From 4a2939bc753f3c21980af098f44e6f9b5bf9ee94 Mon Sep 17 00:00:00 2001 From: Andre Bellafronte Kutianski Date: Sat, 13 Nov 2021 19:26:38 -0300 Subject: [PATCH] add percona server for mysql in one-click-apps (#564) * app(add): percona server for mysql * app(add): percona server for mysql --- public/v4/apps/percona.yml | 41 ++++++++++++++++++++++++++++++++++++ public/v4/logos/percona.png | Bin 0 -> 13787 bytes 2 files changed, 41 insertions(+) create mode 100644 public/v4/apps/percona.yml create mode 100644 public/v4/logos/percona.png diff --git a/public/v4/apps/percona.yml b/public/v4/apps/percona.yml new file mode 100644 index 0000000..75be51c --- /dev/null +++ b/public/v4/apps/percona.yml @@ -0,0 +1,41 @@ +captainVersion: 4 +services: + $$cap_appname-percona: + image: percona:$$cap_percona_version + volumes: + - $$cap_appname-percona-data:/var/lib/mysql + restart: always + environment: + MYSQL_ROOT_PASSWORD: $$cap_db_pass + caproverExtra: + dockerfileLines: + - FROM percona:$$cap_percona_version + - CMD ["--character-set-server=$$cap_charset", "--collation-server=$$cap_collation", "--skip-character-set-client-handshake"] + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_percona_version + label: Percona Version + defaultValue: 'ps-8.0' + description: Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_db_pass + label: Percona Root password + description: '' + validRegex: /.{1,}/ + defaultValue: $$cap_gen_random_hex(12) + - id: $$cap_charset + label: Default server character set + description: See the MariaDB website for supported character sets (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#character-sets) + defaultValue: utf8mb4 + - id: $$cap_collation + label: Default server collation + description: See the MariaDB website for supported collations (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#collations) + defaultValue: utf8mb4_unicode_ci + instructions: + start: "Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. It aims to retain close compatibility to the official MySQL releases, while focusing on performance and increased visibility into server operations. Also included in Percona Server is XtraDB, Percona's fork of the InnoDB Storage Engine." + end: "Percona is deployed and available as srv-captain--$$cap_appname-percona:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname-percona', user: 'root', password: '*********' });'" + displayName: Percona Server + isOfficial: true + description: Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. + documentation: https://www.percona.com/software/mysql-database/percona-server diff --git a/public/v4/logos/percona.png b/public/v4/logos/percona.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a6f411639a829ff52df83d9e449cd3dba8a6bd GIT binary patch literal 13787 zcmV<1H6+T3P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z001inNkl2Lcl->0e&R3mlQ%85J&=f zAqk`qNW2ZK#>?^Q0ctX_9_c4y|kf84v)TC8MA7A7y*^E~sc zv^zU9J9EGHobx^9YC;IIl9jA{dZK45BO&oHGcNtE~(e1mvp;K?6E~-M}88 z4%h*-1NNb~xa+RFj+<}3IXg14GN96v#d)Yfm&s0T}pvzz;xG+PIB6Ijda^~4RxZm`EGQt=EfU9xC(y)1ZdtI^k5lA zpfGBL%6A%hl~sD6a4l#b0?UB4a_6jMB@4pt#G`2$|iK4X;`8Sw$|0`LmZmVJy_ z$%3#`3}6=U)nxs;Q=*%m9UR~JI&RY%^h6yx7KX<}_ju9#9(3IUy7BR&xGqAtxNZ^= z--^?^4r}*9;_LDaJv?fPr~Jq%{^6&d?LTbpyP9s!2cDE>Y*w=J-wncHzz>p*o6c!l z@#ivY%X84N4O36x@p{lhIp}5t4Q-#|69BHrd|8^rr)CB*{2&|~*S2t)KO)ia5%EpW z{0d_C}R_7P|0vkJn`*{yr-ZFue1qdS&8gfHa9 z8!kd9lXIU*=_({@y4*f7F)+M2`1B<4bx%;!ST(r#v^(zb4W3d8WFzlc`Hz zp*)J*Vb=sanxCkeK zZ|H1-hhKNc+gBQ=q4JPB2fnhlpbFWR>v-CpSv#42o+r&sF>OUJdl0l zpD8QO{ci%{U?<*sQ~hgqjcfbxZv^s7aa|9>cJ?PpGz~Xyp@%Cm3P$elwM7mi?}Quh zk3EyN5B`j`^F7?wJ-D$ZT)Q0&9ZVC=^n;cj!0#U@T}{XI=8&jcPtDWU6b(B6fopw5 z!*>8L4#0i$A=B}E87|NU8j+bi-CcYLnY^y`$U4bE)&MkT_j>X`rQIfEL1z;l`_beX|tDZ)rs4^+#@Hh~4)58T`3v!j)-o3ADUL!F}?r~;M(&(XIW+u>?Z zp8`x*KtX{`PXo*v;4R=8^?D#4JQp|tI1QMi&g03j-*({Nz)QgY0xbucXMu~p+bUk+?M6d=@r<6}ElT~YVKEf_f9$;Yu>Nq*WE!skALysUh`b3OS5dcoCiH4VNBD(2KioS3&d9yD;_XhA3RN^V9BslhDL?TAAsfuL7 zHmqICv8q>MRj(%5v=h6v5zX|W`+{huua969fQg}d=vet2^<@)}Dmm$jD}bvG^1kH) zGl5DqXzGAG1&A`>OyC^gEZ}=;))Z+Pt3(a-c3_DDnHJ$pS)djt6=T!|5kAY4gnY91fn(y@3;#}XPp4>#IGqJAq@%{t=S-y^>L1FYJO zxUGB9yg>|K5Hz#*VAKQX(N>z@easUaHuJ2UkuzUYGhlzkQZsQI@B?6-GH*;E0vrY0 zq6XG&z?Zw2l$LsZ75J6{qc?*&D#)A@n|f~raG4rNJ~a^x0lp1<9r&%9AYSd}cLac6 zsfog`H12$4rAk{jlX4|6S80N;s_(RA7*}VhdoWC0=RN8=s=6^{hp36|`@pHl0)U?Z ze*xm%Tz^bWFlPZtrKOsB`3&u}WAs+eRzOVsy@UbC&guz-e&N{XwXAyOsJ4$5U?Q-Z z>e2nV_yL^5{U%&+;dM){u*ii5@~)|iyCM_ zHJg84X@plYeBV;wwEF4CXszi#G6hH|NpQ?!lMUq;)BuOl8gCz!}OM z52}gcZ@|J&5`@F8x~i|%JaY?JQ37L*CNTOKa>g8wf6!R;oI)9D==zjmEwrzDgVtrw z5gKz0`Nw<}Z}}vIwg7>KuIaSA_fM?7+bNuTDS=V5uv_bBUh+4Z-gpQ-Sb!%|j=y3O z{vng_51op)co?3N5rih3OtNVw9UI=F^@FGB*z}G}^!DZUf+z5zi8yU*7SX)w)folT zPM@a+$iax#jemnW_SclzGfkOzZif5sP1B71VF)vnp|A^hSAlS>0%TVZo~y2}Lz(CQ zr1#wmTws&hGMS*)D**lpxJD6Gy_II*N_8z)sEKSf@P0SH-&B6{k?J=k6oBIc48kt~ zQ-Jf;Gk;jQ97}uQzxE4+0XJ!#+rIUKiQ%!wQE=gJ@eiGZ5y(UH_&@G>C1XUlyie=O zm+9E_E{WPLI4w0qx33^DY$lUE=qN?#d{3GEjTxMN4fqiFoie2_R6zW8FG!=lFrsIviQsMZ zY*zxOD|7kZ0}nzW2D!<^yxj4}Q#kz$G;aotmxvOpT0!gbg|w}GlSJ)SgcSu%N7HpQ zUm>v_8>oHmHcG$r6GCH7B({4S#FJ>I2Mhxz;n1<^BRaOOKr@s=F>++3h3n#44tBg6 ztFD^Xm9JBqb05KBQ^}uoE_u^WCo=O~d}U+U`RG+dx4eg$Tii`)R0@b*a1A;(ETMJN z(#eI><{b|_@d<$-<)dke($92Z$pIWF=@L{LFm>*(A&$=hBb52~_k#>+bRDc0C?EH) zz=nf3R=Xl`W&-CaZMUR{aKmN=!1>BoO)9^2Anxz!YGV0e8j2(8K5U!BgYM+&7$W2R?KMCx%7Fs@9M9a$8$$9-TN>0C$@YvZD z&%1)1_kRz&tsOlW2G{LY8w%Zz-B3f@vR5i16OTL1@C9GU32;EYDXONhsf~DFZzpQJ-xaK=6+N z1}jte-2ph>A_e5571_0{8`C`%LRqB%`-Jih-89p-zcNAjo6CTg)82nl-QzRVME1cz zf-vCP_VJqOF*HrXiMC?ZRnfA15pAnpC%SDVZoC}~6V3FYd2<0F6_C@#Qqa5z4I1BB zfUl$y;ToU^aFcEqz;zd45RyR^DS&EdMgR~ruXuxw?Q0lv(al7TJe{^<-=X&TdogrB znqhPwve119CrbN<_lQ?-nH(B6X-q$FpiuX3i~^#r%&`%`$?Cy*l}WZX!*@|knhE=_p z_6_gTvTP9@n?E4g-h{3h82%udC%n(=5zYaCqg@8iuYA=NbM<8!7CnwMD3Hd@y& ztqcvDG^?K=OsIkPbcWATZ5#ihKp5{vTYjXd`%EE`|uD zqsrHdWjJnr+8`gO)GtGs;Hcj_P{c^el+K}d1qVX;ZkH-;^&JJ=>-qu2@#_ArP};7m zEAe;W3yOh$99TaPAT)$yPik8F@~G_(UX9&Ujpp%V20|F#h{T=K+v@oA5vPIX!xf^J zhJl8gh+~EeC_4IF!sCx3(NImIVK;4Sme9U=Il}Hh^Z1GG-cI8?|6=g}TtnHJKcfBj z-zL%Aj1kUPUEI1lvjU;{uv=Pb+qf*R=jl!|N*$G&Lv}1HV)z*jE)(_g#7pBD-nkcaVXrwsz9O8>ZR@Ld%BICcWMcJXeJ} zz79Nyj6J5vp1uI_Sl|f7^42SDtfhglRhhu2DJ5IF0tKJ1d0bE z3@Z<3}o546vO>Q6q^T&0uR)hjvX`0!(pg%sgp7yE(g?3x>xQ?m~Xoe40^B^1t;RuAw zq1}WB*U@QQ{x<7=eK9So-vuEsa|;;!KR;mXPadb_a~I+*9Y*WA7v|p4HKV--S*I~EfCQhnb{`80jBm{|1=Jb8sAn;S?r z*JFgj=)M4;<61V`AG@7Ia}y)J`zr>W^(~B0E?XY>Iq`-%JdvW#(1j)tcu2N&5U<&t zgDl(mEXV>y*4(C;(YkI1&>rP0-KYTbj`E=n_Gvezkrk(^@W6HbJnpr~Kz$o_OzfW_b6I`rb?E@ymxN-BuTZ4ciQRy(5*g!- zDGk~ie|bHfVWcyGqW*v|7swMr6ee0)NX9H&Vc^&T$6-J=S8e_Jz74|F(S5lXIfZDx zT+jnx1i=U*933a=qM0Eu{On%v7dGF00|J+l6TZagAKZ?=WEioUI$TG`wUMt5BwO2X zqS1mr4wQj3CljB*aqm#T8i@>%jLWc3hXTpplwbIOGN~pUfV9X#=A6E&d@L=)#PWn< zX&aHbqyJP|?LZ(uQH2$5P{+9f8Ri+NSf+){!nv{s?R=cNj`!$Wa`r++&|Rb$)jpe} zVZg+7!^x&bgwj6RfSIBiuInIN7u_&b;9c~2v>xa?0s)#IL4sXRKaSA6jQRf0DV{SA z-5X&29Y3Xg<4Sx*r3lx+O+vD@6+7PH@ly1$MC|+SyAR8YVbV@{G-cf#sMhjc4cyvEBgGm%Iw^h!7Tl*VpxBP%+Wks4Zyb*+gYzB z=`v&@`q9dK*O57sRySJbF~!3E8d=nPv?4MVAp_kF>VXy^lMCh|gW_RD!u$+)^8l2; zx6A$PEsOh*(z3U8nHUa3#swXv1#A0o+_#V+qcO-tjSuK$-fZduO4LIy5RO17ZJ}uc zL&~_xBxX)7zDNOyraGK>3{5xq#6*R9bhUy zF`$0yJILyUg$n!!k{V_9w)P{O@_+*TjI{SBDG)8De{E2n2Bsp@5i9x%LPPy+xUMw+ z3@0tKtlwbJaN=GaOMm{R4>yry>!1ICC%>4AFMfsm zBW5w^3+J)nu3wUDkAkDA(5)6w52PZO4j`zV#`n|Fg8t8jAOgnIw`i(wyZ{AYoXd8X2(oe}tO56MUqD9R#8dtpyj@!~NbTzcT&!$N_+cWe>V)U)8!ohsMh2Gb@Icjh&SKB~} zh0FupP9GQU`Qxx*+)-1*`dBOzz?-{ejtqnQhYjPr&6|5-bDO$Y1wD>~AC{L>ok;Na zhKBC$U!OxVDG=_Je`^gIx@_L-aBx1Mrs2jC=>9O}^UlHu1ZiEr9@o)87&3{w|1Kst zF0P%#8!5o>`A9T1$?O0u_GubVjUJ7yEUjn9jG;P_;M?2!Uoi5O z!a}}PT1vAm4S?^Imhy{TyLh#=^`L*Jo;I__(6pEtj^Nm`qqWR5>E~t(Y%57%@Gv41 z4kyvvg4Ns#n%Vzjs?ALb99vL)+{qkv-q+EBxgUI7D)Fc{vNmj^$sYM>9DXB(7q+&5pyL zhYx3vw`bSg)HI$LHEJIK0URM110XAeB zO*oVuKbI*t-bUR!|0dbij$^r?yXdBY5a3u2nr4tULH6aTdgAYFxcm3`i%ZZvL6TM+ zH>qI;!x;WRV^3yHRt}9^RbI~LBN5uWSxuR5~)@7U4pwVa%n$4>?iropypw7YkI8*H1a%gZSoGKB9}Rk5t2qu(H` z1$1ref+QJz8o}P4vyvG z#9drGcnXR!0)g6|riI5Je;muQcx;?K7&p@l_@vfg4Ni_>fii^<_((&l$78mC6VJKY>YsNK>6TSWDAI_ z9Af!eaWNMa71822v>lqY^!Agu>oPeQfCAOP6AIbl}a)>v{2)6!2UZ$FgwZahb!W>vZhg zNwT$-_U+rLTe=k2vIs6%z>&ZE9kU*K2qzk4*YnS_@&5a1S-&1nUS22YH4Wjq2*)8% zQ9({+Qmd4=9~Gm%0@zSbqKW zBwJeW=I6_EqygSdCeaOp+%aSDm6dI0VEUnCr58-&6=h{T5gpTzSw8O|6SvnQ6AkV| zrnZF?2#b)lkbyKF#z4kyKR{+1O;noHRoi+s*_w3rVofbUkS;!C`kanzKQbJdV310- zHSD?vRRdhwT(P;|;E6wRJZ(e&x~ii^=b z9)xWZ-L;F&k32%vKmUp0^Wj9JL?%w8bnaZ-WRlv&i%GV&V&>*{9yk3*#^ZP*5elYG zZ881+_j+sQJoC&m%$qllmtJ})i>N-zsgVdjEHCeoX#_?qfW1g(Q>6xE4^c0jSu95& zYXeJ>@!eGV+cU`Yys!fCX>=A}HzLcJZbK%i{~DRd{d|{en21bids9sU-$3Tnreeuq zrKP`)EdM$N*#xRWeQqLialcE?HH+PXPypKlg9m?DG=2KS#+55^ZM)wlsiw4H%er;! ze*SqPK{-Qz*`cs}lTx-PD5 z6B;&*!Xu8@g3NEs$|ocz=H_xkMa2QBekIMwT-d{rRV~fx{jNEfMM^{7pnOH20$PjG zSO#(dn>EOU^l}BHpCL1WmLhYdFX#e79XJWuD&$S2&BiH>cqKBO&8NVYBJ;|XhQ1zI z0Ww*E_!sJ&b$taPKuq`h-zYx%=&w{QSm1M_QOtgtq;@ol5eP8mJKtf{C70lhL`b%@ zAcP<|crc-%Lm6_$8Hki~u4%Gyuwft^huX!9+5Y5{w60x?9gCrRJQU5G$@r_TB2Zq= z*ekA}aMmpHCrlu8*kL4^n^}MN-88RSg&7Kc9DtgJV_E2?Ny*Hagoh7b!2qqSlNFd8 z403m6<;TF*2gY#;a#^%g8^{}x`Kn!wF-@6~8=AK10trhd^nm)L1FP#I|YK zxRH(b-_OoxpT$iiFnm5VO+yGl%cf0Ob#)x|r$6BwTU+HaU9n#TPm0q?35%l~=N;8+d6_+R9Yy=vm0* z@B5KGUXoovmV+!VPHBi_m*<&20CMSEM>2`*4f74;dJ?y)eWoLm*B@5ew>S+aVWp*0 z%Yj9^Tu(Zdg6!XVq|YD(s55hNo*jDDS##=_E|rxKfk5v=3a*RY(LvdXCo=r}^D+E> zTGp&#_02ca@c#RlIXSGp1k1~5TCsxag$t=(xDczM0W%zyK4u0j=q3_qKXK{K;7=+oceXNL|Bu=)Wqxi| zn)g%%LO-(P%0p+T?UXP1MPzxErNCSV`~+F|*rCkPQ`G)5)&BG8Wra<5AdKrC&(q~6 zoNz(m^yyP--h30o=j&ZK*)GMb|O6jy~O-cpR|{mAB3Tj*@Ut1G6oLH+Gd(}F^oh-2wo?(HQ7wl~#2 zd(>yQAUmsVLDo7hK^8Tq&;1Dn#<&7^Q<@g+P}=odYTK-Q!n^3@T8TZi8`$m5&wpgZ z#TVbz@ZpCzmep%*=)__aOq)i*^y%^{w{4?#@nW1r0#9BZ!gXc)!e9{6kC_g}p4O8{ zBxwBL129d@+}zIMdbe-~(Pp0J9WB<*;EfSiQbV}3j=e}XX1`2>(Tg1onx-6|&QSDteYc6+-7&w(Nnwk?T|*|Q0&+`fk8 z%W2!P1;gW!fJuR+EBJZ>QWsE}d3l(jkgQzlPWz><$#Jmbaq`BGXW04YZ_!QjPaNc$ za#@iw+~?zu!-o$P0LLqKvFrMKtC6iaQVqEr1r$G-yAq`O!ER7yV-B*VMJR*m`?NAu zf2;ueN`{DmN%!ke`qc67Kz6YE8L~TpHV_~LsPp9I-8}M}-)xCYnnbd>S^8TCFh#vZ zMdVMMxbN+j)vHN1H)Hty16NId0O0MXnJo)%em)~EzBnG4FkwFXuddT)S+r;obLPy+ zB5>g48_32^I)_{4!H%zxD%=A9={)=PMQKd1sf;qsZk70?1AWFDT8}70^Ak zF|id0L%`3K_Pt$c-vI%k02YTwjQH(@Yp%fzhe>vHWXy8eXZ9tNRhSUROfP!GLH-B>=5TFzi{-y`h@#t3r*J_ET22~h;dh3an{NkZ$#I1^k7ita&{p< zgyWDid^kCW$(9n)UAu@?S4(p<6KnYi0#G;(PCQQe2`4b_s;f4mX*bgUj?h{82{H2$}YEG_uK5Ju<6lC7sQs-c?#KhtAcpG&hJ)`n)991{2`pxf>3 zQG z%Jf~Ak1q_{Z=bNMEcO)@eS5++*K8W~&2N%yZN-VjK-bZf|78Y)_=`HbfXD0WacmpS z>pdiNk46Wda*8xZLm_;{GVe9EcQ00B zqfDm$q)g9P3|9r>r`>+LJ@psASmX(ZzoeY)tYqasUJe!=b-<4!6DKY`@}7HsQaFA3 z1ScLhOutNci0#}-ytWoiRY@GQIjW8!Y#S$;1R?O3mNMjwGsNgiF4++nH0ZC$l9l%C zqs_{H3kX3nNb^16@Y`cAzx*;M9>2h~tf2@&>y|CF@7RGzCNX_JsS&%htM3+U`>8yE zn@r*+lQJ#N;~}S_g5qP36_sb7U0*n3#_NiFc{lq=v+~~v!jx14*BO5QeBI;unww0X zk~@0z@QTw;Gn-bf#Hy>qZj%cF>0U3oY3^G?B7OBIp^~?S5D3S?O(YPmi{bU+D<~j5 zW(>tMXHtH`3A+oXO?wBKRlfib*~gic|8@|jWVvP--`5OdeA(Q&rxnedc}&Z?bu*e) zt}Jg}vxfGqTZz}yU^O&g$6|?Vc{z%s0$7nw9{W!w!;htmm{+fK4Slpl&oYW3&I0P zGpaySH_c$6yu36}US5f8BR3e?LO^DAciN>5$aZqukqNfd$O6f%$(fZb2oF-CbSAsj zD*%=PJ~S