From 3839e4d838a4f290715f4f3d02ce691b02aaade7 Mon Sep 17 00:00:00 2001 From: Wizzy69 Date: Sat, 9 Jul 2022 09:48:58 +0300 Subject: [PATCH] patch --- .idea/.idea.SethDiscordBot/.idea/.gitignore | 13 ++++ BUILDS/net6.0/MusicCommands.deps.json | 68 ++++++++++++++++- BUILDS/net6.0/MusicCommands.dll | Bin 17920 -> 17920 bytes BUILDS/net6.0/PluginManager.dll | Bin 63488 -> 61952 bytes .../net6.0/Plugins/Commands/MusicCommands.dll | Bin 17920 -> 17920 bytes MusicCommands/MusicCommands.csproj | 4 + MusicCommands/Play.cs | 57 +++++++++++++-- MusicCommands/lplay.cs | 49 ------------- PluginManager/Items/ConsoleCommandsHandler.cs | 26 ++++--- PluginManager/Others/Console Utilities.cs | 7 +- PluginManager/Others/Enums.cs | 4 +- PluginManager/Others/Functions.cs | 69 +++++++++++++++--- YoutubeExtension/Others/Data.cs | 12 --- YoutubeExtension/Others/MusicPlayer.cs | 50 ------------- YoutubeExtension/Others/YTVideo.cs | 18 ----- YoutubeExtension/YoutubeExtension.csproj | 9 --- YoutubeExtension/ytPlay.cs | 6 -- 17 files changed, 215 insertions(+), 177 deletions(-) create mode 100644 .idea/.idea.SethDiscordBot/.idea/.gitignore delete mode 100644 MusicCommands/lplay.cs delete mode 100644 YoutubeExtension/Others/Data.cs delete mode 100644 YoutubeExtension/Others/MusicPlayer.cs delete mode 100644 YoutubeExtension/Others/YTVideo.cs delete mode 100644 YoutubeExtension/YoutubeExtension.csproj delete mode 100644 YoutubeExtension/ytPlay.cs diff --git a/.idea/.idea.SethDiscordBot/.idea/.gitignore b/.idea/.idea.SethDiscordBot/.idea/.gitignore new file mode 100644 index 0000000..7fa1cfe --- /dev/null +++ b/.idea/.idea.SethDiscordBot/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.SethDiscordBot.iml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/BUILDS/net6.0/MusicCommands.deps.json b/BUILDS/net6.0/MusicCommands.deps.json index bf027a3..1c91428 100644 --- a/BUILDS/net6.0/MusicCommands.deps.json +++ b/BUILDS/net6.0/MusicCommands.deps.json @@ -8,12 +8,25 @@ ".NETCoreApp,Version=v6.0": { "MusicCommands/1.0.0": { "dependencies": { - "PluginManager": "1.0.0" + "PluginManager": "1.0.0", + "YoutubeExplode": "6.2.0" }, "runtime": { "MusicCommands.dll": {} } }, + "AngleSharp/0.17.0": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "5.0.0" + }, + "runtime": { + "lib/netstandard2.0/AngleSharp.dll": { + "assemblyVersion": "0.17.0.0", + "fileVersion": "0.17.0.0" + } + } + }, "Discord.Net/3.7.2": { "dependencies": { "Discord.Net.Commands": "3.7.2", @@ -108,6 +121,7 @@ } } }, + "Microsoft.NETCore.Platforms/5.0.0": {}, "Newtonsoft.Json/13.0.1": { "runtime": { "lib/netstandard2.0/Newtonsoft.Json.dll": { @@ -116,6 +130,7 @@ } } }, + "System.Buffers/4.5.1": {}, "System.Collections.Immutable/5.0.0": {}, "System.Interactive.Async/5.0.0": { "dependencies": { @@ -144,7 +159,23 @@ } } }, + "System.Text.Encoding.CodePages/5.0.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, "System.ValueTuple/4.5.0": {}, + "YoutubeExplode/6.2.0": { + "dependencies": { + "AngleSharp": "0.17.0" + }, + "runtime": { + "lib/net5.0/YoutubeExplode.dll": { + "assemblyVersion": "6.2.0.0", + "fileVersion": "6.2.0.0" + } + } + }, "PluginManager/1.0.0": { "dependencies": { "Discord.Net": "3.7.2" @@ -161,6 +192,13 @@ "serviceable": false, "sha512": "" }, + "AngleSharp/0.17.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-74haoXINcj4SdMsmiNzk+9VUwIX1U9P61O6AZd5Uao8SGNnJJB8Y/r8VJRc8orn4c7Vk/oURAKSNF9XcSDxbfA==", + "path": "anglesharp/0.17.0", + "hashPath": "anglesharp.0.17.0.nupkg.sha512" + }, "Discord.Net/3.7.2": { "type": "package", "serviceable": true, @@ -217,6 +255,13 @@ "path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0", "hashPath": "microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512" }, + "Microsoft.NETCore.Platforms/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", + "path": "microsoft.netcore.platforms/5.0.0", + "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" + }, "Newtonsoft.Json/13.0.1": { "type": "package", "serviceable": true, @@ -224,6 +269,13 @@ "path": "newtonsoft.json/13.0.1", "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, "System.Collections.Immutable/5.0.0": { "type": "package", "serviceable": true, @@ -252,6 +304,13 @@ "path": "system.reactive/5.0.0", "hashPath": "system.reactive.5.0.0.nupkg.sha512" }, + "System.Text.Encoding.CodePages/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", + "path": "system.text.encoding.codepages/5.0.0", + "hashPath": "system.text.encoding.codepages.5.0.0.nupkg.sha512" + }, "System.ValueTuple/4.5.0": { "type": "package", "serviceable": true, @@ -259,6 +318,13 @@ "path": "system.valuetuple/4.5.0", "hashPath": "system.valuetuple.4.5.0.nupkg.sha512" }, + "YoutubeExplode/6.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oH5kst4w1QkUwRjJco0alF57JOmFofSGlPkr4OniODB8R6MEyRWn1xFg3JS2wFYd6scZluoXRDhM3/uyUjO9/g==", + "path": "youtubeexplode/6.2.0", + "hashPath": "youtubeexplode.6.2.0.nupkg.sha512" + }, "PluginManager/1.0.0": { "type": "project", "serviceable": false, diff --git a/BUILDS/net6.0/MusicCommands.dll b/BUILDS/net6.0/MusicCommands.dll index 19a1e1a914933c1084ae418b1848823652babba6..729722c56b94d146dec23bf174d76efc07f0c9b6 100644 GIT binary patch literal 17920 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 z z!28-!w{W8=~ADcBRR)akyYlAv&GuiDQ+86lQzvYaUBe5z@@l94=^WNXA#(~UvRI)WhpVyE9Xq$|bFe76 z!kdn)q3w2d0@ZEV@%+IwDww{@>}SHtyO31+kKwNm?2H?P9>$qfqS7Or;1KnYp*c&i zOqE^J!*)#P(_?TDXMud@cqZdU`|kc7I+uv{ttt3PQmWhRA|h&+mz0FHDoF`motKbO zCY{_Vx3gaH!j!Y`o=)fNzVXR)mPBaZ)Kn%tCLvJvt$ozp9;DB1C!gj((;3!7u;{nl zGiFao3%h5)&X48N8b{=eArFbaIaJFDKvZ5d4?vwM(Im-J)aaUg^`g_muGiodLo_Ok;)>)=4fcRkVXd0i3yxo zY3OEVl&YRtsj^V_ghITB>BEZj(wpwEojZZvGSj%Pm#M1sa^r>VpIIWirl58{WqbfxUz$2ZDzYO@&<& z1$pdLcTZ!p^3b`1+EqA)?B;2&@=d23JrW3gxrymXsK|@U%gDBSa6rr>>t_+Vv}^P( zoHoinJ!p^WX)9AWf+|$8k>z10oz4_^|8i?XddX(e&`2ph^!DpIho4(@_cE=)rHyGW z*V{ZPPL@URx`2%Zu8Rn_zB|SH0VWkE<#FwJSu16Od5?cI8S;82@Rnm5Tp7HhqsSEaxHqh6-CeF%tf|PR$kDQl_ow|R zwDV|bL8T{a&qB{6=+Hm!C@h|YT%6X3`qyB*X*`M9c#AO#Eb<>br z<(Xys=irz1PN-AHu@0XjchX5{I05f=Vst!TV?t&7G0LVPNIL;4&(1h>@5e9K+lfk_ z+AkBqrfIhqP#eWy6JX2&@|0dVJUY1+Ib3I`H6ouQKzO>c2+>ZW zhV9Ujg5hk_1StHETK0mYLQSAO1^yHsu@eX_9>*!*I4A?pxx8#IPY&Uw9!0`<6n7vK z0aMqBmmxdKVNJek@xcdA!g1UV+{?DH)x2oXpXmSGt_J_Sdw&1@2fy>b@^A0?Dwzqx z2>KFa_)&>Q8Lj1NtWV%!i^-+?&43YGjyD<6bfC*HjQLCOF%45dPI4{Dwe@~5lzx-( z_5K9KN)I!&i}5b5^>D4nk6P&oi+r`XSf2_KQ(~pxsR>v?6-~vKoH1XV-yZX-4wOS%<7H#9^~8A08`k|3lum{2XXzG&&w(5Ns%Sohf# ziEu-#^aA?Vs#xj8Sm~u$=_|3)%dyfoT4JSd;(jq&`gXwO2_}d|#>vu>!{M@Wm>MUM zc@EXs#+rmrciNzoa{F)4-8OjLHpG&Cv9mT|#){F>>w@4*2^pgJvzPtV+vp8580+HE z+rel`#cWSUu!TRP5OqNayxRzdv|(TmC486!VGybKcpuZ-7^s1W*!pl#$q3lx5a>@R zV{tRjcdYateltf;*O>KiU^qY~PngVDxU6D*OTZI@S?CeZX!nb$VKN$G_xp|7*dCb3 z6?mxyE+kdkQX7Ohmh*#Z!Sb;b1pC_I@s~ywR6bR_4Ej=3R6@8_%Dj2gP z38>=9EInEq^lAak@My%HEAAsQ8^V}P&3@M7KI?LyEpwlZ^#&3?gB^%cJRSVpO(XY3 z|0=x6XT>()-iW*2v|=#AQpyVYtY{jf9k}r;dko(l#A-lGp`5R*S`@{A8$fQk!L+bw zd{&EJS&PwbThb0mu@2meS@;tS9#vKtGtB{Cdep0&4JS+^wj;JDwqJ!XgD?dD^(=CM zS*(@f37NUYz9iM+R{kVbz}cXI_uG6e;ZH>Nsm6o3)YMKVTRv;^1Ln!R0Y3f7559|U z?%cU;A3s*(EZ^Zi5Z!pj@8= zTY7(kt*JO^<_0pE9VtB8P4df5+m`1{ZoRMqGA>p#SJ?j(W{B`+oCW5J;UJc8*)E|o z-z~U5cm&_eDaQ2muHv7h57019QU~xxdoOB3_)Ghpz=r?_^hdO6 zj)}5LtWXC44M^ov)F6%ld?w>F%~5R4d@aZOcEUUL960c}D<_}=_;_>I*XPVzAk=_O z1#szu#HEs!3y(gbF5^nCT2gmq3)w^=_pP`}n`W WwOfCS`nenb3ykIe58*%Uf&UB5pe{QA diff --git a/BUILDS/net6.0/PluginManager.dll b/BUILDS/net6.0/PluginManager.dll index bb6f20f8c19cc69a9a8eeee1d80002645c20c2af..b57de9d706a1e9da9620295bc5fc2e06ead779f3 100644 GIT binary patch literal 61952 zcmcG%349b)@&{hsJ=1e0WR6Tu$mAjeA>3j>!~}?dAU6t%LVzd{%-~G$8U_==0|gZY zS6L76z>7UpTwSjv-uH^vva29??0W7`c6Ghu|6BEXCKHJ6@AviRj*#XdiClZ z{knTN{-mqOAR-&CpMD~G2r2*73H)WyhV1N;hqGy?>*dmiv?(u_&R*Ia53h(tPmeX8 z8D8Aj(h_YAFKP=MG8>@wPx$4EdtHeeQWQK93xVMoPf<|L!QePfg6x_x#Za+h&p$`^qB*^y3cNl zz$MjvtIsn0j!19Lar&H`_uU_&t#l&hh%Zoa3=Y zFuIUaZuqkzVb00+WphrJErLcO$E6##2;#W9Z-01guuhBEs-FBC>eS$3uV3rTWd}RF z)uX9fCzL|}?dSvh_pU|X>a+lL!#wn@3XHxGt0~lD zux&*|2!sqeMG@6no)vQgGU|y|p-|sU3nRkl9!EMs9Y!Ph;_V19w;AaNsU!xe&CE?s z;A9mO2r3V(hOgMZAt-|m^~G1KGSysWoGOEXk1|Z43?_+cMMP>K)BmIl17&zb2QvHE z47QA+{$sm1@j)yi^=6@7gbVy)MBqQuT}>uTIxG+4s#{(yWDr}v_*!M}V77M(8>%Od zS7uKZvzZ68Q4h>!A~KXK4-8gwGlB_qM~8tYRTm*n#$XVkLw!_I<1VT8l&tdVq3Ce% zu4vw{7=4_D0!M%h*s3S`ZIKa-+9?z;tNZ)xK66X-NN`*}b5o}taQGYpvVnJH+~hO! z=JKHQ*{^8swDBOUd5)k5O>)=#ZeK6ItuutC6-7saLGPq0bJea#@M3^UeQxr(Lt8@8 zQIIh^wSdRx8Q^k6j^ZNK4yQsw0dMUwC33GL@t+8#ZA8yL{eF zg>zw5FJG^k_o?=+RAH-4-c6`0$Coo8LNSEMiUp@Uu3|+pW#Fe7JTv6gpQ5fwjO0rTE#>I+~>=ZQ%ltU3-GP6PfTkY*I z$mO$bK{Wg9%6XkO_8v!ZKk!2N(XpsC;6%_yF(J4EE}v^aHdEt4MH<*7$OTMtMvny% zg#}nms*C*Y2qqnOz(WXpPi!74k4|ESNys`5Sj{`|p}RALmZw7BXR02CvO+5@1uJomx3 zy!Y|N5wAR7PKB=IDxN*`WRepjiCK|n&jcr{I15uswoEBZM5dzz&u2DT23?qIe6%{u z88eXK@oSNpNMk3X(J?Fps^z>j%Op<+89}GG-Kywppzu8wAdg}ogxq~iJ$4=oic3xa zhYqc`^#54z1zq(@(ad^<@r(7Ig!aM_K9VkV>sK^;97dO+3~Y84OF(3V8!aXifD z#7LgPi7k05C-x-z)MjSek_$P_O`>*02^T<=z-TNyOsMq|b#u%iUdhjOY|f}-DHqg} z&72s?GdQs&5m8*na!zuSh!W^#LFh&!pqq&d-3Fb{b#VLQs21}Ds#p;%0E*e-`V9Q$ z3>-s0EptyAcVnlMLyo+;9zD$4morZ0p`=im8NAM#{rYm#5rtpead^d@?lU#6g4{;9 z3B45&Kf+gTv=Odyqm7N628|J(jBhD+7kI?05K_5IVd^I-4u^ zlM%r>=I$C#I>#{;Dw%VUWke8s)z(IieS;-~ijW__Nn+hdu7`doWMQ+@ycyg$V%E)f zf7LuSSJ&j|QOvyV=xPAHQ^S7Ps*r8Md}Gzu=Zwfe)~Pm)JWn8ath`n%FIr?!DtoLo z>0_grEa&#&)=*N_PL8i)w((Z6QN`*O$RWOd%}H(&LkB~Td5AB>5#oyp6{Kv}G0@SQ zb!=5SE`agLE4Y-NyowVec_k;g$qk&W;w-2_*gzE%k#>|&`(n1I59|7!(sd#0>fmB} z@(E6Ile;)s#XKm<7bQ$Yup{PpS91(H+84hoqfNi(QhE|m!1mn7i7k0QC-&q{PI8l| z5{g+6iqZM7j){ypMzuA}x_4yg{v#LElMi!ZBp=}2b~A#g0)!km2m(fBiXjLX zxF1szf`Cz#Vh938B*n0h$fZzD{ZGw^*>&LPw&Z12txR(5Lc?!7&iWxmNc;4}<;Zp8 z0Ktf?2iB_beX+iZxlXzDuXdY`Veevy|7idOqye}S#eE1aW+ErYi9@&T_G8;f`H-eaag*6APzQL?o0|gW-R*!j2k6g_KCIjR} zt^xFrBVY>!?A2%ZY(D!I>_vTMWD^%wE(~@Wvh^KL@dkuRWsrBjCRWi2(8e2c;Gt-p zq&_n`T96=bg-r@Ll@4r;H$x*_?XzR+icOBsc182hD=2;~*Z~*$T(4sA7DavqGIlCsoj@jc{c6MpHrVw*mY~>!JR+_?gVIG zAmAsTKYAysWY?HP`>>#^JtW_Y@gL$q&iQsCodG(GMS}Uy;F<-j03n0rOZb^f#t8{NTK9FaUs zkbe#GBfkMnvHO9>J_LyW7PLF|d78!q?e>^@r-?u}(R;ZFvrc3drge7|le(K6 zV9jRMPG&ujVx7ROKQQY-W|`54kSJ>%QB2R4xx5w`gjq_hsYdh|l*7KeC|0D?3L|Q=;brUu(+{a9&)~aEvlYvRZh7q-&v#&e`iVg`Qjbl5E0INSij?7;F0Mco`hSKprL9nuo zb0Vj61+fMepA3MV;JYlb3lfo~lGns}=dr5KyQ}(3O0cqxb1d;YSo{G7Z*rM`b}zGs z%c$x($EyAyi~q=Aqzz^Mr+b;dc9r2AtIP~Y#^y1&mCJn5z0BXb%5aWV=4%$$>;T6D ztUlPi%-daMIL9ipn8nXz@qcv}e}~1{PnB()V>SPJ7QYz)p4^|3P6I8sZ4Bs@bd=VPx?`&5M|UonTh8%*e9g#71VyInst6;>HI!Z=f|w` z8K{etVLkQ8QyQ#mm=6&|G=TLQse$cQmPE=S8O5}L+oM%D^?3o9*U9(BCdRZJ^W(;F z5!vK<%~%RWUW5crudqFJ<2=^h{b1ADFBozXhXWGagVwyO%BT{g4kDe=MO*_!xBTJ_RMJy>e~mg;ETy{|_`Jr*h#0L(jg#fQ{QI`JxS{iC;sA_T_fx zJ0jmOJKe7H+Ne;q3;V(8&?Q?)LBN=iVh92TrU@k>2-?nb`$ojWaGpCt>d{MVJ%{UP zuBRkyv93z9@)W0x=!<%tPfpB}-FY4yryhm1`ErnaUK)yE4}hnaUOlo7EJZmgarkWM z+mzNv&b+x^=Q7hc3CkkZkD7-ZSUg8r%H*&%t`y|f7SCGOaDY$-a%dTLdjm&(}D zJ%g&JSvh`pi6=k8Gl}1Ai(mj^o^Y#YC2B%(+auVXU}ka0cCiwR8~KQ9>8h%0Xm-uA zJVyBp=m?3~A5cJI)?RxPH%d?Z$SRfr;Q2`q_gPFAMmhnLKLJ!1>FUH;GP;hjB~wqZ zNa&0xZln1CfvF%LZ{x;@kGHGQ5Qlk#>+ToOLSM#296#u^;LEte#37@ zuz+D|eoBnvT#Ob@I&%?mYEVc~Xmfy_#OqaVn9WHNuOzwkRg8A#=Cia|6m^3E>o}Kt zSWYNvynd$=@;R&V7K~?KO~Az?N0bLu^Hy;YOO+Vtb45I?Y+vNRiaH`*mh7K7m*$}# z`ryL8h{A`>rFJ?^CxYuRx15AwhkkP6Y&&nDquN~?M6ueZ0ML;6$V4FGCessp3*ivY zLQUuEiBlAx9~#C!$l#v}enS;*-E=#Wb_29mshp;fsRcNoxx9ZY_&UKD~x5M^aSUG^u%Hz76L{CtTl>ep-=Ei z5*|HZpNH-b0jW7wLWG^5`%He)W7Bb@rk<*qekUL1B1T5R9eRRuIe<9r%pH?j5V$bZ z!R6?CJ;5fa`p=jv_UVZQV96Wwe{0OJx}ChSAts!03y_E1VlZta2((gH&WoVd(1(eaR)PK~Hc}8Sp0A zcRp_j=X02CM%}`%9h3%Sp_5WU<$duHPWV2-@UqtV!?Jr^=gSa#{cx4SzVKnOX``2H zMA&pAHcy8kZZmHLZ`20EU1xw!9mFCg;Z5PpfdzeGe=}zz>fOmRfl(@`ZPkwI$+efE zMyObh9681v`7HXB`-^3xB`C!YajKIoAoWl(${I3rqou5P1+#hQXs^{!zVMg&$lHdyba&r*4jzL3RX<47#XK3g)z zHN~#NAhGmSadm$Xn)9L&R^5-mZ@7zaN~tHfS=h4i8L>1G?=bX-glvywP<#$iYf!NF zc~G3sX~3bY$H69s&|rx#9KJv!=klQ7G-H>>P*Ft~u8U?N%r8|I1z)FjzToNcRlGG!QRV8cXH+AyYg za%x4|L;dG48ovVU~`O2JgrC@@SLxM=w|1vaK#Zg)!BaUjZlt`#^X3v6F zD51q{qOK}ZEf$+oA$A_yVTG7fl@Vf`*F%VP3n-qjtbpPPO9hnskbrWh1L`d?TLKCb zR!;%t?jBHV?AeGY?zgiK4=LpUajS&Xbr~VWT<$r^P4^sA7${cQ@yx(7oLbMi5e!VF zHpS8+85h`te8PdbFUae47vGuz>vwRU5d8~R6)sHggjy-giwM%|aV-PS2BH8s|1p0) zKt0kMGx(f$G{)XBNLL}v)Uy|I=R?nlXhx=;Uc9>1oX;)BKSMAEh3-H59Yc=)jS z*r2~cU#-l?2^fgsyt<4HO{@k~cg&0lQ_W;n7H{=rs>M?O8ZY$&F?P;}2QT2_N~j<{ z2+U-g;&2j**NJPH+rR) zy$&hv;Ef3GyKo2Jq9-^9ckrBKtW8`jbqBAEQQd@Hj@;^s+Mu#kl%@x_oMs%BZH;k0 zi{cTr^ARcyclXZ-Lr<(n&+#os=CKCOdF^zhPBcpVwgDoR-{5C;Ks5nTbrlyK$~UV= z07UCyKc7C0MQWWsaY@|tU&jeNaRpMj=|>^#1ouFjp5RQ}_jA&ji^)T61f?XDjfb-2 zCN8fhI7x0~JeXoJ6>VUdtCb8VS2QQDVJei|jHLE2+Eb&glbGFK#x8r1!*3^gn(y5ZPZWmxkjNa*i-`kQ&vU$;M#6@pBnGdC zy>2sK_S`6L;=vg@2NzZda^b4>R?nz?5S-dM%+eFTM&2RO$tP_Y(aAb7PVeCa5x51Z zoU{#-=-g#zEu4v=%1K6aN=Yb_=)8r?>j_ShH!vPdS}dkibl%APIJV{P^Wva*uuh=eh6Jjg&f~5Je_arTdeJ5#QEZdFzElFh_k5ke|B!w%0}>VYS+lNDs%` zAdf7z2VWa3LZl>bXI6qeW!<5V#n>9|{Ur#}w-h${8 zn}SKsuFg_+7Q}{fyeLcYFb+$wS<|Z<$;Wzpj0Y~et1vc#OQaMO#zrXx622m#A_fEQ zN;qA05#Q_JBS zl+}GU$Vzw7ebPqm8XP(F+(lWcix3^Cjw?kMG0{^OiA}+zl2u{)bA7@emi?dmgjWDo zi$o0|9*H4dSWa1SUK><)2L&A`01zruX72%;)ppL)mk&5OngB#=>=uF z!fKSG`*M<4m)caYLqGGY62GH-CY_~|2_^g852NIYi8 zJ`&fV>yQDP-MD&Khx+5Od~*`_N$Q;gfY1}1y{sG=`1|5d!6=qP zeocqjB}?SZW(aa?9JrPenxi6xatFXX3&piQdOmfQ$c_ zUxe#ZTqgP<#Rn<-6&$t^&aZlk6ZD;p?nU0w(svKRHt9Qi?I$R#$1y3J$w$G3b2!OM zas((mB=M#2I5x>nsMK1+PxbIlcX;MN>33Zy7;LP|;bZvYV_wQq@E0u>Kqh64S z&*r?xr5=WOWsXa{ieS%pi9t_1EE10hWKBW-%C5(*=Vqbn|HKKlOn*cwTc#tV>(L=- z9cQBJImzgHE}80jWoXHgjAqL~l2#u+jM!Zvao4^YIqwxKg5pigG}88_d*q)3S=cuJ1OV{2c|4*WSON91G{ zN&}L znJ?{hyCG*zxW9i9vgiwb$0=`K{s=x`Pt;->#OMPwldmIRPbi2nU`w(IDaLMQaBb+t zmxccdU|#eTSQb4MfNvfaAhm97xiXA|zj1xr(MC7ja)z>g(QLyC6sX{cD|O1{nFsdgC%I4lMT&7*W~7iVG@ z#7SrF#P01fBByh8d$_!w;3WAM#)HB_iw5#Dy@G+yP{%1u4;%1jipeB ztv_#1`T1Nc#6@A^&rlm}My`5Hz>ir!N4VEC=)9kkcKGbccewIYL+oe>1|=F2L&bW6 zGcgucahfq#aam~lA84b!IDqEmls(&N?u7H>XQ0kFjz!(czk-=*PMCi{LQg36Yslnx z;?zXi^%$c;FG$;GcDK(=+lRs_`|uQ_C;QS*G1#&$=V1!D?5uX&4YOsrGfl=1+N*CV|!7Z*Fj%vm1uOeD~ead|fy63*syDbCb zDupSLLl)c}>+@i;We|bLCCdEON<VPfXM3=k`i#EEVr$Q13hOX#BMl9Q4 z3sxO`Q?K4!)w{j9n%44*-n8z(YA-_5NWGXVjl~;6(=exDosic_#SkM;y_PGV`3#}h zP!FxZYo=_PdZ`9mPQ2KDs$#RD8SH(1p^mMsxfAa}+Pj$=yBbBT=ezx3hKkiE>E=aR zFE&fZPI-QoE_i<e%HXZ7y~@&h2Z>78&(92 zaKo0P+40mp5c>n_G%^gV?j6I2?JJB}9boohPX$Z7)(7&agWu^&*VS_!DGO9xvsrQX zx^DVk*QLw8axBJB{1f;T-{18^+mb(`t@ym4lapM24F@0IF%NH~jzJi)ANjrR;Yi1E zSuA$xvYIAk@p=(|yQg!KnVX^#L8w&E#`Nmm z%&0>tH;~vqw9ZuDxkym-mwhlIh0rfD7Zi5d@aRgfo(^%hk-x=b6l{rogkpKo1UePJ zvVb4v$U+4a`xm>)QtIgTEjXA>{M^IU};3Sr-cZ-;Z)S=OwSpE_ghHceO)O*(USmYR*`b9!iI4<)hAui|!A z55y?O0hl|>k??txtZOd4n@g>)NOHP2%dVZa}cS=L$;(&f7kc*_Qwb=M5ealQpUnZQ2L6JH{_(E0Y-b>QiVuRtd10OC{GTV|zv zFtqwpa5APrY*o$pa{!fXoTI+6L{RF<>2El-3Vcpk5{2HgzfCcy`Kf~Ny(KQo3_V?Mx>U-+f_@r>HE zuqf_Ke&Pgs6PZHz1!7D%*tE=)cLMpggatA-y<9AHgT60c?z2UcC`i3IEN3cRZ0nU_ zYkWFrS&Z_-hwaNuDsmDXC+*-l$!#{6Xc+bpvZ?bT^<`YuL3O)R4T0Ko41f**^czoW zyyxH-|L|GGQVdMB#_ZjU%^~*aETFzQCBy;y4{hIP<9cNB^_K|PjHg7Gagi|1QU5% z@Uo)Zyc`E@Y>xagh(v>Y?ct}`O=yhukUd@ZD|^kCVOIA)t%u z(3TkQn$$Z5cqNIe18-%v#pAmse(<fZmBGc-60IT zK5FUfs>2~)pH$l=xg~NjHy$Ttw(2AF*gYtvisWr68Ke#$4yDn5)(@OWu~fF6U?qG! zVcjk9E0Le`=0ZI{5ohB83SP_X>L&;K2`d@;>2W(dgfsa83a1%?&1IoY?&f-E(a(4d z&r%00OpB)-s@`;7jmZX62)irubC&8s=>lnw$&bn9WfaK#N+)(NT$XzH%D%p$xnNkS zQj)(#9tX>h=;0Ujq$~0fNd`ZL;s+^F%xDyQK%CB&WNb%L(iu;rynb)y;|}FeZ_A?5Gp;*r0&@-W1PjF@cke>#Mj#voL5>_-5vJg=4lqI~9(6^RB#?-8~$$ z)8ROXO;F*O-E%l*t8i3buqmTp!60r>1sYuwN%Kagc?eX?(s3ys4{toW8R>`T^!Ndc zo+Mt~!()}>f3B^ZT?UVnERK4D={#BB6n^;eGk$C9GM;skvTQ1;PV+smGR~i~p(d5} zK4V# z+;G_mz#GqvEoYZ>+X!&Jweo+2?#y@})#vx6Oe#v7)9mV|IVb0 zx#Do|Mb;r|P*G6&9|`-BNsbsKJYK9pbr~c_ZNam?eR(*I@GEX-Xhzq*(_-Z^OGPMa z;?a!Pz5IOoBk>=UMHV?caUtOuT&@%Q8_8B}?x^UqwkytHamuhE16dl7m$*zsB z`l!IZm!DrBnistsj+3C|ErhI1Y74>{aN~iQ^jJ~FnV3j9$yk}V zBy?FTQ+HFM>rtJ2JF!&(nO_(m!Y#4qO?#&2x{vtuzI#y0qRlR2S#+s?d?whYCxQYDYbx%#T zjx0lwtGI4Fx|5?s(YcDQGZ z|M9l+?BN3k4;(gl*pQLTvD0!uCpORJtBG2X?uY=N)f#JVIX%u2;nRus;8db~&Mf-o zZ1wI^`Gh%>#&fxI;22a^K6W`D6v>~CdQU9*gU6K(@;hx9|G*a4ehV(BCwN}ot^F%- zKQ6SJf5U~|M~XNVS?G`-rz$~;U8;N=j*%yMxRn(;3n_XQf5YU&oaf`F+#kXw{Y_v) zi1FKkM}z}ZT*|q_bK`j?4G2vtGU<_AhUW_0Ebu#l9|oC!R*=ii3vDhi>CFm;>w^rZ zR5C1qPLo~$bkpDMtML0*|fIrb;Ty#7hstmL_=OKOUCoJmzj9RzPaE;@`Txv zp#j!E+s5$ZJ`9g8=2B1eX8d?5Ra?UNJ>dB1wfy=VKi%J}KF6f*jO}H9`mJzY@5B7t z1z(@Txg(%6M7v8i7tErQu`_&E_8T}@7 zeW6K<;EggmGs5^Jsq5n2+4!BXUVgUrcZCew%j^3CmCNKf_Rc7@=95%jf}d+O36*0w^dDlBCAP?-C49z0M; z|Abdf`WT)ZMeeG}d7~&>O1&bH_Cv8)BK`8RM3KFMEnk?!{BOi>?+DBm`6B?w&{sb0 zQ;+T9e3RbG%XW{UG3Ctpq2%^*lb(S+Wz?L*oNJ_|ABp!KtYDpw2D06KX>-xU-hJsa z^m1PsThXTiQCG~pvo|oQXeRfYdj>&!PZR zLxj4!fT;?6h1rI350$r}T!nlikVDJL=2X;c75t_r?5wfPL0&(c+p*O*^=7Jua3Te& zB_S=6b@jh1`BV4_78j) z&(x6?^-@N;f6%K^j_>>$=t~^&vYls&W&fcALh;JkK;NPc&Z`#cJJi8colxJ?M?$rG zSn>z@M5x<@BJFdbo)yZkeSu%4nqC&})t7z@Rp1<_p;r}PS+7C8eB{U;(aSVXbC((? zv`ux7>UBcfLV*(mYJjQSO7|G#ZgDZZTVTF$-WGfq@RZ~uuCb7Dxf$*fyhiZXfTv_i za*jprcYPVYTYPMq|C`d|zs?BEjX%@rX0#DDH+N+ed zX3qeelYIhUnaG?8sL|!#{Wu}`t+&EHqwVj#3ym3V{{fuU)>O#wT)w1M~ zPSpl31m|TF*?$K7pX{j_dM2W-)+(;$U;5{`ff;S@4g3|8;cBD5t4nh( zBv%xC?!?+z#PIJSw)3TmH=xZZd<0i_%u;A*bue6Qd;rcP_K!2_Wo;wi zVUq@-zgW*ff9clx;1H%P0`vTw(6%2OuS+v@15>m(=p_c>O!eEUI^ zy2+dgyu17fsCQvL_sa%}eC4ZGOy;aM79m%~3D=ALQ+_iz8*FC*X7cX=aYKE$Ld6 zPUVN4_LQ|FXq@Y5dkC}ePP<9x1b%I2&Mi5-+qeVp@7jHUcT*e2{*AU%0e`eF2K>PG z82F=1=DQpW9}qai$@mpc&Yj?T0=2*C_yASH-kAYv6!+uaO z<)yo&)GgAw%oZ`ft*i#6E-K^P3#Av1m59AYdZE?9k@J&-Bj*x{v~Qh%28R$E_|YVZ zw~6!?I6j?wdA0F2@JH+&7$a|*nNh85cpteO11$4V&h#)AJi0hP9OixAyfpQ1NX63B zRjBF0G{t#WE6RC#={KOZSX5i7=F{m`i@GlC@fmcFMg2A$@Y!gmqNF}MJtovf=b*e| zpPhI=gk7ie=)6);F9~%mU0+(|!<}C#=Uq#szQH~h4JcF8=FpKoFYU0Xn?hrJS;Vh5 zv7`~X4iED;SyWcuUaZp3S(Ki4tS^V`6-x4w&}2}>7L|o^J{o9ICzj6i`KivLJOw9% znr~72@sA?}>0FEYV}6q_M2}h&6~ujc^oB)c`BwSzX?B&W@5ZW&eFgLo?(wQI((@#nM+P6pRLzi0AkDzeN*I(tGT6VoJOiL|lUBOmg8SS*FFDq^b^@c?a z_x#>hPPNsl+(V(KeG%GZQMqMr_y$n%0G0QI?_J+OT53^`7k}g%Ogk)!%I9O>?5t6e zcNKr>8%9ek>K@0Bz7e!jsEzr3!+W(OX}^{Cr$XI-B-sY4a=Cu5e}^i7&N$$u=38!Y7{A}7)mp{}8A?neJaddQ+ab+7VIC1VIn zu5sSs-=I$?k462#zs^6Mf);fS@@7!6MXg2N463xKN4zg+GpWX+p7U<>&!iC+b$8MA z{#i7}q8=)`8Po)e8c}$ce>P3CsQSX+fSN0m8n<((QRSfxP51@U^Mq=5{v&ULej>G7 z)a8XttyhxH8Q$~p!=z7H)Iv~m=?9Ct*1N%+N5k>xTv`k2BwDU0s_@=vo=p4sP)KHt z2mJHtpitL3=Y=2jpF-bQ)M??T{in)L++Z|1waP#H7mx#w*O~HG?(r|A9HA~IZ@ET| z^np zvZTi5xs2lPnXJF{+Mst)+}bXR+t)??kLv}ki<(xFNlhutpzMo7m4PnF58(M#syftn z7HUXS_TE(w_*c=VV%fEbti4*2ibu2XM!FnxNRoC~R9+=h(~ssn%sHsKC&p5 zY@<(vQj+cTWrk!s?W$MhShAg-5b9#*^Hn1Q7t#wBwY%zQP_J85dr3oJ4ZUqqmzPWi z^?^n0gLl``XBPEI$wvQL`bJUoQ(#WuBHBET>r=K|N;h?*?i5P3_EH+(&}G@BbgWRS z+&bcat&csytzAd^ zm*nNNMJOe?o^G@9SaLl*G`&l5Jv}UxlH5Q~3blrA)#e8_(C&=9E9f1o9Ba9PX3y%< zas{0rl+tn~Ewu7j@=AJVUYF#Rv`;7{c@_Obs5LZ4TO7EGzO*PC_COnH;z?XiNp7Us zLMab!B-{Khog2v%N=aT#IaVImel>k|N|)r-^iQFb(i9xTN>DsroPT;4cur^s@zTKJTA92O>wzxX^P9;MmI_AYR=v?yiu z1L-_2_h6dha*w1bF4sYOrFLcY6ZCP0WlzwTmSy+T=D-s)@pLY_24|eV4m?S-Eb0sG zmcUcA(4y|JB?3>=OBUrY6M^TccBv}&InGaBrdEp@XKoI>Ogk;g@7Nr8g{WCcJ`U>7 zw92AJIX4GhrL7kAE8KnUrt8j7lG9yx1$NUtLMdOrPCKo4M zr6g~%^4>8Q2VSQ;Eo!|(qc_N0&gGQk8`MjvHFT!7Iq(Mc&d7U{`dWFbwR;0^(#VXw zw`i=DcQx|fqB$9Pf1!m!sVM&o6`#rVsrl?L)JG^)`yToCT2eFL9$LGyOL7lgER>S` zD_v#f@pu4rPM73g8I?cWTZX#hilb3Mgdg>Cu0j4RK1K@RZfmh#ept+T2M;I*$d}BAdT-Nf2;Geo!at}1HZEX3$QkLoB zV_$_Db(~SKOt`44bq7oNgzA9Q-cZ2aQ@HZ~&%sa8BAu?3Qa#Hk-{4#q^`>x^%*1gb zB)xn%RDIgBX4MuACk$-E%3^NO0pKTCMCpVp@r3Z!7U{C9R||u2NiOxXN)=;OdL33Rgc|{c%;}8i;EUuF<%T#x(|)i}*~+ z2WZE~M2wdLx^V`i{gJ=K(ePn0QYA zn0U|b)0lIX@Ye|}rYyXVS4{o9v&m?cC zDX$nD_Qn)x(OJe_C1v1@uI#7JMqS6~^R2oj<;(%jb@_~j%9EjOU1cNSb(Kx}60v!S z*t|q+zFvF3>Jt5W?K+%Nu>3~7-ROt=*mmQT$c_3&Q$1vR%}=WnTf_Kc?Ppea@UGg zYsD&`VU(Y4Y!pj28ee*n#$Cp9uC;*PvdfHnjd1uXqeJ^Pa4q1ieQz=Dr5hu67`xG5 z4;z0p-pbo$bQt&NJ!=fn&nkbzsMm*t|7J|mUn~94*bU8J80%q4u5GvROrQvGYUC)} zB>mxD6KsDqp6qkHZIf8IN$lAq_S_(x8-#O%aBdUMZNj-tIPE$|?+$sowuAWT+75ZT zcEIQ#_}KQb@sFIZYzK^ILm%6A$n& zw?;18jGQBY^Emn=ZNbSvQ0iJocf*noq{hz#`fSdUx#kT0bI5Rf?$N#kzsdYTpbeun z*Y+jx8J5?=`OGRP_z%J_ws7WuDW_IH2;8QfUGkv0P21mhgGA9|rqB3O-g9P!#ug5c zQqRMmxwhegS7_B$pCFfQ9&K^@6}TMZ1>bGFSy}1WZ8TQRa8zhK?xtuw?#?ns_2$Sw zyQtYQ0Cz}BX$tPLU(hO0N~3-@);|O=>KJ0{jai7JZjGZJoE(~D8;w@ahU9FTFZIqB z%}Ye{Y;BFLLt7%+W^4bpf8>}iI+ttXOT5lj?TD-wFmLq9Dh7VA5|Ijz4RwA?=jP*t zTgL1vEc?%Ze_~dha{zu~k@1ziH|WLUd6yO`p5Sz8-&gWo!T6GsoCTt@RCE?VC+1<1 zDHWL+wh~XmxmIdlFOtKFYhN$5568dHHo-ZZzOP(LXBm%S-sop=Uvup_v`OQqBbzjS z8oJTQEqvd(N#kdt8@1-5e>o=^e{+BByaAf?UAKwmO&UKR-K6pO-68heCbewR`042; zji01$)IP#2w?i!40SlK>vv~C^fyni|pq*#o6N4{k?ZBJNjoL1E)U})Ls7$y%MvWJ` z4oZy&rM)|~!BtD~`|7`PU*~#MyQA`VuBRZ=;d)7AUJ@JD*}n9A>2m2KOTTyRHf&X< z`wjG3srw!2wE~@^-DeEWKi#+Y%WD)E_1s8<0zY3m~{68z6Nl1LDJn}?wK-M^yhPouuH>P!!} zrPX5t%*AV{;qZ3PZj`+jkViyN=XfsGIi7Ej+KY9L=NqK18>FrZeMP84Yt-ZT-TDC{ zKV0O8i{x4Q{=Vb9AKOM$O!6MI<>XHTKG`$ZJ6a^ii{yBbtkBO7y`XK>PVuyRr-(hX z#hym}C-?8Yw@K}{Nxip8y)Q`{@6z8XecJm+daNK|{*msfctJa049fY;tJ!a?_?LIS z=vg9gw{cQsAZxeu^=|!|z!6zK~B$a zY4$-Wdk|$Y+t^>litNOEaCNp5d$eBxR?rQA5!wbgSop(*Un~64!mp$4$Q@7j08SB^ z=^`^*Waf&@e34lqxl56&;|LcVy+0}qI0%p@r`aR%7bO7*C%I=j- zy8!)^tFcUtz##&U5O_48PJ6Z7URn6};qoBaTW84!1bz%yfp>6EDX7F7uAk#!8sq%| zlLZ5D+VZRHf%q5YT)~0(Qr!=T_rUgyDpmTe0 z94&^Pad@lkSJ~r5e}mLD33#mFIH{{q_>Cgjh<~rFxnQy2i>1_Job*3gutemWq-?Wj zjtguTe!Ixyxd6(p5qyo5U4ycp6s#4Qi=^x|QfjNnY!iH&g>%{4Mdp6t?-Kr#*prXT zeNy;O3*0aK_l5tyaNZYReJD6-++MrJ{tN(a4^|33Oz=9~lx+{ziA;m=X9<6y@D~cd zN%(Q$uLT^Jdy#O~Y3#9Ugnzqm?h?-Z!r3Jno&S1TM5CXl?F78`ro{WEzFvXp@)}ybUtX79m44l`6mT`3Ln325AKJ|=+J(VIUxK4BJ;lBWM^wN zJkMjunhn8AEy$d5!Rsx^oN7Yn}){KrCV!f!V@ zw%di@ZnB+gMB7%#P~KLN*(NgEL}r`F+$u7=AahjSE|KXF{ZER_e(=x9+b{eB!Z{$N z-WObRh(8@%mmzrAk)ZqY!Vb1G?BI5l3cplj$_1~3%#V3>B2zD%ddVFp_(Fk=78Gv_ z-X^f!g3RA4_%;hNXP4mn1(H*2bFvS^g4YRLD6manJ90nI*(UHdk?e4CukDvyai+XV7EFWZA1zCyaG;DF?6ekto`8%q6LZ@s`a z;j|0hA#lHN4v4%KD5Sd!>H=J9JpRqvak-6vpXaoLj~PSw+XU|r$^8MI8A^kkTM=aW zx*(UW7f!ptt-{$R_-%m2g&l$)5UAyH*;0Y^xm?%6T-MMC&fNvugmW9<_TVnzKLvbT z?gs+HA!%KROH}}F57rCbD6n1NHh~=i_lta8o>-X2rN#qp4>k(E1aMq#TOO}O?ZR0r zoNa=42z&}~dyw*3rZk_uU7yc-8U?n411}*L<3czc!r3pJ1H#b?Sl$MRv0uP?>V>mb zI9r9YO*kC_4+zu>xm2mZg@vrYQSdgw+XdeyutVVfLadDW`wQ2=lLv%DMG4xPPeshp zibR{h`XaWuQDBE~4hW>;1bv-P#VlW1%<}aD8;e=KUGQzd|4`5&_yK`hZyUC=0aTW|J!yWradc1Z4i;U5rO>%;P;0_*xnPxWD)jo@5buubp-0!vH8DuImx zI}|4@EedmPyTEP2=@9&Y;94omlnSgD*jOs^f^QSNL*M~$U=O~`xx1jfjAf3-cMH4e zN4!B_sEySoYEdnr9nj9uFVOGS@7JHxU(@&LpXi1$&^XyxZv4)8**IX>Y_n_&Y;oIV zwrg#-*nVq!&gQirX+O%m*L>Oh%KRP&p2s-OcHHdvjpJ3v=Z>k)rOxfn2b@z}`&o513fWP&+ zan`Qk3lf8JaN->R6~uly7vJ55D4X(dnp^;?5c_`qK7?p(DL=!yFT4w|KJPie+4(O6 zKI~_Bslb=KyMZ5F{3c*S;oE?p=5g+og#yFx0xzok2=MC))-z8^IkFC>@up&yyf}y9 zQAJ+?mI$87|F?^4nN`AYdLhHFM9)eo`)1Wo;CxYH1d09$87F>$gTMa3Z#UpSJfX8% z?Zn-R4g4v9IyuA}PCy-Aa6ktCS|#wI9o(Jgo2IeS~y%bQ#`z%KTzYI{vdnm^MUk_MJov583gjB*hn^q2J z0`Eg^;C;voJWOHWVJZV&N_~Ns;`dc6abGk5co_`@UQR=Sm(y_I6;unnf<^(yH&wv< z(sS1N>;(2Yd{@2Yd{D0K5ji7!U6+!oLc6oA$64(2vk3>nrr{^(>>- zs53maCfj+oowg3!8TL!&%)H3F&fIFgZvM@D&(s{njzx~k z9oIOXa@d@?&RXX>=he=)ojI;D*D%*c*PX71T`#)w-PP{d?wj17yT5T?=egOl$Mde| z3s0qYpm(u%x%X=C_1 zD6cL1I&>hBA+gLD|Gm^h*%~~bJ5(-?r-6sou?J5JyYtp%Uymod-FfF^Pvj}%5S#zm zgB<_!#D~hw?V;>sJVQQI?nlp|ymi^{;@SP7?HG?IZN8=iUT>dMd6Y$iOV3SHqthCBXBUV~xr4z06cq^S| zr3< zOy}wIXb-Lra8($)aq{_Z>NLKlBW&N|nn&|&ns%nmp{)ge6|Ng_-D%6x9_u7^DL>K}SGYA;iVHo}XOKwRs*Z|e_xza}H= zpgu5b4%OkBl2wfM&7p^~_G&NU@@MbWDsa`{nun_;n|)8C$BbOCVEBR|gK6}nmgd&x z#^ufDH;rwKH!mI+J@d@QmL>5qi&6qhn&T^$H=Z}b6j-Ad9$O_ zT9-D(@M(He zQw;rYcJ@$uc&hY}BN&?!ZCt`_Qq-YU^~@d7lT}Cd#2m@Y@zHZymZO?uo0m7K_M<-V z>z6FCyvhcEF|+B+D0@UaZSf{FwRUGLZH!NEik;aUk2gnKETO||fQLn4tqO^aIA50>-1Rk^jK3oE}ac_gJRdm7B6i+ThtB#mwlPhpWuv% z!?TatMJrD` zttn;^%48b7czH7-)M74gj;B!8YH=lKf2O-oLpoA^(QOdyu{SdK>PH&7MuO!gBrByU zJS=8MkBdiJQhhdL*g}+tYtL?qNoR7VjG5ucn7VTL^2SBWn}AMgXjyq?Q_P}NU#yHZ zEt%aIUsiukV{@yOGabC<#f`08MtsTw!0Q*cBC1%?%%;XA(^{6FH!iw-c~gpuNL(c0wu`8RGtBkZ}saj-H2DV1ITcfRw z%g3JA+7xGJaFBp`8V@6dX2vISqKnS3GMZaXi(07YIBC*!?nwzn2rh4KN#m!bm@6_y z7-V{kA@DIBj6Z(d(#DpSrsW&}U~%&}LGTQvV^_8;UO3e1)0Ha_6hmop(|OVp(;J&( zASaD)mi}yvod+uAZ`PpZ{$c;kzYu6Tm)kc4m^hbHDg58cB7aF^YayDXv9z()Sc6)4=4ikY#EF%CLQYfF1z{zU zrgIlJt>Dqe#t%8-7i&iLIIO0vO~;RiptALsOAKFt{3X^x#5I6ywo=P=;G`oHczOr{ zN7N~sr!==L8++bVo}*zra#YBKO zj{Gmmk&iB)g^dcg2UIstf`+FsA6c2Prsa*TShG@5WU;wMh_VBiQ=1OPlwNSeUr2u; zB#=91WXfjmgB*#aWti*&v_~D)@;}=YwHhaOb)8Qjep*b_Bh}h!BmO1gJ@yAnh9AM7W$y2ADI2F>zPNP}p#W4{NoHQ+6c+RYbnJJkC z4Krs>o0-m<-Z1m{Nwa26nl^P79bZ3g!L(U);-snLr=2*9W=loWX3eE3lcvs@OK0;U zzF+~3$4o#x9iX*~Q?+%iH}QcJnp&D-&5Mc0lnf?1Y+5AVEk@&NUqvUznp-V&7D~$Q z)hgH&KZIe8g^b0R5ayZWp+ngkbLsh4Y3_N8YuTK!=_Mto3e9Sbu22~2R0tM;#Wec= zY47}F}Xal5x3sk5B*r)^8XoV_(jU+${lt2VDMGaI%0;E6-I6#9c zfC@-|r0(Z??!EJ7c9x{w^q&Uha^~G1=bn4+Ip>~p?tS;YdAP=W>c#4#KtBB_kiQLp zjQ;6LLj!adcWOQn#J#$y`NCVI7JSMz8>i2ok+UbYbaly6gsv`>)~YU)lDgOk!KwuZ zRadE2Z^-q9Y|8@N!IFN10jQ4ML(w4sB5hI3l}5XAvu0%DT~+LRR%qn&>f97@ zxlv^xYPbWBt7n_7?Mg@a&qhLDymjNoOO^FoaQke%wna_a^=RFdc4ebBS{yiTMtKC^ z>fTQ6;2O`pgX=0gJ3e+C?akcrNH-o?Tkc`BiLV?jC-SZ}Y!x$t&&Q#oO_usja-_+b zT6?`!_a1bl606c|jiS5Id_YCuX?wIuUmb|5UTwBm5RY_*xVIEsg1|KNfb#Q|yCcBMUr@MhO6XH7(&LU#pLr<^#LsxYuypCV)4j}+ek-mxu~3b6 zGtCYyM`au%vh{#Sn(t$Nw{4-ntnoTb!TPZ^uwDxmbGgy(R2pP8sqttv_xI{MVeM#H zAu{cDnmj(We4h0t3U8#x^vj*j&gHNyjAiGV8!@@mYQ>~yL(FXlT)T#maj=Z3p-cqQ z^sv;ZE;nvBZ`IsOH3GAc_VabIQC-}sZ!}gVMlnGJ)v90GG^2b$5!YRcujP^q-p`_u z6&QYOSLiP9Hahj~nkK22ggQ`85o9P?!8ibF7KNdTg-%OfOUQx`F7Vy(+R=q|`fAgl z`wo3U9MF0m6-sBx^FLYL=HsgXUO% z9R;w2I_kHGhRQUcpXmhiWk}Dm&h5je=F3_PWOvNo8z9{D6=~dRm>Q8zY<$Zy#3Hp- zL=i_7Boo+9ROqmY81W0WJK#dGo7-!;E}QdS=_nSjuo*(pilT^tJi4D&dUDQJ8fbQF zfd#f&)a8F}GG8=qsep&F+y>mcRB1slFjjJkS1akLnYg*KiCVi?*=?)Eskm^V z)Av}A4u5GVv?X7AhGFZ$m#-QNRs)%f*Q`;dZYVK}qrj@Ie z7BV_33EgS7Zlx8m)ys9p+(^rrliuy6MUf=Q@M^84X*pWC%&vkW2r4UE4}^*q$KX;V zp3zo#nHA7oOSRMbNCA3P-Cggb6_K^z)mB+r5nBjzrLmV*gsEfYo%&jx70y8I(%ss+ zB(HrH(-X6#mU_9;_8Ik6VS(&(%m<%fV)?{vEg%MbNHlZ7rQm(EkLuVaUB|&P(_~Ip zwVR{Wob&sGmLzD1%K~?HtFmF6TAqbwN<-4m$B@Cjhm_`KKU6X^l;-wF(^_AJB?kr_ ze}NfPBESWvEd;r$W{sKZmm_Yqxw6@8b!4Q{5_{DvRWH}>hQgKIwYD#*Kh7N0Y%R1G@O}gn%L?Dm&vfhY-`X>Kzqjo8zEqi&$Yvths$8(gdQ#%{e;TdZ!=u-^999a9Kak9|Yv zd=bmYv`9RG|K3tYl~}$w7`Zr;ZF)0Ak;*_0{)M|FPFu(t;?U?K(m3^O71-PnXHk*% zLMR_FyRKSmBN2~E1o~x)jXESNwzb+vUAq}J&$S7gDzxWQv&|hgh{CSH&~~$RDJ@Zi zchMFzPBE`$CY}}OP^jMfiy=do<}9vicFs0;8`ZRQF|0SxKj$pl556pS z26bNN=Ea`nR<>%j9Y;78X9YrBZSF+zEA*1|VxGwH4HqLfwy)jJ8ebT9Bb0^3X=Z0j zbYm4Xz8bZRIVAlYvz?2Ux40OyY6$E6O_vAUiy=ho+_Bd^syG%8@S-|YA&t6thkZl0tl-}H^|2)fR>lMQmD<+LfvhEkB-l91?+TN5 z`a^3uN=*gj&cZz|xuTd98o$5l%{A&TtL>z%l=%J0mg&yoF1OBn(zYaQrudYwuokUt z5O|^@+R3omgUYm-Gziycsu~GV*zqs~G0mEf+JQTB8besnqUv^2@ODM11*tyYc4>E7 za!OIT&(td$jVAVSz1?4Xgo)ht)5Fi|b{LvJPQc#VfyWF&AQpf``N+nL;TbI*(#8eT zH!ZFDbUwh`$6>^3nGLN>BssZ*ui#gb34;-HNnWY&+S@^YsQ1VcW$! zLba;h=XB{UPZ90Q7>~@V&#dW|UF6jYp*-Qp-ookD-cE-T0+pT3y@gAy`ZnXf4P0D2 zD70>4Y*{J!N#724kMSLCXYo_Oc;I|O|;o|*FJ*o{VGIg?=vtyWMFjWW>$2|DHh2R zooTMyMr16zOwdN06SLAFqTp7ai_xnsylfuI4e}>r7H?%dWq!-`EK^)LnmN>R0Mv`o-N>o1FcO25ai*tyD;g z=8)`%Cfv{Um|m?nm_Qpve6_aby-~kJTun=j=@t{7 ztKIB)ixZr5AQMju7gYVUgddL_6a)6Ni9`}CQYOuV6< zOaaamt=(0WrcAJgZiV$Y%fKC70v8rwV49IYtzg~zJ(&z*J-f6Sgw|lq zU14Wo>CUrZae+{;Z`_o|6|m)q>rfErw<68`TQ>05BbU_@%zC(rOWZ9m#nDxHqR(BQ zT5VP8o$3(=5%J0Rtv5Jt`1OTPQ|;UWloE>_-pd%*JWR#{uNHXyYch({RR78 z)%VXXa8C9N=hZuWp5wH84ceQWL~qfn()2nnn2VG#|Lps@(7V-sY_v9|!61%5x{pho z&VNOHjsH#PcG*>aj%USaYVlo%dmC_ThbOOhNhx0@-GpY|zXGjgTIsLM$^I?s#qSQM zdg1Pq;*{VH!qRr``C;lV4fG-EPt$svzX}+uo*%g?FkAc(!^2xHagyKDVO;q1>&WIR zp9`ElxDI7$eHopQ%(f|&c5KnE%yS0rwBR=ByUlftQsFC;+eJEFK5bg;8a;c|tb>QU z0*t)|wPnsuJNiBC&Ld;t8XnC9`(6BL`%PsLdY#;af-NNG=2jR%)7_!>e%X9Xl{s;} zKEz>OZ#r)69*=SxmOB!glZ4xhG3o_@~=VgSH4gft{g`QaEp5zb# z`3A6FQ-*tVA0332TpD2BW_;I~-|9tgS&wFtoEgj_XRbX3C7U}XDu4m`nV}mVT zH;b_+{5ffEl^?0~SC4rRM;Sge>9J$nm2T`AZ)&DZ!a4}e*jFN^v=@yj?O(Eg-8d|3 zAn1$6n>|j(cfh8xK8Mz6+-=W=NsW9P9PSmLYLb=?@9%$*8;_*)Xv8XdWJ8T3lO87{ z;kSmR2a;ojI!RvhaA#r3|w%F zWu8J534T}-sYW*8mgeTLC2`$#7UsLkg!XwOq`m_ zsCkpJ5YRp6UIq5c{O$4B!YOcg6_+^|Gt}}qh#MT(i7>DeePbg7bqVNbT-(s#9ZP0f z200kKj}F3|rw2`h4eP@_=IN99l3V&Es5S?9C{AO~BKLWTX~%?CH}=WA3-TbbE#TDl zwf{t!5qY&#t1T1!el-*QE{g%pGKI1{bu(Ayu@O1k_&4`+nUOM_#nI=WJHo`Po0YNg zz2cT1lekqPPRrB=SASHpy2+n-zC!7jNx7e2?N7`UN10mn(_rMh?5jVbXc(Y=>CAz> zXo5c&&mAyHb0Qx1^jXs0p`;30vyef$wr;(aITK zTF(eR3Y>Uo)~H$QcoMvIJM176C+O5+vmD78U))4A6V>P2I!LBA%q4A1an z(@5fUjJ>zft;@j5xk{64w38Ret6%q+=f50keSjzKvB5b|#+C0;3;f(U;MRcl23H#5 z<}@_uNg%WZ(!00{vS+p_xC7g+HG#CTn;cI`jQOYEWV+V}!=N66I!wzzo zU$RH;&}nE)LmxMN1$zB_XT3HeqfX$2`1n~`rh25&zewrpw5jpf<1V9AswxL}e7F~x zW$|u5-%UE7-VZw{^=L(SQ9jreuqgm^KfAw8oO6QPHA%ST!4PSM(u0GmsKMTntq*ah z?DgmKgP0DIV8pRsLqmIPlEOT>6>s;kNl-T&IR2y**31d}8D#u}x?xNYr*NeGWSI~^ zl5~?X5O9?%NSZU1Ht%F(#FvJ77KQAoeYk_vHGflgD+$O)X(mYT1wYJHqdNBr9AP0e zeU)B9sP!4mLO*vk+Z6K4KD9jV`GfeO5oo^d$NCJC za@~LAqkxZ5t?40Rw3-_=HXd$xcrjw|?pZ_+$1#tNWG%vpp4DOAWz%94no#;AzYr^|juWQ+TijU;s)ln-q@v3ZLPO3O} zz%7cRBxK-x{;XP^1;zx>3p|EzU;W~`ja z7(ZIN;!)1IV(w60EoS&3`N?D|8BZnzb2y)!%J5TaN+u*j=?qC;A)wM(lCwTJNs^yq zQ|S~*e)CPqagzEJCZXvVkKGnun=UhGyE*ijm4-8pz5@McDg7mWaF_+0?^;O8S-SY9=?0liveamFTm3|6^q(E2Q zA0(8eOU&t1FKd{lhm5-p~<)n~DEa*k|t!W#>@7Rzh8O`rlW0eY#7%|yLsfGyN z=^Gl1qPz|LS0jt=kHgdMujX=DXm}^Fp5I{z1zr)1rG`^(7$ubM)iC-Re15x|3X1E{}B0EBUkign}L4rX^ zbGcIYeyRIklBC%EZ^hS8bH-O>e5k_@5%2uCO}%;Ed6fVLFmMRC_*$+kB`>}U%|B&5%jbx8}otFI@{PxRx9-7vk9znPz;sR?Ow+3o^u|Yo%*g z>?Ao1r$lL=S!Sn8*JQ*nrVP4t@90b}kHI&~P$<~kF5a7ml5LFY$!RqY>Dk<51jLwr z1QSMIp)Oo_VZlJ*V+Vp1Phv&pGR544tlwUybfmOX{0d4b;U1x5oKxwDxt2W`0Lg-x zI+-MLhlh`4rl$JsB+PtXZEyikOvq&(b2hGSZ<=?L6uVz9bwG`XNTO7}AUB@JF&g6T zo29z|%t~3+G5LEZV75>D*MFse%RhbEqwL-zD`I zq(IT-qCfD9L}hucj;w6)-t%J{zNcOI2ownwiLb;Be} z3uNgJi$JRi9eq3}A1(^J9~Qg+6E6fnkI)LRzl3MdG+iDm)#u0aaOqum29#Or?uU8t z=|h^Jz1<&XrVf?yRxl(Vfqf1oHe~Wk9;*>bCnhy@W_(iuWJhz;qKJ-7EZwh(wy&Gv z884VuxVMZ4n3XA)w#zHX()MOG7p%%+m)@ip0KlZx@r%iT6q1}9ldr}VWlHtD4dLsh z?$`VfX7J`y(QeZ3S3)`FjdHgeKFkc9E*V;0%<)wmX-XGTT z_ff7lGB_nHv#HGo#ok`A_Z6=~vC#)`okIKGQ(U;j}Et`Opc>!zwdkxXP2x>=Y4%D)>buW8!%LjVdjJ&$Nn^6Qhb`nJRr z*5A_Cn{rI%F_VcI0lg(O@*&E+n@rgCL!psZ2$evVdgGuAHeK1-WMaDC!F`n+1x0V( zJfGrsm{DM2(wlKXs5IRm{T~S0{Odm_SD*G|8Wb#}LBaaRFaX&7uAomT^{<5k3pW)8 z(K{7Kb6*V@YC&NC$;^QkC-o#vstQXe3<~h*_!rd~I;l2)Dg;t!W&T(L*&CNuDOAji zTRbU=Vo(^3QaK-D7V=htlu^3U5vG7bBjSamz|x21DWPmKfx|rJ3OTK&C>CU0Wkl1c zj>o6Cqx&1B?msQ?8b5DAiDkOKmB(9lzg_D7_9Uo12W^F$%n;J}Am~2PGOK5%9+-2BzSCKL@E;yo!Lcydy!w(n$?w7bz(4A1lVie*GIaKF)16Dz+Nfz0K z0%XG1$C0y7JxwO0D8qA6`?S9(;5H7Y^k?gI#=qQ59BXTDhy!F*zFxEqsYrXEdaIx&|BZU z&INkvL{E7wGN?;fnmiknET@EYHIJ@lpLGR3$@sI1e@Q)&&s#N&35iWgvy*D%tG+8N+-HjO^R55Fy3SX$N7j~u1?J< z-RExqt%Z{yC>%K(AKK#pmtJLN&y1EbZg%L%qT?lxZrq;cbG+%%<(^+SsXt$C8Mb&c zyfD%o&$wrX+H!DJNA-?>cH~uO4}sNjL*LF`@x)!L7c=hEFy3&MbmaKl@dMrvB;sJm zFJ#m;6iE!v-n>`oB zDZQaL>>MOEPlisW+aq9JY&sOEqun}!tU@yzlkE zQHP_v;koAly*rQ!M(|3;o&7(<2w4u@-s4!rdsK6rARchVgH30}wI z{_msJD_mSH<9_j{qjvbsiM;0U;pFQ*Fm9T|j#$(rgMGkm`hS=^Y#D`S;Velul**FC zBvk={y`(j!g$z4MV8A~ieJ10+%I&5Eqdm)M*5)01w44XpD41Ms@VI(iuSEgu+>u9v zh2Ast9+TG7z}Mk{w37TVRlnrpN|*cDp~R5^IOlk4LF>%c)_FbkxUKhE)M^WQz*GNz z{4_ZBcQb_R|J_W+2F8zIc8AAcUWE6&j+P7VWjg}# zQvG|%TCLhWO&tx<9p8A|#sJ)R$6f|$2AXu|)8Eq^#q^ZHoMhbo?*(o~!vhXp6lm+0 zbGo0};C6Vt=`H+&hgbF;;BsfIZS3m-$6p?S<0R1#)-jBH-&ttdKF@)lll_mQ&l2$B zknRe%xat;vO7Vl~?H@|x9l!}VbVO*wT5I$>j9c8>;J^VV_-tyOv%W5da&cCDMOu}! zgFg@9QQD{H^CfUKIU1k?Bb@=NAI|5Kyx&;w7$0oApHnHH9PcO=PZ!Y^-Ot`e(*Drf dgWHJ5e;xj1c-OsiFP!@8FqZ#6hM$%L{~KI?(}Dm1 literal 63488 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 z z>V6vArZ7&t9_1>D-<#3|h0%b}MzWIUj0L0=V(C7~tWBklx=f)0FeW7kW`s6}t+&wZ zI0Mr>yKS>8k55srW5y)Sw>)u6sLOk`wNm*WOedOwe)S*&RXWj#Ab{N)oXH$oREvrZkKvC#!+vVQ%xb63jYsBJ=Xd^^?AIEA~P_lf+3d1af zn?GPKW1h#mpGl2PWOFvYLU*drc~^jlMuL~@ck^LlQ;WRiBxFFkQ{HHFr;wU8vBuJY zdnNmf%(w}^X`>o-?uXW$`@VJOe%xA7(7V|pN++nGcJFHJmDHGL!I&882UqC4SJ)j5 z#w?#thV`C=U%2^8ObW50&rsVGpml7wjmC<1v$x~0=(Z1gl6?Lb9^^q!q(YpvHbmg}MD}rlcyCeu(L50gCXle`*DC8Ly#`s5f%zKC6=8IqZ&6x3?P6*Hi_tIT-!OI$4Qr$B)} zBCsl7_N88#;20F|xGAP`j3`}LN!wV4&3+8`bo7J5ZY-$}CbI?a=O*$D8tq4Sl1ZYB z*C$!duD99v3TYsoBp=&+wKeyU4~V;NV9s{sD3Kt`07Bm`G9176rflB5ujdQ0gwojV z@ObwtGu`tcjI@!z9CIeq*+ka588}|5rmJ6Pff#Cd)LCTt~Pv%ZU|vYw!58{QnyNXVN2Sigwc@Psz?k@_~P( zk3UwsRidwO-BR`0^vDq2&WB4h`^`{!gRAEMUQ2jS98r|Pa+e43BWKPOi?IsY1wo;og_8p?lyov)}+JFrALma11YH5{i!liZ)JY2fqW$+ol@kQ%2;?S zd1A*HiBee~@#b?@f{anQ!sAQ`g^GkT={yUw5ghsnm(OaEM_wQml@ZmWF&>dZq0ZL} zo!{oo^hw0m`9_YZ()m`Q^G`>?>Dgur>NMe9K2M<;cj9)z-OnE;^ztF%eU+uP;X!}n z&yEQa`U;(&JswNfoWL_)$sTk zvR&e@xN9Ro#!*GT;Lr*51FG+P%6zra>j%mr zt@D1in0mVNLv+PoS*a6bA`%rAcG=%RPL_GfJL1ULt{E0{wNQ?Wwt7Wd2Hg1>?T1Ds zXIrWCy!r&gAR-XqRsmDUplQ7igdpC5l-=QLf=@w zlKxxQI3Bv#_q2c>k$a<=0xoMa=X}b2WO8wKMNc7e66)8k`X}5zbLaWVGa$%6-g|hC z^H+K^nLVpnNVy{eM-H7EoDNHrU$>sLVfctx(Acp zhhg@hH&UcvN9qU2ZeP=Q;A%G2d(q(kLEGoJ)0lEI z2aY-%Jr0jj_vzk&R4{^9__EUfJxu;^cK?X3@@0C1xa{n@Oj6%_6XNG$PV$ z#z~+80((booE9?t0>KVHLdw?=eVOxMX`Iv%4&T<_ut(Z?u8xAyxf+kjSM*{P!1PAw zM}dXjQ%Uc9_g9Z7^*8u)bTI3FoKIl>v(m*q03rKFeQ?h4Dul*NwYs3^F1Pi5j3}Da zBc}TKtB-?YZ#MzU-_%RW7{V8%b_O|M&X@P%?k^YICI0nIWIvYzhM%9OF{F++!n!p+ zXE}_s%w60i&abXo>*t5V|K)#reT(JmuP<3G3kR-!XsvXH&lFg7EG0g&Gsk^j z-I3PM$E?)~wK@vav^(p)!!8E#_V6W;rl3hj8T`HJ{g^&xFlQLI|2@Y|e|W$Flss+y zqIbvo*kwfFm;v?utK9{w_Xk@V)XiAixUUBs$aw^gGlYjP!(x$c6=y$l^F79n|u!GZyHYMk+ zucc5f&Z@7NR^{xd)kAoc^y&G08C-QvEa+fPtB>l3^Z5+#gig^*f7`vBO8De>r?YrE l1s`>eV;f2PgMSZhBOd?1@WZzNGK>#6?)?9M{^oJue*tusJRJZ4 diff --git a/BUILDS/net6.0/Plugins/Commands/MusicCommands.dll b/BUILDS/net6.0/Plugins/Commands/MusicCommands.dll index b690a8c723d19e303dafec528429b3061ca85c7f..729722c56b94d146dec23bf174d76efc07f0c9b6 100644 GIT binary patch literal 17920 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 odYZsW=Pb%P*SRD1PLuBP-6a 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 + + + + diff --git a/MusicCommands/Play.cs b/MusicCommands/Play.cs index 0e9b181..eb6d73d 100644 --- a/MusicCommands/Play.cs +++ b/MusicCommands/Play.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using System.IO; +using System.Threading.Tasks; using Discord; using Discord.Audio; using Discord.Commands; @@ -12,11 +13,11 @@ namespace MusicCommands; internal class Play : DBCommand { - public string Command => "fplay"; + public string Command => "play"; public string Description => "Play music from a file"; - public string Usage => "fplay [name]"; + public string Usage => "fplay [name/url]"; public bool canUseDM => false; @@ -26,14 +27,42 @@ internal class Play : DBCommand public async void Execute(SocketCommandContext context, SocketMessage message, DiscordSocketClient client, bool isDM) { - var path = "./Music"; - var FileName = Functions.GetArguments(message).ToArray().MergeStrings(0); - path += "/" + FileName + ".ogg"; - if (!File.Exists(path)) - { - Console.WriteLine("Unknown path " + path); + Directory.CreateDirectory("Music"); + var path = "./Music/"; + string[] splitted = message.Content.Split(' '); + if (splitted.Length < 2) return; + do + { + if (splitted.Length == 2) + { + if (!splitted[1].Contains("youtube.com")) + { + await context.Channel.SendMessageAsync("Invalid link"); + return; + } + + string url = splitted[1]; + path += $"{Functions.CreateMD5(url)}"; + if (File.Exists(path)) + break; + //await context.Channel.SendMessageAsync("Searching for " + url); + await GetMusicAudio(url, path); + //await context.Channel.SendMessageAsync("Playing: " + url); + } + else + { + string searchString = Functions.MergeStrings(splitted, 1); + path += $"{Functions.CreateMD5(searchString)}"; + + if (File.Exists(path)) + break; + await context.Channel.SendMessageAsync("Searching for " + searchString); + await GetMusicAudio(searchString, path); + await context.Channel.SendMessageAsync("Playing: " + searchString); + } } + while (false); Data.voiceChannel = (context.User as IGuildUser)?.VoiceChannel; @@ -59,4 +88,16 @@ internal class Play : DBCommand { return Process.Start(new ProcessStartInfo { FileName = "ffmpeg", Arguments = $"-hide_banner -loglevel panic -i \"{path}\" -ac 2 -f s16le -ar 48000 pipe:1", UseShellExecute = false, RedirectStandardOutput = true }); } + + private async Task GetMusicAudio(string url, string location) + { + Process proc = new Process(); + proc.StartInfo.FileName = "MusicDownloader.exe"; + proc.StartInfo.Arguments = $"{url},{location}"; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = true; + + proc.Start(); + await proc.WaitForExitAsync(); + } } diff --git a/MusicCommands/lplay.cs b/MusicCommands/lplay.cs deleted file mode 100644 index 6adb117..0000000 --- a/MusicCommands/lplay.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Discord; -using Discord.Audio; -using Discord.Commands; -using Discord.WebSocket; -using PluginManager.Interfaces; - -namespace MusicCommands; - -internal class lplay : DBCommand -{ - public string Command => "lplay"; - - public string Description => "Play music from a link"; - - public string Usage => "lplay [url]"; - - public bool canUseDM => false; - - public bool canUseServer => false; - - public bool requireAdmin => false; - - public async void Execute(SocketCommandContext context, SocketMessage message, DiscordSocketClient client, bool isDM) - { - var URL = message.Content.Split(' ')[1]; - if (!URL.EndsWith(".mp3") && !URL.EndsWith(".wav") && !URL.EndsWith(".flac") && !URL.EndsWith(".ogg")) - { - await message.Channel.SendMessageAsync("Invalid URL"); - return; - } - - Data.voiceChannel = (context.User as IGuildUser)?.VoiceChannel; - if (Data.voiceChannel == null) - { - await context.Channel.SendMessageAsync("User must be in a voice channel, or a voice channel must be passed as an argument."); - return; - } - - Data.audioClient = await Data.voiceChannel.ConnectAsync(); - - using (var discord = Data.audioClient.CreatePCMStream(AudioApplication.Mixed)) - { - await message.Channel.SendMessageAsync("Loading..."); - - Data.CurrentlyRunning = new MusicPlayer(discord); - await Data.CurrentlyRunning.StartSendAudioFromLink(URL); - } - } -} diff --git a/PluginManager/Items/ConsoleCommandsHandler.cs b/PluginManager/Items/ConsoleCommandsHandler.cs index 9e22455..48d5bde 100644 --- a/PluginManager/Items/ConsoleCommandsHandler.cs +++ b/PluginManager/Items/ConsoleCommandsHandler.cs @@ -22,7 +22,7 @@ public class ConsoleCommandsHandler { this.client = client; InitializeBasicCommands(); - Console.WriteLine("Initialized console command handler !"); + //Console.WriteLine("Initialized console command handler !"); } private void InitializeBasicCommands() @@ -128,9 +128,10 @@ public class ConsoleCommandsHandler string path; if (info[0] == "Command" || info[0] == "Event") - path = "./Data/Plugins/" + info[0] + "s/" + name + ".dll"; + path = "./Data/Plugins/" + info[0] + "s/" + name + "." + (info[0] == "Command" ? PluginLoader.pluginCMDExtension : PluginLoader.pluginEVEExtension); else path = $"./{info[1].Split('/')[info[1].Split('/').Length - 1]}"; + //Console.WriteLine("Downloading: " + path + " [" + info[1] + "]"); await ServerCom.DownloadFileAsync(info[1], path); if (info[0] == "Command" || info[0] == "Event") if (info[0] == "Event") @@ -156,27 +157,32 @@ public class ConsoleCommandsHandler await ServerCom.DownloadFileAsync(split[0], "./" + split[1]); Console.WriteLine(); - if (split[0].EndsWith(".zip")) + if (split[0].EndsWith(".zip") || split[0].EndsWith(".pak") || split[0].EndsWith(".pkg")) { Console.WriteLine($"Extracting {split[1]}"); - var proc = 0d; + var proc = 0f; var isExtracting = true; - var bar = new Console_Utilities.ProgressBar { Max = 100, Color = ConsoleColor.Green }; + var bar = new Console_Utilities.ProgressBar { Max = 100f, Color = ConsoleColor.Green }; - IProgress extractProgress = new Progress(value => { proc = value; }); + IProgress extractProgress = new Progress(value => + { + proc = value; + } + ); new Thread(new Task(() => { while (isExtracting) { - bar.Update((int)proc); - if (proc >= 99.9f) break; + bar.Update(proc); + if (proc >= 99.9f) + isExtracting = false; Thread.Sleep(500); } } ).Start ).Start(); - await Functions.ExtractArchive("./" + split[1], "./", extractProgress); - bar.Update(100); + await Functions.ExtractArchive("./" + split[1], "./", extractProgress, UnzipProgressType.PercentageFromTotalSize); + bar.Update(100f); isExtracting = false; await Task.Delay(1000); bar.Update(100); diff --git a/PluginManager/Others/Console Utilities.cs b/PluginManager/Others/Console Utilities.cs index 00dc30a..a3de752 100644 --- a/PluginManager/Others/Console Utilities.cs +++ b/PluginManager/Others/Console Utilities.cs @@ -10,12 +10,12 @@ namespace PluginManager.Others /// public class ProgressBar { - public int Max { get; init; } + public float Max { get; init; } public ConsoleColor Color { get; init; } public bool NoColor { get; init; } - public void Update(int progress, double speed = -1, string? unit = null) + public void Update(float progress, double speed = -1, string? unit = null) { Console.CursorLeft = 0; Console.Write("["); @@ -146,6 +146,9 @@ namespace PluginManager.Others Console.Write(m + " "); } + + Console.CursorLeft--; + if (appendNewLine) Console.Write('\n'); diff --git a/PluginManager/Others/Enums.cs b/PluginManager/Others/Enums.cs index c516802..6ace192 100644 --- a/PluginManager/Others/Enums.cs +++ b/PluginManager/Others/Enums.cs @@ -26,4 +26,6 @@ public enum OutputLogLevel { NONE, INFO, WARNING, ERROR, CRITICAL } /// /// Plugin Type /// -public enum PluginType { Command, Event, Unknown } \ No newline at end of file +public enum PluginType { Command, Event, Unknown } + +public enum UnzipProgressType { PercentageFromNumberOfFiles, PercentageFromTotalSize } \ No newline at end of file diff --git a/PluginManager/Others/Functions.cs b/PluginManager/Others/Functions.cs index 38bba1d..d88caf3 100644 --- a/PluginManager/Others/Functions.cs +++ b/PluginManager/Others/Functions.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using System.Linq; using System.Collections.Generic; +using System.Security.Cryptography; using Discord.WebSocket; using PluginManager.Items; using System.Threading; @@ -169,33 +170,69 @@ namespace PluginManager.Others /// /// The zip location /// The target location + /// The progress that is updated as a file is processed + /// The type of progress /// - public static async Task ExtractArchive(string zip, string folder, IProgress progress) + public static async Task ExtractArchive(string zip, string folder, IProgress progress, UnzipProgressType type) { if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); using (ZipArchive archive = ZipFile.OpenRead(zip)) { - int totalZIPFiles = archive.Entries.Count(); - int currentZIPFile = 0; - foreach (ZipArchiveEntry entry in archive.Entries) + if (type == UnzipProgressType.PercentageFromNumberOfFiles) { - if (entry.FullName.EndsWith("/")) - Directory.CreateDirectory(Path.Combine(folder, entry.FullName)); + int totalZIPFiles = archive.Entries.Count(); + int currentZIPFile = 0; + foreach (ZipArchiveEntry entry in archive.Entries) + { + if (entry.FullName.EndsWith("/")) + Directory.CreateDirectory(Path.Combine(folder, entry.FullName)); + + else + try + { + entry.ExtractToFile(Path.Combine(folder, entry.FullName), true); + } + catch (Exception ex) + { + Console.WriteLine($"Failed to extract {entry.Name}. Exception: {ex.Message}"); + } + + currentZIPFile++; + await Task.Delay(10); + progress.Report((float)currentZIPFile / totalZIPFiles * 100); + } + } + else if (type == UnzipProgressType.PercentageFromTotalSize) + { + ulong zipSize = 0; + + foreach (ZipArchiveEntry entry in archive.Entries) + zipSize += (ulong)entry.CompressedLength; + + ulong currentSize = 0; + foreach (ZipArchiveEntry entry in archive.Entries) + { + if (entry.FullName.EndsWith("/")) + { + Directory.CreateDirectory(Path.Combine(folder, entry.FullName)); + continue; + } - else try { entry.ExtractToFile(Path.Combine(folder, entry.FullName), true); + currentSize += (ulong)entry.CompressedLength; } - catch + catch (Exception ex) { + Console.WriteLine($"Failed to extract {entry.Name}. Exception: {ex.Message}"); } - currentZIPFile++; - await Task.Delay(10); - progress.Report((float)currentZIPFile / totalZIPFiles * 100); + await Task.Delay(10); + progress.Report((float)currentSize / zipSize * 100); + } } } } @@ -303,5 +340,15 @@ namespace PluginManager.Others var data = jsonObject.RootElement.TryGetProperty(codeName, out element); return data; } + + public static string CreateMD5(string input) + { + using (MD5 md5 = MD5.Create()) + { + byte[] inputBytes = Encoding.ASCII.GetBytes(input); + byte[] hashBytes = md5.ComputeHash(inputBytes); + return Convert.ToHexString(hashBytes); + } + } } } diff --git a/YoutubeExtension/Others/Data.cs b/YoutubeExtension/Others/Data.cs deleted file mode 100644 index ef50961..0000000 --- a/YoutubeExtension/Others/Data.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Discord; -using Discord.Audio; - -namespace YoutubeExtension.Downloader; - -internal static class Data -{ - internal static IAudioClient audioClient = null; - internal static IVoiceChannel voiceChannel = null; - - internal static MusicPlayer CurrentlyRunning = null; -} diff --git a/YoutubeExtension/Others/MusicPlayer.cs b/YoutubeExtension/Others/MusicPlayer.cs deleted file mode 100644 index bfbafd9..0000000 --- a/YoutubeExtension/Others/MusicPlayer.cs +++ /dev/null @@ -1,50 +0,0 @@ -namespace YoutubeExtension.Downloader; - -internal class MusicPlayer -{ - public MusicPlayer(Stream input, Stream output) - { - inputStream = input; - outputStream = output; - } - - public Stream inputStream { get; } // from outside - public Stream outputStream { get; } // to Voice Channel - - public bool Paused { get; set; } - private bool _stop { get; set; } - - public void Stop() - { - _stop = true; - } - - public async Task StartSendAudio() - { - Paused = false; - _stop = false; - while (!_stop) - { - if (Paused) continue; - var bsize = 512; - var buffer = new byte[bsize]; - var bcount = await inputStream.ReadAsync(buffer, 0, bsize); - if (bcount <= 0) - { - Stop(); - Data.CurrentlyRunning = null; - break; - } - - try - { - await outputStream.WriteAsync(buffer, 0, bcount); - } - catch (Exception ex) - { - await outputStream.FlushAsync(); - PluginManager.Others.Functions.WriteLogFile(ex.ToString()); - } - } - } -} diff --git a/YoutubeExtension/Others/YTVideo.cs b/YoutubeExtension/Others/YTVideo.cs deleted file mode 100644 index 36bc4f9..0000000 --- a/YoutubeExtension/Others/YTVideo.cs +++ /dev/null @@ -1,18 +0,0 @@ -using MediaToolkit; -using MediaToolkit.Model; -using VideoLibrary; - -namespace YoutubeExtension.Downloader; - -public class YoutubeHandler -{ - - public static async Task GetVideoStream(string videoURL) - { - var youtube = YouTube.Default; - var video = await youtube.GetVideoAsync(videoURL); - - return await video.StreamAsync(); - - } -} diff --git a/YoutubeExtension/YoutubeExtension.csproj b/YoutubeExtension/YoutubeExtension.csproj deleted file mode 100644 index eb2460e..0000000 --- a/YoutubeExtension/YoutubeExtension.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - net6.0 - enable - enable - - - diff --git a/YoutubeExtension/ytPlay.cs b/YoutubeExtension/ytPlay.cs deleted file mode 100644 index 8e71e2a..0000000 --- a/YoutubeExtension/ytPlay.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace YoutubeExtension; - -public class ytPlay -{ - -}