From af49ed3168699f496fe8230da8322818dd758cb5 Mon Sep 17 00:00:00 2001 From: Manan Patel Date: Thu, 5 Jul 2018 18:12:37 +0200 Subject: [PATCH 1/6] initial BEP for orm implementation for python driver --- 21/README.md | 56 ++++++++++++++++++++++++ 21/images/after-orm-implmentation.png | Bin 0 -> 101828 bytes 21/images/before-orm-implementation.png | Bin 0 -> 69616 bytes 3 files changed, 56 insertions(+) create mode 100644 21/README.md create mode 100644 21/images/after-orm-implmentation.png create mode 100644 21/images/before-orm-implementation.png diff --git a/21/README.md b/21/README.md new file mode 100644 index 0000000..d439af2 --- /dev/null +++ b/21/README.md @@ -0,0 +1,56 @@ +``` +shortname: 21/PYTHON-ORM-DRIVER +name: Orm implementation for official bigchaindb python driver +type: Standard +status: raw +editor: Manan Patel +``` + +# Abstract + +This is a proposal to implement ORM based wrapper for official bigchaindb [python driver](https://github.com/bigchaindb/bigchaindb-driver). Official driver provides bare bones pyhton API on top of HTTP API to connect to BigchainDB network, but ORM implementation's aim is to provide a CRAB based operational model on top of official python API in order to simplify operations on bigchainDB network - thereby improving community adoption and engagement. + +## Language + +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [BCP 14](https://tools.ietf.org/html/bcp14) \[[RFC2119](https://tools.ietf.org/html/rfc2119)\] \[[RFC8174](https://tools.ietf.org/html/rfc8174)\] when, and only when, they appear in all capitals, as shown here. + +# Motivation + +The need for this implementation is driven by following rationale - + +* To provide simpler API to interact and perform operations on bigchainDB. Since, traditionally ORM based CRUD (Create, Read, Update, Delete) are the most used basic operations for the database (SQL and NoSQL), CRAB model for blockchains (bigchainDB in this case) reduces the learning curve for non-blockchain developers and improves community engagement. This is specifically true for python developers as Django (one of the most popular python framework) incorporates ORM model to perform CRUD operations. +* Our [ORM implementation](https://github.com/bigchaindb/js-driver-orm) of [javascript driver](https://github.com/bigchaindb/js-bigchaindb-driver) has recently shown good traction and usage within community. +* We would like to keep consistency with implementations related to both - javascript and python, offical drivers. + +# Specification + +This Orm should be implemented on top of python driver - [https://github.com/bigchaindb/bigchaindb-driver](https://github.com/bigchaindb/bigchaindb-driver). +This implementation SHOULD include following **CRAB** operations - + +1. **C**reate - performs CREATE transaction with asset payload into bigchainDB. +2. **R**etrieve - queries or fetches asset from bigchainDB. +3. **A**ppend - performs TRANSFER transaction with asset payload to a given public address in bigchainDB. +4. **B**urn - performs TRANSFER transaction with asset payload to a vanity address (in our case *BurnBurnBurnBurnBurnBurnBurnBurnBurnBurnBurn* - 11 times Burn) + +This implementation SHOULD also include tests and code coverage of atleast 95%. + + +# Architecture + +### Current Architecture +![Image of Current Python driver implementation](./images/before-orm-implementation.png) + +### Architecture After ORM Implementation +![Image of ORM Python driver implementation](./images/after-orm-implementation.png) + +# References + +* [CRUD vs CRAB](https://blog.bigchaindb.com/crab-create-retrieve-append-burn-b9f6d111f460) +* [BigchainDB's official python driver](https://github.com/bigchaindb/bigchaindb-driver) +* [BigchainDB's official javascript driver](https://github.com/bigchaindb/js-bigchaindb-driver) +* [ORM implementation of javascript driver](https://github.com/bigchaindb/js-driver-orm) +* [CRAB tutorial showing javascript ORM driver usage](https://github.com/bigchaindb/tutorial-crab) + +# Copyright Waiver + +_To the extent possible under law, the person who associated CC0 with this work has waived all copyright and related or neighboring rights to this work._ \ No newline at end of file diff --git a/21/images/after-orm-implmentation.png b/21/images/after-orm-implmentation.png new file mode 100644 index 0000000000000000000000000000000000000000..96acd7be4a7b17768c1f29b1b4696ecc41b3c04a GIT binary patch literal 101828 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�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

