From ec17eb7065db00fbde7ab0366d5a0a6bb9cc8338 Mon Sep 17 00:00:00 2001 From: OLEGSHA Date: Sun, 26 Dec 2021 14:30:50 +0300 Subject: [PATCH] Added window icons - Added window icons for various sizes - Broken on Wayland - Due to a bug in texture loading, textures a flipped - Included non-flipped versions - Added TextureSettings.allocateExactBuffer - When true, texture size is not rounded to a power of 2 --- .../graphics/backend/LWJGLInitializer.java | 50 ++++++++++++++---- .../graphics/font/GNUUnifontLoader.java | 2 +- .../client/graphics/texture/Atlases.java | 2 +- .../graphics/texture/SimpleTextures.java | 2 +- .../client/graphics/texture/TextureData.java | 2 +- .../graphics/texture/TextureLoader.java | 12 ++++- .../graphics/texture/TextureSettings.java | 8 ++- .../world/entity/EntityRenderRegistry.java | 2 +- .../assets/icons/logo128.original.png | Bin 0 -> 1755 bytes src/main/resources/assets/icons/logo128.png | Bin 0 -> 1457 bytes .../assets/icons/logo16.original.png | Bin 0 -> 342 bytes src/main/resources/assets/icons/logo16.png | Bin 0 -> 424 bytes .../assets/icons/logo20.original.png | Bin 0 -> 5187 bytes src/main/resources/assets/icons/logo20.png | Bin 0 -> 8291 bytes .../assets/icons/logo22.original.png | Bin 0 -> 10325 bytes src/main/resources/assets/icons/logo22.png | Bin 0 -> 10340 bytes .../assets/icons/logo24.original.png | Bin 0 -> 8671 bytes src/main/resources/assets/icons/logo24.png | Bin 0 -> 485 bytes .../assets/icons/logo256.original.png | Bin 0 -> 2980 bytes src/main/resources/assets/icons/logo256.png | Bin 0 -> 2270 bytes .../assets/icons/logo32.original.png | Bin 0 -> 407 bytes src/main/resources/assets/icons/logo32.png | Bin 0 -> 476 bytes .../assets/icons/logo40.original.png | Bin 0 -> 5620 bytes src/main/resources/assets/icons/logo40.png | Bin 0 -> 8729 bytes .../assets/icons/logo48.original.png | Bin 0 -> 529 bytes src/main/resources/assets/icons/logo48.png | Bin 0 -> 541 bytes .../assets/icons/logo64.original.png | Bin 0 -> 6779 bytes src/main/resources/assets/icons/logo64.png | Bin 0 -> 5097 bytes .../assets/icons/logo96.original.png | Bin 0 -> 1588 bytes src/main/resources/assets/icons/logo96.png | Bin 0 -> 1343 bytes src/main/resources/assets/icons/logoSizes.txt | 1 + 31 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/assets/icons/logo128.original.png create mode 100644 src/main/resources/assets/icons/logo128.png create mode 100755 src/main/resources/assets/icons/logo16.original.png create mode 100644 src/main/resources/assets/icons/logo16.png create mode 100644 src/main/resources/assets/icons/logo20.original.png create mode 100644 src/main/resources/assets/icons/logo20.png create mode 100644 src/main/resources/assets/icons/logo22.original.png create mode 100644 src/main/resources/assets/icons/logo22.png create mode 100755 src/main/resources/assets/icons/logo24.original.png create mode 100644 src/main/resources/assets/icons/logo24.png create mode 100644 src/main/resources/assets/icons/logo256.original.png create mode 100644 src/main/resources/assets/icons/logo256.png create mode 100755 src/main/resources/assets/icons/logo32.original.png create mode 100644 src/main/resources/assets/icons/logo32.png create mode 100644 src/main/resources/assets/icons/logo40.original.png create mode 100644 src/main/resources/assets/icons/logo40.png create mode 100755 src/main/resources/assets/icons/logo48.original.png create mode 100644 src/main/resources/assets/icons/logo48.png create mode 100755 src/main/resources/assets/icons/logo64.original.png create mode 100644 src/main/resources/assets/icons/logo64.png create mode 100644 src/main/resources/assets/icons/logo96.original.png create mode 100644 src/main/resources/assets/icons/logo96.png create mode 100644 src/main/resources/assets/icons/logoSizes.txt diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/backend/LWJGLInitializer.java b/src/main/java/ru/windcorp/progressia/client/graphics/backend/LWJGLInitializer.java index cff7421..1abd537 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/backend/LWJGLInitializer.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/backend/LWJGLInitializer.java @@ -15,13 +15,16 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + package ru.windcorp.progressia.client.graphics.backend; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.glfw.GLFW.*; import static org.lwjgl.system.MemoryUtil.*; +import java.io.IOException; + +import org.lwjgl.glfw.GLFWImage; import org.lwjgl.opengl.GL; import com.google.common.eventbus.Subscribe; @@ -30,6 +33,12 @@ import ru.windcorp.progressia.Progressia; import ru.windcorp.progressia.client.graphics.GUI; import ru.windcorp.progressia.client.graphics.input.FrameResizeEvent; import ru.windcorp.progressia.client.graphics.input.InputEvent; +import ru.windcorp.progressia.client.graphics.texture.TextureDataEditor; +import ru.windcorp.progressia.client.graphics.texture.TextureLoader; +import ru.windcorp.progressia.client.graphics.texture.TextureSettings; +import ru.windcorp.progressia.common.resource.Resource; +import ru.windcorp.progressia.common.resource.ResourceManager; +import ru.windcorp.progressia.common.util.crash.CrashReports; class LWJGLInitializer { @@ -63,15 +72,21 @@ class LWJGLInitializer { glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); glfwWindowHint(GLFW_FOCUSED, GLFW_TRUE); glfwWindowHint(GLFW_MAXIMIZED, GLFW_TRUE); - - long handle = glfwCreateWindow(800, 600, Progressia.getName() + " " + Progressia.getFullerVersion(), NULL, NULL); + + long handle = glfwCreateWindow( + 800, + 600, + Progressia.getName() + " " + Progressia.getFullerVersion(), + NULL, + NULL + ); // TODO Check that handle != NULL GraphicsBackend.setWindowHandle(handle); glfwMakeContextCurrent(handle); - glfwSwapInterval(0); // TODO: remove after config system is added + glfwSwapInterval(0); // TODO: remove after config system is added } private static void positionWindow() { @@ -80,8 +95,25 @@ class LWJGLInitializer { } private static void createWindowIcons() { - // TODO Auto-generated method stub + final String prefix = "assets/icons/"; + String[] sizes = ResourceManager.getResource(prefix + "logoSizes.txt").readAsString().split(" "); + + try (GLFWImage.Buffer buffer = GLFWImage.malloc(sizes.length)) { + for (int i = 0; i < sizes.length; ++i) { + Resource resource = ResourceManager.getResource(prefix + "logo" + sizes[i].trim() + ".png"); + TextureDataEditor icon = TextureLoader.loadPixels(resource, new TextureSettings(false, true)); + + buffer.position(i) + .width(icon.getContentWidth()) + .height(icon.getContentHeight()) + .pixels(icon.getData().getData()); + } + + glfwSetWindowIcon(GraphicsBackend.getWindowHandle(), buffer); + } catch (IOException e) { + throw CrashReports.report(e, "Could not load window icons"); + } } private static void initializeOpenGL() { @@ -113,19 +145,19 @@ class LWJGLInitializer { glfwSetScrollCallback(handle, InputHandler::handleWheelScroll); GraphicsInterface.subscribeToInputEvents(new Object() { - + @Subscribe public void onFrameResized(FrameResizeEvent event) { GUI.invalidateEverything(); } - + @Subscribe public void onInputEvent(InputEvent event) { GUI.dispatchInput(event); } - + }); - + } } diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/font/GNUUnifontLoader.java b/src/main/java/ru/windcorp/progressia/client/graphics/font/GNUUnifontLoader.java index 9ead1db..0bac647 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/font/GNUUnifontLoader.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/font/GNUUnifontLoader.java @@ -45,7 +45,7 @@ public class GNUUnifontLoader { private static final AtlasGroup ATLAS_GROUP_GNU_UNIFONT = new AtlasGroup("GNUUnifont", 1 << 12); - private static final TextureSettings TEXTURE_SETTINGS = new TextureSettings(false); + private static final TextureSettings TEXTURE_SETTINGS = new TextureSettings(false, false); private static final int BITS_PER_HEX_DIGIT = 4; private static final int PREFIX_LENGTH = "0000:".length(); diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/texture/Atlases.java b/src/main/java/ru/windcorp/progressia/client/graphics/texture/Atlases.java index 94ed270..2a0e99a 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/texture/Atlases.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/texture/Atlases.java @@ -163,7 +163,7 @@ public class Atlases { } } - private static final TextureSettings SETTINGS = new TextureSettings(false); + private static final TextureSettings SETTINGS = new TextureSettings(false, false); private static final Map LOADED = new HashMap<>(); private static final Multimap ATLASES = MultimapBuilder.hashKeys().arrayListValues().build(); diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/texture/SimpleTextures.java b/src/main/java/ru/windcorp/progressia/client/graphics/texture/SimpleTextures.java index 12db086..757a772 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/texture/SimpleTextures.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/texture/SimpleTextures.java @@ -28,7 +28,7 @@ import ru.windcorp.progressia.common.util.crash.CrashReports; public class SimpleTextures { - private static final TextureSettings SETTINGS = new TextureSettings(false); + private static final TextureSettings SETTINGS = new TextureSettings(false, false); private static final Map TEXTURES = new HashMap<>(); diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureData.java b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureData.java index 0453984..6b1f7d6 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureData.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureData.java @@ -23,7 +23,7 @@ import static org.lwjgl.opengl.GL12.*; import java.nio.ByteBuffer; -class TextureData { +public class TextureData { private final ByteBuffer data; diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureLoader.java b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureLoader.java index 1ce3998..a5a7fab 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureLoader.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureLoader.java @@ -41,9 +41,17 @@ public class TextureLoader { int width = readResult.getWidth(); int height = readResult.getHeight(); + + int bufferWidth; + int bufferHeight; - int bufferWidth = BinUtil.roundToGreaterPowerOf2(width); - int bufferHeight = BinUtil.roundToGreaterPowerOf2(height); + if (settings.allocateExactBuffer()) { + bufferWidth = width; + bufferHeight = height; + } else { + bufferWidth = BinUtil.roundToGreaterPowerOf2(width); + bufferHeight = BinUtil.roundToGreaterPowerOf2(height); + } WritableRaster raster = TextureUtil.createRaster( bufferWidth, diff --git a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureSettings.java b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureSettings.java index 3dd43a4..d4e61c9 100644 --- a/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureSettings.java +++ b/src/main/java/ru/windcorp/progressia/client/graphics/texture/TextureSettings.java @@ -21,13 +21,19 @@ package ru.windcorp.progressia.client.graphics.texture; public class TextureSettings { private final boolean isFiltered; + private final boolean allocateExactBuffer; - public TextureSettings(boolean isFiltered) { + public TextureSettings(boolean isFiltered, boolean allocateExactBuffer) { this.isFiltered = isFiltered; + this.allocateExactBuffer = allocateExactBuffer; } public boolean isFiltered() { return isFiltered; } + + public boolean allocateExactBuffer() { + return allocateExactBuffer; + } } diff --git a/src/main/java/ru/windcorp/progressia/client/world/entity/EntityRenderRegistry.java b/src/main/java/ru/windcorp/progressia/client/world/entity/EntityRenderRegistry.java index 60b7bf6..f694980 100644 --- a/src/main/java/ru/windcorp/progressia/client/world/entity/EntityRenderRegistry.java +++ b/src/main/java/ru/windcorp/progressia/client/world/entity/EntityRenderRegistry.java @@ -42,7 +42,7 @@ public class EntityRenderRegistry extends NamespacedInstanceRegistryQGqkczR17l|P}DW^Cc4G0 zPqb|ERhFBrl89JZ=~}64J|@w7)Af;|_@V{%vj5zfJ9B65Ju~0=&STD*Ip>da3dx}X z`a0%1008I{kNbVAX7*pu)>7-E8mpK4vMG*bGPh?cCRFN*4oV4uk zb{)xciY5fs)^7@2ZbBS*B{UHFLT;s(0OLoB@JJCuj4j|~3mYS2W1Kl$^Y$@k49)dg z^)p>-o|!Si`oNCw6V|QvDOTHFLZ9zGWgi20L(9VSTk*}-GPDyt9pZCU&Kf$`T)u`6FG?3eawBfsjO2jT!x25LfgZ}Mca99%xQ;>OHQ${Ux3SZkfC>ww>-jD zCuoj#U3=|gZWkveF7%si-VjIG$q)tj6ZFa^YM*KztM? zF*#z01_7TDTqh=K#*Xv+&29a0!?&$H#Ax)gx>Ew)t>7yriVFq^&2eQrQw_OQ=%nfn zmt7?t7vpMc_{bMn`;Wo6az}xlE&Jt#WWN?c9pC`$W$vEh1xUFdB>4Z|0^}5XYAr=? zy1PjA5!1Nl+M)p+iG;H3)_*P2`}9=`xC1#eL_qA{RoD$)ME(?NUDoW2+0t8bOU@OA zDw;NL@g7?SCs+nk4@8hskFo~*Uhmp(xoOIZ?Ku^oOa1*R^TMNFN*E92FGB3%4Bq=^ zDv-mjVG?E4tMP@Jb{fm^M*sX71yJ&kT^+qh7=myRVyn-KF@+V`mg1qoTCC@vMGK;e zctzhJ-@rZIX%ND~=1rGis>Ir~L{uSM)ZM}S@PIIqPX7h3Vm?+X{NL`xdOh9Qs7+iJ z4ToQudgN&gA?6UY$>$Zq@K5+Lhd&?<)-2w#k)?a2zB+U#MV1RmwZK`e@LY* z#Relrn}M6$2g_eyKA7B@(xOx(9=T-B_J>_(2a(IbClJ~AGnC}@KbO_ja`WuPI%G#i zhH^1HYL!aAIj|SS7tBNM;Z+(Tr=+C!vKVF%%xU(cD5b5hZwyMc0C5GPKvTe&g>9@gkc7?&_$ zrI3@xsODKA#6PD|+i+|3bPkFm1K&f4f?9%Rnt;YU*|!4-g)LzcuNy9JMwz?N1TLnH ztEY#o-cKl(#yUu2;V4e-$!v<@^<=Qu(hdH1FLSXrd;bip)s@!&QM^?>q>})S-cD|~ z>kJ-mFMjrh@bY!9`wG9Vw3pNJ`N^-Nrl8V7>$7bWbu|qpq96~L<+(S^a!sZY%05Ixw&W@fMFOB^R!e((-T6JM1G9mx z8wv07A_>T0$WOt4w?2FnO0ibiC_P0~#heF&o+$e?uA+v6Lq=*B<(Lv%@e7Kj_>6)d z`thnX9yTXoEP9SjKMn>LvW!d6gucrDv#A%)E9?&6BD*p9^@wx%)+?ptz~6a21#i-; zW*_kC5eucET6wyZDYw3W{FJk-{x9;oFUP>>y(Mx>lUeX}Tf}6Nb9ctvaAB70ipsIq z*<1Q>>puU?IzJ78TtLUL-#cx}{>EI}uu76;P9r@vdz3G_Z$jCi88Yv3zO48dApFKX zLkW7;^<~pm7D!L(>9ZYqP?Mq{-Du4UcLJI1P8vOeH(3L{rU8PjdJqNP$eK1fW)AWS qUn#aP(8_l%n>l><$A8~+k$ivIF~$<=285%2L;%r0)bG9zCFftc9}%$t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo128.png b/src/main/resources/assets/icons/logo128.png new file mode 100644 index 0000000000000000000000000000000000000000..36cab49a800ed5d0afb4848d04518f66f973e935 GIT binary patch literal 1457 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo20.png b/src/main/resources/assets/icons/logo20.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b4dbb88788c860fb0ff8c63e186633fe31f3e2 GIT binary patch literal 8291 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 LYhAQ_^X`8F`{g}S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo22.original.png b/src/main/resources/assets/icons/logo22.original.png new file mode 100644 index 0000000000000000000000000000000000000000..b1613dcdfa6f96f7ffa06de034402cb95f72d040 GIT binary patch literal 10325 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo22.png b/src/main/resources/assets/icons/logo22.png new file mode 100644 index 0000000000000000000000000000000000000000..a3bd665e91da7664be39339622226b3033153649 GIT binary patch literal 10340 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 J%ha7h{|gXuQwjh8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo24.png b/src/main/resources/assets/icons/logo24.png new file mode 100644 index 0000000000000000000000000000000000000000..c7652bdbf7cd10f0a5bea264ed0d161daf3b81ba GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5l+X?E32_C|K#;iYwc(`m zYWZ``7e70F>GtW{@6JDXfBMGr_a8p$G;TY6^}(e_AIcBBt2lRT8BjG-NswPKg9C$q z&k7)qG0EHAh4n}N%i}-}XMsm#F$061G6*wPEVVBK3bL1Y`ns||WfT?>lFM=3?gJFc z^>lFzk+__kkRXuIz$D--a4L6GA z=suw{kyDwTYzT9-JT1d2aVXr;Qo*Y^rEh@(-??{pcb6Zq$Ueuw*u%`oVzH}y;Q@vh z6Uz-gG%%VoFqqHspOY0Wc^_!8WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk> zpEyvFDo9ZZP|7M9tb)PFz{pV7&`8(FEX2^*%EZ#j)Ii(7*vi0Q_q0uSP&DM`r(~v8 kLNpiv^;m`&np+uKSQ$e#c%Iac0cv3IboFyt=akR{0O72d5dZ)H literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo256.original.png b/src/main/resources/assets/icons/logo256.original.png new file mode 100644 index 0000000000000000000000000000000000000000..70b899f39e6072aaee663c141f9ad7674cfea26f GIT binary patch literal 2980 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 MU+|_{U;5$y0D`!})c^nh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo32.original.png b/src/main/resources/assets/icons/logo32.original.png new file mode 100755 index 0000000000000000000000000000000000000000..b7028bf10cd323f117262cb00c5e5b3df575a7fb GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7Y1{N#SG6XM62flMK}vQ zB8wRq^pruEv0|xx8BmbD#M9T6{VAg`AD3`rTqz$=NV3E=qQp5rH#aq}gu%HeHL)Z$ zMWH;iBtya7(>EZzkxv|`=)b3nV@Sl|_5D-x7B%5B9P?r%=nZS{_p`HD9BFQq^!7AJ$b2wq=bY=5sUE5Y4QuE zDbHAuX=&M)uxQ)UC00$HV$&u+;t*k%xx2G7YuaM#Cf|TLI|LRid-|eJ;YCBV@MOu% wz{i3`ELH^$uWT+b37E{EHtq6dzDEoU(UK894Euje1A~IW)78&qol`;+0F11dNB{r; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo32.png b/src/main/resources/assets/icons/logo32.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b403c6d33fa75caa25a433fccdf4d06f0a94cc GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgAsyfo;tHgJAaUDk!%64W z^5>c_e)j&uN1euP`xhmMYx0~yblIxD)V%44AD5BoN$1J$s@;2K(RxGAxWD< zX^KHJO9+dgSJOeJz5>-X35=@ZJ0=ArZ*bu9;mnqBQQ%#sV#2G%5PC?8O}Ige)3=$M zVQPcu0oDUN629Jyj*fqro;`i~RD;Q(u2OIl1J4CNhsDf{vm707H}XhyFfh0)#RST3 z(+4?9vcxr_#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaLR76{IKyC}oulR>5Fo zU}UIkXryao7Gh{@WnyV%YM^akY-M1ud)lTuC>nC}Q!>*kAsP&TdMrZ>&8-X#tPCw7 V8hRJ&vH>+Pc)I$ztaD0e0sxyugQfrg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo40.original.png b/src/main/resources/assets/icons/logo40.original.png new file mode 100644 index 0000000000000000000000000000000000000000..c0285b8eaa54b79f0021d9814722e2b8a7df0246 GIT binary patch literal 5620 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 O0000zW9A4q!d9PpNWZmk(G`-AEL&GEM4&DoY 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 Q17nK8)78&qol`;+0I8DK+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo48.png b/src/main/resources/assets/icons/logo48.png new file mode 100644 index 0000000000000000000000000000000000000000..e873f22fb83b694773bda2de098dc1a0804ad927 GIT binary patch literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)ISkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq8r{zDi(Vu$sZZAYL$MSD+10LN353#P$FG|3GHqw%3M} z&a36mHDCPf{fCb_joZo(yaP%piTnf^!Bi6D7tG+m;NPto(z8nNekNtkSU-8KFmHz6ncg+P?vFP_+ zu(`>$BV*ndM!s39o4N~9IaLf&m4vq}^I1^uIMIX4q>)G1SLMKr1D9A5PB;k3-{4XC z$jIsw!lRL}C@J7T%7=?GwE+!#Su@!Al39KmKiD46danEaA2zWV-tP>>tR?^1)Q?|( zXr8xfceTQstb(Mgwv5517kyeT?3f31zhsGPM2T~LZfkt#@03Q)=_8LWcA$iT=@*U(7U$SlOr*viDx%G5yHz}U*bVE435cThCs q=BH$)RYEiv0QFdg7@Aud8CjW_LNv_(@?Q(6fx*+&&t;ucLK6U=ZnU5P literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo64.original.png b/src/main/resources/assets/icons/logo64.original.png new file mode 100755 index 0000000000000000000000000000000000000000..132430533321476e7b8780b0e1a9f085dd0a365f GIT binary patch literal 6779 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/icons/logo96.original.png b/src/main/resources/assets/icons/logo96.original.png new file mode 100644 index 0000000000000000000000000000000000000000..0c16de6870b4fcba36973466d2a83aafc23db21a GIT binary patch literal 1588 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