From 412a8cb88dc5c685419b23a5b14b6e9f577ff84f Mon Sep 17 00:00:00 2001 From: mrbuche Date: Thu, 27 Jun 2024 11:20:16 -0600 Subject: [PATCH 01/28] Revert "revert" This reverts commit fd58a5349efb88ac81cb3fc6684939461b7d9a76. --- doc/README.md | 3 ++ doc/exodus.md | 46 ++++++++++++++++++++++ doc/fig/exodus_hex_node_numbering.png | Bin 0 -> 48728 bytes doc/fig/exodus_hex_sideset_numbering.png | Bin 0 -> 54329 bytes doc/fig/exodus_quad_node_numbering.png | Bin 0 -> 32219 bytes doc/fig/exodus_quad_sideset_numbering.png | Bin 0 -> 33659 bytes 6 files changed, 49 insertions(+) create mode 100644 doc/README.md create mode 100644 doc/exodus.md create mode 100644 doc/fig/exodus_hex_node_numbering.png create mode 100644 doc/fig/exodus_hex_sideset_numbering.png create mode 100644 doc/fig/exodus_quad_node_numbering.png create mode 100644 doc/fig/exodus_quad_sideset_numbering.png diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..49e9b20 --- /dev/null +++ b/doc/README.md @@ -0,0 +1,3 @@ +# README + +* [Exodus II file format](exodus.md) \ No newline at end of file diff --git a/doc/exodus.md b/doc/exodus.md new file mode 100644 index 0000000..18172a9 --- /dev/null +++ b/doc/exodus.md @@ -0,0 +1,46 @@ +# Exodus II + +## Excerpts from Schoof-1994[^Schoof-1994]: + +"EXODUS II is a model developed to store and retrieve data for finite element analyses. It is used for preprocesing (problem definition), postprocessing (results visualization), as well as code to code data transfer. An EXODUS II data file is a random access, machine independent binary file..." + +EXODUS II depends on the Network Common Data Form ([NetCDF](https://www.unidata.ucar.edu/software/netcdf/)) library. + +NetCDF is a public domain database library that provides low-level data storage. The NetCDF library stores data in eXternal Data Representation (XDR) format, which provides machine independency. + +EXODUS II library functions provide a map between finite element data objects and NetCDF dimensions, attributes, and variables. + +EXODUS II data objects: + +* Initialization Data + * Number of nodes + * Number of elements + * *optional* informational text + * et cetera +* Model - static objects (i.e., objects that do not change over time) + * Nodal coordinates + * Element connectivity + * Node sets + * Side sets +* *optional* Results + * Nodal results + * Element results + * Global results + +Note: automesh will use Initialization Data and Model sections; it will not use the Results section. + +Quadrilateral | Hexahedral +:---: | :---: +![exodus_quad_node_numbering](fig/exodus_quad_node_numbering.png) | ![exodus_hex_node_numbering](fig/exodus_hex_node_numbering.png) + +> Figure 1: EXODUS II node numbering scheme for quadrilateral and hexahedral finite elements. + +Quadrilateral | Hexahedral +:---: | :---: +![exodus_quad_sideset_numbering](fig/exodus_quad_sideset_numbering.png) | ![exodus_hex_sideset_numbering](fig/exodus_hex_sideset_numbering.png) + +> Figure 2: EXODUS II sideset numbering scheme for quadrilateral and hexahedral finite elements. + +## References + +[^Schoof-1994]: Schoof LA, Yarberry VR. EXODUS II: a finite element data model. Sandia National Lab.(SNL-NM), Albuquerque, NM (United States); 1994 Sep 1. [link](https://www.osti.gov/biblio/10102115) diff --git a/doc/fig/exodus_hex_node_numbering.png b/doc/fig/exodus_hex_node_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..d10b6240ea38b548bdf414672514cb33256fb6af GIT binary patch literal 48728 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 literal 0 HcmV?d00001 diff --git a/doc/fig/exodus_hex_sideset_numbering.png b/doc/fig/exodus_hex_sideset_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..5282d1ea05481a987a5bbe37e6f2d22941ae76fe GIT binary patch literal 54329 zcmZ^~2RIz>+cvz`VwJFZXVnPNdtaRd(Ia|q(R*i=5JU?J(IwGqB1rTWMDKz`Nf0d| zN)Y6`H^1NWfBx_L9k1h9GiGP*nYrhh>pIW#Iz80UR=Y+(M*x99u4$+%>p>t;82GTm zalsbr8sS0+gh;_zNl8aTNeQXr?cw0;Y7c>^Kg_&~XRJR+m2aA!igLn&y@>e?BfWw3 zB4%9i2V6{%44FZLtmi3> zKARnXa?i%HeH_2HVMi|DC#z>Xs=!WV8z%3EolW##=a|xvjf6CyImfZtB$v!cg}J$j zI)$dM+FDz%5Y8bp78S>1SAR@I0x!(?AnFvo<*jD!#JzZs&dRr}UQ7_>8y;e^ci8*t zpuB=ah_ybwT)zGpy*>%n(GR=(0b7ZQiYo{jxVkXA76=&Oj~OaUk{@h+GORqbrof%E9SWICp-C%x%Vp$ zCApi{hJy&ae)UbFLw}z8E@c#zsHN+gkK$vD$=67r`NK>$8R;ze$xj!b<1U#|4bzUJ z=hONRNMh$9Yba}f<*cYXTI8@-EDv~Kc`O6A{R<2R7mEsH$#<$AKL`~U5-3Qf-_M`&C2mN5ILKKWUNS|*m)Ll9x(%J;TmK#rJx<# zlV0^N;&BoW_=$c#-myJ%UhAZZ4b#y6J|0@HMGN(hf&Lg8iYI)siFf~tx7|U{TdSvM ziVhd4#PR{5^W$cLp?@G}OZ80c0&+%0hYA^+)NIU&`pO@52||`K3K-efwOIT|M^X%v z`pAE-L}l!JaV~BxlL*QURN%bMev65u9U6m0wU6hEM2k{t;$)-7C+4Q{eteZhM`HIP z8TZj`QM7bvTsx%Q_iu7RA{2Y^-u8UCuxkrVB{{3@sk(3>nY3#=dqsM03y8RTXS5GJuicU+pdK9RqNesTS9`~EAJkgoL z`PI`_C}r^8&oj&_MOsN-a|tilAAR#SX_E-gQ9;8Wv1sP}2i?iL>Z*fm1MPM@1!@%w z74L{D)qO5)!@t&-5O3y)E*-v(m?inR*(G-5c-vL5ky$!1uXof|t&S7bpKLo~EbVWQ z5O;Tu{Npy=Pb#*=>xA3zt5uJ0gSUjUcZ@gZcTQD4KkYAI2~)$KHJH$>N6NCLjK)~P z6fnJ+I?n; zPPcS$SC&|6lymtvJ-1>Z%VaK|rCV5RR=8EGp}CPf`>=K-BqmZFftTKCM-zr?wrL~4 zIE+h(66C_+>7>)a7mMPx!kfQ#g68yu<-#00RXl0U@B&u1w{ZDU@_~4AY;Z-zGWfL# zr6f|qUScmrns{-t$QTwub+YuR7i@~kQNyZKtS{AR^&Yyax}>!YuzY3rX4+DAXCq0o z_$vAnzfXtKfKXJKcVdDI+rGHSi9rfqORcmB$BFbEQ8nuRxVaNsFj-r?g<8uv^*0Ev zfW0Q3aM!LN?)z@mdb^v~$ZdV<$*LGCySD48PIGH*%#E2(NUyJnOn7TCZ#6%CcP#p^~ATL z(_f|6r$5#!)O(e#Q?65P=3F`{_>$+=Sccr=nL#Q$5^wfwwR{Z=?a#N|Su9xt9?R>C za2ZkX-(ui+{3=pUp}aJ=Wa)XUu91>Zo8&f=xpj->io$>nU{yR(Wu0zeAd01xH{ZT%gu2Q zwnw{QxS;l?#aDpwHe;i9;oE`~1VdOPLIcpkRTJIT|>GwVA~zKMOa zn7e$THb*!4W+qqIIJ2f?4); zeTAQ_I>!eD26XJ2NB1+V3(}I)YIRE{T%Oyiw!Igz^{_=BxP1BYer#*Oms2*!Lc!zt zuN;~zSdO};SdMR2sMs5!N8-F9ZUSu{s)DvzFSDz~?u+h-i;Izn7r0qChWAIgcGV5k z8Q=GsU2A)pXb4|#AD9WXoxnXWz~sp z58N{MIHadXXSA)FKG*nASZDm^S}l8~E52vAn|*S2;&(#A=*!T}K*0En!6I3VIZq~d z{oCv39g^=P9Hia-TBTKeGzYS}1$k{Pq(4e|F^~sQ+l_=C#o# zGbg@PzC<$<^Y(Y|-X@sun1_5C{-n25@yT7Nfkrp!Ws=W#Sb+Smpzmr+^1;o)UxRiJ zPlu*H3lI5}I*v(HdR=&#_RF3K9j^ttooxRs2`LTq`1$>(;KAzY^r_5G(ZlsK_rtLF z4b~1q0fLt2lIIUEiO<^{gX%Wwv`=lX6s|a~7_pvV9bjc*kwCSur?7XRzoX5f9B}gB zoUl0DTB7zrF*~1+Z+5Q`O{tPBZbjTh^+lOQDc!C;z1F;|PJ!yD75gEiRHWVUCF+R5 zWHZVj`48MKCey1VAg*iQJr%>Q1ZRpvz>E#^&{% zJEQrbz6lEyqZyYsVlsL&@@`m4q~+3$qPV5sNWCc-TB})aUpf0}bQpYQaUpc|TBNq& zRYSgS?UCVD8?7AeI&B#ANul08x3Gkd?Z)q_fvUZG(H|dvye4@|@`hww%(L#B){6$u z%Y{q)6LyvRiff#ire-yFsN)iv)>+>^_RcwMSV;+O={5P8_|>{SAl&dOZVP|v*VuR# zOYVf+l>bJ0_80+_Fgz!AY;Dvf&rK+#Yd6j(%SUWXWus)&EzeP`*2&`6Md6t=l@661 z?`hk3eO=Z5UUzRSugU|J!$hV(WJkBn>s{)bPd8Y{ROqR{B;q7WKS?rwSkcu!yQ?ihc67urLxMzESd&l6_!ookAVhbyF&JJj%t%lUTt zjK`ejJ)icax1nE5K9~$H)Fjj;Z1`>L7*+k&%hnBQ`%qg^v``qVas2zZ_4uyXse9S7 zQ**uVmr|`LttK%%H}|UgsvFCSOX(f!TeC6MjuEyOMlD(qrdy4*i?NF>{=K_Sm421g zpPcJ_f*4J%m+yQM^_pA%bk&lxvj^VBZz37ru|n8G@_%T346(KR);@cgba{+-lh}ay z1>;R;WjaT(6LEVHKhf)=0Zasv(+g`Kz4z;SR`=92lMNVW$J372 zKFZUSKWp~8wev~;%N_IkiS9cRjKSwi*`30rqe5d$@|%9&2ZB-#vqKPu;|H~#5uN_fY0$AUOOATIp$4) zO~LMt%i(_4|BP<79R48vp1E|l!}6+gMPY!WvLD~#(28GeZI|4o4+`ikK}ew2TlV|^w&xq3rZtc!pcuw4&SVserpPe zmW+;OP0nKbP1$LsGBpVaY-5DDkU>NO<(_M%7W}cpNh`Q#55Ks6Q=aWZ0uSVP|BviD zlB-WkFsm`6z>BDJ7jmrlVklyhc)Z>=ZfE?SmVZqK6{`%MYr^TXXO9W4w9*PBBjSH= zQmGr}b&c(HK%C4%T{g{Y*Z`+Uus7Cl(9(i%gLOCrhD8U#0c%*`BZo!*pLJC%E(rGD z?NA6L&KUwY$=`jn!4mV63O<-){#jzDKY-wYzsSHRun_t`dqZJ`*#B8)2j4*y^p!L; zz*67V+uq*Y$H~JtVnZbYY{2(azvlyiP;p>BSQ>il`(XT8X9HtjV=YZ7TMsurYda4c zd%i$7Ps}(FnLsJ9>Sph2jSO^ib@!19lx6+9hZI=HZ02W0{@um*zAUS;mJU+M!`mJy z2Es{zRgM6OM9O&EIY{X#tNwd9_)C`6$=BCYil09qAb>AGn9sx8kzY_!Qj%Xlh+jyE z7wp076Xfn|9mwnM!}iZ0|1*xVy^pQ8v!}1KhdUB8uCjM`R{=;{FpocubKE~n*VME z^DIXo!~dUWCP$!@Rf`E22503v24D$-4D*A92_UY2mY8+>nkWmB5eNhY(NI<}2*ldW z!)vBcnSC(Sun{R)oh5*$gC)pQ%!-RZC>sg#=o-LqNLBh`64+nA;uI(>ra|FwWUuMBN@kQWQ4HsTCPcCp zf`#a#PBL!9^wH(qD9`_FBgUeH`y&6dOG2bB8ij}cyZhgx%20*2C{i651(phCkwgHK zg8#dYS>Qk!vHu+%ERgUr5;QUP-#!1?361Li=iL7c_Tc~c6ApC|8n?z=*}p?@Bfio6 z=TsC}GymtG3MegHDWd=9$qVWJ?`s)E#r?nU#6SsiV`UQ1S(C#d{*J7dPc0TMw(dk! z1co$Vf$P!9ftL*yiv4Igk-~-Fv}m2z%#)f~3i;9IFq$jr@cfaO5H=pMh^a^0n~(NS z&27dN-J-y(O_M>v3{QTVZGVr82E#5TG0T6xINzyt*n2Z4HgxlK(%JWxAH%&_lzrKcU8)Ej%jGBeUO$?eLJ}iNI@z5uuhJ z?Jf6LN#rlAqyoOX<_E6fzkW}5zj-V#;IpJ^^;`)Tw2vjydAEl|-Z#_r^@v!Xp^?4g zpR3pya_QfaprhEt#|w7QIu`?)tO@xm-U`J?ra zfd*V*N6^JVzdmPdZTtBL*Vcpg8>I!|Lcf+HIwaTP*(fAbkb>|P{=**;e-@8RpIq3t zU!C9gIUEtsN#t*zKW0XExGgq1^fLw!edq0-+^Owwm%BQ(6?U2CdOf8rjr04%u?kL< zH%s+gxic&a7IaqNJE?)YjP)UvMQM0{wMXCcY$L}bmmdq-6-^@NL@a-?pK*Dv1ZJs% z5Z$yKzIe1X)$femCSYJmGJDUF(dT@tG)EyCcP7AC4GwaHy|cE znc=PH+m$7zP3{{W5x*Ci>0gI_q3sU%_MYBDMC+Nzptr%6SS3nF%Jq$dN+B_n+RPJ8 zE9Pokclq`49kDsfh_L;T?ihUS#JVnA`mE~(p_8tSA04{do5RoMIaCqlv*Kv6w9P<6`CbRT9y+Z~LAypQLvzajYqj9B?7aEWCG#}o$ zp7AqIL^TnFTn0WmmXLbkc-C}Gh~!jWm*ib#qJL+j(?qwM{O{e@L({C_(SqFw(ERPE z-5*#xYu;^FoHR^nzh0BbJ3($tSbba68n> zu<)43U2{Lf5BXP@zjIU)sU+1Dvn7VJ1Z{`YZ}Vk)CtZPe7QL+q(PvqB?a^^Ln+*}l zp7!MIwJZzx@p*K@b9cU86&9~9eG4|V^wwv@u^`MLS^9f(m0u+)m6GmL5j+DI%V4+l z$fISiF@tbLTEP3Ox}%5Y$0B(!Gst@Qithj`n)*brpTSl&g~>d#ext}jKZXFt zfwtf=gl(%u#*w$I?KLekF{r!#jKsn=bJDBR?Ep^^WkZUR76|%j*W_a9{&s!IX64;Z zO{H;!A+n6-D0tOGZRG*IyFh8K_bo;mZP{akej8)QICsn)DYNX4O8>|TzdX<0nkuF5 zzJ`B?K_<|%@4O7E&{sG|I41-R_~iH0l(MSz=LZLn1^gP@1en|w8oZuGZH(l^iSGn} zOsI~4B1n(FP4o=sh>rl;)&)fiAs5h|Vcb^I?2L1h0OAF$;8gtlmgZrli zK^n4poYLm!`wCDLf+15d5Um-ml^;~4$35~V5{_Q6EGdY^T| zxdBgIy{5)Wz#j^W3Oo7Oe|hp}Ux@Q&nj#JBM^enIhVn+BqI-S92RWW*T@zm#*Uf73 zSZ-fq1e3JZgre8E4R-~x@u1n3V7XK~&xKChJr|1A4%4CQxea;g%qjFZgZwBC1i1kv zlsR-CElin;+h#xXWMkoeZMC|8kMFnvQe90sf(Oc>49Q`!=xZO&m7Lmb`}O&%^z3-f zQfsP2YXs!h`zCK(>^Fw9^>wd5FSI^a0ojIC0TMTLcDN}m#9DOIAAh(zls(PtMdvL8 zBo{(LR*RGihBZllCs$%3bqk?KmY#=*3mssIqd7?v&TA-@pw-G2>T|{?c$=L69F(~O zWk?Zo#afMd%QG$UPtz(ijDFL)^-fg;u=?g}3-KmOkY)5}o;1D0dySw36e`%ROhu4G zGe>Nss^jYX4Q}GeT~c)!D98>u%2j05~5irt6OU<=4=-6&8ith|*%HLhknmjVh#N5U8e3A{DRqWAZCP zOd2c{Bh^9wExIP8aKtI7o7aLU;OOppT}-B%=EM}&jj%b3|G<|U@G?{?G!B!2{sAa} zNKnFE4%_e7QvS1n0!;w}Pamxm@gJD+<{_xFZ-SQJ%>8>82`BVaq3<{7}wTm7dpO$>aWNGP}*AjT%xyD`3^^E%H zkmF|N9-V~u#OpZ$%pPXSZ@37TIsf*2W4p3e?2g=-odqg4;_9r#vLpN%nI!-8k(ElJ z5FGg}g;w~zS?EEZq&VcsI3a)QI79g9s>91nqYr1TWh4e@q>J(!ITa)}G)49#tBYtK zfEl~_#r+a<|Brp^x*n(MvWnpK;6_6pCVmb*)DpJpgdBoOF)c_gGF>ubWIA#Lavm=o zom8X2Z$l&(}*YirS+5r2ML9)d4( zFwh4dJGQ|Uqy!N-4!{zkJ#i%BIj*lXSY{~vk_licU8UD~pvP?chhy?NM%5;7GnFpY zHX5Hkv>8ZcdCOR(b_3*ZKnkB z!*3JZ%9@G?eaxvPWZvRG@+IkZ5&}JSVw98}a4hW?( z2BB7s^@$*}n!U zg#KI&PLn0#zBIpQ+x-au&|v@>w_~b)wErG;1!>Cx6eqEmu*th8U9?{F)^U=|$pE@M zYx*2Kgxsxu^?}>na9|UJx!cK-&z-}Mjs@9oeKzU7Uz@ucvb?g9z|+RB2?GdIItk9v zw)%h`+CkPjyx8RNW374~ZkIyo5#OFqdIKvZA zfLgz70FWE<0wGXBD&oH!_Dg-Iy7pBCDLl}ac2_3LgaYk?DvbDZwejqJP5FZo7kZEg zkPdKUF006QfHmyz-nK2UD|>2IIj`3WnBufY8OT>kpqldG}TiA^Hn#LDvIBM9S9 z+eG?(U3ko{79o40>uC7+BtH|@dk#*P_cqfw`g4E?Z7>i$uaPzl<3`visW$OIRgjUF z?=&8Bs!XR|8tg6tc;M5xxU06s1l|QMQRrzCN;yV{$?u*+wtcR^IXG7aZ-qKeRN0T> z*-|(hT1DeIA96f%m#rWB^WnsEHR;Xn0iHPm%nUoi5O5^hGbulp(ao>H$b}o*?~jaY z1Z*kc-fhysxvZ(zp)dDYkRKpF0&Oxx>231Gl}YZxSXB!%pj`ldI>i$&IG5(Jy8E4M zgLf|Z(RW=~f}&M#JgLLC@gmNOc{{pjR3sxNQ}I{01-}CIha#mD6uTW7oYFf57NPde zqE7SHbjWjk(lQ5_rv=++Tf0dA*-6SdLIkk0+#ls2s}#bOlOQDuMhD{$sUKIex80K< zCbzlcZ=i{{&RxO6MLiju_e?3Wp$|j6SPnD{Uh0=>YfIMw+M#Cnau$ObRFDvPVp0L+ zK4n8t!tJzW4wQY))}N{w+G`(!+(oV#oXVOi4XvWEx)J&{O-)k*#`lZv6*GS3*4xee zoJ+_j%pmqkk^5_sJ{ws)HO;KA1T2dQt%{VTA(Fb1i3G59Wz*WsK-f4g13)8uOmf?! zifPie?~`6h(W-pHtG+|3P6pLc`1SqMqRi#dRGJ^5+%<-DYbo9UU3B46{LV31VrR#n zOAnuJ{Ob~<7oOKwo8xp!v!Vp{$CXIdN5n0MMUTzE(;i5M1o2q0GK#unpf$u36a!gC zV|4N#zkacVA%bi*bGO-{WyBhEzGJe#V3*NZWlC|x8&QOOo`X&RmKl2XD)c8aj)eXC zL_J*%Ah1fIH@p*;5XLNrAiJ%r{yo-%BubGbHb#G(($a6n&;h)sye|^g#?nUr0#sH~ ziSNx{vM8hEHSW1^v{>A#CW~^KGr3>AlC^(u97eru_WSbJa_RI-4Cep^Qhh@+1jGl< zSbf!YwcS#KqP{x^(L_S36^F26T}Qj);*ZC>MMkf*Oax^OO7#D!h|#wy;%_P z`NIcf7KA;lhH~46=L+WMVlM=UVU|7F!DEHSJ280oc#T&NYxPt9(u|*M$gMgzP@$q6 z?|R!CAF$K`o@O&nGw5N}*Xqde$j{TP(J^#T{ABgY6X;w zt>&ZL4xk`pma-k2ztl^Qx44Ume)fj(1Z?XB2b62PQJLo9_gPSE?d@&q$%b4D0FiAS znn1qwy@8;{il}U&iyIO9xCHa5$96{RdzxR>2AWM zK0`sNF7WNgPkaklQ?alV30r)(($~J?z1+W1nrl-7Xcv*=H%?4dHG=hOTJg0V=?VMq z&KDBK;3jMpDri}GcK>NF)V2GLe6|9ps@L*VO8Hk0N;vn!c8iv6#3|s54AEHbvP~{0HyN<&Vpo_?!$d<_I4p3s{t^SVR(>em3)y?~$p)geqDt>( zpmQC7BDk2W25CGsl$~pPv8mRF>?iM{_Ym*3d!y{V10LL`kI#p)dtaLyL) z!cvn?*04HQ>#J#!_;stS=(Y{)jb{#cCIY1u0Gpc9Glmmzk%6D_c{46pj3%?Fjhw&T>?X&* z{n>X)t6KSH%t`N;%5ww-_x4thC>k;x{i!8De4I?*6Sv!|PA!EgIkUaS36O-O5`;Ek@0cxvwdu))1r6O8Dsv;xqVKTK(-x+y<| z>8V99cs(RN^!XSVIW8rlT_oZ0jm0A$yels}n=z~g0?6TYM-QlIeO zU!`hV24MB8Rs5H90$AGf3QBJ1TNVgMvlC8L4AjI6Bp+58EC4p&5K{9ESEna!cpEa=4sHpt;R)ndczr$6i`R(6#g=;CFo|ZPclnIB&!3|X9bP-u5OLe$e3j) zJJ#b0l&Xy4&kf4zR))O2$ zn?ZdmzUCDuC9VwDc{!XN0yGRD==2oQ?sr4jl>p+-XJh2Hr=GwaeI`1j!uzlwiU9T! zX1ZepBT#@OdvoGh3S83!3R=8=+VYD6z`{}?FshrzR-h?^ zux7rhzGZ#ce*`ag3I62K2lro?_ZgOUU(ZZz_$au7#+QRPxIa@#UMF>&GSu zsA5voO89ClwdS9zOYBW^bu^+qHf@|C>}bM%FJh@YQS?J$RgVI{ku%H+>N;0r&S(vB zEbw;0l_9o9LykGfAN;KyOz48}^FjPGvfm!PRSgB4T?`JkEzMk!wb@Fk&tdYdbd>D*tz#h#oEVKDtO5$ClU z0z9lnZC>zvbR?i(ae|H})U=x1KQZ(}IHAK{Y--6jTQmgPr~!3mEAF5~3$b-_Uw~31 z$WE4?WdD8J3D>>-Y(uE&#rJi%$}^BhvxOa#KLUkn$CG7RR;dXi{D{HS+2n$coG`+0 z4=W^2Q9W{0;tLV=pMt$sZ@0VXLNoOpKMFJvd_@=qFB*S<8*)c#i(NSUB2XVc(|R0! ziRo{ov7r3BF)ZTZxHiJiqyxiW8~}0j?M7{m=8XUvH!QVNMgH-apc-IH#k8qI3N$Mz z@)-oLdra>4&9d^lwH6pQ=l59UU(wKz4S7##B-=6HxkNjU?no(}k~St{(3r-x@`xJL zk1)KWbJ2&LAV54+lW45jtDVRHV93`Jpk!Shf3NAK0xBI%J4p2{*Y7Dnx07bdE*w<| zUZex`Tl@r(4p4&Wv9WJx_j*mjDo`u#DOdWi4{@CsZsxz>d_6iW{}p(jrSaGXRhWQJ zCOPI*T*PI10Mjm5$G%nj0-gcKV)$*fVXOIcJ9bzUf%`s*mK=UwS@kNx8L+=D>t?^5 zS&nV<)tUF^$nm58KKq90*S0Z{Rm83UYE;b=MEjOJq8D$pF-_9t*%5o`IF?`2rkHFO ztNiji);kOv*Fzu*uzv6NkeGV)UdumTe_}ey6#T8|1n@+4Nil7Ci_im=xebhtrJXAw zsIBGWrfXB&9V;sb}BT-oVbEpHFr(??TRFEjOz)uAGndw6PF$@(2!awyOV zY^ZPhGj}cbCaL*B6X=Yy!DZ${6215+DT!e#T2ch4L=31&B?`160ws(A1#}WaVQ+yx zW21mtTbvrdo_tqXemGxtQMW?7K(4Jw-?xKR#|M7Xq+vkiTIwT;F31RkxLKLnAi=*i zHK!1&z*4p)nSjEEr%tun_9vsWAq$o=iL10_jjW$#YM2q_@wNtUL@gI9;Tc3&F<}>x z?#-*Xhk!RV?;wc^ag=Ey)0>}t0JZ&x$g@*?bMHZplG{)D>RsB;5xv{~PPTN4f6K^? z+XcbfH=<=Hp60l}8~jLl>2Ya*5%Ed`l~bOt2^^kzH{cVCa;YFWP&aGkG9xXz1D_u?-^cY*~5efFC( z=aVj?#uZy|ViOMBxAFnH1hsj@OYTm)NTbM@+Z8Nj)8^wlMxxNNY5cM12NJu!O^fa= z*?`&7C?;35bvD0eM@tzbvg!=M_ginbwo7i8J!i0{HbxQ=(F*m(QW*)0Z7b=F1l(C< zB7|*>=IutHC+}3fx3{H6fngLFuvcJqW*$mK}D#03*aMoCTo=Qh=c_mC`l%tc>pCDSAq8WA{DPm^KNX+SI#0p z*kW4B!ph)K&``9kL<^8p{hF(TerEa$!$4$z6wxu&^@7DDeZXi!Mn)Si)*2tZHQxuq-6 z*M0e*cJ27^6*V7e3n=%vzfv8|2ZDD21+_Rh$$W?9MGen*XY4@6n+XH}Rx*mg3VtV; ziy4=kwC^{B>lA-NWL4p{D~_y80s44|bDg9IXjOif-hk+7$OCLdd^7y<7icnGa;+UY zkboSoB-xY2k6-Wvk14QFI3(s5$6iaTYaaIMR%roK-6I>;E*VeoP}w=X%i4dJa7OC^ z3t_|zD@Hk<2Ok;Z8w1gHg5>elO)kF;)O&QJ6ZJDQenNw{l zYo8r{sbML*@fhoIoWzmA$cjd=5=WS`fFzPgogGcdz4jtN`enqLragyzbPtwj#gljN zP@pBAfM#yPNRD`b1Bd2qvf?cZ0l$>wWvU4xwO*Q}fQR)>hjTN^*5o*gZDvHZnzQ<{WM>WY(dJTnGxg*nhe==wv zwCC|T2f^>Rjd-dLJ|7ANf&R=M&<1xr6=^WC-!AB83o~5)$?;U|Q%D)SJ2_&4zg{&k z-+g@rs1i-xT?In3Uhx#cpR4xnOeXgwQk$-l)MK=8fl+!u`uiWzJH{r+Xqb~2}?Ef>GWI#1I77! zLgTW+J)pVn6(bN##t)f7_q%{V&~c6NUVd%a045_B?kzbE!+w1VuneNp>8kYPmplK) z#uEw^V=zZsA&Z_q2{BDn35Dl+vbVFaJgLr79c;cA^fqWs=SWIxj(emnUJ%a+CE#!_b27^3Pz46}_{O3Oc%AnS5M2`lkOsXcK*O&IvPOoAGllF5 z4iT`Lv0qlY0n~Q6mdM|oLw=ceAOz~{FYjO75SL%TI3Q%(aX`|kpJ)3}CKb`1)Sr2u zO^yYR(N_o6{3R9*a#xd?R@uB?{1X-%$ZA~pVN)NKY4bOP-$o-<^3#H3m#9; z6#p*Pj#W`Aqcot0mR;j`t0^GaN!kG{Cij?dfj}k&m21!;L*UptU<43gN6F2+nYtBc zYGl&%$v=mZQ?WEWwqJp4eOj`{j2?ko$n?Nqr~@%UG_B~wB8k6`^Ye0py!5T`n2dfb znh0A5CyJ=>Tgg|}$ZBe4^gc|XEbGZIc$btP1+G23zEGqTH@n21Aaw>_BR}YKW??vX z)s-+lb|H=b0^19%ZwYw?1T^OzpxajW^@VsA@4ht(sqpQ1ua**5aS(TF|Kw6tKUzm^ zlJ%Ij?02h@BIwZ1y*<;_!u30t;Kf&hK(h^v?r~(%WOJ?1bcPmk2t#!i&haUCU9=LR z_l$p^>|qnB`%YDxHdS>)!g162=K2mpmW0CA?nWY?jeJc#bN|{t6Gv5Y-9(WFVR5y@ zQ!&Zr<=dyAt*6}*g7;FSp*LySM19g=z)k7&Iuv^tFh!VxY^e*PQxg@KR*;)b^N?^( zPabM*!@3I!xI|vs$Y?FY1QF2i`hjDho$3+fONpE?x*w++i=S0~l*T9Un0)yX$P%W- zqVZM-p|DdHL=?>%+eJWg($;>ULbATqc3cH7Pb-J7k#~k2UeO=XTNfHu8i`&Xrt*%? zEUyD@wcHBDm1+GuT7u-A&1wU=PacrM31J!z+%dPZ%zim3b6vdO8t#~H%PuV9!aA`G zTF>kXIxQ(|B%y9*3_jkbWWbIK7duosZ8huoA}nCj8;=}iGL&5P6JPRFD%L+;Ye9dx zE(g78KfurQt#)qoX5`uGFGr;&$6sj^0fMYKYW@2LIUD(_Crb!$UXT#O+^-vM>6U5M zw;bv{6?u<#h%}U|JU3(2nZ$_#4Kk?_6b)IosI_EoJ>^sv=#x;=K8>E!iRqW&S2reo zY_>9hD(p#{BE)vWZCr5SdHNKhpA7B^h#J;ONAcXsk@JD`s~2B8uZx+cKXDpl#B!Y| z>m-rPi8UABs2Lk27(D?A2I zRDwVqs2XaG1eJk!Z?HHNB4>_I55Dj|L;SHp$EH5js_Cm8zdXwpflbFYqBD9J;+U~2 zzS|H$1>Al`5giwQM2ZLv;_xEP2(lc;8^=Aq6=_JlMS+)(hna_x5SIj63 zz1L#o-O_(C+uInFMVKG7k&S#L$gh98C%k^Wtd=~Vl!V{yy@eP$@=LrbiUw8vXzG3u zPHm9uS0E;rws1bfs!6#Q)k>(r3s(?d4)sYGgUDRWS%kRhwV3@32ktNL_+#k0G9(|% zcpxk3%yvC8I*UpLNe}((7-@z*pGPZRcS=c@Prbo1z=^PWw%>ZL%#g$&DP(%M{pmX+ zyl08dsb@t}-KA?Rnv38SWxCvg{LV_?jNx65H;eXLPeGp@eUD$y1?I`ks&G3CotosJ z8|?A)9f?;pa}+gag0II}bE9~HKdD3f7~~^CP(6xWxs1iRfRNYvI~1m;w^u?PgP2~Z z+Q4-A53-JYCL_r2M|9y(zsSOe^C~N;!tKcjyCGrG4?Yq?LxZg$S}9MuF%jaqdo-Md zjASIO36xi;b3uMLRw7L7P$+v2di2I|y!<2Vlm??QYYJjt`-!AccFlZNj zN@NN-p}cFRTPha=Gio+_TBmej@$<$$6^5x(xk3Dp#w+S-BFcKPSo;cG$ITNSB2u0S zW!cDriN}}5l<-%!&qFF8Se(cEur78qo8h!Fzad0L`BY{eI5HII~7?{OaZpb&+7IzP$Y zMBZS1*f%Ah^iw(FOlkl6d2A?-NwEUp)=r+&Cft#bZd9-n3+;&S8^os(_#uK_1-a6f z^qSG)%3>bVIovIZV{*a&lvuoPqq-vT=i=~_DEyD~PStA+t}=H*5+@4C%Yn^7=E;H) z0KY7{HGL8b6y)o;_}K`$OjJ|aWQ1Y)GC|%6D=7kymzZ98`uuvru?9|5fUFMoO$Oy)&8wd02!Din_Xo6E#e;HJgR(WbgdSn2*dFFLIeFhKs~NzHGjDtW6-n z9aw}xp!EUjN;FoPyRkGeSi>-&0Nr{afHENb>EsgN^z@=MiSE(DfPR;+AA_PEzL zt1HjoIv`n*(-44f?VO2UQO zbL%17YkY{CSQJ8BNiqYfOin>^4bxDljkqWv^(|?G(%)+A@`SrlG#9h{FV#?rElE|A zNfK0aqy)nNdt00*s(RuGzNHZ)&jP;BmW3F{&IaeH_m6Jin-bO_yI+z%R@`ryv}E5N zP|qqRjgw-lbeLn%=yL5XpHkoceoLJH=T72SWVUQbUFyBz|2bY2u4_m3F%OViOLz#S8G#e?$~i9VQkK*%y(dw@2D^q1zz%kE==g{=0*NeARlUGY`uc)IEZ?&m zUzHOM4Bm^d#iQFnq@4zJK!u^tzPVI-cjrkH~J;9X|!I9f5qKA&8xEO8yp+CwzYX`TYN>)f!A|Nji(;{;HHL33|8r0 z%T`HFl)Hv;k!f1-HBz+?RxRN-n4wNn?AWEG9rSEag`1)Uh!>>VI9?x!?kbXwuQd-G>R`$CF3Q+l+( z1i~&{DtreN{p=8(!@GUDI<0fp$Yc58cvU|e{;`&xf|yyVApb*5kbGaU&y{`gIjM;& z+t=HJTdtHRut#*^;z|#Qyt*S8!r%rctP1T#0=HZoqljoX~5ZC>AYx^i!m(7Y- zCUro|RJ)~4BeP!H`t#Oaq>jBT#{|);hfu)1hhk-~X7Bs(faY&hLD)$)<#J?($P^IQ zYHm-nkKWI8dSdY!3)b7;bF%w!N_L0NpGMf3*LkF?C_b}WiA0vd_mL;JYr?y2BILtQ zPhHqJ6Br{!=aGuy*0daY@zC2Z*oVDd=wJxGE|Vzy_HK)2!&CMtAz;T&AiPX^{s8>T zM?JIZHSyFz1-&u4+{93p2Es+w-TT|ZE4mMtH!&WyM&LW0t8=m9PGXLFGs7B)w4zlx z-j!r#m&|?(l1NY#8!C!ky72>LtEB)De_qw&wl zW)TMZe9^E^Q59PWbtZI!H=SelM&D!$bYo1*D%TWbUc7Z$i{Sa9ZC*teb(&IC#mioW zc(V%F%xW_FPQJ3_FW_5a6l<=^{Fa=+8i^7Irbui_Ql2(UkD+*PBC($w4dSFfEm8L8 z09y?@3*U-{BdHlQ(hpo48o6<>$h1bX1bYPEv$mEGB5{~5b%~&L?f9jwhe9XEOTZf7 zUU#+(8m?T>nG}c#`>R`WC-b&7!mXOb5-Sj4hhdr-sL{k8rJ7E^L41%}HbLdL_kC^U z7?b*Q#`kaIUjavmv;xH4AJfrGWq|DqDn!S~BkZf+%zD#dy?U%jQvEU*ffPBy7`ZV5 zH34kKXK`(D67wG*zIzKZBmz=Jvi+pzf-08{HQ{O4f2@XfvH$|V4GHr8Op)w z5~;~b+`_{05xBVY;Bo9cxtYqeUQYRqMQ~Uzb?+@Isg|D~cub3Oc#An@Me*SROug@2 z@7}Y|TnVCfi_FYrH&P^iJl^+gFZ!#Hr_Twn%esHLrTGG?FdSFfOScI89ypJqp!+!<8WaBg#)EPP_Q(-mY@D$hYq(mfz<>uvE>i9WrC#lgu|$G0wS?sOD!x2FUm=8hY8_2JlSl2dEVv zao)*yH3I&e4h{KA2CM-G_BixTtPrKq*~rbhvsdTh7@>m}&_ndoD3NuH2a=rFlXW(o z0hS+e6|_my4(vRAlW_oS(#JM7bDAhF^aJuz>RU`}1T;}FQZb0Qqt`Ky_{^He zx%91%m&ZbbA-dOo2XUU_4bL&q?67zZY@E-M8KqSXDvih;VeGa=XFwdwrSkkbkfxw7 zYpn(Pw|ONkh@aOVJ zggF_HMz+}^%E0RfDK1EoI8&8(Ycm9FV$iESaXIdv-WhuRXxRFQKp|15iNb*wD2Yr@jt$Vyy`=ipWS$BI7|*>l`sRI%TqW+VNXa zLOh&ZP?u@_3LLDB)BlgA^YEwo{rk9c931=Dql{x_?~-{OI}(y8*-A)8RyN1pBzr4c zc9gyM&X!eKnURrkU+4RK-2Z^%jL&sl@7H)LM^dG(sXkAZ1J^Rg3I)c`I{qC2 zYfjTpAX}6}9YlgyBU?d1=DE+sfhv3D;L6Z>(>;Vc_{rSI29$vb%2Y#7fY$2^VSZ~} zaleIw+}~ytQAnV-eUWhrrYI*&kK2#Pi^hfA|( z?7ZDBd)&k{_Wp%3ju?bL4-7XhlWTC7T)a2G^Ed=;!1OTX?4l})D8%;%ODoOf9rZ}Z z?Az~OOzZ@gGyUIf-QN8-icz0m?xZe+l!~B8l@w-KvlCpqxri5jn zqUK{1ty<*;lM3+@K+=YWQJ_i}&P5DaN zLt^biE1P1 zWubMQp_?3P>*+g^b+4=XxIO|mJy^U=od+94$aqcvX3|n3Dh~xl2+_^=+N4w}w*sY4 zslw)GX$h6bb<^N#diR8x;mQ-bmvArOBf4Ik9`NJ@#V57iD~Co9Dqw<&H-BJVJ7omC z+uHq#$Tuk{>eaX6#Ejdoo=jbZJBth;zF6QA_Q9(wy^*^jDleE_%`!esZGL(n0;X8`(abjW?q-7OIkW|FCbbMofLiH7B zM=wezM&i^Bg&zez%n4@d4;8fX&#VC^7=Ag#q@oL3hruT6d=h-H8N@_(oQVxkytDyU z+l?cPur9^LvwE|N%6l!b7{Xv>z3W+`kGPt|a%PX~)|5xnhD+frN2A#PdyMeB!oNVY_WDQ?GR5| zDG!SJ#3M54-`byuWM@OI_r@u-Nfo|?>M6E#{r#n;+MWuzX&GB##x;RWmh_=;UQ~i- zc`?+Ro~rceP<%uDpldOnX18o~E}b>pf%k>cDTn^EFK@zfw|cj<6BI19uXM%?Uu0Ne z6ZYB>XKbz#bUyEd$|~herqxdnLj+wp?YCJTi1lEMZbxtey?e#zd9ktlsj)8+6szdzXu`lQR41XUEf~`ec52+ zq>DK9Asniv@#k}p;~-oB`6rr#NB2yao^u-VOF74@FuY^l3pa+mK46cQWJ|u8yi6z& z5T_l%7E21T;vEdu^!m)+392Ag`sphH>)zl5QPmMlTD?k7w-mfSEBZ@3mkW5s+cG1O ze;w$VKybAkXWNDbUfdRf>L6pM|C&2o1(7V)Uoq^4(GQ@vRAEmp!YEEyH>rUc=V0}1StAe^ zS`Ei(Z`~Nndzk5h@xT3Qj$>RC(M+BK3wUheE#ak>v6mjWE@aK--$Cs2E&XRA@x^!I1*1^C2sz@T3zDLio>8lnt zQvfXIG=rrPY<2fuf4`}49#Mx04!Oa9x$6t?ISHbz0!eQ>j3_7`3xD?kGHWo|1W=(` zBglvR^4ZBV-6*LEAv%FVU2K9kN*;DVAzGhKak1sB<2nigG;;ngG-M73htnR*0&t8@ zN+DBXl?3t5n;+qiN9(C{XS7!s;@%y&MoCOL7%^FDma51L(7>yf#nh4-Cm8T@4KUBnQyQEAq1Cg;ewFee5K{L`N`1LoXVbc>G zANU2($NmDR?lWfQ>~1(6lGq;`wQT99bP`8ag04yRpob*hz2K?bx8228pg&e~Kkc>) z1&Q(_{UGiV6ziQ=lZ86Fkd84-lJ6<`OOavaaaw`|+yq!O2HQ*P`d;$kHbv_&%ZHRu z_34o3SQS7-dE>3u+S&i0_)`ps(Rk7&IC*;~;Qpe`% z#IAEgka!bR_&3O?+LqL`DA|$DD(N#-8BfIK+tiFLpRcqB2_{xc(*K%t8&13PI+H@6 zg5pJIl>vX@BS_6g~fG(rnNZk~&DE|cuxbxk;!>S)mG|171OGN!{)JVlJ zR&7EN=A0qZ-XpS!K;|e@gi=A}FOL$~yLl3YnF^YN=b;SRl6lsrhOaiHM?}+++IzVI zt*%V2^yRg559z0!d{5Aj0LEsq7a1=44Qbky+us@==BQ>W(ILEnkSVlZ_?KLS#6a!0 z&O1Pk7`^>+oMZi4;A_Q?4-WWx3vD8EGoFO7EmJJx1*wM*I+bQJ@|MP9D=5;S${tL1 zf6xcxpBF7vT(~|LGK{20{QZ@62872!Y(?NbUE=#gRuuZyuS+i&lvk%2=F>w(3sD5?)jb$onj=4AR8jnC12vbD zX#Y3#3Lb0p3x%zDudFq@o;BMFutTbr=adF{>e{h{86gN>t*`q}dn@Akk{`0QQb!bn zHpzoe_n7Hv;GzpJ+uhaNAs_>6aAs_`_4wxPY}8*Dm4mQ6GsTNVhA)L6&zVkP>U3oB zi0zpX+-R7a`vRp8N=SF?7bIJIEglVWZ`l~DVb$Jtib#_a)1XG66Qy^Yfzx7aLg3v- zmQj^8&u;IKv4?E*tJ4kmPk>q=ixZS!Nxv)wO8OwJZc?6<*mF*`<{QcQET(V#r;vs)4h%5Ls zgCsfevGLsx&1kL&&2_ulZ~Ad(l9skD_Me`?gc(qA+uUE~lymJzmOS@l>7w3kHt@f> zVb%#U^7j`bHs4dj+#9IE+8V=6XrHH@6WzW7CeEByV9*TV63I>cvHjDES2bozNyv8; zXZ|djf>$^zb|KbotWo{Sv4x+S5@!k+1Kw)4fMe7{{AMqN3@Tb(H%5`;>x}+5QZ53=?0zU=+o{slmJh%W zus_b);Ws`9idjL|39n36J1*`368c|j@d5{+85$cmmMGwu!Jcm#B=XKxbfQ(Y+|lzT z3aqzy9_EllmRf;aWwcHtE(iWhsO(59qk&r7ExhXQZ?_p3B!kk8_wJ(eEjiweg-#^J z9c3Of-{{gZpfJ;*E)ZeQ98;OJRAJWoOxmrQOxK~zEXuwTw{kzux8Q#6-0j1|euK|y z7b+ay>^?W`TV}i#xk;Q3O&L?DZ{A3e=~U6HRe{xKGyheeNis8$5=-yg`BJHn)uzbh z9HM?I*Q%5hcBZSB1kreQDt#Q95D)omM6?6-rT^`fV-imWc!hEmIXhK0BC8zR=ZwwV zkxbn>^-Rn+ViG?+z17SVk#ap$pvhr>(+}5Om;S~w{y%O`Z=?Ds(u+JYLx|MxO@gi^ zzVeQybFlF~oA2UZ_X)(igwy$Ixu;zZC$IR3sT5NEdeBWYZ`wq4jr6t7crbHAx#_hf zr{N2eoE!CY@eLy)G2>hUDHO}bZBRm6_K|_+f4kcTcpW1O=P8lI$S6@ZdU{7{x35JZ zXDRDwaZ;6W7U^!qZq4$bZH;paH^KGLzSdB}oaGbc^698^$zPZ_c2y}_O~>d+&WC1w zFsLIl30H|`>vu2%k2B@d@IIeDaF)#?jcP|R`rX% zX9Fe+1IZ!DeJsB%gUpnOEop^}e_KEImTgo^x#ezFglJpP#*NTBH z774)gD*C5y$atx2u;p{Ty>Jd_SPkvf+Ieq6j}Hx>=n%(w2&w-R-MhsayX;&QD>7utcDFwB1=ib740z!GST>gHbNX@_q8hr@4h4Ya^BNn4JC1yeGU%34y|D& z<5)jE^1;B@C)WXr$t&a#?yw-AxBfW(Zdkw!|LPVMyj_x2@;NUY|Lpx6f7GdMI;u6f z_@gc<6hfu-1J4aF61qc= zBIV^fqGo)?RQ(9t%gWraRtl1=CcM80E)br=$LCoDw$ zJUis65OaOdqOI&t_z4Q?FsR`W>`qKt=p|gvHn|;}2KyYNz{MA*HiJWG#i8vA>wBYCH$i36mXVo8M;n|_+lltj)es-Y}ntP@BZ{~dw*=o_mj_d63 zgE`kKT>UQ(X1fDlCzXE3El_9?xTNCdUoAb;Tq%XaP3@&Nc2ie;f-(YzUle9QY(s~J1?Eyl<44B z_|d`gd?lFPq~@jNa8rmZ;Kvfh?vp2Mk}sr6xjx4+kxj61WfcEchu z7dJ6a7DK6W#UPHpozCB7mt@@31rPfPHSuLk3ODMJp2`~e%X~rd5 zYvfFq8YVyviS@GCs0}J>=kDL0?NoO?%zeXqr=cM(T=H=Fqow}48?>|cA`odz$T)v<^O-gYsYgK#?ah)_v7oeYjF376+u2Af@bs_%}?%AawqO z#}p@{j{o*Te|n`l8C)QUUAvkq@J+9hXjPSy*3!+{*J>*5FE#V1;o|dVmY>!6`u+SQ zckq4*a&q0ngEI#J1`5BfKh8w1`FV3)!0rX%bSj-P2!98}5arpHZ0q$IA$M!t%WI z78j`rL1r0{WOUj5Z2ki-NrtROZW9YB7FyUgERPbTJ>z=uo zu0~jPeQpK)8=;TGPYMK8t0SngFn0)`5R1B;7R}S(&yLNfT#{n2)DYm&e^-{Mz)@5q zn`V*wl-lw*5MZwg&>qRWx(*v1XPn{CF^Yqqow2syeTCs@J&kYeii3K*knkD!u@3jX z=dn{i9Yw|9MVn;g6vnR2`?0BN?hf0JG(e|$UWz{qJ9vHvv@cWU$yK3RQIZ(+C zEzj-eKix0YPFnxjt7lScSMsu;{hpeWBvG3uj`By6_<(C|D(nbO`E1k{D+)3~F??7P z6igk?CSktFmDE9Nbj&uCTj z_C{DQDD^jTZ&{jt+quhkjWnR z4;oXFe1vWR>xQCqQu2@rj#QlHe_rG24-3|1{3xZ&hL^k$}ni1-#RV(ZH_l-peoK}5~R+^qt0MSam$Nltlz)bwexAH61Tz0Aw&Z8QZ zyne;lB?KyHC+mg237{Z2YGRVF4j=6u=JxnUc_L?}cfdfOQYiv=K#S}~vzw^Pp;fzy zTrBJms05C8=R8+zSF`;3tnhz@6_P<`2SIekq4$@(6~XJ7Rv$1z34;#2ryeM?-iBvq z93}vaP1hprAS=nF$~y2f=Sp&$Vt{m1A9+w0jX zD`WmVL>dydjDaii3>LU|6o4AzI7QLb()SmvX~M1U;b>M=1fB;ovH}SD4s&JoIZ4+3 zIJG%RhkA;L&p8D<5QtM#b#a&HvlNkt8&n)iv*r;33u5H2A&l)t#J>pWNj!K?3DaI} za`Gdx)!jkAVS;>Y=@G{74izQ{a!Nir)y5kB$661nAlZ+Cmz%4HWmx*_7}`(3f=u_!%+- z!Z3@Gg6uMiaLdo3rir}~Y_gUVXr|vSlGO3c1{yAGI7NCOY=~yIRKLo^R{qGCWh6yO z6_PjL{(g-Nj(lNL2o#XF0}n~=PL^CL@Q%QLfL=IEz6|nYpOOTGjtAv^ zyg}7XOQW?>pqUT9qV0gPB?o(f7&>^k){- zV9;MZKzo+5C+VjBC}90}O~0QDVd*r=BSG(=UDB65dF$HuvNSyz)u&Ye(zU(CJw%T* zR^aabetk@t0h)3+4U=TPmjI+_bc#&4^X3 z@PL$=C=0~rcx!*uVIlZDHQA#>cCn=epb9=s zDNl|Zz$jWICKuLwZs9@El1RUz4|bR?WYR))O429^%6SJ5B1eI5T37mM872uL9&W~! zj8JiE>okO3gWT{Z-^*>2?XOtD9!pWgOk%hgd;}N(0a4aQ#a&6{nUgD~5@17&} zp%4lv5c`KBiYl7lx|q1IwQ3}f{&_Rh3cz45=*+ZDJ~gtgj0otnX3K?EJKQ^F3;+d^ z>1j;(Z;cw1!&XrNenJ@$Y%EI1uDElno&D1XNm%wErz^9o%+078>S#YYIHKavikJVQ z`0ewX6l%UXo;jX?Tk7;O%K2sW=QC$}YA7UMKSSEh71{=-X}cFgsfik5{ckmM@d7F> zdW!p4S65&kuU1k;t?qT!+PZ|JR^S+5c%%>!w-jeG+yRL!V<4=~7e6X7EjJ%V)3-*Z z+lGn$M!f36_D{VCtchpIz#24cl%`v^1{T0bW?3nE1Q6bQG=scF=_gZfe{t8W4cwb7)o`$@GW5W zkUhjek{jsJhhAt7yf*D-&U^lTbs}<2 z*`Sxw?8Y9jrcS#?5KIIM!j-aLsK-&=$K?M6KHR+`L^7JuL)sx+-NqzSI79O;`tbydP373MU1#377iPFG{2S@04E`Ot5=m;?&Z?^!d*WxPs#K1JXZYYHK5iRe7@ zI-ErtJpSss1G4=DHN0}SpIRd)JA0TtORelzKaeR4HwY}_(93z%=j9K7nAahK{b*+W zCffX1W>1MBwuQrzw0XylN@?aT9fJTNGwWgI_oPY=KVlr#@K zwlvAbgATbSUnjo>6kCCJ84a}gM-hTwZn@u5mo5RHk-@if!dKvf8~NYjWmbR=4P#8* z-`2~%Q4ED#*c&`sb6(40s)3$HDr8)NM$%V=VvEqkdNIgw|2y7({MuK86T$ip%caDY zzK)GsD5a^up`x&WD{vu%CMQTnMsnS90-irjdz-z>s4}x`ekp=ni36W|m zF|4GlE_G+3AV%~hEt!?wh>{pi#}fVxI|LkeP`dNPBJUccnT@(1b>sYfiyrZ4c0XGk z?b%9SGb~~Os3tA<-l@{~G_Qz@6e9E(-=#qV zl<{!Q{0Q(e{reKQ*C$Ds$G^lZKy&LYqlmkkA9ts3wb`*xUeJ)N*+kazoA~lfXAH~R49ts7_ zem7c!%YPa4oCIsWTyvyc zVul-o)IS66>hK_n3BU)sdFJ(*HJ$8Dzw5FD*xmYBw@3`Dn4nQqOPK$5ROp1nq6TJ# zxA}c=l3|DHdOzmFQGkfAdSaYSHXieW&x{l@OO|qjSYQ*{rvLQSqcJ1l!TEjHQQsP& zW{xMU*r2N(>%N;*$2!nzw(0Rb;{L?0Q#0$6>Q`EqGTRs%>8kokfV;PyD#TziY8#x+zze`vSpb2--xz;$CZkwMvoPDGW^dfblZ$4sb{SZ|9=!_J^`0>+ zYs%2w^>nHM!aLW-n+#_Dt=zok6!EWD(m~j%SETsuVea`B%6((1?CB3EB-H@TWdgp* zb3v0h?=V_;MT}>WZc)T`v{1f_ zyr%8(4;tXJk%LX%=!v%`g?NqC+Kc*`0`FUdjDYLjZ}TUsA%5{2)V>cIQ8*$)Af>aK zYbE~g`9Zz@mtZh8qz`!h{r&PFsh!&|@vfH7F^wjEvM#7k{XwyY^7e!L-+8Riirmeg zHnW!4)nN|QJqXYg?KLbJ*^v3pdwK7^QTix5ok~|WAW9}@zd8oDiTp<6wyBF~n_&Wu^CjfQT2wVKaHaPPHhb6dG zjsE5DRMlzwV|`hzhnVNoL#XmMzfGf2I205)t&)&K!$^lPlpkT*QP0In+CE6vb?yG; zdculgD}9sz5pr2_lhb+lvprHd-*5f=S0g|?uZvr!M25|O)1`-ksF9`)m6qA#`%{L- ztfmV#bsawz=Fu=H#vfEmhwK3k9WW|KYEv{-t+mH6tFPM+Ht~3Wm~{jI)!$mzbpLTuMj1XR&&%-Dyn|@RE@-ErBMHB&WG7C~xJVp|dAj?DlXMehg4TIC)b)L}6LLFeD( zwMhwKYRzyaFkc*F|AWx;eFLzaNZY4GlMusfM0+vXF80L4Fa(v=8WPU3o>deq7sl56 zem3!_&+@KPAkL`V9z|>&!sYrUsa}%r(!nEou zWea3M77PVqU@g`R!YC$>W{nF`ky@0HgijzWt$~9SR4k26@I%o;6;c>dYr=bnH+W#ULFGe6Zziwo(CHk zrsFsClDTh&-Id`-P$vwq(xLVh_9KG_U(WnHnXw@M2lhEyP7EvJv_f$!Xqq(%v2QeY z^QQ<{Ny`DHcv<-aSKyb9U|~l5bp-;ZcdG}CTw=QZ*@E_8I5WX80bT8uXwZ?_d)Qn? zL<}n}AIn!Bst+Ie20A2Z=7J#m5oaM8X?}CXR{8S3;IgRc*f%5mvuF%kj4v4GZTc-y zzGgrBYu!!!9T>IT0UqX<&j(0p$`4~o#KAyn0Q#m9myRD^t6-+d!A`5432?7*Do-lj zW=Yt-?|QSfF54TqA4N10)%B+DAu{17f(qu6*B1R$y(Tyt1k~C{%kfAdn^I=q+HZf0 zjoJZM61b9y<*CMKIlf2c5Nz>ZoBjY}a{OA%;{*k>7|D~898Z0Np<3tnbnyLX~5cQiLD>^N+~9b8#)#xH6(bDnBfTU{2DC`zr$b}uuLA}c2T>k556vd zwc&8r`4)ge`MkmxZ^YsF)2k0JKpx?Fi6&Mk-dCLLYV3sf9E9bA!#BqI?<-BU8Gh{Q zx?cb8Qf+Ypfqmxy3v5LHN=~nq^jq0Kz7UiF>n-t1$G6*tm5M5F02^xtoHS(JA1spx z@krQAeXDo~p7K=aukHFoaE1&dASbhbBR~j)<6$9D6^?ZfN;R_sV!8YuHFz|#@!uX=vvff z!x?1LsxfPpd@?nb`|Uys8oO}Rr-5+V3rEZZm~p_uFvB^KQ}vuS+A4iGQkNA)-}-=e zP^ZJFH=Id6KsOO=*?p#Pl&L|U z4fob_r8js%G%hsCV1xA!g(%~7DT(?~IMeEon4;-Ka$q!goj{fT^6?qCg=NR&)ku?= z^NU|v8=G>+GACNa<>lwaU$;xBqM{sAz;EptsHv8Ubl2H0N_DeeE{$da{L&r$?s@QA zs#)^}bK-Ao&VDk_UeMR}Q&XKc2*;1tZMJ~fg$2vt*_Pk3rGz4rD5JKzlVItVaz z^bIKhyz_$Fr>4J8-m@PUX#RI$g=@n7+m*JZmBF%r;j#nJtb3Y|j{otZmrFi1V^f;W zC%u4sY867p^h6tgjW6B)0S3wp;La0_G|FF}jktnOs&XL)q?I%jc78dHViW5u095gH z{2t#d=n#)FyD$4U+|>Uo_3`%${xw26fhX^7q4z<}e;$A!8X{z=kT_RZ8e1~}qrbei z|GIPgUsB5jXT6z9^v%sJ0i*hgNHMylhnL{8iCS!?chNME6dGwuSp|NQi}pZ-!3LoJ z0#I?75WO;U3O8&47c_*bj=~GACjAP1!gmmQzMIZ7`=}kW45)SYZ_|q~dV9m$!1<7gVFp|<5$H*Nybk_t+X0?qCC1iZ zoJ7dTG#1=m#FKmbe&u^aw(1f2EC(V0D^>Zcm1?8?B z%c=Ft0mK2MWG9Tohscndx=s?R^p`9?r)_ee^5lxus|$HI2=Z|fyTD><|9Qroc)rQg zP1^hXD7=Ki{64(A`Fv|xAsvQpRjvmy=&vGfJ983V_kUevDiiee16Ii6`Ld^X2JSzq z#-f?aqfG{Zv2Rp;@3)-T^G_!usyAhwe`(GGUus$ED4FJP4h)jv^1``NmGl@{ki2wl zI-YX=laFC77EAPPAwt5Oe+^cG{IPB2|6rlHiqGo(29RLQ~k^%ps zBmHaOKhqpn+^a8TXKw*o@QI${6I}|_W3Min$C8amSe{DMJpg+zru7#_qOP-sb`W8| zfT6K*oA>HFmb*1z6WH-_6JXB?GZ~s$8k!G{l*e7h)w!*XMcXZ2wguq*1*~xXxrOdj z#ByC?z9dW;aFWHvfvZA&a6?Mi)zVQ2z$dFW_AZCg$&pwEC!! z1wheUH+v@V-h6I4_22X}A8nBRZ7f#$gm_TYni_L)SM9VK+0$C5P5eNv=L2IY~gPt^aMQ(*VPxaTd zcVL3tK|%R1_yxP|&F1_-2amp7zv0{}bUtfL$mjyxlgIe6p;_Okpq*v0(@wHV>|`3> z+=MjYtUt^MA)Tf`aB>B#evETBN#BV1r`SgliK}bSJm7VVP{w(=U9l z9ejU-tdLa_iK%MWafofso`#5VoGXQ*zX6vE&G|k+N~*$=WqZ9y0`!;L`_J@W z2hNEtzk;{gVHLbhnZr5dp>;u%@-Q6bcO!wR_zQTo|by%G& zfAi+U)b2|THBNM`+j!*}@h)S2pJ`Qp#W2;;aXgI@x!xgm#4 zejNO@y&W1J*|{I{Q}Qy~^05tvM;w+x7-^(-wcTi<{M+i+NY-9-0*Ppg>Ur?0eeUBYG^RaTqQfVs_SeUJH;N^UU& z61^+k&0emhLRm|HaOt)bW-y`V$IE^-)#k|7CQRAc7n;v`swJa02)-FxrJdDgDsw9i zv-em6S)kM*s~F|$HiwpTbXM25iQec@Z)M*ur-jg{*ssHzRL*SqL!ns>aR!Vk@Qk=t z%i!(D%#pj2Tk3-(><2`VzdtUxa>}_g~L6GBHkQ(Ysd-H+OJeZ73E}HNJB^HnZ@r_zSo%8 zFAaaZbF28_DoSf)o^k`LFD%zLw*I8FdpRunODofIPrsP0{W5Zug<-#g-Q;t8sSR)4 ze4iVA_-KL8-CuS(5H{kNJndDkt$K7)K8&?ClzR4}NvCli?#C-Hl!EK8>;*aBR8Z*D zL++SZo@{km^krB<)7I_b&InAt|pONgku=qX&`ri!ZKYnw^J^_Li287ky2Z z9-p^+a|Xu+dx|{E*~_IB#$tuj20%f25_^-#?psUy&VSvDHzF0_ffTi$D5ekI+;8x| z*W^wM-R>=1G@;~xZF~~;;j2M7#twR#P2EpZ=dBu@12m|v&F}4Ne<=ebri~^zLx`^5 z@5<`J8h8S?M@&MFy+6Em>L5tD=-mjJsd@et%Q~ddUH=knEs@a~&`1Zf$*CA%)n(+3 zb9lNTOz6ZJkzW$x$YUsRCTA4$kJyp3>xA&6$bpHi%FKT!LMC)kOU|g^Bl&IrDhGDr z=@nVp8OxYFR^Ff9r(Zshy|wCAGLze2`C8`i^vCx8828V%tvQA3o8^J3q{Zx6)p%Gy+Pn@Hz;#{YB*K!d*2xT0nJD3A~92eQcPhRQ7fIE~K z>)9q)wkR(`TAvpV-bzo{DEL8&~Ygi}sra zIkfHWu9E`9CD3@eJLYav4mAOJfwqgaiqzM+9$IobJbxQ9(m(?~}A+ z{ANgFvmB%wLl9WIyj;UnJxxZu@lR0vjR)R8fGh+k z4Jzry+lWpIL7i^TG^>{KjI~9|=wZc^D1J1L1%u_0^G71kv%S^!SJk&azxw_@o75ykzn_4~m!D<CNm{v)>qI zAKjQ`XxRIaveNk_G`+#~7Md}=AC<4MD|U@2>qpyKuG4viY%ojU=QI}VOs<7hTxf$xkQzH~n zO!dt3KxW!MmW4ahE%67-sz>KVAp`++V@`#pY76K;~?zhcY zp4fp7k0|?(UWp(^rPYNS9)(};=0B)%U_d(f6XB;@Rk}_m@Z+e2hO8vo(#Uu(b^RP# z9KdD`ZPWI2P8>*`nnt;QtpO$M4!S$iGSFp2Sx+2|GI~a)M9TSNI2`~L?CmKUobQK9 zXOxT_qs+c*p9nW&8S-I2{~c|vIp7e7^B1dx20m;#^XWtH4To%`{?WD8AaQ$ky-0UR zPLmL8<2b|9JFb{Yg?x^#;|$3eq*B4Nv6j${3Oq zs24L!tYmNCu)2Hb6NBggj#dpa(To_W-&}EZR$o5V(-n1?eEAzY$SSdNXX~xSbn5!i zdM;D>m?pk!p|*A4`6khN-lvOi5-M}%bXl85H7vVyy14m{D*>4B#qu7%#~kd`4#XuS zu{Za<6rDQlUm|9~ zn;%LVq4AbZ|I*5a8$3c>1_qXFgbE{>vSLFX`?7arx9~a>u7pb2NqD)Iqej$v17Zy5 z9Qn-^u3EXg0@=?0D)Bz07Vpds<>}~|I*~npBTx&HP%;M^(dI%JIu~kxE^LC4#Tau2C#aWg2Do%v=$lPc{Or zT6cvADWQ!d7w(VH+6yHqrO~DXyJA@Zc+yk5KE^~IU9X645P(2GDkNeN=l%X~jySUC z^MqFR>b^R#Lsgt(zDzRryowT`A94@eNQ~v(C0CxLY2>h|LH3#3X(*1v-PZEGGfnC% zp4$k4AAsLcLZHU8g$RRGf&`NU#Qsx|vCDWZ#m1?m@x)2dFKzIK#81YeQ6cS>v~-J( zEN73HRGi!bPHE^M#gBm-H0H~Rn>k5MoR^O%ddVS~9|}c6iQ@)jGi;d_NGr|QXwf-% zxN4DENM3pi^FSo!K;&)0N-h{Ib06b}VsjKSO5O;oUj|zhL0)}+{hqfUk!$)rBB!rx z1`C8f(DDWZl>Y7gXStyj87`8>P>IVw6SAzy+>XvQ-#^QL&gA<1{-opNMEdH-%xiEh z5QxS8B?Ut+w#0smmti@@PeD|nI{YC0xnih@c)njU{-z9PE6)_hFI4ji0)eaFl7qwB zEN|7Dn@!@+9}$yN^u*KpSI9Y!>{78a?X!m)ahZ*w3<*L|+zUx* zfzr5wSKxvcLosnsT3BUXHM6+2HqrN3$VGQ`A|7R3Vx1U8lwHr(>uW{7495H@>mUQY zHHm<)sUYe}4X^0vPT*`DLqC3C^PJWMEo#w2Ikgm$)iL{h?OZdSE0eg3cY)=IppTt` z&6|2Kb*Cp4p_Uu5ypj&fYv2DtNlCNx(08THh||fqKD=3o0vZctrYI(O@|)mTK;1uU3C{7xr2muUT{;s#KH<=Kd(?**Bhu6G>U zz}2OW%Baqo;g;0X)6RYFm=1u13VhS($n-h7#0wtV5|GZd+Vs5lh63^vtbwdoC$211 zugxJU{z2eL{t9hv;D9`e9Pd(VsidV+ zpTTr_g*)cx9SE(PBXMRqj`{HI=r?0Ilr?@L_FtNcEw+hDHMLa_VDBR-f^uLJT$+1h>#Z-2@{m4uuS7OAs~{ZGJCF`#3%h3 z8a<_WFA68udpvx=+@_PPHI_L&U?yX~B|kal9+n&vNiWPu7)$*oY;v&5Pz39B#@b7t zicF;0+2zdnb}Sip?_4=tkLSWC2_UNkrm<_Ec#K8xXsc=*OYjCg4ES4(tW9jL7UTU~=m;^HRw*v&} z4nkOKGBHwhlx(c;+v-3hvaQ4a*{y@tGh+>Lgf766>K^nZDCjG{c$aILt@0+8u;dMP%bk{! z_h*xZ(bqi**Lm;75+K)7s*mQty?J{DW#2Q*f`99fY;fOOXzlZ{l6nqM%hwmwqS%}i z=meHvZTAzzy@oD|c3fni*F;9&gQ3E$$GPsE)(hn|SH?@-Lkk9(tD$Qf^`~kV&@3z3 z+o4TKm5YNGWXugKR+78)DSNvahYoNOVnfMb60UzP;9LiKg9d;T9wlkWu~Ipb{y@vf zv$SSLL~8rRq%%2wzDR2ih9nwSWcQspl^>huq}=sCu>h}CenkFV>Bz+VZGZ*OxAqMoHX{xQ{y?*`cCaWIv>sa<(uJpcZaequAH8wcsz z>~Fw3@x0IR8y1HOUW;I;vb|?yC6DF&XT~JZ*-n8Ndi?)~A zHxz`tOXH2UIer+2*MA{(NnAVrjm;}E&Vef=d^q+X_ur_F$3j|M{5d||d5j6S5o zO#VE2b^wp|vv)MP;xJQcSw%6TRDc^~%}%QecCV|BJ4*$#Ak?Yn<2QVAmEXkX0qgVV z^Yrb3|L8W|-G9gD<%M-?7{{?u;F1i>+I|wS1|W^aA><|<5~*@voNWYS&h}waH}abS z2BrtgJNQ-ce)wi^syC4Gt#~eBM!TPz02DCPb#W=axckpBcfFE<28>`%L>nl6*=5T!7DnbV)b$H z!_#x$vb`Gbv;GE^A5rP{Rw2g|^=r?EQvG!I@7gPx`1(F*O)ZP!j$m_sO-ti82|d==880QQsAcYs4C4y& z$T_F z@i4Q~f+;~YmK=axFg5aTWkcBs7%?VAdn|0;LWd8+>`yAAdb`K6|0l1 zf}S|P`GEgdS&~A2EFpQ%(}`0CNh^7X5YLjO!UMkXFFn`QAH_-yr6JGbYm1ftK~{j8 zYy~X`If7r~C&X10QSUlv@#XQ2AEdI7dAo2JLkt6_c_dN2MqKwyz_YzRzvPW3VMcj5 zgYWw~fZe!0gI>Uqw|6lz>*S1!+eF@8e0KDT!N_Nd>5-?2!Iu?0}8Na#R_}!b=}z$Qs-FHIR-u?+E8q`msel;5D=?*A&Vn^ zu*^O336VqBZ@}c&_0o65+znq%R~|8cV<{MVfywA=W@hk*_AK=`j#B7H`L1#TXaHJW zL|h8-jQx2QozzesEmnL#5n%BtLKMOX*W1$kpyJg|ITCfa3_x(E0T`E8sdDSKoAzNC zY2Bh4@Tg5LELU&6_h)S4_e^Pg!`8zce&}G$ zT{uRiHDiLvZH}UO6Rk0#vW3%B95sbT2p@rIr<=vG5}6t-jLcgQkW_DD@}4uGC8@`3=MPikUe!6z?06HDw**@sz_j*U@FV@^K=GoQxU~$8g7ke#|f^!`DKf zzj9CjMY5R+R}Po1dwXVV1T3u!E5!RB2{NHvETK{7X)^j@=0Jc)0HOp8W52}yXBuBw z&7wu^Q5OsOgZ1)^M?4D3|L%!6y0mEYFPU@`fnn(V}$Qj4gzrlC3;0Z!>H z6MlT4RwU`S^aWg{|B$i(@9mf}L?C**7y0B(1;s?F0|oam=`S)5rtmI753TIf>Oc$h z{`I`r*V#f8>Te4xJsepq*`8`(aYE#>;k?|!#YRB`@-#${PUNR}P{npw=E_VjL8H=G<$=+=(jfppkUigiG z7MH^3c>I^gXC8v(I=6>dq8CE~!}lMMlO1Q_6!C&ly#1rv^U7-IgkW81^DgMW>=?Rs z)z6Ha#w(nd959u32*qV#>6jsmD#(bET)363GF00`4`mvAv{A>ywPg zlOm~vtUb0O4V#~JrM3s}y?@|A_g_0kmwVoBh^9rB-noh!2El@--(KLLk2aE-!GwCm zPuSAo`%YM;7Oho;uKL=@259HUbL06Z3v9E!K z*Kr-0Y11>+x2}Z0Ea-|PYl zsC;wZD{m+02Rzb-s=Wv1mxmU=dql2)YeS9sX>+E=_a%>dPbOL1UXS|mQIPTK>ULh= z&XAJxNAxhpQ^yhgH^d=o=kd{9jJCIeekE$AYJ+4{1_vMa=UQj^3O15mPaGp}R{_u6 zXTHbOq=JCdtF2$=Qg0nEm*g_@oOLrU`8>~UZI!C8LO+HOWvkr))bO<>%2XPkei2%7 zf|0Ql-t->J^VG^u%SC$C59o7?0ZAIpl|Jq=efI5Di7PQUboflxvD)80KRPyvC2{Ni7b2fV&4(Dt)*S7LVX3M}8c85zFr1aW1r@e7n##$D9jKWTO%nJr4 zm#P%--mKa5d|wYZG&PEev{`2}AVc`YK3wK(C4y&HOjMVWUeXCC2I+#O_F|iAz&%}=U-NZ_pdgskw_7+YEGCW~k zrFN2cLou>qGRwcTX50Na&1NHciy>Uxl|If?Kga-F)Fg8k_+3L?%QwA=XFU#`Q}g;H zX_4x4O}i8DXB|ZX7J;Qd=VhnL;pE_6y z^G%|8;6a%;!*>mgH?9mT4}(0?t10EgSjyKSLH+Js$`@iQOenPHWFB!7p;WK4pCB$i zN{f)Mo=81;8Z7NCn+v=cd1-xuC2C}2&11dUSPtST!E}IpZ}V%I^h|ySn7lG~BZci3 zZ@n@3v=4=)Cl%k+3NF~cU**Y``iXbr_*nGy7ol`>1;wt?>!5Jf#xUsNpWjug*6fff z*-C$%Xn0@7C%r*{zzDKQuZ0--vrg-X@}!|ob6W?4^2f6(c@#;eO}+)FZ<%QiB$;Bjj?O$%R{Ce z!i`tS{}vsu4$GmpV+lv0zf;G517)>ZKozw{ne!u)bkW17o*NaL1mP-B($~>Nk;qi-_L|4b`6A(-C{w!gDaN;-n zGWW>Rex^_F@wE8Fm(h3UFEjec|2#V1U$hQ+U64h>)*6Ruqkw5WtGtf7@4nJlf|BA- z@4L83LltQFe*X?h>eYo^4r9t5>t&Ao4FNp$)6QC^1#2~~!XB&Fqgq9VAqBJ|MN+-? z+|(Ha9Nkp`!FG_Lc?sI5Dig$M2g!uzpqO@CruL>32~wHphte6UtBC0SgU~F@bQ$ys&m;L@Vzd*(4V<~8gvCd>&?5Sa>pamXsjeN`HcW(%&5JEZ!p#$_XUp;Z zJbRHldFrsopu!n8pabn+c3bAgDqecLMWe>@TQ|}33=moPcXgr3^AQYE(j0()xaTie z|JQtKT!6?JEN?Dj9(?Hqap;;QR$j9X=Ul*D3dST&Yft-3MMr=KrZblId~MH57ePqd z7AWRX4+YV4S6;&EIoZ_Ma-E57(6GupbWO)MLn8U|Gg&M8A=Os-Ld1OP48+LFLWc9O zP%nYyjT_=p#mXu^#8>g|7HS8x3?|M+y-l0>F0Q>Wjj^SN@q4XT)@k{|scb{%?J{sM z%Y?w@F;lU(AcgIg`oZv`kTcJsv{=?^OUEsSWQ}*Bo(ilnY-$^xXD@J{-yZSn_1g8g z4Y0p019{?o-%pJ^Guj)Sbc-jt!Z7C~$=6e_Lc_S1&G`_Q<5#f>MYe}JUoTs*RfiNm${?Lcb-yaPLXQ=%hM)K z_gIkfVdp`IxBHt1r!JQig<$id4b>+lpa13`qXGKtPy+9fN+E`BnFZ{L!OQui{yaeA zHoRdVURav6@^vvs5QAsJ{9U+LybQzgiz=}=DaJ02chW8=Tv%Lqs~^h?%PFlF`M9zg zZnqiK;HQb<S@~<48 zX0S4JP$?W(?O-xIxNPWl9wy<{$v3>-O@~S0GNdOg!^Qa`Ncv>~SjdrZ$tFo891{kb z8s3nWd4&U4hySrIE*Xe$y-WWt-VOaF|5wS6l7T~?b&top@JQn!^Y}Dmq@EiOol`riF>?CMTP{$iz{AKg1w)ji^$U# zBYqxOL!dLgp85&suG)|i->88di^f!@DX0q|-QVqPIfD#Tzf>k!=Jm&kFJ`KGirF>|J^+bUYbU$; z^KJ86#fgNN_vY8lnF);0MM`>Y!>fB0@}VUnd*3x%~P>I76k=8#@RAB23SUX#BT^u$Wy#ZZAJ`gK_Df|%*`UfGsnA< zJCv5lkhFrhr$zG{#@I-vKMH!r$feb|#uzOoi{H@-l&KZv8hoL>19MwlMT!cdZ@ztm zjra(V#0OsHPc?}pT;(ys(%;=K(!wq;dmDb!Wjf4yJ4Uh|pl?B+;>ta)sRJx*l;3KL zljdo@%lHWW#~f->qPu%j@N74YSdpDnj{kw z(5`vPK5$V>++*;Us|U6TNM!fJZ<7YXC7yac_jD&7)!W?xnmw0nxNi;eCo4wwi@SVC z5wb6U(Nj4qfhEfYXJHxg`^T&la;pK)SHb+ zrP1tTenMCNFTC)08Gmuy$GUxU#!urwYOgx))l2@luxaarS@s3#r5Nm2OcONU{G%ri zI87yyJ+QQPBK?a=iPWP&_l|xEU*p>4rcm^9irM%WIMpP-<4mC;616|RJ;Eu%J68pT z<~s0oN;18quKnPwYrZ??u1qg_7_*ufH1O_0xi3aNS+lQ|rxyRxgnZK>w%I|Kp| zEjSn;=u88RWF@TG9_8?8Aq3%jbg(n>0xm_2&6k;$5TrZMX#8U@@6adkp?aHbgxQi@ zP_}1rn!1c!9E8w@Obely;!GCCrepNzJK$@!)SN&z7h@iue13=!2;g5fi76Z-se==2 zFXPhMd`nR!1?2eaB>+ zV~$PjM|s8NrOzrk-e&Qat0&%q8Snaa9>jrh76cd3-DckQGZv*td%lCCym)evO^&>X@P&-TQH&*(BriJ43H%j@KH2PlR}>`>`EZ+C zuu*q%L+wwoW9^q%WK;j>2|I$R>Ueba5A3fZK5Tck_G=ADMHA{-JxgF>*UCvm37E$G z9+fHPHC7u!-)#(!ix959=XW;{17Gt%vC0$nHAttpB)IgXgA87$38MxuiWIjv>9}eR zTiIN_*7D%IFTwJ-Xhb&XF6V&0^0#h}9n@7eQT#(E%7XzYfG;j*3Rf9#6~q$oud_D^ zAbR^*Ky$nYda}onWk(nl^6C89$6#paRVtK!1iPchqj4%BQ#?G?Z-@IW$`UpmSD0(t zIf*#R74S$ezk*6nGPJ1Bz^-908j^@Kl^5rdQ&|=P2764_IyEkT>P%Oy2l%17tN-H%dh&utXJbW8dW=d?FTC zt-AJQqCq6yE^T*`^F4eWo76h$!gs!|A8yhSkLz}~el7y}N7MTpG_6Mf^dFIRYu=Fa z|G|jbdc%5ne}d4Oklgd=A7;lqmbn!Cd3LLVT4eRiv~9|IBoy=G$~XPhTmx9589(-O z{X9bIbjRnEzLHI@r;o=6`&1h!lvWqK1qy%mm)#c0_v&M%_+glETEoI-72tKus@tl$ zQaJFQRDa_n5S%nmemx=Bc{E| zPL*;}TcKxDj1$j<(jU>|$69r=U!LwEvZG7mja3SF8+$;F?4%xky2gkakl266 z`t$-m1LwH-+VF!?YrXRHYl|DLx9^F)&Yvx|!+=sN4xa^8kX0M~V9`EBQkYat_x{?x zher&KdBv_csj|2GPu+C`*kzB0hVz%IOWHF+kD#m>suMp>2*c7jX*=c9$2k);fwx1weU@mt|);q1ysPBf}C)*HQu^s8k{wFOw(J;#R7_!Gj0iVIqaH{63 z3)?s})2;>-$M$^Gv)z=6&Pz#8yXY)hDh2}pAJ<*B0gRpA@4x6TnS`w`&G);0I8$tb z@4P^UCdG>2zOWyg6MsHS@PV3(rA2;Yqd%aq*(5A~zvqh^LJTttJ%`#AV#xihDAgTw zwFL`<@1yefOFX!>CaH-Z2a3Bh@{T>=Mkm+`o0GYu?9es)(wrL^{%k;%J|(dQvbz--KCr+mi+!j|>xSBsK7Bo-Oi>E@_qNEGWCX&o55>2ERL}oGVAQ*gfnd zv$$g{l~#-iibR4TxBHVTHs*&Sp<8oXi2cK1#NvCK`-VfJ?x}Nz7n7!mo9HQECV4O?IH}8W>>*-+xxP|&L zBO?1rtHXMDUu%N=Jm4{G8lpX(M6xG%O*` zF@H06Rec|ZaARsrqHFGqJEhSj$)Vo+yVy{3y@Yj1TPCX(cz72M^X6Cg`tr4B2vKme zs~sC|`#{0}Z++N2RN-y435*2$X^|uz;sy`_mp~gqWb!0*?d>sFw6ghH)G5{<%6T3~ zPyEU=j2YL{3>bce5b&-Jiv}yIcQK^xNDh?=&G@#9{vq@9o{xrb@{_G{50M7D#T%Mzflk&2~x;50y~J%HlJayy92JiVdkvn5 zg;V+fx|HaqUte@)Q%~7~`ocxa8H*Br*U9ow<~%k}Ek%#{^KQ4CeNfX63%!YiL1oh&M-?2>sfyzt|vfxA~SCgo|Nl`yJ4 zqg$xo^CxG>-hS^#6(Zg0q*QM!?F7HUmOf(n1#r!u^q5SjtDdTh&A#SyZTftZ43(MHQGSlLC&;uOcITsWOJ}|EQJxl-LIK z@s~Q07sKVAO6@^890ZN0pQ^@4`g|U{H-3AtlS^VLma16P?9sC(Q9))#9QWa|x6*KB zbKmFsq^i$WAB6$&LNeP2O;4QyIV437>QNsu#{Wr<^f+df`>Xl6LMzog*mehaGx^~- z=*9|AbO#!`D#Mu;zq-G}-rMHYF8emaL2F>gwb~K{QP5tIs|2P~u!K%r=#YI|p|7k| zJmlX^4hLQNwU>9EHn+=kB5lQWF(i#b5cI<-%|A^-#Gaz4MioRKo;wu4L7j(QgFDwi}4S5qN8u;%X8f`r7#Es$4FDL zaO4Uk&d>#kaxh2VpK5+(JrjqV_a)uWnSv@ArO76$ef&RKE*%oZ<#pntTFsd0_bBVv+qiM^v1o90o(Eiy6Hsu9q$wm4Wy+pCVd`naHrg z%DWAwvf)havoHJznDH-&Gne14eVHK49tiS9GmdZntkm2~(@cXZpmo?*!CYx8#vP_A zr)mS!vh2fI>%={jTz%l}CP?U&5@B=s1q>V` zgb$v4xu;Bo^EB)PkOH7nMxuyvhO&=&YZ1{4;<#8a@RIVA=ZtOunA0RZJ7BKcM!?YB zoA{H}xeSSqY{WZ^GjMJLi9M+YOEVjK$BXh zo2NIwf61jVcTPNmG-V8I8%+x?uYJPQ2teI4-Chk|#{5e%wj7j3$EVN9Qv7eu9=#PF zVb6+M*lG7Ly#J+tl7Ld;HevebWS^J!@K6Xv!^FVM<2*KB?7Y^l!13YUOjRkKNQDEk z^xF2o?BD}BDtOa4LD!JfMRsYEQ^I`yS8okk4`5NPk{$@fY7Drqs@1c$ypxtCAkt1k zp0(Fx5``!cEsJp!G%GsN*1B!!jAL%2v9a*#2p22O#hi#)1xv75m4g|EMC^eMRa+?x zrnPptnLQ?4T(AX(?4yWek`BY*;cYxfsWu)_V1t0PV63t^ibxr`oqZ~oEafbTb?ENJ zPVFzYCDNQjsmhPK)k<$7J@_;e)rsiCgGm8{pHz;l-n(<&9@_+j-5I_32h~N^zwI}`|2g-d*jr? z=)m3m7ps*-QaJ{it?Sy)c@DtI+wRW*S0ypt!PEFiLv zcRQL%3U|8QF8B8*z@s%Op8_x72mAJ)lT4Cu6;KL?ng48Lz+*{jwL$VPnCiQf6Z@_K zg|v2&d>kvU!6{=9EF*&{F7j$|2lHlOy%WG10qb`Su3!_(-RHuhJCWL=sWpN31zM;4 zn>UMp@DtvvGZH+Zc(>Ep>6Fj|xlNpBpCb-M9!9g{yZdy9W-oH#K4nYUn*Az1g9TW7-oL9UGl$%dr?D6335>tF4;t}YmoAEcw8Bt@AkCDa z9DBiA`3-2fZ$c_@pjJ2RHxI#vmC_jf<)KpPj%4gvXw44S;IFyWR(8>mXkxPv5Wkf8 z9R|l#OsE>6wwrDpIbX{}B%3fYhl<))ko!UOUS&woK{!2X8=cYil3gHWxz9{;1V)9u zrIr1bP5PHnpOEzR()$H%K3W=FI7KCFbuNuzPSmx`&2ZVxjVQfq9umK;mkD7q?pI`u zGqzziV#0?^*3{%Cys>z)e#>Ks%1(*4rE1MK^LWjsT>>P>$_$J4ng|X#_h)li(D~kD6+jFPc&60;dh&Ei5$wAEFsaO;d zMPHT!f5eZPY!4n_?FDG9t;7_*YE$FL3fq!8oB>&48D8n+Sg{A2)ISf2%BIXm&RHBt z|E3yTBKJP?VyIwszQvro)DMx965Gy?feTBtu)%pmkLGe}NV(}ryb%7^v49wD5j8LR zCa<88;2*M@n20KA7p#&uzHtj$KzFc{?zZ;FWUFi8%I1XW^P9g)BycAUt95XX|vb7u9A?=p`s7Pa!w9$@`k?f%J1%#P7WD zKM%r$PE%L??_MN3dQVCgoUTu_CrAZjk0r4`iJ7}PaR7vQ&ngN`@Zfuq5%cGr4W7$w zXT{74;JbP}tH3pp9*x5VZXj}uUeaqrZxN{iAmpz;Z9dk4IwEeQhJ(I=8+7Qbw-hzc zG_#J&@xjZ*0x(YK4Ah3q7Ms7*IqHe#YK- z2i3&IVN~JPh3n+xy5!JPnSiHhaRGCJ8R&kV@k0-2r1|zPRlc^ij+6>J{CyL}A~t!+ z!q?oO6;1QF&(Z2S7^i>DC+28Znhe)1xcWDDn_;E_6}N^5?FJVGZ*EBFeJWd`hUgix zNyr~s4{|oPmz%6Huv<6}=u4(2cUcfg-xZwP?N|o&Ch@c5sU%@XaO!-JVx8ok4^Dxl z$oyOdJVc^rY|`Fqy+nZnu8|a_^%D5}4mQcC0kQdP54v%#i?C6jD)FbhW5W%;nx zJ~Jgh)DG6x&J3Grb1dMYEg+dPjYF_IBYyWEOrL+*050AvGf;-_1f@w0kG`BJ#;{np z0+3ivW_wt>ATRaK*cAITRg82S6kAW{>|dgG1KZ9UkSE99o!>lu@Q5_yQE1_YTqsHV zQ_!nX8BM|oBFRUYfPijv<+pamzc<8w2bx4w;mH|K2A8m76hhi=DNxdd85c(@wF2;d zBEj3wyfb<_RDhLcr8)AVS1>A<^}d>`?u3cBK z$Nta@T{x|#?+E8!K_bwavdbsI)9=RP!?lvB8^wbCN>h7tj9hbTa|{pbaR+L^T=`-;r)y7(XA=-s8r2IS!Ql`K38Th0CRo-Orem zd>yKkLGw%O-=N)Gs{vpwbtzTT?7}>_m5&G5m~NVL+hOjB(S~v8uk1KpNqx`q#8!fe zl5>^ffm5TG;C-8>F=%g>w!NwiNekn(Mm?^Vj{Is=OQdz)qfmdYoq3JLgs=_U8jV|? z)Pm{NMK6-#LM0*;V%^|4VER}UproCwsHv!wGPcz7_6UV69(D{S?~m=gN)xgl*u+yQ$nSA;>tcV zR$d^bs9-z{vCGO-9AW`!a&vcr=V#-qPy|HSjt#c+p-c$6Xd&h+hY{bgmxom^A0c88 z;`-;fVWec>quC?7e}4MS8eu2Snx^YK{TbEFKM#lq74U0II|Mj}Xy)KUX~t$vvwop1 zMhA>`n4P-)F7yMZ(WGKmiC_=c)tZCjN8rtM>w6nDqJ>LXPTtuo_l>?9l1N^~7l%;@ z^Ok#`1itMC8nnGy<;t;b+-TFJIdyR2n?55P(SCe88`B2`$^#G8o2BMy0#d%N7pFrs zPE4x_BD!yabn^k1^eoqX)aApWvhgV%~cQ zP_7_in!Rt!?5FQ%{u-?MyE?ALQmbcJ#Db{ozE0MYt1jTEXA_Af3=Ts!&*^8%X=)$& z?T)^(653%Omdau^O)1Fyh*nylLlfeoox@@}4#i76 ziCacy(wCjs`hEd8b>3t3N@6&4t8aruRWCXUBuG!0K7N0pF;)j8erf?@cQWxhbtz}A ze>=ONa>(iGc3~;z+F<468(Yi>V4o)T_l+^Y(V2*jl|HGyV^t5{6CJyo(cfTf$mc5N z)V+J#-3I{|vZX62(mDGK%|5edefHbdw9>Ew-j%uAM1wVyOS3ADUAX)~-{Y*n(WQO3 zawGYZ+lz5f4o_anfA)n@3)jSL5O#Rptf!6hiT;A>woa>RH?hTwR;gvG%0F4&%k2_z ztN!Kj^v;)kdMn0#7ypzIsT^dszmDzl=yC!EK@09I{-)itKi+Xewx3|IHn2ZVGtUeO zn}*n+eNx2j2jospuu5YXnK^7Ilc>IfCWKh{2vNEk{nrG>6>MV_O%pKh=*K_HevRrXMKnT*`grZ%=;CCG~X1hVn-UJhGPp|JV?4tTeoNto-%O1) zlCuEFe#hzR7?XN2%XYZjCM;hP-(+dnw;oMF?-rY7w^gzUVG7%thzl)wsXZ%pZE-xR zckMBZ6KC?{CDb4^_pad{+<{}um@+t{DV%}}D=}7I0dBeX#Z@K7p}wGNs+R4CvCd56 z79)GyE)Rg{bC7!ELu{)A&5;K^#RHBQeH>z1DzmK8D(t%0scL9P^U>xA)aer|Q*B2< z>|_R!{?qQ!))oSZ$74IewN&tC+0jsMf!_!)TBRLPf+GI7wqrU(YpJXy+m%O~0&jx_ znQ%3>ao;!+qX2pNiPT!oo);>(4PAxnW_q&CMPOxbuRvz|le-U*PgEFVBZ)hiIcH^liW2ebO={?_| zEIN)9?Sfp_<8tX2BM|987olU;WUnrW#&vvi>bDG;#b0SAlK0@uF+_To%e)G*pmU-z zs+1z~db10UK)y)hfjL+MG)0eB+9sA0SGZy3Abu<}Sp=0<2FQBtu2`PvU6YFk%Ml_( z$?g3tx8Px&CXyp!zFf>$IFm#~9ALO%leX2n6I4+c4>g_#Q9!NL@ftYjZ@`~aEqbFN&^j*YI zKvB4AO(7`a8)_cIzGsokzJQGYtIVTI!{sxu-0XrVrUKB9z71*B>|^3~$1x-eEaKXI z%@KR`H)t#BKFLFP-#f1e+1;V%=c+g?KL? z1$~_D)x2T5_AjTTC;l{qz4&Nhgk?mGf ziZP)6#QGIqd1B%nK-h1E*$n0&tH&UbED?ipAWYaPf6m(cWIJ==(I$S| zE4hQlCI%gxv`(IA&@R)pI>G=lZ!cVn`>JUVKOkT1bJFtrc**NTqYKr0J3zD6e?v+( zddIXzV_w!Q{zf_ykN+Sa#nRuiE}Vn8`Yc1oM;84$ht5FjhzRGe;x{1ox*;km{vdQ5dq8|vLVc;y z0QsVeumoYDT|Ox_kWFUGGYGb9+k3rw*K-hut0AKL0W|T+H2z*5v`1&4m7xwOz5D%m z|0n#kT0GoUA3Vz0d)$*_IcBX! zz=diRM(#`*Cra}Rl+hpbxOFt(|I6{BmwqF;=rLn@J%j2#^K(zzMf|HfV_OYZn4Yvi zTVMG>e*VK-a9doE+cFFisji83)OVhj_0fW@)eH|mATQu^A{kfNmLyoG#dsuQCGH1g zvSLJ}qw!Iv2wD{K$z(59!^;x--GHZ`p3KrXejR8>r{ePaUqc;2g-=Zmy<$SBh;>_E z8oBLo{{YuHkAx3W(29f~M=lF0i5U0^)bB>2uQreqed;G%V@4l$_`koCtgxM~%h0^8 z5w;UW*W2*_vl}0+A9;z&;3grZNlo98kUo5~Junja+>kF5W{xa^q!6gT z1O1>u$9M{4sCksgZ?MXG0@I^2#mx+t{|GNXoJHbmc$43Xv zI&QTb>S%755C7-5$hF8Rqf=!tZQ{49Zo}RB-!3D-p-kZv|F!qu!>F$5qTf9*#G++D~PZ~ROjc7|8~Lw z%vaj0;B@A{w}A}H1@-4QFl76|Vp2-z_*{1i*Y$zEbMHll%xLX`{Wg*8SfWFN6h~ zb@$b!|DI_E@-RM@4ek8z(?~@gnAdHJZo$6~%$^GlpV4yoWywEVQl!w3Fx5f*x39Z7 zj=cw&AAPWOQj&x-n2x#n#^IkkSuBJ`cxXLPhWqU*iS)ed=H7h4tuYi z(b$ev1cR6@K)w6M*NvZik%a_0*R;oPwjh!ty`j?2YA+P`FJ>Ygq7u-FHINVzd!KjM9gz0)9GHOCT zKcg{DQH?!!?@J_y(Gw-i{Gf!yZYXW)vunj9{{0A}xBL$0TP0Va`5+ zTDFeqH*Q*fa8Dj9qW#r$o;)4i%>InMr;I~eFjFb%{Mmz z3u56LA9o(H4{4n)zI92>Ofs_a5DGZzP&r@U%Ag6>`Ht$; zpGWf9kH%yPAs7=>Vk3}2HX`CUIfGui9CE=O)B-r&Kma z)rG%q^vD9wuODcsd%vV2@hv<97XxD+{OT8oFI9m5xO5yO|81hcUAqh!!bHNXF*>a1 zyc7?oLK>eg_yO4ET8G7$DU?0kE`td#VvfAT&GjcC#a`GzX3N(s*nCpp zQ3jsfRXFsSpX%)WiO`^U{a985v!3aB>F%J}C=zkrLSytnF~6Aa-H}V@4L@x7SWx@&-xG+;{%y=w%Tv`a`wvwW|> zH^kWIFj%7po^^dR1$o@8J?3yEwe>x4tvK%mZ^7h8T-c|-FyW?(J7xLCGb9D^K~_Jf zZ~67M7&}~NJkIT#Drnrhl^-)xZV%u7DUP)X=?U+sohwM6VE?fUU*8y#2;LM7XOw1x zfp22%URK3kM{@8q4TQNg%x%oWXC4^_b5yc()}HH>uH%^KaD?|f5O z7laKp_bUJMqfn9%QQXw{CumGz-Hey0pe);u^O}RH{Hb7$Xg1$>xI(%R3nDrH18N}` z&S?IG@B+M@hjCcSjNC6vSnLa8A*jgpTv#{3V~J#vVDtw4zRTR$_(Wn;9$pk>CLd8o zN-%R%1_S9+K)@OtNonO*L3|8o^xt2vH4Gfem7@byQw>p4h}?Fagi7dzhKJ7OK{iFB#70mb!q}Eg+|R) zNC)@EW*h}I3Z#3lf$$eMFPY?a2g4_nyQx^t+-SIY@ zgzFc`Puz|`ckvIIPl3l&(f!g1q<&7v(W^|2!tY?EMQLTW`8d>#o=+*Ej0hnK_ZIhI zcY*kY4>io$AzcI11{-l^KOG2#N%O~j# z4IrxDtFHRG{AWD`KVwFex_olGp3e?sSp<~;#Lh!uZr=u>fW;b8C65R>ZMguL+hlL% z4r4Hb&8BhH;!`HnYvdku!UmWh&Z9Y3oDODzk^%pG+|F&W#%^xrd8AGh^96(kWLel! zJNkM8VpiT3LjXz(La~I#JKqTx_ej)pg2VOZ5~i?vJ^b#!|%?=BMzJIp&2%g`CFvtv$ASVq#orO0N;60oqTh z3kxvb9s5-KnUNFKLQa(H(r6;dCIr*zTm}Ub3%mS1YCtUYrj9T-k#Wl+%sm{WvTqOL zVr4K>0&{4r`@xh4$bjL%I4kHT1YAkGiF3ecv!!s94I3cV*ga&D^xj9VumHvE#viCT zTAv=X8UwfAo&&yA{+Pr2O0ZsL)TQWYsb%&E*I0&%Acz9YYpg^)&;?GvQnryKns@&Z z%nxd9I=1usMKo$Kw6p@52Z4VzL$umeY&g?~c;tHQ3WdSfD6AISHhLO}b9mF_-9xBp zh740z)YYw(pZAb3h}^UvWu+Tg!+k5SxXeoLhu*1V6vl4=b5Uso3(tW`dr5tg`)FVT zkjc_rn0FtfY06JmLu_>n-WhT{@kKsT;6y@XEosGJejcr zd1;-l7m6qqKW<%q-x8_W|I9MwR-Sl!KOg~QYsk@gNWoAL17Go6w@FucGZ&B4<67fZ znJ@I5JZlW@{${Kp2oGBRra>99t8DoDI|jvZ#nEb>3yW9m=b*Dug~)b%nrLVkn~#s0 z)t6wU|N52toojhb1-k@LFe~TeR%-flM8sT|yDQmoQdKAdB(zIpB{^`;2+g?*rU66e zL^jq#WlB`vVR>YU$DKavp!)xQ{~?%NDye!mp`f=lLX>+?Hqne*bNbbznegUw*{6C{ z3#_rt9EiT2X$6-^@XF5j1WEGTnh;BXl;Rv$nT z$qW;CWZo-7kNz*uB*PZz+lIRN@aMl7DroOOp4oQfW$C|LjM1gPLW5N!-TI9eFA761Jqsx2i?koNC^;0%bb{E_nTe-%eE54s-v zZ}kCH6D#d7qeF5d0`L57FfUv`ZE#~}twYJ#5JqRgG+SHR2kc9lF z2%_O2tWwnrwbT3x_moEQ*{>zr+^zLxE6RPGVAjZ#NVPb7uN^y(+e@D+Y Ag8%>k literal 0 HcmV?d00001 diff --git a/doc/fig/exodus_quad_node_numbering.png b/doc/fig/exodus_quad_node_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..2f49a81c7d7876ad9adb783807057cdb50232e38 GIT binary patch literal 32219 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 RH^6R&r>AA4S$!Uj`9J&RUR(eG literal 0 HcmV?d00001 From d28803bceb61bd4e9bf02b38871f1083d9fca06a Mon Sep 17 00:00:00 2001 From: Chad Hovey Date: Wed, 3 Jul 2024 11:07:15 -0400 Subject: [PATCH 02/28] test of clippy --- doc/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/README.md b/doc/README.md index 49e9b20..151dc55 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,3 +1,12 @@ # README -* [Exodus II file format](exodus.md) \ No newline at end of file +* [Exodus II file format](exodus.md) + + +## Discussions + +### 2024-07-03 + +* weekly interval pair programming Wed 1100-1300 EST (0900-1100 MST) +* repo updates +* pre-commit \ No newline at end of file From b50b9f7258741379c90c6b0692f74d4a7f98f0d6 Mon Sep 17 00:00:00 2001 From: Chad Hovey Date: Wed, 3 Jul 2024 11:25:05 -0400 Subject: [PATCH 03/28] test of pre-commit --- .gitignore | 3 +++ doc/README.md | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ec84396..ed8702d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# ignore virtual environment +.venv/ + # Generated by Cargo # will have compiled files and executables debug/ diff --git a/doc/README.md b/doc/README.md index 151dc55..f7ef3eb 100644 --- a/doc/README.md +++ b/doc/README.md @@ -9,4 +9,12 @@ * weekly interval pair programming Wed 1100-1300 EST (0900-1100 MST) * repo updates -* pre-commit \ No newline at end of file +* pre-commit, prevent a local from commiting prior to push +* maturin, PyO3 is the rust package for Python binding in Rust, and muturin is the packager + +```bash +python -m pip install --upgrade pip +pip install maturin +maturin develop --release --extras dev +# pip install pre-commit +``` From b594f73f5badf1ddde380d142608f0b6e5efcf2c Mon Sep 17 00:00:00 2001 From: Chad Hovey Date: Wed, 3 Jul 2024 11:29:25 -0400 Subject: [PATCH 04/28] test3 of pre-commit --- doc/README.md | 3 +- doc/exodus.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++-- pyproject.toml | 11 ++++--- 3 files changed, 92 insertions(+), 8 deletions(-) diff --git a/doc/README.md b/doc/README.md index f7ef3eb..768478e 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,5 +16,6 @@ python -m pip install --upgrade pip pip install maturin maturin develop --release --extras dev -# pip install pre-commit +# pip install pre-commit # already installed with maturin +pre-commit install ``` diff --git a/doc/exodus.md b/doc/exodus.md index 18172a9..c403d4b 100644 --- a/doc/exodus.md +++ b/doc/exodus.md @@ -29,18 +29,100 @@ EXODUS II data objects: Note: automesh will use Initialization Data and Model sections; it will not use the Results section. -Quadrilateral | Hexahedral +Quadrilateral | Hexahedral :---: | :---: ![exodus_quad_node_numbering](fig/exodus_quad_node_numbering.png) | ![exodus_hex_node_numbering](fig/exodus_hex_node_numbering.png) > Figure 1: EXODUS II node numbering scheme for quadrilateral and hexahedral finite elements. -Quadrilateral | Hexahedral +Quadrilateral | Hexahedral :---: | :---: ![exodus_quad_sideset_numbering](fig/exodus_quad_sideset_numbering.png) | ![exodus_hex_sideset_numbering](fig/exodus_hex_sideset_numbering.png) > Figure 2: EXODUS II sideset numbering scheme for quadrilateral and hexahedral finite elements. +## Pattern + +```bash +------ +Test 1 +------ +nsd = 2 +nelx = nely = 1 + y + ^ + 3| 4 + *-----* + |4 3| + | (1) | + |1 2| + *-----* --> x + 1 2 +connectivity +1 2 4 3 + +------ +Test 2 +------ +nelx = 2 +nely = 1 + y + ^ + 4| 5 6 + *-----*-----* + |4 3|4 3| + | (1) | (2) | + |1 2|1 2| + *-----*-----* --> x + 1 2 3 +connectivity +1 2 5 4 +2 3 6 5 + +------ +Test 3 +------ +nelx = 3 +nely = 1 + y + ^ + 5| 6 7 8 + *-----*-----*-----* + |4 3|4 3|4 3| + | (1) | (2) | (3) | + |1 2|1 2|1 2| + *-----*-----*-----* --> x + 1 2 3 4 +connectivity +1 2 6 5 +2 3 7 6 +3 4 8 7 + +------ +Test 4 +------ +nelx = 2 +nely = 2 + y + ^ + 7| 8 9 + *-----*-----* + |4 3|4 3| + | (3) | (4) | + |1 2|1 2| + 4*-----*-----*6 + |4 3|4 3| + | (1) | (2) | + |1 2|1 2| + *-----*-----* --> x + 1 2 3 +connectivity +1 2 5 4 +2 3 6 4 +4 6 8 7 +5 6 9 8 +``` + ## References [^Schoof-1994]: Schoof LA, Yarberry VR. EXODUS II: a finite element data model. Sandia National Lab.(SNL-NM), Albuquerque, NM (United States); 1994 Sep 1. [link](https://www.osti.gov/biblio/10102115) diff --git a/pyproject.toml b/pyproject.toml index 61cbde5..2df6b34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["maturin==1.6.0"] +requires = ["maturin==1.6.0", "cffi==1.16.0"] build-backend = "maturin" [project] @@ -12,10 +12,6 @@ authors = [ {name = "Michael R. Buche"}, ] requires-python = ">=3.8,<=3.12" -dependencies = [ - "cffi==1.16.0", - "maturin==1.6.0" -] classifiers = [ 'License :: OSI Approved :: BSD License', 'Development Status :: 5 - Production/Stable', @@ -25,6 +21,11 @@ classifiers = [ 'Programming Language :: Rust', ] +[project.optional-dependencies] +dev = [ + "pre-commit" +] + [project.urls] Documentation = "https://github.com/autotwin/automesh" Homepage = "https://github.com/autotwin/automesh" From 5f6ff10e143b8edfaf4f0d706c78d4d1dd6b65d8 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 10:26:02 -0600 Subject: [PATCH 05/28] notes --- doc/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/README.md b/doc/README.md index 768478e..fb58abc 100644 --- a/doc/README.md +++ b/doc/README.md @@ -11,6 +11,7 @@ * repo updates * pre-commit, prevent a local from commiting prior to push * maturin, PyO3 is the rust package for Python binding in Rust, and muturin is the packager +* iterators are great, https://doc.rust-lang.org/std/iter/trait.Iterator.html ```bash python -m pip install --upgrade pip From 156d79e6c4213e42b3fc37c7216a61347d12924d Mon Sep 17 00:00:00 2001 From: mrbuche Date: Thu, 27 Jun 2024 11:20:16 -0600 Subject: [PATCH 06/28] Revert "revert" This reverts commit fd58a5349efb88ac81cb3fc6684939461b7d9a76. --- doc/README.md | 3 ++ doc/exodus.md | 46 ++++++++++++++++++++++ doc/fig/exodus_hex_node_numbering.png | Bin 0 -> 48728 bytes doc/fig/exodus_hex_sideset_numbering.png | Bin 0 -> 54329 bytes doc/fig/exodus_quad_node_numbering.png | Bin 0 -> 32219 bytes doc/fig/exodus_quad_sideset_numbering.png | Bin 0 -> 33659 bytes 6 files changed, 49 insertions(+) create mode 100644 doc/README.md create mode 100644 doc/exodus.md create mode 100644 doc/fig/exodus_hex_node_numbering.png create mode 100644 doc/fig/exodus_hex_sideset_numbering.png create mode 100644 doc/fig/exodus_quad_node_numbering.png create mode 100644 doc/fig/exodus_quad_sideset_numbering.png diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..49e9b20 --- /dev/null +++ b/doc/README.md @@ -0,0 +1,3 @@ +# README + +* [Exodus II file format](exodus.md) \ No newline at end of file diff --git a/doc/exodus.md b/doc/exodus.md new file mode 100644 index 0000000..18172a9 --- /dev/null +++ b/doc/exodus.md @@ -0,0 +1,46 @@ +# Exodus II + +## Excerpts from Schoof-1994[^Schoof-1994]: + +"EXODUS II is a model developed to store and retrieve data for finite element analyses. It is used for preprocesing (problem definition), postprocessing (results visualization), as well as code to code data transfer. An EXODUS II data file is a random access, machine independent binary file..." + +EXODUS II depends on the Network Common Data Form ([NetCDF](https://www.unidata.ucar.edu/software/netcdf/)) library. + +NetCDF is a public domain database library that provides low-level data storage. The NetCDF library stores data in eXternal Data Representation (XDR) format, which provides machine independency. + +EXODUS II library functions provide a map between finite element data objects and NetCDF dimensions, attributes, and variables. + +EXODUS II data objects: + +* Initialization Data + * Number of nodes + * Number of elements + * *optional* informational text + * et cetera +* Model - static objects (i.e., objects that do not change over time) + * Nodal coordinates + * Element connectivity + * Node sets + * Side sets +* *optional* Results + * Nodal results + * Element results + * Global results + +Note: automesh will use Initialization Data and Model sections; it will not use the Results section. + +Quadrilateral | Hexahedral +:---: | :---: +![exodus_quad_node_numbering](fig/exodus_quad_node_numbering.png) | ![exodus_hex_node_numbering](fig/exodus_hex_node_numbering.png) + +> Figure 1: EXODUS II node numbering scheme for quadrilateral and hexahedral finite elements. + +Quadrilateral | Hexahedral +:---: | :---: +![exodus_quad_sideset_numbering](fig/exodus_quad_sideset_numbering.png) | ![exodus_hex_sideset_numbering](fig/exodus_hex_sideset_numbering.png) + +> Figure 2: EXODUS II sideset numbering scheme for quadrilateral and hexahedral finite elements. + +## References + +[^Schoof-1994]: Schoof LA, Yarberry VR. EXODUS II: a finite element data model. Sandia National Lab.(SNL-NM), Albuquerque, NM (United States); 1994 Sep 1. [link](https://www.osti.gov/biblio/10102115) diff --git a/doc/fig/exodus_hex_node_numbering.png b/doc/fig/exodus_hex_node_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..d10b6240ea38b548bdf414672514cb33256fb6af GIT binary patch literal 48728 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 literal 0 HcmV?d00001 diff --git a/doc/fig/exodus_hex_sideset_numbering.png b/doc/fig/exodus_hex_sideset_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..5282d1ea05481a987a5bbe37e6f2d22941ae76fe GIT binary patch literal 54329 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/doc/fig/exodus_quad_node_numbering.png b/doc/fig/exodus_quad_node_numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..2f49a81c7d7876ad9adb783807057cdb50232e38 GIT binary patch literal 32219 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 RH^6R&r>AA4S$!Uj`9J&RUR(eG literal 0 HcmV?d00001 From 3a5d36c745fa97c2cf13322f67691c4e7a28d4db Mon Sep 17 00:00:00 2001 From: Chad Hovey Date: Wed, 3 Jul 2024 11:07:15 -0400 Subject: [PATCH 07/28] test of clippy --- doc/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/README.md b/doc/README.md index 49e9b20..151dc55 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,3 +1,12 @@ # README -* [Exodus II file format](exodus.md) \ No newline at end of file +* [Exodus II file format](exodus.md) + + +## Discussions + +### 2024-07-03 + +* weekly interval pair programming Wed 1100-1300 EST (0900-1100 MST) +* repo updates +* pre-commit \ No newline at end of file From 496e432f53c8e2829019fd289c07b402b7cb831c Mon Sep 17 00:00:00 2001 From: Chad Hovey Date: Wed, 3 Jul 2024 11:25:05 -0400 Subject: [PATCH 08/28] test of pre-commit --- .gitignore | 3 +++ doc/README.md | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ec84396..ed8702d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# ignore virtual environment +.venv/ + # Generated by Cargo # will have compiled files and executables debug/ diff --git a/doc/README.md b/doc/README.md index 151dc55..f7ef3eb 100644 --- a/doc/README.md +++ b/doc/README.md @@ -9,4 +9,12 @@ * weekly interval pair programming Wed 1100-1300 EST (0900-1100 MST) * repo updates -* pre-commit \ No newline at end of file +* pre-commit, prevent a local from commiting prior to push +* maturin, PyO3 is the rust package for Python binding in Rust, and muturin is the packager + +```bash +python -m pip install --upgrade pip +pip install maturin +maturin develop --release --extras dev +# pip install pre-commit +``` From f2fd2d37054612743b6f3693e5b6c326516f7b79 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 10:28:34 -0600 Subject: [PATCH 09/28] rebase --- doc/README.md | 3 +- doc/exodus.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++-- pyproject.toml | 13 ++++---- 3 files changed, 93 insertions(+), 9 deletions(-) diff --git a/doc/README.md b/doc/README.md index f7ef3eb..768478e 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,5 +16,6 @@ python -m pip install --upgrade pip pip install maturin maturin develop --release --extras dev -# pip install pre-commit +# pip install pre-commit # already installed with maturin +pre-commit install ``` diff --git a/doc/exodus.md b/doc/exodus.md index 18172a9..c403d4b 100644 --- a/doc/exodus.md +++ b/doc/exodus.md @@ -29,18 +29,100 @@ EXODUS II data objects: Note: automesh will use Initialization Data and Model sections; it will not use the Results section. -Quadrilateral | Hexahedral +Quadrilateral | Hexahedral :---: | :---: ![exodus_quad_node_numbering](fig/exodus_quad_node_numbering.png) | ![exodus_hex_node_numbering](fig/exodus_hex_node_numbering.png) > Figure 1: EXODUS II node numbering scheme for quadrilateral and hexahedral finite elements. -Quadrilateral | Hexahedral +Quadrilateral | Hexahedral :---: | :---: ![exodus_quad_sideset_numbering](fig/exodus_quad_sideset_numbering.png) | ![exodus_hex_sideset_numbering](fig/exodus_hex_sideset_numbering.png) > Figure 2: EXODUS II sideset numbering scheme for quadrilateral and hexahedral finite elements. +## Pattern + +```bash +------ +Test 1 +------ +nsd = 2 +nelx = nely = 1 + y + ^ + 3| 4 + *-----* + |4 3| + | (1) | + |1 2| + *-----* --> x + 1 2 +connectivity +1 2 4 3 + +------ +Test 2 +------ +nelx = 2 +nely = 1 + y + ^ + 4| 5 6 + *-----*-----* + |4 3|4 3| + | (1) | (2) | + |1 2|1 2| + *-----*-----* --> x + 1 2 3 +connectivity +1 2 5 4 +2 3 6 5 + +------ +Test 3 +------ +nelx = 3 +nely = 1 + y + ^ + 5| 6 7 8 + *-----*-----*-----* + |4 3|4 3|4 3| + | (1) | (2) | (3) | + |1 2|1 2|1 2| + *-----*-----*-----* --> x + 1 2 3 4 +connectivity +1 2 6 5 +2 3 7 6 +3 4 8 7 + +------ +Test 4 +------ +nelx = 2 +nely = 2 + y + ^ + 7| 8 9 + *-----*-----* + |4 3|4 3| + | (3) | (4) | + |1 2|1 2| + 4*-----*-----*6 + |4 3|4 3| + | (1) | (2) | + |1 2|1 2| + *-----*-----* --> x + 1 2 3 +connectivity +1 2 5 4 +2 3 6 4 +4 6 8 7 +5 6 9 8 +``` + ## References [^Schoof-1994]: Schoof LA, Yarberry VR. EXODUS II: a finite element data model. Sandia National Lab.(SNL-NM), Albuquerque, NM (United States); 1994 Sep 1. [link](https://www.osti.gov/biblio/10102115) diff --git a/pyproject.toml b/pyproject.toml index be4a995..2df6b34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["maturin==1.6.0"] +requires = ["maturin==1.6.0", "cffi==1.16.0"] build-backend = "maturin" [project] @@ -11,11 +11,7 @@ authors = [ {email = "mrbuche@sandia.gov"}, {name = "Michael R. Buche"}, ] -requires-python = ">=3.8,<3.13" -dependencies = [ - "cffi==1.16.0", - "maturin==1.6.0" -] +requires-python = ">=3.8,<=3.12" classifiers = [ 'License :: OSI Approved :: BSD License', 'Development Status :: 5 - Production/Stable', @@ -25,6 +21,11 @@ classifiers = [ 'Programming Language :: Rust', ] +[project.optional-dependencies] +dev = [ + "pre-commit" +] + [project.urls] Documentation = "https://github.com/autotwin/automesh" Homepage = "https://github.com/autotwin/automesh" From 881bebad241adcdba5011e542d9075675ac0493c Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 10:26:02 -0600 Subject: [PATCH 10/28] notes --- doc/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/README.md b/doc/README.md index 768478e..fb58abc 100644 --- a/doc/README.md +++ b/doc/README.md @@ -11,6 +11,7 @@ * repo updates * pre-commit, prevent a local from commiting prior to push * maturin, PyO3 is the rust package for Python binding in Rust, and muturin is the packager +* iterators are great, https://doc.rust-lang.org/std/iter/trait.Iterator.html ```bash python -m pip install --upgrade pip From 519402a7969be3b8c40b1ac187f9a9aee6cd4ebe Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 10:51:05 -0600 Subject: [PATCH 11/28] ty --- Cargo.toml | 2 +- src/spn/mod.rs | 6 +++++ tests/spn.rs | 25 +++++++++++++++++++++ tests/spn/f.spn | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 tests/spn.rs create mode 100644 tests/spn/f.spn diff --git a/Cargo.toml b/Cargo.toml index 29250a7..52f8213 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/autotwin/automesh" version = "0.1.2" [lib] -crate-type = ["cdylib"] +crate-type = ["cdylib", "rlib"] [dependencies] pyo3 = {version = "=0.22", features = ["extension-module"]} diff --git a/src/spn/mod.rs b/src/spn/mod.rs index deac867..92798f0 100644 --- a/src/spn/mod.rs +++ b/src/spn/mod.rs @@ -38,3 +38,9 @@ impl Spn { Self { data } } } + +impl Spn { + pub fn get_data(&self) -> &Data { + &self.data + } +} diff --git a/tests/spn.rs b/tests/spn.rs new file mode 100644 index 0000000..87a4fb5 --- /dev/null +++ b/tests/spn.rs @@ -0,0 +1,25 @@ +use automesh::Spn; + +#[test] +fn read() { + let gold = [ + [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + ]; + let spn = Spn::init("tests/spn/f.spn", 3, 5, 4); + gold.iter() + .zip(spn.get_data().iter()) + .for_each(|(gold_i, spn_i)| { + gold_i + .iter() + .zip(spn_i.iter()) + .for_each(|(gold_ij, spn_ij)| { + gold_ij + .iter() + .zip(spn_ij.iter()) + .for_each(|(gold_ijk, spn_ijk)| assert_eq!(gold_ijk, spn_ijk)) + }) + }) +} diff --git a/tests/spn/f.spn b/tests/spn/f.spn new file mode 100644 index 0000000..50391b0 --- /dev/null +++ b/tests/spn/f.spn @@ -0,0 +1,60 @@ +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +0 +0 +1 +1 +0 +1 +0 +0 +1 +0 +0 +1 +1 +1 +1 +0 +0 +1 +1 +0 +1 +0 +0 +1 +0 +0 +1 +1 +1 +1 +0 +0 +1 +1 +0 +1 +0 +0 +1 +0 +0 From a193a0271bfbeed3050c69d5e130fdc011b82ea2 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 10:56:28 -0600 Subject: [PATCH 12/28] test --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 904ac3c..e07d28d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,3 +17,5 @@ jobs: uses: actions/checkout@v4 - name: clippy run: cargo clippy --release -- -D warnings + - name: test + run: cargo test --release From 173669ebb94d4a2e4bdc73431677edbaf0db8322 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 11:04:25 -0600 Subject: [PATCH 13/28] fancy --- .github/workflows/test.yml | 4 ++++ tests/spn.rs | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e07d28d..2bca80e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,10 @@ jobs: steps: - name: checkout uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.79.0 + default: true - name: clippy run: cargo clippy --release -- -D warnings - name: test diff --git a/tests/spn.rs b/tests/spn.rs index 87a4fb5..e63b035 100644 --- a/tests/spn.rs +++ b/tests/spn.rs @@ -1,14 +1,19 @@ use automesh::Spn; +const NELX: usize = 3; +const NELY: usize = 5; +const NELZ: usize = 4; + +const gold: [[[u8; NELX]; NELY]; NELZ] = [ + [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], +]; + #[test] fn read() { - let gold = [ - [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]], - [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], - [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], - [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], - ]; - let spn = Spn::init("tests/spn/f.spn", 3, 5, 4); + let spn = Spn::init("tests/spn/f.spn", NELX, NELY, NELZ); gold.iter() .zip(spn.get_data().iter()) .for_each(|(gold_i, spn_i)| { From 1f2e887bf0c49f02fec97936651444019a32f18c Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 11:07:06 -0600 Subject: [PATCH 14/28] add clippy --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2bca80e..35e5f4b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,6 +19,8 @@ jobs: with: toolchain: 1.79.0 default: true + - name: add + run: rustup component add clippy - name: clippy run: cargo clippy --release -- -D warnings - name: test From 6d0f820fa7e2f83d6ab69c71c20627e34fe70622 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 11:10:59 -0600 Subject: [PATCH 15/28] debugging ci --- .github/workflows/test.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 35e5f4b..c32d093 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,11 +17,16 @@ jobs: uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.79.0 + components: rustfmt, clippy default: true + toolchain: 1.79.0 - name: add run: rustup component add clippy - name: clippy run: cargo clippy --release -- -D warnings + - name: format + run: cargo fmt --all -- --check - name: test - run: cargo test --release + run: | + cargo build --release + cargo test --release From 7436147d90fe017f9f191a649bac27c8772c3e82 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 11:19:16 -0600 Subject: [PATCH 16/28] debugging ci --- .github/workflows/test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c32d093..e406359 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,6 +27,4 @@ jobs: - name: format run: cargo fmt --all -- --check - name: test - run: | - cargo build --release - cargo test --release + run: cargo test --release From a0d9f421926061e45dfa26c965b0f1ef50c40b39 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 11:31:16 -0600 Subject: [PATCH 17/28] try this --- Cargo.toml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 52f8213..51c7efb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,3 +20,15 @@ pyo3 = {version = "=0.22", features = ["extension-module"]} [profile.release] codegen-units = 1 lto = false + +[target.x86_64-apple-darwin] +rustflags = [ + "-C", "link-arg=-undefined", + "-C", "link-arg=dynamic_lookup", +] + +[target.aarch64-apple-darwin] +rustflags = [ + "-C", "link-arg=-undefined", + "-C", "link-arg=dynamic_lookup", +] From 5f9a3c2106387c95cc94cba00ea9307ca10150b6 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 12:20:24 -0600 Subject: [PATCH 18/28] need to make pytests/lints and rust crate deployment --- .github/workflows/pypi.yml | 2 +- .github/workflows/test.yml | 2 +- Cargo.toml | 17 ++++------------ src/exodus/mod.rs | 11 ++--------- src/exodus/py.rs | 17 ++++++++++++++++ src/lib.rs | 16 +++++---------- src/py.rs | 10 ++++++++++ src/spn/mod.rs | 40 +++++++++++++++++--------------------- src/spn/py.rs | 25 ++++++++++++++++++++++++ tests/spn.rs | 4 ++-- 10 files changed, 85 insertions(+), 59 deletions(-) create mode 100644 src/exodus/py.rs create mode 100644 src/py.rs create mode 100644 src/spn/py.rs diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml index 5a51cd4..0ad298e 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/pypi.yml @@ -24,7 +24,7 @@ jobs: - name: build wheels run: | python -m pip install cffi maturin - maturin build --release + maturin build --release --features python - uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-${{ matrix.python-version }}-wheel diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e406359..6121484 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + os: [macos-latest, ubuntu-latest, windows-latest] python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} steps: diff --git a/Cargo.toml b/Cargo.toml index 51c7efb..ab28be9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,20 +15,11 @@ version = "0.1.2" crate-type = ["cdylib", "rlib"] [dependencies] -pyo3 = {version = "=0.22", features = ["extension-module"]} +pyo3 = {version = "=0.22", features = ["extension-module"], optional = true} + +[features] +python = ["dep:pyo3"] [profile.release] codegen-units = 1 lto = false - -[target.x86_64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] - -[target.aarch64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] diff --git a/src/exodus/mod.rs b/src/exodus/mod.rs index ac7e4f2..311c403 100644 --- a/src/exodus/mod.rs +++ b/src/exodus/mod.rs @@ -1,16 +1,9 @@ -use pyo3::prelude::*; +#[cfg(feature = "python")] +pub mod py; -pub fn register_module(parent_module: &Bound<'_, PyModule>) -> PyResult<()> { - parent_module.add_class::()?; - Ok(()) -} - -#[pyclass] pub struct Exodus {} -#[pymethods] impl Exodus { - #[new] pub fn init() -> Self { Self {} } diff --git a/src/exodus/py.rs b/src/exodus/py.rs new file mode 100644 index 0000000..1029303 --- /dev/null +++ b/src/exodus/py.rs @@ -0,0 +1,17 @@ +use pyo3::prelude::*; + +pub fn register_module(parent_module: &Bound<'_, PyModule>) -> PyResult<()> { + parent_module.add_class::()?; + Ok(()) +} + +#[pyclass] +pub struct Exodus {} + +#[pymethods] +impl Exodus { + #[new] + pub fn init() -> Self { + Self {} + } +} diff --git a/src/lib.rs b/src/lib.rs index 2423a97..3ea6993 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,14 +1,8 @@ -use pyo3::prelude::*; - -mod exodus; -mod spn; - pub use exodus::Exodus; pub use spn::Spn; -#[pymodule] -fn automesh(m: &Bound<'_, PyModule>) -> PyResult<()> { - exodus::register_module(m)?; - spn::register_module(m)?; - Ok(()) -} +#[cfg(feature = "python")] +mod py; + +mod exodus; +mod spn; diff --git a/src/py.rs b/src/py.rs new file mode 100644 index 0000000..3aa7a76 --- /dev/null +++ b/src/py.rs @@ -0,0 +1,10 @@ +use pyo3::prelude::*; + +pub use super::{exodus::py::Exodus, spn::py::Spn}; + +#[pymodule] +fn automesh(m: &Bound<'_, PyModule>) -> PyResult<()> { + super::exodus::py::register_module(m)?; + super::spn::py::register_module(m)?; + Ok(()) +} diff --git a/src/spn/mod.rs b/src/spn/mod.rs index 92798f0..0da2731 100644 --- a/src/spn/mod.rs +++ b/src/spn/mod.rs @@ -1,46 +1,42 @@ use super::Exodus; -use pyo3::prelude::*; use std::{ fs::File, io::{BufRead, BufReader}, }; -pub fn register_module(parent_module: &Bound<'_, PyModule>) -> PyResult<()> { - parent_module.add_class::()?; - Ok(()) -} +#[cfg(feature = "python")] +pub mod py; type Data = Vec>>; -#[pyclass] pub struct Spn { data: Data, } -#[pymethods] impl Spn { pub fn exodus(&self) -> Exodus { let _ = self.data; Exodus {} } - #[new] + pub fn get_data(&self) -> &Data { + &self.data + } pub fn init(file_path: &str, nelx: usize, nely: usize, nelz: usize) -> Self { - let flat = BufReader::new(File::open(file_path).expect("File was not found.")) - .lines() - .map(|line| line.unwrap().parse().unwrap()) - .collect::>(); - let mut data = vec![vec![vec![0; nelx]; nely]; nelz]; - data.iter_mut() - .flatten() - .flatten() - .zip(flat.iter()) - .for_each(|(data_entry, flat_entry)| *data_entry = *flat_entry); + let data = init_data(file_path, nelx, nely, nelz); Self { data } } } -impl Spn { - pub fn get_data(&self) -> &Data { - &self.data - } +fn init_data(file_path: &str, nelx: usize, nely: usize, nelz: usize) -> Data { + let flat = BufReader::new(File::open(file_path).expect("File was not found.")) + .lines() + .map(|line| line.unwrap().parse().unwrap()) + .collect::>(); + let mut data = vec![vec![vec![0; nelx]; nely]; nelz]; + data.iter_mut() + .flatten() + .flatten() + .zip(flat.iter()) + .for_each(|(data_entry, flat_entry)| *data_entry = *flat_entry); + data } diff --git a/src/spn/py.rs b/src/spn/py.rs new file mode 100644 index 0000000..0ffb6ab --- /dev/null +++ b/src/spn/py.rs @@ -0,0 +1,25 @@ +use super::super::py::Exodus; +use pyo3::prelude::*; + +pub fn register_module(parent_module: &Bound<'_, PyModule>) -> PyResult<()> { + parent_module.add_class::()?; + Ok(()) +} + +#[pyclass] +pub struct Spn { + data: super::Data, +} + +#[pymethods] +impl Spn { + pub fn exodus(&self) -> Exodus { + let _ = self.data; + Exodus {} + } + #[new] + pub fn init(file_path: &str, nelx: usize, nely: usize, nelz: usize) -> Self { + let data = super::init_data(file_path, nelx, nely, nelz); + Self { data } + } +} diff --git a/tests/spn.rs b/tests/spn.rs index e63b035..7c91a82 100644 --- a/tests/spn.rs +++ b/tests/spn.rs @@ -4,7 +4,7 @@ const NELX: usize = 3; const NELY: usize = 5; const NELZ: usize = 4; -const gold: [[[u8; NELX]; NELY]; NELZ] = [ +const GOLD: [[[u8; NELX]; NELY]; NELZ] = [ [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]], [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], @@ -14,7 +14,7 @@ const gold: [[[u8; NELX]; NELY]; NELZ] = [ #[test] fn read() { let spn = Spn::init("tests/spn/f.spn", NELX, NELY, NELZ); - gold.iter() + GOLD.iter() .zip(spn.get_data().iter()) .for_each(|(gold_i, spn_i)| { gold_i From 7005b9434fb5f047455f1b60a0ca2c18c84c823b Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 12:38:54 -0600 Subject: [PATCH 19/28] refactor --- .github/workflows/{pypi.yml => python.yml} | 2 +- .github/workflows/{test.yml => rust.yml} | 29 +++++++++++++++++----- Cargo.toml | 2 +- pyproject.toml | 19 ++++++++------ 4 files changed, 36 insertions(+), 16 deletions(-) rename .github/workflows/{pypi.yml => python.yml} (98%) rename .github/workflows/{test.yml => rust.yml} (51%) diff --git a/.github/workflows/pypi.yml b/.github/workflows/python.yml similarity index 98% rename from .github/workflows/pypi.yml rename to .github/workflows/python.yml index 0ad298e..a2fef34 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/python.yml @@ -1,4 +1,4 @@ -name: PyPI +name: Python on: pull_request: branches: main diff --git a/.github/workflows/test.yml b/.github/workflows/rust.yml similarity index 51% rename from .github/workflows/test.yml rename to .github/workflows/rust.yml index 6121484..5788401 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/rust.yml @@ -1,11 +1,13 @@ -name: Test +name: Rust on: pull_request: branches: main + release: + types: published env: CARGO_TERM_COLOR: always jobs: - Cargo: + test: strategy: fail-fast: false matrix: @@ -17,14 +19,29 @@ jobs: uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: - components: rustfmt, clippy + components: clippy, rustfmt default: true toolchain: 1.79.0 - - name: add - run: rustup component add clippy + - name: build + run: cargo build --release - name: clippy run: cargo clippy --release -- -D warnings - - name: format + - name: doc + run: cargo doc --release + - name: fmt run: cargo fmt --all -- --check - name: test run: cargo test --release + package: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4 + - name: package + run: cargo package + - name: login + if: github.event_name == 'release' + run: cargo login ${{ secrets.CRATES_IO_TOKEN }} + - name: publish + if: github.event_name == 'release' + run: cargo publish diff --git a/Cargo.toml b/Cargo.toml index ab28be9..12929de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ keywords = ["mesh"] license = "MIT" name = "automesh" repository = "https://github.com/autotwin/automesh" -version = "0.1.2" +version = "0.1.0" [lib] crate-type = ["cdylib", "rlib"] diff --git a/pyproject.toml b/pyproject.toml index 2df6b34..592f608 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,8 @@ [build-system] -requires = ["maturin==1.6.0", "cffi==1.16.0"] +requires = [ + "cffi==1.16.0", + "maturin==1.6.0" +] build-backend = "maturin" [project] @@ -13,17 +16,17 @@ authors = [ ] requires-python = ">=3.8,<=3.12" classifiers = [ - 'License :: OSI Approved :: BSD License', - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Science/Research', - 'Topic :: Scientific/Engineering', - 'Programming Language :: Python', - 'Programming Language :: Rust', + 'License :: OSI Approved :: BSD License', + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Science/Research', + 'Topic :: Scientific/Engineering', + 'Programming Language :: Python', + 'Programming Language :: Rust', ] [project.optional-dependencies] dev = [ - "pre-commit" + "pre-commit" ] [project.urls] From 0e416a2ffc5fcee3ad60172649bac7c4de444eb2 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 12:42:33 -0600 Subject: [PATCH 20/28] refactor --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 12929de..48faa7a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ keywords = ["mesh"] license = "MIT" name = "automesh" repository = "https://github.com/autotwin/automesh" -version = "0.1.0" +version = "0.1.1" [lib] crate-type = ["cdylib", "rlib"] From e00783e1758f14ac3079afcaf1ec9d8167a73fb0 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 12:45:31 -0600 Subject: [PATCH 21/28] refactor --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 48faa7a..961c46e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,14 +2,14 @@ authors = ["Chad Brian Hovey ", "Michael Robert Buche "] categories = ["mathematics", "science"] description = "automesh" -documentation = "https://github.com/autotwin/automesh" +documentation = "https://docs.rs/automesh" edition = "2021" homepage = "https://github.com/autotwin/automesh" keywords = ["mesh"] license = "MIT" name = "automesh" repository = "https://github.com/autotwin/automesh" -version = "0.1.1" +version = "0.1.2" [lib] crate-type = ["cdylib", "rlib"] From f9b238dffab04f418c687c9d440ff587984838b8 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:35:03 -0600 Subject: [PATCH 22/28] refactor --- .github/workflows/python.yml | 55 +++++++++++++++++++++++++++++------- .gitignore | 2 ++ Cargo.toml | 5 ++-- pyproject.toml | 45 ++++++++++++++++++++--------- src/spn/py.rs | 4 +++ tests/spn.py | 14 +++++++++ 6 files changed, 99 insertions(+), 26 deletions(-) create mode 100644 tests/spn.py diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a2fef34..0e9df3d 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -5,6 +5,41 @@ on: release: types: published jobs: + test: + if: github.event_name != 'release' + strategy: + fail-fast: false + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + runs-on: ${{ matrix.os }} + steps: + - name: checkout + uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.79.0 + default: true + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: maturin + run: | + pip install maturin + maturin build --features python --release --out . + pip install --find-links=. polymers + - name: pytest + run: | + pip install pytest + pytest --verbose . + - name: pycodestyle + run: | + pip install pycodestyle + pycodestyle --verbose . + - name: pylint + run: | + pip install pylint + pylint --verbose . wheels: strategy: fail-fast: false @@ -33,13 +68,13 @@ jobs: needs: wheels runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4 - - name: check - run: | - mkdir -p wheelhouse/ - mv ./*-wheel*/*.whl wheelhouse/ - pip install twine - twine check wheelhouse/*.whl - - name: upload - if: github.event_name == 'release' - run: twine upload -u __token__ -p ${{ secrets.PYPI_TOKEN }} wheelhouse/*.whl + - uses: actions/download-artifact@v4 + - name: check + run: | + mkdir -p wheelhouse/ + mv ./*-wheel*/*.whl wheelhouse/ + pip install twine + twine check wheelhouse/*.whl + - name: upload + if: github.event_name == 'release' + run: twine upload -u __token__ -p ${{ secrets.PYPI_TOKEN }} wheelhouse/*.whl diff --git a/.gitignore b/.gitignore index ed8702d..e851353 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ Cargo.lock **.whl *.vscode +**__pycache__ +**.pytest_cache diff --git a/Cargo.toml b/Cargo.toml index 961c46e..f57dd50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,10 +15,11 @@ version = "0.1.2" crate-type = ["cdylib", "rlib"] [dependencies] -pyo3 = {version = "=0.22", features = ["extension-module"], optional = true} +numpy = {version = "=0.21", optional = true} +pyo3 = {version = "=0.21", features = ["extension-module"], optional = true} [features] -python = ["dep:pyo3"] +python = ["dep:numpy", "dep:pyo3"] [profile.release] codegen-units = 1 diff --git a/pyproject.toml b/pyproject.toml index 592f608..1ab2aa5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,20 +1,17 @@ [build-system] +build-backend = 'maturin' requires = [ - "cffi==1.16.0", - "maturin==1.6.0" + 'cffi==1.16.0', + 'maturin==1.6.0' ] -build-backend = "maturin" [project] -name = "automesh" -description = "automesh" authors = [ - {email = "chovey@sandia.gov"}, - {name = "Chad Brian Hovey"}, - {email = "mrbuche@sandia.gov"}, - {name = "Michael R. Buche"}, + {email = 'chovey@sandia.gov'}, + {name = 'Chad Brian Hovey'}, + {email = 'mrbuche@sandia.gov'}, + {name = 'Michael R. Buche'}, ] -requires-python = ">=3.8,<=3.12" classifiers = [ 'License :: OSI Approved :: BSD License', 'Development Status :: 5 - Production/Stable', @@ -23,13 +20,33 @@ classifiers = [ 'Programming Language :: Python', 'Programming Language :: Rust', ] +description = 'automesh' +dependencies = [ + 'numpy' +] +name = 'automesh' +requires-python = '>=3.8,<=3.12' [project.optional-dependencies] dev = [ - "pre-commit" + 'pre-commit', + 'pycodestyle', + 'pylint', + 'pytest' ] [project.urls] -Documentation = "https://github.com/autotwin/automesh" -Homepage = "https://github.com/autotwin/automesh" -Repository = "https://github.com/autotwin/automesh" +Documentation = 'https://github.com/autotwin/automesh' +Homepage = 'https://github.com/autotwin/automesh' +Repository = 'https://github.com/autotwin/automesh' + +[tool.pytest.ini_options] +python_files = [ + '*.py' +] +python_functions = [ + '*' +] +testpaths = [ + 'tests' +] diff --git a/src/spn/py.rs b/src/spn/py.rs index 0ffb6ab..3e0617f 100644 --- a/src/spn/py.rs +++ b/src/spn/py.rs @@ -1,4 +1,5 @@ use super::super::py::Exodus; +use numpy::PyArray3; use pyo3::prelude::*; pub fn register_module(parent_module: &Bound<'_, PyModule>) -> PyResult<()> { @@ -13,6 +14,9 @@ pub struct Spn { #[pymethods] impl Spn { + pub fn get_data<'py>(&self, python: Python<'py>) -> Bound<'py, PyArray3> { + PyArray3::from_vec3_bound(python, &self.data).unwrap() + } pub fn exodus(&self) -> Exodus { let _ = self.data; Exodus {} diff --git a/tests/spn.py b/tests/spn.py new file mode 100644 index 0000000..843dec1 --- /dev/null +++ b/tests/spn.py @@ -0,0 +1,14 @@ +import numpy as np +from automesh import Spn + +gold = np.array([ + [[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], + [[1, 1, 1], [1, 0, 0], [1, 1, 0], [1, 0, 0], [1, 0, 0]], +]) + + +def read(): + spn = Spn('tests/spn/f.spn', 3, 5, 4) + assert (spn.get_data() == gold).all() From 90439774b7aa17991a20b5d33359fb9820c1638e Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:38:28 -0600 Subject: [PATCH 23/28] refactor --- .github/workflows/python.yml | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 0e9df3d..fd53af3 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -24,22 +24,13 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: maturin - run: | - pip install maturin - maturin build --features python --release --out . - pip install --find-links=. polymers - - name: pytest - run: | - pip install pytest - pytest --verbose . + run: maturin develop --release --features python --extras dev - name: pycodestyle - run: | - pip install pycodestyle - pycodestyle --verbose . + run: pycodestyle --verbose . - name: pylint - run: | - pip install pylint - pylint --verbose . + run: pylint --verbose . + - name: pytest + run: pytest --verbose . wheels: strategy: fail-fast: false From 44cbe44c61a51c347e472d94ec92d21957c0cf36 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:41:11 -0600 Subject: [PATCH 24/28] refactor --- .github/workflows/python.yml | 10 +++++----- pyproject.toml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index fd53af3..5bcf001 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -24,7 +24,9 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: maturin - run: maturin develop --release --features python --extras dev + run: pip install maturin + - name: develop + run: maturin develop --release --features python --extras develop - name: pycodestyle run: pycodestyle --verbose . - name: pylint @@ -47,10 +49,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: build wheels - run: | - python -m pip install cffi maturin - maturin build --release --features python + - name: build + run: maturin build --release --features python - uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-${{ matrix.python-version }}-wheel diff --git a/pyproject.toml b/pyproject.toml index 1ab2aa5..2b1e1eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ name = 'automesh' requires-python = '>=3.8,<=3.12' [project.optional-dependencies] -dev = [ +develop = [ 'pre-commit', 'pycodestyle', 'pylint', @@ -49,4 +49,4 @@ python_functions = [ ] testpaths = [ 'tests' -] +] From e12fa732493e6bd5e4505cbca96087d5ab9f5900 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:41:31 -0600 Subject: [PATCH 25/28] refactor --- .github/workflows/python.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 5bcf001..0349e28 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -49,6 +49,8 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: maturin + run: pip install maturin - name: build run: maturin build --release --features python - uses: actions/upload-artifact@v4 From 4fc6e2285c2111097309f1ceb20a4da94048faee Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:51:42 -0600 Subject: [PATCH 26/28] refactor --- .github/workflows/python.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 0349e28..2e64cba 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -25,8 +25,10 @@ jobs: python-version: ${{ matrix.python-version }} - name: maturin run: pip install maturin - - name: develop - run: maturin develop --release --features python --extras develop + - name: build + run: maturin build --release --features python + - name: install + run: pip install --find-links=target/wheels/ automesh[develop] - name: pycodestyle run: pycodestyle --verbose . - name: pylint From c55137ab69cca09ea66d372964bfc7a3c9a51a37 Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 15:58:31 -0600 Subject: [PATCH 27/28] refactor --- .github/workflows/python.yml | 2 -- pyproject.toml | 1 - 2 files changed, 3 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 2e64cba..499541f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,8 +31,6 @@ jobs: run: pip install --find-links=target/wheels/ automesh[develop] - name: pycodestyle run: pycodestyle --verbose . - - name: pylint - run: pylint --verbose . - name: pytest run: pytest --verbose . wheels: diff --git a/pyproject.toml b/pyproject.toml index 2b1e1eb..ccbe37c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,6 @@ requires-python = '>=3.8,<=3.12' develop = [ 'pre-commit', 'pycodestyle', - 'pylint', 'pytest' ] From 0dbf7e07031a11d1fa2ad06a821858166d951bff Mon Sep 17 00:00:00 2001 From: mrbuche Date: Wed, 3 Jul 2024 16:01:21 -0600 Subject: [PATCH 28/28] refactor --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ccbe37c..0d97d84 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ dependencies = [ 'numpy' ] name = 'automesh' -requires-python = '>=3.8,<=3.12' +requires-python = '>=3.8,<3.13' [project.optional-dependencies] develop = [ @@ -47,5 +47,5 @@ python_functions = [ '*' ] testpaths = [ - 'tests' + 'tests/' ]