`#ad@TZwerQZS|+;cdqCh&Kt?n zc?l5cfkYoIdm#mkXH+*m!#t9f!$e%^|Fz0G5|a-nz=t;pjQfv9ucHA&$Q%RzS5*cu z>;0+P4$7xYY~xEAhA*Jt)b#Ba_LcM5n}D)o``P;+4lp6S0mzg{7O19<2CV#z<&=m9 z)a`+N`(N{PkJKPh0eC0+REzmP^!nf87<>l4G2H(-UXKAZtcE!*jZZo*tY{V-!#|*h zAY?Fo+TV<}$Sj{>C;;rHc5C6!)EDppF;_eHGwt9rQ_aJ+QMm>N79nf!?MeNZs=IKb zfP>Z<`#uEUoS~OS{D4N!xKE=;8$H(jHJ0d?Xv-r32e}sS z4+fhZspr0<_2~x`@kx!a`#-gp1@K)@$T(sS8w362m;Wt}!Mpw;YyFe%=AL^`Kxl%C z`!`&#R&(N@dq$?9TiD->79L*d1ssAD|C0O1A^{%&Y(BKb@cjSeJ6h`P0eVvye@Eh%X8xrC5AceJp80D~$*<2u0~2&o6bfw)Cg}Y2@Bv8H zzriu@iA&?((1AfX6IcXvw<9fN>$H;8mgcXvyJq;#ireFKWm{oL>S zo$FlZk0Y1NX3t)0{knIcth6{X0v-Yc1O&3Ags2<@1hg;&1k?>2EcnjqD5@9)1QLy@ zh={DDhzNlw~ zK)`gw8<;7d&u~iiilQTx5Tvwvj6r$_D2TLub-6*vF`SYRn*0ZiC;Qwd_uBh&wRQ)C zH+Du4vSDiho!q&w5Vc?VBsEk}?cCndM*V^dhd?k9LfN#fk^87)VL|T2^6M_Ap&kLhn1_3dbLKnLVDYWVBak-AF_#WE=0Z{MZ zmhVlql~%URY@-B(!f+!)yrlIf>xCA2PlU~ymIQyB%iz6By$t^*T%F|lBMbr2>TtOD z`nt4Vq1Ce)%3EH+g!{t;f!(O~UIHV-R|p^AvEFuaC*$55bKh03uJ?ReXYvoB4F`4i z+Qm*WxSD~I^TLNek7nqTn7?kKT&3AvyHOxPlp(0NZ;2_>8H9KS5#6@}EiS|XvY_k> z3?&%9HiQ$I3D?~lfz~DBea(%vCYjxZd?k)}F&cgWSeL-G>$QAqI1}jYE5HeNu?t8W z^z#837$$G7x#`NW8L;=9XU-g<`EoEKz!Yu*@B`_kiCAxjnZp6_A@V7^+mbi?7_b9el+B^cb)Y3$PT%rlsN*&k~FS^2Ff=+yvVfU&(+vz>u zE5-7Vj@Ph;t<_8<7G$g9M0v$w*u;gp(Md_I-(FeHrLP~uyyQrN{!NHU2MX6>ONX`x zs_iVbi|FFr3{m(CD?+sN7+<3f@ z-dH#3iE=n2aAS*l5nQNe<51wGGQjhB`;{?>c#G0HsQZ{LBc$HbhB^R}WB z*+y{gc^GIIVmkSw%$zxOvGo}!2lS$itj$4~>gO4zZp5m8PXY;oeH)I*^YVB10=#nw zE)MO!HrkuSS6#R@kTxxvKc&2D1e0fx&6>j$Ig*d6)m~hY@@5f(d5Y9Z(d%Nv@~uJ%o=r6W}L{q&pNfMoxv zE{x6}IEf6>XfhnX$ZkvphL)0#^Cby)2;iJYJ{X=%^6>F5 zjJz+uKu3G8>9FTQ;kROad$tREEktGl+1+Yt1E~Q!)v8&eRM+zEJK}=32lQ(RIOKG) zs{nYtz-h9f0IFqw5J`jtL8MP6ARz!Q0#F_fBY`UyssKoeP+N6cMYSd1_O~agj_{Y@ zJchjl=~2I&5DSr|vuE25g#C(U0>uMAD4LV*XTn^EStM%yUDM>53qhlomN@T7oCz^3 zlVY%Ug5HaGs;)M@ZwmC!qIB%O$rVBsv~HIgUC3y6@{|(ol1X=LabY-l?XVNbbktt3 zxxHwDE@^XGLcWl^p}j*r=xjzeffn)MZ%t~U45l(b&&GHQ_Y!0Y@&(Bs&Tf%5kf8@6 zePthc=HW`yLBA}ujK1u$Or%Fw>U$ACElwKoOY)3dTMj8uq>n5nd@|B8A~d2nyiS5x zK|xVUAz4vaQBF~m_6_YzT3*G_e2ovl>`|FX67|T&USV$tjah{q2FKrM{1Z~Ev zEUTO&R>zma&5})y*=%d6+wpbda=9na_7^|{f;JWmnUE*-1gqo5X zK#i|RuZTg7s)A^YxsE&K&BiG9_v%rZk@||jACo^U_UQLm_U3=={b=M-<0N@&dfl>IZC zWo$5eFZN2wyv!_*Yd$PQoyxy9X^AxV* z3-ekg%?nNXfUO_!#)TW`!{u7gB_t)aS`1pmjq{Bs4d=l7wUwo)z4Eb* zOPn3%8)o%xzBBfdwF|4Wyt<6qX$9V&+F zhm&vWe0PoIH0LN_$3c97_zKwyWduPIDGvdNYKE1FtA_mpe;td1wU9j-l?bhg^oDXa zV9;=?%(dGkIEDYr0Ggdt;4AI&hfK{(@-l9O5Ip=!mTj#H!wTv;X4sBz`bu4MVU?jN zSgy_lA2oJswm-_OBrh9vrUd46%LFds-oFA+>#DZRizbPx>ZwP%jCN%H$UN_D?Op3l zSrHFQ7g0p_)X{L|l1|`1KP=cGm=PS&i z=vz}z#cD;0X&N_kGM=~X2?d{D0+v)L%)sgPEhYBXOi z?yvWC;+)_ew_a$UmaoFzjoEWQa{Y0@dG==4eD6fe2Z=JsH}*xoYVHODR%*FLC;a9)`l4CLgsKCFGiG>#71>I6fP~(bgz1BM|lm^vfrTe|JX3cx6ouEC} z!&m2;_t&E+SHzBPziyn@<&SfWZ^s0q1e85WZ%1#~mv^FBeqch+$zD@F0cEV3&dnbiR1rwzR|*F-^}xR7lG&z^{=u`&!w? zjJ*_Vnmw^zjKE@b$xOMpBZ;N9@h{Nmbs< zl89K_8j`TTVtd6zDu6&jLc(WjV8kOQD)whN_%D7^6MK6b9!5qdC#P3VtgozXjTxD_ zxw#pcSQuGY7{E_3*a5BVb)6Zk?8ts^^0berp`E_1sg1ptIK3w}P1ix2nf`AZ$kQ9Bb;0(Fji0rH}0X(>-Ep26q z^-a-{v%`=;3QQ4Q(HmKsgXm`2!x+^u;sP{QOIYdukjQTAw3Yc7+S?h}Nkfp78q|4` z%<{Dn%l(_lL8;wM1V{EcNs_s3NlJ(9_D8)49V(8%8y&P&5?o1@w(H_b_q$1#>KV`G9ZkhgS8&8|LJ&}>UJ%eE5RiW_nULWW03az}Ril7^e+7Oj z9vW3x1@3?OLJA)$!4I|3G~0}To*G4PQsyTt=vGH?8s$u$8ZwobPte%|(~O@K{I@Uo zwjcV^V{|ERG-st3B zsB%70!g2q^>d#W@7m%RvWt%Le|7Fj&;SjgA>?gk*3=`xEcv*gR|V_(r_@{F){j zVi@ItKnRsYXyCtFJ-($0!($%a*uVo|qMaOKj?Yfa-Gl>z%nWaB7;5_P@G`vr1)w(z zNsFuLM@pJ{RF?OOWUj59F^K5-);|lZ6N`!QaaOuLoIR%3!_Q$JX%9>a(S&$7hIp3X zxTytv9C{h?btBtU5p&^U@}#vRfc$_;+z_+JwNJrMe=(w8AQ0kD-J?ZW<&NXXCwF<~s%tz*rjkUEXvl`KJZ1ha= z9=So80&$Sl`8pI8y)6a?8|st61LFbEuwncRb~}@PbAzb_mZni5JH+AYf@+`J+P?5L z+7}nTtLa9Yu@w!qu9-;bVcfDRh*MY7dKE8fSs{71qHP&|ZLO|gLzsZ5747UE!ne7n zm-+rGOpyG91$+I~Z*u93!X0X<5sd$vNK9yPweN_LYLi@T!3S2OPs4HF0%E zqn7as!NEVpbRYA|{lky(Nu0%f!m2Jzgy`R9 zN|qd|Ar9*~y|4tFGL{A$PUM400HNYYQ3DL}7Tbk0C6^i9q>J6AR1Y;T*NzT)vn_wl zQt2ImcCCsXuoA!TF#V)dfrCFIfjfaq_#PUoYp5$Mk!c!Kc%M95-R|rpH`Vz0ODH zRM(;~0OTMn#8=Qry$^O(7!G6^64>b){iT%a+qj9RaB7Wpp4*8|%igBr%M#u9Bg^c; zjaSJ78f9Hmhpbfo278faGFNY2l4Vkw2Zu)>TK9P|ix`C>_iqm1sWLI11i6O$OR((m z*M6U(vOaC5XwS$i9w>}O(Q+-Kw;#t~v{R$GP`4G3rC7RoAt#+WF%Ch8CYvgMf1Utah$SK;z;sY*DSjsw^TCJBCa2 z{p^nfi6(k9R8;@cL6U)XVb}M&9-Bro1IXeOv?g1lI|pdP-t?rWAGZV#yN_4SlxB{$ zzYQq8DO^$V_td0lz8`Fkb+xi@!phkpaJ}{7y9v3cRGb>93fqrK2V71!-@nV_tjnsu ze+#_!Ps%b(T6_-pDqS*TKg-U-Wg;;jcPC_4l8~+y`h1NTs;WygW~wiBJ!!S4*mzA) zuuA&O+!qFN@>%KIIc%XamR-ayY=LBoDeExHuOoOkicm2{b> zjKndOA#`t$>z8EWQPFoTSFF~5RZsPYoLkyaB{qLO{`}*WLsFypRx;mtPn4}e=G%OE z@uhs4Sl8yG%(>GM+`g3z%{!M{wV8;-C>MveVaRJx8rqhbc}$A&cwJeT6H(-LXUJ$G z!no^hZTIR78Fpr!nstq|$0vXPwa{#(TF->pg3dZd?9d*4{In><@~E95jgo@~vWfnr z)g$)1FLl}WP(OQ6OVdb&Xg2{!=)}ZCq+7<{@l8*N*XP>wMI85gT0n?i9xm({Jfd7Ud0ot*BFzLw4aeax}VK?9{Sp@vE66s3Vx{*)uV5 z`b{mHM30X$9ye>_2^_7r2=6^RxMExq9L}ehTpVGWg`PKIx^7$VA)t%EhJ-@=q>Q^7 z1>%Kte5=l>y&WP4t;&fwsndsBy3a<~AN|~KaVRIPBmGwBN_e#~M&RVG5onz!b09$G z9I75X^-47%c~PXRc>N1I8uOVN?WZAuIem*lr#1y?^~V@>d~ zOv}2#enG+&PUWS)GlIm)D}9B=^)6)t;7|LCm@_zd;77;R_lR&mPpfxNgRn%Xc%Ny{ z+2t`NZ%AL<(Zu@qc8wsh7@()#WWQpF3o;$>JPN zdF;CvNQ8qykir4JgmDiX>jOQ+G6~e6aMWV@8dN575wP6D0Z_Nm&}Bf;-+OPx#O1GG zCQnImcD~&^Hu1I$YHwK1I87>6d(i9&HZUAgxSRm85_6||I+~=(7G_K>;7zNmOoK*d zW^_AN2*u8UJC$}MHs(@w&1m}i>N!WF@2)4562ci?UQyJR$~PkL3f_wGts1INX)cy^ zPEVbF{+MeXS6Z9SVWVM09Nm+#Q>on-!}#84I4)ph9FNm+Z`QD)6516d{?v@QZ)TpL z1o0HE^h(ghO!-hn(X%2h{1W~MPI5R<-6nV5cA7S?Nd)xuwT+YO2AOdrZlox1Shk>v6nbi#o4|=ft#Y22yA1Os5 zTL7VKl9+$MHp1@xe?Yr z##3xJ;7{{@(sO8^;lLHMwm7`n*+c;fc4cx@uA4%Qw zW}H1Ds#b_7DnLg{G(D?dDP8e+4e8N>(LaILgF^lK?m}Q!8k68Us z=kH_>t5D5v1E@=lPdM~9?ryt0C@u)LC1pkpJE^GGgAl$aVX4{YT%q97v9TUBLu&Xe zM+S)QO*6Sjw>7+0;|X&?MZ&pO_l04%#O7!&)RQgJ`);)B@_~7}evHeWrIV!p2FSB= zF9{Tka+6z%Lt*gLy0}bOje=@+Gr2sGh7_D~-NLLm@R5DJ7bXMu@k3rAaWRats)#<@ zgJgad)>(44`KGY=F7rH#Wz|VM?AGZ%zj-61$lLSX!cw6Ah`Gg!9_*Q#Mb33__+xVY ziH083fwhH%bc2R|I97S8H$6RzzPmQkuoGRi;8@KMCw{<& zME298^kf=h3)4!R_C8NdQ5UqE_M&# z^n77xxOb1cBV`jgloQ=vO;SY);~iY-{p9?vXu$K=1_gp%hS@j8*n8n|A0=H%YG$1* zT;Xvu&Wt3Qll*^8O*BRA>-1oy*(iRd-u zUNKw__ANS5U$CW3Difr?bJa!)wi|PyPBGrBOz{{-r%)l65yWF3A8F|N{yqG%sDv@k z^F<{rkdu3z{F!guQ2kyvo{SZ1u5E45hQ`2<1Q7qtYwSZhxFk(D501}1ua=ZiIqJVd zpOi1Y+k-9Bkg~Z}RXbUH6?ImQ2)Ijs9~9kyJy-FijpQ-x#el=WI>r)KvUqVfdlMcv zcr~fKTLjh0Oz6{y*T$z(xQD+V0o%+qRj?Fuwc^=}Bw(c+^s=g$$)1I)Ci}CzZewu$ zwa%^F$2U-+T`}<)R*E7^lPHxj)IE|y=gquCh|V9vaK-mtsP7ry4=KYP9V5;oWL?bY zg)z#Sm>~x7IC7iVMb%FM+>%f9U*hl(Z906YKcb)$m!OZJjH@06&G`SY8na{w|F-wK zG_(a+#XImjn~g?(j0_e39T`fg^r*t+h2S0C1|l(*>UzK7EU+{DMdgg|i}lt=K$nO< zRy?3y>YM)?`h~qAqkDwFk)LiON;$L8mN7PjXy#KJ4RCqt96VK}&>Mk9a2ogoQ|(8i zd%ME1J4j?a31;%a%p8@OH0n5#`)FBC6dWEILups}YESy|3nxQr&TGCHIzZ|Ia+5cSP?nO;h)u`h zg`uLOj&;mvmtc#1!xq;S?l~d|9X_o(SUn%@TAHRQzVknlZxt=~JU)c`5Q9vB9O_vv zPiJE`57W67;5s?q0R(YDXE8DNykw;0MYescM+t4AKVV}gpH-lEU*6L#@}*Yw_Mqab zqPp63{}AIbulIq=#pX|_|MhyYNTosCk(2Q(Ya{Z@eL#MG{#)b5!_S4up8f<*`cBWzGu)|yE^ys(Q!|o zYf`!@$@^A^$X%e#^;?N>eiQ~fB_nM*fM~41wCTOHmS~o%O&ERBisaDoiRiUiVB!4F z{xyT0dQ%D{5AFSwdW|!cX2L~F@$tF2M1u5Sf~c--o}<%g<}MwNy0+KA{e{}HuGs)P z4~1g;%kpE13FKqYtL+Q6Jw7taG~kE)IOnMmGTW{T^UD3g(+oAK3cBmVb@`YH&bMR2 zA`6le=0#3Bp2Nw_r>8n4J;XPAi+#626SR2yu@mLiXpCF&df(Is?dtABrS0G!D}sh^ zz&R!9`#3CNVL?Om%}ktI&Y0>Fc0Z+*u@KXN;nnsFJ2lGmgeC0HlsWi^{qXW8*-#gL zw;|OoG>DdzyJ9ufEjEW}nePd^?wreq+uOHZFImzJ_-4H)JleJvoNgy8^l;}h7xxnX zL?;&T*%2))-$}6q`<+4g5#5CEcbNbx&qkPLK!`wJ#Gvrj@6gPTeSx^ z$h4{h&3A4S6d1yKAm~bBIT0J%mJ46jPnmK8&{Cnjhy7>@5*!zPUcJn?9^5_%y-Ls? zKp+S+{Wd%TmMZSUwM7VgsxVmz47S|!$MiZI!<$LBl?H3|#s?cpI__Y;nfcIfl!`hx zZa{h%H$RRs=N>fVYA)3hWLNVIl|Wupfn?l%cLcRm^mH~9^5@TR)0?Y+r3z`(Igf1Y zRapS}ysnIOnGK4Ho2)}=g4VxIPZRF9cTR3Y;o)cTFh~XJF8r$ckblR@ z6pyho$G>A`m2cxxjEew8LusO2j<1l6(F@p8@cchGRNdokFl4y2*!EJPT~R^J_60Wp zBES&#p6myzvV}uXJd-QSkJ*=}lrB4p`Xa z=Yz1WsL+9Yy?4)D4SEpH^T^{E{Rq;{o0!ByhD7+q?w7tWb4^>5pH<^ldNYo?%oT0L z>Dwi@?zvv?7!dAuegIQ&sc!CM1p`&Mn^Np{(kseSSQO#_hkq>f3U@g~-zr4X6&cu{ zx@&O^w0G_v8NW=dj=#M&;lq;?FtfL(2)_IIVeQnmcXMyXx?=p(q1l45>)obTy?0I* z$Qd+E_!H{U0QP-)Oa^HGoeZq&rZ=J{GtL1zSt(un&xvR7j)hGd`NV?VL-*hpj_XQC zSY1OTKE+wz`pizI{90tvw}N&?1-Ys~yM{vp36g(Q3iPWKGW&U2pVeYQSEu#Llc+QV z;7&>w;ZpV3vDOqH-nn){Pl3a2ieu;i41l`6PuFJJy^d}_oq}q6S^s%syx}1AL8w51 z!qx1nv;t1~PYzo@95Kq+yZT$K1m`J=e`lpq5B1UHz<;w!mk6L$s?)$|XmmM3ltI(p z|CQAyx4Pc(n)bUv6$8ht!qWIE)kWtFZ+3h}n&$Q+Q?|LRkS=3s*M(8R}*JQvttXQ6?x!%}3}G`Nf^EiQdfChv@K z2O_En>5db(Pf512$jw+m^6wR)LyG$s(Q-)k*5g<$@^f$9ziRqd4eiXbE$P=3PDWB|Wyw{$;c#gnC zIw)3M{%!k>4zR$f-8eV}cQUn;YINF+VE^>`CVnCphxIiQUKJItfyLtX^TprDk3L5C zzZAC2CWx!t_@EP$k_MyC&K!pcJ%k^lDN|G~hMfYdXv>8m(dz!CRCbo`q|~kR=>UzI z?~KnxGK`Az6IcyDT~!+`u*s}FOvcQIm4o~zz_tcWp7V@CJN`=2T&YJK&o#QRbJvXY( zZQSV3s>PjFf$VJ2*+G5VBOcgM+1SmG5*63gIFkYac{`mi z+uQS&ld{5WJ@KKIr%qVB*dt{PjIo8Y^R^8bYifSr$s6UTo99W5U6$iAc}y~%nJ0-X zU{e?gc5TvJ%4lDd?JCTQN;kNX+Hge-YTCMuy*){FN(wl4(t#Q3K*w(`H|N$I^Gx;R zySHVDX_0ztA3`UJNe503gMNhFY9*TYz+P;02-c%Uj+vD-NC6pZ`b1g+9w3Uw@($`= zT}b4a!T3=Su)DVx>xu>YW*Cm4h={g?C9$%ms33y(jBo53IVuqa5r>h?DrDg2U@`T9Yo9!m7y z$K(%fx^-j#If(9WeV#JHi>|o)kOp`aaZlUKG)o-$Q(IZ`^!>Y4M5pdmr#Q{wk7ZF@ zjBGH!&-Q9rMSX~llmDx0qu45kcq^svLCMmUCjTY%`x=bk1zIk{IA7TUxWPxfOI45n zGWvb>=Uy6oRayfGby9n1hp`+ra$=N@Q$!1~*p``z<#%`JcT?dZAde?~K=(P{e|0<_ zBlSPe=*T@by9WNtCjOz-Z_FhD512EN{nOt3=K%0ClztD=-5UH~3CwS@{l+^U^AQNv z{~v(h699C`rsU&^cfWnA8jTfxzyGY+JmC2PTIIg*9^v+c&VPcj?aKJJ{Lb!Qf+@3b zw&KF*r@e5au`}9g4Q|~QO!i&!dbdYrwGRNc@wK4-8>)co6#+uKyK0JaXzu$TA;=EFSHj zrPTj|J4*NgZXL0IhFX6X|7NTd!h@sq3|d^1<=?CUtIY*?@ZtZ{GH|tXq}1C!I8IpbamGM)N3x63m-q&OqU9tG3~88fkw5t3 zaoPYpjsb@L`EVFI&;z`VW*mb0`Tv9y0y^7E$PoZN@nWJ_RH5Ey*B9K2HN3?#;4uRH zomDuzS-NaJ$&lS?-3fl!QPSDN09zP=Q}^woJN+*`2V22NQt*6++}La5Cv*A_@>5fS z=QH$1v#kDYgTT+c{S2PZkbM6<<=^8EV6eZ$L$e?Ppz{H;gXGZp@S017f|JBMjQH=`IE8%#RCSP??b+ki|LtBE`41T*0J*tL?>|K1KbL*}4@4h$$?x~a z$Yjj z9YEnU@z9B&KeW-21B;0itrgxMVnxG3wlj&|U+-w&t1Y;nYvSVKMwpj0Dit>zzpY*V zOeb{^KDtTM_#g4acn1M6&;!ch|7PG9dN>tf32p5(Bovf>YmXCr)f$`hfkgIq>q99) zsB&245>!vqP1GPTVt{e#KLpK1g%T9JwZp|B2-m(ljg)&6-{RZ|{-ZKFT`<6%qUu#+!RrK#I{V(6qBr5&+h&)C{(=^WfGbg4fxoiwB@zy7 z!Q z1}?Yg(6 zcPgGR38AWR;Qjf|^iwc1WCBL+Q~7|Sn6C@>7_XWrKHZ#+E^_F98n_kmrt0|yem?ay zZmK=_wEar=cGZxjc;GP_u8|_$6bH|2KaMfU`$HwfSKo{mNJ!HQBrZ&` zBwwpL+?JjZGu=V@mw0!X?Bv0BehFJ2GdF4-BG@ zZ?-feC>ZN0ct&{88vsTx)1MO(;5NVHsx5)rbu4^*7Df{bBx(0I8*59gzUx)-i`R{d zQFnJ9Tl@PQo;wW8EoQoC+WC`0FM1SoWHTJ{IBGewLiN6r9-z>{t^F?`ana(fh z;_5mWPttrfQ6hElVh^Uwpcmb4w!itNzd63GJFe*$#mKDQs~1|)`}*_i4h{~Ljr?Lk zq}=Y5HTT?=TLYrke4fBN9tP58^G8p4T#jpOwVPwHOI41#oUBm%SJ!x85 z^Y!%|otmOL*%*#XOvI}_>cW5jVU>6BGL!~1=YBqKq(vw$N?gRt!lL&Xz~d3HK$%fJ zq5`Sd{{ouuKX#u6Y$@qseruHw490iT9@m3Ls*d&{sL1xVR}R1CTr%=pm&P~i?gy@EKp&~^?xRmq=_SOC z20k)p=4;8HBS}%gb6BN`qq7DT*l?*NSZGau8Dsq5!uec({m#Ehm>{9c-~kxlp%wq5 z){zfF$s+$+{LcaM;JH)-vzjs5C+OrwbifHfI*%rMXsA4qM`2nU@`J{MQ?eXcsMHPd zDjYzQ5#O5oc{zn_>IU|3iG>on2l1ozvAOPXd>99nJ7X09kk1OQ2s~{{AtU4p!ubR! zP%5ImY#M$2WI;)ow7^~&Re=@!v(dJP^!K2siyOE(Jl4Ry=cHfVQ`7hapS>r`5q%WP z-)Z%5#kaIwVTq+}60|3MdkY9ZpNxNt%eC_4QFPS6>`I6o8~XBxM5a&{A(G`w2v1A; zz~*1>(hi&l{`Qf$@X%Hvy(&IQe~ru+w}+wLgSipA-!Qj;P^lHeP(_d&xaM71oPYZK zLP4VF=CR8jC`zC@G0Uei*j0E6pId&Bg{#5=WCtqXFfr3t`Zb6EiK#}yJ>#Y~jiZwt%^!Z;ICz| z4)>)@@y3L{HZ4h`GuNJcDZ19vLR4ER7768>XH!GBAKJYd`}{mH&~pCv_j zaEV#fW+PjndOJqej-(=J?vJ!cIf1oj%pHcwK>J2tmO zL9ZuWdt;kvS7P2Un8J_V>{+VBnd#A*a%@XmUSRDAv#qzQXqs9pn)*JA{eXw!h>_8D zed+i7Fqp>AAwj6mkzW0g>9GheYx9BV*IaaA3iBi~DtqE;t37vAtCN1^g_zgZr_c6m zZ&S?o7SVUYz2~(Rp+KQ@wjUl^ijZSTq}ibGd2e9}7Ffv`F28U~@oPiPl&xU^i<^|v za4`l$gy?LY;jl>m=w2ROK?CbZ%sM@>Oi${%nz54jCF1e2K1vTZXI54Dc(>t_P&qXf z7Vy-svMe*5U(u>OnVq9oT)w%ms_EWdDz@ZZZD`>%`eiC_aGGYR?I zkmw|0P`?DM&IN__IA}}tl0<~q=3jqQ&0O|WVZ2!|t#e-H29NueM)7LnM_v!=ko1v} zXY&b5S(4C-KX-hm`TipN5@Rm}e0S^o=W(4Z5n(}$xI{dv9w&iggv@0GM&C7gmK1HnA$Lwi{{f z`|PIEa02IFjxny^f1)if;H@x}6i9dA8*ceR3isGlvkf(MVp7qEg?~8?-LGXlp*_H| zeo;_E*_0Z9U;HetWZcO6a$3WTKX2waS(v%$(qt;IhsyGRl~q-{~8lOU@&YWQv0bbH{0D zJLHG}KV$r?LOwd%cZ^TQ&ZibJ{AADG=jtygVz1{{H`iEu9@f)nCm2W2%pYnWdca>R zXSEnE7npd~XL8MN+xn735%@irlHX)BtLEul1(E=;Z$^FjDB_8o~}47+gLhtvP%wIsPHB@AKiK@R^%p=cH^ZI;~hhC406yP?`Q6P}w<0 z(bf588Yy=B9B#znJ|chCz9zsjrntE<>fM3H@pC@Kn8fbQp$0L5X4?eZ+4k)uMFA{Q z(B>Iq>UBg%vlbP;Tq+@56+x^oer$a;be>o4j-t@GWgcWlech@>f6B3_S%0wkyD+El zo2R&?9{WXuQuf&*I<}m-sJQ!vyc2{I=xG@C7J5SqVSkuM;qY`a#yggrr(& zHWBS$SCb=Rl1V@ zPF6eiIuSRDSa#yFSGR74ni#Fe;+!(DQ0gmA$g%d1n2Q4gD<$~qR95GIq1s=*dsfnq z!jl#*?O#=TD$&g6Rv;)_s4CZqu3DrQnCUnov2&*d{8g;+H7|2^?N5BbG!G9h3&{?G ze^L-Vr61o7^1a1;tAn0K?5(a(S?Z1v@k4AhH#DD}%pq4N-J0+MG2y_5_tfR1ii)_F zyL3u!8RexsJiyn;A_8ru@~-?i#*)WNEW;j!pOI79-x~j;RYpay(!vk)c}In_ z!h-U|!Mi<%`+<)$FSOz(#3E=>Jj z(!(zlJvYonZ0|!R?qXqOdJyl=!{@Ho)ZZ*R5T(sloJ3bFR`<}a%Jv%3gsmB_UTCfRV)oqn_=&F#2pf|eb3_CtZxjSGv>AD{HT3UlH zoESGVQNyS}GVQ8JqB1s10c1NIv}=1q#_F%) zQ`;5gNaI2ilpy|e@u}3vQ$@}!X?@dZ(DAq2N;Zt{$=Cshc*4VbsR zvJWtV?l;BZMX!f2K9*TuA31%-eDXrzcgUXoiN8&y!4szg3QXMRC1tN^nPJ}i#X z+)v4$7cAxE4Nt3Hip?V**Tl5GRbGq;(X_oeigD}%za%!w_;Z#omyCO09!YjR;cKa)V@KcD*rD?J4MY@8$Ds{ndP%>C zHK?{0c<7X=mOIQw#hH@1<&;S8GhW^qw4Oe}IMH{#6wZrd_s{21AS*aP>hGJk@HzioicZSGDZ~U_4 z_&G=#n=eXt%{`@>?soef`7Qmg*V5NaFI#1Enr=pR)g!$n&G9q$h6Q&J9rJy&wq;ms zw(D6)gA51L=EDa5NQdA3PD|PF#2t637_X0jASs$=W^VL* zyURJ>VIE4hYr~aE_v2sf1yYO%v$M-SJi3M+SD+ZF%5iJ=H!t|y)LDYqJ#ym2vfGMX z=~fTD&<)L^Aq$Sr^C7;ul!r}`btsD7%QDL;DN|K<1&C%9IK>reY;t*by<*Ch?np@D zL8GD-j~4GKvfE8s_v80)vfXbkJlfD|ONlxL&ZOa|UV)ofM;pz<^tRIA)>Rr<@4$_! zlh0&iPkGSV+b`rkSuRVO5)ITv4BF9_&-pob)94J`ckb!$tF}ItmW%QlI1ek2sjDk2 zlr~`;SBDAE?xeD7Qtys#1-Z6YZ$|E#c!vesHgxz>ul`Z^MmOKf%4Jg(n;&&4x5gTcx0=C2oi29_Blo0>np zy7(6lL2q!J)8Y*1hU+NtSF?G~OJxm!@=yXJV#$5Yoc*nELKY$AtK{%*qJSRCHOJD^ z7%kvMmEQvGz@omdyX|(Rc2DhMLsWy{39V|)p}y_PR~QdS@^7%{Pg!a%COFQHVTlTU z_B#ucC4pR=jECAu2++H<*pb+1Bq?d)p$Av$kOcc2NqNKxpK>t;XfUjw2=| zBLS}WhWSK3Jt0KG3EsQ*Bk7-r2iyUU)(Z~*>^JzIj;}5F33&k+`#)t@rb_5TxCFJk zia$XSxLf&vKp^^ogtqY%S8#ud1TCUy zkFQQzfnS}Z`*-o$YvVG)DHv7evZ4MpFjbqc`IrO09^%nOS8=bpdxL9$G}pLksFCM= z8GlR8S>V#vQ~F$4Jo2BnV3~eGmmvajjle%ce)vTHDF+>0qSde)q0gd-f~z`$Ko8i* z4)nvTtg8mJ-U;BOOji(G4sV%wP5LC8F~TGVMa(fQHeF8zl$MHzfR-UA<@KL{b`*LV zFUqL(<=-VT;7Z2v2Ds_=o0=@>;G{jO6q@si*Iq)G55!um&Di*3J>daf;yoapO!Ozq z+6MybI!K6lj8s-?Q_b)$!4t~TFHw9FA6zSx7du-yfz!P$^XNCZy-Mva)CTwer;M?< zsldK?n5{Go++7>O5)u2mR}4g}T))Hm=HFV2A1e5G5T4;5zw%PltBCm}TLKcy6Eh3J zA#oWg>9gM`eJO*#sOnNUv%w{N!f`AaLb!)b8v=>=_YyDEHoU*}1s-s1CPBJ6iCHiS-7Eo1fU*E8RzyXmIkdRJ65a~uhI;5mQ=|+%FQBt}) zlV7R#*_`OXTi4iOY=!x%I85Qj&`YPnI0(OLr*y=FTls5_Eys@GD=g4BDE#pak#Tk z-a2tChYiB*;MN#|;6!!n+^(Kq(#4ghp2YsrebG5Vk)pbU|cw*-W3`On24|&*6@`4#}8x5Cr^1cAP<=sLs|5 z*K_Xk{gwi!}YxxAz}WWa8hEbK_l`mjx_84sIQrZ~S_q z2Ioq4(vus?&0+Bd@ZC-#w4(1fr)Vr^t!+h)`-eL75}fy!nm^@ay`durRgzRk)*XCP zhQA&8xKm*xYqK^hXFUCIt4r}HYX@G|nLf$M#5l4hNib=>E4N}ts^Dtn8L7^fNm~>; zFU=B7i{5&CJ??mqGkx&cb!!RtqNB%6w%w2!$fWHvbM4=3VLmE1=Uo4yE2Z$R=!IQq z90`$?nG#+>XYFKK343+}hTrq=^M{zhwOkIfB%(J*(0Kn?%f0(v0D4!2Eqa5+P5V@Z zb-mY{1)J|*ipE7h3@Lc&YRvv2$8 zqOLdH)TRalO}mSs8a`Gg2Ma`;AH)?o_ua^oZiJh@>M5$^~anruC}gJQ8_uU)E%VVz*X3tTr(xVmHF&N=zUw>? zAjv$I(`B(ef?FQ-f$_1+LJ4>koZDh=-D@;U$2ApCpz1tT;J`377@S8sp?8>7xEfe| zX)ueXU7M^K$ab-q!8$P#PrFHNPU%4JIpF-wjB~we!(`UF@vKo99KF!PnFq!bs^8Nx zrsbAuJ>BBpUMmj$RM(bVvkzi8tk07sSW;igAq*=Qd2;-?{#S)^>YRQs)h3>chefg2 z&t4LlG1g1O1-xzl>B{=vQ3G^O&TQXg9)HnVC2WoBm*UVxZXu- zPL6ApPo9gNdS9TJ7art}S+c3uXN{r@~wH2#{E=0RSxkvuho>9 zxK6UgbMn&^!VJi2IhGVuHADB57!36c~hk+>i2+-mEF^ zZW(Cviyu}9Z0yW(3_f{-Yyu8iuqGF@YAy6CM#oGLh>L!$t`{>_(ZOvwkO~<)iK}o0 zJ0y!&d$92$_dZ@3tD5{#)==25*e3In@7LHm zGwPg z178_7zmb(xV2}y@uy9#gxvmNK{7KbQj>>5)(sfmo=oePyshv!=3Hzn_jHw=|3>*&U zkJB@VyQ}@a%WEEu>Uynselocd9!MY{kx4#iqt>1aNq)aR!0E#2B?t1M+|=0tn1}E? zN}fekc{xkP-Y+BJk<-hmhRbyikN1w9f4IV%`A4q`WuV-7sGIHyUs9!HOt4}gS(Knh zP^Ah2V1wfq?G1@E@_hYY-|@+~u2~ffWmuu?1nWM3kaf*A^~iFw+Lh8;W`is$1AlFn zv|OdNG$re5Mw@2oSQ5Tl^BMQoeFf|1ox7RXI>(Ym3*KNhX))2XsB3FDanlWgka{H> zA%dLqu#)tB6ZRoWJhOU=vrZhPAspJHZkQs=pYb6k(^*_3k6&m;%wApUr*1EMPZfOp zKBV+hCYN@kJj=Ee@s|;Bt1%LFWAk8fYjSAE@U3!k51A|-HA?B$QPd+G=(X3knFA)6>| zw=q;kJ`|7tD@gp@FofPl>%Ll#GIX7+xazgPt9=DD4{4VK?Z%c}nm{$4$>ukGd2LLQGk5+G<|Yc8@0OH9hPC+P#{u$1`c-4nK6Yt+x8y|-$=uj-@D$HHijfhf zxVeAfyp+y`#s@1^G_hQO#%d%-cDCx4^uTfY*AArO3nCB3eZ+ zCdClIhG)~FgV41@o1L${ZAWV#iA@@!`zXK|`rF~x_nB{?#Y^u^ei)fs7Xk75HPLMr zyx|G@M+Yjl^1z2y)crG5;-f~q-rhO0=lc8YmF*Ji(uA2=1N-1=%j03f4vfhV4btUl z5x~p4Qq?jG3N3oH7#S8!QUA!@m$*`^)QPBdSt)k{3@bmH=Tg30o70J5T|Cs+y2f28 z@6*ukBUv#IKG6hlh^tWRwS8Glzv06V<7%6_n0SIp^_KQaH?TaBxHQS1q3h zI~%JB0FR`oTD(^J1I(o`>o0Wj@l_}z$e3wn>&4pn)}sE*N4vR)_B9oV*@QTqyq~6G zr}rG&#>xw4wq0LS4zU^G?U4VJZ50pN|FfnTP+a_CZ-Rf^z_edLR46c(^kkNg_7Fx3f5uVue0!>Rx|xuYb$nM~z#F>Dv@RDVsS&~{&qZ9jG;-8$)sEOiVSS1oJSwYyL;98Exr5N>;4 zo)hON{_3q!rwfkrI$b{)Ya2}2>5J6)DOPvImAf3xra^1<8(K|mf#|bivgWl8Y#Zp-YE|;Vx8LXX|n!tDwh-x zy(su0ar0o3HXVX+q@GHS*paIG9n|4YEzH*UXHgpA7tY7C)fjxK;rMkLEy>Q!&mT}9 zU$8HLkj%h5GU0#m*cc1iQ|*vU%l*kShR65m>9_n34}(8D-8l0kc?32XS0MjXkVi59 znA+ks0&xTtYRK6s<2wz8i2yQK-|q=qWo&@wL-MNoovAy9d0A4LJzAG23F^nGUWfo` z`_QdV5=q!SZ?kEQZdI>3He;c8`L@3an6GnT&nYp;f$7s^_#*;$l zr&AeL*`_3&Lo8?;3F+P`2j93pIq{7M87(#dZm$P$dpWTv@sX0{^q?26+YQ>5)A6w( z!&z-v0-W259|YdisA_|?#)qHRWzhV}=&*iQCu9AUD}grtGGBYLH#XlS9M;xpx(?6q zTW5ed*o{`1P1>q&=qLDKKUDF!Bkf{@yu2?XF1Xuk@ic8RR2LsgJY3j&Q&~}e6w~Ur z*5cSZ(qOpp8IP-m> zj5X7K!ftZ#;0vskZ@CQ3zr}L@Y%3}^bZnzl2r zhGUjsR0rLm-a&F&4S+z@qa4+AI4U!~4!wZkd!X>v9<)TiG9U1fmdK&ao0e=Opg+ z4VrH*Tr8@%tlDwt32CPT=@;pjGPROX(ATs6 zE@IHxG%cL}l(EGu9E#rk{zoI$3l8+(@f9YJjvV;~2V!#R<}^Lg0`Woux#TPlo%3I+ za8~*8n16iSdK~5%6sr2=G+NurOtD=VWXOU(QiktU5xmwEqjLfDs?c^&v-e@C%p=@s zQm*G-ItW0Ur#4rJJz!n>B!n4-=HjMgDdn!&lL5{6iyl?H$7i<_N8!EDDXdmIJDLm2 z^Rkw(jCADbTUbx>y+lvER9iOhS*6<3TG_k`ew}3n#ZK!{`jA+x7h%eLF{scE#(w9# zFp%7f`;ajC{krlcg+WpthqI#|=7BvtEFF!3N1@YFzbtQZ9~gSi#s>=%?O4wyjQfvsd~#9NCDkpu#d1rx@nzrQ2xTclH!D{ zN>KUkZO2Pz2zP_p0zXeX&{|Wtr`N=7`jeqXgJ!rB}x- zOW1YOa>ilE{0f3ixbA9BEGE1m4mN9%>KtL74Z-+>lK6IBm450fI_GWF*9?oWj+Z_9 zo!!NxuW8Ny@d7*5+#vI^dzPEFYJBiQMIli$)Yuv?pwKgX)ETTPpQz|@G`@*&eMcD% z;{m|MfkaY=J8+Textrw)2#4qB$K`KH&9GYbw-ZIzVI~#EG8`*&3_jhtotZfbR8^_s zV8cc+#ex|@E(&qNu2lGUFGwZ>jytQW?AIQ)D%>L&QikL7EpoQw_4EXeDn{!g^ z(qRtmL$aR;>?I}Z-LG?z&^q(Y2PY5FR?ZH4_)pr1SuN==!Z3O*PD$5MPO6TI>XXEi zCp-<)>#WvVjLON&3w?HOLq;Lli5-QbPJoF$8$=rK*ev70u~#WPv7>3C=y1cQh$;0R z$_qM2fu(=nc`%>*l|*xAoaTi7-8c6Y?F@hJ>k5Z5rj#u48MCma-2>TJOClWhT50g1 z@nq^chwa${r%f9|cAZEqlTco9Eq55vJqLywam%7G4hi+95}= zM3vLJa~0*xlX+g#G@ZtpXirsAUqP>G@QW-jv4N+L#}!=Qa-Zg;#<*ywbzdx*Xn%Nz z2J^9FP|d#2%hP7$i=a0vs3BBI9kr9kTDKGf8Orl} zN5K35nr|8Al^Pv5X$E1dj<#XfM`vj_GrqF>n5z`4Fu*S&U*&buRuuOBcTUqxz=8x) zmCM2BA^HkAjev|;E901R=^q+jti*yBS3g>8&PeS%k6s^YAVCX=m}k$UE+hUL*B$W0meqE?C} z)!ic?;lo*$jqlTU1jNOm1jL19W`Or7`uK~KGVDZzY>k^FtG3_D5n)NaaOg14yCe7~ zw`F!}kozc>!^$xBNJogL&4EkjG8X%8x2Y(1N}-%*V*P9>d8?|=U?=G$ON7--)C67e zffHcIiy<)G?~M-Ct6DCpBSbL%&Td^ZWl++wg3n3W@K6PEnc5w6)0Qto5w{^D@W%YbHK1$-U-BD967N#`Vo2#eUBU*#m z+|PUZmVj8l1D=1}Rb!YfDj|VT6CQU-> zL#`#8!if&vTULv+0H}qceIeDJUi2@tAxix#wL9Saxf_53lXsD5-yz3-U-^^~i5sUo zLKh;!Y=wOHd+eSM;gKzL)_yYXDoZZXSC0=&Q3ubTkiRSD!cnqrW?AE{kjhbKGb9#l z-hZl4$c3LkZDX(54R#M!OblHoH}1ka%FS>kU^YLhWoKMMKpWvR+`ENpE60Np7m2^PV#DG=@O#jxa3Vr`)`J@;m zv*NV^p!O1Gz1=AWA6GyVQlO(o%-Lz-S!l~+#e5M-ayd^rS5`EMBk9zOb{y%kXwPbB zt7mpt_Qf{DDi>nmyEiALk=t-FqpTJWAIUmv3lt#+K3K?Qt(_)6mB(E!=+bK`}+>fPhx^#-ODw7G`D)%kb*`f9*DYPNZ((9v}uS{pA!Vbug`7N z+4T+cpxIHYBj45et<;!sVFpL?WQy%5hw|#~`A0-l_LAqpxx$O5jpbFvSx?EjpTo5m zb1?sat|E|zwZgP@3XRvNYj+;)wThIy5;M0Ib##BIC+{OgOhy~X$X)d2$o^}3Zx7P_ z(gHn>_(h^6o=o4d;Gg*NRU#6P7}BrPs^XZPz@u3^@VXZ=%Bq^kdbN4#eo7S{T6@*X zo!+@f^L!}VjtpM@{X2ca3;EqqW4WK2u{H@Ir_O}swe(Wi53&IANCpSDVvPlV+|`&( ziRQ?#a;&YIz)ROfni(bM<59tT-g*sW2ah`StKLb*9fL}dcu~W8GZ&}4M8n=4-{769 zHj*k^8%_wRQkI}98G${WUQTM#{`28l@E^5zL;EDJj7lhuk2jm^vuJ0eri_?k@7w-VNODi(jL_O&+h zqnCUBb9^OP43ydFN1uaxPm|XbCaOmLV&rM$xvp06K^xNV_CGi+SA2r(CD-epjCI>% zj&=50ka6t5*)|RGof|*1CZ9^RO^l0&x``;f9dfRnE)o;ww0NG3fDWFV$LVD%MvC!_o(Y0Fj@o9MDC2W`&rAz`Z@7V#P zDax6~2gu+Tvpbx1;V(nxhFr)AsV1 zvi&&?t4IfqV2XVtQgc1+FvnMIV?Q}iVJ8PYzJ2p2KT{QXgP^8W=Qx7jq0; zoYhx+b9ra+!*GB=?p5r|szZR?|Rase-#P|r)fnzAna=v5_%n4@4Fxmc%h*)*#+`WkU>I@oqe+ZJ3n zrC3fhjH`KjW&lcr0k52JAe4WX0>u!5&|}<(HR8Svs4@#JHVkTpa*mQ~t}>Rtqpx;2 zZjZ#?IM9_QZX$T zJ+4zWwe`6ut4uXO6)3E)ik;iqplGI>u#`(% z=e|}eNev;)v|z{*R_eAB36Q{#l7&zsz9qKY$xco>3B9aEg8PlbEjb=2f2f3{(<7sQ zB;GAP2^tWBQOk15-)S|V>|&5mhq?>e`A+dAhylf?c9*`Zn1BLFZ~%W06_)yXcaH%Q zKEI%W7!-$l_79&0;OC!2(wE)^PhtrV2#Cpf-&mpEXU!2HyaczGnRh(Bw*f#Bzr$i= zmGM4l4=Glq4#Qu%ixh!kHsTb1ijWWYhs7WaH=tC|(jtY4>TW8Jtpec4UQkH$#H zURNJnL$zGp{NKBd5gub3;IflLdK@4hhpL0x4NHUnKpK|hkU9s;XH-}BEPw~lK&2_D z^PbYujZna>7eoKR6Xnj<=mGLc8+T_^yA2OMNAk^$JT<3qxf3t|;{3B#$pgKCH07=3 zpR&g!d<38>5yT{r6patv?M~-3f&yUu7)Auj<`60d8RWd@e$;v%+jO+zNKgcne&z5c zDlf*}lzdA|Er%$B+A|Sf{Xx@u9)coNdWwZ-?Vss3!oOtd}%V$Tn4z=MLsa*Yq+|K#i> z*xWYxL0LG!zfZqCz3vJNsoX@JTmXf)j z6(Em}1Ym*3rHNtgR>U3SDL#H!BKR=fa&3UTpT9+)=Kx1@xgnR~`6v)@s@2%Zxa@}} ziU4J5PU~`sAdpLL6)&M5UR{3lMP}17j z$_uv0%*&zCzds^-q2f5)xVjYU{#)(!g>4ws1uaA5_^k!MAYt)+L1aZ&f?E z|ESvee6e6_nhACDDjB>S%lk7VY;WX@UazOQEq_)9nJN{`}qNFa1DqT z_m?^?k2jV3Cv|`ZS@eo(79Nm-$e@V{m3}R6My0Hti|y*2j{aofZgX{TXyRo`S2UyW za(8T``a|juSXPh!sDuHaojEXfCw!pDj^7hp1C;Bfq3)k=e#*%HKpt)PD0`{*4o9F~v@s%=J*>$`2hj@rk- z>v9k~+vbBoDQF(tPgvW%R5oeGsO`0yY+)@C1XS~hyBsDHM*s50;^o;74vbRO21+}l z1!#2c1Lz0PsSsk>;fgoG-O9E|^Rau@*q(9Y5D>7G*BbN-0HvNU=qCmR;AMtMe56KI zwGWSR;_D3hNzUfrc@5wcpSeeA#1UKMwG819$JsHrO!OEPlf5?5~;Yu939LT5$5E0TZSByZ0y^$Q{B9rk~{Xb=onEyge--<$v(CW2*7A`z81m2aa zfVzpJfkS`@pD%$5Qh$0IKCjCZQhPsF?YVkN%&6B@V3rCz0BHB}_gQF}ms9?& z8yqznI4cA)yx&d?QfQuur8`D&XVU z^O26?2Tf{q7|5>uDLiCHYol{ds`_3f8MGcT`0Y^dHh|H{Zo6Uyjwm_>gw9smK!ecB z%N1T$ZO@vc5!D}WP@Pq}etA6VmeVN_7WqjCX`#?~-dU9g>CiDE{f-f#`_=bJs2P+taWJpif?p<3LL_3QT`Qh#j`yb*b5OU?+^of`t?n8F7u`DHb<+&k2 zU)ls4Bi=ynl`6ixgg3vrRJSq1-bOIF&58MbH+8#&xYYMwb8oXD-;!hk!BVz{`YmoP z!r#8}!NYxWz}3<-+)~DXE4$alw!8(_Pi&!ET`9=O<|{&&{1F!UCB7ej7jKIv#V`F# zM_w7@n+lQ&mwO|o(qHUP(uWX_AB&%b`Yq0w=7~CHa~X2KpjXW2MXHc~*l_+wae`76 zVtAP^6o`mFlf?4TFG-^>jInO4oYY+F+3MLQ9*pd4ygRKeXS}fCVXT)tjvQBhh|2c> z3i88k3NZ-OZaQi)2O|3X0Q&Dg-qY}rG`;iN|NGx=-V&q=g-%?##es}}bBn+KFo6|u zANwXl@b|yne3d0|GqQ5^RyWdre9Pz0xqMZEZSLn)xRd!-;psdseuRpAN_Au|-h}h5 zuME_heF*2hPAy>Fm&AcrVi(%4EedhKtM|>@x?Z{rkn__9#?Jq1n4cTMpLk2V>qJ?L z4!x~Q%%N5u6#UMp>~r(kdCJTOD=0mLal9cyfuKEsOH|$_X<4WqLPkq4@FB7-zIEb% zj`RUECIuf!$}bN0#@Dyf`)itR`v^fG>ckh0LjSsgh(UxV`{CKI-~SXaz~_DV1A~}$ z=oRUsQiE!2*GpvsaXf-TJYeQtr#_D{OrdUOT=E;O+6^-5#IcwCSVX`p&bP!>L2n!P zBB;McaQ|Cd;sc+c%Of0NzyDlLU^WQA>X5l7Na#Qam#T@`$eju(rzAs|s9X_BS^e<*zfA&Wmcb~7?J3D^oc z$yQO|a^U~#%h7abufEsSP&7j=7S!oCEbX3h*Ea7dPM@Y;t3&&_wz!60oh{*B^-LHY z@?P!WpuaPJ%G-ppr;Yh4;TP~4DsyR6yI~iF=L=wejLxRTQ>ME|-x;Oy0{^9Wknb-09E@=I;XQ`ws})GEsOiqmyHl zf+Zx<0cRcbs{V+cDeA`(vl75JO^PHI(Mqb zDOfF)#ZQxsGF{4*R$Earl9e3{>st60%SE?PjkR}N{5R!9zLMBAX9;+W(sDg;r#<7# z(Yb%;)JCNEbcnGyCsMBFMAn4EUR=#VkFZqa#W6E8R$9mTB=7aahHigIzTL$7#MV%! z#o6w(?P8;E#|bUFGLN~fyQF-DdkI1lz{x(giuGm6 z+eRucI`ir&_JGGJx>)Y(+OLm~GQDAGs|U|*yoyKce-e9s8e+7u&17mSYpR}Yype%F zIZ7%l?9@6}bZq+j#qB0|2dx&VVgZX73PK1HbZz+Td;Eb0xDtfz_WL{3+A}URwyEW^ zX9FcxE_0uH;kEU3-z(NXG-53gu{BP1lt}bwqtCu0D+2Xc$*exGXAf?H; zvN6{nJ&^z2A56S9&iYh&N=JL4Wv87tPuYy+;HQpPs4iXmUSsu=h~UBXT5$Y6>!W;@ ziG|eyBV%(c)2lqAjqbX#fQ~%@Zp%fKIsxT=67@;kR4zl3S=&7<$bNeN?$Jl}m^?>O zccpWNIoh980l+qv&uA#1Q0|`^$wVh+VC1**3E~I`jjN;ydQY5uEw87M){lQ5&9O|2 zK`a%SKXDi|Rqr5bQ+s_zJ${`G^HZ5E&)lG5=VHKNMKVwNke>c=J$1FCW*>IJ7`jQe z*aW_;Xe=LzAbETlW{4D4bvo6p1fihv#9_$Z5e9(@=fw(yyqCb#kg*WGWP~Oa@Y2<6 z+e941A@&;f3u;(&$MkqK9SA-NI=n8we$J*_9l_K&QqTDUK0vQVb94(=nF3yLeW^M= zc4;{(E+n&~l@e}=5=MZbc_+m6>}TzMYLslxa*kg8le&)Ccg&=VNik^q5j%WCenDo; zq)nn6dtYyC9v?2?pbQU(UXd7Cu<5gh?-J^ZBV&C-;I%t4#0i)+Y6$;*QEK{lvf+f$ z#b>sl?d65vY4p)vvb4KZNBsK8Q~h9xt-u&G^cav#F-;Y4_eVPfk(%`v`jsuE8R^9p z=?9Dq7O!Vq)~wkviw+cQ^Fzr;Gln^br7alx+GjPLh?zC36u=JsUi%wzE4n|YDm|Lj zxtHkL+Y{^GjpdtP=GAQMEP29yqCDBSEYzGT_w$$Bw%uBfr7+*3B8PW6dV`y~NaZ#F2}v9~k-5T7)-q8KABQ zMx$zzz&X6GZ;&6JCxQb{7icUu+3;|9D{*+gkER|bT3o-O>jh-szPr=hYmhxOVC6SEG8cGN?#)>jWzKYCQzz z=*6T0zqZBdo}VUu@F?)qrDYt__+gsM5X zS<0$$`o~$hxiMuLbuVf2c}KHNjmwRUKa_cy34zL6POIF?Z`=_A#Jzx675oLgQwd>u z(Ea8iqx3)&>;^F?lad(;i5%9S8qe z&fJk3ojh<2b9Qv00DGl)iy>KOslFbVdG^UhWZH=7sf&0JZ;t@tlXI$dH5tV--+)d*HpB{*_yQBs@h!f&3HGVmOEf;DBNSSg#PXW zllWmfLO=`-&%No;28c|jbBl&Z(B^AB1V8P)IKOh(*ck0Lc-!ta612#d2_EyVQZUf` z*d2B*x$eW%tc)%S|I6O~%!eD@&cJM%WBhRVljUOSTrN9BAfHqmNXGQpThqr**)dnY z{DM-PCAe=~oGP$kO`B_$MBVMUwPqRSw0x*;VgPjRC*f`v0#nz>?8M39q-JwOfDoq9KSivHE2J};;MTyReDTcwQdN_Ndw``&dUT{9 zB{01%FZcP{U}^}D$M)c1;RXUX(8>qn)+u+vPE2yj|AvGijQN7?AwYzK?lJxdomfvQ zj2{TNo~!dkf-+6j=#3-06*s&&Xad-c%`zW;Iln$6N&b|wJaF;qRJIL6!fyoBKmF@R zV&w;F{^r_?&R=Xt%u{HYgc>4-^+civL@dQOyPc7R=ik>2A`%Io$x6-8)x;gcgjK_Xu4VSlLtIlE1UhoyLVi$MbJ zV5%7=V!L&CfG_rK#1sYksBZKlgW-60}8w2m)Ff+dT0ggB_r>Cxz{9mW=|<- ze+9}!f_$VApPZzNyAPSmOS>v3JDzvGVdpuOV}JETiCJKYbgJCy&~=+h7lEQaNFeF}Xu%N+ zg{p{q6jf!%%Q>~DHG+U7EoonJSt&Wd9|a0X4lyM^nts&-LWuQv|B~~^*t=;tZJi|{ z`_%-@R~D7K663!XZ0S2!2;+mbdkMoEz8a<3JmswZaoQX+i#>Bqc=mgc9=2@6^fbZb z>U_Vwmp-1GqWU5buA?mrezEXEQSA5kpFg`N%JPhY1FFrj_R5d6heuWpO^@iPvd>TF zw&yUM{6>Nh2xt;-1Lrv)ARD6BI!O@pj*oo#m(Sx<)^pEb=C2ycCF(Ed5$pmnsCAOY z$(L&$sG3=A=()RUUZ%&E*=A2FUectkZrG2^2U*x}G`p~$3Vlp#Zwa7Nmg7v#iD#Cj zROKuei(jt8pY}t&>VIQyG2zfUU+JNm>5fC(uVV5B64{H;G*}yQ{Iv2xT{&JmEgd}+ zj%qwlfQoEfII)6j)wEuS1luCK1ZTTkqM$q$*?Huq?^*#T`Xy4x_d}Yrk{t$I^TLpt zlUEKJx`yWUP}DrD(v{g|8P|xVl$#oIu z3a;R+vU*p?Uv7K7r}PP6ZkWd1ZdzR4gbmro~A0S+oTm zZsPf!qZgafjI@)gZU=h|Mne@lCvh@IgX)0s^}E9T!r3UtbL3r zME1m)oIex`f%Y^nPE_!4xC8MdQcxSDEKNWVc#_R+9sa8_y zjSYac3hXsC+XzcbjqxD=mP^1%15U(zdi@C0;RWoLXF4Mi2HTBHcv&7{s zb{mrQgS{aJLDqO+u^~ne^+2?Du7k2W^u6jtu9dr;mV*O$sWyAoQYs`@y({TD*MZ1w zYln`q8#OjZZ z%WXis>u56>Kke1ij}h;m2t$mn{Ci9Ppr3rt1!5*`G6dT$SCdD``TfkC`?^7yiatTz z)ab-jS22`IR>frNs%4$aEzSKDIA&L;O-YwJM5ldIf|@ebQUqHS!j~um!{pAm@~WzG zNEKAyxc%SdRu^Urvu8(V@MO1Q6n{y6%mtk*Si={#vqTlE z=lr_S*(jnZeyN^WZ*$6Gy!6C-XEMGVsQKK(Qr?W|N0SwCW}>Lan&g;LB|?j=|pw8SS#xW zbfTB@H6^7hu{8IELsCwt#F|~s8>93QiEa`!^y4cJ`jJE66v%(>5qPteLV)NaM$ohh z*(b>GQL-Wu8z}{ls02VQ`uCrVCFZ`^9_HY0u0=LfrL6PYww5u^yPoEigENqxtq1>X zxWYTyPg0?^R&KLGH+O!vl~H3~Aglqx4=bL1S2}wd8)04UtHUVHZ#yNI7#JV=Q{9nV z=am=J^`~^E=?Wq}c)3{mgkYF!uwNV^b*4=pl zjmEbD-!DkOH{=Nk_#V+Wqz6Nj@srqp!4q|VD0%u25NBI*LnX%7B3mN6@!HH})pw&U zxo;SL&`q4c(oZOwhHPIbW;e?wy9~Xc^%~}naTD%g>JZ>m)oCA=u}&__R0erD%5K?O zEmjWJ->PPPsVQ^ZCGS_vWw;2^?B_ziMN>=J_b5j=PK z^Nf_m0dROtfijm(fXAy&szNk?SF>j5Q@NMN?cCjH$RJUb9XfG@3lf|7%WwYxiFKYs zE=&E7F88bof*$2Q#8N55{dfv{nd3?0a$5K{LZQtL5d(q|E+8OevjVRImr6Hg7J>*T z1Qj@Fqd^YASVsbZ+27WMDf#)Wvo0F@pcJRcO8$XzzlVdYt=Io-ZT}m56tW}06e;=n z^n+LLI(tOim5!NwQ2)P?*8f4)Jpi{rx2) zID4~~estA#N}eJv(Uc2?c;(`^~q0QeVf>K{J2qnz|QBhlc)vOO=%z z_hT{USDSy}?p+mt-CS#1z#!J~7gHwnns8|Ny|PzKkazk!Qf6ezVUr#6sjDAvi{_8M z=o~=^jt>C6@}CdjA@F`-e{wAyxr^UCB@Y_1qHg3QEuvHl$#BfKKG)&$xJiKQxw{YJ`JN)w(v@ZqI;bhg^Kzh}XURY|~<%(BS|Eo&*`Ay;n+d0PM>ZEpU)TzGPq z`*;Q9KH_-UT`j>9Hb7w$A)_^z3{8udU(|gpRtDye0lPO=md}BFPWrRf5C7PzM4vy` zKJY?p~wHa(3S}t_2X>tz5M@Uy&!iy zhF(J_?g>pX+N>{;{|dpO#eToP`f?+`jRI-~AWuR#pZ)}Sg#N}T6(YyV!rr7)Aa5gS zJQa-u74ld<|JN`dKr2cC2aS*qBjhrSXD&r)I+7S3Jv!t!pY={mfsW&4bNvVw!R02o zF&C)3qOfePU2SKiz=uj;GQIvaQjmNUFbl*DRAl&n$+3eH$S66LZQ}gv%5w=IC*xra z^18(||9;mc3~wMneB0?qJM?2q<8n{``-|HH1~5}f7Kswrn;G|e3U9*Qj9RNvQ1vq) z7(FT%AoQ9*>wx>0p!tYg0Ux_Rs*lg`_lr+^U79ijyo>#D}+F2!>G5G@FSNBvtm53*Qf{sdrf$Jy6g zlOPKFeDyMz4lU%#XNP~y=yL-mDv*}EjM6GS5|d;7UzrurWG`jPTRoV&43=-$ zy+lg{i8?$O61d+Vcm5vu?|-|FKxU9f_4wbJy8kxOC`ieVgpJ!zKyakI>g^Hmuk;|{ zyzu`fi}(R(!YOSw|!DzOY=H62mix30;eA_V4bO3{1w{0zfX;_~mWP}a{}Kl9o7*J_$T&-DTBQ6-`a!aQ%8T)3{mZ8CxjY0+ zM|wV+?0?=1xU~p%&`naXmZBLAV%MbiACN$HzSpVf^M;!>4@~JN<^Rhs2sg*^0-3)M z5c_PW%~Luz^iR z2!`S5YaA;+xF|P{?5ygl?5xrCyzPX9wN6(jovQ4OqLKU&)wkyPrCD9Fydj&d;1b$# zL~0&w$4diV>MvyNtv7~;3?b+VA=-_*BM}L4lDJ7>hddD7L%Y%cn>WTk;nk(aAQtUt z6aJU9Kl2eoa@HxuZhOSy#DH}Ax-4_az&rwGq@+cAiRKJeTrr5isso6TkvKur-I z$y29sJlPJfbH3N)N0R!(~OaAI$vID(j8qL&VC<{mvyn#-5L0dYVqX0-JryU7+*(tzGWJ1g22MAFqA8 zllwfNZP1$%@Q(nVo)tPV9*fCtxZXsGVNXitaZ~2;?$Z!r9)g+Mj{;8_c?2lME{4e7 ztx||6CgtXK;~*aN381hGXm1jb%n)9nRoMgv0gOOS>5xLNuH8Q#>WMF~>9yEHhi(G~ z;Mt2d=0VHLdgCRAp-fCnZNQw@Cp)&UKAb?aucd^hR8^_e?T6>LCB6O{cP8LOvk!M~ zEU4ZB3JB{kPsMUOsc2A1Sy@L;p%TBx57j+ZAyVn;k5~j zw24L?Db6jXH9*c3UfMT#7sxG%b{-aqyDMe!jCXx+IX>-oc~wt!6DbM+P*j2WERW&D z44F8A>UQYq;mYz@2D$OK%gWCEKBM69z;#YluaQ=)!N$gM|S8z`fR zN^B{&5l3Q4BSje$u4Jf{t3T~bkpo8xkHwTH4e3|j8;3JRF~M^vQu%NZm~WDT$o@RZAuJE~Gm{Hrhx zTuXQ-66s$3dO-@bC+4Wd|9^N3o>=)6}PlP2U z{SWNrtPzN~tHDXqKnDAI=s-r58&_HA2g0T_)|dy53-` zFCu+s|Lu+umq6^1&;R(&?Ig(qhAC`4I(_Em8^}q4rhqL{?hwjbk?AB$VJJ@dtWEXd z`gCVBk@a+ywNxM~E1Fj0m~^0_p`nF?$5^8QK!oL@MAM>_+N=~j{loo1Q~=!7_XPHi z+u)Q>#EtiAO?n@EvD4{GUq@A}*B!#x%QYBH*fd@9{rgX#Bc{4pFO3%E+f7rTqVKt) zrgLfWR>6nHDTUKN;q8++zI{Ou#@5SzWQ;8xf}y(*GaAuq_oy*}ut~~*iG`)bv(ai} zFOyZJE+C2&v)Olz3lad|=JmXyMy6VqX)M4{0-!&f13$Lo;@FC}~AdYIwhHFUA|O_mr$zR?vznkqK|qpHO5=AH%!9N*uNzmnNXN&*K;rk1JMhS;yLV;+ zOPRu=b$3wsrqUqkE)l~dYF4=v@gt8W{EtqFxc9-`EdRdn+^T+&VR!bxKytnnYgk7@ zMe%4uC}25zgXG|jj&pUNU5bn_U&>54mUZswtC1voAs;$#J8GAVHXQ*N0K)H;Rv z@m|ZH*>%F5HEIOcaXT4PI1kRu#GEUMp7b3NhJe=2Kk*^lYuf=ZTdM?SVMtyQRfN3n zIJ2hYlzKeasCIQlpj9G#ok1W~|Im3d-Mn)?eS~x8ImHywU=N($QMyKQh8Siz-!R}>zu0?U=bU}cwf|Tyk%{kp-zV?qexBC^Q}Mk@ z_&^CTr{XRKxpx4gq8N?^P3_DR2g^c~4{wsGIybmD_Dbj&OHd`RV zY`PG-WYcB50^BN#Lhjx=_Zv3M;Xpl0>Du0jHapayOvt0+k7Xt`JaLL7X<_P*dMFv) zk>GYBo_GRF#^2qn14-NsiA-#I_VRje{bbd$gl0p*SIv}1LAnvI?EK00~C zv@1alV!fqrG?6{VKYY3}ZL+ntcwG_iP*}a?hp!r4Dg{x83ra$@T9&BMzV~KB`GOBU z3*scTje5E}mPRN`8ISKe97*c3aw+#mH+gd76re>B+c(WScR?P~62Q zc#v6im@q-r3_D~yDr6pBAs(^CE|r)Q}@&?KPxnS|{EYc%%z{wgVFUzNk`w4Ha4402PR z`=4qt-JRxC^^10Az{lST8mX?2iWWyjTX;4V=d#RxFtzp#=1nVJ*`v29L5kJdb-yJe zExHo4b=YujZM}Q1Dlv-&J=lN{5y6*~s%Ao9nz$ZlW`{bpr?im^biX!&0 z1;WzRsM%!udAKEAMx7Q6yOwW~K7%A|tI%Q7UaO;eu>~J2gREL!U2a+2rC{zR`+#V5 zSZO*mIH*@@b_=O7S4iU1mWb}CH{|3gQUmahFT;wpzxs1IS`!)HI}*=VPk9I{BV4~t zq;|H(JLVbsPU~yI#z+I8xJ)Qclj2WB)KPl$A}2(i*LDw@vtTj3FlKu?vHTWM%#qsA z{9MaqSLxefAK~rjpq<#AE?!bKF&NV4K!!eCT1-Kuv3FIg8>>sls%R?V=KCxgwTpo+nWgiYMDpikhk)!_5%J)IE| zT}sf}JDbjTH<>Fo$BAlx*%NR&XoUn91;{za1GPmZaE`OMP#P0z_?|6YYjSmKBKCWK z;hLofi*uG?;okr*%gRTxN9tobY}p4RLImxeesU{pDK+<4o;52!Uh;btUv)q&&d>z% zq+{5Ge?{(GAj4$w1=ltUkEB^)!kQai7by&JDH+F${YS@M(!%%2cdu+MRog zX!VKH8;Q{EgeC*| z1fGwr_$V7mogUt&|9ZO-Vfa=~(f{Dw&xV|Z63C}N!kh!_*YC(8(vaUhlsW=ULzF_O zqwTC+^u}S-9CAX(|jv zWaFPeFDCy6vYs7&VsD>zk~S34W6utaohr^B z2HhE(l4YF8$kWG-_unYgsZ~k=V%2X+^bE%7GWf~P3PNTRp!9CrJM$3eByM9M?tn~t z>}@lpIa6t3%h@ia4n5C$m6T4STnV}Jbn_Dg9RUz?`k$FDY}%i-x%gab#@4YZP~+j- zHY=^a0E*PwR|4aS&#-<&l^c3aAv&HvOiO9Gn`T@{XuVVDn_xE&L#F5#&Giro({@Ah zzN#cvVTAS`mZ{vV;or?-!)9k62@q%vzQQ*t^{lfmU;Mx`8zd~MF2tlRMA`0fQidFw z&PgFRJiv~)8LwtrnKY;j+X}E;DfoG`FkWgnSSU&0ULRPrBJcB*v;9MdEXK&xDFQ** z-Fe%$=pVhkyqF^*c6X}Hl(z`4nt(fmA+TmQ(OHLC2G5f zcZ66p3(AfR7B^$M)3M2Pe{Mqi7xEVzo264MprU(fK!|Q5nTi@UOWD=mYO+pL2j&g? z4g*oXDRy!D4f)Zr;zGhu=kCjQI!nd$RZJ=lYTsc@cAowi0SGCB0I2GWn!YM^8NBr| z*u|%lePUu;*142jE9d3}n}p?7}ZE-rvX8EOhZ1A0Xak zmQvdMepm`3BDM)7T$nw)K(hEnfsK-UP)2aJQK3ZJ43yvYv42ojAj=(%e~_5ZQ{z)G zKVwRIytKYX4fSsdZ=~Le>dV)S9*-iL{6)Ic*9J){C82f9NxLf~M18lVCsxlxGX}^A zfdALJEl|uos9|*<9i{;n1ifiyWy<-*zH-g4<1pWDzx-e^jafJF$v(5-{0qaA7jI5n zu}_~gfle1}TeiHpF2ecGK$L7(@c?la4tMH&fnawPNJ=e!PvtI($xgC@Dc?4ZldFf> z6op(0JPr@MO$5e55n{&)kcNHaDV*wjB&(Q)$CdH=)Of}@rH zu(ZI{&bKDn?=KTU?x7O%gCZ2T6)lwcMo(cSQ zrm5QZRJneWD&~HZR~>a=v7%K8w7z zg1uAFey#?Dt75=2CkOPUojo(Z_RqNc{NL#w-?$|+^-{KbcnDN?u=(&xDD?w(7lyTK zgA;9=^9#4#!U#LI;!fr`m!0Saq(%E`yb#ppB0ugj2OA{ztweGFer zB?2`azIXM}dEa)M!*;oM(E*$; z)j?3|>v_BCpwbhh5a4+Dt7ER27OSn~CV+A*N~2K@_6n;z=TNQ4FYJtDY!O|?sz*#Q{GL=!ISJse0_=3oTfWiXF@N%P&qw7Fs~ zShQmz;E*N$@CTD9?2P*zH>M^VuJx&@NjJrLnT(h=H&^4LDi|aJ*h8Wuu{=zcF2ap90Nk4M zNUteLOo}_;-9?sv4X7_sX3IIT7d>F0Bf$}S?io1!>SxwQ*--DF%R7N;aLb0pU5=!%JJ1NRWIT{wF^^h05l8d zqBoZq(>i%eLVM_#(9F%c-2q5=#lK2;U@Ka})%<Ql1u<8-TfQ2Ek~oa!u7-W7)>C=dZ<=Fi0ES9$Hwt)W4(BWZ7cv(XXJPpwDU;G zlS#`Uo$+6B_cX{thrCa#i;vyz4#|C9;W2_DY8-tc7c?wN2uf>V)EA%6HkxO4rejDm zF1c`~LGrJUc9(Wf_6Gh}QtUNFZ*;uBhQ59{ite)gd8?W?F)^@0QRc)vjCy|}u?Ft7 z$NsTaf_E-YLGpljmL|VkKW`36z#0(T3mzUD!wn4Q{G~y8{<53s;?wgK?wjXmUIz|P zz#x0}27T4>%zJ@1;PZX(5}`u3OtwHoBQRnINFjj3Az@=Zs_L&s;{BI3{=709z|z<3 zY;Ix710o(cg2?@$-EX*T*g%UOKO1nRGe(ka(4{w?qH`7S{tKw8DLu^&`s*C`61jm5 znA=hnobIv**QORE5nX~_XC*FL502Z|I-nGnbry7+`H~-nWjJ81vS!U+BZeuij=pv+ z($i_idLGfPeO3q_#E$!t2Y3>akW@f1ydB!K&o$|Rpmzlct*^Sc%%56hD>~usOo-s3 z-?)z(SD}X?Ryd5ea?^P5KlYdw>kQ$UeE@VJ8!wXnoHIq0a&NhNgHR{PUm*eex@Vjk zh;Fab*prAu>16Dk^lkEs^HBJSw$!n@F4As+;pzE|z(A4nU(o@W;#-_^ajy9S`1wW0 zW<+vt5}z_~y=)Ni*r($QY1{-}8id4C24Pm91QZpeFSmAF{8|P5>vcONGR&_B?`qW9 zN07VZ;3zhD-XF-j+0aQ=*vt7sLIZQqtU!bmJjOKXiNb4OSrcI{eL z;#n{*#Y_$Q>b+o#{CONfcqi@d*`AQ_>kz9kc*rn$0G~yybshKO!^f`zsRWK@txaYt zF>RaL^K$_NpiCzqLvVWP6nKVeim==SBn_SWau|0GabUJFBNoYYY?#X~X1v~P1d^P(mFs?=q^As_O`Q$@ zq3vS#@g2zZ@L=<{nAC0~=ap&VU$!fCbgVGWE|@v=wl(B)I{|Lx zembn1VZ4%9w)0^i6MS$O^6sZpQ}ud@O*iSpoICZXkAmSlCUq)IW>z-pJgMDu zBYTkAmBm#oBOBI4yxs}-4g;w(1q=7(78fh>xd7u2P9)R{wHU8W(KCoAmO%(5!>FQX zJ5uRd2JSIsKh07zSbZR;*#bJd%`xY5ic-PFY4sHfWwC-$vCV$P&yPWx?v`)rt_ zd|(Rr8AkWxT;LXZn(!2nsqB!l!(6{`3f0bxwGkV5*G{64Neg{yrz`>Jv4H6BHsBh( zzovzuf@_(x_a_jcf+vgoCObY9ma%(&BmkuEXEk(!n?C+THF16{y5(3}GxhR~inj*&|d zto`gT<&4;=%vDyczfWo&t3ay)&J>atSXhyLe4lTLDVHj3^dqXG+Kr}%+H<11zoh%U z4SZYKSY+V0&En6M-4$r!Vj*;vv+L>6aiMxQOUf-Ke@Ckby~my-Glh8hNi?5TwjwS! zZn|$m4(3qF>x{$*4GH;p781!Q+4}Xh;S%_((qo4M80zh8laMacNWa9b-z$L;RZar9 z%ZBs*KhL2u?5lwCUlnmW3yWUg*=7>;lTTt%4`l^w9Ibu@8_TvR?@AQxiPy>{+ke1= z-ldfMj>;|2-H%!~q2;jqhR*?Opv6H*RedTvqKppi%8(35#3p0qndVdVGjd)yjF%}8 zB$6+XOFFV3Q?IeV_`9)FNEvc3V~) zl=<6UfqbJ0{(9=}r}69v89tVtw5tGIAl;L;Uatl7DrMOfB2p@OVJO(%1u?f6JRCGI z9oMfuaT4G?j2&D0u`K&fUovm<5eK+>x?1bY= zZSrM&oFw{M;mZ}NS!2e?8>!L*RLnh$kYS^2zd-dwL!1UDfu3qONxsJT-LHFh9RwVO zs#dm|d)elW9FaCt_TzIEo@mJKT?IqYN+3Gy2&{jDgAVLPh;W@;4H=q$RS-=s&ZvGg zmbc>w4}4|>PgtC<69b>bluW8g>0FRkB@pyXJ14Er?wG7=a`G@JaNa?w{)ANQ1jv}2z^uh*IF^jo7c>g* z%y4CAu2sCb56&bSX>lL1slw&|&Ayb66tD>~*nt*Q?!O+(Za*seU246Uj01y{W}f1Am8((zTmTCDgs&Qna=dneKOu(JVQq!^!|O< zvY=!Yb1TpT0W9z{^3O~hl)!&5VPb$rvu7&ZUt3IPCLBIC>_%h7hdU6F_`5;wI^SMg zRkthtK+nUFQj?oU+_tlLMd5pXAyKyde9GMjGNy?T%OwkwwTgq*4`t}C1vGY`1B4Pq zXYD7KuPWVif)M5cV55M!r3y(Dw^)07tL3~KPaz9IuG+nY*CQ&mpGo$&|KuS+9 zovk0wIGK9WB;-?Q^@KJUO0$=?;ZJQ`AwCoS_bp=l{9^+5@DhUF+iXldX;!bDWuh*n#9~RoIo28cW zR%Z+);!3h2ji(Zv%%naAk)sk?o(e-gZW7WF6Y_h39D4->qX$1=F|?*w->N08G+B+b zLdeO7l<|eFLy0tg2(Po-4^s(6-jdt7RVl4?OLb1w?AA>IN)>jvmZ~0X|Gw&+6J=vZ z^~RL^$ksZm+fj3BiexyZSa?x1TFHJmP5WrgX5|UwyeYQmxbEwoJy6;Tbmm z9r8J~k(oefC+IU@jZK~o$Rh_rBi&|RxfQK`M~H0Am*ZVJIr%eIZnuXu7KmSJd?mn5 zsQZwa-Cu~}Zun|zK?Ll2&j=S!=bHP1#dLimx8Ly1-`~l$>KZOGQER}Ted8-dm)O0$ zh_{(&l@72?A&$B_k2V}6RpkwjPuR4C!F&#(fCv0)=$8F1#y;& zSN!eQ6Su+!+!rGxjQ}Ew5}uIg;QEMu>Lajg)b4wmsouRz$8XYdI^Rc6Qe1p~Ka3zq z4-B`2TG$LzQ51Q&?Gy&LIhrzs~AGjijw&Y&a$( zuf7~DoUAp!w$ql{odXy@VOdB(8oK~ab@hn9V~=gK7HtGuGh4X!vd$wURBa{xSxZHj z(VT;;KSvzU*auzUiTZ7*+(-LqO1Q?s%`*^EbzF5Y{Wfu(V!GN2@zY;_Hk+&&h|Wf} zt)gYw8Y{M`*w)qn4$WARpq2Gu;F}S`*b%b;StA*}2x(S*$C!jo`Vp~8YD*0!*c4sZ z0OeW4#x5o7j^K0d_PABNo9eRRXq=N4>+gOujJx?E!DH=(q`uen+bN!&0=P%RahwC5 zq7VbuqSJ&8Pf-E($De>|*IQ85s#Igr;aUZ{MkMW?hXJiV`CJXnIpU)V?H`C};OSsL z+OAy5L={SrXBcdb8BeY%(<#vc0jE@BS6sz1wy93x^21UqM}Zv40F(ZR5=f>WnL<>- z@7m+dv1U}|3F@FZR)dZ~{YLkQhtOXCRme^KTeYrJAIscY`aARJM@U}h(SyC%EzENz zSA^Gu`PEq$C$+P?Vvhsd;Fcc*OWWhQ#M*Tn^MmD2f2N0C(q9sN?s4xh)!Gcx^yNW!cc$>m3>p!Xh+Gb6)kelQ zN~@noaN&vYOMRiq;OLM2Gi1=b z??ghIMWq<%YjhS20I3H9FefQe&VS&{OuAvs>a%dvC^01$Gs&t#6eXCrZ}Zvww4H!` zeKWB(`!cUkGFSf!$w-O!c-TsoYBz8VYH^O_Fja_qUcA_T&aqQ?lKpSRwa<}vXT>^m zSArvcEup4H4jD4w4oIU#b%_8W(XXyA_zX6$^5tfeelCf&Y@>2jfeRP^bdTin0Z;pg*jLDv*4XltfcA`GRvXvS2rFbq&y)c#byp9fwybk}VA(py2`)&H8na=}V zp(=@zpyGykCbHrb8^hzBs;La2FgbzO{{vY@Us}4on;AiGyhygro_U26+`rws z@_JHoe)lEE-V{luj{Ba6(N?`#N+efc{@d8#aEdqJ2->`ReOpD5#^#&;<9?@P?50_A zeA=L>rE(@N>ejqYH$qHhgUh~>V5wG`z;n^by~PT0lt2JFDS0Pu3^^Run`AE_-~|~)-5WfsVUou`^=5U zFv#UA*JYY@OLsW+9oqOYR)OZbH{g5t2_dgA;izH&7I5WrOb7)}_ol#`9>xVWmR43p zbffJV(neDO0KVT<3eI84_cy=OXYdX@th~VC8bus{#xf|U(SaiL*8~-4GK`y3^zqq5 zHfEKax9W5rZad|`bVz4l(4R5<-3a|+B%zS#_TG`{lt!5^P$_~5X!^dq&HYz%GFW^@qPeu=`1N696G`HVGO_M^7IG=AhDxB0eMS4G^+5 zRD&ph`rGVNg58MWyDR>R6eJ=xyIbIM1|?p?@_n@Z^8-OQP?2DW!DdewOv88;6FCj4HKNlr!qPK8WhNLDG$Tz|8j*ukjAR%C@UO0?eRtB zi3M;%EWYJ(l$bS3(J5+cKLohIOhl2b0hnfEVDr%+C+R?K1`}o@j2Ns>kq156R*j5v zr>KLazi^*)zNLP5@!;5`LBR8g@+n7=oIQ#6eL!crh#u8nl++r~T}ZLnzM`1p`0k8# zikv%rtX=gkqWK6l*Lid|Y0mk^@Z>X{r zp~eSjt;c)h&8y<%R%ac0()6#f@`-^lf}9?}2VR}LZFM0M+gDK=%_!L_i>W)pL`qJo z8Lj7P>m?$0M(rlkd{)+9>Lrc1c2+Af^_PElWj=do9*}{PnK@*#ikg~)!evzQGPU{M z?A^l!fCxAnAhpGH_Ug5^U`Hr%ARzmMY&S8v6R`WMS5bSQQ{`C?gvAk}8R5!TyxWkT zPyIL6-T=sc1NnLI`swO5gTU}+U~0o2z?FVY@~Ip1gi%qzp+xe}sGRew#DG%A?g#1< z5j1U|q38?og>-!iK%e%Hu8i|?krCZ?c`8y4we1fAY8`U>;}@lloANZybQxkyGVCdw z>jPr4aur5+VNukW>H>#c@IyPB6F@Slfp^;cu3ZWGzgtZD_04w|&~>T*MM)GeKJh$O zDZ%7id89Zw&(5Q(sBmDp#QYN~=e5Y>FTf33%s}ggD4ke#3&;6lA8-RXT$_VLE&=9k zrZ-Ravq8}y)J_NTVlkDM| zue9%l{%O=&)BvmQ*j4ae~`sKTu$>uIC5k>{Y3&H7UkF1W)etjWkUJ?L3 z;JU9k=4aAGujETd8+xa#Kx0riThrmUHT?NokW%W@4F*w<6GIa!LPy?Spz|gZD7$c2 zPV+JoalGlhHy55@@GSj;a-c{KSQD8ALFF?N4d5J0Tz$uJLYY&XM1>E3UdfJ?a(1po zQ`r>25lF;A4`Zwj9lU`iOb8z5w*NyiblfyMnTcoC>GOEAD{NhLK1hZ7+#dx!2PBw1 zNqqgBT!4MKp1Bj3t%1g2D;%I1Oi#=MC476oE<8&9Vd;RH7X7n+9pQe^sarh1ecrRL zW&tls&{K`h-XDJOFJ8CG255BghZ~+-An>jEj^9vyaFW@VLcW!7M}P4zQJ7_)ohCH&(Z6C z%3dS_l)f2>(d}sM*uSn^7zWPEuJgmAqiW8}@g_-P0m!Rl0(=IbYwZdF{dJ~!EtFH9}gwDG;c-Si+4%`CWX;?GM5v*B6Q^t9IjdKQ0R8}%fFwHOkhXyBlA3W;Xt791Yl!)AD}t!d!v!}j)}Q*)>5+q zI<4Ki8vk?ILA2E)y*J(@WeqQp7KfO0{@jXSla`@fwXkaxrgrX)cQuqsh}HiVWn`gt zwT!!a<2XsiB*@sWE(`v2>sE?A?9?pMEo~405CHn`-0Zjpr zGlA4$R!67=kQ@rMtNQ`C0rdFI&oAEnr?Iab;&rUQUhCfouQ%j6-%XKEuhCwsH#hwg zMn3G4yo3k>gkI*&(6@R-70n1N0=4=mpkFVZ(=>8_V{Cwob?CjM(ce@64&?T z9(9NnQ#%xgU%7Fs6KJnsw%p=SHaCA0&1MaNKMID27HzG53CVY9@MD=A(qpXMdT@<~q%wh~t{n@f*! zh<&=JhM7D-c%SypSrwmzP7yEv%s(4qhZ26od;`$~KUIDf4}c82>|xiI~ZN4=Qm9!HeBNq zCc$U_5za2C#xHv;_QB`@5>pnw*Ev1&??VB$_z9s@GB&MwG>>L}@Z^n^ zu)U7zJ7m70<(PKjR&W-U4yeY%8rjL|vTEM~`>=6iEG$V61c(3!8>&ytS zT8b5J`2Ojb`=j_e=s+j)3E~_&{l`H!0J|=k>r(Loo&;EKyaWM>g$+Q>_zFCmWEK{q9TFhnb&-bux5Wygvk8A@U%EfZ-Jh?q z1Z=`$dvxP}tmxl~KmXW08XiC%Y!jiZ?^8GhV9aaZ8y8=E z^`FfP_Xj?1cRNFo;X+k0Str_Xgq$VkxAPu-{Hqk*-_(000G($8WfWja32^2$9!7tU zrii}@oLAz8qyrFxQ(T(*kHucXdPNh?Pb50ZYE`C2RtZc@SqZax%yE;_g#I6LV~ys! znC^ey@WbphU$X~LsWH;MT6NCA{Igo%F?WG1SxPtg*3CcsvOgzTi{5nESMWdGj(>jh zKNS@~b)UW@Ab~x730~fjM5{b7yd?K;5oelQJUeqh9_6mdtR6=IJV_Rs|F&4?2Y^Hp zfNzRlART|U*Lxam$wMBx{-+TTB=wUrkG*tBU;;g<<^Ke+!LS-tH1Ayd4_4zJ6%{*E z4m3dwI6I!PFre@n&wZ)tPlx1%Dqg-?Cvuj9s?Hh}a+m=#VEU=&w2Vmk`z8Kl!RYh< z3ZoxdO&i0<7#153Bw#GM8nEACvg<#RiT8$gfs)2W!&_0v;&7sCEi+~q2|&g>D|3fzqP4xkrvuqn?!@YCySgED@k?;Z;j z|6~xw8wJ>j*G(=N{97~#jD4zM>%(UYB>eCYzyDH;!5^D@w%OhaL_eE2d3u2lDB|S3 zg7@*?JSe}o7h-VwDKpr|C+TggMg`XFtf_V034vf-dn@Pj0IZ^B<=fqFJ3I*YxH#!Fa3Ytvuteim%sV{^vn6seI_?m zW5mDiIw2JCpM>>LuNNqy(k+^kP6@F9){bWc3VAyn_VGK)^t9qsF)jTS=I#`Ww?0}@ zCmEEWCWO+-AbhVu(Bt_Dsp?7VZ&_-^ zgG_x7-qW;x&vh}Wdz*AR%+TxVKG#+LO}Rg9Tm=L#MCkvW;6bq2YX*PfJ$>|Vq3SB> z<=?WlElGkzO5aEddGQrSPQ7ouP>}g70Ak!+u~s})B!R6a-13m|0$_dpbisus+NB$3 z9yJ4xWZ~x7-|n^01OEp0?*MBB5}v$3079PeZmq3e6p%sOacGV@-q8D$mWa+0+yvL=O(LYUf&uzf2pB`>L><1+`zZl#IHea$b30)&aT=Dc!RcmgNETBTc4e6by;-;Eh z;F~PS<7Ao-3is)lJ=c0{2EC}#1gGF!{7?-S3AKaYQ@ZoN=jxxiCQ}I=A5E4X?7h?7 zay?bmtaYy5UtbDIr61hO__&xS>&LXoe-AVXMWiy0$?;_?_iKw@*8D`o%OG#n#OP_U zr+ecO-%bPWVlTI~q@)7JHyp)se2dYCWou@DWanyb?QdxND!Jkg4u8=~1x($+t@_H0JE$)RCMMk?; zbw-guw#4h*pLfXZ9^YBaM(}h+c^fj0*X947d7$mVSwxdBmPRD<$qua!eYO8INw1i! zUr$}(__XdyX>+okS`fZ+dc>c-B6&jb`^xTi@MR8H=bwZ_=9x?JwUJ;XGZrIfQ>9V! ziCOy>AO1d#8tD|&*S9A1PDm0*$YyzKWw~aV9#xZW^j`cI;jFph&E_!{_!L!*YF^X9 z+fSF)nhO)kH9QW!P})RJs;pG&RW5i_4u>)i=sg)Y?Xe$}oN8gwnW!Ee?L3+*9x4_z zsjU#&hGhr|R7|Po$7x1S#hK34ioUspU_Nr&{i$J9(zvd0>d7s{_G}<{-{$+##zU<| zS?#$fZA56q>x~qTIf~tV0!a#&&b2A42-%mwC=8%M2+&zuC8@uSwn!|_=A72UD+8w< z{*<0BP$uU$mJDQs6Kfut1(Db1ZZV0z$w{oswsln=(~p)Jj}ZR)^cACMN+6SHL!#YG z$Y(yBNe?mOWrt3Gf`(_vLUcMTxW znoJ}TR)!7P@66Fw8ZiSCJTlPkW4ZMWx+^5juBEpnhAXU^VC3g+%}JWVsi3cx}*bDZ8!Cx?* zarIf|K5fr9-bcADVQhnGfrM>pT+O<(hq3t#ytY!n093Izoqo&NOOYA^+)2;248ruf zUBJ2zT-8p$#18MwJ~gifkI=W;x>=QeYXXRxuctmtrf}i%aP<&KWPj=0JzU@Rg&kze z_)G%>HNH~O0^PnEr+?*pmKgXtpdK{qdF`odj8UIXls_vnjh%DUOZWV$KMHq_6>D;JWReR(F*+Vvf80D-FyEa*tTQ|nmymls zy9?bNDh>;1vVwq$w4P9a)JVkJM-?HCDK_!bImyZlRZ3LN-w&|64zE8j;j)Nrj~?jE zuWy8}!&qXwds%)TbxnLtrZo3=$^qvs&pzC1#}CABwq{xuD$_$1OpbDlR8=vus6n&t z#0yM-#;ju9T@x}Z3tzeHZ~hWg%^3J% zL-xJib$6E+s>dkGY3p;M!lVtc{H5r%2F%IG4n7;mugRcN?Y6bH0?^> zZ}?Ynp|y;#eX^$_o9TWNv-K->V+WS5Z|A5?ONUE)ZgtUeeQ3wY6P{7Q*$3kWy~}M( zQ>U(l%Ic-OD6?p5RN_Ky9mwV_{OBx-V%G#RO;JYN?iXQ@?78zd7F54yirt;Pr)cmITd z)xZ_I1PnJVt@uMNk32?D7P11UqzxY#pWz%n(Z608{xx=atLd)}f~JF_eD~zc)SF}J z#|T;TsCTrmm6Hy()GndoGMBYM)6R&ea*U+e4g^@Ut24NckQPVJFMr!a*>!@5tX%Gk;&$ zJZ5^YF|gD}!T_df<>$w|c$WaBrqGiZc0&FFlXU=AfZ=H(9$lGKlo(&cs1e!*(x3sXASO zN`Cxh#?K-1<(}Y#H5+Kgdm96TewmRbRkhPi&xeQ)gX$Ir%#R)&i5{oe=AVFU*$-vWdEh3hmD9FkpsoY6 ztj<8c% zb8nnyu?|;-|N0NO*U6T19#T>>Z$w#NZ367eju-O2*t3a2a!NtdX0CXNO|5vO#S9kW_b*zcO*$9QM6@XyjP$=!T!%BMck~1fmoC*?r)n@+E#4+Z9x{mpYtEpO3 zOV1AIReUwu8)iV2wP^{`m%4G`#%fjWt(8$`I^Av($6k>?+Qnfs8w~NKW!JiacbL*Huo)t%9cDV_*B2ORj0s1(kSyOw4m$ycM{f<@0mjiqg{y)a%P(9Mh97|p*NjV z(qqca3STw(6@pF!jYHlwzizp492diCzVutXHudk9rU<7 zjbCTSj8x21^$FW|1hQ$@I7oi;NV@hov0yEMW7KlS!lK5?<=cA$=(q2dCu1N4cHiiH zf)n3gcMgVm)_U5|L0Ov3AW_H%tAK>KsO0KdFV09dH?_1rrwJ(ZP~ zp$=1gvW=%DW6b!i*2<1@GwUOL>~oxlmUMVLUGSz4nR8k^U~RQI6erIMuFAT^U#ZpFi zB^gj94BQddd=gV>sy`o+OR+GbQrrvGNaWwPFgNS4jdh+XwSq)h$-zdeAkIC8 zI6T#;NhmXOm3e;Uj|9C;zK(>dO#u^DBC-L^3`Z2ycC5y!2;T5yykyM8P^KbJ)1bh` zle^t)wnnjj!1an|OM7N~TiL5qSG8l3w+i|MmStv~x+Bl>DwlwvbGMq(W}d)n%lEj= zmxPXy<4f_e;uL$&_t1EvlrrELIlqb)0b_eEiGO(Zr34s0TqpO*_@gipN3kWO(tPZe zIRXytKb4o4S5qERF!y(9Hh$4)zojz-`fZ{?;dYSnc$BWCug0n}M`VZti667Yq+mNV zkIT)nsCaotq$KCF(rq$zk*j!fy;i{ve{RO|aq$qGVQiyoO~#_xVj=rRmblotqqFY`dPnGZ? z#C~$YFHA__GD)XMUJ4~jOv-rkUUY&{z6-y~;xvVePph!Hxdl7JN9gW4q(D0HHZ{81 zLCFMQ8vZYj9ijw@=8i)L2>^JT2Ipi#v;#uZxqQ&oD_vYY{Sfzojo$Ii-7Tw843=K(j85dlu>@M3qqJ zD?M6V6mK>1q^NRvAZYI7>W1aqQ+`k>9KuSZWQ;WWMQpy*?ZTzQHU%ekp`glzi=SoW9(I2N5n#Rwvg_Ax#5DZ{WAwDsL?G-5BCY$8s z0Zax~Tfb*XRNz)6ETuszc?)?A=bcDx9kkj4zh=z0RqYc}n;Fa;EvwTqw~SoWdIg!m znkp#l*(jK-uCjs-@gyC zn}OcOT|EQ{2&N--HEIg^Xn-ac0B9C-Mf@2>H$A7>ZZSRIl%a5;xN2zx@8pOpCMgz*f70f&Bw{)Kzeo~Ly_*O;Z1_i1CxrWS>KX~87q4JynrhJ0QVzh?)& z%b(>}v%1V56r0(d;5r~`ZtC8sS{&(ZPVsrI$tQ&&Vs|WOMx z)6Ai`foK;!DBrl&;uDxcfyBpUVxHES;NdO5WAS6NY~-m}2LDsJZ%Mp4vT>IOg@Y6J zl^tKKvSc@^eJ-MKU;4{O_YS;HVBMa_dC0v5d$^bE_^Ra3n)VcWZwd)SO$7DOV!|FV z)0b(3xJO*W3|a86czaK!J|XRlL5aXK`fbfhPUm)?~RCGkC$(4Fi&!?ZUq|DQ8|&Q|JFSy81B%^hz-=rul<^^8N)s~ z)c)lEs_x3ep_*2j z)Uoel%aSk{W12CT<$d^_rOxlV&h=iu_j<4EedqaO=9-!NzQ60|`+dImbKkd9Sk7TZ z)QyW0F9@5j`2^6xSGlcZR{KubwX91Sj=!tHD4*?-j*zNrwq8EM#mPYQ!%-?Yp52JmrI%$V{t%6=$Zd zOcGSN*tr80MC%IuJup*6gJipc4DgBx5|2?-lsr0M&zS-lZBUm~q9 zl<{2ngqvv?FEE<{Y1S>N$E3QAp+6Pjj6IL0o*tDNL`!c`DT_G}qmz=)=Xy_N1IK&~ zVkdsu%>c{zc7(kCcOlE%_9s*d$XYqe+SOm8jKLc2bmpVia*%iW1DQQR;OKf~p}f0- z9@zqcpZK=V$5!!hM?Nk^*^MYmXL=}3QQN$eI-C8LGf%8^#%=6r8{V4xrBXFj|5r%# zRh_eUlix-T*83M%2K2Im>^cLA`vQ$NRm)$VhjbrWaW4E&b6Bl)pte}$I!(tvi6@SI zc50~N*4S%lKM4`AW*ekr{=LtbZ!R6@b*V3&P!|dlUKugl&B3=~GQpEk>7g#b5y3$YX2oGP7eDH&u$f_bx_! z-yh!hWLiqqXRlLjVL@Y+II$_`R35l1JM*=~SSfNL=|GoJf~)kBONjERt$m*YR$fC^ zW^+Yf@u|W{=AbL@VnhSUF|r)oapzAt(2Q-+q0ohSwsaWAn`+WxgfENM3r4QpMHL#c z6|CHlFtHV+^-hr?wIgn#AHwy%DA)$OiUB3*>HPy0TD_$+D zQd*jSO7sLj8T-aBzGOODB$9{+TiiFXDK}&`&qozgh=$gB%#%zqz6=m`C4A;>-Dnmp+&MQi^lZMRtuG zo90=1Ycz4bGIFl)g1fmve9Pu912pl;)uYjqf(jm0A=h7r7J|oK@rjR3*p${%7D6DB zAZAx0r^|H@`#`Y6jEil$W%SOxy4_Aq=;(Jd5|MKJ`WtOnxq^+cVLe+xSRhFWyh(A( z=A3HZ4?b9_tOMLPktF#D#7gC?Gao(&gn|{wY`$N4&zFZH4%vLVXdk&TKaOdr73%K< zzu>G7eh{}I6+BS3XzLA@oDuc5i}d`K@D6S32galIcev~;|WW`pso_jp^^orqN3tZNrvTf z(wJSI-59cl;95Y&tMMPpq~ML7Ly;GpghYeG?ddm}$#=##H6XG)oa7A9AZj2>b#NA| zOnwCHNDUQ5;nj70o%+dG1q06vgOQO&qvp-}4w+88is1z4bydsmBk-3kc4Q0vQMTu} zPOnW+3#_m8BNhwK2B8A-RR*S<#~S#;HkOw{`+geC5NRr^8+0zrn%MNGjOMQ+k{lNK#nXA>h|8BL@22f0=5i>T@tU@+ zwxiE_%E!=Uv{lF|Auigfbqrm1uX+lXbB=vAF}zY~=#-RiSi|X8UgPC-hEeU+v^!5H zuwBq6LV1kUCE$J!s5ZTkx@%j8H{w6btpAe89x;}|7ovXqwlrnS_bWI0(~;Ad47^T1 zhvAt{^zuMQ!d!v}{N&YP2}#Rs<65xl=6O(LB~{eSv0u%yyxg9#Gn;<-%8nRMxB{EQ z(LqYLhFNa!6NIY{c`w>8)G*xmb&G754Eyg5 z;*;3X6hW`2lPg>4m|UR|>b>Jr+bPQSJT!Hm`Xf_EpwIln z-t|zAiTkHkfAOeXy4UI?qqMI*^-|%xr41;;0i(nzZ>Cq-`+m+#b9Ly$yPEU1Di{rh zvs5#0s`JX!DCVwy+^s2)ikW2LgPbyrH6Sa}T9D zWK|xsoxC3U8YLv`w2sLa?`s^tRHyPfddmUdjg!OOahYZyZrN#Q(`b^F3kFd=lS(y#J*cQNO<;$kMkguFeIU>ZT`U(w0)nM7)- zX@!2LNb(eC(I#isCRd&`-?qS~ zx>~i06A1@$sSIqB$I_xI+&}|a-vs-pKZ97@udxiP#Bbt!zom(z#H_^fZMT9xhu}h$ zrCDDa+;5_6T{}94|D{R*HSVEUh3jZn0$DgU1g5_9`joYhkm5%Erc>5Z3+m8QEOaj( z?3=*^Bc9oFfijm3oF%g`mS}^36|yyFbI7>AL##w|m}KHgo^>Edq;#IXT}qej92(k+ zYO5Bk!KTvCoG}T2txw;KNw8!OJo3pN=Hm1&h_8e};Z^6Fw|6hgc`NbW_=Ew71?KL1 zswCE))xe75@`yadUidxl@i5xkM{%VVC$PrZY%zlc6?VB3pRYfCggd#j1S~D&VYTw9 zMP^yWQcz99mF0s%-fij)O7(-2K2zUv8(6ecq_;Xl=cHDcU;@K&uC|Lc0+})+scm3- z#oe?(nB~Yr6R`Lpc+1`=SF|4=SUxc6nM-M%FAPMQY(>oJ7vSo7E!38`#LKQ8XIJ5C zk)M8Z#pB71$Xm`jS-0fcW6q_Bcof@7*2OG->00hu9#8kbx0*fb9|W1NN_?jfwAv8b zMF^X+MS=-gHD)%kjT0{8EnaJtW`oA41tlfef!4Ja_n@Rqx&7qfC4E_ev2?dmQTd@9 zcq6s1a3EuE14Z<7^2IMV5XvI_tF&_D~ZMZvEdMj}jg&2e1Cv}YARKLsti+Malqu$$zJHNoa?~n6k zT+0ddDkvX*`t@dz!Bv4@OGU%Vp?4kP5}_rx##F1jJ!;%Q@c=Dnr4y})(Bl(F6@nQQn|Z4<&KsJ4JG~BgN1NsNuR$P zHveXl717+xPcU<39oUxfAwMpqzAA0zXnPLkdeWeN&*$WDXxLVb>kM6`)_hqGn?S93 zV?3xaf%MRXAax1QpNH9M!sXHLDVcLrS+9xa<8|-7J?!dj}R36bSZ}{v!tLl znJBhCJ9B_|XR*a?hKf(MPlF0xllKmpLN**mtcaz$+&2g^S&@6F))TpIhPVkTjUA6P zZM6NG;>rgmEQQzp)>L>+42HR5EFjPq98Ue#nuyol7>`i}>2V0_$kxzNy{}A5BB*zR z^NqS;)a^tCVpS*?{h~2D?}@khtn+U|KaOgqYwIIlZD}>#R#%hIa$x@CjX7kW>rWNK zH+NfDAP!$M&N`c8X)SNJnNQ#@VZSh*KbB$~vw-|M@YE@OR0A95HxaKOeNDRW5mLjl zgh{`*VJ22q&s#J5BI{gyiRR6m^=3Ru&^10^BPq~<^>z-kZ@$U#iH_}3;}^*bhg2Ii z-agm=lGZhM;Q~=L1Xhu)to*ccwhsBecVp=Y$lO>!9@AT6c*=C{=M8K4>*4K(^bQUk z%9rDETwDF8DJ{e0mu&09^ZST1AES~x*gxw}0n3TPs$)z0Ten(Kg2UeNjq0b&J!>0+ z8#lX8!zZVkjR|eUFU2}?gN+x1DU?n9$kh>uO&d-Vy2^vHixpIg*PVG2^f?>U+FIE$ zRE+IDoQgt>^Y^NL>e>)#eN(Bw9n|K!;#Xoa5X@mE+1A{z15O!}gEWRNKJ6t6%VuyY zmWI`?1m#2NGq{nek#DmgvKyN5(Rf(Wzs@4U0~XpD z?0KGW(k!@P;~sP+6ZMGT6^Pr=f>QJ0QnWslhL8rS5D{fZn2kGDew$XQ1nV_*Yi6!) zPj|vY6=>V47R}oeBMejOT_J5GwWfI*IIlkL?be8~Zl=Hll;B+*h`%>d>yIKGC^M0A zxD>#oPfsH>_(XH0*j$(4^6+A>2Ej=tqN;h`8XQfqs}qGmt4KQ9(6tXpP6T6yf4bjT zO;m&2ajjN`U$ZgfJ-YjzCk78MtjlFG2yH3U^9+9h=0vc&P?m^@;{2PLDhMrJ{$VU# zwtPfh>0othUXLp4KDJmk8Xgq3ceG>BB=+zoHQ| zb7(O22KJ+N`&7Juc61Oa3xJ<}fX?2=0^Ss?XDco_edaUYIVFAoln+xW7BFQsauob% zlmdMR9ZipQSbk9gFr%SiC0(e6=kt~`hwtiWzJS`m999qcls*$!*-m9fgP zI4J<#Uym#W!%v0H70OGVjgMAvMMO!9hW||atjRo2>qM%HojjGiiWWqL^D?Mtofy){ zjU7w`h`Qsw6BTAryh%PseAtg>0#4s^sCvVW+V>LsYpQGSCAwcVDHVQLH0#T;_*1~p zJFU*X1&lA}!)-Q$>Vwt$VmpCv8nnRT&7n-X2bGSbH_T0lI=zg~;TmSHlBRpns=V(%EYqW&LE?Zlm9*S72s;Yl8p;9G~oS1d! zrZ2ECGjm!2L*tMT`#M_J?7UEs!}oiy&+VG(FB-G`{8wxMl=b_7yl%R{k31yLsDxLZ z10OlLGG}K&KaC%&!VDF-F@J4C5mDkN7_H3v3`Wr*`pfzlELDVQ^^$MGfYvUy$!`>A zCGrJ9b5GMu2`;3LmQ&M9d2h;$@y!2{5}}%A+vD+vMt7BQscA<#`@w$V&IZN5&?Bs; zM#_u&Z|PL$GQwr(f^e?ldHTqr8n5QeHQKG4uX_16CE#<$ub&kzpM}pMXoa~~UrVp& zCu!1y7xh%+OG&M$nbeb+Hf#pRYd(*O92mbJx*)nc&>!4Y$N+|fwf;^UzncZ{2Q8T$ zV$zO$XJmhgrQ#&e@R8*|HN*;PKZm|d@oq|?PhGO`H_aHKo<-ZI>M%jF1N|{M!ioPCDGh(u}#~L!NbIz9dqSZx#L*9eTBZo z{%%YE(h$X9M?dx2`oG?8I_2Og^@rYeSd28^3Hs+`{z0+j|F;@;o3ow%s8{-1&s!CZ zM)Rgl-)&Ib6NO9)wFTD7Uo}MQ=k?dYn!o%VS!=^uhX-9u7 ztfg!~!@K7H&~Tm@m2k?=?Tv_!3sbpk(B_$xl7`{(@RuH@6$iOR`;qZq&{`OaD{k@Y}9ReCQmwX4X{|6eDAJKmD&QwO>qGvn;b;QSioMH9)6`ex_ z(}szT0E~-cYr9zQ+amzkFjQ2^ncnPOzw8|-s5E6<>_UF5e`fE5xo*Qv?KEdA%nC&3 z++y`c*XAkjgt`7)ic?089_5-i_3Y;$>9Q0c4cY+nQPJ`T4Uz>Xq*A zMW*F|+>u$+|0BryCsO~LVN?7uoG8x#y}2GBz3Z136+OJ3X~vQAFUWrx9zpS??u7vc zd&bqaL^>tHx}w5=dJGN)X{T^Jb;k{s@m|nzw;2RazR0>|U9CS~oZH249m_^Z5 zS=)>m+r<`4zaDBN5MtKzeR1D-5_Zt@TmMVq-pz6o;GEc0?`NdG%l2)UA*!+5!+{TW zP2s`^##x0I_yNMK!h z6n;oGMx=LSw)Q`OtYDk$lpi878*iEpOH_i&vBO3u|HOcQeOL#Qt2y65^B+h!q2<8+ z(_!s-ACrqQf9t4S;stLKcF+>YM!)YVQsrJXz&*CE-e;`vAU6R zdE&t?(yhB%u?+J77s9<9YpYx)wsVc5#DI|5ulynL-#V+|Ghs_Fp6)sNHx5taM`-K+ zV*B-nv;?rF`RiKZ&SlX$PCqz5Kvfp&EQh$j650e26_VGj`ET5zd-Cv)b}wuNt6>2B zC=jy*dj6d|mBRo*%~yIQ|4tABAV}20^^a8k4*}1c00eO#&`th3L29fA#s7Czy~gxg X&HYWFoy58acp2#aa Date: Thu, 5 Jul 2018 18:13:55 +0200 Subject: [PATCH 2/6] minor image renaming --- ...plmentation.png => after-orm-implementation.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename 21/images/{after-orm-implmentation.png => after-orm-implementation.png} (100%) diff --git a/21/images/after-orm-implmentation.png b/21/images/after-orm-implementation.png similarity index 100% rename from 21/images/after-orm-implmentation.png rename to 21/images/after-orm-implementation.png From 993ceca9e95e9ac4d0d0ec5fff1189da43960c1f Mon Sep 17 00:00:00 2001 From: Manan Patel Date: Thu, 5 Jul 2018 18:15:59 +0200 Subject: [PATCH 3/6] minor image renamin --- 21/README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/21/README.md b/21/README.md index d439af2..1bc9734 100644 --- a/21/README.md +++ b/21/README.md @@ -37,16 +37,20 @@ This implementation SHOULD also include tests and code coverage of atleast 95%. # Architecture -### Current Architecture + +## Current Architecture + ![Image of Current Python driver implementation](./images/before-orm-implementation.png) -### Architecture After ORM Implementation +## Architecture After ORM Implementation + ![Image of ORM Python driver implementation](./images/after-orm-implementation.png) # References * [CRUD vs CRAB](https://blog.bigchaindb.com/crab-create-retrieve-append-burn-b9f6d111f460) * [BigchainDB's official python driver](https://github.com/bigchaindb/bigchaindb-driver) +* [BigchainDB's official python driver documentation](https://docs.bigchaindb.com/projects/py-driver/en/latest/index.html) * [BigchainDB's official javascript driver](https://github.com/bigchaindb/js-bigchaindb-driver) * [ORM implementation of javascript driver](https://github.com/bigchaindb/js-driver-orm) * [CRAB tutorial showing javascript ORM driver usage](https://github.com/bigchaindb/tutorial-crab) From f6a47f10cd92d6998688a94bfbd0578d767826f8 Mon Sep 17 00:00:00 2001 From: Manan Patel Date: Fri, 13 Jul 2018 11:41:23 +0200 Subject: [PATCH 4/6] updated BEP as per reviews --- {21 => 11}/README.md | 38 ++++++++++++++++-- .../images/after-orm-implementation.png | Bin .../images/before-orm-implementation.png | Bin 3 files changed, 35 insertions(+), 3 deletions(-) rename {21 => 11}/README.md (77%) rename {21 => 11}/images/after-orm-implementation.png (100%) rename {21 => 11}/images/before-orm-implementation.png (100%) diff --git a/21/README.md b/11/README.md similarity index 77% rename from 21/README.md rename to 11/README.md index 1bc9734..feae762 100644 --- a/21/README.md +++ b/11/README.md @@ -1,6 +1,6 @@ ``` -shortname: 21/PYTHON-ORM-DRIVER -name: Orm implementation for official bigchaindb python driver +shortname: 11/PYTHON-ORM-DRIVER +name: ORM Implementation For Official BigchainDB Python Driver type: Standard status: raw editor: Manan Patel @@ -24,14 +24,46 @@ The need for this implementation is driven by following rationale - # Specification -This Orm should be implemented on top of python driver - [https://github.com/bigchaindb/bigchaindb-driver](https://github.com/bigchaindb/bigchaindb-driver). +This ORM implmentation is inspired from the ORM implementation of [bigchaindb javascript driver](https://github.com/bigchaindb/js-driver-orm).This ORM SHOULD be implemented on top of python driver - [https://github.com/bigchaindb/bigchaindb-driver](https://github.com/bigchaindb/bigchaindb-driver). This implementation SHOULD include following **CRAB** operations - 1. **C**reate - performs CREATE transaction with asset payload into bigchainDB. + +``` +/** +* creates the asset in bigchaindb +* @param {object} inputs - object containing keypairs and data for the asset +*/ +def create(inputs) +``` 2. **R**etrieve - queries or fetches asset from bigchainDB. + +``` +/** +* retrieves the asset for a given input query +* @param {object} input - query to retrieve asset +*/ +def retrieve(input) +``` + 3. **A**ppend - performs TRANSFER transaction with asset payload to a given public address in bigchainDB. +``` + /** +* appends (i.e. transfer transaction) the asset in bigchaindb +* @param {object} inputs - object incl. public key of new owner and private key for current owner +*/ +def append(inputs) +``` 4. **B**urn - performs TRANSFER transaction with asset payload to a vanity address (in our case *BurnBurnBurnBurnBurnBurnBurnBurnBurnBurnBurn* - 11 times Burn) +``` +/** +* burns the asset to unretrievable address +* @param {object} inputs - object containing details of burn address (i.e. public key) +*/ +def burn(inputs) +``` + This implementation SHOULD also include tests and code coverage of atleast 95%. diff --git a/21/images/after-orm-implementation.png b/11/images/after-orm-implementation.png similarity index 100% rename from 21/images/after-orm-implementation.png rename to 11/images/after-orm-implementation.png diff --git a/21/images/before-orm-implementation.png b/11/images/before-orm-implementation.png similarity index 100% rename from 21/images/before-orm-implementation.png rename to 11/images/before-orm-implementation.png From aeec991356407ca24861a45c76884af3cb3f3579 Mon Sep 17 00:00:00 2001 From: Manan Patel Date: Fri, 13 Jul 2018 11:43:41 +0200 Subject: [PATCH 5/6] updated BEP as per reviews --- 11/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/11/README.md b/11/README.md index feae762..456dd3e 100644 --- a/11/README.md +++ b/11/README.md @@ -32,7 +32,7 @@ This implementation SHOULD include following **CRAB** operations - ``` /** * creates the asset in bigchaindb -* @param {object} inputs - object containing keypairs and data for the asset +* @param {dict} inputs - dictionary containing keypairs and data for the asset */ def create(inputs) ``` @@ -41,7 +41,7 @@ def create(inputs) ``` /** * retrieves the asset for a given input query -* @param {object} input - query to retrieve asset +* @param {dict} input - query to retrieve asset */ def retrieve(input) ``` @@ -50,7 +50,7 @@ def retrieve(input) ``` /** * appends (i.e. transfer transaction) the asset in bigchaindb -* @param {object} inputs - object incl. public key of new owner and private key for current owner +* @param {dict} inputs - dictionary incl. public key of new owner and private key for current owner */ def append(inputs) ``` @@ -59,7 +59,7 @@ def append(inputs) ``` /** * burns the asset to unretrievable address -* @param {object} inputs - object containing details of burn address (i.e. public key) +* @param {dict} inputs - dictionary containing details of burn address (i.e. public key) */ def burn(inputs) ``` From f6a7038c8b6f94c4b128e9fb68ed88e5c945e05e Mon Sep 17 00:00:00 2001 From: innoprenuer Date: Tue, 17 Jul 2018 17:59:56 +0200 Subject: [PATCH 6/6] updates comments and code blocks with python doc strings --- 11/README.md | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/11/README.md b/11/README.md index 456dd3e..c21dc00 100644 --- a/11/README.md +++ b/11/README.md @@ -29,39 +29,40 @@ This implementation SHOULD include following **CRAB** operations - 1. **C**reate - performs CREATE transaction with asset payload into bigchainDB. -``` -/** -* creates the asset in bigchaindb -* @param {dict} inputs - dictionary containing keypairs and data for the asset -*/ -def create(inputs) +```python +def create(inputs): +""" +creates the asset in bigchaindb +@param {dict} inputs - dictionary containing keypairs and data for the asset +""" ``` 2. **R**etrieve - queries or fetches asset from bigchainDB. -``` -/** -* retrieves the asset for a given input query -* @param {dict} input - query to retrieve asset -*/ -def retrieve(input) +```python +def retrieve(input): +""" +retrieves the asset for a given input query +@param {dict} input - query to retrieve asset +""" ``` 3. **A**ppend - performs TRANSFER transaction with asset payload to a given public address in bigchainDB. -``` - /** -* appends (i.e. transfer transaction) the asset in bigchaindb -* @param {dict} inputs - dictionary incl. public key of new owner and private key for current owner -*/ -def append(inputs) + +```python +def append(inputs): +""" +appends (i.e. transfer transaction) the asset in bigchaindb +@param {dict} inputs - dictionary incl. public key of new owner and private key for current owner +""" ``` 4. **B**urn - performs TRANSFER transaction with asset payload to a vanity address (in our case *BurnBurnBurnBurnBurnBurnBurnBurnBurnBurnBurn* - 11 times Burn) -``` -/** -* burns the asset to unretrievable address -* @param {dict} inputs - dictionary containing details of burn address (i.e. public key) -*/ -def burn(inputs) +```python +def burn(inputs): +""" +burns the asset to unretrievable address +@param {dict} inputs - dictionary containing details of burn address (i.e. public key) +""" ``` This implementation SHOULD also include tests and code coverage of atleast 95%. @@ -89,4 +90,4 @@ This implementation SHOULD also include tests and code coverage of atleast 95%. # Copyright Waiver -_To the extent possible under law, the person who associated CC0 with this work has waived all copyright and related or neighboring rights to this work._ \ No newline at end of file +_To the extent possible under law, the person who associated CC0 with this work has waived all copyright and related or neighboring rights to this work._