From c5b92f2e6e37a76be9032ad32b8eea2160ed741a Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Wed, 2 Jun 2021 12:01:20 +0200 Subject: [PATCH] Implemented basic class structure --- Hazelnupp.vpp | Bin 644096 -> 679936 bytes Hazelnupp/DataType.h | 10 ++++++ Hazelnupp/FloatValue.cpp | 9 +++++ Hazelnupp/FloatValue.h | 11 ++++++ Hazelnupp/Hazelnupp.cpp | 17 +++++++++ Hazelnupp/Hazelnupp.h | 15 ++++++++ Hazelnupp/Hazelnupp.vcxproj | 19 ++++++++++ Hazelnupp/Hazelnupp.vcxproj.filters | 53 ++++++++++++++++++++++++++++ Hazelnupp/IntValue.cpp | 9 +++++ Hazelnupp/IntValue.h | 11 ++++++ Hazelnupp/ListValue.cpp | 17 +++++++++ Hazelnupp/ListValue.h | 15 ++++++++ Hazelnupp/Parameter.cpp | 9 +++++ Hazelnupp/Parameter.h | 13 +++++++ Hazelnupp/StringValue.cpp | 9 +++++ Hazelnupp/StringValue.h | 12 +++++++ Hazelnupp/Value.cpp | 8 +++++ Hazelnupp/Value.h | 10 ++++++ Hazelnupp/VoidValue.cpp | 8 +++++ Hazelnupp/VoidValue.h | 8 +++++ 20 files changed, 263 insertions(+) create mode 100644 Hazelnupp/DataType.h create mode 100644 Hazelnupp/FloatValue.cpp create mode 100644 Hazelnupp/FloatValue.h create mode 100644 Hazelnupp/Hazelnupp.cpp create mode 100644 Hazelnupp/Hazelnupp.h create mode 100644 Hazelnupp/IntValue.cpp create mode 100644 Hazelnupp/IntValue.h create mode 100644 Hazelnupp/ListValue.cpp create mode 100644 Hazelnupp/ListValue.h create mode 100644 Hazelnupp/Parameter.cpp create mode 100644 Hazelnupp/Parameter.h create mode 100644 Hazelnupp/StringValue.cpp create mode 100644 Hazelnupp/StringValue.h create mode 100644 Hazelnupp/Value.cpp create mode 100644 Hazelnupp/Value.h create mode 100644 Hazelnupp/VoidValue.cpp create mode 100644 Hazelnupp/VoidValue.h diff --git a/Hazelnupp.vpp b/Hazelnupp.vpp index 2c6bbe7d912b0c827b2e52fb04f47f2f8a774603..77c37f173b90892521fb43272799cfa1e0e74798 100644 GIT binary patch delta 31060 zcmeFZ2T)X5_b=L~o6zJOB}d5_0g;@MjFJQ;=Oj5cA`%6}Mvg?mKv0kOEV4D-ELb^rBl)vZ^L>i+fV)%)zd);?>86*f`Dyiu?C?wp}mgTdhU zp?5S42D69W#c6^Pz*^-s34Ag)fJ}&$nHgY4-uSA8Mxm{6EODTc1XW0U9A-FFwjMzT zKSV?#bm78qYIr!j0wIRD54S@sRC5vY!hz4|i=-@+_I7qgdQ#Gw%DyT=%ElL+;Nj?S z(q%*si~$XhQK7@hOaMl79~lGtO&Wv{+}T(vQ1s8zMiK_FLK3JU09b?pi)b-H!D?yp zN`Nq(5WpAWhOriDRg1-T184$DR**}LfE~-8b`>=dF%d1|0PzE{g;+$aR0Y3jsTv5Nd$}o&$sDz$Xx82sOkiViX~QxR1bvzeZRfybz3t zoA65bCZY|h>N=c;8X*LTircIIM=AqZdUPcZ1BJb@zT|(X`WGqD6FkB^m-T}FUe=Hr zTY;;j*58XtQlUk78635OMgLwj_@pfdCu8OR)T-f)#NO{{r}y`gVzgMIr>d~?e@be) z5MYUyr2PI~Qi`s+jMq$*2P-ioDOSFlh%!hzTu9C~Nct1m;S=!JkjyzJ5~C|EsR2kr z20s;#-SfIuN5({KlpsfCN6{PyV)9o8o{zSyM8L(S0e>8cNKP8GB z!3kIP^YgZMwe@%P_JT)NXGC2`z=3(FVaX7EQgR%ZZ9M`UF`~DS0B{EQiNFpW7$hvDMx)Sx@q&iWDx^->fuf8+VYTn{Ksiy~ z(<+Jo-!vKzOFTUwaIwVG0}2OAJl#_W>a!44N>u!BvyZM8oC+aCa9XUYbRr!5#NRUp z#Q7xveJ#rynL`KQd17?PK&AKi=Rqan-_KXi5M z9jqjx=Ku20tdpH}H?g6$$MWSCh$ph}i81jJcCM=X`YLcDcrk=mHqY*kL(73^xzjc`-g@L-VvsoPSIr!7^HXc&xdw5s zo0|*L&qqc5$I7PSS~0t1iu>MU$=+Y55UGz@4~@z#Tn}}Pk272YD->Vu!~utT=PJVJ zcMgv7Cz#ZOROk3{f6aIXODT}Nq0V*fS43TF`$Cp!zOTAXWjF43g!BYl$Wp%Ypz;Vx z9|u$8yu$JM3SXijZDeM-R~~n^;=2Kl?Ar*J@wxcipo} zbhb;Pu`FQ2^ zy7pRM<)WSLt^O<-9^b*XNb;?V6FP*pW*=Wc1A`X{0VPiLK{kOB4mWHJ1`?lzv!eMX z1<@vx-hz;R(+Z0k{Y{CqgW$o~rAqjp)4DDkg^rrktd^SUg(G-iuhIC^ilngDh$ut` z;u$o>4I`G(rqh9x(*K;eMd3H9C#TO+AtYeQX#8zWIP{^v&4TvYW+fto)>l;zTR%T| z1X}baLv`i0Ap#G9fN{ax(D*+kDNGQz5S_3{m>a?wA%Vz5P@ymWWPz&UgKIi^IbOH* za1H%EYu)@Wv}m;Q9)0!GpB8XxLj@h7H3YHTnGqwh#j}KorEz4Y2~J_x*K1g?!h#tVPL^*)?3Fwg z#IPWOg|k@T!~z=@n6bcsg_Fgd1ban{g_9MY5PNm9;GZny_}H&_5TIACG8EyE16)jO zfEEm}0sMhPARnj&dVpErC!7?{1(yS~Ko&`W4^+O5pa!iaffZWp;61(4K_d*>jbePI zfIFe=z;hTc41__iGFUt8BWwe}g;qOJKpn6Iynz@X6J)!MkiwW%0A>KR_`zr~Rh57- z2Pq#6(q$Cv9_$&c6*dYYgAv^L!SH1GLpTN$&BtNp8bT~npX_o^t@7|lEcN$J8M79Q zph7@9Vp?!+2v9lU*52}OyJBONOK{`bF#tzYi60gKgC)TVV70Jr*feYhAOu(eDL@yn z1%iNN;1N&{^a5XiJ*X!*;WBVNxE(wQej8o@uZ8!(XJG-LQU$;OS|j1~C(StjbEhZ? zj|K~dAa&#(24Z;ru`vyTM`1a32>u&iMzSh!1ei1gFoMm)fGWj5dG>}ofoU)BsWD_D z03$&0uMPlhU2thY*-_w);7Jet(+<#sJ^n9Leb|#)VmO?Ma16!`D}_O?HjwlzoE|)T z7A^uTgQjQUF*v{v==n^Zg){!~sP_5b9FcHX2gv3CoC7Zv!~H0Y{<)c#f!_pMsQ_xs zdNG`~7l#KL{~$3Eei1YbMtEReA>nF>IGk_<1}7W`{|c@%3=N9_$;WV_=}=f6E%lB6 zz6TG1M`GosiF-MQ1HExEFURmy7m46%Fg-YSae>+*eubY*CIeT1i^Bz>DajD70~dt0 zA+Z1`+=h?OOA!+S87zA-z7X!m1VZ=V#rQ)vD%}Dgq>F)c4z3szfw|I#{}dN*5r#mY zm`d`XRu_H&KJ?>LlX@4B?Jd3t!i=;SM0MfQgKlr}iBY61+G@(C!8U8wA*M8=%y}A~ zmL`7Vf=*Imx_ZQ3@jRDQjntF{k_7o@RUJ)~r9ZZkKP;}hHdI_pfvet+>~C;4G)kz; zFMRWwt4Q0vHuQSdxW}5}g|)TA^`;Pp_3Yi?%}??RUk^X*edw92uYS34xDd2)_}-iA zE2-v}=HtHAiPzTc!8+m>k8%KR#x$tNfoL05YePQ*G z`m*j##3%31{kURZr)y-q8&8fzxb)?1$DV^HbV1i_9#ogphi1PoV}SrO%0qf^2K}=Rop%NDfdX6-f`~ z^B^h6PkRtRwo^Z1eIFs1y)NW60FcMXe#Msu zNG_4UX3(?EVaZ%o)Kein8`239Z(>-ft6>gd+RL~~tuwSZu)k%SxSyTZ;9 z7ndMR*{?NbE%ct6X_JOZP!3yK*k=dF`>Erj7l}hI#WZkfhcAA1x{(k~DtS4*G<3&$ zKtS5Y>=Y7F+Dn6>^AOITHCFDTs2>4W*=PAaq{fq?ER3+ zzEy-$tmR+IV`^wgCl%`F+}^u%?;+Lowp@FI8mn}_PrFOSUzcki=X2vR`7G@?D{^H+wsB098p57r9^_ER4 z=zR0z*)A`;Er4YF(6s+0%-?WK>#kKx75Q_NRAO{totb&Y9UmdKrFl&e^qsO7T%wJW zDmAsm>`VP^RWUK{tvC^nZ#8W$#5wGg?7kgX#@sgtSsMBtS?Mb463Z#|CFz{$f{&-# z)KuqPyn4W4F}Te;@_-gs(3o7Z;Y?LGyI4h3zS+==w5|)N{Ppk~TvvYP)Jw(}u|ACV zL?JC3sykjGqNTsEI;=BY@rf@Df07GznWKnB=yg{UXpT#We zmJersULqo$LQYwrF8DhmIGKN04x!8>9v9bMoGj|_jP;6M=e`sj_?C(^%%&{$yS35+ z7hUBw{+L3%<{D6*fn2!VB#tnaw7D%+5%OAbhjprhtGNkzv)ws_H~XFu;A61v-&;0MdH&r&7USNAK-#|#ZozL zQuH}W^}u_)Q$fZ&B?mit67}wxMF&)Fo2R$KTa<$B{?~ww7UAchO4V9HOoxPICi{&`yQIt=LofaGnXG@@sy;`1M^nDJE2hu*i|ZR8QU>21?0VPMKxI*gIT54AS| zP@`jh#9ESbGjuxTGj^zN=?aOE!vGFz+Gb6XbBoPj>izcP2aD_VrGmIk>v9|F&wbmO zmIOL37DGo)8c6{W`QGn-kmhnY!3G!oby~{Jh`WTnDJMp_6nS^*U2}`@Kqi^6o9ipi z>2m>$iZ5|H-z;}}?&}`wJ*l6KjHR9q*5bSux^pH&pMUQg$=wmu7PEcZUatj1eB9#w z=WgNP0bZ+*XF91zRZzk=#5e{@~%lkLi8zo0_9Wyr(ad-g1FjbPU=F9#QTtEc;F)($jp z(-+A4_=hR6nPhNRH92)<{}>yRUA=J7vm;VD!T)ZPkcy6G&{-uTO-hfoBHX=>dG;Pp z)j__(vfc6vIrO}p>iJ-y#NK$0ciHB<2!^PN3k!>$&mBCccg`N6?sO4K-U>9yBTN)u zyq=`slktL~@_@Q~PUHB_VyE8{5u3}GlrwA0UGT5$crkAK9)b>w@!vZm4+nI|o>?+I zIy;uz1ADQs{Rb$65OTX(W3T5cT{6NliNGa@2vXe>6bGiQG@sJb&q zI_eQ<_fj_KP1DbwaS4?3hnn>C^j9T9>lYDk_a;(m6H3U3aw?CWup(?qf3laZ4wX$u zFS9mX9s6b9Rr?5|qI<@xK+q!y-6`#c#~5_R0z`Zu*F$X?`8RwE&ZcyUenm+eJfKZG zkVNbEh0@P(i`H3r*(+(cNqKfTB>!EbgT?!ag^+*?3apm{zZKm^DV;SNrJ}b9{Pyqz z5Ov=NKkB^QXD3j4%62wev0(jINqrNh-1Aa&EukN4R*PJr3C`{WlY5_>`_+ReW=v;; zaA!ewcJ@wveLef^5gwzMrZ6V)%`={h9z8v5(q64Hw^D6a^;q7n>-#KqZr9%G;PENs zb;3vA3-DYh1$~k#Q3~vWuW7Ka{S_luXl4UPy;XfM(~k;X z4zMt)_La#`?kCV7;ezn;(Kl`esTrDm2;iFTC$QU}G8AbA_U*`FfC-aY*!**Hv z`FfveCIsM7`ndF~NniOHC(D?sxyV3BTIJ|}b1mWBoaA{)JZk!19S@EKnD0b%;`HG2 z+^=#BP11Ee*e`0OIJ{|JfulKxP%O2_xHP2nKJs+D7KA2w6>R+_XF8ywrwW(Aae938 zcycYDS=fblU^tqj@HrDb14HKA*ROBU(zQSF;W&_CdlY@WG~qt0;r&J?>7IvHqaQRb z2#rt8ZxWl`wYBeSd(d2U-%QS21;x-JO^n=HA>?~%yJASzQpFn{{jr?5Tj8zxLPPM~ z)|F{6LHVIM-m>3r(0LcWC6*hQD9b1-)v@+Yn&RV+!xqtiBToG`Sih*Hx3;W zKY?(m0&3z8OL;IUCGApj{xJP!WNl0g?LNN?>F&C-?quLndA{sq^#dW_iB_ZN1)uWB z+76T_z9x|+$;aLdAK4r}mlXV>*NzUopKV4eFp=qMMvjcC6|q zEtuw|f>P=X5(uJFLqLGJu^OmVM+5EiCJBxE zP?YO8UAxiZht+|XtR9U%y}h5gWtGzVe#}V1sdi@e_KwwZ_+X;@;ed{tQhL%vv8)8U zcW#{l0YOng(In^3fymbGH(fF6z8&q}w&ff%U$W&1z(;0#MQPtH1?Xx?-nqySfN;|H ze*T=pS+ebJi@P3~i_03cm$?p%jB6v_d_(zgYI7`CJXR7k!`v;;UL?Ni+vI5|>wgeK zVAUZ`aPDRq@w4SCQwDf3Y5787=66~BRW~=(gJ;>f2-<4pubwkdqON^LvDffyU|>Ll zmzOv7@gQ$iRn==}2M77PSy^(48G08lUTo@hk^H0$qBOxb0|8{tPEJP|`n+~JqlZ~2 z{bmzmDDoLIGGRg zQ@vd=FPT8AnzSAn3s%R*#Nb$c?WXs5p^2L-kfB}2&@?L!_Ud;{tP4UrC?=tGzx*v! z<0Xt`<;RL{$PR;PtLv*hSGg8#m&8E1ZUGq}_P@=u3o!Tt;KB=Hq!>V&Xh!l^C{u9nHY(WVF^brAn*WS76!~h z_J|Tj2Z>ApD4>n3bbZzefpkBb=#+a$&^sc&iI?| zN6h6v4nDO6lC^Qg%e6O8CB;NA2Us>|kGaLQuP6^0bUa}V(@ytq3w)o58s8ar_CDT> zseAugapR@*2gRI`Qky=K;mdD#6>i48Xr3C?c|hD+w4gmndOoai?dNy{(W8mR$2RSE zzFCFEx0P@3LczZw{q?aa!~+M`LyK}*i$g!l<1F`D%=spwef9%AOhq$mP@{7B6jR4; z#EKju`pDY}d9smJsLmaSwI1xwT09KhYu6?Nuim-fBa z=Bih$*HpU6sun&GFrf1Dl5mAJ^spJAw-zXNnScSqyoy{zfH=R9_T;BSbYRX5WM_-C zAc?^GUr0L0{FafB5|;(@_V8&jYrl|daGn#Ageb>(62b`O>;5jbe%CO17a<$^99F6S z{L9!z#*?3pK7;qSky?bJ=b&2&f-gu&-BU!;X6zt2$p2-oi`|24YAF!CgIol4oCu0R zG7gysRjed5|pvax1u}A}JWLWEV$QXBYnq z;^!o=--28n{9P`HiG%q&NE&osEDt!bgG7^vpBH3p>dmz$>Tyw0Hja{!-YwNU@$ruD`3fedj`281I9SF|C z|0blM^Qnl5!rufIgF5XmfyE`I!Gawm^N9k;XxoqA|WdMN1b9~Cr^s} zbQtWOBN7envLW-~lA@R_0I31M#UwE^vq%mAgOEoaBCyUKa?qCrNrj=4L9QYIDiFAi zq{lE#;x8fS;V?4Div|GX7NSln0NK){J53&jWoVXP968}AZdVP^? z07z{@;D)U`3@lVedXeCtO!_bm7~CAjk)}+Gc}Ibih9k3S5O^jpu95u?2$+zR{GtbRIMgaioxIoCwXtFO)05zQ39B>6u zLVhugIRPGiJ+5Y3qu_TkPb z<@GM=7H&!JGYQ40?3m%eJEiO1Z@;GuUcEd*V>xA$GkBnA7hg>|N>$WH!&Om}StyX8 z8!nwG6T}`e13e5e=uM5mxq>`K;L+GRU$^xHfhl|@3^z6M6M~Q#QcuTVAMfk_pb-m_ z1ym|W;$TD^ki!TPTtE;82qNwxxS&WQND&WLMvE$qGbd6|6aJO|bUKOWB>n01ly|z& zf6||jGE#yIDy1#05Ii0oiyVlcF!0A%|t~D|)koG^do=)WZUF+#3=ya)n*Qyy8K=W6vPN(yx zPHI&?y*QjM_3v6$eh&Zx{m(&cEg- zn{E6v|Mo~jIc&1zr}MSY*J>F-c})Uh^s5FUXsr^Jl#r3ey40DV`9kKLq>L<>yN6GA z`aUVJvL2~)nkoryenirW{*52#X_`a)qW;0}X>|in`2834gx}Muc$#0V|6KeJekCNt zWn`sJ_$51aA82btpiF*>Xn4Xd>TeB0?8ZWG#soFuW)2wgZhS7sv^#_7nFcrJ=JyNt zYwk0o>Llfpuu4lN=1DbtP6)$%<6h?ep2^9zqSiGq$Ya_=+s~bz=u%X0jCnOL@%mE? ziZK=y+YsB3tuqy^?Y?uDTb!;4zhjmr)34KHSc$=9RuZXWjD%d*sbC$Sep zy&m6SdqexOR_}*>{}H+Sy+rJ)yhsHpDKS-AIyaKXC5q?X-x4s!1ccU8`m#1R%*j&j zF8wU6WDKc9rA>8yX})Ik+SQMHpOW)s($}!b26Mg8k~AAMne^VYUUvz@GUKure*jT! zlK1s@$L*gY&N1Qqx`=pL|8M3={8UBNYlMOl&2l%ba;wwr=>K&KadM%Os=a@p7Z_df&$&Ubc8H zE~^Fhk5xI9q|;qrQF$Wd@e%Kd$kUVf2QxynYKOdV-jWAPXh=F$lfv`Gb(Lb7ouXVn zd5mT2GYQ@&6nL_NqrTc6QUWH@VNud1R42CLPyKR;gCN zkAQ!BXg(zbY3tZ*PkLvqrrVo-V3|dy*Maf+(9YfB8b2Hofm)GgmD?F#uluHx7m8p0 zsgLgOOjNHO>?4unBS8<0HC6N(jv5A;lvs(n(6z;&gqpj|f{WWyYRXH(XyEO7RfYNkcq zJ78Ue-R>~2^~gXtNUU9F=*=s&#P5}0h-H4fsRfHA<4F+XOxPl~;oXYrU1rT){${ro z6Upw%i&Ck}%NV)OS49+X+oP~R#N{p{Pf2CSje>&b1?z>zm}}E1k7mRNB_EThKH`)n zu#D*4!A+^Eagnt$^G}zOu;VGPrDVi*SLFMe!|XfPJJ_F4!EoSr-d|VBTr6uelwHgY ztwAcqd*DvEA?%_3ZHX#PNxC*{*@2>|wU!q#M_G*7i zw4OC)a^(gO+E$#Qw@5WYKF3vcpoH%BaE`NUoPlaV+?9{@Fi~37fxP<{9$@?FrZmcM z)<24AZN5;`&}(F^)#&2+v>~5u=T2xIpubO}uSNG!_%dOOEqFoexpDBQ@C$1LzNVm2 zOo@cBu%=QcC*B^>MxxzO+xdK9)C_1;o^fFo^riG)mWtss!N>fXS@fQ*q;tEyl4`sC zq+RlocpX`Nl}<}u;f2yi-(Md&uB@VJe8aB?hkP1uDIVofXplQE$2do)vl-zTQd<6I z>9SIUC9rTM4u9N#jO_0Dq?Xk;7o4u%$5Xsfo&!cbH2W}NzZ9kpYfysiJ@xq3f|(56 zuDc}PvRJ3=q(D106~MckG;!@`5OSk0Amnq`Rub&-9mKc~;22<9zZSmo#g?sKOI`-`(1 zpBb1d*}ig}cl9o7asN})!%X4+ZbuPKmD=#QaNvgWr6-COw(SK*XbaMnd zQ#>lRs_^41vL~46^rLAD1eP3piLP{pzQ1_ap|I4DnOj@3+Gb?be+gGu+L1BwI(Nuu zXH~dQ@X*iTaEpM2OQ;~_W6~X8m%_&gQJ**aH-o8Q9c{<=u;bIhth5ld7jKXRw4PFyxiHqai>9$WCYoO7|1-V?ABQeVvcQJXr^z4@$9iBQTF4{#@X%X_r-#ON8Jo-IvHO)i#a=&fLcn*XYFQ4#j8sW5HFa_{Enp&T%cz zdo3ne;f6(V(>I62kRy7-a8c1tRtfehf;7w4xssrTH%FGZ3wc&`M@5j* zR?A-)i0`;)y{ZqZ`Z)4#gL+)`GwUFWucG9{JDxZ9w$JG34hqDIXq1~?km0^Hf-g?Z zh2qR7ZdSP?|G*e~@BF7PcEYx#ciz`tjx6fS>#`-(4&%6YTO@CZ$!x$|BT4hYb2H+r zw{1$~Ok-4{E152&!F;+IS06Pg$~N(?80P7#@$td4#Tv|<^3Nvd%|EXrJY$@v z#cCXGl5$z>ikRG!*=;K3)W&_aj@?KLO;mxS0U@KJG_uHw0PYOGOMqEKa4MWZ%Gl>>EN!y__UF!`IJ(kfIUU5+Is0+@FyIuGhSs# z5f0Q-l`qku1hAGSa^I<*VpD`Scjq?k)kil3hF*QmA^i$RTzO8kDsY1{#?+VbTOZ0K zXrs?6lCD4RUEF=+fS0}>-#J*978~z*aW-$$T0aUE$oX}5emK06x}tQL==z6Oq)ff6 zTGfs$fciD(XSagbXD*1%F6)TsIxuwi*gi*7T>239QNiu2P_4#d)_KVwm-W8MnZn5e z(`nVMi15$75fc{`-)7acXU`m256ysls2%<7TM=wFto!&zugC*LesY(6(i7Z>wJ2E9 zbeVecjJ86Cc=#Q0l9nRDL>uGU8fn|a*>#dKF8yfz=7rI!R6(bbcJG}mv+7V~@UUiX zX6vTvB=(@d)ia9+sEUkMHsZqIhclkw9`0q1_)bGboLm83YmT=oQ7_O$1~NE<%yC&O{Bd{Jfl2+cU4pAuRZ~&_yt`t zCUwtZP7$8*9eY>YD^^z8Or&R=_Q(w0NL-Cp=4oyJv3Pu&`)6u3 z&8+k#*C!J_mwPv)W+<#G&E}qcS*jJ5cN`=!i*>6h9rSue^0m z=wEy>M`5xm(26daXxKCb&k39{Fyf6IBxJpu$wWExh*yj?uKwqce8L1fs|GmtwY~Wm zkz>d85d01~#A{uU4gmRSYxcLJ@0sgqN8hq5@)z)59eujmSVv!>2NDN+4vy6xBqc-g zU<8;T3;rbY2Nw{4!RO!saC{&W5CAFCk%3@eH~|fqyNy)&Z~iIXzwE8JAmm?%ketX) z8`}R9a~$H(HZBDJuUg&6P8-_)6LTD@l_)M4@2^^2$W9yD{}Xc@s`YYQ5bj^KI+2|= zw13z7zh;g@wF)Ov;{0`jjN`OvY52eDLXi^tn+pY34r+ky?;#RN5??zmw>{R!fsgFAd6c@B~qv{WOg1NqXRG)D_8Bw(Q) z3tu5H_x$H6V|R|<;RKG;vj0gx?S1-_{x8SOzB&P$`RU>NXX(?E#h>)kQ`4XHe@%qS zcae$MUKAIT1_v|Tzd1)WcU z!L0mWESIV6aCG@y5)N7rWuwX`9wrjY{)iyoxB?^J%4`^mgvC3Z7if`iA-mwM6NVG) zW#r+Ap3(W1JeOW*CV92SrXi73CSqJS6K~6tqe0ztS)F#5i~M`m_7D8$)B>?Almp7Rc7# zmtb4??hBi75KzuL->dR)=7Y{A$8uwocQ}Cis?em*+sP}q%2LI#9o19JgZrYJ+QcgS z1^l@&V5Ou**+x~YMso3$X$(8X`4#i$2QW&Kpvy6IX`gA*vdj%dVAJ>LIJ~kL?zv6p zKE6Lb`%KD5opCISC+8Lsu}_Gw=*pySidAJH!9s^?m&(fer-IsF!VjB?X1Mq?BhKd) z`1vHfb3m6C>+G%bHxHp`t;<5688y@1EgbZPfiFT^*?*Y^u)kCjG$Qv(9OKi*`w?gv zOh=XXjMOUFB2NO)8Q?tQpr&paq*?N$cFZmJ*@ofgf|sfhaTC|$RBoj1?ek81swhtwkywms6?TPAulk-FBD|%DLd;29yolPfE!J=| z58h9hpdDYjhN7N~>A&XDVYIrtELENn>0qeK99}*;nI*P)uw9g!Vz41(ckaw_)4|9R zQ)Ir-q0w~jrrOPHg&m^X_o-q@&~cF1EM{JcN^zg(iSN4Eb>F+#`H;3Pw zdSzoEE`7J>(h2gcDX5}`c6cbZ=CYnCr*lueCcmdAcZK=ko-r}6(L`U`!C23I zwvWcP))OhNjmEak6M0|F2kj(qNKqYZVYb$?_nRw7nX;QJx|uK;3e(_;dc=4>CH5M7 z)cfhDYVSSzL6*7AUY22#ttH`WPx<#kGuB1*<&xXGNA@h{Y9hivx-#1gxsxgEhek@P z_exD4jHAA3T{Wn56m^!9H!f^1VExRvIxos-NMmr%<;=?}8#sP*)u%j_-uH+;Jf^P8 z>geNUN5b$|#3qX=Gk7IwZP}NrPbH#7bHuHmx3j!(nJcCXOx7qu?LD`-86ydcVRn(#i+_7Qkmfk= zWztAF`s!}hRAXV`ug%U!OB>Vd7s^tGYsAxYYQAi=B^8kB2W`A#H7?J0+HO;>*fpaT zUo3LkZkM57+fmui`$;_8);ttIzRS5=EBWAx*(?>lBoV*ejs2%$OR-yyn-`?*_KnNe zNDe7>Qc+(;SkHJbk*&WB@jDl!xGJc z&q-dzY_}9Y+Gl8yyQ_RQ)~8meGga1AL?ayK>kL#-AKdaR%|DoAhw(&)Z5$Ja-fWy9 zKic28#KpueG-E*^@_4iSXlWtQEzgI%MbhOkZ>0QTtBmw>ufw!04&d(Yy}BFL@00f? z^W`F#Jff&-BZaT$oE6`A<9I;yB&aw=^N||cq)elSl)hDR(uhU1O}5f7TciBZ+&6bx z`yY?o`cQ7mZp&UY0e*pAv;Km%jpomzCxl^Tl3q8SnU}Y5X}i6D(6TvtPJ z+Rmgf|LlVt`2;~$<_D4rxi*(`LoR)`Hf&K1V9H|n3L{=EIbvH!!0gtK6P+0HdrAc| z2E#l2zQMTUdwH`QVd^JND;-{wBnF;U$F_GMmda+?HI8S8&qw$vv;$DJywa(pWb1o}udP*bifA zkGmWk>rWXTs&8r9^^4aEv!c#Ab@=CLEhYpus0RGXV%VzWgkLJ;mB0JUP9a;Z=FUn* zjT$O;&Is~a>3x4F<9W`E_xUT=`Q@hM>nC2TC)MP)w77m5@mS= zo!&hf;Ba{#CzSj!NnDKtukf+~}jvaM0jP81oSy z{gEs7kqQL(@svr$gI!m+GMWKw`A)H&6gBMY;nd+( zYyU*n@J(RVC0K9{ca}rcw}&3tW%K&4)tKMB9|pb*E~q~u&R@88?DwQ_AniK)gF79} zHlu=lZwY5UGCb(D()=FM>R6mS-B6MMx42R)b?4#Hq#&KJ!PLmdd7X}k?d6n3tx5FY z_t$P;IxPd~(7VwZ49@TGE$P;vehL?ExUSeqeGRDDUJkGLfbVUkuV-Rr5@c19U2W}w zHu=FyyuRPs<@|=Q;=LZ7w-3MIIG1vhTV$}!zVdzPk6#?oWD}0vHG=MXm6wLzyCyz* z?KrnG52n6J?I&WpMEq;=j`LIcZJ#t2;qkAe!wF$dTpw=S`nhnBCxn-K;Q$5Tq(!N9 z3vyXzNQ?l2Vu!suGVqt>A*9iEMvepGLffiavQzP} zdskOt;U~2rzJA^AW7TDm4PgP4Q@4MHs5)gDfJ5F$K&lWcQ%YVye{cTMm0J;*)+$y?d;o=~3x@ zia`RB+`cjBNp86l?t1H_$oRKH=j^$J9MCt!d#wxteJM4=8p*!^$gO8@kMtRo`t4UA zT(G!D`WTvVJY1m}C#7;UeC%F~#%OB9$dfJ9>)@fbIZFL1k@UV!e)UVE28$y8M|KBx zN_y6MQ=U(}jyhyA9$bAFsh4{B&B|Jd$to4^h@k!AH-$<XA?R-pkV`1I0y#u5VUWd!(2+1wNUWaRq&sQ%>M7b1(_u;+EBNZ*UkgC*?F)4gr zkbx6m;gS;Eu@F0dLGAebc8m7$=>3hVq;2EcVgei-;IE`BF+oWv=_;Jy`hT%TUw7hl zb888Qv=9`7qXK5(HQs{^%570)RP=&U3*+}My@~j-O#XPcvLcBv9s7mP#7l?}=4n`(4Xl~vs}?sIB2RrZr99%|E&lcX@OY7vJLpW5!QH`{Ena1pm%QTBUftU8wJ zp`oUt!ivZ5lG6WFQ<9T|y?~5Nz=brsH(pC?>E;s@4$0W(+wmQDZgS(kw^fwjpj0It zA(xD6@2OjDyES3uz4S;oeEm(N)fw+lN3+9EyyXjl*Y*lNnLQj(*y1Za5Uto&^1hZC zD|uBO97N5n3)wxQY(FzXUDIF3R9@EQ$P)F_&#>+#$2_Xp!!7(g1E{JJa|zc|u$K99 za(iGd8%kh&$j0BtK;z>1;K2l&>#=9;C$!@$p5`Za)|$K|j$XUbbe3JHCIuGtNr%!+d*^_*3wK0vp%h(KbJZOcFSm8%!K)WETO-)f+c^ZWH@S#QE{ zuH>PcN`?g*A9kK^tYT1m8Ju$0i_gj|$x}zmoaC^Rr8WCUYdI^=AT2Ms=7zdcNZZ?c z@&wtOb+emd{WssUQGB<&D(JzP{>g_@8dp#7Jw9l-V%d_7QUyXe1ZfLQz?m8%)5JDMvBzd6BoOJuY7xPh zUHb7U895R1tEx^#;@UEip~`oT-8{!3S!r0Pqt}K}NhdK|Cnz~`WuJB=Fg{>~yM=eY z`D>%Wg)0pklXNv@4-EA$Xa3w|AhH)V{E(urz^wEL|>c^R|S=4fmF1{$TNK*=8IX z-K+n>_`cw^ih)UqP=Pkt)oZ@?7mk1VY-nxm-`i)D9Mvu-c|a3y?~BrGv{0yJzgCwc z{LxS2;2mwLLRr}3n>TN2-+aqXf^^XEXH0UBt#fV3mIceI8@aum6rXjqQ}QTWc`Smj zj_ycFHE)vowQZ|S)gNKV;+WR(yvM$B%#bWYeT&g3*b{#xk_}G&;mwcez zcjFJ#8$Ze3^C+PmJxf@t=!WB&aVz$xlc28cgEJX%X|sMY=-!;idgD*#)oC=%R~x5C ztrCt$@YdWdqExNz&f;({a(N%M z2B}W%7D(~3;$%ohD2Ba%%^F?H97=9H^#c}C&?x8s!RUHq>vQf4A!+2UH{Y;PuMNkG!rp|rNlYvxN{X-f;cH52cyho7%m=t!lw zai?66SG07Y!|@(2Oc^yt2csqTbT50bK*#fSmDw$K!|nTf>)K1maY2`ZzHnI!G*91# za_LoFOQ&Hg*2=Jc*^y_peV(44>%+stX?9_?YCWyba%W%g5pYU>dY_tXC8|GTPj7Nl zGuD*ltuw7$^pP5S1%cooPO1{+==hW5P=Xb?eu;S5`>(8YN;^hSL;kWXjO3C*rGRa6 z{f=rrnA!b*m3Jl3P__SmR&y^JYavCJq(x@I7$u1oOP2JKC6dTm$&#o>B3oL}T&XOT z>WvmDlTxX?+-BcV`{;wa&;08v_*M-n$=guI$J4ybV|Dp2M+l4!#s<3X%ZoF~T`C3d zZl}d$^1?3{*P!&|1D zJhwNdEj-x3NJ>uii|)>D88Im>W>(9TuiU!!o}NoUN;}VVdO%j0a>CD|@q_BU8LcnY zwyriIJn~nFNWjibNgt;Bcx|!6*V2aRo?cg7d5?E1f4F@-=~W%sr>S z8y>8(wrnumU+fkBWf(L473YTX`;UzMU#6BFHAm5r`qWq3yluUu=h^<_QZ9e9dX?gh zn7l;Z+%q<--W8|Dy>Mkk`O4auy-&5Y>{?u?$#0rw_d(|S!}YO^ip$TNUDABj{P)vU z0UvVQYfr)gqQPBInAOlay3qjp`}X_%qZ4PoDB?X!vC%9_;;Tl+7c_Fb=Qh?_!zE|% zHP7tT(Oa!deRZ~|Fq_WMoR_XOG`VZsovh7QiLn0GRlciE28y}^%j|5E!Xd4+gy#D} zOsi?<1L6z(LQDf=j7tii##=r4Q%EFRGuUnYDGy(k%bk7%
;yXgGA&E48O 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 jO~Ic1OTkBQsHkO%e@ zy*uwob$NpI`qQCy0~UFF%k(Xom`iQOmq=R`x!xv=h2c9$UrlHWG)kIQ2Bv>IXJ+xh z*;`&~qetKPX-=UGoqCX)Ag*k%tN+5c6uW0&GL7Q7hf`zYLhm?+#WA0`wBdKAn??rH zBB#zCVxQM5364ToQeC@{mlOLl3`NwHu(8oE0s*h<1s-s^)g3zW1#g}H_y-?3{Luw2 zGrvduSyOv}Q>blKTeI$)Jh@@VZ2O9GR&n{)xTm`H%sd_sG(9OAooMtkDjr^wEGQXN zVxM<8r`x@VmDlL~R3c-PQZC!oY{Nd3&kz%8+GG${-G)ZXz1lrdc68%prc|!IW&K-L zj;YDXl3Oz6Y{COnGhlP0xkMe9=K8jAJFny^&euo@dW4&N~%+{MTY3Q~w9}P{ny1L-k zud7ZCmD)F>qlbYEzdn8Hu8?&c--QMt?hS? z#v(&1@VU3ohfZqtFVFZc9I8Csw;HDDEYrSv{laSd(b{Js2agesE)Ou%%#cf8?ejP) zWQ$2=yju}BY|+^4x;Vt?I@NyHq3nq`M&cvn)c?)M;Da#dzuj% zC!?n6Ij<|uTuZ3j5yO`ztyWUDwq5V<5GX7xf3a~4gIPcaPdl%5lQRt=)$VCsa4DJ( zO*bH~KJ>Kw?Sch$dkAHprUBiD;A>~L&`fo=Z+k>VL~QQ#^z@*cdV71-f&v2vZ=Qer z_;KRepvKj!SHs-g+%)Wt99hMTJVCpWk&|<4+vjLzUb_~hG}n!H;TqIu&C#kVEOdhA z+Cw~4X~g&Ki^N2%Jq!y7Sh;cgpbAH;|A;R)w{9ZI49R;Iqi&t&A;$L%np*jDJLC@f z+UqIkc3Xz?S{{FAd9Bo=?rN2&mevynrTv7U*-#5%L;39j1k|c<~E)Rh&Oqysec!()ZElgaNaYtYa7GH&bDa;1D468zHL2q0$Q3hUj;i()6qgo*~Rc-oW%U9x?Q(>{BJ2&YOQkK{H$gmjvt7y-pEt z)O>aT<*n9!s}{dqeoP?hJo5{X=1bo6t4qVWmwTUIv|(7{>M```>AOpy>r3L?-A`}I z5(c13#QQpS=n|x|X+lI$Pt7I(_l`-rQ-({r?Rq@EzF7`h(X|qlypyhXuNhS$k0+K zr0V)m_~{=rw`ylj_1QMeg*;MrIo==mLS;2c|-N5l2kW(7r>c)c_6^U)Q%%?<1HVXa16-%UOLQ)wdk z>!sYO<5qDc+Jw4gOQ8n0acjvZ0vR9tn)Ae;d}y>iYmdU;{PLoLPjUJDnUEVR?=N;w zBp##BNl%O~)vdM*3=n!$!hO2ym1W?E5j`Vl&`|tM6+Ui34n* zJLxXLHH0@iuZwBg<-PF!E)AoI6?1+%E@59wwOvfJ{3-TF=@`QO+BMEMKB}ckvtM}w z=PPF)jEP?LPl`(Tydn-esbzdLSYQ9qDX=j>&Hl`%>c!zOw>#IUAB+XueQHr?Yaf2N zn7y3B)covQGDAZxW6|n`pw87ns{)(6hwN3(hh(@^@G84nCD5#E!v};BAPVw97xbko zx#sL!IYX)jH#7FvGkbW=otj$|3n8!dR&8v^qRcH$lrkUos3Y__d+CoN)uPwxTxhQHIDj%U{ zn$sL`$6rsjoA$}2DYSUFL?v?8C{^r%7Su@VmlO`W|f=Ow} zFoPac69(;q)R`<(5mZTR(U3%R*J(*zO;g%p${>7nPEoZ`*<8T;6UDfetCe?Zj@wk9 z2-BPUL=l}(h<{y-S{rvZjoRPhsuJ|jKjfjZkJ9Xk%FOa2n{YJ}&Su8Og4!)rCQE6i z-rm06k)v}=MmCYz_b$IUlsqV&s-xKDa&L^MgP$!zyF@Nnb-dMf(|xc=HKps*yHz7o zC+_J|JSy#-(RB_phkFu2t=x1nR}&fLP^#6eYbqbjUQ)aWx>fw<@~W;TZ=%}ca_hnj z#;4VCnrA!;%Hb<#ukY3`id%gkQy z?2SkFvANmRC|;N9`Bb0NIQ_Y_>*he;o6;}Ms@#w9UMdR4_QoUjw|tvJEA!0Wsd0=_ zKMiQ&GH(jiwr?OmRc9$~NaOd&#M^gECtLB|#AF6_y<10(xR-IIMQj{hf zj!y9(MFsF#R>&@({7T*rUPiXz220Xa{pe01D$ipxz^(Juj(*<*Do)JpgYQwnw?4ms znUZGMPM;@Obd&eqG0B^I-@s#LVPz3!b;q{C-MurWOlDI-!KG7cB#?HAZMU-GluE4C zS}J3;i)wCBHEZNZk!pF@(+5e=OSu{Hw0#no4mAF)HOj3laKD+u!0~8xPiGgd=)C?e zrB1Tw)1@jGZWd;+kf*ayj~UaYzFXLt9k+M5m;dm!U|Gv~ulkx7x|i+CTq+KyhW8jy z=JgKFHvPF$(*Dyuu6d$tcPMi;z3>@@UF+74VOG+sG(S|h}jN8bRJVd4C*+l z+#aRz)J-@}Jo=Wd_{U{an=pxwW%hPwp%eC7Of|Q3@3XFg%7>&F@7vR;#o}I?)FTEe927U1_f|hVt+- z1>AhvW?+{Te#E)NII5%4{XAY8Lsh|%&DdWbD~@$P|8=oqkt5+ug$YOMnF>Ao(1J(X z$IhJ$m2+q{==RHo!q;AWt{l!hv%;Rak0Z3i^t#lUyB6syXWDuXZ>>N6{$9D>JKv6= zWhehyZK+&pSlEj4%S+P&t!sH*%RwPuNA0-hOIhnE%^WSGRR+fH$a1E{;3r-=aSN}c z*?@Pw)Ru3ZK>?>dpQt1>T4B;CmDBED6#5a_vbLS}?tVvPJiF_~vwiPI)^5;hQC|F! zRzc;H@HIL6K^q#`#`m4d zVH4X`zp(`~t=o~|^p|dbabnx?VBy-OJ=l3rHd!Y#ZoK8}{wEd#x*Xxz5iFmgCPw?G z=+^`^1GK9P`Iv6sXKV4zv`cWL=P%->{Nm4W=?=T`{iqXTgnK=LGjXgx=-iu6ah?GCJ`AZ=rg^r0uJq&p8??E5*kz znNGZD3!+;eUr|jLQfR!jo*%$Yab2^a_pQiGtA^O29;MLSTXfHIy6<12Px7-{I6TmK zPS*E5x9+P`i#Eq!+1ox8-uOImb z(jGhK`u#qQ3CQ>^##FBGk-S+-et1r!D|zyLq3RjB{wCbP56mPc;<8Ii?cbOWFCkJ# zKT-Q(M8Jq|J|WlYbJDSvYr1_r^=H?IzfP;a*f#Ae>?4W^(K)7t_r0^nTS6=Gb|eIQ z)R6UiP^r>^JVW5B=swF51G?w;;FWBu^rpUIBOUW{fu%Z|EYlBp3R?M&R(TOeKiHc+ z(F@_oQJFY|WgvK(wq$w=$$u&oh` zM~sneZB8C~`kH;sc_ZsoxSTC|6do-})k=OQ; zEEYO_dW!8+L4D5*;Zp(Q{IE0k3hC4$<&)O1tRJ7}=1v{4wT;ZpmrYw$d1=`hlc|Fj zr2I@Cn$MS|%wL}#cWKPygMByt{MJ(Bm0WiTrP(q5YulRZr_{DArY?x zj>rrktcKerXrK6E-fDA`1(F%xccgOeK{0$(56~J`gS>fK9^jHvI|G!)l_uk#T~7j zYi)fCo*Dcny|B0s6{*&CPbTM&*RYI28O)O`4Y!u{n{3{+SJB|T$15c~Jw4}VW?$fs zjNVt);Ly0$B;)=5{_xA7ecx(UNZZWUxemH%CLg)GEXHK zHM2Ehq%P7*-rl!xr_kK}`PJNF4T(SoR%YWD@Z@O~{lim{f{R(f_Z_T1`qRktzV}0s zOFW@0dv11vV6bZ$Ul#E8aE{H)+k))lc#oSO?;1K*lS`_)RB8ea80K5$@FST903?9^mhD!ZF8>VW3rfla;B{4UWju%s?fMy3(pw&bMB@ z4!&=fgH5{jCZOvX-?aUv{)gnSBo))Uc&4k?`11!A`|UfP@x2XfYf&8KAWgdWqv%X! zcPQp5d(TZXQ1A6B%G7U6l$HE_Swb~>)r;(@*!nep(gMe{%TBIEZY5Bb**lFXv7}2r z!AmPlS4)yGlsx?|(y-E@H;E$-EJCd0b`)o9V|u!krWsyR20aj!_weeN>`h_MdyRkJ z_#kRWW|Z$sa8V(kd}g~siPXX&Ef`q+Mv5t8P{v5{w2W4AlouwEP^uejLWl#BDfDr| z>l(SUe5~Z#xbc=9iZS+ezodIA!6SLBMGwmjX4+Q_`0Ms$~v^JCqS8PBU|JnH) z`t!~gpAN(ao4!MQ@_Sc4khrio2xDh)tT5*c&J(#Kg2cs~XK|cx>O~w2oHB=_CbZAs zIMA^8Jnk1yyYV98!i_~@SaBeD{EwJh&|ePwX*Aw~(c?s$F}3YA9ZIsTfOhvyqjP6T zA=SIZ$>OJWNW20IXPcAy=@fWoxXn{aqSCZ@x~ZMzk9g?O$CeMnx!4 zv8x4;;?JCGY_X0BC2y5F`~Bs>rUSP^3fUz-AR>40TG!|^``GatZ%=+1V4hLC#_K@{ z*nWD~Ms#Vd?D-c}RM~asMGkmZyK$A{-3Q^4 zpq1~BmVU(gxV(c#*-Fiid$cy0$AlWTQpZq9`UprBGhWX8Mm>1Z;<)E2w`nVHe5g66 zt!MlCq-@`rdq>VQ-U(m1YYq*`_{SA0eBQ8*DWdcdbmjRxlfbm@Q$$na;$*5*e}3E@ zSF4IY|E-XiA*EBFJl;BH(q3R#_oU@^BsT|>?AptoqE{dDxVT;it@AlyH&$6S;?$JS zqD3?W8$47r4@AI4H=}LG-80A6JpBpeU-o>NoT~%YqE8$v);L$n@gzae zqB-VaK_ufOW{dZ4A{IEsS#w;#DO?suYIaF+R}}} z5AoKO=OvGPe|9r{rAO4&Qd{6^cA7yxd7?Z2p;7ZB>-K@q64P0J-;u-5s!ise!VL0f zy*=7bDSl6o)$hl-OXQ|PshdWEQUc{pXi|D+*EAKk`)o(t@@BU9L$u8@vGjBPsnIr!T7I^_c)Glw90}D4;#;Z+mvd%+u_Kb74rPv!WI11 zYuyRQofpdyko0%;PZ;0JZmoF3zz^Tmtk;H~`|gHaMNcuDn3((i;m-H6s;^hZDaA)@ zqx#Cvl$Dj?$;rvRGJ{8KW=21eke@y>%Ij#`go`c|eo}K$qB7^97I52tUbI_90jn9!^lC)Cs|>)! zk>g0M6ZEO6)1`!}`FuwK+7M!}9)miKyv+-oMeU$Y!_?xqQ-ssm&;>LMazIvpPRk#6 z@0TDj-`)+MUnhcGcKv%Iax(vzNFk`CNI>Gl279rqKjy#z9p7tP8FqwlMOjC2xWC%R z;k2k!Wd3gM_jQ5Q$Z(XPyxh;|<#H`_12}`QXnz>P0Uaen?nue*y;mv^yZPht$Yl3o zY2g|Q@_&Y~`NaPf&HQysq^1AvS^?=Bxt+oA_nyeg$in`TP!+t)_RF4JHX|v)#NlZ0 zQ4L{QmBLmaW$LPYI9~>s^@oyc~_H%cfcO4t%R&gyuUhkm5LTn9eJ@qE$rSA{1 z8{mbO?>HBYS$$EmMBaG-T7VcT(K0^#<>8d{v^R&RgrAmh!H?oY##jFO-Na`jrgJDF z#?^6qF=fe{|E!)d8dtZ^&1w2o-p*Qa@2w8$-H*sSiJ0Ww<4-0g1t#-ebFAi33eC8S zIDVujSv1ea9^l`sTb9XcUq?ZhS;Nv~cRbw<3Y?!iIs#20z2=k($&};jgj~N8YKm+BovLUj$R8 zWhd&9n%v^wn-H3XjIrft%(oh43VE|ggVnF=^DFa!^NkbLt6!&U>xCcU0o3Ctn|(#4LhMcd2A0hS4{kIcsMxzl-RJp)PI5y`PNE?(3*+8VO)w zk^~RR>rxK4N_^C;Y1N(QOyIS{NEnHhy;py5ulC(h4!C;JM!SD*p7&NCb4&kcA1?U8 z)ak*YoTN5#>*{H~wxw~3@0aqG%}*74WZ_fn>nolA{&_nF&puu~U{8HxI`PX3+2F4H zDf0kp?vJM{$|U_=%DT=z8zc^f3<#VhGBJ~ zW7qrG5xdq2w_&_Q3U~ee+4v|Axgj>)KKJS+(Wm911%ZGB^0kEvd#xd;-zeF zdTCX8+}S+1+tmNX#y9tR$yulG#rcgd`zy8jD^q3X8}M{K=aJi?pa*!w6wf=&pI3a# zVm_~DtxSb%U+9N=?{sF{>DaYrbxg-X2RqMaY*P86Oe7o=>T;m&Oo@HA*b@Cyn`9W-mbE9%^(mSaewNJXZ#@kF) zzwws(>F(+)zDix$y*KsbvM2j|Tic*fE;2w?+Z1UXm3& zhNtJzCq*_YEGAUw0@)r{@g+Uts4jgq8gcWKhE1QR&8E%G$& z18B3eI`|r{j3YysLw|@n9wd1N-zsb2<$d<>?R!eExbe!9cj7kUZkHX@Yz&@#gIDw! zT9YU%e{vD;FM|=e9;U=G{k%ko0(bTc^LEUkA2`}hr`s(i_3LxvW^JPM^5XKoLcR{| zcV6F)T%iuF{>UV4)y$Ad>Fj2=k#+h0ZT{JNh5Q}(9}4#*&#M3EJ#kDJQ~otG`$$z% zTzUCPQ?^^;Z0Fy-d)Jev8bSt(yU6i)@cNS-_ZX#_)xrO$VLV{eT`gu(Wh(ozNA-~h zd*sAZlBV@7|1Z+~)0ycbM!grjCJ*#o4nEd>SgKWhD|R^~_r^<0bGK|oid0><-1*7y z{MCTITDJ9jP0mGELK)7g1*x6iEtkGIM>zh8+Afpw&Ygx6A*Ku6L%Idqz3sXkln)4YAtC@zJ95RcgEnn?O+C#%p2*FN!8;X z8y!BCZHIRYKUzyxw;l59a#y-g2v9662e7YOoamkuwmTi^KLFWT9j7?c(wS?dQQa0i zGH33@SKSu6TE@k?T^l=VbIckMp={B)&D4e3oiqx_JDrE2b6(ATl^l!3&3i^BrTW25 zOo7PDMXX=5J&xDk$@|6KOSsK>LZny$#{zPtBm-E^6u@$@Zv_ z+Avq$xA&C1{y@o!p@EttTdWjI-0UIf9C;17z2IgSBNvO%0A1uk9muZ9Ik+gwyej3& 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 Zs;#uxnEp+u?pep>_pPBpftRD@{}<>BuAl$_ diff --git a/Hazelnupp/DataType.h b/Hazelnupp/DataType.h new file mode 100644 index 0000000..bb40833 --- /dev/null +++ b/Hazelnupp/DataType.h @@ -0,0 +1,10 @@ +#pragma once + +enum class DATA_TYPE +{ + VOID, + INT, + FLOAT, + STRING, + LIST +}; diff --git a/Hazelnupp/FloatValue.cpp b/Hazelnupp/FloatValue.cpp new file mode 100644 index 0000000..001444a --- /dev/null +++ b/Hazelnupp/FloatValue.cpp @@ -0,0 +1,9 @@ +#include "FloatValue.h" + +FloatValue::FloatValue(const long double& value) + : + Value(DATA_TYPE::FLOAT), + value { value } +{ + return; +} diff --git a/Hazelnupp/FloatValue.h b/Hazelnupp/FloatValue.h new file mode 100644 index 0000000..cfa2402 --- /dev/null +++ b/Hazelnupp/FloatValue.h @@ -0,0 +1,11 @@ +#pragma once +#include "Value.h" + +class FloatValue : public Value +{ +public: + FloatValue(const long double& value); + +private: + long double value; +}; diff --git a/Hazelnupp/Hazelnupp.cpp b/Hazelnupp/Hazelnupp.cpp new file mode 100644 index 0000000..4f1f2cc --- /dev/null +++ b/Hazelnupp/Hazelnupp.cpp @@ -0,0 +1,17 @@ +#include "Hazelnupp.h" + +Hazelnupp::Hazelnupp() +{ + return; +} + +Hazelnupp::Hazelnupp(int argc, const char* const* argv) +{ + Parse(argc, argv); + return; +} + +void Hazelnupp::Parse(int argc, const char* const* argv) +{ + return; +} diff --git a/Hazelnupp/Hazelnupp.h b/Hazelnupp/Hazelnupp.h new file mode 100644 index 0000000..27c553d --- /dev/null +++ b/Hazelnupp/Hazelnupp.h @@ -0,0 +1,15 @@ +#pragma once +#include "Parameter.h" +#include + +class Hazelnupp +{ +public: + Hazelnupp(); + Hazelnupp(int argc, const char* const* argv); + + //! Will parse command line arguments + void Parse(int argc, const char* const* argv); + + std::unordered_map parameters; +}; diff --git a/Hazelnupp/Hazelnupp.vcxproj b/Hazelnupp/Hazelnupp.vcxproj index d6f5ec0..036164b 100644 --- a/Hazelnupp/Hazelnupp.vcxproj +++ b/Hazelnupp/Hazelnupp.vcxproj @@ -139,7 +139,26 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Hazelnupp/Hazelnupp.vcxproj.filters b/Hazelnupp/Hazelnupp.vcxproj.filters index 46d313e..56b3caa 100644 --- a/Hazelnupp/Hazelnupp.vcxproj.filters +++ b/Hazelnupp/Hazelnupp.vcxproj.filters @@ -18,5 +18,58 @@ Quelldateien + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + \ No newline at end of file diff --git a/Hazelnupp/IntValue.cpp b/Hazelnupp/IntValue.cpp new file mode 100644 index 0000000..9437d40 --- /dev/null +++ b/Hazelnupp/IntValue.cpp @@ -0,0 +1,9 @@ +#include "IntValue.h" + +IntValue::IntValue(const long long int& value) + : + Value(DATA_TYPE::INT), + value { value } +{ + return; +} diff --git a/Hazelnupp/IntValue.h b/Hazelnupp/IntValue.h new file mode 100644 index 0000000..bf1de1c --- /dev/null +++ b/Hazelnupp/IntValue.h @@ -0,0 +1,11 @@ +#pragma once +#include "Value.h" + +class IntValue : public Value +{ +public: + IntValue(const long long int& value); + +private: + long long int value; +}; diff --git a/Hazelnupp/ListValue.cpp b/Hazelnupp/ListValue.cpp new file mode 100644 index 0000000..e591d43 --- /dev/null +++ b/Hazelnupp/ListValue.cpp @@ -0,0 +1,17 @@ +#include "ListValue.h" + +ListValue::~ListValue() +{ + for (Value* val : value) + delete val; + + value.clear(); + + return; +} + +void ListValue::AddValue(const Value* value) +{ + this->value.emplace_back(new Value(*value)); + return; +} diff --git a/Hazelnupp/ListValue.h b/Hazelnupp/ListValue.h new file mode 100644 index 0000000..2ca79d0 --- /dev/null +++ b/Hazelnupp/ListValue.h @@ -0,0 +1,15 @@ +#pragma once +#include "Value.h" +#include + +class ListValue : public Value +{ +public: + ~ListValue(); + + //! Will add this value to the list + void AddValue(const Value* value); + +private: + std::vector value; +}; diff --git a/Hazelnupp/Parameter.cpp b/Hazelnupp/Parameter.cpp new file mode 100644 index 0000000..24e5fec --- /dev/null +++ b/Hazelnupp/Parameter.cpp @@ -0,0 +1,9 @@ +#include "Parameter.h" + +Parameter::Parameter(const std::string& key, const Value& value) + : + key { key }, + value { value } +{ + return; +} diff --git a/Hazelnupp/Parameter.h b/Hazelnupp/Parameter.h new file mode 100644 index 0000000..6f4dc63 --- /dev/null +++ b/Hazelnupp/Parameter.h @@ -0,0 +1,13 @@ +#pragma once +#include "Value.h" +#include + +class Parameter +{ +public: + explicit Parameter(const std::string& key, const Value& value); + +private: + std::string key; + Value value; +}; diff --git a/Hazelnupp/StringValue.cpp b/Hazelnupp/StringValue.cpp new file mode 100644 index 0000000..c6a38fb --- /dev/null +++ b/Hazelnupp/StringValue.cpp @@ -0,0 +1,9 @@ +#include "StringValue.h" + +StringValue::StringValue(const std::string& value) + : + Value(DATA_TYPE::STRING), + value { value } +{ + return; +} diff --git a/Hazelnupp/StringValue.h b/Hazelnupp/StringValue.h new file mode 100644 index 0000000..c2301d1 --- /dev/null +++ b/Hazelnupp/StringValue.h @@ -0,0 +1,12 @@ +#pragma once +#include "Value.h" +#include + +class StringValue : public Value +{ +public: + StringValue(const std::string& value); + +private: + std::string value; +}; diff --git a/Hazelnupp/Value.cpp b/Hazelnupp/Value.cpp new file mode 100644 index 0000000..ada73b9 --- /dev/null +++ b/Hazelnupp/Value.cpp @@ -0,0 +1,8 @@ +#include "Value.h" + +Value::Value(DATA_TYPE type) + : + type { type } +{ + return; +} diff --git a/Hazelnupp/Value.h b/Hazelnupp/Value.h new file mode 100644 index 0000000..2df5fe2 --- /dev/null +++ b/Hazelnupp/Value.h @@ -0,0 +1,10 @@ +#pragma once +#include "DataType.h" + +class Value +{ +protected: + Value(DATA_TYPE type); + + DATA_TYPE type; +}; diff --git a/Hazelnupp/VoidValue.cpp b/Hazelnupp/VoidValue.cpp new file mode 100644 index 0000000..edd1fda --- /dev/null +++ b/Hazelnupp/VoidValue.cpp @@ -0,0 +1,8 @@ +#include "VoidValue.h" + +VoidValue::VoidValue() + : + Value(DATA_TYPE::VOID) +{ + return; +} diff --git a/Hazelnupp/VoidValue.h b/Hazelnupp/VoidValue.h new file mode 100644 index 0000000..cfcb2fb --- /dev/null +++ b/Hazelnupp/VoidValue.h @@ -0,0 +1,8 @@ +#pragma once +#include "Value.h" + +class VoidValue : public Value +{ +public: + VoidValue(); +};