From f31a97b6c2c28ecf82333108ca3b471a91b477c4 Mon Sep 17 00:00:00 2001 From: Fangoboyo <77935781+Fangoboyo@users.noreply.github.com> Date: Wed, 8 Jun 2022 12:26:38 -0700 Subject: [PATCH] imported the plugin --- .idea/.gitignore | 8 +++ .idea/artifacts/EaglerPluginInstaller_jar.xml | 8 +++ .idea/compiler.xml | 20 +++++++ .idea/discord.xml | 7 +++ .idea/encodings.xml | 9 +++ .idea/inspectionProfiles/Project_Default.xml | 8 +++ .idea/jarRepositories.xml | 25 ++++++++ .idea/misc.xml | 24 ++++++++ .idea/vcs.xml | 6 ++ EaglerPluginInstaller.iml | 12 ++++ README.md | 6 ++ .../EaglerPluginInstaller.jar | Bin 0 -> 6382 bytes pom.xml | 39 +++++++++++++ .../nully/PluginInstaller/InstallCommand.java | 55 ++++++++++++++++++ .../tech/nully/PluginInstaller/Installer.java | 41 +++++++++++++ .../java/tech/nully/PluginInstaller/Main.java | 44 ++++++++++++++ .../nully/PluginInstaller/plistCommand.java | 24 ++++++++ src/main/resources/plugin.yml | 15 +++++ target/classes/plugin.yml | 15 +++++ .../PluginInstaller/InstallCommand.class | Bin 0 -> 3106 bytes .../nully/PluginInstaller/Installer.class | Bin 0 -> 2522 bytes .../tech/nully/PluginInstaller/Main.class | Bin 0 -> 2616 bytes .../nully/PluginInstaller/plistCommand.class | Bin 0 -> 1639 bytes 23 files changed, 366 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/artifacts/EaglerPluginInstaller_jar.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/discord.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 EaglerPluginInstaller.iml create mode 100644 README.md create mode 100644 out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar create mode 100644 pom.xml create mode 100644 src/main/java/tech/nully/PluginInstaller/InstallCommand.java create mode 100644 src/main/java/tech/nully/PluginInstaller/Installer.java create mode 100644 src/main/java/tech/nully/PluginInstaller/Main.java create mode 100644 src/main/java/tech/nully/PluginInstaller/plistCommand.java create mode 100644 src/main/resources/plugin.yml create mode 100644 target/classes/plugin.yml create mode 100644 target/classes/tech/nully/PluginInstaller/InstallCommand.class create mode 100644 target/classes/tech/nully/PluginInstaller/Installer.class create mode 100644 target/classes/tech/nully/PluginInstaller/Main.class create mode 100644 target/classes/tech/nully/PluginInstaller/plistCommand.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/artifacts/EaglerPluginInstaller_jar.xml b/.idea/artifacts/EaglerPluginInstaller_jar.xml new file mode 100644 index 0000000..70e0900 --- /dev/null +++ b/.idea/artifacts/EaglerPluginInstaller_jar.xml @@ -0,0 +1,8 @@ + + + $PROJECT_DIR$/out/artifacts/EaglerPluginInstaller_jar + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b91288e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 0000000..30bab2a --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..b2320b5 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..de93972 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..fe537f9 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..c2024ad --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/EaglerPluginInstaller.iml b/EaglerPluginInstaller.iml new file mode 100644 index 0000000..4ec1b0e --- /dev/null +++ b/EaglerPluginInstaller.iml @@ -0,0 +1,12 @@ + + + + + + + BUKKIT + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ba06aa2 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# PluginInstaller +PluginInstaller is a plugin designed for eaglercraft that can install plugins from an [online repository](https://github.com/darverdevs/PluginInstallerRepo) to your server just with a /install command. +This plugin also has an autoupdater so theres no need to constantly redownload the plugin. +#### **The download link is [here](https://github.com/darverdevs/PluginInstaller/raw/main/out/artifacts/PluginInstaller_jar/PluginInstaller.jar)** +## How to contribute: +Since PluginInstaller runs on an autoupdater, all contributions must be made from pull requests either by forks or branches approved by someone in the darverdevs group and tested before a pull request is made diff --git a/out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar b/out/artifacts/EaglerPluginInstaller_jar/EaglerPluginInstaller.jar new file mode 100644 index 0000000000000000000000000000000000000000..4c8e92ef4e8186e9ec455731bcc43b86f04e9cd1 GIT binary patch literal 6382 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 Wg#P_y{lM=S0PXKI9!&h>>wf_EdoZN{ literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..ef33914 --- /dev/null +++ b/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + tech.nully + EaglerPluginInstaller + 1.0.0 + jar + + EaglerPluginInstaller + + A plugin made to install other plugins from an online repository to eaglercraft servers with a single command + nully.tech + + 1.8 + UTF-8 + 1.8 + 1.8 + + + + + PrimCoreRepos-repos + https://github.com/darverdevs/EaglerMavenRepo/raw/main + + + + + + com.github.EaglerMaven + craftbukkit + 1.5.2-R1.0 + + + + + \ No newline at end of file diff --git a/src/main/java/tech/nully/PluginInstaller/InstallCommand.java b/src/main/java/tech/nully/PluginInstaller/InstallCommand.java new file mode 100644 index 0000000..1ecdc61 --- /dev/null +++ b/src/main/java/tech/nully/PluginInstaller/InstallCommand.java @@ -0,0 +1,55 @@ +package tech.nully.PluginInstaller; + +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URL; +import java.util.Locale; + +public class InstallCommand implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender snder, Command cmd, String label, String[] args) { + // Name checker + if (cmd.getName().equalsIgnoreCase("install")) { + if (snder.isOp() || snder instanceof ConsoleCommandSender) { + Installer ins = new Installer(); + // handler for install argument + if (args.length == 1) { + String Install_Jar = args[0].toLowerCase(); + + // Checks if the created URL is a valid one + try { + if (ins.IsValidLink("https://github.com/darverdevs/PluginInstallerRepo/raw/main/" + Install_Jar + ".jar")) { + //plugin URL + URL plugin = URI.create("https://github.com/darverdevs/PluginInstallerRepo/raw/main/" + Install_Jar + ".jar") + .toURL(); + + // Creates the InputStream + try (InputStream in = plugin.openStream()) { + + // Installs the plugin + ins.InstallPlugin(in, Install_Jar.toLowerCase(), snder); + snder.sendMessage("You have successfully installed the " + ChatColor.GREEN + Install_Jar.toUpperCase() + ChatColor.WHITE + " plugin!"); + return true; + } catch (IOException e) {} + } else if (Install_Jar.equalsIgnoreCase("recommended")) { + InputStream reco1 = URI.create("https://github.com/darverdevs/PluginInstallerRepo/raw/main/dupepatch.jar") + .toURL().openStream(); + ins.InstallPlugin(reco1, "DupePatch", snder); + } + } catch (IOException e) { + snder.sendMessage("\"" + Install_Jar + "\"" + "is not a valid plugin from the database"); + } + } + } + } + return false; + } +} diff --git a/src/main/java/tech/nully/PluginInstaller/Installer.java b/src/main/java/tech/nully/PluginInstaller/Installer.java new file mode 100644 index 0000000..a5a64d7 --- /dev/null +++ b/src/main/java/tech/nully/PluginInstaller/Installer.java @@ -0,0 +1,41 @@ +package tech.nully.PluginInstaller; + +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; +import java.util.HashMap; + +public class Installer { + + public void InstallPlugin(InputStream in, String pluginName, CommandSender s) throws IOException { + File f = new File(Main.getInstance().getDataFolder().getParent() + "/" + pluginName + ".jar"); + Files.copy(in, f.toPath(), StandardCopyOption.REPLACE_EXISTING); + } + + public boolean IsValidLink(String url) throws IOException{ + URL u = new URL(url); + HttpURLConnection huc = (HttpURLConnection) u.openConnection(); + huc.setRequestMethod("GET"); + huc.connect(); + return huc.getResponseCode() == 200; + } + + public static void InstallUpdater() throws IOException { + File file = new File(Main.getInstance().getDataFolder().getParent() + "/EaglerPluginUpdater.jar"); + if (!(file.exists())) { + URL plugin = URI.create("https://github.com/darverdevs/PluginInstaller/raw/Updater/out/artifacts/EaglerPluginUpdater_jar/EaglerPluginUpdater.jar") + .toURL(); + InputStream in = plugin.openStream(); + Files.copy(in, file.toPath(), StandardCopyOption.REPLACE_EXISTING); + } + } +} diff --git a/src/main/java/tech/nully/PluginInstaller/Main.java b/src/main/java/tech/nully/PluginInstaller/Main.java new file mode 100644 index 0000000..da84fc7 --- /dev/null +++ b/src/main/java/tech/nully/PluginInstaller/Main.java @@ -0,0 +1,44 @@ +package tech.nully.PluginInstaller; + +import org.bukkit.ChatColor; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.java.JavaPlugin; + +import java.io.IOException; +import java.util.HashMap; + +public class Main extends JavaPlugin { + private static Plugin instance = null; + public static Plugin getInstance() { + return instance; + } + @Override + public void onEnable() { + instance = this; + try { + Installer.InstallUpdater(); + } catch (IOException e) {} + getCommand("install").setExecutor(new InstallCommand()); + getCommand("plist").setExecutor(new plistCommand()); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage( + ChatColor.GREEN + "[EaglerPluginInstaller]" + ChatColor.AQUA + " EaglerPluginInstaller V1.0.9 is now Enabled! :D"); + getServer().getConsoleSender().sendMessage("To use PluginInstaller, run the command \"/install \" (\"install \" in console) to install a plugin"); + getServer().getConsoleSender().sendMessage("To get a list of installable plugins, use the command \"/plist\" or \"plist\" in console"); + getServer().getConsoleSender().sendMessage("You can request to add a new plugin to the database by going to https://github.com/darverdevs/PluginInstallerRepo/tree/main"); + getServer().getConsoleSender().sendMessage("and creating an issue or pull request of the plugin you want to add"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + } + + @Override + public void onDisable() { + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage( + ChatColor.GREEN + "[EaglerPluginInstaller]" + ChatColor.AQUA + " PluginInstaller V1.0.9 is now Disabled! D:"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + getServer().getConsoleSender().sendMessage("--------------------------------------------"); + } +} diff --git a/src/main/java/tech/nully/PluginInstaller/plistCommand.java b/src/main/java/tech/nully/PluginInstaller/plistCommand.java new file mode 100644 index 0000000..c9a893f --- /dev/null +++ b/src/main/java/tech/nully/PluginInstaller/plistCommand.java @@ -0,0 +1,24 @@ +package tech.nully.PluginInstaller; + +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; + +public class plistCommand implements CommandExecutor { + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if (cmd.getName().equalsIgnoreCase("plist")) { + sender.sendMessage(ChatColor.GREEN + "Here is a list of available plugins in the database:"); + // TODO: Finish this list + sender.sendMessage("1. Factions 8. AntiSwear"); + sender.sendMessage("2. ProtocolLib 9. ProtocolLib"); + sender.sendMessage("3. PermissionSex 10. MCore"); + sender.sendMessage("4. Vault 11. "); + sender.sendMessage("5. CoreProtect 12. "); + sender.sendMessage("6. DupePatch 13. "); + sender.sendMessage("7. BitchFilter 14. "); + } + return false; + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..34b3e58 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,15 @@ +name: EaglerPluginInstaller +version: 1.0.9 +main: tech.nully.PluginInstaller.Main +prefix: [PluginInstaller] +loadbefore: [PluginUpdater] +authors: [BongoCat] +description: A plugin that is capable of installing the latest compatible version of plugins with eaglercraft from an online repository +website: nully.tech +commands: + install: + usage: / + description: Installs the latest compatible version of the requested plugin + plist: + usage: / + description: Gives you a list of available plugins with PluginInstaller diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..34b3e58 --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,15 @@ +name: EaglerPluginInstaller +version: 1.0.9 +main: tech.nully.PluginInstaller.Main +prefix: [PluginInstaller] +loadbefore: [PluginUpdater] +authors: [BongoCat] +description: A plugin that is capable of installing the latest compatible version of plugins with eaglercraft from an online repository +website: nully.tech +commands: + install: + usage: / + description: Installs the latest compatible version of the requested plugin + plist: + usage: / + description: Gives you a list of available plugins with PluginInstaller diff --git a/target/classes/tech/nully/PluginInstaller/InstallCommand.class b/target/classes/tech/nully/PluginInstaller/InstallCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..666f54c37ea1b927d29245458afd317ea21e40cd GIT binary patch literal 3106 zcmbtWS#uOs6#i~9lkW6%04EC>j5-O6S%8KppfeGK5Fj{NOhOP)p=YKu)1;?+=;=v7 zaRK)YcOkC$#0xK4)*xb$@`X|#tnx2Vl~>AFc`%;a)7i*^RleMN&%NiId(L;hd%A!B z=cnrc9>zrp>(DFVN%V>6moR_>0Sw}xfTsi;k|6NI0UQ=^M1q7~5l{2^84=I&`6$;o zCP77<4+#lLXnb!-M5-KV=v?bKcQMRGLqvxAHzioe3OFI*KG*_sA{-HU5hEf-MVu6H zO2Bgho@Xd)(@ovk&QRLeG|1p{ghn)WTpdvrLp4)MzhmoWDtcu8R?}gI65V8|E}rQY1(nS^WTB}U zil{8>#>}v+s9LFHBL6h%_G07?uM{f?R#?ozXE zbzP2}7Vv_A7X|Dhx(awnz{|ucA{2wvZ{_WTwnyjesGM8njT{3Rjc6i!8E0^oK_Cn` zCCHtOSMaKU(=uMe>kJPrNC7iv8QL5sFs!*d&oo=c8~nbNch+H7UN>A=qiM&<<|2xc z(w%fZzL99BBvpGvvy<9L?oI;tX<19L)lns*>ZT&&O}s@oQigQV+c+!Z9iGd(GTy^E z8Smo*f=R}Q_(;ab_=I9UWaYzYbwms2@`;3&%MI~o686y0l3^#Ug#~;n<1?J+?k~s~ z<9@Wvm`o0*)24 zMm4)=Ql@6JR8xix3)#+d=e+^y2%=+6jBjP2j36%xI92l$$))(XEF$)y15NzPll1@aJ4tX_2R)k{BtQbo#qa45C5By30 zYiBTy32(kd6}gQ`RzmUw{sNarag){H0ZgzOciuws4p(k-=Th(r$5BgT6;-zyb*LeN z)KaxW*g~ELN!v!4JguhN*5Mox=Vv0#IML=N%@eeLi@q|oXl85C!kV$3wPFKn!)Cfc zVLP#j9V1ViJy`_sA}(MvT0uXT_!bY*f3HCL5^1#3YA4;c72D{qbqj03BY2e9x0Xc_ zK@@(@E{}P9)rQA78)>y2JBZ4B^*C9Sx~rYoMT~5xTMJlLH;Eq*5U^W7hk!i-_6pc1 zpwnIK7x07tYDA32fNzpqNlUA`nq(iFL?tTjqD#5NX1Nv@Q|CHex8V!Z?^D;`gg8St JMPGuRe*r`PBY^+_ literal 0 HcmV?d00001 diff --git a/target/classes/tech/nully/PluginInstaller/Installer.class b/target/classes/tech/nully/PluginInstaller/Installer.class new file mode 100644 index 0000000000000000000000000000000000000000..4b1d57bb9144a09f6146a4489c2b149459dc9e58 GIT binary patch literal 2522 zcma)8TUQfT6#h;Um=MMbsDO$$L`y)NUbGjnR)vVs1Sml&+SU$}F&POnadLv%`~CXf zhdy-mtuKA455d;eu0D44H?>{;&P;B#sAa93nc3%@y}$jPZ|}n&fB*a|fMfV7f&G}$ zkkW82fheXDn8x{Tq;VmE2repHCXQ?zGwO9#8RyjSvWEFCej|EsodKwrg>`k${P1HCSqSUW2XSxf#^tbQ6M(yCD7;~j+!Ew`WMVh6O z?HkRv34u-Zk8q7ZW+ZdNTr&;F_%s}rHIWV!`|7RN12WIVrMELT@n9BEkI z>Z=<7R{2ACzC5gRnN3NV)6=EulglAtTr9GwlpryXXr3mtXcwt zVH{;XFJ+lilb-9^mI|a8%}LW*$(rThL?{T#fWGQHUn=KKY5P3oFnONub)u#4h&Sg| zealwpTN`Zus3Jzk0SpP~jl&5S^*_kj*{V|__Zo^i9Nf^bqN9XW9WFc_W!z+D24m8v zuftcy1E}bbV7>!^HdeTS{+jLQ z?X}8(bnTnBjJgxUt4hQ4rE}f1WM!i;*T}#|b`@U3$2va2r#e2v=Q_T?mjc88r=SG3 zwoYVr`36NHuq`mDf|_j#QefXB{AEp5Hr)kV2C8u_>S1ss*HVbpvhX_^&w% zl76O4X`b_xGzgKN8jzHXxVwu>=1kvq33q#Ay1g){SF>DZT?>qFR5zi+wjFgL(sx{X zVas?($+1gxN^j1TMS;FX?4}5nolf?L+G;=x=24z=grKvX3{a`invEYl!1Pei?iU zK08L&A%5gb1j8IV17i;k@m&uW;4q%xm%s>;T%|UD%XJ-mPTfaj={}-M>xkV$$4}@K zs6neC-rL3DhVxa$R+psxvf+=R$qNNPB#;lv9xD6#hE5nQVqj0^ts6BAN>!1A-_?j6$*?unCuhC?aU@Y_mIL(zDKmkn#z9 z1fRh2hgA}*f=HGB^$p}{t_NrtW|SGmzNL;LW^5<|y~Um=ryC0EJ$c%>|ZMN#%h(pT~w;Vp^4)qE!Gh-z-g zaJm#pr)I0z^VTxYH+6K+lYu=aTt#tusxnH1NlGV%M_MIi`l_hXxO)~N;VjRIdJ>X= zWa#$QtQ)4s=9J@Q1r!$iIB?{3SEt*p!;U`_&xM6|aK^%E3>tV~VF_m#4(J2h_3fK? ziZ2{lk6d3d7zt#aXW?^v!7$RIsI0she`Q6eih+j~zQiMj&bsG@5yMam+e9U^wD1)k z8+c;jYkb2ncJ6=t3{Y)lI1GoAay+4`_Cgf6s(LMUy^0JBR4hn5wNOQk)E*T@m0FVa zezQZ5^|5Q=8J;qn=R4}~r3>Td$FFcV%&4`NXV+Wq1s$i$0G-$#cHPcn~Wd z)g*UPsQ93rq0Fb!QB-0@P7m_o!JXxdR}q>J$F@pcX~-aKg5$Zd8lQ<5a(05y5jAROIt8e@pJmx^G8;l=ceEEyD~=6?XzD zBJGW`aKkW`I@dZ~vdx^RSRFrwg0E4=t3owWWjLE}N3M<8EuucoPB09#m|1n4*i8v8NZmk&{_X246;t@$rtl5j{YhcT z1TRQMx03p@-Fz!*qLl?tmC5N)lhanJNolGwC&N%wX$AK01R@o3u*u&{O%UpyMxyh^ z{bF&R;ZQRmo9C2Am#EjN0ETnTj_;J8NhhN2f#8`$$2d+D{h?=|+fVORbQddZ}39S1gWu&;juht_delShc$z|oxb zu^fLq$DhdYCv*JH*}SBBJLsdOK+pCBhiUAiihGGaK=On10n?A;I7H|jrtg{~xQ(M& zBgyxK;}1BApKuDVsa=0k!~UjbZDId5!~PukGthR+z_9FfFmZk}^^-~BG=PjILl0o{5cLpu Jfn;rX|6k>xqqG13 literal 0 HcmV?d00001 diff --git a/target/classes/tech/nully/PluginInstaller/plistCommand.class b/target/classes/tech/nully/PluginInstaller/plistCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..9d15c345b38d127c329a13b6c022b96f1363561a GIT binary patch literal 1639 zcma)6-E!MR6#h1jBgIjh#7QZH0!yK-leALZx=mY`mc~uefb-M3;|_4atmUn}jVu{y z1?5qA2X5fP9bkqB;4yd&W*E-e0$lPl=wi?A*|Xm{->0+t+n+!G3ZR0g1)RZZ0he*b zhFgG#s}{-yL4wUx%QH+;uH)PnB zarK0VYW;=yT6lp7J6=P_D(qChIP6;foJb}^FoyFdz-0+Z3BT87ICnxQ@yG|FB?F_& zp(02{5qC(Jg(J#gIMvX?KiCodOvFMXN@HJcDkJm!xLmG*c5oJNT6pMS1Dlk07+_(` z!6R%loc(Y5^;88UoP|#ue2Th*9qckx9?4j8m2kn$|KQPcPS}b_1d{iMzbxS@RpT2eVg`QA<@<4@BR>l2 zs%1iMzvf|Bx=s!m_f(P)Ohdlp<*P2=sYNj-+OaHT18Rq_#cCYn(}l zrJw4E6j(Ywh{5Vey(@Y|bg{I2RPT&s9W^x-BEL#SkZgBC;$NdbL+nb2&zeqO9Lrtn z3c7fKDJj48WMhNc;EnO7{%4=sc}n#AbVnGjj02BoR}a^jH5nazEk3)2C&k-3`kNLX ztM$ms&oE;y?v6|n(K(KE6Ypb@o<<@^@8kqox-T@oMJtaiBb#4&1@^;mdx^%Wq0`3O zG?C@;fwFe?k7USD5+{)&O>KdVs05!HnVe?ozHABvkOC;`<{~IU=o2c(9XeTWN$Z)O(>brL0-=fVCU7<#*DF@cr8059mH ALjV8( literal 0 HcmV?d00001