From cdccfe4fea27e3f010890fbd957f3bf0b7323155 Mon Sep 17 00:00:00 2001 From: That_One_Nerd <78499572+That-One-Nerd@users.noreply.github.com> Date: Thu, 6 May 2021 10:52:05 -0400 Subject: [PATCH 1/5] Update changelog.md marked new changelog --- changelog.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/changelog.md b/changelog.md index db1883d..1e3dc60 100644 --- a/changelog.md +++ b/changelog.md @@ -20,3 +20,16 @@ - Miscellaneous - Optional - Stats + +# Version 2021.1: + Mainly centered around files and filesaving. + Added: + + Filesaving.cs + + File + + BinaryFile + + ByteFile + + TextFile + + Removed: + General.cs + - Miscellaneous From 12fbb760d465661bbcb4bfc350333aac7a07cf1a Mon Sep 17 00:00:00 2001 From: That_One_Nerd <78499572+That-One-Nerd@users.noreply.github.com> Date: Thu, 6 May 2021 10:53:21 -0400 Subject: [PATCH 2/5] Update General.cs - removed Miscellaneous --- Scripts/General.cs | 39 +++++++-------------------------------- 1 file changed, 7 insertions(+), 32 deletions(-) diff --git a/Scripts/General.cs b/Scripts/General.cs index 1447d86..1b6a633 100644 --- a/Scripts/General.cs +++ b/Scripts/General.cs @@ -1,5 +1,6 @@ -using System; +using System; using System.Linq; +using System.Security.Cryptography; namespace Nerd_STF { @@ -36,40 +37,14 @@ namespace Nerd_STF } } - public static class Miscellaneous - { - public static int SyllableCount(string input) - { - // Starter code by KeithS on StackExchange. - - input = input.ToLower().Trim(); - bool lastWasVowel = false; - char[] vowels = new[] { 'a', 'e', 'i', 'o', 'u', 'y' }; - int count = 0; - - foreach (var c in input) - { - if (vowels.Contains(c)) - { - if (!lastWasVowel) count++; - lastWasVowel = true; - } - else lastWasVowel = false; - } - - if ((input.EndsWith("e") || input.EndsWith("es") || input.EndsWith("ed")) && !input.EndsWith("le")) count--; - - return count; - } - } - public static class Stats { - public static readonly string Creator = "That_One_Nerd"; + public static readonly string Creator = "That_One_Nerd"; public static readonly string[] Links = new[] - { "Discord: https://discord.gg/ySXMtWDTYY/", + { + "Discord: https://discord.gg/ySXMtWDTYY/", "Github: https://https://github.com/that-one-nerd", - "Itch: https://that-one-nerd.itch.io/" + "Itch: https://that-one-nerd.itch.io/" }; public static readonly string Version = "2021.0"; } @@ -99,4 +74,4 @@ namespace Nerd_STF return new Optional(input); } } -} \ No newline at end of file +} From 959ea86d318ef8883d46e6af6a11a08e3e661136 Mon Sep 17 00:00:00 2001 From: That_One_Nerd <78499572+That-One-Nerd@users.noreply.github.com> Date: Thu, 6 May 2021 10:54:57 -0400 Subject: [PATCH 3/5] Add files via upload + Added Filesaving.cs + Added public abstract class File + Added public class BinaryFile + Added public class ByteFile + Added public class TextFile --- Scripts/Filesaving.cs | 188 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 Scripts/Filesaving.cs diff --git a/Scripts/Filesaving.cs b/Scripts/Filesaving.cs new file mode 100644 index 0000000..0392759 --- /dev/null +++ b/Scripts/Filesaving.cs @@ -0,0 +1,188 @@ +using System; +using Nerd_STF.Lists; +using System.IO; +using System.Runtime.Serialization.Formatters.Binary; + +namespace Nerd_STF.Filesaving +{ + [Obsolete(nameof(BinaryFile) + " uses the " + nameof(BinaryFormatter) + ", which is considered dangerous. Go to 'https://aka.ms/binaryformatter/' for more information.")] + public class BinaryFile : File + { + public BinaryFile(string path) => Path = path; + public BinaryFile(string path, object data) + { + Data = data; + Path = path; + } + + public static BinaryFile Load(string path) + { + BinaryFile file = new(path); + FileStream stream = new(path, FileMode.Open); + BinaryFormatter formatter = new(); + file.Data = formatter.Deserialize(stream); + stream.Close(); + return file; + } + + public override void Erase() => Data = null; + public override void Load(bool erase = true) + { + if (erase) Erase(); + FileStream stream = new(Path, FileMode.Open); + BinaryFormatter formatter = new(); + Data = formatter.Deserialize(stream); + stream.Close(); + } + public override void Save() + { + FileStream stream = new(Path, FileMode.Create); + BinaryFormatter formatter = new(); + formatter.Serialize(stream, Data); + stream.Close(); + } + } + public class ByteFile : File> + { + public byte this[int index] + { + get + { + if (index < 0 || index >= Data.Length) throw new ArgumentOutOfRangeException(nameof(index)); + return Data[index]; + } + set { Data[index] = value; } + } + + public ByteFile(string path) => Path = path; + public ByteFile(string path, byte[] data) + { + Data = new List(data); + Path = path; + } + public ByteFile(string path, List data) + { + Data = data; + Path = path; + } + + public static ByteFile Load(string path) + { + ByteFile file = new(path); + FileStream stream = new(file.Path, FileMode.Open); + for (long i = 0; i < stream.Length; i++) file.Data.Add((byte)stream.ReadByte()); + stream.Close(); + return file; + } + + public override void Erase() => Data = new(); + public void Fill(int length, byte fill = 0) => Data = new List(length, fill); + public override void Load(bool erase = true) + { + if (erase) Erase(); + FileStream stream = new(Path, FileMode.Open); + for (long i = 0; i < stream.Length; i++) Data.Add((byte)stream.ReadByte()); + stream.Close(); + } + public void Remove(int start, int amount) + { + List old = Data; + Data = new List(old.Length - amount); + for (int i = 0; i < old.Length; i++) + { + if (i > start && i < start + amount) i = start + amount; + Data[i] = old[i]; + } + } + public override void Save() + { + FileStream stream = new(Path, FileMode.Create); + foreach (byte b in Data) stream.WriteByte(b); + stream.Close(); + } + public void Write(byte write, bool toFile = false) + { + Data += write; + if (toFile) + { + FileStream stream = new(Path, FileMode.Append); + stream.WriteByte(write); + stream.Close(); + } + } + public void Write(List write, bool toFile = false) + { + Data += write; + if (toFile) + { + FileStream stream = new(Path, FileMode.Append); + foreach (byte b in write) stream.WriteByte(b); + stream.Close(); + } + } + } + public class TextFile : File + { + public TextFile(string path) => Path = path; + public TextFile(string path, string data) + { + Data = data; + Path = path; + } + + public static TextFile Load(string path) + { + TextFile file = new(path); + FileStream stream = new(file.Path, FileMode.Open); + for (long i = 0; i < stream.Length; i++) file.Data += ((char)stream.ReadByte()); + stream.Close(); + return file; + } + + public override void Erase() => Data = ""; + public override void Load(bool erase = true) + { + if (erase) Erase(); + FileStream stream = new(Path, FileMode.Open); + for (long i = 0; i < stream.Length; i++) Data += (char)stream.ReadByte(); + stream.Close(); + } + public void Remove(int start, int amount) => Data = Data.Remove(start, amount); + public override void Save() + { + FileStream stream = new(Path, FileMode.Create); + foreach (byte b in Data) stream.WriteByte(b); + stream.Close(); + } + public void Write(char write, bool toFile = false) + { + Data += write; + if (toFile) + { + FileStream stream = new(Path, FileMode.Append); + stream.WriteByte((byte)write); + stream.Close(); + } + } + public void Write(string write, bool toFile = false) + { + Data += write; + if (toFile) + { + FileStream stream = new(Path, FileMode.Append); + foreach (byte b in write) stream.WriteByte(b); + stream.Close(); + } + } + } + + public abstract class File + { + public T Data { get; set; } + public string Path { get; set; } + + public abstract void Erase(); + public abstract void Load(bool erase = true); + public abstract void Save(); + } +} \ No newline at end of file From 3d56a7fd340c4ba2784d539fbe87c56e2d032add Mon Sep 17 00:00:00 2001 From: That_One_Nerd <78499572+That-One-Nerd@users.noreply.github.com> Date: Thu, 6 May 2021 11:00:30 -0400 Subject: [PATCH 4/5] Delete Nerd_STF.dll temp --- Nerd_STF.dll | Bin 41472 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Nerd_STF.dll diff --git a/Nerd_STF.dll b/Nerd_STF.dll deleted file mode 100644 index 62c55321e1155060937652a4eba62a98ad7f8f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41472 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 afBz47;BM^m(9C&F{|~hFpG`c#1OFensPl0E From b77a9fc1c89e3f144f3972c12d486f51bcabb333 Mon Sep 17 00:00:00 2001 From: That_One_Nerd <78499572+That-One-Nerd@users.noreply.github.com> Date: Thu, 6 May 2021 11:03:08 -0400 Subject: [PATCH 5/5] Add files via upload --- Nerd_STF.dll | Bin 0 -> 44032 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Nerd_STF.dll diff --git a/Nerd_STF.dll b/Nerd_STF.dll new file mode 100644 index 0000000000000000000000000000000000000000..c1bd85b260424e74237a163ec03c511d77f577f2 GIT binary patch literal 44032 zcmeIb33yz^u{PY@XPMDRBP7|DyvSw@HjHIi-sA;i@Fu+B4O$wRrfh(Mm7%IFZrL` z@5>m~>9@MNy1Kf0IepFybC+BwEFpxAzfV39;x=6AGnwh($#!HHA9;JRxTWBsfw##y z4-KquY0bns)2Y?zM0>0$(b190##Sa{>8_4gYe%eZ{-RiWsySH`jYb9;)eBA%Vve-L z3m4t`s#n{K;;2}m93jMBaKf5fbr-HN{Jn@jAxb!{wB5uY`}q@-LV!;nOPui~5~crw ztAWJA=jl6zm`{lpg{btE5X1XOQG{g4okG-mtj}_d`KGgU7&E_!AT2jGA;N-2}w8y@-U1zpL?=^O=n9s!1o?QV=9tg)lz&4g;S|7GkOoOrq#6 zogmwkaKwXW3Q>0|Yv?ZeneYIW>LWy?s>cXRoQx8%q%__aoOnMFm8t}dxT*fQ6lMm1 z7L`YbR)#|b7aRrQG{igOM}nP-fgDp%(GV>No!>g@g>Y&h7*)SkvAZw7=c+`BP_Z9w z9CyVMB-D{5&4*`Hy_^m~@pfpp`i(;r{&1sqUGl)Hrg}!mZ>nJ8xNWf;=x|Yw*4)CjqT>I0VDW`fPRmQ14NcG@UU!;0+s$W&+7{tRS3K{C^sv2}o?bHl) z8mB|kg7lYj(zoQu)aLMo(DJi&Ozon;vf{^5%$=w^#$s2Y^;HHVIXy=@4v$2tmMD(I z_z-~fFob*@F&n8mU9+wD(0o3{vn@s;jxaJx)%mUG4aPuj{99BS1yg<#5Ip`(XPdp2_qazljv!Q?52+ zb=LYu9pMAWs-d#tjGWpi*Hj(k`o>bO0YR>B7v&n@hg~m(}E2W*9lL2r%2x z8mUz~&?gFWx!#YEN~^pg{%z!}DUr6HRF0ptiUYQdS(`dl*;}c@l(Ut3MitvzsSjv9 zw#6x=6d$F#+|#4W>5le!tVDOO&tr|cQ+=M+uIJ3%&~4|=x!&Yk=p~B0M6|qzJ#@BP zYO7NF0%|x%G ze+C<`MW2S^M8ixAnCj5}XR+}*wvlK!PPBljwh;?Db=fW=Why|_I3hnZQ?TMQz}pIs#Nv;wu-XE7oA(2I2lq}N z$J{<@3q_3K_D#=VZa=k!!p3kb)2A}GzuH2vqq*^F+D-Hr;fNMp-KW&2HyQ_3=&`%i z=&`$1Y1q2Xw{o43tS_bwX*7n=l@!yJbQ-ZdLzd(k0uUGi5E!x~-w>~q zSHP3?#k3(yj3IO-#dIZ|Ml8>erMZRx1cm?vhAhoD#4F_$@ML{4ZOBq%2wh1rT}h`A zg9q@p*4?Bf&@YLoCrr3heP5?_4 z&ykzdX51Ge7x%)T{g~or*w)!qYBOms$1Nt3q?@ckk_^b>TC`VUfsxpb_*U?C8X9@s|DXq`c`4&@eefHIT#`T%%iVwrOnzvk1 zorasUT2kGHo3mJw4VwE|)@N=TpT`|kp=H?JYV_FMsx)kWeGZ(4l{N4gK;SZfz+(-% z3oh3K&+Wl~I6(rLu<48h787y=L&0uUIoB;OFPlvlu$^~JOyv>uaox{_kLl1?L*X9!l- zzz~4I5P-mtrTK<3tS_bwq4k)w)0Gs{m2?_0UY{?(0M+X=rOf(FdsHl}+ommf zT<;%z5YEjh2mr4qI5C7EPTmUWx_v*L99PjgphOI8oE(&Lenb_P7Y!{6g?C5Yf`&-A zqM;~EC(ysu=cvbiHd)*?tyzkr*PWI3FUfV(wU50p-ZPrQ35T+1kU%8b58Hl;@`<2l=Vm*g(FXL{@}dwM5syZjH4jz85Br zdfO@=9%c!boOL_*%%tVi50l3A(8%x_8{m;beKzynA>*K zmvPjC8Mu_r(Q%S%$8U!+Iyx63{v49k-nsBY0I+X@7K6b3bOaqh93R;^5V=*aX#W@;=(E0cGF?9WNaW1IO#RERsZwWlgGO=`^7wPk2O4rlC zzQ*Gl_BEbw9a>hK=?jzIL&$2WZi@f54UM1224DE^Yr~SyV}mdJ_q9RCz3z)c`d7!t zQtf8X;Ll+LFI_*S!OE$-bPDIxoZ>Ti%BAIu0kJhOG6eF&ln>}R`Y^N5(L1H}0X=gy z<^y^yr4Q&?iVx@mDSZ~t=J5eN=V&I|rw{0fs}JZ66E~fK4t*BiO^0T7)1eRO4HF0S zq=TN2^33rCwFQsOZ11^V?KEtj@bt`1R%G5Hr>#4R9+9feBt&~wS7%pbenYv_kt_5W zv61g^s_{I4pB0u!+&EG>+&Gd-x>Mw*0=C1YcSJBoy}1uJ==7RF@J!1)O{JYcwHsF9 z3rL)e4W2~q33(Z8^d8PZG#>YV|9WT^)hC|+*m|zxdWf2OFzJ#@b`dd? z?!~&JEZtqTkgdi&4>{jrilF8*Nxz()ZEsHBiYZn*_dq#4MC2#^>HW;5;(VM)&$1&` zdvk;>dhYJ#$mugcEqGa;F<9tL>}XRO%5@0kOAYNN)p$rLY~%8DEjgsr$Zk?gjTFxa z?;=wVeM-@2pNd%C{t1)J0m@|tJuJamA27BNV_U#5;jbC9%}UQ`2e#Jq{Lb2nhtM<# zdeI<2oYUFCg2To8Q5^47d@~i*QO=N51X2EUZj@^a{+_yn$o~854x-uf+*)ejE+QtF zzo1)hu@C6pof>a3_2SqsqT~4T^g|r6ezFJX`>Z2@j? z0|Oeg)wsc90WZ&IdquRlhMlJl^K785F<+gR=d-msx?!aLT#))+Kh?u?L7Lb04#smqs>N{ore9$$o(ocKnyXLysGl7F8Tp}go5y$Em3!=N z+6`N)&ucs8!l3B@LCYJo^EMezd4isdpRIjJ=Y*t)uB5|c=hcOYGN=n6sH-u*E>F;t z@w0VZG_#T-x{?l)omUrT(V#AXpspqPb$NoGjGwLRqG^{D(Uo+V?7X@##Rhc&1a&RV zugeqkWc+Mh7tP6}h_0l=Wb@p7j6XM1ist4#6UOF+FwN9~5xDCq&zG*vlcsq)N1EpC zCv%6#*vj1Y(JUTF>sg$QtH>`^n^%hF^q`cU(@m+B`T?>&nbeOowbwAS({imBjZBOj z0NG%&*UtpCEWM(WJLNOXOs6uOl{4>C)})-QoXMZEwgp+aD*&=E=d;3eaB$>pCyBoU zXR!(vT6!%A3g`@e@YbEV39AG*$lltQn(A!j$DDXrM-MvnyE3~`@#lHw=Do{8=CHTC zM{dlZYP=_I%%BRr2X4%un)9BwefqmB><-$){xjIvecdtdviwuo*nNF6@3OFsSf$AS zyNH-o>bJTBE$&8oRz|&NF{L$&y3S%sYZmpJ#nfA~e06ziRx?F1KK{Eb{+dORc<`D< zb^2@8yWW~bbsKJF`mfBzyDVfw?n-vZcUki4^A@a}MUorIXNG$R_f6;3=t+00GH-dq z0~u~qSHP3?#k3)`5R!Jfl481&P9v6Q2-dm45P-lCfWVL?`G$Ct=!KY@RPpKhYV-8b5*_HHB|6ZjmuRDJ)4@x$e%(m-&Fs8|x{ln6 zg}VEzJ(-gz17}_%a4uDz!g)_5g?Hm4YcwY{n$rF~T{oesQ8`jo(=)XY9vmM7x|Jlo z`zl&raavZY;$x9e6%}RTK(8>qiQ;C)fsq*x;uWCt=_#JiS>CD`UXm_UqBGqOBy${u zH`&B%CEiA#r)(=Tp}RUhCz|>{)#r4#?-=YO;>V*BI=r@>_(V#Ieu$GVpbng*;BC{< zCs^#v)CtIp;7bK5_&kzDX1_ueik}GJrf?n@8TQ%>rEV9tma-^})7cb`c_YtNeQM#T zDu_?|8-<|@!J_a*u_K2IoKaJHt~jzyr~Bc1An*`p)5eNfYMC!+Tt#tH zq{4A@s(uve;^z8|D(VBoktinF6h>{}`fpJYay=C}oa=S{A#vm}y8d&tlQhj48yse- zI%ump|5HRPjvOs>yLEo+K{`gdnUkOZW0?BE%1j5<;x}770RL7AE!?5SY#z8)Y6i6U z-|^zOgq7lm?)_bn*Do_ssM@Y5e4)Q_&P!hJjES53qMQ;ux`)SU>FexpM=pN#cRyed*D3}e3Fy`l=SVJVF=Yv;X zC=Ky^5G|;73-oZK=X=`k#bTiG`)sRXbV$YLqAb3hh0~4*9!16H({kt2io0P*~H(r>w^_&x~gm{6Ws z2)hQWt&0xP?t0=a%=3klI+d8TzL0I0Y|%GEN8^o-3N7dI7z$Y|r@#8ey{h>IGNVz!Dm;A*9a#v6%+Uc;t1;xD5E z321$HKpz%~QtP;zkV@Z!Wezjo_zMB>Ft5Sb5MrCdJno|fJo1NGJ%>iitOMoL*Zc^I zANxnb+G<^bTT{_kQ{<-agJvT^uLvC^HR_U3PJ4Bkhx{@*e&Vgdq!pih@`+oepM6o= zQ%k5#c*TViw4FOfZC(oA`K|04nz6vbvdZ046PH2^<=K!N#`^_kZKX2CH`rzfoI!Z| z3F|y+Dhr@T`)KuUnbdoX(AAX7{br4Nh5H{JCvfC_=<-+@sVdhF%6SHldbKKjkWE%K z-htBAU4C#T>#8oo1VKtoBk0~dOC3oza7M&Ef7nr~B4~(am*+R4N@1<5Xb7Yb2?$=& z9CpLJGP2S91ecb@S4?I%HB>*{Z({3_Q-9w>)NirAgX`r%L-mH-P*5)iLr%RRQ~a>& zIPD7jf^SsOTuO@L%R#CZ>jqd{hrh6qK5U}|?F+O3Z4QPSQ;NbYSY1)3EKZrBK!cFJ z?dn(d2)6hT6W+gWiM33`GapfhP&AXTZ;sS@a?c?L0~=NZllCL7&R zB;$xLLI(4SX-hX5ySmjX8fvP*aHkqzSb4e2HEjBmI^hOo#B_3Thg)>ofNO`+;`2#t*@CJC1bu(=E%{{JnMDa+X#^RGjW> z^yX^x7z9il?;Wz&ix4THVDFR@FDrCt>Y}3_;qR^6g4WJFo#(e6LSYcIhf|od1aM!& z4}M>x-$g&zZdKQN3&7A5F!PgO$VApb^E_s2%BQ}f>HVOoT4#>B&7Y((`KD-zS2PW$ zXxPz9e>?>b);T)%Y=K}GxV{ zwyU$=z>7twktP7tZ7EJ!sEp>P;i#*BP*>w&>oN*o!BRjot%i0ynZwn6 z5r>ar)EAkb?wIGqAVs5Gx6bANWE$|`FStCq&tJ+nmGa;ek zYe4h#D5Hl98a*^G3`W_3R5ustol~`|;%(59Y6md|zGIb-Dz;P{4^tzl6v(K;^kZ~D z(24XW&9_o(0jT*TW!b5;ff-!k4J^!&sxwubp`GahjIYbdf}?a+9vAIYd~R_R`{^ zm0$2`#yB4wvPMQimfbMi1}W6C*aEOi*^zpLY2QCi{ZC_T0j}sr=q3|QAL_!XZQ$US z7xXR1x8OZVw?*5*J=`sajx#;(`iLXP>-&z|l~!uScX&qI)xCACl^i*k&`7l|4%_g{ zI-YG_(Jux?XXh5h%JF}0>kx6|Ol>RT?<~}WfIAx(8h#Az_?L3Hu#Lt5?(D=d99Pfj zxY`MsoVXh74o-a;EFD;nVfP>Z3Lx+5Q=~61${r7*j8_$|k=J1AC+uT%OnnvQR6MAO zV`?xwOf~7CdJGF^P!sFPi?GK{ge^3sFxbu^yT~LxHzCX z6?5n{UNLzo-7;Q9FVrE1v*~trvr+Bmc@7Lo;eK;ovv~=bL`bmIYVYG1TB_vqEautymW~d`|8B?MMa);feo2Ghdt-4Ci*{)lQ z95SOk@&Zm&E=B4&m(RIuwBeCQbem~zr#%JyTI#inHSu9h#I1H+KCJO#8hZ~dYuc&} z>Mo3+paxX+&0L1dCJ&LT&>Z2dc7N6$EQRvq#_2A&x~-qbeQCh!NM^0XuO z78Vo({zZLU^GI|0fxPNA2J13YV#5JBV8@{qkO_to_t7u6hwrD zSP;@zSG;0BQ{ajX4$-@;oAFC2e=a~==)P zW8aLj5u0*1hwj1sR&~LqXt6k7oDy|Ki~IYcGVz@dr5|I>=eZ==942}#>--L<&u98$ zrYA=!_cTE?qwYaVw?VTj4sh-UQ1Z_;MBpnac3^P}M{dUc)I(1jWQzjI6E|bOVZ+~q z_Ns3dOhLMkQ9}VC7r)a+c@H{-B4Qouyv6-y!Erbx-^+P-7gAm+zJ*JY=W)3*@j9ax zL3usJpBa6DQMu?RNpdHnK4OxTxDy*AUWgor5z@@4hS30VfxHrJ87S^SzaA;>;k^6R zB`(hJ#LpSs2viRA2&4T#eSw~nJD^jFOWfmtUXuzTa{!Td3Us|Azlho|fyU!7Yrn&J zWftYd#rx7i9tJb=h60Thrxy&gKqK2h2ZsmZZN)#zi{O_M_iW1*7Z(uyHmBD~N@tl~ zT<~S)6I~~XW8siHr_5B~)V@k@Pbpyj&9%0Z~>+s^r*>n)pf?ts2z%-ycR}-sVgfkJK^Mf}B#h#l3NHtz!JzZSe^^S~XwZr3YFPF*g|95U9@Z@M z(QQ^pEYp(VTjkwWSlqMN_nt@T+V7Tx#xQ!lAnp>XGkI$*LRo{x zLlksfLDxlbfGmFOqe8r; zb+3=g>}v6-LHi(CBcAtBp*=#p<)botl=#4)2XLcPD?-?KQ)?dx720D(nUBis@uI&$ z&p>j580Mowd!iWcqcZzMG0mVbBqxjIJ}R`QinNc)>^kvfg9boyy13Fuh4xJG10R*y zv&AnAy0Wm3JxBb~M@QOo#j}idhW`sAXP$V+px-0P=ZTLE`Y=SO_*iP+&hWJuRr5s5 zpkH8g%oCFhvbo&7j4lg*=nl5$iRTP@(joMFgWe1iipI6iUJDUA+MuaXLdO~OTh5zr z(3z6*k_Mft2yHg#my9klXb($XW6*^bN#0>lDcA5zMmsS!tC07mk4D<3h{@QtqO}62 z4dPU>hY^j3Pq6_R+G1Es4_8O5gs1J0ui|_boft?bM`KZBOD?T*n zy672pMyTOh=RTk=afCsa7Pi>y#cYGFEKJ!OM2nBs*&D@|8R;0@BrZ0HVsMlAra=^g zo5ZySQ4DSp-#3V2aFck55k=irdy{y|peG$duNm}an9%PGdM!jq(ajG$F*Qo4w?V(< zykiVHQ&Qe|gU(firW^E2M)d~mVab&SU1*Wy27^kuhI1HE)O`_o|KX#r+FQj>d~}h$ zL;TW5yX~{Zhm0r&_t;+%w~S<~5rcc|uZqr58kL6k*yo7q(S&pio+~CXq8Pl^-X%7h zJc_~d#DxY?44#Ky3ZQa22G0{&Mig~7*yoEIeRQjRp?K0q`|XRxUkw@t$xFoeF{I_P z@UZZ$_GMy)kM`TU#ZH4dqBq!=i@SVutNjh}rjPd9SBN8Umr7dtK<6GY+ef$Bd&OEG z?YFNMyA8T7dY}DmvDct|K-Y>J4Z5=M5&JvhEsexY&Xe|k3W28ps6p(O&)VM=)droV zp0%$RD-3!${E~fx*x{o$?eB?e4LSpow}?j#s*FBs?-L&zR2qKP{(*>(*EOs~-mRkE zpossgJ}PelBVGhC$;P(fuNMes#z}-c1I*qX_-j zpohbR?q@`i{E)R@yy&BdbEkOUM^*Mu1r|NhiP$Z1?h$ncRYpskd&SuXm4-{4`@~Nf z>DawrJi&-!_j&8*;yoYrb{-J&c+z>Vph*6O=wT2=@-IXcBOS@V5Os_wk_R{sicTLL z>pU#J;iKWsqvC#phC%Xi@xG6ab$%scbO6P1J=}Rx%rU4VI>32aZ1B;s&acJQJ{s;k zCmuDZ4|KjDKK9YE&Wj?B(+<+vCp_GFSu8T>y68CPRk7ShlbqMZY9CE^-V|#M+6T$E z#20)t$$49x>!az;Z^dqd9te$dekZQ=(In^h;`=_D?z}I4V$d^?{F8XtN0Xcn#WOyd z?)*i(YET%GABzJ%n&cc1JxW zEVDjZeAm%PD9(jK~(e2Ni8 z-FBy3{?(viK)vPBQv^P=`fhjn%2@{WL0+Y#hg+0)UG%HY0J+hieLyj})1bSf7dc1C ze>3PEMd(_Cp60wC8uW0O@*ZHMN9s}Xc^^fbqvh|kB>ZxjGg!`<%C%!%xy(66UTaV( z?pThM_B6`Veu>KpM&y?(oFQ_Y$s@m1$yo-GU#euMktDxV$*(gazg+DMmACuodS{q? z%t!m2;qpy`hCyGetgO&~?!}oN4mE4B7{Dl6>2s2SRr^Gi1?8x`tdV>Z4&6QgWy0Y*dXTH3^M-Ms+#UKl`{)CwT{^RM4Sk?9B}e<{ zU1zOa=%Wvuj9hEbbdv^$h^p zCKniVDW0P3kgYx{cE2dM7<6S}FZV2YsX=!~E8Vl@O$NQA2>rsKr#bI+gB}i3o}5GV z>3%<34)9UL`H~#xqbmE$a*mHi+ULkNMid1D-ScJ1T(%nHeV}`Ryv3l>@Id!M*)Wgt zbQD}9*D#_e7~)j!WV_c$U9}HL6?Un%Ad+D z8euP-b?=dbPUUjqF`R(jC%5?MQlMY?Xq&uWip8GfGWl~^Z;-&r_ycmik1hrJcOPw& zzmO03XqkLaeqfLao$Wp(d!D9s4z|vhkI1Y+j}%=h9+eOJXq$XY4r-H`+-1;@ix!Gs$+vxUiTf-0i9sKVz48eeYSdar6pjJv=c6m!r)0H3BSR0%U&~!S zy2kyr{GCDRg45))@)LvV+z$6y*<*>;Sz9Z3iwPuCL`IfxHpvyyX`QP$BQ|_H;U-^#wrOxBXdPlzLBZ<@W_%d!E^5XKh zax^BFh!Om(|O)Uv|q&fxh9RZSoKDejhE9@5?6*QlZD)Kgzca zqL}!T9DlmjLNW1yO!{b>{7`oIXqo)8++q+#!C&N!28}3;%D>1veDsw2k$ljgk)i)` z|0;iF5cTa}<*NqOxl;U9hF9p?>)hAe1M)J1Y76o5srr_Wwn?RK@X<19sUI6eQDCdL z8BrAcx9h0z8KhH3fvb8lqM5c`g;a}=)~m3(jgh|VDNuJBL@`mI9yO8_69sBQLf}Jl z>&q&l>U{J^w@A(NQ7BZb&hSy6P>K41j~-KH>P{aG3H4MD8Z<22CseM&D|HRS!V^Nh zRjrRs4)s;L4C;vX3010>4Z1G+lpLV`+ea%xG4;NW+CoREzZ$d;l7m!1ldfT3bVcYG z)yqe1p|~1o(3OQ7Lse>skG>Qds;CtF8T~GvI8^(Ho&W@>pPQREj?qZgLNjIwBq#gm zqR=qapliVT_HUu#Y8Rt>#V|al7@>9>^fmd-&kQuZpHce(Ym&?HssqX$A$)J+<(Wz*Dt9}Smv>S;z~%dbMy z)#%lvMcXn%O*V*XpP|0NXeZY`Q{7_nsP@_FW0QBe_3O}VRomj(@?vO?+NDu=5gswm zQ5a$4gqt&X?pQ*ttZt81$Q>AwbK{q`Vzs7FORS>MI6yGP;@3O9fMl#v|``jpX=3 zlDy00oy~dlZ1{bb=yOFxZ9mf7+&=x^(rX8|rF*L-p3mod#`8mW{-;YG zT+9DW9t&Eh1bv&<60xW^t`FuMYP^#Myh+M4gPuc(DsdFg8@aPeZZ003VSdn(2OO$b za{_z3x^lh!zcEVxw~VGwvop6x<{?59-cl(k!TY4#;|Ftc<#jr@2lcA)X?1;G{$!3- zq6+WJcya4R&Of^L&ui^JT0YnF2YV*)k|jR)m#=u|^Lahi-G{d5`!7!($dencTF_ z9j_Gh>$Z3ts&P5**omX^+LEh5+mkzE>oxcA?K-%<+UA4#x%=Uhx$RnJa)i8naJqsc z;qZELbsj$b6!)*Dzu?-5Dv@MA{{rip6r(v#4(_Q#$>)|O`(J_vC02$4JwHc{O8k`T z-D6SiZQO&o=|gG$d>Xu+RZyys`#P5{i@9RBaV&`PtJ%L2s8%%DQr3E*#=2% z1D$^^6LjuLl=yV^y-d*g<{UxK2j&QRW-teK?ggLPPWtg=j_qmYH++}jJVt^~XO`5K ziD(7+XO5tA?qz~b>E?j*F4FX_@htgX^Z?Sk22UpE!C_iA%EyBggp5(A)j<_R3wA9vO%dVoeEJJa}ZmekUw=E zgiJ&DF{Ur8T9&V6{k5#QmNnP1RjnK$wXCO)taC$FANlP_FHnk&E&N9I7JehUncu2z z7IbRU%qKa`{8n`{zg6ALZ(BDDI{jJ8yjX@!}28Y2tm*lSN}ejaVdFL6?dy z&?e9wVh!xMQ)HM@`bFkkEjJ^5w>(SiEBG0wU*YttoIYCJE%p~oQ?9Z6K%G53;&LF0BOwaB`oU56hUCwEyKV$l;PFFC$H_@LleU+(w6mbSItz&xi zAeLeJs-{)Mv4^rG(=$e#E6ytT*+}BN%G4f3={*zK1596JDo!BI_7i_ZxlCh|C_S0! z8BDL9O=TC0e;5CWS@CYX#q_9nLcAu9mUVKKY?tfgPI-yE2G7~vkP%g)daC|vkg8T= z)d^~I1ip1rf_G8N#Oe4p#|o?t3GBQ+h`f&dPQ-l+^yl(j(3>2hS3AVN zPZF(miFR2;kBbsrTS)XArq6~cUE@-zcuJ`Rzd?{bZgu;#Gly9dC3%^~_>nCNdpM5jlI9^iC`r1S-f=u=E@V9q5LaeA@j z;p_U?#ehRCL_Z7@{Y{AI^eE8-obHg6zCaOuis=o^xx^w)FP6N?2_v25wrIb(>@m+v zlzY5ObX_P4`ko^Ce3X<(p^d^VmLEB%$v2i@p zD?*EqdxoUkd))@4pD$bn+OKF?SaB38#35b{LnJ!bpA_OszYtac8U<2_#3<+y_(#9p zPzqX#IY}WZdx7@AZ;>cOXCKgBn57hAx<6=zz_$>=9SGVN^Oi#1V9-i@PnEutHw1J5 zW-{D&h+&|!@Le^9*dGacGUhgg)o%>wT)Y;lFdmKrosZd$zLR_c=qY%8Oks>n0bPW# zqp%k^3G`I_ZiK>P@L8azL6Z^<(4nxmnh&}T<&;>D5=v}02WTTp`%`=DEiA3&=Tw?ZFwr_iLZBl{BQ>*C9xZ-}pgzA4TH{j)d^^e^H9 z(2ua6Q{rRsHPC)oRpC$hZ=n6<*Fgu!e+Qi;zX>{7{s-t3c_rvnc@=20{1#|ZUIV&H zUI)5b{wL@fc|Cf+4OHQqUpInYD8C2JMW9MtEWZzWkK6}(ue=rXKKVn?`>_*L`2N=& zkbD$W;TiaTq+bVx{qioP-vovI@@~+N~#==;`C&_7wj5IvQM zgo$D*dj8A!#@@R^$sY1{xmsPR`dapOjP($18T`-9NZ}CE|4g@Dz;3%c?8)+aGe(N}o!Qn@ zN1_eMStoULwI|bwY${D?UUGFJ+qy290hrU8$>K6MfiHw^Kw{#F<5sL#pH6gAvVFyh z>8()Fwh^T|vZF@@*`vhbWE1oeD-iRzqfKtDm|HhSOq`L-1{R#yykf=Zabn`!RC8Bb z@WyWvlk??EeCO%Ti3NVCp%zLXD3}2!gJWCl842jrj}$=OE#IV?@F&k|8#)Y1Q&I+ zuS%vF)p2PtBbl9<$h1sLH77aZ(49%qoLrqwCdHI>2)5NpZtDCrT$&WK>RL0MsZ3&J z8?wpAViAnTW$MOkk|I`QQ+%mUZpdtj2n$|tSC`)3~Qth4SU2#%6kx2?z3p%YW1?oj!U~i31>PlvHpluK%ljg6? zcA4a?i~-XSNZBL?#mE&aGFeKJ6xv~h>U>m)l1#57!5~QADlU>V^u2Mjwywvn@^RRmg-p5y1EPY9#TnN zGSif99(bblni?%1z0b4td6)jA*B{py>6XbhVFGypKY04g)F)h`(G2Obl zB`0e^0$!PtPA4`7;xs%H&GS3ja(JF@j-Za53=@*f&$g~?ZEMZu)T~U9 zo@&r3Sh-r8Xji48ijj%Eh2D6vkL^(KF# zC=V`3Wm;)rfGO=MT+;fo2$NW%t#uQHX2wsS)X|h`#u)ZSjA?(32>{BePwC$o@MriM zila0Kr zD?!UqSG%C)vReysO=q3cHYPeafo3LkYE~vUJvE(LgN(VY9RguN%6TD*iU8z?a5^VP7P7=iuhWG$?3Y(nFwlC`m zp`&hUS8H2yGA&Zs7SMLgBdwintw=6F47X!mObfHd@a#o+L25l{CsVA|SU5xzt;v+& zu_$4Y2%s^ZA>XhPTIgpy`5W_Xm0I7Q}hKZPg5c*^dcp^ zco*|mo{4P%If%x-*9$pD*5q_@%|c9lSxgG8tFmnTLRvmd=mlv+ULq&MhZsDw+7W$C ztyvmKCv7lkOfY7R)4Q@!gu`gatteM?;)$bHtUySzfxL$oiFVq`V}ehlvlw=?OS&DC!ek#%#TYX^xC(_5hPm?yP& zB6}0xFggul6b@SIMGH<5vN%teFFJ6BumYzUSk7?{E#}wZ90BLDI6ELbLBt@N#lKE) zC*VY6IJmhIH8_1(4KCWp=Neg@Uew{XtP%f)3z3)s=`3_~;U4Hv+PZ6Bog+`D#VMR+ z3}+2w@i1VrcomW;p$-`xB}TwMBf%MgSCMWKGPIDj zif9aHFfp9tPzyXXH4jbEX#QMi>%d<-THFEYCe+`7e<@fQgAbCRtKr)u+eKcFnbwhX zJGh8HF5OPQnS|2`5vt3pX^}>uhCFVgMupnaB|x5?ln$&uO`{{)U;%aoTsOY#Ft-jC z#(X=e4NamAZD?kT6UfUg5rgz9!^2vDl=d{WVI+REDOVO>dpP-TYhRC6H?x+%p&JL) z)u=__w@XAJ*+~{|;P7r6-`=!+_B(YKjyd&{H_rR(dBToK8Mb0V;){{8w3J}6+pBD{ zEbXZ;gD9gc0TJc&Dr=RMb`0l-fR%s?WMu)-US$)d!?+kZ;ewFe-|6p^oe;M1)8AWh z;8V7J2lVuJid~}p9n@1?3{KezQ~))WmdGALL9yFIP>nr=9fA#zQg={dwMRrIP6;Po;p^!xq;gGOVuDF=Y;WA+~X*^UH;yRIy?ja&U z67}{FBr}n&IBMnuRQ3>VOvx}=reHS!^24E+CBtBrh3v9MEnBwSl!=M5#sV}$L;PNA zS!3C9{2WPt6vTfatE>?Pm%|$pEErtYsLGbZ0BDYe>~NqE?k=rH6{Z5eBA9sw3=5ei zq4nW#IA&}?aA(pO#)Q3#1B+(!CaKplA7>R^+?c`jvn^couy2>`<`wOzTbo=$- zR+er59voiQMLeV_$PikjXJ%Pf1hEowRSsDN9gR-ea*AE21V4qx-KJ>|oO0(e zG&_t!b4VZTqzn2L{(+aux{AXToEC+_0$8ftV&#U*Lil=#cATfza?xdOB^kRseAA>A z+e)8^Ot9-e95&ge9~lJs`D8>tev(ZRQAF^QWn``P#%6rp4Qi=;J z?_I>087{2oU0SIxBlM+~^j4By$8kt6E)GEo96($!gk@=E|I$jX29IP^X(j!mYH)G* z>M&*oDXuK-4UZKSQ49K`ITo3VOSmYE8ABBnX^K`!Od9apAhH9~oI)Y0Z%}_iaNr=S zZxH>XdT`-p4Ju;H4EEU|_JDq5=*)t0iN+ERMz zrN<8WI2=9#)QlyLbZ{|u>DiK|CZxi841_rtN-#+yvP<;Hi_mx`v2fVNBBJzEM-0sd zQz3j%5z09+ny|Q9Re&MGGefvEe@cLa&p}!XL9I@hGXA{c3HS^x&>z!ZUI}7{i_ohk zzXzVrDVp>&E)+EJ`)OZ@Y%Ru$C(G)J(G;mboG`ZlV*`2podUX00f)q9Vi{G^QN(4Y zBJLdKT8h=-S8s*F4|ZX$!2d$1Cy{zPOev7wL@J3lh*ErStQ%8<|D95OaZms3l@68L5*z2?C{~n75ygoVPLw;6 z*!ZWL@vEG8IEu5)BppmMSea=XHnIlW)@CVKhMt(jS~IaktgUrr8b{@^S+Vv+b265N zrWj5yGO^Y4{2|c>4o(F!$fv{_T;qw3=Ggj{R1&vVF`Qv%Vy)RBvGq9DB7|M(5fZE#sN^eqs{j1_Nz?B5-u%UxjW@qTI_f4Y^ZXSg zaDchYboa83WERol=hbvJH@%js&IjbrJ!5Z2aj7g&~tVQ2Mfc0(X?taW6%8V6$*{v^clpZ@P;AZkK$;I z??36zw}bQXzJ@)3_F=FI@4i6;-5nmR=`W~QqSfBNTHMpZ2lyT5Gr*q)eeL*1_m()K z0pB}WSOLBD&=-Sdx?j|Hl&vUD7Nv215QDw?4p`rFdiU-m+l+ryYBg)7yXFL1pzk`h zrIbtMsT6V67#xQr-6O{E)joqgWP&Yv7Z(|M+(+-;p8Ek=i}}+ldYrhR*=M- zH@RiHdnwmPROUqX=@hhpdcGZPY2&y%TsiWq=UdY8uh0Jj9=KEgR(ds#vi|k?f6oK| EA9wD5CjbBd literal 0 HcmV?d00001