From 40621b0df46177a0647f64023500135f296ede51 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 27 Jan 2024 03:26:06 +0100 Subject: [PATCH 01/18] Added recipes --- .../devices/models/item/glass_dust.json | 6 + .../recipes/misc/ethernet_cable.json | 35 +++ .../advancements/recipes/misc/gpu.json | 35 +++ .../advancements/recipes/misc/hard_drive.json | 35 +++ .../advancements/recipes/misc/plastic.json | 35 +++ .../recipes/misc/plastic_frame.json | 35 +++ .../recipes/misc/plastic_unrefined.json | 35 +++ .../advancements/recipes/misc/ram.json | 35 +++ .../advancements/recipes/misc/screen.json | 35 +++ .../recipes/misc/solid_state_drive.json | 35 +++ .../advancements/recipes/misc/wheel.json | 35 +++ .../advancements/recipes/misc/wifi.json | 35 +++ .../recipes/tools/black_office_chair.json | 35 +++ .../recipes/tools/blue_office_chair.json | 35 +++ .../recipes/tools/brown_office_chair.json | 35 +++ .../recipes/tools/cyan_office_chair.json | 35 +++ .../recipes/tools/gray_office_chair.json | 35 +++ .../recipes/tools/green_office_chair.json | 35 +++ .../tools/light_blue_office_chair.json | 35 +++ .../tools/light_gray_office_chair.json | 35 +++ .../recipes/tools/lime_office_chair.json | 35 +++ .../recipes/tools/magenta_office_chair.json | 35 +++ .../recipes/tools/orange_office_chair.json | 35 +++ .../recipes/tools/pink_office_chair.json | 35 +++ .../recipes/tools/purple_office_chair.json | 35 +++ .../recipes/tools/red_office_chair.json | 35 +++ .../recipes/tools/white_office_chair.json | 35 +++ .../recipes/tools/yellow_office_chair.json | 35 +++ .../devices/loot_tables/blocks/mac_max_x.json | 12 +- .../loot_tables/blocks/mac_max_x_part.json | 20 ++ .../devices/recipes/black_office_chair.json | 31 ++ .../devices/recipes/blue_office_chair.json | 31 ++ .../devices/recipes/brown_office_chair.json | 31 ++ .../devices/recipes/cyan_office_chair.json | 31 ++ .../data/devices/recipes/ethernet_cable.json | 27 ++ .../resources/data/devices/recipes/gpu.json | 33 +++ .../devices/recipes/gray_office_chair.json | 31 ++ .../devices/recipes/green_office_chair.json | 31 ++ .../data/devices/recipes/hard_drive.json | 27 ++ .../recipes/light_blue_office_chair.json | 31 ++ .../recipes/light_gray_office_chair.json | 31 ++ .../devices/recipes/lime_office_chair.json | 31 ++ .../devices/recipes/magenta_office_chair.json | 31 ++ .../devices/recipes/orange_office_chair.json | 31 ++ .../devices/recipes/pink_office_chair.json | 31 ++ .../data/devices/recipes/plastic.json | 10 + .../data/devices/recipes/plastic_frame.json | 17 ++ .../devices/recipes/plastic_unrefined.json | 18 ++ .../devices/recipes/purple_office_chair.json | 31 ++ .../resources/data/devices/recipes/ram.json | 27 ++ .../devices/recipes/red_office_chair.json | 31 ++ .../data/devices/recipes/screen.json | 33 +++ .../devices/recipes/solid_state_drive.json | 24 ++ .../resources/data/devices/recipes/wheel.json | 21 ++ .../devices/recipes/white_office_chair.json | 31 ++ .../resources/data/devices/recipes/wifi.json | 30 ++ .../devices/recipes/yellow_office_chair.json | 31 ++ .../com/ultreon/devices/init/DeviceItems.java | 1 + .../com/ultreon/devices/item/BasicItem.java | 5 +- .../com/ultreon/devices/util/ItemColors.java | 280 ++++++++++++++++++ .../devices/textures/item/glass_dust.png | Bin 0 -> 5018 bytes .../assets/devices/textures/item/plastic.png | Bin 15130 -> 5240 bytes .../data/devices/recipes/ethernet_cable.json | 26 -- .../resources/data/devices/recipes/gpu.json | 31 -- .../data/devices/recipes/hard_drive.json | 22 -- .../data/devices/recipes/plastic.json | 10 - .../data/devices/recipes/plastic_frame.json | 16 - .../devices/recipes/plastic_unrefined.json | 17 -- .../resources/data/devices/recipes/ram.json | 25 -- .../data/devices/recipes/screen.json | 34 --- .../devices/recipes/solid_state_drive.json | 22 -- .../resources/data/devices/recipes/wheel.json | 19 -- .../resources/data/devices/recipes/wifi.json | 28 -- .../datagen/DevicesModelGenerator.java | 5 +- .../datagen/DevicesRecipeProvider.java | 128 +++++++- 75 files changed, 2152 insertions(+), 263 deletions(-) create mode 100644 common/src/main/generated/resources/assets/devices/models/item/glass_dust.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/ethernet_cable.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/gpu.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/hard_drive.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_frame.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_unrefined.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/ram.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/screen.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/solid_state_drive.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/wheel.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/misc/wifi.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/black_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/blue_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/brown_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/cyan_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/gray_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/green_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_blue_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_gray_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/lime_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/magenta_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/orange_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/pink_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/purple_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/red_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/white_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/advancements/recipes/tools/yellow_office_chair.json rename common/src/main/{ => generated}/resources/data/devices/loot_tables/blocks/mac_max_x.json (91%) create mode 100644 common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x_part.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/black_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/blue_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/brown_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/cyan_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/ethernet_cable.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/gpu.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/gray_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/green_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/hard_drive.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/light_blue_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/light_gray_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/lime_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/magenta_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/orange_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/pink_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/plastic.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/plastic_frame.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/plastic_unrefined.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/purple_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/ram.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/red_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/screen.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/solid_state_drive.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/wheel.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/white_office_chair.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/wifi.json create mode 100644 common/src/main/generated/resources/data/devices/recipes/yellow_office_chair.json create mode 100644 common/src/main/java/com/ultreon/devices/util/ItemColors.java create mode 100644 common/src/main/resources/assets/devices/textures/item/glass_dust.png delete mode 100644 common/src/main/resources/data/devices/recipes/ethernet_cable.json delete mode 100644 common/src/main/resources/data/devices/recipes/gpu.json delete mode 100644 common/src/main/resources/data/devices/recipes/hard_drive.json delete mode 100644 common/src/main/resources/data/devices/recipes/plastic.json delete mode 100644 common/src/main/resources/data/devices/recipes/plastic_frame.json delete mode 100644 common/src/main/resources/data/devices/recipes/plastic_unrefined.json delete mode 100644 common/src/main/resources/data/devices/recipes/ram.json delete mode 100644 common/src/main/resources/data/devices/recipes/screen.json delete mode 100644 common/src/main/resources/data/devices/recipes/solid_state_drive.json delete mode 100644 common/src/main/resources/data/devices/recipes/wheel.json delete mode 100644 common/src/main/resources/data/devices/recipes/wifi.json diff --git a/common/src/main/generated/resources/assets/devices/models/item/glass_dust.json b/common/src/main/generated/resources/assets/devices/models/item/glass_dust.json new file mode 100644 index 000000000..fcca87d0d --- /dev/null +++ b/common/src/main/generated/resources/assets/devices/models/item/glass_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "devices:item/glass_dust" + } +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ethernet_cable.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ethernet_cable.json new file mode 100644 index 000000000..a761875e8 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ethernet_cable.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_plastic": { + "conditions": { + "items": [ + { + "items": [ + "devices:plastic" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:ethernet_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_plastic", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:ethernet_cable" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/gpu.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/gpu.json new file mode 100644 index 000000000..162ff9eb6 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/gpu.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_plastic": { + "conditions": { + "items": [ + { + "items": [ + "devices:plastic" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:gpu" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_plastic", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:gpu" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/hard_drive.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/hard_drive.json new file mode 100644 index 000000000..a8f82f9cf --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/hard_drive.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_plastic": { + "conditions": { + "items": [ + { + "items": [ + "devices:plastic" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:hard_drive" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_plastic", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:hard_drive" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic.json new file mode 100644 index 000000000..dc1b2ca44 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_plastic_unrefined": { + "conditions": { + "items": [ + { + "items": [ + "devices:plastic_unrefined" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:plastic" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_plastic_unrefined", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:plastic" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_frame.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_frame.json new file mode 100644 index 000000000..4c85b689e --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_frame.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_plastic": { + "conditions": { + "items": [ + { + "items": [ + "devices:plastic" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:plastic_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_plastic", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:plastic_frame" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_unrefined.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_unrefined.json new file mode 100644 index 000000000..fca390d2f --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/plastic_unrefined.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:slime_ball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:plastic_unrefined" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_slime_ball", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:plastic_unrefined" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ram.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ram.json new file mode 100644 index 000000000..d05664c83 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/ram.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_circuit_board": { + "conditions": { + "items": [ + { + "items": [ + "devices:circuit_board" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:ram" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_circuit_board", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:ram" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/screen.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/screen.json new file mode 100644 index 000000000..7869a02d2 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/screen.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_circuit_board": { + "conditions": { + "items": [ + { + "items": [ + "devices:circuit_board" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:screen" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_circuit_board", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:screen" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/solid_state_drive.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/solid_state_drive.json new file mode 100644 index 000000000..509932783 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/solid_state_drive.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_flash_chip": { + "conditions": { + "items": [ + { + "items": [ + "devices:flash_chip" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:solid_state_drive" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_flash_chip", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:solid_state_drive" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wheel.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wheel.json new file mode 100644 index 000000000..04c5875a7 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wheel.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:wheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_ingot", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:wheel" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wifi.json b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wifi.json new file mode 100644 index 000000000..57a595465 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/misc/wifi.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_circuit_board": { + "conditions": { + "items": [ + { + "items": [ + "devices:circuit_board" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "devices:wifi" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_circuit_board", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:wifi" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/black_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/black_office_chair.json new file mode 100644 index 000000000..c4f59d058 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/black_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:black_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:black_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/blue_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/blue_office_chair.json new file mode 100644 index 000000000..52724e1a1 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/blue_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:blue_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:blue_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/brown_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/brown_office_chair.json new file mode 100644 index 000000000..775ecf4ae --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/brown_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:brown_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:brown_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/cyan_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/cyan_office_chair.json new file mode 100644 index 000000000..5361a4eb4 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/cyan_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:cyan_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:cyan_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/gray_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/gray_office_chair.json new file mode 100644 index 000000000..a33bed26a --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/gray_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:gray_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:gray_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/green_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/green_office_chair.json new file mode 100644 index 000000000..dd04e2865 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/green_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:green_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:green_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_blue_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_blue_office_chair.json new file mode 100644 index 000000000..fe4cc04ad --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_blue_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:light_blue_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:light_blue_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_gray_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_gray_office_chair.json new file mode 100644 index 000000000..02fb3e446 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/light_gray_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:light_gray_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:light_gray_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/lime_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/lime_office_chair.json new file mode 100644 index 000000000..eb47d05c6 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/lime_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:lime_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:lime_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/magenta_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/magenta_office_chair.json new file mode 100644 index 000000000..576da46c6 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/magenta_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:magenta_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:magenta_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/orange_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/orange_office_chair.json new file mode 100644 index 000000000..c088c19a3 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/orange_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:orange_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:orange_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/pink_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/pink_office_chair.json new file mode 100644 index 000000000..d472c176c --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/pink_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:pink_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:pink_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/purple_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/purple_office_chair.json new file mode 100644 index 000000000..3048dd26d --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/purple_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:purple_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:purple_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/red_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/red_office_chair.json new file mode 100644 index 000000000..98c1299a9 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/red_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:red_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:red_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/white_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/white_office_chair.json new file mode 100644 index 000000000..1a8f97aad --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/white_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:white_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:white_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/advancements/recipes/tools/yellow_office_chair.json b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/yellow_office_chair.json new file mode 100644 index 000000000..f43892359 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/advancements/recipes/tools/yellow_office_chair.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "devices:yellow_office_chair" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheel": { + "conditions": { + "items": [ + { + "items": [ + "devices:wheel" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wheel", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "devices:yellow_office_chair" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/loot_tables/blocks/mac_max_x.json b/common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x.json similarity index 91% rename from common/src/main/resources/data/devices/loot_tables/blocks/mac_max_x.json rename to common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x.json index 86b40ee3b..5e0df38c1 100644 --- a/common/src/main/resources/data/devices/loot_tables/blocks/mac_max_x.json +++ b/common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x.json @@ -2,19 +2,19 @@ "type": "minecraft:block", "pools": [ { - "rolls": 1.0, "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", "name": "devices:mac_max_x" } ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] + "rolls": 1.0 } ] } \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x_part.json b/common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x_part.json new file mode 100644 index 000000000..38fe9914a --- /dev/null +++ b/common/src/main/generated/resources/data/devices/loot_tables/blocks/mac_max_x_part.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/black_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/black_office_chair.json new file mode 100644 index 000000000..b144f8852 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/black_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:black_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:black_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/blue_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/blue_office_chair.json new file mode 100644 index 000000000..4f1d8fc2a --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/blue_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:blue_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:blue_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/brown_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/brown_office_chair.json new file mode 100644 index 000000000..01835fbac --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/brown_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:brown_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:brown_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/cyan_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/cyan_office_chair.json new file mode 100644 index 000000000..9dbb9d849 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/cyan_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:cyan_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:cyan_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/ethernet_cable.json b/common/src/main/generated/resources/data/devices/recipes/ethernet_cable.json new file mode 100644 index 000000000..c7db119d7 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/ethernet_cable.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "g": { + "item": "minecraft:gold_nugget" + }, + "i": { + "item": "minecraft:iron_ingot" + }, + "l": { + "item": "devices:plastic" + }, + "p": { + "item": "minecraft:prismarine_crystals" + } + }, + "pattern": [ + "pil", + "gig", + "lip" + ], + "result": { + "item": "devices:ethernet_cable" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/gpu.json b/common/src/main/generated/resources/data/devices/recipes/gpu.json new file mode 100644 index 000000000..f1500e1b6 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/gpu.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "c": { + "item": "devices:circuit_board" + }, + "g": { + "item": "minecraft:gold_ingot" + }, + "m": { + "item": "devices:ram" + }, + "o": { + "item": "minecraft:obsidian" + }, + "p": { + "item": "minecraft:prismarine_shard" + }, + "r": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + "ogo", + "rmp", + "ccc" + ], + "result": { + "item": "devices:gpu" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/gray_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/gray_office_chair.json new file mode 100644 index 000000000..e0328a200 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/gray_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:gray_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:gray_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/green_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/green_office_chair.json new file mode 100644 index 000000000..aebecb53a --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/green_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:green_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:green_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/hard_drive.json b/common/src/main/generated/resources/data/devices/recipes/hard_drive.json new file mode 100644 index 000000000..4ef0eec73 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/hard_drive.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "b": { + "item": "minecraft:shulker_shell" + }, + "i": { + "item": "minecraft:iron_ingot" + }, + "n": { + "item": "minecraft:iron_nugget" + }, + "r": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + "nri", + "ibi", + "ibi" + ], + "result": { + "item": "devices:hard_drive" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/light_blue_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/light_blue_office_chair.json new file mode 100644 index 000000000..b7daa21c5 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/light_blue_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:light_blue_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:light_blue_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/light_gray_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/light_gray_office_chair.json new file mode 100644 index 000000000..5ac5b6ba4 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/light_gray_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:light_gray_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:light_gray_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/lime_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/lime_office_chair.json new file mode 100644 index 000000000..31dbf595a --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/lime_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:lime_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:lime_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/magenta_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/magenta_office_chair.json new file mode 100644 index 000000000..499764303 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/magenta_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:magenta_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:magenta_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/orange_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/orange_office_chair.json new file mode 100644 index 000000000..31fb66344 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/orange_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:orange_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:orange_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/pink_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/pink_office_chair.json new file mode 100644 index 000000000..73bc60fcd --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/pink_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:pink_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:pink_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/plastic.json b/common/src/main/generated/resources/data/devices/recipes/plastic.json new file mode 100644 index 000000000..7519530a8 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/plastic.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.5, + "ingredient": { + "item": "devices:plastic_unrefined" + }, + "result": "devices:plastic" +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/plastic_frame.json b/common/src/main/generated/resources/data/devices/recipes/plastic_frame.json new file mode 100644 index 000000000..c4de83209 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/plastic_frame.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "p": { + "item": "devices:plastic" + } + }, + "pattern": [ + "pp", + "pp" + ], + "result": { + "item": "devices:plastic_frame" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/plastic_unrefined.json b/common/src/main/generated/resources/data/devices/recipes/plastic_unrefined.json new file mode 100644 index 000000000..ceee06bc9 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/plastic_unrefined.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:white_dye" + }, + { + "item": "minecraft:slime_ball" + } + ], + "result": { + "item": "devices:plastic_unrefined" + } +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/purple_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/purple_office_chair.json new file mode 100644 index 000000000..2ebce6e87 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/purple_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:purple_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:purple_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/ram.json b/common/src/main/generated/resources/data/devices/recipes/ram.json new file mode 100644 index 000000000..ca7192117 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/ram.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "b": { + "item": "devices:circuit_board" + }, + "c": { + "item": "minecraft:ender_eye" + }, + "g": { + "item": "minecraft:gold_nugget" + }, + "r": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + "bbb", + "rcr", + "ggg" + ], + "result": { + "item": "devices:ram" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/red_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/red_office_chair.json new file mode 100644 index 000000000..950af79b3 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/red_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:red_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:red_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/screen.json b/common/src/main/generated/resources/data/devices/recipes/screen.json new file mode 100644 index 000000000..41fad301d --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/screen.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "b": { + "item": "minecraft:blue_stained_glass_pane" + }, + "c": { + "item": "devices:circuit_board" + }, + "d": { + "item": "minecraft:redstone" + }, + "g": { + "item": "minecraft:green_stained_glass_pane" + }, + "p": { + "item": "minecraft:prismarine_crystals" + }, + "r": { + "item": "minecraft:red_stained_glass_pane" + } + }, + "pattern": [ + "rgb", + "ppp", + "cdc" + ], + "result": { + "item": "devices:screen" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/solid_state_drive.json b/common/src/main/generated/resources/data/devices/recipes/solid_state_drive.json new file mode 100644 index 000000000..c26335ee5 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/solid_state_drive.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "f": { + "item": "devices:flash_chip" + }, + "o": { + "item": "minecraft:obsidian" + }, + "r": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + "oro", + "ofo", + "ofo" + ], + "result": { + "item": "devices:solid_state_drive" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/wheel.json b/common/src/main/generated/resources/data/devices/recipes/wheel.json new file mode 100644 index 000000000..d1d2c5ea7 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/wheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "i": { + "item": "minecraft:iron_block" + }, + "p": { + "item": "devices:plastic_frame" + } + }, + "pattern": [ + "p p", + "pip", + "p p" + ], + "result": { + "item": "devices:wheel" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/white_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/white_office_chair.json new file mode 100644 index 000000000..145967523 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/white_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:white_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:white_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/wifi.json b/common/src/main/generated/resources/data/devices/recipes/wifi.json new file mode 100644 index 000000000..9d8368f92 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/wifi.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "c": { + "item": "devices:circuit_board" + }, + "d": { + "item": "minecraft:ender_pearl" + }, + "e": { + "item": "minecraft:end_rod" + }, + "i": { + "item": "minecraft:iron_ingot" + }, + "r": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + " e ", + "idi", + "rcr" + ], + "result": { + "item": "devices:wifi" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/generated/resources/data/devices/recipes/yellow_office_chair.json b/common/src/main/generated/resources/data/devices/recipes/yellow_office_chair.json new file mode 100644 index 000000000..972245ca0 --- /dev/null +++ b/common/src/main/generated/resources/data/devices/recipes/yellow_office_chair.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "group": "devices:office_chair", + "key": { + "c": { + "item": "minecraft:gray_concrete" + }, + "d": { + "item": "minecraft:yellow_wool" + }, + "f": { + "item": "minecraft:cobblestone_wall" + }, + "l": { + "item": "minecraft:leather" + }, + "w": { + "item": "devices:wheel" + } + }, + "pattern": [ + "cdc", + "clc", + "wfw" + ], + "result": { + "item": "devices:yellow_office_chair" + }, + "show_notification": true +} \ No newline at end of file diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceItems.java b/common/src/main/java/com/ultreon/devices/init/DeviceItems.java index 87df67b09..8161e4762 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceItems.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceItems.java @@ -114,6 +114,7 @@ protected Registrar autoInit() { public static final RegistrySupplier PLASTIC = REGISTER.register(Devices.id("plastic"), () -> new BasicItem(new Item.Properties())); public static final RegistrySupplier PLASTIC_FRAME = REGISTER.register(Devices.id("plastic_frame"), () -> new BasicItem(new Item.Properties())); public static final RegistrySupplier WHEEL = REGISTER.register(Devices.id("wheel"), () -> new BasicItem(new Item.Properties())); + public static final RegistrySupplier GLASS_DUST = REGISTER.register(Devices.id("glass_dust"), () -> new Item(new Item.Properties())); public static final RegistrySupplier COMPONENT_CIRCUIT_BOARD = REGISTER.register(Devices.id("circuit_board"), () -> new ComponentItem(new Item.Properties())); public static final RegistrySupplier COMPONENT_MOTHERBOARD = REGISTER.register(Devices.id("motherboard"), () -> new MotherboardItem(new Item.Properties())); diff --git a/common/src/main/java/com/ultreon/devices/item/BasicItem.java b/common/src/main/java/com/ultreon/devices/item/BasicItem.java index 9a24cda98..b5888a2e3 100644 --- a/common/src/main/java/com/ultreon/devices/item/BasicItem.java +++ b/common/src/main/java/com/ultreon/devices/item/BasicItem.java @@ -6,8 +6,9 @@ /** * @author MrCrayfish */ +@SuppressWarnings("UnstableApiUsage") public class BasicItem extends Item { - public BasicItem(Properties pProperties) { - super(pProperties.arch$tab(Devices.TAB_DEVICE)); + public BasicItem(Properties properties) { + super(properties.arch$tab(Devices.TAB_DEVICE)); } } diff --git a/common/src/main/java/com/ultreon/devices/util/ItemColors.java b/common/src/main/java/com/ultreon/devices/util/ItemColors.java new file mode 100644 index 000000000..d37fe74a4 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/util/ItemColors.java @@ -0,0 +1,280 @@ +package com.ultreon.devices.util; + +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; + +public class ItemColors { + public static ItemLike woolByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_WOOL; + case ORANGE -> Items.ORANGE_WOOL; + case MAGENTA -> Items.MAGENTA_WOOL; + case LIGHT_BLUE -> Items.LIGHT_BLUE_WOOL; + case YELLOW -> Items.YELLOW_WOOL; + case LIME -> Items.LIME_WOOL; + case PINK -> Items.PINK_WOOL; + case GRAY -> Items.GRAY_WOOL; + case LIGHT_GRAY -> Items.LIGHT_GRAY_WOOL; + case CYAN -> Items.CYAN_WOOL; + case PURPLE -> Items.PURPLE_WOOL; + case BLUE -> Items.BLUE_WOOL; + case BROWN -> Items.BROWN_WOOL; + case GREEN -> Items.GREEN_WOOL; + case RED -> Items.RED_WOOL; + case BLACK -> Items.BLACK_WOOL; + }; + } + + public static ItemLike dyeByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_DYE; + case ORANGE -> Items.ORANGE_DYE; + case MAGENTA -> Items.MAGENTA_DYE; + case LIGHT_BLUE -> Items.LIGHT_BLUE_DYE; + case YELLOW -> Items.YELLOW_DYE; + case LIME -> Items.LIME_DYE; + case PINK -> Items.PINK_DYE; + case GRAY -> Items.GRAY_DYE; + case LIGHT_GRAY -> Items.LIGHT_GRAY_DYE; + case CYAN -> Items.CYAN_DYE; + case PURPLE -> Items.PURPLE_DYE; + case BLUE -> Items.BLUE_DYE; + case BROWN -> Items.BROWN_DYE; + case GREEN -> Items.GREEN_DYE; + case RED -> Items.RED_DYE; + case BLACK -> Items.BLACK_DYE; + }; + } + + public static ItemLike carpetByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_CARPET; + case ORANGE -> Items.ORANGE_CARPET; + case MAGENTA -> Items.MAGENTA_CARPET; + case LIGHT_BLUE -> Items.LIGHT_BLUE_CARPET; + case YELLOW -> Items.YELLOW_CARPET; + case LIME -> Items.LIME_CARPET; + case PINK -> Items.PINK_CARPET; + case GRAY -> Items.GRAY_CARPET; + case LIGHT_GRAY -> Items.LIGHT_GRAY_CARPET; + case CYAN -> Items.CYAN_CARPET; + case PURPLE -> Items.PURPLE_CARPET; + case BLUE -> Items.BLUE_CARPET; + case BROWN -> Items.BROWN_CARPET; + case GREEN -> Items.GREEN_CARPET; + case RED -> Items.RED_CARPET; + case BLACK -> Items.BLACK_CARPET; + }; + } + + public static ItemLike terracottaByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_TERRACOTTA; + case ORANGE -> Items.ORANGE_TERRACOTTA; + case MAGENTA -> Items.MAGENTA_TERRACOTTA; + case LIGHT_BLUE -> Items.LIGHT_BLUE_TERRACOTTA; + case YELLOW -> Items.YELLOW_TERRACOTTA; + case LIME -> Items.LIME_TERRACOTTA; + case PINK -> Items.PINK_TERRACOTTA; + case GRAY -> Items.GRAY_TERRACOTTA; + case LIGHT_GRAY -> Items.LIGHT_GRAY_TERRACOTTA; + case CYAN -> Items.CYAN_TERRACOTTA; + case PURPLE -> Items.PURPLE_TERRACOTTA; + case BLUE -> Items.BLUE_TERRACOTTA; + case BROWN -> Items.BROWN_TERRACOTTA; + case GREEN -> Items.GREEN_TERRACOTTA; + case RED -> Items.RED_TERRACOTTA; + case BLACK -> Items.BLACK_TERRACOTTA; + }; + } + + public static ItemLike glassByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_STAINED_GLASS; + case ORANGE -> Items.ORANGE_STAINED_GLASS; + case MAGENTA -> Items.MAGENTA_STAINED_GLASS; + case LIGHT_BLUE -> Items.LIGHT_BLUE_STAINED_GLASS; + case YELLOW -> Items.YELLOW_STAINED_GLASS; + case LIME -> Items.LIME_STAINED_GLASS; + case PINK -> Items.PINK_STAINED_GLASS; + case GRAY -> Items.GRAY_STAINED_GLASS; + case LIGHT_GRAY -> Items.LIGHT_GRAY_STAINED_GLASS; + case CYAN -> Items.CYAN_STAINED_GLASS; + case PURPLE -> Items.PURPLE_STAINED_GLASS; + case BLUE -> Items.BLUE_STAINED_GLASS; + case BROWN -> Items.BROWN_STAINED_GLASS; + case GREEN -> Items.GREEN_STAINED_GLASS; + case RED -> Items.RED_STAINED_GLASS; + case BLACK -> Items.BLACK_STAINED_GLASS; + }; + } + + public static ItemLike glassPaneByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_STAINED_GLASS_PANE; + case ORANGE -> Items.ORANGE_STAINED_GLASS_PANE; + case MAGENTA -> Items.MAGENTA_STAINED_GLASS_PANE; + case LIGHT_BLUE -> Items.LIGHT_BLUE_STAINED_GLASS_PANE; + case YELLOW -> Items.YELLOW_STAINED_GLASS_PANE; + case LIME -> Items.LIME_STAINED_GLASS_PANE; + case PINK -> Items.PINK_STAINED_GLASS_PANE; + case GRAY -> Items.GRAY_STAINED_GLASS_PANE; + case LIGHT_GRAY -> Items.LIGHT_GRAY_STAINED_GLASS_PANE; + case CYAN -> Items.CYAN_STAINED_GLASS_PANE; + case PURPLE -> Items.PURPLE_STAINED_GLASS_PANE; + case BLUE -> Items.BLUE_STAINED_GLASS_PANE; + case BROWN -> Items.BROWN_STAINED_GLASS_PANE; + case GREEN -> Items.GREEN_STAINED_GLASS_PANE; + case RED -> Items.RED_STAINED_GLASS_PANE; + case BLACK -> Items.BLACK_STAINED_GLASS_PANE; + }; + } + + public static ItemLike concreteByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_CONCRETE; + case ORANGE -> Items.ORANGE_CONCRETE; + case MAGENTA -> Items.MAGENTA_CONCRETE; + case LIGHT_BLUE -> Items.LIGHT_BLUE_CONCRETE; + case YELLOW -> Items.YELLOW_CONCRETE; + case LIME -> Items.LIME_CONCRETE; + case PINK -> Items.PINK_CONCRETE; + case GRAY -> Items.GRAY_CONCRETE; + case LIGHT_GRAY -> Items.LIGHT_GRAY_CONCRETE; + case CYAN -> Items.CYAN_CONCRETE; + case PURPLE -> Items.PURPLE_CONCRETE; + case BLUE -> Items.BLUE_CONCRETE; + case BROWN -> Items.BROWN_CONCRETE; + case GREEN -> Items.GREEN_CONCRETE; + case RED -> Items.RED_CONCRETE; + case BLACK -> Items.BLACK_CONCRETE; + }; + } + + public static ItemLike concretePowderByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_CONCRETE_POWDER; + case ORANGE -> Items.ORANGE_CONCRETE_POWDER; + case MAGENTA -> Items.MAGENTA_CONCRETE_POWDER; + case LIGHT_BLUE -> Items.LIGHT_BLUE_CONCRETE_POWDER; + case YELLOW -> Items.YELLOW_CONCRETE_POWDER; + case LIME -> Items.LIME_CONCRETE_POWDER; + case PINK -> Items.PINK_CONCRETE_POWDER; + case GRAY -> Items.GRAY_CONCRETE_POWDER; + case LIGHT_GRAY -> Items.LIGHT_GRAY_CONCRETE_POWDER; + case CYAN -> Items.CYAN_CONCRETE_POWDER; + case PURPLE -> Items.PURPLE_CONCRETE_POWDER; + case BLUE -> Items.BLUE_CONCRETE_POWDER; + case BROWN -> Items.BROWN_CONCRETE_POWDER; + case GREEN -> Items.GREEN_CONCRETE_POWDER; + case RED -> Items.RED_CONCRETE_POWDER; + case BLACK -> Items.BLACK_CONCRETE_POWDER; + }; + } + + public static ItemLike glazedTerracottaByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_GLAZED_TERRACOTTA; + case ORANGE -> Items.ORANGE_GLAZED_TERRACOTTA; + case MAGENTA -> Items.MAGENTA_GLAZED_TERRACOTTA; + case LIGHT_BLUE -> Items.LIGHT_BLUE_GLAZED_TERRACOTTA; + case YELLOW -> Items.YELLOW_GLAZED_TERRACOTTA; + case LIME -> Items.LIME_GLAZED_TERRACOTTA; + case PINK -> Items.PINK_GLAZED_TERRACOTTA; + case GRAY -> Items.GRAY_GLAZED_TERRACOTTA; + case LIGHT_GRAY -> Items.LIGHT_GRAY_GLAZED_TERRACOTTA; + case CYAN -> Items.CYAN_GLAZED_TERRACOTTA; + case PURPLE -> Items.PURPLE_GLAZED_TERRACOTTA; + case BLUE -> Items.BLUE_GLAZED_TERRACOTTA; + case BROWN -> Items.BROWN_GLAZED_TERRACOTTA; + case GREEN -> Items.GREEN_GLAZED_TERRACOTTA; + case RED -> Items.RED_GLAZED_TERRACOTTA; + case BLACK -> Items.BLACK_GLAZED_TERRACOTTA; + }; + } + + public static ItemLike bedByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_BED; + case ORANGE -> Items.ORANGE_BED; + case MAGENTA -> Items.MAGENTA_BED; + case LIGHT_BLUE -> Items.LIGHT_BLUE_BED; + case YELLOW -> Items.YELLOW_BED; + case LIME -> Items.LIME_BED; + case PINK -> Items.PINK_BED; + case GRAY -> Items.GRAY_BED; + case LIGHT_GRAY -> Items.LIGHT_GRAY_BED; + case CYAN -> Items.CYAN_BED; + case PURPLE -> Items.PURPLE_BED; + case BLUE -> Items.BLUE_BED; + case BROWN -> Items.BROWN_BED; + case GREEN -> Items.GREEN_BED; + case RED -> Items.RED_BED; + case BLACK -> Items.BLACK_BED; + }; + } + + public static ItemLike shulkerBoxByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_SHULKER_BOX; + case ORANGE -> Items.ORANGE_SHULKER_BOX; + case MAGENTA -> Items.MAGENTA_SHULKER_BOX; + case LIGHT_BLUE -> Items.LIGHT_BLUE_SHULKER_BOX; + case YELLOW -> Items.YELLOW_SHULKER_BOX; + case LIME -> Items.LIME_SHULKER_BOX; + case PINK -> Items.PINK_SHULKER_BOX; + case GRAY -> Items.GRAY_SHULKER_BOX; + case LIGHT_GRAY -> Items.LIGHT_GRAY_SHULKER_BOX; + case CYAN -> Items.CYAN_SHULKER_BOX; + case PURPLE -> Items.PURPLE_SHULKER_BOX; + case BLUE -> Items.BLUE_SHULKER_BOX; + case BROWN -> Items.BROWN_SHULKER_BOX; + case GREEN -> Items.GREEN_SHULKER_BOX; + case RED -> Items.RED_SHULKER_BOX; + case BLACK -> Items.BLACK_SHULKER_BOX; + }; + } + + public static ItemLike candleByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_CANDLE; + case ORANGE -> Items.ORANGE_CANDLE; + case MAGENTA -> Items.MAGENTA_CANDLE; + case LIGHT_BLUE -> Items.LIGHT_BLUE_CANDLE; + case YELLOW -> Items.YELLOW_CANDLE; + case LIME -> Items.LIME_CANDLE; + case PINK -> Items.PINK_CANDLE; + case GRAY -> Items.GRAY_CANDLE; + case LIGHT_GRAY -> Items.LIGHT_GRAY_CANDLE; + case CYAN -> Items.CYAN_CANDLE; + case PURPLE -> Items.PURPLE_CANDLE; + case BLUE -> Items.BLUE_CANDLE; + case BROWN -> Items.BROWN_CANDLE; + case GREEN -> Items.GREEN_CANDLE; + case RED -> Items.RED_CANDLE; + case BLACK -> Items.BLACK_CANDLE; + }; + } + + public static ItemLike bannerByColor(DyeColor color) { + return switch (color) { + case WHITE -> Items.WHITE_BANNER; + case ORANGE -> Items.ORANGE_BANNER; + case MAGENTA -> Items.MAGENTA_BANNER; + case LIGHT_BLUE -> Items.LIGHT_BLUE_BANNER; + case YELLOW -> Items.YELLOW_BANNER; + case LIME -> Items.LIME_BANNER; + case PINK -> Items.PINK_BANNER; + case GRAY -> Items.GRAY_BANNER; + case LIGHT_GRAY -> Items.LIGHT_GRAY_BANNER; + case CYAN -> Items.CYAN_BANNER; + case PURPLE -> Items.PURPLE_BANNER; + case BLUE -> Items.BLUE_BANNER; + case BROWN -> Items.BROWN_BANNER; + case GREEN -> Items.GREEN_BANNER; + case RED -> Items.RED_BANNER; + case BLACK -> Items.BLACK_BANNER; + }; + } +} diff --git a/common/src/main/resources/assets/devices/textures/item/glass_dust.png b/common/src/main/resources/assets/devices/textures/item/glass_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..dadb83bdee602ca2b2d026fb505538287de7bd0e GIT binary patch literal 5018 zcmeHKdvw#*8J81CLLh0{1{Rv^po(szP+7A4R$^#kr->V!n8bO|!9bSeM8%ebB*#w1 zW5Ak@$2cQwZI_dc_Xg{lL*OtrNXZylj$8pET`jO@cIu#9ZR`cws_s!1YE8*pCw?5;u^96~+nDXeP}# z(68G*Y>|pofzWq>ec$DrPOsbPghfdRa6uM=qU|fUfCX15If>iOb1nSreE+uomC z-HB{IlwQ0y>&2I9zB-@3z4q%F?hPAvU3@{j(ODN3m!JE~@#?GzGvG6sauTwnGN6B)T$4UT>3Qk%Fdp` z3st!BqbC2Fx@Q{q|LOQInHNuA&{3 zwsUt^LB`Y4_YchKGDFZK`#E2oQs z*N=81FvmEMTC)fDh)%YFD{Yq8s^)SZ-MoypGswKT=><^|0EAeDf}^1zFOyLRqT!NY zt&%YW)@7c0{eCn}u4!zw1_7s84IK>#04*cTE# zo*{T%jzeE19!;2CXvM|Sy>26G+W%r^2*GS5DY!E zUkpn@%^ilu*dQAMqB78G7^RYpa>F4QrBUT*MvjD659p8rHDdK#NYs>o+>8Pi8w5p= z8w7Dkd=&Z+`#u#47kG$8D(60Np!dNV5;4}y2T~pn=@RI$8V0w^fdGo0;TY0pGcWBSl+Sv&oFxMnJfES)q8EO+at}g0p2bAIUNcio8|f5+f>Z?# z8S6j{!(=ZPWrKAt4#YqPh3i0!#68S~_cPU$lZ9Tl10nRdCazJuK}u0Aa3J$JJ{%op z_yByBLaAvnSaFNdU^kj^i`{}-W6HGMHLMh~Ab#0v+lOi*X1_;ZfcZv^rKX+)fdk2- z)H9cGOQWl&AsAN4)jS6R64Rrx>V|m^#7f}cgBjG{Vbq16D+0=dbV@9xur4qFHg2$? zIDz73AAyrb8%fya7{DS1I3z7dK0ydN5Y<_&p=tV5wg=o)45d&BxI~NdC0g7Z(DCB- zY4QTY1)Bbww0bYW1wbBDc_}9=g4CpuVwY7FyFB(3dkk{gEd|5ceM3@oETXjLCZkyj z&|*yP0rmcckIWE?ECiGYC9#F|Ab}2~P;CdWH*rJ2plgG;TH#r>9M1?5`RUO%L>gF- z@P|hp`vT6%R3m$jYjgv}*R!DO#P6-obJ^%O+RZFwK`B3NM8TQ%qm<2RMh#XIL9^ia z`_1fVqwjIK1l*HaA;7b=^YRcE2@{GNP{Mj|HN;&kz|>xoNM`|dU&3PoBbpNkO^gPb z9_XRiP!o;E45aAG{KO0G%Txiw<4VR9-|=vbhigm`7?bdLb&ZE>Oc5B9@OX9o-@=tX z{2I>k;9pP#ykuWU2`vUM=qdiP5*OrEzrTNZ@(nd--L?Kyy$s<=JH zseQU!-Av+6YRh3j8g#n~eYT#zZZ(vhcs8eHTXxCub*;G@Ix2tuosIe<1G#zmjeQ^2 z46a$6uUrkhNzmfDckhVejqZv_URfls=fXcu zX1BgpM6TO$wR+m4sRM`p&^Tadk_Sq*o>}_q&X1jsRlR+p=abCcm$4;_7qxawffn)~ zdFov|QkD`+q{zz6>E^k+FQ0A8D1POe5WlO6KeKuIp2@FX-}ci5Vb7j5|Na(l$zHG* z?0~vfuOOcP%KXb^zQuHJAX)UbtU5Y%FaC=3_YeDi@XX=-iARag&cCs}E4BKON!yFA qDc9b&IlC84dM{<5W%bSO6}qY9>+jFjKidmJ0lACIT^&VB*Zv1{POV-5 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/devices/textures/item/plastic.png b/common/src/main/resources/assets/devices/textures/item/plastic.png index 62d5f14886471228ef93e379f4e3e9d6e4890f01..1b37500afa77f71fa804076a1a0b88da828b4816 100644 GIT binary patch literal 5240 zcmeHLe^3zVjHJMh2)Wl>mqLv9drV~mfRMQ_C+O)QsN~(r9)z%cWcE*loV&Co^cMyLh z%q0Db-Ff@oe!t)M`Tls{_r5#3)m>GQl`%U5L69tGrK1}5Ia*7f2A^}U-{xTVKB#w! zPUoXYI(&hWhAD_alYz}JW}IS3MN%PcGi(pSu_mLn*@mfl-wwwG@$rjrydW;4%^?jb zNEYlnV58tT7xw#Mlb(y|Its_ym9F2G6hxO8?JJxvH%b{v!bqFpe1c+Ff@CQRO3*At zu@nRK8(v9Tq#;E+Yd?ba{Xi-!b34n*&|pXwB_Du{j zLvK4@EpJcDzVUJ2rNtdOUwvef-q%6}6{2*ArK|Pqc13yt1?VbjPR9Ztp#M=)LfX z6%TiBd89Ju)mJuCkG}c9Yc=0_w{-XLL&cwQXH46d&a0c%K4-?h(oLV-?7w~CM&M_^ z`t$2&7VbcLo|T+M4YA-l=V8dVhIjxcMd`G}Uz$T)2>vZ>k;%?}^+{ zhyQhc_vz2pA@o4#hldvQ7Q&qBmOS-py=xiE%YGv#$X;NK`h(hnAw`R$L5^PyRMZO^ zrGOn9`9&XwN`f7$D|8XAU>RtVD%(P!rmf1ux2@)F0=Bp~qbSNk06$PUH0t*S6gFzd zbX*pWHL?jqbrE&79jk|VR3?W2$`~0VftN?6778oQK#M|x$W}YP8;5{zcC1NNgRIFE ziA0PM+9-z_O{C3cGZB=DqHrjIE3E;Qi{b%gz6KG)Z~%o5NkLVT1E_|{dF8Nb$1uo8 zNA2?mU9JRtK#4~I#={ilf+o^PnEZaz*cpmi-U3152Hkar;%N;6Q#DZJaEJ%xEg+!I z9}6MyiTS~B$fvs_@Fw5`ekiIyt>ieBASxw8FixY!(TyAnuWitT0xe>Vl0T>`fon4k zIM^hsveG066XN606YM)wsFHXOi!{z1;!yA1HH^ksHy=v5T&zRp!&(@ej?vT+WL^^3 zgfT3~)0|bbh&bW3i8x6DD{iGYGcH;S3wZ*NHl~mq1LzDWDi`2^1_)IcB?tzrv>+B* zc$}h19%m?u$2prw;snE31&T6z&Aep{#PW~?_W&oYB?1cr2bYr5cHpR6I$hfv zzOY8F4M;E`RB}pvl4r*(niYhJ)SgL^hWm=Zg<;D=fK!13Hi%7-7M!r*q}4-MSlY(Y z#3Dj_>VOGpIpmRLpB+n-w*=b-&n$g6A16c#B~Di`%Ec!6-;#>laCDrxaQQ z=>^eZOzCd<{$-OifuhKw z8sS2qq!BKl9V^j_1L__ZE`mN0fznv=Xx;O#m+Vy(4e>63!`H3;3LC zd=nRF1h59hPqF*C%n*Ptw0Q{}5P-pfnK9#DrV#FUMzje8Ly44)8*lVih4xYw3a3ajz!^YWaGPMY;Z_iPXRA-nCF&eD;@FT*M_=z#q7Is_K`wlL+ejBwGF;? zIPY3k*Fg8#d}XBcVE?gI+t!{RQBbVwv8A5cne|QWtvi1VrXS2SzrSkDfs`E;D{{~8 xygYOGR*@+udTnD^2cLO_I2=c&qF^EXL*&QtMq#t{|Ap+;KKj_ literal 15130 zcmeI3TZkJ~7{^boz3kSO6_MKYHl!4*buzcyW=zu7P1~%Px@@D}`k+0TImr%9W~P}* zlU)%Og+kwK1!+YPM5KuHrHB*}1*@PUf>i{m_)srYi?!4T1*M+Jb@n7VEL!p91akS# z|9szf=6AmDWM1aT)b3qtN5@A20Ba|+nQ8nz=D%03#GiLxy$12uh?Cvt0bf;D%6at;ottS5aOCsyaTDw zc0VCElbhlu>?-1-;TW$=N`i~4VJWI6(1O1#?+q2zSdq~QzJTx)hlU%Nwd*FI2m4T^UZ^t2wppA5(r<f@77E zLT@lIvs+c#gk83)cv&c|B!xl40k3AIX_J=gK}$!InKT{fM5IU6g2*EgMR*j8 z#P~uas`GNBs2XBKF3KuwLd@lY?tP&%wqEnQ1&3}OEQYP)@V#Y0U4e;WyvU0Mwa7~n zO7IC8#`t0)8r4N4sgbDENfZdym*|nIiO)S)4$Sed#lXo>!GKCEF7Yu{P4G%0V(_pK zE%K3sC`)QFVTh{HNiiTyU#hI>;%c1>R57mQ=E=4P9b7!x5z1!sgmPfjMSlOKLY)Te z9%&8{8rS(Ze;kR;Qtqt&HrE{TzKf;ZNt*K>K|;wuoLS4+lF2h>$A`* zAtNnx3b-?{w4H11=i<)lbZdVnCjCDr4RCe0uba^)k2S&-mR~t~KY!Wf8vw z$^UG-24&K9AKf)5lde6_M=jG!%k6B$aKOv|2W=hid+^O3O2?v6C7Kk-VbWvDY@qT? z#>D5a>z^l5tnEVz10DAba|{S=$JSN_Zp)fI*c!z*efWM;=-zPlwP*JfyPiLKS9Cq2 z60ukk0tnq?xafQcmEj_Q&`pMm&WBJLE&>SMWVq;j2$kU?fY42bi_V8o87=|{-DJ4v zdSMWVq;j2$kU?fY42bi_V8o87=|{-DJ4vdSMWVq;j2$kU?fY41U zuF>8joXEn@ZPxJvnj;HW&fteTIXyd_17Lm=01M9o@W(a$eG!0~2*6MK0nm;Eu--oQ z?`;?fJ&nXP^IMWVv)x=F7w5&hm3dtaE3d_+snFXwx0AvTo$8xPR>GZ>Kkf zzPtUS&%j@Ay!pySK7GUI+vM}9^Qr8Ik8jCG^R<=Ug|M;)tk|&Zm%HZ9r%wHR-@=Jc z7gA5HdNuplt-H1f51jt-X+-g{@~ znXmGPzd8QHl{-(q4#tkHc<96l@Z8P6zV+?z;~+k+9DMDleHpJAOzzm7IrZTFXZ{B8 CYiaEO diff --git a/common/src/main/resources/data/devices/recipes/ethernet_cable.json b/common/src/main/resources/data/devices/recipes/ethernet_cable.json deleted file mode 100644 index 52b5de424..000000000 --- a/common/src/main/resources/data/devices/recipes/ethernet_cable.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "result": { - "item": "devices:ethernet_cable" - }, - "pattern": [ - "PIL", - "GIG", - "LIP" - ], - "type": "minecraft:crafting_shaped", - "key": { - "I": { - "item": "minecraft:iron_ingot" - }, - "P": { - "item": "devices:plastic" - }, - "L": { - "item": "minecraft:dye", - "data": 4 - }, - "G": { - "item": "minecraft:gold_nugget" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/gpu.json b/common/src/main/resources/data/devices/recipes/gpu.json deleted file mode 100644 index 791a09005..000000000 --- a/common/src/main/resources/data/devices/recipes/gpu.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "result": { - "item": "devices:gpu" - }, - "pattern": [ - "OGO", - "RMP", - "CCC" - ], - "type": "minecraft:crafting_shaped", - "key": { - "O": { - "item": "minecraft:obsidian" - }, - "G": { - "item": "minecraft:gold_ingot" - }, - "R": { - "item": "minecraft:redstone" - }, - "M": { - "item": "devices:ram" - }, - "P": { - "item": "minecraft:prismarine_shard" - }, - "C": { - "item": "devices:circuit_board" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/hard_drive.json b/common/src/main/resources/data/devices/recipes/hard_drive.json deleted file mode 100644 index ceca88452..000000000 --- a/common/src/main/resources/data/devices/recipes/hard_drive.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "result": { - "item": "devices:hard_drive" - }, - "pattern": [ - "IRI", - "IBI", - "III" - ], - "type": "minecraft:crafting_shaped", - "key": { - "I": { - "item": "minecraft:iron_ingot" - }, - "R": { - "item": "minecraft:redstone" - }, - "B": { - "item": "minecraft:light_gray_shulker_box" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/plastic.json b/common/src/main/resources/data/devices/recipes/plastic.json deleted file mode 100644 index 9289dd145..000000000 --- a/common/src/main/resources/data/devices/recipes/plastic.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smelting", - "group": "devices:plastic", - "ingredient": { - "item": "devices:plastic_unrefined" - }, - "result": "devices:plastic", - "experience": 0.4, - "cookingtime": 150 -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/plastic_frame.json b/common/src/main/resources/data/devices/recipes/plastic_frame.json deleted file mode 100644 index f1f9b742e..000000000 --- a/common/src/main/resources/data/devices/recipes/plastic_frame.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "result": { - "item": "devices:plastic_frame" - }, - "pattern": [ - "PPP", - "PPP", - "PPP" - ], - "type": "minecraft:crafting_shaped", - "key": { - "P": { - "item": "devices:plastic" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/plastic_unrefined.json b/common/src/main/resources/data/devices/recipes/plastic_unrefined.json deleted file mode 100644 index bdb92a5cb..000000000 --- a/common/src/main/resources/data/devices/recipes/plastic_unrefined.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "result": { - "item": "devices:plastic_unrefined" - }, - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "minecraft:white_dye" - }, - { - "item": "minecraft:black_dye" - }, - { - "item": "minecraft:slime_ball" - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/ram.json b/common/src/main/resources/data/devices/recipes/ram.json deleted file mode 100644 index 0f624bdab..000000000 --- a/common/src/main/resources/data/devices/recipes/ram.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "result": { - "item": "devices:ram" - }, - "pattern": [ - "BBB", - "RCR", - "GGG" - ], - "type": "minecraft:crafting_shaped", - "key": { - "B": { - "item": "devices:circuit_board" - }, - "R": { - "item": "minecraft:redstone" - }, - "C": { - "item": "minecraft:end_crystal" - }, - "G": { - "item": "minecraft:gold_nugget" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/screen.json b/common/src/main/resources/data/devices/recipes/screen.json deleted file mode 100644 index 6e8afd35c..000000000 --- a/common/src/main/resources/data/devices/recipes/screen.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "result": { - "item": "devices:screen" - }, - "pattern": [ - "RGB", - "PPP", - "CDC" - ], - "type": "minecraft:crafting_shaped", - "key": { - "R": { - "item": "minecraft:stained_glass_pane", - "data": 14 - }, - "G": { - "item": "minecraft:stained_glass_pane", - "data": 13 - }, - "B": { - "item": "minecraft:stained_glass_pane", - "data": 11 - }, - "P": { - "item": "minecraft:prismarine_crystals" - }, - "C": { - "item": "devices:circuit_board" - }, - "D": { - "item": "minecraft:redstone" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/solid_state_drive.json b/common/src/main/resources/data/devices/recipes/solid_state_drive.json deleted file mode 100644 index 3e1031022..000000000 --- a/common/src/main/resources/data/devices/recipes/solid_state_drive.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "result": { - "item": "devices:solid_state_drive" - }, - "pattern": [ - "ORO", - "OFO", - "OFO" - ], - "type": "minecraft:crafting_shaped", - "key": { - "O": { - "item": "minecraft:obsidian" - }, - "F": { - "item": "devices:flash_chip" - }, - "R": { - "item": "minecraft:redstone" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/wheel.json b/common/src/main/resources/data/devices/recipes/wheel.json deleted file mode 100644 index 10b648ee7..000000000 --- a/common/src/main/resources/data/devices/recipes/wheel.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "result": { - "item": "devices:wheel" - }, - "pattern": [ - "P P", - "PIP", - "P P" - ], - "type": "minecraft:crafting_shaped", - "key": { - "P": { - "item": "devices:plastic" - }, - "I": { - "item": "minecraft:iron_block" - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/data/devices/recipes/wifi.json b/common/src/main/resources/data/devices/recipes/wifi.json deleted file mode 100644 index 41f352959..000000000 --- a/common/src/main/resources/data/devices/recipes/wifi.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "result": { - "item": "devices:wifi" - }, - "pattern": [ - " E ", - "IDI", - "RCR" - ], - "type": "minecraft:crafting_shaped", - "key": { - "E": { - "item": "minecraft:end_rod" - }, - "I": { - "item": "minecraft:iron_ingot" - }, - "D": { - "item": "minecraft:ender_pearl" - }, - "R": { - "item": "minecraft:redstone" - }, - "C": { - "item": "devices:circuit_board" - } - } -} \ No newline at end of file diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesModelGenerator.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesModelGenerator.java index ce945a236..3d0838c74 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesModelGenerator.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesModelGenerator.java @@ -3,12 +3,14 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.ultreon.devices.init.DeviceBlocks; +import com.ultreon.devices.init.DeviceItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider; import net.minecraft.data.models.BlockModelGenerators; import net.minecraft.data.models.ItemModelGenerators; import net.minecraft.data.models.blockstates.BlockStateGenerator; import net.minecraft.data.models.model.ModelLocationUtils; +import net.minecraft.data.models.model.ModelTemplates; import net.minecraft.world.level.block.Block; import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; @@ -235,6 +237,7 @@ private String officeChairStatePain() { } @Override - public void generateItemModels(ItemModelGenerators itemModelGenerator) { + public void generateItemModels(ItemModelGenerators generators) { + generators.generateFlatItem(DeviceItems.GLASS_DUST.get(), ModelTemplates.FLAT_ITEM); } } diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java index bf7f0c322..10dd72745 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java @@ -1,6 +1,7 @@ package com.ultreon.devices.datagen; import com.ultreon.devices.Devices; +import com.ultreon.devices.block.OfficeChairBlock; import com.ultreon.devices.block.PrinterBlock; import com.ultreon.devices.block.RouterBlock; import com.ultreon.devices.init.DeviceBlocks; @@ -8,15 +9,15 @@ import com.ultreon.devices.init.DeviceTags; import com.ultreon.devices.init.ModTags; import com.ultreon.devices.item.FlashDriveItem; +import com.ultreon.devices.util.ItemColors; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.minecraft.data.recipes.FinishedRecipe; -import net.minecraft.data.recipes.RecipeCategory; -import net.minecraft.data.recipes.ShapedRecipeBuilder; -import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.data.recipes.*; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.DyeItem; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.SmeltingRecipe; import net.minecraft.world.level.ItemLike; import java.util.function.Consumer; @@ -87,6 +88,24 @@ public void buildRecipes(Consumer exporter) { .save(exporter); } + //*****************// + // Routers // + //*****************// + for (OfficeChairBlock router : DeviceBlocks.getAllOfficeChairs()) { + new ShapedRecipeBuilder(RecipeCategory.TOOLS, router, 1) + .pattern("cdc") + .pattern("clc") + .pattern("wfw") + .define('d', ItemColors.woolByColor(router.getColor())) + .define('c', Items.GRAY_CONCRETE) + .define('l', Items.LEATHER) + .define('w', DeviceItems.WHEEL.get()) + .define('f', Items.COBBLESTONE_WALL) + .unlockedBy("has_wheel", has(DeviceItems.WHEEL.get())) + .group(Devices.MOD_ID + ":office_chair") + .save(exporter); + } + //*************************// // Component Items // //*************************// @@ -108,6 +127,107 @@ public void buildRecipes(Consumer exporter) { .requires(DeviceItems.COMPONENT_MOTHERBOARD.get(), 1) .unlockedBy("has_motherboard", has(DeviceItems.COMPONENT_MOTHERBOARD.get())) .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.WHEEL.get(), 1) + .pattern("p p") + .pattern("pip") + .pattern("p p") + .define('p', DeviceItems.PLASTIC_FRAME.get()) + .define('i', Items.IRON_BLOCK) + .unlockedBy("has_iron_ingot", has(Items.IRON_INGOT)) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_SOLID_STATE_DRIVE.get(), 1) + .pattern("oro") + .pattern("ofo") + .pattern("ofo") + .define('o', Items.OBSIDIAN) + .define('f', DeviceItems.COMPONENT_FLASH_CHIP.get()) + .define('r', Items.REDSTONE) + .unlockedBy("has_flash_chip", has(DeviceItems.COMPONENT_FLASH_CHIP.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_WIFI.get(), 1) + .pattern(" e ") + .pattern("idi") + .pattern("rcr") + .define('e', Items.END_ROD) + .define('i', Items.IRON_INGOT) + .define('d', Items.ENDER_PEARL) + .define('r', Items.REDSTONE) + .define('c', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) + .unlockedBy("has_circuit_board", has(DeviceItems.COMPONENT_CIRCUIT_BOARD.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_SCREEN.get(), 1) + .pattern("rgb") + .pattern("ppp") + .pattern("cdc") + .define('r', Items.RED_STAINED_GLASS_PANE) + .define('g', Items.GREEN_STAINED_GLASS_PANE) + .define('b', Items.BLUE_STAINED_GLASS_PANE) + .define('p', Items.PRISMARINE_CRYSTALS) + .define('c', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) + .define('d', Items.REDSTONE) + .unlockedBy("has_circuit_board", has(DeviceItems.COMPONENT_CIRCUIT_BOARD.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_RAM.get(), 1) + .pattern("bbb") + .pattern("rcr") + .pattern("ggg") + .define('b', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) + .define('r', Items.REDSTONE) + .define('c', Items.ENDER_EYE) + .define('g', Items.GOLD_NUGGET) + .unlockedBy("has_circuit_board", has(DeviceItems.COMPONENT_CIRCUIT_BOARD.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.PLASTIC_FRAME.get(), 1) + .pattern("pp") + .pattern("pp") + .define('p', DeviceItems.PLASTIC.get()) + .unlockedBy("has_plastic", has(DeviceItems.PLASTIC.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_HARD_DRIVE.get(), 1) + .pattern("nri") + .pattern("ibi") + .pattern("ibi") + .define('n', Items.IRON_NUGGET) + .define('i', Items.IRON_INGOT) + .define('r', Items.REDSTONE) + .define('b', Items.SHULKER_SHELL) + .unlockedBy("has_plastic", has(DeviceItems.PLASTIC.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.COMPONENT_GPU.get(), 1) + .pattern("ogo") + .pattern("rmp") + .pattern("ccc") + .define('o', Items.OBSIDIAN) + .define('g', Items.GOLD_INGOT) + .define('r', Items.REDSTONE) + .define('m', DeviceItems.COMPONENT_RAM.get()) + .define('p', Items.PRISMARINE_SHARD) + .define('c', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) + .unlockedBy("has_plastic", has(DeviceItems.PLASTIC.get())) + .save(exporter); + new ShapedRecipeBuilder(RecipeCategory.MISC, DeviceItems.ETHERNET_CABLE.get(), 1) + .pattern("pil") + .pattern("gig") + .pattern("lip") + .define('p', Items.PRISMARINE_CRYSTALS) + .define('i', Items.IRON_INGOT) + .define('l', DeviceItems.PLASTIC.get()) + .define('g', Items.GOLD_NUGGET) + .unlockedBy("has_plastic", has(DeviceItems.PLASTIC.get())) + .save(exporter); + new ShapelessRecipeBuilder(RecipeCategory.MISC, DeviceItems.PLASTIC_UNREFINED.get(), 1) + .requires(Items.BLACK_DYE) + .requires(Items.WHITE_DYE) + .requires(Items.SLIME_BALL) + .unlockedBy("has_slime_ball", has(Items.SLIME_BALL)) + .save(exporter); + + //**************************// + // Smelting recipes // + //**************************// + SimpleCookingRecipeBuilder.smelting(Ingredient.of(DeviceItems.PLASTIC_UNREFINED.get()), RecipeCategory.MISC, DeviceItems.PLASTIC.get(), 0.5f, 200) + .unlockedBy("has_plastic_unrefined", has(DeviceItems.PLASTIC_UNREFINED.get())) + .save(exporter); } public static void laptop(Consumer exporter, ItemLike laptop, DyeColor color) { From b140a45a06351bf60d85cf47d56c2ababa2f3836 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Fri, 2 Feb 2024 22:14:22 +0100 Subject: [PATCH 02/18] More theming --- .../com/ultreon/devices/ClientModEvents.java | 7 ++ .../devices/programs/system/SettingsApp.java | 106 ++++++++++++++---- .../programs/system/object/ColorScheme.java | 10 ++ .../system/object/ColorSchemeRegistry.java | 33 ++++++ .../programs/system/object/ColorSchemes.java | 42 +++++++ 5 files changed, 174 insertions(+), 24 deletions(-) create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java diff --git a/common/src/main/java/com/ultreon/devices/ClientModEvents.java b/common/src/main/java/com/ultreon/devices/ClientModEvents.java index 9cd2f9738..429430fdb 100644 --- a/common/src/main/java/com/ultreon/devices/ClientModEvents.java +++ b/common/src/main/java/com/ultreon/devices/ClientModEvents.java @@ -11,6 +11,7 @@ import com.ultreon.devices.init.DeviceBlockEntities; import com.ultreon.devices.init.DeviceBlocks; import com.ultreon.devices.object.AppInfo; +import com.ultreon.devices.programs.system.object.ColorSchemes; import dev.architectury.injectables.annotations.ExpectPlatform; import dev.architectury.platform.Platform; import dev.architectury.registry.ReloadListenerRegistry; @@ -75,9 +76,15 @@ public static void clientSetup() { generateIconAtlas(); } + registerOSContent(); + ReloadListenerRegistry.register(PackType.CLIENT_RESOURCES, new ReloaderListener()); } + private static void registerOSContent() { + ColorSchemes.init(); + } + @ApiStatus.Internal public static class ReloaderListener implements PreparableReloadListener { @NotNull diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index a338998c6..5e4c6510f 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -1,6 +1,5 @@ package com.ultreon.devices.programs.system; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.Devices; import com.ultreon.devices.Reference; import com.ultreon.devices.api.ApplicationManager; @@ -8,11 +7,10 @@ import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.ScrollableLayout; +import com.ultreon.devices.api.app.component.*; import com.ultreon.devices.api.app.component.Button; -import com.ultreon.devices.api.app.component.CheckBox; -import com.ultreon.devices.api.app.component.ComboBox; -import com.ultreon.devices.api.app.component.Text; import com.ultreon.devices.api.app.renderer.ItemRenderer; +import com.ultreon.devices.api.app.renderer.ListItemRenderer; import com.ultreon.devices.api.utils.OnlineRequest; import com.ultreon.devices.core.Laptop; import com.ultreon.devices.core.Settings; @@ -20,11 +18,12 @@ import com.ultreon.devices.object.TrayItem; import com.ultreon.devices.programs.system.component.Palette; import com.ultreon.devices.programs.system.object.ColorScheme; +import com.ultreon.devices.programs.system.object.ColorSchemeRegistry; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.awt.*; import java.text.MessageFormat; @@ -46,6 +45,7 @@ public class SettingsApp extends SystemApp { private Button urlWallpaperBtn; private Layout layoutColorScheme; + private Layout layoutColorSchemes; private Button buttonColorSchemeApply; private final Stack predecessor = new Stack<>(); @@ -63,7 +63,7 @@ public void init(@Nullable CompoundTag intent) { backBtn.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { - if (predecessor.size() > 0) { + if (!predecessor.isEmpty()) { setCurrentLayout(predecessor.pop()); } if (predecessor.isEmpty()) { @@ -84,9 +84,53 @@ public void init(@Nullable CompoundTag intent) { private Menu addMainLayout() { Menu layoutMain = new Menu("Home"); + Button aboutButton = createAboutButton(layoutMain); + layoutMain.addComponent(aboutButton); + //aboutButton.setToolTip("About", "When to call emergency services because you just lost all of your NFTs to a scammer"); + + this.layoutPersonalise = createPersonaliseLayout(); + this.layoutColorSchemes = createColorSchemesLayout(); + this.layoutGeneral = createGeneralLayout(); + + Button buttonColorScheme = new Button(5, 26+20+4, "Personalise", Icons.EDIT); + buttonColorScheme.setSize(90, 20); + buttonColorScheme.setToolTip("Personalise", "Change the wallpaper, UI colors, and more!"); + buttonColorScheme.setClickListener((mouseX, mouseY, mouseButton) -> { + if (mouseButton == 0) { + showMenu(layoutPersonalise); + } + }); + + layoutMain.addComponent(buttonColorScheme); + + Button buttonColorSchemes = new Button(5, 26+26+20+4, "Color Schemes", Icons.WRENCH); + buttonColorSchemes.setSize(90, 20); + buttonColorSchemes.setToolTip("Color Schemes", "Change the color scheme."); + buttonColorSchemes.setClickListener((mouseX, mouseY, mouseButton) -> { + if (mouseButton == 0) { + showMenu(layoutColorSchemes); + } + }); + layoutMain.addComponent(buttonColorSchemes); + + Button buttonGeneral = new Button(5, 26+26+26+20+4, "Advanced", Icons.WRENCH); + buttonGeneral.setSize(90, 20); + buttonGeneral.setToolTip("General", "General settings."); + buttonGeneral.setClickListener((mouseX, mouseY, mouseButton) -> { + if (mouseButton == 0) { + showMenu(layoutGeneral); + } + }); + layoutMain.addComponent(buttonGeneral); + + return layoutMain; + } + + @NotNull + private Button createAboutButton(Menu layoutMain) { Button aboutButton = new Button(5, 26, "About", Icons.INFO); aboutButton.setSize(90, 20); - aboutButton.setClickListener((__, ___, ____) -> { + aboutButton.setClickListener((mouseX, mouseY, mouseButton) -> { var qq = new Menu("About"); qq.addComponent(backBtn); var l = new ScrollableLayout(layoutMain.width, layoutMain.height, 124); @@ -113,30 +157,19 @@ private Menu addMainLayout() { qq.addComponent(l); this.showMenu(qq); }); - layoutMain.addComponent(aboutButton); - //aboutButton.setToolTip("About", "When to call emergency services because you just lost all of your NFTs to a scammer"); - Button buttonColorScheme = new Button(5, 26+20+4, "Personalise", Icons.EDIT); - buttonColorScheme.setSize(90, 20); - buttonColorScheme.setToolTip("Personalise", "Change the wallpaper, UI colors, and more!"); - buttonColorScheme.setClickListener((mouseX, mouseY, mouseButton) -> - { - if (mouseButton == 0) { - showMenu(layoutPersonalise); - } - }); - layoutMain.addComponent(buttonColorScheme); + return aboutButton; + } - layoutGeneral = new Menu("General"); + private Layout createGeneralLayout() { + var layoutGeneral = new Menu("General"); layoutGeneral.addComponent(backBtn); - checkBoxShowApps = new CheckBox("Show All Apps", 5, 5); + checkBoxShowApps = new CheckBox("Show All Apps", 5, 26); checkBoxShowApps.setSelected(Settings.isShowAllApps()); checkBoxShowApps.setClickListener(this::showAllAppsClick); layoutGeneral.addComponent(checkBoxShowApps); - layoutPersonalise = createPersonaliseLayout(); - - return layoutMain; + return layoutGeneral; } /** @@ -182,6 +215,31 @@ private Layout createPersonaliseLayout() { return layoutPersonalise; } + private Layout createColorSchemesLayout() { + final Layout layoutColorSchemes = new Menu("Color schemes"); + layoutColorSchemes.addComponent(backBtn); + + ItemList list = new ItemList<>(0, 21, layoutColorSchemes.width, layoutColorSchemes.height - 21); + for (ColorScheme colorScheme : ColorSchemeRegistry.getValues()) { + list.addItem(colorScheme); + } + + list.setItemClickListener((colorScheme, index, button) -> { + Laptop.getSystem().getSettings().getColorScheme().set(colorScheme); + }); + + list.setListItemRenderer(new ListItemRenderer<>(20) { + @Override + public void render(GuiGraphics graphics, ColorScheme scheme, Minecraft mc, int x, int y, int width, int height, boolean selected) { + graphics.drawString(mc.font, ColorSchemeRegistry.getKey(scheme).toString(), x + 5, y + 5, Color.WHITE.getRGB()); + } + }); + + layoutColorSchemes.addComponent(list); + + return layoutColorSchemes; + } + /** * Create the layout for the color schemes * diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java index e4538f4e3..e80366fba 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java @@ -125,4 +125,14 @@ public CompoundTag toTag() { tag.putInt("itemHighlightColor", itemHighlightColor); return tag; } + + public void set(ColorScheme colorScheme) { + textColor = colorScheme.textColor; + textSecondaryColor = colorScheme.textSecondaryColor; + headerColor = colorScheme.headerColor; + backgroundColor = colorScheme.backgroundColor; + backgroundSecondaryColor = colorScheme.backgroundSecondaryColor; + itemBackgroundColor = colorScheme.itemBackgroundColor; + itemHighlightColor = colorScheme.itemHighlightColor; + } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java new file mode 100644 index 000000000..497c0cad7 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java @@ -0,0 +1,33 @@ +package com.ultreon.devices.programs.system.object; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import net.minecraft.resources.ResourceLocation; + +public class ColorSchemeRegistry { + private static final BiMap COLOR_SCHEMES = HashBiMap.create(); + + private ColorSchemeRegistry() { + + } + + public static ColorScheme getColorScheme(ResourceLocation id) { + return COLOR_SCHEMES.get(id); + } + + public static void register(ResourceLocation id, ColorScheme colorScheme) { + COLOR_SCHEMES.put(id, colorScheme); + } + + public static ResourceLocation getKey(ColorScheme colorScheme) { + return COLOR_SCHEMES.inverse().get(colorScheme); + } + + public static Iterable getKeys() { + return COLOR_SCHEMES.keySet(); + } + + public static Iterable getValues() { + return COLOR_SCHEMES.values(); + } +} diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java new file mode 100644 index 000000000..1f4c00d43 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java @@ -0,0 +1,42 @@ +package com.ultreon.devices.programs.system.object; + +import com.ultreon.devices.Devices; + +import java.util.function.Consumer; + +public class ColorSchemes { + public static final ColorScheme DEFAULT = createColorSceheme("default", new ColorScheme(), colorScheme -> { + + }); + + public static final ColorScheme DARK = createColorSceheme("dark", new ColorScheme(), scheme -> { + scheme.backgroundColor = 0x202020; + scheme.textColor = 0xffffff; + scheme.backgroundSecondaryColor = 0x303030; + scheme.textSecondaryColor = 0xa0a0a0; + scheme.itemBackgroundColor = 0x404040; + scheme.itemHighlightColor = 0x505050; + scheme.headerColor = 0x303030; + }); + + public static final ColorScheme LIGHT = createColorSceheme("light", new ColorScheme(), scheme -> { + scheme.backgroundColor = 0xe0e0e0; + scheme.textColor = 0x000000; + scheme.backgroundSecondaryColor = 0xa0a0a0; + scheme.textSecondaryColor = 0x303030; + scheme.itemBackgroundColor = 0xb0b0b0; + scheme.itemHighlightColor = 0xc0c0c0; + scheme.headerColor = 0xa0a0a0; + }); + + private static ColorScheme createColorSceheme(String name, ColorScheme colorScheme, Consumer consumer) { + consumer.accept(colorScheme); + ColorSchemeRegistry.register(Devices.id(name), colorScheme); + + return colorScheme; + } + + public static void init() { + // No-op + } +} From 4bc2bd89203704daf194c9a0f71d5b0f516c1c00 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Fri, 2 Feb 2024 22:14:22 +0100 Subject: [PATCH 03/18] More theming --- .../devices/api/app/component/Button.java | 14 ++- .../java/com/ultreon/devices/core/Window.java | 12 ++- .../ultreon/devices/gui/GuiButtonClose.java | 5 +- .../com/ultreon/devices/object/AppInfo.java | 1 - .../system/component/FileBrowser.java | 4 +- .../programs/system/object/ColorScheme.java | 92 ++++++++++++++++++ .../programs/system/object/ColorSchemes.java | 6 +- .../devices/textures/gui/application.png | Bin 16232 -> 3727 bytes .../devices/textures/gui/components.png | Bin 4119 -> 1782 bytes 9 files changed, 118 insertions(+), 16 deletions(-) diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Button.java b/common/src/main/java/com/ultreon/devices/api/app/component/Button.java index c87e4343d..cbd8bb149 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Button.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Button.java @@ -214,12 +214,13 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int if (this.visible) { RenderSystem.setShaderTexture(0, Component.COMPONENTS_GUI); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - Color bgColor = new Color(getColorScheme().getBackgroundColor()).brighter().brighter(); - float[] hsb = Color.RGBtoHSB(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), null); - bgColor = new Color(Color.HSBtoRGB(hsb[0], hsb[1], 1f)); - RenderSystem.setShaderColor(bgColor.getRed() / 255f, bgColor.getGreen() / 255f, bgColor.getBlue() / 255f, 1f); + + Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getButtonColor()); + RenderSystem.setShaderColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1); + this.hovered = GuiHelper.isMouseWithin(mouseX, mouseY, x, y, width, height) && windowActive; int i = this.getHoverState(this.hovered); + RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(770, 771, 1, 0); RenderSystem.blendFunc(770, 771); @@ -240,7 +241,10 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int graphics.blit(Component.COMPONENTS_GUI, x + 2, y + 2, width - 4, height - 4, 98 + i * 5, 14, 1, 1, 256, 256); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + + if (this.hovered) { + graphics.renderOutline(x, y, width, height, Laptop.getSystem().getSettings().getColorScheme().getButtonOutlineColor()); + } int contentWidth = (iconResource != null ? iconWidth : 0) + getTextWidth(text); if (iconResource != null && !StringUtils.isNotNullOrEmpty(text)) contentWidth += 3; diff --git a/common/src/main/java/com/ultreon/devices/core/Window.java b/common/src/main/java/com/ultreon/devices/core/Window.java index 235936d03..e9d0d03aa 100644 --- a/common/src/main/java/com/ultreon/devices/core/Window.java +++ b/common/src/main/java/com/ultreon/devices/core/Window.java @@ -15,7 +15,7 @@ public class Window { public static final ResourceLocation WINDOW_GUI = new ResourceLocation("devices:textures/gui/application.png"); - public static final int Color_WINDOW_DARK = new Color(0f, 0f, 0f, 0.25f).getRGB(); + public static final int COLOR_WINDOW_DARK = new Color(0f, 0f, 0f, 0.25f).getRGB(); final Laptop laptop; double dragFromX; double dragFromY; @@ -86,12 +86,13 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, graphics.pose().pushPose(); - RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getWindowBackgroundColor()); RenderSystem.enableBlend(); RenderSystem.setShaderTexture(0, WINDOW_GUI); + RenderSystem.setShaderColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1); /* Corners */ - graphics.blit(WINDOW_GUI,x + offsetX, y + offsetY, 0, 0, 1, 0); + graphics.blit(WINDOW_GUI,x + offsetX, y + offsetY, 0, 0, 1, 1); graphics.blit(WINDOW_GUI,x + offsetX + width - 13, y + offsetY, 2, 0, 13, 13); graphics.blit(WINDOW_GUI,x + offsetX + width - 1, y + offsetY + height - 1, 14, 14, 1, 1); graphics.blit(WINDOW_GUI,x + offsetX, y + offsetY + height - 1, 0, 14, 1, 1); @@ -105,6 +106,8 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, /* Center */ graphics.blit(WINDOW_GUI, x + offsetX + 1, y + offsetY + 13, width - 2, height - 14, 1, 13, 13, 1, 256, 256); + RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + String windowTitle = content.getWindowTitle(); if (mc.font.width(windowTitle) > width - 2 - 13 - 3) { // window width, border, close button, padding, padding windowTitle = mc.font.plainSubstrByWidth(windowTitle, width - 2 - 13 - 3); @@ -121,9 +124,10 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, RenderSystem.setShaderColor(1f, 1f, 1f, 1f); if (dialogWindow != null) { - graphics.fill(x + offsetX, y + offsetY, x + offsetX + width, y + offsetY + height, Color_WINDOW_DARK); + graphics.fill(x + offsetX, y + offsetY, x + offsetX + width, y + offsetY + height, COLOR_WINDOW_DARK); dialogWindow.render(graphics, gui, mc, x, y, mouseX, mouseY, active, partialTicks); } + graphics.pose().popPose(); } diff --git a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java index 3d7f40dc6..b84092726 100644 --- a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java +++ b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java @@ -27,8 +27,9 @@ public void renderWidget(@NotNull GuiGraphics graphics, int mouseX, int mouseY, RenderSystem.blendFuncSeparate(770, 771, 1, 0); RenderSystem.blendFunc(770, 771); - int state = this.isHovered ? 1 : 0; - graphics.blit(Window.WINDOW_GUI, this.getX(), this.getY(), state * this.width + 15, 0, this.width, this.height); + if (this.isHovered) { + graphics.blit(Window.WINDOW_GUI, this.getX(), this.getY(), this.width + 15, 0, this.width, this.height); + } } } diff --git a/common/src/main/java/com/ultreon/devices/object/AppInfo.java b/common/src/main/java/com/ultreon/devices/object/AppInfo.java index 58029416b..a9b085d80 100644 --- a/common/src/main/java/com/ultreon/devices/object/AppInfo.java +++ b/common/src/main/java/com/ultreon/devices/object/AppInfo.java @@ -39,7 +39,6 @@ public class AppInfo { @Override public int getTintColor(AppInfo info, int o) { return switch (o) { - case 0 -> new Color(255, 255, 255).getRGB(); case 1 -> Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor(); case 2 -> Laptop.getSystem().getSettings().getColorScheme().getBackgroundSecondaryColor(); default -> new Color(255, 255, 255).getRGB(); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java b/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java index 94890b72b..8c872dd31 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java @@ -1,7 +1,6 @@ package com.ultreon.devices.programs.system.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Dialog; @@ -30,7 +29,6 @@ import com.ultreon.devices.programs.system.SystemApp; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -303,7 +301,7 @@ public void render(GuiGraphics graphics, Drive drive, Minecraft mc, int x, int y layout.addComponent(layoutMain); layoutLoading = new Layout(mode.getOffset(), 25, fileList.getWidth(), fileList.getHeight()); - layoutLoading.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> graphics.fill(x, y, x + width, y + height, Window.Color_WINDOW_DARK)); + layoutLoading.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> graphics.fill(x, y, x + width, y + height, Window.COLOR_WINDOW_DARK)); layoutLoading.setVisible(false); spinnerLoading = new Spinner((layoutLoading.width - 12) / 2, (layoutLoading.height - 12) / 2); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java index e80366fba..c5d8d0dd9 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java @@ -9,6 +9,7 @@ * @author MrCrayfish */ public class ColorScheme { + public int buttonColor; public int textColor; public int textSecondaryColor; public int headerColor; @@ -16,6 +17,11 @@ public class ColorScheme { public int backgroundSecondaryColor; public int itemBackgroundColor; public int itemHighlightColor; + public int buttonOutlineColor; + public int windowBackgroundColor; + public int windowOutlineColor; + public int iconColor; + public int iconSecondaryColor; public ColorScheme() { resetDefault(); @@ -23,6 +29,9 @@ public ColorScheme() { public static ColorScheme fromTag(CompoundTag tag) { ColorScheme scheme = new ColorScheme(); + if (tag.contains("buttonColor", Tag.TAG_INT)) { + scheme.buttonColor = tag.getInt("buttonColor"); + } if (tag.contains("textColor", Tag.TAG_INT)) { scheme.textColor = tag.getInt("textColor"); } @@ -44,9 +53,32 @@ public static ColorScheme fromTag(CompoundTag tag) { if (tag.contains("itemHighlightColor", Tag.TAG_INT)) { scheme.itemHighlightColor = tag.getInt("itemHighlightColor"); } + if (tag.contains("buttonOutlineColor", Tag.TAG_INT)) { + scheme.buttonOutlineColor = tag.getInt("buttonOutlineColor"); + } + if (tag.contains("windowBackgroundColor", Tag.TAG_INT)) { + scheme.windowBackgroundColor = tag.getInt("windowBackgroundColor"); + } + if (tag.contains("windowOutlineColor", Tag.TAG_INT)) { + scheme.windowOutlineColor = tag.getInt("windowOutlineColor"); + } + if (tag.contains("iconColor", Tag.TAG_INT)) { + scheme.iconColor = tag.getInt("iconColor"); + } + if (tag.contains("iconSecondaryColor", Tag.TAG_INT)) { + scheme.iconSecondaryColor = tag.getInt("iconSecondaryColor"); + } return scheme; } + public int getButtonColor() { + return buttonColor; + } + + public void setButtonColor(int buttonColor) { + this.buttonColor = buttonColor; + } + public int getTextColor() { return textColor; } @@ -103,19 +135,68 @@ public void setItemHighlightColor(int itemHighlightColor) { this.itemHighlightColor = itemHighlightColor; } + public int getButtonOutlineColor() { + return buttonOutlineColor; + } + + public void setButtonOutlineColor(int buttonOutlineColor) { + this.buttonOutlineColor = buttonOutlineColor; + } + + public int getWindowBackgroundColor() { + return windowBackgroundColor; + } + + public void setWindowBackgroundColor(int windowBackgroundColor) { + this.windowBackgroundColor = windowBackgroundColor; + } + + public int getWindowOutlineColor() { + return windowOutlineColor; + } + + public void setWindowOutlineColor(int windowOutlineColor) { + this.windowOutlineColor = windowOutlineColor; + } + + public int getIconColor() { + return iconColor; + } + + public void setIconColor(int iconColor) { + this.iconColor = iconColor; + } + + public int getIconSecondaryColor() { + return iconSecondaryColor; + } + + public void setIconSecondaryColor(int iconSecondaryColor) { + this.iconSecondaryColor = iconSecondaryColor; + } + public void resetDefault() { + buttonColor = Color.decode("0x2E6897").getRGB(); textColor = Color.decode("0xFFFFFF").getRGB(); textSecondaryColor = Color.decode("0xABEFF4").getRGB(); headerColor = Color.decode("0x387A96").getRGB(); //backgroundColor = Color.decode("0x535861").getRGB(); backgroundColor = Color.decode("0x6899C2").getRGB(); backgroundSecondaryColor = Color.decode("0x36C052").getRGB(); + backgroundColor = Color.decode("0x6899C2").getRGB(); + backgroundSecondaryColor = Color.decode("0x36C052").getRGB(); + iconColor = Color.decode("0x6899C2").getRGB(); + iconSecondaryColor = Color.decode("0x36C052").getRGB(); itemBackgroundColor = Color.decode("0x2E6897").getRGB(); itemHighlightColor = Color.decode("0x8B74C9").getRGB(); + buttonOutlineColor = Color.decode("0xFFFFFF").getRGB(); + windowBackgroundColor = Color.decode("0x788086").getRGB(); + windowOutlineColor = Color.decode("0x3F3F3F").getRGB(); } public CompoundTag toTag() { CompoundTag tag = new CompoundTag(); + tag.putInt("buttonColor", buttonColor); tag.putInt("textColor", textColor); tag.putInt("textSecondaryColor", textSecondaryColor); tag.putInt("headerColor", headerColor); @@ -123,10 +204,16 @@ public CompoundTag toTag() { tag.putInt("backgroundSecondaryColor", backgroundSecondaryColor); tag.putInt("itemBackgroundColor", itemBackgroundColor); tag.putInt("itemHighlightColor", itemHighlightColor); + tag.putInt("buttonOutlineColor", buttonOutlineColor); + tag.putInt("windowBackgroundColor", windowBackgroundColor); + tag.putInt("windowOutlineColor", windowOutlineColor); + tag.putInt("iconColor", iconColor); + tag.putInt("iconSecondaryColor", iconSecondaryColor); return tag; } public void set(ColorScheme colorScheme) { + buttonColor = colorScheme.buttonColor; textColor = colorScheme.textColor; textSecondaryColor = colorScheme.textSecondaryColor; headerColor = colorScheme.headerColor; @@ -134,5 +221,10 @@ public void set(ColorScheme colorScheme) { backgroundSecondaryColor = colorScheme.backgroundSecondaryColor; itemBackgroundColor = colorScheme.itemBackgroundColor; itemHighlightColor = colorScheme.itemHighlightColor; + buttonOutlineColor = colorScheme.buttonOutlineColor; + windowBackgroundColor = colorScheme.windowBackgroundColor; + windowOutlineColor = colorScheme.windowOutlineColor; + iconColor = colorScheme.iconColor; + iconSecondaryColor = colorScheme.iconSecondaryColor; } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java index 1f4c00d43..0a4b7999b 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java @@ -10,6 +10,7 @@ public class ColorSchemes { }); public static final ColorScheme DARK = createColorSceheme("dark", new ColorScheme(), scheme -> { + scheme.buttonColor = 0x303030; scheme.backgroundColor = 0x202020; scheme.textColor = 0xffffff; scheme.backgroundSecondaryColor = 0x303030; @@ -17,16 +18,19 @@ public class ColorSchemes { scheme.itemBackgroundColor = 0x404040; scheme.itemHighlightColor = 0x505050; scheme.headerColor = 0x303030; + scheme.windowBackgroundColor = 0x202020; }); public static final ColorScheme LIGHT = createColorSceheme("light", new ColorScheme(), scheme -> { - scheme.backgroundColor = 0xe0e0e0; + scheme.buttonColor = 0x0080ff; + scheme.backgroundColor = 0xd0d0d0; scheme.textColor = 0x000000; scheme.backgroundSecondaryColor = 0xa0a0a0; scheme.textSecondaryColor = 0x303030; scheme.itemBackgroundColor = 0xb0b0b0; scheme.itemHighlightColor = 0xc0c0c0; scheme.headerColor = 0xa0a0a0; + scheme.windowBackgroundColor = 0xe0e0e0; }); private static ColorScheme createColorSceheme(String name, ColorScheme colorScheme, Consumer consumer) { diff --git a/common/src/main/resources/assets/devices/textures/gui/application.png b/common/src/main/resources/assets/devices/textures/gui/application.png index e44515abbb30a1521f6d2c408d7be72eef0fa389..b71b9bd4f442301cdb2fa380f07de62c294927eb 100644 GIT binary patch delta 1288 zcmaD+*DpIkMT)UF$lZxy-8q?;3=9k`>5jgR3=A9lx&I`xPE-_U;$A<|%Ab*UVrL!` zFW1DM&OmaqJ)`2}97fH_3mJ7L-()nMEXAb9qfn8XlUHn2T;f_*GWj8s*yJ8Yj>&aQ zqLb${X-~e!qyy5&#_R>6LYN&u)C>r9huH^`Tj1+!<&jxjl3!G52NPCMuqjGOvkFcv1PV=#XV(U4pU5sXS&2;y!W5o-lU;an zDw{csYsXr4aEz?@7J^YmbakU<+&YXqmf%FY&~QChn}X=|AG?of0JcPkjF|GM;j_y3!F&zw1iSg-%P(gJEYP2R`T^69do6EI`tCHoILCVa`KJ|Tv;Y2hv)FRM z{`FaNLwTyN$ShB~vG|!pMcg$ekM(~HzhwTn{PW8zIp_Ip_pi#wP5;ZcU@c2iN&S^D zrp6D4tN)x-b})WZpZl+SyoLK)UJTMs`J2%BH#Q_;MJb;7)(hJRvJFNpo)*KfS_v0_iO*=*m9F?xrm z2qg%-XK+(vk-Mjw&DgSl{ptrl)6ny+3(8ynUX;0T-+Mnx%=+t2Gu-R{mRu=g7m#CY z`dcR-wokaK`sIEGE`{0Wm^vQvi!eA(W!(_9c2#2i?z?`BPfB_7e_uXeuF23=#BQK> z{Z;ON{zK=D=NLS`9C~A)H!!!84(dtQLRB5XbP0 Hl+XkKa9n6m literal 16232 zcmeI3du$X%9LJ}nMOrEN2Z{j_*Fz((y?tEodb`|R!5+{OT52g!5);|moohGT-5$Gp z^eBH&^e+=aA}OwkgbiHQn65=Ai$J_rO55>W6FoV~l=U8mPcl@gsu6c9nh}BSbUcZA0}!ZBClz%Aw3!I()DuD1&;0`~ zM%RL_wccjFIoSZa^u`_&uIg!NS9><7lIE%pRR_{C5{N@vVbbwf!jjWLS4LMx_f9kC zVlrLq4MEppXF#T-xs_=!OvrfMK2{Yxex^=x3tq`D)-GT~Uhr|e#0j-5FUY(k^8%B* zT%l@o7cjM`+!kJ%8xC1PSC?%kWsd9a?sj*3+=ki736dmnyvT_ni+Zru=7g=J*@QJa zD>9@LhL&pTNn1A(jH9bWjFcU8xtxLWS8iSLWPYH8m1Bn}a%m;W32vS%6{M;8m}JU~ zWu~U79E`y@OxPBR6H3M>HX#H#q$MM* z_RUGiwL!~BnJQee2`y!Isny$hw6HnDlpN2fbBAetlrYDW4a=lLc83CJt#X42727b| z4I>uHW?AbHLZ+d?$*MYL&RRX88Qs?00EdSZ_Pd}4!-@?a2Dn0FQO|r<$qh!#FwwMN$P?g7H5Wx?GEHtuShkW-VN*DS8r-_B$&i=o zctI0c-WL&ARjc)~5kIf8{)o3$(!3E#-|LzbaWJV0ts9PvMHy7nC%HB*Z zTLm``Zyj>P^h`}kDy9XU6Bl$19l3lF%hxC;CUbISMRlrKNOcYb)B@bF*21*%k-0E^ z{vA#ojioaEC9mJ_zS1z>JjfbuyhZei>&_d+ugl>n#+-O*HQIzwx zlYJDgLNDep1Q6q~yxybBh6}?1f z>SwkUy`rQ44!Hck2O~;r{s}amH-#mQrz)mJ2f=`lO^S=m2lG-~7!a~aagq68UWy9? zLN+NbG9S!KabZBnCdEbOgLx?~3<%kzxX64kFU5rcA)6EznGfcrxG*4Olj0)t!Mqd~ z283)JkWGq<%m?#QTo@3tNpX?+U|xy~141?_E;1j?OL1X9$R@=_=7V`D zE({3Sq`1g@FfYZ00U?_d7nu*{rMNI4WRv0|^TE6n7Y2lEQe0#{n3v+hfRIg!i_8b} zQd}4ivPp4~`Cwj(3j;znDK0V}%u8`$K*%N$S9RfoTbMv!*>$DX#n-Jb=1y}s|c>0r$Ry>j`XPhWZX$n4gwi61I^_f)*( zz4UzFsTselnYR4|INArkXxMsr!{XreLywiu=D@)P;P{n4j=xy(ogZx61_rAJZx~lD zr)HGBFk_(X#ObTc!rQ;UITKm8%TJ`i2O9&P$qkd=y|4cK*I%Wl4z8ZiI&}aX{pg{x zx2ooVg8>j+m_Bwk^;$*mJ(cU-WgQ{#`PF;Du?a`(XZ7Ehc=ER`6&JT1sRAp1uUP-* z%8J7^0|R9jrYu@M_wv*a*Bv~+W#*{^2j&BJ`6R%AUI5C$c-@o_y2e${nHO_cCOU3Q t&Z8SYig!

|1`a?``zy{O#Klz)gMEtgGM7V*t9Emb8QqKfeCyzW^vWK_vhH diff --git a/common/src/main/resources/assets/devices/textures/gui/components.png b/common/src/main/resources/assets/devices/textures/gui/components.png index 11ce8a734c0a36aff2e425cfcc729af25299ad10..34c1cca6227fdff30f04f1f4c3fb979229d93cee 100644 GIT binary patch literal 1782 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 From 9ddead67c29b1c1bd529c1dccbdfc5907c737b88 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 3 Feb 2024 06:43:02 +0100 Subject: [PATCH 04/18] Adding display resolutions! --- .../devices/api/video/CustomResolution.java | 6 + .../ultreon/devices/api/video/VideoInfo.java | 43 +++++ .../java/com/ultreon/devices/core/Laptop.java | 160 ++++++++++++------ .../com/ultreon/devices/core/Resizer.java | 91 ++++++++++ .../com/ultreon/devices/core/TaskBar.java | 12 +- .../java/com/ultreon/devices/core/Window.java | 17 +- .../programs/system/DisplayResolution.java | 27 +++ .../programs/system/PredefinedResolution.java | 56 ++++++ .../devices/programs/system/SettingsApp.java | 16 ++ 9 files changed, 363 insertions(+), 65 deletions(-) create mode 100644 common/src/main/java/com/ultreon/devices/api/video/CustomResolution.java create mode 100644 common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java create mode 100644 common/src/main/java/com/ultreon/devices/core/Resizer.java create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/DisplayResolution.java create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java diff --git a/common/src/main/java/com/ultreon/devices/api/video/CustomResolution.java b/common/src/main/java/com/ultreon/devices/api/video/CustomResolution.java new file mode 100644 index 000000000..f76407dbc --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/video/CustomResolution.java @@ -0,0 +1,6 @@ +package com.ultreon.devices.api.video; + +import com.ultreon.devices.programs.system.DisplayResolution; + +public record CustomResolution(int width, int height) implements DisplayResolution { +} diff --git a/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java b/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java new file mode 100644 index 000000000..60e899a82 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java @@ -0,0 +1,43 @@ +package com.ultreon.devices.api.video; + +import com.mojang.blaze3d.platform.Window; +import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.programs.system.DisplayResolution; +import com.ultreon.devices.programs.system.PredefinedResolution; +import net.minecraft.client.Minecraft; +import net.minecraft.nbt.CompoundTag; + +import java.util.Arrays; +import java.util.Collection; + +public class VideoInfo { + private DisplayResolution resolution = PredefinedResolution.PREDEFINED_384x216; + + public VideoInfo(CompoundTag videoInfoData) { + if (videoInfoData.contains("resolution")) + resolution = DisplayResolution.load(videoInfoData.getCompound("resolution")); + } + + public Collection getResolutionList() { + Window window = Minecraft.getInstance().getWindow(); + return Arrays.stream(PredefinedResolution.values()) + .filter(r -> r.width() <= window.getGuiScaledWidth() && r.height() <= window.getGuiScaledHeight()) + .toList(); + } + + public void setResolution(DisplayResolution value) { + this.resolution = value; + + Laptop.getInstance().revalidateDisplay(); + } + + public DisplayResolution getResolution() { + return resolution; + } + + public void save(CompoundTag tag) { + if (resolution != null) { + resolution.save(tag); + } + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/Laptop.java b/common/src/main/java/com/ultreon/devices/core/Laptop.java index 9c9c04e5c..d2d170356 100644 --- a/common/src/main/java/com/ultreon/devices/core/Laptop.java +++ b/common/src/main/java/com/ultreon/devices/core/Laptop.java @@ -15,10 +15,14 @@ import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.task.TaskManager; import com.ultreon.devices.api.utils.OnlineRequest; +import com.ultreon.devices.api.video.CustomResolution; +import com.ultreon.devices.api.video.VideoInfo; import com.ultreon.devices.block.entity.ComputerBlockEntity; import com.ultreon.devices.core.task.TaskInstallApp; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.system.DiagnosticsApp; +import com.ultreon.devices.programs.system.DisplayResolution; +import com.ultreon.devices.programs.system.PredefinedResolution; import com.ultreon.devices.programs.system.SystemApp; import com.ultreon.devices.programs.system.component.FileBrowser; import com.ultreon.devices.programs.system.task.TaskUpdateApplicationData; @@ -30,7 +34,6 @@ import it.unimi.dsi.fastutil.ints.IntArraySet; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.sounds.SimpleSoundInstance; @@ -75,6 +78,7 @@ public class Laptop extends Screen implements System { private static Laptop instance; private Double dragWindowFromX; private Double dragWindowFromY; + private VideoInfo videoInfo; @PlatformOnly("fabric") public static List getApplicationsForFabric() { @@ -88,10 +92,6 @@ public static List getWallpapers() { private static final List WALLPAPERS = new ArrayList<>(); private static final int BORDER = 10; - private static final int DEVICE_WIDTH = 384; - static final int SCREEN_WIDTH = DEVICE_WIDTH - BORDER * 2; - private static final int DEVICE_HEIGHT = 216; - static final int SCREEN_HEIGHT = DEVICE_HEIGHT - BORDER * 2; private static final List tasks = new CopyOnWriteArrayList<>(); private static System system; private static BlockPos pos; @@ -107,7 +107,7 @@ public static List getWallpapers() { private int lastMouseX, lastMouseY; private boolean dragging = false; private final IntArraySet pressed = new IntArraySet(); - private final com.ultreon.devices.api.app.component.Image wallpaper; + private final Image wallpaper; private final Layout wallpaperLayout; private BSOD bsod; @@ -141,6 +141,9 @@ public Laptop(ComputerBlockEntity laptop, boolean worldLess) { this.appData = laptop.getApplicationData(); this.systemData = laptop.getSystemData(); + CompoundTag videoInfoData = this.systemData.getCompound("videoInfo"); + this.videoInfo = new VideoInfo(videoInfoData); + // Windows this.windows = new CopyOnWriteArrayList<>() { @Override @@ -172,8 +175,8 @@ public boolean add(Window window) { if (this.currentWallpaper == null) this.currentWallpaper = new Wallpaper(0); Laptop.system = this; Laptop.pos = laptop.getBlockPos(); - this.wallpaperLayout = new Layout(SCREEN_WIDTH, SCREEN_HEIGHT); - this.wallpaper = new com.ultreon.devices.api.app.component.Image(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + this.wallpaperLayout = new Layout(getScreenWidth(), getScreenHeight()); + this.wallpaper = new Image(0, 0, getScreenWidth(), getScreenHeight()); if (currentWallpaper.isBuiltIn()) { wallpaper.setImage(WALLPAPERS.get(currentWallpaper.location)); } else { @@ -190,6 +193,18 @@ public static Laptop getInstance() { return instance; } + public static int getScreenWidth() { + return instance.videoInfo.getResolution().width(); + } + + public static int getScreenHeight() { + return instance.videoInfo.getResolution().height(); + } + + public static DisplayResolution getResolution() { + return instance.videoInfo.getResolution(); + } + public CompoundTag getModSystemTag(Mod mod) { return getModSystemTag(mod.getModId()); } @@ -257,9 +272,9 @@ public static void runLater(Runnable task) { */ @Override public void init() { - int posX = (width - DEVICE_WIDTH) / 2; - int posY = (height - DEVICE_HEIGHT) / 2; - bar.init(posX + BORDER, posY + DEVICE_HEIGHT - 28); + int posX = (width - getDeviceWidth()) / 2; + int posY = (height - getDeviceHeight()) / 2; + bar.init(posX + BORDER, posY + getDeviceHeight() - 28); installedApps.clear(); ListTag list = systemData.getList("InstalledApps", Tag.TAG_STRING); @@ -275,6 +290,14 @@ public void init() { } } + private static int getDeviceWidth() { + return getScreenWidth() + 2 * BORDER; + } + + private static int getDeviceHeight() { + return getScreenHeight() + 2 * BORDER; + } + @Override public void removed() { /* Close all windows and sendTask application data */ @@ -316,6 +339,21 @@ private void updateSystemData() { @Override public void resize(@NotNull Minecraft minecraft, int width, int height) { super.resize(minecraft, width, height); + + if (videoInfo.getResolution().width() > width || videoInfo.getResolution().height() > height) { + videoInfo.setResolution(new CustomResolution(width, height)); + } + + revalidateDisplay(); + } + + public void revalidateDisplay() { + wallpaper.componentWidth = videoInfo.getResolution().width(); + wallpaper.componentHeight = videoInfo.getResolution().height(); + wallpaperLayout.width = videoInfo.getResolution().width(); + wallpaperLayout.height = videoInfo.getResolution().height(); + wallpaperLayout.updateComponents(0, 0); + for (var window : windows) { if (window != null) { window.content.markForLayoutUpdate(); @@ -376,9 +414,9 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final public void renderBsod(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { renderBezels(graphics, mouseX, mouseY, partialTicks); - int posX = (width - DEVICE_WIDTH) / 2; - int posY = (height - DEVICE_HEIGHT) / 2; - graphics.fill(posX+10, posY+10, posX + DEVICE_WIDTH-10, posY + DEVICE_HEIGHT-10, new Color(0, 0, 255).getRGB()); + int posX = (width - getDeviceWidth()) / 2; + int posY = (height - getDeviceHeight()) / 2; + graphics.fill(posX+10, posY+10, posX + getDeviceWidth()-10, posY + getDeviceHeight()-10, new Color(0, 0, 255).getRGB()); var bo = new ByteArrayOutputStream(); double scale = Minecraft.getInstance().getWindow().getGuiScale(); @@ -386,7 +424,7 @@ public void renderBsod(final @NotNull GuiGraphics graphics, final int mouseX, fi var b = new PrintStream(bo); bsod.throwable.printStackTrace(b); var str = bo.toString(); - drawLines(graphics, Laptop.getFont(), str, posX+10, posY+10+getFont().lineHeight*2, (int) ((DEVICE_WIDTH - 10) * scale), new Color(255, 255, 255).getRGB()); + drawLines(graphics, Laptop.getFont(), str, posX+10, posY+10+getFont().lineHeight*2, (int) ((getDeviceWidth() - 10) * scale), new Color(255, 255, 255).getRGB()); graphics.pose().pushPose(); graphics.pose().scale(2, 2, 0); graphics.pose().translate((posX+10)/2f,(posY+10)/2f,0); @@ -398,7 +436,7 @@ public static void drawLines(GuiGraphics graphics, Font font, String text, int x var lines = new ArrayList(); font.getSplitter().splitLines(FormattedText.of(text.replaceAll("\r\n", "\n").replaceAll("\r", "\n")), width, Style.EMPTY).forEach(b -> lines.add(b.getString())); var totalTextHeight = font.lineHeight*lines.size(); - var textScale = (DEVICE_HEIGHT-20-(getFont().lineHeight*2))/(float)totalTextHeight; + var textScale = (instance.videoInfo.getResolution().height()-20-(getFont().lineHeight*2))/(float)totalTextHeight; textScale = (float) (1f / Minecraft.getInstance().getWindow().getGuiScale()); textScale = Math.max(0.5f, textScale); graphics.pose().pushPose(); @@ -424,23 +462,25 @@ public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, //*************************// // Physical Screen // //*************************// - int posX = (width - DEVICE_WIDTH) / 2; - int posY = (height - DEVICE_HEIGHT) / 2; + int deviceWidth = videoInfo.getResolution().width() + BORDER * 2; + int deviceHeight = videoInfo.getResolution().height() + BORDER * 2; + int posX = (width - deviceWidth) / 2; + int posY = (height - deviceHeight) / 2; // Corners graphics.blit(LAPTOP_GUI, posX, posY, 0, 0, BORDER, BORDER); // TOP-LEFT - graphics.blit(LAPTOP_GUI, posX + DEVICE_WIDTH - BORDER, posY, 11, 0, BORDER, BORDER); // TOP-RIGHT - graphics.blit(LAPTOP_GUI, posX + DEVICE_WIDTH - BORDER, posY + DEVICE_HEIGHT - BORDER, 11, 11, BORDER, BORDER); // BOTTOM-RIGHT - graphics.blit(LAPTOP_GUI, posX, posY + DEVICE_HEIGHT - BORDER, 0, 11, BORDER, BORDER); // BOTTOM-LEFT + graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY, 11, 0, BORDER, BORDER); // TOP-RIGHT + graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + deviceHeight - BORDER, 11, 11, BORDER, BORDER); // BOTTOM-RIGHT + graphics.blit(LAPTOP_GUI, posX, posY + deviceHeight - BORDER, 0, 11, BORDER, BORDER); // BOTTOM-LEFT // Edges - graphics.blit(LAPTOP_GUI, posX + BORDER, posY, SCREEN_WIDTH, BORDER, 10, 0, 1, BORDER, 256, 256); // TOP - graphics.blit(LAPTOP_GUI, posX + DEVICE_WIDTH - BORDER, posY + BORDER, BORDER, SCREEN_HEIGHT, 11, 10, BORDER, 1, 256, 256); // RIGHT - graphics.blit(LAPTOP_GUI, posX + BORDER, posY + DEVICE_HEIGHT - BORDER, SCREEN_WIDTH, BORDER, 10, 11, 1, BORDER, 256, 256); // BOTTOM - graphics.blit(LAPTOP_GUI, posX, posY + BORDER, BORDER, SCREEN_HEIGHT, 0, 11, BORDER, 1, 256, 256); // LEFT + graphics.blit(LAPTOP_GUI, posX + BORDER, posY, getScreenWidth(), BORDER, 10, 0, 1, BORDER, 256, 256); // TOP + graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + BORDER, BORDER, getScreenHeight(), 11, 10, BORDER, 1, 256, 256); // RIGHT + graphics.blit(LAPTOP_GUI, posX + BORDER, posY + deviceHeight - BORDER, getScreenWidth(), BORDER, 10, 11, 1, BORDER, 256, 256); // BOTTOM + graphics.blit(LAPTOP_GUI, posX, posY + BORDER, BORDER, getScreenHeight(), 0, 11, BORDER, 1, 256, 256); // LEFT // Center - graphics.blit(LAPTOP_GUI, posX + BORDER, posY + BORDER, SCREEN_WIDTH, SCREEN_HEIGHT, 10, 10, 1, 1, 256, 256); + graphics.blit(LAPTOP_GUI, posX + BORDER, posY + BORDER, getScreenWidth(), getScreenHeight(), 10, 10, 1, 1, 256, 256); } @@ -453,14 +493,17 @@ public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, * @param partialTicks the rendering partial ticks that forge give use (which is useless here). */ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { - int posX = (width - DEVICE_WIDTH) / 2; - int posY = (height - DEVICE_HEIGHT) / 2; + int posX = (width - getDeviceWidth()) / 2; + int posY = (height - getDeviceHeight()) / 2; // Fixes the strange partialTicks that Forge decided to give us final float frameTime = Minecraft.getInstance().getFrameTime(); for (Runnable task : tasks) { task.run(); } + renderBezels(graphics, mouseX, mouseY, partialTicks); + + GLHelper.pushScissor(posX, posY, videoInfo.getResolution().width() + BORDER, videoInfo.getResolution().height() + BORDER); //*******************// // Wallpaper // //*******************// @@ -507,21 +550,22 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, closeApplication(app); } } - graphics.pose().translate(0, 0, 100); + graphics.pose().translate(0, 0, 400); } } } - graphics.pose().popPose(); - - //****************************// - // Render the Application Bar // - //****************************// - bar.render(graphics, this, minecraft, posX + 10, posY + DEVICE_HEIGHT - 28, mouseX, mouseY, frameTime); + bar.render(graphics, this, minecraft, posX + 10, posY + getDeviceHeight() - 28, mouseX, mouseY, frameTime); + graphics.pose().translate(0, 0, 100); if (context != null) { context.render(graphics, this, minecraft, context.xPosition, context.yPosition, mouseX, mouseY, true, frameTime); } + graphics.pose().popPose(); + + //****************************// + // Render the Application Bar // + //****************************// Image.CACHE.entrySet().removeIf(entry -> { Image.CachedImage cachedImage = entry.getValue(); if (cachedImage.isDynamic() && cachedImage.isPendingDeletion()) { @@ -535,6 +579,7 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, }); super.render(graphics, mouseX, mouseY, frameTime); + GLHelper.popScissor(); GLHelper.clearScissorStack(); } @@ -558,6 +603,21 @@ private void bsod(Throwable e) { this.bsod = new BSOD(e); e.printStackTrace(); } + + public VideoInfo getVideoInfo() { + return videoInfo; + } + + public void setDisplayResolution(PredefinedResolution newValue) { + if (this.videoInfo != null) { + this.videoInfo.setResolution(newValue); + } + } + + public void revalidate() { + + } + private static final class BSOD { private final Throwable throwable; public BSOD(Throwable e) { @@ -569,8 +629,8 @@ public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButto this.lastMouseX = (int) mouseX; this.lastMouseY = (int) mouseY; - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; if (this.context != null) { int dropdownX = context.xPosition; @@ -583,7 +643,7 @@ public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButto } } - this.bar.handleClick(this, posX, posY + SCREEN_HEIGHT - TaskBar.BAR_HEIGHT, (int) mouseX, (int) mouseY, mouseButton); + this.bar.handleClick(this, posX, posY + getScreenHeight() - TaskBar.BAR_HEIGHT, (int) mouseX, (int) mouseY, mouseButton); for (int i = 0; i < windows.size(); i++) { Window window = (Window) windows.get(i); @@ -733,8 +793,8 @@ public boolean keyReleased(int keyCode, int scanCode, int modifiers) { @SuppressWarnings("unchecked") @Override public boolean mouseDragged(double mouseX, double mouseY, int button, double dragX, double dragY) { - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; try { if (this.context != null) { @@ -850,7 +910,7 @@ private Application openApplication(Application app, CompoundTag intent) { } Window window = new Window<>(app, this); - window.init((width - SCREEN_WIDTH) / 2, (height - SCREEN_HEIGHT) / 2, intent); + window.init((width - getScreenWidth()) / 2, (height - getScreenHeight()) / 2, intent); if (appData.contains(app.getInfo().getFormattedId())) { app.load(appData.getCompound(app.getInfo().getFormattedId())); @@ -966,28 +1026,28 @@ private boolean hasReachedWindowLimit() { } private boolean isMouseOnScreen(int mouseX, int mouseY) { - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; - return isMouseInside(mouseX, mouseY, posX, posY, posX + SCREEN_WIDTH, posY + SCREEN_HEIGHT); + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; + return isMouseInside(mouseX, mouseY, posX, posY, posX + getScreenWidth(), posY + getScreenHeight()); } private boolean isMouseWithinWindowBar(int mouseX, int mouseY, Window window) { if (window == null) return false; - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; return isMouseInside(mouseX, mouseY, posX + window.offsetX + 1, posY + window.offsetY + 1, posX + window.offsetX + window.width - 13, posY + window.offsetY + 11); } private boolean isMouseWithinWindow(int mouseX, int mouseY, Window window) { if (window == null) return false; - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; return isMouseInside(mouseX, mouseY, posX + window.offsetX, posY + window.offsetY, posX + window.offsetX + window.width, posY + window.offsetY + window.height); } public boolean isMouseWithinApp(int mouseX, int mouseY, Window window) { - int posX = (width - SCREEN_WIDTH) / 2; - int posY = (height - SCREEN_HEIGHT) / 2; + int posX = (width - getScreenWidth()) / 2; + int posY = (height - getScreenHeight()) / 2; return isMouseInside(mouseX, mouseY, posX + window.offsetX + 1, posY + window.offsetY + 13, posX + window.offsetX + window.width - 1, posY + window.offsetY + window.height - 1); } diff --git a/common/src/main/java/com/ultreon/devices/core/Resizer.java b/common/src/main/java/com/ultreon/devices/core/Resizer.java new file mode 100644 index 000000000..26cefea79 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/core/Resizer.java @@ -0,0 +1,91 @@ +package com.ultreon.devices.core; + +import org.joml.Vector2f; + +class Resizer { + private final float ratio; + private final float relativeRatio; + private final Orientation orientation; + private final float sourceWidth; + private final float sourceHeight; + + public Resizer(float srcWidth, float srcHeight) { + this.ratio = srcWidth / srcHeight; + + if (srcWidth > srcHeight) { + this.relativeRatio = srcWidth / srcHeight; + this.orientation = Orientation.LANDSCAPE; + } else if (srcWidth < srcHeight) { + this.relativeRatio = srcHeight / srcWidth; + this.orientation = Orientation.PORTRAIT; + } else { + this.relativeRatio = 1; + this.orientation = Orientation.SQUARE; + } + + this.sourceWidth = srcWidth; + this.sourceHeight = srcHeight; + } + + public Vector2f thumbnail(float maxWidth, float maxHeight) { + float aspectRatio; + float width; + float height; + + if (this.sourceWidth < this.sourceHeight) { + aspectRatio = (float) (this.sourceWidth / (double) this.sourceHeight); + + width = maxWidth; + height = (int) (width / aspectRatio); + + if (height < maxHeight) { + aspectRatio = (float) (this.sourceHeight / (double) this.sourceWidth); + + height = maxHeight; + width = (int) (height / aspectRatio); + } + } else { + aspectRatio = (float) (this.sourceHeight / (double) this.sourceWidth); + + height = maxHeight; + width = (int) (height / aspectRatio); + if (width < maxWidth) { + aspectRatio = (float) (this.sourceWidth / (double) this.sourceHeight); + + width = maxWidth; + height = (int) (width / aspectRatio); + } + } + + return new Vector2f(width, height); + } + + /** + * Aspect ratio orientation. + */ + public enum Orientation { + LANDSCAPE, + SQUARE, + PORTRAIT + } + + public float getRatio() { + return this.ratio; + } + + public float getRelativeRatio() { + return this.relativeRatio; + } + + public Orientation getOrientation() { + return this.orientation; + } + + public float getSourceWidth() { + return this.sourceWidth; + } + + public float getSourceHeight() { + return this.sourceHeight; + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/TaskBar.java b/common/src/main/java/com/ultreon/devices/core/TaskBar.java index 7f198595c..00a59c9a0 100644 --- a/common/src/main/java/com/ultreon/devices/core/TaskBar.java +++ b/common/src/main/java/com/ultreon/devices/core/TaskBar.java @@ -1,7 +1,6 @@ package com.ultreon.devices.core; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.Devices; import com.ultreon.devices.api.TrayItemAdder; import com.ultreon.devices.api.app.Application; @@ -16,7 +15,6 @@ import com.ultreon.devices.programs.system.SystemApp; import com.ultreon.devices.util.Vulnerability; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -119,8 +117,8 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int int trayItemsWidth = trayItems.size() * 14; graphics.blit(APP_BAR_GUI, x, y, 1, 18, 0, 0, 1, 18, 256, 256); - graphics.blit(APP_BAR_GUI, x + 1, y, Laptop.SCREEN_WIDTH - 36 - trayItemsWidth, 18, 1, 0, 1, 18, 256, 256); - graphics.blit(APP_BAR_GUI, x + Laptop.SCREEN_WIDTH - 35 - trayItemsWidth, y, 35 + trayItemsWidth, 18, 2, 0, 1, 18, 256, 256); + graphics.blit(APP_BAR_GUI, x + 1, y, Laptop.getScreenWidth() - 36 - trayItemsWidth, 18, 1, 0, 1, 18, 256, 256); + graphics.blit(APP_BAR_GUI, x + Laptop.getScreenWidth() - 35 - trayItemsWidth, y, 35 + trayItemsWidth, 18, 2, 0, 1, 18, 256, 256); RenderSystem.disableBlend(); @@ -136,10 +134,10 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int assert mc.level == null || mc.player != null; // assert mc.level != null; //can no longer assume - graphics.drawString(mc.font, timeToString(mc.level != null ? mc.level.getDayTime() : 0), x + 334, y + 5, Color.WHITE.getRGB(), true); + graphics.drawString(mc.font, timeToString(mc.level != null ? mc.level.getDayTime() : 0), x + Laptop.getScreenWidth() - 31, y + 5, Color.WHITE.getRGB(), true); /* Settings App */ - int startX = x + 317; + int startX = x + Laptop.getScreenWidth() - 48; for (int i = 0; i < trayItems.size(); i++) { int posX = startX - (trayItems.size() - 1 - i) * 14; if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { @@ -172,7 +170,7 @@ public void handleClick(Laptop laptop, int x, int y, int mouseX, int mouseY, int } } - int startX = x + 317; + int startX = x + Laptop.getScreenWidth() - 48; for (int i = 0; i < trayItems.size(); i++) { int posX = startX - (trayItems.size() - 1 - i) * 14; if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { diff --git a/common/src/main/java/com/ultreon/devices/core/Window.java b/common/src/main/java/com/ultreon/devices/core/Window.java index e9d0d03aa..6356820a2 100644 --- a/common/src/main/java/com/ultreon/devices/core/Window.java +++ b/common/src/main/java/com/ultreon/devices/core/Window.java @@ -35,8 +35,8 @@ public Window(T wrappable, Laptop laptop) { void setWidth(int width) { this.width = width + 2; - if (this.width > Laptop.SCREEN_WIDTH) { - this.width = Laptop.SCREEN_WIDTH; + if (this.width > Laptop.getScreenWidth()) { + this.width = Laptop.getScreenWidth(); } } @@ -78,8 +78,8 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, if (content.isPendingLayoutUpdate()) { this.setWidth(content.getWidth()); this.setHeight(content.getHeight()); - this.offsetX = (Laptop.SCREEN_WIDTH - width) / 2; - this.offsetY = (Laptop.SCREEN_HEIGHT - TaskBar.BAR_HEIGHT - height) / 2; + this.offsetX = (Laptop.getScreenWidth() - width) / 2; + this.offsetY = (Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height) / 2; updateComponents(x, y); content.clearPendingLayout(); } @@ -122,6 +122,7 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, content.render(graphics, gui, mc, x + offsetX + 1, y + offsetY + 13, mouseX, mouseY, active && dialogWindow == null, partialTicks); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + graphics.pose().translate(0, 0, 200); if (dialogWindow != null) { graphics.fill(x + offsetX, y + offsetY, x + offsetX + width, y + offsetY + height, COLOR_WINDOW_DARK); @@ -174,20 +175,20 @@ public void handleKeyReleased(int keyCode, int scanCode, int modifiers) { } public void handleWindowMove(int screenStartX, int screenStartY, int newX, int newY) { - if (newX >= 0 && newX <= Laptop.SCREEN_WIDTH - width) { + if (newX >= 0 && newX <= Laptop.getScreenWidth() - width) { this.offsetX = newX; } else if (newX < 0) { this.offsetX = 0; } else { - this.offsetX = Laptop.SCREEN_WIDTH - width; + this.offsetX = Laptop.getScreenWidth() - width; } - if (newY >= 0 && newY <= Laptop.SCREEN_HEIGHT - TaskBar.BAR_HEIGHT - height) { + if (newY >= 0 && newY <= Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height) { this.offsetY = newY; } else if (newY < 0) { this.offsetY = 0; } else { - this.offsetY = Laptop.SCREEN_HEIGHT - TaskBar.BAR_HEIGHT - height; + this.offsetY = Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height; } updateComponents(screenStartX, screenStartY); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/DisplayResolution.java b/common/src/main/java/com/ultreon/devices/programs/system/DisplayResolution.java new file mode 100644 index 000000000..9561d4904 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/DisplayResolution.java @@ -0,0 +1,27 @@ +package com.ultreon.devices.programs.system; + +import com.ultreon.devices.api.video.CustomResolution; +import net.minecraft.nbt.CompoundTag; + +public interface DisplayResolution { + static DisplayResolution load(CompoundTag resolution) { + var width = resolution.getInt("width"); + var height = resolution.getInt("height"); + + for (PredefinedResolution predefinedResolution : PredefinedResolution.values()) { + if (predefinedResolution.width() == width && predefinedResolution.height() == height) { + return predefinedResolution; + } + } + return new CustomResolution(width, height); + } + + int width(); + + int height(); + + default void save(CompoundTag tag) { + tag.putInt("width", width()); + tag.putInt("height", height()); + } +} diff --git a/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java b/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java new file mode 100644 index 000000000..b29c8f699 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java @@ -0,0 +1,56 @@ +package com.ultreon.devices.programs.system; + +import com.ultreon.devices.core.Laptop; +import net.minecraft.network.chat.Component; + +import java.util.Collection; +import java.util.Collections; + +public enum PredefinedResolution implements DisplayResolution { + PREDEFINED_31360x17280(31360, 17280), + PREDEFINED_15680x8640(15680, 8640), + PREDEFINED_7840x4320(7840, 4320), + PREDEFINED_3840x2160(3840, 2160), + PREDEFINED_2560x1440(2560, 1440), + PREDEFINED_1920x1080(1920, 1080), + PREDEFINED_960x540(960, 540), + PREDEFINED_800x450(800, 450), + PREDEFINED_768x432(768, 432), + PREDEFINED_696x360(696, 360), + PREDEFINED_640x360(640, 360), + PREDEFINED_512x288(512, 288), + PREDEFINED_448x256(448, 256), + PREDEFINED_384x216(384, 216); + + private final int width; + private final int height; + + PredefinedResolution(int width, int height) { + this.width = width; + this.height = height; + } + + @Override + public int width() { + return width; + } + + @Override + public int height() { + return height; + } + + public static PredefinedResolution[] getResolutionList() { + Collection resolutionList = Laptop.getInstance().getVideoInfo().getResolutionList(); + + if (resolutionList == null) { + return new PredefinedResolution[0]; + } + + return resolutionList.toArray(new PredefinedResolution[0]); + } + + public String getDisplayName() { + return width + " × " + height; + } +} diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index 5e4c6510f..e8ade1005 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -49,6 +49,7 @@ public class SettingsApp extends SystemApp { private Button buttonColorSchemeApply; private final Stack predecessor = new Stack<>(); + private ComboBox.List comboDisplayResolutions; private void resetColorSchemeClick(int mouseX, int mouseY, int mouseButton) { if (mouseButton == 0) { @@ -169,6 +170,21 @@ private Layout createGeneralLayout() { checkBoxShowApps.setClickListener(this::showAllAppsClick); layoutGeneral.addComponent(checkBoxShowApps); + comboDisplayResolutions = new ComboBox.List<>(5, 26 + 20 + 4, PredefinedResolution.getResolutionList()); + comboDisplayResolutions.setListItemRenderer(new ListItemRenderer<>(20) { + @Override + public void render(GuiGraphics graphics, PredefinedResolution resolution, Minecraft mc, int x, int y, int width, int height, boolean selected) { + graphics.drawString(Minecraft.getInstance().font, resolution.getDisplayName(), x + 5, y + 5, 0xFFFFFF); + } + }); + comboDisplayResolutions.setChangeListener((oldValue, newValue) -> { + if (newValue != null) { + getLaptop().setDisplayResolution(newValue); + } + }); + + layoutGeneral.addComponent(comboDisplayResolutions); + return layoutGeneral; } From 87e785af2a19dad38c886116f78e9d30521e1a15 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sun, 4 Feb 2024 00:27:37 -0800 Subject: [PATCH 05/18] Disable APoint until LuxiumScript is released. (#96) Did I just leak a new planned feature? --- common/build.gradle | 1 - .../gitweb/component/GitWebFrame.java | 3 - .../programs/gitweb/module/ScriptModule.java | 59 +++++++++---------- fabric/build.gradle | 4 +- forge/build.gradle | 3 - 5 files changed, 29 insertions(+), 41 deletions(-) diff --git a/common/build.gradle b/common/build.gradle index cda5cac3d..d7641c8f2 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -21,7 +21,6 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.10" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10" // modApi "com.ultreon:ultranlang:0.1.0+6" - modApi "com.jab125:apoint:1.0.0" modCompileOnly "fuzs.forgeconfigapiport:forgeconfigapiport-common:8.0.0" modCompileOnly 'com.electronwill.night-config:core:3.6.3' diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java index 3366ea6c3..e69e541f1 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java @@ -1,6 +1,5 @@ package com.ultreon.devices.programs.gitweb.component; -import com.jab125.apoint.api.APointRuntime; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; @@ -68,7 +67,6 @@ public class GitWebFrame extends Component { private Callback loadingCallback; private Callback loadedCallback; - public APointRuntime aPointRuntime; public GitWebFrame(Application app, int left, int top, int width, int height) { super(left, top); @@ -253,7 +251,6 @@ public void loadUrl(String url) { } private void setWebsite(String website) { - this.aPointRuntime = null; layout.clear(); Matcher matcher = GitWebFrame.PATTERN_LINK.matcher(website); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/ScriptModule.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/ScriptModule.java index e9381dde2..03ecc9249 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/ScriptModule.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/ScriptModule.java @@ -1,16 +1,13 @@ package com.ultreon.devices.programs.gitweb.module; -import com.jab125.apoint.api.APoint; -import com.jab125.apoint.api.APointRuntime; -import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; import com.ultreon.devices.programs.gitweb.layout.ModuleLayout; -import java.util.HashMap; import java.util.Map; +@Deprecated public class ScriptModule extends Module { @Override public String[] getRequiredData() { @@ -33,7 +30,7 @@ public void generate(GitWebFrame frame, Layout layout, int width, Map { - runtime.setPointer(runtime.getOut(), Math.random()); - }); - runtime.addCommand("MODIFY", (params) -> { - String id = (String) runtime.getVals().get(0); - String key = (String) runtime.getVals().get(1); - String value = (String) runtime.getVals().get(2); - for (Component component : frame.layout.components) { - if (component instanceof ModuleLayout moduleLayout) { - if (id.equals(moduleLayout.entry.getId())) { - var newData = new HashMap<>(moduleLayout.entry.getData()); - newData.put(key, value); - moduleLayout.entry.setData(newData); - moduleLayout.modify(); - } - } - } - }); - frame.aPointRuntime = runtime; - //runtime.removeCommand(""); - } +// if (frame.aPointRuntime == null) { +// APointRuntime runtime = APoint.createRuntime(); +// runtime.removeCommand("METHOD:STATIC"); +// runtime.removeCommand("METHOD"); +// runtime.removeCommand("FIELD:STATIC"); +// runtime.addCommand("RANDOM", (params) -> { +// runtime.setPointer(runtime.getOut(), Math.random()); +// }); +// runtime.addCommand("MODIFY", (params) -> { +// String id = (String) runtime.getVals().get(0); +// String key = (String) runtime.getVals().get(1); +// String value = (String) runtime.getVals().get(2); +// for (Component component : frame.layout.components) { +// if (component instanceof ModuleLayout moduleLayout) { +// if (id.equals(moduleLayout.entry.getId())) { +// var newData = new HashMap<>(moduleLayout.entry.getData()); +// newData.put(key, value); +// moduleLayout.entry.setData(newData); +// moduleLayout.modify(); +// } +// } +// } +// }); +// frame.aPointRuntime = runtime; +// //runtime.removeCommand(""); +// } } public static void setTimeout(Runnable runnable, int delay){ diff --git a/fabric/build.gradle b/fabric/build.gradle index 115c62483..72f949a64 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -51,12 +51,10 @@ dependencies { // include(implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.10")) // include(implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10")) // include(implementation("com.ultreon:ultranlang:0.1.0+6")) - include(implementation("com.jab125:apoint:1.0.0")) //shadowCommon "org.jetbrains.kotlin:kotlin-reflect:1.7.10" //shadowCommon "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10" - // shadowCommon "com.ultreon:ultranlang:0.1.0+6" - // shadowCommon "com.jab125:apoint:1.0.0" +// shadowCommon "com.ultreon:ultranlang:0.1.0+6" modApi include("net.fabricmc:fabric-language-kotlin:1.8.2+kotlin.1.7.10") diff --git a/forge/build.gradle b/forge/build.gradle index e8bf8e863..170840229 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -37,10 +37,7 @@ dependencies { shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } // forgeRuntimeLibrary "com.ultreon:ultranlang:0.1.0+6" - forgeRuntimeLibrary "com.jab125:apoint:1.0.0" - // implementation include("com.ultreon:ultranlang:0.1.0+6") - implementation include("com.jab125:apoint:1.0.0") } processResources { From 82519536f55e8b8e72b26c5cf854ecbf26ce388d Mon Sep 17 00:00:00 2001 From: XyperCode Date: Fri, 16 Feb 2024 16:51:02 -0800 Subject: [PATCH 06/18] Adds early config for enabling beta/debug apps. (#95) --- .../java/com/ultreon/devices/BuiltinApps.java | 2 +- .../java/com/ultreon/devices/Devices.java | 41 ++++++++--------- .../ultreon/devices/DevicesEarlyConfig.java | 46 +++++++++++++++++++ 3 files changed, 67 insertions(+), 22 deletions(-) create mode 100644 common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java diff --git a/common/src/main/java/com/ultreon/devices/BuiltinApps.java b/common/src/main/java/com/ultreon/devices/BuiltinApps.java index 191603f08..3dd1527f3 100644 --- a/common/src/main/java/com/ultreon/devices/BuiltinApps.java +++ b/common/src/main/java/com/ultreon/devices/BuiltinApps.java @@ -24,7 +24,7 @@ public static void registerBuiltinApps() { ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "ender_mail"), () -> EmailApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "app_store"), () -> AppStore::new, true); - if (Platform.isDevelopmentEnvironment()) { + if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableBetaApps) { ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "bank"), () -> BankApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "boat_racers"), () -> BoatRacersApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "mine_bay"), () -> MineBayApp::new, false); diff --git a/common/src/main/java/com/ultreon/devices/Devices.java b/common/src/main/java/com/ultreon/devices/Devices.java index 9782925c5..74ccb0a10 100644 --- a/common/src/main/java/com/ultreon/devices/Devices.java +++ b/common/src/main/java/com/ultreon/devices/Devices.java @@ -2,10 +2,7 @@ import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableList; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; +import com.google.gson.*; import com.mojang.serialization.Lifecycle; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Application; @@ -49,7 +46,6 @@ import dev.architectury.event.events.common.PlayerEvent; import dev.architectury.injectables.targets.ArchitecturyTarget; import dev.architectury.platform.Platform; -import dev.architectury.registry.CreativeTabRegistry; import dev.architectury.registry.registries.DeferredSupplier; import dev.architectury.registry.registries.RegistrarManager; import dev.architectury.utils.Env; @@ -80,18 +76,19 @@ import java.util.regex.Pattern; public abstract class Devices { - public static final boolean DEVELOPER_MODE = false; + public static final boolean DEVELOPER_MODE = Platform.isDevelopmentEnvironment(); public static final String MOD_ID = "devices"; public static final Logger LOGGER = LoggerFactory.getLogger("Devices Mod"); public static final DeferredSupplier TAB_DEVICE = DeviceTab.create(); public static final Supplier REGISTRIES = Suppliers.memoize(() -> RegistrarManager.get(MOD_ID)); public static final List SITE_REGISTRATIONS = new ProtectedArrayList<>(); + public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); + public static final DevicesEarlyConfig EARLY_CONFIG = DevicesEarlyConfig.load(); private static final Pattern DEV_PREVIEW_PATTERN = Pattern.compile("\\d+\\.\\d+\\.\\d+-dev\\d+"); private static final boolean IS_DEV_PREVIEW = DEV_PREVIEW_PATTERN.matcher(Reference.VERSION).matches(); private static final String GITWEB_REGISTER_URL = "https://ultreon.gitlab.io/gitweb/site_register.json"; public static final String VULNERABILITIES_URL = "https://jab125.com/gitweb/vulnerabilities.php"; - private static final boolean PROTECT_FROM_LAUNCH = false; // private static final Logger ULTRAN_LANG_LOGGER = LoggerFactory.getLogger("UltranLang"); @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final SiteRegisterStack SITE_REGISTER_STACK = new SiteRegisterStack(); @@ -156,7 +153,7 @@ public void init() { } public static void preInit() { - if (DEVELOPER_MODE && !Platform.isDevelopmentEnvironment() && PROTECT_FROM_LAUNCH) { + if (DEVELOPER_MODE && !Platform.isDevelopmentEnvironment()) { throw new LaunchException(); } @@ -197,14 +194,6 @@ private void registerApplications() { TaskManager.registerTask(TaskPing::new); TaskManager.registerTask(TaskGetDevices::new); - // Bank -// TaskManager.registerTask(TaskDeposit::new); -// TaskManager.registerTask(TaskWithdraw::new); -// TaskManager.registerTask(TaskGetBalance::new); -// TaskManager.registerTask(TaskPay::new); -// TaskManager.registerTask(TaskAdd::new); -// TaskManager.registerTask(TaskRemove::new); - // File browser TaskManager.registerTask(TaskSendAction::new); TaskManager.registerTask(TaskSetupFileBrowser::new); @@ -223,12 +212,22 @@ private void registerApplications() { TaskManager.registerTask(TaskDeleteEmail::new); TaskManager.registerTask(TaskViewEmail::new); - // Auction - TaskManager.registerTask(TaskAddAuction::new); - TaskManager.registerTask(TaskGetAuctions::new); - TaskManager.registerTask(TaskBuyItem::new); + if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableBetaApps) { + // Auction + TaskManager.registerTask(TaskAddAuction::new); + TaskManager.registerTask(TaskGetAuctions::new); + TaskManager.registerTask(TaskBuyItem::new); + + // Bank + TaskManager.registerTask(TaskDeposit::new); + TaskManager.registerTask(TaskWithdraw::new); + TaskManager.registerTask(TaskGetBalance::new); + TaskManager.registerTask(TaskPay::new); + TaskManager.registerTask(TaskAdd::new); + TaskManager.registerTask(TaskRemove::new); + } - if (DEVELOPER_MODE) { + if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableDebugApps) { // Applications (Developers) ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "example"), () -> ExampleApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "icons"), () -> IconsApp::new, false); diff --git a/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java b/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java new file mode 100644 index 000000000..f22c0860b --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java @@ -0,0 +1,46 @@ +package com.ultreon.devices; + +import dev.architectury.platform.Platform; + +import java.io.*; + +/** + * Devices mod early configuration. + * This is used to configure devices mod early, when the forge config isn't loaded yet. + * + * @author XyperCode + */ +public class DevicesEarlyConfig { + private static final File FILE = Platform.getConfigFolder().resolve("devices-early-config.json").toFile(); + public boolean enableBetaApps = false; + public boolean enableDebugApps = false; + + /** + * Loads the devices early config. + * + * @return the loaded config instance or a new one if it doesn't exist. + */ + public static DevicesEarlyConfig load() { + try (FileReader reader = new FileReader(FILE)) { + return Devices.GSON.fromJson(reader, DevicesEarlyConfig.class); + } catch (FileNotFoundException e) { + DevicesEarlyConfig devicesEarlyConfig = new DevicesEarlyConfig(); + devicesEarlyConfig.save(); + return devicesEarlyConfig; + } catch (IOException e) { + Devices.LOGGER.error("Failed to load devices early config", e); + return new DevicesEarlyConfig(); + } + } + + /** + * Saves the devices early config. This also creates the file if it doesn't exist. + */ + public void save() { + try (FileWriter writer = new FileWriter(FILE)) { + Devices.GSON.toJson(this, writer); + } catch (IOException e) { + Devices.LOGGER.error("Failed to save devices early config", e); + } + } +} From b421b2aa69782a26427801c4715702686e530d35 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 17 Feb 2024 05:13:12 +0100 Subject: [PATCH 07/18] Changes --- .../com/ultreon/devices/ClientModEvents.java | 5 ++- .../com/ultreon/devices/core/Settings.java | 14 +++++++- .../devices/programs/system/SettingsApp.java | 21 ++++++------ .../programs/system/object/ColorScheme.java | 17 ---------- .../object/ColorSchemePresetRegistry.java | 33 +++++++++++++++++++ ...orSchemes.java => ColorSchemePresets.java} | 17 ++++++---- .../system/object/ColorSchemeRegistry.java | 33 ------------------- .../programs/system/object/Preset.java | 19 +++++++++++ fabric/build.gradle | 2 +- 9 files changed, 88 insertions(+), 73 deletions(-) create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresetRegistry.java rename common/src/main/java/com/ultreon/devices/programs/system/object/{ColorSchemes.java => ColorSchemePresets.java} (61%) delete mode 100644 common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java create mode 100644 common/src/main/java/com/ultreon/devices/programs/system/object/Preset.java diff --git a/common/src/main/java/com/ultreon/devices/ClientModEvents.java b/common/src/main/java/com/ultreon/devices/ClientModEvents.java index 429430fdb..47318826d 100644 --- a/common/src/main/java/com/ultreon/devices/ClientModEvents.java +++ b/common/src/main/java/com/ultreon/devices/ClientModEvents.java @@ -11,8 +11,7 @@ import com.ultreon.devices.init.DeviceBlockEntities; import com.ultreon.devices.init.DeviceBlocks; import com.ultreon.devices.object.AppInfo; -import com.ultreon.devices.programs.system.object.ColorSchemes; -import dev.architectury.injectables.annotations.ExpectPlatform; +import com.ultreon.devices.programs.system.object.ColorSchemePresets; import dev.architectury.platform.Platform; import dev.architectury.registry.ReloadListenerRegistry; import dev.architectury.registry.client.rendering.BlockEntityRendererRegistry; @@ -82,7 +81,7 @@ public static void clientSetup() { } private static void registerOSContent() { - ColorSchemes.init(); + ColorSchemePresets.init(); } @ApiStatus.Internal diff --git a/common/src/main/java/com/ultreon/devices/core/Settings.java b/common/src/main/java/com/ultreon/devices/core/Settings.java index 658b2c6d6..a55d91a9a 100644 --- a/common/src/main/java/com/ultreon/devices/core/Settings.java +++ b/common/src/main/java/com/ultreon/devices/core/Settings.java @@ -2,6 +2,7 @@ import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.system.object.ColorScheme; +import com.ultreon.devices.programs.system.object.Preset; import net.minecraft.nbt.CompoundTag; /** @@ -11,6 +12,7 @@ public class Settings { private static boolean showAllApps = true; private ColorScheme colorScheme = new ColorScheme(); + private Preset preset = null; public static void setShowAllApps(boolean showAllApps) { Settings.showAllApps = showAllApps; @@ -21,13 +23,23 @@ public static boolean isShowAllApps() { } public ColorScheme getColorScheme() { - return colorScheme; + return preset == null ? colorScheme : preset.colorScheme(); + } + + public Preset getPreset() { + return preset; + } + + public void setPreset(Preset preset) { + this.preset = preset; } public CompoundTag toTag() { CompoundTag tag = new CompoundTag(); tag.putBoolean("showAllApps", showAllApps); tag.put("colorScheme", colorScheme.toTag()); + if (preset != null) + tag.put("preset", preset.toTag()); tag.put("tints", appTintInfo()); return tag; } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index 5e4c6510f..0bfb2f0c7 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -18,7 +18,8 @@ import com.ultreon.devices.object.TrayItem; import com.ultreon.devices.programs.system.component.Palette; import com.ultreon.devices.programs.system.object.ColorScheme; -import com.ultreon.devices.programs.system.object.ColorSchemeRegistry; +import com.ultreon.devices.programs.system.object.ColorSchemePresetRegistry; +import com.ultreon.devices.programs.system.object.Preset; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; @@ -103,9 +104,9 @@ private Menu addMainLayout() { layoutMain.addComponent(buttonColorScheme); - Button buttonColorSchemes = new Button(5, 26+26+20+4, "Color Schemes", Icons.WRENCH); + Button buttonColorSchemes = new Button(5, 26+26+20+4, "Color Scheme Presets", Icons.WRENCH); buttonColorSchemes.setSize(90, 20); - buttonColorSchemes.setToolTip("Color Schemes", "Change the color scheme."); + buttonColorSchemes.setToolTip("Color Schemes", "Change the color scheme using presets or choose a custom one."); buttonColorSchemes.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { showMenu(layoutColorSchemes); @@ -216,22 +217,20 @@ private Layout createPersonaliseLayout() { } private Layout createColorSchemesLayout() { - final Layout layoutColorSchemes = new Menu("Color schemes"); + final Layout layoutColorSchemes = new Menu("Color Scheme Presets"); layoutColorSchemes.addComponent(backBtn); - ItemList list = new ItemList<>(0, 21, layoutColorSchemes.width, layoutColorSchemes.height - 21); - for (ColorScheme colorScheme : ColorSchemeRegistry.getValues()) { + ItemList list = new ItemList<>(0, 21, layoutColorSchemes.width, layoutColorSchemes.height - 21); + for (Preset colorScheme : ColorSchemePresetRegistry.getValues()) { list.addItem(colorScheme); } - list.setItemClickListener((colorScheme, index, button) -> { - Laptop.getSystem().getSettings().getColorScheme().set(colorScheme); - }); + list.setItemClickListener((preset, index, button) -> Laptop.getSystem().getSettings().setPreset(preset)); list.setListItemRenderer(new ListItemRenderer<>(20) { @Override - public void render(GuiGraphics graphics, ColorScheme scheme, Minecraft mc, int x, int y, int width, int height, boolean selected) { - graphics.drawString(mc.font, ColorSchemeRegistry.getKey(scheme).toString(), x + 5, y + 5, Color.WHITE.getRGB()); + public void render(GuiGraphics graphics, Preset scheme, Minecraft mc, int x, int y, int width, int height, boolean selected) { + graphics.drawString(mc.font, ColorSchemePresetRegistry.getKey(scheme).toString(), x + 5, y + 5, Color.WHITE.getRGB()); } }); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java index c5d8d0dd9..8b371a059 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorScheme.java @@ -180,7 +180,6 @@ public void resetDefault() { textColor = Color.decode("0xFFFFFF").getRGB(); textSecondaryColor = Color.decode("0xABEFF4").getRGB(); headerColor = Color.decode("0x387A96").getRGB(); - //backgroundColor = Color.decode("0x535861").getRGB(); backgroundColor = Color.decode("0x6899C2").getRGB(); backgroundSecondaryColor = Color.decode("0x36C052").getRGB(); backgroundColor = Color.decode("0x6899C2").getRGB(); @@ -211,20 +210,4 @@ public CompoundTag toTag() { tag.putInt("iconSecondaryColor", iconSecondaryColor); return tag; } - - public void set(ColorScheme colorScheme) { - buttonColor = colorScheme.buttonColor; - textColor = colorScheme.textColor; - textSecondaryColor = colorScheme.textSecondaryColor; - headerColor = colorScheme.headerColor; - backgroundColor = colorScheme.backgroundColor; - backgroundSecondaryColor = colorScheme.backgroundSecondaryColor; - itemBackgroundColor = colorScheme.itemBackgroundColor; - itemHighlightColor = colorScheme.itemHighlightColor; - buttonOutlineColor = colorScheme.buttonOutlineColor; - windowBackgroundColor = colorScheme.windowBackgroundColor; - windowOutlineColor = colorScheme.windowOutlineColor; - iconColor = colorScheme.iconColor; - iconSecondaryColor = colorScheme.iconSecondaryColor; - } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresetRegistry.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresetRegistry.java new file mode 100644 index 000000000..9e59901c4 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresetRegistry.java @@ -0,0 +1,33 @@ +package com.ultreon.devices.programs.system.object; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import net.minecraft.resources.ResourceLocation; + +public class ColorSchemePresetRegistry { + private static final BiMap PRESETS = HashBiMap.create(); + + private ColorSchemePresetRegistry() { + + } + + public static Preset getPreset(ResourceLocation id) { + return PRESETS.get(id); + } + + public static void register(ResourceLocation id, Preset colorScheme) { + PRESETS.put(id, colorScheme); + } + + public static ResourceLocation getKey(Preset colorScheme) { + return PRESETS.inverse().get(colorScheme); + } + + public static Iterable getKeys() { + return PRESETS.keySet(); + } + + public static Iterable getValues() { + return PRESETS.values(); + } +} diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java similarity index 61% rename from common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java rename to common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java index 0a4b7999b..d02752ea7 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemes.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java @@ -1,15 +1,16 @@ package com.ultreon.devices.programs.system.object; import com.ultreon.devices.Devices; +import net.minecraft.resources.ResourceLocation; import java.util.function.Consumer; -public class ColorSchemes { - public static final ColorScheme DEFAULT = createColorSceheme("default", new ColorScheme(), colorScheme -> { +public class ColorSchemePresets { + public static final Preset DEFAULT = createPreset("default", new ColorScheme(), colorScheme -> { }); - public static final ColorScheme DARK = createColorSceheme("dark", new ColorScheme(), scheme -> { + public static final Preset DARK = createPreset("dark", new ColorScheme(), scheme -> { scheme.buttonColor = 0x303030; scheme.backgroundColor = 0x202020; scheme.textColor = 0xffffff; @@ -21,7 +22,7 @@ public class ColorSchemes { scheme.windowBackgroundColor = 0x202020; }); - public static final ColorScheme LIGHT = createColorSceheme("light", new ColorScheme(), scheme -> { + public static final Preset LIGHT = createPreset("light", new ColorScheme(), scheme -> { scheme.buttonColor = 0x0080ff; scheme.backgroundColor = 0xd0d0d0; scheme.textColor = 0x000000; @@ -33,11 +34,13 @@ public class ColorSchemes { scheme.windowBackgroundColor = 0xe0e0e0; }); - private static ColorScheme createColorSceheme(String name, ColorScheme colorScheme, Consumer consumer) { + private static Preset createPreset(String name, ColorScheme colorScheme, Consumer consumer) { consumer.accept(colorScheme); - ColorSchemeRegistry.register(Devices.id(name), colorScheme); + ResourceLocation id = Devices.id(name); + Preset preset = new Preset(colorScheme, id); + ColorSchemePresetRegistry.register(id, preset); - return colorScheme; + return preset; } public static void init() { diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java deleted file mode 100644 index 497c0cad7..000000000 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemeRegistry.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.ultreon.devices.programs.system.object; - -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import net.minecraft.resources.ResourceLocation; - -public class ColorSchemeRegistry { - private static final BiMap COLOR_SCHEMES = HashBiMap.create(); - - private ColorSchemeRegistry() { - - } - - public static ColorScheme getColorScheme(ResourceLocation id) { - return COLOR_SCHEMES.get(id); - } - - public static void register(ResourceLocation id, ColorScheme colorScheme) { - COLOR_SCHEMES.put(id, colorScheme); - } - - public static ResourceLocation getKey(ColorScheme colorScheme) { - return COLOR_SCHEMES.inverse().get(colorScheme); - } - - public static Iterable getKeys() { - return COLOR_SCHEMES.keySet(); - } - - public static Iterable getValues() { - return COLOR_SCHEMES.values(); - } -} diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/Preset.java b/common/src/main/java/com/ultreon/devices/programs/system/object/Preset.java new file mode 100644 index 000000000..025732ca9 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/Preset.java @@ -0,0 +1,19 @@ +package com.ultreon.devices.programs.system.object; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; +import net.minecraft.resources.ResourceLocation; + +public record Preset(ColorScheme colorScheme, ResourceLocation id) { + + public Tag toTag() { + CompoundTag tag = new CompoundTag(); + tag.putString("id", id.toString()); + return tag; + } + + public static Preset fromTag(CompoundTag tag) { + ResourceLocation id = new ResourceLocation(tag.getString("id")); + return ColorSchemePresetRegistry.getPreset(id); + } +} diff --git a/fabric/build.gradle b/fabric/build.gradle index 72f949a64..42a0d8fed 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -65,7 +65,7 @@ dependencies { exclude module: "fabric-api" } - modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:12.0.645", { + modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:12.0.684", { exclude module: "fabric-api" } From 6a166bbde025f4428ffd2921137dbab3aa649d44 Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 17 Feb 2024 15:45:28 +0100 Subject: [PATCH 08/18] Custom color scheme preset. --- .../java/com/ultreon/devices/core/Settings.java | 11 ++++++++++- .../devices/programs/system/SettingsApp.java | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/ultreon/devices/core/Settings.java b/common/src/main/java/com/ultreon/devices/core/Settings.java index a55d91a9a..7dbdae741 100644 --- a/common/src/main/java/com/ultreon/devices/core/Settings.java +++ b/common/src/main/java/com/ultreon/devices/core/Settings.java @@ -4,6 +4,9 @@ import com.ultreon.devices.programs.system.object.ColorScheme; import com.ultreon.devices.programs.system.object.Preset; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; +import net.minecraft.resources.ResourceLocation; +import org.intellij.lang.annotations.Identifier; /** * @author MrCrayfish @@ -23,7 +26,11 @@ public static boolean isShowAllApps() { } public ColorScheme getColorScheme() { - return preset == null ? colorScheme : preset.colorScheme(); + if (colorScheme == null) colorScheme = new ColorScheme(); + if (preset == null) return colorScheme; + + ColorScheme presetColorScheme = this.preset.colorScheme(); + return presetColorScheme == null ? colorScheme : presetColorScheme; } public Preset getPreset() { @@ -57,6 +64,8 @@ public static Settings fromTag(CompoundTag tag) { Settings settings = new Settings(); settings.colorScheme = ColorScheme.fromTag(tag.getCompound("colorScheme")); + settings.preset = tag.contains("preset", Tag.TAG_COMPOUND) ? Preset.fromTag(tag.getCompound("preset")) : null; + return settings; } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index 0bfb2f0c7..768de9844 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -1,5 +1,6 @@ package com.ultreon.devices.programs.system; +import com.google.common.base.CaseFormat; import com.ultreon.devices.Devices; import com.ultreon.devices.Reference; import com.ultreon.devices.api.ApplicationManager; @@ -24,6 +25,7 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.awt.*; @@ -220,17 +222,25 @@ private Layout createColorSchemesLayout() { final Layout layoutColorSchemes = new Menu("Color Scheme Presets"); layoutColorSchemes.addComponent(backBtn); + Preset custom = new Preset(null, Devices.id("custom")); + ItemList list = new ItemList<>(0, 21, layoutColorSchemes.width, layoutColorSchemes.height - 21); for (Preset colorScheme : ColorSchemePresetRegistry.getValues()) { list.addItem(colorScheme); } + list.addItem(custom); - list.setItemClickListener((preset, index, button) -> Laptop.getSystem().getSettings().setPreset(preset)); + list.setItemClickListener((preset, index, button) -> { + if (preset == custom) preset = null; + Laptop.getSystem().getSettings().setPreset(preset); + }); list.setListItemRenderer(new ListItemRenderer<>(20) { @Override public void render(GuiGraphics graphics, Preset scheme, Minecraft mc, int x, int y, int width, int height, boolean selected) { - graphics.drawString(mc.font, ColorSchemePresetRegistry.getKey(scheme).toString(), x + 5, y + 5, Color.WHITE.getRGB()); + ResourceLocation key = ColorSchemePresetRegistry.getKey(scheme); + if (key == null) key = Devices.id("custom"); + graphics.drawString(mc.font, CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, key.getPath()).replaceAll("[A-Z]", " $0").substring(1), x + 5, y + 5, Color.WHITE.getRGB()); } }); From d458d0c176787b587e42f8cdc7e2057fa8f1cdfa Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 17 Feb 2024 15:56:36 +0100 Subject: [PATCH 09/18] Rename due to way too long name. --- .../java/com/ultreon/devices/programs/system/SettingsApp.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index 768de9844..8e176106c 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -106,7 +106,7 @@ private Menu addMainLayout() { layoutMain.addComponent(buttonColorScheme); - Button buttonColorSchemes = new Button(5, 26+26+20+4, "Color Scheme Presets", Icons.WRENCH); + Button buttonColorSchemes = new Button(5, 26+26+20+4, "Themes", Icons.WRENCH); buttonColorSchemes.setSize(90, 20); buttonColorSchemes.setToolTip("Color Schemes", "Change the color scheme using presets or choose a custom one."); buttonColorSchemes.setClickListener((mouseX, mouseY, mouseButton) -> { @@ -219,7 +219,7 @@ private Layout createPersonaliseLayout() { } private Layout createColorSchemesLayout() { - final Layout layoutColorSchemes = new Menu("Color Scheme Presets"); + final Layout layoutColorSchemes = new Menu("Themes"); layoutColorSchemes.addComponent(backBtn); Preset custom = new Preset(null, Devices.id("custom")); From 2fbf303aa54442b38b0c9b7e665a711f615d7728 Mon Sep 17 00:00:00 2001 From: Jab125 <67534807+Jab125@users.noreply.github.com> Date: Sat, 23 Mar 2024 15:14:57 +1100 Subject: [PATCH 10/18] Update README.md (#103) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 35446706a..a36e7a4fe 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ ## License Notes Some code is used from other projects with other licenses. -* The package `com.jab125` and all it's subpackages are licensed under All Rights Reserved. -* Everything in [updater/](updater) also is licensed under All Rights Reserved. +* The package `com.jab125` and all it's subpackages are licensed the GPL 3.0. +* Everything in [updater/](updater) also is licensed under the GPL 3.0. [@MrCrayfish](https://github.com/MrCrayfish) has said on his discord server that we can use his code and even the assets for this port. From 4335a28e9f28435c30eda3cba7219df44e88c22f Mon Sep 17 00:00:00 2001 From: Jab125 <67534807+Jab125@users.noreply.github.com> Date: Thu, 28 Mar 2024 14:38:29 +1100 Subject: [PATCH 11/18] Fix seat entity despawning when block 2 blocks under is air. (#105) --- .../ultreon/devices/entity/SeatEntity.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java index 1139583a9..d9782e6de 100644 --- a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java +++ b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java @@ -3,6 +3,7 @@ import com.ultreon.devices.init.DeviceEntities; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; @@ -15,6 +16,7 @@ public class SeatEntity extends Entity { private double yOffset; + private BlockPos blockPos; public SeatEntity(EntityType type, Level worldIn) { super(type, worldIn); @@ -31,6 +33,7 @@ public SeatEntity(Level worldIn, BlockPos pos, double yOffset) { this(DeviceEntities.SEAT.get(), worldIn); this.setPos(pos.getX() + 0.5, pos.getY() + yOffset, pos.getZ() + 0.5); + this.blockPos = pos; } @@ -39,6 +42,7 @@ public void setYOffset(double offset) { } public void setViaYOffset(BlockPos pos) { + blockPos = pos; this.setPos(pos.getX() + 0.5, pos.getY() + yOffset, pos.getZ() + 0.5); } @@ -57,7 +61,7 @@ protected void defineSynchedData() { @Override public void tick() { - if(!this.level().isClientSide && (!this.hasExactlyOnePlayerPassenger() || this.level().isEmptyBlock(this.getOnPos()))) + if(!this.level().isClientSide && (blockPos == null || !this.hasExactlyOnePlayerPassenger() || this.level().isEmptyBlock(blockPos))) { this.kill(); } @@ -79,8 +83,17 @@ public Packet getAddEntityPacket() { // protected void.json init() {} @Override - protected void readAdditionalSaveData(CompoundTag compound) {} + protected void readAdditionalSaveData(CompoundTag compound) { + if (compound.contains("DevicesChairX", Tag.TAG_INT) && compound.contains("DevicesChairY", Tag.TAG_INT) && compound.contains("DevicesChairZ", Tag.TAG_INT)) { + blockPos = new BlockPos(compound.getInt("DevicesChairX"), compound.getInt("DevicesChairY"), compound.getInt("DevicesChairZ")); + } + } @Override - protected void addAdditionalSaveData(CompoundTag compound) {} + protected void addAdditionalSaveData(CompoundTag compound) { + if (blockPos == null) return; + compound.putInt("DevicesChairX", blockPos.getX()); + compound.putInt("DevicesChairY", blockPos.getY()); + compound.putInt("DevicesChairZ", blockPos.getZ()); + } } From 5fac3f38e65f3ff4dbad9451594708babcf062ba Mon Sep 17 00:00:00 2001 From: XyperCode Date: Sat, 30 Mar 2024 08:52:17 +0100 Subject: [PATCH 12/18] Fix site registration ordering --- .../java/com/ultreon/devices/Devices.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/com/ultreon/devices/Devices.java b/common/src/main/java/com/ultreon/devices/Devices.java index 74ccb0a10..5ad0465e5 100644 --- a/common/src/main/java/com/ultreon/devices/Devices.java +++ b/common/src/main/java/com/ultreon/devices/Devices.java @@ -70,6 +70,7 @@ import java.lang.reflect.Constructor; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Predicate; import java.util.function.Supplier; @@ -89,7 +90,7 @@ public abstract class Devices { private static final boolean IS_DEV_PREVIEW = DEV_PREVIEW_PATTERN.matcher(Reference.VERSION).matches(); private static final String GITWEB_REGISTER_URL = "https://ultreon.gitlab.io/gitweb/site_register.json"; public static final String VULNERABILITIES_URL = "https://jab125.com/gitweb/vulnerabilities.php"; -// private static final Logger ULTRAN_LANG_LOGGER = LoggerFactory.getLogger("UltranLang"); + // private static final Logger ULTRAN_LANG_LOGGER = LoggerFactory.getLogger("UltranLang"); @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final SiteRegisterStack SITE_REGISTER_STACK = new SiteRegisterStack(); @@ -146,7 +147,7 @@ public void init() { setupEvents(); - EnvExecutor.runInEnv(Env.CLIENT, () -> () -> setupClientEvents()); //todo + EnvExecutor.runInEnv(Env.CLIENT, () -> Devices::setupClientEvents); //todo if (!ArchitecturyTarget.getCurrentTarget().equals("forge")) { loadComplete(); } @@ -424,14 +425,16 @@ private static void checkForVulnerabilities() { })); } - private static void setupSiteRegistration(String url) { + private static CompletableFuture setupSiteRegistration(String url) { SITE_REGISTER_STACK.push(); enum Type { SITE_REGISTER, REGISTRATION } - OnlineRequest.getInstance().make(url, (success, response) -> { + CompletableFuture future = new CompletableFuture<>(); + + OnlineRequest.getInstance().make(url, (success, response) -> CompletableFuture.runAsync(() -> { if (success) { //Minecraft.getInstance().doRunTask(() -> { JsonElement root = JsonParser.parseString(response); @@ -478,7 +481,8 @@ enum Type { } var registerUrl = elem.get("register").getAsString(); try { - setupSiteRegistration(registerUrl); + var registerFuture = setupSiteRegistration(registerUrl); + registerFuture.join(); } catch (Exception e) { LOGGER.error("Error when loading site register: " + registerUrl); } @@ -487,10 +491,14 @@ enum Type { } } else { LOGGER.error("Error occurred when loading site registrations at: " + url); + future.complete(null); return; } + future.complete(null); SITE_REGISTER_STACK.pop(); - }); + })); + + return future; } public static ResourceLocation id(String id) { From 9c348eea03342bb3cb638a105a6a7c903be16318 Mon Sep 17 00:00:00 2001 From: xypercode Date: Mon, 29 Apr 2024 18:03:31 +0200 Subject: [PATCH 13/18] Initial 1.20.4 port --- build.gradle | 6 +- common/build.gradle | 2 + .../classloader/impl/CustomClassLoader.java | 15 --- .../com/ultreon/devices/ClientModEvents.java | 2 +- .../com/ultreon/devices/DeviceConfig.java | 27 ++-- .../com/ultreon/devices/ModDeviceTypes.java | 6 + .../ultreon/devices/block/ComputerBlock.java | 12 +- .../ultreon/devices/block/DeviceBlock.java | 2 +- .../ultreon/devices/block/LaptopBlock.java | 31 +++-- .../ultreon/devices/block/MacMaxXBlock.java | 19 ++- .../devices/block/MacMaxXBlockPart.java | 18 ++- .../devices/block/OfficeChairBlock.java | 42 +++--- .../com/ultreon/devices/block/PaperBlock.java | 14 +- .../ultreon/devices/block/PrinterBlock.java | 15 ++- .../ultreon/devices/block/RouterBlock.java | 36 ++++-- .../java/com/ultreon/devices/core/Laptop.java | 25 +++- .../devices/core/client/LaptopFontSet.java | 2 +- .../laptop/client/ClientLaptopScreen.java | 4 +- .../devices/event/WorldDataHandler.java | 5 +- .../ultreon/devices/gui/GuiButtonClose.java | 5 +- .../ultreon/devices/init/DeviceBlocks.java | 17 ++- .../com/ultreon/devices/object/Player.java | 3 +- .../devices/programs/system/SettingsApp.java | 2 +- .../com/ultreon/devices/util/GLHelper.java | 6 +- .../resources/assets/devices/apps/bank.json | 2 +- .../assets/devices/apps/boat_racers.json | 2 +- .../assets/devices/apps/diagnostics.json | 2 +- .../resources/assets/devices/apps/gitweb.json | 2 +- .../assets/devices/apps/mine_bay.json | 2 +- fabric-datagen-helper/build.gradle | 2 +- fabric-testmod/build.gradle | 4 +- fabric/build.gradle | 12 +- .../datagen/DevicesLanguageGenerator.java | 2 +- .../datagen/DevicesRecipeProvider.java | 7 +- .../ultreon/devices/fabric/DevicesFabric.java | 6 +- fabric/src/main/resources/fabric.mod.json | 6 +- forge/build.gradle | 2 + .../ultreon/devices/forge/DevicesForge.java | 3 +- forge/src/main/resources/META-INF/mods.toml | 6 +- gradle.properties | 16 ++- gradle/wrapper/gradle-wrapper.properties | 2 +- licenses/ultreon-api-1.0.txt | 2 +- neoforge/build.gradle | 102 +++++++++++++++ neoforge/gradle.properties | 1 + .../entity/forge/RouterBlockEntityImpl.java | 11 ++ .../forge/BuiltinAppsRegistration.java | 12 ++ .../devices/forge/DevicesNeoForge.java | 122 ++++++++++++++++++ .../NeoForgeApplicationRegistration.java | 7 + .../forge/client/ForgeRenderRegistry.java | 13 ++ .../resources/META-INF/neoforge.mods.toml | 42 ++++++ .../com.ultreon.devices.client.RenderRegistry | 1 + .../src/main/resources/devices.mixins.json | 13 ++ neoforge/src/main/resources/devices_mod.png | Bin 0 -> 2284 bytes neoforge/src/main/resources/pack.mcmeta | 6 + settings.gradle | 1 + 55 files changed, 565 insertions(+), 162 deletions(-) create mode 100644 neoforge/build.gradle create mode 100644 neoforge/gradle.properties create mode 100644 neoforge/src/main/java/com/ultreon/devices/block/entity/forge/RouterBlockEntityImpl.java create mode 100644 neoforge/src/main/java/com/ultreon/devices/forge/BuiltinAppsRegistration.java create mode 100644 neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java create mode 100644 neoforge/src/main/java/com/ultreon/devices/forge/NeoForgeApplicationRegistration.java create mode 100644 neoforge/src/main/java/com/ultreon/devices/forge/client/ForgeRenderRegistry.java create mode 100644 neoforge/src/main/resources/META-INF/neoforge.mods.toml create mode 100644 neoforge/src/main/resources/META-INF/services/com.ultreon.devices.client.RenderRegistry create mode 100644 neoforge/src/main/resources/devices.mixins.json create mode 100644 neoforge/src/main/resources/devices_mod.png create mode 100644 neoforge/src/main/resources/pack.mcmeta diff --git a/build.gradle b/build.gradle index 1034f3de7..8345d7f9f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.2-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.6-SNAPSHOT" apply false id "org.jetbrains.kotlin.jvm" version "1.7.10" } repositories { @@ -99,8 +99,12 @@ allprojects { // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. // See https://docs.gradle.org/current/userguide/declaring_repositories.html // for more information about repositories. + mavenCentral() maven { url "https://maven.parchmentmc.org" } maven { url "https://maven.jab125.dev" } + maven { url "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" } + maven { url "https://cursemaven.com" } + maven { url "https://maven.terraformersmc.com/releases" } flatDir { dir "$rootProject.projectDir/libs/" } } diff --git a/common/build.gradle b/common/build.gradle index d7641c8f2..132a036b9 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -18,6 +18,8 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury:$architectury_version" + modApi "fuzs.forgeconfigapiport:forgeconfigapiport-common-neoforgeapi:$forgeconfigapiport_version" + implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.10" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10" // modApi "com.ultreon:ultranlang:0.1.0+6" diff --git a/common/src/main/java/com/jab125/classloader/impl/CustomClassLoader.java b/common/src/main/java/com/jab125/classloader/impl/CustomClassLoader.java index bd21e60fd..2cdeb3722 100644 --- a/common/src/main/java/com/jab125/classloader/impl/CustomClassLoader.java +++ b/common/src/main/java/com/jab125/classloader/impl/CustomClassLoader.java @@ -1,28 +1,13 @@ package com.jab125.classloader.impl; -import com.ultreon.devices.Devices; -import com.ultreon.devices.core.Device; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.impl.FabricLoaderImpl; -import net.fabricmc.loader.impl.launch.FabricLauncher; -import net.fabricmc.loader.impl.launch.knot.Knot; -import net.fabricmc.loader.launch.common.FabricLauncherBase; -import net.fabricmc.tinyremapper.TinyRemapper; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.AbstractInsnNode; -import org.objectweb.asm.tree.AnnotationNode; import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.MethodNode; -import org.spongepowered.asm.util.asm.ASM; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; -import java.security.SecureClassLoader; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; diff --git a/common/src/main/java/com/ultreon/devices/ClientModEvents.java b/common/src/main/java/com/ultreon/devices/ClientModEvents.java index 47318826d..8db2c934a 100644 --- a/common/src/main/java/com/ultreon/devices/ClientModEvents.java +++ b/common/src/main/java/com/ultreon/devices/ClientModEvents.java @@ -71,7 +71,7 @@ public static void clientSetup() { registerRenderLayers(); registerRenderers(); registerLayerDefinitions(); - if (Platform.isForge()) { // Note: Forge requires the icon atlas to be generator beforehand. + if (Platform.isForgeLike()) { // Note: Forge requires the icon atlas to be generator beforehand. generateIconAtlas(); } diff --git a/common/src/main/java/com/ultreon/devices/DeviceConfig.java b/common/src/main/java/com/ultreon/devices/DeviceConfig.java index cb9e04c77..e4e3c5889 100644 --- a/common/src/main/java/com/ultreon/devices/DeviceConfig.java +++ b/common/src/main/java/com/ultreon/devices/DeviceConfig.java @@ -1,36 +1,35 @@ package com.ultreon.devices; -import dev.architectury.injectables.annotations.ExpectPlatform; import dev.architectury.platform.Platform; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraftforge.common.ForgeConfigSpec; +import net.neoforged.neoforge.common.ModConfigSpec; public class DeviceConfig { private static final String CATEGORY_LAPTOP = "laptopSettings"; - public static final ForgeConfigSpec.IntValue PING_RATE; + public static final ModConfigSpec.IntValue PING_RATE; private static final String CATEGORY_ROUTER = "routerSettings"; - public static final ForgeConfigSpec.IntValue SIGNAL_RANGE; - public static final ForgeConfigSpec.IntValue BEACON_INTERVAL; - public static final ForgeConfigSpec.IntValue MAX_DEVICES; + public static final ModConfigSpec.IntValue SIGNAL_RANGE; + public static final ModConfigSpec.IntValue BEACON_INTERVAL; + public static final ModConfigSpec.IntValue MAX_DEVICES; private static final String CATEGORY_PRINTING = "printerSettings"; - public static final ForgeConfigSpec.BooleanValue OVERRIDE_PRINT_SPEED; - public static final ForgeConfigSpec.IntValue CUSTOM_PRINT_SPEED; - public static final ForgeConfigSpec.IntValue MAX_PAPER_COUNT; + public static final ModConfigSpec.BooleanValue OVERRIDE_PRINT_SPEED; + public static final ModConfigSpec.IntValue CUSTOM_PRINT_SPEED; + public static final ModConfigSpec.IntValue MAX_PAPER_COUNT; private static final String CATEGORY_PIXEL_PAINTER = "pixelPainter"; - public static final ForgeConfigSpec.BooleanValue PIXEL_PAINTER_ENABLE; - public static final ForgeConfigSpec.BooleanValue RENDER_PRINTED_3D; + public static final ModConfigSpec.BooleanValue PIXEL_PAINTER_ENABLE; + public static final ModConfigSpec.BooleanValue RENDER_PRINTED_3D; public static final String CATEGORY_DEBUG = "debug"; - public static final ForgeConfigSpec.BooleanValue DEBUG_BUTTON; + public static final ModConfigSpec.BooleanValue DEBUG_BUTTON; - public static final ForgeConfigSpec CONFIG; + public static final ModConfigSpec CONFIG; static { - ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); + ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); PING_RATE = builder.comment("The amount of ticks the laptop waits until sending another ping to it's connected router.") .defineInRange(CATEGORY_LAPTOP + ".pingRate", 20, 1, 200); diff --git a/common/src/main/java/com/ultreon/devices/ModDeviceTypes.java b/common/src/main/java/com/ultreon/devices/ModDeviceTypes.java index b850151f7..708410d87 100644 --- a/common/src/main/java/com/ultreon/devices/ModDeviceTypes.java +++ b/common/src/main/java/com/ultreon/devices/ModDeviceTypes.java @@ -1,10 +1,16 @@ package com.ultreon.devices; +import com.mojang.serialization.Codec; import org.jetbrains.annotations.Contract; public enum ModDeviceTypes implements IDeviceType { COMPUTER, PRINTER, FLASH_DRIVE, ROUTER, SEAT; + public static final Codec CODEC = Codec.STRING.xmap( + val -> ModDeviceTypes.valueOf(val.toUpperCase()), + val -> val.name().toLowerCase() + ); + @Override @Contract(pure = true, value = "-> this") public ModDeviceTypes getDeviceType() { diff --git a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java index f468115d5..ef1ba1c23 100644 --- a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.LaptopBlockEntity; import com.ultreon.devices.debug.DebugLog; @@ -21,6 +23,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.ButtonBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; @@ -127,10 +130,12 @@ public String getSerializedName() { public static abstract class Colored extends ComputerBlock implements ColoredBlock { private final DyeColor color; + private final ModDeviceTypes deviceType; - protected Colored(Properties properties, DyeColor color, ModDeviceTypes deviceType) { + protected Colored(DyeColor color, ModDeviceTypes deviceType, Properties properties) { super(properties); this.color = color; + this.deviceType = deviceType; } @Override @@ -152,5 +157,10 @@ public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, @NotNull Bl protected void createBlockStateDefinition(StateDefinition.@NotNull Builder pBuilder) { super.createBlockStateDefinition(pBuilder); } + + @Override + public ModDeviceTypes getDeviceType() { + return deviceType; + } } } diff --git a/common/src/main/java/com/ultreon/devices/block/DeviceBlock.java b/common/src/main/java/com/ultreon/devices/block/DeviceBlock.java index 2bbf1d7bd..5785fea5f 100644 --- a/common/src/main/java/com/ultreon/devices/block/DeviceBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/DeviceBlock.java @@ -1,5 +1,6 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; import com.ultreon.devices.IDeviceType; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.DeviceBlockEntity; @@ -71,7 +72,6 @@ public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, @NotNull Bl } } - @Override public void destroy(LevelAccessor level, BlockPos pos, BlockState state) { if (!level.isClientSide()) { diff --git a/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java b/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java index 6e5c30820..3bffb1e5a 100644 --- a/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java @@ -1,33 +1,24 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.LaptopBlockEntity; -import com.ultreon.devices.item.FlashDriveItem; -import com.ultreon.devices.util.BlockEntityUtil; -import dev.architectury.utils.Env; -import dev.architectury.utils.EnvExecutor; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; -import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; -import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -35,12 +26,16 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Locale; public class LaptopBlock extends ComputerBlock.Colored { public static final EnumProperty TYPE = EnumProperty.create("type", Type.class); public static final BooleanProperty OPEN = BooleanProperty.create("open"); + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + DyeColor.CODEC.fieldOf("color").forGetter(Colored::getColor), + propertiesCodec() + ).apply(instance, LaptopBlock::new)); + private static final VoxelShape SHAPE_OPEN_NORTH = Shapes.or(Block.box(1, 0, 12.5, 15, 11.4, 17), Block.box(1, 0, 1, 15, 1.3, 12.5)); private static final VoxelShape SHAPE_OPEN_EAST = Shapes.or(Block.box(-1, 0, 1, 3.5, 11.4, 15), Block.box(3.5, 0, 1, 15, 1.3, 15)); private static final VoxelShape SHAPE_OPEN_SOUTH = Shapes.or(Block.box(1, 0, -1, 15, 11.4, 3.5), Block.box(1, 0, 3.5, 15, 1.3, 15)); @@ -49,9 +44,8 @@ public class LaptopBlock extends ComputerBlock.Colored { private static final VoxelShape SHAPE_CLOSED_EAST = Block.box(3, 0, 1, 15, 2, 15); private static final VoxelShape SHAPE_CLOSED_SOUTH = Block.box(1, 0, 3, 15, 2, 15); private static final VoxelShape SHAPE_CLOSED_WEST = Block.box(1, 0, 1, 13, 2, 15); - - public LaptopBlock(DyeColor color) { - super(Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL), color, ModDeviceTypes.COMPUTER); + public LaptopBlock(DyeColor color, Properties properties) { + super(color, ModDeviceTypes.COMPUTER, properties); } @Override @@ -102,4 +96,9 @@ protected void removeTagsForDrop(CompoundTag tileEntityTag) { public @Nullable BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) { return new LaptopBlockEntity(pos, state); } + + @Override + protected MapCodec codec() { + return CODEC; + } } diff --git a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java index 5ce8e2ccd..a8ed41295 100644 --- a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.block.entity.MacMaxXBlockEntity; import com.ultreon.devices.init.DeviceBlocks; import dev.architectury.platform.Platform; @@ -17,6 +19,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockBehaviour; @@ -30,10 +33,12 @@ import org.jetbrains.annotations.Nullable; /** - * @author Qboi123 + * @author XyperCode */ @SuppressWarnings("deprecation") public class MacMaxXBlock extends ComputerBlock { + public static final MapCodec CODEC = simpleCodec(MacMaxXBlock::new); + private static final VoxelShape SHAPE_NORTH = Shapes.or( Block.box(-16, 31, 5, 32, 32, 7), Block.box(-15, 4, 5.5, 31, 32, 7), @@ -83,8 +88,13 @@ public class MacMaxXBlock extends ComputerBlock { Block.box(6.5, 0, 17, 9, 0.5, 23) ); - public MacMaxXBlock() { - super(BlockBehaviour.Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL).noOcclusion().dynamicShape()); + public MacMaxXBlock(Properties properties) { + super(properties); + } + + @Override + protected @NotNull MapCodec codec() { + return CODEC; } @Override @@ -183,7 +193,7 @@ public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, BlockState } @Override - public void playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, BlockState state, @NotNull Player player) { + public BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, BlockState state, @NotNull Player player) { switch (state.getValue(FACING)) { case NORTH -> { level.setBlock(pos.above().west(), Blocks.AIR.defaultBlockState(), 3); @@ -215,6 +225,7 @@ public void playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, Block } default -> throw new IllegalStateException("Unexpected value: " + state.getValue(FACING)); } + return state; } @Override diff --git a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java index 719af391c..19b87461e 100644 --- a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java +++ b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java @@ -1,5 +1,6 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; import dev.architectury.platform.Platform; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -9,7 +10,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.*; @@ -23,11 +23,13 @@ import org.jetbrains.annotations.NotNull; /** - * @author Qboi123 + * @author XyperCode */ public class MacMaxXBlockPart extends HorizontalDirectionalBlock { public static final EnumProperty PART = EnumProperty.create("part", Part.class); + public static final MapCodec CODEC = simpleCodec(MacMaxXBlockPart::new); + private static final VoxelShape BL_SHAPE_NORTH = Shapes.or( Block.box(-16 + 16, 31.0, 5.0, 32 + 16, 32.0, 7), Block.box(-15 + 16, 4.0, 5.5, 31 + 16, 32.0, 7), @@ -253,8 +255,8 @@ public class MacMaxXBlockPart extends HorizontalDirectionalBlock { Block.box(6.5, 0 - 16, -9 - 16, 9, 0.5 - 16, -3 - 16), Block.box(6.5, 0 - 16, 17 - 16, 9, 0.5 - 16, 23 - 16)); - public MacMaxXBlockPart() { - super(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL)); + public MacMaxXBlockPart(Properties properties) { + super(properties); registerDefaultState(this.getStateDefinition().any().setValue(FACING, Direction.NORTH).setValue(PART, Part.T)); } @@ -311,7 +313,7 @@ public MacMaxXBlockPart() { } @Override - public void playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull Player player) { + public BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull Player player) { BlockPos originPos = getOriginPos(pos, state); switch (state.getValue(FACING)) { case NORTH -> { @@ -345,6 +347,7 @@ public void playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, @NotN default -> throw new IllegalStateException("Unexpected value: " + state.getValue(FACING)); } destroyBlockExcept(level, pos, originPos, Blocks.AIR.defaultBlockState(), 3); + return state; } @SuppressWarnings("SameParameterValue") @@ -417,6 +420,11 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder codec() { + return CODEC; + } + public enum Part implements StringRepresentable { BL, BR, TL, T, TR; diff --git a/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java b/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java index fac8d9021..26aab5550 100644 --- a/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.OfficeChairBlockEntity; import com.ultreon.devices.debug.DebugLog; @@ -19,6 +21,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; @@ -33,17 +36,20 @@ import org.jetbrains.annotations.Nullable; -public class OfficeChairBlock extends DeviceBlock.Colored -{ +public class OfficeChairBlock extends DeviceBlock.Colored { public static final EnumProperty TYPE = EnumProperty.create("type", Type.class); + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + DyeColor.CODEC.fieldOf("color").forGetter(OfficeChairBlock::getColor), + propertiesCodec() + ).apply(instance, OfficeChairBlock::new)); + private static final VoxelShape EMPTY_BOX = Shapes.box(0, 0, 0, 0, 0, 0); private static final VoxelShape SELECTION_BOX = Shapes.box(0.0625f, 0, 0.0625f, 0.9375f, /*1.6875f*/0.625f, 0.9375f); private static final VoxelShape SEAT_BOUNDING_BOX = Shapes.box(0.0625f, 0, 0.0625f, 0.9375f, 0.625f, 0.9375f); - public OfficeChairBlock(DyeColor color) - { - super(BlockBehaviour.Properties.of().mapColor(color), color, ModDeviceTypes.SEAT); + public OfficeChairBlock(DyeColor color, Properties properties) { + super(properties, color, ModDeviceTypes.SEAT); //this.setUnlocalizedName("office_chair"); //this.setRegistryName("office_chair"); //this.setCreativeTab(MrCrayfishDeviceMod.TAB_DEVICE); @@ -56,8 +62,7 @@ public OfficeChairBlock(DyeColor color) // } @Override - public boolean canSurvive(BlockState state, LevelReader reader, BlockPos pos) - { + public boolean canSurvive(BlockState state, LevelReader reader, BlockPos pos) { return false || true; } @@ -82,12 +87,10 @@ public VoxelShape getCollisionShape(BlockState state, BlockGetter level, BlockPo } @Override - public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) - { + public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { //DebugLog.log(DeviceEntities.SEAT.get().create(level).toString()); DebugLog.log("OKOKJRTKFD"); - if(!level.isClientSide) - { + if (!level.isClientSide) { SeatUtil.createSeatAndSit(level, pos, player, -1); } return InteractionResult.SUCCESS; @@ -95,25 +98,26 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player @Nullable @Override - public BlockEntity newBlockEntity(BlockPos pos, BlockState state) - { + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new OfficeChairBlockEntity(pos, state); } @Override - protected void createBlockStateDefinition(StateDefinition.@NotNull Builder pBuilder) - { + protected void createBlockStateDefinition(StateDefinition.@NotNull Builder pBuilder) { super.createBlockStateDefinition(pBuilder); pBuilder.add(TYPE); } - public enum Type implements StringRepresentable - { + @Override + protected MapCodec codec() { + return CODEC; + } + + public enum Type implements StringRepresentable { LEGS, SEAT, FULL; @Override - public String getSerializedName() - { + public String getSerializedName() { return name().toLowerCase(); } } diff --git a/common/src/main/java/com/ultreon/devices/block/PaperBlock.java b/common/src/main/java/com/ultreon/devices/block/PaperBlock.java index 6faf19387..f9bb8c0c9 100644 --- a/common/src/main/java/com/ultreon/devices/block/PaperBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/PaperBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.block.entity.PaperBlockEntity; import net.minecraft.core.BlockPos; @@ -26,11 +28,14 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.awt.print.Paper; import java.util.ArrayList; import java.util.List; @SuppressWarnings("NullableProblems") public class PaperBlock extends HorizontalDirectionalBlock implements EntityBlock { + public static final MapCodec CODEC = simpleCodec(PaperBlock::new); + private static final VoxelShape SELECTION_BOUNDS = box(15, 0, 0, 16, 16, 16); private static final VoxelShape SELECTION_BOX_NORTH = box(15, 0, 0, 16, 16, 16); @@ -39,8 +44,8 @@ public class PaperBlock extends HorizontalDirectionalBlock implements EntityBloc private static final VoxelShape SELECTION_BOX_EAST = box(0, 0, 0, 16, 16, 1); private static final VoxelShape[] SELECTION_BOUNDING_BOX = {SELECTION_BOX_SOUTH, SELECTION_BOX_WEST, SELECTION_BOX_NORTH, SELECTION_BOX_EAST}; - public PaperBlock() { - super(Properties.of().noCollission().instabreak().noOcclusion().noLootTable()); + public PaperBlock(Properties properties) { + super(properties); registerDefaultState(getStateDefinition().any().setValue(FACING, Direction.NORTH)); } @@ -113,4 +118,9 @@ protected void createBlockStateDefinition(StateDefinition.Builder codec() { + return CODEC; + } } diff --git a/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java b/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java index 9ecf0cf4c..c94ad04b1 100644 --- a/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.PrinterBlockEntity; import com.ultreon.devices.util.Colored; @@ -12,6 +14,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -27,6 +30,11 @@ * @author MrCrayfish */ public class PrinterBlock extends DeviceBlock.Colored implements Colored { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + DyeColor.CODEC.fieldOf("color").forGetter(PrinterBlock::getColor), + propertiesCodec() + ).apply(instance, PrinterBlock::new)); + private static final VoxelShape SHAPE_NORTH = Shapes.or( box(2, 0, 7, 14, 5, 12), box(3.5, 0.1, 1, 12.5, 1.1, 7), @@ -76,7 +84,7 @@ public class PrinterBlock extends DeviceBlock.Colored implements Colored { box(5, 3, 1, 7, 5, 15), box(12, 3, 4, 16, 9.3, 12)); - public PrinterBlock(DyeColor color) { + public PrinterBlock(DyeColor color, Properties properties) { super(Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL), color, ModDeviceTypes.PRINTER); this.registerDefaultState(getStateDefinition().any().setValue(FACING, Direction.NORTH)); } @@ -116,4 +124,9 @@ public InteractionResult use(@NotNull BlockState state, Level level, @NotNull Bl public @Nullable BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) { return new PrinterBlockEntity(pos, state); } + + @Override + protected MapCodec codec() { + return CODEC; + } } diff --git a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java index 74ddbcbd0..4e898fff6 100644 --- a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java @@ -1,5 +1,7 @@ package com.ultreon.devices.block; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.block.entity.RouterBlockEntity; import com.ultreon.devices.network.PacketHandler; @@ -8,12 +10,15 @@ import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -22,13 +27,24 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * @author MrCrayfish */ public class RouterBlock extends DeviceBlock.Colored { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + DyeColor.CODEC.fieldOf("color").forGetter(RouterBlock::getColor), + propertiesCodec() + ).apply(instance, RouterBlock::new)); + public static final BooleanProperty VERTICAL = BooleanProperty.create("vertical"); // Todo - do rotations for voxel shapes properly. @@ -57,8 +73,8 @@ public class RouterBlock extends DeviceBlock.Colored { box(13, 0, 1, 16, 10, 15) }; - public RouterBlock(DyeColor color) { - super(Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL), color, ModDeviceTypes.ROUTER); + public RouterBlock(DyeColor color, Properties properties) { + super(properties, color, ModDeviceTypes.ROUTER); this.registerDefaultState(this.getStateDefinition().any().setValue(FACING, Direction.NORTH).setValue(VERTICAL, false)); } @@ -94,17 +110,6 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player return state != null ? state.setValue(FACING, pContext.getHorizontalDirection().getOpposite()).setValue(VERTICAL, pContext.getClickLocation().y - pContext.getClickLocation().y > 0.5) : null; } -// @Override -// public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer, EnumHand hand) { -// IBlockState state = super.getStateForPlacement(world, pos, facing, hitX, hitY, hitZ, meta, placer, hand); -// return state.withProperty(VERTICAL, facing.getHorizontalIndex() != -1); -// } - -// @Override -// public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, EnumFacing side) { -// return side != EnumFacing.DOWN; -// } - @NotNull @Override @Contract("_, _ -> new") @@ -117,4 +122,9 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder codec() { + return CODEC; + } } diff --git a/common/src/main/java/com/ultreon/devices/core/Laptop.java b/common/src/main/java/com/ultreon/devices/core/Laptop.java index d2d170356..251054e01 100644 --- a/common/src/main/java/com/ultreon/devices/core/Laptop.java +++ b/common/src/main/java/com/ultreon/devices/core/Laptop.java @@ -64,7 +64,7 @@ /** * Laptop GUI class. * - * @author MrCrayfish, Qboi123 + * @author MrCrayfish, XyperCode */ public class Laptop extends Screen implements System { public static final int ID = 1; @@ -395,8 +395,14 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final PoseStack.Pose last = graphics.pose().last(); + this.renderBackground(graphics, mouseX, mouseY, partialTicks); + try { + graphics.pose().pushPose(); + graphics.pose().translate(0, 0, 1000); + renderLaptop(graphics, mouseX, mouseY, partialTicks); + graphics.pose().popPose(); } catch (NullPointerException e) { while (graphics.pose().last() != last) { graphics.pose().popPose(); @@ -410,6 +416,15 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final RenderSystem.disableScissor(); bsod(e); } + + while (graphics.pose().last() != last) { + Devices.LOGGER.warn("Pose stack leakage: {}", graphics.pose().last()); + graphics.pose().popPose(); + } + + if (GLHelper.clearScissorStack()) { + Devices.LOGGER.debug("Scissor stack leakage!"); + } } public void renderBsod(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { @@ -454,10 +469,7 @@ public static void drawLines(GuiGraphics graphics, Font font, String text, int x public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { tasks.clear(); - this.renderBackground(graphics); - RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - RenderSystem.setShaderTexture(0, LAPTOP_GUI); //*************************// // Physical Screen // @@ -503,7 +515,7 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, renderBezels(graphics, mouseX, mouseY, partialTicks); - GLHelper.pushScissor(posX, posY, videoInfo.getResolution().width() + BORDER, videoInfo.getResolution().height() + BORDER); + GLHelper.pushScissor(posX + BORDER, posY + BORDER, videoInfo.getResolution().width(), videoInfo.getResolution().height()); //*******************// // Wallpaper // //*******************// @@ -578,7 +590,6 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, return false; }); - super.render(graphics, mouseX, mouseY, frameTime); GLHelper.popScissor(); GLHelper.clearScissorStack(); @@ -838,7 +849,7 @@ public void mouseMoved(double pMouseX, double pMouseY) { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double delta) { + public boolean mouseScrolled(double mouseX, double mouseY, double deltaX, double delta) { if (delta != 0) { try { if (windows.get(0) != null) { diff --git a/common/src/main/java/com/ultreon/devices/core/client/LaptopFontSet.java b/common/src/main/java/com/ultreon/devices/core/client/LaptopFontSet.java index a64597f3d..2a2d93576 100644 --- a/common/src/main/java/com/ultreon/devices/core/client/LaptopFontSet.java +++ b/common/src/main/java/com/ultreon/devices/core/client/LaptopFontSet.java @@ -11,7 +11,7 @@ import java.util.function.Function; /** - * @author Qboi123 + * @author XyperCode */ public class LaptopFontSet extends FontSet { // private static final GlyphInfo TAB_INFO = new GlyphInfo() { diff --git a/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptopScreen.java b/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptopScreen.java index b490f059f..097855a9b 100644 --- a/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptopScreen.java +++ b/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptopScreen.java @@ -1,10 +1,8 @@ package com.ultreon.devices.core.laptop.client; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.Reference; import com.ultreon.devices.debug.DebugLog; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; @@ -26,7 +24,7 @@ public ClientLaptopScreen(ClientLaptop laptop) { } public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { - this.renderBackground(graphics); + this.renderBackground(graphics, mouseX, mouseY, partialTicks); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); RenderSystem.setShaderTexture(0, LAPTOP_GUI); diff --git a/common/src/main/java/com/ultreon/devices/event/WorldDataHandler.java b/common/src/main/java/com/ultreon/devices/event/WorldDataHandler.java index a96b1f08d..f3b26f98e 100644 --- a/common/src/main/java/com/ultreon/devices/event/WorldDataHandler.java +++ b/common/src/main/java/com/ultreon/devices/event/WorldDataHandler.java @@ -2,6 +2,7 @@ import com.ultreon.devices.api.WorldSavedData; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtAccounter; import net.minecraft.nbt.NbtIo; import net.minecraft.world.level.storage.LevelResource; @@ -58,7 +59,7 @@ private void loadData(File modData, String fileName, WorldSavedData data) { return; } try { - CompoundTag nbt = NbtIo.readCompressed(dataFile); + CompoundTag nbt = NbtIo.readCompressed(dataFile.toPath(), NbtAccounter.unlimitedHeap()); data.load(nbt); } catch (IOException e) { throw new RuntimeException(e); @@ -74,7 +75,7 @@ private void saveData(File modData, String fileName, WorldSavedData data) { CompoundTag nbt = new CompoundTag(); data.save(nbt); - NbtIo.writeCompressed(nbt, dataFile); + NbtIo.writeCompressed(nbt, dataFile.toPath()); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java index b84092726..83383bb46 100644 --- a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java +++ b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java @@ -1,19 +1,16 @@ package com.ultreon.devices.gui; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.core.Window; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.ComponentContents; -import net.minecraft.network.chat.MutableComponent; import org.jetbrains.annotations.NotNull; public class GuiButtonClose extends Button { public GuiButtonClose(int x, int y) { super(x, y, 11, 11, Component.literal(""), - (button) -> { }, (output)-> MutableComponent.create(ComponentContents.EMPTY)); + (button) -> { }, (output)-> Component.empty()); } @Override diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java b/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java index 419cedb33..5fb65d0af 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java @@ -8,6 +8,9 @@ import net.minecraft.core.registries.Registries; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockBehaviour.Properties; import java.util.List; import java.util.stream.Stream; @@ -21,7 +24,7 @@ public static void register() { public static final DyeableRegistration LAPTOPS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_laptop"), () -> new LaptopBlock(color)); + return registrar.register(Devices.id(color.getName() + "_laptop"), () -> new LaptopBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -30,13 +33,13 @@ protected Registrar autoInit() { } }; - public static final RegistrySupplier MAC_MAX_X = REGISTER.register(Devices.id("mac_max_x"), MacMaxXBlock::new); - public static final RegistrySupplier MAC_MAX_X_PART = REGISTER.register(Devices.id("mac_max_x_part"), MacMaxXBlockPart::new); + public static final RegistrySupplier MAC_MAX_X = REGISTER.register(Devices.id("mac_max_x"), () -> new MacMaxXBlock(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL).noOcclusion().dynamicShape())); + public static final RegistrySupplier MAC_MAX_X_PART = REGISTER.register(Devices.id("mac_max_x_part"), () -> new MacMaxXBlockPart(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL))); public static final DyeableRegistration PRINTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_printer"), () -> new PrinterBlock(color)); + return registrar.register(Devices.id(color.getName() + "_printer"), () -> new PrinterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -48,7 +51,7 @@ protected Registrar autoInit() { public static final DyeableRegistration ROUTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_router"), () -> new RouterBlock(color)); + return registrar.register(Devices.id(color.getName() + "_router"), () -> new RouterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -60,7 +63,7 @@ protected Registrar autoInit() { public static final DyeableRegistration OFFICE_CHAIRS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_office_chair"), () -> new OfficeChairBlock(color)); + return registrar.register(Devices.id(color.getName() + "_office_chair"), () -> new OfficeChairBlock(color, BlockBehaviour.Properties.of().mapColor(color))); } @Override @@ -70,7 +73,7 @@ protected Registrar autoInit() { }; - public static final RegistrySupplier PAPER = REGISTER.register(Devices.id("paper"), PaperBlock::new); + public static final RegistrySupplier PAPER = REGISTER.register(Devices.id("paper"), () -> new PaperBlock(Properties.of().noCollission().instabreak().noOcclusion().noLootTable())); public static Stream getAllBlocks() { diff --git a/common/src/main/java/com/ultreon/devices/object/Player.java b/common/src/main/java/com/ultreon/devices/object/Player.java index 359e4f603..940f6bf5f 100644 --- a/common/src/main/java/com/ultreon/devices/object/Player.java +++ b/common/src/main/java/com/ultreon/devices/object/Player.java @@ -14,6 +14,7 @@ import net.minecraft.client.renderer.entity.BoatRenderer; import net.minecraft.client.renderer.entity.EntityRenderDispatcher; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.resources.PlayerSkin; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.vehicle.Boat; import org.joml.Quaternionf; @@ -49,7 +50,7 @@ public Player(Game game) { this.velocity = new Vec2d(0, 0); this.boatModel = new BoatRenderer(createEntityRendererContext(), false); assert Minecraft.getInstance().player != null; - boolean slim = Minecraft.getInstance().player.getModelName().equals("slim"); + boolean slim = Minecraft.getInstance().player.getSkin().model() == PlayerSkin.Model.SLIM; if (!Laptop.isWorldLess()) { boat = new Boat(Objects.requireNonNull(Minecraft.getInstance().level), 0, 0, 0); } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index a4939dce1..5321fca19 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -148,7 +148,7 @@ private Button createAboutButton(Menu layoutMain) { // // Credits: // - MrCrayfish (https://mrcrayfish.com/) -// - Qboi123 +// - XyperCode // - Jab125 // - lizterzapzap // - MrBean6000 diff --git a/common/src/main/java/com/ultreon/devices/util/GLHelper.java b/common/src/main/java/com/ultreon/devices/util/GLHelper.java index 028175d06..73bd37c51 100644 --- a/common/src/main/java/com/ultreon/devices/util/GLHelper.java +++ b/common/src/main/java/com/ultreon/devices/util/GLHelper.java @@ -59,9 +59,13 @@ public static boolean isScissorStackEmpty() { /** * Do not call! Used for core only. + * + * @return true if the scissor stack was cleared */ - public static void clearScissorStack() { + public static boolean clearScissorStack() { + if (scissorStack.isEmpty()) return false; scissorStack.clear(); + return true; } public static Color getPixel(int x, int y) { diff --git a/common/src/main/resources/assets/devices/apps/bank.json b/common/src/main/resources/assets/devices/apps/bank.json index ae0857474..d2ee194ad 100644 --- a/common/src/main/resources/assets/devices/apps/bank.json +++ b/common/src/main/resources/assets/devices/apps/bank.json @@ -1,7 +1,7 @@ { "schemaVersion": 2, "name": "Bank", - "authors": ["MrCrayfish", "Jab125", "Qboi123"], + "authors": ["MrCrayfish", "Jab125", "XyperCode"], "description": "${desc}", "version": "1.0", "screenshots": [ diff --git a/common/src/main/resources/assets/devices/apps/boat_racers.json b/common/src/main/resources/assets/devices/apps/boat_racers.json index 2b92126f4..ed4755328 100644 --- a/common/src/main/resources/assets/devices/apps/boat_racers.json +++ b/common/src/main/resources/assets/devices/apps/boat_racers.json @@ -1,7 +1,7 @@ { "schemaVersion": 2, "name": "Boat Racers", - "authors": ["MrCrayfish", "MinecraftDoodler", "Jab125", "Qboi123"], + "authors": ["MrCrayfish", "MinecraftDoodler", "Jab125", "XyperCode"], "description": "VERY VERY WIP", "version": "0.0.1", "screenshots": [ diff --git a/common/src/main/resources/assets/devices/apps/diagnostics.json b/common/src/main/resources/assets/devices/apps/diagnostics.json index 8ca9535f2..a4953adbb 100644 --- a/common/src/main/resources/assets/devices/apps/diagnostics.json +++ b/common/src/main/resources/assets/devices/apps/diagnostics.json @@ -1,7 +1,7 @@ { "schemaVersion": 2, "name": "App Diagnostics", - "authors": ["Qboi123"], + "authors": ["XyperCode"], "description": "", "version": "1.0", "screenshots": [ diff --git a/common/src/main/resources/assets/devices/apps/gitweb.json b/common/src/main/resources/assets/devices/apps/gitweb.json index 4c1a0bbf2..ce34af2e3 100644 --- a/common/src/main/resources/assets/devices/apps/gitweb.json +++ b/common/src/main/resources/assets/devices/apps/gitweb.json @@ -1,7 +1,7 @@ { "schemaVersion": 2, "name": "GitWeb", - "authors": ["MrCrayfish", "MinecraftDoodler", "Jab125", "Qboi123"], + "authors": ["MrCrayfish", "MinecraftDoodler", "Jab125", "XyperCode"], "description": "GitWeb is a web browser powered by GitHub. It is community driven, which means websites you browse are created by other players.", "version": "0.0.2", "screenshots": [ diff --git a/common/src/main/resources/assets/devices/apps/mine_bay.json b/common/src/main/resources/assets/devices/apps/mine_bay.json index 7003e8fc4..54226667a 100644 --- a/common/src/main/resources/assets/devices/apps/mine_bay.json +++ b/common/src/main/resources/assets/devices/apps/mine_bay.json @@ -1,7 +1,7 @@ { "schemaVersion": 2, "name": "MineBay", - "authors": ["MrCrayfish", "Jab125", "Qboi123"], + "authors": ["MrCrayfish", "Jab125", "XyperCode"], "description": "Just a description", "version": "1.0", "screenshots": [ diff --git a/fabric-datagen-helper/build.gradle b/fabric-datagen-helper/build.gradle index a5dd41de3..539831927 100644 --- a/fabric-datagen-helper/build.gradle +++ b/fabric-datagen-helper/build.gradle @@ -28,7 +28,7 @@ dependencies { //include(project(":fabric")) modImplementation "net.fabricmc:fabric-loader:$fabric_loader_version" modApi "net.fabricmc.fabric-api:fabric-api:$fabric_api_version" - modImplementation "com.terraformersmc:modmenu:4.0.6", { + modImplementation "com.terraformersmc:modmenu:$modmenu_version", { exclude module: "fabric-api" } } diff --git a/fabric-testmod/build.gradle b/fabric-testmod/build.gradle index 13c6ed6a6..46bc2e49f 100644 --- a/fabric-testmod/build.gradle +++ b/fabric-testmod/build.gradle @@ -30,12 +30,10 @@ dependencies { common(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } modImplementation "net.fabricmc:fabric-loader:$fabric_loader_version" modApi "net.fabricmc.fabric-api:fabric-api:$fabric_api_version" - modImplementation "com.terraformersmc:modmenu:4.0.6", { + modImplementation "com.terraformersmc:modmenu:$modmenu_version", { exclude module: "fabric-api" } - modRuntimeOnly "curse.maven:forgeapiportfabric-547434:3946675" - modRuntimeOnly 'com.electronwill.night-config:core:3.6.3' modRuntimeOnly 'com.electronwill.night-config:toml:3.6.3' } diff --git a/fabric/build.gradle b/fabric/build.gradle index 42a0d8fed..8f749d207 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -24,12 +24,6 @@ loom { } } -repositories { - maven { url = "https://cursemaven.com" } - maven { url "https://maven.terraformersmc.com/releases" } - mavenCentral() -} - configurations { common shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. @@ -44,7 +38,7 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury-fabric:$architectury_version" - modApi "fuzs.forgeconfigapiport:forgeconfigapiport-fabric:8.0.0" + modApi "fuzs.forgeconfigapiport:forgeconfigapiport-fabric:$forgeconfigapiport_version" modImplementation 'com.electronwill.night-config:core:3.6.5' modImplementation 'com.electronwill.night-config:toml:3.6.5' @@ -61,11 +55,11 @@ dependencies { common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } - modCompileOnly "com.terraformersmc:modmenu:4.0.6", { + modCompileOnly "com.terraformersmc:modmenu:$modmenu_version", { exclude module: "fabric-api" } - modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:12.0.684", { + modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:$rei_version", { exclude module: "fabric-api" } diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLanguageGenerator.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLanguageGenerator.java index d75ad4a27..a3a0382a1 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLanguageGenerator.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLanguageGenerator.java @@ -109,7 +109,7 @@ private void createTranslationsForLOLCAT(TranslationBuilder translationBuilder) createTranslationsFromTemplate(translationBuilder, "lol"); } - private void createTranslationsForDutch(TranslationBuilder translationBuilder) { // TODO: @Qboi123 + private void createTranslationsForDutch(TranslationBuilder translationBuilder) { // TODO: @XyperCode createTranslationsFromTemplate(translationBuilder, "nl"); } diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java index 10dd72745..1262fa07f 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java @@ -17,18 +17,15 @@ import net.minecraft.world.item.DyeItem; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.SmeltingRecipe; import net.minecraft.world.level.ItemLike; -import java.util.function.Consumer; - public class DevicesRecipeProvider extends FabricRecipeProvider { public DevicesRecipeProvider(FabricDataOutput dataGenerator) { super(dataGenerator); } @Override - public void buildRecipes(Consumer exporter) { + public void buildRecipes(RecipeOutput exporter) { DeviceBlocks.LAPTOPS.getMap().forEach(((dyeColor, blockRegistrySupplier) -> laptop(exporter, blockRegistrySupplier.get(), dyeColor))); //***********************// @@ -230,7 +227,7 @@ public void buildRecipes(Consumer exporter) { .save(exporter); } - public static void laptop(Consumer exporter, ItemLike laptop, DyeColor color) { + public static void laptop(RecipeOutput exporter, ItemLike laptop, DyeColor color) { ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, laptop) .define('+', DyeUtils.getWoolFromDye(color)) .define('/', Items.IRON_INGOT) diff --git a/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java b/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java index 399f66d75..9d86f87f8 100644 --- a/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java +++ b/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java @@ -7,14 +7,14 @@ import com.ultreon.devices.api.print.PrintingManager; import com.ultreon.devices.core.Laptop; import com.ultreon.devices.init.RegistrationHandler; -import fuzs.forgeconfigapiport.api.config.v2.ForgeConfigRegistry; +import fuzs.forgeconfigapiport.fabric.api.neoforge.v4.NeoForgeConfigRegistry; import net.fabricmc.api.ModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.entrypoint.EntrypointContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; -import net.minecraftforge.fml.config.ModConfig; +import net.neoforged.fml.config.ModConfig; import java.util.ArrayList; import java.util.List; @@ -23,7 +23,7 @@ public class DevicesFabric extends Devices implements ModInitializer { @Override public void onInitialize() { - ForgeConfigRegistry.INSTANCE.register(Devices.MOD_ID, ModConfig.Type.CLIENT, DeviceConfig.CONFIG); + NeoForgeConfigRegistry.INSTANCE.register(Devices.MOD_ID, ModConfig.Type.CLIENT, DeviceConfig.CONFIG); this.init(); diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index bc79489dc..f5fc2c706 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "Ultreon Team" ], "contributors": [ - "Qboi123", + "XyperCode", "Jab125", "MrCrayfish", "MinecraftDoodler", @@ -51,8 +51,8 @@ ], "depends": { "fabricloader": ">=${loaderVersion}", - "minecraft": [">=1.20 <=1.20.1"], - "architectury": ">=9.1 <10" + "minecraft": ["1.20.4"], + "architectury": ">=11 <12" }, "custom": { "modmenu": { diff --git a/forge/build.gradle b/forge/build.gradle index 170840229..b5fc1b10e 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -33,6 +33,8 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury-forge:$architectury_version" + modApi "fuzs.forgeconfigapiport:forgeconfigapiport-forge:$forgeconfigapiport_version" + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } diff --git a/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java b/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java index bce90f5da..ce8be7d3a 100644 --- a/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java +++ b/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java @@ -12,6 +12,7 @@ import com.ultreon.devices.event.WorldDataHandler; import com.ultreon.devices.init.RegistrationHandler; import dev.architectury.platform.forge.EventBuses; +import fuzs.forgeconfigapiport.forge.api.neoforge.v4.NeoForgeConfigRegistry; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeType; import net.minecraftforge.api.distmarker.Dist; @@ -87,7 +88,7 @@ public DevicesForge() throws LaunchException { // Common side stuff LOGGER.info("Initializing registration handler and mod config."); RegistrationHandler.register(); - context.registerConfig(ModConfig.Type.CLIENT, DeviceConfig.CONFIG); + NeoForgeConfigRegistry.INSTANCE.register(ModConfig.Type.CLIENT, DeviceConfig.CONFIG); forgeEventBus.register(this); forgeEventBus.register(new WorldDataHandler()); diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index f76b37787..535815f11 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -15,7 +15,7 @@ displayName = "Devices Mod" displayURL = "https://github.com/Ultreon/devices-mod" logoFile="devices_mod.png" credits = "Thanks to MrCrayfish for the idea and the original mod that was made in 1.12.2. Thank you to MinecraftDoodler for helping with textures. Thank you to lizterzapzap for the Devices Mod icon. Cheers to these people for donating during the development: Mastef Chief, Haunted Corpse, Jake Crowley, fabbe50, PlayDashGaming, jack jook, Hunstagamez, Techyy YT, MinecraftDoodler, Norge100YT, Cyberman2208, CreepergamingsMC" -authors = "Qboi123, Jab125" +authors = "XyperCode, Jab125" description = "${description}" itemIcon = "devices:red_laptop" @@ -30,13 +30,13 @@ side = "BOTH" [[dependencies.devices]] modId = "minecraft" mandatory = true -versionRange = "[1.20,1.20.1]" +versionRange = "1.20.4" ordering = "NONE" side = "BOTH" [[dependencies.devices]] modId = "architectury" mandatory = true -versionRange = "[9.1,10)" +versionRange = "[11,12)" ordering = "NONE" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 3536c4890..e386daa4f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,19 +1,20 @@ org.gradle.jvmargs=-Xmx5G # Platform related -minecraft_version=1.20.1 +minecraft_version=1.20.4 platforms=forge,fabric # Project related archives_base_name=devices maven_group=com.ultreon.mods -mod_version=0.8.2 +mod_version=0.9.0 mod_description=Adds working electronic devices into Minecraft!\\nCurseForge: https://curseforge.com/minecraft/mc-mods/devices-mod\\nModrinth: https://modrinth.com/mod/devices-mod\\nSource Code: https://github.com/Ultreon/devices-mod\\n\\nOriginal mod made by MrCrayfish called \\"MrCrayfish's Device Mod\\".\\nAvailable at: https://mrcrayfish.com/mods/cdm\\nSource Code: https://github.com/MrCrayfish/MrCrayfishDeviceMod # Modloader related -fabric_loader_version=0.14.22 -forge_version=47.1.3 +fabric_loader_version=0.15.3 +forge_version=49.0.49 +neoforge_version=20.4.233 # Geckolib geckolib_version_fabric=4.2.1 @@ -21,5 +22,8 @@ geckolib_version_quilt=4.2.1 geckolib_version_forge=4.2.1 # Dependency related -architectury_version=9.1.12 -fabric_api_version=0.86.1+1.20.1 +architectury_version=11.1.17 +fabric_api_version=0.97.0+1.20.4 +modmenu_version=9.2.0-beta.2 +rei_version=14.1.720 +forgeconfigapiport_version=20.4.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 59bc51a20..17655d0ef 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/licenses/ultreon-api-1.0.txt b/licenses/ultreon-api-1.0.txt index 809c50e5f..871a9ee05 100644 --- a/licenses/ultreon-api-1.0.txt +++ b/licenses/ultreon-api-1.0.txt @@ -1,4 +1,4 @@ -Copyright (c) 2022 Qboi123 (https://github.com/Qboi123) +Copyright (c) 2022 XyperCode (https://github.com/XyperCode) Ultreon API License (v1.0) --------------------------- diff --git a/neoforge/build.gradle b/neoforge/build.gradle new file mode 100644 index 000000000..5484376ad --- /dev/null +++ b/neoforge/build.gradle @@ -0,0 +1,102 @@ +//file:noinspection GrDeprecatedAPIUsage +//file:noinspection GroovyAssignabilityCheck +plugins { + id "com.github.johnrengelman.shadow" version "7.1.2" +} + +version rootProject.version + +architectury { + platformSetupLoomIde() + neoForge() +} + +loom { + accessWidenerPath = project(":common").loom.accessWidenerPath +} + +configurations { + common + shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. + compileClasspath.extendsFrom common + runtimeClasspath.extendsFrom common + developmentNeoForge.extendsFrom common +} + +repositories { + maven { url "https://maven.neoforged.net/releases/" } +} + +dependencies { + neoForge "net.neoforged:neoforge:$neoforge_version" + // Remove the next line if you don't want to depend on the API + modApi "dev.architectury:architectury-neoforge:$architectury_version" + + common(project(path: ":common", configuration: "namedElements")) { transitive false } + shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } +} + +processResources { + inputs.property "version", rootProject.getIngameVersion() + inputs.property "description", rootProject.getModDescription() + System.out.println(inputs.getProperties()) + + filesMatching("META-INF/neoforge.mods.toml") { + HashMap p = new HashMap<>() + p.put("version", rootProject.getIngameVersion()) + p.put("description", rootProject.getModDescription()) + //noinspection GroovyAssignabilityCheck + p.put("loaderVersion", rootProject.neoforge_version.split("\\.")[0]) + p.put("forgeVersion", rootProject.neoforge_version) + p.put("minecraftVersion", rootProject.architectury.minecraft) + expand(p) + } +} + +shadowJar { + exclude "fabric.mod.json" + exclude "architectury.common.json" + + configurations = [project.configurations.shadowCommon] + archiveClassifier = "dev-shadow" +} + +remapJar { + input.set shadowJar.archiveFile + dependsOn shadowJar + archiveClassifier = null +} + +jar { + archiveClassifier = "dev" +} + +sourcesJar { + def commonSources = project(":common").sourcesJar + dependsOn commonSources + from commonSources.archiveFile.map { zipTree(it) } +} + +components.java { + withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { + skip() + } +} + +publishing { + publications { + mavenNeoForge(MavenPublication) { + System.out.println(artifactId) + artifactId = rootProject.archivesBaseName + "-neoForge" + //artifactId = rootProject.archivesBaseName + "-neoForge" + //project.name + from components.java + } + } + + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. + repositories { + // Add repositories to publish to here. + } + rootProject.setupRepositories(repositories) +} + diff --git a/neoforge/gradle.properties b/neoforge/gradle.properties new file mode 100644 index 000000000..2914393db --- /dev/null +++ b/neoforge/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge \ No newline at end of file diff --git a/neoforge/src/main/java/com/ultreon/devices/block/entity/forge/RouterBlockEntityImpl.java b/neoforge/src/main/java/com/ultreon/devices/block/entity/forge/RouterBlockEntityImpl.java new file mode 100644 index 000000000..39277c458 --- /dev/null +++ b/neoforge/src/main/java/com/ultreon/devices/block/entity/forge/RouterBlockEntityImpl.java @@ -0,0 +1,11 @@ +package com.ultreon.devices.block.entity.forge; + +import net.minecraft.world.phys.AABB; + +import static net.neoforged.neoforge.client.extensions.IBlockEntityRendererExtension.INFINITE_EXTENT_AABB; + +public class RouterBlockEntityImpl { + public AABB getRenderBoundingBox() { + return INFINITE_EXTENT_AABB; + } +} diff --git a/neoforge/src/main/java/com/ultreon/devices/forge/BuiltinAppsRegistration.java b/neoforge/src/main/java/com/ultreon/devices/forge/BuiltinAppsRegistration.java new file mode 100644 index 000000000..327359f5a --- /dev/null +++ b/neoforge/src/main/java/com/ultreon/devices/forge/BuiltinAppsRegistration.java @@ -0,0 +1,12 @@ +package com.ultreon.devices.forge; + +import com.ultreon.devices.BuiltinApps; +import net.neoforged.bus.api.EventPriority; +import net.neoforged.bus.api.SubscribeEvent; + +public class BuiltinAppsRegistration { + @SubscribeEvent(priority = EventPriority.HIGHEST) + public static void registerBuiltinApps(NeoForgeApplicationRegistration event) { + BuiltinApps.registerBuiltinApps(); + } +} diff --git a/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java b/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java new file mode 100644 index 000000000..5cd390879 --- /dev/null +++ b/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java @@ -0,0 +1,122 @@ +package com.ultreon.devices.forge; + +import com.mojang.logging.LogUtils; +import com.ultreon.devices.DeviceConfig; +import com.ultreon.devices.Devices; +import com.ultreon.devices.LaunchException; +import com.ultreon.devices.Reference; +import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.api.print.IPrint; +import com.ultreon.devices.api.print.PrintingManager; +import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.event.WorldDataHandler; +import com.ultreon.devices.init.RegistrationHandler; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeType; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.ModList; +import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.config.ModConfig; +import net.neoforged.fml.event.IModBusEvent; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.event.lifecycle.FMLDedicatedServerSetupEvent; +import net.neoforged.fml.event.lifecycle.FMLLoadCompleteEvent; +import net.neoforged.fml.util.ObfuscationReflectionHelper; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.data.loading.DatagenModLoader; +import net.neoforged.neoforgespi.language.IModInfo; +import org.slf4j.Logger; + +import java.util.List; +import java.util.Map; + +// The value here should match an entry in the META-INF/neoforge.mods.toml file +@Mod(Reference.MOD_ID) +public final class DevicesNeoForge { + public static final Logger LOGGER = LogUtils.getLogger(); + private final Devices instance = new Devices() { + @Override + protected void registerApplicationEvent() { + DevicesNeoForge.this.modEventBus.post(new NeoForgeApplicationRegistration()); + } + + @Override + public int getBurnTime(ItemStack stack, RecipeType type) { + return stack.getBurnTime(type); + } + + @Override + protected List getApplications() { + return ObfuscationReflectionHelper.getPrivateValue(Laptop.class, null, "APPLICATIONS"); + } + + @Override + @OnlyIn(Dist.CLIENT) + @SuppressWarnings("DataFlowIssue") + protected void setRegisteredRenders(Map map) { + ObfuscationReflectionHelper.setPrivateValue(PrintingManager.class, null, map, "registeredRenders"); + } + + @Override + @OnlyIn(Dist.CLIENT) + protected Map getRegisteredRenders() { + return ObfuscationReflectionHelper.getPrivateValue(PrintingManager.class, null, "registeredRenders"); + } + }; + + public IEventBus modEventBus; + + public DevicesNeoForge(IEventBus modEventBus) throws LaunchException { + super(); + + this.modEventBus = modEventBus; + this.modEventBus.register(BuiltinAppsRegistration.class); + + Devices.preInit(); + + ModLoadingContext context = ModLoadingContext.get(); + IEventBus forgeEventBus = NeoForge.EVENT_BUS; + + // Common side stuff + LOGGER.info("Initializing registration handler and mod config."); + RegistrationHandler.register(); + context.registerConfig(ModConfig.Type.CLIENT, DeviceConfig.CONFIG); + + forgeEventBus.register(this); + forgeEventBus.register(new WorldDataHandler()); + + LOGGER.info("Registering common setup handler, and load complete handler."); + this.modEventBus.addListener(this::fmlCommonSetup); + this.modEventBus.addListener(this::fmlLoadComplete); + + // Server side stuff + LOGGER.info("Registering server setup handler."); + this.modEventBus.addListener(this::fmlServerSetup); + + // Client side stuff + if (!DatagenModLoader.isRunningDataGen()) { + LOGGER.info("Registering the reload listener."); +// ((ReloadableResourceManager) Minecraft.getInstance().getResourceManager()).registerReloadListener(this); + } + + // Register ourselves for server and other game events we are interested in + LOGGER.info("Registering mod class to forge events."); + forgeEventBus.register(this); + } + + private void fmlCommonSetup(FMLCommonSetupEvent t) { + this.instance.init(); + } + + private void fmlLoadComplete(FMLLoadCompleteEvent t) { + this.instance.loadComplete(); + } + + private void fmlServerSetup(FMLDedicatedServerSetupEvent t) { + this.instance.serverSetup(); + } +} diff --git a/neoforge/src/main/java/com/ultreon/devices/forge/NeoForgeApplicationRegistration.java b/neoforge/src/main/java/com/ultreon/devices/forge/NeoForgeApplicationRegistration.java new file mode 100644 index 000000000..ea294e58c --- /dev/null +++ b/neoforge/src/main/java/com/ultreon/devices/forge/NeoForgeApplicationRegistration.java @@ -0,0 +1,7 @@ +package com.ultreon.devices.forge; + +import net.neoforged.bus.api.Event; +import net.neoforged.fml.event.IModBusEvent; + +public class NeoForgeApplicationRegistration extends Event implements IModBusEvent { +} diff --git a/neoforge/src/main/java/com/ultreon/devices/forge/client/ForgeRenderRegistry.java b/neoforge/src/main/java/com/ultreon/devices/forge/client/ForgeRenderRegistry.java new file mode 100644 index 000000000..9884dbe24 --- /dev/null +++ b/neoforge/src/main/java/com/ultreon/devices/forge/client/ForgeRenderRegistry.java @@ -0,0 +1,13 @@ +package com.ultreon.devices.forge.client; + +import com.ultreon.devices.client.RenderRegistry; +import dev.architectury.registry.client.rendering.RenderTypeRegistry; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.world.level.block.Block; + +public class ForgeRenderRegistry extends RenderRegistry { + @Override + public void onRegister(Block block, RenderType renderType) { + RenderTypeRegistry.register(renderType, block); + } +} diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 000000000..535815f11 --- /dev/null +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,42 @@ +# Mods.toml for the devices mod by ultreon (originally created my MrCrayfish) +# Copyright (c) 2022 - Ultreon Team, GPLv3 License. See the license at https://www.gnu.org/licenses/gpl-3.0-standalone.html + +modLoader = "javafml" +loaderVersion = "[${loaderVersion},)" +license = "GPL-3.0" +issueTrackerURL = "https://github.com/Ultreon/devices-mod/issues" + +# The main mod, and all sub-mods. +[[mods]] +modId = "devices" +version = "${version}" +displayName = "Devices Mod" +#updateJSONURL="http://myurl.me/" +displayURL = "https://github.com/Ultreon/devices-mod" +logoFile="devices_mod.png" +credits = "Thanks to MrCrayfish for the idea and the original mod that was made in 1.12.2. Thank you to MinecraftDoodler for helping with textures. Thank you to lizterzapzap for the Devices Mod icon. Cheers to these people for donating during the development: Mastef Chief, Haunted Corpse, Jake Crowley, fabbe50, PlayDashGaming, jack jook, Hunstagamez, Techyy YT, MinecraftDoodler, Norge100YT, Cyberman2208, CreepergamingsMC" +authors = "XyperCode, Jab125" +description = "${description}" +itemIcon = "devices:red_laptop" + +# Dependencies for the main mod. +[[dependencies.devices]] +modId = "forge" +mandatory = true +versionRange = "[${forgeVersion},)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.devices]] +modId = "minecraft" +mandatory = true +versionRange = "1.20.4" +ordering = "NONE" +side = "BOTH" + +[[dependencies.devices]] +modId = "architectury" +mandatory = true +versionRange = "[11,12)" +ordering = "NONE" +side = "BOTH" diff --git a/neoforge/src/main/resources/META-INF/services/com.ultreon.devices.client.RenderRegistry b/neoforge/src/main/resources/META-INF/services/com.ultreon.devices.client.RenderRegistry new file mode 100644 index 000000000..49246736a --- /dev/null +++ b/neoforge/src/main/resources/META-INF/services/com.ultreon.devices.client.RenderRegistry @@ -0,0 +1 @@ +com.ultreon.devices.forge.client.ForgeRenderRegistry \ No newline at end of file diff --git a/neoforge/src/main/resources/devices.mixins.json b/neoforge/src/main/resources/devices.mixins.json new file mode 100644 index 000000000..7a404d86a --- /dev/null +++ b/neoforge/src/main/resources/devices.mixins.json @@ -0,0 +1,13 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "com.ultreon.devices.devices.mixin.forge", + "compatibilityLevel": "JAVA_17", + "mixins": [ + ], + "client": [ + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/neoforge/src/main/resources/devices_mod.png b/neoforge/src/main/resources/devices_mod.png new file mode 100644 index 0000000000000000000000000000000000000000..6624851fdb6758ed912bf078df84530a3ea3ff51 GIT binary patch literal 2284 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)eHha1_hE&XXd&4$QHdLbF zq4f_d^L-jjf=w)}UR@5t9@iQo7;h)=i@a&%>RcMIfk|N{N2{o}2+M>C!v7O(bP}w( zERX)Sd3t@0W$}}p>(7Hs9>O5Z*LKw*F0Ii`O7zReLZnyC%Zda{eOR~GxYlT>*V4u|L)S+N$9@bvR3}rq zb@RXb|7G3cd;P1q!L`4OH@^PAVaApn1MNWTs?*`(%e!yRn)jw%Z~x47;)_FN=l93f zZ|N^jmVYq)Ixsc3=kwir`(Xe6i|^!nYa5O?@85r)@84fb3z=$$0Z$Cq`2XH}n6zcp z`S*RX|9?;K7Sx{gFL(c2_T5K2L~G4{{5~8p&`zB7tWs{*>&4dZfnm2}b@%08+6`-> zx4*ae)3{F0Z~4U6y9YW2%zAEF`|keRvX|l?p03?4X1w6x?A7}(tN;D>@hPa}?Edb) z?j5j(m_+095nJ|wmC*}cJ}9v7zw=FfcUiN|-aV0Lu9=)qzW)Eqw=%=#uKD`w+TWGT zI#yR-`~P@d{XiF@CbBZ`(%J3L+1wA=&UeIj@_$G7Pv02nUfm!CC!wnS6Cni@%Kw;e aHv4S-zy4%}On-enkYS##elF{r5}E+iShHvV literal 0 HcmV?d00001 diff --git a/neoforge/src/main/resources/pack.mcmeta b/neoforge/src/main/resources/pack.mcmeta new file mode 100644 index 000000000..e6b7f33f5 --- /dev/null +++ b/neoforge/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "devices resources", + "pack_format": 8 + } +} diff --git a/settings.gradle b/settings.gradle index 90beba93d..5e3d29043 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,5 +10,6 @@ pluginManagement { include("common") include("fabric") include("forge") +include("neoforge") include("fabric-datagen-helper") include("fabric-testmod") \ No newline at end of file From b289a7dd46178d82c7c54627fe551a8901ebf06b Mon Sep 17 00:00:00 2001 From: xypercode Date: Mon, 29 Apr 2024 18:26:05 +0200 Subject: [PATCH 14/18] =?UTF-8?q?=F0=9F=A7=BC=20Cleaning=20&=20fixing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jab125/version/SemanticVersionImpl.java | 4 +- .../com/ultreon/devices/ClientModEvents.java | 1 - .../devices/api/app/component/ItemList.java | 2 +- .../ultreon/devices/block/ComputerBlock.java | 78 ++++++++++-------- .../ultreon/devices/block/LaptopBlock.java | 2 +- .../ultreon/devices/block/MacMaxXBlock.java | 11 +-- .../devices/block/MacMaxXBlockPart.java | 12 +-- .../devices/block/OfficeChairBlock.java | 12 +-- .../ultreon/devices/block/PrinterBlock.java | 2 +- .../ultreon/devices/block/RouterBlock.java | 4 +- .../block/entity/RouterBlockEntity.java | 3 +- .../devices/block/entity/SyncBlockEntity.java | 3 +- .../ultreon/devices/entity/SeatEntity.java | 3 +- .../entity/renderer/SeatEntityRenderer.java | 3 +- .../devices/item/EthernetCableItem.java | 2 +- .../devices/models/block/laptop_base.json | 2 +- .../devices/textures/{model => block}/usb.png | Bin .../java/com/jab125/clientint/ClientInit.java | 3 +- 18 files changed, 79 insertions(+), 68 deletions(-) rename common/src/main/resources/assets/devices/textures/{model => block}/usb.png (100%) diff --git a/common/src/main/java/com/jab125/version/SemanticVersionImpl.java b/common/src/main/java/com/jab125/version/SemanticVersionImpl.java index f5cffbd27..d4e6fe9e1 100644 --- a/common/src/main/java/com/jab125/version/SemanticVersionImpl.java +++ b/common/src/main/java/com/jab125/version/SemanticVersionImpl.java @@ -16,6 +16,8 @@ package com.jab125.version; +import org.jetbrains.annotations.NotNull; + import java.util.Arrays; import java.util.Objects; import java.util.Optional; @@ -246,7 +248,7 @@ public boolean equalsComponentsExactly(SemanticVersionImpl other) { } @Override - public int compareTo(Version other) { + public int compareTo(@NotNull Version other) { if (!(other instanceof SemanticVersion)) { return getFriendlyString().compareTo(other.getFriendlyString()); } diff --git a/common/src/main/java/com/ultreon/devices/ClientModEvents.java b/common/src/main/java/com/ultreon/devices/ClientModEvents.java index 8db2c934a..c836fcd2c 100644 --- a/common/src/main/java/com/ultreon/devices/ClientModEvents.java +++ b/common/src/main/java/com/ultreon/devices/ClientModEvents.java @@ -103,7 +103,6 @@ public CompletableFuture reload(@NotNull PreparableReloadListener.Preparat } private static void registerRenderLayers() { - if (true) return; DeviceBlocks.getAllLaptops().forEach(block -> { LOGGER.debug(SETUP, "Setting render layer for laptop {}", RegistrarManager.getId(block, Registries.BLOCK)); RenderTypeRegistry.register(RenderType.cutout(), block); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java b/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java index 7e509f6f4..55867c683 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java @@ -432,7 +432,7 @@ public void sort() { } @Override - public Iterator iterator() { + public @NotNull Iterator iterator() { return items.iterator(); } } diff --git a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java index ef1ba1c23..aca732574 100644 --- a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java @@ -1,8 +1,7 @@ package com.ultreon.devices.block; -import com.mojang.serialization.MapCodec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.ModDeviceTypes; +import com.ultreon.devices.block.entity.ComputerBlockEntity; import com.ultreon.devices.block.entity.LaptopBlockEntity; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.item.FlashDriveItem; @@ -23,7 +22,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.ButtonBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; @@ -58,49 +56,61 @@ public InteractionResult use(@NotNull BlockState state, @NotNull Level level, @N } return InteractionResult.SUCCESS; } else { - if (hit.getDirection() == state.getValue(FACING).getClockWise(Direction.Axis.Y)) { - ItemStack heldItem = player.getItemInHand(hand); - if (!heldItem.isEmpty() && heldItem.getItem() instanceof FlashDriveItem) { - if (laptop.canChangeAttachment()) { - if (laptop.getFileSystem().attachDrive(heldItem.copy())) { - DebugLog.logTime(level.getGameTime(), "Attached Drive"); - laptop.setAttachmentCooldown(10); - heldItem.shrink(1); - return InteractionResult.sidedSuccess(level.isClientSide); - } else { - return InteractionResult.FAIL; - } - } - } - - if (laptop.canChangeAttachment()) { - ItemStack stack = laptop.getFileSystem().detachDrive(); - if (stack != null) { - DebugLog.logTime(level.getGameTime(), "Detached Drive"); - laptop.setAttachmentCooldown(10); - BlockPos summonPos = pos.relative(state.getValue(FACING).getClockWise(Direction.Axis.Y)); - level.addFreshEntity(new ItemEntity(level, summonPos.getX() + 0.5, summonPos.getY(), summonPos.getZ() + 0.5, stack)); - BlockEntityUtil.markBlockForUpdate(level, pos); - return InteractionResult.sidedSuccess(level.isClientSide); - } - } - return InteractionResult.FAIL; - } + InteractionResult result = doAttachment(state, level, pos, player, hand, hit, laptop); + if (result != null) return result; if (laptop.isOpen()) { if (level.isClientSide) { - EnvExecutor.runInEnv(Env.CLIENT, () -> () -> { - ClientLaptopWrapper.execute(laptop); - }); + EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(laptop)); } return InteractionResult.sidedSuccess(level.isClientSide); } } + } else if (blockEntity instanceof ComputerBlockEntity computer) { + if (level.isClientSide) { + EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(computer)); + } + + return InteractionResult.sidedSuccess(level.isClientSide); + } else { + throw new IllegalStateException("Unexpected block entity: " + blockEntity); } return InteractionResult.PASS; } + private static @Nullable InteractionResult doAttachment(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand hand, @NotNull BlockHitResult hit, LaptopBlockEntity laptop) { + if (hit.getDirection() == state.getValue(FACING).getClockWise(Direction.Axis.Y)) { + ItemStack heldItem = player.getItemInHand(hand); + if (!heldItem.isEmpty() && heldItem.getItem() instanceof FlashDriveItem) { + if (laptop.canChangeAttachment()) { + if (laptop.getFileSystem().attachDrive(heldItem.copy())) { + DebugLog.logTime(level.getGameTime(), "Attached Drive"); + laptop.setAttachmentCooldown(10); + heldItem.shrink(1); + return InteractionResult.sidedSuccess(level.isClientSide); + } else { + return InteractionResult.FAIL; + } + } + } + + if (laptop.canChangeAttachment()) { + ItemStack stack = laptop.getFileSystem().detachDrive(); + if (stack != null) { + DebugLog.logTime(level.getGameTime(), "Detached Drive"); + laptop.setAttachmentCooldown(10); + BlockPos summonPos = pos.relative(state.getValue(FACING).getClockWise(Direction.Axis.Y)); + level.addFreshEntity(new ItemEntity(level, summonPos.getX() + 0.5, summonPos.getY(), summonPos.getZ() + 0.5, stack)); + BlockEntityUtil.markBlockForUpdate(level, pos); + return InteractionResult.sidedSuccess(level.isClientSide); + } + } + return InteractionResult.FAIL; + } + return null; + } + public abstract boolean isDesktopPC(); public boolean isLaptop() { diff --git a/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java b/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java index 3bffb1e5a..02875a397 100644 --- a/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/LaptopBlock.java @@ -98,7 +98,7 @@ protected void removeTagsForDrop(CompoundTag tileEntityTag) { } @Override - protected MapCodec codec() { + protected @NotNull MapCodec codec() { return CODEC; } } diff --git a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java index a8ed41295..52dd7f6d2 100644 --- a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java @@ -1,7 +1,6 @@ package com.ultreon.devices.block; import com.mojang.serialization.MapCodec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.block.entity.MacMaxXBlockEntity; import com.ultreon.devices.init.DeviceBlocks; import dev.architectury.platform.Platform; @@ -12,17 +11,13 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.HorizontalDirectionalBlock; -import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; @@ -158,7 +153,7 @@ private boolean hasBlock(Level level, BlockPos pos, InteractionHand hand, ItemSt return !(level.getBlockState(pos).isAir() || level.getBlockState(pos).canBeReplaced(new FakeBlockPlaceContext(level, hand, itemInHand, new BlockHitResult(Vec3.atCenterOf(pos), face, pos, false)))); } - public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, BlockState state, LivingEntity placer, @NotNull ItemStack stack) { + public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, LivingEntity placer, @NotNull ItemStack stack) { if (state.isAir()) return; BlockState partState = DeviceBlocks.MAC_MAX_X_PART.get().defaultBlockState(); partState = partState.setValue(FACING, state.getValue(FACING)); @@ -193,7 +188,7 @@ public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, BlockState } @Override - public BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, BlockState state, @NotNull Player player) { + public @NotNull BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, BlockState state, @NotNull Player player) { switch (state.getValue(FACING)) { case NORTH -> { level.setBlock(pos.above().west(), Blocks.AIR.defaultBlockState(), 3); @@ -234,7 +229,7 @@ public boolean isDesktopPC() { } @Override - public MutableComponent getName() { + public @NotNull MutableComponent getName() { MutableComponent normalName = Component.translatable("block.devices.mac_max_x"); if (Platform.isModLoaded("emojiful")) { return Component.translatable("block.devices.mac_max_x_emoji"); diff --git a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java index 19b87461e..d49f79a62 100644 --- a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java +++ b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlockPart.java @@ -313,7 +313,7 @@ public MacMaxXBlockPart(Properties properties) { } @Override - public BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull Player player) { + public @NotNull BlockState playerWillDestroy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull Player player) { BlockPos originPos = getOriginPos(pos, state); switch (state.getValue(FACING)) { case NORTH -> { @@ -391,7 +391,7 @@ private static BlockPos getOriginPos(@NotNull BlockPos pos, BlockState state) { } @Override - public InteractionResult use(@NotNull BlockState state, Level level, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand hand, @NotNull BlockHitResult hit) { + public @NotNull InteractionResult use(@NotNull BlockState state, Level level, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand hand, @NotNull BlockHitResult hit) { BlockPos originPos = getOriginPos(pos, state); BlockState originState = level.getBlockState(originPos); if (originState.getBlock() instanceof MacMaxXBlock block) { @@ -401,7 +401,7 @@ public InteractionResult use(@NotNull BlockState state, Level level, @NotNull Bl } @Override - public MutableComponent getName() { + public @NotNull MutableComponent getName() { MutableComponent normalName = Component.translatable("block.devices.mac_max_x"); if (Platform.isModLoaded("emojiful")) { return Component.translatable("block.devices.mac_max_x_emoji"); @@ -410,7 +410,7 @@ public MutableComponent getName() { } @Override - public RenderShape getRenderShape(@NotNull BlockState state) { + public @NotNull RenderShape getRenderShape(@NotNull BlockState state) { return RenderShape.ENTITYBLOCK_ANIMATED; } @@ -421,7 +421,7 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder codec() { + protected @NotNull MapCodec codec() { return CODEC; } @@ -429,7 +429,7 @@ public enum Part implements StringRepresentable { BL, BR, TL, T, TR; @Override - public String getSerializedName() { + public @NotNull String getSerializedName() { return switch (this) { case BL -> "bottom_left"; case BR -> "bottom_right"; diff --git a/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java b/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java index 26aab5550..8e3bc8d6e 100644 --- a/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/OfficeChairBlock.java @@ -72,12 +72,12 @@ public boolean canSurvive(BlockState state, LevelReader reader, BlockPos pos) { } @Override - public VoxelShape getVisualShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + public @NotNull VoxelShape getVisualShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { return SEAT_BOUNDING_BOX; } @Override - public VoxelShape getCollisionShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + public @NotNull VoxelShape getCollisionShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { if (context instanceof EntityCollisionContext entityCollisionContext) { if (entityCollisionContext.getEntity() != null && entityCollisionContext.getEntity().getVehicle() instanceof SeatEntity) { return EMPTY_BOX; @@ -87,7 +87,7 @@ public VoxelShape getCollisionShape(BlockState state, BlockGetter level, BlockPo } @Override - public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + public @NotNull InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { //DebugLog.log(DeviceEntities.SEAT.get().create(level).toString()); DebugLog.log("OKOKJRTKFD"); if (!level.isClientSide) { @@ -98,7 +98,7 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player @Nullable @Override - public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) { return new OfficeChairBlockEntity(pos, state); } @@ -109,7 +109,7 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder codec() { + protected @NotNull MapCodec codec() { return CODEC; } @@ -117,7 +117,7 @@ public enum Type implements StringRepresentable { LEGS, SEAT, FULL; @Override - public String getSerializedName() { + public @NotNull String getSerializedName() { return name().toLowerCase(); } } diff --git a/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java b/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java index c94ad04b1..1e6cd2179 100644 --- a/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/PrinterBlock.java @@ -126,7 +126,7 @@ public InteractionResult use(@NotNull BlockState state, Level level, @NotNull Bl } @Override - protected MapCodec codec() { + protected @NotNull MapCodec codec() { return CODEC; } } diff --git a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java index 4e898fff6..2db9c3d61 100644 --- a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java @@ -90,7 +90,7 @@ public RouterBlock(DyeColor color, Properties properties) { } @Override - public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + public @NotNull InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { if (level.isClientSide && player.isCreative()) { BlockEntity blockEntity = level.getBlockEntity(pos); if (blockEntity instanceof RouterBlockEntity router) { @@ -124,7 +124,7 @@ protected void createBlockStateDefinition(StateDefinition.@NotNull Builder codec() { + protected @NotNull MapCodec codec() { return CODEC; } } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java index 9f0d00624..1860b4495 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java @@ -8,6 +8,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; @SuppressWarnings("unused") public class RouterBlockEntity extends DeviceBlockEntity.Colored { @@ -56,7 +57,7 @@ public String getDeviceName() { } @Override - public void saveAdditional(CompoundTag tag) { + public void saveAdditional(@NotNull CompoundTag tag) { super.saveAdditional(tag); if (tag.contains("router", Tag.TAG_COMPOUND)) { router = Router.fromTag(worldPosition, tag.getCompound("router")); diff --git a/common/src/main/java/com/ultreon/devices/block/entity/SyncBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/SyncBlockEntity.java index e08ea6d8c..ee442fa22 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/SyncBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/SyncBlockEntity.java @@ -14,6 +14,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Objects; @@ -43,7 +44,7 @@ public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt) { } @Override - public CompoundTag getUpdateTag() { + public @NotNull CompoundTag getUpdateTag() { if (!pipeline.isEmpty()) { CompoundTag updateTag = pipeline; saveAdditional(updateTag); diff --git a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java index d9782e6de..5041fde1e 100644 --- a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java +++ b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java @@ -10,6 +10,7 @@ import net.minecraft.world.entity.*; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; +import org.jetbrains.annotations.NotNull; import java.util.List; @@ -75,7 +76,7 @@ public LivingEntity getControllingPassenger() } @Override - public Packet getAddEntityPacket() { + public @NotNull Packet getAddEntityPacket() { return new ClientboundAddEntityPacket(this); } diff --git a/common/src/main/java/com/ultreon/devices/entity/renderer/SeatEntityRenderer.java b/common/src/main/java/com/ultreon/devices/entity/renderer/SeatEntityRenderer.java index 723cf767b..56ae6ba66 100644 --- a/common/src/main/java/com/ultreon/devices/entity/renderer/SeatEntityRenderer.java +++ b/common/src/main/java/com/ultreon/devices/entity/renderer/SeatEntityRenderer.java @@ -8,6 +8,7 @@ import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; +import org.jetbrains.annotations.NotNull; @Environment(EnvType.CLIENT) public class SeatEntityRenderer @@ -18,7 +19,7 @@ public SeatEntityRenderer(EntityRendererProvider.Context context) { } @Override - public ResourceLocation getTextureLocation(T entity) { + public @NotNull ResourceLocation getTextureLocation(T entity) { return TextureAtlas.LOCATION_BLOCKS; } } \ No newline at end of file diff --git a/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java b/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java index 1f04a1b61..bcd09ebec 100644 --- a/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java +++ b/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java @@ -42,7 +42,7 @@ private static double getDistance(BlockPos source, BlockPos target) { } @Override - public InteractionResult useOn(UseOnContext context) { + public @NotNull InteractionResult useOn(UseOnContext context) { Level level = context.getLevel(); Player player = context.getPlayer(); BlockPos pos = context.getClickedPos(); diff --git a/common/src/main/resources/assets/devices/models/block/laptop_base.json b/common/src/main/resources/assets/devices/models/block/laptop_base.json index 5d8a23d05..c93a25f93 100644 --- a/common/src/main/resources/assets/devices/models/block/laptop_base.json +++ b/common/src/main/resources/assets/devices/models/block/laptop_base.json @@ -5,7 +5,7 @@ "0": "devices:block/laptop1", "1": "devices:block/laptop2", "2": "block/red_wool", - "3": "devices:model/usb" + "3": "devices:block/usb" }, "elements": [ { diff --git a/common/src/main/resources/assets/devices/textures/model/usb.png b/common/src/main/resources/assets/devices/textures/block/usb.png similarity index 100% rename from common/src/main/resources/assets/devices/textures/model/usb.png rename to common/src/main/resources/assets/devices/textures/block/usb.png diff --git a/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java b/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java index 060ce11b9..e5f020f14 100644 --- a/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java +++ b/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java @@ -15,6 +15,7 @@ import net.minecraft.server.packs.resources.Resource; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.util.profiling.ProfilerFiller; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,7 +42,7 @@ public void onInitializeClient() { private String currentCode = "en_us"; private LanguageInfo currentLanguage; @Override - public CompletableFuture reload(PreparationBarrier preparationBarrier, ResourceManager resourceManager, ProfilerFiller preparationsProfiler, ProfilerFiller reloadProfiler, Executor backgroundExecutor, Executor gameExecutor) { + public @NotNull CompletableFuture reload(PreparationBarrier preparationBarrier, ResourceManager resourceManager, ProfilerFiller preparationsProfiler, ProfilerFiller reloadProfiler, Executor backgroundExecutor, Executor gameExecutor) { return CompletableFuture.runAsync(() -> { this.languages = extractLanguages(resourceManager.listPacks()); // extractAllFrom(languages, resourceManager.listPacks(), resourceManager); From d326457d5f7e5034d6a1520cd605b3fad30ca4f0 Mon Sep 17 00:00:00 2001 From: xypercode Date: Tue, 30 Apr 2024 18:34:27 +0200 Subject: [PATCH 15/18] =?UTF-8?q?=F0=9F=92=A5=20Refactors=20&=20OS=20Api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/build.gradle.kts | 27 + build.gradle | 11 +- common/build.gradle | 3 + .../classloader/api/ClassLoaderApi.java | 2 +- .../jab125/classloader/impl/ClassScanner.java | 3 +- .../com/jab125/version/VersionInterval.java | 12 +- .../jab125/version/VersionIntervalImpl.java | 143 ++--- .../version/VersionPredicateParser.java | 2 +- .../java/com/ultreon/devices/BuiltinApps.java | 2 +- .../com/ultreon/devices/ClientModEvents.java | 44 +- .../com/ultreon/devices/DeviceConfig.java | 2 +- .../java/com/ultreon/devices/DeviceTab.java | 8 +- .../ultreon/devices/DevicesEarlyConfig.java | 8 +- .../com/ultreon/devices/OperatingSystems.java | 20 + .../java/com/ultreon/devices/Reference.java | 3 +- .../java/com/ultreon/devices/Resources.java | 4 +- .../{Devices.java => UltreonDevicesMod.java} | 92 +-- .../devices/api/ApplicationManager.java | 8 +- .../devices/api/ApplicationSupplier.java | 17 + .../com/ultreon/devices/api/DebugLog.java | 11 + .../java/com/ultreon/devices/api/Logger.java | 35 ++ .../ultreon/devices/api/SystemException.java | 19 + .../ultreon/devices/api/app/Application.java | 16 +- .../ultreon/devices/api/app/Component.java | 12 +- .../com/ultreon/devices/api/app/Dialog.java | 51 +- .../com/ultreon/devices/api/app/Layout.java | 11 +- .../devices/api/app/ScrollableLayout.java | 9 +- .../com/ultreon/devices/api/app/System.java | 2 +- .../devices/api/app/SystemAccessor.java | 5 +- .../devices/api/app/component/Button.java | 11 +- .../devices/api/app/component/CheckBox.java | 5 +- .../devices/api/app/component/ComboBox.java | 14 +- .../devices/api/app/component/Image.java | 21 +- .../devices/api/app/component/Inventory.java | 8 +- .../devices/api/app/component/ItemList.java | 8 +- .../devices/api/app/component/Label.java | 5 +- .../api/app/component/NumberSelector.java | 7 +- .../api/app/component/ProgressBar.java | 5 +- .../devices/api/app/component/Slider.java | 5 +- .../devices/api/app/component/Spinner.java | 5 +- .../devices/api/app/component/Text.java | 15 +- .../devices/api/app/component/TextArea.java | 16 +- .../devices/api/app/component/TextField.java | 6 +- .../com/ultreon/devices/api/bios/Bios.java | 24 + .../devices/api/bios/BiosInterrupt.java | 6 + .../devices/api/bios/BiosNotification.java | 10 + .../api/bios/DoubleFaultInterrupt.java | 11 + .../devices/api/bios/FaultInterrupt.java | 8 + .../com/ultreon/devices/api/bios/Font.java | 15 + .../devices/api/bios/InterruptData.java | 5 + .../devices/api/bios/PowerModeInterrupt.java | 12 + .../devices/api/device/AudioDevice.java | 5 + .../ultreon/devices/api/device/Device.java | 7 + .../devices/api/device/MousePointer.java | 7 + .../devices/api/event/LaptopEvent.java | 4 +- .../com/ultreon/devices/api/io/Folder.java | 4 +- .../devices/api/os/OperatingSystem.java | 44 ++ .../devices/api/os/ShutdownSource.java | 5 + .../devices/api/print/PrintingManager.java | 12 +- .../devices/api/storage/DataStorage.java | 16 + .../devices/api/storage/FileHandle.java | 132 ++++ .../ultreon/devices/api/task/TaskManager.java | 5 +- .../com/ultreon/devices/api/util/Color.java | 104 ++++ .../ultreon/devices/api/util/GuiHelper.java | 11 + .../ultreon/devices/api/util/ImageLoader.java | 12 + .../ultreon/devices/api/util/ImageSource.java | 13 + .../devices/api/util/Vulnerability.java | 74 +++ .../ultreon/devices/api/utils/BankUtil.java | 2 + .../devices/api/utils/OnlineRequest.java | 20 +- .../ultreon/devices/api/utils/RenderUtil.java | 20 +- .../ultreon/devices/api/video/VideoInfo.java | 4 +- .../devices/block/ClientLaptopWrapper.java | 13 +- .../ultreon/devices/block/ComputerBlock.java | 18 +- .../ultreon/devices/block/MacMaxXBlock.java | 1 + .../com/ultreon/devices/block/PaperBlock.java | 3 - .../ultreon/devices/block/RouterBlock.java | 2 +- .../block/entity/ComputerBlockEntity.java | 136 ++-- .../block/entity/DeviceBlockEntity.java | 2 + .../block/entity/LaptopBlockEntity.java | 102 +++ .../entity/NetworkDeviceBlockEntity.java | 1 + .../block/entity/RouterBlockEntity.java | 2 + .../block/entity/renderer/PaperRenderer.java | 8 +- .../entity/renderer/PrinterRenderer.java | 11 +- .../com/ultreon/devices/client/Display.java | 460 ++++++++++++++ .../com/ultreon/devices/core/BiosImpl.java | 111 ++++ .../com/ultreon/devices/core/BootLoader.java | 26 + .../com/ultreon/devices/core/TaskBar.java | 67 +- .../devices/core/WorldLessBiosImpl.java | 60 ++ .../com/ultreon/devices/core/Wrappable.java | 5 +- .../core/client/ClientNotification.java | 14 +- .../devices/core/client/LaptopFont.java | 4 - .../core/client/debug/ClientAppDebug.java | 7 +- .../ultreon/devices/core/io/FileSystem.java | 22 +- .../core/io/task/TaskGetMainDrive.java | 10 +- .../core/io/task/TaskGetStructure.java | 5 +- .../devices/core/io/task/TaskSendAction.java | 4 +- .../core/laptop/client/ClientLaptop.java | 18 +- .../devices/core/laptop/common/TaskBar.java | 7 +- .../ultreon/devices/core/network/Router.java | 4 +- .../devices/core/network/TrayItemWifi.java | 28 +- .../devices/core/task/TaskInstallApp.java | 6 +- .../com/ultreon/devices/debug/DebugLog.java | 3 - .../devices/device/AudioDeviceImpl.java | 29 + .../ultreon/devices/device/FrameBuffer.java | 94 +++ .../ultreon/devices/entity/SeatEntity.java | 1 + .../ultreon/devices/gui/GuiButtonClose.java | 3 +- .../com/ultreon/devices/impl/LoggerImpl.java | 88 +++ .../ultreon/devices/impl/OsLoadContext.java | 19 + .../devices/impl/storage/FileStorage.java | 25 + .../impl/storage/FileStorageHandle.java | 153 +++++ .../impl/storage/ResourceFileHandle.java | 95 +++ .../devices/impl/storage/ResourceStorage.java | 17 + .../devices/impl/storage/Storages.java | 17 + .../devices/init/DeviceBlockEntities.java | 16 +- .../ultreon/devices/init/DeviceBlocks.java | 18 +- .../devices/init/DeviceCreativeTabs.java | 5 +- .../ultreon/devices/init/DeviceEntities.java | 6 +- .../devices/init/DeviceEntityRenderers.java | 5 - .../com/ultreon/devices/init/DeviceItems.java | 66 +- .../ultreon/devices/init/DeviceSounds.java | 8 +- .../com/ultreon/devices/init/DeviceTags.java | 5 +- .../com/ultreon/devices/init/ModTags.java | 8 +- .../com/ultreon/devices/item/BasicItem.java | 4 +- .../devices/item/ColoredDeviceItem.java | 1 + .../ultreon/devices/item/ComponentItem.java | 4 +- .../com/ultreon/devices/item/DeviceItem.java | 1 + .../devices/item/EthernetCableItem.java | 31 +- .../ultreon/devices/item/FlashDriveItem.java | 4 +- .../ultreon/devices/mineos/DestFactor.java | 10 + .../ultreon/devices/mineos/DriverManager.java | 7 + .../ultreon/devices/mineos/MineOSSystem.java | 13 + .../ultreon/devices/mineos/SourceFactor.java | 10 + .../Laptop.java => mineos/client/MineOS.java} | 588 +++++++++--------- .../devices/mineos/client/MineOSKernel.java | 23 + .../{core => mineos/client}/Settings.java | 6 +- .../devices/mineos/client/TaskBar.java | 213 +++++++ .../{core => mineos/client}/Window.java | 61 +- .../devices/mixin/common/MinecraftMixin.java | 4 - .../devices/network/PacketHandler.java | 4 +- .../network/task/NotificationPacket.java | 4 +- .../network/task/SyncApplicationPacket.java | 6 +- .../com/ultreon/devices/object/AppInfo.java | 29 +- .../com/ultreon/devices/object/Canvas.java | 5 +- .../com/ultreon/devices/object/ColorGrid.java | 5 +- .../java/com/ultreon/devices/object/Game.java | 8 +- .../com/ultreon/devices/object/Player.java | 5 +- .../com/ultreon/devices/object/TileGrid.java | 5 +- .../devices/programs/BoatRacersApp.java | 4 +- .../ultreon/devices/programs/IconsApp.java | 29 +- .../devices/programs/NoteStashApp.java | 8 +- .../devices/programs/PixelPainterApp.java | 6 +- .../devices/programs/debug/TextAreaApp.java | 2 +- .../devices/programs/email/EmailApp.java | 10 +- .../devices/programs/email/EmailManager.java | 6 +- .../programs/email/object/Contact.java | 17 +- .../devices/programs/gitweb/GitWebApp.java | 12 +- .../gitweb/component/GitWebFrame.java | 2 +- .../component/container/BrewingBox.java | 5 +- .../component/container/ContainerBox.java | 14 +- .../component/container/FurnaceBox.java | 12 +- .../gitweb/component/container/LoomBox.java | 8 +- .../programs/gitweb/module/AppLinkModule.java | 2 +- .../gitweb/module/BannerIIModule.java | 12 +- .../gitweb/module/DownloadModule.java | 2 - .../programs/gitweb/module/HeaderModule.java | 6 +- .../devices/programs/snake/SnakeApp.java | 5 +- .../programs/snake/layout/SnakeLayout.java | 15 +- .../devices/programs/system/AppStore.java | 20 +- .../programs/system/FileBrowserApp.java | 10 +- .../programs/system/PredefinedResolution.java | 6 +- .../devices/programs/system/SettingsApp.java | 85 +-- .../devices/programs/system/SystemApp.java | 8 +- .../programs/system/VulnerabilityApp.java | 23 +- .../programs/system/component/AppGrid.java | 12 +- .../system/component/FileBrowser.java | 35 +- .../programs/system/component/Palette.java | 6 +- .../programs/system/component/SlideShow.java | 12 +- .../programs/system/layout/LayoutAppPage.java | 22 +- .../system/layout/LayoutSearchApps.java | 4 +- .../system/layout/StandardLayout.java | 8 +- .../system/object/ColorSchemePresets.java | 4 +- .../devices/programs/themes/ThemesApp.java | 69 +- .../com/ultreon/devices/util/Colorable.java | 1 + .../com/ultreon/devices/util/GLHelper.java | 17 +- .../devices/util/SiteRegistration.java | 8 +- .../ultreon/devices/util/Vulnerability.java | 125 ---- .../devices/util/VulnerabilityUtil.java | 61 ++ ...treon.devices.isolated.storage.DataStorage | 2 + .../resources/assets/devices/lang/en_au.json | 32 +- .../resources/assets/devices/lang/en_us.json | 32 +- .../textures/gui/laptop_wallpaper_11.png | Bin 0 -> 2207379 bytes .../java/com/jab125/clientint/ClientInit.java | 4 +- fabric/build.gradle | 5 + .../datagen/DevicesBlockTagProvider.java | 6 +- .../datagen/DevicesItemTagProvider.java | 6 +- .../datagen/DevicesLootTableGenerator.java | 10 +- .../datagen/DevicesRecipeProvider.java | 10 +- ...bric.java => UltreonDevicesModFabric.java} | 10 +- fabric/src/main/resources/fabric.mod.json | 2 +- .../src/main/resources/translations/en.json | 2 +- .../src/main/resources/translations/nl.json | 2 +- forge/build.gradle | 5 + .../ultreon/devices/forge/DevicesForge.java | 16 +- neoforge/build.gradle | 5 + .../devices/forge/DevicesNeoForge.java | 14 +- settings.gradle | 4 +- 206 files changed, 3513 insertions(+), 1561 deletions(-) create mode 100644 api/build.gradle.kts create mode 100644 common/src/main/java/com/ultreon/devices/OperatingSystems.java rename common/src/main/java/com/ultreon/devices/{Devices.java => UltreonDevicesMod.java} (89%) create mode 100644 common/src/main/java/com/ultreon/devices/api/ApplicationSupplier.java create mode 100644 common/src/main/java/com/ultreon/devices/api/DebugLog.java create mode 100644 common/src/main/java/com/ultreon/devices/api/Logger.java create mode 100644 common/src/main/java/com/ultreon/devices/api/SystemException.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/Bios.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/BiosInterrupt.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/BiosNotification.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/DoubleFaultInterrupt.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/FaultInterrupt.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/Font.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/InterruptData.java create mode 100644 common/src/main/java/com/ultreon/devices/api/bios/PowerModeInterrupt.java create mode 100644 common/src/main/java/com/ultreon/devices/api/device/AudioDevice.java create mode 100644 common/src/main/java/com/ultreon/devices/api/device/Device.java create mode 100644 common/src/main/java/com/ultreon/devices/api/device/MousePointer.java create mode 100644 common/src/main/java/com/ultreon/devices/api/os/OperatingSystem.java create mode 100644 common/src/main/java/com/ultreon/devices/api/os/ShutdownSource.java create mode 100644 common/src/main/java/com/ultreon/devices/api/storage/DataStorage.java create mode 100644 common/src/main/java/com/ultreon/devices/api/storage/FileHandle.java create mode 100644 common/src/main/java/com/ultreon/devices/api/util/Color.java create mode 100644 common/src/main/java/com/ultreon/devices/api/util/GuiHelper.java create mode 100644 common/src/main/java/com/ultreon/devices/api/util/ImageLoader.java create mode 100644 common/src/main/java/com/ultreon/devices/api/util/ImageSource.java create mode 100644 common/src/main/java/com/ultreon/devices/api/util/Vulnerability.java create mode 100644 common/src/main/java/com/ultreon/devices/client/Display.java create mode 100644 common/src/main/java/com/ultreon/devices/core/BiosImpl.java create mode 100644 common/src/main/java/com/ultreon/devices/core/BootLoader.java create mode 100644 common/src/main/java/com/ultreon/devices/core/WorldLessBiosImpl.java create mode 100644 common/src/main/java/com/ultreon/devices/device/AudioDeviceImpl.java create mode 100644 common/src/main/java/com/ultreon/devices/device/FrameBuffer.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/LoggerImpl.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/OsLoadContext.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/storage/FileStorage.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/storage/FileStorageHandle.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/storage/ResourceFileHandle.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/storage/ResourceStorage.java create mode 100644 common/src/main/java/com/ultreon/devices/impl/storage/Storages.java create mode 100644 common/src/main/java/com/ultreon/devices/mineos/DestFactor.java create mode 100644 common/src/main/java/com/ultreon/devices/mineos/DriverManager.java create mode 100644 common/src/main/java/com/ultreon/devices/mineos/MineOSSystem.java create mode 100644 common/src/main/java/com/ultreon/devices/mineos/SourceFactor.java rename common/src/main/java/com/ultreon/devices/{core/Laptop.java => mineos/client/MineOS.java} (74%) create mode 100644 common/src/main/java/com/ultreon/devices/mineos/client/MineOSKernel.java rename common/src/main/java/com/ultreon/devices/{core => mineos/client}/Settings.java (91%) create mode 100644 common/src/main/java/com/ultreon/devices/mineos/client/TaskBar.java rename common/src/main/java/com/ultreon/devices/{core => mineos/client}/Window.java (79%) delete mode 100644 common/src/main/java/com/ultreon/devices/util/Vulnerability.java create mode 100644 common/src/main/java/com/ultreon/devices/util/VulnerabilityUtil.java create mode 100644 common/src/main/resources/META-INF/services/com.ultreon.devices.isolated.storage.DataStorage create mode 100644 common/src/main/resources/assets/devices/textures/gui/laptop_wallpaper_11.png rename fabric/src/main/java/com/ultreon/devices/fabric/{DevicesFabric.java => UltreonDevicesModFabric.java} (87%) diff --git a/api/build.gradle.kts b/api/build.gradle.kts new file mode 100644 index 000000000..afef51d67 --- /dev/null +++ b/api/build.gradle.kts @@ -0,0 +1,27 @@ +plugins { + id("java") +} + +group = "com.ultreon.mods.devices" +version = "0.9.0" + +repositories { + mavenCentral() + + maven("https://github.com/Ultreon/ultreon-data/raw/main/.mvnrepo") + maven("https://github.com/Ultreon/corelibs/raw/main/.mvnrepo") +} + +dependencies { + testImplementation(platform("org.junit:junit-bom:5.10.0")) + testImplementation("org.junit.jupiter:junit-jupiter") + + implementation("org.jetbrains:annotations:23.0.0") + + implementation("io.github.ultreon:ubo:1.3.0") + implementation("io.github.ultreon.corelibs:commons-v0:0.2.0") +} + +tasks.test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8345d7f9f..d7f5ec46b 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,10 @@ Object getModDescription() { } subprojects { + if (project.name == "api") { + return + } + apply plugin: "dev.architectury.loom" loom { @@ -86,9 +90,12 @@ subprojects { allprojects { apply plugin: "java" - apply plugin: "architectury-plugin" apply plugin: "maven-publish" + if (project.name != "api") { + apply plugin: "architectury-plugin" + } + archivesBaseName = rootProject.archives_base_name version = rootProject.version group = rootProject.maven_group @@ -105,6 +112,8 @@ allprojects { maven { url "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" } maven { url "https://cursemaven.com" } maven { url "https://maven.terraformersmc.com/releases" } + maven { url "https://github.com/Ultreon/ultreon-data/raw/main/.mvnrepo" } + maven { url "https://github.com/Ultreon/corelibs/raw/main/.mvnrepo" } flatDir { dir "$rootProject.projectDir/libs/" } } diff --git a/common/build.gradle b/common/build.gradle index 132a036b9..2166329cd 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -18,8 +18,11 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury:$architectury_version" + implementation("io.github.ultreon:ubo:1.3.0") + modApi "fuzs.forgeconfigapiport:forgeconfigapiport-common-neoforgeapi:$forgeconfigapiport_version" + implementation project(":api") implementation "org.jetbrains.kotlin:kotlin-reflect:1.7.10" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10" // modApi "com.ultreon:ultranlang:0.1.0+6" diff --git a/common/src/main/java/com/jab125/classloader/api/ClassLoaderApi.java b/common/src/main/java/com/jab125/classloader/api/ClassLoaderApi.java index d8f981583..eff2186f6 100644 --- a/common/src/main/java/com/jab125/classloader/api/ClassLoaderApi.java +++ b/common/src/main/java/com/jab125/classloader/api/ClassLoaderApi.java @@ -11,7 +11,7 @@ public class ClassLoaderApi { public static ClassLoaderApi INSTANCE = new ClassLoaderApi(); - public void init() throws IOException { + public void init() { var d = new CustomClassLoader(); d.cl.getExecutionClasses().forEach((a) -> { try { diff --git a/common/src/main/java/com/jab125/classloader/impl/ClassScanner.java b/common/src/main/java/com/jab125/classloader/impl/ClassScanner.java index e9f292743..a12fa49a8 100644 --- a/common/src/main/java/com/jab125/classloader/impl/ClassScanner.java +++ b/common/src/main/java/com/jab125/classloader/impl/ClassScanner.java @@ -35,8 +35,7 @@ public AnnotationVisitor visitAnnotation(String descriptor, boolean visible) { @Override public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) { - var method = super.visitMethod(access, name, descriptor, signature, exceptions); - return method; + return super.visitMethod(access, name, descriptor, signature, exceptions); } @Override diff --git a/common/src/main/java/com/jab125/version/VersionInterval.java b/common/src/main/java/com/jab125/version/VersionInterval.java index cd8f0dc27..5f614efbb 100644 --- a/common/src/main/java/com/jab125/version/VersionInterval.java +++ b/common/src/main/java/com/jab125/version/VersionInterval.java @@ -39,30 +39,30 @@ public interface VersionInterval { /** * Get the lower limit of the version interval. * - * @return Version's lower limit or null if none, inclusive depending on {@link #isMinInclusive()} + * @return Version's lower limit or null if none, inclusive depending on {@link #minInclusive()} */ - Version getMin(); + Version min(); /** * Get whether the lower limit of the version interval is inclusive. * * @return True if inclusive, false otherwise */ - boolean isMinInclusive(); + boolean minInclusive(); /** * Get the upper limit of the version interval. * - * @return Version's upper limit or null if none, inclusive depending on {@link #isMaxInclusive()} + * @return Version's upper limit or null if none, inclusive depending on {@link #maxInclusive()} */ - Version getMax(); + Version max(); /** * Get whether the upper limit of the version interval is inclusive. * * @return True if inclusive, false otherwise */ - boolean isMaxInclusive(); + boolean maxInclusive(); default VersionInterval and(VersionInterval o) { return and(this, o); diff --git a/common/src/main/java/com/jab125/version/VersionIntervalImpl.java b/common/src/main/java/com/jab125/version/VersionIntervalImpl.java index cafe994a7..7d1e29c2a 100644 --- a/common/src/main/java/com/jab125/version/VersionIntervalImpl.java +++ b/common/src/main/java/com/jab125/version/VersionIntervalImpl.java @@ -20,14 +20,10 @@ ; -public final class VersionIntervalImpl implements VersionInterval { - private final Version min; - private final boolean minInclusive; - private final Version max; - private final boolean maxInclusive; - - public VersionIntervalImpl(Version min, boolean minInclusive, - Version max, boolean maxInclusive) { +public record VersionIntervalImpl(Version min, boolean minInclusive, Version max, + boolean maxInclusive) implements VersionInterval { + public VersionIntervalImpl(Version min, boolean minInclusive, + Version max, boolean maxInclusive) { this.min = min; this.minInclusive = min != null ? minInclusive : false; this.max = max; @@ -46,44 +42,19 @@ public boolean isSemantic() { && (max == null || max instanceof SemanticVersion); } - @Override - public Version getMin() { - return min; - } - - @Override - public boolean isMinInclusive() { - return minInclusive; - } - - @Override - public Version getMax() { - return max; - } - - @Override - public boolean isMaxInclusive() { - return maxInclusive; - } @Override public boolean equals(Object obj) { if (obj instanceof VersionInterval) { VersionInterval o = (VersionInterval) obj; - return Objects.equals(min, o.getMin()) && minInclusive == o.isMinInclusive() - && Objects.equals(max, o.getMax()) && maxInclusive == o.isMaxInclusive(); + return Objects.equals(min, o.min()) && minInclusive == o.minInclusive() + && Objects.equals(max, o.max()) && maxInclusive == o.maxInclusive(); } else { return false; } } - @Override - public int hashCode() { - return (Objects.hashCode(min) + (minInclusive ? 1 : 0)) * 31 - + (Objects.hashCode(max) + (maxInclusive ? 1 : 0)) * 31; - } - @Override public String toString() { if (min == null) { @@ -110,10 +81,10 @@ public static VersionInterval and(VersionInterval a, VersionInterval b) { } private static VersionInterval andPlain(VersionInterval a, VersionInterval b) { - Version aMin = a.getMin(); - Version aMax = a.getMax(); - Version bMin = b.getMin(); - Version bMax = b.getMax(); + Version aMin = a.min(); + Version aMax = a.max(); + Version bMin = b.min(); + Version bMax = b.max(); if (aMin != null) { // -> min must be aMin or invalid if (bMin != null && !aMin.equals(bMin) || bMax != null && !aMin.equals(bMax)) { @@ -124,7 +95,7 @@ private static VersionInterval andPlain(VersionInterval a, VersionInterval b) { assert Objects.equals(aMax, bMax) || bMax == null; return a; } else { - return new VersionIntervalImpl(aMin, true, bMax, b.isMaxInclusive()); + return new VersionIntervalImpl(aMin, true, bMax, b.maxInclusive()); } } else if (aMax != null) { // -> min must be bMin, max must be aMax or invalid if (bMin != null && !aMax.equals(bMin) || bMax != null && !aMax.equals(bMax)) { @@ -158,24 +129,24 @@ private static VersionInterval andSemantic(VersionInterval a, VersionInterval b) } else if (minCmp < 0) { // aMin < bMin, aMax != bMax -> b..min(a,b) if (maxCmp > 0) return b; // a > b -> b - SemanticVersion aMax = (SemanticVersion) a.getMax(); - SemanticVersion bMin = (SemanticVersion) b.getMin(); + SemanticVersion aMax = (SemanticVersion) a.max(); + SemanticVersion bMin = (SemanticVersion) b.min(); int cmp = bMin.compareTo((Version) aMax); - if (cmp < 0 || cmp == 0 && b.isMinInclusive() && a.isMaxInclusive()) { - return new VersionIntervalImpl(bMin, b.isMinInclusive(), aMax, a.isMaxInclusive()); + if (cmp < 0 || cmp == 0 && b.minInclusive() && a.maxInclusive()) { + return new VersionIntervalImpl(bMin, b.minInclusive(), aMax, a.maxInclusive()); } else { return null; } } else { // aMin > bMin, aMax != bMax -> a..min(a,b) if (maxCmp < 0) return a; // a < b -> a - SemanticVersion aMin = (SemanticVersion) a.getMin(); - SemanticVersion bMax = (SemanticVersion) b.getMax(); + SemanticVersion aMin = (SemanticVersion) a.min(); + SemanticVersion bMax = (SemanticVersion) b.max(); int cmp = aMin.compareTo((Version) bMax); - if (cmp < 0 || cmp == 0 && a.isMinInclusive() && b.isMaxInclusive()) { - return new VersionIntervalImpl(aMin, a.isMinInclusive(), bMax, b.isMaxInclusive()); + if (cmp < 0 || cmp == 0 && a.minInclusive() && b.maxInclusive()) { + return new VersionIntervalImpl(aMin, a.minInclusive(), bMax, b.maxInclusive()); } else { return null; } @@ -244,7 +215,7 @@ private static void merge(VersionInterval a, List out) { if (out.size() == 1) { VersionInterval e = out.get(0); - if (e.getMin() == null && e.getMax() == null) { + if (e.min() == null && e.max() == null) { return; } } @@ -257,29 +228,29 @@ private static void merge(VersionInterval a, List out) { } private static void mergePlain(VersionInterval a, List out) { - Version aMin = a.getMin(); - Version aMax = a.getMax(); + Version aMin = a.min(); + Version aMax = a.max(); Version v = aMin != null ? aMin : aMax; assert v != null; for (int i = 0; i < out.size(); i++) { VersionInterval c = out.get(i); - if (v.equals(c.getMin())) { + if (v.equals(c.min())) { if (aMin == null) { - assert aMax.equals(c.getMin()); + assert aMax.equals(c.min()); out.clear(); out.add(INFINITE); - } else if (aMax == null && c.getMax() != null) { + } else if (aMax == null && c.max() != null) { out.set(i, a); } return; - } else if (v.equals(c.getMax())) { - assert c.getMin() == null; + } else if (v.equals(c.max())) { + assert c.min() == null; if (aMax == null) { - assert aMin.equals(c.getMax()); + assert aMin.equals(c.max()); out.clear(); out.add(INFINITE); } @@ -292,8 +263,8 @@ private static void mergePlain(VersionInterval a, List out) { } private static void mergeSemantic(VersionInterval a, List out) { - SemanticVersion aMin = (SemanticVersion) a.getMin(); - SemanticVersion aMax = (SemanticVersion) a.getMax(); + SemanticVersion aMin = (SemanticVersion) a.min(); + SemanticVersion aMax = (SemanticVersion) a.max(); if (aMin == null && aMax == null) { out.clear(); @@ -305,15 +276,15 @@ private static void mergeSemantic(VersionInterval a, List out) VersionInterval c = out.get(i); if (!c.isSemantic()) continue; - SemanticVersion cMin = (SemanticVersion) c.getMin(); - SemanticVersion cMax = (SemanticVersion) c.getMax(); + SemanticVersion cMin = (SemanticVersion) c.min(); + SemanticVersion cMax = (SemanticVersion) c.max(); int cmp; if (aMin == null) { // ..a..] if (cMax == null) { // ..a..] [..c.. cmp = aMax.compareTo((Version) cMin); - if (cmp < 0 || cmp == 0 && !a.isMaxInclusive() && !c.isMinInclusive()) { // ..a..]..[..c.. or ..a..)(..c.. + if (cmp < 0 || cmp == 0 && !a.maxInclusive() && !c.minInclusive()) { // ..a..]..[..c.. or ..a..)(..c.. out.add(i, a); } else { // ..a..|..c.. or ..a.[..].c.. out.clear(); @@ -332,10 +303,10 @@ private static void mergeSemantic(VersionInterval a, List out) } else { // aMax < cMax cmp = aMax.compareTo((Version) cMin); - if (cmp < 0 || cmp == 0 && !a.isMaxInclusive() && !c.isMinInclusive()) { // ..a..]..[..c..] or ..a..)(..c..] + if (cmp < 0 || cmp == 0 && !a.maxInclusive() && !c.minInclusive()) { // ..a..]..[..c..] or ..a..)(..c..] out.add(i, a); } else { // c extends a to the right - out.set(i, new VersionIntervalImpl(null, false, cMax, c.isMaxInclusive())); + out.set(i, new VersionIntervalImpl(null, false, cMax, c.maxInclusive())); } return; @@ -352,29 +323,29 @@ private static void mergeSemantic(VersionInterval a, List out) } else { // aMin < cMin cmp = aMax.compareTo((Version) cMin); - if (cmp < 0 || cmp == 0 && !a.isMaxInclusive() && !c.isMinInclusive()) { // [..a..]..[..c.. or [..a..)(..c.. + if (cmp < 0 || cmp == 0 && !a.maxInclusive() && !c.minInclusive()) { // [..a..]..[..c.. or [..a..)(..c.. out.add(i, a); } else { // a extends c to the left - out.set(i, new VersionIntervalImpl(aMin, a.isMinInclusive(), null, false)); + out.set(i, new VersionIntervalImpl(aMin, a.minInclusive(), null, false)); } } return; - } else if ((cmp = aMin.compareTo((Version) cMax)) < 0 || cmp == 0 && (a.isMinInclusive() || c.isMaxInclusive())) { + } else if ((cmp = aMin.compareTo((Version) cMax)) < 0 || cmp == 0 && (a.minInclusive() || c.maxInclusive())) { int cmp2; - if (aMax == null || cMin == null || (cmp2 = aMax.compareTo((Version) cMin)) > 0 || cmp2 == 0 && (a.isMaxInclusive() || c.isMinInclusive())) { + if (aMax == null || cMin == null || (cmp2 = aMax.compareTo((Version) cMin)) > 0 || cmp2 == 0 && (a.maxInclusive() || c.minInclusive())) { int cmpMin = compareMin(a, c); int cmpMax = compareMax(a, c); if (cmpMax <= 0) { // aMax <= cMax if (cmpMin < 0) { // aMin < cMin - out.set(i, new VersionIntervalImpl(aMin, a.isMinInclusive(), cMax, c.isMaxInclusive())); + out.set(i, new VersionIntervalImpl(aMin, a.minInclusive(), cMax, c.maxInclusive())); } return; } else if (cmpMin > 0) { // aMin > cMin, aMax > cMax - a = new VersionIntervalImpl(cMin, c.isMinInclusive(), aMax, a.isMaxInclusive()); + a = new VersionIntervalImpl(cMin, c.minInclusive(), aMax, a.maxInclusive()); } out.remove(i); @@ -390,8 +361,8 @@ private static void mergeSemantic(VersionInterval a, List out) } private static int compareMin(VersionInterval a, VersionInterval b) { - SemanticVersion aMin = (SemanticVersion) a.getMin(); - SemanticVersion bMin = (SemanticVersion) b.getMin(); + SemanticVersion aMin = (SemanticVersion) a.min(); + SemanticVersion bMin = (SemanticVersion) b.min(); int cmp; if (aMin == null) { // a <= b @@ -400,9 +371,9 @@ private static int compareMin(VersionInterval a, VersionInterval b) { } else { // bMin != null -> a < b return -1; } - } else if (bMin == null || (cmp = aMin.compareTo((Version) bMin)) > 0 || cmp == 0 && !a.isMinInclusive() && b.isMinInclusive()) { // a > b + } else if (bMin == null || (cmp = aMin.compareTo((Version) bMin)) > 0 || cmp == 0 && !a.minInclusive() && b.minInclusive()) { // a > b return 1; - } else if (cmp < 0 || a.isMinInclusive() && !b.isMinInclusive()) { // a < b + } else if (cmp < 0 || a.minInclusive() && !b.minInclusive()) { // a < b return -1; } else { // cmp == 0 && a.minInclusive() == b.minInclusive() -> a == b return 0; @@ -410,8 +381,8 @@ private static int compareMin(VersionInterval a, VersionInterval b) { } private static int compareMax(VersionInterval a, VersionInterval b) { - SemanticVersion aMax = (SemanticVersion) a.getMax(); - SemanticVersion bMax = (SemanticVersion) b.getMax(); + SemanticVersion aMax = (SemanticVersion) a.max(); + SemanticVersion bMax = (SemanticVersion) b.max(); int cmp; if (aMax == null) { // a >= b @@ -420,9 +391,9 @@ private static int compareMax(VersionInterval a, VersionInterval b) { } else { // bMax != null -> a > b return 1; } - } else if (bMax == null || (cmp = aMax.compareTo((Version) bMax)) < 0 || cmp == 0 && !a.isMaxInclusive() && b.isMaxInclusive()) { // a < b + } else if (bMax == null || (cmp = aMax.compareTo((Version) bMax)) < 0 || cmp == 0 && !a.maxInclusive() && b.maxInclusive()) { // a < b return -1; - } else if (cmp > 0 || a.isMaxInclusive() && !b.isMaxInclusive()) { // a > b + } else if (cmp > 0 || a.maxInclusive() && !b.maxInclusive()) { // a > b return 1; } else { // cmp == 0 && a.maxInclusive() == b.maxInclusive() -> a == b return 0; @@ -432,20 +403,20 @@ private static int compareMax(VersionInterval a, VersionInterval b) { public static List not(VersionInterval interval) { if (interval == null) { // () = empty interval -> infinite return Collections.singletonList(INFINITE); - } else if (interval.getMin() == null) { // (-∞, = at least half-open towards min - if (interval.getMax() == null) { // (-∞,∞) = infinite -> empty + } else if (interval.min() == null) { // (-∞, = at least half-open towards min + if (interval.max() == null) { // (-∞,∞) = infinite -> empty return Collections.emptyList(); } else { // (-∞,x = left open towards min -> half open towards max - return Collections.singletonList(new VersionIntervalImpl(interval.getMax(), !interval.isMaxInclusive(), null, false)); + return Collections.singletonList(new VersionIntervalImpl(interval.max(), !interval.maxInclusive(), null, false)); } - } else if (interval.getMax() == null) { // x,∞) = half open towards max -> half open towards min - return Collections.singletonList(new VersionIntervalImpl(null, false, interval.getMin(), !interval.isMinInclusive())); - } else if (interval.getMin().equals(interval.getMax()) && !interval.isMinInclusive() && !interval.isMaxInclusive()) { // (x,x) = effectively empty interval -> infinite + } else if (interval.max() == null) { // x,∞) = half open towards max -> half open towards min + return Collections.singletonList(new VersionIntervalImpl(null, false, interval.min(), !interval.minInclusive())); + } else if (interval.min().equals(interval.max()) && !interval.minInclusive() && !interval.maxInclusive()) { // (x,x) = effectively empty interval -> infinite return Collections.singletonList(INFINITE); } else { // closed interval -> 2 half open intervals on each side List ret = new ArrayList<>(2); - ret.add(new VersionIntervalImpl(null, false, interval.getMin(), !interval.isMinInclusive())); - ret.add(new VersionIntervalImpl(interval.getMax(), !interval.isMaxInclusive(), null, false)); + ret.add(new VersionIntervalImpl(null, false, interval.min(), !interval.minInclusive())); + ret.add(new VersionIntervalImpl(interval.max(), !interval.maxInclusive(), null, false)); return ret; } diff --git a/common/src/main/java/com/jab125/version/VersionPredicateParser.java b/common/src/main/java/com/jab125/version/VersionPredicateParser.java index deb873047..14ed50572 100644 --- a/common/src/main/java/com/jab125/version/VersionPredicateParser.java +++ b/common/src/main/java/com/jab125/version/VersionPredicateParser.java @@ -250,7 +250,7 @@ public String toString() { StringBuilder ret = new StringBuilder(); for (SingleVersionPredicate predicate : predicates) { - if (ret.length() > 0) ret.append(' '); + if (!ret.isEmpty()) ret.append(' '); ret.append(predicate.toString()); } diff --git a/common/src/main/java/com/ultreon/devices/BuiltinApps.java b/common/src/main/java/com/ultreon/devices/BuiltinApps.java index 3dd1527f3..d4d9fd283 100644 --- a/common/src/main/java/com/ultreon/devices/BuiltinApps.java +++ b/common/src/main/java/com/ultreon/devices/BuiltinApps.java @@ -24,7 +24,7 @@ public static void registerBuiltinApps() { ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "ender_mail"), () -> EmailApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "app_store"), () -> AppStore::new, true); - if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableBetaApps) { + if (Platform.isDevelopmentEnvironment() || UltreonDevicesMod.EARLY_CONFIG.enableBetaApps) { ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "bank"), () -> BankApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "boat_racers"), () -> BoatRacersApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "mine_bay"), () -> MineBayApp::new, false); diff --git a/common/src/main/java/com/ultreon/devices/ClientModEvents.java b/common/src/main/java/com/ultreon/devices/ClientModEvents.java index c836fcd2c..7573ca5e3 100644 --- a/common/src/main/java/com/ultreon/devices/ClientModEvents.java +++ b/common/src/main/java/com/ultreon/devices/ClientModEvents.java @@ -4,7 +4,7 @@ import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.block.entity.renderer.*; import com.ultreon.devices.client.RenderRegistry; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.debug.DebugFlags; import com.ultreon.devices.debug.DebugUtils; import com.ultreon.devices.debug.DumpType; @@ -44,26 +44,28 @@ public class ClientModEvents { private static final Marker SETUP = MarkerFactory.getMarker("SETUP"); - private static final Logger LOGGER = Devices.LOGGER; + private static final Logger LOGGER = UltreonDevicesMod.LOGGER; public static void clientSetup() { LOGGER.info("Doing some client setup."); - if (Devices.DEVELOPER_MODE) { + if (UltreonDevicesMod.DEVELOPER_MODE) { LOGGER.info(SETUP, "Adding developer wallpaper."); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/developer_wallpaper.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/developer_wallpaper.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_11.png")); } else { LOGGER.info(SETUP, "Adding default wallpapers."); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_1.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_2.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_3.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_4.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_5.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_6.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_7.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_8.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_9.png")); - Laptop.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_10.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_1.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_2.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_3.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_4.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_5.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_6.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_7.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_8.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_9.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_10.png")); + MineOS.addWallpaper(new ResourceLocation("devices:textures/gui/laptop_wallpaper_11.png")); } @@ -93,7 +95,7 @@ public CompletableFuture reload(@NotNull PreparableReloadListener.Preparat LOGGER.debug("Reloading resources from the Device Mod."); return CompletableFuture.runAsync(() -> { - if (ApplicationManager.getAllApplications().size() > 0) { + if (!ApplicationManager.getAllApplications().isEmpty()) { ApplicationManager.getAllApplications().forEach(AppInfo::reload); generateIconAtlas(resourceManager); // FIXME: Broken resource reloading, can't find image resource while definitely exists. } @@ -153,7 +155,7 @@ public boolean writeImage(AppInfo info, ResourceLocation location) { } BufferedImage icon = ImageIO.read(input); if (icon.getWidth() != ICON_SIZE || icon.getHeight() != ICON_SIZE) { - Devices.LOGGER.error("Incorrect icon size for " + (info == null ? null : info.getId()) + " (Must be 14 by 14 pixels)"); + UltreonDevicesMod.LOGGER.error("Incorrect icon size for " + (info == null ? null : info.getId()) + " (Must be 14 by 14 pixels)"); return false; } int iconU = (index % 16) * ICON_SIZE; @@ -171,16 +173,16 @@ public boolean writeImage(AppInfo info, ResourceLocation location) { } index++; if (DebugFlags.LOG_APP_ICON_STITCHES) { - Devices.LOGGER.info("Stitching texture: " + location); + UltreonDevicesMod.LOGGER.info("Stitching texture: " + location); } return true; } catch (FileNotFoundException e) { - Devices.LOGGER.error("Unable to load icon for '" + (info == null ? null : info.getId()) + "': " + e.getMessage()); + UltreonDevicesMod.LOGGER.error("Unable to load icon for '" + (info == null ? null : info.getId()) + "': " + e.getMessage()); if (DebugFlags.PRINT_MISSING_APP_ICONS_STACK_TRACES) { e.printStackTrace(); } } catch (Exception e) { - Devices.LOGGER.error("Unable to load icon for " + (info == null ? null : info.getId())); + UltreonDevicesMod.LOGGER.error("Unable to load icon for " + (info == null ? null : info.getId())); if (DebugFlags.PRINT_APP_ICONS_STACK_TRACES) { e.printStackTrace(); } @@ -193,7 +195,7 @@ public void finish() { if (DebugFlags.DUMP_APP_ICON_ATLAS) { try { - DebugUtils.dump(DumpType.ATLAS, Laptop.ICON_TEXTURES, (stream) -> ImageIO.write(atlas, "png", stream)); + DebugUtils.dump(DumpType.ATLAS, MineOS.ICON_TEXTURES, (stream) -> ImageIO.write(atlas, "png", stream)); } catch (Exception e) { throw new RuntimeException(e); } @@ -206,7 +208,7 @@ public void finish() { ByteArrayInputStream input = new ByteArrayInputStream(bytes); Minecraft.getInstance().submit(() -> { try { - Minecraft.getInstance().getTextureManager().register(Laptop.ICON_TEXTURES, new DynamicTexture(NativeImage.read(input))); + Minecraft.getInstance().getTextureManager().register(MineOS.ICON_TEXTURES, new DynamicTexture(NativeImage.read(input))); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/common/src/main/java/com/ultreon/devices/DeviceConfig.java b/common/src/main/java/com/ultreon/devices/DeviceConfig.java index e4e3c5889..b7c6819da 100644 --- a/common/src/main/java/com/ultreon/devices/DeviceConfig.java +++ b/common/src/main/java/com/ultreon/devices/DeviceConfig.java @@ -52,7 +52,7 @@ public class DeviceConfig { RENDER_PRINTED_3D = builder.comment("Should the pixels on printed pictures be render in 3D? Warning, this will decrease the performance of the game. You shouldn't enable it if you have a slow computer.") .define(CATEGORY_PIXEL_PAINTER + ".renderPrintedIn3d", false); - DEBUG_BUTTON = builder.comment("Display a button to access a worldless laptop") + DEBUG_BUTTON = builder.comment("GuiGraphics a button to access a worldless laptop") .define(CATEGORY_DEBUG + ".debugButton", Platform.isDevelopmentEnvironment()); CONFIG = builder.build(); diff --git a/common/src/main/java/com/ultreon/devices/DeviceTab.java b/common/src/main/java/com/ultreon/devices/DeviceTab.java index c9f9d1274..7c300f1fd 100644 --- a/common/src/main/java/com/ultreon/devices/DeviceTab.java +++ b/common/src/main/java/com/ultreon/devices/DeviceTab.java @@ -1,22 +1,18 @@ package com.ultreon.devices; -import com.ultreon.devices.init.DeviceBlocks; import com.ultreon.devices.init.DeviceItems; import dev.architectury.registry.CreativeTabRegistry; import dev.architectury.registry.registries.DeferredSupplier; import dev.architectury.registry.registries.RegistrySupplier; -import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import static com.ultreon.devices.Devices.id; +import static com.ultreon.devices.UltreonDevicesMod.id; public class DeviceTab { @SuppressWarnings("UnstableApiUsage") public static DeferredSupplier create() { - Devices.LOGGER.info("Creating Creative Tab..."); + UltreonDevicesMod.LOGGER.info("Creating Creative Tab..."); DeferredSupplier devicesTabDevice = CreativeTabRegistry.defer(id("devices_tab_device")); //TODO () -> new ItemStack(DeviceBlocks.LAPTOPS.of(DyeColor.RED).get() CreativeTabRegistry.modify(devicesTabDevice, (flags, output, canUseGameMasterBlocks) -> { for (RegistrySupplier laptop : DeviceItems.LAPTOPS) { diff --git a/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java b/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java index f22c0860b..374498e08 100644 --- a/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java +++ b/common/src/main/java/com/ultreon/devices/DevicesEarlyConfig.java @@ -22,13 +22,13 @@ public class DevicesEarlyConfig { */ public static DevicesEarlyConfig load() { try (FileReader reader = new FileReader(FILE)) { - return Devices.GSON.fromJson(reader, DevicesEarlyConfig.class); + return UltreonDevicesMod.GSON.fromJson(reader, DevicesEarlyConfig.class); } catch (FileNotFoundException e) { DevicesEarlyConfig devicesEarlyConfig = new DevicesEarlyConfig(); devicesEarlyConfig.save(); return devicesEarlyConfig; } catch (IOException e) { - Devices.LOGGER.error("Failed to load devices early config", e); + UltreonDevicesMod.LOGGER.error("Failed to load devices early config", e); return new DevicesEarlyConfig(); } } @@ -38,9 +38,9 @@ public static DevicesEarlyConfig load() { */ public void save() { try (FileWriter writer = new FileWriter(FILE)) { - Devices.GSON.toJson(this, writer); + UltreonDevicesMod.GSON.toJson(this, writer); } catch (IOException e) { - Devices.LOGGER.error("Failed to save devices early config", e); + UltreonDevicesMod.LOGGER.error("Failed to save devices early config", e); } } } diff --git a/common/src/main/java/com/ultreon/devices/OperatingSystems.java b/common/src/main/java/com/ultreon/devices/OperatingSystems.java new file mode 100644 index 000000000..436eec013 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/OperatingSystems.java @@ -0,0 +1,20 @@ +package com.ultreon.devices; + +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.core.BootLoader; +import com.ultreon.devices.mineos.client.MineOS; +import dev.architectury.registry.registries.RegistrySupplier; + +import java.util.function.Supplier; + +public class OperatingSystems { + public static final RegistrySupplier> MINE_OS = register("mine_os", () -> MineOS::new); + + private static RegistrySupplier> register(String name, Supplier> supplier) { + return UltreonDevicesMod.OPERATING_SYSTEM.register(UltreonDevicesMod.res(name), supplier); + } + + public static void init() { + + } +} diff --git a/common/src/main/java/com/ultreon/devices/Reference.java b/common/src/main/java/com/ultreon/devices/Reference.java index eafde8bce..63b00a69c 100644 --- a/common/src/main/java/com/ultreon/devices/Reference.java +++ b/common/src/main/java/com/ultreon/devices/Reference.java @@ -1,6 +1,5 @@ package com.ultreon.devices; -import dev.architectury.injectables.annotations.ExpectPlatform; import dev.architectury.platform.Platform; public class Reference { @@ -12,7 +11,7 @@ public class Reference { } public static String getVersion() { - return Platform.getMod(Devices.MOD_ID).getVersion(); + return Platform.getMod(UltreonDevicesMod.MOD_ID).getVersion(); } public static String[] getVerInfo() { diff --git a/common/src/main/java/com/ultreon/devices/Resources.java b/common/src/main/java/com/ultreon/devices/Resources.java index 8c10643fa..dc073bdec 100644 --- a/common/src/main/java/com/ultreon/devices/Resources.java +++ b/common/src/main/java/com/ultreon/devices/Resources.java @@ -8,6 +8,6 @@ private Resources() { } - public static final ResourceLocation ENDER_MAIL_ICONS = Devices.id("textures/gui/ender_mail.png"); - public static final ResourceLocation ENDER_MAIL_BACKGROUND = Devices.id("textures/gui/ender_mail_background.png"); + public static final ResourceLocation ENDER_MAIL_ICONS = UltreonDevicesMod.id("textures/gui/ender_mail.png"); + public static final ResourceLocation ENDER_MAIL_BACKGROUND = UltreonDevicesMod.id("textures/gui/ender_mail_background.png"); } diff --git a/common/src/main/java/com/ultreon/devices/Devices.java b/common/src/main/java/com/ultreon/devices/UltreonDevicesMod.java similarity index 89% rename from common/src/main/java/com/ultreon/devices/Devices.java rename to common/src/main/java/com/ultreon/devices/UltreonDevicesMod.java index 5ad0465e5..3607f7d80 100644 --- a/common/src/main/java/com/ultreon/devices/Devices.java +++ b/common/src/main/java/com/ultreon/devices/UltreonDevicesMod.java @@ -5,20 +5,23 @@ import com.google.gson.*; import com.mojang.serialization.Lifecycle; import com.ultreon.devices.api.ApplicationManager; +import com.ultreon.devices.api.ApplicationSupplier; import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.api.os.OperatingSystem; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.print.PrintingManager; import com.ultreon.devices.api.task.TaskManager; +import com.ultreon.devices.api.util.Vulnerability; import com.ultreon.devices.api.utils.OnlineRequest; -import com.ultreon.devices.block.PrinterBlock; +import com.ultreon.devices.core.BootLoader; import com.ultreon.devices.core.client.ClientNotification; -import com.ultreon.devices.core.client.debug.ClientAppDebug; -import com.ultreon.devices.core.io.task.*; import com.ultreon.devices.core.network.task.TaskConnect; import com.ultreon.devices.core.network.task.TaskGetDevices; import com.ultreon.devices.core.network.task.TaskPing; import com.ultreon.devices.core.print.task.TaskPrint; import com.ultreon.devices.core.task.TaskInstallApp; +import com.ultreon.devices.block.PrinterBlock; +import com.ultreon.devices.core.io.task.*; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.network.PacketHandler; import com.ultreon.devices.network.task.SyncApplicationPacket; @@ -38,7 +41,7 @@ import com.ultreon.devices.programs.system.SystemApp; import com.ultreon.devices.programs.system.task.*; import com.ultreon.devices.util.SiteRegistration; -import com.ultreon.devices.util.Vulnerability; +import com.ultreon.devices.util.VulnerabilityUtil; import dev.architectury.event.EventResult; import dev.architectury.event.events.client.ClientPlayerEvent; import dev.architectury.event.events.common.InteractionEvent; @@ -47,11 +50,13 @@ import dev.architectury.injectables.targets.ArchitecturyTarget; import dev.architectury.platform.Platform; import dev.architectury.registry.registries.DeferredSupplier; +import dev.architectury.registry.registries.Registrar; import dev.architectury.registry.registries.RegistrarManager; import dev.architectury.utils.Env; import dev.architectury.utils.EnvExecutor; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.MappedRegistry; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceKey; @@ -76,7 +81,7 @@ import java.util.function.Supplier; import java.util.regex.Pattern; -public abstract class Devices { +public abstract class UltreonDevicesMod { public static final boolean DEVELOPER_MODE = Platform.isDevelopmentEnvironment(); public static final String MOD_ID = "devices"; public static final Logger LOGGER = LoggerFactory.getLogger("Devices Mod"); @@ -86,11 +91,14 @@ public abstract class Devices { public static final List SITE_REGISTRATIONS = new ProtectedArrayList<>(); public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); public static final DevicesEarlyConfig EARLY_CONFIG = DevicesEarlyConfig.load(); + public static final Registrar> OPERATING_SYSTEM = REGISTRIES.get().>builder(res("operating_system")).syncToClients().build(); + private static final Pattern DEV_PREVIEW_PATTERN = Pattern.compile("\\d+\\.\\d+\\.\\d+-dev\\d+"); private static final boolean IS_DEV_PREVIEW = DEV_PREVIEW_PATTERN.matcher(Reference.VERSION).matches(); - private static final String GITWEB_REGISTER_URL = "https://ultreon.gitlab.io/gitweb/site_register.json"; + + public static final String GITWEB_REGISTER_URL = "https://ultreon.gitlab.io/gitweb/site_register.json"; public static final String VULNERABILITIES_URL = "https://jab125.com/gitweb/vulnerabilities.php"; - // private static final Logger ULTRAN_LANG_LOGGER = LoggerFactory.getLogger("UltranLang"); + @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") private static final SiteRegisterStack SITE_REGISTER_STACK = new SiteRegisterStack(); @@ -100,7 +108,7 @@ public abstract class Devices { static List allowedApps = new ArrayList<>(); private static List vulnerabilities = new ArrayList<>(); - private static Devices instance; + private static UltreonDevicesMod instance; public static List getVulnerabilities() { return vulnerabilities; @@ -108,11 +116,11 @@ public static List getVulnerabilities() { private static MinecraftServer server; private static TestManager tests; - protected Devices() { - Devices.instance = this; + protected UltreonDevicesMod() { + UltreonDevicesMod.instance = this; } - public static Devices getInstance() { + public static UltreonDevicesMod get() { return instance; } @@ -138,16 +146,17 @@ public void init() { registerApplications(); + OperatingSystems.init(); + EnvExecutor.runInEnv(Env.CLIENT, () -> () -> { - ClientAppDebug.register(); ClientModEvents.clientSetup(); //todo - Devices.setupSiteRegistrations(); - Devices.checkForVulnerabilities(); + UltreonDevicesMod.setupSiteRegistrations(); + UltreonDevicesMod.checkForVulnerabilities(); }); setupEvents(); - EnvExecutor.runInEnv(Env.CLIENT, () -> Devices::setupClientEvents); //todo + EnvExecutor.runInEnv(Env.CLIENT, () -> UltreonDevicesMod::setupClientEvents); //todo if (!ArchitecturyTarget.getCurrentTarget().equals("forge")) { loadComplete(); } @@ -213,7 +222,7 @@ private void registerApplications() { TaskManager.registerTask(TaskDeleteEmail::new); TaskManager.registerTask(TaskViewEmail::new); - if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableBetaApps) { + if (Platform.isDevelopmentEnvironment() || UltreonDevicesMod.EARLY_CONFIG.enableBetaApps) { // Auction TaskManager.registerTask(TaskAddAuction::new); TaskManager.registerTask(TaskGetAuctions::new); @@ -228,7 +237,7 @@ private void registerApplications() { TaskManager.registerTask(TaskRemove::new); } - if (Platform.isDevelopmentEnvironment() || Devices.EARLY_CONFIG.enableDebugApps) { + if (Platform.isDevelopmentEnvironment() || UltreonDevicesMod.EARLY_CONFIG.enableDebugApps) { // Applications (Developers) ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "example"), () -> ExampleApp::new, false); ApplicationManager.registerApplication(new ResourceLocation(Reference.MOD_ID, "icons"), () -> IconsApp::new, false); @@ -249,25 +258,13 @@ private void registerApplications() { protected abstract List getApplications(); public static void setAllowedApps(List allowedApps) { - Devices.allowedApps = allowedApps; + UltreonDevicesMod.allowedApps = allowedApps; } public static String getModVersion() { return Platform.getMod(MOD_ID).getVersion(); } - public interface ApplicationSupplier { - - /** - * Gets a result. - * - * @return a result - */ - Supplier get(); - - boolean isSystem(); - } - /** * DO NOT CALL: FOR INTERNAL USE ONLY */ @@ -291,7 +288,7 @@ public Application registerApplication(ResourceLocation identifier, ApplicationS AtomicReference application = new AtomicReference<>(null); EnvExecutor.runInEnv(Env.CLIENT, () -> () -> { Application appl = app.get().get(); - List apps = getApplications(); /*ObfuscationReflectionHelper.getPrivateValue(Laptop.class, null, "APPLICATIONS");*/ + List apps = getApplications(); /*ObfuscationReflectionHelper.getPrivateValue(MineOS.class, null, "APPLICATIONS");*/ assert apps != null; apps.add(appl); @@ -336,12 +333,12 @@ public boolean registerPrint(ResourceLocation identifier, Class getAllowedApplications() { } public static ResourceLocation res(String path) { - return new ResourceLocation(Devices.MOD_ID, path); + return new ResourceLocation(UltreonDevicesMod.MOD_ID, path); } private static void setupClientEvents() { @@ -416,7 +413,7 @@ private static void checkForVulnerabilities() { } JsonArray array = JsonParser.parseString(response).getAsJsonArray(); - vulnerabilities = Vulnerability.parseArray(array); + vulnerabilities = VulnerabilityUtil.parseArray(array); vulnerabilities.forEach(vul -> { String s = vul.toPrettyString(); s.lines().toList().forEach(line -> LOGGER.debug("[VulChecker] {}", line)); @@ -501,8 +498,13 @@ enum Type { return future; } - public static ResourceLocation id(String id) { - return new ResourceLocation(MOD_ID, id); + @ApiStatus.Obsolete // Jab125 wanted this... + public static ResourceLocation id(String path) { + return res(path); + } + + public boolean isDebug() { + return Platform.isDevelopmentEnvironment(); } private static class ProtectedArrayList extends ArrayList { @@ -520,7 +522,7 @@ private void freezeCheck() { @Override public boolean add(T t) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.add(t); @@ -529,7 +531,7 @@ public boolean add(T t) { @Override public boolean addAll(Collection c) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.addAll(c); @@ -538,7 +540,7 @@ public boolean addAll(Collection c) { @Override public void add(int index, T element) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } super.add(index, element); @@ -547,7 +549,7 @@ public void add(int index, T element) { @Override protected void removeRange(int fromIndex, int toIndex) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } super.removeRange(fromIndex, toIndex); @@ -556,7 +558,7 @@ protected void removeRange(int fromIndex, int toIndex) { @Override public boolean remove(Object o) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.remove(o); @@ -565,7 +567,7 @@ public boolean remove(Object o) { @Override public boolean removeAll(Collection c) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.removeAll(c); @@ -574,7 +576,7 @@ public boolean removeAll(Collection c) { @Override public boolean removeIf(Predicate filter) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.removeIf(filter); @@ -583,7 +585,7 @@ public boolean removeIf(Predicate filter) { @Override public T remove(int index) { freezeCheck(); - if (stackWalker.getCallerClass() != Devices.class) { + if (stackWalker.getCallerClass() != UltreonDevicesMod.class) { throw new IllegalCallerException("Should be called from Devices Mod main class."); } return super.remove(index); diff --git a/common/src/main/java/com/ultreon/devices/api/ApplicationManager.java b/common/src/main/java/com/ultreon/devices/api/ApplicationManager.java index 971f7056a..806f814d3 100644 --- a/common/src/main/java/com/ultreon/devices/api/ApplicationManager.java +++ b/common/src/main/java/com/ultreon/devices/api/ApplicationManager.java @@ -1,6 +1,6 @@ package com.ultreon.devices.api; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.object.AppInfo; import net.minecraft.resources.ResourceLocation; @@ -36,9 +36,9 @@ private ApplicationManager() { */ @Nullable public static Application registerApplication(ResourceLocation identifier, Supplier> app, boolean isSystem) { - Devices.LOGGER.debug(MARKER, "Registering application {}", identifier); + UltreonDevicesMod.LOGGER.debug(MARKER, "Registering application {}", identifier); @SuppressWarnings("deprecation") - Application application = Devices.getInstance().registerApplication(identifier, new Devices.ApplicationSupplier() { + Application application = UltreonDevicesMod.get().registerApplication(identifier, new ApplicationSupplier() { @Override public Supplier get() { return app.get(); @@ -64,7 +64,7 @@ public boolean isSystem() { * @return the application list */ public static List getAvailableApplications() { - final Predicate FILTER = info -> !info.isSystemApp() && (!Devices.hasAllowedApplications() || Devices.getAllowedApplications().contains(info)); + final Predicate FILTER = info -> !info.isSystemApp() && (!UltreonDevicesMod.hasAllowedApplications() || UltreonDevicesMod.getAllowedApplications().contains(info)); return APP_INFO.values().stream().filter(FILTER).collect(Collectors.toList()); } diff --git a/common/src/main/java/com/ultreon/devices/api/ApplicationSupplier.java b/common/src/main/java/com/ultreon/devices/api/ApplicationSupplier.java new file mode 100644 index 000000000..e58bdba8a --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/ApplicationSupplier.java @@ -0,0 +1,17 @@ +package com.ultreon.devices.api; + +import com.ultreon.devices.api.app.Application; + +import java.util.function.Supplier; + +public interface ApplicationSupplier { + + /** + * Gets a result. + * + * @return a result + */ + Supplier get(); + + boolean isSystem(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/DebugLog.java b/common/src/main/java/com/ultreon/devices/api/DebugLog.java new file mode 100644 index 000000000..757542560 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/DebugLog.java @@ -0,0 +1,11 @@ +package com.ultreon.devices.api; + +import com.ultreon.devices.UltreonDevicesMod; + +public class DebugLog { + public static void log(String message) { + if (UltreonDevicesMod.get().isDebug()) { + UltreonDevicesMod.LOGGER.debug(message); + } + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/Logger.java b/common/src/main/java/com/ultreon/devices/api/Logger.java new file mode 100644 index 000000000..d9d018fdf --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/Logger.java @@ -0,0 +1,35 @@ +package com.ultreon.devices.api; + +public interface Logger { + void debug(String message); + + void debug(String message, Throwable t); + + void debug(String message, Object o); + + void debug(String message, Object o1, Object o2); + + void info(String message); + + void info(String message, Throwable t); + + void info(String message, Object o); + + void info(String message, Object o1, Object o2); + + void warn(String message); + + void warn(String message, Throwable t); + + void warn(String message, Object o); + + void warn(String message, Object o1, Object o2); + + void error(String message); + + void error(String message, Throwable t); + + void error(String message, Object o); + + void error(String message, Object o1, Object o2); +} diff --git a/common/src/main/java/com/ultreon/devices/api/SystemException.java b/common/src/main/java/com/ultreon/devices/api/SystemException.java new file mode 100644 index 000000000..25360b812 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/SystemException.java @@ -0,0 +1,19 @@ +package com.ultreon.devices.api; + +public class SystemException extends RuntimeException { + public SystemException() { + super(); + } + + public SystemException(String message) { + super(message); + } + + public SystemException(String message, Throwable cause) { + super(message, cause); + } + + public SystemException(Throwable cause) { + super(cause); + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/app/Application.java b/common/src/main/java/com/ultreon/devices/api/app/Application.java index 7bf08671b..57e6cc21b 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/Application.java +++ b/common/src/main/java/com/ultreon/devices/api/app/Application.java @@ -1,11 +1,10 @@ package com.ultreon.devices.api.app; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.io.File; -import com.ultreon.devices.core.Laptop; -import com.ultreon.devices.core.Window; +import com.ultreon.devices.mineos.client.MineOS; +import com.ultreon.devices.mineos.client.Window; import com.ultreon.devices.core.Wrappable; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.object.AppInfo; @@ -29,7 +28,7 @@ public abstract class Application extends Wrappable implements DataHandler { @SuppressWarnings("FieldMayBeFinal") protected AppInfo info = null; public void setInfo(AppInfo info) { - if (StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE).getCallerClass().equals(Devices.class)) { + if (StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE).getCallerClass().equals(UltreonDevicesMod.class)) { this.info = info; return; } @@ -133,10 +132,10 @@ public void onTick() { * @param partialTicks the render partial ticks. */ @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { // GL11.glEnable(GL11.GL_SCISSOR_TEST); - GLHelper.pushScissor(x, y, width, height); + GLHelper.pushScissor(graphics, x, y, width, height); currentLayout.render(graphics, laptop, mc, x, y, mouseX, mouseY, active, partialTicks); GLHelper.popScissor(); @@ -281,6 +280,7 @@ public void onClose() { * * @param tag the tag compound where you saved data is */ + @Override public abstract void load(CompoundTag tag); /** @@ -290,6 +290,7 @@ public void onClose() { * * @param tag the tag compound to save your data to */ + @Override public abstract void save(CompoundTag tag); /** @@ -338,6 +339,7 @@ public final void clean() { needsDataUpdate = false; } + @Override public final void markForLayoutUpdate() { this.pendingLayoutUpdate = true; } diff --git a/common/src/main/java/com/ultreon/devices/api/app/Component.java b/common/src/main/java/com/ultreon/devices/api/app/Component.java index f45b915ac..db50388a2 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/Component.java +++ b/common/src/main/java/com/ultreon/devices/api/app/Component.java @@ -1,6 +1,6 @@ package com.ultreon.devices.api.app; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.system.object.ColorScheme; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -91,14 +91,14 @@ protected void handleTick() { * The main render loop. This is where you draw your component. * * @param graphics gui graphics helper - * @param laptop a Laptop instance + * @param laptop a MineOS instance * @param mc a Minecraft instance * @param mouseX the current x position of the mouse * @param mouseY the current y position of the mouse * @param windowActive if the window is active (at front) * @param partialTicks percentage passed in-between two ticks */ - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { } /** @@ -106,13 +106,13 @@ protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, * loop. * * @param graphics gui graphics helper - * @param laptop a Laptop instance + * @param laptop a MineOS instance * @param mc a Minecraft instance * @param mouseX the current x position of the mouse * @param mouseY the current y position of the mouse * @param windowActive if the window is active (at front) */ - protected void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + protected void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { } /** @@ -244,7 +244,7 @@ public void setVisible(boolean visible) { * @return */ protected ColorScheme getColorScheme() { - return Laptop.getSystem().getSettings().getColorScheme(); + return MineOS.getOpened().getSettings().getColorScheme(); } public void drawVerticalLine(GuiGraphics graphics, int x, int y1, int y2, int rgb) { diff --git a/common/src/main/java/com/ultreon/devices/api/app/Dialog.java b/common/src/main/java/com/ultreon/devices/api/app/Dialog.java index ef60f0ca5..9a6f59029 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/Dialog.java +++ b/common/src/main/java/com/ultreon/devices/api/app/Dialog.java @@ -1,9 +1,11 @@ package com.ultreon.devices.api.app; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.component.Button; +import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.app.component.ItemList; +import com.ultreon.devices.api.app.component.Label; import com.ultreon.devices.api.app.component.Text; +import com.ultreon.devices.api.app.component.TextField; import com.ultreon.devices.api.app.listener.ClickListener; import com.ultreon.devices.api.app.renderer.ListItemRenderer; import com.ultreon.devices.api.io.File; @@ -12,7 +14,8 @@ import com.ultreon.devices.api.task.TaskManager; import com.ultreon.devices.api.utils.RenderUtil; import com.ultreon.devices.block.entity.PrinterBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.init.DeviceBlockEntities; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.Wrappable; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.network.NetworkDevice; @@ -23,12 +26,12 @@ import com.ultreon.devices.util.GLHelper; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; +import net.minecraft.world.level.block.entity.BlockEntityType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.awt.*; @@ -78,8 +81,8 @@ public void onTick() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { - GLHelper.pushScissor(x, y, width, height); + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { + GLHelper.pushScissor(graphics, x, y, width, height); customLayout.render(graphics, laptop, mc, x, y, mouseX, mouseY, active, partialTicks); GLHelper.popScissor(); @@ -341,7 +344,7 @@ public static class Input extends Dialog { private ResponseHandler responseListener; - private com.ultreon.devices.api.app.component.TextField textFieldInput; + private TextField textFieldInput; private com.ultreon.devices.api.app.component.Button buttonPositive; private com.ultreon.devices.api.app.component.Button buttonNegative; @@ -373,7 +376,7 @@ public void init(@Nullable CompoundTag intent) { this.addComponent(message); } - textFieldInput = new com.ultreon.devices.api.app.component.TextField(5, 5 + offset, getWidth() - 10); + textFieldInput = new TextField(5, 5 + offset, getWidth() - 10); textFieldInput.setText(inputText); textFieldInput.setFocused(true); this.addComponent(textFieldInput); @@ -418,7 +421,7 @@ public void setInputText(@NotNull String inputText) { * @return the input text field */ @Nullable - public com.ultreon.devices.api.app.component.TextField getTextFieldInput() { + public TextField getTextFieldInput() { return textFieldInput; } @@ -590,7 +593,7 @@ public static class SaveFile extends Dialog { private String negativeText = "Cancel"; private Layout main; private FileBrowser browser; - private com.ultreon.devices.api.app.component.TextField textFieldFileName; + private TextField textFieldFileName; private com.ultreon.devices.api.app.component.Button buttonPositive; private com.ultreon.devices.api.app.component.Button buttonNegative; private Predicate filter; @@ -668,7 +671,7 @@ public void init(@Nullable CompoundTag intent) { buttonNegative.setClickListener((mouseX, mouseY, mouseButton) -> close()); main.addComponent(buttonNegative); - textFieldFileName = new com.ultreon.devices.api.app.component.TextField(26, 105, 180); + textFieldFileName = new TextField(26, 105, 180); textFieldFileName.setFocused(true); if (name != null) textFieldFileName.setText(name); main.addComponent(textFieldFileName); @@ -747,7 +750,7 @@ public static class Print extends Dialog { private final IPrint print; private Layout layoutMain; - private com.ultreon.devices.api.app.component.Label labelMessage; + private Label labelMessage; private com.ultreon.devices.api.app.component.Button buttonRefresh; private ItemList itemListPrinters; private com.ultreon.devices.api.app.component.Button buttonPrint; @@ -765,7 +768,7 @@ public void init(@Nullable CompoundTag intent) { layoutMain = new Layout(150, 132); - labelMessage = new com.ultreon.devices.api.app.component.Label("Select a Printer", 5, 5); + labelMessage = new Label("Select a Printer", 5, 5); layoutMain.addComponent(labelMessage); buttonRefresh = new com.ultreon.devices.api.app.component.Button(131, 2, Icons.RELOAD); @@ -783,10 +786,10 @@ public void init(@Nullable CompoundTag intent) { itemListPrinters.setListItemRenderer(new ListItemRenderer<>(16) { @Override public void render(GuiGraphics graphics, NetworkDevice networkDevice, Minecraft mc, int x, int y, int width, int height, boolean selected) { - ColorScheme colorScheme = Laptop.getSystem().getSettings().getColorScheme(); + ColorScheme colorScheme = MineOS.getOpened().getSettings().getColorScheme(); graphics.fill(x, y, x + width, y + height, selected ? colorScheme.getItemHighlightColor() : colorScheme.getItemBackgroundColor()); Icons.PRINTER.draw(graphics, mc, x + 3, y + 3); - RenderUtil.drawStringClipped(graphics, networkDevice.getName(), x + 18, y + 4, 118, Laptop.getSystem().getSettings().getColorScheme().getTextColor(), true); + RenderUtil.drawStringClipped(graphics, networkDevice.getName(), x + 18, y + 4, 118, MineOS.getOpened().getSettings().getColorScheme().getTextColor(), true); } }); itemListPrinters.setItemClickListener((blockPos, index, mouseButton) -> { @@ -796,7 +799,7 @@ public void render(GuiGraphics graphics, NetworkDevice networkDevice, Minecraft } }); itemListPrinters.sortBy((o1, o2) -> { - BlockPos laptopPos = Laptop.getPos(); + BlockPos laptopPos = MineOS.getOpened().getPos(); assert laptopPos != null; BlockPos pos1 = o1.getPos(); @@ -818,7 +821,7 @@ public void render(GuiGraphics graphics, NetworkDevice networkDevice, Minecraft if (mouseButton == 0) { NetworkDevice networkDevice = itemListPrinters.getSelectedItem(); if (networkDevice != null) { - TaskPrint task = new TaskPrint(Laptop.getPos(), networkDevice, print); + TaskPrint task = new TaskPrint(MineOS.getOpened().getPos(), networkDevice, print); task.setCallback((tag, success) -> { if (success) { close(); @@ -861,7 +864,7 @@ public void render(GuiGraphics graphics, NetworkDevice networkDevice, Minecraft private void getPrinters(ItemList itemList) { itemList.removeAll(); itemList.setLoading(true); - Task task = new TaskGetDevices(Laptop.getPos(), PrinterBlockEntity.class); + Task task = new TaskGetDevices(MineOS.getOpened().getPos(), DeviceBlockEntities.PRINTER.get()); task.setCallback((tag, success) -> { if (success) { assert tag != null; @@ -883,10 +886,10 @@ private static class Info extends Dialog { private final NetworkDevice entry; private Layout layoutMain; - private com.ultreon.devices.api.app.component.Label labelName; - private com.ultreon.devices.api.app.component.Image imagePaper; - private com.ultreon.devices.api.app.component.Label labelPaper; - private com.ultreon.devices.api.app.component.Label labelPosition; + private Label labelName; + private Image imagePaper; + private Label labelPaper; + private Label labelPosition; private com.ultreon.devices.api.app.component.Button buttonClose; private Info(NetworkDevice entry) { @@ -900,17 +903,17 @@ public void init(@Nullable CompoundTag intent) { layoutMain = new Layout(120, 70); - labelName = new com.ultreon.devices.api.app.component.Label(ChatFormatting.GOLD.toString() + ChatFormatting.BOLD + entry.getName(), 5, 5); + labelName = new Label(ChatFormatting.GOLD.toString() + ChatFormatting.BOLD + entry.getName(), 5, 5); layoutMain.addComponent(labelName); - labelPaper = new com.ultreon.devices.api.app.component.Label(ChatFormatting.DARK_GRAY + "Paper: " + ChatFormatting.RESET + 0, 5, 18); //TODO fix paper count + labelPaper = new Label(ChatFormatting.DARK_GRAY + "Paper: " + ChatFormatting.RESET + 0, 5, 18); //TODO fix paper count labelPaper.setAlignment(Component.ALIGN_LEFT); labelPaper.setShadow(false); layoutMain.addComponent(labelPaper); assert entry.getPos() != null; String position = ChatFormatting.DARK_GRAY + "X: " + ChatFormatting.RESET + entry.getPos().getX() + " " + ChatFormatting.DARK_GRAY + "Y: " + ChatFormatting.RESET + entry.getPos().getY() + " " + ChatFormatting.DARK_GRAY + "Z: " + ChatFormatting.RESET + entry.getPos().getZ(); - labelPosition = new com.ultreon.devices.api.app.component.Label(position, 5, 30); + labelPosition = new Label(position, 5, 30); labelPosition.setShadow(false); layoutMain.addComponent(labelPosition); diff --git a/common/src/main/java/com/ultreon/devices/api/app/Layout.java b/common/src/main/java/com/ultreon/devices/api/app/Layout.java index 7d24ddb43..a5040e6b2 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/Layout.java +++ b/common/src/main/java/com/ultreon/devices/api/app/Layout.java @@ -1,9 +1,8 @@ package com.ultreon.devices.api.app; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.listener.InitListener; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.Wrappable; import com.ultreon.devices.util.GLHelper; import net.minecraft.client.Minecraft; @@ -164,7 +163,7 @@ public void handleTick() { * @param y the starting y rendering position (top most) */ @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (!this.visible) return; @@ -175,14 +174,14 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int RenderSystem.setShaderColor(1f, 1f, 1f, 1f); for (var c : new ArrayList<>(components)) { RenderSystem.disableDepthTest(); - GLHelper.pushScissor(x, y, width, height); + GLHelper.pushScissor(graphics, x, y, width, height); c.render(graphics, laptop, mc, x + c.left, y + c.top, mouseX, mouseY, windowActive, partialTicks); GLHelper.popScissor(); } } @Override - public void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { if (!visible) return; @@ -381,7 +380,7 @@ public Context(int width, int height) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); if (borderVisible) { drawHorizontalLine(graphics, x, x + width - 1, y, Color.DARK_GRAY.getRGB()); diff --git a/common/src/main/java/com/ultreon/devices/api/app/ScrollableLayout.java b/common/src/main/java/com/ultreon/devices/api/app/ScrollableLayout.java index 694f5baa9..69516aa7d 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/ScrollableLayout.java +++ b/common/src/main/java/com/ultreon/devices/api/app/ScrollableLayout.java @@ -1,8 +1,7 @@ package com.ultreon.devices.api.app; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.component.Text; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GLHelper; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; @@ -42,17 +41,17 @@ public ScrollableLayout(int left, int top, int width, int height, int visibleHei } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (!visible) return; - GLHelper.pushScissor(x, y, width, visibleHeight); + GLHelper.pushScissor(graphics, x, y, width, visibleHeight); super.render(graphics, laptop, mc, x, y - scroll, mouseX, mouseY, windowActive, partialTicks); GLHelper.popScissor(); } @Override - public void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { if (!visible) return; diff --git a/common/src/main/java/com/ultreon/devices/api/app/System.java b/common/src/main/java/com/ultreon/devices/api/app/System.java index 9e3efb1fe..14ba1ef7a 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/System.java +++ b/common/src/main/java/com/ultreon/devices/api/app/System.java @@ -1,7 +1,7 @@ package com.ultreon.devices.api.app; import com.ultreon.devices.api.io.File; -import com.ultreon.devices.core.Settings; +import com.ultreon.devices.mineos.client.Settings; import com.ultreon.devices.object.AppInfo; import it.unimi.dsi.fastutil.Pair; import net.minecraft.nbt.CompoundTag; diff --git a/common/src/main/java/com/ultreon/devices/api/app/SystemAccessor.java b/common/src/main/java/com/ultreon/devices/api/app/SystemAccessor.java index 30aa91539..96fe0b765 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/SystemAccessor.java +++ b/common/src/main/java/com/ultreon/devices/api/app/SystemAccessor.java @@ -1,6 +1,7 @@ package com.ultreon.devices.api.app; -public interface SystemAccessor { +import com.ultreon.devices.mineos.MineOSSystem; - public void sendSystem(System system); +public interface SystemAccessor { + void sendSystem(MineOSSystem system); } diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Button.java b/common/src/main/java/com/ultreon/devices/api/app/component/Button.java index cbd8bb149..50fa39b6c 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Button.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Button.java @@ -1,11 +1,10 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.IIcon; import com.ultreon.devices.api.app.listener.ClickListener; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import com.ultreon.devices.util.StringUtils; import net.minecraft.ChatFormatting; @@ -210,12 +209,12 @@ protected void handleTick() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { RenderSystem.setShaderTexture(0, Component.COMPONENTS_GUI); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getButtonColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getButtonColor()); RenderSystem.setShaderColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1); this.hovered = GuiHelper.isMouseWithin(mouseX, mouseY, x, y, width, height) && windowActive; @@ -243,7 +242,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int RenderSystem.setShaderColor(1f, 1f, 1f, 1f); if (this.hovered) { - graphics.renderOutline(x, y, width, height, Laptop.getSystem().getSettings().getColorScheme().getButtonOutlineColor()); + graphics.renderOutline(x, y, width, height, MineOS.getOpened().getSettings().getColorScheme().getButtonOutlineColor()); } int contentWidth = (iconResource != null ? iconWidth : 0) + getTextWidth(text); @@ -266,7 +265,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int } @Override - public void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { if (this.hovered && this.toolTip != null && toolTipTick >= TOOLTIP_DELAY) { laptop.renderComponentTooltip(graphics, Arrays.asList(net.minecraft.network.chat.Component.literal(this.toolTipTitle).withStyle(ChatFormatting.GOLD), net.minecraft.network.chat.Component.literal(this.toolTip)), mouseX, mouseY); } diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/CheckBox.java b/common/src/main/java/com/ultreon/devices/api/app/component/CheckBox.java index 3d7f4ccab..91797a526 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/CheckBox.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/CheckBox.java @@ -1,10 +1,9 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.listener.ClickListener; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -57,7 +56,7 @@ public void setClickListener(ClickListener listener) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { if (group == null) { Color bgColor = new Color(getColorScheme().getBackgroundColor()); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/ComboBox.java b/common/src/main/java/com/ultreon/devices/api/app/component/ComboBox.java index 3fe72d4c8..68935dc75 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/ComboBox.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/ComboBox.java @@ -1,16 +1,14 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.listener.ChangeListener; import com.ultreon.devices.api.app.renderer.ItemRenderer; import com.ultreon.devices.api.app.renderer.ListItemRenderer; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import org.jetbrains.annotations.NotNull; @@ -43,7 +41,7 @@ public ComboBox(int left, int top, int width) { @Override public void handleTick() { super.handleTick(); - if (opened && !Laptop.getSystem().hasContext()) { + if (opened && !MineOS.getOpened().hasContext()) { opened = false; } } @@ -54,7 +52,7 @@ public void init(Layout layout) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { RenderSystem.setShaderTexture(0, Component.COMPONENTS_GUI); @@ -117,7 +115,7 @@ public void handleMouseClick(int mouseX, int mouseY, int mouseButton) { if (this.hovered && !this.opened) { this.opened = true; - Laptop.getSystem().openContext(this.layout, xPosition, yPosition + 13); + MineOS.getOpened().openContext(this.layout, xPosition, yPosition + 13); } } @@ -158,7 +156,7 @@ public void setChangeListener(ChangeListener changeListener) { } public void closeContext() { - Laptop.getSystem().closeContext(); + MineOS.getOpened().closeContext(); } public static class List extends ComboBox { @@ -203,7 +201,7 @@ public void init(Layout layout) { if (mouseButton == 0) { selected = t; updateValue(t); - Laptop.getSystem().closeContext(); + MineOS.getOpened().closeContext(); } }); this.layout.addComponent(list); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Image.java b/common/src/main/java/com/ultreon/devices/api/app/component/Image.java index 866626b72..d5041a027 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Image.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Image.java @@ -3,14 +3,13 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.blaze3d.platform.TextureUtil; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.IIcon; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.utils.OnlineRequest; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import net.minecraft.Util; import net.minecraft.client.Minecraft; @@ -62,13 +61,13 @@ public AppImage(int left, int top, int componentWidth, int componentHeight, AppI public void init(Layout layout) { super.init(layout); if (appInfo.getIcon().getBase().getU() == -1 && appInfo.getIcon().getBase().getV() == -1) { - var image = new Image(0, 0, componentWidth, componentHeight, 0, 0, 14, 14, 224, 224, Laptop.ICON_TEXTURES); + var image = new Image(0, 0, componentWidth, componentHeight, 0, 0, 14, 14, 224, 224, MineOS.ICON_TEXTURES); this.addComponent(image); return; } for (AppInfo.Icon.Glyph glyph : glyphs) { if (glyph.getU() == -1 || glyph.getV() == -1) continue; - var image = new Image(0, 0, componentWidth, componentHeight, glyph.getU(), glyph.getV(), 14, 14, 224, 224, Laptop.ICON_TEXTURES); + var image = new Image(0, 0, componentWidth, componentHeight, glyph.getU(), glyph.getV(), 14, 14, 224, 224, MineOS.ICON_TEXTURES); Supplier suscs = () -> { int tint = appInfo.getTint(glyph.getType()); var col = new Color(tint); @@ -249,7 +248,7 @@ protected void handleUnload() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { if (loader != null && loader.setup) { image = loader.load(this); @@ -313,9 +312,9 @@ public void setImage(ResourceLocation resource) { this.drawFull = true; } - public void setImage(Laptop.Wallpaper wallpaper) { + public void setImage(MineOS.Wallpaper wallpaper) { if (wallpaper.isBuiltIn()) { - setImage(Laptop.getWallpapers().get(wallpaper.getLocation())); + setImage(MineOS.getWallpapers().get(wallpaper.getLocation())); } else { setImage(wallpaper.getUrl()); } @@ -467,8 +466,8 @@ public void setup(final Image image) { NativeImage nativeImage = NativeImage.read(in); - Laptop.runLater(() -> { - Devices.LOGGER.debug("Loaded image: " + url); + MineOS.runLater(() -> { + UltreonDevicesMod.LOGGER.debug("Loaded image: " + url); texture = new DynamicTexture(nativeImage); setup = true; }); @@ -517,7 +516,7 @@ private DynamicLoadedTexture(InputStream in, BufferedImage image) { @Override public void load(@NotNull ResourceManager resourceManager) throws IOException { NativeImage nativeImage = NativeImage.read(in); - Minecraft.getInstance().getTextureManager().register(Devices.id("dynamic_loaded/" + getId()), this); + Minecraft.getInstance().getTextureManager().register(UltreonDevicesMod.id("dynamic_loaded/" + getId()), this); this.upload(nativeImage); } diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Inventory.java b/common/src/main/java/com/ultreon/devices/api/app/component/Inventory.java index 20815f137..5887dbb9b 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Inventory.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Inventory.java @@ -1,15 +1,13 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.listener.ClickListener; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -39,7 +37,7 @@ public Inventory(int left, int top) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); RenderSystem.setShaderTexture(0, CHEST_GUI_TEXTURE); @@ -68,7 +66,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int } @Override - public void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { if (this.visible) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 9; j++) { diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java b/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java index 55867c683..f1f13a90e 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/ItemList.java @@ -1,15 +1,13 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.listener.ItemClickListener; import com.ultreon.devices.api.app.renderer.ListItemRenderer; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.NonNullList; @@ -99,7 +97,7 @@ public void init(Layout layout) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { int height = 13; if (renderer != null) { @@ -143,7 +141,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int drawHorizontalLine(graphics, xPosition + 1, xPosition + width - 1, yPosition + (i * height) + i + height + 1, borderColor.getRGB()); } else { graphics.fill(xPosition + 1, yPosition + (i * 14) + 1, xPosition + width - 1, yPosition + 13 + (i * 14) + 1, (i + offset) != selected ? bgColor.brighter().getRGB() : bgColor.brighter().brighter().getRGB()); - graphics.drawString(Laptop.getFont(), item.toString(), xPosition + 3, yPosition + 3 + (i * 14), textColor); + graphics.drawString(MineOS.getFont(), item.toString(), xPosition + 3, yPosition + 3 + (i * 14), textColor); } } diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Label.java b/common/src/main/java/com/ultreon/devices/api/app/component/Label.java index 8eb45e02e..ec3d7ccff 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Label.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Label.java @@ -1,8 +1,7 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -32,7 +31,7 @@ public Label(String text, int left, int top) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { graphics.pose().pushPose(); { diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/NumberSelector.java b/common/src/main/java/com/ultreon/devices/api/app/component/NumberSelector.java index 68ebb164c..d8892c92d 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/NumberSelector.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/NumberSelector.java @@ -1,9 +1,8 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -17,7 +16,7 @@ public class NumberSelector extends Component { protected int min = 1; protected int max = 100; - /* Display Properties */ + /* GuiGraphics Properties */ protected int width; /* Sub Components */ @@ -71,7 +70,7 @@ public void init(Layout layout) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { } @Override diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/ProgressBar.java b/common/src/main/java/com/ultreon/devices/api/app/component/ProgressBar.java index 50e31df08..296ab2fd7 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/ProgressBar.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/ProgressBar.java @@ -1,8 +1,7 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -32,7 +31,7 @@ public ProgressBar(int left, int top, int width, int height) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { Color bgColor = new Color(getColorScheme().getBackgroundColor()); graphics.fill(xPosition, yPosition, xPosition + width, yPosition + height, bgColor.darker().darker().getRGB()); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Slider.java b/common/src/main/java/com/ultreon/devices/api/app/component/Slider.java index d385d9451..09a78bba3 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Slider.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Slider.java @@ -1,11 +1,10 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.listener.ClickListener; import com.ultreon.devices.api.app.listener.ReleaseListener; import com.ultreon.devices.api.app.listener.SlideListener; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -41,7 +40,7 @@ public Slider(int left, int top, int width) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { Color bgColor = new Color(getColorScheme().getBackgroundColor()); graphics.fill(xPosition, yPosition + 4, xPosition + width, yPosition + 8, bgColor.darker().darker().getRGB()); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Spinner.java b/common/src/main/java/com/ultreon/devices/api/app/component/Spinner.java index d9af4a2ae..d1960843a 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Spinner.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Spinner.java @@ -1,9 +1,8 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -34,7 +33,7 @@ public void handleTick() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); Color bgColor = new Color(getColorScheme().getBackgroundColor()).brighter().brighter(); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/Text.java b/common/src/main/java/com/ultreon/devices/api/app/component/Text.java index 3d1700594..473d39d8d 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/Text.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/Text.java @@ -1,8 +1,7 @@ package com.ultreon.devices.api.app.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; @@ -41,7 +40,7 @@ public Text(String text, int left, int top, int width) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { // DebugLog.log(lines.size() + ", " + rawText + ", " + lines); if (this.visible) { for (int i = 0; i < lines.size(); i++) { @@ -50,8 +49,8 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int text = text.substring(0, text.length() - 1); } assert text != null; - if (shadow) graphics.drawString(Laptop.getFont(), text, x + padding, y + (i * 10) + padding, textColor); - else graphics.drawString(Laptop.getFont(), text, x + padding, y + (i * 10) + padding, textColor, false); + if (shadow) graphics.drawString(MineOS.getFont(), text, x + padding, y + (i * 10) + padding, textColor); + else graphics.drawString(MineOS.getFont(), text, x + padding, y + (i * 10) + padding, textColor, false); } } } @@ -65,7 +64,7 @@ public void setText(String text) { rawText = text; text = text.replace("\\n", "\n"); var a = new ArrayList(); - Laptop.getFont().getSplitter().splitLines(FormattedText.of(text), width - padding * 2, Style.EMPTY).forEach(b -> a.add(b.getString())); + MineOS.getFont().getSplitter().splitLines(FormattedText.of(text), width - padding * 2, Style.EMPTY).forEach(b -> a.add(b.getString())); this.lines = a; } @@ -102,12 +101,12 @@ private void updateLines() { @Override protected void handleMouseClick(int mouseX, int mouseY, int mouseButton) { if (GuiHelper.isMouseWithin(mouseX, mouseY, xPosition + padding, yPosition + padding, width - padding * 2, getHeight() - padding * 2)) { - if (this.wordListener != null && lines.size() > 0) { + if (this.wordListener != null && !lines.isEmpty()) { int lineIndex = (mouseY - (yPosition + padding)) / 10; if (lineIndex < lines.size()) { int cursorX = mouseX - (xPosition + padding); String line = lines.get(lineIndex); - int index = Laptop.getFont().plainSubstrByWidth(line, cursorX).length(); + int index = MineOS.getFont().plainSubstrByWidth(line, cursorX).length(); String clickedWord = getWord(line, index); if (clickedWord != null) { this.wordListener.onWordClicked(clickedWord, mouseButton); diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/TextArea.java b/common/src/main/java/com/ultreon/devices/api/app/component/TextArea.java index 94e62b2fd..d6ea5a294 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/TextArea.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/TextArea.java @@ -2,19 +2,17 @@ import com.mojang.blaze3d.platform.InputConstants; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.interfaces.IHighlight; import com.ultreon.devices.api.app.listener.KeyListener; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.util.GLHelper; import com.ultreon.devices.util.GuiHelper; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.util.Mth; @@ -83,7 +81,7 @@ public class TextArea extends Component { */ public TextArea(int left, int top, int width, int height) { super(left, top); - this.font = Laptop.getFont(); + this.font = MineOS.getFont(); this.width = width; this.height = height; this.visibleLines = (int) Math.floor((float) ((height - padding * 2 + 1) / font.lineHeight)); @@ -96,7 +94,7 @@ public void handleTick() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (this.visible) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); @@ -109,7 +107,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int RenderUtil.drawStringClipped(graphics, placeholder, x + padding, y + padding, width - padding * 2, placeholderColor, false); } - GLHelper.pushScissor(x + padding, y + padding, width - padding * 2, height - padding * 2); + GLHelper.pushScissor(graphics, x + padding, y + padding, width - padding * 2, height - padding * 2); for (int i = 0; i < visibleLines && i + verticalScroll < lines.size(); i++) { float scrollPercentage = (verticalScroll + verticalOffset) / (float) (lines.size() - visibleLines); float pixelsPerUnit = (float) maxLineWidth / (float) (width - padding * 2); @@ -134,7 +132,7 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int } GLHelper.popScissor(); - GLHelper.pushScissor(x + padding, y + padding - 1, width - padding * 2 + 1, height - padding * 2 + 1); + GLHelper.pushScissor(graphics, x + padding, y + padding - 1, width - padding * 2 + 1, height - padding * 2 + 1); if (editable && isFocused) { float linesPerUnit = (float) lines.size() / (float) visibleLines; int scroll = Mth.clamp(verticalScroll + verticalOffset * (int) linesPerUnit, 0, Math.max(0, lines.size() - visibleLines)); @@ -637,7 +635,7 @@ private void updateText() { for (int j = 0; j < split.size() - 1; j++) { updatedLines.add(split.get(j)); } - if (split.size() > 0) { + if (!split.isEmpty()) { updatedLines.add(split.get(split.size() - 1) + "\n"); } } @@ -646,7 +644,7 @@ private void updateText() { for (int i = 0; i < split.size() - 1; i++) { updatedLines.add(split.get(i)); } - if (split.size() > 0) { + if (!split.isEmpty()) { updatedLines.add(split.get(split.size() - 1)); } diff --git a/common/src/main/java/com/ultreon/devices/api/app/component/TextField.java b/common/src/main/java/com/ultreon/devices/api/app/component/TextField.java index ca0fcdebc..f51dc0007 100644 --- a/common/src/main/java/com/ultreon/devices/api/app/component/TextField.java +++ b/common/src/main/java/com/ultreon/devices/api/app/component/TextField.java @@ -1,11 +1,9 @@ package com.ultreon.devices.api.app.component; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.IIcon; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import java.awt.*; @@ -27,7 +25,7 @@ public TextField(int left, int top, int width) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (icon != null) { RenderSystem.setShaderColor(1f, 1f, 1f, 1f); Color bgColor = new Color(color(backgroundColor, getColorScheme().getBackgroundColor())); diff --git a/common/src/main/java/com/ultreon/devices/api/bios/Bios.java b/common/src/main/java/com/ultreon/devices/api/bios/Bios.java new file mode 100644 index 000000000..ce9433983 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/Bios.java @@ -0,0 +1,24 @@ +package com.ultreon.devices.api.bios; + +import com.ultreon.devices.api.io.Drive; +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.core.BootLoader; +import net.minecraft.client.gui.screens.Screen; + +import java.util.UUID; + +public interface Bios { + void sendNotification(BiosNotification notification); + + boolean powerOff(); + + void addOperatingSystem(BootLoader operatingSystem); + + OperatingSystem getRunningOS(); + + Drive getMainDrive(); + + void setMainDrive(Drive drive); + + UUID getDeviceId(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/BiosInterrupt.java b/common/src/main/java/com/ultreon/devices/api/bios/BiosInterrupt.java new file mode 100644 index 000000000..19a187130 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/BiosInterrupt.java @@ -0,0 +1,6 @@ +package com.ultreon.devices.api.bios; + +public interface BiosInterrupt { + void interrupt(T data); + +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/BiosNotification.java b/common/src/main/java/com/ultreon/devices/api/bios/BiosNotification.java new file mode 100644 index 000000000..0e76f152b --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/BiosNotification.java @@ -0,0 +1,10 @@ +package com.ultreon.devices.api.bios; + +import com.ultreon.devices.api.app.IIcon; + +public record BiosNotification( + IIcon icon, + String title, + String subTitle +) { +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/DoubleFaultInterrupt.java b/common/src/main/java/com/ultreon/devices/api/bios/DoubleFaultInterrupt.java new file mode 100644 index 000000000..a9a8ea460 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/DoubleFaultInterrupt.java @@ -0,0 +1,11 @@ +package com.ultreon.devices.api.bios; + +import java.util.List; + +public record DoubleFaultInterrupt( + Throwable cause, + List ignoredCauses, + String message +) implements InterruptData { + +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/FaultInterrupt.java b/common/src/main/java/com/ultreon/devices/api/bios/FaultInterrupt.java new file mode 100644 index 000000000..376f628fd --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/FaultInterrupt.java @@ -0,0 +1,8 @@ +package com.ultreon.devices.api.bios; + +public record FaultInterrupt( + Throwable cause, + String message +) implements InterruptData { + +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/Font.java b/common/src/main/java/com/ultreon/devices/api/bios/Font.java new file mode 100644 index 000000000..646c725b2 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/Font.java @@ -0,0 +1,15 @@ +package com.ultreon.devices.api.bios; + +import net.minecraft.resources.ResourceLocation; + +public interface Font { + int width(String text); + + String plainSubstrByWidth(String text, int width); + + Iterable splitLines(String s); + + int lineHeight(); + + ResourceLocation resourcePath(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/InterruptData.java b/common/src/main/java/com/ultreon/devices/api/bios/InterruptData.java new file mode 100644 index 000000000..b710722cd --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/InterruptData.java @@ -0,0 +1,5 @@ +package com.ultreon.devices.api.bios; + +public sealed interface InterruptData permits DoubleFaultInterrupt, FaultInterrupt, PowerModeInterrupt { + +} diff --git a/common/src/main/java/com/ultreon/devices/api/bios/PowerModeInterrupt.java b/common/src/main/java/com/ultreon/devices/api/bios/PowerModeInterrupt.java new file mode 100644 index 000000000..77aadb517 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/bios/PowerModeInterrupt.java @@ -0,0 +1,12 @@ +package com.ultreon.devices.api.bios; + +public record PowerModeInterrupt( + PowerMode powerMode +) implements InterruptData { + public enum PowerMode { + SLEEP, + HIBERNATE, + REBOOT, + SHUTDOWN + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/device/AudioDevice.java b/common/src/main/java/com/ultreon/devices/api/device/AudioDevice.java new file mode 100644 index 000000000..b73ad4c57 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/device/AudioDevice.java @@ -0,0 +1,5 @@ +package com.ultreon.devices.api.device; + +public interface AudioDevice extends Device { + void playSound(String sound); +} diff --git a/common/src/main/java/com/ultreon/devices/api/device/Device.java b/common/src/main/java/com/ultreon/devices/api/device/Device.java new file mode 100644 index 000000000..d2159c75e --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/device/Device.java @@ -0,0 +1,7 @@ +package com.ultreon.devices.api.device; + +public interface Device { + boolean isPresent(); + + boolean isConnected(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/device/MousePointer.java b/common/src/main/java/com/ultreon/devices/api/device/MousePointer.java new file mode 100644 index 000000000..9fec924a5 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/device/MousePointer.java @@ -0,0 +1,7 @@ +package com.ultreon.devices.api.device; + +public interface MousePointer { + float getY(); + + float getX(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/event/LaptopEvent.java b/common/src/main/java/com/ultreon/devices/api/event/LaptopEvent.java index ead5ad636..4985fa4ce 100644 --- a/common/src/main/java/com/ultreon/devices/api/event/LaptopEvent.java +++ b/common/src/main/java/com/ultreon/devices/api/event/LaptopEvent.java @@ -1,7 +1,7 @@ package com.ultreon.devices.api.event; import com.ultreon.devices.api.TrayItemAdder; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import dev.architectury.event.Event; import dev.architectury.event.EventFactory; @@ -9,6 +9,6 @@ public interface LaptopEvent { Event SETUP_TRAY_ITEMS = EventFactory.createLoop(); interface SetupTrayItems extends LaptopEvent { - void setupTrayItems(Laptop laptop, TrayItemAdder trayItems); + void setupTrayItems(MineOS laptop, TrayItemAdder trayItems); } } diff --git a/common/src/main/java/com/ultreon/devices/api/io/Folder.java b/common/src/main/java/com/ultreon/devices/api/io/Folder.java index d21b0e5a5..bd07b3569 100644 --- a/common/src/main/java/com/ultreon/devices/api/io/Folder.java +++ b/common/src/main/java/com/ultreon/devices/api/io/Folder.java @@ -3,7 +3,7 @@ import com.ultreon.devices.api.task.Callback; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.task.TaskManager; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.io.action.FileAction; import com.ultreon.devices.core.io.task.TaskGetFiles; @@ -456,7 +456,7 @@ public void sync(@Nullable Callback callback) { if (!valid) throw new IllegalStateException("Folder must be added to the system before it can be synced"); if (!isSynced()) { - BlockPos pos = Laptop.getPos(); + BlockPos pos = MineOS.getOpened().getPos(); if (pos == null) { if (callback != null) { callback.execute(this, false); diff --git a/common/src/main/java/com/ultreon/devices/api/os/OperatingSystem.java b/common/src/main/java/com/ultreon/devices/api/os/OperatingSystem.java new file mode 100644 index 000000000..84ccf40d9 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/os/OperatingSystem.java @@ -0,0 +1,44 @@ +package com.ultreon.devices.api.os; + +import com.ultreon.devices.client.Display; +import com.ultreon.devices.object.AppInfo; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.nbt.CompoundTag; +import com.ultreon.devices.api.bios.Bios; +import com.ultreon.devices.api.bios.InterruptData; +import net.minecraft.client.gui.GuiGraphics; +import com.ultreon.devices.api.app.Application; + +public interface OperatingSystem { + void init(GuiGraphics graphics); + + void boot(Bios bios); + + void render(GuiGraphics display); + + void onShutdownRequest(ShutdownSource source); + + boolean onBiosInterrupt(InterruptData interrupt); + + boolean mouseReleased(double mouseX, double mouseY, int state); + + boolean mouseReleased(int mouseX, int mouseY, int state); + + void afterKeyboardAction(); + + boolean charTyped(char codePoint, int modifiers); + + boolean keyPressed(int keyCode, int scanCode, int modifiers); + + Application openApplication(AppInfo info); + + Application openApplication(AppInfo info, CompoundTag intentTag); + + boolean isWorldLess(); + + Screen getScreen(); + + void connectDisplay(Display display); + + void disconnectDisplay(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/os/ShutdownSource.java b/common/src/main/java/com/ultreon/devices/api/os/ShutdownSource.java new file mode 100644 index 000000000..2a7dd9559 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/os/ShutdownSource.java @@ -0,0 +1,5 @@ +package com.ultreon.devices.api.os; + +public enum ShutdownSource { + POWER_BUTTON +} diff --git a/common/src/main/java/com/ultreon/devices/api/print/PrintingManager.java b/common/src/main/java/com/ultreon/devices/api/print/PrintingManager.java index d4646a32b..a9d482449 100644 --- a/common/src/main/java/com/ultreon/devices/api/print/PrintingManager.java +++ b/common/src/main/java/com/ultreon/devices/api/print/PrintingManager.java @@ -1,7 +1,7 @@ package com.ultreon.devices.api.print; import com.google.common.collect.HashBiMap; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import dev.architectury.injectables.annotations.PlatformOnly; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -33,16 +33,16 @@ public static void setRegisteredRenders(Map registeredR public static void registerPrint(ResourceLocation identifier, Class classPrint) { try { classPrint.getConstructor().newInstance(); - if (Devices.getInstance().registerPrint(identifier, classPrint)) { - Devices.LOGGER.info("Registering print '" + classPrint.getName() + "'"); + if (UltreonDevicesMod.get().registerPrint(identifier, classPrint)) { + UltreonDevicesMod.LOGGER.info("Registering print '" + classPrint.getName() + "'"); registeredPrints.put(identifier.toString(), classPrint); } else { - Devices.LOGGER.error("The print '" + classPrint.getName() + "' could not be registered due to a critical error!"); + UltreonDevicesMod.LOGGER.error("The print '" + classPrint.getName() + "' could not be registered due to a critical error!"); } } catch (NoSuchMethodException e) { - Devices.LOGGER.error("The print '" + classPrint.getName() + "' is missing an empty constructor and could not be registered!"); + UltreonDevicesMod.LOGGER.error("The print '" + classPrint.getName() + "' is missing an empty constructor and could not be registered!"); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { - Devices.LOGGER.error("The print '" + classPrint.getName() + "' could not be registered due to a critical error!"); + UltreonDevicesMod.LOGGER.error("The print '" + classPrint.getName() + "' could not be registered due to a critical error!"); } } diff --git a/common/src/main/java/com/ultreon/devices/api/storage/DataStorage.java b/common/src/main/java/com/ultreon/devices/api/storage/DataStorage.java new file mode 100644 index 000000000..1ac75d584 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/storage/DataStorage.java @@ -0,0 +1,16 @@ +package com.ultreon.devices.api.storage; + +import java.util.List; +import java.util.ServiceLoader; + +public interface DataStorage { + List> STORAGES = ServiceLoader.load(DataStorage.class).stream().toList(); + + static DataStorage findDataStorage(String id) { + return STORAGES.stream().map(ServiceLoader.Provider::get).filter(storage -> storage.id().equals(id)).findFirst().orElseThrow(() -> new IllegalArgumentException("No data storage found for id: " + id)); + } + + FileHandle get(String path); + + String id(); +} diff --git a/common/src/main/java/com/ultreon/devices/api/storage/FileHandle.java b/common/src/main/java/com/ultreon/devices/api/storage/FileHandle.java new file mode 100644 index 000000000..76e19d1e1 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/storage/FileHandle.java @@ -0,0 +1,132 @@ +package com.ultreon.devices.api.storage; + +import com.ultreon.devices.UltreonDevicesMod; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtAccounter; +import net.minecraft.nbt.NbtIo; +import net.minecraft.resources.ResourceLocation; + +import java.io.*; +import java.util.List; + +public interface FileHandle { + default String readString() throws IOException { + try (InputStream read = read()) { + return new String(read.readAllBytes()); + } + } + + default byte[] readBytes() throws IOException { + try (InputStream read = read()) { + return read.readAllBytes(); + } + } + + default void writeString(String string) throws IOException { + try (OutputStream write = write()) { + write.write(string.getBytes()); + } + } + + default void writeBytes(byte[] bytes) throws IOException { + try (OutputStream write = write()) { + write.write(bytes); + } + } + + String path(); + + InputStream read() throws IOException; + + OutputStream write() throws IOException; + + default T read(Class clazz) throws IOException { + return UltreonDevicesMod.GSON.fromJson(reader(), clazz); + } + + default void write(T object) throws IOException { + write(UltreonDevicesMod.GSON.toJson(object)); + } + + default CompoundTag readNbt() throws IOException { + return NbtIo.read(dataReader(), NbtAccounter.unlimitedHeap()); + } + + default void writeNbt(CompoundTag ubo) throws IOException { + NbtIo.write(ubo, dataWriter()); + } + + default DataInput dataReader() throws IOException { + return new DataInputStream(read()); + } + + default DataOutput dataWriter() throws IOException { + return new DataOutputStream(write()); + } + + boolean isDirectory(); + + boolean isFile(); + + boolean isSymbolicLink(); + + long length() throws IOException; + + default boolean isReadable() { + return false; + } + + default boolean isWritable() { + return false; + } + + default Reader reader() throws IOException { + return new InputStreamReader(read()); + } + + default Writer writer() throws IOException { + return new OutputStreamWriter(write()); + } + + static FileHandle resource(ResourceLocation path) { + return DataStorage.findDataStorage("resource-path").get(path.toString()); + } + + static FileHandle storage(String path) { + return DataStorage.findDataStorage("storage").get(path); + } + + static FileHandle uri(String uri) { + return DataStorage.findDataStorage("uri").get(uri); + } + + default boolean isExecutable() { + return false; + } + + boolean exists(); + + default boolean isAccessible() { + return exists(); + } + + FileHandle get(String path); + + default CompoundTag readNbt(String path) throws IOException { + return get(path).readNbt(); + } + + default void writeNbt(String path, CompoundTag ubo) throws IOException { + get(path).writeNbt(ubo); + } + + void createDirs(); + + List listDir(); + + String fileName(); + + default String extension() { + return fileName().substring(fileName().lastIndexOf('.') + 1); + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/task/TaskManager.java b/common/src/main/java/com/ultreon/devices/api/task/TaskManager.java index e06b3aed8..a90b9ee66 100644 --- a/common/src/main/java/com/ultreon/devices/api/task/TaskManager.java +++ b/common/src/main/java/com/ultreon/devices/api/task/TaskManager.java @@ -1,11 +1,10 @@ package com.ultreon.devices.api.task; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.network.PacketHandler; import com.ultreon.devices.network.task.RequestPacket; import net.minecraft.client.Minecraft; -import java.lang.reflect.Constructor; import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; @@ -30,7 +29,7 @@ private static TaskManager get() { public static void registerTask(Supplier clazz) { var task = clazz.get(); try { - Devices.LOGGER.info("Registering task '" + task.getName() + "'"); + UltreonDevicesMod.LOGGER.info("Registering task '" + task.getName() + "'"); get().registeredRequests.put(task.getName(), task); } catch (Exception e) { e.printStackTrace(); diff --git a/common/src/main/java/com/ultreon/devices/api/util/Color.java b/common/src/main/java/com/ultreon/devices/api/util/Color.java new file mode 100644 index 000000000..4b266c960 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/util/Color.java @@ -0,0 +1,104 @@ +package com.ultreon.devices.api.util; + +public class Color { + public static final Color WHITE = new Color(java.awt.Color.WHITE); + public static final Color BLACK = new Color(java.awt.Color.BLACK); + public static final Color RED = new Color(java.awt.Color.RED); + public static final Color GREEN = new Color(java.awt.Color.GREEN); + public static final Color BLUE = new Color(java.awt.Color.BLUE); + public static final Color YELLOW = new Color(java.awt.Color.YELLOW); + public static final Color CYAN = new Color(java.awt.Color.CYAN); + public static final Color MAGENTA = new Color(java.awt.Color.MAGENTA); + public static final Color ORANGE = new Color(java.awt.Color.ORANGE); + public static final Color PINK = new Color(java.awt.Color.PINK); + public static final Color GRAY = new Color(java.awt.Color.GRAY); + public static final Color DARK_GRAY = new Color(java.awt.Color.DARK_GRAY); + public static final Color LIGHT_GRAY = new Color(java.awt.Color.LIGHT_GRAY); + public static final Color TRANSPARENT = new Color(0, 0, 0, 0); + + private final java.awt.Color awtColor; + + public Color() { + this.awtColor = new java.awt.Color(0, 0, 0, 0); + } + + public Color(int color) { + this.awtColor = new java.awt.Color(color); + } + + public Color(int rgba, boolean alpha) { + this.awtColor = new java.awt.Color(rgba, alpha); + } + + public Color(float r, float g, float b, float a) { + this.awtColor = new java.awt.Color(r, g, b, a); + } + + public Color(float r, float g, float b) { + this.awtColor = new java.awt.Color(r, g, b, 1f); + } + + public Color(int r, int g, int b, int a) { + this.awtColor = new java.awt.Color(r / 255f, g / 255f, b / 255f, a / 255f); + } + + public Color(int r, int g, int b) { + this.awtColor = new java.awt.Color(r / 255f, g / 255f, b / 255f, 1f); + } + + public Color(java.awt.Color awtColor) { + this.awtColor = awtColor; + } + + public static float[] RGBtoHSB(int red, int green, int blue, float[] hsbVals) { + return java.awt.Color.RGBtoHSB(red, green, blue, hsbVals); + } + + public static int HSBtoRGB(float hue, float saturation, float brightness) { + return java.awt.Color.HSBtoRGB(hue, saturation, brightness); + } + + public java.awt.Color getAwtColor() { + return awtColor; + } + + public int getRGB() { + return awtColor.getRGB(); + } + + public int getRed() { + return awtColor.getRed(); + } + + public int getGreen() { + return awtColor.getGreen(); + } + + public int getBlue() { + return awtColor.getBlue(); + } + + public int getAlpha() { + return awtColor.getAlpha(); + } + + public float getRedF() { + return awtColor.getRed() / 255f; + } + + public float getGreenF() { + return awtColor.getGreen() / 255f; + } + + public float getBlueF() { + return awtColor.getBlue() / 255f; + } + + public float getAlphaF() { + return awtColor.getAlpha() / 255f; + } + + public Color brighter() { + return new Color(this.awtColor.brighter()); + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/util/GuiHelper.java b/common/src/main/java/com/ultreon/devices/api/util/GuiHelper.java new file mode 100644 index 000000000..dbbc9540a --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/util/GuiHelper.java @@ -0,0 +1,11 @@ +package com.ultreon.devices.api.util; + +public class GuiHelper { + public static boolean isMouseInside(int mouseX, int mouseY, int x1, int y1, int x2, int y2) { + return mouseX >= x1 && mouseX < x2 && mouseY >= y1 && mouseY < y2; + } + + public static boolean isMouseWithin(int mouseX, int mouseY, int x, int y, int width, int height) { + return mouseX >= x && mouseX < x + width && mouseY >= y && mouseY < y + height; + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/util/ImageLoader.java b/common/src/main/java/com/ultreon/devices/api/util/ImageLoader.java new file mode 100644 index 000000000..d81a0c0d9 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/util/ImageLoader.java @@ -0,0 +1,12 @@ +package com.ultreon.devices.api.util; + +import com.ultreon.devices.api.storage.FileHandle; + +import java.util.List; +import java.util.ServiceLoader; + +public interface ImageLoader { + List> LOADERS = ServiceLoader.load(ImageLoader.class).stream().toList(); + + ImageSource load(FileHandle handle); +} diff --git a/common/src/main/java/com/ultreon/devices/api/util/ImageSource.java b/common/src/main/java/com/ultreon/devices/api/util/ImageSource.java new file mode 100644 index 000000000..b73474b1e --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/util/ImageSource.java @@ -0,0 +1,13 @@ +package com.ultreon.devices.api.util; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; + +public interface ImageSource { + ResourceLocation resourcePath(); + + default CompoundTag save(CompoundTag mapType) { + mapType.putString("resourcePath", resourcePath().toString()); + return mapType; + } +} diff --git a/common/src/main/java/com/ultreon/devices/api/util/Vulnerability.java b/common/src/main/java/com/ultreon/devices/api/util/Vulnerability.java new file mode 100644 index 000000000..b21c377a8 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/api/util/Vulnerability.java @@ -0,0 +1,74 @@ +package com.ultreon.devices.api.util; + +import com.jab125.version.VersionPredicate; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.ApplicationManager; +import com.ultreon.devices.api.app.Icons; +import com.ultreon.devices.client.Display; +import com.ultreon.devices.object.AppInfo; +import com.ultreon.devices.object.TrayItem; +import org.jetbrains.annotations.Nullable; + +import java.util.Collection; + +public record Vulnerability(@Nullable String reporter, String title, @Nullable String description, int severity, Collection affectedVersions, Collection fixVersion, boolean affectsCurrentVersion) { + @Override + public String toString() { + return "Vulnerability{" + + "reporter='" + reporter + '\'' + + ", title='" + title + '\'' + + ", description='" + description + '\'' + + ", severity=" + severity + + ", affectedVersions=" + affectedVersions + + ", fixVersion='" + fixVersion + '\'' + + '}'; + } + + public String toPrettyString() { + return """ + Vulnerability { + reporter = '%s' + title = '%s' + description = '%s' + severity = %s + affectedVersions = %s + fixVersion = '%s' + }""".formatted(reporter, title, description, severity, affectedVersions, fixVersion); + } + + public static class VulnerabilityTrayItem extends TrayItem { + public VulnerabilityTrayItem() { + super(vulnerabilitiesAffectUs() ? Icons.WARNING : Icons.WARNING_GRAY, UltreonDevicesMod.res("vulnerabilities")); + } + private static boolean vulnerabilitiesAffectUs() { + return UltreonDevicesMod.getVulnerabilities().stream().anyMatch(Vulnerability::affectsCurrentVersion); + } + private final boolean vulnerabilities = vulnerabilitiesAffectUs(); + private int tick; + private boolean stat = false; + + @Override + public void tick() { + super.tick(); + if (!vulnerabilities) return; + if (tick >= 15) { + tick = 0; + this.setIcon(stat ? Icons.FLASHED_WARNING : Icons.WARNING); + stat = !stat; + } + tick++; + } + + @Override + public void handleClick(int mouseX, int mouseY, int mouseButton) { + AppInfo info = ApplicationManager.getApplication(UltreonDevicesMod.res("vulnerability")); + if (info != null) { + Display.get().getOS().openApplication(info); + } + } + } + + public int effectiveSeverity() { + return affectsCurrentVersion ? severity : 0; + } +} \ No newline at end of file diff --git a/common/src/main/java/com/ultreon/devices/api/utils/BankUtil.java b/common/src/main/java/com/ultreon/devices/api/utils/BankUtil.java index 24cc06eed..213b3d1dc 100644 --- a/common/src/main/java/com/ultreon/devices/api/utils/BankUtil.java +++ b/common/src/main/java/com/ultreon/devices/api/utils/BankUtil.java @@ -94,6 +94,7 @@ public Account getAccount(UUID uuid) { return uuidToAccount.get(uuid); } + @Override public void save(CompoundTag tag) { ListTag accountList = new ListTag(); for (UUID uuid : uuidToAccount.keySet()) { @@ -106,6 +107,7 @@ public void save(CompoundTag tag) { tag.put("accounts", accountList); } + @Override public void load(CompoundTag tag) { ListTag accountList = (ListTag) tag.get("accounts"); for (int i = 0; i < accountList.size(); i++) { diff --git a/common/src/main/java/com/ultreon/devices/api/utils/OnlineRequest.java b/common/src/main/java/com/ultreon/devices/api/utils/OnlineRequest.java index 7924e5487..50bece5cc 100644 --- a/common/src/main/java/com/ultreon/devices/api/utils/OnlineRequest.java +++ b/common/src/main/java/com/ultreon/devices/api/utils/OnlineRequest.java @@ -1,5 +1,6 @@ package com.ultreon.devices.api.utils; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.util.StreamUtils; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; @@ -48,25 +49,26 @@ public static OnlineRequest getInstance() { } public static void checkURLForSuspicions(URL url) throws IOException { - if (!isSafe(url.getHost()) || !url.getProtocol().equals("https")) { + if (isUnsafe(url.getHost()) || !url.getProtocol().equals("https")) { throw new IOException("Unsafe URL"); } } - public static boolean isSafeAddress(String address) { + public static boolean isUnsafeAddress(String address) { try { URL url = new URL(address); - return isSafe(url.getHost()); + return isUnsafe(url.getHost()); } catch (Exception e) { - return false; + return true; } } // ignore that - private static boolean isSafe(String host) { + private static boolean isUnsafe(String host) { return switch (host) { - case "ultreon.gitlab.io", "cdn.discordapp.com", "jab125.com", "jab125.dev", "raw.githubusercontent.com", "github.com", "i.imgur.com", "i.giphy.com", "avatars1.githubusercontent.com" -> true; - default -> false; + case "ultreon.gitlab.io", "cdn.discordapp.com", "jab125.com", "jab125.dev", "raw.githubusercontent.com", + "github.com", "i.imgur.com", "i.giphy.com", "avatars1.githubusercontent.com" -> false; + default -> true; }; } @@ -125,7 +127,7 @@ public void run() { URL url = new URL(wrapper.url); checkURLForSuspicions(url); } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Error parsing URL: {}", wrapper.url); wrapper.handler.handle(false, "DOMAIN NOT BLACKLISTED/ERROR PARSING DOMAIN"); continue; } @@ -136,7 +138,7 @@ public void run() { wrapper.handler.handle(true, raw); } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Error making request: {}", wrapper.url, e); wrapper.handler.handle(false, ""); } } diff --git a/common/src/main/java/com/ultreon/devices/api/utils/RenderUtil.java b/common/src/main/java/com/ultreon/devices/api/utils/RenderUtil.java index 449733a21..1814fb067 100644 --- a/common/src/main/java/com/ultreon/devices/api/utils/RenderUtil.java +++ b/common/src/main/java/com/ultreon/devices/api/utils/RenderUtil.java @@ -3,7 +3,7 @@ import com.mojang.blaze3d.platform.Lighting; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; @@ -41,19 +41,19 @@ public static void renderItem(GuiGraphics graphics, int x, int y, ItemStack stac public static void drawIcon(GuiGraphics graphics, double x, double y, AppInfo info, int width, int height) { //Gui.blit(pose, (int) x, (int) y, width, height, u, v, sourceWidth, sourceHeight, (int) textureWidth, (int) textureHeight); if (info == null || (info.getIcon().getBase().getU() == -1 && info.getIcon().getBase().getV() == -1)) { - RenderSystem.setShaderTexture(0, Laptop.ICON_TEXTURES); - drawRectWithTexture(Laptop.ICON_TEXTURES, graphics, x, y, 0, 0, width, height, 14, 14, 224, 224); + RenderSystem.setShaderTexture(0, MineOS.ICON_TEXTURES); + drawRectWithTexture(MineOS.ICON_TEXTURES, graphics, x, y, 0, 0, width, height, 14, 14, 224, 224); return; } RenderSystem.enableBlend(); var glyphs = new AppInfo.Icon.Glyph[]{info.getIcon().getBase(), info.getIcon().getOverlay0(), info.getIcon().getOverlay1()}; - RenderSystem.setShaderTexture(0, Laptop.ICON_TEXTURES); + RenderSystem.setShaderTexture(0, MineOS.ICON_TEXTURES); for (AppInfo.Icon.Glyph glyph : glyphs) { if (glyph.getU() == -1 || glyph.getV() == -1) continue; var col = new Color(info.getTint(glyph.getType())); int[] tint = new int[]{col.getRed(), col.getGreen(), col.getBlue()}; RenderSystem.setShaderColor(tint[0]/255f, tint[1]/255f, tint[2]/255f, 1f); - drawRectWithTexture(Laptop.ICON_TEXTURES, graphics, x, y, glyph.getU(), glyph.getV(), width, height, 14, 14, 224, 224); + drawRectWithTexture(MineOS.ICON_TEXTURES, graphics, x, y, glyph.getU(), glyph.getV(), width, height, 14, 14, 224, 224); //image.init(layout); } RenderSystem.setShaderColor(1f, 1f, 1f, 1f); @@ -135,22 +135,22 @@ public static void drawRectWithTexture(ResourceLocation location, PoseStack pose public static void drawApplicationIcon(GuiGraphics graphics, @Nullable AppInfo info, double x, double y) { //TODO: Reset color GlStateManager.color(1f, 1f, 1f); - RenderSystem.setShaderTexture(0, Laptop.ICON_TEXTURES); + RenderSystem.setShaderTexture(0, MineOS.ICON_TEXTURES); if (info != null) { drawIcon(graphics, x, y, info, 14, 14); // drawRectWithTexture(pose, x, y, info.getIconU(), info.getIconV(), 14, 14, 14, 14, 224, 224); } else { - drawRectWithTexture(Laptop.ICON_TEXTURES, graphics, x, y, 0, 0, 14, 14, 14, 14, 224, 224); + drawRectWithTexture(MineOS.ICON_TEXTURES, graphics, x, y, 0, 0, 14, 14, 14, 14, 224, 224); } } public static void drawStringClipped(GuiGraphics graphics, String text, int x, int y, int width, int color, boolean shadow) { - if (shadow) graphics.drawString(Laptop.getFont(), clipStringToWidth(text, width) + ChatFormatting.RESET, x, y, color); - else graphics.drawString(Laptop.getFont(), Laptop.getFont().plainSubstrByWidth(text, width) + ChatFormatting.RESET, x, y, color, false); + if (shadow) graphics.drawString(MineOS.getFont(), clipStringToWidth(text, width) + ChatFormatting.RESET, x, y, color); + else graphics.drawString(MineOS.getFont(), MineOS.getFont().plainSubstrByWidth(text, width) + ChatFormatting.RESET, x, y, color, false); } public static String clipStringToWidth(String text, int width) { - Font fontRenderer = Laptop.getFont(); + Font fontRenderer = MineOS.getFont(); String clipped = text; if (fontRenderer.width(clipped) > width) { clipped = fontRenderer.plainSubstrByWidth(clipped, width - 8) + "..."; diff --git a/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java b/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java index 60e899a82..a43d01ad2 100644 --- a/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java +++ b/common/src/main/java/com/ultreon/devices/api/video/VideoInfo.java @@ -1,7 +1,7 @@ package com.ultreon.devices.api.video; import com.mojang.blaze3d.platform.Window; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.system.DisplayResolution; import com.ultreon.devices.programs.system.PredefinedResolution; import net.minecraft.client.Minecraft; @@ -28,7 +28,7 @@ public Collection getResolutionList() { public void setResolution(DisplayResolution value) { this.resolution = value; - Laptop.getInstance().revalidateDisplay(); + MineOS.getOpened().revalidateDisplay(); } public DisplayResolution getResolution() { diff --git a/common/src/main/java/com/ultreon/devices/block/ClientLaptopWrapper.java b/common/src/main/java/com/ultreon/devices/block/ClientLaptopWrapper.java index 57fbe6f92..cf83d510a 100644 --- a/common/src/main/java/com/ultreon/devices/block/ClientLaptopWrapper.java +++ b/common/src/main/java/com/ultreon/devices/block/ClientLaptopWrapper.java @@ -1,12 +1,19 @@ package com.ultreon.devices.block; import com.ultreon.devices.block.entity.ComputerBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.client.Display; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.player.Player; public class ClientLaptopWrapper { - public static void execute(ComputerBlockEntity laptop) { - Minecraft.getInstance().setScreen(new Laptop(laptop)); + public static void execute(Player player, ComputerBlockEntity laptop) { + if (!laptop.isPoweredOn()) { + player.displayClientMessage(Component.translatable("message.devices.computer.not_powered"), true); + return; + } + Minecraft.getInstance().setScreen(Display.open(laptop)); } } diff --git a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java index aca732574..786209b9a 100644 --- a/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/ComputerBlock.java @@ -51,24 +51,21 @@ public InteractionResult use(@NotNull BlockState state, @NotNull Level level, @N BlockEntity blockEntity = level.getBlockEntity(pos); if (blockEntity instanceof LaptopBlockEntity laptop) { if (player.isCrouching()) { - if (!level.isClientSide) { - laptop.openClose(player); - } + if (!level.isClientSide) laptop.openClose(player); return InteractionResult.SUCCESS; } else { InteractionResult result = doAttachment(state, level, pos, player, hand, hit, laptop); if (result != null) return result; - if (laptop.isOpen()) { - if (level.isClientSide) { - EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(laptop)); - } - return InteractionResult.sidedSuccess(level.isClientSide); - } + if (!laptop.isOpen()) return InteractionResult.PASS; + if (!level.isClientSide) return InteractionResult.sidedSuccess(false); + if (!laptop.isPoweredOn()) laptop.powerOn(); + EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(player, laptop)); + return InteractionResult.sidedSuccess(true); } } else if (blockEntity instanceof ComputerBlockEntity computer) { if (level.isClientSide) { - EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(computer)); + EnvExecutor.runInEnv(Env.CLIENT, () -> () -> ClientLaptopWrapper.execute(player, computer)); } return InteractionResult.sidedSuccess(level.isClientSide); @@ -76,7 +73,6 @@ public InteractionResult use(@NotNull BlockState state, @NotNull Level level, @N throw new IllegalStateException("Unexpected block entity: " + blockEntity); } - return InteractionResult.PASS; } private static @Nullable InteractionResult doAttachment(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand hand, @NotNull BlockHitResult hit, LaptopBlockEntity laptop) { diff --git a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java index 52dd7f6d2..ba5aa6e1e 100644 --- a/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/MacMaxXBlock.java @@ -153,6 +153,7 @@ private boolean hasBlock(Level level, BlockPos pos, InteractionHand hand, ItemSt return !(level.getBlockState(pos).isAir() || level.getBlockState(pos).canBeReplaced(new FakeBlockPlaceContext(level, hand, itemInHand, new BlockHitResult(Vec3.atCenterOf(pos), face, pos, false)))); } + @Override public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, LivingEntity placer, @NotNull ItemStack stack) { if (state.isAir()) return; BlockState partState = DeviceBlocks.MAC_MAX_X_PART.get().defaultBlockState(); diff --git a/common/src/main/java/com/ultreon/devices/block/PaperBlock.java b/common/src/main/java/com/ultreon/devices/block/PaperBlock.java index f9bb8c0c9..247450737 100644 --- a/common/src/main/java/com/ultreon/devices/block/PaperBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/PaperBlock.java @@ -1,7 +1,6 @@ package com.ultreon.devices.block; import com.mojang.serialization.MapCodec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.block.entity.PaperBlockEntity; import net.minecraft.core.BlockPos; @@ -20,7 +19,6 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; @@ -28,7 +26,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.awt.print.Paper; import java.util.ArrayList; import java.util.List; diff --git a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java index 2db9c3d61..d55b3a003 100644 --- a/common/src/main/java/com/ultreon/devices/block/RouterBlock.java +++ b/common/src/main/java/com/ultreon/devices/block/RouterBlock.java @@ -105,7 +105,7 @@ public RouterBlock(DyeColor color, Properties properties) { } @Override - public @org.jetbrains.annotations.Nullable BlockState getStateForPlacement(@NotNull BlockPlaceContext pContext) { + public @Nullable BlockState getStateForPlacement(@NotNull BlockPlaceContext pContext) { BlockState state = super.getStateForPlacement(pContext); return state != null ? state.setValue(FACING, pContext.getHorizontalDirection().getOpposite()).setValue(VERTICAL, pContext.getClickLocation().y - pContext.getClickLocation().y > 0.5) : null; } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/ComputerBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/ComputerBlockEntity.java index fe0cf12d3..3081d3328 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/ComputerBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/ComputerBlockEntity.java @@ -1,38 +1,37 @@ package com.ultreon.devices.block.entity; -import com.ultreon.devices.block.LaptopBlock; +import com.google.common.collect.Lists; +import com.ultreon.devices.OperatingSystems; +import com.ultreon.devices.core.BiosImpl; +import com.ultreon.devices.core.BootLoader; import com.ultreon.devices.core.io.FileSystem; +import com.ultreon.devices.api.bios.Bios; import com.ultreon.devices.util.BlockEntityUtil; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.world.entity.Entity; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.gameevent.GameEvent; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -public abstract class ComputerBlockEntity extends NetworkDeviceBlockEntity.Colored { - private static final int OPENED_ANGLE = 102; - - private boolean open = false; +import java.util.ArrayList; +import java.util.List; +public abstract class ComputerBlockEntity extends NetworkDeviceBlockEntity.Colored { + private final List> bootLoaders = Lists.newArrayList(OperatingSystems.MINE_OS.get()); private CompoundTag applicationData = new CompoundTag(); private CompoundTag systemData = new CompoundTag(); private FileSystem fileSystem; - @Environment(EnvType.CLIENT) - private int rotation; - - @Environment(EnvType.CLIENT) - private int prevRotation; - private DyeColor externalDriveColor; + private boolean poweredOn; + private CompoundTag originalData; + private BiosImpl bios; protected ComputerBlockEntity(BlockEntityType type, BlockPos pWorldPosition, BlockState pBlockState) { super(type, pWorldPosition, pBlockState); @@ -40,49 +39,19 @@ protected ComputerBlockEntity(BlockEntityType typ @Override public String getDeviceName() { - return "Laptop"; - } - - @Override - public void tick() { - super.tick(); - Level level = this.level; - if (level == null) return; - - if (getBlockState().getValue(LaptopBlock.OPEN) != open) { - level.setBlock(getBlockPos(), this.getBlockState().setValue(LaptopBlock.OPEN, open), 2); - } - - if (level.isClientSide) { - prevRotation = rotation; - if (!open) { - if (rotation > 0) { - rotation -= 10; - } - } else { - if (rotation < OPENED_ANGLE) { - rotation += 10; - } - } - } + return "MineOS"; } @Override public void load(@NotNull CompoundTag compound) { super.load(compound); - if (compound.contains("open")) { - this.open = compound.getBoolean("open"); - Level level = getLevel(); - if (level != null) { - level.setBlock(getBlockPos(), this.getBlockState().setValue(LaptopBlock.OPEN, open), 2); - } - } - if (compound.contains("system_data", Tag.TAG_COMPOUND)) { - this.systemData = compound.getCompound("system_data"); - } - if (compound.contains("application_data", Tag.TAG_COMPOUND)) { - this.applicationData = compound.getCompound("application_data"); + + if (compound.contains("original_data")) { + this.originalData = compound.getCompound("original_data"); + } else { + this.originalData = compound.copy(); } + if (compound.contains("file_system")) { this.fileSystem = new FileSystem(this, compound.getCompound("file_system")); } @@ -97,7 +66,10 @@ public void load(@NotNull CompoundTag compound) { @Override public void saveAdditional(@NotNull CompoundTag compound) { super.saveAdditional(compound); - compound.putBoolean("open", open); + + if (originalData != null) { + compound.put("original_data", originalData); + } if (systemData != null) { compound.put("system_data", systemData); @@ -115,7 +87,6 @@ public void saveAdditional(@NotNull CompoundTag compound) { @Override public CompoundTag saveSyncTag() { CompoundTag tag = super.saveSyncTag(); - tag.putBoolean("open", open); tag.put("system_data", getSystemData()); if (getFileSystem().getAttachedDrive() != null) { @@ -137,34 +108,6 @@ public CompoundTag saveSyncTag() { // return INFINITE_EXTENT_AABB; // } - public void openClose(@Nullable Entity entity) { - Level level = this.level; - if (level != null) { - level.gameEvent(!open ? GameEvent.BLOCK_OPEN : GameEvent.BLOCK_CLOSE, getBlockPos(), GameEvent.Context.of(entity, this.getBlockState())); - } - boolean oldOpen = open; - open = !getBlockState().getValue(LaptopBlock.OPEN); - if (oldOpen != open) { - pipeline.putBoolean("open", open); - var d = getBlockState().setValue(LaptopBlock.OPEN, open); - this.level.setBlock(this.getBlockPos(), d, 18); - sync(); - } - - if (level != null) { - markUpdated(); - doNeighborUpdates(level, this.getBlockPos(), this.getBlockState()); - } - } - - private static void doNeighborUpdates(Level level, BlockPos pos, BlockState state) { - state.updateNeighbourShapes(level, pos, 3); - } - - public boolean isOpen() { - return open; - } - public CompoundTag getApplicationData() { return applicationData != null ? applicationData : new CompoundTag(); } @@ -197,11 +140,6 @@ public void setApplicationData(String appId, CompoundTag applicationData) { BlockEntityUtil.markBlockForUpdate(level, worldPosition); } - @Environment(EnvType.CLIENT) - public float getScreenAngle(float partialTicks) { - return -OPENED_ANGLE * ((prevRotation + (rotation - prevRotation) * partialTicks) / OPENED_ANGLE); - } - @Environment(EnvType.CLIENT) public boolean isExternalDriveAttached() { return externalDriveColor != null; @@ -211,4 +149,30 @@ public boolean isExternalDriveAttached() { public DyeColor getExternalDriveColor() { return externalDriveColor; } + + public boolean isPoweredOn() { + return this.poweredOn; + } + + public void powerOn() { + this.poweredOn = true; + setChanged(); + assert level != null; + BlockEntityUtil.markBlockForUpdate(level, worldPosition); + + bios = new BiosImpl(this, this.bootLoaders); + try { + bios.powerOn(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private List> getBootLoaders() { + return bootLoaders; + } + + public BiosImpl getBios() { + return bios; + } } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/DeviceBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/DeviceBlockEntity.java index f663219a6..db0d93cda 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/DeviceBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/DeviceBlockEntity.java @@ -130,10 +130,12 @@ public CompoundTag saveSyncTag() { return tag; } + @Override public DyeColor getColor() { return color; } + @Override public void setColor(DyeColor color) { this.color = color; } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/LaptopBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/LaptopBlockEntity.java index 87c3f4fca..401b7b0a2 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/LaptopBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/LaptopBlockEntity.java @@ -1,10 +1,29 @@ package com.ultreon.devices.block.entity; +import com.ultreon.devices.block.LaptopBlock; import com.ultreon.devices.init.DeviceBlockEntities; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.gameevent.GameEvent; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class LaptopBlockEntity extends ComputerBlockEntity { + private static final int OPENED_ANGLE = 102; + + private boolean open = false; + + @Environment(EnvType.CLIENT) + private int rotation; + + @Environment(EnvType.CLIENT) + private int prevRotation; + private int attachmentCooldown; public LaptopBlockEntity(BlockPos pWorldPosition, BlockState pBlockState) { @@ -15,11 +34,94 @@ public LaptopBlockEntity(BlockPos pWorldPosition, BlockState pBlockState) { public void tick() { super.tick(); + if (getBlockState().getValue(LaptopBlock.OPEN) != open) { + if (level != null) { + level.setBlock(getBlockPos(), this.getBlockState().setValue(LaptopBlock.OPEN, open), 2); + } + } + + if (level != null && level.isClientSide) { + prevRotation = rotation; + if (!open) { + if (rotation > 0) { + rotation -= 10; + } + } else { + if (rotation < OPENED_ANGLE) { + rotation += 10; + } + } + } + if (attachmentCooldown > 0) { attachmentCooldown--; } } + @Override + public void load(@NotNull CompoundTag compound) { + if (compound.contains("open")) { + this.open = compound.getBoolean("open"); + Level level = getLevel(); + if (level != null) { + if (level.isClientSide) { + if (open) this.powerOn(); + } + level.setBlock(getBlockPos(), this.getBlockState().setValue(LaptopBlock.OPEN, open), 2); + } + } + + super.load(compound); + } + + @Override + public void saveAdditional(@NotNull CompoundTag compound) { + compound.putBoolean("open", open); + + super.saveAdditional(compound); + } + + @Override + public CompoundTag saveSyncTag() { + CompoundTag tag = super.saveSyncTag(); + tag.putBoolean("open", open); + + return tag; + } + + public void openClose(@Nullable Entity entity) { + Level level = this.level; + if (level != null) { + level.gameEvent(!open ? GameEvent.BLOCK_OPEN : GameEvent.BLOCK_CLOSE, getBlockPos(), GameEvent.Context.of(entity, this.getBlockState())); + } + boolean oldOpen = open; + open = !getBlockState().getValue(LaptopBlock.OPEN); + if (oldOpen != open) { + pipeline.putBoolean("open", open); + var d = getBlockState().setValue(LaptopBlock.OPEN, open); + this.level.setBlock(this.getBlockPos(), d, 18); + sync(); + } + + if (level != null) { + markUpdated(); + doNeighborUpdates(level, this.getBlockPos(), this.getBlockState()); + } + } + + private static void doNeighborUpdates(Level level, BlockPos pos, BlockState state) { + state.updateNeighbourShapes(level, pos, 3); + } + + public boolean isOpen() { + return open; + } + + @Environment(EnvType.CLIENT) + public float getScreenAngle(float partialTicks) { + return -OPENED_ANGLE * ((prevRotation + (rotation - prevRotation) * partialTicks) / OPENED_ANGLE); + } + public void setAttachmentCooldown(int ticks) { this.attachmentCooldown = Math.max(ticks, 0); } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/NetworkDeviceBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/NetworkDeviceBlockEntity.java index 98dc77896..1fae0858d 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/NetworkDeviceBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/NetworkDeviceBlockEntity.java @@ -26,6 +26,7 @@ public NetworkDeviceBlockEntity(BlockEntityType pType, BlockPos pWorldPositio super(pType, pWorldPosition, pBlockState); } + @Override public void tick() { assert level != null; if (level.isClientSide) diff --git a/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java b/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java index 1860b4495..3de9d643a 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/RouterBlockEntity.java @@ -29,6 +29,7 @@ public Router getRouter() { return router; } + @Override public void tick() { assert level != null; if (!level.isClientSide) { @@ -52,6 +53,7 @@ public void setDebug(boolean debug) { } } + @Override public String getDeviceName() { return "Router"; } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/renderer/PaperRenderer.java b/common/src/main/java/com/ultreon/devices/block/entity/renderer/PaperRenderer.java index 22f93e2dc..765cbcce0 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/renderer/PaperRenderer.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/renderer/PaperRenderer.java @@ -2,22 +2,20 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; +import net.minecraft.nbt.CompoundTag; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.print.PrintingManager; import com.ultreon.devices.block.PaperBlock; import com.ultreon.devices.block.entity.PaperBlockEntity; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.MapRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.client.renderer.entity.ItemFrameRenderer; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.state.BlockState; @@ -92,7 +90,7 @@ private static void drawPixels(PoseStack poseStack, int[] pixels, int resolution public void render(PaperBlockEntity blockEntity, float partialTick, @NotNull PoseStack pose, @NotNull MultiBufferSource bufferSource, int packedLight, int packedOverlay) { BlockState state = Objects.requireNonNull(blockEntity.getLevel()).getBlockState(blockEntity.getBlockPos()); if (blockEntity.getBlockState().getBlock() != state.getBlock()) { - Devices.LOGGER.error("Paper block mismatch: {} != {}", blockEntity.getBlockState().getBlock(), state.getBlock()); + UltreonDevicesMod.LOGGER.error("Paper block mismatch: {} != {}", blockEntity.getBlockState().getBlock(), state.getBlock()); return; } diff --git a/common/src/main/java/com/ultreon/devices/block/entity/renderer/PrinterRenderer.java b/common/src/main/java/com/ultreon/devices/block/entity/renderer/PrinterRenderer.java index 9c83b1374..eed5b2e52 100644 --- a/common/src/main/java/com/ultreon/devices/block/entity/renderer/PrinterRenderer.java +++ b/common/src/main/java/com/ultreon/devices/block/entity/renderer/PrinterRenderer.java @@ -1,11 +1,10 @@ package com.ultreon.devices.block.entity.renderer; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.Reference; import com.ultreon.devices.block.PrinterBlock; import com.ultreon.devices.block.entity.PrinterBlockEntity; @@ -23,9 +22,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.client.renderer.blockentity.SignRenderer; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.joml.Quaternionf; @@ -136,7 +133,7 @@ public void render(PrinterBlockEntity blockEntity, float partialTick, @NotNull P // pose.translate(0, 3, 0); pose.pushPose(); pose.mulPose(Axis.of(new Vector3f(22.5f, 180, 0)).rotationDegrees(0)); - // pose.pushPose(); + // pose.pose().pushPose(); // pose.scale(0.1f, -0.1f, 0.1f); pose.scale(0.010416667f, -0.010416667f, 0.010416667f); Minecraft.getInstance().font.drawInBatch(Integer.toString(blockEntity.getPaperCount()), Minecraft.getInstance().font.width("00")-Minecraft.getInstance().font.width(Integer.toString(blockEntity.getPaperCount())), 0, Color.WHITE.getRGB(), false, pose.last().pose(), bufferSource, Font.DisplayMode.NORMAL, 0x00000000, packedLight); @@ -148,7 +145,7 @@ public void render(PrinterBlockEntity blockEntity, float partialTick, @NotNull P } pose.popPose(); -// pose.pushPose(); +// pose.pose().pushPose(); // { // pose.translate(0, -0.5, 0); // Minecraft.getInstance().getBlockRenderer().renderSingleBlock(state, pose, bufferSource, packedLight, packedOverlay, EmptyModelData.INSTANCE); @@ -159,7 +156,7 @@ public void render(PrinterBlockEntity blockEntity, float partialTick, @NotNull P public static class PaperModel extends Model { public static final ResourceLocation TEXTURE = new ResourceLocation(Reference.MOD_ID, "textures/model/paper.png"); - public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(Devices.id("paper_model"), "main"); + public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(UltreonDevicesMod.id("paper_model"), "main"); private final ModelPart root; // private final ModelPart main; diff --git a/common/src/main/java/com/ultreon/devices/client/Display.java b/common/src/main/java/com/ultreon/devices/client/Display.java new file mode 100644 index 000000000..2f54587a2 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/client/Display.java @@ -0,0 +1,460 @@ +package com.ultreon.devices.client; + +import com.mojang.blaze3d.platform.InputConstants; +import com.mojang.blaze3d.platform.Window; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.*; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.core.BiosImpl; +import com.ultreon.devices.programs.system.DisplayResolution; +import com.ultreon.devices.programs.system.PredefinedResolution; +import com.ultreon.devices.block.entity.ComputerBlockEntity; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.client.gui.GuiGraphics; +import com.ultreon.devices.util.GLHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; + +import java.util.function.Consumer; + +public class Display extends Screen { + public static final ResourceLocation LAPTOP_GUI = UltreonDevicesMod.res("textures/gui/laptop.png"); + public static final int BORDER = 10; + private static Display instance; + private final Window window; + private ComputerBlockEntity computer = null; + + private GuiGraphics graphics; + private int mouseX; + private int mouseY; + private float partialTicks; + private int screenWidth; + private int screenHeight; + private Consumer disconnectListener; + private Consumer connectListener; + private boolean connected; + private BiosImpl bios; + private OperatingSystem os; + + private Display(DisplayResolution resolution) { + super(Component.literal("MineOS GuiGraphics")); + + this.screenWidth = resolution.width(); + this.screenHeight = resolution.height(); + + this.window = Minecraft.getInstance().getWindow(); + } + + private Display(ComputerBlockEntity computer) { + this(PredefinedResolution.PREDEFINED_384x216); + this.computer = computer; + this.bios = computer.getBios(); + this.os = this.bios.getRunningOS(); + } + + public static Screen open(ComputerBlockEntity computer) { + instance = new Display(computer); + instance.os.connectDisplay(instance); + return instance; + } + + public static void open(DisplayResolution resolution) { + instance = new Display(resolution); + } + + public static Display get() { + return instance; + } + + public static void close() { + instance.onClose(); + instance.os.disconnectDisplay(); + instance = null; + } + + void begin(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { + this.graphics = graphics; + this.mouseX = mouseX; + this.mouseY = mouseY; + this.partialTicks = partialTicks; + } + + void end() { + this.graphics = null; + this.mouseX = 0; + this.mouseY = 0; + this.partialTicks = 0; + } + + public void setResolution(DisplayResolution resolution) { + this.screenWidth = resolution.width(); + this.screenHeight = resolution.height(); + } + + public boolean isPresent() { + return true; + } + + public boolean isConnected() { + return this.connected; + } + + public int getScreenWidth() { + return screenWidth; + } + + public int getScreenHeight() { + return screenHeight; + } + + public int getMouseX() { + return mouseX; + } + + public int getMouseY() { + return mouseY; + } + + public float getPartialTicks() { + return partialTicks; + } + + public int getMaxWidth() { + return window.getGuiScaledWidth(); + } + + public int getMaxHeight() { + return window.getGuiScaledHeight(); + } + + @Override + public void render(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) { + this.begin(graphics, mouseX, mouseY, partialTick); + this.renderBezels(); + + int x = getX(); + int y = getY(); + graphics.pose().pushPose(); + + PoseStack.Pose last = graphics.pose().last(); + + try { + if (GLHelper.pushScissor(graphics, x, y, screenWidth, screenHeight)) { + OperatingSystem runningOS = this.bios.getRunningOS(); + if (mouseX < x || mouseX > x + screenWidth) { + mouseX = Integer.MAX_VALUE; + } + if (mouseY < y || mouseY > y + screenHeight) { + mouseY = Integer.MAX_VALUE; + } + + var posX = mouseX - getX(); + var posY = mouseY - getY(); + + if (runningOS != null) { + graphics.pose().translate(x, y, 0); + runningOS.getScreen().render(graphics, posX, posY, partialTick); + } + GLHelper.popScissor(); + } + } catch (Exception e) { + while (graphics.pose().last() != last) { + graphics.pose().popPose(); + } + + GLHelper.clearScissorStack(); + RenderSystem.disableScissor(); + + bios.onFault(e); + + return; + } + + if (graphics.pose().last() != last) { + UltreonDevicesMod.LOGGER.error("Pose stack leakage!"); + + do { + graphics.pose().popPose(); + } while (graphics.pose().last() != last); + + bios.onFault(new IllegalStateException("Pose stack leakage!")); + } + + if (GLHelper.clearScissorStack()) { + UltreonDevicesMod.LOGGER.error("Scissor stack leakage!"); + bios.onFault(new IllegalStateException("Scissor stack leakage!")); + } + RenderSystem.disableScissor(); + + graphics.pose().popPose(); + this.end(); + } + + @Override + public void tick() { + super.tick(); + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().tick(); + } + } catch (Exception e) { + bios.onFault(e); + } + } + + @Override + public boolean mouseClicked(double mouseX, double mouseY, int button) { + var posX = mouseX - getX(); + var posY = mouseY - getY(); + + if (posX < 0 || posY < 0 || posX >= screenWidth || posY >= screenHeight) + return false; + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().mouseClicked(posX, posY, button); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean mouseReleased(double mouseX, double mouseY, int button) { + var posX = mouseX - getX(); + var posY = mouseY - getY(); + + if (posX < 0 || posY < 0 || posX >= screenWidth || posY >= screenHeight) + return false; + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().mouseReleased(mouseX, mouseY, button); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean mouseDragged(double mouseX, double mouseY, int button, double dragX, double dragY) { + var posX = mouseX - getX(); + var posY = mouseY - getY(); + + if (posX < 0 || posY < 0 || posX >= screenWidth || posY >= screenHeight) + return false; + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().mouseDragged(posX, posY, button, dragX, dragY); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean mouseScrolled(double mouseX, double mouseY, double deltaX, double deltaY) { + var posX = mouseX - getX(); + var posY = mouseY - getY(); + + if (posX < 0 || posY < 0 || posX >= screenWidth || posY >= screenHeight) + return false; + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().mouseScrolled(mouseX, mouseY, deltaX, deltaY); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean keyPressed(int keyCode, int scanCode, int modifiers) { + if (keyCode == InputConstants.KEY_ESCAPE) { + close(); + return true; + } + + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().keyPressed(keyCode, scanCode, modifiers); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean keyReleased(int keyCode, int scanCode, int modifiers) { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().keyReleased(keyCode, scanCode, modifiers); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public boolean charTyped(char codePoint, int modifiers) { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().charTyped(codePoint, modifiers); + } + } catch (Exception e) { + bios.onFault(e); + } + + return true; + } + + @Override + public void mouseMoved(double mouseX, double mouseY) { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().mouseMoved(mouseX, mouseY); + } + } catch (Exception e) { + bios.onFault(e); + } + } + + @Override + public void afterMouseAction() { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().afterMouseAction(); + } + } catch (Exception e) { + bios.onFault(e); + } + } + + @Override + public void afterKeyboardAction() { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().afterKeyboardAction(); + } + } catch (Exception e) { + bios.onFault(e); + } + } + + @Override + public void afterMouseMove() { + try { + OperatingSystem os = this.bios.getRunningOS(); + if (os != null) { + os.getScreen().afterMouseMove(); + } + } catch (Exception e) { + bios.onFault(e); + } + } + + private int getX() { + return this.width / 2 - screenWidth / 2; + } + + private int getY() { + return this.height / 2 - screenHeight / 2; + } + + protected void revalidateDisplay() { + this.disconnect(); + this.connect(os); + } + + private void disconnect() { + os.disconnectDisplay(); + + this.disconnectListener.accept(this); + this.connected = false; + } + + private void connect(OperatingSystem os) { + this.connectListener.accept(this); + this.connected = true; + os.connectDisplay(this); + } + + public void renderBezels() { + RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + + //*************************// + // Physical Screen // + //*************************// + int deviceWidth = this.screenWidth + BORDER * 2; + int deviceHeight = this.screenHeight + BORDER * 2; + int posX = (this.width - deviceWidth) / 2; + int posY = (this.height - deviceHeight) / 2; + + // Corners + this.graphics.blit(LAPTOP_GUI, posX, posY, 0, 0, BORDER, BORDER); // TOP-LEFT + this.graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY, 11, 0, BORDER, BORDER); // TOP-RIGHT + this.graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + deviceHeight - BORDER, 11, 11, BORDER, BORDER); // BOTTOM-RIGHT + this.graphics.blit(LAPTOP_GUI, posX, posY + deviceHeight - BORDER, 0, 11, BORDER, BORDER); // BOTTOM-LEFT + + // Edges + this.graphics.blit(LAPTOP_GUI, posX + BORDER, posY, this.screenWidth, BORDER, 10, 0, 1, BORDER, 256, 256); // TOP + this.graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + BORDER, BORDER, this.screenHeight, 11, 10, BORDER, 1, 256, 256); // RIGHT + this.graphics.blit(LAPTOP_GUI, posX + BORDER, posY + deviceHeight - BORDER, this.screenWidth, BORDER, 10, 11, 1, BORDER, 256, 256); // BOTTOM + this.graphics.blit(LAPTOP_GUI, posX, posY + BORDER, BORDER, this.screenHeight, 0, 11, BORDER, 1, 256, 256); // LEFT + + // Center + this.graphics.blit(LAPTOP_GUI, posX + BORDER, posY + BORDER, this.screenWidth, this.screenHeight, 10, 10, 1, 1, 256, 256); + } + + public void setDisconnectListener(Consumer disconnectListener) { + this.disconnectListener = disconnectListener; + } + + public void setConnectListener(Consumer connectListener) { + this.connectListener = connectListener; + } + + public ComputerBlockEntity getComputer() { + return computer; + } + + public PoseStack getPose() { + return graphics.pose(); + } + + public PoseStack pose() { + return graphics.pose(); + } + + public OperatingSystem getOS() { + return os; + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/BiosImpl.java b/common/src/main/java/com/ultreon/devices/core/BiosImpl.java new file mode 100644 index 000000000..f833a016c --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/core/BiosImpl.java @@ -0,0 +1,111 @@ +package com.ultreon.devices.core; + +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.io.Drive; +import com.ultreon.devices.block.entity.ComputerBlockEntity; +import com.ultreon.devices.core.client.ClientNotification; +import com.ultreon.devices.api.bios.*; +import com.ultreon.devices.api.os.OperatingSystem; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.Component; + +import java.util.List; +import java.util.UUID; + +public class BiosImpl implements Bios { + private final ComputerBlockEntity computer; + private final List> bootLoaders; + private OperatingSystem runningOS; + private Drive mainDrive; + + public BiosImpl(ComputerBlockEntity computer, List> bootLoaders) { + this.computer = computer; + this.bootLoaders = bootLoaders; + } + + @Override + public void sendNotification(BiosNotification notification) { + ClientNotification.of(notification).push(); + } + + public void powerOn() { + for (BootLoader bootLoader : bootLoaders) { + try { + this.runningOS = bootLoader.start(computer, this); + if (this.runningOS != null) return; + } catch (Exception e) { + UltreonDevicesMod.LOGGER.error("Failed to boot", e); + + this.handleFault(e); + return; + } + } + + LocalPlayer player = Minecraft.getInstance().player; + if (player != null) { + player.displayClientMessage(Component.literal("Failed to boot, no operating system found!"), true); + } + } + + @Override + public boolean powerOff() { + if (this.runningOS != null) { + try { + if (this.runningOS.onBiosInterrupt(new PowerModeInterrupt(PowerModeInterrupt.PowerMode.SHUTDOWN))) { + return false; + } + } catch (Exception e) { + UltreonDevicesMod.LOGGER.error("Failed to shutdown", e); + + this.handleFault(e); + } + } + return true; + } + + @Override + public void addOperatingSystem(BootLoader operatingSystem) { + this.bootLoaders.add(operatingSystem); + } + + @Override + public OperatingSystem getRunningOS() { + return this.runningOS; + } + + @Override + public Drive getMainDrive() { + return mainDrive; + } + + @Override + public void setMainDrive(Drive drive) { + this.mainDrive = drive; + } + + @Override + public UUID getDeviceId() { + return computer.getId(); + } + + private void handleFault(Exception e) { + try { + this.runningOS.onBiosInterrupt(new FaultInterrupt(e, "An error occurred in the BIOS")); + } catch (Exception ex) { + UltreonDevicesMod.LOGGER.error("Failed to handle fault", ex); + + try { + this.runningOS.onBiosInterrupt(new DoubleFaultInterrupt(ex, List.of(e), "Failed to handle fault")); + } catch (Exception exc) { + UltreonDevicesMod.LOGGER.error("Failed to handle double fault", exc); + + this.runningOS = null; + } + } + } + + public void onFault(Exception e) { + this.handleFault(e); + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/BootLoader.java b/common/src/main/java/com/ultreon/devices/core/BootLoader.java new file mode 100644 index 000000000..f7fa1cb5e --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/core/BootLoader.java @@ -0,0 +1,26 @@ +package com.ultreon.devices.core; + +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.bios.Bios; +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.block.entity.ComputerBlockEntity; +import dev.architectury.extensions.injected.InjectedRegistryEntryExtension; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.core.Holder; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; + +@FunctionalInterface +public interface BootLoader extends InjectedRegistryEntryExtension> { + T start(ComputerBlockEntity computer, Bios bios); + + @Override + default Holder> arch$holder() { + return UltreonDevicesMod.OPERATING_SYSTEM.getHolder(arch$registryName()); + } + + @Override + default @Nullable ResourceLocation arch$registryName() { + return UltreonDevicesMod.OPERATING_SYSTEM.getId(this); + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/TaskBar.java b/common/src/main/java/com/ultreon/devices/core/TaskBar.java index 00a59c9a0..8fd248be1 100644 --- a/common/src/main/java/com/ultreon/devices/core/TaskBar.java +++ b/common/src/main/java/com/ultreon/devices/core/TaskBar.java @@ -1,19 +1,18 @@ package com.ultreon.devices.core; import com.mojang.blaze3d.systems.RenderSystem; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.TrayItemAdder; -import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.event.LaptopEvent; import com.ultreon.devices.api.utils.RenderUtil; import com.ultreon.devices.core.network.TrayItemWifi; +import com.ultreon.devices.api.util.Vulnerability; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.object.TrayItem; import com.ultreon.devices.programs.system.AppStore; import com.ultreon.devices.programs.system.FileBrowserApp; import com.ultreon.devices.programs.system.SettingsApp; -import com.ultreon.devices.programs.system.SystemApp; -import com.ultreon.devices.util.Vulnerability; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; @@ -26,16 +25,15 @@ import java.awt.*; import java.util.ArrayList; import java.util.List; -import java.util.function.Predicate; public class TaskBar { public static final ResourceLocation APP_BAR_GUI = new ResourceLocation("devices:textures/gui/application_bar.png"); public static final int BAR_HEIGHT = 18; - private static final int APPS_DISPLAYED = Devices.DEVELOPER_MODE ? 18 : 10; + private static final int APPS_DISPLAYED = UltreonDevicesMod.DEVELOPER_MODE ? 18 : 10; private final CompoundTag tag; - private final Laptop laptop; + private final MineOS laptop; private final int offset = 0; @@ -43,14 +41,14 @@ public class TaskBar { private static final Marker MARKER = MarkerFactory.getMarker("TaskBar"); /** - * @deprecated use {@link #TaskBar(Laptop, CompoundTag)} instead. + * @deprecated use {@link #TaskBar(MineOS, CompoundTag)} instead. */ @Deprecated - public TaskBar(Laptop laptop) { + public TaskBar(MineOS laptop) { this(laptop, new CompoundTag()); } - public TaskBar(Laptop laptop, CompoundTag tag) { + public TaskBar(MineOS laptop, CompoundTag tag) { this.laptop = laptop; this.tag = tag; @@ -79,23 +77,6 @@ public void init() { this.trayItems.forEach(TrayItem::init); } - public void setupApplications(List applications) { - final Predicate VALID_APPS = app -> { - if (app instanceof SystemApp) { - return true; - } - if (Devices.hasAllowedApplications()) { - if (Devices.getAllowedApplications().contains(app.getInfo())) { - return !Devices.DEVELOPER_MODE || Settings.isShowAllApps(); - } - return false; - } else if (Devices.DEVELOPER_MODE) { - return Settings.isShowAllApps(); - } - return true; - }; - } - public void init(int posX, int posY) { init(); } @@ -104,7 +85,7 @@ public void onTick() { trayItems.forEach(TrayItem::tick); } - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, float partialTicks) { RenderSystem.setShaderColor(1f, 1f, 1f, 0.75f); RenderSystem.enableBlend(); RenderSystem.setShaderTexture(0, APP_BAR_GUI); @@ -117,14 +98,14 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int int trayItemsWidth = trayItems.size() * 14; graphics.blit(APP_BAR_GUI, x, y, 1, 18, 0, 0, 1, 18, 256, 256); - graphics.blit(APP_BAR_GUI, x + 1, y, Laptop.getScreenWidth() - 36 - trayItemsWidth, 18, 1, 0, 1, 18, 256, 256); - graphics.blit(APP_BAR_GUI, x + Laptop.getScreenWidth() - 35 - trayItemsWidth, y, 35 + trayItemsWidth, 18, 2, 0, 1, 18, 256, 256); + graphics.blit(APP_BAR_GUI, x + 1, y, MineOS.getOpened().getScreenWidth() - 36 - trayItemsWidth, 18, 1, 0, 1, 18, 256, 256); + graphics.blit(APP_BAR_GUI, x + MineOS.getOpened().getScreenWidth() - 35 - trayItemsWidth, y, 35 + trayItemsWidth, 18, 2, 0, 1, 18, 256, 256); RenderSystem.disableBlend(); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - for (int i = 0; i < APPS_DISPLAYED && i < laptop.installedApps.size(); i++) { - AppInfo info = laptop.installedApps.get(i + offset); + for (int i = 0; i < APPS_DISPLAYED && i < laptop.getInstalledApplications().size(); i++) { + AppInfo info = laptop.getInstalledApplications().get(i + offset); RenderUtil.drawApplicationIcon(graphics, info, x + 2 + i * 16, y + 2); if (laptop.isApplicationRunning(info)) { RenderSystem.setShaderTexture(0, APP_BAR_GUI); @@ -134,10 +115,10 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int assert mc.level == null || mc.player != null; // assert mc.level != null; //can no longer assume - graphics.drawString(mc.font, timeToString(mc.level != null ? mc.level.getDayTime() : 0), x + Laptop.getScreenWidth() - 31, y + 5, Color.WHITE.getRGB(), true); + graphics.drawString(mc.font, timeToString(mc.level != null ? mc.level.getDayTime() : 0), x + MineOS.getOpened().getScreenWidth() - 31, y + 5, Color.WHITE.getRGB(), true); /* Settings App */ - int startX = x + Laptop.getScreenWidth() - 48; + int startX = x + MineOS.getOpened().getScreenWidth() - 48; for (int i = 0; i < trayItems.size(); i++) { int posX = startX - (trayItems.size() - 1 - i) * 14; if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { @@ -151,32 +132,32 @@ public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int /* Other Apps */ if (isMouseInside(mouseX, mouseY, x + 1, y + 1, x + 236, y + 16)) { int appIndex = (mouseX - x - 1) / 16; - if (appIndex >= 0 && appIndex < offset + APPS_DISPLAYED && appIndex < laptop.installedApps.size()) { + if (appIndex >= 0 && appIndex < offset + APPS_DISPLAYED && appIndex < laptop.getInstalledApplications().size()) { graphics.blit(APP_BAR_GUI, x + appIndex * 16 + 1, y + 1, 35, 0, 16, 16); - laptop.renderComponentTooltip(graphics, List.of(Component.literal(laptop.installedApps.get(appIndex).getName())), mouseX, mouseY); + laptop.renderComponentTooltip(graphics, List.of(Component.literal(laptop.getInstalledApplications().get(appIndex).getName())), mouseX, mouseY); } } RenderSystem.setShaderColor(1f, 1f, 1f, 1f); } - public void handleClick(Laptop laptop, int x, int y, int mouseX, int mouseY, int mouseButton) { + public void handleClick(MineOS laptop, int x, int y, int mouseX, int mouseY, int mouseButton) { if (isMouseInside(mouseX, mouseY, x + 1, y + 1, x + 236, y + 16)) { - Devices.LOGGER.debug(MARKER, "Clicked on task bar"); + UltreonDevicesMod.LOGGER.debug(MARKER, "Clicked on task bar"); int appIndex = (mouseX - x - 1) / 16; - if (appIndex >= 0 && appIndex <= offset + APPS_DISPLAYED && appIndex < laptop.installedApps.size()) { - laptop.openApplication(laptop.installedApps.get(appIndex)); + if (appIndex >= 0 && appIndex <= offset + APPS_DISPLAYED && appIndex < laptop.getInstalledApplications().size()) { + laptop.openApplication(laptop.getInstalledApplications().get(appIndex)); return; } } - int startX = x + Laptop.getScreenWidth() - 48; + int startX = x + MineOS.getOpened().getScreenWidth() - 48; for (int i = 0; i < trayItems.size(); i++) { int posX = startX - (trayItems.size() - 1 - i) * 14; if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { TrayItem trayItem = trayItems.get(i); trayItem.handleClick(mouseX, mouseY, mouseButton); - Devices.LOGGER.debug(MARKER, "Clicked on tray item (%d): %s".formatted(i, trayItem.getClass().getSimpleName())); + UltreonDevicesMod.LOGGER.debug(MARKER, "Clicked on tray item (%d): %s".formatted(i, trayItem.getClass().getSimpleName())); break; } } @@ -192,7 +173,7 @@ public String timeToString(long time) { return String.format("%02d:%02d", hours, minutes); } - public Laptop getLaptop() { + public MineOS getLaptop() { return laptop; } diff --git a/common/src/main/java/com/ultreon/devices/core/WorldLessBiosImpl.java b/common/src/main/java/com/ultreon/devices/core/WorldLessBiosImpl.java new file mode 100644 index 000000000..5d2eda8e6 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/core/WorldLessBiosImpl.java @@ -0,0 +1,60 @@ +package com.ultreon.devices.core; + +import com.ultreon.devices.api.bios.Bios; +import com.ultreon.devices.api.bios.BiosNotification; +import com.ultreon.devices.api.bios.PowerModeInterrupt; +import com.ultreon.devices.api.io.Drive; +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.core.client.ClientNotification; + +import java.util.UUID; + +public class WorldLessBiosImpl implements Bios { + private static final UUID VIRTUAL_ID = new UUID(0xaa7bcf606c8c4f13L, 0x8f2fc2359c6b2543L); + private OperatingSystem runningOS; + private final BootLoader os; + + public WorldLessBiosImpl(BootLoader os) { + this.os = os; + } + + @Override + public void sendNotification(BiosNotification notification) { + ClientNotification.of(notification).push(); + } + + public boolean powerOn() { + runningOS = this.os.start(null, this); + return runningOS != null; + } + + @Override + public boolean powerOff() { + return runningOS.onBiosInterrupt(new PowerModeInterrupt(PowerModeInterrupt.PowerMode.SHUTDOWN)); + } + + @Override + public void addOperatingSystem(BootLoader operatingSystem) { + // No-op + } + + @Override + public OperatingSystem getRunningOS() { + return null; + } + + @Override + public Drive getMainDrive() { + return null; + } + + @Override + public void setMainDrive(Drive drive) { + + } + + @Override + public UUID getDeviceId() { + return VIRTUAL_ID; + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/Wrappable.java b/common/src/main/java/com/ultreon/devices/core/Wrappable.java index e791ca159..9a6fcdb23 100644 --- a/common/src/main/java/com/ultreon/devices/core/Wrappable.java +++ b/common/src/main/java/com/ultreon/devices/core/Wrappable.java @@ -1,7 +1,8 @@ package com.ultreon.devices.core; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Dialog; +import com.ultreon.devices.mineos.client.MineOS; +import com.ultreon.devices.mineos.client.Window; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; @@ -40,7 +41,7 @@ public abstract class Wrappable { * @param active if the window active * @param partialTicks time passed since tick */ - public abstract void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks); + public abstract void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks); /** * Called when a key is typed from your keyboard. Note if you override, make diff --git a/common/src/main/java/com/ultreon/devices/core/client/ClientNotification.java b/common/src/main/java/com/ultreon/devices/core/client/ClientNotification.java index 386230cc8..dff9ed1fd 100644 --- a/common/src/main/java/com/ultreon/devices/core/client/ClientNotification.java +++ b/common/src/main/java/com/ultreon/devices/core/client/ClientNotification.java @@ -1,9 +1,10 @@ package com.ultreon.devices.core.client; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.IIcon; import com.ultreon.devices.api.utils.RenderUtil; +import com.ultreon.devices.api.bios.BiosNotification; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; @@ -28,6 +29,15 @@ public class ClientNotification implements Toast { private ClientNotification() { } + public static ClientNotification of(BiosNotification notification) { + ClientNotification clientNotification = new ClientNotification(); + clientNotification.icon = notification.icon(); + clientNotification.title = notification.title(); + clientNotification.subTitle = notification.subTitle(); + + return clientNotification; + } + @NotNull @Override public Visibility render(@NotNull GuiGraphics graphics, ToastComponent toastComponent, long timeSinceLastVisible) { @@ -58,7 +68,7 @@ public static ClientNotification loadFromTag(CompoundTag tag) { try { notification.icon = (IIcon) Class.forName(className).getEnumConstants()[ordinal]; } catch (ClassNotFoundException e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Failed to load icon", e); } notification.title = tag.getString("title"); diff --git a/common/src/main/java/com/ultreon/devices/core/client/LaptopFont.java b/common/src/main/java/com/ultreon/devices/core/client/LaptopFont.java index 9c390e038..49572e333 100644 --- a/common/src/main/java/com/ultreon/devices/core/client/LaptopFont.java +++ b/common/src/main/java/com/ultreon/devices/core/client/LaptopFont.java @@ -1,9 +1,5 @@ package com.ultreon.devices.core.client; -import com.ultreon.devices.Devices; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Font; - /** * @author MrCrayfish */ diff --git a/common/src/main/java/com/ultreon/devices/core/client/debug/ClientAppDebug.java b/common/src/main/java/com/ultreon/devices/core/client/debug/ClientAppDebug.java index f08ee09d0..7698b9295 100644 --- a/common/src/main/java/com/ultreon/devices/core/client/debug/ClientAppDebug.java +++ b/common/src/main/java/com/ultreon/devices/core/client/debug/ClientAppDebug.java @@ -2,7 +2,8 @@ import com.ultreon.devices.DeviceConfig; import com.ultreon.devices.block.entity.LaptopBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.core.WorldLessBiosImpl; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.laptop.client.ClientLaptop; import com.ultreon.devices.core.laptop.client.ClientLaptopScreen; import com.ultreon.devices.core.laptop.server.ServerLaptop; @@ -15,6 +16,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.DyeColor; +import static com.ultreon.devices.OperatingSystems.MINE_OS; + /** * Adds a button to the title screen to test system applications that don't require the system */ @@ -26,7 +29,7 @@ public static void register() { var rowHeight = 24; var y = screen.height / 4 + 48; - var a = Button.builder(Component.literal("DV TEST"), (button) -> Minecraft.getInstance().setScreen(new Laptop(new LaptopBlockEntity(new BlockPos(0, 0, 0), DeviceBlocks.LAPTOPS.of(DyeColor.WHITE).get().defaultBlockState()), true))).bounds(screen.width / 2 - 100, y + rowHeight * -1, 200, 20) + var a = Button.builder(Component.literal("DV TEST"), (button) -> Minecraft.getInstance().setScreen(new MineOS(new LaptopBlockEntity(new BlockPos(0, 0, 0), DeviceBlocks.LAPTOPS.of(DyeColor.WHITE).get().defaultBlockState()), new WorldLessBiosImpl(MINE_OS.get()), true))).bounds(screen.width / 2 - 100, y + rowHeight * -1, 200, 20) .createNarration((output) -> Component.empty()) .build(); access.addRenderableWidget(a); diff --git a/common/src/main/java/com/ultreon/devices/core/io/FileSystem.java b/common/src/main/java/com/ultreon/devices/core/io/FileSystem.java index 81391144d..e3f071dfc 100644 --- a/common/src/main/java/com/ultreon/devices/core/io/FileSystem.java +++ b/common/src/main/java/com/ultreon/devices/core/io/FileSystem.java @@ -1,6 +1,6 @@ package com.ultreon.devices.core.io; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.io.Drive; import com.ultreon.devices.api.io.Folder; @@ -8,7 +8,7 @@ import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.task.TaskManager; import com.ultreon.devices.block.entity.ComputerBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.action.FileAction; import com.ultreon.devices.core.io.drive.AbstractDrive; import com.ultreon.devices.core.io.drive.ExternalDrive; @@ -62,7 +62,7 @@ public FileSystem(ComputerBlockEntity blockEntity, CompoundTag tag) { @Environment(EnvType.CLIENT) public static void sendAction(Drive drive, FileAction action, @Nullable Callback callback) { - if (Laptop.getPos() != null) { + if (MineOS.getOpened().getPos() != null) { DebugLog.log("Sending action " + action + " to " + drive); Task task = new TaskSendAction(drive, action); task.setCallback((tag, success) -> { @@ -75,20 +75,20 @@ public static void sendAction(Drive drive, FileAction action, @Nullable Callback }); TaskManager.sendTask(task); } else { - DebugLog.log("Sending action " + action + " to " + drive + " failed: Laptop not found"); + DebugLog.log("Sending action " + action + " to " + drive + " failed: MineOS not found"); } } public static void getApplicationFolder(Application app, Callback callback) { - if (Devices.hasAllowedApplications()) { // in arch we do not do instances - if (!Devices.getAllowedApplications().contains(app.getInfo())) { + if (UltreonDevicesMod.hasAllowedApplications()) { // in arch we do not do instances + if (!UltreonDevicesMod.getAllowedApplications().contains(app.getInfo())) { callback.execute(null, false); return; } } - if (Laptop.getMainDrive() == null) { - Task task = new TaskGetMainDrive(Laptop.getPos()); + if (MineOS.getOpened().getMainDrive() == null) { + Task task = new TaskGetMainDrive(MineOS.getOpened().getPos()); task.setCallback((tag, success) -> { if (success) { setupApplicationFolder(app, callback); @@ -104,8 +104,8 @@ public static void getApplicationFolder(Application app, Callback callba } private static void setupApplicationFolder(Application app, Callback callback) { - assert Laptop.getMainDrive() != null; - Folder folder = Laptop.getMainDrive().getFolder(FileSystem.DIR_APPLICATION_DATA); + assert MineOS.getOpened().getMainDrive() != null; + Folder folder = MineOS.getOpened().getMainDrive().getFolder(FileSystem.DIR_APPLICATION_DATA); if (folder != null) { if (folder.hasFolder(app.getInfo().getFormattedId())) { Folder appFolder = folder.getFolder(app.getInfo().getFormattedId()); @@ -113,7 +113,7 @@ private static void setupApplicationFolder(Application app, Callback cal if (appFolder.isSynced()) { callback.execute(appFolder, true); } else { - Task task = new TaskGetFiles(appFolder, Laptop.getPos()); + Task task = new TaskGetFiles(appFolder, MineOS.getOpened().getPos()); task.setCallback((tag, success) -> { assert tag != null; if (success && tag.contains("files", Tag.TAG_LIST)) { diff --git a/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetMainDrive.java b/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetMainDrive.java index 0a75c4789..273b781e3 100644 --- a/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetMainDrive.java +++ b/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetMainDrive.java @@ -1,10 +1,11 @@ package com.ultreon.devices.core.io.task; +import com.ultreon.devices.api.bios.Bios; import com.ultreon.devices.api.io.Drive; import com.ultreon.devices.api.io.Folder; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.block.entity.ComputerBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.io.drive.AbstractDrive; import net.minecraft.client.Minecraft; @@ -61,14 +62,15 @@ public void prepareResponse(CompoundTag tag) { @Override public void processResponse(CompoundTag tag) { if (this.isSucessful()) { - if (Minecraft.getInstance().screen instanceof Laptop) { + if (Minecraft.getInstance().screen instanceof MineOS) { CompoundTag structureTag = tag.getCompound("structure"); Drive drive = new Drive(tag.getCompound("main_drive")); drive.syncRoot(Folder.fromTag(FileSystem.LAPTOP_DRIVE_NAME, structureTag)); drive.getRoot().validate(); - if (Laptop.getMainDrive() == null) { - Laptop.setMainDrive(drive); + Bios bios = MineOS.getOpened().getBios(); + if (bios.getMainDrive() == null) { + bios.setMainDrive(drive); } } } diff --git a/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetStructure.java b/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetStructure.java index d3812c330..bef03011e 100644 --- a/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetStructure.java +++ b/common/src/main/java/com/ultreon/devices/core/io/task/TaskGetStructure.java @@ -1,13 +1,12 @@ package com.ultreon.devices.core.io.task; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.io.Drive; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.block.entity.ComputerBlockEntity; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.io.ServerFolder; import com.ultreon.devices.core.io.drive.AbstractDrive; -import com.ultreon.devices.debug.DebugLog; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.entity.player.Player; @@ -45,7 +44,7 @@ public void prepareRequest(CompoundTag tag) { public void processRequest(CompoundTag tag, Level level, Player player) { BlockPos pos1 = BlockPos.of(tag.getLong("pos")); - Devices.getServer().submit(() -> { + UltreonDevicesMod.getServer().submit(() -> { BlockEntity tileEntity = level.getBlockEntity(pos1); if (tileEntity instanceof ComputerBlockEntity laptop) { FileSystem fileSystem = laptop.getFileSystem(); diff --git a/common/src/main/java/com/ultreon/devices/core/io/task/TaskSendAction.java b/common/src/main/java/com/ultreon/devices/core/io/task/TaskSendAction.java index 5756d4767..9d0c48d5d 100644 --- a/common/src/main/java/com/ultreon/devices/core/io/task/TaskSendAction.java +++ b/common/src/main/java/com/ultreon/devices/core/io/task/TaskSendAction.java @@ -3,7 +3,7 @@ import com.ultreon.devices.api.io.Drive; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.block.entity.ComputerBlockEntity; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.io.action.FileAction; import net.minecraft.core.BlockPos; @@ -31,7 +31,7 @@ public TaskSendAction(Drive drive, FileAction action) { this(); this.uuid = drive.getUUID().toString(); this.action = action; - this.pos = Laptop.getPos(); + this.pos = MineOS.getOpened().getPos(); } @Override diff --git a/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptop.java b/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptop.java index 242801391..a417d1771 100644 --- a/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptop.java +++ b/common/src/main/java/com/ultreon/devices/core/laptop/client/ClientLaptop.java @@ -2,31 +2,15 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; -import com.ultreon.devices.Devices; -import com.ultreon.devices.Reference; import com.ultreon.devices.core.laptop.common.C2SUpdatePacket; import com.ultreon.devices.core.laptop.common.TaskBar; -import com.ultreon.devices.core.laptop.server.ServerLaptop; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.network.PacketHandler; import net.minecraft.client.Minecraft; -import net.minecraft.client.Screenshot; -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.gui.screens.Screen; -import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; -import net.minecraft.client.gui.screens.inventory.ContainerScreen; -import net.minecraft.client.renderer.GameRenderer; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.inventory.ChestMenu; import org.jetbrains.annotations.NotNull; -import java.util.ArrayList; import java.util.HashMap; import java.util.UUID; @@ -85,7 +69,7 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final graphics.blit(LAPTOP_GUI, 0, 0, ClientLaptop.SCREEN_WIDTH, ClientLaptop.SCREEN_HEIGHT, 10, 10, 1, 1, 256, 256); //RenderSystem.enableBlend(); - graphics.drawString(Minecraft.getInstance().font, "New Laptop System 0.01% complete", 0, 0, 0xffffff); + graphics.drawString(Minecraft.getInstance().font, "New MineOS System 0.01% complete", 0, 0, 0xffffff); graphics.fill(0, 0, 10, 10, 0x2e2e2e); taskbar.render(graphics, this, Minecraft.getInstance(), 0, SCREEN_HEIGHT-16, mouseX, mouseY, partialTicks); DebugLog.log("x = " + square[0]); diff --git a/common/src/main/java/com/ultreon/devices/core/laptop/common/TaskBar.java b/common/src/main/java/com/ultreon/devices/core/laptop/common/TaskBar.java index 33150e334..a09bb57be 100644 --- a/common/src/main/java/com/ultreon/devices/core/laptop/common/TaskBar.java +++ b/common/src/main/java/com/ultreon/devices/core/laptop/common/TaskBar.java @@ -1,8 +1,7 @@ package com.ultreon.devices.core.laptop.common; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.core.laptop.client.ClientLaptop; import com.ultreon.devices.programs.system.object.ColorScheme; import net.minecraft.client.Minecraft; @@ -16,7 +15,7 @@ public class TaskBar { public static final ResourceLocation APP_BAR_GUI = new ResourceLocation("devices:textures/gui/application_bar.png"); public static final int BAR_HEIGHT = 18; - private static final int APPS_DISPLAYED = Devices.DEVELOPER_MODE ? 18 : 10; + private static final int APPS_DISPLAYED = UltreonDevicesMod.DEVELOPER_MODE ? 18 : 10; private final ClientLaptop laptop; private final int offset = 0; @@ -101,7 +100,7 @@ public void render(GuiGraphics graphics, ClientLaptop laptop, Minecraft mc, int public void handleClick(ClientLaptop laptop, int x, int y, int mouseX, int mouseY, int mouseButton) { if (isMouseInside(mouseX, mouseY, x + 1, y + 1, x + 236, y + 16)) { - Devices.LOGGER.debug(MARKER, "Clicked on task bar"); + UltreonDevicesMod.LOGGER.debug(MARKER, "Clicked on task bar"); // int appIndex = (mouseX - x - 1) / 16; // if (appIndex >= 0 && appIndex <= offset + APPS_DISPLAYED && appIndex < laptop.installedApps.size()) { // laptop.openApplication(laptop.installedApps.get(appIndex)); diff --git a/common/src/main/java/com/ultreon/devices/core/network/Router.java b/common/src/main/java/com/ultreon/devices/core/network/Router.java index 230b1d88c..9d741b24a 100644 --- a/common/src/main/java/com/ultreon/devices/core/network/Router.java +++ b/common/src/main/java/com/ultreon/devices/core/network/Router.java @@ -153,9 +153,7 @@ public CompoundTag toTag(boolean includePos) { tag.putUUID("id", getId()); ListTag deviceList = new ListTag(); - NETWORK_DEVICES.forEach((id, device) -> { - deviceList.add(device.toTag(includePos)); - }); + NETWORK_DEVICES.forEach((id, device) -> deviceList.add(device.toTag(includePos))); tag.put("network_devices", deviceList); return tag; diff --git a/common/src/main/java/com/ultreon/devices/core/network/TrayItemWifi.java b/common/src/main/java/com/ultreon/devices/core/network/TrayItemWifi.java index 9985e80cc..390d32fe7 100644 --- a/common/src/main/java/com/ultreon/devices/core/network/TrayItemWifi.java +++ b/common/src/main/java/com/ultreon/devices/core/network/TrayItemWifi.java @@ -1,8 +1,7 @@ package com.ultreon.devices.core.network; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Button; @@ -13,12 +12,11 @@ import com.ultreon.devices.block.entity.DeviceBlockEntity; import com.ultreon.devices.block.entity.RouterBlockEntity; import com.ultreon.devices.core.Device; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.network.task.TaskConnect; import com.ultreon.devices.core.network.task.TaskPing; import com.ultreon.devices.object.TrayItem; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -38,7 +36,7 @@ public class TrayItemWifi extends TrayItem { private Strength strength = Strength.NONE; public TrayItemWifi() { - super(Icons.WIFI_NONE, Devices.id("wifi")); + super(Icons.WIFI_NONE, UltreonDevicesMod.id("wifi")); } private static Layout createWifiMenu(TrayItem item) { @@ -55,7 +53,7 @@ public void render(GuiGraphics graphics, Device device, Minecraft mc, int x, int if (device.getPos() == null) return; - BlockPos laptopPos = Laptop.getPos(); + BlockPos laptopPos = MineOS.getOpened().getPos(); assert laptopPos != null; double distance = Math.sqrt(device.getPos().distToCenterSqr(laptopPos.getX() + 0.5, laptopPos.getY() + 0.5, laptopPos.getZ() + 0.5)); if (distance > 20) { @@ -68,7 +66,7 @@ public void render(GuiGraphics graphics, Device device, Minecraft mc, int x, int } }); itemListRouters.sortBy((o1, o2) -> { - BlockPos laptopPos = Laptop.getPos(); + BlockPos laptopPos = MineOS.getOpened().getPos(); assert o1.getPos() != null; assert laptopPos != null; double distance1 = Math.sqrt(o1.getPos().distToCenterSqr(laptopPos.getX() + 0.5, laptopPos.getY() + 0.5, laptopPos.getZ() + 0.5)); @@ -82,11 +80,11 @@ public void render(GuiGraphics graphics, Device device, Minecraft mc, int x, int buttonConnect.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { if (itemListRouters.getSelectedItem() != null) { - TaskConnect connect = new TaskConnect(Laptop.getPos(), itemListRouters.getSelectedItem().getPos()); + TaskConnect connect = new TaskConnect(MineOS.getOpened().getPos(), itemListRouters.getSelectedItem().getPos()); connect.setCallback((tag, success) -> { if (success) { item.setIcon(Icons.WIFI_HIGH); - Laptop.getSystem().closeContext(); + MineOS.getOpened().closeContext(); } }); TaskManager.sendTask(connect); @@ -102,11 +100,11 @@ private static List getRouters() { List routers = new ArrayList<>(); Level level = Minecraft.getInstance().level; - if (Laptop.isWorldLess()) { + if (MineOS.getOpened().isWorldLess()) { return new ArrayList<>(); } - BlockPos laptopPos = Laptop.getPos(); + BlockPos laptopPos = MineOS.getOpened().getPos(); int range = DeviceConfig.SIGNAL_RANGE.get(); for (int y = -range; y < range + 1; y++) { @@ -128,10 +126,10 @@ private static List getRouters() { @Override public void init() { this.setClickListener((mouseX, mouseY, mouseButton) -> { - if (Laptop.getSystem().hasContext()) { - Laptop.getSystem().closeContext(); + if (MineOS.getOpened().hasContext()) { + MineOS.getOpened().closeContext(); } else { - Laptop.getSystem().openContext(createWifiMenu(this), mouseX - 100, mouseY - 100); + MineOS.getOpened().openContext(createWifiMenu(this), mouseX - 100, mouseY - 100); } }); @@ -147,7 +145,7 @@ public void tick() { } private void runPingTask() { - TaskPing task = new TaskPing(Laptop.getPos()); + TaskPing task = new TaskPing(MineOS.getOpened().getPos()); task.setCallback((tag, success) -> { if (success) { assert tag != null; diff --git a/common/src/main/java/com/ultreon/devices/core/task/TaskInstallApp.java b/common/src/main/java/com/ultreon/devices/core/task/TaskInstallApp.java index ecac0b9ff..a6d410097 100644 --- a/common/src/main/java/com/ultreon/devices/core/task/TaskInstallApp.java +++ b/common/src/main/java/com/ultreon/devices/core/task/TaskInstallApp.java @@ -1,6 +1,6 @@ package com.ultreon.devices.core.task; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.block.entity.ComputerBlockEntity; import com.ultreon.devices.debug.DebugLog; @@ -56,7 +56,7 @@ public void processRequest(CompoundTag tag, Level level, Player player) { if (tag.getBoolean("install")) { for (int i = 0; i < list.size(); i++) { if (list.getString(i).equals(appId)) { - Devices.LOGGER.warn("Found duplicate, noping out"); + UltreonDevicesMod.LOGGER.warn("Found duplicate, noping out"); return; } } @@ -75,7 +75,7 @@ public void processRequest(CompoundTag tag, Level level, Player player) { systemData.put("InstalledApps", list); } if (!this.isSucessful()) { - Devices.LOGGER.info("Installing {} unsuccessful", appId); + UltreonDevicesMod.LOGGER.info("Installing {} unsuccessful", appId); } } diff --git a/common/src/main/java/com/ultreon/devices/debug/DebugLog.java b/common/src/main/java/com/ultreon/devices/debug/DebugLog.java index 7487f9753..cf5cfe1e9 100644 --- a/common/src/main/java/com/ultreon/devices/debug/DebugLog.java +++ b/common/src/main/java/com/ultreon/devices/debug/DebugLog.java @@ -1,11 +1,8 @@ package com.ultreon.devices.debug; -import com.ultreon.devices.Devices; import dev.architectury.platform.Platform; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.slf4j.Marker; -import org.slf4j.MarkerFactory; import java.util.Arrays; import java.util.Objects; diff --git a/common/src/main/java/com/ultreon/devices/device/AudioDeviceImpl.java b/common/src/main/java/com/ultreon/devices/device/AudioDeviceImpl.java new file mode 100644 index 000000000..a8b85ee0e --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/device/AudioDeviceImpl.java @@ -0,0 +1,29 @@ +package com.ultreon.devices.device; + +import com.ultreon.devices.api.device.AudioDevice; +import net.minecraft.client.Minecraft; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; + +import static net.minecraft.client.resources.sounds.SimpleSoundInstance.forUI; + +public class AudioDeviceImpl implements AudioDevice { + @Override + public void playSound(String soundId) { + SoundEvent sound = BuiltInRegistries.SOUND_EVENT.get(new ResourceLocation(soundId)); + if (sound == null) return; + + Minecraft.getInstance().getSoundManager().play(forUI(sound, 1.0F, 1.0F)); + } + + @Override + public boolean isPresent() { + return true; + } + + @Override + public boolean isConnected() { + return true; + } +} diff --git a/common/src/main/java/com/ultreon/devices/device/FrameBuffer.java b/common/src/main/java/com/ultreon/devices/device/FrameBuffer.java new file mode 100644 index 000000000..979ecc7dd --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/device/FrameBuffer.java @@ -0,0 +1,94 @@ +package com.ultreon.devices.device; + +import com.mojang.blaze3d.platform.NativeImage; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.AbstractTexture; +import net.minecraft.client.renderer.texture.DynamicTexture; + +import static org.lwjgl.opengl.EXTFramebufferObject.*; +import static org.lwjgl.opengl.GL30.*; + +public class FrameBuffer { + private final int id; + private final DynamicTexture texture; + + public FrameBuffer(int width, int height) { + this.texture = new DynamicTexture(new NativeImage(width, height, true)); + + this.id = glGenFramebuffersEXT(); + + glBindFramebufferEXT(GL_FRAMEBUFFER, this.id); + glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, texture.getId(), 0); + int result = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER); + if (result != GL_FRAMEBUFFER_COMPLETE_EXT) { + glBindFramebufferEXT(GL_FRAMEBUFFER, 0); + glDeleteFramebuffersEXT(this.id); + + throw new RuntimeException("Failed to create framebuffer: " + result); + } + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + } + + public int getId() { + return this.id; + } + + /** + * Binds the FBO and sets glViewport to the texture region width/height. + */ + public void begin() { + if (id == 0) + throw new IllegalStateException("Can't use FBO as it has been destroyed."); + glViewport(0, 0, getWidth(), getHeight()); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, id); + } + + /** + * Unbinds the FBO and resets glViewport to the display size. + */ + public void end() { + if (id==0) + return; + glViewport(0, 0, Minecraft.getInstance().getWindow().getWidth(), Minecraft.getInstance().getWindow().getHeight()); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + } + + private int getWidth() { + NativeImage pixels = texture.getPixels(); + return pixels != null ? pixels.getHeight() : 0; + } + + private int getHeight() { + NativeImage pixels = texture.getPixels(); + return pixels != null ? pixels.getWidth() : 0; + } + + public void resize(int width, int height) { + this.texture.setPixels(new NativeImage(width, height, true)); + this.texture.upload(); + } + + public void delete() { + glDeleteFramebuffersEXT(this.id); + } + + public DynamicTexture getTexture() { + return texture; + } + + public float getU() { + return 0; + } + + public float getV() { + return 1f; + } + + public float getU2() { + return 1f; + } + + public float getV2() { + return 0; + } +} diff --git a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java index 5041fde1e..38745fe09 100644 --- a/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java +++ b/common/src/main/java/com/ultreon/devices/entity/SeatEntity.java @@ -69,6 +69,7 @@ public void tick() } + @Override public LivingEntity getControllingPassenger() { List list = this.getPassengers(); diff --git a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java index 83383bb46..be2daf63a 100644 --- a/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java +++ b/common/src/main/java/com/ultreon/devices/gui/GuiButtonClose.java @@ -1,7 +1,7 @@ package com.ultreon.devices.gui; import com.mojang.blaze3d.systems.RenderSystem; -import com.ultreon.devices.core.Window; +import com.ultreon.devices.mineos.client.Window; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.network.chat.Component; @@ -30,6 +30,7 @@ public void renderWidget(@NotNull GuiGraphics graphics, int mouseX, int mouseY, } } + @Override public boolean isHovered() { return isHovered; } diff --git a/common/src/main/java/com/ultreon/devices/impl/LoggerImpl.java b/common/src/main/java/com/ultreon/devices/impl/LoggerImpl.java new file mode 100644 index 000000000..4a9ce1dd9 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/LoggerImpl.java @@ -0,0 +1,88 @@ +package com.ultreon.devices.impl; + +import com.ultreon.devices.api.Logger; +import org.slf4j.LoggerFactory; + +public class LoggerImpl implements Logger { + public final org.slf4j.Logger logger = LoggerFactory.getLogger("DevicesMod"); + + @Override + public void debug(String message) { + logger.debug(message); + } + + @Override + public void debug(String message, Throwable t) { + logger.debug(message, t); + } + + @Override + public void debug(String message, Object o) { + logger.debug(message, o); + } + + @Override + public void debug(String message, Object o1, Object o2) { + logger.debug(message, o1, o2); + } + + @Override + public void info(String message) { + logger.info(message); + } + + @Override + public void info(String message, Throwable t) { + logger.info(message, t); + } + + @Override + public void info(String message, Object o) { + logger.info(message, o); + } + + @Override + public void info(String message, Object o1, Object o2) { + logger.info(message, o1, o2); + } + + @Override + public void warn(String message) { + logger.warn(message); + } + + @Override + public void warn(String message, Throwable t) { + logger.warn(message, t); + } + + @Override + public void warn(String message, Object o) { + logger.warn(message, o); + } + + @Override + public void warn(String message, Object o1, Object o2) { + logger.warn(message, o1, o2); + } + + @Override + public void error(String message) { + logger.error(message); + } + + @Override + public void error(String message, Throwable t) { + logger.error(message, t); + } + + @Override + public void error(String message, Object o) { + logger.error(message, o); + } + + @Override + public void error(String message, Object o1, Object o2) { + logger.error(message, o1, o2); + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/OsLoadContext.java b/common/src/main/java/com/ultreon/devices/impl/OsLoadContext.java new file mode 100644 index 000000000..0faf4419c --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/OsLoadContext.java @@ -0,0 +1,19 @@ +package com.ultreon.devices.impl; + +import java.util.UUID; + +public record OsLoadContext(UUID player) { + private static final ThreadLocal instance = new ThreadLocal<>(); + + public static OsLoadContext get() { + if (instance.get() == null) throw new IllegalStateException("OsLoadContext not initialized"); + + return instance.get(); + } + + public static void inContext(OsLoadContext context, Runnable runnable) { + instance.set(context); + runnable.run(); + instance.remove(); + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/storage/FileStorage.java b/common/src/main/java/com/ultreon/devices/impl/storage/FileStorage.java new file mode 100644 index 000000000..20e58964b --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/storage/FileStorage.java @@ -0,0 +1,25 @@ +package com.ultreon.devices.impl.storage; + +import com.ultreon.devices.impl.OsLoadContext; +import com.ultreon.devices.api.storage.FileHandle; +import com.ultreon.devices.api.storage.DataStorage; + +import java.util.UUID; + +public class FileStorage implements DataStorage { + private final UUID player; + + public FileStorage(UUID player) { + this.player = player; + } + + @Override + public FileHandle get(String path) { + return new FileStorageHandle(path, player); + } + + @Override + public String id() { + return "resource-path"; + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/storage/FileStorageHandle.java b/common/src/main/java/com/ultreon/devices/impl/storage/FileStorageHandle.java new file mode 100644 index 000000000..646b0f668 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/storage/FileStorageHandle.java @@ -0,0 +1,153 @@ +package com.ultreon.devices.impl.storage; + +import com.google.gson.Gson; +import net.minecraft.nbt.CompoundTag; +import com.ultreon.devices.api.SystemException; +import com.ultreon.devices.api.storage.FileHandle; +import net.minecraft.nbt.NbtAccounter; +import net.minecraft.nbt.NbtIo; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.List; +import java.util.UUID; +import java.util.stream.Stream; + +public class FileStorageHandle implements FileHandle { + private final String filePath; + private final Path path; + private final UUID player; + + public FileStorageHandle(String path, UUID player) { + this.player = player; + if (!path.startsWith("/")) throw new IllegalArgumentException("Path must be absolute"); + if (path.equals("/")) { + this.filePath = "/"; + this.path = Path.of("."); + return; + } + + Path p = Path.of(path.substring(1)); + if (p.isAbsolute()) throw new IllegalArgumentException("Illegal path: " + path); + + this.filePath = path; + this.path = p; + } + + public Path toPath() { + return path; + } + + @Override + public String path() { + return filePath; + } + + @Override + public InputStream read() throws IOException { + return Files.newInputStream(path, StandardOpenOption.READ); + } + + @Override + public OutputStream write() throws IOException { + return Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.WRITE); + } + + @Override + public T read(Class clazz) throws IOException { + return new Gson().fromJson(readString(), clazz); + } + + @Override + public void write(T object) throws IOException { + writeString(new Gson().toJson(object)); + } + + @Override + public CompoundTag readNbt() throws IOException { + return NbtIo.readCompressed(path, NbtAccounter.unlimitedHeap()); + } + + @Override + public void writeNbt(CompoundTag ubo) throws IOException { + NbtIo.writeCompressed(ubo, path); + } + + @Override + public boolean isDirectory() { + return Files.isDirectory(path); + } + + @Override + public boolean isFile() { + return Files.isRegularFile(path); + } + + @Override + public boolean isSymbolicLink() { + return Files.isSymbolicLink(path); + } + + @Override + public long length() { + try { + return Files.size(path); + } catch (IOException e) { + throw new SystemException(e); + } + } + + @Override + public boolean isReadable() { + return Files.isReadable(path); + } + + @Override + public boolean isWritable() { + return Files.isWritable(path); + } + + @Override + public boolean isExecutable() { + return Files.isExecutable(path); + } + + @Override + public boolean exists() { + return Files.exists(path); + } + + @Override + public FileHandle get(String path) { + if (path.startsWith("/")) throw new IllegalArgumentException("Path must be relative"); + + return Storages.file(this.player).get(this.filePath + path); + } + + @Override + public void createDirs() { + try { + Files.createDirectories(path); + } catch (IOException e) { + throw new SystemException(e); + } + } + + @Override + public List listDir() { + try (Stream list = Files.list(path)) { + return list.map(path1 -> Storages.file(this.player).get(this.filePath + path1.getFileName().toString())).toList(); + } catch (IOException e) { + throw new SystemException(e); + } + } + + @Override + public String fileName() { + return path.getFileName().toString(); + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/storage/ResourceFileHandle.java b/common/src/main/java/com/ultreon/devices/impl/storage/ResourceFileHandle.java new file mode 100644 index 000000000..c183a3b97 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/storage/ResourceFileHandle.java @@ -0,0 +1,95 @@ +package com.ultreon.devices.impl.storage; + +import net.minecraft.resources.ResourceLocation; +import com.ultreon.devices.api.storage.FileHandle; +import net.minecraft.client.Minecraft; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.ReadOnlyFileSystemException; +import java.util.List; + +public class ResourceFileHandle implements FileHandle { + private final ResourceLocation path; + + public ResourceFileHandle(ResourceLocation path) { + this.path = path; + } + + @Override + public String path() { + return path.toString(); + } + + @Override + public InputStream read() throws IOException { + return Minecraft.getInstance().getResourceManager().open(toResourceLocation()); + } + + @Override + public OutputStream write() { + throw new ReadOnlyFileSystemException(); + } + + @Override + public boolean isDirectory() { + return false; + } + + @Override + public boolean isFile() { + return true; + } + + @Override + public boolean isSymbolicLink() { + return false; + } + + @Override + public long length() throws IOException { + try (InputStream read = read()) { + return read.available(); + } + } + + @Override + public boolean isReadable() { + return true; + } + + @Override + public boolean exists() { + return Minecraft.getInstance().getResourceManager().getResource(toResourceLocation()).isPresent(); + } + + @Override + public FileHandle get(String path) { + return new ResourceFileHandle(new ResourceLocation(this.path.getNamespace(), this.path.getPath() + "/" + path)); + } + + @Override + public void createDirs() { + throw new ReadOnlyFileSystemException(); + } + + @Override + public List listDir() { + return List.of(); + } + + @Override + public String fileName() { + String[] split = path.getPath().split("/"); + return split[split.length - 1]; + } + + public ResourceLocation getResourcePath() { + return path; + } + + public ResourceLocation toResourceLocation() { + return new ResourceLocation(path.getNamespace(), path.getPath()); + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/storage/ResourceStorage.java b/common/src/main/java/com/ultreon/devices/impl/storage/ResourceStorage.java new file mode 100644 index 000000000..dde026911 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/storage/ResourceStorage.java @@ -0,0 +1,17 @@ +package com.ultreon.devices.impl.storage; + +import net.minecraft.resources.ResourceLocation; +import com.ultreon.devices.api.storage.FileHandle; +import com.ultreon.devices.api.storage.DataStorage; + +public class ResourceStorage implements DataStorage { + @Override + public FileHandle get(String path) { + return new ResourceFileHandle(new ResourceLocation(path)); + } + + @Override + public String id() { + return "resource-path"; + } +} diff --git a/common/src/main/java/com/ultreon/devices/impl/storage/Storages.java b/common/src/main/java/com/ultreon/devices/impl/storage/Storages.java new file mode 100644 index 000000000..fbddb665b --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/impl/storage/Storages.java @@ -0,0 +1,17 @@ +package com.ultreon.devices.impl.storage; + +import net.minecraft.server.level.ServerPlayer; + +import java.util.UUID; + +public class Storages { + public static final ResourceStorage RESOURCE = new ResourceStorage(); + + public static FileStorage file(ServerPlayer player) { + return new FileStorage(player.getUUID()); + } + + static FileStorage file(UUID player) { + return new FileStorage(player); + } +} diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceBlockEntities.java b/common/src/main/java/com/ultreon/devices/init/DeviceBlockEntities.java index 555c76d7f..463d9d929 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceBlockEntities.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceBlockEntities.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.block.entity.*; import dev.architectury.registry.registries.Registrar; import dev.architectury.registry.registries.RegistrySupplier; @@ -10,14 +10,14 @@ @SuppressWarnings("ConstantConditions") public class DeviceBlockEntities { - private static final Registrar> REGISTER = Devices.REGISTRIES.get().get(Registries.BLOCK_ENTITY_TYPE); + private static final Registrar> REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.BLOCK_ENTITY_TYPE); - public static final RegistrySupplier> PAPER = REGISTER.register(Devices.id("paper"), () -> BlockEntityType.Builder.of(PaperBlockEntity::new, DeviceBlocks.PAPER.get()).build(null)); - public static final RegistrySupplier> LAPTOP = REGISTER.register(Devices.id("laptop"), () -> BlockEntityType.Builder.of(LaptopBlockEntity::new, DeviceBlocks.getAllLaptops().toArray(new Block[]{})).build(null)); - public static final RegistrySupplier> MAC_MAX_X = REGISTER.register(Devices.id("mac_max_x"), () -> BlockEntityType.Builder.of(MacMaxXBlockEntity::new, DeviceBlocks.MAC_MAX_X.get()).build(null)); - public static final RegistrySupplier> PRINTER = REGISTER.register(Devices.id("printer"), () -> BlockEntityType.Builder.of(PrinterBlockEntity::new, DeviceBlocks.getAllPrinters().toArray(new Block[]{})).build(null)); - public static final RegistrySupplier> ROUTER = REGISTER.register(Devices.id("router"), () -> BlockEntityType.Builder.of(RouterBlockEntity::new, DeviceBlocks.getAllRouters().toArray(new Block[]{})).build(null)); - public static final RegistrySupplier> SEAT = REGISTER.register(Devices.id("seat"), () -> BlockEntityType.Builder.of(OfficeChairBlockEntity::new, DeviceBlocks.getAllOfficeChairs().toArray(new Block[]{})).build(null)); + public static final RegistrySupplier> PAPER = REGISTER.register(UltreonDevicesMod.id("paper"), () -> BlockEntityType.Builder.of(PaperBlockEntity::new, DeviceBlocks.PAPER.get()).build(null)); + public static final RegistrySupplier> LAPTOP = REGISTER.register(UltreonDevicesMod.id("laptop"), () -> BlockEntityType.Builder.of(LaptopBlockEntity::new, DeviceBlocks.getAllLaptops().toArray(new Block[]{})).build(null)); + public static final RegistrySupplier> MAC_MAX_X = REGISTER.register(UltreonDevicesMod.id("mac_max_x"), () -> BlockEntityType.Builder.of(MacMaxXBlockEntity::new, DeviceBlocks.MAC_MAX_X.get()).build(null)); + public static final RegistrySupplier> PRINTER = REGISTER.register(UltreonDevicesMod.id("printer"), () -> BlockEntityType.Builder.of(PrinterBlockEntity::new, DeviceBlocks.getAllPrinters().toArray(new Block[]{})).build(null)); + public static final RegistrySupplier> ROUTER = REGISTER.register(UltreonDevicesMod.id("router"), () -> BlockEntityType.Builder.of(RouterBlockEntity::new, DeviceBlocks.getAllRouters().toArray(new Block[]{})).build(null)); + public static final RegistrySupplier> SEAT = REGISTER.register(UltreonDevicesMod.id("seat"), () -> BlockEntityType.Builder.of(OfficeChairBlockEntity::new, DeviceBlocks.getAllOfficeChairs().toArray(new Block[]{})).build(null)); public static void register() { // Marker diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java b/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java index 5fb65d0af..89807cc08 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceBlocks.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.block.*; import com.ultreon.devices.util.DyeableRegistration; import dev.architectury.registry.registries.Registrar; @@ -16,7 +16,7 @@ import java.util.stream.Stream; public class DeviceBlocks { - private static final Registrar REGISTER = Devices.REGISTRIES.get().get(Registries.BLOCK); + private static final Registrar REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.BLOCK); public static void register() { } @@ -24,7 +24,7 @@ public static void register() { public static final DyeableRegistration LAPTOPS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_laptop"), () -> new LaptopBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_laptop"), () -> new LaptopBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -33,13 +33,13 @@ protected Registrar autoInit() { } }; - public static final RegistrySupplier MAC_MAX_X = REGISTER.register(Devices.id("mac_max_x"), () -> new MacMaxXBlock(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL).noOcclusion().dynamicShape())); - public static final RegistrySupplier MAC_MAX_X_PART = REGISTER.register(Devices.id("mac_max_x_part"), () -> new MacMaxXBlockPart(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL))); + public static final RegistrySupplier MAC_MAX_X = REGISTER.register(UltreonDevicesMod.id("mac_max_x"), () -> new MacMaxXBlock(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL).noOcclusion().dynamicShape())); + public static final RegistrySupplier MAC_MAX_X_PART = REGISTER.register(UltreonDevicesMod.id("mac_max_x_part"), () -> new MacMaxXBlockPart(Properties.of().mapColor(DyeColor.WHITE).strength(6f).sound(SoundType.METAL))); public static final DyeableRegistration PRINTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_printer"), () -> new PrinterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_printer"), () -> new PrinterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -51,7 +51,7 @@ protected Registrar autoInit() { public static final DyeableRegistration ROUTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_router"), () -> new RouterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_router"), () -> new RouterBlock(color, Properties.of().mapColor(color).strength(6f).sound(SoundType.METAL))); } @Override @@ -63,7 +63,7 @@ protected Registrar autoInit() { public static final DyeableRegistration OFFICE_CHAIRS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_office_chair"), () -> new OfficeChairBlock(color, BlockBehaviour.Properties.of().mapColor(color))); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_office_chair"), () -> new OfficeChairBlock(color, BlockBehaviour.Properties.of().mapColor(color))); } @Override @@ -73,7 +73,7 @@ protected Registrar autoInit() { }; - public static final RegistrySupplier PAPER = REGISTER.register(Devices.id("paper"), () -> new PaperBlock(Properties.of().noCollission().instabreak().noOcclusion().noLootTable())); + public static final RegistrySupplier PAPER = REGISTER.register(UltreonDevicesMod.id("paper"), () -> new PaperBlock(Properties.of().noCollission().instabreak().noOcclusion().noLootTable())); public static Stream getAllBlocks() { diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceCreativeTabs.java b/common/src/main/java/com/ultreon/devices/init/DeviceCreativeTabs.java index 2a6ad4588..ff32b761c 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceCreativeTabs.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceCreativeTabs.java @@ -1,8 +1,7 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import dev.architectury.registry.CreativeTabRegistry; -import dev.architectury.registry.registries.DeferredRegister; import dev.architectury.registry.registries.Registrar; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; @@ -12,7 +11,7 @@ import net.minecraft.world.item.ItemStack; public class DeviceCreativeTabs { - private static final Registrar REGISTER = Devices.REGISTRIES.get().get(Registries.CREATIVE_MODE_TAB); + private static final Registrar REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.CREATIVE_MODE_TAB); public static void register() { } diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceEntities.java b/common/src/main/java/com/ultreon/devices/init/DeviceEntities.java index cb9acf01c..57d978e43 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceEntities.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceEntities.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.entity.SeatEntity; import dev.architectury.registry.registries.Registrar; import dev.architectury.registry.registries.RegistrySupplier; @@ -9,9 +9,9 @@ import net.minecraft.world.entity.MobCategory; public class DeviceEntities { - private static final Registrar> REGISTER = Devices.REGISTRIES.get().get(Registries.ENTITY_TYPE); + private static final Registrar> REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.ENTITY_TYPE); - public static final RegistrySupplier> SEAT = REGISTER.register(Devices.id("seat"), () -> EntityType.Builder.of(SeatEntity::new, MobCategory.MISC).sized(0.5f, 1.975f).clientTrackingRange(10).noSummon().build(Devices.id("seat").toString())); + public static final RegistrySupplier> SEAT = REGISTER.register(UltreonDevicesMod.id("seat"), () -> EntityType.Builder.of(SeatEntity::new, MobCategory.MISC).sized(0.5f, 1.975f).clientTrackingRange(10).noSummon().build(UltreonDevicesMod.id("seat").toString())); public static void register() { diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceEntityRenderers.java b/common/src/main/java/com/ultreon/devices/init/DeviceEntityRenderers.java index 4e84b7780..62c1f0aa8 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceEntityRenderers.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceEntityRenderers.java @@ -1,12 +1,7 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; import com.ultreon.devices.entity.renderer.SeatEntityRenderer; import dev.architectury.registry.client.level.entity.EntityRendererRegistry; -import dev.architectury.registry.registries.Registrar; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.core.Registry; -import net.minecraft.world.level.block.Block; public class DeviceEntityRenderers { static { diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceItems.java b/common/src/main/java/com/ultreon/devices/init/DeviceItems.java index 8161e4762..41f78f45a 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceItems.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceItems.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.item.*; import com.ultreon.devices.util.DyeableRegistration; @@ -22,13 +22,13 @@ @SuppressWarnings("unused") public class DeviceItems { - private static final Registrar REGISTER = Devices.REGISTRIES.get().get(Registries.ITEM); + private static final Registrar REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.ITEM); // Laptops public static final DyeableRegistration LAPTOPS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_laptop"), () -> new ColoredDeviceItem(DeviceBlocks.LAPTOPS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.COMPUTER)); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_laptop"), () -> new ColoredDeviceItem(DeviceBlocks.LAPTOPS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.COMPUTER)); } @Override @@ -38,7 +38,7 @@ protected Registrar autoInit() { }; // Custom Computers - public static final RegistrySupplier MAC_MAX_X = REGISTER.register(Devices.id("mac_max_x"), () -> new DeviceItem(DeviceBlocks.MAC_MAX_X.get(), new Item.Properties(), ModDeviceTypes.COMPUTER) { + public static final RegistrySupplier MAC_MAX_X = REGISTER.register(UltreonDevicesMod.id("mac_max_x"), () -> new DeviceItem(DeviceBlocks.MAC_MAX_X.get(), new Item.Properties(), ModDeviceTypes.COMPUTER) { @NotNull @Override public Component getDescription() { @@ -60,7 +60,7 @@ public Component getName(@NotNull ItemStack stack) { public static final DyeableRegistration PRINTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_printer"), () -> new ColoredDeviceItem(DeviceBlocks.PRINTERS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.PRINTER)); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_printer"), () -> new ColoredDeviceItem(DeviceBlocks.PRINTERS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.PRINTER)); } @Override @@ -73,7 +73,7 @@ protected Registrar autoInit() { public static final DyeableRegistration ROUTERS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_router"), () -> new ColoredDeviceItem(DeviceBlocks.ROUTERS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.ROUTER)); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_router"), () -> new ColoredDeviceItem(DeviceBlocks.ROUTERS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.ROUTER)); } @Override @@ -86,7 +86,7 @@ protected Registrar autoInit() { public static final DyeableRegistration OFFICE_CHAIRS = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_office_chair"), () -> new ColoredDeviceItem(DeviceBlocks.OFFICE_CHAIRS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.SEAT)); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_office_chair"), () -> new ColoredDeviceItem(DeviceBlocks.OFFICE_CHAIRS.of(color).get(), new Item.Properties(), color, ModDeviceTypes.SEAT)); } @Override @@ -99,7 +99,7 @@ protected Registrar autoInit() { public static final DyeableRegistration FLASH_DRIVE = new DyeableRegistration<>() { @Override public RegistrySupplier register(Registrar registrar, DyeColor color) { - return registrar.register(Devices.id(color.getName() + "_flash_drive"), () -> new FlashDriveItem(color)); + return registrar.register(UltreonDevicesMod.id(color.getName() + "_flash_drive"), () -> new FlashDriveItem(color)); } @Override @@ -108,31 +108,31 @@ protected Registrar autoInit() { } }; - public static final RegistrySupplier PAPER = REGISTER.register(Devices.id("paper"), () -> new BlockItem(DeviceBlocks.PAPER.get(), new Item.Properties())); - - public static final RegistrySupplier PLASTIC_UNREFINED = REGISTER.register(Devices.id("plastic_unrefined"), () -> new BasicItem(new Item.Properties())); - public static final RegistrySupplier PLASTIC = REGISTER.register(Devices.id("plastic"), () -> new BasicItem(new Item.Properties())); - public static final RegistrySupplier PLASTIC_FRAME = REGISTER.register(Devices.id("plastic_frame"), () -> new BasicItem(new Item.Properties())); - public static final RegistrySupplier WHEEL = REGISTER.register(Devices.id("wheel"), () -> new BasicItem(new Item.Properties())); - public static final RegistrySupplier GLASS_DUST = REGISTER.register(Devices.id("glass_dust"), () -> new Item(new Item.Properties())); - - public static final RegistrySupplier COMPONENT_CIRCUIT_BOARD = REGISTER.register(Devices.id("circuit_board"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_MOTHERBOARD = REGISTER.register(Devices.id("motherboard"), () -> new MotherboardItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_MOTHERBOARD_FULL = REGISTER.register(Devices.id("motherboard_full"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_CPU = REGISTER.register(Devices.id("cpu"), () -> new MotherboardItem.Component(new Item.Properties())); - public static final RegistrySupplier COMPONENT_RAM = REGISTER.register(Devices.id("ram"), () -> new MotherboardItem.Component(new Item.Properties())); - public static final RegistrySupplier COMPONENT_GPU = REGISTER.register(Devices.id("gpu"), () -> new MotherboardItem.Component(new Item.Properties())); - public static final RegistrySupplier COMPONENT_WIFI = REGISTER.register(Devices.id("wifi"), () -> new MotherboardItem.Component(new Item.Properties())); - public static final RegistrySupplier COMPONENT_HARD_DRIVE = REGISTER.register(Devices.id("hard_drive"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_FLASH_CHIP = REGISTER.register(Devices.id("flash_chip"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_SOLID_STATE_DRIVE = REGISTER.register(Devices.id("solid_state_drive"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_BATTERY = REGISTER.register(Devices.id("battery"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_SCREEN = REGISTER.register(Devices.id("screen"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_CONTROLLER_UNIT = REGISTER.register(Devices.id("controller_unit"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_SMALL_ELECTRIC_MOTOR = REGISTER.register(Devices.id("small_electric_motor"), () -> new ComponentItem(new Item.Properties())); - public static final RegistrySupplier COMPONENT_CARRIAGE = REGISTER.register(Devices.id("carriage"), () -> new ComponentItem(new Item.Properties())); - - public static final RegistrySupplier ETHERNET_CABLE = REGISTER.register(Devices.id("ethernet_cable"), EthernetCableItem::new); + public static final RegistrySupplier PAPER = REGISTER.register(UltreonDevicesMod.id("paper"), () -> new BlockItem(DeviceBlocks.PAPER.get(), new Item.Properties())); + + public static final RegistrySupplier PLASTIC_UNREFINED = REGISTER.register(UltreonDevicesMod.id("plastic_unrefined"), () -> new BasicItem(new Item.Properties())); + public static final RegistrySupplier PLASTIC = REGISTER.register(UltreonDevicesMod.id("plastic"), () -> new BasicItem(new Item.Properties())); + public static final RegistrySupplier PLASTIC_FRAME = REGISTER.register(UltreonDevicesMod.id("plastic_frame"), () -> new BasicItem(new Item.Properties())); + public static final RegistrySupplier WHEEL = REGISTER.register(UltreonDevicesMod.id("wheel"), () -> new BasicItem(new Item.Properties())); + public static final RegistrySupplier GLASS_DUST = REGISTER.register(UltreonDevicesMod.id("glass_dust"), () -> new Item(new Item.Properties())); + + public static final RegistrySupplier COMPONENT_CIRCUIT_BOARD = REGISTER.register(UltreonDevicesMod.id("circuit_board"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_MOTHERBOARD = REGISTER.register(UltreonDevicesMod.id("motherboard"), () -> new MotherboardItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_MOTHERBOARD_FULL = REGISTER.register(UltreonDevicesMod.id("motherboard_full"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_CPU = REGISTER.register(UltreonDevicesMod.id("cpu"), () -> new MotherboardItem.Component(new Item.Properties())); + public static final RegistrySupplier COMPONENT_RAM = REGISTER.register(UltreonDevicesMod.id("ram"), () -> new MotherboardItem.Component(new Item.Properties())); + public static final RegistrySupplier COMPONENT_GPU = REGISTER.register(UltreonDevicesMod.id("gpu"), () -> new MotherboardItem.Component(new Item.Properties())); + public static final RegistrySupplier COMPONENT_WIFI = REGISTER.register(UltreonDevicesMod.id("wifi"), () -> new MotherboardItem.Component(new Item.Properties())); + public static final RegistrySupplier COMPONENT_HARD_DRIVE = REGISTER.register(UltreonDevicesMod.id("hard_drive"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_FLASH_CHIP = REGISTER.register(UltreonDevicesMod.id("flash_chip"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_SOLID_STATE_DRIVE = REGISTER.register(UltreonDevicesMod.id("solid_state_drive"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_BATTERY = REGISTER.register(UltreonDevicesMod.id("battery"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_SCREEN = REGISTER.register(UltreonDevicesMod.id("screen"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_CONTROLLER_UNIT = REGISTER.register(UltreonDevicesMod.id("controller_unit"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_SMALL_ELECTRIC_MOTOR = REGISTER.register(UltreonDevicesMod.id("small_electric_motor"), () -> new ComponentItem(new Item.Properties())); + public static final RegistrySupplier COMPONENT_CARRIAGE = REGISTER.register(UltreonDevicesMod.id("carriage"), () -> new ComponentItem(new Item.Properties())); + + public static final RegistrySupplier ETHERNET_CABLE = REGISTER.register(UltreonDevicesMod.id("ethernet_cable"), EthernetCableItem::new); public static Stream getAllItems() { diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceSounds.java b/common/src/main/java/com/ultreon/devices/init/DeviceSounds.java index 83f882404..92676ce34 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceSounds.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceSounds.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import dev.architectury.registry.registries.Registrar; import dev.architectury.registry.registries.RegistrySupplier; import net.minecraft.core.registries.Registries; @@ -10,10 +10,10 @@ * @author MrCrayfish */ public class DeviceSounds { - private static final Registrar REGISTER = Devices.REGISTRIES.get().get(Registries.SOUND_EVENT); + private static final Registrar REGISTER = UltreonDevicesMod.REGISTRIES.get().get(Registries.SOUND_EVENT); - public static final RegistrySupplier PRINTER_PRINTING = REGISTER.register(Devices.id("printer_printing"), () -> SoundEvent.createVariableRangeEvent(Devices.id("printer_printing"))); - public static final RegistrySupplier PRINTER_LOADING_PAPER = REGISTER.register(Devices.id("printer_loading_paper"), () -> SoundEvent.createVariableRangeEvent(Devices.id("printer_loading_paper"))); + public static final RegistrySupplier PRINTER_PRINTING = REGISTER.register(UltreonDevicesMod.id("printer_printing"), () -> SoundEvent.createVariableRangeEvent(UltreonDevicesMod.id("printer_printing"))); + public static final RegistrySupplier PRINTER_LOADING_PAPER = REGISTER.register(UltreonDevicesMod.id("printer_loading_paper"), () -> SoundEvent.createVariableRangeEvent(UltreonDevicesMod.id("printer_loading_paper"))); public static void register() { diff --git a/common/src/main/java/com/ultreon/devices/init/DeviceTags.java b/common/src/main/java/com/ultreon/devices/init/DeviceTags.java index c711e123a..58dd89d89 100644 --- a/common/src/main/java/com/ultreon/devices/init/DeviceTags.java +++ b/common/src/main/java/com/ultreon/devices/init/DeviceTags.java @@ -1,10 +1,9 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import net.minecraft.core.registries.Registries; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; public class DeviceTags { public static void register() { @@ -16,7 +15,7 @@ public static class Items { public static final TagKey LAPTOPS = create("laptops"); private static TagKey create(String path) { - return TagKey.create(Registries.ITEM, Devices.res(path)); + return TagKey.create(Registries.ITEM, UltreonDevicesMod.res(path)); } public static void register() { diff --git a/common/src/main/java/com/ultreon/devices/init/ModTags.java b/common/src/main/java/com/ultreon/devices/init/ModTags.java index 29e1c752f..821212770 100644 --- a/common/src/main/java/com/ultreon/devices/init/ModTags.java +++ b/common/src/main/java/com/ultreon/devices/init/ModTags.java @@ -1,6 +1,6 @@ package com.ultreon.devices.init; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import net.minecraft.core.registries.Registries; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; @@ -18,7 +18,7 @@ public static final class Items { public static final TagKey ROUTERS = createTag("routers"); private static TagKey createTag(String name) { - return TagKey.create(Registries.ITEM, Devices.id(name)); + return TagKey.create(Registries.ITEM, UltreonDevicesMod.id(name)); } } @@ -28,7 +28,7 @@ public static final class Blocks { public static final TagKey ROUTERS = createTag("routers"); private static TagKey createTag(String name) { - return TagKey.create(Registries.BLOCK, Devices.id(name)); + return TagKey.create(Registries.BLOCK, UltreonDevicesMod.id(name)); } } @@ -36,7 +36,7 @@ public static final class BlockEntityTypes { public static final TagKey> NETWORK_DEVICES = createTag("network_devices"); private static TagKey> createTag(String name) { - return TagKey.create(Registries.BLOCK_ENTITY_TYPE, Devices.id(name)); + return TagKey.create(Registries.BLOCK_ENTITY_TYPE, UltreonDevicesMod.id(name)); } } } diff --git a/common/src/main/java/com/ultreon/devices/item/BasicItem.java b/common/src/main/java/com/ultreon/devices/item/BasicItem.java index b5888a2e3..55fd67b15 100644 --- a/common/src/main/java/com/ultreon/devices/item/BasicItem.java +++ b/common/src/main/java/com/ultreon/devices/item/BasicItem.java @@ -1,6 +1,6 @@ package com.ultreon.devices.item; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import net.minecraft.world.item.Item; /** @@ -9,6 +9,6 @@ @SuppressWarnings("UnstableApiUsage") public class BasicItem extends Item { public BasicItem(Properties properties) { - super(properties.arch$tab(Devices.TAB_DEVICE)); + super(properties.arch$tab(UltreonDevicesMod.TAB_DEVICE)); } } diff --git a/common/src/main/java/com/ultreon/devices/item/ColoredDeviceItem.java b/common/src/main/java/com/ultreon/devices/item/ColoredDeviceItem.java index 700c05f56..cbbdc9a0f 100644 --- a/common/src/main/java/com/ultreon/devices/item/ColoredDeviceItem.java +++ b/common/src/main/java/com/ultreon/devices/item/ColoredDeviceItem.java @@ -14,6 +14,7 @@ public ColoredDeviceItem(@NotNull Block block, Properties tab, DyeColor color, M this.color = color; } + @Override public DyeColor getColor() { return color; } diff --git a/common/src/main/java/com/ultreon/devices/item/ComponentItem.java b/common/src/main/java/com/ultreon/devices/item/ComponentItem.java index e14d817e5..cb4ff6dbd 100644 --- a/common/src/main/java/com/ultreon/devices/item/ComponentItem.java +++ b/common/src/main/java/com/ultreon/devices/item/ComponentItem.java @@ -1,10 +1,10 @@ package com.ultreon.devices.item; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import net.minecraft.world.item.Item; public class ComponentItem extends Item { public ComponentItem(Properties pProperties) { - super(pProperties.arch$tab(Devices.TAB_DEVICE)); + super(pProperties.arch$tab(UltreonDevicesMod.TAB_DEVICE)); } } diff --git a/common/src/main/java/com/ultreon/devices/item/DeviceItem.java b/common/src/main/java/com/ultreon/devices/item/DeviceItem.java index 2ef8a89a0..1292c2394 100644 --- a/common/src/main/java/com/ultreon/devices/item/DeviceItem.java +++ b/common/src/main/java/com/ultreon/devices/item/DeviceItem.java @@ -32,6 +32,7 @@ public CompoundTag getShareTag(ItemStack stack) { return tag; } + @Override public ModDeviceTypes getDeviceType() { return deviceType; } diff --git a/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java b/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java index bcd09ebec..f6307d4a4 100644 --- a/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java +++ b/common/src/main/java/com/ultreon/devices/item/EthernetCableItem.java @@ -1,7 +1,7 @@ package com.ultreon.devices.item; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.block.entity.NetworkDeviceBlockEntity; import com.ultreon.devices.block.entity.RouterBlockEntity; import com.ultreon.devices.core.network.Router; @@ -9,10 +9,8 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; -import net.minecraft.Util; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.ChatType; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; @@ -26,6 +24,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.List; @@ -34,7 +33,7 @@ */ public class EthernetCableItem extends Item { public EthernetCableItem() { - super(new Properties().arch$tab(Devices.TAB_DEVICE).stacksTo(1)); + super(new Properties().arch$tab(UltreonDevicesMod.TAB_DEVICE).stacksTo(1)); } private static double getDistance(BlockPos source, BlockPos target) { @@ -128,32 +127,32 @@ public InteractionResultHolder use(Level level, @NotNull Player playe } @Override - public void appendHoverText(ItemStack stack, @org.jetbrains.annotations.Nullable Level level, @NotNull List tooltip, @NotNull TooltipFlag isAdvanced) { + public void appendHoverText(ItemStack stack, @Nullable Level level, @NotNull List tooltip, @NotNull TooltipFlag isAdvanced) { if (stack.hasTag()) { CompoundTag tag = stack.getTag(); if (tag != null) { - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.RED.toString() + ChatFormatting.BOLD + "ID: " + ChatFormatting.RESET + tag.getUUID("id"))); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.RED.toString() + ChatFormatting.BOLD + "Device: " + ChatFormatting.RESET + tag.getString("name"))); + tooltip.add(Component.literal(ChatFormatting.RED.toString() + ChatFormatting.BOLD + "ID: " + ChatFormatting.RESET + tag.getUUID("id"))); + tooltip.add(Component.literal(ChatFormatting.RED.toString() + ChatFormatting.BOLD + "Device: " + ChatFormatting.RESET + tag.getString("name"))); BlockPos devicePos = BlockPos.of(tag.getLong("pos")); String text = ChatFormatting.RED.toString() + ChatFormatting.BOLD + "X: " + ChatFormatting.RESET + devicePos.getX() + " " + ChatFormatting.RED + ChatFormatting.BOLD + "Y: " + ChatFormatting.RESET + devicePos.getY() + " " + ChatFormatting.RED + ChatFormatting.BOLD + "Z: " + ChatFormatting.RESET + devicePos.getZ(); - tooltip.add(net.minecraft.network.chat.Component.literal(text)); + tooltip.add(Component.literal(text)); } } else { if (!KeyboardHelper.isShiftDown()) { - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "Use this cable to connect")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "a device to a router.")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.YELLOW + "Hold SHIFT for How-To")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "Use this cable to connect")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "a device to a router.")); + tooltip.add(Component.literal(ChatFormatting.YELLOW + "Hold SHIFT for How-To")); return; } - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "Start by right clicking a")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "device with this cable")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "then right click the ")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "router you want to")); - tooltip.add(net.minecraft.network.chat.Component.literal(ChatFormatting.GRAY + "connect this device to.")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "Start by right clicking a")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "device with this cable")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "then right click the ")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "router you want to")); + tooltip.add(Component.literal(ChatFormatting.GRAY + "connect this device to.")); } super.appendHoverText(stack, level, tooltip, isAdvanced); } diff --git a/common/src/main/java/com/ultreon/devices/item/FlashDriveItem.java b/common/src/main/java/com/ultreon/devices/item/FlashDriveItem.java index 3a4f4eb3a..b30219db4 100644 --- a/common/src/main/java/com/ultreon/devices/item/FlashDriveItem.java +++ b/common/src/main/java/com/ultreon/devices/item/FlashDriveItem.java @@ -1,6 +1,6 @@ package com.ultreon.devices.item; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.IDeviceType; import com.ultreon.devices.ModDeviceTypes; import com.ultreon.devices.Reference; @@ -27,7 +27,7 @@ public class FlashDriveItem extends Item implements Colored, SubItems, IDeviceTy private final DyeColor color; public FlashDriveItem(DyeColor color) { - super(new Properties().arch$tab(Devices.TAB_DEVICE).rarity(Rarity.UNCOMMON).stacksTo(1)); + super(new Properties().arch$tab(UltreonDevicesMod.TAB_DEVICE).rarity(Rarity.UNCOMMON).stacksTo(1)); this.color = color; } diff --git a/common/src/main/java/com/ultreon/devices/mineos/DestFactor.java b/common/src/main/java/com/ultreon/devices/mineos/DestFactor.java new file mode 100644 index 000000000..113c7b6f9 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/DestFactor.java @@ -0,0 +1,10 @@ +package com.ultreon.devices.mineos; + +public enum DestFactor { + ZERO, + ONE, + SRC_ALPHA, + SRC_COLOR, + ONE_MINUS_SRC_ALPHA, + ONE_MINUS_SRC_COLOR, +} diff --git a/common/src/main/java/com/ultreon/devices/mineos/DriverManager.java b/common/src/main/java/com/ultreon/devices/mineos/DriverManager.java new file mode 100644 index 000000000..795f30881 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/DriverManager.java @@ -0,0 +1,7 @@ +package com.ultreon.devices.mineos; + +public class DriverManager { + public void loadDrivers() { + + } +} diff --git a/common/src/main/java/com/ultreon/devices/mineos/MineOSSystem.java b/common/src/main/java/com/ultreon/devices/mineos/MineOSSystem.java new file mode 100644 index 000000000..95903216f --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/MineOSSystem.java @@ -0,0 +1,13 @@ +package com.ultreon.devices.mineos; + +import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.mineos.client.Settings; +import com.ultreon.devices.object.AppInfo; + +public interface MineOSSystem { + Settings getSettings(); + + Iterable getInstalledApplications(); + + Application openApplication(AppInfo application); +} diff --git a/common/src/main/java/com/ultreon/devices/mineos/SourceFactor.java b/common/src/main/java/com/ultreon/devices/mineos/SourceFactor.java new file mode 100644 index 000000000..4d3ad0036 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/SourceFactor.java @@ -0,0 +1,10 @@ +package com.ultreon.devices.mineos; + +public enum SourceFactor { + ZERO, + ONE, + SRC_ALPHA, + SRC_COLOR, + ONE_MINUS_SRC_ALPHA, + ONE_MINUS_SRC_COLOR, +} diff --git a/common/src/main/java/com/ultreon/devices/core/Laptop.java b/common/src/main/java/com/ultreon/devices/mineos/client/MineOS.java similarity index 74% rename from common/src/main/java/com/ultreon/devices/core/Laptop.java rename to common/src/main/java/com/ultreon/devices/mineos/client/MineOS.java index 251054e01..0382e24d7 100644 --- a/common/src/main/java/com/ultreon/devices/core/Laptop.java +++ b/common/src/main/java/com/ultreon/devices/mineos/client/MineOS.java @@ -1,24 +1,24 @@ -package com.ultreon.devices.core; +package com.ultreon.devices.mineos.client; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; -import com.ultreon.devices.api.ApplicationManager; -import com.ultreon.devices.api.app.Dialog; -import com.ultreon.devices.api.app.System; -import com.ultreon.devices.api.app.*; +import com.mojang.datafixers.util.Pair; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.io.Drive; -import com.ultreon.devices.api.io.File; import com.ultreon.devices.api.task.Callback; import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.task.TaskManager; -import com.ultreon.devices.api.utils.OnlineRequest; -import com.ultreon.devices.api.video.CustomResolution; import com.ultreon.devices.api.video.VideoInfo; import com.ultreon.devices.block.entity.ComputerBlockEntity; +import com.ultreon.devices.client.Display; import com.ultreon.devices.core.task.TaskInstallApp; +import com.ultreon.devices.api.bios.InterruptData; +import com.ultreon.devices.api.util.Color; +import com.ultreon.devices.mineos.MineOSSystem; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.system.DiagnosticsApp; import com.ultreon.devices.programs.system.DisplayResolution; @@ -30,179 +30,146 @@ import com.ultreon.devices.util.GLHelper; import dev.architectury.injectables.annotations.PlatformOnly; import dev.architectury.platform.Mod; -import it.unimi.dsi.fastutil.Pair; import it.unimi.dsi.fastutil.ints.IntArraySet; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.client.resources.sounds.SimpleSoundInstance; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; +import com.ultreon.devices.api.bios.Bios; +import com.ultreon.devices.api.ApplicationManager; +import com.ultreon.devices.api.app.Dialog; +import com.ultreon.devices.api.app.SystemAccessor; +import com.ultreon.devices.api.io.File; +import com.ultreon.devices.api.utils.OnlineRequest; +import com.ultreon.devices.api.video.CustomResolution; import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.StringTag; -import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; +import net.minecraft.client.gui.GuiGraphics; +import com.ultreon.devices.api.os.OperatingSystem; +import com.ultreon.devices.api.os.ShutdownSource; +import net.minecraft.nbt.StringTag; +import net.minecraft.nbt.Tag; import net.minecraft.sounds.SoundEvents; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.awt.*; import java.io.ByteArrayOutputStream; import java.io.PrintStream; -import java.util.ArrayList; +import java.util.*; import java.util.List; -import java.util.Objects; -import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; //TODO Intro message (created by mrcrayfish, donate here) /** - * Laptop GUI class. + * MineOS GUI class. * * @author MrCrayfish, XyperCode */ -public class Laptop extends Screen implements System { +public class MineOS extends Screen implements OperatingSystem, MineOSSystem { public static final int ID = 1; - public static final ResourceLocation ICON_TEXTURES = new ResourceLocation(Devices.MOD_ID, "textures/atlas/app_icons.png"); + public static final ResourceLocation ICON_TEXTURES = UltreonDevicesMod.res("textures/atlas/app_icons.png"); public static final int ICON_SIZE = 14; - private static final ResourceLocation LAPTOP_FONT = Devices.res("laptop"); - private static Font font; - private static final ResourceLocation LAPTOP_GUI = new ResourceLocation(Devices.MOD_ID, "textures/gui/laptop.png"); private static final List APPLICATIONS = new ArrayList<>(); - private static boolean worldLess; - private static Laptop instance; + private static final List WALLPAPERS = new ArrayList<>(); + private static final List tasks = new CopyOnWriteArrayList<>(); + private static final Map instances = new HashMap<>(); + private static Font font; + + private final MineOSKernel kernel = new MineOSKernel(); + private final boolean worldLess; + private final ComputerBlockEntity computer; + private final IntArraySet pressed = new IntArraySet(); + private final Bios bios; private Double dragWindowFromX; private Double dragWindowFromY; private VideoInfo videoInfo; - @PlatformOnly("fabric") - public static List getApplicationsForFabric() { - return APPLICATIONS; - } - - public static List getWallpapers() { - return ImmutableList.copyOf(WALLPAPERS); - } - - private static final List WALLPAPERS = new ArrayList<>(); - - private static final int BORDER = 10; - private static final List tasks = new CopyOnWriteArrayList<>(); - private static System system; - private static BlockPos pos; - private static Drive mainDrive; - private final Settings settings; - private final TaskBar bar; - final CopyOnWriteArrayList> windows; - private final CompoundTag appData; - private final CompoundTag systemData; + private MineOSSystem system; + private BlockPos pos; + private Drive mainDrive; + private Settings settings; + private TaskBar bar; + CopyOnWriteArrayList> windows; + private CompoundTag appData; + private CompoundTag systemData; protected List installedApps = new ArrayList<>(); private Layout context = null; private Wallpaper currentWallpaper; - private int lastMouseX, lastMouseY; private boolean dragging = false; - private final IntArraySet pressed = new IntArraySet(); - private final Image wallpaper; - private final Layout wallpaperLayout; + private Image wallpaper; + private Layout wallpaperLayout; private BSOD bsod; - - public static Font getFont() { - if (font == null) { - font = Minecraft.getInstance().font; - } - return font; - } + private Display display; /** * Creates a new laptop GUI. - * - * @param laptop the block entity of the laptop in-game, if the laptop is not in-game, the level passed to it should be null. */ - public Laptop(ComputerBlockEntity laptop) { - this(laptop, false); + public MineOS(@Nullable ComputerBlockEntity computer, Bios bios) { + this(computer, bios, computer == null); } /** * Creates a new laptop GUI. - * - * @param laptop the block entity of the laptop in-game, if the laptop is not in-game, the level passed to it should be null. */ - public Laptop(ComputerBlockEntity laptop, boolean worldLess) { - super(Component.literal("Laptop")); - - instance = this; + public MineOS(@Nullable ComputerBlockEntity computer, Bios bios, boolean worldLess) { + super(Component.literal("MineOS")); + this.minecraft = Minecraft.getInstance(); - // Laptop data. - this.appData = laptop.getApplicationData(); - this.systemData = laptop.getSystemData(); + this.computer = computer; + this.bios = bios; + this.worldLess = worldLess; - CompoundTag videoInfoData = this.systemData.getCompound("videoInfo"); - this.videoInfo = new VideoInfo(videoInfoData); - - // Windows - this.windows = new CopyOnWriteArrayList<>() { - @Override - public Window get(int index) { - try { - return super.get(index); - } catch (Exception e) { - return null; - } - } + this.boot(bios); - @Override - public boolean add(Window window) { - window.removed = false; - return super.add(window); - } - }; + if (computer != null) { + MineOS.instances.put(bios.getDeviceId(), this); + } + } - // Settings etc. - this.settings = Settings.fromTag(systemData.getCompound("Settings")); + @PlatformOnly("fabric") + public static List getApplicationsForFabric() { + return APPLICATIONS; + } - // GUI Components - CompoundTag taskBarTag = systemData.getCompound("TaskBar"); - systemData.put("TaskBar", taskBarTag); - this.bar = new TaskBar(this, taskBarTag); + public static List getWallpapers() { + return ImmutableList.copyOf(WALLPAPERS); + } - // Wallpaper stuff - this.currentWallpaper = systemData.contains("CurrentWallpaper", 10) ? new Wallpaper(systemData.getCompound("CurrentWallpaper")) : null; - if (this.currentWallpaper == null) this.currentWallpaper = new Wallpaper(0); - Laptop.system = this; - Laptop.pos = laptop.getBlockPos(); - this.wallpaperLayout = new Layout(getScreenWidth(), getScreenHeight()); - this.wallpaper = new Image(0, 0, getScreenWidth(), getScreenHeight()); - if (currentWallpaper.isBuiltIn()) { - wallpaper.setImage(WALLPAPERS.get(currentWallpaper.location)); - } else { - wallpaper.setImage(currentWallpaper.url); + public static Font getFont() { + if (font == null) { + font = Minecraft.getInstance().font; } - this.wallpaperLayout.addComponent(this.wallpaper); - this.wallpaperLayout.handleLoad(); + return font; + } - // World-less flag. - Laptop.worldLess = worldLess; + public static MineOS get(UUID id) { + return instances.get(id); } - public static Laptop getInstance() { - return instance; + public static MineOS getOpened() { + OperatingSystem os = Display.get().getOS(); + if (os instanceof MineOS mineOS) { + return mineOS; + } + + throw new ClassCastException("Cannot cast " + os.getClass().getName() + " to " + MineOS.class.getName()); } - public static int getScreenWidth() { - return instance.videoInfo.getResolution().width(); + public int getScreenWidth() { + return videoInfo.getResolution().width(); } - public static int getScreenHeight() { - return instance.videoInfo.getResolution().height(); + public int getScreenHeight() { + return videoInfo.getResolution().height(); } - public static DisplayResolution getResolution() { - return instance.videoInfo.getResolution(); + public DisplayResolution getResolution() { + return videoInfo.getResolution(); } public CompoundTag getModSystemTag(Mod mod) { @@ -217,10 +184,16 @@ public CompoundTag getModSystemTag(String modId) { return mod; } - public static boolean isWorldLess() { + @Override + public boolean isWorldLess() { return worldLess; } + @Override + public Screen getScreen() { + return this; + } + /** * Returns the position of the laptop the player is currently using. This method can ONLY be * called when the laptop GUI is open, otherwise it will return a null position. @@ -228,7 +201,7 @@ public static boolean isWorldLess() { * @return the position of the laptop currently in use */ @Nullable - public static BlockPos getPos() { + public BlockPos getPos() { return pos; } @@ -243,18 +216,20 @@ public static void addWallpaper(ResourceLocation wallpaper) { } } - public static System getSystem() { + public MineOSSystem getSystem() { return system; } @Nullable - public static Drive getMainDrive() { - return mainDrive; + @Deprecated + public Drive getMainDrive() { + return bios.getMainDrive(); } - public static void setMainDrive(Drive mainDrive) { - if (Laptop.mainDrive == null) { - Laptop.mainDrive = mainDrive; + @Deprecated + public void setMainDrive(Drive mainDrive) { + if (this.mainDrive == null) { + this.mainDrive = mainDrive; } } @@ -268,13 +243,11 @@ public static void runLater(Runnable task) { } /** - * Initialize the Laptop GUI. + * Initialize the MineOS GUI. */ @Override - public void init() { - int posX = (width - getDeviceWidth()) / 2; - int posY = (height - getDeviceHeight()) / 2; - bar.init(posX + BORDER, posY + getDeviceHeight() - 28); + public void init(GuiGraphics graphics) { + bar.init(0, getScreenHeight() - bar.getHeight()); installedApps.clear(); ListTag list = systemData.getList("InstalledApps", Tag.TAG_STRING); @@ -285,17 +258,83 @@ public void init() { } } installedApps.sort(AppInfo.SORT_NAME); - if (Minecraft.getInstance().getConnection() == null) { + if (UltreonDevicesMod.get().isDebug()) { installedApps.addAll(ApplicationManager.getAvailableApplications()); } } - private static int getDeviceWidth() { - return getScreenWidth() + 2 * BORDER; + @Override + public void boot(Bios bios) { + // MineOS data. + this.appData = computer.getApplicationData(); + this.systemData = computer.getSystemData(); + + CompoundTag videoInfoData = this.systemData.getCompound("videoInfo"); + this.videoInfo = new VideoInfo(videoInfoData); + + // Windows + this.windows = new CopyOnWriteArrayList<>() { + @Override + public Window get(int index) { + try { + return super.get(index); + } catch (Exception e) { + return null; + } + } + + @Override + public boolean add(Window window) { + window.removed = false; + return super.add(window); + } + }; + + // Settings etc. + this.settings = Settings.fromTag(systemData.getCompound("Settings")); + + // GUI Components + CompoundTag taskBarTag = systemData.getCompound("TaskBar"); + systemData.put("TaskBar", taskBarTag); + this.bar = new TaskBar(this, taskBarTag); + + // Wallpaper stuff + this.currentWallpaper = systemData.contains("CurrentWallpaper", 10) ? new Wallpaper(systemData.getCompound("CurrentWallpaper")) : null; + if (this.currentWallpaper == null) this.currentWallpaper = new Wallpaper(0); + this.system = this; + this.pos = computer.getBlockPos(); + this.wallpaperLayout = new Layout(getScreenWidth(), getScreenHeight()); + this.wallpaper = new Image(0, 0, getScreenWidth(), getScreenHeight()); + if (currentWallpaper.isBuiltIn()) { + wallpaper.setImage(WALLPAPERS.get(currentWallpaper.location)); + } else { + wallpaper.setImage(currentWallpaper.url); + } + this.wallpaperLayout.addComponent(this.wallpaper); + this.wallpaperLayout.handleLoad(); + } + + @Override + public void render(GuiGraphics display) { + + } + + @Override + public void onShutdownRequest(ShutdownSource source) { + + } + + @Override + public boolean onBiosInterrupt(InterruptData interrupt) { + return false; + } + + private int getDeviceWidth() { + return getScreenWidth(); } - private static int getDeviceHeight() { - return getScreenHeight() + 2 * BORDER; + private int getDeviceHeight() { + return getScreenHeight(); } @Override @@ -312,9 +351,9 @@ public void removed() { /* Send system data */ this.updateSystemData(); - Laptop.pos = null; - Laptop.system = null; - Laptop.mainDrive = null; + this.pos = null; + this.system = null; + this.mainDrive = null; } private void updateSystemData() { @@ -332,9 +371,8 @@ private void updateSystemData() { /** * Handles Minecraft GUI resizing. * - * @param minecraft the Minecraft instance - * @param width the new width - * @param height the new height + * @param width the new width + * @param height the new height */ @Override public void resize(@NotNull Minecraft minecraft, int width, int height) { @@ -387,7 +425,7 @@ public void tick() { } @Override - public void render(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { + public void render(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, final float partialTicks) { if (bsod != null) { renderBsod(graphics, mouseX, mouseY, partialTicks); return; @@ -401,7 +439,7 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final graphics.pose().pushPose(); graphics.pose().translate(0, 0, 1000); - renderLaptop(graphics, mouseX, mouseY, partialTicks); + renderMineOS(graphics, mouseX, mouseY, partialTicks); graphics.pose().popPose(); } catch (NullPointerException e) { while (graphics.pose().last() != last) { @@ -418,20 +456,17 @@ public void render(final @NotNull GuiGraphics graphics, final int mouseX, final } while (graphics.pose().last() != last) { - Devices.LOGGER.warn("Pose stack leakage: {}", graphics.pose().last()); + UltreonDevicesMod.LOGGER.warn("Pose stack leakage: {}", graphics.pose().last()); graphics.pose().popPose(); } if (GLHelper.clearScissorStack()) { - Devices.LOGGER.debug("Scissor stack leakage!"); + UltreonDevicesMod.LOGGER.debug("Scissor stack leakage!"); } } public void renderBsod(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { - renderBezels(graphics, mouseX, mouseY, partialTicks); - int posX = (width - getDeviceWidth()) / 2; - int posY = (height - getDeviceHeight()) / 2; - graphics.fill(posX+10, posY+10, posX + getDeviceWidth()-10, posY + getDeviceHeight()-10, new Color(0, 0, 255).getRGB()); + graphics.fill(0, 0, getDeviceWidth(), getDeviceHeight(), new Color(0, 0, 255).getRGB()); var bo = new ByteArrayOutputStream(); double scale = Minecraft.getInstance().getWindow().getGuiScale(); @@ -439,24 +474,24 @@ public void renderBsod(final @NotNull GuiGraphics graphics, final int mouseX, fi var b = new PrintStream(bo); bsod.throwable.printStackTrace(b); var str = bo.toString(); - drawLines(graphics, Laptop.getFont(), str, posX+10, posY+10+getFont().lineHeight*2, (int) ((getDeviceWidth() - 10) * scale), new Color(255, 255, 255).getRGB()); + drawLines(graphics, MineOS.getFont(), str, 0, getFont().lineHeight * 2, (int) ((getDeviceWidth()) * scale), new Color(255, 255, 255).getRGB()); graphics.pose().pushPose(); graphics.pose().scale(2, 2, 0); - graphics.pose().translate((posX+10)/2f,(posY+10)/2f,0); + graphics.pose().translate((0) / 2f, (0) / 2f, 0); graphics.drawString(getFont(), "System has crashed!", 0, 0, new Color(255, 255, 255).getRGB()); graphics.pose().popPose(); } - public static void drawLines(GuiGraphics graphics, Font font, String text, int x, int y, int width, int color) { + public void drawLines(GuiGraphics graphics, Font font, String text, int x, int y, int width, int color) { var lines = new ArrayList(); font.getSplitter().splitLines(FormattedText.of(text.replaceAll("\r\n", "\n").replaceAll("\r", "\n")), width, Style.EMPTY).forEach(b -> lines.add(b.getString())); - var totalTextHeight = font.lineHeight*lines.size(); - var textScale = (instance.videoInfo.getResolution().height()-20-(getFont().lineHeight*2))/(float)totalTextHeight; + var totalTextHeight = font.lineHeight * lines.size(); + var textScale = (videoInfo.getResolution().height() - 10 - (getFont().lineHeight * 2)) / (float) totalTextHeight; textScale = (float) (1f / Minecraft.getInstance().getWindow().getGuiScale()); textScale = Math.max(0.5f, textScale); graphics.pose().pushPose(); graphics.pose().scale(textScale, textScale, 1); - graphics.pose().translate(x / textScale, (y+3)/textScale, 0); + graphics.pose().translate(x / textScale, (y + 3) / textScale, 0); //poseStack.translate(); var lineNr = 0; for (String s : lines) { @@ -466,36 +501,6 @@ public static void drawLines(GuiGraphics graphics, Font font, String text, int x graphics.pose().popPose(); } - public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { - tasks.clear(); - - RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - - //*************************// - // Physical Screen // - //*************************// - int deviceWidth = videoInfo.getResolution().width() + BORDER * 2; - int deviceHeight = videoInfo.getResolution().height() + BORDER * 2; - int posX = (width - deviceWidth) / 2; - int posY = (height - deviceHeight) / 2; - - // Corners - graphics.blit(LAPTOP_GUI, posX, posY, 0, 0, BORDER, BORDER); // TOP-LEFT - graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY, 11, 0, BORDER, BORDER); // TOP-RIGHT - graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + deviceHeight - BORDER, 11, 11, BORDER, BORDER); // BOTTOM-RIGHT - graphics.blit(LAPTOP_GUI, posX, posY + deviceHeight - BORDER, 0, 11, BORDER, BORDER); // BOTTOM-LEFT - - // Edges - graphics.blit(LAPTOP_GUI, posX + BORDER, posY, getScreenWidth(), BORDER, 10, 0, 1, BORDER, 256, 256); // TOP - graphics.blit(LAPTOP_GUI, posX + deviceWidth - BORDER, posY + BORDER, BORDER, getScreenHeight(), 11, 10, BORDER, 1, 256, 256); // RIGHT - graphics.blit(LAPTOP_GUI, posX + BORDER, posY + deviceHeight - BORDER, getScreenWidth(), BORDER, 10, 11, 1, BORDER, 256, 256); // BOTTOM - graphics.blit(LAPTOP_GUI, posX, posY + BORDER, BORDER, getScreenHeight(), 0, 11, BORDER, 1, 256, 256); // LEFT - - // Center - graphics.blit(LAPTOP_GUI, posX + BORDER, posY + BORDER, getScreenWidth(), getScreenHeight(), 10, 10, 1, 1, 256, 256); - - } - /** * Render the laptop screen. * @@ -504,25 +509,20 @@ public void renderBezels(final @NotNull GuiGraphics graphics, final int mouseX, * @param mouseY the current mouse Y position. * @param partialTicks the rendering partial ticks that forge give use (which is useless here). */ - public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { - int posX = (width - getDeviceWidth()) / 2; - int posY = (height - getDeviceHeight()) / 2; + public void renderMineOS(final @NotNull GuiGraphics graphics, final int mouseX, final int mouseY, float partialTicks) { // Fixes the strange partialTicks that Forge decided to give us - final float frameTime = Minecraft.getInstance().getFrameTime(); for (Runnable task : tasks) { task.run(); } - - renderBezels(graphics, mouseX, mouseY, partialTicks); - GLHelper.pushScissor(posX + BORDER, posY + BORDER, videoInfo.getResolution().width(), videoInfo.getResolution().height()); + GLHelper.pushScissor(graphics, 0, 0, videoInfo.getResolution().width(), videoInfo.getResolution().height()); //*******************// // Wallpaper // //*******************// //RenderSystem.setShaderTexture(0, WALLPAPERS.get(currentWallpaper)); - //RenderUtil.drawRectWithTexture(pose, posX + 10, posY + 10, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 512, 288); + //RenderUtil.drawRectWithTexture(pose, 0 + 0, 0 + 0, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 512, 288); Image.CACHE.forEach((s, cachedImage) -> cachedImage.delete()); - this.wallpaperLayout.render(graphics, this, this.minecraft, posX+10, posY+10, mouseX, mouseY, true, partialTicks); + this.wallpaperLayout.render(graphics, this, this.minecraft, 0, 0, mouseX, mouseY, true, partialTicks); boolean insideContext = false; if (context != null) { insideContext = isMouseInside(mouseX, mouseY, context.xPosition, context.yPosition, context.xPosition + context.width, context.yPosition + context.height); @@ -533,23 +533,23 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, //****************// graphics.pose().pushPose(); { - // Window[] windows1 = Arrays.stream(windows.toArray()).filter(Objects::nonNull).toArray(Window[]::new); + // Window[] windows1 = Arrays.stream(windows.toArray()).filter(Objects::nonNull).toArray(Window[]::new); for (int i = windows.size() - 1; i >= 0; i--) { var window = windows.get(i); if (window != null) { PoseStack.Pose last = graphics.pose().last(); try { if (i == 0) { - window.render(graphics, this, minecraft, posX + BORDER, posY + BORDER, mouseX, mouseY, !insideContext, partialTicks); + window.render(graphics, this, minecraft, 0, 0, mouseX, mouseY, partialTicks, !insideContext); } else { - window.render(graphics, this, minecraft, posX + BORDER, posY + BORDER, Integer.MAX_VALUE, Integer.MAX_VALUE, false, partialTicks); + window.render(graphics, this, minecraft, 0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE, partialTicks, false); } } catch (Exception e) { while (graphics.pose().last() != last) { graphics.pose().popPose(); } RenderSystem.disableScissor(); - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Error rendering window", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); CompoundTag intent = new CompoundTag(); @@ -558,7 +558,7 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, if (info != null) { intent.putString("name", info.getName()); } - openApplication(ApplicationManager.getApplication(Devices.id("diagnostics")), intent); + openApplication(ApplicationManager.getApplication(UltreonDevicesMod.res("diagnostics")), intent); closeApplication(app); } } @@ -566,11 +566,11 @@ public void renderLaptop(final @NotNull GuiGraphics graphics, final int mouseX, } } } - bar.render(graphics, this, minecraft, posX + 10, posY + getDeviceHeight() - 28, mouseX, mouseY, frameTime); + bar.render(graphics, this, minecraft, 0, getDeviceHeight() - TaskBar.BAR_HEIGHT, mouseX, mouseY, partialTicks); - graphics.pose().translate(0, 0, 100); + graphics.pose().translate(0, 0, 200); if (context != null) { - context.render(graphics, this, minecraft, context.xPosition, context.yPosition, mouseX, mouseY, true, frameTime); + context.render(graphics, this, minecraft, context.xPosition, context.yPosition, mouseX, mouseY, true, partialTicks); } graphics.pose().popPose(); @@ -599,20 +599,9 @@ private boolean isMouseInside(int mouseX, int mouseY, int startX, int startY, in return mouseX >= startX && mouseX <= endX && mouseY >= startY && mouseY <= endY; } - @Override - public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { - try { - return mouseClickedInternal(mouseX, mouseY, mouseButton); - } catch (NullPointerException e) { - bsod(e);// null - } catch (Exception e) { - bsod(e); - } - return super.mouseClicked(mouseX, mouseY, mouseButton); - } - private void bsod(Throwable e) { + protected void bsod(Throwable e) { this.bsod = new BSOD(e); - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("BSOD", e); } public VideoInfo getVideoInfo() { @@ -622,6 +611,7 @@ public VideoInfo getVideoInfo() { public void setDisplayResolution(PredefinedResolution newValue) { if (this.videoInfo != null) { this.videoInfo.setResolution(newValue); + this.display.setResolution(newValue); } } @@ -629,20 +619,31 @@ public void revalidate() { } + public Bios getBios() { + return bios; + } + + @Override + public void connectDisplay(Display display) { + this.display = display; + } + + @Override + public void disconnectDisplay() { + this.display = null; + } + private static final class BSOD { private final Throwable throwable; + public BSOD(Throwable e) { this.throwable = e; } } - @SuppressWarnings("unchecked") - public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButton) { - this.lastMouseX = (int) mouseX; - this.lastMouseY = (int) mouseY; - - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; + @Override + @SuppressWarnings("unchecked") + public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { if (this.context != null) { int dropdownX = context.xPosition; int dropdownY = context.yPosition; @@ -654,7 +655,7 @@ public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButto } } - this.bar.handleClick(this, posX, posY + getScreenHeight() - TaskBar.BAR_HEIGHT, (int) mouseX, (int) mouseY, mouseButton); + this.bar.handleClick(this, 0, getScreenHeight() - TaskBar.BAR_HEIGHT, (int) mouseX, (int) mouseY, mouseButton); for (int i = 0; i < windows.size(); i++) { Window window = (Window) windows.get(i); @@ -667,7 +668,7 @@ public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButto updateWindowStack(); windows.add(0, window); - windows.get(0).handleMouseClick(this, posX, posY, (int) mouseX, (int) mouseY, mouseButton); + window.handleMouseClick(this, 0, 0, (int) mouseX, (int) mouseY, mouseButton); if (isMouseWithinWindowBar((int) mouseX, (int) mouseY, dialogWindow)) { dragWindowFromX = mouseX - dialogWindow.offsetX; @@ -685,18 +686,18 @@ public boolean mouseClickedInternal(double mouseX, double mouseY, int mouseButto break; } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); - if (windows.size() == 0 || windows.get(0) == null) { + if (windows.isEmpty()) { CompoundTag intent = new CompoundTag(); AppInfo info = window.content.getInfo(); if (info != null) { intent.putString("name", info.getName()); } - openApplication(ApplicationManager.getApplication(Devices.id("diagnostics")), intent); + openApplication(ApplicationManager.getApplication(UltreonDevicesMod.id("diagnostics")), intent); } else { - windows.get(0).openDialog(message); + window.openDialog(message); } } } @@ -722,7 +723,7 @@ public boolean mouseReleased(double mouseX, double mouseY, int state) { windows.get(0).handleMouseRelease((int) mouseX, (int) mouseY, state); } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); @@ -730,6 +731,11 @@ public boolean mouseReleased(double mouseX, double mouseY, int state) { return true; } + @Override + public boolean mouseReleased(int mouseX, int mouseY, int state) { + return false; + } + @Override public void afterKeyboardAction() { // if (Keyboard.getEventKeyState()) { @@ -750,12 +756,12 @@ public void afterKeyboardAction() { @Override public boolean charTyped(char codePoint, int modifiers) { - boolean override = super.charTyped(codePoint, modifiers); + boolean override = false; try { if (!override && windows.get(0) != null) windows.get(0).handleCharTyped(codePoint, modifiers); } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); @@ -765,48 +771,44 @@ public boolean charTyped(char codePoint, int modifiers) { @Override public boolean keyPressed(final int keyCode, final int scanCode, final int modifiers) { - final boolean override = super.keyPressed(keyCode, scanCode, modifiers); + final boolean override = false; try { if (!pressed.contains(keyCode) && !override && windows.get(0) != null) { windows.get(0).handleKeyPressed(keyCode, scanCode, modifiers); } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); } pressed.add(keyCode); - return super.keyPressed(keyCode, scanCode, modifiers); + return true; } @Override public boolean keyReleased(int keyCode, int scanCode, int modifiers) { pressed.remove(keyCode); - boolean b = super.keyReleased(keyCode, scanCode, modifiers); - try { if (keyCode >= 32 && keyCode < 256 && windows.get(0) != null) { windows.get(0).handleKeyReleased(keyCode, scanCode, modifiers); return true; } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); } - return b; + + return true; } @SuppressWarnings("unchecked") @Override public boolean mouseDragged(double mouseX, double mouseY, int button, double dragX, double dragY) { - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; - try { if (this.context != null) { int dropdownX = context.xPosition; @@ -822,7 +824,7 @@ public boolean mouseDragged(double mouseX, double mouseY, int button, double dra Window

dialogWindow = window.getContent().getActiveDialog(); if (dragging) { if (isMouseOnScreen((int) mouseX, (int) mouseY) && dragWindowFromX != null && dragWindowFromY != null) { - Objects.requireNonNullElse(dialogWindow, window).handleWindowMove(posX, posY, (int) ((dragX + mouseX) - dragWindowFromX), (int) ((dragY + mouseY) - dragWindowFromY)); + Objects.requireNonNullElse(dialogWindow, window).handleWindowMove(0, 0, (int) ((dragX + mouseX) - dragWindowFromX), (int) ((dragY + mouseY) - dragWindowFromY)); } else { dragging = false; } @@ -833,13 +835,11 @@ public boolean mouseDragged(double mouseX, double mouseY, int button, double dra } } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); } - this.lastMouseX = (int) mouseX; - this.lastMouseY = (int) mouseY; return true; } @@ -849,14 +849,14 @@ public void mouseMoved(double pMouseX, double pMouseY) { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double deltaX, double delta) { - if (delta != 0) { + public boolean mouseScrolled(double mouseX, double mouseY, double deltaX, double deltaY) { + if (deltaY != 0) { try { if (windows.get(0) != null) { - windows.get(0).handleMouseScroll((int) mouseX, (int) mouseY, delta, delta >= 0); + windows.get(0).handleMouseScroll((int) mouseX, (int) mouseY, deltaY, deltaY >= 0); } } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("An error has occurred.", e); Dialog.Message message = new Dialog.Message("An error has occurred.\nSend logs to devs."); message.setTitle("Error"); windows.get(0).openDialog(message); @@ -866,7 +866,7 @@ public boolean mouseScrolled(double mouseX, double mouseY, double deltaX, double } public void renderComponentTooltip(@NotNull GuiGraphics graphics, @NotNull List tooltips, int x, int y) { - graphics.renderComponentTooltip(minecraft.font, tooltips, x, y); + graphics.renderComponentTooltip(font, tooltips, x, y); } @SuppressWarnings("ReassignedVariable") @@ -874,15 +874,14 @@ public Pair sendApplicationToFront(AppInfo info) { int i = 0; for (; i < windows.size(); i++) { Window window = windows.get(i); - if (window != null && window.content instanceof Application && ((Application) window.content).getInfo() == info) { + if (window != null && window.content instanceof Application application && application.getInfo() == info) { windows.remove(i); updateWindowStack(); windows.add(0, window); - i--; - return Pair.of((Application) window.content, true); + return new Pair<>(application, true); } } - return Pair.of(null, false); + return new Pair<>(null, false); } @Override @@ -893,9 +892,9 @@ public Application openApplication(AppInfo info) { @Override public Application openApplication(AppInfo info, CompoundTag intentTag) { Optional optional = APPLICATIONS.stream().filter(app -> app.getInfo() == info).findFirst(); - Application[] a = new Application[]{null}; - optional.ifPresent(application -> a[0] = openApplication(application, intentTag)); - return a[0]; + Application[] app = new Application[]{null}; + optional.ifPresent(application -> app[0] = openApplication(application, intentTag)); + return app[0]; } private Application openApplication(Application app, CompoundTag intent) { @@ -909,11 +908,11 @@ private Application openApplication(Application app, CompoundTag intent) { try { var q = sendApplicationToFront(app.getInfo()); - if (q.right()) - return q.left(); + if (q.getSecond()) + return q.getFirst(); if (app instanceof SystemApp) { - ((SystemApp) app).setLaptop(this); + ((SystemApp) app).setOS(this); } if (app instanceof SystemAccessor) { @@ -921,7 +920,7 @@ private Application openApplication(Application app, CompoundTag intent) { } Window window = new Window<>(app, this); - window.init((width - getScreenWidth()) / 2, (height - getScreenHeight()) / 2, intent); + window.init((window.width - getScreenWidth()) / 2, (window.height - getScreenHeight()) / 2, intent); if (appData.contains(app.getInfo().getFormattedId())) { app.load(appData.getCompound(app.getInfo().getFormattedId())); @@ -933,22 +932,21 @@ private Application openApplication(Application app, CompoundTag intent) { addWindow(window); - Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1f)); + this.kernel.playSound(SoundEvents.UI_BUTTON_CLICK.value()); } catch (Exception e) { - e.printStackTrace(); - AppInfo info = ApplicationManager.getApplication(Devices.id("diagnostics")); - system.openApplication(info); + UltreonDevicesMod.LOGGER.error("Failed to open application", e); + AppInfo info = ApplicationManager.getApplication(UltreonDevicesMod.res("diagnostics")); + openApplication(info); } return app; } - @Override public Pair openApplication(AppInfo info, File file) { if (isApplicationNotInstalled(info)) - return Pair.of(null, false); + return new Pair<>(null, false); if (isInvalidApplication(info)) - return Pair.of(null, false); + return new Pair<>(null, false); try { Optional optional = APPLICATIONS.stream().filter(app -> app.getInfo() == info).findFirst(); @@ -961,20 +959,19 @@ public Pair openApplication(AppInfo info, File file) { if (!alreadyRunning) { closeApplication(application); } - return Pair.of(application, false); + return new Pair<>(application, false); } - return Pair.of(application, true); + return new Pair<>(application, true); } } } catch (Exception e) { - e.printStackTrace(); - AppInfo info1 = ApplicationManager.getApplication(Devices.id("diagnostics")); - system.openApplication(info1); + UltreonDevicesMod.LOGGER.error("Failed to open application", e); + AppInfo info1 = ApplicationManager.getApplication(UltreonDevicesMod.res("diagnostics")); + openApplication(info1); } - return Pair.of(null, true); + return new Pair<>(null, true); } - @Override public void closeApplication(AppInfo info) { Optional optional = APPLICATIONS.stream().filter(app -> app.getInfo() == info).findFirst(); optional.ifPresent(this::closeApplication); @@ -995,7 +992,7 @@ private void closeApplication(Application app) { } if (app instanceof SystemApp) { - ((SystemApp) app).setLaptop(null); + ((SystemApp) app).setOS(null); } window.handleClose(); @@ -1037,29 +1034,21 @@ private boolean hasReachedWindowLimit() { } private boolean isMouseOnScreen(int mouseX, int mouseY) { - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; - return isMouseInside(mouseX, mouseY, posX, posY, posX + getScreenWidth(), posY + getScreenHeight()); + return isMouseInside(mouseX, mouseY, 0, 0, getScreenWidth(), getScreenHeight()); } private boolean isMouseWithinWindowBar(int mouseX, int mouseY, Window window) { if (window == null) return false; - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; - return isMouseInside(mouseX, mouseY, posX + window.offsetX + 1, posY + window.offsetY + 1, posX + window.offsetX + window.width - 13, posY + window.offsetY + 11); + return isMouseInside(mouseX, mouseY, window.offsetX + 1, window.offsetY + 1, window.offsetX + window.width - 1, window.offsetY + 11); } private boolean isMouseWithinWindow(int mouseX, int mouseY, Window window) { if (window == null) return false; - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; - return isMouseInside(mouseX, mouseY, posX + window.offsetX, posY + window.offsetY, posX + window.offsetX + window.width, posY + window.offsetY + window.height); + return isMouseInside(mouseX, mouseY, window.offsetX, window.offsetY, window.offsetX + window.width, window.offsetY + window.height); } public boolean isMouseWithinApp(int mouseX, int mouseY, Window window) { - int posX = (width - getScreenWidth()) / 2; - int posY = (height - getScreenHeight()) / 2; - return isMouseInside(mouseX, mouseY, posX + window.offsetX + 1, posY + window.offsetY + 13, posX + window.offsetX + window.width - 1, posY + window.offsetY + window.height - 1); + return isMouseInside(mouseX, mouseY, window.offsetX + 1, window.offsetY + 3, window.offsetX + window.width - 1, window.offsetY + window.height - 1); } public boolean isApplicationRunning(AppInfo info) { @@ -1074,14 +1063,14 @@ public boolean isApplicationRunning(AppInfo info) { public void nextWallpaper() { if (!currentWallpaper.isBuiltIn()) return; if (currentWallpaper.location + 1 < WALLPAPERS.size()) { - this.currentWallpaper = new Wallpaper(currentWallpaper.location+1); + this.currentWallpaper = new Wallpaper(currentWallpaper.location + 1); } wallpaperUpdated(); } public void prevWallpaper() { if (currentWallpaper.location - 1 >= 0) { - this.currentWallpaper = new Wallpaper(currentWallpaper.location-1); + this.currentWallpaper = new Wallpaper(currentWallpaper.location - 1); } wallpaperUpdated(); } @@ -1109,7 +1098,7 @@ public Wallpaper getCurrentWallpaper() { } public List getWallapapers() { - return ImmutableList.copyOf(WALLPAPERS); + return List.copyOf(WALLPAPERS); } @Nullable @@ -1119,7 +1108,7 @@ public Application getApplication(String appId) { @Override public List getInstalledApplications() { - return ImmutableList.copyOf(installedApps); + return List.copyOf(installedApps); } public boolean isApplicationInstalled(AppInfo info) { @@ -1131,8 +1120,8 @@ public boolean isApplicationNotInstalled(AppInfo info) { } private boolean isValidApplication(AppInfo info) { - if (Devices.hasAllowedApplications()) { - return Devices.getAllowedApplications().contains(info); + if (UltreonDevicesMod.hasAllowedApplications()) { + return UltreonDevicesMod.getAllowedApplications().contains(info); } return true; } @@ -1183,6 +1172,7 @@ public TaskBar getTaskBar() { return bar; } + @Override public Settings getSettings() { return settings; } @@ -1192,19 +1182,16 @@ public boolean isPauseScreen() { return false; } - @Override public void openContext(Layout layout, int x, int y) { layout.updateComponents(x, y); context = layout; layout.init(); } - @Override public boolean hasContext() { return context != null; } - @Override public void closeContext() { context = null; dragging = false; @@ -1226,7 +1213,7 @@ private Wallpaper(CompoundTag tag) { var url = tag.getString("url"); var location = tag.getInt("location"); if (tag.contains("url", 8)) { - if (!OnlineRequest.isSafeAddress(url)) { + if (OnlineRequest.isUnsafeAddress(url)) { // Reset to default wallpaper. this.url = null; this.location = 0; @@ -1239,6 +1226,7 @@ private Wallpaper(CompoundTag tag) { this.location = location; } } + private Wallpaper(String url) { this.url = url; this.location = -87; diff --git a/common/src/main/java/com/ultreon/devices/mineos/client/MineOSKernel.java b/common/src/main/java/com/ultreon/devices/mineos/client/MineOSKernel.java new file mode 100644 index 000000000..71494e86b --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/client/MineOSKernel.java @@ -0,0 +1,23 @@ +package com.ultreon.devices.mineos.client; + +import com.ultreon.devices.api.bios.Bios; +import com.ultreon.devices.mineos.DriverManager; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.sounds.SimpleSoundInstance; +import net.minecraft.sounds.SoundEvent; + +public class MineOSKernel { + private static final DriverManager driverManager = new DriverManager(); + + public void boot(MineOS mineOS, Bios bios) { + this.loadDrivers(mineOS, bios); + } + + private void loadDrivers(MineOS mineOS, Bios bios) { + + } + + public void playSound(SoundEvent sound) { + Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(sound, 1f, 1f)); + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/Settings.java b/common/src/main/java/com/ultreon/devices/mineos/client/Settings.java similarity index 91% rename from common/src/main/java/com/ultreon/devices/core/Settings.java rename to common/src/main/java/com/ultreon/devices/mineos/client/Settings.java index 7dbdae741..5b1dfd4f7 100644 --- a/common/src/main/java/com/ultreon/devices/core/Settings.java +++ b/common/src/main/java/com/ultreon/devices/mineos/client/Settings.java @@ -1,12 +1,10 @@ -package com.ultreon.devices.core; +package com.ultreon.devices.mineos.client; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.system.object.ColorScheme; import com.ultreon.devices.programs.system.object.Preset; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.resources.ResourceLocation; -import org.intellij.lang.annotations.Identifier; /** * @author MrCrayfish @@ -53,7 +51,7 @@ public CompoundTag toTag() { private CompoundTag appTintInfo() { var ct = new CompoundTag(); - for (AppInfo installedApplication : Laptop.getSystem().getInstalledApplications()) { + for (AppInfo installedApplication : MineOS.getOpened().getInstalledApplications()) { ct.put(installedApplication.getId().toString(), installedApplication.getTintProvider().toTag()); } return ct; diff --git a/common/src/main/java/com/ultreon/devices/mineos/client/TaskBar.java b/common/src/main/java/com/ultreon/devices/mineos/client/TaskBar.java new file mode 100644 index 000000000..759cc461f --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/mineos/client/TaskBar.java @@ -0,0 +1,213 @@ +package com.ultreon.devices.mineos.client; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.api.TrayItemAdder; +import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.api.event.LaptopEvent; +import com.ultreon.devices.api.utils.RenderUtil; +import com.ultreon.devices.core.network.TrayItemWifi; +import com.ultreon.devices.api.util.Color; +import com.ultreon.devices.api.util.Vulnerability; +import com.ultreon.devices.object.AppInfo; +import com.ultreon.devices.object.TrayItem; +import com.ultreon.devices.programs.system.AppStore; +import com.ultreon.devices.programs.system.FileBrowserApp; +import com.ultreon.devices.programs.system.SettingsApp; +import com.ultreon.devices.programs.system.SystemApp; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Predicate; + +public class TaskBar { + public static final ResourceLocation APP_BAR_GUI = new ResourceLocation("devices:textures/gui/application_bar.png"); + public static final int BAR_HEIGHT = 18; + private static final int APPS_DISPLAYED = UltreonDevicesMod.DEVELOPER_MODE ? 18 : 10; + private static Predicate validApps; + + private final CompoundTag tag; + + private final MineOS mineOS; + + private final int offset = 0; + + private final List trayItems = new ArrayList<>(); + + /** + * @deprecated use {@link #TaskBar(MineOS, CompoundTag)} instead. + */ + @Deprecated + public TaskBar(MineOS mineOS) { + this(mineOS, new CompoundTag()); + } + + public TaskBar(MineOS mineOS, CompoundTag tag) { + this.mineOS = mineOS; + this.tag = tag; + + var trayItemsTag = tag.getCompound("TrayItems"); + + addTrayItem(new Vulnerability.VulnerabilityTrayItem(), trayItemsTag); + addTrayItem(new FileBrowserApp.FileBrowserTrayItem(), trayItemsTag); + addTrayItem(new SettingsApp.SettingsTrayItem(), trayItemsTag); + addTrayItem(new AppStore.StoreTrayItem(), trayItemsTag); + addTrayItem(new TrayItemWifi(), trayItemsTag); + + TrayItemAdder trayItemAdder = new TrayItemAdder(this.trayItems); + LaptopEvent.SETUP_TRAY_ITEMS.invoker().setupTrayItems(mineOS, trayItemAdder); + } + + public void addTrayItem(TrayItem trayItem, CompoundTag tag) { + this.trayItems.add(trayItem); + String strId = trayItem.getId().toString(); + if (tag.contains(strId)) { + CompoundTag trayTag = tag.getCompound(strId); + trayItem.deserialize(trayTag); + } + } + + public void init() { + this.trayItems.forEach(TrayItem::init); + } + + public void setupApplications() { + validApps = app -> { + if (app instanceof SystemApp) { + return true; + } + if (UltreonDevicesMod.hasAllowedApplications()) { + if (UltreonDevicesMod.getAllowedApplications().contains(app.getInfo())) { + return !UltreonDevicesMod.DEVELOPER_MODE || Settings.isShowAllApps(); + } + return false; + } else if (UltreonDevicesMod.DEVELOPER_MODE) { + return Settings.isShowAllApps(); + } + return true; + }; + } + + public void init(int posX, int posY) { + init(); + } + + public void onTick() { + trayItems.forEach(TrayItem::tick); + } + + public void render(GuiGraphics display, MineOS mineOS, Minecraft minecraft, int x, int y, int mouseX, int mouseY, float partialTicks) { + RenderSystem.setShaderColor(1f, 1f, 1f, 0.75f); + RenderSystem.enableBlend(); + RenderSystem.setShaderTexture(0, APP_BAR_GUI); + + // r=217,g=230,b=255 + Color bgColor = new Color(mineOS.getSettings().getColorScheme().getBackgroundColor());//.brighter().brighter(); + float[] hsb = Color.RGBtoHSB(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), null); + bgColor = new Color(Color.HSBtoRGB(hsb[0], hsb[1], hsb[2])); + RenderSystem.setShaderColor(bgColor.getRed() / 255f, bgColor.getGreen() / 255f, bgColor.getBlue() / 255f, 1f); + + int trayItemsWidth = trayItems.size() * 14; + display.blit(APP_BAR_GUI, x, y, 1, 18, 0, 0, 1, 18, 256, 256); + display.blit(APP_BAR_GUI, x + 1, y, mineOS.getScreenWidth() - 36 - trayItemsWidth, 18, 1, 0, 1, 18, 256, 256); + display.blit(APP_BAR_GUI, x + mineOS.getScreenWidth() - 35 - trayItemsWidth, y, 35 + trayItemsWidth, 18, 2, 0, 1, 18, 256, 256); + + RenderSystem.disableBlend(); + + RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + for (int i = 0; i < APPS_DISPLAYED && i < mineOS.installedApps.size(); i++) { + AppInfo info = mineOS.installedApps.get(i + offset); + RenderUtil.drawApplicationIcon(display, info, x + 2 + i * 16, y + 2); + if (mineOS.isApplicationRunning(info)) { + RenderSystem.setShaderTexture(0, APP_BAR_GUI); + display.blit(APP_BAR_GUI, x + 1 + i * 16, y + 1, 35, 0, 16, 16); + } + } + + assert minecraft.level == null || minecraft.player != null; + // assert minecraft.level != null; //can no longer assume + display.drawString(MineOS.getFont(), timeToString(minecraft.level != null ? minecraft.level.getDayTime() : 0), x + mineOS.getScreenWidth() - 31, y + 5, Color.WHITE.getRGB(), true); + + /* Settings App */ + int startX = x + mineOS.getScreenWidth() - 48; + for (int i = 0; i < trayItems.size(); i++) { + int posX = startX - (trayItems.size() - 1 - i) * 14; + if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { + display.fill(posX, y + 2, posX + 14, y + 16, new Color(1f, 1f, 1f, 0.1f).getRGB()); + } + trayItems.get(i).getIcon().draw(display, minecraft, posX + 2, y + 4); + } + + RenderSystem.setShaderTexture(0, APP_BAR_GUI); + + /* Other Apps */ + if (isMouseInside(mouseX, mouseY, x + 1, y + 1, x + 236, y + 16)) { + int appIndex = (mouseX - x - 1) / 16; + if (appIndex >= 0 && appIndex < offset + APPS_DISPLAYED && appIndex < mineOS.installedApps.size()) { + display.blit(APP_BAR_GUI, x + appIndex * 16 + 1, y + 1, 35, 0, 16, 16); + display.renderComponentTooltip(MineOS.getFont(), List.of(Component.literal(mineOS.installedApps.get(appIndex).getName())), mouseX, mouseY); + } + } + + RenderSystem.setShaderColor(1f, 1f, 1f, 1f); + } + + public void handleClick(MineOS mineOS, int x, int y, int mouseX, int mouseY, int mouseButton) { + if (isMouseInside(mouseX, mouseY, x + 1, y + 1, x + 236, y + 16)) { + UltreonDevicesMod.LOGGER.debug("Clicked on task bar"); + int appIndex = (mouseX - x - 1) / 16; + if (appIndex >= 0 && appIndex <= offset + APPS_DISPLAYED && appIndex < mineOS.installedApps.size()) { + mineOS.openApplication(mineOS.installedApps.get(appIndex)); + return; + } + } + + int startX = x + mineOS.getScreenWidth() - 48; + for (int i = 0; i < trayItems.size(); i++) { + int posX = startX - (trayItems.size() - 1 - i) * 14; + if (isMouseInside(mouseX, mouseY, posX, y + 2, posX + 13, y + 15)) { + TrayItem trayItem = trayItems.get(i); + trayItem.handleClick(mouseX, mouseY, mouseButton); + UltreonDevicesMod.LOGGER.debug("Clicked on tray item (%d): %s".formatted(i, trayItem.getClass().getSimpleName())); + break; + } + } + } + + public boolean isMouseInside(int mouseX, int mouseY, int x1, int y1, int x2, int y2) { + return mouseX >= x1 && mouseX <= x2 && mouseY >= y1 && mouseY <= y2; + } + + public String timeToString(long time) { + int hours = (int) ((Math.floor(time / 1000d) + 6) % 24); + int minutes = (int) Math.floor((time % 1000) / 1000d * 60); + return String.format("%02d:%02d", hours, minutes); + } + + public MineOS getLaptop() { + return mineOS; + } + + public CompoundTag getTag() { + return tag; + } + + public CompoundTag serialize() { + var tag = new CompoundTag(); + CompoundTag trayItemsTag = new CompoundTag(); + for (TrayItem trayItem : trayItems) { + trayItemsTag.put(trayItem.getId().toString(), trayItem.serialize()); + } + tag.put("TrayItems", trayItemsTag); + + return tag; + } + + public int getHeight() { + return 16; + } +} diff --git a/common/src/main/java/com/ultreon/devices/core/Window.java b/common/src/main/java/com/ultreon/devices/mineos/client/Window.java similarity index 79% rename from common/src/main/java/com/ultreon/devices/core/Window.java rename to common/src/main/java/com/ultreon/devices/mineos/client/Window.java index 6356820a2..46a6f4a66 100644 --- a/common/src/main/java/com/ultreon/devices/core/Window.java +++ b/common/src/main/java/com/ultreon/devices/mineos/client/Window.java @@ -1,24 +1,24 @@ -package com.ultreon.devices.core; +package com.ultreon.devices.mineos.client; import com.mojang.blaze3d.systems.RenderSystem; -import com.ultreon.devices.api.app.Application; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Dialog; +import com.ultreon.devices.core.Wrappable; import com.ultreon.devices.gui.GuiButtonClose; +import com.ultreon.devices.api.app.Application; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; - +import com.ultreon.devices.api.util.Color; import org.jetbrains.annotations.Nullable; -import java.awt.*; public class Window { public static final ResourceLocation WINDOW_GUI = new ResourceLocation("devices:textures/gui/application.png"); public static final int COLOR_WINDOW_DARK = new Color(0f, 0f, 0f, 0.25f).getRGB(); - final Laptop laptop; - double dragFromX; - double dragFromY; + final MineOS mineOS; protected GuiButtonClose btnClose; T content; int width, height; @@ -26,17 +26,18 @@ public class Window { Window dialogWindow = null; Window parent = null; protected boolean removed; + private Font font = Minecraft.getInstance().font; - public Window(T wrappable, Laptop laptop) { + public Window(T wrappable, MineOS mineOS) { this.content = wrappable; - this.laptop = laptop; + this.mineOS = mineOS; wrappable.setWindow(this); } void setWidth(int width) { this.width = width + 2; - if (this.width > Laptop.getScreenWidth()) { - this.width = Laptop.getScreenWidth(); + if (this.width > mineOS.getScreenWidth()) { + this.width = mineOS.getScreenWidth(); } } @@ -52,7 +53,7 @@ void init(int x, int y, @Nullable CompoundTag intent) { btnClose = new GuiButtonClose(x + offsetX + width - 12, y + offsetY + 1); content.init(intent); } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Failed to initialize window", e); Window.this.close(); Dialog.Message message = new Dialog.Message("Error initializing window:\n" + e.getMessage()) { @@ -74,19 +75,19 @@ public void onTick() { content.onTick(); } - public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { + public void render(GuiGraphics graphics, MineOS mineOS, Minecraft minecraft, int x, int y, int mouseX, int mouseY, float partialTicks, boolean active) { if (content.isPendingLayoutUpdate()) { this.setWidth(content.getWidth()); this.setHeight(content.getHeight()); - this.offsetX = (Laptop.getScreenWidth() - width) / 2; - this.offsetY = (Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height) / 2; + this.offsetX = (this.mineOS.getScreenWidth() - width) / 2; + this.offsetY = (this.mineOS.getScreenHeight() - TaskBar.BAR_HEIGHT - height) / 2; updateComponents(x, y); content.clearPendingLayout(); } graphics.pose().pushPose(); - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getWindowBackgroundColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getWindowBackgroundColor()); RenderSystem.enableBlend(); RenderSystem.setShaderTexture(0, WINDOW_GUI); RenderSystem.setShaderColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1); @@ -109,24 +110,24 @@ public void render(GuiGraphics graphics, Laptop gui, Minecraft mc, int x, int y, RenderSystem.setShaderColor(1f, 1f, 1f, 1f); String windowTitle = content.getWindowTitle(); - if (mc.font.width(windowTitle) > width - 2 - 13 - 3) { // window width, border, close button, padding, padding - windowTitle = mc.font.plainSubstrByWidth(windowTitle, width - 2 - 13 - 3); + if (MineOS.getFont().width(windowTitle) > width - 2 - 13 - 3) { // window width, border, close button, padding, padding + windowTitle = MineOS.getFont().plainSubstrByWidth(windowTitle, width - 2 - 13 - 3); } - graphics.drawString(mc.font, windowTitle, x + offsetX + 3, y + offsetY + 3, Color.WHITE.getRGB(), true); + graphics.drawString(font, windowTitle, x + offsetX + 3, y + offsetY + 3, Color.WHITE.getRGB(), true); btnClose.renderWidget(graphics, mouseX, mouseY, partialTicks); RenderSystem.disableBlend(); /* Render content */ - content.render(graphics, gui, mc, x + offsetX + 1, y + offsetY + 13, mouseX, mouseY, active && dialogWindow == null, partialTicks); + content.render(graphics, mineOS, minecraft, x + offsetX + 1, y + offsetY + 13, mouseX, mouseY, active && dialogWindow == null, partialTicks); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); graphics.pose().translate(0, 0, 200); if (dialogWindow != null) { graphics.fill(x + offsetX, y + offsetY, x + offsetX + width, y + offsetY + height, COLOR_WINDOW_DARK); - dialogWindow.render(graphics, gui, mc, x, y, mouseX, mouseY, active, partialTicks); + dialogWindow.render(graphics, mineOS, minecraft, x, y, mouseX, mouseY, partialTicks, active); } graphics.pose().popPose(); @@ -175,30 +176,30 @@ public void handleKeyReleased(int keyCode, int scanCode, int modifiers) { } public void handleWindowMove(int screenStartX, int screenStartY, int newX, int newY) { - if (newX >= 0 && newX <= Laptop.getScreenWidth() - width) { + if (newX >= 0 && newX <= mineOS.getScreenWidth() - width) { this.offsetX = newX; } else if (newX < 0) { this.offsetX = 0; } else { - this.offsetX = Laptop.getScreenWidth() - width; + this.offsetX = mineOS.getScreenWidth() - width; } - if (newY >= 0 && newY <= Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height) { + if (newY >= 0 && newY <= mineOS.getScreenHeight() - TaskBar.BAR_HEIGHT - height) { this.offsetY = newY; } else if (newY < 0) { this.offsetY = 0; } else { - this.offsetY = Laptop.getScreenHeight() - TaskBar.BAR_HEIGHT - height; + this.offsetY = mineOS.getScreenHeight() - TaskBar.BAR_HEIGHT - height; } updateComponents(screenStartX, screenStartY); } @SuppressWarnings("unused") - void handleMouseClick(Laptop gui, int x, int y, int mouseX, int mouseY, int mouseButton) { + void handleMouseClick(MineOS os, int x, int y, int mouseX, int mouseY, int mouseButton) { if (btnClose.isHovered()) { if (content instanceof Application) { - gui.closeApplication(((Application) content).getInfo()); + os.closeApplication(((Application) content).getInfo()); return; } @@ -208,7 +209,7 @@ void handleMouseClick(Laptop gui, int x, int y, int mouseX, int mouseY, int mous } if (dialogWindow != null) { - dialogWindow.handleMouseClick(gui, x, y, mouseX, mouseY, mouseButton); + dialogWindow.handleMouseClick(mineOS, x, y, mouseX, mouseY, mouseButton); return; } @@ -253,7 +254,7 @@ public void openDialog(Dialog dialog) { if (dialogWindow != null) { dialogWindow.openDialog(dialog); } else { - dialogWindow = new Window<>(dialog, null); + dialogWindow = new Window<>(dialog, mineOS); dialogWindow.init(0, 0, null); dialogWindow.setParent(this); } @@ -273,7 +274,7 @@ public Window getDialogWindow() { public final void close() { this.removed = true; if (content instanceof Application) { - laptop.closeApplication(((Application) content).getInfo()); + mineOS.closeApplication(((Application) content).getInfo()); return; } if (parent != null) { diff --git a/common/src/main/java/com/ultreon/devices/mixin/common/MinecraftMixin.java b/common/src/main/java/com/ultreon/devices/mixin/common/MinecraftMixin.java index dc2e0c6a5..f1d3266c3 100644 --- a/common/src/main/java/com/ultreon/devices/mixin/common/MinecraftMixin.java +++ b/common/src/main/java/com/ultreon/devices/mixin/common/MinecraftMixin.java @@ -1,9 +1,5 @@ package com.ultreon.devices.mixin.common; -import com.ultreon.devices.ClientModEvents; -import com.ultreon.devices.Devices; -import com.ultreon.devices.api.ApplicationManager; -import com.ultreon.devices.object.AppInfo; import net.minecraft.client.Minecraft; import net.minecraft.client.main.GameConfig; import org.slf4j.Logger; diff --git a/common/src/main/java/com/ultreon/devices/network/PacketHandler.java b/common/src/main/java/com/ultreon/devices/network/PacketHandler.java index a9096fffb..51d2d63af 100644 --- a/common/src/main/java/com/ultreon/devices/network/PacketHandler.java +++ b/common/src/main/java/com/ultreon/devices/network/PacketHandler.java @@ -1,6 +1,6 @@ package com.ultreon.devices.network; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.core.laptop.common.C2SUpdatePacket; import com.ultreon.devices.core.laptop.common.S2CUpdatePacket; import com.ultreon.devices.network.task.*; @@ -16,7 +16,7 @@ import net.minecraft.world.level.Level; public class PacketHandler { - public static final NetworkChannel INSTANCE = NetworkChannel.create(Devices.id("main_channel")); + public static final NetworkChannel INSTANCE = NetworkChannel.create(UltreonDevicesMod.id("main_channel")); private static int id = 0; public static void init() { diff --git a/common/src/main/java/com/ultreon/devices/network/task/NotificationPacket.java b/common/src/main/java/com/ultreon/devices/network/task/NotificationPacket.java index ac10bcd66..f2cc82662 100644 --- a/common/src/main/java/com/ultreon/devices/network/task/NotificationPacket.java +++ b/common/src/main/java/com/ultreon/devices/network/task/NotificationPacket.java @@ -1,6 +1,6 @@ package com.ultreon.devices.network.task; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Notification; import com.ultreon.devices.network.Packet; import dev.architectury.networking.NetworkManager; @@ -30,7 +30,7 @@ public void toBytes(FriendlyByteBuf buf) { @Override public boolean onMessage(Supplier ctx) { - Devices.showNotification(notificationTag); + UltreonDevicesMod.showNotification(notificationTag); return true; } } diff --git a/common/src/main/java/com/ultreon/devices/network/task/SyncApplicationPacket.java b/common/src/main/java/com/ultreon/devices/network/task/SyncApplicationPacket.java index dc01232c9..415408e83 100644 --- a/common/src/main/java/com/ultreon/devices/network/task/SyncApplicationPacket.java +++ b/common/src/main/java/com/ultreon/devices/network/task/SyncApplicationPacket.java @@ -1,7 +1,7 @@ package com.ultreon.devices.network.task; import com.google.common.collect.ImmutableList; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.network.Packet; import com.ultreon.devices.object.AppInfo; @@ -27,7 +27,7 @@ public SyncApplicationPacket(FriendlyByteBuf buf) { if (info != null) { builder.add(info); } else { - Devices.LOGGER.error("Missing application '" + appId + "'"); + UltreonDevicesMod.LOGGER.error("Missing application '" + appId + "'"); } } @@ -48,7 +48,7 @@ public void toBytes(FriendlyByteBuf buf) { @Override public boolean onMessage(Supplier ctx) { - Devices.setAllowedApps(allowedApps); + UltreonDevicesMod.setAllowedApps(allowedApps); return true; } } diff --git a/common/src/main/java/com/ultreon/devices/object/AppInfo.java b/common/src/main/java/com/ultreon/devices/object/AppInfo.java index a9b085d80..e0bd4b517 100644 --- a/common/src/main/java/com/ultreon/devices/object/AppInfo.java +++ b/common/src/main/java/com/ultreon/devices/object/AppInfo.java @@ -2,22 +2,19 @@ import com.google.gson.*; import com.google.gson.reflect.TypeToken; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.Reference; -import com.ultreon.devices.core.Laptop; -import dev.architectury.injectables.annotations.PlatformOnly; +import com.ultreon.devices.client.Display; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.language.I18n; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; -import net.minecraft.world.item.Item; import org.jetbrains.annotations.ApiStatus; import java.awt.*; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Type; import java.util.ArrayList; @@ -39,8 +36,8 @@ public class AppInfo { @Override public int getTintColor(AppInfo info, int o) { return switch (o) { - case 1 -> Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor(); - case 2 -> Laptop.getSystem().getSettings().getColorScheme().getBackgroundSecondaryColor(); + case 1 -> ((MineOS) Display.get().getOS()).getSettings().getColorScheme().getBackgroundColor(); + case 2 -> ((MineOS) Display.get().getOS()).getSettings().getColorScheme().getBackgroundSecondaryColor(); default -> new Color(255, 255, 255).getRGB(); }; } @@ -300,7 +297,7 @@ public AppInfo deserialize(JsonElement json, Type typeOfT, JsonDeserializationCo default -> throw new RuntimeException("Schema " + getSchemaVersion(json) + " is not implemented in " + Reference.VERSION + "!"); } } catch (JsonParseException e) { - Devices.LOGGER.error("Malformed app info json for '" + info.getFormattedId() + "'"); + UltreonDevicesMod.LOGGER.error("Malformed app info json for '" + info.getFormattedId() + "'"); } return info; @@ -327,7 +324,7 @@ private void deserializeSchemaVersion0(JsonElement json, JsonDeserializationCont info.icon.overlay1.type = 2; } - if (json.getAsJsonObject().has("support") && json.getAsJsonObject().get("support").getAsJsonObject().size() > 0) { + if (json.getAsJsonObject().has("support") && !json.getAsJsonObject().get("support").getAsJsonObject().isEmpty()) { JsonObject supportObj = json.getAsJsonObject().get("support").getAsJsonObject(); Support support = new Support(); @@ -359,10 +356,10 @@ private void deserializeSchemaVersion1(JsonElement json, JsonDeserializationCont } if (json.getAsJsonObject().has("icon") && json.getAsJsonObject().get("icon").isJsonPrimitive()) { - Devices.LOGGER.warn("{} uses removed \"icon\"! Please advise {} to fix the icon!", info.name, info.authors[0]); + UltreonDevicesMod.LOGGER.warn("{} uses removed \"icon\"! Please advise {} to fix the icon!", info.name, info.authors[0]); } - if (json.getAsJsonObject().has("support") && json.getAsJsonObject().get("support").getAsJsonObject().size() > 0) { + if (json.getAsJsonObject().has("support") && !json.getAsJsonObject().get("support").getAsJsonObject().isEmpty()) { JsonObject supportObj = json.getAsJsonObject().get("support").getAsJsonObject(); Support support = new Support(); @@ -407,7 +404,7 @@ private void deserializeSchemaVersion2(JsonElement json, JsonDeserializationCont if (json.getAsJsonObject().has("author") && json.getAsJsonObject().get("author").isJsonPrimitive()) { if (info.authors == null) { info.authors = new String[]{convertToLocal(json.getAsJsonObject().get("author").getAsString())}; - Devices.LOGGER.warn("{} uses deprecated \"author\"!, Please advise {} to replace \"author\": \"{}\" with the \"authors\": [] format", info.name, info.authors[0], info.authors[0]); + UltreonDevicesMod.LOGGER.warn("{} uses deprecated \"author\"!, Please advise {} to replace \"author\": \"{}\" with the \"authors\": [] format", info.name, info.authors[0], info.authors[0]); } } @@ -419,14 +416,14 @@ private void deserializeSchemaVersion2(JsonElement json, JsonDeserializationCont } if (json.getAsJsonObject().has("icon") && json.getAsJsonObject().get("icon").isJsonPrimitive()) { - Devices.LOGGER.warn("{} uses removed \"icon\"! Please advise {} to fix the icon!", info.name, info.authors[0]); + UltreonDevicesMod.LOGGER.warn("{} uses removed \"icon\"! Please advise {} to fix the icon!", info.name, info.authors[0]); } if (d) info.authors = new String[0]; var l = new ArrayList(List.of(info.authors));l.addAll(contributors); info.contributors = l.toArray(new String[0]); - if (json.getAsJsonObject().has("support") && json.getAsJsonObject().get("support").getAsJsonObject().size() > 0) { + if (json.getAsJsonObject().has("support") && !json.getAsJsonObject().get("support").getAsJsonObject().isEmpty()) { JsonObject supportObj = json.getAsJsonObject().get("support").getAsJsonObject(); Support support = new Support(); @@ -476,7 +473,7 @@ private void deserializeSchemaVersion3(JsonElement json, JsonDeserializationCont var l = new ArrayList(List.of(info.authors));l.addAll(contributors); info.contributors = l.toArray(new String[0]); - if (json.getAsJsonObject().has("support") && json.getAsJsonObject().get("support").getAsJsonObject().size() > 0) { + if (json.getAsJsonObject().has("support") && !json.getAsJsonObject().get("support").getAsJsonObject().isEmpty()) { JsonObject supportObj = json.getAsJsonObject().get("support").getAsJsonObject(); Support support = new Support(); diff --git a/common/src/main/java/com/ultreon/devices/object/Canvas.java b/common/src/main/java/com/ultreon/devices/object/Canvas.java index 4fd529963..f7474b21e 100644 --- a/common/src/main/java/com/ultreon/devices/object/Canvas.java +++ b/common/src/main/java/com/ultreon/devices/object/Canvas.java @@ -1,9 +1,8 @@ package com.ultreon.devices.object; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.tools.ToolBucket; import com.ultreon.devices.object.tools.ToolEraser; import com.ultreon.devices.object.tools.ToolEyeDropper; @@ -51,7 +50,7 @@ public void init(Layout layout) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { graphics.fill(xPosition, yPosition, xPosition + picture.getWidth() * picture.getPixelWidth() + 2, yPosition + picture.getHeight() * picture.getPixelHeight() + 2, Color.DARK_GRAY.getRGB()); graphics.fill(xPosition + 1, yPosition + 1, xPosition + picture.getWidth() * picture.getPixelWidth() + 1, yPosition + picture.getHeight() * picture.getPixelHeight() + 1, Color.WHITE.getRGB()); for (int i = 0; i < picture.getHeight(); i++) { diff --git a/common/src/main/java/com/ultreon/devices/object/ColorGrid.java b/common/src/main/java/com/ultreon/devices/object/ColorGrid.java index ea22a44b5..d16a8b068 100644 --- a/common/src/main/java/com/ultreon/devices/object/ColorGrid.java +++ b/common/src/main/java/com/ultreon/devices/object/ColorGrid.java @@ -1,9 +1,8 @@ package com.ultreon.devices.object; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.component.Slider; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -32,7 +31,7 @@ public ColorGrid(int left, int top, int width, Canvas canvas, Slider redSlider, } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { int endX = xPosition + width + 2; int endY = yPosition + (colors.length / 5) * 10 + 2; graphics.fill(xPosition, yPosition, endX, endY, Color.DARK_GRAY.getRGB()); diff --git a/common/src/main/java/com/ultreon/devices/object/Game.java b/common/src/main/java/com/ultreon/devices/object/Game.java index 350237bd1..2a4cbd881 100644 --- a/common/src/main/java/com/ultreon/devices/object/Game.java +++ b/common/src/main/java/com/ultreon/devices/object/Game.java @@ -2,9 +2,9 @@ import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.client.Display; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.exception.WorldLessException; import com.ultreon.devices.object.tiles.Tile; import com.ultreon.devices.util.GuiHelper; @@ -36,7 +36,7 @@ public class Game extends Component { public Game(int left, int top, int mapWidth, int mapHeight) throws Exception { super(left, top); - if (Laptop.isWorldLess()) throw new WorldLessException("The game can only exist if the universe exists."); + if (Display.get().getOS().isWorldLess()) throw new WorldLessException("The game can only exist if the universe exists."); if (mapWidth % Tile.WIDTH != 0 || mapHeight % Tile.HEIGHT != 0) throw new Exception("Width and height need to be a multiple of " + Tile.WIDTH); @@ -116,7 +116,7 @@ public void handleMouseDrag(int mouseX, int mouseY, int mouseButton) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { //long start = System.currentTimeMillis(); if (editorMode) { diff --git a/common/src/main/java/com/ultreon/devices/object/Player.java b/common/src/main/java/com/ultreon/devices/object/Player.java index 940f6bf5f..421916638 100644 --- a/common/src/main/java/com/ultreon/devices/object/Player.java +++ b/common/src/main/java/com/ultreon/devices/object/Player.java @@ -2,9 +2,8 @@ import com.mojang.blaze3d.platform.InputConstants; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.tiles.Tile; import com.ultreon.devices.util.KeyboardHelper; import com.ultreon.devices.util.Vec2d; @@ -51,7 +50,7 @@ public Player(Game game) { this.boatModel = new BoatRenderer(createEntityRendererContext(), false); assert Minecraft.getInstance().player != null; boolean slim = Minecraft.getInstance().player.getSkin().model() == PlayerSkin.Model.SLIM; - if (!Laptop.isWorldLess()) { + if (!MineOS.getOpened().isWorldLess()) { boat = new Boat(Objects.requireNonNull(Minecraft.getInstance().level), 0, 0, 0); } // this.playerModel = new ModelDummyPlayer(0f, slim); diff --git a/common/src/main/java/com/ultreon/devices/object/TileGrid.java b/common/src/main/java/com/ultreon/devices/object/TileGrid.java index 62cf0d33b..be1073c7b 100644 --- a/common/src/main/java/com/ultreon/devices/object/TileGrid.java +++ b/common/src/main/java/com/ultreon/devices/object/TileGrid.java @@ -1,7 +1,6 @@ package com.ultreon.devices.object; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Icons; @@ -10,7 +9,7 @@ import com.ultreon.devices.api.app.component.Label; import com.ultreon.devices.api.app.listener.ClickListener; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.tiles.Tile; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; @@ -80,7 +79,7 @@ public void onClick(int mouseX, int mouseY, int mouseButton) } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { try { Tesselator.getInstance().getBuilder().end(); diff --git a/common/src/main/java/com/ultreon/devices/programs/BoatRacersApp.java b/common/src/main/java/com/ultreon/devices/programs/BoatRacersApp.java index aa6dbc577..a9bd6d724 100644 --- a/common/src/main/java/com/ultreon/devices/programs/BoatRacersApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/BoatRacersApp.java @@ -8,7 +8,7 @@ import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.CheckBox; import com.ultreon.devices.api.app.component.Label; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.exception.WorldLessException; import com.ultreon.devices.object.Game; import com.ultreon.devices.object.TileGrid; @@ -101,7 +101,7 @@ public void onClose() { @Override public void onTick() { - if (Laptop.isWorldLess()) { + if (MineOS.getOpened().isWorldLess()) { return; } super.onTick(); diff --git a/common/src/main/java/com/ultreon/devices/programs/IconsApp.java b/common/src/main/java/com/ultreon/devices/programs/IconsApp.java index 9de1c46ae..8c377ed35 100644 --- a/common/src/main/java/com/ultreon/devices/programs/IconsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/IconsApp.java @@ -59,7 +59,7 @@ public void init(@Nullable CompoundTag intent) { btnNextPage.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { - if (offset < (iconSetComboBox.getSelectedItem().getIcons().length / 126)) offset++; + if (offset < (iconSetComboBox.getSelectedItem().icons().length / 126)) offset++; updateIcons(); } }); @@ -72,8 +72,8 @@ public void init(@Nullable CompoundTag intent) { private void updateIcons() { layoutContainer.clear(); IconSet set = iconSetComboBox.getSelectedItem(); - for (int i = 0; i < 126 && i < set.getIcons().length - (offset * 126); i++) { - Enum anEnum = set.getIcons()[i + (offset * 126)]; + for (int i = 0; i < 126 && i < set.icons().length - (offset * 126); i++) { + Enum anEnum = set.icons()[i + (offset * 126)]; IIcon icon = (IIcon) anEnum; int posX = (i % 18) * 18 - 1; int posY = (i / 18) * 18 + 20; @@ -103,26 +103,11 @@ public void save(CompoundTag tag) { } - public static class IconSet { - private final String name; - private final Enum[] icons; - - public IconSet(String name, Enum[] icons) { - this.name = name; - this.icons = icons; - } - - public String getName() { - return name; - } - - public Enum[] getIcons() { - return icons; - } + public record IconSet(String name, Enum[] icons) { @Override - public String toString() { - return name; + public String toString() { + return name; + } } - } } diff --git a/common/src/main/java/com/ultreon/devices/programs/NoteStashApp.java b/common/src/main/java/com/ultreon/devices/programs/NoteStashApp.java index 9b20a78e0..7cb9542d8 100644 --- a/common/src/main/java/com/ultreon/devices/programs/NoteStashApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/NoteStashApp.java @@ -1,6 +1,6 @@ package com.ultreon.devices.programs; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.app.Dialog; import com.ultreon.devices.api.app.Layout; @@ -55,13 +55,13 @@ public void init(@Nullable CompoundTag intent) { layoutMain = new Layout(180, 80); layoutMain.setInitListener(() -> { notes.getItems().clear(); - Devices.LOGGER.debug(MARKER, "Loading notes..."); + UltreonDevicesMod.LOGGER.debug(MARKER, "Loading notes..."); FileSystem.getApplicationFolder(this, (folder, success) -> { if (success) { assert folder != null; folder.search(file -> file.isForApplication(this)).forEach(file -> notes.addItem(Note.fromFile(file))); } else { - Devices.LOGGER.error(MARKER, "Failed to get application folder"); + UltreonDevicesMod.LOGGER.error(MARKER, "Failed to get application folder"); //TODO error dialog } }); @@ -145,7 +145,7 @@ public void init(@Nullable CompoundTag intent) { assert folder != null; folder.search(file -> file.isForApplication(this)).forEach(file -> notes.addItem(Note.fromFile(file))); } else { - Devices.LOGGER.error(MARKER, "Failed to get application folder"); + UltreonDevicesMod.LOGGER.error(MARKER, "Failed to get application folder"); //TODO error dialog } }); diff --git a/common/src/main/java/com/ultreon/devices/programs/PixelPainterApp.java b/common/src/main/java/com/ultreon/devices/programs/PixelPainterApp.java index 502268c39..5d70c8b17 100644 --- a/common/src/main/java/com/ultreon/devices/programs/PixelPainterApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/PixelPainterApp.java @@ -16,7 +16,7 @@ import com.ultreon.devices.api.io.File; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.object.Canvas; @@ -24,7 +24,6 @@ import com.ultreon.devices.object.Picture; import com.ultreon.devices.programs.system.layout.StandardLayout; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -33,7 +32,6 @@ import org.jetbrains.annotations.Nullable; import java.awt.*; -import java.lang.System; import java.util.Objects; @SuppressWarnings({"unused", "FieldCanBeLocal"}) @@ -383,7 +381,7 @@ public void render(GuiGraphics graphics, Picture picture, Minecraft mc, int x, i colorDisplay = new Component(158, 5) { @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { graphics.fill(xPosition, yPosition, xPosition + 50, yPosition + 20, Color.DARK_GRAY.getRGB()); graphics.fill(xPosition + 1, yPosition + 1, xPosition + 49, yPosition + 19, canvas.getCurrentColor()); } diff --git a/common/src/main/java/com/ultreon/devices/programs/debug/TextAreaApp.java b/common/src/main/java/com/ultreon/devices/programs/debug/TextAreaApp.java index a332d9fdb..2ffe8023a 100644 --- a/common/src/main/java/com/ultreon/devices/programs/debug/TextAreaApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/debug/TextAreaApp.java @@ -57,7 +57,7 @@ public void init(@Nullable CompoundTag intent) { buttonDebug.setToolTip("Debug Mode", "Show invisible characters"); buttonDebug.setClickListener((mouseX, mouseY, mouseButton) -> { // if (mouseButton == 0) { -// Laptop.font.setDebug(!buttonDebug.isSelected()); +// MineOS.font.setDebug(!buttonDebug.isSelected()); // } }); layout.addComponent(buttonDebug); diff --git a/common/src/main/java/com/ultreon/devices/programs/email/EmailApp.java b/common/src/main/java/com/ultreon/devices/programs/email/EmailApp.java index df7dd5b07..d3d5b4a43 100644 --- a/common/src/main/java/com/ultreon/devices/programs/email/EmailApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/email/EmailApp.java @@ -1,7 +1,6 @@ package com.ultreon.devices.programs.email; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.Resources; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Component; @@ -17,14 +16,13 @@ import com.ultreon.devices.api.io.File; import com.ultreon.devices.api.task.TaskManager; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.email.object.Contact; import com.ultreon.devices.programs.email.object.Email; import com.ultreon.devices.programs.email.task.*; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -144,7 +142,7 @@ public void init(@Nullable CompoundTag intent) { layoutMainMenu.addComponent(image); logo = new Image.AppImage(86, 20, 28, 28, info); - //logo = new Image(86, 20, 28, 28, info.getIconU(), info.getIconV(), 14, 14, 224, 224, Laptop.ICON_TEXTURES); + //logo = new Image(86, 20, 28, 28, info.getIconU(), info.getIconV(), 14, 14, 224, 224, MineOS.ICON_TEXTURES); layoutMainMenu.addComponent(logo); labelLogo = new Label("Ender Mail", 100, 46); @@ -214,7 +212,7 @@ public void init(@Nullable CompoundTag intent) { RenderSystem.setShaderTexture(0, ENDER_MAIL_BACKGROUND); RenderUtil.drawRectWithTexture(ENDER_MAIL_BACKGROUND, graphics, x, y, 0, 0, width, height, 640, 360, 640, 360); - Color temp = new Color(Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor()); + Color temp = new Color(MineOS.getOpened().getSettings().getColorScheme().getBackgroundColor()); Color color = new Color(temp.getRed(), temp.getGreen(), temp.getBlue(), 150); graphics.fill(x, y, x + 125, y + height, color.getRGB()); graphics.fill(x + 125, y, x + 126, y + height, color.darker().getRGB()); @@ -226,7 +224,7 @@ public void init(@Nullable CompoundTag intent) { graphics.fill(x + 130, y + 35, x + width - 5, y + height - 5, new Color(1f, 1f, 1f, 0.25f).getRGB()); RenderUtil.drawStringClipped(graphics, e.getSubject(), x + 135, y + 10, 120, Color.WHITE.getRGB(), true); RenderUtil.drawStringClipped(graphics, e.getAuthor() + "@endermail.official", x + 135, y + 22, 120, Color.LIGHT_GRAY.getRGB(), false); - graphics.drawWordWrap(Laptop.getFont(), FormattedText.of(e.getMessage()), x + 135, y + 40, 115, Color.WHITE.getRGB()); + graphics.drawWordWrap(MineOS.getFont(), FormattedText.of(e.getMessage()), x + 135, y + 40, 115, Color.WHITE.getRGB()); } }); diff --git a/common/src/main/java/com/ultreon/devices/programs/email/EmailManager.java b/common/src/main/java/com/ultreon/devices/programs/email/EmailManager.java index a16a06ac3..81b6ca5c5 100644 --- a/common/src/main/java/com/ultreon/devices/programs/email/EmailManager.java +++ b/common/src/main/java/com/ultreon/devices/programs/email/EmailManager.java @@ -1,7 +1,7 @@ package com.ultreon.devices.programs.email; import com.google.common.collect.HashBiMap; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.WorldSavedData; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Notification; @@ -71,6 +71,7 @@ public String getName(Player player) { return uuidToName.get(player.getUUID()); } + @Override public void load(CompoundTag nbt) { nameToInbox.clear(); @@ -100,6 +101,7 @@ public void load(CompoundTag nbt) { } } + @Override public void save(CompoundTag nbt) { ListTag inboxes = new ListTag(); for (String key : nameToInbox.keySet()) { @@ -135,7 +137,7 @@ public void clear() { } private void sendNotification(String name, Email email) { - MinecraftServer server = Devices.getServer(); + MinecraftServer server = UltreonDevicesMod.getServer(); UUID id = uuidToName.inverse().get(name); if (id != null) { ServerPlayer player = server.getPlayerList().getPlayer(id); diff --git a/common/src/main/java/com/ultreon/devices/programs/email/object/Contact.java b/common/src/main/java/com/ultreon/devices/programs/email/object/Contact.java index 15eea7b64..991814ad0 100644 --- a/common/src/main/java/com/ultreon/devices/programs/email/object/Contact.java +++ b/common/src/main/java/com/ultreon/devices/programs/email/object/Contact.java @@ -5,22 +5,7 @@ /** * @author MrCrayfish */ -public class Contact { - private final String nickname; - private final String email; - - public Contact(String nickname, String email) { - this.nickname = nickname; - this.email = email; - } - - public String getNickname() { - return nickname; - } - - public String getEmail() { - return email; - } +public record Contact(String nickname, String email) { @Override public String toString() { diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/GitWebApp.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/GitWebApp.java index dee11291d..9373c518f 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/GitWebApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/GitWebApp.java @@ -5,13 +5,13 @@ import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.Spinner; import com.ultreon.devices.api.app.component.TextField; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.MineOSSystem; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; import com.ultreon.devices.programs.gitweb.layout.TextLayout; import com.ultreon.devices.programs.system.SettingsApp; import com.ultreon.devices.programs.system.layout.StandardLayout; import com.ultreon.devices.util.DataHandler; -import net.minecraft.client.gui.Gui; import net.minecraft.nbt.CompoundTag; import org.jetbrains.annotations.Nullable; @@ -35,9 +35,9 @@ public class GitWebApp extends Application implements SystemAccessor, DataHandle private Spinner spinnerLoading; private TextLayout scrollable; - private System system; + private MineOSSystem system; - public Optional getSystem() { + public Optional getSystem() { return Optional.ofNullable(system); } @@ -45,7 +45,7 @@ public Optional getSystem() { public void init(@Nullable CompoundTag intent) { layoutBrowser = new StandardLayout(null, 362, 240, this, null); layoutBrowser.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getItemBackgroundColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getItemBackgroundColor()); graphics.fill(x, y + 21, x + width, y + 164, color.getRGB()); }); @@ -132,7 +132,7 @@ public void save(CompoundTag tag) { } @Override - public void sendSystem(System system) { + public void sendSystem(MineOSSystem system) { this.system = system; } } diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java index e69e541f1..9efb3cb2d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/GitWebFrame.java @@ -342,7 +342,7 @@ private void generateLayout(String websiteData, boolean dynamic) { offset += height; } - if (modules.size() > 0) { + if (!modules.isEmpty()) { ModuleEntry entry = modules.get(modules.size() - 1); Module module = entry.getModule(); int height = module.calculateHeight(entry.getData(), width); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/BrewingBox.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/BrewingBox.java index 3455c8092..a08434bf6 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/BrewingBox.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/BrewingBox.java @@ -1,8 +1,7 @@ package com.ultreon.devices.programs.gitweb.component.container; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.world.item.ItemStack; @@ -44,7 +43,7 @@ protected void handleTick() { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); RenderSystem.setShaderTexture(0, CONTAINER_BOXES_TEXTURE); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/ContainerBox.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/ContainerBox.java index d124fa786..48b9c3c9d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/ContainerBox.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/ContainerBox.java @@ -1,14 +1,14 @@ package com.ultreon.devices.programs.gitweb.component.container; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.Reference; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -39,12 +39,12 @@ public ContainerBox(int left, int top, int boxU, int boxV, int height, ItemStack } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { RenderSystem.setShaderTexture(0, CONTAINER_BOXES_TEXTURE); RenderUtil.drawRectWithTexture(CONTAINER_BOXES_TEXTURE, graphics, x, y + 12, boxU, boxV, WIDTH, height, WIDTH, height, 256, 256); //Gui.blit(pose, x, y + 12, WIDTH, height, boxU, boxV, 256, 256, WIDTH, height); - int contentOffset = (WIDTH - (Laptop.getFont().width(title) + 8 + 4)) / 2; + int contentOffset = (WIDTH - (MineOS.getFont().width(title) + 8 + 4)) / 2; graphics.pose().pushPose(); { graphics.pose().translate(x + contentOffset, y, 0); @@ -59,7 +59,7 @@ protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, } @Override - protected void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + protected void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { slots.forEach(slot -> slot.renderOverlay(graphics, laptop, xPosition, yPosition + 12, mouseX, mouseY)); } @@ -78,10 +78,10 @@ public void render(GuiGraphics graphics, int x, int y) { RenderUtil.renderItem(graphics, x + slotX, y + slotY, stack, true); } - public void renderOverlay(GuiGraphics graphics, Laptop laptop, int x, int y, int mouseX, int mouseY) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, int x, int y, int mouseX, int mouseY) { if (GuiHelper.isMouseWithin(mouseX, mouseY, x + slotX, y + slotY, 16, 16)) { if (!stack.isEmpty()) { - graphics.renderTooltip(Minecraft.getInstance().font, laptop.getTooltipFromItem(Minecraft.getInstance(), stack), Optional.empty(), mouseX, mouseY/*, stack*/); + graphics.renderTooltip(Minecraft.getInstance().font, Screen.getTooltipFromItem(Minecraft.getInstance(), stack), Optional.empty(), mouseX, mouseY/*, stack*/); } } diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/FurnaceBox.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/FurnaceBox.java index 9f2f2b3b3..7c3425829 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/FurnaceBox.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/FurnaceBox.java @@ -1,10 +1,8 @@ package com.ultreon.devices.programs.gitweb.component.container; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; -import com.ultreon.devices.core.Laptop; -import dev.architectury.injectables.annotations.ExpectPlatform; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.world.item.ItemStack; @@ -26,12 +24,12 @@ public FurnaceBox(ItemStack input, ItemStack fuel, ItemStack result) { slots.add(new Slot(26, 8, input)); slots.add(new Slot(26, 44, fuel)); slots.add(new Slot(85, 26, result)); - this.fuelTime = Devices.getInstance().getBurnTime(fuel, RecipeType.SMELTING); + this.fuelTime = UltreonDevicesMod.get().getBurnTime(fuel, RecipeType.SMELTING); } @Deprecated private static int getBurnTime(ItemStack stack, RecipeType type) { - return Devices.getInstance().getBurnTime(stack, type); + return UltreonDevicesMod.get().getBurnTime(stack, type); } @Override @@ -45,7 +43,7 @@ protected void handleTick() { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); RenderSystem.setShaderTexture(0, CONTAINER_BOXES_TEXTURE); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/LoomBox.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/LoomBox.java index 192ddbab6..95ba56df8 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/LoomBox.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/component/container/LoomBox.java @@ -1,9 +1,8 @@ package com.ultreon.devices.programs.gitweb.component.container; import com.mojang.blaze3d.platform.Lighting; -import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.datafixers.util.Pair; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.model.geom.ModelLayers; @@ -51,16 +50,15 @@ public LoomBox(ItemStack banner, ItemStack dye, ItemStack pattern, ItemStack res } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); - int i = x;//this.leftPos; int j = y+12;//this.topPos; if (result.isEmpty())return; Lighting.setupForFlatItems(); MultiBufferSource.BufferSource bufferSource = mc.renderBuffers().bufferSource(); graphics.pose().pushPose(); //pose.translate((double)(i + 139), (double)(j + 52), 0.0D); - graphics.pose().translate(i+90d,j+52d,0.0D); + graphics.pose().translate(x +90d,j+52d,0.0D); graphics.pose().scale(24.0F, -24.0F, 1.0F); graphics.pose().translate(0.5D, 0.5D, 0.5D); float f = 0.6666667F; diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/AppLinkModule.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/AppLinkModule.java index 026c7ca5c..25c00d809 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/AppLinkModule.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/AppLinkModule.java @@ -44,7 +44,7 @@ public void generate(GitWebFrame frame, Layout layout, int width, Map { DebugLog.log("OPENING APP"); var b = a.openApplication(ApplicationManager.getApplication(ResourceLocation.tryParse("devices:app_store"))); - if (b != null && b instanceof AppStore store) { + if (b instanceof AppStore store) { store.queueOpen(info); } }); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/BannerIIModule.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/BannerIIModule.java index 0c023912d..dd800b929 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/BannerIIModule.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/BannerIIModule.java @@ -1,15 +1,12 @@ package com.ultreon.devices.programs.gitweb.module; import com.mojang.blaze3d.platform.Lighting; -import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.datafixers.util.Pair; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; -import com.ultreon.devices.programs.gitweb.component.container.ContainerBox; -import com.ultreon.devices.programs.gitweb.component.container.LoomBox; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.model.geom.ModelLayers; @@ -23,7 +20,6 @@ import net.minecraft.world.item.BannerItem; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BannerBlockEntity; import net.minecraft.world.level.block.entity.BannerPattern; @@ -76,16 +72,14 @@ public LoomBox(ItemStack banner, boolean waving) { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); - int i = x;//this.leftPos; - int j = y;//this.topPos; if (banner.isEmpty())return; Lighting.setupForFlatItems(); MultiBufferSource.BufferSource bufferSource = mc.renderBuffers().bufferSource(); graphics.pose().pushPose(); //pose.translate((double)(i + 139), (double)(j + 52), 0.0D); - graphics.pose().translate(i+139,j+90,0.0D); + graphics.pose().translate(x +139, y +90,0.0D); graphics.pose().scale(48.0F, -48.0F, 48.0F); // pose.scale(24.0F, -24.0F, 1.0F); graphics.pose().translate(0.5D, 0.5D, 0.5D); diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/DownloadModule.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/DownloadModule.java index 1db3b3df4..9f0ce365d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/DownloadModule.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/DownloadModule.java @@ -9,10 +9,8 @@ import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.io.File; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; -import net.minecraft.client.gui.Gui; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.TagParser; import net.minecraft.resources.ResourceLocation; diff --git a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/HeaderModule.java b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/HeaderModule.java index 43121a7f4..d1427764d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/gitweb/module/HeaderModule.java +++ b/common/src/main/java/com/ultreon/devices/programs/gitweb/module/HeaderModule.java @@ -3,7 +3,7 @@ import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Label; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; import java.util.Map; @@ -25,9 +25,9 @@ public String[] getOptionalData() { @Override public int calculateHeight(Map data, int width) { if (data.containsKey("scale")) { - return (int) (Double.parseDouble(data.get("scale")) * Laptop.getFont().lineHeight + (data.containsKey("padding") ? Integer.parseInt(data.get("padding")) : 5) * 2); + return (int) (Double.parseDouble(data.get("scale")) * MineOS.getFont().lineHeight + (data.containsKey("padding") ? Integer.parseInt(data.get("padding")) : 5) * 2); } - return Laptop.getFont().lineHeight + (data.containsKey("padding") ? Integer.parseInt(data.get("padding")) : 5) * 2; + return MineOS.getFont().lineHeight + (data.containsKey("padding") ? Integer.parseInt(data.get("padding")) : 5) * 2; } @Override diff --git a/common/src/main/java/com/ultreon/devices/programs/snake/SnakeApp.java b/common/src/main/java/com/ultreon/devices/programs/snake/SnakeApp.java index f08bbdebb..3643998dc 100644 --- a/common/src/main/java/com/ultreon/devices/programs/snake/SnakeApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/snake/SnakeApp.java @@ -1,11 +1,10 @@ package com.ultreon.devices.programs.snake; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.Label; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.snake.layout.SnakeLayout; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -32,7 +31,7 @@ public void init(@Nullable CompoundTag intent) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, active, partialTicks); // for (Component component : this.titleScreen.components) { // DebugLog.log(component + "lt: " + component.left + ", " + component.top); diff --git a/common/src/main/java/com/ultreon/devices/programs/snake/layout/SnakeLayout.java b/common/src/main/java/com/ultreon/devices/programs/snake/layout/SnakeLayout.java index f6e9da6c7..985d95bab 100644 --- a/common/src/main/java/com/ultreon/devices/programs/snake/layout/SnakeLayout.java +++ b/common/src/main/java/com/ultreon/devices/programs/snake/layout/SnakeLayout.java @@ -5,11 +5,10 @@ import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Button; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.programs.snake.SnakeApp; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import java.awt.*; @@ -22,19 +21,15 @@ public class SnakeLayout extends Layout { public SnakeLayout(SnakeApp app) { super(150, 150); var button = new Button(1, 1, Icons.ARROW_LEFT); - button.setClickListener(((mouseX, mouseY, mouseButton) -> { - app.setCurrentLayout(app.titleScreen); - })); + button.setClickListener(((mouseX, mouseY, mouseButton) -> app.setCurrentLayout(app.titleScreen))); - this.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> { - graphics.fill(x,y,x+width,x+height, new Color(0x0, 0x0, 0x0).getRGB()); - }); + this.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> graphics.fill(x,y,x+width,x+height, new Color(0x0, 0x0, 0x0).getRGB())); this.addComponent(button); this.addComponent(new Grid(0, 0)); } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); } @@ -100,7 +95,7 @@ public Grid(int left, int top) { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); var black = new Color(0, 0, 0, 0.5f); var intBlack = black.getRGB(); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/AppStore.java b/common/src/main/java/com/ultreon/devices/programs/system/AppStore.java index 4ed0314f1..ef620ccc6 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/AppStore.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/AppStore.java @@ -4,7 +4,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.Reference; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Component; @@ -12,10 +12,11 @@ import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.ScrollableLayout; import com.ultreon.devices.api.app.component.Button; +import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.app.component.Label; import com.ultreon.devices.api.app.component.Spinner; import com.ultreon.devices.api.utils.OnlineRequest; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.object.TrayItem; import com.ultreon.devices.programs.system.component.AppGrid; @@ -25,7 +26,6 @@ import com.ultreon.devices.programs.system.object.RemoteEntry; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; @@ -55,7 +55,7 @@ public void init(@Nullable CompoundTag intent) { ScrollableLayout homePageLayout = new ScrollableLayout(0, 0, LAYOUT_WIDTH, 368-160+80*rows, LAYOUT_HEIGHT); homePageLayout.setScrollSpeed(10); homePageLayout.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getBackgroundColor()); int offset = 60; graphics.fill(x, y + offset, x + LAYOUT_WIDTH, y + offset + 1, color.brighter().getRGB()); graphics.fill(x, y + offset + 1, x + LAYOUT_WIDTH, y + offset + 19, color.getRGB()); @@ -67,7 +67,7 @@ public void init(@Nullable CompoundTag intent) { graphics.fill(x, y + offset + 19, x + LAYOUT_WIDTH, y + offset + 20, color.darker().getRGB()); }); - com.ultreon.devices.api.app.component.Image imageBanner = new com.ultreon.devices.api.app.component.Image(0, 0, LAYOUT_WIDTH, 60); + Image imageBanner = new Image(0, 0, LAYOUT_WIDTH, 60); imageBanner.setImage(new ResourceLocation(Reference.MOD_ID, "textures/gui/app_market_background.png")); imageBanner.setDrawFull(true); homePageLayout.addComponent(imageBanner); @@ -85,7 +85,7 @@ public void init(@Nullable CompoundTag intent) { btnManageApps.setToolTip("Manage Apps", "Manage your installed applications"); homePageLayout.addComponent(btnManageApps); - com.ultreon.devices.api.app.component.Image image = new com.ultreon.devices.api.app.component.Image(5, 33, 20, 20, Icons.SHOP); + Image image = new Image(5, 33, 20, 20, Icons.SHOP); homePageLayout.addComponent(image); Label labelBanner = new Label("App Market", 32, 35); @@ -176,7 +176,7 @@ public List parseJson(String json) { } public void openApplication(AppEntry entry) { - Layout layout = new LayoutAppPage(getLaptop(), entry, this); + Layout layout = new LayoutAppPage(getOS(), entry, this); this.setCurrentLayout(layout); Button btnPrevious = new Button(2, 2, Icons.ARROW_LEFT); btnPrevious.setClickListener((mouseX1, mouseY1, mouseButton1) -> this.setCurrentLayout(layoutMain)); @@ -190,14 +190,14 @@ private List shuffleAndShrink(List list, int newSize) { public static class StoreTrayItem extends TrayItem { public StoreTrayItem() { - super(Icons.SHOP, Devices.id("app_store")); + super(Icons.SHOP, UltreonDevicesMod.id("app_store")); } @Override public void handleClick(int mouseX, int mouseY, int mouseButton) { - AppInfo info = ApplicationManager.getApplication(Devices.id("app_store")); + AppInfo info = ApplicationManager.getApplication(UltreonDevicesMod.id("app_store")); if (info != null) { - Laptop.getSystem().openApplication(info); + MineOS.getOpened().openApplication(info); } } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/FileBrowserApp.java b/common/src/main/java/com/ultreon/devices/programs/system/FileBrowserApp.java index e521279b7..a62dcdcb5 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/FileBrowserApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/FileBrowserApp.java @@ -1,10 +1,10 @@ package com.ultreon.devices.programs.system; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Icons; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.object.TrayItem; @@ -40,14 +40,14 @@ public void save(CompoundTag tag) { public static class FileBrowserTrayItem extends TrayItem { public FileBrowserTrayItem() { - super(Icons.FOLDER, Devices.id("file_browser")); + super(Icons.FOLDER, UltreonDevicesMod.id("file_browser")); } @Override public void handleClick(int mouseX, int mouseY, int mouseButton) { - AppInfo info = ApplicationManager.getApplication(Devices.id("file_browser")); + AppInfo info = ApplicationManager.getApplication(UltreonDevicesMod.id("file_browser")); if (info != null) { - Laptop.getSystem().openApplication(info); + MineOS.getOpened().openApplication(info); } } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java b/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java index b29c8f699..a15ea21bf 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/PredefinedResolution.java @@ -1,10 +1,8 @@ package com.ultreon.devices.programs.system; -import com.ultreon.devices.core.Laptop; -import net.minecraft.network.chat.Component; +import com.ultreon.devices.mineos.client.MineOS; import java.util.Collection; -import java.util.Collections; public enum PredefinedResolution implements DisplayResolution { PREDEFINED_31360x17280(31360, 17280), @@ -41,7 +39,7 @@ public int height() { } public static PredefinedResolution[] getResolutionList() { - Collection resolutionList = Laptop.getInstance().getVideoInfo().getResolutionList(); + Collection resolutionList = MineOS.getOpened().getVideoInfo().getResolutionList(); if (resolutionList == null) { return new PredefinedResolution[0]; diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java index 5321fca19..1447c65ed 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SettingsApp.java @@ -1,7 +1,7 @@ package com.ultreon.devices.programs.system; import com.google.common.base.CaseFormat; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.Reference; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Dialog; @@ -10,11 +10,12 @@ import com.ultreon.devices.api.app.ScrollableLayout; import com.ultreon.devices.api.app.component.*; import com.ultreon.devices.api.app.component.Button; +import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.app.renderer.ItemRenderer; import com.ultreon.devices.api.app.renderer.ListItemRenderer; import com.ultreon.devices.api.utils.OnlineRequest; -import com.ultreon.devices.core.Laptop; -import com.ultreon.devices.core.Settings; +import com.ultreon.devices.mineos.client.MineOS; +import com.ultreon.devices.mineos.client.Settings; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.object.TrayItem; import com.ultreon.devices.programs.system.component.Palette; @@ -56,7 +57,7 @@ public class SettingsApp extends SystemApp { private void resetColorSchemeClick(int mouseX, int mouseY, int mouseButton) { if (mouseButton == 0) { - Laptop.getSystem().getSettings().getColorScheme().resetDefault(); + MineOS.getOpened().getSettings().getColorScheme().resetDefault(); } } @@ -182,7 +183,7 @@ public void render(GuiGraphics graphics, PredefinedResolution resolution, Minecr }); comboDisplayResolutions.setChangeListener((oldValue, newValue) -> { if (newValue != null) { - getLaptop().setDisplayResolution(newValue); + getOS().setDisplayResolution(newValue); } }); @@ -238,7 +239,7 @@ private Layout createColorSchemesLayout() { final Layout layoutColorSchemes = new Menu("Themes"); layoutColorSchemes.addComponent(backBtn); - Preset custom = new Preset(null, Devices.id("custom")); + Preset custom = new Preset(null, UltreonDevicesMod.id("custom")); ItemList list = new ItemList<>(0, 21, layoutColorSchemes.width, layoutColorSchemes.height - 21); for (Preset colorScheme : ColorSchemePresetRegistry.getValues()) { @@ -248,14 +249,14 @@ private Layout createColorSchemesLayout() { list.setItemClickListener((preset, index, button) -> { if (preset == custom) preset = null; - Laptop.getSystem().getSettings().setPreset(preset); + MineOS.getOpened().getSettings().setPreset(preset); }); list.setListItemRenderer(new ListItemRenderer<>(20) { @Override public void render(GuiGraphics graphics, Preset scheme, Minecraft mc, int x, int y, int width, int height, boolean selected) { ResourceLocation key = ColorSchemePresetRegistry.getKey(scheme); - if (key == null) key = Devices.id("custom"); + if (key == null) key = UltreonDevicesMod.id("custom"); graphics.drawString(mc.font, CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, key.getPath()).replaceAll("[A-Z]", " $0").substring(1), x + 5, y + 5, Color.WHITE.getRGB()); } }); @@ -275,31 +276,31 @@ private Layout createColorSchemeLayout() { layoutColorScheme.addComponent(backBtn); ComboBox.Custom comboBoxTextColor = createColorPicker(145, 26); - comboBoxTextColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getTextColor()); + comboBoxTextColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getTextColor()); layoutColorScheme.addComponent(comboBoxTextColor); ComboBox.Custom comboBoxTextSecondaryColor = createColorPicker(145, 44); - comboBoxTextSecondaryColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getTextSecondaryColor()); + comboBoxTextSecondaryColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getTextSecondaryColor()); layoutColorScheme.addComponent(comboBoxTextSecondaryColor); ComboBox.Custom comboBoxHeaderColor = createColorPicker(145, 62); - comboBoxHeaderColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getHeaderColor()); + comboBoxHeaderColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getHeaderColor()); layoutColorScheme.addComponent(comboBoxHeaderColor); ComboBox.Custom comboBoxBackgroundColor = createColorPicker(145, 80); - comboBoxBackgroundColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor()); + comboBoxBackgroundColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getBackgroundColor()); layoutColorScheme.addComponent(comboBoxBackgroundColor); ComboBox.Custom comboBoxBackgroundSecondaryColor = createColorPicker(145, 98); - comboBoxBackgroundSecondaryColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getBackgroundSecondaryColor()); + comboBoxBackgroundSecondaryColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getBackgroundSecondaryColor()); layoutColorScheme.addComponent(comboBoxBackgroundSecondaryColor); ComboBox.Custom comboBoxItemBackgroundColor = createColorPicker(145, 116); - comboBoxItemBackgroundColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getItemBackgroundColor()); + comboBoxItemBackgroundColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getItemBackgroundColor()); layoutColorScheme.addComponent(comboBoxItemBackgroundColor); ComboBox.Custom comboBoxItemHighlightColor = createColorPicker(145, 134); - comboBoxItemHighlightColor.setValue(Laptop.getSystem().getSettings().getColorScheme().getItemHighlightColor()); + comboBoxItemHighlightColor.setValue(MineOS.getOpened().getSettings().getColorScheme().getItemHighlightColor()); layoutColorScheme.addComponent(comboBoxItemHighlightColor); buttonColorSchemeApply = new Button(5, 79, Icons.CHECK); @@ -308,7 +309,7 @@ private Layout createColorSchemeLayout() { buttonColorSchemeApply.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { - ColorScheme colorScheme = Laptop.getSystem().getSettings().getColorScheme(); + ColorScheme colorScheme = MineOS.getOpened().getSettings().getColorScheme(); colorScheme.setTextColor(comboBoxTextColor.getValue()); colorScheme.setTextSecondaryColor(comboBoxTextSecondaryColor.getValue()); colorScheme.setHeaderColor(comboBoxHeaderColor.getValue()); @@ -334,10 +335,10 @@ private Layout addWallpaperLayout() { Layout wallpaperLayout = new Menu("Wallpaper"); // Wallpaper image. - var image = new com.ultreon.devices.api.app.component.Image(6, 29, 6+122, 29+70); + var image = new Image(6, 29, 6+122, 29+70); image.setBorderThickness(1); image.setBorderVisible(true); - image.setImage(Objects.requireNonNull(getLaptop()).getCurrentWallpaper()); + image.setImage(Objects.requireNonNull(getOS()).getCurrentWallpaper()); wallpaperLayout.addComponent(image); // Previous wallpaper button. @@ -347,13 +348,13 @@ private Layout addWallpaperLayout() { if (mouseButton != 0) return; - Laptop laptop = getLaptop(); + MineOS laptop = getOS(); if (laptop != null) { laptop.prevWallpaper(); - image.setImage(getLaptop().getCurrentWallpaper()); + image.setImage(getOS().getCurrentWallpaper()); } }); - prevWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); + prevWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); wallpaperLayout.addComponent(prevWallpaperBtn); // Next wallpaper button. @@ -363,23 +364,23 @@ private Layout addWallpaperLayout() { if (mouseButton != 0) return; - Laptop laptop = getLaptop(); + MineOS laptop = getOS(); if (laptop != null) { laptop.nextWallpaper(); - image.setImage(getLaptop().getCurrentWallpaper()); + image.setImage(getOS().getCurrentWallpaper()); } }); - nextWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); + nextWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); wallpaperLayout.addComponent(nextWallpaperBtn); // Reset wallpaper button. Button resetWallpaperBtn = new Button(6, 100, "Reset Wallpaper"); resetWallpaperBtn.setClickListener((mouseX, mouseY, mouseButton) -> { if (mouseButton == 0) { - getLaptop().setWallpaper(0); - image.setImage(getLaptop().getCurrentWallpaper()); - prevWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); - nextWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); + getOS().setWallpaper(0); + image.setImage(getOS().getCurrentWallpaper()); + prevWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); + nextWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); } }); resetWallpaperBtn.top = wallpaperLayout.height - resetWallpaperBtn.getHeight() - 5; @@ -397,15 +398,15 @@ private Layout addWallpaperLayout() { Dialog.Input dialog = new Dialog.Input("Enter the URL of the image"); dialog.setResponseHandler((success, string) -> { - if (getLaptop() != null) { - if (!OnlineRequest.isSafeAddress(string)) { + if (getOS() != null) { + if (OnlineRequest.isUnsafeAddress(string)) { openDialog(new Dialog.Message("Unsafe website.")); return false; } - getLaptop().setWallpaper(string); - image.setImage(getLaptop().getCurrentWallpaper()); - prevWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); - nextWallpaperBtn.setEnabled(getLaptop().getCurrentWallpaper().isBuiltIn()); + getOS().setWallpaper(string); + image.setImage(getOS().getCurrentWallpaper()); + prevWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); + nextWallpaperBtn.setEnabled(getOS().getCurrentWallpaper().isBuiltIn()); } return success; }); @@ -414,7 +415,7 @@ private Layout addWallpaperLayout() { wallpaperLayout.addComponent(urlWallpaperBtn); var wallpaperText = new Text("Wallpaper", image.left+3, image.top+3, image.componentWidth-6); wallpaperText.setShadow(true); - wallpaperText.setTextColor(new Color(getLaptop().getSettings().getColorScheme().getTextColor())); + wallpaperText.setTextColor(new Color(getOS().getSettings().getColorScheme().getTextColor())); wallpaperLayout.addComponent(wallpaperText); return wallpaperLayout; @@ -456,9 +457,9 @@ private void colorSchemeClick(int mouseX, int mouseY, int mouseButton) { private void showAllAppsClick(int mouseX, int mouseY, int mouseButton) { Settings.setShowAllApps(checkBoxShowApps.isSelected()); - Laptop laptop = getLaptop(); + MineOS laptop = getOS(); assert laptop != null; - laptop.getTaskBar().setupApplications(laptop.getApplications()); + laptop.getTaskBar().setupApplications(); } public static class Menu extends Layout { @@ -470,8 +471,8 @@ public Menu(String title) { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getHeaderColor()); + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getHeaderColor()); graphics.fill(x, y, x + width, y + 20, color.getRGB()); graphics.fill(x, y + 20, x + width, y + 21, color.darker().getRGB()); graphics.drawString(mc.font, title, x + 22, y + 6, Color.WHITE.getRGB()); @@ -502,14 +503,14 @@ public void render(GuiGraphics graphics, Integer integer, Minecraft mc, int x, i public static class SettingsTrayItem extends TrayItem { public SettingsTrayItem() { - super(Icons.WRENCH, Devices.id("settings")); + super(Icons.WRENCH, UltreonDevicesMod.id("settings")); } @Override public void handleClick(int mouseX, int mouseY, int mouseButton) { - AppInfo info = ApplicationManager.getApplication(Devices.id("settings")); + AppInfo info = ApplicationManager.getApplication(UltreonDevicesMod.id("settings")); if (info != null) { - Laptop.getSystem().openApplication(info); + MineOS.getOpened().openApplication(info); } } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/SystemApp.java b/common/src/main/java/com/ultreon/devices/programs/system/SystemApp.java index 9810b0700..39bbd95a7 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/SystemApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/SystemApp.java @@ -1,7 +1,7 @@ package com.ultreon.devices.programs.system; import com.ultreon.devices.api.app.Application; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import org.jetbrains.annotations.Nullable; @@ -9,17 +9,17 @@ * Created by Casey on 03-Aug-17. */ public abstract class SystemApp extends Application { - private Laptop laptop; + private MineOS laptop; SystemApp() { } - public void setLaptop(@Nullable Laptop laptop) { + public void setOS(@Nullable MineOS laptop) { this.laptop = laptop; } @Nullable - public Laptop getLaptop() { + public MineOS getOS() { return laptop; } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/VulnerabilityApp.java b/common/src/main/java/com/ultreon/devices/programs/system/VulnerabilityApp.java index 3acf6d3b0..0bc6ffd37 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/VulnerabilityApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/VulnerabilityApp.java @@ -1,29 +1,18 @@ package com.ultreon.devices.programs.system; -import com.jab125.version.VersionInterval; import com.jab125.version.VersionPredicate; import com.jab125.version.VersionPredicateParser; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.ultreon.devices.Devices; -import com.ultreon.devices.api.ApplicationManager; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.*; import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.ItemList; import com.ultreon.devices.api.app.component.Label; -import com.ultreon.devices.api.app.component.Text; import com.ultreon.devices.api.app.renderer.ListItemRenderer; +import com.ultreon.devices.api.util.Vulnerability; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.object.AppInfo; -import com.ultreon.devices.programs.system.AppStore; -import com.ultreon.devices.programs.system.SystemApp; -import com.ultreon.devices.programs.system.component.AppGrid; -import com.ultreon.devices.util.Vulnerability; -import net.fabricmc.loader.api.Version; -import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; import org.jetbrains.annotations.Nullable; @@ -52,7 +41,7 @@ private Layout createMenu() { this.mainMenu = new Layout(250, 105); ItemList itemListResults = new ItemList<>(5, 5, AppStore.LAYOUT_WIDTH - 10, 5, true); - itemListResults.setItems(Devices.getVulnerabilities()); + itemListResults.setItems(UltreonDevicesMod.getVulnerabilities()); itemListResults.sortBy(Comparator.comparing(vulnerability -> -vulnerability.effectiveSeverity())); itemListResults.setListItemRenderer(new ListItemRenderer<>(18) { @Override @@ -103,9 +92,7 @@ private IIcon getIconFor(Vulnerability app) { private Layout createMenuFromVulnerability(Vulnerability vulnerability) { var layout = new Layout(250, 105); var behindTheNews = new Button(5, 5, Icons.ARROW_LEFT); - behindTheNews.setClickListener((__, ___, ____) -> { - setCurrentLayout(mainMenu); - }); + behindTheNews.setClickListener((__, ___, ____) -> setCurrentLayout(mainMenu)); layout.addComponent(behindTheNews); layout.addComponent(Util.make(new Label(vulnerability.title(), 5, 5 + behindTheNews.getHeight()+2), t -> t.setScale(1.25))); layout.addComponent(new Label(vulnerability.reporter() == null ? "Unknown" : vulnerability.reporter(), 5, 18 + behindTheNews.getHeight()+2)); @@ -121,7 +108,7 @@ private String re(Collection d, boolean e) { // VersionInterval prev = VersionInterval; ArrayList l = new ArrayList<>(); for (VersionPredicate versionPredicate : d) { - if ( versionPredicate instanceof VersionPredicateParser.SingleVersionPredicate p && Objects.equals(p.getInterval().getMin(), p.getInterval().getMax())) { + if ( versionPredicate instanceof VersionPredicateParser.SingleVersionPredicate p && Objects.equals(p.getInterval().min(), p.getInterval().max())) { l.add(p.getRefVersion().getFriendlyString()); } else l.add(versionPredicate.getInterval().toString()); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/component/AppGrid.java b/common/src/main/java/com/ultreon/devices/programs/system/component/AppGrid.java index df2b7b94c..759687a08 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/component/AppGrid.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/component/AppGrid.java @@ -1,6 +1,5 @@ package com.ultreon.devices.programs.system.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Icons; @@ -8,7 +7,7 @@ import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.app.component.Label; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.system.AppStore; import com.ultreon.devices.programs.system.object.AppEntry; @@ -16,7 +15,6 @@ import com.ultreon.devices.programs.system.object.RemoteEntry; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.resources.ResourceLocation; @@ -65,14 +63,14 @@ protected void init(Layout layout) { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { int size = Math.min(entries.size(), verticalItems * horizontalItems); for (int i = 0; i < size; i++) { int itemX = x + (i % horizontalItems) * (itemWidth + padding) + padding; int itemY = y + (i / horizontalItems) * (itemHeight + padding) + padding; if (GuiHelper.isMouseWithin(mouseX, mouseY, itemX, itemY, itemWidth, itemHeight)) { graphics.fill(itemX, itemY, itemX + itemWidth, itemY + itemHeight, Color.GRAY.getRGB()); - graphics.fill(itemX + 1, itemY + 1, itemX + itemWidth - 1, itemY + itemHeight - 1, Laptop.getSystem().getSettings().getColorScheme().getItemBackgroundColor()); + graphics.fill(itemX + 1, itemY + 1, itemX + itemWidth - 1, itemY + itemHeight - 1, MineOS.getOpened().getSettings().getColorScheme().getItemBackgroundColor()); } } } @@ -121,7 +119,7 @@ private Layout generateAppTile(AppEntry entry, int left, int top) { int iconOffset = (itemWidth - 14 * 3) / 2; if (entry instanceof LocalEntry localEntry) { Image.AppImage appImage = new Image.AppImage(iconOffset, padding, 14*3, 14*3, localEntry.info()); - // com.ultreon.devices.api.app.component.Image image = new com.ultreon.devices.api.app.component.Image(iconOffset, padding, 14 * 3, 14 * 3, localEntry.info().getIconU(), localEntry.info().getIconV(), 14, 14, 224, 224, Laptop.ICON_TEXTURES); + // com.ultreon.devices.api.app.component.Image image = new com.ultreon.devices.api.app.component.Image(iconOffset, padding, 14 * 3, 14 * 3, localEntry.info().getIconU(), localEntry.info().getIconV(), 14, 14, 224, 224, MineOS.ICON_TEXTURES); layout.addComponent(appImage); } else if (entry instanceof RemoteEntry remoteEntry) { ResourceLocation resource = new ResourceLocation(remoteEntry.id); @@ -147,7 +145,7 @@ private Layout generateAppTile(AppEntry entry, int left, int top) { if (entry instanceof LocalEntry) { AppInfo info = ((LocalEntry) entry).info(); - if (Laptop.getSystem().getInstalledApplications().contains(info)) { + if (MineOS.getOpened().getInstalledApplications().contains(info)) { com.ultreon.devices.api.app.component.Image installedIcon = new com.ultreon.devices.api.app.component.Image(itemWidth - 10 - 15, 38, Icons.CHECK); layout.addComponent(installedIcon); } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java b/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java index 8c872dd31..6f3bc1447 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/component/FileBrowser.java @@ -17,8 +17,8 @@ import com.ultreon.devices.api.task.Task; import com.ultreon.devices.api.task.TaskManager; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; -import com.ultreon.devices.core.Window; +import com.ultreon.devices.mineos.client.MineOS; +import com.ultreon.devices.mineos.client.Window; import com.ultreon.devices.core.Wrappable; import com.ultreon.devices.core.io.FileSystem; import com.ultreon.devices.core.io.task.TaskGetFiles; @@ -52,15 +52,12 @@ public class FileBrowser extends Component { private static final ResourceLocation ASSETS = new ResourceLocation("devices:textures/gui/file_browser.png"); - private static final Color HEADER_BACKGROUND = Color.decode("0x535861"); - private static final Color ITEM_BACKGROUND = Color.decode("0x9E9E9E"); - private static final Color ITEM_SELECTED = Color.decode("0x757575"); private static final Color PROTECTED_FILE = new Color(155, 237, 242); private static final ListItemRenderer ITEM_RENDERER = new ListItemRenderer<>(18) { @Override public void render(GuiGraphics graphics, File file, Minecraft mc, int x, int y, int width, int height, boolean selected) { - Color bgColor = new Color(Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor()); + Color bgColor = new Color(MineOS.getOpened().getSettings().getColorScheme().getBackgroundColor()); graphics.fill(x, y, x + width, y + height, selected ? bgColor.brighter().brighter().getRGB() : bgColor.brighter().getRGB()); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); @@ -72,7 +69,7 @@ public void render(GuiGraphics graphics, File file, Minecraft mc, int x, int y, AppInfo info = ApplicationManager.getApplication(ResourceLocation.tryParse(file.getOpeningApp())); RenderUtil.drawApplicationIcon(graphics, info, x + 3, y + 2); } - graphics.drawString(Minecraft.getInstance().font, file.getName(), x + 22, y + 5, file.isProtected() ? PROTECTED_FILE.getRGB() : Laptop.getSystem().getSettings().getColorScheme().getTextColor()); + graphics.drawString(Minecraft.getInstance().font, file.getName(), x + 22, y + 5, file.isProtected() ? PROTECTED_FILE.getRGB() : MineOS.getOpened().getSettings().getColorScheme().getTextColor()); } }; @@ -137,7 +134,7 @@ public FileBrowser(int left, int top, Wrappable wrappable, Mode mode) { public void init(Layout layout) { layoutMain = new Layout(mode.getWidth(), mode.getHeight()); layoutMain.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getHeaderColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getHeaderColor()); graphics.fill(x, y, x + width, y + 20, color.getRGB()); graphics.fill(x, y + 20, x + width, y + 21, color.darker().getRGB()); }); @@ -248,13 +245,13 @@ public void init(Layout layout) { } }); } else if (mode == Mode.FULL && wrappable instanceof SystemApp systemApp) { - Laptop laptop = systemApp.getLaptop(); + MineOS laptop = systemApp.getOS(); if (laptop != null) { //TODO change to check if application is installed Application targetApp = laptop.getApplication(file.getOpeningApp()); if (targetApp != null) { if (laptop.isApplicationInstalled(targetApp.getInfo())) { - if (!laptop.openApplication(targetApp.getInfo(), file).right()) { + if (!laptop.openApplication(targetApp.getInfo(), file).getSecond()) { laptop.sendApplicationToFront(systemApp.getInfo()); createErrorDialog(targetApp.getInfo().getName() + " was unable to open the file."); } @@ -314,22 +311,22 @@ public void render(GuiGraphics graphics, Drive drive, Minecraft mc, int x, int y public void handleLoad() { if (!loadedStructure) { setLoading(true); - Task task = new TaskSetupFileBrowser(Laptop.getPos(), Laptop.getMainDrive() == null); + Task task = new TaskSetupFileBrowser(MineOS.getOpened().getPos(), MineOS.getOpened().getMainDrive() == null); task.setCallback((tag, success) -> { if (success) { - if (Laptop.getMainDrive() == null) { + if (MineOS.getOpened().getMainDrive() == null) { assert tag != null; CompoundTag structureTag = tag.getCompound("structure"); Drive drive = new Drive(tag.getCompound("main_drive")); drive.syncRoot(Folder.fromTag(FileSystem.LAPTOP_DRIVE_NAME, structureTag)); drive.getRoot().validate(); - Laptop.setMainDrive(drive); + MineOS.getOpened().setMainDrive(drive); } assert tag != null; ListTag driveList = tag.getList("available_drives", Tag.TAG_COMPOUND); Drive[] drives = new Drive[driveList.size() + 1]; - drives[0] = currentDrive = Laptop.getMainDrive(); + drives[0] = currentDrive = MineOS.getOpened().getMainDrive(); for (int i = 0; i < driveList.size(); i++) { CompoundTag driveTag = driveList.getCompound(i); drives[i + 1] = new Drive(driveTag); @@ -386,7 +383,7 @@ private void openDrive(Drive drive) { }); } else { setLoading(true); - TaskGetStructure task = new TaskGetStructure(drive, Laptop.getPos()); + TaskGetStructure task = new TaskGetStructure(drive, MineOS.getOpened().getPos()); task.setCallback((tag, success) -> { setLoading(false); if (success) { @@ -409,7 +406,7 @@ private void openDrive(Drive drive) { private void openFolder(Folder folder, boolean push, Callback callback) { DebugLog.log("Opening Folder"); if (!folder.isSynced()) { - BlockPos pos = Laptop.getPos(); + BlockPos pos = MineOS.getOpened().getPos(); DebugLog.log("Open Folder: " + pos); if (pos == null) { if (callback != null) { @@ -471,7 +468,7 @@ private void pushPredecessors(Folder folder) { } Collections.reverse(predecessors); predecessors.forEach(predecessor::push); - if (predecessor.size() > 0) { + if (!predecessor.isEmpty()) { btnPreviousFolder.setEnabled(true); } } @@ -490,7 +487,7 @@ private void createFolder() { } private void goToPreviousFolder() { - if (predecessor.size() > 0) { + if (!predecessor.isEmpty()) { setLoading(true); Folder folder = predecessor.pop(); openFolder(folder, false, (folder2, success) -> { @@ -725,7 +722,7 @@ private boolean canPasteHere() { } private boolean isRootFolder() { - return predecessor.size() == 0; + return predecessor.isEmpty(); } private void updatePath() { diff --git a/common/src/main/java/com/ultreon/devices/programs/system/component/Palette.java b/common/src/main/java/com/ultreon/devices/programs/system/component/Palette.java index dc20e3124..bd84c730d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/component/Palette.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/component/Palette.java @@ -8,13 +8,11 @@ import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.ComboBox; import com.ultreon.devices.api.app.component.Slider; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.util.GLHelper; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.GameRenderer; import java.awt.*; @@ -65,7 +63,7 @@ protected void init(Layout layout) { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { graphics.fill(x, y, x + 52, y + 52, Color.DARK_GRAY.getRGB()); // Todo: Disable lighting somehow. diff --git a/common/src/main/java/com/ultreon/devices/programs/system/component/SlideShow.java b/common/src/main/java/com/ultreon/devices/programs/system/component/SlideShow.java index 752204a87..5843d9302 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/component/SlideShow.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/component/SlideShow.java @@ -1,27 +1,27 @@ package com.ultreon.devices.programs.system.component; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Image; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.programs.system.object.ImageEntry; import com.ultreon.devices.util.GuiHelper; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.NonNullList; import net.minecraft.resources.ResourceLocation; +import java.awt.Color; + /** * @author MrCrayfish */ @SuppressWarnings("unused") public class SlideShow extends Component { - private static final java.awt.Color OVERLAY = new java.awt.Color(0f, 0f, 0f, 0.15f); - private static final java.awt.Color OVERLAY_HOVER = new java.awt.Color(0.35f, 0.35f, 0.35f, 0.15f); + private static final Color OVERLAY = new Color(0f, 0f, 0f, 0.15f); + private static final Color OVERLAY_HOVER = new Color(0.35f, 0.35f, 0.35f, 0.15f); private final int width; private final int height; @@ -60,7 +60,7 @@ protected void handleLoad() { } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { if (!this.visible) return; image.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutAppPage.java b/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutAppPage.java index 1c91355cd..7c6002e0d 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutAppPage.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutAppPage.java @@ -1,14 +1,13 @@ package com.ultreon.devices.programs.system.layout; import com.google.common.collect.Lists; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.ScrollableLayout; import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.Image; import com.ultreon.devices.api.app.component.Label; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.debug.DebugLog; import com.ultreon.devices.object.AppInfo; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; @@ -21,7 +20,6 @@ import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -32,7 +30,7 @@ * @author MrCrayfish */ public class LayoutAppPage extends Layout { - private final Laptop laptop; + private final MineOS laptop; private final AppEntry entry; private final AppStore store; @@ -43,7 +41,7 @@ public class LayoutAppPage extends Layout { private boolean installed; - public LayoutAppPage(Laptop laptop, AppEntry entry, AppStore store) { + public LayoutAppPage(MineOS laptop, AppEntry entry, AppStore store) { super(250, 150); this.laptop = laptop; this.entry = entry; @@ -53,12 +51,12 @@ public LayoutAppPage(Laptop laptop, AppEntry entry, AppStore store) { @Override public void init() { if (entry instanceof LocalEntry) { - installed = Laptop.getSystem().getInstalledApplications().contains(((LocalEntry) entry).info()); + installed = MineOS.getOpened().getInstalledApplications().contains(((LocalEntry) entry).info()); } this.setBackground((graphics, mc, x, y, width, height, mouseX, mouseY, windowActive) -> { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getBackgroundColor()); + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getBackgroundColor()); graphics.fill(x, y + 40, x + width, y + 41, color.brighter().getRGB()); graphics.fill(x, y + 41, x + width, y + 60, color.getRGB()); graphics.fill(x, y + 60, x + width, y + 61, color.darker().getRGB()); @@ -81,14 +79,14 @@ public void init() { LocalEntry localEntry = (LocalEntry) entry; AppInfo info = localEntry.info(); imageIcon = new Image.AppImage(5, 26, 28, 28, info); - // imageIcon = new com.ultreon.devices.api.app.component.Image(5, 26, 28, 28, info.getIconU(), info.getIconV(), 14, 14, 224, 224, Laptop.ICON_TEXTURES); + // imageIcon = new com.ultreon.devices.api.app.component.Image(5, 26, 28, 28, info.getIconU(), info.getIconV(), 14, 14, 224, 224, MineOS.ICON_TEXTURES); } else if (entry instanceof RemoteEntry) { imageIcon = new com.ultreon.devices.api.app.component.Image(5, 26, 28, 28, AppStore.CERTIFICATES_BASE_URL + "/assets/" + resource.getNamespace() + "/" + resource.getPath() + "/icon.png"); } this.addComponent(imageIcon); if (store.certifiedApps.contains(entry)) { - int width = Laptop.getFont().width(entry.name()) * 2; + int width = MineOS.getFont().width(entry.name()) * 2; com.ultreon.devices.api.app.component.Image certifiedIcon = new com.ultreon.devices.api.app.component.Image(38 + width + 3, 29, 20, 20, Icons.VERIFIED); this.addComponent(certifiedIcon); } @@ -167,12 +165,12 @@ public void init() { } @Override - public void renderOverlay(GuiGraphics graphics, Laptop laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { + public void renderOverlay(GuiGraphics graphics, MineOS laptop, Minecraft mc, int mouseX, int mouseY, boolean windowActive) { super.renderOverlay(graphics, laptop, mc, mouseX, mouseY, windowActive); if (store.certifiedApps.contains(entry)) { - int width = Laptop.getFont().width(entry.name()) * 2; + int width = MineOS.getFont().width(entry.name()) * 2; if (GuiHelper.isMouseWithin(mouseX, mouseY, xPosition + 38 + width + 3, yPosition + 29, 20, 20)) { - laptop.renderComponentTooltip(graphics, Lists.newArrayList(Component.literal("Certified App").withStyle(ChatFormatting.GREEN)), mouseX, mouseY); + graphics.renderComponentTooltip(MineOS.getFont(), Lists.newArrayList(Component.literal("Certified App").withStyle(ChatFormatting.GREEN)), mouseX, mouseY); } } } diff --git a/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutSearchApps.java b/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutSearchApps.java index 2cba9189f..a22ce90b0 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutSearchApps.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/layout/LayoutSearchApps.java @@ -1,7 +1,6 @@ package com.ultreon.devices.programs.system.layout; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.ApplicationManager; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; @@ -15,7 +14,6 @@ import com.ultreon.devices.programs.system.object.LocalEntry; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import org.apache.commons.lang3.StringUtils; @@ -80,7 +78,7 @@ public void render(GuiGraphics graphics, AppInfo info, Minecraft mc, int x, int } private void openApplication(AppInfo info) { - Layout layout = new LayoutAppPage(appStore.getLaptop(), new LocalEntry(info), appStore); + Layout layout = new LayoutAppPage(appStore.getOS(), new LocalEntry(info), appStore); app.setCurrentLayout(layout); Button btnPrevious = new Button(2, 2, Icons.ARROW_LEFT); btnPrevious.setClickListener((mouseX1, mouseY1, mouseButton1) -> app.setCurrentLayout(this)); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/layout/StandardLayout.java b/common/src/main/java/com/ultreon/devices/programs/system/layout/StandardLayout.java index fd29b090e..aceb3a1cd 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/layout/StandardLayout.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/layout/StandardLayout.java @@ -1,14 +1,12 @@ package com.ultreon.devices.programs.system.layout; -import com.mojang.blaze3d.vertex.PoseStack; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.app.IIcon; import com.ultreon.devices.api.app.Icons; import com.ultreon.devices.api.app.Layout; import com.ultreon.devices.api.app.component.Button; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import org.jetbrains.annotations.Nullable; @@ -45,8 +43,8 @@ public void init() { } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { - Color color = new Color(Laptop.getSystem().getSettings().getColorScheme().getHeaderColor()); + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + Color color = new Color(MineOS.getOpened().getSettings().getColorScheme().getHeaderColor()); graphics.fill(x, y, x + width, y + 20, color.getRGB()); graphics.fill(x, y + 20, x + width, y + 21, color.darker().getRGB()); diff --git a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java index d02752ea7..000d9378a 100644 --- a/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java +++ b/common/src/main/java/com/ultreon/devices/programs/system/object/ColorSchemePresets.java @@ -1,6 +1,6 @@ package com.ultreon.devices.programs.system.object; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import net.minecraft.resources.ResourceLocation; import java.util.function.Consumer; @@ -36,7 +36,7 @@ public class ColorSchemePresets { private static Preset createPreset(String name, ColorScheme colorScheme, Consumer consumer) { consumer.accept(colorScheme); - ResourceLocation id = Devices.id(name); + ResourceLocation id = UltreonDevicesMod.id(name); Preset preset = new Preset(colorScheme, id); ColorSchemePresetRegistry.register(id, preset); diff --git a/common/src/main/java/com/ultreon/devices/programs/themes/ThemesApp.java b/common/src/main/java/com/ultreon/devices/programs/themes/ThemesApp.java index 022e63ec0..6196f96d6 100644 --- a/common/src/main/java/com/ultreon/devices/programs/themes/ThemesApp.java +++ b/common/src/main/java/com/ultreon/devices/programs/themes/ThemesApp.java @@ -1,29 +1,26 @@ package com.ultreon.devices.programs.themes; -import com.mojang.blaze3d.vertex.PoseStack; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.api.app.*; import com.ultreon.devices.api.app.Component; import com.ultreon.devices.api.app.Dialog; -import com.ultreon.devices.api.app.System; import com.ultreon.devices.api.app.component.Button; import com.ultreon.devices.api.app.component.TextField; import com.ultreon.devices.api.utils.RenderUtil; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.MineOSSystem; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.object.AppInfo; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.nbt.CompoundTag; -import org.apache.commons.codec.binary.Hex; import org.jetbrains.annotations.Nullable; import java.awt.*; import java.math.BigInteger; import java.util.Arrays; -import java.util.HexFormat; public class ThemesApp extends Application implements SystemAccessor { - private System system; + private MineOSSystem system; private int[] lastMousePositionsX = null; private int[] lastMousePositionsY = null; @@ -45,12 +42,12 @@ public void save(CompoundTag tag) { } @Override - public void sendSystem(System system) { + public void sendSystem(MineOSSystem system) { this.system = system; } @Override - public void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { + public void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean active, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, active, partialTicks); } @@ -109,9 +106,7 @@ private Layout createMainMenu() { private Button createTintButton() { var button = new Button(marginX, marginY + 16 + paddingY, "Tints"); - button.setClickListener((mouseX, mouseY, btn) -> { - setCurrentLayout(createTintMenu()); - }); + button.setClickListener((mouseX, mouseY, btn) -> setCurrentLayout(createTintMenu())); return button; } @@ -207,7 +202,7 @@ protected void init(Layout layout) { this.info.setTintProvider(new ThemeTintProvider(l, ll)); resetButton.setEnabled(true); } catch (Exception e) { - e.printStackTrace(); + UltreonDevicesMod.LOGGER.error("Failed to set tint", e); openDialog(new Dialog.Message("Failed to set tint")); } // okButton.setEnabled(); @@ -238,12 +233,11 @@ protected void init(Layout layout) { } private String toColorHex(int b) { - String hexColor = String.format("#%06X", (0xFFFFFF & b)); - return hexColor; + return String.format("#%06X", (0xFFFFFF & b)); } @Override - protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { + protected void render(GuiGraphics graphics, MineOS laptop, Minecraft mc, int x, int y, int mouseX, int mouseY, boolean windowActive, float partialTicks) { super.render(graphics, laptop, mc, x, y, mouseX, mouseY, windowActive, partialTicks); graphics.pose().pushPose(); RenderUtil.drawIcon(graphics, x, y, info, height, height); // height is intended @@ -251,34 +245,23 @@ protected void render(GuiGraphics graphics, Laptop laptop, Minecraft mc, int x, } } - private static void createCTP() { - - } - - private static class ThemeTintProvider implements AppInfo.TintProvider { - private final Color l; - private final Color ll; - ThemeTintProvider(Color l, Color ll) { - this.l = l; - this.ll = ll; - } + private record ThemeTintProvider(Color l, Color ll) implements AppInfo.TintProvider { @Override - public int getTintColor(AppInfo info, int i) { - return switch (i) { - case 0 -> new Color(255, 255, 255).getRGB(); - case 1 -> l.getRGB(); - case 2 -> ll.getRGB(); - default -> new Color(255, 255, 255).getRGB(); - }; - } + public int getTintColor(AppInfo info, int i) { + return switch (i) { + case 1 -> l.getRGB(); + case 2 -> ll.getRGB(); + default -> new Color(255, 255, 255).getRGB(); + }; + } - @Override - public CompoundTag toTag() { - var l = new CompoundTag(); - l.putInt("0", getTintColor(null, 0)); - l.putInt("1", getTintColor(null, 1)); - l.putInt("2", getTintColor(null, 2)); - return l; + @Override + public CompoundTag toTag() { + var l = new CompoundTag(); + l.putInt("0", getTintColor(null, 0)); + l.putInt("1", getTintColor(null, 1)); + l.putInt("2", getTintColor(null, 2)); + return l; + } } - } } diff --git a/common/src/main/java/com/ultreon/devices/util/Colorable.java b/common/src/main/java/com/ultreon/devices/util/Colorable.java index dd2caccad..cc9b0c09c 100644 --- a/common/src/main/java/com/ultreon/devices/util/Colorable.java +++ b/common/src/main/java/com/ultreon/devices/util/Colorable.java @@ -3,6 +3,7 @@ import net.minecraft.world.item.DyeColor; public interface Colorable extends Colored { + @Override DyeColor getColor(); void setColor(DyeColor color); diff --git a/common/src/main/java/com/ultreon/devices/util/GLHelper.java b/common/src/main/java/com/ultreon/devices/util/GLHelper.java index 73bd37c51..1e1ac1afb 100644 --- a/common/src/main/java/com/ultreon/devices/util/GLHelper.java +++ b/common/src/main/java/com/ultreon/devices/util/GLHelper.java @@ -2,7 +2,10 @@ import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import org.joml.Vector3f; import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; @@ -15,9 +18,18 @@ */ public class GLHelper { public static Stack scissorStack = new Stack<>(); + private static final Vector3f tmp = new Vector3f(); - public static void pushScissor(int x, int y, int width, int height) { - if (scissorStack.size() > 0) { + public static boolean pushScissor(GuiGraphics graphics, int x, int y, int width, int height) { + if (width <= 0 || height <= 0) { + return false; + } + + Vector3f translation = graphics.pose().last().pose().getTranslation(tmp); + x += (int) translation.x(); + y += (int) translation.y(); + + if (!scissorStack.isEmpty()) { Scissor scissor = scissorStack.peek(); x = Math.max(scissor.x, x); y = Math.max(scissor.y, y); @@ -32,6 +44,7 @@ public static void pushScissor(int x, int y, int width, int height) { double scale = resolution.getScaleFactor(); GlStateManager._scissorBox((int) (x * scale), (int) (mc.getWindow().getHeight() - y * scale - height * scale), (int) Math.max(0, width * scale), (int) Math.max(0, height * scale)); scissorStack.push(new Scissor(x, y, width, height)); + return true; } public static void popScissor() { diff --git a/common/src/main/java/com/ultreon/devices/util/SiteRegistration.java b/common/src/main/java/com/ultreon/devices/util/SiteRegistration.java index 9d9ea8f86..409e1b26b 100644 --- a/common/src/main/java/com/ultreon/devices/util/SiteRegistration.java +++ b/common/src/main/java/com/ultreon/devices/util/SiteRegistration.java @@ -1,6 +1,6 @@ package com.ultreon.devices.util; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.programs.gitweb.component.GitWebFrame; import org.slf4j.Marker; import org.slf4j.MarkerFactory; @@ -20,14 +20,14 @@ public SiteRegistration(String registrant, String string, String type, String si public static String getURL(String website) { Matcher matcher = GitWebFrame.PATTERN_LINK.matcher(website); if (!matcher.matches()) { - Devices.LOGGER.error("No Match Found For " + website + "!"); + UltreonDevicesMod.LOGGER.error("No Match Found For " + website + "!"); return "https://raw.githubusercontent.com/Ultreon/gitweb-sites/main/"; } String domain = matcher.group("domain"); String extension = matcher.group("extension"); String directory = matcher.group("directory"); var url = "https://raw.githubusercontent.com/Ultreon/gitweb-sites/main/"; - for (SiteRegistration siteRegistration : Devices.SITE_REGISTRATIONS) { + for (SiteRegistration siteRegistration : UltreonDevicesMod.SITE_REGISTRATIONS) { if (siteRegistration.type == ALL) { url = siteRegistration.site; } else if (siteRegistration.type == EXTENSION && siteRegistration.string.equals(extension)) { @@ -44,7 +44,7 @@ public static String getURL(String website) { } } } - Devices.LOGGER.info(MARKER, "Registered Sites: " + Devices.SITE_REGISTRATIONS.size() + ", " + "URL: " + url); + UltreonDevicesMod.LOGGER.info(MARKER, "Registered Sites: " + UltreonDevicesMod.SITE_REGISTRATIONS.size() + ", " + "URL: " + url); return url; } diff --git a/common/src/main/java/com/ultreon/devices/util/Vulnerability.java b/common/src/main/java/com/ultreon/devices/util/Vulnerability.java deleted file mode 100644 index 4c4ef6ad9..000000000 --- a/common/src/main/java/com/ultreon/devices/util/Vulnerability.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.ultreon.devices.util; - -import com.google.common.collect.ImmutableList; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.jab125.version.Version; -import com.jab125.version.VersionPredicate; -import com.ultreon.devices.Devices; -import com.ultreon.devices.Reference; -import com.ultreon.devices.api.ApplicationManager; -import com.ultreon.devices.api.app.Icons; -import com.ultreon.devices.core.Laptop; -import com.ultreon.devices.object.AppInfo; -import org.jetbrains.annotations.Nullable; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -public record Vulnerability(@Nullable String reporter, String title, @Nullable String description, int severity, Collection affectedVersions, Collection fixVersion, boolean affectsCurrentVersion) { - public static List parseArray(JsonArray array) { - ArrayList arraylist = new ArrayList<>() { - @Override - public boolean add(@Nullable Vulnerability vulnerability) { - if (vulnerability != null) return super.add(vulnerability); - return false; - } - }; - for (JsonElement jsonElement : array) { - if (jsonElement.isJsonObject()) { - arraylist.add(parseObject(jsonElement.getAsJsonObject())); - } - } - return ImmutableList.copyOf(arraylist); - } - public static Vulnerability parseObject(JsonObject array) { - boolean hasReporter = array.has("reporter"); - boolean hasDescription = array.has("description"); - boolean hasFixVersion = array.has("fixVersions"); - Collection affectedVersions = toStringList(array.getAsJsonArray("affectedVersions")); - var d = false; - for (VersionPredicate affectedVersion : affectedVersions) { - try { - d = affectedVersion.test(Version.parse(Reference.getVerInfo()[0])); - if (d) break; - } catch (Exception e){e.printStackTrace();} - } - return new Vulnerability(hasReporter ? array.get("reporter").getAsString() : null, array.get("title").getAsString(), hasDescription ? array.get("description").getAsString() : null, array.get("severity").getAsInt(), affectedVersions, !hasFixVersion ? new ArrayList<>() : toStringList(array.get("fixVersions").getAsJsonArray()), d); - } - - private static Collection toStringList(JsonArray array) { - ArrayList l = new ArrayList<>(); - for (JsonElement jsonElement : array) { - l.add(jsonElement.getAsString()); - } - try { - return VersionPredicate.parse(l); - } catch (Exception e) { - e.printStackTrace(); // oh no - return new ArrayList<>(); - } - } - - @Override - public String toString() { - return "Vulnerability{" + - "reporter='" + reporter + '\'' + - ", title='" + title + '\'' + - ", description='" + description + '\'' + - ", severity=" + severity + - ", affectedVersions=" + affectedVersions + - ", fixVersion='" + fixVersion + '\'' + - '}'; - } - - public String toPrettyString() { - return """ - Vulnerability { - reporter = '%s' - title = '%s' - description = '%s' - severity = %s - affectedVersions = %s - fixVersion = '%s' - }""".formatted(reporter, title, description, severity, affectedVersions, fixVersion); - } - - public static class VulnerabilityTrayItem extends com.ultreon.devices.object.TrayItem { - public VulnerabilityTrayItem() { - super(vulnerabilitiesAffectUs() ? Icons.WARNING : Icons.WARNING_GRAY, Devices.id("vulnerabilities")); - } - private static boolean vulnerabilitiesAffectUs() { - return Devices.getVulnerabilities().stream().anyMatch(Vulnerability::affectsCurrentVersion); - } - private final boolean vulnerabilities = vulnerabilitiesAffectUs(); - private int tick; - private boolean stat = false; - - @Override - public void tick() { - super.tick(); - if (!vulnerabilities) return; - if (tick >= 15) { - tick = 0; - this.setIcon(stat ? Icons.FLASHED_WARNING : Icons.WARNING); - stat = !stat; - } - tick++; - } - - @Override - public void handleClick(int mouseX, int mouseY, int mouseButton) { - AppInfo info = ApplicationManager.getApplication(Devices.id("vulnerability")); - if (info != null) { - Laptop.getSystem().openApplication(info); - } - } - } - - public int effectiveSeverity() { - return affectsCurrentVersion ? severity : 0; - } -} \ No newline at end of file diff --git a/common/src/main/java/com/ultreon/devices/util/VulnerabilityUtil.java b/common/src/main/java/com/ultreon/devices/util/VulnerabilityUtil.java new file mode 100644 index 000000000..9fbac7ee7 --- /dev/null +++ b/common/src/main/java/com/ultreon/devices/util/VulnerabilityUtil.java @@ -0,0 +1,61 @@ +package com.ultreon.devices.util; + +import com.google.common.collect.ImmutableList; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.jab125.version.Version; +import com.jab125.version.VersionPredicate; +import com.ultreon.devices.Reference; +import com.ultreon.devices.api.util.Vulnerability; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class VulnerabilityUtil { + public static List parseArray(JsonArray array) { + ArrayList arraylist = new ArrayList<>() { + @Override + public boolean add(@Nullable Vulnerability vulnerability) { + if (vulnerability != null) return super.add(vulnerability); + return false; + } + }; + for (JsonElement jsonElement : array) { + if (jsonElement.isJsonObject()) { + arraylist.add(parseObject(jsonElement.getAsJsonObject())); + } + } + return ImmutableList.copyOf(arraylist); + } + + public static Vulnerability parseObject(JsonObject array) { + boolean hasReporter = array.has("reporter"); + boolean hasDescription = array.has("description"); + boolean hasFixVersion = array.has("fixVersions"); + Collection affectedVersions = toStringList(array.getAsJsonArray("affectedVersions")); + var d = false; + for (VersionPredicate affectedVersion : affectedVersions) { + try { + d = affectedVersion.test(Version.parse(Reference.getVerInfo()[0])); + if (d) break; + } catch (Exception e){e.printStackTrace();} + } + return new Vulnerability(hasReporter ? array.get("reporter").getAsString() : null, array.get("title").getAsString(), hasDescription ? array.get("description").getAsString() : null, array.get("severity").getAsInt(), affectedVersions, !hasFixVersion ? new ArrayList<>() : toStringList(array.get("fixVersions").getAsJsonArray()), d); + } + + private static Collection toStringList(JsonArray array) { + ArrayList l = new ArrayList<>(); + for (JsonElement jsonElement : array) { + l.add(jsonElement.getAsString()); + } + try { + return VersionPredicate.parse(l); + } catch (Exception e) { + e.printStackTrace(); // oh no + return new ArrayList<>(); + } + } +} diff --git a/common/src/main/resources/META-INF/services/com.ultreon.devices.isolated.storage.DataStorage b/common/src/main/resources/META-INF/services/com.ultreon.devices.isolated.storage.DataStorage new file mode 100644 index 000000000..af66b1dc9 --- /dev/null +++ b/common/src/main/resources/META-INF/services/com.ultreon.devices.isolated.storage.DataStorage @@ -0,0 +1,2 @@ +com.ultreon.devices.impl.storage.ResourceStorage +com.ultreon.devices.impl.storage.FileStorage \ No newline at end of file diff --git a/common/src/main/resources/assets/devices/lang/en_au.json b/common/src/main/resources/assets/devices/lang/en_au.json index 3d83bdfe4..9994341e0 100644 --- a/common/src/main/resources/assets/devices/lang/en_au.json +++ b/common/src/main/resources/assets/devices/lang/en_au.json @@ -23,68 +23,68 @@ "app.devices.pixel_painter.author": "MrCrayfish", "app.devices.settings": "Settings", "app.devices.settings.author": "MrCrayfish", - "block.devices.black_laptop": "Black Laptop", + "block.devices.black_laptop": "Black MineOS", "block.devices.black_office_chair": "Black Office Chair", "block.devices.black_printer": "Black Printer", "block.devices.black_router": "Black Router", - "block.devices.blue_laptop": "Blue Laptop", + "block.devices.blue_laptop": "Blue MineOS", "block.devices.blue_office_chair": "Blue Office Chair", "block.devices.blue_printer": "Blue Printer", "block.devices.blue_router": "Blue Router", - "block.devices.brown_laptop": "Brown Laptop", + "block.devices.brown_laptop": "Brown MineOS", "block.devices.brown_office_chair": "Brown Office Chair", "block.devices.brown_printer": "Brown Printer", "block.devices.brown_router": "Brown Router", - "block.devices.cyan_laptop": "Cyan Laptop", + "block.devices.cyan_laptop": "Cyan MineOS", "block.devices.cyan_office_chair": "Cyan Office Chair", "block.devices.cyan_printer": "Cyan Printer", "block.devices.cyan_router": "Cyan Router", - "block.devices.gray_laptop": "Gray Laptop", + "block.devices.gray_laptop": "Gray MineOS", "block.devices.gray_office_chair": "Gray Office Chair", "block.devices.gray_printer": "Gray Printer", "block.devices.gray_router": "Gray Router", - "block.devices.green_laptop": "Green Laptop", + "block.devices.green_laptop": "Green MineOS", "block.devices.green_office_chair": "Green Office Chair", "block.devices.green_printer": "Green Printer", "block.devices.green_router": "Green Router", - "block.devices.light_blue_laptop": "Light Blue Laptop", + "block.devices.light_blue_laptop": "Light Blue MineOS", "block.devices.light_blue_office_chair": "Light Blue Office Chair", "block.devices.light_blue_printer": "Light Blue Printer", "block.devices.light_blue_router": "Light Blue Router", - "block.devices.light_gray_laptop": "Light Gray Laptop", + "block.devices.light_gray_laptop": "Light Gray MineOS", "block.devices.light_gray_office_chair": "Light Gray Office Chair", "block.devices.light_gray_printer": "Light Gray Printer", "block.devices.light_gray_router": "Light Gray Router", - "block.devices.lime_laptop": "Lime Laptop", + "block.devices.lime_laptop": "Lime MineOS", "block.devices.lime_office_chair": "Lime Office Chair", "block.devices.lime_printer": "Lime Printer", "block.devices.lime_router": "Lime Router", - "block.devices.magenta_laptop": "Magenta Laptop", + "block.devices.magenta_laptop": "Magenta MineOS", "block.devices.magenta_office_chair": "Magenta Office Chair", "block.devices.magenta_printer": "Magenta Printer", "block.devices.magenta_router": "Magenta Router", - "block.devices.orange_laptop": "Orange Laptop", + "block.devices.orange_laptop": "Orange MineOS", "block.devices.orange_office_chair": "Orange Office Chair", "block.devices.orange_printer": "Orange Printer", "block.devices.orange_router": "Orange Router", - "block.devices.pink_laptop": "Pink Laptop", + "block.devices.pink_laptop": "Pink MineOS", "block.devices.pink_office_chair": "Pink Office Chair", "block.devices.pink_printer": "Pink Printer", "block.devices.pink_router": "Pink Router", "block.devices.printed_paper": "Defaced Paper", - "block.devices.purple_laptop": "Purple Laptop", + "block.devices.purple_laptop": "Purple MineOS", "block.devices.purple_office_chair": "Purple Office Chair", "block.devices.purple_printer": "Purple Printer", "block.devices.purple_router": "Purple Router", - "block.devices.red_laptop": "Red Laptop", + "block.devices.red_laptop": "Red MineOS", "block.devices.red_office_chair": "Red Office Chair", "block.devices.red_printer": "Red Printer", "block.devices.red_router": "Red Router", - "block.devices.white_laptop": "White Laptop", + "block.devices.white_laptop": "White MineOS", "block.devices.white_office_chair": "White Office Chair", "block.devices.white_printer": "White Printer", "block.devices.white_router": "White Router", - "block.devices.yellow_laptop": "Yellow Laptop", + "block.devices.yellow_laptop": "Yellow MineOS", "block.devices.yellow_office_chair": "Yellow Office Chair", "block.devices.yellow_printer": "Yellow Printer", "block.devices.yellow_router": "Yellow Router", diff --git a/common/src/main/resources/assets/devices/lang/en_us.json b/common/src/main/resources/assets/devices/lang/en_us.json index ab39bc001..87f5b2b27 100644 --- a/common/src/main/resources/assets/devices/lang/en_us.json +++ b/common/src/main/resources/assets/devices/lang/en_us.json @@ -23,70 +23,70 @@ "app.devices.pixel_painter.author": "MrCrayfish", "app.devices.settings": "Settings", "app.devices.settings.author": "MrCrayfish", - "block.devices.black_laptop": "Black Laptop", + "block.devices.black_laptop": "Black MineOS", "block.devices.black_office_chair": "Black Office Chair", "block.devices.black_printer": "Black Printer", "block.devices.black_router": "Black Router", - "block.devices.blue_laptop": "Blue Laptop", + "block.devices.blue_laptop": "Blue MineOS", "block.devices.blue_office_chair": "Blue Office Chair", "block.devices.blue_printer": "Blue Printer", "block.devices.blue_router": "Blue Router", - "block.devices.brown_laptop": "Brown Laptop", + "block.devices.brown_laptop": "Brown MineOS", "block.devices.brown_office_chair": "Brown Office Chair", "block.devices.brown_printer": "Brown Printer", "block.devices.brown_router": "Brown Router", - "block.devices.cyan_laptop": "Cyan Laptop", + "block.devices.cyan_laptop": "Cyan MineOS", "block.devices.cyan_office_chair": "Cyan Office Chair", "block.devices.cyan_printer": "Cyan Printer", "block.devices.cyan_router": "Cyan Router", - "block.devices.gray_laptop": "Gray Laptop", + "block.devices.gray_laptop": "Gray MineOS", "block.devices.gray_office_chair": "Gray Office Chair", "block.devices.gray_printer": "Gray Printer", "block.devices.gray_router": "Gray Router", - "block.devices.green_laptop": "Green Laptop", + "block.devices.green_laptop": "Green MineOS", "block.devices.green_office_chair": "Green Office Chair", "block.devices.green_printer": "Green Printer", "block.devices.green_router": "Green Router", - "block.devices.light_blue_laptop": "Light Blue Laptop", + "block.devices.light_blue_laptop": "Light Blue MineOS", "block.devices.light_blue_office_chair": "Light Blue Office Chair", "block.devices.light_blue_printer": "Light Blue Printer", "block.devices.light_blue_router": "Light Blue Router", - "block.devices.light_gray_laptop": "Light Gray Laptop", + "block.devices.light_gray_laptop": "Light Gray MineOS", "block.devices.light_gray_office_chair": "Light Gray Office Chair", "block.devices.light_gray_printer": "Light Gray Printer", "block.devices.light_gray_router": "Light Gray Router", - "block.devices.lime_laptop": "Lime Laptop", + "block.devices.lime_laptop": "Lime MineOS", "block.devices.lime_office_chair": "Lime Office Chair", "block.devices.lime_printer": "Lime Printer", "block.devices.lime_router": "Lime Router", "block.devices.mac_max_x": "Macaroni Max X Pro 5G White Ultra Ex 3+!$", "block.devices.mac_max_x_emoji": "Macaroni Max X Pro 5G White Ultra Ex 3+!:thinking_face:", - "block.devices.magenta_laptop": "Magenta Laptop", + "block.devices.magenta_laptop": "Magenta MineOS", "block.devices.magenta_office_chair": "Magenta Office Chair", "block.devices.magenta_printer": "Magenta Printer", "block.devices.magenta_router": "Magenta Router", - "block.devices.orange_laptop": "Orange Laptop", + "block.devices.orange_laptop": "Orange MineOS", "block.devices.orange_office_chair": "Orange Office Chair", "block.devices.orange_printer": "Orange Printer", "block.devices.orange_router": "Orange Router", - "block.devices.pink_laptop": "Pink Laptop", + "block.devices.pink_laptop": "Pink MineOS", "block.devices.pink_office_chair": "Pink Office Chair", "block.devices.pink_printer": "Pink Printer", "block.devices.pink_router": "Pink Router", "block.devices.printed_paper": "Defaced Paper", - "block.devices.purple_laptop": "Purple Laptop", + "block.devices.purple_laptop": "Purple MineOS", "block.devices.purple_office_chair": "Purple Office Chair", "block.devices.purple_printer": "Purple Printer", "block.devices.purple_router": "Purple Router", - "block.devices.red_laptop": "Red Laptop", + "block.devices.red_laptop": "Red MineOS", "block.devices.red_office_chair": "Red Office Chair", "block.devices.red_printer": "Red Printer", "block.devices.red_router": "Red Router", - "block.devices.white_laptop": "White Laptop", + "block.devices.white_laptop": "White MineOS", "block.devices.white_office_chair": "White Office Chair", "block.devices.white_printer": "White Printer", "block.devices.white_router": "White Router", - "block.devices.yellow_laptop": "Yellow Laptop", + "block.devices.yellow_laptop": "Yellow MineOS", "block.devices.yellow_office_chair": "Yellow Office Chair", "block.devices.yellow_printer": "Yellow Printer", "block.devices.yellow_router": "Yellow Router", diff --git a/common/src/main/resources/assets/devices/textures/gui/laptop_wallpaper_11.png b/common/src/main/resources/assets/devices/textures/gui/laptop_wallpaper_11.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3d8177c611678f7b3b99ed0c21ccc9a2277776 GIT binary patch literal 2207379 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

=Ly+Bf*w>))c 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

RkEkCLR2^lPk_;h|L-n z?NWZ@Ym-Ap8nU9skYsJAB{Tu_6=e@hczXKeltWeFA5x&A?8s8JPY_P3I#WTZuV>S( z_W(QOrLhTn~v)WO!)4Hd-0Lrib-Llw4K;MOY?0F+w%z#!df{rR8iDYbMxZpx1^ z#ipk`(skrMpILY#_5PmDG)FrD!1#UH^SsW}xBA%uGXK++dFi{>)D~(ya!4Dp+wZd6 zIheWv1S7X&idO-M2ii4g|Kwy1h!*$mpYjin|F1ZkEo9-pnAq6~EHWS$h1aJcCx;f- zz`w#4w61PpF34DWxr8B3)>85&KT;8ij!Axq-5VH0_Qx{`C8a3=a_6Qz#`i3zlib3J${h8@UKVntG8R)zFVq(&(0CIQm9yMfNHd&!7 zz?E8AD^jB*O%*&U!v=@ZgXT9*Q6Oq#uOyM~(8Rikh1d20*-~gUrcUwv4JuW@+_5t#$B4`okqVyiIpGtzBWXeDl zmagO%)ceLA*&MC-qQVjfXLS7NDWv@lJcVI*JRUFL!D+qW(#G6I4gw|kAh}7VB)6@F zyP#jM_v9}}h{ZY${A|JQ+UXi4rW*DvL?V7lR-IDej{DAGr5-H$dl-FDO=bU*Z%D}X z4lqk`5A>JLK^5fUGpgzZ4fXX~@uVI_dIhC%TK-BpOMY2paeA|QDtx>dVwx`n4e`vS zJQLEf+4~pdcj4)znnPb0lRSDJ%6|?rtlAKSxewK zzK6XKg?jK%8$c5@i40F2ym9idZsF%tvESU=J7ILKP2iejc#PWY7mBLMgjhbh(ergDDJ zLncl}9h=PxVWaGU>2eABa%I(L?JZvr~Wm29E`)4rMi0_qcE@f)z~TQb+rf~`B;#_ zNhajVP(FBnHaQ@#t(3N^=aB;qwa6EX%V|Sb^N_7<*Gp41k%x)e+FJT)e>yzQBWUG) zuOp5tTOFs%TymS7(aAiog^g$a5D34ggRk)Dz21Go?N;x$(W92%un zqFX+GPpz(_!+ZBHVGC!+(H-dT-hTb-+yG+lkVZs6lomB+TYHdWUzu+pdO+_GMdR>; zXnV#jZ97^mZF^@HUam|PdU3L(_o~nM-)Z#!{MCV`aBz1BxcoL9s)^#GLrY2dl7mc~ zh-BaHdk7vYknjMk3}^|0o+nn7)N7j_8n?x&2;x=c<%$jWAvBHVki~vzTTBi8xPR#7 zgos@oIb{{ohy`iP@??{MI28~!MR-4kzpP6%%rdTSZt!;y6j|W%a`qY43S$cXR#rjz z_4mrR9{kGmiOu!e$=Z~1NIthQsGuO<#n}bq;nsoXQ_^5H9B+8r*(}F;Fh=(LlObQ1 z>_h6`^$w;ESe|I*f9Jiu$w}PgCj-la1hGGjwSNMG^Glc41 zF0^Og#~WV4Mu~@6Rd=7zo?lLR<~pG4D`1Ze2P5o9G9YCY#L9a7-}3x0LAyqE@T$i< z=D?$ihTC7|HLmYL=-|Mm0QxJE!kpA9izw8vtWYG3OO=Q~l9JN{6He6Hc=}7wFQX>o zOa#Ypeg7^3av5k%z3};#H2f-kGPCO*vwQ;)_%pDj!QsN?^V0%Yk`}1A4j#c(0PA z-deD6_uoHd8kl(egFVU@Je?&?}QNetSJw|HZ+5AZh4zqpMC0B0E7AU7f&J@rOBN26mWO6be{_FSj@!{pWd zQ$v8-1}q5(?SA_)@)rvdou|X{=M5p3^1uPF3kvJAy#)+crq3h?$GY8lVJ@!D$-Upz zvjr1+zXKJiJHn(MsjFQSqzQB~E~eSy6J{c%40KZV_g?Y#L;khyrrzxDvixb>Ap7h= zLa!5%sM4z<=gwpJ-oD1cbo^7W5UCj6q0~A7_={04O0ygu%drj2)N5+dA__aB#>D&^ zHXmVBj%M*-k;uh}?}-b22ALIkj&el%s0tu_c3|V)ZYls$Saqo73E#)H=(mWLaVa95 zVlAt0i8S@3>hk<(`2L+J;j+QTx&}+6vj%Uly6GW|ABQP~5?Yu!i$Dkf?nwg40j08x zgHSK^l%1>9ttxw%5WU|$aQeE~V&+wC9%F3& zF~P|05gcI^4W`pM+4q`}+KfGw75Fkk{$;-HNP&3J!Z$K8xEw)oe1}&B`*-8SHz26k zNFV}(r{Yh#+zWzq~nUu7gw6ruzV!)!!FXMI5EhLixn>jYr)W!6jHko9T53c4i>+~LOiSC2z)ZaHrHo?)n?R7%{*YADstnvqGch#}TW3+DNX< zMx4C=+53!+{q7O2Jf}fNjIlm)4Z$;+`x?tQmZ6zY(D*nSYvl~i*(2yJ)8`ti)P{96 z#xH(fUWa9VX{d7{mNq9o>B;RexzoNdFL~BiP<*?~-BaXMl39HrC&G^DIT-h24N4xz z9-GM_aI<$lff5Q%11(j@$w593c|5TobJ~}cK-%*Tq*hckR2DQaj! zLw&;(z{m=*QCwS@L-DUki;F)CMHfETBi8}-Z+hFZwO4InQUD9*BfBj zxRYTmZp5zPG;sCXmI*K&(cld59(A)EK$mh=M?vbE{_3?5RVxB|R z;T~b#rYLjz&npXotRFgbVIGhO#wE1Ch}Id^U3X7{OtYzAwTMI36olJ;zntRy(^%tL zZElugiIUDF#>0R&PSvc=8jZoLaZRc$G8Z*4lHMVu@Wzw5az)KF*IE!}3beH!si^3> zr9K9lL_0n8$B-!_`)S7a>0&SG(G7Blk0p9)bK|CeiLZ;j4&jGCV=;~nImP%=i`$;AhZ$*Cm`?xlaf z9Ct4r^Ry4h)67f%(%P_`#b=?9w4yGc=-C8g3)hFMMSbEwikSbe`6$oJJOMdx^ZK8Ysq$_KWP&vrnb`kyrF ztdGdTqL!;~t2A_JUaL;~{=tJVJwWyC<2u)Ixi-4UT%4kdy!)O`_{SPimsc&acvO{^ ze0=H`1ubg>ztcaYnvvlI9&bneHY7w|eZP3IxX8j3>%HkKN)kFzIkb0Sd2K27uzS94 z@XPw&`Rjcu}9O|9oO0&@;MrS;`0Q!``K7o z{{UJ|Am@d>UJSXO>o}j?7VV8m-jdlaWoX{|1N0uHQTe~Ta$x=3g?|F}cIfDTK+crd zI7BTIz78SMa8Juo(@1v3goTEsD@fpH4fvAMLn}AUn@AoM^Xi*~(9b@nEm=}{FIT7d z#wPttn`f~v7_egMlJx+&{Xg`73S6Zr-(>7j6rnht;znI#C$#CT9nuNfqomD|wa-PO z&QYqL%O!p?WhHG<)3f;2twTgJwr-|_^aHI(Bp8IoJkZ%*^L1avZ32y8WQ8agWOA}sDeMe4TT2n8p9QJ`%J@#W?J)-aRrKi95FI)d;pdSc0vThj)T4?Ew{ciKyQ_hlHnx!zf)NygoX<+06I)D3%rGnZ;ea(7$d(*e=ACvB;QUZv}W`U}0<_ zfycn|SYm(5s%6MabmQ1xiNNPhrjZ5{{UjDgZTqqrN(fv}>PuU-xv+t+^?j#Px)Tn*d-@)yrP zM}u!fu;-NAq{rx+W%DU9puRJ6LEH{-9yauStn^&1wZ3W(nx!HCQIpWMPFYVPI6#yP zk;YZb7l9%^c>b(-4k2&BtvV008!6>+K8#`Gu>SZVznEA!FP!A(N3V<&WQv~g6ZRWw z6`;5meJ~N+&G|A6+T*e-RA-3M1B%%Xi*&t^ozgprN3qmR5mmz}dH3%}Lzc>FEvTB40wbuRh5C z)b&VUE|!#E#_C>LW|LxS4X9tSL=E50p~#j z6gp*9czeH(7&$q~lW$eE7gxt2#}PgRx>&!gE%_kt(}Cr3?ShMPw#y0Nc(gR+RQ_tW zbdYK8s@vrH^l&m{FTL<$!s5F8SpID7u<&vNGkJY9+F%c$goJP_4Pt}iVkoTK^N@$^@Zgf&fqRF%>y|}`^4LF-s%xJefr-% zzR(%xR?dXUl+cVx~UKElXQ2Au7ysQ<~SNe`bjOPBd?Qwo%UdXYb7i2cICZhX+7x z!qjB2p@hGxvNA`ip!P9Y+Plbv*hnC_HH7-bQgLg&eBW$O>d8}XB1?T+q@9TGi{IcI1+1asnp7+O@l1Y<`_Mf*+2gJ_I{;BJv%z0E9RJR zeKA<8s(5LBwJa1oirKu_;5U9AW`XsXX?8ZrRLW&?u*)@|d(075&2`o^fVqDh5Jz8D z^V^S$OXLnj=8Xo}cqFmS$J1B1(66Yvj~rlXxU5`;WpSUM#}&coY|T!=kBJzbIqb1z zNZlJ9veFf=bcU#8C@BXrp^uI}^LTHlE&5{>&bF6V<&k1zU5C_tnz&Kp>_^htPvBu- z!&-|xq1A|muhKGk!=9BnQ}@#yQIFyravK`%xNdxyBr-)c*adqtVkzvxJxXN*r|mr_ zK+vn~0FdGbIcJdET^BE={WmkuW`#cy@1uG(EH#!62K+ZG%bGCA?Io?4%&2>4_;2=&n81&wIxtmIn%p;?( z;VH4u$Ugp3IDHod=moOW2rriSR(zB9N`zP^_@!QtU!N5MWllf>zMJRT z@%H#TZKm#sS%)b@RK{39=PUl;MTt%|1d!iY0R{_IwH^L$ZaXa_LAZcxoXmEKLu-hy zFe^=b(U*YZ8a>CLpdf2&&OuQ$26IHTxSl4~c6PiP3c&vLD7^l&IpYJcp<`m3&3)wt z>-i^Yu}8U25_JbMY@IbaCs%Kt{BS_GyN12vgo8EpeD`QU>cJD90~b ziJ+Xfw#>1?&sb=J7ft5;7jT>8iskD)D|obwkX(Q}d(@k0akaF>VYE9YcX&lcMut0m zyl9f;;5>9Ka80n07Wkv!uizlrTvpbPw9ZBWPF$h*0i&7Rtea<$HwQ*p1sY{W1+H(L zAF0(puIdh4d9Ip<0Do-IbHr5sYjwDHy54YEHDZPm%6b>c{+C(G*YbrfZ)rQ=T&1Un zBs{Gdj8R@;4v6SzsCko%;FddUbw2w}B0TAJCrrg@vCDETCl8Mxw~T{Cw-Meb!YTpnfPM;(yVzqXl3 zxXJ}wL~;adzc1DD?;E-7fwBDz*qvh<`$zMKtI`E30O zULBS&h@Xl=&33<02H~f>++Z1aKRHtqd083kVao_cgnuv-k*aE28I96bRa|Ov)-QXf zsLjL+{@f*27FT9A{w~}hJKpiB_T9voXRgGE@?_=ja46^tHc)RZEGgL7zY`>w_{FE`nh52rAFDLF%`p*xp!SHtJ;UBXm$wDrym#Z zVWz1oCJ1KlmsJ21fUS6;q=xE>f$k}_PM$~wu-ve&lSxG^*yJSz4U&(3$t+dXan(ezxl1)2rV)|Ydrwnn*WAzj81;YrEKHkE?rU;1FQN3<4xhqnkZou|9n z;^IwYbdg|cQXO_q6*czK`T5jmr0NKPI4e(Q;>ROb$5!+}th0avEBX0s;cA&ql5ePMOS4BIHjZ zZUK?&{XvVXwO;vF-}OBp{B>v^vQsJ)QtC1+G#4Z!D*GqIeR&K6Q-kk#wV1LT0EUH= z?d*ne0KSPB1jxC|fsacO9IK`_s-BNBX`t=rTWz4vZEZ4zBZKv=?#sxuGVby_#3A&I zP`=h9CLyzGgJm1h3WH^)&YkY&kgFqgA*^hUMvWQv>`G>v;J7_Gn)jg0gjjy=6wWj(HgY}wVZn_sj3=RBu(lJ zsGx+zR7#$=>icrwI`-i~?~F{u;R8nZx>x*z6{Po*{jmtDZG`as3xm!t!EZfWWyeMb zEXi|>x48pMSSB1>Oot@!_%X5O9<-}7F3Z;PfSR4*79HrGFozpBGL|P!72u!fA|22X zJ|fY~;mzn~@mK0(aSRMMzDX6_5-Dg?ugfce(y_CPh71&0&4Y%DiVdJ7bZUvnOwI9B z#}6+bK)q7%Uq3qM&7E#;m+I1vUjScjV%g*D{qE-AeTm#wbFGnrHsAGsrRr=Q=URYMBC4LAyDdQXa%r7zCkrY}+Ic&#bUtj)JS?_1v(HZIGOpg#VsT0p`Zv|s<4?ReO=Bt=BeL|kaQRquy#S}u4*oN+`9*% zq!&dfb9`hFZt9_l`M&<9<8k(gMW+t%dCa94Oi~Feb@Vw!%p&HnzPdm*a0x!N&mpQ> z+Wxewi7e$HK>m7tq~oY+P7+n%#ZggK6B8jv1~h){x$VPkLL@)sNt4^7rR3y}2>;Vz zI?uFLHyR*cm`$=;bxy`ZL2r%FF0&nnPMxR3>yb|~r zeav>fNUX&gWG(}d?^;C|(9FvqF}jWxvH^eo?|0FHdcP=jUdj*XCn)dR94Iet zY<4`rP~XtdR=}vGJ2=ZVNZum9`aaD@#FyAFV1(U#zU20v?8x@X&e}A_2{4f@?w({C znzsaBp7j>~@!OdXgIEbO2VPUipDfUZ{BNStx%2H-@#tFH+~wB)SaZSuUJ9YniC$G9 zCp|2Lw!+JnS}{$4$9;AQK-OnZ@XZ}}XCC$M*XaD{ql-#;C*p#|;7AZq1Vwrxl>Ni} zZ~Y;}kM{|`b)>@UvZ^1ryy>dd@RnPi%&K9^9c=Cs-!_CuwZ)bFI^mTq&&b(vC ztLS-R)9f@M2^^!Mvf9-AP|g=Z0z|I980(|rpPM+NULqgoh*eSD0FLUZTJlGvLcOA6 zIePGpi*FS62)7=g_IvK(KJyInkC^TZP9RzCSS@K#@$$lZXJ6@6?OMK0h(jn9JRu*h zEQ0Lu-wu<$Fvxv`H*y9}zi^Vgw)&H%s+RLul^$MYXengKua;?$ zv~DMoNV~IH=f7Qvun;sHUoWY2guc>YFr`{;f13qGmNI{zzu^b(X@S6D)AxIBE^?4I z;t`Rp&XbdPVyjg?U#VSuWRn{2j-vm5?)Z{^c;%y@Slp`_) zMoH=^0O;;WPpvwBYR(7+km)#ShNZzsLR)J%bqZF)MYdUWVxgYj7a@TqU=g?IxEHB# z6Ny-zQqos8^eO+fClmGWL~E%(#4SZxtp?Z zu#408`)#KDXAz3l!xUIEowO^NlVu$`Tk4{3~fG zxrg>rZJ$}RwP6GY#D;WpVIqSWDkBFS5FGeuWw%l5kqE}{XkAu+n>la1p z=5r!$j6xy*N7H#fQvLpK{21Bg809F%u~&8+BXsN?**ha4*;{s5$KJclj6=q;kC7ZC z$6IoQ9LhLG9D9cE>+{3cAK;gB?)%*L{k*QnLp5$vl7r$4EA&RZh~<`t4i5eaLKepl zj`3~qxFM0v!j?CgLn^zRDMgLda#AIUy3=wt_fokH)pf(k!Zb*y*=(-MrwY}Tjes(w zxqwueqX|U}!2^*!sVlNBBmMG(o@B)p3vE^AH;uwmQrXcbAwyT_ZX+>hkOgxl<;j*? zfKn~1Bc@|dNK&1o0Pd-DV5?TaCzIzCkC;yd+v z#((NZTe6}lxl=R;v@ndL1G51r4wq(bhIqXe?eD^4Nkg>~QJBI)clq3_UD4~Qz{Rlc zJ>wLdDbg7ZY|?H`Kdsp>F%f5WJ(p|rU!_n0>R@qp_VT#B&!hhA91wif_3e*M%^m_< z5B4n@4cv>AE)JAL$HF~f|Lm@Zh!%vg0p&y|*j*rkyly>jy!daZF=G3u^kSYE9w*t+ z;oIwRkH%IY{o@xo%6ND8t&(+s+4gbk_*dtF_~+lhCxLm+>R4{-Eq1^_QQGN~4~VOI z5<;%gfvKq}(lat#>At<+nrY?b1Bt&_Z=G8e-s@_Jd6Y~$8G zBUZNrtFCcI8!tv2JWOY?Xe4sETQY$<(-hMVO87ZARGviDdmDYVHKZAE;j4~r(yfGy z-YeGhejV!W8Mw6<(~bWjtUjO&3UMr`N?1X+;NNO;cVuxUL@KIAr@hb?oNWtf`agS1Y_rUBL(S?m{C#EH?bTZ<){>XEsv1qK{$40;-kmoQ z>MT$xg`*MK32VN7DYr29OEKa(5qtH9H*>=$fAz*02TY}31on=DqD*-p?!V1(_->M@l2eR;va*c$IX5$;(`Zva{do9{rc)VnBNu;W zuO-k~Yc^rs>*pOfA%*<&ud(-FVZoR1?lP)9!1vAN;qIqgm&v(h4SKa$meM!jj~eT7 zu4NVdwmAwNCtAG01-m+-EI>QSM==mrq!cI;3+Ask&3@GSL*&k=2L18Y(hJn(@bzgs zJAS@BX?1mc+q<9{yy<3<^Y&?3v&Ry(=tbbI2aB=_D?`dF=-{c3!YY^y?wZ`&8og-$ z*D#2(s-x60gE$6+ldWXr_=G_w56cq*0FHU>G*AmnIgimKS57br4ecJd2g)nbe-{&8 z%dGC^pZT%Eqpr#_J6PoHC(IY+x*;j@nMd~V{aqZq6bs>KtEw-WE>^1XMbBMGtN3`A z*gapD^oGsd_S+)Cp0ei2!nPdOovi4_@cqGrH)#^T*^o`?@G|4S`y!=M><04m$1Adm z&wC#GQ~FILlyF}L;#L|olrEASVyT*R1FN%bYHTx0&3{Csw-wv(=lwekb zHgdxM96pP(rQD;nmfk$csH9amkCq`bR@MV)MB{LXr$4_$O|Gw8gm0? zzR8TXHt~&>j8+-PpSd955i(0R%UJL?Wbo}majNISw*y_R0Z@-*Z~;$EwC0!_1K_lp zC|0^|vAdKd+7$5GUB9)1$;zG2TyNT4E`=_tMAlk9?r2vk)a~2T>8r>(Pg1%b17=3R z(iR@8%GAo>Rt0$YSgd~IOkIJc`@>kExx5EGytr%@?gI`-43h-Klg{f?_N$5pA%SUN z@z!<$$FeJI;PvJaV41tnP%_fK|KI`o0y~es`t(|``4&XQzSy+lg17sJscM+u#Fm_v zDtQIfx6srPR)+#!v~4Qi!fJhng5C5uaQuMTd}C*S09=FWk9IN*c5HgQHgMyG<$Dki z+0dv{b9ak7(qnV&SEmQ4r#*rw+1O)gHvLMPctjcbUhiH)mN6;oTTm1@ze(Nd*;bo) z*CR{$^5PbZH%5gDH=6BJl_-oTguDmuWm>U#0Sp7g%H>uw#mVLp}3wD(PQRGy61 zOk045bs0N54K!;9JB35k=B1d+1MzYH=~?&O1RNe-to&^rOssd*qTQz5F}~@ z_QVhGD*%>#PM5y^cN3J@Gzg;PRDQtlSZ({&)ZDb&+jxlg8-)N0y zoTC{pyFAzCkLA&lSf}4tkimR=At_MlD}wo{mRkZ~tqfYEVwZ~Op?+EpD}z3r-=^ps z$VuOiKpcynAn+FbdA!;_0${W&^qqnMNxaTVVjZ^(hEJmVY+$%ftp$ZXnABi@c;^7{ ze=BxG1pX8a4ekXhM4C}g{^qLn3AeSi<8ZhR@W~E->>QnqY8Jj_pdV6h==n1+szK@c zGiEI$LacuPl-MkqH+h$9+ZNV$@+WyOXgMz80dQGNAclW#T+&2grj)+P5#kOAL{Pd4@6S0RDdRW!EQ47!H{t+-N(thMU*%Yhi zLye_=xYr~TG3|{(nId=YfPD4{B#hh-_acF=iN@^Ko8Hvr@%HPElHyOfK6%SUdj{e{ z=fTqCGF4txa7HCQ?iMc?8o(sPxhYMEF8}H?Q1(Z`gwtFIhCe+VOC>G>7ojU50o4dG zHe_RV42e(g*+1H!1qO<vMqMT5w2+&(UU!JWIfJ>h-~O*X3Su z55I=HyGC{O*1f{&YCcmLAQ3{mlIipJ^ZI11s}Z9(ypBG?7QNkI%_Kao`7!F`v%3xk zYm^&S8v--s=XAgiL(fUBsErRU$2r(92v#`WiUS@yyIh;OQgc4JyVv- zE1;D}L1S=^`K~q!7w)I6yoNp!g(ysDzXPl{_+m#}zT}1VDpq5Qj3v=qJqpf2j5ekw z{QLI(CVwUK$VjKL7PqHfCf{i1_IP;yRtW2xd*~<#IWV6u@>QqYl9ONrdtqYJ;MxN` z1ckK5!rP9(Mt(MC)_54|Y$Ccg^~~Lp;)zd=mk0!d)ngo2s>{~nbpxN)-E`J1#ol&$-9t*Q^oo|+S_FgOsy2fvjuqC0aK$im>3R^+ zN@N?}B9YG#bWv)NnsgwCziv$p@9bTiox&{9{*W2{plFCJCkYq|QW1%#r8jpU&y3|f zh=MR74m80%^Pa<==wkj!@~IF9DGi3if;&;foRIDh_50XHkIt35ssis_uc6!56aPICMl)|@pppWQ$;ec1|Z#L6jTY@PQcL* zp8|r$0^Ieulao$n(|hF}GFj7e5+Zrv=`cg9LKf!&;Hr2yFBwnF_<->(m zxN}K|dr1gMY}Z(R&q;Kkp@~w;&Yym;Y{0u$98T7?UvBgPAx(C6d{^knKzR&{=Py{h zZ}0S6T+nl(1NZ3?nqJhlry}|BZ5@(;8hct7EiI3J5N+BHaA*rtW)MuT|lW|9A{24Wc+Xyr3o-eofub*q@gXMNm?o z7sZZ6v{;g^Z&RAUsI5iV`F=Q+ruOfiq)D>Ktgjc6Ob?fJ1!t#G`0nPJXIgV^Q+Eer zpK5)LJo?&eM7_*L;>c}qUs*I{KU(L5F~BKgb%e(&J}q&v<}mcbJ$EwFOex}bbF9d4 zE#Pccj*5pLGW6e_CmwMD5*wa;`sXIofCYw`gKIdQmspB{v zKcxBm%^RfMalJG%8!3RVefghgWfndTtm*Z;Cs0JQvg7F-#G{B-ksKi7CP?XoUPh%w zdymTI3O+AlP-B5pF+iBC1+z74I?{@0p(Y&PJ-RKCt+>ekQ`Y5Q!R&CDPNqF$S}>uo z$`mfvulZxvWr};RBR@=D=$xU9nT^ZR9i$?db^HJ#u6rN7B z?ermDp6J#A(Zkq&s(f9exOgLE>7qCOVU9_G6U6J0)$#skX*s=T9(tZX43g*~Yu%jv z%VA8a9~yEp9f$Zc+N-h|LocJfe{3f{Ut#Ow_IM`aVKUoxvuYI*L`S-W*khs=aCm=f zJSKhw<~YK&Po)XP@Ixp7D>W%AONIt_G$axlM99uk{le;t^P*U>^2yj1BO!7=4W{3_`| zrByPMoa1VFd_Fb%s@D>ryAecAyK0b=MUtw!cv(X930TW}r+yCy=N>SZU5{Cs%-aik zIOeNS@tv+CXs4x-WdErvVfkoFMvVPxKH@S$r~#;l7vLo9q2xTyyNcP-VagQg3UMD{ zERY!S0VxRZ-_StyZS-rfjfM!>a&9U5YB13AYF_D5^1ibttU%OEa5N<53EH}3aqb*t zcZE4z-`yL$1Q_7YuXi3}er~4{xdnr_U2L~cXlS77U40S6;y^sw>-V1|(VkOc-{tV) z`JfV9M8qceg`C}rvw{0o{q*!cOT_QG#ee5B5xbXtCTud&xKS%ll)ZwX)|8v7wbf!P z4&NOSfvOF;{9vR7+|H~D32kkusq_H*=@_^6X{H@Rg*hfJ)YWyFx6U0*A!X`cs((Jao!Q3zoEyVVuY^@IrfqNx}wW@jwq(cDZ_{O?2lQB=*;-qmcSqyY#f*bqQa0K z{JHDVL9K-=;Vm=T=i+Yta=-4Q{45{=f8+|HMrtd&~zLg;#lJIB()xf7npObi7k zSgwuRvY9$LiGuZ+Gq23a{|8VyWUW_PLZAT#FPBh+WeQn#XN`y-@wSP+VND5w|?Bw6mQ$CTulMuqY7Z@u)lCzCnzU zUf-Bob(wQhQ!RqJh?C36%6^kH$zlDn<>_G|IQ@@%imzPRoaPiVip@rc^12Dqhh|#tEuk z)rCWTf-p|ZhEo9#&_}3sdvuo`faAH?Be44bCbOf#G!aVr+zjqW{&({@-iGRF1s~+a zN|E?G8!}}Ol|h!3lJ`>T320APuhp?-56t?7Dn4Du=`+l1r8BG6!_vh@=HKhWyJyc1 zf?V!?sJ?yujNiQ4X!D$0*`5s&;Qsp-UlgJVD-8n5CS}Fc2wI%pKUt=q0(o5(P#P!e zjOv54G8st6Qq=*gLB$fM-uDeZxcHj$hJY$LH1-k3@ToSBkw5i+@%Oi3bQF*40R9f@ zwF;H`){{P^LOn`!2?`^(m>}9N-EKBE{oW4CJM5hPv+5YjFEBH_+~)fFS5T9yAkm|M z7y2~E8F4Tf^pG@Jeb8WMfuxL38oJYW!FRp#KkCh=nQFl3b@taq>4JE*M8DZ~wtc7DNx!#{h#`MV48k?PFQl;KTLF+(8>3n#?V=Hzk^^xu z!>KMUv-lyMF%vatkby;xVC4>xNFP@YaWyeXf9VoBRzh5Hrk8z6>*<<8V-4u+{1o1P~Fsg~S;Q&H(hI3=Qs`@>H-Vs^>=aX!0 z9x2O-JE~@p17wJZZ^6zMV%WL1qk&3S zQ)Df-RwtN&0c1mkp)~jcTekL_>@JR{<+LDhsPhJ?t|f4CWWqmY(LyVP_rF_gAs*13 z)7dv!YeLlr6;&m0q@d+rR@KSJP%7+J+q60*jMf!wRA~XYiyJm;U;CH)FBH_)`@ zTS^QdeKD3E$+RSp%mnS0)U@FQJqNgod=P~M1E*Gnc36C!+QH5|dwp`-T$LW< z20Hj`h=rNJr$On;sc|V`w0`n+!;iDF>w4)4d0Sgk@a1&r-Q!TqM&|NhGe6LC+`)ID ziyp4EY`lcg;qy(~$0`9d(T(0F5f1$2>GA%q)U(Z)lSQ5>pQ-bqKR6AUDehVP&-y}4 zH@}kuTsN_qE#<|SV364zwU&?l&(bUO7BmGChEPa{uBZaTU7Y1W?4vs*J>uewj3nys7&t%y zY0p4^RU1hS!62xLNSJD(SYv^&d^i2ATlWZ7E+(cg2`%A`?SY*I4;BBd2N)g(ltldg zwX<`)_JUh5ZZI|poFM);8!c?my;?GP^UG54BS6sbDA>%2`qsO+cF)UE_UpZB#mf!a z&|I9fbU=d=!G^DTF92G*0jFhR2v}j7W zR3(a3KC@P@`){G{fQ+a>no01gv*k>!B{xTx39f5kwNJGl8(hSYh)r8slJ@s7Fx zi&j+eCq;_1w^(kbQjnH90; za^iaUT6Qc6m8?flS=d}aCsC%-7q`s24_+S!Mz{ooNR*ZwC-#^*v1z&&e~cA>k*wF! zI>Y_|h_)|A8 zdwcz(>DtYc#O9H$>5O_IiH!o@5HhT4b&PAd2S*SEIcRG37sE?J(j;L8cZT-qU~?)w z#2rxu?yBqn!?kaW6mxA^@2aMs$KY3WLIDby#}rV=Zk;ZY%z)f>q*Dm?0Sr#)R4@aC z&j6?5_)mL&ZaD9wPtWAy9IQb27GGxh#%GwIuk8A5w%{KRXR4UJ(RQy=IDu1a zg|xGkA^G5z7-#CpQ>uZ=6J|1J*W>-_*FbtFIOEMZMrQ?XHJxDG=26n==iF&7Lh$uT zsZYgL!>7lxTdEd`!7d~2#3TE(_M_(7+^sE@8mCFomNHmL5k)lKzT?L>vOCa%*I(>< z-|l*hJ9{c~xh^zxJ1pGweNmpbZO-?HQ?m#5c@GH?ict8~8}U1;Tf1 zYH@eb zD7uA_{jvlUr0EnKqp8VFt_(ytu^qbzN^J{?_kD}`Jh z&A7DGh=-u^=+Dt{^gD#$7YNp5^`e6zHwLJp?@{eikH^-=-`1L1VZ8=BbjSrxZ`bel zzq8QNU+CZqoJ{ZDO_49{y+?5@$H%>gm7)Z-Cnd1lcFzdmShm!e?@|{_gQ>03Mzw9z z<$IQhPv|$V6>LKZ#eswai+L%_cEsL{ZRqwU$|d6ZB;tCiG8r2V^BtvBJBl{wy$5ClRuepaEG)O;diidDwf=Y6O4ZQ@Cnq`W= zRnb3i$Ozk=)Kd-*kqEv9=9?E&rN~0wF(6SVBO~oMpQSeW!vyhTl@ut7DCiWQU@yWO z%}o5;d-tJVAe9-B=IwXoTRB|F#e<0T<^S!y=LCWb54bY;3>0I*(I0pEAH|@z>fbbV` zzRDF09si!fe24Ug0j`T%FH>rIP89?-v5^rc&5YL3x9MVV6wjbnR9`XzF_lC^%OGU- z?eE|GJ|mo?eWVNXO?@d;Km5H7{plrL_yLoASUZK#G8nxJ=iFKYkhYUMnQ#l1w%o3^`f``X`c zp$3z{RK(PMDG*8eehhH?{wyPG$7}n)_1mo?RNx*p?twf;;JMKriL$IDg;fMIk|Z{h z{|QtI-UWJ4#LwA-8kElI8!v7ng}#%Q6Is+6zop!Ifb>M9|K1xNeVfE$cXe2e@*S@= zat$D6rlvl)&!J}X&|`r+I`hCe#}|a{Wd3GZH{bSG;x15?FCbC8-mi}9CS)!YixvM0 zx^!2gqNJyf=E`>B)T_gMZ2cBDDDpyO)G0uM^@tKYVtKDj^c>A?P*>%atk12(>T5Ek zPw1_Y7~-5&O|Z4#zyzTDs?zBW-Bt^7TAi6CMUuGFjl3}fa-T{N^vENC-b{-L-X5Xw z4Eqo2mfA+UyVfsDK`-v03T4))N=}X}`>U~);PC!q79Efl@g9(!(xe)YCw*tlnK|qA z@P~($*}&bDSXH_*dj*QkeOs=f6xKmjCZjJ9YcCtl8!CT;a?;lkFF#ljTbD+FBn~Af zj~d+*ZB{bs@SM-LsQ%WIC^JXvyhX%~aC$+fxJ8XkrKQ7qBJ5U&@ReiPZ8Nq(wrfMn z%ToZ4NNB8V#ywfKBVw_2++NIF_zqpoyfH1-D4SH>5z+EaJcoajm5ENAoXDmQM;aLL z5wHNEeEYEiO!r_v<^vK9!DxL+CdkZ*52z;=9?j2!%eF5T|xWkbj3J3#-*WecdeT}e9Pdv>`2Uf zv8WLM03f^&8*^Wror+Z_YahSW22Hfck#qtkg+0u0fw$@PlPhz=dbr_1Ls5cw z>ydw?T0QdEiXJ(*IxpCy7jmKJJLpc;NBAS22zDlp^caxlKmy+l z9e?}A+tZmC@ zw@Hl4NVn%@LE#Iyk^fpB8u4vu{LO;E#Y7;EzjdFi3XuO*g+%dFkS`9rDW&OQ;Nax= za_UGaNE%QFQjOQNd2!!IB+7eBD{hIw2GOsUbBDnkRr@wgo)BmkvNyCbT4OscW7{)1 zv9BvIbGLjPpkz6{5-%>JM>sSX*_a8J`Bn)_y39$LSP1%C>G2L*S>2l{?e6Vv58c8I zufFfAwJNDl#GH68K6u^O*Aj7>diA@}Y}zL<^ddXg*0Q8X-4VEJpnP9fd)!^FKMnw@ z#JDHUL?sxk;a+x*!j?&Ln>05Zvt+(oxI9@W+80K^-X|;oxv_%kWz@|w*xlsf1HuFm zTO~PAxdd;QGkAtEKP>5Sfn+%qaj7pFIORJ-mRDBHW%La1%;l-pq54Y@ZEbEzM z(g&A3qv~?ygqN(2%mVl_TnQWdJosq{pZ4T9)&wC2luPY+Rhsdmt*%(3?WsaerH zM{MYGlmG37-}z8mduwoVHQz@-j#iC|M&)k4le12%aEOfL$|i6pWtM)y2oBJTc)6<4P!e(~9I9{M03obDYF04-l4 ziG`^szt{W{$-S(W6YQ=xuQ}9dA6&u+&tZxG zgB$N|*#J7O-eG=a+^><1_t_ug&DlLY>IDWo=I@rvx-2|cn>!*X%`TQUZURKrx?yJ# zF1?hLuiW#qzx3aJt+2$d>ANHS3qGPyhK6@Ate(lto4+q(fUW!vYu=qA*|5`3^t->~ z*nLO^DwYzx)kfmB?tKYbXw%kqK{RX{Ha1$_cdUSX_3lHdcbjUKXfkXD1c$M0@iK9$ z+pKAoyjVfjxbO4IdCuP{S_ajCT{FCSpq#*dY^rCoh3mq|Ek{$YBv^ABXhPUv+lT-> z#iyw5cr3}VG6|@Yc_j7`l<}E`x?(^knLzd)Q1Kwx%-1u&(=28-Ao=>LXJ@O*5*dvm z1tmbp2gK6oqg3OX;jvUjz5<bJV)M8p71a0<|au}di%n^*`|yIu;`{~x3i_I7=?+_ zvme!q;RoaG_;A8`l8pLRA%F%JXlt{0ta!P2ox6BZ?s>U)jKg+rqctul2e0OQY`yK{ z5%Co(%+baQL8-zVHBPE4f{&O9s9AisIYQ=YcRpetyHMU^7cUHK zNzR`CK{fhL&t`0U!naTN$~Q*$CI<$9i}mHzZnDhcc|O4A%OA^43$rq*=BuWpOx^D} z{mjz4D;iFWxWHe?$Y{Lrs22}!?FIO=VSYx_N0{?D;y;{{kH;IILvyXB7PO67Qb^O+ z0|X#m&fsP;dca_BrR5&;tI-H- zHXC#2A5A>J0NNMW4X`KE$r*~ueu9qNS_^z`2q>=x(r_c?t6q+}l# zWABz{O5KF2(jY!$W$5tmq%wr<;(`@~_^IJ8liVEf>5!nDxGK3U*UkzhYz!K%aBJX_(+|J*(D?V5}UmAQeDU|Ul^v&{ep$uzeV7Q~l zIDoEmWRAP+ttk}N2}MVb%uF+~rc3fwYYZ9^S^BOHfQi(3<-t2l= z$nYJ^ZaC!JN{To)xZVO9)e$G6*Y&pFo?&s6ZyLt|5L!zkx~-}6D5f3%ao$vZB3sV3 zerJLpK05Xr68p-Hi6n{JIg0zwM8uKM@}!re$Mzc1DrRr@&+1qzeJX^>efg$i4C=L9 zak6^3eqdUqtIO;%9Wwzz77IqJxy#H9S9t^k1Y9^?N#S@x|N!9sR-HU5uTL*#lEYX=T?6vq&&l zdwuA5is@XMXjViAiZlACgBUoI(x0&0@PD!AyfF7yx0F0mT%BeBYA1AX>;JO=q-ykF z`6*Mrv7IY^466%-|LJ?l4s$1Q&~gz;04)gy#GpcFk>fo0dtRc2dvm3q*eROj0}+0^^=ote}lKM%K=Uw7cHY%zP;VP z&jBPPaB69h0u=7;9L=^C(t1{QQ2-c9W2p4-4+-CyeY3uX$9oaGR>)Y<5L5 z==FILwX`B#Z4b}M@++WEALp-L4%E8Bm~ii08mzOmMb?rw!Z2@7Ys_qA6%<|-s<-PE za7VYCy=v=~e!bZ>axm&A{op1r*!U#lhb47{e+4_f2k#+1c=%aO124)0vhmDh>GUHO zu_E%Na(pzTj9`hw545GuS_L#b@41YMiYr%&lbGeR#cwQnJY@Z%`V~SAeQ_=7?0MJG zHKc^_n0V#k()diL(FBe4o6wz5WW%PZ0B_;~zus9!k2KvEiiZlceV|G?;!Ak-B??Lo zUizZ>M=XI`<5tBN#2?jICpT_yCbjgze5mYWNwjg}G^#{ys~x?S$!>R)<{inQxXw<{ zD35&oLw50^XX1^WSw+2ntPeqfgbpvMU#>|Caz2Ez-&T=)X+MRbjvp!bLh5+)#!Ut? z4yGb+yx53)Mb3oja4_WOG3HjG!dQOkzmaR?^ZDM2$f~ZI zI48uNx)L*2)%S$|Dd|tYP=0T$1)yVEjrRJ@Knl$o8x8XDB)k?bOFnuwwf9rL4n}!s znHviNJ0PY_^r&vb-$lkPdlxxb)Oo1n>AFmveU>wjr3b0mjJqU_`biXzuN}PmCrd_( zv2-j(;pANEC2<>F5+)`qNoD-4;*qg3LoPfvE$^$co-!)P5y&`s{;TILI{5uk^ohWS zn|C|&uM0xSlq+Jr)Qcv$gPyqF8OE*GetYYXHN|ger1d__7jOjxN?5FaEkD4Tx{v9o zi7WMXmDSNimyTEIoza0pVxD^(PP@;<3Dvn^OPCP)0S|VUKH++6$IIA=?2&=)gCDYt zW{!TZJhjq;wcuIZfo;Up&P!VEXX;d*K(@g!(8`{ff@zh*5-cH9%i5}15y5%6A?YmM z+%8iV!d!{=C}`HMrmAbtNA33`{5PvaT%O5@I`x}Nz*RE%wJowm{R}0PDb|r%70d_; z?jgJ~cf zQa1|K?~jtZL>p>XfV04aqO1&Y(>uXbre5$!K>>doD22P9{@p)^yhSM+24jo zixYC=RTx*6Atx*lF9}an;Dc}zioS#Y{eJ29=Sz))+_)ujxHL?#ar0`Q#(BT}dgFRm zv~O4R#vX>aIS`S`iPon6iFU5D{^V5mV-=0JBAk z-5yVzW4Id0u3kiUo()AD4XbT0+g5*10pe$W>-)Tpf9Z(!zUS`qU7q`WRnkxkjAaY} z*GMVGd;fEisJgaEi+H8ENhSSN(^%?#HbnSA`;~=EvcPguGj~>_XVENvzVO?cVr=Qv zF9Vz4zkiCy3$@sWyene)$JoN+vuOY|<5azKG1`AC#XCUE+(%LKHWG=f)M{=y=nswf z`_rujw~Sa^?7CNU?~uX>kV2$1-X8>G;^L6PdVfZM`QTb4^Lvpbd-u)z-XgI32nv_} zZt&+IQ_kQ0D=&LH+JgDM${FI?l*2fFKPSI|ZXBbDG04dB-mu{yA$QDTB-96%NPZ{! z&sluq$djPQYTg1D)jWE#hMYl(W1ebfWoRZGXuK){ab&v%cA>-jrrl_HZqcjzn>>w9 zcUt#D<%K-+iEcX{&;EE|Pv^#jAY+eDbjYqy(7uEDo5FXo437g3(J*Ln)T9lXUN{AQ zn%k`C@BeWYR$7)^5nt&9TDq?W2HsRJBKz|a9rL-Z1t#*I_`r%ECPvemWF7h0LRcdA zmihGe_@VHZM2}s1Uan|m>TI|&NS*&F2RU3h6#`b-y*ZR&q%KhYQ@K@zs*ULkci4+#8MM(-t-K1UH#SR%k2H%7Jb(xdV5<# z)cPlW&Vd|Oi8BYaVwevA8VAL$rLT7ACEh`t9xt-*nm@6uir)PvnfmzZCt#-}UN!ce zw1;2LSRvl*rCzY0qD$V}MVqr7?W%bd+gE zTE_EN?|nWkHWc-9Oh<9?0)OI^RHk<9e--RxJgQ!BF>`mSSk3>Q2+8+0*OS{>SWtsd z4fl{pT9F_YmxMsN~BCTeEbCBBcEpTI4kTNjWrh; z5bA`4upI&257mJ6+-00Den;Tp7!AXN;1$EqBd_H2{+xc*k2pQbm!lDUt7>edjLASJQL#>MW4 zlOHux?(XifY0bhX$H#KT*on(u6PJ7Lc4dg0Iq$F+xpv{s5!d!E*Gu--X-1Y=tJCd^ z;oAnbg?cUoQCmY~*8d3_m=+qAWJA>|?Sx&Y*e< zhP^_X+397x>M}Pcbfd#frgKH?I5i=aYKrWs!$5Akw$80B?@?7hw-)-uLP!#|gPJ!n zF>_A;LhT$2HZrNip`J!Fj1Ug$vss^+IWzPS5IO>>SvNH9=a#dOniCL@vYJ2xj=LIY zWlr+cvX9bL19~(y{2x#alX0*F5|X0w_@*py^m{4&vfBEZG>oe%-BRp|A=||g$pCDa z-~CJQ%^z%_n1d|P`BF~{M$QGW&rrF%a)o^XT9?Qcgg7Rje&FTuX6^h2x5egTMtBCS z377}I)_T?IO7Q?r?aWMdGcrpY z^R`KS9+VZ_fBu}JW^wzzm4$rxzo0vH+ZXgOXCrO(1fy@VX4C#2Qluu{Y>~Pzg0o)0 zYvz9UjJP|>vT!EyJI{5N)mI;=8BU7?y{Ahj@1OfQXI_r<9=JiLT+q4rXurbJEV}^} zfPaR`GDc03M;U$Y zH)jXFGe`GiM65d?LMCP?tjp0Wcn>=0D*bhJdrvbX-{`#A;uCGNl>1ED%qIDS8y}S6 zAHRM#y_<%>P!1bBSey<0Ppj!2HqNx zOhTUWd6W7L!nu{2Qrx6S;oYQ6DO&tyQvcb%kOCE1l4>_3?cJ^t#u zJZYQ|zb7wOL4Pimz#v7yTL@K^n=PL<(kN4wJ?7P9r@CdJ?&G}Tj z@URZ4G;)`?Q0DD{m&~NL;eWn*0>zHi?slRf=6vwc@+T!We0N`ES&(?~eJiW8GoYJ) z=pc80o6oSdS!$%3$<@c$nY4WSlGnTmW%gQH> zQ=@BBqu-4p&y{wgr~)+gjK@NFAQqI6XYqDo51`jkk!d!CHdWd?y+6fMUA*MYrt%yx7Al@- zNveS#JZibx-sdacHo}Rsv5~1a=&`Og<-X+kkE$Bni7|;;PsK@1QMV#V(k1b3D2kZy zoJx}71|O?j?=QEjEeTZ(Fg1{+S=(MpaK+qd&pzr%Q{Y+i^p^bRJN}PFH@`!)0UVB0 zqOKut^zk33G}VWrvLSY6T?Iqpgd&=O(?Q2HK+LLAlO~v$nI%3MD|t{R`1R}Esn_ki z%L2{{9__{j!pH~nrMkz}k|n%`-EUsKc@r4;rNi8q=P9ofbEG8^btDo*{u$=E^cOK% zzWq1(P`#aSX)ufD@jf=f4-dE{$GoJUE=Z3{KZ>Pzo7A2V$puV>j zR))^gJ7}>-to%6&Y*5_$xfgqIiZ43Or#|P2J{^|@RtR>$oI+%Uc)-3lopqrBN0=Eh5H@nU@D?a02tP7)ey zXt_I4m`Pac86kQp!}|{03&QV`CG$5O41b9`q0{6#E6cK{(l~uz-eP?qzb)`#fKr*G z|NVy%&ebe_5&j1o+$mi!T|rjbhQwxRwOQh^Mkpoy&TI7UVau@T%-U0YQ~|(bDT^J zQt|K)CG5ttJM&g2C1HQRZ{L%F@npm@4dOFXZGT04LggVW6N(Iu?JmBvw`H!JZo1`g zHyO`c&0CsviBwPRowaN=G&I8${r{dK$MxuTR2qAPc}hiIc)q#r9?W)jT5(@I4T*5w z7_Ba?-3swN$f?=PUWLB%TKjfBeov-*A)vktmf>%4+qtQ^`PX)9HuHACmT2!Dq4fNR z%dK04%+WI3&Ukxo;Qo&goEy86w?m*O@efyOeM5tqw;zm^n0m`J1<8ZNUExdWzM9um zefV8`fcwZ#0fHC0yyVK?@AZBpc{dD6{&uMtmE~K>4Q7l4l%NCOzbA>Jxw-t0icfei zx}%yl{O)ShW`C)wZDUu+n|M(@V-V22uux2C^!3aS! zcKms)Th(%9ziu;S)1gjS-=)g%i|Nv zOmVetdL8_=W!*m-k*pJ#2me|NL?7Nviwx|=@up;IR#nwLtASNwyEsMrF9Par52c@A zgY7mmbZqZ=Ox6ic;tjFr19F(yUC`ZYX^=M#F#Ei2Z)t8d7G8_HpzPvjb?D859+gP_ zvi}-O&MOSne5-AheH85cN|}?}$Q1X&(3t-C_^US8)34+oNTWzrm1RjCtr;33sqe)H zn6rAKVw43mG2Eb&sB?-3$;MP9CZkxcbg@EAAOLn%R&8gRT1q# zU00i>jtKKI-m*1?R8W61)csZWLRsu>XNDnh=l5kWeMzdUq?Plv1*^ceeC^J(L0eJN zL3>`|Livo@{0_ui{k)Czt`P_ss8 zjZ%cBh*F}cC~B7!wQH~E{=ayR!wW~e3GO@h^*yii{G3vrt@(McR|Z2OeE6hott~qI z4<7ElhPD0hYy_~8+eZx)#XNiQWA9q!bjdH{2SaR3K}xZ2gG#O8adet91@P5?u+N%b zU#X1;KzZhuFyWo3D`Xs*f`9N;$;qSkmXE?(~K!) z=hM7NOHQ4sR+>QRw7pqK#ygg+Bu$}k5_7wx$Y(9`-Dcs3wMQ%%nh(aHML4wurK)m4 zD{I!jn>UzMP){~Ec^mH0V~uI;7g04EngUdLu}*^TG>0@vS7Uu2+JCugsAsm~LM{}t zOZaiux$pi{C?d6t@6F2BJHN9jDr4vvB0_qu8r)x(8vl;dpevM7R@&)uL=L#J^lJg% zIl}{IP^N{SWrwIvxpkV< zA#N>oe)7HvUj69bT#BMB)IA4h!IDx^vE$8~_rqnwQQY!vQ3AlbhSs_&Jg70l>|*oh zI|GR&5m#+gN3f!ND6H zVSmS0*ByqW?^EY>1zTDkkJ`d4^K&P82H4|xtNc#mIttB4M4s;inEX&1`~*>=cIsC> zf7cmsd9;PP?DdLa~CJ!BnzHLm}rq@Ow_+?eTsjC7Kdi4C>tquEjIy@1=YSyEu z8q~2uDJ4~n&u4)&wXN10oaRVwt-KoXB0^N~M;LN7xwPUpq>tI@@N8z>khzldb6y8h z)>2*MTL-^BtjW&$eZyWii-`m+#Z7VCT4=!&KcoAp+^^*5be|7rBPg7ZQXIzfX@Z;e z_3CrfqZZ*g>n_o6`viN?CC$nip;ne3cu zO5oHAYzJGVR%T|BN1-~Dg-@9n$qp_EKo~3h0TsU=`l%c}=)TiBlCbe`FC+3dSGNFw z1~K;v1ZVHLRHVt>%f9ivPcNGgDx&ynr&5bIg(2s|*y^XloboNS-H;$1V8Xc=9*tQ0 zm6*O`6KUTr30W+Tx?0D+k6xMExqWl4)&85}(T9v;>BzrZjn_5rXYvxc10)~#>(TR~ zKE8Ul8PUa81wW9b339r*!#Z3K{{}VA7TiZtWK}%oH?E$my(b1_8}o%ea(y6dUaqrU zVD-E9Qx%Xb9-gcH7e7Bth6j6nw4C;F)tX|4NZ|bOOiS4!S`gSb6_r4i zi9DG3xfrX}&$!Fxb@t_&NJ+u&`em_?P0jI&7g&apkc;tGGR1F>z?B20FGNmWDO~@nR*+{+?>^k}zWk?u{m-Z7dW`M# zYv)4vCVp)M$da7dvxTp2?O+c3R`LOoXw+rK)oz9)LFy>z811Wbsi4&EbM<%MXMGzr za%W)5CiJut0MOKJ1s(lu9tAp+qxXiA6g|+iah^z7F%(`8r65s&ryj7cEPJJ(UtWQ# z3h$InN=jk_>g(0I{{+n3Rz!dVY4Y{aB?|s)!x0J#^YcKXsw^hzp?h1p1R$7SuGvN% z3>S!L4|=uLwO$=k7O>-1IB#ZQrcUJ6VvOVOrI=``3oLz@7XoFpdN zYz3r}2~w{3Q?xBjYWRiEUdbE;&-u4~iIzRywhj3`<`0;D^s93TjB!E-xbC+Ib~wT@ z{EUNWWP#?{VSpB zl`OjP@caFHN82|lj#f%e#`1w4s*A*Cwv*3kjaPlVB);AMnK*jZU-bk{#NdZXlG>UuKwQARXSU#D$Ra~$FWOD%7o9NO>in%#ETf{O%26InS8 ze2o!zjk?AIs~2V!Swt$0=}cyPIJ8{G4ZlM_%Edx8mE=PA9e{f;)h{~uiCIyfFS8n2 z&(t^+(r|iyI}aQ7gTVEYU=N}Lp=caUh-&5tHKm9Xuv@9`pGXMgyUTBir`$g)+9716 z^I`6hmCsDvJ$03UCAiRki`oL%g0_!>I(60LEht*)93bc4sjr)ErB9i|f#sOVOiuXy5@*Jmk9Q{S2l)q49M zJ1f>==R<%AvfohDXex#y^_6gxOaa>)Vvegq;V^&3n-V#S7@TWdw*Uhihy(suoDUMtpG-j#Kl*spXOVBNNMcfI&g|%Y=?U8_D#ne85z?*S)qT+#6DvU(> zcVf67fy0bEeW7*$|CSskrDl*%xr}5_CfvH&NACXEndPaSAV`gy8?>hsODS;IDC>5t za1_0@r^Pi6TrKPRNNbr}t9?0P9K=fE37PYOS70VFQhh2a?O^ga?=J73R=y^!h=lS z$9bM;**VGlxSb0%M+SC^1Gka0QZH zZH$d-8TKh~^N2u*zr(9qax(YsV5LN% z!TeTWYJZtPnsPJwO>0_bdJb%%UBGVl+gMlP!OVDz?BhfH{JW1rT4L-! z%tm3ySA0khXwY7f5svq0}9SIM8MG1#%1pI7K+m6>3{mf7W zkFoJ|jPWb35tqLLw`H?c-rtPpnSTjMFD#5pDi=OIhnBwPUHC} zN-rI(EaD+X`Sf3uApGD2 zYpz3freh-g?rUMx$VL;PL;R5Qztj_p%~apDn22lKR$^lOm%ALvd_(T&WjOSf(u=&L z)UgQ3$mQiz`}kt;HBPEWWc7EG?fMu!qat>TjkI?! zbIDoMo~V59uwg!8IAsA9MV1_UxrUyi>s~lk5cHAbCe|jad-m?h#lGEu7ixWsGA?V+ zhfyR-x&|M(f#pe zopWIq9|nM&SX(9Yy*Tja|N`+fRk*WZh(qI;J zk?&1EpJM`D0#wekELW5Cc`4kF6%weq5pU4Z)Wr8~&m+it6N}xpiFV~{=etK~?as}f z@GiZ0lnDB{9xx7*W=Rh)an!n%9EfHrPoU#4t9*oZ=Ky*#rtYc$qfvZR&sPQ$a|nOE zgq8Sdh~R--D#Ez7p|+_Onko94G3tGM#Yn`@ihCUGN=(E!uGkpr8`&`~Td!o8j>1ub zX$Ym3V+%hAgp&QIk0oFZ5H0%Wd!)io*{4Cg%Rt$g%?RWW*dxX3%od1bf;7=~E% zj-V-Rcb9rk<(ET=o(5 zs?;*i&zW}E`b~lF$NtU~?e>e17-~Yz&4m`U$)dEUlw7hM@D|E^c6Sy?xw+ZTs<^32 z5lG#KEAf|_{QRm}Pg+DsBK?CjN}uU(zN4ah?@P<*Ue_To)J13wlr*I!J`+W-9!5Z* zq_+eA%U;tW8@aFkuJtAb2a>eBxRmBC0Z_vXeR$Ml2N9Vp6elr~r8Ky(`*QiOvWP0l zu#|^6DTZ`6v>cIo_8455Er^ zdc_mpz{$U?X`o#cQ&3YUsN>XJ&``%YiXN+b^i7K;7--TQnk|z0R{M|RE8i=_eywq> z?7;v-1h8!*xbTPEtIlp-w5oCc!v8jb1fpFi=K6uJP9=J=KR;J{8CH%Ex=pTT0NX)M z&RbG_F37Zcyq2b^mIdWVi1_f?4poD$Ni0PRzN8AUp6q9dTS@TIHdm^9W^L+dZQ_`i zz^z5NPh}jfR0fWKw5q4sSfYwv?r(n*|gD+#+5B<3^O3Vpp;e?<3JA~%@- zCl=rEp$b(60bzNyL=_l$T=Vo(l|qz6WsrRaUx1RJk3q{_2+Z|f&n0^FdSZb&AZfE& zk2XP5jligv7>s3};`7Sp4sA!O5>dacw3m=act0F>bvB*tlm!FH17~9`EaRb)F~Vzp zA?)uuQ7-L@c)dkAb^LJ4%kt}2ru#Kt8U2AScHqqPXwK_+Hu@BOe`;RLG4$&1nPD|1 z@)%D!Dvug{h~^fp3R1s=8&wEfAF129T2s6x%@XxGB&|$1fW0A3@Fxgc!=sk%*`il_ z**XFbI%?7cpPA5`1Wx~5pddj9BDu9|j~i?k78FDF2dnqH{!rh<=xJzn2VU#tRc)Eh zx=jE_uHc|FxyDq#m49ci6!PP$wRHK-hk+mBm~P|80MlPfN2;s=t|sE2P+q1LMl|t2B834EQy&oMm!H#+;P=&PH$zk(nhed z=8-z7UC!oS@*kua-poEuW9+|*r#|x>SUy9v;C-P(>FV#lRAZmEV3{mmK&^ZfLOe+6 z@oz=c-Di=duzVHGFYPpM>jP|zXJU`@XyFxKIScv(3{?DFy7O zXz(7=7QnRqmoSyT!q3XbuwcA=y!l~WaCG!?q+sefz2 zn3>ra#ZTGTaYI|4FngTxjCu5mGO=AT#7g2Dj-pd^jI_#V~58h$5RSb;WR9=;Td+|FZM=NjZ?{>9TZC&bv z=~8rC>#|_l-Tvpl{Xc^^gz-SOobRnrh_)*v*57yM>e8!iGakUq-cFWm*VJTV;c5B6 zs`VE1S%yu;?)FkDE5#0@J)Cm?Irzw181x(u1x$Ad+JNU2Aslnew%xMi$NqW|IrWkM zK=c;PocC^~x+){f`l>K^!G)frP~Fd{O7(&xiHVZ~%qFUvA#?lBdY0E;+fDfs@n;Ek zY6cArLU%}2cJ-<+?YxP7>qgF_sK|rEsT{Lhpolw-TW{@v3Chh4KMLj=eB$9@)!}os zy_S9&vd^V>##OD4^f4^~@JU9Br+0va)|g}H>d@W6{t!8Z(2KtCsfNkc(4Cp^=Jf!_ z_FtPVb)vR{YnM?PntO@Ym$nys?u~O8{~h8rt|xlwOaJ-tj`#fhFvG#+r8QBvZGxF9 zEQ!2aC!h6l()JP<1m>8jlX{LyF5^osr-ACVCl^37Ko>^TYOIx-<5x$h&Ml_;Ec)V( z{r0hrS+C&m2hNA6*|zietD2l@CVTJhQ&STYtD(IRq?2pqVT}>*>qk2065_I9`%KDhg7^Um5t_9dI?hPp-sNJ})B#1G%8l!731tmEb+V zej>_BiEk2oG&CO0)=&Fd2_oZOe*iaRZ)uRY19U8*8%qdPk~7R`cXW=prz3h1(`MuM z64e-(o*+C_h~{&R%HZ>~hy_DqNjYzhN90=W6s}MHFmc>}SuN$#7W{EL{T{iy&Le%R zPjajo0GU+3v7WlYwo`zyGw@($s(XL6Lm<6DzeHhd%gH3SM80i|EdU4w)rvS~zq{T( zxPIncbDY~4Ej?JK)OAobF`{i<-|+apWt!Q=(86U#arDN%v%>lM3}L4$_%M;7_*2CC zm$j|?oXbxlc0Z*zS2yc@Y?8d#TDTekJURzo${C`LkE4$L6)!*WvVICV#MCvv(xYH@ zzNr&G4#4C)budFN>0Wt6TtRCNFCY}lUe1^Cr3V6>Kr-@M5Dq)gzuRRDr3Mv_=FDnw zbj%vsx7IO@8*!pTU}xjA7(8rYu~7P00Y~ixE`TV{InAtwU8gt zbFBcnNp-scaf=#^I-W7Jp2CLK-44mL;ubJf4e?AZt5RXyjLC$O#^oE*#o?tn3N5Wc z3m4x&Ai1;8F+PS&x4{$Qx3Nst0)v&m(R$xPGk}?5>vtNbmP|HfV;#4lYaW;lK4vi$ zXre8Yttq{U{D2m>-k8-wnN9Q{0`?sEnz4MS@9;Iyorw(Mcl2HIxXk4+V04$&JUCo1+ zzd9GQZUGiMEP1)ReE{p^j@>bYG#FR=j`^sPIKNHagOE|LM~Jal$MKCgX1X==q)##j8b(tR-BB)ltpy^|wbB?%rDg5y0o+HQM&9e{ab}0mX-% z;J!&GfTrLAEh2f~A7@cps4WZz1AC)i40El2AVdQoxYzd_0+xSLpzDIFJ>g7%M^(Li za&l7q8E=kO+nm;Nh#WI5`vAc-?UV)caGuuL+FI5cN`#d;w3z+I%i#VC?EcZJ0cLt| z?+j0P6VyGo&bc}RE2ZM|hkSn5YUBQl&qQ0okE8NOgrt8J>%R`2IqKNOmONyr`{Gi= zPm9?TOJOh;>_~N=gqoz%xGwkO?Bhz+-5KTwR?j{gQ31ASiR#;%35hX;Pa{W zhm7{1J~PXyss^;=yI1|vY22gZd@0;XP!E&*N;~kEETdeJ8LN9qixt^mb^swuz9Ryy zKnTA<7}Y>t6aye2tD+fl4e4jHf}4Bw)hRzwYi&VC-rhSqy7wrzQgmnHb1NoWW6hId zchx_uWC)MF{WNiiEo;VFj(@crd%8;>W9NVGV)uel-!|%Ed<`|iTio@_t#aW6_o6ubYMQqsY=3@E_Tbdx`;J(`;F7Y5F^e@P zSXoK|`MbHmL03d2E+xUobZX}2B6Hv7LQi++ce!mDf#lx^Kep1GK+_kdYe{!|7#I8$huAh7bziYCE6w{-8h!lhStMKt4{ApE$ z@g#AnuQ*hdcIWS?I8-pM&YwrGkSs#L6!p@bci5E}-_{RqO8w)Ft01W$Ia|CzLZ8l) zsI}WIC z+s0Ng>Tmi^*VW}tR5THLExC)c}eklc>sEuxK-y}A|LD|D*tPC_Ht2&ZDwI1Sm@tbywrS1ny9uW%=Z;~ zm?8eFH;zd3P1`N&k2NR^oAUL!b`09$?~-2O|5O`dsYQ8>e?WX(lAG8mD;swpuGP|T|L0?SFp1SJp#$1w*fi-i*Au*h zM_H!TDfy^hYG3_6S@M-g-f>Q=huTTx-VwR^YL??;YL1Ze~t8`k0$j8KCq+* zNqNtQ{9gWay1d(SeL>`%n4{^w_~LAP`8$m*;_6VUJ9nzTa)9k}*jd4x5K7Rx#wuQ% zkIG*UhlD}IFXFE+rt)52uI5(4(z-8kZ33zHOFVZ7-q5hL6>nyU*D#b@|2Cw)Fv&=iVKVwN@Q30?o_^nqKx&B`^A)D#J?G5Kn!5f*fKSGlnzE1 z=GvOBhH|Tx12VT8$4NZKy6(39uykFz5LyhEiz5_`oDBv3^VT zwWtM-ccdKpyo8^8sT_6&f8yg`K6Vup6dD;GM%30%ZI%!6p>&yBU*jcKkkDF62{C#5 zbo@cR;67Banmd(|%P!!hv2s^RrXP2yXWp}iQfb~e(pA-0N+||?+%WM(-%8?48A2&5%&nd`R&)r(YhjK{XjOtN zsfhl@nV}`Xiz+8EteW(^oO;NQ(;*JV{19Qtyvt3fmGF$=kbF!fLS2Hn|FbP5 z6;#k0K-D~_{4ZZxs!8SA8Gl0+P~ick2n9E6P=xLWlRVSyu=DVhB|BHwvHPAT{L->b zO*6BKCkxlB*Go_7cv0vr%xZ3VTAIe|-u;EkS;h0I>$3$~UJLYe`nlztUK=ZKhhT-n z{IohIYn9A#m|Qcv1M$U$3^Z?{(nU{C3+Ly6@z+!sSKl$Zm;9NQBn}a$W#A$;yuVsL zaQja5-c+=IxPOndyu46Lrf>B$)4!Vo8LW}ppNJh>gv;<_g7<<0_|4%dq~d>ew>-y65ve ztt>!po9!R(%3xNj1X|plJB5q;`_2R1z-mSk>$M-UK$-?uH(p1FD(@q6PUAerlBwK6 z)6ksh0!4_WC2PKqwU|d#+*jo8j)$=)&%o@h*b_wbAf^X`&TyeL)znYxH5P)#l6%@} zaWzfs+|N~s^$kk2Bz$j?{%mo94>Q@pjZ-=5hH3W2&i1LQ#tZ9m69Qb|R~+f0B+2Bj zFjF&(D?k)a7h>KohWMyv;I?%GwDK9I<7Uulo{#*)`M8N9(nHgJUunpO^^L|n1 zS3B1*wTwZbM4ySoJf;*bq>aPU?sN%^D`&u(g=MWB68CIw%$6YX8_~z`47Z6`?X3rI z;k1&ITlZWE3)9jaT|Rz}{J&Q&(*xHIhkgYVztJy&eQbf9S4Us56^ETpp0<`3%@(cf z!JZwg7q}9;g7fHJr9Yg<#Zji3-ZgdS{>8OhscS&TqC_4 z_ap)1GoPT6>#mRzJD86%vsaN*smtHzk5m1!EJw&PmP5Ke zVP&r(w;ZL3(t|8j0|z+4qOuozF@Av`v1|rJ2#kE?WbgSg%~25Wt9@$jl#rjBo1JwH zp2e?kjU>@JXOu{vUWn=2M(n4Q*SX7f%GL_L;;8CCrIR0HL?%#p!rI!-<@`?M?@z=Q zLtqxN%qWTOn%I)OpI+m2Y!~bt=ouOm)iLV{I5^yVUv^J>$OrDN&$eyboG;G!z+NGX z6#_X^Py4H%bnWl!*q&}IMC_$Sf9h=ZU!MyeMJg1i?loQwJ-I#^Uv*~#9t86jNB1=~ zxwPJ}$zJ_4VrY|M^YX6e{ji95qkaQ7ok*#F`z8k1!bYs@Ty2l9e#4&YN9-FNs{4nB zpI^n3gW2`U(vxVat2!(;#Zip*O@h}ysufO4t`A;>VXl7tV&V9M4Bxd|na3P56h|BE zhq(Jc8fnsNE7CJ8|M%-xL^09qC4Fh(n&~Rd=Uylq1(<|3Mur_hAyj7S+%d&wM*IXv z-v)G@br(4?shxT?Ql%__w_%{oR8I2Q%_xzIf@AypWq>Ap6-mxcnAwmWsZ6%7X~{M$ zhJ{{y&1%ifl>mStd0K{SGy~24Vw~AP(V2@;t{pNMoAkWW{j%JG4nz__xI=0MQAr6@ z*Y@4$OJOJuS9e^uuhwf==svvA01gAE&g7Su_8Kn~ucq}c=U!Z$*+ui-8yo-fYt}n* z2amSwIkN0I1&)nsK5~BlzA{9uyjWv!e)GVRi&04K@IoeEPwz%n3p2ATI;Jpfe z<@NHcZ?Ih726io`cpla^+tnFGB+M1%3-vSyIfNem)b2Ft@!yej4B7ZwL*r%jI1NcD zu;Sw8R67M24RvgdEhJ>oI}yjSqY=M9O>$}2od4yG+9pPC<1af`A`IX8A@pv#5(?eO z^knC@SC6B_<>kY_Z??^NI;MYMjmXqodSCUFRN3~KeP#u)dr75a1wC9r7;;t!4rOyH z55)~w)igaPn3ln$m@{$-^Rn6$L@NFhz>xJvu`den0@7gkDsyqI7Qac*|!UbVGDf!(mV1_@)O=I2lbpi1>WJC$8z z(_(~R`{HmeSzM!`TyfLp*1b zgR!wggzCj6Cgv)#92{%v3yMlIavVe%>CGhzD$q{l(=IaZ6Jut%+CBzp?waqv8X4tf zK?yU;-b$J129{?Ne!WHx4d)D!OqG$!5XF&AR#0bWfP> z!egZH2<-hgd=c*}wRzVa#0fyTugsj6vm0~SSK_Kq@U`7BI~#E^=7yU7+RQ{ctY#ox z6(^FxLcOa00jA!`-b20maTMDO2j~FBdTcL}@UV@f%|^SPN-q%*DB%K=;rAnQW1+ zBgBd4du{jGau*lAioPivEXs&+Q*@DJN0p=(SdTHgjv8(eW`*+MG_9 zot-5=$F#OefI!~WGS=lS2Ddl@X13G8)o6r*&+50T=^KoSF z72r+#xHG5Ht}!>RJLWYp?E7C~I($!BMG3xmCVP|AL^{DHt-8Db*~f$Lq;7Rp1F+e7 zcL+&bGr6e!cAqubweaE;pj2)vdp;`VdrQEn(&H)}`X7uY!^u;c5P zxetz>=jNy;-$O1V2c&@~YR@bzDBPYnb7{@MnVG`#qa#LXX3L9nMOMm-z!fjT~iA9%~1Hb`CfwC1Z$~H1G%#5y*d9bsEE}Dub9JU_;o0L(!?qtr4tap#U!`9bdzy5aaTu8`Vv~ES7EvWRvtGeYOe(zS&$ae$C3Yxn>_7 z@7!#YnOpa23qL13Mi0pbdkq)_>}+E`O&4sT(X(w{VinEJ%{gNymHD=At%VEM+rdef z@`FD=l)IyYnrFR6^z@I?73NXzI5{BCeQ(Jbrc$AT;n}UZ zs|Q3q+vsbI(ZHK|Ok}TnKcC>^QQMAx`0)G%YpefSwIwXmfe;n&-(pYL!R(DR6ZN9c zEf;`o_CV3dZ!9jXZd#MKm$xJ`EI9ba_vYk)jzIfc<^J}mPFzeG)`<5N?~dVh=cg$bCi#$h;)LWr9f$L@=_B=Rx5UA_?8 z$YLa>A4?_-O&N)p@nzeg1okah$eo#LbZZ)9_UtS3MR81)cSO!UlhEN&0@#@_I-b^_ zWXa_-@mpJSmmF{5zDxCQ68JOK)Nr6Qj ztXfMx&j1X*c$?Bo$*=nOCES8o@Bg(u^Gm1>|62r?p-Lt@7lKZ8lf@ossGiAA2f?}- z-BY8}Xob-sEv#!r+p1bDYB)!e;%oH6ojgsleKv6;qN5dyI*&A>|E&~to|gj|hs!@2 zJLYK?WG3yf2BNvS!zZzgi%%1nOV9Fy8n4a8#nL$!8uIdYrbZT1n}Il2^E`U2%VV;; zEa^h^2EN=}gI$KD+I6{hRuDZ%R+AG+&{;2V-OD#d9$I?aU^@GA!q$~>>FOAfzci+K z`3eUGQ-xX=c9-)b?o<0?c2OPY|8j^EFH2&{olW!e!p>*2e#d^VInDKsI^Oc`-jl~k zzsw?YFhFu2&fD3cM;?~jo=@6_E&rO9ZEKiH0F25Zb?95%s=f$fD8|Ma?uza?N9_d2 zq9&^KZ$Rz;EsvLt2|UQS=TyyG-rd$P>2;f$I*j}ryx6yAZ!VK%#qDeLyT+t;!t3UW zadCefnNgTYNF~O!REJrP?&}0S#UAUv;iHw9CM{qrXcrqR9-zn{2OLYh2wGe{IZdAo z8%W@u^vQF6QrF#yIn#2}iQ1OhOt_zRivXkA4svYB;=an~r?nKmSS}8g_uMrS*{a%l zpPA}lWX>)8O?J=vT)7ilAAW0EtdYbsZbq;tBSck_DOFwV;S)1pC0rK5hw(ztt z5R^lh5Akbb;f9OyM5>f($mP63<@hZzkkOBUJf8@RKtYq&)g(&FU?bYKY^=blOpmOF96@B+j5ZZSu$CM~Xg=}pXSnnBx zf85nQXNNWN9;!dqO6n~gvj3Jwi4K$gJ0f1TqT^3`(cX6a(;gsPg*J|PAbU=R!-IFO z$9k?Qi8ma@8+hPNn60^>>Sqy3bTGPQ&-b_3jh9YJ5*l(131r#@9|+`Zq&VMaHQAz7 zEz&;~-?hUN>_EHo{R-Ks)&@A-2Iq zP;@pKB~)YFygc_7)+7dsHw(N$&2f?nHI%mE=i&at*$DfW#DA?}TfBScbgGr>v)9?-OzA!P97dE zYcw$@Sj3{(F{AjCaz>brQ#%PWKi%vMgvlP}EMd3t0oBbIjD)OMAQ6vp!YD(mx-YmO znU&MPQzqmxo@O5Nub08*;wxbC$Wh<=W_zU{TI>``@M;?}#GG#J=stV)s1lMOr&AKW z^l9uJgPNaHSl;unjo$$0{tfjRM)T{S&%Z729$MdNH_1_yY+L*LOzuG-t2?#R_~gkG zx$vcwI|CUuok!S==!gPQb!niK&P%)qu)3PL7e{VOtKK3R7o44*F|fG9u7azpb02u~ z006lF;IuVog@ZFYVNsw6o}wJs4ejh47l*C^BI7jh6&^ely_X*apyT&Knm%@9yRX!z zFBeJ{W@~gjVgQkrBSbf7EHA~O|ENi!4-?=UN|`zZ3>{-`_ctH9c67DS@$OyCvnszQ z+*2a~O+xya%MorrHaS8ztvV-ffm|iCL{%#A(wlMskn(M=A8?>ZpLEtM@sccBh~7ji zN3$m+FSpw?+5*pi%p8XNK8=%;lRioTMeM)2vMHapgVS3FdLi zvrS+92SYLU9@tu*kK10Irf|70dKl)9${!Cqh<5v*ukByF%31~J2q*6qff>uj+#Jxg zP;m8?!9_y)W}BC7b)Vwpj};>$RBiH~$j~j^dEGb4#S!DS0>^UH*2vhq0cn!u?RiX1 zzz4s8P}omJ*v~!uYiM46zO*xZ$?oTqq2>9rxhci-Gq$TGHuU| zX3XS+7-KtY5NDztGDDrqeQx+K6+?tL6FK{Ih#|ee6CL{pYI;n8^SNsLm3BzZUN`ME zq?$Ik+H`i2jbf}TI5&1$THEz7=UVH|=WwhpZw#&rf6%P=Ti|6uRd9BPi^t??}mMxBj8V9K@=Mj-Xox%gFw9qF~);bR?hZWfzC zK_4R_{*(t3&0@2&Mg9kr-yS{6(GmcrlLCIq*0#2t^mNr9ULW~5Tnq2HE}_cj+bo|A z_SyZEni(D$`Njv30t-s4JAeYvzyGX2&pQNDRWxY_zw+;RxJb;#EB6$OGrryn`CU(! ze8^qa$8h>{T{I8LQCQZJW3^f-rib(GoIp<%5fTL-1$_jpki69PtW)KM6)fCDh53(XNG9+m4qsixoV;5!n4ATg8$Q-Z0=BV~j+>KLUCb;Epa&p;mm&cLp z&8&Z^`BGH&mDgewE33MZB1Hg^2sy02PFmz&Y0B&KrI-8d$f_1c`5Hm1EgwUv5V9=K zz6uuw8FB<*>Ta^vPHJ-EKU)GZ@$Z_;nh@=-wwqWs53lX5zd@FdwZ9zFD41EwUR~&v zs0vIG-gwCWs@Z0w50xnnm_>h@b|uXN-?#cCJo|t;oW(U;8~|e)>bDR^oZ@}mTAZj_ z4YPj7y){g1tFlSsCUy+Jqv;To))?dh{r0VY5Zb=bd9qv=EEU{+(%M*!!=>vPbZr0g zfN3vU62gJf z%g)YfJ(Qb7k)wH#>;s~Qxx=@#gK*3HwO=z>%&mLEgM*zdzq!q{idV!)YU zUr1xMZPJpHA|=?tq>Qt*Q`vkfqe~vSp)A^T6I)^4!)2H?;2Do>PvOcFL9V116xTQ?!zNXCj1KB3Ol`|9f zZyDYDU-&P zWt)yD=ZaG4&j0cV(za>krv|HR93sLV-Juyy%#rdbT>FF-{8T977cp zb%vf3_6NnL*tWZa5A@3CfgWv+v-qpO!yY{gIaZqL{NVC$i%393X;JsbTkq!Vwa;z+ zJHNp+a2eGz?It2ry8QkId|+iM1k7PU7OzT=_A83ELH}Imt##8b>_WS_Y z#T;?zU-v|xRafhkoc(pSwY9e13aUP$p@zJz6irt@_>#z5(y{wH_c%J@a3dTLC%zNJ z3rFf+G{7}hoQp&6QDiIOOQPXoA2Aps`q0LyA{2@Q;(y@ZyJY7ben3EPqD{q8R}Rl< zyyiO`>)j=0T?8zug{QovSLP;g1J7fdCfaE9%$$>OT3P^`^cS?;e!4U$ZCn60}3R7x`lprNFLPEL* z&;9%3IdC|K!+&GDKcDyex~|vNwDkD|oD=GqBgn*FRF7La38>n2!$yRq);CVn`NzcX9 z(*B1TenN_;8l1bDV+@9yyw4orHF0s4BAmg*l4b4Q=ldz+^2h(udlp=H0C#dn;Q1LE zjjIxVnv2~2GOAp)*c})c9_%8mnRR_W3lLQ#cUy4Xi~6))88!Z01DiPm)+Eef}(vU!-quOg2LR4Phd_?jwPKJ zQ=@;UoW*bcP%Pt4g~M#u{(L>wwJeQEsbECl&{92`3@^JQR0m%9zcxeTgZ5F&R#p}+ z0p>40SYBG+w%xVpd%}O_h!$_C8q`@hO?sPX?P!>ph>oRtP{Uys%fif zL+vb3bQ=pHo`~KvFN(x#`n#`@%Y{4p{`n|ZAQo#V&5Epe=hH#7W80RNLh(?SVg<>WZ8YFG-&&Dn^z=H(8M(UmF`^VYd z@|st;9{tu#@fMR>L8q$9Z)>)hRpuKl8XTrp>*mNT+vl($a6N3mDY4mAn2Fmo1{8W(ivZyT%6@5XsB!MY=DDjNs>i6xROsr%D zo6;P!m?i+dJsdz5M{9uAqz3#kzXX|`vi1L?>(8mwHkJ%<*h$5Ai<$K1fvU12o}f)x zL7#om&YY@+m3YL+YAsceihL6Hc2NuF0)!w@oSF%t(8#28EqbI(3`sSpHPT2dZJuxi zJQokIh`f0w{lNF8YfCjg`6+V{9^@+=xi>a(-{S^3)U-SI9Ah@xmT%dr#ItM`DJkp&$<4X_ywHfCB?ixa|6;$f;muN|s*J)+m~oC{#9u>^S=$ zL#*)e=(cFmt|qFodEzlBn{qJao6haVa@bziivvm7MccyJ-J*adv8@L?ntSM&9<1ohER7NCD5V z;lB!W4UsFhHwuS6e^0TH@=R0zItvu- z{jm{YdXP^~f6V2Jo^qS0ZtE3MkYajpEXe%eTcUkLfKU=IGi!BI7xlngr7H`;3_6Kn^k$Z3)j zcvzLZM02q9=cBmb`1rkYzkd10 z`#Bz6b(6Y)ZXM0To?($#U!6zB+BKb4q(Zz(uJr<1#(9!J!o!{?juvFf+Vji{!5O2# zf-_m0CY2pFjamsm1mV>Xy^5X1gwXrg<(&2fFF4Q2uojEQW&rIxxLZ`}7(nf^Ly=P| zLlYBKQlrE{GN1}_Mq~~(4-7)u7bT+1^9+U$C0OFbkE@+D{#R7zcVERo1kGR&rTB2J zyn<_#sv^f*`NyT#_fr{im!JcA%7Gn_rU=2OJMZwj(gv043F5&Jh#d_VliH;9=1U(RSZ2kj}KAvIp{Es_Mzkc|UhKoKw#Q?** zM-H^#f{O`kfR%Dfu$l8~6_y9;Ulscpo`GQyu_Bsu_Tc@?@t)fbfdgyS2ML+*VS^{Y zG`tk5oJm$JPJOVb+lv>aNK8`kDv%3_;E+WOuD$<~!hy`er#|@4B$KS(;8}XWGeriw z_xLd(z&{i!cxpiGm3T@Rmcw&DYFLH&bAy-S1+jK8F*)u>XA*~AGTgR&qCFhDIX^$Y zxrz1!%usiS2@2X-3_l{z#7crc_S|ADmLosju6&;;SA7}gg)4j_lXVj-@WQF{wO_=- zZsg%oXu3kgEpXoNFfZSlv`t>3mM{J{wrET?PrEO4`j3Q09<6ICAO4+dA|p%jZ30?n zj{#?gu)XRNCW?b4fUnxkySDXv`AV%<>Lca>(HgyV*psB)-?A3i@sh~Hm8F8oDuOJ` z)X8s!AndF9Nl|WcPEmzIs|3aMQeEB`a?3Yy7J-Pa%|jhOtJ+3!vK-& z^6CAsziTCL0a@Nn)APs3r&q!L8)v9@^YhcWEfKwuKMtI->j49qj3LV88sMRfCzq)V zq(}axSq?sybt!av9hU*DSFn~I9v-YLC&^`Dn{!UkD(l;y`9QDTBtU5!2Jb$*EBz+@ zOf9qYyg!6Yga6jte^OnUsxjGzwNs;3H!JEKz~&mW|;7(An$?ZaaBTP>0S1d%F4>eYyb9sw>7-%2s!!H=$-{M;{Z|Ru+=2K zpZ|E0%Rqnr&iU#-y=>1g$X7M1hGqrlVa@pCwgP0{5mDIDO=mGZG9rG;@_^D-ltoB* zRMz-u@cshscU!+L4cY&D0eb$mSwAB#?=Ss6>DV27eukUgFs^H9^Z0Q9$kMm{OWWDs zWKruKDY~o*p~D;5L#4AWJjAwzug}lo!ZCjcZZ%6_s`AE{jvGj7!m33;2_STUy)kDR-J?9rr3 z;*Gh~D}ZE-n0HSM`NnGhit=WuGNbF$f~1P}Q*-htew>-w^)9aL6a|S&}TWhTJv^HeXqf&G!&%5sLrz#8~D_;v_IwnMz-o1F{kN4 zcR(`PdjZEJAyO2~kXq%jbLFtPd{VFx$$fY$<{moeKNsrZ?pT8YWeBz|h#`;Eyl9aci#A_J`Y6f{R4e!Hny6Q8)Surm5M?6!lX?cTJ^UaD zjB0lZw|o^2|-I;&@`gho|XVPHlS8&$GZEhW46IEJTlUg znWNbPwREeL=lDN80ce0a?mh0h`>POsIpQKy@UG~=k|;-=mR8Bt#ka_t{jTn%rQsuk zgO!y%fSrDGvqnguiYO^L2KYP6bo4+tT~k=q=?gdqru3@u<|j3 zO8Jm5EJ{zF;xo~KvKMV8A(T9b^(DdQzX3r|!=*`g~l`()zbceB^SpG07n zDtawB&!S%PQ$w{$lei$(jkWi2vXT;)5u|E~5)p#{` zaK5I&q7ZR&F|^h%jU-hAJe0{5IgOvg&w+cdTGj6-GtP!WLSwVLn&tX;zuZbTiT_tv zxLJ?_h=9GJSj;{~^1btG2B+ZSM}!a`b2Ewd6<7^Sz!eUG?bY+aNravqBD|F+?y-MX zhv6ljV_x(L1FNGTYtyR_@)$xTk)go>N$ONVi#)kB@hp_pf=c6%$JvtAb%0LM-tXm&V4r`+ zV#OR%_eqKF8Q~ezW5W)v$yt>hw6l=eMGzJ9T$waxP?}g4((W;sQ->c? zp&rjbp4}b$EJd4?@lAwSTAwt^zqrzXm{8HlsnRKKT~p?%_tC)Uf@PtDN+PbCbvb*+ z6r)Nzc)q{TFqRQ)V(%iUAiq{m1&?kDF5cVQe-ojI*I#DzvS~3-$+^C+x#@dzxkmdF z71C)177flmX$zMaOP_w?_la4@JgkgX;GrD*Q-6_@+_L)bO@fTfuc4m+Osab`%9p77 zW$*0l{87k1;ds7^R|rlHbNr|Q5^E5F3J-Y)t)=KNqrnOc-#bqKG2@@n_bnKcnV@L) zZ%>?*cZZEyA0E819eAr)&z#1;<{I^}nfND71m#tPB4Q+~;=7Mh;w##Ef{$^Zn)#K$ zBdT_<_?=r~14enV2s4Xqz)X_GlKX0~UH5r>C8(%_>+7ddHAAmtF=c(0BAOgA&U;v8 zN0-M)pP6;lXyU}`5#?Rjzj@GiM!S_CP<1f9@=O>_%vRqMHG*XGl%rCANyUQ3NfWa+pg4#7VRw{pt<|~rGI6Li4+4E^- z*9uB=8+ZY7_YsP-pq2OIB)xF>u6je{0ZJ;V3YJimR0H*R*oiaY4mmw8Q8+)GlZv=m zvzS$IR_h;37*7jboU0ic3ed_QoLV2~zs2LU_i;22x$VUT-hG>Hk!KuGqRpKr9w+zaF~sY z_j^H6w-M+=Kv>dhnsmrJefaRM?(b`+Ujw6IdDyro%GIh~8pP#^12SY7JQ+;2 zeU6MeC6m7Rv_~hux`jSy2wYB#F)eQqVnj;p%$x7l(;L_^7?xy=e`U6e^K zl)YdhpA?a93d8Z~aTY}8?`lQqGQ4YZj^rrVD_B^S|GVW-H7Wl|f}}9d zjnd;7z^4X6Is_^fQy>j#s-G!bR0G=g9&zFXm)YTg*EpPah>bfwhFUqN>3+w79d8ekbR#`g)uQDV*vt&zkxrkuq4X{(YxJ2=R`jDGxj* z6P)BRRDSs0tW&Ce3=LqLN3uYCbHE$ioHI(S{SC(t2v`09^}MOSDmsP?_bn@Eb8<_y zU#L=E%$Pg*GhB4?XWIvzP4Pp!BMt(%PlT-_@DastomnjqT}P8r>HlGLTIb1ar({{! z&bXJ`RLzhOCaqK@J9qsZabMMY^OPt8PQQXs10OW$8q8+*8h4qE?JDT%m11yPfBDvA zLnZW;tw(^9-D19baDXK98IY%z-2Pr!9#Da=G-+So(i#_iq!;gL-PO3nu4>q{kWQ7< zk|!#J#3yplzZfo8Uxen&UK_y}*XZ191XQM4XR_k3*XFyQ1!FnHSB^e0q#AM>hu`PU zP+Nd@hqyX95!DwJ6c!g0YXWjoX{6(+QRFW^!pbVAoT|r_mBXJet{;LF8F<&X`kX99 zYrqasQ_vUemlC7wTM5xt38u1sJI>OoJX;HyT_yTxhNoLjD4Ifwtkt+CBJ`81(zS;Q zK%X2Jr84q_okRUsrZsUQfjR_Nb$3!C=X+^}wC|0Cwl%9jf>($5R-vCm_PTdx8>E<1 zXL}Cky~Gg+#7+A0r6g~2J!zf4K-zrjjD6Q$^PFkd`LV*?9JV+#Ao4ECH<=jIAvXdP zB2Mq^y+;3982vjlGjlv1**v?u)ZyDU;eNB=q_F#gRUx8&F4=RT{ojyon2&2nCx0Dk ztO%Seo!{*d=|* zu)Zr@{5v{|dD$IudW#Fq7ghk&t@xET&*i6beh7Y zUOJUcD9AatFwJbAo?Z(G@TJIc$GM_NkS#0!^HdocmS=NO`)kCa7VtV&o*dETE) zsPv0cl{Bs>YGuu&hlrM~(w-{;3<;+Ma+#?v^$&ao6693$BoC_C7oxVBLn@R*-8qFa zag$>)HWwBaDv=N0{9oP-;JnD}r5(v7+dDcQ<@a2q(2vWX6HA6_n%h3B$sQ?E``Ff9%!^Ah33899oFr#pP=lA|#n{f=i_sN-M>F>3 zTg|kZ0UEr0-Z>rg%T=PhhJ=FSxj}zNj-IJ65D{lYh5bL;v*O*g@EF_bz+fUSdeh_394M z0iW5?VSGa5>1@Pa;O$Du>xGU~Wu`c{*@gsf!Ca^M|As$FOw=H>j_Q484BY)>#)gJY zi@Grbapd?Q?c*>^+Qr%Enet5<=+bMLQgY4ky8vAZOb3G>k4%Ap83zLl}% zck$;}xc;HsY?p#X3v1?zAscaXGc%WO|N8gSCMxG#O^}=L%VPCRS~HK9*8~3+PDTOV z=gP-r_g3^*JZB!_my`p0dF*fQKN&g&4~6yODH7-AeEQ=xMa*sW$V65LiiK0!AfRqX z;`izZtVv+aLcF{^SvDs@B7(=tq>og+8RByO{ed!`C73f0s+NXXYv_7GpxlamF-?Tg z#H56Ro!nQFNTBr#g0-|rO@tdhzE=}#0@qWkdR*0>(^;Kd#-S)pUyKdax04%=GEj8f zsY}M{3$ZBwIO$e=B2@cH@F#u|mBi+dtD=oT9-2znCIZ^>aiOr}zdGu~@-2jfT7K)W zQoiYC>*(A63Lr^BNkRoED4tT1f1dJlBsXZQkBTEPO@FhcFw4N{^-5^*5jci=Rf+0> zccLD42BM_$SjEblI4Vbvk&yQNcQIYqvf?;3^9+r;kQAItpsiBi84ZFUOWIw$w|WdWY%Iul1Lv1b^@i$L&1O zK{kA;_#WFQTo>l*N=+i76V5AbN62}|1Faj0!E0tp6&&kh?60X<$bV`#EG-I485-oB z-nl6O02yOATLyKNYMszw+FYKK)ebVC7B;48000Cy=pNFfXraJ4|uNF8f1s(4Slr}y$inqb*^(v5AU1FJPo~?67D%m7HIPO#n)QsjCSVl zccHv;Ff-jP1OGJltZ#TXT>qi|ZS6_LQ4aaDbg?YHB(X|H^_X_i@!9=lw*l|Ex#3Us ziypFTa*$*3fA=T|me=DUVmc54k>JOa{>9}@jo5-(*d*2aQJHFZlXeAi@t4A1Kxrzp zU0~p2TthtZpkl!rmImb+JD^D9biEw4#xnfO#{yUko!$>8iNR+$2+I8(p2sKZGcef= zmw}?diG^d82bXbK;KTkMIo;=G8vS9sKcubJF)mmZsMkZvOdqZ|djsQKF|@f`k*`Lk zZ)HxFL1*tVPyJ$+A|(|AXJQU$CTQ^L%$jeTl{adNa)$xy|MV$wHK_m*PW<-)MF7!S zkEAs9GYtk6?T`hs>LXTqx@uLzip0Nn8y$D7q6$te5(HqSm)SGY4msX63{Dc86MqN@ z!B7qflXrSB*JO(a{(ezFkdknX1yUC|8(rR|zAr>Mw5JhTy$3%s-QbL|g{P?d`$s(qIbxa<@;s!Mt;8 zYg-${?(4+ifh=gsfxnniEZ>p7}Si0*nrk<9Rt4O0>e9bXHyQgM3i)^7jX zFZb+H>4Wl1Iu_hpgcOcX#=|$`b*jSmc8DY#!tP41n*x_ona0%Ff}0hfmhv42_S=)X za&wEn-?_KZZ#qUCb{_}{3j?uFEMTk9$6C+toe|9{T+DST$Ohb)<~h_=>2@C-VSBH; zdm%?($UfWgz4!ulZ8ZmMFP=T8o2#p<^SG8zpV%$CiXAR%ro{{r?d4ut7A`N&nVXx3 zU~%VQ-YOFvO$b20snMcm&sDa(USZ;5OjSoSe);|{H+xKH*URf|#hOm&>iZ_APjd9b zo~`qAHs0H&Ze^1$y6zsYD}!5sB~4pz;Mx_@+Jv)X03g2lKQ>QQyJ%a+VTN}|kQXPT z>&{RB37whcR^GLULm~%j1FScPf~KC;-KzquJH-ZVo{R9Z3{e?H=P`z<=0(6$@w34+(fU>jNH}t@^rb7e|u8P zYyz8ZKB zo_y->Q1?C&laN4^+V`xy#yg90Q_z*0;q{w8e@C@*t5EHn;O;=I5M<=+gvY;fS#})( zPr&_n(Ibq4R8`6H>upyH^Iq@X9lj|48k-d0>+S77Vg6w{sm18zgbS%rX5OfBVsfs?@_oEyPFw4Qc2uhabBTkzEj*h)mbVF5;=I}8d=dQwilqp$c9uUK69-AUlu7*=2&@D5o;1-NDhzJ99 zE21$NNNr#AFno-7VpeG8CNHd4tPWOJ{`A@25^rrjT9x+88ce^x{LMI_FPbj+Pct$R zA>wtP3UzN7N;-!qpqQumGaybiO7$#>pvo;pq4Ck%h1>#lCFsa&Rk&m2D+~-jh7$Dv z2^YgaWDVX@xxOnq3d8?U%iquFM2rs1P(!qT{&+ z`jk6mqsM~DTwbkn&O5d1@J+MM-d@#xolG8aa$+sO*z!vsw>3q*LYL?_d3f&{y5n) zh3C{T4b=A#eie08e8p6ikY%UOH3krJJV_I{$Ya|7X!S13hiy$2q=%n$_+r_wCeC{! z@6KLZ9|APO_O6zWkk$5eL0ur7*|7YsxVYHLa_hm>-M;Q^MakRJX_B(MC#}`PCSAyi zU-Jtfr@JQWtJRK#@ehmL_l)OURHA|I#!#4uS~d?!Y~Oh|kQ9t)lahYY(f;uVpjs9p zPQo3U?_=v{3_cbl=>&QLU*DKyWu=_pz92ENCI>U99rzXP1-zY$kp?vQR^pKnQ<1-# zKtJso5E)xHV^H}jUjB17&U2sLW1szqBkgx~ytiucG(X)`gb@thl>1?4*nWrQUSe$N zWFjw8wU`t?2MS2lKXN~mzcTQF>AxFh;zPPin0vF32@xx4)&~AYR@*>ndOOLcr@K;xxu73dcUmKWS=?{p zycO&gctFBa|7JaZem(v_*s41!R0Ed6llmpYJMWPUio<)f#PoC1@4KPXcW*9~+_+pN z-=%`jR6RY_pCH`7JuNpxp>NT+!GfBOp-N$Bj7LkM+izL9$Z_Qwz z$^-?rLzQa`UYJ|(^2*j~L+2CNy#J%(uS@kU!VuqXBIwnwdaS^u_2Ried>!;D{ zlIL+!5-a!A{{6ofKw{Ee++UwWh$+JFW8{y-@)WG_&EKj6KbfMWp`_6B{e!&&n663Z zQTV}u6sV8tL$==V?mi!ykox`!m@q9zX%P=sdQ#wf`)8(jb_3`}0uDq28Z)TFsY3}{ z$0a*CQ?t&!Db-%$59oo&w}duuy~haN*4FAL0V)x6F}@#Atbtwp@~3~r*n>}}UjR39-AO-N+dqI5RQ#?e^iMqf2di*h*yWFBPRk+J zRc!~0?0kSqGa?#!dzntk*>gJPdEVI#xDLLAzWDGzzwO*R&z^pU4!`X$0CkN9aG2b# z0x;PbkHyaE#Cbr0J>Opnzxnqq7uzC>5_qvhw)O+c+{P_@I8r9!aQdUeH&)4K?@9u* z0oFVVUG&9b;=K`-+nD_iIX@Y$(afH5w-;+zpsr`{AgoJ%0@yv(`%w+*7pBqE)4jYo zsRHg*0e83Zm|xE*ist5*Iz!J}2`qBWwo=IG*-VOQ4IG1+?kg2O2CkDR#}S5Djfxy) z4KfUq7MN6xibcs>z{GzDGK2a-LCr1^nlO7s0V;=64QG@R5ZdH;q5Dl0D=H#FL{yq> z{LSJcoKXaBR2fhBr3uK;Myb%Wn9@a8>XiLpr(x@&X>m0p9WrTSFt}DjmH!I z`80v_{V(&b@bk^<@}+3Zo2kP6+n2q+N6_3>>oViRa?f5vs10d5Yk8`A4t$e?i+9Bx z;IRIVz6eiYVqT{Vo>-BLwLi9$SMT2KrlcIFN1kEPUBAuq%_NIGBpLv|LraLOPYmU( z!rw*fE&vrQjT`{1PylxdE-6q~cYd&}5Pmh2qc>C|TD-Xj z2}-oV5i1aDh%O}ETi-F*EUyy?dy0^gYy|7)<{I|sGDtpOG{KEW( zd0WJM@F;-)qHKcJgBVRAWFq981IV%6e?Cs8k+^=mU;l?VMrL1-;90$zm11TWKX+#t zx)f5>q5*ZXB;|wxCn_4^g!m~qMpZwd#=KYGa#|;$OkABhB2n4dDkZ`nR~jdZVJrtJ zlHh$be-V8kOVkzmyXQb%KZ7R;tBIUKS+s#{LP8ujS5>nd&-WL9FUtn)H5_-kkzhIT zjA?Tvl{);By+{RZJSAMuI^Nh}c)0fC#M{E#tF~TW2Rm73wZfljO|kd;+I8iwCq{JT zk_hjPb|XJ9SRsm1!UpkVQrjop$%(@I?_obrd#H}hwDsVM4tj#+)9x8&;?))z!-9KW z&<;jKp079B-CZ`^bz&xC7g=>iSN~eduo163vUn_Z-@$4w=YqW`342zi z3}L%m%&CQ`z-5bn=@W#g}SOxtm4L zIEz2yl5XmRWe-Ff7b|ERtos<{Fn4uVi2hqAKQHeO(kA{`XrxO*xk|aKFPUa%WwKSu z_yz?n1GWB)i7M>_PkFiR*89GB!iCgE+reB`67*>=hv}8Q&`5iSrva_2@cXcs2{X|d z<9=!NxR3{=8kwR*D$L~qTBay>_UJ4IJ32r|pwm#Ohh5740jp(F4)3tAq9*;cH8!Y( zGQ?~~@ij+oyr4U54~ZO%Wr(yj6o}1VH_W|?(5L_lK5TN&aP0U%PN|+@pi{G=%@X}{ zE|%t<_ZLVN3kmfXi2Q0Q^%oXSjC_#gEI#8Je1bcNKip<_C5Adi5l@fBOgZtHI`}k) z9@sxMnGuklf5`MFWORDiC%vLg{Ju{{$FyofF7S-=Mea11ijbhcMq&UOqX_ol zM2IDV2?ajo_y)M!+WM|VtRyAqpqiQfsdW7bEsOj`Cii68-N?*!I2qIq<0~J?;Z-XA z(0ZF+`MuBdO;9rlX!O|9#}UrTV`k8qX^Zi^y%>J}>{)~SpxpSekqp~gu8yEvLEp4! z+0dQ!+fA9qtF`f$CbYntyOY1Au`tUcYk6V*H(RBk$9NIc0W|qp1OtOm0gNS3wOm7S z>P`kLXER+K3-ww(<>y6UAV(SigAb7pBsEk(Xu=%0&i#8D{+ zzur-;h||Zooq^TW81vy|w;WLvpcqjhm2iKMUmSd{#>G@#Dup%=JF* z7O5^Yh8Z&#DgX0l^kn_#PdO()r%Q1v~tYjQ{;h@)yR3R z>;NT0-C8zqgJA~S8B;s*Dxg#kj|9YhYNMFR#lgV~_vHa$7+>FWP}Tq-i2PQ$#%3GA zuFdzIexoX}HT$=>b7D@lwLpX2Rr;o5)$LgCB|B3p`ebVA%a^}^RdP`_5L5hgQ5LG9 z#tmGRoOF6mH{UfGW{;_rhXM~KHfkT=HO!o0)iv(+Y-Upz&`0){_UWyIPfyu#E5B~O zTqdwb?4tg+nCSTw;%aAiJX2)xEsdSPZ>1Ix-#UhLsLY2bte%0cmq$xk@&^vT3x;D!WIlpz78yywrtXSTK@OD(dL8|l@FrS@Z zuEcORzpgoA0#7-%l-k1_Q1eg_z(bSn4XI@voP!P>!#Q=vwV&(iZr4`C!QYf8Vb;%P zFkVp1r<=deC=zVTMNUe8>n0>s(ehU8Gl`>1eOo%}Oy)q*q91Z92-`W}jh)%dX~dp! ztc-Z+HkNT5RlxBDNRkpG%Xll9YrVyDLld*HY?2&tLB)^XZhe-XgY<`O=9V}WuNS+w z7UFCHOSHn(cciH9a>yDVMTzwPtVw}(ZcU+Hf#E2|`vFjLN2jNk0EfpqVn_G(L|3bh zKK;M+Wbw(30$&R2kfS8s@O`n~6WQL&n<{Grq9`1Pl9FnZM2HdF@cAmd@)pR&D02)7Zo)St!2YhunEk;L4qOu zxE`q9`bncrjFy8;NaN>Ge}jsuy)BJ12PJ-ST)g3J*HhN4A*7Fc(vQq4J_)P&93obg zI@YB8jx@2ZktgS0t!Qpz97)a1u%ZL#UVe|T{POX$N8nNieMbj@n}bmD*iVAMkU~ed$u8sT=)YlK>}d16 zkf&47eC$3nKaEBgf-a!_a{Ps>A^9hZtoPB()n;4IUF_FdR~;Q^m2rxRFG(94>GH=5 zNgK$(CEWI+Y#aA@=uM+mH*T?@CXFx7#%MR012ZQ4y{|U}ho0@ZJ@xijRdY_tf0S!f zJMC)R$wYoX=A-q+Dm|w7<>K7@N8=}Ab9sc%3k3QZkg8_D`>bwnAERSzlubjET8;M* zNa`|h$BT4|o9p_?#2n*__Cz&z`iJnK31cR|rR!@+5h-CMrY{~z^YvwHm3bL&!+Akj zz9KT3=oJ>MGP7IsIxvG0b@R|G{gs-}1#UnI#TCwYlq9M=Xhsla3^zXSzzflnFeMW6 zuOJ>I9N%=WKKx@zR0y|6^O>A*+A0TeMMev*fD)XN<6GPAHIt+Ip^h4X)LUK#>Nco% ze=vB_u}~vv6=D!#r57Cg8VuO=X!$Rk?G%j(>(ymxqA!J~!D~6brBirxfI~fHKSEt^ z9rmqeMV3+kr4tR;AKq~nW$}K>&|k>;oY7Vzsl}$qu$V#vl=)iQ21 zl!FYsD{yb)LE@pG&7U&d-ZAaiH&5tFg}8)9XiCT+TW3sQdaEZjG+J7|O%}W7d=}4N zJi_XfP!BwKcqZT9zS8lba8m4r$5ICnG${+{=P~Ywj_rI=Au=_-4@#d|^;b@t5@HxA z|7oG9v!=!}_|FFF-trsn``*Zklul|@P#E4)e4sn7Ewy^K@Heb!;;@1#{o9_20As2y zi>%~dip(Dy8%Q8F+7NMCN3=+wtP#23DPCA?bazJp(o<&td>eTmR8e6Pxx>TGi}2O~ z^D6Gr6#G0T#9HdXoN;Ji(uoF{TX^+B&*cujZhG;U=1YpgAbN_*Y+yTyNp?I4HRc|k zfw~T1gBJe}Q?folV>EzI%)b`oIhQ*fznx=;tKqOEk+;Cnd^wPvo|=G5J@v-`3k*lc zN~syCm)Bq1lqeT_!cz?9-CLHrk1#e~7l(6ACD)@`QVQ*@tpRs6e8mjuS3SaA-Qk$Q zcryB(A$usp%_@B_6#CaX_3Ch8c2Lq~2lzBQ4<)QRiRYxG=4e6ZW1 z4fO9>=<)HfJ}rKf_nE@Yv^C(ftpe)36#)DLcMj~e$7`d`w}l0rHw$9DXS=;eUA=c* zmBVrCdnUW%cdO|M<@UkB+lwVQ_r1;M_C}9EZ}f587-m)&CbAlYh|O;g zJB`wRW>op+NJrt6Kevtf*pE5> z@o&l*^W>~oFF!&Xu47YMLTQTV{1ZVd+A@F7yA~sQe>OLShE$wT?G1D}7#~N0>%>n^-Q0N>;0~GXKp=jyAi^ z#6Fdg5EEl~*hNItlO^yio!;dNO%d7rxt)QClgnY)5Z1c-ow0~dQwwn8eQXZ8j&w21shd<8oG52^Y_yv%1gl)~ufBQ~Da7o)W_23p?+XX#aBS7CEekAfi z?W?`Fw{58J2ykMAJHelHelS7NvzPx9ISf}K;iUy+<9irK7koOPLgXuP27q`H6d-xE zLez5tR^nBmePf(UQ+@7aL_7p0P{BsM|A=O=ql_|uk+fi3-0E8#%qm?9Hwq*GJ_YbQ znA;#Yhm6CBSrGOhM|~{7fpa#OU{&3AAu(4NxsIUmLJEnMKe(qHHD}IF$+iKD*O!w| zDOT_J?)QjLN$jE8wMDaFwb+8$!-sW0=?YLjevh^~9Uq0gmqW&7AOt?pDy@S0R`r<{ zV|+_1oN8gDyt&nWBrEN!n2s{Rf|VFD9zAYeLK*|jj~~DSF)I8+(&{i)O1r2Twiha| z{gHJhP0~7QJqKby{3M#)B)6ltCm6fm{q=TbLY+<4Kg8cQVj`WHh7UvNodRubX*piL z8@a=n{bf5DNA#4ctc+~#y*rmh4Sfd7>B6%o)(7k}vA({(F;ASvg2c^Vn*VTEQuu4E zI^og=RTCugs}1LGCe#$9u0Z<2M0U(KG*Zx+N9sir4QQxJR&ow)a|5<`_f?5|_Pfn3ab*qX7ozIs%>g!>FT* z$H{q^ixl_${0;8wgbk?D+|m+!gb@26H*U6j9nm{WCO>ZY)9Bt?e##irY@{7N-RnUx zzfLXJxO!3+jNdcIp39vDo}C)|HRiBdKHdPS>VSGc;D8X@BDSNOFinVqZ1b+!mrc8T zYn;ygk5re`8bBV#kB79+_ zYQYZTefnh+_zYMU4hJJ(uL_`-g(&-F{A?h9lzm`Oj?!mttfm}ZgiqHkGr6lts^C<8Wj^;g zi7Ix7Os33tJ(|a&!3iuXw|YVV^)uz`+OfyCRnL9zUIGgX=#$(55MXN=tR;gX9TC1qN6}4xL#@>6c)>d1Q(3&+u?b@`&j#}}xLIpu= zwb%Rn{&@3ejw6obc|7-h-Pd)VpVN!0nCh1bmtECxogB9vLBsgnaN+o9z!lvnS1$2x zgPi(_$DGECyfQPzs zY-%KZe@#lMl(Qo?EAee4*}1$f@#Z?+e58GeO>Fsw|8De$?DF5qig|D zX@}tI8+SjaQ{;N}LmDRy4Q836-D!L@Wa%gxqNwvO6M!nPg2KnCQ?s|f&&S_mUyixy zol;o7jERW>HpKUgBB-F47?1kDF+iHQAW~y&1SWp@wtg0nz11>%4NZEis5&GKPI&u% zC=L4$Xw*>s+Mg&<4w_HRSH@f8+|71p zZEt#EC3+|$0irfuU7Hm3m9{Q_jJrtrmP!Ii^36=;{rH;kigM_;da1`U*V~f=%YXpV zqHXdD@H>mWdUZKn6MVh~$WQuZu5R|-_vd(P%tN>8bZ>xEZoIy+PaE0w@7)&QHc2&2 zQR(kl1s(TJEG$fIZ`&3<+1Yk=b9N@}48x=O%{PH~xTRL_-Cvj!R1uxP&d#<3wC=^7 zC|L@FRYjc))ik(t$kxcFUeUP!ALbV;AF`mRS=TNZq1jF9AQ6#txwN5oPWaP5e}@J$ zvHi)^m)F8$HRc`Y*g~kx#RA}i>A3U*-egw=Ixl5qrGAbx4N0b037C=&DJlKhg;~OOq98-^3E$1xojIKh|P%Hh8 z3aycOlu=qy#q>=6L4e+5x}L~RS$^oDVdya(3Lf-*iTOF-$PHcB0Upr1S?)4z11#H$ zy>paA$&|g+-J&ldu2qzgUn?|9`2S`Ie}E|xa}(EyfZlfHaLEsaKkVj@!myJWPHX=cC&pTTm<%(H3Bi;pFJvob&ulE0(f`DB5A zsNdzyw(Vuj%~hq$`TQPJp6SNUZZ#jjW$@X;apjEIw}P;>wR)%)cb{fvX29VDr%ZCG z|4Oa;uzG@>@q$^KB#mg2P}kA??b>w^e$+R}F>rk;Y;CLRHnAh}4xD}<| zbN?_IJd+x(uIC#e?tZbBR~d&-yhK6z?ykYMs-E3_xROD!eh$$WrHvgIw*L`D~~m zo0!|lM(QS5rTSQl)=bhD(xk#oSwT-_=MA@X!y59v&;skan>e}Yg6=LQWU1= zo2V9rDwlG19bXG1ng;*%I}eRgZp!SMP1FlsH4)L*PK+Mm0l9Pm7}qAi1%@k^(nJV> zxJurt(S(QIrii@-f)^1l)xbZVYflt%Wz;+xCH=;(dh{Ff#mFE?s00#G1O8YzQe3R7 z+LPmj$}tHtOjA=MhenI2K@vrf_GHO#*skL^{_M6tl*RGr>U`?cl-V=*W@4iV>CA3W;Ryp)I6e6-sQx*P^E`}ZS&#{=^ za`kC8an#{gW9NuBec;sL(_G&^`D*1wMy#^=59;shtwE^7=kY$76L8;t2?^;O4+gU3$#X`U zG_eOBY~f`0A#ceQzj;i4XoZ7FX-Cot2sGP)ab}{zQz4F(aD8J>B*D1J9)S)|wP?bM zm}-5yFglPT^2oOg-a8He1R4O3$7CPdaAiOiyv==cNN;TLXWz$nre)#@r+#;r&IW^S zfll7#Nb@Q3|Fr-ek59*7EwD968Mt;A9h`8CR>)M6Nz-DGagYCUeZYiDE5hLp%R9 zhq{PubY7o44x;w0v_9z@3-jIEjj!^I?i`pxL~<%}k^4u}=j`{b5V`!ac(EE*xPQNPds z*}Axt%xJ<9g|P&)$H(JmR)*@R!PEJjHs(;H5h&PueQNXIfCk$>@5-5Kp;6Y8H=3Es zPieS5a%tsg`f!y$#l|RoIK*5SN9zfd*AEa_aoBNXPTte50~kdUC@FzRuW;KQQ)2BA zV$WpoM_KadxMa3(Q9hm3Y<+DGksC*SBPPRQbh?3im34J!wP$P(8qX3meZcfQ-B&0hpp~skRTaq;)eppzzo<( zb?#zXH5G>Nr`Z}{tC4%FNWOT_thM@I8AwUO>UU|+;GtcUJAFH$FE&OK=bsd8Czqv9 zWUy1w-Tj$tLz)=LxhGDDgNcl@T-ulGQjFsLb0iL#B9*nl1oBo8BO8#}5I9SZS%KY} z_`hwV+=VdEKB$)%S7%&KfJ4VrRrBKC4vDEc?G+gm77qN^DlEzZsL?>N{W`g8#;%DE>crYo;iGipOuEvS3dO}A%*3EW6;&0& zt{kRiFKf($Uj2NVH)O1*Z&x2{@@y}A(fv&E9(6Edp99QGjt42uMorz~1Oz;PP-_LDURU>v}#J<<3387Wz)rLq# z$Ot;9F+m7X!az5C#Z;;i3odF*ou*G^m9;nS0~PEvf7=V-l8w}ly$d*52N2TNo2D`W zNByd_4&^6IQn5v6zxw(?%Ujcx`sOzmHP;tKbYsv-2lF+YmYbi+!C1A$^}OY|u#LB{ zc+1iFj)CMX=D!O31u|&Q5*YtX7j#|&?cmLZiP7UbJ;rm6PoC^FOTrNd{wIAn0jbu; zj_Dm=?&$PEz;Bd4hr!G)zG1;uq^H~1@NoCt^jMhBjCJiV6kOHIe3VT^qgxE_dG)|f z$D}V4k9}Q2j;BsGwaUBz2!Au?%Asr;gPF^U%xe{H4A>q|=p_w|DBz`%sNg zUTzN-XXE1;3?vJ;aH+z|Ed$T*`?)UOAZo7Bw}2I~Ms_*)%UFGAO_--YWB764qEfO7 zC{f6&>OEn%r(&#T(cOrrFFIve4q-M=y(u9Of)s$Y6YvOfz3@1B03^m){707DUnD@* znrd(1W`F7Wda3K?rmZIAR5F{nV}I{9s7v7E8CK>(JKp(VC_&(M2r6^ReAC06a=di8 z3z%M(HjaZZ#?NRXCBtqs)XNh-!)}4}fqczpzu(`c7u>8aoxi$8V1E~F+FoQXoecpm znQP0N%|1#x-@QFXX6D3C*NuPoCq61$-1eM?;{0xQlndIyd}pn?v3FjTJ?Z-llMdNj zDavztjNr2C2GNrkOg|qR-drVaFVHNNJl#{bq8o$Z8%;QaE@`l*ZcCkhm&qbNRS$>= zquH|@7ncpOQlf@ss++i^j)YjBAx85T!)kBMEYTfklZUv$;)KtdlsxyUF_Lo#@}+8OMLy4N@hbP=610ihW3I z4-?PDtzK^pwTj#<@Bhe!YRepFScRkf^??6DvmNS3$DeJNHJF?qXl!bdtP%{8Smp}v zoaTodd~8h0)DF4v$}R|8iE-=9{3mgja56H*5qj7v*MptzX;IIXxm54^hZ@6ld0k@0 z{~p+UmTrA%67nPHcEjG0>K_?@d2w^~W+j;WsI|)Z_@m|ZT0Pwuyu<(Imkr%mfn4el#h`qH7OM4G@%xL<`uh%@kC1$+rFl{hpq#s8+Wz zFqo+;lw!~pqw_KMnTJb_(bKT`;|OHAxl5>e4E5t8GP2SRmid)GXxdd!q?qXN#y_>$ zlHwg+U&m$+(bE&LrpAgvK`N{)tiRVmiByD9vax@HiL9*#;%I0fq_!{*t3;6q zT^?=@K^j>xZ66mNJc5&rv>R(s2w;d!+==TjQ>^q%j5#K3W#M)XuZ7^gb_*4;wcn>L zE%kO@@Yc1DWXO?Lf5~rvq!9i`aj4k&WmckpnLZ88K*NOGnr_iS{62QzK2KyGb_e^v>2iFoepB-^t*DOFo7s>&vB}+vhFJrM0(eM zy@SnWN~hzK5TBFpRexFvuw_1d)3MFZ9ZVqkb)?xydc73aXDR;ruU_r>`G_#%Y zpF!F97x9t-7LSQcdNH3GGPO9;vJNi;!s2=#{TXv^ye>b-+%yMYylex2oT0lpWn-|prqYXX{F02gwEy3n zvJd@aX;*;)cS@}>6iTZ1jxT=)QJ-|4FV6U$P)Egj;@>E>PIFf{`ZRdD|FC>8Td)24 zU^Cm|ZfUNzRx2XQmW4jh1|(;0XtEg^lroBwJl(CXN|bP@tg4&NjA+zn!~+bhjH-lS zyBF<#xF!S-xS^@3wd?ll{7wK)`S*D6%O}iFYN$x9;0X1)yB(CJFMS;F6j7;c#HQcw zEVoy_rtxE;L%;rl;zX`T6gJ44z0?2LO9%qLfsu8~(u1SONEyi`5wu)Z?y0LLo?x^= z$&nJ6fvHY9B9>LpOc0s7k(Wgw__NiwdR+x5!ZqE|CXaJ>rED};N5tlVc>$4C_^=4A zBOGGwjsbE2{S+Vr7s%2fMH?NZyRnHZkb5?oi24eAT~lK%ij0~iGd_)7b+TbnD=k`` zM(#T-%w1Ue3+jX2`&6=TudxFeDHAP_0UI!F^5N^$xv`{Vw$$}-dKL&vcA;?&&jSxuf)o$?Fd*wqq0B5n@=qK?=^r_Z{vr8ofxHu#6$Z5u{ zJqTO+CRA`V6x)0QH{Pknw2MEgYLRI6S%Y2DXT%UI^rnc~iG%EKK0|cCu8BUFdpgbY z99F27O>2zCui-i~W8?RUeTasNisftX;Iv*AoD=j^B2 z&w&;suf!g4{CWT)cZmC|@by#0`GG1`s)tqh_XZ_o7OtTL{f+x7z?SN3`E4O(KB#0u zjWhoXb@Tv)9vA5~_^|;+WRiY`oo}oR;Cg0fFWwFYa z6jNI`IcOjnn=ryip9Nn`Ug4kA>Y-nZOx^~D1^z3CJM+xfsJ$!rrQe=`kEpmfU2-<1++c=={z$g9ow8_7`j%y~d+dkWy$HOyKNhlbUtpmv2v=mv>{{h^a`AiIermTV zsS)V4P0l7#Vs?B_faI-{lh&P+gM(Drn_ov`pZl?7)V@bjkN>p+6{*P}LT?`VE@A`d zu^lP8cE~&`Xg?d`MT+Bp!zE9fnqC4%8@(Kg)Ofb8pi?b=b~g^Ts_* zqB3(ibk^Z}SXxbemzv=>d;IC?DM>n70{Nd`=KN` zC7nlG%{5)OH_W#O%pu;FsIbeWTfZe>G7tQ^&cnx+*KRkJw->vMLAU!|S23y+onEIX zD?$I=^ZyyVo)-t-%;M%8F8*b5GH)+*1>uXxB->t91J4er+J3f0s8Dj6%=x6ub;0eR z%(=i#PuPhSw0|{0o$h((!3F-e?1I`3An76sF`nyL#h>=D!Wstj@8(CizQM^+ zB&!lTcViyUUmqiWcCk&|RWDkY|0tB@{?dGVG0cj$S;!0>e)1}MZRSkW^2S8C+S`Qel zcaoAuK`CqJQ5|Gvv4wm^?9&KuVL0Yz==CNvAFlDC;BoC5i7hf+b#RrhMvihFXDTu>?QEXG`x$lDoTDPXI+ft zO2#%!E3MiYb9eyN^v&E%C#-aCDqug;plWD6lIXu&q4;|}B!X11dKF#-2XwV#_%NUi zE`7e5nK_<9z{s@A|8O!L`+KzU4f`9R2A{?+nwqH`CI{pDC1YVdYqLptujU;j>F<*Z zNiI~@{drs>k(~EH$z6-w!C4c`Tgj{3uZ%Hvb2|K%S94zZ7@89C)*1hKGXH2pgT^ zqt9B1u29w2*N;s_V%S=OOn=j)g92%aM96xZRFx%X2+;{lS4cL>j< zO#R(TAiy5~E?`_!kH1*-6M>SNuoA(6e?G#spd5UAF~4+ee=56S#DSQ#9^X6GDwqpB zn1wQn`<;;0bTkF+p}x>?uQA*6dQ zF8KJ5-KoU>dJmVoB`ee@&88Bcpw|8F-lfVeZb&qdj;^Q>zc0H?5*W^5^@|KdYo@}Q zE>`C=m@0uVqO{1$L8$kTV1J22lMXN<#M~uWy5Q7j2lD&PE>thO!-c+A4gnrCw~6h< z1K>R7juyawhG7Nr<6cjrC2-#veybCJ03=`!F?9Gn{qv|)Vql$36lxS|JiZGlrj?5; zet_pvTTxNY6;YyviTVH@(EOQ3YOZ&Qy2i}y)G(34ZhG)1(8gN=;zh(AtqVqK7*8vzVkno>)JaDq3^RRn4D9S2 zap}8Oy1DUjnO>iN`0i~bQSWU(afM0TZ#J2ga&nlC_ZBViI;^F&dx`fmkrO2JMhn{l zKwfFn5t*y~-*pwJ{I;`Kp*wEZm2ROpq_W>jv^I52)aC&z$>*Q24>yHp6%k*r2vr+TMTmrW2-3f3M)f(DW?Cnbqdr0u^BoXm zQK3Y?*K}XtR{;6gDdu&jGl(VhYFJ>GVA*n>2t***1z|x zjy}b%ylb9IVi^hAGj~V(Yd`<_Cd}xaV%fY+W*=AZ?mS9$#5Dk|h4ePeN4 z#*_|k;h*l_EiKMF(k#~IK%i?dAcn6ieYN3%?4T9sJo_~{CIxV}!y3XM4jrwn5{!3& z`=->7#opp?uVhH0-ej%KRGVWX!#33|1J~9JF94>o>8lyT8OX*iT+#_p!S-M-E_k3~ z8>d|-d6tWqxwDNEL}R8t+ZY5umX$BU$$-xTNAuuH_(MB!@tgoUpfXUZEaIBLNS3_o zTFQLNV1(MdMp@bAYQTF44T* z-^0`Mo}x|_wjMereLSTH{GCtYW0%FZuSb$um(24GibCwj++#>38zBTh7Iz=LieBg15H-2LstKJo;=y>hTox7@y3|X4Ax-gQ)T9AQV>1f_wv+jaqA>dTk2q{vZgce zM;N{0U|+&#AiT8m<~Q@z{-sR2=i1=X&CXKj-*at1MeJ()u;5|}TGzLI&@bT7Q`32D zz&oLB(fUiA<0MzCp3PQPM?Bi%8iR zTq5Lpu^`oBBu02l(_EcZ=#TBoJpP9Xh0kH-aZ=e|*&a44%oWB~8n9#Ear67r1`puQ z|K9v{7M|gW_fC7Tc5pE0+{rcEIy7W8WW=pE-Qmk=%Ewk7>BIPSewW4H6MdQ6e$WGE z%8&yasD3~EC?pD{cS@qFQ$*uW*ArT(E$jo1qNtVem8!Yx`YoNcEhqo8;nH?MHWhOnP1LlqfQDDfNs;DE1mLpTiY&5YyG60+#jbQZt zkAkPU&@Yy{OTjkh7Fv=Za$}=pa(Wg58(=-HinDhK3GwmycarqD{vgWGB6Qb%uNomj z;4AdF=5A2WVNaB>cf zulSP&oSCuLA$qH`&g&W+C1OFl&TVi{Wb)n5q}QFI$JVKhX$s)y>_mh%j!tlhF3(@^ z&t>BOT$|~Ps~hvRpgObx%yM9`hMMu}$Ba52byN$Qf(B8JZ(WI1Qzu=8k)ty0;#MaO zaur&uD`&m)vrCraS@q(TQ$K)Frn0)aFCA$WoKr&Ytbb;TKk&NYvD>PCgkEI>RX&o01G<>W_3gs3{?gf(!23tH*b|~XqF|Z?= z)baD-a4ah+cQh5c3xNrVr+j|;SHoeekVnMu!3KiuPa^Hx;*845IzBbMcNmGgQmH)2 z-p#`d)KuY=X@n)9K^=EmMh4z^;Rzb$6gi>C6@?iRp3)E+&Y+mY+Vfx!Z-4)-sT^RXZOD{RZaYn` zkg%onx;(j?qB0M!sN#YUaC3;`kW)=f|Mdm}6(;z-i%TC_wp{|mjC~EWo9tJ;v?C~M z$T0ZPU@krHIYmx`VUzalc9iK-;EoRw#ILot_srIF?Qm@eF-n&o@{lVS|JaffY7uag zGdupCGp-FmAF|;yS1N2aP>&m1Y7fCRGPip;;aJop%{WVrceFlx^gxoSsTt0P>7E1I zNSIxqFmMvo;?;!-ff>8M+>2;Hcli1Vjk#KMg|2TqltiDp`nYh6eb{NxpHXzTP-nt# ztZs;n38NHpODAWG=kaR+wRLr#-riIZN>LG&c&jHx-P|dnr96Wsq;G`4s4s=YpD}t4 zaGbDTgO?O0k6(dTv0PRK3v0HZ*dz-0l;17B=Nuj`7i-k7Q{0Z|nO7NNPlLd?)mfMw zTo69hG>L&Ie?Wz4qAWZ<6kwxy2a;hw;$8jS(^ERdvb6C%gCm$)+gY=*c{ctPfIc_U z?iQz0Q{^Vl{%^Y!8mW1|BQBC;FH)d#LVW4UMHfKGr4?tg)7VfkkhmcbRpqeq!H?bD z9tM)kkdkPuoOQ);vnt`@Jr8aD{)hUJl}I=eK{BWI927 zeHQx%X*YBNpjfb(3X-1n4DzUMUzdI)T)l0G&q zOa9#d+d>=ipx)t?!N#_=r)OZ0o)s7)&Mb!0p%tM>nEki9u`#a9JS~ws@aHi{sNt_IuU=WTs5lL?O-t4iw#YC}Kr**?VO>10u2%_4OYRu&dr9JPz#0oSue6 z0z)zIH{eG_m_1R{UbtyiB9QTvWuKr_yQ{#=5<1O7&x&|dGX?9AFb_a43lmlug8r)OsB zV__4iWL!APsn*P<;fh?%(ulX*qaVFduhh72e-y7&9j|UxJWRU}fl^8N%yF|$A!&`3 zWCOB7@TN<)07tvy=7PG~GE8P-d~0j&a<7A#FytV?vfT&&8vxV~nq2mb=II-E9HAsZ zf3!?7=ggtEm!^;NfR4razcQI=ym#kCra)KN^=jL)XIhB=Tnq^w2 z@xDu42cbZt!>6&jvSIPV05$dJre^IYOi$dL;f_9%2~u6Y*MTmH$t&rD#q+L7O1}Yp znj=StMa?;n>g0do_$pDK9hk!}D4_Z}{(EzCwjryY!|q`|4IRr5IfVk)n!W3eq9W{@ zu!gpvA5BfuyZ@?uRNI1rrIeg=G3~SVdS5?1=>G9O;dO5lsT{k)KWPXFi{pmSa8Iq5 za|=a~{T+Fu>aT>J&*?o`sKN)LfoE0+{5EF!b))3YSlBM5K*yD8c@Z!_q>x9EWOMoX z`3=NyR-5IFmSPVM0O74bwjwZK*}J(|x|$yR`*$1@Wu1CFznL?c2Y^JYD?M>H9YxpI zh|$rpu#3rRp8lAaZ03-L88yJ-5OjM2AOBIX;U8i%{YB3HMKw=_luQ47S+hyU6lwO! zJWrey?x+ryrKp)-<`DGf_4P)dR+}bQ;xY2=ku%w|#M+pC&iYxiN+WV()RCjk*Q103 zBUUWv+Bc@EU$&Z0(-^R{63PqvIB0ybBB7>Y{K^51syA^*h(Ws{V*S61q6Tg6g_}5- zpw~9NphVry(v?6;&F9eI^Mn4+$<#7OIodKFYlFYB*bX2`IoP|c#mfUle4m0FgVme(Gc`y?VWPq$IgZt%X zehm0m%#z2Qi6nmLM7T*ml{jEadg1!YYJ!O7c{ADjI6)6uMkvs))nI5}0~1CNrBGY_ zF<#|~H*v|x{rSg1a>q|yPb5P6zdq}2vrMF}@DP-dDs{w(ELcs@tRNaNXxpzrbB{`luQap<;tnjW9x6z^14B@_h4-i~P5U9;=RO`DRJj*aw1GRxu|N)e%UTd z5Q1TtsJO&dvnlQsTI((o3}Z$on@YR<8tROnYN9+F-D^KV9p`0*E0@dfg6wFyS#kB; zVo>}RfHuAbMNyWb=<0VGr~87@@$axhb_$ieyvST?nX|WQp^iaqd=%WX?*EO^C2&pX z8?&7sPd7?7OIyeG$0!$#|KRd;lIPVV_@WyqEFG7z+c4oQM6@S#W;NV8;*t|3k{GM= zL-B#5dc?=@%$NzRs?P2h9Z9Nv$-@?>KP1GuDtIXm2XdGTpXm3JDP2d_%HULmiU$r# zn5+QzM%iVmqdG!D(q4vi7%vCb$blb@h?8Oyx=S_C(po*-TAg(u&I-z*z9V_(2W!i7 z{>=v3`|m}brs_JC&Yf%xub9-?#G=G>s<{xQhA?jbMDb!CW0$sC!Lgj11}` z0#<&O`|nNjG{(eqCfpuQsDKmlC(uwG=X>!ex5oOd-I2mjwngyYtvolgR(IFNr5$#O zg8ZofWbhwdu&f@fj|H()EX*}cM$y=?gyo&t4^Yp~y6^RTW4um}iBjLaQL698j+buy zs}Au#-N|D{szO~Zz0GHO&a@V`8q%DFeeG&rZu_N02fLW>z!X-l4ZJPvD8X_8vtZ9T2sDU}cbW~9e*@iVNO0LAPhHOGOMieT zRNE>c!N4rJ2b{NnkFWMbbp&J?BDJ9P*n>fUdAPsavwLtb{`9ldz5W9X27p{MAgE|+ zCpTepbDl_N_?!g;m4LJ_E4qTO^1wE54|5I84}Ip+3_TK;_YDqiZ|an0ybBm)8=dyx zGGP|#J^-r#@D_oLjLpwC=iO=$)zU}XUVAs&i*xVl&#lEw$`eD5%G{DTCod%>CA6Y5 z#$Mn4I`@Jq{eII1Uk{LmYb6OKIQx1B8}ZdS*MiXsYR3}rajQT0hRL4~xTo=rV{q}H zow>$y=V#FxlUb{W(|hfKr@O#jtp{xSLqPfoG+mLA6Y-NoArzSS?8c0)MtStag7d5{ z1sL&pibd27u&v7c+JUB}cuQq}Yo(W}^A{P7V;A09D|0MMY`418x5- zTibCDVg`uqDKD!Yc{ZtxD)2-8H|MWs*%E9lc!IkTs&+AAPXyNPpPj{Mc565o%K8oNvuakf>&f~fTn$LgKKJW5` zaS1U}SY6)^8(rs|9P}_o5d>$Aeq8pbDo&$~^sBDc%z>WUZaGSBPy-c|t&LZLs`1pb z8s5wXXZzA|b}+lpUyxHC|GHup`O4~*np+7^{0qnF#vC{dLdq>jth@>d`Qc-}&iIk%%g_7+s;<-~+>*!u8WoK|R@m^H_r-S)z2?n;h@TC9l zLBs`18>|bz*>+=kn8+^1ZhM%oF-zA^OttWiFSnn?5$@{)5T@E^dXF-R`NgpjQFMfC zeT~)#6;eYd0zxyv5?kr_?Bfmhkv(S>O{I~`L^?Y2s#%SO%J9FSp~F<|(2GUj&hL~N z3KX>c2y?d|RCZ7&FaK#YLRVc4{=Vd<{fsl*Lit|gk&ii@qENvYZt~}%#3N=nED_7) z+E;sAT}1(Yw^{;NO|+zm*-*rU^(c~PF;!5HN!!4oR@rZQH~T-B%VqBPLScc&TUuTO z`xsNbAZB(bjMB~A`~k-J6Q4mUdhXq{^UKQNTrbv-kVy5Oyc-f0(O7ZqZ>m-She?yr z^2JXa=L9K4o^nj!*H&Pwsv1OPl^2k*K>LS`$H^wi1N{ivLx$8*r*R@#9h7A62NlaE zt6+lg`1lnA0kw(TlxSyaWshd8pkPmXP1GwBs}UNQhaG{B`B>Ro{Sp72C zNp&X-hzaW;EVtir_eI01_;pHqR(^PM5R4BzmCs_&4$30;S;s?Ay(x|)v=HDRxH zuP6c8(qi5Wx)pAu9#=Kv!2E>iu5uAV4~jY4oVUC^sU+jnTikt^%tQAxSv;F6il6fE zrkpps^P(gSYwtFb5m4ygHJ>x~3}F5(c=G}v%*6v01(pz5czG^xwmw=#qZ z!|!|g=|IkrUep4h;pyjW^2xCS##jp$Hsnuq>$GE|iG%(-4R`P=;u!Nv{v$+11(hOc z(>ya{&}yECqrpiLyJr!2pfXkm2K;Rh-}SLZDH9$a7%F9>y$2+t@PG#M zdbz0KmD#+Mi#!XocuwYjf z`V!o3{yEBif>D;hs5{Ar1DC4ea<#4ZLyglZ39@N>KPRNVQ8Ui6W8@r_4VHjEvI*+2 zFwR1?81TB>@Ss|15Rk%|9ie2DiIdZw86*C{-`OQ(?O<3g9*7a1-*t9#eSO@U&ZzUp zvoA`Mx|m$?rT=XVHY~aOF>G8)dy{0q7MGJVC}Pk@2yxkccD5uKt3BPZNdTP1T%(Oh3*0`A((Mfv;; zx&EPTk_nMqS|6~#+To;FTdsy=cq53+@cBqJRv>fxPeePZpR?`MZ+^#@S9Q3qO1-Gj z8(oD!2qP`Su8#pk=FZ8v2-GrQEwj??_TS~wB?bx{6&o^Pj8CTR4%Q#LRZ#^U%?=K^ zi!oBgZmcIg_A!>ao|?40TB+II+3PxAH`P`4ajE0$`ggW=;9qAn;^(*LE4jHfw>3C; zR`l6bRQ6(V@zV0_7Y@)YT=$SMgL|07{gPR=kevPf$~uhqfA=$oUF~lyBgtN^u*a{Q zZRd!PDU&5Q3vHdY!F?+;8zeUm#=kWJiloZLmq^CXz}&3hdI1Ng=1g}eo59~9MO_YS zzozLMT;nygxc!T#KJlG%$fcv??;Wxi0|?C5u5)VPa?O+INWFc#RNPU3dDfkGKtNUR z#o=0iRO7XUwt7ch-CpDM#{5%Nt zt?RsKdsV@!^Cf*>S_E(ND>STJ+r=e``mRz`=p*G01N`8yq3`ZOz;#>A@ti}~V&}h& zBDil**saAHQo?i5mA0Qsj=?OIi_!c3==&*E!#22% zjHaf7&_Ek6k)w67yl)WHY+r-m5!u>_8aV@`#ql%4Ai)wj-t#-yqN1K3mU+1%wN0%j zhGECq&C=~rpfpO3r#*`IXRQY!kLqY%vmFidJ!Er=w0J*z*&P!L`a}%LWqdC`L^8A^Z8^oka7NB%F;hxtvWLP0`9Rr`1 zuG`I;(4CH%Q1>%n`Yd4m#NnfY+CI-1zQP^VWa7axv(tdDc%eTi^&Xr$0jvLohNAM7 zSe!;sySpu3(9Eg)_Hw*zkLi-PWv-@x5SZF!NMTtH=x=@7nga>qq#$bL&Mp-dD}d{y zm=+V{^h75GAiKeY>~sVbSdFS^g}=uK*BTKs7iXY?o+z8}GQ;YVMUWq@sNhH8^dRmR z^`Xg$uP#qN?J|Ox4K4&BDo+SJi9cz8pSQeAq_i^Yt4)a%LOm)5@*<6)iB`lAF?kMR zD2P?e4gL{S>v$}yMEa%_Vf&(2VWw1$AfOXME8)NwcX;q#G_N$Vr%?ALm-0lqcQ0cE z_3|4Em=U; z*ck7}%-A^LTGPD6pH)KL4d>v_q|OgN>_NF)baHY)NVXk?mDu`L8dh1;SKWLI54J zy1TE9%g*6PFUeO+OBPQGso}nDIgQS)&H{%k0C@m`XAWL{>j__NJm}U>D|O)g@(8AR z|2og|TCJ-1JZv+teqF5|FXgq{8&8G}}053Hrt)A_VST%0*a5Bqc>Pe1i+Sa~b(8Da4fT#9^Pg&(LF zL+{iMzw31R_M}MV;6Br-Ylv``JhkAyvm=fck()vr%kBj4=ieVo132E1^(J>DxHJlV$Ho1;^5pvxPEryNRf~2;Zk?Yl^wK?E*vO zsX*BuIF(%Pe|}99_c~{dmCa;+S2|XGu!S8JA%v^)OBQlRes4X&sG>fG>NfXzZ zgKgBisx(gc*M&j%d~O=7AIt4SK*mNgo z8X3l?_yoPig)sInS_lXn*74OW{m1aRAJf9Ob9LZ%YcFhk4U`9=H`FpqOF{oeM6?0R zZRlT0ORjiA8n>nP2dY3&uv_Q9^Ra2gUHIUNy^{^LWlSo>{|7G#JfATXAfy_iXT*dR z9^JjLGk0}$HipiiXByF10BWa-o~hYh`0oJazlTDN`T6?h2dp!o0?P6}E5&tPxwt1C(Ydqibj1DZfK zAE#&m8Q+{OPb}Q2G%U%e(Bb4PvoqF$(lIT={lX@9e5sR}L`Y*kQyX$t)^uC|W1gQ& zgRV=R^_`t255;K^2*k0Zam^&dotSG2fh0CtzO(KK)*k;q0$D90P4hchb|sC%b6U@M zwPmhzWG=9KH+^AepC^wtFEV|&3o{Qk4#suL(jAMc8gw|co84gJOJ?p{+PDvr+kkaK72C(|*^Az#Ky-|(W$lQ2o?J(}_i7Fb8&{Znn~N1poXcyloB!{0f?W7RC4>5KrH zrwI%jB`=2o!IkPdQ9g5a+W7e2I9Hh8pPf4mwZnipiYFY~`=y@VY^22s^Bw7gMWjZn zG8zY+vjqhPzBD%9`PZsB$s(-O(A*Z};^ZZir&$KQwr~pxDVhPUs^wMx=~CG3s&gEK zm@YL@To)Wca9;r}&RPQbMe<|k!xI)3xqY+=vsB}+T;C9l)oz&x%=?5qD}K}5+HjY4 zVmR4S=ME&x?g=NiGSK5Ho%AC1yPiY$>~a!2ic43%@g(5CX$RbTC^0P zq?52I0lsC2xZ_AMw)(jjKKvx)C=NQ-=+X*&sVf1kS~=gaEp6jHvlTAe=-4?&TjFjr zD^?ayHg?htqKlVi{ag(ur`={CE8Ev%)cl%#KbI2?(cCt$)2Y^AF&d$}5#OlMEV2o= zb|92E6i&(2cK^W-@_eYO1ifxnL)vBiWV(?Rk9cLK1?rnC(2>{ij!@1|CHwHrdY;e~WKe!p6c9`q-LL_f%6A2!v#1d;hFc zN0G6uz-XZCK=7{?Y*>u#SGZW7z-1JH$2WXMd8KC#F5%-Onk$Mbd)O{DyE1*cuHqA* z(U!^?^(=}M-T$k6`j{krI;qb(puB9!v~-GdlSO^o-tfAYg{qgn0X+j?341-IvXYB z;)^5a=;$mn*ERwrxu*i$@;3K3q6kS^Y%Yftd*LbOPQt zKu!zDdY^A>1xKBv*oq-&@O>a*!hhO&SdNT0ts><9e(B)SlYhkejmA&^V4O)q!vG0Z zdGqi&RB|WvwV+`-BQM*rA7QqoLlmH)`l++))gdN6RZg$V803w;)av499KgN>Yt*X_ zrugB9SBJ)ZMMIxW%?n}#3dh6*vpn4_q1y7wpa#2lmBapDz*@!n#9_t9|6C+hN2?tn za%%S^Dn#!%s$mrDUEtoSljuf}9*dJ6Cp`~55W&HCYB*K-87WQ4LB$3S#QN|^J8H6P z38dd;BIAUi83T99-`ThShxiLG6SiMWYoYrC@h+jmh?`NMPJKcVHwJZmFrn^00xtZ} zBML$oM^D|EHkxHeb>n@6>X-46wav<7S#Y3}i*(-Qpr8HwE1*9V>r-Y}8}{jyhw zef>fAw@Ri6OXC1EUq&Fwc=KU8P%{=`%$=qFbNEx`cTg5fqGPJz(r*qW4u(_Mwb}o6 zl&QaH^F5}CXJGR9f_7np^Zg9Hn0+G7I-&rP-gdI&B4+SD3aHc*Wb5gft*qH7qr)xu?i4KB9Zp6R z>FSD9V26S1?1Y8Cy@k8T`iyhwBLxMOKl8i*nZnCV-T=xH|I0JH0R9A}(DLQ3UEkni zx|qI1rWRskay%oCMIh{n6@82@+~3n9{DPiAS2ueXi0vg?NidZfvcc(Vn*+U^oU&gQ zU)V`-)(=9&su6DQisZea`r&No^1Q!xAxB4pw8F#8Sq7#;p;<*z-Q>+CmH1=(-BHz} z)o-M(aN?Pn8CdV_+4GT^UW$%Xkc8AJx6gdj}oEI%kz3TGNnn{yViAMe=5(WimUTBgJONe z-+qMXX|ZAb+~?}=GH$`a-YVT+BTq53hbr&JoPkNi+3xQ8raew(KaC53%1;nU$U~e^ zX~aLB=slgLnNM}0Z*_cYYGu)m#hc5^ z%fN!}B|tme|Mx(Az*mNS&)^x8#-t3ikX|!=t@y4ZNZqfb&zEx~XvcOHSOghmdqQAf z(l+_1ckLC2do^N7&}#vAlta3xJ}p%aA)9$KHwH1RqZnzB#}U|dM{O<=H`^~B`%Zt1 zlIC*!U=M6k_*Q>IQ@(m;>`f^)_+h$a%px9Q@k30pm?2i2K>q7uzWgMqFP4^+))4pi z{pb7Yj%mzrK_Tye2iLD_^YZfSHHA3)BgIy$5@@S?0iAu#gj0$3(%R0resZ$S|7QU( zSZ(VcLq#_EqE!SthPT>gWcB=-^fw8o;Vg^oRiz^NDdllU^JGJ2&zkyYJ54h{r-;@an2q|;7oVqWOiqG}+qTr^d zKtY1>t7-drQ=&;wm?`;>JBSgAcOxqMVAvrw^h8gH0un5BJM~`E@t=e*R$_5Y>N8RK zvLhACzj77KX>oE|x8Qo^ec?Ad$0lm#>l|U%_+2Wp&3QISKm;kOe&n_Jk5%2~$o<)o z|8==+Lbi+B7B&J;oU4Eewa(nVkWtGx;M;99-&lb$GZUf3)c4&QYdjmJ#68XG0v%Fk z;2U}jn2H+kD`06ee&u&lgUB~({Cj2>uKq(!8%z!a)Gg=1N22*mLO%C?(-fxB)!x4nMu9^}t?9?6EiJZ7w%VaJ z`<(15z2FV;8e9f&#o`*VVL{?So!6tYMH~RkvtIavApfzfdUr3|uN@xT$YP$ErJD^& zx|ABg}NguYuuJztqb_^lu9hF)h%`;>Uf$ zdf;)zQo$sXS%oT2ElsE~f3~S&x&vTQSO0u3{Z2WH!_Vip_?u=K5+19|6pd~)Iu?NH zGJ_gH4|f@B$nlANwN3CRBp66-i9f`_+D_Qfv4zaTaaGJ7G=a5bRQn!IGnnLPx2znZ zCLj{;L94d4QhbM5%1}4H!&p-|UK5SbhC(01h0e!euEmMMPw-LV8-1zfQ_n|^`$K-F zFsXByEqB$tHTi8`_lRS0u)5=g$@1)uSFqQp)K~4y{IZ{6pII`P89(J2G?gq)$j)+1 z(p<+w((PwXY^%!#8|&B^CIlN$mUj1!9Dlc=TaSV?{V0^x)b8cz%5tc7k$wD#F-|McK5v<>576+`OfSVdV>*r{g{{ zFH%z_XWx3&KQntR`_dnuY}!$GpYXWi`8y|VqF~aJ?poz)B5rM^Uo;=iuB}1W;qgMe z`W|PRB7TbZa<8iUWb_deJ@`BIC$9Zp#dEfy_%zY%|Iy9ZirXV26Jo1Z+2(RyQ~5Ui@HqgAn}WQDCN_Ly`&6kP9ZJHHV5Q?I;b z$R#R@Io0sa-x|a}WrMPyK#x=#OUpYugM7*Hd@_~e2G zNCf&?bw*g{Noj_<0w=rCe@mS?njbzB`>n2R=T(B32u(AhA-v=O#j)Fdac8LAnNV2L z_J34Oy2BybiGy=l9~;wraaUHYGEELTtoOP^^C@3=Iyp%e>1(|Dv1TEAmwG`8km)+I z==i=vv#V8WgVWyhrmX+6cs!W+<+_L3PU5n%zvmnL)%>!+B6jzzubC#gNx$4osQ9EY zv{+X2S~&|Y&tiH|59q3+U>PLaSQFlMDop&5V|cN`^zG5>wobmKPN;W5LA7iWKG_R8_}tQA&$ zJbVU?hO?-}TDisNeIh9pZ3tI=L-ttjq87Ayxd)vMa|8HYqZQ^QN=fY4PG;g2VEiGM zoj8*0#-Epb48mE2i^N~lDyf~mZ%bNhefR?D`AyU$vC| zUU012bIbl)nt|3gv)tYx5Q;EFi;ZP*>Hr>@z!-P<0M8^Pnol0LQxmXm{}Dq;&r{D#)VehPqvh=gN~f- z*i9>0uKK5|Kgb&+IAx7hO?HU#sziJ}T^rxBY^(REQT=-PrDg+(?A;CNzY-ncH}URv z4rH5=HiJi{0}#DLAB$h^M}$S;(bxIo{iB?mBF<0tZR!(ZjJf4!0kuwT?Us_!BU$b= z9+eOuQZJ(p{)M$H?ld0+Sz|1XJeYYvB(gQZV0m$WKi$3#D0qrXO5`lMPd2IzCign# zo5)S#XP76*C~<1G&hxe2a0d7!4V)h13UoirF{|Vm1`dHE-DJU}4p>`G1=1$?CyDnq zFRPX@TSe=e!~x&jk9yqwDqlPN&TUBHm;V5P%&9kWpE&-0j6Hslb1HSf{D46^xUXJuuaLB$r*CgoloQ!wiub9?nws3E$ zE2{Lv^ffS`@@N8hE9i5W^W=n#nRlCe-0J60&pw_9oL zZsGD=5iuvKN+cg)^|f*n9TKtg$y`*0{Og$wQHOE6p5auIFfyZ+e=lcuXZ@Se`C<3z z9PlPSXzM0FM0M_Yy?t4gF~-W)9|B2o9DqHYh^jreYb?2LD(1JpxU=li8o)Ay1K~CM z3J0aKDs}&az08FMA`e~6n3wlQHjUSi$)V&#UF^{QD{=h9 zc=}~Eko$uXU)DUQLP5P9bu*`5>j6v4vq_JZt84hLliskBgLwv9QGEg{gI>XXOnM%8 z3%(Vk=wvJ=_Okba&tM5;L&x)ksdEZ?1?A++UGwOXikyYB>u`ixnJCe`JRGV1%*<3i zi3P>}<&89*_Gx8snz@j!Xd2spa$Mm`DZ)YPN}=^xp459S4w>ziVGb zi)8V2Qon^b6dO}g@I$I+?^CMzVD3+WVx~$YGX)g{zN&$lMUuWuZsns9JqLyuRh;V4 z@-j$kRWIaCsrIERQpFcT)wA;QjU@Ulx$Cu_SV4;1zaIA0&~5k=U{70G^SS=$%O>IE z*WhA9q5Q@l^dQ~Iy}dn1`cg4*PMau`)(xZ^OG@F~Kw76O^s%fy^9uQR)-kW6+@0Yr zpQJX}oQ~%e6Elbm24&vV5d)2f``{Wz-qTzPT?B(jRLlg8cu*?jF#|)``G>|j507Ap z0IVdMnqUFsI3{KK`}^~1AM*DDxe*vt=-ao`fdRmXlHwF~bhL|Jt;}4qk9rk*lfah2 z6Gn$`X%X+b=m+wE7j}c~5CsKfYvk76@>8zIRubuG*y7jLt{V&_;56UW;RRSg07_=7 z&HK;q_OL+r=-_(M6vPi?u)H@e0?^3;;gS*psrwSQX&*#9*>4#d{B&}(=Hu^hTjOWP zdS%k2o3Aegik6fRhk7E86n?$7uLu+%0Od`#0+?uDI0kyka9)3NhxlXWIJErN`1r1X zIQwII#c23fWPSycR zGjR!}3@6B~(Fdlk9u$$LmY$Ela2K+44i-SO*g|clE866;JLiT@klP_L!`Z($ETK@F z)igvLnIVGC<{H1CJo;iJdbgO|MCQF{BZa#+dA)4Tj}0g2YV(KCxisHh`mnEgEVniW z5fUly6s`crk`FAei9(#yOk*bnY&Ek49kDJVuM-`G^aT25hW=ijb)TK8p7LJqD|vTc zMF|{rh|(aN;RdJ0gVl}jV#dZb@|cSM(N4}(R4csX{rDph`@QAovZ__@!#)eII@5k* z3}_z|tjHFE@7lesYcl8A-eRI3`-9B6W=weU>IYY(-`;N**|lH@0oa6TI__WJ)sx2r z+;kh&uI3Wm=!zs=h%cP(T2@*FKjNg^_WZ=`5EoA9 z&EUDsE04VktDj!i67D%tpS?*DcRf{j+wqs)@O#W~@`s=ICHT-^jSV%ECW4Ho#Lxc* zZ}gvCl+y|h-uHBqRaG5Z5;Parm7=X{ScJ=RrlttWTPT&+VrPZR1AJIfzK;0acmUO; zzb^A6i7c}PUfQ(pI$RsaVh@If3QhEV{?(2>wG^ zx>M--ywb&35#n1zzaLgAij8iE-1P)0cjrd^VTO4In)nBuw3VchAd_@m2T zvmrh~5x+?vk)rJorRo%o=~?$)IEN!l$e;&yO&y&b`t7ate{?8UpKC~p1&OLy&s29x zh1G{`B`_U+kN{0R^kMniSKWQT6nSr!ZfLD{QH)+J$mWI=XZ}%t;pch4iT**rAsxFc!Tf zf%wHoWHHbkjMg)E_u_F=pATGAJ+bsA$*o@qHA!WI98}{Dxk$SZT)8NVZ~U@04Yx{%m_B$DcWPya<=Z ziqtL%BJxA)=Wh8*sVex-O7PY0dB~ma;0ERmNz0oa(U(3j7HmgR z1gBB+)GRxHL)`-!3GTf#S%XO#eGzvjmQdn^V17J1W!MWK+}bMu+p}R`5b332($>*t z$vHXZCi%LoHJ|An)%j!s?}Bq6@2sspRnByUO~IZFE(tI7)wn%>rUegHTDO-|3X5RZ zQ&>A3?%X`+fajRLjEvmhy|Bp_WcpC|z()>mRq)!)?HW$@KC^QCf2&t$R=J<2-EwvI z`hf~){fQmv%W6)QM5p;;!e|mbmuBX`J?skx6N&y+x12u|3Bupj-M2@5LJMCJZT{r& zCN(o2oRk}Tlk#St!UrruI9V=71(?dayk&B`Dq9!N7xJ>ad`>E8u za`YQ3S3Dmd@RfeF?TwCzTsS%BthF&;{QVcbg7j96)QbvP5!j-XP(AuV4GsZ~t@j&Ab;99$ssYsznU1e3#RgAAYNSEvrAt-z!TT41-Pw z!dg-=ppUOYKl0_!TwQv8L;Lz7>UeK)Prxico5ycRK>*~>1HW!4?cL#;EK2PSQf88( z#;3ZmP%3hPGwJ`Kr<^!a^RmA!<_1o7euCG7R8=4r_t`W(IKq0OQ5ai=CdY zoWQ?VGL)O|Qm8Fyeh&v}65@PW0VY$H?Mnb4nz(uVW@x)0j$lK)}Z|h2IO^!6e-AakKESQ;F@5 zm$0_rQ%rGO`5nSJn@!XT5PZyBI*T~*z8Ec~_zDD{g$%izw*VaH$kh}9qshH?fLI)T zd2wbRL^!C8kmNe(7&(skxfL6X6uranpd8gdGqVxG!ZfzT66*{yYior7AGf);xwjnP zPuw^;3A4#PJw0`=CWaa_B*fKj)gqDS;P3NQr57vpQOJ%~uQU}!#f<=9rd)LPZ*^>J ztjeIA^e1vdp46pOBo5h)i;J6y0H~QiUN)`w_XF28^4Oz=^#DU7!!Zmd5l9K}zbFys zh+E$)6MZ7k(dB=`rg( zz#Frqv?k(<12G&9&De63L{bhUoj=A@-}SmEUn3+vY0@J|{fCh6zy132i@4Lng;0V) zMPRf99g550Bo1ZYAgJMfn^{sVMCvw(P805riP_MGx#tLGnQ(f>GU~l!cj)v7#$akHcZ~^Y@aXj*TJ|SmZ&1~gU!Sj@qsVG8qefP;`aZ#|h zRrtl{A|hVwSzy8>B;}23eCtrv0KzK7l2LINhJOs_b4T&++K3t-10#_ zIcET9$Slb0?`>-8a^47wf9l%O66hqsxp{l@fCdR{l9V?`T?U*Gf$7kCJ+92=GH>B@ z7CSi>u@$}$zBLyea@xNTdXOgGy@Ljll&5D$=+QSJGjFx#l@%4+gD?MXi^k#x8g*$FHiD=72H5+x}05SIW+Z;{iUaW|`%jPZK6`xA(lbe~N)2lL{_0De)> zp!DhoF%}(kvj(Zt*8qlvUdLWDgfUBhq2ob1*eO8hKoHffW-zX=k<8|AMDTyaKbo}ouLP=?I zaQ}H1&<=(kB_0}y(=v8!xj_*y3APs^O4u1dr=g?YEBvo#et0kXq_zcnA~Qx9LO><8||h)UQG z-hO|5nf=N=(Il6z%!yYB{N^Zg!Nk)==(C4x2+>X~^$(@0G%7n~JwG2mCy75+8S+@4 zKMA5Y;LSaqVmU8(8wJ-L-HjIJfB!ZYWeaTpW7K`%{&s-HbdYXbDFK9{eIpwGzLrXW zc_QpV_#?fa8FnA< zsQB$`P$Xeryeo)^PMfFYy<8oYr*%D>WmCDtS$bO+*6i3hylSgk@UWaOnp5JP@4hU( zB-%bwu{`J)_ZL^boL4=@d$paOk;lYVC;RP#n!8U=M(QK*hh1SoehfBB&un3qp9`c( zqRw^!kAVOHV%#aq8Rjfi$kH#RSFTG}m1o+*ms$bV92gjYLid{tv+p^0L6jWs+Tk1YX zeSYJnN*q*Y&dmeS$)J|EZ-nH)M=ZNk1sXhV4@+zBOQ?OV*|0{~S(Y-Yyco2Kny?_G zwP3@XJ78}XQ5@-O&+#?scjePK13S!2P16uVaf_ddEUszLq#^DM<;YBQ6dH})8S>t= z`qtGF+Hv@)6pfGKtr>@oW9Y>(V+PNF%Oa)FQePafs$~{P#qh2}5-o5|ZGs|zEVEVvlC{mv5#ippKnc8#3 z`?{2-eacGXI2Q0JH*nW>9@^Y(|KGt7Evjtzf^o1-+B1q_DVcxaW0jUOu?R+D9H9*S^|@>$nIby)>qOp zZM&q&62qU>lFp08A+uKaNa&SgJ#`xy(8xI275Ic0hc<`D2DB^Qw-bKIuhVL>(Pk9GBi& znj1MCo|$=t1PHn1U77DlphCHmgtIk26-y5Pa?%nGLmGB37&XPSSHE*>c>4f)^Dppr z!zhpdiTOM!>NFzkVs*~D04fW!t|fNde}W2S5wdvT_)xd&F3twcNu^e=^b;|Tcmd9Q zmC$p=D5sB>gp{@*=w#SNtgMJ5FZvTQc=Xdd-j2N-sD6MSi#!N5^jR5p{7JHta4*03 zwY8!!mtYEj zzsZ;DMweTqs)rlZ)1~1D!}CfO$=m2Wm%vWnL(J-AaBxZVHc*tD%XeM0T>iDaoFQFY z0K0kJFcr?Q{%26vDqX=zSzl0N1^sE?jJl7{c^^gX z{0A#yZ^X`j&-?9unx!E&^y#ub!oE$gX$V(5ro;Zmf_m8fvAaS~p(Kx#Qx9Hd zRA_!BZU!No>-OcgKt~L`-<9QVmK-L0E#PE}g(jyLpCuPK1yPrd8T;2^is4TlIHmo_z;CkS6X@^c zR72bdAw~IE+%sm;0mru8Gk1R;2f{!wiTqa>x0Z&Ef3m#xPrr)E5gbOrT%=YYQ7_ft=L`j=vTvX;$qKQ^ycsvf?ZGu6^Bm4O#c%Q?p5<)hD6^G5gU zqsd%Nu!}_$U}*|$9n^V{BRINI`GNs1tN$7Go>Utbld{6he$yn3NP`q3i#@q{O}#oy zvXqe)`NZ9g4%03(GJ)E`ZKG^2cDnV3@G=je&!GEeQHLWyDNX*oe0i*Tu6mU)rW}|O z&KA&%yu-SU>&Ut{6rl20B#l1$bh7m9-xgzQ>$G;xP)av>>0qkbsl79t&}zItgpU(V zy4WPz)ZwTo0=*>=JakF zK3^HZmje=p{wxNZbd2B=M56^qMgdvj%G%4Jvn6GwKK@UD>vtWItBK`Q2X+TiV*Oo} z&6&v-yoTcU3Bp80?cp#nd+*LR3J!gdn72|0sryGi4VtjenVIwj_Hdk6aIkXz5CIkq zYSx-I29fkKnS9YBIVSI1MD;LC2y$4!_^)c<&j`OFpZ5nFO*p+sydwjWK5YW6ICrs& zqP5d45YH%0Kev1@%fxg}{_p4Iz*P7nSiW^|n7e2ApZ)bFj{d=O@Z z$nROSyP`kgiPvB`o z@)!nDeMn4A{ZYW>N}3O^T_Bx)Cp=|$YGJJM_h(#uMXj08_jM8c%4eCmQ1c$;i&u?K zFj;IZXA7cbpXIgY_Zn$bc>E-i3NVK24id6IPl~S>FrHV9e|Y9PBK}*YG;%!NM8m>c zl0UauhE8Km{1GRAd~@R>>xzycFDo5iRU)eVFgFI8Cao`F2w&i+In4ej@_;%K(uVQT zriw|_bkGg`(Z7}wdyiN`7|WD`=1*A7fetsW>MVm za?431L@n1u+n5F1EE&@Sq3S_=UXq!4N_fM~_ZzB?YDbAIj&5SyKIpI687OKFrU1z+q|m70vVuXQGc#fy}tx|#bF~>D??xNs(5C=Hq*N(fj2NI2x#uFm{lmFwD&hjmwlFid&>gZnaWpQZzQZ+L?>hgdBhcN!AyS4D z*AZC#dZzp6jK24;M0!q9eU}^DI?t(XA-ePMXlN42HKxkjKW+zk`}CekqfNIz0iTf! zjXIv_Zo_>=I)+fZh+YD!W-;c+@6;QlIaC*@v}&NRRg_>0Sg%1esVfV+t z+?jgJiwNxqV$EDF@#Jh}LC~sX_YX z4>l0}?8xrF5%5g(<=QCPC*(+p&E!lt_oVM-7ynOFU7 z3!TC_o|T>#T=uIT8(qw}IMn_eEwkbgzn75Xkl#03WKnIg9$F&)?{!PQiI)sR+n7z% zX>tA8s&^#b9e@rl_2ZA1dNWAe29-uPZd5h3>wI^jOpH(TY9rR%TdYXkKxnHuSZ%@i z0bDAD(F~@29>UyUckC!|H7j-cHKh)n2@Q3PbfqLv_hrFd=Upmljj`;c+gCu215FbY z>xU;JE7@R0TT$T;X;M<@?<^vZ{^|f}CU4~N!C}`SGGSn#V66CjO1zsq>|XyTVm~jO zkwhD>3ak|Do%2TUg1DyQW2mn()96~rs?oo49q3g9^FfGAloidlGz308-BC+yX&uFf zI6tN<;+hk*lON%uHuMb+-`ly^Vk_-d+5CuMuiEr$Xq+u;`E<+NGuO*#$d&VW(YfiW zb6+9)?Xas>50lTD!55mmn-s!tz?}!^SN?(_*VM*cw1joO7aSv0&7WbNmG76_#$5u7 z$F;SBNz6kW{k?JLm7l%;ghcr}D~Tt^_2L&B>hh+xzt7MkYOYe=5pDi=Z2Cmw3jpk^ zSe^(aJ^D|hrd6wf^M;PT?5qp=ZR!$MP+!C|?y)wPMxs~1lQ)&|#oO!1n;LJm0lTwo zRw^*00p^&glBxfZte;RUWea@39)U9@w{LSgAa$G{mBXczO7HGRf{4oa2`a?|xeyRd zF6cjANASqU1Di+1}^xPquTJctj%<(L)f-XC) zVg}IAshB1>m|p?^osv^6U(mH%C+v3Odm17jNMPo;1JckGv|}E!nN7ooNU0QZ^EP#` z0uWRWwy~1fmaTU5#=Vd+jvOm$V$FCw808dR?W!OeY7C$7U=ps-^kLFtx{FBw|5T!* zK=$T4Jr&`XVV{>sh8nBIydA)OHLNNUCx-{~GJmH8qgPO?m!9VQ+MCg0J`77VKOoM zj;=!Qom)@zCB77xXwSGvFwh+%e*gY`v|-lW@vSK^U}qCkYuQ)i9eG|IUaGv=pSApp z>m2CfI6+sm`W^RnCI?i{7vrEU9RXXj(U;p-Fk+&wU&8lQo_WP&4tzgDII>um+PZ4i>E8)qRhy zqi)(4pZ52i7sT#&`_T1>zYWf?toOO-f<&g~9bQWrHE3md^ z@`f^#VDeRhN=(Z=HPGJ2^8`=-W6#HJ^C884;frMRY}t;fN3Ay#Y;pR{rKjLdMo;Qb zXgb^B&MYr89$tp1HorEJomuRQ*3@_@h1=XOq;(cWsR{GZe56h^ z${AFWE>5k6b~Uy59xvV18;Xc%Zju`mFfDj3oy=tQ6j%{cS$m1&(8zqo3fe$eh!)Jc zVBWeuO{ry!X9wNv`ET{Dk5x@G7opnMrWzz_cr~TDA?rPmiBi+(0rx0@64+CrTZQO^ z_qlGIw=@>5G^O-&%q1vPnh%_upBv};!X0~2LkJJy^HWA|5dl`LUtuV(u*p%yO!Vno z8_pL~k(>DYr8ZNR$#-GTTXne;m2NdHs8a;O0`!2A-C;uJai6ZXFZUgd5<>Yn9f-Xg zpg@imq~zf7qEEz2l%g+j^M>#I^l6K69*U7?N0J6Q;);y?)R+)Kb|-2{a4c@l^l$|7 zSfe;tCE^X;>&dETLwDV6$yZ%pEuzi8za{fr^+yNL^j@53*S6TDnrK`d%8m!`;T{&G zfIHpZm06_;;mL$Cqz`#TCxeHB3y^XE?e#OZuASG#(n=!{S>gryvI~IuiiG>NRa{^K z9Pt@m^A-!g&vuP)4~G@?vq!f)IkW(J6>ivBjvXWO2etzL1V_|6--g>$BV;i&YKHYUHf0>aR zA;USPB~l0?)k<1$dCM|`HGKFR4F#@v>oCo7I5oG(K{CW#JP{oe7Se{3qFVvq&ehwd ziBWsw30b*K$2CQP7U*Agkj{YP*{yGf+Y9Zz6+ari=>9VeWa%$Wql?y)n#TpCIpkgw zVH#(@sgY^?Yb&U_3=)3uM?M-~)aJcVVptVu9ewD1v08dL&Wk(WaSqQ=Q3yYHTE9>T z=dSwP8MZDEd%1kE6%o`ZxmM`ba=4~GJec;NKy2Gf_86|HG|2q({>?t3g;}*gslNK^ z8G8eDIPSVH40MY)v<*#+az&9S6P-;^xF+>9t)@lJ;(N!HGo%yI~TJPARA1_JK zI~Pyt7tS!G^X=`Kt%O7G%d_*~s!0cDsDL@E-mhU6g%<6HtZs^vO*4B#xV^=YEFxf8 z+YIrjwN-5j|2rxly+3lf#v6&}I^of949 z^mHp%lZXo~St@ZMpKmnoKyOKoKS#UiXsFR?KVY!YrvYbDYiH6MinvD_r80lN zGhkw8oc%F(w`S5G2Y`f9o24v^=8O&xzRlwzN}|a{3vlJggYe67Qvdw&1KZ1C+$2(~ z>z97};zHCZJ)5}o>|FQ;RR}M;Q@jZ;rNB-29cqVW?}r&+crb|KY6B*e#DPzh=8cs^ z(}LmEmD@pz#JE7xBj-P^cd3<{nq(DJ-q?xRe$A{{|BHH&RUc4`>R3nFC=~JD=2i(k z3n>);n5)MuX;}LVBT}9>Ww7%u<`75iR6+3zqd?oIbnUw0lSdLuOu1Os39646X^ev) zWgZMa4#abZj=~R5+=oz+|ms z7xyYy5B{G<^MnCZ(V61|jy9g}J>meg4Xqt4Nx&@^dd1)CBQ^ z`mO*E>2BgyS?N)$#7}G_6Vn<2k98UMPa;l8(@Z8F4O)%+Q{!>8$3ERU8NcH&mx&6H&P=`t_uSuB*>kl&No zS6VVGLA@L=ZAitb@%W1zWGqXM|8B z4loh%)_cR-BMIto$J}w&_1k>E0OQ9E36Q8s$7?9tbY{5{!{NBqieFLfGx#IThNlOIDj>}06%Mv zrao5D8q9&m&KOo%E? zK~5J3Dp0Rl=l)`hv9@pnF2Cb|rA#54TzBNyubPY8hy7c%MK_67)4qCx8)f9WmSN?T! z2*~W@-u%cP;#_QMQH@qA+EZlx5O6UR@-M`Ar@1;4_MQPoZ+x;csmf113ujdKOvQG1 zJ_D`={zNW!q>Xoj`Hy?jB2Mor^dHRXW0(5a@u@{)FaI~GdDE*7h2ktl`dwruEL21P zy?rLfeWNE~#iIkutLOkMhH~@NWN6E9T1jKrt97}U6Be!9cNx?&B@Ew!1hH+2S6JcR zj~Ibfh`S#cGCQ8>QA3CSLwnBg{HMslpcvOOBajge0#9Bvvas&5$<$7Tr`_ycj2tRl(g;PtHE9lh4J^#L|}RMCI!8o z@9z$@DHd-7p8#mSpw>*W?&Tla-Y{8VoY(&NbwNT77;36bM+}*t#rld4+shWG#kHB$ z*#I(C6$m7vqwR2bw5a^=?9lEIFk)4S#vgm1W7`yAgn{VG@+m)cFvMXJ$PLclu5K~C z4{2&bPLYCu3}#bhod`-WUHC7KwqnXfCTwrLygu@r=o|zV$vviBR;(6216liNZ~xT`YDr&)v*68lNYe{%!t;g%bA-+Bg*OV9IN24FHsZ4wDE! z3x9|=kpFXPAGVaI1ujh(3*uE!yc!7NlnW-*lI7qQrAfK}YeP-ylqwSJIob|S5j8e!@Me0);Ju$2 zufYtmwy#0O?kd_j~yH6DTE*wcorWJaf*a@mB8h- zQRR+(Q0IH$JNd?r7V8~#aO2_Q=5Awmr1{fnZFh>;#4;@#&<7*NbZtQP5JGr@=~(wT zn>>vA2h6@Mu-?%lA9#$602>-$WeM)yO|w13p4VTVUIs-3{8Ly3hB*T(Rzl_w_E7>zufg=n(CfoX@gM+;NS(2yRirehv+bR>~hPIevx%y6Zk z+t;zFe!YLu0m@g(^HbWNHo8xjj&;l%l`1PJs@TJYvid+cS8th)7;xn{+WH=^1GvLw|20g)nYe3en@`Pu*p z@L+ClZhkB_EFplvS6TUfSxj|M019PxyytoQ-EfnSsm63JsZwZB0M1I(;}EGpUboWK zPYhNAUj;ibXgyE+Kbp=np349K;|E6$`f^Bi_BygN4k5`d+p$+<@0C45kv$HIW0aL~ z$Q~J;$`Nv;lOub@Nhc23g#Y!s@xRlpZg^Y|uIux8zhAHCQzRL_lt(8ECii7)RfSyx zbkMayiR#wX2=rHK1MBpExw#p5WDt`sOs*#5zb6n31u&{97_%li1VXmNSg2myZ6?&>cJ#1mYbml!qPW4v=~<+j39@^)erD-$p; z*Z0AF*W~3RdCXNxvcf9gl}e;Y~j<< z*}0v;akW=RVeBL$(OAf%%B|^IZZ*SZe}CriXniTwBT^7zhWbNyt0$E2^L;8Orkw{*U6xx*ND zS#Fl>JoR>Z1^JpLP~#6Vt5$>B2>`p~5wCW$H`4LhrF}3BhjNWfp+k-C4BV zQI8!E5(@=$`d`hl}HQ_-r zX6|ODV4uyNx>XyjiLZHYAwyK4+43?5-SQgTfqe5(-w6VF@H|T&BQa0}QIn5FAGE*C zw)1j=PpZ~Deni+UxeVvENlcU`xG%zlQ_&tMxy8RccJGhsG=6{Q04<&=(mbW0<^Pp5 zC0QUfJ8NGH{c4l-E7MT0N6q%9+RMBDp9LsVN1oK<^^?Lg&E%LRE9Pz1I$mSSfsJ+d zJ3F?9Dc=DCStih}MF`qRNI$WcSsckjl-0^H@YL5AOBc>sW2s*~*d#>ZLf?-@B}sg0 zDG0jv3nTAjQ6CItr}@xNujeV?_Tc&Sta3^OXP~#Vzorh>b4silsZh)(6!d*ujuK-_ zg$cpRCUiWzRTvgs?ai|M^1hXN)bX3YGIiG{PG>*Dw0hiD&+}+s$YI&{a8rhB8Nx`) zgbt(4XF-ImP+Mn*K=qB*lCZxg-?-92izo0br1va{X5IJb%l7Uh6J>@@Wy}B{M4!9- zPDrQMZ*<4Qx3g_EvSF{HLspz#En_~H$^ zWP$Z$T1G898L4j26SFnUiN=dS4WsLsG-2D_1R)ybnG}1=NUZhQm>V-Ekk47wP}7xm%d(pS<>%O8m#Z?3U5EwDGC1Foicu}n3r?us%7ES&zzRB{aP zbH@*)hOToLD84S$P&7 za3}m?zT;+5c&8!&%;44r{+5A9OZ((ntE~j=YsX}9#k}|e>4=!_HaI;POT@*f^D?C1 zH}`wSCX~ryLx8@+s1VR|9{f7qA)vEG+v+-WxMEc~XdvO_g}KEA<@q~-xJ(_A(FtO} z1qwM<%z6S96R6Z+s&5U%@_{jLpeW{cg6C8PjgSV6671IAQfR`dTeqCY2YjU{J|90) zEteL`R#a51!SD8jykoIzdg@xxipmO44;#sb4$c(BW+Y;=RabYy; zwZc>pCqS3F=~P!^E9EZ#L$q8KJ{x~(97nVZ=s)~+aG%)hpwe~u>*8hR3UH}9Xsd!1 z4uzt$aXkmSyB>NA&JRmufzCV7p*^1-*@o}P0G;r!scfkLOssU z%45uKUWclj|H0B*g?CL~{*%5W6PxURqRu}8RGb1UM`q1Gz5(%Pc1!h^>p(z@rc|hn z5KYQdTz2;B_U{N|Uifb4VCObb-oNvKUWs@9vR!;U#!_nU_phC*xh?zn-RdzV$M$4SUXXQ*cyX)E z1L6YwMrf4d%V0#sUQ5QB9syC;c!&|CSe5V;?9YTgH~(a7kSpVe=$EK zpZ~0FYB_mS=Y4JL0cu5 zr%vVCI6VTvv^FLV*PG%}mf?Y0!zI^-zAQj;j5qwI_z6}a*HNH(LkJJ5s(w!V}E3p+#MT21)X zD>8u_9ARK>P8)K&7v&WkEnu;w_DJo5yefFjT%{*g%`K)R1^z(w6_hb1X26W?4q<&B zP;bCB&LN!P=_3JV)t)(hdzTC@>i=FLZIv#@`tP(r==zLjvW6XJT}}%<1*K^{K=hVi zu9BMEgv5Z$ILxK@&>?K~GkMoKi=}B6?wX5Tm4AK>K?pM+wwe7^9L$_}4Hb-QK-}#s z%1}nv9Z{NIzphyPT<>voOHPMbwWS6u-FlX+cK*{8ATSH#)DwAk>nCiBpl zae3eVzsx8^VtI^{EUqIti7Vo1M2X@Tv}f+?k!tFj=Xw-BFNH*V_(s$1?q) zs+CuvHTX!D>e&ds*Z%D~ahJ=VWS(1yu>oSVPZ0r04UJcfAc9zqsqdd$l?idzJ)8<#B0a|32x&^F(;JOb8qZ68LKTo+Z!Kx{Jcqe%2YM|FOFx>?p`mZnAf}HB zA@nYw9W<>MJpCGFv*emGy)szsDHCo<<;i-?bCS^2NHZZFt|wZpim-81*AoFIU@lWw zUC>e%wA>nsG24hl`mAv@$B4Dx%xtEVyuo^}AG82=m9tZnTGR*h}opYkx zb3MDj>b5LOuPzRLsDUyu57aU%;LI$_LhI4DetGrTNB`!^OdGo;li4p;>B~@AQ$35Zp>nG0e zFDf_I?ft&gTL#5P5O?u3`E{BjZ4XzVFMc8g@<6|ga_d-f;Jj5C87;OY%T%4bo&NpLgeMnw%W+g z=D5xK!@9$Xco*4sQ4hO{RfVVa?@K!n_G(#H4e0^9Ap6jyulfPVltoh1TtI*gWSg2F z&@%zidjUlTX^Qc)(B9Le^7FyBhYgjp8ophJ0J0QWe)K`=uUHuZ^JwOzR~~mc_raBO zHmB~E%RkTCP7g|&`woAPukGr$*!G{E`iP3^O85U27Y9OiB3KD$Jcw-JSq@w>yPc`+tT@#WRi1)`Kad+6;m<0DiH>Ek2;J8P?S zdwxj}EG8_fO9S$c_8@I8@_6{lmBy^!bb6(S3Tw&eR8kZX6{Yz1a^V)~;|jii7;q7B zas6+7E^i1lES8REry+?=q|(g)=-&4CY@#!@ecMOA`Kpv75L3lkpb9ZyN9^nG56F{3 zDktAa+=qeLfTgcd?KPq9X!me9XH#16<*z`Ma$zsIk_jaxMYUuj!gDQTSd-%&9m|F%AD2ba{AXx**0m0T&lW*OH-5%F^wv6Ix zI>4^wvpL4Jh&KQdnsT9_SyJ}sYtAe}X$QiAek9X!R*}EkU#X!a*flz~!yaq%zjE<3 z;-qxx;;^lMSauCarOX0c9m#8(hmPVjF;psSEd}Xu3cm86ECd!T&E=W zLu8^P#{X}OLdnnkkv~6wd6I)D4KL>c^kIy+>KekL41LQB_YE6 zdU~(*@7~Z}I?G6OX%o6WvA!EWfb;7R!hFiZCJG$a)Diba#GQsrT{2>cRs;VCY=irg zTer1)dZW)Odz+%qCr=Lip>V}oY7C&ZRF!O@)S5fo`N1BnW7?>y z~7V-tfWY)={KUNjVAJH9lTU#;S^S4o*Yb?h4al0GGVgu8m? z(7;tm63S)diT(TAr#WT^qdT$GJ;Vw9ci=ETP2;5#^* zt-?rI&c?0n?PtrBn9AM#-Tc~)ZzK{>^eV9_HXO#EgnG9xTHD!ip=n6J>#xw%n94CH zSX&i%0ap_(ueV!mG0qQOr>dpBkI-=MNKY)k!5h1Of$rGWFymn2fB6+L4p9lnNq}1D zjli`NM>+X_`YJkY+!O)3_SK75`T<q9|-`V#wlCkQAuG*`CfTGhl_0 zBC*4W>mKX?cVB9jg$&COfh!`G9q?1K621Y5hg-a@JhQ3_f!9nFR! z56KdGC`>TJq^4gGCEy_i-s-2|6?>I<8yKu4n|y$1Ywb%KCPVpte!ofw;-Pq}Es)r; zoR9`!B{LG#L4MO&7`*L$c;AS~ZMI54I=^0DabjA9M0A#b=(_Vg#7CWF5g8O$N- zg?a?UPgFHMM@Q>t3wr#;+v!lPhIJ)ZojC|-cps-ggOte1KQyO0rrgg@aSM}(`Gg~CzPN@Wx@*1NRiSb^?{JHNmmYC{bFw3iOx

`8h6ss0hv!Uo*X>^NY?Dx8hq6p*g}-Curz3VyuuZ|2Uw zk9UAIcy}z(h*OkQIeAEUCZ4`KIY~d={HE2+a2z6{8R5D&ByrzNrqG;6|5foUCzn1< za8jVwWu)IStmSw3Z5>#^e5mSXSTFRw*md39P-6x@A6EggP+`mRRetL=^dun^e>D@2xWS}DDdw7x+vjyksvPB9mn?cc zw`GCg06onym;-ij3I#t~mq@hy#X6bKk`&cg^=YAL2piZv{>DrlLqxiscQv|8Be2I- zxKu*gTcA7Wl}T?))0+|mI^pZ6H3=gag0%ZUwengHlpdCAYgbL5?3t{ft!A7Yej#C|7B88I`cvC}# zUxzL_4eNBJOYB*#@H(q8XT#e3c6Af1Hj8$t1T7BDn*OjW&5PHC98DikW^H^dtv?pvLK=qL_-FeDRKLt@kLeK%zi5^~?x*K1thvnm?Tnli zGLK*FU--&)Ve_n+nx4op?V2YCANL(kZfDJ|({{6>AJ5i`KxU(HFM;8$z?_&zqqzvH z%MTKeFn!!(PcQ_UHU*Q~Ep#kOU7h9XvAyc-jR!zETe<00(uDN28_mA8{;Lwf5EK&`lU3m zR|>!vfsn}MGVkTuy6@rQJ2H>@T>RhTN#MRZ$5jHL;D=l;uqDlx#|z<3(dU_^3#CW# zhkN6h3## z?BLI)>@NA6EeJ zd{$Q0s?gnpDR0Eoe?`H5A-9aawR&-)?OKO@2Oi|Lf2Q~Ib(qFRRF;UP#q0nV@uZ{W zzAhYxPe+S7h~m3J^IvV7>mdHz)&j%thQd`jc|Mhm;bwsi3Tl3J_jSBL&6!QV(_}xe z-*3Ye+??KCjNQSc@K$?SDfIdSefw2;5tdRVvs4|#crb%eb4{DmS!O_S&B?MT*-+$K z!_-{BfULR-Jp3_nh%{}?aEP~7jX$>)vi|gWqoUdJWEV4_Bwjc#kC3S;!tU+Ts?24& z3B8bN5O@0BOWQlcy6GkMJ+hTY?gfZz;$CyU(|>h=E^@!AUs0N z55%7RU2hm$Z=KsJSBu_`|Hpel{P=Mu2CNO`9hxL{GfJadBlt;;!*{tXc@G_$62mnIo|EwcwuU3~)m zK073*XgKw~;1Q}ffxS^S7m08vSzeX!Yt%7-=F+Yt9TD{TtB{yt9i`+7t_%9W zku89GsaOM}Cq5XQrq>v)PkWu54tFYOcx{At^m||`E+X_w02GxyoX^2FveqAqUWiZ? zMcTOXsvrOSvb{ZCB5l>M4!o?o7UT8~=6Ekv4Ue%vWuhGQphlC<&jN_ezw`+Di8fmo z&#eB5(w%H=Y+aeHmyO>GUn-Zf3My9YX!1VDY>qiOu=2m+u^kr^9Tlwlrz&7@_je@? zW2;_*f~k+`^i2&1 z!!z8A-bR9wVsVWu;qa_Krhs@73};txW9p;FSuen+A{z7|S81=9jM~yfnwqi}%znq- zko^0>I)fQ7!lODBq0CV95iSzP{%jfjFd;}n5O?pb5U3)6_8OLxms^7mj3#KlmC&CX z*}okA9)13!xcVsaX0!CR#k=6rnA0jF{6m#McX`xjrX=bQEczqNLe?@u@88C{akYY9 zgg<-84)xWDPl$Oqc2@?*EXa8;_}M+9Z5cd%Wq&i@czt$r>}G$n^Z;J+`tR3oo9j)Y z<9+&9j#MFExxD9kIT=%asa47wwqZH%n?BN)E9Gu-ulCE|t=OD>l!NtBb&@pp2w_9z z8Njv@%MosKiuoO;RUM3rH1zDCCvwGA-l{y3g$?o(eMer!?l%4^V?8ohP!1sK-~*?= zu1XQn^>S~lj6E!B(MZ(=kG`ECubNkQ7}r&0?3bMXAiD?Zh;1IkBTcb3m$%k3%qSrl zrgcIl1{`g;+*&wWj(r5Nv@MAHmJmCip#ZuH_zqMeUuV$4s(_ydFsKTk6@*zRe%DYW ztOT+Qw*)nje5(Yp@LHs74U(JT?_?nSbL+YD)0EcNs2mD=) zZ+qi8S2Q%PB15H8;p;)OlwTS)+TV;e-Ac6>UG(L9n$cm=8ZT|*VJGs^B2SJ}CSqst z9W(~f$k#mrUs_l+a9yy_b|}Qm07ftQ`vu<&i99?!ia0BrvQ#2rc<6V#_l*L_dRBej zYm+D%a`f=cY8DXO)u4{&#(n6W`&K5Jxd|y1f|&`C#mpK3H#{W3?Af}gy|w&nLJ&}? zf=%HR;`-2Y*1S{aIseB|QJbsUu%X?NyXI`Sxvu@5bASBrru1TOkpJ1Dbi8_&yyy%M z+iUR#=s!=mZ!y90fUw;e;uvTI`41<^SDk!oad_-=?IhXwBX5QoC#4=Ndb>5xTZUao z|3mWI1icyaMkw^dkJ?pFfr8Zb(JNj(ww(_BgM&*pd)3V`>q8U$NFgs4ZNjO<*zexR zBj9`zf1cSyGBPrr?Hq62KOvU?4{kCUBZ5>7-<~fRD*_YOVs?J6T*G(bW*zemvM(m% z#XBzU0R8-EM3W<+paaZjWQYFX>aE_kle}Pc&MexY8Q;U>-D|=C;%irwHy-ur^z?uP zvcQoydnepwx_@#J5P3X8OLVcfT{bDcNS(&QWo3j8dv zY{1Cl;&Yn@lpIv|W|`vs(K|RnX0&=4&}q~e;$1*sXXMdx(xUKPD6BGBjwAsxGe};x zy$_?lOSep_nV~iGT$=^SraS;*0Z{vFh;~z(aK8`VwFzP3L)BBGGsGj|(xj9y2 z+XFOJQHALzBa`{P))oyjr`Vq%&3%FXA*HvXjxNsMg_Ajbt|UFlt0#SN>6o3Lr%ZE0 z414|Qvy%`f&xgt=`gIMo#3`0oAzpeUx!7!+@I}0-Z}l$8-sbizE%_{Di>OX(uh0yZ zs^d#oOj%BlZAx|=FG`XZRBv>rpHsw8->u7f?VHnozWok(k(hM8>$02P+SmXW}mlO~~`SIUk?IR%oJZjlZ|g zjY_THi-P8Vzt>V2>s<~$>?!FcVJ0WlUAm(V{>D5$P2xTOwY?B+qi)?)cqjgd&2P@n z&kr5YNYCFG7G`trJ@C#J%GYEf7Pp3~S9ysS_?BR!uaQ#u!YFcR#RZT|MYO>Wd!_KU z%!gZdPP^tScYc*T6MWr7E$ zd|(cQO)*0X1?@^kuo1Pcftmnx)|ldREd%GDI`z*~cOO9^(9v!Sr0f}TdzcUUK}>sA zsR4f7ST-?M=dCWS+5u;f0mrpGdj0|z)LjTJIynKUr&Hw&6ewxIG|=t}%`UHW!vALh z0tXZvcz6M(xB#ut@yYJW>OLHPKb3y*dqb<^^+oo5N2ozH5}6p{FwKtF*hvO|0wvUh zv}8dN&?OIxXK*q)Xj!vSTxgj_u^W$Sexi(c_3LEdc1v3ae(H?ohnR^A{Q^`L_JK7l zY>65>%N+duI+-%8qLD};?1%a{4YQ4gN=1k^dx8pXw6{N&xHue6MsyrJ;rlu1~m(KsP4Mg~R9R2yVljQUdb-c6T)67gR4%TK8 z`G`3U{YJR%_6NIHezt48bg}3ZH%QYSov{0;wMBM4<9s~ee0Fy-j#W3Z@yt`V#~y2Y z>%)WT$6T9cqCA! zanuZU-Ak=p8t&@FT`(pr`kpE2)?%nU{FxTi8|{GvxY`-{h=nvUW09M<)HfO_lDnPovAbz(B8E63a(C2nD6;K{tE^S$~1#2Ye ziSIbVo@Nj*X{yyW!0b_1`|Zf1&~>cBtEtj=;n5taX1P#q=v>qDRZkU;Or4LLv$G$E zv&956%zPwWePzDn3DJUT+Jf?|i5p|u)9vTzk!WMuE>me52?m5Fcl;?zWxtSj(DZ5t#EVe4jrLf=Dgyt05zb)p&L{Ny?S zS!Pl=YESikoBXTPFa-1adiz=2PcM}RA^SL+h5{t&an0PqoMhT+$F$?S^GOlLxJ)oE4$X=B=Le39dz6s=iBUap4N*G_M7wfxs{kD`u-g{*MPh4pj=&PtK zD8W>``j4IFeqGbcgJO3LK9py5UzklXR^ai zT%P&k>nAreZ{IxT0w0|yzkPIgn~cH{0kZG`@XyM6k(0VwiCW0k%kagx@PL4T0o(rF zjS@gNYXGZT|ESA|4zX%>jJ+6Q13>Oz5610sbJ;LZNu5TW}5zL;iSp66b=13 zMH}@B@dHKsGgju_vU1Om` z59fbvLeG1a+lG7*63QN^5aH^dX8Ot{<6T{fDM@#khsI7Cx4vv(H)cj!6aWv@AhWjj zIq=3klsHnIiX9kv&-+OOIsBhd$y*}ElM#G8Y^fdcVh^vf}eTaXxZR0V9SiX zO;p1S1mEM+1Bx|X|M9c?z%bS%JulGG_v;kg**Z4Ggs`buMST}3Yf}~jI*4<>cJf8M zWHmJJ+CE`MPgif}TlM`CJ77LFywtfEgcTFiXD&tEP#B8oQ;geOXB)ieXtr_-+gt?- zP7~xiasQr9J6-;}FTKzgcd+!&>GE`=00^$we-X$Wn0s;6!RjXN4asxP!lSlQVtn<@ zi_+J(@^YdSvX$*5aX5x-tG1pkmGPHVUpTJaoar=NXvdv>&8KHCG825rP(jK_dSAt2 zV2aCaO=u@^gHyk8Lqaq>k(r8*jmP{Q6{QC++>706+wzD0z+XJ}gLaL*ta+%y<8LS` zTRZgU&(7pW(IfI{r&l_{uJQLt-;43IwzjF65$`zLg7mih^O+G-tAe~_y+BFNPpN)B zRz*cPas)p4EA8`e^%EI_Z-7U5KzO*HpRLk(Ws0$p@r2kKU=V|IPKV8LP=QG}?VuWq z{a-8m^nsiIhU)9XSWcksZ6`hbAw$8}H{sB}=w@%py4n1ai92jLrKnOb7`$TDUXGSO zf<((FD3o;#A6g8cOMX0dFt=o(Bnph|p%)f<{hytDy?uE;_>Tkx$Vu~y-!!?x0yM+gk*~sVr_K!o= zOPH#XB=R*o(Lo}f{KCThckb(9ASy%%rJIG!#uL8l$u}R_{$}Zc;BI1t*5iRg$pP9> zE4dV(Y)Y9od9lhskr6_mh9IGfmJ7i)aB^GBo64$N1e@jpk>q12=s7gegfJI-s-?!? zKAkdIcB%^p8NfJP`T3ZC^Y6cO&|*ov2hjt;sKLqaVFhN?jD~o1YN=cP6mQH5b7o&i zfm6V+d!tWG#f7XA_3yH~+6POq7bS;iDnDf50J7sUO~P!Fnb6@Z-MmKKgxmsZuP%NoJG-0O#z3XV|Gu}k@tfYX8$VnZ zG@9CS1yYkVpAYOaGH4}bD#95wbC5CyeI1Lon$Im%6OQrnDZWxO@A#UN!(F=z0Y z#LHbK^{i5VM}uPE-&5&r{{Ui8aPV7Txi6Z#91wR=Ff=nFV@wL}=pV=hE}J7G&hV(1 zh?ukdGjjZKZV+&TlfGyGLUr*6%@;}@TjN~QOBXZ7?ap&{Bo@`(!=F3L--hT7@yy9n z-s|X+2hVV`lYze)WgYIr3|I96vz9vu$egK|rs^->LS;*=8WNfFMD!6XEI}_kAg_E% z$I?y8O5F@96SR*Tpuue}6PR{y5-r$Jf+7DMFzcxf+z$?$7{$ z)B9&a$1#{V7E(;kf6tO6Ch{b5ZP`82UK_MF`u_HXd;aF6{Atr^kEpY(2`OM?$pzA8 zHL{(-Qu$YG?6Myb5(CDRz>D6a{p91Yuz#ZiUd}G@x4~jm$XgnH_zEaj{ z54)}j)_5hvj06Jonh<0{h$X!jTA1Ah%~T;lXYdO<%PEX0X5bIR!PgS$4Zgl;YBGQc zdjR*4P_6R%?pW4p)a1n#cCV?q>wU7%vwC}9Cwx>jM*f+ViYWgy>7rcT)GTdDFZ9!H z@G$evW!oJtcYT5NgE2NiO!^G$NZnKp54493r}^P`pXcRWTSbv(3B^(o#sJ5If|+Ld zY~l{_^L72d1@s=;VFaHS?1E+?)l?NoGnlZLFoxPAN+YyT3utdJLLrBrAW)Q}%3x7# z&|3#YBlEa)`JM2G;Q^@H?Cp4Fuj`Nldmf4Oo?QjG+Nmv3 z&z7Mpb@yI^Dv`3BiK11*H;;n6wXRYm1nGz!;HphkKL=wXs>0^vp+Lew$z$&%xMzNT zmJVb%XM|l_P9$FyMViWS|3uh`V_LP)|E;!FrgY%~`UBVJ|6y+2zSA@CPP_M+D82y~ zSzQ&HF(EF9}Q-)a8stBJZzAV2MF7IhG;NmP`H zmi07W>G(0xSexn26TXJgRiMGZ`zYh9>KJ$O8Xhklw;Awn$SLM%;_~0bot|j&|2(u? zd(DEcv)0IQNADZ}mFfq2)5fF2Ly`QEaG>r8^qGY2oQ)WRi9qBG*sqpm2Mq3fAa+B6 zz8qsoCy-Ma?0grFbL|c}%J*n;x+D#rVt_aIdc$-wwBdCqRt(lAbO8wG41r^3)KdXe zDGKh<)uqItz3=Z6vbJ*^+WA7ix;oF$=f(27XyU4n4SMuk*SNE*Gar6BG_h3L6aaz> zSBHpXu89#yc(3A5G{$AlJ3yaLOS2Pl|YRgPJj>AH_~&A3%>|ex!ywDrx z7wejqFnB!lu4uvuz^+Bl*|9hWJw9!4iZKs1Yi8YB`$!*cci?@pHh6mR2Rpv{yfly;d zXIN9nS7i@Pkcc*toeKA4m#?xt#JO(A;_oA1d&K(Ra8a|v&C%6AKV_aPh_XI#kluLC zjQX&;|L4zsa@3tK-|iN-E?=vD7Np2?wdUi>tf%~qEW)#-4pSU$XIPKQZHKbblcpQL zJpJU^wN7_-1tE%t0-E=VJ*zHorPq6&VCTMBH*81Mq z`rIpXAH(+$a!rcwbG)Ylv3+2_StXQgIc1>p^TO44e1;2{DFwHH@voE;pI=aMQBn|N zcRpgi+BJ8K;u~Qk`79WJimtBP!h;&pVo$4hKfv92VH&sn@9E$LiP!taotXU}oL%Au z#6IM1guI-CAe_WydR}G>xeL=)SF7$jLgqm!@1m~i`gmCuA>yCWVhRWj(}iJ?fjf_6 zJ_AY{MUL#=n!ebxd!GXLP7fvl3Q$&Bz0}z1&d&11IgNIUSc3tbEa!hTN%QRH66rNw z{d;~3RklO9tM=a!3kv8$dzo3qOcu%~fpt0h6`H?N^{)f-jI2Lfyo2kb?!|_0f|xw6 zCYV+w2am9`rGBFRV|9YwU5q4BQCJupH9lLsyOyM@rO83T{GJ9xvS+SEwl2rcb>eKX zr}l=~v@3+Of#8T@3Q&$cc;{<#ALxpf(M#qJoaWOC*HD4aG7yV0Xo-Z{Pt5yBu#TEA zYm(@vYvN(tp2nQ7l7p(Qiji;f@g*RGrQYNq(?Oo7B6}tS%?b>S&eOa!GX{z(3#55f zh6(cpl^LAhVn51(lv6=4_*?eu(OIdIR8Llw1q&>J#E^Z&)JJ39bzMU*Uo7joa9Qqq zrqr&h8X;NBn8-BtzUwIO5su14Qz`bl?S!CFT1^Lwn!1i0glRCgz=9(2s7$7Ky=VA+ z0az1EG(JzFI2BLiiy(@Cq6!dJXa(=F5qc6N@BkE55)7J)afW5h+_-o{g+zu3t3!ntR!qV*SJ zWQDfu<#LkKpRH~20;uM1?~ZpJL%D&8hUWKit3rh;-l)vIl`Wd=!OP0>z|vo0Eq=9C z$FoI)!ExcWHt5Ck8RJCRfPq8rceWcr0vs)d{Vgr5eZ~Tk7NKVsm0gSH>zlqfWv3Fr zGy+vKM#Sc&->wiO|7 zk7k8xviQK11zDOHH+_3J848I`7ge?B6B-`Ja+e5U?p&6Q(D^{3k&zB14FPa zS!s8U%P*GioTkJ(H5o%ZZ2zw1SITDt*hNc4wBln?4sw^4Jmh0PuE84*%LI|mHH?+5Dwfk00N9RGO_idh`Cv+N= z$b)kjF^(O@@Q@SlZitG)r3FcZT*7CM1aGAuByn8 zCA66oLsVeJ~=gFK~5HWxB(Vd3bF_EFwPQai6{96@7J{Ot33X z8Dq`8sdsaS(2iyeR^_2h%r*0>60Q^i3BISL*f$t!oACv1SN}ua94&c3oO=%@cRt__ zy&oGqpsAU&=Td4AhI`D}%7{=C!TiZhUcPh6L|SG|m_Q4JN5;gcy2{=LSHxpf@9wDZ zA0OS_D!Pm-LMq=h0}~;*s5#S}v^G6jVOYYwon%V>_e^lXyte!#Q4bnXKhsRSXLyL9 zWpGf`>90l6yaeRy)-oNN)W4OjaeZQ0=}}&iqmZWzNK=?{kukm5j&V%>*& z{X0AI@hbO3p^40iri!0KF!0(&A3O4VAUt%@3NaK$M;(oW(lTGcvr)2D6>_wAeIv9QAH! zn>O$5gJIhaIx<>f$E*S!$w{{69|#if~qEwzA{*lXMx$PVm86;F(!VvV|dnH60^2s~fDO zq&IFEc$!`(yZ{2a+w+liTGCEHxZQKE^VR}xaq;PWHZfNZ50C64#)cYqO$0#4^CLR= zJU}Qd(lp7N)rbDn)c62#Q{RuibWS3plz3EpN(l0${K<5%;+lMWaekTP&N{%~Y0zN? zeyCX9;g|nkD?IJN^y%^{ytQWSb-+o|5d+^ouL`70)^-}8miSHU*Ez05xOw4JzO|GnYAX48YZ@*$+DvXX}5IJpj`-wBbAM zvi4fit8g&j7#QBx{T_M^OP|@Kjmqxl{Cd_Zk$9B*4fM*IwPC8>=fT3`Gu>K6lTwD~ zsiU~-nZj}gx~|!%dOa;zAmZKIMnk{;d#tLIe{oS2eL?Rl8-pLs^yDMXO9szxp9F?p zVjQj>0+{t{l0blCMdrD3CE-P9y~8v=c&^xGK#SPlf&nkR{A%;IETRJ3M-mVgu_>$n z9PXgz^gZ3J!}^L(czEabQvdDp(oAepCz|%@-9pxMm$=SQToW4Y*Ax(})9~6}!V2h- z&(Ek8xt|0h_=0cL@U5aF`SP01=3SxY-=stm?(eh|34B^|{F}Po6pf zI25%Z93nl!s`!sXh~Z-{VKEUhJnPMa7p)`_gXeu*8Sk&etFDqv- zyI5yRKQ`IB_bSf8`La0bhs+S|3a~PzPEca9C1R86QKU$<98UAN{o(YIj^5zVeGu&$ zirFPI2y6ZU%%&EYExX+(m<(qmMDh!10cJkSutd`d)k4H#Xek zt)kJhe6g`L39Cr))fZy=1unLx!c_dM@1HJ1sId?>3lkh{EyHAkmJc|A2ubi=(ZDJL zl@FMkJw%gZ|3+Qh@40JVVAUB1><_g-i2w&n*v;6G3SCD_&HpqfBLsXE8-_+Jc1}A4 z;=<+ff?m^7fhIU6Q96m{TFjLHX;3J8*yJ@@-X}|d8KE-WxX`9s>JcMC5le*ytOA*9 zHT4h|7B6xvh!0gA>3;7Qqcp(vsp$YHt`XHjuHTjK)4l>TK{*cpGGk%2?cwZ{)yctp zU@@YBu8Odn-VoFdHrsVJGnm;^Z4zhr>k6D$q2D_HtCW8(fMdT4wFiM+Gn_4gT2SMqEy!xmUbC=>8>$FhVj@D)nHK7Fn5q^|HQ!{%CBB)vu@a1ns|BsF}|&*XO|avrCn?&4PZg!xR}~otX^WI z);2#7d&XZNGT(3#Gho}4wq7spL%LUy#|e6r(Uv3965_7&i%o8NFff{rv++qYjNH~zTsgJ#` zUxinu^Hq?#U%%P{r5jS2c>13dS zFiE3(trCF51^aQ=S1}w=uq4p~qemFnyYZF13=W>(ukd{hW*3f~%zCm9 zpE}16T1%xwssnJ>{M`;NB?iXq#v`x78|7u_0KcgBCo!g7TYMAohizR>aq9(K(*ZF% z7c}?|ee(kCmcE$vJVsoo-;PxJTB|(_w`yIq{+o?_p?V)LaUXF1@~ZanZi=O~2R&mJ z03T5}#%@i`xNxX)mvQrQ^Ni~00(qKt3e`O5S0LWs#UEju(So7kvq9H)-oo0F)WC_z zE1HtdAZALh-X?!eB2~5gb8}6Z?gUVx99Ee^zQ#49TAwm?Z{|y+(*MzP-qCEne;*H3 zLVYWANLB4!MNqqFYQ~OLYL%v{cI~}uMHMlM*rU{_U8@?cC@PAImf9tVy;ped-yhG( zaZdirk=*xnU)Se7UL47{N&#k1Zk^DG(RF47aBDn4fJ^1rm#oJvo#_kHng9xu9Q5s`d0;p1&M(DV*`zVWX(@|eD z@SR>^(@I}06NFDB4}(>J!0qILiHw_XG8c!7gpxFCBGF1Wu$KYJyS|BFycEw~<=*rq z6Fa0adKdVHkA^kLWM{=30D5!&;$pZ{?L*Sa$sBGDkW_TXoo;y6DMm^EzZak%7}(2G z*(=)CRQ}lp+(0WUeJd|NTiv@k&{Jh4ru(PpiYP>)<}P{6#U>N=-t)wntFMG; zjXrA<-NF4l@z@?o2eNqNo18NtM?iy(2Akd!b3IJ}ocUNN1}HMF_Crg-zk4XHN;wk$ ztl(eQZG263GZ-i8jz0vE*!|~&wdT>1SEJ8+n7ZiR_;U(5e8q9e@y390hjhtJGDihX zK=;b@DI~IhFBS%2rR%@K80;wi~iVJC&T`n zdAaeHj{mW+fv`;q34YDZj*0T+jKWl$pp+|OF|)bmru?NQ$dg&@F4|B-Sart2ksx32 zZ9mlo2P=R`a&fJ6Vx?7Q(RYPA>VUAA@I6`#yu2?xN7h%|I)OGok{z}1P=*avti-`M zVw9JxDMn)ue|aw&L^45?NoP{WlOiv1;}6d@`k3op&I$qq_@qd`VC5kO|9ZN8X1W( z;?J_f;8QU5Oo`ssKy?GnuJl9d>+u<>Mr^sH+<)3`ZC4}woqLOoviYpX{7D!j2ox9H zz&AimgMS%g`V9IIt8wnV_!r$!*2u$SB?Or3yJ&LJCn?&ux@EVGvYV>+ zi4VW*W4(G~1p)9x^}6*!_d>4$xD@_VCzC+I1F-S_QZHb=yYLTD=s4T2)sMT_$PXi> zDYnQG%K$nk7^iZ$<^{ZIJKeP{3y{gdc3un|f~m`ShTAHfOQaLhid=~;EkkCDeiy5; zNp%Z-8UW*9b`#Jl+}w1@V>|2lXMD)BQc~WBM0K7X0ufI!Q2vu!!?fE$ZhK|Qk((Rr zeQ0DP+uq(jeOgw-`M2woFzJ3F2&@(}0c1g7#!GORYD(YC9+ntS73Q8KV$|O`9&_oL z4fOa+ikjV}e(1rW&cF;+=l-;kZ3nEJg$=uZ{<1Z6Hr-cwu!z>irz43_oK`;nf76}_ zE61b?IsSxeTguYbAKw`3(_c}wyv8_N=`-w6-}U$=u@>EjHzqkb=&E*?s`j5^I!q9E z<7b5nSae@Sa2NPR7hRbfy-(8%N&i>(#=ctUXf}B34K)LSk2P14RsxY$=ERP>8QD+g z$8;4vd$Dk_Bko&kQ;`#BBnnDlK01;8%qAEZ;=0~SvhiOZ%M3mBJ10I<2;Ewa*lu3W zZU}hlGC)I04W!}L%62aFcXi1{nNFTJgq_du176uGVE41dq#S%fDH0lJ%hN4KnG1eB zGe5^?qF65GqYm|NdL{qmr9woofEX~~ic&KSY=nvGR15(ou#uGt8MkI`x5L5tF}2Fh zQaZxLLOjuX7;0e}2T@|m^<19#5}vr!-5MvMRB65RS>lAUdp4?1%DndPr_cwFgI)!{ zE$_p7C*UZ%Kn+BT%y=n;m{q*+^;J`U>NAB~ByB$VLHh@{l2WxCwo>cV?&9JKObknC zU~(QAJPcx$&Bw%+(Dh!Gli}FS&dish%~=3wu83(0G-Oye;%vJ_{hUXhZ{=1 z@O3~ph=D-d5rzW%h8sfr7%J8X9l#{;)yeTgcmzy<2KgrX6(Rj5l=`wb_$40VZbaa_sINT3UnENA!a@y%Yv(WdHcwwR9!iXSpA)1lMV9IKf$6YKXd&z;@Fg8i0U zm9iSexEy?@cvQ1X0AWb?W;sE=^giitkb&^Ja3Vfyh#|bZ<)Xau`9!j?Oc}XGs_soR zgz~LkWB`lB%DqXx%Cw8KljO+9<|WZyV)@einr9BJ9PAP1=p5o8`TnM+x!-tg{!HNB zTzh|Wrc4==${ANCLJALi;8=AHuAwbbf}> znW$HxkD9O-!TF8_xq}HQQp(Hq?Upk((fi-&7tQPRV&t|$w7TUOpdMln8lJ&{fdEWs zptkE^-#zr}rQmHH+rZOxKTx=Y=f>G_XQx-(r`D#aTf3C5lYtyr_nK8n&VL{5n`Epf zCnwX9S9c;{OW2la1qG!J--U_Ii|I{Mz5Dq?^gYQcpQYYab?&U*P3BN>%RcCCz2al6 zgOle5KIyoaA~?GJLXs_aZFAG5#`d#EXoyn(!ix||rIwb4);gP(dn}eMOUwUgKp~)o zj$d^vy2?<)eu#Dk$wKC@irh2wbX#bXn3<1-R$pFgU};T)P{PvgpM}`uMzgf--)y^g z-9Pt1n3xW%JuoB9u3zXX)RdtmPCIk!Oyy*9v|;I9y^u*s(;GAO9y#|3F|H6Gz~_Hm zP&@UN*n@DNJTLA~-ay>ml%2UdV=)0xvQ3fv78(D&wp3SEwZ2dMEv*NP9N0=PtFOBB z#(X4ziU6mi8D=q9c^qN;*}Kp8`Niy)AQk9UIh2(IfH?*foj#B2<=RG738nyq>w3ko ze@AQG_PYB;Uyggnd1C&>S@Okl@@pV=)Z#{uGkEi6wZ1YDZup9PGDdQr3f$_$j;(p$ zSJ}1J;nsQ`lr#C{HaY%Hqut=E*6g9GE83|X9Gv5NQr5OJDoQ(4v1v_zI+m>J&n~A%*j#2R78C>=KLtq{^!p;?rX0B2WK8Tw%I39 zmA-!Vr+mI(-LqVpRYj7*z}qr~!3L{=7pB+g=wcP#5XZ}{$IVQQZlJ10n&v)+68m%6OI^oxzQos)m2ZGNyKweOU} z1#B;tYKJlw7X*{tr#@Mkp-5-;P1J-mC0PP0D&oIpwMx-~ZbOB++CPT8K^>Hnf5R}={T2J$tPfs!0P)~v$X z5TKkHikt1!nHMr>@XX+)75nzJmnk-l{+fMrE?KAzIF$A1uv(ditz7A<@070|NcWqX zCcJ4`rv&*ucN8?QvGQM9<*%0aH_o_{V3@A6sh9fR&R;@q4Ru>+waWjBj;L zilny3&RcH`cdq~DcHog)K&o%sTa+7}%pOdga)wY>bN05b|CQh@aYD!eTW#(J^&35P zkT%xaQiPo5dmm&5?Hzs$Z*O}8?m|uCyGl1monL+ciOQ(&J<#$pb#g*WBh(M1KYZ}7 zaJL+A#U^c4BGo>QNvSMwt<**#bCHqgks8<60OVS4t59?Mm#g5yQIdFwr_tDMrBGXQ zb6KHjY=A=K)YEsEgnBP%Zt)-AM3-D4jga=HXWrUhJlmCc+577BdzS3}Q+# z%k^?d+PCqT=2fNd`RuF@=AqdPQK5ep$s8FT;mJeem`lS}+5EEoHACgKQu`Z%up#5p z%bASK!5@{QAsv3i#(TciG<-mr9-o6}iM)gBs3AhvF%anAyopX#6P%uCdl@Lq^yo!D z56zI!!_8I<&}kNOa?!B=ye=C>3YczLYC1gcl`^=`WNiw(9{8o{CGZGW@;fKEz*DY? zM4(?sxnkrd?ui{3S25zY{OhY>}T2-W|Y|M_U&#M*1@-OzFG zgPQGuo{h3g-{|DbNml0<)6O9?r^-XAZ;SZZPN8zeup_mBHW6<7A|J*G=J`%0+y}Mx z*+*y#!5l)FQw9x9SqT%AnMZ?_O6XF5(l(3*e|$3WdUp=6xlG`2DKOs*12Jo$#ds~= z9!T^3Z4F&#aP*9;ky;Bmnr;^~$jy2q=#-6p;1w!~Rb;L9LJk<0x5$+O*7PT2^5_aX z2<_ukz5w3KG`sjW^!el*+Zz?r6ZcH!owCnW+NF}m>R4+veJfeh$7i7@Gjv;pG9+q0C9N47 zJD_tVHKlqmsq1W4g}mS1b*gyrqxVy&{ciU)*3c8ju%%e#Q(&}&>UYc!J4mYyt{>mD zZVe2u{PEsS zsGNL#;bGVprz0k*# z3p6E|#z;wm5Q@)VP_BW1QBM)jZppD{G_^o*gNj{O)tu0uB%nxml`8@JAg4?rUth2o z*fE-i?Z=Sv?(DVoxYRe*g?{Q%$=CDaR1pBhrv@n|2V2*O-P3);RNNpaLj)SkVnPid zBLfPAY&-NbT^)L8=PqHA)z-goQt#p)(}l-xvOw+w;5zEjmr?$mpPbC9hz-rYKKicO z8U2vq&qTs%TMb#@NzckYXN=rsqAXGmU zXEuR`V)Z;Pd|;=IX~w<$5I^_YG?Y{J#>QGzb**!Cd0PB)9@=DP0QK8HZ(p01eGFZl z|GU&3ALI7<^e5?>WxBGswS_Ed@Yj4mw@@+KQ!M($e=jkkF>^)xHKH#`cjl~KR{QXj zl)#@kl{LNr>zPir?Z95)<`!OxbC)<}*Nf7J>!(4i;y&-=n{Ejrgpd74SRAs39MP%y zCx5yqtI6j=h29yYu6={^zMY-^-655WmeBcfx9N`7PN2AcKXhI&6e+xaah9m^7FknW zD^CIjGn><$?X9gw*L%jh4t#`BwKJ2CZNm<+IcY1>WbfVJ=DOBfMKcPXKonaGJPeKE zcB`uPQM?tXqVQV^mFJW~Pm2Ru)-qS$-2Cb$!+vmzZJg}W&y}n5v3DkaBjWKV-6L>f zAI8LL2Y~)uWxYvXNNn;M{msd!?^0v%=4x!zG;s+(KmQi_Tjlqt<<-}n`#>hlC;&FF zdp4EhZrgUIRy(fpduHbE#Immf&Ai>uu8Z08jg9GaL2=GIoP&vfX~j!2;x!7yXbWiQ zA3*iMhTQxlB@GFDhL7p^eJ&?9V`4fC|7q4*(eFC(6mRL!v5z|m2O}#)$q@LPr;=tFTrC%%+o;DIQ)LT0mt4aWL@DI{%Y0qVDb<>P^;yW|-luT3X za>?k58X6ZQ+|%0NI32VZWqYx2d$Cup0)QmXw+36>4+29Nhh_Fh$7^%ymHtj*(Qil# z!_y0N;>xE#&JT)LmVcX-R*)%E*yUhB9bMD((Ew93Q`i17c_k&bp;u+s7hl@QHWY~@ z3Br>Er2h5$i}FTPg<1X59DOzY$zuI#`EgaVQ0n(4UM0u|z3i84kWYyi+}r3qpCK%J zNlj3VKZQJU)Hvw~=hnEVu6##x((p@}TmOV)$|q2Rg#~8pnI${Nn}H%&lCj8&&nYJ1 zPvdVDsDZ$4o9IDvZx8T1J7|we?@4!?P)|k~^~4dgAjKF-Z5BeSRCCr1%lAUEQlnB-iP|nC;!GOoi?UhC-rq>AkYxSV%MjvFb%?E>+valBAf|~ zVjCm*yB$2tDCdwuMp zbngy*J~|uibh9LsPn$ULfKNKtV>{il5wM&$xfPiiH)EqX;)hM{$H&ES2Sy6f+`!Pd z!)V~)5`^e7$vK4uICEL}3x@fr&6!~DQ{04IK)_Ra9vb(E6x_(XbiOIklRFrwPZ{!Z zSUoQoXnkzO0o0`i*kI*DcD4x){5Mdp&K5FP@a5SXoZT)2vDFWCY909o=DammCEeo8!*?02* z@daFbT?jM+27x&Xuk4n=S?cvAp$843rHp{>*Nl*jm&OBsgikVQT=dt#!)?E%Up(N) zKvo}l5Rm=M4m?c-N^%AeC~}n84p0z!Ah|Gt0$T)f_0it6Uz>Hox47pBY??Ny+AgZUEr-)@^B?UwU7GbBqrB zdq=jIxL9uID^#mgmfjLT8ZU!Qh1ND}V54LyjJH8-az zo;mx_r8F^lJm0lD3S=N`Y@ohKpN|bKO|9Eob6?9~0|R$AI}gu0>5>K2_kWEJEd^YS zV-?T6a0JAmwx-t5g^CXrmE-1_KPQ8g`|2CV*NLX`Sbh0xNRQVqa`j45Q)TrAp?xDJ zcb`^@&}z~fs!v^DLFD}~^)%PN3mjpP&avI=>S`W8`=rPybfZYw-a zHLEGhTyMRQ5!V0AN=7qaMd*=O{970t%nTrYjv(1(@o@-Yf{omkX!BaBP@`tpvbRERU7IM>&ceLU<742-FK71|CDF4mK=?aMbapQO zgF!MtWzEM+3IN_pEYl`XurBLEAu768nuL&o!n_V~Q|4i7nu5n`>6|Cui~+|Z1;3wv zb_@VgE1YHX0+!Btyt;OW!u%xj&!;)h&Kty)4ks`6@(D`~VMjU_AW-PxVdzjmdq;Cy z!0Nx)!;Q1mFp9Ivsh90prtR^Lr_Gffo{!zq+NsTX@A(GNEy&8`S97pvr~@NSI15*! z&nb@S6|c(sv*stFM@I%KM?m@0&Y!=(^aKYnZ}lw3P}&g^aN5q$%5<2(aNFpLsQ5j= zS1RkL++k|IICEiezA$vLDI%eCco(!m^`>`_}39Z5feL;9{8wtz~s^5xj#tEvu}q2pNTFXsh8YL|Rp6 z(mfXDh3^c`Q6~G_V??FY$4mxYWE@`}$7_M@ue_fH@o6x^ECJ#Gk71!{(Y5~f$-f^v z~p&XrE_XwBA4=R-_r48}&blt&Q(e+S=oNf%_?5AVs z^3jXE+kiNOZx^h!4%*sE@o{tCET|!url;>G{inJ^*$nHFU6vHPGlA#EwYd-c+yYShBa3&r=Uwu|#qV)!a_)_wjjMKB zKYVbj9K!xyE=L&sVuzkAqbm|#DfE>WAA7@ZT~-rT7X&(b{C;lU6TeqoU32xcQ$NF} zL3(&1h}2n3WAD*vQf~R!*q8y+z^B)Sbt_ME5`F@C*fJUq3*OkxCzq@g_c9&&`pL20 z9T*r=qU;IU23!VhPK6m_ZY*?bUPp}kJg9w1{_CG%p0sknT8e<9cRR9l1yQC(1?x^< zgElX*z?r|u-L@}@?45@N(f*Fbez$Mmo;kwX0?{qt*>|zC zco$`K-?V9Wc6gm>y6fOy`tTfXf$lJr+!DHA=STYAUMy^92fr#QD3MQygdMv8LFIqd z*U&dmKGJz+_%}N{c1mKd@2%gv=E@$-r<2Kogqt!-%5t>n%hU6}UNhY4$2dMHlGOYp zsPxM8-A{k-Xj*}{+Rs>8?X8~jnP@%hhD_L6y+PkD5eWZT@fOLD^5VgrB)I~vHGk>K z|6XD5aOmL|0vx(uNPlqF1lw9#x}rIg%L9xQHks|WeoFrwcwe!7^l@TJUP)O=I>{K} zb4r=LRQN+7e`tqC9Qt&ss{JSD-%hXc%+g`$;rn;0{aRXpI!4*Nwmhx%suiDxuaqd8 zT1AfJ5w#%!V`^1-O~fkRa#ImolTk0U1LY-EO|H;a2=1PJRcu&TpafWic$`LkkgZ|L zGTj#dF z(z~Jjkn`5+q-)s5Yj6`waYnl43OV(?gJVaxwN0g${lS63Kec~Vq~&z#BeWV#<@4F) zjU6oy>iK>@SI&_(b<-RD#UGu;r;txbhcFk4B2?ME+mVK&zhKcBe+;rpL>5Knki024 z??I%dm$;7)Bnh7(sGmWL{*5k1ar64yR3I~flqIs4SMw?>ggtN zy%+n&o51gsDp0{x=cXH%B6$_~QM9wE-|`GKAxceplvv@7l|F?fURS}@g zc=Zx1&)^6VG5Yv6s00b;XO4G5n=v?iTV{6H<5tt8XV91Diueu+SEK$d@Nz{n-jqg_ zZ<`k>beRiAF1ZJ*N{^Q*duiYV^G8FO?ZLxO_fly1V3ADCFukd0NGDL|f%i`>A<)vy zMpH%lUF9i^wgYP!df@3jiH)Ea8crCR-5aE+lcx(|sIh_gGojOdDUO$YDrPFlO&p(ehSD6{yyFC*U0*q(kllF}TW$>DG zq#+<9&cXa;AX7|FAkC)M{NJK8&_5|Ep5L+kBR;LXzvyU-a;T5}dy+B~;;W$C>=Q7z z_RcN)-)_8Xc6yIG;m-?itBl10#TUXSm`F1QNHq+R5Hlx1V{0l;1wlWJ)0_I&;B?p2 zPPGb#vD2Y@N%rd0$Agv{oEr5d8I%JjJ>c1G@nS6f5-el~6s5yck1u2AFW$&#Fo_A1 zSaOZo;TxpGL=q3-$v_Fm=%!(sqg;s!o+0iOnIur(TZ&<^dZmzWP-E4pWCaafYRLbi z`1@ic?C6RCARPKlA5GhK9q1MO^E*Eb3#C+$%ZKvLKh$3Eo7+EqIw$`5oV7OWFbNRE z%zQ?QL^h^7cQ-G(GsSE=3}qJmX3lK*J~q}#*6z56U35+|xrZ%jD*Mfi#B`k{))MZC z-4hoRtD#|x`+0kBx9I)t;zpNN>3gA2hqyQlH8&qmBRkWM`&w`uRNgVJ?#@NaG8ZBq zL(PnNn+wynsLez}50KBAWeuGlGq(*mJ`STSs<3gch0ZUsem-gl zJ9W0D?2ZcRf8Oac$f_55Zv14-B0Ib74R>Sy`|9e!uH%CiWT}gVlHY=`cXRQtJ-htC z9EOJuAAMZ)9#KVOXySHjDs>#Nhukc1=%apWLxVV8X@(nFLb)o00V4|&Zl1K1cw!!x zP&)c9_jTUL$ZDMt4odoWBvwnqo{_i(mgafL6^G_3SA%qeiw+}M7>A!c3g^@2Y2BfD zPDs&b8l9f*P!iR>QK8j_8sp+|FhT0mtJ0vgB8>Fu%aiW^wy~E#oTl3h^YC&`yt}@} z$osNdcAN;)(ErobIu0NzEoWT>2S9ep`G=fXAX_iwdg+(1cz717urpM=1+i#AodweRC-A?a z!HNTZ#D^B)M2LfPH3?0vy2X)uIRVY0x&?(UAcYYXUfjUgOYs{N4zQsD0xG`m{!vo# zJoyLgNb&+#HB3zdY@SdwI!gtNkx)#}yS6 zDl03;*X_T>aqEpr55fVz>(T5jK_po0U+XSu=g%2AY=2zkut)s!_R?h7?)vya}1 z+v6=nU}~LwzO}uenNVj-S+u>H^k-&j!$;u?(Eig??ZrQzyNk;0&({K}VEaw$mq@AQGaXFe4v!@=RiXnxKC_|KZkd-+QqHwQWJMToq*n(dTJyg4c5IaI)(H(9$ed zU7q`eKP(@Cno{9Eq3l3OP;$7HM9L1|f=HOLvvZw! zt@;U5bWuYv5URMvs&1p;=%^mLu=0TtDm#EI9dl8bW54B)1k3dlR&!Q6Uxr=<#i57Q z$n}*H@KioMQ)7g~H!Uu0mIcwpq8eub|8H8r)HY~S7!}9N3&uw^phqf2>5C&iWmin;q`X##;=`XKuIq>Q_*FB_;<70`$F!#SG&tYciY|yioF&!h=US6Py zkg9CWu%hq3^)&L;RlpQ?%UF^MK2X^=kO0Z{Il)6!(ac!S>C0f|M>OA{#s4CuZdNrU z;UMx0@VLsF2K|iHU%j&qE{bU|+WyO^U)i)E%Oqf4dIW*Tg`?>a@v9|-0ECdlQVQap zFbb#1nIa(&1LBrj>@4MXuaaH*wPL(5ygXogp4QZ~crAx~8l(v5%cPQ7Q=4CUH##2p zZR8SPN-HceQ}dJt2LW(e3LUE$mi*u7!dHOTKC^kRgF?w^aN=%SLhff|=*C^Fey|<< z@X{$@e{1%AnvZSZdFx%)A(_RqCt(!x$gkxp+av2tGb&9@c}^jpfPUw{tx7|Qfb~Vi ze@`yoJf;3xIU)B!kWBuNy~k+ZQU9V~fAHsyPoLU4W_2H6(M@IpI*F#H9CtXR`hzT< zvt4u0^6r*zX{P!jJ!+8+)XeMgPPT>`vj(`WS|Yhyw}3&eyd&nV-G5YDMDK=QY{r?b z1!&`!Ikdsoqh(QdcwPyx!(AUeb$Qyk&~M}`CobUQ5CN$uMTm@osJYedTAT6n{swI3hF4V09^zfqBk>H+dHRayC~xq%VFo5nYFg3IpbZOb*-LrBl28oBCS3r z|2o$-{WzyjH-g&7^W_g?IK%e;u;%4w0<`MjP5<2Ffmg1s{P}~cwmiWuZbm=&WZ17U}VjnP$+qnmAZaWy05-B!Ci-|)Ic2|>wHvmLKi+jkHlnTWd zm<;`>_H+Myp44?z(Y5a|ob4XEK*mA!zn{v^Fr!%;-ld8d1yc@hsS7|)QN)U(!Lnb%*0E-?^~E1g!`-u$nwR=!!u9?p|y^77G2 zhi9+){hCSvYOuP`yhA}WxS!9#(gO!hj))F#Hp=yBTzkQP>pub!Wkje{^I&1-Vu_39 za*uHa5wn|jzR8o23g=UTbmYA35IkXXoLFdIoAZb{2ab zW5iQBf@p8c2$%en6xvqsSXAIgmdVF5Nz@<6yMS&BM>1P;hyz?`@!l<#aIK0Mll8at zGBT>q0R4zgM@KsY*&hL7l^h%q9WWuT`vhXPAstOb%WDq*s$F5P&EjwHzQV^KfOwA@ z5YJ_Uy@t40aK$X9FB$}|rq6Y6-3>b_2ikZo$=lDepF4rK0q?$lM?*tf^T~ws41jSO z+;4AjdvMx)1$R1_v=8mZ&7A{M)A;&6o5OT4c`&A@N1W1~ISm9EA=^N8msK3!pxHQa zW9l>I+sddOOmLb%x0>&#;>fIvgjj|^t3y!V`+JyGW z2OUmNQKBe`tc2SRzzsdcdECwFow~NMQB~_MgGY*?57oe|)N_$KF!6y5WfK!r3M(F} z@qRXvM{d*doVQT)8yJMt7LWr;C-p$-4dL`u37j{k{Ef`?tPf)^aUV~ghoYYb1l*#! z<(@Qu-GL_h;A1M_-+8V$nLN<(m`%)A!8#JsAysCCX!-dSXUA3gV>bW|)EcvMCQINm zZGu+_v3}EM=TE-k=DmiLNJ&j7x7F1O=kbluBV1ah_@F>9D?a0BXsDbCGLM%JJ|mBchR|ZpHtc2C0sovPX8h*h{>c&lLZwF z9dz6+a_Nu~`$g>Iqw1dkB^=h(HP;ay(?zdyuw4? zY+9bTkmO`d)E|)fLSIKER)3^T5;k9;l0{fT83j6AUUdHOft8T|psop!jJIUQfQ8%1 z!OJVa=RUcN+1_X@ZN*y>JBAmkejW8tR?h*vsFcrNAV?tKi3rQo^^QC9vp@ z26Rej%jBkSPURciwJ&^w{gom)v_j?x*(7(iQL?wWnfcX2KgB5*$#;$FbyedAmmfgi zmENcigD_p?PzhOBne+J60_aaZ1Fxo+bkcvJ8|)rkIbM1GPKqe)BRe3Gy8VLvQAu=$ zX+uLp&T`f0%IAIJ;MZba@*Qpyusl0sv|+=su86vDJWR%?2Rw`fsOR{bj&~eNt~ZY0 z4&rn*!#_3ep_n;5=4*ua+v4=D3e6N15d$S0GpCcc}(Y3el zu0%6KFz_vDjRcqua_}Km*l zt+UzTN7|tCYh3*X&P_a>OlFU+5?3nN*Vpc8oy9m>1a9v*Ev%2s&zBBl!Wm6XOR+A> z`Bag0#Mmz}5G1YIrUPSyls)i$9Y6|2bi`;%|HeWksKb#Hv0vn5@e%}kboH~AnD9$n z{L##DVoRgKBr7efZ+r2Ii*(NV2B+od3&a;imPeDXiXpeCG_(ZuBxp(O{8{hSv{$hA zcHoGLR6g=SD)Q)e4Oi)(qMy>J z@iBM!=s8v0j~*sYT?5cJRPfv0GQ@qlON8j;2naPsvY(n(fab05`kQbqp&N+f<$mp`0|4 zalODn**Cy*C1>Vr>6xT*$PyowNYnCvCn96TEAL@??r-niJ1k3cpjEPd+_{feRGbX@ z8iVRqcYHdB+c=Q@Oli|KDH_$J>&*{5?{Ur)|Br5E(mkX_jKsLr{Z6V(B!e|pUD=>X zA?)C6s@+eXl>oTR6&2f04>{Hd16GKpx;mq!W4oUZl$Ac}b;_+>=_^aCb6SmwdD@b8 z=gytM-D3}l0?@Q2;zh=D<|vqkGq#K#|JWSWe$=!4p}sO9l8X=73+dcNOA_9}@K5f_ znIl=glnHU;bp>BkSKLKF)sW`2%wSgH)2Di^<#1D`8e9U0Z7Fz7&2c)A?6L6u-e>_G` z_P6x0Pbue7+un<7fATMSY}spSo_8vPsuM*<+a~pPk4*#5 z*#xw_caQ+&nyj#}L6=wENjb7xj{p-4PC^#{`6fAQfu(|4Mf!-Xy$2 z-j3n}GiN2JI;rWupV#%Q5qb)(@SB~2x1<5yoF}WUA2V2rF1xp6RVy=VovQM3{tUpKpwfE;=gBUZb5^+5%j__hXl(< zUvc_P~Ygp2$54zUOi|VxO=zZPcBR*PdBJ@x+l>`=$H&2Q7DcCs^w(tZ~@Th2PylxLr4C(YntvUnu|5X^Hj2gf03^p}I z^)j(4-b#A6PhmwqXj&a_5-avP_Awn28%PdPv@v9LARwAzOw|FW|E zJ>VH!UqA|n%J5zaSV8YAvu|uV73#aW+62#^jdXv^9XdGhTWvFed%!z=@W0~<8dtBL zQ0590m-QVRoRqP;0?-iIKFM?%hY!JKq~l;23u{X&8!I^lh3|r+d`9Tum1ibDc6#PM z*5t(WJhZ@I_07z0q}5lg_CFT84%$~XWT?onsLZba`};9gSJ3$b*{OV-{NK%tK&0O% z@Mf5Vic*{30={X#X$+`4jAMp#(KI2V4X2OVDxn|wv>$yb5(>14Ws%`XiZHBZ0d4^; zAv&(jkgW)>H&VntNi3hX9NVx=(fsui4{pRLfVmA3B@k^Mdj2Wg*4DBR z`QWx=Vx|9LTE6JgXjCV*>_@GYlHbFEI2B%2!Tq~5Skm{CNy8LK+;|UNw zJfIuysjSKvCsKb4uns*R8|vC6DE2NOu9y)LmoJg_VlwlCIw)MPJ-of+pyR}G&E8(- z6c9|$A!#mGr;ti}OPO{^$T?eKI3819@lwqM$z61qhh$i9NqGz9rG5Vu` zPvsyoteq+(EL@1svR59nte2UYxq1pi#z95DsusH+CW5r;?*HJiFK|6irsfBUvcQER z?Ea&(Qw6iI@PafrJL|5;J6lPKf3PqjH3{E-(ppw?313z>tSJ_aU@62TKQ_C;iu3@w zf1()#a_bg5B=9fqMPnG_yu=tjY_j>Q$Z_n!+zd#*wYh0^rgH9$!`t7HFWS7y)yjR@_IkF4e zeBtR7BVs`pwo5!^YH1NB5d+!g4bG1Y#P-^;YQdy^_odyHMZr8R;9S!5kMKK@B(94u zK31}|n3R)~>+m5H&gX`SL?Wd(nOqjQ@y_vNYHj(&1@Uwfs}dCG6 z(yw?J%uGx9EbL6gD;h86df^TNtqD%X;{-PT8}Wq|FOA3bOa%}O-PJIfaGj-2*)jo8 zeVqm58H@|?qqV+yJw;U6&8(HzJ0Dey%5*o&4 z?@dI)V=!pX&CZef#m5SpRShsT>S&{EEp9mn)yPAf0;AC@z$sZ-Ik_&NZI7Op9~)lwmta3TaHlvF2sMhVN|H;)RrdRA zk}3VQ6!W`e=dV(Z&wG1OMyn=Wdm{t+{)@(4$4|Pf$4mwFB0%^TXopDVf-2X45_lmB z&XZGRspsNC9HgRk5$5vD5j_%f{+6o|Vmm7BV|@iTD&2%HbLzi^9U`rlcTTQnmt~+) z6=I3=zvA`4=TUyspMvMQ;|H5!Ld_+GmPY;Drq_Jxp=;!s!0OD30an7_b_&kez#0JM ztfpnw{QbN?=dV;b5GV%~yC(*mGYNSQ9&jW>>S_?U?_6Vq#5f=fT=@ zpLcZ5pm1ge5V5yE3-ECT;Gs9rh8$GXMRY9T7GL^0@-X{96x>8}!###AHbvuwS`88EB;I&c@K10w7ZnIi1Aa(;@?374N_S7qV|j0S zLeXF1UdJyTK?C(d5mvTIEnx}TIAAY9HOolv1y-ho7n@b;eQX&DKG;6WM<#Id@Q`x7 z#9~a~=;U6f+jZY1H$zNKol;AjCd}L1r@GdZGAD}+*_qJOQdV27Yn^S)zTV#6 z7eE&m6Nh)ZH9T%4-sikp_J4-%SH!-y&grPrL)Mci%$Jqw|7eY1EZNkNK4ZC$R2^UJ zG4iTu7M0ULL9|hY0>dK^dyi#wLz4Sy89@Po1$A+#?8r4Bjc&UrT!o%eI2M0c z=CB?=lVnEnd<)Mi`!h1av*_~Fv+z5Kj_&j;&cn|y({KkE;3z98eD>Hb8d=$-*j^m2 z;uW5D^ZK5IyeqkC-!e(wqeWRbVHxS7dU|4F<|2t~kEHQJ6>JW`0gVNJnfeGS6lq3} zhr-cY%mdxMam?vvxx0U!&0}wgG3I*h2Fon(yNn8nMPsTR*$XHPs<0f_s%k-zce;)Q zHg1|?w1nA{;zl<|6;KxH)sbTrebzdmBtopEHo9BgX+6Q zr`iuSyxglR z`g!sPNojvvGFSr~^h&gD@d8k=aT%F!L=KdhCsS=)D z&}0gls&RU$_IGBIlkwzOX~xR-ZlV%brHPb4(tpIucy;t_u1{HO;BkCqZf$MV8t0m) zKzKdhik1I-s%BfeSJv}TlBbWi$L30TEz?Qo!qNvd#S$)B5vCZf6#DprELnfsXW|8_ExI zxLmr-TYTN2K(z!?=K7(sc|y*$x(>Z1tph9CzeDx$6_IGD|UJV`2!KKO={t!|E zrFyGY5{(3D(DO^%mpGR%S~@UMQAxbELOc}uwhUZ7MZnW?@&z02nzPf=k=)mWbXqb1qB;XI;O8#s!FDc+gaZs=|hB z5I8y-)-A_UpDiw5sBVi@wD2*kw;IuiY&m&?g1;jxFY3K|{?4 zj_D3J0Yn*<2m2e%=sDoTQKDTh4;3$8T=V`Ttx>8@T)CrX5O%ifXG!{mX>*9!@KhyvJ#z(`XGV;z) zIiE@xa?W8n7jn$`EIFTZ46zVf!Xz@v9C8?ikyB1JIZd-nj*)W+{3+57=&) zy`GQf^|-G4<*?FXZ60FM%teG58N`26(o>@)0(*@ze_G`hDRMbY-MRN^=>qCoStWye zz6hMTE2`P1m|g*0X(Qx=pe1EDXWYSV2r0hlpG(3`B&>R8t#0Vt6Fvyd53L?IOo|%(! z@oV$;7QyZ$Ee~Mt%%2|cpWL<$b41R$e5X$EWtW>9ULrH5*N^%EZfEZ7llNmhJJySG zeRY)%0odu7y?>d$lbVMS@nSia72T;n52#K5lj_rRr5B@u57!TWo&dGJNvFU0F~-OB z^poFYN^k9_&4VF(r5M~>*f}qmJ#_sw9v=ql24QSS(Q6Dg zIKkCuXLclr6Y=o#-_sb7&Bib4)YI@@j5%-HnAOv+JJN~l#?$u@%I@J-rQQ>?U1SzI zV9bBK>!AVb6R2v`#KxnIHu^eW?TiPs<6rY|%~EziX21n~YZ`FX#=CL>X1bZSiGeR` z^tc(?Bj@J*{_*Ks?tk1G2kZP|ymIAVmh&(G4Iu@gfon@a@5w{{7WDMug5lH%HNN@2 zO*opvU4X+Kr5HJ1@Mz`>1Y^|K*V1q?7L%0*`T8#5%U$vUg=rOR7EQnn0 z3cn_Ht6+vqbgD}bbe`8+3*@#lqh`cY%}3>u6x14vp2@JtVCcN~=I(nP4w7%ThB8)0 zG6MDXUP^Xeqcrgy=Il(3`wJu-{Od_%cS4qfBx**5Tl2z$_^Dwh3vIZLk+&I_cYgHp z@5+8kn*|s3Rk-F4yE`iB378i^g_?6n`=N!DZ!qO8XfAD2k$>Q#Q4k6*p zE@MNj-2162LWlEL^b~8V=gj{GUj*@ZqCS*W@ZcO|m;ESIbO2+`{^qk6-TE6?HlX7} zNGmlME$7pqI3WZTRB^v7Xdo!7x09eH1l3tUv31cZ!3k1#7~WJ~2mL$#d8*bL)0)yN zjvCNBro>0={tnOa;NzQ*i~rGh(3dSvwZjiRQ~-$e2kh~GkNHnm^ntI`#v`_h?`xAy zW89C+DS0O4V>OPx6MFy+A447wv&*gGyIXgh}D{8ulhJav7Rw(PBr!Q@bWi z#7#>pU$Xh`?CgB@M$ZsDbC#nrJ+W<}t6QQ%ouZP}FT}tgUQIqbf1^H>{B(=plcd5o%7Bkd>r6Mxcg05+2PRYcLmh6>m@9_<7hxKTRSZ z9PNj)UyYT(_}Hx>46^-{VE{Ljyi2Q%!07kfeBAH z5g$%spLnHUNKj;v*=xnFH-|1)T7BUeGZscV+{i`zZS+>v6;x)|;KBw#TnX3U0)n&E z^47x-D11t_GPwf^12pUV;gl;o>r?HNwY`J(fXV9O`o(@7XUEo9D?{6tH=pd%jIKT9 zN^}ph0+w_*sttvALzuhUw#jBx&ae`Q653Vn{9POvFOEHl{LrP1yP|`~R zqOs@;2nNh70nU*$H7CmTZHJKCPS+2^t>QP+og>%K_C*JSGAoaoPq+5{RE`IiHADBe zaytHzOwSoc~riC&z?jhRQi7-YTv9x=?rlPrX zq;id&7TV+DKRFO#YSSju3P|(i0war!_Iq{yuc5%`2jNCVaVI1|<&vS$s=B+|ej8Kc zbJWP?sQ`}`5urPeUU((GVZVygKL_RjWVHl(qkq!Pf)OdJ3TW4O%e7LY1Q0WK8x!bl z|7jKbLyn~gBx&*jcyI86kjL9^gQdKx^l>5^%j2vKgTYT#YsqFY_$!QWNqqx}fzc;q2Ue?(97 zdKLfCzh(1&b(zF;=YwwUWbAt6x5tNT{E@go#}4@Ki1PAsd%k&-mvRaFVV8sh0s=saK zPmvjw!0?yAzRUHq$^dxnky^NwxeiJrrw(7$So2V4=k4qNhAO+D6a_YNt@U+DT{Dle z(Q|KXtceoaX0_VGOWNW zQll?~e2Y=UrXu3zn@;!8V?XcKw@I|%y53ayBo>;1cwc=6IbFL7=h6l2It7G+?d)8A z@2sx@8Bxv)Or<;2>rHLj)&O4T3-IENlYp0A#8)CiakRi=>#Ri_eyDz#vm zEj<03qIvm|YEsu52|4${(sb@mC%d&jKSeCFpZ+cSv$pp5H0I|WO7}y}6?S&h=i4Q~ zy+}_dkwG(np?Yx^3hFyu1_5+|0t=-^8I#`PX)%G_W4dX+gmr{PwI;bFLxZx&iLbA<2Q+D z+L-3Ym}N@QNy!_aApP`D-~92iOxzyHH2xsF$vJ+F0Qj#RnnNU2$1JOS?@Rw|-HywY z_`(Aq_o#QWEmQYBCa#}NeCr^Ei$DQNY3J-MyA3ouDW(KvQHeys&}!i!gJEG54-C~S@wJ8WShQXKx%c~|E{{U_#Y#~6HN$2nt=k?}1CZocqr6i>}J zzoy&^GXyN|LJBv|`m_$d8|$35PNlP#<(N<%tpq`}?-}$XP7hHtXSZ z@+>O@i3fNaa*9b-(y0Bh(D&<10k6dU+ofnDy4{xR-oKtn96V0$xr2n8@Cbs1I6-<( zn|>YGiUuzftlfmU2A0} zn*5dLwWMcNW$uF}X(!Gybhu%x0pxs(Ri}Yg`3>bAu~*b67V_=Cv|#(QnQw&2+V9~% zK++=y4|RAs)QM1B3XDN`^NF&1TaE3`>#Lt8~ zxs!E@EsF^#mzM@ceU%RW>wd!nm2hJ3#}6v~BMY;$PvwW!^W^LMM3_6^mm$*b;8IM6 z;AaEL-7Z?=IE-B{=~s&8zx8Ie)^f`D`qT7?4NXwlLDCJu(0LcLMwtxL4AW&9aZ2`n z8!K4=Yqb{K?BjxF7?2ve=~4P$c8)LZeJ3w2ev8s1<1huV#GM9`cXtsVb0|GN;ykHtTM!V0&*A8J@*pfk}jz0SvOo-qp|B=Ane3&ob#uP}#T;(k5x z-IHRyOYXWey zYnt)nwO0~je)n2W(l)HVvakYKTd8U&_x5|G6pt0E&)V1b*8C2sJ!U!}1$wZsDR1=A zJJu|$gv;yEunqpOeTE`#3KJ$xh-A`uZeJ5QBLs0bxJxl2Ci=@1Og|1fJu!{j0s!yP z+t{K{wxhT5ZGV2 z14JQR+Ijoy~=U%-^zFoRk5~hpPJjTS5=j8v(M1qWlWr7Kb}hsaJV+x{f9NN9d+1B_%OC{;}RQ* z=c3;&+QkC3Wyo8(%n23REdxFIsI}eK{tEuGa;^i5CH|Fl4j*0eToCX+R^d)r15O_1 z3z^kT;>Mn6F#wqbDb(dlw_ar6)J09SWA+V*E^kL zq^T={X2=XbAk4l+E=E1aJQFE3GT~+uF<_7d>2xR1h{}AHKua&r{54}quS{rn z=S7+Satlv+{p`=qr^BQoWm=N%-^k#IjU@uGP*}&LQveaB zDSR8yU!yhhMpCDxCMRb!RFr*w>lu1um1s4mtNby z=F8xZk9^>}JxHRGySAk=j{^!J@S;NNs>Sy|?;w?_1#AMXWQjGNt z`@%VwP*`L1!qz);F)7NO-DF9}L%mP(qHl54uWF01ek#)7$%uhrNw8h+>GJ8WOgw$# z$Rr*|&;5A}i1!vA*?rzhl3OA-jk817Cz*>)xrCwkfTvvZXk-7j^KgM+K}8~LLyJ-7 z>}wI3<*L5HW8CQpKRWq!V%_wbWBE{QhZ~cZF#8(5eEN3l}cbI<__v2)jG07NvD~JhnHZ2>x~?VEFsm^dw!{u_Y2f zZ`|RQd8Bp)rJ*;htk80_6nNT_zRumTlg`e63kcwJ^h64II=%ES+~v90^<`Fwp_}y! zv>iPYMKnOZFB}zOqTL{NDvKIWYs;Dxi4_JDR*oh6RZ0PGA~3T6AE16|nm#j7$CatP z9MLo^#XX=M2!uCVb?<}vvZYkVsJr%oZ9GXE;oI!M&~kF*v=g9Fbo4jnbZ#(j4e(E1 z;cqW67Awd^cexN=p;K<_edP=MG`_}F`zfSn@`1vN-%dK-Y-2O2_0W``^xQchBe`h* z^K1U;)-hv>JRhIFzWy@|a<;GU*_(#RHDj;(1W4)==)A+U!i24$Mhcqd3mpB#Fg^QH+>Ng<_V|mWQGY~w9J#@IBZ?DhDKi%tXI`7U z?1k2e$PA1q%m2Bc%y{OF$T|I_`Bm~eB`BtrTl;VDx3wED>jUyLlFx|hOj=eg`hS)%`ZHKpZLxro=YO1EnkxgaxrdZq4lqIA zQ*}S z{?7hAYTm}3d;=P`{`F02?oTai%3vI7tnFXFX7vQ>r9Rewu!ZdXBI|! zQ!xoeSTqST8z~DZr;vo9CX(`aF^o}8iLJOPTb@K0tkm+F?$bASnL*3AZ8)PSMg=#< z`rZ05h{_@QUfvz(T04W<~91~m&xJFN(hScA%R}YTVK+9$nSje#Z3#Pe&=9- zaV!I5m?hEz=fk1*L-Hb8H9midb*;u>7~Ko*xIeZFv&;%AmGIJt_Wx7qFtilfZ`q`@ z5{QD84vu_F*_1yipN||%{u^NsI#lZ7K4p|PD_eegJd!MJ<<+CaC z8>h2}&WF2!g{1r0<5Mi0>g}N$Pq_L#t?He0=s4On80e@5T>!+xQ&OYuW-``hiK|(##?l&NmYi z`<0jd{lp9#uU$_?nw8ntH#YeB2iW;%WMr6^)=8l?M4kcS4C$eCBzZ^$=V_aRMuVi0 z)crF5#)t?Rrxq7fp^P|ccIh2^m#r5?q!hd)KdpGZ|MU9#I2B0B-Ywa@kw6Qt{}OUF zAqB$qDl{1T4v-!}oNoBFu$c1fadMx?Knv#YV&%a?dEDG;eQ&wA`2AXEN9jvMSdJ0U zWN9Z_%2{l|HR=YaZG1hMgo#(okhotKMFl2ebd7(rfMy0LjQkgv0o=mLN`L8q^Kp*M zbwS{sRrJHU)_U}5`}FZ~%4@!!xu6n^&G0*ATm=UFq2hOAjeuU_L)5dGP?P2KieSaz z7FeH;+4+`sr>4lgo$-g55N#o*HN1ZQ!f~ZqN?=x*f>J_qq80|iIC z+a>L%qM-dkdZJuH+9;a75Kc;OM^M(No$kBYiji|ELGj?mI0gtRoD9kriQ@?$D}DR> z_GWnIu^H0f1=6$9H1(vJRV|7AgyVGWOx_IYB+{#Ppe95=i*-N>Vytoxs5R zRXj0rdaS`D7I#4*23~wFAWdPn;Wc+cFd$IZ?gEFw5e>;WNBhmK^|#BG*6A8lQcS{G<)BzrQjlhB4mLSvn^9~Wd7DTaps*mZTB#N z!RM13`+=6Bn5690 zt=0OZ@vsVyvkVmqOt)5%Jj-Ewf1ZOVj8Cq^4;&H{q!UN zCweeT9$5V&alP(z#W#K)=w3GE*Oc5U8KVW9JA}1Uj0-CRGVLkVFWHFiW(RF=vwG-W zNZ^ol`@`M>{K{c~mCTD|XVGMA8_bx->Znu@!W=ujI!1-`Vv=BIfLd^1I}qwy57!nMVIIqW)R=!ti9gT` z@bmXu_iH=&eO>c#9C&(#QykP|oD7@uZ&(OEL}5UJACuifx>Rzt3_!)`DxYcP+u(s1 z-I*bH=CD{juK5Jmu^-SnHjVp{=HB8P(NzN>6`UppL2u8S@KM0El5Y88;TFrbFaMS} z;N=8OovvoE^nB?n`MUKbj7r-Du$KS(-W7yOT1Ch{L_ZD=3fj%Fr{HjtO&e1kr(NQj z`xQocGGxs$Hz0aZp1HLFkR4AIm0Jfxfkyx*J$>{2Y3}LCB)}1I?ucHL zV;)l+&0E74e@zPaw}=ngSO@m;JUe?z?{ z1_=S`#V<1JZazg_yoV`68Kz08GCqM5b2yE%2scMl`eMmf&IxJhDCga8k7Lk!e9kb7 zQ{Y^Ji_S)8%vmH{?^VbXOXehl#K9%8YIT1hKEJh5q8hi*n|i9PKBPtvUGGCoShAIt z7|06ywpQIgdcAfkGHS zd-lgF7yRE!0T*DuYRfT~B{l@GGDwTO9ke$kFK3}+nDp(3%XNi#+-01vMuFEdMR_=N8OP$L9w zY^K8LzXcck2md=Do@ES&fR=WPgQq=?oZEj1P0r4ZU76I)Ar?#@jzbE5 zKH=SM@Mc9g-vu2?j7eExa5fPaGHxQRJGDI8JtEM&WE`hdVgh{WfA+@fy~{U*{2hY~ z)Du~4e6b6(CNT%K`RXYkq!LKmE|W zrIKT7uI5iJ_x_ElpxK2;E7NCqXajXV6OBIkl>xl|k5fC9Jqwxp_CqJQRTe5tZ(kg4XcTli(>-< zeM65{=5AN*?)u&@xcR?M>&kksVXD8vx7N-7_X31Q14LIPWO#o_M9ccT=jiZ{$= zTb4fB>^P!!^{wLcP1oDvWtd+TkUm1KreVGiVYDJXR2s|=F~9nvkrV|=k$NNdr1qLK zf%@?sekiTP!lUao1=sWQU`a`%?evN7E}6_>QCayK>TY|J3ILaYhRW;a?&n<_Zu)}_ zEbYepCno?jrdq_$-W4AAsHW@^TMNLFg2k>ax_#J_NS+lGdh2nXEkXmTHzHzNPaGKi zy|c40zU}4N91ZkE_lReN`$i1^0eG2@-DAX!>v8kK+`^2vi7%l1#dO!>LwOSGJ=&Rj zb=K_|;~`|^!LO)%k^41HODOy>+U|AVLcq)4_AV`;~B%;~tF;_0fIrn|#bdkh_Y-}&)2 zVeAuqt>e`de(cY2!_s$`(&L(-mrYE?=Qo$owA$}h@+vArSqgWu7Tucdq}uDf3k@q` zI}^T^zNqlAzbNc#=?0S2eQ6|_nUKqh!%&GaT(%$ zef8XdjHzi=NKUw_G_rS?jt=g8^~+;w!$CDZ;B=gAGM_DGSzN!o;O}U0iGeaV>JESL zc9*_R=WOiDQZ5K{1J(6hVyK=ZNavguD8YvIaiJg-VKCVU3d1J_&(yBQ?ad2jUovRMA`D3OTpR|d85_#ViaJX-tEZNL&L<*G zP>jGxq*dJQUa$I@!1&R< zR?R=+n{Dt90L{kv_;;oxQm|*vg<$su3MaaDD5?N_EsPc4Pv*3(OBklRLJrhAj?o>v zMJIdw@ib@4(Q9TQz;jIh^p|NgHmuoZ!H~CLIO}sh@Y#dUAU@987KWC_ig->(YL#&D z;0gqVC-OWeui`5&ZFcMjp0?7OoWiN+lZ7QcY;$HN6|7JQ9kz!YmvJx33_E3=r4HK} z{_9uFH>WB_f8&?-N)L~#tMn0ESX#0!r-YM&1zV>JspvN)KY_a*&;dB;r7^u4wxzy3 zH8OiG+>Ak&2u5_W2f8L$V179WiFB->vrc+THwHgP1Z+HF+IdxHSo{3(3 zIqMeVd)=(h<(o6!8YavD{D*sqz+6xeCIfF8J}DRx^7Sa1y2)Km_zIpHE4Xmn^xNFK+^ZBX7=tf{vw_N-SGvStZfjQTk_Y z*}k+C)hYG%lC{U92p9^qT`}2QsI&yE>a7i$C^IuZD`>qP^|Bm?p2HqCIk)alr1yBW zH*BCRS;XF=_C z4@@vPm0WIKl88<#wj;$(o{MRhGNwDX8PuPX@HF?PZ8^~&%DMh%eSZP{mYsZfGZn)r z^wcJ41o=WY(+sg(zrPKfn5Fl+zyiE$1YqPfH0)Dh=XeYxG)3;P&clJxZ}}W6keim3 zjsovc^*|`3ya^-|!64{ATD>u{%`J2J^3{OA!2htMzE!xVC4{`OTi6k~xzL9jxL+e{ zlthn-i5YfQpPU&N1H(L9`~w|2Y^_HRn*vYQH;!jKRHLF|3(&^y!4SkN5YeRxG>uNDgalOmoK=RjA`o zR^c}_Rd%=gb9a53Bjf%a&29Ill*`!T&m6eML*VP5w)(whB9FI52d?(C(q{t0lHfu8 zoIpdxz?Y-Hi)QEEagHhidtjRl#5wpus-lj+W8ot-8?br;!Bypv6TdWTG?ypp=MECJl(WRl*N%S%01rY>})hS;o`@j z^~)?1ytig1%1{>9VD5OTu~n5$z;mVi#tU64%kC)R#}F%b5g6h}ioxE;Vq$ z=@a1X!_)6m7x9j(lpsE>H!@^?nHcEs|m3RY%)CO+sC$5K_7 z;~jGH>q{F2jq>HLv>wAN0-!7ZEA9odPe7@iPfPAXi9o2G{O}%icPFe4K6Cj(3Msnc zv!9~oE$l+nr*?vWgLi(u#f+kH6GafI>_saRLq5PhpB+*5#fozE_v?i%%M@tF&n2>- z?AI@oTXaML5lxE0n(Hb1!QalHG8xDA5`VS4t8|vfpz8b(^GDp#l zPkv^q+WwZkw1kDA+_jQ$a&&xTSmepb(-!Fr@p7`wyY{uyadbysM8l)04S%%K@BMB&V^%=}H<9ht zSQY1M(h{Aqsut$N6`oQWwEVV*L#2ZE-J#O0t0N+l6B8dMEEoR_QXdiu9sqRnhxqib z^=>62PFm8*^OWPBh`5vOgdhCRXWAbh(mM9fvj?4Qm6jhKPR4j;sZWpJI-JF&Z0}2P z4AOkQ(}01gSH|>G{r=t(b?&6gPUdMQh@l_Ms7&7^h%0-c7&`O$zc4ww-=TI3Z`|U9 zB5LlWk)9HkEg&2S8~qq89r+C=taW)O2F&61&G?E#s$fGnnnC4lft(4%_I0D10LK%M z;KDo(RC-Rr{kzX?(7#^!H#cilnE3(E0r13g$aTqMC)+qe`exmSB^VN63=my`h51=c zK`kC}utu3fE36=0T24nBT#nQ=l9h7-a|pc!OUUZ63Ku{D=tkHy4C~Usex>$J@zNE{-+Ted1lo(NA-ma}V5aNriw>~R)an)@hQOHFr0}O@2j3lvynY`Is zrC%jVwcJn~91sERZl3#`kWCIAZaKs1P(Y*-WYlBC$akxV-mM(m|3M3|xyXFHiJhdA zirO36>+Ku&a48v;W&4DVQ~FTs-tb9N{G*d!`}KjJKFIT`_6}(#PIorSY<_JS&g)Fi-NOMhN($R&xw~N{i$i(Z;PI|xwfJ7BTCW1_svZ~ zrjL&nvu+;jX9J_~!ymN!yCE8{Yfo3glca~`5#Q_vR7|sgq$@yeeg||#mSr2-j~0yR z^v~W7GU?N?KZ6u_hOTLCH?hADQ)imhD&8eWX^9}2QFu5Zfb~Cvf7O1v=9bdR9@~{p zH*Y}TGc%1{5z$w2QuUNm0u`%mf^``zu5mASUm<0e%MU%vfb?$!I|f~ScjKlSrbhOY7vXSe;&ug zzwm5k{}}aPSf$nO29pkt2R`{?x@OiDX`u@I@m^iqbN|Z3p3T9 z@*4>=6;kEqQHbl@OI9}nCl#Yz3a&5S)=5p2ll;hu2oAaod(eS(=^mig

P=rN2=4>@!u4~|6YCUf~*b(vIQ9*f*G1;qsGkO_%QF=3r3f){Rg_X z$uORIn)yL=XPv{1L){3)qUZX2^K%BQ!OAMit@W)Ac=H+}u)^p=g}P!h&F$O|0r=5a z;3Sc$N%|3Y)Psig@aXB{*>hkotcf-R=oz|y(-R}V)P_R_b&Y+;&SKf0$TzC+7R%2( zbhMhE6EFp0O0+%iaSn8}vgZ2+<(s@|2KZl|K`H~+8Gx!WI1j@S7^+fw+GMAUc z(yDhzwB41;>*e-J*cf0aUHk7iD1T!)7~4K}5`Vfum$&A73bp$t+b}{@1%ck4;~0db zK>PI+iw{aW=mWz}>euVqI2ZAgG8-EkW=4%oO+JDc%+>8^Y@sC}8z_VLHKVdV8x}5q zY66LV8Qi|A9*Y?p1s2diYXLL?Yt3etJG=~R4c4rEL*yQjIEWl?M-_^J^Hnrx;Y{-%J=ycs1 zSrUens61{npqPVt|KO@8h5QvJzd}&MDiS3IcMgCk}|j zz3CXb3jO8FTsr#&*z#5SF9}Y6hw5cIPDX+A`cPYr z*Yt*#HrH^SgBn}&G6Y|ebBRNyEba$P>AKF1g1XO)&ztr0SU^A%BfY4oBU**EoidNB zS5vz$?RfcuXb`>wZ$9N$VOBX!^AkXQg}?o2rm!{z4|Grx}3$* zvdm+XK=r~)QL8c9u+N|P1t8l}*SAm{m-PgNbR?(0673RL$wmwiIJ3D?>fip~XLl1f zANrN1^(2@(S)r{})7(<;y<7wYIZuKTY-dFM3&3$3C|=o#zK~FsNmA~A^{$lv-?qY? zZ7Cy8&$Yi{1rM0!y1t~hf?lk~I;CBc*_QVrkw(H)U+*vv16X#vfJzyuxGUS3@IhQqjl2OSu)B6kFFwMJMEr*5(*nE~Y2co`scJUCv}KTyeDu zT^xY8sBREiA&KP8XPF`1-`rnmL7qZ^?mGqqOypyA$S^%e4hZs<5;#!_kFHD9urJm_3OqAP%9=*PaUcb2CLr~iS-A?iqe7Q( zFK`7vA?RIqITzN+b7rczc>WUqe=s5N+tGY2@D=a{5DitI{>F^&JjXB8jccJ36LymB z=grSELtGOD8mKnDvI(%RVa3M`NH!~m1fr^Yb&aUpa}bbJy(BoF;Pn3Jtvr=y8O3x# z5CRv1btxNyl8LX{zSi$^*-YEnuC6;(JkP*~5_w2Gi`CWF*Y1v({B8l0;N8{msF$pg ztVED#qQffbM5{C#(?crKt7??o|VwMK0hpMhXL@{u)`w(rE zV8S;93zYeV4NHBSkLY901_6PNQ^1$_Z%#bp>aF;_*wa6ychFQP7^+aSJ>>W|ezNJ; zqbU=iPYMzbH z@Y>#<=Ia}=9=o$Jmvo1FSl{(U*+mmpcaaOnbL7m-YiA$NO6kd-J;T!Z%ZNb`g_9VT zdw3;CdMj!5p@^?wf8`ZX|vWfV7fLhc>3O(S@`nxg?v_buMy6_nWH{`+9&Uc)~W;ulKQ|!K;Ppz2~ zzWmplo=6?pn#Ylq;@6io=*=?se!JeaJ9aAcBwa%YAWbUzZ4DvFPEa`<(WydwJSve9 zEcv}}({Prhyd2lbE}-LSyLWgd(H5%bY3qtmAFihkE{CFmtNv3$|5dM*IExCZ8hz9W zl&h9Jg$D5Qe8HF8`selY1kc}oD(LQ-Zw-OtQT)k}Gya6|v#vUlT}UVjnwTTOfi$YD ztOg-nVVuCu11P%y2~-;SUSZ-uep`-pcX#ADUM-JsZrL9pQXkb$_q+=53lPJTceXoO-k0kz8+3pm&slI)0dPo?spc=M8)H)r;m5m zS3DNrC%a8Q$EVvzAWsDHhk!%CTR4BQG)I0?ZLHS$3~^CcL-p42v!Z{SKM%1#E7I$J zdXMSOVM442?6e^2L=THQlBF1=xhCXtLbx!fTRpAhiMOzqZk{4KtdrxHY$HgbiUUz# zPI|BZHPQJ`fqS7Bha>WBF`1~E3IS4WKQ?5-TiW{~v$#dUK~YgRA>G4~T1Gd-V4V!} z1&vTSX@)KP_H2dMN@=3_h5#;+ZsoUVCXx-V0Rh#5%xzvx>=+@n@ zk*ZIjO={R;poD1LL!Gt#&40Rw!_Hu**(ropHFu}GiKG}**fRYZuwl7d1u&Cme$0$J zIXbsSE^dwV8%-HO1rdEx!(zaTRr?0&q^^?{IvEC|pt^XIrZN6%!1lZLXNNhdg+s>a z&rtI1jFE?rJ$EN|vFY5_YFGT%BIR!JUI6NO#d~|OyXW;jEN=_!@Ce&g$PLsf-0_k( z%eB=gx~uLmorbmdndf&jW(aBl~9IaRk_QedrdWrCEKQXs zO?g?H>&qJHbbGR+o*o-7hxLk*EMYA!q3{ik3?@94IWvkL1;I7T)YW;0x6M_)R`6SB zE;%JY>N`cuU}2oosXaa1hO@_mrtzUs-_$gKKHP<1n5ZjE5uu1i{d(x@73vj}9uw;u z>aMJ=qN?s-YkQNpc54zyHMPWQJnw0_RIeb4VsfoUx*vuWcYksS8;0A_c^J ziinOzK%CxNB+7!n-9(omfjpw2uUsCN6`?ae$J3E2H{g4>9XD@rH8KvS37wI8yf9V~{}cH)Z<4{ZA8XyCVvBC<>Qy?$wu$=l@s4qImayb|2+8u zSSL<+Gm1+IyPAh5MG>uzf?&F`DJ4wtbwObys^CJ(Sm0Fb=ASP^K<&L#8_+d&7$ei) z=JwqJ-Eiq1QPy@4fj#q$M_*D9X|vp*NQKd=<)4QJx|)>~dQ~UEuHhw1sSNJtyFS~s zCPZBy2Z2zH=7xzJ;7+>wNfrkZu^VZ2iovs#M*|jiMz&)& zbyDv!Lv_INM({*W+cdrYGRc9n+FCsSp=S%^O)eSO>tx=Bx*AB5jd<|YWQaRr7Qy@1 zw#5`)_SqFI+l`UNxSA`xGQayi38V#OT(!)hii1?%L4r;XtDgE`@%}{}7_)?UUFmg2i zo)O0qYN*_T1PcMF21SQ~ue>)BH}h-YB&7DdtMT<$0Fjh?l&$Rg?7&ygOxRT1#l2;M zn63GV=G!Uq3b0iqzO%NzUBIStiVw$o^LRX4UCt?a}@CQ}&K+taVj5 zZ85iKeeDbg{sk49@aEeHC{?*WfeR=%W|CNZn{jJh77AJ)rkt*59*z#J`D>yim*4hM z!iYSjT*42r{!oQ;GO_OGgDzYCt1_pGPLFo%Hl0fA zC>S0%0iQfTx>(+>I778VzZd2bhBS;ADH<7yzLt0%`!mZ3#TU!E(EWq$7LhMSjd3ELbIFPf_8zs5RA zc-Pd_#GN~*fW1>uEK&l_jS~BvFBo>b<$1$XwWx8@uyvXfEk$do^aZ`$h?%fKz8Jm* zxzb>wmmMd(+4g;r$eZc%{rz4M&L5P$+9D)7TuwKWe}(v z%;9(Co}C)YCHd>1H}xQ`cZ6W-!Bh%ZGxFeH&hYdJ`A~C0^GB`DVoa>p^5A@LM$U*~ z)>KDC(Y=;WpBMy62Df87DBb|eHB2!OX=iUQljbwW;Z>kETX55m%eM3uA~W==rv^^X zTheD%%Ka7mT!LBMwJl6=-G>j+$HdXxfNAxZbwAAK3*)$?WAekW5IJB?GEbHmGAA2I zdKPkThiT;9HBA=pP3i5K1FX9FCgpZ~M!_9pj!w3}8#ukzR{Q!+vh^2(Qjrg3YW*CV z>tf~-`IG0vPGaLvPkLfvdRa=}#S&Xw8!%y{>Y6pDwjZkv&y!PL2)td04LSHT*TbTD z;LHNY;vwv4v7XVk{wh2*2m^JC5%^{o4^o&wbz5^?IEr ze-F&)J)K01TCr zdP`@Gmg0HWT=H@687RXUuXHKE!Dv$3NNZ64(^g)W{I)srcxrBLfWgHm3{x1$wH`8#iGF z)XK29E@$oYib|Bax@*#B;v#{pfYo79F`ZnwI+!x35`M7VU#Y0jydh)KDqB6`<|Q)R zBVhz}BB(OIQnhgRuJy?i(j3t3(dFVXV8)=>$W${f$K;olzs~ZR zVVghQoIF=|0WkK_s@>_*d|Lb7-Z%a227Q1&eS8;)3RXmJ$($~=&aCbq=C67RuL={> z0Ul-fv+2mmMkk5}O=}6n7%h>gXi&@+Ul0c|Y`o@2xHO^l z+Q3RO5xfT-Grs{E?!l1?nV`zZ^Ya8Ih$BHfc7nm1P!B{RRizWfqicPWf4e%&27nk7 z;m<)%XPy~#**hU3dUEaFrD*f{NK13!Yx7XD4wlGa@ zzxmQ*KmNb%e*7@JU?3Pe3qkP<(fNfgxe@|tj(E8)Q1=JxAE0QhD@36);;>KiIkPB} zGa_W@IWIlWSG?C`jT8rJEW+UV3qW~COp)?$APPu_bUc(pPpNaZ#&xwM(=&YXL#|(Y zw(}-UOjlF$iyh7?6a8V@XDPu7W00sp`(5z$N94|qJLWFct-l&~Z>IU-+!o#L=qE7l ziP-wH8Q=nuI1m~vDV9Vc1M|~iyf@E)4t*p>CNy@ zRqEC0)cPq#dy%J8j3^#*w0*bST&-6gsjsoM{Wv*lKRc{VZ(DO8LBKqtLmAMsKd(9d z0yE;+NN0O0<%Lm#FH7XnmOI2>);1xNU6-@ErM=Q@x^P^E$3 zTu`S*izJ@!0KxojmWmA!6k|KK_jb}X!8I&<716-mzL0=cKsq|$ z{a|UXO)cMLtk2n>H$=}@oIN%=tn-b;Q0*nt<1Q~XtuH`;Y)>(E_QMYVh`T`0jri9* z<^%lc>>B18@^a_u%n|8L?Y`Y_fe`-q=d$uZ-5aa05cb{5nm<0E)3P^Q3?om}=rrsn z_-(%toD6WcaVqTk0(0hR>SRc4?$w$Xbz(-k5-tiECbG%l-5bXz81QUlf*(@Os5!F{ zxEqzE?4H$Ur!ZwK*FIyvVtJQ35z2EP1Xe^QZsBs#t*rJpDzh6+Amcsm(GVAMW#KEL zBRIN22kp}Z4cjA%e+2)qwC(@`85Oo!F7HSVN-KV@Lst?>vdW&%3Fz(5 z`-q!QDittUoTP0X>(g&9PDx~+qqzNP25SNjC3PqNESr}6-uq+Jn4tQBnE}l35a%wJNrZHN zz}!I#Q79L|hOs=1UxZv!UiD~uf}#P?v8KUr#QnGgniZMK1d<$8=Y<*RreQn?<2RVZ zx56Lrv}vwFjIeT~^G-!9{9*V<<(UOTu67~E3i^L*_PMxIZQGC4@Jj$v=W4=Lz{u!= z(F54VYDLxo}Qlh!Z67RD@^7`?NJZzraKviqf>mGIzje{B(dQcImjs@v=Vz67X+dW@HS3MUsLn#1-FP9pOLDa3rw zRh8+`&a zk;ksIqI1ZC0!}SDKn7M5x4L}Yll z|L#-(Wf$0a0R&9p-pxOMga1El45B&g{o0c6KldpQYEtRPhT3uW%h=+MhnpmBee{^) z%eO@f zdwu3$O6NE-C?o)Wi%!~nZ#mF*8%;{Nfm{2k_yO$K6FyV{mUC*vS}5FnMV%0`&RX!- zK3D&|Af(;3fC(b+M5ID^K0)tuVyj~se0*CBCt&jg-;bcnxinR2hwrg?4J-$lU*D7X zc|s$F6~f~1Mb`Xo?2&CA`36aQ+LrIbvSI)z^n3AjnI5?wuv5_pN{9v4G{JAY9Hw{S zJ)?NusQOuH0_2A*n@A^Ko&@hf@)=vzzM!BmIpy1(`>KWzE0sU} zfQrX+Exjxv96>~zBMp!qFz$qkoIfg&2MUBEYgZaz<;w3k3hMxV82}k-CSrdY&e^fs zFmw24o*M{))wj2wthde#jqU)g5@QT7;~XC!S83Z^P-xBOf$4{z9^Y);HtpCkwaP=f z!kKA#ALrA=^t+)h055Epj2Zo6+i|)ya?Gt4E~agrsl~XS67(Z)2%yr!nBPMTWQ>&Z zS?>&=mjbrBKYTtc|Kf9?UmX1`$ehJ9D;}LAL3<@;xbA7x=!)Kpj0nQ3b1nB3H6z)ct(N(Y2jMwWxnGQIEpSl=d?MTkn;%yy6Fa z(n^3lL21%~0|RVsP7x4(LF2tX9NV;@_z>jOtu=;I@T|cZnKXWB>;ap~F(4Qwo5V_klAwKGW;<_o=wxdvw7a&rPoBg%^}Kv#@-%E7`_ za6IRoZZHb0Swa{=pQF_VObI%jFVFGg_U&PNbt9$rPQRt6YB#f!TcIkeWwa^^dWAW~ zuOH_c6Q{f-fiDRd)|^-LA2y6u^2b>x0`D(}N|@TPU?K=_xMV`%^rrxxs)jL~U2?<_ zZl189_h3I15*w1mfVZ4Ak-O64JoXp(Av)(zC$RJ{kAVW-&mNi~Q^`BdJ6vGDROF}inW*sXiM7nk zfW)O)r zd9QuVkO8tX2cs;o_rdBXz{OouFTAa(kC| zr>EbM1Z3W2+^jH$H%(kHiG}oUi-0=8FleuDL4_P6h~XMsOAqnBQ;>XA=wqH`j%l1P z1FUt`rGbiMH=z;Fpv5skW6fWYg#w+Lq!iy_12ehIOH?HIAjZGato)U@KuWBAI)~`N z(`S1n`>Us`FQQfj+5>hM*Mal@0r}k3IkA(?4encMN2YD?t-6`Fi)Y?Wr&?38s25CK zr)@X7*Dp!Fe{j6m5q!L>a)t1C zKV*d~Q`-;wJ@xl!X}!KbL7Ys*_GXju#7mF)8JJ=WZ!?vU`DkuPt2};)LE83apL>?e zbRgYdlQ7@>aUlM&Eaw&Se=ueT;Kr6Nl^hjrl?AAVjWL#e}7li9SRxc@K;-k7X~5DaU~t&cx((k^!-XIV{;g(n}p-RiGVs8JA$+8J?H zJLsl&{Mj;nJ&MS`S?(*6jB~asFZ)%%#Ic14qDh;S@|*tYfjZ&V_WZS{zy3%?Mj`Yf z{w+Q4{gS(uA{I8EG9WOtTHPM8+H<$#PfO5`L$qYSVMk5%)|if1)LPAh-y6C!ZQ%!Q zrv{hm&r6SON^x}$?hZ;l$;!@hmi)H%Ug)A=8bh>6y1&kO&@AaH_oT&ScGlgK!H$!g zm|vcrtJ_~i+_T@C+#{NsQ`0Rq1{Dj>U=jt*C(sm_Q({PphKr=%IWPKoIQN(T&@9rHT9#%=xg#3jZ?BKwet-Ym(DVckNvD0Atm4sWl4) zZSCN>i@=-l*~0dLS3rQddUY-HZuoQmuOClFw+{CLG3Ge|K?I9V+;s@bZ7$0;rxf<` zAx0oz?}0sA9nX!Z;f?*U3EbCfNZIE`!c4$?T(GtCn;}ZB8^W0Lo~@kEkW(CvlcPjy zOla4fbs=Ets9lKfVNu+CEeH`5U~#)e%~V zycE>fX5u+sxZW4bncv)+wu)>XGp^G&A7~ezUvGmJig-%5Qh*CO-S5TQe~bAKWTo|w ze`Uy|iDkR=vE9dON(wy79s25zsH>4rl5~sN2;rcOAGhv<9s<7lRp@izk>}SFEB>h= zTodsoV18<=WFH7-4)1ThUD`jIXsNHATGQyN{4@sVTzQi>G)5g9tXJgb<_7#Gy_!)c z{|?qO6^4p+NyJe61;GVsF3E$Nt#ZkpU&!>7FUj1h(KZ|ChzJL0v+16 z{kVN7DdFl>6=3wWybLriJv|k`Fv9Gp{lQ|2umhwIW!oBPZXI&k72$ag@)+xp$QE5$ zx3WMsuX4UOKFk1CWCSV6k6{g6Aw9OUK#;Di&^{?9u3Zdry^sklT$R#9V_XtfNAXniV%)amhU>c+C_v5 z12w`0Xa2{;pIrV4+%6O@U)D%VOKqJ#@zPigd{fFp1%5hpt9cR|x!7=jGXWO@|@5XR!e1g`w@yX8sBj0LMM z282Z*O|r;6mim7fKxla<0bOw>MgIvw@67ZsjPwExlw69q1mOxZ5j!E6D2^OvNC1}> z=q#Dtk+F>y?@#K6o@0Hciuz3Lg+8QNo&^~}tgme-1o#UWx&11%gOZ zv0Rew-rhh$0qzLrMZMPc?#`7ACYBEs>3<753|6~!J{sz@D#8pxa>9u?NoMOpjg`HX zK4*=5-<~OoM%Qh1q_yrXI^j;D{WO^TU+Mepx8j@#8aW-rfK2pdH8hgF)Tyd(0Ej;2 zTt98YF7#-6tC!<_S$Uecklk|onIA%=**Nsu{Z5yh6@@Mq-p8&2SL=bvjveFQs$Z3M)V#|Y+Lfml)C4k;b^^+zocV@uA}dR|KvxIxMPK{NM!*z($g5)P$yIlmR5Ij-`K0;R)c|uz00qH=l95?1 zY)yM%*YWRzO2lT{exyA`IoZ+E@A!A_#j!p&y?n02X({%-BK>VaZpJk6>u?nGuDLXM z2QlOpaq|1?+@^1?K-hbsWg$*bga6cEJtjDhzwoGs4eF?sVY95h&rq}Jy7}gQ^h~K z)hhQSf97=3RNzVU;mZ&1oyJ8S9SJBGq*=4=3%;zI_L*)A>)l5D{H}kr z_uB5Xf7O-d^}osu4fy{AO@NbuAj7Borvv&Y2@l@xj@zAZpZ>TSq!;<`cjE2z`&yd_ z7jN9JNGM_KU&SeHrX_r>oLWA!!AlrDAc6!~`7DiJlKx)2D*9aWk1jeGs)g`EG>Mpq3vcS}xOS%?xfBd4A@+c+ov4N# zn^ECMvww)&!}}6F$9=(%*}9p>1G;pz1&dGmU;LAK@jddZV73v^i!R)c`uh$LYNiSX%f4nDXJ@DHw@4Tb)GlNj;bb*k_L@Ma-}RXp z#aRPwox56+gwiy4RqH}0svVTGSV3a+y7Y$M1ieyOSx z?yo@)(Q=eurDMvOwej`%{cMXkcy)EXJj?UOvE`kx2$Z{miOApIyX@k%`4@)#dZ4fz z?0tq|3nvs=_0ztGiyPF+NGPE^#6?_msQzT@kwsR{QwtH_p1e0c)!$vcT;R=-2mRsN zANX%`>iE_Q!K&FUzoDnF>SJR7-v4gki}kgRrJX|=(%4t8H{UlrFyl7f8?On?N<(k>G&=(zp?! z^t#>yAo;)=XJ~#m9}t(FIid-rjacv<5Fk#P-Gy+1+?E#2HDh_{*C#*+^Pr=J+I0AP znbhWbOD4lt(gWzm+_qN8E0>qAq3~5#Ia^H_W5`yy<$xN2?4C84{8sio@45kFsHw1pJ8m2I0F)h*MJH(j^OeM(rq zDk|K+!)3tN%Naf5rddcJYUDg!8>Cq9A;Px)j_Cwd*Iz3go+n~Lk5|?w+xI4Di;I1m zU8DqVquiqcEc*aLSoHk8j=*uPpinh0Dh`)Bo@tKZaM=k5NTl}xoLQ^yHW?^dA&M+q zOxSFP12isMi0U=d!-|NHBD`;?4~Fa6t?aYC+g>Jyos`}g_IVu-xq2o+=i4{eAlkpB znW&e5-m9ZSEZ%|l@yC5I9+>%{ffO3uJHfB!VQN zAg<>Ns{g|p5L`;}rCHHyt@%6(d}-Px=Nq9{&~4(?!faq{|1V>ul+;owf&{)V7~v{v zI%WfIX?oSw9HgBmL}6&e^UiR?FYG<2^L2ni$*XSyxo*>_W+`U0t~Zs4{xUP1_3M|t zPRtCAD265Y<5C`Qw{6F&ud>h+xP*v@lGbhtLxA)@_#>`0F;V|F_h8Z&M0m9eUB|4@ zZVxxN*5i89z|w^`=|ELC2D<`m;x@PGw1~syih?c0!mAE{m%82o`$2KSOyp`Wh?)P* z&5rHGyMS=RZm9nEJMPFG;E`C}sIB>3Y^T-g*_GJE1B6o2E@js>;iv)Oz5lH+@~V|I z!MR|=25~g;?ZHe~aB+x;#5xJODqt^Q|gtMZdYW%*R_azgYxpZmS z#eprc_R~7-o9QRz^VOf|abyN3PMD2(0Oavhj>Ld9g+KZ>?l|`Xcj*TbtHct&lNTo- z!fHXG6Jai#iv62hisDL8hs3817M`mGS2&)Qzv9S$8(<*Zd;D^wM@xVewjb_&;|@oa zzsQFiUI0t~5GL`GBfizQI3foL@J66o9E}*TA$a7c3jy3s6bDBKFe5=RBRC*H%t~`O zQ$W?D12IjA!LX()Oq>`JGpT-70v{&2z$xDR7i3v0B;Es(8Fo@+dv|l-mZLt`z?+ii zlU7!OUbT&9OfjvQjZ+T1X;+<`l%zj%AIm0L%{nA0J+zN`?!*alO(`d0Y2q*OqvA<$ zX~;WxQn%Fof;&hIA5^Z)jLY&2OyZ-VIF&c05e!1|!W3VU(X9@VkhO~77H%+en6BfMM< z0ieOQEx1i!Ad7PX62Y|{^>pf|hD&YgBy zC$3KT%~8S`v8b&`GR~t(X!?gcAIp?{ohItfpI=LB#s9_u-0>azvvgy=tcl4<6lr8Y zrOilAZ_Qs+H&V9j&HmD+o7&rx&*K~6^x{b&vWZ&A`hq~mW=+)5(CN+*X_FYdj;Xj) zO+1SX!8Bw3PN+mVIe8{Su*xhbcH1(j2eVRREG?RfvLcBygAF`m#Eh--WX7rn3NTRy za^qN&4?Lla#qkhcbmcq*Db6^NSM0hfUIYsPRM&6nI6yfc>h9m3E|tYMo(=__iilsn z@wd;ULc~0U<+#C?<~I{$7ku*dMdYpmS^V0(b5u~2kB{Df+Kg}14oNJtbaeGaNBeQG zwR-?CG%PGUFK3RGO7VE-Tj0#AqNw<3XlUd2ZxNB-4}1!(aky^i&5AqH(mj=7p$H*P z!7eUXn9jGckwi=x`5*V`en-??ZiP_h)*k6hI!E@%hnBsq?$ObIjK)hBU$oh>$EN8Y zF45L>YD@=!Z$sDSX3U6(gTv)Kv)n+J+UKj+Ic+s)f({UVhda^iZEi6ob z{Eo-zx(O+>8-ye@Ucz3hV#YIL*x^k%vUohTCB4e5<#xPk)#y{T9uX(bySzL$Nu}5- zDdtJ6HHimBoVCi5K39)@U~NPTy+_$u>Gx=}CEXt`MP%;NZMVH2~(E zmPQLT&Jy>AL_-;4A&j>bGNh}nSdo6bgc#uQ6Iucp%U`zNj%O}xT5$_5h`;>e7QQxM z7a4rCxR8=5QDnf}en5F}yv%)4JK=S1<+rG)<8=_o0V-6LBt^m7l5kJ{MT;XuQyPiS z>B25>d=Y&}?|1IIa$he7OKZFRxY^nn70uqVrgG~4I?haqrfz5P!$M5axd%^qm_Z=> zT82Eey!%yD4aNAn)kjv>lp(P=G)OTVn;+TDYYY}Vi-%Yh3421zJ8|}B{cO6(i`_z3 zL{Q){oHYl$Yf9+%;Xv{L^Vk_~vBwTyywnrk!Cd$xEq`gnmQ1d4CB)rtt0Dw%E@X4i zT4f3|7Zz+^XG@u+_l#-!Xyg^Gij&moZ)9JN@_|@mF<5Df2Ul?kb2V42tm@I*kLF$XhMknIY(VEZ9CRgaA@@H z$59DW>1>pzeJ8;u2C^O)HfEw$2y_F=^r1I<#uVpShE~Vbj3A&TV+TLq=c8Uy?r%C8 zu5w;uCH?X;DytqGq)y(wH&fW-OD}8K5AJo@q29IAef??=SiGeDh&tWb0ShgJaW#cT z)}1W6+Uj()KMD+O>^S;c>t`cpOrN;B-vq$H-t_tTq`aDX2y2|Esqut#0lY;yl7_}* zg@u*TQ8c}Adv?9>Lrc>YOpS&2Wua-Gt7sGOX1K~gJp$+?Kn*~K5N6+k%Vt807TbtPoFsq9*jhMqSf}3Xn zHsW+`#RyG@5AyYxFw2{vS;7oCyVmDYbJ*5A{ zNe#&b*i0%sq9tA|?9p>dryHvU2>OB@!1%gvwRa_Fdcm8BTl1Fe>)N$g<=#zZ*fqBM z#M{^5v7IyQqI}L_r8kn-C9t!TrnSV1%*JwiWakKK4a*!&0qqAD^`4fU7Dp)Je6a}x0Yq< z3-X$M%sia1sW^XCP$|h#t?;wQIGUV(LC^?vZop;kO^hnMs4Vh!DZyL+$32{_$)mcI zaUss$P3Jtp+x23I&scQ(O^e>bj-vj8h9dB=DY<*bQ2Kq7Dpz! zd2?W7ff@@v#GzKBQ^-m6dFniTMFL+NkCO*Kqgr^DP#JHb&omspFa}$d0LB;`68<3( zLJ%*yp&Tzes%Z$){5*nHMHY*f@qF$?lU+M}ivBZ%vN%W)(dk4EHnuK;>JSt08rZMK zk90?_98p|mVy1K@NeeWF5GKprO%Jhc!47P9<4VfvCnN~)cX;0GCO`rLldYj_lVus8Oo?ZsCxn#Q z4Itg0K$WmpISju+zacV}LrRT+SH~||TwaU7Gc=Aek%IuKf|c7nU=XW=qSRG>H>FHI z2t&~V-W~-s5$onncU=j*eRG_AU%oux<22le^B%Kh0R+tslLsTNUBKNztM^$ zMWuB0Et?rXvTXTS-}pdwCS-s8$F9w!r7)^XxHw||@2}=>s}f-1L<-8ur!L}AFsRmN z!jmuyq-Ta4V(7rT0)&UyE2*$^L~k6#tZu%&_A|%8nTWn{XOKl*gPl>%h+hT+VYHvu z+(U3nd`$kwre`56=?eF)p;B4zBQMxMhs5~4x)*>G^fVC#{9nn!lTq7Z$D{|5M|Usl zA0zO4ipWoB5AO`qf*y0c$hIb7EO> zPg~X#io+GjRi8c3!bo>A_N+qYi_^6Zb59NNVayV}&uojx!$ASz#48zwCuH5u#)4pA zm^zyKkV(m$G%{K}NL-L-{TMS3^m z677F#`j}OpHbm_eHW>06FQ7=&<6u|d8?m}eFAiHLXWLe0DzwuBZ{13%AKMIe@+R5V zY4F0H+e z@=*6s&mS}4t%x_hCnqJzi8OnNdFUYCiDy77N(ec!+1L4hGX7+I!Q4Tqgey>lDf)Jj zff+jq%cq7;R=fg+fr)$}S*B#Llc8ljNKCZob4{jcw(?-lG^&mD`Cz@Xrf8~+WEFn( zAa(WT*ss|?5c}W3Kim-fXhlV35mB)_=oT#bk-2P2jw?j@?kdR9X{~m8e7S%ZZ1${T zelxrwWF7!(s^_JmI33c|>^T_|dDv?gLNo+Zc#L*Kb#IKhXUSNNF8kw&s|qz4o1I;W zNF8VpP-fYliP+Hpw>cF)-#>8}JUsL5o1OK{(%zYkx2Fug2&U(%C@_Y-8*zgIQQ+Ws zMwgS5g^?mVu*zYnI_J}J2fD?dqH$n?hH=;VUSJyvbdzRmQ^F)@GRD0TjN&%8J%8`(r;rrFo&)c*8GTdM;UvHN*! zb+v|hUg`#ac2=21o6iH*PV~=Zdrd{-7{2drecJ>XRch0(7OrSxL|;!_=D`HeMD8cQ zoYV^0S#qG4os+2&Gvc3(t#MCJk?E6?W3S6(1gko|Vz6YY=1dpjXXnG-%8~ve$NMtd=wq`od z&g=Em;KcWl^>%Z4QQ&%OD{>2J>~N`ia&^-ltCYE=2*|fdd=ZB&becECv?%B%x9TwZ z7b)`U_P>=6gO}~X4tBF`2^FNEACX73L9x*h^W&2?3A@_U5-N{L&z`a~8puf!2`JKu zeImpPXQLbBvpN!Yq{F?TyT20lyUud#HKM1cRIbo%l=hG^PPviH#zl^eYZ_;4vZGnc$N|N~t9DaxS@UcKi>bW<2-l>~t4aveF zw6g2>H5MH4U=);AP~DJzwjhNC0&?Mu9+vQe&Eg(C$11DQa_5CPp3G~vD-cCF8x&0; z7gATvRxeR@-H55bUHGKf4HCuUvK~HXE1!zCjha1(d77>o#7jrV zXeu?vKrmHjv(>==a={YdScPnrv;-3AT^t;|KHYu;?lUgTH;3g5X+PasRXOdSj6B$n z+Sm`=->bXVic3OoCvVr()C6tJSj~J-lpmSv+x+VPK4v{7;hnQY^h>@GxFR)=UU#o0 zc)n`td#qiJ{+F-kZ^}%4DV_COyFl*_kTnFsNahTL&G5T&a`6vyJYhHE^?q}?Tbf8| zidJyYRrdWxZY2eJE;Q?W(Lt>5uyz1|L7mj?kzTRdI_0$uKni_m#s9$Dt7(xg(wkqN zD}X0SW%SszKRWo=LLO>6SftN{u702ww}&gbA@;fuO~KTnJSk(MUStX1sm8VB8D3Cj6I%wh`yZ={E1Dn zL*#G)eOtkJ9M^*J92$a64pQ^@K1dCfv3%YX>17L#;;(#)W&vRoP`VCK$m_RvBVr%&>Cy>KES2WxGS5oo?(CszxeYDQL#?BTXk#TXOK^2$wC;7PJTs2072xH8OMWGY?i!NN2U zGN+ZQ`q(l3`Z-P@2~#?2I-npiu(!{pjM&~mhOOI&O-inxtp7OH0c3!0wwLL4U%vgI zWjMP#v`<$Si-?+)J~e>cl4<>>gIaB|@PtF1t(sa}f$EG0H59@O%&`Zz!@UE>ad%#r zORM}`ZnltXB`jK%8X1C9yN96{Gp>6AA9e72CpQ$<7hFn~fC{(^-Kw~4ouJ0}oEHn` zdHkGMDw_o7%uqK3BkfaEErji($1O~i;ulB3XWgpQ7XO`Wj-=eRJs6#gT3F#2I^EMh zt^mk_6l}xe5@X``H^-ZCg$V*G_cVj%zAv_h?g~=*Jj?H{*w*P7cRwOc1OV#YF`+ z9f7+mWCgB(dH2}bc<7A_86&|65zdntvG8n1jl%0W@9)UO>$_ zDC~04b;9T8z)lFb6=)0IRmfB{NlWD_ir51%$%VK!y~67&gRJxdtyD-iG;DWe*FEoe zMC|xmsCV6j8|R_q;z5S*3S0o14922d-wyZK_awekHxhDUF(}_P`_nvImBlM=`jVc| z4+zqYo6Y1iyTKAUbgh>cmx*R*CJ@i_95^1BIy4tW`FJ+)0fW`-?h>qA%Hv~%N@Es5 zi}>p8$8xI)H}&Gs#oUIjKR*`~j?SD}v&hH(OfY;sX>DuOulX8M&JuKNfWB8}b`;m8 zo{LS8lNL1O>axstePB~uGszX$1Rxn~(s&63V~_+sWdfUs<#Vqp8+mHaVGyN`uCK)^ zCB*29?ywDib>0c;*i_1|NZa_1vn%MWe;UFL5hC=yh*%udKbnimm6G#A^dM*~(m9sH zb>rW5LlL3_ib1khAcNFz##y&2GT?;!bxK_>7S7D`fvr~ZnZPgspn;QdJtc3LYYoAU zgg=B+kP`BtMn$(E6X&P*Q=K3ZwTz2}zs$X~%wHq{Q=T$`gE6xifvq^jQ5TmvP5gN9 znE0v^1)d@$mxDn11E!${d@*n=$#=%4^a9%48lz!}mGI-Xj z>%OK2ENmGwj{N)geL4Y{nTVak<0$2H?M}u?-_aem!G5y(4nj=w-b0>VwObEtv^yF# zUr+&nz{&bv9d%+i-03M%yU#d%OI^SQ83#2I?Np97yHX9}&w9wz5);pABdJo0ob3I4 z<NEE0j)LJ9EflMWV@*?g#pSo_cSLNmG{ zmd;|NS!wo-!_=^)3crgsAQShG{G)0f<8mO<3&mwka zi#C4x346xTM%LdQF<;B>x@#MGAP_k>NZTB_y3rN{T>bkNM!S&}V`FH;!~_y1&xPu7 z{@m!=o^~5>gZ928G^86r3JR6omfEsOC<&!xl|Lb-t0h4mo$tjd1!G=J3i_eu-Loz@ zKqqQ0#R4O(f`TI3x4{^B!QM^v)ZAsmIL2- z3fF`br6wE~_NMi`Go)hqL%QJOHlfP8tHrlHk{tc#r;N$LTI{#Dxu2^NXER63Af=5N&M8B1#fT8)7{;a5jV>};Smv( zaW_x$Jr%dl`CJan^XX##soeKs`KNA_u*8&LD9l{Rj4$|5WZ5l5wm1M^9WMPE1Qg-q zNaN=w6E9tC>+uqOiHa#Mj#GMx@?=V3n2=y*V+C8|)j_cXNObb6`9nOfXPE}d`n(L= z^G^ZAZeA58-CDf_2ujY+RfWhE07nAHD4(J1PPlYH-uogt25sEMU}U9Sxq5Ns8kvg0 z^CH2~S+~25dGHL`CV8&op@ZC4-0_clcEjb=QCuH5r(ao1YBg8`K|s_E@vf$?f45)3dR@2mDxHKlovL&+6Vi+efmVm-4ZFYi-k^Z9jZo zqevJ&RvCb`vgsBUB;W`P^pAJb9z;I+qLU&te)UXiezwX?&M9zQ6^RmA;Ile1xa`hZvb9#&55%+2XX-)3mz(S03s0o z0W*|DkO5c%L{J^}V1~h%9lfAR#Db9wV@zeNBvXm1g`DSEB-Fu~^2`G@_S`htbbiil zSPThLAXn4F`a#l}tWV*KsAqObZV>q7CYoG{ofrn8toVo?<1cMpiY{Noh$r$G5qSHT zIITUNvp{)JXPJ=?$$THKDagfxh97oOMzC_^ON|B!eJ!^;q0s~uyqW=+6@*zi)Z0cx zL+(~XkXF&~4>>qI;F<)&Z{n#8%)F@SXjYfs*-H3fq_mX8dyp*kJ>iqKe>6|7E5u5! z#iCou`2CXN4c#GQkXmd!q?_! zAIulK8WVN$z1)HqH-C<~mR9etCgS7cl@u!`D)P4|fsFwqQe5zReQo!QE0D5a=`7lP zllrcEI03>Rve@F2b)lUu4>NUeYczt`Gjk{tu@|F~7bS9m=!ml+@2!xmbBRnt1NEO} zZ@|m({Kl*>XTsTpI9YHb1|?(vFm_4~gp0QA$pFo+?VO+~XO z@e@)Gy_)O7FFC{ga^BhG0={73MXdNJ|LMTSznYeo1x*_3yOD)~?2dz!2agROK6<2H zNSL(9+W6j{0uxXCh%C!c=PZ?Fe}Fjt+_$_uGBV;f)c)t>jM&amguQngK!7aA_6N3} zZA_W}vX7u?H3q7QV$mzRLa3)&jkc6GL^&AbC71NPgT81=iUrC9<9utTStPjb*OseT zMEJ|7X7!HYN^=D=SP*DQ>R&1(2=5+F>%1-}*N=P)u!|f~UOqh`^BXNo{km?3-n>({OIjhgzCLOWr= z@q!|W{{fRSoZ029zJ0fx`OY~&o*z>#)08*~5Pg+;pIU$P2Q#a=iyoJk<6uzie9FiX%>XsbR-=sDt3OZ85Geh& zieom-te-;yY*8+zSw446;sqIMGKlXp#t@8gPiTg31n2R4}0?;r2Hy#dMM#U2Pq z9@F@}Xsi^v`(~lixv|PZ9{RlD=A_F_lI;LcZpbHBLEc(Wl$DeMbqXU-KLr%F1af>E zEoI=BG=fLgUyBXokHKI3I`4IKYGiblrwJwZyo}n3BLSPK;JONYo&&y?I%`t$@tQZ_ z7NVK$fEX&Ns%Qo`LBI1T3X3u38W{{DYJ*`(FISs;zI5(4s**;o$p`FCQ6o=(Z!HYu z0}jB=W`GHCjSLy;`15amdRl#`&aPE;rbtIi?*g;3l1fowKz0_t2!ZY8dz|R4jFHM; zZ|D;iLgQN}C+k4B)aI_dWZC`H%g|mMs5?Z8%Te!rdlO#a>BC%f?td3DweOa|Z(B;8 z6}mp=j(e|lOKYfwhVO4yY#x2;VOrLMHB|ono6Z4~&bG>0@J)BE`o$;|#~=>T=4WDR zRG%>TB(f5cqxSJ(M8r5p#FeM@sE4-BA$mnzH(SRaQEe%g^3Tc{?fV7S3Ga~~XYUGDGXXUoH%R?y1Kvit7qALF1wOCo+I91{(dS7iy#3I#N^n#S(g@>B zSSV<%I|KSSYR2@`_eM?}o5q9(g)jkSxLz`UyDAv^7t+-y6>!hu#br=q|HH}cBxLi= z&K&*R3vVGIUElmTj^|`)k3cWQEVNyZHE+gM@)6}P&YKs}t*!Hm=*RSqzsV@lvkxX6 z-*ga~Uu^D0&8JM>x^**9^nw15knrVxWBr|!k=4~z<03&P`OK}8k(1H>M_A`G6<2o; z_Eb&)m*s->O!&%&TdFf%&tKH4^IxwIFW4%D_`(>B{1jG)!k0}|{vS=}{?GLPzwtRX zry7YlRHhU;jkg>khdIQ^VX+uF4Phataz0MPsGO5S%#xV%$oZ5x6GF%-u}aS8^Y``n z;p-o8vztAikLTmMuKQ)xxI1+2YNp`jWR+06Cf{cPv1Iwgi)~;HDh4d0^+jDi!z=2? zW1AB}|I^VjtE297SAh&9-@|2#HVew_-&ugBgl`Bwaw21NzN3pmOkZxQkV-7crqK(3 zL=CfqeyD`HD_*&0_uDTa`4dX&EbZ#4BcKfKv3t+{12#PZf8_ZxJF@uVq*y9 z=;euX;yPMlEHF8$EmDk#5SLok;{H9t;5vY60P3^y$V+m#p}4 z0`X2{lO$C9&4ugz+4(P={AKZ!YAfArZ>)rRm@!gJ2h2~72XYn$a7K`N7zo~?4uVuM zgXWHU=ow|&8AZjn5WGKh7i7*29I{qgFwrgD(SUyNOzaSQA-YZvwo6^qaar;QW50;n zo6^5#yF&Bti9@h_i2+Rt6I9atn-={0HZG6f|L}kuPoZMS1eunBjAcIQ26%dIg_t%l zqY#y77#!Y-|Mq|F-h9}X?GTbnHk&mF%h{GdvmcKFbM;6tf-d%0E%|}2xfRPX3xnU^ z1_{K#p1r(is{l%PEQw@OO~C$C?7INzfWlz0!g_qyjKu+zoVrVg&@UBQgAi1MjW7&B z%Pq-m5QwE81{CNot>O z)y^=~!47U&AAgJU6kJ;ccr>1?#|I=5soUpHmO*MN&%=igflws_!n2S&rI+Mz=S@R; z4le7;Relnn&P0qsBW0?`fL1Hmc2JIOq9N9r`+Tm7^yc+&9$OF;tDVY+Ma+&P7qthV z4=|7Ymjbg*hD8~iI&S3Vf5ljizxo+rlrIQAojqM$i>O^1Sh#nt(XhrF^$Gv#*|UJh zcmFDnXVunA>a)GydYaQ zH)DrB{0gk39RB=?AfaLx#Hb%{kN?{X^i;7wpYhHkTe;c)Xl!N3d3$bt;q33)*{)w( zWXr1sA2|OLx2&VZ(qK0`M;0M8B|6Fh0Yqx_iYG?Cm zUx~^c!>|rLQAkb%(;;MXD|edZ#`-pa2bl%IzWS&W*dCFY(90^)Ksp(4rwRW(7hQkv zYyNqd&lO8;!#>s46qM@pZNZrp|Y!fs~ba{gIjEtyp(TQBLmKIfC+oq$FLSM zH8llLcYyT+K<55SrBXLG^om9kQL+f!C_e~vO-syutY{}7*u|wAGqtt{4C5`Q7He%| zO4&5Vwxj23qvB>_4)qhq$FvzO^&G*g2Gk^AtCs&-`BjakTG?c#Z~emjzTX*0cn(e# z^x9j^@~ZuJpi2Et-=ZY_@DmBuf%*LTb3;vN`l1zU5j%?i<6CYfp@{d!$Xj+Y4hg`b z0`!{t)Xj^;B?Z(SX}^G|^L^3!RU7F-vXat%bNj~q5er2Nup!t}uoLlmQH4g&$)!!w z=asS`ZmGB_2*j~@x7(d)}1d< zNyqYvDwX(~*);!g$tK`m48;{^e+gKZtSX_-^071e)=@U~8{y)p!PGH#8bzE2o zB2Y^}Y}R35gpqvE?TIK1`EesXNzOM4hmwENM{lbt2P!;ey16v zkWSEXNtDZwgqby~iJBpE0=N1*UtI-oq<%;9&Wd3zyLDNSktf6?;;WF|?t?AfSe5!f z8sOv?2ERIgo?$jF@9V9Uf)NMV7pNNXQA$V0Gvev0vPXf%q4&p|VXvP`-AiJ8FphAA z$b{)JRkVG1o9^_(9tE`&eaD)GOkzpWPZG=GuJ{T(a3JAd>=HVUTR3{swPUnn>Od&B z_pf8UO&kQx#p6`;hgDw2sf;v~VL*ii3+9)4M1|O7uEY;AN8)(}+hmLyoye5B-}~7T ztnU`#lChq3Cw}#!ezjH^IXKBaN?X^0#pEBslWn!&Gb%;gZf>@A=jE>ht4f|jL+Fe8 zz-T*YzJ(L{^zXya!s+a@NVWahL^(?bE)AciDnuCmG_*8DikBJW$#71My3N`m|TB!wz07C$7k4;(nHckDhX~^3O5I= zU^1@*TdNe;4$K3WZ&nWZb3nfdqy20glGGD=oTTPLnOti;8W8Yk7+QXII`45ZHZucU z5sfGvo^Qy}`S;___zPEltUh~Hm$eXB6q*APOLeKV2({SU`JpP-%=OwR- zz4tGYQQ+@bsU_(@ENR?2jgGM`%r`|LT?pq-Vj#j%#iO5+-{f`mE+Pv}TVqmtFM+?7 zjT6B(%|R}nB^F=GIp1o&{%LV1>y`+`c+6Sn4NW%M1V>1u2SpZZR63_+-Ib-fGK8v1 zCq$jD~G3%%E^J52WBXW0Fwj;bQ*)a> z3C8$-1?#OshgrN0JjK9lOYwj8*PAS7}JQzYL`B;rq02h-ql zB5J$!XiX`hvI>4St#**4Fzd%)zCNKavwpW`N{NYjOT-@rhdH57GqmXm6dqefnb!Yi z_|xoPuqceNw$ha)Lm21J)IjPnEE-TfvH06OlQ+v;aS|X1HcS@{UMlmVe4=C+en5b6 zDMS3izl=KpnmZ6f#Qn$CB1%p{L$MJXeQ}P!z++zYxX_Rw1mb~SD=u%kAW9hnkwm|k z`IX;2?8wZaKy>4se!b`_?7DhO^IK^z`%d@u` zS+V)$tROZ{?`f}E{@eVZkJWvj&2_o#gCMXH_I@C^RJ8=-#f6%{N8p=nOt36J?QrqmkzG`=RbAfN@_1DDd{3;<*>l| zt6tF20QsO6T@xr_Huhw+(xI-hJ_%q*dlzBc+}BjH4L@`e^DW5c4E+6Lv-@MS+j$@? zdw8|ZOO<%~d-@4sbjIyB!?XA%A-Zmq#76h=TnF@u?`2-%%|1;;m&Dl%7Wx*XBw=(6 zg#4cL<~s(zF0pq31lsL3Yu!7scS`Qts+kShGYVbLnIe;B_xop61lWhKHv_P<%0bmE zl4t!;x`7p=CDYQ7P-X?WE^3{wtJmpub^%eO?ps`(TR} znB|`82pDBEw*U=+^0#aji|6(a@d_evW_Z+q%78oZ?@mam!mMk*C>`5MEjga!O+jGb zE7#E;XT_coADp+huYaweHls!?FqW*Vh;_6bTNMP}$ubO{Wor|X+{_bI87%1Qt_V_j z3y1;-Ro>44239AFph8SRp^Pqgu`b&*%6OPR4A{Dg;iAy2Ey-~PJqAek@D4^}S4cH8 zBC-T={!dw!z*u&G$)6pVDuw|ME?8NOa%=L3)#)#uBDic zxq|741g;1c{iJWt?+)fB^0suf?18B+84!c2F-R_7iw5`GR4x$oFr;#b@$0j|>G`te zvMLblct7caK>Q2T;lJYXY+R07Xp>bDgnDJ|$;Aj>Uf#F}w%mNVG-+#2#PyMKvDie- zN4EDm$gCVljQ4>irG%uR!?1u!@qJxJW5ki-Lk?$ za;+h$jqeeKr5rsEE_G^iqZ6;cBiyu#vCw0(egFQGyepG5xK*ERE3RMuYjwJQj#WK9g2Tv zNlSQTc&8w%qeB}HlHSxIy5Iiny#^GRG*T!#`$O$2gX8Fj0QEaf-zD?9OGVXZXM(D# zYDud2`G`K4f5w2cgoq0ro%PiBfbI3xp$(HF3xFN>gIDcL=}iHtnd_4Jg*x~83pt1+z(J6^HV>7wf<9AeUvNLo#w%ihn0-O|IMBg@! z^`|dF!ft+mxxHrkig8%E$dV|7es|OQCIT)}SpnSt!V>vQC=6KC8=vTzD6I9D%^UGA(!lvQZE6I z;dh*;`hvM&=E(fT*A7Ys|6P|gm`MH{CIB9o{O@k#c#{Kq)qk(@NK@X_|%GjfGc*UDE)JH+Qw8 z!0=EoV;V$bd@F3IiN$e;TEaaI-v)uOvj z_tToSVov^zykZyx{C}|vejcG}AJGG)Qb{UDkI#;qm#2SN8b+g7q`dHQtr@f}*;kL! zP^?uF$r8n!SE9OD#fHHM^H+bfq~-!RX_XTVCS=8A6GHrJZsAz)!$~2h#-3Nf3sdK= z2H$yfy|#ROCg2?63+Yc){n^slzFH2@3V8K&R&8c#svRmfMQ$(<(s7@wsml`j0ClhBRQQwP5w_F|;{%$l!QUaz8KA7$>| z6*w;53?gjM#roNTTM)F&tO^SAJ`b}6+UDuB#AmO!K{*MWJSb;kcoamF?R_~!9mJ_u z!F3VsArE=6VgHiFYS~wLrJ8n-P2)nKi!Ko8u-`7IFt~{+(nw6HTn6wLT?kMW3L+c< z&IP(jTs%0+Qf0=y!%ZthA0aqF+8Ny_V?>xdM4j-a{DnRYz^Vl%bb^ymm$aJ_Eg!t7 zo#X%Q2oT!i90h?l3onzjzeTFJ8^?_b#@((OR1KIMJszd3t zs^k#3vdxFW>@w}{bAEK5L0Wt*a=oZQZ$1*3UJPl$1BQ0%pVI^cl^g!4iUfNHCTW$< zHx*wI#s-Yi41*6)LX7x1>LjM|6Jw_i@5qEe=`@Y$ENk{K>+6NJncA&`_UL+L%apI@ z(D&@1p9g&8oYIYvHPzK6B_+VzLaS|ByDbo(G?G-@)x0@c3P>TXPr>kzEwaL89oh(x zFUop$v_JPA#j;nj77ye}8w)=WzQE9_d;Sf<(ItExw$`9Q-Cq z{An@?uMY05NUp$x55ql*0meNR1W$+PuE(xw!#lvGyV7Hmqj#7QA1T(H;X+yv;)D;Y zOtHKral;|_glcsBB`{7q$X``a`R?@e45vuxXkKqG8+p4?`FTP@Lg;#pTG#MDSH+ph ziJ;?clgtia0YCZU$L}iTG#V{oIp1a2rG|oTk7GlY$p@6Dp9{Yb-aS%0;(iTJKmiKO zj%%_6PnT;fY%pxWy-<-hqG!rO@1 z=Ql_6YDTOi(in+TH6CWmlvdmIf%>)c($XIPR_MUlYJt^FO)irANoprXlWlS|gaEdD zcx+FToWf%z&H{5tV3U!o`pM&Lkf!}c>=Bd*W5y#4C^DErr$#h~W{hzLNkm!(25wW4 z&ij~gsY5m)zC7Lu7aUwU@lTPE4UmD{J#&o;&Gk{al9Qcvdy?EJpwRAW zCe|+4=?OS*W1=R!-b(Ox2c7oxpLFKjEymO7_^na<6%9XBYD3K^Ow;Z*d>zos?9o!N z@tWtu9Y0z{Eu{D<{PfIFb@*=Z;9gK#Efv!$LW^2E6yZ(3voPT$ms20|v>a+W9h)L7 zw9gx|^ls6f+5d{{-v{}decEMRv5wv31vZ1z&BzO%8Tq;JV7m8z&rR!Ky*%e3LA2c! z-oYFO@Wadr>r$Hk4B(baOf;c_t(Tt_rTjjqEZA}F@coTx?u5371owhVHW8O<-_Y~1 z#Sf#@i^|NP&{+2HRCRrr&{st;1Xs+Zj(pEl#tL;I--`S8JWG_7uFT&=S4_sSiDu_) zW)Y*JsV)->gQJp>dJMo0UY!lTO+U!S5Ggc>wcY7a)#r1gyz_t4|M)+xm#-_hw1L0y z^}O?sKfXY*aREq90GD;|f|`KQV-w1s=pDswmh0#)Ycju0X0F_f&GOEt(T%yy&0|4? zK|0&Vq|~6qUm15&(B}f?tA5Em+_L&&#lxD)mE42Dvv{Z9yA_Wtm|fYeH<6?_?)>9* z=W0JsQdLatPcBg=@)sRpTeyV5+s!9jgZJY8IIGrX^q)(bu&v1KSd^HL>$@Ix-y8K5 zb?c$aooqvnvTu&e-}4N#-|%T>hMi5W2mtq$9XfJucmWG~)Uk%v~NxZ&dc(XUoiQ-79Ra7d% zYgAt0C@lfoC6`r5DAH=IYj^g$FM?ZFDY)o!(!g7VOZu~@$INF>|7X_udX**x>3$k= zIg%=B?+KWqnra1rUcaq&W^~qW|7_G_^mOScv~Gsr{%Gn@x_NI)q0|j7Bxj=eU+8YUQRA)ZZ6w~lu0%N7#iN-i5G&R_c0v z5ggwT9Askd$@^syUR;RIJ9t7TVeP^Shw<<`vVTyNd;m)^7L?)AfxUqD{%5ju=@tK5 z@7CL4{Kj^2(SS$KH5Z1bF6A+BJgTgb)$D)F+1 zr(HAI$W_bly-*PIL3*Ko%0>*!)wB;Wk6u(v^yyam9*w%VtDYXaG>>beH~ohlvI``c z%3creUs>_VdL~ZsOQnrIQ_k)uyaChCa=8Cn5g@9}Hh*qVRJmjNwd(LBpr|(HKS#To zSz6`=slj&?XC;9~zfHIv&&Y;Z_G88o#g{LawJDRkyE`7iEBa>}MyK-Imt)J!gkD~Z zC=A!N zI!cN{0Sj^Kn2GKCspO?^2RtIoImoH1sohUf?ENWWR4F_kVd*UN;)`9MZ+dUBjJAbn zE9{GuW1@a*t;q|a2w?3FJ)HkHO4J(eOn&Vzc+vSCB?bcNd{D&nVT?tk zuS_1p$|50zw~KurWi0TKt_;FJV23!0Ay>H&GBOAd=~l_IjBu|Y;D5WJqYOo>s67>= zmtpLB9t8F@Nfus6hEF>CYnU-88vUm$sA~mc`9gp@6<=};Ck!{pC5penUc2n@CbdhK zKt_o~q;g$%6m!&ol9D32!nPz)PB>#Ee3MCzc(DC@9pwCgL;Q;{aRp$*mYYk( z3Gb*Vu%A4uyb&7#`=xA{kx!#NZlcvpk-JBA#pi4PO~gHJT6>WaCR-P}HMX_TUWRE; zsH`oQ5qNd4U7V^*=DMW)r?%uxhJ7)>-f(?O8|lvHdI4^8HGON%QC|HbEl*TTyCq#h zpAV+-8_3I|>mMaMW?m;KK`#=((wh@cDyqjWl0Mh*14$M=Sq{k4X@6^snxBkd(2nJ- zYjJ6(_KkcW(ZT}*alpHmeK*)EBxH9Ix3}6DP{XOsT{)Cd3r(D{U zC%k8?}sH2ayP zYD4!kdHd0txY6R8yW>Vb71@JW!+VYIcS4mPu3&HGnHJG`uQCb2H|LT_Vy0+#y;@!^;aRJ z7U-hq1--xixia!GfNSwDWosJtd+OJ!G|&D-z7p0^sE=QW+& zJT>v^Cf^2hCeH~URbro*((Lyiregz6mD9NK9Fvq2C zmoTeVaSZ07J9-!G%S|Uyo&UX-7&fIdU)$D&5O_AO>(MzbEPB0h(vxD>YT`BhWI{m| znYLrDeN*pWs*LN6E7}O-javBnk$?AS8eKH=r#kRt_i$-)fRfcH5IDZKSBIO9&mzaK z^sfdqPdY1Vgr&2wB!N6Rl2B48)j@|3VIWi3FJ@~o?TkexS__82`AsLEkJ5sSCurkM z#x=9gwF|k*Td_GUaE?z3!!r!Rm`)4_MSOyke%B~hymrh0&Kb)X4;Y++B*f@b?x zNVDa}-GK)Kae2DIg9rDT*V(QHZ*L?O82zO%hbzV>?NH(mRJtp+CwErjdPjPD7sjna z-Ei2I)|)xP_`|F#@G;-?wYs>2e?aB#b6SQx50;BDB-K%m%frLNCNt+6zPhHGCyoh( z79agMx+Pb{81mMUAgd5t_1eERo&wy;_yH-yt9OIGei}dfD}9<-pwAkvITTQHyH4e7 z%qVze+2+J6Te4{xm@>Xy}G?evT+%SclS6BXt>6aENTQT^o?-VYQ8~Fn1A^h=>u6 zi65dPGCIEiRWPfIlBk58`m7)&NABnyjLSd8?g(^X#-iv)1D=URpXx3}+mhDn5A)=Z z7N5&&k0uH(Ebr8zT;=%1NC7AA&9g=eQJND=RO;T@@u1Yep#1pwtlxsKiPP-y;dr)c z$aedMnX|RC&QR5C02&!OHf4Skt#)>~ttBYHEWc7m{hHI}fzV|eMcJ+W3TU?U!1=fd z$QC}?Gsri@e?1@J*+FvQdTg&1R_A$hi!Qy;W7=-^-3SsPd>D}6f zJi8PIzXfW4BJZecGR+?dYVuS1cjD_yXMhI!afRnKcUBBb$IYk%soqHQ)HGng>GM)G z!|)RWPFCZ`t)r0%)TG8`Am@2@98^}>2>7nnLUW9q96x{=<32l^;!I2>{SJm(!XRZu zLV3&(St>eQ9|U><#@aiN``=nzg0-|Ucb*#hPNHu5zQTQCdx5`ud&l<@j%_GjED~t!)+>SNxWQLGFpHU&2-N8y@|Rd+h(S>)a7vw;``|p+ZXA}_OU`5U9fZ| z2-d9_pb5l)2=r;NF1QBdORt~G6%285MW>Z5hVBDY11Mghg1~eUll(Z2GIg)FH(!b> z$&KAw_-|a4+%wFt36jOc6^q7Z!r95%AY1Tzc?^=s0phW9rF%V@in_%hNPW*MJ3Brm zii`TnV@DN?c{zl^F~M3OLbhe2P!K&w#h7yfr`%U{AVt>VYAZ?4LoZ$n$8a)=wL-pM zl6XL8IsN0Q7}?M6O}^T3(N!Lc8Mj^f!O-LVjg@x_gM$NOhbL%a0?Y?44C(*yAfhY2 zaT)QHxD7NJNazDVul}MTGwWpXvnjR)#et~g`td!L&PElrMgJ@N!0Jp0AYU-dLM8D& zcc05=0pN3{Mt6n52icdjGa)g>L;k4%9}!D1Cf|+#W35sFZxPCsoRTR(1eQkwhKBg$ z>}6@5!YD=8YA3x9=|s`He6N}}<2~e#8V%Ox_iugLw~&2zzl47WQ$I?$We44d+SiP3 zDmS{5P^AigcXUJuz!`^ksI%e`@u+$?nNi6*7&M4`Qq0hub2s>BKuM}SHdvB90)Q}D z179K>PCJz>XnD2aEcYtjj{EYJ%NMa*c@j}iQJRS;gYBrM$^cym*ysUcM#sj+#>x1a(anp_VTrQa z;=PV4Sq5Y}h233`AD?rJZ~1M^cdiK(-C2>s{#)pjAb+|sH4>BJ1xb#3PT z8ZWg0fZw!&0-()ZCZ}df(v7=AF}AH`Pv7Lm2JjtuR&Tb%q@kPqW3N%79~RNRu|IR7 zATe|yJJaHtLQOS}vJ@n{_bAOgUZw)7&w#}KM?#5liQT?2jIk@Gdu`IW7um8U7`^1r z43is6*3M1-K(Ju=dHn?tk{BPCw`mL<^ley3dVpJ5E}dEIsF0}G@C#BBq`J^STGREg zuKl}XyQ@K*(y45Srhu>|9Jkf08XIM-AL>{AK;nvvIb8) zxlJh_nP`}Htxbrmy3BEoU>uPkTv=Ue*{FJ+> z^TNb7d2V8J<~06fCEiP31gWUrtAaDV<(Tm+u8l>w|3}inHsA@S(JP%7DdsWFFyUYm zsm$bJd@ttbQp|}cDJ{hn8X6fbn^1VnN`W?4r5g8DWkT?AYjpTpN$F1D^gvRl5tQ_O z_yyWkn=!IQ7>{=OX6D9=_}p`9$=2t}72Y*zru;-ZKnr5eM%Sh#Af7MFY-}Ktt21Tx z72;g^bD=Hm>m4=-9BpY!U>d_P!a5l3wK!87erf+XxZ<6uGRO%tF+B$zV^*-sO@H?vn)lAAK?H3qwEZ9NkC{cqI~4ri&X9H`*&qt5$i^k{Dq*Lb?>M4p1>O22-) z_3u{J1>S|NdAKB!qYwoj)Z$5Nfark0x`_^3*I)V9n#wZpn>M)CTrv|sS=mwS1<(@n z_Fe(mgvUoy<1j|6b==XB(FJQTtRSge(^-T)Wz-rf!3%KF(PXo`(p{Bp=Ef}I-*!%0 z)0&U}L=GAn4M6atqFxOxo+rg!slEP^ti5t-ckdhy3CMdkFR@o2Q4g@nQ}wDo}sw43#M!N z69nRyJkG{EfFbE@b1C5L^dwMiqvLA*XT=o9KX*b3M$w7luTsX1*8Qe=4V{ zRQm=0A_d-`h)Pb3Yw-jo>d<9!P4q(|uk`tNnI>B3e(R9{4kty#tP97F*Y(HJK;&Xn z+=M~02>pAmL$VWb#QnA_1tXcqSbyFZ40G0Qp@)FL;hlnmk4_X5dehsX*gi*QC^(lw zb;dr7e`_X^W(-EJb@LR*Xi&|uTHUQZUJ)!e#2;qyp!PMiktSXxRaz~8SYI9Fevx(71N|qsF0JA`Sa!fYau; z1BNho;1d>i-B={EzacN*DooJed zKp5|n1s9h&xom5FoLW1EZnpqj4114)3k&^Gv0tw{X+$ko`RFt%*K6A8nJG zF;{G|439<3`{7~dMXnd1t_3JY;4obCj`5Ra%NT@@oII2Vl;$I@vr#^v>m^mP#?AEq>rRbP7L@|Ejx zwY}z&v9S%{2zA_jc+VC=h`qRfgqz-+B_e?Q?6%-~VsD~yvKVPt?lu)~rwc%}RoD>& z{wCaDSf^)xa)Sh2nMDSphO=bf7MFd2v6o_w!eMal_X)p->iV7DvtAF`wA!Yd@rJ`p za4*@*52$dMRZO15R>ij1;#Sl`T^70jk6(Vgn9>FD6rCbcSS~>r934ql_1=Js9aP41 z&F?l8fb&Y+PwIFw^tWn6E;!_=P>QPR-RbX>o5!{)*?vuH0U;E0R2erF;DN>JushWH($ZHTg84 z^g>#H?wlu@ijz{lKsfPa`I3c_(~A&B@J0OVA*7fdzzkcjU{|?dC#Y>=k=hJYf$tri zjbBCmP0-OquJ0@d_B;J&EmbL@rq;Y3+&tuLZ%~Di9%cm4Uu zF}Zj5aoc~tmMHM+CEDv$%hyOrpR=1Q@XVxc0Mo2qLuUVtkqvVkA2XeH7yrVYWF_|u zhx5dUEp%nl;#*$Ek&cGfKX@k!jAH}HKGnYAHBBV^NCU;xb!31@$3)9YxV)nvKX*nG6y{Bbl7aJbv}Zybx! zqLz)ZW+tgw?tzMehZ<$o)w{pDuZb+~OfM&Y^(z;QFPU7a9z%+md1;7ZztMrfuy^F8 zjt<8}(&)#;UvD24I#rlE^!m&0(T{JL*I9iAhb(l4{#cs$xtV8KB#T?<7JYiT)gKM6 z!B}Fp_P75z%gN&Ftie@oW&)S~Zb&?ASPwR`Oi5w#6=i~AdPN)S>Nc$geXYd&Ovy8K zl(V^!bD%IdYmK~uQ{2S-5Uh>yT4|*#V_ur0bXmqxij1vqA04>wQw1BHdJ(mw*9IgB z;x`A15Br?2;lE)t!7K4IuTr^~DGxK#CeQ9Na2&bd+gJFmmA%YObWEc)qPT;Vc zc|!Ox%ln1Dp438+shMa027^1H*Ya=G&N=>3R1IU)5cF$`F6(*lR&wf6j<9%~upY{V z-Jyj3`aG-53l{NY{{9am+I{O_XMQUjt^^b?JbG-hJ`y)?E1Se>+!>vEiPZA_(xhuxG9}8? zREs2k&0^~8TJDNNPC80h~ zeQ3LYmgbR_bL9dvt;tAX?9fG!Z2&il>5f9zacQ^DgJ4zl_5VTH^SP(pdFfwYf4O|e z($ez66_xLklU|Q#|NhB+iXzyOo_xhz9{`k+#>@*h5kJ`(>Osc{Z6)eYE zBb7m2^kTnUXDfyCi+%W@Kw{@@JCvA=qKcC6ws@9us%^}BrXrIkqwUdStRfO+Pj8nA zJ>j$pkL+pixtk_K?XBpN#lKz%NERwgmO&#~B);Ie`p|B=h1b<}Ej~(qW45r(9fD%s zGq!hm#@r6LE$Ee-&p9<-qa+vRe=pMHao{){2&zua{&;I0&%B^VnfNp&uw(uFY#^)A zQen06^zi1@yAT9WL}*bo+7xnf7{@D3CBD&ryL{(7cEf(-*AQ{9Y10h3?xXTdP(J&< zWc%#lZq3=!xlrG=(`le1f~|L=4C9*`sd+v1Mpo*Ax6;)_;SO#4)c-O*{26`v%>T_` zftEmy&^g3=#@Dyvc$=1W`gKyjgv=4B?b9dAaa#+1axX-l!zt>xh>Kw2&V2#&QdGkM z)v`h2@)AETec2h;hScI?3%Y475tOFRR`n~SlIKnpI=-&P-40fjsBMx^Qc^XX0r4N%a&;4A=knxZQb&-ZmLUNW26C zVo)JILJWlDWbnc$;*D*^r)3BtKbbjVwAhKP4R&#Zz!DbJ9as?1YsAIB7A??4|6B_5 zlA3okq!kZwC7@BUd2%}Sc-g-oHzr;bD*{Yp1ihzVII)7ALsTHqiYTGkA)-vbVrF+} zNiT6O0Q^@4keI})dJ-BD?Xx6#cZ`MegwTnvk{|sxbs@J zj)hE-B$qsreZq2}Y8eldNRb(Hwv~)vHg`**DSb7c-DAo1&#;X_3|3C2TF@1f@EUP` zV*W4?BfesE{31PwY@3IiE;6#88l^N&&Ws;v7MJtK6~6hdpy#-?>%rJ{(RLG zw^OvycEs;7id z=JP??*`L8NdHI_oO6s3S{xqMp-m7t+ww|53sO=uc)!@L5b+#IRlW1uhcDo40!`Q_y zN=if&r=~!F91*t96N=Eqk(23LO6ar2t$KRPZi2w`qgNqqX_KnhVhYBk=ldtYoPxK@ zfe;`K417luJZ1t&~~Zan7KF$=&9g2kZ~cpQX;2+$qs68Z(;4^r?houR!7{yz%IHH zBLcM`s_4jQM5F;rYY{DDwnr?HD&j&BKe11yw1W#I%>0rJcaC*dnvGUD@tckKe{dO zxy?aj=-!dd=QB*f)K8VQXUd)x>%q^<(@V)7ro`Xtzx{&U$f!b)TWTCBwPMscHBX|~ zYln1R^68^AE?2@^LMKvhc1LjB!hywh{rIP;^NjP@upga&d41C}Z(L>O;9C=2J^S13 zpSw^*I*wa>ZM3a}q2I37sa>9eOTy}tDR<;=Sbl*{1~h(%@9FK^Qi<()q5?eS@iJck z@ZY=mm6et2)`kWD>2&Yl#y2HG*SjN?pW7&@sdawySh$4s_bm<|{YHm3Eh_J5_*bkE z16Kz}jLyGAPX%F%%Uk%1^1o5-V>qc_5kwC73!!34L{T)AA6F$`w9Kf_V(s#VFxtW& zW<5NtIcwRUU4^ zAbaA=H!vo;YbuYZ8z@mnnWUIx)?dgGp>*nogZv==8%Pusqe*lfrMFD(2vU7_zW~K; zBJ$mQ4N!3Yt-3!%*s#j*S!W4ezM>Ku5VZaiP|A;gIs5p_H1ZEn7aZjEc(;V#(t1C~ zBt7Aj?i|_ZnA_a`_iz8#@&2#vU;Dr3=KlTjxs#LH5C&z=wee8MIB`Flj9*bMbzhm? z6d>b!hg1ewVH^YcbewF*EzcRw*%y-sdi>;bXoaBn<9~Lh8b4k9j9>H&2za_b*Ba?@ z`pqaOD~l=n`SQ}~Vu!ZHuWZ`+XolH6xEA5(*F9L(q%^O#Xqz4NTFosC5X=z_hY zthRMG&HH@VBTLKPk^HVLp>+j$`GG-07-(;G`e=K^XliB5Ugq2wBsP8FbJID9sDC)* zeDGC`?Z=_JG=*Jve8~EqT2QFBn>Wro4rcnHH{iBI@;Cn5pnns8CNLh7*3|aid1a5r zldGruXE3m-%GgJt4=L2$S%S zKe#-f$5t&`bQ_l3n1RouVzpm==+i_e&%Vp(_$UG|5kZF!E@Gp~J7( zhEu>$XBfS$Be&&UG3m8wA=xpY;dZQtK8z)w`vKaCkD6{=H~GS=8>W>&(}+n?=(Ko$@7+kA1I$7eRSJh1mA(`MPmxc%W0B~o z(y_;S@g^`pD9a*&^QbhMWe@p8Tpbx<#2gU4A~5cVa&A@Ya7dP9nbFilhf|*H*0|*MXL4u+%9)=5`Hdn>AoTTagaSv z_Zo#EvcOD4Vi!n>6|>70Sg?kUIMJ-}N>)y`Rc2P>$=FnX0PZmksM=F2V|Iz#intho z{-g~W>P=3NR~tSoF;|xMS1o$>8O5*hBwibG5kZls(rf8v6@71To2~ zQB-#X4TS`QfF;AuX8%QDEP)$&%Z)t@q?k|{G3Hu`ww7U^*Jnrv92N*Myg816)8Tw2 z1T02o`sN9Dq?+UCV2Y2ZI^rUi!cw`|-`_^^xqzLLP27N%M`!eNj}^C>hB1syZ*D|3 z_OdI>5R~;jTWeh2dl29w@2Nt$B=Tyrgmr*%B3V=l<$VFm{Q_!9`5B8N(v>mOGji@S z{PjoU#3)g~NLQ76o+MsJ8EWB=fRJ9>ex!sHI+XDgXNEDW;~v5uf`mXV&h>|{VF-*X zQ4UgPT?h-S`1AAEy5hV0^(zB@K1{{Aj5N<5?s7SILu9iEMA72$<+y`mAQIJB{d|SD z`Dl9fq!GyRm!b-PH27|L!MipyQDc_N@j66BYa!fJ{0*822t)_jZxYo8BsZ;+HI}xtXZn_k!`S6H&PPEZzSro`pU@lE38;;9~gHRDH?hp=85h zQ_c#1@3V(z6KW^Bdm+2jqEhyo*nj2M^@4TY7v&qsx7sl%Z_i;u5CV ziYm}k*iS{6)WwJbi;DC?gH-EB97UsFeFep|Jz?3H+G^_){0 zIM;s6nn%ZQ{~t}~{?GLP{_&BRcrztNaw?3-`7EMLR%kRDaz3Bsd=^77DTbWon8Tdr zki$qcArrDf4uuwT$ob6o_4(oZAGp2j^?E+9>v~-Gd+vJ2k$tpZVbdrhD0uZW!sOrV zLEh}iZ|<&du1$#iD^-nL`FcWiI9scX+wO=g3Zwa5*!ZMVh?f*=4+6aar6;|kso{+6 zv9Cm^r2x-Xyp%!c4Pu)Djf8MglwYQniVkRQ*%S@bH`yJqi3e#?N} zURa)_{-^?nj$B_U&N3OUC&nFQ9f3E+Ke4pxJUFE3>FJSRV4JM+ue|OGF&Q?El>!eD zO|rOA;lZ9dIi3_V2CKVEyF0{&Ii>_L8qFd_K(nob&q1F;+hh538T9jwWxr0pj`;a! zy7zdJvgVIE*N<=zygxdl2=+D(?hb;$8KBXEi6866J%m96MLw40v+K4o(l-I*(leZ6 ze%VVJ{d3Y-Yn;OwB`>gCo)4&d;Nx!ov_FxYapwIBRvzA-!K?;M0P^<9go`Wx0uXA0MEo|esb)BIIRtyt{vIxyP{&Z=Ed;|&4Zbb|W zurk)n%OotI*O*QnRK*=-vtDMeR;Dl7$#q0TI9H7q#q3paa6HxIgD~9atSyzqIRKQu z;9WbJ=W%yy5}x0wxDsMJ4|sPB@)gv_Xr0un>-$3{WK?=O>UIDftdLGA`*v}TN2Q~Z zeon(jTfcSie{7+SHx}?c?g#AuJ_cg&b({?bBPHgXL-Hn%u3N1obWgcgxp- z&jwBoe}vbG-Wq!v)MG;eeh|Tp`WrSBc)jHFK<>r6)y3dV$wgdX`}C00v;b>!P_vQY z%XA6=PR$4GJ!b@3!gu8*r?l&s_&eKic>L*pN~EF=^IMFZ4)hlmVhAnmtr|AL`mVx7 ztzY4nQ{AhYsxcXfc6|Gt0gTsJ$>z>hIEp%r@7vv8HOGg0*PfksZpvtwT2sMpYA}If zb19S2gGt8%CuvceU8mk>M^R^5$6H;8w64Q(CV>MaI690dRiW@0Q$3D~bKo$3u7V6P zzT7&>3zNri4}kTqZgEwigi0TpLwmw&r&srF-{G^!&Wc6rqK@`M0Aakz7;3>wO9qm z!;b-cG$hwxmR#Hvp(E+iPa@23_!R4V0k}$ zaL~^zQb$l6MeqtSe@v?y46Iu8^J=VzC*%e@;%o&!~0YpIThWj8h6^5Bz{-Q+3{B^#jUKYcu;O2T(d=ce!cPw zjEuB0zaB?my9Rk_CVX3-$abz(EFMgom-dKs`{T0gysyn{)VnA`A)U+{z$39mUbX)pS zcbgiY5C;6w_=bIBKuzR-K64Nike)2wLPh4V2;G^HBpw)z8ySV#Cx2pq>Au;=Qe7oV zu~+^h6FXqIN4fQa;Og^CP}LF~myRrHUgc?YiE%*hG(A_tQ%WdKt(Ze)wirYfx+{K3 z2WRdfVCn4ZFPC+)CUAPrptXDZY4bxiU+KaxdKf2Er=ilIf0|5IzShR$)cuhu9 zcU@G7uNt4f(|na7;fd(M_VMQ7sdk2A>&W|QjeU~$Yp<56Wl2+7<-38R=U04F%cl*$ z+v>^uu@OzXk%EjtmS2u-Dw1gA?4-&+NEDWC=ooSFpj2t-j}9>kDgO;H9n5-{IGu;r zFldGsFNXUbZwIU8NB#RHmJ<-_A_IvbV<5uMRUZ9522k2%u18Mz)KV?8p7dN5Z%6*uE zOz~ZKRbBEr^&;<~kkH*nrLPh%{yyR-G34SM2isymm+r#uFj!Er^%Q7D34~q}uultC zC6B%2C`%SE0cYF(bZ?12xr=ii?C&12{o&cvMx3G8yl*EG+uMolgq9W>_K8T2LEDS$ zp}f3lnU{A(l=>NkJgRjW+FdqedKn;~8kmo*H zV3|eI8yMSH?nnx+rvp}&Lb>mqz+sDfm?*0R^dr-ob7eoO0PXJZ?w00wq>hj0pYLP| zdaj;YZWW5^x!q4Jpr>Hl>ZXPoxW5fUN&LVK@gA9*qmqI@i&vH>WJg8ktQz#&rmf1y zd?_=nC!;+^>qq>~0KlG&on1L+{A5@Yg_v&L+B{nC8dhb(cAh4C-@|Ji?*nv?6t8Ko zAa#L={b#S;s=lYpzmsIqc|MYDlHn*W@)%Je@hf+l-&2Z<1#OB#EBtDy|0|rH^J^v?84BAOBvI?%FUqJJ6!7cm$=eg`Ld! z6J3I)pskTz_n+sG%gAViD}({_stDE~DINEN-?OC!Zp(M>eTO8>SsRE6){0uwUi2|~CMN>;d)Fc(R498Mj84j>$St4=h3^{oCaE{cUs56UM-ju$i zgO18dz#yOp$XpFlhgv#!@T++I8IYZ<0v=iXyGlSETQ|0Blc0eZ6wX8)%(Sly*Y$^v zV~Zopt1y;Q+{tjhcw4~aSL{?Cwne#5Y749yU*E;yfM?rI^V=m6zklErxqIzGk<3HH z_#5e2_R>d)DszG|B~<&iih#$uWpa6lcns`t!YHbKqJ;AoDzy$KncSaVi4||;n1nGz zGr#@G9wWngYXCc1RQX5*XKaiZ-r{*{eh>SwWok9B4T}`--Q5jrA4B80xih%|_@Iaq zEr2u5Q6$lr!PehrwN9B&%8b@$RPeLIcYkwGTJg%p#+GwWWS{*v=ez0pT}uJH-D_k@ zle>D*dZ$8`72pzL(raN;?hn<>Ii6{WTJHxW?fjZQrnFuei&ixmwGKaS8M~|l7TPTO zyBoHX+9yt-1I+*j4e-)<;v_^IH-8yBo(XUO71)~jrND_XcrvN?3 zD{aWn_rCL+o8g3+?Zdngo8ZVuiks4v$h@k@-!a_KXkK$V@ebH`R#RSIcYXItlxtq-jD)K8X<+CaXe_1d= zra2(tR)>t?BV7*0NY1|KhbR;mo$XIL2JOcF27m|g7_a$>x=$_j z;Od_ys5f%*1E6mG5A)vi9ZYa=+o@QoD!d*`d@gj+k1XyN%_kIDH8Rb68R6upSRg$* z4!{0lsMPu4=i|Z=sF5?7ZqfgBbx$B|j->d&XXWVLgw|P_mg-M+8wTZU->UDCkxwrk zM3#?yR_gaq^6c}iow}K%F;TsBy*t``i1E|=0r~h}S_el_>wxH{Kx6-Sa_5di7R(^4 z(zJMLDKK(p5RevKvBp>4HSG^q3R%yq9TH2DyNvwyxcU$FqKqp zN&Y17$zV8_V&^gW`^|E~qNuf~Ym55B$=+m9!CszgI9!oGh&-7RwPD*eMcmoE-xIn1 zdj-qkmOe2xwTN3l&tT`r#x5DY^9xjfHn!m}e6u42A60qtPyY~Uev?w5{C;Ua*!Prk zu+jXc=x{;J&AuS9Wf||JMw~rKcHK zXGO)sg8~D!Ic^Rh1phIfOi!;`NBpB>>2X)~Hma=&Y;GAS0?r;Ws@SSihvhKAA+N>^ zS14?tw(68GYV+SG7~46KxDmMN$9b!TBjMo}v8M784R;gmqJnO015{=E2lxFv*C$gV z_vg2^Hsm< z7O)jp1Z3g6amLB8?p*nW+|g|LM7L|5^|zs08VL_YZjjL^R7k!>F;5xPzPg+D%07qi z=ai2uX?^z&%XtfnO=bQy9^g0D1Y<+o@+0XItg7Cxcy)|0bwr+}zG$<$G3Pp5Y+} zb6ZEfZ4Siz6fr%$gq)!^m|W?iMb}2gXlScBvp5?Y8=yhmnzw&&4;rtW;#HP2G$xk9 zBcfb$^>Ia0DpV*@ADw{!(+kEGVq_3GNR3ur;NJA11yQbFQ{seU(*Dbbb3D%$t_4dP zP%Q*R1N)4 zZ^$Xf&s#H#p2QU`ubD+|qU61QEy|F<4#da(6VHh5ZMi+ds_3N*)b>ks-OZ+eKeko+-j(&mq7n z_hpJOD(*D;|8(jI@pi1x+z2|8iX+t3r#g>@;9tN}l{(K8nSg0$D-Z_*u@v|{9{347IVu>e`Ln@y#xv9DJ#*dQT8CUQ@%?W!}5xSfq`K8!7r=O2+a+&u7oY;`?R!cb& zyZ4M*S9WfmwGT<_aIVLL80m8sneNP_uHNwFCK)J;T9E^fhh#P)UNXN%03>SB6RTNt zRpVxipoc;}e}RHpp4r;;6(dm~bYOiw$06+fe>gBh1+L;9!V%+l0VLCnIq$m=_O|c6 ztf^^wC8jA`5GVj1Fx%+35Jr{*)O{f_aou&&m^acur$s`4OyPdxNdEdc9apP;+u-fd z!ReWQ3)|sxdCBn>){*l8*g^?{ut5;~L}l9nZF7wczPgGGYs&TV{;w2vI(YV5z)I`K z*(d49HuIY>`{G|dt>$ss7!H5)yk9ntOI@obN^tb=iz-1vv+Q)QOefWHs+EyYsCcEE zvhi+M9&9@o-XM`? z_N5%dWCb}A8fkt&__23os7^AeVStDFtnZwTSyD*L6wh|p*o21)U$5`>LjR?dEi>z| z#r+8roedyHUT}I)z^ZoZYrNo0g)&Gwh6ptQ+$>EmhUgo1{?*`>NZ&@}?Ezup-%!^l zXMs{tPszMUK1NLyv4MuqTkkop$dDhqdk&R-0Dn*wIZrD2vl!zS4GE0qdx$X2QPfev z3a?6jeDhE=ab}|E(Ky(mjLPcEOxz6Qnc}fz6+lH^BpB&6{iwy{V(@&#ti2G z`$dn+nh(E9($)j-R6rB8yi$}a9Ug5}KD{2q>-$A@c4EqJ4lu4~gveGzD+W-CW(em;pJzrvx&z?=!w1-uGzMYRI72Ypt02P@w9o!4a zcMQpZKbw87bFEbG#rW^3Ei)HaBVcl<(=?EXwskO)&Oav39;gX6y&2Be zia0&IvDXL!x%74?2t@e!)5@ACXu@O3A{a1^GZ#lJ`Kv7jwtGh&3<23xHRqfmC_0UL zWq7MtMS)_2k<}ro*?+53-(N{H^0w+4aSiIroR0(oDYqn)#$YzOucghlELyAwl7#PX zsdyn=y=Nnr04wyFJ=Tsvzo9eIGb-wAuE%;>V7sNcCEhr3aB!>PbBfnh(f>7sx*|{J ze#Po_ZKT)o2^1KLZ3PnK^9*jFFNlmv0>J)1V`9VY(>0@QQ?5bktA_0%p3X;WgDvG| z+=LAgdQQffr}YXHHTU~M4GKev^tsotwirGg1`Zas6_)k}B{*2ToLX1wK5vzWk01mu>@>inbdUKoA(-{qegyKZHwi(llh&Cwr7pDwek)- zS~RoDt4(7v%BK@uH7r1OnoIJ`Z!I-SZWetOORI;JUQ9P4ChV=>M|Peb5(OgHnR0fP z*Yc!AfRBwzTVP$E49|auJ&|40&!aZy1^8z)bHxUUG>i3)lRr-bHCuz*ls(dOT*BxX|DOf;{f(su$|sTJMl{rz zy-&%Rp3a*uH&V|#eVXq5UrWJEluzVSCpxCp-I>)XtM;9dc|E+9*k!YNmDDgUkg+)Isb3~E-_RNQfp!A~8R`=Hv{9^jbRysOR(beUze6QUIP zpHbB2wG?>~)U`xjBrWPt;EWsH?;h5UPF2j2a!`bSCc=XJtg(fKB@S3*3=Q_L)(;J} zHw(kal;L=tn*!b-Sss3`zERBVtnm+ZE0(hBxS&GCL1=s`f}Gsw*W4i}Q}g9X(?608 zB$v0jO`OO9SUI1qNAhKqF6387^KY0ZrwAruv%6&m1?p}T#xkrCJ>Cf`)u8}ZK7KG=1qVvgOvrmFPu7jGa4)G30kN9MqEjsyrZ^q znheg;j5KA#TBR8Zh2+eq%Ic&AWQ(DpByB?L=Z1@gz5no0{}SRxKF_QCt0}uQp#Sap z=#WI#gK|PYh0Ipwpjlv4ZsP9Asq0&e)|*KxdPk%)?f>M@o6_6#GM&c3|4ocgu&&OZ`BEg=x=K-vJr-H%O@U;JB%dO)Em;Q|kEr+*ocndKtILn6Tz3MX6| zvy%buxWhS6=lZ3AH`H@;dr^mD->q8Pvxj$^TfD5MjLee8?I_Pb#!f%cu~p5{7w0K= z6d7#Ti~vx7h9rBTIJvU%)iOs%Na&e!*M8U8P**9oB|Fc-LOb> zPGEU^d)QZ(Cb6_nu}ti|$$ylis6o)T>;jQ9tg%zd>>pqr4j=w?2YP=?cA6i{QLa%f zR>PA-(L>Jj$}_?E+4b3wgT=lSes6D2z-ySZezrojg+4-SgM!SZ#4%JR^y`qHdSF|f z>L$+lozRfr`N{pwjt67fU4Ar@CQNo&Ap*;<85(F`b+*$o%SA(VjaMttfJXMZm$!7< zknj_MpK6Gb_lPk)Gx--VyDxOjApXU-+&+R5H!3Alu66O~g=Alln#7x4OXM<3`@wEL zBx-Y)Iq6C=b+{nm?b+!47ST*@-)kS|B6qr_9gz2sr}I(ADc~|sEW{S)w|2x&#X?x; zDiJPtcQf}VJI>YkJqDXRzpgcAB{)z@zmsrYVUdU#0Sm!pgiBy@80253TzMY~l!c5$ z>?d77d18g$$iab(Vll7sYpUve^@JM-LPj**H`6Sw7BHZUJ5bz$VAR=@wLQj@?pUUj zD?@8`ovg6)QXW~;ZS~6SYAp@Fe-7WTkfa~3WzDWpaz)E(*|auBA^K8q9?}U)SJsV?JNh z|JCS^fFdU7V4I#hEUD|B|RSm>?7Fm*Wp*2%&=P_-mOUQ@^a z=KP}EhBirDeDUPhia#Oz_@C|PlM$DD(5ZzA|M;W)o}2%Um1iQSs4GkJeMb2jSw>DL zUfy46p6v1EVtt>ptZLN@43q~Q%g5Z5bBZL>#u1#K$h)8K>3^_wu5OCjXFuE0IwGv+ z0#m4|cGVmaU9_jC=VjE>$kUaf7OM?aCk6v)(ROvFDT}ajF)?$N;?j#THhc_`NWczE zLVi(Y0>yj{SDMcSnEPa^d^xIiD&MdMcadoIeJcbQX9wrrM=J8xn;tSn?Zx6pfZ*WS z2zzAk`gnWg&(9L`n!}s)La7d_)Nav!LUpRSx99qHTb{}VLvp@Zkw(}1)Q>mKa=cn% zKRmI@k0k)r<(onv`8`u8ploiOZ50$89;%u51tQu4ICp%5=eM_4+~gwmhWofd$H5^R+qS|C;^w1wbMCywK^b}0UzafCciKMc3>%p7zEYY&XIKPij zQJjovlrc$s9vg-Y(}qAuwDiN;=^(NSoCo+>4QRl{b)k}vnYbW<|30=x`x4`>&E;~4 z=-eho%T?mY12K@vrRIi48M06e0PCugC8+^Z5Rwc@Bjub5P+HsJFB{W=-m=QbkeAn> zi5y$E=>Dz-by+=H-ge8q>_`}Q!Wf8|Eb!5Rp~YZi%q>LT>(6gKZylbT4o7a9#C&aE z@7Ox&I%>C2_7bMyQq3|m&0iR4o&JEe5^l9cuFfs|hRPldc}EV38D6FZ-WwQa7%W

z<7jfAfJx*a#_BhpsZ5N0|Kxsk>AhK71x z%!ma}j*1*1#g^UULF0{ywtrm*DIY%avNLtTz_a)h+1X;xkdhP7)J!_cf;Q#;bb8w| z%^d`$%$+~zTa}O)A!x?0rA3zEOtSntk^Y{!Itgx(v=WYkw`Ki$`7ww)dzpWmGd)95 z+^}zTA}RWHFfLFZ`bUw@gR$fu9{nq?KT2zg#=Be&7$X5I-Xw!zzWOSsUb@<3A|+d$ z98SffPN&TaS12>SehK3)zuG4J1wx&z=Zqvio>tJJrrJBg!vo6XigoP^K;Q6d0k$BI z-|Yj?RP=cqt=ugzyYvb6{yjERZB+l9Dd85&NN zSHba5-I(E?25~hp>dy$eImtgWVg(qm`d89LN*?a3;! z#$4+AyZ{5^iuL&iz3|HtmaAV6Q{@2u?A=YcEU}23ns5f^Lcb6

i(C@9^t$BKz5!)jl|DF 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

7NQs$v+An+jE4664fPS{`gWX9j;M;h{R9#fEU` z`slNgR<;h&?sW40<)?olHUthX0-}8^4EdcE&6oB#sT0dHmiu`XMU#LG!6?fYwUv3k zj&WrT9$$5%m;G{nS`v6Zv9Sc#Z) z@_H#2Ru?0Rr@4empE;xmVgOBxkxH5UMZk)$2%rv;SX{TTus~duGWPo1YE^HHmA@JY zg%%cRoEhidMW*v`6WICsib&@>mrN!m?sqL+)=YSnYAwve=7>JF7!@s58S}?`t>sMQ z)BsY3zAg|58DP&Zfgc6d4T46~zH8^uu+iFk2BHk8Aiz>03q)5}H4cGZ5JFNQdKv)> z;%IU;c0pf$dT(TTs8;%(ehWvufCdSVk^A)1%dXbR8mB6HdDFS9fNR@_jo;nF)kbuHTO_RB5^=@7*A*h3M5T zFP8LDw*z(~4M&6QUoxfWPPlrX0(e<g}BdC2Y^I&V8smaq?Pa8GJU?o8Y1c!P7GFYB2-Z_HB z&ynK%ABrz1Hh)|CmPt8`hbwR}=z69{ zp9ZT5kFAkgg7&WvfxGg=fJ0=w+tr_O~opqB^LUbW#rd2geJ6==P?vDm^=qm%Li zhm_%s!rPa+Tb@N!qf?O@oG{~sXxdRnm>w7NE=R{pwJ%Y-R`%*|JYAZkFwDM%N42%@ zzg+@7^uO)0v~^~SzH5A29w-nKu^5_MY-U;Wjlv4<0+~Y560JnPZ8IFI@m4is3Sx*%hJsX6;MhzF5F#B4r}Ab9x^n{|+⋘z28;$<>_9qew#9Cz1!nF`F^sP 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 z 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%0A^km)Ii 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

YybFb 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%0D&ct(>q_;(1_{Q&+ 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

7b!cXMXvN$w;ILSkOq@A>PjA4yTQ#<(?r{(w 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 z zV2gut{-$#l+Gb`Ma&`;KBBip87d7U;O+pK7pkiYAN7!D9I>-?hrG4VGVupc{5sqTo zq8(s(CZS*O9<@f@^QoBZs%h?ro?%-da1@ne<7^jDI*hO#e2iKwMUEb*@=6! zY9}Wr2zcV^kLJd@_I8Vm_1#_J;*v=RA)yb%%UgmnKux|{-B#RSEb!yU5K_wS2&IT{YsHrYJ*fOQrbxBsTW5E~cC>>f|E zlBdgOeb1qKC?c_ko0y9A^z|aa(0{}QX=7-)L~-UsA|1}e1NlDaeC@Kod`gQE%8CSN z9B;Wa5D5F;VTbMw^E(yB)mT|JoacWBDmM;=^9ii(l35%GupVa|AHFq|hCU}VipzEL z(J(k2C4bsU2@ocYtIYTY4pul{Q;|jjuZUk?uh?sye)fwP#6dz&C&diZ^-V#W!<%6% zJa_KgF`AaVFYEhO{~WNA{#>O|8bi@XB0!`mLt;yZpN#(d?>_4;nF@@=*bLFjJ?_cr zrsgS;r^~$4Tl_@+q*&=>?&_*l>3mg5_BYK)ei%+WYm*@P7UE=qQGdr^HYNr#eV^DF{=y_(#9GnkIgn^L?9rJ-tg}QM7Xiso}PD;DH!AWufN~F zm$4C~B7XX+iC<~}d@g>kABKXe22!SIo?drp}!)~cX)}{;W9r{2o z5F#?G1Jn(IDMx@hT(nDiyzbUBYM1i$J9|1S{b{UBU-va>#x}YPIzFw{(Mo$1r~iPC z7W~aJTuVV*q1=0^O{R6L`^v+Oh7eRyak04j{@P!kOCdOp>X3 z{?83mA1fc~V1i_JREAHYDJvy#Nzhl~nGxCFke{;GY>x)f&ThO2WfpUy2=xhv1|bmq z3&|}|`cx0n3VXAtA)Ip~5_Y_a<$soy8=L+k=-24%YlY+A+0_Y#y?H@DS2gai@1w8X zuUbWJj@-jmq#GDmof9PVHiQ;;%#raRy@pi)EQ+i#;bkxz`40^&Aa68DflYIbs^|a1 zFjAhCZ)GV^QbxjX5YM_SWdPuLZ#xR^`K+)WQp-dIB(B#;=!qth!k+&+P&MR8V@65G z`+QfX;k+x+4boHN<%S};aHQdu5uz_4{-X^p&Ge5BgP6$3Uzf;w{E>cqrakB<*J0^q zHS)7qqpz<_c42X*d!lYcq0#H6ZLPnf=h297*#0Z2%nY}Zx~;4&KKQ?3-G}Qz#dvhF zk#=*{^KYft8of_~*>j8>B_nj2JAY=NKCPO+OdQJ#UXmcgKb3-?rg`zDPwD)9phcJA z0f!*pKvKIb|FWX^SM`5J&_@vI^)3R{+^TeJmvmw$LgGf{&)bi#^9^ho9(N=lW`R{U zri?gcue`xc%#gZbzA^IXLSe+0Xw(zXzB~354`^ofX|*q9MqK1&j@WG0{t84|K<}0Q-oRqrrA>{kEW%*X)N?La*pXQx&1GQEo??N(lMbrt?rL`(#^I*55JCWX!e{;i> z-rw)(xkW}})*Sd);1M4o=yW()H9C99&ekQK%OzlIai zeNdZKfIbE87bQVaOxGsBhK>r^obLHpGW4PN<~?CJW`}UgoR7FV=@>+>UL>|Gcj!4> zz0yt2f}i%)B5;6pY46RqWeRNsdB!|jVq**O092_?fuS2G3+p(phDS>wo4F4X<9dj3 zAh_nUx!q6At)V%8jhe@|e5E8MdwbParAyP4!F&($w)qPW@Ydh_ix)8SKLiufXxQas zA1aLRoiy#Z6)!@}be`zeV}_*3Z`(7!;H7Y`$0+^s9HwV{ooEE+5Y%0Hkc>tnB|t#U zp{@Y}t$RHs+9|uVt5`2XN2-8`$Rpoiu^lxj55{Mwz09MJs$w7B{~q23jdBZ-frMU6IXFN;W1|u;$89ZzjU)b!63D2Nh#e~FxWYHr z?09PNf=^_&2(kOB7m2w_*`Qf=seG7eVy{P!L08%E(+N^YaO47!Vj4A zc;*1#n%yJ8!F%~{Ajqo9s>*7&Z^JsL7p;Mgy09M`i*2TcC!rZ% zMFG3$rV}*_>h)ZoP2~LxnhdViP2G+7ZK7Y_*GgH-DifJ_KY6poev_(R|Mn0aw8^%ZPH39GT#AxJoLRhN2x$tY9fAUcLu)D0N=;-^jw=7;2)1}iu9~Af9DMK$7 zzs{4#9(`r02IzV#J^KT{2;NUFXY+5)v_;w()b*PuzdaWNzX&YWzkjcWm4&v&pn@*Q zLBA;Nr6(0^V9h&}KONCF?$R(&|)3A+I$VBTd6x?qH_Uw@u1J@549C zzy@F-@Qf~Zst-IJW*a^O&^d_SCl;TRhMwOAAqC1O{&eQxDD+!Cx)(OpiOa|xo{5C; z#iwE_?$nR^ueRf}RgkLR7$Mz_7gP)5}ttf`WcT^tthdRV5L!Cdupt z8ZYMetH5~p=GSEYYolKC;Is5i;E5JVBhsALeDkHl+kQlE@Vs^DrnL+ZhM1a2Uv#J5 zY>l+UvDPt>kg3&3`uymT{bpL#Vw6W32k56 zJ~7QbF|qye?q!6uQ-jH+o3Tvhh?@U%1tCQ9e+Fmp|*RFCv5$ z99<(1EubK(g2&(<6K~pbJtr-`dW8|}pJb#AxHGt|Wx)lED`VV{`dx2t?!P#Mr{r8W zd9b5$bF^BMkVsXJ5X3e5(|_WnR7HSbwrNKke>kalZD7{n=%~ zlFNLWk$PXl^wj)L!*>@*pA$A{LHb@+PTbw3ZfiQ=Qy|g2#djNm*4q6n%nd}tUoaw3 zd?ZX}9zgTKOKMn+q643lBhGctzDq=$z%1DgGQ?Cg{AG|$$RCOGSTPeD9uFB znDX@d$w)GqV_5}o_+F`XhMtRU-P4Q*JL*@%2VQfh-dSc7G=aGdIw=Zu;-=Z#dfPSM zzXR1p;P1|;`h??Lj4L*@ZNX)|c2>7+wMjT)^fUzYWnk`i_dm6=>B?y*G+~(wjHX z)3Gh%CI3}%i+?}P%JN!{I(iZkj*ZPjV|jj@22+1&t)H~UbMQU~Sx#5!=w=G60%3B3 zOK)L!13B?>M{AJY_NQ(7_*EDTr*7r&l#xTzIhJS?`KCsaiI`rH@R4=?*XIac!{%bD z+e93nzwa1j9|MO-=;3MD-euJ5XP3XaoQk=VbvJ9jbf)*mIyY98Q4%^eJ>9JCTLy0x zI}>zzM@mlErQdj5cdQSt(yuayp+}I>i$*i_`l*XzM$UqDue6Xe&Feos zdOy8=mm&(zH+gKk=nhZ2-7SHqeR3Uv*w_5V5lc=}8Wpc$;w@P$(l_uiwYvMHjCSy6K= zAlCA^rJsVuU z;3UpXOUwZO!VwMWSqUB((dFv&{r@b0y*zCcN9?0c2nm!no^MpyBl+M`y;Yqr3bZD6 z@4iMvPYO>%)Kgadh!klwNYBXz#Sl(z4}mMC);)8#3DVZg;>{9B&-Ic0DaII~o!)=f zYy>Dq7u-a$hn%S6&g3H?4krAJ+IV#JG(Ka9D?cY^6y@gbx;tMt%`w3-QB!GDe7BGM z(R1J97q;KsssW(3Y_8Ko7JRUkx9`=`b@t76tDo@Wgv2>$^&%njaaq$&MiSDg{6#N` z0g@bU_l+NiD9&EkC|6&G-_hXb!ZTpBD$}Px_vnfj$FaC`s zI1Lh4V?vR9a3u{ch8=}G@wnf&4=DexSN4K!uvSGXc!gUXUW?mAx^6(pso4vp`o?h|*E!-N7CrY8cwJu7jfhV)}7NKY9trv{*JBfRxed+?+ z+op|f!nZy3c++udjc!YyT+U|!yCncKm7B~BtRvJmCAzT48Np`Sx}u-tD@D7e4BMaH zm;dPJ=~>+1eKqX$!BC3)LOz+~^~ksQA)WTa>x*N%L9eT^uMQAW${;2q_74w4ZO8{p z#2C5dt-#j(>EuK&Alw)aSn?ynMvOA(VWy6A0v{2O@PNl4Ix)W4wI7kry z0MMULVOG!K?CXCWuL*M6$uNSLW@!F13GfN@lGQCTYIHo)Rl4&;{`_5be>YNk%coH) zW(7AR$(80=MfeD=ufeBp#M9#tYMnk`K{ya!IeB4o1Wn|9wE9od_zj3k0riQxbGeQ) z83zdjt(wkh$n5bj{+JlU&j*8$s8SJ;U^J7#Dr{1umR}wowWyY{yFdEbesj_YOuhi} z(*ASd%#hPuzg~?#uUQ|uM*!UF4c(s`>_1b3)^dun_i zj92I3cA54a%Sz(P*wezj%^mJ2)?oke;nRgHsK6!w{^Z?`7$5bO0Vgl@cOqm$INC#c z1(D$ZBPW*R5(SR^Zux?6I#gchZWd7T#y@Q#G`N`>6)`mMm2~R{M14P4sfna%m?o9y zeH?GzcF-|mapRbyhOW)s0Uq|aO*~z%i23<)cMbiB!s-5lxN3`5JC&9B-CP!JPC^8V zu1JCsInr>?rknfJcy~wQcdN9Q*lfANg=wVpG7709m~Ht!Jt>DC23Akg8&2_nsOc9( zMPT66;S9?B?;hx3w23}Vp)^xXgmDaJZ|CzFHewl&pdGv3<>Kvl=};0YbI4{IN@ z1NUciigqDUN!k?4V?0BLp#ZD|pgx1?`yUYu?*lx}Z{FoP1Em>8jG##D;jb4xxd{nK z;cSl%ndpqx|D5BEdeb0ndo&RrzdObM$6pf@>)hixvF&GXzbPpt)df4qO>+&9XJD*} zS~Gi)W|Bgg4Y_6O-0=2vYHEzYy8nzE#GOH^jG~78!jch!;a03q8&dnR#UJmf7aNS< zY`0%-QbyCT1+I0c=KuSbZ15V`@s3?TzDqjk9=cPJ6^ylSmKBvfSltV;P^aAx`{N^) zL5)i?15v-THJHy}26s@e7*LB7qODZEd`cE21rrrBJ%XqZ)3SDwNnHMS4^(J%qoh-+ z&+LFtCk3wSyf2{+CGl=hs~EUi%&l_BsIoTfZUnOYNY@zONz25NFUjH4ReZRQ0c zto)#Mu6#(T*u&i6yNYH_TlU_$psE(@LGwCsKxitPSk?AIzH?)XsNx_@;Q$ zJ&Tq1znLS;zZepsC<(jBzWIxP((eCfEtaM_SPjgVF-VqpzdhtMakZ(=+uMp^vDNRU zo0BKm_O7}HX2HCE(v7SGwjs(?j&uwT{V5)H)3`g?V1B*Al(D-MbUN14(?#|=Pg>tq zV)sY8lDHBL-6sPUu=>wl>u}A4voL^eVG!SgI~wfd-IV2{Oik3d{;W ze+;WxV2AYCqXf!b`-B*@vve4((DzxK8|Kh2Lc<_HLLe|9@D}IFOyb%cmbI^jupD1k zXif$bF3BJEui}a7gg8@^*khdW!1e&gn;vq#xlzM=HtJnAvnMccku=JF%q&JaHe_it zheylBq>0;3B3C!tvz9O#x}N^yu|^Sdj2Z|``%;I3`o$w&G==Df^N#lMdDu-}HIZG* zvMp&O6jJ@2#;eEr4dQt!&_^>TU>8nyRG(N>^n!$8v7`$3MJ9K2J1Z_cL>`b@CWp z`*8p(x+ELCG6M`0|B(Fbu+hjcma08-sT5zvTvY&z(d}ou^T7JTSBHR*vUO?U%s2rR z-h|a|Pga}B@6G)G0gL&1sxk2-DnxuG%V@saM5Rz3a#aYY4%IIU)emqZh$9Nb!CL*3@DXScxSf&C(PU**Wg&5U6fx@&CKLVRYAe?l;gJ3E5jXH8PqyJnOU> zX&qhsF?`{;gq5AI-#YlZmD<-?5O%s-n?K0dt4=)p!j&=xFbgF2Z-gi@Q6VW!!5sb4 zl*CNGu^}u1jy7M&6tcQW9OB8fAE>FJlDc!0LG>rRKlNehx+x~FNcgvA)wD?qJHgz7 zg^bk2Gg#K!%8(v{^>?kZY3Br;0IHz2++mX}s!y(3d|s?_xpR*7Mv_yTr@KOo1DM}w zdxtohriHZ4#<#8{%5#TAqYJt$Ho==GJ69K{AxA$ofX=&a8G5fZNZ-p*KPcqtIWBl=4rL(Y6o1YJqhNh%0nW9rk5Uq8c_jXzGMc~rt zaFz_+f_CVy=8doWX!4bzW#Z*XMZe|ILKop}f_b@_i{x8pXXjV1$XMsg-Q21xD@BCw zF9UZ|u$rVV1ShD4z;$z2K`|LzB-6~6@%5xy-%6&cwkbNOGV;8KKj-A-#TJ=3Lp0zZ zh~tp|3IruYM|G~n%2658M;$?Aufw;0c{rl9-<@^36c!fhX4fKiJ~v`PUF_i+@}EGx z!2+SiXLWR+vpV=By?m=YyV33O<0p3q@IXSvgG++sSiM+J5XD7iHR=SUtVLQcx1vH` zT_MiSDynxUoU1nB@$H99OSA9Y@@0=r>M^EomM&I!MnXN#rqW+m34hzG=Mze!1h9NF zHLK#{;*~}MaYgE_Pb-a1*`<>PN}8`i1ANpt{kMu~xNwboi*4AQfgympASAM63IHig z6LeWHYmM#K$C!%x`a18^j!4eFL@qND{mb%9^TqPL7Qg)~1chB`S;Zv(OKFPYQ2QiZ zJZ&e6qEbRlPo?q`4oZi@XFzT_zGH(}MZB0o@;g1n=~08U-;7aMe}F^Kmbkkhh*eC@ zgdPYangPLi62nmTVzVxi>v)9`GE}q*Ow=+(E>DB4YZyQd12G!B(!mt~YIu;AbaO4P#@z z3(3h|t=}beSS43{kg8-S}&7VrCuzX}1Jxk!hy$rJRJ+FuvN`5gd7Z5*MZ2Ye9eqJyOvbF9axK+%K$fpB8PpnHGoUMk;-Onj{NPp^##riTI*kiTS5{qW!LicwCD zJDf3M1eYoka3sRXPi7P81n1&-Bb}JNk6N`^y1G7fU$V%{$-*kwk8bZQH3PN!;y?+y z?0&!pefMWg|5O_19UJFPcLn|CbIbe5ONf@`f1ixEZR!tlzu{PGzEi46yuf}W5fQFu zIqN1|EhMG+8Kg<{E<6Rzp9f|n?`Xa-T0>O-Gbb`)J&MA5MwB)3GegGq?x$?}LvMRUtfH~t$~3mUeV)OV9RN2FH(t)31gfrJ~cqii9ho+*DO{053Sw{#>?CJjmX zPfet;2hW?Qwb#W&+AgeaL})8 z)2`h0ww1|!wt(wZ_M85ZFj9lv{_!%3v&;3t%!65%snaxwB$op|m(iyNA*WwjrT8mE|6tBm0+A)O+-e@p*O8Sr=KD-s3ekHW&2xRT zS33y;QNsA7Bf!>zX`qe!MGUt;rs*!UVy}kND>8^-w4OlV-#0?qLU{UZf{$YRGgo=9 z-zBRu72D1_2g$LqJL;U`vVoUJTm1?_m@A@QiQPN9OXiC|OfAy@O6V1@!u58eHvh|qQsX+PfEg6cW5V2F?{LkwVyBcf*QqwbWB zvyO+T;Q9(z;?YGqyV-Qg6fR$v(f2S-9rm1qg;lTF{2+&uLr(9GzZ;aradOf~N>vPT zYs5H1DB5bC;j6MonB=FO{pKJl5xi<&P7Qhq4pn`;ci<5@Tv2Ehgq3NA(RtUaOoKcn zahc|W<YDW~@iet2V1pPTD%9>!oW4Z`<6y8he>ppSjMMN90d9s3jh#WsN|> z3$YrvB3~I|Xo@uo3(Ey6ed+olcyh$ypXpGjasY)%966NQsWUND-xWZo9{C_v#=cAW zKM*Ymlp_NHE^vKXwJO{2hz}0A^={w&a#$*8L3lK9bm!UCuVVE|Nf|}`uS|gGsX2Fd zQeawsgq^Lzfg11wdCjt_zZ>6Cj+bB3_Ah!-n%3><^3MQrCxAg8stp&MPeC*HiEYYT z1^f6+sM!J7m65EPZcXr9r5!^QRGCU;?g=f9>2xP(o2lIaa2vWW_)9HnhH4cQ%|IUMDImiT(Ar&`|cF zxSX7f%>MFqWS#xU-x0Bk&HmrD@ncz^@(-dQ z;&t9T*li~F_FR;GX=&;GfTNl>ToW9x^A$rb|9Yl>d0k~*ma!UmZ~kPj>VvX%Lc){V zt*V%da%WO&}~W6G|T8wpe{wIL4nEcY0 zbRffWbikAq7y_+BX*lAJJ9nLc^E zv-6(e_m>r-j=P&KdwB{{8E!7qPGP5m7QH~QrFl>AzN`c7!L`WJYtqQ})AVYyX6%3b zXXh-{VJkgPbafs}Vwo$AY;G1?7mT(yl`dxK?MKX8z1Dk=oh{B+G9{AcCx7>Au$Q~- zfw>wb8*2%d2d!l3`vWGn61pqAiIL`EOP3MWmmBrY7)=&>TAsGOK2J?o6iiZPXrP3i z*d`N4I?ULU9Bb+wJaV#ND4FVT)>9pP7OixxpYotDk?lh2X2k*wx7*l&AtPb(o(IX= znIgVHt%kCX1%H>JkBumw>UKVAT-u@utZ=TlU}6G(Y;(PVb(8Yg-wYkgHREL)o0~AM zQ=|K9+C3}(eqHz6Iy1Wu`dm-gk{!;S_ml6t7!JEg+$>{cJaO6kV~M0K#2;unT3=pz zk1SYN>|ilbW{Yr%M9zXwHU@*hW`^W;TACJ}DmX#N#Cb?rK=5Gi`|`^gP9$k{pA&dbYgJW zX35WM@;t4Ypx}rQWi&gPU$_|btIhgmiI^!jVw<*-e*yWk(C+RMZ0&19um4sgt)amg zso8TE7t@pD{Q_9n5>RzQA<2j%h?e7dV(GXiK{E}-c>F0XNi4RHCLV zz?H5Cw(8TKo@Wbp6)^@)?DUWuSUOqlWtHW%`K+Vrjq;ZoMT`Y0K<{=mK`tYM8$hX> zsP(j3iUGtjKY3g^qymwUbCpUT(-Y?d<3nY~cYVe~-zSaO;C6qs8QiPX(bX|)4Ro~% zEuEYp(woNqW~?uQ?S7gMJKs?XIo+|4&A{V1AWr2b3^fnnP<(K{K&2l+N0mtm2Zp;6 z|B3&g&4*9xuwuDG=g*6uxn1EPb42=QuI;f|vmyHT0)colo+rKz$5WF+tYWEet&b!x zC2i4wgzoPJPx>jShTLOeThDQKH!kL#z-)TSOnc(f1OzHl4GhZDmK-F-w_M7`?;@EI z2%A{+K!cD>FfR_$i`&Ohl7{y};W!3RjyGVHQgk;eBM8!xpecmXwSa@9`D)v#&KtHaG42FY5m*JB>b$!e}8N}3fN-2$Zq$v^xVH5 zh*Y2qYDvr2vKOEIuopmf=l+ky_f^%E=Iwz!4V5&C|11Ln0(^bz&8xkKvxhc-CSmR8 z&;Hv}m1e@5(!+S|OsD!eGIlfJG>W~J3v8z}eCD*puCAWYwpA7k4wu{t?V^0joU71n z7Yp6mg%I1q%t6R<26`mmYYQSJ27~H(CDGz2p}r}QM=wQBid8B-Qhu7I3qheeavFg+ z3f}9E)!^pt1w6MkCagYW`cO-dLbUa}u27}eTTAuNybZ3?!Ssrs8naigZ$=7j75y%g zuuT`n1})6wN#yGfcVAi&AzWgd={;W}a3IHb^c{6QboH&b`V!6kuj!L8VTZ-+5G#PsPuY24PmMh+fIug}P`;;C`sEG+(s?<^v{_atqkT1pvc!$)jkWopv zi6ftl_O=53ID_?lp0@2MmCuBRMR&itMD`=HET5^vD;;hYQC&d+&6I5^cL2m?C~uXw z>h__EkkJ~rr&8Gz3HgIM;oOG+^i3VBsL4!XpUdflCNywB>%e~5UMH|zS?^y1hNq!WW}bOB%h6Jp9X2s zy-rBvEiXb$pz*Bj=9PY?Y<<2$E___+8(EP!lj z`=acm9*wQCGLgcMEGpGMKW#M0iMcg(R6vjkFcA)hWVVT+>N9c%)!egViI7oC(!<5* z!E~VYf4;2%d5UYfo^xj8y5gmfk@LO|E?ZKC z<^#~^r9HB%<&H=);0HUZyyQnHl~J z3Go>+_WBHVXvbdqf){B>{&M&iXm%I39!6jYstOVtzB?MeT$#Ibpk{khsOn952nr7o zY4LCfz8qU0w1QqQYbddj0BuD~t8SH^M@Y3EzwXetZ{POH8?pshvh%i$O1bZj8dp8r z@sVAnw}INg)}7s3u*>`7x^Q-1x%HawK8j4W{z3MAr5Sr?`Vc*oFaT%R_?D$3d-^k- z#<_mug(}%pV*^=as0i5pboX)kLE;_+CpA5dI+F)NG*Prp4RgopZ2A=8!VIsxgH8~= z>F7yJr5>+;UZ!rD%x0_kh_Aw6Ex^|B%7uYRBZ+KuoRd)a&yZdsJBe*_`!vj~*&SMW zGk3jvMXhKG{>S8@?>5LlZ){q%*zDpJe$alS#~U(4W!NfQuDdyXKKG^n+Z95_pFj(c z5X!R=wgM5#FAN8wQ8&xg?Z)4175acud%@h;DP41N*U!7>(!TwljElZnzizAN`dsc7 z!O_JuV>4g+*ram$z3=>LU8n;vi5#c;FD z>gryYN6nNIyR?_I>DQ$;-$Nj3r|~2QN)pMFCl4%wGmHWg_3N&@kPF3&Ev9_`gMMJ< zcT{7ar@LMoyBv0Ay!6;stSVmy`)3BQn^}Y$|CiTYyq^3~Dv6v2`m>P6A9`^cq6X!3 zExAECC-~7Pr=!~ySpuZ%(CRv3-^lblOl}0I?>5A&>vcfWkUTo1-*_ZaPn1rM?(yuf zNqcoa#!ojkN=Y^ja&m(8@7Ec%iYgkZF#DLgs=D^ud7=6*1O&=`uy)u`h*|<}m|-zO6--nJJcScb1u&!~0k-!KQYU|&zH@Uuo?GC_ z_g|SBqaN(U#1dv@dTm9G-?x`;CdbxsxX0h3jz{NS2ZshUfrCGF{)dKcB2~JckYVmTKAJMVZ93tm9$aP$yVAkVWfD zyw6u6uJrGENx1+KF>YXx4m{-sX4LStgqlUiMiDdr^NI5Du#;RR;01});t!1~7WR(a zms(nbo$rC9C5`&+YBNQ`{tY*`=j6Oq^gA&Vw($R0`}TogrpS-ao~xIsPlSYo@bY`- zlg@y7MILaGPq$yoYgLv|wI0%g>-~#n67a zWenWIXhQ!L`-Pn?e*OB6G|7_)_Fl>fq}u2G`?xn~ubl?|HZM1E^?_Ba70xQ2HX`tI zK=ur{_=Qw*9^^}5J0tu9?Wi85(7MM8P1+QOKVI~U=B;orN16k*^k$Zsy7O(=z~*5T zQZcSmw=q(5*v{K5Ca{=LQ}cc22&&CGXs2aX>Bdx>6)ee_!prIdAB7?-(_#@}F_j@- z?Lz%m!lY~1+Hma=mT;Uz1X2smr84uu>?0-6kki7a5y7*}Wk|p(;mO1xI<$LZ`6|0? zs18Tq@zjvX`}Ujq>Pco_rF6yMHD35pB#m&w6CIpBl;o;!Bqu8`uQhOWAd>9VJL-R_ z${#ax?~I(Sx@jBku*w+ay>a+7SFbxga`)Wq&og1XhMy)^R5?yDJ130dDPZW59KYvJT`0a7; zhxAOoKPi(AL zA1O4?iUk_;9YLt?=q&Gz7Ai8FSw#wMj;+zF+=hQ?zQ+x9rcOtLIB>C!TA&z6(VH33 zO^}ULx|adppl{R|In$PlF6!C63Y<#LfkDH%kK6(w>uG;Lp-J$^rrPlj`60jiT|~o< z=Mr2B5pr^Mg!)H9O&{%lCP)J&(DY@K)ot>$I{QgaLg%FfxmIro&K-u@2 zEw(tx#Hhyb$B#vmnPv@K$CDe2szq_l+CTE+awq3U>mmPLR7r}DFN`m&vQd%25UM=H z50sNRls#&i#TW=wu@i28^ReasX|A~8u;g?lYAE8GTab(|(D;te_my^93_F{fny}ob?$Q8P1hV#sJk4;UR=ff_QuJ$=;1mH#G*}JNlK)I1k`rk%YqfQsF;4W?v>F?Id0(i_Jg}C3fy+n#eO}< z)b8?(i^BlT|b!ud=rH*kL$~jL&`&eM)!8$)z^{blP-yO z2L%VeA|U8no}h3Dgo?<}%t`A$4q{CLnaGp9y8qjx|220EF@7`&{-K%(_2f^d^h4_S z^b(W|u(hM3M-@rqv|37^?0WBit5E#BV!aHL|OP0%A#01I;0w*I~+6WMHZhOg$f9q8hIXqc%$U; zZ{s&}s--nn_%7NC&CK=~PqC^7a=_f7uN8-abXFw9S$T#`zSV|8N%hV6GgGBcB44Bo zupe$hPVlapw5S`x>^Np zg*A?)9gG1L#C=Eyw+7uESv>)w2e2Yga((CX*$}~}GQ95IAx#&=SYN+Mj-f(;t!h@j4-J$f zzmr_RC_iN3e;#*zk7GRMy*3W}`nIp;wtctuG8}7P%^!D*5n`AA|5s&YrQh)fzvEx# zQPl<|fZFEjSGoBMxr=>3!eO192Q-)nW3RK4v%5YfwOXw%7s_yb&njbp{ zhj2pw32Lt5Gb10-v1G>mb*-*r%fI&jQF3M9t^IrD*j(NCN;v*L(Oy6QKYr$yFJG1! zH3Ojz0B#1@SJitD0oYLO4n2SYdKEyK&3`&Wk|X_cU!Z57;Dk7C>fAUvKRFXhmvswM z*_klDDlSR;)4RerHanF$@8L3+Ha4cP&|}SxlV#cM<;(ayw!y?GyzMsi06_-a?s>R3 zs7Jc>U}}@x{anc3ml2wrq5HZYG>_tWG!0caaf9>Ppiom;j#$jPno@Tn6NCBZTwvUw z#bk=24h~%MJhe&ZwQe>NLqxQQA_BgBZFGIa_-ya0uBqw#*gUHFaH<$6ZI2QXqBz9gIbodxsN9ccJ$S5j zi^pm=s%@HEd?wa+l32-h0NR%Zl+fM%D07vWMZ3EpD1GVIjqvd4vCVrufKq#qJabsI zczYZks2vAff4TT;rUd6LFVFs+Ivo`v8OlAyjrTq5*?{i-Yj`*{)H3WTu4)T){&&C3 zH%@Y1#SHurqo~5z&YoRq&L|ybXa^E%NTUNgnOZ)HFXciR$%`O@DnuEjhJ-`lHExp44sHGe>RF9q`zC~hoO z7@o(d&~iRR1QXQAer&m)DMX`_ltb;GnYDfXX&ci1-c;u3en>O<9vzz_D&X;wHb-j-w#5#-| zb2Y0V!SYmt54%A+p$t?y&}Yq;Z4cG(@3c)EM`-T^d4Fm2eTe);0rt~TZcdl+bV-$)(U!xk|^96z0aq?=hgz0oKSrJ;1_5D-BKEo`g z9xBkaG+QNKfCm(Ty}%ka7BV7pQbzzNEh^`EGal zBbS|-=4IDFT>_H$rOG^YSCJva8a z{JBSs2XF;m7+=O4Z@GB^bLntZN{@|3U%v&ftzXOUTcRCBZ?j?azu(e*saqrV1g^P) zLHv6<;p|Ti0FkeuAU`=X(Jw&aOGFCGy}P zaGGvDUQxBx-#vHZq3?rY2w#zc<4m21 zq%5(50DE`R`Eh-6l3UfISPGJ*TYL?KR1bH>Ue25#!&>)dx9`fjyuq59?z9D%_xGfv zxff5L>}zMdmTY==(Ov!Hh{I>?w;;8prKMtb@_=RWSYO4vcV=n|;u11Tbq>kpqUr)U zOQ%&?9RLRh#t1aFd_;@*ev62Prx1~DP9;N#vJ+7RU!;jt(e7~tlGvxTujo%0qk%q>@k0p8~=2MqhwHTCg>J+-mS|nYGTLhRgpQIYl6UylYw%A7S{KKe@m2 zxNU6|(2@H8D$$LP4t7ycuvkvZ%Tett@6HE`#uF8YNtT|2TjQ%~Dd>{-V8&k9+|}9D z`Fu)sNdb19C7(#V{Ofly5BD2~W3=1lKLuak-lSS6Pcbe%T#h}N_%g_qB!PzV42Vl10 zmvRsL$1K2sAO+fxmryPmCh`U$6M1I{{5m-qh=~$SmA?4ms?RYwL_+q7fl&O$fx*I= z0<0=oU9I=yN?eJC6!pFShdsQ!pQNTE6T&-in%W9o4~gYWToBH0?|I|faTS8$*%0$L z$sq);ehg3iAdwLTDMEIqC*0QH&&A1?i;g`S7wiXH=`%gMG;uNG`ndG;1KnSpTCuIq z4+Mp{GA~yhFUJArx>4Dr9Tn(uQtryiYB0UT{^jeQ7*qw`cb75a+{5p1`|`4JzTRo4 zJubt`#oRXhhE}PLO=Dx^##E&1+K((lp{v&O6uC_xy8Yl)>w4YRqao?N>eh4BY4@$> zqb5@Wz8C52thc57E?Yiuc z^;BBN^GKTWg>~cOU_QBv^#o(zB({Bz*3%b`vkgGvXasQmoo7A2+YT#n{7jL{q$!#B z3JsuAdHm%$!BEBbp%j`7pkTlXqD*^TSDuWA8;Ul;lVPCbfaOEanD=H#tm++*;I*i1 zadqt;XMub7FyxA%q*WveU#?qBl?ypnsMq;Zm0Z$Y`liSNn)~__px;_CYRl9KyFmt5 z1aI&`IYVQ>XnqMr;+D#dTuibvf9?Xx1fMmI*yhwA5DaM%s43BG|3JtM$Te^g_))m3 zwyUaCMEBI8MyXzM(yKc6ix3q&Cd*KO0LYeGE=nASGzO)2j?MjcNXEs4{?>n^R?h`2 zAfT_veP7;_aB=yw<3ljh zfmhBnN2m4hQ4reVjjb)CGC=JUOU}8MV;IVhjyBbcw5oUTSa9X}Xj*D-$6x4fQ>`Nc zLZaRopA|I6qVF-ZrFYrtNg=|Z*JG8F9+mv`nTu{ydfTK!hT;Zh96~GMjZ%+;VDT4#mD_s{{NH+&A39tJ@p34u&7l%+f;- zY0@o-3TlC5B%*}?BK)KY`n_5Z5uCrLWKAS9`E^%R{n=ZATM5YX&et->(vevLF>*-`WNXG{#Y2AC!J8U-ON2tw95T&KfN zg^--xQqJQ7C&&vR7WrM+KQM6BgBj$ndCy`C#+(IHpiF!*_DQK!Jn{C)DzSPsDOApT zhns3nD0LLAJ@;c83VweoqOw7x%wwrnpLBF5#xssPdtRi)A7ab15A;hhY6%sd)Ei5yW=TjOBV zdiW!V-hFBlkf${RZL+P$`2RN6+t_XI2(P8`=NxA{Q5g?j3Upx<5b;#HY=~FH2l0On z8i@AlFJACDH+h{sA^-724IW?$gYpB*Pij*Se4w5#Eg}0jtu{?O z%%3Seq0#+dYHMro`@W8Sqd;(Cdiw4K8E0n|px&Sb8XWHnquN*BSk5mqF{R6{C-JZD zpP;Z77CeybJr?2ghO;fRJTq@24({7(E|v_t|VIgPpf+3jF-{*>)se*KYcj zJZt{g*5Q+y8pDaS^z`!Al(%`?-@CYAj-r;t2Oow&13{Mh%+IudP{RW+6a*5p`3tYA z_Ljj4VqPR4%Uf^ANm^MpnqWYMR^@0ZXL5Hh=P-h1`zO>dMAg+tMrUmwoK7(Mqp~u! z6{{~v9JfGMNmP0QVAJj-6qMof4UjSvml+K_fGw$vi`|5w^k&lc-H+4vYlV!PKi+xR zBI*lF7h)!R52g-}T8?D?h})*5U=(Z&r~~&{gbck%0N&2i)xmV@;{LYW-hd;!l-FWs zk#+Ra^J|VyYUBPcwALF?fdiE+qJO+{22OPpzLW=eRBF z>49bCq(c-wiVx3;2F5yccO)um>fKIGtCNCHO48C+HOAa$M?7X-5BkQ$N)6?j>!NwA zU4Pt9x*G^wy;Zk9$m7cWJAP4sK#ETD(-d&UhM~Y{a{n7-N2%{I)cj-VeaxuLR|pUs z{+?I=I%{GIOu~10t-Vv{s|zMQrfGtj+-wrd4qQntrJDTAs<2pv0#%VMj|M1e$n`;g z@~cGPX=qezZlC{HA#tdGqAHc#D}p=_1w;imqZ*eo0fj;ZM<^E>T98lGLo#9T#nsuL z<+%GD6(3Ef(!*)*t<1b*pWZu1(k#A*o|d>zxZmk_aS3ip5!Nex^hoOUCjw1J8xy^k zOeW51G9Hy>$p2Tj){2i$9ZiF;6kT^~IB7~5A_=Svx1W<+{Y`HiJin-Ix!8SStdjSg z^@##Z87`VY1p?T^1l6JitogOS_YLwE8n)|&sfU$ReeX;dD^r$k{`~JqLe&eN>mLZ! zBftQgI+7eB58-CZ7a$LVeob7H!VTZ02pO6?Do5ATkcsm5dP?-T84T!l!ye-e>`4n* zPa~Ib&T9Mss&6@So4!GzcBBg?m7dn=oXp$MlfheL|0*yX{*Me)WB(N5mSX%en;Im< zgZt6HB3I!Ce8B4S{n4Oinf8U_)Z=FW#d@Xz9 z&%y%h({9@`dq+D!U}xd(ur-{gnx;W2D#++tak-kGznBfa!BWTMcXCkXcjAF9&=e%z zkC!`%ll!d?hy|h5eNh?SHJbc7N=nHQ$Z8@5$-?XXLDpSpi6`z}#ldY@Uw>3VlW=Z#J z8Qa9`D7EZlw4AtRoG;hkAe9-m06{TB*wsh%X1_akA7(#)G1vZoT7c!tv#q_|`n;#% zBaa?!H(wbEWdH(EC(qp7t?BL2KaHkLY&b4_)n~GsYP4}|maz{XGmYH47QY2qoB8j- z(a5zHjmOvJwa}d8CdxX`P7^;;S&L1>O#4OiFeNq;(?iEy4Z@h_VHYiCmiSdRxW6YE$pX|A_@3O|D#!nfx<-_tWqCWtuieXD4PnjA%2a)1BRzCHcOA>Vu;> zPe*I)RxNfZd>*^{YVXm=o@-^A`*e8;g{rCwgY)43f=H@uqOXhTI^YEFc50Q3y*;}) zy-2GI-Nk$k^0b>LMQ2{BDIZgjV|v)f(njdN_dc)|sH3S>`r(96sKXzNXP0{1Ag z*)V`@Ro9L3rUC!0kEXLm&Gswoe57$Nw{Sfu0~J$(Az3DL>IlR?8y_rB?hjcFq~KA< zf6>wFja^c^rTP%RN7Qzjjd8KIF{_xhJJVYJRkP#;G~S!;FP**y1s6eVSk07x|@s%OlO)oPt)*=U_XXPg%CwNM`}<} zwaX*5zL6>g`-kluu%**m0(rYerR9yPR1xI!nMzrjiZ~!)5L2$qAA`CchXjFbFF1#PBI!7Q`ks^LpZ>0Qbp05s#- zBh(-i9hj$v9F(|`Qz*99V{JA$`0E!CIKwaThIA9f|5$D0AKMNm_JQJt(FSZ=BZ<1FkfNfA@x<4c)!Z$D||z|ayDlk8}x}3k7Y_=K#@$hp#8W~ZE1p@jMP3!8u z$Rju18WK9^k$3tuk&Pd}Rf_t(!Hl~{n?!W|amRjgl1C|4-R&yN!fZ%1yg?AH6Z z**4B^TB;Zzh}TGvr@VDwG-K3zn7EKh32uE6r?G8-SX$?G}2y*C}M!{ zc(uvclMu(<;CykK^noMt%olN@T>qJ3&8GTJ;Kz+RE$G8;;NKy1UbeNm9P|Nsdmdm`3-nEQ<5u_U&9?OV%6xd`idy$AvcaA1Y8F zG$#s*G;JJ9PD)M|Vp(!;^qJ_T1V$x;kNiBggGjBrJ$^{P_t@3W-Q&^s&URG>#rHvH zEpm?^7s0==xTYC7S~{#QUL4(04PH;0tewMJnXb15ad@loJ9}RYKBbq-&HjNPVt3D7 zu~05G*@MX;nm~Vp?vL69?(Uz2TaJg9M(yY=X0qN zqK}lamz`bD?|#hYHcQfpw#dc^@j2Tugn(zNmT z&j6;V;`OYE+H{qDXejhyggy}nBaPveK;I&1QjcWnGdy>;GpMny?|e8SYU|Oc!roZ3 zQco8`4av%V!^&vLWvA>f(MFx(o)wF#n5O@1CLt$6Wv6N~_4gg*v04WkPJvkNla**` zXYN`&y=|q>2C#CT0XWG`4bovrJTgpeL>|Nmw(Eb0m^Cow)6@bl!Ie7}+RodjHsf`h z6_AsL)3Dojr~=!n28>!?7LV)kmKrziq*-02gD@^G5H6lv6B^VT)({2YTp@7#FZd4Z zW7&dE^)Km11*}0;S}uj#Q}+Zf@Re^gKRG{utk3WcoCTgne?a~y3d2FsA5|da{w8=R zdq|y1B)2Boq^#mgr8cck#tkEZcqOGCmlIU7h%Bx-C?-Y=)jOzBGHWmVKqx*eUMVNW z^5ceQP{91U8wl44hjDUV!_u|9qPz|?qSv!; z7+?O4W2WA71db$$2bNb$d9WQckfyHlEajNT#l=y`{cG}Ri4GrG?x2@za`oof_5vIb zz%QiDjf6bTk9W0S$doXBTiM$NI;CFi0@;J27Z+P{Cw~APy4+QxBX*DevWo*i5%XQY zzykK%g#H0{DM%oYUVBfm>3?$lhK46na(;jIUt>O{rKL^GzkjM+4={!6zUZ(O8G7xN z#8*o#naBC<3tz3o_rIKKo?8Xf0s8D+zcO7bD*+op<9_$;iL&`N+_A#(hVgMbOUvraW=qGUIJx+ z-}1MZqIGM;O82T|a(=!&8Hj!QW1Qg9aQPh+f~2ORz~2S%zwM@1<>m24O~EP1;o_ecf#1%SG(biS_obxC^51`q(@HAGLO6O@Q_+c>mGSr<&dGB5~Rs^wURdACLQjQvkqB??oCZ8dzeAW zAO+a7+qN5&M7nogX}uo-rP{g?AivB6IhVQoFISjdY~VJHwCMs zsgzPHxmA$rh)4=;{J+&x-Yy+;L14XMeM&K3DRWJpsVCpuaeLGzLa9Yl zSw93c?qf9JN{H2BYc$&00g^iZ-jJhOJZ?RnAr)CGINm;={ zI6_o_ghUfuJs6tpQ-r5^DiBQ-iL80eBLC~C15oLE4;hOCNRGZfbk1C#_zR#ObC4hg zP#t!>wKMavad2n^mR`;DgYzEqGmGsd@vrbey!o}>m44yY^St@X-LvhMSF=;^_hUYg zRxSUh?EHEXL@)iz=7~Ycc-B)&pwgIiC^MKHyhR-`JIfsjWKaTmM(QI-fMLFL5HSGg z4ybutC5Gs;ZAv6%B>^j=*F|5od!;@ieu@9Ojox>GYs1_R67E~awsD#Pi{K(_-az{a z55K*BV=m%v4}(pI;)xAMd&haVqgmhxdZqu`b#`XvcLz9bsX$}Sb@gw|%1Zysvev7w zlzAuw+y0%7wJL*Gw{HVNb#T_~rj3NLsK{)c^Q>!{mEZooAPkX5P&GVwQQ10oVnYRi z?#i}?jr}=1D4rk^iFEAZKzA_)$2-n68~{P?cy*05DZhZ^kOjPn-nSKcp*!Cz2zg2N z5-Q0m2+9CQAlus_;}YQhUykQ(+C0{HG~%3ZneXB54#y2xR$_{ji`tR+Y#1lgGp#Jm zOhV1HeFw503Ni;dCqL{t$QF-WdT-{!z#uK%4I!)k$wXtn_H_RS3ls!4C0Yi$YUlWo zDMG0S4>S?#n88E~O`;`4UIvznQ|5g4tc0}?#>K;9MWY-HHA~722@n|&Ct+y5GDG$o zHkY19)e*IdH{WwTWlEFsK8-2xyQ_Kk9wN&H9sDtf@YUwTR&`tW))K?L-(`uE4y_QKb9EflpD> z`?a=#_;@&t(sLz`Pt~(tOS|#KCx*Y{=g-ZE&pNVwNxmQiw^X^C2gvS}4KUJ|^e-GoTKI2iBOUgk%x= z#FsE@DMhRQl=GmYlfF+$bnS^y9P$ag3Sml>A&@}#eK09h)V6wO$64Xuz|?rh3mHIc zJJ-1TJIQIoJgw!sT;qD_0{zvk019+ zq$H+(s}O{=i=rQl_-qWnlA4xM6Pb9I3sP3V-z3-MJB1*sFP~rhT^7zIV7_G}`BsOj z_G3eg9*~Db+y=Nl$w%QLc}(XtOoF+wm>Zkm51Q@GF68ERCTfrXHZf{Y2(`j2Pa96& z=g;3I>)3aV7Y?=4n}_;DX6oSJ6HkDr6OURY zgfsi|2`V&yccOJ-=|-;gxI-W05$H%?+&0Sbr`(Sp{e{)q~`T>g`jW- zP(2aNjT>F!RqsCg2{b_(snS~fx8?z!5n$tf-Qto5$dts`K6=;un$TY>EikG0EQcf|Zj-^;;Nsk77Dj(Q=iN>uHNfGig9YbqFV`cq+ zvxN@zC+(wu?cA(L(|%WJz*(|Cx~}cI7p~G52)A)>tVfBcqwpV1VZaarfFWCTBiD~d z-!#sK$Gx+$^m^lyJ+kRw=STq-jYW~=NnIEmmBBTkbepW+rk=o3g$$<&iM)wIb0T&} z`IDb8$2w&_q%iFU36z`8w+r{tjN8}Kk zGr?RR!D@w~=B(!O)P+pZsg*Q;qEc?mMvQzD{(6mM_(p9hj|S~_KL+|aA-t68$Z#71 zg3{j1m1H&x4SNJJRpa+{h{vcP2>GLGwGDSB_Hr>WvqF&4H)LU;z|v%U`(kgShTK{E4QR*zPU6w3 zMebfb%VeMcFE!^;F-umYdb~!@K2n3&tYRx`-PIm?XhGD%=PjU|ia?!Evs}!U>-6G(mfRud4m;$Wny&EMF8Sk_852@Z%qgA?8(LlTX37iR&x7`4&{1 zfk;SpsOup3#qenVO5aL_MPmR5*fbQfV>r>fatk*qN(M&s;|SC!8@+TA6~eLX^Nd0L zo#%iFA=17v{iOgiFJBKx6UxPjOX-ioM^t+^lZ<_S12f(9l#Eu-GXUtuGGx4*DtGqR zwe_sgc+$|=dt*2y<<)fS;YKTVeL&UL)`OXuxp5Xi_RF{q>7!Lz<$e`y%Ik)rc*-Q23Xn~O^rJhgir5Kp{?hF4bU@GJM$ z5n$%m0u&;|!yt;1cSpad@jmN(XqJ+3zF)8?=(anj>$U+LD+Sy2QYs_W5pGlqJB|P4b zc$ZGB17oWDMK0-$6%8&cLG+jS$e75RIba%z8nwn@pxgjzAD|OH` z4LS-~K_y4lus}E+CeBH5M52VwM zC15mAly$O&K5>X8moQbC0{mnF<-+mHg8|}Ll6A5*F;DP*6kZd}2}V+v{!T0ZnWjz5-y} z;tq^$LKg{pAAiP_lnjXXf2uZM=c}GQ1vK-2XU>n0!EM~yW|a-T$HzMWlIO0J7x1ah z(+4!dm338wT@sR}J9 z*Myxx@I$mR7*0SP#rj(q7)X`6F-t3^YcK}$cxm9OxSKBM9Ed3``-)X%){T8quvWP zYn;3bG&nUWCx(%EAD2;1O0?5oUI(jFIfuM$W2(60@doczZ^YygsL7?Mego7tB1(Os z(Kuo=es8{({|1M2-nai+i(*zKEAOF&r2g=e6sJ)qPW?mI$8CVH>k=>)J zN_x7rB0-x14F2spq*porX>67G;A5snwrC3KFmHQ*T+(aeAb0zO{K+xYGAeK=90wVW zdb`GT4J3C^FZ@WzNABOn7r8Z$sWfqwTcEg+xEyoydP7-!wow^Jmou?kQ1ub-{rC!t z6hL0bh(X+W^d^Pb+z@H1&)eO3L;=?+(u3kvyE>2rY7-QU1D4s;$4ae!f#ZPhgJkfTx7~7HatsTmWiU;O_p()E=#$@$iarqFzAul;W^w@&g{h!q~38)Y}^DR_}{h zBmLPDu`L-t)7rV?e|;ZHl=fcA9ZC4|7l|c*0Cdgomoqm!Z>OZNS|tcIM<74uym{x7 z4RphWVlu*IAh2dqh$-83dHMd#;02Ajc<6qRJijJ;k+_kNI^$pxCYDRFy3jy?mO#XC zf&iI-LSbe!#)&hY38RIA2LgV4wg_x%LY_)&XZl9X6m4&!?PO{mnkp_?pNPur*Z%ht z`QswI!pPd7Kg+@%LdO^YR|0{Az$_?%Jihj~Ftw%xPcVT%&IQjShaqrCPAq}&yvLG- zh$(%@`=H-K&4rW1LLArK60LFX?onc1U42F@EtyM7Pfbiqr#=6AU$}X6vqrtY;r+aC zl-y-G3wGD6alf9F!~Baldr92_=m(R6$auuGNih3+dDzxevQ zWt8%5@Z1lc58N}Z*AQS39K^**o7q>op+#ZwT|SiS@2^OmOpXv5P>0)19z*JG{n}}( zRFA3GW_o*+M9Jp4k};`z7iTj|UUXbn9#3eDg+58xNUzzqQQz^8-kXvJ z##5{;N#PnHa$%hCz+O2pRP`%3yiyPyi+2U+b6`vmRc|m@{$`*E2K`1qmJ2^3xTGHf zA5|ro0qc}uf>qLW!rD8NurCTlP?SJ=xehu2+6gAh#Idh_T(^FV1DS>*N1Zk<*4Q9q z)b~b2p(tl2l_Dna ziVKytp`++-a8n>PXJWnxp|3))Fq45=0CwFJSZL@8ICtNahh_>6*o|Q1MTCkh{XMJyxflm(FIO0Dalb$%P0#F|a{&$+SI$=udlw=xM_%`x>%7}k7! z!FaW4x*#~v$ydgxCZ5JrfMM?Ggpsx?vPo{mt0YP?eO z?+?Gf&j{u+aq7%YO1S)UO3sxwPmrs_2r#QbM#O(k8e#N-s@8V!*M+FpEZxAr2Qs^T<`c3=PsWi6}vYr6xP8F#mas3zz z+@kyYT-}F>{0oO{7RVo@3XiYpGyR;qEZqeY{61)@vLIPC`RQ>=UK- zFu-Ct5XyjJHOC-2L?PXHk!}e^%{_TwoiT5H_^SPM`9mhE!^fVR=Vll=GPz$Wq`pRX zAoiQPo!rOF4WGK|Nve)}e8l2|ZinKeW375=7pEQhWl9yM`qCgMTLz5dI7l>NI?aK- zb6{5K*H#!m8EYIOF7QTP9as&`8?S?Q$;08uO@uTV7`w;_npD?tfb#}|Q$auQMnb~6 zP-P>7-t})67$N#Z6)I#oyc*n=3QL8t0#aR8YZx~98EeoeQt*-LA`nBgT@{CnX7#Xl zHGB8Y#%J^~E%Wn;Kki?h_iDPbA-VcrooT>ktr<$c-*P&d>bx=z(tlzkz(!qV^O!n% zG09xNlq6niE-~Il&pz~8zj5#TqoJn#MOC0#rvQoPt3wC9uMsWIJl^?d5+C0Oe>k-g z89f4J#_9j?8$Xy|qF76plYeh~OLXRi{DcGbJ-`guF(Ri3NxI&pcXZ@tQb_kwLEaH6 zbFL8f){Rf|Sgdtd4)7*GECP>CFLa9^10^L*oOrpNt(RB6CjT)-tI_;3kh+Gt2=U;w z*=O)RQ`oEqAGLW0vK=6ZXxS)pvYHdv01uW*4*wuY8X^ztGIZ*%(g&9IyTOZ^I03hX zpU6s-ijZf+t74;8_st&x6lv~KYX|ngqF)tlox}_NGQTYq$=IXSI&Z9}_iJj#rq-aw z93Wj9w)jXyFpks^fDQ%ymI)W3JF;|I24 z+n-C!(O3KPm(z{g^;V5FaTcs1Z_D)zU%xJ@HK<29ySNNHry7+Bm`6R7hP9&l557*SZ`6$)t=n>2Vv~*@PsSB_Bp}vioJ%tvsK3^t0vOmk?w4= z9>oU%I)-OxCKWA$h3DH>E@CsZb+gxZ7r?CN(co`ShZXKhrhTA`O~9&1$`7;pJM@VB zeZr*w5b-fr+4-|T#p?QC2kX(~k{HP}<5lboE%+J}^?xk2ngxgdN~$k6jvBEtG#w*W zgFd_K1uQ~Ff8R;c-<3_xU*A68+TP+|&(&w{agOCK7)rJ8-brz6@!abkNSmDnd~vUv z4<~`$8tu)uRe&D;B5wYydA{-edeIT~uo4*tObRB~_dh$kEx@=;2m;0J`cK7+qkfXo z#r+nSL!v)TS_=!6sPQhXivl!YG;3BH**z;J_XqEqZLHHu(44{YAk1J>+l##_hT$U# zPQ6d)`_}@(12eyAKLDdZ6qL5Z(aw-;^R}TfCQuYYJ_B{(thqNYJ6OPxojcKY^<{ItPT1{=~(=7Qz=`$M6h z#3iNeYG2*voAB^(uc;M_(A8pZ-R&#JLeDqkE?PM`O_^RAWOyx7S&(&+Eh+HqpPw)8 z?oM4^el;vRnz985(w{GiA(I|5s=1?7EtEt$i%jP*?Jt*qqA)s(mUSV z#>T1vP@n)vSUI#~%HoDX^HZ1ax2p~ah3UZt#d%B^oo9}vj80{Os`gccVFg%^y4FX* z{*A9JIDZpz&M!60pTtX+r>0JS|CR+gIGbX{*R(al1?fAWPwfZ_5Gi{=gg#L^)eb?_Nn52 zS|<;l=eId^=YAG9N3XAof6V@t z+E{UeAiphhw2pKU7O;W#ugoY5LiOQ$Q`k_Xe$PnIDetvGPTboF)&YzytrH!pQ-Tkm zK&HA{@a$%TK!QR-gTmi$TkTa;fK1x6`9E3tem??%FvZE_3Cy1N!lY(}x?$Sc_{rJH z(lF_MZAeV4q)I;Si$?84(uU7*Zx2aG+Ie+Gzwdpl+I@t^=ZuBa*B8riVyy=yv(3$N zz?re_E|~zBZrwM%uKxW4C=vL|PoGx30ZG*yr5yIGFP_vL_Z#S>HomWGLj(CCbVu|6 zfcn#?WVI28vWfH!y6ZV#o!;%tT+16PNvSPvGJ&E@>bJ)-U`jB(4mPuJ^z6U6 zd7oc@-7>I;VWNKkGFHo%rsGRW4yOMm-&Ug$z-*|J>pASHZJhP#-^wA`y{Qe}p)@x# zl31xR{e?;CbUH7Uxt%l{Cr%peGf405PFnSTl|r8tyY%y|C_D4BmU3rI=qFf&(#0j< zd1!9H?v`*|{99yX>0avn(-%hc@^BnlGOC?U+CJ!$7T(31p00hpm&end_{ibTLi$k9 zLT`caqxq<5`wuFdV+qDyMF3ZrGROdMSJ(2zeZ)|kXIFPaNS<3~Sl|DU-MKn5d-3H{ zWac!T$^zFwZ>y4{Zh+Q6ip=60ZGr=M&Z_Z&PGRUcBM9x6MTu>?rD;p~XHR1m{H(RF z{>tMPDAyrVkJ4ll-u{Cv?@cvw!oCv={ju{8V(xwTy%)KBy%BR8rBXQ=+Wv#p;!PK_ zop3y`ng?X`tzVt^t;D}ylA52~0EAvWS6WFc`sqEJ-Q$Pj0G+tyjQ(oj_w3nTcsSu? z!1AnesMLTm?5DgGK-A7bLIR&3ZJUQ?!~Y(gjjW5Rj{q9%rY1q0a{dS--wSSiOFY20 zniO|Eb-HRZ@c6Ubdm}-JjxOqnM-5;|6DL`xD+K;=o&P(klXDY&awyci$uKYaUChq4@1usm2eK z&W+{)uMG4A_Iw_)k@TO)iCIPH8yJeOad6Uvf6h#lD2lH6C0U67@6))xHHgRQI%pIA z1q1`pc8;6;$7!`-NAtNlX83KMV7B4yr89*XmH?8~2$%wXKLA>B-2hM9Ne=(^ltD}j z8dE4TSZPT8*BSp)G>PWyxkWM?f-OK!ZX(IH_ICP*JKth=))t)V#hwQ&L7c#qzn#v0 zU)V`IT)%wx@Ozx1g?_vmE9jv*$6U+3N;Rfu3!dpDR;yR8v*@tKqwVJd-BH;6oax%_ z+E?l%la45n>}R?}3zbNT8n?#7oe*@hCKwxFns%|@|N6?yLGvp4AqPtQ_N>9n))H6_ zFvO$cA!w>a-uVOt1zN&samWxDBXA}X_#bc{2Pc=6Qr$$=Rqk?Uy>YfKn%;C7BtuOV z3aWm{`8{{3KxB5#ssHi?`aDKgQguYPKn8YL{3#G(T>`u&l2a#nHGl;kS~XsMWJHa~ z!!JS2b0hvU(C&-JU^X-g>`SE5-;buE-&SF=!+hM$e5=Ra`T&fAM`)7u6LuQ@_VGmE ztXhrNx(;7v=il8O?e6_)@@r$jwYxvtPBaCYeW^9iW=q%sutXGOsT<$b3)ZFNJV})E zSF$|+W+p2^+11qt5!wa7J~w`R=Eh*E#8FV|N3w@WNg73Dq zQmNhsDgRUdCT$!j#l=u8tN>disn(q|;04$QfY{y%xzn|!*2}N-dril^QrkKx?Czx1 z#n*rBU8?bfJSYH{x!LVJW9Ow{a_3)=lW5ZUPmar<>k$$3a>r}GgD4?c2i0!j3(aSM z8}GNOa5MYk#k!vj&U-`=_w9wZ&dzy-0%1v7!!TOT!XD2=lkT_d&*^Jxs;U*(fh%Ei zYtvLsD(&!cPACNWbQv#Vpl_ae4GKa7iYV5CyoX9sCO5&*uW-6OE)NhcW(al-1jTWJ zbH0MeU#)n?u;4L)F$`hay7XIjGv+S+s6jecX_Y5sX{>{S{=j7wiFjGP`hAj3*94Ap zlk5bMAi90&;%?XB0=fGakbBg3s5{oaUVO+Fc#$FfbF1d?(1Q%D8h%6nNwe3%Bm3py z#l<~iFH?dV5MJZ4xWBIbBK5w&PG?sEl8XL_*RynM&U1gVXQHOoz4op>kIJ|lP>@Uw z$z1IxRgzeb=CGvM57W~xQl+f=TwFv8aX__+2=hr+;{+Ak+V;M~sOlze4-6bR%+<#y zNW3egI|o4`q^CNDhMc!s=P2C2Nyv)?j5C-dV}BezwYd{bE%p2+FM-Nl8xhb$ z%cDYM&^U*;MSnl=n%S%MIL!Bql*T%GpVdMpvu1jTTxjr#1j}@m|-- z+~Rp4^wyWdHIoe2md0lL_>eXQT$L``);!HwV_+~;$wt2;4Vo2-q;xjuLw}n3k2b(f zmm(+C4a5jEo>1}opDF}zSc$fOJCf<<&jWM5wcNR7n`%lJ6v8jDc)kX9+IM?;Eq^(J zpqK>`rF&(1YlQZ_kNBcB8-bc>4!?t>y*szo>*^efyKC>Nv&i6`(^ z>q4?V3E~Oag20_?{w9`pQ{%qyL$njoBGpw%FM>XhZl>9F;z$|~CD&B3sLBsDL*3^r z9HKu9nhm1puBY&a|NR^c(n71g7O-kL^0?ZXrKFdwcfUB#3nvM`CWl&jMnWGNaD~FM zy7@Dl5ufam#c~qm&ll#>iZgr|ke2c75KYt{)n1wIGYLx2KMBe&figW4-&+;BlpigF--k}Qy)d1I$rD-yfChJSuavmi3MkIDE$N`uXOH*vDT-3 z_l@Ug=cngpBNn^!0M)%Oc3`jRQNduYei(F@LT+Ff7~ZDJ`6(dkn=3E=+&A{yPCL>i zzRaR9g>7=&4R)5UZCVtB(S+d3jT~i@)Es>;pQ)*QYgWq9k8g*CL$A|~ZnGfVc(`+! zJkL{FFE{TSUoyZ8nLKAbZ?s241qfB$Dmk|YER%0}Y|BKWA3T=&kEb0D#5~RE`7JIo z&MXb++KT@5XiT$?r3vX!VrQ{n7BfSA1N^olqA>>PvejDut%xQWUj6-Z`u}J;({L!? z_l=KziWu@`EZHI>%APgLl)(_qgcuUpDG{qMCBTNv5b#=c~%2_gIT ze||6iUU=b!<8VCVe(vkM&hvA=A+;YK>iTY85#XPx1+Z8(JM>hM{tBt!jjoDGwaLJ` zx`*ij0qXn@aNJy6l|v2|!iFHYHH1Z%TEX2fxW^P>Vj-r0rLO*?OxFSVe>Bn#x9snd zdQlh@W@^gwtf;7Hw|VyzhFzE%Zg#PAQ_eKGXvg0!Yu9rn`;r#1!u!iogfP~%0~I_v z`d`SUOXrKUpN*J$+eTPN+%&;iJpW}mn)Kp7$RBWffV6{pxI9^val+UE=Ufw?C&53L z>6H})1oi@YZ5q`kX3P6%qtoaF9B@LCxm^FrT;xfNi|jR8o(6QWUyI2Z$E4@Fu|{GG zKc(G;=qaP42~x8Y(~m4I*x{NJQ?(wy&~@Xt$UvZz`2m-brEcr5?IT{h`u`MIefNpq z8kaLvg0KB;mFkrdCXfB{n{xF{uX&L>D_D}D4AftJS~~?aU>#GlWog3s29QQOTATIz z)h)dtxG`Jfn~XNgj$0EKEDKY{f{JqH1WGgY(VYQ<8_HqF)iEq?o=|$wRTJ@hSLngY zEBvzW%(*X@@GPc%jgr;W4}jx`(N4gad6cgKc?KJQx%UCyN;+B?+GBqN?; zlI#R#UCNPPi=O=}MQ9mk(g!V8r2Rn)DqIF9e9V#&LA3_V$nJwU__ zh546PH+*VooOI;IXJ-WXH`Gvvcm+DmE3C(Xb)7c%b1zF?7tDPBAS3?$VA8Ve9Q-xi z>zJ+T{}2Mg;b$L)Uid#-oLJ5PK56wQ|C0|qse|FVQLU)vhE;D@yf);r;XG`pix%|k z_8+Fckv>I`$+}BgT9cDw6?Jcpg@Oxt!~Rw#?H4ig4#XCIp&fkH5Ud5VGv9Bvy8S05 zSRCxC@^pGT3If*ylRFaV%|kDMKpbhyKmetiAuj&f=POeWXxpV2*;@$6VSyidsLn8|*wYM%Q^7XDN zWa7r&nY6btU1w=&NvTzuJy}u%NVj`& zv+0J{070e>7;f{2SND(W>goV}VlOyUE~TWj^l@WQ4QrHl-6P?)$>&X1B5fh`t-t>E zq{xFaJMCX=x4k*8+B|E|IM?9>dQyPP_h`uaWWG^GW8kJho*%)G|1M!WHX%P{dH1;W zw6$^bkn^$_9(_@{6>7^#1H#AqTO8OzB5jN1tE#JWh*wxT`gkQ6I&!QV7$~yvJJNq| zOaBda!0{ ze9+C%Y^T{wy=m02_b7DtYw;8f=(iZu-1x?t!3^a)vs0#zPah5KvoJxOm~KflkFa-X zl``+WrKNyzh1pp(XC*#BSyAKNrJ;9oD>gNqsq^hH_nKemboyci#Hsj=;}>^-=I;Ik zE)V(r>C@w@k53l>1i4z&@g3|~Lh{WAT`zrom5khbdVQYH)cUXOH7q8Y#@w$Pom3rb z0#Xmf{S9GhK%&zNgi;0UeHuPxp)&j|z-1BiI=d74#N^`FnhJ-tF;Kyk;yLd8lgE9h zf}vJ_$5xm4fgrsbEG$jto$?*b1CU6+T~7ro7t$5$%t=S)^gv6@?r+zd0C-l(!j4t^ zk%s+K3|Fgnz~20!(7Q%}AcGqO66?pw8U9BV#+rPwx`AqeW+_E5(unxz=!INJvs8Ef za3PxaGK;VYV$@IfLDji%WiwASOLNVAfCHcA$p~d8Ao_$scpnguarJ0+wgZk<4>BGP zf+Jnhc8ltc(a63r>fVgq2dm)I`$&~#P*_pX?*ket=Ves`83Ah32Re^yNgo+XWI$l8 z*AQXnRKt1Y7kxZ-7na~fMI3m~xB5v&7cxKeCz>>?APZ3#F0t&A9~Fx~bF+R(qS|8h zBqXpP5WTg{z21zM$H##>sH4Ux;dnU4PDTq?5pdzaS!QZ{){a02mbj)!j6r9mWf4v( z&rkO{GD2P~&op%RYt&Vi)3SHP#LHeQibo^C3S>V5fZ=e`x$3UPv@uifxpuVN*zrmh z3V*xB5_Iq}KT;?%nmsE~t|Px-f&(BVR`ft0e7Ytm_zi3~wIANRAAIh~G+41&s z+*-c#w7ck!506irRG4T)KFTf~Hu`*#D$cs@lt>5ngxX>uT8RZPJ6leDV*Jx093!O7 zv;JFSV_7wrUvEdMx1#)dP+zukB-a5!z6}UV?PL{ng>J^39}M>GEzR^LEUo; zsY{EJ4`teW%?J*|8BO~wl8=vnmudd#?dOKyQcG+7^&ZW2Yu>SV_i%R&z}pGx4)(Q1 zxirP4Q3*~KW=)B1Oc6ixhF7(4Lq&eo6}ux|4~^1p4_gvK&rf}os+6RyYga%Y4dZhY z9q#JotNHGbpXK5eZ>AU}=*Jsg12>0<2X9ogX44^3AoIUkneYRLhlkotnnnm)&U^X8 zK#9_^M*mxWc(vzmJZJf^`~FfbG8#A?*Vos-NZn9l61eR*5=}MB-W}8xydof=NF~Ed zlSKiA01NqF7Cip}>a7e*CB-FaH;H?njWv1Hn4eXbJ3Zv6r8R13Lf)yL5=aZYuAtd? z5v+jQXLjM7$Zsx0_U{0@8}v*{Ye3~8)2kDqgWL;YMC!C6LqQ1Jh)8OO8c1=j$uXP* z?kcZ!s!RIwr7>QxlfG`gCi+Et7~YA#&7;#O2TsA)t=JX2F)&=LVUu{Jxcb=s!vM}D6@}S z^)NQzs(j|*;xf+s`X_1ER<1=rve@;D(*9PU;KFd_%Lr!=4b*ZulSpT-;)Q@r&o4YEZ+cnEc+)KLDt)-=FcfnVki9QoT%z8II zV4HV>abF>D3Df+}wb;TA%2>xO0WgSm?5Ecq8(|Q=(2|hP#=;O%udtviViE8>%*?7y zRC{dqHtkGWJFy<0o$AKn6^UkbFaxLQGEHX$`zx?Ye$EJH(bS@|%fcp>l=uQ(jeL!? zctq8DkGOx;UPysel^JzON{O+nh*e3&S^L@dyAY8q;*R=rIsK*Dv|qMO!>)OqZFVEh z;SgJG+{pmi@%F5THE%JfO(0={g;Cc(wJo!0V3qtzSBAqu<4Ww%*8PWK;Sf4dWq{xD zyPIC(_KDX7;F3EHFQJ9yV*&bi&Ll}(zrRp0VdCElf&>I}M*j`>Z?ihH&^4wEAGmPstfdTwOW$D6Hr>3Jx zcqgFor%gY~1z5JRh^ueEmrJp?AyxP`hqP$?Ppsd6y7r4(0?$4h$nz43zq`pR#= zSC7x(ghACEu$E?(8=PglA}f_wp`&^%GU1H09=NK~&ulM-K zw47$Q*7q2>6aIKl#N86)UFmzI-c(jz9_U?NS-UsvI}=<@IzM#!#HpCXO(}v0|7(ew z{G^8N1YkyNQLRoHfk~(&Q&R|H{V@IIhV%3Nm6j#UbK5VI`s6q9A_npniMITzE4;CO z3IaTCf*Jv$vHz;`D`|HR=C@YQKklDb1)g`ThOP+dwDGK=rry}GiG0q9k}c!9V}<{z zAgw6O*iu-KGq`RRBZvMEuD8l>^;om8WQ%&Rk=#f)J2c=@F;$r!or2X>b-SuVTs7vR$se-cd*E_NW>u^pj2Mqy&w z*SuRsce3%fCbV5*y|{jUJiwf?JhkAWI5R&@(_(-?i*w^4B5STcR3k~E8-BKbWlf3@ z<|7?lsbJN>3KdY8w*1r=*QyKK{XL z{?GIl!V+S`3Kv=j_ATPYv{%%aaD%3%idm5rTr^KB`znHbee!tSFu$87rpb`^KA5KkfVU_act zm2xc+#zS3qbW6>FCjo!YT%HT95bz#9CqF-l{JKY3|Kz(dBhmfZ69EIThj!51X4(a< zltfdDfbO3|md6QsZMOb= z&eqJ#7zo@c@H_{O4voNXCD$Vl{S;IJkE9|zcF6Z0;lZ|rq>kGb`g0&LsWih=p`N1n z0PBj$Q{rZD)zA@no$qseB|317MCKdIFX zOI4HT z&m_q2G<=hnGw7H$!lkLIPPr-C#mW6vmIICEJKo^Y)^Nf@x>mA@H>BN{Ch|C*vXPC0 z58K^Ks|H*wa%ax}w$7e2ozG3gesVE;`jqg3HD|a|syKl!-+ii{LG}wiCw*C7T7~!K z%Rq#yWfXg@msi@&%n_Qh`g$~e5zq$i4kk+WvqrWyq%{~UOILonVW?mH6Xh={iA>D)K=W{)goI#d&Tb6!+?7Vgt-trRxX&|sb}T*UH^>Vt zLF^t{R*!CNwa4Dpd(!m!b4}&cpI(dTFOQlu_+t%F#4jZQcoeo<6LSkTASLy*T_Gw&0&@l3*_y;jH`XN!8kAtN#jNF)nhQ@e;3u zwu5QYev}8PUu&in`=nh~KCp9vhkqkBDwv+dJ1?~Cp;5kMgGzz-2T`*^Qm$Cxg2KHl zL`m8m0xAO_F+{ceuL67emv#nd;OQ;XT&Nv%UaDJ0Brf7DSI zZ#AJoVN~5MsUMo%ou4M^9f>MjEqu!a21eCrA#X^_I86^+siI+2>0%^k^g0MDa~A}v z_dD{(vG1$jg@nDo&#N?FQ*$T;E?5>eB+zx*2aIgSAZ7ZvlDXMf_w2=Bnbg5Cp3!JK z)SDxEJy>Da3%L{d00H!78@=!Ha`9gNQbAt=;vc$+|9OC;MFgT{hBTa0@W;Y zJD4W59|AnUN41re_1^18rsNc__wtWVE4!E zaiBwp{~-Y72Z~M3PaiLt`fr@n=zfZOxxXhIR;PAMsgBb)fhvn)|M9RvA6a9}F;<^( z3l7#7XdrnS&wXk^nL_U9rCgm?vO9O0dYGMABIgb|!NMSPXO>h^xhVZ{V-%$1uGrl- zkbkrr?-Ma-9B*u7M~zQ2lv*N&??TGJFVGI#(-N73j4!r;{d)>etCGV)GsR1eKR_*s zq1sHZ=R9?p?9{!+Y39P@D=vYUI;9vFK=jcI$S=g_kfn$4D9@|?MK9~*^{<&)95(vy z{YjagUWZ-$F5~BM9)jZX^74x5HVFUq-Y;aznHiwk^u)~g?=M@b9Zy=G%JU_EmpL1p zJ^9-j7jiQP`tBVxSKR2!`XBeu?JewoV?oyJo{A^YBL)?f>(B@50#P zAVul-c$u*#99q8_LdMzzM#&c>@c6##pGid*QD##+l|x2IT2RD*i|K+z(lrv#0B<;` z89Q(HJ0*#hHi|um-j4o?H|6K5x8IcW-ONpSWFmgm`{FB4v#TrbD}0Fejn#$eKi{%d zdl25fvb8ZC5;W`#KZ{Bpy zE-rGt^@Ql1{vXk?;+6+*u8!EoY@O0*S~&Pk7Cjdn94y^a+{OI8CFdqc9V=_shM_BQ zAn08UhXt+XCWoF4>gtBK#7H-cIV;o;NS1%!u}J4m@A!RI+hOtHzaq3JM8(ZLWUIY3 za37vQ=SCyb2c7%#w6i4XX81%UlARWh+VI4deVs6;Biwpg`|180Z!0H6ptqi6=E&x$jp~35 z5mz(Y+P#dYYC}jrym|oI+`sUrsy`E-U_r|PI}Lzc74i*H7#hNk9YuEmy?OhJ0=*K(;-p`b;zrf*dw25=6J z8P#w`e7qyWb1AA*Sr%ytGD@G)yJiP>1|I1$v&0Q-2!CRt3FXT(!ga|Hq8Av)FzdJr z%Hq&K9LL>q7uQ%aBuPgb%AWXFz0}N8mb_D*Gj+LkN&AxpO>=ceO2s#`7p)e8BdYR~ z>xIl=fI#6hQ_6bszl(*%XDVZ1JNSI^a#%;j12xNYCa|5`6w4)>X{j|9DUSf3+=mO7 z$wKWO>c8c2pJMY0SYEII4y3j`j&VK5gzKM-5O)j@D^0RZZlR#h(?2zyV zeFW^Fzt8ui&)M!;OgTG0qnJJ9=H?2A)d#G*Rsm%glRE}6DE`?7pHJqat_nbvMa?EV zuyl)=FNhcE^OQf(L;IY{W$G)tN~B{51voYoFNxW?)N;r$O`TbG3NEr&MoRpG&WJKS_|BBlM-vc+46YeK3R}G_DHgUYa$Cy7Lag zc&qF2|{6uPT`SH(Unq7&<{vE2Bz z4+Ckx)OF~cy2o@HemZTI{k5{XnMWS^riiwggt@WC0{X(Gbx{n6P!iT&F4rtSb9Wbs z{^Ut#8CG&R>pS?!Ga4q_%MxElRLyl86K3OVSmcpLeO0V+Ia1x&Toh>8!3 zDS}7C-WMSw2(*!e-A4#9%_Qqvp|yJ4HQ(ap{>-$6eBLlna0`Zql_~Bm z6kY;t^;%Y?2c9vkO=b5I0ng9viK$8o;C!f>c($gMKbZ)>SMgLm^ zcxlsFY{`#@4@dh6w~uYSdU!Ts-;CRM7`lw>VFg@CsEYm$I<3lCI8S=B*iey%*^Cf z$6Zqt666hkQ_X&dK34uCyWa1odAH19Vt6U+k8*o_-UE8A>1~zY`}=I~-qsUv2;>Eu zk`ElTF~XGyb}Z=NzmYrBpMCnSi}7SrctQN|`))emq+B>;G$MD9q|c}w4bB9O0CXiA zRyZror4oORv zmo5C?-#3I@!v;otGk)a1@oVXwT-o#rsL(P5ZzRW}S2axozK~5L7VGZop1JSgRZ-Ly zR2Nw0`<|7&YJ)e9cTM&G$SX{@q|L0}^{Lkpg->u%?c9zr*1S=o#{cfpHEYgg7nB*A zkFRn<|E8E$?8ZrKpf7a4T*@@-2^ck3Qt+9=e^p$xB9exB*S4r9^1f7u{fy$gyH96co_StUyoX-`ub8Z+{Svs^zgT`WIwrdp{TNO zL?K|#C~vB}>{k!FI7@~0Nm1;YzIFStL>ewZNT`)(yng7^RlUh};y?=|{{WeAu z-3^{8imCVdR$9{PtWBRz*ZGzm!i4<%Gn4N{hGz%oFU-tPxJNY&D(u(WI%{Tvs+4A* z`hpxMkE4>)Yd92mqr%y@)SvYny}5)+(y$9}Jp)=g1QFU-Bk>ykhuh=J>BOQJPEN;# z%QrIu7mJVM1XMwxz`?Xt(;?y2RXOqOyI;H!wOTl$vI}Ae+yAcIxIMK)wdWwL4{N11(}ZnI{(5M?8Q6<8}C%|wvjt!6W~1C!Kbo&YfP{`kB4_yFAtNGQOTX+}(Q6P~H!V}Z&9LJ8GC!PQ_?3WQ z*i$S?G@5sT_|$44mZ2jx!R3wcF9?E=EV6d9?{c3oA_OoyF@|gVewlQwnwU01nOb~^ zLM?c*5-#ifdcYB(vE@=X+NX0tCP%{y?4UD~lJTGqmJQHHNH4eV)=fJSxc$u*R$J40 zBiawo=AvyY$2QI?Lbr{rQg6xZ(;xunn{ew7rvYk$LIsH9yAyvqFWVeT86#i-69w7K z!4QPzFgek*3L{G(p2wM-g~qgh5Y(}SMzCsg_!TPh8CxF-o+pROO6gp)lDpAZ?Njj+ zs0$-zoE(U|t*wEDe{TUX0`=pmM7M{f$jm(ImV9zL|2~t}+Q2?-e?^~zsVUe&NMxiK zNk>CYQl%rk#HiR--r`kLVLnuixRN4A5dv4y3ica(7|2p*SC8B^1?@CP@3Q<~0s&Z1Vi;-#?Z+J{+YGMR? zl&IzM?(2{Iq90It_T`;v*4Jh+NJ$>VufaJzSORm4`mFXr|Jm`mZMCMe-K=~xROoFy zoVH|`B7(eB#-+?q@`?g_hH7AEg9s^xTowWg(L%JsTqgvIq~~f!FSxZmiXFOD-T3CW zycyB(A*1j@Q1T(Wt&JQ?n^@D`-QXOeLsv~tJOa)t&^TAgO#m;_LoeSLk!4^cW z`HHw63l_m%8y?xGLt0pvO^m^C!J1_hxwlof1lKp$mH2uA7i8QH(7=~s2+N#sUgpol zd$L^?$GsD38WK(1uBl*rSXNASxbyn1*X zvS4W>QxqjZLlgX49k4~)fY{3@B7k0lhUHe0K3j)gPW*SLscN9k=hzH#1VlilX2y}% z-fTu_bFv*}oB8%ZKjo};{jNnX&CNN>KqF&+s8o>}ZVMPAsGVmmjg(Y0Z{#m~Ilzap z#wSiBq4@0#aTSnEeYxHkIUwZ_(lq@PP*&Uts-}}nZuiL^%184{vBnywe*hAJQN_vQ z6XWw8z;xD^uCZgY!@f0UuX>|sdpe_GpZGkKk0WTl?ak~-?<|l@VPcAk0=gJN54QXi zk`hp9{|0$)Sx3v+sa9;lA4av+s6n|V-4 zKP+Cem+kpY{j1s!TT4xZY=30J#3hn$L3`hySLoQ%3$D>VZRqp+BSISBvEe7P3Of)O zlmTyf>^p@%>MI5itx0|-&$2eBvYo_TXx7;v`(5YLg$tP@&T`gP)~kKe7oW`@Z2{(* z@P_b~t}e#?Crr(6V%uYq0RwKJs~isw(TZFs4caY^RSsGMoEg6RGZVij=D!d1_BYMp z)66YL(R*CAfUQ9H_}DbbRR2YF#qiq81ceW16O08mLeT>Cvs85@>>G#joeM;)ceCe) z8Xdcs!0r_g+Ta(K!l>KqQS;>-C~qjkwy9@m{)>5QVfwr_-gQrFGcoLYA*=BFd7YdV zcP}vXO&^>bwaf_Y7Yx2dU3}-j_ma`Fga*@0Yg1A|fjz4n1c9&@MC5xEvhiN;Aomeh zK@wu=+jIN)A+${FSc_CXB2f`4%=BAO-i1+!{t3P89_{(UdB@nN zcD>Xzr-0eRK9zIcP^pv;$7U9mqeG7xzJB^+me6~xU57)$MKpk1#&k>Fu4nPUk>wH3 z-{!v&+|7-$L5r_w0@dZY;~ilavhI2oM4){WrcECm$D1ZvBwE@d>`TrA%pMbdJTWMr z)91YS>Ic1?-2CIl#o*cHsT%3i?{$Gux*`1ODuHKn2Y&9hnKMuS%NjzT0amc*H`CRs z{Fe-y4=d81%~G9|`e*8c<=;^CRnJJX2R=xbR7Y*7RpZgNAiy{NUsiNSK|g+1-i^9t z@8aU=p)B0dkr|1DKsF!Y~igIOH3U-$9=f=lE}JF?g_9UbT70MJJJ zpQc+h`JHWKAGg`rTw+jO-BXTt`>)crg=XHar;zc^E|EF!He zN8c?$S<{F5A(0Xc=Gi$?F;n{SL@^wy5Qwbq1i46M8oKtvR6F!IbsGC`_se52ZtO-n z;xdo+Y7K?eE}f;vhdpLFd#o2`#0TP5fb-~tW#q$@Ynoo(lBZ>iuE4O1l4&^8*Ir<7k3s9YZR!r+^aq&!z()(w6~Iet zF5LYBZPuRPG#MBe7y?oFbR!=y1YQvoqze-S>JB}~VBxHyE-3@?){v&a)vnw=lsGP{ z{)bWIosFF%!x+y#_05wA=H;7K0HI5AJ8>~LqGr4v#+A$^k=xiGqu{2*3)K7UNn`K~ z*cZuZuj!#b!5k%=@y#Y}F~f{N#c3OFq#g}e*7?S3pZ?=1C;as+MQ4{pIaSt%h?-k> z_~Wi2i>=;D*YCRr`rIG|Y_1%v%^rMPj@aLvrsCovvoSX;9$BV6tE$S-ki~3jgzf=N zPgi{3m3*5tPA`$V0a%E*bWHJBxwvEUYe+4}MHUfTt&g$=iZGDFAa8`3oZBGA5wt#X z^GQp9?fp(9bEm`$xQWF$8vR|=He^Uh`@N(v&6|!KSySNQI*aLF1$TL>3a~_feI+Q< z*6H#79ir`{Sp&PQrl9fmAQs?l@(P!Xw3$Cql;y&SA(#aAVFC2Sc!yN3)i&o=l}$EX zf0P2|#s-kfTDI7t3Z6?KCvAi)9=w)zAPDj1TQC&2V4kqZK2TA>&_-*$X@4MA<|ANT z^@H@lv+TIvr4yTlDY43b?4u)pP5WazO=2uHVRZ$YdGRbS2OEMLh^K}FK9KYOtm?%>C^Y(_Yc5*W@5f8^ZxK~;|vR2nnebGgg>c(>Ba*_hz%0Cg3 zH#$e!^C2as-}j*yeBx)utFzKOR+71i<&^8hY#8km9w)fTL~7yB7RWxgej)BFeORD1 ziW7OE55_Tod8wKfaCh!&bOKla(x9fCITvV557n2j9LdiQx*{0U7%*1d9Mw& zp3N=%&-gJtdwK=Adh|QM8jma}FG=52m)=n~*1b9N=|17H6(?MPU*K+vszvroi)! z@!sAYp#QWnSYEnZ2rTgY_7b7p6EZ47T+pwYT=PyvJsZ;mkaPkpM;0Fvi%ckBF)Rc@ zm+KrY`#ELV5-w+o(SrNuVoA<72tQEr?uu)@S+G}HkjUw$_jiKso6aAui`p`l6u@+H zIMw@&L~&rG}BydfAzX6`ONW{L`F)@^-dGQoC7`faK_(es0W49U^0sASH>@c+F4 z2X`<@|Iz5ZE|7ZLY4fp7zgPtbq;cLwadN}GRdrob(^P;=-?$f>pr(IqMRx2nlH>9c zckMJapyHSA*ZV~(YRsH*#sS0>o?JtTw$)UD#{-j%PahCF032#D%M72DZ3u6=pj3TrC;+Ma{qBtICDq_}X!C zG3-J@3F^6#rIlS(RaK(gZq65MQPErWzT3tU5x70wR-=6=j}B5f7o(qFuRyj6JXM_C z2P~HI;PBG=^D}4lJOYoMIf{6Nmz4OL{mWfs8 zyXQNhO}k5LZ}n>*t#1J!wA8CwC^^JHCMUE+K9xBi2x|X)j3abxH^bI zlD)sD|HlryUKlIeC_NDrsI* z%yUfKdSUkCHo?JfAcgiWl^{DXL`ILrIotJX)OBg`j`1=#hgGkPqfBza?r*ipxb)M` zjNl+Sy{PQLqX|`~g*lt1+e&=&0_LLh#YM>Yg{c~^=<4GWf7KL_dB@C_x`w`ZxOG+6 zPH*h)nT=2`z0hvJG#gwPtM*u&s(<6%!%+$lCuoMpkKCe+k^m^spUutbMxV8=c7r@l z&4cMprPpCJDHG{D9Ee0kw4MxWo1KK`BPAh_7?@K1-NW_vowY7xC058&1ny9Yy0tg< zG#h1vX5(=>IV}whe(AZ@uW?em-*gyD4bj{NZf?Fe37Y?-ta-~Fb|p7$X9J1l!BZyg z{tPGl%eY!K{EK1&WopgsHG})Z_uFEoKe(L>aT1E_8APh<@g~C~K z6=7L?2}*Y@`ny6}80iD|>j4qTH@CP7L533*k@M9*T6VzMIw(`PsBNsUsZNShitGe+ z3iD~1fjR}c@Li@*NvhdiAs*RotFW8nd*_9@s`aUu-E_-N2nb#t2N>EwbJ&hLpcq(LTQr=F=L6%kfq{Vz$~+8hGVNY9 z?Os=vHU2ay>xIM_VJGqDPvF=H4GBs2Y9x_%yCh5RBjeu1N!aol&P92}><|Ku)54{L zx6(-RYgNx@YW$bEIQA;mGQ8sg&sRhD*x1yfls2abIPuo4vZC$BCuAj@;{L|WGlkU6 z#^b(U+RI&u-5UGu)3v6hqdKOT?2c?t6keOZYI&I^6Ah3q_m59ySQ4s}94yXr9^-2i zZ!M%tdC|{*p<)V=Nr>ObB!A%DZD^W^8oCm+v2jHw6Y@kIIjqidBf~M zYVLB`B|hcS?(>P`jzZloG6QyVBm^opueNVqc1T`hSCwD$njmy@D)8{ z$5so8UC#h3w%-xgk*FJrPH!j((_R_Ez2C6JpA*XhnNQ!}`@ODW7NeU;h<0^A;Y9#Y**0``Tku|?}^e65-ZKl z*(4Kkvx4r7@_jL3XWXDG@8i#jS<$R61^hW&APGA{T^=p2;*rJ6XG02$E3$p0TS@PK*-xoxWD(d! z3331qo0Hu@xba_~8vHE~>HJdir7>uILiC=>@&s>R4OOs?5yTFN_6*`a0~wE+X4V7( z1r(8VU-k0vJZ^cTfxa6I+A_OQ7Hjp^My5z9A+ZgD>5y>Bh2_QqdJ$DyU$N`L*v;c! z$Kn0kZbba|_6i}9T%4>U$urfYFl{}a_fjG!e#=ENTDoAv%xHb|!NflE16>HcHbi+` zNu>6y_gQm74jIZIM1cz1OX!H%OGL+k6$mJ$U8_^oQa zT^gsk9LCoLLU%qj9c*<75{WnE-}xua1bUPf6)9PVt|y0_jy?|#2uFSU>bcYs&IAk) zvj>!_jN74S+@XgF$)ycP;hJZeBaWW_F7CD;{DXX-hsy9;2T*(Klr%1dm;H3^Q*?5l zJ}}I&_@VAdWY&I&xs1$Fl=@o_i?)38?P#rO?-6Xf=_p21bM@uy!F+OG+W1PkcSk~J z=jZ3|d!(gCe(R%5L!cw`IlL?zntp)KucxOL-;-nQ>#vr%xw$Dw04`?LO+XliBNAnb zPwz;`Ne4>q?cBEDmp;85r)dH!&q2n*S@w;&)KkmF6+4-39x6C5-IbItf*z$r>(Yn*ADmn&(tEz8 z?r%&3Q>gXxk+t1&4(gVli{~KQ$)Gbo{i}}pGaDHtC8gn~0)IBIykx~u&|TV_3+qZV zC#SP#RmK~$#wUVGcnr~TEsH2^oqx;RvKffQT?w(>A{HaGbEV`0QtJ*Pp zOwXu&Tu{3Pq;LiZED zO;fF{lhT(LEdZy>Y`Tk^8z-Q}k~9#UITSLH@ZNlSS) z!q>PA;CBzK-{<=;|AnOio*hTD!P|N$3!@&GV`Kt>Qdd&SC;9(dL0Ope^$A91*3rXm zL==EO+J=@jelz2WNOBFaZS;LXt2aQM+7E-|a@KzMiXJgns1<0(SX|9XD*EXR$PVOq ziLr7Uf(!A(VEOf_JU;fs5ejs}pA1D^d>y98ujeIEB+m0&S>?#nK6SspW!BG2N=h_>Yo}9F zOp#35W2^i(Zr(UA4&5yUYzrCy*@8{u0F&=^mq)VrdN&eCvTyx#lV%E`$MXyDKWg&N z4wVDS@P7VG+%4&meq38y`}JFOrN`p$L?8>HnhjZNjnh!Cs42uZdL7>s;fam>;c>p= z?BEc4c`CRz_=Wdfnzxr#&64qkUH8d6Xu!fUBQ|V9hE<9k>R#xoLL+gzSkcO ze*M)7A9VJyqYg+{t|v)7=rvk2?@BMy6|!hd+>`c|Ba>j-Bz~8j{CN0u2W*PO;Ix7VWN3Fi4BM49+CDW=G)B zDwObCoLnF5PGP0V#SgONSQ6UB?S>sc|L^|HYZtzTk;k%N*m$jGp6Q(UzOwsoTpeG& zwDq+0c}C)ZUr$`*(dKCXz%Xz#QSZ7$q6q@X-bxge%gP@oG#zzsp8WPT5PLpdAH3g} zw%>HJID34yKRP-J9z#^vw(J=hy^D)m;$G@cpREtvcdrU;gT(Fa5x>R>+_suD&&UCK zqO_M+R@?-G*0+Ym>jIBU8~18;?9)5cA6vRzco{ei``eeH8Co5BpL2YXnR{r^d4HAl zCndkKD`tG$;;z*H(RAM7Y`*{7kJ)IeLVeV#RVwx4kY_%%Xh@xT@MM>?V_ImE`a~!|_{NXqd*L~gBb-vH@b!rLKolQ41b%YPbQJo+3Uqo!6>zII&eN^(nTtZ#nz74JG@)G|BAQPuVqJLM)%f&o(X zMrYfV_zS(#u_piHwb7sd`{CPuFu|p|!Q@(3V(KW}{#%-xv|mOLudYH+coq%z)m{xi zLCf57l7VGR9yX3lGpIOT2hhad_f&8}Cd`^Jq6*;+4K?UP9nHF5`$y(I!rqiS^aag5HJ+q@~=qf5A^J@GF z{t(Dy?yRlBw~u_K*@lLO$zf8QHy9WgZntlITk7>=epOVQcx}%sO-kT}Y`8SLxwFFj zyQ$eI)p@&zf>Zr#YrgW47teYb&LtDkXmjhqVLWi}11Nso9pt=_v@|ZYIgf@Jo$?Ba z$Ej})+bRGi}M)YKlHttEBn>TGi8QWK5WxWNmd(lQ-@8m zUwP%2OMomWkA;H<&q`&jEvItb*Q+XW$WVQ0+(1A_bLx{quujnJoOGXVe z%!JSlluvS8JHP0#npCb`aP!VWXTe!s(H7-DdwCCs&y;MWBJBv%y*1pp45pH#nah`> zk|>9Ue7~s$vv-gXn>0m#&L_AieS}hIiW*ML{VMP~G}F#U4zuRSJ%qgG;YHGJ<|wB{ z6j+)s9{mXoISgx`ml*I51`0R|uKl^4l3<<9`xIwUG0x;T=pd=8u*yb-M=&MuIzE%( zyah-e|MAgL&hNeHX3ugKDlVpunh$Y}X4Q@#c`eCKO@Vc*)8V-eLepYWnA5q1g*xNL zJxUZZu{S}GA{i1)=wmO|qOYX50|q8G*}%fTRH20jDCvv|6pyU4(Tti8)5&D1 z*Zq0w+1Y{5Wh(k<26p~*Xq!&RF5-M2ppkbQk}u*TfY4`ha&kTffHihO!!IkinVo|| zL;p-yk%tR!D&{-jDk~%Z?et!|b`7xVnlLN;_Z{;xZC%gN=h7kO^8K6}P<5R~$V7;_ z%h=rajywQ5OzeP0x4E`c8>51{nE=7_Ifj^jy%Oyw{b@00n9JS5v&@(?hM15{v_kNX@Xx~j=+b{&CMDA9SczF{3A)U<^uI)7JCb%c$opqiHX$ImV`~3ht5@xO)#R|TtJ zcKGPENd4D-E_80V7iK!1pDp5pKA=DKQIT&7WXEQ~n+9@or%j4cCOY4<(x}t<5R}ty zIMitWVPxQQchK0c7@kj-ACNij*;*!w?7%93%Wv-TL1JcmZUH$zr;*mmtw4eYM7}O3do-=%zR#1-I{kM8+E?Ojs@BWTCOe&2W zcEPs;^yscJ#7hP%R&d-`726$LLK_aXm;TK$r6>@HeOOoRdv!Wj*z~r`^H}_^r+{=h zh>c5lQj90oR6?(6p^E-6cPXY=`A+<6ZAIbcH*$AGgh; ziW*gva>+ez^6W-B>#ihcfvjv?@cR7uT>E(@Al&{h9=jW{9rr@*a!jojX5SXMe7rY% zp?AqKf7GKaLAzwqHXpzOWa2#{yWV4A^9q5yYRjs&=)KzE zjAFa~jN_kHH;G9F!=fVbvAFn4DZ1q0&&@`=s(U&qQd>uU93V^DrgR0qa}Fk+!^x;aA0JR9 z9$j?0F#NwSN;zUz<-g_Yj@5F35_#S5qBEQPsq&LaO!}{AaCM_PSFe6`?Pu<_ju|%7 zX7)`0u3JyiZ{hVh0$(~?6^h+0lWi`)Dprx1>5a>7+~FigIy?6qp5t`WiqSZoF$50H zN7Ecpi?aZfpdSNvWx+DRTS#=|$*r;9^M0 z7HDL_!g6Qpa^Q05GVj&RROWv&XT5R%A@p$RkQnyDjhfjMj3EWc4{dBougEIKOI`MI zkm;K=1wB+-j2VlHSBFudW@p0#$(`K|b7ACfOM<5@rztMA);@u0sRsqy;V2Ok z141TwxS$Qd?pN8h1aEJ(xhld+aW4`_<_ zHkLPw&o$H}Xq+pd$;tzWT3iwIKuI^unofwGg6EHikS9*Td8>dniV_j0zA--nI(y9Y z-u<3BIFBj+F(-$@`Kw#Su9_gaosYVH?+()*Zn$$3+3u4d*HUjj0&Bz}LHHelleAD$ zM!@hPl_LsL!?b(>4ASezJ%Heuj-Nc|jh1{2-!L1T82U%|;luPCZ3~{xa9rxwr1HU0 zJ#!Yoxu!?7%J_l&*fFh9#jVTemXTxLHnNdMNSK7CLNPF*tH`)LM&a*@|0u<%OCO0$ zRo+jCSG6+Mks{IwXh7U>P>d${fx5Z$bxLQnTtB&hnQsWLRfL9lFlzMeDG$`#b0yg~ zo$TI^+2J_XxIEa*owZB5cd-RHMMhr!Z{+LMIrk+hLXw@?S%Zz^#!L5X;9n9x{ycE#uk}rJwc6C48vdRvN^78QsAOgWsCzR0c)%0xV<%ka?m~d_Lm+Aj0 z3P%ope#Zy-Gu9T~YBSZe7Nm(Ue^+Ki|8l8Be-8N^a&gw9c7{sGt?W*>c&)Aw=Y zuKu2WPSrEDs1t^Zi+OuHyOU0a3rTl=)x+dgaQC0anHi-?AhzsRco+^4e-9SB&WJ?f z*4ExzmkO@lrICjmY`W>@{VzTyl|M~<^2^-$`B&*A(6qU*-4CjfJvY zntmuIE$U!Yx#$(h4q~NsBhQduN;xeb3MtQiyGSvQ)ekyqrA`d^g!apjy=U;rU+~J? zj73~6G4}L|1EaeTObt8$!_VwRL$Y36#aKOjfd+7R2~RkCwbPY~-fE)&#ri>1n*YV` zsZ4-cys|Nf)z7i8u#7&bEyTObgqe^$UI8VazM-SszpaV#Rl>)AMwWoku*^WDTIAnf zBWg!!mzljbX)V1`Np+&snAZE8L@_aQXY;-Ip{#M;kgXf3sgXQkZ*>L_qwG1%gBQwotRv-l`fP98N1dm{?8Kbwvm=o;f-^I^vzWu^g;|-x-`Y*B zt$8j@q%+{)0b{(hz? zBe&ZV9D211dbPH&4`#TzkLY*5!>nH|xK-jQC=s4mJk2k(KOs>7E@JuSo#~Do)BWf5 zB)5=l90uqTt- z2r)*{+ypxe1#npV%1%cV&^6(xsQZATeeP2SOdsH@0p1-@%kWAu=X#bd}3ghmKMJaA3(!az~zf zGH?T_cpYG;WBHoy_y7SajBvK&;pJNTN@=CUdc7M+K!H5f&VRc)7ntajyyyPx@ak<` z$M+Y9Hc#33oUfPd(ID=J>%vk@K8+QOl1qPwerBoRt3o>D(LCvp4=62#+@J!D)x{K( z;^cIo?xL{*5|M1wWweWD=&@lpkC}P`>-;r3=jq8BCK$)dyCo^%lv=d=h}N zF!Sf2S^2Np(e#xz?;MczW4pGfz2Nj5ovA(7VL!udwa}x1_G6VBe*vOPeA9~;D}#d! z(MP@R?||&sin&629ZzwcLr%73^!8!Q<OY=_ z!JI$9?(+|v#%q`*vkX5AM-L4WSuusmVH*)&^o_Uj|5c6v!vUb-El0D`=b43OiMC(h zXB(H*M-d4pt?)I%J_nG+wzP}dEai^+N64Ay4vKi0k9pA(=8l&eC4Yg}^k1`-HZGJ( z)5p9Ua$(l35jF~+Rn}kMM+h+UIim_Prs*Mq{EjH8`<7_f9k>J-Y1Y>?N}CSmh3IAQ zql=^n2IrUEDxj?v39hq!+E~61rvD`JR$w+iOfjsK8uzpZj30cD(=RbbX;?oJ&$F>K zUor8-eTK7R6G;yA4;D?+4+@wRoZQ$xkff7U8Cc4_Ij={RdS zOLTZoc?pHU93BRLp%H6rk5SHW(po8J4;gB*9K{>|GghTJfii%{=R) zyM>X#j_&RP`uDCneOI!!wo|SBl5TkS-q2g+f!^+&{?R1JH~}Drs#( ztQyQ@mAazmHb}Ss zr1FN4%1-^BxwJ`)nlb&$#hlMqJ+Z%3&Ob~_YujTSP+qb&&$*FLzHc)q=66e?SXjt7 zsW!V|L=n0KO{?(`>}MJy!ew44AhL0 z28V_V|DDcyhb#@g1*+WkE4U*aM3p0t65-8_jeq7wnqC}tcX#iEwgRqzS^M)Xpjfwd z$_b?sdGzi?(+9u2i0egFZZ-9ns^T0OS z#k#=VF}d;&XHevP1UWzC@?WnS2`(-sMjLJX`z;#oxg5cTd1R4AKFzC^zp9+J9Hzs@ zSd#%47NBDys<=Kt!{J|{u-6^F%5R;le?<&gRIv2wa1j55%KRz(r)8d{4a8eVlH49_ z*qdH7cKa#*I9uler8W=ByP9G538=m)56OazVg&@LpqMqumRO#UA= zmte(j=9pE(QmLTA2NkR7VrYe;Vj&9S zm8P&V<^(Agn&@o9jLDg>lcRO}bJ*b@o?H}Tth7$Lwfg5jE)yh}Cd%}}&AGS|x~#$K zft7zCkYzEtG{|lYlS;z#Tvx8@3s3_KoAAXl``61pU=$kd00N_XD#P?v{WXziM|vt{ z5raxzAYrZksLMTi(1XDC7g8m47bg>6g4b6JKKy=>e9IG$u+An?V$l(H1!OdwOyNr% z&y&dMypdTLWrn5+!vApha!RSq%@e1HHP%W3|B9rC2`QwUld`4y-@ZJ0`c*4d-P)YE z&Zf=C``Y;}q|4yX|7u1`hkTiC;0&@?P`tb{Rl;Jj`;ktAS$@bOr5qf7RGy=e3Em{z zmFyfxI_W9u_8T(_SZ;%xg->r1FED1PE=xWc$*tQjQDVGapx&T)SFbyHbq&|h57n|zQU7Med~b1mcaP_ zuqt35lA#9(ppsFv{)be$T7be$K%NnEh#!t zQBmg$=T~eFx35I^wW)i^D%}IBQl<6x_ynob7gttRIxkcmQGP5Zs+6{^M@-}&3`+n% zbooW+vZbA>>gxH%*m_!lYV^M&DW2BLPD`LxWglStPkPiBczLBH+;P;f8Im7Eg#EOH zTWGJUQgI!{zLDV|O!gWT^ucUfeLqaO-FW$cSjuPj!O7g5T@(bxF$(#+&`YVKWfK2f z`SALxg6Z`4G1~WbRV}m~w+o#V+m&Yz*}GXoxIh!2RtJN|&dYfi#nV)glP;>iO)b~` z6z}^BQ}~ali?g8ltnMf?)Yir9_aBdZUY9Z}GBek%)1u6?GUQdCnrT~#{|m{g)8q}O z=Ne|LQs{ehR}ZJ~;57l?hrpP#^#YU0Q9X<7<&BL>NYU8pQQl3>0_A9?2~BD@x!fnL zsVDK}qFLyQ0icv^mNHhxASWk>v3hLv`jvQ}$aR}|AfXVb%$YJ5x{0q5uF zg(@Q5;S2 z!;f+aQnYRg0FpHwB13X)E%<>&Yp@RCZxw8BS|V_jxWelvWFo-eooWi*Sv0y>6eL;c zxVKMW9!^+T0IfrXYBMUTst9WYJ*8S|rmj%|>$M@53Oi4p}!ziocR7ftDHMnyqrUs+^=Ih=AMK& zaXv8$iKtI~myjuNZ z{z}-z<$chWl=G3Ms%t(SSEcD*cb%-f`3##^%7~^Xw$w_h0nn0x(rHS7p2a2zLWpRB z$z0C3ln zeJC(HukiL!LbnEH`kNRzF=^vF-`L>n{H;G1%ZNICZ;6LZ#mpTUUSiasx@L(a~h7 zSKZPO;u2sgv~L7>2u^0Vqsi^(knk= zy(80T15}u|q-UJHpH5+8f%2Ru8h>{OBtjJPYec&dk%56mw>EyyVOiU1kis64BC@{&?In4JNs66u3fNf!@&LXY@_63l1s&u#~^Ti zd3Y6QG*v{iF>`tP#zE0HLz# z8_iF|tUkkS%4A$^Js)Rdzh_9%CWfUK=KX^{<$Spr+``fePps+7Lf4cl7fZ@UKEK0Y zc&7yQ0o4X^W6wF&Ni>^&`=oA!zz!4QW0%HXJUSQuEi=>UhD8sbm1k%ed*Y{KZDF@3 zn1t{o#mb(+CAgkbpU_fXmL>&nip!FdJTUF`#+h7p+4wYE+BeT_eB0V<-HRv;ITv%? z4rm?$vAaE^rlaJ+zeQ`AR;w)66sN1yi`;WI8rL!<7TfA=mHOxBnqf1}=xWX2juZT* z-}+L;zGXbKMr+wH>Am7t-*A%&S2#W1+%8By49vv*`1jxUKOSZwZ8Lky^V{SWg_E9B z?!QnMv`t!eg|h{7tlk~G)Gsk#t^h{f_wFsVQj>{GEWD3k7_^G=JE%J&AN8MS^{n2h z)XusQr#9z60qb07;NjNM-`Fs>(z1IjrilLX>LlG)G`?K^W8n09rP*sOIckR|p3}!g zo-&n?djnR}a@4UB=}&Nl&q*BDKjk;yI@;UvjI2 z1}+_J@_UghA_E))S4X|=T(;W|KmA%9Bw4(xZ_XzIF?_f7i_A{&!-h3 zO<;8Y@e%ulMFwE*?0#GV1r7|XQW*!~T(4;&<=G_miZTqw`v@PM3zU%1r5ijjcz@^} zbN;7Db@!Wo;_?y$HDw-;KI?KhY|7gR-r_^H0=#t4BdF$F*s#23sTlDM{!^vr^*1J( zk{Tagp&**7Ohuw1IJ1h`)WwhPYY07982DsIwNZ?pLM@l`g5+}nxbveXtX)%_k(4gA z$H11ptSv5Yfk2SE%kPooe^Z2Uq3Qu?sri ze#Pu;XTo^_Ld)@27}%Uql2~TJR&RE)@{?!vwv|b??*9p5g1@)R8J%h3W#-suiN zj1OGWiTU1(4o6l7aD~PBS)#r?^lYPJLf=&;i!y( zDK#~~xMFm`p&D4?AmBSht4231{z^Q_hD?%sHTKn+feU;PTWkS$C$|NCNoTrQQ!oOo za;ZmP2+%-ChgF9z|GeW?Ji7jpof4+v;EW0?Fuu#zDL+B5a>dntSpJ>P5Q8TQ;ZpEG z--qGTj`sl2Dgv1j)ENr7yN5Jp)HXNO)mx+}sdfKucR3YvmS%r>GNF|JDe(^Qn%HgI zzTB@UjLwqumr*T3<|zcMY|Tbg{S2p3{#`MC9>K5(1@JjTG4!l+QHPJU{5S>s-FSWv z*q`^Gaz}=eF)i)8C+pe;_Kl5>sA{5|LBLMei=IdiR439GDY3Z~{daD-_oZ%b_Y>3m z`QEP8w&6N+?GfazWszBL^3UVV9H03wQR^-~nEBNZwZ_v0prFGw`2~6?OT= zPVro)th|!E*YsmrJ|1LBn9ldcuwxB4d*8f%s1I{0G>tHF( zisrS0@Dvkklfmq3;zfH(N;rPzw}}peO}>2-2Bz6rhpD=hpknlgrM|G@6p9Y>JDH8x zlo8?+O`NR8SXN0HDG3s%`h@ZZ!<$S&)rxg?Lt|>*D~-%GJzg#}&6w$I*y_qkmy{__ zyc?kykuA+1S|mow?#UOMn=Zd?3W;F1G16iZ!9lxwUtY-zzy>D5apnCSGln)O2*!Y) z6@z-BDfD~FL#j|VXdLZaHTD1uz?y}eLA1g=z$}?QR97QK+QZbD#XwKRb zPaoeJOQ((SB)6H-W6+SwwS*_{2(PmJvv3EcnSgQ~bFxNOjX0h*?+P=?28@~)WhMbiM@Uv`Ba)5 zSj48G@n^@135BL#R9~lnyKD~^BM)ivjqbp5(jNGp&SE14pUNna>MlA!oz?nfYtT#pLfTv8djr%)k!s{TCTLs#@CbJ$)>q8$p0M*L7hkAhKhe)&1 zr_=&FrMuGR^^>#$<@&z1$h{RO#p*uK3T$Oahy)CmZ5>UX)3v|Y%{eSk$sH^)VZION zMWQW;&4vvkS(?8@W{OSL+77|03)!~h7|mGO7bDO9e9wbEM~#>2P4c#x`08|j>X0uE z%V$+k*)1@o04w_wtdX3w4rpW8>qFMpA#?IK)j80{+l)=Xg=u9k49!mtCaOi%wSLe2uWr}oaN`W0N$M-i}96+YC{xXY34i!ICc6LYUYps^z&G|(!0 z2s>a2#g481`}_Cv{Przpg?vLGsD{I*pr5BJ76M1Ms`Yn(m5qiBBpxl^*)>Oo#l)zk zI`&U4EG+Ej*m0)y0;fU-F6E;EpdLWqKD@SUy;d?`AJ=R&D10-!c&3F6;>8F zYX+NFO^H$hT+jDoB_XgnGdOHh^j2H|W8%*@uZ#NH zWNX}OmdmZgvfw1dZ_#dMQh?pjWkqcCY89)a=WSK@o8jAxoqv#5!(jo}>W?MYcjqX0 z31R)(Ei+V)Qi4qK9+t)Py@ja%YCU9C=A(Wxx)zu{wL5hYJ?*h+*Yrq1jgwo6%t)AX zTxzX0^c<5hFxU5t9DCDjVlXR{QdyxW(XTvUhFL53Bi+XjTD~A91az`il?$gVJ*hhE zj8HRDXb)cYZ?cjN3Ua9f4ss-iLD1gx8@R~k_fos_jTibYh36Zd_-CVrMr^mWtE=n1 z-*sa!`T&d~A|eeaUD^BFEoX?x^U?B4Hr?p7xyA*Gg}^fZ{0)6dQH&ojziU;OHz6`|=!u|woOD@TH^A`>(0yk8 zUvBe`1y&Eu-zs{qH1{6nNyDsyawsttLdXL&G=-OWwdk&QrKpL@(a%S$OVoFM=gScy z8dTHr)8xshr>GP>sL$OQzZEo%VuC&VibNZH|8qrd8aPcTETtzpjrn$ES%B0PhWnpZ zBRo7C9e%0se1-av@Jjg{0A^{cWjkLjMiph(U7a9x3~1*} zY;r(fg=NTZ)hXIa!a~79rRb|%cpEX?f3)8bO6zO_AXZ+6*nHW-KiW})KQ#+~VlLFG zcVoIhu|}fDbF7}4V-5y9`$$L^TUV@5r+U|eLMeiLDZ0Qzj+B2MRLb(Qv#ZR)82C79 z=G@73vIJ}Jw@Hnfez!dS(<{Sc#pCON-GfcS1A-9|_Q%r`1>Bs^3Z|5m6=5^0(gR@Z zEeX4K!!DQ<;4?d(xLmV8KdCyOCOF9CipTx}uyUu}3%~vxg?gS2&Ym6uRY%dvZ&f3A zj}9uT3|+@|0>k&$%*)27YG?A2`Rtu5mI(wP?$r`OCb|U#e8!uLS*pd5+l~Y4@lCHl z%g$5toO6-O2bV``=fjU)Z%2}CZi#R4<1EB-=icA95#9dTw)9#*0}Y8h+|sRqzQo{q zB2^0|h6|KjQ|La3z+o`A41Sbf+L;I5184M4ytOg62bGm;97Wv@b0ZSjQF3 ztMn)CoSxV^I0&%f&izk~Hv0?^=9Zd2l|eL|pQ7k5DrDTpYj)J*SB-@PsEx*C{^}U6 zw3ObP-KTty))VTEzx$B3E64#yzb+Pem(>JJSHaMY_#G=r=%nTZ)viZSL+-L3%MRXl zjB6!K@|E&YaJ2m>f5%%|o*^#?md8AWNlN!@D2!DEe^r)T0-B|p{kUFfI3Jgjw2E&? zmT0-Z%F8m)7Q$*lv6WH_8bhoU)G3vf)p<|TI7_dG{Z2_~{FSG)jztsRK$BVzVPzUI zuS?vsoz1gsJeQ!UMSbk?c|FX~Qq*XVQ*&*YOR(?RZ2OUgn)}TTqSd3%L0>WqFtWgs zYkOc(-tm&Y{q_~ESa@gT_kWbM)X%HgeqHs;3q_&L5T2zdG`qFFkTcq(v&!}hLbz$L zw)Pg0gUm)ASe71;#{M9YECvB3d1hE+Yd2dL*!is;sdDfQ1XDk|0>xfDJ|vg6A|RFJRVfB z)N_=r2;eUMZ}G*tgj1LyE0(!8PFoYLJ+c~jxiNfs*7f4C=lS{Rp@q4&lwoFZd9Gp0 z&G*2s9$dPff}hjF#YKz$Op6^^rRK4H6MAm+0lUqpiN@`pEkxD>O?@b-1+cClX#sC^ z)e-gUcOJuguhxsWeajb@Hzn^&YUXyLCUl>il3L z!{X%6x24O2_RDR%^B)zp#~b^AD{2TpE{Tdj9f>Wgk@Zcoi*fUGsq`N{){xO91lM-@k5(`N5~>@`hS~pD#Qx@aI-w{$aj%j?_gr;I#sR zR_7PLT(?_q_3ZdJUGH0yF-XC8FGvp5C=YW?NfIn7%wwnMcqO~`rbL;ZD!*lQlmh_R zh03eJEyUBFr%&?rGm2+7nP4rm-UY5<1+oVB*uCj#Ip!~O+YQD@J0pIjW9#+JKIgx1 z0W+=)h1@*b8T?y#;PkO~L*6!|_dM>G{&^3t=q%QqmY{Rf&scj&s(jjhIiArT`BV>Z&F>kM!`ysb!ex(s65Z#%KSHcGbQhE zjzY7KA~r}hDZ`>A8KMI=C2*9f&}zm)n7pYwVx@R(jfsVuYWAWzK-7rM+uN|T_E>s7 z=*sA%c|lc8Yq^J4Wzd|W8+KNwyvM)E_EUKYEpkf1cw_xtB9nOe&`dD!6EmLcEYEjTJ+Py! zn|U5}79I*Vd2IB6rX03%Hr4sQ{hgSz`F(8~E&;wzxg}6xA?y!=)r@z@X&V<0bHfaO zYF5CsqSj|kXqEn|vQd$Bwpi_dMj3Up!sWCSYr$8htwBz4p2W$LbdsWDkV$r|UmpKl z3lI&13ks=e<=#}d3_oeK2vqQlblc?tT;X}R^!FrQYStIj;<^xr>nLMNh*c<2LEMV7 z_eN85C5VEIGPWftXeRjEPV{&v#GK^*k3F_DF4nO zZn`bA0(f-P1Fjd$?1qxOkh;Fu)^UVL{#O%GzUzsmC3wa-8{m=L+*uNg<$0A+;?C*< zFxr%tMgIw*WKs886MP&nLvHfZZGo$^hjT4~$2EyX&?E@KL*=_`jXTimdDB&lr_Umc zvsY)PS@hy!doHyx@eZS3_FXy(QLHq=5k>LD^)|1l0h5nP34cd0t1EIOQ)K)EWK4ln zM(jOlJNz}Frg(Bx0{&s#fizB{Q<)lw1r^EbP&;;kZZ^oVIdpst`%RG-K%i0Tpv%9V zDSLcF5_AC0vk@6!i~~sq5~~#2xhi#CW^2E4bxtEeq0;%mO0&VGDsLaL3n)0^>c$@) zA4^30xgI_p`vLgxt$c|M^>T%((K75_hJu;-wMv9Ph849fE$b9O#v<_Xw%v48^Wn40 z<4)X6L(Ij6#3#FmC+5FFNBa|YO7hB~(SLtJ&vysz?>*B7MQn4cHgZe<0+d}MDq+HB z?n?~WP|gOVZmOp_6{>pa3J4hM_Mzuhmj^y|4eo-EohqQI2@F@N5>!3N%c{Orr1v=<6u(lVC1^zV2t-U^KS@lBSdU)M2AD>aza;!9o9g5l63BnM5kfMnY4EPvx@?bNejJSn`=TAr^_ zjVx|xvWcjMeWa@m zF`=GcoBQFfV1NB2{(pv-XZV}g<)?DE3Sp+A{JV43zim0`#J@gk>WED}VEAM=c|PNF zIX)b-yH}fgM+CbEmdqw)2RYwf%z@T9@M0YIF0e>|0(3*&jiwEp@U>znTe2Om0b zi~^Wff|g`~mQ?Q>hj&`vo++#|yu^9ufOm3Y_BVH)g)gryclv&gIzw~u5#T0K6Tf&%3S_b#=Bq*G3?>o@#|jH>pd`qyiPYr)kL;+952{Jof)FhCu82HAFN}IX$_zTJ$Xd8Gnr$aRr2j%>YjG`u;swe zJsZrBiAgpLW^LZrB%hSxQ8MP<(6IB?DCT4}Q!r%vC$80#(L04cL6&&u(c2%RVO4dS zU_WutLfRgD!Ewsy4G7svxOsWqpC|=0tnPD?CT?Mj}DzhZ9v3QE$kA&YNpeD!n67eo`%p%wme`D~8hyKUb0 zhihU3twdRnuPrLD=<;>p#J=1Tx>g<-aH9ts&&p6g%=p^(VEhN1qaV5?D&Zejoo%kQ z`f=i1B4(RAYGvG}rVqRm0eBChcR$Z~&NuBnH(UE(AYmhKmNmuhOIW7VU2LoW@>O0Z zV4TKdoxZISF})dFs5URLwz#sHYk%BtnZ&22tjcV1hOdg+Bn{d0zYCsL1x6ZafLve> z8=64UUs1=%(@jO6cj}n10LZY2;ewzR73%jX0dua_EJr^L#$@2$&z_00T!XnY>*no! zbIK?w0~+7F0E&sQ+XWx*C%ZNn9h;Xo6RMU^BDw314Eqg$+x&Q9fBW)cJL+g5Ke#2A z-@RqFth`xteK>Nhb~YFgaSk*1SNU-v^HJo*{fWlCY^XDVkj4&bXKK8Qm zB5LFq&|gZy^Qf%ayHVDoAp+DFVaDS8*gW>RUq8@cYK4)a)$(=l_e=i^t(luJa7_7+ z(I-UFHc_Xd#9i{aj6nxgHw4`T=GFOwD1SB^o`3GDO6u9_rR!WD&MS^xFoHZkbDwmK zHG0W@i%OO#sQ0dZ`pM5^N$)ydCohX@oc17f)`&-YHCE2nKj+za(M_pZvurpj<~mr^fH8lMKMA5kV~b~~ui!Gs^-KJ66}x8Eu{060qchQr(J z>JdQd5`)1&lMW9Gh%U9>KHs7FZ(SPO_WpkgB|K>Rn8Km!&X@k(_4{^D^V$zDBrawz z&joRfZMLGflBcR-R)N{k(c&%ph}(JjTim6Z5LZVcBc&@Ngp$?fH~nr!x%j*3@b)GJ zgjlvAhws4(F6X7q1INvyUmpjruBltdb~<_1y#jj`n-N57v+#3a?N)>M0F#CW=m1=g zoet?I&fzZOTQ7Xgeei97t5VxVpehyYenWk$F08EQX{yxLemKQ=5q_snK##BJBXn1E z0E*QFV+_F85lapria5!01~MDZ28FG0IaMeU6$GNb^OqRr+NnUTPQ?gT06oK5$M-CP z9lz^%x-ZIiG1o*smxN_}6iQxo+8xEO=Y0lv(iQYQ%oK|#^PuI{ZnUvxR~Wk@FR|%; zUFRDsPn^^`vkqA@l=98Jgx2m~Z9x`#I({Orq#SfUOX+|=;cw`ltd6M&IE%Oo3DNNp z5T0I85X+SCBaoyfYpjDL!oD@suTiQM;0ujcSOR1vCh8>}80xtn*FOdgP>K|Bk1y$I zsaL)2#aVs`pLo~DcW^|GGx!TQ<@hFA7y@GzAhF|QDdOlFA({&#?4k63(DVxv24|TD zFIDHt=P+Z$v1tMo+M!?TpHvX#2c8a49M$MyUB>;nDfJ%GMIiFFL+Xbq38egO>B|2; z%~1(}Ci%9{5VRcA4s)mc25ZeaKu%z|Kt<`#{^|L}l3-elADQTLN!MJ*REaRWtLxbE*-$e_hqiPmN+$#M&ydlzh3EcCj#VY2EOjYmFj1H>2Sdzy9H8c)CwX9+8nUe}I0_rs=J^fuhB{ z(#>G&>~1^2pWXCD^W5H6>nJ>!k*wmFPC{t;xebLQ4X=Xy z5THC`0}{H+ltT{+>KeVe(D@`K%Ab?DK9=-ODi{vxkT3w{1%Rn|HVnI*AezMI)sTQE zf!ZHwEPZaYd=)9>a6)HgIBuAYr7FZKMPE?oCgkd9>6uvT!#TYI>m_m$ve|{Snt^08 z%Unyd5M7*I=}m1vYm1=Ajv%7KZYtwi{FdloTt|J zfznz{D^EahZWxmy@av(!`T=#pr_iK4eDX62(2t_od#;yNmrF)T$4|enLCaq2g5&G! zN3NQ_x9q3F?b+Obr`3WCreQFyM{d#RNH042Q`j%1>C zJMB6aj2M=wVd<_Yy!h92P08FeO|HR;6X+jbk3Up{CM|X|sI~fDXcmwczFOfd^fDYY z705xR_wi3f6<5n={x%1Z*gV^=^p^#JC81tIuKjLKxBc&in%$;cuhbTQ7M%c=U%%~7 zTy?m*fYS0SyA4U8+u^eIYz=Twv3kjfww`+^l%Z9OBdj4f2KkH<55WrYtqe3Eom8GQ z)Qwwd4YXnU;Jcx>OaANlFW<0bW_vtEv|l>4NSA?|Ur&poaB5n{AmHpQtm}Agtn_^D z?`me-Dfg`XCkxl`Zh*DkdG;pML3EncI}uu5j&P@W^Eokqw=(E29Yd^rZiCtZC=VVR z_e)GtS`*_EqPL*m(*~yWnsrOm6OOL!uPOkY2=KZ~r ze7v#(O~RCmrwR79pAf1Lt|eoy5?=%u3Im$?KqOv@)fiU%Y*F6ho#Jq9=le8B($XYr z0|LNnoA%4!LK?4&YC`RoVE_u=F@Io}QnIopD^aU`!n9`Vu3!7uD*w*qh0o>wfP@`z zGwG^rE4382XTMHsRG@tE!&UXXMFy`+$_xYbq;N5xn>#w9oty0e9jY~pP^(SOTf*%WW2y&h%0<_jHAzoUxN(Z#)2o4NI*2p~ zuPZTMTis=E>T`R#tM%AJqLm~%!gammu8bCkRNCua>L(izR?o1niw_~1#Uq`#yy`WI_`_g2%NM~?$F3bEAhhu z)gabU3)t-fPOg2MS;Kck@-=c^BGV(i(s@A?ZER}Lr}1rEvCJF!G!NWuUOoe{1nq2D zM93*s*?yp$E^9>EJA_X4dumTF>RaiFbyCDBXc96Jfs@f=!lYCRV5ska+o;lZdLNha z$T!S|x8FT~S)%*dR>3F55&c27vxAr1QC0h_as&-Q0{gELFssp#ccvcGk>e6wM)ug+ z%>HoxifM+b2CZjxyPlS3`(*(0ZjxJLzvVRhAdpk%-Ok(TyV=1?Mazu3A})Ft`MQ^A z9S4d}qh>ge_ni|4;)EEa$spJS*5e1rycOP;Q+s^FGq`%VFf!QP>&-9i$6~cv`>B3c z=We39sei4FSAZmQhb6YQo@#1wQpB3|hY8B(7(9?9fQX1Vzx4mo6Y~I1@IT^9Zm_sK zrcc2szajOWIBO}AvIOO)`6eKhX^`fSc;DdmGda&%dII5GN*8=FU2LO zbpOrd=WA_INTFo_0h}eRA?UyM^bXRPe5P3ST>8<3w?l{3>b^S9v$el#k|a2R^6L*? zpGw*1T8~~`ktEr8GE#fYg@-!eUoHOm^9M{3xnf!f#4rbw2Q0-eXCt;Re(9>6_2>_O8lyT*e}p9|{(+?Riz?H4xo=W9Tc zdC8*mbmRCU=gU8Vv|m7il2EF)Up7(+qyp=WnDvTF$y_6e_VD=9^u!k-pVH~e`-9&phy9aJ{kr0d zREBybbQ^GKzu5(NDk}rPgv)IDUwGS`Lp&YuSoinaG}P8E<@d0L%*-keqwsB84&=q< z1H$_WcSm(_6EK%SGRkkt6PP>GF4kJM+xOR5t~ZfQ6b>x_)jJVP%RZ6&_-*oJjg@OdcuTR1o!;4Zy9h# z^(e4bq8brY0Tm8XfZvQ5gOH`Oy$jo(XKFWSKxAbZVH3CG!a)|JYar$yg`OGIbbg=m z?zys~_`8GU-Po-8Fb3v$`9s9p5^wtEkNt(ptrJEx_=G(zwxm#rS^43Yt{nOtM%SFR zrV(QI$hLPp)zu~ah?d&UDOePfW|#aB`>c!slWv~W^~9%7Q~n=K=N(Vg|Htu5X32=S zMs{36R`$-kg|4DpJ8t&gBP2!KOSon(Wfm^k8P^Ecsw?DLxkOwNH{GnP-}(OW^DiF8 zz2}_I`}Kakp06Bp&XNi`^FKAFlj0GAEiEng?rOS@VYExpT!j}#el~;OU?9k!D|J4?Kz3>UpZbO{2h+VG2s;yO3waGQ;PJ?G@ypn<;&m zJr#;#_6^lco-lwu6ZUL9F@s;+ON&SKdPL7ziHEU1ceY-lb9p9yYZhu(H)r(b0CEzg7-sldElCQnSnKaU!gw~r&8OUKi~2na`%(7* zz2~kRxNl}i0#*7smU6e%k5D;?sQ)t+={Ql`4 z_C8Q7!)`PV1mjgZPM)wQuxk~iHEL1zqcIlMtqLCDn!ra#M=sOV@0CX#-ABVjA`!*o zRF)UWfjdiO<9HeC-xI+#u(Pw%FD8s8tX(ix=RqpuwEVa32;dPE5~}os=O8{b0@P*T zYotfvSev2qQ}DY6sEGt1qxrK+5x#%)cvcw*DUB1?9_1jc-f4|u!p$;cwp!zkuAeSn zmvia@biYfj;MLTDAmzD#zfai8@AdT>w>*$ryHM#?gg`a`2RUMBcJc$FIs19GsFPl2 zXB4Y+pGB)?k@=NBx0A73zVB}5tdc$qM?A!ea7|l}4;8SpF!8#Uh_AtXw7r@_nY7r2 zUsfm>biou0y8{LIOBqt>&?GHuNcdtf5kE&3y!nO@1XBt z%v;4hpp)`tnscD5bM0ZRgMguk6DE_r$E1K~9$+GtsUvYl5dX4!?F$=*F!bs(h3Bvg zU^A{t5G7lPLj@y+!F>U0KWH^wt2C~smcYtQirD=z<={dkyjQw_aIW}xzLH&`q;1YZ zbimoi)eCI%AYip<;C6Ri-x0yb}ls}-&eJjJ>5tpHKeLkqrW_xshq$U>cQ5g~sW z;|>^s2=rd}9wW|#P4MCGp#n+_)vnKxQrCTSrF!@E^s0SG)PkBBbE#RuB@sSsW7UjC z95+)vL02&o&yrc2+4*LlpveXX zaZ)fUMEFf9^NF%|{F_%e9;joHC0sq{Bttsme*d|3{Yl`VXsTGo_4_CKmV8qWf-}Y5 zbLY4uGM5wP;u+3|JaaA&BHjV%K`wC!Q!rvfcBMVD08xOOE34vNmUule>Ib_)5~E4u zM$PnwC$?TvP^4U$Q|nr4&Cr!U$h$v?k7V4pb~mTVRCPp%tD0M(0^XpfSjE^-biK&( z=HHQqOSi$UgCG)8){Yhzb;7r)P6r>y$H#-3qkx&7-@i+p zH$69XHNbV{6OkxAS_JHhwnnmTT5<4C9IicYJ+9iqSpJ>M&YgCOI-E7x-xs3nb~q%y z-}lqXKOPY}b~U{1itt#ysH(D8yfsi*JU=ULy0ct^eT8XJ4%$mpq_+gs@SNc{=4XLv%?DEiLlfo~<-@l(|hM(t zR(Ecyuh*w{lHo?Ce$npD)1V8LeVQxvBO!^oC(a5~2y`d7n*&vjL7sbCmAj@ z6$qFQ9`R#Z>Mjp_dOh^AspIi%hVtDnYBe>3$Q$N;5Jn1V6gkwQ$Eo zH-$O11(djuA72_AIv2WnQ?ZzYAizoAy!_FT5E5p=r*y zkg!i~nhH$(3RJPEE$h7vP8K#ap!Z~H0E(+R&$(k@#%BJ&G{Ac`57aPZS9VeC-Zc!_ z_LAg@qor9WVn1`50eQNF+t-PpklU+X1mgTCmVoy$eQ>h9W*(ap{I+H!l_!j6R@%a@ zTGTzExcmLx>PIbkow;agZGI};O=`B$$P8OKr-TZuI`x1eTq^Y@|I2#0A@umuxG`wG;PEa3baeJK&8 zF!vyV7x6Kw^#K7B4t^uP?0CbvUPFmbu43@IJube!uIkS)iBrTd(-5%sEFMp(0v7N2 zxfuY#3y{kOP8-SaP4}_AEOF29cHr_1Y*L?_kK3Cad%W!gps@aw^Iwo>+E9gCF0f43B7vQN;c54;ugX0_X;eASP?v zgWVqYJw1nH|HEn_@xJ?q@UfdVd&OCAM`+Y4qu-LoRYCfXzIXoA+`NsW(z)JFR%w~v zRFXiez%uWJa?Xe+TBR56_wFrYskXK|YH3-9{CB6#1A^taM@{?ZBHsbXG?&}z>7~jk zZRfUnAJXax7}&h48oEC^&@`kpi#95{Z1f20b#E1mS~>XEc13VtES*i@IkiJGy;ys; zEkM8DAQ@sdp)~J4YK+H`rueU;a!1p*7Y8g<&9lpPwpSN6uXp|JO%ghO6?f#{b@P?&&DbdGVLxY|nRJmrt6Fw#%}M&QH#X|Hv|eNsxbZ=Kifcr4+B z?TN&<1wG0~48&XxEJ_i#lTrQmRLzXxm0gjZttwiHAeQ*#0?hPXyiC=^Ij>Mne8*1A zqt5x6IRQVv=eKccX7VBnj@QjIr-C+adk7J!v-WnM*ZJhehuUksDFOzj*ETqo4V-WP zlKRU*^!Rs2=y_WG;3jQP6uHlENbScJ;q;qHW6?h_RBl%vEc0P6DZ2dfokEFsIp>)w z3fHV{H{ncA6pZot#s%$dhs&r^G9yWSvq?qK!gWKBzCld{aM0I6WA}$y1!g-;Q)l&vT#u;DmT!;+}0*NtLUFy%SUu%e_yu5I5+U!8) z?7A{?(7tLY?^1Y&fi9YI&JU6ooWbag*&#*>#doWCwAD<`skuM3R2V|)ykpSfy-_1I z_1(S)%n8kIp40HQhx|Ng&;He_qAEnu?ut76IdI`WC?O`;eXK~g_2lfhJI;~s@d^GG zc?|QP1ES9w*c=JzM9fga=I!hz`$~u1CKkXR-f@2jnyrqp3KEWYY|yKKy%q%w+hQz* zRHx%*9#753C%eQx7w@Ez!F}0oelg1I9uBi@YRRA{Hkb$m6gEjz8B89 zC)rVs7Zx{-TPDMD$XOeITTiRws$ThIj&TG<7KLXvNnddPl#i7)wsjyTj%$rRs$Mn^=ZX-W`L;uTcK-D1LsX-Uvl0 zDs9ZrR)|?a)7%y$MIH~6fn&KV`r(_}4a7?$@)Gec(9&s~zAWr~0lx6fJ0K5ij9yyd zZBXp+Irbl?OmA*za|_3x-Q)!h28nkLo=ei}<$;_*F&eT=>aB7$7d(dE{{wu$0G}Vtxj%GIVIPcve^Dbid zq+h}Fhqswj;9`ktmB_}qjfNqUt<$)J@VJ6>a;aaPoHRb4al)g#hCV^T*&BN!2b8ul zBle5E#NZ1g2xRq+U2c2&h_}ZjK#*M@tar!Pe8janffpfV9el~z0Mw(cixdlds`OW`;_BeimtkP%H)s5vp(Hp)b&%q z1rT?*Tc>+;94yN6q`tUopCok57zZ(^FT4(91FEV%P*0C^k9*S_Z1yme*h=Z2y#eOe zt_+%0&PPX31ZjTlY7nB!zI?hto{a36e1wFhz_^+S6;Ff-?ERY@9@r*?wN6GJVOxQ$XcUIzrp0UN4&~n*7QJ4kz&}5K?|1Lq z-1lLr)dXQ_Z^=~KOrVCDz^#<{sEI;X>e7!5Mh9-$!_2l~zKt~4%!9S_k$~Nbi@}zd zvho%(Qd%n6xY0Sj!(reN{5ag)Im>}L^+}9@`jW25zCUZ2o?b#Vkh=+Mmj0f6jrnEp zY1Tp92Q)KB0$Nnj_jc<-InvX&L|m>qMO0DFV?{^2Rvla@hOm}28-d)IW2d$HS@O0i zl+GhdMq14>6Otx|f0;1Z@HVG$cwqMLv5)$d`=j=&w`_lqO$JwEipIzuzL%aa6;^q< z+WUU`>|Xp?1Is4(ZFE!=X#o1r(4opd)QnDbmnn&GW=0e_48E1&%F^YUhZ(zPC4mjgt7x9cI<&V-N;pS`0F#{z z6L)G%wD+Lq!WMTsMrZCeidNpJBjckoQA2I_; z$d78~nPoO!8n3*(m&I9E)_s(JhINEGR%>u6fx--bp5Lq-GT1MQE`dY@KL*U~-&C!(zo z$~0fBi~?)2OH7}{ho%KPUcPMf9jUFM0R;VF!iHd`=U?cgAmyEs`t0nq_*vy)6&2!O z)&=AGs;a{nKU6svCJ=h-`QM=0#hUp0$rY6yOW8dkh%}KWfc~Win6V3CDJ0Dm);Y~h3fVS-uiuVH4i5TvQupEjJiqGM(k&+|=*f=ISt>9RI9)vVrVO|q z1+}A0F;{;1++C(NKvEvMyOSS=5G_i!=Y9hXYe68VlSbW}_*iPHQ%&|iyei4T&dxH^ zkghjIM^{}Z_WLuQuA>u*Lw6wO&05S=Q0e&L-kQYjk6#B|xW(AhXMO_RN825+OdlUV zzH&XH>S82Tb$!=gJ9_W;cQ>sC(ySB|06gTC$uh{iX3-9rzoM5%rfw|&>=$_*p<>6| zHB?qmUh=YXa!FNHSnV&4M8I~V-%aUx96=%NksRw5(=**-6uKg*##gKLyH$U&!Lh%V z-9m!?x_#OH<>!MD!mKqO9{4ER+og73cHHJh;0?8?@Y?|Z%=^+9_XTfX+w8=MULyx< z=!nc{O)yd2aOA_=pa0yH3$EwbCla0l=}?9q$g0%{P^L~C%A=B^!)HN>c(A39n0Xgk zQ*XuD=Z_pxfe9Jkia*Crw}!jvOym{*8f}unxr_?ahuAE99I0wpzWrfp;|X2wrA4}v z8zu}OrHV8$^s3K{`HKt-qJq0K=5E0owrF3a?hoKAt&L3RinNF_nGGB8qx;1e8Mm!O zqu!_D*QHB+U1M*RLY(9>#ar-rPb=&4TEw-{PNh{vostd;}LBYr&(nVZ3qnNB7iB`lC(Z+jfSs zoCAYvt1Lkzk6Vy8`d~9euC)m2VrF8J3%0!Fd5~YT2 zj@u^gadVb*w@8%8BeU#*i{7zyadWqO=RT$D_s0ulGEZrv(qA1qLbW;^6dP)oeX#31y_LxVIqGiR;8aq++4bBYEDJQ6W^v>aOWOD_?hvOb#~yz z0sG5RhnS)^`AO)e=L{~sENnMT-Zmx=CGQh>16Y&qHb|#xoj><6k1+sgo09X|Q#sB0 zYVyj`I|XO)MhRiL*JYUgKw*R4g0c|_$6U1pf+~$mLLebP-RVba`RkAv9b-%2qn{)f4;71mYJ+Q&!}i{GKdg&*^ugiLCmRud zn93pS)g;TJ{=kuZj|7Lp;1id0kh+d~TGog8&7vYf&iD8shP@v8tLtbh7&vMLsZ4_? zRDAvchl@PHPwkV=HvAv&w4!YQYHoB#^nFsy3Kl>toscQGv-O=*;u`)x!5?AEXFOhA z*TpR{-m!SRwzj=j^2uNOOhEqMwC({ZLZ@T@w@Zia!8dXo!h3(@AAXGj)HXUDRd)kV z_AQIBkUu{fi%)LzN#Yz^r#E9)HWy7NKY8@Myk!j>6}+E{-(oHPW#?b~_%y#aKrgwY zB|J3Rb!B}?{ycqP*HCcTI&Q^4hCB6S@W?Y$v}bn1Gy6V4trQ86O1VU3at0d5w4;w^ z-C5JqO4NwN&yRv#f8p2g!&#+jNWfS#n{c-ma=-a}n=k>Eu&>+M+SoP=&2+3g8h;u+ zUFYzaLZ+Ooo9ObT52kj49qh%i#O%#!wzTxr_BELD%v=)_tTOcMdtZ4?M(~zH<@EgA z!ixqQ-=>KXPP-hcg=8>Mo>0Shf$M3{-A-_N+w1xHSI{ZbdYRE3H$}{692LgJ!DfWH zzz3>X_tVo7y<>l)4*mK}4c-0%XNTf`#WK$Dh4@X~CMMaKA^xkTKgN5RiSP5=Rn6z@ zhAHbZfdrUy;H6YO&?SGL75XytCCi%7WUdU2R45cGoa*Y21KN<`#D+|1(+MaP;nupi zwQq<2I(HAgRyml?vy$bdpkSo$W>j7R4fcJucZGwITYt_ACL>qjI2)EzZWg4HZ~sZM zuKVzxv)T{)x6pLU>jX9A_o zp}+Rh;_+^{rGq{|c#<#VD7LN*JV+bo_#A8yT$L_pk9X*MPna;fHoVYhX#Bmo2h?NgnBWxw zzeI$Jwd1b%#3)n37c2`9mSK8bK1`mkgUmfjK0F5!AA z%u?#Cfx)sRS=$B}l2697CO1Mzp5e`kT1;g`g!Op5<=Q0lmdFD~nW!ypg#r%UU;E*8 z+Y5(FgwL;3A(aLJWzO03pwdubx~LF>=4K(4@UIF@;CQ#&dwS}l!Q2-wqCrt3BWy#W z9SlFEW(EoxXM}duK*{E^2uHM)C&;Z()lkgf{r59vN`=E?bz^$rFAU>T5gW|3G~PbK ziO%2DN}ED}b63;UNS^Vxo9cl5mQt_|3RV|fv;X_w8c$827ChY%9!t7oG?|_5wMZ+b`G*R4h!mF8?X6tdBFX~Q|&Z`Dt5FWW7cVKch zbN5?Z&~N|K&)tG3i^Yh|P%=ibnHnbli?2G=f$`02CcT(0`%jgVl9Gd3OhqSOQ&o!| zZ|{7E6}l}RlJ;9#!)g~hW61;u5n3Q`Q(LnMADJdaH8Mmiyz*t4788{BKBs3P{JFu% zA)>lgCz?7wp2bF4^sls4_>1@mXnr-mY=WBS5j`aL6Uv@mtJDP zhfidNPp99Xw6Ys}V!!QdsQK=zgzv2xDe$GYhVS!@Y$G#}5vcg-wxki^0cS5>8jkZs1OwB0@ZaH+2w)e^>s75-k#!A&vmLX1ST1<3g zf-NBu%wTRe47o~-bT8O_AKt%?_dEy8(YR3aJ$gQGteEM$7FKriMu?$T4ZRyO*ju?A zG^1C|XA#q963)$M#!-sA3&n=Qy~kwY8R{mILznerd2ljHi1JNo=4Z7dYTQZt6b)Op zj;$D-6&71|2sgsJ!{>u)k(AN$henu`lTFIqZPdtefQHU3+V5B!f>}A1$nU**7zC5c zMIOkcHQDqZHbCahD$2Zmb-P!(>&0;W0cd;8&2RSoLc*d#V!m#MQ&$20-L-e*E2Cb5@MXyI_&(#LUkeqkWSuXD=zg00!6Kxwm;k+oQZ%xCykZSsl%boKE! zPs`j?VOA88@bjgDagXO}%^C|0rXH{9kM;fgnERVYP$2c0drR%F=eAXtXv#^kQ(MsP zs%7`5j4j_SK_M-LiKa>7`npe)j^ihu!a$LaS(A-6)$<2}7%Bkk@oLoseTAp$jh2WP zF^y!rwvm2u7s#+=oO{S_G-taMp`yc<$s{#3qTD;d(gW?&3R-fs!=ldV339=6q0c;* z1?0JMka^}lRY(t|~N|9uVUE!wUu2^hOf#bl>UpSTL?b82}@TA=<* zwdLH=$UYW?sTcKL1&)zh%gf6HJWhuFF>T-G=7NYmzP>`*>MRMbpPUKnm&%H+rIyV5IUy@IU-6fY z8=?E*KT~&%x^>?Z?=^5I>_=%64ns6Tm;Ao9J7(W(1qC=9+sOru)wwrm}5eY z^6j8Rqx$3D)G%D@~Rb>XSGPduq=EDd27AW|bGH7PQmb0+g;HYX=J z3F3d7eD~JyR>`bk(XlZCAwk%q zb$&1@2|Zy^tzG>2XrXIqdHJ|xeuId(Y_c;j3mF5BclrebTguwnnj1}aSsNd6n$dqo zNZEtwLgCSme`pOie8w%Hwzhil{}}fv#c9T8>p_b1yg^yn}!h>S#anVLz+B!l{ zCi^}0-zh*nv6$*6V|;^6D#%o}^o}76kcayqeh6N2r}U`Sbv5V8DQjr$w+Ff3Y(Lzt zcHAjHCFn80$MJp!pO-{B8Lj zA>xc62-p=VDL$(B*BM)$eB$WutEOx$bma=ae;dw%CfaH&yM4g;w;5&;y)T^p+MZEu#)YOJtpvu2FM4vhnV%)eT7gUT%v#+t79>t` zvKZ*%51(dkk4N!@7eN1ure%$S-j@!EYblpjz@-BZ1A%S+YRGM5Rc@*t9Xk^OyTi&$ zkH2zNZw9*K@55#M`F4S#7cP*qe8T%rJSTo8-UIBoP{~T3 ztc}hoFFRM>azeD!Rko**^)=Q;OfE~jh<<+P>v>PW03ZaQwQ+%0IG(XHy$0qtZ`Y5) z0YxAYg6hWHZRi5zDyyI_FlYx$yrlggF_HAZ6+Hovl=P&omMa>k>fN)pwa(rz67}W! zkle#-2NSkwuX&z&o~~1=mWDps5@JQL&1za@4kUO~H&4xZxHg9oG=z)-iC)YiP2-^s zss$(s;{9ZNUJtg}3R?cvS?wEX!EEB5w0gcpAH-`<5X}q%xh2Nq=$@*i+F);plnqPd z!p*9iZ@65lTu=#6x&9}0!!UZV^!If4fzjAf^x}!*+z9)3z{~z%5xfTkpjoBLiCz?3 zbH$5VcT?@1lU*0=>OwSI?Lz0ywc@i?Hp;>ocJX-2zw>B2yL!4ZYnXDpM*%wFL`sX# zj>&B4X%^QBS$;>embf0!i@-|DA|QIZ{p%NlOAl?JqTsW@<3H7P$E!g1RZxE1+J8&b zqL>e7ODNSvE}6I0QTrpijXPzEKy{&#Ta2PcYx(UG`As)AHbKrb+g7{mg4F)IIiVU) zn=ht6xOKI8W0%p|AsXZx3X>^S`{@rTw_AWy#XZ4y>lf{_2I=N;=ufq@rU{->j>>Od z=E%D03Eu0duCSvP6ML>m&We^#RQWVNQm6W>u_y7wInC*Sz3fb4+du>DYnQ@g`IwFJ z+$&3NicUY;n8YmOQ-wb((!OruE);V`RZPNHaNe)ANvcZG^GlHcTcjzh*|RZMq%v32 zt{eJ0lr^Ka!3E;mHKwivzmZ@-wr{*EijI2FD?S9($2AnHQ<&+=vb)B27Ey_<)}QW- zD!%AD4ABDrMP!giwag|5kCNu?H1QtiKK(|w5|OFrM}uCNRXY*qz?_P#B*pkDX*w~a zl4l{ch=!^6p7ptU<4v{mPa^R7dN$Lc)PFLgDQY|n1~x{S74U0>Hlmljz}HaUrpS>6 zQG%WKIA@s}ABu6|w6$w5myJU59%R1y8nv8o%fCFBoB0kyGLtf}Ji$-S3VM9>e=Bs*zMh4)UZtK0X4Bx)XfNHRHxPy({uHTzZdib?bdeE%yOn2 z(O9}7hW`*u(72wsz86L8I1JKf2fJb|qC=u2@_q}di3axbqSE9+?kDGIZog|Fie1+C zU>06Y3@|+3PXm0;waKcvLBg|Ht6cEQT_`&WINY;~?55e!!)^pWhu=i*HK;WFY=#?k zz5S`^-E4Y_x*h!)O{JT^Ny^0L(mc^AXCL(GN`VaBhA{{*~M)i z@|0P{QKuIVpE(^1y!rLLbP!e;0cbtA-2RQ!;@FMer|CK$sQLvG#1Fg8H=akF;G4xQ z3^ghU1Tv(`L{#UED$XYZXYf`18q*^zsE$8hG8{UD^o(mP2>gH^sX*o8ONgP$8-+`_6 zQqb9N$Vq)Roa$J>pm)=ahLcuZj7xUM#=G>RJiuj36h1F=fN(&ET6^+7H;em{3+FcK zRlip4rBb}m5nh*FQC>5l41>~^A{>kZ?`7}8>!vq%%crb{g;|^)?`ETRck51f&a`x{ zocuV_g*-}4rH*g$tJ1Fs#RQN~acq_Ziw{dc<|QWP8zp?SN~>GVzjfZ*+k0i$(C$iQ zV8^`OkHZ*sALOe>P`x^{E?pk#5g+*6eHO%n{NN*9T^ zeeQH8j{oFu)87N@OH&BKxgEC~hx@t90@GS_z%itsGl1mE`FADR>U_M3*+;s&aJY9p zM_%M0bHI5X_rXmZ>HTDvn)VJn8k8)$(J7L6M;skFCx5v|^C61)>1!CPaQTQQt!WJ- zg`Qk^_jeJk2+6KmO7D`1hN4~1*H0i|Z*08^%gwm_#Ert6Jreh`DJyRsJ&}h}0m&0XW(}3b{aCFZYCV(8I zZhfDCKQ-m0@yDD4;ps*0{RYuAt5{om`!dm_pp^vaMBF=vIljz6-gQbg9>!?oD?;lW za0TVq*$^GUbg6Q^jk_9mvdnJB1F|aQ=XqX~om5Z-QUu8WdoTj$eM}}Ljqu(&-U!NQ zo;U;C7P_%#i$_nZq#KnVpFSfq?`Y23;peoRDz;1tOyh*E5dQUq60CM7vAg zQW}}r8CNJh*l1mRj`xRt1A>D@pxA`~8L;TMnm9AJpsuEtXIaVhetJtDFEQzv*PnIB zC6)T|?ew<&!nYIR^r9^Fl9c+ZLfkI#Rewjh%oEW!0cYfJm7~7-F>Tc$c+o-Q#)E_v zPk;{!wC@E+D5o@XbM_KRekx!nR%(R+)U;ePksM6^(9$B8U2wayy(%XaQK|bH>2BKr zIZr#Y6}DLtMua0Q(k;~jWLIOfth4Q%>?|96Y<`HQa32QMKe%UoHSxbpX>6RvD-qGs zuO3&7U0gry7J)YzpT1#K#F%$1Yy-nR$8z+EqwN$A4-Y^C^32<8uh6^y{HCF|c_Yvm zfNKPODZBmhG8LspE@U+5$w;Rz6+w;plV(E${OAmy3q1Iv$QsMmCyA2d#A0U`4bo|5Js64z*xAE*p$x9WMzBw97jpWIeCra7x zIy5UR%E%EEDB?=u^+%yEuOd_LNS8LfNQh^5x?Ij)BRwKx-Wi+>4p6{Y*kN<5yi}aT zVTMv`sWEEcp(?qNhAFRR%`GaG8dhyCbx3|g3AYoHxw=E)Zn^ke{ePs<1`A|I3dQKWe_tNF&VgrFzm|QY( znf}}C>_+&!Cs-18u-$upPQ5Q8vfW5Ron!3&)V4WXo{xd zt!ymij9VQe-t75x+5?+zEtCkWw7d86Eo|A1vCiMe3v9Z->aezyVu36Co1N4Ji(FA{ zO?C6q8Ly{w7%Hk}++#|f0kc12cvG0qJ42C!t|g<1R>Pes5Y(^c@UDH>i)p!EWBG|9 zp|^CrfOeR6doB2WwxhRkvR=weo|86bXFh^uS_QJ2iXcF4Eth3WB(nQoM6B1`AiRJm z3dSCvVo(dXT&K9;$H9$|(P20HdjkYgZD@s61KP^2_3`QmFkz1694d`zJuL+Gcylu| zp!ip+wcUqnuPj+vc}7?NIpZFzg<8|w$4e67pc3@*5Cq|4Wb{CL5!A2Ip&`ahv&zr@=_Z36qaL4bkF;e^9g!aNK4pR`RBGhudNrWm){=4T*ud5rfB*pRKPVK?1Qhef z$c4eKw{s+5T!HwiDxfNqSm5Iu5vEXZox2XV;|1LBxBLi?l=MF2AsPE(iC)9)%6K|` zXJo#GByk34e3%U(spW6N_m28f8(}(Q9b4P4=R2sU(Mv$k^6?0Gn3pvQCz+IF$(oK- z+4SBFr;s8KSMQgKKR!FzucRIVh@I1QN!|I`j)^U{G|RDC`wo>NLWWC0^Pf&Nb#2U8 zuJ+uzUbV#DgO9S5;A~8=dxq_C#4BgTw z%z|o+w7rJ_dT65-1k2wd+w&~AskQ|YcKrMunwo4nQFo?xZ`F0)d-u;>H`?DnymH>J zd%v;xQhZr<%r>?AVD8%Wv)STP&$@+&1l`W?v1zYx@1siH(;Y1T^o!8x|DbuBk1}|y ztpf?5YrPi@`xl1dx-V zEyK~_pfvWa8c$@9-V-a=80%^CFKjelNwhR0ytJQlM;X@mlkZ4}1}e0Wj03-IG|ext zmN!+ED;6kn4>I%6(jY_OX5PcnGrxn%cF~Z-VZyf5M%}QEkKl7_<1VB~1pzY>F>Wa$d zSG=DQvaygV;hAy=Z38PKJP10%~lD)YHU zfuxR)gxyC{BfIXwZM_?nRiJl;mrk~U`=m}066i?byXnjM>=AODnCLR|_oMkaP&~r= zk{))KQRo}?r!-fB!dl@~l69zTGqgl)cy8!r@OSNeLPbBHtGGzli=n-K6#-@n3V<^2 z|22Jp2vsM?e=!ysc|SV^cF#~W5fHY*$6MVJu;NSPaQ)~3yydu4p8%D-w`ySfn)qjjY@%7O9?qq(oqx4Y+T$_{@j!hEwd1U%S`ZYE~U za?wOD_*G7#N`@Zf@*u#H=of@Nm0ibcPlu`+w)c;|y4FK}Lh&%=VnUxVAItNe!;)If zh1$TD+Rf)b@$_|7RghZ-$?OK+S0wAvmq3NoR76{22all(*vPgcRE4j(;|e!ZN=@&c zDqWO;DVH%_uSR+@An)y`K<|#dK~%@{x<0u#=aJq2qOn5ykJ|ashqEJa zBA>TxU|H=ZB;}8myM2H$MkO&qgihp#kMbN4{1_>b8MPrc5E<;{%b-w-wh`JIhr>N( zJ)N#Q_2e_Qy)<^=f^Z zN+`)=<%;6>_}_XS2z2H=|7JKTF76AZ(xso{XkmL{pYluS*L3I>Zjm&fy7KGqvVq++ zFAEb{>xJaugyP=>Z4K?V-Q^3#v75VZ=MTTtJ$8u*C6~7@9xT+wJYzat=CA9DqmbOx zHTf+CGHr+wdK$Q{#)_d)Wi!b8;ls%8`RNh%*QBE<)K?FRw$)z(%n;GU_?`sAzgt4R z8qzF9iS~1f&&|Ni7{UE7n#=T=TpGhA(w?&6_D9vF=?S%KxBaYX1}Ay%7)P$t;K?gH zhvLa4u|OW7Ewn;rv|Sq2jBd0V(cBkeA4!_m1Y`glbzcX#N9x1`#1)LGsH*ZD{sHuU zJQh&ask3Cj9FWAwNao3MFN*Vf-{ojyT{$_su&|2Wi^g>yr+bVO2#5sEp@WoR!f z2P~ih{m_(Ovj<9YbvUQ*6sql(4T`Tma0V@BfUXL0Cd!#;2vuHil72_S!OsTX>GC|{ zs8@gFLH;?92^+M%e|ak4i;3PcP*9n=p)7=gzC*}bJ7h=p0^xV}=BjtjfqbD+xXJO^ z-B+sct-bM$z>Wn%YI(gxioyBy7l=YDXmi8L_`uq~_V6w_Z{Z)uzhVHeG#AiMv>mR| zIDAOh!vlX7k+A zZW*8}7{s2QVkEwlK~ntc#?DzV=^HU{y9 zU;PvwP>og!mFOt^7th(QwK4T?lSpnF4syBp*^{SFzt72AWM*akXLAD3~$&W#3P^UB|1}rfa)*_uMm;qfbz( zz{=i#>({T?ZEEq@#IL3Gw>CfT7RSP*viiTTFz&l$-(9}v;3V zVHaZ1=Nbqs?1zabf(&Y!-I}$65?`K~oYS*;n3!(XV(G4V@k!X#KQw>PhZl22dd;U) zNa{iF&JO1<>Sd)&AGm2ffuy|D@dcSaEkE}<-n8JhEm?p)2cJFFTtBDQ2yM7 zyuWx#?8b$zJi0y{dyJtpXO-o)&<$*TMoq4)h^OrB3;A#P@OmR{0ARCbA>(ML2V!eL zQOE&_-5;9i%_1sRuaqxC(5Yg`^N|a%p<`sr_yE+FM*2&u5Z!<`|uE2uaa);NPX}E@%3I6p;H%Q z0+Pzib+QrHA+9XU5rzpxYSp|iAxk3U{x&_jLJ^~TBZ2~gmyPlz-h~suoW|n~LmA_U zE@hi&gJsBj_}xU%#@=?z*GKteAeoE@bI@IM8UVZEE+q88_XDr}FmvQG%~$?+vcKs4 zQYU$-Q>^G~)uX~eSPJrzFib$5BC&G8HaEdl_`^QIZjvRMPvO(~-e*iR4|WT8ExcR- zQE~2ae0B|OA3Jtmu;;EkQQEgtvPaG85$-8?6N>{HT)(r08`KpjDa}QPo0`=JA?}RKdmx{8;96-%BaU!v{xq_yZi$`Opsb|Nd z07y;uAjwJE?ZoNy{@J(4v(fIq*C?k`s-)OWtW8H~P)yWO{(R~xaK4w9gCGJ6tO(hP zctA^UX_?$wHLC9jHzGDqg@ya?{|E4z)IH47J^Wc*Sd6(E7<06T&2>C(szKPwRW?S> z5yHa4+*cIXKhozyn>A;%N+s>)H3J3G#|A~%40^~#Z6{BKj$e=D7Dun3N}rwp%}LI} zTF)j|vMd)m=|{dA@s^vRY8!E38u^BSpW<5@2zw}gvsR~T&ybwtCMqoRc1|kWb}YLw z4E7ap>>z=&6^@{L!Xz zL5QW%=9ZcD^o^Bo;G3X~apTw53ohy@m4#jOALUG3BgRQ_d-26iBpzvyY1p4=Y(A+m zkYx9u0@(^|aQymxGZ#~KjQ7Wnd16KEdQfJ4a_4S5`qst5KvtDhcApJ%vv`=hV`7Da6HR=c0UE0oe4M)Y>SYI*9uzIB91Zc@W4ksX=0o*s-dlNw4G;RRUPbq|L&XTrh z1X<0!&`Nd}KZm#MI(tfqIjYn2tnj9f$3IxDp)X5l6m~|dUeh{{7IomS&9xpl=Ym^# zk~c=C9?Gy7Ku!A|u@^=fAoqJB*q>Q>m%Fvjo3E@BQT$v(KYqnT1v<*6Mu+RVC11xK z2UX59;PY;h);Av=tdKn#Vp7y`2)ux}jZ?_R^j2$f22qrrj;ee-HvSIsU^*v;@Tp_!G zo>RT~**2$ggmCC7o2#7ZeH4z5y)3OA*o+2g|E?eAe(?| z(|$yc>)BE5h^xbEgAw_LPX;5y;o%z;2-^^69gzb3?9x(4bAX(#@n?#ue>kOqbV}#H z#QH7LrU%fk0uXP2lgp+7BZgw(8D3AQDXE)sO#>Eo-2J?Ylr%TzkRl^BMg%5Xo-jyO zO%!ltja~7OH%1eE=FRG~JK1ie>zFYsX*PzF);7~ zo^x$5FaXrIKY#pE_-KkA^!F>>iyIkNqyugsnR3md130*dY#PPzV ztv8?%SB9-_CGgPa@BRGa=jRjd9r)`7WSGH7cSuN0S=DeYi9v^LT#dHbZ_5K?Oo95s#`9uT_w(5EhU|X4ju~b`FS`< zSc&DH7Z+XcRKAbZm%xSSM)zMIrQlkp{ zRtsobk57W!_o%s5{_7pg|M*wfpy242!O(=avU!^jsmTIYz?lNdk71zYF!_j>{kwh| zaz6WKc)SSS38rDpV#9zNZfZ=Gq(% z@ygpra~b#;LeEI0RY!~e^y-fLQuvVnzq5|k^ZCa)Eq_P5%biNUyV^nE1qSM8lUJu5 zS6&hw=Zw5e!v1v)oUa8FhMwQe-9q7BzuZt5NsR54)7l!$kXaoIy!(E8n={3ch9R?e zKTvw5B6;1MU#nrFyyV&4+=h?^G|f&>OG}6*R3j2A^dA2K9k0U9BZM29b8{ezLb1V9 zYpN1$r@|iiCtA4i6YR4zLD-Za)BEr{!wd-X99r&i*`WgjD<${ffW2~dJ;swe#`Kz9 z6vOz3=N?I!!oF8Em)Dq&!r6a@-Q%(N9;Q#?IDRH@n3qQd)^reyL{VTR9oQZCQe}w< z;1*)YhJ+fHVXNz*}(T}m;o(Jhc zX~=V>tyR`(oKxTUsHRK%!U|GY9o#I)K_Ak7?{@pLcs>lfIOv8-k#mg;rrJ#bVZ=f# z8FlQBxXlPM+?P&n3x^jdD_vD z<;=3`;p;1dPfoWv&DP;;`FrwBWbT)B<;9G{>mlcf=v9X(UEX*IQTwe(fmBa8)9|_! zAY*|88oxDHSF_k2OufEzEuZiNUoKo^7v)9_yDOBB-*pU8Y0);~(l_P}_}B1UAuonH0a&^q-U1L`AL8X6zxWgO|$0-7( ziONB+KJqJA`(xwR`w{^J;M9)tzZbfI$0~yNV7k5&cY9#7ye70xi>>g{}F@&l!tpI z{E{dH|Gk6*mR4_ZawhdEtYal;s&E^{yt z;0A%}0SKgVJQae;&K>uydBNp;FE?CKQ4!b5l`}-cZ~nIQCYF`z9ViY5l#8G~ZZy-j zX&aeD+7e;M3w?e(ggr|GCQ9-+E*H=njJvJm=QtzBht_EcZ8>kzscXrv)%It5Ic0FX z>V^ne%uw_N&{T|n?(7_~#E6Vqc2WMWtZ1ed0_;Sghnu%^Y+AhU8Z$l%S7o`Hu<%-3 z_$~$Zyz6bZHh8+B@H9*5s?$RKvU;_7i_N+H>SFimGiT@-N#wEVsff5EX%olrTT(|i z)mcgK(R~`Y)F=-Y^wH;InucX5(6bF&nX`pJl{a5UGuuPBpvYUPWpyvGWDi6&nq-= zn-lm9SU&E~)Edyc&SW)5b+kxh=OVrU797>EkuSH zNVEm~Qdi>sb{iCEvnp{e?RO%w^F8E-hXbADQAf`~PROYRA})dct_u!O=k0Ku9PEC| zcgo%3YmHDt0x|?Y#t~X0xbljJI_cIJJD=7JIhi*W9+^eGae+9)6fW7D%xtergEl z{^%1JD9eEdB*&Z$U|z`(i*YS@2m`m@{=><>v%4)OAStzZaMPT zmuT_V^I!#h{zz^N5|LSa<~h#hAIj}g*dURVDN@5hIU5iS;yZMvlvBA8YKreQ-$NQg zI!BlvM=$Z6qTZd}$8&@0QUa5t=)NbwhGz#fZyF*8YMx}p*u7b6+C3@VDs^`+?f-}@ zRbsvI{P=khX@;J)bjw+O*h9HO0hX8(c)Dp?RNGq9Tw8m#e2?C1_fK<9N3{>qEzH~d zS8%&L(M|5o^?ubDqAdA{P!DW^2-Z3?jq&9?{u3Qc!qE5#;^s%HrbG)$rAhbaU zcmp}%q+aU5fyZuA;S~9LvnEUv7fCq>v*Nts9{0DPSKM6JDoO<%$p$`oQC~z68N49% zMG!?@vUZg`-$*%XX3QJSRfU1uf{0pV7P^{3hoLrXyife|Wq9Ja(I(p557tT49EuTs zRj(z#fe^UsQT?#%T%8cR;BmIF-}hG&3totobop3v$<{^MK7dmJMw2)7NWCXyMJYz{ z3_z0hMmKa_+dsfr2eKJ*7i@Tq0T>m_Q$W_WD{#*g(@i!FV_$gw(`=a-F1cn_RoD2) zl;7cj5DhmY+7>6pj~2G5WCNkLWAj&GGBPPLH-b=^XAHuiv!nBoJ?%NQHaKDmOyhhLUI&fbl9Ydt>?|O7&aeFI9N&= zu+wlyVQoR6&+oX(fQoH~2fu0EV6l%Y!vIIy;YI{W8`QZnwvue1cG$KX?&aXRR;~A1 zo(;eMq^`Xk@Yl9iRaeXZ4=L0nPxP^zCW&fIkq;^cEOgRyebMGWP0%A^h%+wUtwHO+ zq?R-6U`(Ooc;P~&K`IKsTS*ZCM-6MFM0+E5DGD{a^JyeYjjh+$v5s6G2F%OM70P{e@`FJJ3=NH z$$@8GFkdxKF%7UCLTD97o5!Wq)}y@>T(GYN|88U5GyjTJ3=8*d6z$*lBQ|xvtL=#R zD%29bOWd?vqmI0k$LiyMp?Obqj;?j z$_)e+Fk@MhrhCNPJQIh@`GfXLGaXv|y)Gk>MzT+P6tC1o2GQW4vYteVywd|^RFWAH zB@qX*pGV#JS@;pcsEko69>Z7t$Bp%@Y(cTo+xWX~HTbgjs zy62%C-#3|D^HP$KnsjpDmXMHU2D{cMa{J!r%8hw=np z(2wFGx+rG}OEU|b+~Eyiz@XpI^2TYl|6p#yK<(mj#9@TzLi^cIFV&NU=?+r4`pNN~ z-m~-H8?}9dtjkK`nuW1f7zC~w#%o(%k#PZC>=7_9^Sv(&JeXh7awfxdKd87MlAp20UyB{VKG$GuLrzZ%xKsM|xC=!GN*ME* z@}YznQ#PwtZj!9}N!T;8gVu5KhxbR_WP02DH=gtNZ+gtd=lePhL424;iSR)YX-2E4+w7(D2`K%$j1t2Y-1IDaV@g&i1Vu z4Jh|f&^Kw8GTPR%9_aVE$06hFrn~v0tYMY544Pnla*Dk#lp)uAiW%?_yDU<@Vj=^g z+|*q;8;!zG_4f86-A735!{zm>D^P?B{^@g!rbzR@uhBZaz2VEW1l6VQbF(y|5dbZ2 zeB3_gmWheDC_prJTBQL=9uzdsNL=GB{<*lwp;a}p!~SPSTul7WQ=n2|s7JqOmTvm7 z>C^dtQH&c$+bZwhzo%FGyEnD4z3K6(uI>pL;JWE8U|4->)K`Bv)E9bm^nEv2)0WH3 z!eS)hd~bQi%rGqqEl!Bv*dLJSz;UOcf)iB$^OoI2AK$B+4t^1?#ow(0N#zQl$gM3l z^E9>due_Qt0iUEN8Cy-a#qWA=zSW81Qk+pYvohBm2isX1{Jzs$jvvrAXGBO6!K)=D zKNM;1**tR0UZ`jZY}~lJKbbrcX#Hr-RuPx%C!ZVCep@bo%zI|%Q>||z=G_NavF~2XrR~%3E)zsxds@)WxGv|IqTX#C^-Z) zFgIm+xC@n7a=7ET5df_iT8Db9ofl)D(m42HiZu^Ed3P0%tUn4z+T}ee`mW@A1Y~wH zMN3co%2Gk_0n^JK`keM?v@fye83?hF8-g|CTJwjFu84|=H`{{V)6ev+1364Z&c zGZxEP+uPegISrG$#z<1Di@Zhh{@`mw+}@b&fB3aT(sDF?wpz#y^1#E|QuDMl?I2lp zqN6#4n-B%U^*XrwnJ^*Qj9#6p8<`gXwmUc4y81Y&V*L2Eo2cIaF`f(j4(jm7Tk>aO zw3KcV7RuP`)6qf4Et-IK-KGZ4UsqYy#4Vza$MsQ^les`iN!p98?_Sqqdts{+2VJLy z7mhN2({-Oka$g=4zkp^hGIMF5+-=1^!vM2;6v&8(iwQDPzCqi4-_6R@WSiF>D+G@m zCkp-d^8l?rQiFm}*tVVMy30nsv3&rG1bx2Q#LD$cF_G+(kngll+2|++1vCh=-iLPn z*A6n%r{TrgV?leCw-Jxh)~1H_`AwEjAUx);{$qGpWE^K`l#15t_37s!S)h`1(wG32~R3|^J<9+*LP?rRMrO1QYcq-@q0z<(6%|07g}Jrpu$ z?mS{m<^`dxwpX!UzvdnNhBubdgmIa;u7C zQ#dLLTF;K9bhL+u2Rp}~3-zlL^^VKahKSSJ+@o}6=ZVdu;o(zahEr)OU$ry_{))!> zm&A>i_mG?Y{r!H@50m-gcql+jYe1y@_wm&a33wE}O>f~9leIb4rXhI<&Yq?WX zP?Va6Bc4fo#UVj=rU&9JEoiyXn9A(gnb`#~!XGhFI;wl9;*AqcD1^IKG#YfD@LNOo z;*lW=8ig!PHcqHN=He&5Q_lTp;Id}(yl0YPMVZ3Z0DpNX6p8*&Sb`_iKZZEafhIer zY!z@c1ST_~dSy*L<5k7ZxUv-^UcD%;Q4I^6OW;bibLWr#U)~=fyotTM^mb2#bz6Te zyVy%jyy4Lrm(_+axgsFs7-M8;`QBW|@violI`gq@;^xaGMw`*Vr?0tT1 zxbO(Q7zjQ6O5u@0go4HP8sT#PGedxtmgL$4iV(k0Ew~iM_yLR?gzyyo@=l4)Ruo@R zxTmH*aNty6#24t@_* zp6_u+?5(UFOI-aFILS{HpO^o;H-iC6#H4-0ufxEm{O& zjt5CWP~}oRs5F>^qrZ6JC`jg|^bJV?m^(L3)m>gQy^O&(%x|~I9ifOfjK3uBy{!_E zQBF=>@`xQm!c)dGrKrgxp)Vl+@+6)pv0oR4hYZl(<_vGFZw!>pu?#*amX)}DDpKk^ z)z#VIy)r+1WNN~^?{So1a~`@nxPElmF6nf&Cn?fj)NxS8i8NvYEPj<6Jx)?JS$$bAecWtVZbH;}v_xU(nOw01_ZI#IqV=?jpf*@1 z60?@0-EM6T9OxLn$LyS)1)u&bSHCB8=Xz|xn2TeOIi$M%lO4|gPDTCG24&oSiD>4~ zdWOvVn2$-Sv^-0g1gXrC4d!=Cm%qI_PJfqn{5u(;zj17H3KZ6c?8LM*>@o$3i;#(C z(g~J3iRdzd9u!SXVQ9JgYcPMrc6RR2qv>G&@jv`&W&SYH2(p@r70Q&0nU1_>J91@pbf9L zVADmBI_*Ot>aG4SFVo^&*;!-4EQ$YC%oMAOIwqvzmRx{x#E+}pjn z8@?L?*Z~p!&bep(rAy~l#Xq+yBZ@j&4=&F*TQ5(yMmqN90k5o8+K=&q^iKiLN%=EN zDq3JEBJhB&*ji{0IZO3w9e2S3p35z6-0n&1xBsU|AnR%bxqJ)xInm^3Doq)^{pK$q2`&Ypv1HI>gre-efT|Q zkORC+-1km@d9|a-t$eq`=2ZFKg1ik%&ak}~UqwW|?JvG4{~1&3ycBYlJ#;8jDl$;Y z2GEouUPuO$h7>AoTH32WJ>MV>b(~2=ydU|o7Sr>*v=1USfP(14bQ3JEwKY~T#p27e zx4GQRB2%gnTc$;{Qcpi&6ujnt`Kh3EUC2KC1XSIWKfAlUV9vI`LYj&XrQuAzS*jB8 zC|d-#fHr@f)E7G{ZlJU!)%@*a6L=~UI>nJ&*oZl1)tlDCBn8t~BC6z&v!yJ)q(0+- zJ7Nxg_g~w>g=G8>#flPC$=v(?-*pxB%&Q?fVYFPbofyx$spH#ivp0wG@BUhPkId21 z)HiK^`d+(nCszP=6DJDRHu3508=v=88#$hkRa5$Q({fEIDv~S9SyzPa&UA+U2S{?6 zD9uKfo2#gAcBbYH(Jw#(wSEjI6=}#XjAW7hZ}8bL3<*Wtmz+d1;s!)*ejP%zOhphb zOo1t*eL$Dr>7gV}NB|`quged{O6uSAtgCK*s_P4{#fX1u$=T)LpqC%c(w#_wB3MKQ z813@wk-#sQ5cQIOPdZVh>lPhK;0d@F5fBj&;5_Yb^->xEk(`2UdoQ}kl2l7?W`H6K zR`1b~$;KL5mfj-59zgQwG*Xz%ndG^;jF_ZGs3G!mcU*Bd!OR-vbbMcrqlIvmy{k8F zqo>|$ExhDPNkUnGAbCU(f`#w^Ws(LQpK&)cm>r^|#^%guCG(h!;j#iu8ep;{wA79v zil!i2Uodeszu%(VsbTsBG{wZO?poV_gYkiPAET9V(>Q5J^Ihua z98LIL6D5Dw%|SH5FQh(*#@BoW_P!I+27YSyVyk6zPLLzQ5-#_CsBw#f{SF{^R+d%Z ziX0^9%H%{uM7md`V*i`bSa4KjXX<)teCQ6IUhC1^n9C zt7@9LGqQnkB{!;^^=wc9a8>;?(ffQJ@@ncS=+so%P981MNSqS-zDwS25Kh^|9PY_J z{eEzrBzqWb$flD00M3toKW4k!#1ZN3;Cazae>XqH)6?^zK<(1$Z?BeiT88=Ag|I*S zy+EZ{Zxe4JE}uAes?43@TePl7!<{;gmBChTglL;HIgZ&__Z?(O%4g`SjTn&V5QTX7 z0S|<{cRz`*=bbsEP6|X8zqOJ~#0up>yZn=5P3K_7rT6@v?zuz3QZ5(y&1|hvMP^LS3(RW#2ZhLDGP+>s>4es9+w6HsvivEgc`o${?w8 z9y1f5Ca~E08bE|f;d+qrX$s_-vSmp7kl){kCQnQQizdSLk_&HXa~I8eBz+ zQ0A2xq7iRgrG|X}G=;Z#N|NJJ0l@Vwteu$k-(V}xLD3u}9?7pg3YlxGSc;Pu&+?7B zZx(VAO|Kwf`RloIUub(n%N>JWXN9R3@;FjG9*-XyYU{rDVAfXg?%lgP$LRwlz!5R5 z!x=7{{Sa7QR65a$`j$I9aip3jxDD-{<_bd;o5ibfQY%VW3*zY4aX(n|p6e@kdEpy$ zPR-;0E;1lqRr_ETVd65^w(-Vy{%#?F9#o*<*vt4r$M?)~3$zf;|9Q~?pgCTOK+ zar_5o_{LVn_t4{o03d61LZX*t#j6B-0>TE1oBnXe{m`i`v9b!$$0oX5&)KQT4Ic;o zYp*Pv!~hjM{JMT&)pxm#1{L)D1csbgG^8Q>#P{Jwi(oU#>DZ%+sDD z3&?=?F#@g)_hq+cQUZONb*n6|jMyWxwSEt}JOM75A{VJ^q>Yh~oQQyskh}&E&Eo80 z&}l{ys4o1MSJrIkzi~p(T6pQi<)8jC$ zOBV`8yz$8}yVjc4noplh(;Phkj2IH|7iQ}NMSwtyz2t}fXR0vUg1mb0N=-=$*&I38 z$5Uw(I8pnQEX*wbs_yPBFV8yXs;Mf*tu}Tv0!|Wyq}cdZS_sdL4c&}?Uu1~q{b0~# z3B#`({Ki1^ow~gNj!0!$T)4?W$JJRMC5RltP=4}b$}CO^P}ZM9AEA3(yI|Cy#+;X2 zZb-br-IKt)X?MBI)jk;F{RdqbWy9`#&8XQ&f=R7M1+)y8()mGq%)$~k_mI*v(|OQ` zmODw*U$rCY8t7N!UAsrRR$i{IX$0*TVUB3ezqicfP z3H}8C^>3(p#t29wWmNH1`q@S1suZh%TX#VDcOyVGgMu9X(iH5rSC8mA_En1Sw0&?k zQ^A5J5AQ{drdNMZX7j$L6#GjH1%?WhM+-fs&Px>@}1 z^kO7A3_b-MXLPgJEk6oiK&6=w%Eyp)IN(BQ2=);12z;TCF&v_oK*V67{Eyh8832kZ zBRNA!fB#`?jVQpIO{yyso+ia6@9zwYcZ1D9<#KaeSgW1jb`e5;3KuqoaiR}w7R_ad z1_AM-LkVLVLfN)oaN=%D_%F)#7x&!;*abc0H~O-CsJI3X5RbaZjhTA_Wi=rd7CJ;X zYeTVLJRn0cwtEowlY*zh{|*n!MMPrW)bEyZ7*8+CI1GBo(?&%~N@qNXSM~aY!Ap)K z^kZ+P`!4yr-&9gl5{Qq9p&T~L63|YI*t zQ$bIeMrpZtgD^}$yIGqx%+4c+ooG#YrA z>Tz3*wD@e98vXQ9-mUyAh6P?rz^rNKwEffbAb1JP4zpk(+WWhdY8; z5h!Fz?;D|-*xQA=>t|yJ{Z#ZVHBfVYxf&=Y?-@bnN!_jIclFrSg;3fVGP(Ti8y|e= z%JRUE9d{b7t<$WbX$U(=Sp~a(U7CrJEsh;283pD6atMwf(AV1h5@GijCKz42hu0NA zC=~6VSKHLQkjS(oDN_gevZ?a_d`@of-r44OgkaLvY}l$Xv?V5o~5nN0_1KSgI1*6$LBaM7cNO=GthNOqZuIc2m1lM1BG8O+^uce zq#UcaP*_0nf!GI&RHDaf0R-jM`qD+;Tnufoocj6x>txkrqG)Ah=y{)D!Udtv?{uBb ztL!ixK==LXI47}n{OdE|Z2M<8Ko3a3At%{3_7paOJ11=|-yN+#qJC<>CBU(UE-@^Q zIa`5?00vQ9^9L#i)xrk_@oUgIuw6{E_zTf!4e~?Y>fY$-jm>RBSLtl}j-> z5GDgvG1gZ4wP4Uq?4^se6=vHaZuid)Fy1BImLTe$?tJe6A>~3}YXoj3NC>R%CmX1q z^bEb%>5W!D-3b5&jR8mVF%c(yuaA%EU)1BB0AYijJ`rfp+B33{Jo2>nEP-_ zs4uFBq*S4v?oM_+4`W~3i7{4jHNa^RS!u~)zw*T8o)SCMmG9o@@&+1NikGHQdhk`n zSjb8E8zz}qOvy{mU@YVLW^XPXb@!~_ z`m+FsuxQ3lGZt@9iNxrdezH34j9it7wB=^aS51Rr@%DMsDlDi_biP*QI=G#=G@-aimztpT1k zolZ=AT~y1``SX3p@fqG!5XTz5@+;yr_bQ!D!ONWXAioUjt!AT}`XOWEByn|kqk1bC zWKXOzvJdnF;l7O8k)l z)ZR-G4b5)x-k-Z|^Jn+Yb4>Qg-P0$2s;&O32_-@{As6&I$zx;QqnrMp0zR>9kYqjO zGj9)PfB(M7!oiv9>a)4>a)T78{C;6!RxJnjwws$<+a!!+(a}=hv8#|dNV+{e-R2~c zo?o-Rvm@?U#`wcV;!1j;COpDbH5=#T3*!Df>B}A^RmZGpW|}YW>41`}N=@mXytU!N zWN=G%er@5Yv!lPiukY&liSKRkEJ3V2u3vQ;rHoTajOJp>|B)ihZ}pP;1*i6ki|k;{ zBX`Odav1XhsVJ-=_RSb3?wYNkLC7EY*%esKxAN@zLTND7)SU9klNaURAO03A-3k9F zLm?=25G+!f%nG_+t~$M%D3~(-Vc6IevvIv{65&>SyQNKbq<*TOwW|q)WYJTkfKGGU zVxd%qu0x71p{6E%N)6*e+*U6gqW+^~x>qU(qH?(td-sK*``WW%7MVGY>r~XeI$6H@ z=3#o(Q>F+eM;fkCQ(kP@7~M^jp-i0W(w#&BJ&}Q_cN5cOh&VS>pehW~XH`@p3^?MM z-Q6L)y}dfU)H*N+FhkTEqn&3vz{kp=jB!$01R>|z3^^)5Jk@+R8TU{Np2u$gM|(_F zcf9p$d{ooZ(uv|aeNw2akFGGD!5s6yrxs>YR(Gp}Deu>}64Y@o3asr1o=P?_NUgy7b3{?03B^%t`AEO3B zV?LMXO?^+E`GwY1x34#egFER%K^jI(+G+3tNn*tY_(d*Xb&@m$=-+#ro@><<42)`3 z%8yb-9;+^ethn2>JzJ~2=)T~Bn3|?J*ZQR1>cqI=tC{MZ0iwtghww@k}3TJHlF)-K{45)QyMg57vDu8zxmlZa}g> z=$hYxvN$9N=ave8Mk4S6tL9#IKJp20pgY2+g5rBJ5MCa(nlF^Gp;+NeqhAuGz}gbMG8X!&E_^+8>8kC~*8ug? zy{>}vv?z#iTLkU3*t16q6KWL=IAPa8;EUpIjLf;xDX1x{AHucB-6iYV!|BBihWjdooyA zTWpDm$A-_)b=QZhb6o$iujrj6`%rBufc>$BcRmFyAfyf zT%d`*Crurp+jI3XF+BiFqJHYxaII=D_KT}q8Gho6znbyto@9S1Pkg3srnV+iJtlg8 zhPKN*!X;xYO%neR4V-v48YE6`C@3iN4y~lcc*>;BU?J4vPIxo|Su0$sn2UT7k9K z%CF_G^wB&b@%hV%fN}gvI3{#w*14P7nLMdE;Uxq*pS1V9gA^`3rjXu z7H50i^gx7XB*$I;Jz%%GoU-sD1bwQiGGsm>5|I(Ex^UOJlDsrfr0PHy*Zm|IXf!Ur zC195kr#3P{yk-O^^d`Szj5W+GWC8sr1k7DA+s{iEfWBm=TUa5nXG^4vZj!3O#N-kKHa_Q&Sf^~vE2Awzop4U4k?-_-fF@lS9hkK7kz&L zbFuA0IxvrXU&x912T+>LZET$9J?k+QyMnr+DIWgHK%a`<#hPGF@D!=F1E^TloA|rD z44{ucWeyFbOWcDfZR9iRCN)-A2r6@7vs7R_ykEu^#bxIlvG&)*{8TwX5D+6;69h#f zMTo9R0@T#hu1Qb?tC1f-p}NM3*;3WpILQM249fXfQiz(f8-S3uq?XSz)H@I{FZcMu zgIOW%xiqA${TIe9_sbdXq2P9d7z?i`b93)rIVvt3JmAKS8(os|nfT_I6W;2Ps zoY14;N5a-#Ip>_bzS>l`3jJv( zaji|L4vYIS>!Pfbg_|fDER;^E67sWn_#@;NxHxT9Hsfbd$t{{z{fLu*_WkSS4^7fS zzK0AXB$P0og`6#&UU=EzuC~-KFM6l}XyWYU%BAl}Tc={n!K`y>sk`$?R;nYV?7Ig7 zdI=YOp~^WURlU9Y9*2Xc1+UdFr$)kA>s69fcgxE!|1Jbrhpw#!S##Wob${=?zR%7u zz70g19kV_J!3mFG_F!8RCX_4qtyDA60OBErXC?}{;3)}dU+l0l$YM$^k@(NHRc*Dk z{sE=m+!WrITQ~H=2F640=CYMr?O-)KVXHVXiR0IaiOGDrNi+U;jA$GTV2e;52OJvZ zPPue@pHJLA!!$>!#5C zWoQiCLo;JT?;@`2?rkAye--K+=c z)269t7`KDi=Pzc4KbuyY<)Zq0f#U$R`9zhFf&o8&9#FIj*L-K(4=HyHjRRpJld+uG zc-4Vg0AMWoH}p0l>t_>X)x!2C70>=`*#X$Gaza9o`Ow59Leaq3L6m4FvKA6v`;7_- zh*D2D?!`eq5Pv0$OZrLIM?={_2Dk69IzSP}-WoPPZ17V4br0RGN9`1Qe>0esV>ihi`he+bu#Q~%XI3Muwav}p(^ea0WDV(0vztga z;4zJP?U?|xWe4mCcx?ff|lJdpwncc82`vYJj z9*jv`{o=z&`f{im)h85RHumiqKZiE1MppNn%jHw%&6|hSm?nAiC9itrww(->VO!Mt z?c0`16rg#Z9gjC7_@tTZp;*Jx31&1o7*6Ox>$2Va`Rv`YenVwBJhguc1d#%90X@d# znhzjSk_mq-Kp<`y;!SlCZfuu>>LvYoK;_@7E4IkvU8wKSa{f#W4v$qMkMk zuzShIvG=~B;zhmr27qExzeW}jG4Q5cMhNac+C4=N{&~iQvMd#0?oPu)e8;x}j2?wz zApqpupFK^0CUTUdDvqA^uSXMMw%2*JLC>gb6rTFV#~#W9ho{_FvfLz{fAH#_$HAH z+Yj@U5u`yv0N+tDgFs46*-?BX9Q+~}(c%Y<9Td;7R>yUuOUig- z!FG>bp#GUDO?A{uRkWK&Uzw)T?z6Y-CivuXD- z#0FsL>KEON)%=od#5n!ipTe$R8>r;jx})xYjmPic-3mf}S}@V*rkd&|^U`Vbu+>Nm=sHz*Xx_}Wf5-7W?b`2|!1BxN z-O!Esrj|nV5@6!#<%sx^9Z+!_m0FaZ=XeT(L%!|J5w`sT+)c2j( zg|#la`qxzx&^_dyd`oj?yq(w_3bDx9C$|vpn*GKo?;|WKDKLEH{wIWRDk}TAO8S65 zX8YBvSG>NpHfPn93;sucmQ;@w)+}Gq>T`uRlpiksx$-(ByOFbg3f0KbM##*LhDf~1 z7~9!BdPzU`pAZ|;9tU?YXQOk-$L~iQ>LwS$wanbDMAKWj%$63HP1(&A4+c6;z1sh+ zNvNLw6Kr6$=s^`PY@ZJ+gdZzhRW1c@mn)bmC;;T98#GOUy9*N&G8^Jq5zD;vcTc}K zsQ)_=+Y*A+mBx~4%)`NJtMp%;`z0C`?Brr*1wDyZ;Vv#%FD9> z8QG8peTiI=vWl{!=Ip*rIIYLv#M~1#=2yGa=)Ur8WVPWNG{IF`%9`^p^@*jmo>KhH z-eW#;{JOQPJ>ad^Ep!3?8Y!>qFpG?_y+q;kGyYasVE^Wr4d^8bmh8*?T14Te1~bcQE*i8 zxbj2ekz>462EC%n^zm_~op@2XwUt#ok{4X9$I>$xV41E2lwYEh2P%vgiX*P@r&(xl@r<|KS5>+8AU(b#rSbAG~|gY)D9s zNbY_^_z5!t#DJW`5d4pl`=5BSQ2ts@e!93TRYk-^N_~O+z`3Ox!OQC9Ulk0F_8Jcd z;kY81wF=~-o)vW%KZaf+IR280dL+)b9=iYY(M z@hT((nK?isVRr6$V^koEuNwrYDH{>?`CU=*GNa>&25rr)>jF#;F7wMnT_yQtbkX~igsJxi#MhT2WlCibjVduz?w zo8S5V@$y{3dQ>)w5zVyD6tJ7C_E>_l)Z9o_2b?(OdG-Q3(_ z%xyPuJMP3IVD(jXiCrrq=qU>ye}DhY_D}w>lFF-;^=5^D0}e&T;K(4@<3fW(lUE(w z)N%J{!_6b%Dzuk&2sr4zpHcaE-RXayYNL|FV9IJ>CuexC8Ia;nowH>s5B#IcnU$j3 zQ?qjw1Oe&t@kk`=0@4$Ry>sRL?rk{bm?$NvS&m`S!Y}CE4-4@t9p89&nK3L}#Yf=3 zLr>Z($$~soi^rK7OTyYv_wYf7PR)E?HbsU|)e@t2j*~DLT0A<}U$P&0wHHR6xkg!3 zem&Zdh5`gbAzR%Yu^p0B>JBd{Q~*OB2Kd)!HWBhKXhD=#(RTp*D^CRAnj>1&hKp+u zv!cB%$dj3)Rl;9M00J+7>NX3c20}}r8Rc;`hU5~xA;%?XU=-cIi!}K3UwOS3&~aP&UU2Ecl0lpbT|b_@L2~@d7ose zudrk_O)ZC!6A&`(HJTny$XgY+R9dM{XD?x;#qt`g zXTl9OYwMa0e%Mxu+}7iPBZFJjO^LaIefA4}H&*@E= z4-YZ9=`w=!OxDM2r}s{mEyXTA(47^Hd>8sNyh9j`>uQy03%(ZUY{ck;>- z;VV>p->a3RI|%>VkNIC7M~xeI8h-N(4h*fFvqL#*G8vHgmkwPFT znxCJaAh=|9QfI_hLaX}iXT{HhleNi2I>kztEmim%b1mw{ zdY(x~%nq;di*_jihGr%}s zid5bQtM;U}0Az%&wjz?5=vxs2 zYKabWh}!cJJWwVBb{-;x&DyQHz>>?9zO&h#&K=gQYl3u+mS%@xKcE@i%tx)o zIn~{{whi9+WgOpp@>$q}x9u?CeMjHrSs$7j@N@I#4h0-e`YfD8s|ixi=J4EUxhVR5 zd3vn;FW^HE2BMLUrFEoh)Pm9GIofs7I-lMI6=xk=_3g&G0n!1lP- zx?Wc*i?kM#1-zF3(;2O4o(7O83Q0Ho7E`t!p85qH(Q<6oofZTg@C97##+skBF!>+l z#AcFqCDk;FewoZn`p+#TS@`eci>h6UU0h@OwD^D>R#vN=$0`67ZKLLB*+12d>4Qa0qlodLITg|tpfuB&^8{9$!b&f2GF8SF9mTh`PQuy zJs!i(@NKT0uuq1u{wLeoGCwPSB#N=`5Nt{fP$qzIGAkJx^EsU_KbJaJoR1RnKAj#+ z(bR67fW#vk@i?*ywzNy;+n~J=e#8XXAwO#Jh+fz;Uhc2gDI(He(uio_-&f9VFQJf8 zCG9Q8b$#bp?n6j;^IX5DdHUl^m<-tt>WXEyWve&6xUcTy9361kw|9Q#N?x!Pb9ng8Mf02p{k=Cx2$QR57-HXq%T7t6F4z*1{|ZU-n~@=#VcE00QAz|LKciMs+X z;@}hf4tZD25JwkWuH0Ss`j+^+>H!KS$v_B5L=K@LmLd2-ud`Xi?aXn;jPI({rJ3k4UMgUFXnUa* zA^Aa|ccFUPpNevg)_V3BA=>99hDYX>HY?Jyc0$Wl0Dpn`WvJP#A8;a&@aojJYBcuh zKJ@g9Hs@dJ<}G+0FPB*}Gucdyk0J~&+44UpqHJ-D5sw&ES`s36cis{wwsf>~nBF(* zzv?~P+&bUf+Z%ewA^Ez*nQh0nB-w{&EuCA(@QWCY3S zq&T{-sN*)hb%@7xyFDUzGLnh;Pou;?9)>w;5zUX zdWl0*;H*4QuGLq=Kg$67 zFE^R>JsQn;V|pmMj@6Fh2IK1y<8Ne;mGmtTC7J=z@3?#8nDM0!RoeBpcNUvfssFf9 zSz&#Zxr9%Da)T>}w_L6<^&=t_tPzo@lkDqO*oE(qv0xSsePZ5L*+6#rH@GIx1n0T~ zp5NxH_C1|1hOnHN`=U!YQq01ecMs|L)mkWJc+{=qIMT(0sQS30-)HjeMFd31Bl1Z7 ztf5a+Pzc2&2f}kvevF`L09S*2-+j;sr3iIsyQf(p9yhrA5Lr0#5tW+vVeQUKi4~F1 zH~}p4&y$fQVp>rS2kyUxDeE8zVay$p?~u+COu&UKcmQU0{Dqr6bNk6TyUKEnd;H#$ zM_L-UKJ`d~%5Hj*9g~j3Nev8A9*A+Ui#akVy)CnG!hBE-^8m z^g49^hBaCd%xjgS6>&b@vi|Art3K_%-aBpQ=dS)?PrWwA_YM9P7XD2r(9sl{@!#zs zZV*w0Y9i*z8M5pU1Y-qyp;A~|-5n=tk(JJdG;~5UJv{qI%Xg+rK-In7oYcASQNF&s z!*|(2I91-uDII@XGZAq1;r33re~$4BMen_nXl{asZFTA8%-MN~{~nr8IdEr)IPo;s zz8#Kf000w=Gf~FIR=WAY6)L7w-67tzu3bA>XB}B*oh4^dMkTeLORG!cZy8|~qhnrX zuh<^5gGSvUs$lfYp{I2+`RBwcTNJ^AG`Yq^Gw|)f{i>?EA7y2Clx2f1ig%-4^{&gB zHeXnI*bE*{sn)mg{2ZM;pX2idkS9`k%D=>7PicDzHN|P5a{(39;MXOh$3P*3Vb8wWH)lP1B z0|2%5CrT(04q_!X{=)}4D+Z9ETa2_i&4-4pw7b#-;3PdR9%H3|Y6^(uGxtbq!J!}81|x9)k1z$}zp zE6DvWUnO32h^Q()3%&wnr3W>!fmB4K)eGFUcn3GU&HDoWJ>olAHL8CQwAj8@QhyOr zv-Nvy?EA`Q6gbDF#=OuVGjQ(j&$I}3wot?}?4*VxSj+gZnEBuv8@SwL7dFfOQ|wz+ z%Dv_DhX@dbV)ncVJp|G14#IH0R5G=EdBRlq214z3db(t?-}pr7 zk30|?uu*=weRz4aQz>>iad{E-ggy4Q!@K>HomKMYPN#a!)L-u(B)F0I_1GKA2aU1* zM|&AQ2lE=Rp${}pH8mS@<1RjlT&AWQb_zE(VrZhZ{a#gvKo>^DUBA}5A8$-_iJ7LE zR=Z9g@cIP0Y_?CnW@D6^_Uk)RJ5Ncme4Xr(WTK#AS zpzWtkn7-J$h7(3F5;D5W21kjZ8JfV% zln_CvKC*HUfaY9dMKI9bY$R>@;*l>*AAY1kic(YTrrQ;zT-6q~#=^kSR{+40%r_dl z;5*c1%-`hCIzcZZlz-K?Qieh(?HNJrCc&WK_BzvRPyWCk1jbP*w7f?YvXNV$vqyCc z$GO535t7niP;+D(ohq1;8>7nhglw|bliAA!KYNNsoYmDiiUK+n72YJV6bEw(Or#aPYNvdQaLwv(hRbkB zd*~zK2@Reznwgj%?|M|&TsGh1(%GvM-{Ni$O-;?vQupzsWMpNWhs~VV zwkcnH!_EuFm`BX@$5!GRkdj*Bx7u!tt1W~4uiU-sa(`Jz{~Cqd+oy?5CQpT7m=?_@ zdD#&Z5=N6=fYb7LQ?OUrpnaZZTMepi#Qdpm8CU=eA zzGdmZE#$m@c7~`P^?d01)55iKoV~$cl7}&(+Z{WADYYqm8QhwD?foNVFee)IA0P}R zn<42y-FH%eUo-m33-kn6F0NWfu ziI+4i4sm5Jvrja+Vp&F+zEi3{A~3)V@o zp%_Y~$y{RLvk1FGc_A6lH)G*j4wSI&rRL@**_9)@$O;3bCQ_Pu#C~^KtR&i7;hHtc z!?${PFRJz2@F{XhPU#zjE1PiDzvPaggO@@wb05>4%g<}19y@(ee7FQ1xgUh%P56E3 zm_HMu@iZDTkJx*Xd$P9&kCr{~X-0L3EnaS1Zu5OFZAxCT2uwL{1W4f0q5d+CvRqF% zVwLs=V$FZ9*pydZa@TKji>z?3IT;n3p932n--toNF#ZXj-`>dT;F8lQyH1AVfx?TfvR zQFm;WAvc4x?gKYo8flcM)sU^=zsV0K0Jqy|blSR@o4Rg9RQt0Z-}idM5@58~3BW&r z8uaQTDw&%vqMef3u7(4L^33nM>*c`mH8s`olx9lo7;)Gam>G;Hj)y;+kh7jOVfjsSBjOb?G{ z_tw_|pnD{m!I?ZL2d8`4EawNJ?7We-MK0N9y7+>SLIThaC?e zx?Q@UZzuJsg5+Y$H}W({8oxZ0EQ<_BM-25Fa|Ju(Y+@GRt1^d&mhVnDN9q0hs!fc< zhV5mbMeJh3^9Kj&HNX6UkC2D6PF{QSBa=h85Cn2a)p|CPYY&HBa~v-1iQYd^J8wVp zX8}|+E(IL79h8zrk%u$^*gJQb_NZo<5V7*RPhzO+W>zcmU*!V@5Kq#i8yjOpbIRXB zB9UkVQ&zHAd-DL=c#%yX+;Jj=_xRvBu=a+zC095R$xX#GsuN$K43&>D62^%T!UlxF zVV%YVGf67&FM~yoV?8zsu=FiO&ATer_tmd7>;M$AXV}==ic`~LXG5$yd1lw%=Q;-P z7=QmYW^QKu_H<{0`qQ}a1`rt`pbB-n(O8~UVFILy#D6)YuhXO5x43&u?CJUY*C7J% zplQ*uBh=g#@7@ig1B^#?zPpBnCfr4af=0J>GRLN-?vWXu zVKL~eElBbHeea#c4}kuFKUy8lA3<$ve8UYo_V)71>_eKL0hUz84i3Q`G1Oog|&IG&Hq_?_)qUd(mA zT>|9A@4^0?zxYn^mZuVJUKf9rkKdt#-Ykt*?h`lUG=IXA@)X-w+HR8{^>G$GhugA; zn)UWvf6B4>Krb!*M%tIQLjGdEgW?+Ym>YNF49MggXa6E}vK|Dybhn;6D)sc4+V6i9 z3k1?#-g%tFC~Uq7n_b@7Fq-zS%@S1TSw5Tz+31OxP|2t83$BY-xwO;o|dlqldJ z;au!Mr=4haSm6zIIqn@^RLF&)$Rv;1Nq-LAtknS1Kn+dvy3KZ`p0Q&z{8Pibz}dHf zxE7E=?mg;Yehv5y#&hhG)Kl(QVoj!iudLW2j?lmaQq($Ls)r% zB?woaCq;jQFcQ)~?)X$hexYX3jnyXllL?&&J~0_W9fF(m z;i1-oCDF3;M}`}sE61&%;iO>C57HgW=QwE*+x+}N6Dm-Z57)xJiTEJ5tcwXq*v=XP z?*ytgp*bsU?k&(qU<&)RjKnHKMUkeS|;Og!yho@9l z8|!;-rVou=CL!(^7#V6;d#2T26cPfqL4tEr@Zt*h&)~N!?u-avVS>rJ^j4zOwlU%T z!LOU5?)pX3q_|8{`o%F)9#}D2;W~{6p)mU3Ds?fTyzV3b=_Ra*yAM*qJ1m2A$8lZP z=Lbn75}YAHZnI*d=ip)?RylBUG9z^NcIMml>Y&qV^Q4E{Ev$f6)EQkn?4U_p;o#W( zzVL?a@kCnM5~|R!$i(TFAbUC*3vNOd%4w_XDFT|2Xmt|2q>`@LEdY(SwzkMC)g9!j z{ZZ;Ydc2El_b&gda7{=i22E{Uh_b7T;Qa{SWO{;okc@))&YnsVI^2%dtLsm5Xg6mj zW~#w7c$9JXY38W2&-;zd`O<|ZVXtotVV%OxGVdd$KhjY&J=?$R8>ct_U0K5hQ4h^c^B z>(}_DNskUt6G+v87|PCCpzF9UE0Gsyj6@0H?1uCZNFl}11ms%)H*t+8iLMYBRJQ5R zC*b;c`rKu7Dshr9uu3jb+C+qi%V~jO9CCeA*>_2E_83TKct~6m&_S}g76x&X%$B}^ zHgqi7o0tju74oK^k1@XDH@E+6$SJMfpmv-#T-M0VXIz3*1DB8Td zy{n|(_d~5f&D4%j*RGe{Uwfen<{zTr!aQ;CIM|H3T(`WWtPVCkExMc=y>Y(x3W9dE zAYny(PyW6FNb*u%3L78Bk4j0Tj1A&O53%54zOcx(e!uj#lKGp-BBNq6lE?leseIe* z&HQ2qJ%`j+@sgk0%clAO8GUy*S^h~ZpQVL)z}zv1^eu&Gb6bO&DO)TJ;29by)W2O~ zQR9e}uX5YVy8IOc)aq{Ey8T2?kR-n7skjWaA?#6@3QQdHgX4zP+X~&xl34!3H-L_? z0!|5YD)ccqt?bYYJ({mWqRcFQ7U_B51@Sz_3RQ?^N5nY=rTW!gaAN}(0irTtI)Ra2 zLj7hs^B}MZF@t6^)@04vTEW$6r#|U&q`IFK^_6;bo&~WtHug^e)QDE){lJY?K&eBt7wxW zbPd3ynVMLTeAkxgrG9>^tPH1Xq<(mKwhIIXBIUqwmM2S=|LJI(0f% zavN>)fH!(2AvS1r?88E}QR2wRD2_dC&FMjOJ1m6J*z>J-=+}p#uu|H@&2Dx2Oo-Q7pvDS!A3kF?H#Idkll$BPkMV<0cK)fq^r_Dj!?{eFokS=f>(2yj z?4OU+4gSyt7n|3ZiC@nh2!_~5h(CAK6n~K6;{4V7AjWgsjT$@kd-}lK^{e8@*1p+j z$uQZ6yC%ciFVIC&^CrT+dSY8q2dpF;^b(DJXw?1)>&+c)QN4Do#8DV-=mraKp>ET| zc>wcSZfunk=l*r};+QzLr^Dn6rO#jQ%a=}#g+N7!*egWuCn6HSq^Io%^^PmH;vaGa zKkSmy*W^qJ8$9Ds)Su^sJwngUnF7Dx{Ub(y#_x)CzJCzQ_YkO1eay*7Ng1D-2!~)) zv-5U%lw;y;a>V2JI+wa6(ZBTdt6e6)7$RBsQ`zW*bpHVfrsr!3xq{E;7nc=eA2$(E zAsi2|l@H9rAS!NfuB9mXLbZ~qDzGXxL|Wj3ceQNfunIE5ngNt+EJBFBZz80*_`M>T z$&`4Wb^b&-7ysSuqPSLlA$ru(>9zASt)V0%pvrmwYWUgZdDf+8$xHzokyyeKDFNqF zN#HaF(?INVVIT~kWH&TmCXrF8aYPz`rC}}djRuv`QZ65-N@1r zE)YZSfhY(HmQce;gFoS}s=kx}H!CKEUTM@WINsJV|FQR1r?*F^{%jsl!L=#v{|h=< zQ1+X>puORD6gKL*Rl9R8OI}OZFBFM_G`zL3Q>Un@cq6uX==#&s*2|Vani(@Totc_) z@i`4y!AFJXMm>3OnnB>M{;&08Br0Kbc{8wnbO8l*e%qNK7ta15b7iqpl-(RHY%Y5DeFBdr*I zb$a=lx}3HRm4q5x+a~uqxrOn};A-2h492e~kp`q!^`lCfs}*uXE1VgYjB?JQXg~;7 zenL6m!+qgpAbVCu8-{P2wUAgl(nE044<{{vZw!H$`zL zkFE?v8C>@3R0Z}bx)Q}1DV>AUO`OuaR+vfK)D*VE1$yzH+KWfR`s`prlUXLoB0Zno zxHIzpRW!eE=%?p*TH6zg2qVbk#aI_;CY-I%+9YBYq&jENke5fI0`>}EEzLBiBDQ%~xc;H&$m?mYOerOoX6vN}~d zTdW@Tm*BQ}gmfy|J@NBROg_q&&BZQe6E(3;AqeNsX*l*_G;ySm1E(~VGOw5@P)DD3A z?}Hsd6gga0QQ!tBf8JL;U|N>~fk09-HwxY?HgVD$fmJ0!5Gi5I(hc^xfYtdgs*a2C zrVs-;Qb0FTsnWC(5^c-)%P?TbD$Aotl`DV!JxN+NX3(as}F~ z^#@y*Q#xluqd~jXK~CF8+dvib?fTI`SJDh1{fgS%HBDPPhJ(#Uy^%DBD1(_{h)(Si4(htK2d2>*cAl;{Aau#_V`{s!v{pU$z6H?X0>K!+-m!yYu~pb_ z-bD#wOAB&bC5G>(Hiy(|mF`!S{kS8oFtK@P-d8e8t~r&U4qk4eq>Agoi{{FOL+(U4 zI0+MC9wo?JF{CPj!G&+$HU)wSNZnAH}FJg0DoV!tKQ?Kre!^SH@p% zayT*QBBhrp>E)83XmBYTi%tBtX2l4E86Xe=tV($BANX8kf6cpgtV<+w=THHT8N*M8 zzvh8;@8AoV{zT)~BmkNNkmD1K6u zNcxD26V#+5AT@)tOSzy5hK1{2UAsrtCY}~;{R~JcNWBuiDI9~kr*w~&-=VrDaQ2Z? zuAbE1PZXh|w)O)*v?PX3l0UroX~+PuLC#rtfB_YXsHt;fAOtPZD?seCLVXHpD{wD6 zEg$G+C>}3KJ;f;R^|!@j)q2{z8|k^?`g4EeWSr}LyKs*DWzfZ+*aM&Y(Ku>rtBvth z$C6*B>8VOTzP&wP1?o@jlnkYd9-r@TkItNUr~dQX49Fh-8(|H=RROB;2H#~=knh@R z(vHY$2%Z-TAxRDYM_dL)lD0W}W`aLSbMk28sp< zw-s&xWRIbMn}~6`XFj(Czh__#1?i&bRUs{$I7(Ie?4bwxngs{}ExbXloHtLw9VK>l z4~(9(7RjuWgWe$?g?u>bx=|fX;{vh4?uPrP=f$jSue+bV_bpUzTzf z;?FX@W+&hABEj-9dge>?Xl$0E?*e&$&h72-Mpv_3OhSwC>3+~rLLemY@b9a@MS9Dl z^@OZ0{KpTok9rlF=kTVocCo!u>2e22GZ)L1YopU7-vCFupJp91KYfX$YF0?7__qh# z=`V@1Va;q@^xYxJI%}`*#=1MKPF`FYwWI$3EWpLIy&Mk%?Xmw{Tm8jC{cc))<*17k zPl~0P+0V1_H8ZztFTe*B;PBgXO1q#3>YjWvIvzm*#+K@(AB;~m93p07)tl|1$04p* ziyvOUxRllpnQt{)m;L;4v3_@EVr&usUK(xIt=u3~uy|At$a&4H6-+UN1zWA3k{Ye- zEB7C6o&EL%rj=&a42y>ChQ(}@i*xvQbg;^ zif^=f^I-rsTUX#ig5a|XL(No5=b0s#^r{_unoVim^$MD|f&FVt71G69bj6)Zs8VBa zD8H#?z5^1@jv9YdmJ!eLh>cp3`o1QsgkaT(buav*K(Dg<-$8zDjBYrJnd^Ibx##Qc zKPTg<_uqNDco&p1GPg(gIuTdCBRl(QiwPW^Ca)wq6=v+|>kk3pTvIeG}?kU{@Q-GQYQVy(qV33@R#?P?_fIHY_$nis^6Oqy6wfR&CH6U6?9z7r#OJf@mh-**+Cl8kvS>wRd) z5&J&;^8#&wc9w1Npa<}|VAK#KtY5{6nlXeOx^$N; zY$(7OFyqCOnGduG-BaJzxe|Nc^>wBiTqOvp+^3ob5qZdF%W$NK5FJM*AH1#nfFJHm zd<=CWil71VEn&r%JPt4ug*%fz0#+(#Cn_opO)?L4=EBR-yJ!YAu$3SNJBUNECw?6B zbQPCiR?oMyb6i-khDlLZgV^Z9Wq>k;zY@o$vn!L|!>f(oW(YJ8;EQ0lQ{a(^PBfgr zriH-O;6>ULK##4E#bk}a?={685U|<7jNcgY0wF*RUqkJ_3PI7BviCCI*i*3}e~3^oOz8}8TGN9X(6P#;Gt)uacq6C(bzwU%kD@L;gZfXaFV{*kmAp=x!s){iE;2kW z&dzU(O?kPa5~%qXBj&82(#ygCrw}WR_;5u940~xJyePkdnQd(i?{YQYtS~(^`}xY% z)%CT1H%PbGFnP;HYhIA^ntD`QjMqEoPK`TnKp=9H&=w0^9Vl&P?fXl8+F9P1$a=f@Nk)5K*aQ5SeX&V}dup`; zrXI7lcM34ZzJ{nmu-=H1OJ`zm!yQ( z^th!5cey`FkL)TE@4gl9B_F?NT?6TZRT2-n>xzJc0DmaF5dw2+Q2oe&z)U;w*?xF0 z-eUWVGDk+B?080=N-*6Tpff-H2#nTfipMyA^@u+Lz5UwKPiZ2+}D38(L ze#R-pb{X`t)(B@l8n8^-)jXW^7c+vr0`t?w^FKzhX?|i6A_@JDcNQ|$c6Q2_n7Dh8 z`qx3H#`4{bSNR1Sfo^{LW#X~vL+FmHxE68g4}y0h4OE`zcue{Cl5TIvF|AN8@68sD zQ2uB5d~QA9V(v81GBFR8cbCX6ebUOOI6Cdv*SkdtarW}_?idBRxNJcX4@Wf@B3ZyW zrOqs|Hl4|jd2<9Cg2!KbIyZaqmtSSYO5Qhrc_Ci3!-(S7chi``jHwfF4<0y#tR3HN4*ZFa57CoOsx_5!N ztzGVo)|sc*je!Q?z;^>IO{!OsEOU{}Lwv)~Vw9ZU0g=fx0n!stVW?-{}_Y zYv%v6z78Pafd}xwula&J(i`5z0ZgGVzn^P5;{ow=65;`Xl##5gf}UB*>wwj}S>*0_ zKx2N9(F8NnYzzZErKFs3{OYLR(7laMIJsG_Bix8t`0v zYP;e2G!Tcq001dBqXzme&I+olM`_P3YHEqT+V@nJi+!(6-ur!BpxMU9Fx#Pxu>o9h zusI{EARDwj57-X{LN5U`NZZWOTK(o5zecxz+dBR`0MSFUq|a=^vsMr|?P9D@y1!GN zNzhQ-QGZsEs@R8*$CpWwBAfcFpa^~)mJY(&F}Tzo2aRUpQ+mK9R8qH>;8BRJXoNhU zMD_E5Y)yJ@t@x4_hgPp=7WBM(CRXam}N{vzd0squSiHIJsNhGncT^ zx%f4?`)H^@VID4imj`AHovq-MI)jrFojK8EGE2U_@LSmTnmq64%CjyEl3UypkMVa9 zZ0!|MAl%~*&JN2)83MRV3g->mX_s~^wgWHOQ!zn&9Lb&ekZt)olmr9fUcM^Sf zCrZQM_SFi+!WWslikhw#HIn6%p5|?KiLKuuq**gJG!|`2y&$eBl+<0uOx^w`dj{VD zrXp4jA_XvnLHZhR5h9El&_@OqR$Mj&QV;Cyb%)b)_?=&Lb~+>ej-M31IN(Qv>az32zH0mZTW`y(eRJ%QJ0Rz`DGpZ`@!CE+Mv?^7T=d8ZdpG$4=MOr|5*?41 zB_dwvg8S@Hg+OzZ+H8~ptfu+1vRvP3=!0!U?st?E&v^sw7j((A#fG;ZPP$L*MT|2; zXt4O#Ykf^#W9Q4zgaDT4R6n{Xhv z1rga08c$vF?jZTGYs0JjPysD)C1wc3uT@9^vY`%cWYdIU_1G(;oIXL~3q%M|G(&W# z$)ns-X)tBl9d(VwmY#Q1XkbW%KoCMi+D=?ff`suaBtWv@9-I23%n{YiF+G#AjTr7;Op zXyu1<2{S&kz5xAzq;m#?5Mbsev(X-Trd)UrN=-NQmMYsj!eH28#`tE%;reepp@S*# z-?`sbjjK)B@D|ezzq3c0@qx1~9{_p?fQi~|q}4eLYcvYn7mJ9!aiJ4*kY(|1ju3Qu z`?B}&X_~1i80gtq%iL(qmD}#Z$8W8qKb7DtFB4}q8)M%!u2 z^C)6k-p}rE2={yk$EFIUu^viJwy9zao)d@w-^AqMuGkcPxx{nL6n~3UgD&7@Ks44K z9I1tPL!^j^c+|6JTF;(6)5C_%{acQ9BE$zRch|V5ic)cSZ`65t0!=;gfbi417+sZwKu-F2j9p)`yP3I_GZ>s=*7`$PYf zw277-wyMR{I}>^PdUnjX_20Z`vj@UKUUel$s8xl}j1twHwqJn>5qk5MP1aQ97dz({P=kpwy zL4RBIcxF6TGe>9M<(d^@a=(~}+*Rl8DmD@|D*1UhzuU)(g{wQH3OU5*i&Po|>rX}M zR^7!r5-Kw#V}M+t0L*KaIs4hzG?jgo=`t(9!0Ws>#>)ZpqUQDQftR5yLeC4j&;8Jjr)uvwG? zw)}`AFLQs(`CRzN+s&LU&-^?ZjLJHnd{s%Yl_|eFcRN$=?Z19ypk%M?yI;ARBze9h zTOT;v(8$kl`}S?R#+ftns7NT_0LxWAnkoqon^SPDIZzM|OJBp_+rk)qlU}a_Tqz%7WaS zVu@i_e=@+>5|4mTGVF@?mGRiKGEjl{g+Eq6TCLOU@0qvN`Yyb;Rfs0%wZ5JZ0S0m5 zk$JjI%18ZAvI5_sy)qDNw0bvg(|dZV6gvKnXc%(5$R2ebS<5$n@rg(w#P6NK!OQ@^iK$*V&*oHhi7ZcxyBW~{D~&-BD;B;Z3wK}j zQGk|LmPZUni|`&r!`*`|UbXz-D(~@McgqEm;-d)MvSo7a=A-Vf5p*i>XTKEt;0UZ0 zb$0i$u(oLBgV10V2<^EX6p;EDqMXpW>2~8F%r{hLl{5LzI8bO0*s%n5LoTjf?5>h7 z&XuF1BUn{xmU^=^`>J`tfW1;CqWH|_n^RdA34vgWezH9lj`)(y$szJ4Jce`n8B2KU z-2yrx+&8Qz;Y~*g+)>0CS}uGG25F7O8ktQ2Wtt2liH2lt;1yUR(Ym?c;u2`|9!?S0yw{JBG zZd{|W=-@#5x^#dbt(x(-NRUWK$)faxI+P2IW1)fSQa=}cK{SM^ptfb6{gN3$j#WJ` zG<-Np0oqa2N2!8^KU3cXF$lP=pARnw;1!Ns1*WHse#K^G1ZmR*e-jQPleZ58Z1ifl z(Rp_|ljFDaC$tCs&;BmZs9?DPPsIMXo17X(MdM>DYtvDT@~{d64mB=}6vt}nHQ6~h zn&MRQ@G3M`*`G$JZ${jq2KE1kDuiHUfuU2``$z(d!1tp}7{)A8u`k*XVClSXp7u zU&)_&yFkkNX8m30QM|C;?hJu>w&uL(-q0`7(0U*geya2K}`U&NpeoX5#L5mu#ho@81 z%VhSrk2WR;0mNZp1`z-wtEVQv0vt{%xgOsH=L}lGp(>Gh!)^~55Rwy9Dh;yvg6GGu z^^VlQ>OjE)JijKNd4!-dr4YibJdZG(SH|6hV4xr1<45Q|WA}e;b=E|%EmjxYkTJy% z>=(82aKQ8ijDSUbq`TEHrdA{_{`-rCcbryqBmkdzX>t|wjY8KU8`g~B4Aw8a&Yz;2 zxS%1DD_lIhrV16n;V&?KbdPF(nHd?+ZZkb z6401E%J{-ejq4Bf6~c>G&7(dFGjwKlK@f*=R50G^sYO1=$1`9H=Pc$V7{Z`I?T|@&X;s`N%Lc34^%W3P2%P-#r zN)`He!v&_xqnQf3{65RNz0=EuOaAEbav#^~88Q51TGS|>t!`z>fj#zfIO*81{BIHx zs^3-hYGvhy@7}=Om0kdrdkG*00FT>vrPC+~ z$H30h`Q|g0u2KpRmujRQ^MAs5i%7k$0TZ+plmG>NDv0+4%cw)3`eU?n88#d?-QWb2 z+b1e#o~|m1ryieLZc=8meO^B``6v@30zBoyS22m0&mA3fQNV2xjP%8}S_2TJC(R+v z(7{gOD>&`)uLh#L58u5-JE4ycOezi0#hzzJnk9>}Caj0bZYQ&IfH{yc_xsd_hqEAc zyI1YIg=yLwZ?{(QgeCmKZSAwY$}I8qanGanxwUGSVbkcIjE&|eu_iHTc^~e?-B}A` zdg!q~evh%i^=#QyTc_ve0eLO!=%`Jaa@fPc``v%Qn((7y?~EzXZTBR)b!k6!Wej2s z+FBM*5wK#t@Pq)Xn>~oU$zw3>6zscCl)W5PKCWKr&Ddh30VjxSD)0a8OIHrMq3Skw zb}SWi{4^>m$~_2t@m5b(J$E1GZRZ<0w$*dPwx+SuUZLaIANI3wM8ew!M;2yd*7@tBQ+Bl|9vs3NqB60JTo=(9`cd1A-gMi zpuJoI7)2vvKEtmPAXT>3k#sF=xpLZ~`w#w)rt^%a`u+d-v5%EQ;#hHvBJ<=_l)^E} z;Y$wL8HsEmJ0l%ghl*pbI1Y(J_TC{oJ6l;vcF6u;zZ?JC+;E)F<8xit`+B{ePskgk zcQGNK$Hn2_p~{x?VVBRhKw634=U2J2F))hCV(4wge*Po_K=gkejpxm;&bRo_UpRU= z!d2rjq`@?!$B&yU(~m|J{2{1RzUF@87HsUH98 z2_?`9*iOI%>^@iPW&)DJU|7n-lS*>8x3x`CO2VtRnHSfU4Fjjc?1W2| z_hdu=$7#|fOS37VHjY-?}W zU%Wo}QRRcjd)cX0YC5YV+nROXu$apMTUjjHef|5bGW|8{@e-X@36j-cL;tW)WqCTf zyIYO7ep!54VZL_~yHJBiYJtHBB!0y><%_XYxd8!-4j;onr9xo}2X_ZboY4^p82Sqo z&5&P$$_8ssZ1GXCpTBMWs+$I+3Pu5(+BGYR_XO;$n$~PPC5LQ(T>w?<14^NaLD*4X zvXMdB(}ivo40V<+nlYc$3g?6^ z+dbFwE1ah)*I*cMkoh$J$qIHY-)nRBE`tgNz(*SzhChvaOaF0jbuE^VyokFy9xopT zqX=d~*FqMkph&5-n{YwAM$3!5ByJq)n_7*9>J9}I)(ZRSR$yyc;&y{p2_h2$gHTem zgkJ}H7WhRR46VR9UxZog4`EUM6CYrsf5qL_G<7OfnN9mYoq$E+fB;_Fto9#B{h!Tl z2CeIy|Iq=f&e`^$_5GVS$2d8>bhP^v&QBOcnihR#U#Wz_TKTJ27PqZCZ&p>lRoI%> zFZ1=c@pSO>gHy98_?-XTbF@z}D2NB^d}qG?q;w)H&P3c63DxE8jMbbfO|sDo84~^D zIeArkmPokmvCOCSwYRt2Ldw5rO-?((hOv$#XJpOMF)l7{GD*Acv817BE9PrGqcyC)8UcCM~2PFkBYj*vx+n(j!7>HPMu zp+m;_(gB%D$qvzIbym(H4^8{nFK$k#tpG(PArd=h>G+y*cm=X(g$h?r`x$y3(k$8s z6+7dPvNlrXersddF3P5KSN(OeU|UbAQ)?0oD@xPp+zY2b?K2BeLq<$4CBI`gf z!n&Ms##Idi6ogt<#HMDECG2iz<$bHgnhVMg#6{!{F*kl!DEx;vP!|h9X6cK^t@tJ| z<}(FD1u5sh^S%ikF3C)7a$wrp@d1ekTv5GrH*c|3|1=HTcI4FTxf9CrDKrSH;1 zkZ5n-n+ymX{F)R4ge*2BSbiO2WhtXfofW$hq3|Do`SMX)NmUQ=3jP8Uo{taoaxPJT zq@7P1r3ihn!hn*=8 zk@E6Y&se+)7xFgzPm-SrfX=P|oK4K>kE@w4ch@uT?*CiBt~H&HRRwM*1|B8?dum(Q z+n49ZivL}yVM-7F z^M9Qge!qYFCrYQ^x%H^Pk~y3UtSVD zx#{2ggk5i-tW4q&h85i^qZM0iUJ(B{NRFv{>C+hP6SLx5ZyL_l<830Jmzi5MHMsx$ zHK-8dKXvD74Bx@`<$I>5@FQ!9)-oo@CpX zKOrEaLfb@F4*!m5)eY-nd^5seBPQEvnqqJ;?;YPOAEUN*#$!zwlD}wVy%fL+;KE)j zD_|JDLag8rJvn1wXN5UP@{O0JqyIgHk`_pk5W;n8iYwtJILAxET@5UmxiNg|Ze0fy zAX9D%O5LYFKHvJaInz{p=a+~EwqT4QmOD6@Ew=*n7aTHH>Xugklt(fO+(hQOndB4h z6YU%w{k{COHUASZsr41&WispBGvkD-NOIG@(jPhq_{gmM-Fs$G6oGfkP?6jf{=Mlm zMX-cIf-lAm$E>-D5JhkAHJ^h0c;m~}pEAGrNn6Qs*w@WsxajbIsHc_ zyZX4)m}mMNOw(ljUHm)kl?MVZ+I@XG{aRB+-lrYd?!z;x-Na()3c8k^qvh_S$+hsCg$9|jxXK6J7mIf*Eu}iv?dz>my$B`QRf~ZCgEg(Qz0AdpW%X-%~ zNC$53o{tBeu*6u?Bec`x23IS4M1t5uFZS6I4NQ&A12=!Rua2pDgE?|h{odpn!7?M4 z(W6XHPfsJ^jqZGPf9vdBe-_@tDw8S$18K8HUT|MlzhPND>cSH&ml(4Uf8q{qno+4q zgEHLAZC0@)`GFh)#7+w)sLCUfqZOxmjT!lbT{cQE9Jgp6YezEc+z#MZez#)ANI@9F zP(fea{0a#^Qw+W5V==UH>`gHl9KvUgg0#o3pN^g%*UYzzsyL8QGO+lbOBmynr|l-q zqG|%zSf2cH4(cB!JxdJQNA>^TAgap@}1 zzt&sXZ&Cj%vFFZ|sd?Ab>}&%1-fr)(p;S{Q} zhX{e}YjjNm)Sd)ufoBOm#<4vS`085}$uI|ThN!{?ckW^D$oTaF9Jv4#Klo2uTV_a| zLxM)EZ-z!!`GgWC_!JgvGLa#kvxqf{*^MtgnRGqrne#g$>J0Su7m{br&R80czY4Kr z-aBo+)pR%>A9>!v<2q|@dOnmGv;?AOH7kvJF)Kbc=kxD{MoMFa#SFzK?DX@;GJ<{_ ziW?T!l7?34Hu%+421+P`dn+|BDQXVOL^@5qg4GsjBKw9V20S3FL>vq&o=B7lkIOM3 zC!7xL?8M%*40Nd+UT^REwN+vbZJm8?B$ard_&#hz%smhc|LaaJGs34^BU)h_N_v`2^cvO%!aFt-xH;jWNqyx@c7@q)i z}(50;d2s2{v6-zYB`k`EahZ+k&QoHC zVD^0VI<(qgMf$N_`EU6Zdu|~nh>Tub+^PBIpF6Jnx1T>Rz2Wv_+E-+Bd!aLVrMzzD zpvb)D{M9iZfUPej5(gjf4BOpcxh(fixU1zg-OBQEf5u&~Y0)D`L>v@7zWaP@{^aDO zwY7D3;QZfGqQz|4GaYcn?e*sun3e6*foqqdaYxYk3tE$l`Cmd)k0qlv=o9ii_259@ z&TS!r(#YCAl++$PDIgHvTk}vIfn#olD`R9R)#usTqB*KJ@0$xt3UI zBi~C2*^-F!eS_TL&BIDLiZGCMx9h>dX7u_O84Y!NUjLXj7@G#ZoC0eFvAvS_a-gde z6`Ac#>p?QAQ72FUQRdPx_o?R{1nfA~j56Ycxwf!$r{rl($9PBu+T*>V>mkU}Q0w_N+ z$+U+hXzMizbGT-4el)Vk9-KR9r=^Wj{QF%hb3s&`+Ku+WNJmq1HBjC zRz;pAo^9~9g9dfh;N=UEe2OO{D~(&B13|}4fsRl7mZi^kq|f)xcZ%Z_>by?<>W2BE zv)|r5cB-0*h$|mn?eFc=>Kmx2s@hSAT2K|EK|I7bkm*%Z*Vc;GVE9{xu5`MnTensW zPb7M-T+LM<6dmw*@Okt2;>C+1<7&|Bco~_7eXn-Uwm|Pd+wKZGUS`attCvG7oeu-W z;1_aYHPW8?77>uJr(E}`Z~gwS>5rpxh~=-t+3xlDyZ-wQ)??$hSk>_+%}JC`wUL!z z&@D(K-66K*F484y$u!`bu^bYG(vV+iheUZukv{X$2@#g;U)jtH-crA+fk(0lKC7h3 ziinfziv?&`+!wf>t(ZvkV3L5;qvqX!unWGU7+4G#!pnRfUe_MzrBVLA=6$d+HMP2b zyyl6e$8MA%T`Z7%zAV~>$Fu~8ek{3M2^uzQPM_78% zf{{q)pt?NZ2fP}bl#bs~xHUrx@4Fx2t=q;$Y4q%BD%ct)(>Y_ zhgtkGJb%r%bn*w8U2{9i3j1G@Wbfz{uv2z<1;5fLdhGWmHl8d2sdMTr&NjK*zCUr+ z@^0K*l2Ib|${W(pohR`Fk6OY})5&K559W&!$c1Irc#Mo_75%z=(dItg;z|t)4s@~@gDKH^;3Mk1DhR5C;vJX z8v{J-zir@7TRu-E8gCeRwM!q{1UdLQxOll(xilIV$f7&dg+a;3K9-vVBx zC6mL&hO5A_IXOE!Icq*Qea-1A2mx0_{;z#6B_#ziI0Y4$r3jY0fs5Z-RvHgZS0fUh z$vcXR&#d2U`z{^t5PwZa4`T^qDl)IDotcn#U;MYAbI-VFG{JBjcQfK05!Hi}h%bmM zD;ue#Yunm-r4lzh?2=E|DjZ%TI~P^~+3A1Ta@-aO62z5?Xfj8?-X*W_RGXV`Qm! zDjklAx*I>!x#UixcRNy#iIwu9V<=(>Ye&Yj!L$7uIB*CAfl&=O8aObQm?1W*-DW&g ztOCJCBOx$)gfOSb9L=O%3m4Zdh{!kvmV$V9Tm%Y^<$vj33yK81BnjH#yL|iQJE6!Z z2Sn(6OuJK02ra(r7euZoie6HkR?QbjuZy{K7k@Jad#&P{gqB%&-@0>FyzXSBM9Am0 z>ewi3K8isIV~^ySF5$Y|2oy#%LAzb{xafy;+$@od=qJ6hflR#mvtQ~V%|0@v~G z+-=H*Nk*L>PtgL0$R=#Nlj2*RGkJ;av#4DOr;zE7b7;tp|AE$b03f|X%?kC?8ve8A zetsz?FB~0rM-43wPv?#sK)&UN?6X<0;wY9>HrABayC1z~aRulX*G&Nsxh&y*_KhFJ zdgWtMg}Y=kk4Bz0lr)xX1HkLRe>(r^=*0Y#gNCRR-|yC!4SP9-8FQe+VR(8hhO;FG zu7vn<(mLJ059BBJyiSZJ4m{qwx^Bv4lzE?@NetAT2Bzdff*r^lOkvUPBGDH!RuZgL z@HxodN(fqh;D5JQ!99NdR&ogCcR#9q^D$k9Pf@W`lZ^5*^+k$9}yqe8+p!kl%= zy>B#{jdDiSMrlegHKJdGi>XA6P=*@_O94P{{^%Pk_I6~YL@%7gP9YrXh(|!P9b#){TW)*A0WmEZ%&FT{#Ny~-_eOL39K7?>xb`}C-j?|xT z4a#4F^E*ORY0=@xVCWM{)_(U4Tlp&lwgkuo2~3vV8@g!_9kG(n1@h(rDi-( z*2{TrRR2M5s!#Q@p+)n7Z@@jI#Ne7vtS#{kuG)RWslDXwx}wk8k>?Z0E7--_&oWI7 z!$^oAz6|B*r0K}@MrdI7vkjt`Js8H?DPHXCGU*~Ve4FEB?Dr?r{J^!kxrm{~UXmv5 zf_8Dx-!Bob@5h{Nj0Xm}2fEleE`(;*yZ`$&7_r*rRV6EbBR?J(*ff$!+p1-r1KSr3 zi_N-X*@f6u5yIcS((^KXuV}})p0-t`kgw!^sa!{CBpM_bxnshQ6jZwMwbK)1_6bkl`pQQ4r0h63pz#6&y*H0K8f|Sg0Y1Kq>qurmoa2#~_K9 zM8}Hm+#RS~cOZ}PTnMv*iMYu{mMZWw(ZSwZviml=`io3SG84h*XLK{+Q-wCn+|>N% zx3oIX@{pI$UWb9v=vPtGIkTW2?VPi9?(LARURnNtt&5o_ zovwj;;=2V+NAbFFdol~3yn?(u{d;3GGX;-jtqL=B6CG5l2K;nE@g%_8zq4#zoqY4p zK?xV*>0bIr5xg7gSWz^^g0ZZ`JzCg&l~iF`?fL9mh0|We)6+R+4A2ZLov+WGA4erh zk!Q{MXtSKBSnj>>^KjIp5b_E9`_-!R2{>o@R&9b&D@G({0i_|)GuhzCIpAA1C_3%{ zx5^*2l>0jLVxSdWFaa}}tQ4UJV;cv5$2iuflaPq=_$$GvPFbXhCFLLJoYJE z))GC}*a4ewMmj!QRBMAYKpB(S87Hwni@oHB9Z2n+%jWge!n3R{fO(gDFed^bQ~1^>-xO!f0bw5W%#s zTSi9y$}rKs25oBpx|t&VQf$#Q&5|CP0uptLV?k~f+;aB!Uub`NurZ^-3ugX41OOEW zjCXD_SMDuWGaj$oF*g1gdHDT+Aov>-vEoG$qLJp(gf5}@OcHYX72&s2(ElM|GV#z>IsfmC6 zFRc~fsoAquYO5zq5!p}Wcn_CMn)s=S?=3#{_VqTNPV!vnVE?HAD5>2G!te`KRh4x! zF7Qxg7?a&mkw9MwE5+|Uf6nhtuFuPpxfzI zdn&cEI40A6}qk$OyWM+2Sp{?>X_(v8l|c{ zdafu~$2g~}x!)#6k%>gXAUL%vQgrtTJ|UzHai*tbahg0Cz0JsAA*oU*M2YKyd13V z45v;)_Fu~7z!{0!OnE8)fL)ii4WZTrsfBP4snEiI83ra1)7k8BnhL3!nB@?Gr$~p1 zF>>mycztSX^w;!Un|cZu8itpM5<|!jXcno^iw&XifLGV!C6m>zWB5W@jSBMZU(U2M zq#Fn+5684kxtKRl5RqbGdFgn}51G#rjDiFYb3D(~`hGM?4LX>AtTR*X7U1vb=;b06 znT`5S0>koWstHJ9et9`h8JI2l_Cs%U2wcCZ_JFvQ&Zmu3Q-QK#skh-#NU#xTofj-* zwu1`f!h|0G^XyeB53*V)(%u_9da^UjB+p4+-o?D!2d$mh) zTm!E~sXGMlu_(t%Zah-*%a_)d1-eZyR$G5Y7sOcKNR^cOqFu*~-|o3L;4$u2F@y&X z5ki$H*T2harN6IPP~|$%-*>yRtfWMD=k#%%_Z;}(9@cu$BErwKx*|parncwVqrWSr zz~C;;!@hi>7HsM)V{-urp?PF+ktOI~Tj%97OOC58&y5^!>WSqTa1bkYhuxue9s@(5I6z62#On>KPnm_KakumBVwGP3#54L){%Vf zZoIrxv@m<-j)L=QuE{azBPmU9YR@knDQ*XmMd!RyJm>+`Cep_~B3D@`|mC z)aMvb`?*3pLw}$@#Kg$}x_UF-F&ujBc?9k?ce*5)Mj1A4yebfdaZkScTN3aKNQrsem7ZO}uWDlLyyAUB zw!|0&f$J?16lMlWk*b({g#jcYkKec2tbooKmDNLWWxLV& z`8=AMyx9Uh*G2q^zxKy$9bIT2`u*D~alGYX*7(Br{ESMM{d8xg>2rC#s_60mW}7X; zEE{uGn>?V<6JKDMo0kV*2!S4(8F$HJU-rkwEM-mx-v*)X+!}U3nf7)3?jG7d>i9h6 ze?~VKv>nPB;4pz__CGB(#hOk3rzcsjQeEBgh_#!3L-09Dh8x~{ZCCN6>HJ7G^Lz;m z&Kgg5G#NrxEPPghfIJhY`(ml#p!U?IYU&WUP6BMpQmb4ZH+k*7A7yTYc~F;MnP}b4ZtbRG z=3&eYmLvw*+CgTN-_tm!o2ma*szwq7)dbZdW3{ke?Co7xLEl4!_*NYgDvpRja@YUQX-QBo)5AS-Wc_(4AoY zVw~aoicX-sxpI=Mod=AvB498(+Sf-;PUaFL4Nj6qtX_EMjjnm!4YRi%La8L#+H+86 zX&Uo(5@3i>8i*kLQFeZE{?b~{aG9*}`xS*@6VIc^jLsDX>1iqT2Y>EnZ1S7j{?|Tt zI)l(o=jKcQj6@Fp(UvqPC{{F&e*i zs-0($&rb99+9k%|ho2NuZ{yn+stxktj*@6M1uro#sQKeY+vt?!40qm6B{(kr2hf|B z1)SF$`_1e}Nh^4J9$o`5tkj$Zu=}}9Vm!o0v6<_RFR$WXShnUolbDR>i0!fNy5ERC#;sl@-V=zl-a6&CO zW5&IP&Gdh!aulG>)ncK-$pnwVnF~d5**lLO*r)6QZ`xGQ;`4&>I1{};P$}Gi!xi2C z&jM6-!&Qy*=ID|HFrWIma^}fiQ;e-MUjBJA36pl3_wyq!#^<7W2)Tk9?vMv5QC@ii z9}Ad&AB34uQ3-Sq(7=39TT)wD;}@5AxZh#mT~+pS{Whf8^DY^Mf(SXqcP*fz^fH#e z7{#wFSV{A-_$FNN1170=wr(7q_6b^A+ES8yPFg5HPqJtzNy`!H5LJI}W3$v)_DtHm z9wIqk|6FXLe%{xrLOU*J*u^m99q<71N7EIpi8_1qGv=R)rllpT5h%3YXmGDg$Y~&3 z0*$yj-HONSJUy&s;Li~fl(b3cEx8Cf;;VON59kq=c=-%Q)^})*G@)?Ux$TNU3=cUT zi&cW$9T0-kn?o40G3-9~I;s`9RrI-o4sy||G97X&p*JW0S59W`^Y;;j^jPc4ADKG# zz?;(vL+L?1pX`|_R3F-}9V@dxs(y!cz1{*?fc@o?v5CYk&eLUxutWu6O(0qfW9cvMO@i?+%QQ_}twrFKl<&Z?d zBgdq7rA0S-N=q&Dpt=#Q3IpZ(F>UzRK6PR}&9-3iEpFcyzHxDH1~fybTdBfT98?5| zq;fd9#2|5r`;6p z0kE{cx3{B59NWvyhJ#8kFEBPq$o}$&R#{2ra_53cg>7*3g75(2vK(QEZT5+zK$0CP zDujwr27y_t7bOgeM9~X;WPWH<>`m_>@s`_WK;iS4k!9f!F9afaO>^i~1@%QO4dU!P zI>*?yuq7$s`+X`hZLLHID0zE$?AFbl&w>!JPMX}0+x*{9;r=}|KuBSch_Uw)r=E6@;h3c$f_^c{rx#gYKKw~$Fy}i|H@-! zlI%S0SpzdpuqV-rT=uv-&hu7%65i=nCgEw8hmH6tCl)&WzjM@OkCxQFqvhp}_9#vc z4$hRmjzMB4gZZD04Q(y$qectz*tmhKYNKmBE$pdr!X^1E_KTFTzf?gA-27nHICj(* zzqFRO*_f(?;=NEWsh9+UU?GQ#tDJ;icoy(daN*YELjICi(XP?7I9g>FJV*lKEzP0t9 z=$6vo*H?8XU7{~^?2DV}`hM%r?028cUFC{yad#@iFUeQ=_p(7*)suj}ZJPZ<+}aFza*%-?_zq%;tsipNKeLLheC zA5pC)Je_X43cCUPXgTf+0BYaS_I@zefSlt-NnuIo*bYY+ZO@n&jLuDFINxOHm)2J( z9(S>@s4;idsz2PXTPU|IdPb2$F!&TdXqQ7K-$)q>mf+MSBg6GxTS{GWo7uPgrr8;E zl6U^+%j)o^dHr`jrZ$u48Yx4ExwF?XE4rNx&kx8L1 zJ{vWWn|F`Csqj>}JfYU%z5735^Np)l%5P+zjSdu&ixtmLb^(~x)`43v>B=fNbw^4x zZB7R?ZXSTe-ST1axO7v{A-KPK!vQuR($R6-KD@N%3C}WC(!nLi$m6RC#TIvhfMDKZ zr98nn;U@PUIXXIubM}tc);AvMrtZ!ORWkB7^9LGgD=5Nt1Y!#9rwN0zVI)4o5#t^o zXne1aVXN`iF~K+B;Jsk%`!<&y@ulViUfGhb(-U4c=8(T5@fw2q%}kv|U=x7htYUMy zq_Z(1E55pmZrpbW_9Unv^rt9ZG>b#&K?J|LYlC;7uP6D|F-+B-XZlEoJn72kNavf(>#<}WAbepDp=a`k{e;ADH&4ktFzbPnkNol{>YIqn(% zWv#R;7d-M+bkY~>oXTsp{6FgzejD*8C^OKcgU>Q2oh|T4kyYm+6x4T{ybUGfi{;R~=u=sJndVHedZn92Z z$Dg9PZ_pb&ecN_~E7qXd8qUUcRU=_JUUcWRKo6E0r5r4C&F053=%~F~(J=m7D`^+4 z@~yGGCXC<5(!+Y)^?cY6kk(kv&yq0}*GLL}i{F3$_EXS)X1naymbDVrrVGw@)CVEW zZfWS}=x>WpJ;2u7$_4SC9uxh_%Wpg{`~g90(CKEGaKr)#w*?T(edNBNzoa?;e?RC7 z_I@{>9&gmHY;Xqc#C0m}e+dJ3gB@eqb;C9nh;RWYGcFXXw_CP*yzlMb;6S3Khygp8 z0(vQvIx^Mq!P_`F?O5=B$0KkMh(hP6$y}{(!HkQvBp>&MFidw%jjto{fcKTY@P3wO zk}uP3h8cG$yinI50~Qly@H|$tn>eDyN|o5vL?U+t>EIsb)$GR?crMglunB}!XYi|! zrt(zn2o6NOeD>^kW7wNqRKzR)a?6_E-^tI9&3f8p6TG3)1am++K z8U{#fZf4d_y6hjR87UhQnQ4>~jnRx7yf7we4hSW(_Nn~9btG@Qf}t6F zoEcvVB0~}Lt(2+)w^53j%(N_N{-A<+*-Sy^j_kTj6`R_fsX8IuSTv(GidRtKEFbpc)KeqXMV(L zPyHf-@Kh~hWirK~;x}x$mcojf6Ti*hk-EBd%b=@Ksa)=kO6 z9^&}GZY4X`+>*?}h7gW_0xGA{j9d=Ue(Z0G>(737#a#vQ__4LU5CJ)l{n_~V_#c+< zgy}`y8X$5p3%9j>KRxPziuDMFyT6f6tguN9L(&rOYQ{?K< zlTh-E;#&06kNW;_*55K6ydC98+)y(M)Y@Rm?0J5CiMpwCVT8jCC{UuwaC-4XU&UZ|da+$4P^1E;)M;=)LlKCbT99P}oYK@yb1$3_wtv*kl2u5cA zup8Oj69{QsQKq)dP1$^0-OT8A@(+}?5^}BJw=eL#y$@3&dg|xt!_50XI4QsloMPyuWi1+1XG1B z?A%h5nTTV6JCY!j9cY_qn&!Rf?0G1{PEyUsBj7Gq^gD_QhcBY*2giiL(o!`s8VRPh zhhpg~@~tmW-1b!XiWm@g)=U9-7NrM#DLMA~`A~3Tbou4cQV@NV4Bi}Lvy;_oa1!B~ zwM>UOyP!IQnBvL%x79_%tDf{kmV5s`EZjc*@!>BM`uWwLOh`nMOz=Z{FCF=+Z+^PL zT#}I?Y`<%zgq{vqe~SJYVeRfDN6Dc~g-5DWSVM4Q0?Yq69!7n9s3fZNktk96PRub{ z?3C?6B8z|{mo*ydSbn4Xz|8RmN_{KM>W_cMVCi2z-wZn7K4d@)qiA3h5NMW(V>d4& zs^y#KO#N46FkIREIS$hD`D>X298H``t@=6Jtn#k2Yq_sNL9;APsP&E8C)OcaK}_q% z?D9V>bnrMoq6Qx)tI5q$PkCoAx~T3fHfF2ui0TsJ6~ zTGJq|#a)cf@3Ji`sjT$c`%Suk+3y4Q8(=PAP@caPblRlxbGv`6|IeR4{rml6V`D=@ zL(-?+#Sg^J7JwuZv{s)IlUHg8r6&0b&(BZqv+#p@VY=5ct_IuW!F*V`La)04^%CJL4p6#;`nHP`mQw=+;+mVOCIVlY0XYG6m@)R@$#1I4N z4X)1|c}&)7TpS(i4Dxvu{mLuKRQPo4B||?D*znAsfwrc3e?LJ@pljHx$&t0%bG_T* zwCQ{sw2)6~I5Yfr7IZQce6NRx7+Uxr(ha;kk7_z@$28oI?2J0zZ`z;aDQ?(4T2VZ2 zZ$CY5I%wFuZ)LO?K`4C}t7)8>q)=TxvdQ8ID%rx9W4QO!&DnuV=`b`@?!Qi=TbV&w zhh;cx@CDC`>r<(q^m!+2pTBnqw{rNWmkE_?5e z-O|5j?TkD;Yy4;5!s6u44$jYt`2l`h+yCHJ;KHq=*R!{p_M!&@_salPzz9DT5(W;}N#fhqm{O9Z zAKam8C3ge3req~|o-8brEA}c}@|;#$OkI=XANKCW=x*Ii6KI*0rIgDrIdQ|XbkFiJs9WEa}U#h0e?Oa$n25rf@0oQ{R zj+xk#2qOljmK2l_!4R2_k2!R9q*oNp0?y}%geg1gVB{F3Nc=Uv1qdj9k3j{O<$AYs z-YG~kfn$E-S!Xvw*@Yl`GtZHLeB-rJvCVgU}VBau8 zmQXYaVoAMXZ&3WGA~uzW$2ivD+NEW=dQmvZCZwhpV&uprg3+L4g(N&#^vy8nPLR-@ zla_mXZM5NAnSnA)lw2{^ZP$@B#9*DaJYk1oXp`wH^QwA=uuQ6sG39vm%3U<x@<~>OEWH@TvfASfXn;P26`N*&pm4501BeoX9rRLb$@4K;8GbB7sr2HN5 zX5pM!RmU4EBX-|{3fVzB2-L6P9+B`64Yk+O%F#%lS!6HFvf@aoi6U8U$7& zU)U3Vt-k#QGJKJb>u7Jl8yRwW2(fuyq~`GpaEd@L4<`8;UyyhZdC zEL<=(*@?~__UGU2*VW@0l#EQ1G@a@Bu5x+K2;gfQ0@HFv9cGv*Z9crJ zp2wK1={qEj71LQQO}}P2Ee_gm>a_Rz@l!4Q-GW@w{F&vv+=b??UlG>vex4rB);5L@ za_p~Peyel&ZfTI!kG^q>w=bVr*&YprM!gP{-U`UDajbH=d?)Z{OW0+>nDfN*m8RN* z4F98sjD$~9s~HMzL)=2R=X`nNYhw9@73^^!&ae);E;HuO0JxQx+;iQh?<_&%Ub{?w)h|Q;6B239Du}O%VT1@% zA7}AWU!EEL2N! z3>d$AFugmkk|K(>5Sp%)7V!v}&qmZBZ;_duLP}>|@S%fMHb1Oc;@U zsjE(|D-ePDVP=Dn*P1_Nm0&A05V%jHVvWrCPLE<{YU*j`*`iLTmC>I8s;_ zimLWAIu~NyZQZlK4%dqc;J_4u@--{gWV9fDtbhN{$lv|t4*!*bamV<6mzAL<&9`^Y z{<+izZ2z>Ortd&$4|(MQ#zS$%B@-~U3vcVtFk@HKC|(Isfso#*WzYrw@(m=;rln-~ zfxm$SKun~k*JGjtS=v6x5572UHZo9MdPtmuV>F}%TUpAIp$<;Ye+C$5d9IEJM1!7 z>*;vj7!cBf(g2q9;2Wb3|6wLvDntQAHSAjjPr-~=rzfvbS|g~H5*>9MA0|88PtvuOD2Iwc z#QP#bU(G#lFiEAjqfO-k<-?biicqsQm-mpjwwSqS9u{- z@k3TY`uUH_Br;PnXbn7CD9Y_qo{PcT?~z6^K1)NRKz&M$6!fw6x~zA-?z3D~_4E1p zp)(b_T-#-ZIX(2-xWCJj;4_k4sya!nFcnC=e*L^!f^Nvl^2!zNzUaO_ur0MIs92|) zP4*uEQ-Srd{??zZ$D0-z$r)W`{Qw5UIdo9*}YKzUGU*%3>;TRp zL}d23=@auC7&o=V8#G1>0J%hP%f5(sE4;CF;b60oSj~+|y9pvtSxl=+b-31psHtu-je%&G7k3l&`>s{43TX8*ELG>giTzDi77VXsN+%OqHxhWavD)>ZJ(ARrvdAEV!ggz2g(7}CFj zJ(>g#lX3t>fkEDJwx68Tw|!5CH-Gs;y`nIHCF^S}_tF?*buj{}A-i7>dNSoHKMw-; z<~n#x>oyuquerQpML)pMsvFoO;GIzTLV!Gr-;L>+@6$8Wcu_aV{DKk3G|M%6sd6=jpE>VN<%&kQxxde7^H`!} z@8m^mlu_#aA5G^SNY(%U@oU62;u;^W5%+2lWh7alYm`e?GAni+B3 zBrb_d_Nr?WLS#m+5wbVG^Zn!JFMqo3x%Zs+>-Bs-9`Et@U)_d$lkeLXR{pnfc2tf@ z1|W8BjVAh)#@fVGpXZX;g5_HCv3-Djs5R34b>WAOYN+!}8-ifv?&u^?OrkhJcWPiA#1`7 zHwnm*0=^;#Y?KMGW3>zMK{A`aZ0maY5=B0m7gqhBC;<4NP6p15=a3%RJPLIznpx&{ zj>eN77%INH>q+8@=gk_9=Dn)qy#Wmk)%GolqwX2(vakv7m89fvT=kX+YOVZzx?fJ8 zf3AOisCuq%ea!!Up?>Ccj~agLTee{pzDn}uY>t>e8u#6g*cxsQTi*HuXs+h-PFjT< z{>?ikDkm1eaA?E_^-E}M^(Z?X!u$;pU>||l>_57hByd^%vyJfbnu&@XKMdmDSg$fE zD>p#QduRRmR+Af^#d5mDD6ABIvOw%H1^btbXc4W1aa;rJP~Wx>&#(+&nYe4te+?*t za{M?N(7d;$*YpNE1&AHWH_U2vwQM61U?~SF=t6A#{1-tn3?3wj4B;TqU;hxUzLyexN2g~$cKockfmCtH zuFu#brq*~U>A~sX(Zo^PNj6zdh^?sT8c?wnmC+)jl%SUp6;yd(rrQ`0SNn?QT0HH; zcsZ?yeDqP=M&fHSl3l+2z8(1{;$4Xnk3@-pGq59WS?xk?dpZT)-ewa4qt6?J>Vd1rs$#Ho1wYiV8l zxid4t83Ltc!+4L>gU7kM-k~hwxYF;Bpx9}UvzQs)i)EJcq zhiCk$m6fAvMhH@qeccNO<3A%winnjyRc)5KSI;godI=kVsuvKb0gj5uk1gA-sW)1= z&2*UFW@l$*Wc>9HEpOObv60`g)OP{;WBKeVM^TR92kLQy$~{-8JfH#ZEeZW?ya7^* z0cu*{feTcvp6~ltCHJF2lgsuu$G+IxHqw9* zNKpjT>|Iq02xO)Kxdx?mjiiCxK*J(22B7?*PHgsUL>ZPMBseIT zh4zmPosEJBt+Ap$(n6W|1J$E2Bkp+~cNGM}^Mc9>=Ywpa<}3-(>WQM)?A`f3nIPFp zXv2 z)BPSg4>Nfc5dT_+;P9^`3t)e#U#aVg<6syyLyL}!|A>JgG$b%cXV5$9A(V@RyQ7va z5rJjO2j$<3*Eob}{<+4FxAFpW{Cs;hCn*bxY~i@rKM1!;@T9i^~pUf|0;5bB{A`shnF$t?A@^c zrRxdNbMNw~%R9ZS=)&0xvdVGFIEATK=M|YXH8>|AR{`vu=uqM zwk=3m3*0uO`=me)OGbs3CBkHk4x?0oLwdI2;mT^c<_NM8^^JSG;5+I*7JLo(hhIQ^ zUr)V)m#?}P*lVS|k_!`kWI~U&l=Drm^29f#0|v;)4i3#@3nn=hPxE|aUP z!I-EG1uSsiVPW-Ob`J%$KRD6jYXiVo+Dw*VP6dw9z>N}ZOON!G*y z{)OAf71w>2LF5&c#XhlMCr=Sy$Cv)vz#faA@SZGy0EIzrv@Un;=mh^-9a}U6N}y+? zn1l)6H{iZNuO_g1++=`y$k*{wnnCR$7XnX$v+< zFMl=R&K~WioTklu@!?j%$eOtZref-TFWFg750~O6*wG{`_qGp#qE@bayL*( zkGQq#8FsH{dw)7q@{!TNzLZAp>NAYPd&jz%vnZlEpJe!1chBw0N?u9JhV$O%2CiL+ zqoZ1B*!Ni%?O4?dtx7y5C(JCYB`q#EQh6rUfI~Iur9+Bg)|IXbJ zo$swNggGf~POS9T55T-i0H@B#&WRmpKGoyKBp&Zi)sb_rdAkaX_;Yd z(YUE(eQ+|_`**-PWEmJ#0ZpajDZ1l5@mobjMeEJylZ}CSWluhOHtZd}h zYm~-969r=G0GGRWu6?RhZ*q`Jz%|K)8tbFO@i<^_oF2a1F`!aH3Sa({ex9y+>e#WN zw7porfgRo<-<=8D;?f6_Ml%BC%_fD*p5c3UBer&%)tfdHZr$%hsEHC@iDPDCZSXjT z7!<&wOwGv|eK(dqp{uX={oRCTBYnI*0{bdrvBjUD_1Xc@~ey8tiSNv zu;KG(86_oku}gc$DJfh~ptM681iEDzwpz}!A;6>QuHw@U?^1FqGFHj~-WdxfeCYHg za#OB6dVGr+`O?s6OIhgRB`v=E-t8ozdvdpxLV^B1kYy$k>6*6>XQlyjSSjggt=BST zSHQFJuxw-&4UEBhtPf*aZFX?Y$BRR6(AV{{Ib#8M_ED`bdw+kw>gi4(AdG7Lz!>G7 z`PL!x0)yGC6qT*|k8o~*1U(q8ngHxlfP~%nP2h${Fa_Pme$xDIX5rH&tpUQX{o4!Z z0=6H|z)XOXFwyJQfA9WwJ`F6&c6BeMr9f}7!me;xnqR@b$Z!VTQS;6c(MUu<-D?3V zMrA96@4ut)h0s*wH`Hyxy~5<-;gs;%BuYEB158^?ufYSKHE<(mW@ibp#pUu|aaPp3 z-RopVLScV5EU_JVXF0n<-t#28`1&~5&TKvoyrk^cX*>OH#uJ$1RM*@c^`r&4q<*A^ zU}Of^3y|dTjDK{JdMWqI&w<22x}^0{&Ok)d*lKkk3J)k(HfsMItcMC|eE4Bp#tUWn zj3^Agg>!gSgyRXF;=b}|SV9{xC^{t+=O?(`jgRTet_da!kgS+Zs%lMI*c;<=%-a%X5nR}75LY^=TZ5L48tUavU!{MZjdPEyNfz_GfY*FYi9rACrXA%Xu5)4_x9npVDQ|;1V7?~T_&At z<~-hg5_nE}XVMJ zg==5;PlqPnP!+U3phzx+4noBnmk@_*J27uvT~Dn%y*+OIJH21dF8viMO@T$v2MKEZ zw-Ut1tK}RIq93JwBqhSVTi2MGnOV>&O&J~@23Qn*4k?@xu?q?6AcCj}X5s4VzWpdU z=dAwTUaZ#TcpI{b@4XGcunmx})s~JC-O;|Tk(xZV4KkIc z?8O7PpVUp=(g;!(qAGM?MBO29Fh}u!n0TEoL0%gSU*q{)98Al!Ow#l^e>YSW%-l+F zx!Na_%d4GrU?_iE>2U}R2*f@a(L6M>(}nIK6|y)3$hR!Z15Wa^gHR?4Ra#tj*%C_W~uJ`PmvxPObcjioB5VJRXaJY zJ_1>6G_kD=iX2T)kbU%cz@H-$&{$NAFgx8-kbZ-Gu_`|HW=II3sH48fiK%P%zJ?bb z3GtTezp$&`!5-31lb&qEEd3c&X9a=?z4|@XYSVIf4n#Bod{;$d{p`Rxo?(6@b`I^iP`I#@Z zo2~56yPu4(&h4rwC58bHbU;OoT1gwjTX?0N1%)`;!p{xeL`!!Mn z4rI=xBf&aQ2SC zE{a$ef+mlxRaMsn2BN-4yPB3Y{cH2ZewsP?O9faoDe|Mym%*bZ<)#In3`?4Jk6edS z9)FyLwkY=rK2#ptwlw88w6fcnt?U`V1DY``$BnoTN)j+Z%x-a}SZge>!KdS>&S?7A zxN+A3$alm_o-7H>^gf93Jedt`-Y3qmx7)}Id3w5sZ~xLiAB;G!CB$t^TUuWShwr3E z9M+bfUSgtkb+h80FrzmN{I1`jO+@8<7}aczBY3C%@nuQWiDQ#oSAxVEHlmut4o}&Y zPnJH-B(=pq3t5^S@~FQp#4a4XK&N^Loup zG0uTtrNromADQy73kA)6%WF8DK0IHuJ{iwEPEzqYC#;s-jfTY!2Zeiw|Do(g9B-Vh zc>=j*NX+hA0Azn%i?F%XeG%Tb>e=w5c%;Ail zFWTRKChGaC_Ox=V@S|nV_3CPs&97WtqSH-e^O7Iw=c=Elm3|IwH*JI-ZC4NXtcBLx z1tmV+X`_w4@>AQKQ;f$vO@lIuT`)6F{9RxtQ<1&-RS#d0YA8C9fJVL%O}v4B$N{+z zp^t9@@%%bo+u!k>KH53iv{LI10yvg?NulTRq0_#(Guy}Es(B@2cvq5)D^mG}f&i~0ut1Qwx(y#ESM*0u-N&hKPe z79)^0k>qNFEU7ddCWsi`n_hrLLe1Go4Y7rAvfr}gaZd1W{iOaK0osyyOW|Uah@Smd zaT(#z?k$Ygfbz(+vq~eGM4WSAE>T%iP&X`5K{SUT217EMi%$ca=*w+%OzVi*RyjU=N)M{@F%d=|i0 zcW`3^djSEwRBA{2;ECm!C=SvF1z=v+fUOBPoEssZINSi4Z~{rq=aOGZIgktsGO!da z@qu|%mxO)}z?Ug59Cg|FV7hlK_-PbBbJ~)Y2*on_14B6Qdo~cdP?~`z63J5-!={MF z4YI*7Qc)0ueGi?I#zQ)ByzJ;Rtr@x2M)WytXqa$(>x}eSnqkUkpCfB_5F0I>pqdmI zSYC?Kd%cz(;E#cD7J%5GB~sDYHz<-Ee^RzD-W&AEga_SyZ$=^Ap_u9|me{f{p8Aj} z=Ncb5D}jvv&X?z#@J8aRll;T^3|}j&o35@>8W0fh0>6kdyX!*eTg*Y1 zUOW^VFCCLYmB)3z4{BYq0AhRwu5*g6Q7;5Mh0ds=)G zJ+DDnX(>5Y^=lB z@||kz94GQ#KYo-=zFz?$dUH!+pfDL=7dvx0_K1rceUyJh_+YdU45jy0wrKWW-Q2$? zr>eS7K0i4RTL7>}CuI+sk0K)MgZ&S`=c{`w=X|R~5nh3tLe^G*bijm7x|Z|LzD9mGzQjY#uq6{#Nt!IU_n2g z`&3^~Wj-axdjn`JP@|H6wJlO&T!It_fe74)4~6uj(nul%1af=|dEqViIH`tOr&Oix5-| z$d(y(ll?vZckhV*YT?OeAQ$whgH;M*G*jP5CVy%0`}-=zmRNvAR`$+M@0OT4&TF^S z4g>=v>#Qe)e=S=Do!7J$jgTa6`bZHoD|rY7)}om&0n6~h@F9#JI>SDLIFUN1nMNNm zJ3394ImVI5A?9WG2L4QVVq(_1h*k~S_*$;i_@C7zK%25 z0q-IvO=}4K>p|M^C^eP0XR|?Dq@o0iQm!QNyQ_W#u&?*OSUbx)YA65EWbzxM7=OIe zcHj{Kxt{5_?tA`ENBCgrK}gJW?Onizr-*vU%AuKID+6U${rB~F%ws0}aKtqH}9+{!$49}rTB7fKc=Yj4S-vPM#rXqXq96WU|SYPEOZ$w&YGgX8JrX#h$Q zjAs&)%xV7aQ9bH06@Gp!G&4P3JmM0^E_};6q08@cW&QE*ZPmgIiQc|Hnkdg7;Rh$% zmCHM2kBfjhOKna6^M%X6PO3u%#r;kAY)-fgkSln)T^Sy~+q_xyVDHk03;)@^ z!e+)ZpRt_l)L%KB+Ym2ym4B~=>EqbeJ>~dKZ#`8G-TQmGKW$oKA{4wZx9kMmcFBXE znyae7rNO7<%F(EjG0%HIDJ)0tcsf*XrY?AXeB<7fJ9%9(SjH~w)3Ct$x<>9y=^e*m zXGvi?+l&WOLe%F;g%2RtFlOj(nikaR-`wC)nz-Pfy1#YBxG-=c_x%M%cw$>+d80|O z$*VktM(L%VscC_+vgce%Cl*?+N!vgZh$a8HeNN(0 z0kRK%Fs83^I1n)(agx}4#PfAQ=X{B36?AA1nv>PLpH<8WfG}X+AjzLU zH#F2%`0hV-e37zD>F?haaE*H<_T#7!7>gz#{w2siib*&*BS>GQ3y}jldUYi$nVhgWuTmX#!CQvTd%Z z=mqKjj9|L4_?8KI?bk8ESz=MHTEM2l} zbP?y>D}His5O`BNqvB<^_l1h#zeTS~NNSi@n`kM3n9YB%b~&VtfrNq2B1m$@vCIKK?&?$YWKo zRGTJTN(3uS`VV2SaN&RbdX8s!tyCvjemV@_c6JPsPuFZVl#(g&==s270GtoiOqJ+L zzG9E}?x(>Zn2};=4ehAxi^_V^S&t}PZZ1`O_ma3!T1wpEn+a`BkD0=3Bz)Lt zTnk-fSHSQRobip1CV<6(tH065c{Y;pXApuw#{cLxTZIU+#@&aazzp+mjIto>w+GPN zYcDrJn$Y`Z#m4U|&50(DKI0AQY8y4>)uDolVLh`&rS# z7kN{YeMmG!aX$MFh*k@1kCD!G%p?O$Qa{B@1N$5ZZrdF>O&i6xA-RmDtNnfV;{yUi zH-dMb?z-%T>PKueZiEjk*XuX${MOmO=QWdbvXpePZrbGYXJv%zx*q*~uhmf!(ySF| z`h{JD8<&g}NCBTeGU^cvxuRAROu!#Dl@q`AlNT3Z^qviy?+tur&Q75KqQwZ6Ai_*% z2rkwo0dbRCMA3WWlvEKr0M3+u8GuU=2EV&-Y1%?D*<9F)%IZ$v64}e#m#-v5Lkd!5 zCI0xTwk9DGOla%UR;U_mTAn~s&7}9M&ecrEUESu2T7Gae5DgHRU=ZV3} zPnd-3&WDB#MiAPqDhirv#UR{GODBJ(2*u?ZCEjQjznuD(2|#SwoaH z5QywhsVZm#pz-v#1v##zI^ubgsEZ+V{ zakqjNhb=y>55C?1DAYDj{RH>6W;GRHLrjj3$3lJjYX@K&ed}R!E#$YW%oV_MF2J%r z56+?h3#?g8LW9{-FO4f7vCo7>T1IDh(9exYM5sPw{^)7oRBdIGf)HE%T3YAh1W?fr zw5-l=zyt<7iHwY#lC>^Nesxm5iTU@X16=EU$}lg8_|o8M?`&IvB5@+J)=bLB#1+tZ zgKnp+_ZhE66DEA8EL>~KE$f*<%04?wZ#|oW*C%TSBF-v1l7u6ciRpR4i=pkUOW)_z z&kv~Qo1Q>=GN5+w`O?mF&!(dnZ}<@!O!|r0Uhi`%AxsHULz$krjG% z%c_q1Ny+Uu)r(4!4F|u!vG8s+0BE=4!0MVj02aP$Q8TmKNnm6v6#^1Eia9_QNaf(4 zx-CR=WMyx?dgz&JsE%tzRfDYH&gbQ-#S4;Wv*zraA8_2UMlyvei%<^w$lDZWQZ@~Q z1_>ol|UYogQ$3WD<6)|kCrYzAeP)%f}$UwgDcNf=Gqi^4~c~y4uuk-Mv_2;Ro zYHyt$vwy2R7%$2@+z4MbJ=+2_-{VCQ|HPY5G!1{U@b*Xiew^3fH@}j)O>K1PqkU~( zOAYSR64!Yg*|M_2tYstncPjA6!-iYRh_}lt@WIOhfYnvoSX)&m*)Bdl z2blAr`yIpM6bi$>G7%T!6+Cl8&B@(Y=V8v3!>yt2?xqpfyJbn&2$ntX_*Ks4_Dxqt zc&)#~IXJhq zW){uucNuY#SqjA;;6-L7q>$YqgzAb4K(nN@?VI7(Ko9cMbNvGYeYdqNtB~;fGX`gff3_|LqJdMQv>K;BnAqoMYX;vU`9hu{KNx?; zUPfa}M_J*QePD&Uk5hQ{n83Q(y@HYRn?GG}knB~zl@X*eZftan=~^yt?|W^+xOQ@z z%RA!4_|(Pr4~Cu~(1Z4TQDee*BpbK+x?y!C`T6P*ZqqAh0DwBH?#xbF9v{3^7d~h~ z3!imzIj%Pz_YVh7Z_hq=6l$Oz6f50+GC4h|n`mhPDbnUC`Y5`HnsR|o)rB+~lBR-B z3LkEFc{!y5)%#u46J|hGW?wbD_KKno5_G&W@Hig!zLVxUzH>|0l}Hv!dZC>hk~?ru zbs(X@0D^G61c$y!#;r-U1I?0H@u-``5?%x&b_nGnMwHUJOndWxw&jC(+XLo={c?||BD%_y8wETp#}!M2=!*5N+JIAGtxv# z-+%3dF784d`}Xwq%GjaX_j=jCou{S=9h z##@MguwKok;a{Y{xBNd_o&K_7cx1)zIMLAFvditgjg-Pf%6!bJXrTnFJaRy+u7^1~ z2ipP@Pr00U5dy}HAO+$kAfZkK;JX^ll1;0p@RmnmKKFIBjFv)AA}z;X#;706&oE#u zD7=C9_=dmU1b_EEcUA!X`Iutfg%YKa3AGotxg=GsYa)-C%smet&_h=leeO(jX`FBl zgtR$leMBgtNfqXASj@rjk0ZcDuV*{#yYT48|LEr^M-y)@KLCK5=K%Q{*i0}Ag)Qx$ z&jK{6@CAbK^P}PomD8yr;jn*EF2>{Ila}VFQj?D;AbvaKQ7vwZfqC4S&@_bT4qYi8 z`Izb=o7D&XGxd%5!6bB^#=WRP=Qf z5a=@z*W((PcTVPvp8JJ~D8cy$c=moK+HjyiJvR<=LodEFDz~j_jTbF0^#$7&SNW?6 z#Da%R(hmg1eDpGJD-H}=>z|xVEg9P@7Ydr4K87H8C7+t1tXB3zfHt$0 z`BX=kiuP|DZVgrW5)7ZL>|gu4qn0US{KD3wDh3b4@LX>SKCB8qxh(v9cg04IF1t)f z@h_ucujD_vrT0~_Pm+So29pS6|U zsi~)`-~_}Kpwf7!YLq%1;u~HTBefOQ)L7|%xJ869znHhZ!%UER_&YOMB==FQXtMks z?SO&2p5sRF44Nuw88n;E=sDGJ2qat17O1KbV_iytay93__0LZxQpNj1w&&u6UtRCI ztslPsvn}e2DjK6>UnR`|>dmA9=II89AR4`lf#Qoj{hpUh48eMzxb zJs&tb#=w4fT&mr$GAW*H@}Fm%IX~-hwB|x7uv7;In(VKIE*=kvUX}jF!om_b8Qg*U zb$6`hu2Le)=`!@mjl6@ujvIC7O^IXW4{)QSpCS&Hq@Dd5$IVbEKS;nLHTU^m?R1bv zSowrUsgUaD+kazsSGreJNdL8FaMgJ_k2@W%l#~}bhX4ngU#_m+xu?Cn5j-{-eaW$h zwZB$tVsE^f_IGm)O+oM)9UWUA-bhU_k0To*ootvt(0?CIO%>K)+6__zdow(Q7ks!u zqzCgN4s3zU%Qanrn3pv+mp=8|#zQcpP^!d>PlHbKHhHHdo{i^dVL$-%^xiQ=2dGu+ zhi~?jHy%wq2Btcz&3mr;_YQNKgI8*24tP}?oA`iZ#Mz1DNgL4>kZ;{h5>%P6u-=fk zC8QYirT%-d#^6a?1Kq3Jaso*}YNwdt?1=PMtHgouz6yZ>u1hv`E1(SSoy~FbAY#Wq z@;e>7YS{cJ%E+$dnBB4|;Pht&p?%N>?c1|`xVIjl{PxyO078(WtiMgm<&y0W3XUqT zsu;a>b3=gjfj8&fEK-+S0g0Gx)DJEUwrV(oIeZDS7%=0vBtTiXtni zj(OCyONGqE@&Zds;MFz%%*jhE_%QB*xi2sHDvq$}q@1suan+eLehoX*;H|WSSehMO zyO=jLw_aDl{MZEi@@2&DvifV4tlo>Ua}$fBzqgReI>}ec#>BO{5nu|qMGfE#*fe?K zQV~{7ezi|ZMhQsew=YyArO$H*YN~6pD{Y|+Uw=)Fk5B#FtlcOrF>(2mASF4Z)tL5G zy7jfKsOCDz%*@gN+1EEvGtnon-I4NAhJr3ND)y_Nn)AX)zldk;7*;lI-#iEfF2_~s zblv{haa>B51+S#gJ@4OuFGoN?pncFwmjB!4!HB8VQRB=pdo~AVF1YHH%OM(B%v(C+o@hC{3WEBfKqsi*#Xa@bIYW!r3-Sp4V?-xF zk7%W1+`Cy0K=k%u7@UI=?y>HYoos%F63dHItCFeD03{E&aJXYr0Y+Q6CuHC~RE@BE z(uSxR<}drxY8HK+D{8{O99ouN$pC0%7+|(p=6y7{mGWt`*w;ugsszYDT$~sUlA)9i_M1Pw)tN0f%I}!%OLWi_AXVX!79~?c z)g%0_Ri6<|#Z|s+k5__oy~|`9Y3Py67b7EKkuX0kB}WcS;g2#`10&a}QGi~78RX&M z)EYrGW-Tnw7%@%vORQg@z$MZfLv@`%Rlcu%7Gt4k^rb2`IDHg(6gG<;owxzIw6BaT z{vp$|)lv?MD;$CX**B1v5%X;6;QP;voIu6$GDhCfW?;Tun$|>zRq*=H4^I<8JbT7nJQ@zlbW2{fwY-B@GJg!@TeuEVB}? zIN%^!Nmk{g{gC?kO{pFu*L{W?dSZ^H#xC-+$l~e?{a-j&lHee`w60X->rkQjNkt3r z+;MoZLk#2wu^XG>|IST2Z7*45K)My5+*mqe^=n3vDnZ`@=s5j0KnOU72Z4dLK-22q z6o@8B@FLwkaS1Ay1I-E8i##sZ^ z%*p|v4Xb+YcwW`Hb-oR>T-P5L@ldIi5_CKu>id-C#YL^9xF~8zWstYG*h{o2^D^wy z=zC2DxS5%iO}6{SUx3+v7*!*6cK|%7slf9LDUI%>DIwidcO9iIw!8WfoL>k@oH}$d z?n?Q=Pr?>rWf0_1t&ctrj48j6zl%oeWS@Z?r4jbqb~Q7reu~anKK-e3SWb6YKjIOK zl4+eW4AI%veDPatV}_sxDD6gMgq*Wzuu#(*p^S`^-*0RPiJ8jxiV9Iv_) z8a@G1I52~KrkTJ~&ngG+Qk-~U_9Jv#0|Gh20&0W6h*)ov`#-YYT9~2CW+n@=`KW28 zX~2@jOZMl_pQ2;(*_*(`z12(k?VYTgE06g0$rawox{j4VIEv<L!%AO-85}$7$zviorVLK>2|yx6 zS${jT!kKTRwg%BN)g9-Cu8>STWhSS`r!MUQ8Yvnt*RisjlDA}C{=0nPvfp>WGNZWb zvPSZy%2NZg6|WXfPOJsiJ;inbIGnSQ=RM**7$dZMu0zIb2uUtS@9yXrz$L^Fq29iC zE*USx`tvN-ZEv3r{@We1K7Tpz+=S`y*ZCPBwU<0u-~!+tV`tlAqaM?B|3(k{cKh1n z*w23g)6DYIiSosiozAw8Jx_8S5Mqq)+P~AOg(Tm8`6`11!N(c)=48~R zqzBod=2>eNRt^}R0$8>)y$@P#R#@4;qxEqhHu0pb@2!6LMyRh&V$nwZep{+IPrLB( zq<$f?K=eTPY^2#z(Z}gYlN%Qf*j>dgxyj(zFYGr%ZS9u*iUq3)HYWj8J8y`UX0+XW{@=Q~*zZ{KEr9<=%S@$S03_t5r%n=&7+W4? z)|M7{_fPmxHw53|ZxDNG6p24XFwUP~a#3j(_1rvGpG2<4b|hn6BHAu=5Ual;47Xqp3lkvzE>r^aI=4X&rZ>u{A*r5SJx3= z(a_1ay@DIHk?-FU(fb`x)Y$MDU+A2Ct!YD@-eda9a`1gCZiG(v^5pNf^oZSb7W3@7 zA^Q&T{ zbZy9?%gv82#SsT5EQT!s)ps@Ch@+X&(a5#_`iAdLIm?T(T_cb-t;@2;u9v5;qcy(hBVA1mZ z&rY9!r0OMK+YND7%!FXU(XrgSTE5TG1c`r7o5G5Rmw&jBk;JXsz{XWz=P?Pd z4X9fCD2N;WX=Pl`({o^JA(MB33U)yKZRk!-P0i{E(s1F}#N^t1eg|KxeD0$Z3H#SD zM$pMGns-=N79s?mAw!of!}E+AV`yA#K&h$>hWo&CVlal?@?U>uB}=lA{E4!xbo3BB zN@)oOx;gR$(l|7vL>jg~_r#MC1J_=0tMEDE~Wr zGJ+XiWkPWh`y4{5YiOXQc{uD>GxioBSHFE*w4u@tO-%U$Ika>vo0Q!PsG-Y4gGqAq z`LzL|_Q9E4ikFfCYiiQc((8SF0RpwR;9ZMH_B-lHDh-X5rxXj%+~%OUBb-PoWhRdT z`Jhecw*1W0G!vb*opaiIFbIwrt;1BwGqQR?-X)K127H=M6L6>JAbv%W$dkV|mCW|; zNngv50S!*G=YL+(fqeb5+{Ry2#bd;W7W9K&c62X3@CWgi;K*QFRyf0Vs5>bJoT?(` z8s%+Y+XBamp)oR`d~Yq+o8&M?BNH~zpZd`?BDArawC~tyM2L8=ihw$E%Mg;dn#J7FP@>8=n|OPF@^~6s}nVy zr@!B55ey+(ph&5Y{H_7jfeTiRLhyL$Yuu0ND=Nx#*OWf(u3-p~RMnTqs&TTrPECMjNQxAi!4ElABJAQSXH>v{ZPEb53>@7V5 z%nu63!u-BNOMo2-FueT90q7-+9$qCD;5pi2jr${|Shqwr`u$V!zy*-;?eXegH@SN6 zZHoSRuYRNd`efeuc;53p-#kF~YJIw5x*;Fz6YN~9H0IyWiLr-YC%mM4#gRpIHpYRx zhL^uWpSu2l&<3Z$S*ePbNI#sUG9F#e->6Y~3YzsOH?983L;*6~ko>O-rlWo0wy&=( z2g%#ue|-FpwW30?i&GU0eh*SJ=cZ(|umhIQ)_5(~Vs6S8%w=;|KKuKS(y6AAH9!0) z-Uxk(Xnfn33}3@j2Qz}PCPx0uee zFKl)J(%(0rKW|4JLW_# zvureCQm6BF5&V7shm*R-DQXnZ+@%fP-*(7v(veuzwcrCy>bnUNf?wW=9%an1-kyi4R zmRcAXwIoNWB-Uh%NB7gYJVPcp006633_PwvX!T_?Y z3p?Cd9^Rjfm`N2kRa^^@(+O>~LfK8C$AG9&@Q#yWZW#6L%mSM&nn?|8s}>(+AYX!u zvTx>9Te2BHgeb<8}9yZt~&Vu94q1R{Q*ad*^F znp zfB@9IXSUM*sCfAedY9dg(i70oh0Zxy?f)$^2*84MILE?j>Td2M9hdIs?8-s^X3yS^ zl}`nCVN&g<}~}wiCZ7u1#V|AL^ZMt z`}AtYJ^BXv)HPsgh^}c5RmlW^pz2T(3;Q`ajmpT|xOn88g|WS=J@g4RNXczDE<5~o zSU-^MklXyJ;Y&sBZvFXYiFa1h#%7232r7-rvb_zwGY<)j?PrS=t=U8T>(Wj!dma#A zeg0z$70XZOO|yeb<~A?g7W8_CLo#2*F_rA51m%mt92Wj* z2NV_f$|JOj2PA!ULNULP4k%RmFY+q-K5c_Wnz_)y+OUS*H@%ER5u$3ITy8hL`e|2t zg*Jhzs5B;M&_d*j}Whf2Osicz94e#^+ z@Om769>>9Wp8LLjzw101=xsFRQyfc5+fG)}>IO2MgarGotJcTMJysf#*Sjar7Z!+P z#L|Q5^s0w!Z}&rhYfy&QoZH5?oe+wfVzC$_DcH^N@iE_vR;k8G=ZuEcOtzCDZB}{D zc;A|v*$=p+f51wkdEFVI z-kCJ>`Bh1IYjNK~L?zV8C?H&*j#mn#qFO)o?ktw@cYziIht%(cKtq8uD+_5qkgZ6m zGe@%rJI6k$f4Aw1S%xGotcaaBkyL}&AvfUNu1b3{MAbVP%RY%*e)6b_x^tg*V08Z7 zDEHgJUan|jP=zrWjBK@}W*PLWM3n2xcjH3NRrx3mUQ8S(PAs@^jNEGDOc99~*rOA@ z3np1LWzOJyUo*BRAN4u$y6n545Cba;1i0TeVVOf10l$0nW-C%;qG8vZe)KjE$@zLfV?2l0OC>vZCx(aFZoSGR=?ZTzUl>a-)r z?wd5iO4Oi9Nf1IPwN(iY^;05(1FI9qX}pdipqYUGF9PyAWKn51mML)l2@k|Y(wfKzRDT9E0m1U(` zQq?aT;hJd^C1&mvP)7l`uba9(fn34Sl}fD6APQ@4o|}uMY}~&Ms<0jyF_EQ^-%4m% zlOI^GN&OJ4Yn>rJ72LAlb|&{Ec{lmA|HkHA&IuCRO&vJq$8_82^@;m3C{R?Wm>n~F z8`jiRHNAeoXYmcttVBp0y`i~Rknru3;|dhw_K^`?G%10>-9nzKK;WK)4RXBR`>lnA z_whW|8UodTO0C`p{|#|VEhk~jSZ+PFFKqiv1)84%)8-DR>u(UR{l3T1N2w|%95oD5 zCQE0$HpPT-ny{VO`|@Decv0EQzZG4~i+8#|$nSpqD`)hA!obk*h*hRy`%4hebQ8j?}dXv65TC|bwc+9x; z8ot-|T1n}+y;|nlZqE(+@CrTdo*TTQnZO+&N*8wgbtv1coXM&Cg&HLh!e<19kg9)_ z0*GI=C@YX?2S^$C`eV?j`Pc|xLLrOgwv*DddTi(JEJVv8?dvC!e5*6ytf%d?>_`!4 zyi)UZHG)E zTQOE$xVXi3Td9l{yW68h7ybeAnRjJh;a-igQN^+;%{kYc0)q;9XQ{MN-@ZGMqC}W@ ze+|0N+TFv$L;mi7wK(w^-i&Sk?CfaU#lT_ya;(liVXXjQ{j&jY^zpV!k0`f-pS)NZ z-{VJhqnF*==P#mB2W5+1pEQ_a3ye||zACwbRK6odr(lF2cg01;BM`{g4#SYAWAc3I z{@$~yAsL^p9{@WcpO@>kh27_->XGMW!FRW{yULqSh!O*3^YsUt1(~OS0+}3odRa9v z<8#We)6zMb@cXquNo#9s?bW}Jc8Qm1R~G?i6FiD;7u|%N{(fMf1+098FtEwIvQ2#H zmKioW)unjw1F)8A#(86|+8YRjn$kYsD);l4Cga&_Yd*R)V~*0X8Gukh7I+5%7NLT8 z%J!viJM?|N7jpBbK(ZqEx-q>e)vZ!yo`n&D#CBc%ZbTziNw$|N^ zO2vfieBW#N@!EIkpGEfOy3Iho&nd8zX%E^bG0;HpEW%gX~Occ%chaHn{?pRG&HVAzM$&p-{X^>Xh z{Y?{HeVWFT^=1Ljrr`Q#@P=@+PNBi8;;hSc7q33 zH%3mn&dbxcsRvj`mwlHqZQ%<+ED6gVlx1U7a40=Ao7~m^%*Af+zAuk$TP-Bfpm$EAO z?myr5KLXavp!$3oaeVk1Q7A_+gbQbGY}RKCB9GrOmk=Y~3RMO5S?`z^wAJ|gS+s5j z_JyKvL$_FE-f;H60zvnhFDsOkl#)1q*or)R_6)JxjJPiRPlVV{N)fbr^5s6huZG|7 zEoyz#SUyEWOJU$ESWUNndb>+w#!-@&d-1oegB88w@)%Ij_FQ^68dpT`85#34E_SYu!HEwrN`h9CCiz15@G(%+?h&%7GIk zbes^VsjAz@M~U4ziF&!u-t&9@g%^7JppA5w`1B{so>kJ{f3*>(79=74o`aI~n|THa zdDUy}?OCrj8>Q8@mEZfyuZpaTRxIv1d(8U{xSU)nvRU(6VfD~|V^xtL7Kj@BQz0|C zIfUdB&69OhF7Y9sV8c=nBe&g}Z<$D{;hVqTcS?p$?-b^d5|v-F>k$!7c_pE;2L!u9 zV8Im{VcPXxeUYQ*Cns;Ed<4h1TZafx(n-!pF+h=;4|9^JpS6ysLg3&kKuVU%t-Iml zT>f*@qv@emrfl_V$i12LfMKhrva$dDg=ASlNpk>ClCIY?ea^NxE3$%rv3h8F!F7pfh~K>)s$ z7F41gSW#!DK`4@6ai1c(+3#lk@5P-Wm$0?O+Ad-9HQ>|pkFx<;jnhE5jWQYaI}yw2{9J^kvPG&>h3xhrJdgaqJCJ!4f(TLR zsRfaO+I`DMZ6zZkZt(hEsH783UBfLhl7lNQWmNQU)RHJ4(9}AEZkoG7=s9YN+^<0G zafWL8Xd=o?KUl78Iy3W?yy2rC_mfa2iTd%Wl>+W81uOeOu~g;(#UP3=FtB})c687+ zC@B~ooNS)=dNvVB_A$fG{ePk$|}m&ABu;m(%LJUyfaDsC7CzeG6Yo z`B@+>JzgD`1u)Y9FQ6^K|3ccoWqQ-J#kUi23w)^xGr)}gQ^4xjxRlc#`=p4ecf7Ay zSf0Bq!_CmhYgV8m*f-8vSL^LkH@Ce&$jEnz5%P=83(cI^u?#x(iQ442VE3(tvhBv^ z1;C5}D5AtTxP*6S+*n@fy!A_3y{`hj_Z<-mvAahi0eOJGH3%XVQIKpIpY(YCkgu?& z(5uIonOC3n&qIg<2Fn2Im?9L^kOmY}h`=oI5~?~V-74UcrOpgi5oF^${!-fxh*lAB zzuCFVIkR8Bw=rLmIr`-1Lv$Q?0m%@Yw|dcABko_sL%@1oT<>aHzM@E33MYo*-o>(} zWMu`cZ`KJ+D|&6Qs1DvZ7jYz4x#uWl5-(WlagPd*0C3RM5xKdE%Z-@~Vli>@yivpY zW@vjiUe`XOhp(~!dr%?U@*XP88zmu+5k* zBO|-sSJyTSnk4I#FUVg~SuE7|udN9}0@qKH#YmtO%AiNdAy9@}hTRDLuQn2c>b%#2 zc32+ra$TzvOf%%_oH%Nhf4sIWfrStRgo^|Q))NCoxz%nR2mMMg=>9C2T@y!#urpzR zadppFd?Ru)M|(+2g-hw&Ni%}}=G2HN3IYUdKm zXeQ8Ju44_i+^kvoe8B4LQR{g^c{R^8pkZDByDI8tC2-tP;8k6S!njZqw-sKalMq}@8cmN48)GWbR16g5Zgf)jZ z#E~LFlqH;9FzT+au?nY;e)$>O&$|HK2UMX&9QNtv3H~9w6=^aBzzSL(czgN2AX97j zxGa(pI4=s$=ajWb{}~YIy*l4z)_%Ji&$!iMwIa$~k` zPRuw<#?#Tw!r#WvuW@z(1MmLtfn8iFz!WVtHs-A_TZ@q}m3=+27s3MoD=uitHa7tc zHsp8bUnB6ZLUH~J|D$an=VQ&xx&r*yJdgOYo;@OaDn0`>Aa^YdHNc65L$EdfXlGPJ z?t$3hBOr+A7{Im+MI-qfC1cP;b|gxp)I&jb*mzlkMZyFfQM7OyKXmCYGt}sP)S1Sd zHve{6uIshCy?O966%!oL{jz_KZF%a0{$upr==@i&;~uO^Qy~v)i9H2>6G4 z5%-YL_K@GU&dx&GRsL;t_4UtQ8tF3hTK~aAK5Qz3qNLWP4Jm{BvT0+xZW9untb&;> z2AQeU7k}^XOOPX&Vmzhl;2=PD)mjj!4qMfqOLe?uwABE(eaJyQl^5)PJew?FnX(P( zt0yVqHZgY<8fBESI5qV3?NV!}Kh$?0N zZHp05cEa#MuMV^AP0K3CFJlM8v>7F21V=b~7z*K3jhWO)^a+ZEGTo$bk9>Sxyev=; zea8t(3b6;-t8S>|oAPpTVh61gS7j`ISw$60KMmSuw#xneLA2*cA^0<9vUL@hz}y%8 z+pu*$!*cIi7sXv~a5fMjv&P?nH;TFZ9#T!bUwj$QLj~~$>RjfHg zg_^E(HRccdYY6-smJX>ZNK=NfAdaYTg`013)LT6v^&m4}a}xtIbxhG^N0GxUdU9i) zGKX4Zm{DXCzuR-wl%-vt20dp89ZMB`>;Qtl`VVmj*l&hCW*gbQ?=@>(i4)ft18FNE z25}E;VT3qCH~B>LM2tS=O;Dv{7fsr=)r*}+2s}s?H_=*GRaZ_c5NaNS7hN)T+1liY zP8|6hifTU{CxRE42MVoH$6j;ZVtpmV}sDrpr($AJ?uw!%__nwPK~ zf%>G3%;EL`63g+q!JjEh=OYJS{o%wr_q1?9d5|?1g%*bcVplNC~(-8 zAYu6uM<^J`a?-AmyO`VE72`Ob7_#cK{^^!pK^x`_5t*5u)%f|^!Qlo6G9^Ait%a&2 zLX0W4Mh6VnHHg`C?H3&HD@I!BJ@S9EOvU-S?xzcuzGX-R71ubKm2NK=vo52RYDi#U z$}#;n8r_E&NQ?hjXfU_L;CX>_$50`^f8GRqHN3&C>+q=1F(!_(9E@B9Q2YYvKy>4A z>>xBMQdd2^`DyDO$B`)`{9AGET^Bnt!Je4-5&`~FYSnt;$CFm(=q~zba**-kYc(Y5 z;_898+};P{Tqu|F^3IFa=)&6(y4Tqw;x&1d@7ywF*JMDReRb2LTzL2WAaHqq!42@C zKX2S`y6U-_Vx@9+DPaahaC!4P$jd=HEV)%JeODV%YtGN1Fk9ls4rb)v=t=s$r zAgz5O>uH*#)7VtEerhI81;^Go&oadlb(nc&f@B;egn*yqQ0_k^-h9J)SyR4^wUpFY z4$0M?(lJGDiT|#lQa(uG)!&@C!`AQo>>e#JJ#`0tnyn9XK<$opP3C4vd>P6DrT*jl z4SB+-s>ANck9c&CS=+e1Hn*Mebu&AU-E$yB*_r7Mbsuq)4QVg@SukJ!ra}4-Aeh=8 zwu+63KR&wpM>pv@#W~ z8id?7(A{-qriFQ)%oe;a-HYBHf7_MOI`n-`$QeBSH*^nORPw#M63{O3*R<4(Le4oO zA|&KIj~|sc1?){psy|9uHcD^a*&7$mY;ss$(&(zp@;!ggsbOtx<9CsX6SECN7iP4~ zQrvB<_H>Y}n0?WFxwqIA+qO5hJoz^z;86S0jn-yFIY}h1dWc+^3_1*T#aELsvAa`L z9Sz})$wCk$FbzB<0jUxG;lr>wwv;Fu&aMjMpbAVxlUhNE$(2P20&eijmm|t5XVbSX zhl4rG2|w56`P=q8g)O#FA*Ks$^dMUVNUl90hHh=CFAm|jE-KO8&qwH->v5WCotF)P7DbIOW(FOjN~ z_H1l;2yfb*TC8|CcE#FePk!B_>G9*oMyV@4&T>*6&m62k6^_#|t304<&K=~MOH0&M z<^9Z>CN`B0p}+&xsjQTgc2M*?{A?+!dDN;;=C%fxDDjps4-ZeIKpm{q=Oyazk&<_S zwKdT#eKy01Fk&tOu)>+5x0<$F{oCf(fmv4Ts!#gf*>+poq^-aA1@SqfkW5)q>*tTl zJ}jL;&0u13D&4+rPvGt0-+~usC&i22GPCvtZkji-PrShH9-ZWYV30)#y989m42q@3 zd_ic0FDIg3!AVqO)_q!IDaFYVaB2}_dxA%X`h)Nh(+*kFo7=ee5Ky>^mLpqtcW7_@Nd)}jy(*poIm-V=HOm?7Z z?$kFEgE0z=7Ga9U?;s+Gn9MHS>c+;#IyYu3I`Zhs?{CM`Qd3cjd7mN>@7V%&-<#Bp zdpet45$4bP$^#ae-RPFpe9sP3F-GrVS;mYR^)XGgLG1hyxg|urMSu*VXc$mYG)w~L z$GN6g2d4)#CYwJF_09?lGG*OY_UF%!%YO=NdIH`4y`XhZPcPP$v2ti-X)jYZA)*SO-)jDO7a2lJ%XDCNn!V6n%q${a}g^!gPji%20S^ zP~-}|j6yfwMKHOu+ev{)qM$kT&Y-oMWUT)bhB6lBlp&(`AXb(tFBsTb&vvc*1hd%bkLTmE+4c-F$xu8Pq>p{OMqqq#ISl+?e&N4V$YZ$GxW06f zkUeQT(8qG$e*yT*QMl^30ffbN44q2nLoZm3Wd*Kv!MYYdcm7d@3H1&P04v_z9fzDX zw)dz$SuukJx)Pyzn9LnII^*m2`*%;7TDR2eq39yx1qUh+lQNc)8_Myt;A)+M0yydg ziUdA-^j^f%w7gZ59j9weFw#QcqXW>S)~S}NZnDl+#2iWXTtR%3O!Ed_!g zseWYeUEwcof}kj)HgGU4&_4mCV4BQ8>=ALQc6|a5$;?5yy_HS|2BWs}IDlB}B3HXP zh5MZQ-9Rhz3&gD9)$-DhWo^ZynVO^dw!?Oc)&7k6sTtGf&!7DK=KdTE3LC7+DES_` zV(KOY3~V+J0a%helLqhF-S?K{B$dgSNiAKyCOMO6b!CJqG!c`7H3vFJ;MFoGab!fU zKt!-*QT6Zi$EC0!bzbBrC>;|Syri4MRe@JkKQURE_=yh97wRVXKo^2+Z`gdM_VIxp zPhmDj)ML>70SNjjz)AT*_?iktM4g#Buuy{+aeqtZ%n z2H|jS4BO7zV1H%NFpw(V4SEbyDP_pHO^}F)KOE5u5cyQE`IG9Y!K)y=^ZwSwA=U5J1-P0}Uv zBGrwUmOI%liUaNx*cDXGL%z<=ZvJ?mUxIoWxZKF3a&2g2p?TciBkb*a<#Ym5FtAB3 zfeLH6-01D?80qyM1kiC6Lm!ZUD*j1b0a+UfRmJmIG&yv^v_3jeY;2pRyD~i`l>=vv zw6BR=Y{co3fw+$c7jh;W8UVP-;XVT+k{5V3UQLA1T<;e)YxeW=JG(k&4Dh}Rp{Xv& zZ#{d_%8#wz{}r-2kbW`e)#`ULI=+&h|JM3QPC@@W6Qj+=6PP`NR4vNvL_X7JiKgB_B~sSbX(S<4De`PEl=IN7v4H#OaIPQ;A65g3#% zC$;fzINY_*C3{{kOs6LtpVY<+00TKM)y{DPL!RJ@Ua|hj$23aS^Xql_1$Bpqr#llg zY2lSBI0=WGS4Gt*O3((TXu?+I5TVnoz8J*O@8+;m?W{W*JDDg`*- zHHzfrB$Slyi~crt{^g5;m>C4@Ew)Y0P66l#6iZj>*h{ZLMszDc&N(|f!{`GS%(xO6 z=&VEO&Y*Tu!0Qh23Rq+Hkoe1iuHKzHm9fCuNoCr-$s^{mG<@bdp14?MX^aN za5j1mbefg_Tt7N$nk|2`Y1p6M#$R3}ZZja8$sY}6aAICZ1uJlh7J_RCEQF!zeIos?Xf|Q|^THHw%U7L`q zv31YA4~uSW0S1HuVj_2=fmOd~DF6=G+6BBOlJrII51|%d_rjxj_mIpYlbIzv*&1|m zF;DdqFh-2RGaf)@=UnG7UAry|9H5To0|Kfhfh$$ZYNnr*v~;;?!|o4l|5tW)g;i}X z(}_#^ZR6`3+ZjeiKI?rwV2i%{?XbJY8CwEZK)_)Sv8O7KQntky#Z3Q$fAjgVSb`0I zR!b&2WK4!-ncfM>ZWTqN?EsAoXkm($|7ED_+t;suMJmAHmQ=Kwdowgl7^6F-1SvZs zR@qvC8d@}>)ZQ*JOr2kl5DXcWr*CfRmsXG1E!&_E-9%K=tgv;RM|*NNdt{6b$t6| zmCfy&f@5$$UJT%^J36bOXk0L5etxS{hRHDD3)m!anIalE(MJy1{yDh>FrWpQ0g4gC z@~b~x0IW{Yzga;NgPWY4w8l=>CfsU}YFub8;j;qOBrnRutg~y{s|~3X)d+F1D+755 zR2j)1^?u#2Y?YP>`jQOb0tpNjr0gHil)N}{B#OY0|IJd000V)eRA6v#5ywxfJ6JLG zLh>52S~Dq2@W(NA)Q@DY1P1h2)f|&~IHhO+GcyTW=g4~Q3!vdB1$~5107|3N9+Fte z!Tg)icBKh=#AIJGogU3$0f5btcrbJrj|P64h>psVFGnPx1Mf5ZkpM9njS?y9CRGOI z&;pe%DhVberWa^Xuf3yIogDs*r%~Ab15A&nGSgaWK08yCZJssFUc4_n9O>F^Mhn!!_mVX^R!KmuK8=#U;NcdTx zm2vu4+aH~%FP^T0lt`m*-PW$10>u-a@?@xsu*4pnwH%a21LZr!0L9LyVZPE=meVae zADEq>>FH@CU;s&`MYKzS2MR=vz79w;qS%_4S}|$L1;F+9u8;%OWzDoWIXMaZPNG#{VZg(Iu%@^M9ArGgdqCKshqukivdie#A@FWQI~IDK zeF=S?i!yhlGHg-QVx*>}vZxy+(J^Rg5FjGZT{M~c1-j~UlQs@@%ZMb1H*#a-$MWp# zEI@l-@0}EX7{lVT7~R8W+H$(Ps-z?>cNVf8kVV&6UjaOf7#V4FBi;=Kibyft^wICv z8n8rlS31@h&pK;Ef-E3n{n9Ga<=QXQfk^&Xuo5Gi77j$Poi z3+pT56SODMDISe(b+4jXf~jUcZ+%dyC>Y1C z%YfE<8m+U^dBATNF1Bg?7^knVj}D4(C)3r}N9u(SYo?l|-|6Cst{7COjdQ>ByE;>{ zshwrp$IA#sq>J8;R>zq2_V%N!)HNhT#ivsYo)?a^bbq@Tx~f$3=6pif%ti2?-zRxmh{}i@mpA;T#@-N zV{-8FvbMOqSeH)T1Pq*9y%T`U))<$#&S0A73*h+UoH zhb|nI9Tnv2S6&5FaCYA>))^Yk`=9j*2b}cu6c}7?XkQ-xDNJyan0xjjD#XrrkJrS2r&0+;Vj}H#G%Rmee)Q2fxOi?~ej~1@DXFAM|#aeyvK9 z3N01&K=IZjK0ai~*4MdAa@7CoD~(^s<<9|maRqS&Nrj7zs)0GQZhA1@Ug^o5n42>*HXcR+ z^vroL${Zvr@Wa?tzQB7xPw*n|@5a8SYz(9`bJdQE$C%zncVlZ?Hio|b^0MC<_{_vx zr|qi63Hg*&f<4x-9GM6KbwLys`uJTeRoDZ9Ugm1%dVN_Btk~_t*WbV$iwHope*SH~ zJY5IU*R{FJ{z-Qm?M!3d;#XF0@uT*v_uo81`PiR)+v@i;T5@UKQP;oSy2?G7JXZJK zW2*jgq$Bm&TanBp6d9OW+4MTE*cgMCaZU5Ft^o8}uni9m;zxw***KFX+K!Hv*cfr5d=X^rcY-ie`u4;4B zRAajG?EpQRoVtxxs@AKvZ713V7!{E=YT zs0t}O4@XD(2=cpm*tp#{=@Yd`1l__!;;+$%T^Zeor%l-C9EJzsdAM{#^`O-9>(qnl z@F=Q4B&3j26>6CmRF=YA^Y2f#83`1mV{j`U%wc*&bzsY8iDtz~LY1>aap;k0EwfkS zZXxP;fgVJJW7p0Fy9OQ7cF>U&(xs~^;#@b4`z$bEPhc7(+D41k3PiH&h2*dYbCp-- z{-Hh<->cG=zZhBSt)@Tj(#lA;)mFUh6_0lpXZpI>(-UwI-`3FTYvtgw+WXul>#Fxg z+kTC((&0XRL4Stbz(7JA4<^$LuQ@MwQ z5`0!pGYj8)MCn@Vr@IS1A2@gutHY6p=$@iWjdnslkrUwuN zQC~lr{9e~*o(@+Vn=Z>JXl~7de&`1{jF;f8f2Xtq_^MnF58C#-RbEsi3pxfi>_kC) zg}Ar_m3LC={Fs}LYuT65#7C|glnE$%ykK{r6bhA1EfJ{8CqqGG2LV|f5{GVY0E!^d z%&m*0pf>{m+SCHCTmC2oeu!`#HPqY15ys$x5D*n z-)f(laqFKD%HK*Z-(vK&_P3CUG5)#P;%rE!gG*TTaTj;rkx9)=agzF4z0mSIkbg8Y zCoLE3h_t*v;sNJXF!erIbcnzBnw-+#hF~<>Mv{6+O zH<_amOmZ=O#luJP?fm9}P*RSKMwQOa!>zLIYZ!e}&>gG3iqD@v`(JJtajAXG4|b14 z_f$q1G=IO@H$cKW@4v~IT|(L=ioTNrA*z|JsC{m(eC6kkmlQQ}ecwVH%_tjpykF`G z(P1W4W_`&*_Pk7)o*rji_gYg z%!I4DKeJ-KWGk7Pycp=NteXFbo{Wj)#gD|H5B=UECmCD+J%-@}4ju-KOwI?aOxo1r zB=cRoT(mV#8j_S4z2_3@=1zu=0xBfhltDN($u;Uw9pJTFq>!D^ z-%7{HtiO`*bt+wl+&f^4%%u3IPopauY8$1P9=cb#=gdD^+#kN6$&`81YjJqle>f>_ zBR6}&PKD>Z6SX)FSTg@hz)u@&8qjsp(s+rS5xS|~0YT%K5K5rhKe!!>&smlANj;Ed z&19_l`4k8W+d=9f?G@vradJ_#U{Mg*@>8JhD?2y0w^kS8!ma=MBSN069F8kf8=>$rgXRkKC@4MJYi1y&+no-$+J4b+s;GYXQC12>TPd(2 za}$(}cx6QeCbAqG>X%{yp;KnAn^P18hFZ0$ebLbeJxTNDYldx=uXmT~04zn4w!o2Z zi`Sgb>V7v03I?pP-vD0Z$<`=;miJ{mz8#|c2OHhF$kU%L7vTN(-~NVafCvbBxv^TV zcz8^Yr4u?XO{*hq+gWeBWOm=Xq4f5kz@$kINI34h?W*b~qTh#hcB}{(;N++Q-E%mok@H8^Elv zf*`oX0pc5bqf&!nC8h*S5HA@Bf&qa{uVZON$mxr4x0@>kO~{_^@YzZ%Na#*Mg#2cO zhF$&K9WD-?x+>+nG~!&%;df>>9L;WLXnEP$Y3S**bd{}- ze0XjS;>OaUZ|mE5mG@RQq@=uLvEvF+C!_CmR2Kv~GsQux(&y@8EHr0idDH~SC#EEj z1({r&NEF!s9>QB%)m-7|AOh3W)}DWRq(+?B8&C>3*9qNmvpuAI2aol(Tn2* z>d213KLH`3nR>UkUN+;Ee@{23wUsV7g?mO#>TpXtw!ok&Z1L`cygOmJMVH0<#P%22 zaEU3zQ-=q}n};O)V{=n`wcmGV9}V!zi={{0(JJ74=wa95PKA=Ili$i<+^;ty+w>?P`2&>GEf;P{pHNg}F9TC`6Od^;+iC)~vxc%RHbwyhQxclLZ#ayZ2^1m!5JCc>1*{m)3-Uyq zC6EL?YRb|b26g6s{$MC_P&qGJC7B(y=59jpFxn9lj;vh5@P?w%e7rTo9(j9n4>*IQ0m)5o^r(IgflVsk+GeX^JIJbsr_Ai^*SmlV z!wmm%nvjD3Li|Z_ej9^)#ueIoZi!UHuWn2Qm@zi$BZ>&X0ko>}ZwO?UxU;JuE>7wA`qCcta{1yo4;=L&lzk657>#!L3 zH7T9X2JDZ%xETHK)9~7go|em;mQk|3lp*Nr$~&`1b4U9;Sth2&bm)u2?eqRfVSnr8 z-oK2BdmX?adwR%w1^`H_=vW1>&%_QHe=`0VL`eYFt~GTT^z~_x0zE|!J8PW+mPn32 zrR-mP@p#_v^Y#T`RyVtiF&evinigWhj)i_2xN$RVP?Eb|k*bwmI}{2B6r@-<5S1Y{ zI-Xs89wWNKee^Z-DW0znHtVirFNH!Zun_`v0sx9^)Ni}Z#m{eb;A$@`VC`pCE1-|8 ztMw`~^VudODW>KB0CYzt^IpL9MoR)Ld~_%WvzR}M=XBDp-OGIx_uAT8-9elwnq@i& zdfR9YA`cES$VKptA2?3mJ*3b#=PR6KI6kY#BFhINhfE_55e~*-Z z!W^A_vxuZLQ1=(U$`;T*5{%CQwZCPp+6 zkT`f+X|6e!UOpc=0v#kNKOwP9ek2qj|DvsCr9nt-qGm&-jV%lwtZvtt%mviM$Sq{< zKGZO{j^|P~k!$KJEG&O}u|Cjt+%ZJolXTZdMsW9U!(=7jUhY38l{f;LSF?~Ldm){+ zSb(1wxH0je#$85A(o)~!zKNFey)^H`JwGvj0RB%sVa>BF)a_TMK3IbJ)i0U zb@kGw_4i^V?i!fv7x(wiZ*5W;{as{k1t6a~YIe3zz$5Jy5 zh$BU<>*I>wpj$4R>GE#PRdv&|v(8d)x@zUlSi@;mE5^5PVSJ9i({?|DN&(ck28PEE zV{w?1F*z4qq^L4vu~K05_KGMz!`aK;S{+dsbl?5Zv3#0$_NJeyB@4X)403= z2DrvRw=%?m4Qye>5^YmpgN0^!ucY)%uV1aaxLkkDaR| za7KKTYF#HGC`|v|+7e<_+|ZV2K+DC4|14WcS@P8!?LLa=Ya1ZqoT3-`>89wAHZ>;Fk{p!CiEjKs7wwdiX z9Jy}6fP9(|Di)!Of{;TIyvo$@;!)8G;{C6A<3_Tc8=KPejq5W;5Z&}|+s_+z0U(7v zgIb&SMNMa@k6D7!)#N}7o1E{;{=#Q`!PWl2WtLW*(*65JZd(+9&(>M1dg|%ZGG_K* zAldP^_V)z*TEve**1o=nGm}l=BsQ})I1b37GEy_8zP$0iIDNmo2j09k}zfp*rWN26Vw6jNW(0`d{D#Is2OMrAr)nDw&BZyLx4(Ge7EZ+-#2?Af`g z&!&u^5K5s44lR!PBVMlHJ%mP75X3@gloeM~m@}??Cx?@u$@~1@@Igy8qDBUqO=t(nzyI=}rZZ8Vb#i{;$Dz0yID4TIIIaygkT>SiW z9t2?Kzu_#yUvkO$onaDLQ!}*V^ANi$-@x1m;oZNJDPHq$yN;Uk*{t2f{_IDiZ(GGU zt@;ohAM2KD#%wNtOwbnH^zwuqxdyDvSU+Imv9pI(Y z)_&3K{rTtQ{6sUWn$>h|hqX8rncynemgnQ|VjSYLSTbykvk8!+RCT&L^1G4D!*ELW!`>NsY z|GNNr&|v20Pha8~at*#r+}@LyW};5%Tq7p4BdYltXGb@mm>C4E-UBIgWuzy=V!L)+ zU)y7r4^O9n$ScWE>v@ys6JAPo+q&tmL*DC$>MUK*g^D{`Px`7;>B~0hu$1|qi02v@ zY|t0>5IEQ_&bM~@A6XBO!dd{>)HeZw@g%DAa~4hiMLR<*v*UH zMW%GzyL_PmA`5KSAv0%JhS5iI1XF_{^wh7f$*7PsSrrwj%pU+rQzXZL`#5zJIp)Xt zm!l97;fP8E1a9_=3|xFD2mukjnKINNhJ|GKpYpTQ)4$Q_Kp*P(eLN5rp+41AH_zDC zT~q)Yx0j1A&eh86u1wl4O3VEZ_>XV%+`#Bt<_?z;x-#x_<=V>%Rtk<} z&Yi8Tt*Ni?wgdhtiYW8CAN4<1DsggloNe}L`i}yqC?|ck@L0I@?6Qf?|M)kvOIt%l z_5S>2alpao{OQWacpeFfMVVC2A(@n@#UGs7G!Gx-)R3~Hs&pA>#~Zv)-V6KxjWjHi z|6CVPQB!3lwa>TizP)HZZJ841`~#i>%Yw!YmHMNJCaQ6lk?hsE!&5GXdqx88}?Nl-w$vW zfxT3gX%*;c>qFij3*T&Sohl+LW}R0spPQ<92+4L{I6VysDdncx2cp-Yf37nqzt^k$ zE-nZIhb8rXPPfKqa@#R=l^Vpmlj97G?Mnki2mk!_>W2LYU9DG3v5GqX5*ZJ(co{_k z)jyyhg3JST)tQ~x2h~Za?@BflJxn5r78PTHIf=A`V1+Mhka{F{+H5Ae{{TI{b|MU)Q9#OQk4^ol^ z=B)am3M&OnHV<7ThOe8WXgiR+Shs5uBIK?@Z|1d!_3V{DVQ?Dpdaf1{ddNF=?5fw5 zAAIgeKAoG{rE_B`%|^2eigSk!GFkp<6ykoyUs(U?T@D7=_^_I`uVzB=CMMn3bGJ+6 z)*W#k30ewVUA&k*{+IoG>KVT+Cpg2vfE})@0u%+4pzWLX0H_#UT6ESQ4^~B_U*xE&DPdO;XknvVX77@0?%thjX0H znKLu@%yqwB&*$R-cXXn{yU>Q+etvU9)$m+)x%@>+mM-COR)#HHT7+>Z*63FFkAJzl z`afcuW2{bWr#((a&i<+%7Ro=@bd@uT)R$Kklp%<4GIdUV^$7Ly!V5HR&M{~2%Ju7- zF_6fEKesz`HWk#KFFFhpJ%`XJLnD0Lx7vqYBOslwjoD7gh}17C8_Tt^wdFPtigGxc z9w~bCa{dw+JM+UkkK z;N4j*iKOLrM>*> z67@FMV38vaJA)PvPJypc#Y*Ry@Zql1*`cn~lhZx}<=t&gyABS(xxMjm;J=pPr#}x` z_BV$ATNcvU2I#s6_gVwCKBvapubJy)aTE9=2hFnSH-b(94{`G{^3T3OrXfc4R5RkJ!G$`Ozh>nP}SQ+$JJt3skjhU)xqcJ)OF3a5+Pl z1xt*q12)CuAH*rQ-NVz4u-3`r`Tf(k1M$mXTE2gJ68^7)xs4fT`zlvrbfE67B^(z+ zBm0!ZPs5^i_v&jri*Y9UJk}(4)2NOXkCu>>oaj7^PT)kM(%1iMsT0#mc4WU&C+=wE z7V+rq4-{XV2RR*G=++)_Uy3&Z!VRnBLtHp4T&}FHY(L)a2br$M&958GvG*6t_yG=JxLUoN)C>nDyl*6YA%*)7|F)H(4ddh zhS{cz!;XVk>C5?0)~1GTeAqISHyk3uu4%|E0S$a2C586XGXlv&iT{?hqNp@pPk0z& zkD}UWzYWbPS;vLcDUPkD3toNo+I7~AsJI*(8wi^&j00dh?QHb1`nXy3s-roN1GhRK_#Rmu; z4iX5a*dwKu{Gb(dg++V#rkBN!tsobZqI3Q6536RDa?ZjzAuzRzCvtEHEb^0y4=D6v z(w%}EXr8?^b}NS=^C+@Icw@Bt-7-(5Pqopbf>IS{WAM&6K7|`Bcj9~mE!}DGvT4ei zu$r>L#Gk=JL}kB+f;z@DYJHijO%qea3|0?1#@^_*JrtCK+|T}RH(ON{oB8`c#B!AS z@XiN9x8NP^o0%|4t6j~Pk9@%vaj6L`6a7T$lutg}x zGOridFy}Ut-lfo=BCcDvC5$do;L=K66z1yL68M~|tZU395*e4~A$R4X#^Q96CmHHM z82m{hfp_t6t}3toce&wcQ?Px+Z@y3Wq=F_=Su<4LD3pt*h-Q=%AK~bc(x?WEu3$x; zSvh{xq@awd;2~ft>y{J7(V~4sQ%kg*#F;7NmzMGaLnHS@nLkEpxN=MDLK#DYY+EKZ z+K=({e|*osoV>WX$Lmv)ydn~QgTCOI42;`eG?>kb-Go}kn52eN-H00X6Yb!}SSFTC z-s<>ELAo!YX!MOI`4KKH*a3%pWjew3YvgY=cm=L^oJcDKZXBmws|Hg` zK>KVS)~?)`YYE?7iPf-payT{|w!9yHR(>rXCzM*$`)o2ez1w%doSx;6HF;OLr{+yb z_gg@#&%SkOUZdKkZ9m~x8ZKmtN-h=AHR8%AeEN2?r4qe??AAYh| zcea*)R+qXw>}!AJf8$24w8*8m)3YUcx}wQ7YDdJ}9NzJY-&7;@ne0bM zS)wVrPehRii4!w;XUxE_Mjr|H0Yf68w7W1a8uvt!i)@2UhNW4DF1nKU^behZ>dxQp z1kP)zzkn2~b^Avu9K`0|g?#@P%lpCGVh<4F`xHQato4iqbfU-B;XHzZ z%Mg=ui;3h$kY}$}QunM5H-`r6BX(2XyIyW zmbi)ftUQRve^HYFXcac|#{e zf?)*EkJy-=)d&yOjqiBC!0n1l9CDHt-hTzB2|)@{0eJUAD>?n5W-m_RG(onjc*-=E7n{)8a}EM_y;H#XKK#3lci-@SC{QvQ>@)CLOA+BzUY`77{*{noW>4%zMURaShu zHvm3{V!IY6DjulrcQT6U_IKHy^{5`U)RhkBs671{Wq0ZqP!hU1->NV?XX(k)Ltt-M zPAcAd$8cTKg$;GY*NP z`J~%cr|}QBpjQna%E-=k_PQYBt<#;py}uv?b1{=nFVz&$gUJ@yYosq3@z6Q^qvW?u z=H@1hzW(-=Im+(CZaU{b4U3J9wbweJ1#|c#O>FbS!Ozv|vnR^jvv^2l;tMr*Gj5keC3pcEu;-Xlj2PY-S+>K*@`=1Rb$c$|8?xk!6 zIe4}8$_{~5Suvi8_GBjdU~pZZ$-b*vgwzxD(rC8ElU)1ehQ#o7sDldZ*$5OxxcCXm zZ<@XY>iV6ZzyBI3UR_;HNJ!XvIJzFtGPeQLKBDn%?F$AeLG6v?je3}1;v>rZoYG0y zW?=Yoqm<2)HLdWSuIlhzvCX!V^yO*xJFt3ZB}$O?%lrCaCYO4ya>DOUL!#gv&^r;h zQ7B7)ZKArSj-UWoW=WjWf*V$B!_*=67d4_0{>4Pvc+M{f2umk|`Zccny)=G2&KTvX zr!APG9>EfWRWo|%ns+lxVrmy}WR&y1O)4$V>}9rywZ{qy^1?6yZvB!DH;HCIVmB2L zS7A6)1|&X%tFY<%b$1r`abDBCt=wIrS?SfZD+^7h&xhNmH}}EPBtL(68wUra4jX27 ztp{e-JxjR#3!$s-tISuFzs^q2E|9HSfHkAFuD!Lfy)LvVP(k@uVhHHMHMNJnYbIXQ zckK78A3X{Ur8|nXFbm34;y&*^_r6Z99gG0PT0)PQue@c$F)b%K(ZDJy({!i+lim?0 z(a+DW-%4wbHu{3Tj}_jPaX!!OiDQq1d$6Ejw3?SH;a_0f1%h8#U2K*-^(S6cI%zyT zXYxgRVm*=xVoVQ1Mk3Uqa?;$UMy^bSqwiCspUJq1x|?}-RGao7Oq_U-|3i;M05~sR z=bZd24t;(gLX7t(2t>vi&z8x9q2P-w_-DmZ{G{6r8oj<|)6Wf_!=OcIkuHK1AvCRM zqh2|B;2dxlE%KHuGMBZIu7n``Yyl zE*-r~ce3d7L*W9}#XXeF_>`mwdErY{?@A=+9}MiMo*fJyMHR{lF`*!ZleA#}poO4w zfbc!U-RIydXYZW$-hCpU#3tE9nRd-PJKoLbRSH-uH+VvQ^+QebjrMn7aJbF~8_HGm2cJF4Qt2G& z3Y0-jHfp#&KeB1{mPR_K#(dcn0Zv)`62Q};0ms(OS-=K-r1@Y+dHra!hs}6uM;EJf zDoqg`@s=yJkr_EPXf1e7aMJ3n0CxSipFf(--M~dc?4j_;oU|lNhQ>4c4unXt^3-5L zk=xuGTV8v6B8{*oA8EpuTg~M6$%MM8n7*_bIP1vp-yb$0USmW3xXSnfpJM7I>8XHG zB9qnJ$+hArim;yzC$j7rXuSzDk^@ADLOPv9NrK1YThyH=>SsTi{jK|Qb}Z{&5}t3i zsGEcOb_0e}gNkqTqsuwbhA7ingt@u^9~LEwf}yZ7LyV8=Wf+93a5wd|&#P6=m@mu) z?_D3BP+FH8e%XQMRx1EuS`Q13FSIWD$ejFaHr#GVtEGfX;B0UnU@RBw_NVp<3~qnf z5k`IJrE#mAd#@4ww&enzf%}g11Vo31kt9>{5mKzKQP9(bs;BCU_GGDq3Q7-;N&hM3 zy%qJw`30@LLY^9qF#d`aYnXO1FE`V{!t9aAIH|_7Qh*{T{eJGP*bwi0bE-j6rsib^ z!FXexO5#npRn-`8Vi~W?cY4RmIL99$bg93r+K<)^TK|0A7;13Gn7wX@-VqSl9@tkF z6p)X*$$ec+%%QlswSB>*At_&B@gS^j{#%X(HokV?JFve6RCIjK@#mO~WN>)b*2*>R zwtjC4@(})6ckkQcQ&pH-;;cZHePs3^sX!I+m$oN4U%~H(c1{VeP0QX0(cQRQ>Ug$V zv8tl}cEFlBPq%mLL5aJf^SykX(bw0NQZo+Lj&r`O%uXcZ;dTe389NFGjp4`M9&R&O z+xCFL5)PE`|K#+<38gjhf&5#chkq|=nqwpuws^e&u1aWb3oX}Ormoo>=3eTC3 zS_2otH@{+*lk=4iuAMFCukBxGKcYJeTKcp#0Tzh?fgAJ9p`WHQ@(F{iet1NXobY#ZyLJ;_acK^6z_8hJRDt4c@O3h zGj82F%D`@@S!~tc1b&X$PXze~;Razkyqv?EGxi zfVJt4uw-K~{p*FFa;+K@YK6CtPftP{FelrscIk@lf$s+&(XiCNYr;GAX~}zyukPl5 z*rP}@g&(Ho1F~uB>Cc}(3seiR?5+(8?eDQYTZ^4jX+=%hA3$wtn z@m$QSSTXAp6f8esLV3$2t}92j=lBPAfLw{i$P%N+hcy;4cVIo1kHF*&T^vM3A zUvje+DHoXO@+kA|fy2JJX=xW*Ch(SnQj%&AmX6@`Ws8mXd7~k6+*3fXkoDN(65HLf z`ylmIY(9SF?_sfRH950yjGe|_v0=5@H67{@6cohQ>@v;`{kY{L9?b{W0rp2;e>)^Z zhaHJAw@4C7)vORCe4U+L*}X8Fr*f&s*CJhQRY2#>JoCcNwz4%pSVEfUL>eKaWt{l1+vj`ebILf4bc>MV6*SMY2 zEu<#Q^&CznY3W}W93*RS`uEKrM!YnpM>gSS5pgv!YA%8|K4K5^uEu|mjW_*XM}40f zp@#Dy2iOcZ*kIquXzEB1_?j%?-(2MKa&y^65pjqIaK{K4Y}u%Ksqp1WUiF@OQ;_eK zE`hS)c0j-Auq_!W`uWM|sxu&fzuq_(oPHHTj|}FXT1gbpC9DFYP=I@Ai;@x}1d*tP zf`P!)Bj@6ghvDI8i&48oVk}rGjtIn41QJ<0ntq_9JGe{)Il*6yVAm_Wpl;ERZ|@o# z+j)CxWFVLi4Q*Z#GTcm>U03_XdXg@;oPF!q`za(7uO|HZ8%jBnhDr}sXbLzz)v~z_ zo)5}q-{5>L=Us2-by5MSo_J4g|=L*?~8x5NU}-sf_EjUQ4+J@2{tnF?b`&Y%c^1G32Z}%(OU+NeKRf!U-Z;4e9}&N zniL1QD;%z!7BdTEdE*+x4(Y(Xc?=LUs3-xySK7MX^om+bZ8ehPZ8)E`8ED~ zY`o#-O?l1?PN0@c%D)8&5FD)`>%|}JXCoHv-_Dwi!k9vU|+bCFG@A}ovmtlY`Vst z;CbT`V_+=WFJx;E17U@piXd~N_l`AEN2ER-&W(LRg%$zDu1})onHnFVTe1PpoBMdChu@^g`)B@%KTdJ!^0$C6Cp}t__*LcBScQkr>(B_DkAW5hGWXL@}+57ZWut0T9`E@xx>+; z18Vr68piDHXLDzc;nS*tTgKk9-z|qF1~gN9cWnB7nVFf>CO_+~#u5xC4#1E`ngs>u zI1tNA{k8QsgY$GrNQk8y5~|)Ltcw!ydyBm|th_Ixwk3e}bY!e*;`odxf4#1NOM_BA z`g@|rgd-sXLjj7EsE&{Rt@rAl2Km6K{wUk&5)>OF=9~Pdx`pe@IH>R3jgzS7pp`C! zb%J0SQeV0VkAl4^qZMpAeD}QeFAd!#VZtX`5zjKGB_}RHdNpk>^ULMZk`zWr=!#-iciw)nb}J+pH!O?U7b)y!=YIV*FR%;~yQ}2S zcy?@es;jr<^0iUi`bYW8qTcI~+7fSd${7e<(a{^9jUs%jrvhmJup1fAkLo?}U#@3m z?^NKHUvc2k=c6{JM~h_e>x`zz>}_I546p2tN-%74h#G;XSKEKz`$E?FHoQT zas2%Wf>yrDE>L;Or8~IquE^_8P}SY%rMHiohYuWl)=7zJ#acr-sx58JRD6G|OGkd= zXrq9nM>j)?*TQB_aoWz-W?gc?pw<*2n0Q5l@~E_~u7$iJztV92|7QXIvl@I1W*L4-S6To8@0wpFvY?oo%B(F7o9Uzwki(k0!?Q%satJz-W= zsC_?s>95_B-vp~h@6EL}OYH5VzjcjOHfLK4C;!0dD)a7DL5&LAYmnZQ=(f#iv-FY| zd=VpZbaVw&YGRd%B!pP8Sd{zjT|b^{OkHnEAG2zJS(Xvc)kv^a8O~Emh?+40m)SXr zo@*j~O_>J0j3rm4{{3bf9Vs}J~zxy*J+fRl<)eR|vZ0D*E z3fVjNkHrW1AUZrID0&jar6U;Llth8!6fsd-KWcia^}Y+}J7VgW-?L*R1f>mixUlM3 zKdrUNzStM{1Bxs|#nI~b17R<2W+|jkW&zUKL#N-(x5Z{ANoK_(y(v(2C}eFv7T&e- zHAkl4#|K$%#XLGH9)lu2SpChM>*QJ%_3>K3or?PCLYdxpw~$QRl^JkNm$j$iwV8ti zJVlqFAa)M3Tc8Qy*^5c>WqLVcsa=Q@g8C1EXlJUxUlo#t$fwRxRsvpT&--*)HSA<} zN}}HwJs98&j$83Xf0Q@p=USYH^9Xo`4$h3_m@ah-4(y9M=OIHh@7I?7ZmBleF|YQM z$!yg#167kqk?w5btupOAShiN%AG;b~y>qr$7*q{iN!+t;pDb(6d$2BQlCJfbgIf(Jfrdd4podXbZ$R_ zes62*=Y*pwW2iS1tsS-e6Q4(gH$#K}kAz-zfxwM@M1u#&AR;rte(LE51kw3Q~Vb zVqxb_&yGirV1tG@T3B7+Ictw!nUlL9@@@k~xR_LIWL}|R^wr}gFiU(FJ{@q*tCr8o zc6aY~(c^;~n?7EHbhruG7vYT&7->?Pu$9wgxWL3`8YI>vs)p)*MzR^2LF5(tsBmH0 zDEh_cl{46)oJy9d5Km>AS=vZH1ZF>BBwTtw8O~3Go9snES+Z;)Op%5(eD$Mh&s_DF ztHV5SGHNt5$nlSAI1vJj@_RD&MP{CBJ-q1qC^;PiZ~~7^zI-f>)^g{2EeD^?b7!$k z7sN23w8ie|c6XeMkVzLTA1Rsh0=1;SjbS^NUsr-`zX zvv61?wfPM?(>v{O>U$^3WvDx=6m_ z@*iO_4liD3sw)i2N<=$ZC20scM_$inEl8wF^VBno&zy{}ll`MosW)Lw{Y(Z;RqRRr zj#G(m6&56zeTJNeyb}knG!lXN6#WtLfbo7GLKx&AW!9RYc zHkE*2?IAehLtdO!vLplri?7&}W6#;#So>4^*E-oTrBs9{JjLqx>p-2Sv}##|FeV=R z3YQw>eD-Zj>cb0;;MTc5b9$K(HC>U*WNLU~59N(Qwyy*3C7KP5%M6_h?7A4z#>$``fpakOdq-q3{LU|o)|4iVOTKnQ>pBT{YSWbC zC$j)YP=f^P5JAGYG4*&Jm-Y8I)nEB1QT;@Pgh^-VF_7dSaF#e0X>N6M<~zj?^8`5V zetgB?;9kF{GF1{pS&ZuFP$x4NzKEeONMuKATevr*D5uVj-?~mmf9cVZuufwv-Pu(B zNpRiRtkU$2kDs>UGAs!D%}FLBww3RU>@2C%>snh%)gRjwQu?(0jP|1*%F;hIkTzpH z$(FA=7xr!1RJ$ZZ9X_S0#f&u02Q$W;r^t2 zMNioC(f>ldt8YwYy#^7q(~${`PL3n0$oC<*Hz0#I_j-UktHFg(6}K@0MvNS)gjUxR zC;LI<5-nTJ7&$pPgoWCc9Uv*b59^`mb9pq+d_9%^TsC_M?fm#yrJog-X7SUUqu;-S zD>4H9mM}D0-|I)p)KrkzNxLc*c;)NSckd@pSvB^jCME5HI~(S@Y^ymYK~;_}HmU^# zK0f$Tn9u&$S>bs$HZO0ibBWO3MaL-*Ln2=pMi{24kJ73^5@XO@G<-3yj2V&Q&2rpW z^-87dp+9~ZAzzQi7`M2w-Bw=n^zy_|Bovd}mAnLp;c;)Y6u-2~enMhdVqh2;@dw_x z-%o)P{J2;U{%-)B9NNNzeEuZlpB+boq|12S@adYfDkVqWveI4N>s;8Jug&nzrfQJS z_K$M!@T0)kE@XuLqZ0owtLHLw5q2e0J^lOSD+jLOWISFh>$?}|p#dp0_M7k9!bHC%mK4`mb7g!@@e&n|ITa0NXxd%wWzhkWiy z6WKIk#LbE0eEXku5A%n;0lgHbWSgdU#MXoH)O?r5OVy_f;g=JyopjA-nv|vr*xFgG z){}vpxLzE5bf)rsb(4=RR?iaJ+1UZ0V9?GcZI6yx2mZe}mV*2~vHIz*mg>J}_8Nn` zsp7TL_tENDs()t|5d0`DAGU@{TbpqH?@7VDi!Z@uq0u^-F_V)Z17QKBp>$82k>#ag zmPi{Pp|B(CN>~$>tr-V2j&L z{+F%_r_sU;`>Ek*5#mcr*96PFRhC0o$o-2hDCNsvWYiEHq8FU&J+0u>WrENcdu^By zf*+cep0-_9aVgU*O??Pa`DUk01_91!-LT>}#&^Js2X(Q62VryWP6dfI?uD$TnI#hI z!Yvt64^b<4LoEvvy8vkrRx>mRr;P-{g0ydzZZJMVgQo@FGHUS)BdU^U`eww%9ycZz z1p^n;_o~FJ$K8=)+v3l0RBg+&ZK`X`V8~)_)UdJ}P?yN}xlTNu0`wmZ z+=B+-#>hn>=-;=n(y<2N;N#~#3t_8+t#g;-_^>gSP&LX-(j@8e<>8$uK3G>4W!m@+ z@SJsG;kdq@AUhaXbQaai;>is*#C{Cu7vqhQ*c88z3)qkR>}n9Fq_y^U7ipfn+o28OGkbegyx0WB1YF&S z&)TfnMI+zK*OH1{WL+Db8yXuQwOp^Fq&un8MA?EC^TPbb_Y1>^|a zBgz;HqvMQCl&$;F1mY+IHO7cPv$t-*C5q|?&YuLqTD%N(c&Ey(eDd2MWY;H0;8U$! z#>M6#MrEO((z$!ZfD>FR{!C^r)2m`8jv{;ytV3=9D^B>ADE3g>R{}MU1U?pzqqtLvzJ+sj5S(xk@~eq&<$6)GurxY!!1!9IM0d?3Kj0FSuHhAPu6 z9ZSY|vIIWbn>`%jlVYa)YCrWpZ2=*wwJRG!TLMY69MbHN0w&U32>bHDn;Soq@?9h) z*ORq)pZw|gdi-HkAva*m-$vpSNS0TIsAS=27JlvOp%JY8%nsD&{<*&N?uyP^8e?)2XRL_!5{xk8fd+McW* z?jE@_6KHe2_7_gQ!T1nd$gSaK?iAP?I-VDsxDc8&ZF2TDh zPdWJHXX1L)Nxy-$>rL(l)pknC%Ew<5q`W*ltl$4fe@9NW-G#ijn=P+pYyD}6y2&ST@$9+Au*ax&T^}gG+ z?O(b1f=^h1OeR;}STSOquu5!=vYFZ^u=>}{*?OzOo(|V=@80TG&>gKEc<|tXyu7^7 z$iHn0r)Jknc#fEbk4#Iw-xpr1Fl`u}Av**UZ^1g@SU%DGEQWG2KN zP^b8y`7}k4+HGYfYAZRL3HAC64-(Oq(uO+6YErID@k{e-v|AJY%S$YP? zQLAm96Z%bS?&S!>YSpqEvz$^kLt~x$cRIS6+s>kPkC?q|+xNO2*rnl&aPO!JSE)SF z7M7oAeLnwu;{yRwB9_j2H(i=IH53bB+>c4)JP|(p{HtCBJhSCf|^jwn~U11OzM#=|Jf+r zW1R|w#B|NAPxw1?aB>Qz(u;AaPnVcwK5V%}E}s8by7B#M%1yq6F=bsM9>xvB8BtR^ zu@oeJQ+}YSZ~;J@S)tG_%PoH0VjUL!ZDBK<)hoX9FVs`|lqKN&tsTD#8bqfT>8K}#lY&kj| zX{L{E5%16x#K0hi&3hf=V5TbPlchmjz<=J|vtAu$d>5`}=vsLZ3-3UC$zN=^OI3U$ z0*29(jxmOzr8Ui6C5Y58b)0}S;YHG>Qdj{vSFt&=pb{rF{fgP0_0X;?{ee$u9MUi1 zEj2peLW2R9*eqpB5=-zQNtMvyQ7kLZVd0O+H0rCyX)#EqX!v#i>ls(tUlT(%yY?lm zgVzYaee!S2Ag}fB^yihAGttrSMmz%FPZaPThE*@ri6j>H zEp{yard0GjWHk^1**hPSHQBS#(v{sPlKz=SCWl5?kdM!96!V3>z(#p_+SWVSDPTE* z`5?aP5XWbplfQ4{d~$lyI+qI~!O?v|<4V&6=oLGa*<9DBXGhhvc@@!?w$@Bf?4)JJ zGJP*|s-UdZw0|MQ1?BtW4(k-S2UH>J3`nDMub?o9Hf&-Rws-b!w?rmj z?sw)wxXS8W#(SdFLtmCaqoRQ4mhXEuHh$|jv`l1|UQ6|58dkvca5+DchEYSKAeq%v zvcAfvtoDx1qYW*&4T8FJwU&f&IOWjSc(<|$dSSHe)VtvWw zScfv=kI2xrWC#?}ls?FMdm|Zds7WRGni7&3{|PTEDN}>%K)XuZMdq{NWQKOa!eleC zsfO;~n)AMOy7(;3PWaW_m00bhB-^$77LTpo-W|BUFMrc(?!C(Wd{K^s)Wy3xNdfA!xvT&?B5F1_D)E->;-1utPLOTw4NiKBap)IZa#K>~(3aYi85(ZMEdx zi+yES{yN1YvxHjtUumX(6O&|>KqEEjd!xb*zMnkYtRmnMvfg*f4RI;2?8OQ7 z<>y(7ut`0X-@je^iyROS*M!j0&2hc`eqR@+g>HTy(lod61?7dn#<4OX&%x=N zA0J&8)wpmcO_M`9Z=DYUMy}M6J`HB9DDGm$HUp7~9I=;&RWxZFt_;Kh#j0fm%}Wxd zw;w#BFCFJ%ib1*c``Pq>WeLgyop4|sTCD^7^hNDzZDWYU#K3@FDKQXq%_3J7X^|!3 zUgq%V;=a!9?V$oCjsbRMZ?C<&*3;d|`3JVAv#O_+XSFw`FDEM*mPpEp;*ciY)<$ll zSF~7al9jg}UUM4#h$=LcOdnEx(l+G@QnEeCsv!>EjUpED1yq`kt#ajbc*ruw%vzYK ze%JG_P2pg-;D2CUX}h}HvTJz}iRkgoDrtUFc=JB9kVB3@w{f(>Q0{K%;9P53+MN!8 zC%+FkTh=#{!~YgH&&)X925ibzrJ*C<58;cQ(R>V38}n(#xk{lMKki(6UpWaVc)Xi8 z8f|)F;8i@9BKUsy)xao$nOXOztDy^_Cxh~h*<|CA_I;%@etpNO+O{3{YEYB;JE!Y? zE$2o_=~=?Uzfz(mW$5I{?szt1IXyjqT#2u_TJb-A2zg)rR;6V3-`xDxI%3V^@8ji+ z2Df)hRSy|2jQ>w}6{va~af_qy@1C9A$RyNM(XiFrO~eV4iFsn1p>XI6`njP7%ch$r5NS-c5- z$rY~-VbcR&xyycvLcwqD7FsHUggtwz)JAXdMP0t}tcCL?$4HsJFY;sgcVP3zP zo!W=>w=Fl7flwBwg`@e35Z8Pijb>f+mY&)%$Z#dU&mFQ?uvQ5eKoFlN*v4<>gQ?MoeG*@BQ49!dI_#N*8i-U0>^X%)FjjHR~t15o^QtFA#i`xfovt zgtiKw_dodRqg*vr8tMCGmC3KU(?=Qq@ySlh!r}VDNpAIr<21Vi5b`|8^*){7JWCA+ z8nrWbsqpG^GhYc&E{u*_ zeZ%$1?9rSpagEY6YCd=WDL5araFPMp3$63W_LYpt%*_u}k%Cd9V9$i^{h``MiuXx*3z^SMy>g(F{@OIMj&T6YnR!MM*x8NQ3eF zB9drnphlAi>cY`*8Du>bf;&xfEVA$t7_T+=YAKvAQqN26Er!(GXby`uM_Qj>nfcI$ri1F?w?d!MDx6H4xZV*>ZsfNNvYU92M3AosTa z_wl~8iHYX!=<=CNEWtf+O7+9`;!?!}pd>#1J$OmpD~wy?_iq#D^o$Jeg*F>;4x+KR z4t=M4<87tj?@+>j%2({#!%n{Y4-4wB>QnbLaAu?{IJXSuF238G-rK@xad2|@x7qb_ zRz3M^B)LojQN$1&%Z)|l0|PjIE^|C`CbFuA?v&c)Hv=9E1ni;js+%5u=L9CV+0al9 z61abSf4sP~yW4_?1MSxv%S!dQx);x#W@ZGi@HeJ!K<-q>cu0|8_GtDd$vpiWGtccz zA`>QOLcggh+tYZF>JOVb3@)6O5T`~Mw3q&MKBR3q1D&?$69>=x#1_Bi*k&%8rm&1> zMcyqpj(}gF>*^>gRqPFIa}R|9g{w@b@gF?FBI=p(EuGA7qWQy$>F1H!-=`6|!v}Ck zJQz_?DJaR4zs@*`kO37DcC(}uWHBP80gwK()Y&Mf`RA$04RI-ni8m8JhwianYtSIT z0oS~$g-Bcssq!>|*^?Nz{e!W-aLuY^SBOxtjPx7Z%36U;rlW3@I-;0L0LFrPZ6>Z? z8}jPAbs(eq54OQytY zICf@1t)AKOGY8pX)&{L3vXo%P%?W~D56JI*V20X;ip?umV z?dER=2Z?l1L-t>Iaf!5ft5$KAcpnM4dJ^R>cq*Y>pLIkb``3GnKQmRn+@cr9vPAIf zQxyCpgveIyyOHY>nc14hY5rwGH-Rh?Qx5taE@v?NoaE3YiE`y)}N4o z)_GY1M@`kp2%%w;4-ta4xAQfom>}5E^}))yxw()^v+AijYscb|2*^2#z3UP@)r}Qu zOpo=gw5$^syU+=yxtz<(6yckerLOTvhDdw&(4&FO>xi-6q`xCw6({$WyMWJUf4xzR zz)CFB=q>DuwF^DjJtAl44t;AsISD@qKQ29E7i2;H>g$m@UId(%*v-}ly-ObGg(sB6 zqf3`yD7TRw-tZ^B!M{(EB^PY%+8b+(dY6-VRow7yUY^XcUEK%W=;rNisVC)Q>m2=Q z#+8SsOa1F%n}Ej`pYlqlkXY;4D03fp(qow`)#89xJ}@BQIEPn{8l%?`HOXySK@1C5 z6P|NjKd0_uWmaw~fVGeFKwk&8Y3Q8S{+E@PW~Dcjlp3eJGU9{jQjOZ}D(>wbMumk- zx7XK?c?=E=Cr80ebZOw9%9j*~<>javIi>dArY|J>hX9we7gB87*wu8rHfB)FcP~Z3 z=}D;b4oK(Psk8x8=}yPdCa;aH%KMOq(_FUgj|tx{awo=Y28-yj99#J`sKW}LrZnI? z{pX~gYb_$I>P;oZ>>IL`h#{4h<V1PJliN zg89*0b?5g(Ia}*jT5!oBDRIf6ljBh(?3X*S56HQDUjB{7F7 zR3wP^&$Dq%GlC=YK#pZH#tcg3^9(m(pM^u_f^K`!M2dmEC9n@mSe)&s%Q&+dLd?^p2Uwx(BOPq zXlzZrS>@yR>i`tk7c{yWAdPfQ5ip8~@D*oZGDLrTYTCb$dHReN4*5tBXh@__v%D0y zO>iVw4qs##-(?cWw92->3#+-Tlrii(be%hU5*({D;S9j|y@to6G*^=1l(ATI3z)Vx`Wb z8~pIwO=)M95QPGq$_qLe-;37RwS>eIsXw>x{8fWQocL2iY1LfhzI=>`q7^>JMD)

I%qSi6m|@V9ue|D)-= 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

^9N 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 z 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⁡*1m>&e;Iuz2D!QF5Ytl3}U(X``V01 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 -KDllNzGH%c?|57Ab6lLU)ZmCx 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 z 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 WJ0J;4B{iZw_@%!%K#~F{W(R7jW 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 z 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 PLBL1lxrSmb+#>vcn{0Sp literal 0 HcmV?d00001 diff --git a/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java b/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java index e5f020f14..e20b9b6a2 100644 --- a/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java +++ b/fabric-datagen-helper/src/main/java/com/jab125/clientint/ClientInit.java @@ -68,9 +68,7 @@ public ResourceLocation getFabricId() { } private void extractAllFrom(Map languages, Stream packResourcesStream, ResourceManager resourceManager) { - languages.forEach(((s, languageInfo) -> { - LOGGER.info(s + ", " + languageInfo); - })); + languages.forEach(((s, languageInfo) -> LOGGER.info(s + ", " + languageInfo))); var map = new HashMap(); packResourcesStream.forEach((packResources -> { try { diff --git a/fabric/build.gradle b/fabric/build.gradle index 8f749d207..50e6f8be8 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -38,6 +38,11 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury-fabric:$architectury_version" + implementation project(":api") + + include("io.github.ultreon:ubo:1.3.0") + include("io.github.ultreon.corelibs:commons-v0:0.2.0") + modApi "fuzs.forgeconfigapiport:forgeconfigapiport-fabric:$forgeconfigapiport_version" modImplementation 'com.electronwill.night-config:core:3.6.5' modImplementation 'com.electronwill.night-config:toml:3.6.5' diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesBlockTagProvider.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesBlockTagProvider.java index 6398c6c50..79e0f4c98 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesBlockTagProvider.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesBlockTagProvider.java @@ -1,8 +1,7 @@ package com.ultreon.devices.datagen; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.init.DeviceBlocks; -import com.ultreon.devices.init.DeviceItems; import com.ultreon.devices.init.ModTags; import dev.architectury.registry.registries.Registrar; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; @@ -11,7 +10,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; import net.minecraft.data.registries.VanillaRegistries; -import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import java.util.Objects; @@ -24,7 +22,7 @@ public DevicesBlockTagProvider(FabricDataOutput dataGenerator) { @Override protected void addTags(HolderLookup.Provider provider) { - Registrar blocks = Devices.REGISTRIES.get().get(Registries.BLOCK); + Registrar blocks = UltreonDevicesMod.REGISTRIES.get().get(Registries.BLOCK); TagAppender laptops = this.tag(ModTags.Blocks.LAPTOPS); TagAppender printers = this.tag(ModTags.Blocks.PRINTERS); TagAppender routers = this.tag(ModTags.Blocks.ROUTERS); diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesItemTagProvider.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesItemTagProvider.java index 937e023f8..4e2908c8e 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesItemTagProvider.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesItemTagProvider.java @@ -1,11 +1,9 @@ package com.ultreon.devices.datagen; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.init.DeviceItems; -import com.ultreon.devices.init.DeviceTags; import com.ultreon.devices.init.ModTags; import dev.architectury.registry.registries.Registrar; -import dev.architectury.registry.registries.RegistrySupplier; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.Util; @@ -24,7 +22,7 @@ public DevicesItemTagProvider(FabricDataOutput dataGenerator) { @Override protected void addTags(HolderLookup.Provider provider) { - Registrar items = Devices.REGISTRIES.get().get(Registries.ITEM); + Registrar items = UltreonDevicesMod.REGISTRIES.get().get(Registries.ITEM); TagAppender laptops = this.tag(ModTags.Items.LAPTOPS); TagAppender printers = this.tag(ModTags.Items.PRINTERS); TagAppender routers = this.tag(ModTags.Items.ROUTERS); diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLootTableGenerator.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLootTableGenerator.java index 8507c8e2c..1b0b74f8e 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLootTableGenerator.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesLootTableGenerator.java @@ -1,18 +1,14 @@ package com.ultreon.devices.datagen; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.init.DeviceBlocks; import dev.architectury.registry.registries.Registrar; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; -import net.fabricmc.fabric.api.datagen.v1.provider.SimpleFabricLootTableProvider; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.LootTable; -import net.minecraft.world.level.storage.loot.parameters.LootContextParam; -import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet; import java.util.function.BiConsumer; @@ -30,10 +26,10 @@ public void generate() { @Override public void generate(BiConsumer resourceLocationBuilderBiConsumer) { - Registrar blocks = Devices.REGISTRIES.get().get(Registries.BLOCK); + Registrar blocks = UltreonDevicesMod.REGISTRIES.get().get(Registries.BLOCK); for (var block : DeviceBlocks.getAllBlocks().toList()) { ResourceLocation id = blocks.getId(block); - if (id.getNamespace().equals(Devices.MOD_ID)) { + if (id.getNamespace().equals(UltreonDevicesMod.MOD_ID)) { resourceLocationBuilderBiConsumer.accept(new ResourceLocation(id.getNamespace(), "blocks/" + id.getPath()), createSingleItemTable(block.asItem())); } diff --git a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java index 1262fa07f..335ff9a4e 100644 --- a/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java +++ b/fabric/src/main/java/com/ultreon/devices/datagen/DevicesRecipeProvider.java @@ -1,6 +1,6 @@ package com.ultreon.devices.datagen; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.block.OfficeChairBlock; import com.ultreon.devices.block.PrinterBlock; import com.ultreon.devices.block.RouterBlock; @@ -43,7 +43,7 @@ public void buildRecipes(RecipeOutput exporter) { .define('f', DeviceItems.COMPONENT_FLASH_CHIP.get()) .define('c', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) .unlockedBy("has_flash_chip", has(DeviceItems.COMPONENT_FLASH_CHIP.get())) - .group(Devices.MOD_ID + ":laptop") + .group(UltreonDevicesMod.MOD_ID + ":laptop") .save(exporter); } @@ -62,7 +62,7 @@ public void buildRecipes(RecipeOutput exporter) { .define('c', DeviceItems.COMPONENT_CARRIAGE.get()) .define('b', DeviceItems.COMPONENT_CONTROLLER_UNIT.get()) .unlockedBy("has_carriage", has(DeviceItems.COMPONENT_CARRIAGE.get())) - .group(Devices.MOD_ID + ":printer") + .group(UltreonDevicesMod.MOD_ID + ":printer") .save(exporter); } @@ -81,7 +81,7 @@ public void buildRecipes(RecipeOutput exporter) { .define('c', DeviceItems.COMPONENT_CIRCUIT_BOARD.get()) .define('b', DeviceItems.COMPONENT_BATTERY.get()) .unlockedBy("has_circuit_board", has(DeviceItems.COMPONENT_CIRCUIT_BOARD.get())) - .group(Devices.MOD_ID + ":router") + .group(UltreonDevicesMod.MOD_ID + ":router") .save(exporter); } @@ -99,7 +99,7 @@ public void buildRecipes(RecipeOutput exporter) { .define('w', DeviceItems.WHEEL.get()) .define('f', Items.COBBLESTONE_WALL) .unlockedBy("has_wheel", has(DeviceItems.WHEEL.get())) - .group(Devices.MOD_ID + ":office_chair") + .group(UltreonDevicesMod.MOD_ID + ":office_chair") .save(exporter); } diff --git a/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java b/fabric/src/main/java/com/ultreon/devices/fabric/UltreonDevicesModFabric.java similarity index 87% rename from fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java rename to fabric/src/main/java/com/ultreon/devices/fabric/UltreonDevicesModFabric.java index 9d86f87f8..d35077f52 100644 --- a/fabric/src/main/java/com/ultreon/devices/fabric/DevicesFabric.java +++ b/fabric/src/main/java/com/ultreon/devices/fabric/UltreonDevicesModFabric.java @@ -1,11 +1,11 @@ package com.ultreon.devices.fabric; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.print.PrintingManager; -import com.ultreon.devices.core.Laptop; import com.ultreon.devices.init.RegistrationHandler; import fuzs.forgeconfigapiport.fabric.api.neoforge.v4.NeoForgeConfigRegistry; import net.fabricmc.api.ModInitializer; @@ -20,10 +20,10 @@ import java.util.List; import java.util.Map; -public class DevicesFabric extends Devices implements ModInitializer { +public class UltreonDevicesModFabric extends UltreonDevicesMod implements ModInitializer { @Override public void onInitialize() { - NeoForgeConfigRegistry.INSTANCE.register(Devices.MOD_ID, ModConfig.Type.CLIENT, DeviceConfig.CONFIG); + NeoForgeConfigRegistry.INSTANCE.register(UltreonDevicesMod.MOD_ID, ModConfig.Type.CLIENT, DeviceConfig.CONFIG); this.init(); @@ -55,7 +55,7 @@ protected void registerApplicationEvent() { @Override protected List getApplications() { - return Laptop.getApplicationsForFabric(); + return MineOS.getApplicationsForFabric(); } @Override diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index f5fc2c706..304ff21c9 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -36,7 +36,7 @@ "environment": "*", "entrypoints": { "main": [ - "com.ultreon.devices.fabric.DevicesFabric" + "com.ultreon.devices.fabric.UltreonDevicesModFabric" ], "devices:application_registration": [ "com.ultreon.devices.fabric.BuiltinAppsRegistration" diff --git a/fabric/src/main/resources/translations/en.json b/fabric/src/main/resources/translations/en.json index a4f73934e..cd1172fb1 100644 --- a/fabric/src/main/resources/translations/en.json +++ b/fabric/src/main/resources/translations/en.json @@ -1,5 +1,5 @@ { - "laptop": "Laptop", + "laptop": "MineOS", "laptop_block": "%2$s %1$s", "printer": "Printer", diff --git a/fabric/src/main/resources/translations/nl.json b/fabric/src/main/resources/translations/nl.json index e10f6d415..61a4f35fe 100644 --- a/fabric/src/main/resources/translations/nl.json +++ b/fabric/src/main/resources/translations/nl.json @@ -1,5 +1,5 @@ { - "laptop": "Laptop", + "laptop": "MineOS", "laptop_block": "%2$s %1$s", "printer": "Printer", diff --git a/forge/build.gradle b/forge/build.gradle index b5fc1b10e..fca651512 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -35,6 +35,11 @@ dependencies { modApi "fuzs.forgeconfigapiport:forgeconfigapiport-forge:$forgeconfigapiport_version" + forgeRuntimeLibrary project(":api") + + include forgeRuntimeLibrary("io.github.ultreon:ubo:1.3.0") + include forgeRuntimeLibrary("io.github.ultreon.corelibs:commons-v0:0.2.0") + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } diff --git a/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java b/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java index ce8be7d3a..21a856d72 100644 --- a/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java +++ b/forge/src/main/java/com/ultreon/devices/forge/DevicesForge.java @@ -2,13 +2,13 @@ import com.mojang.logging.LogUtils; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.LaunchException; import com.ultreon.devices.Reference; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.print.PrintingManager; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.event.WorldDataHandler; import com.ultreon.devices.init.RegistrationHandler; import dev.architectury.platform.forge.EventBuses; @@ -18,11 +18,8 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.MavenVersionStringHelper; import net.minecraftforge.data.loading.DatagenModLoader; import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.ModContainer; -import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; @@ -31,7 +28,6 @@ import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.fml.util.ObfuscationReflectionHelper; -import net.minecraftforge.forgespi.language.IModInfo; import org.slf4j.Logger; import java.util.List; @@ -41,7 +37,7 @@ @Mod(Reference.MOD_ID) public final class DevicesForge { public static final Logger LOGGER = LogUtils.getLogger(); - private final Devices instance = new Devices() { + private final UltreonDevicesMod instance = new UltreonDevicesMod() { @Override protected void registerApplicationEvent() { DevicesForge.this.modEventBus.post(new ForgeApplicationRegistration()); @@ -54,7 +50,7 @@ public int getBurnTime(ItemStack stack, RecipeType type) { @Override protected List getApplications() { - return ObfuscationReflectionHelper.getPrivateValue(Laptop.class, null, "APPLICATIONS"); + return ObfuscationReflectionHelper.getPrivateValue(MineOS.class, null, "APPLICATIONS"); } @Override @@ -76,11 +72,11 @@ protected Map getRegisteredRenders() { public DevicesForge() throws LaunchException { super(); - EventBuses.registerModEventBus(Devices.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus()); + EventBuses.registerModEventBus(UltreonDevicesMod.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus()); this.modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); this.modEventBus.register(BuiltinAppsRegistration.class); - Devices.preInit(); + UltreonDevicesMod.preInit(); ModLoadingContext context = ModLoadingContext.get(); IEventBus forgeEventBus = MinecraftForge.EVENT_BUS; diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 5484376ad..867dc6cce 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -32,6 +32,11 @@ dependencies { // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury-neoforge:$architectury_version" + include forgeRuntimeLibrary("io.github.ultreon:ubo:1.3.0") + include forgeRuntimeLibrary("io.github.ultreon.corelibs:commons-v0:0.2.0") + + forgeRuntimeLibrary project(":api") + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } } diff --git a/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java b/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java index 5cd390879..f4ebb5ef1 100644 --- a/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java +++ b/neoforge/src/main/java/com/ultreon/devices/forge/DevicesNeoForge.java @@ -2,13 +2,13 @@ import com.mojang.logging.LogUtils; import com.ultreon.devices.DeviceConfig; -import com.ultreon.devices.Devices; +import com.ultreon.devices.UltreonDevicesMod; import com.ultreon.devices.LaunchException; import com.ultreon.devices.Reference; import com.ultreon.devices.api.app.Application; import com.ultreon.devices.api.print.IPrint; import com.ultreon.devices.api.print.PrintingManager; -import com.ultreon.devices.core.Laptop; +import com.ultreon.devices.mineos.client.MineOS; import com.ultreon.devices.event.WorldDataHandler; import com.ultreon.devices.init.RegistrationHandler; import net.minecraft.world.item.ItemStack; @@ -16,19 +16,15 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.bus.api.IEventBus; -import net.neoforged.fml.ModContainer; -import net.neoforged.fml.ModList; import net.neoforged.fml.ModLoadingContext; import net.neoforged.fml.common.Mod; import net.neoforged.fml.config.ModConfig; -import net.neoforged.fml.event.IModBusEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.event.lifecycle.FMLDedicatedServerSetupEvent; import net.neoforged.fml.event.lifecycle.FMLLoadCompleteEvent; import net.neoforged.fml.util.ObfuscationReflectionHelper; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.data.loading.DatagenModLoader; -import net.neoforged.neoforgespi.language.IModInfo; import org.slf4j.Logger; import java.util.List; @@ -38,7 +34,7 @@ @Mod(Reference.MOD_ID) public final class DevicesNeoForge { public static final Logger LOGGER = LogUtils.getLogger(); - private final Devices instance = new Devices() { + private final UltreonDevicesMod instance = new UltreonDevicesMod() { @Override protected void registerApplicationEvent() { DevicesNeoForge.this.modEventBus.post(new NeoForgeApplicationRegistration()); @@ -51,7 +47,7 @@ public int getBurnTime(ItemStack stack, RecipeType type) { @Override protected List getApplications() { - return ObfuscationReflectionHelper.getPrivateValue(Laptop.class, null, "APPLICATIONS"); + return ObfuscationReflectionHelper.getPrivateValue(MineOS.class, null, "APPLICATIONS"); } @Override @@ -76,7 +72,7 @@ public DevicesNeoForge(IEventBus modEventBus) throws LaunchException { this.modEventBus = modEventBus; this.modEventBus.register(BuiltinAppsRegistration.class); - Devices.preInit(); + UltreonDevicesMod.preInit(); ModLoadingContext context = ModLoadingContext.get(); IEventBus forgeEventBus = NeoForge.EVENT_BUS; diff --git a/settings.gradle b/settings.gradle index 5e3d29043..0af978f3d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,4 +12,6 @@ include("fabric") include("forge") include("neoforge") include("fabric-datagen-helper") -include("fabric-testmod") \ No newline at end of file +include("fabric-testmod") +include 'api' + From e4b9532b544ac65774a9419a41572450b32c4287 Mon Sep 17 00:00:00 2001 From: xypercode Date: Mon, 6 May 2024 23:02:21 +0200 Subject: [PATCH 16/18] =?UTF-8?q?=F0=9F=94=97=20Package=20name=20change=20?= =?UTF-8?q?due=20to=20new=20domain!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/discord.xml | 5 + .../devices/api/app/SystemAccessor.java | 7 -- .../devices/api/video/CustomResolution.java | 6 - .../ultreon/devices/block/ColoredBlock.java | 6 - .../ultreon/devices/mineos/MineOSSystem.java | 13 -- .../ultreon/devices/BuiltinApps.java | 23 ++-- .../ultreon/devices/ClientModEvents.java | 24 ++-- .../ultreon/devices/DeviceConfig.java | 2 +- .../ultreon/devices/DeviceTab.java | 6 +- .../ultreon/devices/DevicesEarlyConfig.java | 2 +- .../ultreon/devices/IDeviceType.java | 2 +- .../ultreon/devices/LaunchException.java | 2 +- .../ultreon/devices/ModDeviceTypes.java | 2 +- .../ultreon/devices/OperatingSystems.java | 8 +- .../ultreon/devices/Reference.java | 2 +- .../ultreon/devices/Resources.java | 2 +- .../ultreon/devices/TestManager.java | 2 +- .../ultreon/devices/UltreonDevicesMod.java | 80 ++++++------ .../devices/annotations/PlatformOverride.java | 2 +- .../devices/api/ApplicationManager.java | 8 +- .../devices/api/ApplicationSupplier.java | 4 +- .../ultreon/devices/api/DebugLog.java | 4 +- .../ultreon/devices/api/Logger.java | 2 +- .../ultreon/devices/api/SystemException.java | 2 +- .../ultreon/devices/api/TrayItemAdder.java | 4 +- .../ultreon/devices/api/WorldSavedData.java | 2 +- .../ultreon/devices/api/app/Alphabet.java | 2 +- .../ultreon/devices/api/app/Application.java | 20 +-- .../ultreon/devices/api/app/Component.java | 6 +- .../ultreon/devices/api/app/Dialog.java | 104 ++++++++-------- .../ultreon/devices/api/app/IIcon.java | 2 +- .../ultreon/devices/api/app/Icons.java | 2 +- .../ultreon/devices/api/app/Layout.java | 14 +-- .../ultreon/devices/api/app/Notification.java | 10 +- .../devices/api/app/ScrollableLayout.java | 10 +- .../ultreon/devices/api/app/System.java | 8 +- .../devices/api/app/SystemAccessor.java | 7 ++ .../devices/api/app/component/Button.java | 14 +-- .../api/app/component/ButtonToggle.java | 4 +- .../devices/api/app/component/CheckBox.java | 10 +- .../devices/api/app/component/ComboBox.java | 16 +-- .../devices/api/app/component/Image.java | 18 +-- .../devices/api/app/component/Inventory.java | 14 +-- .../devices/api/app/component/ItemList.java | 18 +-- .../devices/api/app/component/Label.java | 6 +- .../api/app/component/NumberSelector.java | 8 +- .../api/app/component/ProgressBar.java | 6 +- .../devices/api/app/component/RadioGroup.java | 2 +- .../devices/api/app/component/Slider.java | 16 +-- .../devices/api/app/component/Spinner.java | 6 +- .../devices/api/app/component/Text.java | 8 +- .../devices/api/app/component/TextArea.java | 18 +-- .../devices/api/app/component/TextField.java | 6 +- .../api/app/interfaces/IHighlight.java | 2 +- .../api/app/listener/ChangeListener.java | 2 +- .../api/app/listener/ClickListener.java | 2 +- .../api/app/listener/InitListener.java | 2 +- .../api/app/listener/ItemClickListener.java | 2 +- .../devices/api/app/listener/KeyListener.java | 2 +- .../api/app/listener/ReleaseListener.java | 4 +- .../api/app/listener/SlideListener.java | 4 +- .../api/app/renderer/ItemRenderer.java | 2 +- .../api/app/renderer/ListItemRenderer.java | 2 +- .../ultreon/devices/api/bios/Bios.java | 8 +- .../devices/api/bios/BiosInterrupt.java | 2 +- .../devices/api/bios/BiosNotification.java | 4 +- .../api/bios/DoubleFaultInterrupt.java | 2 +- .../devices/api/bios/FaultInterrupt.java | 2 +- .../ultreon/devices/api/bios/Font.java | 2 +- .../devices/api/bios/InterruptData.java | 2 +- .../devices/api/bios/PowerModeInterrupt.java | 2 +- .../devices/api/device/AudioDevice.java | 2 +- .../ultreon/devices/api/device/Device.java | 2 +- .../devices/api/device/MousePointer.java | 2 +- .../devices/api/event/LaptopEvent.java | 6 +- .../ultreon/devices/api/io/Drive.java | 4 +- .../ultreon/devices/api/io/File.java | 12 +- .../ultreon/devices/api/io/Folder.java | 22 ++-- .../ultreon/devices/api/io/MimeType.java | 2 +- .../dev/ultreon/devices/api/os/OSScreen.java | 117 ++++++++++++++++++ .../devices/api/os/OperatingSystem.java | 12 +- .../devices/api/os/ShutdownSource.java | 2 +- .../ultreon/devices/api/print/IPrint.java | 4 +- .../devices/api/print/PrintingManager.java | 4 +- .../devices/api/storage/DataStorage.java | 2 +- .../devices/api/storage/FileHandle.java | 4 +- .../ultreon/devices/api/task/Callback.java | 2 +- .../ultreon/devices/api/task/Task.java | 6 +- .../ultreon/devices/api/task/TaskManager.java | 8 +- .../ultreon/devices/api/util/Color.java | 2 +- .../ultreon/devices/api/util/GuiHelper.java | 2 +- .../ultreon/devices/api/util/ImageLoader.java | 4 +- .../ultreon/devices/api/util/ImageSource.java | 2 +- .../devices/api/util/Vulnerability.java | 14 +-- .../ultreon/devices/api/utils/BankUtil.java | 18 +-- .../devices/api/utils/OnlineRequest.java | 6 +- .../ultreon/devices/api/utils/RenderUtil.java | 6 +- .../devices/api/video/CustomResolution.java | 6 + .../ultreon/devices/api/video/VideoInfo.java | 8 +- .../devices/block/ClientLaptopWrapper.java | 8 +- .../ultreon/devices/block/ColoredBlock.java | 6 + .../ultreon/devices/block/ComputerBlock.java | 18 +-- .../ultreon/devices/block/DeviceBlock.java | 12 +- .../devices/block/DigitalClockBlock.java | 2 +- .../devices/block/FakeBlockPlaceContext.java | 2 +- .../ultreon/devices/block/LaptopBlock.java | 6 +- .../ultreon/devices/block/MacMaxXBlock.java | 6 +- .../devices/block/MacMaxXBlockPart.java | 2 +- .../devices/block/OfficeChairBlock.java | 12 +- .../ultreon/devices/block/PaperBlock.java | 6 +- .../ultreon/devices/block/PrinterBlock.java | 8 +- .../ultreon/devices/block/RouterBlock.java | 10 +- .../block/entity/ComputerBlockEntity.java | 14 +-- .../block/entity/DeviceBlockEntity.java | 8 +- .../block/entity/LaptopBlockEntity.java | 6 +- .../block/entity/MacMaxXBlockEntity.java | 4 +- .../entity/NetworkDeviceBlockEntity.java | 12 +- .../block/entity/OfficeChairBlockEntity.java | 10 +- .../block/entity/PaperBlockEntity.java | 6 +- .../block/entity/PrinterBlockEntity.java | 12 +- .../block/entity/RouterBlockEntity.java | 6 +- .../devices/block/entity/SyncBlockEntity.java | 6 +- .../block/entity/renderer/LaptopRenderer.java | 10 +- .../entity/renderer/OfficeChairRenderer.java | 8 +- .../block/entity/renderer/PaperRenderer.java | 14 +-- .../entity/renderer/PrinterRenderer.java | 10 +- .../block/entity/renderer/RouterRenderer.java | 12 +- .../ultreon/devices/client/Display.java | 16 +-- .../devices/client/RenderRegistry.java | 2 +- .../ultreon/devices/core/BiosImpl.java | 16 +-- .../ultreon/devices/core/BootLoader.java | 10 +- .../ultreon/devices/core/Device.java | 4 +- .../ultreon/devices/core/Resizer.java | 2 +- .../ultreon/devices/core/TaskBar.java | 26 ++-- .../devices/core/WorldLessBiosImpl.java | 16 +-- .../ultreon/devices/core/Wrappable.java | 8 +- .../core/client/ClientNotification.java | 10 +- .../devices/core/client/LaptopFont.java | 2 +- .../devices/core/client/LaptopFontSet.java | 2 +- .../core/client/debug/ClientAppDebug.java | 20 +-- .../ultreon/devices/core/io/FileSystem.java | 42 +++---- .../ultreon/devices/core/io/ServerFile.java | 6 +- .../ultreon/devices/core/io/ServerFolder.java | 4 +- .../devices/core/io/action/FileAction.java | 6 +- .../devices/core/io/drive/AbstractDrive.java | 10 +- .../devices/core/io/drive/ExternalDrive.java | 4 +- .../devices/core/io/drive/InternalDrive.java | 4 +- .../devices/core/io/drive/NetworkDrive.java | 8 +- .../devices/core/io/task/TaskGetFiles.java | 16 +-- .../core/io/task/TaskGetMainDrive.java | 18 +-- .../core/io/task/TaskGetStructure.java | 16 +-- .../devices/core/io/task/TaskSendAction.java | 16 +-- .../core/io/task/TaskSetupFileBrowser.java | 12 +- .../core/laptop/client/ClientLaptop.java | 12 +- .../laptop/client/ClientLaptopScreen.java | 6 +- .../core/laptop/common/C2SUpdatePacket.java | 8 +- .../core/laptop/common/S2CUpdatePacket.java | 10 +- .../devices/core/laptop/common/TaskBar.java | 8 +- .../core/laptop/server/ServerLaptop.java | 6 +- .../devices/core/network/Connection.java | 6 +- .../ultreon/devices/core/network/IDevice.java | 2 +- .../devices/core/network/NetworkDevice.java | 6 +- .../ultreon/devices/core/network/Router.java | 6 +- .../devices/core/network/TrayItemWifi.java | 36 +++--- .../core/network/task/TaskConnect.java | 10 +- .../core/network/task/TaskGetDevices.java | 10 +- .../devices/core/network/task/TaskPing.java | 6 +- .../devices/core/print/task/TaskPrint.java | 14 +-- .../devices/core/task/TaskInstallApp.java | 12 +- .../ultreon/devices/debug/DebugFlags.java | 2 +- .../ultreon/devices/debug/DebugLog.java | 2 +- .../ultreon/devices/debug/DebugUtils.java | 2 +- .../ultreon/devices/debug/DumpType.java | 2 +- .../devices/device/AudioDeviceImpl.java | 4 +- .../ultreon/devices/device/FrameBuffer.java | 2 +- .../ultreon/devices/entity/SeatEntity.java | 4 +- .../entity/renderer/SeatEntityRenderer.java | 2 +- .../devices/event/WorldDataHandler.java | 4 +- .../devices/exception/WorldLessException.java | 2 +- .../ultreon/devices/gui/GuiButtonClose.java | 4 +- .../ultreon/devices/impl/LoggerImpl.java | 4 +- .../ultreon/devices/impl/OsLoadContext.java | 2 +- .../devices/impl/storage/FileStorage.java | 8 +- .../impl/storage/FileStorageHandle.java | 6 +- .../impl/storage/ResourceFileHandle.java | 4 +- .../devices/impl/storage/ResourceStorage.java | 6 +- .../devices/impl/storage/Storages.java | 2 +- .../devices/init/DeviceBlockEntities.java | 6 +- .../ultreon/devices/init/DeviceBlocks.java | 8 +- .../devices/init/DeviceCreativeTabs.java | 4 +- .../ultreon/devices/init/DeviceEntities.java | 6 +- .../devices/init/DeviceEntityRenderers.java | 4 +- .../ultreon/devices/init/DeviceItems.java | 10 +- .../ultreon/devices/init/DeviceSounds.java | 4 +- .../ultreon/devices/init/DeviceTags.java | 4 +- .../ultreon/devices/init/ModTags.java | 4 +- .../devices/init/RegistrationHandler.java | 2 +- .../ultreon/devices/item/BasicItem.java | 4 +- .../devices/item/ColoredDeviceItem.java | 6 +- .../ultreon/devices/item/ComponentItem.java | 4 +- .../ultreon/devices/item/DeviceItem.java | 6 +- .../devices/item/EthernetCableItem.java | 16 +-- .../ultreon/devices/item/FlashDriveItem.java | 12 +- .../ultreon/devices/item/MotherboardItem.java | 4 +- .../ultreon/devices/item/SubItems.java | 2 +- .../ultreon/devices/mineos/DestFactor.java | 2 +- .../ultreon/devices/mineos/DriverManager.java | 2 +- .../ultreon/devices/mineos/MineOSSystem.java | 13 ++ .../ultreon/devices/mineos/SourceFactor.java | 2 +- .../devices/mineos/apps}/BoatRacersApp.java | 30 ++--- .../devices/mineos/apps}/IconsApp.java | 10 +- .../devices/mineos/apps}/NoteStashApp.java | 18 +-- .../devices/mineos/apps}/PixelPainterApp.java | 44 +++---- .../ultreon/devices/mineos/apps}/TestApp.java | 10 +- .../mineos/apps}/auction/AuctionManager.java | 4 +- .../mineos/apps}/auction/MineBayApp.java | 36 +++--- .../apps}/auction/object/AuctionItem.java | 2 +- .../apps}/auction/task/TaskAddAuction.java | 8 +- .../apps}/auction/task/TaskBuyItem.java | 12 +- .../apps}/auction/task/TaskGetAuctions.java | 8 +- .../mineos/apps}/debug/TextAreaApp.java | 16 +-- .../devices/mineos/apps}/email/EmailApp.java | 43 +++---- .../mineos/apps}/email/EmailManager.java | 12 +- .../mineos/apps}/email/object/Contact.java | 2 +- .../mineos/apps}/email/object/Email.java | 4 +- .../email/task/TaskCheckEmailAccount.java | 6 +- .../apps}/email/task/TaskDeleteEmail.java | 8 +- .../email/task/TaskRegisterEmailAccount.java | 6 +- .../apps}/email/task/TaskSendEmail.java | 8 +- .../apps}/email/task/TaskUpdateInbox.java | 8 +- .../apps}/email/task/TaskViewEmail.java | 8 +- .../mineos/apps}/example/ExampleApp.java | 12 +- .../example/task/TaskNotificationTest.java | 8 +- .../mineos/apps}/gitweb/GitWebApp.java | 27 ++-- .../apps}/gitweb/component/GitWebFrame.java | 29 ++--- .../gitweb/component/container/AnvilBox.java | 2 +- .../component/container/BrewingBox.java | 4 +- .../component/container/ContainerBox.java | 12 +- .../component/container/CraftingBox.java | 2 +- .../component/container/FurnaceBox.java | 6 +- .../gitweb/component/container/LoomBox.java | 4 +- .../apps}/gitweb/layout/ModuleLayout.java | 8 +- .../apps}/gitweb/layout/TextLayout.java | 6 +- .../apps}/gitweb/module/AnvilModule.java | 6 +- .../apps}/gitweb/module/AppLinkModule.java | 20 +-- .../apps}/gitweb/module/BannerIIModule.java | 14 +-- .../apps}/gitweb/module/BannerModule.java | 12 +- .../apps}/gitweb/module/BrewingModule.java | 6 +- .../apps}/gitweb/module/ContainerModule.java | 14 +-- .../apps}/gitweb/module/CraftingModule.java | 6 +- .../apps}/gitweb/module/DividerModule.java | 7 +- .../apps}/gitweb/module/DownloadModule.java | 20 +-- .../apps}/gitweb/module/FooterModule.java | 13 +- .../apps}/gitweb/module/FurnaceModule.java | 6 +- .../apps}/gitweb/module/HeaderModule.java | 12 +- .../apps}/gitweb/module/LoomModule.java | 6 +- .../mineos/apps}/gitweb/module/Module.java | 8 +- .../apps}/gitweb/module/ModuleEntry.java | 2 +- .../apps}/gitweb/module/NavigationModule.java | 11 +- .../apps}/gitweb/module/ParagraphModule.java | 14 +-- .../apps}/gitweb/module/RedirectModule.java | 8 +- .../apps}/gitweb/module/ScriptModule.java | 10 +- .../devices/mineos/apps}/snake/SnakeApp.java | 16 +-- .../apps}/snake/layout/SnakeLayout.java | 16 +-- .../devices/mineos/apps}/system/AppStore.java | 42 +++---- .../devices/mineos/apps}/system/BankApp.java | 37 +++--- .../mineos/apps}/system/DiagnosticsApp.java | 17 ++- .../apps}/system/DisplayResolution.java | 4 +- .../mineos/apps}/system/FileBrowserApp.java | 18 +-- .../apps}/system/PredefinedResolution.java | 4 +- .../mineos/apps}/system/SettingsApp.java | 44 +++---- .../mineos/apps}/system/SystemApp.java | 6 +- .../mineos/apps}/system/VulnerabilityApp.java | 18 +-- .../apps}/system/component/AppGrid.java | 44 +++---- .../apps}/system/component/FileBrowser.java | 54 ++++---- .../apps}/system/component/Palette.java | 16 +-- .../apps}/system/component/SlideShow.java | 18 +-- .../apps}/system/layout/LayoutAppPage.java | 46 +++---- .../apps}/system/layout/LayoutSearchApps.java | 24 ++-- .../apps}/system/layout/StandardLayout.java | 14 +-- .../mineos/apps}/system/object/Account.java | 2 +- .../mineos/apps}/system/object/AppEntry.java | 4 +- .../apps}/system/object/ColorScheme.java | 2 +- .../object/ColorSchemePresetRegistry.java | 2 +- .../system/object/ColorSchemePresets.java | 4 +- .../apps}/system/object/ImageEntry.java | 2 +- .../apps}/system/object/LocalEntry.java | 4 +- .../mineos/apps}/system/object/Preset.java | 2 +- .../apps}/system/object/RemoteEntry.java | 4 +- .../mineos/apps}/system/task/TaskAdd.java | 8 +- .../mineos/apps}/system/task/TaskDeposit.java | 10 +- .../apps}/system/task/TaskGetBalance.java | 8 +- .../mineos/apps}/system/task/TaskPay.java | 8 +- .../mineos/apps}/system/task/TaskRemove.java | 8 +- .../task/TaskUpdateApplicationData.java | 6 +- .../system/task/TaskUpdateSystemData.java | 6 +- .../apps}/system/task/TaskWithdraw.java | 8 +- .../mineos/apps}/themes/ThemesApp.java | 24 ++-- .../ultreon/devices/mineos/client/MineOS.java | 114 ++++++++++------- .../devices/mineos/client/MineOSKernel.java | 6 +- .../devices/mineos/client/Settings.java | 8 +- .../devices/mineos/client/TaskBar.java | 49 +++----- .../ultreon/devices/mineos/client/Window.java | 53 +++++--- .../devices/minephone/MinePhoneOS.java | 106 ++++++++++++++++ .../devices/minephone/PhoneBootScreen.java | 25 ++++ .../devices/minephone/PosRenderable.java | 8 ++ .../devices/mixin/common/FontSetMixin.java | 2 +- .../devices/mixin/common/MinecraftMixin.java | 2 +- .../devices/mixin/common/MixinPlugin.java | 4 +- .../ultreon/devices/network/Packet.java | 2 +- .../devices/network/PacketHandler.java | 10 +- .../network/task/NotificationPacket.java | 8 +- .../devices/network/task/RequestPacket.java | 10 +- .../devices/network/task/ResponsePacket.java | 8 +- .../network/task/SyncApplicationPacket.java | 10 +- .../devices/network/task/SyncBlockPacket.java | 6 +- .../network/task/SyncConfigPacket.java | 6 +- .../ultreon/devices/object/AppInfo.java | 10 +- .../ultreon/devices/object/Canvas.java | 20 +-- .../ultreon/devices/object/ColorGrid.java | 12 +- .../ultreon/devices/object/Game.java | 14 +-- .../ultreon/devices/object/Picture.java | 4 +- .../ultreon/devices/object/Player.java | 10 +- .../ultreon/devices/object/TileGrid.java | 22 ++-- .../ultreon/devices/object/Tool.java | 2 +- .../ultreon/devices/object/TrayItem.java | 6 +- .../ultreon/devices/object/tiles/Tile.java | 6 +- .../devices/object/tiles/TileBlock.java | 6 +- .../devices/object/tiles/TileCactus.java | 6 +- .../object/tiles/TileEnchantmentTable.java | 6 +- .../devices/object/tiles/TileFlower.java | 6 +- .../devices/object/tiles/TileGrass.java | 6 +- .../devices/object/tiles/TileWheat.java | 6 +- .../devices/object/tools/ToolBucket.java | 6 +- .../devices/object/tools/ToolEraser.java | 6 +- .../devices/object/tools/ToolEyeDropper.java | 6 +- .../devices/object/tools/ToolPencil.java | 6 +- .../ultreon/devices/util/ArchUtils.java | 2 +- .../ultreon/devices/util/BlockEntityUtil.java | 2 +- .../ultreon/devices/util/Colorable.java | 2 +- .../ultreon/devices/util/Colored.java | 2 +- .../ultreon/devices/util/DataHandler.java | 2 +- .../devices/util/DyeableRegistration.java | 2 +- .../dev/ultreon/devices/util/FrameBuffer.java | 106 ++++++++++++++++ .../devices/util/FrameBufferTexture.java | 42 +++++++ .../ultreon/devices/util/GLHelper.java | 2 +- .../ultreon/devices/util/GuiHelper.java | 2 +- .../ultreon/devices/util/InventoryUtil.java | 2 +- .../ultreon/devices/util/ItemColors.java | 2 +- .../ultreon/devices/util/KeyboardHelper.java | 2 +- .../ultreon/devices/util/Mouse.java | 2 +- .../ultreon/devices/util/ObjectUtils.java | 2 +- .../devices/util/ScaledResolution.java | 2 +- .../ultreon/devices/util/SeatUtil.java | 8 +- .../devices/util/SiteRegistration.java | 8 +- .../ultreon/devices/util/StreamUtils.java | 2 +- .../ultreon/devices/util/StringUtils.java | 2 +- .../ultreon/devices/util/Tickable.java | 2 +- .../ultreon/devices/util/TimeUtil.java | 2 +- .../ultreon/devices/util/Vec2d.java | 2 +- .../devices/util/VulnerabilityUtil.java | 6 +- .../assets/devices/textures/gui/minephone.png | Bin 0 -> 889 bytes gradle.properties | 2 +- 363 files changed, 2093 insertions(+), 1671 deletions(-) delete mode 100644 common/src/main/java/com/ultreon/devices/api/app/SystemAccessor.java delete mode 100644 common/src/main/java/com/ultreon/devices/api/video/CustomResolution.java delete mode 100644 common/src/main/java/com/ultreon/devices/block/ColoredBlock.java delete mode 100644 common/src/main/java/com/ultreon/devices/mineos/MineOSSystem.java rename common/src/main/java/{com => dev}/ultreon/devices/BuiltinApps.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/ClientModEvents.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/DeviceConfig.java (99%) rename common/src/main/java/{com => dev}/ultreon/devices/DeviceTab.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/DevicesEarlyConfig.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/IDeviceType.java (70%) rename common/src/main/java/{com => dev}/ultreon/devices/LaunchException.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/ModDeviceTypes.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/OperatingSystems.java (75%) rename common/src/main/java/{com => dev}/ultreon/devices/Reference.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/Resources.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/TestManager.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/UltreonDevicesMod.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/annotations/PlatformOverride.java (59%) rename common/src/main/java/{com => dev}/ultreon/devices/api/ApplicationManager.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/ApplicationSupplier.java (71%) rename common/src/main/java/{com => dev}/ultreon/devices/api/DebugLog.java (70%) rename common/src/main/java/{com => dev}/ultreon/devices/api/Logger.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/api/SystemException.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/api/TrayItemAdder.java (78%) rename common/src/main/java/{com => dev}/ultreon/devices/api/WorldSavedData.java (81%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Alphabet.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Application.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Component.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Dialog.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/IIcon.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Icons.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Layout.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/Notification.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/ScrollableLayout.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/System.java (90%) create mode 100644 common/src/main/java/dev/ultreon/devices/api/app/SystemAccessor.java rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Button.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/ButtonToggle.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/CheckBox.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/ComboBox.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Image.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Inventory.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/ItemList.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Label.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/NumberSelector.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/ProgressBar.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/RadioGroup.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Slider.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Spinner.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/Text.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/TextArea.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/component/TextField.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/interfaces/IHighlight.java (76%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/ChangeListener.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/ClickListener.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/InitListener.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/ItemClickListener.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/KeyListener.java (74%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/ReleaseListener.java (81%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/listener/SlideListener.java (78%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/renderer/ItemRenderer.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/api/app/renderer/ListItemRenderer.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/Bios.java (68%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/BiosInterrupt.java (70%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/BiosNotification.java (56%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/DoubleFaultInterrupt.java (82%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/FaultInterrupt.java (74%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/Font.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/InterruptData.java (74%) rename common/src/main/java/{com => dev}/ultreon/devices/api/bios/PowerModeInterrupt.java (83%) rename common/src/main/java/{com => dev}/ultreon/devices/api/device/AudioDevice.java (67%) rename common/src/main/java/{com => dev}/ultreon/devices/api/device/Device.java (67%) rename common/src/main/java/{com => dev}/ultreon/devices/api/device/MousePointer.java (64%) rename common/src/main/java/{com => dev}/ultreon/devices/api/event/LaptopEvent.java (70%) rename common/src/main/java/{com => dev}/ultreon/devices/api/io/Drive.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/io/File.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/io/Folder.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/io/MimeType.java (96%) create mode 100644 common/src/main/java/dev/ultreon/devices/api/os/OSScreen.java rename common/src/main/java/{com => dev}/ultreon/devices/api/os/OperatingSystem.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/api/os/ShutdownSource.java (57%) rename common/src/main/java/{com => dev}/ultreon/devices/api/print/IPrint.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/print/PrintingManager.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/storage/DataStorage.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/api/storage/FileHandle.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/task/Callback.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/api/task/Task.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/api/task/TaskManager.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/api/util/Color.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/api/util/GuiHelper.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/api/util/ImageLoader.java (73%) rename common/src/main/java/{com => dev}/ultreon/devices/api/util/ImageSource.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/api/util/Vulnerability.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/api/utils/BankUtil.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/api/utils/OnlineRequest.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/api/utils/RenderUtil.java (98%) create mode 100644 common/src/main/java/dev/ultreon/devices/api/video/CustomResolution.java rename common/src/main/java/{com => dev}/ultreon/devices/api/video/VideoInfo.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/block/ClientLaptopWrapper.java (72%) create mode 100644 common/src/main/java/dev/ultreon/devices/block/ColoredBlock.java rename common/src/main/java/{com => dev}/ultreon/devices/block/ComputerBlock.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/DeviceBlock.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/block/DigitalClockBlock.java (99%) rename common/src/main/java/{com => dev}/ultreon/devices/block/FakeBlockPlaceContext.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/block/LaptopBlock.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/block/MacMaxXBlock.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/block/MacMaxXBlockPart.java (99%) rename common/src/main/java/{com => dev}/ultreon/devices/block/OfficeChairBlock.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/PaperBlock.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/block/PrinterBlock.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/block/RouterBlock.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/ComputerBlockEntity.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/DeviceBlockEntity.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/LaptopBlockEntity.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/MacMaxXBlockEntity.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/NetworkDeviceBlockEntity.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/OfficeChairBlockEntity.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/PaperBlockEntity.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/PrinterBlockEntity.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/RouterBlockEntity.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/SyncBlockEntity.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/renderer/LaptopRenderer.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/renderer/OfficeChairRenderer.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/renderer/PaperRenderer.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/renderer/PrinterRenderer.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/block/entity/renderer/RouterRenderer.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/client/Display.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/client/RenderRegistry.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/core/BiosImpl.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/core/BootLoader.java (75%) rename common/src/main/java/{com => dev}/ultreon/devices/core/Device.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/core/Resizer.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/core/TaskBar.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/core/WorldLessBiosImpl.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/core/Wrappable.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/core/client/ClientNotification.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/core/client/LaptopFont.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/core/client/LaptopFontSet.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/core/client/debug/ClientAppDebug.java (81%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/FileSystem.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/ServerFile.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/ServerFolder.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/action/FileAction.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/drive/AbstractDrive.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/drive/ExternalDrive.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/drive/InternalDrive.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/drive/NetworkDrive.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/task/TaskGetFiles.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/task/TaskGetMainDrive.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/task/TaskGetStructure.java (82%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/task/TaskSendAction.java (83%) rename common/src/main/java/{com => dev}/ultreon/devices/core/io/task/TaskSetupFileBrowser.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/client/ClientLaptop.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/client/ClientLaptopScreen.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/common/C2SUpdatePacket.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/common/S2CUpdatePacket.java (83%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/common/TaskBar.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/core/laptop/server/ServerLaptop.java (85%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/Connection.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/IDevice.java (70%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/NetworkDevice.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/Router.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/TrayItemWifi.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/task/TaskConnect.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/task/TaskGetDevices.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/core/network/task/TaskPing.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/core/print/task/TaskPrint.java (86%) rename common/src/main/java/{com => dev}/ultreon/devices/core/task/TaskInstallApp.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/debug/DebugFlags.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/debug/DebugLog.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/debug/DebugUtils.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/debug/DumpType.java (50%) rename common/src/main/java/{com => dev}/ultreon/devices/device/AudioDeviceImpl.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/device/FrameBuffer.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/entity/SeatEntity.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/entity/renderer/SeatEntityRenderer.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/event/WorldDataHandler.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/exception/WorldLessException.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/gui/GuiButtonClose.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/LoggerImpl.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/OsLoadContext.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/storage/FileStorage.java (66%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/storage/FileStorageHandle.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/storage/ResourceFileHandle.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/storage/ResourceStorage.java (68%) rename common/src/main/java/{com => dev}/ultreon/devices/impl/storage/Storages.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceBlockEntities.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceBlocks.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceCreativeTabs.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceEntities.java (85%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceEntityRenderers.java (73%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceItems.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceSounds.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/init/DeviceTags.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/init/ModTags.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/init/RegistrationHandler.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/item/BasicItem.java (76%) rename common/src/main/java/{com => dev}/ultreon/devices/item/ColoredDeviceItem.java (80%) rename common/src/main/java/{com => dev}/ultreon/devices/item/ComponentItem.java (72%) rename common/src/main/java/{com => dev}/ultreon/devices/item/DeviceItem.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/item/EthernetCableItem.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/item/FlashDriveItem.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/item/MotherboardItem.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/item/SubItems.java (85%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/DestFactor.java (77%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/DriverManager.java (66%) create mode 100644 common/src/main/java/dev/ultreon/devices/mineos/MineOSSystem.java rename common/src/main/java/{com => dev}/ultreon/devices/mineos/SourceFactor.java (78%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/BoatRacersApp.java (85%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/IconsApp.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/NoteStashApp.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/PixelPainterApp.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/TestApp.java (89%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/AuctionManager.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/MineBayApp.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/object/AuctionItem.java (97%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/task/TaskAddAuction.java (89%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/task/TaskBuyItem.java (80%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/auction/task/TaskGetAuctions.java (87%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/debug/TextAreaApp.java (89%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/EmailApp.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/EmailManager.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/object/Contact.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/object/Email.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskCheckEmailAccount.java (85%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskDeleteEmail.java (81%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskRegisterEmailAccount.java (85%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskSendEmail.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskUpdateInbox.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/email/task/TaskViewEmail.java (82%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/example/ExampleApp.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/example/task/TaskNotificationTest.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/GitWebApp.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/GitWebFrame.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/AnvilBox.java (88%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/BrewingBox.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/ContainerBox.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/CraftingBox.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/FurnaceBox.java (93%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/component/container/LoomBox.java (96%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/layout/ModuleLayout.java (77%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/layout/TextLayout.java (79%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/AnvilModule.java (82%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/AppLinkModule.java (74%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/BannerIIModule.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/BannerModule.java (76%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/BrewingModule.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/ContainerModule.java (85%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/CraftingModule.java (83%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/DividerModule.java (81%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/DownloadModule.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/FooterModule.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/FurnaceModule.java (82%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/HeaderModule.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/LoomModule.java (75%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/Module.java (73%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/ModuleEntry.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/NavigationModule.java (93%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/ParagraphModule.java (87%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/RedirectModule.java (79%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/gitweb/module/ScriptModule.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/snake/SnakeApp.java (79%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/snake/layout/SnakeLayout.java (96%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/AppStore.java (87%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/BankApp.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/DiagnosticsApp.java (88%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/DisplayResolution.java (87%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/FileBrowserApp.java (71%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/PredefinedResolution.java (93%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/SettingsApp.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/SystemApp.java (70%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/VulnerabilityApp.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/component/AppGrid.java (81%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/component/FileBrowser.java (96%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/component/Palette.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/component/SlideShow.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/layout/LayoutAppPage.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/layout/LayoutSearchApps.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/layout/StandardLayout.java (84%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/Account.java (95%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/AppEntry.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/ColorScheme.java (99%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/ColorSchemePresetRegistry.java (93%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/ColorSchemePresets.java (94%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/ImageEntry.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/LocalEntry.java (91%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/Preset.java (90%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/object/RemoteEntry.java (92%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskAdd.java (81%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskDeposit.java (83%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskGetBalance.java (79%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskPay.java (86%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskRemove.java (83%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskUpdateApplicationData.java (90%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskUpdateSystemData.java (89%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/system/task/TaskWithdraw.java (88%) rename common/src/main/java/{com/ultreon/devices/programs => dev/ultreon/devices/mineos/apps}/themes/ThemesApp.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/client/MineOS.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/client/MineOSKernel.java (80%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/client/Settings.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/client/TaskBar.java (81%) rename common/src/main/java/{com => dev}/ultreon/devices/mineos/client/Window.java (82%) create mode 100644 common/src/main/java/dev/ultreon/devices/minephone/MinePhoneOS.java create mode 100644 common/src/main/java/dev/ultreon/devices/minephone/PhoneBootScreen.java create mode 100644 common/src/main/java/dev/ultreon/devices/minephone/PosRenderable.java rename common/src/main/java/{com => dev}/ultreon/devices/mixin/common/FontSetMixin.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/mixin/common/MinecraftMixin.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/mixin/common/MixinPlugin.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/network/Packet.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/network/PacketHandler.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/NotificationPacket.java (82%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/RequestPacket.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/ResponsePacket.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/SyncApplicationPacket.java (86%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/SyncBlockPacket.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/network/task/SyncConfigPacket.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/object/AppInfo.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/object/Canvas.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/object/ColorGrid.java (90%) rename common/src/main/java/{com => dev}/ultreon/devices/object/Game.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/object/Picture.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/object/Player.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/object/TileGrid.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/object/Tool.java (86%) rename common/src/main/java/{com => dev}/ultreon/devices/object/TrayItem.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/Tile.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileBlock.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileCactus.java (89%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileEnchantmentTable.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileFlower.java (79%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileGrass.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tiles/TileWheat.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tools/ToolBucket.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tools/ToolEraser.java (71%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tools/ToolEyeDropper.java (71%) rename common/src/main/java/{com => dev}/ultreon/devices/object/tools/ToolPencil.java (74%) rename common/src/main/java/{com => dev}/ultreon/devices/util/ArchUtils.java (88%) rename common/src/main/java/{com => dev}/ultreon/devices/util/BlockEntityUtil.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/util/Colorable.java (83%) rename common/src/main/java/{com => dev}/ultreon/devices/util/Colored.java (74%) rename common/src/main/java/{com => dev}/ultreon/devices/util/DataHandler.java (91%) rename common/src/main/java/{com => dev}/ultreon/devices/util/DyeableRegistration.java (98%) create mode 100644 common/src/main/java/dev/ultreon/devices/util/FrameBuffer.java create mode 100644 common/src/main/java/dev/ultreon/devices/util/FrameBufferTexture.java rename common/src/main/java/{com => dev}/ultreon/devices/util/GLHelper.java (99%) rename common/src/main/java/{com => dev}/ultreon/devices/util/GuiHelper.java (92%) rename common/src/main/java/{com => dev}/ultreon/devices/util/InventoryUtil.java (98%) rename common/src/main/java/{com => dev}/ultreon/devices/util/ItemColors.java (99%) rename common/src/main/java/{com => dev}/ultreon/devices/util/KeyboardHelper.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/util/Mouse.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/util/ObjectUtils.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/util/ScaledResolution.java (96%) rename common/src/main/java/{com => dev}/ultreon/devices/util/SeatUtil.java (84%) rename common/src/main/java/{com => dev}/ultreon/devices/util/SiteRegistration.java (93%) rename common/src/main/java/{com => dev}/ultreon/devices/util/StreamUtils.java (95%) rename common/src/main/java/{com => dev}/ultreon/devices/util/StringUtils.java (87%) rename common/src/main/java/{com => dev}/ultreon/devices/util/Tickable.java (58%) rename common/src/main/java/{com => dev}/ultreon/devices/util/TimeUtil.java (97%) rename common/src/main/java/{com => dev}/ultreon/devices/util/Vec2d.java (94%) rename common/src/main/java/{com => dev}/ultreon/devices/util/VulnerabilityUtil.java (95%) create mode 100644 common/src/main/resources/assets/devices/textures/gui/minephone.png diff --git a/.idea/discord.xml b/.idea/discord.xml index bc04a8267..ff8ada6c5 100644 --- a/.idea/discord.xml +++ b/.idea/discord.xml @@ -5,5 +5,10 @@

c-mFevv@Akz*=3fn29VQ@vM^b5xT# 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