From e2707856d82af91912993749f2e901b1bc7205d8 Mon Sep 17 00:00:00 2001 From: mg Date: Sat, 23 Oct 2021 17:47:57 +0200 Subject: [PATCH] service: minio (#232) Co-authored-by: Michael Grote Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/232 Co-authored-by: mg Co-committed-by: mg --- group_vars/all.yml | 1 + group_vars/minio.yml | 47 ++++++++++++++ host_vars/pve2.grote.lan.yml | 16 +++++ inventory | 6 ++ keepass_db.kdbx | Bin 47742 -> 48222 bytes playbooks/3_service/minio.yml | 4 ++ roles/mgrote.minio/README.md | 12 ++++ roles/mgrote.minio/defaults/main.yml | 20 ++++++ roles/mgrote.minio/handlers/main.yml | 6 ++ roles/mgrote.minio/tasks/main.yml | 61 ++++++++++++++++++ roles/mgrote.minio/templates/default.j2 | 7 ++ roles/mgrote.minio/templates/minio.service.j2 | 36 +++++++++++ roles/mgrote.ssh/templates/ubuntu.j2 | 3 +- 13 files changed, 217 insertions(+), 2 deletions(-) create mode 100644 group_vars/minio.yml create mode 100644 playbooks/3_service/minio.yml create mode 100644 roles/mgrote.minio/README.md create mode 100644 roles/mgrote.minio/defaults/main.yml create mode 100644 roles/mgrote.minio/handlers/main.yml create mode 100644 roles/mgrote.minio/tasks/main.yml create mode 100644 roles/mgrote.minio/templates/default.j2 create mode 100644 roles/mgrote.minio/templates/minio.service.j2 diff --git a/group_vars/all.yml b/group_vars/all.yml index 4ac7f63a..063ab97b 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -140,6 +140,7 @@ - physical - tor - gitea + - minio - laptop - vmtest - username: munin diff --git a/group_vars/minio.yml b/group_vars/minio.yml new file mode 100644 index 00000000..7baeef27 --- /dev/null +++ b/group_vars/minio.yml @@ -0,0 +1,47 @@ +--- + ### oefenweb.ufw + ufw_rules: + - rule: allow + to_port: 22 + protocol: tcp + comment: 'ssh' + from_ip: 192.168.2.0/24 + - rule: allow + to_port: 4949 + protocol: tcp + comment: 'munin' + from_ip: 192.168.2.144/24 + - rule: allow + to_port: "{{ minio_port }}" + protocol: tcp + comment: 'minio' + from_ip: 192.168.2.0/24 + - rule: allow + to_port: "{{ minio_console_port }}" + protocol: tcp + comment: 'minio-mgmt' + from_ip: 192.168.2.0/24 + + ### mgrote.minio + minio_download_url: https://dl.min.io/server/minio/release/linux-amd64/minio + + minio_bin_path: /usr/local/bin + minio_volumes_base_dir: /bm/s3/ + minio_config_dir: /etc/minio + + minio_fqdn: "" # leer, damit wird an alle ips gebunden + minio_port: 9001 # Port für Request + minio_console_port: 34081 # Port für Mgmt + + minio_root_user: mg_minio_root + minio_root_password: "{{ lookup('keepass', 'minio_root_password', 'password') }}" + + minio_user: minio-user + minio_group: minio-user + + minio_server_url: "" # leer, wie "nicht gesetzt" + minio_browser_redirect_url: "" # leer, wie "nicht gesetzt" + + # Aufruf: + # intern: minio1.grote.lan:9000 + # extern: s3.mgrote.net diff --git a/host_vars/pve2.grote.lan.yml b/host_vars/pve2.grote.lan.yml index 2b06949f..40c5899b 100644 --- a/host_vars/pve2.grote.lan.yml +++ b/host_vars/pve2.grote.lan.yml @@ -182,6 +182,14 @@ dnodesize: auto atime: on snapdir: hidden + - dataset: hdd_data_raidz/s3 + state: present + compression: zstd + sync: disabled + xattr: sa + dnodesize: auto + atime: on + snapdir: hidden zfs_extra_arc_max_size: "8589934592" # 8GB in Bytes zfs_extra_zfs_pools: - name: "rpool" @@ -257,6 +265,10 @@ recursive: 'no' snapshots: true template: '14tage' + - path: hdd_data_raidz/s3 + recursive: 'no' + snapshots: true + template: '3tage' sanoid_templates: - name: '31tage' @@ -369,3 +381,7 @@ mp_nr: 15 mp_path_host: /hdd_data_raidz/programme mp_path_guest: /shares_programme + - vmid: 116 + mp_nr: 1 + mp_path_host: /hdd_data_raidz/s3 + mp_path_guest: /bm/s3 diff --git a/inventory b/inventory index 8bb75a27..8da81d57 100644 --- a/inventory +++ b/inventory @@ -4,6 +4,10 @@ all: hosts: dokuwiki2.grote.lan: dokuwiki-test.grote.lan: + minio: + hosts: + minio1.grote.lan: + minio-test.grote.lan: tor: hosts: tor1-test.grote.lan: @@ -70,6 +74,7 @@ all: docker3.grote.lan: docker4.grote.lan: tor1.mgrote.net: + minio1.grote.lan: test: hosts: dokuwiki-test.grote.lan: @@ -83,3 +88,4 @@ all: ntp-server-test.grote.lan: fileserver2-test.grote.lan: tor1-test.grote.lan: + minio-test.grote.lan: diff --git a/keepass_db.kdbx b/keepass_db.kdbx index 20eb0ba2761af07fb11b85a5739c60d1893d31ae..27d4f2861fb737fc8e80d291e34461d4299df2d4 100644 GIT binary patch literal 48222 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 literal 47742 zcmV(qK<~c;*`k_f`%AR}00RI55CAd3^5(yBLr}h01tDtuTK@wC0096100bZaAmb_1 zwn~pBlFBoh-bstp&JefIpdAc)^|+{Jv}MNy1t0)X^U;gb%-BG@-ZRr*XHVd`-X3>* z>WS2st_dTIca?g$_Nz*uocFUlx~ zAQo*7K|(pFQPB1*VH(T#qvWZSpI^#m2_OKRN%=x;POL!Q;5<&*@>Ba?mfIjBy|xj4 z_eflRs?bXc1ONg60000401XNa3NF`3T1u|UBvD6TmQwjWMJ4yf_Z7d)Y240pnaQl5 zn6oMDn1!tX6v~A$zQ3;^^Bl{7WsB}H)TsXFqr(i={)a$FNL#*d7W@L>C@&ORO$nNV z)*u?13+^ZMU+^7@O8|nI*u~0xtK@NJuxZicSwy*YsU1*EuT-K3AAEj8Qk;xE-JAiZ z{)E8umQZ)}2>SG4iDT5jcLUJzK^-lva&o1vsnniSEZ3{NF_3_QKpQM{nSnih!tkK@ zVQ4a-QSKSOuP>@)LZe~amGr1?RDkJ?y2d+u^CB25x57rWuSw@Yu2i>g0ZOzM)&wJ2 z77I0ytECIt7~pI0mvwkrVtX2P2Il;8u`kKUsuesHaj;r}{xVi6NCe+36PfZPumOk? zR7U&!?LT!H)IpVVCe$kcWAg2g+<;>z+l>fqYRf=HBZmwsjO(MEzdvy}0K5%Py8|d3S)`pRqVeh5qjW0T;uwtsq~up{3{JC|71sgk{V%u! zwnlo0rV-Vtp&H~M6n207Gwon#QW2fX0H9+OPnTrA>8HoVa_f(`A^>RZ_*e0crB42m z4sL6%`)a&-6uIwe?eAlIA|msFP>o?e4H90DFiy-vnUOcwhm3u_QE~@-6U~--xvNpD zAL>MU+9JmTCIK z%MqS-=|i1cWL=$4rzmi*_0zW~Fc~#sfLb~vKctwiMpPHg5)tyf9)t=DElJCp!w!@t zz`}sUAZ``g&7F*&fEfPeWP!3+pBDo|N6!1Kft)~H#3VozaedC>O|#8b(B1hmie+y6 z^dJPvm+&3mLfKd~N#1&{3?#+*YLB0YD*=iNp6CN5|C3k%ajxhKrXmY96}^Tpm=afo z@^|0hbTu4(Rp;k&OiTrs1`-vI@YK5i_WvQ|+V>=t;DapRG}{$nXDk>=Mxhbb9!R(7 z!13T#B3NanN3sJJ9nchaP;3eLydxj9+dS_D@7tIyOH(Td4?VAxegPyOdxPVAZ=B-H zi&kmbZw)vgkP<`AH7Af6K^DD4ubQ}K``rsERY4Wg5wiwW6`s*x;pBbGr(%4umuPo5W-0;ObVqf$0qVq0<5_q^+XM zBTe_7q@$YlGGJnLaEpyye0DSO;2YR27(U=FsUDpJ8lKGzg}HdsCmNk4;ISCZ{3r{7 zCTRf(I&kp&px((;V2(eqP7_Z}MhI=7QWlb@L_H&mZW#G?hd5!VCkZFrmmqv;2|#$vA{eMF$M`xe_wAtpH7VOqq!4O_^r@VJx*xkDos}6-_dM+IPiPX zh@At;H%neoiDYfJk0#_R(N6ow&lyRH(gqFiNzxsuN*<;~EUsO|mr0@hSA@$s0d zR0)F-g-?)6=K$gQrtHn%6SGl$v9(h91M&l+=Xd&7aBZN0t~<-KcGPFwThu+z27`wB z{h_kM(Mpi(y2wu&u(|Y`{l`k~;R!v)@dfY6_Eio!48B4BEr;5GIrY?Kw^ccYn{J{w zEYiv-))~{ppk7EuMEHwSlmQ0hRrrsXPkeh)F*}Tr(uMvpuM9H>6xrha7k!KIVkqSa~ zfM?E@)Z#5wNkPq6MD_Q9rRi-}c-Vp0piLap)sxQt#F4=XAyCFh*Mu$kW&P+D-yb4S z_7Y}Kc+x7~eyS99S()z>C_?vw6dEy>u(E8{#_pB+ zeZPyV9nAu%!h2dt15Srk(i!Sd=1^3*@#l z5i|sJp9C$w;=@1eAc@J}GOpXat8IiJO+A8(WW+RrIFT7US3!!jZRJ-1sbX4s9YAWs z1ncv&Ln1lP#kWJBn!IBva7K4H;oX0Jzi+Qs`>bX7*He{ye1jx5N6G)zCC#ujGrSaCK znIf!zy-3vO71LTUe1XzUFK8(sGc7gDU?yj{B^7&s?ZmKU+g;AU2vq>{W>VpoOuyLYytVLN7baF~nkl9|Yb<}%{9`#y*vzk*X(^7LVh7(8xw(9?oQv0 zu4pmXX7XY@AdXPFDkea9}>cKzB>IyGuW^*fGnSRP)B4 zB7dO+G@)d|*5}q3BZ98_+O?!By!SUH`okS?n=VqgR6OX49`%R(QNfL-&PZ? z66pV71%yk#t7Yfzu&?TpLS4h<;X+bH@HIZN$xu2!$23>&*5q~0_=i+e4LXJ~M0=o> z%o})kj%_B+2FVVJZ$F@mbf(T+Sg*)N>!1^849b&FgF9re39u5}3M$jO+7A!JJ00bG z?Y;?4CuMKPTOe?$4WPI4W>$1RNJZ10KQEY$N=(}0Jah*=Y?)^Mq?*Bd?n+HZ&$XxI zGdljwTQ(Qj^7AfkpQl7eH3He^uhUmBZ_a~$g{{}s+X3-F^>ag=terKnTgR15$9<Pi(2!yWILtAWv_T&{WwFU_7-0SA^QH+=W{H8I14U>}F>eF zrKJS;+@oj~PyiCYEBQ-lNE}~UXNVTS<1|ddAIdWq&8Vb1KDGsR&wqs#WQ=SfU@uKk z5S;sJn^k4DxKomBks5~HVax_rrUiqOQ7V+UNCB$r>Ryry$q_6s9hI^K1CKlB>M_qN-l4q z&j9fm-Z$;wSSw_(+WJZg>GNs(DmYhKFK88+lG$#6%cYqc#Uy{I8 z&6Iqb_X+^QB%u>y&T@Gsj@&g#>-D}G*x^tn&3Wq}e>SA@=SpS>Z&znPZ_1r$ep2ps4m0Bw-va5K(yaSZ3sU}2a81Qqs#keo&r~zp60W~Uuc}B zGEZ*zi4JsMW->q8#t1UF>n@J;!}kk;og29H$VdNCN8!1~&FFDqQA(d0&hi+ZRnY6G9msjruKss?*HgH?!mD_g3wLKb#G_W}CNz=OhIt9$fULhf zTPe+f8aqg;_@*gxdsjX1M<-lEly>-V_$so`5$uVzyBObeYxx2xL*hvsMVqopXml?C zsMa3}>SH^g-`6+XeL|{TEHva#ju+^WJ@ox6KOSaNvwHt>k&foKlOy*y-*>kt$Dq3o6(HjEyh{J3B$<} z7-^(7<%Fc6lnQ}n`GnK-aIU7cN9+jYDEOlGC_-dhTRRsS#3+K|rW$Zv9MfnDBD2hu zooQgjJ=>SEXOkdo5SCw+A>oo4AGkr*2K52S8&c)gbeM@~l|iISCcCm=UjSIhpAJ0<-GR%HK8|bZ|7av)=@Pi*}*hd|o;8w#ixH zD`dtZQ%8JrPUVdFb|(~bj0+v+6K2$0zJV0tDs+FsVuH?=!fHDIpz)Zi+^?US3m%EJ zRwd-395~wY9rfI9C6W+nOC-e{58D}hBJW8KT$;Y5wf9MGEuh8z8tQiIII{jiQd`7n zfRNM;XJdT~g>6l~8$zJ3&}P-_q-F5)o5mk`!gAG*t0$k6`dt+LliHR{QR0$lAX{4p z(lzW0?p(QY(7o}lY!^dzrVtTo#A6+V|287@W3y@HZu$>u0eO>U*on*&_};b)tpe<` zPkBG?&JMyapzZiI4Jg0BQ2tEfvF@Tz53}|&@HFkyXu!s;9;G}bcMFxbbvszIWrKt{ z6x?{oe^P+iy$6@Yho+BBUTg1k!u)(Sj-XYSWWgR?w zsRWBUt;kR^7a8q6>U-j=4EI(!P({fsYf*QecrjtbPWT+pCi#uWkxqQI{t?iIU2 zVfmURc;E9E(Sq7o~^8tLCEfLQy}u+IXyF!!E#QLTqE?cjQ>-MI5hiD6e41o?)&8shc35 ze3?9Dj$I z0vz@ROZ_2)qIm}3b|3-JxonH)chNBW8Jgh}^CtG@SKjvlfS>+g3AL*cC%$ouBnO`#SM1O)l7bqxf2-K8xH>3Xk7%u7Nw0yFyYH7f5IS24dX~nHk+&pVMBX1 z4B&=aT^fCbql8_&Urk%}s<&j(QxghWv~yRs&cTnilB_A?!Rl}>IT=?Nm@@s;H21BC zZG!SM)|$83FHq6tnU}a*Yal36p)m^!p}S%d-A}7ncXdvLv7J?S{1*3x!%!tla!uS_w z4g574*~K;yW2WENeoPI^y{*@&dF&8sZ(<(hh>bD z?QfLC&XF@h`Xl0vFPh;*BkNT1I|3VcukV=g7AsH@nzrscBWpwbT5^=~T^hdzXVL8a zPr4HAo>N;*E#Y!ndDG|BH9O$EsH*6*EX1qGF#VUl`njyKCH5YVyKvJ1t%mH;?ztqi zxt@j7Ymm$F|8p;{)zD~5hJCtu8qGKFyzJ5QbKGES&eyRn7$cW#XvCOTmcTw@ZvJj0 ztWeTY>_W5)!nT7#QtT$3YOR{6`t4dl&E33VH0#vHTH4*HiiRss=Kjr6e-gRIfJg#6!qTMhSTcW={N{#E+bnxOW|fEu(&x=t5mE-sZA&FpZRTvma-ASPw}CL2rZ7 z#ztAmorTQ^_rIrjO{0w%hboEn8SsX<_}A8rU;4AQY56+ZGjp$+(in3V#jPf2jofDm3RX3p)0F4I@RPRzo?oiTO97@d zpG=Z{A8l5Bu}6R|Xv$WlwTeeimX{t9h|Q)&(JFHKkS;A|M9Sl7zbtO{GAN+~%D@Lu zq6Wx9_Y4@CkwfuhI_p4h-*eYXn^WgWwA9tu#R-ZXAW-qdX#w@QY#b{gwEYDeJp7&+ zqR6vSO}4v1zIyF;4nmpKGlhSwG{Fq3J8c_kQy_ZfVP-2Ao8YTaI5(bR<>MT@3T0Gt zFntFz6TM5o5mKs^9)ZNIP0eOwKT)3R4EfwG+1%7LWX8S%KWq_0(2qpY&T1oykDCOV zkn$mr*;MX8P^qFX!gCG7G;xR+-ho7ZZI`m!VxSq+L)1=oR^Mf3?x{NcaS^=%V&c@O!_okK zJ5I^BWLLNDwh6M<%tywzWX}5@a#J{ia%&wq|HlrNu50nX{b2 zbh*q|xw8Xyg`mu zvS*hEFlS;iU6 zmS3vWPON542zXOLt>}qPgLuFZgTWoB?yfmFK+&DjH7pS(7!DtW>m|#KehZ*v1xl`4 z$|5N=NcV`n+Upp5Q);qB8Y;i(mJA<<_UNU zPZrjkG7FfYlmMv1caLn=zGen#Ie-)fmNnFS$XiU1es^!gTF@5UD|4SG{2)zlTL?wh zzm71(yz6(dPE-?<9aV6)arivSRXkcFRYJRb_myN>f~)AktO5*7e~)N`>LmC$jYSBb zG^zS{-|UOMe)=tpXQr9X-A4)&1))#L)b!CoM*3d^+PMf+cOc|sgLJ|P3K@=(l5xOC*Ggi{7U2)cQ#vvYdztv^NX%1Pe1;ZgD?FQF`h(1w)ZStcYB{G(1TZ>A1zVlXqL9}qfXr;oIeMaBN*(J8+$+0-8+3T&Ft~8 z7PnSii^41l)E}DgtuVL7DSYUc!Q0_f1Jwf;8AA)Vlg+Y$m%P!6JghY!2mN59Gj$#F zKw+QnSpsiRnT5HYu|SbSwTU(0&G)vp9z*cGKHf;dQMRIGeB0Dn>l7M3kKR63!)ka=a0ai&3c)AR45=BbJ|LpqJF?@DQaP z+D82@|6RV{u|fw*js%d+azX={?j+PHG+}0B=16p)-j-)Dp%B*n7P(j)WWoNGgiEhQ zucVCTt`M+LQH;M%p5J|X-;e&rbEr+8IXZ!hf+!$RG_lYiTR{enVvWt%w&mx|tP+ja zNhviN+LRq8{ZKB6hefQM$$7+>nE%v2jQ5BL9VUPnQ&48q)^di!E$b4Cn}sY;N;Y*0 zZkwP7l;mv{ay0wGunzl~lMXuQa~PX-aT2Ak>fbPb;;ZzGc$f&Zw`S36goIQx_E(XqhK>4^z#wwtA}%%Am4X+g5x@6M8dw#>umqHrxf+?J4#}%@ngt_is0Fev zwgNjpe7Hho<$)!-UR$#}h7aKvUgD&WE!&pzgiD|L#0y>Nswlq^AeTL#X{63#(0FWI zBXFTh7YnaGv=XuvX(`aSwp5WMb_T(S67P8L{=$9Q9RIVnH1kBeKs2aWZj|vk{OL2? zW<92bx*s;=mXFU!jRVw0qZXZH1Z>JF90n!-1d$i*yQfgRWB4)4c(jTsC7g#^c`fYI z_7rz>Y;R**(vt#nOl}(ex-i-P$@>*hth0NytTQY~dewZkl;k;lV8#p?HJkaeI;l9M zQ?#7%sg`-l=qWA6UL14OA=_>Ybevn-R$pm*-u7*qz2FCz)(Gu*?)vbftAo2o#t z^8>wq=64gw*P-$=WloI|Pi{#KzuQDAnKeJ?3{eDReOpmyg&94e8E)Zt06l(F3{HCH z@uaCSamFY!&++`NH%+F!vUUsWTLBQ6vOc6Y*#=4MZzzBt`gubJ&(%qN(|C;9XQM{r zO_;`FI$Tu^X(v1ZL&888rk`jD$z*bhFSq56MlY(9CjnaLxRn-nR+_XQ%w9?IU8oIk zxlWZUkWh?da6Bh6#>53yB*Fw54p9N0zDM8Gzanu_27SOnSUDwGG^m9ywsU|wPT8(F z3@Gn8!_hDBxjRjaOnNq?xXw~mn@5@qtiC##voY8jRxF6$MiTJFM+T&23muV^OPADk zFyb6l@0)USNp>gP?Y_jyq}oddGvn_Z;h<2w#k?-!ekJcO^%&-SD@= zM{}lBOZ_^w$dg!_nb%+w8mKc)X}jJ~Wa^Dr9}%eth!SK#FFk7V5k8|$W6D5t`qb#}9S$XZadkc#=37^mZFn%W7n zz=pz*FvpB8O>gf+d28(N&U(>0yBX%x7175#Z*M!56&w&Ugwu|UZxx{~r(wh!0&dPDE@o_S}-1fiH=(Hzl#I z3U`^FdlI1Z%rAn9ZWi0>WH~j{EcIquEULv>7@vVP@;N9b(U{Cme(08DxEkol;ZOdY?ob~5d~?=W!UgjG1j<`@*MbCj>~ zU!!BM@hHp{sgbz?bE-E-Sm9x~oWzw2>}nNIJ>wt_=mPWYh)j~7{|TAAaAo|v=|w?X z8fllKkpqaW^BAP>!CHAY*A=0RxRn*vMhxx07=^n`IxZcI*hCj^@lUC>UrW>}?xq=x z4?pOOPvD`qPq_p=Ln5~hNr=a9-P9Q3H!~Eo`0X{`n%jZ&8R~`!E_sv@*G6We4h+t* zGBzvlvkjpG;0{WuK$(U6>IyF@$Yg7gvnQ}a03v&(TA1gL+p75}w2Xo>UPA`_b-VVc z9b_43%+@O6EjblFRExIulH-uw;%wt#KtqhQ&0CIkphAzlU7?!U;clU+Ob((P0bBR7 z*jG1xae^wMP=D7;Q>nC9UK9u1@&eUh_+gFCjnUEd;J{SE^v~`=I#DShhsyPcv2gAO zyk_h2Wn-pR)Vj+E<^~r%Rq)%KGd&1gRnngDc_Jwj`GEu>1gT^CKyk=x#JNIPJs!q2 zlZ}$HQw@uRC*fy6pRf#cftEYS8sMpX5Qh8I zE61+5Sgh_@IwJWbh@qdxxZJcW;$k!eqPTUSLy|BFsQ5~kDDex7u002@zm97-*aZ|^VRsoP#V5Z1`7I-r(2^-3#TZS^G3mB|bhs<_C z3tGOFL*4GQa_@&*-w4hcD7DVqlnu~-H`yXmr!n@l5&vCe0VKq;sP_jUdI!DtgQ4nI zDv7}yuiKYhn&~6BRbat>Ga}{4cF1&r%WmMJUUVdP-jd0wP2Kuuzfvj_bwYF8`P>?z zR(}j*Iv$Hq?RweJQHklxYdy#oj>6}8{(x_f^gh~_;Ul4KPKqkDyss^c;9Ju;T&_3# zbjX_rm{8E;6ulXY3n8oz2Psi52NFC~xwl1jL1x*TkgKCLNcdB2QE&2CF&Z#?8F!gg zmF>6}1X#w{TIX>$+(mRd^LBA`bOTG=y7YTYPy5cRoiV9rR00_GAV0^dpy;eTN2Tb{ zTXhtwo2tLmg){E@9!K9{KuZseHMPRL=qqy{Ulm2x318TM!4tdMC4@`z@oqt}IuklU zp|O<;_A@Z!=R@Lw!&A^I_g5q3U+S@aH1qoIPe2Q#;U-=?7vD4~T_ z@yf`p2EB2;pepNF5m8X3ZuoWq_8(^1A#AiJ>@S~Vd%tPx7@eLLL8w!Ep|T04st0=X z2Z>98smwRVFVn)yO^f&WcPEfXDtGTK`k>u9#&q1Ls$%B%nE3AvX3IjVDr?fb04jpF}K3rxq z_*JShrlqnq%yNjH1<1c|g;aZsNlOb?m{UKy5B(1QosVPa=AOK$I~QHa7Z@~WUm4l= zrPopsF@?G4j2NNuGk9mgS7+~I$LsG6j;RV}^*YKJ#}yDAySsdLn=wY<;?}H;8)r19MzyzZoo}SUIBl<@tTN!}Z~+;531W#!}_d;^qzDhr@=@h7@5c z2ljeWxb%C(sp5+m=x%>{;JG-yO0VXl8~kgibH`+2+A2 zsf)ALbH!ch9$?Y^U&@HAM=>M*C(?PydU7%&Zi87!jy#$ZQR-pde_B`FlY{Wt`nYMe zQFqqd=Z1lw4QQs=68i%HN%;j+)K-6TQnQOB4qPFtk$2v*OK&^q;S_ctVnKMUr4_@> zPDot8F-V=+2h9DD3#i7%2{6jQrN#>VN(4?}Sw@Qrl$F`<{IvH22AP*|e>)V{0}ohK zVNx!;lC)nYfq|~`QY9j3R|A_F`j&C>sav@tuV_kI^LlOCgb88`H`?1eM|Hv#lFJ35 zBXal*sUxGOgZ@AKTIFKi!zm9W=caDIj0e5}rZLqzAa{T(0^n?R2gQNbNHP8dQlBPT z0_S>cNLFbr>*jj86OcfeDY+#YR|Kt4;=ilcfiA{)F>M>@2R*W13YAvr-k(6$3K>^A zoh%U}?FZg`YY^&~ivqhHX?X(AH&Nx0U}Lf$edu;gUH0&>5O_215XBdgGftM!?u+hl z1-m=#HtibRUVN2C0kAjQMxg=nM1%+PcPL28oX@ngW~t-HJG#Nju_00vanbluo{UwcM$U8nbo#3?tM+Nra&K%cw(*9q3W5E5c|>I8X*>10f>f z#x0rvcI%p)Pu`x1@7#-! z2EBH352&%kPRG`?B8v!Fj%#W;1ar!?W&x>F3bA?QGY}a?;eVv%vK4sG3H~nnrQVqu z>>rJs!o5Qfw%&RDeVU)z-+Dpg#9r&t(4Y;&AuiM7RQg?!#3pq6Y4>$PK*%;iqm7ydho{pe}E#2Z0jTvE9Aw?i0o)s z(?Psta6cba1+F@298}Z|TS&1JKg?7Hlm0JO{0=C+?0?`NwKiL`L-g%xjMPA)O`$L7 z+{N)6?*R~L?+T}y*U8C4-kCE+SwJcMwO;U1eF+dpc@F7B6q59XeSBAa`*V!5J+iEhHutM>YIPihv8a*3UET}K+~1=~SUgXcaXa#Ete))`Lh&1mowKJ0x0 zDIX}xn|r<}bBJ_pj1#{dt4RH%g2F6w7#lNwy$P*b+^V9I8bH!QN=5Vm&`@`3bzK>uyEqIRYFA?=5^G17(WQlVhYNI zNdF)0lus{6+FXWx7O+oBzfbgqk@l|(Lbq59s|b!(kc*CAIdHR zq5+yeWT;galPWz8i!`$U`4am+yib+VP>Tk`;rupi-SZ^n#SJGNHY?niA3AF?Ajq$M z{a9+`7mD;qVapUN8=mBn5d+h=Ot)>}8f5R%tpsgJv_Yo7Q&S~`=>}i1Krl-gVmS+G z}$^t@_&fM zOc@l5#W%}R9Vw-u)U@Nyh2-T2S;pJw5rR3=C-4!tpF3}rNdFq|QV=!*MPiwWh9uvt z99=8E)D+e~v)vp>T=Hm$`b>iAS7&44HjJu z|2VeWe?Eo!{8-xJhTHa$0u&K?a$Up=9wLcE%bpsRvH~LXtXPb&uBaksQv$3C4gLLC z#(mt`j5m?Q#gYcvQHAb$bl|MdzyXXZ=RGVE;xUJsAI5s1fE3Y01x(S51dV^7)4Q|0 zIR2h8&yW!~ylihNO>+!uhGPuzl&;6&F;(ICSTZNcIM%>i%0e;~_XnL)0C$LO2q~H#V=u!-?zKn+|J==DAiwznL)cH0?|7kSqO&!NJCTx=XH2lET?R57U zUe<$HDBw&gx|ZjR@1)@Pz%kjF3$yOvVF};N9gfo(9!)bB(S^WYR7(3^RU%Zt*KXX`FcZO1;9k1v5!)xr%~Ao_3V0+Ua0U?98sLN8moI=2nL=u zzx=d8yCAw@`A!5lb4z3qaFj9NBDaLjx&YUPf>!T1JF1{#;A;~V0P7YMezl+H;2jL5 zYyo<3qKu!f=p;CS=)g5Kkc$pPZ{Z*MV2HzFnv)i|y{_m3Xpn7nd>E{N8sY}eC35Ef z-!8zuLx(}lzz${I0FPEz#X)sC)0)5sJ!pwabM$Iky2}U7{z3XXz;{2kC&#z5m@Kw5_d*tcpmf3YM{Yiw9njqVq~JeK>8Vxp9~ zG$pX@)uYOyvxhiKy0BYh&+pcpq}ZwJm*68Cb!ubf00FR)jFd{#Bf9|Idv2D!>-p3(HvDC;>rqAx|Eys^Gqh+P6D#~u@NyD!bQ-(3jcAM_wlEuszuLo z9A9b4Tqt_+qbypZLIQ4)BU>61<_85!znZTOXQgnj{`=(P=lCrGckRg-Rja8?p7}a7 zJ!6kV#KbiF(JfJ~nVdhFMp11;-YzK zO3#PQ3Dp!NuXLAd^Rrb{Wm{V61bVu*iX#uH=%D(*Z|e)4;uE{(Mdgn12x2A^9I+J- zb=?v}^u-#3bL(BB;LO&t3HuzlY(?VO_1cIzJ0TBE)d!?(F~+)o33IMCZn-|wo&&ti zG%*5v-qqm4aF4b3vAZ(m-E^y`vso9ESs&;gK0(8;^nSu#r!^U7-JBY9+(F_B7$W^V zvfA(8)L99j#@b(B`_!v`aX$A}MVGmwQqKZA?!_x#CZRs`Ld^LPVonbY|KDAUzCZnA z#8k@W|Hu#%gVgUu5(R>gy;_UAT+KdCCzYJ8`@E6picKM(9?;kgXR>(U*A_D6 z?r&h+61T9tEr>U^uIrj*zCUXP$WL*H&TV$fSi00;rbJMLCwBTPW&VO0W|tMj12VXo zR`A5Wff0vUZyPPpFs-GG;Uw0U@-vM!2)^Z`KM!;I+F;$&VWaq9lQ@MmNnA$_l}5w8 z_snidin|!m9?PWXv9lpo{>d13d*3kTiMVoPi^fi(M^qGdPpqx{N2#O6^FQ(HAFZ(Z zHV?42CR6DeqrMR!OQvx;S|zzRWjCH9zrF6)k!ajHTXcNp*gtrmvpLS2;Z6r=8Gd{I)-czG`{!S9i9V=fN z!#3|4WPBYU(}>Bxvd9gy4F$n_u{F{R8xuS(N?n!vh;8U&^&S(})*LVDZ zSLcLwNZ?s;R$i!^%3*;Vzm;mTgYtU~7#u|IPs6|G+vct+8tPwBh0#{XcVP!~A}pQ< zbx`nHP*l)9^0uRnHwv{RO5y;ffS$eg*eqWFPf8nw!r##DXeg}d8GKlY+`_|}Lgf-9 z<6X2MvxSQFDUVyL0H&|C2QxInx;T4>FV66=q&%S|W}k<{sL5JNgCA%~`B9u)g z-<{LP`BZAmy{BA|2j)j@i*X=u+qS~`NMs)?v;INHmDD(9W9u6Q8J<=#=NH~@%?;iy z`;=HEpb4>H>>5dACN>vf%Gf*AapFX*um(`pCS*e=(7zc6jx%_8NX?(qnKMwl|B4ZB zc3>KR?)9eVk*hkm)Cw6Sjb1M!e^-H|`j#lRcKx57nbpx9_W*E7lN%H@rN;*QrD zjh)|Y=1NlcbBQ@+%@;TlBAaWq*1&VRLxs)oL8dTh`_9kIR~VCb$e|f!zx$aHhrMBJ zEh2?~+G?{-d}^5E)PJC(EtTw*&}xu*o_Rq?t>%5>C36P$2A|hD&{wDf{p^(udrC5B zf9nrG2wY()t=3AkDLQ6*;9{JS+%no~9`wCAZyAP|@u_9^)hHi>$@3OD0}fMgulfyx zv~WfdLBoCZ*MeH#QT^-pfJIZGNyc1`Zq7i@=VpBj%5gks!C$@dstKkFQ@9q9h>tkI z!26NRj5jXXx%oC?V{p7`^V;FLLlom6+*^7;0I!h|xiB}{G;xs?9bA8y2%bq}*`Nlk z+Am`pL_}*KGE6#pPk|@*-3b6CSZpsgyo8_?_Ck3C$P9w=mdbu^KeB5bjJCQC*h-5` zFrD%_TnqqaUZzKX-^L4UY#H4ecNou|p)LR+5~~lPjShd`HsU~Us6KI+MbTgKiKrVz zOoGmo{(=^HX&5|?k2V#xW#;$)_ahAw9cRxmCtFXfB_wcr=w#RR| z%wE6AW?%Ds_=*EZnBPCIOU&r~X9FG%6aDc=C9`+CXSfKXbK#oMb;>!6C#ogC;ygHq zxUcSI70P>I&3GVLs%V6j#tmnPS3O_qTih?%bCB^~*|FWpKi1`K{`a!86QkAc8vItw z+TDk~;w+dK`R5K_PySnQZspkO0nh9PJf#rDh@#oCMrBGXKq?b%T>Fx$%Xa)KSUiE> zX>Klor1gMqkqQra@V{XN8f48fX%D6XG5`Mf92mSVhmaBYyiM-bxnY8>-f6~EWP_Wj$Rj$ z${Zu6a}TVB>0xIc{2ykAW&~mwFgS-HxG$fCgKZdmtIW`qJg~u3P_TFXq09tX-+)cA zbReX1TubVVnaZ7~|2SmaT1e#fBc>r5ZXtuwt2>ha4tp3W##u#h6RH0|sS9VS?g!Wd z2)IhF4sOllb^+0P1r6tH6Nm-5SCT@6O~!Uw@^ zeD0CBc?ou$MhWPub61X3DeOaMN172fj(u-rdFkbY5fPSP7MkWzD!50$xH;a&$ZXUq zW(IrZdHsWYOEL`X8$ru#9e3&aXpkOmT*3LuaM&Qbp&-9_@JEUR9X4vP@HPvyz1y6!##01U(3%${vxqvALGD&uYvH_9|rPQWX-v7#J|4zG@*6+3O!E)sCOtF68&)g8B5?!sut)86($$pkkP~hl${tLP3jsYIkSsw!1s_( z7Cv;7m*C4^vsbN5pSqusnq;(4l)~FH3 z0h#WhwBxLCBRYG^E8(s>3!^z56`}rxE;mb7z(knALtw85ClC;CBpO7Fq-1rlLP%s% zknGk*&Kvg>8*nu@+?5&|uf~g#>K{f{+zvoKo^>7F9WOn^>&Jj4&v5~O>>~%-lL_+3 zuht z@4wHBgSlr~UO`zdgppu!vWDc%c)|!$aXq#wXPHa7k9SuVliBMt$N-rt`44f~SYO_| z$A@`5Y7%zvRS{NL3Pmqh2D>?Q25L;WfuXo+Qf&=Il!h82WuR@qXzuosjgM zC}Jiho`i%R{7x29*hH5_&%-D47#0>tuXCtIv%hG!gGQFJx=Lvqn*UND65%*>?5uOe zgCebk$VCVie@~qmF@=ZjV;M>Q{%Q|dJn@P;5_Pw`G7txAFdAfm9QwwlpaqdX*S^_B zh_Rm#uXY&9txdFscZ!@l47tM6p68U#s%_i-`R|zCP587DjR8FSc@%KKa#3ydG}-l^ z-2RG|C)P1|GKef1`B+bGgx+qhKBj`OvWJcB=n-sippbsiW$fZmD3bCm_e=A?qOP1P zf{M}mL`Km6lImF7RoZC`VqSo+ABWjS{?8oH_S512Alr9TFAVMvRLm9D8*fGo!F9=N zDg~{igZfZz^RP}y1NvrS9+uaAm$KM6JGI7}ivYYqu{<+JZm*He zAkoZr2|E&*VmZIZHV+`)u)Pb-Vp>z!)V)8@!qEP69Wh=-5}!r2>mh#FgiF>su6UH1 z$$?R-v26o^3Z2=y*FgQ+AwQh5ixj|~u(BiYL6n6PiW+;S-lRZwmOI#J=$ru#O(4HW z4?itphG{jd+?-11lk4hzzaLt_8&uqSYk9L69R`AJqwu`@w}K{f z<4G6bVem3b1xp%^1OGYZ@#b^XZc0Mu8c*toZZlH)I@Le*1N&{`$fNV`6}AJ+;+C)9)NTf8OZtz z$$*eYO7$<4*{@fih1 z2gf~c`1}&O5t7N`qwMMtj0rh`7;pwRi`usUKS0304d;SF!KFLc(x@`>T#NpOf2nYB zqf81kWCR5YpmKzmQ;!n_9`p(U%K^)sS5~DA@nj7@&IU@KUm1nI*HIRM>Z!@pyy)ZN~*WPoC zPN}VEIFUrDHW3c`@w>*<&Cb|_Dec$&OawQt*hMT-Yc35lofE*%WtI`1Ndb4`su5l za;f?c{L6KShQ3RO~h50Dj`)a z`H~^rR)3{Y%3ni2EER_@D3!^qkmZ;OlD0Iwqk4y&((}LORmPP3xw%SKXAZs7I>JoZ zz;&!7H^9t%K1|mscX4TNI~a;}K{FmfuPYVV;+kvq7z=8;_R_7n z$hrB{yo=PsF;2RkJ)5RWZ4=3W3w*>$)+4z`O<*z;vuiQ*#@sGoSArz2*@0qX+q9%; zYCih}Q)Wstm@aD;+T==SuowJH%js&@Yew%$yDe&hU0N>3Z}@*Mri24})Wr>(6Vk@a z7J3p0Zj5dO2y!mt8)OUoEkvMN9|jcy=_2MC%Hzr`#61u@(apWRF_7};OlCHu+$q>z zMe1wDe4WeWW&GzAMo@-(-`4bYeNz`D2T)gZ%Cp*i0PjXkZRc4m()Otl6&+f!OTv%w zJD$|2h3u)TWbHg4*U*!xY9tTceMCfrpBwrADXKlbyJOdt+X;4Ua#n{0RlN`{S-uZWqmLdanF5W(OGMNc}B~Wj@D5o496FxRI?w_29lA0 zw(D8zGMZfd&dy~@FXJLU2JMCFjR5tPJhmP8L0DmVCkaGsS^fv>5ovf`yh)9wNgU(i zQo4KUB?v5ZU6*fKIJe)FA%SXB$McAqn=byb7{rpsyAQc@MN@~wG5LSlWG7ZdOR4Ee zI0vRb6=C(ebLEHmKjVfn&mjy+TCvN@45?{~5MO|aer@7?y;p`n3|LGn3RC+`W#M&w zGIA%EXuAq}I^&k_r}go4kMxRBE|8j-zWpg z1PkNMH_vWLKrSYxkngWxP9Fj#Gq~nXOmgRIf<>l*T&0WZ3|HcZ=Nm}{^}+H275(j0 zGNAOJ9B)ggWCU`clDW_enqt6z03qdj2@Kx<>djE9xrKgkES(7y*G`0tXH6Z54!wn`MSwx2Bb zRe~50MC``8E1_0@)h#JiejFj{I5gA9&g!irg4!ZEN8j33cb(bZez8{#2y!0N{p<$U zv299Y1(U`Un(4(kgII0AW8u=`X6iO2##^9Sf+s9fj*ftpjVsyzp6%Q4rG1Q~dv;XE zOwTx}U}nij38mA6Ty55c>_^c1_L_o=ujNNCb=r?OY9bz7BCjuzWpKt-17IuA%eoAZ zJjQ3Pf%FMk=g__lg6Y6u02 zb*$4!MC)40dgxv9Ipb@nkzsCCmx=LI-7W#hM06Ad^4abxg=()4hIQ>~vqN-lg|>Fd zlF1*p4L(-@rlEv=eD2u@>`SXJf0=!E+F^f#4!mI%+zFDz6N?-d=JrJr0#X=W8wMCy zKCeD6ied2bivE?@FUWrSm8i?hR@FbDhtJxOKCt`g$^im6El@4ie2YkgA&(pe#Tv+1 zPk>T0C3zLYc&$w(_!!8b@K}DhE*r?^la^Pa2)TbuI1?|L&(?~tMb5X;g+HNrnN0So z?K4u=q^AJU@Z6!KtRgS1PCS=8w}KI$Z(QZg)#6j%j0BPyLV%@KEtl*09?#)Jvo z%`VTyLgk{F@FWr_ROxoi(+c$7X(Y~FoWBu?7Pz334OupvJH3lu4od2MOkq~v3$e+Z zcz+(N6b5^Xdn!#|gXQyC0i+&c7sWl?@pyY>t}SimR)(if7)Z8s)5N*P1-!85hRIJZ z*(%xhy_MMd)C=vjDSBlo6y(SIQ*}QZTRwOd4kodobd#F_PdFyHHDj_jjk7h4gaY8* z_0`b=+@$JO?3SGB1R5Xdt4A3_mCHZmMK_t2J^Lvw+#P)@?vqgo?rjM%W}%_3QdYXa z)B3<$D1vSvy%&TeO>j(~5KHvO*}gFH0*6&R^sZf@3Lp}M{X@S-~-eQ7SZeOW*xnFX% z#FY!a%^spwKcsj>2?CTN&=y~wpX|9V9i~=x_-?SQaZZ(r3Qt;srdfTK&H@=61dy!* zGZP9+21m(w<*+3Pf}2JwjwsO&B4RIWNR%+GnTLUImB%XPqCHj|-G63dO>~`!U;zUt z=i=PZhJh4GRG$w21ydc8#r{&wG3c<*hQ!r_Nf{+It7eZf;suIdYZ3etV z4iXHpd*8-n^|B|EhsSm9yB}3pGXQhhuaQ*aINUGj_R;5}M`pppVedZ47<&N&%$PN_ zjO#ECFcI9Dly8>J8zfpQ<0g9Ig!?dSGNKRf6_N(^T?bPBGZb`JLT?WL=oMd=?K*uuXh zkZ!;Z?iHbL+O8i#x;~DC@&Jbx+Rqy30A=x+p;H%;bur- zcF<>WUIOQu5fGLJ(q4rhYLpDXygt)0xz`w;6r^WNt*5Gpul`SGUUD3FUrY6YksTO< zLwS$6)QiQKx8cH@1#{>8K9IR7p?q0?ZK~xJp$-V28+ufYT;p)6hfuAOUb~?Wp#j%5 zhEL#yg+|8K=omZLcZe>6n>noYv+U|F){Zgxgz54Kg5+bZq+_Flj|URCb`}29EHb8z zjMY)1c9iUU>m_(k*`?21IKT<@M>kCaIfW+Uv{q^U$(;!7*dhhW9y46v$9A1$?Nq!W z34A0cT}JNDQCUtB^|&T;G@AGUQNmICx~yCOEKLC_2nn430-cwI*tXJ;K}^UnTgT&z z6-innf{)yG{O0*s>s>m$Z-DaltgnQ^CS6)t9~+OF>=z=4=Z%RafR2OqS86Gmm6K|TR&8uZ0-J- z%0Becht;-M0YSdPq+Qr)`B?}^(qadDLdN?AM%N%*Z~Kpd%EO8r@vNHjV^HVo_ZZ=1 z9`P2xeKM*zxW|r46)vF_M=AMY#qgl{Nk~T`Cs_Mtj#Vgo2`N5pYxMeD;GopY`m%w@ z8M|Jv$P*+qhP`o=Iij+XXRgd)9w8plQUDdNJP%2=LOcW-^zFclbYA(g%6XCA7`TC- zb*gAiK^ED#-yK3ssnP%B+E%hCwJ)4EFbT#nlvbg&tUFz2QY~V8q}sOLzDI) z%JP6wAom&P^pE?6`}V_Xt@n_zAdnejCBbMEM2#t`sNpHTr~@TY%PvJOUfarAC#6V` zzsA7|g(?d{EDb>@lQh^f@+s3h@yi|x(#WAKL)eJXz)tUAw=0W*D1$6qu&ZPMa10|b z%h1~AI*O?c-)XnTgVR*8I_bL=J0!&k`Hr;j(aM#q1SFB+Hacw0RB`=?6eGBU=etXE zSoF21>$nydDNYXDwJjgy_#1OnssEYJXHHL%uk8gqiY6gbX{ZCYo}9v7hp-dQJO|bj zJT^DxhpKAWYL_rriULGEanOv)sCxxd>e!j`+JqrTg1W|)zr=nGYaH3o@2745Ja=?O zo@KROCCW!RBGj~U$+&6Z$NiBACJCDf4UuQSiFg1N=^5fRv4~GCVyC!zi(ZAClcMyg z_9ZZo9Aw$ZUWBGu=8K!V90R7YX#!^+Nlf#LXmkR>8n2Ft^=&jCTn^Nu5Sf~w{F(ix-nfgJ?9#DQ6WWWX6{9N5$p zlpGcZTS>w3&&bNy$oU#*EX*es31KhWmKh;n15rMb(o~ue|EVP8-Jp*@SYVSi+hQ#t z+=L-?f`S8N5VpFYxAro=^BjM)TUZa02HgC+%*jhp`B?xbnq+yq!_TgcN;>RRCQP1c zE3+Ami{r{rND7Ia%MY>B3L5eT=mz`tw@X^8A{0Met>7}Ulgt7k6+p*u`G@lRZBOF( zR%y?%W0tgDx5sg&P+2A>|Ta*=>Bkx>bPO>D0~nQ&}tPP)8k}0hIL@HTn13A zGqwZ2wLdI`41RqP)8f@zcL-S3-J4d6}1wfv8r z7NT@HkL#6OJ7n@U(7w13#Mw36yA^0c84p7lZvFXDcNZhCUD(!6?$ z!?O1Odmep>mB=i-ZpK}&x$Y!2buJLK@MZaDbyH?pHttX6Wd85T(9>oP)+g1}S^^1* zdpu%O_%UzYz_49WFF#>Rjplc2e}&`6q+8GKl$3v!SN50amyX8LvTB-4?7WG-vdM`d z3`#9J+Zia%;3FAZX?z*k*M+njh!f^WkRY|x3$TI*Km~md?4Df#d6fku%L7XV;n+!t zm+sZ?%&TvPtw+hU?Qv?`8kG;eGBx(_Rg+%}4IXIMrsKcVx35sPc6!v_9xZBF5*ta0 z?9cgR`8VQoIA4(fZ-IaT4`%wmZ7TMGd9#7@C%X{{6cDi7kkj>oxV6075ik}30c$h4y~!4qtc0iQG-z5Aa>kQrcXceqg42Y+;v3zJ>hT-aXUEfGW8N>Rr$b zv~l2+zvP~+9+H$YcVmyR;laM%n|T~nrh#Z>L%L|hBI+OwPRo7nPfg#k6j83@-Yp@C zOoF;!#T|v1-b>Sr=k!LvGq{!!51HEs#M@~s%gL>_Jr5_IvMYj6`mCG0Z|55hl<1I= zPpMW{J(JHwnpWQoTT_?1kh&(GRgHIOI?ywpRk2MZs<>fRP=(JYBk3)4{xj@N^--y+ z?GrHRr!&=;O9^>EHKD@3qd~2!y00__N3Ywi!mQJvR?_rPe2;JspTQTEplN(GU_F_K zS{4HUZ*W|cI8HR`AW6j-DWQd{!8Vc;_Lp!}bGdvWcmb*(*?PTO<93i5 za!o!MB)e;hVB_VtaThpAsGmLwQEAJwXLvMD#`oihI1au82uJL5T=K?$&U<5;O}*fa zjkCG-@{M_}l`qN7Cb$OL#Z{#m?u3}|UuY!Wdxq4F^gDla`I%SAm3!2j<8?dQsjX8& zMtE)CI8oqHl+~Q$f&g-QiJDbw(;~ilJwiX-nr!mB3f+O-4FPrh^#ZG(=*N}$60a=z zv7y#Zn@X`Xrx`eF5yUnWg3EGP@kq~SMT(yZ;MD`X;|nG1 zy)XGL=o%33Nd?f9Pc=8I+tLh@L$c*~TZcSR2ix?3zKeU#c>haN0Pfjq;$Lq|I!P6% zVpqf%I|PzdL2w?@zvlbB;b zS5ba?Z?_?oeW~IOBL{zBIk3 zoI)}TDrC9Klx3H5G{0H%9gI-T?lSmwE?$F2VNwOh!%VSZ4Cw=w50ZOVPparNxL(;^ z%~UShA}nt>2FgP63N{aTLNknkB6~0=F{YCsJ4ZbQ+g^ZwMjyk?HAOp(tLouAC(=du zVF6zCT;o=kR$HQr$HJZ|cD?U}4&r*ouRh=4s ze)`YPniHa~cL#XY!=szlrCogioquFSg}8(&$$Ltl8$q-%d~tA*m)_Br%`pMChf)=coy3^5#5KU&qXrYu6)AMjaXojygp4LMKa~>$7N0`kOBRRQK zc&PQU&f?FwK5?Xg58Y=!5a4JtiGY#2KagBG=+vLioZDUV;KW2!o~{kFRVY<4hxnhEYUyrcN^X=9-@_m^DZ{0&n7p}N;L3Kh{54Mshs^( zPa#irJJie<_g5a^`9fS&2)ez9jl30-?Ni`9*cbsKZ;)K%eK<64$#W2n%CtU*5= zaXA21*?0IKXC5P<>)G-bPIJ421xWzZ1q9&rBMwZYU7nW4-$-X(l?bSu<2Q=j+L!$w zLWN>JLdsy8p-rkJr+NYLs$!Q-H32%@hnmUebP})l7F&kM&*Ubi>AfxnA(^n?64cy< z!eNA`gi|7zLgf>2X@C)Sqr3yU&N{fy*e;GJq_@wnZEI1U=1k(z6k%7x|E&1q(CbR4aMs_T@ZX|t|LRFAZlUgcNGp+B`}&Y|78;4~C}g z8E&XM@WK{fYmJH=kMgwIa`{lwT3BN$j?pz2o0&Jj`O|RMaIr-Gs>)`| zmZb>3-0K&|^gUqWiTp^1ZFC9Raape&`lyN6)vMMwNw|^MdcjcC2+M^Pg8O{^it=lj zcTMjgp#HQ`x2ejZ$1oTU7r6BG_Y1iW_>-M1ek*i^G7J#l%~1+Y&5dzQgH20QdJb-= z&tU5WX8`X&Ba>%z@E(3R66m`saM#b$DJegJ0kA#nF&#r{RgIin9^FP~7<4;N@uNlt z65kvld1I(6w>@?5Tj^`YqBr_%Ugm_Gtom_T9E)8P-k<>R#t6+4L=3%3 zHUOh1WnZN#EV+zSO5f)J2%Z9GuBithu_UCkvo{uAXC)_!xHGAo)%aCYoRue;*((CR zwdL}NhQwCAafu7f;8hn~K{INhzi8 zbvj2f>Ri6euF>NI95@#d=uy1* zkYSau_jS-+0NF2z&(bu$O1cEjqx}+kny>r}^|R3QmyAgqp(lFxk!bUm3kaIS82GQA^t$*DdjB#nZKgaA>xap7k z9N-#iU8hwdtfs+Y17lTc5?0&vVHjuEYZn6(7#Ur6@Pc*a!X96bXr>UKV&Tw?zv@fR zZQ;xSWROTUwUbL}af1jw`bo)PRZEE{$>RvHmqaMk4eGh5KSE~reD)S~x*Wul7${`u zW@f^q3sdhf^fTLK0-q3>_C7`Qv+@V1qqL(2eA;KvqSWNMR^3HWi*fi>_9C2%Dz5z_ zw2e88*crc7*61-RWq4CH!{OlFBp+M$O5^cGjvGOjGUD z(U7`jmWOtC@;c5OvF05KjQRiEN_D{{)N^m6Mu zKZs8T%LZ9juguO}pMs_@gg#V;LL?3tp7=omeQaQhd?A>+kX(XbU7VF+;y+;P&e8_+ z>mpdPrauP-%_`q#(Pi7y5q%-kng6K6DkypVAasdZ$?SE?rPUe`S*a>i)9I>WH-d@MoSpWp_hzyV>sZK~ zGr94OzS1W!1*Q*DiTO7LjIKP0?`swz``iKh{vje0Fs)tpmgl@VHFKGJqIqIynS?+f z%e9Si8x1Rs2;N;yPDK4nMHe%&HVm~v?*JoNfH_O8KsM!%dqHf?InV>wV;{+UBf=_fS1uVjC%YCZ3)i&RYyq#odaS*E1N#!tn=-!C8 zW?SZbSYeqWgA;K_tS?jj8}NKOhd}h@T@kvFnjvgru^?gll#rF3t)>kL(0Dh=9MAUM zrWI`b(F!S=cZkO884-4s;D+w9>eb~AcJMv^h+U%UfWl-rgCKwS~eH z@T>pj%wxH(^+E(qyJPM4x2Wwi_Q$B7cEX9&TIcJ{i}}-2Q(hF;7S}K(Xc6L<3-Rpy8SPE8e`c9nCQ3i2WpO$DM!{}1x$w9za0*=v0f7zL0k=MN&16i1HMjNMWtmXB`GtMt-d7_$6nxWuxXY4AL;_8$P4 zG_)xXbb`5g8nsp7vO85F`n_hCL&YqtKkDIl3Iz zev@lQr>AE_ZG2T^My+2V8)vfEBPBLDMIx6VHw+A^;i6#x8n_e;n|sK|z%~`Hu>W~( zcBGQ~VPOg;oAxI1C+=q7R^)bAW->uA+q5cOH=_84ucbb!*EGnfDEt)Samgp(IgNpI zN+%_xTIbhE`vnn)OFV-)(XUH?GwP4`Q~RYpz_j zw1VcNQ?0UyyFM#6D++QLmu~9yh~HEv2YW*9=)bZvkZlR=^=E=lnry%Wn%AvO+bisB z~@0m-90OPP5A|Mve=BuO64ui2>6{e=j5Yu9oQ>$JlKE;6g_;PIb57g;Ogs}lSeN1*_Wez!B!}_#vm3Z(&A*no|P>%`2O)|u_De6?V^SIC$BTEFKmAlm1D z59X>U_g0CN-Or~(+fc-PEFzUjXO26jTo{!|aQ<9lts5M6Bq`Y!6cj@@cp2Z*#G|ovJ8O>e9GuOZ<&5 zUL5zNY{PfFSC;2Ua7EtBGYqSA@#_8BC8TihyrXNR<+to^MM==TSZ`Zo``#1MJ`PC0 zC_IUlcuiz`HcNO*<5_GXdUPE*AcNu@WHjTBdV_wTHUkJw!slm>o<<>5fhEH8p8F@B z2#>6HT03+FA^mj(BDQx?tNhrE+(Kqx4&mr(lo3Sowb<6;Mu&`;<4bB8*xOuqW5sYV zt0!vaJwKguPe&8O;G zE3(BKEQy{GuDrPbP@NI&JFlsb+7A!E;BBA6H|vA0z8PLhJuqn+l}P^B@RtdRKA%!T z*|+@44e0Am(Y|IH2mE(7oszS`GATtH^cEs|R=I?T#juk&vE{KQLHK@{_`;u`02F8F zph30NC1OgpirO#*9apPO*fZC@<-*WO6X!^j?r7u(fVHR@eg393(b5KYT*$ zntu)XllFxcEy04#%{Mq9m+`=GUzCC%RIxud99jZ+rY`hHxnm&fwu;&4p5pjvdx12N zEhJlc3VGJA1^3>z5C+Vu2-Ha{Wso0ctjUf!ben*e_39}$MgB-y0XsH4qU^q%RLpMt9y69;uenvHd0B?GLDIt zvgJ7MD?P3hC$@C)k2`Gg{{?J{6u^)OzAqj~=oa0F=m9FL=Y~dNi#1pS>Ib;hKGPDZ zKw(ifh5StN7EhEmyRza*_}J4&l4kJVkT9|-ybzNhou7}xA;CD29MVG-N+(%=qg5yn z${33WChrjo&zR_@#Y=ls>(XbQVb~)>iyXt!qmQ=uCY&a_0!jpfky09_Nl(!8>3Yhg z+0{^Sm{D$>%zlIZH^&4hG2-~NWXkmw_LKD#7M?L{lxH>tEYu#iOjF1O$O z71igz?XRm$#$H!0?Ab9|(io|Dmw(_vGt?qWRUYk#V(B_^4IXhcsJ0^eyHG_c1}~oU zJy!|M?A>+*+@&~ODrEB41T_#b^MGBnaKc_(QyKQpdMLN`1re_$5@A_H@x%6cl^g{tW7o0D?g5R6{^ECWL1z5Qs{}p*rbovQ5D4^_<-IYx`yG6@|^}6>k5&> z$~VIvkE^)UgPN=wdb4zsR&XsFCTmJQQ+L{o$+@G?zv{yYa{G7PO7ob3SUVob6q-I{ z&jG{$402w9=XuGRcI;k_e(f_=+QGI>XET}?BeTmqfKMpD;`IFbAf1X@)#_nJ$b{-@ ze*nZm8O0+Fw@)99VSW=TSyn*!dbCi->8iBKyKqXg_iExG>f`($2K(UsN;Ty#kMT{l z$N=jC6sZRd7w}glBnu^JF6_g09fvoRI{+n4FT$yTdTc;NrhFU-t9Ux{`wH-|X1;`t zwYzJn;*0#LRL9im*!H!7lYpm7TP&vOpI-M)%QglNFimq?^a!mt{?ruOo9Jt%=@@C0 z{2Rowk?zvnr3qy5%8nQN!*sR}4bDpFj^e!}8A|}yE|_P;(yNGODAcyKJvKup=*l|6 z_+d?xlsK=FY98K@+scKKH3~q6_AwwDR8#xI;*q`mpKgn73KD4q>uJ@S@s@cqsAU^d zDPQ!JhV>F;lYqOZC1`?jZRqweN!zuW#5g#D%u&y~K8R?Tg^MhMI$@aNNFSB$oaqKS zCbW~zR2@xXsQ~Phh22*^S8y>Hl%nl~(1uVQ!Cq=R78Kz6VGOxmxDvTPi}p5B3J-z) zXjoJ&_o*3<$;0bWJR`PIdj|fDzx@92`=LgkF zAOxV4n&WI*%966P)4J$$Bg$`p0&J5^5O7ysDG1stD}|~J_kM0d5EG#LVcn|EcQxi8qK8Z##UgL`q3Yviv`_tu`s&1j_#cIKd5kyv)z?A!27>}k|DTfq3SZkXaNVK31B{l_ z3GH9W=noS5amHcYyS&R}^7f4ALCX6< z_oA4bD2}=5u1O*32w*_Y3c>wAXYZ&}i}mk`@Y3@ysOt<8?vUHx^+=;!)`~V01i*jd z5gddW5+Ox70ev`2Xe@mbg{1Cv9d|E*(Q&#DFG*sl+75dj{*AJ7=YG~W8g}1w z7vu95boK%q5^ujX>$1@~euc8{2Np_Ke(kpblJ=S#>TY`IYf*~4djqsq*`z?5t3KV- z+2qkq7;u3wPG)!I!zs$7A-+LGqUKhJyA=H}0XnI>2DcY-f zt}=dP!lE{vGNC5am$&ILD`)YYH$l+^=CensvETs3{e;9P@BX8@Qlk{a)5(R%5pjB0 zd5hhs#4C6kZkfU{K!+^69Y$1fxC`NMU8GqJ*)#epLW{*Wq={?o@M8=j4*vuxFHgEs0CrbxXYp z!5DfG)v>nEFa0fD<`k-`+#PoFp@~(#YX!1X@3f#6CRuyI#7_|1h~61DMGQw&V$ibI zHs`g{=@|cJ2DK4NVoQN9Zi@eohKxusiUd7ik`=QkuT85@59u%YQ29)tH~v|6S)goZ zK*zG<|2>Io9%2pr3!cSg_Hw)NoNU%1%tpH322n=roEG-DO<5XGl}>OX>;Ndgb1JcM z-BmtMt;bBicYGUYQwx8IH^{WVxo!xWi%AhPUcdy-(O2ICn{+f|0> zSd}@!T>w=y9P#re~@UOr$&Sq|H6%qB!25Yc5S<9aWF00wmDq3J8IzY?I*=uemaN)o#z{%)dd zf*iE814Muzcew2W99y%-c000ny#FrQF9B0fM-FXzpc*F<>E3q#4&emd2|h~rz2*p5 zt~WYc;Yq%o!ZU_+k5$pLzN@b1`?S$N8Fd5onM8zv?%5 z8dsIzbEWX~uX!in>rcpQt zh@T!w`*dzq?h)mF9p>%c%X#=9Mq@JZ04h%bJbHDq;`ZFh&~*T(PY2ID%R_U~aoDD0 zfG;GmPIxk{!!V$-iVCipJF?;EXFvXV;r@xu_OR_Db#X*;y0DYd#~fZR)!kapi#giP z!R3W9UL>sJ-UB*op2YVL+T}b?X(5F{0p;Ep{E>Pnr=*$94iqPkZ+HLf^^31ymO?Kj z{VCgbxdScQS~c(%DZEpl6h)l(_!$c3ET=8D+?pl-)=yYRG6v*}ramD5vauRQME>;I z#HAZujNi|hEh(F^Xj=c!yOrrP5+~s*3||0nPlQlzHE0?;7Z2<>JTjMp>m0pboT5d{ zQ#ZgnZ*Nv$Z7$1ld9i2bG}XE1Tb1#&PBbaLlr=ws@|+acwf(@c{n)5aEjhs}A#!A~ z1r)4z5&&#_oDSqfk?w;ge`0(U^!ODjE3@s(qpafz$2WPM%L( zhhb4XMami7!ijNY%3hagNebO&o>VcCx2g`fk05^J>4`E37g-`&d{n|tMcKV$#e6Ie zkFbKo`GSxxBO2e$wj$}*pk^hhWG(ekZ#=!2xNV(f_WdRrx((u8?)k06-h=p14G}d6 z4rD-CJC_vfuY&kfJYGPy9YpmJ({<(EConxt@^E>;h1wUJioS8e_Hlu(JsM93gLzY; za!tpSp@p9YOWd|2xt4&W9LtwNCMgdgv|}di{K!yH#S^VU!pJC-YU-mL+fSII{Xukd z0pLNxK<`{_BEpCEEdr})_d&8L7%xy@7d|qbp%UIubB3C4Bc3(%)bl+e2PKO=8v{Ws zCtJ;=z;*WzXDll$1)ZafOQN}KF4eG%q=?bsJ{Srb-O$R9qJ zrZikp=#G!A5K&Rw@EO^#YC_|CCf1KFjd>Y+<@S$f$7qYA`OuHrkst@1#n54}_v+S> zp{^4c_>|mq0PJj#4Z1(V^nN({FEy})ziCPQ0J$qXu?y_4M6dd4^`^*(LMLg$EV&*5 zie1#WEmd42q%q(66nW1!Yd@d;@xLdcp!$c59fQbq*v+iCb88c;9&c*%orM)zg-tRB z9^^LUsidR$XUY2EA6>0gtsutMkp`@Tk^wxaJ^KEO1X+H%CiH-qgS~Cb6WXPDxxN=P z)KNffCTsPp=%HZ(*Qy4*%)Di4kqu|0+G$l_u1@YrSz>uhnKjjV=obP#S)5JEcs6Om zZS?;45NfaO5a;9_hQt$!)yMGwT$;u=!RE3_Y5Pp)GKnrX&7Be4m;U=VU1E*_>!cV@ z?1~2MP8eq#y|f%B>bjhaYK!~%#TVs&>FHAP)B(HryAxU94QlJ5VRk6P2Y@>~RZ|z^ zdhc9C6_>XC}sGq5AO;bpD%SRY16pg zV_`Yh$}7~c$qHsr(^CDIw!)ON;=uHL33zdDv}xgNx@2`(U#-BXINMZ@mM_gaYz`*p zBR7pvDmLt*%x&o};OV<-bTh(=s;aSx&C)Ok8o_GW5(bvI8*X$0I4uqP_I2moTDI^k zOIU=4#W#SyS1BZ9NDVc-t*X;S3W*C}y@&T5gzOJa2{{rJdc`buC(!2t0I`?LCRJII z6e=v2OX(;~JqA(Jcj&_!YQ$!W6tbOzGx<){QYS_xd(?C(5hn0pdv>0|7=4sdsV>eYHy>=!pfJ-`+>#b-y| zimmgY3PGX(P=4mE6CofjP(4+dc#}Uv)|ph0O7lQKvF}|Bq_}4{CZE#u^dLbn9(I^ri}fvm=pW|R}e!{>T3&!Q2B{zZ}d{`tPi;m%~abW|`e z9+XjJ!$ZrNQ=Y`V{mKybPifdhmiMf5BDwDp4A7UfWqYdFA=G5_!(*edn1Y91OrZnH z{^(KKpGm)!cVuC6F_g+)X5v_9r~TAi#0C|NAd9)7e=ld8A5i=f1RBGmPGa}PmZl1z z`(i;dmQL9^n6g<%k#)g(nnXYjMgTQ+L1My7!h~bbu#4*6AFeU&t#)2<=+7=_nIbro|K}|_P+8xViZ!~ zk?5EmdSe?o3?T_t_Y23f_B42mSSG!L`>TIWleV{au8$v|%Y{<39r9aLT><@}F~Xq+ zGV!09Hy5K!j_AQFYh`bon)or4=q2EulCU&3&U%54xep5)l(eU1hu;H*XN+35uIQ$y+g}ucrg$Mx1Ux^41jsHc_Cd>)NLg+@*8`?b`5)_>*E`rJPmBWqnB2TTmxIQ zHU<;%HY+`XvSK`?+K6)l=6sFcKA4>q1BZrk|lY1_hnyr zhPx07&zyuRrhCNE;f=#DA;*8#bKE@2bYk$I%^xW>UHdsMcBD%Q0@viJ`A4On<9YmN z%5YpIWqm&!@nz74>caxUfLZ1D;6MFXJL;52N(VKoq_y0PN_ZMdCt8(K|!^dVMP@Gg8_vL$?ZqMhoSWN1oP9d>1jj4Sfz5Wn(ofSNSX6hCqNR z9-)V2fsqZgWkXLni^O@c#-YaHVn-#!T1n%x2r7xbPoh$pppcX#1}B1!~UlH(5AAw(1`Fi@|(HibN*eJ!(7i))Yj$+dhvJsiez zKbl*&a5nWYvp%46zYN=)1&NFjNGbkQHB5!CJ!8ZHig%}$KFKh%tD%&aQ_3*bwX2%+ z>F8a0-Xw!$#o;YxRqk+<5p}9kGF1H8x!HB;!FVz`^K|W#(n$7~ z4dx03YUNUNQ8aEuRKqWccA?T#z`~qM)?+;u{g}A^W-+8Rx^StzPw#wJXd}6fburji z6C(F4)_431Rw})*57mEkdOVaoswZ*ro}{XqPUHjIY?80-*1q(mqJaj+qHr*Vg@BEz z|LcRQ6NUXv0*m>@w1?+c?f}`2%PSM8xGzPVV(shaSZxra>P+(>ze02p`2x-C$02H!E1e&W+m=CK%A}GGN-Uf{KLd`jZ^+J?`}AJJVu3r;+cMaAYm=3S zj4q{o4oHtft2?V_hrE#s)15awll+!;I9oklgQa_jV2bZ<~u#ah96 z;EUtfoEy)QeAbTC`?{t183SUqR#8QelcH;{NTV3o-}DO5y(xQ%!yge2(|=B70A5G- zBboS$q2BPyAZ(d|FFJhiCX_osD+*Cf9&&fFWCTBD8)aP;fHsfAuPaTe-9PIR+FWOv zDnMWpoNJdxoK$^Z(LP=nzl6aI6(y0Zdbw>>w5qV|0FbV}X*aaFt5!cD2(QDlhgVmB zi6U&!qHj0E0^Y0*Xw63FSUF{>FzLhlD4%>34W@&QoBa0I0+`b6q6vTID9B!pxB z|199t;EbM-zFKh+c-jFPRuSq~o%kdMEmFExQ;VEIvj(wtz1lo!Dv!~vxVYb!cu(f$ zUk9NG{D$n(@#%kg(M5!u}Ap(a1{7f4QDJ^s1zIFiaFBvJcP4x1)7_a{yKM zDz)1;Gmo<$EFHAxM=RFNf$CJZ0s)X) z>Mv1rzYp-(BuEC!p~~mvO#)U-xlOjEuBl%5^R0@?G5moX%p)Lf9gsMhG3e$M!b)&m zr|p0m;s}|8AeZp*4pu%gTq?OP1vXCtKN8d))j9i8bxVh%Q=u}Z$4fklBF&qT|1COy znU9ke$9wY@6M9qycme}6zgJH-KAKzHC3(B7N&#~n$xP?nXWTp;f?OH2lAEkN77Gj`Xm0{> zpFS_VRoVQhN#z%g6HFJTw<)wP%;I~&)%nzr1!H6){Uk|fj;<2uXHRvgBq5>l zC_j~=ikm-}(;hS@M?rcYN12@L=mavxbF; z%J9&bpThQ@jwHB?hnAf6owbq1n%JWI2103?Bv)BbepC+lU$2m^ZV$0PpsC$+NvB~Fw1L@q*gt2ZL3YL21(bpy={?m zwJAD1+wFN*f8iF#%+*(wCh#n;f_`?6(>GGsS#S9FGs4=YI|!j{vG3ff5EMy41GWaW z>nh!EJ2noK$N(#L={Bqo86+pYA+Ma!vip`4Arms33iV2CL;Bs^v6csenNZ6E!UDk; z*f;gmHzS=u-#v1<4iP#(ch9N9c|sMbNPJIpX+_oFlg535!?+oXcn^L>H2EuM&T&~CFU z{BfmkbN5H6CMmUNDYc=C(&nJl`noEJMU}(5RAab`FuKu4E2lW?D;2p-zd2|;D6>1Y zuwvYVuQD6On>m2VVw~9GliFHb7uQ;=Cm|08oL$TKOYfXYgN-@ zR;pDO?+NTBT=L-cd$=$HDn)y!)+DSd{P9i0%U$H6JA(B1R|T=En>^PWvNb8OmVJ{X z{&!R){nQr}biLdBUPJBp89qDxiKzvu_f@Ey%w6uMp}qQ`nvnHnU%5p2QI4-(8GN62 z#OLy3*q{+`25zs8r23V-nS}RxPP|LeIA$(0LQMQ#v=s=im2K@W!@wHEeIwSjI7swO zFdj+uDlGNpppVKhw{&#Rgth)6Go;uahU9lZV#rTokBEFIZ?Yg|lF)A-^yx8PI)X)d z{KTyEnUfLg3UO3+)~#3aq6A+VhtLtEtz?Sa073t!}>`?+ph>=?zw`RPUP` zHC;ja1WOB0Pl6G-`^;!HsqIg8;QqP9YY&76#R{&1yb4*foU50mWYKrO#gM0SwOOvt zyA?J$xHWY5uDPB|dmPyft&l@PkoBPbu)H1?C-0`C61ZI2Xoy<03UjCAtOF8M#Rgoc z&;^*b@JDMLHc_skXhESJy8o54LO2(aA=mVd@f&mw2}x8ldV#vl2ba{H5~T~T#Y736 z%m53#%MAq+hpVR{PQvpBz=sUA$qDL(VT{I2t7>xydEgjpq;C09N8Pu1>+u#~ zaFR5mQO9$cw+q^!YQtY|Yjv-KaXw78i0CUifir!<`aniNH+*2*YbM$#&(Hv=J<2QF zL|wav5d%gHiEQbC9?wJg@eR>Fzwmbh2LjK$`e1a?awDCpfVx@j+a)wQxQ166T?&@p zY`zqMH`UL_(skZBOZX&QI$VZ&*W)u04!MYj~czbin&mUBpyY~MA zA**)TNx*!0%1}M_uZXl)O0DxW;Wl!pwB*a-+3I@rjyg_;xeitj!rqLF73}`(Xy5lZ z2sg?6Ys;?~O8I5XqMShYocs86lk5l6hj#MR*Ku+nUU}B$|FVQCOMIcMM!>g5*^ZbG zt$r{X)7u@2QdG_TsY%fB=Nl}{oCKPbWe|kCyYLXlV3^So-{H7l2~pwHTmJ&+7xa=Y z2YQ%1w6x7TJ!Y|q-?0c`|j2TjAujdQENuWfr(%Hf={ zX;YjTN6|^^1owh0(WBm>cOHdkz9vUg5=_6UCo%cg#?3|LZzrs zocBEveu|ULWAdAZetJi*UeT*^QcEzc9{mr78V?c3lc}=*mrY$kG$Ny`6e!hhE&jB9 z#Vk4rb+28(yl~Y4CUVF~umN$|ea5uf9gstt2BQALssJ$VJGX^K<@CSDVLx>mFy=Rp zQ1}D`n%5|&F0&cSfK~8A*HyN?0#n>*^qwdn5(x%W53j50I6EYq_CfJKlDAuU)!X+; zGE3AqA<%*-yXVSpvl9RvrVrWXuA!OA``f+vA`7zhdDg2@*!yr8fS(NWwKkho2&RI@(kS(sD5h9sq6DIugTi zu{YGHovF(ta3!-Ui*^&tCSotNGK&naPUC=BbjqqUmILy zF@vQI?&Hxk!gB7OBosVQ{js1!JG~qSbYd>Wp=(SruwF7MDa&OaXCgY{HAmUdN`d#_ z86JXSoX23EQ|d!|uk_=hNtlC7wUpWx-ir9xP@V3$SUjJqH4FUU(CYuJfEgxulV+NU z7ByQ0<|n&(2an>&Ys<1L6@wr`4m{lplcmItB_cbCOiL^Yfjcjr%INlwdFa3Y-eRP} zQit_(yZZHwccoeF&|4O2{|Q-F*W>zB(lWWw)_!51gd%eQTIAX^ATosQ*vLKdaKRQ` zf3T)yYJXqh`VrW_`}pEm;fP`#qUIL~MYzdnJ4Gl@E;{Z>7#~2cHF=Gm_T#6G8&}1i zR?U@IYwI)#V=q;M_7O3a_aYErXG_x8!fw4V^FXXBPdFR%^)tgVB;4!jBSlCudFO+bc~dL;Czi#$mzi!Xb`VTlz{fRYrLg41N#JI)1Apb0k{h!GPYy7 z<_oyr=F4?B**a!W{w1p_2J{rU21)Fgo}Jv0M!r5c`kbO5HSnE6I65C}qP zlkkf`i)t@xrcM6z9sQ(-v(_iDX4f9;FTE2Q9@;0<&;*6FylNj;+E<+^*4U}}WpiW= zl-C>cl;4!1*o`p)K<>f*W3NDB!0_WpF8L-7mL6F{KZLC$9iuWkKfJwGz@NIa(-$yJ zuoerSW7cXde+=N$$KCb4`iujkL)*Q-OXcff1Jw8^7@7`Ny8fqqMLC@!ttw&ps@iB# z)4M*ZMiJU=<~W15YMBbHFSSC>WQSi?Z3}8vPvk`1M$HayuP)tom7`ee?bRuBs5qKy z8FQ$&`W_qPR(CYE!iO}DQd%>QD>obwVv-vn#}_Zj{()!Xvzm`wwd)Xzj~ah3jkey= z<e4UH>D#Y>8GWPTfxtGS{<}v5VTFIv!!|~;kv~b;tARCXrnazvSTdJiFb^56W>!ffxs}1&j2#Xq{u@aFKZ<1Bq66SE-V0^OxB~il$Cm8zU z2G4FLe7Z;t#16t?OtLgiCvX8>atIcz>Qw~vhRy{OEJ57EUH0BXZ=>&ddziMO8Es7k)F@B z&6kHUseJ%K??hw3(4*$l#tHZNnm8p`wS8+uOAK@89q6xn!ZkMV;7p@4K%JjpJwD8L zjB;$=2Pb9Stu?TiCS1&ts8$`gw6-6>FLAUYi$Su%M`v;P>k3xuP(Z1F7AP_1qFdRK zUq(Neb9(&LR|*kXwXKG+3i9k8TV0P5{Y6MbXtY)2X#%yO(C(qeh+7a+r2X=XJVqy#dr)_E5f>&u7 zWlU&^f$ScAH_mszpF7lNKUy0ZCNRMztTR>dzj19pihgx}pw2S2X<2ym4nClBkVr2F z8qsP(AqxyZsI&*NZ+Jp`0VuutbeKAFEm|8yDy`lxYfW#sUxiB;@x*M4r!|WDnI1Z6 zH)#qd9gk;Dxs`qb0$=+105~<@MaT7n&Tti4bZ@mjMqXzg>rWakoYwSL2l?3QBa=EB zj7{`^Ka08_H>X>$Hth2afR+pHi~oTGJ+#CjKg$1FM?iDkOcnBI*iv4dm)tFq`0;}C z3#*TPLQ~$>pw|HQ>JardEgt2eL;ZhC`lMp2#4jAwF1~k2QItv_Cupp*2AHP^_JD@^ z0Ag#-7_U6)6-oO-Rkreij%U!YnT0*MAUNX#OgvAJgK3`&IF?V$(SKC&T zo)m(%g?ZDGoHT(gtn>{H_`ES*m`XvsW6mz-w|I1T+P?`QUZequy%tO z-oed^ZpasYWFAR9m=A+4#vCin@ZTE3Tbw0{W?WdEXj7trr(h*)w6aP8w5hNh@F0pn zMo-}PfJbW7pN-w`c9#ER#ct0FtX-wB*_35fa^$e)Cb&2$Giwelnu+uBH4|;5X%TLZ zInc9X6@_jbKGk7ay_*2@!BqxV6c##^pWw2lQ_f(Lik^fsJs&+)D#IO}2!6>vn5!Ml zLL=1;{YcS*v}+QIlzU~TqALI>BO99WdadxJS89-+ z=JM_nHe5?sZ0O8&M&W)`MI;)m5?iwD>loG92LoLeYc|v^^#x4l>c=(Ii7_Qvw!bb^ z?>i$9iKCW!V_?>HMG0m4znrvtlAo+@9s%7Zo;1UtzL9@m`BKVcNtXeOc~meb>@Vw^ z@(MEt&sUa4rfidlImaw;^CE@6l{UJ9zbpD@&tVQvId~b+2kod{W=fhPe`^8J!pUvP z23jwDHbH{_+<=k>$?G@u=o_G9p6#BG+C&fEC;;Y$bC4aIwGEZG;FMzTf7Zx-9)~XG z*3{NlpIeGOHxQO=@rAQ<*_O6%sH~UrcKC-LcOzp>5?CEC&Xl{R?S+4AILpSgNkJFx z;*nwxX77uSms{M{1G@E)NeQhkEeD~MG-kmSGkpMHk{M%KrgqtZrh@at&9M+NiiBVshhKjb z8$-gbSXOjg{rHIDKZ?nU-+r~?t%yA2rA{K|RjH!*^! zz9lOdpdrB7*OjRxV85Dt5@_qnq zn`MN=1>5oYaI?<6&_SdSpcb%@pJM1qQ6<2@)|Pt5WHzZ2{k`79FGx>GYC%|XB@n#! zaaxoNTB2AkD66?(T;UXwK}3p(UF4RWOQGDP13ryOe=b#KO*!Daqj;M?eZQbA|MnUZ zEdDn*HUs>>l*U7cXg-71^vrX_++HJ8&r?hL_%F&A9Ex_6;9GYU)~@0>rV0Jpe$blQ z_ZF1fA{AC2VSq0tf5EFtm9cVkU&o5NNURCHS5q{ZI`n(nXHsXX7&Ct+SN&6%4&N=R zni&2%T~~CBTzi^W^~d34C_kJD9`3lsrLF||aWSMGL>)u&nN-&7skE0fm)%RY4v;{b zrhwCh>`q`yMX<^`svTAOPVj!}YnAoC+0~n0u6m5z$xEBnH6tR( zH|x)YEh=FFQORGwl8}-kHtW9|fwnjFxS;Zwb_sz_W;sdci306M&(4tSYvQ-CR!xT~CAM2$Jc3!^d#RD|9a- z^?NBp91&+ej*H?UYf4*&f&jz@jN-O&Ct9cT_rug8ZO@VYPx zG;*)4Wz9geTiF?oUz)mwMm<3|*@qEV5h45^$Sb8eeVM zDoz<{;%i!4Qy-8vgc}m5FQLJI(0y^CNdEa@Gpc$y%4z3rG`bs#?K#bknI$mlZ2e~~ zZf)Cyy-<4s0Dp+ZyaUkNZyvqse%-=7wZa|O@}+8vH&3AHZd#FQvl?!=(mgk=vR^>u z55-H3weGodGuy?%XuJi(ZFkAzg1CV`s2aCi^*RVkFl`hWrsa)L4XHZF+C(SOFO41@ zM^QF_P|6mpJ>B!08vD`77)bhwIbpSBh9X^0G*+MA-^J)0!bS)D)sZ!ZM3~*LV7DaK z%CkJrMeRI{qAJ(G|NT%0daKbtysA=a(7JMO6J%Ut7IC&p4|o6#{LkQ7iaP$z&$VV7 zeaz=u^;DXnI!gF&yHqwb0?QU5+ZEoMzMj*tV$9?Fi}JDzQta1koNmrG_+iGE{eS_` zMD+6u(#vPeh)~5q$1&Ykz;!Oys3!bB;X$Rum~3Gf2DAohWivI>fc~riJX1Bz?4goP zD2DULgZRvSBw>fsNM=*9#BRt(7R5l7ISf_lR4yr&Q8z+nMBc5%4DhJJRn}`vl$?*3 z8J=zPO>0k9QsL1Q1VX24-`X&uCl@ju!l2N#rk&-#G*4}}h>uFWGOnTxK-S=KA8 z!p~tK#8hp!?lTsy3B_cIasN1#&k$sWp23pl znlEr7=QBOG*h?9#^3~!RkbnQa-D!8Y4_&Y&qN5I#5==XP4;Bc(dI2AaKv=C!@L%4H z#SVhzCI@f`>u7AWK{UU_MTcW^L8P{BG+7zeQvT8E)(`0B^UC)XN zvyzAob1rsaKe~>5Q5Yj((vC{bwOZd2`60!bZ=r7NxagndC$#;)9R-6~INR(pfec=I^8TA^e8}h?xElJE< zye5%Uh$i(D&)L{yYJkyH1RVQ?Fi;x0{8rVz#@nh`cxbSYXN{>h@gBg@jMuh4LS1<@FJoe2X{^@c zr5O=H$;3I8>_Y|sy$?TnsM2es5$nt*}`lbbR*#;SwWwdY-e_LziR+B4O$&ujNA*rb> z_I$}llWZWwf$(j|{Osu)VeXObnd}L{8V_$?A;vl%|HUW2lCF;pq4VN_c&piK#5N6R zkUPp6tTLtb6hw{{niN)cMqFjUTg*#V{u7vy<)(NWXf8dr7wTDf2`BL1ogK?Dx`(s) z+Pmt8eAbe!(fy|3a?SEy8tJXX#68oOWq|k)vj{f@DZ}CtT4%%&QdY+Xfm`jkVi;k}uqfZ`Vd zbq3Jvu}${gADjeS_Mf_tgC)(>nv6S9-GH8r1LRGbv}V4cy?j;g0YS~W`}Bd&8wl0} z>%nx&9-Hh2T(<91&`(u6W#2!UBxO8<(v-S)B4SPnJt#UdN$1LevA%4a?maKzXjkw1xIGt0>^k9w%GJIcu(t-?;B=S^$OyNs6AfINEQmCA~C@fJM>7~{5pm2=b zod=;0*+Z$}T*wqpjf_%Bgv8NMzCn~hO5(Y&psFI$^*PMmV`o6l0Zfd0%OH41t#Ox; zFv89=GtMF7cBh^K2}CC_$+3mXiGOu|%ZWucy5FR?mH*>C#x9Rw@BcpG<;h=uBmnSF z%VTmX)qgGe14Re{M0|D3cCd22nu>_SaJ7t4(SSDIw~li#0Mq{d8+>TQ)+#xeLwDw? zwA#+Urbz?`W%~W$jP9Rf)vJ~72_86DdGGfgO2-5QL}1iidds&G3hNBuTK7xn@i8ys zc%)zkImH9CD}Wo<7(fmeO(zZ@eVPjd@1Bb=*rM3x@a=QMw1wP*df>E>wbOXjK5ZMX zHIgXxsq|}3P8N0;xK1B^a-(m|;l%o^?Hl?K?iy$Fi9pVUIwx{vJ0m^Xd*0v;31sTj zA?jeLdfu8Nx|oX5w)6rW*MM<)Uibr>_lCOPTrMW-he^ z&@Xx@rh!cH>O}ay5>|%{Ab~v?2V&3UolDEXZI56>TXz>wiWI{}?)3}~aOpEf$S9I| zmdPQt1R8M?>o=MG0KO@k?eAw>p(7Sa$;okap@+A!U`Ec4`;PUcmYYDZp}-5`di$9q z0Dc*i9CHE#7YltB8z`aT4BBdlo;e~b@b|mhkQuzp#!u#BuqWUel-w1T);6#&fx{z~ zn%YAC=*2k#gn`T%fKH`Xi;>=?1?7RvZ6jAztcrG*V<@>MNdi$9 zg1NZ+C+=1Lx)C`EHlE-$dpRY(=W6ESR0tVCq; zB^f-UXy^lQoL-W2{Oruuu3ugcfY8j9;U#Dd`2;-20>q9qd zhUy&AE=`$NW|_^$<%Q5xkuGHoZo8keVuXGdM_{F8Wd*-gqMwA7u$B?ew8 z#OQl4yl$K*Q320N49kZI3S7qDG=!w)7E8%d*lF!K4EN2`OO`dMpFt6Bm>hT%b$ODl zsDA&D$pL)KKd9(E%8&R1(EBdE2y^ag5i$E22~B;y*oZMk6geb3Kjk(Yd92O}pei2s zkd?Fo89I1< z5K2nPUlxq^o}+BET1Pc54o%h~46QsVw`>-6EbA+UlXN+Zd)Q@>A&ZJ^qf7Xx1xRK=578o`jveE&ULNVYTq|ox6YvIJbwPEja8{K3Bv(g zlU^~KzeJNqTnSBSq>gJs&!5^pHPDy5c{=Y5J6~|nAu-#W(&)7X8W7|4LZ#U`L)qua zPj^CqeCKI!O<3bq4}Yuh(36O&ZX8b8xOrp&9_+_(5e3~hWQ}QCRRiX{V7DyF*pcn9 zul(T=h*YX>$h6-vfM&WLKB4coKlywP;?*ZSepm}7jo9u@#C1(aUokE zSM-v)1N=`ekexbia~K>@f~6*De)NA%Dt#_;qlP zR(UOd3zgBvC^%_?hh(EaX}VGi00?z@b-?zCDf&<6YOehzkFo72Tf>pwwQedv8KHVa zh*zXYHXm50!bAISS*M7AfmaP)G2X^7VY&U?AIFaOMDVuG%$Rk0a}}cZ5611VYMe%H zHOKH32v&lwrmk&qa2t-6_GpRGInnT^o=)2u^>;B3R;z5)!&#FZ{V_xsc0n>+Pj>v%|uGZUrf_KEjIfbqD(NQdfG5RFJmv5|0Nvt=pMECtyy!zz+!EBjWj6LYiTbcuavGUw!64mq+aZ@zb@|1&yaNKK1_g!tH=i% z#<5c6%rqc~89Iv6UuIbiqZ5{iNZpd;EjFL14Pdk!IntdudWO z{dnK4|uP1s5MMzd`AGisjPTDmG zPWllvGN)|~88j_#+OnHVh$x)to)9KbAfnC=lqaM^5_D6mWFwpx6Bc-0`24Yf8?)Z+ zr5+N^VK=*T!gWDR9dHg~pN?KOb*!8vfT3baF0#?kiHTjF%Eh^Tb{>ghxX(9Tdsjgu z87BXlc0FQr`a8tWPQB!f9D-!dK`-S+QKl-ALxj3(_15NV-Ei;DW{AUg41=fOLnkUCm)$`U>A0X2^mz;)m@9;vM^T{^@SglW^P2K}3%!HvD+B9rA1 z9F?|(b{~g=iTlpY)jh=_(ys!xs&*B%jP%IDr8Yl}_Ne^A__$35%yIQNKG??;WEcs( zU`RFwWUV%Yhs9YZL_OVky&_`axo01Gu0wGA)y*hYfRCI-zV7;q3OzT0v$&{WNJ#)> zSVuUpl*)N17Ae#9(Cl?Aa

iFrrD074{p;|EQmps{tDgl>>+%MMrLWSLZ@p|I8&M zms*Mggj5Un&j|kVX}zS&kcW%r$%2MaKXf17=Uy5 z@mn9>30blF`IB=m3m^vS+ks~+N^U7=Z#+9h(T#yk<61X^Z@0WluUpOOn*##j(m7w- z@gF(0FR4Vo|AK~TzHyTV>l3!8R8ld@Ge1&P6PNdWr9?NAlL%PUSKUyUU?rHG8C3}LuMnvs@x&8g0Otlnozx>#zO@4*l=YV$iBQsZ z7AGA-G7kG7uqAzk*6M2O9j+n1Kmv%Z#PwesO(d;!b3mnZuXSGkZ%C1bP~8`ZES!<= z>zxjd-dX}lY{F<;J$|yFR_{6fMVz&(mz`#1#+T2^`ukmxxTW6*-6CjYtyNjU)H>J) zxM#fTi!$ydg48cToAL--SjR>&p<%ruF<0#l@rC;;Sf$uf*kba9)%D$4C-X&OB~^E{ z-yr~sv{h#^j96@0_^-=)?tK$TED%8&O~?FeA2$W`QxRVU%~y(vP@Z=!f-%g3OLkK4 zS|SFWF4e68w8)9ADXSR1r*(gc9!@yvx#Eun%l%rLP8d4S07M!kfx&NciBaK0HQ*2f zWCV8h!Ys~v0LG3iYN*h5HQUAYHJ7XAjabWX51-#&A!Kok0g&j}Ib-!j&Vu|@7sy!k z1@AS2dNiwF&k&cV$x9{(<)BX}qj+&bk$PknGr(^7EUz=5(VkMaG8tYOW8hM`$_2k? zf7P?HnHZ|P(VmOO|3{-0re<0ke_O9C!_7)@`eh^GuP3=vS@dgKOdy}C7fjUVvHF-W z!Fm#38peaT1HowpxPfOwX}6w^OX;e2TX}EsP&+$=*;L<#ZzO-6OJk|6g?uKC&Ki9B zddLKkLMiD{^effNc`q8Fo{I|~l0}0w!Ev5Zs+L5=TWfhTFnH|fFkJW)h*~%$$<-SU zO0dZ#7C-04{Xz*JBntzE*C?(; ztF)6->ypDC(_B>2(%IiZc)|KJnjln7YK`n|)6e0hf(SS_rP9kxA9Q0^gbl0D+_BFj zD%X8sj6^s2!89&A`>F@2t!~+Qm!Qw%C)1Kk{&>0oTvx%?_jbUxyex>U1k0pSDCjEO z@xSR9Q zr#25rf|Mf+9AC?AYf);1pdkL;wpR%^$fHEcJjNqd{Ei0_ ziC1!o*O5ekzKF-4IiRojQ{$G*BCj;{yHhBBxuAggQ`2}S75_r|D%FEL+g6186)azr9Lx*L&hHiVw!~?dzQ5}0!M5mcRq)>5j=DLd zG`<9gNxWIBoOsuww3s_9U3F^y2%vwN9k*KNmo}3{i z2~RvoQ16aDZ_-CLR(n(I`Tyzj)yOnjfVR^YM~o-DF2qjUp6AJi0Ok@S`3OT~t5J!& zwTi`aSZx69LbT@!>v1qc&P$3zsX)VTGU#0R^=oH^J%re26AI#+cQoostry@$cBm>IO+{L%*#C9p^O-%Lri`prFA1 zH5JHOwqW`Zz{u(t!Zj>ofwsYCgl8f4=`)zO0qg*ofMNXW2!P( zv6}xXd;kXsL*4W*msI!iS{gw|-PXqSCk!dX@dALcsF6MYS`~rK!tTS5PfBzMjfWOw zMm)oLN)b-@u}>U%7p7y6kw>NVeV+<=_y9%KSpA0{7mj?ZjX0qrgGPpDaF6VgkEkm1 zYg69l*xCTL3xWe>0!rzwq-Ya{_(On8m@qtt3d^aCjNK)ylB{Dn&mJYbQV5T zX>l%w!W^!ytO`liD~D9%loWt^s^@wMqQ`@t{-4@-F~EvhHT&*cw(pm=A*uoj#T0w^ z&;K?7pszb&hjSgn!by=;YuM$nlf7x=6HRYF$_($c{UPq##3(~ub!pLaq&|TTq_}`- zto7V|<87N3hJ-Qa(9+G8@#Ri?2AGc+$bD?E>E-W z`@nJ*ZxNT5>sGLm%CmI=RUL^7(kq2i@~P_zh02u#p19HYC6GLsY0Z?y$J`Gqwe zGTWGMy2i1k}j1HXR%KYb`LlIbvrs+el+gs4i%6G2b6 zoc2!R+yQKkpRgT{@2EkH80L^%H}+b^VuO=u<04MMph&X11PQ`~3( diff --git a/playbooks/3_service/minio.yml b/playbooks/3_service/minio.yml new file mode 100644 index 00000000..7d5b11d8 --- /dev/null +++ b/playbooks/3_service/minio.yml @@ -0,0 +1,4 @@ +--- +- hosts: minio + roles: + - { role: mgrote.minio, tags: "minio", become: true } diff --git a/roles/mgrote.minio/README.md b/roles/mgrote.minio/README.md new file mode 100644 index 00000000..198a277e --- /dev/null +++ b/roles/mgrote.minio/README.md @@ -0,0 +1,12 @@ +## mgrote.minio + +### Beschreibung +Installiert einen Single-Minio-Server. + +### getestet auf +- [X] Ubuntu (>=20.04) +- [ ] Debian +- [ ] ProxMox 6.1 + +### Variablen + Defaults +see [defaults](./defaults/main.yml) diff --git a/roles/mgrote.minio/defaults/main.yml b/roles/mgrote.minio/defaults/main.yml new file mode 100644 index 00000000..eb80b63f --- /dev/null +++ b/roles/mgrote.minio/defaults/main.yml @@ -0,0 +1,20 @@ +--- + minio_download_url: https://dl.min.io/server/minio/release/linux-amd64/minio # downloadlink + + minio_bin_path: /usr/local/bin # where to put the binary + minio_volumes_base_dir: /usr/local/share/minio/ # where to store the buckets + minio_config_dir: /etc/minio # where to store the config + + minio_fqdn: minio-test.grote.lan + minio_port: 9000 # s3 port + minio_console_port: 34081 # mgmt-gui port + + minio_root_user: minio # default web user + minio_root_password: miniostorage # defaut pass + + minio_user: minio-user # linux user + minio_group: minio-user # linux group + + minio_server_url: "" # see https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html + + minio_browser_redirect_url: "" # see https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html diff --git a/roles/mgrote.minio/handlers/main.yml b/roles/mgrote.minio/handlers/main.yml new file mode 100644 index 00000000..7a274555 --- /dev/null +++ b/roles/mgrote.minio/handlers/main.yml @@ -0,0 +1,6 @@ +--- + - name: (re)start service + become: yes + ansible.builtin.systemd: + name: minio + state: restarted diff --git a/roles/mgrote.minio/tasks/main.yml b/roles/mgrote.minio/tasks/main.yml new file mode 100644 index 00000000..480d14b2 --- /dev/null +++ b/roles/mgrote.minio/tasks/main.yml @@ -0,0 +1,61 @@ +--- + - name: ensure group exists + ansible.builtin.group: + name: "{{ minio_group }}" + state: present + + - name: ensure user exists + ansible.builtin.user: + name: "{{ minio_user }}" + group: "{{ minio_group }}" + shell: /sbin/nologin + state: present + + - name: ensure needed directories are present + file: + path: "{{ item }}" + state: directory + owner: "{{ minio_user }}" + group: "{{ minio_user }}" + with_items: + - "{{ minio_volumes_base_dir }}" + - "{{ minio_config_dir }}" + + - name: download binary + get_url: + url: "{{ minio_download_url }}" + dest: "{{ minio_bin_path }}/minio" + mode: 0744 + owner: "{{ minio_user }}" + group: "{{ minio_user }}" + + - name: template default config + become: yes + ansible.builtin.template: + src: "default.j2" + dest: "/etc/default/minio" + owner: "{{ minio_user }}" + group: "{{ minio_user }}" + notify: (re)start service + no_log: true + + - name: template systemd-unit + become: yes + ansible.builtin.template: + src: "minio.service.j2" + dest: "/etc/systemd/system/minio.service" + mode: a+x + owner: "{{ minio_user }}" + group: "{{ minio_user }}" + notify: (re)start service + + - name: systemd daemon reload + become: yes + ansible.builtin.systemd: + daemon_reload: true + + - name: enable systemd service + become: yes + ansible.builtin.systemd: + name: minio + enabled: true diff --git a/roles/mgrote.minio/templates/default.j2 b/roles/mgrote.minio/templates/default.j2 new file mode 100644 index 00000000..fc15b740 --- /dev/null +++ b/roles/mgrote.minio/templates/default.j2 @@ -0,0 +1,7 @@ +MINIO_ROOT_USER="{{ minio_root_user }}" +MINIO_VOLUMES="{{ minio_volumes_base_dir }}" +MINIO_OPTS="-C {{ minio_config_dir }} --address {{ minio_fqdn }}:{{ minio_port }} --console-address :{{ minio_console_port }}" +MINIO_ROOT_PASSWORD="{{ minio_root_password }}" + +MINIO_SERVER_URL="{{ minio_server_url }}" +MINIO_BROWSER_REDIRECT_URL="{{ minio_browser_redirect_url}}" diff --git a/roles/mgrote.minio/templates/minio.service.j2 b/roles/mgrote.minio/templates/minio.service.j2 new file mode 100644 index 00000000..29486dab --- /dev/null +++ b/roles/mgrote.minio/templates/minio.service.j2 @@ -0,0 +1,36 @@ +[Unit] +Description=MinIO +Documentation=https://docs.min.io +Wants=network-online.target +After=network-online.target +AssertFileIsExecutable=/usr/local/bin/minio + +[Service] +WorkingDirectory=/usr/local/ + +User={{ minio_user }} +Group={{ minio_group }} +ProtectProc=invisible + +EnvironmentFile=/etc/default/minio +ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi" + +ExecStart={{ minio_bin_path }}/minio server $MINIO_OPTS $MINIO_VOLUMES + +# Let systemd restart this service always +Restart=always + +# Specifies the maximum file descriptor number that can be opened by this process +LimitNOFILE=65536 + +# Specifies the maximum number of threads this process can create +TasksMax=infinity + +# Disable timeout logic and wait until process is stopped +TimeoutStopSec=infinity +SendSIGKILL=no + +[Install] +WantedBy=multi-user.target + +# Built for ${project.name}-${project.version} (${project.name}) diff --git a/roles/mgrote.ssh/templates/ubuntu.j2 b/roles/mgrote.ssh/templates/ubuntu.j2 index 80d45ee0..6ddeea1c 100644 --- a/roles/mgrote.ssh/templates/ubuntu.j2 +++ b/roles/mgrote.ssh/templates/ubuntu.j2 @@ -54,7 +54,7 @@ Port {{ ssh_listen_port }} #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! -PasswordAuthentication no +PasswordAuthentication {{ ssh_password_authentication }} #PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with @@ -120,5 +120,4 @@ Subsystem sftp /usr/lib/openssh/sftp-server # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server -PasswordAuthentication {{ ssh_password_authentication }} PermitRootLogin {{ ssh_permit_root_login }}