From 8383562f817fdb7c18bf9c451e09c5cc0af03035 Mon Sep 17 00:00:00 2001 From: Waldemar Porscha Date: Sat, 13 Feb 2021 14:23:39 +0100 Subject: [PATCH] - added knx-demo-small-go example - added config.h option (commented) - changed platformio-ci.ini with -DSMALL_GROUPOBJECT - changed plantformio.ini with tested -DSMALL_GROUPOBJECT --- examples/knx-demo-smal-go/.gitignore | 5 + examples/knx-demo-smal-go/knx-demo-ip.knxprod | Bin 0 -> 41313 bytes examples/knx-demo-smal-go/knx-demo-ip.xml | 133 +++++++++++++++++ examples/knx-demo-smal-go/knx-demo-rf.knxprod | Bin 0 -> 36279 bytes examples/knx-demo-smal-go/knx-demo-rf.xml | 136 ++++++++++++++++++ examples/knx-demo-smal-go/knx-demo-tp.knxprod | Bin 0 -> 41318 bytes examples/knx-demo-smal-go/knx-demo-tp.xml | 133 +++++++++++++++++ examples/knx-demo-smal-go/knx-demo.ino | 126 ++++++++++++++++ examples/knx-demo-smal-go/platformio-ci.ini | 86 +++++++++++ examples/knx-demo-smal-go/platformio.ini | 120 ++++++++++++++++ src/knx/config.h | 6 + 11 files changed, 745 insertions(+) create mode 100644 examples/knx-demo-smal-go/.gitignore create mode 100644 examples/knx-demo-smal-go/knx-demo-ip.knxprod create mode 100644 examples/knx-demo-smal-go/knx-demo-ip.xml create mode 100644 examples/knx-demo-smal-go/knx-demo-rf.knxprod create mode 100644 examples/knx-demo-smal-go/knx-demo-rf.xml create mode 100644 examples/knx-demo-smal-go/knx-demo-tp.knxprod create mode 100644 examples/knx-demo-smal-go/knx-demo-tp.xml create mode 100644 examples/knx-demo-smal-go/knx-demo.ino create mode 100644 examples/knx-demo-smal-go/platformio-ci.ini create mode 100644 examples/knx-demo-smal-go/platformio.ini diff --git a/examples/knx-demo-smal-go/.gitignore b/examples/knx-demo-smal-go/.gitignore new file mode 100644 index 0000000..89cc49c --- /dev/null +++ b/examples/knx-demo-smal-go/.gitignore @@ -0,0 +1,5 @@ +.pio +.vscode/.browse.c_cpp.db* +.vscode/c_cpp_properties.json +.vscode/launch.json +.vscode/ipch diff --git a/examples/knx-demo-smal-go/knx-demo-ip.knxprod b/examples/knx-demo-smal-go/knx-demo-ip.knxprod new file mode 100644 index 0000000000000000000000000000000000000000..801f3be5f5b2af3bf28e8dd59d68178662c36a3e GIT binary patch literal 41313 zcmZs?V{~NS6Zae2ww-kBNhY>4v8{$Sox(So*sc5gAjAx+IrW ztX!#7je9I@+h_O2D8)djnTw06%VSmPXV>TH=kw`i7r^8|Y|dFq_2a|;UH7RcWJDuF za^&n%KyC0&{r+#)=i%o=*YoMw8xT}L^{(qP8GrER4pY*(bn!DNsk;^Oq?}_u4UqDAYc;rQU@}T?a zRmk@I8m;!{F8sYGy$TCC7fKZV0|SdJ;d*s-71@lU6L)K8(ceU{#507jfVAhE06{Lz z^7cv3m3{yBMqFf2a|XMq!q@FGlZeApsG|o}nRGaM+%@L<#3z5Ah>2jQXM38gpwf|_ zjL2JdN{S&zSh}rZ3AWm(L?#Y$n)OvMFiASSlnGaY8Vrjj9Jh90x$QCu5}^yGLfYje za0`&2%e69%XQ-9=Fe|SOBvk}be92A8*r!CG(P5)`J4zTL&U-m&f6!4XT1Crfrprua zyi^xV)JOY5-K7Lu4wNf%5}1IwGYP8es3CB+1W^^=AnumISnc8Td|^_zr6F_(PJ*PV zu(1e%<%_>3v5{0Ge$IY@j2HQQA45i2F~{J z(-mzL5ivQ#!1m2*9b6HYf=IDPk#2x^(`Br^&>-C@ZaKITHldK^0wk=VNqueRwidAf z52wLfesNVTcM57F9&TZ|d3qGPB`10V2e`49lrRBqWx08~Uc}$Bg6xRR45j@I5<{N| ztpzq~I||5TpI2Zhul|+Q1{hF?@)ZsVS3BL@+GRe49cwQyk(E=Bq1KE-yD6o_DJuZ~ z6N|PIM*ai?k4lEPs3waXtcnk1c(sye=gFU93G^gv3TM#pWZw)sXDuno^upI)B4` z*urLKKU!NEW=IO-+D9nWQ}F@h%I2x9k;!?aTAfA+&t89k05$zl*Z>W~(@mYPkOl)) zPET@HIBvp#5jrXN>Jd4GWcUCZgT|_&h&>ZleD+oarDd)qjix}^@XK&2aUYrk0^A8f z)S7D)0qS3X;YJ}t&$veK8rroX4(_#zu{Olfp^2EEn;NZ_eYz!WE>=5^S&z)I#+A`l zcTFIe$a3KEP&y5k9#zx!K=*Y0f%UWFU*Ybuv2T#(K{6Ia5r=+M5r{YvWF1O!MO@Op zAN8Ca?zP}B8{4nG9xmDs@0ata> zD96xErQI>%uTtn@d)nH9>K`16(FijrEWqiNHSxys{)9r^>3S}D+Vw+@;5iu?%aDV+ z@_Xh%HBY5Ep~#qo9>nuH6}hM?18-_@2{x`K}XKkxOfu>xQ6CI?c z*~5WNWzXRKA$Uti6l~CC0m**$KChumJHfu(4&rat66d0Xyp^)k+#{9U&SP6k#IfJ4 zRJTz1v)mPwNf**MxD16>gGacDz3=ycq0C^SNVDSy$*_hd`V<*nYq>L&toK3kvUwP< z&+R^@3UsqR@+CIyPhPE_+uQlUpd1 zWxp#AutOnro0gUtc7t$im%qwdTp($@q-ou%*FjX{2SH>fwu+Z)hTbD(T*3g6#r=^D zmzEd*$`N`eEZQ>qb8iYp!OLX)a(M{TPlz$vEd`vuci7uohHny)X%8wa;=E4iy6aZC zX=zxgDLydL5UE1-EsBWj3jigkT^NK(#8oPIHf0Z8#QH@f{D>B)h#`P0$CMFyd3E~^ z&bgH&iH+0ks&za%X*@~Wxog~{wYHb2S!vEnwSXf)7NsAKWc;;0Gu!@ zHWHYM;O|wRHBvJ?4T9i%Hz`{-|zjxRXP8VBY{W0MPDa?xTR;=g)OWKg-wv%*El>VCkpf5YEV{U88PsT75};rwn|>SMiz$U=9F7VeM@w{(lV_h@1r;B|t0hLt?Ov?ztnD!5Mcx zEVl*eNh1Plyar~CM8asH_}$V5u%?=!@z9t!$qFhs8c}do1!Y`WY+x^meiq87z_w%7 zI>i)PS1$nXv+b#=mKfoeA^PmKVOH#FK_6s(fGq8!EP&_I+UPO?3Ly#%{cG44Na$>q z^);GU`lbVPmkh&kd`+1uchnpLD_@OG8zPOTFu+!G4v{y=yR%65mGToe|9l76O* zN)`c$*Hul4t+CyUrp(&b zlEfkgrCHwu(5usH+WXn|w3@WrOa(|qs0A>MCyUHlfe#*OMl7!U{@tu-Dtxg$%1-sm zgbK1#QTd#OY-ut%i(xqqdJC`9Y*xe|d4T`~BKYM*hzr7rGVG1M58L4+ynq3h9-AG| z%q7_zP_>sFo&|2`cZ8zz5I_d$8gu2}i|s6{25>kqHtjKm;jz)2t$_kNs)ejxDhvGM z!*KR0$Rp)qGP)Br{-l*K&yt(-bCBu5%R?njD+n;k@3KWp5Vd8O9sdbFy@I({W7<9<4G6tS*7rjTn%w}*}6xb$}5$BBM<-Vnbnod(BvNUOt_p%I;&B{zf1V?vDM zwY8)@icAB8Y%8Dr_Q^*3*{x`TIINd^S~lY!z^D|}(PYT|nuRneyU zyuwhv(a$TbCh?SdItp$NKe>JH@MndiEvsIYHyXgZH^gw1w=%0vVGSSAeosG|rLw8w zkvGy(N=6k6AW<`&5c)jjik;0Q$-(F*a_3fB^d_L_6n|_o9$DEeM2g->cICHpb&oSY zwP5n!6bua1TebdVE_(b0xaswduT5ReuB%g+JVc(44(d;}ehs$x)8B{-eVCg5lq&=Q zvZ%AF{iIMNv!j^FO)moX%Pms<$Si7N5j7_az#Rz0=z@F1gTp`X$oa&<$vI?$2rm5J zmwVFU7#&E&3jv-t6euIy9aFau zNoPU`r9%qn3>gyp@UV4w5wD<<`m>^Os?i30mTkIk^lmBCIf+;-_y)5zb7gMGZ#hGwOGXK)q!u zX_YBC+-pY(A24Q6`@?vYMn5OxmgKNlB9)R`c7bymz$~^<$}h{s+@tMIHW>Q1hn8iE zc4jL?q8vH8<~voihn-{5fR)t-IFZDB%IC|UxLPrWFNMzwpD+~z0H;X`74#Pe#|arT zlC1td5@%auIsUJoaiL6W^y-T|foljMt?^mNz(m{W{)Qid6rwpU3%zNCCT`eGeO(Pm zxqlmpv;(%Ug5)yULqS9hlZYyiib%8*>9RaHvoiKZ#99{D*f{7!I>lPtgtt91$hiMV zb_kz^!!)7_S4(sM3G2Vl~2W zJ;>Hi;|D7GkHO^R!d8u9IK~VHDOWI)2%L0Q+a|k=sm8#D_<3<)1qhc4D!ob%XuB?B z+NnuNzHGNRNn?p$pU3~y>y@L00EJDhC%Gne??Pq}Y#$n4i?qX_rzaJ!9^}JjScSAR8 zjEuc)J1zDf8(uq)+BgI(+n(RGZrb*B#(N5uv_*-HsOgpPxOu)k5S;xZ70cuHy&}TR zepOT_ZA^KTl!4oR@m@jW7m!-fSbFhTIgoqc^qG|uxS7&EwQkjy0|w{;K^-{JN=Rl6 z#;_AKQX$Y-M6(pCBD0toKhaKvP}H5WN;-8$W|nkb#Jc)cY|z$%Sww@tJIKxy^Y^H} z^>|A6GQvDrVL8~0_*M2fY@fYpsp^>a5dXF|_7~}R2v#q?>NZ7ifXw^8np$XefW3yi z>B3y#d{*W@5OU?7ZU+nHO~#;5c{!InaTb9*cL~>_A`31BJKUP8F~x3C6hOBN(u&sN$@OpNg*Z3xK>4Zu|fi>wRBS zgVw!<@?->Qe?!yp4%2G#6j4ur{?;Bt0L)9I$vZ3D;>Ch@rohmsQeDJQ5=r4p{$=#F zC+*r&`cr&(6vBD`eK3YG8&CgAZG)#ph{tDC13}S+$?dMA3=X{uJhq3QDihlf{)oM< z`*pxH$Qz$kdr>Ru*7B&oLh<4DCzGg6V~;|>FF6tgf~cb@fLqze1f(fdDO2tt`rnCl zjkBqc&Mo~iH&i8grYmskz#p3qmE11W3C{hOyOP-ge?}ax1cSz3I{v9>w_qMfR9Hm$A|m zyyo$vt?&7=Bj^oydQ8jcJ&WCmzQ8B4NU^yY#xsd-K%azzEaORoM%Jp;ypq`#D;Btl zPexNFb9yId0IZG#NdAGhuIy@5^ z!}+4>Uxml6N(@aGK7iIhWzy0E8{h+h^ z7L@s(bL7pwO?CXJdbFKyBQ!v!+Ms+6C6O7!SZgTSG+CPh{HP)i-e1akLzi=7nn-}X zKQzq}2zH|I@HKTR#oC+(D*e@a;B`H1j`Ie;aZ+=6K^**EO@YMbtafyN@-Dvaw1Tun z9qcMl0@#%K`I>|AW&Jk)$b< z2TM8p$>^w_e&@jqSfzn=GyWkG{T4n#?4315dR&NrO$_cJ;Pq9{3^)MpIa7L+N69iE>I%&|&XQ*6CEH;8GJ znyZWt(&a4^Nc{fPsloae3y3lg1Pbo={>?|^7ft6{WS&`*q};^!GHUfus-;o zDbhccyG(e*nc|+d&CvNzI^-;D;C(MPl(vp*RxG<*G6*Jp`$m;k%`%Nn9aqQJQq2e> z;3vDe_WKkR?l16Hw!_j3gwC`&JYk-_C1EO_PV1F$OR{`NIC!aJv3$`37^u`IL=t_y z{A+z_H|aqCSfr6$L?0~-y8)q<_vJg82QI?`waw~i>m`@x+Sq#BzH}BFGJT)owe_qD zlQkqv)MIH98GpCGQ61dhX8?IuK_$qmQyuEXNA8DrF^qyBBrw-deu^O#-=~4f@YOQReP522e$TN{t+msBc+qEs5z&9jI5O|HvC>J+TlDVy>P9(V9=o? z7MrM2E^s+R(ocYew55rW^VTkK;AWErxQ_L;J5BTD7LpO(z30f^Ct!C*H!*EuA(|*4 z!27c#n55WQGsUz&g^7Tlj61R*`V+2Zifn&M3=zWVRY0@L z8gT2Q*?d9#RwBnJg7UEVv-6?8R=_bWF2zT2^4M>Phbe3=6<$Mz^eAPw1b_{_J2XBF zi|3VNvy2+I)<)x7F6{=S46_>pvehZaF9Ipyl2cm5Cw)E%YxX}&o&-FAxYKuI+#0C> z8LUnygu@wjD|#Hl5AMEBQB0yx%#I$TW9-*()3J#=h+6sXEU7A}Xg?0#6k=VGI@7+1En1?}X>0FH`9BRDevQ()8kBkj&ZOt}a=$xRoBDtYQ z8)l|dWOLTd_XpisM0MArYHYVt(>)I4X*961=zUv19%_oIJUn8rn+@sJt^v1wBRutS zgonUd@ISe=afa)>ZcvLjjN^R-9gfok?3!*TM)o{!mFrPd7UH^k6Oa>Wy+=0GoPStU zw{w2V+7f=hqNZyn#Y;^yk4`H=n3e1YgR@3f6#@*3mYw(K)1e%#DW$N2ruE`2kS}wwhm5sP&alvINxA?aG=hiH zVjIB!1FA34;X0-{V_JnWs8zdZh~f#Ii3L3iR(L$o+GJNv##6K=g?q+#9j*L~&t_cK z=ZIhoun6<9#%eViuL0mo5%jmffCOGtgB#~BO}|T`V^j@z*n4+H?M|0eY=3zF>cgv$ z8*Uk(?a3;R=);eqFOErd+HTr&3UKvBUdFy=V_n@5>xj_~MSnZyfH}q8kmHmduR|?z z<4SXCSGIEE+g!h&{Pa7Dn>X4k*xF$4%H!%)3&Xu%L?r5v<_!?Phm?Blsh~6BHJtiTSMqy z)$M0%aUxytIJS}3VTe0HC&UyhP`m0k$N~5Mzv@vRJ07Z98OnACty&K*^;TzsC`+GD z1|7{wdOBN0hbpRcjQG|v!lln7(ZvE%okHs?2F0k0Cih#>>z1*RXe-rdV`6udl-q+b z7=$H-OC#dwJfu)zh&y$Kq*UAU=_vBqRn$@?)CPoOv$3~V`J}@hGJYN^pr(M zvU6%@_-euOmyYtOW@O6V(*&&87w^WtJzlL~{z;^?SO@D*pc>EH<&ZmF;BWUu2`qTd zMI*ci=`o(>jx&#HI$E!?YbMq|kPPijU<$~0IY!(22?4QcqsyM^)%3f=pb6*hF45A7ue5bM8TyY92-_>AMaA4IA=Sz(e~j2D$+-K zWd*PhlS)0HNo80S32XZhYek4Pqq@6vG|64&oGe$87<-g`1xrYTq$-dl7=>QZNHxeQ zno)p^Jhx!)I=w`TqK3+LEq4oxjKfBW-83R`B2^H<_-G91OO$Og-R%9d)CU~7M-&f3 zwt2yO_VFfxig5=7zd?}cXHa`L+Cot1@Iz=k37!{2uU_Uv7c;l_239M5i~Zeam$3hk zA)g&IlU_`@1#@eaJyG|!15`u;LQDO|KCYBNom)#gK#l)&+tWsfIf23gor8ahS9|*1 zy5Pg@T1N2TYEDvL2{f#5`1~--zy(Q!K<`O3!h~-2-7x0IzUq2i+)f?EQqp+-B}hWA zu}M7E(=b6%!{>vM5SlIbd&}i~oe8tD-7t(bCR{=l4F-l5I*Do6y1%;(I95|w33OeR z=oNw6wFq~n!;g4d_{o_DJ$&5C3zSth8+{1^wt#T;Hduf`$hAGj zaT?0F&}K5Sdzl*ht%x{ouL_Zc1MMJswc-|TFoF6^!*^6tnj5tWgXbun;EZ^}6Y z98sIlZ5PQ*!%5)LziTBT8a9#+9PN}frNZ{IAjKxEC%nFxyp;%P=_eTA|GTIS+bS@HG-x76eM!TPw>^2PY-8h>XH;$Ri6Z%)+ zpC5fIL=Lt{>c|UTLO|F(0ZY78>&45#(B79GMV%!7b}V+-pp?^bWJo=o@KkoME=Aep zdW!M#ep4#>t(yS8gmHC2E;c=MupT_KL(Tj}6W%ZeS~4Bx0LcTCT1D;*$dHHj{Ou8c zk<@&-Ol*-AQAw;!Bs@W&q){M8iWV9xX0R*=Yzkc)m9be#KeY-Cv^P*4_3bmZ#ur-i z+(#}1&Xk!qDoS_=jNAkWy-}|f#S>~BWKbe$72;?hGcr+4Z>zqGG6RqzhIST-@g{kE zk0G7)MIOLi%U`~-$t;R+F+G-VTPN1J^KSkD-#1r)id2v0Wjjt#c7z2qF!XY%AG!=e=sh9+)^Bc7XVJ+V;~cKz z!R~9)DF{h};)4Y?7vd1;Yhg0;f#a1r{>3>nz%Qb;pe>+kmG$n-TJLu%8bm!ZuwpdlM7ioC zN{u^I3OhrLJ)OjEFfrkYShtp;As%3LB5JIY4ngf|tP`IvOK3nk{Q&9HLEh5=sU`)^ zrBb(>XRLvRE#$6Pz}2_@M*nMR3RHOvW+HtOf^8A~A_OkpKqi!^YnZ3b5Jj{4MC~iD z178vf3d4=9H*+Tzc69I$w<_yTs?lCA) z{KxzUipL{DB3|f4(^$kP8ep*F$T?!L9~H?8`D3t43i%&LBf;T~1(W9f>xAG5#I=aI z^@qwBnLe{)49@Nev3nL5eNhx)v?(S{qMD15!M3u90|(Y$U~ttlp{VPTSm1i5iAXu< zDF;;0<>rU!DNn;u^W;m@&>{nCmC27Jo?Ia*Rj=d1pdhwpMBI4uzbzHwN-2mzjq1vp3$! zSCPaoi9eqd53VJ22OZWVjmi^)G8yilA@iIgO~dlUur&XDr4($@dZom)JhzpHv|PWH zr{`DFEkPJ(*&{*dXZhtB9rs9}-o_$%&dD%iKGCd9()LJ9s}({JyGRzo61#*dKhXq6 z|Ib)7@6mWB^h!7t#$$Y!-pFDAC&O%I7oVy-Os4@nt=T}g!4roQl z5q7W|$r$DgS%Nyr1m;XwkROdLWGk4KHM?7>2tCR%oTZq^_E$|#rH`5@Lf}{G6wVU$ zNS$Wst7fW7v7UZ3=_kYsCfu*UdYC(UjLZL2if;NCZBahkSdeSD5;O}t(INV$4>aFS z(e8HPFbFLXh~JR)Jbp?|nD=nUs6*_mXP8rwAs)_0;{6@MBM|RmFrJWe#7bd?Q|iU~5VesJUV#A0sX&-5b-`Fl+hesm`Ur6t1~ro>dJ7v-l;Wfd&Nupe znWYT?h=!m8dM$>p5e^vE!*}2DC=lPk3W_T?ZRYCgMc6KPdKjz~G%y)LP)PW$6vg1i zUIS7&$9LGjJ;L84xEGqh3`ymL5yN}}0`r0u!$Y#GW4`<9=^}vmD|OTqdayKeRiW(J zIvd^J0+aBXx5?F4xG#KnoHMeN(`_>!^lm9}!)DiWxiE@k99sXc$=}8qI95()95|+m z!TO)~RnXi`BhQt(MF1e@BDX*@DC;8 zsY@EDUliYL1Wq=;{Zee5rgJ2928FE5%XZHAM${U6rCizWffB{xnHX`shWX3Rt*diC zhY)siH*Z~iItn780-t8xf`%*U!oorbL#H-xy8}BIyhOa0@2R*^bXjD+{XsD@;J1AV zQFxFkCO=5zJs`o6-Na9(1yL!Xkl)59W^1@$({?kjiJy0UMtx*2RMgQ;4beonVS=YW3=6J21qQU016IvLBw0iUgqmQ%9)1T8V`Z9_b9K@Rf z4$3xZzOyS6Oe)oOE{U_elFi+T6P1~pezWZ%Vme?SQGK+av_%^w8PjWX^*)hBo#R;K zEQ~3)JpO8auAmtAlHafegId=s2fezX5x%_Q^~fghcIhE42R8B-`QAVmQjPLwJwvoj zNKvHkwxtS5Yxm-q$4|L;bcZ0NI3aGZnvT<;W{oo3H5FD-#3}3wC03N8Kc7m>kD%kk z&RT+e>H4h@?x@cgdLtu^DZ|OWg35j|Vnf+dni*l=UFgJr6ipam)p5ae|8&DRKBQ(Z zsK|b$h>Mh^;^t_&1`~oCy)%O!H3DBg4tK^(zNcf(>L%#bEZF@Sb4hl?2DDrYoa+;e z_n^4LFv+a-Sc!49_d}LnX|2~7foOpeqOB2?^3<`IQMiC?(e|pK2v2zsoYJ1-sI~8N ze0zIOHA}u~xK$TeHFwmG8S2d@*K;^;Cq6MR-}lS=mEmIYrg*LCs(4!Y;KzNb zrrE@w-wy_NW6!!c!By!$J~dr)o(Ru+A66hOQv=GSaXec&1c8g+zmYL|2ZtEEkpNAB=zl&R!7AKLe1zar>VJXEpj@ru|Ub+R2}lCE3?!S zR)O^p=3Sd={jl4WcskX9p8RGJE3fankPJMe{PB$2NjtFX6>3Wdm9#4>o7Q;V=V zfe;)3ja5c~qxMmvvRzY_wx%&`#>wDGH}qTMovNC9U9MxedIY4ZXf?}e)T z0K~RJo31_N0W-pGjJu~D2^~5g?$fje0A|OjYJiY8y`_jJ*Jc*^qja!HY^NNASan=L z^L27+8y@~;D3??m|F1*&5|GTuLp^g$cG=`N8jN?)j)p3gqFCRlzgN{vSUdfmXajM05^W z4<$Pei+=FayQY-Jd`$H&b#R-^Eb_20rEk2DzJI=9 zH;FLq*8`)?7H3qW&fvq<%L3;b^}2)%9TxO8)@X}|-_5$*4X-Wi9Pke*igcsW+|sxnK*J8Guk43um6T0-fomF>wt>8sV;4|?8kW!a)525FY@+&ZN7 zxv&W`fLzU2YmTq`&}%)$%y2m>RC8XCVafQ?$G>!5j32bTr;0K)M+`u`nHY z_uNV81;YsjUN`&8Co`wvw}lj*RveYXd!mX*@PhU-8|fiayiY!ZB+%$RbvSf&)Mx62 z__^vcwsd3mH}SXH)%woAm7-}bgAh{tF$AxEl8_7*`(Y}l^d>yGFR7%X3%}v&V}$2; zUMfZ4wYUxK`qR36{E8KYfsO@%sE+jOZO&RuhPE#{&M1TCLO{)*UH|7w8%dF= z0V!!W{kNs{`XpOpt=#Vm`2{&vfsw~1jb?1Hg{u#^QsHsxY>9hk*|AKo zWd7-MzD)faNQt(%PP&0wqBUM3>p{%0uE+$Nc+`)fC&sgtLxX`??V<@SokX`S`|{=o zxUmd<9|zk<0a(Sg=S16&2Z5&C2sTWrBp2SHra+>iRhxYcW0L$unh74P2_EE*R(+ri zycy>YU-1Up)rweR(N*JRh0Q-3P!D75DtqzP{9dRq7L8yVfuTiivwZjaoj4DYg0r%a zFJ7pH&zL_y?&_JOW#lqqHLpyd8tw=YtY}Yk~%*03#i4UW{H)NfjA?uma7`h%rC z;k?V$7OAf_OVy&8S` znc`dDG(PyJc7SikB7Fd6-mw2+JGnF>ijd&wqmA2RRJ2+ro!){ zCIsB~>)bZI96IJwmf^Sb5A~L(s)gLHmu2mm?~xlviknV@nQ_a#>()EJX{^h^%d58a zGVgzPakL89W;H=)9C(3VuGh@DafYnSKUX_>ZrHAKDV%_V`K>J+Y&%*Yd)1Pn>HCo(=~+{2@4JhWog9eK(-)1N0?1BN-iMRh+I{NOi7 z8y$2$7jAI1-mPQT`KDO*{t&V{QTQ?utW5d0*xJF}GqQVs`%i1pQ#`%_^?66$!79F=itgaWwmzUVVagf?1$qHhuTlMvux-B0Gu*foQ;eYdUe+fcaJ#V;!_JVlh7-}bKn zHaPs8YE-g;yz1Da+T7|`0z?%!d?^Y0VFU6#a|}^FB#%=vdPtz60qmEdMwPR`&_J`S z6uS=xlW|05Ak~M?p(MPaUUUH0feiO2;NwCz8xik^cFXK@pNhN2XJEETynA1ZFLQ zNE|q!bfnWPOY3}5CUW=&SoJNsCceDe=R*u651Mc&*)6aag_9Wb_g3O23nW+O-bwQF z_|HAi6o|d<^e+*=hF9RQu2}QMkkQu&!yv+Ez=VtbdbfTV@^5g_lvvBKPb2C*e(e`3 z({xfut_#1hZ>UdqV)Fq8b=EYC@}{GdH9lF0rq>VDGKs8>*0ea8 ze%p(HLW8F#$7}<)>u|qqc)bL7P;$CAo?1_ovA0%!99PDPS@7P!1E)^Dl21?6dsDj0riYmS-I%WS9tzt<&x8}+oXCa~3}S6@s)R-^dK&U}nKF{8jZL)>`COdJ1HqF3fYv07r!XmnkT9SFW-!atpUA7e>X;PN}?8)^a zFultwqk`McC8PEz2@rBCOQ0jJ@qx(qyE1+4As|%u=nC7#S?TJd4drst z$rWbLd(pe{$>uFxVd$H)gXIW!5hEjo110*U+Sp*54Mq3fa2x6QN}{oh(%7?$b%@Td z!`V*OPWE~_DXN(__l#qm@diWOaah*7tXZe;S+sXzk zTZBuxTDpDy+7UsUU)Z`{`|a`FE2b%uai7w$^AGHoxM3P&~%R-utMT0QxBGmlUzf`8oX{SY1KLczr-l3Bpi~w zQB%<*xo}2jBqUW2WzpwXW&ff&Pz7v8%*9ED(}Vzf~g8?5r>f>W|9PLES;VclYNmDRiCm(=$= z4hTBIb!CF4{-P7$_rK?Xw6HD-S?4t7c*9u6>=G$V0%GT1pMJBnPWWquvuw10V8fi| z?6Y9*E?B(`Q;~sQ>>sAzS4Niu?leW`6fGeDXXFlD`N{NBFC873rKOLsxFnT zz}c_tG$91_$EEk_v-8YYE5v7}k{Khv&TYxPGwb3B{b>z9GT_T7Aj0i0rY2r+&JBCF ztUBFmwf|fML(cz=09uiEVP|BZbY6CAc=*)5-g>E*PHg-N{W2|;vusiUplX} z)-r!r;-J&_HS#3q$*O=`-o2(IoJkuS2gZ0b?6%?Z%RX5WG`{Y|tD{X7flQ0OhcV$%@%e?C_J!L&kwjOGJD1N25WzA69E1(+%s zF9>KG+huz}_cpo$Ja$C200xgBk47_u?>9bj*D=(Wf5pMMH3y~BofAUu$mG=gtbYOF zop)MJK76BK{Prio2vgdiCE^fvLIb|xtk;M^2^>B7@WYlfhj}`CWZ;(4G%Nw;aOSU| zQn=|x!Dm3GIC}0hhr{R>cVOY!WdjgL0~1<}!0d-i4 zvK9*R5DDivWpSjYw^Zp2HXQ1dPDfd^X&G|`a!!MM7>FL{cUn^vIAKd(D{5PTiI46% z$-<}+tiCpt$P(Kuk?i;lm zXG8nYoTH;y$?>l$eAiNIX)M;M&>ja-itjnel-LFvw5-LdQN{3TL3TgH69Rt~QV-X% zWAs!}+mnUMxJ)!Vq7ZI5`&{;bOzx*r{Z0A-FZSf6IYjQdF&`DQiz?@?0i2&P-KQzrXb}eAEz`j^k8cf7vT_l?%b<9euOSMji z-6|{nzo1|=-#I0LF@8oBqctqNjj&86MbOu0v(Y zGMaCVlq8kcu^;_@yhEp}QxIO}?2ssF;_TpZiLLHLlHtizc_1kGtgAEbYwy_B+-kf$ zHK5x1AiSt|v_tn2z*za!TMml*OCOdd*VXy2w?pEpj?O-Fc$p3omO5A7(-@ZeXPbUk z^0dxO3bwYv)?`U3i=Vbql%`g=Anz?5u2UgALm_~PrqbyeQW`l_ENddttnPim&ES>c9v)rOAMh0D+tS(CBP z;L{w`Fc$x)y08Cyu^A5sVcK4ZQ&~MA%wbGUZX*tXi~sCNQ%RKe>>VhFv9lJ+3s{B- zcwP$dBE(h`$FGz6QxGmeZ;B9%U@i03F;m^)@e`G0$F_vSLzBUD8fEv`c4WV2H{wa< z@flW}k1*APm%S@sVY1$IqT!=Vt2^PFo5Z2?Q!CD&D9;^5s9ElssY!de1m;;m<0^w8< zNhcUfB+_xxe4YU3I#M??;U5teVW{Jz2p@=FN$_+e`&1E&QCoeq6APs61-lQw(G*dh zfcr>-Ua|{<@ZUs^FuRx*;YsdCr_YmPd=c#-1m?pyvMSjV(PL84=hx3*oQ==5KgS~w z%Kc@l;co(y(nC$JJJd2m2X4KvvRQ%*0N;LCSX*tY2O3bmcy!B(%*9P0_rXp-lj?%3 zq(PGKP8@S@W;w_&`a0Iq2rv3Jdf#H}K#$mpfu#m-GNwg=9y3CmOQkQVyjgIHtK%9o z;>dcin@D#pZw795{ptHNIwoq0F>m0kWI_R+)5b5xRV!C-jSg599p!w6kQwD1 zNFw|SC>XUGLxDEArfC+-RR6gviEsb8w9sVv|79I}P>7%rR@Hg>zu2G7L8 z%L^RrL?omCZAPT+vwE31){ZucwV2|5W(TApjUFc>twNzEt=du;3Qy32wyVb!iRY}J z^}dRdzUW;1P)#y*S<{ePBy*}-cdi&QYsfV4^KuD|(bjM2FFgzDf~9iJ4GZxLNl zqp(Q(o^)Ek!SdQmsY-_u_wUG4(%fJ-JhiI0RANUyr-M~aJ{?U-Skhb}RZz@~qNb&u zCgx9w4w%h@|4?x^O!@zvj=Ikd8j-#oDQynLfv4h#)zdoPd{fG6DKy_`30`EBB8oT0 zmvpR&LySL|zD_N4IVIW1R3 zN}DF!*c00}XJSq?!H#WBY}>ZIW81bfv2EM-$@i~w&ehwf>aL4kUF&`7sp>M}*)|av zOm;12=3Zw_tf)gRe1Vhl!SrwHlW>~`v8j3c2i!+GV6ID~#A*P(cRqN#{j7~81EBa< z+TQhQQ!p_s(b6Ts8cR0yca^H|wTP!)=DvJaDtCDX}yFgAMeHkPDqJW)a1*fZ)ks1mx zx=T3%YdHe<(s<5py0OSecSeb~*$>yInmBJuKM#KdG#ad$cOL4o<*#=P^3ILXTGR{~xh|C+NOju$!H{e{SlK z&0xV*NE`oE9FapJ8Fn3l+$^*W^bp7>eFPPsB(p3fjE3$-%wG*c6IgRpbr$aGk7-e+ zWwJzm0Z;yiSl;28JtTg&qX0$<*Rwq|p4MFgWtrvK8J6N8YMl%0?8jDBPC*CDPqAZp zhV9m2bzw*mYf_D4j*Uer7l)x_ot^lsYs?H6#eG_%aq}rkSTyBRpLV4lDKKYw|G*rP zKEf2@+FM+?93PW-HNv%Utc2Whek^Ham-@R~iZt2kNq@wp*jqN5WZYh+dTY^xTr1W& z)YlEqe=m^$9Qm zWL|-{3G{#Ud0dL3Sg(Bp@$V{6TZ;7=6Jo?l_w4=1OZ?85QaBlRkfu{ROX$nLin3BwX_6|06X(~8JXrE>cuPg%sd_S>DBirdb`J2P0Tzv7*Z7#>Q@5s6u zVY63WG1~*QKp4##L3DS%qunjkBOsoI_&;O^M8}{&DkGq_cAAR8uQAwhEk|=PGLS$_ zMf<&Z8vN0~o+U+CYlZ1J$v~#VgMaQd6+?h%KzQL~q4lJY<-rkX^h$vGV#dh?8bN|+ z%rN`l3u^o>Y^Zg_m-=O{1Ck?|(CW7wPMIE*_fzh#ci{H8m`lXBt(kSt0^x4k&~!5uYeXLt;)d={^idIK3U9*#s6O zTU1Yxv>4WR5fk=YXI}(VJf)^{O#$-xma>fzY;al&bovcKg-x;!#FWBMb~T+rZs(gI z;n4=xi;41HuZ+MlCc6g3lMIA(F@j za)NfO?79h}80%Ux7rrsCxR@&cbAoy*9Bzyn_eBi51JDLk@aK% z@-OBziftvLx6|!ln(QR{)ol#$WBocVA~mroE1`v?)@x@5J?|wdcy^ZE;4G^2j?hF) zZ>xv~i}hd^%{l*@YLRYVD{5mp3Mt*1^S{yheKAEwgRrX|I>irAEQ6WYe}=; z`CYlPCHgH*c0jtT$**%lWsd#}WEDeE_LI6O{as#)>m@(c;5Ott9JY`29VZ(hLaaoO z7YL`J^xA#^VrSQo?pOg6fO;eQi-yp*axS3h__o@qt2?8CCbAV6V!f;vT_Y^6F(b(cgqbbd&MSi50+!W5o z{oke_8k^~Va{uD?|M&fte?dd|pB`80>x{?`A-@@sDAV}-FkJ6ZR{4Pc)S~XipuaV~ zd1U`BPIj&SCk$5@%VOX~WwzC*+asT2?7CED;3itgS-tpnNAaP78`@@X5k&SHMM72EbV18DT$I@U0 zCfa2vAvP_{1Viqk)-9}&|6~j@z~WbS7?urxrHx2POO1XUs)ZReJO%#xXxIzc7>fhs z@p6@}&5w~<-D*VR@poRixA=rCxrcjPIwnHvF69O81a)9jt1@n|++-?Re9&ZN4+ zgv`mVJoJ_x4*uul!e99u)N+tDtDY6JGIL zjjq0ux8|fY=o3-`7k7c^rI?;Kk!@3F)V60D{)IS`NVhsQx5$Jku|m3Ggg)q#LOq&% zaY;)32`?r$L#JCvKkv_!y2}s#5wDP3NHG9!b!#>Yz!f|A?Wyw6f48tJxE|GeKNc%Z z-2bl?5+}?y6O2F$gFCwu4MU^Y_lm3w$<-0OJVAr{x_M%@0n^m)_I$(t(&y z!yVqlYgoF#xSJZrb0LQM%48HB5SqU)6zZg-c1Z=MkUozhOtm(zU4|VA3Z(zT0R#R&4)`2Q(fSlvs9qoX z|6oAKh#UvYQWb`NutyciiVtG?%8fF`9>)h!lUvM&3)BRrS7LMU>jjQlfk7;qq0ht| zQ2qF;KUSsH9R15K`QEd?6PGAJW3zdT6!ciFogd=J$9B9nqh33)lP%%s`v?5=M+X0% zoCVZe{``TsjX);`0%%RX7<4R)2p$<^l#-`bevwS8kO_-nOhM6RXK0(|%2C>3Lnj{Z zwkYfQ14J-Tq;ExEfx+NvQaY$<`i1#FG*B4r8x8E~|3(9)Y`)RJxz5pW-J9M|bluZm z;;)dZuSs$zR~2%IcAZrloa$iREzN}V^D7>rjaHs=)h*dNalau;z$Ze$4-}npviEZO z=cC*1t50W5aA65a(g9N`Vue|>e6pfmk}CX0Oy>uxZ2ka0h)$FV7;Yo40DQMp<{PHF z8J$Vv^u$4WNZS0IATM&prj?rp=%s%O@qdi5FXwU+3zp2Dp&7Qe>R>>-(;voE#Q_sG z8c_ua;BAo)+Qs;+203GDJ0Fb#cH^#+{z;LT{pSI^2KZ)in|*}6Is}5~BFLIS!PvTR zaS2I`MehE=NGnaCr?-62l^LOnDa#ZYQiBY7_YOaz*M7TKRqqsQR6l9vznwkmEw^%R zyyrDxH|El<7YQ(K5azY{k8ns7T}8AwtMT~J7&Fte-8Mp znSVAwZv11yY8k^^unQM^2ZwADU{BxEqN{!H?R4Sc=``}TFnD#d(D76b&^;;V$coQ^ z8i2?M>~|bYWA=7I+`hqC@XU^?Pi8($1x9iD6Y>btp&gcaBQo%bFmk(ZqwrmuZozjH z_-xBR-vn8eznc=W`b;W%J0|PwfrXBuXh<7;)zg~iQfHJ30(j=`HR7}h3MdK zLR5l{9Wn@mI`9Mzj}O9^5Uhqu0|3u3Cp7k!U#W62JtWz!VkDeOkv%uBIT6*^>^f)K zF8cH^@~jvnd^SsoN>m8|4(!g%=Fl*z7pT8SoX zy;4$Dn!om_p5*kx)G~d?*FcLK9PsLRvMLz=`zawUQ7#KIwlx*%g=<*alW_8Y!Hjhn ziaPmm$No$4c)`esjT*o&V&XVJE~bZ0oQCu}!`zEAXx@Td}8|6CwurlpsB+!K0 zYZiwid!mAy^9nYBwl<-IDzf&b)A9!;-M@%;1%MZu$=Bmdn&8!ecU3p^iZadAL-&eb zx>+SuY(DW5PdzO&O%&xVi8yR%tKd-h=Aji)ItJ zY`>S2ELyyyc>NFI`X8lx6tYKvxs6>w&qYN0MpmKNLj?T~M(K^Ri$-hFQR^|s%1aAM zSWyX!v1+xu6p{wEY=-U;zt)8rt1!zK471OBG@L7*RCDz1Yo-3hQ3CPW`=CPcxTIbM zSn~%uu^A*S4ov&+Ru=_6;{Sdp_FiDw5zPLH zHPbK^L!#u}!4x$a(&YdeFR)o&Lr5_hfhy+=G>jG&+=zbga?el zOm>4xOeH0(eUSy*pC9M_{&XSPtUfwNp8u%&Sa0Usf}+|dXlr3L%232gIrLMP@6cqy zyK0I9PoTOAZm>{|W)NjLTB;?n-^i4G8%0)hH+_8K*0-6;19e{|;2W{%UP#W`PYPS? z^V-oCRVnNcQ^6^@xXdfB&TvOn>$1dx&cARmY*am}y-f4SGs*WBQn9|A5*lxBn^mM# zT>Ag9zqF|f1wExesW9`%m7^|dwfNbS1k2}AESxR*s z2bBDP0aV6h*T_!$GLN|AH_a~r_0QYo1rpS%HttU8;B3luSIHbNiC@%Sso%&P+bc(4Q*GrEn5U-3x7;6w$ zPYR_%w$;|e40Vr-d2j(^`6EJcX`}x0=9BeToFc<)b%_OWIKf4%fI>#0#P#0NJsu3kpGGas5150Jid6f4YoP3jc*urdCSv zm&UfAQpCla`OYULRC06|H<5Gn)LP}+<=_iTlh1W_2iC&y(_6XM!nnoOUO9lpqUGvI z^^V1&@2X$5Sm*DigN^h#6T0EC{q=g&=*$uxU2}|z)(bC84mOBxq@1Km3oc{_{!{5tjA8>{@2=KAupc?V!+<7n~fNA ztt~NJH=jp%_7N$ZUhKDSsD5tO-ipqym2N%b=6Kat0j%K0)oku+#;Ky9N5|!=51O)3 z1Luk6=fS!nr>dfZvm>CuU2$=fy*dw3orz2HM{(O?wo1%Ue{s9U&V%xPHX@QrilVY< z=0o`vpbq?sM$9*&45=78?2nj+=s90fO$5(bK~N5pEQsmwMPWtMTfH z%%>Yab_2lFcNGP!z^opfu#RUHc}XT!4fU$Vavx|ui)QydhgBPZvR_E>JkwcJH)1BB zn-XdSLImCd)?*%Nj!3RsYjC+p5?>{$rIB_4FN!F#^`E{tQanA*Rg=4|nJHEQp<;WB zQUk!t)5dv|Tb7E6qpfBBE2A4O|0p5FypwSruK3iE-3{~fO0-Z}Gjrn;#khaclln(i zHCA=VX_~9sl82=OceU*jsRy5;Zt}3f)9bb&?-CK=77`|O<%-qCo;YsB^ISkgv3l|2 zBWoplTQf%2%e3WYRuqv9(^gf?OUO+j_j&Ux$NJx1SFaY#XbY+Z$?!jPVS{zHNLe4Xp9wTx3yq@>`;6j>g{FtFKIbSl;xD# z^D#sZc@O^_d(ulPy&5wVSJj#hI>f6a{;V%<43XbaW@Ebvxuq}oXGw`euWP0YZtnOS z)EYM;eAoaJ?UTdD>r@^ep5ynp81thHovtZ_IbDJl!TI0f; zWYB0-4!+}-@m_o%(r~f1v^v6CME*;q^PC$e=q{lulg`80T9LQ2`@j^|UcW-+qW7ZY z!*GIwm4Z!eND5$+^SNL9$%aTQgeb&i=_=-~@A&cLwNcK-vje~3$-Y9h_Vf@x-eDbQ zKJ71TFyC&xnnyH+v|fb(PrtL4XjxI7c*Ii3(M)X#-L9Fmxz;41N&dp$vzuClY$;5w zyZpQ2`*|Z>kBLdWoO_cwq%a$8w$+5@`evR?A}rbmKZR`8?CMXgj^u16>-O@$j}ITu zbsQMM5Beu3`;rzJ_*#6OrRC-IA^LX*yMOr18}WX9o|Jf&mWHVMXxOCRdfN3l%N#8Q zwVxC$S!`w`lUKErFff@X9jdwVcDGwzn20O%(<)qqB$ONCRn(f*7^F_7t||gVJt8B3 zZXTRo?R=$E)_`@*YzvO)h0(HGTM7%L^|_0+_cl*1H!e$li34DOUtLG+!^-fSvOLx$ zT*~?NqmziL7M(>mpaS7D3c0EsS3FRm<%#nx>B%Z>2N*uS_qU z3dWT+>#xJ_0LlGnFhQBi-JzkJwe}|F=!JLw8|fqCB#?+$6S^` zfP=PTp%^?y&LA2KiOSUk+DD>5kzJ6AT3;&yLv`-7)Kp`HQ&U{)%f28wJDKcbG?i#w zM;jAqXe$5iu6b>4m&``VxH*O|8F*c&;iQo1{8}zic>Vb5sBHl^dy)OKIFmpNAwuiz z_w#Y}fP5Mq7S-*0sRIvc8Jo7oNp*}EL9Ju?_yF+H_w2LONn=;d!@IL0{7#Z!peL$) z>=FLjX4YE&Im09{vQg-Q27F1E0L*4h#&?7}2g;PtD2IX6MmP`IqO2A<}>kfV} z2AWAQ#V5JrBgdi+XKCX7+x_blEu5@OS@-WqhtxT=h(b2iTr#mqt~k zyCow7Z%VqDFp!GlVlrF%l)`%(ogl`UeDvoHdA#0!o!B!JXYi#OCgv%gqHKuA7Ux{zHVJ!h2+p!i!^;MHD)-MZwH_RQETYL{+4JNmSivn8sXJVNtF~DKP zM^W$0`G}a5u_|7-&a-n@yPF*mcW*)>xV@zNRbE#^Jp89g0w_s6hiabB!`&5>c{M-hgOnxr&N=;F zcQZvtSeUFJ)m{GCYlDmr5L;2YLk9%XuMP`%+N`VEeKsHU z8rY`+)MBQfn-zD_L?=_q@^PEvF^~e{*Okxmiq81|q(7ehxdJS+5QHH*DfkADRQj&G zk}_-U$-;i7+O2f4gqhG|+*IJBWT}z-bfAog|EVhhi(VACG+y^hC?uHNKN>n4lE546 z4=5gjj7^jX^L-)2>o*7%Pdk}PG|`(vjeyV*FKf(Tz_MXali6tGUCOqSCQtYoM`Rup zGK}@um_vYdw9qVk;^gk`#GU@c2;9x?+t1bH%ZBA>4!W~;Vf9jwJu2^Cc{^=&q?DGi zxeU%n%m0}jzTU2+uCvL9GrVr5*ja|oNTds>k3hRL_H^-T$A5~Eyc?WblQ!Y?lGCKB zL@f>*dTa4mF3Hg8#;vX_^!6TjIE})q@+?I-Bl3E=Pvb)^_GoR=>I2qE&Jf(*Y9(Tg z>p=?twaXaj*ghJ@*gPoYod{Bn&y7Y>p^JvZD>+18zaN2J-VO*4=lM{y|7$?;Vw^UJsjvIV4+oOy_Mvs#J3tLo{s2d)|+$D*!P4hM+lov6~uLJ5A} z2xT{Cj2&xx5i%@GXAupDxF$BvRJ757-3a`)3EFZ(`>+N3{`9b!8JaljHPiHG&t88i zuE9lO*y}2qBY20hfK-il|DLqSL>l{+uLQ{V#kU9Fjj8OAcx~`qy|yfp1D%aZ#==ix z{LEw8UXzv36-~apO_3Gb8qReoq3`oIjt#Rp8;3RC)S#$8(}3*4vOiDyA{ql#Q?T4D zh9UXsII{DO3)H_JdfKo=ggP`d72URS@3T}JwA|1YXAR^qJ}bH2@%)Kn)RYA4 z7R_G1S<^Pc?3{D=C)M{owP6fDd5j+!EVZG2BHlw|nzE#Qbj<4h(7QsNt4j@Sd5b}N zndmqTMd?B8uZQ?J&)hre$fb8wwY>^8qf;#Hrd*pbS++YiGq$p~Yx+XH$;R~1KY6}4 zl`pRzm1uvnw_C(Lr}4g1u|})Yg}%B}ZU6DEzxiu9g{qbcJ#w;OA(nQ@WiCi1JF+S{ zWN*>8Tw4bp*IfQE5n9HYFa_?v_!$~b3Ryiigtw67$oxFCBk5^{^y(9t@Tq;aZVH>ZI0N{| zVNU-3V}#mrV<@R?-rX~_e=j21Kp%sqFmtly!6xW(Y4yI^joG}Qf9Q9RIcCslYrb1D zy4Y3X@xbYj2s*nPzI_&@C19ho_unknEMv!ffNq9ASaI^DR z%)(zM(81@mJGv^Ln~dc_!%SE_zWBR-VY{(#LiIb@A9AYIf9u~%IHhar*DSvePN{0Z zV#9na;V_kI=H?ARwM-T+6OJcyi|vZhV`{JOKKFx_M`L&7sDUb-t!Sa6l=-cuDzk-Vz=vioGN80!<1#=EK9 zd1&w8<@3Qo;y*2iwB6_P+Zto&g7d~5tdnW*nC-I}6>-1;O`u+cwX60eo`*o2k?bi5 zaWc@2q6uw2O_-tH_;JWrH5a!WKDyPYqe(QuT`s_ZSX@b#i4m#4cVBzwSidVt6*cy_ zqvx#2kLzrUjV)fakl{sZ0+u5(sPPKloE1+_o-TV7gS4-xl?%nR4 zg@CYz$t6=llzRy`^zH}%s5x>dFy?_=PP)31V}tiluHl&N)T(4 zN;((cwR_9*I~e7d)(nArxOu3Me`BE}a?8TaN_(q<_)k!Iw@eQxXX)DP(A6qpT0paPPV7*;SdZyUiT4OxDS1+VefXOKI7-{PV_^ zG&y?nm4j-v1LzDqmetFd)Itkpt6fCS*+vv_9v$XqD&%i>~logVjSn< zrNZ5*H4yPbug3EkdtwEk-&#@Dc{7&u+Lz7CTVCILfBN86r$9Km*U1VEie`>Q!DGJU zF+MZsi}QnVl4kZ5k<+wcU3e)ON?g&rECBMBzs&O}pIs<8_sX z6VO+i@gA_|)<{2)wi2HpBXjm^3TD}?zV<`)?LDCuis4poVyIvnJxS=%V+IW+%0f1KA;OgBh={6_)y8hODt6-ChcDPC>ax2EQJ z_1c;)jH(Q3z)y5I@ToUYL3Wu6)K71OW%nbgq8MXU1sn_#Yi)C$c!nIPv5p@E0+dB$q!z+w{yU|psUG5r9(>~3p3=b8pwp4h;(ckBFtB> z6WAkYR+tODu<(4^*OSlNmLEZSSa^eEO^+h{wPeR%($%_a+f5nd?0Ilr`IU{yWL5Zu z*iF=Hm}?Ph#{Lnw#U$`WeYS)k2;&mM?fB8lLnohUGo1$o9qkI}=c2m5tba0JU#@8} zdSv-}IFbm!XVv)B>I=-k7(p*f&x@?sf?-4K`Fhw|&8Vy(50AQ8e(Y$^H%UG0RwB%g zomet6#)$RjQYvX&v8kXfv$%LYbIKXl6$z~WC`u`2x}vJ=yRr4I7#+=Bw2ZVFUI-DG z>U+>r`EWHac@JVfW%{D$Ihgw+A6vY%L^LoFV(QK3n&|$cvTU=qf9x~W$9iKU zv9;X(uSzN5&FXQDnz`)N{K?3Iyxp`#b)8wbmq)Z2Is;mEBui z$_U(p?{nV-uK7J`h1eoESVSHCSqi#-DF9XtVgSRMQ2~#7+mKWS`)t5A6UX@!_8Bq| z2V=M|EomfU=9$uTVHsQYi`9pm2nwFgjxrUZ=+ z-{ag}D4$^oZa!i?TQsY-aznJcKfgP+4_D@S0tB#*tbRe1xrhZoWY59C;L}c)TuBaT zEjVpYIGGhO_p6S8$eZ}X8#%H{4d!c0)8Yn;;TkFkT1LUI6) z+crAeq?0eFVPMeLBl9i?wezIn{`^keHb(s+Nd5D@^IcmOZ#o6wq zXq}f&rftY4f^u>=K~cz)WGMBWXo z8sUd>JzCda2l!Ad^XQAJv0pjUq*}5p6_sS5Y8n?V9DapXPy@);r(3PhaIPzUw%>yFkm=^Nei5JMU4N-Q zv2~Wxk2LudQp&E1S>vh7`+6<7D}WA$ys!rKKGOR^jG`;I@b?^stjh!VxZG!f+MRR{ zrZKB`Z$KSmzszULI*)9a*$or>hL~m!93|ty@K7xjI{c}p3G|Ivg2)ZgYz)!f<&DAN z=nWxkk}wL9xt-Xy&&9%Amu2P(unx)A1YcE7#>cgkw4K9C%eb@7WcI;&m6{Xj#TDbd z$JYgzcLOGuHJg)9+qcSmcz_SZeZD~vW>R)%@wG3wZG#Bm6dA*&cbtyus&D}BtA_dG` z7x6Qo+uXXmD*nRf`50UOMU(gy8|fEM&WcV@P}$r)!FO8xVcOrU+fTtKo#H5g${4;l zW1a7)bK!K^rg8KDTN`W0op(&kptFpn94U|-DTYpv-GueRIxnNr&qNTzg)npR!p~Zo z+Oiqgy&EFm{8+j8FY&NS)_W%XW`B2JVLje(AkP%BQ5{p7IhF*cnz~K6Tmn6zQDyJo zhs_d1_mzGEM_+cqN3$a@2#W}h*}|z4tIj8=&)c4Sh~2cfWXDK+Opa;W9+!8U{EKUk zeyEN@v69Cd0Cr|Ug`dzIJC9(-dV_>tCr_HR4bf(m^|J)uz@V?r@Ui?D;#7;b=J`rb zij?%6n#d(T_!z$wHKrp+xVLT~A{-O7N;3o-K{1(Aen!xM;xGA5JG~t+&#WM=gI+>P zR*r`j@MkrAGw$b2v0$LO(5{Inxc`A3aB&RPh0^t_-+gX2omD>?3LMucOc5>cYi8v* zCl)``B1}ME0$DA;=nQt9u?w}5`1=rP|P|s28Z8(Xi6NRx5il<^{;Wj@-Q0e zp5Ck-!JdLunApEh=RA!lBy-LKrA8m?^nnx@nX;rjvde`UicJw)g$U>BvKu-zOh*Q1 z!odgyvB-;`%@muW)5;b$Tk4N_wH?l-Tw1d8CYM}c%~Tq?sJ^foW+u`vSUR~yh%2a9 zWXFZdlZp|`0x!_9KLC1GZ{)D&l#ioHkB^7?jjooj!16_Nb;n&Sn_pJPxf0?-$A^{m zhhqh6?(3^loyF}rYE0G$z>0u{A$Ap}GqE+;VVAuo9k|OYreffP-gAZxugHf{ad~?* z%hT0TP~}ryTREcpnVlI%hsN1b^c}ON7E}HNc^TsnS@GvjrcGJsom$WYh*SGH>6S%gFEB?n`}`7r>j9*4&v`{Y4MJ)5aY7!i1{TdJ_*L6WP7>A5V4Ar-j3zd+VB{ z8ZdZD-9pr+Y4G1F??$V2hgND-`5@<9{b=$LInt8#ptb5yd0=4SpONe+IB&CQ;Qg55 z-~0PS^tY7eDG9dgC}2G)gGiANTTI@j`r4#=e{pe$s5jc##K9hs{i5`NtNJ{$l6AWo z$7^Twg0+Tndu0++1N$5JZh9N(2pD8*J5gJLqy67F@^P>0=w~0_(PHc_t+-r7qo6tHnBVH=Sfgo8?)DYP4$G9Dc*n1_G@DEfj?*udKJFP5XE`zt9tOG|siejY_Ucl`#Z&&74N)~<6rZqNMJa%5)MJFXC zT3X=o_GXl?dMg%o$KKw;&zhOqo2ULvZav=LuHx8O1o77{(WHgCd8%OW%7MdI$ z-kDmmVg;TnT(1TGrGKplOtF_GjjF#HvCs=BNxC!4uE66(o1fL!2R;(Mm-i`7!P53h zx8&{g3m;VA;Z9^-cDzRPb?VMjJsi6)Snw<7&nQo-9|kur;l1T{XKG7p4A8Srwz>Us z^=_d`8og$lgQY!ekY{g73R}q5cER003g~9Utu{U3rs!gQnEP;@Bi=3a5?3Vj zQI6m^Cpvt_dd`HCccXt$2fTvFUsj4ss^*~;CXa(vK0JCATiU60iy0+iNbJ(CD)R4B zLS+cL;jY~ISSORuU`R8lU~Lx0$^iIYZ-{2ZCo(6-Ks%bs0D=2IW>jX8RMLg}8+ra* zcR8kwwj2|Y01hAhDLOcdbtS_c@@xt$A1>nm2+%&K;(=?ET3Lk>qL#ZJ)tGR|2qhn7 zq_~#AR3n_Cl2{1eC$Mg$X1T~eh-v4kT7~Mw^Gmdn6;DUZQot<)9}~N|z5%ZkU0KTk zN?|`{I25eci=Qe&*~n4qk8yEoYS8+ z5IuFqen%3{QJ^LTAM=?)eOmI$!sP9#bti5In+nvdUv~uLC7hsY1BCDKTk`K%s@fZYt{AX( ziiwlf1r#>Y>PWmIPP*zXY>GOfh?7HiaKB-71V+S0gR9w zT1EArC=ud%;*L}`u1oMbHN!&w!g*x5<4Hlt{lc>}Az~@Wlf9+=usv;3+sgMO=)x{P z^E+Gwin5OCu*^M~tNe|0Ke2U?7mZ%4^F(`3F?g&tt(_`JfuDq~Rx1=%)-XNqlNo2? z*&rCYzL0=xzae>>PR&?<9m!4}JGuSxPH(6_`8acmOSSgan&LC!Nr@>+@}Z5)_84GH zWjmX#)>EIZvA4#i3BVP7ZYGjox3$3yJVAfa#lMZ4i1u~O^i+{ zo>{tiu)BGy%esG5=vwmOK5ayE5ky&M0_z+Ibe>Eecr4yKxZ0=C=@P_dJG3%3bZxLG z08{hLV=L-oUu4mL7b$Rif{%@Dk1b-K>l12f9K#T5NVxIRFB4__DJV+ zXL|9wZ@<}Hn~D1)&Fmt_>{xZSiS#cccOvj{q*E13pi z^xMUx9L?~@323X+5sbS!ZXlU>k4g0WV_`cn9m*f`biFT9uINAWZxeZ3LH>bINUWS{ zaO5#%%x_wmrf7+k&o~pvj!2%wScU~N|C3xkXuGrd;&Tl4Q0o}=<)nhRYuHhWSL%`> zj&c(2@QuI*o71swwOM1=`bh8=KDsamupd_M5584+Nhk0?g#XMZ09IQh()Fnj$#wSl zWFkjKPlng-=RDlS-dAWyVgKkay+zFbX5d(nX>mdn;d1S4s7*SWfieHu_V+2)sOsE~ zdJHb!bMQeOE=q1d5?YQ>Tev0uvN#}YG?gNLR$VYo*2LlN)ureAz0G7hZBpz^3`4gJ zdoS+D+hs6+MqMkj?*c^ea+;NU@cZrbC`FTSaap68DrGAdr^N_ZwcB>YW2evziA+D{ z$#|m;)k)?QYcGm0wF9wWLK689Rn=!Krx6WgOl(c~2l21=N|G?Fpe8e3HTh+lgx`gK8i3c=?7jjPlPac<75PA%Tv>Yw2;m7hoW{B>u0Gm~qo7-yIPHZ*IsHs=Si;Rx_=e3Bf6 z6bjqK5TcO`r=3%Ve8Q?*uv6rQ#Il>VqDeO3Qg{Ym^Lu%Bo9+nIW}~?z!677ZYt$nV zeWXVZ@tKbavY(0xwiwBKX9ttKb?QagF~^sPG@K)V+l+R#we!JVX{4Agn*{y#pELVw zjC4{&{u|{LM)Wi);Gm1u4*^k1B9+t;wd@_2^9K^XWN?+Q!mgKf9KT?Rfus<|42e;c zaCqpal!PzoYX&WejpAIzQDC4T{#B_`CiqtxBn5;-Z!mq3l!;a+( z+*j#;61(Uu$=#dIZJpeGzq;qPk{TQotOX>>|YVh=s|C&>@c8=2Y-{V=}0RqDfdD+d1UJ}`^N|lh(L1-#1AAM zry+-w7t>D{-iF-Vw+v#1xC{skQNX0ODj>v&`1@33rtWMN!wZB?RyLl!g<^A1`Eku$ z%o%g?!!_6=cc4}d>e%*Ou{r~(ZbuYh3=8UWVsOa}fy?l%2$<{T^3jjQew!H(*rEaA zGuDfmnX-QThvSktH+t^^nQt9vWSu=SXY{$*Rbx3Qjdc)EqH7Wjp$)-j@b-w389GxE zdh!jK%M_Y;lsmIg&8Fhx62$V3iL8}`dCMsY#JM>JTMx*f8aiN}{$ZJ;PC0-hH`rGK z;sp{LT)D+d#|T!-7(Nvcm~P zAD+Dx5U0Y45I;&YO6tW__>#$94_;)$&|%Cl+PS_}o4Kq-1xoi!*X z4z5b^0z(~1nR;{H!_M~IVDDi*n-o{e2Z=G`h@nTex(V_jzkC-#KR$^)g!93ghGJGcD;W$0i`9%02pc{O2tL^nJn{5 zz6dQZ-STSE{zz2*zA#GBNgXrX-K2O!f4zV6huREnE`W-c%UJysoug4X#WchO(yJX^ zVK=uc0m2%>sQuv9UNvIe^)43Xraia)5WM7CR@wiLf1g!03BR_#uz$ODOxSQc53+@L zjW}{MLAkCNg32NV>707+n)RG?oEN4AIWW^;P_-S)jzAaV#J3dtl~ zk+WCdJ2+`Kvrk!XN9Jg7^F< zj5?S!8p-|8dVf2sM&z^%k#J7B)kGy zp{-Jv$+H9UVas{Pn`)9;12H@|y{F9AG;R!R-`5b&pFSdger&yNqTo1uOu7Yu|OSB{l3LcqF<)l?JB&^rnG$o8$P~> zvKj6iEF^tT^b8xVYIUbWRW6k(^*2uHm0dQ{uazk@nu~I7G$`5!Nl73a#T%?A0$>-V z&!R=CLMfv26KIax9=!MFFsvO$V+yu^H&QZ8Rggdo9Z==5uLN_K~Z7$kAP*FF)v3RsU2)^e~rEj-LL7PS-2Wu@NzGDB!9ePN|k?s(6 z{!dg+h1{UENbeF6VM3jxMl~*n)!(=nP)FoJ}>HTdz})4E-!Zbe=g-#F~O zlIFOXk2|ey$@r_zIgLz=%P#El+xnJh#(wY>8JikrGXu}p!TrBXdFh^|fUUsgoyjCi_8g-DnzNgJoe2I-a1tjEbv zzBF7x+FKmJb>^~xS|mk-qRs{hs5fe4+36NhUO*?G@P2-z122S?-VJS5&ypPZlR{mU z?q9od7)4G`V0(DZ;pt3XB-p}~Je;iyif<^Hs4m^R*bvfQ)vOqPaEuzIqG-#Br}Hy^ zXN1+!DNLlChBJdhaC@pkkyT1^UPD@NZ(p1Hb9nm{y!cS+9lnxN%&HXP2~j+gfyZeb zqCOnr6wx))IxHr8)|{NWJ+&`gWMqL?&!z2iKWrT4r*~p#Yr22;3ShmcoQpSTM`-2vOEVf2mLTbhSWOB9{3%{*K+YfwLoA?qPRQdZk=P@K zW#ex+Qp*Zr76N1US5voH4dBkxqKpe>g^a6P*}Ow|ePl2ofUScOGMb2bey`My^aUzY z$|tfyHrDO7e(o~=`2)9kf*K~F$jqRt<0`OV8l@%-#^i5x()r3H;TU^N{Qd5CYAD1F^nGt%^Fe1moJ~7whdwnLgJTGDq1p~xl!Hz7{`dCr0$bL z?Zyp_^{-J>81(lEk^{8d<)hn{cgBo(`F{ZK&?48cz+xKLjJL>P!!2e*i&$)jJo0HO z@k|0kcM6m%R>;!1Fo{syXok4&c38dX6GNrpkJC_5@@2|UAbXf8T@Nd%xFe5r?>c^q zMc*bn!)sdVmqW^j$J0mlmW3Gf#q*VbLGrcnW9e8iiPW*%$|tLO?o_nfeqr@<=GBl! zj7+Q7fpxa5Ja!G60-5)(KRegiD?GKiQ(w1pHa?$TmnFh3i35(h@C8igIoDrxMw1cN zp3ibFTQ9>4-kZ1~Y2Y0HaHhhrd@#d!;72i^;$2Z{A^`sqTbnoqo=C{>7lw_Tykm zGp>jOi>S)Q?EE-#JXI9vCrmz?ZSJOZ`??2Q6V@>kPjcGTDClFZmkyI3COF92pe`3L zeXx0att+`}1nKMjpVGcEDz0T|bZ{L)a19V3!QC~%HMmP~cM0wu9D)W3E(5`XyGtNg zaCgGMpaTr@xaZt+bI)1dkN3T|_u5_CR!LW{?y8pRLBkJeN9UfP+fW?Z7h)(dkIy@( zq4MsX4E*nnUQhJ!mT${;w+ms=t@+2UWaMulU7cy-csT|{i^wzQj4)Ieu-3+?%@)AJ zZqYBjOfnBT{j^T&F{=gbkvTos74MK9CGk_ALQ~Zh`ELI@V1{pc%Cy=s(Y{8m>U(ROqxN9dVjVcG2)U7&RJ-Mq@t*0M8TKJZ<3qW0}Foc)LB>a@zda& z!mlvsr!ZaHH0cY57zFCx@g}a6`*t`Wm(@^k2r^rj89oY7r%6;U`BFJUe58kbO1d7S z4(KhU067JO+)?jP^WI1HEhRe!qQ$?4T3D|!m8e%e=67*bFI}@$9=p|pK+BiS4?f_K zoOrTp-$3e0(2QS2h*K+U(a`C3n>AusFqrwV>1hrRAydfR`w~%l{-$5#$KeA0pm4MN z9ySRx)||}5QFT!4R~zq!$HyX47-G2CJY1b|tmVJ0 zB%sq=C=hm8l91t(?)A^5GlVb0Zwj5e=66vlyct;iYVLN6pciQRI8Jx3s%A>~YE=oW zYEDFS&BQt4O z`DzsUAjP3~;g?b5!<*+F?ScbFFf+UcPvAp zkGBkDEy!Eg*9>m);u`VfnUdA|NwFX0i){IjFQ35&cRp$zTv+aqV2Ss93)#ABElAB} ze;y+VJghVj-RgT9Qh;-%F6biH?@f%1*T4Iz{yfRBx4UHIM)C-p+cr2h8Uqh#2}e-o zR~Wzm>!p=eqsIuQxaIG_IMvo?t2Q=1v(%f07P$@X;`;WN9TO;;zIs@nw8Qs>R5Wv%q#%W#XJS`)yX?aYXFSgD~5>+#(y?R3fPANZ9yM-EncTo~skqEHO~2&XZ_=>|`Hl9`zLeek z4qaMv#J?`1&OGmaUpux6hxC0k^2#?-a$OqBQ8{SMGX1@?Me$ij{J3)FY; z;cNSM)$Ai*pIsasc+U~zs8ZFy+* zLXc1NgRHX0OVanW<-CMpBdXOjV`#KujI)WH9E&Yn1>?plEww5)c0xc7M-2o-1?$@w|Fky8t9kWKlxk+0QRm)t>krjZ-pkpcPBmdWa` zvf4)|4C_aEg(U?ssw|7L?&7yiD~i$WgW(D!Ekt5VBG7Q;qXSe-X^A*KXtwws+Fj?o z21?t+Aes&YCFV{Sb&!a6UppIF6^hvKbSt}Dzkx=r9Iusn=NsvJHC_mx)Z@((xfq2m z=nyf5@S%Drxl!nY%6{y0IZbc26trEG53pQc3N(%?`Gigpq9}BKmy%6+=(xuBB_zy1#}iZ z*<=a1Ha0O5)pbcbtr#(4Pg&ObOXg)Qog_GFxhvp2$KBzj7}5x}51Gm~+PM+sL5vmO zinI6Ke!)}dRl2xw>f3pIrQY?QL8oS-!;BB`)EGv}H|2Tc%Q9?Dz6Oac0I8Jh*j2}U zt}%WF4!jtqdwyUVob;jJ@s0Bqm-3}@;z^^0LHrLsbwX2&q9g3^)eR05z+SzO_oYFR`XCPu~%?91{x2>Ed+R7NX%!f zujFH;^so->s~|3!IigbqT37_tO)`+T-)AbQqmghKf$pLxXQmpt4dq`iY zq0NU4vI=U9b%1!7X|`UEppC=vD%!xSo(Kz9_PX#y5&CJ>tZT4MuL$g zedp>9tn&z+_vRAfhF_!cL`0m1xQryGo`H>R)k_szhGRu zjaDNHy=>GO=EQ^4wqe6hYvDMcs%cqIeS~9k^u!@4nW&xa+aV;@r5e^lfx+d${t_}; z-|9OUKPlYh=ge`>y=H}TkO(g}Rl>XMVzVS5EG2EL$!6ctII2EJzZ0tF5TyfzL@&l$s zJgvuE@54CMhpEN(E)4a(JToH(Csy)zV{U@fcm2;G^BKg0wNA&Lcp?H$>thv+t)oR^ z(_Jcc;9Hdz5PEC~w5nEF9zVFtbhlk2lbpp$Zdu)w!k1ESowMGEodNbpXVGnw^v#;S z%&~X!d(AxKX9wg~P4PT$}bXRhbH#qJ~K8_)EiX2_8CN!5^GBAwl zKnQocIzIk_8wIZa@@pzY6AEe*VC7)E_N|^iK@ywmJ8L6`Nz7SV`e?N)8^72r7p+vy zVx&PiEr}pH@7R!BI9P%m4Pf_7tOfrKdpsX1`5EXKyo(QEWyev;U({g!09_OO z8Mf#tAuZ|Ij_$D`D&bW&{Lv0cbfIRY+!hO{V^c`$Kla>z&R0{i9VFipJNMme1nz zqmT}G+$ zv)1B?a53G3a#ycpUWY6+9 z`#lP{zuVUt?-6WW=Uf1u>wiu<)rZ+1d7dc_8|Itn$)^)Y3NkG1^dmjv?i`rxf(2~E zy#jHRO1eFA6pRygyKLXGblS@?(k_Zj-PiKSAl~+jI>O8zl6x9cuW{`oMqwaoBwk&w ziq&74;Y&}`g+6#uHELUviod`$rr_2xcNKr3HZNiW_NgkW#n=)mUi6#UhK|oxwSy&^ zG(u~Mqsltv?j+^r7pkhhn0<7rIUGY>Xy$!LS~Qm$>8{qs9zHg>V;|ok1LyVkbHiVY80VITYN8P@17!kd_4AAzGLzp zzH1)JHa7h&##YyEd_#{P-n03^m27Na_A#2+PIBF=FeNxPm*y%TR)xOszyfbe{G`(? zFZkV-thm$(7ed!tMfT^kTEHJAC&zemE`DtV<#i<49??wulci*|f&D(ZrQUNf{J$-C6Jh zlkH1Lk<1&U@Dz5IU9^WC4&q-QtVm5>im^A{8SqBxKL|1i$SACq1sw!kqi(NN-qp6h z!QR|(2`JZ=E{@WTj5jAlyU^N(mH-9(bzo>KSS{q?m|QNjp0?GV@AZscl6;)W5V zGnXLM(}?&yquU)#)Ptb5G(65%tAAkoT@yR1+Qt$>fC%u4YoEAia2gH+XYX$isaqZ=`02MF2o2R{ z75epEQ#74<#SOh-2`&;dHy=JjRfNWcU23wLIJz1Xan{ool0U@kCSh(tL4r%q==OW*`Nsn@&u zdZl^PF;{Pk`D!tL3CR!TH(k|kJ8gKbo#4`ow+ETC^7CY4L*wgy({N-7a_%@yFoeGZ z2mB%UA5#50LHUp1tp6>q3mW(jIsXa&LiA@2k~OnBdcgqzbMOEF&TmBG#%{)Tj+QK* z_ICe`lYeFF51d^wi+_V*s*3M=-r%i%_KX-lDw!sDOT&y(x`Y1Och(y+nB@? zyG+U%hzIQbJo|8Q4#ul<{1JUzRg0d2`4KId*wI!fcnMXCZXD`AEDUnBiDI?kSvrt! zPRrde3YfeAWuyZ`A^f8z+(tqp+JzB;$$}IoPtm~qkcK-x#HXhkQ0-Rmz5>6Squz7h z%t%|TSGon)eKaRr#g);d%vfbY%0bsbXHR`O2Ct#pq)g%1&vwX8ysHpgiI!+K{JiIF zR)PG>mNhEoH0=w;(J(=`M>$bwVF1}o-t9D3C*beO6z%^hM)ssgDMSDO_qQ@-j9tt; zj9twCsm<%=jX$)gKD_WZ7^XJrvdD(F;!*tgWpZ_hCoBQ;-2j@|mst88?gU_g_8euk zxpXS~aFzR{(jlw5at_wCLp`4Wbk+5E3p(-sveg|gAAji6U{AN^a35+Y1t*II*0{RS z3}gkor*!F<%|4}`xLTohyxy!j45aePNjr0)PvtcETr4@Ts-bJNnJi_sd>2Hc4Ut1AFl+>78SN9X+Y=X?rvX>`uwuKq zzxy{@Xn{(lk)o+%ZYlYJf;t!QQ{AL2Qi6^s*aZZNOTnl3mc&4V0h+?a!X#q5$7LF{ zW~CIY!x7I{*7c8eC13}&A8FY0SOU*0Xl(^XeN%Gsr0>&--;bnLqQKeitiws5 z$&|xVf@MsjCOwAV9PgYAgX^We_WLuGN!j6mYRuJeaNor)CHk2PI9DjK2dX>Wxji7R z9EI{#4Nc=`17>zCnqwsGw>DfCsaR6m%NWg8yKMMAbD7T!qeG*M^$dF31FVR&xC@MV z3}S?ggrboh(e`CM5ejPO$UHeas$ZXMgbu!MA3lefx-Ycdb`xsMb%!ms+zu`rqzJxm zEz>Ji{74`(DW1pqc-VakZCa5mefKVY^W-K01FH7=R?6}59|aC0=c8~QG5`Rf0X)^T zf7QRNe^$fq-!i`y6PIA-#jH~@!)k(RC`dmH2|y4 zM@1DeKw)4$?F2q7J6`4wxNJD~wuyA&`6ND7-=c-542>ghi3bUFLy5X^?clV76SS_fm*EkxH8`8 zX5Kr0m0d0(EXB)%;~r+NWkT<<#21jKEpF@zZtg#fLjLWq}wDZfNg-6PJi%8^3K< z<129_v^q!ly&%t)DR7&x?Vi*Wc_X(cP0i08e|fi}$l@>bR}|B<)2&h`-%(Rnj8Jx2 ztA4m}v}^omh*s1##>VAoHS!@vF6q-tRzO$o`)Fiz&#$x5Wiglj6`>88I4?FHBjJSp z1CwbKg&q7|cY-+GbPE1AKV@h8NokQ!=*0xtY@!WSqwPmpM~;APDOf%2af$0olRR9%6?XD(y01otAvS2ps`L%3QOaGhK z#ztkq7N8U*ZJEBFTLk2Zm*~yx)%K>QD%c zkd_%B$l@l{FUsfw3*!Q3%3^2Af@bg&S{f2* z-udH|y{5dhp}w@CyhJMWw=e7WYw3)*=yx;Gvu#swf=_PPF$U<-OwSRBOZKrI+d4 zq8qKKAhq$O%~ZzHVO&3pl+HiayT35HsD3_?It^sh&!jf1L#EH)ca4`6|ot z3UlCT%xlY9j%;p;+8-|}UMyw&ZBH3Wo5J;b>v~^iE#013>>S~E+lL6v61k&X#J#OO zFS`QPEQ(OAWpwJSu;tm&sh|G%ivno&onQ)Z)g}|eExb9JC8m@YAIgij$YZsbc1y4{ zT16lHsTMSAmAD&{#XesaCzM&Kurr*SrBT&cFZ^6;;ES@zALU=!y znonFhOZ;^xTafgE(QQka%&QqO`p@=;jFK#MifCrVed>E0)8|KKXHZsJ9d1)y!;=1u zvkJYucN1|l2P2dkhZjdO*m
#em31*a5Z_&N?+x-H? zRYI6*AMuE~c83#iaQHM>XYaL_$yr#Ny@Dgy`v%1{?_{@`ie3H6|02%wr%e^(*w%3C zS1*);u-C#%XO_DZ`{bobbG;$gbY?|T*;NnZdKhCaj&CXKU^vHk)|>%dZ2 zTKX4a`+j`8!ElLAI>M$k*R#X(V#^i)NE}Fe%WA4=WSQlNYh=m&D`9&|mOJD%qK0=0 z%XR3%+!`s9hH4tbPdDU627Dt!!N^l?Ve2HN{X=A>{f@e|@s2bhvKB<8n|p$j5hCT= z^0`6Y?&ml6qRR4c@XUZeoe=vHcZFtc-ujnG0Dwh23IOY=5&ZL@{5Q09@O*D??CNIj z^3Mja`u#S!Quj2RkLvax4dGw#zw!T1PR?)qE>BedUtFHw6#i##;@_-40o&xiDEwdg z7QeIRU#$PryZFs|{cptoOJCzR^M86U|1^4k(+EoW5A*+96ZoG*{%Pp^CUTbcA0q!> ZW{ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/knx-demo-smal-go/knx-demo-rf.knxprod b/examples/knx-demo-smal-go/knx-demo-rf.knxprod new file mode 100644 index 0000000000000000000000000000000000000000..ece15a9dece821c97d43a5d408528b88290e4584 GIT binary patch literal 36279 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 R3II67I-OaJYnAcK-Or;4(0u>^ literal 0 HcmV?d00001 diff --git a/examples/knx-demo-smal-go/knx-demo-rf.xml b/examples/knx-demo-smal-go/knx-demo-rf.xml new file mode 100644 index 0000000..38993f6 --- /dev/null +++ b/examples/knx-demo-smal-go/knx-demo-rf.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/knx-demo-smal-go/knx-demo-tp.knxprod b/examples/knx-demo-smal-go/knx-demo-tp.knxprod new file mode 100644 index 0000000000000000000000000000000000000000..ccb136353a00735032916bfe4dcfd1f3a3969ad1 GIT binary patch literal 41318 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/knx-demo-smal-go/knx-demo-tp.xml b/examples/knx-demo-smal-go/knx-demo-tp.xml new file mode 100644 index 0000000..d748668 --- /dev/null +++ b/examples/knx-demo-smal-go/knx-demo-tp.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/knx-demo-smal-go/knx-demo.ino b/examples/knx-demo-smal-go/knx-demo.ino new file mode 100644 index 0000000..d4476db --- /dev/null +++ b/examples/knx-demo-smal-go/knx-demo.ino @@ -0,0 +1,126 @@ +#include + +#ifdef ARDUINO_ARCH_ESP8266 +#include +#endif + +/***************************************** + * changes necessary for SMALL_GROUPOBJECT + * are commented with //** + *****************************************/ + +// create named references for easy access to group objects +#define goCurrent knx.getGroupObject(1) +#define goMax knx.getGroupObject(2) +#define goMin knx.getGroupObject(3) +#define goReset knx.getGroupObject(4) + +float currentValue = 0; +float maxValue = 0; +float minValue = RAND_MAX; +long lastsend = 0; + +void measureTemp() +{ + long now = millis(); + if ((now - lastsend) < 2000) + return; + + lastsend = now; + int r = rand(); + currentValue = (r * 1.0) / (RAND_MAX * 1.0); + currentValue *= 100 * 100; + + // write new value to groupobject + goCurrent.value(currentValue, DPT_Value_Temp); //** each value access needs to done with according DPT parameter + + if (currentValue > maxValue) + { + maxValue = currentValue; + goMax.value(maxValue, DPT_Value_Temp); //** each value access needs to done with according DPT parameter + } + + if (currentValue < minValue) + { + minValue = currentValue; + goMin.value(minValue, DPT_Value_Temp); //** each value access needs to done with according DPT parameter + } +} + +// callback from reset-GO +void resetCallback(GroupObject& go) +{ + //** callbacks are now handled in the class, not per instance, + //** this means, we have to check, which GroupObject is calling back + if (go.asap() == goReset.asap()) + { + if (go.value(DPT_Trigger)) //** each value access needs to done with according DPT parameter + { + maxValue = 0; + minValue = 10000; + } + } +} + +void setup() +{ + Serial.begin(115200); + ArduinoPlatform::SerialDebug = &Serial; + + randomSeed(millis()); + +#ifdef ARDUINO_ARCH_ESP8266 + WiFiManager wifiManager; + wifiManager.autoConnect("knx-demo"); +#endif + + // read adress table, association table, groupobject table and parameters from eeprom + knx.readMemory(); + + // print values of parameters if device is already configured + if (knx.configured()) + { + // register callback for reset GO + GroupObject::classCallback(resetCallback); //** callbacks are now handled per class, not per instance + //** there is no global assignment of DPT for GroupObjects + // goReset.dataPointType(DPT_Trigger); + // goCurrent.dataPointType(DPT_Value_Temp); + // goMin.dataPointType(DPT_Value_Temp); + // goMax.dataPointType(DPT_Value_Temp); + + Serial.print("Timeout: "); + Serial.println(knx.paramByte(0)); + Serial.print("Zykl. senden: "); + Serial.println(knx.paramByte(1)); + Serial.print("Min/Max senden: "); + Serial.println(knx.paramByte(2)); + Serial.print("Aenderung senden: "); + Serial.println(knx.paramByte(3)); + Serial.print("Abgleich: "); + Serial.println(knx.paramByte(4)); + } + + // pin or GPIO the programming led is connected to. Default is LED_BUILTIN + // knx.ledPin(LED_BUILTIN); + // is the led active on HIGH or low? Default is LOW + // knx.ledPinActiveOn(HIGH); + // pin or GPIO programming button is connected to. Default is 0 + // knx.buttonPin(0); + // Is the interrup created in RISING or FALLING signal? Default is RISING + // knx.buttonPinInterruptOn(FALLING); + + // start the framework. + knx.start(); +} + +void loop() +{ + // don't delay here to much. Otherwise you might lose packages or mess up the timing with ETS + knx.loop(); + + // only run the application code if the device was configured with ETS + if (!knx.configured()) + return; + + measureTemp(); +} \ No newline at end of file diff --git a/examples/knx-demo-smal-go/platformio-ci.ini b/examples/knx-demo-smal-go/platformio-ci.ini new file mode 100644 index 0000000..9dc4835 --- /dev/null +++ b/examples/knx-demo-smal-go/platformio-ci.ini @@ -0,0 +1,86 @@ +;PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +;--- SAMD -------------------------------------------------- +[env:adafruit_feather_m0_rf] +platform = atmelsam +board = adafruit_feather_m0 +framework = arduino +lib_deps = + SPI + https://github.com/thelsing/FlashStorage.git + knx + +build_flags = + -DMASK_VERSION=0x27B0 + -Wno-unknown-pragmas + -DUSE_DATASECURE + -DSMALL_GROUPOBJECT +;----------------------------------------------------------- + + +;--- ESP8266 ----------------------------------------------- +[env:nodemcuv2_ip] +platform = espressif8266 +board = nodemcuv2 +framework = arduino +lib_deps = + WifiManager + knx + +build_flags = + -DMASK_VERSION=0x57B0 + -Wno-unknown-pragmas + -DUSE_DATASECURE + -DSMALL_GROUPOBJECT + +[env:nodemcuv2_tp] +platform = espressif8266 +board = nodemcuv2 +framework = arduino +lib_deps = + WifiManager@0.15.0 + knx + +build_flags = + -DMASK_VERSION=0x07B0 + -Wno-unknown-pragmas + -DUSE_DATASECURE + -DSMALL_GROUPOBJECT + +;--------------------------------------------------------- + + +;--- ESP32 ----------------------------------------------- +[env:esp32dev_ip] +platform = espressif32 +board = esp32dev +framework = arduino +lib_deps = + knx + +build_flags = + -DMASK_VERSION=0x57B0 + -Wno-unknown-pragmas + -DUSE_DATASECURE + -DSMALL_GROUPOBJECT + +[env:esp32dev_tp] +platform = espressif32 +board = esp32dev +framework = arduino +lib_deps = + knx + +build_flags = + -DMASK_VERSION=0x07B0 + -Wno-unknown-pragmas + -DUSE_DATASECURE + -DSMALL_GROUPOBJECT diff --git a/examples/knx-demo-smal-go/platformio.ini b/examples/knx-demo-smal-go/platformio.ini new file mode 100644 index 0000000..a919602 --- /dev/null +++ b/examples/knx-demo-smal-go/platformio.ini @@ -0,0 +1,120 @@ +;PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html +[platformio] +; We have to keep libdeps dir out the project directory otherwise, +; library scanner seems to have issues so compilation fails +libdeps_dir = /tmp/libdeps +src_dir = . + +;--- SAMD -------------------------------------------------- +; SMALL_GROUPOBJECT just tested with TP on SAMD, but should work also in other environments +[env:zeroUSB] +platform = atmelsam +board = zeroUSB +framework = arduino +; We consider that the this projects is opened within its project directory +; while working with VS Code. +lib_extra_dirs = ../../../ + +lib_deps = + SPI + https://github.com/thelsing/FlashStorage.git + knx + +build_flags = + -DMASK_VERSION=0x07B0 + -DSMALL_GROUPOBJECT + -Wno-unknown-pragmas + +; [env:adafruit_feather_m0_rf] +; platform = atmelsam +; board = adafruit_feather_m0 +; framework = arduino +; ; We consider that the this projects is opened within its project directory +; ; while working with VS Code. +; lib_extra_dirs = ../../../ + +; lib_deps = +; SPI +; https://github.com/thelsing/FlashStorage.git +; knx + +; build_flags = +; -DMASK_VERSION=0x27B0 +; -Wno-unknown-pragmas +;----------------------------------------------------------- + + +;--- ESP8266 ----------------------------------------------- +#[env:nodemcuv2_ip] +#platform = espressif8266 +#board = nodemcuv2 +#framework = arduino +; We consider that the this projects is opened within its project directory +; while working with VS Code. +#lib_extra_dirs = ../../../ + +#lib_deps = +# WifiManager +# knx + +#build_flags = +# -DMASK_VERSION=0x57B0 +# -Wno-unknown-pragmas + +; [env:nodemcuv2_tp] +; platform = espressif8266 +; board = nodemcuv2 +; framework = arduino +; ; We consider that the this projects is opened within its project directory +; ; while working with VS Code. +; lib_extra_dirs = ../../../ + +; lib_deps = +; WifiManager +; knx + +; build_flags = +; -DMASK_VERSION=0x07B0 +; -Wno-unknown-pragmas + +;--------------------------------------------------------- + + +;--- ESP32 ----------------------------------------------- +; [env:esp32dev_ip] +; platform = espressif32 +; board = esp32dev +; framework = arduino +; ; We consider that the this projects is opened within its project directory +; ; while working with VS Code. +; lib_extra_dirs = ../../../ + +; lib_deps = +; knx + +; build_flags = +; -DMASK_VERSION=0x57B0 +; -Wno-unknown-pragmas + +; [env:esp32dev_tp] +; platform = espressif32 +; board = esp32dev +; framework = arduino +; ; We consider that the this projects is opened within its project directory +; ; while working with VS Code. +; lib_extra_dirs = ../../../ + +; lib_deps = +; knx + +; build_flags = +; -DMASK_VERSION=0x07B0 +; -Wno-unknown-pragmas diff --git a/src/knx/config.h b/src/knx/config.h index 0b3ce64..a042ae3 100644 --- a/src/knx/config.h +++ b/src/knx/config.h @@ -60,6 +60,12 @@ // Define via a compiler -D flag if required // #define USE_DATASECURE +// option to have GroupObjects (KO in German) use 8 bytes mangement information RAM instead of 19 bytes +// see knx-demo-small-go for example +// this option might be also set via compiler flag -DSMALL_GROUPOBJECT if required +//#define SMALL_GROUPOBJECT + + #endif #if !defined(MASK_VERSION)