From b57f0c2791ef63a66a1138b2e7d5ab0618f0e5e7 Mon Sep 17 00:00:00 2001 From: W1y1r <2730956796@qq.com> Date: Sun, 28 Sep 2025 15:33:38 +0800 Subject: [PATCH] Supplemental installation package SHA512 verification --- src/.vuepress/public/img/sha512-02.png | Bin 0 -> 59536 bytes src/.vuepress/public/img/sha512-03.png | Bin 0 -> 63822 bytes src/.vuepress/public/img/sha512-04.png | Bin 0 -> 63764 bytes src/.vuepress/public/img/sha512-05.png | Bin 0 -> 62371 bytes src/.vuepress/public/img/sha512-06.png | Bin 0 -> 61731 bytes src/.vuepress/public/img/sha512-07.png | Bin 0 -> 58727 bytes src/.vuepress/public/img/sha512-08.png | Bin 0 -> 61432 bytes .../AINode_Deployment_apache.md | 32 +++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 32 ++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 46 ++++++++++++++--- .../Stand-Alone-Deployment_timecho.md | 2 +- .../Release-history_timecho.md | 38 +++++++------- .../AINode_Deployment_apache.md | 32 +++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 32 ++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 41 +++++++++++++-- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 37 ++++++++++++-- .../Release-history_timecho.md | 38 +++++++------- .../AINode_Deployment_apache.md | 29 +++++++++++ .../AINode_Deployment_timecho.md | 30 +++++++++++ .../Cluster-Deployment_apache.md | 32 ++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 42 +++++++++++++-- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 30 +++++++++++ .../Release-history_timecho.md | 35 ++++++------- .../AINode_Deployment_apache.md | 29 +++++++++++ .../AINode_Deployment_timecho.md | 30 +++++++++++ .../Cluster-Deployment_apache.md | 34 +++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 48 +++++++++++++++--- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 31 +++++++++++ .../Release-history_timecho.md | 35 ++++++------- .../AINode_Deployment_apache.md | 32 +++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 32 ++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 47 ++++++++++++++--- .../Stand-Alone-Deployment_timecho.md | 2 +- .../Release-history_timecho.md | 38 +++++++------- .../AINode_Deployment_apache.md | 32 +++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 32 ++++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 41 +++++++++++++-- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 29 +++++++++++ .../Release-history_timecho.md | 37 +++++++------- .../AINode_Deployment_apache.md | 31 ++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 30 +++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 42 ++++++++++++--- .../Stand-Alone-Deployment_timecho.md | 2 +- .../Release-history_timecho.md | 37 +++++++------- .../AINode_Deployment_apache.md | 31 ++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 30 +++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../IoTDB-Package_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 40 +++++++++++++-- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 29 +++++++++++ .../Release-history_timecho.md | 37 +++++++------- .../AINode_Deployment_apache.md | 29 +++++++++++ .../AINode_Deployment_timecho.md | 29 +++++++++++ .../Cluster-Deployment_apache.md | 30 +++++++++++ .../Cluster-Deployment_timecho.md | 4 +- .../Stand-Alone-Deployment_apache.md | 29 +++++++++++ .../Stand-Alone-Deployment_timecho.md | 4 +- .../workbench-deployment_timecho.md | 30 +++++++++++ .../Release-history_timecho.md | 34 ++++++------- .../AINode_Deployment_apache.md | 29 +++++++++++ .../AINode_Deployment_timecho.md | 29 +++++++++++ .../Cluster-Deployment_apache.md | 31 +++++++++++ .../Cluster-Deployment_timecho.md | 4 +- .../Stand-Alone-Deployment_apache.md | 31 +++++++++++ .../Stand-Alone-Deployment_timecho.md | 4 +- .../workbench-deployment_timecho.md | 30 +++++++++++ .../Release-history_timecho.md | 34 ++++++------- .../AINode_Deployment_apache.md | 31 ++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 30 +++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 44 +++++++++++++--- .../Stand-Alone-Deployment_timecho.md | 2 +- .../Release-history_timecho.md | 37 +++++++------- .../AINode_Deployment_apache.md | 32 +++++++++++- .../AINode_Deployment_timecho.md | 31 ++++++++++- .../Cluster-Deployment_apache.md | 29 +++++++++++ .../Cluster-Deployment_timecho.md | 2 +- .../Stand-Alone-Deployment_apache.md | 39 ++++++++++++-- .../Stand-Alone-Deployment_timecho.md | 2 +- .../workbench-deployment_timecho.md | 29 +++++++++++ .../Release-history_timecho.md | 37 +++++++------- 100 files changed, 2019 insertions(+), 320 deletions(-) create mode 100644 src/.vuepress/public/img/sha512-02.png create mode 100644 src/.vuepress/public/img/sha512-03.png create mode 100644 src/.vuepress/public/img/sha512-04.png create mode 100644 src/.vuepress/public/img/sha512-05.png create mode 100644 src/.vuepress/public/img/sha512-06.png create mode 100644 src/.vuepress/public/img/sha512-07.png create mode 100644 src/.vuepress/public/img/sha512-08.png diff --git a/src/.vuepress/public/img/sha512-02.png b/src/.vuepress/public/img/sha512-02.png new file mode 100644 index 0000000000000000000000000000000000000000..504e36105efabdd04e02167ad0d4078ae7e9302d GIT binary patch literal 59536 zcmb5V1ymf((lEUE;=8!RLJ|T5*WfO}U4lz+w*`VPun;^DAXw1g?(UETO^^ha;K4P> z^6hi)ec$(<|3By6Cv&D}dS|-2r>d*Es;g?FHPjUFaj0+r006#{qO2AGfQ3NT7lD|_ ztKTQ=BLD!W)LuqLLrF%4LBqrKmA#V<0H7G1nuevJZAd__+Wi=_7b?cTw2+x5ulbS##vJ%#yk8O>*qED5NYZWij3P;=F#nz z2(Rzq(fvy6c8=%vQpOp8;Y&Swn2rHm2wzYe*Yt2W6)myyAU?{o4*()bG@>``M3dp+ zXaGyzvy}rY!jLE10b6ft5%>4O{1^oK1DF6Dd7&I8%a4%PIF$WPp%jxapN4wPYblpn9)v}x^5`F#>9#XGv8@>|_K`MaQHejo#JF#tetA?nqo_121Xk8{RkXn0c(jxe@PjdP{T=hzlLXOy^8ln ztMAS>kV4DkDM9Mi#O5t@^l+cOQcU$+rc<=o%h_M6rMkgq)(K%O9w<=!)aX5R)c!92 zJ~8Biyf8rVil`7%`M$MOT+1W{{KOa zSM+OZ#_rn)u6MX~u#SO3FIL)C3uD%|6HVy~jZFNSB)k6fGj9Rh~<98s~xNmQMwRZU8h>#1|Te)qK2eKibxSnx`yay$OQvENtm-a`BOBk9t#cp_)y{x*jZ?4z5H&tix^9* z;KUHAW2)GY1aq1&1{&GOr-@XB_>_{b68UArjUk**0XPwsAB3KQ*JUi9V$B0cr3W=A zy?|w*K@sDUX?fHd%;$i;sK^h#ljIZ_Z_OVY5DUPz`}xudZu{4ciG;wWD7O86$7C%e zRUrv|amO~-WQ+L9t8>RsaXwgUus)?tc^(sK`5{cBwgf!|)QG7Y!YZZvVNa92#AjM8 z1)V?kCUz*F#g28J<{*aj!YMQTGs5= z8Fe&28tXRe;_6K5Tz>*RFg?6li#&dKJoaGTJRHIQLi`hdlk)W0Z~oKGQ`?^bn+l{) zarAJcaO`p9a2jz0NlaPSN$^QKNuI~}#YB--KPAx6AQ8g}?<;otK$B-&gvV-;8k>^- z;?s+W7sDySDe@_#sm`fPsl2IQQYYAybu?HbSyfVXQY%@Rb^LX@MyIl5a{IIE{nYNW zs-9bwdFn3dww7U(;g>CynN62Cm^!dHEX=&0&M7IFQJs;Q)-OBK?=BM;)wi!YGrn95 zYh~UNpAO+y;g{yuv!|JDspKvzE!r($nOrRJlk+rCmiuDDX6X2F7NZj49Me=TpdRq? zQtm)s$A&fg{R{S@CQSt|KCjo_1Hw^W!d^q(ab8Sbp5D}6xjWzsJAZ6{kqe^>`SZpL z^1bbyxm^i928v0%WIP}02I^Q!DoS}u7ak{`*Y<@D1ALza%6R>qR0Mo@O)ZQqUaz1# zO7kjl|FHF#BN1riRpnt9?6ktn{E>MwdYR!p-aqP@HJq!@T|Jj&ttL3ZRn2?UtWgWB z8ELeugYudM2mQJ`I9u2bZf>YoX%w~mJ@R7e^91W$+2CGwV=4ba+u}_Z{*R%BSCy*u zV=rIwzN|V3S`ZhBS(0v7^{Mn(`9=FH;_~8BhTw+4ogjeL-~L5|xe@rFjcI7A-@S6< z`S66=rP{6(k1K~VYq{GAfQ0%3!gKvhA5p|InwMFipcK6_1L z2O1%C!a#($Fj%X30sN}`u7s-)+c&3y`&ULP*p+9R=KBSbTL{FDYNAkTkGM=aGVw8wj zX)<>7+d5SX&0sKNFkEY}oQnbHb=PR2N56x=|CX9KwA1w6phI&pckR7q&WXLv&(Ci& za5C;j7YvIHGwV&Q18g7aa5`f;%lH+TZ3ERF9B%ex96#`%I2z6ERgS$BX&JXQx$s}V zNxA6WG}uR#xBcB`R{k!gW-`%q6cqYLe3=w^$J^U(jEI=TbbCqQA zS;MnuEO$l&9BserXC{gy)SZ;Rf32Mf+DABlcfNBLTUct+CubwEB`5r4&{E*e>}}gS zPT2nLpiR^ArH8qodo#4Tkncl-Ujib>IiTy^<5cgofE2-BGvC|&j=qbJcU9dV-tH6H z(LEJC-efp3UxDPx#F0jlK8~u5;w6xfAo44`C!go!Pu)w6NL?wr)=l1<+-stWdjH-i zZobmnExW~KXJ@^@H^Gn2u}ZL7V*0~Z4JZu_IeqYj<6^ZK^PPG_PGNS1gpHfSk^Sf0 zF!>Vha`!@(Ql+mn-xmFbj#M1qcz)TfC$lXd-_2r^sD2%^kFg%nflEwY&lzt@WK7kS z1@-&jZMa{+Hl=^q9MRxye9`TH|Ng3x?cn_K&74V9Zu^?o#;EH2Snr zCD)H4zeK2xgcj|)_My#1o>JQp9L-fzVUER{OeF7bbkWI+fZB zZzklWilM&`h0X=T5!b@$S6O!* zKO-*Ryic3uoWS=ZTncR5nOSx0-9K5olORPb-VR-lm3A*aw22Xk@m%X&`>dNx1vFmi z(mP2s#A7Ci-=|-?zphw)JO6QSqG95|EWfLR!t6KcRpWW)r{;G@h!uMELRA%@f%L2n zTZlAfRwAIMofR;`4bV75l{DsCQdg(syC>w5Ta`HRnh>+O1Tf@D!bAY0$^adeONMN?$h)?chmDPkr=6=; zl~xuf@&UG+qM;`MK=$~rf}*7L=os1moV|{Lmw~E^u$8MbhlRDPr40wv+3l}>0HRP~ zWYyWm%Yp&w?BwDp3>9PiM+;$O{jbNIj12#1;^ipDXrQXWAmi#`!yv%H#lgiWj>Evf zAnIZLN?1!){$Jq8Ut)}QUS4j(oSeSCz8t>19IhU=oZQc!Kj-A);pE|AN48-1^mFmD zfU>)IGX1lY|LI58#?#8f-p$M2)rH}&el09ry}iU38UGsSe~*8Drw!Ep|3-50{1;kC z1UdhD!^zFT#reN|BSA&~dMd1854CYJl(lz8(hNC`()k}xk%Sh<5#{{f zNfXC;8(DCLoJSgaS#=%c9m!??I9!m|r^xcx9a$WA-ZpF30sxW#C0QvQD9W#FjC5Vy zg~*jW-8Sl7kcNh2Vf!OYlwFXNCaC@XV1huW5G*T6WuHhQ3rb8pOw6IAdJKCABs&}v z4;asQjxpL(-?hK-%Q)a5VDR$&b{zawk~61*+_0jKPHasg0Q>Ksk2p}lBnV>tsM^Ly zlBj?8Tzv$Zs%Z7U`?j$13AXTep^*J2+5t7L)%i>YBa{FBS4ujevfedoCp_5Y%>_FN ziAw+N@03Kv&IUw0z?Nm4=>LEy15zPBW-F`^JL{LM3TKpII7%UzbH zw||5Y+>Y$WrH77JtgPH1^!b>~AFv5>-ZB7U2x5<;8s|R%0}-P5-wmU|KPvt0X;Wl? z5Pvw%O$>-~X8N1-KsF170%c_dTz!Ar=`#*2PjFlVX{>cu;yiHUUF5pmz}O*wA61lY?8%K4SDlW;KbU+X zIux7->}vJzjDMTUP>7B*0TIF7nkUkK0HX*+(nPMQlZKR*NmG*>yV~0c{0GvID4B)6 zb3)Hdm-FcFQzR6oij;@GL;9xpKOo8aBgr)hHBnKeKag;2Bt;%zOA=1Be}L0~5<|Yd z^}?5_DQ+TCQsV81KN|8;;xVvfIC$X;=$_?{xntbo&EH=F6&b`)@h<4;Avw%{KuvTN zhWw1kn*_^}2lPcbC#pX{_4)~NF%zWD`2%(iMOQ~oUf2<%z@PB*Yht+Ftg+0!!XOYa z@h9r%QDVzq3eWg{aP|)rUI-QnDPjRB>U?4du^P9iKVUN=ETrT`7vz3_@dr|L{34{U zTmPA;;vev4bhxDKw~?l_f&wdwJqh=7@|Sp&;I|>aK`Gdv%e<*2Vl*yzZP^x*4 z((1LFe8*?gba#IxVG;c1=ci<)FYn?WXCTIN>NN=H#i=fBAEn?hF)}`K%`w)he`WLB zd#@ojmy11*k6o&X$?x=M@*^dpR=2e<%5Vf9PvA|1)<+-R-p+5u6RB^R)qi`w%x}Zo z03MO&Rd%_7oj91wF3r9S6)WZ$r%XiPk_X0T7`J*TRvM*lE=p|M^bOd1oUC`x)hSt& zQ+uK~D!4d5d|lBSnXME#X!G10b*X0iW;@D%UOV{YX7I^QQlWQ1?EUI(l1Ux9{R1|LY+(KidY(RXD(K4L8%!d4oyXz*NU%I2}>fn9vZ z1k99+nRgM|e=QUkV$(CZUTXDBcxH5-Nh1XP{!!}9*^OlL+b625S4#oSR0%rCWsIy!a{Hc^K?>dg8$a_oJYON7A@`B$nC>BV(uIvj>2Z&>#p+5H~=cqj|U4ck9>h zI)@qIcJVBQX-4q{em%#n z)DF7GY^t&di~(AjoCS-?-me{BD@cUlYH?Mp)W`*W<@T(MXR zX8ir*`bU~5lyt=+K8FIo-5(IQ^a=Zww6NVO=tJjCEb88U+A@@gPK=5@Q@}ZOb5C;z z!4%NyaW%43q@2D0aj_YD|6|ef`dG941(Ol|^kg?ub2TSOsRW-!bL_pLfLINyC*8jf zH{hQ#D00r+N|p$wBetXt-f70kNALNfVfKv#US>6{+IpCWI2qS1U#?zDI8%zy08 zs=`jdL#Z&Vze$D!`jhJGQP&chW{hin42Q@nCr*`h~XT0eA ztXzH!vwdcUh^jDYmXZ-cyhI+hfKce$g zzx-tw`*90toWyZs+{_rRCdCBR;tae3>YR`+hEJXXEeH}cJ8q+ind8XsAfyR;6~^U^ zY1`0n^9Z*s&utEYQku{ELeeoP(63fm90u3r*y;xYE>aW+eD+_{6Mq6Tok?S_VuejJ z`AThv0Qs`U<*2=TwTB0f18=;jX8pqsX7+>VmNBdf;Ny>>H+^S;;g{qdfd$zt{6&K` z7FMw!yCvKtdP}P{X^hybXIo4-TWmL{b7uM@%YnC*Uk=QmyGEWU6Mca|=AgZ4`&%j} zN%%_h5vw2#n`Q?bjFKe4&m7QuyjUu)rxz=Q0~v*`|JB> z*d5*dhP8VF_dXr`jT~Rab+TD-+EV*fMkCIKa9Z(=WFY|dImu=J*5i(P4Px@rSP0U zyA68~I1aj6@@@V!m&5+@RsAdTPTA#)LFISDIMMN!4O2A-Pt&U@c#$U0^uAg^O^A?~ znb>qv^OE6lNBa>+o})75X2vJrRlwC@+H+4b`=HxBs(JC;(e&r)dex?`E0MpK>g24l zSB5u-xh0e?97xBq6kdXCuv#~#^vnY7^u4kLj^hs&#H?paS+uuD+PtYZUh{PP3^?Dh zmflRr6;cI>OPI_zB+-+M9mC^rMh3>?RZ~N(}u~&hFAu1MaT7kDV}TA%P0k?R))=heRzmnf^dDKnh*W*%=hX2}CxWUza z>!I)yug#Ztw5C<-kpFDozRZ>kBSAn=Wnj|K)t@&}p1|niL=nH!2JjUFiFAucWXB-= zcP1w45@@o9|j{C z*&F-MPK4@mci?W7jO16pBqgP3kJX}pE~JaNNmhFe&u1aTRn7j5Sl09Bxw@0fJCG1b z(EZhlviz?wjkyNR>PjA~S0uA<-IB&q$mC?Xtv(YV zo{E2p%(S=FCEG!($%%z2{jOyF4R4{xq4D#=Y#fEBEBLol=ixI5K6@=k#Z3X!lUM5l zly&xJ0%tC*p4(jO*c2g5=t>kqkERgO@zI(VcLG)hiE0sTxU2}KiIbC!97sPkf0^@u zG4KI2V=j7nR201VE2De!QpAO~k7{VNZZoH~gZ^NC7S@3I?fhmmc>JCz_x1cl!^)fl zg9Q$~GNmKu9D~>PM3&pU>DK+J(<}`ej zi!4L~v-;%AO*i+RMZ4piDWMfHaFL6{ZM#xlB-Xshq8j3J_1mFFOz(B0*!PX&no8~R zGO&z=`RW)oy|e=_ZS#&gY+l^sXGz!GK_u=n3vv&&)wzgNz573G>3E%^o?Si~X5I9*3u=Z?;mRG~hrS z17`Dz5Soph;8;xxOalx}VxvZfvbCWz3UNi;u#TV48!9R4qX=kqQM|OCB~hO>*njhP z2+^E`FKTK|$(KY*>G06zey5kPcn`L%N<~Rjeb5DRf0hsb7gpPDK z_*NuC>|Ce4#^;aktW@i(Lfx@%NaaO9?;q|w-%_cMy*UdEbO&C!*95Hnrh7GtM=LD+ z?j-!yFP+ys<|Ot4%lLg+DB@M|BQ->Ty5y3e}F4k}c3 zJgdBKT5>_WYwaN@ z_$Nbp^CU1!i27+o21|@v9Z1oWe}e;5sptAV?1m_|sxMaXgt|R8g;jNH9xW?a zbV$HmjiVW#kV<{flv@u3aQvKAJq-cAQ2)-`zBzl6OSn_65sKQ32VFzkdEIW zj0!*_IEB8dB(8L8Ur&WEgbNFnwdfIwgm;;*XrujM9L5OT) z$lTSa;h7kE1vUGfOo_DG!Lz*|;--V5a7&8vL#=i_QkIv+DOoy9u;{n1zRS}WDW`II z68Evm>NOt|o>b<m(ys`~|C!4w+imAy2P`oDAc1v9+y z_eZmTpQdlSOe-?!g_Z!T(y_SeLdk{a!@aSRq!JZq{l>S)Z{-%;_+JC@JRN2#EUU5$ z18ZLv*sqG!(ltR#k_=sED}HsJCua2q&St^Bp;L^D>coP#SahYM0@o6XkGM6?Tu+) zK108%^Ts7%?S=I$m0Br_XvK1_(REu_ly9ck1q8*fyg?K9vpX*rl}O?9yu9IIJ5MFv=mMwRf) z8in1OmqglH8Z$|Qx7r)uNsdfp@Mi7?1jpj_G}lpW>69AxzIKhoquq3(YW^?Lj~gZkQM_S6O2a`#lp=z8e_J;y8T$fKmSu;Y~mR(36U20G!m;?P-@J9DV80l zyqSBz7&@^W{17-~MFxonzgXev>bZD#OgLd!$PvQb+i9b$jE^5j2qE>$g1px)(;0_} znzbAY^1}_B#XjFjUq|iSHJf6s+4c{Wua^!-nEIfSB9hcle}90yVvK=xTePtw<&4mx zESpi_hIU;dUnln3B20?Bh4cn)*xcU3Pln#iIb>eoqLActXYj4}CI}0F zSo&GQdPS(Mu)x%decifI&1Rz*ZY(9Q$q=WR(eG9d+9YAYu2&)ny&x=4dU?S&GeZ4o za}x8I;Y_lRLVGbqcQ#l-2(Ul>2F5P;>MpH*uRjJiPi0+1lo;NtEJu`%B}iLe2qvcF zJ21haj5R*=iqoKBx^T&@O9n#v46KRHxHWkszko@l_Y%25g(Nc8q1>R`qty7^Xy1_{ zPJ&E?B`St+4Q-O*u?tDvsfY_Hmw3f*t=N( zCOgs!;DaD6xX{tiD2^E3qcX;fln(ypFuturlf z62b`F7fULqGdqOx|T&=4;#dlOI|Ce`ByZ8j@GVNjviGdSNQY=#-rok(J9e#!L#wR<+mkt8 zw?~otl=Ml+>cUGD6~aacm-C&V8$YX$6R!3rt0D^3JfrYvg!-7Wx(6{>MC)FSJ(IBK z1HjT0_JFq7ve!|0DCow}aHfMVH~9KYV;|IFsn5}7UCjC5yJ3-BVXQ0niC!S6FM<2<}Jku^~Yc=^J7(;mihVuIrFBJ+`=b zEv{g3!y>RRsFRswBeG2QaL!dyj(5EFkP$~dw%AAtC71$ZbpgdH;V3e$X_#LN%i>;Y zKF0MHpI6f&=McFYB=-bk+H;}8Li;>a&$xY;EfZWx_9lXDO+)iA88M1fGw07mws>MO zuYO7W1Wi1BO2KJzPMz?(!EVZR$PMcPU0VaI>ut7(nA2=Q(0x?qIY;mGV8DO&9l4nP zl~kg;ChJ6X#{Fkr8!WV*`s#|@EdErPQ zMQ>T#&fvt?_pQI*b*loSwhy_BI6*|-C~%m=_T&ao;6%WH<@ULPC(ndqNwXLkM3>lf zpM6~0lOacdF)7!6Z?M`<LbL51&l#RHrUn?n9Ki`5lRlIEO1@^el*k*qz zpi4i{p@;y%Q44TkJHC;RhTWB~C7{RfgC#R#PbNVpgDIf`^*xV-u* zU|zL$p9Pk8b4GeuzjF16&=^OStr30A5>nQ}=OvsHirPxLdVH6wy}=C~5Md(zKoEPD zqwb?QC0s;RiR5GcEN`7CbjE_X8;KOhgK^e1Mf|JpG-LWt+uHTWj&iywX|-cj!h)}f>CtuKe-vx&-GfbE3*t|jY1 znALOv*Bjm4eZlp`7pf(uY_1-r7w5kw^CG|;uSzvTwXH+uAg7Ts4LCC!^zvY!46Xii zr2obLB^N#Y5<`4*U*t{^Uv?TQK6~V1yH_R_lLaC8##n5WV zK*4?}p*9`%cF_MejpwI|gT3zu@*;EOLxq}ARgCPJ*K#@ubFB|XiuxBwkOVV zdq<5H!e{->_M4OaH)T?gi$(}oLOom9Ih&{ZxGTs&ELgix5u)~&JXkKtu(aV?~$ zjjRN|7{(P1hfG3PoL>Q-#@wZ`|;W`^IjZl*m^Eqg8 zX#@MJS<}_MP^#zs<(uNiJ;Gs$t57o8aWK;mrK{6bJ;NwDo1WrA-E1MRTTJ54Tl0uu zS+$<|R9(+D8T4VHtLAIAJEjX+F{FDy_KwRVOurwqqM3`%sI+w^sj4@-_%UdWKJe}r zZvrJZ<+?z}P&S5DL*tgmu+hHq^>DNO$mEoKgZJ_qJJb^DA)6I^YUHZ0{d>O?AA%IS ztIy*m0etU24M6D=NFH;w^#?G(5G%nCl~a#|?MCin9V&PR&hhh=84l1zHy$*qgJpxT zn|i)u+S5$tDsHUu>B(fT!ude<-->6p+4+W~h2p&=2p#DmMxUbS1Fg0`X?M0!ZB!1F9F)%Mpj5iEFEl z?mmgWS*GqQ!N8=LRoEvvJSpq#@lGCj&wLR%F{q}1raKc2Qu(vME8R(fVDoLK@W*%k z#H4(*xgxMjaWni& zXwJ-#dGJ~hp#`O{Di23!rt zkcGG#wCm|^WYcr3(JyyxIQCSMiX?G-(b zV^n}jzy>-u-4Gj>`1|gjZ*GGN7hFN1yRNDM;R4#DY*PUxJ3gfrIoMdJD*%11?#|w+?#7D7Vg55rk;M?wE3KdXfw zxJZKJHcS|?S}E$4{)+JlkC!jK2cPYyUpZITmAli72M!-u2NpyGb4i;?{FWtWDt>*s+bn*|&5;Aj2Axtb zAM6PJ^!7Q$*1K-rgE8+tp>5X-O=FkUfM?A~Uk?jCE5pR^MwCI?_|F>!rM@`e!rXuh zpy@>4+jOdCA>3F-H#%n@oCmIFQn&TC3N1ISwTwyz+iRhONAAG#<(SQrZdsXVCOLWI zL4Qu!WP^+0+}hVSFaU+#v>lNm84(O!^4(n=(z*Zi z@%Y8%sCELezU&MikJ>iHzzbmd53jpM$J<1uZ=rmQ!zO;4?kfc*3zY6Y@4HqoRqa=Q zy{vHDAuOz~@yHj63v=sk4!b}J%;0o&$@pk&z6w&5f|34=ib_QM*uJ-NZ{F*>>znt8 zqOuNj6g{r~32h$VxJpu(S0o6G+C^?Vo0i82r1@iOW6InI*B^h`6wI#f!WnudTDkUH z!nA+5U2ctSyFLA!y$k6b+m)nHAi=clZ7#2`qWm<|vw1dwHDbsQYDvN<6)<-~2D_L$ zJdL4_){jIoI{r`3xiy)=5Kaww9vKw#Qs=c)l8IrfNvRT z0v7ZKHw!9XAI5C+nZrgdn_F-bHV6uWUzF_Qe3&Q_S#x3x!Ha_`@Div|D@BNJ` ztAQ~-Gv1K|Q0_WhL{v6OnGTh*0{|wY0HdxJ#UB6CQ>tPllZE_zoDluI%CvJsrNw{0 z;{x~OKI0=jFC+_6=l4b+#1S0d-ss=Q=pCB+hT0+(0$@mM!M1&vkU({ngwFKKxOGL= zUp={#K@S0?szuasQ{@K_$BWUS*3UF)1a%@U8O};7T1lP$0M793I<}wURjou#U2!p- z_9{jp5_7KaUjO#Ubo+j6)FjPUK&U|!hTJqpKrrWFUf|=O1jP)CV)-<`e$=ZcTFtWv zVY1!Hz$1GSXug`ekT$e_McXX$*gUl$M?h+%B*TGt>YK<+0aoh$Pqo2Qa|a8JTo$+N zL29)Wo^2Id1PTu#5y3zh==7L__{sQWZO1|t&BS;`-x`y{>$f^*6;?StfZ>;+Y2sSG z6<;S0yJFEQZl6t2=ZnW`WI1A>kB;An!e-?8;-lXd2LLBOA$XhYe&pB6;|Mtn#e93Y z>>t^@f)tzz$C0%7r$lyGc<(Bnhu?6!3VYkx47`ASh?ZP6|Y?H5lZ8SHEc0qqm%1CHFnk62ncXL5qTuMCt z^5gx@VB6)LXM*Fc_Gfs~MqFO%SzzT0P;cQvfpgr{jLJowye!d2w-|3))0I-~6^<3h zvhZ$%Fvb3T51ADvm;!|Is*B3-H>({v<5P2I)4aZ_Z!#~febIYb&v*O4gG zP0sD2^IE0_CO!RhzgHCE-@Em9wrH1A5QNe!f@^zoA2>?B*aYELKK*%S%5a9C?d;{CX%4~D4#sAxTjqjF4;@V-6p)}^~^ z&|uD-3m}s?Zj>&;|TfT<)e#vIDkO9WUmNPl1=x}LYq^L!3PrDYqt?hED^5sV;t623y+xsj1$}JMK$Yl@;#dOD;2vZP}ZnF9n zv9Qst*+1{my!A~!{v2bk^MKF1MyMqiEKHsAz~!GV5LjhTT=l6aQZR{%g)uzF`q&Ps zbdGnT$k{w>nBMn3!pCwUrNC%#_#q1tL$w0tQw{LD7I~Gfzo#qc%6O28j6byx2@e1_ zqFS7T2QBYl_DvMgwYW@g80B!%N6duxz zgV9J4nvi^0%A6g9Yg~GT>6Zk~7V{0AQuAFg|G9aU_EUoL@V5& z5#BM)qu;H`rt5Zvj0+-zZ5~IRMflXR<{?wL&8W);X^Copz<4iIX8tkk7dQvsguTm3 zxfPT=3BZ_H6Kwfb#E$q~om@Zv+8MSI9^Jr;QF@wR55@Ww({sJkFy~9xpDP}F*|b0J z@wuM?pou{xVW6;W?s6s;vWji7A9?|I1%TLNa?)neO_vn>!(ER%#!I!x z!dJR4%`OlyXpF=!CQ*L$k@R#c2SCjPl$?AdcLF+1ujy`a2P+-gU%@B51-i!VpdXVB z(BGZ>3Jj)Ad~+iT_g3bYZPR6-k&>hmc4`2}xzk81D_y)Btz7SWd=VK5k9Qj>(ivH7 z_U%UIs4DI^I<(xpx$;-UP=T>V?j!`Ps&@LF32adQA`z`x-h6n63|{d|z7Ea9fC>Ke zh+4J4PCgc|HY&;oOM*;#S&BmiwRj|d%1xvFl#Tq534#TmqjgAGz(a!uZVmdxMGYZ$ z21R;fpSPC4*r;^*z^M2XLatRw3g|hOXla6DOMo(ZUuQ2;n7X2*P_BE+sl%L+`HoyP z+@^{3;#o*f1G^}pmHFgq(pJX!)n77MZ#!Wry(*(9Bf_1=upEvHef2qAYTQxL@#Aqq zEqZNBE7kTYCFsnj%nd$5M6n^%BtMLUM;}iw!2&N^t7HcaC3>JSGRY3#3r{5MUOeUM ztAQE)V!A=Up>&p^cbThM0d3&yEW(=aVp1IojaviGpIi0?y|kjfgETZdE-ZG?cYI<8 zlV1$!hk+3gI-eOJHT+drYm;jKZ>w<t=Ot42fk3p zDRM&|+hpALUFh;80p4*aoW8yOKqlHz+bjvBbHyUYnIMOZwA3HK0QF@|AuVeFWRUMY;R(T^B-bgK(pfy26t8e{5AnHsM*3<=(W4wcIp z5)eNc9TUK9+_~l{FmC{+n0p*H@CZ&3I)cBmojYybuP>F&^(d?)p1aP(uP>btRjg~9 z0t=afIP1DL!%yvV<5Bh@kQ#3?#^~AIeV55j-XlRQLNag^mK~W zk`==Wb@($Bt0-g&N;Fj^I;zB8JYa0dlC%FmlfTY6EAN>p|Gp9)bzTV(i< zEgRju64QICWQ9)XiGmLa@Croos{EsbY<3HdDE^nSX3LC#7w;GQfZqsFtP>Em^rmfk zp$rjR8@JQnpyvs1J8-mS8xeQXcjZ;6__DArH(3t0F;bxvV0RiyOK9vTh^QDSXq_;$P7ZM`NVBoJzpu z!xPftFu=e>wK-(55j})R8d+g(gLP5;RtRZh#Ad@t5!~;33qoTYk6&PDQ|R>UBfWZ! z?=SP-fRk=s^9zx=mXC$r%~t6S0#~R7oOCy0f6G@~T?J9NPgm*AoU_2x8c3zL7yaHi z*DkT#6_~<1j=x5b3l2a@+=e?M5^>h~Exx?GH6 zjox|4lUl-H4n8^};LAIK zFpjS=kG=_mHm#zlbmMeg-O4}Y?(g6D`R=x>3=mgj1L%%Uu>yg1?b^d)U5!%md+sHguQD7lrg<=7cw`QJ=gmt_}f9Nwe5bQ{?GaD`0S5 z&j`vm6;!p%M_rW`?PJC!*2r7XTiNV4(GI;?wg+rg=DbM#oI%2pz7G#tDCJdA-YGe1!pEaE~lb*8`c&+WRddzA~$ZOiA(xA&S3Xd zYcerO!8^pS)lcN~VU@S1m@STn>_W+nFdGW_1pQ(yIe=?lxa*U7KL52)Ov#+XeqQ9P z0^02N^xK2p!eU#i(_$j0^D6Yx-8GpZ;7C^N+39$W8#DJNxoku~{K(_;zZGGETz<-z zY`FkI@Gdd7I=EJ_40We4(dcK2i^Q#W3hzh(F5wQ5Qv{+CA+XkGuBT^CCi+wl?}spv zbabi9&g3FXxnp7|kcgs^;re|rMvCBY%a%7G<=h!^V{UcbXEnP^In8xX+BHQZE*ZpP zl;4wIe4gXG+H&`EjMa?vJW9@{t^#q??wj@wpCfn8o&`b&BFT?$er$A~#1310t!dAn z9CxAAKO^1vv^#Lx!RxWbfx|_Wa-l=sGNoGf3LZuVI!V$wx12hidrt%X@=qcAm%ehx zom!Py%bijyI>z^dW9#f$y$|1uqAs4%{1qbg8ySNAzW(~#$4OoevE1CI>R@lx?+jnp z{(_x%j08rw2&zNp?D5|VxTSCBwNN~TVl(2gBadD~h5S4v!rIKGPYSn{a_eCNeGMjU)% z*Wz)g<_KqB{uCFlcfbT4-xVY?`o@s(^UbNo+m1Wszun@voku#NQ$NLXAndH$&u}9l zlHO6yRXvRtjF*C>{zPdXr-`~~o=k^o3#rdX{0Gj7y*PBqsqLI%&fPs0f1ZkJe-#Q% zxjcX_P1bve;Ws*#-pc>@T1pUIOm-_OA@@oyO|9!#19XzFnTH7fCGuCW3rz{z(L9#h z*R#k4L%yc{U|Jm98)w-LZn1B6w z{`?Kk+~5B3ycf!rhLf((|2!rRGRx*qAyF(XdC$=x4@leS?Wwb;zi#;m_?@*E@8z!< zT)-8x*-@Tf%fJ1zUH;pBhf{pL(%?^(w|F$_d6qhwb^#p5Bw+n?%0KF zO$bk939m5|&l_ojBSLZAq&xFl4Biv*nOd2%ec7D~S*lUwbVvhGaOI(4zh_Xkq~7e$ z_Z6FL%IG<}qR->OFxM@I+3+`zEe{;8xO2zhoHUt~>P`#_;Wi9XLXU4TE2@bs`y;Xm z(=C`$M)mToYg;&-{Q@1#+PCklNkL;C`DcQwq(Mev(CuwPsZzj=gD2G_g=Fn2FHFNu zaC&~H%8e69#cF^jg&OM^uzvV|@BVz%yEB!uPJ=M;JI)(reOf9HDtUQ^!}vMnT3gBy=8_<^jJ#3o#bC`d3WD-Et>_>?=e90|tNh7!Q(%PElbDEi}- zP|}&(@z)GGM=Fq=@5-Rbb-Wjd9Yl7B*`j#1;yRP`gO=thYz;FtnDr0utm4@POeOh>P8=bo0W&)m>>Yzy2(zPA0sY5T-6?_^)a|6B2*aT zg#hlGicE!G-@+}DKrRQ)8qS_rCPAirr|16768`z20#9g4Hy!{XNLaP?cl>U6VThDj zQJiP2Drvnu>vn<;N_H}?PHO@EoOtR;2fY^>vuJ_zo28Xe#tD#79eB=m3BZyL1O zGkEC@&n0enR(eexUOLaT2lxYJX!byLjkiHV@A^V(W3Bc@g8#KqW!D-1c%WOw+l)d& z108sShBLH15%u8&hR~z>XVb_`H0m&0ljw(Kz~(5J1WxL|I@7;wdYNB+kSFAZ@0dxm&m4aded81$3zekuvUs zRrA!?#Gm2h=00W?Wk7@U00JPc`r3O%w-2X>WEb)A1=mcV&cG&ZHXVc1C?BLP%f}~q zG0%-@yqn;9DnFa!od#|ppe-^?T){f_IJBD1us-pp z+wuEbp<$6ug9UzSH!WbzNFBlY&O{k;>Nq@k68Y=JX|0$WKSuf$A3G&ncGlU;K8iZ; zxTltz)b5CJ2Km0_4~RjOMD%Y8B6pRnha)+yzKOFdUHAL!lN&j=G&%8e3EbYChkoy_ z;@@$wRh(&UmkRDU8&<4fQqwH|&8cVwXi~oMLO|mYuCVFY;CQA>o)`V6Wvoq~|G0Pk zri&UQkc;;ue?z9}N?l>z8NK-LS)$i`=tU}q`5(vM%f>Rx1K$7sRc0M8VQ`j;Lza%4 zX5?+NLw}~AEkM5fy$O*ddv3?oHx#oW*snu|;o&N^K038)RPC7GBbBKO;Jl!v+#*8W zeh+8uV`l}&uAt2+b=1i7F|Yg>8ts6F43{`mV?xJyJPw z{sBXZnX3(be(2o>`U}I^dpnZyf+%l&`CUZy8X%^*WT7UCL4m8(&1jR<|`s_^qA9J z!IyH^e)(APi!J+%00$okdn7$@9J_epdxMmH)9ZG|iUF{j5uzgZab4mah0Ei!&Sz#Z zBW&w{Gwa}dVCZ;%)@{|mg<_%K)=l)F&-+;`TEWm0!s!S=!$b2NvxUXlzhN7~1B4c# z)4S1zL)h!M;V}yB!GpFp-DCL{82wZwnffQB^=l#>j7T@u#zQ{;KkORXQ%c+Eo(OQ4 z=O-TW3=0n1&u8l#p}yqEU_1@Q5dg=93jck;L>*K%Q;SleT7CD_jm`!8kTJIy#~0b9 zjic6k!4W>8!rP0Q247pu#Ev}sxZZ3S5sOuW>w@5W_wUnMBJf))^;D6-t?aZ-v6(|` z;;Rt%O84Gh4Jm%3$*YjP04}-f^N&YIANmqEizwG9N-{E{hKupm+p>`p!acQ{RMHSMT7L2TE;I4cyR-(G5$GcuGcr5Y$2QR`X?86T(uED zJiWu?x>ZE1TEIju`RQP{|0K)ito{cF;s=};H&#E^JhsD+D_@+C(tKYSwTga1+;jdD z|M4PUu5S9huRSF#31<(5tq0_dUDP>xZOZt(ZAX1?tSJ)BZoyw=svqC?S{S*2yhe*0 zMKqv{1GL&UXC+5*)>W01&p zdFv7b6p0f|k5B6EHk}mZ7xV9|Kc5wperGV*OF`ctOW`zr;&S3r=RV*14kCpqVC=9i z5l14MQ0bL8Rb-eYQZp6V4IuXVvi8qS6bB2$uR?y)T^slPDV%Cg-Qv^s5&^I(6Shiz z?#>lYzoLDYbkr>ZW~XHCW_+#;SX6(n>f+GQ43!LRi}BiOPmoYZ+u&0#>SHV^IQ7b+ zE$iop53%_V1y5&Wm&0&7N03vW#=RLtqg?%~-vSFmp!Yw9uz&1u8)hm+@Wu)N#HrXV zSbpwYiEVIWYK)(>4Tz`8Hu!MS#1qYuUw<8)Ql%3t=s9tIpT->I;56ib4M^dzWHTNG zZoXfsGHe9J365pu3)K0$$#V0&UTe?Ab+p|T=z4OEy^~~={qlVQ-vbeiEK??#=0Bg@ z3J0M|@mu?nj*`Em-8%I7hX2uzDuWC^fx5{8NP11G-O7RG;lwi^=sR{hu#nbOeRTuO z61rpRosR*70Xt3+U9jw4G1Hy8T(1a@ zcL1nfb2WXPFj$zb0>=V|TalTphZV*Fm?qPyd|r?zao+ghXvDJ*&(COnY)1RxW`1-= zf8#%GC`t)4JqujXoeWZbvK=u7gqN8-&MY1wG;02QS{Mn zeZ54Kd?T{^xz>vp{40l6NcMTeeL_ei8Z?|?8K$-0?()Cy1I3%q*TxKoY4vP5eeYr8 z{KtU_bc|9AX}JR1=nOiE;UrE7xISzUyT|*FN=GGfp_~#--V>`)?GgtMw%N1q;SZL* z`C2Fkqy{?o&wG@0*8*PApOHw>SQO2*QT4z+;PxS;#Wg=)p zo1%6v4cAKyE66;MJb`9ilFKAtctLb&xMs~$p)(p0xZ=slb9|c0eoG#w_tu~wpzrel zGS+?qH%zZT+L6V5eJdk&b9l836eyAJ1KGGf`yF~1Ay0@<)gy%#?r&)zTqfsE zO3+mn=YBz@CkP#IIOI?e@M#9V23Bds%dZ_;9AoXfYCTXiSc?w)=>*gaI3Mc^Z-qx; znw%@|pA4_2B{bSyy(`m~qbDZz9O<#vZM^{U5cti2%vkiL>hXNVd99d5x5usc9Suu_ zAvYOrMM#WMx`ySkPYz4PGxE|;A3`a){P9x5f{y!-UKM>5QBku1?F$uE+M!curZ+p7 zj4GF<$^*oNI{tHjS0x1NzmMe7{qb$uXsp|?$L9lnqK}~i4RNo9p@W{~3e$Vfi#Pq2 zYqQ}HOM+Y_^0e;SOE1-LjMQ7+<1>XuK7%(^9CYVWLV6jTBN)`sGEYuRPFtYET=yCI zNCO^qnBwFMw((?voPDpCp8Wnr^uA!DJk4fDjFxz<^3F1j=>#`+;S7gx_vY=d4Py;0 zYDmR4wa-E*bM;lHPMlWs>v@lW#YSmLKRDtr8ZSIp1Yh*x<9dsNwZ!gtw$pK6Mu$+@m zFYV~ijEi%*C&2n!#7p;W@x8|vJc^y zyotzbqp_{E5mc-i31)=+b%0tntylA?uPEW`jvtb;jlYby5%k2D^?=vuUkhVz+131u z%x@m)MbPOfNC(Xi4c*kVMK=yEVK2d&p(`!a2P+Lf*2og@-Jq4|)}WE;Rk9}RPy|%- z7<6(T_K8rMV1993_9G#;LMGk4<)}cflxMxn+x+>TBNeUOo}EXqS8lGjaMIb6G_DFn z-PkwypBhOuY5$@SIJ{n~h8nEW%W9xCCx|TY$B0apbS49*d=PeLxB+6}H87*-ZG1eK zvn(FmZUZta9=w+$XfcLBvuzJ1Azew195YPE31yv@Jy%tm8-i_Sf8|>&sq>PXK%~^{ zyPyErc)*WeU+WG}R)OuBmqfoT~{yI}Y&0IdMsJTD*F z0kvsHc8$v131INDsRg35svU);NKv^5KjoH=Oa`q7f}6{feK4y)s8R7~4sw^^!O1|v zZuOdg!U5w%NQ9Zl$i7S#bv&{B|t3#!U@)Qor%3k`9bd|E$N zUT}~>d8UQJVfU3wX3LN2Ud2L#T0CC3vEjlrA04(ThL9<}usd^_`F@0jV=qnyvL(r!Jk2xovf$`}~O7pZcI zpiBY!TM=5{?%PkaR|%@SinBf%@YKjUe$?dCRQ(Vkf0(m3X+|ov37vxcOmGPy&IJC^ zSdusoeZ)XDERgFI;I;M=;YS>UbyYC5@tD-MVU*JMM30UP)&QRgN7$ltk=~X&BJ<~2xr(La8+5~{YJacc&0T*En8;_B} zV#6(a*fg^HBLAfoJZTXBZWiPc(oYhhqWfR=C3oG6 zW7@Ybhx{^s)~0I~NFW+GuNhPnOx~TyI@7fbwAP3};98HXE_DSEyZNdOt`?Z9O455(kLXL7X52$=3%<=woUAW#qL@;u2y z+F0c42&fr z)o*U1+P*S2-QYo&-93`B!bcUh1uK^a_FIKCDMD$fHp;lc??bDJ8D75nA=oA!RAhS( z^>2Vnt4#w`!NP2YqwKF?M?9NBddtQkoFG10#USwX!&S$`oF8qEhKbl#A^4t-)oDkf zuI78-i8$cF*#SL4#AK#6GwPrUw=w#S<9h3Lq$4HctXCI^TQH>$OSlsBIs9-BaI&`~1VEvgH#zH*5 zj2K^6ct;s-mwLA))J^FhNxEKb{P0mWSjHYXDrxEb^(%j0Dd6R%Fp0a4!*xM_QRF6{ zlmDnbSo8d^@otDc^HLQkqGFV96nJ3EPV-IuFG;K#HR-4Q=kKFe(do=-`rG8-_Lkxg zqm=05s_nBHRlJL>VE;`A)N1+_xq|!@rxoMP2#<|EpAe}#*--n_5*eO+FZ@-G-g2ik zOwA?u3HIYvdpjgv41ELXU%@d)I?SHP5Fe#%TAOQZ;1zjnY5tKbrKY*rH?$x=V&&Aa zFCG_URe1 z;SuS~oAu+09~=yKwCp&0L9j z={|IQl8Ig@GCvICmjDwo+a=JuyCGE8FJ31W4;NtAT3WpcM$OwcnXpvjDpYhGX4-gyT^6meqw!Uc2NvztSxDw?^aK z?l^@jH}8sy_x!D<-=7uTkn}H|;(u!gHS39f+Xr+Dm6(0W*w|WoWI+WP#}Z+CVtwsS zgX?*Ga&c9sdT&GOw4ck{?S9(t_nE|yifb!fg=2M-EbF|U)XSbfMXldxwONIiL>F>O z+FTz{Klmj4=dDn3b1n)_h$E<$Ed226hOqa|MCH9|rbzZ7;h&gfKocSYG$X--T9Pj8WOV>Q=q+UUJvu z)@q;DNR>x!Wk^l^$R-8bDN8y0TBxvLV=egE#zC{dg5k_H?c|}MlJ62syvB{eUtr4{ z9@}5Dg9|JoWZZ^5KVu`yr{x>+!9?0naxwEcH&$Ii?H-}aI` zr}z4uie-SRpk=Ndf6rbm>g^b^|1Y=l#*rptVcVq{)kkxL*O#@qDgB~dAAbZkO!L{l z?!5M$pSyVazD8!>P6zPYW?HFOdVOS>MNf=(|&|1D+?G4_li|52$= zT-Z*A3^s#IR~z?d{UgWP(|616k7N1iv;S`zxIN#H1Y zH5*v16S3EMj$$6XucWM_o&-N7a8|$iNtf*8rAV=H#T#`;cvTl$}sR3kRQuN%QdC(Z~rZ$@w%CzFUg|iO*y0aG)Im?>A zQbHIaDvngalSfEBO%W=fcx;jIIN#1zl@3KO_r|h` zqZ?f26Uuhn>^p^V5qGaQ`;#L7RScGI=iV%*?+x28l-F>@- zyyqb8dy_yMpB;k2vbcNXViKrKdcS$7zGW)%GC<@4s{dBN#U3;Zpq{lkWk8X`Hn}#i z-3E)KQ6bEnyK8Z@a$<2v$}DAFEkz0q_QG&jiEOoS5Ea%S0-dHUBYDF`xauP z8KIZ!#nv8n;jG1`iYG#CsviyBu!C=%uUF!(#<%Ldr4ST!zdRDm2Eo1Yl7oXL95tWs zXLEVL?z}h{pwkn?=RJ5>Ab^BBjnney z*X&g5b%wP@X~Bi<$*&q}yAMesVMP1F`xHaBJ^3H zJ$WD4?BJ#0G5YV^gf3V~vbaKEI4*VnWdpG@<|V&3%ZzjN3o&f{^LH~|kU!qsyCdA_ z)?Y0pRo}%IF>~k6o0h*jd3zTXsqkBCX?^gX`}5-Mw6gD$x?X(~lC3CF=of?EI+p0r z6jCd0u=25$w!`gvShVu5;rn8VTco>jE1Vq=D%gP>;4fNT(W}vbb1#Vq`rVoGCQ7$F zkByUM?0+nBc??VoZSP+Ed&6;p#NXCbO_42Oq!Owbbzr{Q@vhgrN#a^0>||45(@X2c za0iU{)r@-9=Gc|T+Iz;PIH)b>iZKGRt*+X9i+|Zsll3PorZIh$7ennIVPCJFSXUUJ zDEyUW$h~9xl&DTcnkZs?_XkT6fblaBB)z!Wc;4a@i8K#0J+Vl4oxs@tG27?oJYW2Zm`{_SLS7uvp|sj=2F|dt&Vp{0CkM)N1tG%c7d^IicNg;}C;o(U(ej1ot#_3!!A%-mYn zfp!J+?rgE%M#M95*5<0S-g*;CgR?EXcI$kL#lexh5UHz=Ov*LkVCEltLQ#DM4cJ|+ ztL-mnX5UQYIeH;{>>hVoJGU0EW(2L{%Mo_iG~^M3+^tV`OMPj*lDDU+rY52=;uRu+ z=|6v|_0UT2y`Q1%7OU9{+pEdD2`2gJCBXC)iKxm{J<>rZB5s{b?L<8sJyQ6oba^27 z*Jv~aEQTCyr>b zROol7=m|;-uY##};|*z2&;Sqb{3XZSwjR>0eUIDfb@RZ0bB->Q7Ob&6R6Kw8stVRF zXbxU0V=8&@9K*8WK@t@Q2eFNe3%BD=*TSQ}?EL0Go5yq6Y4M@5 z&Qrf`dSh?%%{(Sq1nl%)+4WlRY~7p@)`z3v$N)^WN59SJm*~Uc zoz)F<#q71SO#BB-o&TGm;*{Iq2)kIfi>p+a7i`P zM-<*paOwE;O>FSZj4Ie9mU+~$G0F1$dB+@qfLAf9`_fO3KRWItSf;PSc0Q%5 zHV3)%@%`W?!|5Bx1eB1trZ9)j^PZ}mW3u~qOf|+p?O>A)6NN5C)eNuw9+9~+;r9bd ze|$fYp!%VF>cw-m){D9Ch8lAyCCW*oB8yXEiKVvn>Y_tuH{-#9c6*XcMI?<^)&{oc zT)^-)HYdG#OI&NS=xnT#%0T1Iz}4h^H})Sjo)VhFy#hKEqcx_BL7>Wwbz7l}>n@ZJ z6t%HMq8$u#G3nLe3!nI9s~Cr0H%*Cdz{sT&PNIws-{vt-3+^*^Q_U_zkp5B9R1Rqpi z-dTdGeoR`Q_+PubQ}f^{Ho*LnZW9l9S(!Uen+Ijaw?h2DgIV5id$IQOKwy7>_i2lA zn$TdmB0%p4W#zM>SE9Q9hBV_&+!0ZDJ&GK({po8oo)RRqcKre7)OG!7GtkxZDufHX ztaaM;j>PlXxAArIk*W2YZ3U);-*C^r!Oa3BzEb*?g+#>v$KUj?KWf`-!`n*O_uc;2 z@BFW@!tJW+>p!2sfaBQr$I1J@yhtv6*kq*P7{?z5=7pyO<-BgM(hCwl$qj?n!(e;`{^v(A9`ckcT8 zAOEL220MQM2|wch{3K3pC+-b$7kbFkR9UPn@egnJw|{*VTqPsV@BhD^Cu%SS9^nN5 z2*nJ+f1Ka-JC$c#|A!EU*ZDTkab$0tj%%EmjFm}wX+*=`x7k^sT4=eGeMPCv8SBJw zjY^WR#(C@bFJN^`dS4w_hlQi&x>eT$M40o&q=^TL>#4O1F$+IGwwq)=80}51f70Kb zTFm{**no4yZ+M~U)1%ScC3qe}28|9Rgna0oRymq=F4AH^f-| zI^T|+|LLtw8~m(tm%p9-PhSAO^)*lKudB%MD}tQ6|KscI2z||YkA`jI^#4y+4qW4@ znp1D`Z*^5>D*F?2QkDH73L2V*|HTL05$e0kf*hOnpRdA>U6@NdkFsO&tznD*>B?=t zdkd8QpD)-B?h_dB$AHEN^Je@Pc6B{x`D%a6%IKGrCoAJ{o1V7!>(a-se6ElG0z*$% zI<&;{Br982x%+yP@B5Crjw~$@l^?Fpd-!fF-o?%B(L*Ww>nl;mcO}ZWnT=KkO0npK zk{aiseBy12YN!noy76U%{t)fbxe5~jtfXhKTkzSNWay6eG(q$f}OyCgh5IR4#PfTP!stYk{tdKt`Le z%j#V43>3Ge9!S^HycaqM7n0_3`4e*=3oG z$P#>Nkrn0C7ebHJqsltJg8oLTNzVNrFMH1CemwNDy8r#TOYSsItIzkm7wxhVM3-cn zXuArm<~$1w)1~LS5|pLK;0#3W?S$O^jblDbJ?SkD*o_|v#VL2gxE}Q@;EJ*t!j(PM z(J@TNLAalrAwH7OZ|RcCpR_p!LuaP9VEQo-B>xlWD8t?=U`=YUh;r}e z8L%&qwPK6P0#E!fG;^8Z;F@O-Sxe;uPZ!z-c095|T$#R4f$AHV&72%4?o8;7k6cmk z7>a3PKhRsWLj8IOO%;L!&a_p6!kVzj)u!**0yDRJD(_F5u{;`(RRk<${~>oO6nz;4 zXN(3?3yj;Pbb8*qJV$Srcj>k3lb^itY33x229>Zy2rO;)-r3A3JeL6S2JZ=4!iu!{ zn6P;IaJw|rk_ig`X>>t6ZrG?9$oD(c%PqOL_xV3;>+#;eLV?AxV=+-ZxMO>7PaSY& ziD!%i0B6>8(Exc_L>K8}B}|Ex(0sGdN2%z{h_UiIWAQLr!6ua zY4{$Wy*>t7{~0RX!4P z$Tglv-&n?4z%LKU@j(0OZi?}$>WCfjkFC0%qq>5 zX~Fbp0P=H?dRr$7X_(YPz~baWfl+e*>}^eWMey{Gkt<$3i~Gq2suYu;f_?#$!Ux$s z6=7UJ1`ffnJ!S}={%}VY8}gREDa;?Vq868Bzd0lgVz*t+)oVr`>}9jKnpcW(pW}{S z3HiuouHQSCrUr6w19Ey+)3H4=)rn@7Ym)s3aDX<5q|KcX5;QK1+)__2!S=b8%J%+f zRhjSbJJOXRCw?XB=>b4ca_H5Ed1gk0>-euw-_4OglaJ9*&z$jt0;)XIMCZahO^nNn z1L=rou3KemuLpr^CjpLPbL?hWxgqxWm7r%$^hbWr1Nt`CAN(qXxfB>S6YNz3Xa3NcM5;{g1ew=c`g9=S3xBlX;5q*5t*#95BA`^X%flD+muTY45ZU#2Xs;VFRj<=dq9 z8_;%!iz9Qc#O)0UR*r#HQC!}TeJ*2S<2NfNkd@MBS-4w_+Z!k%Il&buvu*MW6UB&< zpvhv>FgzodaNGous&-5(g)XPf5@4~Se+)cl$Av&M+vm-ZBX6Mb`w^WBm3{QF9(3F? z-$q(K+c#Mt3-AewVn0sCE*#ow4BV>KuVTNDaBLt~>up&ki895Buyq#CDAG^(j1=4u z5!HwK5V>^e9QqT*Woz3|Z4qy%vS!LZ`XOa~YZU=Y35x6}iFy?1lxWoDGv4>f)nqof zH^24L@g2Q$^@KUl5Kq5hK}LyTTulZp9mnh)wzYm~RsEAvOr`4NNGPpNc3o*f8y$hklE%U{eShY;O zl&XTkR8W^ZBPmuP=h0wC;pK(Kx)(tkC*GxpEPY){vwEBFmOLbhTZ%~!SbcNp6y9qm zhC+LHiIx8_uK7`)I^{$3Ls0eOnA7Uy;uz!nmqTnJ%oKK|)A1O4t3?hN%r~j&sjc+K z!3MH!3(rIyR2g|@u2Bu6zUx3Ve@}imn|FIMKERagzK4WzRiJ2+Z{v|xk9!#{fu9IHMNw+N9r!TXeEyAWG; z5YxAc`U%=>DY?aUV5Tf`!0a*yS2Q?}|4>Xee%mpZmxA9N;gS_2BKNjcDGkzail07a zed}~-HYK^^EF8%C+x`mK-d|l=__vVR+6{(`9_(~QB`X`xm1LTM&RR?P{PM6u?;M5z z#5u)J$}J(|sn}MU?(o$`s=^3fVT|7I%l!D8oSDUP--O6;LGW*bGLx}W{u5F`(to(PGN?;Q$H%NINVB`5J4-=G&s=H@g>*P_ z;J8Ywu=xC!D=cF5#0^prQ#3=$g?-nxnWpaBH7Ne}5unjk6S2Vo5J{)XZ7!K-)YR`ybF&d%!JvuaZI$XW-@ z5Kn+y2rz{&2}@~poSs*8Wz@>KC`^;kj1P5#Gf~~&t*x~+8|au$=p@6Xf=zac+8BQV zyfS${o5o<_iI;x~KUdbK@GksF+f9d#b-kbReYJM*TLQ?#ZV3O7_gLDDDN(_6T5}9z zmsh*=FDX9m0neDYTPRUqn_`wqpgN9K5lw2BIUYTGsvPgZB6chHF32yV9v*XSM9R-5 zBLMuMeF55W5NbD~o~Db&^=+KJJoXT|L{rZ|ySKrbJB6thiLyk%?mgaiYz5gzm7S!$ zB8Y9Vmq`gug=GPE9966Hp<%C4#tzJLu4oJQt@kK4zPqIo&>b_#04zLH@VTNa%!93! zCl?iyHz4PcOVn7x`8Zs-@#&e-9+Wx(DcyuNdXPiMSf?#f`%RF6o$Gcf9k6<403~_Z z9tIa5R^O0F7ODh%tn%42D!$y3Xnn}+yF09Dtw}JT3$M8;K3h$$LPt}z`jE9N?RRA7 za>p)=_L?AXbxI7ud7!SWgzcFA*H&4-S`k3kjAsWN1-=*BH!P5w0CJx$N_R|ll7ZSw zH}6=q$TF~O0l*wmBRT0@$z}jHUVI;%{X?NLh~nQd$C|k*cR1zm$>@-R#ANP={&J}! zPx`Sd^hR|o&7qn-*MSpy{Awjyh-mde&8mrxuxk8}Zc3s+0$w+7Kk3og-`@Cg0)FuqRWc%Y7??l{s&r8Fa&RKlk(bzP#+YkBkm+N;x zYv1pa4&6mj1znG>-Rh|F5Q%o9ktn`g1ya2r_OzHS5lS=49QWj%hQLPN zo0Yuw{CUu*sYJJjEy0@B7)2!8JU->@Hz{<`ZFg zSy7{h9(g&|Yi5C!0IESrQ(2c4> zZDKzvFwXsekD4{8%fC}6k@#67(}r^zYdIo`TE9Gpx`U7=j4LKsf>7E1N~a~|We^c& z%SJ2tzpNYl9rq;0{2g{8wmpY^a1`MgdWSZahpu;5Q#g-Hk?->>qRR5G1v|f>vWCe5 z>1aig1!dTI{StTvg|BnFZmQ~@b>*?d*~e!Ot@u`*9l3>qv%mC-t<>~(i{oJ3#_?(| znDV3cN{Ba$vchYGsyj!ZwoTD&*+FDHJC`u6N{0gtOSDle?G^rZ6S`dlUB)caP+^@v z3C(S$-R(n^{n{czm11vf00BgaUZixjFY^o$+P8L(N@G^*v=j_J{Y3qXs}7ey!FONM1I$Aombh zs5D|ZYa)`w^4R)0?0dC-+)C`E4%s^L_2lVx4(Sse2AmO8C|?zOMTEQ>ntBfU{t{nMnO z+axmyzl`FpTj#iWW z{Wq6wq?&~6KI(y?uzOWy@_;KnV9UJJEHr5IVPVD(IVN>Q?&qa=s>Ebr>&YV*LSEJR z5`=p7Xy19l-fD#!Kp8JZJegU_@0Fm8-zt@}UCD!r3lNWbj+jqe-oNjs*>({|l*-JQ z=!%e%_+;mh0$qF4gZ15kgkt~1xK}RD#Wt4=0-fG%b?jR1_kZ_NV9DUknj+*jkihmz zcb*qCRv(4+HYcBO)NRtfc6q$es#yI7M`afK*k136)pho5Lg}kQl-a8f(9suQJs;VW z9pnBp?IQW+RfmY`mDN4gtXNzvn^o6yK*0ttqoMa;I_fG2io23#;mh(f@2x58m1z3a z15H&@)Au8owZ! z(Z7hkzTORC6L4F8$_4H*Z%*V9_5Z0 zXUo&kCP3KRx^sSTS9KsF&=(1R0Vnb`pA<5nCA&#UA`9&eH0zr?c=%+Oxy^v+$TtOB7|X zUU1_FlV;c}R5u2GWe~bjNgtnOI`V^+hy5&rV*={ap&>| z*E(MG7*cmGc`dmLsT8`1WHmtJ*`4ANa`4kz?-#M3=vo~HR$wGEpf-G>Bqzzj0SiPF z`%RWXHrXJ9%_2}4vghqb5p}%5v1dtWh2kc)BXslRw;h;7Ic7!r%G+d2Z|%a7Puq1H zuNw39&^6Dkz(M+#;iL={VpK!O&cfu<)vHXm?4OYdF# z4cqyMry>y!qcz?>GK``d{Rf+a_)pCaa65fJjlGT*RYo94_zp?+%viBQ&88f z?!EKG6-@g2p=6sIvP~Ctir4C^^&P*6tE;piK{d9;7OK5@;QnLsF<>@-ThS+N?zb_p zx7dQL_QkW`RyBp(cXZ}GcnDgfaGj7O4VNG~=VRmw^h0exd72ki&=K4AcBw|N*(G6x zb`UFjwPK+@iioWac-O5Y1<&AGcOvne2*3uc2&`OOu5FKTiGZ(I&(I^C=WGA+9_-Dv zCx^y|uU&-M2{wY@_4^7%VB6az^Jd@9Dmuy^nTJBMBPM|m?k52?Ca`e9JiKSc_O6x3f)Vw@{%6FPy+Jc(~a_V$tCP`qr6#1{Lk53{u# zvyZ%y>%{yhiPyT#_%X9k4S0z}Ed%7yzfz_p+U-6h2;=ER+o*Bf2IAJhG%ah*CuoUw zH-7Rtd;cgxz6p@0d5gq7i(*G5rjfQ-h_f2V_id;bYkJF&XnPe_=h7LLeF3zV`H6+< z*P$evAoBkT4~RZ;wF%-p(v=|>X7LTn5L-gqJh|L25s$KGo$rMjA^PaL7?dIR$Y2jM|xD z4hjA4Lc;Qp+mWHFl?7_Hss;#~G0hnF_A$@&4!R*$pP_mGT(% z)eB$ZVLelquDCs+v&jy}t_i)Db1}PxWMeurWBszIIN-+3C>Pp7yU0F!UEHmyC6_(@ z9~Jj4T zH-!K-`l6S0ZDo_E53!=+GpF<_sqw1y#G~=b1Ms!>pFKp{Dd*ePzdRYn`^Cum#Ui&n9YT2N!tgUq;I)8W@u#DQ zPb$~<1eTl19hbi!a-&qtDlH?1Kn1mIj6lp-zE`@>cHMolWpqx5wBfb<<=(gZCrwWZ zWFznF2f#y9-g?`7{G<9D;75kiNcWitZ0U9Hv+LdKF1a@EZh^7JePr;IB501;rpdMftyFs}WcB!pj{qyP zfA`-#2v*4aL>Xo_fUUn|{Fpl+O7EAFvu6+i`Hkdyrs$e3#s4yeYuHwaU3DIP9yvxN zt?Ua~SzwWKrrppi1*1{N_iAxW=CVNwU2A=#6WnUD@dmD}>^ZjwAz)AQTJ&EY)%=%7 z{fyImLqb=AbZOswF@VBgYw4#V6fEfqNq5?Vl8l}M(w6$!H}~Zhsyd8BsMIS__ozBX zkW!AaQA>mB#rNmlq6HDnM;?0Xzsb}Iy*sG-g5 z8}N~@^CM2$rxKuj8%n5$n4#hilJ5i7)JIueaz}}Zslij<3)KTn^ORTJuRp;wUtrjO zP)nxs9-TuJbz5%vOb`Z2a%O798XDaNRmYHt6)#EVRO09LJ-h>Ej~ghPl9<%M*q(}j z=YZ4&S#_*|aQX}gt92VJxG_0D;R0h5v->6{0#SbOv_gVqx-n;772V8Js7qWYi+t|sZ&aCEgAeKZSP45xKv{A(cJ<4(Fkj=IH@p((j*mE#g;EdTMs>4 zP&q|tG~GAw|55hdVNGt^_ONaXDj*8mf(TJjP!LgikJtcdN>vb|q5@Jv?<67$DndX& zq$Nr(Lg=9f1wlawgeF~@5LyT=B&2*RZtwk_eZPC%=ltXI_#`B6-gnKl<{Wd3F(*E( z3Hx>2wLO-kxRr^R4M-z-YD7g8{_EoBm!;NRS}N{fr_)ih4|Cal0c-|X`A+EseNa^# z#@qXX6NF?4SLvj<=Y&H%1NHh1GbtkabW|RT9D5YxTdSBehB64E?_x&@d%C2oxtCUf zDqO*;qBjPA1%P|YoCZ}Ani&-VNhhV#JFVb>3pf@yM2K{U_!=!v0Brw10^ltO0Ne-* zei2#G0^l80f)8Cao?hR$K9Ir4U^wCMRYU88gpG0i`d-8aJguZj24r8fZj8bz>IW$f zpGVhiL@LaHL`!x&m9!z=4I!>%pJf$NHi7|q%BeDpSQZP~T6i)tt%Pn}w1PbYjg2^U ze;qnZ+4&`MQH(Phb-76HizPQ&j%y!HRk&|xW+p;jwCs{YsJ?r7&O22kxuff7e%aHAS zGw;v^n$LJIMm-i$qFDd%9`rTbZvH(f1K{5c?7HEiRofh+)gYd}MZI@g5PR+WaQw}@ zM=o05M)i{3;J@o1QeeNS#U45hD0v3jVGBi0U&w9I1RE0h-VC46I6QGF zaS1oXTJQqNQF-UIJDzFYL={1q(l1eDJAOvQbR6b?i-^3huuffR zwahcjL#)}JY+$pIQT1dha8}W&Kc|>m)!JQOCqW5OP)TiqY{c?7*12xEjhZ@g=e5u#2#z*y-N0= ze3A4}K&NNJMpLmXQFu&{rK_@mHFO^=alf6aB-E5^o_k*1zr>XK?K7c~6||+Y)5?1| zh0aA4@Q#eZWU;1R!>7Mzl0fg(2)B?ur1Z6*NiltX>I^s%60_(V06AZkHd#FE=k#HD z*M~QSok^_1`fyPX>#yfB!04-{b4ieNA?KVw6YB1!vPtpwFa#}cNt<87#03bQrU-Fy z50&#-LJC=VVrQi+*UqSud^%kWPix1pD5{IGOQ?{~a2f~;kf_{1JW#S-J1*ZbUKa!< zgtutKc_8P4#PoMlpBlprm=U)RCGsQWW$-Yoze=sHvS_*?fek;5KyU5Wc^ zD!ww6nO# z-;cD=&dhbKpyt?xloJt&D_#**9^R4DaG`neQS9u|Y<&1q>0yw%3`2!s$M9_zA^Np! z05@6e*J#Xz8t$5FuiX}l-&ng=1X|q5YYR*%k5HwbgSy>mOdTUVR1_FOdVQD$p^`Q+7>0WLTPq*f>_3^j89O`PI-Rq+e%Z z1jg8tVMjz*Zx5Kqv5%*)6H73>OmRV|Z(sZx#6VhVB!sovQ_o3xfZqvKrH4uoGKX!% zV#alwP{b8}X7=o?dO{Z{hdFtV|NSWkJYC$#f?RWBgm7tET7V{CTAQf(o?bOh0wqC< zy<-`24>Nlb)Cz0J0lMTffIB7YF^>u(-4pv_Mq=>uYg6<$wa}zSA;uaEt`Zpdo+$np z()-~Od!P%N!Eo$?sj#AZU>3Cx8nrs9hB?qQQt2EZ5@;il?MqE6jdYf73+~g1B>u|= zSwC?Xy;ss$;#OwNDE{iC+r!3_!FLq<7{P^#1?MKZD~!9Gpdm;F69>M{b7jck+_37K zA^E9yrm0ilWByp5w5jn)p6q%q5)H=K7|Csn+IG zV6;FgKrM4(AGeI4^lD+K}%X1REp>Lrc@kH&!9a)rzsFj4eoA95&I*I2bRnJ$_|Z6(!ECxh zD_g-x4 zaAg2FWIs67BvIppxWy&F{6cY>fwZB5VE|1UILOwSfu}M&?vjxDBcM!=%Y>APW0u_LCAk(xt>w`;5#e{d2@runl`4@It zdY6%3HG6M;Z~wp^2(tXyw|#lNSz{5sxwigerpsWM!rNW3#6gsHg0*cUyDoWdj?!BE zxhH?nV)Ms zgN#XIoj6nRECVlRaVP8gtR@|l@z%#(u_u@)+1^#=LKQi->1Fx0?a$uw;vIVOGyUvQ zA(OXt+2yjUs*9x`My&ERsFoT{aZ6xLS&iIia=ckgeDz5>cjxus(3dCBZ!-YaGGGS< z=RllY(~Z?Bx#wpvEdc+dEZ;baW~ewtl99(&aIc#JUz#DQxYjD*4>Xnc%B*HNr*fq+ z3V{cOlxok8dW|{BbRZ&+GvskMw7i8y1KG#Y<)dI!>RUDViJ8xoRzK5OmC5ig6^GkP#$cuTlH?*nS=BU46cPb3vvQ0Z(}eG zY}l}jr7BO$cEI*o4fSBOIz2E(7_)BG=B@G3Sp_`9w~0uQaL{jL;654lUYr%c(_u}x zcgPYRF~;%LxCr(QYaOOj3^tz9vBHd=;j{O{&2_X1D0A9rd-NZWnRcMGpgsSN-6$TR z!g}RnSFo>7{Z-}y_G!st>485nZC3OSfK)%Yy;{el8YPNDu2aVaS%#`oRWe0rv?x~v z?-xNC&!Ki_hIu|CQUu=Dw>p9Eq}Xr~J$qwQP#UbH1O*4`$d)O+1hnjUU{VuGD9fyL znd?1C)X9FN_T@0&$6YMy1-_(p;(X(vu=nCy5f80CnYJ9p;{2w33D1fI$2!+4FaOv3 ztIHaaPkZFsru&I&3<6kvtR^e<>8?rgTW;yoSCNcDOom?I&CCAOA=Go;H!5la*f2MN zYWGZ8*AMYoqrAPhtX_#39DMKWZv^6<++^+SeQjt`fnv0aDzhgxAs=4G7nfZgIQr-7gv zx5YU<^qYDCkHHTiEZ3=~DNwO0toyepoWhJ>rHMzw(klJQBqs|NYXhERGKrv1#=$OL zPoob2<`ykfLSXW^8BGAQ))M%9t@o*zHB_v|@H*h{v`87ArbV|J_5%b5{4>uC{;t5?}2L5^FNFNq=oU{Qiy{sB)g_n+S}ulSBkWzn@@*1azESwk`+sPa79k zRMk-A^oIdB3&5Qx_&8YFtj`Eu+g@)1P%F~`;YQYIh=$f-rcS;iH_=({hwYi3$^k!{ zXPkW$>O_*ZD$8b+we-6ApgLx-<2ozY)-}a$j0J++@oSL}w2yr0f)FW+xI}%LKFys5 zI^0WtU*R7Ndq04Fn+iZMTkd=`G~#s7ERaIK5X?0C#e`ug|B~fP5y&(=^ip)6KeQhp zskKhvIU@5Na!4>~wn;f?6hG*{ZY|sv(qpniT2DwP4u;stDXmJK1!`g58G7+aknm6m z#pTluph*=zvoA}FT9#wMr|2s)VWeTE-lE(%yP4o+y3q+Bh9h4KK9ZIuTXMz37n_$! zvOhYCnOY(D#q}{#mI}6u9dY04Y7q5T9um`dLDOi2RetB`<#HFkq!Pe&lJnB4kCybA z>;@o_{a705UDHDM4fq*r17Q^n0ly4GCFW!E%nm^8)s!6e#aNWl3Ej030`p407)N{6 zPfW{IBUiJcNI@z_?+*1Zs_E|9Mbw` zIoklO^yI3tz-bn33X)?|q2c5$xS&*<#;l%?1FhU`U?ns-4cGHN$q~atY z@G@YAQbX@AZjWZo>bLYZ$<)MPEP-!NX9laI=*?m@C!x3TJ+X?r4pMqR{N!}UI;$qB zXh;|ZH9_SP;=q|-Tg2E$$VdsmT!LPGIvZm_A)KG-%FfU*31I1w-^n?wIRxbJShXf- zoJYwyyv?T>s@1c*PSul|U&V1)Gg%g^AwZshyi#^e3@zZbjBn@*R+zeJoAdk+r~Xxw zD-R+XUlihHPd&0q0qxm0-;&pXUZCDBG6N!4z%}HnC1@%ZSL5G{E?^8D08Xo|-&rH- zE&!w4qdr*98^~-u6#MeNP&>X#=4H``!n>0tJOV;1FXavDq7V6?tXspw!HF|)xZqCg zML8_b%$+At3TyPE&JEuh3O(#0ayR;=8!~wR!<0?X+#4Nz^)=pfkp<~$rNr&KuX@k6 z5g1#cle%;W(nA&6{px|T<(|_pmIz?=L5>#gI&elC^slethTVcIn?(3Rb_+rL@(t7G zGnYqgBKfdspgl)Z`@A8Z2PLQ^s`{tUH@kLML9V0FTV(YfN|?RhF=US0F0ABo8JQrLk9BboBKUh=*A89OAFfUH$0;<3KnA1ze2n(`7r#+<*N_7EDU-1*Ey2ff zZ$6coH81ZIw%g059=&xYUH#P^(>xQl%S{evRhF<0!Q`}ebyQWeQD=-tpl%cJbjwwF zNIFBAPluMIaS~~e=!iIdan?-VzUO`K1xMdkec)`-tNygh-|u!H<9vM+DG}b|wo-7U z`zP{)krd5_X7X9ohEokC{wt)47jDto)b8@>=9&d+TUBZZ5#egw)X`Al^gAxHadhDg zOikgm(_O-8L@rLX`;iL07un*u(DV&`okkaPi z#)v68DxL>G-^>b5g%BX675P_{d~@wy1oAi@`fVLRp|)NM>+Twd9|OMqTV!Xt;XM8n zZVVHCc=M?x#vpHLN>H(ySa^X}^y1;^diJ&hf2Q|g^{!FSLh4T&!wp9+ z)ET-L2(jN?M4Lfxlf7RCJD6cJ>qGfE)8nk)n^n4tbgbPTv(@ZeMvYf%rH#~uz!e@< z1&b&Z3V|kEQ9Er4lc~n#$oA#3@}G}w4m{LE?({y`8gODrs!}x&7zNq)e5Ev(f2R80 z-Qq8D8z)rF^;wX8XlttPR+p(sbrhBFfH0fL|H*#EogmSpra3x`H8&ov_RYHe;SY&j z{+sRkDsu~kJUPJwql_JB|0-zXDc`lmgJ)H?Q23*?=D*}Y3O+21HX0IPZ4Er|$TEy7 z{s;slokRBllh?89CuV?61t#2ks|MMuPz*=qWB_T_|CB^MYM!5T)kL9yN>Ut@DpSFA zu+gOMpc}h)J7!IGV+YEZ7rv%HD;D0)7A1SxN^ZiAA}J|?61?obVq0uNN#u|(we3_S zs@zG*1u>MolXvd=5u+VBNDphk?Rx7+?QV~|j(VTiV*WmEv?2y{Gxwj|fwYRcx4bb{ zydvf7Gu9pVC?h=lxYRbU;VC162OprIuNZehwYO#`iem#A@&9$1#L0wnAjs zH5yosCqTN!bQrNT)klnb-6os>6p`>ls#fl;u`^n+%I*h03p@ml~3M-i>x zxg)_|TlKS&wDvH+kkXjYEY?`j(9xf;k|PIJ8i<79H21KQ6zn+k=`^NdA1QdLbG}h4 zn-wz+NP9Y*CX7J|Y>~n|!f-NjZ;~m1G!6g_^EN zw_s+DPV%sMPAA$-0B)vKYz_0l-Em*%$SmkqGVAuCTD#lCJ8))IypvdP*y&26U>K2){puKZ)-j|7TDJ7_g&H+nhcNRlg{L|Kw6!F1lJS;pG)@(g;;uN#H~SDn=~lv^(MtvKDFNyv}$y2GHyz$z;?bVB!oJde(;|w zaTrMY1~{+j+CkzqJVF{lX4sntNI*umhnXs%3p!*VI}cw9UhG|+vXP z;%1qZyPVa*0lYN>-_`Q=s@=Zi?)e$=*Ci*Y?rJ6hQ={_WDhI?H`1cm{5{ip7}e z`aU2=Z@nqj<0}h`Cr?+~H{0+NPEXYdg!=puh51h15SEh0gTni-g>B{ioV7~=e@68t z!voOa@CF31Hr%Ju3FE6!OEM(x09e@ezZN#h@Il?t>Gk+dF&oC`Nw>%nnBVRqR_gMi z$oMKUkwZvTXf(Vb{lGdkm+G zh@st@GvOG1552b9n%#cqYhf4P+mu2e-s#7(S&K zMvg$zMvxCOFGenTTAV_*iGSX}NYKsQwI^*d5=v(vOwXx&o`nKqO*=E|xv@9q`AFvK zq49mg3Nv-Z+E-)BKgU0cOs)kAP5GenRkhS;yj%@NX6)0QUimoXM!Vsq+rZq1k`jt8 zK6Yy2;5F`jYN5LsG;t?aGkv)GAS&??Fe%)wG#XbivG0T(%0|vMIF5v#-~58-#Lj+p zd23iQ?8y>3IkCvLCBtlp?I~#414@?M6VfgU%=z-hk+o$nIw@1CP2!vA_1PA_b*;0*%TjUU zJ(vxKnXTt(f2r@?MPf($0HbjvEk9~(`y_Vx>VD{&bE^7#$NuWr9xVH)Gp0jkHkFgq z_1S1{cD$ka+p-z2)^N&*9Xa^pOYW-T z(U=9>S1jyuLB#lMdGybcHmCyJ~QOF$*sfpQeTnDmy8>ic#Os&i1c8L;!8 z4=$8|g~MP~+~4UY;=#yjd6h90aGY-3a>p+Q!S?i3n87Z~D5JGU45R&K%d?Hx_e$|U zj;L?%fDvVsYxJ4PJj@TC1?N~l0$!bf#wEXBn<_GV66uKe(gS_Pp$=4%wSVOXslT{r zoZYUhmaW+`wf1_Ej|huwga*ajqL5($4O{;M>2-ACFKzj$$}#qY^Pw)0e_KDlY3ta3 zsmr}@D^5_t&hz|Mfc;JGDrwUu=_8!^UH{_>gD&l@d%?aGb-DIGP*%I}aJ1$;M^bnE z_G|zCRoZ_74Y$DM{j|sbz9_ry+>yU)&4b6TZT)xc0yxG3kMx1o93CyU^vB;X=672B zARE0+A#59-!=L^Gy+8P(vy6eX=hgp-lK!B;qfz$3En2Ss!M(p7{Wr zJ&!hJ8fnmd`M<>3K@%#>mBS{PUhshe_kx4lhKwak#t5MF3VH)!TR1l+{|QYZwGG8`E4RK0%N zjyL>D9m9}Ly11kUQgvwxn%LHs7;2y@rRp?LmW&v#4F>QR`QCGn!PrC~ai1End{lJ5 z^=hI5TwQGB>HwX356L!IqeHxSh9sWQ9eH>3Vp9i{%}9kesTGah?T;D#*$ANk z74!K-oFjJ??3eKQ4)vIo+%MttH&M$~z81MJ2gVzB15f9w7YMpNw<)%7`VH_-&TNh) zr$}O}V=Ac!?b7E0XiG#O#4)kvg*fVfUcS?fTEjBuE4(6E`Xd3wuK|Jn*j(Qiuc#d? zaiRKqwb1Ok%JV@1a;}WqcSVhOeIxkj8rDuy z+UGxix1I27A4$K(gqhB`C8*hFk!NZb#~cqS*?HUuP*AAlNL{B>?#^f!+N}dpoP<%@ zwaa_v4! zwPvdLbS~B`RK55*yMV{|`(5B-=rJDNo3n4RbRls4&DE})`vMOET{q9VCW5#CcTRUa z$YR>)ZAG%vF$d2@(^$t7j|dHC8i-t(!XVN7lLROqFF!~*3@2Q!aGT_L?l#?iv>(qt|E*?KNWmyL z1SNpWoWDJ=h?K!22NlHqnNC#039jFngFF|D%nli!!I(>De0;$^tZa}9Y~q^UFM9$? zK43KFD0$8(q4Tez9Fe-8Gi#eq5eoH<3TsjMO=lORwY(c!~rpyTD9{-P>w`>|$#L+zI^@V2{ zy;a!l`_6cr$@7^Cr1!+1<)}$-7A0Nn&Uu}=dmiFm3%O}uvpke-iH#pu{*kqx(0m=- zyJL0u_^p$K5cU?X-Nce9*gHNb{iOon^Hk3QpUN-`jo~*rrjppJZ>TfJW;!|}4(#`? zaS~z~_D~IF)%#|#%HMbV?p`)=2gLwsWzheVR)!b97`W+4+U?j5TU&EfQPJ+tKAZ?=2+bcpy@{UcZ_ix-+gJ?D014Yv{p>kH?kPdyiV+7B&j}DQA3;B>od; zQpVcKc##a(N41u?pdKZsy8Kkpr^Rh5!7q}`Pp(YYR?24?rK>)#k@O&+JK_Puy!TpC zaXTK6yPY`~V{GtFSNG3MU@@VT8(7>9<{pjv>|Qshc>hD=^SjYtDN>6xzFViO!@-9> z!Zye>GPk}GXXSOysc%U(kn!a}iA_^mf!y=T??o+x0qXlCJa)SV_FzY{#J)O?)QUcg z+O~wzSF5)&Bl!hrL!ba+Y|7#*fs@P@gvQNDUZIQ`>A1J z2U78DS|~^5SbI4WgAQIOPvuEAFFzuz=5x(=moMlT$#jhmx^pX8KAuPs#xETE(Xi0w z3-Ijv)1re<Wk1Ut4FGMaZOQHi8lUdPjrUD9VanPwF^G6g_~jhk zYpkdxnTpE_QM)>fL#aKH@U~SO zIYtpAp%;;UlON=NoBcdO{t^GM%k37EtjBB4rZhNzdmG`lOmJRliN#*rSYwL3o&X$* zPQaz;t^wvEN32(;c-8E`r}7P7+ur)$BCpdH>->cu`V6xy@;3X1KYA`V*pQ2d#G@`J zok_OrsG&X~e_}@4xV*P6j>3)sD~b1I4n76ft;S4K77Dz{8Z(3GkeZF*riFnS#)2D8 zS@LPsgL24xqm_5>^YTyI3=6MgiS#=%m-9i0?vro>HzqPwjZ5r_*DIDF;TZym>gH9bVK^R!Rzp*z#)*)r-hwJ?6zAR2@ z)v!4H@YrT(?@?mTcVIk_rc#u zDMe$rKIYPj51_ue-4BpHD|V2d#$1%tI`-dU#7jCQqX3wRtw!=QNw~nfpT-NhQFj z?!~20vb0HV9I#k05sVsgT@UrQuJ{^czF?MTWRSd!Cg4?a9}V5nLBr(qH5XeV7c z-y>v7H-s{;=DmW>zL!n*SKNa=c@I5QNzL4bmD(wg+>&jYYcwq)6yRG*N2~jj@^I!) z7iOd1)i>InwO(#sG`AMXY*zMJl%{{LCmfdEGTW8Ibihib&$y00y==O_kcT~J?jyaJ zs>Oa6o2y}z+XSy3Jygk9(lzP7H1FCPzif7}`ovbQ1^8U|;~Jh@-d3mN9k4Yra)Ni8yW*bHDuMx&g#oxUmX{pRwo!mO)Y0pk zNl4=zfrHb*@z^k&aW@ktq8#wVXDL+GuD<(q9@N-Cymhob)V{BXYPTV+8WXleOvjpa z{Fj=+;E+mO3?W{71k+|%n$}M>GZj#+byX7y81>2hz9xNR@$jVY3fHpDwHwUUCO$52-NC5Yn>U#0+9S?q%A6F}wQ zpY?@Db^!+4N^`Ko@5?&&*2DG4K-*93{AZFFrfu~48*`ZFHvI&pOZ!%Cgc2q*pL+UL%90-h29FcQ^Cfd~0HEwzCTZTGEr|?X3{}fp zP+z|$S^6|c^|8V&N(~73>opL+kKBd{B;W}r87x+N_>;Er+7BTUp>xd0@?l?MOJ9ID1c!6{cd@ zv^bG`Sh>h}^uiQTy;Q>Zl5JsYDo< zNnf%8SsGSK-y+B(a6*{6(RsLDflJ|Gk*lo5S$VbMuoaGUY2PTYi#b0h(J!>}0#*wl zED|jF3(R+VfA21tdqJBkUcUC;bbLWhY|5sI$7Ssj{zWb0p?u*T=qpvWwW0Sl^l6_H zP{T-9F5GC&{oMQp^qIjR^Dx6il?y{TH)l2b*T)}F#|zwzSxGk}pi{svf4TXtLi_9& zZouqt5z0rC)MFmBBBV~MP@{0Kt5eG0KEKSF3Z?>%0+WDv(uORaqi2@(WIYsf3 ze;-{A??PVT!!4#2ygmFOPHm zgQ4NNsLQQ`tiHE+AarS7Wi{w@+BbZDe%+x-vdH(oLe*X8_QmG~rg_`A_rHDKhMolZ zS{@O&*LI&fqxdqxd`~^J>NRwzPk`axR8yu}z)kxvO^NeQO^N4P-$gp$aUG_U{xP!ihpRINjb`nJEPsYpGpDc7(0jigbvXIf0DsOUnoNevZx$xt}v_qXT)f52=bMf^Z zKc`@}@cowd@0#i+9co8W;y+Ftv#ZBTF&zMs+J#Y|l{hS)?8YKdhYl3B(MLlu0r%m6 z8bj}lyZvnI@2agMd!qguHyW^8^=(Mv_bGNx2HC1jWl)|)cu3n-dfs(i$%#1|bs#Ue zpQY^b-O$gbV?ct%Q5X1!7H?*aqwsHql9)Zd52In#DWpN&E-tm&-w4~CudxRJCo zWT1<1y!$v}9I%{$|3zP~SV%DNnI;bC+MbHCnb*_^_$KQyE2Y>DFarbq#L_T}%f|J~ z`ij=NAW_=sl69j(gVQP(T&i6mj;#>63E3Oqc#nEHqf)#fyhYElX^;DK`yDW@^98+3 zr3e??Uz!^-6y`;VDK=CUn)du&%kF$qx1V{CAu* zuXS#)Lun8r6XXLQd8zm<1JiuWc{Fmh_erRBzFzcMjaytCm+p>f=C60YnEB6LOI2b|n`vzAa`AK_v zl~&xA1e7xUh^l-$QuaYA;TG&`AOBQ3 zckb{luf9(!W6P;AUHS>7rUG)uOoMO_ze@>mj4Dlq6&E@lXOH&P@HVvKOv1|h2b>Ov z-(QE}7W{MEVa3li)%%tAFKc9%CZjf^MDJTOQt>mo<#yxMZKf>s_=I}lQXLe z(;{!>aw@+o>N?~nIBA$RIugRTWse(8UVYlTapm;cewR{?MN{sG+FcX%y`kZ?YOeL_ zv@SV!-m()k34&r$~ZE@XJ5h3x-2X$5iP#^-K`2YA{Qher)(2-r53;R#q}$eS7$R zhtr)uA{rE<$fz>EL7i5P1a=H3ZKRG3enG1XS^2ldnpFFoYaT5hW>0ityLPdGPsFZy zQ4u(5_0mC>`wz9S*LZbH9W}4PWjVjET|0y z2pvilHqA9dBN+Cw-C4BT4N3u>U5l`EH)X#JbFNrOl`k6vxa>r0w2pPM>g6HS{q>Q8 zQLRdx!8i|zcBS>uzHGpJnThv)ycw?OGUSgjxATeV@_UQBkq> zC{eb0r)zZ+NND&Hzu)e3x!=rrfKc2h-e4%B#F@!A{7|a~?98hM3H=8B+V41(UvF8( zU8EIhmtfh&$QZH|VS?$JIl1!?2M)#!`H5P2c29bInv84D&P3;=xM1u7U}RCTbkUo? z=mU(1tbgKarOiXgcYL3`WVWk1{qYwssj^*)OvJa7iYM8O-J%LA2Tn$!d@Nr+K$VEE zeH4(?-asiZfGWwlPj3X82g&9!d+nx_B{_~InV_MV8rS~~ zV1quxGlL_OylgPXFvXvoeF4exja;a#GI$du<5!vj{qkB~QtBo{CfWCg;Gb~pD0pzo zKfdVe#(g#UqsY~ZI3d{a)D!(JANlno|6+TCOPzn`vdH-1%GHDCm#6T8*N=HM5u9lw z?qb{Jyv250;?4+}BKE@4#h$t#I?7^h+spt5Ptz!{iFORuxqtkX7Iz_96yvfpmWn8u z4JQtCti)Z(egCk_FA~9UEp{za;57%b+Ruc2uMZBFjy@!yYfRSK{6&`>0GinaP|f}_ zCsorNH)M#?tEHOw_-g2I$%4c1SX!m*&5YJ)6vzBDrR?Bn-j%@*`;p#gg|^^BXr~zA zQz&2uwP*H)yhE>XO^KH1Wu0&8o#aqn&Bu$jsms8(@;NUJ*eATrK$V0kMKy;6EU1-? zj=W~c|J?DsYxD>l(@L8wP~B?JKj7ge?4X~z(zC50Kli;u+|RfE9&|hU$0?_EC`j#_ zwGn<1hfDrq%pqp$T+onq?DZ%H<3BXLtiC&#YxS*a z^Xqpv7P2~R5}5Z1`^kA0Z~1}YBp-*PRm_w0?e7ok#n5^j_67>fDvb{seH)}c-KN?M z0IR^ue2NH}dUqY#@K?PN2;7hCiOX+O5R{k9j>Rhun&?!pdtDtVy|g}+?dQ}6Bvg$w zxPKU?etg=N{+AC})WRCnsQS{NEDiBZVk8DSOQwu(=Z9C+TZYI5rb*2Y#C7<;kfIIJ z?CPN-#qT&W3lKI|(w*+;@AV@RYXvTVv$s;u2aSL5ZtQ3B$#eW9|L?nNCpk!#o@#UM zI51XDcGDi*U}_9b=+L`dd!=_)xKE`$7YNBReHJ!+>x!`IYD9dp6UaA5elR0+V=D*G zRWmQfO7v#VpA!?|1W&Wr^k}Q1l~(GNHPZ@3zpV7)p^vz8x`!4W%_Yni6iQV}ZqYVA zt`$r@!Hswc@Cq-LG^bi^WZDBS+LRyOhI!3hrMeEWz4P8(OOrp=pW2I(+?u55Mfb@@ zvkF7?OFz~U$KKzqS!!n@AbPry&;lqq11X2=;&n)-fhk}TwLvio5F;n z7ekciRpqM#l~d9f*EHE^p#2(N8J?Z#mbgX`aU!9hYn@WK?jz{$-*+plS1lL2IzROB zio2OjOzz6k6sF%97dxclsOB_MThCOQOA_DbdVA=w)Syefyj(v;>0{-in$m*a*Ec?- zF>cTnWjo1SnT6MDcOr*%Sryj3Cct-WFT ze%g^n+&H!BjC1OZ2G*#ix7RXOaqpm8xWk_OJ~m^BlB`UXGu>E^Te*3)6`cjK@2B#>Kl<)ht`it&(rRBnqqCDdOKI@<-BIiV_n^}r9 zjAi}CVF*}Iscbxk{v>=h`vXKL_Nc_`O`5Y1NrDaYQMLjO8vWQ&jBOfooBV)#6qFS5G^B` zPk~`wCN2?HM8JjOGl<06+?zcm9)W1>y^q$oHmP=+uGchFh2qS$- zR{HtqkW;w|fWmBHbNMSE`_F!GTm7Sear5h%n>7QRN_)`nl2I+LMt=n2HQ(BJVF72& zG|T#~EC&+r7ltKHGLDPXo)0T3hUi-!8L849b~Dx9`y>Z72SrwiA{{v3MTx(tqT$i$ z`B9P(cLuF9r~I^Dw{yyfy*c&PxsQg+lP$A)JVJV4C(cZV=cNHw+=)Mfa9UXw=}G-5 z!9(91Zu&gdF9FVz^W;!_TBQg-t6!)Qm}q2$+jtDuIH1}T>Ro#mYI=s)RlLB^1ON`U z#>nmV_^>l-7;7Iy8j&p^R;w+lrQcRJG!X(AYtx1Tv^@uYpCKikZ_Z!Ge}9}Jw-LM2 z9YY95Ul?!9th&v20J_wD0Fz#2H>K|6t(0HMeL%xJuYK~HV*!a+ijkSSWWXG;vZ+T> zxb1$tEPTiFt%d?R<0+uGy9c|{6U6H_ckGr>$!Z|=x)IV_BijXmWcp`0C9c#IfVoBd zGMC`)JPv&7gDSz#@+=hIfx|Ut!|^bv>D=EA7>Pj(gslrzg)6Q1CQZY8NfY zyy%m43x&#y61Kzrn%Kv1P;K@X+rn<}D=ZXABGfg5$NyrJ+M@Q(ok{_0QVD&4S5;9s z9+1f(cX&8CyN2;@FYUD!l)11*QhoWL_SM2`sNN>-1DxI>z~`?631rvtFtV^BAyE;Y zTJ7s@d`=4u^3)uoZ*_f{BZ~$6PKWZ9Yye_$1^BMUaSr(xyp^C0wQHY;n9-uh&Hr`q2;lC;y)ngjDr(@u{570KAvqFICqI#t?%K7T;q$VUm_x9k9qYw z^=!~gzks98_2qh)dfATEDQ{cK-g%D^DIVeJE!OoF!+vnmIZdE*Da?|AC{W9ooK@j; zCLa#xe1acTvXiR;?Q48T;HS{g+q?AFJ@J@+b9&7=8Tm$phi>rEUUiEMbu2( zZ$m7`UqJl}?anx)x;^-ycm@En4)c1gu^((Ht#Y*5DpaV2ioXJYs6Cy@a!qkvu(-IZ zO+e`EHmK2?xxDMZuEM@wP9M+izQ%8O&2&**$GS@w>aMHpuf^Wd&@Aw{iKHBjW?=fUeE~Pa4Wl40)Fxn1ZzEm z6x0f@yOfXLzYRJbCS$L{JbIcVmF$;1O6f`-vYW-Lxs-+2*sA=Pdexz)6=#0nMi80% zA{4iweHK?09afw?OYFT6$4U9@i{ z_3&FYziI#B)U*J&HNBs_VcZo}IyoNReO$mgZOuwbQ(fBZfJgln$;rE+vL@> zniIt}7wPXv3uBeo3e`U9%A3pc(4d#ZEJblyZh9M!mnDamp9JZoVuO7YR zgn*VD5u2Qq)1)m=lzG1Z@FDVm^ z?!U#hgQmC2biX%cPh(ZRpPJp#Liq)#k9PMty4)Y{&1ki>uPH7H4`(+WD<~}fM!S5H z+*fg`YTPZkW;dh6zGY{V(hglOO=P2BW^P(_oC5ah%YD0)8vVS2T5}m3)w1KplN+QI zb(?YYZV=07f0%9d3)^8`!Cvikh{5eh?wR)fz zlg#?YoYQ;TSLx~hdGkho+De!x>8iQA-BZ3}u_JYZV9@2IilpaSb4TyZ zmd!UiZ1>ka%bPJdz(Txv4Y$CXpy0+o@2HGU`dXMd+oTtxFtE+{ciG!{34ZOqeeCQV z+%n*8N#C{}6U;Z5JCy3h$pUVNZd%C{j`+Oocf0yy{?8`$H!1k#t+yzUKX(v0A5*>c zcDai0fQUS(w<7mGV#QD{KK$LojO70{fdyB{ZD;>Mn~#H!WnbA8l566y_w$xNj<{6s zdBjq)w%FzN8%kPI*4BbC_9dsAUEEvG*S*=qW8U~V@@Mz$&&|_@9$SBR1=?o-F^c&>HAOH}|FzZe) z5B=t1|Hmwyq&l#gv*Nuxrt*hM+@}@<$`i5<{dULuJ2fxq4d=HvIGT6u`rX6&+f{!* zesohkTZh=5CH8NBQ{8hNz_=4Awz@9)yW9CU(q2&XlTAEqah;2)3BS)R|MgXIu^_!} zhYaB%z>Ws-u+i}T=)-Nlg-!oHrAGYhX4_B5{_6_#`b8ud{FSr)-~MBlkNl5v*#c$u z*U$Y2zcC1KL?d$9$u6r%nG*S#-x6y6^@kpD`GX&D3%5F&nC$%bAKe7!(S7Oc$vXA# zKf0aTM~uTQIM-P9oUQe@NAz1*1iVwJmO~>AC_Rw&pNuRz`^PV<#{*`J&^sTt{o9uc zCj3A+6Mi)McN+csG4$yCB@lR84UZH5c7OlAF8=3BE&+Q!o78~uSXNbD_1$brhjk?X zzx^0CZT-08_9x`Q-M9WnIREayb(G5>gvN7g{{IuT82Dt>#-M{wf;JsQ9L)d9#H)l# zPY{i6q{tCtHoxdDzoq=Y%@ou7;|2S9J=gy>-t1rB{!RBh1>akpcH*CAqD7xq-B@i< zk9c;@YMnDo?e`x%!~Ja?3l-hD^XK5T|NFh?C2o&H(_J=_MOrAu-6Fz|IDtU0 zz|H&q>^t|K?>le*xzBl)-R$n{WM^k~XJ>}Q>glMF5Hb*AU|^7_KUIE?fq{30E^p!E zqW@0zB$#7h5Po%1QqogbQexBd_ON$ywZp)88k?Gir}x5$w*M%2hdm#MESVyRvWQY% z1D`h>;m&yFAZ73MZhfr6a8-(m?<^;NHCv#!l01HqKMuj5>qcWkMtXJIV; zcMWwf;e#yEKiD1+geq~ls1BF$+ckHlT*4z1ga_BPE_J=$&xl(`&vK~l6Z;tE-u|xt z8i6UC{r%KlW4%bY$07ak31ODi>WSWtIe{W>XtYuHY-ryj^5?R#11ZoE9m1r{Rbq47 z72>$(-8T-QbkEJWNmI8*Hm^a0hkLx`vf2oxc9}1}Zb8qRD(n2GTyIU~LdCvt8)q`c z?Cpr|QL>-W76m^=QWW88qME`S)K@nX=9ma z>jcP-kUqW#X2XwsLsvyrr9kl%ORTw}3c4MMH1&q?t;e4=sU`Qzzx!og@PI}$5dQ2ffZjR~D z6L?J1L{$-<)SYl_cR{m2qPa4C%uV>oR*#39IYshqwDqUgdetS^DP;Ay`r$kZ`k!{6 z@s{{c$fjV6#$Uxl3m!T0%rPCrpR1^SnuSrrL}47h^eqgF5O<|zC1j!6=(3<~JT8=Y zJ<`g$Krl8vH9bU&;0uKhgAet10)1~tuXQz#A!ixZ6fNT$ZD>U|jTO?0u_~=9X9jbh zn>6M{PsXaLr-B3xA9GsL{2S@Ft&qKLk~O(iyW=^KOPjbH%}D?Dn&xr+1o zqq%BzzP#LO8uZHmXN=redH*O@!B~spLql@u)3m36r$;|+YuIOVm^5{`JlLm`E0goy z1AjiZ<+aVIVVbS4*{n&ZF{|;|!1u=W_HF*`J?s6zn``s%2gv~C2FWJ<$&*Xblg$%{ zjo?i+YHq?;gbIXCgervfgyK}@JZn@W)a_J~Zv)@PP*-x3>giF*629sF;`)gx-}Eyv zk5y`XO1j2RjVO)&6sZ)|6zWvBRL)f4)PdBI$C@woc%pfv0zVN!4YfEk-TvSU`QS_A)(^ONrVCmP-JB5!%7YYMad<->J2FxBCxfD;~l(W0N zZTKdp8(e&@a$xY%jwdHmgZFd8Gc{ik-w?lEsTf}=U#MS#FQ>1MAER#`jQq?oh#*M% z%=k`6X5=9OSAc<}Yk+ zWoi|&jP0T*tS&g~;5|(xRxhkA#4FxzgPS#*1s^=m@Eh(K^vUkeGZ3tt&bHMN9}%b& zK5Epf#;^KO?^pv8wg?07-yEFIZ-+J3)oRttSYQ6o82dHCGhN!Zn^XT)biQTbs)J+} zI&WXDT{~oAB5YD|0G^kVe!HmHs_kFyzr4@9A9a3qu0(o8>O~sN9OR@?XK74+(838F z>+vdIm+T+WIoH|I;mW@C77Nhvs_+9he|N+T=z52P#n;03Bu$Br!l2Y8dr!e2HY<^F zpuGDaqcvB$zx_7~XE8EY3#bvcZneXXkT?*8dRmv+o1Q2KUV&&p{-8%eDxlOr*|VuL z9Yn<`3%vT&Xw&B>?fTwP>tbWt*Pph+F6o?LQt&s_+>QFJ)vev_$UQBrNK9U$)hIAg zz>^RrN3tIPSHgP=gP)icbYCaDHo(p!>59gVNr{mG)DsR7xB&_yd5OM}T+Ll2GBkCyb+y}vaa5|b(va{qm}GZ0 zImC{=AABJGv6NriEC`&jAT(9;!7II~q-n0HvW)E&j*CbxeWy4$a>(+?zH_U|$KN}; ziEqLBFb+E{axF3~mM>PCBIfVmS<-(op zHhz7`Ak4TKoHzPnlvQhP8|-jbL)iYdy;M|<%OOozM+{Ji$w|vM%x@p+K z>?~;QD&?$m(|C(!8$3f+pZ`Et*u!k;yJ}v7-(}5Z_sx>_a2DxJbk1W{H~q^@7=o1xZSwP&M!6?&_1Sepatw3HWhkt z`8jkA16n^Gv^=vm@wOEAY6LYFiF~RHOuEf=3-0*%Ak{A|I7NJaa;7!#Xhv?hqXKn! zy$5h);g&hxWIM84X3tYfppK?~5K|o^ObP^21Qwxa=lDfacT=NMmrF17-|vp@HZa6w zW*R5VmHT<-G`YiIYlQ(xfh;Z+;+4ROPrvm*OiZ+_VP`H2m9ktnx^=llIb}dQPv;}2 zUpuc=O9a1p6+QZ@{+nrhArN|`XNn6XGXij0u z(2)%a{N!h}SNM3$;IJ{O&d>C$GYFN5tbcrfIFFk)tH^6z^<5v-o*VjNa^A?`F~2B> z%3Aa&mfn|UIFeX!>evG{e)dt=j^b;q7(mJ#nYE6zg?*E*YOUoeD6S0fsw_$xN1iC` zzG(yqvm^qIk#wg`E3r2p-WN0IJ_d_lwkufkOD-SHhFu%Y)T&|aM@)x7ZZD+Lk=ZwG z8&T(RnQ2q}BP4-<#n5`#I$q&YzrJs9+l&yT2E8ZQc8#%Bj=xC#}xTHqbBeH%remuHeX4Ngy*1|VboO<~< zToE@r8RL5^55^Bc486m9@}?q-y1MitD1d;<3J~r)B5QY!!Im!{DUC6xiSbhFoNW&y zSt<9;JMu$POGd_>^qtV+E5z3ZTMP`&`;Y5u-zO}t)_&{!+e~p77 z1Cl})-Ryj=*g$Ts?mki=S&qMZNTJJrRr7PO{oTdaMV7-*TaQi2!`qHcj8A}1fJ2Uu zjg3vl+tyy{xw7higQGvmaya_>dP?#02LuH01qkzbcsuY5N=i!d3kdNG3Gt$P@cIP0 z`&xl`-F-O!YmomLN7>HD#@or$*U7`3?XPjItUdgEWjQ$hLiE4Se|=9okkkKRa`*Y~ zX`v^`|5ppYAfEvL|Bj6YmHDeyO3w*o=W3+vHiI??_=k!-FEj|JwN9fHM4lP5oa;@n3ZQyB1AoIYJr! z|6MdW!jO)TDfBurIVtPDMCWKO`};xj00uWY{gtCr@PQK`kQxI+9z$JO;Ux%jKL;Vg;?pRi*olxyBuz8YK|elapG-7Y;Myq!%(`5Id#xkwqOFWiWn zOo7}>;pO{xN1@J@(YZ?*iy1jMG@W56OD^94zq1$l+tYXA8)vXt2eaFnO+H{)^9yoJ zaIDBeRO$R<|<7x@QgOP(Bq$eP4t95m60cpT1*8gAN&DXA~^7$!uancipBoJ zX`#Ex8*wI2w>#wd4SeJ^fZf(i2|FkKW3q(f7qPJ=-BRfxQvU!ZMgJbf)qwLziP=9V zB}ek>@W}t45XqY-<%Uje@|zrMuMjU9Kd~y~&$MH`Y5>4+uvLAc1-;P>5PScuiZZ`Y&ONaho71-`&WroXKiTeRy zH-7+@j1$quvNe{+pLF{q*~#D!S z`efyz`AmBm&pF}`INDZAUNH<>Qdjr~Fs?!O0%e2FjnX<@n+HZLI(AG7Y5wVU^tX6Z zsmrsVRMy5+|A3s_CfMj*v;0=i z{aW|gzmJ5#chb&(LQ%-~FI<)^sL(0)6HVAMA}9Y(=qc}oP1VvVp*Y9)2h3szkv9hr zE#_5@qU=gEC#e2lC7$Y{StdyAk7U;_5zU)I(+`}J|A5bmxRR#})1nSXEDkR!|754& z&}$$-ui-qZaOzLa6ADbqtLsd)JE1@Xm(>{FACQDQ>o4XU0zdoq2h7R#0Fwaqs2ZmE zXNdln&j=SS#IDuKDgLqMK^Aczy;tjY=L7yo9R7=xA8PzskIX0QofZdCx7SC9m$cAk zQJ1MN3;b#P10KzvrO#(7+%} zA9v2(ccH2L7E7s*4Te!C1N>lO``@`a{&QW-v$y#D)%=OMF!04{zZU6y*|`;yS7_kW zt_3)1sAZ@W#aL5K%|l1KemcP4`Gr|{^4rnjT)oRG*!a4ZQS3$qxmVfg_Tyoy@!}xP zRHAGds&XiOb89doucS4oevxAD7fg^6b;c$31ytKdV=|N38fDVxp0k`bT|l^ZN@J4Z z(}_B7Mcoat8cf_WTALiqUAOdPvaEd!YwXre7wALXobuD>d~rw`u4qe$a~d}fun0qG ztM zJxJiyGR}?M43kE)cVLD4qH)C-J6@}i$FP4MSc<>UURc+Exx93~+ngQ6&H~}xW{lPh4s|k=vSeSNoTE~B28*UdgH*e2yZVq_tFo;R~VD^+}7C(lw zGpabwhIP(WXr`S%Al zS7)Zve9Q}Tc~dP}?j1(}Z@bT7^wRrP?b4_59TnD5goj-*d5D4+Ue@=^OH2c41G?d| zOxE4sBSu>6209;4LiH=^;-qhmRS#RKms@wnm$@ffgufD3)7rf22n`A(hrtz;7Ir6H zge2><4&QvAs9II1fXW3oJK!d9!&{&Wr7xWv#8=90%^|HvxBZKy`rlrdpGM$K_?fl( zBNXR`8kam?zp{Vr_3PK$%lEg6@-8zg@{Nf35OJ5Oee1-hof$2O(hXVPjC?%Aw?3yW zN*{$J&jc=qBK`YW#wSA^I3$oUd0~9U@iNEXQKm7RCe8IO(=ElhEUO)Nw=v3QUzdFM z=DH@o8T1e3qVltZ{GhmkR~mjxumF->))gs#*Y$+1TzZ+`SC_@Gt-7NT7SHz<0D)H~ zRhG}@P-4?0X9=2Vg>%i9dHlX_5;Vo^zLht44`nj%W{SDP8tSe?xXaM^ZZ{It1(>>; zI8zuz&%L>FN5^>^>(BCI@-*gX&L729mWev#%#JW7Rm)Lv%?K|`1vu}KN;v`zzyl|w z13d8zTf=6SxTH3+dB0n9;t6)AzHS<4S#9#!dy*4wo3!|5WXWvmBWE4*Vk%KC>rfI? zt}H+w^)8*5Yu)w6cypBhqD|6bJFLSc^%vg=F}tD_YK0E^(uvXAav`v!9tHUr)BN>? zLkqp|GI8H-4Hr6XekQmz1Nnt zoPL&=C1eLx^-yxkN%nI?E(Z7&=S}rv?;b76BIQ29TWCD6mdcr>>-8Fwi{vbuQQAy0Pkab=q`F78ol-dn-@+@%%o-9L=xWtyr-fe+jJS*I6~k2|>_ z;MY|qe3jYa>D}^C&0hUE04{oc*F;62PqE7B!wQwShwi_N4B~QP_Ltj()eJoDq;8i^ zXB|#uiKfh^R#fbhC2V0O&jmqN2c>4;qW2cB9Z$Uj+&6#en@>1|mc1xm38C{z2mzO6 ziF+tmlZ_sgn=t2IFoh{mk;))q4ZG(UlH7fg>92iju4i9SKW>?HnYwVq*{@wslx}H1 zFWpi#QO*VcuO`&skm;Pg?SqE-sT}{^*p5s!)?lcGPlewu=-;1t5hR-EtL}*0-ify5 zFj~8`8bRQdwHGM@3$_K%kJAlUHu%jlkJ=5sy{y|n z$=u;@&jjt2w>g~q&%5uDVRo3;h}d9WBt1dYl9GvC7v1)^uo_hO>dIVZ2U>e{d?nC$ z0bBO!XI_wW$a7ua2tckV=?3*g)Ckc2DjiK4_5by=zcq*VrL-dO(Tlf2ES%33Q+ZND zTHZDL0Fi5}(5=V$KvDR6d=z8=6xrx8{abA}(0zs*IccCt!DZ?0-ih*;8$^ApY=39# zST9M40-fds9De->wk8UgUQD8TJUadL#W=B5q7c`u46^q{&qA67-}$LcagM)lajth8 z?KPKH`tA#ija_)+s(fchd#Lhz9E*^hLZL{h*=U8~+~8L}n)`AWKMF_gUzL=IBP<3! zYPV0zKrxlSLuju2!&SupqQ;_hEzonFOG{_hrom=E{Mcfmg{)jS3t9B`JM5lKhk-@# zIHQ7{Pun^5zt<;bF0jQOCxK=1h0adydwAsrez$80lOMry2&Tz;XW6YZ?<#u*$KD%j zuMIPl_FuSvM92oONmU$i0U%QMN4R&{f#5AuO#|15>C;~(K{nUK2$C0yJpT4j* z&TyOxzMx7fXn?Qeh!FNgG3n^z*+9S}=X1{|>+?HZrpl^mxwl5{x`PFyy|ND51iD<_ zbquP)V({2M)UIa4sf8)rrHU(TZd1f^fgBp7);x(Gw08ziZyhwjKa8`hUxxbcG3>oC zCzz@qoL1W9CrJWdk@FS3yjbbcT|C{oY{}O!JQB`PYbHdEok8Fq++bkrdf%@EuR*|z z+3m&ct)I*!BP^RSt3x}*IgYBB($r2=^1u|^LFEzs2|8Zh{7y^WC)={AwarJV(5tM2 zBW#eT`IUf~$qND$&UBN?+~q)%#FqeCwUlUenhaZens*O>6QIg^I&YqzpOp6;S(*r| zDen`y$r`yE8OO{mOS4>*qY5xb)*kghNZV( zB5Tj!k3W2AZCncCAG?3`)v5<8^d;GIF4>DwN_v%7)_l1RZ=6H)%MNG5ry5xR71CD8mj?DmqDKLi0A`+3kduJiHqikbfq2hij>XG}v#o79jOcGXA1 zDmWK>+*KKR&AFg>nmPZg_c6<@PvW#i*nIo-QVb16d+NGGZ+e590`pPJMQ0aFrhv|i8&01#K5sp47?yKpYnV*zV&xzrmJ*{eU$H+j!cw^ zPMp>^J2v({Z#}!H7^!70FD|F|BFha~>vfV7Rib26Dd_swrvI2OH&FxPLhe=P6Lv$xYp*0_xbj4Fe?<{>YGiPxyI8qSR5#c4 zkj@8>oCC@`w}!5}8*2+bm(WQZ8#N9pN9vKCk^gj=o}1RM?8rj?vSmC??Fc!WG;+_6 zvQ4B_9EfTD-kjbaX>g0y_0?NB+W3v@av2#3Q1N3VP6GY{V^LKzK-A5Lk=C2Jc%zQ? z416X;SH;$|(BJC)mjZJjM`*vHqgHJXpx$T7cibYhXZyZGxwWZ5;{>zvJ+|r7c^YsI zKI>SwBw5&bqnN?hnmAgwG=2-Ky_M~coLBXVKI}{bUS;}tH7tk5eOoUj`-8fJe$2Hv zPwrNI3$r7!Jt!JorgONlcOjPCSGqiCTxPcMTE0xC_H^JAtO_vT0R%Z+C%=}lRqxyQeBnse`q97w_=S#CYI9@~5= zi0U_Y+AnY})%B3X*dpFMkDb+9iy_1wmiEy7Uk>0ORC$Tsw9 z;biudIrqjC5ULVMGL@{?#OK{MT@P;<;FFei7g^roKYhLXtwHq*E%rLG8XF${x!Dndw(QQT;2)1^?#XrFevhgnTL44@Sl1h7{asjv z!2DTv)UMhE{LsXl4VsW@Znh_gU+rn4t+}5Ux@t4w-wjvO#U0vRTqe@|-8#7vi4=iQ z2L5=4BjW}~XB%5q;9>guO~;Cyf!gHBVUhCqK-Jw!uB>NbrFsF)@7+5xV z4CeYOV}Lgog-L`b^{9vJ_5DdxQ)}tpn?3T(ZyS$K`Q!a={Ga~^>o|8S_OGJRBv>2_ zQ4`C%c@QDj%?{uSyRiBkhB1s~9m%6yp$9r%u61z8dqJ%W#(s^yhxQSfPDB`rBATC> z6B7WW0*~LSfsyVxZ8PU_2P0TEiE2Mq*&i2-p^<9_NhEI5abV$eL8Qpe;o*c)HnjY= z(1akbkc(eLMCB%;KIl8R<-Kz?b$}_kJUIbbBiU9Z<3wrq zqxk@&Y|<53XY7ZR-&wwjz-(!z*TZ{l}^SchpM9;C>Y9vxm8H<|ph!NR)+-Lhq=3_$T zHWirK{Vv0e#^o@dZwBS?0#Zc=8~d%jpUq7p675L@C~BGUoc(NRxoa=$|qMT}?38t2VA^?04Ge{~V#4A7V_G(YgKG~BDyjBy5n|mG; z77H);q_4z`$q23F^GUG@y&s+ejiK>@v!T_;1HA@JK5!L>E3Y4Z0v`o<*pQ+&$p^wi zKWyKY^T)Rq5azDpUub8F9FIwoA%3UoFwZwd+tUe6dUsRSWa1N)QR1u2XOd~$39FK? zE3RH839mLr2VVSc#ELO7~-;;r$$9lpHaL~Q}Lqpi$&py_J)dHFNU)w zV_pc@eJ0KvgV^Rv^X4z;kLYfO0b`{w6&zbRPIt~>8hrsC%N*CmmJIPho?rNzw!-f} z-8ED-*A>Rj($Ox2?4i`}Io_C>S~ONLn=ZD99yIZ`LCn~|2It-4)8Zi)j@RHoYn`e? z#8E(e#Pl%gMO6Ws-Ep zetT10BdGk5cG!Gx-+|?xtH&wfa$%4tP&nHAEWY2OY<Q)mKWDiB4v20(@;l)fR{JQt@NGb z%1T`a#*>pE<2CtMR)B!o`h#)FQ|}g?sTgo*Qgz2%SGygQ*OLfGiGdg?pmVvE^%=Yn z>9%8Tq!e@}^XtH%@ni65c>qy)emue9<_&4v_EP_ihfeP`k3P?()b52O%!K%! zpyDbWbXF)!ya;0j`Dl*`H=eGIdK$SOjJ8-cG#E>}5$l9Bg9hzWX|R0Y23jmIv)$vbQ-<6 z3S9eX9(-Wc?I?LP#vq%BoD!i7=4tlP0{v2ksp%OH4)?MxH;Lw=7(af&5TVodU61SILu4mYs0`$ zYg$GNy38j6M~;yKgeb*j|3-X*Y-vz_|F#9<21H3oeUAkaH+HUuT$fb@;!>804qCNA zm+w|=IxDJ&_iK^4w{5H$#U9*{3Qs#0ViuX-jK-rZQ_O8v1pEox!q!?MlQ_{52XhUG z8#P0VWSh)ATiN>}5_?1Yv#gndlOh%Y60DWSKSh1-UOkM=2|ZVDP<7iRAwRC;s~8pY zXtR>0;X;Vlc}-Qg5m`LQ9bxa4l?giAUz@)>Y&Bg*+=q+Sv1g5<$^Z+%;hKfny+Jak z-c$a-LegEu4cW^gn|9=58@8O$5hjOy%CF(K#Q@~ox0Z6wMdmWqOme^;wcqGA{#g8* zpACuCI=O+WtjhriZ3X27e%`BYFxd4wO%Kr&aeO?fxGp%6YZnX3l$|80l}AJOQePzE zQoHjOn`M!RIM0_HUZN-~NbCoHI z!>3FST0GBZ1FeOQw3CnA<}0Z^Ahk*4uoqI3Oq8UB(yZ-~)9`+YRrw`9syq`vyvT-l zLGQw^D(dPmw6zq;{yUgP!G0o+@_nKWuVs7xb>0t-_(z9fRwNsZ_gqXv_}CFP@rrk$ zZe#2M69u{@0HrQcny>cF^sX}S4Ly@-!h+-~QcJz=BMM@3h@ujr;3X7~fcq|(GV=DG zQe^7wEfbVM)f2L2AGR45wzAs!RZ~08eYC$IP@n;AH&JLs(l9%Pqb_;Xn)`?&1iD*b zuZ7#H!Uo)s*UR+VGnqY2c5-Ba9EfM?6{#I;_lRuVhIZ@ScM%y&qltm?8l#iMqz^Sg>qt~ox(lBTW)B>t@LvV%My)FE2@k4Dmm#6 zJ{(}PvIhu$Q`#MI?5xgOE%o21%Wm|T)~g4awY%4Ii=@M zkm8gCu7Zz-p6{RKC%?$wSOqHHH+O+J)GlQou(HI2x=fc^ad4~U)BhO4cx{{yui&NxyJtE{_ zPP82qR}wa36%&Ms)pZYZYdbHDv^5CeiOnrzL+~>Wj=`QWpWe^Zy+c$84SZJIEF1DL z@^a&+@Srd}rx)I)08_Iyw^;)y2Ff7aeh*gz@B?S@QIVz|E*zZqD4%hV@d!Oa_u20{ z73DD=KZ2l?^FeDrt#0$dB|a~RP|E2r>uyGtvNyS);oySkhA0DNVwq=;jna?1#Ka(x ztNS$*~nUpxO_^SnT9)@+^IOyp)H( z2Z#MmnGX4ZfQe2Bb;U#2@uea|0J!w|yl7((zLhfHC*9*I`-8zETONc@=wC)T`p5gb zUuM$Tw4aJ}W4~rwGgUF^iRF3E6B!_;2%LU%93L@`#~Qlp;}WwML2YdcjI(}y@hW9h z_kJ4k$$L!!&jL~o7AAL>_18E=Za47_)$q8a=iljiM-#ldWxp6C6}E9}VPm%K5cFuz z-78RUb3^t|588keRH(lzrr4z z0eXizTASoG4O7^%T^e({0;Ws1vS$5jOkEM>z!E@yUJ33g?;IZTgFpj$={F;(xDQvX z+tWX~MiRB?IIMg9Zkvm(6V{H1;G^es>|`hmd%C7%XSNjdf%Mx(glf3oe~SXihV4lV zFPIm=cAeby1VWnvs=;cFF<0xA3TVAU`dNg4DnV2*Xjx9S9mcvGO)EAJb0OU3c#VN% z>_&~$){DA}bb%FM{ht!5BLz+Ca+E9CcQK*lo^kH$7YSyhjn#40!%6lVo-t9?{1uiz zVldfk&JTlGPH}@k$2Q77%c!L54(UFbTR}2{ch3rtpVoGD>vQU(eWmG!*}n7)-d+aJ z$28Drxoe9S@p-{zJVKQF$%DlZiuE@1i1 zl-$AHl32CW;5OdPsBV4n(v%_MqPZ|n&{G2T9kn<{!;Z1e&VjS}OVGIUKSg1s@ckV& zqMN>60~<>s3ql)uX->@FaZw`J}Dtv-=A6-LEWWDuet?2s}19?0vuqq-Nm$FFg7;UFhC^BQ|M z-MYxcv)JQG?Bv2t(r$8HH&Q22?Q zsvR4we5|&wsZ?no43KO(>SWgD)X#G1f~VTzp;uSOTiLV?0uL+C*J*Gi4&gLzCO7SV zHm?*rX_>SjoD+x_G;VA!R=Lp9-t)lJXF~6F_3SdS!pb??cz!=hb9qAX?rX7t&bQ2C z@v-2OFF`Pifq19m_r(@@A*J%fao(!;-5hdv2K%%k!M%*Vq;2$Y_s<><8J6jM;vp4^ zz%d>PR-YDlKFOfK=XbO{(8S;e>dJ}cl-<5)3;2x}gg<_=fKU;*_QZvEhwCk4Ast6f zpem4+hY2tR1Fgzb-N(VSy31=gM$s932P)IEArL4efJbCmg7nCDN_=a+IB!^+!rCf1 z4s8#^h71+ave)#W>mCzoTAO@9i}3WaqO*s?BX*XMB>23G4y$s(ady0|7w)W@-G0!3*KVj=hjXY2 zab4hliu8&M45XA|TIVXz)5?|@s&}029U&^1XuG>rTVjhUA){MJj=NsEW_fH|^!j4B zJsAd2dZLZbvO7j0bJcmbipT$jMqE`=j0ZtEl}ENVKaFuWD;J{d#r8=aBG}G~TRwgwjRjb*u&WZT#4i-I?QGn&SMpIPIT`{)f z3DOSB?cKj)T!CgCY0pKE;XlKE3JiZ|eiNWrw>XA0hXGsO+=ar!6UH4);BC>A)^boX zx^QKp>4=D~u7~cYCTvu5TBYRABiZh$X_8$v=PlY!lZhT$0ppngb=;Dayc$?zlm*kQ z+17e#iL-)X~?^*Wy1k=7Y zl}$cT2MaNz_1BouG4Xx(yh3vr@lA!08soPk6 z05BqmiaS;UPY&nIfiPLUB+T)#w4Yii#!(7U1DYLws=_?n?)ec7L?m$0vV4(&aqT~` z8b%)n);gy>j3yVC3sJYbTlDHpsDfY4!Jb;mZ%V5108N3A#F!1Fy+ri~*-u;S;`s^W zA;OP>jkz~E9!7E)>k-Nj08cqyATHPtl%i~)qoYm>x6>t;?VeuFLk@3>M5fC6#`3!# z?99CQC{TW=t+~I-rg{Q80`(^7iKk z?Ixk5g%Vn!f+x|ekR0Ta_-HU!^tqcxJ}YKkTle5sHI~qpa8lsiF1&32R3Y zW6Wy-nxOOj{eDHB{5(NL!(eQpUNSm0qSLdS0J&pT*0H0WYu7077N7ZbJiVffeR$sH@Qv`C5 z=YEZRXYRbmw9TKW+4NB>3M>N)&Ws6`-0O*94g3}Afola(_^5 zH%=}hZ%M8>5aRWtD4*?NWd8DcfAJMl_ePS>^ikZ5pu%9!;yPVFu zPxiDK=pCvo#V(4IfBs0>ZM7qOh8Y-r5GZzAIvY~*$}K=s@;Jh5{c*^_Um^;$q_Z05 zeAdu-Y6e=(SSs0Sxm$QQVIOY|NsM?#>?8gHPM6QRUaVrTMNV5|bYujeD>P-CPA?Up z6};&Bmi?3|J`{?BB;~LpW9LF^29>5iJ>Et{&CNFZn5+j>(E|rhp0WQv(=72&>Rb~{ z99uwJY}Ssh`*M=bXmSTXw+=c+pIcmQ*M`2t?sX)_d7}o@5*++dSNS|AOH#cT^Uw`# zrP_lg83fNN1V7q^3jI_JSD z!R+t83gALiyH^@#X0de6p@O%KDG7a}F|Ib+T-H4vov7Ux22ZM%9}v;l8rR*V$_@R(EnVZDm z4sTPB0Zp^%lk&Bns)o~fyvir!ya1me?T|dQe+%gzKb@33-#Yzl>se!Mn1D`jK@?s= zMi2s7r8gU?-EsNxIwTU~1a-1P+Z9koPp;f2pm@azWqZE4J2ui2)~!LS{{tXn3p@dzt70E$v~d~GxTDw8t2{hpWK`t%AMeSReDZ<0tKx3X?G?tiqCGp(4DM+ z1>gtcrxwvQ0VUmf~vX_9j&x(;{>RMEPPs4aS1kK z3_nf~Q0&-9Q@>_rTKhgdls$J~vDL3C5dJMmXSB#mY5G$arh9U%2mWUSr481*58X_z zF1X?rPi}tK!Yx#9+3;BcT*b3o^h0=v4`arjvmscmSI?JEAL$j$|855;0+Ga1B5kqF zFW|2-<}W9(-`L>BnOZzl3`58aYAT088KN1K zA9AcIaidlHK0+G~KJPTq{Jf6dxX{D45n&;ouTIgVMc4&otC7|Ihmyq?%a)BxSK%h@ z_6cW`KW~=?J$S$-pN)mFD%Z>fb)Wj}I5;j*I*Alh3Eg zK0{!S=yr;D=nfFOvwdpZbQcmXUDN8FM3N70a=Y=V){{%vF_6!QHTGtX76|R1tn3Gn zY`O@`Z3NtZS0ogx+9koMF*Qqb`9}1kqXGQseH_uf%75>*mN#P4`w|6av5m&NQR!O4 zeALYh5QJNAtlG9kCRapaJ}ef_oq;^WXT*>5N|H`o{@IPk>H(M}P|}*&0R6CMf!OmP zu4CqCf^rvXK%6JvS#-NDPl-+_)mWdN$~R?25%H1a=fw;{zNt|6D$J~&IdPSvQ4rm^J;~?=afF2IHjVB`e`~bmfSumy@oiizy$acf<5#{W5(8uKJao~KJ0duMqnp0CD&y~1TBn^+3O6*!cZ@x%ts^X zH5;j*gH_pX7AOzoTcwtU*h_+IWeY+7E_s6dl&YhzGFR%~Fy`T6m1GAyVFdzY?%86p z*6Yavhj4Fnz+c-tjpK)j3^@W8nj8opCYBk{IOoaxJsC>Ad^hy9M^yWG{ff+#V3wJg zKc6pN!}+i^DeHW9&zvldL8wX>Es!>dlY!w=*No|SxMNpOV_2t6D6oj~YC0W1cG_#z z|D`Xj@kYwqhuk0RSLg2nhlLED@(Md6u#fa_;Qe_Sm}7hH7QzeNXveL)i`C$xH@S3c zW23-UeL`26QEli2xItJP9aXj8ei`9m;nFVtVp(V7(s{VJ?XL4z@(bRx-VaKsP{Km`=NST|f)w$$UmjK5UYvjVC>3#8 z<+~%4r^D63Y(p|vTR!xNgSd}Gq33q6nTR)tau1s$ETk+3CE#e|Zhg}o#Hy>%2ky_z zSIRLK;~IofRo;O#D9*dm@svb~O)j;&9j3M%1`XMjZ!J50qn6_rUNnit_c>~oUS=JF zLizuF5PFpt!3}#P*qdS9NPi6bK$`c7GY|UrBc7bf(^(yHQfh+?bsCN=g( zgkU50y!lg1hh>4I8j(+H&h}FfihEC+7cpLpI1Aj)-DP$BuqY&PT zj~8DCpRT=lo)4V3EQkf;gY#EN;$g8R&FJYtt;~ci*|1N(RSs!9;)!fv3*od~M^8Ao>0O3b$F0+6_+je;R6%&MHDshLIrVOX9Lg&hrBEvN;ksO5hZWgqWj&mgJ<$C`{rJM3aCU@@wUKfi&4g7}E?_tX3a>}*v+nnE=>YR=-<_ZIxCDb&#&R>K|{dL}` zN(Ltwex`$?K)R)|#0x_WA1PrS4&ShyK!gtql-z3ldiDkii3p^KZ~aRae{d?(C@6Pq zPF=f_T=6n%+{yZ&XJ|4jYXcL=ilG?`hxgF+$VXRqABhrUvWOIBex}*vsCrbhCc>z$ zGF~>DFQZ6!kT}Qd7+u(}xXA7(~A0Z~C(6TU` zFL>{?`QkBND5^{;J&S22WPghJER@SaMYa zsGasd1oJgvp9CTHYx%-vPl|5#85;?rMy8h9N{&m0CJI?2sK+qKu>}$69Ze_5F}|3p zn+%`_$9O<1gU%#m&QjJI^WI0CRE1SbN2Mj<-g54wiM1V~GW>C0n+3oDf zn%u{8cAnLGT>)K#=j4&5b6vsj1-j*A+GU$64Js3nncG&PEGAzg!O9Gg#mw5ofm4cy zBUwllcJc>H!>+($imR_Sc)~*R%Ihr-YZ**L`6F^NRSyv&t3w2*cO8L#?`_hPdq59> zVxCp39;@vBM(EAioS5H{a)r1~8GN)7NT&H&X$1=a}Z3N)$fA0r-6_nXj^%H{~lOYlJ!AQyBw z$~a#RT=#RWw|mwz92tAm;&mvp8%4+?J0#B2D`*H-On|S1&in^o!5qw5FA9W1Q}E{^ zBA%xUn-ZOFZQS-7nV-n;L)m`m34o-=3!*$psz7(Bqz_OlQ4^$LTzbz&IM+l_U1dp+ z8c%idCO#AtUHtZaH#mRPpo_?N^Vj5|oG|IdKl!aWAb#>cNpV7XN{hjg!0D#a(F zKz>{Fp>6LbHE9a6Ae>{#6J>iv`ZMmWZXxEuikAJAfQEQ_jwfWRI7th>QU2^wwPNdL zEY#l*YKFqgYFK-+InlnZ3l?iAUF1k&LzDpGV6M(nQ|o@%?v53~$gC2n)d=f|N>PE?z? zQhN)5XoI^>{JenSN)VnAVJv8a_;6O)>!O#KZtXPlEG8KL9htyW{5?TyzSFd8-aW0S zMr0M$CDZQ-QM@K%enX@l`yY*-hQz1;{>%Z%YefeUNArCx2+#wDJ{`W$dC0`ykh~us z_xIU)MzG4l$@!eb($mPaYm|)hX+dke=z3a7K0DIeJOPrhWKrTFtgzNy4<-Mw`Z3;T}SkDPA0&!XxW z>UlYcqMw(Ej_uhnvx#Ev&3U#OfUTV{3S87%f&}R}yzlMdoj#$%`TYM-_TEuVcH5%2 zA}XLXQBgV;sx*-zElL#-kfJD6MCrZvNE47IAiabRf`CYeKm?Qyp@$x-0Rn^`NJ#QM z?0fdP`<}gDzxRxhkv{?}S!J&I%r(nzO|vg)2I#VkSI3!})@zmgp%Cq}F&UU5HeefY zSkJg%*%q6p!!CQb(!XHS4hc(Y_GMjBP`kYx%kpr%Oe|J`N}jT!w$B=Tl0F` zL7WY354ks2u05{ei49oqOo*CU+lU+tcG67?4V#wXXuEG8_nBAh&W5(?>AT!R~SxoqB_^8g3( zdA6|SeJ+F6@HnBnC6|wX?kK;#+@IO>BeEcZ^_C+|$4H$aH;BaUU2SE?R2ly5D1U?F zr|UKl-hHDNC~KH8xg>j@8yXGw<$54C4&#ef7aFPFt14~YhX{!mTUM_e|=ps zpSxOIW>tY4>Eu7#FG6{|M&aqQBeJCcZWhfgWeYB8tN-yVQjBrw zJh{bBMXIHc{p(_O)L~$4Aa#P-WcBf9?)#TI9^B}rQ-)+Lnw2g484FPL98No;D>hSG zZ`;{1=C?oclbL_tXj1%hns6X7rx|6o#mgFFx0yn#Xxuu%Gcyvd==>CuN5F-I$tpYV z=%mSm+|B6}Y*=s6()Dxo0Pdy7kQ&?SGR9V(K)j2gXaEq0%TW@1JrgDma|ZAs(0oP# zgAL3iNHOZ#*V4XrUuG~VgLKR|_e6-rP$vg6gW8vconO5jHQko>7%+wpHYCU|aDxn~ zGM=g3+TSr-%QlxgQ652AlG zAXQZnO=6uDPH*3Nax>6;Ke6)Xje%Z%RHv@+g%5&`jA3|Eb5^V}cQAR}%# zl7E;f%3Hd>p{__5)iOQ_?RbAVE=%k~n}2Vt0>jYGXy>;x!Gl(2vp>2%Bd^_XkU7~- zkn4Hm206kLHi@cJTmj6o@8UkUHTDPC_gj6aH9y(?c2ikVcWuL5n=OE_sjtqsUnY@3 zaj+|W_O|{O!wnUuGBW}t{-^1&Mz3tVdkXTgBH6P)=MfSC$3Rwn2vx_q8_u@CX}wwh zHZAO!Cg+MHR7e2q_k-H7O2hQ7_g!!inWr7nSKvr1o~;9wcSOO=K`rWVLz!h| zD}_&9`<1PfkIA&Y-8Nv`I(KweWO3cwHr0hG#{s?Wz7nPJ;cKVk= zpJG)W%(>>w7xdJKa&3R$f*~DxC9W4B#5_s^_w+nN;XE&LqsGhcO zDnoU7ajJM&1GN}@E^-}bvXU}HeOLn(PTYax^UFHkW3|URiOBX!YQ0?OvE2)VTT+8ez9G&M!1`SD5p1bro zk$aM}x2)*OLK+TJL!&JRMjx0nNHThfr`PS1LQqbEKXs-e>W)jE*RrL>k>iIMpY!Rv zz)~0m*nVHKkETSMNhax!w_8|zZuhg09(ww^M@sF^Ihhs(v#oC(Z?;1a{5e_bHePy> zR+JV;t&NR6x6b*!+lwR;2X6_zrnoZIbC7AJO-bPoZwM!EZJ@Lr@G~PQEGzS9uCQvP zi^x3u6?OB;*)z1i@3U=z3}vGNi^D{gt_D{&y4!dwhzwx!qOGSQwaNX1CsH(5JB7og z<~u8A%=lXKv zO&s2!+_6K#mf?bfA3UXXKFT{};f%SYiJIXmFjW&kZk}iY7tF$5fUcb$w{|XSH>EDT z*6D4`PzAK}*}W{2_x@|XmrLqlPX0#R2z4aGP@wbf=bIGs2W)CU5mgMzlWcC>OZWD! zsN-(`>*#RuuiQ7xemwAj@uv=&&V_6U&e2_5ND}D+kF!Oo)+0sPj~wQg;9NIZPW1$0 z^t+NStOJUj>y*<_TP<~~h*~OFVP6BYn<+{-63Ix0k(C-G(HG%o=*519BSOz|e|alh z!l6TsR^$`%+yc*_MAF_+zp_EIb(mF~Rmhg&_qo14+<79s;Ah0n`!4*)4;GZCj`MkQ znkkhByyNJG+819RD5ThodAj z=iRYVrI3Z~2r{GA7`t8`U4!Zq#rb@omD_(Cf!NhMKuiC@r9I5O9Y&9P9K78cJSN4( zvS`Lcm4n+cQM?=(86qR8bYpGeOEmaXPp~GHye#dj&Qxwtkb-tWP()PN1E~r6^=oDy zE_TU0RjLp7xqVBX&ciEC_MY<9CwCuRbI&>wXLDePzoz{*(#4~B-0kwE!qg%W+6Y%( zB}&3*Bwe_bX^qW0c4AUkmv8zb*PxrC^9QjMJqr7hj%-p4@i*a3jLOk_IcBBLOV>m7 zL)_bb-pX2Zp8X|L1j-bx;3x}}E#~SIzlE3n{ruSF-n%n+wr3UPjP6C6>92Cti!eLI z?N;Z8V&MBrcP^nds6w9!Q&>&Rb6~V%filI*)AX5L(=nFDCsTk`A)2%>)Zi)&2?+A> zc8X2rG|5CkJWIelV4%Q`QOeTFRlH(zx@KP<8^%5$VjiU*57mn-y_gq$xEUjC_O*mj z+?v0QYwpuyqgX1!XjpONji6-lH`M31`V2#KLk{=udG0tK&T{M(b{ug%|6*j#i1hTj zb*n2hp!Em0*QKzf?eGrU8;&-Id6~%6dC3kP+xhNTt7ypx{daUsYiJskT9=x8)%SDX z)taCIO<^sB`qj&*ohnSo;b5cB3Hh}6g$ixfNm|LV)S!CT9bX{lDQjNMGZfZh^_Fv) zwzi8VpK@||eS0zOrZ)9WDLy?Ez9FFuazHEhL*;>4e_sKecHk=e4cc#Vy4yw&;yPN@ zmJ6W*z8dba!cer_*a3Y|`BFQwG2-J;+fU_O&1dZ9fd>~W=@b&JT2sj5;*Q}dHJnS) zJmK6AR^;J(8ve0>p}f6kAW zE1nRCFti^rbf-LS7DW4PlwzL}5!4EQD@yeQwG#c9rUR5Omp%6^r4y908dEuKD{67~ zrq=SUeO++0|KTqBlC9y5WIs42I8_uW?nuI3xxnaWdL;+qLpeJK_~qvYBSeyU#OH+L zy->5Xexp&Z-(RhD1or=C$Fm^l{*B)=wrg^Wh^yrSxE?Qyxhg^XcQA#c+4dbp@td+1 zZ>D%Sa%jdc1#sU-Hq^m@m}5l4wL{8^ujx08Ypv!+k^F7gDDBJdj>-bhURe?}*^Yv3 z2Z^3w9!D`Xm|E)GIM=5zpw4PWd=vFZwl8AUuShfM1Ji`8TkLw1?^4d{kx~7&`ra~R z0b{GZ^j^>23`)P5{iUCOIOw%i-k&njYAHXf=799y${bbLnUscPay^yFwJNz-IkdMe ze9i0<{fBQjFZ3_h@5)%Ab^pNP7aVLIvS@ldT?m~~S8`f+@MiA7FL6cg5Lz~`+vM|N z1~UiO^-(13rpz`C*_DSA!HhN;m)J^gI1R$Rwi6(J3YDE`77=FEg>=Uxu86E1kHme^ z#ZI8=$d{g+R#9;w-iX$SjyX9U*d=CM?w@>{zxRVok|z$Xtt7shIpB1gf2@(?sFMlt zZudi_B@6arb6=Mb+8XGzaahp!C0{KAnqxXOSv%xlh0~-vLT#?ta;@%Ib*^10v+1?$ z%&+nGUAZ0#c@J$wYKh=@C)pD3cnvao%`swDc#hNa!3TBPS6(*IQuVxVF)saAf3xoi zKW`nR$~*J>p0=Kvi~ne^7cX7c_%T|&Gu&CXAKIZm?H`I)tUd3{a4x~IkApKm4oKpB zdRPRflQ&aneZ-Zo-o1Pj-4N?o8j)6=SSSQK3chqdYUSpO-e8hmaQAZ+fvqHixj5KXjbauNY5uCkwIZ^o{ExzmZEW zwD^5)D|$#yCZATu2?SB&NMrUj&uF>_38tX?YU%a`YHy~2_20+b;%cV@|=HTf;2OCa20W{S}*N^!@P28{YlHs z%U|sL$P}yBr|asb=b$)tX32?Mo0D%l%sHYT{~BfWR%4#_W+TX!Dt+}mU0RLJ7+-mb z_ilpziSMQJC&#GBnOr4P)wi>Xgxrz;{uVnHvXBmLc3IxXSCuT5gkvG0$h>eu$T9q` zy(ZMe|N0+1ecu32-^Bk3v8~|2ectQBzfK5K0@|kSe2)!&O z1it@8Lk_Zc=>W~<`z*-j5B0GBw)l4dEE*(4f&CA;MgQ|p*>((F=((y>6h;!i8+dYy zyGHYWu?#W*&dZkLe@@oFb?pEC!w(C^NAe_#(N{Jle;qRYxAsp~5jXxm{*ErNKOC67 z{^F|9(P;H-mlb26L>053)o5{GfF0^|6?Zu2CjMXgiRbLuS(w@xjj;dQ#ee(t@E;b+ z|HTVP7Vtbi?v<=x4!ce6MZ^CM|Icu^_+mbgURP#bh=H~ z^dpn&9bx^RFjC7FZNN%_r#HgXvj9EQV4vIeTcD}odFcyoImfROc#QtEn2p;v-`y`} z49IT6NO>)AUIxkYY^S|(eRBNzPF&tqIz^<86wW@YjlOGD0nyh{~}7YxrR(`0ezEb{gAdhsYbatDYzO zYZXl}BNLCyYg;hvg-)@2zSOUf1~$k#G<~;8!=E(u8By-~C+gY{5+fN{GM1jWX+bp>ru`RO6 zPxclWfNB(i;iNX@rsih~udC(e`f!d46|E`6yuH1*Oi9o_*4dRVc~pKYTeOOnOa%&Ab&DMMATn#6R|fa5V=ONMJ^=845TLOEb_ZTP0l6`bpm{`C-I zd^xPa*t>P8z?sBjE&cr(&NTJGEMX0f_`L51)P8A7Z_W4U^FWHRzZfsPN{bI#z59Qb zL(=)Cchwh+={xe^G|oRg5WrRdSI+mq7;8_wpA3PW&^qU&8}NLj5?kujat`PG(zCn5 zKf_!#r&`lZIM%Yn)1BBUepB(HDv-<}1>zlDfVlm-2^0P!ej$vVV8#O8ZatV$pq*Lf z)8pxa4}36>k#0Zr>|*jjp_F>ULst0Bx;q-P!bx3W=GKy zWkPGX^yx%K7GoxCYjl69`=TJYDr6J>9asZt%jeVt)q)E$W=B# zcW+`8TcP1kkb?b5g`R+cyc1d6scEF|iu9jxXnMXwCboFASdmhP z-BzLQ?Wb4VfY0ijX^)jjbb+~;z z{T)C&PImJ80^O?7cMr3)EZGGpP!`wDn!#mD8agzX>SsMmZ8lFP1x!w&(=EKqMs8l# z1CRskwhJ?~AUE|k;iVBRR0Epm>N~M)no7GiEVR*J>F)WYJ=h39vp^qrUu5@NoMyXL zai4k?HtR9n$Q8}p2!xZ}A%6D}&7ydJ6nl9d5|O%lset!sEy6Vsu*YTfTLx zy}v>|;7Q=(Y?Edw2X*z#$2subq9y9aaeUJuq^>@G7wL1o_vi{Z#f=Md`rj=a#`6mDl@=0rioz>(UL<7R_#FXT0NZc-YzPf z#9MYCZQ@u6aeW0Al~vKkulSI7O16yZsF`u!4p!t^(w^7W)?u77467{c%f||3TJo_- zt9L^+f()_5)k-M*;K<8A)eqooc%xWFC&vg!OFi;?Jjr-Q7&}nnB<;NA?SUzTG&o9F z4-bx&>AD7&ks=b-qyHq$;g4Pb7G{bHIN;{qs>*)T$@jgP#}~ICyKm?w*}a@T5ri^g z21y(~OG)eh$Hmy|v{Bd8&i`E9WDXwxUFd8FXjz z@XLIoGcJ2#bGBDRj;cikMQD33Y<=v7Yh~o}=a64Phhy>ixEPuey&U43J+GPYPDDDy)R^;_3*eb2-QCAzd%85lgZ=qGpglS4os_#|eWYHV#5ji9f| z_xtAKwvr4nv5vctJTxjYkGmd^VgEdayUF(}djWzl`As9obHFqpW*YDd*39`>@&jV^ zScIy}gAg$zZI}byf2g8*$a$+TJJ6Gh#viCA-$EkpGPB(k|GmwHz&q}b zE(ElBrbiBfXJHji0Hlk(IjS1dK*}`7{<7*`Azm{Dmp9@rh`JfPL6f3Av`isa%oM(o zhHM9Y|N7tx9Df4)PN~J6A;gt;Ty7vT%!t<9lE>5+tBP97Fd0la31b{u{($f5g1`V+ z#%<|5{o1MncLTCd7i7@Yt?4km*kkDm@+^Yv6v@v`YUf-KArExNv(~ysUKjL$_=_Wb zUo*sjj9YC9AcXN6aFBe6o%3aHV2HtJ+sKn(PrcAnH42NPoteTv`cp-Pc2Xr8c7>>O z*fChEk7uV6*QHxPTSrwhEK3FkcNud+#6NK@d_Y&I+1{g@I);O1*8vCxgB%VqOoz*3 z>sC#izNn)_H+Jirfaa=7)GXqbaLE4oA)N5bN1wQd<*h$YI}(a)fg=10szA!PhGLgf zd+v8X6W*9Esxun0fkd@|GK7FC5kfE&8BOz0(oPe4D~)|BUw2W|ahQ^D5RE^_m2&=e zBmiMd?E)*sS1KA=@l%4=!P|l9BUBqXmDpL5SLFwt{DaqX@2UcHz>(KAW(6b&vfYw* zG9++Qr2I=Wc=kKYk;{z%Drli@Jaq#Rz&ILV*i$p|?%<7l`wPl_>kiDDwUDl}D(rAx z)#plV321_ZK|=_UhZ^-!R4=jul+R}KhTd9-aQ$|?0xV%bsOA9FP=LGhCnMq3C*HvO zs39;=yWWtXB_%i%Ku$oI_>R#3_6Pi9>8pCvtRr|Up^agWFd^~O5X97 zP~(w}#JlyVpAB9NAs6I7Yh~@G8CF|W;%#;i4%7Cv&dWR&zC5Q!ghTUY;PwzqIW#Sw znuLGv6&~<(WD2NEzgMBAb%LC#Me0K2R-gEjxmiDk` z9~smpgwl}da8v)9pUwBJ8yVH54D#P|d^dmXvY@1Y{A_(gWo^97Jf6`5rD-p4;{6a7 zEld!#XjwysfgGC&Sz2QqoV9aQw^VywJh zN{$u{+>o`%4Mon4%Y;rJ3lq(j#=x-FXdjWu>|1=*RqX%JFgU#ntkShR3rFocU&i4d z0h(M~JG%yxZN3cWyECq4Lh8KQfD;Jm`HPaUa5DK7nPXpYU|@iDEZpSX#H$pd1Z+U^ zbt<<5og8Iy;FC(MI*axVbKpGgIhIgjo?Q&vH?Uc|VtJ`|B$r&GM!oVDKNzXrmr_x0z0JZE!AlfBbiJ>4sQa!!K5Crc`x z0(7L@gubY!+KFxZ3c=1tuAnnz2{4?tlZDcfT@VBpgk=tlKurDMwqNfg*E=6~Z!}l} z=gnxemiJ=gTl?WwL?^~&*`D?;Lk>h3BQfJu2MTf8@cMfDM0@*iYjB60y=@K*ESzF~ zx+5;E!fdg3WTpVzFb)F&2{I0`vL0BB2=wt=#iv=vQ;~8$WcHF@Cx$xi)o+o=*v~AM5La(C$5lOf zL-CVzaoL|L)D+YoncsZoPev)rk`!+#ktuU19)u?y;Z%LDLP@-xtcZSN?_Z%2v$|!F zQ;16@K;Mh-pQ|aplYFv(Q%bAto@-Hy5_++(r!v; z3L9%Tkm-Q*>PaRUfy0>ZKk%L@k`|xFxHglN;mMo0o3csR1~&Ezp=7vXcm3WW`0iy` zxZWsIW@rW54LE{ z>^@3@=d5$4?c{fBvY)qO<;-*2E^VdXVzc7*sFiTe;bD4{k}*a*1CuK{9{Eifkmnsz z#4q-A;;WuFV_j7N{iBnj{jJHnoHBc#nsreO2{g3w)U=C~yfB{wrqeQunE-cNL%l!& z27J6!HbSIGT7LfebC+vrbl7qd92xI2&3HEk)dQ;z2_PrGG3T~~oQ>Oz-45?k(Hd|e zA1|$F{0WwL+jVIRL^6g*H}WJ+I`qEa;kg~7l7 zh1JI}B6kh>+wG{?%eJ2HbjzD>I$dWf>hY&U%8HQ+Kubg4lPHF*V2 zWy|j{f4D1OF*IP9c^N?CQ`1R${KA4#y1=OtFP=Qt=gSdbCIUs>K~1Y|WDcXT2(b_J zLsz0F0-Y7Bt{by%UcTEB5TCW65J~ZvGrD~n#YWlGsE0SS@eOpL9JWaRC0F*V&Bxq4bj-{N4 z=;u(<8p${-aOz=^BxiF2=ZE@4pwgkv9vp=wYaxR4rQ|1c%c1K&5*B^E5&KkrDld0o z#x-;5Ss1m_xBQ<^_R?TS+xUeO)_#gR4%sfd-4>UfhJ4K5m(OatM79{Q(5U(V!qvDJ z1Lkh4O<>A)9?_(vb>oXsxyo~DNjU;nBn`h@d%ec*09{yDlvaR*2pvvWBzgPKvC9?u z8*l%*g~&tsz#T8^m}H9gM7~mlN`8ICs6QEHm%Dc@nC$YU@b8b1&vF;?)FZ)qtDOwZ z3PlVvz}%%B8sswP0wpuPa|yA;w~^a)TFLZ>k(cZzcVXSQ(EVFir_}3Dyg2v8+st^1 zGCbnaWqtkk<8#NgVlsudCY_4aYXVyC?>wvnFmA{Gr<_Y>(YrKV^BUSH_*;VD+L1b< z+6aMkJ1E4rRAboJ1`^h=6ekpfoYz*NtGP)Nvix84FnyY+5uO zQs=3`PEy^)&iFSg6z6gLzEyp@Pf^`cl%s*z$j@ME>~Rc(?x-zBcBR{e7Ft5Qe~gtG zjvyXAAkV#}*b5MR(S;f}*A(XV{DIT?sh@C9L+@jfau~}-vwFK{z6OW9B2NQ_zt-i( zURJkxVhi784jV%UJmA6YAncE5$r*tI7c?c*TZcgOsq;gjAo;kL@b_Ii1jp>pluH=2<>$na^F`VW=(e z?O!<=P3=8WA1gE(N9rA{>>8_Xu{UJInlEX~KRJ#UEThJw+F;cf*kn1R8f4%iD`%ju zI>&H}v=itlb&EN~rN2hPcd2l@p%`I@G2J<^JoPlUMV6~c{oT9;#cdB^@VzUKtuo(Bnq_$i6&1MsL3Z6{bfOodxjMU~^>iSPwF1bY z*9GeHXA8h4LeDf)B*%<*5NN8MkC0e+!?uvxDrkQYx3zH5Q8i+HeG0B8IyDN*Pub$ng34yX*uV%In_!)PxW3w4sn}zYN+|ev_$NB;WM%R z^}kmSkMKnhC<4H1&zEVW9F5!i+}#W+5@SQ;T;<+}iJ)0M$KS(3W(jDsFfkV_(pO=z z$xH8}QHb2I$fu;hphr=~ijqFL&#D1tuP>h6b>^l8bXX|v<6__0)Hx z5MpOlxlQL!*W758JGcFfs3g_G24&N16LyW))wVOV*6ui#b+5XBa#Ae8g6oj;8W}IW zeD^!Tj7{lBhmKMquFI;Y-n&fyt(BbhC==I*AnvYrCj~aIRS`%%_rwm*$vKeALvF(H zZb%Mr6sg-8dwV5^laW~9PwMv|L{;^iI&CKX%3ps80$c{lunQlS*u1tWJ&}a-YZ`5y zO3lCd_B%1O8R+eHT6gShm0XafxV6Sdo6_1pL`#97!sn<*saJ7%$w5bBfIG3=dyngS zTXQsagL;~@kFuQsu(DyXL@~yk)e3#1`4~{SZ*EHw58=3td{pCP5TLgwe zgstB>bK=u)YVWRY6-`d8*u!s;e0S;78a>g=<;R^6hM;M6b5m!1V}AwZTVSZb%J^=c5Y5MU*42_;`&j zb~l_&m7ZhK|A;a2iE!(%b%;EhwaiW=zt>u)>r+u|O7K;25DYgr#D zXu?jM0$YO@<-xTlB0ql61-D7c&Rx#=$e&@}pH>qw>+%Zp@)Tc`|rYrUti`pwj92|tv^Xypj zS8z3k06`YOxt#zo$VX1gX6N%f@3h32vNL~>!@riN;Ewf~KI|;iAkg)D5&_KlY-J}T zu~>R6onH`y6fprzrH^3gVX+XGh4Ys6Bbu_De)oW43zb}pKEP4q{B$(sy-?((l}t(D zV2Pn`gMHC7Nwhxc_O%|fzFCVg>oWt?lBF=v|`=07$A3sU0+7qFMiSdsK;}zFVZ8~X8 z5I-w6(oXFk)+3zKAGl+}@4kfdRMS@dK#kqxgPn#42$EvK|BnIrNhA=uC5!)RXhGYm zyV3-&Ptuv87iz=kpUf9(Kwdq`=!j(GsqAWVGi zv)36IDr?NRA}iCM$0KBt!>P)2q%f?$v>e)1sl`LWVeK6zwugX|`3jR~YzXpq4o;*w zR&&F3dXu*C{H5!6<=~ZjC+xnSOmCIk&pVx5*1J(dP9B%}t-^-y%jf4Jbo6?k`Nrv= zrM&*soqy%fU-YAP?Gv)IQ5(IFK8WePd`fTh_{W_aiJUwy>6|8#U(t16%)Q=#ir-qZ z#)<3|B86oaz%Xb)^BfkPHGLH|=L%05oi~`Ob}&QjyDQVc4h{vSuMEyk)@^$qQg#o> zy|S`@NfIkXsiR-?&$`-Bd1T@qNvnJ{Zho}YfO7Cm2hnY@wz7qe68wEU6IB_)nhwUU z;(>a<$eSC(?_(}R@W1$K6+4vu(g$bt&~G_~Fh}Zae!E``X+ljmTUJ~aIh*nF7yFTq z#Sh_07-{5XQ*S$MIz7IMN_hiKU=@B{U*?!8RrB_Fhs+o4yhdLrNX+$Fwu%Zm79#me zuGb!X^u8}sv|te9dlJzS`u##Zw@_=4XAJh_B(k zQ1l~MAqWYz4rQ&Wa7WN%rKU*31-6qEZpJUc{a)X!7M{u`3P=HYNUFLOz4AHWNMKx5 z*7byuDbCc~+}X1HJoet}7VdOHwh%SgoJ-KWo$t{I|wcxB4NTBX$MKGQ?@C5E%)bdS#bhc^xpG7Cj8tdwavRxR7~ zTq%xylv^va($$e26ri@dE2uV7NL>(2`PS#$%DEBcj|0YA0%l}N{y4V;RfZ1@MI(WAMKVhuO96vFaVr+&2jk{unumhKUK)L)Xaah9p`Zh0T5^VJfi zXYDTd^cP>m9kevJxF>2fZ`~ktM%fWo^9Z?E{ocib)X*SIv#)z1>S-8FkrnRn>sPIn za+~J`-c=m~Hq3sTj=uvy{c8yc4}eDz3I3X^Ytyqc2NiGEmnJ46rn%9?ufZLt$VQiRrxZv8F9=%KB0b z=`N4DoAuU$EI)dvIrTJQw&LRQxTn3_JU3_bR&l*a6*cfrRTTkTZLkMq1cSPAW4453 zQ>Kc@+7s&$@#8Udn0t!}!BD0w$l3c0r9yg{B`?>gM!C|#@eb6 zwUx$=ho0E6P~puYwhH)*j*ktynRr9AzF~Fy$PNSdO5d8R#Z){_r_Mp3$&_UIL0NE+ zeKg=9?Dp!&G!a)@1Emn;n@medz9_P*6@QU~fSYezTqXi^45D^7mb zWNUaBLopTEk6>A=i@${WV6=NmqH12fAEVrNn;u3sm%dc~PXc)QS$#KIocb(=JT212 zYp)FZcB4LMsCR&9M)o`{4dgn8Q6dG)6 zwVM)qbY>xWcb5gq|k)XjBSHP@g6>Bv$<|^6+fDrj;*q?h)6|$G{tE7|Un@tkg ztCJjgnzwk>9?LGehA~f6go2=`7%Xm}GLg?;eQu`3q~t}JoqndIw?U&jN!7?2lj-_v z@8%%^4NJ<>8o}5~GnM+00y`_vcBl>J!=v~k%w)|k4;z{D06a|5)to4f1%Olu?2d*gp51$6bPI8r$KQqQ>;s zKFm9@SqRtlaHu=FuIu}Xts?3@Hd#0@KsLEBiCx;~liT`e%itIHx3gXejYo&m4haS7 z77f!D{U$v8`u5+D!1WlMx~5sLQDWn-BVbnVC0q}b)4xlNXY{{gU8Mzr`we>xto9aU zD57zL%P-AJVa!;;E^!Mni#K2+BQRxbA|#Y_@CVhm`w6T!g2)Jsu>;(s{Sn#a@{;FN zvKKDWvL;PdF?P?p9#K%Pc)H6KU%@ho<3e9$sD@vhy^xOlaPhDhR4G zYB_P7d{bUJ$ph78T$PJxY{B~M+zYb?6A(k5KMw6}H?Cf7v>#dob=mIeA9=dMxEBcv zS$+3@`ud|@+QW*p_)~O#A~mJ)i5-?HSjT7nTlGsGH^m=lu;GSi^F1~VLZ`H5Ny>o% zvuwWs+2NKNtk`_&j5H-4s))wiGl{pBqR|k!naIQ&CICqth-p_o(HThHxPSF8o=Rr| zzh4VC%0?~>4!NaS;2aocMn8`*u?*`SacgF%PGrmv)C9?i&1c`%JpiF;S*5NZy2Q$w zVnRl)E;HHn_x2{+F$_vOu2)!p?Ny*eR{+UiHe-Dk9#nmoqo)>3!sfR28r0a-KQwez2xcy)iu5+ zKxA+O3Gc+y{QPP@Sos*e|H@$q8qsa#oIgYEb!C%%*`;bcaTKPO*fTts-&>(uRA_WR zGvCFz?WlLPcvoC>@Dlf!qc zpZxK1yyGhj$3&j)gUILII&-{zc!?Kd)w0EQg|RzHUQ&`t%SSxNj0Z$2s(oqQ$W^3M zX;Ob5ER<$?%^dpS-tG5i$S64e!`tV~M{my&-l?=D(*KuH5NN0}uN+7;R0%Zw_*adD z0`u8;x!l2;ZaUaxAvv4KfBxfV$FpRF6+BVf_dhRZz1Vq*ePkLo(=_^@OmWGMb) z=Q!R!I%W_KB}OD^DMbMCEY6Rug=!LYMV+yw<^ToA^6|JP*mV} z`0!Pu`{weC->a2&$J_0MEzj%!*%|_LRxbCWY>*E&go*P%Ox*vROgdeTFTU^qeOK4L zC$sDc;naW8tA7srAMF)Y-qRC?8W=~(|4M8A%X2dD7BF{=sy}J|<~KhAyKS8pd;Blo z@K-;Q{RCJ8r7M-^{Q3XB%dLMZ2tKz?W_E*g~(#TY0b#*FCy1ElHGN4xDpA7!a;=X^+ z|06sgIq3XcG}<1u3O7>(?_;it{he<8pg3VXbB07(x>WP}pO<)VWKw2p zjU9F}-c+lgPz{#XVHzxctQ6;cZ<+4_hfbGFLf@WD?7J*p%4^z$QpCNGc+RD}OnQ1m z%T4@Y#U7B%^PvjSf+dc6!jeVHW&IAPY#~Tv-!8o>kKxqiW%HjTVBi#g|8++^@Tr)s zgcA!vWnooo!$*GW(HZi;`+7wGK93#Ph8%zUWl4Wl5(m%ik$>^{@Ba*kZoh%5Wqd4K z`!HefJl&bIfA=MMiQ=^~>D4pUu3P_$DX}7R+PA$T8T9w3@yDx2XJUv|+3}y0{%+TR zK@5`5uOjX^k^k-CoC&OY|EQ3uCVqfL)+Z`HAvW{;f0K-JW#kC);?fU=<8`lCckyz>n`>b$hxqY{UYa*@-e3iW4 z-t3DVNfous{it@VzLIAlI1tw0ipuR3?A4mAdY32b3oE*<64SwZ4EOI>1Z(VvQD#M- zpvTKJud(qdAOo7xafi&-O7u^UU#ZS8M5q#)^13LF_u%ly?r6QDTS`jr^5E5rc;L?ZXYsFEF<$E zB&SM?1DRjNLkwlBdvF-l((^_)UY}|cYQ6wnk;d(|OKn-1a)gTl#)ncGY5Vu@N(VFF zzxA^RoG?N-@*E%Wq{5)dw8DYfXL*57uYUWv+rUFq$l^PX+bSA4 ziTsF=tu+Q-aD?B^B4Xs{PO#gHH*6C2xc5_@8w`hYH3$=pu@X7OYy3$CP;ZwoS!w4* z?lf_K!T!v;&zhN1tcUls1^J%)y!UbQ<+Sif6Svheb(mw?lf_(mypK=>+wH+2Aa;#R zfN{kn>AkD(^UaUdF-{&KzK;qO?=N0ha<|(1ZNLArJt?PNLo;Z%DvtE>__7Wuz`3AK zhITYn%>3#~Kl5DDL&vcaiKulynjWN~$rqVUMn$kYZu0xPg6sXv3`OwZ88^w*%fkju zTdYiSZ>|sy5T-bflH1@JS%V5LS%TiVo>WmNEdlUfSpO{U-XBtd6vVqCd7jO?tWOfo z^O-OcX(6S}K|=dCe~C#D~(jbO*M2M^7w zNY!7!YtKo;xTJb}K8 zc~08GYHWr@6Ae+fiwUDHxRg1Zc@t@HWw7(*fu#b;ZX7b;301MiM@nQ?`@k=d6xTpc zr(pR+yOV(GS+MG+$}{ij!`oK4$|4g#`960$M(%5O;NKr_ShjS=zHD z6`qkWwYP;^JPa~nM zglqg`Sl_Xp=6kQcKT95f>uwq(D(nC^iD34ZVnMuNuYeSPYhuvKDEP|uK3YHlQOMSZ4}`^SLemA4bktkRy^?aJ^Wz6mB;a>mEh#Ohpf>W^D+7vc)J>7CYBKTe zqv6S`bH3`l-X`Z?qa={pF)Sz@ZEnph?X)Wn6Rea?T zcxoKB4;(-Vlk=$Z_H2|6p7B9*Hl}l(lz&3lWl#h|cew~f5-}VI9em<-9QOiB!1pT- zg}r;&u1qT1vwH)o`6^dfN1WIIx!s%rM3s9ClzxB$L=`oB$ml3#eUSATd~2UQ{!r)( zh#AIik2Tf7)9cOE5-8FFzIxF265m!6oKVPo(zjMq9A5VpAgI>I46OkT?mv9l)WHQS zo<)|q;9=a-{$1SC0QgqMbggN`vqCHHZ(qPe!x5;|2x6fUo^}_nvP;N06;nkMK#{J- z-XW!#<(uEb_qr6WO&xQnHsDhE1s_T3+ZZDt_5USW3^I;Oi4p&dh;K9t=gqA zBl?E54AKV=w|NljV|>p#Y2YO{KS+D{sUNIMxLSxSn+DB!g#H{EgjyeBrbE5*ah#p4 z@M-$|nmm{~>cxN#VoXom#IPpDV!$XnLssU}{)}stZo@^4uBZ~Dput){pX#ytvg@*B zER~dIq1D3Sw3<%(xW*X2J6fz@Gls4HoTnal=DQNhX6Prmqiu$%DwMAnUQ8=1vUto@ zOZQ;?+9(?EFcz9Lht(@FEEUrtsBDR5hzHB?v0c}syR=?UUQPU#I2 zsk#ij_Ucr%wh9$o=qDylfvWVDl0S}-RFCm1cfyHYD;hX0N0!Is1&90s`&w;q!^4*c zaE$s!ST$+Mcw5s^zQAjj0 zwiYk+g+RgQI2}N)0eaCC{tkS9Dq!^_{g7Sf^m(u2{e`IB3!ykvN54mkBoWnmD@GoS zfvgFt2P!DgzbMr;)BK~QX2%kk^$;=mw>v)1=p?|IMvx-`jE_O-9QuX_WZg(;aW{#j138zxA|pn%JXKUT+t#>AnL zU$m*~rfw_TPKJ^_FU?sj+xby=Hv9vp^AE|sR7rbU(}SD(VcncHpMOJ3tb}zrAEms$+$0epuzFh{ zbFje4Yx!DqvZs7@N-Wih)woG6fv2kxa*T4t@liZ{WvPULiWv{?W3SP|EgkbFmhGad z7?1X4aOj?_0xz*yY zN^cg@ALH5meJAhU5m8ELPPlDn{O(3_H#M~FYGclTo2xa#H~T6jyG8B}J98`czjn@~wP=$iGZb~i7o9j7~hv*{(W)*PPm z4BSwL;~xFOu`Gv*s4J_oq&Y!4rUR$DVSvNwPdIdA!1^sh)B6ouJM}D2ece-kSR4N??$y=5WBBD#VrpFBrXlwCH;*te1TZ zwL)*pW;@v6UZDJ{o3DfHDnczTFu$i~*;wDZJmW%3SBb9~+n;Y+Rnx(#HOMKn7&+li zrY}z6t4MGgt~KX{wC5`^&+3HLIgPUjXsyhm?A6e8jx;4`sd)K@4J@jF8}h$!G`SOV zyZXmHI9JCkY}o7F(f&$*LE^*rmBoSCHud&RnB#4Uirtt>B?E%tq; z+t-EKgH@+wuOKTB9lYdaWC>AuMb?EwCl5@aR3$t4_4FBgj63suc+MoJ0N=riXfjy$ zwdr6w+j)j>PXarH-sy|#pG%1`85y&Ya^e7p|fh zE(!8Nie*CYX8w5wOc*!2>Hr&}VX&sbS(oYPfVTUszY&Qi_3xN$Zn4cn<8{&z4l>a^ z4Npp6A4;{7baxFcdghhbP%yn{UOv}1V7*K#)1!8{KKi!pM(@Q4Lds-T&Wg(m7e)5A zz11lKs%0|8l=@s7fltZ7!@h~BicbjSNsVMP_|n1vWmt^x)t}6j`lJx!)%E7JO(l^~ zfyAVrNL5`l&%AkfxY)Gr@XCC*u@-)EN~IeCnhmc#eVYQ61`0yZdf+@uyt}|QLO@uQ zE^k+Vzs4_Q_%R732~j-~oIkG4sdRX|2_5eFJ@85e!-&!2aHo@J<|XzbfjjyYMK?DC zF;5BU7I(gFuB|fvhz=$zL#1m5KVw{}8#w(GE|AcxmJ{KH*9~q+ummK>StD@WYbU#J zDHV4f;$QAvZR$Gqq3f|U0=M)#@Pcf+-nKpp&}ncO+AI#@;%(p(P~;#ignl2Q)Mu%sj$ z`r34T!cfCBJazQZ|A=%&jVLIlUs#NWdcix_#7Dlz5k_kp*8Fl$dkB@9!n>jPI7}H~ ziWn``amotn1CtjMk?PgSGk2q8vZdmCCsZcDT&OCXJzZ9q$Ln{2Q|g71E`;zPoqlZQ zQq3&*g8C^=PHfJHi#+Mo-iz#*@4rLXF8NM#`0zw36EuMG>JEl$iNO?Nj% zPC+o||1jdOO;EQ*&273RXK-lc`llvU6k+$-$=!jj_)|* z(69R`I#nrj4Qmo9B)tdUC1=UlKbke7y8Tbphm$RsNrjrR%{CLWBPm7-oNvvjWx-8^ zs!Qp=0eWaSS25r0!lbX1Bv1QBy6x^@NGhpHXR1BVgIZNfYHryE98jexEf#I3_et|54 zpC;g5PngFkIyb$0Jlj`R&^Pfd5DXOs6H`NljnT>T-!xGp_0p9%Wk#C?4sjeuDRaCK zXqi^ClC;~)dSnL~`Xb0Id)B63Tx5f`tKG3BG)t%BLsz|>Z$-<6m8558ryK?vJ)RR- z#ij)%W$#;PtM`L(3q1GZ^&?WU)NhH~j$VG9!s@AcP=5Ubrz_jTWaZXy%GRb6bU zdg#2N?rcsRrHjY#dAUlf9QW582E!3xE{0j;-v3IZf}e>rDcy~bz^{SgTE`46b^uKS zk<&O}zF2iakY_()i55Z_TMgV>IBt2Bf~DP7o+XxpBtltE9fd!R7GE%0LHFZ)*t0$xOmMyix8woRD^M_vs-Xg6TIRY~0$h0pH^oNTaI!o;( zkEa(C&Gjm03iDw(x^;zSl2L)f8f2i9myjhCCymh8Io8<@t(ZWp#NUq!oEh z-Yk{dPAr7cOHt^VST_mq9=Uy!MoE=Y0ai1YhP`iY=MkkMn4f%DB7O-s9Gq?WbNpSo z6QoG@%jqwqy)scSH#VeBHO}hwRT4=^A{ZBUcT-J4>phzL;;kHuX0hcL^2l<}i&AJ4 zV}?|T`U-(f(dX^4G>Ph4MQL6c7qb^Snk-XA zizr;5)2u%q%PGdX;p?=G0=SC*3_kT#=E2WF{z#zcxHqdjXutd zp4sordEjauSzt>(qE!54=a~hw!*U5NM~3M~Iy!pHpqMTM0S%{1nf3L&9y+^8;MpPj zz6PW&tGALDv@9ZwE8dP7xXo%TK-G}weu>_7?3VYp3OE}iy|(sB4~-4WeH||_ zO5`wU!dy3-8%n*PHa({zQt%`vxiSmpt@*BvS?v6)1C#b^wt$xG}CK4vW@Zx zpW2dTRf=qD&wk?KT7OhH+xTraND%zR@K4mEE13F$I)YVUP(;t`@W>^*7lh-Q7CoY8 z&5eupD*AojY*W78ebQPorHauV=LliKT>n(CE`2;-Kcjp=CEyongx1B0rd~_t@?&+) z)2mOARc3%HdhqEGfH><0b4Zbk9k_w#!kZX1j~cNxbLN*g6Z-n8Ni3RjXYWQ-6|}$s zi~ff^Z^=yd2k-RoZ3yyUsZ3cKVkIj zF{!k&4Vk9@D~s&*YbPx@tJ$*ml*5L4wyT_|u}6DHshB*TcmHne3wG6Y)DbA~$h^*M zj)u@4D5e}|Y}=31W#Bsr3}QL&2+bq~b~%)`DrC9I9r* zh=Y`fjDp%r!_ELUNZ6Ha#*qS0j)@4|SP6d4JNN!)D=Ka-z{~J4*A9+!5$-4AdK-$@ zVYMlUmGf>*;aMDX2VC9UN|#wR=R>Yzs63t?pg(`bG!{^l`%yWv8_r^?{lV_mre76vaxyi1y7ne%JEYOv>(_2g zPylNj*8r47My;#A)cxi9X>3ZkPJHA(e1|=p9p7Z#neKqF8B@jjS7+-UvZ=mSS~KpL z8l3mojy9Kt*JeL8)=>NyeBpt6ah;78U1#@Ds8B~nJ$ess{!u1CANGt+)0U;l#OwRy zWH&r*e_&}$ve8WT%ZUdCEckW_>Oy4<0h?VtulMn^;qu5TFk9Uos^bqTj*Hfw zJ}?(MQ)CgwKUJIX&Wmc?&eGwKWQ@ph;4d?`*8rf9*pS_~z)ZM(W>7aq8L>hjK8Az~t$~1-k03X_IzdY-hrE zuLS)5(GrXqG{!R8(3_zpKqu!YQYFG*@b-Q=h0lb1`vIP^!KKvifMUBa7pqVp!h^Ts z#GuF{aAiMgCLIH^m;H6IE(nVXapY$M{$JVfT{y5`W_sWaD&_S@Y*6!$y69DCEc`M? z@V~lD4Vmqd0l!!pc!N=A#za#Yw1;3AK^$uXnIVC0XP2d;Kql$IV<$9-$=?ADH9X_O z9t-bfswa@+h!$|>G$&ro9;)c(8R6jdiJ@?0&staVaR~~elVf~jHdz+f#0^vmB>nr7+oe@1=LCAfC{t9vQg|)rt3-W0A zsjF1(wRE{-jluLhJSKYfd&$@tT!T-Nreh@&u`8C*n;|qu%mRC~#CbXMX6q1*7481K z(<>A)<)t=~+xK_3b5|B(KMn{?UHd?7^Inu}o^|O8eL1tv^l`#O2RdOG?~L{B?ZJ5> zRF{IJYiEUlT*c|%d`GNd+sa$L#X0Ip3xVjv@x9*Og4LcaVHHSLm#eQU>*d~hcCcon zU{gZ&^>d+lm;3I1jy^*&$Toc!T@upWVKqpgSUDae~I z4)v9)aHna^N&tx4g9w})onR(V>5JH-(`$8&2iYWzkYR)MyMhSgiVDHTp`1X$6~TsZ z8sb%cx1_K%!HPTDLMi7d+GuZH!pZ93asjb2QMb|CtHUB(CXd8>1-U0Ze3lkiIlFF* zKF6QMvyDZKH;`|y42^l%<#)U64S8)6bi{qx`G9HP>9zZ8BWU)G;w86FO)4%OIwC9p#zFFMD^Z+>;-#Aa7gvin&i>7M+{sAZ`tki+MunLyigQmD95`l>USce z5910e#IH?SVjA61(yInJS$G+!s)gmReXkrukLx-3bj^RK%3JRbr$>2iugVzhgTZ-K z38R55uU{m;T`4gOuiy8F@+{_P=@!`-u-t@~Wt`vBvU!{5P-^gQ&YS{;qi)ZU?nZ3| zgyg^*#J6wdaKLf^QLu#QsRmj{B~A}MRD?QFYXPeY=|PTuoY-t+JYk8jig>{taDxla z4eu<5SWS!mWD26LR0bk|j>9<=Pv9p?nB*B)c~&?_t^^^EkUP)jMI8~zgr6@Ec)Yl# z&}J`wn)rg|GNBMb^Uq{grBgbVI1?(5cyA{ndWbuq7%Uj^5rKUhnz_(Y6S^ik6BRSO zHjI}+P5?;g${sFV^4|%?SK_`h5ft)F=wcXP&F~iXbW21;B`zU$3V#LwN;xBp@3JJn zm1OdQmy3!c#xc!D`cIiZ12TbV^=5{QETVaVJne{8lLFk~7GIy4Z$Ob{nzY=c>Mz<% zEp`mTj2fg&^zbKr6}KyBwXk5^50R9eB;S53-Hm&`>;9*Ha3sT4h#!x|OO`~ymz`U^NU~H3C zP%(q{mKZ1qW`nOZQ2#hydF13QZBW+v=|R^Ln5J|dh7Qg(CI>S8%lRRQfnrMeGuykg&IJzJsoi=P)5V)U4|b;I zaHlIkGwTCg#8;3k-S!5hZlb4GXO@r<<@YojCoeT3TZ9u^J=cLl-*9q6MKJKsR>8tH zb44VI$id1(u|5B4EGq7lPM`b^&W`Ihi_F4CK)*8jzGnBx(@4dKTn#1^TXCP22oI%a{$M;RMkgU zLCYL4{7!tH`iT^vI_d>wpj4Qy}QUzT*bHg!=1_f(@d2UqRbvQqci@7_1>lENF`yW+D- zoN)FPTASN2(*6Xciy_RgJh zWg?MjwVX+y*d<9DTvi*Xi+gn}_F)HDIbRGMGPkTNAgBzGgT=IZ-Z<)}nH*W|6u?D6 z@vAhmjg!ye+AVG%niKyiKYAsm^+(*tM;Y$>W!UhoE5 zzJ`1L&#oMnr?s$t2$i=)Gf`ix2oy7#5bLBIHyhJl^(w)N_1 zN4hi!s_LhG*}6?Y5flD4SZ;B z5o3V^dZDfGrR!H^bx?6vGnz_7&*S{iZP6WoX`72a?q^@%B+cj}71aa?yOg%z_iV`k zi_)Xh*jP)-04g25zDG2haiat1sVM&zY!U;3!p26KC-rGf-t@T9C{zhG$V zVAdIzg)6B~Z6L>q$JUG*_zu-c=4p{&~7ld{ybP66Z$c(Y%KX6z(D0Zy=A5>@#xy_CMt#zogBaC-pF~I8$)&E z`*|cx+tI-q55aB|H%Tjze>hTo3=VphME!I1mB#kv*&6YHUpTZK}RM(kpGS z+;i?X|M}FS;s-&~kP%ZJzut;Q6j~W@LQ~J$q~SyG6A^;K=AWAM=F#4%=rM%JW}R{W z@TI36KEmBA5a|sji7R+_y7S^rd?~HcLsls~yN>y8PjR7f8{h)Eh$^UI_rL?gMPixk zW>-LPoAZX3mMXqRzKBNmI+FpmXWw+zi1V44VYs}H{ujL#-o-p7QICGBfK_ie`1ce% zb9#pK_3t6LwU%>~iV4&VOVhGdwyAZh_jxBQrX3S>mLN2rMNISPOB@boNJ%P17LPdOxt4#7#6Qb=A=it~?Ta2(68^MWwEhUu+ka8EX)n&74{8xLu{{ z8m?4A6py)28Bk7Q5j%Lc$C(1Ie4RpbYNRfm%4U}9(wsQnGmom^@g;p0sM#p9)VEA@ z0ctH2OQ){ytDQfPq~T27U0}`G%AT*S!dxggC|RZR8;G^!ktCDBR^wzz`c_~tZtSB&}{{M+$(~39=?^yoGfnh zV0eKs9)d{A&FD@hkX4NMWi5%L!QX@oK+%sM2e2qUli6rAKnkiy?9qYAj$2;fifIi$@=o$@| z!%20l2o|_W)=7dRn`kCvf=}k9lJ}eV>kBqO^DdviZ7?dpZGlHY?|u_ZbNpJSpw{KX zyHwLm7tWG47(T0*okjl8yt*t{r!nQYq2kHCljh#t4ITB<4j$cE1FgPbji8BUolbM- z*2c8>rCfD19>pa4cE5`RB8G!iW5=uxkntDgt!e|ti%An(esRMY3^vu6dwFk z&9NNG;y+G#hdtf|&KOFTV?TtZH=02cj{vK7AD4Ub^`1^}i3*}hXvs3G3Qy7y%H<+j zmnzH4+|Y~($YWvbjOylpCfckn94y9){KJ5+)P-9insYXr6Sy5moc53k(&IH*B1q>V zqwh-&UtPMWR2}8z$2|4is=h{<^({ODZO7TcI-vS0xnEgEtxt4nbbH~_LtC$7#^yQO z&8wiw)|l@m(H8IdxDixn`?7@ZfIII9e#CG7ITzT<119CX*k*YuzdXCFWD_qGpdhe! zK7-XixHfU*&OV~WFa2iG#D!AiM#>L;bibeap4d`6*hhC``rVeI83 zoF1n)xWW+?!NYbzJ`P{=+ybCElOqoC*6$O;r#7(l$m1Pq_W0jd-JuAt@{zr5prbJO0>G~AUr>9wm#(~`V#9|f z)QxyBlJ*PdAme)-`QHogCoTQOq08c2_{Oxhi*OD1YUi8sTCSP$FD$9 z5@s3!^BFQm{SQ|!t<}#2Do_z(D|CWvINm>i-8Ev-;XUOomUlJlR|!8g_PQ3JllgdW ziLOd+V4eGV9ycgaXJ0>F*j>a>I*wP83vPp?4@CxYGC#29SW!CMv<9^)rtkb zqu!?(%*vvVj1YTPRjgnMf%o*olEHaU+;^lHRCOdAag&iyw7SOxK1QYJZuG8o*6=*K zh^+;*Q<7MzhimDl*JxP+dD>=l*U?|~D#0#`ziMVv$|n(cUbS^Hi)h9H>fd>8XxkVS zRs58rE(zFudifE)u5#`~v9?MDQHCw$0eA4}%%nuVx~wmk^3)U8!OB{~4zAQ);jV=8 zci_Sav6Gk%o?3YFs^SzAJpd7+plbr^FTWVfMH(mLWu^^g@u1MJ^SlWd;=i&$dPx~% z0Jde2`6m!{@uK53m9+(o{6BX&xdfMN6FUsYIra|Iw0k}9ce6NDg_*!KNjBZMH-I0+ijR2=tXUb0Vk2?7+kFInUD$nHbLSnxt#vECgDvDc<@h*+VCy0dqi^TKN<{b+T8`Jv>)n`bIjbXP8C05~AV zT^@h?=mhx(Dm_EVe^!7=%p4$tR|S75^F05D40~*T$|P0&f{E5pLj54wQo7-mfG{IZ zTvYRHu33Dh#U|HG?x5qTuRp2KVLRR{l*JV*zNjPkIl~J`P+h4Rm(SI-M3j1x7i~tR z*Mg(9v6HIDmh~Gta=O!!gmWc0VU{}CjS_|tzeeL`OwCS8lZ{3mb=nodd0ytw@Ieg7pD0{=%8uYF2CdM?0 zdpy3#J`pgVJfrcf)pJSpA9=U?cXPng$&t$k|7k7%B-Nys8|79P(A;^%(JTNeBc8`q z&u7w5;*pu~^^8@f-I#=lYyCX)Oet9G|DR4uvOm+Qf6xCT zo!+-hIp=IfdK5{#h)fY}1SI_Bvi0EeyW7qeUP&(;9j8xW%0lcPjR>Q}FXN7Au91DG zJGdKNym#E^5)xXesDn#SA>ENIZHYX$_$9_EN?Y038jx{Z#@Ic7?UT?;7cl*7-A|jD zB8;QV>{(FI-nv$)?zl37V^Gg(4$(8aGsmQ}s4C$S>M%jxE^9T9uCVjFUR$$D=q6+{ z3hX!C-n~P%BFw8i`_f0Nd2IJ?Lt`w>OBksfx0}zrs8y%!N2X+WJ`+Pl$QT*-?S2p1 zN{ZmQ1xe{e0dQgBLlg2P1E0xzyuU7K|F`5nn}obnZjXO4b>8<-(@o|z_MK3DP8#+u zHc*^8eC-_0Xr*yK94%pE2BFo=o)cE|nB34g@$WQ)<0{f1T%BkS60yU3+mkq#e2pW7`^ zemxW8#4Y=_^67EMy7wkaOv5Iddalp5iI(KZ6BJDp%BqZOTQM!^Z!2!j`MPMZZZM0? zkx=;9i35Y+_y0<$OBOe$md&&V@%Isu{j_$-{Y0O(o$9H${dEG zcYHN^kji5L|HCm&%~w^lJEnP;^k(@=4L0f+Y;jOi<;FCg?(cv`H9Fj&WU<{1V6r&N zUz2-erMNTZyD;c+c~I9zFF@@`JpkSiFTi#SNLTP1&gVIuE1pU9{7h+$$b{P+PmUBj z8Vyjoung9Q3z&=pU`IEUpPC^*QF2<)u`KD;$j-Qa;psJDx=sh~`;VWF6t8ozM;zt` zC36MYjS-tr;R`_;*|c8WbwR0{Hh|u+-pec5|utkvWvK z0E}~hcqKnYec4L@G46m)wV-;Fx_Ca~FId)T5ntCF9^V|tbsE4O$Ke=*gjJK>t<<&) zt@EnVAuDcZ$L2v2?|b7~P!uhz**;MGCds8!qq$o<+8&K!#&p!%Z5y4Ct){Ynx7QCE z&plS|I1@l=Ob;ErmWG=@mTy^R_T_ClLekgC2Wibd0B*GT%)`9HnSWSZa za|_#|uve+4!-&h|Ya@Tiwv}}~4U^nxzAKSByTEz~gr`;tp*a7Md#$eoobmVI--jpf zUbgumIyQWe?~0@6gbz%1y=wU2=KcU^IiwlFk^!hyExKp{vk=4Jd}BJDK~v7-3}^8E z*q3F8e--|6yEm~_qgekG_PxAKwM*84%^A#4JfPmdu)RpY9z7+z2fD5{L|s0ZVcOck zC81X=h0L&@?>eiQBx_&xNRIJogfV-t^DhmT+q`x8pi4g&r!imveJ?7u7;<)RH`N-(X3qmlpqFC|D zYu%W?+>|7vBLqbk5;QdpdcB^$V;?GG8uw8^0CgYTz8v#f>wR|p(8O8Hh0W=C9S!9=yS-W-VU ztOVA;)Sa6AjRM~@j|ZsvbXd6wS%Cpe(^T=ZrDQ&=>hx$ok1Ll)7y+7I9C&IHy3yuf zJBP^Aq|@TSMl3e7t@LMXXM)&H=z>49A%|toxqd9rhnIt~$>9ag&S5vFVC;EjoA=8w z6r)^90!aBf4#P1`@sewb-T6a5zQv4_@)8;i@gE(s8dCQm)xIe@00oeHm*}10>UA`N zx#1I2W{6@gZ`3I&#yI~DEj8;g3rvfH+hPh*v;IPU#hrqtBDS7%PY06G@1u-!Se1!({(uhdPsNe_GIV%s}f8SsS(e(ZF9E9E5S_h9UH?dX!h z^ms9)Lpui^WZsJ0)6&39p!@RHk-!MaZVkNo_M+t&Q*`Glv$fb2zHWo7{K+Do=lGTpvb_#_ zMS!(a`*y>nV#kf6uJC+N2Zu}Sz@1Vt=NxkMbi?`8`~(wd`nixe{u1>}d{rJSGePJ_ zit+1Xk&4VjZ)rB#cEvd#rA`AX16P=|yo+@d#1FZ(I1bS$#pljvN;j+N58$4ccP!bt za!$opb@LLRffBLYHr@Y*0;;F*mMEQrhn!im0td!_`;YD2zii%(KbxJ@`jj`mIh9Hb zs(vo@f3P=yx$;{y3H8;Rh1f`VM^JssoQ`2+3uFbfv*MFu#W)k*w?R(tsRFC4*aJc_$z7zfnR<> z_VFL_2DbSH=Ak>H5S&(XQSU!@#Pfay)^S+S;_&~$dk_90{s+x@ZEE(Pe^A^nz^)Jf z8vp38Dw9RkeA5XWkl<^Z&AjhXHFi z0r-8Ab_N@E8J-EQ`IWD$XRY+o+JXFOk5aNXT@Gkn&-m$@tYG0^NiOtO=KGs_OmQDh zzx*K*ygZo=G?aN)g%GEr!2GiRXd@iJt8l-ZeLTLInx;iFXNp7$+=wLTyz(!Q@#{4D zWOn!EX@8+Qn1?eTS{r`e6gt*CHG{K({am<kfg92dfS~C}>Rz_E`Yg@m z0ujfvyh5&AQITK5HGG;N&~tjN>NE8FNBfLf_TsGB~i@i zVT!?=SG(cmeAX{3Q>%X&mSnf|cM_7TK8GQ{Z2R;CW3s1F__6Ix{+JxzsO?Q5N+P30 zhw%C|Uvz$EjXy%SxV}=kJDj-#2+r!C*0+A)$&s3)S^qv}cN5RPR~Yi@Gz}biAkzMA zS}N~Sx}2pEmp$X<*Q;f@sk`YP18v-FVaQ3og?53|HU$XX%iat5n{rIxT}SJ21I=TN zLa%D)YmAE8FL7dWIx5yRYswCu;b-Aiw( z$;Nf{tL(p2dCU5kJsNbhxZC$qZr+6B4{mwBbrB|QhWIlif0G9 zACPE5t$tCzM`J}N&wH~5N+~+7E@&9Y*z*=+iw-|#_E$t!quz-6@GYhL<##GI4S31v zdDy5}GP{a;<0_f!$_$PuwD18A)p|~%C1d!%8SCe7R@eNP_3y8Hv}*qb>!NYMZSB(j zPSRq&A+&ooG$4D>&*9X>_pPT%FnPH(YYo`?y4`>_cQ>-)>Fw2>cS!JTo?NQADqCr5 znZsdKwnrak&u{(Iwu0AjH3g6L_PQQd47wzI95b)oU)pW$n0YtV@?yv74`%2(3vGqw zht>Z+j?VtLCHs6Kng?^~VaKgU1!_hfy1UZqH?gQV6zM}`EXfC$zoffy<^KN7rqb|EjwG-63fYWvlqvK_Il8GM&IkM zh>$6PB{zC6@io6~C}L)D6*IHQSb__H7KWOlhI|E%f*xkgQbUyTd?o~=oSCb$N~(Ss z;w|q{_LwkSBm#&o@tXQ8rauo4__Ibj+mtorHia39*u_2RDNM`BaABR7V{?~_{rnhH zLm}_a<31dIx;*+>teEsI@idk1C;u2l9DPy4$d@~sQ&#s$7?rZn-S~>@pV3$5oa6pv ze>MtcKdEOk-2IaYEbNcF9e$2?o2RR2SaZchTKL+z?u!-Th%s-lUYXvOTKTnMK)_>( zUNZ(Y6<3d%-3b3);z00em(&cpk~Ozxg3U=?UKK*)p&#Wd5g(1285fGP!5$&q=^{8s zAEC`%h_#qlee#6)y9W%$svO+2PAo8pY%b9ncOy+d96On!B){#@*dga#Q46a&AgHxI>=v)!Zr4US*gd(=<2Jy>dEmRx zfW*GMb)!!%tlavK(Y}G-{}!-hajXo{xU9#*?FQlM#~V2x^^l$GTNOWy4@G0Q!UB2~ zc^8&Hf84Zp@UEb+QKEXXjA6>ejC^nOs!C5`4i-Xplpp(GSyw&weSG`vsjj!hia`@1 zYjbaWJ6DT4VbB|L^~wT{L*Q!6!%r;{$SZ+TJAAf=_Wk(l25!fTZF}@?qH&~${@taJ zrfOl>gBow)FI(lVJ$>?9>)E7Vp_=xUUJ)Zl4Qp0z*@Hi3=0~NAHyFh#A$cTwpp7yq zbf2$%D~y+2c>D*s^qz_?yZA(^t?7_@x67x;DlUs1mS?cDzlFSSJ1HhU*6e{&T2$Gg9tKyap66`7?a z6kjPy6ZB@4k)Ap~^!<_ewL3rIGF@yqm{YW&-4g-oa3 zCHdylj_%+TC@SQW-f`mb_kQ&avtDl}Wa5t(KYyn<7NN>UM^BwwqXiOP!0ThkuH!;# zzV=gtwXs2;j|j(2QGIt7h5372`Kp=rBo!sFQRQ1$yn@3h1;&;A4+ht_uPbT-$2Gw24r;GhDjgv8PCVEom;(Q=}HWlmD* z!@3O`$y0>{7q4v#e56dGI6ZsZMGCc5GDw^81dCfwQ~%cz&~6^NTpd}`dL8CPuo@zX z`IhHBDRr3#xDBh0ElE4N(#;Vo(Hz8_3%&1sPKu@c_r)e#thl#;IUxI@+JEe7)gS<~ zNAWZ3wTBsJf=n5EIs-9TY_RfEl^);;W} z^lst4+lMW;c=nGJI=x#-G`-%}F>SGs|JyGA#*6j(3FNy@hGNr&NsAic+^-_7@=MI= z_Vk;d(k=3Aj}khC)c$d{?N`*}2O&Z+B2A>4={Ybd+BQT%ZrfjTx=Vl|t0e20Gkg&2 z+(|fMnU8Rpb~yVCuyBR?Ewo>Ew#1Kq^nZ8#A3=^+NA>?Q6Wu+#SsabqbOt~dO7q&;2AqUhp>TwB?4*Y3CjK$`m-X1Fab&}#divo@y=CXtAax2B7YQT;Kg=9-0!w&C4PM~U7Szp*Ei&R;h{5pd(QArdyaZFrad~K zzOi-1*(S4VD`uIom)s;cv#V_q_vWeukWA{ zqr2t}dHI&9ebO56?|#&hYwe=m9Gya%jtV5Hg=aSTK6mW$Ka{nko_1bMz(39~N%iG? zHRM!539dMR&++-VH*hsIZ9?^i8Y|ef+UB0RnRSFZ8_@5gQ$1Ie#==H2;y)TtLO(2| z*X7;n3+>`JCtLPRO9ZWAK*v7aEL>^lJ=&NkNAt~ni5kxwN#Q%!w8;_;V>`^nr?~a} zUm9jo;Md|d!`&xU6(~PW2nxRlWXNza3eXS20J>o0GjWO$^ej|uhT-bz6KEKT!CX6Si`;j6WmJX)52 z?%Af+-_Wc7my>vR4{qMwLv1sz6O;`59_Y%^uG845;TKeSyW0)lC|{gM0v2DQ1!cd# z3tX6VArzBnb9ZedzNztkOe=D;e_R-_o4Pe`9!4j@%iBV>-U?V>ot>bBZ)*PCpCxkq z%AJH0de&g7{#(|P_oCRYptLNEyN!VbM70rQ6d$!krKkQBX2%`Z-g=dyP+w9=!TWQL zDf?t`0qbiqDpW$CX2%3(K-UKHaFMf2V+Cs5Bi3;2^8W~S&x z>NaP*3I&e88N;rKd7+=_Yp{(ryawMqJyHDwb-XPlkn+m^PU_cvsXF`SUrEg6qX&6eSkV_Wx~k$(xS3_3=!3 z>Yti7#aq&1GoHlQC#W;BmSUFnv9O%VmOPz^$asnIyGGztp2q8=f9L9^f@(NW_;trt z22+H2P!1AD|J(WU*PV|D|8@OO-p*O&VslDB*M=Ike9)m4F*~4!t48@V&J1}wONVQW zQh%mxuc8WYn#$ck-)=t`FPvm=LqU8reW4L}BE)^@aC}y)9ft}IDNiKVnMz?YIP-O} z+T1B~xBkL9rbd`zE(xBm^(1+>_WUA#+|u|u@)OKxyyVX1mUXB zskhGI1Eb6UR^W{GbNg_QB7Ma)++Z|z*de9r&mZp$t^$LDE2c3~!#)bC<`cf%@yLRy zpyyu!CK@u01Ui3C*z)5o*jB$e7yOwmQ3NK;8rv%=p;33qxW2(}4v?t%*UQ56Xr3D84n-%&H~VzAPrmRPvaSEtmP0 z6Oa#l9>;Hga`bz!jPMH0*wl8Me$tJ#7u>o_tDg&vGk10YcbCtg`25?dnqu?5x$V*XQxcefrZQjcv`dWF z$3Gg3&0K=1NnIu94A|qH$my>+{ka3~R&As`t@c9~UZ2qIbpCd^wGQx6yJ_@GJ=RKN zkqF~lUt5r>SW5V;<&9lDZw>awKKrPHvCAm?0BEJ#%ancsI;@*L*uyW$)5&qu=7W5_6xl`rvSR<~B;3gOG-wuSnbPiUQPcaN5O?2k% z0_}EH#2c^9_PH*_^_>a0+Vogq@$;@scvQ85g!?IGe)YiXbjXiJF!^_#y|8vo0rTtN z|8kx4?iPM!rGT@Wt=df{9H&~V7X7X=z}L&aIM<`#!f-k5&1y^3ihhl>inA&TiLLRQ zVYXhpN;li6-mTY2xTmWBUG%f@DWR5BsE-!7>b$lMx$0&Do_~793}9v@RirJ1UKrZO zn4)Wy2VYbYv=2y>xH){g+wyYz(*IZ4mB&N9wQ)(Pthpr_OQn=7m5?k$B}8P6gxhB9 zTb8lSSlTFqY+0ru>nKYJWn?5$)+EH(E+$LH7)DdWjQ8lew|npBz2@@Q%*XHi&U2o# z%(HyY_sLQGNOD|u?TDoHaES?c?eLyQAMbso+xj^J^B@edK=QA|`6$VZHmloLc}Dee zRh~}tPEa*-AO<5cT%C3Rgdu6*WsLJj=g0MliXS+U6fURFT(%bG)i#M(3%17emW!xW-78@jxrwnzWR#l^ACF^#Y z>f%7YxdUuDhhdG>UV9I9<)UlEMsRKO{NsnIM<=fCfL_dvcHI5uH@kIGNz>j^rp(Ky z=5s#e80<%1HHa$c!FydlXD zZpad2s6o=sH9QGHWNMqbIS&@yc-mi)T(JG9F~VzDd{yVI1|P2ln2@sMTnNuiG@Sbj zB2!60#uJl=Tz)ru$X#Vh8nd1jQAe^=EFE%Yp9~w5$Fw1Ps*;t+ajluU#jl=Ssu!*9 zArj{UQW&)KFt#af)Gy)3=mz~>if7UfTImQoMUsX=48vOS6xRQtDjgtWvu6XyFyPxO zSC=;TWU1fs9-lir1i-B~ox2d>GUozgpUZ-etuX-@un2QR0KT;Nmq z(CbUipPF#nxNPmha$T?W&Vx!Kq>?N@YTAr~U%%23|5o@`3B?8Z<2x>H43y7C`2j3T zE_pvH(EwPZd%TRL0_H|@eO-j}aTHlwvLJsj_DlSHdEW_NGu8g}y4!VXY|HgZ=a=R% zb50;FZXp{t;3d5i9k-mA-t$(KP`h!2YYU+U*e7|MF;D|w^j?eI_YtQ}SJ?I*#gsrC zoqn7&d)p&W4ij?k0YWAc(1YkDKGOWWz~|0_P*+R+hmn#(lfP5Axvn%Wz|#8}@x?qY z_=xY3l%w?dS#ni2ozYs(u8upV7u(3Ce?ViP5Kue~x2c~VJh$7`H~>!_?0+8K3WajD zq?BIg}soE#XFw`>wKGni!Qo>dm#c`{GW$vA_TUzVorXa8#5y@ zpWKw209Qz{C62mKD0d^Kf(!1^aeAw?hhUA(1`ghp4a9$b06w5nhNsktQPHM3?wOGz zT>GD_(4B3F-Zf2YQzKtc$`9olczof-%}Sb~zREN=d$rZWI$r0Lz-^C+JmwTp9mpw~7EQai$2(=m`9B0f}CP9J?|AL&+KF*w~7!!8!_!<}fF zJ(q8e0p_bw;sC(4CAcxa#Vd?s^UTVl^yjy@vq%bQL6*a4%NSTZxRH5hWd0elo|G>N z*jQWA6Av$#<^_Yaz&@C4n;}HQLFNov`5ZI~{`+j-u`|2B4O~yWS75!>G&g}av?a|e_rgQKkuKa=9WLNw- z89v%w54@g4k?oC2f0wLbnK>%La*kLHu&ol~J5LkQ2*X$rW944*`3Cp&Y5jNDptZ*>%Qv zvo185)@2jb0ifU()_~6@w~qF!jix~ls`uL}Ce7<)gCx{5d$RJ}1sM3_a|Qy@a?c-uIzOA{1F3gy5Rr$;iUx*l6Q&SX4j z6r^?A!_q}?`aW+POyZ^6bbK-u*IV7nMa{+220!=A&&NM#ujmx-1HpHG+aO~@2m{gp zpr2=(vgcIQ^5Buwkp|$wuk7;dgow>vO}MuH(sKc4 z-%>^9E*)E#=P^Rvg4HXWUo42aH}~3z3QJYu*&_&+M*%*QgU1MtozxfNI>0rrI+lJy z4)f)B+5qEhJ=GM0DiE7tWa%O^xSG246T^9#PQ>xC=1RiN!Mm;%S%cT1#gipI6mw9( z4mbS9MikDa?e$%}@LWfVT(D`GhssG&l%Kyy1h{TDfor<#?cT(kZ4|GN~37rV|6?fD#l4Y1RQ zaC>)4B4h_?-n>m}cJE^Ge$(4_0ReZN@s!6_u`;h8h-xn=RAgcBD(A~4j3k0*BBPWH zwv8>+i@de$5(%v*aGO6)Psp`Vg-3-Otm@!|Atl4Equbk>W?_Jk5HRrG^PB3^;o^tn z65J06def<2p!c@P8d^ILY!t-Qo@LWxx~Kz2zAX_P@PK~3SHQNVJTWT+h(;Ob2i9*( z5BvqvXa>tO6oEM*p@0@OAki~?an35@7S@*VSw;o9NYQ=kRk>8NGjJBGjP>rRv=AEB z7*(BNi)_PxIrRw71oPzVOZ$Uy9Ta>0m z)`Bk1(AapY-?eTZ*l}Eq!&(;<6e@C{04hU+mV{ye&AbP=+W<5us&7WZFKSl2Z>o8W zv}GEHw{*qL7BUma=JJyqa+bwmC0`R z=_!6H-Tp3#N$uU|ZZPoKDDoL%Okl0T=nq&Irz z+Zn%(^2)aB?FVegf9-h8&xJdoaUx4csC zx{I)dgfEG_ziCH-pXH*-<9T7bSGD)pxbF+-S?NL*f}o8lH#7px?PY+?l=+l0)$7zT zR?vgaOnV??gW4OJg%Nwx2BrPdSzxW-;@}U96B95~sS8|MSjrDf!W_0CIhysRZWpT`%F@(~*o6{ilV^{e@lbaDRV%{YmP zaM%rH?irnxV8p3S)ZER}+JN2Pp~#V!k*{JnhEXFPSvP6%B_x z+#13R_+|+L>9Qd9&fhUImE7=wSLK3%UBf;#wQhWw74Kn@!#?US4+nYGNlE=!KO)t@ zb#`JdM%D#k<}|wjLzS7)8HB?fBp{TX>BUO1KQYK4*Tt^tBy4HETwaCP!7)z)I{6_ z*Hd*i3m5WC+@Xn)ePgNpPf6&oGrZ~RjHW&oUg+%ErBy-$5Q%cuC-h_ncq+Qr0 zk$@+(lhZ`HTe3Oj9D(Onq!wp9LISb#rFdh!`2m@ka;2*97(VrH*)Z}e=lYEy{H#JN z2lvEcElHd(l#~Q-%Twj(eR4$j{&7*r7_UNDRa4KS@2;DwIKFkZnhqw9;_ovTM~r)s zLmA$t7)=s+h?aClh8(SsRs2F-_=0D3BWK&ut6b*KVh6oi=kE2X-$5>X^?02$g4!!Q zVGW3YZiq7`n+=Jb+jed6D<6Q5lsR9GRKWKYlp}6a-JdPMN}0W%C8EvFYsAltZI#+& zXAxTDWBJ<0(1ln+) zPtj$M<)~wS&{q+fmv%=?QUx{ejo|8}CW`_0ARSfPnf6$@zqm zZ}l#_FnWuZ=k48f@pgru?-|JF0+?UsaxijGp`8waIy~oM9Z2rG%hVI85BYi4>zT77 zP|TAp2WB^{+S>E0&|CA4ly*$|kRrVe(Y$ZnADg)bn!*NQERFW+^sI(nkfd-QMKPrs z+L6t0>yf$xTf8}bb~s@GYIIPE(H~cP!_c4+n<9OQv?Fx(Pqf-?fGSfsb(?#&c5EE% z00aSLldanHvquDn`-|^;E9sNrK6O2OPT;=BqTMTvpL+SfQQMMJY$$}wK0(1h#{M5b zbJ-fpMO^lv^)-K#1<46<)?3FS#PqkpXq^Ou*7+vM^HX*fb{!l0e^Tc^YP^7cPzXUy z?mtz_!hrxo*P?F$dJPHKt;9lae^sV{;9G#D`jC>P8)M=j#-yw#2L4Uxz zZe>A97k96vUEau? z0A!bSzg^>#eaOQNe1UjwUwvP8f4rO|7SR!$ABj7 zz>qw*2E_=R0(D!u>WxS ztZZVf?SDIjZfMkOSc8GW)c1#w3!M{JT(l~;nz#?V5_zac5);p5bTh(nc zI2dVLs4A8;C{750Vf8!@kOIo~ZtLo@3P{H4XuZee2u-q-c0C6NV}0y}o&P%Sl~Gx9 z6m$l5bQ1PXR=zWhKen2tezXV^Unj)SIEdP~ib|LNrFCkZHu6nTK1)qexw+{oujDNq8O3q`)Cf#9iC&bZ?J7T|#EL rZkNn6+z6k@(90Es2BP=(xLOtaY{7<&4Ttuyfj@m6qmxC)e+~a1X=~hg literal 0 HcmV?d00001 diff --git a/src/.vuepress/public/img/sha512-04.png b/src/.vuepress/public/img/sha512-04.png new file mode 100644 index 0000000000000000000000000000000000000000..4d877c6819e5a601fbee270a7628fbb8490e571e GIT binary patch literal 63764 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 literal 0 HcmV?d00001 diff --git a/src/.vuepress/public/img/sha512-05.png b/src/.vuepress/public/img/sha512-05.png new file mode 100644 index 0000000000000000000000000000000000000000..aa05b3acc0f2bf65e2558e7a439569fd92689a13 GIT binary patch literal 62371 zcmbUI2Ut_fw=j%@^xk_1DbkT95PDPThyv0OPzS*824dkYd z-$3XSTk26H*m^jaF_1N%_HIW*ASe!X*HmvUfm9b*taArSTpE&LP zDyj9W71AVQ*tK&Qqp_6$c@_e`c?BFf*cJJrsCT0N4e-g|BgDA1rZI5J{nk<`Oy-lo z%l9ntyMLs2X}C@qN-UMvh6Kc9hsvQ8Lb8qR zV4M2Nl_Eb%;qYEKCm}e7v6i-0mHIJ`S}pZP5X|}ACzf8mRw>2Sj4gRA07!%t*P4! z5X@oGsr4B$`4d(|g~yJm>XCwwU-hgWQa_@y z#&+%rKBRA@t&U8Cr5rk*(=U+etV|yY5Px`OC@8>|DfcGM{zJ53T{&(hWfT7MNI})- zA9jpH$^$19GjXMpFO&O=AGiq4vF<0IX=;C%-KN`?-sbja`pUeR;Hkc>jxN#uxh(N2 z8NZ)&9c*V`ERhJwf`sZ4eWLbb_M`iq!qgkuYhNd5##4ne#lRAy*Ix~zw?o^p)aKL{ z%wX>ckjFpk$z8SdR((V-%9fKhAEWT5Jz*C{wx+b|csK`i>yTBVhYxJ6=^QqllbnlQ zlUzSih1#lkbK_Dy0t>@lz^K$nR>|$s#q~`%nW?N2R(oHqh1fr+g95Y8A?MawT3V+4 zMtmA^{0;h_Oc1Rj0lDG1@cWwY9we&1)TPd7POo^J^O)i>a_Ch(*K7f+jy}H^*K~SK zdf_|eA>&sfuX5{IXPfFb>r?8j>b*7yeer$$+dlfv`tthnZypSi4byCpZ89ATUq~Ns z9y@P5;qac(pn3y(UQ@9qm_FT{3f2RMu6PVkXDg62KLGQ18b4x zM^Zt%tmI6{)1jxaPX{vPGqp15vOKbQvLv&Hv*1EHCWeA>g1T8ISziSCO+rjMN5=Ej z3wsJ0g7t6mtK}Rj{GKm9Z>zwoAgfrcu$d@-ZT-ov|6VURKNxez+3DXLsX;+03 zz|^%GWqGy`-NuhlnuwIvl~$8};mSJI`bDDR^T$6W4}LC`1Z(=4>1YmH37NZh%7W3!RAzm$JyK(Bnfzr25cK#D()zh3~0f8jROsY?h^ zh{Ea1Q>~MxQ-+wVPxRzyoji!ZT;5~bi#Pjx_e+jkf2pzgPLIHF%gg>%$JsZA@~@^@8D z6Z2A8hQGk}bK9W`1K)n#;4Oloy2?)@*6sdqojlr?==Zj-ag-iBGGvx!gU{gCjJoox$=9f=MI!pzeBmAm8KHg}C?J3X0b zvqgSat8?P`yAfX5>ba8aN@pbW%zJ%?X{Aiv|x6(YS|j)i4VUFfvl_y91*8(3pI-T*9MKy(t;{w zNAK52*B^hPwaO(beM%pEe)5a;_d;+#Qr9iXZ}?9Gy>sQ*pL`+Zn$YlFytUX45*mgE zu~chnOXkjeVDN_k^W74manpmA*v0_M)2@)4_vj{}{gbn#X{+kO_ErD&5xu$5PZnn_ z%wF@0N;i3nUS$e<3e3ny3$C5Jz?P4Gs#~$5E!D$l0Me=*-Vsr$P}|)bK84aivgZvF9!wt?bO1a@lfW zv#E@e`5ty}8l$?taWs44q^E}^h$$0d;bJpm;bBVHn52Zw@;_xQYym8s|GdA4g%$6L zh5O%a^fCEgS2`yB1@m7y&bv4)0?aRJOagwm_kUUwAU@#ypEA}GrVdN>nfj9_nEaW8 zucM=7CrA@3Hyoh{X>Wjc z9^QZTg9QM}V~QS*{&t)|4|h*Ld7vWqe_F_6%748UVW`bgW)rd)mii`bE-xyH9UvK3NU4f47<{GXZm^H)TPcpl|6eu# z7vukeH2YtW;{U&(|Euc%AN0AOqp!M`2L`9V(*LE`f8+h%mH!P05c_ND|7$7!Yn}h| z7PHVw!~n7XA(|3#;1(qrhK{VR8U`kq9K&V*xx6q>0ZjTU$D}~=1d3EcEG!kQCmO0I zKp^I9Kgk{6-ao0g#fZnt&g3H0Fs9RY5 zA-(Yf-lwjVybZVTpvjPVq!JP|799UuZnNb;8_7Oxz1x0feYJ1{iu3&zg0^S^4jH!q zkBrN>?{Rbf<2&8v-sb(0Er#;fG}u&>|L~3yi1PhLE}a$}JglATVveh!@=xz$EfrYk zl3@k+KgNYkCGhw=_~I5J(WN1WAgLdx{}-Txxsl+De5#6j{{rT*0cMCHGIKotcnvx4 z$x;pMs{5hg_b(|aQYGqH{$6U~1?YQuC4OtfyJ z=07DChOGbJ==H&}X6fdIh;{vhh;>KfinRyTKV+=`G#gBe1R(riWf_|Pn5{HEc;7pQ zh~=l9z4^yWn4qGMi{X5*0e{lJfLX=;ajMjKSD~4dBQOxUn%`*pFIKajn=|dAs`k(Q zf5DCd?3lea;t*a3KqP7FXea)QvBu%*LXgg|Yvb5@IAuOL!#^iN)EZ^_K&X$vAI5(% z(!qBa{u1u~BlRy}1jw<8P<=(E4*y()XmIM>+YC8vW<}{_IwV-i@Gs;Rce)%l3W97QHnN6=A`boI{>>CMRf_hKxJz&Tg$PQ=!7#IM=8Zju zBe9G0>HY;ro?td>nRAKazriMnVJ2Wx<;dSY`*&hX41?`r^Yh%l zVdca~BGk>OLwF(pkx}dN4<)m07_Z^C5b5QUSQ3UWHCBf0vf}rs5wf+|&x8IEZq8@- z6u$-q4tL&lf4jZx)in_D8{qlDA?qILHSN)|jGQv{frd|1e~X#-|E>2l^QhiY8K|`@ zR7M?}G4O+TWQ*!k1@%9nT-0gGcPQv!HN+pemUlCh=^C5q)BWEiCjGWy4@X?4tFz`Co~XlJk24L1 zLmLT#M{<6Md`bF8Ul5f)G&3Q)B8v}t;_pju#IYd#!Ll|s!x$vU-s#c{xDitN(hWR>}1mXPV#XkpjSo3nYZ zzUr@`7ssin2VK|4Zgp^>gD6E%U_h3T$ANX&zKE>XQuG@1EJxY%wAFp@#h1(9Hk}Xl}VEa88ip&$y^HV|eUCiKMH}8$$iKX}&<@T`1Gb&XyKmL0KO!iwd4V5&448 zn**O$dhY+2KmLWxZu_W{)24hkvg}8RwBG!YwGc(n*s!%vA?vg^eA|}9Q4;XC-x~qF zdsgx-K_V}ubY82OGd#**&a-z6V?a<1rLo9xjyJqJu}}LXu@b$jvwdf$PSDCM{ep!C z*N}u>*tccbC&Em`uZtSt$4ZSm>!ioh9!D1Bhh9+lp%MFBZVGbg4|_gQ+0wwGa7HJ) zxekAN+M~4gq_Bs=M*-PU!Xk-qM8Dn4GqWKHliOIqSzrh4At>Vn7!_@UPfjG)-)vac zt@R(2^MLZkd(Un=+^X9qZ;su<`-1tFL|PVLibor$gCsH)VM|l=k8T3CmG`o4dwk!n zidbZCC+%&Tozp}El_$_~lwMso))p%QKr*~SkQ<)E&D56?|kTI5{%=2wN>(;ZJ z$qym2sdATuVpYq*)9OwijL#QLiqwMhC@31y<~O~e=VeTuBj=&npySVVnq%>^qylPk z{gm-+A+>j#X`d7hLO=YhXoUyPI`U69>1fl;wmfAW4(qVLNIR$-C=9THU-8u`3QsJ4 zY*sk@eq+_-(c)8WIkPjeg9f304SThIe&$@Y2pRaOCo|i7SNJ~rN-Cg653;=!hAsh2 zRagA2nBxq(2OM6P<`DVo+0~hSY6Xc0QT!GQP@r?eq6=y`|d$0O`4DL%}E18(HkM}=T&Co z(ozz@t9`fgI~i%OE=`^6ud_BIr_hv$-VQWIp%gcC)$c36$5nk>9k6Jie7EN`at;Hz z9W+~5wahx@y(d(fR=k{%Pst;g@>>MdOiobLl=`{si$GRvnfv;ZasOiDA{oS8wg zi=i!7w^wWN^A8@_g*TNQyg1m%NDb&vsrh=DZA^tgFLyP$P1d({Ee}A7;P61?R^>`; z*RZHUd(78>6Ry5e#62h2g?A#h=5oH_i5a zPtl{YB#UXv)&BGD&-$KMHm5K>PicBAIy8dB2iRT_*;$NmW?U_q@yin@y>c~d^fZA zIF56q2XAYX(q3tKEz~ko`=o3CtbW&ny~}{GD=nN^q=Y@}Q*Y0$c1_M7-!|)SS6^Pb zM<1^B=}0P~#UetRVSuHmc#gmXG`Ys$-PwHKQVEqH5*8CKX4XjK@ZwjT-lz zlU+CONSQ{{m~7zA#MJ)$Yp*0xiAimx!BT9NdhxXGp%sU;hrf5C*lthFYtg$#MyZ6gYN}lMv+ zE@fUXbb5sb5`P1^z0fSRAhD$QAdtyQ8;&40;MG ze5NgS99$_8wt7MaS{C&UTD(b5Jg)rR?LGEZ`@}zB_h2tOujS@ccHwQgSV(yFFaX5( zl+tKzv}LJDO8g?F|E=4Vf9KzPfWO;hsL-JL`I5s9vs0g`5VAW{xt2i~PA^}`(Aq)k zx+MV#D2<1lCJGK2Iz`spyx=dywuz@KN7%&mZWY@T-IML*d)YU9Zr=quw!T5|8;t z|7&z*Q(A5B)!b2|pA`{m{3xMCWKljtsBKD;&c1D+bqOP#Ux(?Mg1YyUaoR>2n0lg{ z=psmN0H>Kn^|}VxFuRTiQWyeaH?Pyglt0)_^e2tu+aQ<&|6y>+=^P zXy5(0CSSj;a1VTvb&+2K2CjMeu6Ms)WUi89D3mp{z=pUI*QP_i8{ZOmW(N)a(&}Kd zaJI4g=yI~rRUP?!Od+n3HI@#7-kL0Y)3$@`jfvOG)>6ncC`PNd93jF z(p&u=xXP=}K$1g5lD$*O>UlzUMp@_%UP$(Ie0>ois@5rgu#8>9zq2H@Lm5O>5Q0y> zoiPYcWi*(JKGn;#;W+34vJ96Fgbve>TCMlDw-eDU)h#sJv}W^}Aiuh?wXBmj319D~ zc_K#S4sIwu0V%dz;?K*M>NO<`IfB|>&woAU>pbp`m}2l-*sU=*Sw)l##BV;$k_q}^ zvF|uN(+6(&@@+5~LYZ19qk*5^$B_a9p>{ds;;3OV#ugMpW0QAxXl>&%D_* z02*z+XI)10++on*%1_ktS8M_0mCu~DIieMGy^ZX`$Jcm0IY0~I4z!GZB&&A<{feRbi8Fsexduu}z-2ZFi zV-A1oSaw-UEh`ErZU4$}xSGg@9TAK8JoxD6lE1w|QNnza$7T<+X|?4ni%4j@OC4x; zG$>49b7hm!!@01h9YpRh@NF-!q4tDOaYCJAXh@%NizD2OO0lm)P$&E^J>R) z@_EimrLdHvJ0(%EJyVoYs6hCwpnA{l^ZoPn5~tDq&^*Mb#fr7KYJF2d8v3xZ=3Car zWI6QH~a2$BswqteDsvj)q>l0cGk?&*;o# zwbihPu@8;*eFj|nx!l*Cww=rKh)-H%L9#mC9^WAF&>=~Q)s!IN-r(0hbmV#-)^1B3 zbz z!i8rF+F?pegUAIL09IWhToL;+}o}U=R zaeU%_9T8He!}f^UW1_ZmcebIDhvJ?VVWTV|3fZYJyI(g@twbR2vG}@DAD$qC6mSoR!oq-n~x`H5w2zol2& zfFtADz@?4LPa+$p2y0cyTDUwanWn?}Mu5im5RpvZtJD7)V_Nd}07xIHUYs7gNd}B49@p&t4 zy?c$VPS@+Q6L0nLY1VZcvNo9L2MGtdiuC~&M<>@)yOA_;#O zC*q;YCp2Vgj=L z;A8X1&0xpl(sx&*kBZBc%f&yyD2e)WY+^N^SFx=z6vy!<`KGT=^LBwAz7J@nym=W|+Mf z4cVc0fsDr|bZZJTmAl=&&08nZNZGB>VJnUwPJFQaac|i|1zhC!w`gUjivUwl)^9O( zPcSKCK)Nif@B4PF9YQNDYhSeQO|g36{s zhpdV<5)_dYeh9$vx4Vh-{x8{TUf;3ZNO$ zSD5mB_GQfF(bi&6&DJIB)Z&dhKEA1SKm*5CS3zJtgT8sZ;Zj@qe?x4=R+)vacyxZO#3D70o<@+Msob44uROQ z1E=cJw#(-RRBE+BA-gr0XWGJw>EWyB|SXdonmH*yMKa0*`Xy@7GJYMxEujO^kNupWdrZ`n0Y zCcaJZLN(8~@(9BpZTW>-LimllBeCNz%6Ud&8BJqPSVt5!NM_s{Mi*!dl(x3)mTQf# z`8Sem>g+!Tw=NgBxP9gG;aD9?@#%>W>l&Br7Eip$4YKe=osc=9u+=?7zDZdR6l!>nuw0_TJ9g6)TcU>n1clXnqFToJmHi*xE*#( z4JL6+MFzWSkS%LXO78r}jS-D$pu3#Hh|>#=&J^Hi{MpCLO#rC?WhvE?S^?`YBX`JH zlL$i@=CsYT=WiRyrUuykN)518DsV_uqrHcs_V|nOKI1b6k+Qvc=JiYSjoB)* zM!X6T> z+gr=Gq@4OOZI%#K`iK*zD!x`E+Pl^x{00wt)v|c2V$V?}@vz)FOyN#@xg8k}@vo8K zINKZVOS&52B^lj*)6D(mcm&n)jwG>7h<0Zqgs|4f4yx2tZ^93t(a21i=N02dZGG(t&6to8ycCmP_Fv# zLN%S6DKT#y!Ax+C&nYo0b@@Ck>XLd26G&;uP-?)1@HWkSON+x;ghbOd9~Dh za}GLg-{!z)VXR1IxqJDp&g@Z+KT&D__sY9OerS-g=91znWbO7iNb}ikwRn#J_g->q zKxxDl9Xgba|8FCZZImjgIZVt&hySa(=;V3kK&XSrNRdPt$txdU%PK8zEoa#0H_^?} z4)kNOMOE-(|B73BY4+KC8ndiT8&ds*Y8|d0(qplXZJE1{>?rV!ND@0r`8v`i#1y6= z!uA+8!|vyA!*R)Iloc-`$b7VV(@TRN+lw^O^(xIOOVtVs=^-R$KegrS=Ch80b;gM@7y8-AI0SSuI>HXMhpTdnwlyrCZ>8 zv~LPAGC#>1to_gqJjBAj&jSl}9R7CO&yqn*xD6(EO19H@oP|-iM`ZEfH{|>1Q!R#s zaza2^f&7FvVe8EpLC5(Z_}k6dbfr1BQ(QnKu=w|;3AkPdE-Z9361CY;UDTY654Lr#iq{X@9*y&kZ z4nV6vu{*__2G(1+uZ9ObS?DpMIP}&P?E*HS4+7GyKy?)3h1H_~AwvK4{qXajfQS-% zad&<3Iu^A0k*YD#Z=h>`2X(FfOv&wyuLq zg^q1#MT&cmPW~X3Mlt00XySg)NB^x_#X04Eh+I-|?#08&^Krg|K8!bTi0H0A4|#u- zAsIW^^FM(u4ZUpJlPv(`X^usJ{UN{05VQv zy{y5QNRNnIPh;6eo|X>)PVG#holl1uU(EV3iY44G)o!&cFVfNb@BmE)(kx7O88hud zrG|~`Y)g$zW~Yna`R~k3m6^6)WP<=gzGEm-s(!+CspOf!nW9f=Pou}5D(U#dUIcnr zT+p&LlHj~`IU(CoY4mcZQWWoRy@JM5BXfSf;0`(@Uo+>m!Z|%ux=)82yq1_s!=bRV z`x>8(G54sN@2mdTHeO5qMKOHNfZeGx|%Ef(t4Q8FZWjd!MNkpw6hWP>{$pTW)7-%X7?{__;8{%Vw7Y`Jg4`KYK?A@ab47#k=OLk90JMt6cG}MqOgmMqSt-%$ni(ju~SR zfQ@SYh+LPKG1%^P*-Lu%@aQ|NG{cx__m*n5jurjE1E8I+{LbK#H6e@S86A!9JM{%_ zH9AuWe+z)i{b)v8O69)%sD?CvN`f!p4K|zb@_slUBx7CvK;rHl5jT)W+s~gzDdSnR z{4*kd!r%m{_UYxx=XFXRPD`uf(SvCMs*AL^sgnB2OGy+#%MJ4Wp(j9aaum)bWMHQm zPi>aN1GbThXdA>S5KIGL;#RX}Uo6{xU4|K`(P{!}+{W)wLW!0+(2dJ|XH?AvfN6}M z`~!orS{^0hiHCT<#(>KN&e=LqL;{n>$|x({foVJdxvi5~`1@oo}&t zeia&eMq3wgxWco4{^dGMCg@;#Nr;XjgjBE?{kpsos`>HzdUgUaV<%V~X{X#Z|FYFv z_~_94qZn6!+6lxm`)K=%o%Mu)#ZK%4H&Suq$)KGF>K$D8S_F-}ONBh6KclY5;47_! zNn1d@;b$pP*f24B(fMM$?vz2Yqgx4^S3DyQnW_gt#meb%k$~wV7;Cg)ZpEP`l?2%N z&Ef4)pe9@ujF9&@OF9#~2+_!G9RQ36YpwBG*xj~m*)%F|f8tBQL(Lv$q)D&(I}C%u zpV{lLnD=9qbR2c`B)fFVsz(92e6f+SrXHlr4gO>&1$EqtcyTW%%qHG?jYjgkglNm9 zT`38Uphoh&uT>nnnkXVt?bJGcdI2ggc;928Ra~>7GNuQ1elUz#iS=i0qRN~nXi$}a z4}g$ZkVh`8-X7ZSWgkLh*Kv(sZ#2+ic;KT0+*1t17%fo5~(BV@Gi1-Gl5vMQuui58S+7 zIsz`Q$|>$9$$3tcI~T`aIfC?S89VBKMCp>N{x-y`D{ z*{=vAI6@EWHYdWv^ty!d(C6Y};VXKn=~N;tc`m*`lq4!~FcA0VL5q(=77q+}2;i5J0eXz=kAYJg{-oB1C5 zk7PxdOQScETE0-(xEKal51Gp4zwFdZGiXZoVeF?sZHYZ@0u^}h+#@o2`3Vl$OrU;d z@+8Xv>O!i)-7OFuPQ~juEF#qI{6tK$&EI!KR$|xS7p*w7^g)95rCrryzuL`gi_5!) z!`1l8-z$d;1;Fd^rSe!5WS|%i=M#nX&zE^suAOnJ->(b~5!)>e_(WO~MzNKBs+8?&*V$S`8@M>> zJBZ$MvOn-r+Vd1ly9m!_3C8%ML+VoUdkMP|+&9z<-Jo9J=V>`#Ms;$h32~w6+V^2Qj_{N=J?y4MF3tKOzHW`^ zhzr_tX;8gj#}>j={p8ZPvAdW;KBU6&5q)_GK`!6bPO5#~bWMFD1zxQ&|BV|sf4iz( zc%R5)!e|;-jSm}Oc6302k6$_99N)OcWnCYCCL?B!+U{H97bNB$;VDm$B3<=(f1sTQ6_vl@#73pq~rDZ|cM10S&QuO1^$NAJsY$fmfVWA?DU^z^jocIAgF^Pl*m=bD3d~(y#u+FUqUqM!hf?!EXi(Js?Pa*F5){M6#J_4=)UH)molZr^US= ztGWE)j+PWMCcmzs%&@YWFZvLB;23ati_zZZrvqHQj2@mf1Q+I`F%C<^w>bkUZV61< zaY)DY4;G@B*6r}@ zT-lpY7gw^!9^X%GV^lfqBaGI^8h*4_6*5uza2$z}^t&Fpxmx}0q0?hktaz5r8{>1& z6qnozN>>^7DfTTsZt|S0Xcu-s*R$X_?fKlN`C>l?IWsOxrUmyMS+mEKcJD7In-u$- zbaehQu3I~AEXq8U$_$$wm9W9^emtI?Ck+i*P1n)b{Uf;r%MEfZ(t%xIMPgn;3>ov@ zj^ceP7ti*vQic%N(KUB38))RMbw?kIf|A{lD*Ngh<`B%2&_e^XU3lTQyqD0Jv+RZ| zBJFc`@H2MWomRx0MFu-=hm5O51uH5SIO1iu#uG430X}YZVLPLFcZ-7()<`ZfscNmW z*pKb}47xsYCIPxO-1X83hh8J-m6Z5K&~hE^Jy-7x2Wq;M>LLxtM{pNB7vn~ z2>p%Hf&onuOPt_(XSa^W$?Bu7FN-*vxYeee{MHmt!f!h!OgXXgjS4U`jUP7UW` zpCTT>m&xxq+yU^=zBeq}E$m4nOZaTOR7=~d;ze1nTxX=16J3tum|Mu};neIl98Z4KWh4glZ}VSM9~p6uNX=HlRpgzu^e zp}#D=3q9@N*M=-0gf(|aZ;4wiM(2JZo{br^F&(K=b74dT;B|J~Q8}HFzN2GXuI9@} zy~aA;$ir*NG`bfMZT-9XqyA6%1{~@dqzLt9ObpbXqYk%(1`ImrGZ`VN>?#k#xI}{E zQKJ0M`!Ob{y%Bdd-}BLHy_w)!ie8|k6A{MEP|KgG2*2O&)BQmp*_-i*?xH(##ywQbiIiw^WmO8EU_hwnFie)~Z=KA1U zyaJOp{7aoA`q6iy@%=HPMlXoDhN*HN#4<5~&$O;=G6mprxl2sIU_l4YN_hzmG6~1+qvDzG`JdvyTX6kqYsg0C!)2f(-_IvMW2v zVFbP%i_J6kB*^F2L;T&m5UhmejGjVU4X6>zjPWMPrab}+ z0_L@r3pu=yp%((=pp!2Ol?`?G@w-G8h* zdLW#%q#pS5l0AMm#flk5cAY67zqw#y5NXiE?UIt72e;GOh1)Yz(jId^Nv0?iuV4L; z%Ob=rD-7=->XWfq@K3w)+5Ax&QY-{|pM&J$Te0i)-Lj&fr#zx!wrHB0Px=hhq{&|X zl%=r>?M{zo-QVMv3bV84f!kgMep#%VwFz;^($H*rE90+8IBir9fDeh07>-nXtks<+^K6=kbssQ&qeD#SUenzqm za~LuA{IVzwN<9acOyie|n6O)+qC?DTSI}OLS>E(!z~g`a*c0m~A)Fb>KrcAlYfcHX zixuG%c}CJN<=IMyV+u>R^xs!_-#c{PdIne(DlOjJqz!}u7RjJ{O0WdQLPkHz z{g1WIy#6I0Z#d`>JvAbwH#7zSo9{8otPJ681i9MpWxe+NeEa0$*H480-l0joq98K& z_%NH|^dn89969pRrLCLQ?wOp6W}11<@GRlhws|H@Z8=`))w764EsYU(KVYG*4e*mo z77YQAydL8|y%SxOHfzzq(7;H1fX0L4UZg$j5lrEpG&G;KSEJVlFoQ5F59(OEu!R$Z zcPJ61rPU4(-1+0*)Aa<8sX#!heMI#7q4hNiw-gz3L;UQ!pY#e{m)^tkyj8{!Z>&kX z=OJ#tti!1yjyEOJ2*ldviF)p;V(TgJR2f8pgll^8i!E-+%PEx4;kdgzmnSD`I5g7M z8MGanRNq|u1nt6;L50pR_ zmVli2NcCjq!|T{1bxgR7ha6Y6P=;$n(mKHqp6k=yD80JJ#G*l?kv`k7b?GMuz2{6y zafo$$I=vif=BEK_Ue8MG*1{X+O{V&;&G(D;#Z;^~e0bftT~@+rg}vDO&R@zW8?bSd zKADgVj9jCND3jGPhit1A$SbtnBK|NP$dPgtk8=WFP*!$bIN90nJ<7ehH~tl$9hISU zxK0Z|%o@yrZ*={+(-ha}0X;Jfg`oIGq7BEb@HeSkR}By5J)cb$*v1hx#wb%4x|7SoE`zNIZipvtK^;DTg@Qry-=I)SXhr$Yi3SV@LXMkLp-ZwBRn zHxA#&D@|pQr*KQ^WD+2QID@xWZ*1_GV<%wsJn9yzs>|!4(fB=fkPN^Qo8o$s|IX5> z`V~1(7Qs07VWe1vZNk)aubVLh7!xPGo)k4esk2&Jr`W~l6?V8f;9AKY8b06rgOJ??<;Etn^cD)j_4Z)jpY;yPlG4 z6{FOhhOLB+wTsKk2Gn+OxG110xoTlys-U2{i(>|mw(SPE?uo!iyhhbb_|=ZmDDG!5 zn1T>1%^fc>_FGNy{FRHs<0I!I^+wUZ-K}yoDrq~OV>uc^DGbGJYa0xcxG;(F^sT)u z1v_&=UXlD9{~O*RV_4{uU!z`&ESS(%t-|*Xbt)>#)WeyZQKe5jYV~BRdWB)f0-D^Y1^5p4Lqo8{xm`3 zFgw@(Pa4MgL=Xqo9^SA-%6J>#%!vMKI`}gm2IenYia9RE@S{- z(H_+xp}{DwZXuO=t}YR(y@3eSl{=tdcXM>v^OBGP&AG?*lKu7gy~FTV#r@^jUV(F6 zo7q`m%0siPXh>NNkgmn!_YaMp$s_XWCeXJ-dC?YCSqzH-_lqNNZ zC?HL`(jp?#dvA$_DgsKE7U@j^rGy^oNDDpmNDVCs5J-TuyLr$3#{JHDUf=tiG4@~# z7-X-Nwb!0&t~uxbw~9_;eMR}c@?PMZY7co9Y_7s})GOHYUjL~7^&g+|eh;DY>b_f9 zxQW2_Z}9FQo2)XXW|(Xjz}Mqto0otL`}4W!Qy}d&h{OjjzLOuIdpjI#rH$KZ)E!OX z{V91x9@yM?d=_8(rHZJ{c}2eFx8+l7x`ed|HVp8p%+oaO1Me7BUnGmY&^073U!OXy zdzJOv=GjMT0uNhy!gn8~ZX_;UI?d8323l_OhH}-Fo{K%Go@b`i+cItH>@GcFExg3+ z+lRQb+gDhvyscV362%)L0tis$GHu_?7MZxDVzd$JyBUNIJcG6IUsAskJt z^T{jXul8;3nu$+B^mrvIr-tKZXkyVW~vtiBfZ}ox&)eHd^061%2r@dUY+t^KSHVDCYxSjX^+^T=cN8@`HYoY zXWr?6ojY^xRf|HKncA3tN!Xk7YacLDRn#nVP(SZIHlOZ0(pb5&28rS$WW4^^7A}Uk9qwOUvS?KpVjP(g8bprg{$-QLSq*WFxdlQMO7NxGYAPN zf+1VvT}Z^n=VzOem(ds~G5@*kgOXj=*o>$TmM-F7W@{*JZI8hOOGiXp!vjCK2M=qa z{Y1scam_|PN|@(e^V$ls)i1NIG5!id1sisx0@s&+#L7og+48`F50I}Jt1!Q;FJ|&;Q%SOC|uffi!zPDDp(1$MlV=>T$hllPr zrrX`R*L1EuS(=reVxhsmESXZqh9Lr;hV zj=_SZn{)Gl+V|sGHa0|yR&n1mdLTvZGWlgTQLtZaIdAVnN-QP{bv3rTbvhjysU~F9wP`hgucl}KLokO$-0?JAmQaIva zLl-+`k&Ij>hfH3RbNi|Nv`g{4&HV9vFG8Drr5z^5m{*v-SY92ANp9N_t5OP#;b;}= zoA$vpu!S7b=P(d4=eH^S(*Y-#(G^BW>owui~Po27f+=OzC- zmvHCwBUP@RC*e$dL;0wRkC@VwU8=|2{>sH=h@|+TrnO6%DL+h}LRKhYn=Oss$ZnMN z@_fqfyxmN7URmwNPZvyMrL^}KoV-Tq^Y!P)j~=|)9*RT-kJBEs(6^u3-LTn?mF`~}RpR1%)| zHHp2J3B~f6R~$WkS&X}hmCyW{-6M{k%uV5=J!ErPpN;vpO5qRu#8W7)M*@Y99|VBK zu!iIQ4tY^3*A!YDN*k=X*Y%lu9D3mOYht!@GZE2p=-G_+*Ei$?A|6{YZ?k1ft~TG( zvRt=%U2*dd>-0yqza&z*r|W#b3B1RVmG1>b0H&SzVQ)Hhb=d605Q`I-meXI_Ew%Xdz<7UVkSZ_gj~EHcr6VZCvw=YI5EKQ4$hAGS%y~AJ1!RA z4|l2&ksdHU3wOwTLgN(v4t{O!uKGxO^HQX%Jetpu@t!A=`@z;23wL0A1l{y$G`S-- zD>!)n6eSmS>9nI0mUwz`1{uZ12O8jf&o)tCMrtElUV5lfq(T0G3A2iNX*N7 zJX=#%UydZreR!bjbi)x$ltLXl{#+%E$r8sb7e>DJNW-wl3YkVD)LC~^DK`=_b?doL zCy14`u)Zs}^|>dk9(FPab@krrz<}baay|6hA2AI|RYzU%Dru;SFYM-iBfXz9jBa)i zd)YpHe*12;lfu)hws!ODz_5a=63-B`5jH1G{kp7)rB`WWP>5eoSWt!4g9}SFga}`a z&yLZB0|gCGtIL#pGZa9u*t{>N-&FZw$Ev~ZtTOM+*Wh+R$E^SYY@tP-?aJkWKsmOs z%_-U|EhfrNo>lHxe}Nd!nL54qT7$V7$%jC{hO{rQW?!B1pX|&@>lX}MxeK8I7Jy{g zv-!LI`I|kJ#ZuKne_hFDYkht?Ud=F8rzIK5J+L02c{A}<@0B{*LCzyFCo=C7jomZv z59`-YNcy2@Df3&8Z&@t1iQc<9dl@ns(qjwrf9gNS+sxM&CnX&pQl&l7J$KEX)wyf%Kjxg#Mx!4`i+i)nAhruAET{Em4NU=9`;7vzmNq-!DtD3o=Im2du);HC4rpPp*+o}KSv zd}aKJwT#db;XfF%vfE7SHCXN$840Lp{XG1#f^!2~Mm9|;tz%OXSoj9~=epO#Q+a#X z9{x^O=Sk+p$e&9DZ_7UnD5FMcKrW~*MA;YZ<&3WE5 zg}FfCH7opfzc=lo_V4v_?VGGK@G@$SNV5Fm(3$p2{OreC{rFU#EQ9Q>bh&>LgCwe| zI{hOU(VJULM@#+cff_vsyrH>#nGRXH5WLcNqKZ5xKeHLWNiB+3IGkuTqdX2W5~lo+ zmazZyhu7%8Lsed?@-A4x6|M5f*ZWE?rVAeC`v?L63&e+dJAcgZ|Mxo_{F~CL!$2lM zI%ZGsY^fjnAA`XEhPm{Hdj6vr9FkG=zag8%GN~o&G-v*A8tMeSaaRZc$WbqU9Ux*r z#v|ANFq8isPbveT^my_AZwBNf@U0wZXyi{>fiGAg>9M&aPH?*D;aqhkl#AUUy7G_W z<1g#yh0(31-omYQa8}Srl4f3%fLAL%-BW=S(W8wp0hPt(FL4BzSlb!!B2_u&fG0AgC2g?; z)X|#GRcCgjuPD+y{a+~5{@gsMH=iINOC9>38yhzU?kzhb+!uB5pLBKV0tf-aqNb#v zLB($u1U4|;^x0bPm5*Zs-V6(8plBpwC)Q#N(B?=3ihfWR42VTJZ+sl`Xk2JTWOz&o z#gk`J*Q?>mL+=>#x-eg6L%KmE~mks-2+ z;sk7}?5~msVKlQK3g>k?olZo7r>i$hYbOc5KZ7>glJ=_2-pD?t><=8@^y&F>KWNIi z4nKF(xFmjTXGjNJhY)JS_AxrF@mM%a-4W!#%sEFi9lcciXM#QTL&wB9AyJ*EWt-amy94AZbFcZn?@@&=6kqRUR zhMd~ragC+;&q&+F44lP2rnLAQw8n}d@r2IU-$;CbuD|gu95#R3KLak}5>CxR8BB=@ zgNL{DHKYibK(oDHLU?a4@0suYML=MM#iv;vD@zaU^tpjs8{!!|*lNiwE%TqkSy0Y~ z)mmd1PnPfG)_6P!glfd)mx%t+d~luu;5dHVzXF+v0K&tAgF(6K)7f<5qOCbl5@}d$ zB-4yW(O;AlLy#pb4m{r++dn+RcS40sY$@RE)XJ;ZluUvx6zcXxgZrkD4_tV>c-_?^ zZa;c>>m*U|y{z@3U=w&TM5;e3mqz_ccq**|9k40-dWtyS2qU^7ABMOc-6h=m(K~AD zv?4WOo1L>7;X9O#zJm|rNfdHIdF57=>QGRML=`lWVX1Du*QY!NvznzkeBQiv!&unb zJo(^V$hkl8{?B$x$>{&%f;o!GEOp0rP=P&SO%lY9fAQxn^V%LQe{xGarB8nTC{Jug zI@3DSvCIpCJs8=!$3B=&)#>E#AR)yG4`|%=fa*z?hC#!MDPrc;8J~hw84vBJBQ775 z+TL^49S}Vbd_7pxqY>sMKkW}5EaZ?*gp2S=y5P+6UC%dzP-qwH`>!cKu5Cps>RTHo zqe!&W5#A2%+I29t?y`8JE1OUw;Z&Z97n5LDVg^2DZj#ZKDgn?#6*!uMIo?VJRG zQR4R}6KGXW9_gi7mD&V9;>GH66b+Fo>-8urAm`>4i49jDpeDYQ=;NMsuI=dl1EYY7Ed1aWH5RUlj#)wLFh*_VHgYoX!+ZGH9kc? zS&b*3f%V-$wtsxy79$epK5JA|Q4?i@Yu#ylw(%`HCR4)kDaKG3G7~n&0HRh10+dpn z?m$?!fQtJkdFd_DPNtoH9x!{SgRy19~2OPW-7@V(ZaFaJPdU&$QWZ$Ky&S6`}?O!_?P@0FY_XrcZt(zl3U#pCYG>8L zKD{#ma+?fW_NXEn-vdwX38g_&=8a;P&|g2czRt}yn=BlutW?E<43{+8xu zupSSVdml`MQ3{MKO2;vV=!&!82y8_VTl0=Zme5(FQ*2tSqqJr5B?M8Bn;;%)~Hi#zE(sY?k}5f$+&9@ z$7Sk&WQC;7EgTmu3RLu{;=H^4;qVMf*OCs%LKEp&l-0DjHlz(-1j z$cR)GSz+#;bW8P8@xqp6y3|Lh-&@_c)kN@N-T*p?Q6rQQsQ7gs6Ufw}8-vQ}atawf zsS?HH7!X(a2Nw)>jiA`WMX$V;$rmeOXrDcFA_KWM^X$3tx6@XYyc^bnkmosQhyuqi-G#Y9ZxdOtNu=F` z1xga#TK`g9t(QX`Y?2ZXbG(?5Xi3M7Q!XL;`QFBRJ~KvxTn5}{QYHElKuB3HR9lkS zy#CfYf}rSpg7{Ks@HEUvE0yFo!@qbm)LK0m_8UB^}138-DqI z5L*T7Z;bz%g6bHN%YH=SlasN}u4P!Y+dM>6FFF6bifc1ajJ(-C!42mzvVX6v9$3qup>K(8K5V8;Tq$O!+pMVeaAZbO)(xsc6@c!rs~! z*)!xsTCXYe<`_!^S!THY)=`8eO$HKssgik6sg^ThmXh4DU}O3o>yq7Xk<$8=na|sq za)4)eUU_Q@$PeNYul%mIJaYA#&5Z-SY{2g(A*#C~{f!SmKA{vbWk)}`^w>>)DSIzM zCgy4l2)Px?p<0(L1Z8cz!z8m)!5nBydIHXTn{6=%2&W}JWz}P}#`XcPmE-IV^1x?T z*laa%gMY-$w=1Mwc+bq`}z<#J(F zIeJ2mGk9xw$ZGl_P~B@7D=xQ*#wA3ZXP1z> z$=Ed-XDOnHvU&re5-O8%cl_H~QS+`Rwref=Sd}`_mgVl;2L(KD|k78%1p$nfH z&J*_gjb~0`(;4u?k3uYAw~;5t!FWjCp<`v{N`Batf8?DHhs!wNroNdX8E>kma2Nc zU*UkWaF=1`fpfyoP#y`6KKsdkhQ;vcw!vZ(#YNlqcjH6hou|S>S;2m*3oZM0`H*F% z5EFx6VPda2cr(k$5-xV9UMvoDWGpFc&7)BXu*Tp$#h@@h!aZdS+hMqSua}esIokcf zah^r(%ZjZo{5@nZG-fu5NJGIul(04X7tX>DPZBRh%ggyY`5!xd@;H}Ak!jU>0Hh5F zW_n9wDx@Spp(i@vWl}b-)!MsfGHK5kzguFae_zWFGrs|QCw$3!&M9c?29{F5YU*4Q z!s$miqv+x>2DxgPQMP#i4gg!*bi2`icBTgQxl8?ynyKmj6#a2^PgvAc$_HUGw)14J z8JrQH4d-6zJf_pM{JMZ;;5>}3?(@b+A=d@Nji(Z|wXSBY?&+*oglHa2A2aan4{<`! z>ZtjJ8}RF=?O5-y$ZbC-FI#1^X=w|tf4n<8vF1$fc>Z#$EO+O(#TPN?32&L^uqra= zC^ZhZlkHWOwnA)?sp$dl&FRSf5UpthXQ6vT4_2a*|1+C}VTr^|dKCIunwMT!J(1+0 z9!B58!VmCv9+yP=QY3}!AdSY4=l4~lW(mbWbc<+Kq}=)%uW({7T&<9V4KPiW5}n>b zTcp{td`doU()#IGh{~ zU-SEes`iiwC{4%RH%x!yQKMJuMA{TfO8yS}QbIz>@SSV!sZPbUH!m9Te9v%yN_fYn ze22%n&Rg#0$~KS+nN4I}6EUVQ0CiML-lfQ5Kb%Yay~HQ`Vcd$X=k#jJVvEIIC;N@V z=%3{8dJ7R6dim z66VFH@OzWdK_-QspG{kK$!m6%zaUq5al@NsF?jxj44pamUUMMf zL5vsR;<0PHVHq?DG(v~my8qGAJBp09u;L`n;q5XQ583OHJTSgzzOtlb{%O1Xvs!8X zFOh7w95;JfWtnwj?1NK-COv(^B{Ey#ux1?0{@fAa;6>Qnce$3#k^(GPpT1`cj*4WS z2OODT9j8yWz9}IF&Dt>*s&c1Qlx4_ivv^^m@)>4oF z)aPXPo*>0pRtoivIgbQC*feTbA4Ce(kB&n}MiBpsUtNvek~X$H#9}EQ^5EJwnL#7I zuXy2FLM00J_{jfuRox|Z(>)sbbL1AO%(p#IU`DKtkm~>#wKd7)L62b`_0Ob4`Rxl0 zv8*u~mmO8_Z9l0^9(W{wVq-ux)fYBlve_6Ab01$^iVf3`g^II>mI6MY$|YarMZ(Yz zhvt@)_w(Eoz+{DEadO-#o~52uo@b5Cpq5$bmYU6>0A|9*Vw}I(egbpA4D#Pml(J(a z7=c#!gco#R#BV-vq;loz`HwcAcdU-XmlXGHojfC(GZ?-F3kE2#S7_`FMqmZpK{doJ z<4vD=%(lF8-5{+!go{tIg5djfaCRd%9q?{raN`!>;mc6*Am}|%(t*?CQ3JDsl@M4~ znFKkZHB*e5K1fX;*xHhMn6i<&Mv)$lTX6|F#Xc1w^i?WrV&e1>PN}biE9;F8Syw(d ziJ8s0q{Ry7y3s~2>MkX!sa)Ron!$i}3d5hy_!o;#59v&=0kQ=^b{^(NfvIKnANfb|&0^0F+;2sH z{rCJgv3#e~0tdf4kM&p5c%KOdUPbWSut(j~StsKl|$zuiZYipyk_tP)Am~`#zQc3&45%}Su+iJ2^ ze&y}>5;?U0=krS$uH=E(|GrWjn1oaUSyk%5?eIuPx~Ib)2T-dSbAm}^m--Sj^!y`{ z0SSegQS&sS#{PaC&Is+s2z~2zam6Z2H)NOcRlh@OmKB{jWQngM80EiLckCHDd;^Sc z!1}8$L_WE_k2b^?=68gSD8qnRMU;ebObFvH{F%cn>~+{$J2{N0`Pyt(0BL>hinRU5 z^XFxZeu20+6g|#eKPy`hM?nd~bj)JR)_osoC2vG8TGE@aFY!LZnGsJ&SF0hD+|gJ2 z+e8oiQUF^g1iP2{B<9{t8CCE449Ac+01(E*CcVa}AE-e^H;|vD8B_hgVw;g-mQX?i zdAkPRB3X)@J?n#>c6c~lz-nR!P#pz&ApXDn@W0=kWt#R7H37WVB?Mrqr|W#YIT&kc ztyKl8&tJ@^gb2sXEhGzpL4N)>7J^(bv;C5i-{^%VUJm4~$QZ#YcEKJUfARyLsZAT9 zXq!wR{4y1u3es_mR1NBUIChmneW#xJo{i(i%h{AQXAkm>+)X!?+bCF8tR(a2EtD#y z#?#=^LA9WB|3H3gYNETs?e*4JKVa?(3L}f&KAAV6MS+#WKZ~|QY5GKwh!^jx?`!~6Kb9kmB|d;fRIfjEE-2voYQRROP|$63>v7X++Gz0< z5ZBRiw67#IsmqkG$qn9;x5|9#Gf|j`F->Dx+hiFC_YC(6Nyt#Bt&ODny=oTs2MS`Q zk8xO7{0z@5lWlI)+*1wNt1eKhqk9dkvThFp3FkduTdej8lAA_iAV>d&T^xq+#0QW; z3s(6M{3Ua<>%`&?UhuPLQ3*( z^VsIw<)`ZZ4h+6LbHUKoYB>9D5*7^o_Ahs^;+m!@46Z7&nFuGr{`ckOi}ogRGxHr*C_`p3_#&-dL6!UfEJ z#2=YP6C2fKucO&dzq^fGKMX{0Rx54}O9OC3pUm7tT{-`?wD;vi$r}Apily>=noXG4 z9C+c^zkG-ibIvMiUMj&Gf!S2rX5~4R@Ub9X^T9aAZF1ynDgMdE#de2#@ljF}ol%^` zCwv&;NqxVEVe|7y0Jpf#9kf6Sey*)%pqzct=q~&5U0a>Au8QvZVz;YTS5xEMqd2@9 znn~}C&p4LC;DKK`WpiM*B_dsNrFKK1_>8&| zjjKEa9y#FdRl%-W1vAknw$)Ql{YCJupSl6ymqXS(S|_Hqp;qf~Vjma28UlD(^%_@K zn3ZJ!;DhtVchyis<9IRD8X$8COkL0gxI`*hWFsGW=aV=iFWfos$kKgn) z2{jA;wHxv;t34Fz7_wPi_P~50GegShdSv62>vV1j064dlT->$(zn*aiIx^*8iwK>b zE5TA|pUxo7@C-9-sTmeN$c;3ZPg?<=GS{U5m8dX1F8ws89v>YAH=pJ*mjhzxM&pA> zd9R>a`m~SvT8gC80;P2d*55=s4+EENwy%M_oF=|zAjR(453GI>XvsDZyNhG2z~uS> z;*U#Kk5g{6Ca_(C$;-=k;HI-2=HB6=0m4=o z3BS}H9ni*HxNw;z*SdQN|CXrZah0v>AaueFo2vmfuPasn{9CZ{`T*LrFt# z?`NXni=fbxRhM|59H4Jd5syo(x*|bZ8yOZ*!8Wi*Beg4NZxO8?;J(NJBBuxV_ml!+ z{1AOs|1ZaKEq3z8JASiD`$+*(TgX~LnENv(YYf0Y^PyvOG%AwZXatzchUFX^CqFaO zq3{&;n+6-ECxyU{W1sQF&*ilJpMQnbiKFgab8F{x(ROday@S=B=h#2kfTrHHwy$k5 zr;wJ;F_4wqn;!^wI?|RVP0L?-NpHOm3H54+b;>c9A^k!{bBqN)p&9 z)j(&*)^D*T*nIDQ0e=N>xl1+E)CJxU`;Zk%@rUubjY0mqW$T+_gc^B91as-L&Ul#O z1S+?jyJe9I@jj{6z!oN5(1hSg%k5+8!5iNi7nIAdGk1b2U5 z)Md*1fT5W)kvPJSC&@%@@s^tzF;6mJbU`2bv80fZc;wp9&WaKsHS+|rX;UhY+ccCH zexTzK#f$FkzmR#(nb<2$Tx(N57O&1IlyDAzbARg2J4T{zEg$9{Md-gKV0Ghvj#B*V za1i^=xgP+WD|qXE+(r(QhX=OLLnG<72Y?^(=F;^2aBA{hSQ@^wflIW8i7kjia>c@Z z?6YKpM^t&ZaEf~`Qzl`IQD761J_UpoW5-a+YqYcKzAX>WoPbhrK8TIUhfqk=>d4eZ zQv+?;7%>vlw*j%Ct4hgsiVGYF6|fnQa}4LayIU}qu}aL1m6kMdUxXLY;UfO{6Z!G8W#!>UrACQ9HDANNvFHY+!hN zKJYu2VRq3xXq_GUi-6kmL5%j8LLjet@)zQ|6cKR>R-Pl`c8#Ouv-PW-a8~n5`-I^8 zXRub=K6C2W3pck*UC{ZEoSXh`RDN|BC}?*;D4ING(VJQgV34t55N$9Kj!!V2IbD1V zDvkrQt6&vJ)gKbmqwW`NMdV(nohwS!$8Ajl3o78D<~x1#{trpP_>+gNZ^s9*zIvZU zY>q6gD@Q$B!_oa{T;2Ri!eGWjS%ZOv8efkoDmgH6Ojcd`v9V7Y~ zu|vj>$|y&Og=emU`rt0?>84ZQt!d|rLSh?pSL5D#wU1o*TGdy!Gr=OI@$|W(BabQf z66BeTfj7QD;}{G_sx1j}Nne(k5JVp#`e$5uiGFT4cGrcjx3{|1UJ)bbucSP51x)MF zaNhM1x|j9dK~C`ETeK{#&u0wGLr`n^9Wg{oF@=&8kq3fyXo^^IG@!35-WzG`eR|>u z@iOP`snwn%mc?ktt%R42>vkOo(Q22eh8a(J@0azWS|*+Z4uTrxW=q~qh&cB#u(mzo5fpDXKs10_pq6cx4S8-C-@w}4vL zOpVnc91Bc8?>k!K!nQUOxn?Loe$anVqeAX_uczyo1wOFnq$nTxv197f6&f|Em%Wa& z@#Yc|`>66@H)KO2T8AHFJ8rxXxSC%yQyXoPbitR19>t`s`Dm#~$^vBk+ydc;9~ZKosQ5Kl>QXp8Y|0}CRkn9P|I(qf=wG4u^b>~P?v>a3`Mk@% zZvMt^+NU|#?MF|}k*aKFFK4rK2k2%jqQPLvKgw%GSge$#@v5A+ve9S1AW1bR4yTs1 zn#jep%WX64kJ+(aU0Z9OBl8&Kcahv8|4;x^y%dolqx`~1D zANPEfhdL)UT;?{1G zpY>VNBXr8@QE1q)TuI6Y#U}_COw$M2yJHHtT{@9R!9Vz`ug53y^G`@Ko@g_x(}-k- z$6o%aEf*_@suL2Qj-)Xu1E~z;k;Yh(s^`^s})^acUk^(V6?{yVGIOByBHcpj}|SG}W4g3PV= z&ABCi48Htu@A8#?FB}KrYsL1f%O;AgQySJ=Nq)llxw(dY88n6Mro`%wx>33=aJKHW zAHC#fACPxiOYc%5a$OCgFbyT8Z{$5F!=lsIgvmNn^p2`xIU4Sc7Z;Y?0*PUGT>vwn zvl0Sp1vcWOt z&|xOt*MIxr{3h*8Pn}MZ-oIYsq@R_Cz~@(W-2K__m16AVwitSN`J)v_r5Y+`11N>kB&6|lIi6;kk=gW>-?{k=uAL+a0hh_ zpuMt#_SXD|O#V%KZ<^V8#URz_j6~o=+$ZDX<2$WljB-spS3S$G%KP5i$>8|c_|yO$ zNKZwFlq(;M!T+>xymo&bCaOp3@%-B%`5yzU_$EtzL^8?LbW+Wl@L*Q(pL|CBq}U6^ z8|tg~|6S|<<8ME&DLtQgqkQh4-Iq04=W(q6-@eiRxaYyIu1u`SK3|>$|827TkMDQz zxb+S{j4O7yji{(n*U&K4^U`DaC%s`ZJNLX*9&+sO1N`^y)INEAj%XgPG4l7;|K33= zaBeVzfo_5h{GU@^fiqsGv<%4|9A|P6J$iZt@y8|X`@h8c-5Pozq5e)euQR#lWq6ND zNGGdc=7$@-?}XzY=bY}nd4o|-BH}3+vOIQ1{A&;#+qjR@kr|o^z|nx*vIoAL^syNF z?n6re8JFJ>KxRA4^!m_0zFwOjuDK%N2=ztH1iAK1F20{qI&}1(UP|XWLoO5hkFp;6 z>z`g~TyM;F(k~MO?pP^$1%DF%#~uBNOnE(@>_Y;sqz-N(!(KsY@%}&Vs-DUr@g@DE z7sucJ^PxG!_S%Zu|IlIHe|+5#IMfk%YL?I8pNk6H{~5v#q~QZhW~sR54|y9 z{rO?f;K{>`f8IUb4ai~Fo(Jsz^zj0t%Nug^ce2hkvzKT77sCLwapHg1hWm)aM>k(g zBdx-RK)>+*WQNy#yI0|a7J7gK68MmI;=`#7v150b*>5W4r|G3_T@APu)Laa&dVvE$%sjV# z3CVcfi>Pv8q>ylwCh4flO^;|Y$bv=b?pQW#PwCU|e4eX?LPLZT^d~rSHwgJEK-c{( z51N(}_g-&+FC<|G(3Y95%mC-$aaGgxXvFgdUzDI%6u%<;C0zS$C#rB7rM54#sTr5^ zcb7iBV(5Kf9_MK~nnN;9p))<=thSeGgdApOX1!BDWBF+KIBTo|bDlFXMqw%MRHs;LK$GbXRmcT-drInE!F`)0eg#w^9VF_bosSq`2zWiG zecvRnr7eSBHDq@sZ6F3 z9qc;$g>HnuD_5WQ_w4SiEYSQsv{H~A{XXJ%;G?JvO`twMa#~y`T7h(_mM}9JK2$Ca z37d}AhwZ(Wlz6eAvJX_pZR4u5zwLYE>2^V~+joYGJ07@MZ`D@UY1!=i&M)1H$yt$k zK)*9sp&nGb*0&T7W}I}ptGKryenrOrJiyaE;YQvGIkP8QDopj9DCp=)5RvgJRb2!L zs|saYf{>APSrz7sjhbviir+kCKAn!B3wG&auq?gS8aBnF0H6T}%e zQfnkEr#@D13DiABI3MxCPk?T}Z>5iabSYq)QdqnnE|{+HAXWI!09I z-W)*=oiXGT6wPzmQx6gJ75a2S)gfp`Yx#DL6J%J#7*x=?hD-MwFD zx6EE3z393-NkbYKSncVm7_ZeSm1!R66YDxkox<>!S=`BoYK=U4JM^xSt-8#OpT95b zMCI{4oP$NW*2{XCKH^?qON`S-pQq_~Da4NRq>`jZc9>F-PBe{noh0=^h8LhPq(ftK z5Ib~BEdbIBY zu;fpo6m~;~<1dy;*t=!bANK}H*!t{M_&0j~8b=jl&C{ae3kFrVPrGQ)XguCBRX)OK z?)2=av;&vdF{;?bz&Kc%p+otfdi_v(K+pdU@l{ds;## zA`_-Zae4sL48;?9k>FklOI*xnBliq%jd2aIrl8n8KrR8#e|wC%^@oh_1}|{F=9}sO zQ-o7~;y3OufI;BDh?2iyUL>HECida|MbWR$E)4e*?Cx8`+B0aQlI#)|@T2wR?Nh2e zK@wgB60fA=6LHcmKxxha!ru>RZ*KeGr?#ikIBb7^5qg2zIf=rn!)8V{@<83r8uWT1e)ip_(@C_0aErel4XE=-*=Sx}_4Ctvnzze3lbcH6GV zmf8peg(lP^?ew8~_fK*^#+3>*oS~^d`SuebNOekp?9;MDI3F@RCxDhHpxGp~SINL# zd))>0yH|1v;Jy}b;iqC?(KLp^IwgsVIN~5dyueR`sWw5GA)WW$1vo4^&f+IY3 z49iDV>&6DOazXgo`6`C{74?r*NEL?THn=2Um<|s&O(tLss8D8purAlz8NjZ-?b>>8 zGYNg=!*E02_!@Wvrp`zpf$jWX34P~rCg}n%!qW^bTGST((`t-_g80WVNJJp#zECAb zk7fz|^%g_W@tG(ib)+k5=4*0B4MfpZoEG$2CzDzPW8Su`wC|oJ%1$vcA`vm?7=LUAr0TFs!*-g97!%(o5vT z3ve`_f?Ryq86F)}Um8cGew~rw>SE6v_M9PL@bgdh_1O4)9EB6(;vqik@A}>!MNAL$ znb(g=f_e#(V#+D>rO?U(o0zkY`)*-bGGk&c@lfV%+-&T~oAY5$3Wqdqj_+KVdIYFi zq>ZjCe(J)?3sCPh2uL`XKvwXpk}my1sa33UvoagPRkdD4y6D^FVs_ptXWH8o35WUZ zs9jO^oPDgZ_y0SCw-)81AIrRRj}6fP6{>MfV7_HZIJ-+bx!p^-ztu7o8puh*eAV&J zm@ELMyVLMUVjx|~#?v9R! zn&);o<2*FtWoQlPJLZ;Z7BbCZpFS_|81{x%#}<=A?{n)UZk7DHN*pAF8Pp?xlvABa zrQdulzIosEnsB^AYkf(c=f|5AF$#~z_Rz=5kcGElV^pU#$X%!zP@;mB&q2ZkR-78Z zHQc&y;~_WKZIb=f7ALECEO#LL^rR~IE73jr`yz(aIvhtDl7Gvc`(LK@6N$%^1kB;_ z*wRTkN5;rX7I!WVGyvwL#jJ5vGK5}ST%yRZBQedLItF21$hkC7L7K{@<0NVw561h4 zB!Ct{E672*kQQoPfYj2f*i{+K(_Nm6)Wv}HXrJxdFC)ep5{;^o}?!?>Y>9=qjX>D96H?0!N?K|(GSDxI^U zdYYhNSY(zTWNl+kcq|xKR)qHA4eeD$xMh zqi%PA8ZaK5IJjmgWG@#3x@DRL`_QUlX$3XBH6lU$SrzKo}W`wg8S>Rk5v~h0kn@jZeM|)b* z7O@-*-J^^{klW*X^6dLbAK+1R5RE3FQ6#IG zSOTb!PN_t|4;FB!wHp}GhDk5=!;xu%13ZcRIIz@u5?}^9(e>HekaQ`-j+Zz%*FF}_ za3nLtFsPm>5&==Rm5aNLgX!%_;cT?YaN#ZeUhp%}%=T#M#xqgNBd{nJU&dkiYpx9I7t zyey%V)s!$V>FCGE`S=;&gb2WnWCB_C`-WFtuR?md;a@X8s_OnYW0?Bhv$6^+ zjUkYkm{xB%EQmJg37d3&_B38tH_gI?`k@vKZ9YB6=;Z}ox%}?tfLJ3}l03+QDqwSY z|81YryN13&V%>5B8SHHoylbw?93+o0dzP}d9(QxPWqN;T(AcPbtE>>F%H?(8`&Zx; zZ<+F)m`pNwOf6L^D6cABt*RsNtJq0xVDiSPO@iJ$^{RW4dAQXYn``gOd1@xQnQIE% zlS@MNfWrgD8__io2HMVXnFrmlWtcQjn4h8fmBkd{Y<%R(*mpL;qlL(Cq!<$z=T@D! zUGb~FE&Ge971PrtRoN{b9MfM)B}c z{f>Y**(E0^IC)VF^{x?lPfI(Vk>=5tW0g+eIxCd6!6RAl26f`}6)m{)OjrK*jTM_o zc|`X6hpyULbb5q6QfoYr+o(~LmXruCqPd|l^=DtedUpf469K1Dlor{Hdc;TqT-ZFs zCS77uOq25eQ1+d1O=n%VqmD2(uq)EW3L+2{MS5(2h=6pd8AOPnh;%|pMo|z8D7{DN zz4sOs5vhUDYXl4-1PCM{kbX~ep7*|A?);wn83IZEd!N1b+H37I{vF=IP!n~9W^u9l z%6M8dq)OU^8{f!xt3v-^>*w>s$KFtc%TPFm5+RI>ENjKfhp;CoZ2ffTBP;u1B)2V; z8#RwMYp&!cb$wolOjPbelrxN~cw0#*Wj1Pr0(W+%t=sHpF8j_Zw;S@Gm^BX|=e+r4 zr}5oUCEP`{%oIYtLFS+ns|+1#~! zaO{*^V5OmX9vaCEo6d`oSHS8}JX&66kkMACU+x8uM8Ho6!lkL+wjIsv+qiSB6Y zJcn@}+-z>I=(sMm#azQaX=c!JSXM?Q($%^l;6u_LD175a3Q(N>OlB6-e>1gnBkKFkyZhH1ja-L<$(Xvl6MUUKd zrI8!qVy){MR!r5hN^aDF_vW2nUBv?JPc^z$eWmvsVeW-L;+>5j!N`lLUwZm&{U&^h zM&?)3OAtEO1TE(L#w;yyCbk=`L9ohdX{^#s*qzD4G2(|{a%hBi;Kn9bT&>hDNk(Qx zY9KT341kxPK~vsFI?2Ev#N__3jF?rC zNFRbK`OIOGwn9Gj=$DcEhQgh@##zX-o!_aL%YMfs@(rxx-TRKg>!uwdzxL3l`$0sGxP zMkHBw5Y}^z%A2OQKQ%*faO0I2`?Zy5N~{i^)(?$<_ah(F&7Hf!f5l=)6Eeqm2|jwh zY1I)-%|J$8Q=zCdFKnndP+tLscs_d%jOV?~g7+@1_J~fh^@D&kfe!AH!4=!#`>f!x z+4_pb@16I+EVDk032TY{xn3a^S(#(=sJKXiWoc&zd6Y-fKu~)_FWH;u>AX(LWrRX* z{|RlXzN=Vd&lU2SAF}t)Hvrfk5COjUhzTzL51FU4dsTK zBRxBRSWW-%x|tPX3Dzy@ugcryUi#Yc#d--Uv+Yj>wcc}9T-7alOx3345n)lOOcBvF zixmGqTLG=14Z2jnvB#Hm^$%x~lHn7#Qq?C5;)089FtOISsr_Hwusi+31E(C3#GVc6 z4T3(?ywG1t^PMcDA%}B>)vP@KV9?=MOhSu~JTEF*d8t8Ht z7P(zytuVui+{Ja&U7R4E!ky09Z|URj)e=}aYQ;#k?5_PXislxSG=EUS%4c;PX+4K7 z8w=gz!`O(gIOwSp46KqP(RnvB9Jjzma`B|te?BV1*o+MW2QBn$Q&p(kF~#3X?FC*Oafq>vex3qU@ieQ zJqg2C=wY+^^kE%#vXe5F+u=UTeog>U=*o9niLOKsAahJmb#9y~l!UGc$`JcuLKWUu zfqiXWK%c;EC{_`o(T-DJ*RN&MzwlX281If0IsO(mN+yS?Bz(*Z^<%I`rO=+H6X)Jn zW@PAPF~`z7r0N^P;k_GkSA2H8*^Hk>h#y1WIqsjbF$zn){yCENHZy(!{p=rLrRPot zz>52DrC%*!ejW~r3gn$_Fy089`8U=8c~>)t1n?@HM^?V+z4I4~59{Un&fU2d^vc=YWbI^}w`|o_`o)i*Y$kQt3@!0P56kb?`{BV!Hx5hy8t~UX9 zqlkrrcbtp&*&l)TeI~i0O-r(RMiXm)w01f5NCz)^BtcQz>=3Od=|4uURQlnO^<}P( zvB$A0bMK_3gBugAs{{T#^_>4_O#orDPj|&?fn`DZ&I7}G!f7Yf5FNLY&aS%5uo6Gn z&K>Pbi_zYGDE&YuG54OkTF8Orx{`uKZJZYv{_4t<$w_AGzWtkuJRGFRx*PE?SFCKTeuH>!}>%T(To zJ?&L*%}W+8Uh)0I`7ce^^}ilmq(;9xo zpPVQ?2vV{c*Ps z*Zr(YSDY5e^NC{qqN(qWOPSX^!elg!&3p_>o7cGiPp&mvax+xsnyAx(NQR{~DvukR zZDdAy&pJMcH>-pWpS~gJPr^r@_d)YOKM`FG5^Q_`FH3>CaIJ(ri9JOrR8Cu2U@C=j zY06(WFZ5S-9h3aQzA^=qfY^1wO8-JyGZ!=z_fGow=>`x}MF$b(s7wqBG?Q|$d_In< zzhsnNz3nbawI~K)G%KDgOJ-VTiT{(gQJz9aF`}tT<5Ogf7u*;I6jH~s-_0~(e{fno z_mZbS#m{raycf`mmqzQbA!AS%wq7&rAuWplnO4lE=_{&LVr*0|j;f~h%{0r0Y*tjkNN8%#ZaaCEvN~1j zV6ZTF+)IysGk!P|nwt2%C2Z}3cyURgv(0dR|1pcqiXM3bFXAne;l?fvh-4YJQL^0%UzIadH3BXy6Tb1@uZv?4YCKUm`Kqw z_Ai84UVN1ZM_QI7zI!abi57;~&z6Zr%WC4+$^3TQ0vyS@r1fjJ zZaP^bvG`E#YE=9B(-ByN3<2;lPQ6D9d3sDe zHio_)eWB^idQK)cljGeWqb5{^4#&~B_qY%%H6-B671(<$_;s(N*1_9{%&*6r@#}cu zS8uZc%v_RTBFnm=9qaMeQG3gV*SVm&v$LEM+upO_Hpm#>nLg=?o*=1et{WL`mG&nW zYr&6Xak~hyJmjp#3F=7-EG|_Z6a&Kt*P6c|lL%N6Z=ZIv6>=T1o9CQV${oH%)&jlD zgi9CsPm(SdDG)k_@bkrY6(}HH5byA21!* zX!?3iTtQ^@Qe@AiZ|B@3X#k}q6l136YO~6Hp0n1L()WK)PQ{xnsnsluFC_F8Zt@`o zLAl_fEbnfgT`%IV)a)rPF-eq?p3-${6>;|sYPd!yP|P@IwDWe&TH&3kf()-5_COQa zz41AN!hh$@L{wAFEr;JYc|BKZK&B`)*b7U=^yW~`R_&C<&%XOR(%U`9S<$P>--4TM zVB_uW^Fypvqaq>xi2LZm75KIdh$B`%Ms|5|`rOl(Xfw0PS*ITIz=H#UX^SUraNS}s z4@Z^e{o6M2dBWneFI)7@G#`m5yRW|4f9@**Y%UCE_OTbu+$B0niGW*uG0(;$bVZhPE+Oq2XFeuMP= zl4IJeUbA$iM2TbXx}{nyv_rJTjLSQhcq$MDCT9Bl?(@mS@DBGDUVrC8vQfUQX8WC&WHwr+cvFiF65#lfXQ7SL`?V^)b7sw+U(1(nRo>D*h%AD!pp zC~y+xQeF^=ZK>oZ9YTj1I{wO$o_}(LrXh<`GKk?l$Q~wMVWT4`TA_M?VNiAB*Diw; z@!Bb<8%+_$^tLXU8v){s;TV@R;dky|FJW8eL9I>pY+*pfF;D|Qq(vsWzopr(9l0kl zMU<~-21E8gS52jKQ3MQRfm3$WbOFUoO`y$@do+rJN6!g4F#^UQ|XIkrsaapIM zr7Sa=4q<9j0vJaY6HO6t{;XKf`7VhOm#&`K0G|R=yjJRfrtjwpCFDr&l=ti|%L1tN zQ0}0u<}6CFxwbK?g@^&C{i>4GUw;YNhw@|N;d|8c5s7Q|!J$c!q=CIM{Tzg8?D4ga zPw*r{R*9+-)(_{B6MMUp?WLCX1O@1Ze&GljTN!SV5Bme~N`&<@o!{D|v&h8_CfW^k zeRdvOL^(LB7lv*-ylNzp4en~Vq9Doo0(RVXkB+C+tx7FPj!hZ>2j%U>v59`|qQ7@v zFOG=5)og&Yv_qU8%=Kupe#$e0iv<)%ifEL-XqlHe)j#0EJ9G0#N9-#@Ig4jU)bvMd zTt{!HCRi2+rAm1^x6}zY-=G`0vp+gHPF~{YV%Jq3v%7-k^n8|y36}3tP@iL9IeOl= zhLGX73of>i^_nSlPTG^KA~V#j{gxnIsJlSA1o!gXv)`nn3e_QsNNXo0!13j9F_$V{ zr^b5-y{dE_91%P0nV^U%&nEtsc;_DRx;09vya?xY}kda3#t*sa7l#BHvAEEnh-0FBFt9;2AeyZ5f6->@PjmEP7; zXgs2ZKX&I837Tza3JXan&o*UdaL!h)v1RhPaUC^TeB%zZ9DCmYuUt@3`n|-w|0qBy zZ|Jf9r?ymbPk`Fe5IG?e0t(ZuLs|SpQa9}^)ooNXPTGR6`i9O$zhvwXjK@&L7|TB# z`6rgz7Bex@rk|km>xU|$7a|Yw-wPNqYLv7Y|6wPX^SaGPT5?+|QF3(1eSSqBKMRkw z=X3?OBQYKtg1i})FVGSlF z%!5u|0zydBXk3hDQypaZCb@dGFw9=@iL||CmcvA0KojT5Fz-uRB6H$LpL%~v(}x`g zLkWkWEskm~o>oG5}S1UosE&s(K2vxwZHGb&r;tKHa9V9=GpFukPYaD2V%b(t&V zy+cb|pAy!2d6Vl`Kz7^$RYK$b`v>vWW=q-RyRF}w=1`nf;>bn!U61K~y8Q`d{r9Oc z8_=}2V<%PetY|_RneOx3r_( z6}|hOHzH`g$z+&Gr0(mK8;wR9STp;zF%8znY^q_ z$p@!isf*g6k_nM#UU(P-p;i?HU0xQFW< z?|h!FZyu{e>~Ok(oyh)pCT+Os9@T9{T&W&vUTmvZ)OA)MFXB$@SeTISeCgzsd*j{J zcM`M|tO>kTXiDU0pYLV~nU}o5VsrC1hY9q?U0X$E9}7!8q<(&yGq5BZfiOIr$+`J= z8x#cp@qme)sHwQS(>wH=(p#5F(sRa3F!>CA+REj`vL4 zj|Hj{YV;a4BL=pS332LkS8C4WIcu?gX2kIMC`s;*z^vGygnAknG2~&ukh#Bs+%fDx zmpQ;9D@IGB{5WR`@kmUq6Pf&;6)(wvib2JfWXkY)y|784xpRG>so=}#tmPDx6kpf) z?%f#&x%F-##ZqEsDP}`FfQ0MX6bor;d^+XRY%qDWV?9JYvJ|u#X9R5qt44bO4+V+~ z&Pl4VfEa0sFEf+tO}i?gX60-iGA*< zae&@pI;?@bpWf0-?Gc-xZJD7mQj}vSGC#o(qPBhdO=2 zes&rlOH5G{JG;pDmP%$vahS6|vjho!AhPUOj(1o7F&@D8tOJ0@@c27O644Ol|EN5MPKz;cu# zjn}YUEgDA7m~Q{}9svK6F;J`K0p5v%5PU_YPZz}}ZWsdyCM*>{l)tUYeb{;_18Gj+ z<1>Dcj>=)!5{4devmMJ!LK+k~P_Y$yvCl zG=pQ?{ZM7xv0h&E>(=?cx@X@D;otn9=dKy~FkkIgynZGQYpg9&zrVo>bC1-Wb#~c( z{Ea<~U!8ctcZ$+iY?k9|o+Y|?S!7>SJ2B`4r>k*acPO!F_fQey$^lhl2@GrgiDWW# z@@Dt><+WE*>l%qX^ZLcB7wwcDcEP&|vD{BSSH;ym|^Uys#=2XiXs&se+Mb0CW`noIz)z!SG73r0DlA6VWD4^sPBj@(e*+y-VIHUcrDZ{#w*(6u(K?dVsdgQEboxQ^9R# zVDZV3#>`~I2{qAvln>az$VaqCXZsNoyO2LBxfMm2`elbHsM;GdRC;#&2+Yn`ODEQS z?h_Fxo)Wpford12x%^Qc_jDOFyhDnP98;UC+Z-Nu8X4p-UEh4u32tFHL|9()6hiTs zGInHnFRap+7NIGlAlw&FtTi$3Da|?ixOCH@(FS{_h}6I}h2zbBB}%0qJ-*bnv>sAr ze=|bbPBN^w+d@n+zDq&@U}C=fV<7{vy-Z9 zdj0TA?R(8l_-65FxShe_c-8M8g2U`9UDsIh1S8+$R;(Ro(n^FJAG6Y$g!*R=#RocP z!M9!)JN)jJ){f|vSu2i4GWyzjDmNk4oYsGHuMB-_|bT$Plr*PV=9NQjTYmvFl_OZ(Z{UwrXn zBZ&D;BG>V&2bwHB7X*FDRieE*hVIv0;+t@1Kiwn`JE^(U`$%7gK!Upq4d-bfJ5R}4 zvGvL5TgAw@Tg?%(S~|?LKEw|t(e3|C{Cp(WKy@A&g4v1C5?*7(BC#!T=>8iRn2M<1 zANi5q+{|Hs=UWsPF5z!w=E17=YZjgwxHe8yvS8u$e&i*r)sQERRsBuH3kHEG;Pos+bSb}z#)=xMaiR8kl z>~O*jpb16e7?-RNsqEF+3&u-1m3$IaCl)lL*3DX>AmU{Z{0DXI5m&~rsagQd=R_}H zPOBGk0q09+x5@{m(_}f5h?6Ydj6V>ey7C^&eaT@xN-z~y*P;MW?clQKK z>hM1^pm8Tj{Lxiz%Hn$RE~fGnCWIR33V9NpQT zrIE<}=E8>CpnOtW8c`}B#!rADspYWcF&Obvo7p_|p1oWWr41)MDdoV!YAo#H*&+J?EuOM=LsdQ;4VX1796%y4u9r z`6jR!;z{Vx?m+=9Vc432Pgk@|B+cXe+mR>DKI6Wwll6`hQVfrGnu`8>Mw#RJ_+ED} z_d{c)(@nK^Gy}cgCyNhxGB~_;kBLj|<*;CLVr23);dL{%*HGT@`B$@zKz^Rj)1V=T z7N1}6|CUh8iMCtextpGfyj}3y3V3t64eB?@=nkq^vO)6sr*di{bdZo?u0yVd4Vpp+ zYsr}M zJJlC0Jn1-=3=yPLUP|Gqs>R-ncBrfW5DkcXOj`8N@rl zHP8zAAi&q_BcWwGT>?n#erL8vaM$i<=r72zdDLDI!Vcv#G+BlvmFLNQOI`WDe?{*p20O?a%bA`Ujd8MaH+02xF@}i_bZj;t^exk&%40Akni`9QRyP>o zwUOKyC_h9d9(x6esdGvizVbsKFHqLKb8kT=HI_H<6UvzyFN3zB#<`bn@|DDH^d}=$ z5xd#%q8Zp~-U2HOXrbs~1igMB6*Fsg{;E69BEm6lbOCtD7?F-f|IjFccS&pbzg=!D z$QZ+?o@v)_6qUr;s6HC`V4q>3bFl4VTLZs&Ja5gen;D}Mk(9~san`LBY1Gi97-N-+ zQ5+IH*hVr;lzi=yEif_nsQWJKvr~g7_B{_~qq@o)HO~xpLNp5)m!?07fUfprnpO7) zon3HI0xvO87D`*xIHIiKHR`N{DxUR(i>_>D8kt3CD26Diix(e_=ueC1sQ9lyW(aA1 zOJi=QEQvsZX#m8!$Cfsn~WSG`Q2;-l%dADv&~7L8FS^=}gm*KrpuVa3a z;lHDE8V{L^jpWwUu`TLz3_9;5PDCJFm~NG@!pA-B^c)@2=Tu@o@=lF?L4s7G#{_Xs zl$OgdB8q7@gD6~!?Cj2%I@pz*uJw4RiFa^~q%Pn2zU;h{VNSNef_mTq>2G(pcuz79 zSN|g}fekl3o_^{*vyI;u?_JaH?$4Kd zg?AKD;JVBzc`Y5T!{N1cFd*nAM92x6{GWo7uuk_-SqAVGY>eJ0A@A1yMYXn5WQuEk zP9-Y2Cpjk={W|>UZ$yx{qK4qt1^ViWAU(E6K)YZZVbv^Rya?#uhe4R@1TeMN&xhiE zDM+xPK}9IQu3kqytc1pE=JQAa;1dWmBxKL|4E%b<8@#)9+;E>!vjCOdWJ||iIRgad8A65<5*7u(P<%4b?&g79qYnHui*6>eE-RKv)i3#9%l*fl+gB?J2jO| zEkoMn`4;8B6jirCFjfST5ixj7dVeZGnYm>}4W1X+e-7KDKQ$|R|F1SR^^wWx2~Q`N ziRh5QLRYEFE30kEpd0;cmVVviKrFnkhTN+(eV*NTi~DU)q?|C>J%Z*!%Pyi1!%%&7 z#Iz#nk6U|}Hnn55{2^Z39{WB-@wxVLR@D7!L!&lnTh!qJbcsxfl7-OK$Rd`m0&27z z-kUPI@9xQ&r7eubQQg*;2P_OdxPJk8cIqZ^(LQv~$6Y_uM*HRdbRrl6_Q0Fxo`^Pj zZibLQ1(v3)z{28(Uk8X&t(?t}Db;-nJ_Fx{w20i<32gNFs@sII&{$6hXosmbhDP;t0?&wt14;rL7T~ggQui5G=LVCaaoy*#UO((Vp zy%}nsi7;Mp&j1`$%~AAG?zr_!rcN`Op@*W&Ert9Xs z$;T*fkk8)`4D-T48S@S2*0e%g*&fU+hD|!ZdI}%KQVO|#bYA*vIubhKk2)!*jt33e zWcf+x&I}GufP#w1yUm-g^W9=#cTpgF1x_6;IjCXhm83MIlfEbZX72V45xd ztNdiLWMZ*C-*;#6J?nE>ju~7lq#()Ft}mfdrgZqj0?3EQRwFTq=exb2Oy>z%3e1KZ z*||qs3(TRRs?s8(lc@7qJU+$&=!3==Ft%It_|c$q7R>FG>6aGRx*#*@*0hWcD&Cn*=5EwsA_AHyZQ(!^Ek zo1uq&dNTY;eQF11Vka@xui9FO{rY@X%9Y=HlGyxRjZ42_Pt1uC!arZIUvA(aJV-ni zd3P{t)M5ep*ZyD@Ng11|Oa@qD;+(Xfh5YwTe>kW5I3Ngrd(6UnCy0jv6>Ag?N(d{R z)6IeIruv8#z*?T=d(39{KYb2?pAJ!A%0sq8?Rw_Kb`5rUYQFfJQqhA=Z1~p46mxCe zDwX*4iKN%!``M3yUEa&yXzQNWf| z(1pAVvf)DWd5O3DokV?mXu2;OM0sG3cxAwvxa(g-ZQ_@b+wT%Vq!(~AhVXHmTZ`2hfSEqj-GWBJ7kS*yJ!n&tSbRKIu~>T!~v#=s#^uM){+L@{O3r5 ze!rI#Fhz7gT=~TF*9MYIMT8=he3R4h7H%Ik)A4;6U&s~bQTA1JB zqq%RR}^XK^91Sd!{>5+?C<1{Yb;$CC%&1F4*5 zEMTDocAn+$>)eO5^<*1m7`y#a|8)d^Y!RFiWa@Y+I>pj=UD^&Q;D0*s7JLF#pN$4i zB=#Nx*X0%343+VZO>8YK(s;4NfN2b5V;DD5B$z-y3M*yk=2Uoe4Ze4vwFEMjJIifL z-*mYVKIxmL5LF%^To_B^7?D^7O5Nko3i_&E>nj|-2iMflJZS(6UVEeTYU6fpP`b`s zj|uOoCp~1=%sI?|L^B$(|5lwRTveo_k^p#m}TVJUGO5YJQx9m{s9IEJ9_I4ho6%z1B_1!1x z#;`j1D2_*m&DoU>F=h$(~_FJQ3@Xl;RtiqyZICsaHP745~NuCmci|5Q1=uzHD z6&>43exnvCeRLr9Onz9(?SXvj(_!l`xL-rQ4LJ1@OguAr^|mRx``Hi9H1+6ug1}SW z(C>Jd9SbNy#B2jWgq`@hj&~2 zh^U`^6j_$SPk98jgXQtaLFp0zmkm%3okrQ3e_67kxUG5S*1g19cetRnKW&A#%qBPhq zmB6og@Y{muf9({1YXa=(Ir|~!h5ze+v{3_0`8<5_rd;TMy*c3W&22yO@gGMWkh{xKeWRZ!sEwEL*qrzuz@b9`c(6ZS;!R`TyPn&#MA9d;YMprrdx3-rh=r z*I-3D-fsH;`8aP2?7^xCHsj~2h@7p@zP=%wR3#T@K$N=;}KMF_dLAe`Bpii^J)y}nm9lL#cG6%BKwYL{|Qh-xF zmJ7H%<%}#Yg4~eQPl$)zLI*QccZsPfFLjbFFJl-+&v~raZP-ZL&AQh7_T@M=+y-+L zy*QU#O!Z`O6Z@&%zGY0V<6N>N5&S~8i1WXF=C@P7r-;$S!bVS{6(g8oYLy@2YLwH# za474b!uZSii(nT2sIKlHkYK7w`V1JCH8Rw;?D-#W_>KUR!aIActG%mVPAxEe>C<6o z|5FN9<-e~jGk3>AU=hGNe&;|Kp_#Q{-FAh0;-qIOSSb*mq@4GU#oPa??G%dZ^Wva< zP~s`Wpd^(N{`0dQpKsSM;&zY(+UI~>k2;5r5j|>$^L>t+=RQ_kTUP3N`4GdX$-`J| zPYFrPe2NmWkkP$PyvJ{Ux83GoK;|l~0vfj(UUA00@vuQ6T?MQ{{98m~BlS`4*o_o; z`OaTol7VvG2JajV8$ml>#CH}}`t~pDByPBGcBzSJ+SNAKrz>qR*`Rr2m-xWzKK^VZ zlmxWmAC75nH(s8oBh{%wdOuz<`jRHBxozg~|28(4Px1&Na%QE!5wK{|eUuwPZGpAo z_$9*E?>@fx;^a`i-Xa4?!h4_KkvX5A*G<$7aA7F!o1}{vY$6k*bP!@^^!1J8bxT{1 zaO+JUrWO30ADp|`X^>ofTjv$K@EhX+N}Tl|>%GfcJ-LmXD^=xHf2fY4%B#{(@Adup zeVqP$__U4G9p&ILSwZ&|%Uj3u-=8VYmponaKD@HKZ?%Fgh@85qJPxnVwu0=RxrSey z5mNn^1CgZvr)4m(z@!BSpXg4YOchCjJ z3}e;Ll3V)ePK~&hn7Sh2ugCe1J5_AMrUrS%AgRh@VZWOmPyVT?cg72)_wPsawD0qq zrSGr%1)7{_RUa2wTF$m8IN?q0$!ggd>AH zqYvLhDPa9$v9xKW5D(YUaW5~lCn{k7L&>W!1)_x`gC&+*jy}qtGTU|V#jEdL9&9&* zyvY#1ygR#&Oc`p3OMgnfEGN-|T#5vTEB;{KcRs&vcIWTB;NLlmMrymKW9>qBE)#bC z-H-&JtI^oZ&SMS04;dpFfxxhcbhgqU)s)MfZ99bh_d_{q-;KaF4vOccVP5!HD%Edl zl-_*_j~k~1T^4wT9g3Fgl|sg*P+`_T?Rp*O-k$Z05^j{?))6}LHD?5keE>h?O-~mY zoBO`vL~yz099wfNc446SCg@#{+o2qfs|Bebbpo?G6*ITZhRL;yRt7#BDxQ3sx!+3K zBhgulof)w5xQ16rkBzlDPFP9Zd-A2}^wq7iH^D$#*rhWLJG;yTwOwbi3*j0>+9Pp6p<#zcZp!h3beN; zwPBF4&8ai(3UJ$gvdWu2JjNke1dxl?H7s3A+tE7?XK_*@gb68j)jPRMg>P5eWzee% zYP^jgZ|+(wsWR&1JlI)qyXP~Y9nR=$8meZg95`+Jwi#bxHnI{}+D(`w{dy()VHEGReU-~;)NRhEeILO>U>D2k?c*iJy}fa=ol%;(nof?c;> zDVAQOi7W^hRUUJls4aG_IdcYHe9tjXNgXQ)d{<_5GYZJXF~|LP>%9F)iP|EJ#O^i6 zp+HL`zxDI3e_Ps9dIR8xDXR{odw`-79`#YSEnM^2h^lj_KoTLYw$+1=JDG~3@ITp9TVPhgn^{J4)w-2)tnBiOpHr)iq6r{pOxu)%)&zFj{EQ~ zkE@e<)RX!E#y>roqK5cA)k7z*)}Jg9rYyR>Z(M#pta`%>Y21l*>5NfLor6NPcfG9p zQNCa%=xM&p^E&#lSf7#FRa4i#@}g!l-KL%NbnTMf#;y7<)>V4qDYdmKK#QsmcpSOT z_u`Uz$I!I54CyJxQ(CTFLH?1qA3C!l7k83J>L5+4U)5O_aT(80aa~s@WJxM$=$mssuh(rxmN6WTa$MqpMvHRvtn#( z9Mj+(kNjs(u08yc8}91P-n^CC|KQ9VZeh^$)|_xyq`q1ul=xk>L5YO&|zdeD5<-eg<7AC z9FW__OjX!k+%)GosMxsuO3Bo<`>U@yXBS#Mk0=+4HMEIXr7d+A9BO2Z)sF-RpZ6Td zl<#rUV|z7^os%|4`HY@u%fDoQ?OGV!#A*@X!Cik$o1gMe-kSEjtHL8*!N$N&YB^r} zweKzJ!>=Jda>9$Uc3{`dl7|q*)>H5K$X~HJ*-+gs>`rA6V8F5;uymM60}i6z5gDPq zWNbCIrk??6wood?`qHVru&@`x@PsSszRjadh1K$2u(c$<-)OjhnbPcMu}jt{R?aRn z9s3_8(VJBLA6}<$Jlc(Q-+}o!wGNM_KC5%zx4^4JAMy8|G_*Jq`4}_L`1V@>SY&ka+rqAdwDm3$4+c0xre*q2b_uzR zS70V1N_-c+)J7d`ek|TtdjB*mJJwMv2anE+gK&AqyH0I{SsIW=rqiCO#>fRH9g%I_ zljJl}VDXoSZX6v3nnF7%+mL@*UG}%Z=6^g^XkwQ`^3$htS(3>TXt-{<;~O}g{Fjz{ zl82~(=i+|zXimLcV5xX}xZAx6oo`t%)798yrO;M%d{utB-P9TPEZnFcEV3zbZ;SYk zxyZ0+$j|SXuL$Y(VB$N?frNKUzF=yKYJY{zosZOFsC1(-&x#vo_6Fb*eHwYPuWGO zcSsSV7{v2QEHMj|YSV?4a(+Mhh(ViVe7pdFv(y6ahLVe$qI4qs%_i%)5e(N?LbN&% zX-$HQWdz=?iq{)j2cBC(4xi5z_JDpLrCw68xyV7Ryie3v*4U16Vb=YY?U*9D*jVEe zU(6kd6RQ7P<3+Z8lj{X|&#_>A$tuS%h_AZZP`yuEZ5H{W^wj1LzLRljg{DdWE zc8c)no;1~-(X{l0vClbnVNyMQL(`deKQllCsk=N`+5K-!!n5CTW9P8?ahS?`+O`J} z%2JS6aDk_TC)Qe%+=aW~XE-N6MN*oR74Bg`{CdaTQI}DwBG=Pakpc@4XC!a3Kheic z$bNGGDay)K2OM69_Cd6lMFPHx31z4F*_xI(&*`q!sIKsu) z<6ax3THYZQ_=}Wjy8^=CIU-FGPv2f+9jP2%W~QZ{_SKP0qf-+IaQqw=U8U29}di}!0j z7(8}7DHcAoLc90Ldr@NubwU$LX|0_vJYJ%RE)WVoF{XI!7}PMqYfm-5G&u0l(C@JZ zIy>Nb^9D8(R;QY(KSA?;o4zLXxEwiox2j81wE9kUkPl9xg$iU6Uy!4vP|^remGHCt z_;$u4fin8W=P=HsGOzuU>tI|7W=ij2@`TL?|8NjYZX@m`p5LYZwFVsnH3*Rg#^t*% z1u70smAD_uHzl5$87-|MPaJXdc&?fqCvlEgHug1Kv1$%v3r?v2SIaalI#Y_>+EkiM1*$%jG|c3;LY)9bSsXuP3Rr z#d*(#`)wj6H$8y=M+1J3%5}^x!zD@CRWX_F+S-M z#>(wei!$vMq2%e>vvR_V5uuE&fgFO4mg@GC)nFHw5 zmBrWKj@?U>{w;%YsJPif{@YfgUmoyq#t(a1Y`UK*G295{UQ1==ZW2P0yr_r-XrTb+ z+S{x)$~`LAEY*z+cwJn_@(ds^t&^6OQ}Li zk*~-|FwNkitA`Fji*T#&L)|glDW%BsJ%2@l{`O1`n_xNgdR*kP`l-nfdvBe>R}@Tx zt(|Z1#<>8eQ8}(`=Q(*`1|eQeh**`<6z+coaf-X7ze)2Ec*fY$66>OH-JR(IrFoF;#?e0h zC@AWqC&8kI48*9`P(I@L8fwvDtq50U3Y#%UJq-n(w@|K#wepuO|3Z2`k^LR#`;`M$ zcbU#+yJ?WWR1gqDa$)5B3$MHLFTo|6Sz~Go^D4znn<>m5!?%KsfeN}MvlkxDcZKpP z<+QQzVl*j(#Cfbf*9`~PRxuJ_rC+SHFq;k1RBV^Lf?Lh2%#{P`rvG8Z77DjWJ^;<7 zkj9WfD}m*q*{}MH*`h{~2qo=*xWdPFDrzTd4leGEoDh8jZk9>#p!4yT+Yrw)8{lQ1|iWVAE4|r|Ts0cf>XNR8m zKW>JUdJXXgiqGCS^z~nb6!(GKIQD0bB+WTdK%(7b;waM5(M2?`9@S|7_q$7;wiIw) z2YXuQ7PkB>qGp@+i2Yj;y}I{?O&h1$4Te*AL!lNLhOjQ?`jtd1B$6%@tzsWoDBNC$ zYiPzxNx!QbE?3`Y|1vF}HU$=w)PHcz7?~Zb%Evi!>+>Jje@&9Sy8M_$%E9f}k!Dge z8NvLetyfytkUr;mY*lOBHrpI*w~B;LNr?Y`mNqIw0;+-3EGqszLo%RVd&8b)GT3bwUM+r%>EkNhA-zpXZSM_ z&x7jw)nGYW!3OjAkivA8@8Uxr+yzfuz}6%s5B(Uphon-u-sxtWGqX&b}#%dlEG0rsQdvc_f+}-coY#dna zvf6R~TW{Cs@bWFXR9}N1%4qO`^A{;gAef#RU6fcDa@U5Tnv@u~&1c-xY-X3pSO!x74^pQCX&VNo<5)z0+0-HpN6Ra{&NSys{jxP6Rtsy;5FU zW2Tqrgn0F*CtkgZj*dWpBeUa%#OzoZtwj`S5-a{F+%W?Jh%n(vAGi?MZJX>m^ymY? z|9hEbw|Iejv-!3CNyCjkx|;B_`fXv$A2K4;UTOiPT3=_(`6y$eZ?8Z~ zegjC!kGe>hI^RKpsh!{fwUZc1b;(51+)tb%N6>FZbty-u5qnaTzeb7|Ry$8qa>1T0 zw3E$;KhOU{tT*a*3;$cPr3;cx!}42G*Z-;P%HyHl+W3rama7nzlrR_Lp^RM2=ge2LC*+d5yg$5kZHAYLyD(x*1pTx2+2b-&NBi;?QY@~v zCkf-ty(C7IV{B0+I~ByvzI!{cmGW)?t=O>8zhAdQg&4%pTE}~_Nvo)TAg-xBr4ftv zF7F6U$sZP0%*g$08@f!(MRcT}xZ?W76p$3hiovUg0x1_hI$8rK?YwT0J(W1O?>sqq ztf4+^BJ2-q<(n>T&uZ4~0K@xa5b0sk=!D4Ra4#eH5z#f~GhHxKGFp7J80-vFe?QHD z&P=`TdgioWu;JF}Q>T{Hnn;d`8ZXKn*tBGp_YcG80rSb2Tib+v$ncd<^6gK?L-hUo zX3f%Qf^%cUXP+hf0~zJEdx!90eC=T6+-2Km%XNCeH`E@xMJ}r#?J3n~V^+lO9$n5f z%Wn>BQ$~8RGgoMdKpNhX1(N7rT?@hTgH@VeJqx3`q;b4HU6`WB4;k>x2LUsyp4s5Z zKdj74a=$KQ36^HNI96N8!hiC9R2Oe|(%5vEDa~%`5k0|=%>cJ+uR^6*rIe?%Svjix zk#2|P2Y^yNB5j~^Z)*4*#T-?0?%1;h9DJHu{oqNB{Y^(7Ktl88{pD1iFLpyQp?rDr zDHhXPoe!5i?g&YQ-AXuOad5=(4X^vbYb;Fdx9tbh|w-bmMBsORCpIRbvBEGxa05JiLnL zmKM$?k$i#UaY@_>94gFy06?3@sY|`79v|-e{kB1`102R7sEt;pU6WqT@3<9-M3Hca zfQg%M>2m3iYOm6J+KT1~A45+{z>o-D)y?s|S2a3|(kfoRehP0mUc=nv>$9XpG`Yk# zYPn-TBlIB%Ay6LCC^Z;OH~6p!DtNqjNqS@sqj;}jl-m={xbI_{nN~b(n}G4-t6q3r z>XTH;rNi&%(pKU@ym6Cd*CL|xC&<(*TZ(^sfAyA!C5*K1?*VC46)szgDLa!>ekyj52wFACqBz@jjiVTgzx2W z)pp29zl)&a96%Jb-Q`mSy^Ps2K9XcCSHEP4u2!@VLi9TEX31kFsC|SRTE5j*saLGHUlqbfy*b6-c{xYJ^4*v7 zps`h?C^@|a7a@xONu&PH+Mme|mYIITuQCJVIS9203r495$J+wZlqw5y4z%Jq<~O zMjdX5y{@%qPz9~GC+4wQa<&IE|e=3(`&8fmN(W1l~xFO3Dsh1EU2D#aLSn8)6n z<4r4i1lzw8VeHg;O=*$#u~5EEC~v;d{Ztph=VP(wdw!q&bKY)D-q6}89u?F(12$yo zDs9Q2>3#ND+^55p9k~Wol@><=sME}GPspHLcREbLXBDeQQm3^atmI z%gf8Q!zL9V0RJ|Buj&O9-ZYuB)3i@vr@1W1u!A!Sfumj}bXSceI)lc_2;OKkwU{^E z??9eMZx^4Kz0_3^Y{X=+3|XQk)$^nfhVIeR6`{EUdzdmu*|GWL)b*s*AQwm@Nk9=Y z>LX4kdWW9#36lfI(uxC1Ec`!~S=X1+l75|T)y|xs8Pj)8`Go@8gqPo%nog(Pm;jJ+ zY%dx=J z2&sZrn-E~T6Ys42$-4hzT^Q?wZltzQ@?Y?(&h#@R~bQo?NeVAldqQwv)^zB*u~ji zJAf$tfa}13!*y-OC|HK~skbY5QO$`sZ4B0O0#e4(@EZXu3> zy9)H56f6`o#01z;T2GY!7B(riCRV6a+~8Nd z7L)@&oss^ucWhL3$DSgGqBD<6MWfwq=K(_UP07?)NU9K}p;Q>ehTT=s01Tn-eB(oo zY&M3a?|j>Tj<>0ezm@2jgDG^rkm*(3+O13qQV{kLZO?KlfNQ5X>jv%3rl;!Jj86)F zlF7PMEhkQjag07)V)oAKcDin1e8z5qW3#Xu&*b^Z#hl{l!_jQM_>tpZ)ZXG9kASo7 zsvoagZIks4JfcM}6TI46*(%eryc zMH?2DUKxuPm~Jr>WdFG6AS6LdTl6|FTbA?cQ1bZb9zM(}Xb^iIyBEQy&cy&c+ogKJ za0gn92g-88Pso0583;4vvbxf}m50Ir0@a{m!w>7TYpsk5JQ{w+I~)%;Y7=)3!U8ht zp2p3OmuvLg%7TpgH*Gq&N>ngB5x~g~gd6^QWEg~_k^66mH%^{aAB*4B(2DGi=o(f_{5RjL;W!~@f+(~#Qw10$lpvwu{19Og*y zM@+J~f1oo6haXR^vS+%C_iB;P?}j%*wNJ^H1G*pWvyj=eS7N!G4 z9FJYEzB;hzf6TI$4^*^bGb>ekBGO7Kp9_7P+JD*5cbfY9Tcjv^wmpyF{ehWNWDH5b zJkhzn;|Io~eiN8Ed|V3uBl$lk^4~wHRREKkKBa&02Xrg|%y*GfB$_eSV;aO5!v=-_ z$c;gunqV~2;re`QcFF4M6WgJ@fnz^p-xicc3KP4bEZhs~=@fp+!q&8Cq=kp$CvE{r zWH?gxrn1EAZS0p2=(o@Q&x?oHlZA! zIJQrJ@>AnkqxV`%Nt-<7v-_w8W_oM3DbFE|BN!;XUuX(FMB@8Xu9ZZ_ak~&r!{gVK zAR*i?)PSV0c5~cR8RU!Qp+$H7m9s3> zB_vWQ4AQn`t5@}~{w~so$ m#7kK}9T(ZTmO0f*L?{Mk|zIrp6FH)j&7qoqtrL{9_&07z9;6!ZW9f^$rI z4~UQXbgK%+0|1E1?B(TkRORI%Iv%bz_D>@pQ?mP zMh*BR^u&ezK9*c8KPxbXl;V}ylhPP7#q{#!*MK_qIA>j*IPZwZT;JOaK-6hSEO|F{ zHu7piT)_7Ld9&2IndiB=ka-M%{HVtb*Ee7e6%20Un;49sXQER7LW=dc06-~&L;3az zuW!U#S=*uGtJ;~S~sRJWgM2T4|B&Jr& zByaWlu5E+BdM2D?X&WPduAoB)yHBblHBaO_B|dsN`|GvTH26$8-5N^;34i2#oy8En zyDhX!#d=Cx5}<;nEWua5X)Tk|GfAa*Xp)@}m{ji=@xeA@=!iJa9E4RFh6BVE?je|o z&@m&H7;nwoPKo4uPy89y(O=@l#nftU%#||Il%d?%)X;=ucGRU6LWaEhc)(f`o>+Cjlunew;N|b{P@fMb)S%Q^4 zc}|!(3Og7AghhaB@72mus^G}gQm%)dLRjvFJDbsR;t=$h>yRddQ56v8;H38oxe?Ff zEi6+ch03Dn;h~9UjNuSQg(%J>`Vvw)8Ji>_g$QF-UQPf}q(#9qPKs4|3r>Pr0JYo~ z9Xc;yd024dPnq;W1|5zQz)o~jf$u0S7%#=_fdQ2;Y!e}vL3V{$K~X-VFvYS(_@QW8 z?p22-_Qj*D&uQjK)t9GHoJ0jyI$WGgsiJXF76sutb)~qepho-`pr3U+j#l=@6a zrs4|0FX014kLTk3Rd1nS^j@(y#_b68OwFYHMQ&PD~x(c}p@|)FX*5A2|>RKGGtkX#~N%`-jzv)>$ zvC90+_`C7*pU?51O+LG>13mCPyjnka{PuX@!SUzdE9noab<#g{M~^Rrj{Y3kt_S>4 zrsgDiNhC{TPozlHNF;L4lxy`KDRt*P(Kx@jXzChHG98_Jl0*@GADs#q3ynXJaG9sU zQ!~`QsYR*{ri!I1rBbIkr?ICAr2R-6;a1nz;fmtYNYhWN;^NTv*Y6q{%aPAVFov_wYuY6OtY zI(5L>uZ?z}p#pD0g7>cXkLNZ+nj7jh8YL_)zN(FVAK{uV|FVrHhr` zrb@GZ*vLr0sCqwmPD(s(L9SiXr^;t(k7+OR?DR~Y?2^o#EP%=1Uai6GHN}1#`@k5& zy=qN#a761&Yg>yW=hj2mSIfQHJGiyS4$HSU84ri2jpuQ?JP+loa>txq*;ldI2@F4~ z`t~#1^TY=`$8Yc!V0jwSY9VXp+pH(g_W1|gEGlh`j}-hap)^n*=p%ncXquno>C~y# zN%b-FVcoIeAJ1>JYrDwyh353KZ&m`18SKGi!4)^N*Q&SXx7N2K*cv!6tS7`Pk-@~i zj{_O)Kwrt7h_Gdc3YcWI!{ftW;pUU}M&U-MMoW-45)BhNlNZCD5Lb|1fe$FUgsydA z?yzS?LV7$N?pB)X2C26C?y2|vgHLw0jQDr>J2Ey5jGe5UtoOFqY82aPNO_u!a=Ke= zW5?bNJrH?c&Z}wSADlV=bn0`8dqzuX%WO+cCFCWZqhKCgw@5H-*bHgYz0u<7;}O-u zGjDP57B?NX3QLdWi4~`eemDP4?Ol`~i76e@`LpX$*m_-RL27ww>_q8Alwja%<5{{c zHtEQvCSymxjU%nFOvoFE;Yx$WbR0!tcdZ_7?E9FkUuj7LTTL?t9lG=RD_OdEhxXR% z-%~P)GOvf`3_luX*PB`e*xr36>Wu3w7gFZ14br-ExZIIkXRC;2BV3;R9^}SChparTlpBi_aH**Nd7zv&pVux3TEwgEra20m31? z%lGCVH#~m)==ya(PuoTP4@w&<2-CO4w=WA!lxrL@zwA}Y>Y038tT8iB{ zyls1blDEI#Z_~9f@-P!|Z-zFP2o^N>CEn&a2XwuEkmj8pkSek_In(ZkoRRw3Ref`C zwM%Zt%qfBT13{WCvF6LiQ%6xhh^~tkAd{A+^eefco#hou+ewQ|TPi<)@or~yr-?o~ zE9-UqY?ZfLZi~y-)@reDq93zkwMdQhM8UWYl#!8^CFIm`zDAPcTDu{yB)3x9+RXuJ z|9v}Lsg%FMz2s4u>Nw-CdA|XqhT~h$AKUdbwiQ3ObGW5z0)uz)RwFxzsc7qY6HFAP~Eeg)o!yT#mNuMV0c8@!EAyZvvn(2d;tCueV`O{(+TSG?ASG-roD8l5%MyUs00 z-DEGgeiGjkr$;`Ux9{48Hh=Jx-HhaEuKt0RK$^6Vbc9rh*S6Pl6n(1kb+0K&{DnS} z-HB)>7hq11evJknw=BnAr@Z?_ugx7Sa?vSk!7I9i{2g*-I8(2TvlliU5_5YlmVwT> z?pTjJdz+O$#XCakN4^l$xHY-#*t>hUaxG1LJAXBBK3vv4f7d2SDf#sL<+;zQ$yh)m z`UQ)VbVCAuqSQ^snR{U6a?0$dosou-{WnEj9pE~GEQk+(}M+9jGAKm)lc zeeO^>{G22}PdgXjD?dQz09(dba6wy}PVk1DPjOlL&}&4}`V0Uml!1u@hSUN28fTDQ zK$3i3L^8zznHdAacE)zlr^}PFCMy7d{XTbN{k!;u<$U1<#9b0v+7=Rj*?jTlk2Fqd zRv-2>Mt6;~Hc++E)C6#0(m((%7Ciu?$^x)3K?;lEztc)soB*7E(e?n`|16`0 ziT}EiFyXH{{}JQ7ivkc}zENTVv;h0RN)wzH;QUt_u!ngDkbN$%s)~u9TY6YqyLj5U zdYMx?#b7cB-Bb)c0RWl@e+4X6z56Ik`_uON23`i58e*2N&OGK;t`^ojP-nNl+5t#F z#V|={YcF#M)Y-|!Qw%D}_Ky-`nDk%Syljwv6!CJDWHZpzfyldhSVM$)_;~o(q=+C8 zh=hlgjhLQ-(tlRRe3N9e^YU^NeO@73Jl7%KP-`6HJLGo_;P~ z=FlfDp6vh8$bYq?VC`w?VejT;@9F~it6g&oS8p##HnzVy`tR#M#%T?;|DT>*JpXfA zmRgeCq_{{Qvle|r3+6 zqCa^#AWe@&z3qY}3o2=EXZWC~qq{!q-8t=ez265&1yS6`wck!6OV+}|voDdwow!3+ zug&iLw%r&S%EbB^<||1)lxO0&zZ4gg=hv;G*I;nb9T|zM68g7qh%A+gT$r>hnw&uy z`@YQIy`unl!DP6U5Ujs@tKi~tqBz2}ET~lfjlro-?vUO+#Q(dU{56~~m}V$;NZ$cV zQ^Ma~giu@(tf;L`nZG|BNSJ~QrW>}c`@+fpMmL-&Pm&}6;orSw*dQ`t(iC2l*(!f` zV=!BI?_3oB-=P2sP(e>VP%KvS{@>nB2o}*bBhKF^m-|UTpw6;3Zf^g>cYlBS7#d6X zH-<#{|B1#zv84z9jUf@<$Hpu$l`KbH?7uO6nXr7zzfbm|xRh9!1&%F9nNj#RNWY+G zg#T|dFlO+vp#Z#Fg;7-}w!ck~079MRP4NF^lfS(J|CdevFPr=g7XJU0G*PL=4oPOi z`ydzDZaw+E@w4@ALMZ3%bj>5t&$h{5)L(u-SO{1jk-j5>x>!gjiTi4m>9tl~Hyqm< zHoMdtcR=~;r1gp%LU5QIf7jclDZYJ`QFk`|X4K?x`L{2>r5*~4dYokBJaZpkvd2Py(8$ztOH@zi*``O?_8eFDV@+hUDH5p` ziF8A^i>^g?Y8qg7=PNsVNDyd4{B+8T6xbNM3b=)Zr_Cb(k#<7 zI`rFFw-34m3Oz` z^2Dz+dpY_fQHr_9qBk;h9ogC3xc(#C=%ZHllWbvU;@#-WP!Y`nf_D$pxfa^JljdC1 zdEbz*uy^117~kHCw`63CA5+Qz-oXVvgvghKcYhq>x%|mYCKC<4&>PxDIK6EKRK|N zLSo@WE1QHygBD8MO;j_vB1yn}##%WN)b8yyQ>3q(9Ud#bUF7lHeDaQ(d&;=VAz}*0 z{GyPcoh~9RQJRi^vz=B1abEMLJ1X_Du7=+B75z&d16tpM>pyW|lZ?|M8D{&Lf~GD4 zSMNLm$AQdWwtun@pZ}Q-BFMQpART&MDL^MMZ!>G3XfoQ(tCW~~zx(>AVu2b}kJ`s8 zQGAR4PR!fkck3=~CZBm*j&z9B^2MQK(qqG?kBl~W%1qkh0`G1-3_p9l2z33j`>z$c zYI$rzz2zFc4;>TLFBCV1->|7q2uN3ZuoGS{yKUww#!n+(#yjvio}pjOKYz+|Mz{io z^*ikl2HoA{u9px6vII#8T7^k_@967Q8kolek~KZnzdDepB`{uS`jolVUq*Y^9mt1C zw@H%KRqONyj<<4V7 zsa)Qlu4`>_hjLmWJ3<>j)8y%eD?c3TTfvDMUd_d@z9Ud8#SVE9gr1rx1s)$Bkg{=E z-U>hOWsJI?E+~f}%l$;lYn&90cf8x8&K(f4z>A@~6am|xO5xvIX>_pFomrjssRY)7>?8 z)LIsXMpUz>G~wy|a&0V9*V%+fvSgs#&&AFw>%Eq5QfrCWA_@y0~c2 z1{{9A!$3W*O%UMZdF@Yo?mBr&n715qcau)RL6IEx=V=&>6D6;5fZn==fp}51SSf@%;A~Iem@nwkXeg)U&--j4xn2uR`P!+dq0=<(5JCJ<;c(IfL@A*9Ld9=|r`gUbNtwB8B<8B(RYl#mO1ur`Ge$=3B1Zy} z{#7pTUHxAw{14W*#+Ee7-{()R-KqJZikZ%hfcUg&-03OS^l4VTeIML~5(ob^^SD5; z3AL7a3z>JG7zw}IpYx@w88Qo6(O!<$!5W*oJ!jct1`$BG1~{|@6%;3YWhH45kNCYm z!qW+YO-{i)MjuOVx9%by8+E%4b z(s^#^ri4lf_Qtd(XtiR3fr>3s6T$T(Z&N|4@9vXci5asvk*(4lm2Wz2YB{g(wR%46 zzeHB+OarHv27&z{Kc11ccLt!D=N=#XRm4S0`g;j7?|?wZ8^aF_pV~fU9jSR46TA+n z(d~Sf%IO|mY1I4;7%dfla*VgO8@`P|$(^vz;$Gg4NX!4QWQiq^9#9LMmX~-sz|f*! zu0K%nIip0hKY|+UWzu%<@))oE4d>v3Cs*q6zUZOhG#|_D<*xP(ZHnFl#xRzku+s+< zUCsL>XsWdq#p9^YL4#U!;yxauKMwPFdF3x{|G%N!*3x z&CmQh1asW9Em5vW%+7PAr2qyImy~bMZK48Mj0uth=bCaK!a_Ka)W~5^2ZiJWrq>yQ zGOFGtkIO30N+}FDF;q=A%d#UrJQctD)cU*GxG_dWP)pii%R$3C$)*1_AW<#-7j+=V zTdN>@XC>bRtZy!dWncC zb{q0Ps8Ned+l=#dgLJeV7tM@u!tPHnj)Mf|n(Q4U9w#4P?fv#VJJY@BKW6O~m!Kci z&ammAW`)v@&JO|^NRU2YGsykc=AIv)-xG0(dRkGzc%y4Qw@?%*%3$WauzqToLA7aB z5k@h2KK?=7c80zCdi+6!6?!B94mqfvz?MF$dR1;P1^n^sF8$5f_be8X zuiDZ#duvQ_0f_9@mXFw+#x0?Ta*-La{GMvZMaY@DA7J~QEO zswi1%0FaKbZ*R_Tp8m>TYy%ZZr8l`w?cqKA+`k}3&`TD+aeEVO)ivddT4rSlqb#ys z5S!Elq8Hjjl53Q;1^f60z~EKr?n}*~*P)xa!a>#Ajq&tT!b;$|CgcR;@$-^qrAFYZ z<&j+RXjQ*D+py(5upS5{MmgeHd*oJuVI<{u#mHdE+lMG}EP8Oj9so z2696!Q*4iasA3fNk&|LVMUH%+ds-s0`)fb)DEl_TyywjhX^7h3HyX{6Fx2+q)f$$tGh6 zkC_**K#kpCDW&}5+L8Jd;+;^H*DCqE&p*!Hw~kA_3=FA2pFXm5tJlvbFPykZdzsZO z6=7Oqr`cL^e4Fk1ae%I`qu^tB>C47&v+Eke`o&72NTNRi`!ZX{qzp}^(I-z?w3=Lg zO<#7EK5s9#`te?I{G+PnxbkumSoK_{^|o-?$k0@mOr5$PfkRYwB&cK1wx|UFrl6 zl1oku*Ph$-=?Agwr5d@met~|o4745>`ef96W;0ALw&z$+2Aytpo6YAjc`fkKjdUvR z&FKQOTJO2C0tDOv2VcZrUmq{(@EnU0paBdD!*o&>m8slD-@)|#4^WnSmQN4?ThqL+z+hisP=qwno<_*?j-&pkCvH@z&ffk*9X_VMus#c=vHj;=e@tmIv693UGt3 zId4y%2f;aothPAWiEwwxxKYUYR->cMkqYeL2UJrG;ncy5(FCHnGBH11t~cj3gQ{3} zrXdp$ucyVG+L;{BP-3*tl>VGm$(Kq#%(Rh6&QX<4&Ma`=FNRO3@@5#U?8 zr}H*)9BY|2Wus&W!a4FL)vt)f7IzcN$5;^nH!N+ad$9~OBE8ATtg?tXldo1L41mMR z7=G(cz341!WDYm$M6p`QtydKFq3@jnB3Yx`djx2wm!(>KQwF@PPBK(KJ5KX%2y&y? zJ>(vdvgGTHNEcZ=>HiKU-&M~NHZP%Aoeu)Kz6A4z63ew(c7$>a5YLho`bOOloP14-s+nZ?wbj`5mRtcOFsE=p-fodQOeKWKrYbjhwFs$uLOup zuWbvs#IidvZ{QI5y&-l91`-^|29N1yJxEKl>-2oXel2|@MjTF^&?>Yh7eCC{-3y61 z8m*Pp{M8)OaVUf2F(XrxTXbXIAe$nT zm1tO+KCAIjH%JdNjrH!gY%igVa3blrEH+_D&eUr0?BKKXLMS-JZQNRtSWiBE^iYA7SqS`laA6pXhSjb4ItXk=6Agt z7q10f&8GI;9h|U=)0MBz1TB4vh@=rAjk!wb zDQ8kL!)4P*!~))!>|#Jjl3_Ed((n|CV@ykgP^10<+*sTDy~Kb+Je2lXYy_L|+Q2A| zrqkrLT`G8AN?@ec$5K-{z%B4}=QPX0%zadOaK?VNq?-Svr=4mW&){F{oGK7m!fVug zv|Z>?Q`}%7?6eVc82Ip_V*2~_g?fBTl7!z=_O1Cs=?26cJ$BwHG?G)-STdDW&qdFj z%mSAvICLaW^6f;_r;q-|)dsBt(7f!3yK90vg4Vf^S6Bfvw3hImMEUaWQoC#=ou!Y% zb2)8$ji^PJ>5rM$Wfu2H$RPB^!Q5iUW^e63?~ULQ#Rvga@6Za>i# z^CigS_m%=i2tNo>k z9s8RqrKa=AIl!i((~k(2&r`vKdnMQL5LE;TV%=zd153e7^Pq*LNw5$Z&K6wNXCglpq!Pk$f>8t26L+3 z=uEf(rT36q=8@6=WEtR>wrhy-JEmc%ZsFJnPGB^QubVz&YIhRCk{;9Qz&S)?vElY^ z{jauI%G4fmZQGbvAhpFHS2LAPOAJ{I015VK-a?*Ap3Bg(t0XcCEyifx_Vf8Fp35>> zC=Vt)nT)u|h>~Vmxqg;-y!W-9ZUf37!%ke z;{+>BIK&7HbGtEga-Pyj&h3J63QwPDv^H!nS|#Ro`)&+02*O)qW)p>}0?$D+3*n4; zHH}1xs`{ZYcU&01xKdRQd2u?$o1irboSle*-R$79WT0bSq{4ER92(hh42W_bZOe)k1(23AWm9pwcC7iE^0ki$J1|<75vkbO5>& z3v0Tm7B85o+aUkp7Ja)>yp5CUCkoZJ(mMPBuD)OF&iF)Af8quVK9=*VU9SJ)4V;o4 z%DkFX!7T%sp#(y1DFf8wd31lkpTHAi9VAwTV`L}dw9rjYlW97zrAb(J%ERa+eh$Jj zo#4ObJC6ShSK$Llhp(ALcZ^spAALH4I_YzUG*8sLK@4F*+X%Q-Tz?tF7x9?3+{eNH zvK|$pKb@P6kyueZmP|-aIP!x7uo3!=$lC4Ej57}NpoB99IgRZB6cdBRdr*W(92D%3 zVlj-5P3{tGl*ERGPX)TA_>H~G(0`3V+;`}+5#ZO5H{WrC(%C7ao6Vem)Yu1_apJKv zcMwDnUYFwRQcPi-(|fMiy6`*!V;mqRtf&}dmk4J;uX^C_viHBX)y84~bINna$x5~t z74Jo)OXT-RKNy6C?9Y;NY4Ds;n79YE`wVMv9{>3<{k7-|h>qv7^GUEuv>Smg!D1`u z!AfJaPm81gcPWLOmi@zG={_C;?iQB*A$2ad4sxSHZUXgPc8t#Nv&YYk4b z7}q)?fQGG>8gu$CFJ3_*M;T{~PTRiJ;RdeXQ&zw`!RreOkmoAymZLuZVdrv=Pd^m| zkIGcm@&kGSuSnd1a`4kt*r@ND!~hKg?+^?sLMf5CkoRTFGNu(23i>?jxNIi6OyxXa zfXG1jBpxuWH=S$?srA~WyvIg!KL1!kL5N05+p#IO)HIu31Fw+O=d4`vjEY%U&{hAr zFx#j)!ks&ZbtwD0l||5_H8@!3t^8@4?s-ii)5(jJqW_PP^d zsO0=`o-d~7neXp8Gv6FMCAwVkM&ZR4U|QF4{ynnAw`LvTs96+qR5HB1fCa)lJ+5t(Q~J9kjKf$K=lCF(=P89!A`x|j19mP#8R6!H5~sR7044F5 z_q7^$*M2-$(i_i;tW&9>N9=l7Q$j||o%tq+8SQ-jX$3a78fxg2GV_6X5&zJX9qm*o zaC&Ommw145Hnf3Scn99e3q~JIeuG9MM)9|4igZDmMQVSJ2KaFB6?@}i&kA>+vU!_n z+@EX^;7=ygV?dC_tn9yFA$1og0bi!!p+|V?svT5awvhfIY99@puPo(j|KK3lCjw$&78===O45gl8=fC=@~5~ z``W+JkKs|BC({>4|D>G{S&@rZI?~1k|C-^uLr8l3`CdI>%A|3_S4;TEHG!{UW&3~O zH27bf#^CtVGp3e7NaV6Pt63z~0`In!YY4(vEut?8JNEda_QQtsPU^YmgE^M%mCU%> zUui<=0q=)0;mVM+R^pDj=n&DLn*`p_P1)>WFb z0xlu7tK_sSq2;dQAY{tKkEIO@w6FAD1e&k^0rX*?;}|zCUK>y9&CBIzh=8%=BnAC5 z16f>bSevp+0L;C4wWgDd_0wGG<}(ii1l80Tm4_y+e&Pj^_DOo01LHDv$%-bqIhjNh z8N&xTc#SL`ZW2cN!K$JQdu_AY8QIAD9e}Z>Vbp!ha3Zd)mO~B{yEb~(n;|~NC7*l< zbjxB|bUUsNIf4H9Zk?v9^{s#vnNm>;Z)*RM&OVUoj_U&=Wz}Mh>|g&Tu<(fv0mHz? zgmMW1c)@P?zhq32rBrNAG{drzit^D$You;bw$hh)6yT0z%25EUBwCrLFQP^lYn)ZfL>t0f}ATYKbPO15fYwslH_CbN!8100jMh((nDee zTVM#tf_10wD@PK4f~IEJ1PQ2P0nd`8k3S<|Fkg~Y!{;E1Duu;SVZAeKX{`MVOn zT2>Cw(VpaLW8RqwjTVH1=JB>4bm>HJz&@jCjLF%_z?VG%4EUsBEi;bEmss#xGE1I^ z+VAJrA2$yk63S8~lV2}zW4Md$wkwE0vxL@{NyNS+J&M%PUJQ;$`* zP5~jKhU?pFjCo}WS21MA(6EF&9TL6H`1njUUAQVk^k%oqV7E0MA3FlOxrgOg>W4Kv z9yPz{eUG{)K&ncK2`uUmZkf8S&o~nQFn+guH0YDx9qi~JG9v*k1a}!#rsXkC#aLym ziy$Pry(~zQ-QI4iZ7##20U~$0EnG)o_!6YDn7RFS#&MJ!td21=I>4(z@d$dy6(nKF zn_kiSlLeSBJm9f8)6S=Xr;of$5q4&S+U>*6y|hJQ8{&G05V@pIo{XNvfIcvm5-7x> zfwF|-;$lQ7pEEurry965DV+i^jC*8g=fi7db#iB zr(f?(BqI;mrR1*CIdvzX0dfUlzWGl;L=YG&qohamn)vrOJN%@DA<6#B$lq((zVyk2 z<)y5$l&2mfFMSTK6+Q8^Pq_D5Y9aw}+fWWM58xG*)xu_Uy)#B5e1x$s-Y*!ezRClA zXC0Si3{Tn>(vf-QxBgTsOE8m=+oe+!DZdr`C-(XqgCI-uE8Ot&Y29PGPns!8Qn&h@ zev>%UCK@570N?JoDUkVckV_;O?Kji3*rIY5>TjkKb`JphK*2RfGf!1m>pqmv$RTiPVta_j2INf!nVDFP==2IJN9%TGqP5U{6`FywP9Dn&P5dT`U*zvKE>Y< z&T~=Pz{HD5fu>@j3)3)ZrP1Y*kkmClg{PDH7bdo zvyGE>V6JdEfJq5H9ql9-@P+8wbArKd;c~{Ww_-~I(GkT@bVvWh8|>3xYO z5MiTiA(qHHW;+S`Bpi$vEFsPo3DLxrNHdr4QbNSBFFhmD!-d?Pf5PcP5#G4&0+pAe zlkxPN^ebME!4oY9y(IOMne#3))XVffJk=G(*c6a1Xn(t1`TMvhwlu@735_%K2{UVp z+OVU+;}3cf;E<7McajMFlB!VtglYgRzUy^3dXI)0v#Mj>h^}?far&GaeLZk@c z`1h+k8R~wgOrfY-gONq(v85-t!;NX+841&<@8Vgr{V#<$8lLs~E(jX}r&CZfN(qPX z14Iay#Ii^iB~@Wi2;ZB%dCSiT^wD+%;j)8DMr8aG7H7|fG6gawSTfdP?qjcsR#rJq zyj`Nl#cOZwUNguyD+u!@)b*~U?UJOeq#*qB-pFO_lIGa}7y~s6?$TTmmEl~|trX@O zde8ry*hTTkyfHsm{NVkwFY6<|@)U&h6eH8z$uQD=81YPb7W>{jt*7mWkI@&p)2BMH z;D$N+qLsiBlA|u1;o%FGf9W6BL#p@}n3FcCPAWyOB#D6?l2ls%3I!dZ67Pea|%zM#E$HxrO4(3SOKY_83<> z-YqfLA_>{{;=}viKGZuxCDQ%G&FAqx)Q>Z?XPX^eIzSXJ=g(434HWHsVNauU!`ee# zcVEV9wm1O=P2DMOK;;D86wU`+)fBi<$YWkFakxVAWm^0d> zuyd#fFozX)UZ6IgzRYDLHP=B)Jpb}xV$vL_jY5i^?b*y^)pHZY>Glab>umqo5s%p@ z(ijItB3eP?j#b|}aUur!D5`-O)-y)A0RM7bJh(ojiG3EENaAiK=w>jISV{ks1LgaY zU(9vU_@Vwq`3q^W@LcM1ipUj$eR*VKMuhc`Me7a7xClfz%VXnb?k|}1V56vq zRhkyM;k`STao?{-j}IOXtqDAw5k{ib9zwXmF*B$cm&MAiLtN#MR{5HMx#-$WYN7A= zMbR233irbX0}AE%J^OZh6Q$&Uw?-2X+@iIe$=$#WD%=YW=8#c%gdOl21mX|TU1sW( zWiM@+mWQ6m;|eif2jd1e(1s%=nT)c8sEPuOjoqY3!XcyV3X*vvK~j0-%qXC8NEKeN zLVM4Z#g1USPvHRfLHMT3y(k~&Y=+`A@~aRRGE3=kv!1W3Z+Qo^>YV&$cYBG3I+(AO z?!8(}5p;+)A>I>O)b8Ne6WfubIq+5ZT=u-8Ts0cNUS@`;OKLWXWzK|j=%`;AOT2mG zs83vpWkXVd79F^KUnPBU;$C|dkZ4&w|En&|Pb9b~nKD>9WO4HzoDRIW{xwsE^@kln(_{lJ2c2kwFKR5|*~?7&7zZ9peL-#c!{QpJ21-<(lKL$>Oo?%oRDvtgxsq0h*WHn0ax zc%~!!b3y{9b@EZc`|MM{J^OB)KB3z?b%HNU^XZtw7B|Vz!3W0}R|`Ztg9U9KgYyy5 zHOfk%bR7{LB4FCn7*^6OmXlam!0mH7HeDCDVv>AJ2DEf4}qgY*~X zgC5QqHA}LHj zPQx&NK4_LTiT(biit{w@jyVY;C8O!(Bp<5oi*t+;$}Nf_6k~)e!=^1_3q@wT22sAn zn+?;M<_u+MhV51zGv?Do4I;qqo6woW4fPfdv&--&19a2ZoY{vuqIJO?&R(XDxocK%xO1 zAV;?>`}mB|w?(vC5Iq7S)FLZh=Q49DsuKh{WAU$T|H!IhIj-%raF(JZrs90d%BE!# zbXF~<nH?mOhA71Mybmw>J!PE~7tLc9zv3NG zC#`zE3D6A0z0DHh$`-`!wud5nvm$GO3*H7z-KbQ_IP<`usWGBoYXU9Xav6|p< zUMfgF*IP>V(giHJdN!&1a zJeAliMf?@nc6HtzpIs)BZjvMf7>~cIz5umf-3PU6FPEjO3)jsBmxV2QI%IHh zz~&lL6ZpVKWV*zb&wLLUxz?KmobXBL4}Q632-uO&#)=a0-nOWJ!IqJ!#<_U<-(}xZDW>gviBV#J0oWvhWsvj29hU!6O_H9$U5EXPDHRlr|52#n&-8 zi;aCsQlW*U3Z5~Wx46OWWHvfATkdP0z?Nw;=F4l`sOgtAXK~cX_Ynk%TP-Zx#|9V| zUdf%CTy0W@sp>haj_Z9wJ_p%*Am|NyTErEdfRzd_8og&l0$={JPjl{QC!NasW>z64 zqv#kErTMCOMu;WHc>-p3%4QYpt|=Wp!6h&W>6K)GSWTB3{_YSr*ZCtf{~4{68gcC) z<1RZ$GX4uX*d|H7OSQ=Q`?IysBlW3Au10+Lzbb0)Lg`=3oMPJtJISu6UGEf1TW$nW z)%8ohuYG^^%Z~2R>1{E_V+2VTU{WxmBX>g3Mx(@HKxIaPYMk24Q@^baW5v2PmCZ^S z&TgiQpa|J?|6g>-_cNkz-F z*?l9TN>~WO_IUehENKly;I6Ge;6@7se-$7x@5_EO6U5xas@8`?gFRg^(j~aE(YdK` zv=Ao=GLa)43ppOP|I-!ESoTCjPx0VCjqIf2a|8?@*b zQ&b9Bkk7u+kvCw+#+i{L3H!QBle;hQTHEww$yoDM=sm1kB8eJSY-c@o9OzWh@}l!x z`KOjRFHTShJ_m3*0ZQUQ^ zfgS#=6s?@DTC&n(S!UzI9hs`iT7GAM!8Dx__>FK|{sH=aA@0YPaMmFqiGJ3G#C*Qt z2E;AF3V79Gs3V4Arx(X~r8k~$iccmKc>abT;GmQ0Lm2p+y*1`c0! zSaRyAN0htLSWzUdk}&v{iX)aKG4Pe`KiUXcP}2Q#Yxg^Q4O#G!^p^QR_G@! zYCc-l?vE57qZR{RXYohxj^&xO2fHT(APLC>DyfW`_LD?CY06}W=p?5D-e&+QSNu_H zJO=3~t#E$4@x;mtTX-nJA~iJe`U8aseg$jPpQznY?Y}%NrsEk!d;OG*3D_x0yn3IZ zh^|2$;=V5IDsO8Iip?LtseAbT8JQ&=tZ1pIj0Kx;(@y>w-oBhZmcmw#Sfg_Q%9nS5 zk1e-k)cvXd-u>f)zAW;Hw>&1ZSwLdXq;T13oaV5Ib`zCsy^k8I^-_>af}*i=ZZMKB zP?jFhQDgqtdxyo6Pl2iIQ`Bodxn6#7XUi_)ig{a^ud9=S(`-3Xh{!Uar-wHXe($;w z=PDdy&gVXIbfDw&Vvsbu!Pu%(RT*GF+qgZrVL94iZ<}CV$Orj$ztU32p_0|jtb*G6czKW9e zQufUuH-A>hGz~)4R+asLVyKvC4(XrS72zM|j6m2peZ%rYzq{{};z<F}f?UZ!Ocq zIBq@qTMSnG59K8l{MP9P6K};|a7GevO8{9V65!+3WU9WpC>!6FFARq^+!VnRT6%R^Q?}T| z;AcGmK;e6H4XlURO-?CvOT+1&-FGh8TgQYexDt^2cONd^X*=edG0Jc%OB<3KHeeO` zxeQ-PdCg1@RM3g^1;@w$gAyDeoPBF_rrls-J8~k}WT2SR$5M{V0nIr^9DGKc`sgb! z5#|He?&Gpw9H5`C%Uf{qLF*L3w*`yh(Fxioq8`J=GS5uQ>>s}8F> zO~>DHqBuB=2M7*`N3|5BWbWoJoZ}zPZ~8U6GYt^;RU-g|8o|HoM^0p=s6#`3#So~( zFP|JHvLuB2SV*wBN*qM; zUG(;)&g~v_eoBig@LPYURMC?&C^4MPn;v^FtdU~(LH{krDwEMbHf8WtfA5k!(8zHX z*04SPwY9#xVr7yQ;WXEjZ*?p^#^&Z9C~@x2bXltuuQu?O9^T6wC17xDZWnQgUYjL- z8gyx#bAb7OANq{dFL4?Cu~M+!jG#ftQ-Y1bz1A+)OLv?~YQFJS!{>5l34J{{n@j$? z!(7+4FN^a@Z1UjwdXWPyYmaK#A}E_u^ev5@tSpilBamMqEdG zaUrwbOJCDLw9h`GzO4zOMg-4AF;X?=8sx9~BWI&9s1Sc*?d@%~=YefdNKYx@7&G4+ z^PDiW(D+Q{c!R7vbpvroL=S3p^@}?Fq+Ls_7uB?ogwnr!JGfbb{_^!#7*H0n;!(Rx z#2@_LdazH!jS3MuVo2epZ~ewfB#(}$twmi~EBznx-aDwtcU>D*M8HN75$OT~3Id|^ z77(QhD5xkUQ4#6Ax5R)7NQrboAWD%ABE5zppnxE~6Oa;mfIvd}d0pRHd#|%*eZRf- zpJ&cYW@IM5<;i_NcfYRZkzeq>b`?D0d2_?)aR!c)-}oZaouSt5>hCyIsoRZ4-$@5n zON~6Z45xU`mZZ1Qb#p=V-xqInZmn0;K4~)(ol)biQ@rb*XK0uEHE6G6m@4EtlyUSZ zGsmfS5rWh3lY8Za22>@-oQn)m>$klRUDv|Fw10Sfn zXV2}{7S2cQ)$+1kELUHd73BIx$qOjGxJ=q-iTM;+-8%4TeMqn;GY4YjFU5CURivw`*B4KK=W#H)P) zC52(aBW-f^wMDZRc`pb(aTyrHgj*Ex<{`MspW1yg+CvfFq$rqeS*y6 zuCPd*`NZ7Ly4ObLY}uslbf_`fv9zFeX=j_PXhT^G-pK7$=V)iq2zqRAptHgap|N*>+>tLxo+!VimkRYS%1XMZfBBpSgmlIISZR@GQb=C*(cu z+Q>@@SV3rH^$8Bm{tON0m5`5`EO{D__y$?G^f?RLgU^iVRLM5ia4rmlmqxr_WPz~d z2)yDWd=}W9L!oq{v~V4oHbr-}#V!2#;_1;46{VQAn z4~q$M>LbEUH$UF=VTyEAl!t|E)ZZ(^ouq7Eql_Orc1!-{>WOm4TcS^*gpZi600kUH z;n~HLr6%C0h$E+?1cM4b$cd~1vrH|)<@d(hUVeHW^^CVOC(fWVyg=&eUpLw>Jvs5` zy<>}Qii<9W$iB)s*if3r&;3H`OZ?KsC1W2x6;eU!9CWpO`gA-XAizt6KM)w|y~D^% zaNJqFRbZd1^#q7%0npcib|!$nTztx3gbDRB^2SWs$O1yUW`Wj#@V{TkDW72 z?s3v2KMo;)bKGuUdRxY;aH&~0=EC*oNm1-RvFYtj|3lmIBAgMJ|MrpH+Y-4IERQ=a z(W=Q(Z@@Bs8tc6iX}U^!C)EHq`KGKB>9J(gUzA05lt+_(aOTHwbOMk!_lswDVIvzh z^8jKKY`_qOID&2-Zy9*<@(nvx-$rXO%^5A^a`dkXUzg+=PCT49b@(_T2mov8jOp@) zQh{EWq}$Ocy)|2ncecIh_Fl4ob%*~Z^w7El@SNz~M2!D0crIEWh-ks-lJFM_|AS2b zncac?1V9lH|7)@Oe{qdRGQh%tGW_`X%zw6+zwu(+x(N`ST-pzi{$E^UEe4Qel%I8Y zsPmU*_@CFK#SjnhkO-a702}=;uCa&$I4p`8(?|bX0{7!W1mB5JS}5rUUxMTV!*J;I7;*^! zlK3_(j9Iy-5ay^z9F=^#*Y0qqqMuM)AAfhny(j5PuKvPJuf35g0LULbdTZX?B94FZ zQgNAmcO3E^wIRi(Dc}c28TC!vL!%7j`4c_CShk(zP%boXOMg8qszky?biBp<#U`7n zV=Uu?!!}p7&FVa~hZBL)dxEa9s?8{Pi>z;251`hxHz-ek1_kC~ah_SJs=kuMrN!~Q z34zy{IDn}3mCIDsPvZ7mE73-^HW{c&_X_yW$QUGw`wFFaW1s*MP2$InZ1;~SPKnUC zT_YC;g(8cDGMgzLPuNcc-%?8!qEquqoQ8W7Ell3!Zm&v?Wo(KUX`cr}KB)67#Xzoo z?oBn}?Bh%tEgnCyk|>>a{lz<#O4(B+vm|apD zh*PlLO-SBbcNY3i#KEjR1s`=c__<2Fc9*>ffXjT>$y5UFs|(R7koJ1K+(E6~2A0Vr z{w{XIlN#kr13PaHf-K72s1Q@HgQb%9IIdBgW@s6 za^|el0hV8%|5)lEKvIexNF8PjS6e|Iqn`fhw}@HvZ(jH9VIeEbV}2y&=b2+P_cmIN z9UWLW%2E6N793Q?p$!Mgo6!0VFXIT?Lt;xgv~q)~Do2Wf`B>@nC4@Suo$JQKwyAMK zJUKVGmKC~DtL8lBBrRc*^%ass;z1rL6`hG}|5>I7A88g3KI4=9@@lpf@R}@;lIZg8 zUA_(B`tZL3X^C6{_>^wG#P0!}TmU>9Zvlo{rYjcOyKjWNk=&tE3Fxpdlt%xpcz`D& z-Gkb1>|;yDXAbSoMaVy=L$+sU{5U+K4S*3uj{|etu=sy zXg2HT56ed>uM0rVD-H%9R=(EJyMs=?~fFo8<^h8f#w$|-2+^qgkXY6=G5T~ zuI|kW$YcJ?(tT0!S2y+Q%@|-I;}9g1#7o)nMbaWTvD_a{586a|eC~{;Q5L@ZuKx>@ zuOtJwg?sD4wXGoMv72c?@Qzj!0x*XU%SeORia%}aS5w{EETL{srQf%L9OkF@mLom) zW@7@q)`99J%o_6bxg0U%*R*ayWpa%x3`N-=9>7b1G#F=|nT0Symt;}I6`z$d_Cr@# zKv8{Ji`hH^=6`b@HHNEw(5t(Lrdyj>?fg6}-0N>Vwp24c)N9`WUFuKnP@jK&iaQS+ zjt_IVICzyEYY$bLGRXM?fb9a;(^BnlD_bTC`fWqiMpl6vTc+jTGu~oJ8}irSF4l+* zM6hwo+;Q4Q1-(6u_dnYCXLDO&0PR8E6L?61wABmIJ38mku=$Uaoet8=_Baq+E;$I9 z($e@UsiC+I4AW1MrE9YaY4X~;1NQ8JVQPyxyPuNno9U$?BZ@nmN39_ApTb@gq5OZAc6gLg*?k zS6}4hn(w5yh?#%x^Fscv6cD1-iLZgOTI~C?68{umw@+Z_!;bH%qS^S>uLkH^z2%k_ z`H>*5PP!2% zU)_wJA3*z_7O8QazEVy_GvnV8zXj}nR{5SNk)Mk?IFH0_rUFy7ojh{FQv*oAw_LGV zH~EpSPg$*~kFz^0*o)`~45BcJMdXQA|staJ@I?+^h5fAR&>Z?i#XVH2 ztcB%CZkdZ#wX{p1vRQWDr+lsmJjEBs;v0PUg>6~JM&jPZIVFdY!5`j`;)h&;^jW$} zZP4ORgx&u8sD6Tj%YFkYQGF&qqJ9+Fu%hTZXiTO)k#`dq(hzwJ(fN}8UdWFjUX8$nHL5U|_KB{w zv+I)^^o_M)`)AF1B7x8nWaoC>Y@tg&ZOii^ov95iu-u!PBI0zxM{L|Z|C!rg#T%^; zF8x7*Mt&Pmr+!JQ!?B`RE|#&8HjSvW17gs~k?urZrB@yYOT+X;z_@lb zfNr&MXJPZRU$i{x-i$-SCZz~y`YV3w*8ADz5M9X~6uIBXEZ^^e=(9P0x~*BwohyO( zG`$RRx7d!F#PJD-@tU+i#bD)kKomt!?#)-rRz58kgb$i|C}G!=lq8HqVM4I*bMx8>iO1YYI%aRr$hYc$?PT?x zEOm1lZfIIFA9c_bZH9uLL5AXus(Gas`>X^@F%j^#5AH3Ox$ckboWB4I(Fn?JBF|}I zg^^g|-f~JRod6)-7htR+Y~&jQEl!MDgxB%?pqW!yAIh6a86&0UKP7^W$7O=(5vTe0 z^Fri8PPdSxfleRb5%@*VPIEqaKfD2#u-o4BjPtJ>KQ@8XiqI5Po;NlCm}#1mAA?Am zq^1(|m(EFl1;v}0s9o1y>DrmAXxYQD`jEkFuAy4=DFz+3lKN{tkE%Sfhb4^U=ssZG z$`B>jT&)@1G{w-krX8$Ob|Cp9p&?DQZog~|okJlhqTOgBxaZ=Lu>76rJY=ruT-lYNTG9Al}mhaL& z#@uArmFvnxqcxu2s4Ybz|H6P@VmD?up*tV(MQy#<^in9PuDP`g0+he6_*}U}~voxuCTEoVPDuFe!#98<`SFZs`u6tVpXFnNd*$=4#@oorhb0U9p zy3ds^1W`@TK~B|5p5~^ypT!Rv5>j5ZS_g zZLGQ(XU)EsDq|zff{EiF?R+~c<2o&$oK|_Bk?YWtGjff^8wrFTi#*tVdo&gz+tZFs zRq=h=aq=q5a>J7avq_-%5Ag120mysNgZ0sC-CM`M`_kvg;hPq?weyFetQ6dF5DB%v z*Z37+{eVT-ZbhfGA|G^A=`%(sT5m((7I74Z4Q4Fr>S*zUst4)kPVBrg`Jh-D z^l(gWfwa}eO~-w{lcqWiRY30CM=C!pSiBvZsc#JbMf)C+rKf{N`&!81tlJo&)_mI( zZw#pWpul^M(y5#4_%WWNM47E4Lyt_It~!PJbTR3$FD)n3>{9E?rbD0!=Hq;R}HOK?|W=t^H!pvv`QD}DeFFSFiFN^1&XkEEj> zbs69Tdf`mf{EMgfaRgdZ3Qh^ot}LmRPN|(~ z@~gk;SEXwl*4{R>`y5KNMq6y#BF`x>(W`roZ-caG+VmWiKA@ikVu#%l(Uugr^{S26 zw)dOCjio%g4H&x#h5khz^iJ!U$h#+uv;n4O*FBqKg3u(_sS=~BaXUl3NLhr-JyR3+ z-IM27FtM=9>~9ugoqEYaA>thrg3A11%YkmMv$ELY44t`1I0(5~A~_d8J?>bL{a$*3 zg|Zt+18QR_+Q5MF`SK&NcQ?$%W8Y<{*v7D4go?fmZ>;nFXiHa(71^Cwq;p(Qo=CXU z*&>rUU9|AC=+PjjNE+`tJf9II>r)TC}f<3I~VQ zA$QJolblX%yPt8{)Fel-ocw9&qrhRg*&?;e6MLYP;dh%v^Bm{eCWSjU7YDNm4JE>3>!Igx}J?*v3K;3O!7} zU;MC5Tlx9w_;tUT=PKvA+1mPlG%Rpk-rgF~n=g$E%UB9$0{5qB8fu`>X0n4?VyKfr zJU8s#P0QOHxdls7EKOGqy8+E`n^+Y@_LjCHguZa7(q`(>VpcVMW>w#}cyC{<_m(kZ zta6(+XO~ngJ6qVwc#m*E4{nq254Fw?$fe|n?JP$4Ukf3Z()EGf*cp+fMm>{##nKPo zqv>%R)7^2ISLp;@dL4Tgd7}Eh&imfdv~zVh{p;@1zoWa_v^^fYOm23 z;^oa6juXGw7~`4mvd@0f>7MKQ)h@_}=lMa=Sz@gkI1hVzCKGkfGZOoYd!(y0-OZ5QNEjKZb2C__5Pi$>z*) z3Wq9)H&6G#aPQOGm)l;uzs1rtfAQjSy2r1i z-u<@3Qf~9UHRe5f?D(3bc*u=!E{h;6;LHZl4kfVoeI%eRGY1{;Vm^yT`i!rhH=nMQ z4iid3X*OwU1`p6ibv<&MRz&Y>&8c>TLSd8-wVUGC&Q&g_>j(Rpb9h~nPK8LXfYECbH zUf8lG{mB=BnuapE;wT3VK4+8XnKPxiFdAy&6Ed9lRbm2}M3X!WFX6Dusaa=p4Zh^Tc?SZ{1ULAa zi@t=W#vVymz)Aw_bM7*0^o3%RAcj{vvKF5{A^hu=7_@+fmPp9YsnXCD!%*Yl-4w5y z&Nu^dv%}!cburan&@+cboNREOU9sR%#PqR+en_xQh$i1!I)UUopq45^J(8^zbGRp( zrsiMK%I7zq?{0Y8*#BjiuS!=qT^5tBuPEvG>dnzImNRv!3fEixNLKFg2AmPSrL|oF z^Up#f;62G#7s^oacvvo0NGaOmxS2KIIOX8;-JKRt`2i&s2yhMPfyY-4ON7S1{!tcZ zJ{aMm*U8focfZIGLidkr@8>)bo7vr1Mtql5aIW1gWO7WoX5zA2hV}#f<#6}K3U>W# z44|9WMKL$N)oC67R1djZL0BEMtuXOCb#5oYeIz&0JC4Boq#V$c{qkh)g?fdmYc0%)R|zKm+Etl^o_of+2qBFnJq=X-_+ zNI_Jlpc)T?1QQ%hrLedou1zi^Da}zH=_1k`WDHVeO0UwO3EnDR+=MNEmFJD#7vo~} zSI`ndD4A>TwBZ4#;lS-118%S8BLh1xQ0Ft`AZ!VLN<+gO)T8$Rh}%G|!@@0~kQ6m3 zaAzLU6!2O-`&m+B62J?#t6NQeC&<7d=Mr`6Vin;FayJcypE?Xlk+qo0UHvjHqHy$P zOh+-4MiCRYrtip-dTqp_)6C!19DQ?nP!gz>$TL(n3&q@jH`Xq&%(&s5IrU)cidnG< zp9++ci_@6m`y;-6SQQ$ya5DEv>U)fPE)Y?G5@HN2iMyc;U>B#6&wGN>dWGenDt<`!a1_Tn&Bd?A` zT-%hklz(^De{Lal4Jb)`pe%roUONlV_FPomgOzJyMk1^acI3l<1)AYpMC~`42~~bK z_ZPoOj;8lcR$?-o!(2nupan|<$nK0c?9~F>yFcOE&6?KmA7FI7IbYyjRK%u5ng%9# z@yy2Za>o2rTZ9Op#7oXPN*0l>P*1f3rT;+XUFd ze^20436hYC`2PB6AP16neh2{*(Zl_kwGm2twW0{Mo)ekn3eMGj{T)mqoELAxrP~;3 z$;Hs5IW~1WQzhgMID)%TdhRlRJj*M5)?v(ZS_77|->)r<$hdIm%A>q$)P~Yz^HpM? zrV(8#{M3%i)S9_pQTD zE6BK8s2%l<^ieFY0UZz@ClDh<81~_mh7Q;Ugn$j(?H)45R@IhLJPWIta|ro7lB5fy zo?`4Ht~~pbEIijd>ZrW?H-MO6k5Gm!_{Ar-G)rLWi7b~vafT_rmH12HGl>4FX(;hg z9IP7lGtKf01J8_tjevib`Jt4k)aO80{wHk|xvNfafvo*%dF_q52Z2esH&df<0(?le zAibVsspZY$NA*#rtlk){m$5&1pQ)N=WvpEG;uG!mv=+05pCC95HhpT^M@#U3!UIDt zOK8~^o?brHvY@RB45bW(I97)uQ9n2C%b{0H!;_ zR8K=dwaZmKj1Js$UC|Xv9KkIIS##NVcC^C;_0?+e{4|aVR^>d3@nY; zLSuiYQq$gVYsf?pwz*g5HdPW$X~4c5P#L70-6rwMFrAyZK=_@^y~^~UHA6r zHpqWA-laop=jS+G`e0++!|jG$&(*+t=Eq)}w*zJX)-?Vu`-khuM3J2+5ev)mNMDFM zvbed#^p`$f?; z6#SHkrqY^Xwuo~BzyQsUIyt0TI~mAb7=@h|B^OTK0cbpLsI&{Gd}`HS$n*y(2oEe4 zNhH~R+ChQ{eDzy3@A<%F z(S1+iv(*Tb2XnjdV~brOD=e!l3*bgKH5K3Ws``~ldqIvqZmX<7`~z*vlU9OT!Kj(> zoE)kokOE~)fMYM!xTDvs7ZpWXO#mWQ`|)3>ZaD?!d|jd&hYvsMRUuh z85I@9a}DKBoGl_aD<81&k>E)(zWId=wzZy#!I=lg)Ii(x^!ufjZTt})7A?X~+VlS1A2eBkkkQzf0N_HR;^Ma09RR6>7ajs~lLMp7y7y z!>ycIT8c9N>ago2^pu&uNhN*3hVAIIjR?nOb`qa(tLrW=dqBsF z#ip;ze5xR8U}Vx9;8?zN<3&F=OZ#_GH>1}l{d-YJtb}rRiUl|n(ghG#qS8&(ZGk#+ zM(CkjgX@RS{R9H&@D7v~SdI&A9P^%U6~;9KO*!L!t0gbpv>X2Mt==+siNw_Ay&yeYp3k9ptt6$gLZyB4Wu5>zCK&F3m3!I zA8rd&em9+^=LjbNRERvE>x((MgpPM{9q{>`yKwZ|gZ5I?Ap+DkzR2jlXRVRVsDdO$HAZ};VZd0b+J$QOGs(0eTdOJiKo zA434Hg_fl-LtIqQ|Ay9{#gZ)^ImWoC0p{ANL9O6Cp_KQAipy9oX1N1 zo3cSd*N5bI0Z*hSP>#Yk$vfSjerW$KTF5t!Up3^usML&PAZ{gLrrzs9Jg@g@;r`j< z3&|0%L5N{WUB~1Zon(z*Sn@G4n`2Ovb%Lng!(oI?13tE>6>$<^ITV*I5RQ=s2nz19 z5q~Ctr=h{0D1NnamaExoLU=4_byH{c@JgbtJ^;(f2+cP|-eaTK{2}y)A3b`Lu*h>S zEO2Mq`{~jVsMz+^qThG#JU?v>+Ke9D0|@jcVhp3YD85R$0QaM0B%7Dt)6#G0JQi)L z3ie|ckoPZlBanCDpv*@d!q$k9%lh$WEuu`R`fXvPSs({+Rys+l=$jQ21E{`Dk`Wra zkTei13OC!xfh18&A#>ygRO2{=Ks$8NBhhxpc!0QNLo^Wfo8+tly9WaT*KH0oP-qpk z0hQgR*CRDFam-AX*OpkD`i=pVhKi>O6qB^-+t37B8yFLHV*(uH`b* z;F^y(ocvo(kI(~peFXpJS^uT)?qM?vZl)o@SI@%NDxkc)wbRSL>hM``P3F`5GH^zk z*7yV!e#m|KokbUdZ!@w09}?0+U$75ToJ#n0oJJwyzP~g@`*;ma`%Mr0NVM;PfrF-@ z2jmkKyxA5X_r4{{{+J1j{<#1&rFZ)EE<9tIYI_TU3yptdTR4G~7+7}Tq;30(F+xW; z@2u+95wn^FQvqC2x6?y_VRk8Y9J0gld&>X_Zj&vmi z$bQkwnB{>bR0<81gq z@d5%gWJ6E#Wo^~$m^s>}b{706yV+Ykg)c@A9F7S6AZ^rgJl%}hr!JNkd5j5J3;iGu zkHP-*M}W47JyLYWw7iu+_F&O+AENJMf>rwdE!p$ER)Q}VeyF_Ie9i;V!D`3( zyGPvzWJ=7>S``H%o}GFH^}(#bZH4+PzD_*X4>d3o!C1BgS-qGWXn^+fQhD=U$&9as zr$O2teX+v#j^)tQsejBV8eet}xU&)vH_7*xpBmU#2HbT+r^F~f?0 zcY^B!54A_u4bE{GY6P;gjolPUVKfu@biR5d#Yuzlsxlh>xW-Ni^AZA zJnG;nX@Tr+No|PdrLdN&RTY`er zYY=&BjIhlcStI+#`L(yU=$fr~dF5Z|7P7pGLMDDo?HyEos(B>j(k|hg z-CS{gb4~^&-W_Gs*gbdINWNP|u=nN(S{>ZM%S&}jb|n`9;2$)!pvYxv!xIyy?3QDl@|4}5X>O(ZZ%KDA ztmE9ueW!#31WbYa{SK^ zZ%+zJ1WC&I;EZ(~dsBjk4!_AdhEM_|iUL7=7am#NG4{|?h0%~A__eW-vpBaAyxlB* zks{C>s(j`&K0hsOa&IP@Pw{-?h%2mOOTHPLiAK70dsTNMM?I)x0`!K*G6y*Eu0H_< z$D&gM^!!_tc^G|keC}$aB(&ohf10FQ|651De=mjax1WrP9eTsLnExT2)@082vTd+s z%WC`om%RQV!IF}fjPxFobLKzf`GkkzETvbg^29&x@Q*M4NL)kqVjCJ~bNR^M@6}o@ zaj^}ybxs%zw%t%S>eiWm_g0Kv=ibc^R9JN0`d6*|$14B+a+4?YckIXW7)1W- zrT*<7aQ@?$4!t)Y$Z`D3_5ZB!z*ky+z=|e)3t#@b4e?KxUer5!g2o^G;Lg8X|F6Hp zyUdr2Fh3i~i~sl${_SE}*uUS?3Ilb6xj6qX-~Z#$&jH~eZBkE0{_BJOW!3+``}yW! zz|oU*x}y>MxqqBH37k6F^x*b*1ovfOXiHW0O9qk1ql%IRA1`K}WV!t4C7fZ%W@t8( z$tF9}=ZYWv<;(1|VPRo#1`#ya8?A!XB#+Dm|E$N%^unM${R+E%eN*1s>5mf^rZ%>f z^;j+*VffEK2F4eUou(MrfWGsyygc%sel9ay+sP6B&;S2RE#8Yqj=^{fE)ljX!3UrzKi^)3jvnU+KN#8-~3{ZFOQt2IDSlccl$qnv7_wD z?x!gLEl&PZo!}x~p=%!UTeD=Fp>b%+)yD+^6(T-^w;!){cYp?g8Lritdhfy%?5#Yc zuntoLWv_Sjt&~hoC>i<@FiO5QFH)K}zcwW)nYwju0rcc=XMxFGo9+cnC+Wc1ERVT& zuoew9rIHYPoUc98qGkJa4>m?~0p7a7yg=ODu2a{G|Y|gnRUWWf3A&%nW8gM&6(6SGl*Pq)`Q0SxtqAObcPiA*M(k{qS3K{o%1a zXg58ofF6KAHOD~mC{<0=_pAF`fd;YOoLgvjvT^KQ=Z!Ot^hGQtFLmV;!*Q8>lnJdA zilWoVLiZ~9u{3T4&tq)HD`+;*vD+-SgiB!p@#tN>?A~&mJBT!hg!YyXCx16OK;8$Z z3ODmpM_^7V8X9Xzj~O7P{7&A24WSWcL=Q^SOyXx`3~Abkc+d#lfb<$6hIaGsgVX6a z8_mHj37$iVW;jYWmbuUZfo{P!fFM?VPv(iDuh_n+8mJa z{tnuRYS*6;l@*Nl{JkG&7S0+``r}OTxJx#NsKhX^;$nAZf!-8pV}yLcZ87(&+H~T8 znD#(_1~DS#YUl@XQ|RmWPwOt0(o?6ZK8hnobGD}a2Xl-q-x#%zYsgYIPke#<;`;`Z z03KVit1md`MPj5b8JHzBAJ~??_ai~1uoMJO8kRBxNiX&*Z z2-KfCeenlsTAtFvZ3H_n3so2`pj~`WW}UUS#OmfP0nA4a+xLA^@lO2(OzTDM;PVNmoV;jKAz(r={*F#sASX+gON#Qs_RJ zY|yKQh%!N^36ZO#NW;5CN4n)0RK62kN~_4Yq?6hf zxStK8raYDLZJj%oRc_I3?=X6QIaTdh3kLK0lx)+x z1|Mkr`dA?^JDrR*-=B6zN$I$D#qc=JQS9WO%)f8-PL%jOOfZ8rO%X;dx`q_S&)vJN z8nn+%qD36@8GUe^fvKZ)i#IRJP+_3D&yu7^Du#QX+GTp~R;N;oh(^<<>g%%n ziTZ?GBH~SXZ1lt8T_5de<~_(t#d9l&AlaI8WnJkRx1(q&>!!%an8?|X;WP5KB>i#EX3~@h zuc}Mf24S}4@&Z;dRv&8sJbxdNig%YyMbl)7(6kXq!&PvP>=w){u-{u`+C9htb`~l= zjYQIHuZM!RK=ErINYKMk(C4A?8RDuhMRvhmguW{X>*hsGO%fL{N&a97)lhrr=D7Ge zVi7k@+X@`SfTzn-DutRuU|U|${=7w51NtImuc&!Y6!JNE`%3B80Wcc@iW9KwO-X+H z7-qgOdWXNkSLl{|OSNU@G(8>!>hdENcNeR0Vxs=cQ5t*NGGqJR! zBuEcpIgey2S)N8*0|DFOjxp8IRA~li@3Ki?Fj+#-AGt6}l1fTU5{fU-fSyc)CiO%t zV)6i^p1O+l2sHhsfjSUEU=co)EAfOP*zbE#*#qS2zAuk!(mz| znQu435s%)4`ZZ?pGSP;|P7Ze?UAQXBChS749(!viVmF9ZBmv7 z+AREy^i|U%ZB_!SLIr?hP;K>2i70R0@$MpA-XJ&D~`XTRv zAZV9Q!FeoY;$m;2;lz!b5%>YAw8CLU1s&dOPyK;j%~{mf+`m@xi0l*CR#S{$d8shHn6i>`U`HbqJ!cMRwOjSBjPj<~{8icXRM&*%)FDaFK+V%QzaD5e*xP7V??Z;W|IBVT( zhSK()at&p^!+Zkf2+rM-5F~XQk;j(_)AT&FtU1XjH5~B|ZFL8<)zTei2K_vRMAK{~ zLsveAr{a;{_l-k9mq^{WNa^*OK>~E6!w=tKP2K2Gk3U*SFw(fWSI&Glf>q$NlY*c*=h2(sw_b};-9n!p z%4(L*&ASQ)_%>+hZ$K~uNzqWimoLwI&&@sAXml@{mWFH^ZYHQctfS&TIJ~V6Lh5WN zYB+Rs5yEaU?bnJ=-)})qRJMmF3q{pE2s^)*4m$zk-0JqBI>1%9Yi?AzCq zw?7+yK(kHD9CmMvTzFgy)Q5y` zicmuwP~WX1JshX7orY*y8FClpNW)Wh0!t{}!4v^!iqk;35Y&(8fr&B!S!XrPL_dIu zPoqxIzy}EK^9ysyF(_qCM>?Nei4t&*-5V&4c;P|e*n1jLVnPQ=B@ciP=N?xJ7hD*k zNl1h2b@%?;I2v^eiT4PNeB|e@*pFB|c-Q-gWNry9Y`RZ3Smt@3OIL>H*U)@EW1He0 z(EABgYokN4aN4fmMFn7_ z73ia9z;lv~+D7dsGU_pL)uD-@D#&sP3c$^73S4nF) z+c_fmJMFq%_JAhZM9nXx^tWZTSJ|_%{iuigo!pS)yEk@^y%t^47%+Mq%z)|jPg@q$ z%s&XWmv_IZ6@SJXGinvLyDCK91)dVEN~% zXu8cErR0XJGE|GQfbx!L=>9H7xN;@@`jf_;9>neP=9AVe1n(9yqH^c^2{s{GIXbkpIk`L~+)8o=v}sq+I9t1BYHB zDS+*90EurPggvv|T8O&KflENL(bY%n%y$wM~-e`^S5ezJ{7`6hL5vQd}J+FZCVPDfN-ad=$W%G8^2G`vAW_n$ zY}s?0G&P@b_vXBE_!D)71|3eV5*j9To02i4cl)qJbh(FXM=Wi~3&>KII|OF&D37lp zvMEi4_+H0ADlInxZ=WD^!-q*}%XA2qv8GZ!n_F)8dyvMN*75aicH$4 zhpQ;^oZfy&Z@=)pGvKu5-?X#gNZrj z`|hS`%MZHAU9mi) zrnh&2Qx(1y&u7A8ZwR%}Ytr*no$(>Oa$a9?$pz#7GtkOvRLJvV)%(mvGB+^I5c<6o zxsYqSU_tzsXPuVoW40f!KbgX+4ftAvr|3OgkQ@v|W_UF&snL8+2`F2jO?pcbN*=KKa)q!9 zB}n{$R|3s_kK7sP$)rRw>OGW3rLg$}n%4ef0^6C8S_8>UL1ImT@b~kfV_bjE2fV}@ zsDD3W+-+$5`mO^#>JIuRK{SihZA=>4MU^$`16e_)XWb8!+l_?X+UFFfFi7^W{kC{l zIdt80ie|hsP8@T+qR>rG*iG&Cud*$nDY>qDEDLWXnxb;^v!GWl6*UEV53l>L6p|@~ z6BtEAdK#K$pG`@?rpnXJpr;=u(BGZ(o{4-wAKHzG+Ee?=U+0rUC)!2Pl2Ra&vZFx2 zzG7cQU29po4KswH3^$O=D*7!z@SdIqpTIqx0rne+T zXZkD_1=6}5ecsF^hv(1~scGyAUN3xjt5SO#zI=^W~n**`jzdn?8qw6^+qD?iPVjrTkfTgbZi>Wj2JYiI&mw)veXSmi!=x_fU-6navACQU1+ssd;;{GXKuy z?+Iejmazi_CAX=f8T@WN>tffymxt@fU#UF~^tQ3uk%P#4iH>6>#3WHYKg-$|M_p&? zlBcS+3bTHOhGshrY>cD$>bN79P!doakW6J$-xq)|G-(hm;8jfv{e*z3&#SWf&tKLD zHb--;i4EF-Wufta+-=(%5{_+1;l0{|rN5Gu@RIG7&Vjv&teK=D|4q6+5K@+TU;tj+ z&k;gJW#WoS_4yAYPZ^{vP#%;&j8AE z8~#5Ik;}HnYbhO_i{gNe*ZNQ-ms3~w(;B08i;<)ogTOJ0zAa)Ty>`>)?&lp#MP$Y8_`GF<9Pb(Ys7~C#9NRk+&0cir#YZ9@5s1WH=qg1J(*FaEI z1e8ceS}4X4T4+fi^^UmK-e=$Qu+F|O_f0ViJL>S)!5#N%-2){MncbedSb&4LRAQrOS~Q)e=%sVtaqw-H(+#l49^ zg)UGdF6KHhQSK($yebM4Iqj3^^Wq!7Z9t`$5VlsUNF=Qw@yYz=riSWA3_R4B-~LYP z{Aa3upCZPy#I``a{KGvJ@u2<%aOC#pv}3*l+LgM{a;}@~dyO@K9)sV{(U@NS*`@7n zfwv^W2@0v2tF~>Ieq=~Lm8H+zcf=>j$sCYjh52KM#7eXQe7KV!;TVoI#TaT|(^nj_vl|8IIJ4^oM zL7qn89yIUs`xbxK0-G|`jKO!dx`G?I{OESI-Rs_bWWYGSyYh)K3#UD7k=cYBt%(OD z$gxwqn_vBeeIQ(AmJg!PjOk`om)n6(KPNaF>AAS{5#6%6lw|ALH#Z&fwv-&d7|Xpo zxc{xyc^zR2x6+Y3(l_EpqP2vwqK|azjD<|K54g?kWBL|ws@jO^&dKIpvKiV~A5*mNsR0Hba*Cpq@Q}D=Vs;zz#Lc*Z|Hn1~c{xz?zFH z2x_Z*H#zMPj!^=rM1l~qs}WGt8+xB%lXWAMdNLBbbZ6?x`$8O?&PIexM+dr4XAS+x zPQmYb9urHVdJiNxx8G@%?)jkYHJoip>fwk0es1IU+$yrUuK|qxlRv3Vx2RrsS$k0{ zzMQdHAk2eMV*xB0M3}5kt^G+? zO9ne3hl<&VRBK>!hMd?jQ2!$)!QvyBMkc zy8|^LbP#ZMw>*nOx8C}wu;kp~cdW$roX$cpzO-# z`MklAzB=D?mk`J#XQMRp&nM|@qFuUyUGJY&5zB9+A1T(hgP5Lx67&MQy8dGzxA79mmujIvte)G6>$*wydPw@`oE$rw=3ZmAl*+Befp z`e5X_U7AGYlW|4HF?xfObL3sQc{m7wxA*pt4=pf-^*$pA7*;1-?F?qme0!Ep|Ft{J zry3c$r0yQ2Z%|u_tXw=re;Bo$-5UI=3YiqhU&|)+(K}O`n*)k)28pm?F191h1s6v# z28@l=I=SZH;!F)&1&IHU{Pfjf4@TZFQX!Y}i@DdBJuL;7md8vZ^ReJJ*lNV}VGoYv zv{&!6B?b%*n!Xp$A&5cg?+w{0o?QElIUXWUKs&N>S0Ut?8tyV=W5Y`ah)8Bg=d!jo zB=^vTpmd`7iZgSer9Ox2eRBB}E|~|hZ27lC!GBbKBd}u_K+*7{8|bczBkRTAfy4#~i;*scV|h_&(H9M1MWt6KGYG zD}Add*Z=nP1I)NqKW$4G$~nS+q33$ZRgwo^P$C!jq^WbIsAU6~3DWitT3Jix!J(&! z_&j-Qn-gIor!0Xx&1JZ6Zvv$PJ1gOZype6u+u}=V|4KelaAQ*D^oX`d0mOsFN`}Ss zVmCTnI{F4b91aEtfj|&;aDy$RzW?VVI}!$v{j-rv;g6vv)Waz9$m}ViGwSP{K;Hcn zHJACudw7Ciw29)?SKsf1BP~%sV;ZsLDJHMpYzqNVzfMG4Laxw`B4*V64SCIV2 zebYx_&9Z`!0sS#zl$v^Yo5#{hcp?qr%GLw3FtV4Y(DWK+Tw`$RVu^v+4qxQ0O1I46 zM~=g5Di`kE?^yrf5z<9Jp6iv0J8uUUKMhBmb%n~x_d|PV_}~Y;UGNd?f|}pEAnAX0 zfl#GU=K_8UbZi`)f(!W5ZG)anV`VEi-h%-sA)_=Dm^K#ZC+rz*9*h9{utk3sC7~A9 zNc2hu-1>^VC^Ag~7xEh{0n}7D_Z8u1gUlPjS%NXTfD^kCAA_48T_D*rAfbz(>>p$Wf6*nLEjjXDvfv(XfW%h@0)=&qMz&j+>ROf6uI z1z=nk>LmsiL393xPx80%mT0O1lY?KL_@ZhL#S(Dy)+TK6vpD;8$!v~y(rJ4hdRjo* z8u55cY!%?!o%#2%<=E^la@&sBVRRHjD7j{Yf-)VzulGtsn%TDzwYe^$%x?XS>94^ zQ8eA}q|Apy$oF{vT+%cv9UYrp)}m(aR=70cRJY5#a1>+PDpEGu$|XThGqYCJ)O({_ zXU>_rGG1~^mYS#oaTh!~9#H2|P>z|?ZLPN&WucV7@yu)~a34XnL{r2NM4(GJu{npM zyt;J-X7obD&=P83oXL7IZeQQElJnqIDOLgJ6WS##HAkpJ{}|IFyqc(4;PQ8=N^36Dra9G;JEQV3W7LXTIRQW|`+HD0cEr=Q{ z3uyZjB~T61g%|S8CK6Ztn#Uw0H=KVcCF8Q9F+@Q9Lc-Rvq3kf^ zyz6!1g16#3*bCLb>p!kPp-U1edc_mc@OTzG2U29fQnzMKlJ>D%SHSS>$;3rbM3Uc& zVrMXby*B1nCciJiR~= zHE5`MY!^F$&`H-%MV`hzAkyNv4^}+q2p`u^Nc^uY(ONCuOv+{JQS-YVqkq34s;1xK z!297KJANCdhY?SMmLmVX8IotbjBHlu4!V@Vd zw-@AUV~1@*T9Vh}-kZ(s{B_hYu_1xUWXdSI1 z7FT!1tr;#Q=Ritq8CF%aY{GI8a;l#*wz~{yPj(1q_Y2N*%Z-JNsDAD|B|;4)CGUX) z3{;nwwFgk48d$XKWSVnwCAx6|8XyW^lw=200reYyWE26NdW*#7VCD=UO)=c+boR_s zoLv`UF$vPC`MZmzvf>x(%UMKpi|Ks9Cetn1V!)xS52}U*s zBE>#Daz0v_7GVFQ$;avW9d=3W;CE?sSiyLSeMwg8`!M-YEm zk_6{W5c>^NSv!DEDsw8TJezs*M@4S`brSjfukWM5oqhG}T*abarkU#XS9YmZY7e&@aTN*;RiEs#w3gU2^bLphICz(LY%dGV1Nuw+Y;d7z;|}V4w}nQf@zrzf zs1tNX_?=%A96hOH@L4RNf#x^dB>$+TdyE9|Tjbz4!$FGAhReKVsy%z{n(*A$UC5(% zNAzSl409mmnIO|^?p5-b+8&RGT`{C=G|RH!zTvA1sm~8?Q;u?3!mPH82PwCz)=M5D z6iT4-m5d=^3pmBIvW(C&KFVCX6&Nb$2`!Tv1|)?+4&;Sl70qjkxmN~`kT67EZ-ySJ zHOrhX6W~0~qYbr=jLF*7^l+4a+Qv0+2UZfT9m2n^RnZ)fV<=9PB{T51^q&w#_%Qk%&%prfZePNqbm)L>`kaLLM9;!O##wrL_$ zvK_Y_p^67Pku^fZ4&eNFqikq5#DslX4rgXx$jw=y)i^){M>qyE#_hk+OA0uw$5y7- zgiDb7+F{nn9!?v}f1>$hIb=OnsT+B6BYD;nCI^8;*9D+{IPG(q2-4M_N^+mk+$CXAT0#N}l9>e=C&{q0j@lW{xOXA<%)sDyqA8n!N7Xj>f{lL~|rPRmw> zpHm<0k!S7mWmC@gy17H07QfolR|b~nwr^GoTzDH1o!MV&C%*79gNolfvuV8B0e9o+ zb8747ji6rsz6SI2jMbd#Nca!#!X2+vG`Lu{F^zCzk(DG5(;f@mZLvYxE(t-dY%T9j z)i7Q)YRq z2o*=sqzjK+AkB#I%gzuraa zpwo1Dq!6P)Ha3QK;R76Zyq(PKUNgoH<3>36;Dj)opXkPn4)RkGix##VoWmi7$@lnQ z2-agJB9O<4g9zx45%d#uQ#xW8Z8wfs%;mbMK*?$Mxlu+i-=!7yZBbK3n-{}628H;{ zwH_Bj%DF>Bh|&OiAHn&EVtKeD-TB){A4NzUowh8T?^VGLC3;=q&a9+PwHeI6Us&%1 zIHyq;(d^_LLT^IN>j`u*X=Ghc`Duo03p(~vLzjWp$kZiyc6ue#fs*x;umu|048RJ@ zT@*^iSHvyrsCQtP@nY;dSCH2`F&DUE`U?8@DqoVjXWwU*1UVKD86Id#Q(bFeu+FqcZZW2TLJ zS5!6S89JRa*@G){bVIVSI9d!q$u_5pV+duV?Z_nKh*$ghIe=Twr&*)6SE9RzR>#eP6z5J_a7VBOczBce&adwo0cR*6e{@x)8yKdjw*9lHp4bymonSTAiA-Ww z<=DEwpWHpPeOdj`wrqi*Fwa0_*P!Yy$iRz5dDy^;$=>R1B zQ@8lfIoDB>z&tSfz<;FvQ#hHW*86Mj7BH>>mBbX9c~<~TjElooR~@~8BGkY_jG&VOC7RYC zNz}CF0^a$o2*nVDlFq+Ho+P_lX);8)mFX~!th*3mT@OH#&zOc?zd=bCkhTgtOHhbe zyyM^JbGxx`6=dusjzzy%h@#L&j;JKag zs%5w+DLl`b>;fkfRA29Ky?MS+UdjttIq?n3PoEVR*1{R5psd*;8wwDLLk$N z0U9yvoLk4vK;&9=phTqtXj2|In{DsKFGNmHPb4Fs`}wfaz>2UVjUb29~zR8b<)R-i18zB5Dv$Op5j zb5bUCKxTFQP#6BuUj_czme`@*)7ZrH5Gqhy3m;vhO@9 zJ2R9>BJr93S{!j59oj#*BA2;v2@gDm{H=m1Jnq-n{%-tuK3UPw2tTB-?{?P<>ST&e0eCQ&QX$ zI%~N;^s!ti5e-`k`IW{YhumZRXsZgxa?J|9XVQ=6d45Jkcl|bF)83+hbL@ zpaFE+T6Xw@UXCPz2T2j&?Q9fK?QWiDuQ5_EVyqZ?x-1d3ssZ;n4hNfDE9!}j|`yPq7)Bb5?5=Q|N3YptS;=w{fv;Nmv!qmGD#P3Uh3hb zSJ38eF?v7pz)71HGITOommRrZ7(Pq_?c}~W*S!fqa72}ZWbp@%9z@@n$rRE5D zdRrGT1t)aOVS~D%))6Q~hnETRw+W=~tJH{4Tibhi?tb#mb)~UG>vMycf-_Ibn@7D) z%Gs{v9sdeFYkdLvGSjvDxCeM22^vY$VxmF=>MXk6+z~(bD;L``;KZXS9Z?z)%rhrB2RqQrtPv`@{ zQs+P2Nyq_y|AN;+3ax@l`=tZq+GHsB3^g5;B0L<_DI7@HXN;KWC$5rkm)!?E^B_p| zeL-E=A9CW2pPlK>*ouZb+0Ku!vbu9<;Yy(;BcMVXYm8YeK)djDo{_s23wD*=A1W~^ zx%p+wZiKwagHGd4=0?i{u@Gj-U>^sGea;0VY5$YMF_qU3xTENZ)1g@0Z)>gWCvmKi z{J=R2p!bv1*FB)J?pd5nW?B$8Sa8v#(!!KF_Mq7TcQLm439v~BFGL3GuAwsWSJf?;gA{!R z^gKXN1~c+@yGiFPHgeg~y@&mNw`2QOaZ>aM38;-xU` z-+v@de1iCrwW#BmhQyz(uUbgbd===-FnOt9#CVoCQceuG#Eg z`)3yBySB>it_VwrfwDV*sGz|`bjtUmRfP~h41^jDUS*#91oPF6aA*LQhjXv(-neVA z_PRgim5THi!ZSC0lEKLUfB5UjL+dZ>3|C1;JNg6~6FD0s2S0Ldeg9Wy_Cvu=V-5Dc zjEY@#T{kF`huz}-AdnJ&qTw|eUFj-Xwd2;;6`MclTfBom3@-ZPVpnBau=8y?6P&I$ zg|`NwX&Gv?cgm%WrFE&n-zYl6)2F)0YMpm+0nBhFt2d$KK+vO4#!&IxM_Vy(z%A%S z?}ok%mM||lwbZtKBe4V)&1FdZo?OP9x6|m?kee0_>V#Z3ZV=*&@Rktk2xI#@9zvgX z^?~8GoXIvwQMftz!Ll&%Yb25t<=I%0;FI>jl?M6q`7e20?|e_ZR+Vop%kKyR`sZNc zscXWYg-kr6rH_NVz8>@HX*O0#rZ-m$ITjubp#e~c3|DI1mmm15lN8O7^7I8=(Chj0 zlzFIwmjtkszAeI>y=rL(Tr0=w(up6S>EST&pi#ZVCa(%$pvIcFD1nF&lMbnv{Zr&X z`LF}{uGSS5_vUe1x@T>XP&4Q))%;mj`&;lZI<$Y!z;x>V_8a|S!M!+m@de^Bmq;n_Ch*Lv~!Irqo1(K@QB zx&(P-SNuu1>4Hun@_2c4Kc_mqiVJ=)r3cn`9hA2$kLK^hjcF2y?X) zZ^m35K^o-Z{STe}=mv%fLZ&m0AQaPz;halsj%l0Y?Ft-kSG2F2`}XQ!Shvms?+R8Q zyl>`Eyx@t71e9fU7OZ0AybnNQZ7?YYg!|b>8Ts7$V+(N-cdlGoF(A1kG~IrM5Y-!N zv98ZRSFuuY1d2$f{tAA@1aTyiz)E|EG$K&eA3GT)pr@CMpkUtB+fbpH1Q&4PJD30r z(OiHVB7uboQ#7nleo4052QptKGF0Zz_&ujFHv&Fds7h^u8!}tIk%G zl7XlCgMN<0{6E+Z&neuyB^DXD2|*r}Z5@t3U!q(V{#?+!>j9hkDKT`i=*9jW9i3p> zJ%!&gf9I%)t{)?Ig-GL5dR%++R51KTJsw1n0^m)N3@SvsFps zQ(env^3Cl0o|ueAEeY`LX|znY^JUA4upF+@O`*m9cd@A+Yex=TQNI?l z-M5~-qYWSK|9(o+%c@}_vCQU(?g~0?^J!y|`#(u2aeQ%ABmu$9xac`rDE0dONOLbo zH-p)a#$Is*T-LE=?S|N|{0Kd^_8Bj?YVh~t=~{(Q|9am1piat$k2n{2Pe=A0JY-&E zV?#c|(Q}sn)qNF&IObk%7(zwY^3Q73ITX_{P6oTm*x-yO|Hm2cg~#Nuebnb&+bQ(6 zk955KLAb;V90HgdS6g{2I}K?{c8}?Dkmc|eHmsfgczPKiqddHKusApECnXsjwOk8$ z(+nUUTWf+NUo&Ug5=YG!)g1wAteQPrbwb>M3~5YR%09w}4<1gZfd6L2orA!^WaZm&Mz9a4=_T-wQ}Mw|=Q+1kcK59K9@+QTV2t1R zZSlN1?!}z;(b?%q%_k5rsvg2riVkvaO_CLN`R}oK4f>mf_tfdi9^srY{P%+XB~^e- zN)AKb%6#m{B3s&LAx(VF%HysgeI#;Nk_#xFD^{4LBGkUW=Set0=1NCG!Mnud^L)3#Y#oeZg@jFFh-obJ>`L)>L?Ff<#c2Grl&{R&QjQh)p=< z9j$otm<)XNTVThH_cGrdo?gv|$RNuzD{HrEOtV0*?E$TeD~*CIhj{vvcGvo8Xedoq zyy{-X>X~0quDa;?9l}&E<0p0qTQ9@IlX3#I1?GFsDKdUT$GKfh|2t;j=fTWd?`5aO z4VIE?Afcj?z_~DM=TZL=CkwMzb+1o=u1()zaF~2aIx#aIKg>Aiox84rRD-UiwLRa^ ziO;B{x2qHHTT5rVF`TMO{W%h_i_7C6Sa;=`O;VgT<89xtQwdc_T6aJv4pCoIBy|uStCaZXDdJ^rz z*RN0AH^bQ*p0TdlW0$HVZnr zi!;y2@bSmwHHG4Kc36P8Kmo9X&43_fK7y^YRYQN_g>Ajht%eg2r}p#|#1Qh&d$1Qe zoVd5#>r_kix}3yr2~zkUfBebh-8-q=o5qRiM+)1?=TUV+ia_%#s74~l$YX{6=@Gg{ zUosJ0=bbfp4W=@XjrB$Q6~DFuas~LDF5La;$e^8((-fMY%{}=_^aOzWe*SU0`Lm5wkzol4q62|qeiTb*9jY|44)>7*3NsBTt+u4#&6XXfGJfp!> z`$5qAqAg@rEFG<2PW3 z*Rj98!LEVDv0WYIr|{sCWua{WR-p@@(U_pgn(-own>clAytqoDKPR&{gZW{zNpmSG{}MQ0zMxjS9N6@f#iOPk_C%w9(U4 z=EIyOD*>b26SrphPv6`bsGADgE+46gC_! z*{ge)kK1dkn3aTw7T8V*iC>Jh4~5@+==662GsAM-n3upbL`W`u{i&DSRU(_rP&7;6 znaDw)Grx%tmXGCk{FeIkjQRu2ifq~K$(7gbrM$GIea2sDOT}MItlWFC&U-iCZ?^ot zER4HZdCwzCFiyQ-B9_1Uofea1e#A7t$;hG25G4vb4s+=(R8jP>hB;1<%!iWglOhr2 zHO|UmKS@^)N}KmYgu^0I1X*Co81meQkg)ZF;n{~x@c&F+N|yQkxIWuIg0_ruQ89?% zxSJrgW!$Tr)o;2_eS8nvc$Bu->%Ra;dLFV%i4Pf4guCSI6YK*vuA~%}{~tGQ(j}8a z>pvdg5M#$1lx;2!13Ji!ZGzhKX80+%=sL2%I=Zdz>cdybTaqgn0j%USJy0T~eE1HZH$- z)@H0u>a}=4LZRxKblB34a*VxIvlQ8+q|bFU#{rL@Z#q< zmI(aZ`G35m4EE^m;Da{S*jEHaoH72}ka^6>!IIsX^wo@Rqux7ioy)ZPq89d;j+HlG zQSC^kC{%~gNoZ6LuN9*gUsKTZrgevvQnkRQe-p z_%26%UVc=&r*5`mbNGG<*Bfbt7Vw7v4~B=(uDAP6y!EeWom$32-`ea4oyjO4FliwZ zIhy{d0ThnZOy+9VB~E8z?Gs8f^o_dgXduDPZ*r^1_Yn7rFDR(QTV53huwB{J@8bH5 z7!5a29h~=H9^}%IBBnnS0&j$GPVU`m0lKN?D_5{-yCIy@Gfgfcqj_E+=GFiTKMKzZ zNw8uyxh$Dsmw;y&r=bTI}-<(VbF~WC_?fVki-SB95^VrJArD`9495|FE$Nv>1)XtTj05`b5 zknreY zhvacR?;l6X;blbM-6}6C(UZ(gAf;q9(!NI~Id8uwEORo8JG|<6h5KXL*Vpq3@}xey z{xoJ)JoD$5_&cLpJoUjwKCn`l!?LuE#SiZ|EzMqAJx9%$_P98-Qvj(G#Nt&S97i-> zQFtWw&mhlRny1QvK)s>EHLB@Tr|F|&+cU!H$($v2ZQ`UO@E(8{>(4iqI}Uy|<|{E@ z9JI518T6_2{E%J*yA?8+jQiGp<%8{0{wS%Q&Ia24#Hr-zRoZHdb!rIzdzsrZi9uz zv!y=7m87@FlS7CfqX^{kJh=iwXU3zK(kHGNT8zjmPfyN$j-KuD#cP&IZ5={a-tnBR z8Z;BTJ4lJ$JUBTKJ~jiOkYF$oge%t;Lm@Xu0-Cg>UJVJdzFAjglTCGQbZ0$%G<7@s zg4kfIVa$X`u$sX5uc@duu_tTc({08#20i)A8JA;+&-#E= z%gJ=$!38+UD*h&a5$!%IawMQug3nG=Wx+?P%e}wYpeeN4^ya757W529rXMDCC~$FY zGtU?ou}j>`qrBpEgI~zG{#`5+Hl9c?Lf*2V69O$fZZxDYDgBlrQ##>g#4#ao^9N!e zCk@I+pO=oB$EgCxLjLq}NR`++dlq$d5Iv|cLLim%p^l9{xfYE!74Ax>T<^ft(t~(D z|L(X07w(K+>PTA1dUG<*03Ho0azzz3{+yAt{pWEcXGeI>pGzZxAE{y&qyrY_cipez z-k#f0eR!qhfO|rD52wpe$$gr=f|ocs$;Q(RMPTaAmqF7?kv&u`VwELYTzPl z7)#WuKD>6;y#nYVwnaU*4fiFfvl$f!v~{JXg0#eNMj5KwPKyNxyyKprWlw5x6KCb2 z#DIWQ*S5NdKCp&)9GA}OaujypX;XSNco7x;AYdkWy({;yW9O1QVN^gM75;c-? zUbh1y$P$n>KCf<}>icU~35+WtuDKFFJp82X#u0mT4})G*TL(Kid?|#7Hooo-r%NWEy5(c(Pc> zzUTDOvuACqT&7Kpzlpuo)8R3HfaNs>Pe^*6uh{kgINN0I;03p@`|naV)7}U^2}9Lxe&=lHw*j=f zJ{elw55-jtdjD?M$25(J;9N=L&G9nlD5Ev5#rV9Lu|lmwKZ3{Q9nOiSJd9w`)K2I(U~7?sPUE| z`WS*SlZ_|8bb2;<;42sdOU7Z%VF&zcEiUWqv=?My>5DRzZSPKv1kPxImMjyQDgR)7 zf|a@GlYdEj3(K}8pR>CwUVV3tQUJ&BD$nQsIoj~Y>>H4B;1gE;h0n;r?ktNe1@hB+ZVO4u32m+{*}m;a-C{7>EA)FjbR7|Gje2_M;rt35Ch@kW@cWAT@*U!H zm5<|Fhk7?PehG-!+ZtlJvEtOX08GZ?J03ROAL7F--V^BqRn$gQ^EV#WHo`{5n&138 zgpCZ0&+7Vd6-#jQR4El>Lq242*tK5nq+`=z-34~7`P^cM?+Xokd$>lZ#q$`9DSbN? zUJfTO5X;SfK9VKf20yM@M_5s%y0-<5{onA^yxWBb( z4OK-I&xP5o9hI>JkC%^*f86?yB-O)bya}d$3--!uOJz>*%1K36MwX9ZseTd^shN6j z!8M&1V>#GJz}ze(Zgc^ZDhtR+4S#aN6HY)XxeHnr?LXH*rwL_p%ZGXgCIt?uAG zqzjW;Mi=8&E%J4Mdu>L1K6UiTWy z6Yv;X&pf#Oi2sj`YZv&SBrZolV#kk14~c$EC#CQG?&_awrzC)PDk(x}F1KegN=rTb zi{D?5-C$WyiVvE6I*ub`X^-JI8AEQQ-DH%WIVOC6o?ZK?QhbKbedn%F@Q43?;_iI7 z)9lz`Dk=Y~r{i!fJn66!LO1$_g!{^7ICFvS`SFYUMs+y43BN?|T%6REen+L(ET~1T zKKkeC!&l0i^&BSTUvYh`u`UfnO%364u@zv+I$>WPKup|79Pu4Lk#5;Xa9tp=H%KF7 zZ}&w1x)zz*BC~q*j)QfNcHH7thWdyHlM?S1 zjfMtScI#q4Avkomx8``zwD@ed`!mFTpEb9MT1=_uV6#$*Rbz_V-_X!|?!b&zb9~x>_n>?u zV&3^)e8pX#HV&sRNNX3vUj@&FKe)D@%nUFK4MKuazm7jVlYM{#d^i|;vbeRc80tKnS6XCVa*1ufm?QO~+G8+npoB1`>V_fm znq@4q?&k8}>E(r*`m#10E|2g(h3{4RC&K5CEmKB3n#{Im?)v`hzXJ{1&aAt38Y1M~ zjr}f;FF~3tZ5F8`HlDPF@aS}LwW^%!LPgTUC=AH6z!%``TM)05zM}*kNY5@%=OT z@2W$7qFl<^eNJGN*poDJN%*v4sTZSmG-QMWt*=EU^M{~DV>YQJUMgtiN%F*nC-U~n z(Ls<0%!`}sr+WE6fWPqC0*sOneeWoi!6xEyIW{jK9rRf+dqQhR^D&p&;65e~EF{`E!|%yF&f zrhZ5EFnakBI7X{gWPug3tIE(87V2@cnz%F6DMf**cvwl(X)1N3t|sF0}Gqg3f`@hx9H*yrh? z_25Kqo}j*&+5CqzyWq&3^O+fTiGODU?CUK1G%);#v#U%>Q?8@V%XEXvdw9!Cfs4g9 zS4V0Vb`@_!0#NFgzKmKNW050Dzd9%GF1^CA9Y`Ie!DR+amB;q5{@QdEl? zFiD)GU1|v*JHPtzkn@C|5|4PQ1uYu%MRtrtDYweh)^4!C?r8|krKl@Ic>9npI60M` zCi;%sRt0S>mm%v;D!9v_tj=G%*&LRHW%eytas@^icbbiLOfR<#%NJ4hpsOfn}J$0xZ2N|{ucaRY~zL? zk%Qb=G4E?4-98{~d}@6?UjAA1XPzbU*iw$bMQ{UM@KxQ0cApa^qU+Ua$X}NKvZiOx z4^%5^ux|K2ui6Z?c(RXgQZktZS(X?+5;V7M{K|3L?-HlRE2aKWcQ)Me{q35#Qc?T) zFuTeC(`v;CL>?+YX{~z~O9#cia^TFs;N8n@ZD|+Z00z8(ozt06BD(gqZ>v}v&-Z@+ z!6>*3P!X92AKJb%ucvqUWCJ%9^e-CpWQ*|OPRa>02r12$e6H4uIH@&sJbKXGV?rqx zYElXAepMW10()srlraBZuizG&{fdbBjaLhgvfAgI?K{D=h2w;zcR-iQVx(q>b4$3|jIvYDjp~k}`pDq#`U6iPeB3wTV|}#EIw))Y z9sw=EoZ4}dxI9Dg(zq$PEkQEjj)HP%9Q-Gs@L4k0b50BvIN)%N3nTtiu4Hwxp(!yZSQs_z;;WBuESj=DEN5=kEsnfU^M zj5a-4UcY#S#bSC)WL6PR~>1iCm|=6gac($e)G#R7FJ`L#&UeP z?QDu{ya>Cs;;#eH2w{%_V1;NfgX$}VVu;aensc`XssYiLTQj*q8=;&4b)C(FEAD(; zaMArclf(#Kd7#!5O|= ztnTIh#=LFc&`MSsQwP?tahkSYULE7J;y(Q|_VBj)1s}0{zYfS~?5og$gRZ}tjv*bV z0(himRmiuzH}g%Zp|WESTC1xN?8d%45BwYFbW+MdVbH}KpJz@JgChn*C+;Y%s7F22 zaD6GN7M*8^c0kH%l9~$JP-2(V_uk`aO2t;d+B>C0Shgr({Gl%+fhCk zhDFNQZc9e$e1ZNI{0eKleao(*~FrGp@=;a8r%gy5aA~>>SKq zL!U7(F1gF_zZp7O>rSw_5QYDZT075qvUa5^P^;e@FCVuD6+lik>ZhX*IeDD8AoIz= z|KUak7DsBehA+O#B6*=2=sRif*-A%V07{K|O-wanZ0h-b~Xc%;0ZR>C|+;Y!R z`wVPwugPz1rh>>fI{?4YQrA`#f)1(JtFiI%M2Ac0`>i7H4h&;WMkIzbxU=S~r*&vt zUeZp_qXb%3c`k#G>m6F=bg7A1I?}i0kAUeePq!0WL74Px>xfs=H7rsYGli_u>wI|g zCU+9u8%nL#zTh|XL|0Gx6TGo@%f(+^uT_*jz7dzno)5?r{1E2owbia+_qKD^bIJx_ zu^wQ?Y4<)8{A4rEeicHMD4e~V|Go_{H(5G|`)VvKGtI8SnCCT-oO1#=?449_X_0;BDriG%=*vHWM*{E(--4r#>&kHzd^E{tuJg)(#i!{`6YhnkOn!A zk!I8O2ZX~4b@{26mMJ(=@qvcuD^lOL9H$3oStk3SiOtN;a@dK_e!zHpbBtEmb<2VL z2q;>GQ`?k|eG#p1=gfgX0Hf2G@%2RDV)`1S2sitE)J+MCQwyzh89Mce$p>YU(3P9S zF@(e;hBHWK29F2HqjEs6sETMv{l8aJs1;aE?#~bAS;9n%nxT{GyM9au`Yu+p0{Ecx zLBM+mNQtf}zm$Fjx*@N5h_s9dgZV{I=|_v&KfhzWkH0eG=is4+-hvz^1$j!OeCtm8 zw-ztGe{7(-#u|ij6y22~wQmA5Y9H`>Q|Ecf2E68oXT3j^=SO`$v|bIOx>Oz40Hm0! z&<|i4&@1uz6}1^@eQoq#c2s32JR<6OC`c54L_S0vWF1;pY370L?b8AURYQ9kJVthR z#7irI3O{4Xwj#!c5XF8Br_huTo(c5)#v!gOP2oSw@LJ< z$br*gxz*GwyAjd9@W{sup(7<-8C>jWZT9m>N@b%1P0D-b``!k|>=nQM#Eq!vSfZ>5 zr>mc6!gnmcjXAQaNk205o&70U?Nnp6Pv(dhXa+M&^X$!&UOp%c(x^uQ-XbX)frUEQ zt)Kt${?gvO&pglThR)Qsd5>SDg9{U{K9#e_#&MQV&~A^~#2tq^nL>xOS4DE}M^1cw zOmM&WZu#I=Pd?C25v34&1zh#%x=~>j-qu~Sunp^&@p=}A=vB(avGNGzTKaD5x*lqA zWu(!XA;G%#+gG@1tJ4ZBSo_og{QzSAnq*Ewkk8)XM zXWDRFQZC13%WW%(hH=@%V1{Z_n@n1g#wElEA-SwvX54Aqa+`G-Q6|I~6~m0V>{rg7 zY0ELc^rJuEectDN&+~o1@AG^<@AHu_jeh-@XF+H8(wM#2&^IoGI333wL>KwHJd>rO zIM~GUNO0=Kr8Ly>xg)4hEuz8vC#E?dwkSfY*jG&-Doc`uvTj+8hNiM5KR%eCVKn+& zUMBA>+&HbWPg-Skco#$F?@`W}+md5g*oNdo{O-b{C0imds}Gv8$PH)#aGSiu=4!N! z6z?31BZ1204u(nm%y8_82Ax1&47ve;b%ip`&Wc()5^w<3!|njy5Ep>+Hc$SCBDl<+4 z^`S4n;Qo~UJcHAun3ic=maoYWV@{6jRMZV4``#|Pj(p}>k7)IAL>H@E2H+i9Ydkfr zRBvE4sjlVo5Z#e0W;@B;pdxpAZbYSCH2cjhh1J?ES1L9~2Y)|4kFx*tD@6}+RPrOx z@6{%C7s;0z9=zh_HkMJuGbh`20ln$f-9aeh;uXFPWTXW`CUvnOhw`A*;8Q-dXV<7+ zs3A^mJ`(>qFfxdo`|x;4Oy_gp9#U}LkR9XIgXZ@GEt%lEag=k_pDSqqKF7OcI6q^w zXE#J26BjZ&vU@tPJF)^uqj{&`!#PLQK7<^b4K$Adnk5p_YGUrCWc~PM%p_YcxeGq`M`-nMiPA=k$)FUyTFFt!&`-qI5Ikk{OOQtkT8g0vLom zi1Qv(V64#-^XCS$8gT=vvr=Hy5I1nj>wF!`auSVf?X8nE5ra8e5If^ORPs22RbZ(A zyjjY0q63-lQ|)WR%L@Za)pFS3^3+-r^I|e{Mu#CXBDM5u_#mN-)Erb8T;mv%#KBJy z0W#y1t|i;uB{_nUz`OEJs|y*ivk@K;pt;p1%gBSu7&8h4ChumxJPmWu8+vJngr=mVlxgl<6!k**o=ek z76&AL#TCOUpGI3H1mj0iccx`t!U8wFDBDinl+4(M*K{*|zvmB_D->mJVKEX8tLkE| zqm#F$*XAX?b(x%k&s$GP?>|L1VDKY75fQAH7zHLo{4GICZA>@VKX2bxVsBq*)kVJ) z7w05`T&sj=)7j=kMG@O8pF9+zC8sUFZQj`+fG+oi%j>A}A(BN!d3uvMzCxt#a!(*g z9)qMZ>ve2=>B;8itrJ(@ee-`E)EeEva-<*jRDGU z0*sn56}XNN2)={qTjOCeh8i|tV^lw}T9oeCKSBvnTigw4oOSZm(u1O7o$F)t+ z%2z1nP^j~Vg;F$kd2Z5Clo#R4|3oEB^(1n_=;c+*iG{mb>uQCX_El&-#*azJK2$5;RyKxI=JAaGk*+5ZpajaMwYD2MZ7&xI?hu?!jGyyE_cd0K?3k z>~r?M`+oPF_q>07f8F&wJ*%fzclGM(THRH@st#9HlzE9xf{uiQ^zyx|q$&~;3KWrF zM}2|##R{fCMnXa_wvv!gelH$mQ$0_)6t!XdQWp5?r5{YWK202h&o8mLKU-R4P{vZIhIz>3nX-D{!ChvLTVp$;%?i3x8z9E zVv=)uDeTGHyupdVvVo|#3eKC{*hrHi&I81_Mz%iODLH+c=Q9aippibtbkWX) zP1O|#JmE_Jb@@qdE1#>|BAMj^Jx9lxm{tNlXrec7qK?3d@gS4+cu{Ab91s2I87Z{nwI8S~CJVQn1 z{e?0gr2G*>c&aJoAU@>ncZ}-b)}DM3Q zG5z?}%nCa_KlMH2yCCPtDEcz*yM>0sCnu8GuJ;WrNpAmOc z!h{iJ5s5&&SDDxqwIskVWK1+Ehg6y23h6K`G}~i>kmz~*M|$m7yuo|j+{suE-5Y0k z{J4fsEV@BwuN(2pKgV=MpP55mFTa#upF3kj&o)zLW+YD#hzK>w4pgoxLQcS`d!g}} zSxh7QP=&3?eOe>|nJ4N#sxOzxl6jHrBA!(38UwPMS<6C3W z%B0GS`6tJWSYc}2DI5BZV*Ib!$&+H1f`lSkz8rPE+yrcxpDlXYwDJL7kN59w%AeIi zFd*zu3@E=?=0{OS8f0AlVAd|pE?jYp4J_l>w~FdiB)A4&HhRo9y-b*@GCdO^$q++n zX=$xKl{b>13^j^B)OQ<4+*15f#_6QKF@=lie!z>bk1df+lEsz<51Lg|FJzF(D>67x z&&5{6W_<$=s+zHxrBstG)K%|PM^_tEJ8Yvmzi@VKDsWzKrgvu8IURU8{A&B<4)F!+ z9nZzig~hh_jtl`Kx+c09x)r(NH@BbKrLAemQ{sh4U=>&pAyF}VVuEgQQaTa-XW#&-k4~goDWy}ofUh3^5 zlj#y!-5E6?#mDq=0n-u}jTMcilIJBaOIAvZri-i%t(mNsW>Tj!i}Gd^W+bMyO2Aqj zB>-V9tMW_zo8`bJhF!q)XPyr{;yjvGWV4NB?@Edb4)T~Lmh(VTF52=^!v-umHifg# z%c$)l>PvZ*ybEunPPEj`nKM%5*b3@ZWL&vjecXBk!(0Vj``n^kXaGb7_x9%wfZS9>6PVvH-AQXnqlig}rHSo1Z8?3c@~wNghj>f4ylg-4 zx^o#C>l^#5A=`*^y??i0;XH@WTgRoq$;Q`a`XX&1?R?}W#ciy6#3j8yOY2?5T)LSe z-}u`KE^vc#6>8-`on^Hrmyy5UG4$keY0tl*w&p{fu*uzk+~m+W^IS>qVMbjs&r9Qr*b#HreBs%JUZi^KVxrZXHAk|$I~jYNk0

Is!N?6mqEgEj~wJ0Jr(z@77ghKi;RQkZO7T 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

j)xlPvlVMyc{7Wb_xrck)C))0S5D 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 a4jzf6igM1;5HRU?Xxz}gUU<#&>Hh*8h=~vY literal 0 HcmV?d00001 diff --git a/src/.vuepress/public/img/sha512-08.png b/src/.vuepress/public/img/sha512-08.png new file mode 100644 index 0000000000000000000000000000000000000000..43089ed15dbd067007c5407000125cfec4d41402 GIT binary patch literal 61432 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
4dJOpVk?);4Yl#ZBX;E4N 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 literal 0 HcmV?d00001 diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md index 0e6610163..6299219da 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,7 +52,37 @@ Unzip and install the package | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation + +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md index e17233214..08882b31d 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,7 +52,36 @@ Unzip and install the package | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 35294d16b..8d80765d4 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -58,6 +58,38 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirement](../Deployment-and-Maintenance/Environment-Requirements.md)) +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## 3. Installation Steps Taking a cluster with three Linux servers with the following information as example: diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 722792ae0..3b6689f99 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -77,7 +77,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index af7b5e309..85779a527 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -48,7 +48,39 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co ## 2. Installation Steps -### 2.1 Extract Installation Package +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + +### 2.2 Extract Installation Package Unzip the installation package and navigate to the directory: @@ -57,9 +89,9 @@ unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 Parameters Configuration +### 2.3 Parameters Configuration -#### 2.2.1 Memory Configuration +#### 2.3.1 Memory Configuration Edit the following files for memory allocation: @@ -70,7 +102,7 @@ Edit the following files for memory allocation: | :------------ | :---------------------------------- | :---------- | :-------------- | :---------------------- | | MEMORY_SIZE | Total memory allocated for the node | Empty | As needed | Save changes without immediate execution; modifications take effect after service restart. | -#### 2.2.2 General Configuration +#### 2.3.2 General Configuration Set the following parameters in `conf/iotdb-system.properties`. Refer to `conf/iotdb-system.properties.template` for a complete list. @@ -105,7 +137,7 @@ Set the following parameters in `conf/iotdb-system.properties`. Refer to `conf/i | dn_schema_region_consensus_port | Port used for metadata replica consensus protocol communication | 10760 | 10760 | This parameter cannot be modified after the first startup. | | dn_seed_config_node | Address of the ConfigNode for registering and joining the cluster. (e.g.,`cn_internal_address:cn_internal_port`) | 127.0.0.1:10710 | Use `cn_internal_address:cn_internal_port` | This parameter cannot be modified after the first startup. | -### 2.3 Start ConfigNode +### 2.4 Start ConfigNode Navigate to the `sbin` directory and start ConfigNode: @@ -117,7 +149,7 @@ If the startup fails, refer to the [Common Issues](#3-common-issues)。 section -### 2.4 Start DataNode +### 2.5 Start DataNode Navigate to the `sbin` directory of IoTDB and start the DataNode: @@ -125,7 +157,7 @@ Navigate to the `sbin` directory of IoTDB and start the DataNode: ./sbin/start-datanode.sh -d # The "-d" flag starts the process in the background. ``` -### 3.5 Start CLI +### 2.6 Start CLI Enter the IoTDB CLI. diff --git a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 5ae4294d8..d6235d8d1 100644 --- a/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md index 540ead30f..8c841fb35 100644 --- a/src/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md @@ -482,21 +482,23 @@ Key updates: ## 2. Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | + +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V2.1.1 | Optimize the measuring point selection on the trend interface to support scenarios without devices | V2.0 and above | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md index b83ca8a12..6d38c04dc 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,7 +52,37 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation + +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 47b3bdf33..8981ee335 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,7 +52,36 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md index b965efb1c..7377a5c98 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,38 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirement](../Deployment-and-Maintenance/Environment-Requirements.md)) +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## 3. Installation Steps Assuming there are three Linux servers now, the IP addresses and service roles are assigned as follows: diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 93e4e85eb..28b7b9454 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -79,7 +79,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index ea7e1772f..784c50313 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,45 @@ ## 2. Installation Steps -### 2.1 Unzip the installation package and enter the installation directory +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.2 Unzip the installation package and enter the installation directory ```Shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 Parameter Configuration +### 2.3 Parameter Configuration #### Environment Script Configuration @@ -103,7 +134,7 @@ Open the DataNode configuration file (./conf/iotdb-system. properties file) and > ❗️Attention: Editors such as VSCode Remote do not have automatic configuration saving function. Please ensure that the modified files are saved persistently, otherwise the configuration items will not take effect -### 2.3 Start ConfigNode +### 2.4 Start ConfigNode Enter the sbin directory of iotdb and start confignode @@ -112,7 +143,7 @@ Enter the sbin directory of iotdb and start confignode ``` If the startup fails, please refer to [Common Questions](#common-questions). -### 2.4 Start DataNode +### 2.5 Start DataNode Enter the sbin directory of iotdb and start datanode: @@ -121,7 +152,7 @@ cd sbin ./start-datanode.sh -d #The "- d" parameter will start in the background ``` -### 2.5 Verify Deployment +### 2.6 Verify Deployment Can be executed directly/ Cli startup script in sbin directory: diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 9170231ab..c18a14d00 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index 1d54b9b24..35224ec1a 100644 --- a/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -41,7 +41,36 @@ The instructions for using the visualization console tool can be found in the [I ## 2. Installation Steps -### 2.1 IoTDB enables monitoring indicator collection +### 2.1 Pre-installation Check + +To ensure the Workbench installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Contact the Timecho Team to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/workbench): + ```Bash + cd /data/workbench + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-04.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. + +#### Notes: + +- If the verification results do not match, please contact the Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.2 IoTDB enables monitoring indicator collection 1. Open the monitoring configuration item. The configuration items related to monitoring in IoTDB are disabled by default. Before deploying the monitoring panel, you need to open the relevant configuration items (note that the service needs to be restarted after enabling monitoring configuration). @@ -111,7 +140,7 @@ The instructions for using the visualization console tool can be found in the [I ![](/img/%E5%90%AF%E5%8A%A8.png) -### 2.2 Install and configure Prometheus +### 2.3 Install and configure Prometheus 1. Download the Prometheus installation package, which requires installation of V2.30.3 and above. You can go to the Prometheus official website to download it (https://prometheus.io/docs/introduction/first_steps/) 2. Unzip the installation package and enter the unzipped folder: @@ -157,7 +186,7 @@ The instructions for using the visualization console tool can be found in the [I -### 2.3 Install Workbench +### 2.4 Install Workbench 1. Enter the config directory of iotdb Workbench -`` @@ -190,7 +219,7 @@ The instructions for using the visualization console tool can be found in the [I ![](/img/workbench-en.png) -### 2.4 Configure Instance Information +### 2.5 Configure Instance Information 1. Configure instance information: You only need to fill in the following information to connect to the instance diff --git a/src/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md index 540ead30f..8c841fb35 100644 --- a/src/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md @@ -482,21 +482,23 @@ Key updates: ## 2. Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | + +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V2.1.1 | Optimize the measuring point selection on the trend interface to support scenarios without devices | V2.0 and above | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md index 2cd8e2917..73574db6b 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -53,6 +53,35 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | `README.md` | file | Instructions | +### Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-05.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ### Environment preparation - Suggested operating environment:Ubuntu, CentOS, MacOS diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f59234aa8..35070c791 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -53,6 +53,36 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | `README.md` | file | Instructions | + +### Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-05.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ### Environment preparation - Suggested operating environment:Ubuntu, CentOS, MacOS diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md index f136efd14..2f31ca03b 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,38 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirements](https://iotdb.apache.org/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.html)) +### Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-08.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## Installation Steps Assuming there are three Linux servers now, the IP addresses and service roles are assigned as follows: diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 24accd11d..516e8df5d 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -72,7 +72,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index d3d92aa69..ec298b5e9 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,46 @@ ## Installation Steps -### 1、Unzip the installation package and enter the installation directory +### 1、Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + + +![img](/img/sha512-08.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2、Unzip the installation package and enter the installation directory ```Shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2、Parameter Configuration +### 3 Configuration #### Environment Script Configuration @@ -103,7 +135,7 @@ Open the DataNode configuration file (./conf/iotdb-system. properties file) and > ❗️Attention: Editors such as VSCode Remote do not have automatic configuration saving function. Please ensure that the modified files are saved persistently, otherwise the configuration items will not take effect -### 3、Start ConfigNode +### 4、Start ConfigNode Enter the sbin directory of iotdb and start confignode @@ -112,7 +144,7 @@ Enter the sbin directory of iotdb and start confignode ``` If the startup fails, please refer to [Common Questions](#common-questions). -### 4、Start DataNode +### 5、Start DataNode Enter the sbin directory of iotdb and start datanode: @@ -121,7 +153,7 @@ cd sbin ./start-datanode.sh -d #The "- d" parameter will start in the background ``` -### 5、Verify Deployment +### 6、Verify Deployment Can be executed directly/ Cli startup script in sbin directory: diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 0c4a051b2..5c9055c63 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -66,7 +66,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md index 6297c2128..1e37e14ca 100644 --- a/src/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,36 @@ The instructions for using the visualization console tool can be found in the [I | Database | IoTDB | Requires V1.2.0 Enterprise Edition and above | You can contact business or technical support to obtain | | Console | IoTDB-Workbench-`` | - | You can choose according to the appendix version comparison table and contact business or technical support to obtain it | + +### Pre-installation Check + +To ensure the Workbench installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Contact the Timecho Team to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/workbench): + ```Bash + cd /data/workbench + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-03.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. + +#### Notes: + +- If the verification results do not match, please contact the Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ## Installation Steps ### Step 1: IoTDB enables monitoring indicator collection diff --git a/src/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md index d0c857f2a..e391685d7 100644 --- a/src/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md @@ -302,20 +302,21 @@ Key updates: ## Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | + +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md index 592d5c733..57967f345 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -53,6 +53,35 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | `README.md` | file | Instructions | +### Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-05.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ### Environment preparation - Suggested operating environment:Ubuntu, CentOS, MacOS diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f59234aa8..35070c791 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -53,6 +53,36 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | `README.md` | file | Instructions | + +### Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-05.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ### Environment preparation - Suggested operating environment:Ubuntu, CentOS, MacOS diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 684875d8a..f3d576dcb 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,39 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirements](https://iotdb.apache.org/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.html)) + +### Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + + +![img](/img/sha512-08.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ## Installation Steps Assuming there are three Linux servers now, the IP addresses and service roles are assigned as follows: @@ -62,6 +95,7 @@ Assuming there are three Linux servers now, the IP addresses and service roles a | 192.168.1.4 | iotdb-2 | ConfigNode、DataNode | | 192.168.1.5 | iotdb-3 | ConfigNode、DataNode | + ### Set Host Name On three machines, configure the host names separately. To set the host names, configure `/etc/hosts` on the target server. Use the following command: diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 24accd11d..516e8df5d 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -72,7 +72,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 4dea1fe8e..3aecd9698 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -39,17 +39,53 @@ - Using a fixed non root user: - Using the same user operation: Ensure that the same user is used for start, stop and other operations, and do not switch users. - Avoid using sudo: Try to avoid using sudo commands as they execute commands with root privileges, which may cause confusion or security issues. - + + ## Installation Steps -### 1、Unzip the installation package and enter the installation directory + +### 1、Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + + +![img](/img/sha512-08.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + + +### 2、Unzip the installation package and enter the installation directory ```Shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2、Parameter Configuration +### 3、Parameter Configuration #### Environment Script Configuration @@ -103,7 +139,7 @@ Open the DataNode configuration file (./conf/iotdb-system. properties file) and > ❗️Attention: Editors such as VSCode Remote do not have automatic configuration saving function. Please ensure that the modified files are saved persistently, otherwise the configuration items will not take effect -### 3、Start ConfigNode +### 4、Start ConfigNode Enter the sbin directory of iotdb and start confignode @@ -112,7 +148,7 @@ Enter the sbin directory of iotdb and start confignode ``` If the startup fails, please refer to [Common Questions](#common-questions). -### 4、Start DataNode +### 5、Start DataNode Enter the sbin directory of iotdb and start datanode: @@ -121,7 +157,7 @@ cd sbin ./start-datanode.sh -d #The "- d" parameter will start in the background ``` -### 5、Verify Deployment +### 6、Verify Deployment Can be executed directly/ Cli startup script in sbin directory: diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 0c4a051b2..5c9055c63 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -66,7 +66,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md index 8f9278152..6d4bac18d 100644 --- a/src/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,37 @@ The instructions for using the visualization console tool can be found in the [I | Database | IoTDB | Requires V1.2.0 Enterprise Edition and above | You can contact business or technical support to obtain | | Console | IoTDB-Workbench-`` | - | You can choose according to the appendix version comparison table and contact business or technical support to obtain it | + +### Pre-installation Check + +To ensure the Workbench installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Contact the Timecho Team to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/workbench): + ```Bash + cd /data/workbench + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-03.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. + +#### Notes: + +- If the verification results do not match, please contact the Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## Installation Steps ### Step 1: IoTDB enables monitoring indicator collection diff --git a/src/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md index d0c857f2a..e391685d7 100644 --- a/src/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md @@ -302,20 +302,21 @@ Key updates: ## Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | + +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md index 0e6610163..6299219da 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,7 +52,37 @@ Unzip and install the package | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation + +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md index e17233214..08882b31d 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,7 +52,36 @@ Unzip and install the package | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 29a910b31..c4590b136 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -58,6 +58,38 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirement](../Deployment-and-Maintenance/Environment-Requirements.md)) +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## 3. Installation Steps Taking a cluster with three Linux servers with the following information as example: diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 722792ae0..3b6689f99 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -77,7 +77,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 2f7da68b2..639ad7cf7 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -48,7 +48,40 @@ Use the hostname for `cn_internal_address` and `dn_internal_address` in IoTDB co ## 2. Installation Steps -### 2.1 Extract Installation Package + +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + +### 2.2 Extract Installation Package Unzip the installation package and navigate to the directory: @@ -57,9 +90,9 @@ unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 Parameters Configuration +### 2.3 Parameters Configuration -#### 2.2.1 Memory Configuration +#### 2.3.1 Memory Configuration Edit the following files for memory allocation: @@ -70,7 +103,7 @@ Edit the following files for memory allocation: | :------------ | :---------------------------------- | :---------- | :-------------- | :---------------------- | | MEMORY_SIZE | Total memory allocated for the node | Empty | As needed | Save changes without immediate execution; modifications take effect after service restart. | -#### 2.2.2 General Configuration +#### 2.3.2 General Configuration Set the following parameters in `conf/iotdb-system.properties`. Refer to `conf/iotdb-system.properties.template` for a complete list. @@ -105,7 +138,7 @@ Set the following parameters in `conf/iotdb-system.properties`. Refer to `conf/i | dn_schema_region_consensus_port | Port used for metadata replica consensus protocol communication | 10760 | 10760 | This parameter cannot be modified after the first startup. | | dn_seed_config_node | Address of the ConfigNode for registering and joining the cluster. (e.g.,`cn_internal_address:cn_internal_port`) | 127.0.0.1:10710 | Use `cn_internal_address:cn_internal_port` | This parameter cannot be modified after the first startup. | -### 2.3 Start ConfigNode +### 2.4 Start ConfigNode Navigate to the `sbin` directory and start ConfigNode: @@ -117,7 +150,7 @@ If the startup fails, refer to the [Common Issues](#3-common-issues)。 section -### 2.4 Start DataNode +### 2.5 Start DataNode Navigate to the `sbin` directory of IoTDB and start the DataNode: @@ -125,7 +158,7 @@ Navigate to the `sbin` directory of IoTDB and start the DataNode: ./sbin/start-datanode.sh -d # The "-d" flag starts the process in the background. ``` -### 2.5 Start CLI +### 2.6 Start CLI Enter the IoTDB CLI. diff --git a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 5ae4294d8..d6235d8d1 100644 --- a/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md index 540ead30f..8c841fb35 100644 --- a/src/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md @@ -482,21 +482,23 @@ Key updates: ## 2. Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | + +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V2.1.1 | Optimize the measuring point selection on the trend interface to support scenarios without devices | V2.0 and above | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md index b83ca8a12..6d38c04dc 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,7 +52,37 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation + +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 47b3bdf33..8981ee335 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,7 +52,36 @@ | README_ZH.md | file | Explanation of the Chinese version of the markdown format | | README.md | file | Instructions | -### 2.2 Environmental Preparation +### 2.2 Pre-installation Check + +To ensure the AINode installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum:please contact Timecho Team to re-obtain the installation package. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/ainode): + ```Bash + cd /data/ainode + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-06.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of AINode as per the procedures below. + +#### Notes: + +- If the verification results do not match, please contact Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.3 Environmental Preparation 1. Recommended operating systems: Ubuntu, MacOS 2. IoTDB version: >= V 2.0.5.1 diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md index c4e5d0879..afdd5b986 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,38 @@ This section will take the IoTDB classic cluster deployment architecture 3C3D (3 2. Configure the operating system environment according to environmental requirements (system environment configuration can be found in:[Environment Requirement](../Deployment-and-Maintenance/Environment-Requirements.md)) +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + + ## 3. Installation Steps Assuming there are three Linux servers now, the IP addresses and service roles are assigned as follows: diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 93e4e85eb..28b7b9454 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -79,7 +79,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index f682982d9..52aeddeda 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,45 @@ ## 2. Installation Steps -### 2.1 Unzip the installation package and enter the installation directory +### 2.1 Pre-installation Check + +To ensure the IoTDB installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Visit the [Release Versions](https://iotdb.apache.org/zh/Download/) page on the IoTDB open-source official website to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/iotdb): + ```Bash + cd /data/iotdb + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + + +![img](/img/sha512-07.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment of IoTDB as per the procedures below. + + +#### Notes: + +- If the verification results do not match, please re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + +### 2.2 Unzip the installation package and enter the installation directory ```Shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 Parameter Configuration +### 2.3 Parameter Configuration #### Environment Script Configuration @@ -103,7 +134,7 @@ Open the DataNode configuration file (./conf/iotdb-system. properties file) and > ❗️Attention: Editors such as VSCode Remote do not have automatic configuration saving function. Please ensure that the modified files are saved persistently, otherwise the configuration items will not take effect -### 2.3 Start ConfigNode +### 2.4 Start ConfigNode Enter the sbin directory of iotdb and start confignode @@ -112,7 +143,7 @@ Enter the sbin directory of iotdb and start confignode ``` If the startup fails, please refer to [Common Questions](#common-questions). -### 2.4 Start DataNode +### 2.5 Start DataNode Enter the sbin directory of iotdb and start datanode: @@ -121,7 +152,7 @@ cd sbin ./start-datanode.sh -d #The "- d" parameter will start in the background ``` -### 2.5 Verify Deployment +### 2.6 Verify Deployment Can be executed directly/ Cli startup script in sbin directory: diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 9170231ab..c18a14d00 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ To ensure the IoTDB Enterprise Edition installation package you obtained is comp ``` 3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. diff --git a/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md index 1d54b9b24..c0c93e3d3 100644 --- a/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,35 @@ The instructions for using the visualization console tool can be found in the [I | Database | IoTDB | Requires V1.2.0 Enterprise Edition and above | You can contact business or technical support to obtain | | Console | IoTDB-Workbench-`` | - | You can choose according to the appendix version comparison table and contact business or technical support to obtain it | +### Pre-installation Check + +To ensure the Workbench installation package you obtained is complete and valid, we recommend performing an SHA512 verification before proceeding with the installation and deployment. + +#### Preparation: + +- Obtain the officially released SHA512 checksum: Contact the Timecho Team to get it. + +#### Verification Steps (Linux as an Example): + +1. Open the terminal and navigate to the directory where the installation package is stored (e.g., /data/workbench): + ```Bash + cd /data/workbench + ``` +2. Execute the following command to calculate the hash value: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. The terminal will output a result (the left part is the SHA512 checksum, and the right part is the file name): + +![img](/img/sha512-04.png) + +4. Compare the output result with the official SHA512 checksum. Once confirmed that they match, you can proceed with the installation and deployment operations in accordance with the procedures below. + +#### Notes: + +- If the verification results do not match, please contact the Timecho Team to re-obtain the installation package. +- If a "file not found" prompt appears during verification, check whether the file path is correct or if the installation package has been fully downloaded. + ## 2. Installation Steps ### 2.1 IoTDB enables monitoring indicator collection diff --git a/src/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md b/src/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md index 540ead30f..1cde2a556 100644 --- a/src/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md +++ b/src/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md @@ -482,21 +482,22 @@ Key updates: ## 2. Workbench (Console Tool) -| Version | Description | Supported IoTDB Versions | -|---------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------| -| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | -| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | -| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | -| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | -| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | -| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | -| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | -| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | -| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | -| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | -| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | -| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | -| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | -| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | -| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | -| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | +| **Version** | **Description** | **Supported IoTDB Versions** | **SHA512 checksum** | +| ----------- | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------ | +| V2.1.1 | Optimize the measuring point selection on the trend interface to support scenarios without devices | V2.0 and above | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | The first version of the V2.x series, supporting dual models of tree and table | V2.0 and above | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | Optimize the point list by splitting point names into device names and points, ensure the point selection area supports horizontal scrolling, and align the export file column order with the page display. | All 1.x versions from V1.3.4 onward | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | Enhanced CSV import/export: optional tags/aliases on import; support for measurement descriptions with backtick-quoted quotes on export. | All 1.x versions from V1.3.4 onward | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | Added server clock functionality and support for activating Enterprise Edition license databases | All 1.x versions from V1.3.4 onward | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | Added authentication for Prometheus settings in Instance Management | All 1.x versions from V1.3.4 onward | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | Added AI analysis and pattern matching | All 1.x versions from V1.3.2 onward | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | Added tree model display and English UI | All 1.x versions from V1.3.2 onward | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | Enhanced analysis methods and import templates | All 1.x versions from V1.3.2 onward | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | Added DB configuration and UI refinements | All 1.x versions from V1.3.2 onward | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | Optimized permission controls | All 1.x versions from V1.3.1 onward | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | Added "Common Templates" and caching | All 1.x versions from V1.3.0 onward | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | Added import/export for calculations, time alignment field | All 1.x versions from V1.2.2 onward | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | Added activation details and analysis features | All 1.x versions from V1.2.2 onward | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | Optimized point description display | All 1.x versions from V1.2.2 onward | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | Added sync monitoring panel, Prometheus hints | All 1.x versions from V1.2.2 onward | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | Major Workbench upgrade | All 1.x versions from V1.2.0 onward | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md index cbe5b64fa..7bf8a380f 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -51,7 +51,36 @@ AINode 安装包(`apache-iotdb--ainode-bin.zip`),安装包解压 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f4f2be0a4..a3259a987 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -51,7 +51,36 @@ AINode 安装包(`timechodb--ainode-bin.zip`),安装包解压后 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 94d7d020f..48f464f3b 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -57,6 +57,36 @@ 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index b459c61f4..23c555aef 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -83,7 +83,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ## 3. 安装步骤 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 6c6dbd2c6..3f9157d7c 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,44 @@ ## 2. 安装步骤 -### 2.1 解压安装包并进入安装目录 + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.2 解压安装包并进入安装目录 ```Plain unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 参数配置 +### 2.3 参数配置 #### 2.2.1 内存配置 @@ -65,7 +95,7 @@ cd apache-iotdb-{version}-all-bin | :---------- | :----------------------------------- | :--------- | :----------------------------------------------- | :----------- | | MEMORY_SIZE | IoTDB DataNode节点可以使用的内存总量 | 空 | 可按需填写,填写后系统会根据填写的数值来分配内存 | 修改后保存即可,无需执行;重启服务后生效 | -#### 2.2.2 功能配置 +#### 2.3.2 功能配置 系统实际生效的参数在文件 conf/iotdb-system.properties 中,启动需设置以下参数,可以从 conf/iotdb-system.properties.template 文件中查看全部参数 @@ -99,7 +129,7 @@ DataNode 配置 | dn_schema_region_consensus_port | DataNode用于元数据副本共识协议通信使用的端口 | 10760 | 10760 | 首次启动后不能修改 | | dn_seed_config_node | 节点注册加入集群时连接的ConfigNode地址,即cn_internal_address:cn_internal_port | 127.0.0.1:10710 | cn_internal_address:cn_internal_port | 首次启动后不能修改 | -### 2.3 启动 ConfigNode 节点 +### 2.4 启动 ConfigNode 节点 进入iotdb的sbin目录下,启动confignode @@ -109,7 +139,7 @@ DataNode 配置 如果启动失败,请参考下方[常见问题](#常见问题)。 -### 2.4 启动 DataNode 节点 +### 2.5 启动 DataNode 节点 进入iotdb的sbin目录下,启动datanode: @@ -117,7 +147,7 @@ DataNode 配置 ./sbin/start-datanode.sh -d #“-d”参数将在后台进行启动 ``` -### 3.5 启动 CLI +### 2.6 启动 CLI 表模型 CLI 进入命令: diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index b8a8a7d28..a37f137df 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ### 2.2 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md index 38cc4ded5..8cc376a65 100644 --- a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md @@ -453,21 +453,22 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## 2. Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V2.1.1 | 优化趋势界面测点选择,支持无设备场景 | V2.0 及以上版本 | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md index 27d03f65e..ee1bc4c5a 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -51,7 +51,36 @@ AINode 安装包(`apache-iotdb--ainode-bin.zip`),安装包解压 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f1d62434b..2dd610188 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -51,7 +51,36 @@ AINode 安装包(`timechodb--ainode-bin.zip`),安装包解压后 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md index e96bc0bd5..af27bed92 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,36 @@ 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index b7f21bfc7..36ab5bee1 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -79,7 +79,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ## 3. 安装步骤 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md index f502069a7..86feb9852 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md @@ -30,7 +30,7 @@ | **目录** | **类型** | **说明** | | ---------------- | -------- | ------------------------------------------------------------ | -| activation | 文件夹 | 激活文件所在目录,包括生成的机器码以及从天谋工作人员获取的企业版激活码(启动ConfigNode后才会生成该目录,即可获取激活码) | +| activation | 文件夹 | 激活文件所在目录,包括生成的机器码以及天谋工作人员获取的企业版激活码(启动ConfigNode后才会生成该目录,即可获取激活码) | | conf | 文件夹 | 配置文件目录,包含 ConfigNode、DataNode、JMX 和 logback 等配置文件 | | data | 文件夹 | 默认的数据文件目录,包含 ConfigNode 和 DataNode 的数据文件。(启动程序后才会生成该目录) | | lib | 文件夹 | 库文件目录 | diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 89793f49d..f6fea8ac3 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,44 @@ ## 2. 安装步骤 -### 2.1 解压安装包并进入安装目录 + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.2 解压安装包并进入安装目录 ```shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 参数配置 +### 2.3 参数配置 #### 环境脚本配置 @@ -103,7 +133,7 @@ cd apache-iotdb-{version}-all-bin > ❗️注意:VSCode Remote等编辑器无自动保存配置功能,请确保修改的文件被持久化保存,否则配置项无法生效 -### 2.3 启动ConfigNode 节点 +### 2.4 启动ConfigNode 节点 进入iotdb的sbin目录下,启动confignode @@ -112,7 +142,7 @@ cd apache-iotdb-{version}-all-bin ``` 如果启动失败,请参考[常见问题](#常见问题)。 -### 2.4 启动DataNode 节点 +### 2.5 启动DataNode 节点 进入iotdb的sbin目录下,启动datanode: @@ -121,7 +151,7 @@ cd sbin ./start-datanode.sh -d #-d参数将在后台进行启动 ``` -### 2.5 验证部署 +### 2.6 验证部署 可直接执行 ./sbin 目录下的 Cli 启动脚本: diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 93e52025d..e0cd859e3 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -72,7 +72,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ### 2.2 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index 5d3d1dbc2..a1db28ad8 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,35 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | +### 1.1 前置检查 + +为确保您获取的可视化控制台安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/workbench`): + ```Bash + cd /data/workbench + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-04.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行可视化控制台的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 2. 安装步骤 ### 2.1 步骤一:IoTDB 开启监控指标采集 diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md index 38cc4ded5..8cc376a65 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md @@ -453,21 +453,22 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## 2. Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V2.1.1 | 优化趋势界面测点选择,支持无设备场景 | V2.0 及以上版本 | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md index 4bf9d9e70..548b7e5eb 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,6 +52,35 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, | README_ZH.md | 文件 | markdown格式的中文版说明 | | `README.md` | 文件 | 使用说明 | +### 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-05.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ### 环境准备 - 建议操作环境: Ubuntu, CentOS, MacOS diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 2b9d1db07..185ba32d8 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,6 +52,35 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, | README_ZH.md | 文件 | markdown格式的中文版说明 | | `README.md` | 文件 | 使用说明 | +### 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-05.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ### 环境准备 - 建议操作环境: Ubuntu, CentOS, MacOS diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md index 590642793..0a71d5f76 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,36 @@ 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) + +### 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-08.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 5220ad3e8..f2a3c9942 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -73,13 +73,13 @@ ``` 3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行IoTDB企业版的安装部署操作。 #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 6164c84e2..3e0740128 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,6 +42,35 @@ ## 安装步骤 +### 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-08.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ### 解压安装包并进入安装目录 ```shell diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index b330f9c2f..f28e6b962 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -66,13 +66,13 @@ ``` 3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行IoTDB企业版的安装部署操作。 #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 diff --git a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md index e00f49676..89dfb6ab1 100644 --- a/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/V1.3.x/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,36 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | +### 前置检查 + +为确保您获取的可视化控制台安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/workbench`): + ```Bash + cd /data/workbench + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-03.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行可视化控制台的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + + ## 安装步骤 ### 步骤一:IoTDB 开启监控指标采集 diff --git a/src/zh/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md index ec398acad..b1b1958e7 100644 --- a/src/zh/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/V1.3.x/IoTDB-Introduction/Release-history_timecho.md @@ -298,20 +298,20 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md index 4bf9d9e70..548b7e5eb 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -52,6 +52,35 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, | README_ZH.md | 文件 | markdown格式的中文版说明 | | `README.md` | 文件 | 使用说明 | +### 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-05.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ### 环境准备 - 建议操作环境: Ubuntu, CentOS, MacOS diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 2b9d1db07..185ba32d8 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -52,6 +52,35 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, | README_ZH.md | 文件 | markdown格式的中文版说明 | | `README.md` | 文件 | 使用说明 | +### 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-05.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ### 环境准备 - 建议操作环境: Ubuntu, CentOS, MacOS diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md index e43d1a3fb..fcded765c 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,37 @@ 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) + +### 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-08.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + + ## 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index 5220ad3e8..f2a3c9942 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -73,13 +73,13 @@ ``` 3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行IoTDB企业版的安装部署操作。 #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index befcbfbee..c028ff7cd 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,6 +42,37 @@ ## 安装步骤 + +### 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-08.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + + ### 解压安装包并进入安装目录 ```shell diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index b330f9c2f..f28e6b962 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -66,13 +66,13 @@ ``` 3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): -![img](/img/sha512-01.png) +![img](/img/sha512-02.png) 4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行IoTDB企业版的安装部署操作。 #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 diff --git a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md index 258c27eec..4e825f213 100644 --- a/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,36 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | + +### 前置检查 + +为确保您获取的可视化控制台安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/workbench`): + ```Bash + cd /data/workbench + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-03.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行可视化控制台的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 安装步骤 ### 步骤一:IoTDB 开启监控指标采集 diff --git a/src/zh/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md index ec398acad..b1b1958e7 100644 --- a/src/zh/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/dev-1.3/IoTDB-Introduction/Release-history_timecho.md @@ -298,20 +298,20 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md index cbe5b64fa..7bf8a380f 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -51,7 +51,36 @@ AINode 安装包(`apache-iotdb--ainode-bin.zip`),安装包解压 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f4f2be0a4..c34bf2547 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -51,7 +51,36 @@ AINode 安装包(`timechodb--ainode-bin.zip`),安装包解压后 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md index becaa682e..3be9d3081 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -57,6 +57,36 @@ 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index b459c61f4..23c555aef 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -83,7 +83,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ## 3. 安装步骤 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 2c66929ea..c24a2dc78 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,16 +42,46 @@ ## 2. 安装步骤 -### 2.1 解压安装包并进入安装目录 + +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.2 解压安装包并进入安装目录 ```Plain unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 参数配置 +### 2.3 参数配置 -#### 2.2.1 内存配置 +#### 2.3.1 内存配置 - conf/confignode-env.sh(或 .bat) @@ -65,7 +95,7 @@ cd apache-iotdb-{version}-all-bin | :---------- | :----------------------------------- | :--------- | :----------------------------------------------- | :----------- | | MEMORY_SIZE | IoTDB DataNode节点可以使用的内存总量 | 空 | 可按需填写,填写后系统会根据填写的数值来分配内存 | 修改后保存即可,无需执行;重启服务后生效 | -#### 2.2.2 功能配置 +#### 2.3.2 功能配置 系统实际生效的参数在文件 conf/iotdb-system.properties 中,启动需设置以下参数,可以从 conf/iotdb-system.properties.template 文件中查看全部参数 @@ -99,7 +129,7 @@ DataNode 配置 | dn_schema_region_consensus_port | DataNode用于元数据副本共识协议通信使用的端口 | 10760 | 10760 | 首次启动后不能修改 | | dn_seed_config_node | 节点注册加入集群时连接的ConfigNode地址,即cn_internal_address:cn_internal_port | 127.0.0.1:10710 | cn_internal_address:cn_internal_port | 首次启动后不能修改 | -### 2.3 启动 ConfigNode 节点 +### 2.4 启动 ConfigNode 节点 进入iotdb的sbin目录下,启动confignode @@ -109,14 +139,14 @@ DataNode 配置 如果启动失败,请参考下方[常见问题](#常见问题)。 -### 2.4 启动 DataNode 节点 +### 2.5 启动 DataNode 节点 进入iotdb的sbin目录下,启动datanode: ```shell ./sbin/start-datanode.sh -d #“-d”参数将在后台进行启动 ``` -### 3.5 启动 CLI +### 2.6 启动 CLI 表模型 CLI 进入命令: diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index b8a8a7d28..a37f137df 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -68,7 +68,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ### 2.2 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md index 38cc4ded5..8cc376a65 100644 --- a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md @@ -453,21 +453,22 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## 2. Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V2.1.1 | 优化趋势界面测点选择,支持无设备场景 | V2.0 及以上版本 | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md index 27d03f65e..06952af0e 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -51,14 +51,42 @@ AINode 安装包(`apache-iotdb--ainode-bin.zip`),安装包解压 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.1 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 3. 运行环境 - Python 版本在 3.9 ~3.12,且带有 pip 和 venv 工具; - ## 3. 安装部署及使用 ### 3.1 安装 AINode diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md index f1d62434b..2dd610188 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -51,7 +51,36 @@ AINode 安装包(`timechodb--ainode-bin.zip`),安装包解压后 | README_ZH.md | 文件 | markdown格式的中文版说明 | | README.md | 文件 | 使用说明 | -### 2.2 环境准备 +### 2.2 前置检查 + +为确保您获取的 AINode 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/ainode`): + ```Bash + cd /data/ainode + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum timechodb-{version}-ainode-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-06.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 AINode 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.3 环境准备 1. 建议操作环境: Ubuntu, MacOS 2. IoTDB 版本:>= V 2.0.5.1 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md index ff8876ea6..5254c36f0 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -52,6 +52,35 @@ 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index b7f21bfc7..36ab5bee1 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -79,7 +79,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ## 3. 安装步骤 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index 89793f49d..9bfa5722b 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -42,14 +42,43 @@ ## 2. 安装步骤 -### 2.1 解压安装包并进入安装目录 +### 2.1 前置检查 + +为确保您获取的 IoTDB 安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:请到 IoTDB 开源官网[发行版本](https://iotdb.apache.org/zh/Download/)页面获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/iotdb`): + ```Bash + cd /data/iotdb + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum apache-iotdb-{version}-all-bin.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-07.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行 IoTDB 的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + +### 2.2 解压安装包并进入安装目录 ```shell unzip apache-iotdb-{version}-all-bin.zip cd apache-iotdb-{version}-all-bin ``` -### 2.2 参数配置 +### 2.3 参数配置 #### 环境脚本配置 @@ -103,7 +132,7 @@ cd apache-iotdb-{version}-all-bin > ❗️注意:VSCode Remote等编辑器无自动保存配置功能,请确保修改的文件被持久化保存,否则配置项无法生效 -### 2.3 启动ConfigNode 节点 +### 2.4 启动ConfigNode 节点 进入iotdb的sbin目录下,启动confignode @@ -112,7 +141,7 @@ cd apache-iotdb-{version}-all-bin ``` 如果启动失败,请参考[常见问题](#常见问题)。 -### 2.4 启动DataNode 节点 +### 2.5 启动DataNode 节点 进入iotdb的sbin目录下,启动datanode: @@ -121,7 +150,7 @@ cd sbin ./start-datanode.sh -d #-d参数将在后台进行启动 ``` -### 2.5 验证部署 +### 2.6 验证部署 可直接执行 ./sbin 目录下的 Cli 启动脚本: diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 93e52025d..e0cd859e3 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -72,7 +72,7 @@ #### 注意事项: -- 若校验结果不一致,请联系从天谋工作人员重新获取安装包 +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 - 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 ### 2.2 解压安装包并进入安装目录 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md index 5d3d1dbc2..a1db28ad8 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -39,6 +39,35 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | +### 1.1 前置检查 + +为确保您获取的可视化控制台安装包完整且正确,在执行安装部署前建议您进行SHA512校验。 + +#### 准备工作: + +- 获取官方发布的 SHA512 校验码:联系天谋工作人员获取 + +#### 校验步骤(以 linux 为例): + +1. 打开终端,进入安装包所在目录(如`/data/workbench`): + ```Bash + cd /data/workbench + ``` +2. 执行以下命令计算哈希值: + ```Bash + sha512sum IoTDB-Workbench-``.zip + ``` +3. 终端输出结果(左侧为SHA512 校验码,右侧为文件名): + +![img](/img/sha512-04.png) + +4. 对比输出结果与官方 SHA512 校验码,确认一致后,即可按照下方流程执行可视化控制台的安装部署操作。 + +#### 注意事项: + +- 若校验结果不一致,请联系天谋工作人员重新获取安装包 +- 校验过程中若出现"文件不存在"提示,需检查文件路径是否正确或安装包是否完整下载 + ## 2. 安装步骤 ### 2.1 步骤一:IoTDB 开启监控指标采集 diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md index 38cc4ded5..8cc376a65 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md @@ -453,21 +453,22 @@ V1.1.0.1主要改进增加了部分新特性,如支持 GROUP BY VARIATION、GR ## 2. Workbench(控制台工具) -| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | -|------------|--------------------------------------------------------|----------------| -| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | -| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | -| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | -| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | -| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | -| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | -| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | -| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | -| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | -| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | -| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | -| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | -| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | -| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | -| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | \ No newline at end of file +| **控制台版本号** | **版本说明** | **可支持IoTDB版本** | **SHA512 校验码** | +| ---------------- | ------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------ | +| V2.1.1 | 优化趋势界面测点选择,支持无设备场景 | V2.0 及以上版本 | aa05fd4d9f33f07c0949bc2d6546bb4b9791ed5ea94bcef27e2bf51ea141ec0206f1c12466aced7bf3449e11ad68d65378d697f3d10cb4881024a83746029a65 | +| V2.0.1-beta | V2.x系列首个版本,支持树、表双模型 | V2.0 及以上版本 | 0ca0d5029874ed8ada9c7d1cb562370b3a46913eed66d39c08759287ccc8bf332cf80bb8861e788614b61ae5d53a9f5605f553e1a607e856f395eb5102e7cc4d | +| V1.5.7 | 优化测点列表中测点名称拆分为设备名称和测点,测点选择区域支持左右滚动,以及导出文件列顺序与页面保持一致 | V1.3.4及以上的1.x系列版本 | d3cd4a63372ca5d6217b67dddf661980c6a442b3b1564235e9ad34fc254d681febd58c2cc59c6273ffbfd8a1b003b9adb130ecfaaebe1942003b0d07427b1fcc | +| V1.5.6 | 优化 CSV 格式导入导出功能:导入时,支持标签、别名为非必填项;导出时,支持测点描述里反引号包裹引号的场景 | V1.3.4及以上的1.x系列版本 | 276ac1ea341f468bf6d29489c9109e9aa61afe2d1caaab577bc40603c6f4120efccc36b65a58a29ce6a266c21b46837aad6128f84ba5e676231ea9e6284a35e5 | +| V1.5.5 | 新增服务器时钟,支持企业版激活数据库 | V1.3.4及以上的1.x系列版本 | b18d01b70908d503a25866d1cc69d14e024d5b10ca6fcc536932fdbef8257c66e53204663ce3be5548479911aca238645be79dfd7ee7e65a07ab3c0f68c497f6 | +| V1.5.4 | 新增实例管理中prometheus设置的认证功能 | V1.3.4及以上的1.x系列版本 | adc7e13576913f9e43a9671fed02911983888da57be98ec8fbbb2593600d310f69619d32b22b569520c88e29f100d7ccae995b20eba757dbb1b2825655719335 | +| V1.5.1 | 新增AI分析功能以及模式匹配功能 | V1.3.2及以上的1.x系列版本 | 4f2053a2a3b2b255ce195268d6cd245278f3be32ba4cf68be1552c386d78ed4424f7bdc9d8e68c6b8260b3e398c8fd23ff342439c4e88e1e777c62640d2279f9 | +| V1.4.0 | 新增树模型展示及英文版 | V1.3.2及以上的1.x系列版本 | 734077f3bb5e1719d20b319d8b554ce30718c935cb0451e02b2c9267ff770e9c2d63b958222f314f16c2e6e62bf78b643255249b574ee6f37d00e123433981e8 | +| V1.3.1 | 分析功能新增分析方式,优化导入模版等功能 | V1.3.2及以上的1.x系列版本 | 134f87101cc7f159f8a22ac976ad2a3a295c5435058ee0a15160892aac46ac61dd3cfb0633b4aea9cc7415bf904d0ae65aaf77d663f027d864204d81fb34768b | +| V1.3.0 | 新增数据库配置功能,优化部分版本细节 | V1.3.2及以上的1.x系列版本 | 94a137fc5c681b211f3e076472a9c5875d59e7f0cd6d7409cb8f66bb9e4f87577a0f12dd500e2bcb99a435860c82183e4a6514b638bcb4aecfb48f184730f3f1 | +| V1.2.6 | 优化各模块权限控制功能 | V1.3.1及以上的1.x系列版本 | f345b7edcbe245a561cb94ec2e4f4d40731fe205f134acadf5e391e5874c5c2477d9f75f15dbaf36c3a7cb6506823ac6fbc2a0ccce484b7c4cc71ec0fbdd9901 | +| V1.2.5 | 可视化功能新增“常用模版”概念,所有界面优化补充页面缓存等功能 | V1.3.0及以上的1.x系列版本 | 37376b6cfbef7df8496e255fc33627de01bd68f636e50b573ed3940906b6f3da1e8e8b25260262293b8589718f5a72180fa15e5823437bf6dc51ed7da0c583f7 | +| V1.2.4 | 计算功能新增“导入、导出”功能,测点列表新增“时间对齐”字段 | V1.2.2及以上的1.x系列版本 | 061ad1add38c109c1a90b06f1ddb7797bd45e84a34a4f77154ee48b90bdc7ecccc1e25eaa53fbbc98170d99facca93e3536192dd8d10a50ce505f59923ce6186 | +| V1.2.3 | 首页新增“激活详情”,新增分析等功能 | V1.2.2及以上的1.x系列版本 | 254f5b7451300f6f99937d27fd7a5b20847d5293f53e0eaf045ac9235c7ea011785716b800014645ed5d2161078b37e1d04f3c59589c976614fb801c4da982e1 | +| V1.2.2 | 优化“测点描述”展示内容等功能 | V1.2.2及以上的1.x系列版本 | 062e520d010082be852d6db0e2a3aa6de594eb26aeb608da28a212726e378cd4ea30fca5e1d2c3231ebd8de29e94ca9641f1fabc1cea46acfb650c37b7681b4e | +| V1.2.1 | 数据同步界面新增“监控面板”,优化Prometheus提示信息 | V1.2.2及以上的1.x系列版本 | 8a3bcf87982ad5004528829b121f2d3945429deb77069917a42a8c8d2e2e2a2c24a398aaa87003920eeacc0c692f1ed39eac52a696887aa085cce011f0ddd745 | +| V1.2.0 | 全新Workbench版本升级 | V1.2.0及以上的1.x系列版本 | ea1f7d3a4c0c6476a195479e69bbd3b3a2da08b5b2bb70b0a4aba988a28b5db5a209d4e2c697eb8095dfdf130e29f61f2ddf58c5b51d002c8d4c65cfc13106b3 | \ No newline at end of file