Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
3d32f57
Make ScopedValue use thread local fields internally instead of the wh…
screret Jun 24, 2026
5e30677
Inverted fluid renderer
screret Jun 24, 2026
ea49778
Invert embeddium's, sodium's, and vanilla's direction/normal/neighbor…
screret Jun 24, 2026
a0491a1
Cache the current inversion state for performance
screret Jun 24, 2026
a50212b
Add a config to disable lighter-than-air fluids rendering upside down
screret Jun 24, 2026
b193605
Set up fluid type properties outside the fluid type ctor function
screret Jun 24, 2026
b74ad44
Add config for whether or not gases and plasmas should vaporize when …
screret Jun 24, 2026
23e0de9
Make lighter-than-air fluids ACTUALLY flow up
screret Jun 24, 2026
7bee8a2
Use `FluidType#isLighterThanAir` instead of checking the density ours…
screret Jun 24, 2026
0c2ff28
Cleanup on aisle FluidBuilder
screret Jun 24, 2026
f400482
Enable fluid blocks by default
screret Jun 24, 2026
f3064ad
Make fluids flow slower if their viscosity is high
screret Jun 24, 2026
4319840
More tinting utils
screret Jun 24, 2026
75df65a
Make Neutronium **extremely** undense
screret Jun 24, 2026
0f05799
Move GT's fluid type implementation into a proper class and clean up …
screret Jun 24, 2026
8c0ff4f
Fix fluid blocks' autogenerated models
screret Jun 24, 2026
261a470
Define swimmability/boatability for GT fluids
screret Jun 24, 2026
b2b0d59
Fix upside down fluids' vertices being fucky wucky
screret Jun 24, 2026
e2c82bf
Fix bucket lang
screret Jun 24, 2026
9c0eba8
Fix upside-down fluids' models being inside out sometimes
screret Jun 29, 2026
eb7407a
fix `shouldRenderBackwardUpFace` check
screret Jul 11, 2026
51a9372
Clean up my expressions
screret Jul 11, 2026
50259fe
This is nullable, Actually
screret Jul 11, 2026
35141fc
Merge branch '1.21' into sc/inverted-fluid-rendering
screret Jul 12, 2026
b9c174e
Enable stricter mixin validation
screret Jul 12, 2026
966522d
Remove unused/duplicate mixins
screret Jul 12, 2026
dceb7c9
Fix most* material fluids' flow textures
screret Jul 12, 2026
c275fa3
Fix material fluid blocks not being translucent
screret Jul 12, 2026
86edb31
Make `MaterialIconType#getBlockTexturePath` able to cache multiple di…
screret Jul 12, 2026
262376e
Invalidate MaterialIconType's caches on resource reload
screret Jul 12, 2026
46eebcc
whoops
screret Jul 12, 2026
ace17c0
Fix fluid blocks' names
screret Jul 12, 2026
1007401
can't use expect to check injections because iris devs were too lazy …
screret Jul 12, 2026
339f9ac
Flip bottom vertices on upside-down fluids
screret Jul 12, 2026
4ccd005
Fix thread locality issues in LiquidBlockRendererMixin
screret Jul 12, 2026
6408897
Move the vertex swapping logic etc. to the mixin
screret Jul 12, 2026
b34d1e3
Log errors in GTSodiumCompat/GTEmbeddiumCompat
screret Jul 12, 2026
45ff3c9
Fix sodium/embeddium fluid renderer mixins' ModifyArg argument indexi…
screret Jul 12, 2026
c804e7c
fix invalid texture animation metadata files
screret Jul 12, 2026
5123115
Don't use expressions when they aren't needed
screret Jul 12, 2026
53b4879
Exclude upward light direction checks from being inverted so upside d…
screret Jul 12, 2026
6ffe95d
Add embeddium as a (commented out) clientLocalRuntime dependency
screret Jul 12, 2026
9a7ac5a
fix liquid_flow not looping
screret Jul 12, 2026
172b99a
move core.util.extensions.BlockOcclusionCacheAccess to core.util.exte…
screret Jul 12, 2026
1124d33
Merge branch '1.21' into sc/inverted-fluid-rendering
screret Jul 12, 2026
528df3d
Fix datagen
screret Jul 12, 2026
6348a30
datagen + spotless
screret Jul 12, 2026
26d9d49
Add a config option for enabling fluid blocks for everything
screret Jul 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ dependencies {
clientLocalRuntime(forge.sodium.impl)
sodiumShellSource(forge.sodium.full)
clientLocalRuntime(files(tasks.named('stripSodiumShellLib')))
// clientLocalRuntime(forge.embeddium)

clientLocalRuntime(forge.fabricApi.base)
clientLocalRuntime(forge.fabricApi.rendering)
Expand Down
8 changes: 8 additions & 0 deletions gradle/scripts/moddevgradle.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,14 @@ neoForge {
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
logLevel = org.slf4j.event.Level.INFO

// enable additional mixin validation
systemProperty 'mixin.debug.verify', 'true'
// systemProperty 'mixin.debug.countInjections', 'true' // can't have this, dependencies are lazy
systemProperty 'mixin.debug.strict.unique', 'true'
systemProperty 'mixin.checks', 'true'
// enable mixin hotswapping
systemProperty 'mixin.hotSwap', 'true'

// Disable JOML using scientific notation for its types' toString() outputs
systemProperty 'joml.format', 'false'
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

7 changes: 0 additions & 7 deletions src/generated/resources/assets/gtceu/blockstates/oil.json

This file was deleted.

This file was deleted.

14 changes: 4 additions & 10 deletions src/generated/resources/assets/gtceu/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@
"block.gtceu.creative_data_access_hatch": "ɥɔʇɐH ssǝɔɔⱯ ɐʇɐᗡ ǝʌıʇɐǝɹƆ",
"block.gtceu.creative_energy": "ʎbɹǝuƎ ǝʌıʇɐǝɹƆ",
"block.gtceu.creative_tank": "ʞuɐ⟘ ǝʌıʇɐǝɹƆ",
"block.gtceu.creosote": "ǝʇosoǝɹƆ",
"block.gtceu.crushing_wheels": "sןǝǝɥM buıɥsnɹƆ",
"block.gtceu.ctm_test": "ʞɔoןᗺ ʇsǝ⟘ ǝɹnʇxǝ⟘ pǝʇɔǝuuoƆ",
"block.gtceu.cupronickel_coil_block": "ʞɔoןᗺ ןıoƆ ןǝʞɔıuoɹdnƆ",
Expand Down Expand Up @@ -344,7 +343,6 @@
"block.gtceu.gregification_hazard_sign_block": "ʞɔoןᗺ ubıS pɹɐzɐH uoıʇɐɔıɟıbǝɹ⅁",
"block.gtceu.heat_vent": "ʇuǝΛ ʇɐǝH",
"block.gtceu.heatproof_machine_casing": "buısɐƆ ǝuıɥɔɐW ɹɐʌuI ɟooɹԀ ʇɐǝH",
"block.gtceu.heavy_oil": "ןıO ʎʌɐǝH",
"block.gtceu.high_performance_computation_array": ")ⱯƆԀH( ʎɐɹɹⱯ uoıʇɐʇndɯoƆ ǝɔuɐɯɹoɟɹǝԀ ɥbıH",
"block.gtceu.high_power_casing": "buısɐƆ ɹǝʍoԀ ɥbıH",
"block.gtceu.high_pressure_hazard_sign_block": "ʞɔoןᗺ ubıS pɹɐzɐH ǝɹnssǝɹԀ ɥbıH",
Expand Down Expand Up @@ -588,7 +586,6 @@
"block.gtceu.light_gray_large_metal_sheet": "ʇǝǝɥS ןɐʇǝW ǝbɹɐꞀ ʎɐɹ⅁ ʇɥbıꞀ",
"block.gtceu.light_gray_metal_sheet": "ʇǝǝɥS ןɐʇǝW ʎɐɹ⅁ ʇɥbıꞀ",
"block.gtceu.light_gray_studs": "spnʇS ʎɐɹ⅁ ʇɥbıꞀ",
"block.gtceu.light_oil": "ןıO ʇɥbıꞀ",
"block.gtceu.lime_borderless_lamp": "dɯɐꞀ ssǝןɹǝpɹoᗺ ǝɯıꞀ",
"block.gtceu.lime_lamp": "dɯɐꞀ ǝɯıꞀ",
"block.gtceu.lime_large_metal_sheet": "ʇǝǝɥS ןɐʇǝW ǝbɹɐꞀ ǝɯıꞀ",
Expand Down Expand Up @@ -924,7 +921,6 @@
"block.gtceu.mv_wiremill": "ɹ§ ןןıɯǝɹıM pǝɔuɐʌpⱯq§",
"block.gtceu.mv_world_accelerator": "ɹ§ ɹoʇɐɹǝןǝɔɔⱯ pןɹoM pǝɔuɐʌpⱯq§",
"block.gtceu.naquadah_coil_block": "ʞɔoןᗺ ןıoƆ ɥɐpɐnbɐN",
"block.gtceu.natural_gas": "sɐ⅁ ןɐɹnʇɐN",
"block.gtceu.network_switch": "ɥɔʇıʍS ʞɹoʍʇǝN",
"block.gtceu.nichrome_coil_block": "ʞɔoןᗺ ןıoƆ ǝɯoɹɥɔıN",
"block.gtceu.noise_hazard_sign_block": "ʞɔoןᗺ ubıS pɹɐzɐH ǝsıoN",
Expand All @@ -935,10 +931,6 @@
"block.gtceu.normal_optical_pipe": "ǝןqɐƆ ɹǝqıℲ ןɐɔıʇdO",
"block.gtceu.normal_optical_pipe.tooltip": "ㄥ§ɐʇɐᗡ ɥɔɹɐǝsǝᴚɟ§ ɹo ㄥ§uoıʇɐʇndɯoƆɟ§ buıʇʇıɯsuɐɹ⟘ㄥ§",
"block.gtceu.object_holder": "ɹǝpןoH ʇɔǝظqO",
"block.gtceu.oil": "ןıO",
"block.gtceu.oil_heavy": "ןıO ʎʌɐǝH",
"block.gtceu.oil_light": "ןıO ʇɥbıꞀ",
"block.gtceu.oil_medium": "ןıO ʍɐᴚ",
"block.gtceu.opv_1024a_laser_source_hatch": "ɥɔʇɐH ǝɔɹnoS ɹǝsɐꞀ ɹ§Ɐǝ§ㄣᄅ0'Ɩ ɹ§ΛdOן§6§",
"block.gtceu.opv_1024a_laser_target_hatch": "ɥɔʇɐH ʇǝbɹɐ⟘ ɹǝsɐꞀ ɹ§Ɐǝ§ㄣᄅ0'Ɩ ɹ§ΛdOן§6§",
"block.gtceu.opv_16a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§9Ɩ ɹ§ΛdOן§6§",
Expand Down Expand Up @@ -1061,7 +1053,6 @@
"block.gtceu.purple_studs": "spnʇS ǝןdɹnԀ",
"block.gtceu.pyrolyse_oven": "uǝʌO ǝsʎןoɹʎԀ",
"block.gtceu.radioactive_hazard_sign_block": "ʞɔoןᗺ ubıS pɹɐzɐH ǝʌıʇɔɐoıpɐᴚ",
"block.gtceu.raw_oil": "ןıO ʍɐᴚ",
"block.gtceu.reaction_safe_mixing_casing": "buısɐƆ buıxıW ǝɟɐS-uoıʇɔɐǝᴚ",
"block.gtceu.red_borderless_lamp": "dɯɐꞀ ssǝןɹǝpɹoᗺ pǝᴚ",
"block.gtceu.red_granite": "ǝʇıuɐɹ⅁ pǝᴚ",
Expand Down Expand Up @@ -1153,6 +1144,7 @@
"block.gtceu.substation_capacitor.tooltip_empty": "uoıʇɐʇsqnS ɹǝʍoԀ ɹnoʎ uı ǝɔɐds buıןןıɟ ɹoℲㄥ§",
"block.gtceu.substation_capacitor.tooltip_filled": "∩Ǝ %dɟ§ :ʎʇıɔɐdɐƆ ʎbɹǝuƎɔ§",
"block.gtceu.superconducting_coil": "ʞɔoןᗺ ןıoƆ buıʇɔnpuoɔɹǝdnS",
"block.gtceu.surface_rock": "ʞɔoᴚ ǝɔɐɟɹnS %s",
"block.gtceu.tempered_glass": "ssɐן⅁ pǝɹǝdɯǝ⟘",
"block.gtceu.test_mui": "ınW ʇsǝ⟘",
"block.gtceu.the_end_marker": "puƎ ǝɥ⟘",
Expand Down Expand Up @@ -1743,7 +1735,6 @@
"block.gtceu.zpm_transformer_4a": "ɹǝɯɹoɟsuɐɹ⟘ )xㄣ( dɯⱯ-ıH ɹ§ǝbɐʇןoΛ WԀZɔ§",
"block.gtceu.zpm_wiremill": "ɹ§III ןןıɯǝɹıM ǝʇıןƎɔ§",
"block.gtceu.zpm_world_accelerator": "ɹ§III ɹoʇɐɹǝןǝɔɔⱯ pןɹoM ǝʇıןƎɔ§",
"block.gtceu.surface_rock": "ʞɔoᴚ ǝɔɐɟɹnS %s",
"button.gtceu.mark_as_depleted.name": "pǝʇǝןdǝᗡ sɐ ʞɹɐW",
"button.gtceu.toggle_waypoint.name": "ʇuıodʎɐM ǝןbbo⟘",
"command.gtceu.cape.failure.does_not_exist": "ʇsıxǝ ʇou sǝop %s ǝdɐƆ",
Expand Down Expand Up @@ -1837,6 +1828,7 @@
"config.gtceu.option.flintAndSteelRequireSteel": "ןǝǝʇSǝɹınbǝᴚןǝǝʇSpuⱯʇuıןɟ",
"config.gtceu.option.ftbChunksIntegration": "uoıʇɐɹbǝʇuIsʞunɥƆqʇɟ",
"config.gtceu.option.gameplay": "ʎɐןdǝɯɐb",
"config.gtceu.option.gasesVaporizeOnPlacement": "ʇuǝɯǝɔɐןԀuOǝzıɹodɐΛsǝsɐb",
"config.gtceu.option.generateLowQualityGems": "sɯǝ⅁ʎʇıןɐnὉʍoꞀǝʇɐɹǝuǝb",
"config.gtceu.option.ghostCircuit": "ʇınɔɹıƆʇsoɥb",
"config.gtceu.option.gt6StylePipesCables": "sǝןqɐƆsǝdıԀǝןʎʇS9ʇb",
Expand Down Expand Up @@ -1873,6 +1865,8 @@
"config.gtceu.option.ldFluidPipeMinDistance": "ǝɔuɐʇsıᗡuıWǝdıԀpınןℲpן",
"config.gtceu.option.ldItemPipeMinDistance": "ǝɔuɐʇsıᗡuıWǝdıԀɯǝʇIpן",
"config.gtceu.option.liquidBoilerBaseOutput": "ʇndʇnOǝsɐᗺɹǝןıoᗺpınbıן",
"config.gtceu.option.lowDensityFluidsFlowUp": "d∩ʍoןℲspınןℲʎʇısuǝᗡʍoן",
"config.gtceu.option.lowDensityFluidsRenderUpsideDown": "uʍoᗡǝpısd∩ɹǝpuǝᴚspınןℲʎʇısuǝᗡʍoן",
"config.gtceu.option.maceratorRecyclingYield": "pןǝıʎbuıןɔʎɔǝᴚɹoʇɐɹǝɔɐɯ",
"config.gtceu.option.machineSounds": "spunoSǝuıɥɔɐɯ",
"config.gtceu.option.machines": "sǝuıɥɔɐɯ",
Expand Down
14 changes: 4 additions & 10 deletions src/generated/resources/assets/gtceu/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@
"block.gtceu.creative_data_access_hatch": "Creative Data Access Hatch",
"block.gtceu.creative_energy": "Creative Energy",
"block.gtceu.creative_tank": "Creative Tank",
"block.gtceu.creosote": "Creosote",
"block.gtceu.crushing_wheels": "Crushing Wheels",
"block.gtceu.ctm_test": "Connected Texture Test Block",
"block.gtceu.cupronickel_coil_block": "Cupronickel Coil Block",
Expand Down Expand Up @@ -344,7 +343,6 @@
"block.gtceu.gregification_hazard_sign_block": "Gregification Hazard Sign Block",
"block.gtceu.heat_vent": "Heat Vent",
"block.gtceu.heatproof_machine_casing": "Heat Proof Invar Machine Casing",
"block.gtceu.heavy_oil": "Heavy Oil",
"block.gtceu.high_performance_computation_array": "High Performance Computation Array (HPCA)",
"block.gtceu.high_power_casing": "High Power Casing",
"block.gtceu.high_pressure_hazard_sign_block": "High Pressure Hazard Sign Block",
Expand Down Expand Up @@ -588,7 +586,6 @@
"block.gtceu.light_gray_large_metal_sheet": "Light Gray Large Metal Sheet",
"block.gtceu.light_gray_metal_sheet": "Light Gray Metal Sheet",
"block.gtceu.light_gray_studs": "Light Gray Studs",
"block.gtceu.light_oil": "Light Oil",
"block.gtceu.lime_borderless_lamp": "Lime Borderless Lamp",
"block.gtceu.lime_lamp": "Lime Lamp",
"block.gtceu.lime_large_metal_sheet": "Lime Large Metal Sheet",
Expand Down Expand Up @@ -924,7 +921,6 @@
"block.gtceu.mv_wiremill": "§bAdvanced Wiremill §r",
"block.gtceu.mv_world_accelerator": "§bAdvanced World Accelerator §r",
"block.gtceu.naquadah_coil_block": "Naquadah Coil Block",
"block.gtceu.natural_gas": "Natural Gas",
"block.gtceu.network_switch": "Network Switch",
"block.gtceu.nichrome_coil_block": "Nichrome Coil Block",
"block.gtceu.noise_hazard_sign_block": "Noise Hazard Sign Block",
Expand All @@ -935,10 +931,6 @@
"block.gtceu.normal_optical_pipe": "Optical Fiber Cable",
"block.gtceu.normal_optical_pipe.tooltip": "§7Transmitting §fComputation§7 or §fResearch Data§7",
"block.gtceu.object_holder": "Object Holder",
"block.gtceu.oil": "Oil",
"block.gtceu.oil_heavy": "Heavy Oil",
"block.gtceu.oil_light": "Light Oil",
"block.gtceu.oil_medium": "Raw Oil",
"block.gtceu.opv_1024a_laser_source_hatch": "§9§lOpV§r 1,024§eA§r Laser Source Hatch",
"block.gtceu.opv_1024a_laser_target_hatch": "§9§lOpV§r 1,024§eA§r Laser Target Hatch",
"block.gtceu.opv_16a_energy_converter": "§9§lOpV§r 16§eA§r Energy Converter",
Expand Down Expand Up @@ -1061,7 +1053,6 @@
"block.gtceu.purple_studs": "Purple Studs",
"block.gtceu.pyrolyse_oven": "Pyrolyse Oven",
"block.gtceu.radioactive_hazard_sign_block": "Radioactive Hazard Sign Block",
"block.gtceu.raw_oil": "Raw Oil",
"block.gtceu.reaction_safe_mixing_casing": "Reaction-Safe Mixing Casing",
"block.gtceu.red_borderless_lamp": "Red Borderless Lamp",
"block.gtceu.red_granite": "Red Granite",
Expand Down Expand Up @@ -1153,6 +1144,7 @@
"block.gtceu.substation_capacitor.tooltip_empty": "§7For filling space in your Power Substation",
"block.gtceu.substation_capacitor.tooltip_filled": "§cEnergy Capacity: §f%d EU",
"block.gtceu.superconducting_coil": "Superconducting Coil Block",
"block.gtceu.surface_rock": "%s Surface Rock",
"block.gtceu.tempered_glass": "Tempered Glass",
"block.gtceu.test_mui": "Test Mui",
"block.gtceu.the_end_marker": "The End",
Expand Down Expand Up @@ -1743,7 +1735,6 @@
"block.gtceu.zpm_transformer_4a": "§cZPM Voltage§r Hi-Amp (4x) Transformer",
"block.gtceu.zpm_wiremill": "§cElite Wiremill III§r",
"block.gtceu.zpm_world_accelerator": "§cElite World Accelerator III§r",
"block.gtceu.surface_rock": "%s Surface Rock",
"button.gtceu.mark_as_depleted.name": "Mark as Depleted",
"button.gtceu.toggle_waypoint.name": "Toggle Waypoint",
"command.gtceu.cape.failure.does_not_exist": "Cape %s does not exist",
Expand Down Expand Up @@ -1837,6 +1828,7 @@
"config.gtceu.option.flintAndSteelRequireSteel": "flintAndSteelRequireSteel",
"config.gtceu.option.ftbChunksIntegration": "ftbChunksIntegration",
"config.gtceu.option.gameplay": "gameplay",
"config.gtceu.option.gasesVaporizeOnPlacement": "gasesVaporizeOnPlacement",
"config.gtceu.option.generateLowQualityGems": "generateLowQualityGems",
"config.gtceu.option.ghostCircuit": "ghostCircuit",
"config.gtceu.option.gt6StylePipesCables": "gt6StylePipesCables",
Expand Down Expand Up @@ -1873,6 +1865,8 @@
"config.gtceu.option.ldFluidPipeMinDistance": "ldFluidPipeMinDistance",
"config.gtceu.option.ldItemPipeMinDistance": "ldItemPipeMinDistance",
"config.gtceu.option.liquidBoilerBaseOutput": "liquidBoilerBaseOutput",
"config.gtceu.option.lowDensityFluidsFlowUp": "lowDensityFluidsFlowUp",
"config.gtceu.option.lowDensityFluidsRenderUpsideDown": "lowDensityFluidsRenderUpsideDown",
"config.gtceu.option.maceratorRecyclingYield": "maceratorRecyclingYield",
"config.gtceu.option.machineSounds": "machineSounds",
"config.gtceu.option.machines": "machines",
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

5 changes: 0 additions & 5 deletions src/generated/resources/assets/gtceu/models/block/oil.json

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,38 @@
"gtceu:cleanroom_glass",
"gtceu:petrified_foam",
"gtceu:reinforced_stone",
"gtceu:white_lamp",
"gtceu:orange_lamp",
"gtceu:magenta_lamp",
"gtceu:light_blue_lamp",
"gtceu:yellow_lamp",
"gtceu:lime_lamp",
"gtceu:pink_lamp",
"gtceu:gray_lamp",
"gtceu:light_gray_lamp",
"gtceu:cyan_lamp",
"gtceu:purple_lamp",
"gtceu:blue_lamp",
"gtceu:brown_lamp",
"gtceu:green_lamp",
"gtceu:red_lamp",
"gtceu:black_lamp",
"gtceu:white_borderless_lamp",
"gtceu:orange_borderless_lamp",
"gtceu:magenta_borderless_lamp",
"gtceu:light_blue_borderless_lamp",
"gtceu:yellow_borderless_lamp",
"gtceu:lime_borderless_lamp",
"gtceu:pink_borderless_lamp",
"gtceu:gray_borderless_lamp",
"gtceu:light_gray_borderless_lamp",
"gtceu:cyan_borderless_lamp",
"gtceu:purple_borderless_lamp",
"gtceu:blue_borderless_lamp",
"gtceu:brown_borderless_lamp",
"gtceu:green_borderless_lamp",
"gtceu:red_borderless_lamp",
"gtceu:black_borderless_lamp",
"gtceu:white_studs",
"gtceu:orange_studs",
"gtceu:magenta_studs",
Expand Down
Loading
Loading