kdbbby nameby nameBUILDd kZAbb./AA kxVDm6bbb&6./lpp_namemm4 R S cluster.es.server { cluster.es.server.events 7.2.6.1 01 N U en_US Server Events [ *ifreq cluster.es.server.rte (7.2.0.0) 7.2.6.1 % /usr/es/sbin/cluster/events 3056 /usr/lpp/SAVESPACE 13008 /usr/lib/objrepos 96 /usr/es/sbin/cluster/events/cmd 2344 /etc/security 8 /usr/es/sbin/cluster/events/utils 7592 /usr/es/sbin/cluster/events/utils2 48 INSTWORK 264 208 % % % IJ39145 2 REST API improvements IJ39147 1 POWERHA: DISK RESERVATION OCCURRED DURING LPM OPERATION IJ40035 1 WRONG RELEASING STATE FOR SERIAL RG ON NODE WHERE RG IS OFFLINE IJ39953 1 Due to AIX 7.3 ksh93, clmgr query app is giving improper output IJ39972 5 ANHP support in Cloud ROHA IJ39896 2 THE RG ACQUIRE TIME CAN BE VERY LONG WHILE PROCESSING THE FS IJ40499 2 HA superblock marked dirty error messages % SYSTEM PRIVATE % % BUILDDATE 0743 ] } knAbb./usrAA kAbb./usr/lppAA k<Abb./usr/lpp/cluster.es.server/cluster.es.server.events/7.2.6.1AA l9Dm|bbb&!./usr/lpp/cluster.es.server/cluster.es.server.events/7.2.6.1/liblpp.amm   ers /=cilnotu._ampvy",124bdg035679:EFILfhkwz8#APRS\ CGHMNOTx -BDUq$()JWj|KVY`{}!;@Q[]>X<aPO  4'Ɓ07Ƃ?; y 03dX0@80P@D` F pAÆ@_g?Q޶4L74t2tJi"s.!4xU<٨? `($}00Biqm"6MX7Ѥ@G!L"! Qn0$0h qxAIB0%D!}M$ F@f^tӌC 1p" b˃eԣS !? ` `b$[8{E !@ CP04; 8$$$Ƃ?A=mhnhdt,jJ${@@ ( hp %@X $0 ynˌapbkO˦ͧIza$D *KXdfҶ4Iд+lnD͓sGM'KdRTI a#IHGØu  @hG@ @H k4ǸceACqƂ0%\C@0 0d\\)UȼMk\oFAS)ǟ0 1bB-=Т I@ !i:@@ ( hp % ( 'B ~0$oKID3i[cpLnhZct7 fɹвM*$؀"E " YT0v d4r afHVcdͮldeL_ ={ =XFOp.@;=؜L6 !Bs&3 -pRC~[lJ]dj»pd;p2 qx|\1 y27em1В`\4 J˃ڀ 15FYj=lӂ`#? -f"@{!؀P#@z# ^!5(ࣂ?@_g([cp&l:h:] $ ${@@ ( hp %@X $0 ynˌapbkO˦ͧIza$D *KXdfҶ4Iд+lnD͓sGM'KdQ&1$a##b$0\&[o| 5#4   (aӋۀDm:oIƂ DBssGI G( KΚq`sWsp.CDB>W"5YpcݾZOSp.C~@'@$ ňIpB\1&@C Ѥ=F,( 4$0;$a#ZM-b%JfsGM&NBM6M4L.kD"D@ha$D *R @`С@!F 2B[$ &mt`Ǹ+#.bkaL6%b7B{p市d/aę7ePall#~`ǸP &V o~@{! o[ p`QG|ɻ,~>si@#XVP!#\#j(QE@ owN B\X!j(a!(b B , :!F3k=]n [6k}fTpͧze]@{! mB .2a5a[@#XVP!c@:GC@(@#eٴGPBjP!PR  8${${&DZD(wc1* =0$p@ ?ÁBBA|h /3`OoM6M4L.RT@@ #؂4Y@PCh (Hh ( '@^v\` [Z~F]4\$m="N#` " YT0wtZK#67 ͦ掚L.7I[cp&l:h:] &.6bF0@1r .L->S͚z@ Biqm"6MX7ѤA `K[l"! #``%M8t0 S !l"! y,1Z-m}ƧS !? ` `b$[8{E !@ Ct# PJ P@N@ a#IHKXdfҶ4Iд+lnD͓sGM'Kdԕl@^haq,;H2AqB 5`0$+`yA屲ABfL6 {2/ftaBV#|'[ NiBOk I!9vYH8{Z)!?-6 {o %B .2a5a]FFyza>.\ @<dp̛6I0.aun{BvcdG m@, 56[p0K TeG =BQ@(@Ylvm=sv/DC@@(#8@ 0Ƃ? 7 fɹвX}:ͦDZ[cpL.\YRQk{UR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t άhHH%b75b qHBct9+lnIд *J(()'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXс Jn&j 7&7IMc4:] Ik#/:hĝ54b?ǐX@lCiwz5cAx7 fɹдNu`#!+  3f)Ln6%mi2tBt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ XFfP qqHBct9+lnIд*ֱeHdA,)'Mj?>&1'V 8r?:]ެMi}-mhnhdt-lXÆ#!+0`(77&7IMc4:] JkJ5Yp0y GIZ{#O>&#y Ճά048-w,Zx8tG[cp&l:h:] GV0 XFfPрR&m6=Jdt-+* (ĜxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh002?bC@.)Ln6%mi2tJJ}lAN)o0$)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXp%b75bฤ!1Ll{7 ZV!+(=UTM GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4h%b75b ␄3irV&'KiXDVIQ4[0ĝ54b?ǐX@lCiwz5cAx7 fɹдNucB!+88$! fc䭱M&NBҶAaH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƍGBV#q3V(hpAF␄3irV&'Ki[K(zaH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`XFfP8у1HBct9+lnIд<@ĝ54b?ǐX@lCiwz5cAx7 fɹдNucGBV#q3V( oR&m6=Jdt-+lnE9`yH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`F!+4`BͦDZ[cpL.mh> <4)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXHt%b75bAB?!1Ll{7 ZVa!'#$]=G]p<<ՆekO.klnD͓sGM'Kh`ƍXFfP( pOƌ␄3irV&'KiYN GIZ{#O>&#y Ճ#y  G4֞-:]&&掚&NB9ՍXFfP@?8#&7IMc4:] J bpR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t άhАQJn&j4v)Ln6%mi2tA+i lxtFuv}LGGgV[KՖi<[tŭM6M4L.s0$GBV#q3V(hH GFb3irV&'KiYyĝ54b?ǐX0 "?:]ެMi}-mhnhdt-lX8(82?b@ƁHBct9+lnIд [[rpR?N|MՈ GHhGgV[KՖi<[tŭM6M4L.s 4XFfPpߍ! fc䭱M&NBҳ%m5lxtFuv}LGGgV[KՖi<[tŭM6M4L.s 4b?b@ ?!1Ll{7 ZVa2pR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t ά`@0 XXa?!1Ll{7 ZVP{kD)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@( :?bCA>)Ln6%mi2t:]xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άp  XXR&m6=Jdt-24UM4*\$2xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh@0"?b@B\R&m6=Jdt-24UM4*\$2MxtFuv}LG8r?:]ެMi}-mhnhdt-lXAJn&j b3irV&'Ki ҪmW%,@ lBt֮#nϸIBu`Ç#y  G4֞-:]&&掚&NB9Ս#!+  4w BͦDZ[cpL.@|&[JƗ%\ FJ[5 & GIZ{#O>&#y Վ9͝X`hpZ?m.VYlq>4L74t2t ά` (B?bCA!1Ll{7 ZCcJc4Z)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX0@Jn&j 8`?BͦDZ[cpL.<4:AIBt֮#nϸIBu`#y  G4֞-:]&&掚&NB9ՄGBV#q3V(  ! fc䭱M&NB[UxR?N|M 1cN p6uahYfűK&1'V8r?:]ެMi}-mhnhdt-lXHT%b75bAB!1Ll{7 ZCKxS^!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh` GBV#q3V(`(@? BͦDZ[cpL.8ĝ54b?ǐX0 "?:]ެMi}-mhnhdt-lX0`:?b@F!1Ll{7 ZH (%R?N|M 1cN p6uahYfűK4L74t2t ά$ XXR&m6=Jdt- {UxR?N|M 1cN p6uahYfűK)Ln6%mi2t=*[<4)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXHT%b75b@R&m6=Jdt-&0 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4 ! XX@q&7IMc4:] I#EIBt֮#nϸIBu`#y  G4֞-:]&&掚&NB9Ճ#!+ 0`0f)Ln6%mi2tFkfxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`0 (:?b@p?b3irV&'KitI"Q8)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@PD%b75b HBct9+lnIд`$(ĜMxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά$$b?b@#A!1Ll{7 Z]0}AN)o0$)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXJn&j 4'! fc䭱M&NB逓Dc!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƂGBV#q3V($'BͦDZ[cpL.'ЉQu퐤ĝ54b?ǐX@lCiwz5cAx7 fɹдNucB!+8b3irV&'KitI"TM GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV 8hB?bC@ b3irV&'KitI"TM& GIZ{#O>&#y Ճά048-w,Zx8tG[cp&l:h:] GVXFfP 0Pf)Ln6%mi2tLB%DҖ lBt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՁLՊqHBct9+lnIд$pR?N|M 1cN p6uahYfűK&1'V8r?:]ެMi}-mhnhdt-lXJn&j?!1Ll{7 Z\Q8[0ĝ54b?ǐX@lCiwz5cAx7 fɹдNuc#!+4$h'lR&m6=Jdt-.y (ĜQ 6\B\ɣBt֮#nϸIBu`#y  G4֞-:]&&掚&NB9Ռ5 XX@``8O7&7IMc4:] KBJ 'BM, lIBt֮#nϸIBu`#y  G4֞-:]&&掚&NB9Ռ0 XX@`pP?7&7IMc4:] KBJ '׬#$]=G]p<GgV[KՖi<[tŭM6M4L.s!+0`qHBct9+lnIд$qMziKya!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƃ#!+8h?.)Ln6%mi2t&#y Ճά048-w,Zx8tG[cp&l:h:] GV0h("?b@B!1Ll{7 Z\TM)o0$)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXHt%b75bABG8!1Ll{7 Z\TM(.!.YѡH:kWO|i7Wg$!:qÑ<ՆekO.klnD͓sGM'Kh` GBV#q3V($p_n)Ln6%mi2t<J!&ˈKyKya$ѡH:kWO|i7Wg$!:qÑ<ՆekO.klnD͓sGM'Kh` 1 XX R&m6=Jdt-.y *&׬#$]=G]p<GgV[KՖi<[tŭM6M4L.s0 XFfPBͦDZ[cpL.!%DҚҖ lBt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՃLՊ b3irV&'KisIQ4 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0h! XXP@8O\R&m6=Jdt-.y *&Rc%-ل#$]=G]p<GgV[KՖi<[tŭM6M4L.sGBV#q3V(hhH/BͦDZ[cpL.z,H,D:]ĝ54b?ǐX@lCiwz5cAx7 fɹдNu`! Jn&jHBct9+lnIдO\ݕSo.l)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@paJn&j  @lR&m6=Jdt-5+{D#. {Bt֮#nϸIBu`#y  G4֞-:]&&掚&NB9Ռ XFfP(q?R&m6=Jdt-5+{D#. {[5 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4$% XX .)Ln6%mi2t"R=e%<qeI4hR?N|M 1cNp6uahYfűK4L74t2t ά! XX1HBct9+lnIдԭah1(.!.YTK& GIZ{#O>&#y Ճά048-w,Zx8tG[cp&l:h:] GVGBV#q3V(`@@BͦDZ[cpL.op{So.IBt֮#nϸIBu`#y  G4֞-:]&&掚&NB9Ռ1 XXap_n)Ln6%mi2t"UM4(\YRxtFuv}LG9͝X`hpZ?pͦDZ[cpL.op{So.J-`Trtz?m.VYlq>4L74t2t άh(8t%b75bƎ! fc䭱M&NBR=JƗ% *J.Bt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՂGBV#q3V(`@0BͦDZ[cpL.op{So.J[5 GIZ{#O>&#y Մά048-8Fifc䭱M&NBR=JƗ%-لrtz?m.VYlq>4L74t2t άhP:?b@pppOؤ!1Ll{7 ZjVU6䪖w!H:kWO|i7Wg$!:Ñ<Նޭ1Ll{7 ZjVU6䪖w%L0&1'V8r?:]ެMi}-mhnhdt-lX@(@"?b@@&7IMc4:] MKd[‘t֮#nϸIBu`lCiwz5cAx7 fɹдNu`@Jn&j ␄3irV&'KilrUE!AH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`G!+ HBct9+lnIдԶK*Κ(()'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@8t%b75bFBͦDZ[cpL.]G(>‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ8r?bCBBͦDZ[cpL.҈2Js‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ 0r?bC0n)Ln6%mi2t|irQd#$]=G]p<GgV[KՖi<[tŭM6M4L.s9 XXHBct9+lnIдK {t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ XFfPpp@_ ! fc䭱M&NBSo.J[4ĝ54b?ǐX@lCiwz5cAx7 fɹдNu`LՊ  ␄3irV&'KiƗ%$)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX0Pt%b75bƌ␄3irV&'KiƗ%Ҙ⦩xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh8t%b75bƄ\R&m6=Jdt-56 qdd)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX(Jn&j?␄3irV&'KiƗ% <)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX(`J?bCHBct9+lnIдKyxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άhH J?bC@ .)Ln6%mi2t|irSHR?N|M 1cN p6uahYfűK&1'V8r?:]ެMi}-mhnhdt-lX0T%b75b|R&m6=Jdt-56䧹t#$]=G]p<GgV[KՖi<[tŭM6M4L.s5 XXq!?6)Ln6%mi2t|irUJtR?N|M 1cN p6uahYfűK&#y Ճά048-w,Zx8tG[cp&l:h:] GV4 XXaA\R&m6=Jdt-56䫁p [4hR?N|M 1cNplCiwz5cAx7 fɹдNua Jn&j  b3irV&'KiƗ%\ FJ[5 GIZ{#O>&#y Ճά048-w,Zx8tG[cp&l:h:] GV0p(J?b@!1Ll{7 ZjmW%,@ lIBt֮#nϸIBucGgV[KՖi<[tŭM6M4L.s 1 XX q!1Ll{7 ZjmG2Dt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ճ GBV#q3V( 4#! fc䭱M&NBDJ1HR?N|M 1cN p6uahYfűK4L74t2t ά XFfPᣁA!1Ll{7 ZhF<(\YRxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άpaJn&jlR&m6=Jdt-4DtkfxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`0(0:?b@b3irV&'Ki%r)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXpp%b75b 7! fc䭱M&NBDJ1IU-Bt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՍXFfP`&7IMc4:] M)c4)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@t%b75b1HBct9+lnIдMxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά ! XX!1Ll{7 Zh҈kcXR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t ά % XX`@pAR&m6=Jdt-5͒ Z6#$]=G]p<GgV[KՖi<[tŭM6M4L.s9 XXPB?>)Ln6%mi2t:hpR?N|M 1cN p6uahYfűK4L74t2t άh00%b75bB?\R&m6=Jdt-6ID$Җ lBt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՍXFfP( (8&7IMc4:] MQ8 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4j?bCA\R&m6=Jdt-6ID$L|$[0ĝ54b?ǐX@lCiwz5cAx7 fɹдNucA#!+4hH&7IMc4:] MS-. {t֮#nϸIBua#y  G4֞-:]&&掚&NB9ՍGBV#q3V($h7 BͦDZ[cpL. )=ѡH:kWO|i7Wg$!:qÑ<ՆekO.klnD͓sGM'Kh`!+0 ;BͦDZ[cpL. )=-ل#$]=G]p<GgV[KՖi<[tŭM6M4L.s XFfPp\R&m6=Jdt-6IFMĝ54b?ǐX@lCiwz5cAx7 fɹдNu`t%b75b b3irV&'KiBJ2hF#$]=G]p<GgV[KՖi<[tŭM6M4L.s XFfP0 ( BͦDZ[cpL. (ɢ2RaHR?N|M 1cN p6uahYfűK4L74t2t ά` Jn&j!1Ll{7 ZmiKya!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`Ƅ GBV#q3V(hQ?.)Ln6%mi2td$S^xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh(b?bCฤ!1Ll{7 ZmiMziKya!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƍ XFfP0(0H' BͦDZ[cpL. *&Rc!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƌGBV#q3V(p@А&7IMc4:] MTM*J[5 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4pB?b@!! R&m6=Jdt-7\AH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`A#!+  0&7IMc4:] MQ!So.Bt֮#nϸIBua#y  G4֞-:]&&掚&NB9Մ GBV#q3V(` H&7IMc4:] MsGM#$]=G]p<GgV[KՖi<[tŭM6M4L.s0 XXP`&7IMc4:] M6)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX Jn&jؤ!1Ll{7 ZlHJ-os6ĝ54b?ǐX0 "?:]ެMi}-mhnhdt-lXQLՊ BͦDZ[cpL.ċ4l&t֮#nϸIBua#y  G4֞-:]&&掚&NB9ՂXFfPр1HBct9+lnIдؑfŸ́4hR?N|M 1cNp6uahYfűK&#y Մά048-w,Zx8tG[cp&l:h:] GV GBV#q3V(`87BͦDZ[cpL.0cm+hi!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`ƍ  XFfPqpƍ! fc䭱M&NB1 K#F#$]=G]p<GgV[KՖi<[tŭM6M4L.s 0  XX@Q BͦDZ[cpL.0cm+iAf .(@aEhR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t άj?b@ F)Ln6%mi2t( (,aH:kWO|i7Wg$!:`@D6uahYfűK&1'V ά048-w,Zx8tG[cp&l:h:] GV4GBV#q3V(`@0|R&m6=Jdt-1i[J`Y#$]=G]p<GgV[KՖi<[tŭM6M4L.sXFfPpPpn)Ln6%mi2t *JQ)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXH@Jn&j BͦDZ[cpL.0cm+iE 8IAxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh@(D%b75bA!1Ll{7 Zc6ҶZË GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0` XXA?␄3irV&'KiJQk.Ql)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX@P`d%b75bBͦDZ[cpL.0cm+iK{F5%5lKQdT݅#$]=G]p<GgV[KՖi<[tŭM6M4L.s 4b?bCAHBct9+lnIд mm(0%R?N|M 1cN p6uahYfűK‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9ՄGBV#q3V(`?BͦDZ[cpL.0cm+iD$ (6xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh(80 XXƎ! fc䭱M&NB1 84퐤ĝ54b?ǐX@lCiwz5cAx7 fɹдNu`Jn&j BͦDZ[cpL.0cm+iR}@ GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4`(2?bC4&7IMc4:] L`V҃˒"xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`8HJ?b@! qHBct9+lnIд mm(=)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX8 H:?b@HBct9+lnIд mm(=xxyG GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0`88%b75b ! fc䭱M&NB1A"xtFuv}LGGgV[KՖi<[tŭM6M4L.sXFfPᠠƄb3irV&'KiJP}DAĝ54b?ǐX@lCiwz5cAx7 fɹдNucFXFfPP@qHBct9+lnIд mm(>ll]Ssĝ54b?ǐX@lCiwz5cAx7 fɹдNucALՊ4oLR&m6=Jdt-1i[JBnH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`F GBV#q3V(p`oQ!1Ll{7 Zc6ҶF`QXG(>4ĝ54b?ǐX@lCiwz5cAx7 fɹдNu`t%b75bHBct9+lnIд mm(Ʌg$ GIZ{#O>&#y Ճ#y  G4֞-:]&&掚&NB9Ղ!+ 0 w BͦDZ[cpL.0cm+iDf>L(ɀ#$]=G]p<<ՆekO.klnD͓sGM'Kh`BF#!+8$g;&7IMc4:] L`V҈ |T6Bt֮#nϸIBu`lCiwz5cAx7 fɹдNu`Aƣ!+4 `?BͦDZ[cpL.0cm+iDfB#$]=G]p<<ՆekO.klnD͓sGM'Kh`A GBV#q3V(h8pOv)Ln6%mi2tĝ54b?ǐX0 "?:]ެMi}-mhnhdt-lXp%b75bF! fc䭱M&NB1e@a4xtFuv}LGGgV[KՖi<[tŭM6M4L.s4h2?bCA&7IMc4:] L`Vҙe<)'Mj?>&1'V ά048-w,Zx8tG[cp&l:h:] GV0 % XX@8HHBct9+lnIд mm)UA"xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh(("?b@! ?.)Ln6%mi2t2ll]Ssĝ54b?ǐX@lCiwz5cAx7 fɹдNu` p`D%b75bA@8!1Ll{7 Zc6Ҷc*W0 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0 XXF! fc䭱M&NB1BABt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ XFfP @h/>)Ln6%mi2t8>YBt֮#nϸIBua#y  G4֞-:]&&掚&NB9ՌXFfP Hрb3irV&'KiJSĝ54b?ǐX@lCiwz5cAx7 fɹдNu`A#!+8hЀov)Ln6%mi2t8>Xօ#$]=G]p<<ՆekO.klnD͓sGM'Kh`G GBV#q3V(`_𑸤!1Ll{7 Zc6Ҷ s,#$]=G]p<<ՆekO.klnD͓sGM'Kh`F !+4`G;&7IMc4:] L`VҜaNe#$]=G]p<<ՆekO.klnD͓sGM'Kh`Ƅ!+4h.)Ln6%mi2tk6.R?N|M 1cN p6uahYfűK&1'V8r?:]ެMi}-mhnhdt-lXP@%b75b! fc䭱M&NB1EL0<)'Mj?>&1'V ά048-w,Zx8tG[cp&l:h:] GV4h(J?bCF\R&m6=Jdt-1i[JlrU5aH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`#!+8 0oBͦDZ[cpL.0cm+iTaP YH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`AXFfP( 8&7IMc4:] L`Vҩ񄔱FBt֮#nϸIBu`lCiwz5cAx7 fɹдNu`p8@J?b@BBA?@!1Ll{7 Zc6ҶTdA,jkBt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ճ@Jn&j0'! fc䭱M&NB1YXMt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ XFfP8Ё␄3irV&'KiJU,F GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0hh%b75b! fc䭱M&NB1](u%T*‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ!+  ! fc䭱M&NB1](,F֖ GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0 XFfP(@0@77&7IMc4:] L`Vҭvh:]u#$]=G]p<GgV[KՖi<[tŭM6M4L.s GBV#q3V($4&7IMc4:] L`Vҭvh8R?N|M 1cN p6uahYfűK&#y Մά048-w,Zx8tG[cp&l:h:] GV0`(%b75b! fc䭱M&NB1q˒%D xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`0H:?bCBA␄3irV&'KiJU <)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX0( %b75b HBct9+lnIд mm*0@D)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXp@%b75bؤ!1Ll{7 Zc6ҶvYAR?N|M 1cN͝X`hpZ?m.VYlq>4L74t2t ά % XX|R&m6=Jdt-1i[JP)o0Ʊ6xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άhr?b@A>)Ln6%mi2t\ n-pR?N|M 1cN p6uahYfűK&#y Մά048-w,Zx8tG[cp&l:h:] GV8 h*?bCAGؤ!1Ll{7 Zc6Ҷpy[k"xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άpP:?bCؤ!1Ll{7 Zc6Ҷpy5 GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV4p8%b75b ␄3irV&'KiJUi@HaeY7aH:kWO|i7Wg$!:`@D6uahYfűK4L74t2t άhQJn&j 3&7IMc4:] L`VҬHJ@p (4 (*n‘t֮#nϸIBu`lCiwz5cAx7 fɹдNu`ABALՊ 7&7IMc4:] L`VҬHJ@PPhQdT݅#$]=G]p<<ՆekO.klnD͓sGM'Kh`BQLՊ !1Ll{7 Zc6ҶbEP IE!SvxtFuv}LGGgV[KՖi<[tŭM6M4L.s XFfP8(8(`&)Ln6%mi2tXfY7aH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`AAJn&j  ! fc䭱M&NB1,҃@, ĝ54b?ǐX@lCiwz5cAx7 fɹдNu`BF!+4 $&7IMc4:] L`VҬ,R?N|M 1cN p6uahYfűK4L74t2t ά  XXࠟ>)Ln6%mi2tBZ2H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`AF!+8 ␄3irV&'KiJT] < ĝ54b?ǐX@lCiwz5cAx7 fɹдNucBA!+ 4'`R&m6=Jdt-1i[JHJ@ (*n‘t֮#nϸIBu`lCiwz5cAx7 fɹдNucB#!+␄3irV&'KiJTM \$p xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t άh%b75b !1Ll{7 Zc6ҶH (%\*‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9ՎGBV#q3V(`v)Ln6%mi2tDrMxtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`00 J?b@ÁBͦDZ[cpL.0cm+iG{ 2Bt֮#nϸIBua#y  G4֞-:]&&掚&NB9Ռ XFfP(0 @?\R&m6=Jdt-1i[J8!Ssĝ54b?ǐX@lCiwz5cAx7 fɹдNucQLՊ! fc䭱M&NB1&UJ GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV05 XXF! fc䭱M&NB1&UR?N|M 1cN p6uahYfűK&#y Մά048-w,Zx8tG[cp&l:h:] GV8 r?bC  b3irV&'KiJYxaH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`!+  ! fc䭱M&NB1=˧xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά`(@! XX`qb3irV&'KiJڷcO,)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXQLՊ7`.)Ln6%mi2tyO,)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX8H8B?bC@p>)Ln6%mi2t-f GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV48hB?bC~4&7IMc4:] L`VA GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV0 $` XXP8@ob3irV&'KiJ"xtFuv}LGGgV[KՖi<[tŭM6M4L.s0j?bCb3irV&'KiJZ xtFuv}LG9͝X`hpZ?m.VYlq>4L74t2t ά` p XX`A?BͦDZ[cpL.0cm+iP%‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ճ GBV#q3V(`8H70&)Ln6%mi2t@\@ (!H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`#!+4 'v)Ln6%mi2tKlAH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`#!+ 8o0&)Ln6%mi2tKlED)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX00 @%b75bb3irV&'KiJmmLl ,{H:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`Jn&j ! fc䭱M&NB1(ڙ0X 8R?N|M 1cN p6uahYfűK&#y Մά048-w,Zx8tG[cp&l:h:] GV 0h%b75b! fc䭱M&NB1*ǝ \ GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GV  8 XX !1Ll{7 Zc6ҶET %D)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX00AJn&j ;&7IMc4:] L`VhxxR?N|M 1cN p6uahYfűK&1'V8r?:]ެMi}-mhnhdt-lXPPP%b75b0v)Ln6%mi2t,*\R.)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXQJn&j0&7IMc4:] L`VlSo.J)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lXQÁLՊ04`R&m6=Jdt-1i#0(&#y Մά048-w,Zx8tG[cp&l:h:] GV09 XXF␄3irV&'KiM,F0cBt֮#nϸIBu`lCiwz5cAx7 fɹдNucGBV#q3V( 71HBct9+lnIд mYVǸ)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX%b75b!1Ll{7 Zc6ƥm(MiS GIZ{#O>&#y Մά048-w,Zx8tG[cp&l:h:] GVGBV#q3V(`'BͦDZ[cpL.0cljVҖ $xaH:kWO|i7Wg$!:Ñ<ՆekO.klnD͓sGM'Kh`Ƅ GBV#q3V(hѠ.)Ln6%mi2t[Ja tyT‘t֮#nϸIBua#y  G4֞-:]&&掚&NB9Ս#!+8`8G BͦDZ[cpL.0cljVҀ.3GO,)'Mj?>&1'V8r?:]ެMi}-mhnhdt-lX88H XXa F)  A 0Ƃ? 7 fɹвmr3ͦDZ[cpL.ࠀLnMH @H И%UI$ fc䭱M&NBҳcAGBf ML fc䭱M&NB1Bct9+lnIд m0 ;qh /3q?M6M4L. fc䭱M&NBҳ%mmH:kWO|i7V Z5cN !,͝X`hpZ?m.VYlq>4L74t2t άh(8H"?bCF~4h`  H(@AAƄz3dDY%d&m6=Jdt-%ʒ[h.PJct9+lnIд *J()7IMc4:] Ik#/:h&m6=Jdt-%1)栔3irV&'KiYmiK{UIb˄(ɀZ Ln6%mi2t֕RkX$ 2` SͦDZ[cpL.bE[!%xJct9+lnIдBV"P{d$qKya(%1Ll{7 ZV!+(=UTMA)fc䭱M&NBұ XAiKya(%1Ll{7 ZV҃-7IMc4:] J]F7oA)fc䭱M&NBҶ[#4Jct9+lnIдM研3irV&'Ki[cp)σ&A)fc䭱M&NBҳ%m, 97IMc4:] J er Ln6%mi2tA+j$&m6=Jdt-+0V97IMc4:] J NkȠ3irV&'KiY&m6=Jdt-+0V^%1Ll{7 ZVa2r Ln6%mi2t"TA)fc䭱M&NB'KT>Jct9+lnIдӋiU6䫁p [ Ln6%mi2tqm*\p.R q&A)fc䭱M&NB >N-TKJXn#%-ل3irV&'Ki ҪmW%,@ lIPJct9+lnIдƔBh< Ln6%mi2tҘM&A)fc䭱M&NB[Uz Ln6%mi2tҮɣPJct9+lnIд$ 'PJct9+lnIдZVSͦDZ[cpL. "P}3irV&'Kic5l[Z6t$ Ln6%mi2t=)yk&m6=Jdt- {S $Ѩ%1Ll{7 Z@8n <&m6=Jdt- {Uy4j Ln6%mi2tF3irV&'Ki1hI4j Ln6%mi2tFkfSͦDZ[cpL.'ЉD$&m6=Jdt-. >J 'F3irV&'KitI"Q8[0&m6=Jdt-. >J=SͦDZ[cpL.'ЉQu&m6=Jdt-. >J%1Ll{7 Z]0}IPJct9+lnIд`$*&kfSͦDZ[cpL.!%xJct9+lnIд$q4j Ln6%mi2t =7IMc4:] MM4(Jct9+lnIдK {Jct9+lnIдK .7IMc4:] MM4(a(%1Ll{7 ZjmDi48} 3irV&'KiƗ%[#(%1Ll{7 ZjmF<A)fc䭱M&NBSo.J1J Ln6%mi2t|irSJ Ln6%mi2t|irSIDfM 3irV&'KiƗ%=c7IMc4:] MM4*o:i7IMc4:] MM4*֖A)fc䭱M&NBSo.J )b3irV&'KiƗ%\ FIPJct9+lnIдKJXn#%-ل3irV&'KiƗ%\ FJ[5 &A)fc䭱M&NBSo.J9$SͦDZ[cpL.cΔ&m6=Jdt-4DtF3irV&'Ki%qeJ Ln6%mi2t"Q:J[5 A)fc䭱M&NBDJ1IA Ln6%mi2t"Q:JlrSͦDZ[cpL.MSͦDZ[cpL.5h&m6=Jdt-4iDhF1-7IMc4:] MEd %1Ll{7 Znh颈Jct9+lnIд mm( )SͦDZ[cpL.0cm+iE 8IG&m6=Jdt-1i[J[1(٫e] B7IMc4:] L`V҈Ik.P}3irV&'KiJQ -paJp}3irV&'KiJQ -paJ83irV&'KiJQXE[X Ln6%mi2tH57IMc4:] L`V҃˒"SͦDZ[cpL.0cm+iA&%1Ll{7 Zc6Ҷ\<<3irV&'KiJP} A)fc䭱M&NB1]%1Ll{7 Zc6Ҷk6. Ln6%mi2t퍋7&m6=Jdt-1i[J#0(,DesZ Ln6%mi2t06lh%1Ll{7 Zc6ҶF`SŒ< Ln6%mi2t0l3irV&'KiJQ8=%1Ll{7 Zc6Ҷ [Jct9+lnIд mm(@YE,M 3irV&'KiJS,]Qg3irV&'KiJS,],E7IMc4:] L`Vҙk6. Ln6%mi2tʧJct9+lnIд mm(ǐT&m6=Jdt-1i[Jp}3irV&'KiJS&m6=Jdt-1i[Jp}A)fc䭱M&NB1Se<<=7IMc4:] L`VҜaNe 3irV&'KiJQcbꛘ 3irV&'KiJQ=7IMc4:] L`VҀ.3Gr Ln6%mi2tTv.(,a%1Ll{7 Zc6ҶR.qejJct9+lnIд mm**Qd 57IMc4:] L`Vҩ񄔱FPJct9+lnIд mm*ɀXՖ֠3irV&'KiJU,F%1Ll{7 Zc6Ҷk Jct9+lnIд mm*l6 ]IU$J&m6=Jdt-1i[J 2jMik&m6=Jdt-1i[J t =ւSͦDZ[cpL.0cm+iVaTKE7IMc4:] L`Vҭvhjd`SͦDZ[cpL.0cm+iVaUJtTE7IMc4:] L`Vҭvh%T Ln6%mi2t\.\!,"!&m6=Jdt-1i[J#'3irV&'KiJUaOX Ln6%mi2t]P|rSͦDZ[cpL.0cm+iW-8FJct9+lnIд mm*]@qmcPJct9+lnIд mm*]@4(%1Ll{7 Zc6Ҷpy-8FJct9+lnIд mm*J8E7IMc4:] L`VҮ44(%1Ll{7 Zc6ҶbEPXpY@(%@M Ln6%mi2tXfP IE!SvSͦDZ[cpL.0cm+iV$Y 8Y7h%1Ll{7 Zc6ҶbEP ƒ@ B7IMc4:] L`VҬHJ@ (*nJct9+lnIд mm*ċ4(A)fc䭱M&NB1,҃@, &m6=Jdt-1i[Jܲ#h%1Ll{7 Zc6Ҷ͒mDf%1Ll{7 Zc6Ҷ͒mDf%1Ll{7 Zc6Ҷ͒mU-PJct9+lnIд mm*%TK[%ܔd[ 3irV&'KiJT%s SͦDZ[cpL.0cm+iQt_P(>Jct9+lnIд mm*."($A)fc䭱M&NB1@IWA7IMc4:] L`VҢi%D0Z Ln6%mi2tDr9A)fc䭱M&NB1.\RA%1Ll{7 Zc6Ҷq˒4b Ln6%mi2tF)0A)fc䭱M&NB1.70A)fc䭱M&NB1&UJA)fc䭱M&NB1&U Ln6%mi2t 4®57IMc4:] L`V5 A)fc䭱M&NB1=˧SͦDZ[cpL.0cm+jau<@&m6=Jdt-1i[V & Z Ln6%mi2t-fA)fc䭱M&NB1%`yJct9+lnIд mm`zA)fc䭱M&NB18A7IMc4:] L`Vh.K ͠3irV&'KiJmd"SͦDZ[cpL.0cm+iR% Ln6%mi2tKlEE7IMc4:] L`Vhjd`QcPA)fc䭱M&NB1(ڙ0X 8 Ln6%mi2tU$J&m6=Jdt-1i[MHSeE7IMc4:] L`VhtrE7IMc4:] L`VhtrD3irV&'KiJmtOA)fc䭱M&NB1($QPJct9+lnIд mm6:i笳PJct9+lnIд mm6:i笳J8 Ln6%mi2t3irV&'KiJWGFJct9+lnIд mmcO-7IMc4:] L`VlSo.J,ǶPJct9+lnIд mmfU6䪖w(%1Ll{7 Zc6Ҷd|irUM(%1Ll{7 Zc6F`Pyw:WJct9+lnIд m@YE,M研3irV&'KiMKd˸ҸVSͦDZ[cpL.0cm6 A)fc䭱M&NB1qgM[&m6=Jdt-1cRY3irV&'Kic * Z Ln6%mi2t[Ja tyTJct9+lnIд mJPh` 4$wH800?# AF3dDY! `=<)ř: Xj0`HiIZ<6ualb&&掚&NB‚ H9#[cp&l:hFH5j q=kĘ=M4I0`H8x  FS%YQ2/\j(0_gM4)ř6 @ =<)ř:Xj,!X`XX 0@`XX@Xh 8p`H 1:p6nazKlnD͓sGM'KaA$k @63V+XSsG=مkqtep ?{NE$+k$0,%:p6nazKlnD͒]ZA$k-M6M4ID( 0 p7 fɹаFH5j&&掚&!A$k-M6M4L`PA#I$`5 ՊC_@P 0]_P\R̝XhB@ 司Qk 8Ph$`  p h p1:p6nazKlnD͓sGM'KaA$k-M6M4MBB H9#glfV;4o+;1O8QOya9.͟p/`5j2Cy caaI k BY @A!(司Qk=١zs !e@jYvYxlٹ-M6M4L.4rFP4L74t5 $i \R=ayXƘ9k<'9퉓{^F p0>E{-"Ŗ&MB XQ嶤vp.H5Ap8('  0Ƃ? 3dDY%]Y2  0p0@ 0p2  0p@@ 0pB   XhB@ 4`@(HH0(@  F XhBBB`сA4`@A! @A!(? O?0gƁ!ࣂ? $ @H8'  y &&掚&NB[>DBmhnhdt,jJ[cp&l:h:] $ [cp&l:h:] &.6e7 fɹвX}&&掚&NBɶ [cp&l:h:] & &&掚&NB-mhnhdt, 4L74t2tIfFm`B1 kk#+@ b՝ab& ./usr/es/sbin/cluster/events/acquire_aconn_service@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/acquire_aconn_service.sh 1.15 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)92 1.15 src/43haes/usr/sbin/cluster/events/acquire_aconn_service.sh, hacmp.events, 61haes_r714 11/28/11 15:01:14 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: acquire_aconn_service # # # # Description: This script is called after a service # # interface is acquired. swap_aconn_protocols # # is called for each for each standby interface # # found in the network. # # # # Called by: acquire_service_addr # # # # Calls to: swap_aconn_protocols # # # # Arguments: service_interface network # # # # service_interface - the new available interface # # network - the network name the interface is on # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.15 $Source: 61haes_r711 43haes/usr/sbin/cluster/events/acquire_aconn_service.sh 1$' HA_DIR="$(cl_get_path)" OP_SEP="$(cl_get_path -S)" STATUS=0 if [ $# -ne 2 ] then cl_echo 4120 "Usage: $PROGNAME service_interface network\n" $PROGNAME exit 2 fi set -u SERVICE_INTERFACE=$1 NETWORK=$2 STANDBY_ADAPTERS_INFO=$(cllsif -i $LOCALNODENAME -SJ "$OP_SEP" | awk -F"$OP_SEP" '{if ( $2 == "standby" && ( $5 == "public" || $5 == "private" )) print $0}') STANDBY_INTERFACES="" for adapter_info in $STANDBY_ADAPTERS_INFO do if [ $(echo $adapter_info | cut -d"$OP_SEP" -f3) = $NETWORK ] then cltime standby_adapter=$(echo $adapter_info | cut -d"$OP_SEP" -f1) standby_interface=$(LC_ALL=C clgetif -a $standby_adapter) RC=$? : exit status for clgetif -a $standby_adapter is: $RC cltime if [ $RC -eq 0 ] then STANDBY_INTERFACES="$STANDBY_INTERFACES $standby_interface" fi fi done for standby_interface in $STANDBY_INTERFACES do cltime echo "Call swap_aconn_protocol $SERVICE_INTERFACE $standby_interface" clcallev swap_aconn_protocols $SERVICE_INTERFACE $standby_interface : exit status for clcallev swap_aconn_protocols $SERVICE_INTERFACE $standby_interface is: $? cltime done exit 0 , ljl#+!Ub՝ab&0./usr/es/sbin/cluster/events/acquire_service_addr    et #=adinors$_cfhl"-/ACELNOPRSbpuv()1DIT[]gmwy|,.2:;FGHMU\k{}&'0357BJVx !*46>KWq9u#oBk LA X@K/$*aINxܬfbQ(TK|.TOO!@@ }KǦYi\:vK蛩@RxFu)w'tҹpєރmj^3RU;кv`[+A*q!\⯴0!u/Լ< TBEǑ&xv3d cJM59r ԇQsPf*>u#oBk L`X(0PhǞԚ8#ьP @FT kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵj^M ڀ 4Qz{\)j^SBO3o~ <SNP*ӊ O]XOKN\e F]Ztu>ҭN[`/FU<̢N|QꅽgOJ[`-ΤmRy]tspwqVYʜ RԼ| T.`ԍ J0Ftt˝IO3(S&iT_:RaJZ5(LG49m)FJ_5d&hRj_᡿*B&M0u)FJZkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ֥-kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵKRm_YvzTm:|kRԼ:fVb&0q̚M=BєE;J.Կ;t"axږ2j J;8d-K&`*k˶=7RjZ5(L0-KZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkR&0MҦ +J95xpk^/ΝyS]. 2|/8yqu`(MҦ,0bMA |a՞g^W g]W\1_Qƣ]yS]. 2|/8yqʬԠ`1_ W q +ב=7϶0RkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ֥y6P/1SF6{\)j^ &*T1]IZ1gomM;HХ/k*8O(ºH>u>ҮU8<|a#R!Z1ΤmVLRs Vmzm0q3o'T RaoSN(6c{JR-4v+RETʹWNRjFN|iWB*\QJ:JiqiV]I@,1|.PUiV6wС TSN(6cs&jiz\)[u$Z)` Pm0_ifjS|xɫښ|FޅqiW6V]IJXmiWVSs'UM󺅩` B)o1WY;^7iٓWo:\aT06V]I[gUM󺅩j^>Bf*0_ X'$t=ͺF7ΕNu>0& X&yjR|*c :U9G'H];1]IJZkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ֤MA |a#=tXN1Sl6"3STΦ!_,fWQ0`u#oB0g:S`c5: =jWpDPɃ3 `0 ίŌdDQB%i=W6{tyÀ*Jό F7UmϴAs۬o*lN|QWnsryV3*FPB] Ը=snÂ`繷Gnxrc1( T1+ay4(z Oc000U G9sn1*RzݥX\LΤmVLR{;2jU+F2'_V+ÂA:h  X'8P Ǔ5-i6Tҭsnc.|ԍ Rע;jiz>0'υXdWFޅMsz87qB"Tf4 <2Iч*yr%FcMȈ0aȈH =,Vc'R6(fNdȈfd^phTVԍ =`szөz5*^0'τ]X+u#oBz,8,ǒ$ սksR6+Σci4}WD41_"8cHУވHKlĩ?Z15o0z=RΤmP# |Ql6jz86çR6(3WPW1`繷[ᜃ`繷GnjtUb1ދ $@0buoG=ͺ@ sM<_@Q WDqb1ވF6{ԍ =BJ 1Sl6 9mҿJW/W W/R׽ҭ87[[۠9m#J^`繷[UN\cjz8q`繷[&P3 F2l6|3l6_vۦFڞfO5ΐbq=ͺ>vۭJĄPW`繷L9snbTПji)__)__b@P ~Pm0_ifjS|j^{J[3Ru iO6[=Z LU{U9m֌eO:J3Ru ah&ގ4 Pȕ.g8B(D_hO qB"Tf4LL (Xplf0Jo,fNdȈfd^phTV5)wPދ WDqf73WPW}i>|"_jS|gHa ގ5jS|x(uIj!E^{J[3Ru sA|: M_Gq;YDf$$Jnu#oBbMpfU:i>|"W"$I4z8s'@Q4xƢ@Q4xTcO.Dxx5JF2l6|3l6_Ha ӛƁÊ<1ᜃ`繷XW qB"Tf/<](TJMv`繷G6{\o2z-zbW_vsqG=snq==1mLHHUΓG< s8pH8 pPB(DÆ8<,W':W\0$s 9m:C O8(H䉔"Lx@Gxpǖ snѶyslÂz +"92z-zb <<3 k&yD=ͺ=ѳHp$p<"&P81# p^>t!of7ÂM9h8Sˑ*3\q"&P818P40O.Di 8P G a;Xɑ Ш1_i=a2ȌW;YE+"8c3Ru  +Ҩ+{ô>u`5)wPދ $@0buoG5)wP: ^5z=RۙM󺅂9iwsna8Jo,3WPW1`繷[ᜃ`繷GnjtUb1ދ $@0buoG=ͺ@ sM<_@Q WDq1Glv38Jo, +Ҩ+ǒ$ 7q*yr%FcK9sn}_j X 4 Ƹa \Qiv 8Sˑ*35 sQ)_|Uu|=ͺWDsdZ(Ŷ3<xy2"1! giT:L 6{t{gΐ H<*yBE$LqcG8xÇ@vۦFڞfO5ΐboԑjy m7[hEgJ^RųFwH Wr ;mc%FbBX si==ͺ=ѳIJ_:vۮ"WDsdZ(Ŷ3<xy2"1! giT:LyD=ͺ=ѳHp$p<"&P81# pb H$ DG8NAsۭ(LHKJ,/9snjolxMO WPW`繷L9snbg7u6`繷G7u50z=Zq"n=#z/6{uU VFvfeHԪV7 sOAsۮThoԑjzMiVf7;=sn3L2#1!,;=sntnz*W0 Hwy8텼"qA_{SOAs۩iVjF2l6|3l6_# wj,[ǒ$ սksR6+Σci4p#0# WPR׃J;b1tsi>|"Rz mqiW6V{gUΤmV:U9P ah&ގ4 Pȕ/ ԍ ^5(TJƢ<+cg A4qn0O.Diw(@y"e# A(TJƛɑ`ÉE z8YlfNdȈfd^phTVDGF7ΕNu>0'υXd_l!ҌﴫHЭtsWaoW/R׫|"+;1Ssn(ivcgΓ 1SF6{\g" 9#=7p#0# WPW q,PLx@/!IoEv mBnsLK|8UAUL@`hsR6(Fk,sL@yp^}\JuUXEayň`+Ҩ+"9K yb%3Eα! giT\@xDUIΕҮ(B.&ϸ+3(hns29*MI ˈaň+__G*X/-Nu ;J%+@ a +ގL@`hwτ`6 ز~&'Vyԍ i*sDjtaZc.u#oB8py$IRך2vrԐQhK}Uʦi;LF\ۮU8y9&PbK":0hX8@RcT=DG:m7D˔,DI" ;J3^LBK0.PqʤJ1˔,D R/R"#TB"_c4ZvA_DG8@ a܍V$$*A3|jH]AG*X.P. <@"]J[1c1c1c1c1c1c1c1c1c1^ h4* 4"()Pq@' PF2B"Olj^ӭϺvmQOo >yOF./usr/es/sbin/cluster/events/acquire_takeover_addr   #e =adinrst"$_cfhlo-/AELNOPRSbgmpu().1CDIT[]kvwy|',2:;BFGHMU\x{}&0346JKVW!*57>Yq 9?j+<8@Xz88VIA &D9ap$$[a2ٽbql٨u׮$96ܐܢ M!.ECru\'!D|m V:!O NE%n RXܤU5qƪX0!u( X'qf`0a>)arՉ8 @` )y,-n^%rO,qz3e^a9e`([7 Xϒ*+#q7)ݗŇ eNmKՄgi M]b  "LB k @ O(trnQ"T7)GXr@IЛEmQk s$mDɠN@ M$" 0#@ A6dp 8880@(81c1c1c1c1c1cXw*.hdvGJ| .Msbb9i=K.۱gy1c1c1c1c1c1byT^STTzS{U6Ke]t1c1c1c1c1c1cUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURuy0Bd@V@ HHu4"HSMua7EUU|\dNjՃT qz7qysszFҸ%c7˅]X =&.xt.bWfy"@i2^<#7 lm`sMN㌄2К Qgh <*y+`oש _nUuN\_-Æ@0?&TQT[7qڤm,oV`14Es܁Ӹ/4Esޒ,mk'TSYܵa7˅]XWgrah4 Wgh=,PQN)`繳`繳U=VzkiuEsYuoHcn`繳G4ӵ֋`繳>2)UYbbySAsg{H"bil6w{;@Kr"$XzX+8e,@Es3RkSMv((p_JEsg9l9/ʯȇ<bEs bàmE1(j/Âp,LO 4Vh=-5q;zXSAsgl=sgk/hzܬ-=.iޢ]QkpV{pۢ9l;a^iSf_sN4DMٽXm/y^&Ƣ*f`痹M[=͝fq"d p_JEsg9l9/ʯzȑ`~Ic@ɔ@cKC=sgx_&H8e,@8L;;;mv_-rAtp7U֊v5y]KEsh`mڰ &kEsI@y,Pc[`繳k:Ň@ڊc;Ep8P_ @zX6Ǣ9lv((pZ91F-&z 4a/I^ 1sA𹠓LA[=͝f\-;wm7Esޖ&'{ LA39𹝊 p_\${ "9l+4DphU„I"HC8xT*QbbyǼ 4;c3 v(( s<(`繳kÁC"L0$PP;E#xQsgh9Y:# P<(Dx$$< @pᣏ@@y`zBI_+΋&9m_O_'Q~i{`1oMU2|pf[[vb@a^iSfijQz,^r%cM)kƢ*f``繳EsVr__"ƁYǓ(bƖz-$Mc\q XCqgzsMl6vH$/P`|.gbi:, ˆ{;A8$8&@aȒ& @Æ<=Ǖ zXq4M2 p_\${ "9l+4DpPဪD14q,@<3Hb).0xZ*)',gL;70$PP;  $ 0!"E*,iMqq΋qIMqqÁC qB$Ǒ$L@! x& N@H]^1ub+΍W FnVsn^ei+!nb愍    @( P .J ;\ܥ*9Yųi+-;|嚍]6s4$l.x$@ Y[@1ub+΍K#es ‹(X@$Ì\Б𹜵).pgCa7<Zꪪtē|noV34Q\8ĶscӷDžd*sMKw͢kWKX MqqaE`, aV3BSl\bG/LO< TLI397LPS@^W3k"%j/ȈXWq >SA;kZLc1c1c1c1c1c1c1c1c1c]df_.h(M .XެZuѹL_u$ K1c1c1c1c1c1c1c1c1c1Y >SBmzaQ5r B$q >SBmz/&/&E5s&3nx԰HkV3k"%j/Ȉ_nfkb9ZMEa^vY.h(M K%fZ.UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUKYBć0 TWa3JyA@xXr|"N8ޣT@M{TP0,LO< TLI397LPP;sƄ-qՃ8484 'D (Ï ED \4٧,r\ӹ^,ؽԽa84>x_=EU4"DI1&+X"$D ÇG\H9 w8sMl{\f乌\j>|ESpp%u| sM̛E<^WYq֓Me7;j>5tU2iKeK0Z&RTu, & @H!\`vV<&ڧ5sIJuj*rcIX梪7)!oK D C@`ـ D 0qRabiP0 ,ݯ D(K.ԕSEv7 IX򸽪hWrsN._bTLN &6Nbwjp 3b6k/HL蛞5Ǔ(bƤV3 _DDycݝ/iXP0D< EE$Vq XCDx$$< CK15y2 P\Ey2 PgD8e,@ԃ>3b6k/HL蛞5Ǔ(bƤ/0aǖCRVV;T{e.EA-yW7^i#esf. jcUM}.1Y Af%c4%6%:(Ns6kBX1=億  EE$Vq XCDx$$< CK15y2 PMqq&Q 蛞5Ǔ(bƤsX|De@gDME Wl$DI|Ӹ/fE UɢH2 ԕfE UM,$i'%"D2J*0(* \E:29訁PNlSqF6kzza7< ep ln#+3b՝ab&}./usr/es/sbin/cluster/events/admin_opak  #e ainorst"A_cdghlmpu$-.=EIMNORS\fv)012;CDGLPTbwy(,/3679:FUVY[]%45Hkqx|&8Bz{}!*'+@Wj "I,8HP*PHg"D- nA(/ov`ex|Nx<+9Iů8qahX`,a8hXhX4,40w\s͢9 L2@Xj Z *WA)^QHU fm!I0> qMPXaaX0dUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS+Wڭj*o_+ rt 9\Jqln|-Bx'kw4Ok+-.6|&sQt\U(*鲿koB ף޼ܣQ;EW=Ҝ[7WZٺb6nz[^)e^Sː/%#r][ڲ9~.z@~W≺]trZUs)ųY_kf>[^a/+`)z;7չey}7KeQtM9|+Nڊ{8p-UV+pM~GxEF BS VŜ1hMmA|-Cy{QUte-?4=fmŜAx|s+eqQpoUjWe=).pN_+ okf?׍ZųtSY_橽uEn8W5M+qB<Ӿ \[7Aq lNfWe+G2f=eV_ on$"姵AfˍxX[)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS+Wڭszmz*\e.HEMx7=A;IrrOjWE%շ@')[|(,yv:rLI9=6.8)+&X<&<9'>gע4- -hN47[Ivhܤԭp"^;a chF\祌*PDĈx^6<%uf]O `cUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUL\UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSʔ&q"`vX#v,@ c;J&8H1kLqU/Yy1rRbŨ9n+0)FK+$PHENCl74Q;ڊ{8pnlib )g=-M~A$$Slf|l ^0ed6Xo`ulr -6nzX 9 /)y\L 6 @%\d`8 8HA$C5StbZт)93XAsf>\p[AE;+!rg3">6rW\`6`4﷙t`mg2YY%]d[;gfYK;AE;+!rF\d?KÇy" ( @Ĉc$D$Dy 3|Xi-֍b|Uy׋9E6R)5i%4A6+g2YY% ;rgD\r󂭛y$[7A6a .Y`&8H  W3ѱU=K3jlFK+$}Cl4AIN*ڰ~9p"$(&y"%8Pq"Lg"X<gpsL عt.R+Qg3" f|WZ Ew86 YVIceClҶ pt`'kvX^SI:1rEO5/5ed6X`X/6r kЃz 6f=h yg ESkеr AHGסj3, {3o ၡm\N찼jtc吋k^6k?ђ,l_fm<kkе6=.!k?Ãe>OjN j(/ZIlFK+$}Cl^iȪSgYeh{Vp0DIPLDK pn0DIPLDK p=Mx)wKYy-z ;QLY8n=.OjNg3MgPƩ-%8Hg3Mgن2VȘZٺ-e9?4B,j),Y1vSc$ ‚M;{?lD@""+g2YY% ;rg懨qq2.[c{;ţm!i\nygn, vf9A9,Atpn4)wypZٺ]89+g2YY% ;rg%u9~Jt.;9|YhFv.Y VIce3o 6iτӸEW=Ҝ[7 \[7AHQmKZ0B+Dqw6, ̗Tr 3N~cAhF\;ųt8 @!.K#<#^3NRtסc1&z;s{TչI_8j\jC-6Ϛn-ܓEdK,0,ٛ|9擇fm,o7%X5S+' 4AIN*ixb $ȶwU=jY tabH$S+9Af˰)L)L k.o#+db՝ab&./usr/es/sbin/cluster/events/call_conc_replicated_methodsdd#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/call_conc_replicated_methods.sh 1.6.2.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)56 1.6.2.1 src/43haes/usr/sbin/cluster/events/call_conc_replicated_methods.sh, hacmp.events, 61haes_r714 9/23/13 04:21:36 [[ "$VERBOSE_LOGGING" == "high" ]] && set -x version='1.6.2.1' PROGNAME=$(basename ${0}) CALL_OUT=$1 CONCURRENT_VOLUME_GROUP=$2 rc=0 METHODS=$(cl_rrmethods2call $CALL_OUT) for method in $METHODS do if [[ -x $method ]] then $method $CONCURRENT_VOLUME_GROUP RC=$? : exit status of $method $CONCURRENT_VOLUME_GROUP is: $RC case $RC in 0) # Success continue ;; 3) # Skip normal processing rc=3 ;; *) # Something went wrong rc=4 if [[ $CALL_OUT == *online ]] then # : Resource has failed to come on line. Notify the cluster manager to take : further action. # cl_RMupdate resource_error "$CONCURRENT_VOLUME_GROUP" $PROGNAME fi return $rc ;; esac fi done return $rc; l k7p#+d b՝ab& ./usr/es/sbin/cluster/events/call_replicated_methodshoddd#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/call_replicated_methods.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)57 1.4 src/43haes/usr/sbin/cluster/events/call_replicated_methods.sh, hacmp.events, 61haes_r714 3/26/07 17:53:24 call_replicated_methods () { typeset PS4_FUNC="call_replicated_methods" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x TYPE=$1; NODENAME=$2; GROUPS=$3; if [[ -z $TYPE ]] then echo "call_replicated_methods: No type" return 1; fi # Return Code rc=0 if [[ -z $GROUPS ]] then METHODS=$(cl_rrmethods2call $TYPE) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then rc=1 fi fi done else for siblingGroup in $GROUPS do set -a eval $(clsetrepenv $siblingGroup) set +a export GROUPNAME=$siblingGroup METHODS=$(cl_rrmethods2call $TYPE) for method in $METHODS do if [[ -x $method ]] then if ! $method "$NODENAME" then rc=1 fi fi done done fi return $rc } # # main starts here # echo "call_replicated_methods: CALLED arguments $1 $2 $3" call_replicated_methods "$1" "$2" "$3" exit $? / kq#+ b՝ab& ./usr/es/sbin/cluster/events/check_for_site_downodshod#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/check_for_site_down.sh 1.4.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # "@(#)16 1.4.1.1 src/43haes/usr/sbin/cluster/events/check_for_site_down.sh, hacmp.events, 61haes_r721, 1612B_hacmp721 3/7/16 12:47:26" ######################################################################### # # # Name: check_for_site_down # # # # Description: This event script is called from the node_down # # recovery program to determine if a site_down # # event should be launched. # # # # Called by: node_down recovery program # # # # Calls to: clcallev() # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### if [[ -z "$GENERATE_SITE_DOWN" ]] then : GENERATE_SITE_DOWN is not set - do not generate site_down exit 0 fi # # If here we need to run the site_down event - do some setup and call it # PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" eval export $(cllsparam -x) if [[ "$VERBOSE_LOGGING" == "high" ]] then set -x version='1.4.1.1' fi # # clstrmgr sets GENERATE_SITE_DOWN= # if ! clcallev site_down $GENERATE_SITE_DOWN then exit 1 fi exit 0 ~B k6Fr#+u b՝ab&u ./usr/es/sbin/cluster/events/check_for_site_down_complete#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/check_for_site_down_complete.sh 1.4.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # "@(#)17 1.4.1.1 src/43haes/usr/sbin/cluster/events/check_for_site_down_complete.sh, hacmp.events, 61haes_r721, 1612B_hacmp721 3/7/16 12:47:27" ######################################################################### # # # Name: check_for_site_down_complete # # # # Description: This event script is called from the # # node_down_complete recovery program to # # determine if a site_down_complete event # # should be launched. # # # # Called by: node_down recovery program # # # # Calls to: clcallev() # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### if [[ -z "$GENERATE_SITE_DOWN" ]] then : GENERATE_SITE_DOWN is not set - do not generate site_down_complete exit 0 fi # # If here we need to run the site_down_complete event - do some setup # and call it # PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" eval export $(cllsparam -x) if [[ "$VERBOSE_LOGGING" == "high" ]] then set -x version='1.4.1.1' fi # # clstrmgr sets GENERATE_SITE_DOWN= # if ! clcallev site_down_complete $GENERATE_SITE_DOWN then exit 1 fi exit 0 CP( k%s#+@ b՝ab&@ ./usr/es/sbin/cluster/events/check_for_site_upn#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/check_for_site_up.sh 1.4.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/check_for_site_up.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: check_for_site_up # # # # Description: This event script is called from the node_up # # recovery program to determine if a site_up # # event should be launched. # # # # Called by: node_up recovery program # # # # Calls to: clcallev() # # # # Arguments: node name and start mode (same as node_up) # # # # Returns: exit code from site_up # # # ######################################################################### if [[ -z "$GENERATE_SITE_UP" ]] then : GENERATE_SITE_UP is not set - do not generate site_up exit 0 fi # # If here we need to run the site_up event - do some setup and call it # PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" eval export $(cllsparam -x) if [[ "$VERBOSE_LOGGING" == "high" ]] then set -x version='%I%' fi NODENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi # # clstrmgr sets GENERATE_SITE_UP= # clcallev site_up $GENERATE_SITE_UP $START_MODE exit $?  k.gt#+ b՝ab& ./usr/es/sbin/cluster/events/check_for_site_up_complete#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/check_for_site_up_complete.sh 1.4.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/check_for_site_up_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: check_for_site_up_complete # # # # Description: This event script is called from the # # recovery program to determine if a site # # event should be launched. # # # # Called by: node_up_complete recovery program # # # # Calls to: clcallev() # # # # Arguments: node name and start mode (same as # # node_up_complete) # # # # Returns: exit code from site_up_complete # # # ######################################################################### if [[ -z "$GENERATE_SITE_UP" ]] then : GENERATE_SITE_UP is not set - do not generate site_up_complete exit 0 fi # # If here we need to run the site_up_complete event - do some setup and call it # PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" eval export $(cllsparam -x) if [[ "$VERBOSE_LOGGING" == "high" ]] then set -x version='%I%' fi NODENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi # # clstrmgr sets GENERATE_SITE_UP= # clcallev site_up_complete $GENERATE_SITE_UP $START_MODE exit $? l u#+3Vb՝ab&5./usr/es/sbin/cluster/events/cl_ffdcr_s   #e -acilnorst_dfghmpu"$./EIv),=ACDFLMNORSTbwxy(:GPY'*012;>H[]kq{|}!%&+8UXz3479?Q\^j56g^b/du#4cc^"wܧY4c`pphfZ潲:;/Eyyvbt@ܶ8DgW1Ź)-A4Xfvזm-"Ŷ6-h34}:| 0ek yͰyG";|ʸ M=5*uB6AζO[|ξ7$]68adƘ/lɧ[chOcUlm9ɶM fd#vq"4~(tqx#Yeb [&=56c(XМfsݗ/3npBrky|ξHJ$mعZkY`#.g^k,ll`c(^ch̵|uykaP䅱6 3 bk i;\27|[/k|nyufSuZS_qvO6ADq׵F e:kV,M  $DS.k\ξW>f5.p:=q] 66OYv "$ ss:M\S_ɮ-X$"Pq "vc_ru=nu|| k\uim3BEz{6px<]o8l̍$ 읽5L<[\dd -3- 9E`fsݗ 43\oM~{^?ρu9;k_4exDZyzyz,vc_|γ$"Pq "<η9uA.|&u1iX-| ѕyz/8b`0AEv:eoe1{ZF-y).#9k):6falyն{ "}ˍŗ.uFSIl?d[6nik&bsf3fSCer[( bi56Yl (|5nЌr^nd#.md=4𸚉^z|9uY_c zl@̌uA =urM ek1w r,*994;1|,eIZ/X6AζM4Il(=J0قiOhs]b+>‡IZE0ƌҟ~q")8"aKXϼ4zC8 f-bК1shs]b+>vHcF1"^h&эs\ n[B̧@ҋlH#4_I1֮Ws޳9h |X"|MY=5?1S[zÚN@ƺOjsܹOMoei;s޳?8- x| Y4shs]b+>ƧS$Moec@B ]cle2\cN-ycF˔>S[b+>Wg4Eg.S(u0ך(4`jSJR)JR)JR)JR)JR)I[Lu62k{/t krO^p3|ی1aܓ_W=qa'{}1?~k{/zϴZ,9zϾp'le=^i)JR)JR)JR)JR)JRKcc)|V}X 'g[,99`PP\IY OVqa'au1>S[b+>1O)JR)JR)JR)JR)JR'ki;ur@<~Z#rku\Ol>CJR)JR)JR)JR)JR)IbCXϼrÚNÚY%?)JR)JR)JR)JR)JR)JRմg_q#e3t klVm>s7ւk6{gi{<ƽ9?կ|ی8ы@$nh^d`3Z9\"g[_K'|νh slpX)JR)JR)JR)JR)JR)JR"^h&ь(+   ( $*P!Q!2Ib( '\cN-ycF00<,@4 0BB$D "*D0Tn )JR)JR)JR)JR)JR)JR)JR)JRlw,9t kzϼGZ9\s堁ycւxϱ4Eg OAǭ chϱ"=4{;   (O֭@g׺5νqa'{}JR)JR)JR)JR)JR)JR)JR)JRA<>   h8- x| Y79Yxǂ>l 1>S[b+>x| YS[b+>x| Y=˔q")8"a)JR)JR)JR)JR)JR'V9ysay{e~n0ņgrO\XsI| O)_)>VW+擽>Ok5g)JR)JR)JR)JR)JR3Rd)`^ oOi;kEg4s)|V}cSZ\XsIs]b+>le2OXϰ,jƥ?JR)JR)JR)JR)JR)JR\XsI3Z9\#5֟ЍM7סq=`OҔ)JR)JR)JR)JR)JRb堀DV}vXϰ-?1~8cS1~JSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIzS\g,덦UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUIH8LH" D(p&Tk$9 &bsf3\KsE? BA 2 &bsf2A)gHGDLBJIFAXӚip@@s0B FQ!r!!fq ͷ" qFAs;[560#<<0ĦXu͇n.M$kks38s:@<鬁5āat rz[<є->hBi)R2g^1sl->20&$ (4Q!0xP[6ƽgQa3do΁Hx4BdCDC0 iAȆ @@:RPi!2!B`𡣃ā"*$& ajEI @8g^e8q\mv^ Ѐ#?EuIc]"J-  cYX׬¶97Q5 :! xfH@ҋlp@@OQmP[6ƽgͮ@Ѻ˳[c t BXfH@ҋlBlr3kSiE Mq rzFK)b]"iN؅,nz,k}[)b<DѺɭާpX`96A @7Jq<ؗbȚSiE8 ` 'y.ő4@ҋlBy=@5>𭎔y]"hFeًE- :!,t͉v,:[b8c8lKdM)4b&9l=ATB )4:mP%zϼ+dfMnF?΁HI0@ҋlp@@O$SiE!Clt <۞KxV!t ̻1he:a@%B )4$SiE Mq rzFIaAQmP[6ƽg#1ɭާpX`96A @7rzFe:[cB[B̧@ҋlBy=@5>f]]2OslrzFe:[b89l=#2J-(ik 4JXw2SiE!Clt <۞KxVu[Osln9'qi%:[cBw2SiE!Clt <۞KxVuf-LS8,0@ -0d@ҋlBlq;L)4b&9l=AT[>/t r^ei,r@<J- @@:JkMb^1slg^ůt ,1fN5Y;k'q`rnv:I+($"4jE@҃CnrhBkr1h{ j1\5יx31mr1%`^8 8@Bfu?@ iAB!CH\BC2t <1bSiF58lm h1k]"hp&($" 5ڀ.8&Z〰TKJ-  -zϼsJ1\dI2k‡(\[_jSb3`2e:[b45ă&@tdɔ\[^A4&r͐LN  1/2e:[cCQ>ps0| o/[xLcl#zkd=o/s_ie 0Q.†YV0ٔaCFN2qj4jEk6',jX0cQ '㠄?OvsX(=S,ʱ̦@ $  al(aLiN)yv+V@P0j1? -*U0읾eJո(p8T,L0 O Fp{rksK̄uͰyG#?3qw`jAb<u?áj3!u᜚vKkA5`8G>@gI1cyeYOY8H*& O' 0Q.šL[,#O'al(aHͮlrO'`!?[ >PiħOs9ћ\ٌgb/N'Y+ Ol:B;^Mnizl44p8LH" D旮&}x:Ll))-.hͮlv˃3nu t͈N, FSls!Myl4qwfu?ágRkQ>1cRMlw減s̃3}%e4ƒI  (4Q!0y[ >Zf_ (4Q!0~ CPi!2!B`Ԧ\nkkx τoums9ŬF-E˛^jk27|[,'vgAN=c;=sכl)&Z (4Q!0y 'ol.ɐz.v s[]p-g^{^W>ng$-=xL눻ezkddkܸqsls71ρm0gf.p:&givig->l0cYF5S}YV0ٔio/6AkѴg)1O'|9kOsAp8b׭5oaoy[@|t͈YByCמ״ρle4 Hջz'\vd*Wp7$ (4Q!0y 'oRn8TAPr)<ƛܵ;<ܸdM̌֟e;dնy#,'ksö.V0bE,tmeoط:̄{'oW!:_3$ד6eF3эxkτoFVb. ői o8Cto1-_5-:)f-7k^rzI$"Pq "CGJ $&D0THLBT-[$ DPT,@9l=#2J- rzƧ[Lz 'ddX|#iƒ 8@AăȊc[B̧@ҋlH#1V9y.ő4@ҋlH1ҜO6#˱dM1Zt (Ąd=X2d5?`'oW! Bh|-[xǁμŵ_dOcGā!bv#;|\ZoDkceJոnā"*$&!d*W "(* O']̫a b1.u['o&EOXfvzm 74b.μJ{"ٵvů9l=Fi(8y@ā"*$&!d*W "(* Nؐ9l=FcSIrAlntuz,_>aAăȊ  HDAE1t͉v,:[bAy]"n9y.ő4@ҋlH1ҜO6#˱dM<ѩ󸘶YF-F6Om|&-p^ne Zg^M5`Oh.RPt`q'νy kXg|&v|'9y{ODW=O'@AăȊ Jq<ؗbȚSiE$N'ز&N'YJt (ă)b<D1k)4h-cSIrAlntuz,_>aAăȊ  HDAE1-fSiE$[@|9y.ő4@ҋlH1ҜO6#˱dM1Zt (Ąd=X2d5?`f6m'Z3ͧ޽͘bzqku"3^=09;l| Em})gZشez v~zZ1mua+1/kqM7k̆ק1.W,]vr=M:1e"o5 P͊Ņygs\Z|'^N34u˕I$"Pq "CG1Qm8`8`J- Qv,F\[/B{g6НsuO'@,HbIBZK AK bm>g1 \M iAȆ !2+¤ qԽR\ 8< H@p J $&D0THLB&μAl\E=|νp>-h sl=5덙/ymA<ξ6 "|[,'e>pů1A`LBdCJ 0X/"D@pXadȆ( #&g[Io&!nw313=M?AE(8yDHLiB!Ce@88yL.8&0B@MP!?^&DY!2! @V 1M&lu3$cx,xÖ_9"\?͗&EOl[Yy)ckFA<:#gYp[@|1{ط:4Zf dH( #",҅apzC8&$  " ÃC6AζM~b/\;ŭFW{G27|[/k"*$&KMmrŝ|[/\dH( "$[/ e8LBdCJ/hЂ3)4->?0RLjSl:1 hXfumMqxYkKh8 t (āa3Ji58843gk[\fsM%g8 (8840ƇăDHkXƷ{lIAc $Y"a 0*H@X8 ,h <I aə (4Q!0y 'ol$ DPT,@=c4 rzFe:[b@`^8zC8&$  " ÃC6AζM~b/\;ŭFWXz^b,^7@-fSiE$[@|?88431mr18~kk,6c;nc]i@ҧbH<ƇăDHl)&5,F,ppphaAȆ Y;|d@'0@ Y "(5+NA,J UVqıTx ¦JtYآ.FFy˰EBc>իAĶ. ;@xp8 @@0p0p0pjtT(.3dQQ%iKX2 \0HYp,ȎgN(Ρsٛ=B焯B#3NH{XO"M&̣0.GZBKV*`ޡcLeSbcFacYRAXOc <er(ͤzFxd@Vr#OBg Uiڤ+UW%|"9bIUW$9nf Nށ fu>Nށ #Z.i @clzXCx16G+I݌+tޕM>N΁r/JɰNu,@$i BNZv(U<i5r$[}88#M@T;Q(ɠ:&Q(ɠ:txr*΁#i B%Y$pQv'J6x:/R:j.tπ8'!IWû=):9ŕ,%UcYiicV]e>Kb:UYz9֓Qp&0;tNG,N":M+0%g jBŲHs Q8 d ^]Ҫ͞ԁδ0=9]!/u3(t+U&K@lNaT\]Ҫ͞ԁδ45`AVMOW iqt9փA\@#ޔqAD]b OKmROM z pr{ ]!/F\ :MW!7V z|%`Ǡ芌WJV zAPuOD:ld IW4m'H 8=ɩHψ>0 zI8\]ts*$y͑J= x #i[Xn.9lh;da_ONU8VúӁiq:,a_ONU8U\%+u8WxwGDAzW0UUXV4!ca2tآNVlt^u\ + D84^|#MNxwc MKR-E'N9э>OZ!¿RԋD:zGғ +XYQ㪪䬊䕪ic0ErJzlQv'J6x:/R:j.4<Bp&øi)48¿t3Ҍ9%.2h)#ޗFMzKWFMJNCP|%^|t>0|ғ1*$"'Ig 椢hB^WFMt>>O( 9%-HAe!6&H icbdLBp&` $q&@Ac \ N JN.{dM8La_mPAW,< Ftic,< FtآNVlt^u\ zzJIvXôUzR'ńk2#M,qӶCYQv'J6x:/R:j.RnHD-֛j$|OOzQޜzQ'hX3hNy͑Jjx¿-]ځ-{cX*8h*zb{㞐{9銴O MCW!'=Z'OMD 'v04Z䎀{ڤ.t=tzI ]!/i5W3ZX, .UfE@ZME&L tN+9IKpCt@W#sԗY_؝U̕mVX-ѕYVcb:UYz9֓Qp&0'H i<;$[}88 ų:*>vM,qڬlQv'J6x:/R:j.tπ8&0'IN<ā<8'WbcM,qQOb:UYz9֓Qp&L;tNG,a_dJ'@M"8LԊӉ=9qӸH0zOR( ,aL*`i BXU&btg s&M'tA1jE)7pt^uOM6W[ 0H `)GDm'8;HEa_'di8=> "*'-6GsP.0{д+DA#+: Ri=i>G Epp39I:$t'#ޑe"(-Xi BȫJ/KauآNVlt^u\ +z "&Q0V N1B(Po%ȷWDzQR9֛c3rG@Rr=\\-b+2UicbǬWb:UYt" {&c3W+b'` (Zm@πpM7E,3K@ftآNVlt^u\ z9"Qs£'֋ûWPAkEg jBTd:ܑzX1:ܑzX¿PI rR$GD6 gGEE 976Ng l#+Ҵ`gAKW T|2dxC Ԅ:ޕ"Vxlb|ZW.M8 آNVlt^u\ z9"Q<¿>2dxC"GhtOJ:pxtTd:xwc pu#)9w [N9я>20FX.a,Qv'J6t^CQX=D8=0M6 g9e-ASS%Q8 fpTpTWb:UYz9֓Qp&0 MCDR.c3EI'CWe( W!dFX-ASCYQv'J6x:/R:j.!Ip&JQdwRIыI'CR. ӁNӃA"(-i BȫJ/K`rآNVlt^u\ +FVqqH=> ,.M8 "(,*cb:UYz9֓Qp&0 M/92|!QiGWJ'NJXCYP<I:8¿ľ#g5#|Fz.zi9)\ERX¿A'9$Rn@NܓAPp|a_E&D 8!Z&RILnG-!IWO'OJß|Ll9H+\&JM,q0ɒbtg s&L tNY_ȏic#(U<i5r==Ipt*zKW( A|.8Ģv] IMY_Ǯ@i BǮCb:UYz9֓Qp&]a¿ޜEZ.Gzr=g&z-BSzr=a WKicKآNVlt^u\ \%Ҁ9%,a_t*ùԋi5i1>+Xp$ Ui4Xp$ UiQv'J6x:/R:j.ܓAPuu=uL@':/R: d4C&LC+IW&Ch䎀{,`ql 4Xp$]Ҫ͞ԁδ +Qaaaaaaf:N( 0 0 0 0 0 0¦8x9DBtzY吚Ӭƍ=BH96s&bŏX5X:ؖvBkNfú%.avU id&;]jx:/R:j.|,lY4t-9֝glYt^u\Y_.BcM,lKNE;!5Y%O s&BJuנ4<ĴSZu@t^u\Y_%Y$p4t-9֝gj8|:/R:j.,a*;L}U\K@[ӑNMivL}U\E@ZME-Cd-z4t-9֝gl!k׃ s&B+]&>vEɰ4<ĴSZulNEɱz9֓Qp!e *E!6z@>2Eɰ4MivEɱz9֓Qp'E@X=D8AW4<ĴSZu%+[5^cJM,lKNE;!5Y5^cJi5WjN f"4<ĴSZuU8*vk5ԁδ0Vv z,dU9Z 4t-9֝gdU9Zpt^u\Y_ȫJ/K i` bZr) :ȫJ/K HI0ɒK@[ӑNMiw0ɒE@ZME,,%"Ӭ,ԁδ +X 4t-9֝gc!z9֓Qp!e$`ᦖ%"Ӭჸ:/R:j.,`ql[\%U4Miv< &űEUZ|i5c BZp:W( 0 0 0 0 0 ( 0<QFQaaaaa5 ŋ)""Ӥ{7, /4 "pyΌ_=bltidW HmX56(U:ME1Ig'@!c xwG@lBw&'G9#'BOWJH軀|ei"r=c hpi:1=!#wMpi)[NKWMpI<U x|a_vt<:sd{Ҵ¿@clzV%CttkzWFMDs7@JVsh&uT8Ҵz.A;R.G"T8,lY4+T$6VآNVlt^u\ ]=O0J'DŒ\ƚY*d!=.UfE@ZMEMEE!8¿9)Y:@gN<tlAɰ+{+V2l%>ޕMI:VE\6iδŒ@4+T$6NZv(U<i5i5r:H pp1FwE@Xs+N@Y%4\%4ZnY_%Y$p4+T$6%Y$pQv'J6x:/R:j.tπ8!e UiZc䆚Y*a*;L}U\btg s&La_MEwDz[CùI 91:8¿H!6r FNI`a.JԄ89eYpEr ˅lQv'J6x:/R:j.ß'V "Hc AC|`,l!ki\!!2v(U<i5i5c ú'@{(t+U&K"BCnert; آNVlt^u\ +II Ӂs 6G( A'>8=6"ڤg,QD.8'Xvɸ¿ɰA:3P@ xwZp=>B7y´֜|Mp=9c xwZp=>B7y®G.'֛<\WxwGDAzEcp{ s+E4Cψ?N\z9aprwE@c 9 =냓:/R;6ÞrG: 6DZl4uY_0ʏUW%c%Z.ӠK"BCls 3:N]Ҫ͞ԁδ15qa(ӗ=8Ӗ>Oxɰ/a_ɩjEh#i:1>zGRԋD;WrjZhZ/H>zRte *>O( 9%-HAe!6&H idW Hm$Bdt^u\ Rnl~-E¿'\q&[AqtjmPAc A'9e㇁7UH΃M, ,< FtآNVlt^u\ sa+EHN֋Ґ;E[ ^4OII;seFu \K"BCl .UfE@ZME&M&a_wDzX1;9IKpCt@W#sԑebteVk2UXidW Hm:25*ڬlQv'J6x:/R:j.]}88#IE,l΁K"BCm1QXآNVlt^u\ ]+I>N-> x48xq>N,uƚY*u(U<i5i5ayú'@{MtN\dJ)#=H+W=8ӗ=;"¨6Y*aL*cb:UYz9֓Qp&r/viZME܅&a_N \6RNpwА-¿O p{|A+EE$TO9ZmJ:--s£'֋ûWPAkEg jBTd:ܑzX1:ܑzX¿PI rR$GD6 gGEE 976Ng l#+Ҵ`gAKW T|sO$픠x*tq|FJ2jG;\%nrR=uN8sH&¿ĊMЈp=>BMؘ܏ERX¿xwq>NzV&6caψ>ŔWLFY*s *Qv'J6x:/R:j.j.AwDzX¿|g=Z}8:g=Z|a_29)YENM3OB%,,Er Y]Ҫ͞ԁδ9:Pg=D+Xw ZO>NpbQ;R.] ,c 4ȮAP .UfE@ZMEutO zr=hZӑ MMZ&Y_.8i\!Ip]Ҫ͞ԁδ9:Pg=D+Xw Zt-&6 g9ebآ*1Er p$ UiQv'J6x:/R:j.ܓAPuu=uO@':/R:䎀{,k.Xb#1Er ˅*1=Gp4K+QaaaaaafrXIaFaaaaaTT'/ [NK4ܱ`u&^4h 2E614,z٬4ǮEԝX58:/R:j.ß'V0Š:&YEd ^M,zXI$0ZHIMN"_$!8¿{hCsI5%`cOX2 aaaaaaaFaaaaaaaSYPX"!m:G,rȮ2@OP+AlNfJM,ᓶ'FUf%[Uԁδ3ғ ӜY_6W'A.MEp&>vEɱz9֓Qp&ûw6N㞐vQeft T|VY'l΁E@ZMEIi,QFaaaaaQa='aaaaaaaSYPX"!m:G,r YRS/4 "pyΌ_=bltilv,z٬遄-`9#sԗ=;9,lY4jʵE@ZMEKjMhsr==IqӳIrilv,'z9֓QvZD;\ER\d洲lNaT\M-+ s&M'tt^p=W+Qaaaaaaf='aaaaaaaSYPX"!m:G,r$^4h 2E614,z٬4٨VǬMΘKjMhsg z@r==IM洲Ųf4٨VVHI rZ-Isc,H¿g`ǁER\dJkK+Y%LiQԭ\:/R:j.\Rh`{C9~091G#sԗ6I:Qrl 4j:pt^u\ E= 퀢aaaaaaaFɠӜQaaaaaaMeBqb rMˤXpz̑_r m8L.>:O'txDZAVG:XYix-iȧt&J*'@݊.Ufbtda4!vEZQzXU&Ki6B슴.Mԁδ|TdlDq zWMǬM΃M,lKNE;ٝlz٬Y_6j'l!kilzN$9BׯE@ZME¿1gi<;ɾ'=AHд+]&230UUXV46Ia"%j$z9֓Qp&0ԁαzWd\xc&gA%"$6k:Wd/c 6Iri` bZr)2D!V<,q Y_ȏfK"BClz٬adGQv'J6q DKfJ'\( Rp3TBV%Xw Xw5D%bQ:60礓J)7W.:ǬM΃M, fp]Ҫ͜a_P4Tn2l%p8)q<|uRG\c "usό'XvE@[PA6G+|-'Ejc&gAEr Y٘tV]Ҫ͜a_rP!(-HHcl'X;-l2D,s ,UrV=rU-: 4I1dW$Wt^u\ z9"Q0BEZQzXb#; idU.23.Mԁδ4¿Ċ5 z "<;^LFt- c ((!JZg#E;>c N㞐{9N$I[*cM,lKNE;arD-k>ԁδ +Y%XYi\!=bltKآNVl ø!+I jJxCnYQ)c ø!+I :Pa܃Eg=$tzW!Ic\ .:ǬM΃M, fYrd(X.Uf0H I pN.A89Bw#sԖrP0M6k: 4t-9z٬ttM&Yy_0 0 0 0 0 0 (0(>2OaFaaaaaQi>Nq ukE@6zPɳUΘ`yYp.d:fzf:0)6YUrLI\=&=PfC 'H=BK&8iF,Lz*̆.sVTNٝYW;":$8Ĉe\!aE͖W8J82 g!0IL8dr3+A`Q96ǬM΃M, ':Yb:UYp18?)|]Ģwn|Y_sml.ʵ^M,lKNE; navU խHIWbtgqe΁ʵK@[ӑN§[eZVTNg s&.Ufe΁Iri` bZr)Td!;ZP9:͞ԁδ(U%, ':) ^HK@[ӑN§[%:k խHIWbtdŁD@Tg@4<ĴS%Y$p֊lt^u]+b:UYY_smz-1UrCM,lKNE; l%U=u+ZP9:͜a_i5lQv'J6K+XNt i` bZr)Tk.cZ*'Yz9֓QvbtdŁD@d ^M,lKNE; mCd-z֊lt^u]+b:UYYE΁I:Qrl 4t-9*uX֊lt^u]+b:UYY_sma:JǮJ]eA%"N9'KZP9:͜a_i5lQv'J6K+XNt 0UUY+U4<ĴS0+UcZ*'Y+ s&.Ufe΁BlL 4<ĴSM!2ClukE@6x:/R:j.E؝*,`Q96G,p&ix-iȧaSY`8MR3hf0ԁδ(U%, ':JN f"4<ĴSUZvk5ZP9:͜a_i5lQv'J6K+XNt Tx1uK@[ӑN§[YpGZX֊l HIb:UY62,`Q96Ρki` bZr)TdgPX֊lt^u]+b:UYY_sm:25*ڬ 4t-9*u'FUf%[UZP9:͜a_i5lQv'J6K+XNt YTx1uK΁Xk*.23HIWbtgI!Rn,`Q96ٝ;U%"NڬX֊lt^u]+b:UYY_smsi` bZr)TuukE@6x:/R:j.آNVlW(aL*`iD@ ]bdgaT\i5lQv'J6q͌+XNt *ҋ]uX:ؖv:iEl.:ru<i5c آNVlQ_smFX:ؖv:ZVTNgb:UYz9֓Qqe΁ԭeYKYVklJYURnxwGOS<>0&s n"$Bd4(u嬄ؙ"$<7 s&a_]Ҫ͒meǎbdLѦ%"NUUY 2D&HxmnLa_E@ZME]Ҫ͒+XNt bٝ'A%"N[3dcZ*'Y+b:UYY_sm@s=efJM,lKNE; mb+2UխE؝*,`Q96¨6X:ؖv:U&ŎhfE@ZME¿(U%, ':6gAl3<i5lQv'J6y MŔW(lz *4t-9*ujNLlukE@6qt^u]E؝*,`Q96٪;d5̈K΁W!dqt^u]E؝*Zp:W(dU9Z 4t-9*u*ҋ,ukE@6qt^u]E؝*,`Q96ȫJ/K i` bZr)TdUQrlX֊l HIb:UYYE΁0ɒK@[ӑN§[dVVTNg s&a_]Ҫ͒l,%"ND}hfE@ZME]Ҫ͒lzX:ؖv:X֊lt^u]E؝*,`Q96K@[ӑN§[K6:ru;]Ҫ͒l჆X:ؖv:%X֊lt^u]E؝*,`Q96㇁$ض(JLix-iȧaSIlQpVhfE@ZME]Ҫ͒l8xM Ui4Up$gPwJj."j.&W#v܏EŔWfI*z4t-9eYl.ʵ^͝.UfΓú%-eYf4<ĴSfʵ;]Ҫ͒.BcM,lKNE;YVkd!6v(U%-eYFX:ؖvfQv'J6y Mŕ-eY@4t-9eY@E؝*,k*mRUGK@[ӑNUڤ:6v(U%-eYz-1UrCM,lKNE;YVka*1무UlQv'J6K+Zʳ[Yp%"5 gb:UYY_U$0Zi` bZr)ʳ[d ^Qv'J6K(k*nert; i` bZr)ʳ[\*a.UfeYVkcaeG뒭Yiix-iȧk*ls 3:NQv'J6K+Zʳ[ *K s&B+] DK@[ӑNL\ĈQ_\x嬒&4<ĴS\x.Be-eYdX^bdLѦY_UˏUW%d&!M,AVG:XYix-iȧt&J*'@݊.UfbtdŐUN*΁#ix-iȧt&J*'@݊.UfbtgIAVG:Xb#; i` bZr) =p7b:UYE؝*xwD9A*Tg ӃtbD NJȲ>=a̳lQqeX@(4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4Ҍ<%u\ TP \YqN:*U ^\j8 ̗PY(%U2 d0Gs"8{:" Uȓfa:BN(psUZ`6:ϙj0-U/\%RD5jcծzDiiiiiiiiiiiiiiiiiiiia:dJ3T *8B`Ub8@-R  (M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M(1R p T&Z*hy%ĈTp 4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4v lw#+GCb(bb&'./usr/es/sbin/cluster/events/clmanagerohaors_c   = #e ainors_clptuACENORSdfhmy$()-.DLMPTbg"&,/012:GHUqvwx3456;?FIY[]k7>Xj{}!'*8@BVWz|9,UfL[mm ˪ "+E]]'J5+EPmŶm|\ZI&-mє+ГMkr^Vi/\ y5H-L[mm9.}A.,M RNY/'$zY, mFWɭa:$ZXP[f^\ldfYAmbbmm5A8sXVI>(.xbmmP*BO}5z˖zY g(X鮗/e@bbmmyw%zsDD/ (Rhtx.Ŷm{Qq *VX [rBEU VfdꞘmd.{tX@y5H-9.}AZke5LK)J4ŶmT PUK9BMtxbmm+4أГcV|\Yl6^8Q4 mmOֲVhUN[Q}@ҕe4DHPa{QqZbmm a(ֈKڋA/eMicBIӤ+'&-m֔/L&(!⤂ hymmMicBkXqtŴ=J4( :T(j "MkSDJ/Btzbu9o@Ɣ1GmӖ+JUy5H-9.}AY`k(P ˋUlҋd-CsX/OSZPR}e=O|}S-,A1mF2˜Vj.t(/Vqe 0> #Y2NIj,B-%B̓}FP]e,> #Y2NIekZ{l`EAB̓}FP]e,> #Y2NIЪ܂*:/{\!sfI #K(.ȖL[A5"BLt4{z͙&HPRP]e,zDD'$UnAOsMa:{l`EA,Ε5\ŴDHPaɒrNqz>4{z͙&$(0,"Y1m}Fd\^UnAOsM}$DYdK&-!Ak&I:ZK5͙&$(0,"Zi- 2M,"Y1m> #Y2NIY/d.l7!AieYL'Br{luS e[,Zeut CYsMEN. ѭ\^^\lڣB t*|-0>ь5զY9b (]lZ#OsM/6Т+t'J)ŴP.krJ.s]ZiIyzDHeF^\l1m>-\溴Qt<󋭂"$(0tzb>y[.s]ZiIyzDHeF^\l1mzHڋ,sMEN. $C(5ehP&(^IחzZ"\溴Qt<󋭂"$(0tzb4>jXEKڋsMEN. $C(5eh} Yu94]$<`"@$2 #]/j.6^L[@u^(.5զQ]lHQB\{ii{QqŴ( sMEN. $C(!.=|F4tzb>y[.s]ZiIyzDHe%ǹo(֝F/L[@2f"\溴Qt<󋭂9Kr4Q: #]/j.6^Ejbyw%//ekM5I:8/H -EӨ5eh=YcQ+]/j.6_ekM5I:8/H -EӨ5eh} Yu94]$<`"@$2bܷkNHKڋ$C-(Kui'Ty[! /L[@}`94]$<`"@$2`0BehPIlui'Ty[! /L[@2f"\溴Qt<󋭂A WKڋ-HC蚘y'^]Ij,sMEN. $C))]/j.6^ Mڅ5re\溴Qt<󋭂A WKڋ-He\溴Qt<󋭂A WKڋ/Amc5KxGtkZRz bT.RA)2LXd^ ba11zHBm*sMKڋF^kz kkX.XމAmeiJY/S Y.Т+z[YTutOsMA0kE-uAl&TՔitղNkO)]*{-,@A1mm+ h8BTe9OB֟ZRTZXbmmJWh.VƸ= LRz(jV{.{mme(Qm`,z(Ia] t09Tc[X BK[Yߠ &m*/zZ5)iOm0 Mhhm qmUtCjmқb[ГX+($F Z4M6 H`(:A88 [jm?M2I4p](5 *,55L'H0@J55l(R kmmӌ #..cUFנa,z(JmZm4686PP*PE̡56ZSmBP6j:TX}ENӖNXsJ6mlZ Q1d,shzSmBP6j:TX}ENӔysJ6mlZ Q1GqshzSlQR}z}[t[(R$C+YFIՔiP>UmMؠi9b (^ =6M8œ sJ6p-6CmC(]("PJ-)6a^ =6E-F[ւ][)|֔F"D0p0I6PEֲ̦qRƚX5)u҂.e&I^mj/]*{-,@A6EB.(<ס'ղiJkKcXqzY6VRQm`,z(Ia] U@6mb<9UC0HCa HMkm@= WJ1ƥ6miU{=@ǢiJ-6A2a ѣH G0iJ sJe1e?bQi[mTaiAmba1Deg!H Z|H- QDVtZ`%ZXiDŵe Xz(^z qu^TZX BdH*a H>pp%6mmՔ0hLL"8a"C^z uAO|奈P2$G0ᄉ$HLpQJmm46 "8xG $Hq"Bc:ɶm)m4|k 9+XVIskI qtJ{KmE*SmQimdVR~hppP+,Mjsr0L$C HD0p aiuiJFTZXqi'Cȑ\Q-$`Й#DpD$&8x%6Qu6أ "OQK9K&IE6)(ulATLhĉUmmYJ\mCYbmVR} NiU{4r[XEn P4|k t&X4SZTpYEcS1ABUmkUF>^z J)g"eQDVQ8cPB)(斯ANAl)@ G]=9.uo)mmhB4(޴PUAY.:{NYimЅ9LyF@ҊYȺilAUl F^\lmB\O}5LAN@A6mmmqa 8$m)@>4|k|H-wSem4|k 92REV:T*N'X) hV]J9M5-mkUF>^:Ok2\6mmmR2tB)(QK9M"66M^ځU mmZhV]MS+8ֱMmm\nDicF$I6ms6mQma 9MiEJ-6A28Ԁs ֔4=6^|H- 1LBb(4zb ?LQs,*5&?Ha( EK[З$+,APYq,YsJ0ӑ'4`UK9B9hrkr]" X0yPT,pa,Y)9C 7U!A@BYs` ց x*x1eiȽ p2B 4b*$1< $D^(&FPMk&\Ԁ yP]n /(zǘ* C0he)Mk& 4$0hRƞ(rR{(`h`""a¦ J bN$@h!G&:EL9`B804=+ZhH`1F4x1pu*VXm@x@A=% !F^:Ok2\ Z0&`$HP JcLR2^lZR`8L@T!*A2r LZYb:ii֔4(޴VNS҃$G4b u`bєH"`@& W]("I0]-*cTUsN8YF)hYOɭe@!UEoZ k+]]') J`b$(0[+ZkRP*Uh-G\A11(U0!ĉ +VB䢑9 h8 ȡVŪE E(XjZ9>XNXaiuiJiȽ siy'ZʁYU9mEHPa֔Q- ,Oij Ti *] MA@ b%ե(/)P+4ZDP.|PcAG $Hq"BcjST^Vơ]!DV'J5ԉQ5iYJF^s_)Lօ qpS kx#+% b՝ab&% ./usr/es/sbin/cluster/events/cluster_notifys_c#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/cluster_notify.sh 1.8 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/cluster_notify.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: getMessage() # ######################################################################### ############################################################################### # Name: getMessage # # This routine echos the message to display. This is to be updated to include i # new messages every time the new usage of cluster_notify event occurs. # # Arguments: Message index, parameters # Usage: getMessage MsgIdx, parameter # Returns: Nothing, Echos the message. # ############################################################################### getMessage() { typeset PS4_FUNC="getMessage" ID=$1 NODE=$2 if [[ -n $ID ]]; then case "$ID" in 1) echo $(dspmsg scripts.cat 9680 "clverify has detected cluster \n\ configuration errors on node %s. Detailed clverify output is available in \n\ standard clverify log on node %s.\n" $NODE $NODE) ;; *) echo $(dspmsg scripts.cat 8066 "Unrecognized message id %s.\n" $ID) ;; esac fi } ######################################################################### # # # Name: cluster_notify # # # # Description: This event script is called when a cluster # # notification have been requested. # # # # Called by: cluster manager # # # # Calls to: None # # # # Argument: Message ID (number of the message to display) # # # # Returns: 0 success # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [ $# -ne 2 ] then cl_echo 8065 "Usage: $PROGNAME nodename message_id\n" $PROGNAME exit 0 fi MESSAGE="$(getMessage $2 $1)" echo "$(getMessage $2 $1)" exit 0 1ah ky#+bX՝ab&./usr/es/sbin/cluster/events/cluster_notify.rpc# @(#)21 1.1 src/43haes/usr/sbin/cluster/events/cluster_notify.rp, hacmp.pe, 61haes_r714 1/29/04 13:22:02 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/cluster_notify.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for cluster_notify events # # format: # relationship command to run expected status NULL # all "cluster_notify" 0 NULL # ###### l{#+@Vgb՝ab&B./usr/es/sbin/cluster/events/cmd/claddevfy.rpc@@/&.,2:01348;_acdeirst -5679=@Aflmnop .HT`bghkux| !(*/BCDEKLNPRvy$?GUWY\z}JQZ[]^j{~X1PhH'\moM@lƎhÜֶk5f6ɦo/_Xáo_6s4.8M ?|${7ǣ)GFLU,c`6rd_)?!/6419O2hTYd88#Z?0PL^`"9P1p&G8S #,dfHl8c(Ӑ 'Ip9I!'|ЂSsO ʰ-IG zYo58O퍧~o<ŒD2 rYH|`Bh~f#1K#!n@6Y:Lr!ordskߤ21!ߘ i*oaQ Hl8 N@,&G9V+HeF0d3!m9tNF idu7 Jiq$ŒD2F-p1EkdSLrw0h<6?O'q<LDssYbef#Cc?!4`?B3[!E9Ʀo僰12|B#8> ?t28auycht:`t?N,v !ēYo|D]+qf&AC"r,c9Ʀoc3@OHRf$&oHEFoLf!yoNf nf EfoHiI;a>XYdfo3H42Xk;ɛAH9”8lh901ar*Y7 S,y#NToBg'$K9<f K9<O$TOs,y>R gIH*Y7 r3|r *Y7 r3|ܜg'$ [9ROtHƔN FĐ#a|237$jnQP*X,Đ#92ם@<4GSHZo,N"|fSsHf-7̰v+N?S~!SdN*yϜ?$n*r >i:L y>u:Lƣ1ԟ)8;8>ĤH5&GyL>R4dIdnNΓ#C9I}DE?M3,e;s,Q8od>DSXp:?$8V2|<27 u;:L'|:'N#fZ9ʖx=A>Ӥ*d s4d jt:F3|ZoaT|мfXv8 Bp18>dI^Sr >qN#@<4$,XU;䅎B O7̱ q >SqNODN# )^2|29$J@^vw!XU;䐸r|S~j@b7'p}<Ydp ܃FO$&G;xR4d1C:Lb~IbHRԟx?)sH\}a>D퇯"v 1$,qcr}#)sI|'Đxє9!{ħI |R7' Đ7qnO$B7@Zob$DNz!!:2|B$H*oa\y| !O,O27 |*idn?#c?B4ciq$-: ߍGq l9S8r78OV20@Vf iáiHe~"pX4oљdNI?N?rp}d%)3'L9Á ލ&FfY;eMC,W;$%IXONc8ogr|OOPt>O MsD18u- DWF)~dy,S,=9s5C7AӃDW)7JŸ3|DwA"%FiHeN:DX-7љd$N:DY9Q%#Sk"U; s`ߣ2Q!>B"'pDN1 zU7 ' iX8yB-7Ќ HΓ#3|:VON#pI\F 4e?S?q`f8q`96dfo3@ߣ`4&FM4 ܟ4,)w@8b@N4,&Ffs;M9[PO4&FM4w H cR|Γ#3|9$@N-7aY>HgISM$E;?N>0!6?pX@D18u[,Đ&zU07`Bh~ D35YHv8f^fc8So󿗹?R|I MC,@ Γ#3G;7 '*&FfO;8ߣ2ųcytn ѓrdnI?I1b0;<8p/0R378ŸΓ#03 do)'1NA>;9>N#pw r \i 4)sŸ'Z󿓓3) lfR;i?I4_KQ h CW))0!4?E7|fc |nOI4)œҚ9ߤ2Ȝ) tn>63I?;>pFa237sI>ŦkSM&od-?MC,*f8rNOaO󿙓`f>O'-x@B9Rn{3`SFOf& 1|I? `}3`Bh~)lxO 8R Ó7yti M3,>T22Ÿr|>h!7L\r| IMC,C'IiYPN#'a sFp>O,'|/N#*Hew9dd^22}œ*3)|жwӘddfoL-7̺'IP/&FSS>;s35p;Γ#3G;:Y ?ҚFDiFewSIde09>ON5DŽ1D𙿆d@ONcL FusNcsx*7.b|!O9Vf Ÿ3'sp8' X33S<i'#N g( *YA?8SocNQϱ;Kdfo3<T`l4y\#3)wkNcL Fzd=:LwI'[,O'x"+gL],Hjy,S1HEoᙙ  ŦDN?;g<-7̲y9d"tҌD-7 \82p4gSrs8S |Ȝ)'18|X 3_OadR[z5C? 2"C5Lfg |wiHe;jXW;iHe!DNwM3,ši'yNc8wN=NfřdfoGS~"?8SA:f`Bl~ē DWK4F)Nj"O4fkd!ȲC9 ٙ)'+pH`@+08cрxVfwv-7̲' u"N1 )/He8SOwo=MdsSx!2's)O'z7'8k)MC,b k9  5 qXtSnG*R{S~"pXdDN?8SA:t`Bl~34ciq$[G\S=,=ȥ;Ѫj'~d0!4?E.",3|D^fb"0p}aތ:w' Ul |wE~ZodN"oS~"pI""ƔoGS~"?N? ֜D`gSA:"c"8|3Ѩg4çȥ;#Ѫ4fkd!ȲC9 ٙ)'+pH`@+08cрxVfwv᎘iM He8SO wo=MdsSx!s9F4S~"pXǓŸ3198< uLgNc8r"cJ@jodN uHEf` jn 5"pXȜ) l:0!6?pYD18u-#`)P巣T9>#dRf"C5Lfg |wiHe;jXW;iHe!DNwM3,ši'yNc8wN=Ny>6ft9ߤ2ȧFON?N,iq$,3ŊeCy,SyaCn !pl9R',Xw|.N#fZSI?@}ši'21rs!IyL>R"'lO^c:Lcc' 3cv!D18sK-@JEof:g |?8,iq9 aIMH D#5YIHq ;ZՓ97sŸ3'r}!>HS8>q^SƔHf2eS~|w98Ґ3G;ʦ$󿣩G>s)7u14gfO8?pXp\F If-7̱ qJ@B8>ƤI^Sr > ISO9f8Ґ\oa\XpF982}w:LŸ')uv`Bl~D!؃H69Nh<&x)~d9R>3[,3/qj-rƮI>N?5Zߣ2Ȝ)}`dԟD21i!DM4#?EO<MFcT< ŦO<M#1Ȝ)}bZoC,ši'OOgƤSяii3¡Zoa$ޅDM48?дtY4O |:|a237p-7}qZo?ȇ/&AC"7 ƐfBZq fbBòf1BUD0% 7 |󁱢37Cѹ9 I>/)wBPߤ2sѸ>ѓh;!,\iHe;!0iH!iHe;!4iH3B! MC,W98p|Ai|CXs O|u7^wĝM摙,S ) !g|=G>N;nlHҐ<">bOS/)AA'ISM$wC tnJI.&Ff<x-6BR)cwe )86X>S@axO&G*r >YdnI?y!\1!n|,S!BYH,^4BGێOT22!vB` N#_|RHH S)CAشߣ'7p6X7R!Dw'p}0te0H:ò4d[:Lši'' |'X#,!B`;&D!؃H69N@ ? /MxCn !ptncHL3[!E-F;C3|#s0@3BIB LfwB0ߤ2|# iFe,f4r}g9> @te0H:òh:t4O87'!)'ЁO󘐄gѸ>ѓTSs7sB MC-y!IZBFTfJ3% q8ҐL!B*oϓ, 8>|28aud# ѓ@t4O |8cp|BROft!d%) ٖ7p6X)aO gIò> I/ )|$|܃FOO:Lši'; v 'Э:LwCi!R;2ѥ +c2| Iò> 28WfQ?8SoN:DX-7 S@p z3,S@p '1*01a""y*r c7J|DNb"Ta,fT*01$#pèDDF4 ⩿He8SM$8yB-7Ќ H+Q %Ȏ# G"*JGUNH/MH D nA!0HK3[!EA#13}bs3aqm?`0+q \t![`` ǁ@?x+ st :0@+pL[>f P7 `y>Γ#3܃XCp>> 'INQO>oυcyüC1Yaq. Ѹ ,d:L.&FN>@8SJ@3N2G?Yʱ!8p0r ܟ1&FN>@S;sƔfwu7ۜ4n8Hh9?a$27 uXfg ~rro8wn&܃F @tI@t:w𚄗]r'!r|D6O@+)psn?|dsxs\E:Lw8~ ح-Эw>i"' *)oυcyüC1[F`r@` Ia` ISO!&cD/)oϔ  )T*&GyL>R4dQ:LdΓ#pX4N!O@˘vU ) `vSpl%>|tH4ٖ N!OBOS+yJ_) PW0L2}?:LœћK'sV 3G;:sQ1iHK%?Ó8>Г:tU0H:õA'U:Lb}`y;MPfwu7` )( p 'p}ܟl.&GyL>R4d$27l"<27 u)aT15c>f!8SfoљieXiEOth IObd$Γ#y)|$y@A^T3h`#&FOcweR@<)84Ó8>}&GyL>Rpr >Lt.$xLp}ldS nOp}O$?!qY?N,Yٍ!0vGa"ACO'7 L4`Bh~ D35YHz;LfwU7 '1NA$27 iNc0V73U;itfR37ӿFeHŸ' l30!6?pYb "|I:0a$sD ?MÑe!ffXfc3DA;Xg;d:iýQ?T3!BONs41јB+UM3*CTߣ2Ȝ)]ši' l30!6?pY?Ik1' r,>3['3 pdf&a Nc)üpq,'Id& 4ciq$oXE&Ȳaya;MC,*;)'}t?Zods>t:7 |b9ds) 3G;7'Ja7s\ 8wDXf2pX:(p;ѸSO9ddA:a ̤m>s$4 gu 7iH úBj) 3[!0>v9J%ٙf~f;F`'353 'r}c3q7zC,x1ynONo;nf;>f<3VffmoXdHe8Sf`?w<:2Y:o|'Ui!DNXۃLqNDf7p6|INPO2: јvnlҐ:qO2|I:L~w|?&GSW܃FO@t4OhGp!N*'ɀ:L7 ro8y&hhISO۝Zoby@Xcn>s d9 yddrwXcn>ss'"&G;MC,œw fwu7ƣ1) #ҟ38>‚~(&GyL>Rp\FO:&FN>"U;0Z:w8hƔh3N2He,piHIE? 'p}$LgI?auxs8Aѹ)ISOSW |\8xf sstL_95CptDYq>;s28auXcn>n)wM9' i )]MC-w7' /@iH V)w fZ󿏊`3Nc(Wx1c*aYy%#3N51Ӥ/)A5("t>hw(Cha6wsq"7*Y >?w<Zoj!a;Qo&#G>pQQ&oac@>sg8p;0cJB`;fo<;0 ƣ3eyüj>( FSoϐ/;}@-7 9ƣ3Fo0FeyʠHeNDOp};7 sjOw }mI> de0>fc1U 8Vf95\HoldOüe95CptDYq?;9q@8ہ#J@Vbf2eS~|F`wu7  ܟXiH @,1p7Ƣ~ MC-yǓv8gҟEO)/)A׹tBOur!FrF&;b "|I9BGJY|P`Bh~)L7 H'łdfoF-7 9ѹ9FOf& 1|I? d&Ȳl33,31z,fY4OdA;f:iNcNN{t942Ȝ)cYFA8w0\Fg 2 Nc0V73U;4S!'[ Mcq8|L59x*XCYH|fNfMC-9FCSẕ\dSsxҚw̟%gId& 4ciq$SaYTD`Bh~)92| gId& 4ciq$'( Ě)MÑe#573Ÿ3G;Ĩ̲"ptRnQdNI?)q fo)r38Sp O2 r8Q9 t4O_9<319G e9Xe;<:3)<*fT;q2(@@ j-6sFcscqw\& ѓgISM$GQiFe8SM Ƴ`l4f8z>B+wMC,9y<ȧ1Ǔd9<207#0 FOCdfoGS~fTS)sxfc)G e9Xe;<:3)<*fT9<31gfF@>e& 5C m>s$eMRD/'Y_+MH D#5YL93ppf0'So7̰Ooј wiHoGS~~hFeFa pHg4wsNƔf2eStҌ#'Γ#3(}9X};u<pp3,+r |d2 p|4')Hesљ >g >wg9Œ'Tߣ1XW;8@&Ff2eStҌ"pIS1ã8Q󿌊 wx8c\fDSŦI [ Ad27 iddSSxґ SnQdNI? SB+1ã3Ÿ3;d#1ã8QN2Fe󿏪o'(He#hDsaPO *&GyL>RpIwyq"?N<0!6?pY;b "|I9JĐ)T:y,iMÑe!ffXfc3Sr|>Γ#3N2iFe8SM$哘)ýSґ L2'"&G;2 l30!6?pY?Ika$P))~ƚ/0!4? "r,iy!3L)7fo#7wAрx`f[q' PRHy>!)8N)'#e?So!(3|33|BS9 ?9 8}s7'hĄxܟ)rܟB8>sa |cE"r i' p7rr HgIBQ;%~ g:LŸr i'~9§"dfo|ndfo)!E@C9 8}spDIB7JO O:Ls38~wLowFO)>+dfo IDbBfg5'`G:LŸ' !/0!6?pXBv !ēmo4AY'CYHzfXxfws7M) yA9XO)r nQR8SM$BOf& 1|I>SHR#)xrbYHzfXO`nRhG<9X`l^wswnA}MJ3*B?n69Ϭ<åQ=2N\_ 7iHfB)0373qQff0sSp>sd|iHM1iFe8SM$Ń/iMuyL>RiHM7M(̲' iX,qw =M3wnAR!/pJBhDM4Lsd4@wStҌ"pI";SIA;7tӿr 炑 e;{!R(iFe8SM$_92RfY4O哿f<ߤ18So/pCJ@T3iFe8SM$Y:J@T nQdNI?O ?NX`Bl~)C m>s$ LȤ2Bk$sE&Ȳay`fnO  M3% xNc ϋg 1 ϑBO$>q2d!DM4g1)8QN!N ?NX`Bl~)O'^BW&D_`Bh~)L3731?NU7siHegG<9dޘ NΓ#Fe;9܃!3G;9fT iIuf7O'-s*锼9}1t_ r,lxfcy9Fyґ *nQdNI>M[l idNI>Ddo)FoA;y@/&GS~2r c7!O Γ#FeH;yMdNI>3)gJhsY?;5S)8r FoA;yMC,*\ddhI!-7!G;yM:/ds$4 1L@H^+gD_7&Ȳl33,pt9ыM3,Ÿ''1љ' |d:38QNc3uf7O'[H70!4? "7wHM3[!E#1c3;>f#7 $:f ,3S!iFe 27 isGS@ g)fXb|LdnI>@\)7Ds"fXTl 'ISfPf7Hero9 Àr2|L)3(3S9 Y !Ay&$:"U1VbxTbL@ f/np F! , *nQaSQ>%27 u A;ަS)yꛦfXTlgISf7'͓ y{SyX;7He¡s< >'idp bʱ<3 ?r >% ISfQ;L<38w8d3qpF+p똋8LAVFbqY#Q# g _1&b[Aw ,SfXf gISfPNܟ4Ng;3)PNXf z-7!'ӿ<>D237S<gI d.yi@4BʛfXTl$N gISfPf7'lXrl3r >27 u @O$A;ަ!< #E;2R -iH;EMC-w i?N;?,M,úBh?B4ciq$-)"rF4Er,=3,31zOwU7q49`7g2ȧ,'Tfw 3,UMCB>O$@s EI r,=3[ taުwӇz'ģJiDfO;8ߣ2םQȟ©1B+Qȟ'US~Y<ȧ1Nt942Ȝ)1јB+UMCA"!' 3cm>s$6!T]3ɣQq l9RyQü&N 0A237w<Ŧz3-yiFeM ѓ&FM4cu1Γ#))z9f'1 qxu0yMC, Nx/HeS fY:o Tߤ2 u1&GS~|,:vO:LW9V7;A'̀t4O8LpP>f' Af' X&Ff2eStҌ"pIw92;[)^fw>lG9 dNI?N'[& 0;i?I6 2Bby,iYHzfXOa942x>s 'l܃!3G;9fT"!'m>s#Yob}Db锽wMH D nLCe#SL^&Ff2eS~|ši'?N2r|Ӄ'`tM9ӿFe8SM$vn;}`6&G/)@+pX 'I)XSvpI ?)w?e& 2wHMC m>s$8HS$/&SjXEXf#Cc?! GAR)Li29Ⱦq@`$6?N@s"LFi29Ⱦq@`$6?N@s"L4_8 0 9f&YLr/k Ӑȇ.s4_8 0 9f&Xnf#Cc?!"ƹm9}+12ՙ"ƹm9}+T[D6  `i#b?Heä&8:D0jH7p4bjH7p4R*F!@T7$2"@W BU# 6,-f top7 ̳Xa=!(n4Cr0iQ#2r @T7#3.y' 7p4R*@ I F R1!! %70 pdfTѴ?X#i ~c,&G95 iCY"ƹm9}+12ã4_8 0 9f&X83IEr!rVbeds|\Hl~6D>4HkD^` XF d`EՄ jiM!) k468O8S69GF#i Ni29Ⱦq@`$6?N@s"L&G95 iCYLds|\Hl~6D>`&G95 iCYds|\Hl~6D>aLr/k Ӑȇ, "ƹm9}+12Lr/k Ӑȇ,!"ƹm9}+12!Lr/k Ӑȇ,""ƹm9}+121Lr/k Ӑȇ,#"ƹm9}+12ILr/k Ӑȇ,%"ƹm9}+12YLr/k Ӑȇ,&"ƹm9}+12iLr/k Ӑȇ,B3IEr!rVbdf#Cc?!g+CM$8dzoԇ,xN=OQ'Y.B HfF!?HfF!B2R,K^Bri hZfYd&"\iM!^" Aht28 `D C,/ZJgXm>p^" Aht2 8 `D C,/ZPgXm>p0#/ 9Q'Y# YH|/2WHU CJi#i T:12X&G95 iCY&i29Ⱦq@`$6?N@s"' 0Q^9zi`SJC, aR@Vu8a,"ƹm9}+12X+3IEr!rVbdi29Ⱦq@`$6?N@s"Ll&G95 iC_ 7iCe!VFfY;c"}gIߤ2Ȝ)}b)oFe>fwu7ϱ9({Siѹ9,I=!p܃X6 SSoϣp6¡! p:> x"&FS?t>OKcu` D^\?XONSL?9RxȠ Ncuab l30!6?pYb "|I:-bB0z5,23IEr!rVbd&G95 iCYs4_8 0 9&AC0 ši)lX9Rff!+9(̲313P| q'Icqtᷓ:Lp 'Γ#$xҐ27 |/pYc؃H699yA8,x|I:ؠL)ޚ)ơZ%34_8 0 9f&K#4_8 0 9f&K"ƹm9}+0!4? "7wHMŅ0 pr,QJ@Tҟo9``4^S?9a{ yOE:L ӘJ@ZbSHm"ƔIҟN4;?eU7W >u 22i?{bƔ9:L6'O)$S@1&F?c3[F4I߸N1э)Iߤ2a1 20n_pLpff ;b "|9Ґ2:Y:pY ׃pAҚB>*&FD&8t3c3~O)}9y |f`xl~fAJiŸ11ç4D!؃H68N"R!cFSNmo⒵0z5qbdc4_8 0 9f&KLf#Cc?!b4_8 0 9f&K"ƹm9}+,?69"0z)$y<`Bh~ D0n!-9aX7$r,>He@4 h`Wr/0J@RΓ#3 'pYcH;i'/&Fbc,уA?B4ciq$8PVE$'@,&G95 iC_ 7iH;AK3[!s!ȲppfxmC%)@"Y0iH b&GSQٺR->\&9Ґ2t3O>)iH :Lw te?)pI߸N!Xg:L ti iH Iζ qtHe>̧I 8,cH;iNIs$ѥ`bOYϬL33IEr!rW`Bh~ D0n!pRyHHy 9Rc piHdu7 PI󿣨r d` 3I2H4k$2@>W)$2:f[) Ӥ)3pYvGa"ACOpX cph<6?tH;i >!@ʐdOᛂn Ji3*Q)< }g?2Q,?D Ji'|iH ē=Ґ2:T)ē7%/GA_ 7iAϙ"GӒ:30ED);э)htM xOYo::@tM>!pX,pYAACOpLrH4D18u?'/G%HA`Bh~ D2s2Ce!9Ґ=CS~)pF)wq z$9O7 ƔE:LrB@)iH tM䄅!O;8ҐvtM䄉!J@Vo)HeLpf7c؃H68Oᛂn  m>s$c_/!/G2G7q @;&sBaHm SBX7IHJ)"Go`#sOFeR@tMC%ζ2Xr_$>0"¤F`^4dS<2: HeGQ2:!HeXGSo*X:>X>O `f<"Ϝ\>9xVLFar)y #U )pTߤ2S"tb@XOHtNX)cJBPBXƐ; v !8S&9c̤ i) C cB`;&)">qC8nh@&GS~ʐ8!4>qC8nh {:L!&s"SHsDff8rMsZJ@ *oG2)q@fc{SHT2;N509# ! xʛTN|iM #` 8nh )T"S@8$|p yrG9B` M"|<2:T'>D4#3Oq>C2:T) )W83FN#0tʄ`4NēnlL_ )*_MHR}>3[!s"GoS0R!T߸rXzSQ (tb=p%?ߤ2ո>ȧ)bc8,Av !ēkP_ 3Ib&AC)>5YHzfNfcpF4jo%He3[FᎍO󿓍)hpHe;8Ґ"&GS~94@N4w:Lp1XM2؝`ґ߸Sᛂn  m>qŸ117 b "|I:ƿ6D_ &YPOq r,=3 )8 N#p O󿌆27BSMC-CJ@NI߸Sᛂn  m>qŸ117 b "|I:ƿ"dxbe'O0!4? "7Co)HZfB)% GH>Ro,EH R`_:L)Ra2J@LtMS$24#ƔΓ#HeGb?p u,WH̱Ґ:)aӃ$yOJBhjoV0$xҐ;2:YcSPp}JBhT߸9ĆXJ@{:L)´[pRf3o)HeF&9;4D!؃H68O 4`xl~;b "|Ґ+ @#JBh$HeHBS@?'4kN_ S?,4'MH D"G~R>`l9RK,!>JBX'Iߤ2X!89#t)P߸9 C%#Ɣi:L!#iHKtM]!p-p> 'oS2Xj SҐ7N+HdR֝&GS8\*Hd?) p s J@Jydu7N2G)(I߸8! 4du7&I OW)|A S> I=!;J@J I߸i kh1=ҐfcXG)($&GS~C-G)(tM: cph<6?C m>qŸ117 a"ACORH) 'Iߤ2! )'4kC|H_ S?,ɚLr/k Ӑȇ%4_8 0 9f&Kds|\Hl~6D>,ds|\Hl~6D>, ds|\Hl~6D>,"ƹm9}+12X"ƹm9}+12X""ƹm9}+0!4? "r,ґL4M V45pXCy4܃"XJ@!O7̱\Kg'G~}`w 6ߤ2niH Fe*X#9>"G~}as|@Ґ7gI|-7 }9qcCw٢}`7$TG?45A47p;Ѹbh 4+`=;>Aȴߤ2Ƴh MC,*@sAˁތ :S?>&ITFr|z;wi4!rw̖f>&B4r<&>'237Sh:iFe*X#9>#G~]Ÿ' c@aACO'X!q @;&sBalN ߤ%A e*ٙ ü=3zf V4F:i0t`tix7)O89 64QΓ#qps8>ƔI?>4D4B)pFSҐ2:` !Ґ<o)p\-2XiHo)p )tM.! );&GS~;:4KR@&G:: ,ґ q}! )Yҟ>!fǬ#Lpff  cB`;&D!؃H699B`R<4{:LaɛpFk)e53AHƔ?)N2p@ }tXW8GLfS` i'!@h:OoIZSHz/&AC"7 ƐB@BX7IHJ3[!Exja0Ctu:P `>o)Yb@oU fiL:zD OHe,pYA%!(v!,vcHLtH;i )Γ#11e xl~;IHJHKa!4iM!rLM)N#vcQG=*Ɣ ?9&@`&݇ p< /R!ҚC1cN 28q7V%(RTA7Eyp4|GjaNY"7 7iCoCe!|D3,ᶸҐ=DGS~"Rt#Ɣ@/&Fbc,уAACORt|Dʐ4$eZSHz$'F-eMH D"!*;5YH}8 dUaWD)g:JD07vic"0%8US~,RΓ#zߤ2Rt df&9;4D!؃H69|iH@tNF v !N=joљRƔg*FeLJid/&G8 dU#q4q$e@V%(3ʍ Z/7`Bh~B$!30&1"0wHE` !% L&"=8de XaOI r]FcvjOFc?H"кs k*21Zc'/2,Yt~8?R, 7Y`~ʀ-@ʀʀƔq`c@JOH?u0k pR+&Fbbh%8,4 Add! ƐdLB1HGԈiR_:LJpXh@cwHMC m>pv  iq$a0y,Dh@<X%,ds|\Hl~6D>q @;&t;Bkd.yr,Q;3kh,4`Eh.')zC%RS) )pFSҐ!&GS~L`iH S~K8{zC-XҐ:o'pF˘iH;&GS~<`iHO󭣨'pFSH[̱Ґ &GS;4Y:pYA;&D!؃H68pLLpff `Ɣ2Zw if`xl~fAJi-;!H;qbfffAi琎ü7v ffd69yy;q؃p\fe?x|I9k/"+S wϬ?L i29Ⱦq@`$6?N@s"MH D nLCe!V`caXO㢟 yJ_) r Ґ322 l30!6?pYa!4v!D18sk-Mh/*I 7iCe!VŸ3G;0 6$#Tߤ2Ƴ bB9YTK`v3,ųr c7s bB9YUM3*A¨23ؐxiH?c F`lG8nyV# 00ViHl22!' 3cv !ēG`M0c4p$HJeK %^2SI/DsAS*U1eN),>/"d!F-"FI>p@/*S(YA(4eBѕ@/y$ez5MN& $ }NY\iTM?hjiM4?jiiJ1 )|lsJM>\M4%oW4M4M4M4M4O?[tM?oM4SM4SM4SM4SM4SM4SM4SM4SM4mM4M4)_‘$!4Ox)_iMM?hjiM4mM4M4)_‘$!4Ox)_ii/馚iiii9ߣi~?9ĿO~s/ŸX'M Cpb ƚ/p?LϦf8c`8BzH4PMl R%r_(y dhP4P" $I( e.OgF/y4j"'$ o IwQ )urF4E.M4jD_rF4E.M4jD_rF4E.M4jD_rF4E.M4jD_rF4E.M4jD_rF4EP䱦L4_4); d rʦߚ/T]3$j B*""8 pT/:XEɤU_, 9.L59x*X'y69|H Ci.c  OM4iM4~4O馚 4M4 GM>69|H Ci.c  馚iiiii:i~馚))))))))}a6i|Hi<H}M4iiM4~4O馚}a6i|Hi<H}M4M4_M4M4M4M4M?oM4sGA10DE0B cM4A14Cͱ0B!/F'cLSM4Z qbOZ p.ap2??"~\ Bpl Zk$sEf?F2?.~1I)g򩀶)xf#1Ghx. J8Q`fP7 /2b Fq`p3 G0 cD_I2A1@jl`4 !- w\S=CN6H Oxq LMI2Ӿ_ RhM@h@<$?7)&)O 4&JxI~o4 SM| RhM@1 aĠ.  / F/x"A/(xj5yaL T( 3 ~^4I8d3x. c<04irh~hL?qM ϕ&X_3 $G1=4i Bb F F/g+,L, 1r~Y~dJӾWg:OMxQ h CW))rzXOF)JOu2 r:B_+g)(S JOynrHRHCxD['9)#/'Y##I""8  HRHCxD| )&Jx^(2z5L#dRf~WK4F)Nj"OK4R=^K" R$-~4Bre'2xNRa.WF)~dy,SXY>,)DS<#dRf AQįƚ(NF +gXr)$S!O<81}B3~N>rh!ɔ4 Sp4.*(@)&LU2NHF*4jT <81}B3$G1|ѧCdR RtETDr)O 2e%gu2Dr5 TȝRK1h&LqgK$2˥_FT/MT R_hNA482K4RTROu8 -d^{-dA{3MMMMMMMMM?ښiiR#H CiR$!4O1_h4O馚?Zi_M?ښiiR#H CiR$!4O1_M?[UM4M4M4M4M44O?[tMMMMMMMMM>SM4M> WyH}M4c WĀ>i?4G4O馚?Zi_M>SM4M> WyH}M4c WĀ>iiKiiiii~馚9ߣc8&0JX`, 1`n, ŕc+c1`r, `$a%(yp! ō1`8c8Xlb1`X,"c&3XG7$cNF9Rhp.p.P9}4pP(}cJ,N2}c:1LgB!ZSу8bL H1fI9, h^20;Ѩbh*p&MT )*p%+ 58Hc'T̜p^"O7`?M4M4M4M4M4M4M4M4M4L i+R<Ā>i+@RSM4sPOiSM4ni7_M4L i+R<Ā>i+@RSM4sPOM4_M4M4M4M4M?oM4sGM4M4M4M4M4M4M4M4M44M4 GM>69|H Ci/M4M4ni7_M44M4 GM>69|H Ci/iĿ?iiiii~i66QZS@e')*Mq.0~)-A0 T) T,S,_ _M'p`2 Ih] |lKNIu3DpL NDp?4jTIbs)ba/% ɔ$fH9A.1}B3KN*S$&RrH#eK qJLLre'$:8XYJA4jTI"Nh)cDX&X] ;I!4h̓2q(O l^Gf7s*.4'e`UfXd^E(4eBѕ8L)ފI N4eP&.h?H6/B,q.yo; m&66X!1``6VCsjaN|2AQɬq(O `_c,b8̽QbL f&dd^E(4eBѕ8L)/Bh*p&MT )*p%+ 58$xAfN3a{Oe~| | <_|H|GBW|B:lEZ SHDXd^E(4eBѕ8L)ޕQ48X &8}2Y/`[Mݦϱh/? ?OG<4);at79h/? $Trqk2LP M?n!?4O uM?ni馚)i7?馚MM4`UgXd^E(4eBѕ8L)MASQ2hʠL],IS,~)^-e{Beoc AX] ;NMG'&3$̜e Yd' M z_Š4fNHXRFT/MQZS'& :dѕ@YXR"[8 О8 bL >$dK$,~)E*L)jaNMN?uDɣ*1tE%NdzD qE cJl, /Bx(/g.yD9y<$cNbQ4?79Dғ@%JM|CM)4bQ4?79Dғ@%JM|CM)4bQ4?7S!iȤL_򸦆gʓE,`/j59%Pxxjr!J&9Q 0L)FhPcI" r飄(25*E$d&3ĢcOT*S1a0z CU MRHIʢX%4 B,9`~1mc`}ߐ1 `&~&0X7F 7~#cov0XY ,Wߐɿhg߉dWcFs8|ƌ9_1ч?64ahßv4a3ч?hb@%Lǥ?br`;3:ca+@c:5c:7c ƍS34c33|"1 60XC߂X~O~/ ~'ocF [Kd߈_ [)$PF"o)/Ӗ1/ʦئF%o1/F"oELLĿ$OLщ[,EĿI)F%oщ[YMb_R%KUIK`LXщ[R%WKqM1/4).M1/4IK̦?F%of~oF%oUIKᬑKU$j&KĿ]*hUKaR%Ŀ$OĿ,(:щ[Y?F%oqM/K?KVĿ)$S'1/2K$Kщ[9_L?ĿKb_1/#ɔ+b_M1/4'1/2bF%oJUDF%oRob_)%EF%oKF%oQKF%oщ[щ[2 RĿ ee`b_y$_TѨԪ ш[E?kEYF%9b_?*U$j&KĿA7A9$PщUĿ`1//X F%E?KL)E K3MhX%cX1%Lb@y_4' |[K%Lbv?|_4's1_4'GK/_4''%Lbq/c|1?_4'_iNSK19g/c%Lbu_iR|eľiROľiR5b_4g0DX1! |"X1/c8Qľi2b_4r%Lg~/c8aľioľi%Lg%Lg33|{ľiK02b_4 X1hX1|+KX>b_4 0V~/ca|+_KXCb_4 '0VX1ľi%L`@b_4 O0VX1ľi%L`Bb_4 ?%LuX1ԃ|HX1ԋ|Wb_4R?%Lu/cUľi?X1+b_4Qo33'|ЕľiKb_4`ľi6/cl|a6ï%Lm%LmX1~/cl/cl~/cl=b_4x11,%Lg3ʿ||_4x11 |/c<1!b_4|"/c> ~/cp%~/cB4.~/cBSľi||ľi;X1oľiK>b_4pľi3|%Lnb_4g7LX1X1X1Gľi~/c%L`|-KhyľiKh>b_4 B0ZX1ЍľiKhKb_4 Bo44d?Kё/cF~/cF-b_4ƎiKѷKѹľi?_4ƌeľi1/cF4`|8|2%Lh4s~/cFaKľi1Wľi8b_4ƌ3%LhDi@b_4ƌ!~$iC.%Lh'4a|09/cF |1|0/cF|0ė1 |0ľiKш |OR_4Ɛ|B%Liľi"_4Ɛ>K 4Wdi!I|@i PKWľi#_4Ƒ |G?X1 ?X1GVK /cHOTK 4`1(/cH |@e$%Li 41,XK&ZK*VKM1/4ܗ1$i o"%Li$i"%Li X144FK4B_4Ɛ)%Li |@i =/cH$i ?b_4Ɛ>b_4Ɛ ~4 i C41KoƤi G/cH ~6%LiOy/cHX1 _4Ɛ&~/cHi ľi _40 ||JK_K 7%Lc?"_40/c_K?_40 &%Lco|¿K ~/c71b_40 ?i`1I||kXK%Lc%Lc|~/c/cC1 ?X1~/c*b_40|ė1 ?X1'1%Lc༗1/c/K )E*Y*4eWK 2BzhʿFU3)ѕ*HRgK$xQYe>2K4R?Y!2MT BgK$&S*S rgK$&S! Cy نlj^y')L':u#)2Rz)$My%bMxXLEbdzYA_KK7#E'KҨ,3M'fX~i)|2<>:A|2=$Ib%Ebdz%IYKIEEqLF*(#PO3$j3'S Ѩoo<ɔtH1%DPxLXj#įu[t}XVu")1Cv\VVu`,.TujΨ}],WVbfݒ(~ R[[BmՖ,۲D锪 n5K41fbYמQjT]YCjg^L۴~ujλAh\5fDejaNC[6)\ECV*՝R]5CVV(+S wl6$Ywķ%:˾%͞D.6}S[INo3n"Ju|KyB)]U<'ae mD1IrE-y;qsՊg^PM-ΠV'zXN}ΠnU4ɢ癩wZ:z}2X$TdA(hOtbYה>+VVuݤ5>ZCsU g^)yʳg*՝zXN}γVOV).Q5γVPڭYוG γ[Yg^R3w:lxZBg~ho1Qcķ%>˾&D,[|$YwķedD. i0y֜U@'aB˧mb_+iY%R)+Pxy)rz-}2206}ZT\,R]jӍP}y"L5iM[ķȒ۾h'aeOx4$Ye^40ӧ6'adN4xYcq=5mG[h⋔7dR}*.J).b,hYv٫-2 U;b/lՖe՝ ϕ5eYhZajL}ʵg](Z7Ͷ{Oì:Oz?#'=c"~FaO{—.LAYޚ#x/My4O/My6P]<(N>MצǜDu\R2Lט9tp5>#ǼNW/My'R+^c":߅#1l8<~RbLטG1XuOf~kq~Y!5V*՝gP盫VVvYNxOV<4j nyʡ?VO,%L]ϱVYY><]7>Yj3qs'ثVvY7~Z,Es6VvYTmի;,L:U՝gQsǪ}*՝gX Ϡحq|KyD.Xu-@$Yw׼,uYP9}5@$%D]2ȟXu=I dӾW\R9}1tWVi+*ժ՝w@H^;q=5@qOì:N(qQf`-Tpl1n2HP3] f8xl< $1RAb ^kvP8H6 Bј d0W|#%KD=rȜg׼6uY@=4,R=wzk8y_L]ܵXVv4tjjλ⹤}DbӾW^gpo3"J3Q?#(=̅Oì:%l+m̅Oì:%O"J.!>u\to2e^!q0gOx!B+lfXa0t3,2+lfX'aq&̰$3,6uYa&̰yS?#6t^fX@)YwWD:ìfXB\u^fYaS;fYe0#̳dOì:iӶ-e 5eȅYgrY>V򩤻,V*՝z\5jjμT][՝x,J!UvYnOի:TϕUfU4\Ue^zYLp5djμR*U:e0ݖOVnY|PQed3,\(<2Oì;f@x3fQ%:˾fD:è]=Ef"~FaPv^fl'ae mMfǑ?#tMyIN36@)]Uf"~FaθW!D:î:yiOì:Ө<(.z55g̴#yrc+Q-Z2Ց2>=>יDu(2BMeT\j&q3-Dt%%DPyh&Z=r^fZ@(̴'a<- )x8^ 4Yg.QbfzkQ2y$@Y )ZmK4R<\]7ejYYY azhJו)kU(ՓYJ-5[2d4OJY7ek0Y> )8nMVֳud&.hzb)NJەbY`L],H L],d5U6u3=bf..̞i'ky(dQfp  Fajbp  Faj7fp  Fajj#/<5C1]#/<5C1ݺ#/<5C1Ǯzp  Fajb1Qd3*G`f Ư9w*G`f Ư!grOEn3$12^bTf8 IcQd3٨p8#G0f5z׵FcĜf1<5C1]8b4xj3 cWuqhf Ư8b4xj3 cWFcĜf1<5C1.1bN3!.FcĜf1<5C1nMy<=ycq=5d󈎲NJ3'~Fa:vfOuY<,(S,м$I(d(qRDpݓ*Z z8Kjjο 2]OTuj3rOի:$Es՛9V vdqOy Y>l۰>4RKvOVPڧ2~ȅ̟gי"2yf'C'E+Gy4rvOڬU; ^h]>ZZ>Z,`+yPVv?,G }<ʵgay,rK3_vO 'ثVv)[(mV/JT5Vv/TnjλMdOì:}GrOE+'˔K:XVv5jjΧEγSի:fOի:3'"-d o3'D:öiOw(dR|DMsՊga-γVVx\5>Z/jZ2ECMe(Xv:=r)PWyAdGYc.2GOx4ç̠m(2'aeNt`-~dC(h] U쯼] ʸ쯽 ?vP'6u^fP D.e0י"AP苛R*e/TϕvPZU:*T_SIv\AV*՝wEɔ+zkd":).LA]( /3H"~Fa֝:>& iti^N\h߆%?r6V<9% jU:3HD.4B1k%:˾&B\}Sk? 0r0)\UXԨ֪Y>\pժ՝w5e0dن<\p4Mr1dRŜAt\5bYҸaj:5i[ךPY Ɣ4.+4|)liCG"~ ViCG~4ײ5jjƔ4y4J.unY҆'|4J.u?ViCGJnug*՝(h[sՓU:5D.Y B!?kd-Ju|My!ukd6D.Y HCo^k!aSkd,Y &q !us0>5@>^k8'aB(-ƕUܢ4W cKsU}XRUdY>TϕsիU:i^QUM-,R>3rݔjD2~ UU;4 (2~ Tuj,)SMs gfSgW:YjȖZW:Y>Z@CWMAjjqnʩ"nqʵfwךD.Uy?#gך!D.NxY蒝e^k45m5e֭kf]fU浐~Fa֝;ow(M".nWՊgeU4VjλA3\qٸFkbYF锩L]VVv5Qze*eNde}gcUWZxM-Aj?VjJY+E*E Ajg*՝Ti^K#sF%%]'ثVv5Qy*W젵YCjgcUW}DT$7ek7VjJ*S2ձjƪ4Ch1I7egVv5Qy2LkjU;ҼU7eU;ҽ$O,IʓE Ajujƪ4%((n UOի;Ҽ,DݔmVjJ,ݔn1VjJ2).+<ͪ՝Ti^  I-AjmgcUW !A)[:. (mViO7)RZ\imf՝TaC[?V&qB8Ǯ\dYA,~Kˍ:{יQ @牯5}Skk D.Z͢Ju|Mycȅֳ~&ֵ%:˾&ֳHֵMyf%:˾&ֳ(ֳ&eIN5B]f\5'%:˾&e!u?kf[D.Yȅe^f\e@*C(E+L4(}x\v4Fˍ㱥y3c ⽭S-SW*M:P4~YҼu4R5@}ʵgcJi~Yj U;WfYZYҽi UKsի;W)U"5q gcJS\5Cg*՝+Ȫ젵PbYҽRQ,`+yPZzXUe7VOWX e WPҗX4e W+{8Y`gcJKYa*՝+ϗL e.OsՖlZz9T)?VY=jgcJSFD:Ye՝!ʅ7rFe0ue*՝+ g)[(ڭYҼW)kن˖nYҽ)Ov.?Vi^Q Ruv.8ZyD**:U;WC0TWd ՝+˓M$Vv4C/'젵l'՝+Ø>^"(6ZHE4inճ,ڶ<}ҼY2ؔ^rYҼ*T_%SvagcJɢ. jjλk(̡sȯ3.YS3.4\˖Fa )OZ40vP jƕgKZZ}LKn>Z}Ҫ( gcJ"/YjƕHB襚Y>Z}&(PՔ6Vv43r̵[Y}Ҿ%D:ld}2FWj<~v4?4P֭rv4f.U E{ZO&̸k2EȜ[v\AV*՝9sɢ}-q XVu^f\>\ˇGጽ[r\W-q\vE]-U >^fPuYuItd2#xyTg̡>,x $M$pJ[2)[bD&Sle VO1uB~ZYXT KMvP՝9{HB~Y$PUF+YjȜbQ EvP'ثVvDK,ŒE)eB~Z'/zI(OnY$_?[?VT[,J&(O9V(8^Y":G ^k2# ~Fa<(PR8R!t\E+,%R &-V*՝U^T4pmիU:5 TC}mnYF.(Mv[nOի:DMm՛9Vy< &-VOVx]۫(mV%R*Kنk7WCg]5 2hM qa&yBbnUvI+~hWWe uj3E r4i֪'d"KmU3S>W-Ajەj3ѥUvP!n1V=Wˌ6VvI+Bw-(Tmի;$&Mnˈ*ygdݔ(*}*՘vI+ dR]4We j3š+jOVO’HWγT(mVk i0ˬ?kcD.|FfJ5莳)&`-zY[c":LBܢǐf~bocUgR|[jZvH.XԨzLYsU*]JuI/y2 nQd .q)ךǏ"X~&Z!`-Z0Oax2<>:zTf(Oի:^+L?$2B~!?VazHAP9VmD(WeemVazUQA,-qYi՝Q /J(D?VZ@~Y\J%-Y>՝Q /Y䩟+?VmgTC ʦ츂0jΨTjM{ AVag_Sʤs{ CVhZϨ(OUOVO9LC fVu#Q+Ĝ).QcE+^9{L<)XwL2&Skп3(Jܳ?1t*Z>y=7:XVuLI$J \VVuW(苜PxuVɔZpUm|Uy}Oì:çY>"%y2 oc*ZXVu2 ^Q|ױUg]e0 >j%B((nQc좖ͦSk)Q4S<Ubu4o%L\:OVKT'՝y2 T>+g*}]5'.M4w("|)i0N›(XuO:v&a̵Kơ*4yRٹJjUL\-Ud'Uv1VVj!츂۫Vv5IQvO9T'՝U"EZݗU gb/"KvY>۱c򗧹jU;|<7j+k7Vl1ݦGVElw›hQ?#m!tE>"`/'z"nUێBϕ%Mht/'x4S-Z=fw(hhmXGmн_hUbq]UiȟXvΝo„'"3dV@EѨ=5i":OaFWriOh# Vx@3Mp0gbjjΧ44'1jnY&/8"ͪZ4h2פzdMr>W&LU2'~kjU̙?,:Y?VOnVVuL3L D)0'aiZb 3\E+-3TȝuVO*gLUdY>LZZYS= Tue6(3^f<Xy3Q& 0)[jҦLevT@L,8Ya3&y;iճ(Ֆqٓ]Unvd@L MYʟmٓ=g_vAVCjm|K&|$ҽ5i(a E3M%eR *4i5b6xD%&jgի:],OE$dySnuێU:3L\,x!u?4=5iQY|Z. jΧ,zaҨug*S=p udJn UU:䩟+:YCjgS=%]OVnYD:L3[?S饻LVZJ+LVZY)U4jTKv=VnOﴜ-,Rf,KSн_nZx T[sՊgSb cQi ZPLT3E5e7SC4'Y,8ZLTL1Q5γVYjΧ1QZL`[0\uU:ʆ\5e*՝Oe@4]tP̳VP!ZL?Ѩ+ff՝OeCrT%qYpgSP\2!.8ZL`[5mU:ʁ|HWie U; Y"Ƞ-M9VPZS'.M4w(iJþf D:ìu5? 2=5ib,C (iR+ ibY|(8'a<.7EiQ?#Yq o3N8uY<-4Oì:Zk‹Ӈ?#N>ܡ.dqpX6q? 22~8U8qN9V*͜u>%B)Y>\}KVl4BoǯȪ)PӖE+G~KvP9V+fПu, _.hOՓ:Fa C[<~Yy9ri~d8z>jο˓Mɔ[s,ZdѪ?v[ =jgwיD.ix4H1HrGrmn% ~dL8Xn;? 2GvfVv% ~ UB~Yؔ'zHDd g*՝BwD_5pY>Z4IN3Hl\|RB)Z>X~ l:U^!qgbKy< VYZ4B搵[ȅY+蒴%!@*|MyB$Ywķ(Q%@o3l0*|).(WͰ#x6ő%:˾&Ͱ$YwיD.6Bx6IN3l D.6ÈNω3l!D.m&( 4߉y)rzH|RgH-m5γQ*.J).uR<$.x*O%4W [gɢPW1eoġZ:ω_NDmIɦ[C%.Q\2e< d_䱦i|,iPxy)rzTH^+[‰}DbM ;%.Q\2q*锽wZģEuVC dM ;%.Q\2qI dHi|N&MpR<$9\S<5\-m&A\ŗT>%*.J).b]RNK@ aҨK×Ep|L%s]Q|NK@ 9"LW(kY;%.Q\2lU0F\-mɦm璗(!k ˓M-:ωR¤k:ϊbE2Df3]y)rz<#%KLӾW%+r'y yN7rE!y2 Rƚ+Y;%.Q\2m>)n2F . C+Lo"Gx j3xb  0d<R$x 7!1(d|X 8n6>GN\R3g<)( ѧ|)n /= I_.M3?%BGOy$jC(\D XZJ)QfD XZ~dE0(? e'~R۔Xh]A#^0r@( d%H:ED XZO1s%, bĢ|*Q"Q%,@ʼnED0ܡ",J-w^$Ir bĢ|(SɮP՚D XZT`-z}K4Q4PܡD XZơɦ @(]9Qr[4} bĢ|"$q@ʼnEOrD XZ&.g)R bĢ|Ơ˓Mi bĢ|(~EP)Or@($cy9riCmD XZo3nDuKy #[ķ:%Y,\J՞U4V(YVVuCSի:QrXBCT'՝y*gug*^Khuud=,Ʀ8nu}g^yDASte ՝y2 nիk7VDQiM5Oì:N,b 8[8wYjμb[AVVOLAVܫ'y,iE%ASՓ:yR)uʵjg]?4MrE+6zXPPU}הZ:z}2X$TdCgJĞ*Z(}Z@D:YCjg^U7:mf՝yJTϕ5jλ ͠DfD60\55gǘDu^e0x5? 2=5=dGX<0r"^~dUg]ܠhdX&KfU cT9mKjOի:DY1Ȏc?#N=Q3'ޚ@^q0t\L^cQ=}Oì:O!~dj<~U8q?sUg.>#>X6q|F (?dR| >X6q|ܠH>4ɢ癫B}[ya皪jƨr}KX6q|FrѪyamKyD}{}Oì:nM@'aB@XMy2 e}䯧02 "@υ7HXu-gNƲa(@)Ybǥ.Ph]5b;)r4ë\\OYt UqusVzk̀#x >uOxĢk @T*Ug`L],I7:ZZt}[́ $Yw׼0uY<gD."~FaXto3"Ju|Sym0to3%:˾)D:è=[IOw׼8uYe*!D:çt)yTm2s9zk̅HXÕj3LѧJX_\5>j2OMxγS-VRMeU ի;Q eh\ :rݖ[Z?W,k' d3,D.2ˈXuΞ2Oì;cǝ;o:=٨0 c0^2\6jf3ݺdAp`2 p̢1#{j  F/]ʌC2.A1@QahT!p^3]Tp3 f@\epf1 W#Q`u #Q`R$1~h\8 J Fc.F2 #;~ )1(.Oy(%ȒwW4uY@h:x0<٨0p0piv1 aĢd%Tn u.Tb5 ܨZ. G0J. Bf0p.6f#1@d/F`5 / `Q/ `1'5H0^E?P.%j1(xwd]9J'&l߉o36>*|UyOì:Ox3g%@36BuYqܡD\7sUgcT~V*͜u?3 F )lő<]\vgUvZbZ]?3 F3-Y-3Irc+Q-Z2HDOfZm(2Beȏ!9Ph3-Dv^fZ@uO:G ^..C-8VOxL5-5V*՝4<8nMիUx,B)%Jumʲ})b ,BK-&SkîSyl'am{׍DY3-Du^52}3-^^f[Bul- R:(dmK[F%%]UgT)'Rz>:-VVuBbzhĤk nYѨ-zhĤk ?Vh1&-6rYb~y:bUUdR^Nvdq"Nh,*y+LKەe}O[M2kەe eT]ܭrvUOe5g.QԨzkQ2y^fOY0t`% a_2yRx "KժY>éS>W-'ثVuArwL],I-(mV1Wz*&~ xmf՝P\fDRgeiu*da\UiKZf;,sDqtpݖثmVl4OJY7ejy}K1c!z8nv6',S,(}Yn0&̞@\&yBbM<2yLAWQ%d2}Oì;cΞיDu<)̟i0N›?#tgL],Hי2} /3'Ϣ~Fa֝e?鋔@YPp)NDp?4jT~۫6q|L L],My>&OL 8nP(iL],Hqtpݖثf;bfG>+|Y azhJו)kA[2Y> )t+A[2d4OJY7<UYK#Vֳud&.hzb)NJyͱVð&.hzb&.k}*:1tG ^fP0|(̠e0(2ȟXuΝ+O^fP4gRg mb*&~ +O@X6q&zY+=VlZ&zkș@߅?# aк)W(eR͕?,OBݓՊfaK4R= ?vP3VlیVY&z~?VOYU:3(D.e0h]^fP!D)]Ue Oì;cΞ ? 2F*2R}JnuV\5jjοҩaҨunYyTfS:PVu~dM~fU:o@*>+'ثVu~d(OU6VuQ|e ի:oD3r5jλkfD.YQ?#L:{ךYSfD:í0 cP2Lך6U?#P3eSk#ѨE>VODqcPWƘutqcP2M{0Y?VO,j~dժ՝58S{0z۩w%@X Dt4`-~dz5QfE-5Mلb;,j^ qcP}JdUdƠS) cPMVVvXyaS՛8챨>)UsU6Vu^k0SfXD:í0^k2$YwW0MyHe^k2'aOxYȒe^k2}0ç(e'ai mfP~FaO:{‹k0uZBxZ̢Ju|Uyk"~Fal^kYOì:PxQycȟXtNo5^kYINyd(XuPxY(L7 F#^0xj3 cW F#^0xj3 cW5 F#^0xj3 cW{T1x2^jT1x2^n1x2^=s F#^0xj3 cWC!APb80f5y˹Pb80f5y ;Y"7qhf Ư1v*3$12^ff8 IcQd3kڣ1bN3!FcĜf1<5C1ݺ8b4xj3 cW\FcĜf1<5C1~1bN3!AQp1'F Fajr1bN3!7CW|P\j&iG\UM~Fa:v^k4y0y֭LBx$P\E+*'iV٦ժ՝~dV՝0g?j?Vx:UγVlZ*.UUU? j f'ܭv&IofU6l&iB4ׁf'EBVhiXVvк+٧*ժ՝M{4OV/K3i?V/&~Y٦͜Vv$=%MUU; ɔ[sՔ6Vv|rHuի; }D7MVǏի:7ͰuYa4ܢͲVO()uV1%jժ՝Of۫Vu;:PVu^k7dEm o5i0٧lݽ,hdrbYj[fZYj}gS_s g]5gٶ)l'aNٳ޹sɔ+m#XH<mEͩJ2y*g彛AV*՝R*e/򩤽jλT5iNJK)PWymM6‹vD:í:u|MymBCҼ4ѿ 2J~ )[LXXkbY|Myi$YwיD.m&ʹySkG h3m4)]5m id8T)+XR),QsU}Ҹ*ժ՝w50uYl}+f Qd ,j YjΕ *ժ(l&AdB gי"4} . dRٸ҆D7hbY҆Li*ժ՝(hh\u>Z Nzh\uB~Y҆C"R5fU;PS)['ثVu^fD.4|!sGx4}IN3GD.h^&eSk"4}^f!D.4}B!5hA Pיg‹?#lv4@ )\5-εV*` aKsUdS>W-γVVqyDS)U4(hh@}*g彛AV*՝OKeT^͠VVvh=$PeT^͠՝O'XRYj)$ώug*՝, fu}gfSɔI2ٴe ՝5Q =jnʩ"GrY]5hB7Q?#gיD.i&0ySk `ѨoMyaGZ3L2\ xY XuN]bȋ:qʱV?3ʦ0XVuFYBٸFkٴbYF锩L^͠VVv5Qze*eNd׳h*}gcUWZxM- ?VjJY+E*E g*՝Ti^K#sF%%^͠'ثVv5Qy*WmYCjgcUW}DT$7h+k7VjJ*S2ٴjƪ4Ch1I7h+gVv5Qy2LkٴjU;ҼU7h*U;ҽ$O,IʓE ujƪ4%((ofUOի;Ҽ,D͠mVjJ,͠n1VjJ2).+ٴ<ͪ՝Ti^  I- mgcUW !A)[ٴ۱>g{Z۩ݍ+ѪgyT]6rYҽ*KudjƔ3y$|u{?VPڭYҟo&RU`mf՝TaL9[?V&aJXI5#]2-=γVYjƕP=VY=jgcJSFD:Ye՝!ʅ7BY'՝hfܫVv4\5f1Vi^N\h߆%G-3jgcJϪGث-6ZzgA2kjƕU$Rݣ-ZyInjƕUE]h-Vi^D7mU7VPҽ*e0udjƕɦ`- 9ViO4ѼL:Y@}gcJ"h`-6Vv4 hAj囫Vv4FS].?Vi^Q Ruv?V\qʵgcJUȯ5YS4 (Jzѥ}KXVv4 ? 2]'ժ՝+(d[vP՝+FU?Vi_yDE^Ǚ6rYҾIh]^ǚ'ثVv4$ױ*U;WJog-[Y}Ҿ%D:ld}2FWj<~v4?4P֭rv4f.U E{ZO&)Y jZ(xk{rZY<89Sի:nQc"HCV ߔ<~ZY<2.U%cTujλnQcD\ͤPhK{bU dP0{fU ]Gጽ a<nE'-M^ǏUgdPjjȡ⫝j۫'ݑCIߔmWȡ䩟+a\r;"cB}|(>'aeAK5!?}狓)PV՞XGYcQ$'i#WDܢϢ$N^e0{=V*՝9{.VVvD)U^TujȜG$WB~Y$PUF+g*՝9{ĢQ>zbY,Ie ՝9{M5|mf՝9{M0/cc՝9{ʋeDױճU: qGPxhzkgD y?#v5T4pB&E6VX=eQJMv[AV*՝U^T4ph*ժ՝U^L\j!춂۫Vu1sѨ"]U gUHCɠQ5mYjΪ*k }gUHCŐ(춂ZPKLi/d Vn2λkd 2hM >a&yBb>XN6{64Q /ĢY[4h LbO|XVuD0-i^O(k{=VVaz5O[ҼP>z۫VuD0Phy<|PVuD0Phy4|YjΨj&򆷱djΨj&҆e ՝Q /G)[ի:^R bWVǏի:^R bWJV9VayIPhy<|ZjΨWJU֫VuD0^9Q4'5N7VaxzZYiC|0ܶi^O(k{=T 7Vaz4tn[4&5ի:^(`]0_7-WU*՝Q /F0./f+ɥ oc U:^(`]0n[4'5ZYiC?,r٥y4|\>Z!f~gX mP4}|)7dOì:.^feAe* ϶יDu)N4E&SkfV= SM{ɔZ/rY[dbYԩ+ZV'ݒ( 5*%S\Umʲ}}ǠRRhL۔4z`-VrTne0M3V*՝wJuI/y2 o3M+N"Ju]5i(4KuIy2 ^X&{=,i&`-CMD\ҦSmڱVҦSj5bY|1T')4M4י6\՚5jD.ji(e|My2ȯ3LD,k."4^f<)]5i2{יZD.4(e^f!sLkQ%:˾&2!sL!́aCL E+l6^Q|i*Z!"Kcժ՝Q /(}ҦS5|\>Z!JLHS)^U'՝Q /IH9ݪUuD0"Q3!UxYiU:^TPK3K{?VZmgTC Ҫ(- ?Vax%ݦ۫-Y>՝Q /Y䩟+>z0jΨM%xZa՝Q /?"*.6~2ujο"I6ZejΎS>>ZddϨyD0ݦVag]5 Iˋ YRSɮP՚E+)@`-z~ Y )[g.YXVu\E+G ιV*՝SI"*ժ՝wUh">+nU:e07iO*4'aaӬar"%y2 nՏՊg`y2 n՜>۰LjjZZM3V*՝w)Z/Ѩi ĢhCM0[6L@D)LjHnV>۩y*g*}gdX i?VɔZ]U9Sy9riCG"|)ʹ'am7D:íyӶ5mr<W-}KlVVv5E{?Sի;('T'՝U"E?jg*՝,bR'ث'wܹCv@V`/'zRJX(l^N~kce Vq|)ٴOì:(];oG ISJYnPݚE-OvbTnݦ}SD0Y>ۮ6Oì:˧YLr)Y>)Җ>]UgCE2HëٴjjΆezHAPݶPu>ۮ6Bo‹?#(]jPR)"⻔4 )\r"~dj_3S>W-ηVVE=4Sݤ.Tu>q23l0(|MyaBcȯ3ND,kӈ pgNE\O"x-xXVv"K$Q]UU;|K3mOVEf: ISJYnݚU6t/'z .|-۳uB}w›ݙD:í6ӧm\Y^NE]OUێJ\5 Tݶ\mVPмLvOYe*.KvPr@zλMm蟑Xuvޢ EͶ^NE]OUێBϕ%lht/'x4S-۵Z=f ކ,v=V*0^NݐUz:QlŐrW-ujΧ,z!J&VZuv1[?S饻Hի1VrǠRhӖGVrǔ5*%N5VnOﴜ->w!8Xl^/vfZTϕUdY>-CHYD\ܷi bYןSDp5bY|r3Hlx5^f ^B"ޔUOvڬU:"/JnZ4!sHOy4"ޔUOkbYה[Ovjλ'CHO"],ՊgKH[VVti nYKjλr?+IZי,xQyaOì:}Nי[D.mtE^6È>›?#6iӶ< \XE+'Ob nuVx _!j"l V6u< cL1VXu>۩LT3MquÎU:At\5e1Vx7m5e֫Vu< 5a Ye՝ObaufOի: L0-3lX5m"6>)R'=5m莳'1tO3gSP"⻶>@n2E]UVu< TZ(KfÕjΧ2@/+lU:ʂϕsՖZY&TPTMsՓ7Vx*8D:Y=[ٷ*lŁ%mٴ'~T0sVVuN\h߆%gZrFe0u 1V<4jdVl6ۈͶ2F9G&;6Rٸ'ya2Vv% ~d,~Vv% ~ ەB~Yؔ'zHD׳MU9VJ"**՝wי̢Ju|My=dB34Rh.PJ]UuD0L9[8jĖL*y,]֭jg]5lh͞kיǑ%:˾&͞>.x6y!sg6yBP5lIN^fϰ)YwķJ^fV;k%>}^f϶)]5lIN,86|#6}"Ӭk >ȯ3gТJm|&͠eSL`-M͠+=k%:˾%͠mT6$+蒲~6$Y^f8+VwķQ%@3n0)]5mQ%j6%jmƑ%:.6he"͸}So3n D|6㈒e|Myq $Yw‹?#'i o3hYD:ìۧm0WF)~dy,S,=Y%/? 2]S(Ox5OK4T Fk 2=$Rݔ(|Hz0s璗(2+#fyai|)$ꞕL? 2]-璗(Y>%4\-:ϑ@Hi|NK@ ?=* bi|XWTu@7KoQ h CW))ngȔ)%x@Bi|K$S_Ms璗(9oqLe0> aCZǂby+L:y,SoFr}KYH巇'~dN䯧0ꏟC%.Q\2 3#Ѫy,Syai|KѪzYFji0ggȣyaq K3ꎳ⇞J\dˈ|3#Ѫy,SoFr}KY%/K4Fy巟/f x5O%}'ȥ;Ѩg.g ^,S,O 72h]Q|7.')cq<+ Tu&).|y)rzᓎxrh~hL7 NyO:*3 F).gʢ50Q|)gO:K2OMx 4 S}D7TF)df+?⇞J\efmxj5yai|PK@ >)nZ|CA\8Wx/ W )(Z/Ѩi ĢhEi1bQkG&;X]ӕ%E0(#g(ir! bĢ}r'ED XZ&.g)R 0 bĢ|Ơ˓Mm@ʼnEPR m1bQk+H1HrGrD XZo3HP:^%bȎoflX-B㬳[efD:ç=[Ց%:˾)4uO:{ך+zkG\( zkGOx4'ad fD !E+VҦ|j򔩟+Gժ՝|՝S>WvU g`z.ӕfU8&Ͳ)Yw7"~FaMl'a@#͟D:íY;oJXdO(m)[O)\8uʱVO;$RL1\dYvHTD\d\uItʋ+f}*.\LUUKt*nuʴYusVzkۈ=i%,x'K6se? AV*՝JRMvܫjλ[yINo1"~Fa狓)PV}ǚDu1kRטGAtj&zkx#x:bzky#R4j ^B^td1QArzk~ȏ9\p5>#N*WDu y2gzk|#1l8>\1l &zk}#{}Oì:㧏\?5E+,gssՊge)jj3 ՝g&Am!dTϕ5eU3s6rYfx8n}}ge!ssՔ6VvY0gϷ[Yge~ZRe0s*یU;,R0TW:O3jgeYnxO6ZåQ\@~Yfx%<~rYfzHAP>:7Xu,ӧḿOì:.2 "~FaO:vGy4uY>Ӎ:v)XOMy6~-QrJ`*XYiY(+-2 U;b/LujΆjgu,~Y԰5eY>Z-d ?8#p310]cp2x. QbOpg{Tp3BAڨf1 'ۨf1 '@0xp1G1`8< h\5C8C1Q0nS$P)P\ B)0uP›(Xu,ӧm"L5)Ya*Պg_ fZY+1Sի0ER%f8\e wג( ^gDUy<uY\vH' J)~?VO bMvY?VPڬvUOdlÕd~H,Pu3=1rNC^fYB\3f?#N L],(f̢:rѩPu0sq")1I ڮUK H:Y?VOXT@1[sUU<) yR:U*4OB5QsqU?$WfTuf: D 36&lπgL],rl)ZmK4R<\]7eUg1tE#Oeg+fq*L*S$efP'݁1tE#EvXne eh8n aʲ}K4R=)dpݖf`L],H R:e5bY`L],H L],f֭b!K1qtp5f͢fx3cȋY~.P͏7 F#^0xj3 cW F#^0xj3 cW5 F#^0xj3 cW{T1x2^jT1x2^n1x2^=s F#^0xj3 cWC!APb80f5y˹Pb80f5y ;3d:cĜf1<5C1]8b4xj3 cW5qhf ƯZp8#G0f5yQp1'F Fajwn1bN3!=Qp1'F Fajp8#G0f5yTf8 IcQd3ܨp8#G0f5y =36q=ycq=5ee^fZe0Ӷ2Ց?#' eĝ" )\qT=%fUgTpݛ9VV%솧۫VvXWe*ZO0TW:YjmVOWT1+-3VO[6MݖVPڧ2h̴׉3-D.fx)h^O{2R~G,eZ%]UU; (ʟnY^0gٳB~Y^L=%fU9V/%Ifz8K͜'ثVv)[(mV/JT5Vv/Tn͜Vu o3- D:ì-w(eJ5γV*՝$:ZZQsujΧ|YjλkHQӞf[a0٧YiC-VO()uV1%jժ՝Of۫Vu;:PVu^f["[g›m"~Fa4-.y2wDu=r 3-Dt_y+L:zkg2 /3-D:ìx.L (eJ_y4J.g\vWJxg\vWޅ-'6u^f[B\nxG̞BCM)RR/%L\eZRL^U4dV*.LA[^kaXIre* 52ǘ4Oì:ӧZgי"4~.+˓M$PgJbǒ$]Ug]5i"Ju|MymB曷3M)]5i%:˾\pS W(eJ⨤OƥEεV*JګVVu#̠i0dx8eB&C(E+,YKγV*՝+nժ(l&̠<\MyB cx҆Er@[7Pȟ@XVv4?k5jjƔ4y4J.unY҆'|4J.u?ViCGJnug*՝(h[sՓU:5)]5(>牯5D.XB?kcJu|My|!ukcD.XH?o^keLzkcQg‹c?#Ymv4@3rݖ۫jD2~mիU;4 (2~muj,)SMs gfSgW:YjȖZW:Y>Z@CWMmj۲~HcgVa|UyyOì:çY5,Y^k0#[ך6]fU ~Fa֝;ow(7 rtنjZ*KنZF4( "7ҽ2Mv[nU;ҽ22)kujjƪ4LLLOVjJY+O-T'՝Ti^K#pȥR-VlZ+d|hĤkudjƪ4%S jݖ۫(mVjJ*Wmf՝Ti^PTfSv[n<~YFbM)"ljƪ4&S锗Mv[nYgcUW"JZ=jgcUWe9Rh-VnYF>V%E mgcUW([um*՝Ti^%um*՝Ti^PE%Ev[nZ+rxd"%-SͷVjJ\$03E2Kv[nVv5Qx.P2XnmU;Ҽ( C 9$S$e}*՝Ti^B&inm U;Ҽe0Mݖ۪Vv5Qz5 ~Y?leꁣjƪ4F<2&inm*՝Ti^R]2xeO[-mjƪ4).<2&inmƭVjJj ~Y?le՝Ti^R]1T2-\B~YFc*&4^֪9ScgUYf~kYfFf~kن*PE,Rb`PZY`Ҩg/=dR~4fq^֫>۱>g{Z۩ݍ+ѪgyT^ 6rYҽ*KلdjƔ3y$|uvO!(mViO7)RZ\a mf՝Taf<~Y}r,S$י":%@X=kQ <lj3(\D.2!s(O2IN3(O"2^fPSk Co^fP\\v4&~Y,}A\W}}cJeCYի;W[fVi^<4:\agcJ?,5qU;W !Jnu}gcJ*S2f!?Vi^*|+flZyC"Rݖ۪U;WJT\jƕUE^ՖZYҽ*nH*(li^2 nu} gcJrFe0ueVv4N\hL۝n>Zya4re0ueU;W4rvP.YgcJj̥<5i YpgcJUfU:3'D.d0c/y;ܡJUsU}\XUq3rݓf'y9jhrZY"r~>Z'zHs g].PJͤP`-γV*՝C[}jgdPf۫Vuܡ"HCy XVvE[vO!VVvE E lC}nY|>ys6Cɢ}->Xȡ anU ]Gጽ a anE'-M]UgdP}jgdPUεSՓȡ[sUdPTϕvOUdPu>zO ]2|'aeOK5dG>ɔ+jMy>#(g4+" nP(mLݓUgdN^y*ժ՝9{ŊU@Dd>Z'/z"Q>PVvDIQrʵgdN^(Tj'ܫ'ثVvDK,ŒE)e>YCjgdN^MvO[YgdN^L9~K}gdN^bQ5>ljλ#3.6M/MyqGyeOì;cǝe>ԳH](eR*BU/@kV%R)uvY=VV%RbQ Ee>ZD1],P(zOի:DM'͜VuTT<]OUU:D,Dee ՝U^eSIvP\e w4 %H:C(E-bIP'Պn3oj춆8ZLCMxu}&zHk}[jdLTϕv[nZLiU]շVvI+dU<ͪ՝gPKnhjy՝g&BU7d@~Y&zDdaʵfgYM@PʵgdMεT'ث'ݍPIt$+Y6VvIU"ݓjnY&x8SG,ej3ɔ[sՖrY&z5IsՖlZL%ʓG,e5e֫VuR:BU7eeVvI4Is՛2~Y&z2 T%Y6mʵgdI.Y.5f1VlLj^9"Y.ˌՖrvIQSELݗ-ZLkee\5d ի;$7eՓ3ʤ,RDuxjλkˌ"2 \rrP!E+'D_5qV:ZZLf۫VuJ~hԨjZ2 qAI4E꣒'K2(qDE]-V*՝Irujg]Y蟑XvufƊ!⸔K3Kr6aIU,P4i'ܫjΨTM+ n*ժ՝Q /F bWJݓTujΨ*M'5'ܪjΨ*M&5'ܫ6rY@9D[mʵgTC %rZ!Dw*yU:^/OtO)'ܩ۫VuD0-i^E**ygTC ѕ? -in*}*՝Q /)TM+ȥU>OZ!D]T U:^(`]0/f+ n*՝Q /F0. f҆d@gTC ѥ ~YJyC[}ʠ>Z!҆?,r٥y4>\agTC ѥ @ fdqU:^(`]0n[4&5'ܫ۫VuD0,K?W7͞D:ì'5MYFfJ5浜Du)N4E&Skk4+Y `RRhLס~gQfE+1V*՝Jnuj}"IcRbU1eεVܫ'wz)&`-Eis@LLՊmנLWMՊg]@1RRhLfEf+fD,kf]fIcN4O&Skп3Bs=,i&`-EBLjZJLfjλ|1:՝Q /Y䩟+r0jΨM%<0jΨTjM{62ujο"IAV>Y>3Q 7,ի0Z^$IrYRSɮQkE+)@`-z~jȥnY[٦*Zi)\z8nuʱV .HAιVV QfD\sՊg^LףiXwWD:ì:u .Qf".rW)V&Sm5bvW)jbY`-yDE^7V*՝w)Z/Ѩi ĢhEim2 ^JRL>۩y*g*}gdX ?VɔZ^9VlOFɦ>)Xw›G?#mt)4'amΝ3V!s.PMHsEv\=V*R|[~vRխVVj!CSի;(-1T'՝U"Eig*՝,bRedd(i" ޔPR)"⻔4HqȋyaCV*՝g|[nZY؋zi"-LZ۩u#aEEoMyaM0׉3LD.iY e|#îSyOì:m:vRy;vXm^NPMڳUm*:).ՏTlU8^NhX_ju o3Ve0N\D\lD_5ڳby;п3Enՙht/'x4S-ڲ VYBw*bK.LUz:)r{ժZ=fwꨶbdEBWD[j4d5jjλCM6Vp/'yQlŐ{8TnBi}z:PG6ہy=iV8ۡ{п3EnGZ*.DY56랕< *TM],R}< .5bY&f$`+ujjΧ44'@OVx@Ĝq]uB~Y}#&zkYrd%S"w֪Y>ɞ3sUd@ZZdMy + s›d?#Ld 0zTMr >VZ?*g;\UbvT@e֪}O{ nZYS=d}śuJ5 Ed8(LTIEaiS^UÎ;*gLx^Urʙ< ٔ8ɯdjՏS2gLx^զOɞ3/!M!O%>Ui^YQY<2QK4(E+mK{8XM>%IrujΗKI"T[f6jλkgD.C'~h *zkd " x y%L\Myș),KYJ}(k5bY(eE^VVu9cɢQsujΧ,z~CT'՝NXåQ\UfU,zeS<3r-VOVrǒ|[\ue ՝NXCM{!Zu{ j<~u9cK{8ZjΧ,z*&pZ=jgS3L9xK3ʔMrq<}< T[sՊgSPu Tu>۩LpWifU:ʇT6}yq,?U: &jժ՝xbGTujμT\%GU g^Jjʲ}גƚ+jY>K41fbYמQjT]YCjg^L mf՝wh\5fDR)uʵjg]5iB7w~ib >VlLMΠd(yZ4!sH^Lb #U2.PJĞ*Z(}&!aSW,Ju]+%:.i IZCg|MyB}Sk%:۾EyaINӾ%Ͱ"֐6ő af<+Nm蒝e|MyaIN7~FaO:>fa0.*.,iZu )%4JO H'ƚ%zPW1cѧ|+g )y"~52yH4ruLSD_JM]S(|PF%%]U;%.Q\2M0iY20cȤYg&T8uJX|PXRu%.QѩQt'y yM(T\>)O(}(e)ZʦV*՝z\5jjμT]}g^*.KU]Z%L]εVlY>cMεV[nu祚 γVOV(5*~XZ&Sm?[Yg] .3."e0zg-,)\ECV*՝R]5CVV(+S wֲ+3C&R=5hEOì;cǝ;o /5~Fax\e TY5ir2jث).Q5εVYU9DB]#FE[Acի; R$jJ[Ad'mR)*|4O@t]ۍYśvHy&Jn궅۫,Yd3E )UݣӍի:*YbY'dZEsՓZߚ˝fm*՝wьS?,rϢ'|8.uV_fZYRK:OV뾽mOì:˧[FbEB[9b OUgTEγVVd2]>Z3AT'՝K γVlZE,RbVOS@be=mh}$wķINyD:à2v->VO[}IN2 "~Fa-:v'4CYH3)Ms4rnyL]"gXU1eγC#)#~;%.Q\2m#4CzH%HZ+PYjϦRWtfU:y@u\u%̸)]-HYgmYSI{1V*՝z\5jjμT^TujμT\%jμ3w:Yd%4W:Ym}מhcS7:Y>Z< ԩb jμLUVu" BX+7g?#(];o(x'KY )l+ fU:򇥊inuZY>2wu[ru䱦M>Y>îGVi.PՑJ+PPU}דV%:'yJT5ιVV6z)PhfK VOW-Π'^N5VV+kSի:~g)+zHLK4}y((j*KXVuMsիU:Sv\՝x,J!Uv\jμ3w:Yd%4W:Ym}מhcS7:Y>Z< ԩb jμLVu" BZȬϊ5"~FaO;kxX'aB}ӶT )$S%ӬPi#PWuH<!ʢE2=A,p2Ai`Xecz\g,~K~Ȏ1gf$(fȁ]YOì;cǝ;o o5D:ìf;o o5D:ìf;o#)l/.bUPf2q6vH?4jT\5dN7Vꔩekfmj:UγVOەjΧ~h .u}VuF1L%m;qsՊgTB5jjΎbXԨj}g]3(?#.o3Ib(eRPxU:TJ.ujgK!잩՝ ?VXnug*՝)bs7eY>OgU\jN\p\5bY?,OUU;,A48unY&=γT'՝4IUfU;b }gTEγVPڭYd'k7V/VǏի:fqʵg`.HMsի1VG5Z=jgTA$s\5i՝Hi#PW{7V?[0ێH9flujĢW:ljλ~YFiOrlV؉4I>+j:UγVVꔩekf۫VvXW:PVu4j ocfU;AVOVh:UγVPڭY)KZd5kc՝)bs7:ljλdXuf޽泈Xul{:A^7s~YFiOp<x1( bY= I_.M3?%B#Ky$)m0to5"Ju|KyS[g%:˾*BuZo3LKk;HXu.I[,Fe2\QJĞ*Z(}Z@D:YCjg^U7:mf՝yJTϕ5jλ ʹx6y0ӧmEm'af:v(+S wQ moR<+7T, ~=,K7 =&xL)ލDs=pɴ8J_XC&7Rm}`“kO&Gbk?Rm}` "khZ=$_X<_X M!x#E@86h86hzb_4X {!@.pm|7Ck ́86l-/_pm|!I, ^BI?Q"'a"'|߄'|D9_p޵Ãk!p kAָpm|DN  O@|DZָpm|F=k`ָpm|Fָpm|F ƾ' E'|F `86#'"/=a3Q"߄NzH8G9786!|''8E/>'a"N/'Ip&Ãk888zH!x 8@8G8E8J/"x86|'w86BEp6/N" ~'|- FBIJ|NG%'a"/?_!BIB(|$ B/DzH$pm|Hv=$_9p=$_ NE$C"_(|Hx @/""xIĂ|JCpz=$_NGQo|J|JOpz=$_D)/C"q" =`Ġ/CdzH&86&'CE0BHzH& >)E"TzHDGL=$_"?EkEHI1}qǬׇE@Ǥ^'1"zHCN=$_\%xcEWp3/8H/'/3"R$=$_ [@zH'1"R|P:/ e>'E0I/8=$_>(E>)/zHE>)E8b`(86/ x=N=$_/8|^P?//})/IA ߉zH?,zHG#/_`78IBD=$_` !/zHJ}_"} /5I)DEfDEAǐpzH~CkO}I "4=$__cE |NGGp6/kI_BI<8E/ް86a"zH`H=$_h86cEQ"Nx DhzHCk*zHop=$_hx ,zH !!Ǥ"I86|PI(8I* ,zHه(}qp6/Q0}/ y^=$_<8 Ck@I@""d xcE$cE`+@Ǥ~Ckop6/ /aW=$_ 8H/f_f =$_&(G|(zH B/&/\=$_B=$_/,zHd(X|,zHxcEpm| (q"^( '"ea#(%/A_' :I|aHǤ'CEo|a3B=$_!I Ǥ hcyB]Nbu^hc0Iv1H %$&I.)$" "3%M./`C.pk#2]Gv3Fd|DfKM#2]ᇈv3v3DfK|DfK"3%"3%gv0Lcą&)!A. !A. `c`ą+$(%X}B]`!xcaą+$(%XE!A. 7 v0VHPKą+ >$(%XJ!A. _ v0VD v3ȀЗc> yn"B] D< v4%>D.Ƅ= 4%Єo"B].qo.q.r"B]"B] ȀЗcL 4%n 4%, 4%3 4%DXcDȁ. LK]#Ko.ƑIv4g.ƑIv4/$B"] v4lcHQi? v4̗cHSH]!g$Dߨ%*lK v4%~ĻI3%v4DE.Ɛą@iÒ] 8cH>] yK@ycH^K$] >jK$cHx).Ɛ ~0%/ՒicH?] E8#%od@qa.Ɛ@JK ?iWcH@nK .ƐB=v4%DĻ]`E6% (%c_*8cr]` v1cW!% xr]`,De]`5Ļopc%c/cv1?ȁ1.0MV% do%c]a?c'Dyc+ tK R_^@k/b5o+Y|%/M/Y6"k" 6""ͯDx|D+#!/|/|V"39}K {,_%_ +_l/>-_/n UL#_Wg;/½z=˺3_-]|FH#i`3_,-_\|FqB*8 z(_ 5^8yNo/}|'+8I_ ,H/ʾBzKE U@1_CEX/<_Z!`H$6_8_|KJ%_e)XÕ*<Qe(2å)f=_̀|Ja) Pq(3_HS/MM "@/2%(_HLT@ċ^? If |'_+Ğ@"k/>k[_ͯF|bAB1|b1*#beJȗD9W2*_/K /F2N2Kċ! 12̋¼P3oXN3J|f1fx|f1Z<aR!`|fp_ ||-"/X2Z'_ C</|-/l+_ BVZ2Bu\AL :.9uqJ.s*_.,.+7.rE\0F &_#0 V pMµq^ ¼/|8&_'X|a|7_'3N68?/- 8D_' z%qpU_ E(_ Kp W/Ez\!k/i|Ey us!_%_&(d!fd!: Mu/T49 @ WƂ܍|i\V4oK@%_ s@eƉjysƀ&_^4WƁ#hWƁ/ԃu|jGQn|j2bԣF5M_c WƦx./L_ ȳkx _ /|DxY|/#d xI/E~:ͯ@6|l@W//,L//^'_ +x|0'_ 1R`Ja /x!_ V/ W5"|0 X /3%_gX|nG_ >70_@7|n>kq3_ 0 U  /11 0^ I` C<3_3`|0_ brbGʗJԯ" 62K67 x/2 Bi|_<|K6/DNj6p|V6p&_ *Wq  r:_e9K8Yq6k8bM_| Wp>@Y| sK,ͯ!2,KV#>_A _A! IīC;u"+:-_|B̍|F|C</N|D,|B&"_Г=+k<0D$_5 TJq}LUޮ s7RkC/alm/>ϯ".e6R@R2//zH}RK! _) YHMk﯄Y ^%_|3ȗ߇6(_|/aߟ Wd~|Lk/3K`N&3ċ`&_N&1J%믉n//+AVFDp.#=e 6DEu H' Kp/ȗ|N7_Kr(_)_ ^W1Z"y5A/& %_ !fe_Ð/Sb/ =)HD!3/D,G8}pY}uY2ǘ}s<}q$_\UNF+넝uf*_\Bk/B*_7ER<D|TSeQ~|Ps [Y|( +@]|( |(o#_ @`|(U‚xT/!d@E/// WŸH HWW–0T+_ F]|Y|)f{HDW/"'_# d8|/+h51W|keTFB =|k/CKa*?]e>%_be>bu>2 |u>a+|:y>@WFk|@ 8#_/ /^ q|#ŋkU@Se@Yu@g@@du_:L6/_e@M/>EzBn/|w_3hWsh{BZB6 _"1_|V}|W\h+s|VY|Vfc'_|V*&EDCD|qY|DDq!$_$_/ /!*C e@4Hk/FHb@   70||pT:5[ #0}#W!M_bi|* Q>"_ N&īTTu^(_ =eHG_$#_HOW"lP '_)_F  <$!_$_ Fa|Y*$J'_,y k/o_/EK9 *|W;S ePq_%y(>kLp">B_8Y|E cN_8! F,_ Ň2cx|X/`|Y6+_"9ŃJ,`@*"`|Z%_+*_,\ FW)Fw@?=_i|\% yJrLC/e&b%L5k3k 1fB "&|J J &_"_'_ :Vb𮸥|+|+X@/a!_ >$_ V%_ $_"%_/BT-B Wťlg^WšH-0F-pH- /D,*| P Z r*: ^ ͅT!v_yq}|\O_ K$~.z )V-_j^$kX?_a4 6#_|HPָ~bu_PS<)_8`ă_:3k\KJ0|fBu6$_:%&_:q:Ѕ΄LRt&k|ŸyF4/3ky/#_ "Ex3xPY @$_`k&¥8}wU (_`$n s&_f}W(ЯY} A1_d%B6p\Ke~4_5_>6_F/`4d~0_G56<W'W[eK+K}/xjB}_hB/SȾy}aV/3#:f3k烜|/xNxd+W|M`Ϲ|4|6}6m|||qrx}e~&Qe{_@\}Iċf%_p/G/s- @_p!%.$8} %_B&_B+kзГ#|RR6*_Ba C|}s  D,V%_W_Y2µNyRs</`~._=p:/CW}6//>+n4Ka X k`W_ aFNrXcEcUe!aXX c%X0}x0_DOk0b3"o/[!}L_D!/+_xÚeX| +ణ a",r._ W`}$U[\khgl8jmZ-0|σeZk:| hB-7_Џ:- Xt Bnudxќ_G\e8_F"*_z:oǀ!ȗǃP<qJaBJ>ǁ++FC///8m||<f l y|̙|/_0am#3Déà6|:ЁBK@ON k/KNEzͯs!_P2ċ *eW12/1J/ 8R%}I+_RH*_R[/-ERFdKioĿL)rHO-QioĿ[/KaO(Sio_8Sio 'ψ?' {34?%2o/L%2oKRHOE&S,_[/-9?4_LMKcԕ[K"L4_'&SioĿH4_xg$EioĿ,&G[/UK%DK%&S,_ioĿ)U+iK%򸦉@-I&-H $K%S?7DK%HK%T*5%4_.4Q*K%U4_'4_i@WioĿ,IdRK%G}7[/IK̥7I24_W(.O[/K% 4_/G)PWioĿ ?-bOK%dz5K$IKLXRQ()-aQr_ -boK%QKK[/9ioĿL4_-` -c?K%IEUMJ-`-ƌ9yj*A$v4`5~A^Z*71-[+0տ Qy-[ġ!@\1cF3^Z*7aBBbƌ"漵o?To`XфlזRHOh>kVF1(HP Xш-[RUƌ$漵o?Toфז y-[X5cF3^Z*7aBBbƌ&漵o?ToшY-[LcF!漵o?ToY#/y-[EB זXbP.!yjߐ"yjߐIiyjߐU$j&K#yjߐ3E } 5~ATJ?Y-[)/yjߐR% ^Z*7J_ s^Z*7LX%s^Z*7$K}#-[fe%ɶ4漵o?To`#-[X"1 3^Z*7"#yjߐ+' ^Z*7̦?4-[R 5~A*#Q2] 5~A*RFdi 3^Z*7$I ^Z*7ikVF9l1Bזe0$9-[SEcHYտ Q24^Z*7?1\SKUտ Qi&yjߐ漵o?Tobf4-[X+cI>kVF)P94kVFYMcHkVF-[JI 9-[4 Y-[Xז|2=435~AeזXbP.^Z*7Xy-[Lc5~AV$( ,c זXTGs^Z*70䨹.0"yjߐ8I)c/տ QS xB1kVF1(HP Xז1זཌ`s5~A1ז0c s^Z*7e* yjߐ% ז@0o5~Aa`kVFזH0Gտ Q ckVF1>kVFq`5yjߐ|ז1 3^Z*7hn0 ^Z*7Hc,זXbP. s^Z*705~AV$( ,cזy`5~A}`5~AV$( ,c ^Z*7c漵o?To pŌ`aտ Q漵o?To pŌ`漵o?To615~AV$( ,cy-[ġ!@\1c漵o?Toz9<6W 4+ɞzYeo_yjB/T{^io?)_<^c{K~AJ JW4/уך[ W4LhÜך[ W4>c94,i:h͕@[h&G|o-[)U'_4s[8ioXfh[8ZaBBb%漵oD"61o5B_jя^io?)_hך[ W6f4`5•̓4`5•,i4f16[6(_k=_y64za4z4#h}(G3(oWfl,G2GYh}m4z2L4zG1EmG1BM Wg 4z2$;M,WGh_hh=_{M G=_W=_W=_$W=_GM4z_h_B㧿ll @4z4?@ Q c=_ @aM4zh@?@@?@?@?HǭMh}<}h?ǐGDǐGFGFeM6WcJh}>yTGF4z@*P} !q?#O4z eVWM"=_@s[VU1t5> >h[h0:1R_|,h,_T?4x5ɢ3ɢK;|>52|иy';Zu&*KWuGY@Me!X#GqbQ5ktB<^^BgMe/yK:hxwʚ<^h*"h,7::U%!'1Ҫ,ioMc̤%Aޚ<^!(131YceMcEβ%491TÏxM4yM_|jk|K}|j kg M^~Dr<dILX|+Ae4yᐋt91TÏ EŴ&_<&/XC/l_9?s2M b^%? <~<&*4xqd |e4x5ɢ3ɢKX Xx&_d*LT_:?4uH?,22G驣̿ wrbGTyΚ<KG%=oo##=l_jՋ hm%>6 Ҫ)̴Ѩ222G:hT:A=4yLU/#:h_4x5ɢ3ɢKi|GF4x D]@ *)LT_[[a7UWTJ2h/x )̿(L4HX@ oأG W1'4zAM&W `=_6Gǟ4zlG?4zl?h'4zr4zpGGM74zpG3GAG3L:?G5DtM̞Du=_y#MQgGm#3GMǑM 4z D.;o=_yD.A4z=_@YM =_@eM iM =_yB\˟+=_@/W "ZGJ ?%_d(OG=_8/h cMD.ih"h gM!D.ih MO4z6!smG`WfϢ6{=_GM;M-WMohyM--hhG88Wp=_WG4zho=_w4zhQMh?Phh=_s=_W4zh4z=_QMG4 Wh =_?hG@=_4z+WGChG@=_hohGX(=_g4z?h8WGi?0mM=_'=_K=_=_g4z˂'4zˀ=_3=_{MOhXW4z#hM?=_=_G94z@2W=_Gr D A4zh?/O4z'MdhGh;GG4zG`wM 5M #WhGG W#=_@GW4z05MO4zh0=_=_ WGw4zeMi4zh@iMh?h@'W4? Mh?W?8Wh ? /h=_h7M_2;[=_G4za=_ G=_㰑MLWh_4zvhOh4zx,4zy?G7WMMWW=_ ?_ ?.W4zՄ/ho4zW4z7W=_H? 4z h`G8G84z)W _e?`wMoh0G 1M c5a4z G=_OG pQM'k=_NG ǟpsM'p/W[=_NsM'?4zCWt$WZ4zàAMG:c=_/h@3M@;M@KMp4z=_2W81W8=_P=_P_=_SohJohI4zG=_4z_Mr@=_ G_h=_ G;G; M"G/h"Oh M=_'4zG4z?A4z?+Mthh=_DWxHA4z/4z?G~4z/WA?4zG1G3G WMG=_ 74z_aw4zaMv`?MGG/4zQMGEPG`WO4zhg4z74z/4zG?bh0>W=_ M=_ ſh`UM,G G =_X ?AM,G M,?Wh`?qM,/4z?4zGm?h[MGG W@=_ 74z̅oWkyj *@_5'<_@1R_|Lk|KW êh/h/1= 4yh_ą(a4x5ɢ3ɢK9-l} E>pѯ4> ) pX<dI#=oo4TDSGGMc 2^cD̹ 4y3r?rbSG`? M4yM_|Ra-D_ pѯǙxN?<_z h#SG\)h<_ oo#GO$R|KKLFc = '?%4&*K!ηķʦ۪:<h.4y$:1=wt5fiI=4x6Ɋ`[[(}pѯi'?7iLT_6~G*h,_ą&_<&/ziNpѯ,ӥBUkyOGl/5%͆?,2_<2SGGMcK<8c4x5ɢ3ɢK u%̀HS4k֛4u21R_|[[~̿x _@E:h 71SGR$(?@iM4yM_|% l_Xy Np<dIFu%ͨx<*4yt?@7<&*!E4xqhkE/MgD_ Ʒķ @_ l_٠3% 5@*LT_ =ooG)̿t?@)oMc1ɊHQM4x5ɢ3ɢKooa%| u!ywkJ:hm%`[[9zIe4y]jh/-U4y/jh/_rbSGү M4yM_|[-@?JS4kD#F<dIS oo/Pxe4yLU/Bhzc M4yM_|W-e:FfB?8yzg}4x6Ɋk|K B>1IXCh@wMcγhU0?91T )ÏihkE/MgD_%:d GFߚHp[GSGl/ B.ķC⺤jh/s!<-Me^Bi̲!gMeuRD24y$:BSGhU0?h"GI"yJ<*.KvYCGR$(??4M4yM_|\_-hN l_Ϛ7Ā'?_M b|KosSGdR$(?A*<KG%ķrVs[8h摈HN ot&*Knķ )<&*!E4xq&_<&/ %V>5 sH~$rzhm%X? -4y\4y G?L4Ry4Ia^ķJuo"[ pŌ}ռJ?_ą\o4SG_TH<hkF#G\)h? :jߓ#1Tv<8 <!4RV0Vߌ":\ ,ך["Gϓ%4_=b#'oأ8 CMMOA4z" G!#=_4zSM|-W>=_?4z5W>h=_GSM/G _M/SM/hx󈎵G3G=G3M:MqYWfO":MZWd(#h}e֙?hWcȋNWcǿ=_y"M" h}eIZw=_YM ,WiM 2W4W{M̡D.ehM GHf ohhH%hx7Whx=_^mM//4z?"/h}mBGRGA4z6!q@{=_G>G>2W| =_=_S=_G>4zM_M=_'4zoh/h4z=_G?h1WG CohsM1 cM1M h?4z=_4z ?@"W=_;WG=_?`G]MQM4zh\4z.0Wh\ q4z.pG Ŀ0=_fMM3G 4z0G hM =_c=_EM GM 4zƀW =_h`"G"WCbh4`aM`WC ?`(WC=_h&W =_ioh=_h ?4z ?YG @=_jhG @'M5_h hl=_=_s=_hp?h?hp=_2WhpG W4z8ohGWDW=_l4z?`M/=_=_ _hG&WGk=_=_'WpCMOh]MWh  GAQM? ?h mM=_=_r SG=_tohG=_"2WW =_"_4zD #W(G@/W(hIMPhMPhG=_BW)G`=_# 6@Mo=_$ _(=_%EMGAM?h4zXgM=_,=_,8W/hcM;,W_4z ?`=_&3_0.W =_&4zLG?0G=_1h4z`KXbP.^Z'!K4l~B|D_M c`F6Jhk'M4yL4` SFl0G|Z? hn}l᥼LaBBb$-[_EB,hߑKB8y RL4@3efO[6(_h}HG3'eh}eGZ":{Wd(#h}e֙?hWcȋNWcǿ=_y"M" h}eIZw=_YM̴\t4zXGb5WfP24zX#G5D.a=_"_ah'4zXD ( !W4zĠ-W4zXDa :W=_#Gbh}i !sNGMGEb_h _bhG1 5M!BG1M1MǘD.m4z6!svW =_y<\a(cMea0=_&b#b& !Wh=_D ?PGF?_h}@$;MJ?hG3-D4z|yyjh[8h`g@O"Gl/< %UhSGqn?4yDhX>4yDhkMcGA/SGDUC<ǒ)uA4yLU/@<8]4x5ɢ3ɢK-% 5~_LU/@<8Oi'%54x5ɢ3ɒƚ/4fM!lQ=_y=_yDuWf W _4K~kB/_cMD]M$@aka9_4z4#dDu̢:M̡DtMQgGm#3GMǑM 4z D.;o=_yD.A4z=_' pG3-Jh ?p,W a@#Wk0\t4zXP †€ G5X4zXP G*WfD.h.WfD.jaJh}h!sMG!=_y@\h?IP;M!5MͲ+NG3Gâo-[@|:)5 @ȥ"Gl/M-s<&*)iÏYq4x5o<KG%ǡfķ  pŌ漵o4"2XE*3efH@ake=_yB_4z24z3dGYg=_y:G3hGZgW=_y"-;o=_yh}@\v4z8\%ihg4z=_Ȓw=_y>+NG3."=M\eUM74zYB[=__=_*G@WcG>տ*Ā _p[8hh-~DȀ hm%@ h,_ȁ4xqO+4Ry4IooaBBbƉkV _ȁ4xq <ª?<KGcMDh͕sĀ͊?@=_oh}d#̅=_yDvM̢:?4zGMyi}G2BBM̰+NG ?BhPGhPG5D.@ ?ȅ̷M \W 3M̡D.eh}eBmM A4zX!uGAM`>Q%ih}> h{XbP.kVaɊ )ÏXo<KGhτLך[ ?XOhdh͕ ?͊?|G\":WfO":?hG36DtMQgGm#3GMǑM 4z D.;o=_yD.A4z=_yih&W kM̡D.ehGWk2]f?!'4zXMoh %`@-W4zGcMGBWM8\h!G3l"4=_@s=_y!slG4z6$W _IZw=_+ @7O/f xĿka[&*K|K?=\w:u?ʚ<&*8#?aY?hkE/MgD_RQ-?aBBbV3^Z_<8p~5>4R1տ _hVC&_<&Kh=6VoĠJG|4[VS*İ/g -qw1(HP X·-[G? ij7y1%4_,Y% oأսoW%95XbP.漵oD"dћ+7P.lQ_.5o5*Ġ"_.5:?5XbP.fowɒƚ/NQM%_G~a 25Kx&/ kg V8 pŎ5zD"4*clyK~-D"d4fL ?oأRo-[UJu8gx+ J0@yj߀!%4_3efL9kռOLk94ʿaBBb聚տ{ɒƚ/N 6VolQ_/9x}":^s[8io_Ё4|Kx7ȇ @ kg -tk"y|6[8io_l᥼N@|>[DE):o5|7G4 pō5~?hǙ4_*4c\ך[/  јfߑKh ^ioȿT%48s^ioȿT%40cF5B_&Kh8sMD_`GgF4*2XE3ef`G| o-[r_| l᥼NN/bl᥼NNu|8G4ï5/g -pqpkg -pr%94ï5/)Npo_k | kg V8u89_:ռN pŌ,GտB/i ~bi|Nh"6WK4?6ioY_R+ɥHս`w&i T:[-pH&_MFifK~W'h"6WK4 T:_-[-_R9 К_ZP)T:`[-O_)@P|>Kx ?'R9 |!yNkd'P_&zioKx#Ai4̦?҅ZP[-q4j INJh"6W>_FտG''ZhKDl8oſ*|}8 ЏF_6'`~-PN[-pV5'h"6W o-[op5'_ZhKh"6WgտG'z'wZhK4+PB"kyjߋT#ioV5(!#e [V[(_R( B?+Mi 須_Uo-[oUo4hGiPZM/•(e~bo-[oW/KxQV5(4DlCI>B?CI>[OZhK*#eտG( s[-_ZhKYMFkO>B?@fyP ?ЏF_&S,^FB?&2b 5(hGiPZM/WMFd'[V['-9=|io4#Ѩ-&CDl&LMo-[oM* b_, :ioW4j IPz(}0;տG(}0;Kx4#Ѩ-&E須^Lɔ kyjߋT#dL }[-hGiPZM/[MFi"}2e0/oſ*4>2Zio;V5(SA,ET:Z,ET:io#B?+MiDl&xg$kyjߋT#grHN[?4#Ѩ-&@ښ"hkηB?&iD_,u(4#Ѩ-&@cMFe*QտGUD+@aV5( 須^Le_ Z,  ((B?+Mi4+ɠ~e*PVB?&BuZio4#Ѩ-&AU4+Ɋ%|6B?&+huioZhK$K/yjߋT#ife%ɗ (4j IP$k}o-[oM,@Y&Z7Kx4j IPSAY o-[oM,Y[ ЏF_h"6WJHL}*o-[oM*#Q2U(4j IPDl& dh|,տGiohGiPZM/須_҃o-[o҃o4 ?ЏF_֚Ҧ%ZYB?&.4Q*5(1B?+MiaR%o-[oL*Q-KxЏF_4+ɤ_*W~-Pɤ_*W@?ЏF_4+ɥE'TKտG"_%yPgV5(AY҄}o-[oM,IdB>[B?+MiM4+ɒ4~-Pɒ4@ЏF_(0_+ Z a7[-sV5(tDl&2o-[oM,ejMiohGiPZM/SATRHM|yjߋT#eQI"5{@ЏF_#ey3)MXuoſ*3)MXu(4#Ѩ-&@i^M,L_o-[oM,L_o4!V5(Dl&W(.N[V[G+'_JG@>B?+MiDl@'տG(5ioZhK Aj kyjߋT#+ᨁ@Ai41MFB?@|KyPo4#Ѩ-&@D#eA+[V[kD(hGiPZM/AZ!淖B?@y@ЏF_)_1_NB?@[-Ai4j&_ ZDᠷ[-Ai4M4+ɥIf_,ZYi5@V5(ʠLXuoſ*2)-~"o44j IPjh"6W*R%>տGʔG('ZhKTDl&)%EWyjߋT#ibrT\~a['B?+MiTDl@/ oſ*|e@MB?+Mi4+Po-[o‌XkyPhGiPZM/TDl&JA2h[V[@B|[EhGiPZM/␞( uoſ*Bo4MAi4H_/}~-PPe")!B?+Mi_=_Zz'5)Ai4A4+R$_ =o-[o"iyRAi4A4+ɓ)/kyjߋT#d`-Keio4#Ѩ-&Ih"6W}9o-[oE5) ЏF_ )+B?H)_& )Ai44M4+Ry|kyjߋT#_&Zio4# L],H0h]LXj#ySIEkɟ*6L5_⸦,S,C aS wGW;3ʟS w6%(MjaNɞygwy,i#PW#Җ)l.xt)2dxt)9+gNh%gL~Ie%HA_ B4Y|2K41z "~hPxPNH~dBU9\S? 2F*瓩G6LLKCXE O0/4,R=w◒( ѧ|)wġ!@\1x`<(S R&z*E1\S,9^^~dɉbay10^LL/&&$2˥_FT/MT R_h%,& d^l'=cabؾ"Jd^HkdƢ/u(hLY ɉbay10^LL/&&$2˥_FT/MR$eƢ9P ߐ=vػm s&ɞU1cѨmLXj#Mbay10^LL/&&$,~)E*E&rM "H8bib̜ɠM&& ɉba|@/m^2zhʠM_h/BϓA ɉbay10Y cJ/MP4eP&r/4CVM "H8bib̜ɠMbay10^LL/HXRFT/MT MQI" ɠMQI"2bay10^LL/&&$,~)E*E(;Ѩbh0a'G',LdLVF9bay10^LL/&&$,~)E*L)jaNj# E 6q.ůfNY2s&+S wQѾ0gLL/&& ɉd^E(4eBѕ8L)ޚ)A;E"x?4Y10^LL/&& {m?ѕ FTV0zUDdjaNL,ɉbay10_, h^20;I!40e#l ]^9f,̘L)ފIO)^LVE$'@bay10^LL/HXRFT/MQZSᄚ L)~^RT10^LL/&& {m?ѕ FTV0y4rM "H8b׳G,ř9;qLh&& ɉba|@/m^2zhʊœ^V!41|2<$j bdxqXDdHɋ%@?K#FbFL_ &YPNL_ S?,ɓ#(4Ibdxbeɉbay10_, h^20;iA ɉbay10Y cJ/MP4eEjaN/+S wĜ L)K$Q<9fBU91ZSHzdjaNY"D&+S wO@eɊEJ~(&ɊEɣlL)K$Q=hHdjaNY"?,y1ZSHy4r̍ Z͞?4 T:&&S wg?1fLE$'&1tE#tRgU1cѨlȠ-y3Q&ɡ*U$j&K(}(%S%(#PNLW JF l<|#+@b՝ab&../usr/es/sbin/cluster/events/cmd/clcallevy.rpc@@)*.!,201348:;_acdeirst -5679=Aflmnop .@HT`bghkux| !(*/CDEKLNPRv $%')?JQZ[]^{jۻXDR+́ma^q‎Ɛ^|ƐBfys sxg}c|c7 H9@' N>c86``OM7Lc (NLG/gao S?"'(HY~(2!6? ucUzdfyKz3u%~CdϪI?Gf2J@d)8?@w"̈Mq4l@\ELlk]Af8C˜k9PSP$pXd>ABpdBp~īz3u% ,Xh c̈Mq4 VDu%c`X\+X2Xrkth|dư,)d9G>8#t&H_G>T$ |\, d,]D T5`Y],6Re@Hi@Ԥ4J} 2!Xh,˨`X9)½cXTS|kzL`yA2 rYBLbꜽ .cD "h` `X+LvkHib!I_c @z3! s$ iC9$ }w 8T$(b yA34X8=5)_c5P39ANl$+) IU,8)<&H/9ECdS*dc58 ܇()́% 2G s`]BL,<"sX*/rcX+b5)"+ X8L!` 4 XC+4mP$`∾=!6=!QD %9xW a:.<0rX hI8WS%P$`ԃak郺dc5 :#z:d>@_PXC5b X5ùEڈ\T'I3 23Ćc X .rcX.3X;USӬ!q঄%yAPzF`,qDCQPU 8Wc X8)` IQtTN !_e4A4º X M`tA|I8W>BS,62!8?p\v#LWFgJ [@ Tj$dB! Rd}lRp~7D>aɪL/m Nȇ3L&IA6 'zCiL/m Nȇ"cb%\M5[!GaLk]Dsbrh(IT4Ȝ+b*ϩ(4ʊ|¿5( 1qEsPUWQA9Ee9Qp@yCj}e:t$ `tAs(0 rg%8 Zdq}\_ 2G Ê 93eAC?429O++2 WY@ʁz PzP') Ã"v%\Mѝ(YebRZ$ȢI3MQL/m Nȇ3L&IA6 'zCo 1&;jgND!̄Bn32#X4A"! zCL½cX4A(4Ȝ+|Ar =^MepeANNyCyN !ue9 1mqC&IDqODA-C J"dOP.WFgJ6-ls"~N"c\* V  yCiN_)ÅW ~kU  ꌡ:=!UDq1:(NybPiaDq1:(N ꌌ1 ꜇X: 4Bt yA 8W Br .A nyS"p)(E:J 049AAD^NAQB/9`Έry(4M"PinA!L½bjQD9ac:!E<ӫe4CyA6^sX"pX3e9rL½bA"%V@^s 2' |Dr ry(4 tCyAW h! 01""pX× (!L0r gD9ur ry(4· 94Ȝ+)G Ȋ|(XN.7;RQ1ŒL!i߂(Ȅ@\E5[ `ˍLƢGp`tAPgCtr/ 5( ([ Nc:oÜO if.̈MuSU Lj!D~w gD̮٬Έ2 x΁U@SX2 |Ȅv8ѝ( aM,f1 1&ac Y$ ` hA(jqd:.A9A8 _0i M`  \g8¿耀Ap(p|@NI@ QSQF-p8;&Hk5u9(ע ^sY!wO2yHitAҸ3JpR_A `Ȅv>ѝ(ͭx¥BȄ@\E5[+[)FhIQP e8*ZdA a p7;RQ~3‚}2`L1FjWcX2X4Me%8{BL 5i<:S!\~_FDjyNl Q8L$ `((Hi8h%Nf :e 2B4T$ f{~S.)l$(s u 1N6!N6 2B¼+5+ؾ4%8n$ `Q^s : I`"&HWWND=3>6pCJp 2CX2 *sd%>BS#[mDIN5IBL* NA)ƠYBL*dq{y^_Q6ψ/ 1Uq>@_g((ameT3 Zd riN@ ʜP-5J|¿5) <:PQFaː4AMe4T҄\!UD8V/9 2 p`h)*=³#J (آ rCX2 \X 2 +28t%e>enCVkUDu`tA3G$.48 &IDE>BS-D' gJ=o8cSMGse8lGBL 2e>D_ a p7;RQ-?ls4"ʥ;(w)"cb%\M5[!T;653Å~ BD2 @\ 1!̄A g@ 5`^s 2' |  3 n Hi8WS4ưtQENfdAS!3)(C+͈0i(yCiƷNzCL½b |mA  @@WD0 8!(8#aX~9 2' |ZSN~S-&D' Qؕq4oFwΤck%-wWTYT~ECߑPED&CUư MLNC)r 3r8JV |_'Q^sb  zCL½cX *s 2' r(NbHsX2 *sdTAVHbs#X¿) .Ԕf9ߑDs&K*<ȫ"cb%\M5[!T;653Å~ BD2 @\ 1!̄A g@ 5`=0􃚜z>LkEtTm!ID9RaO24jsdNA+X<ŐPgYosX t,1z>`=R!v`z ̄@g2nd nSN~S-&D' Qؕq4oFwΤck%-wT:m?QJYT~i~E_D&)pk\jg5F?;~kPk3 ^slQ=!Q^sb Hi8Wk3 gSPi8W{Mj3C˨ >G|Г$5( =!EDAO8W>ABpdBp~ Ԕd F[)u'N#"_̈Mq4 VDuQDXue\S^ kWC{t!+p;&H;5tI_`AO.r)H(I,35OP.`J7;RPme ls )q¿5()oFwΔQ[N[SoRdBl~ DGjB V;5x=51=!yX5e>D^p ]x=pb \HSA)p},| ՍnIΈ1NzJ2J n#[xEc:kQSQF`<oHhs 3w_DO½cX½r/&HkkDc1Ŋp͉Q@5&I\^V =r+ 2G h3\)@nkQDENzCL,P!1;C nP#~STA `Ȅv>bUѽ:g+3E/D&UX3 QSg6p} r$+14Pi8WzJu 8P$RdN:^sa%^sABSX l$\? mN:^su!D]S[~ ܃P$5(Qÿ́ka|!)? l$\? h ' r0Hi8W{~_0`.jS! 2CX19IF9ϔ%>aJ50^sDPg8W{nAJtBL 2z Vၔ <LHS-.gJ5D:4A qD5kA+yXDZ !js(G`g+'(p}t&I\^V > Drkp$+u !\3gBLqD ^p!V;4&Gsk8>e:@&HV v!8`$! XE܇(" hI8W{D"+d @S! A@+cŌFq5cB !X/؆B"_BLA/_ rĠ&H]S62Ńѭ8zȧ(IBWOC!(JEBL»ܧȜ+ bdBp~ค %;؏q0v%\Mѝ( VbNE g'Jpd`GC n$&H]S:C Bed)+DX5t@B$zCMz !F^kkD!^skFDfbz͔,"W[Xzk8qSQFR;) 2H@{>V~6!hI8W{D 2l )-BLDAý!V;4Ôk8>ƅ:0Г$+;G:":d ~}i|"mC n@YBL»ܧÐl/9e#3[hk8>XF$!_+!(d>D_ ""0XCIbUѽ::l!S?,iԎ~y/)u `tATJ02HgDqAO8WeADA̡:NS ތ(YoÌ9ߚ9GRC'<@\E5.aΈ2IF]S .5()' 2v1'I|v8ѝk-q cõQ-"cb%\M5[!נv3#X1+X2B7*[@@5)͍ "`Г$p|Ȅw@J7;RPancG;EJw˔: . X D<4P' Ja¿+X|¿5N buFPB*8AQ'Aм1(4J|08AQ'AbuFF`ANSDuNCkU  ꌡ:<ꌌI+!9Kbr sdN>9PÐta[iry΂L¿)G |J| =z3u%U$ύRH":Q(OyӠ&IA6 'zCi("oA}-2JL`4bSf#!R;#xJ4ԎȄWAq0w X1 l@RGa`g5bS5ƢÀ< d nx@́ ܃Q4n$Bd `td p7 <w n]k+X1,# 5!D:ưbkxL:)&HKs %::&ISQFPY(4e 8 (pIXƷgI8c2$+)G kp;_c: u9uP!kwN3NC8$ FI8WS3b kQDENyEtc'9Js5 2JГ$+;4X12rkBL߄>DO+KaʀwLC n 2G fa X Qh3Xm@S>+ 21 Á YlIB |/+@r Г$pXXQh3œQQSQFT;pxp_ٰ|Jvd_+P5BZdB)!5 2G u ! 01-u`ķ $?pX $Q&QieiƷf\YN!X.٢ACT$!-CDV| tN9@&&HS#*P5Q v&I5򸼬}&P }rZdAlP![: e; ]BL08"NWbaN E |pȄrHKw #`J7;RP'8N0,ȄWMVDuQDX2S=1) T4˨.M@)#Г$5( CY!D^a*dN r6T9zưfB>!53CA rp5&HkUDQNNT$*p(3ÑcňF.+;6%F쐧<zd`*):d}qX{[,&H]S @TGxm@/n<+)$ sae !$+) T/9 1}c<03p=j3pE=D$ |cY| 1VSP$ ֧=!D^@kcDkQDENyEvxbA0`IBWOC!l$+)ꨃ(QYS n+ gDΧ=!T;Ј0b CcXv#A zM 2H@i`gz>nCX1c:2' r5u9 5܃Ʒ)) Q[yb2(4ע |W u3|kpѬΈ1NyABS;DΧ<8 T$(s (4JsbkN:!NlK(*HŠJ]( I( d$4ȍ`:"~k9 APgd[QΈ1NzCL66AT"h/.Pg8-QĠ:+;6k8>¢`P$ |/+@|Th/rkp8I(^/CL$QA8LDk3 gS!)C5|  zCM]tT4̨|=AyåkAAOQ6CP0YGڈq>g(΃c(lH5EEgABAPbCX0ܢ lÜ*cA8Ck@M[`tAs(Ju l>ʡ i%c`٬IO ̪s 1"1ukWkO8WQNzCLE8W}x¿p|\ 2B¿53t:zC<,rcS<ʁp=͈!p fSABpdBp~ Ԕg AԲO R/ƫe&aa4ۢ 8(4ŴA(aNL%P$) LNez3u%Wi$dBl~ #A90P$) LNez3u%K*eMD&UX3S<¿5fA>/9 0D~;/9 2 hQc@4(Ʒ 2 2' rh3tAB `t&xr_PADsD%&tA9fA>/9b1O eD' :TwY*i."bDD%x@zP@epkR_cj E3eb-e'a͚|1NzCL@ ?* |PA@!3 6t=!N  2CX2 *se%8$M 2G rc (C Q3(2Z85SAPe&$5) gSPiyB T$("cayùAPY6p ( Īd>Gcay(4Ȝ+%>$.҂ADΧ=! Q Ax@>( Jh:Hdؐ Ǵ$ `((Hg\3"+$+~* hC Q3(2Z85SAPe&$5) gSPiy3S<6kA lS-.īz3u% ,o"8"}51K~kUDSPi>AD<A#[fkQDENyEh(PiJpF hI/ 6QDA!P![k3 gSAHS9(IQQ>(2Z85Q GA ;aexjgWQWD% Ecw()+ DbET4 ω¿5*!(3X |1NyA * ܧ%dc: u9{dN:: t Ec2HPEQ Axl@kBL qD^s6bNJ.&H]S]b * F5&c: u9{dN>g4dWT +IPg̢ ` \_Q]D%xkAc:Lע }SΑ.2E*p\( jd*).&I\^V AB~dBp~໠v#LWFgJ ->)J&2!6?MVÃX2S=1 3fpD'&Hk3 gSAD]SQ]A3C8#k n&Ec2ZdA a p7;RQ[-ycL>L>D 1&&!B5M\+X2X1KcD2@wPt=k8p(\|N&+¿5pk Q!!ɬ%t5y#cZ ̄?r pSBbk A pB kc$ PgPi9 Se6r pN 2CXJ^s 01Nd>\xVLГ$5qD#(بI(IBrU 3!Vk N-d(pOBL2SXMhs(D#(بJ!%t@BVU 3!55(I8W>AB&&D' Uīz3u% [͐d0G | Ȅ@\E5[ `ˊ|QQD?SCL2!(3ˊqhfWNyAeC?Z !5( ~/rK>BS-D' ތIF%WR)qOPYX2 (rHiQQD?A\dpPiDE>/ rX2 (r(4?) p]gE F_<D&J D{d"D#X3SBS-.b=ؕq4oFwΤ K*eY'̈Muƫeưf&yj#~kQA>ADENyAOQcD%4ùE0~<ܢ2LJ|}D(N (kQ3ePB󘨠"pX <QAPAA"!51 Ҍܢ_D{D?AddpQFIDENyAB5˨(HiQ =¿2/TAC> eAùAPgD{@4 QTA Ay \C&IAbkGDu9 ' ry~kAe9 )0|J|"XތIF@2}4#"c]ql85.53@5( ~/tڈ2!(3˨8RP$(4ע |DC&eAQPipz]S%>ABpdBp~ Ԕf@iõQ:P&02!6?55[15LtAM( Ʒ@/rL»ܧX$v `tA|^swNA f:ưc: fe%>AD?p 2J􆘾1NГ$(4D?3 2' rh3tAΎJ f}c7!5gpb(c0WD! 5̎(J|c0$ f f4Aoqy9HiPg!D<8< 9rcQ+53 b(J]<8с!Y c0`7 AMc7!53yHitA0\ܢk{^sL1zCL»ܧp|([12!8?p]ѝ(ͭ Y,p'c .j8VPNDP$5( ^s 2' ܠ(53nEA脠<"2 X() Ã"oFwΤYoqLL ?ȄWAq0w &d"D#Xfk pknưqQ k{`Ú Ñy(4ŮS#wN'a kz@ 2y(4ŮP$p)~k85* 9ψkq5N^Vx8 hI8WkTk8*!HiւqA&À9@\GBL½cX2X1etP G *-fCf.3 C4F`-L 3:g0#2^ D=b#E3/rL+p!F~/rL+pQ$ "[6nE59{a[b= 2G `ʍ`>.́!ID ̎d%>IDyúCM5etP@+(͸>TPin8J$+5*5QWAC@ n? g[vJ|qD]|T솃>*6EA XHrۃkpr(4·Ţ)P#zưeFcYg!!5 2G `ʍ`>@S%>AD=!GDr5@DX4AT4p5`lSTA, `lS%>AB"ñ$v#LWFgJ Rhq]q Lj!ꨃL ) T0 5yp~åe>j5UDsQ=!~S%>@ Ҋ3eO*KȄ@\E5[ `ˍLƢ4z(C[Me"PiDX1OtAg2Z85UDX1OQ<Q]D%TE8]BL 2 2' rj3  `Q=!c2!) Ã"oFwΤ8 !Ta;Q*i.Fa %% ijX0{Dħ!db5bXcMz ay(4Yg3[pSBL»ܧXփ}2G!:dA9 kP.B!)&HS%>B5h OP\dBp~+w #`J7;RPqebY,p'),55IPE !Iނ[S&#br[s3L@5IPE !IނZfi&2J@d)8?@w"L1L/m Nȇ3LD5IPE !IނZficT%_@ 2 ;Ŧf85IPE !IނZfi2J@d)8?@w"฿ Dx 8?p"CLZ/( k=ķ-q4> r\)8 . 1h|R8p@]Q$4 0!.=R^2pHq~@ 8?HiQX44θm`ǸGD-q4 pH 8M  ‘À/Өz"dH@X8p@]Q$4AxLx;Hip|S䀸/(p^8\ 8 g'*(!^AHތDt;&X`f2J@d)8?@w"L0xj$dB!2J@d)8?@w"L1&IA6 'zCiRd}lRp~7D> {{X?|BCL+V 5w|@w] }8W{θWz3 GJ?*O,)a&IA6 'zCiRd}lRp~7D>a &IA6 'zCi$("oA}-34ēT%_@ 2 ;ŦfF5IPE !IނZfisT%_@ 2 ;ŦfH5IPE !IނZfif2J@d)8?@w"L0j$dB! Rd}lRp~7D>biL/m Nȇ3ET%_@ 2 ;Ŧf("oA}-34X&IA6 'zCi˚("oA}-34X&IA6 'zCiT%_@ 2 ;Ŧff2J@d)8?@w"L Rd}lRp~7D>NyPni `< 5Xp\Xhi lBtqR 3>g8/&@=X]hi zs  18z|44΀(!:fA>SᡦtUd0ĐeaOW.1$2Y@ DPiDY] d 0Đe`./qAHDY "R' TAhi"Q b: Dl8AtzEgJ"pDqR(BR'`A,ѝ2LC@Sᡦt2AR 3>bqq:%yҏXM<("oA}-34Z2J@d)8?@w"!Ph͌|:{{ /tJ@´OXF֨Kk 3 0p$!) 3 1Bj| BaFu!!+6kYQGbC uԆBaFu `) 3H[7(ΤXX>VXBj>=oqB]`Ǹ7:!cMѝ>cMѝX1&GJ?b,%yTB;f Rd}lRp~7D>,٪L/m Nȇ3E5IPE !IނZfh`j$dB!bT%_@ 2 ;Ŧf("oA}-34X&IA6 'zCi 1&;p+lX@\l! J(5<$5xJ8.  \yOdAГ$<IPd> d_$&H_. @?8?WFgh4X8sGbVvԃgJ[Fr1'~xO"'b3ET%_@ 2 ;Ŧf("oA}-34Z#T%_@ 2 ;ſD&J D{CIEd/`̜ Q_9Ad`5_y y 2JB/4XPg n9_aW|%Fix"F,8)Ir k5 SBLgBWNP$+==@*#epop}[ I9ene[% 2J Rb#y@ 2J􆙨G* }!N}BLWfx5CIbUѽ : (IT4Ι ԯb <\[$Lfg. P\ k{4X8s͸Wfx5oz+3,dj$dB!j Rd}lRp~7D>Oᡦtѝs|LIߎY_O1o*h1&Xzd 8w@,l@\FHi@58P.enQ'$T$ C33\e?8?bUѽ! (I. \{*hތIA;+-(H}3EMRd}lRp~7D>*h1&"Â5d v́]z L A5BCE+@YP2H5&ISQˤ4[p}A@29&H]k5#e.n ,&ISKxju$*s܃+p(Hi[„% e9Aghe;u3Hiffx~໠`J7:p33?8?5&$Phz]fg p~p~jA[F`fx~໠5ЄosGb>b;' wxތCF؏Ĭ»wA_7;RPl?b1'~h}Ttk3ET%_@ 2 ;ſD&J D{CI+<yXl "gW85 d9 1"(rbyYa}H5i>Aot$*s 6(5H#&H_Âp ؇p;&īz3Âp ؇p;&īz3_ CL+"6%NyAV5A 2JP_\+3<8p]p~p~5诬Pir"P ½g?43<8p] H<[ܦ_[t3&HkQE B$*s\kzAIAß b|6Y*iX3U]qPj!cX2Q I*)5BGBL>2L!>8l4ť9.&IS_4\+33˜e`?8?WFg\+3Ň!(|<{)A9X%2!% ryVWT pZN(2oA  ͒ s j ("ʜ΀'Ȟ{ 2t\ApX.p]vw@XCIbUѽ .p]vw@XCI  2 LN)zd9 .h|k{~FC@2 !3)@%NzCKB~FC@2 !3\| ([s5!\* @jgƷ> .ۆx΁' Vt5\kp>59 .E@C[}/2M1Χ=!"MO oHE ̃dx̧!$*sR%ׄ"cTBJ2 !3)SГ$HiH@C[3"eACSȨ n}S3Ȓs6IT aca:P$36$4(P#7%$*s+HiLX.bUѽ .p]v%\Mѝ(XxNc"ђcD&JV rVDuSX2S<5Sb(B/ 6 hIT E6%N{"Hi8B/n%NzCLB~KPk-w9A3]S2b "_[T jCL[h IT4˜XWE5I9,CLmE4=&IS2Ćp_Ft$*s+HiffyK`J7:_. \{*hތ " w$J[J a bh&h4 1&aXyc+^`l@\E$4XM" Ʒ 愙%NzCE "[|sY CE!Ʒ %NzCEB/ !Dt$*sͬZ 1"c8$b ؏BL>3X D a\!$6=eR,!Ʒ P$Ϡ ,+Hh#n@=eHi_ oBL=e 1&[d IT zCL|kp hIT癛X $4XB/ ;I  2JB/44$*si 4ƫe_p|5ͤ4Є_ %N{gm|kp ITW v8G;&θWfxpv#LWFgF" Ʒ9&ISkz:f68&1J4M, ("oA}-34XB5IPE !IނZfhj$dB!`pj$dB!a&IA6 'zCi&IA6 'zCi&IA6 'zCi&IA6 'zCi 1&@",$ S0H!`|Z٬lp_p8H! zCL+H!Bkp;0+WOQ§ &0&ID 5ħJp΄% u0H!8 na} 2J 4DAa&(cc| QNlXYAbM9QÂPᙲNP$5U*ܠhHp{~S  zCLEe9Pgh4X$8Wb `|^^Y)ѭ$$ `8Q^s 1m E+MAª 88>%:Sg H zCL+H fp()OS@p<"T$(pS] b,^_ OP$̈NJbUѽ:-2SF:|9Ȅ@\E5[ `ˍLAPgp=Ȝ"H`((HiDA̧º ˨3PBΈ1OP.z3u%1XSF::̈Mq4p L%;xFc@  V\@ CSQfVl$46"B'́PM:}2>Hhm0P$r g8>ƷEBL}=!@HWenn%N{ep`kp_9Ag,\5AI_9AgĆJd9AgԆ85F=BL=2 򄆋#T$([(r JufƷ abHNWO4_" .Ap~p~; vgq,v!${*hތY X"d9 `t3y_8Cr B+xX)BΧ=؇bVvjjAz3琎bW{|?Z٩ι0;v#wJո.J5 :8o8a1j[漣i57&IA6 'zCo 1&;5[!eTjsb`)"T$ @.bUѽB/n!R(J7:;vP7;RPAjX}4O"̈Mq4<a٪.2 >W_bn&֠FDޒ~ISPi+Hi nL(IP 4 BL4)&Hfg.p~p~;&īz3nY&Hfg.p~p~;&īz39[ n0]NyAHj%"w opΤ TĝiLD&F.>4G pb=Wk&d&@bΤ4X }+p|`WP Mbɪ <Љ;bEx K&4Thf,bh.Xҏr pc"+xPE;b1|#O,/Ʒ|Y73XLZSxx!!"]\!Ʒ$&Hffl#.6$]p|h C;AGC4$ZHތ!ƷWBLGp\lICIbUѽؔlHp\lIѝ(c,*-SwoiL_$&IA6 'zCiiL/m Nȇ"cb%\M"=b!$눣o5.8yqOe ~}i|wBS-D' J7;RPFC hO ("oA}-2!6?"Ub#L5[!!#X3S<ʈ3T$ d5IBWO29l^qlXHrR"C:>@_QcAPe t/9 03 (Ny̝!- ƃ<^sd4yCyAx: u`(1(2:K F ք!Έ14ۢ f5Ad`2 t$!_+:PQFV5j!Έ1b  Q(>Sj ty>d3r%c2q 2B g6’|([.2!8?p]{*hތIAk6+4cOD&UX3SPXHrE6|cAe@ |Zd nIQENyAD_OQP3p}8 (ISSPi OopDT= 6 1mc2@ اp܆5Q6)+|([.2!8?p]Ԕg3~ 1&`1MVDuðl 25`fl,p gO &I}} #ep T$(468,A]fC*6/5!Cp9P5d37ZDAq<"'N&D@ʣ] ([.2!8?p];؏q0v%\Mѝ(8qoļS¥:*h1&a&dF@@b!*[4/&H/9 Oa2ćB5 2HA,kp* bh3 1r %\kp_<2:d |b*dÃa<5耀fƷ@3\+܎!: yAO . +bUѽ:gSS@_)hV$f)J284* 4CwL:OA}9p !+D}D?A!ˀ8T Wt R @*kp~Г$XA9*WtvtQ n&9rcX! Ě !PzP'KQ} C!D@++ \.'XD>;3mf)\sAq= C!Phn}b!a` R ܃n#xX5@2q1 3&H3p# (3 #C[<;D9lz' n;D!5RWD %FG(%u9 1m J3;d%:ՠؽcXŅd.46ې Ʊ} ăX p`4@+h3%ABt^scj 4CwL:OA!ˀ6T Wt !ː)hV$f)J28\hm .C*w\+(w k n Q5NzCM .wSxT$!xlkp=Zi46Tkm@+Lᘜl5 G kp4 IQP/9~&Use@)Q" sa FĊƷ!D' *#yHiD1 2J Qf+Ʊ{~Sʜ+X2̜x1 nU 2G 18,>$@)Phm!8^SbMb=](NzCLmD&1HrT'I469pU2/'Hr:ư C 4CwL:N/9n!ːFAy= FBqw[ ͇A#HiXz3AƷ0?&H3p<6n@)Q" se4@)Pf+(B#jOpƷ z =! G[Г$pr X (I zCCj,@pN@)kp3$3x8R6r\EnBx)Fde>AD@46yC [_ xVXkq d9 0+X%t@)+RTdpQF]Db`|FPgBG!ȆAghR82bG DShRV:ư JRWA%Q=!-I]b#rLXCb b b\NXkp Ͷq/  q@49!p$ ܀WY O8W C 4CwL:N/9 1 Ě !PzP'tbk*e^ODu`4@+h3%ABt^s .h46 C!FAy; k5 T42'5Г${kq,hVCeF} F(=18kpu¿ @!EePh b@ Ͷj ŗ5 Ê 5:$ ܀WYO8W C 4CwL:N/9 1 bMb=](Nhl_@)\ j@`Hj#Ay= ۠C.\Ay=9p rTC[҄% Ě !PzC@*kp .Ck9XA9*WtPit9rTkeX8p̢ V(469p@wL RrCu5R6q@<$ nWD4עHkp0d@)Pf+`fl8 |kpЁf)P ;D?SPiPXl~1XF5+!) "±vgq,v!${*hތIA+ 8юɿ3Ck("oA}-346Hj$dB!Vj$dB!T%_@ 2 ;ŦD&J D{d"GaۆLͫ5͚Wk `68WhڳX bPiB|et5pb 6#yEeå+!uzƠ(]9(SR5EГ$y¿5Pi8b()$+!u bhMNyAMfMb 6SAQ@{B. 2CX 4@l9MP ÁhFkp$!_+#,+rkpM 2J n#[\ IQPSBL¿rܧhsA3C6S@P 5d#[ n#[\΄%e8„%J|.6v#LWFgJ [͒b1'-"cb%\M5[!~j;5~jfmYlG6 F `66plc ͈._DhzWÚ 6yAC9 2J 6fl?)̀\ ora zCN* 6flkp/9ڂŃ!􆘶 4scҿ|+`~=!DSQ_:: 6fmYNA_*eU9{j,X8HihsA6_>QAbNzCM 1ںfk|C n#d9Jp܆)yDÚ ͕P!( 66pG`6Q/rLmAbNzCL[DÚ ͇:HWOt,4Ȋs` +¿rܧ(p/9 0 T ͈&}h36TS_@l8) 6bdBp~ڡؕq4oFwΤa:lmbN[ Rd}lRp~7D>*i.; `˨.`P!ABpdBp~īz3u% k;/D&JjB "! h3Au 2J 1P3(8 I a p;&Ԕ-qĝ _I346Rj$dB!ȄWAq0<a  V\a]z `S5@3T$+Г$r <4$*s܃+pwHi[྄%N{e. 3! IPQAN{whrsfg p~p~;&īz3 n"&Hd02B74TWN|! .FCdy s3ĭ[ԃga琎|?Z w٩_7;RPpQZ$™Lѿ h&͎?12?/GNN٥bXaҌaai ),U9tI9<5:BSTb221a Og>^ Y'eӳKıL   SHY.8"I9<5:Bg.*,S2C, !}0u,!:N3yO?uK#]g -gN gN gN gN gN u2'x' ΝCpa.92(c c Q)&9I˪u Tm G. Tead>i 8^tt1M!`4t140&MCd;f[B Cd:FXulř:'Otp:u"(9T@rʦSaYcT;9tU*ѧ:9fiIh2vIΤff0TLLIߑD4ΦDaVuF6B1fXe8 Mzo{{ޛ7^ ?!p{7;r.{€֏?w{sr.{|._5{P{[U{{{o/{Ezo{{ޛ7M{Oy{._5{␸F?9{ޟֽ${)H\#^\) k__{{;__wWğXZ,-MtfT4K"hƃj9u3rG! eOoc/4?f2Hf x|:IE2)DPNP RhN`y& RhN`y& RhN`y& RhN`y& RhN`y& RhJ&&L2A<<<?*e_L ?Ta;O, }BΘ* K*N:*)邨8&)Kʿ1F:0L:I|*X8"}pck Yh-nmoMzo{{ޛ7Ŀ{\!) k !p{`?^{^ ?!p{7;r.{€֏?U{{~Q{o/{{ޛ7Mzo{r.{|._5{?{sa'<{/HBnwH\#^{*oW{{{w(aH™6H"~q)*)aIšq) ? c H+(c dT@W8 f71n6 ʆ_54I?cp5 coY'8  #!!n46 A@f7d6 CabS |sW"4?f2HpP8g@ШpF Qh X5 qXhqj7E\)8yu)ƣ@V3 b5k9 Qd~'n4>2)* AS?2Ku2'SBu#ߞD˗@$ѾOSse:ߑ<7S9)0-.:4e^':ñW;g)5'ٝ;,pDv9eS)gB؅_lΝ8";3lBgNR1eç; Qгx' ۰v'd٥bEG048ĵLI1RxjtS'M!d)&9ju%G35:|SCfNaOeX@(?_ |e!|/C_+u"%\!/P/{H,٥bEG048ĵLIߙQ<5:])O:#PY1`[ui6)BW hO?uжoYȞ'Nš1O GGZ';$e#Yul DthbY@:uvΝXF-]s SHX1M!d) aM'K:tBi㖧P2]s?*[:#81euNٟ  my)–6 OX'(R8G_G:?BR`)D&R[񖩔;7YȞR AcOG42ȪyyYTD:Da,ȥGId~ &4U$3{Ƚo>o?9ȿ7{v9_{ƿq {U;+_?c6bA_ W9N~Aci"6?{m-G{Ac!oпA_`@pR=XF-]s SHX1M!ajKTĝM9<5:])O:#PY1`[uݵ@ 8:Z$留9<5h쓲uHXlbGYedGK $MѡgNvNXF-]s SHX1M!ajKTĝ'K:tBi㖧P2]s?*[: Q:Zi gN|:c)>9eS.q:vюUN;$e#Yu> DthbYP/{ Y'd٥bEG04B1юU.HY c Z@tYl, l1D|(]oюO1o:ccO1<0OQ7H =R~1j'L>L%hOI@)H2 M:7 ʟ 4 ƃrbiqܩة (c@h7*|6*H )>xn4>$ AڨΣ;5qܩP[7 ʟ cahOؿ0P*SMqܩ) H9#GƁnTd3 n4>$ Ah34 ƃr$h3pOqܩ f6 cwƁnTd3 Pةn4>$ A 0b aLa41už!)&R[L&c$P11(1j'c x0tIn10Qs f,@OQa)š1e%iF11ESM1a eYe,04GF*@2)dN,#.9),0,.HY c Z@tYl6ّ e[mQP/{VOcfmA SHXZ$1'}:SBQ:i !La4S.9 -eCeZm7 8^!K$:viat1M!`4bN1-SwLh!N40x Aʅβšβۭ6(?XKαPƐB_(cH!CA |w_༡ ƐB_ Ɛ0cP/c__9_u ?`Ic c Ï1ƿap>c  gX?_Ɛ!WB4Xb_?cHkƄ?? HCc)X1%`*i ?[XOsjSO/MI @KY&L%oJ?[9eP()P*ocu@ӗ$@S |s [?UȤeOda(~2(~Yc_YT)(~f2OySFUUF_T(/K e3GP*o`JP*o`9U@YԘ&UO,% [ x'W̪YNWR<@PYN_a2hUP*o)UW@UU@Ya.W-yWUB&(~Lu)UO,F _4ΤUMe (~u/_g [P*os_cR_@O(~R"(~,LJR(~4 [T)@)UUΥTTaW?a__?`8?1'K*?P*OO_`U͊U͋U͋ULIU O g bW}mN"~7c͓y1PCbo6*?Xͱ&lbm*XͱJXͱFM¡#߬MHbo6Oy0F&7c ?XͱdM°V~7c m+oV~7c M±y0J%7c'%?XͱQ7\Sm.~7c M&lapqm.XͱMXͱ߬M߬M_MXͱ?M/&lauM\7c Xͱy0Abo6_My0Dbo6o&lap8bo6Mwm.M{m.XͱÏ&lb/&lgXͱ&lc&lc&lc/&lcXͱI?XͱEM!_y1&lc_mbɼH&lc'ͱB77co61 mb%y1I&lc3ͱDo6M &llM*bo6_y6Xͱkmym'd?Mcay6bo66bo6Abo6ؙm&lgXͱUmmmGbo6Ɓ&lhbo6ƀ7cB]mmmBSM}8%ae4xR> XybkJAh8u*is @j?,sG(8eZZ O s՞QxݳDa9v̶ln=4sR(VP2*S4 Zaܫ9V0qVz& 'tUm Y@cNFH,YxT*eVVz9eS+T> :*e7V,0tMT-A[0ۏ=gic̳RSH՟UYѺnY Ƣ%NU>S-B7PTKT@7PPE>DoMkҘ( AT)&9_.~haH Ϸ4c~haH BFӿ t;#<J9*e [ DE2[ A,Hbx&/tlL/{E!L0V)xO(vS(F ؘ^*O9M+Va 0V+R3RKM+Va0VX(*N#lL/{41U+ba{LI_tΕXh[ LL%?"}=:X9ݝyO=Fy f08Tgv{2>'ugJds981V*՞t홫VVy;=F/x} x<޻ 8%aeUG]Afr9 G.QdFocrj5Afdڣ5* J j5 FQdFocrjd8tG#Aj9ʇ!f6 QAfh 1dΡ*e'v{"GgX`,r5i(޼¦XiVS}V{vv#VaXxݝX<Ts2 ~(NjU=4ȡK۫VVziN(>VziPErUM;S@Z*6(w$ ՛9VӾ[$NY@ZNF:tUe՞wk7Vӿ'1[AVӿ'fqʵgȞ7lZjM;ujM;jtBY|5?T 9Vӿ,sG(8@bqǞSD)^ݝ ySeS̽:#Val P>Ivt-#CgB4DOVaZx,p'OloRpucݲ*V-5jj=XS,OȞߝСF0 XyiҧG]*rr9 G.RAl /!Pf5*r5*|i 7mRAl /QhlU*rhn3HTA[ %WP`ܲ7ݝ+0(^?%WOloSZ'7PիUN2s5gO+XVyTNjժ՞| u[՞|,j"T,TH*՞}*h ]H첉Yмz+vvl4{vvmdpJ<;;6i2ٳhyO.͏Va>xٲiO2ݝ!F/yg+0An͑#VaBvvZa4 DYݝFy$0Q4#;;-Y-3A(3|D&P;;-63Q;}(B㳲lbxݝ=o G 00't#Ȟ7)eUgLQzb=,sG(9bt\xP bO5VVP=4x-JSIvU*I6OSM9:T#ۅ1+D-V*͜zOìT6AHbhϲ5 CR6Av CR6A:Ca/lnPd9!an4>} CR6AAPd9!an4>5 CR6A:Ca/l'QUJ>gth9F!an4>ìTh9F!an4>ˬh9F!an4?gmQr2) lNQr2) lnQr2) lOh9F!an4>G#"jhϡu FȤh26A:FȤh26AEW'0~E;'У<47vvO,y}8%aǭKpJi}If"1uj*՞a/tue՞*GO3[Yg~3P(OVy ]+0,<ҦP G3( MfU=i] XyiQ2K)]*e s2hMYBXM`O"`PW*@PO?VPUl+vvPF0e CQJˈQ43ԥJL>4:UgJL>y]e5bY缌2B3̱T=Gd.xP!> XyxLB1Hm 4AŔҦf>If֐V*՞{n<+vv`k7"PXtpD"jH?<&vȑUU="PXh:ynYb5nU="PXRU36rYLO7VP1V+v{"@)^[c "Ag&ѥ<+v{">adMҞe=4adV[Ҟe=2adLx$c 8!.C=B>;=m"y6J!҈*#CyVP=uWO5VPU%MlΞfZY$JRy*̅T(mV*՞OU1UU=<*8GS*e gS$t5DYT1F՛9Vae4j*՞OR?,]e +U=t'lUޙTnqʵf{ng#YFry3gH,Ӟ+v{4S̽gHQ, $Q:ߝ(5o=1gݞD Xyx*M#0n#÷mdUbY駂wO+jbY糈dU"YwJg͛T_L&u6jHDΥLePڭZYHԩ< :UujHDgYCjAVJY`-U*GYjHDO e *՞T_JP bu6(VJ0(*C%PڶujHDRU3u6VzER%~(H:Xu6rYHa2 e ՘VzER%}LRT8e U=",pM4iGZqgU"WjxONmjHDK,Q<βm*՞T_YCjjHDS* u6mVJf)FʦYe }՞T_ $)FʦYe } gU"W59& bPڨrYH@h(K*fu6ثVzER%~E a9u66VzER%}Ia9u6VzER%~E iA |βB gU"WP&L3<βBʵgU"WԘN&T(mWbYH& S 3\jjHDȠ&T(mW7VJ !iA |βq gU"WhTyTVryXwU"YwJhfHwmg*Q"4r4Q"Zxc 4߃w1ҫ89A"VM]ݵP6P> kUu@%~ESO爵Wlg*՞+*A4Nv(VzDkK,۬Z%@ _LIylի<DE[AV+v{81c0~b2egKqgB.xdҞe=AgF/xc~+v{ZҞe=1o=4{nk2ak1g.#JyVe1snfP#JyVe 1Ag-JyVd1onˌ2%Q2s4ͤJV_0Q$jZzDPڨVzDMlβDYL%njHO#^ U="W)SI4S {(QZY[$IwlUe7V_R ԧ ujˇU="WDTi*U="WDSu,ՔVbY)õQ5eU="WӘ&H"Y:'VzDKOPڶajHԊ1K1U V"WZB~eV="W˧R_ll*՞+RLBU.l U="W0MmU<ݝHD;;.YS̲ݝF0ek%(tG1H)]e V`~)(u(jժ՞,tL^(PujHJP$jHFc;YjHXasN.5VP1V`~Ye*jHҦglU(,XTNfث(,B:y 2[8P6`}4N`('ZP6+vv\D`ˎy;Lar0}<ˈjZҧ0}4p%uUg[c\?R/bJp9A*w9uUuj='JD9ˈjZҨ|4bYq ZZҨ|f`8eU@ZyJD3m*GWYDX$J bQZUX" bҦ\qnU/M$Ӻˈ*ZҨ}SZYT>X檁T>X =j\zUMlβuqʸ0uMU @;;(G<̼ˎxb2>>e* Z;(#<g}0ҦQ!G3lJa/Q jJ:$jjJ*R`wYDVzT/bIcuH*Zҧ1~X*TnYjJQF(U U=*srcQ (V_ye ի=*sq$jJEFwYDqʵg"~wg6Fy=ehzϼ$^*i0wJs2*BU/¢wYmV%R);u۫VVyT}1(3YmnYȢ(_08TN-TH*՞U*UDufUZ]eaʵfwCTOETVrYg~HF檉e*04yEjgRKf՞wd4Nj}Ze0yÎU=,Ȣy]ujK;fdH*RƖ9cQ nf@ZxÈa`JUBfP(wlÕbY `Q 6rYD:D`Q (VyDQ?,pQ<:uH*+U<(9eS,βmf՞QOU%3e gEUA |siYDqʵgEKNZj('Ԗs3e ~j('S<'NZqgE)EiYDYDL:$m*՞QORX`gYDZ"N #}<.OjgE)FWYDnYD9~)TuH*} gEA!/ye aʵgEUA |sRT(UlU<(1O$70Q 6VyDQ?"PpS N8/g:$Buj('JN aiiYDZAV~D0M8yO0t(U *՞QOȔ504 3e j('JNӎ N\jj('JNӎ N\@Z"whGB\DZ@= XyeQ [,(&Ro>|B:јL%<L>;A*SM^POV>M<L폹V*՞Jٝп4&a/t0m)CV*՞~da/TZU4:$fU<(Lƚ .!(VyDQ>TjlՔVVyDQ? e3Fjuj('ԘNwl gEΙ6qʵgDݳh՘VyDO<L폳VڭYDye uj('ȢsYDYDڨe ەj(')SFQ n1V|)SFQ mV}Qpw4E+nYDQ01Wl}BYD9>~rYDʣ(Әˈj*՞QOsK nfڭYDQ01}2Kݲ*՞QO,퐱T- VyDQ?ZId Y`ߙ2߳AW VyDQ?,sG(8UyDQ> cQ;"Sͪ՞QO̪8f uՖnYDʣ4je j('cQ4O3B~ÕeVyDQ?gҦgYD0j('O+0j('TN퐡LZJR:vQUZAV4 e*IPv"VagE?i cҫ9{LI_tΕXha :}2Kߊ tG3sO;cUgV@}?$NrU<L%5*ժ՞{J3@7O7V*՞}2Kߒ'lX{ݞG<4:UgG3xR i6[—gh$pJ<'=o;GF0-x1y%RSGG5;UeVP<4;fZ(*0N֏VV􊋢\CT ի="ѨuU gJu)P'ܫ6rY9f0NjbyqҦ0f`4)~c(J֏V*+<1x֏(V=K} 8%aiOE bTH*J>m;iT fMl5fUo=n#Va^<ςXbt#LȔ&Y?V*՞f}T)I÷YCjjgb9uN~@P6Fa"@hQCgi( 4—gi+0(eTR)2Jis8f3QJ.!jFc;S@[3VVz3ߞX!Ki*mHgX`ZVFLic;;L)Y{n(eogtG1aWYq XVz3K,q(ժ՞w(mT ի=)kU=WZfUoFc;LbՔVVz31Oxjkk7VlјQMUVz3NJδujFc;6yJ>9mХguܫm _<uնܫ(hR,S1tR*͜x4)~(K0E TBʲ/ bTE%uj <.+0M|n4|9mХguܫm _<uնܫ(hR,S1tR*͜x4)|)('+nP9[!?gm8%amOt 0mB1֛rUx4)~('+6UaХXgZ>~UaХ,JbZ>XGK'u U~SVD0,TY֬XVy2ZxӺ՜j=#t!G3(0u5V*՞0e֬ZY :ՑUujARU g™P4iʃQy}j'2hӆ.7C(x̸߅.ӎ#VaOG(vvB XyMxP84-3ᓥM8( ?QJ՝ibnj?QJZq X6qRN9V*͜y dP"WJD9@`"WZqX6qV8}JwJriB]e bm֐Da!~EPEl g gZpl*՞Ә&G)lZBd*@HY=giƑr Ar4:TӍơ;EӌUѨNE)t5mʶѨNӍU gPcK 5fU=兀wZpY@ZxD4{n+#4t2SHG3HK BNZV8"SilU=XTG;JH["fj=gih "kN#'giiZD};;HJ;HF/xDT/xaiPI¥DS?;(9gm#JyV4{n JyT}+vv@)^[iO2ݝF^y|V[Ҷ+vveV{n6F/xeiO2ݝ[F/yiYdDS̲ݝPJyV4{ȝQ#Jy'gṇJy[k#Jy۳HҲˏx۳hҴ;;v>)Y{Nݐ#J;vB)^[g<+vvS̽Ky2 G<Ȑz,8T# oR1ii })_}ݤFK$X`,rop'R`wU6ϊs:>+9O3;0Q ^)&L2A+8TogJ`t7iN"C&Ҙ( a#8"}L>DѺgȒȚ5'H|&} !}Ct,xM tp`]%'uS,"$Ѩ-Le R+oOuOAlΞoPC9 <ϋ!/<v,)cU:wJ`t7e|O, &KΥ #t2rO, &KƢyC\C30Q F_<!PȽycL?BϾD/nG,p'éd7C#LM"U8ϾD/n;Ql4j g.uSl*XuR &uR&&} !}CtH<(;U|uc iP[9s330Q ? b|9QGҘ( A<L 7C&T`w[ogJ`t7DׄO"јgIbRa;3LR`'O3cL:~*XRȚ7PdXasOO_1wO7 &~y$0XaP[9s8!ϦAlΞo˜KcȞfyh\-l߄*_O1kヤD/nͭ⹧D%Һ!Ҙ( 32 M" gwJ`t7exU,p'udM|4O2h&.uϾD/n} %WR-P&0N[gJ`t7q$8T^DѺggJ`t7mC@9 i#`dllFAR C1'F2HR7HQlTns"GʁH b6>2 FS(Y)i"t7m|*XL9_<(fxS,p'Ols: //i`0M;A+q3E TT'&r%QY&D`)]*&X"L^U0/SnX`xS,Pҫ B0$TsWJ0V+R3RKM+VB0VX(*i([ @g9rTՙF ؘ^?s3MY`x&LxD`5M40VE0M<4} 0Vt ]*i`y$f3,iAcM80VstGт&<)&JTtF ؘ^R(@sSm"F ؘ^J)*m([ lR:WӘ&GJm0VT}ZS$g <*vv`y| ]*is5gO+EV*՞~yjg,hݲ*nY Ƣ%NQ Vy-tUfU>DѺyueϿ4HHbSSlZKՊZ5CVPU>*YUU<߆ wJiBO!eϨ}<ų:y YAVPY~ OH8%ae6y#hy,ǭmujDDnfРVyTrȦ'O3T 9V,"xԥlU=4U?2 Pf-3  Ah3u$H2|d6Nf9 3 fdSrc!&QԐj ;6e6cNͬ*ٳHy/7t63̺f`cwmQj 1֪2 Fqȩ3HTcpP cp5u FC`6:C$UXh2*u*cwYf5A(uTr4aȨh3|h [Q) Fuj4oF b4>6 bYAP3Oj6H>T GYAWpTs?͏fٲiPn͐VaON͜F F8%aeǏXS-0*mUgTf<"WTS-2k19to“HZ8@3|(0Q4#geϢ;7ge[‡ge(x̴D2ӈe'CYiV'D-7VVP=<|GQE*eەeЦS {F .DuuqS)R:Gq bZCWn<`a$O촉-9DAԑ?;iHvP?;(!O$OdgR8%aP(Qxߝml׆2sY-tUbx:}T:yx:~ENժժ{—gey/2^Egvv[B>'e;-^;;-G9b*Z'IV1FJChYm ZZȞ5&hjgHO e5DY`юL-6rY裂$(}:t*ƩLϧSnY@\zXө7ˋK3[rAVP<KL-VQZzePKlÕe*XuVn<ߜD*SRݝdF쟲8%a>E;A<2}s2} #"WYjba䩠-*՞P`SMef'[nra8_x'0dU Xyyk;i&ҦOG3'8;Ο?V*՞UN?VV1FQdnٷy;'У2} P(I4vvO|>VO;(G<>^ilo젲3̱KpJ=c=o ] Va>y,˜i'ݝѲ +0O2 !La42 9*S0Q$0O"SnXK:X=jW.,~ia~h:yxUUM$9Kc}RBzmʸO):z>=2%P ͜y9SM;;(F>Y߅1ӘILDfnOIX6qSMe SMfPMPj\zhKyn\MA<ueYf=gepݝ2;.8)^7geHz?geҞe#vvQ2 XyF좲8%a>y#pJ<͐6x.L%E:`-ҦQ6fl㏿4ϦCYq}, Lr3e*ի=ƕ4:y g[نe0R"Js2i>5fUǦC`O"`6qP2n(ER}jgC9Tfu@xKg̦"WPҫ09(@h;fՊ(@XȘ;v!qPJej PR(Jժ՞E(ugE*~H>YEjg[لHҞe#v{28%ai(Ҟe#v{3dpJ=d/[ٖ Xy4xd(g<޻ȑ+0O![٦YQyCa/lPd9!an4>ˬ6AHbhT6AHbhϴU CR6ACa/lO6AHbhϠuCa/lP6AHbhϸ CR6AEW*VG]G#"jhϰG#"jhϲ5G#"jhTh9F!an4>ӭTh9F!an4>ۭh9F!an4>}G#"jhϠuFȤh26A]CQr2) lQr2) l'QU DfFy#v{48%aǭC٣y5o ~H]MU9VOY~H]MU U=^+U=@:U,fujDf*Qi gyHҫ69@`ht5bYJjժ՞O"O3T ի<O3TH*՞{nf쌾ͳKٶ+0z*m &wO3V*՞4fZY(t5@Z1t5DYVl26߅.f#Va4?>JghQeCQJc6HR*e0DTCV*՞R*e0DvUg3T;gcņ -vvqMny4ϊݝF0m^0+O$E,*mQb,ӺlUg[iO2ݝF0m>+vv>)^[c?gm<+vvmKdBt#QʞIJO5V*dNUU<;= Xy-)*QrEFjZŲE3BZ\e{nd6F0|V q|=(,07Jjr%GNʱVAc"gZ@ZZ%C՞(,}<)PZ%*S:yg*՞(,~da/tuej=giiO2ݝ@n<+vv6`V eS̽gi@ϊݝ葥<+vv0`^+vv`>,@>;;GG<Ȟh}t'J?ds9u"WO5V*J 䩠-իU<ĉ_QUO3MmP%Mlٴ5bYTѨePCm ZZ©cu2!6VzxU>iJwO3TH*՞OSilj<ݝь>ߑ;GG<Y,sG(8h5eVzDa:/;,يgJ(RGՖOڭYT)Q3,ZF:PL՛2YKPGU6Z%N՛8Z%}9i(֏VZfjHTH-6Z%~xC:gl}Yi gJ9il9V_UR:u ՖbYPwZ@jHDmZaH)ՔU="WӘ&G)Ք6rY}9i}2Kr0}<c*Zҧ0}4p%vܫj=R/bJ}s2T:yVP=*wMNYAW;S@[3a l\zT/M$ӻcժ՞;0vUujJcK3$j=:Ud J*WO3V*՞Cgl}ʵjgPrVy:Ud #Ja۶>U=*H&/vUU=*f 0rVyrZYT>X檁T>X =j\zUMlل5qʸ0v-TH*xP@8%aeC ;h )PZ՟3̱wʵgRyi]*egvPՊgP&t5jjK:lʠnY* R g[ $c !sȩ%&ҫ!q(wlXVz& 't5jj=Ngѥ` ?VV~EPB_>` ?T ի<(;9O0t$j(',gL;d͜VyDQ?,pQ<:vՔ U<(8GR(WL;d+U<(9eS,ի<(RKg;dc*՞QOU%3U<(RXϧ:vի1V}I`w` ?VڭYDy'D` ?VnYDy'D` ?VAV}LrʦYm*՞QORX`gl[qgE)Fx ]>ͪ՞QOpXaGI]>uj('U%3JS@~РVyDQ?!d* ?T 9V}J!/yU*@j('S8,0L%vU<((ja8) 3Buj('JN aiilPYDCS H`q|>` ?T(VyDQ?"Pp&p_<Ϧ:vVyDQ?"Pp&p_<ϧ:vƭV~D0M8yM0tVyDQ?4NuګU H{—gi#VaYzicc'jɔ-@;V>> !RRh_L &vvV?*SM^POMYs94Na3Y XVy*h ftUje HCFrO5Vܫ({~)&a/tF`S {YʱT )^֚fU<Fbe0;M'gi񺆨VyDQ?i 5DYDT6rYD*e4NWl}Y@Z"*PLVQZYD)3jի<(Ra: ic*՞QO:gZelj(c9Q.U1V򈟚x'0֬Z?jgE0vէVyDQ>E;d(*՞QO ?VrYDE*h;dیU<(.TѨv6VyDQ>;ASV~(Ә+Z>Z"EsZu@Õj('U1FAT V~(Ә̤Xct5@j('9^M!VyDQ?L%5q*E婔@%) ?W7V|2?2e3gl\DYDuTVr8"PKQJemV~eQ4O3>uj('U)P-!AV|5O:mՖrj('TL6Z"S폠L!Z"%U"Fh*,7V}Ti*- VxtuiU@DL9Vj=&~(Ә+MYs0( *j#.Pa/~('Ҧ<LVCV*՞{4hq"tbY0a,7O9VVTGј8yV^:MՊm缍ipJ<ǙҦ3&}2Kj*ZоL%g*P6ROS {YXVy2KQ5bYtL%?"4:T(a ]G<Ͷ۲pJ<'=o;lF0c(JҦqnpTnU䩠-9jzcm5jjH)]@Z*MYAjAVTΥ4je͜Vx8"Yg-VP1VPZZM4iJ't@ZMiqeDYV9dcg3TJTNY@韅4L PD*ժ՞{y?;6CpJcK yjM*_UWO3Vqʵg[1H\Cw<%?;m0ǂN\THZ).WJqs m9s#1֐9V*՞N\gT_; rZYϦC՞N\PO>U<õQyg*? :y YmϥMlδY@Z˟J٬+U͓]ubٳA;Oj}{nӈqc;Ɣ:Tӎ#ĪeiUbY!/uUU<*iluHCeS@Z ^SHF`δVLc~H;l!G<٧[t KtXG3(O bK;;mG<޳|(vv@ Xyf>1m&UPNSmG3HJrV͢@\ARm͢AVP0""WO[ >Y!}9i(ϱ[ qʵg a/tu1V4:ղ6qV1m] ҦDk7RRmmǣP"RmmʶѨNnU gPcK f6rY'}Df3**՞{nQ<+vv J>9@X_[m XqEZaVz4wSaڶDͪ՞{nь>׊ݝѥ<+vvϠF^'+vv8`>DD+h=NmVeS̽La/Mvv[iO2-J;;hOJ"vvРF{n(ҵgVqV(BݝF/xqiZ+vvܲ4Y"vviS̲ݝF/yiO2*vvB+OyҞeVS̽CpJD"WU2TR]"eAR,s:$^E,s t>S($>`H`w)] 3LTa/~Q7;0Q ٔ^*4:gȡM,f1dy })_}™_G)u$1>+4Eo Qh)9 3J>,3P8gt2<ϊq <τϾD/n;g)5'ヤD/n͑y1ls c WPKeRDLse P(t+P(@7PTLQiߊI&;u(1FI~)&TOSM9*u*':ˍz}BM$Ӻ<Nŀ b4N(QxNLBc9ls&K*Ȩt* ~>,6E@e/D?4?"WR?QJTy })_}ݗx'-wWTYT~ECߑPEG%/<ȩH|tEلD:@E+a TXȘ;t>SkΖ;(wDeR:gȤ~EOE#O+*uR#RH(uRScΖ;fD },S"~>|LӨrQxTwJ`t76d>6?QJdy })_}̠d0*}D El 15> AHf3t7Lx#$HP) FGA6*|7 WC{6ׂD@l4|dbC{6ȦݴL'aӡh|' Ҩ4:Ud #lL/{NX`ҫ!a+ba{IPXUY+ba{޹xӺUdH&<)&JTtF ؘ^R(@sSM0 T*STт&إu0M<4}0VT"D-xőj*vvlXS1YS4{Ŏ(yTYS̽gipJ<}Mk;Gўsȡݝ(7gipJ}'0D#<9(Ϡb(/~wg>s ;:QC1?;3<&-'vt #>e)R;m(}Tmݝg2H c~wg@bbTN΁ 4wg@8%aq5;H#PM;F:tubY~E ]>~ZY}:tnY}Bi}Q (wҦ ՖmVP=4I-VlZNl:gbt+U=4 - nY~ Ob>Y~ OZNlj>rY~XQq:ʠm{—gB8%ae4ye4ǭnΆy;:+0(q[œM -ݝ h7!N!>fP6 R+ZeXCgFrPVZe6VzEFbLujh ]3Q;찁(B㳲lbxݝFz;;,"G`a$OS,fPO"xL:ujO"xO$NjO?G,)P,nUBL%,|GQ4rXCT ǡL>Ht,!Uǔ)7Ya\b޹?;(e '|:ݝlYepJ=c=o%SM>'e;,Fy PVa<'S9TNCL9b*Z'IV1FJChYdZZȞ5&'ꁺgHO eDY`юL,6rY裂$(}:t*ƩLϧSnY@\zXө7ˋK3YAVP(U%uPUV(T,rzePKβC;(JtT?;$l͘G<<';(1ӺT͙G5Jt $ Rb֫qc9GQW*ŏ,/O5VPU?4yj餞7)loRHCOZWI~%!҇OZUǦU͘͜y9SM;;66lπbwLa4DS6i6)&9_00'YfbǡLa4,Vlln<(S)JeXne SM7Ҧlgt6AHbhϰ CR6ACa/lCa/lNPd9!an4>ۭ6AHbhϟtCa/lPT6AHbhϡu Ca/lPd9!an4>U{Ҧlgth9F!an4>ìTh9F!an4>ˬh9F!an4?gmQr2) lNQr2) lnQr2) lOh9F!an4>G#"jhϡu FȤh26A:FȤh26AEW'0~E;6q=y;2Ǒ;-2 XyxPdpJ<%3ONS-4gU,oʱVߒ#YjjARdU@ZH cu$j'<ڨ4:mՊgJL>y]d*VF`Jv{aXae* ]GcxP64[co%}9i(M6ͦ.},;6~U<ݝ)^[H 7o;M)^[ӈҞedH)7JCds89S4)PY@l:jgGge Hy!y6E4C;Lm̱g$Pa4nfU<[$S:ժ(+vvPF0e ~+v{!eXD3*i(r%GN 5bYD 5jjH>5nVzDC$jH?ULj͜VzD)Ք U<ݞF/x19gҞe=!F0+v{ mS̽g@ߊݞ,)^[HAo=2ad x?;$g}8%aD-HC:Uc!ԉ]LQ;t5fU=*XYj:ygS锇O:YmjB(?[YmA,n *՘y#v{m0|Vec 2NJݞ8)^[لHa $Q:ߝH5o=m5nfG< kUu@%~ESO爵Wlg*՞+*A4Nv!(VzDkK,۬EVQZYRSamf՞Tv̳[AV޹)wge!aA+}3VexD4{n$( AgehҞe;(2;()^[cQ[n&QDNJݝ#JyVi*t#m"W@7PՊgJ'tUje%}<u@Z%}*h fu۪$jHOjʲ9O3VP1V_(M$Ӻ+U="WQ$ի="WԘNwYql}Z%~iwYDljHQ5VZ%~E0ΙQGV_9Q!N7V_蔖$UmjHA |sjnU="WYT3n1V_RKgO3SڭY9eS,ΞfnY ɤE*&t5>Z%}Df3j*՞+ju**%~4jd mʸ_.TѨu* _DQ@_M]ݵ JjjH%jjHj U="Wԧ ƭV_E*S:ygJ*S:O3W VzD@aO+9V_UQJTβuDgJK DfU+U="Wx:ˇnzD:)d lUǤT:@&;AVXmʸ_wl}jHc9GQ폷VXqʵgJ~y͘VzD2.eVzDUe,Hbx&/tQ SXY@0Pa4q:ze\zTMlβ}l\zT/M$Ӻ*ժ՞;0u՞;ƖgO3TH*՞{t J*WO3V*՞CgY@ZZҨ|r(՞{N2s3iT>5;uZҨ|4bY>ZYT>30UEnnYL>JP5V*Ҩ}Bu Պ@KRLQTfPrM;rU=*:jժ՞C厞j(C֫UǥPT'U*Ҩ|P$D(vvP G<̼0ҦP"G3lJa/P9V*՞90uUU=*s˔Ie@Zҧ1~3RKrU=*sҩF(6rYS4j"U"eejJX.uUVVzT/<ի=*sq+c*՞9D*՞{xdݝFy;.4$vvPG<>}PrJi!Sgt(QE T ebYR(JJSIv,VVyT}1(3YdP7VcQf/M*'uO gJCQ;~ʵgJCQ;~bYRPt*'uOՔVVyT~YO+A[Y+ͪ՞wcP eU>ujK;H*Y>РVzYߕ9ET 9Vhu* u,VzYߒ$Ѻy@Y@*L'!lnfZYg}TgR'U,Zl&ie jK;^9V"t5e1VM;f~j*RHC%R(\,Z'WO3Vl gT;PBO3VlەjK;a$ҺUf1VlFbIci]ejl9T ,ȩɣPtXeƪhmVG!itfagd\niY@X,j!ՓVy;.0`^O9M+LDfP(wYqVΞfZYgT(Y՞R9`E*T<Ϧ:uV9V}I`w`P9VZ"%iY@Z?jgE)EyY@ZqgE)EiY@[eZ"1*fuUܫVyDQ>IaYem*՞QOpXa1uT6VyDQ>bIao%uTmի<(T<*NʟBYDDKgY@P0Z"*9~)TuUlU<(1O$70P9TmV~D&p_<ϧ:uU ի<((ja8) 3eB gE% L' !iyY@PrYDCS H`q|>`P9WbYDCS `q|>`P9WZ"04}4Ӭr nYD;4r6"AT- y ]͟G<̲([٦ь,^$Q;VLAjߝgg$*SM^9fGk9*SM^POVis94Na3iVTժ fJTΞjVP<*SM^Ui™L%٦jP6S zlubY T3)h^DmiO2+v{7dc 6ϒ"uI}2Kߊ v{Y;YB'T7)ҫ4o̙L%ȪZ̙L%ꝳMՊg6:ѾL%fGfyF,Nk0)Y{nfl)^[ٖ,ͳ>(*,#QOwl5bYDDʵjgE OjgE& CTH*՞QOMlβʳg*՞QO¦YcMeu*՞QOUlUe՞QO™LѻfOnYD NC[AV~;fQV9V򈟖8cu5jU<' &vjZ":*Ӎի<(O"emj('F(mV~4jem*՞QOE*h:*}U<(T\QJ'Tmի<(41~РVyDQ>hN`brYDʣ(ӘU@j('9L%7O3TmV~(ӘL%ٶ*՞QO,훵PYD o)kET(VyDQ>L%ٶ Uo('S),3K,&S;r nYDje%&~ e;~dg~βʸZ"c9GQ?TVr8"PKQJd*6VyDQ?2x'O-6Z"G h:*HPU<(-D<ٴ5e(">4:* V}TUi6VyDQ?Pwl* ի=U,l}H*՞&CCV@Y@4 QNٖj՘bY缑Dstm=&~$/:gJda :}2Kߊ tY<LbU<*HQD*ZaYcQ nrZY/t8'ՊgL4Uo=nf#Va<φYa/vEV*՞a/v3V*:}2KݳVj&S {#14XVy&S {A<Ȣi0Oҫ49e0 ʥ3ҙbv@ɤ}*h ft@Z4r4U4:Ud #)vv> Xym ǭK(yOz+vvdc\? PKMYsYõQˇY@T.(*0N֭jjgT]}P7VFZbUfP3?"RD7lU< dS,nujj3?,sG(8ju@y'e;LFyݝ#4Þ;;LY2"ꔩLQT ##1"WY>U=MlΞnZYg~y`2!/u-T lo%uՊ}{ݞ!GFa"ڳ=<)JTO!kVp9@ЌY>U<ЍF6퐷VVxSB4Mqݲꁺgš4] gΙ*JTNY@韅4L PD퐷VVΙݞQ#<)v{!> Xye!oS&~wJ9iɟJTNY@ɟ4L PD퐷VVɟJuN nf{y?; vBǓG ,4ΕYV3BUq? gȡ!CVXqʲÎ=2gLx ]5(PUq;d(Ր7T :gLy;d(Vrzt™d(HT Fgv{8;8dž# ҫ9ds6 ,4jZl,*LNjgUy9sLjYg? ZAVڭYϩU`j29VVijg )]CTH*՞{%g)ݝ#/ Va uj'2hӌNjU<ʆNTՓVy<) F6jVy<) LgO3VP5jg™PeՔVy<)$dwO3VP"AVxS* K E(lZLn`1/Ք(Vy<)f.5VPZLA$(-u.Yg™P10J(uˇU<ʃ1>Yq*՞O eA| U<ʁLKn˕eU=Yc/uX(nY)BӘ&GJms0.h+0(d dPE+;GGd-ERTQR*ZxP8%a>'xPiy<)vv0 Xy>, >!y>8%aiXN4f 0@E+VuUg0@E+(h*Vl(q֐1V*͜y dP"WJAds2EVlx><{RҦf1/ȕOV+f z_.)]iUhU =/Ȫ֏[ >Y!}9i(֏8ZBse0y Vz_LEHid'Vlx.YQsSG#ơ;EUѨNE)t}[q'~]hAVj,iaR`wYfU=兀wZ>bYR M >f8֏V+gaD2lU=XTG;JH3jgS 1!T՟U< XVyTNjժ՞| ujg,0K:5DYҦU9VP""t5ej>â&5e՞}2Kݲ*ի*YUU<ݝ'ьBߎ wJBBO!eϨ}<ų:y YAVPH*vv>+OyiO2+vvqS̽K$pJ<@—gm+0,2y Ț7C#PL0&},QxT™cNxK"h@7U!FrOlnguQʞIJPȥeJTM%D|U,p'\oidM })_}V xS|&} !}CvP8"NGҘ( ksF8gt2<ϊ},S:>,}c$M;Eu,ƚIuS(15SiT/ ~yƤwUY })_}&9ߞp,Jh;uSly:cuQ|&} !}CvR]pgIS@[33c+M,s*~1F|T]G+RO8vHyu$18v7O3J"FybilngJR9<τꦌ%/8v|VD3ȥC|&} !}CvJ_x<ϋ!S OΆςj2H6|6 # l)!ݛF2HR7HQlTnǂD@l4|dbCv[kȦݶX@Fӿ t;6FxVaMz,4cU ]BFӿ t=*vvXmZS2NjQ+0)PZ՟(vvG<>}eX[—gipJ<i> Xyb ;dU>vnY~0Xa ک[>a{nۈҞewgm8%aeRG<̱f=o9#Jy^ݜHy<vsVa/c̳RQ՟UVySU gJO5VlY@dM-VP瀙j;FҤ :V @ZZxNZ$F*vtѥ<,vt+0'PVa@xRG<̱f=o ]$pJ<iа Xy΅pJ<͜x)vt6G<̱f=o ] Hy,ǭKm2śx)vt'+0,Y[X))H2 M:!@fq"j?,sG(8*jg`lVyD u D՞;UY,ʲVz(YO"l*a #u Ue1W,Kh'JPV\>fzigl@՞N(ݲ*Vz$"8ەjB2hLDVqgA |q?$N?[ Dͪ(;:+0x(vt(+0x(vwG<>}ݝQ+0[N呥<޻8%aemS̽;Q+0C;#Va <‡gq8%aΉpJ=c=o;:&Q>F謎 XyiEdTmݝh32"~wgD}&T#J+vtH>SxMp x 3ĪeU& "uQ|&} !}C{!S¥:YRx.SigU6R t~>SyL>L% 2ϑSNJ@9>š13|&Q807U oȦW@7P!TLӾL%@R< "u/Ba4u  0wR`wO3⸣JF:D<A)k O1_LQ>+8_O330Q AT)&9_.~haH [Űt0&L/ 3I,qQ;`4q: EIhP#La~EFb(<ϯ54(DǮXTiߖAA|(OuߖAA|Q4]IgJB0 }2Yݝo‡gepJ=c=o zϼz;;(Q+0x)vv\G<̱f=o ]Hy,ǭKلpJ<i8%ae4xR8%ae4xPi3d/f+06BxP> Xy[‡gpJ<͐z;=Va>kJAh8u*@'YjU<uժ՞~hexKenY'[$ Q mنzhPUQZy<Ūyf( LPջYنz:˕Ad6"PQU@\eU,nيʔ;f0nUQYctV0qVz& 'tUm Y@cNFYѺU@Zϖ%DJiAVS@Z͜(},tUe~iL:yg}DadFj>L%~uj=Af6;;HQLLIߝJSHiʱV iʵjgLIߝelxi["{ŎhyǏPG<>ǭCX[‡g@8%a.} 8%ae4xR#VaXOᔲNQf6:1nAV*(5qVƚ RՔ 8ZR9Y@P6ah&h46ͱhӨZ!I1 F΅mgCdiZ> HҞe;:Ҟe#vt(+0#ЦtlsY&iPK4st> P^3TΞgȆR*vvF/y)>bC$>>S'9e}<Ů@Fӿ t9ݝ+0,Nf2ρKVeYS.UgDfZY 7YrVySTH*՞}*h ]!t5bYSA4 Ojժ՞yL!ilnfVyDiNjZѦ;ZʵgLbS!(VyJ:yjE+7[YgxC[AVX!t5hU< 4O"]*mspi@7lV6$نحmǔ't5mH*՞@H<[fU= h&֘lbY缐d6Hφ4 CQ6S,T}s5gO+j? 4jʲȚ7O5V[ny)(VyFA4n(V^hk7VDcae<Tĝߊ4iHj)0VVy TĝݜgS@-{Ŏ} 8%a@;9HҞe;:<*vtF/ym2ˣ(tsY[$.fUbSR-PjY@-MO!(*R,*ժ՞{G;HXG36~hPjY@O1lΞCVPU>SUUHȋTĜ9 ׊Ğ)%uRBD~>Sx }Ki߄ ]S,Ts5gO+V*՞~yjg,henY Ƣ%NQ Vy-tUfU>DѺyueϿ4HH!t5bY?4s5je1tY@dL9]ina#-U<4>b ]bѨty)RrZYn0O4sT$s3gu ]5eY@:ӕjj>bguʠnY? IkG42Ȫu2T(iNV Ojժ՞},NVyhQ Vyث6rYtygI*h ]Z$ȢI߅i"t7mߊ4&Kи;;-#Va/S4{vvOVaOҫ2fu5bYQ;VVy&Puj>X`5*u5DYҦU9VP""t5ej>â&5e՞}2KݳVy21'~w+VmH5V*՞Ra;jZY'-Swv{ Gc,v{8 Xyxݞȑ!Lry_aH haH C;!_X$Xq}`_?_X a,82@UlXq}`/"Ë?,8XK_X=uǤ7e+̓6(_6lxq||بxq|6*_8?G|,8Ao&<8@@OIW uǤcËgJ=%_zU8Y녃U:8LJ/IWp:=/X;@T=%_U@\zJ(|XIWcË/ǤH_>T=%_U@;* a U@# 3\zJ=aJDŽ,=%_ @[Ë)_uǤ(-LJQcU$/ (?CË(GǤ(H=pzJB|a=%_!^U@zJ)"#UI]q* /AHAaHËMERU( /\ǤO!*_눣UXa덇Ɀ_xH|W?!?"~ȅ_bËC<<8D}qH|#IWb#!*L/3~FCUa}s*|_Xf<8F*U0yǤaŀz=%_# FzJzJcU0ǑǤD@bq*Rz1𦾸IW’\B!Ϯ#Uu<8T=%_ AzJ?\IWzJ]* ޸IW UBIWY0|F=%_1zIW o\ AяIW|UBp&JYH|=w#V=%_`G%Z B<<8u#V=%_:xq|8!*Ѓ`zJt~n<8t#xL =%__X7_/g=qX| X1*&~IW09"IW9\*q@'}pzJ +pIWo!IW~>'UU }aZ}qX|,/BGjË%CË/ zJG:=%_d*"\V=%_d_끸}*¡*%~F'?q* xq} !)āBOIWCq~ xq~zP~?#IW*zJa*ŃUG xq~_IW&zJ'PzJ?@MIW)Q*E~T=%_i7Ǥā!*@G#@<8Ѝb*A IW߉Ë=%_l8¡*jNU xq}_!*b'"IWT=%_lzJ| xq|!*qzJ|1/yzJ~\*4H_>IWψ^=%_>}pzJ|HzJ|$X=%_AIWK<8BF'}¯\cU=%_p$yCU#zJ?Aq*@@zJFQ*'/CU1} xq}\*r=%_xzr=%_x'?BCU\E\*y H|0$/ǐ|0M눣U >!*`&z}_)IWPU_Ë("yIWPz(|\*@=%_(} xq}!W}!w"IWQCU_#U\V=%_ A|d"zIWA'pzJ4?XeA_Ǥ$/C\*O\UPǑǤa*H0|3zb|3~F'_ā -GU\CC^q*'Wj/ cU,Ǥ`łX|l y)*#yzJ~F,\ ab*hU끀|4*h>1|n=ah UģË6<8za/OBOIWIIWp|?lxq|?#IWÂ#IWÇD\"IWaW=%_Fh=%_y`=%_UXp~Upʃ+_!U@L,8(=eBËË;N,80á1_ IW G =%_'Y /bĿ\By|¾Fh=%_0(0zJ`'Oa|B`IW+Faz `^,8y`=%_IWéwB0N=%_?#U!IWJ0?# IWða|;|0O# ඾FIWha|\R=%_^FxzJ^FxzJAËTyzJd<|~~<8 #U\| >Ga*.}p!*//FIWxB0zJ 'h<8~G0|<FIW7*X@_A0zJ@;0zJ@A0zJf y`=%_3FIWU0 z# 惏# FIW_\R=%_FIWi0# #xq|v"U#`=%_5_N`=%_\0zJ<078zesIW*z<0*}_\R=%_# @| cAa/"Xq|A7Xq|@[Ë;/bË:2_T<8^,Ub|UbǮ|zIW=%_*k_| +=%_@ W=`/_R_X/(&H_QzJ>T=%_P/<81 t=%_`GL^<_`z`<8 z|A$!* LJzJ o\B!'O\GX/GIWǡϑ|zc=D# N0^<8o\;8q=%_p| xq| [a(=p9A#U(4xq| ËP=p9@=`8_X $޸=%_=`<8!r=%_LJ {=AŃU~?_G#ËRwŃU)^/H@`=%_ zxq|/0 IWËȫpzJ _1d?_@xq|3/XG*3X/0/xq|ϬË$zr=%_zr=%_W*1xq||8zJ>}qzJ>IW#ŀz=%_ F,g|XU 0@|Cł`|C,dzJCXt<8b`zJh`IWcËEc#Ur>xq|@9T=%_"_UtIWXxq| X|Ǭ:_E,IW6`IW߬a-xq| @o+_Ǥ[/@CU-W=%_zxq|E7/^,IWPM<8"CUā (xq|EG:_Do\zJ"@pzJ"o]q*[CË\/qGN=%_H_ \^C_zcË^ǑIW^`=%_#U/50zJ/xBzJ#ŀd=%_7=%_0 zá1V<8a3#4*; lgo ȉ3r"mlh𜈛c@Xm wcD"xL!`/& cD&m@ ɶ4A`/& >y6ƈ$xL 0lny6^MI0ln~y6`/&c`/& <&mџ^M8 ɶ0.`*& `MlMc֤cHlM , c Dc Dmelc"mdCmdEFM?PM+clc ŀ MTc"62>D 1BD&ARmd$xlc!'coΓlc bMGc ~Dmd|ߛ^@8@n_ q| b,X@$k/Ÿ#_$_ίqrp |N c8|N"`|N #m/ļ/ 7Wo/x`()Q|PU_&Ƌ /\l(j(x|Pp_ |f RWP6k)J pۉ|%k(A˗Q'J%$Zen|+/`|6|?_!9A`Bp|Hõ3I $/_y_y$k/sk@qBbw |?&:b/"")_ DLV|18N=uK^)_aJ+<zV82WC%_S?!/Y|d& =|fU3+/bu8 06)_x|f&bD4ƃ=u#ƂEͯ'_P4XJ4rȋBT|2/C<'_ beJ|2rE mEū=ū>d|2$_ N WAܙ|W: ࠣ8P]=P P>O߯//p|,WE|&_)(u,_)1bJl|||?¥+"&AJR0FR1ZHE7 2L,_ I|3zf̻f'_ ̱f/b&f"_ f ᘑ_ >|3XF^,iXHlX8k-4_c,2_a ,>ƫ,"o _uƵͯ\ƥJ52X|j|j$/B>m|j0|j%믍F6(… W9"mWX"_926u|lezaz= H64Kho/hS_ "Q|4(_ A / A@7_Y|o\ܧ _f:x߯#gf@fS_ DegP/ f(_y |pD82mゼX8._O p|pRBE b@!aJ$`|ppH8%_ue 3/\\}|-e3." .q: ء|sW,a2%_ȅAAH9!_*KMɗ`/:ll68'c`wl% ᰛ_*u򣸣)S/ _*JT2<|KȗI&/ Mp||1j)pD KUR aZ)x$_ &_ 3|7 LU9u_ z਋8 1B*o WQF)_E85D_@6 \*y*"*X _BNWPGq|8"µ:x|8;e,_ 0|8)I|8b9 UpM_d9V|hWXD V/|_c"+1K}X=B+f7_5_0cpR*_8_W``4YZ ~r!ԯȿ|[f,;_X-_d3F e^/|D\|DWd#<"^INjK&kȷEmWÐu,%4_L|9pj|9Wu+ȁ_G 2r"|9Ñ'GoӚ4S_8Qk/hx?z421B Jd|¼Vgp|l]|ʰ|Ü|a2 |ǾbN ||ļNw!_}Ra)e˰}dk…,)_|dT; 6-_| `}&| ¼|__+caFV6I|8j|5'_+X6_+Kb6||N޿Y~q~ _,b$/k a@XIU!_,|=e |B)_,'ȃe)kF8|a*Wȁ*_"|!2M]|&$…)_ |&WE_ q|&x|& 8J+9)_ NZNU/L_ r5A…!JN$øT,|XWŅ|XW%avJ,#_V,H,2e:Ŝ_\=W(če6q}q/ _#_qG_#1_#5/Y6b.BF#b0Ĝ&_#1bPA/Z D18V`|(+*P]Š0N8XZ^/|) /.k#<)_ JE L!_ MqjR |)p|)$_ B W/!':HE/G0_$A8 EJ}|/ @/,PH|KWV//A^/AfB|*(…8•$_ TA  £\y+ k/BFq|* |* 8c@6_X||8L"uAF,_ |̑|*_ #`| |"_$#_"+_!f  %_%BW l/0NC-_".KB2UBz_!'_"f1_Ť[kL|Z|Z/Shš@/A/A|Zp_WŢf[_A^2_B/&4 mWq^y qm|JKR,TJIqb( `AZ&q|$d '/1~)_lbFE m|#| TA_Pm̾0_P{K*$+*3||||/@{|^|B|}5_(/> WN WdP&LW`N `PmB@S@Y|As6  _G|AM"_DLT *_BWǫZ WǵɗǮgWǥ'_X= Wǥؽ|{Fk+虬/8aNUW 6/9/98/8 Db'y*8%_p }| u,*ͯE(WAU(d+PJTN+_/ ze!Q! /B&B!|B1b5$BT$X#_nMqb {R"/H<HRB2 K+ȗ N"*_S|"_C mkE| K/_cl` fcf/1'i|_ht+%q>y|}>//pP>r6ƫ  r> 8l!`|C/R/c2W1W0q"0! |Cb813| | *,ԯPTEڕ*W̾B&:_wPkT$`| 6T%4EhIhwhQ|jXEXC,/Ex|AJ lz $P" p'_ /X"&|D1A|D0r"/!*|D._j|=_b25:5p4_/Sk֌Q ` _ M?8_x`_B__0ÜkUH_|~ v??0;_[U+| | W8,q`_+VE+pX+X?@a k0l8|`"_Y|`6 LX%_KX8Wp"|De:% :&b dK</F/H/8¥x!_Wx!d<$|> W:b,:~/_zbݗ<~$/#u|?0|4k>Er}d|pPv?F6_\4_u1L~@m| __Pw8f@nW,U0}| N/(78u-en6 '_(_渡|9 71R7|&_ p "•aRN|ZW0DR+_(qUœ/\Ux'_(A8ZPD/_`p1_DŽ|mep"<+bp%p$:8||aB9/ZG"_%Y*9 l/x'_"mbrp| ȗWș6п@_C=tU0_E /YB:2K@Ƌ}et1ueQq|T +*_T*|Tp|VAkkⱞ _ŋWjUY$`YZk/j-23Z&/q|Es _Gŀ+(;_Am|Es(Hߗ}1/[#9L ߗ 3,p&L1Y/[#99c Bob$fo?la 3 U1ٿ/[#9lb~^Fs`ߗK"ұ"^o  3Kb&fo?+(c DߗS4~2~^Fs bAɌdA 3ͱs~^FsdE 3X$* Lc%~^FsĥTj=dI 34s c!no%B1W 3$*,c#/[#9RBd2 3~^Fsl2o?;cW7~Ag?ydozߐ1W)PZ2s7~Ag?6*HTAo13~^Fs[g 3ȧ7~Ag?XClߗXp2fo?c"ߗXߗ6 XAoXEy/[#9lQfo?+)dd] 3X$* Lc$ٿ/[#9J~^FsԪE{|ߗة!Pf2co? de 3X$* Lc*3~^Fs c 7~Ag?́{?zߐ|, c&1ߗ25zߐ4cSBo,L2s~^Fs bAɌd!fo?I 1} 34`B&o`lT31o P:18zߐJR1 3ԒQof1:@7~Ag?:II2/[#9lLc!7~Ag?2-lc } 3d~^Fsc 3hcߗة!Pf2c,ߗ&1Czߐ|, c&1 3Izߐlc 3X$* Lc 3X$* Lc 3+Kzߐ`cߗoH-e"8[,yz߃_# g_X[ͭo7<ϱߐa1N>z%-cH> T47•S2”cHs~mo?)_>c,?~mo?)_ A 7•f1k~AHȚ?Ozs?[8k_6w[/kzoM|^toXMI 1_1k~Eb[@mk~AJߛ[ W s~mo?)_`ƐߐR4&9ӟ@3 0oޟW;H?ޟW=_{3͑egD?z}^=o>vvQiGz}_Oݜ2Oݝ1>vt(ޟW;aV>0>4>?O/>:>?> O_>$>X?O`->sޟW>`cOz}_O ޟW;l6{1v>_z}_@@?@@ @ og>T/ޟW9(ҡ{}2?{a/{4=z}_{ޟW?ONGрz}_@w[9_Ml~@w[:lr7S<_NX_ s[[CpYuLóp}7z|'/A>Ʒ:x$Q[:l<?oH?z|d[[ Ug8%-:9<aSng>Xt?M>YCz$@7PU>1ӭ/O'sz|Ϛ'[oX7O3Ez|RwO3u?Q&>gzʯOlO?/OgYu%{O_|R6`lT31 s~^!?M">dޟ5Ț?N--98oOKޟWsz}_ޟW<>@ޟW((?OPO%ޟWJOz}_)GޟWJ ޟWJ?O%o @z}_(?OݝZFx{DϡFyϲ{Y>vvOvtH33geOϣ/=o#gB`z{`Oݝi @1z}_(OA'?OݝH z}_ c>[z}^i>qz}_ @@!z}_ >H.>HޟWޟWޟWmOT OT0>Paz}_@3z}_Yz}_Ogmcz}_ޟW0>U?@?>Z@?++oaÏޟW:>XޟWA>X7>XOVOV'3z}_O">$ޟWL&ޟWN*>p> ޟW:>vt(BMz}_G{4^>`$>`ʼnOݝ( >e,Wz}^F ,_,>vtM6/z}_=>_\)>^^/\ޟW5>\ ޟW>=z}_o#_# ?O -z}_@ ޟWP6> %>=>A>ޟWP? 3z}_Oz}_HOz}_HޟWR @/z}_M?HKz}_>@>A@7z}_Puz}_P?O5z}_kz}_>hŠޟW-D_o@ >D?%ޟW(:>Q/@Qz}__`Oz}_ Oa?`ºޟWWaab`Yz}_X?O+s±7 >H O ޟW$ _ >J2>J8>J_ @z}_:>JޟW%/(Ooz}_Oɀ+z}_>:ޟWӿtIz}_Fv: ?O/  z}_`C> B A7 C C? C a>W > O-?O- @ޟW WޟW +L?O>[<ޟW*>GOqz}_oz}_uz}_>"gCz}_ ObdWz}_Iz}_OޟWA OGz}_O?O3> ЃBO?OO >pޟW?/DGz}_/?D_Az}_ޟW >AOD_ O=>@oz}_ʿOO ?O?O?@R/A#PK>ޟW ޟW ]z}_*(O1>Sz}_ _ ?O ޟWBHaz}_kz}_2.>C>nޟW̿``Gz}_0kz}_@Ƅ4'>>O22>@>$ޟWd )?z}_ >A?D   > ?O3O3X[z}_,ޟW !>ޟW 5cƨOj7A@ޟWh7 On.>o7>SO-z}_〟 ?Op8'?ޟW#ޟWOޟW \_z}_.\1> Oßy?O_p">\? >D>OOr?Or OrQޟWsz}^ B?N} 6oٲ?_',K C/O'ǟG~}7z|'/gKsewo^9b_|118U:XTy5O W?;y9dyO\4ɍoo)_gMx?@ ^9b_|d[[dޟ5K 5fqMGp}z|d񠃭l ҪuSmNX]<^36,gz|W7Ѩtmz|',8@><6l[z|>>kƗ_[[>;KIΛ7xӍ l>(O /RClHJM74:?z| ^46? E? _Sz|MO!קat?8>g,et?^3&N/O? O>kƗ_k|kYqFΛ7ڀ%= AOD',KDoo,uRCo!Wz|y Oʊ?O'tE?ʃOw*|JTFzXgT,OT?ԗơ?/OTBUz|ϑqz|φO2!=4j<ޟ3&N/O?*'oO_|407jC C";z|dD?^4 (>gM ^Tp_z|>>kƗ_XM:u񸍭6o6|N, A Ȅ',KƷq@@NY7pz|y)O\4jƷƷss%ԯ[:l$ͩ';@I'^9b_|5u5U:ڨUd_^4Ug/O B B^3?3>gM ^ Py}'oO_|? ѭ6o͑f'c7קNX_q [[U:̯O `4LD(>gM ^ Ao }7z|'/&6'atٿmPG8 ?RF#^9b_|6z-H.>i)^4^3&N/O? ͇9g)l.g>gM ^ @`}7z|'/ZNq'[:llo > 2rĿn%|k ?ק? NY7pz|y)ޟxOPqlip2_TkgM86 )p[@qOC',K[[HGOpE 8/O^3Ț9<=*:=*&ޟ37AW ˯O5?pW gޟ37cz|{?pq   mz|',8@><7޲O\4 z_<ʢWhtٿ,o O2',KӚΪCuNU>i)^4&N/O?K~/O 2rĿ =oo+So.>iDnCफW?;zΡNY7pz|y*&ޟxOl@8 NlFΛ7yʼN |+oO /bNƷ¿TG>il? K>i (>g4soO(uNA5dޟ5ر96"l+_78_ddM)X_q ޟWpÁKz}_7> O8>V'>V Oz}_mz}_/aez}_E>V ޟW ޟW ?O{3g(2{3g?ޟW;'ўo>vvl-ޟW:$ggm{L?z}^їz}^{F0=oF0CҴ>?BCz}_ F$c\>Sz}_1ޟW->v{4akޟW8>yz}_ oz}_ >v{"F0<`?OޟW Oݝ 7z}_2ޟW {?OLOݝ#6ޟW;m6"gm1gO9 >"ޟWrO@i>ޟW ?OGٟ{>`g@?ckz}_0ޟW z}_6O%z}_6|gaz}^\F0B| Oz}_o|VoŸ+&>?O0>z}_c+O@> z}_`>=>?OEz}_ޟW O? ?O/2>@c->g>@ޟWEiz}_' O0#> O(z}_AGJJO'>@ke>>(>oz}_cz}_7z}_ʿO=>&>ޟWpz}_>_?OA W ObޟWbLޟW`sz}_? ?Oz}_O8ӍO;%>%>'OKԿz}_@ԁwUQz}_{ O ?O? ޟW,=z}_ణ`iz}_యd !>BޟW WޟW??O`Kz}_ z}_B>8ޟWGM>W/z}_ޟWWz}_i00o00G>?O: O:->OOz}_!G;@+z}_ؿójO;ޟWvO;O;wOЯi?OO=z}_@>Z!ޟW-_ @ޟW- @Gz}_8Gz}_8Sz}_8 O ?O?ޟW2ޟWWz}_A >!?OOGޟWޟW.'pOkz}_ +z}_  >4fO ?OWDUz}_4O ?OhhOOhޟWɀ+z}_Kz}_>HOv|+>@|az}_@(>DޟW?IOՅVՇ#_>!Mz}_Biz}_sz}_lޟWO Gz}_DUz}_,->",>"O@ K ޟWO $>$ޟW@ޟW O [>%ޟWޟWz}_KG(0>%Pmz}_Jgz}_J(z}_JPޟWޟW789>'AEz}_ Iz}_OB!ޟWOoI?&!?O @kz}_?RޟW2ޟW3->fޟWޟWK> ޟW9> wz}_ޟW O >*OޟW)>*ޟW z}_T_ #ޟWޟW0>jY?OO_PޟW5O~w>ޟWO~ޟWO Z?bOOs_O7OޟWh>Ez}_7ޟW8?0>pO/W ޟW8$B-ޟW9 O?OO@ z}_ O_ _z}_ O3C>r@=z}_>tޟW:GO?gD`1ޟWkyz _Efbـ(Q'0AηƷ z|t=B>i:^3Oקrɿޟ[O\4Lk|k|&kgMcU+ODO /<'oO_}q [[a<)8W@q %Qz|dčoo)7U!.>iž'U!^4 47U A9at?Qz|Jٝ<;y9dMoO??kO\4[[d(1_#+Λ7I^';z|d3ool_^3M#Pޟ3>e0yy9dMoO?* O\4P5vfal:BS?oY0HW71>išGU!s5g(>g<+NY7[Ḧ́;O\_ Fz3.>gY9O_|[[?P /sf$>B Q'ZBWz|d@w)G^4 @{{z|Ӆ4C^3h[|ΡO)5>< @oOgM- /OilnU:X`P5ޟ3E_/O"WQ^3E oO"Wz|uWC˯O"/O)5> 2rĿ"GOP ~ޟ4&Rkz|y&9< yz|>>kƗ_e:oQR#[:l>l>BQ'\ XQz|dF!k|kG\ ??.\_/O 5dޟ5K) _hΛ7F̀  D7!Ea%ΈZiuLo&ǟ->dޟ5Kz J kgMg ?(^9b_|\[[=uO >i¢wO34^3t?yy{>gMM>dޟ5&R=><Ɵ^xOooPd.u6) D7*^9b_|k|k?=<>iHק9a}<.g,.g/O)O`~Sz|ޟ34z|',I!>dޟ5Kuz'Pq[:^osfBA?J$CEa%8AX ;1>i)0^3ȡ;||buO)5>dޟ5KZ (Wtٿ8Ag@W%ŞO /_D uRB=O&z|v1.g!&82:"mLHt)O?O*y]Cz|ϑޟ3ҩ0Q=T>B"^3mz|ϖO3|a/t?rɿޟͷz|>>kƗ_ѭm @/6 1U?o`º/O // :'H!w?`D7?c?!ק2!Ӫ3G>i;zcK!|}z|ϖO3j^3S {^3z|ώYSZyaWYez|',IF`}7z|'/bƷc(C_1[:lfx2L?(v|',K?6-uLo&ǟyz|>>kƗ_[[؋(WQ6o3`EJIw> 2rĿJu5́]z|',I <>dޟ5KA6l/?(^9b_~FƷ~ ޟ4 Qz|t>g:ߗ^3&Rkz|y9GO3uWrɿޟp O\4oo3_9^K`lT31aoPO)5><O/)Uz|>W]O_͛c/[b',Hޟ@U 'o196?B`߷OOѓ4$^bӟB B f`Gz}7 6f O  Oez}__ ޟW$?">Y>C??;>@/?O-z}_ޟW< O5z}^Fyz}^Fy@m?g2{}gf2{Fy>vvўޟW;(4z}_#>}y΁ޟW:cOݝc?z}^찍+OޟWޟWJ @Cz}_$?B ?Oiz}^F0e!?CgH!BB+z}_kz}_ޟW<.>y?ޟW<{1HO H>H+>>oHޟW9Ez}_>0?O O ޟWޟWO ?z}_[z}_@#z}_?i>ޟWS΅1mz}_  -z}_b_h5z}_bO _@ޟWޟW;z}_dޟWO oC! ?O ޟWO ?OF%>/z}_4#OG?##?#>1O z}_haz}_h?Gz}_ޟW/>6{oz}_lYz}_ Oa7,/XOz}_z}_ ޟW?oz}_n?O OpO z}_nޟW OޟW>8 O O O#z}_pOޟW_0?oz}_ O>S?O ޟW;z}_ ">ޟWkz}_ Ez}_ O1z}_ ->hޟWAOq?z}_<%>ޟW WޟW{x)>XQz}_,>Xw?zO<O!>z}_ ޟW'L&0;>BOP(>A $#Ā6> ?$T=>$ĐēCDޟW"@ĐO#>0cz}_?O#?ЫяޟWZޟWO-Uz}_h.>?O-o DO @ ?OޟW˿O. ޟWz}_`0ޟW O_d2O$O kz}_O ?O$ޟWH > OIO/-> ޟWďOq?pOKޟW%>,wz}_XޟW OУ: OޟWAot?E>Oz}_Wz}_ޟW_Mz}_& C 0ޟWI? HO$ԟ?ODГz}_J ?O ޟWz}_J O$_OsޟW#K> O@D{Daz}_"O@Yz}_1>!g ?OAz}_h&>4 OMޟWV!ޟWOޟWw# ?O6>BHOޟWȿO_{ޟWW?4> ޟW>ޟW_qOSz}_』z}_=>?OޟWz}_{cc>_`[10,_`[:l 3af_Gz|d'XuZޱMO[k =aNX]<^3S {ޟ3X`,=QΞg>guz|=>gc?ċUH>gewBM?[Uz|̿oO+ǟ99ag| |Kņ ]pwx?nķ'/ooAN xV[:l6fCc>(;z|dk|k^]z|ӊ uU~47UgW9at?Qz|',XE>i y9d-߇79i,++9d-?ޟxOUykgMK͙+,JO /;Ya7?e_W9RHy9d-o}7z|'/VƷ>'bc}[:l3i -M22KX]g?8>gC^3~cz|X^3z|XK?>g,&,f15>g"@>gM"ޟ"}7z|',,ѕk|KKβ>>g*޷ķXؿ΃kyGoO!^c`}_^xOdM++!5[S[:mooة!Pf2cߗ)D'Ɛ0"1WXƐD 5,ȅ8Zs RU Og3geF0=oX=>`^ƀF7b6?Ț?oNpTGplO?OݜgՑk>v{8,ޟW;'ўo>vvl-ޟW:$ggm{L?z}^їz}^{F0=oF0CҴ>?BCz}_ F$c\>Sz}_1ޟW->v{4akޟW8>yz}_ oz}_qccO4>8_%>8/c]z}_p OOXO ޟWb{}{mޟW;h?z}^F^ya@XP-> ?Oݜ( z}_(_a@XP}1…_ƒ/`ޟW:> BgAdc ޟW{m?*_`_`wz}_7J?OQX%J`bX_z}_BСF0BXR9>>aH0>O XR?VޟWz}_)aHz}_)ޟW 7XTXT6>/z}^F ¢aT >aPz}_*aPaP?>GXT?O@>v{Y 0OIF :f`g%@9> 2rĿ|kdޟ5KGw@=u`6{Ȁ?°NX_,g t?O;oOD;XV3O\4Pw[:^o$͇Ǒ  o8Qz|d()/cUg1>i 2>i /OD;XV͒^xO%5/ v!kgKf  O /!EgcU6 uR 2>i /O°sE?XV#yNY7@><ǽhOi 3Ⰽz|ߔ^3`!gz|"7b"_O>)^3/OMx;+D+Mz|', ޟA'oO_| '66*HT3~^_NY7@><WXy.}7z|` c sͭDOѦRZ<[X_lBsͭ""?6#Hkz1? -akz1?Z:t8z~̈́V4s~mo?O0Oz~̀q Yk~Ab ޟ'K"h{ӬZs oX&oX& ?OݝўegjOݝ5ޟW;6Fy#<ޟW;h[Oݝgg>ޟW_g>g@`Oݝ 11>vvXFO ?OgOiO`> X&`ޟW> 7z}_> ſ=Or`X'.> ̿Oݞȑ,5z}^4`x?O`q?aw{1HOʿOݝ#gX/b5_f`Iz}_F` >#Oݜ$cޟW Oݜz}_o` ?OݜcޟW;n#6X)ޟW9Ez}_UޟWIOOo``/T!F0@T ޟWB'T"ޟW@gz}_?`#ޟW:ѥi`K> gd`1ޟW荭y'T/荭6o o&)ga%tI_: z| +暃n߂AOX_/Olmz|y?X*>guN O;Ep8>gMLO\4ooš1)/6o6d1OX‹',K&ƷuU^4YVE,.g/O&><WXO^юNcHkk~Eb'K"hޜi3)_7 OݝQs>v{!Fyz}^3̳z}^ege3gD?z}^=o>vvQiGz}_Oݜ2Oݝ1>vt(ޟW;aV>0>/ hҡ{X `B!ޟW=F0<X/aigc >ޟW Bgic ">gicz}_-W{}OMz}^!F0i"gi4^>@iz}^+OޟW;QޟW([ Qb&f &_NX_Pw(>gMLǟ"G}7z|'/Z}X$* Ln1YOdM{Ӝ-95 ޟW;(k>vvP<>vvl,ޟW:$ggm{L?z}^їz}^{F0=oF0CҴ(Qz}^F iZ{qbPXbPOݞ#ZB?O@XK>vsQޟW/~>Λ70D X> 2rĿ0AuLo`z|y<[z|>>kƗ_UZRBdƄ7~NY70D><&>>dޟ5Ț?'$9ӑQ9vtH33geOϣ/=o#gB`z{`Oݝi`F:> 7z}_KX{٤c [X+ޟW;'ьoX+ޟW`5z}^F0egecmz}_3O O(4>>v{"FOݝHcO bAɎƹ/[B',z|>>k oͭ B/2t& 8Zs@T?oXX)>vtQs>vt #<>vvFyOݝ(5ޟW;gў?ޟW;6Fy#<ޟW;h[Oݝgg>ޟW_g>g@`Oݝ 11>vvXFO ?ObgO?Oݝ >&XX Oݞ#2X O!z}_L_gh>&Bcw׿OX_( z}_t"ޟW;M4->!>vv4aȿOڲ1LޟW`>X_@`x'X+> {1Oyz}^F0>X`ޟWޟWX- ?OKz}_p> Fj`3>vt> A{D``"ޟW:Qz}_V>vt-#! z}^OJ`$OOݝ $iPz}_( z}_/`-> >Ɵgq 4=z}_d?Opp0OF79lsܣ[:lc6N'0ޟ9b_|ŭ7\ <z| jOp0f8SA4ζ1'Tޟ3(g*>g͇aSwlכoOpy9d%//Oiͫ>if?`6 ^4?b MAwO3gÛy9d%/Iz|>>kƗ_A[[3|, c&0foȚ?' P*p/ޟW;Hs>vv>,ޟW;-vvўޟW;(4z}_#>}y΁ޟW:cOݝc?z}^찍+OޟWޟW;-#?z}_/cX^ޟW >vvQ#2fQ,^?O> z}_O OX/`X/xޟWgh1MޟW>vvF0i ">ޟW;vF0m` OݝѥB z}^FOLkz}^#>_yz޵/Ճo GN/X> 2rĿ[[CZߗ^4t?^3Dbvv\Fy@#<ޟW;h[Oݝgg>ޟW_g>g@`Oݝ 11>vvXFO ?Oz}_`>0 ޟWOݝ(ޟW >% 1z}_Piz}^>afOOZO@;z}_ZO/z}_x+><ޟW;MJǏޟWIz}_xТFz}_^+-(Λ7,gX NjO /ƷƷ:?rʞbPQz|',`*>< OD~qt,RBd7~_ND^i"2"?p1^@ _[:mo xX$* Lgs~^f1k~/D't&% [8k_'[o +_'[:mo?RBdPW+D't&;Ӝ-91?9ooXF _0[:moRBdP#fo ,ŀYzs?&&po/[_dl鵼X ?RBdƀ7~!?4+Ӝ-90BN8&IΛ[ŀ8|}6rUl鵼X}6vWyFt,?o /kgMs5_l鵼XFt,?o /l鵼XRBd1oĿB1WR;@7_ߑ1"1Wi ~moȿUl+"1W"lߛ[/#:YG!zs?'`k l3c oͭ,ŀ9ӟgL o|kyz__kx_o 6 l鵼X/7_kx_o }l鵼X/7kgM Ye"kgM X/[ŀ[:^%`,_"NtoKX$* Lho" ^#< Q T@?`oIŹ< _^ O,*|tkyX7 uDxWnO4Vo6/Ł-UQ Nu`o\-!R;񈓭'BPv1u,Nu#e?otPwBF[ŔƝ:ke?o9kDp'Oy_y /*_[ͭ#(/'‹Dp'I_mo/[?3'|R ޸OZE~!$G rtDW4kyzߋQUK"үhkzOji]"8[![_b`B[GAy<߮.$G "fLkz͊?4 p$G rrR}|Tw[_b'-u*Gu޸&b-M"y\Iŀ|Do/[?ŀ|Do6GAy<߮"8[ +XkyzGAy<߮~-XkL>XkL>kzGAy<߮"8[8_=ytlQ婤P^O7뀭"8[%[_b`K[{͊?4 q"8["uoF(UN[(b-M"y\3$G q|V$yzߋQ,IkzO6((/'o5}@~/1GM_P ypb-M"y\6$G \PDC~/1G"o6GAy<߮^##kyzߋQR(ʿأSHoDpp~g5޸+b-M"y\-q^#1_[ͭji巤o/[_bb-M"y]5"8[u$kyzߋQ| mo\͊?4 pYzH /p[_bi| mo]?jiDp'2^#<)6kzGAy<߮nOpK1z zmo\:b-M"y^Dp'N_uuoF(tI/W[ͭGAy<߮^#N%*Q޸ZE~IܞXAƷO,pE [ͭji$G ryD)/ ^#<ʢ҄o66((/'?zHO,JZ$kyzߋQO,JZ$kypGAy<߮&^#:RuoF(t7$ypZE~ޒ#/o/[?˂N[6((/'3wnO4 M^#<6\"kyzأSHo[Dp'U_!kyzߋQ꣖U2-o6b-M"y#"$G rx'RصoF(x'RصFCZE~FGzHO,KkyzߋQO,Kky&b-M"y#nO$&P`|[_b'h(0NZI0͊?4 ޒ#8u%n-è$T/qn[jiDp}ANo6lQ婤P^O7am"8[R:kyzߋQmo#GAy<ߑ/I yzߋQ/[ͭ`%ZE~F1$G \[_b| FlQ婤P^O7mޒ#+:S~/1Gb:mo#c͊?4 "8[ _Ӻ^#;3lQ婤P^O7`)zH1J'_RoF(s~Emo#w͊?4 ezHe2HoF(pY2g$mo#_6((/'2Dp'JRyzߋQT_o6أSHoKDp'yf]~@{~/1G[_bBQ1jiyzHF(_o/[? 0b-M"y#oI…"6aB[ͭtGAy<ߑ"8[S z__.*)/ky>b-M"y#o`}Ao/[?:mo#6((/'0czHFD񈉭1ji"8[ /LoF(#E񉖷[6(#˜i bXa.~EO˥KFT(юM7bdQ;(}D L"Dž3\i bSwR0w;+-ĝPN];Ԙ(SA4ژ[漣i1'},i&SwLh߅4M倶9Tx;゙4G>留:u#w}0grycL>0'x,0J9rxe0 b~(G9<*ȚZ$9<8*#u#l :ŝib̝$rq98Ĝc4[hbBSKS>Z$ȢITĝI>NN1''I$bEG04BX™Ó;.NZ$,Rf2O;+rq98ĜbNN1XF-]s SHX1M!ajKTĝI9<8*#u#l :ŝ'lř;;(y M -''I$rq1m#bBi TĜbZ$Tĝ< NZ$稜8߅4M;e7Ԗ8gTĝ餚|LIK,qhӔ$ ar1'},)b,NZ$稜8M$Ӕ$ 9D*yxK"ߑD*E4s1iĝPN];+-La41F,0P'}S?"'.@Yl"RȢt::EO gcLӖjN$IeP'Swө0Q;iu1'|9M$bNYcM>N$™Lѿ h&'-r3N(U,'KX4>O4sS bE9R1rgbT1JڨbTr[O<<O<9R1JXCNcĤ4y9R?BFIMOSVX\w}"#')GUWYZqz~&+JQ[]^j{T q3H6xe TS +?h>_D.[T|"S g)Y1LV19X686POX_Ȃ*E?a6PEK/]2]79*D&Xb,0-P߀crX`DYU8?0:&Vo2L LHbd!gQk? ԟ#(sL/2g 2 xr,9 Ff!5W(MBs @8a9>G9fESNi&pd3!9q@8a9>G9fNy91 Ffg80Ƀ8;IqTH򉋞4ssYfijOEBsr]dBlAB5"H2) UC" W p_ɇ&M;qF(]pX5#ri3Ng@t '3ƙ@N$8BQ8kAeOWQӿ90Dɧ.(]pX5#ry2p<'W N. 1DHԉ#tsjGĚgL;}$p ԉ&!‘ zYItT\46T1F''+(seA:ldBpApaG5"H|'UUJl_ ԉ DHB"9|0qe&$ NnjVj qCWjM_M_W_" $g)9#5ӿjsEB\(²s<\U p&P%2.8 '!:Qr\55K+5Q9bOJ5G.ꚿ9bOj^効<jTzS*yGOjꚿ9bOpG9>Fj9(½SWr\5)(^y9bO;#zD0'4Ȝ+Lx~^rx<77$%Ny9D]4baG8Wjk9bOV7IKSNi8WM%H(',UWGg,U}9>Fj =iTxސ7Ng3S)G''_ڧ)ҀwcT抅o*\)x}5Ma '3Iù9*xG;J$;#Li..L.ꚿLi..n^'< \F\fnꚿ!e$dӖ*Q<20#*@)L8 02br|½RK9>G9?p@~Q¿ߞcLz ]9U;J(J |B2NOXDߩad{xQi92 BD7W Ɋ0 ''+(_#A܀(X ]pX5y1G<!@'4ɇ*p 0>0+1T$9>Fr|.|dn ''ǠP{8.!p~/:QQ8.^1p~/:QA1_o`4s |sLz ]9U;J(W[Qr|w9昺rAx22< '(sMy%瓚b@FzsLwɔ3S*D8MeSNiTeL抃`vw<NX=)r"+w<NX=υaqF_瓚bظ|;sL]9bs<7rH|_瓚bn@,o¿4TW氁wgSNi8Wk L=p9 NA`D+¿Ð<.p 2 8&+<5D!}Ny9*x<+kE 0 |B8@r|rJ'H<#p%@rr|r̪q0r4r @#pT2#p +r|wڧGSLiSeNEF.A`np~QnGyȄcz"R$DjD:O9j JiȄ؂ jDd"R$ D1e&@_DLwI8kGg.&2Nc2cLz~TQ%*OE ]pX5 Ɋ0'+(iɜTz"dӿ|spw`̎¿( \62!8 0# z#R$'yͪF+#÷<;s|98D?AHjB )zXlj¿5&$y6 S l%𚿤?sL];3sL½SW&4Ȝ+&rpE#WjQ;1\4&r(NON]SNib|3XqpoQ0.+wJ0F ''+ \<2!8 0ԉ#tuMꋰ>[F)~dyҽ,=Ȅ؂ U9P(~&qġ1X7H8W~jAG8W毉TN?JN19TCĪ :̘!(wġbUPyĪ wĪT*T@t '<Ґu;UFb7 ?JPᘔa nu9tQ & F': 0p bs"pTVgɧ!cL,qk<uqx2&4—g!cL½RZM<acYF'<ӫNy1S<1D^GɃ2ΒcL½RN?d#ƘR8yB19cL½R?OB19ƘXx2&4Dd#Li.?B19zM<acYF'<ӫNy1RANy9D^GWDQ%A:PȄK8|'U_6c#<0 >R!ƯƦzCQPj"s8WY˧3N cYMD71F 1_ӿy᱑ 9O XI)wdBlAfᱫq@w\Wә'1&q!_ӿy᱑ 9O ]$#Ȅ؂ jDUr` $^?6Sf@Ot~r|ºi(!q(dpT?'q/5| l~LR3W sɧ`2nIG|FA5|w % ''_ |>&8 C7 餣3@f@P)(e 9N@9.pQF(g'+"'T\c$q>wΓΪ؞J̈M FI5W!Ǡe&&y~jQ;(Pr|k;bs1w"@<#5&5J0ONP19Ƙr̪s/"b|0sUp¿5p+_'((Gӓf'H19ƙҌ2eq{~w;s=#&R`K9>FjM;5Ny9$as9&4;BedO9>FWW5+qGar|x>0Ӭ 2'0Y2}¼)5+wjf'H19ƝgHQ''2y9>FWWF;s=#&Ra#5&X~wSjy~j5k9Rdp14ꋧ* 1R dFu? 0<*r07( wì\dp14@ljPNgNb#I"U<R19QG8WNgNaIäV\AjQ;DyT:LO=!֝23W_ʧwyIäHQ9( \<2!8 0Oq3$0hz4ӼD^|jdN|ӿLiNO@19ƛNSI116 bs1txn^lpi qHBw6Qr|wjsLwb"p@LryfLXG"tF)~dȄ؂ jDd"R$ D1bItNi.H(#cMg )ˠ ]4a*#Ng8 lW_dS1 ':j= \62!8 0# z#R$'yͪ!-g~h>R!+Wb paG4;bÏM FIB%"A|0zXjLzj `w}SNi^lIG8W5S9\+X}'2q9_1Fpԍ(k;֧<|wy@ސ5Fjk;cQ?ʜ pp M.O)(g9>Gy\>V }2bӓnGNgP7@NMSNiSeS3Jd09>F_yA:dBpApaǢ%"@FIO8qL -g?2!6 GƯ.?>FFWy.aFP`W#Ni?Ny1D]4j?c 9D]4j## Cbs\}`bsd"pJ5HrsLºi(_J03ff19O>xNgɌ Cx:ϓ%dBlAB5"H2)H f! @M_! &d!(@! f!j#@>_B?p#5|8L%e ȯ! #Ni3! .?8?Ɋ02+wBQ! cNi;!,oH wDq'4֝oHӾB$ Ny9.̄Hq? 1;"H瓚bD GF6_'sTZwNfɍ+Ȇ _!|C&(^XސA1 Oaxr|.|6r D%#pJ5Cy!3ɜa`c9>Fj9r18BVNiM2z2p N9>jQ2r|x@!X8  yZ?+8}2b,'+ӾB!fB!8? 0OBg|NdX*pb7HOdr|x@!X3p@~Vp dX%#pJ<7!'<|zzޑ"'J9>0(ɄI8k 2bNOWM%D_yꐄS" =3%D DqH=G<2lEȠHѥO2!6 !$@GFtUr`abI!̄#")B Db/71#!NiE &4*pj7'r}WAFd]pX5dr|ºi(͝qJ4 +s23 +wB1!F'1(OW_@!LQtQ9p&p~BVQbr|m; bp+eND! '>\R- 2]~Qp@~Vp dnIGi!.N fi!9V=4ʜꃡ l\b-O# 8  yZ?+8}2bOWM%CM>P=SP|7 'JU NOW_@!LQnIG8WA:!ȄL cz"R$DjD:O9_6qd $q=4ibaHj]9bW9O>]Szӿy~jM;1T+^wIJ<9OmKbbw=Wb"tk;uNjυ3T9ƯD_NLU םjeR paG4bئza∥z4 ԉ&!™ǠeƯ +WhGbp52Ppj I'4ӿ1'4Ȝ+5I;JcLºi(g'TQ pTwb2Wi' LQfӿT瓚b(͌''.(3:ӈ3}bد(I7 'W N. 9Ǣ5"H|'Sj3ѦgG"t'dϥ"b|0T檉CWġ w'`1 _U@_%Q;Ps1*(8瓚eS%32Nc2cLT@t 323da"Rr SWĪ'|Jf%Pe'cJAT+)CbRɆz*sLºi(` bs \' F'9ɍ2' +("!( D'YPǠe=qRj *9- j$8 | ,2n_- jd5A[@8 j %8W,5g'e99>Fj$$^*r}RNOP1_KyAFOOeSf.8  &pET;2r|_J;NOWQg oHWZiYN bKc7' ɜUETz\Y(@fW49NYN bI2gBr3*FQO9>F^F@R*_<8nNYN bKc‡ ɜUb.#p`''+(t$S89 WŒ)b8\T=(Ϟ#@.LbF(ρ9yEG(^B FpFR)NMSM>NYN bI3cT3*VQ*#p\ngg3Ă`jM;5Ny4P zQ # p N.O@Qp+LQn!k9>F^Fl?H̀ӘzY8  @#+18UF|m9>FV ltwo+Gaʀ*́Ak7 f(T!N#fL F@RW49#&ʜzBP*+16 ܟUh ''W_@T2bf '+(3AFHNMSM>T=l^pސ@Я@r}W68`܃&(dn"c1TzdD}NdƘS;Kr SW_.ꚿĉcM *p0ސ_+16bJ6AXsL$N$OBQ wo+Gaʀ*́Ad?9>FQ&ʜ7@)+16?#\>V ~q'1FJO9>G;J'^q nL돫lfr|w]J0>ĂT#;J( U" WHJǢ"8DHԉ#tq)J#2 ƒ/̈M FI5W!c25.53 ENy9];tzI AGQr|wjis)(7 餣NgB.$y1$*sɍ)WBQD'z#R$'y8# SdBlAfᱫq@y*s0wg'_ɧ&'3J=yNg@_Ns<pD*sɍ)QSLi8WtQ%A:ldBpApaG<8uȄ؂ )ƪᱩYj#eӿәW88keA:A L8;IĪ9Ē(&2!6 GƯ&yU9S8WOr|b19y~Q<#p&p5㜟# wg'I$2b4.TFPpwTXj5pT?*p@ɜ+'fDGN\dBpApa'yjXziAH JDd R#PysUr!釠e‰]T$#Ի&|皏q5 @)5(r}SS r<B5I2' M_̂\~!OP "pTHX)A'4Ȝ+55 rrS<'"5 %93Wʆd1# ǠM8 !`PWbl%>%OoHESp?@򸼬 }2bb97 餣&Sj4’;# }Ny9NYN :r 2r|½RLCNig eAaB cWTQ+#(󳿎B=W86ƮMIGQ,9y#z@4>+wji?ʜꑍ B+?ri9>Gy\>V ~q&((OWQTNL`B 2a!2_Ƴjs2?ʜ1_-\AGS98 +8ӀW&r g'+( LyHx k9#z@0r|/)jDp3&Dɧr|.| \#z@R655&"pJ2瓚k89?X((Oz@R2&4֝~Wss<@$_I1T=SZj5kSM>BQ#<'4) ͚xJʧ<ӿANi^GD_t;G9昇9R_ /\>_YH< T2@C8Vf8j5(t5)jDp3&әW@'F􁱙wNy4 GCy瓚k89>ސXgt?)sL)r19ӿX)&^z@_'pҌspw`܃&(s9>G;AGy#=P~\"A z R#DJDH8;I8%WHIK1̈M!‘ \6pr`-#5&bs29ɜr`_y᱑ 9OqD@H^MqdBlAfᱫq@Nk;pdNIGy*sɌ. N j gA49M$ƙtQ3ƦyLN dP a& Dy1"ɫT瓙 g2\9( \62!8 0#t|<89x8"b|0ӿNi;m<59Li NN I4tFH#NOyD'0|'U_D1*x#~hM!|jPjNdA9>FQ\dÉt}U_I bID&aH\2p_ƥA;yNy9g28Lf 52 3Ma&1yPxB w&p&#<'1A1W;b)gސ7_ɧ&i&4Ȝ+ 3Ƴ@_Ƴ&xn_LA;o<&s9A19Ɣ;ԣJwΓϛW;LIb"b2MUC&2M_&3âb(EÓW C)bs6M>!Pv ٫ԣ'瓚aNgb lqVfAՈ0B3WiɪssAFAtQc9s1"3XIƳP&Y'3Ɍdfjsɍ)wq1 ʠ D7Hܘ ,ʇR489LQ#pJG<jU;s<p;<x8tL@dpLiSV_LA;\Ng氓ss&(+T1Ss0s '+IGQ9?2\9( " qH=G<a'@q2!6 D3UpHj j'H#55i&4Ȝ+^w}7IWiƥsy᱑ 9OZHO$/$N/#$_dBlAB5"I|0A WCS2& ~jLj55(qr46c pd Cpy`4+F$+8L?V _B95|MMaTLF.DWd!㒌\xC㒌\Jpb%NOS9R1 cL)ĉ ˓eC9>Fj T Ny1RQ~Qi.?J0>3fg|r`}3WCy! ʠtd*Mau¿(#5|s;#'\d&OwG.OAF.L%sBVU 3!55)(?9>F_yꐘ\ԉ#tuN+2 SdBlAfᱫqGNYFӿO4eOA9\Q+pJ<'W N. 1|'U_٤}4铼;}!_|0C5.( 0rjM;4}NSI9M;4|yqù1xwg M_ɧ&i&4 y G80#t}UQ(铽Wb̈M FIB%"A|0~=,259DL:5ԁ5|>153\+XIg15wGrI2' 餣Tz"f3 +ENSI1D]4j?4s9@jM;4R$g1pdzDq=NSI1D]4xKsG;5Ny1BQ%?q1@s>y : 1zL@e'ƙzә&yL9$ѩ9r SX~w& 1:&̎ɧ3SFGsTd#zi.< 3:~e&yé2ܘ 3:~e&yéw&"1p~Aks&s7SNg8WM%Y b ɪs(wxwΓϐ+ꄬ)IhȄ؂ )UcWS=!GNYWiɧrI2ɧ .@aA:cMiɧ>9BjM;4}NSI1 ºi( \62!8 0#t|ڿتa∞;÷EC&&ᩞws=K&L6rr oHcLºi(RYơ199D]4j9ƮAj5jjPQC< DNy91jYơQNOR"5 9D]4j95ztr73Ԛ\Tk9¿5 jjPQCR!Ư,Q '_ɧ&cL¿('3ɍL~k 1Y& &5s<b)ɊF^QwgqpoN"p\qpFj8L6FfOfXRf7LFod n! &ސʜcL)pb NOWjTj9( 59Ƈ'7τoH 4aKQF(NOWj9(N ysSsLHD:d%z"aBQ99>Gy\>V |ܜYNg86\d1#pTwgqpoN"p\qpFj8L6FfOfXRf7LFod n! &ސ6b)8 hzNꚿJ3ad᳐jӿ<ސtƯ!Ry FEȊ2 ''_N kd@#51\3' 65I84qr ''3'FD''ISLibpC9>G89!9:FD 7z''+φp'$!v |oH'i&4—z% Y7 M_ʍ_%g.̀#D|G Gc9ddpNis>B.pn & cL)pa0NOWjTj9s>ìq2@7iCzBK9s>C9 #"τ̃Y\Fr|ۃoH 9M$ƘR/V&'+5*5xr̩hp6r ~r|½SWWGy GN9'4CSz@@ T瓚k8WM&!yᱫSQ%A:" A@G$q>wΓpڿ%0I4jDc D3WS=! ~'QSLgCuGdS{Sr i5Q;sjN<ΐ_y G80#t|a4H?2!6 D3UpHj j'I8r|P7F Ny1 _ƥQ9pD _ƥA;cq_&BgF/2!6 !$\>R WjgQ sW{;K5'eK9>Fj a19ɍ5Li*p Ad#pJ5Mg3~󿄷 򂌄SepR& &s<8W|' a19@%x3'4™Ny1D^@(9ә-¿yAFB3u9dFBNy4U9fU8ɜ&(tQxKp~j' nAj a19Ɣg3x?NqWꃢfYƵ9M$ƙtQ7!4R'& FGtQSyȄc$q>wΓΩS$P'|wI D3W _ɧ&i'4ɧ&.28w&4֝x2L 49M$Ɣ!(q>wΓO1l>TqHލ+D&d#R$! !‘ W A4.OQ3WZi' 餣A;n:iTdNIG6T=3PNO ]pXnAj"r|wg W`!rF&Oy GwGyD'X@G$q>wΓqURY$P''i"HjOEBsr]Q#bR[3MA>G9S #Cq1>G9S #CqdjOEBsr\fijOEBsr\fiF_9N@d'8 ' ;fxjOEBsr\fi5'"r!9q9.34MI9ȾrNpAN@w"^0//g?b?1ˀ! B[!Il9\A09$Ƙ; N9p9Ò0棐RLL$ r<'4! / M@! 80/$ }DZu!&pm뀆$L9#j9I1vAȜrr $aG )&4llL9#j9I9! 9 9Ñ9!ÐLL$ r<'4!"Q!L ӕr`LiH8;&Nif34R|r/ 2Gȇ3L?5'"r!9q9.34>G9S #Cq?5'"r!9q9.34>G9S #CsSK4T<v19)v0ޚBI80'7 q>u¿OpTq>w":MV&i JI9ȾrNpAN@w"0tjOEBsr\fiR|r/ 2Gȇ3Ls|98D?`ԟ#) !_9N@d'8 ' ;fA5'"r!9q9.34>G9S #CqI9ȾrNpAN@w"0jOEBsr\fiSR|r/ 2Gȇ3L#s|98D?b)>G9S #CqMI9ȾrNpAN@w"0jOEBsr\fiR|r/ 2Gȇ3LG5'"r!9q9.34ăR|r/ 2Gȇ3EsR|r/ 2Gȇ *7pE`>ྤ>g@|*MRoE!t9O`24΀l|s6tsR 3>g81>@N*@V024΀@>9T#LX| 1-Dg@|bjdi ':f(C"0 2a +9/#2 HKBLiYY  d!Ayd@r^cL1FD7W(p~r: .' 3JP?824ΏH|_J9ȃ#L(?X24΂(B:>"ŃId 3di |ET#LX}\JNm67&Mq4Iᙢ_9N@d'8 ' ;fs|98D?ÿ*&g͌!WpkM$A80’p#$j&fzl9@ARA.:Ni`Zzl9 Ԅ U!#T j&d>3`]8&Γe Gpa TpM'< Q6t r!UHHAZ!0. DfzH8:]PIO@T/G#K4PG9S #CqI>G9S #CqQ>G9S #Cqs|98D?*ѩ>G9S #CqƤ_9N@d'8 ' ;fMI9ȾrNpAN@w")5'"r!9q9.2!6 !$\>2Trj!L35µsW͔Wj˅~jw3sL)B 7pcEI|Niw9SL69pDɜ@Q|WxU9bSg\2gBQNOpwT4b+>_f©6M9!G9ƙ~Q|0Sސ53WӾp6cL]9xL!FBS   ^toH#+w~19S;?SLQ (98TLQNOs0B?:FDI98j 0͕ 8sC'4;?Rce&j"dʊ3bҿ_8TQT劕N")F69p@ɜ36TQNOpwT4b+>_xDCNisl5It抈N8}¿( s0B?pTp^toHE9>FjwLi4TBp 8}¿(*󁳃yҌ%+w~19S;?SLQQsp< AT <)Q ¼؇WBQC" C8FIOq_8A!űMD&aHj'.Hu9D7nW49ӿJ<)x>s=$יB.gy᱑ 9O I?2!6 !$@GFt ^OLljBaJW&!:5v \؆M&@ LN yX}?'46Fl7+68 'ȆH q<g's+:sECX-+= 9 S[x;'4TrQ's+p抸QK9>GSCy19J3`r|urj 昒L heQ>Nie"Ny9Ngfx~5CÂBPΐ=)Ǣ%"@FIO!2+@C9>GSWX/sL>5 g`LgH3+yF%3+ή5pU8FLUƳtd oM!O+3R!gWsE\HNO瓚a&r R` yYa9ji @bNy1l~fg 1rG"8DHԉ#ꙙ᳃ rH=)5"H|_@Ni0(@ #&4Hސ@Ny.cJCw c<8 zƔ N^ԃ)Pfg 1_!oM% !9>FjMG a43u9攚yP#FȄ؂ jDi!‘Lj e&&928%E*(52a n: 2G e3urjNi2 o9>GS_d.ꙙ 2<8 DjD .pa!z#R$'y Q2<:RD"b2J? 5W!fy3y0ސ7CS!NiUɜ3ɜeP7 Ї+<1oHӓu9BsLw"Hg's$$DzD"#pkP7Ig's+'4fxl!z#R$'θWfxl!z#R$'y7dxi$s ԉ DHB"823%+_O=!$ \T>R?p&5W&@'#s&4MUɆu9抓NM_!|ϪL 0Br AY_o#F('sL P( g'sL(r|>rT:?sLy_ `2c>b/2dG:GSfmT19M;L&L5pE (aN{z昸.pa!z#R$'θWfys 9#$q>wΓΩY2<M$iF SAHV =I_!‘ &p&59tjMUɜ3ɜ;@ސsN 's 2u9M\I5(p~X7Hs+'4fxl!z#R$'θWfxl!z#R$'y7r#dy$rdiȄ؂ jDi!‘ j7:@NiJj7 r|iSNi;oHrr|=½RsL\fg 1rG5"H|~fg 1rG5"H|'S2<4HC'AH JD_c+_rpMUC rONh4oH?SNh\oH:!'4\o9>GSDE#ޑ 's0GA8?T%p~Y_cQ '#'4Gp qq9eG"8O瓚e.N{K'4`7GSu9.m@oHO9>GS^9 2`<8 DJDH8:_ 2`<8 DJDH8:7A_ {"8!'4 y͛P#D($I"b2AHV {`KO UC"_TQ&du9抄 # &!'4ToH NO瓚*%Ȇ+#36|*cG'8"WFl:K*R `Wޑ *s\\Nh$N|P%’sEHP+oHU9.t 7 @~r|=%¢sLE#ސ5u9.1'4 *#363'48?\pE!X!#π#98z@NO4p~7 A5N{JDL'sU\'4ڀ#ސ4: I0 c<8 DJDH8:_᳃ rH=GFz@,Ny9!oM'ٿ͎q92<4HfjOEBsr\fhq>G9S #Cq I9ȾrNpAN@w"ԟ#) !S#R|r/ 2Gȇ3Eg5'"r!9q9.34T:5'"r!9q9.34UI>G9S #Cqԟ#) !Ȅ؂ jD ^!|NiN ͐瓚cP$#ސ '0rG5"H|d3ffyC 9#$q>tz#ac q>wΓΪa9jxRHy$rdïM FI2xjB )晔sɍ0p_aTt ''0rG5"H|ސt'0rG5"H|ސ#59攈Czi dÉtuUx<)^G$Q=C? 3p|&eJ9"D<24Δf:M S•rE$~Y2!6 !$@GFtD_2x %"zBI|0~j#a+'4YuUu c<,|4#WXA^1k>fH:D.O="-Au33˜eaxpAGtH=)5"H|[z@8ffys 9#zBHBPΐ=)@ސ$4L. M@6 <2$ޚCa艆 ectq1구Z#(NXA7Kᑦt6|&byDHȄ؂ jD_|0NIWĤggz@ 'Ny9D7"y8?33RY&C&3V0vޑ$ӫ8"Ȍ&Ǿ!AF Rʆlspbs:*F6Rf˂&LloH_8TQT劕N")F69p@ɜ36T7 fr|Sp)NXCx; '#q昆7+= 9 HWN{晐ސNOP5'4OQ@sLoH L \>wgsMy('>]4 9#z"R$DjD<ۅtfg 3P<8 HER0<WM#&DmK ԃ`琏D :x=. 3SRO{B=0z#j\+_8;I8q_T"zD',Ff3R|r/ 2Gȇ"b2MUC@PjvjflVj M_69`2!'4cL]9bcPw̓ 8瓚b@71SLi,TBr|J!|B5Jg|=pNL\ʆ O9>G;瓚u`sEJlr8 *+aGS*U8lq&pPސ4Ol>aNSI1.Q 0= (};'4g|;sL)`s3aL7Gy3Ɇs*!9>pCzI6'<;;投N _6xrJ36J3`E9>Fjw͇9M$ƘrD''(GS\1oH#¿s+p'4ԍ 7+= bsNa N{'4q +urj} b80&4#z@>:ɉ3fx~5CÂ@G$q>u6]4 9&g4Tºi33rMHvmy@á荩p\fx|'P+ wfcR|r/ 2Gȇ3EDSR|r/ 2Gȇ3EBA>G9S #Cw#UGɆ YX%ldfXQ QHi#,Q1t? 8G1,:2Tby[astX?{9sɆ 6V:vY 'fa,8 f2H D2h%RFYCSmK,euθ3tXf롽Ji%|/¹nt+QrW( ЮQG,L4$JK|CM),M4?7;4ҒGoy2w?1wq&I?ᑄDPFxv!I: ?W^[e߼E;xno5k]x._-0Ki;'dGeQ(NO!؇q&g( ƁKM HLt8~SvS YQ$%xƙy4iɓt#'QCLu3bQ0cPB XuKQHi#,$C .vKNu;f@NϠu:DXusl:\2RL[sEqR*WBuН(xv C -C(PIQtGb1YLZtvC:F!ȎZ2y1vHO$"Ps\LA\ 7sa3\Hvd_TF A1oƒ(IE( ЮQ&Ѱtv !:2yOyqtf.%O4GS''N$D(Ps\LA\ 7sa3\HvddBq$sD1QHtLa"h:J(@W-΅rA0 p΍Cus'0I ;,vbʢ(#GP9Dui"ЮQF( ЮQ&Ѱtv !:uSebyFf3 Fi#,'J3$ S#,!E%N'UN'yQ͋]ˮM4M4M4M4M4M4M4M4M4KM4OU(18%M>8;lN A4O/_h4O)?Vi_M?_M4M4%[€P}M4ヾ VSM4NM4M4M4M4M4M?_ɩ;SM4SM4SM4SM4SM4SM4SM4SM4SM4//i|@y(>ibpJKM4M4iզi4O"ii*iJ'iiG?馚iiii;SM4w&_oGQf7F C#տ1*$_a32yIt: _Cud%}'?H@1Y_(y$h4P"h I( 0KgF/ئy$i(Cg<)IP#Ҙ$5 "1)IP#Ҙ$5 "1)IP#Ҙ$5 "1)IP#Ҙ$5 "1)IP#Ҙ$5 "1)IP#Nx8Eʞߚ/IƕBh9eOo0f4žX)c~30Adip`K,_ Ey!y"x ƒ.HO$/3ɢ1(  I@H^O#$_i$O!ЮH%iM*8zdFؿGJ);÷Ee[;2tR'LZuЮG2Ѵ'iƙAeHJ(ƏLcIDvbA2yBESF$F7;$P'$O;K+ ? ơԦ &BHnui";sStb 9IuDqً:dM\vdCD ?ɓu"x Σ$GBjvi-:kؤibpJ|' /4G馚9M4M?/i%ii*iJ'ip/i?iiiiiMM4iiiiiiiii}4M4o N A4O%[P}M4_iiSM4~4O?馚}QM4M> V<SM4U8%M?_M??WQM4M4M4M4M4i7 U|)R8~@E4O )U@~m| 8 _eB2R"M4p]B. 0 Gb9 [ ?' ơԜr?b8 ?1)$h aHh9hR_`1~4) A$RO|S{cwB$A7b4' M`lT9 G2bha70c@p8 IPr$CjC#1l4 b b8d6xhP '^* C!=*x fd|@,$?7a%'K ,$:XI`~o$ K| NXItH@,$?7a%haPb<10kBrqBdUIK GN4PM$x)~dHѥO2 QAd6KG D-hf|$R b)L~dH%N;K`IKBf :_ aJVG+ fya-g(WJl\ $q=4ib.}4)"x8Lbbw=Wbpc&N`Z\u,IS<xW-Φ},GcITL<ylS<<y2xbLX+dN$:W+dN$:W+C##I"y:(+C##I"y:(g Ha,H3$ A3ѦgG"tK4FئzYz5#:WM? 2~[@Y#N9xhNO`i"Υ}"D :X<)IElS=hyar'JryfLXئz4L7Ɛx9zYz5lS<\Y>'ȝ+Ѧg2ئycH8;lN A4O/_M??WQM4M4M4M4M4i54E4E4E4E4E4E4E4E4O"ii*iJ'iMM?hZiM4//i|@y(>ibpJ馚~iiiii54OWee|PB_ VT \+X|+|: /WTd/A!|+P@|*+P:_ RTW²%u}pJ$Cb3b:W/$JPc !űLKGgY%+a 5]K #I ѱWH t;, df2D;!űLKN?U#,!E%NsJh ͆~!PxB jW aIO,EXLO MdFy?3?4E$J@s$|1K4"4D<3ߍ'M3ИHѧM$NXbH b"HBGo/Wi_EM?;6Ei 9i_7[馚?AM4 i}'+yM4eXM?PM?_4Ox#i~?M4aM?\.iM4b< i_Ÿ?馚U|M4Pc Ζ+0KGgZ%>3aqe{p漏CcBɆ 5a;JӲͦKQHi#,-O QjxRc Ts%PJ2K4RTl?HT J:ņn >uwap \$-+` ˖}Vsa$pN-Hm2\RFX3IajxRS•1,:\ T:+ a03df5vZ*0jxR$Tvu[J>3]a~Bt4:~L1t@3if2H S”fZ%),:\ T:+ a.3 ,%rW/4'+?!"DaPc !"DQIX%`!B|fC5:]˟dai!:61Pt*&@Lv X:vY sJ3I`$e$v3$CE$%K*T@Y[`zD 4uv>u> "Rfd|q&RXĚiI`~owi%!Iq&RXĚiI`~owi%!Iq&RXѧRHBQGlSC3"0[PRRv!I:?M1JhIEJv4E"gIJ( SI'_4If EL$CLu3b%zXxuѧLv)$O!($LXž)SY~h E N&;HgbDΦ0JYG!6Z__p~q} q}}} G@B} %_p"&_BW D/&_p%B!_pI_B"u$? P$v1$LX:I2xҾcTs$v1$%ؕV d ]w.K #I ѱWH JӲͦKQHi#,$C " I `J$e$0h.~)^ aqhOasa$̶'`N$6.~)Fi#,<)FeJSSA*H Ha,IS\R":6Fk:Wet "0},GQ Y$kO6A$k/O6C$kOO6E$koO6I m}`I _m}`IRO6IRO6ߪIsI1RO6|sm|y$ky$k_m}ͯͯkIIֿTͯ~'_ B'_ IrO6m|-(bIҟ '_ G?yHIͯrO6yΒy$kjO'_ T~*$kl߅dm|-1 '_ Lpͯ.$khuDm|-?Tͯyy>^II'_ A0IO6oɉLF$!ύ@YXa"O WG[zXyCx<)^+wIJlS<9fZxRHy$rIJrT b I$R0!E!CIy硉 &z8#Yii5eƚd5eYya.to3 FyeaOȻ}(Dי?" aZ0']aO03;e?"N'LZ͞Zȏ5=(wWvϺzk4uwl|=hwWvϺz^k D/f]=o /5D/f]=o /5~E].?" ٗO[‹wWu˧=fȟwWu t'̲uwXO[{HwWu t'̟DY=eOȻc=mP1('Cq&LE+m{Z՛:KVmVl#@]{ZVlg{3T-˴,U 5[.ӎɓ5i6 Ryeܫ >9mZi`K 삭ldFy{9Vil"luq6uByf+Օiʸ;$Pe /WCg`N`kf 6 $= t׵ 6Y,FhӦ6H,uD,I>a,We6^/f(~ N[ZBMUӲD铨 n]ܫ ٧`~hSVj٢z XaS4}vu^fD5dH0/3LFy|Qyi3;H0/3MFy|Qy@EiH0/3HQ#<þ(Da3;}C#1IrJ͞Q4>W6uMsUU:csն͝xIQs ufμ#V,L= a^LYKeaۯ%Qvګ66u䲖c5ܫmU:W~g'-zHLK6XW6uϥ*ͪ͝y7>Vlݶ*g^)ubU:Lb6Y@49mx!Iy3b<3<[/∇q&.xQGoy2w?1ux瑘&o@A,p5q= H0I3?%q?Ѧk0@yF.O7K0R];#bW/SD b3'+0㈁R]IM4˕0@yF.=\ˠD b1m&DrDrr.*^Q,M 7*."K1wi^$1Ir T|R.Uc"K1wD >iC&(nUfD bƙ &Vq@yF.K ܪ\D bc3D\./(X,InT͐"K1wXK3IrYm*^Q#LLMʙAd@yF.N NLd@yF.##LMʙq@yF.5ea^k2#. 0$ge^fD?EaOȻe@Mr"2Y݆[>}whzX8+4=51Dtך"<ǯ4ibV)\vA{/U͝vA{1VmVl(i3;c蟑wWuOYH0y.˧>UE.: 1tGCaf: Aبl4 CWĤm{Tt6cAQ9M٨l4 CW1ڨl4 CWP3xt4GCaf: AbR6e%7n3 ^ AbR6e%7AW|(( &0KyeetOȻ:( \"Za∯d5^-瘫66u e+ն͗uhV\j0λI 3,f(̟D3-~E]to3."Fy3(Q?" 3K~E]e]=oK,`'0^0UrViu KW :$ų]*,.fƚna]gC0#YYTsն͝g$1}ϹT-Նݖg|VXmfx8nbU;, ۵Xmzge!wsՄ66vY0[fUf3Xec՛;,?4iby51[8YYKYf3f,O&*U;,A4ib.5Vl=ѥ~7Vl<[k?VrfzHAPݴmgu^fТFy}ḱtOȻnE@$gwּ,uwXV;}5@$(D]2蟑wWu]? Ҿ[\hpvCd5^Ҿ[UU:"<Wbzḱ$ י?" ܩDy`6<61שPpar5'* nJD0eOԜl5T:'t3D7fCqh ODど9Pf:WjGJ)1[8ǭyi.~iM*8z4*p)\+jVli_-*ͪ͝wHiQ#ѥ|'6(8wּ!D t/2?"O!$m4/2Q?"O!>L;̅OȻQyDי wWu: HaZ0蟑wWu Sy]HaZ0?"뎟MavQ#i|[y]OȻMas葞ifm.gOata|[y]OȻEat(GMa#<㾵a?"뎟;D/f]=o^fif>dy< T Kjhr0hdEye#0ˈwWt2zk0RѥËͪYF' ej۳F'yм;IcN2Zr6 ^Njyн$R (n-ն$O{ H8 TO Wa*i] #3 .PO3q/MyiL4uwl|!E#ɟK^fe [֍43 4ia4}|'4']ݳ4֨g0MtSS E+K28^4'04W6u2xbzg#˰UffΦO OMXMvjVlH4ibNa5in}IvjYʳgaRV^;$JTs֫ W$Ǒ  Iv?Vڬ6+w*nʡ"4mf]=3&:T=5a0 3 !DMx3&!\뢖@*SѧLTs֪q")qI ZUKH&"K1pܩE+-5C fG #4WqK4R<]r]M /MS^Mvfaua`Ha,H]YCj۲4OJ]7akk.XmK4R=)tp݆YfnY@*TNVize݁!E#&!]V^!K1p5`(?of9SϢ PR6 F//u @/xl^bT4@^H5kڡt FإnCAQK]A( )bCAQKݺA( )b]CAQK]ʆA( )b ]/SE.6a⑰j6)y{Qt4( QK]C@h7xl^Qt4( QKݚC@h7xl^jTl: A#`lRt: wFإFáРl4R6 F/ C@h7xl^rTl: A#`lR+0z4^fDyZXlOMy>#/(wWvΞDu'h^KW 0qDp݃*Yfz8Lnffο 2]ն͝0[>PVlX}l}g]0OȻ^Mrm6`X*YĎ瘫66u,iyY_1*g]Mam /3 uwlˬ6ɮThQJf kb՛; HyjgRƚ瘫mU:b[6uf.Qy@']ݳ.XfY .~G e%}o 3D|' >uwXeO*x ߆.TJrH] z쯼] Uʸ쯽 ?v Ն,) @dY#^f@rP6ѤN/#HlaYѣH^Q4a^|Z`:bצ@#/k B2']e̱Q AoF &aVTJB$] zg]Me葞afP0dSymH0o3-D2eed-xY #<þ)B!7WDY VBo5BegdϦzkg"<DŽ4uwP {z47*5^6(yXmi-瘫66uѼ)[Y@4vZ՛;4 $ʡ"-VmVl(zHʡ"-Vګ6vhZ$E AjufƢ4o'G#bM4aNU;ѽG#aӋ՛;Ѽ<& OjgcQ76DKvZjF1<06DKvZ7Vlj#Fbk?$2݄kVlj#Fb2'HIn U6v5z4)-VZF'h P.YѦK̡ -T Vlj#Fi'h P6Y&K̡ -W^F%fOM-Ajͪ͝Dhލ1d2/ \mgcQ7LY̡ -WVlj#F1tMXkU m:,F4r*-"97k9U )bw7, U:o5>efZu4LF3\.V[O$~Y.}1lW[iѶG{ZVv4oFYI{2~YʳgcFjgyD^̟ Vlh?$.È*U;6k/0Q{2UfΨy40̡Vl)qC+8`YQA.~KÍ"<7Q @o5$gw7@ek7k4M浏ZxZDZ̢ZM浗DZ"ZY#<þ)a !s76M ~)aH0o5>efMa q|JѦk0RţFgt^Ѽ`9yj۱y,aUfƍi- PVlhޚ4IsՋ9Vv4o%i#瘫 Vlh~dI]mVlhލ4s^Yy9 &A[nѽ,5*͝ЧMf*͗6v4oF ^fYzHkˍU;7怺巵U6v4oF [b4Yz8<i͝?|SKsT6v4o'I-1S5Vlhށ:Dt>gcFhfյܫ6v4oLBXe͝> ]UP7Vlh~EE-셚U;7Dd'M/Vlh~EPa5Xi͝Ҧ~]ƍR'皫 nѼ$Ѽ<} N8!\˟E+ #N 5U͝QdiP$p.MUU:4ӼCiY 41a,P&4PVly$ 5V,Y$F&4XmzgTH3&4XCjgTFwD^˵[Y:o5m˟͆Mi\."˯$&O R݄-UzN3ůp AV\j&zHX&,W[-Ajӕf3ѣQv!N/Vl=7ÌT6vI-2W/TMU;$$IdiÈ*}uf3%1PUܫ6]&x89](jU;$G Hymz۱'0"rخyCjgd'=qX^U;$ H]͝g'皫 YLi瘫 YzgdL$Y5a6uBt<24Նj&zh%1V,uf3'gNeXzhvU͝M /F W]-՛U:^C4$8[mU:^y4RP!n[6u40`hy$BXfΦi䲇a ua͝M /IM#%.U:^)$O$a u6u40C4%8[Vlhay:/i^I(qv[8Yɢ䲇a uf՛:^NX<)^I(qvVOڬX4߆'J$F/$O{п3*(rY[^i-癫6 $PI,i= J&.jӕa]:U "1y"x Ud "0q'>նz/Q{7jVlFҨI_yȬ"m $gak ]͡|P''_cX~cJ$O$O}ʬF =*DUzg^"x ^ګ՛:4DDk6+67ϢX^)>!ȯ5w7D2Y#<Y(Vik4$gw7 D2MY#<þ)h!k7Y3;fD2VMKFy|SyVi|YJ&Dc5VlhazHkjgSC ɟKU͝M />7 n4vV,Y$IUfΦ)R^٩ ՛:^M,1%01kVlhazUA IL nÈ*K՛:^$20yfΦ)_{6P.Y~d -՛:^G- ܫ6u40< U׫m:^-H?$"ymU:^-H?$"yB\BY")qC{ flYqSC $<T]UXYTE?4aa6u40*Ik͝M /ĚY[Uٳ<#݄-Օ^򉤻 +YQe^UjP#ՖnG]' Vtv&ٔ5f˯VlFW)R\U4ҽ S%ʬ}RXdH~gUfE+Rܪfλ+Yq*YI"MW[-5a۲%QvOVmVlj 8VljDr[6uDN$`bU:]$ of VurL)ZipȡLƙ{}VȡLde8^fODh`,FR#OrO[4eVv~e[iԑ&bYʶӮ2~ȟwWuO1'.TQJ`F3X`jr@~λEe(wWuPzޚL#\2(z#NUzӎEBϖ#-!dt2(x'?U.dP0#Ha)u>W'컡CҘ%-U.UC%ʙa)\Ikj՛;$݄jͪ͝wr[)ZiȡC%aWm:= ]ثmU]|gr[iM8]Ut2z|mVOӮ2OȻgO5:Xk^fX+ CL͞2sѥ :i-S,2VKH}qW6u, $(i-jjgRHMvW[j԰$2("۲Ūg]Me a'zdMrWmLiJYI^2L熩bL)ZitD[VZ>۲D *G۫6tXIe6ufXaɖ='~h ,zk",xy#HlMy]tLA'Jt2\E+m%.y4F3^PzgR<#{!CVmVlRD皫mU:_ nԥLŝ mT'i|SyLc3D\.W86b՛:XfUU:nTͬVqI,i\5^645aۮLٔF KvmjVlʡ"z8nyVlF;J\hRDי4Qi#3f4~fY(#i-W6ufl!6AT͐0iL %P=66j՛:y#-x,In͜fλC%S6@VxٚVlf՛U:akd5mgL.[6u?+ʼn^יZD'̲}.˧G#<þ)̴!-#zkKYʳgbLv\?V^|SyB$gw76D2e (zTLe8~ 媽l㋺T^̡qzgbGhy< VXY2C&PG+#e |QyB42H0/3(PF^f]4Pa,P'M My]GMi{"Fy|Sy]H0o3KEisMFy|Sy]$gw7D^y,Pa3$in4NJyhz "~,pEuǟH(#G<NJyhz),0F).d%PH]sx&0}%1 0J>< !)"D÷]yhz 1viM*8zdHa-<>TqHIywx瑘&ųDލ+\0A "!BIytx瑘&dBq$sEp*y$E8<3)nC19Kb:e/Pn}Brw@/)<4 Sb5a< *pl3W X@ǑK Vc>TqHi_-[v,Ey!z4-;Cy硉 &z\mF0diTѦkY T|1<1\"K1w‰&4.Uf"K1w%V@ T|)CoI4F*#'KYR]bhaS+D bҽ IL bLل@yF.M+Х1z \2/(i^/Ѧi ĚhS,/(#3LMʙ>*^QRw*eR]8fzH˕2㈁R]RĖL>/(`Ha,(N%ʚ]@yF.3o%0I4w*i(R]@-ʚi T|] &M4*^Q(8}E(3o^faEfȆGcLVl򉤽zg^4V[y,In՛:gtffμ~Vlݔ5BYKig*͝zXJ1V^נN`kb!Y(bUfμGnyufλ D~(8Hei ']qifMy>']ݳli~dzk~ȏ䑦yaGE+R0sfλQJhH).}T-O? 2\5BYL͞>>']eZ`ia"<ּD>0z48טG6']`_rD`f 0ͮ}V, 0w>Wq~drUŜumK7dRكo? 2]*Xuʛe "H*Pjm<0s ufƠv n^Y];OFv 6ϊ/3h#lmOȻNe@']B@\My0 %}o 2 "@Dž(wWugO[eO{# TR`&*\vS#},iAjW3 i|X 29́OȻN IIR@]Vl %)#瘫66u2xbLXOw]E@3;^gDt/3"Fy}k?" Q#<þ,4uwO葞a^gD?H>yq.ç[yBuw[i'LZOMy*!^d,"BL2"B#M3^d,<ҧ'ZD&IbO<Ϭa)ry&zk̅Gx8^!@ >*-\D'F2(5C$N01AbBc=5av0$/4My^Ș]fe.u@YL.)XafzwBW6vY2{YYTt-U͝g$1}Пn3>[t-Ն-VvY0AV,Ylp a͝g!бVڬfzXlWBUf3Xec՛;,?4iby51[8YYKYf3f,O&*U;,A4ib.5Vl=ѥgTE$i*U;,3F$|ysU6vYzhĝ/.yfΣ0MѧMvP.Y'J݆[]w_[Uq -.0hL07"Fy|[yaOȻOQya ']ݱLYtQbТThaPb/jqP1{Q6 .A8f5 ~3@lUv4) 7AQHj6<4)aThan6CP4*]70]*N5TCaصGC`3 F!uv`IKBf nU G#G#@2݃"Ct< Ab4]OajavXOD-b"b1k"Ff,']aK1fDyf7yR#ڥ!' Gc{Qf8 WjRr{1{PpwAQHf CpĦj:hUv`. 0 A=صGC` W]j9yHb4xn6WaA@^7C`I8^6)x1 u hTP*JIBPmvG0DRcDŚEb͢Ff,.}(YH;Ő~E]tW*a0jjYnګՋ8? 2=0D7ƐytqٞEezjgw? 2=3dL2Dž 4Pk,>ƒZ(Xn0H4/3 D}EyeG=awWt2߁+*aJsF''.,zgf,O%Ufaf,OFxwƝ5eXm'bFzHAP݆Oն$O{ H8 US'+ Zq}czk(Q0˞pG ^f] iia4#<'!G ^f#<(4']ݱLLX0Hi .TGKfC|癪aKCI3V Z=ͪͪkD uѦ=5a1FfzkN"<τ~E]:H5E=1hJ5ʘ>)Z^Zѥ9a^S $.H*ͪ͝L4'04VlH4ibNa5iPVlHq$ rb~y*xbU׫<1\nUd*yxo2y.NU ՆPL$ 9Vڬ6+ӕUݕCE-i mf]=3&:T=5`>o3uwO|Ld/ʘ>)X>颙KͪXmwQ|[?V^ ^!E$>~!Yƚi^N&6u1WjtKsc՛;,Ms9VvI%3VWj6遄p݆6^Yeh00i*ŜvXK4On6䘹н7aTU.O,&},WaV˴ٳ՛:癭qʰۥi0۳&|$R݃UY#Hm9V-cՇT? xgHa,HgיϢa'6']eA L`r@[5tLGF3SZdX$7=jW.,zY zW\5aۥŏK$C\vUmXvg0MC fzkn"a !G ʘm )YiK4R<`a7aXYϥ6~Yvu404 %O{5Ϡ@XmK4R=0DW>a n=)tp ˹VvJ]7> C fG0MtSحf˻C fG0MC f [mzλzgHa,י a>f0uwWu OyAdOȻO[Fϥ3D xa3'M3Mr4[/t?Fϥ fՋ8 L=,ϟr|L L=5aL k{?"Xa˕0)XCf'~gXN. %)id L= ?v7VٛUuf8d.Xaǔ^f!Dya (wWu6ӧ̩/~dzYlW*a Hb8H]^;,#},iAjWyeyCvڬ7Vu祕FZmUyeyC!fYʰ]|SyB}ɇ0H0o3P"~E]t0diTJo4sUzg_o 瘫66uޕ<EsU͝~7Hd'IsU ufο "MvXfο>:dϥ*k՛:o? 2]'U:o&k mf͝~7FnyufλeDYv?"+73;eD #LLך˴m?"P1O{#ѦUm7,iIkbe3KAZUe35Ua۲ƙKfڬcL-DUm]a?%?C*x ߆3w*"KfIkt^;,iycH 5']e k0m浬uwX<[yfQ?" {kDxZ M浜DךBuwYuo5]{sr2(1ph:{#`lR^t Fإ.CAQKֽ @/xl^f4@^H5ڨh4⑰j6)x4@^H5ۨh4⑰j6)yT4@^H5ܨh4⑰j6)y Y"CBnH5רt: wFإ.FáРl4R6 F/Zt: wFإnFáРl4R6 F/5v6a⑰j6)xl: A#`lRwnahP6 )b]FáРl4R6 F/9w*6a⑰j6)y =i5e<[yHwWvΞ̟Dux3O,м$I*-Ic{2W6u1G 5ffο 2]U͝0[nBYbK0DWٖkc՛:.uwX]2ɮUfE+ &)yVl1#*ͪ͝KkbVlWnyn|SyՑ٦<(iOȻf]VkYJf kb՛; HyjgRƚ瘫mU:b[6uk4}}k‹fDe40y"tŷ DyY#^kmnM4#F;# fΧF"wyD^۪fλ5e0 'L[yiL{VDy[4ibNa5 fƢ4o#O p mVlj#Fyimf͝DhLDO{4>YĒ1RE *͝DhH'0iYfƢ4o'DE ~fƢ4oIRđC{4Y|,I٤i͝DhNGRĚiofU6v5zLGofU6v5y2yM bfƢ4o)!m$iOYbxam$iOnF09`~HeAVrF0dO 2 < m/Vlj#Fi4SK{4Y&OM- ]gcQ7LC{4nF%fOM- mʳgcQ7LC{4.Y&K̞ [٤qU;ѽbe_- UfƢ4o'0C{4!nFc馚4^֪9Vu YDhT좕97d(*PE,RjCjg]Mev ]QMDc5ʙi )Yn4m~ڬ"S Y%zHsU ufλ\ͰV-"g4hyVl쉞)VmVl쉞^ܫmU:.UfE+3xY&x2~Ruffșᩂ/y{rVlzVnȌIfתB۲&y2xbb nďɓʬ})lԉJ^9ffș*ͪ͝3ŗ<[j6쉞,J=j\vD#Hl*q[- ӕf3ѣQ{48YLh߽SZ&x$_!?S5Vl<$iS6vI)umw*͗vI-$Na4WnU 6vI\5BacP:Na4D\Bf3$O2{ua{5Vl<[)#k۫6vIHj.f3ѦKb1e͝g0P9fr0~fΨN8F@~0Uf3F).yf6vI<=t-*Śr&yBY#Kub/V,LjDrE^ .[i&z5 ʒ( qz U;$FZ]51VYL|{8X>uadD)"MWەfλᚄ=\E+ k VlXzh{6~՛:^C4%8?VmVlhaz5_ҼPl[jeɢ䲇gꅺgSC і&WJ^͟r@;4gSC і? /iofյܫ6u40C4C"ugK՛:^1K'0l[AjgSC ѣ &?,Òy,]gSC ѣ &?,Òy$egSC ѣ & ~Y%JYCٳ@ەfΦFL@K䒇g՛:^fa0_9/W^͟ڬh3 a|ҼPl\mgSC IH;5q u@nEe"~E]v͟Me e$N3c1T$/zY[͐"f4:U "1y"x ޅS6qK3Kvl՛:#5fad %:gDEya$gafXqɖx2H0o3,6dSyaH0o3,0Me"2)̮3; 22RIvWr՛:^$p&lYYϥ*UfΦIPVlhayGe?V,Y$IXe͝M /J(DlXeufΦbM,-iUٳ<#͟+YI{nfΦDiMvZnUfο"IYa͝}5Ueܫ ;HgC ]ʳe׫6u#M+Ĕ).T͘E*i^)LLٔRXdH~gT͐f~c n͐Uzg]ʙeRp^@a$&+rڬ|\O0q3b檽Y$O{vYjնwŷYDy T6D`$O}ٳu^Hg*[idHd5^ԉ/y4F3]Xfλ㴉/z}K4 bM4PܩWE-HNix8O$7eUzө#yGe*UfH;5BY$OzgvY?V,[i|'3LMʙ>Ei?"M t(YOȻ=of@eg- cL=ʚaR٩"W #Z7VvS.*ͪ͝At2^۫mU;& ڨ[6uDN$aU9VltO%Xmzۮ*jJKEJ`4ݦa ,/vXCj͜u /3Vi.O[ɡC KL=ʚ(InzӰ3euUmRD쮽Xm]mi(wWuO1@]UzgAby^Q$ia jgAby^)bw7i5mӮ4C&k{?"]fTBt"ە2 )\r#~dU͝g|[jڬ،fzi"/(\mUu#aEMy]tLC"4EyqH0þ)̸ɗ^k4Rn#,0G{n՛;#(ˈ*ͪ͝g{4VlF3<ꅺgb1"Gv\rYʶӱs򘥹*U;,7e U8F3= Eiv*U;%P:KUfc3ŅG iua]ar}4dPF3]zӎEJ`4ݦM9VȡXRdV^XECb4F{fj*:= J] >X`Ymzk0uwYiO[SV)ZipȡfLi ,iL9Vr!CX`0W'컡CYY`I$IFUfΥ$IGQݗ͝w7,dˌy3$zk2R2G+\5^6#sՆn~^ڬ|W2G̠> xOy@']eOҤzk2ȥaH4%~kfՆݕ#$~YnyXms՛U;*GNE@[j/fwrzkQ2$|$ܩ m*KVqeH KkUqR=GcvP3[0;2KYmU#$y,ie9Vvd@䯘ݔ(mVu,$My@(4S=,P?4\"HdI%(Uzݒ$p'0M51VZ>YRHG>瘫-8Y2 !(='~h ,zk2^y)s>[+^f[B̳BdS.4VJ\hf-U͝J\hfP_5mʳjgR<$<[jԥB۪͝J\\5bUJ\s*MUJ\4v[CV^ԥ#HlU:q&ڶUfΥ.z!P?5@l}өKJ[ YfΥ.z馌j~fΥ.y:N[5eƪ]R#S-E),d.5U}:= ]X-VOӮ2C&\sq#*eJ4e5^/.!66uܩ+RKtʙB#UvPګ՛:"1FnjY2C&P*e F =)d'e Y'2׌RĖn՛: RĖL>Vxb՛:`BYY(PU͝0~d n|Gx"x ޚ43o 3Kuw[eMi aY)a7.&[AEitwWu2xy|*iJk!aJx yVlX "EvAVmT(lX AvW^/fN!`$IF*9VlXf MsU,Y`HXQݥՆڬ԰$,*~4it5a6u, 'C3 *Řn|'K@g0&_7,d xNX:HLיDy, % ӤSK[m, 皪fΥ"(.նN"]V,Y`Htvf6OgR@"۴mvKEfK n԰$PR4\aܫ6u, )D]۫ 4Y`H0HlUfΥ"HMsUVlX($)PDWەfΥ"Hخy՛:I-1VffΥ"E 1VmgR@)~9*h[6u, )瘫,Y`Hp`//瘫^԰$P&E aU:KbÖj԰$P4  Ç۫6u, #[ӕa6u, ]-VzgR@() "0XB~fŽH( Մ.5VlF$;4RD!vˠ4OȻ}.{M~E]t)]ɦD ܩ"~G{4WBۯpp0vji ua~P0s͟ny)I~d^m*͝~$7'皭Yzg_#P۵lŜufqɦxs &M4j$^~dH4~է2W M7VN;d?iʡnؓ%zH4׳,Ջ9VlI#k՛:o3GD4~ȆMceJ\좕GvAUg]¢l՛;8E3ȡpMvڶBŪ͝w7"4}fD4}E!s7 >ߊo3GD2a fDi#<4w7HMiQ#m|SymH0o3MD-3M^)6yMi m^fBM^f.Mo3HDQ*x D3H,͟Mi(a^f4|Qy@}4ihݝMiHٳ) q6l/3HFf]3;ӌ"F͝Mi"F͝+ӌFyMiƑ#<þEyqH0˾(86]+ӎ"FyMi(a 3HWDu(!a.N"ئz4L#Nf\0<Ǒ'yaBzYV0ti\S#E-BȤgO W<NJyhzPyr`8g.c‰JS^%B׊yhz᭘CI)uy $(.cO<4=pWGO|S\0<ǑK1F0t ysIpd-ydę]B@M\0<NJ$a.y<3H[@Y#N9xhNOpx1W')n}O IKxLG,C><$r1ʡ#˰}@Y #Eq@42>LG,`EC fLXŀ$rv![#0M\5a3KANz5~d`yxv P'ycH<[#0M\5x"-gGP9z4L%ywPIu<'=,=,`+<ǑF%0Z70[co<4=pՇ$-gGP9z5@.cȓ,=AC~doȇm0{.犣P7Ɛysx瑘&v|lS=hycH3ɓ 0l%ya[mY+/&0J%1⧞F`j۞*3 5lGbK l & Fۨ<Ǒ(1k%Cbw\)).<3ϥ[!М1 2@( F l8^R6xhBP3kf<4''x @p\5MA,p5i )wpդ+},W mcG,R'JlRO0DRWbַ瞆$o$ 9f?Ѧk0}t@yF.O7K0~ȁR];#bW/S"K1wɓʘmt@yF.Q$&Aʘ@ T|BYY.T(R]5 $HY.TÌ"K1wʼnVat@yF.M+Ĕ).Uk4/(z/A2KZ͢K1wD >iC&(nUfYD bƙ &Vmt@yF.K ܪD bc3D\l/(X,InUd(Qy, % ӤS+/(m &L T|'~E'KrO/(C$cy)IS'D b/3(P<>(^ȏ3o^f,EC#1葞a^fXD"Fy|Yye.t4>Zי9P@יmeOȻYAcO-ʙBVmѣHm?U͝>[vO՛U;#Hm?Vګ6v#Hm?T-՛;Av\rY]MiH0þ,Y.t/3G?"OiOȻ͐ ]`I$D1Ir"-眪`E*9VՇdU K9V0A#4ޚ>>+04My+J@~,L4MyDyXRLיAzkݑoEיQoIѣzkH5;$N6}[ ,#Hmb1j۲pݻU9Vl<[7mf3CګmVl=,`+mf͝g4^۫6vY~hkbqʳgeF+ze͝gXMsU6vYh{/V\jfz Kɮyuf3ʼn v۫M9VlOY\u>geؓ\umw*͝gX rl㎻E@']a{2x a.ç̂ȟwWud ~E]e]=oK,`'DyL^*Ra\8jXeYԑ&- U;hb1,0UfΆaGny 2Y*,0ەfλsy DTQb㡰3 ^At6ct݊@t5x0 JF׵GCaf:Tݚ@t5x3ݪ@t5x17CAt6ct%#afRSv: 14%#afRStw‰"<cHeqtOȻ^gD/f]=oI TJ-0DW@՛:\ffο!lqzYX`R]*ˍU}i"<5qN[ŷ蟑wWu/3#<þ(8Eq $gw 葞a^d,"Fy|Qy3;̅H0/2#<þ(OFy|Syw Hi^d."F(PFy|Sy]tH0y]OȻ˨<'0z43g/dG3Z(YavQ0'0z40^fiF`XSE f>iѦǦ.#(0M,e0~*,MawТ~E]G \E+ XH8 U͝4<8nͪnX.B)%:kXm'bFzHAP݅U$O{ H8 US'+Zq}czk "a'81dL0DžD>}|@Yϥ3 4M36zkc֍46יDy 3 Du&zc'J:k0ÈixGkF$]zgS''N&z>< 66u2xbzhĜkY#L^ѥ9aBY>"Ē0~YʳgaRV^;$JTs֫ W$Ǒ 7V7VuC3L0XCj۲~H ˹VvUawL`RLיa<'YtOȻˬ04 %LYR٨J`84Jz^;$R )!UʸqcҾ癫 Ն.,zY z/jͪn<) byBt3O,м$I*aQJ$1r՛:gYʳjg_/d5mgev^[6u,If(瘫r\kT? in,Uܭv$In6mSY|SyeC&g7O1g< 4/%-ʘeR/$Y-Uzgaz8L^]O՛U; &YʶY,`+g*gay#p݋9V,Y9%1r6Y<7ƐxיDG'4.˧T 2\E+ "Mv?U㲾7ƐyvnUe}_ XbλHQ i@0יQ TN"0i:4i >[-iVlth'~M%>՛:L'LZךDyX`:bc"'̴.XMeL׌FSF0+w*eJB$]zg]Me"Fy|SyiC&Zo3-.Me#<þlpO W*aJ∤KƝ53Un fڬ|0OȻŐ: yi L i/g#La,WW #Gsz۰juaQ|[bڬ| FhNinUcJi-4W6vh=,ICEvjڬ٠P@;CEvjVl(y,$Z$Kvj[6v5y"u "4XfƢ4o#٣Ks MU׫6v5yy4XCjgcQ7}4?$7ak5Vlj#Fd$O2{U͝Dhކ$(nMV9Vlj#FD>9a͗6v5y<2'P(nMU6v5zHX$Ueƪ͝DhG#bM4P݆L7Vlj#Ftr>Z$Kvj4Y>dr>[vj8YɓȜhMT6v5x1LQ i$O$a}͝Dh S i$O$a}ufƢ4o)C-ifƢ4o)"xam$4[izgcQ7L [Um͝DhNa2x&inMUU;ѽd?,[U@ufƢ4oF,2x&inMUnU;Ѽd?,[Uqu͝DhNa2XdM݆ڬF@(~nMUګ6v5y9Ő?,[Uq ufƢ4oC'M4ѥPʶӮ] rj#G,r.)XzY]zT(lK?T(mVl)]!ohE3r)Yn4m<Մ66v4mג'N^`] mf͝Phab>YJ\I3Dy /3Dxo3D2`)!q3;L!o7-"Fy|SyB}Ʉ-x0ȑafdx0C&ÍFy|Sy>!@54MrVXhLX՛;7G53VmVv4o%4[jѼ#݆͝F).yg*nƍM$p\a͝ #k}fƍG5qmf͝&Pa5q l}gcF?$a U;7N+e͝ѧda ~fƍ")eƪ͝@] r۰ ZagcFj)*NU;7I-1V^ѼC4UfƍIM-1S6v4o&k}fƍ释"۫m/W "MvVr;7$I㱣z4cvVj;7?,>+mNƍE-1T VlhNX<)nymʳgcFi`~Y*՛;7f瘫ڬѽ,D%*mU;7'Q"yq ufƍ!*U;7D2'Q-imzgcFh 4خŜ66v4oK7v?VUacFKn.qzS׋Fn.ӕqѽױj۫6v4oIH;Uaw6v4o>a2w/-1VfƍL>X`͝Mta6viUb7VlϦiʳgcF%1V,fƍ &a[ٶ*,Zѽ3/f٫ YzgA2K} XeufƍQ$R͟ .YyImXi͝Ȣ4 &CVAjgcF,j!zT/h[6v4o%0I4o$O}5VYʳgcFLM_sU Vlh~dI<<iU:o3D2aEy>$gafD2`Zѿ 2\E)F.HjY}ea4ڬѾhJa5mgcFѣQvT-՛;7M`5bU;7ޒi"K5>~6Y}&mVlhyGeXmѾ#46W6ufde#bW/S"Je3Unȕ Z7W+>[->l\vD%/I]UU;"WJav$H*g].Tm"H;b՛;"gnlUU;"gWa*UfλK0(b&xoCU͝3݃jͪ͝3SB_6[j|ʘl#-"gD;5^[vD&O WaPH1<1\E-3KG,`^<6YY&x癫mUݑ3ʼn_Wși-n9W3aBPfm. K5ac$N=5aaI&y,SI L6/"S'[ە^c ەffȔ N`kەmgdJbF*#+ەBY%1zHDWa*Ŝ6vD/KhTF+ەa͝)1tJ]vr!Y%1zI [YgdJbL;~Kە͝) 4a+g6u/MyqGxhzkÌlf6uwl| c.:HK4Mr E+ #N fΨ24(N8affΨ24$0z4cv?Vګ6u!Ѧ#%] ufΨg@kg*͝Q"4%4aa͝Q"4@kfΨ24I2\a w64Iyr.[.<<1Kvn՗vI-~hǗa5eƪ͝ghsզ $I8MvAVXm&yGe 5Vr&z4j.*Ӌ՛;$F}bf3ű&Ja5>Uf3F{} On&zD7a5mw*͗vI-$Na4WaCg*͝g$WXzhvr՛:^C4%8 VmVlhaz5_ҼP6[jeɢ䲇a*gSC і&WJ]ܫr@;4gSC і? /innUܫ6u40C4C"ua*K՛:^1K'06[AjgSC ѣ &?,Òy,mʠ]gSC ѣ &?,Òy$mʠegSC ѣ & ~Y%JYCە@ەfΦFL@K䒇a*՛:^fa0_9/W]ܫڬh3 a|ҼP6\mgSC IH;٦ꁖw‹f~E]uM-"Y|ƚfl:bzkk8`NBH^H%etV@*<Bܪ̰W%%^՛:#5fad %:gDnUfE+K^M׳ UzgSC D]ܫ66u40][j#~[͝M /#Hla*Ŝ6u40y$#'CV^u&f!Y'+ك6u40e^ Vlhaz ^!rн$PE+U/Vlh^g05d͝M /%6YqgSC cM1mʴufΦ(6ZiʳgSC "Mvr8YdIkە>Ū͝M /(.J0v6u40 IL b@YS*U:^DPCS} [izgSC ĔTA1VZ1%01y"x fګ6u404ժ͝M /M#D݃j*͝M /$O}UquNR',}##ǥHkەq͝M /NXGGǏJ+j՛:D7(*[i|[yhwWuwO1ʬFJDCU͝/bն@/W6u"x M׳-Uzg]D >iC&(nUfYE-HNix8O$7'[iԑ#mgdX uBY$Ozg{2Xm]4%0I4w*kw|(̲}.O[‹,"~E]֘>x3k"0%0KdiT͙E-x+VuGe Նݔ*kUU;dն͝BH]W͝Q"y5ezg*͝.bSaan\lV\2(zSFٚVȡLe*UlQyOȻ]=o&i %.24*f"%fնfVu$Ie٫r-٤OȻçXRdS6>Vz4eϦ$WVl,O+$<< 5VmVl,O+E,R٪[i|Zaim3,!Dyo3+D2ew<'̯dOȻlʒN#X`[rWe9? 2]jY4sUU;M#DXe{UKc0"צ̮&Wg7Ϣ2^EytH0þ^y+rl)O#zgb1rE셊jgb1c]mU;?!m>[6v#$wU9Vv#.~SVKH}>՛: D4{ jڬ԰$l$D^mU:Q%D[{8PVlNV@)\#ȕyVvd@ejuaT? 쁪jg]\YV@~E]XvRV@)XeR<<_癪aeH [f7VuC66vT@*X^:Hך"=(HdI%U]3iR^Uz;*GHX^Ur.ʑ< ل Յqْ^՛6[iْ=Gƚ@g*N̑<Uw@G"I+^k8+8bVrȥi>YIoge$HN`kb}gL%褑<(}1VZqʳg]M泌Yxy?4=5QYv|R瑤|WAdLYRC%ʬ㈥m&k^ԥ&e^66u)s"MsU͝J\/>[6u)sEsՋ9Vu)sG 5Vu)s>[-a͝J\4kj!YKwid56u)s"d ۫m:%fzgR=tF[{8Y?jgR#M5\\D`ҘJ"z8od-zg^Q$F(>[-W6ufW]P2zST?OG d-zg^O$e-]zVl41K[Y R^/d.UU:akmgL.[6u#^,Ḫ+!2OȻ.o3, DK 5e"SyaC&XDYO[D$ S,4V], S_sUzgRhƚ+fBΥ!`yՅ[i԰$,$(4:t>3,.XK3IrWq>X()O}5U͝KEaP^˳Vګm:OYvWnYʳgR@K쮂6OgR@"۲UmvKEf+ n԰$PR4\aܫ6u, )D] 4Y`H0HlUfΥ"HMsUVlX($)PDWەfΥ"Hخy՛:I-1VffΥ"E 1VmgR@)~9*h[6u, )瘫,Y`Hp`//瘫^԰$P&E q ͝KE1mq嚫6u,  d%>8}gR@b5VqʳgR@^_5a՛:DHIWe*6vrE@_vX^!qg]4ͼ$ܩE*Qyi ']a oˆ<0י뢲ag.TJԯ? 2]zg]2~ȟwWto{Q?"X>߅Du2} ']@ =dwWuX^\D`f 0ͮ*X6# ݓjX6#eX\iyaLdRكo? 2]تb:o3'"2}?"S'E+-F^!mx8~d-!BXmw_? 2]V͟ny)I~dA[6fοLM_sV,YDnjU8$cy)IS'E-2W''Uӎę+ ݓէ*ӎę+vO͝2W Mv,Xfę+ɢ1AV^|Qʙl)Ymp<dU^qM */fqzgbGhy< mVXY2C#@S-Vl򉤻-fνiyjg^,~Xh*UfμX`$Ш-͝yGnyg*n4\5anCx*k՛:ɢ +mVl_{!Y0 JFיТe(̸$h3.Y.è+S#0M\5?o# Sp*yf y놬O ncO<4=pՖ|S,I"kC#[<NjzH$ru !x89I]C|ZG,Pѥ9Qf|T@ lR3L<`y}3dOȻe2']b=o 3(?"폟t@ĠhbĚk2)[m٪VlE,RjڬץG怺jVlg{eqb ٺنiedyUK)jd\a PYewr0jv!'0M53VYU݈wiG:k٪͵Vl1K45iVN9c"z%VfՅӲE4iKvOդ,X^;$I(^:Sەa{4jyU>(mVlRHGy񤽚UfweOeq|Qy]3;wWuOOyD>}']a{2xQyuwX^̺z$ke]o0تq6u3bUڮ0G:kb6ˍU:9b瘫 uf.NwWvϺz#h#OrQJ~@eLX}Wiw`9}viS%*[6tvH*r?,ik՛:o3k~E]tQya3;(a^fDEl$gwּͶuw@a֭Hm^fD ']B˧D;ya`y ?,)bt>ߑ$YL=ϡPd)$Msx4XL]syHH߻k瑘&Ǒ! =$ T)%-u硉 &zYi.id "&OpNyXheUK1w̢Fy|Yy']qfP~E]>xQym.t(̟D/f]=oFG5ʙ@[.CEvOz:]mWCgd#F51Veƪ͝NMsUagf(瘫 ӕfΥ~h yN/VlL4HC%ʬY+sUzgSBffΎXӦ*Ufλ^fluwXt^4HS,@2gt^"MsUU:] ezY3AT-՛:bYʳgdX ٵXmzӮƉQHܪJ$*gt^ه"*ͪ͝NMsU͝0[1T-՛:4ubU;tAV^ԑ/x+b!YCA[YgS iIsV۫6vHAPU:heU,4%|8.yVl Tϥ*ͪ͝i XlW<[j$-1T-՛;HU9Vl S(-U׫6u:\a ͝.Kmf͝ ufΣ瘭r $$\f՛;v\'Vlh$kbYI$inu8K+fjؓBWc瘭BYФ4  Pde7Y 3L"~E]i5dOȻc=oԑ4iSL#ʙ]*lKv[.8cxOyq.O[‹OȻe].t(D/f]=o 1?"@xOyDY=>']b=o 1wWu t@ĠhbĚkBVqǣfν$R (njg^ ~Vlgveqb aeqb2{f0aRZ=3Va`~g'-NUYvvݤ5n-WCgS'4c˟^4mUEsVluq6uByfUiʸ;$P}v!'0M53VYU݈wiG:k~ mU; R$j&:kj i',|$O@\6^/f(~ N[n!ei"HBG>e*i".a66v)$O#<]>Vj٢z Xaܩ>lN:/3m"Fy|Qy> ^fD063;ۈ۾*$C%xl;4ÇuD497^*yf y놶kIbHIp瞆$o$ 0}GD-ʚ@/( y"tŬ3 <ׄ?"폟t'D>}0.O[‹ÈwWu˧Ea ']a{2xQy']a{2xQy']a{2xQydOȻeYOȻŐ:zk4uwXO[{c蟑wWu t'm.d!CMr8Vqǣ3U͝zHAP݆jͪ͝zX$~h 5mgS>+P[.ӎ] 5[.ӎɓ5i6 Ryeܫ >9mAVfeqvvAj:<ѣ]5aj0Ψ+z͟n0ΨO,׳ewr0e /WCg`N`kf 6 $= ta͵Vl1K4fj !n/fQ"rDKZq/VN?ѧM-~!ei"HBGu>-VNyvCjgbD<3ߍ%fjU;4OD #*}[.ӎwWuQy>dy< .Thf(KW6uMsUU:cvYmU:a8BT-՛:45bUyi"jMUyf4sU׫6uD?,WAVڬג'쟭Y`3(2߀jxR3ĎLE+.UzgSMv\66u+^fD(2HwWuOOy>uwl}O[{蟑wWvϺz^c?" ٗO[‹}OȻei$s\;}!W>W!KϠ!\a $t)XWc瘪fΦ*ͪ͝$MsU͝wּD:yHM$iF S\H$1L]W6u:\ffΗC%ڭVl/U ufΣ瘫r")qCsՆ׫m:+fD9f24m"IIn*yf y놭5P$wU 1p$vlS=A,p5A`Xj= H0I3?%qG1dH0ye.˧Yy>uw\t='L6[._瘪fΥ*ͪ͝)'*UfΥ2{b[6v}"r۠r}kOȻ7Èa^k2dy< .UfJ͞Q4^נM51VmVlŏ[j׋ ĚBY#Hm3V,Xmבƒ+f4XmמhcO7uwX>f?"=o!"D\0<( &4ŷP ")$O#=$ T)%oC7Ly#he$-ʘ T|9I*KehvCe\a LXf*mWCgd#F51Veƪ͝NMsUagf(瘫 ӕfΥ~h yN/VlL4HC%ʘiY+sUzgSBffΎXӦ*Ufλ^f"~E]<פ &4ţD)TÈ$1L]W6u:\ffΗC%?Vګ6v~*gQsU9VlK*kնwT`4HܪJ D[g[/TŇ? ŇdrbQN-A_=8%.Y^%iG(L=8&|/[UؘAZN-'[oh=8&'zqlL#a0h=8a1/zql& =VӋa0h=8>AŰAŰAŰ$xd$^+3 [[N-aŲ`|/[!?zql ^>zBY^BVqlNGbw_ҏbpz`zqlP|/[ űE|Vd>ZQlPؠrb[?N-'/ ÁlP|Vd>`4>/h|/[^(<zؤQN-NbV|/[=8)t>L|V HQzqlRxt>@ GaűHzؤ%xt>GaŲ"/ GӋdUX|/[" QzqlclȒxt>Qzql>=8D?Yp^Dl TŲ!@|/["lTAⴣzبWꅁűPU" DبfCzبiGPoh>X6 @~[|/[? Bҏb;ӋbW ^+,eBzجa^+Vd>ߊ ŀ|,8,[o !`GH^G *`kX|.[ ql*H7 Ų0m d`ŗ /ˇ1#clx= ŗ 7ˇ8T>\|/[l\|/[@zqllxAlxzO=8D/`t t>#`|/[Wal/# a^X`x$x|/[^,b#zظ^. ~+^'`F>ƾ+1l^]|/[^+1l^`f>ߊ>_t|/[>+1lx A7h|/[ TxD> ) Δr߄$_ŀ  zt=8  K`|/[*F!Ű`|/[ X G-F!Űt=8+. ´+ HXG Ű8 XfCz &XfCz +. )alJ|V ^1+X0 @zql|/[x6 2z&>+ Lzql >+fCzɯ ~[C|/[M3 Ȧ:`R>/?N-GÁld# x|/[vŰ)Xp>ẇź~[a^T+2 x|/[|/[?zVd>)`|/[<~[Vd>^, G  >+R/^J̇Q=8KÁld"j[J[=8ocz"> X#zokOH^?\iV-\`%ËvXqm`5"l~ŶA=8ȏm^ŇYp^GmzqmVd>?.>y z@O?N-^ ų~+2 ό|J|/[>Ӌgoge|I ϏXB>^,! τo G'[fCzaO.>׉@\|/[lq?N-U ^>]|/[nme~[lymz`EŶ_zh>@Cz~[@Q ^> Vh |Vd>5( h=8C/ z!mIe/?N-M ^>U|/[pI|/[p>Y^~Ӌn^Bzۀa^FY^m  #z@; Ё^[B|X* Є_\|/[}|/[vo.>Xal,"`v>Ol,ŀ 2 ӋhqmE\z ~Ӌh_x^x8 ?>|/[ G>,aj?zql-fCzZ!x|/[ BG$ z\o~[ | )Xp>x|/[ o!>>~Ӌaqx^)Xp>̇$xAl]iV|/['!XdW.>O~['Bz8EXp>̇C[z:`R>S~ӋcY y|/[Vd>XG+. łl0+1l)", G,e Űx|/[X`09e">+1lnVczJ#zH;`|/[),^zql2Vd>C^8&X kDN-m~rfS au|/[ Czf Va:dzf|Xzŀ<>Nj>\X Go^9`) #|/[^-Ӌ`2x`2OH['[ k|/[ @ŰS`>ߋl6 X`` XӋ`He Yqlo\|/[]?N-ѯ̇.>Ή.>`|/[ =8O`6Wˏ`6|X`6X`9|/[?`81X`8M|/[Ÿ\|/[ŗ Yqm,^ŷo,o=8X.` e=8XS!lGe?px!p/zqn |/[:X ~Ӌp[o|/[ł^?zqn$+1n#_qm#ËhV]ѕ/ т1Eр_ -?Xql~8haF[-MŇ@,8ZVbŲ~BËq?@`1,8!aŸF,[_XqaŰ8_ Xql@O HxaËe\Xql>aŲ Ëe DËi~FR!aŴ9ŇUaaŴOËi7ꑋ- -cXeŇӎPXqm<+ bڀq!aŵEbË`P,TdXql,`W [-T-[OT=8 9X( |Vl|/[ }P=8)^("R VnQߪ=8( ~+ B|/[ YӋrnbs/T/N-̿͏s^[`|/[7=80Ӌst|/[~@?|.[0#X^> |VzمTųP>=QzqlvX GC`5 a#hؑăzp‘l8ȇkăzp ^Măzp Va:X HX`>X`G`h>:>O>,H>ăzِU^x ^>,H>-x ^ ^ $ pocz.I pu p3` `z/6 xB` sR|/["x|/[3XX>>+^f X|/[3T7N-o$ $ ١zʼnSăzeꕇǠʼnDbAlzX|/[׋aBbAl: ,H>TzaŰʼnGayăzvV|/[`O`x ^ ,N-|/[aN-ʼnT7N-ʼn,H>G`ު0Alʼn$ $ Ÿ ʼn P[)[ - -_ꆢË`>l,8CꂱaŰT| P[1O|/[2O^a`F>o^p`F>^"cbE# `F># ^# ּVczzc# H|V^jof`F>|/[SP,8՘XqlUꘇ=8$>*`B1Y^ C=8 / +d>zqllIP dT/N-ߊ>U zql>&a^T/N-@|"/ zxzql>TAlVzT/N-S`Dߪ=8CU zqlAj>$)`5 ` (XR>&` 2bAl!` >+ G`zql@K՜Xql@k+zoU zql? V }TŰOGAB~Vl|/[ ӋaFX; Ӌc/ +l|@7xH Ӌc>+zARPj>^f,H>Ⱔ|/[0Ⱌ|/[0ăz+ G>,H>,}P=8aꅁŰfzql?T -0CaŰg'aa $_"ިkA#k2M}`͑kl_X2M}a#$l_XBdd͑k~l_Xy2M}`w5#$l_X y2M}`5#$~l_X"y2M}`57#$|&Hdd'͑k6FI&56FI$2M|[2M|ZA5i#$Ť^l_5i#$Ţ6FIB6FIN2M|Zy2M|' ~)dN#!k8␆IOB&G%!%!J 5B|J 5H$kQA&xkQA&>%U_M|*kĠ_ M|*kQOA&xkPoPxIPk& HNko$%#8rINk8|Nk2$'ÒM|f&3&318rI̼Nk9Nk0&3'I5񙯉ÒM|fx9$aÒM|f Nk1ÒM|f!x9$`&3Nk0up_$9$`&3'I5A8rIÒM|fNk0p__$%x_\E$>*I5?'|T"kxE$Q_d?PIT"k섟KxE$sB)&_RM}B)&Ї_h"E$*I5ϊRM|RM|B)&|!kA&uA&yA&ڟ 5|V($V($V($~+kV($+k^+k탟 5& 5xk[@_@_U`I޾*P0$M`Iܧ@_W&rM~*P0$e`I-l*Kd+㥲l*[! VC6[!+[!p[! [d"NV' [Ķ';[xebqlNS[-lN Z'- 3[lN$aؠ*ؠ]b[aؠ%@:bؠ$`lP%[HeMpj)s#\b bp!V jؤBlR-B!B& bH=l#-5ElkdEX<["+llObkdA"-X?["  Ȃ.ȂV bبب)[WlTQEQVձQvS`[X*lT *3j=lVꭊ[eyجeX6[LN+أ6"[9 [9M-&[&[N6ll2%Kkca#Yl0[q:a\([ ̏w]UsV}aB@;N' s~@i`mUO>qlUN2' Y A'[([- J@"[((-CPz@;[(yVF&[(l1Ƹl1s-#\R⥰V͋ \([ AFx[ BVH•! l E)έm``0cK`0aZ ![mexl@ zc7_ [cqB7(+crT7+kctlncqj>cpDcp,RR. HS% Z¥epLReCΫe&*H3ke"H@[)}B6HH[)t al2[ul2l2 0l2 uȻ'[ `,U:a3l2l2yOW[@8+eB8BN) gꭆd9̋ 50a-[ l3 2l3I9>daf fqfpLLdll3[v[+c[wV%XX9.-C-[2c{! !@^+ꭀNqlK6&lCM% :c ]-cw:űJB>%[ ؙl4;al4Ka8l4IIbhk--[ ([ @{հ!yl4l4 X[ |([*"QVʆ8"[*_$[*VʊqQVJ*{T3eA [*ؕlE`([f)[T l&[ePqj(8P 6F N@U@9"jcԧaVyja1(!"j/8 VHS[.bURMJ CURk` ` 2) )qJ)2%ll6k-\V:mel62lbaJl0BlYհT0[AfQF/[FX%[A1[C`BxV]s`L ʰluV][ Э]հ6Űn Vu:nEce#`l7 ba8[3[ َ:[,-ylAml6`6#k`8CNX:r-V`<[\<9[ pl:F.<.5b  b V|0pJ[ 9Ű>EV&׭`~lPqJ2K`|:k`|;[ EH0:/ ؼ]p>/ @/s V\l-bؽN-,+[<./[nb#<2U@.k`eA]@}lm@  u[ F-aI-"-[ \-%'[ G;kaJLn+aLe)l)ZaHEͭ".-l-Z!&ŋ``s![ Ul ""&[ElqJ" /!? {&ml" Xl lŋdxNHullKd0FHcKdXlN d ;H{  B!_kUlY[:d gCJt ΃PtdKgB*[:_[c80I+c-+[eA…Dcձ局R"[nd`,#Z#)[@=[a8 HGV!FB 8lا@ =[6 N@ LecV¡*[ qgo sl*x@ *[ ͭaf@q2V9e![ a\l+S-`aX:aX@aXDaX$aX[b $[b*[a VY& X:K`, /UlJG[-VJQ-Q%[%[q2%2%2%J:% Xllcⅱ)[-N⥱V*[lb-Txo[:`6 LuL1 `,+`k-a*[+[رlM ū`>uL?…L: .[`$b)[ qțc"+[J2u[, k`.1l1ŰEzHVu6DS,ZU8NQ-B8P}պ,-"-%nN9[JSJhVMtKdkd'Ulfo[j<߉[:kbe0mq'[^PLR*[\:k'[\!B#[\$`s=mΪ 3lU&[`BV8mV m-؇lXe؛ υ8 - [>Ml^J}&3[?6B|B| 8lVaaV ۮ mcurp}km<V8m([@.J 5+[A>kh̭m3[@!ehG ĶHV!˖#[p);[pc[q2ۃEFbKj Ѕ8.[B1z?hGhD<[B2".%[Bpm܇UnxnN)IUnmnqn@p}VVn'  JVݟ9zۡUm6菜[tHīaa&[ *abl,╰"[ RX],Yoh5VbUDxL![DQⅴCR6KhbSbA+[DklXմ@  mD հ\dal9հ--VahF2Z1Z#[ \Mat=+ap;ϭql.ZEM-[&j0 VɃllll0[&0NLe d1[&X -nL$e+dN8['!5pKdEulllN`l?uq Ųp{﭅\ ay~%,[ ɲհհHVN,[ "^yV-ƞb4"VƋ`lhsƍa& Ɔ8VƁ-u9ԭ> fc@$B5!ԏKcQv4[8ƣ?[ԫ5^LkcQ kcQO"s$ꭇa-u, a"[˱Z6,[̰l?l?kaA~qz~#J :># aZeV Vcc%[l| e;["w g 28L '[A-!#"[R|.ŋaUW :`yl>*ag%Bέ- |1|pL^2[" `D1[&-6gs[ ߺCP"'[<[ [?r܅n@ yܫbŹBZ( _#[,ܥ8[rbfrςC-?έqܡrL+[%,("]nawU}I1}niSn` %-eN0DƋsn`u1[0!alR`-9ـ-Vu`kc犇!\lB62d5*>ڿ?=m_#6_Q6qm_+6ڿ??ͫQ#ڿ?<)bDͫy[EͫMEͫM_HͫM7Rj_m_o |%&yi~$&WyixWD6_"ybڿ?)|1/o6QFڿW/}"D>"x?j(rEi$Lͫ1oj(f$Iڿ?:WGQ$iGWGD6b_ڿ?)L;j(fd ?j(f?ڿ?m_,m_*#M2?ڿ?89ڿ?T$4ͫ%IJ?ڿ?Hڿ?YMUI$Qb_ͫ}'WGIQ̝'I 6i&N_QD j(Mm_WG?Q0DͫPڿ?_Q0iͫdj(fYj($O,_m_:m_[MQڿ?շ & j(T,6Cj(Tڿ?{ڿ?"x m_6@{ڿ??ͫPڿ?砒euF6_Ng-j%TW/cO}ߗgL_D~^-9|_?ZsP+_Ds~^-95@7Aӟ_D3~^-9AQ9Pb4_Ds~^-9AQ9Pb4_D~^-94_D~^-9I"d/WШ1//Wf$I}FzrB.oŧ?}Hz  i@y}JzDA}Kz~^-9_H<HzG4_s~^-9/zDA|- z9/WI"y=|-"zQ$iGf_?ZsI"d_?ZsӨ7Z.z<~9/W Doŧ?lSKZf_?Zs@! ?@:SG1GS?{MM)w4z6!lGJ4z6!g%_4z6!h?&GLg4z_MD2Aoh?QMc=O0MM(SLIMFh?/M0"/AG39oh??葲4za4z`=O1g4z0_M[ ;M[ ;6o;lyIl14x1Kdfį},WP<ӎ<%,a4x{L<;b5bGEڿoJa+zؔW:l3mlgl0S%,GCm__)di`*)XrXbPWW'%Ji[\Bm#ͨ6GJicG% &h?SfD2e4z `~i7-C*< &3LXkMg]QMgh>XLsMg2{ch> ? ny63IoMgO,AG1 4y$P.3UJh>$i-?QMg#[s=4y*4Tzdi-?)i-?SMg#<|>[s~SG#Hm1MgF۞cgMgMgsGMsښ%R6GK4yꁒ\^QKI%4ѪZs_!4z@MG ?Bh?=Os'o=OpOM;/=Op(S '4zGPAM@ SgM@cM@(Sh=aQ?MТį+[(Mam ?  JX[(zi<4jh?@CkMg(zH\<%,(<+͋ü)h\$ M__a Λ7Qsa`~&JX[u~%̈́oj.pcMKG#dJ$ fah.'/!<䥈 :Qu4yɩRhS/.XrXcίį(lu>tٿ6G @Ģ7OOM rRJ Ѩi9"!ʚ<~B.Mi)/hM@SG[t53K%J)H6ch%_<%TWWPiREtٿ6E >%??o `<䥈{+mj.hOH?ʚ3Ty)dA4x{*z)ü)h\$Y__K,&Em\<^|Ja@STY<䥈WW]Miu)? ?4K%J)R4xw/Mkď[+ŸV"MGͅkPa@ST %,Gj.hM$i)? SG +֚HMM rR% OOɩRhT#:h%_<%+"MW͍JP77>|i"CM?J ?_7MVh?4S GES KMh?G=O4/4zh ȿ/h?G7 ?MwM 4zq=O=SfDy=Oym4z2#1M̮?4zYG{G"d_?h?}M̡D2eh?"44zp4z4!LGh=iC&GGMSw4zGh?74z/4zx+G4zM4z=O`OMG3g k=Oym|&SG4z ?WMS=O|G GM?4z qh? X4zh?Y4zG=OS`GGG, ,74z7Mh??mM Oh?_h? M=OKM >SB4z_ G G 2SBG4zъF%G4zE.\.SpUM4zG0=OScOh?G3/h?M=O:'SS/h?kM/4z4z^ ^G^^?h? MS@G(=O逓=O逫=O逿=O4zӌ=ON4zM4zӁ'4zӃh?h?0SGGh?&S,h?0Ss=OW=OGA =OC=Oc=Ooh?4z4z=OGPcM@M@=OK=O_=OwM=OG`kM0GO4z0?0?`?;GvGv/h?QMQMG8G8AM?h?;MJh?=OG8=OGG8h?+=OM/4z@4zBh? MGxk=OGM[?4zx.SGMwMW4ẑoh??2%S]M =O@Sdh?h?h?4zÓEBh? =OcSr W4zÐ-Sr _h?? G?S.W4zp6S.h? G[=O#Gh?)Soh?8 Gv974z*SGy8M4zá4zàG:'=Oh?@oMQMG; M-Sv7SvG;=Oܟ4zW4zõ?th?b4zGSp=OD/h?4zRD@GeMb-S174zG;=OA4z?M%GG ?G4z4zGh?h? MdUOMGI?GB/4z4zG?&S~G?=OG?+Moh?74zG?>G|>=M"S?>?CMf_h? =OH?_h?"h? OM$=OJG @M%G @!M%?=OS4 G~ MM ??_4z G o=OM'4z`G4zh?P}Mjh?`]Mlh?`0S64zG?=O_MGAK M?S MM@GMGB !GMGB?4z G?`eMAM4zG4z@kM'=O =O74z4z{Mp @S9=O ?KMMG74zOh?:_h?8-S=ON?4z?q=OW=OG=OGG4zG4z4z;Sh?8&S?h?8p=O4zh?b_h?aG4z3GCCM 0SGC+S=OGCh?`EM GC!h=B@S |_QlXW6o(͍D/ &7`9)b?lXe+qO`)?4 o4yP~MMgOᦏ3 -u4yJY/p<= MKG#18?(>Λ7 IsGC YP<(G54y0{YSG%QMgK9b4xw/Mkď[  _XI)wzf1͍a(?t%,GZSGp%)2wPQMi-o9 ?(JX[5~%͈As54yD8MhV}6o(LoxW⢺hc#+pcښ<4yJY/p<=;SGy,R,HBjJK`6o#6<0d%,G{+p45u4y<SG榏4 -54yJY/p<=^@SGy,R,HH]+@H?Λ7H̀  Sd%,G@{+_K .4K%NG@~<;b5bGPJ50$[ f`BOLo88MM rRTu~%YPߗSG ~<Ӂ4?&el+s6'?!O4x1KaXU+? wMioP}Mi`? ?<ϕ<<֚<* (3 h?.֚<ϖk_MgK96CMKG#XJ?&&[aW:^oscu>'[&7P x<䥈 z/ߘGe$?ɩ?4y,P\E4y2xn?iR4Gy,R,H3T W:l ͔>'Lo]4x1Kc'WWZ>+AI4 |%SG@I!.<*!? Mi!lP&<.N]A?PߓSG@eMg<ϊI[t|w<4y9hny!G$f7A ښ<*WT|\93O}1MgK9j<;b5bGWWۿ`."Ml N5 xS=4x1Ku#6},WPMiF4 DZhO |$SGeËl$Gy,R,H? [M|d!x7 %,G˵~%̀ ˩2R4/6ü)h\$J lf"MJsa'Lo7G3u~% CO4ygMiSGi~]MgK9 ;MKG#5~%N6tٿU="%,G9 KA%?SG l?`4xw;SG`M˼L1XT 痫G/KSG4xw;CMKG Wey6__v Zboͫ_ĿI)4j `/B?! 3cGg4zS;h?9Mx{=O/S< S<S<4zG G 4zc_h?X G G =OV_=Oy]4zqh=eG{H9G5Dy?5G3Dy #4z4=OyDy?h?=O"C#M [Sg 4z0$lM,S/4z=OGP?S G3Q s=O​M@IS ̢Z)w=O⒟h?Coh?X`=OV G =OVoh?HKM  G3K2=OSM Q 1M S4z$/h?H?4z)Sc4=OS=G4zG?=OGg=OFS=Oh?ah?a4zG -M,'Sh?aw4zG GG4z(WM KM 4z({́C$w=OGG=O#{HN3M2SL4SWM'4zCh?4zC_h?=O MGD4z@GD?h?iM O4z4z+S?QM~=S?S?4zG @=OZ?S=Og4zG -M.?PM 4z)A4zG oh?wM_h? 4zQM/G ƿaM/_ =O^/h?x ?b/h?XGG=Oh?XGQM h?X_Bh? EMoh? =O=O=O;SH7SBh?@=O_h? M0$SW=O`=O`Oh?BSs=O`h? =OGh?\GGoh?\G S =O,S ?Oh?`=S4z0!GYM ?h?` 38S4zSMh?Bh?@SDh?M4z uMKM4zh?@wMA4ze]MLSDh?_ 88G+SFh?g?=O%GGiMS4zċ=ObG kM1 M'S(S? G ;MA4z=O GSh?CS1M_G#h?:S@=O!o4zBh?Q4z(G oMJh?O4z( @?MJO4z(M=O=OOh??M ,G GM@EMG% @;MG%_=O# ?0WMSïh??@AMh?@sMS=O%(=O%?M?(4S @!Mh?PM?Sh?G =Oj4zh?G @+M54z7MFUMGGS 4zpMM4zp/S_kG ?4zد=OlcMGGS O4zPGg4zP:S S Moh?GHo=O@ G?$h?GHGH?4zR8SG%H=O+XG`+S$=OHaM$$S=Soh? kM&h?G =OG4zpsM4zt'4z1S =O4zs=OGQMA4z ? 'S_A_4zWh?GU GUw=OG4zUPQMT=Oh?_UCh?EMї4zUPkMFSU@)M4zUPMTU@CMT _h?GMSd_ =Ol_M6 h=r=O^oTL4-W6oyo)oS`3M rR!į6J)?Soz4}Q4y$tٿlsR Ic%,GJS_u<Ӆ!%4y,`+<)9 ?<%,HCS`+%4xw/Mkď[ZoJ:AOܯW:l69 R_H'xMGs__OS_u<,0GuC<Ӗ0[c朐\MMgK!G;oMKG#"o,$ IsI 7a<䥈J~%ꜷ4yp-74NGhOTߗSGd)tp:jh%_<%鮯įegx>Λ7K͎AAN/!+9)b?mЉ+&ƚ<8̩9OvPy)dB4x{E4xw/Mkď[ u~%,Dc a`>Λ7-f!/ 7rhc#jJYP? 4 aMi.<8朱خ|~$SGr&34yX`7tC3NGe-GE"[ʩRW4y@13H_*h?TG4y@:M4y$F1As~kMg~SG䥒)t@MKG䥅4ڿ ?9Rl/*UT:!SGaxEUUX?WWP%5ꂯf|_W Brh-_?_%,HCR>AR$)4xwWiÿTo:h ^%"XrTq3?,!W8%W7BKg'ΛW DA|TCĿ _E\ߛW/?A 7ū*8E8Zs@#B_@h?(Sk2_4z0}SfDy=Oy#h=BM"=oSfe=O S_h=>h=mG2C#C$M..G ?Q SBh?h?!G3Q s=O%4zYC+/M `AM M ?&So4z ?w4zTL GPoMA4zTL=O&=O&(LM!0SꐙGH@=OB GH@%M!{}C#GD4z4ɦp S4z]ɤ?{(M[=O(G3G k=O(4zTRG4zTSO4zT(S_h?2S?{ݑ SO4zTR /So=ODB?4z ?葲4zQWM4+` u|_6w7'6W:lfDDSDTTG'WW Z4yClGGMgꊙ<h?TT9ch?TT*3*a4y$S\h<_ȊiTT*h%_<%>PhTNT 9/W/>%R")QQ4*SGy,R*8E4g N$/TT ?ȏ[Gh=eh??6ZoͫTT'4|*8E Mӟ' BOHUMM̰_4z0}SfDy=Oy#h=BM"=oSfe=O S_h=>h=mG2C#C$M..G ?Q SBh?h?!G3Q s=O%4zYC+/M M QX=O+?Q]OM̸dh?{VCMGEh=eC&YSk6ecQ`yMq?"SJ4zTZoh? 8=O/h?Ooh?NGBpWM GBq4zT_R=OPPDSSGHh?N{GGHh=nȆM3M"h?`"Sꑀ=Op=O{́tHw=Oh?SfBe>&fS*;@[D7;M rR2z_,7Qk14@SGp-3@g54y*'e4s46UMgUmSGE51p63K% iT4xw/Mkď[#-__DA~7_%, -P8 "QP<;b5Qƒ/TQM?N<W8%_h?g4z2#1M4z0#{őkSd(1{#h=aXh?Sc[Sf 4z D2=o=OyD2A{葲4z=O%MSM(SO4zTSP:P:4zTM4zT?h?a4zTh=C+9M+Qp7SfYD2<=O.h?G@{ˈLS{LSgMYP>|G@PP>h?Oh?MMh=>QxG1"c=O/Qx ?C#G3N"4=Oh=>!HH=OZS4zT `S4zTh=m!lGHh?!PBPB#GAMD=O{_M[W/oN+Λ7P7"hc#WW_u 1ChOT :hM1[j߂4y54y*'e4s4"(eT|%Q{!U4y$S^y)dTü)h\$ل:`IfaoPSQyjhc#֯į;b,<ӈwk朐\MMgK<=Mü)h\$]+DA|f"_//K<=ASG"iü)h^J_E>oͫEJ43?N88_7"O4z2#{d Dy?"d_Q=Oy@dQM̡DRh=iHw=Oy@4zlg}_7'lgΛ7 E*0?JX[WW2<%,P0Q?ÿT`UE4xw/Mkď[AįDA}\ߗ¯_%GHP=i M!Dy=Oy@=Oy#1MQcG{#̱GMM͢h=@dz4z8d#eh?g4z=O?葠w=Oym6]SfD2<=O4zT?h?#?̢ZPF_{} W u|_ B% usfP@U* JX[WWC .4K%TT0~.XrX`B9T#E7ĿJY/*PHGMGy,R*8EM4g ND;4İpqoPIh?$G3 %R<;b5إ}pwjg/ꀰM>J45i_C_/W @-W:m_7PhTNT3~^9|KI*i8ZsM(W8% @`GM Brhߗ*8Eќ-9R/lvM¿W:m_oШ1/~^*8EMӟ) ?!Go[tھ+R<[}6ofC\|V(VÐ}6oE2\|V(f\|V( ǣ\|V(a^tھ+R:0;6oШ1/y/W|K0H_E6oͫEY}6_- fڿQmC\ߛW/?͓/ڿQl6_-*8EMӟ)?HQo696-*8Ei8ZsȀ(_7z&Ȋ wW:m_ lW:m_$`MDEΛWm;6lMD! jK[o" lϫ/Wm V}/Wm Brhc__i ~bY|VAܖY}\MdK-eH5z%i P<ϫX,@A,+4Dp%i J[jI"?]4-eD(-Wͫ Jw@_MG rRz>W@@mWͫ8(b$Zm_,I`P<"jbJ8%H|ھ+7XIJinJ$6i|ڿ? %,Hѕ -IbY#,F1,|_?-,F1,|ھ+/bo-IbYMG rYf$Ia_/WDK,$6,;Z6&ԑ/%X?1lSJWc7űM*B-_6?؛RF_`Ii:^#M25ЧWͫ[Z4+Aܔ)[Wc72uk`j|V ؛RF_a4-_<閯Ţo%~dZm__lM#L^K/SAܖYF NŢo%i!0QX71y,*[Wc7[m_6jHTDpPnG5|_?-kr9X2bo-IbY:h"8[([F |_?-*9"`W͉ͫ$ieV SA@ljzZ&fQX71y,h"8[-5^@lj ؛RF_`SAArڀ1hT-zm_Z4+須ol1hT-u|ھ+?lM#L^K/SAO-(1hTm_GjH 須ou|_?-|Ej ؛RF_`#`A>ŢoPl'j_lM#L^K/ⰁMG `ŢoPx |V؛RF_`SAܖC_/WDKDeW`]Z4+4-R^Wc7/9=l&W`_Z4+䲧)NŢo%<Mu|ھ+jH"A@DBM*%Wa͉$ieVh"8[}"DkhzZ&TH m_69Z4+*h"8['m@1hdHjlM#L^K/Aܕᴒ&Ou|_?-+i$L[-|V؛RF_a*DԚ^:~ZWͫⰓZ4+Jh"8[Dl(M?2u&[5|ھ+jHDp%-hWc74Iz@sX71y,WMG rYfd |_?-,I2sqm_͉$ieYAܖYMm8Wc74I|V$71y,Dp%glk1he[/|XjHQMG rYTIiBM䲨4#[Ѕ`͉$ieX,#(q$sEh̵|_?-(q$sEh̵|ھ,71y,須o&[Wc7 tGjo6&ԑ/%`#)"F^u|_?-)"F^u|ھ,lM#L^K/EMG rY"~ф-_/WDK$O0`͉$ieX )nK,&*Ţo%i@BWͫO6&ԑ/%`ƚ$H^zZ&YfH [/ u|ھ, ؛RF_ŇnJ)zZ&TeM/wWͫMZ4,4-TV51hTV5a/jH4-e351he35c?lM#L^K/"Dkh}_/WDJ)$O&Gj6&ԑ/%a=4-_:OtjzZ&WNھm_"bo-IbYDp%i&N_ƣWc74'/Q`_Z4,Aܖ9_H*jzZ&X}"c`:U`'bo-IbYiox 5|_?-,(j͉$ieX )o⠀|_?-x?j؛RF_ŀ*k`>.M*k`>.j5bo-IbY=MG ul< z^@[^Wŀ5Z4,*55M*55j͉$ieY4-T`>]1hT`>]d_lM#L^K/Dp%1GM2 zZ&Sdz4-Wŀ;Z4,䠲TM`@!jzZ&PY*y& |ھ,OZ4,1#,I,ki&Ţo%i%Mm Djo6&ԑ/%`sMG rU$O,Ze^D FWŃ6&ԑ/%a4-T'Qo[.5|_?-*"MeFWŀ͉$ieXZh"8[ Z^@n:j{Z4,SMG  |_?-Vm_lM#L^K/ #, & ӌu|_?-, & ӌu|ھ,GjH4DpXPWc7([w`71y,MG % zZ&% |X6&ԑ/%`+<ھ^g|WͫgZ4,DpZWc7 `Z4,Dp%H~^jzZ&T/GeWłjHDpX -ú^`0 |XjHSA`nWc7 j|X!71y,4M4-W݁Ţo\Kvzm_C͉r@YXaL\iyI$-hK4Rp$)bhYФO WG[+3O WJr•ئy$rͧ+'G,xR0rWx"}KYb%yĖXy%JwJ%*T㸲ئ.O,ɟK(WD6zXEܱL<1GH01G.(L.(Nh b b1GGǙ2=$H$E#Ч0,Ic iނH,)>(#O(#L>[ Fyz4ͼW$O#Ď4Bg$˽ ?#GFإBi_-]4*'* FiҾ[Ji_-\hbĚg$i,RH>c $YL>c ?,ɘ#D.c ?,d%ai#LZ4Hb$CD$tƘ]䯤H%Giϥy&4uW]]^ NM$XhӦ:J[#},i#:WP;iya%-gGP9z4L&J[K4Fr'Jjm=o? 2dLio r'JHj2Rئz5@G"tK4F%-g2g9z4L&J[@䥱Ld$, -g2Q#zd$yazh&KG*qOMXKbbw=WbKb释"Ҿ[J[F)~dyҼ\Y>,9^))ya%%IFd2RQ)(̔g, 30AJ3I`$e$:Q N 03a7v4w+b< '"fa,8@r%XKRQ)(̔fJJ3%%IFd9dfXQ QHi#,Q1t? 8G1,):|i]>#&.z4ͼ򉋞4s="s MJJ3%%IFd9df%($e4@!~I`LP'GW^vك, "0䤣2RQ)(̔fJJ3Hm2\RFX3Id "I_X2RQ)(̔fJJ3%%$6.~)Fi#,p$v1$%%$C&JJ3%%IFd9df%($e4@!-bX0S'G gl׺-`KHo6JJ3%%IFd9df%($e4@!K)i,, "RܔfJJ3%%IFrͦKQHi#,$C ")$O!,, ")$O&JJ3%%IFd9df%($e4(̵<)^*rX0S'G gl׺vك)jxR"WJJ3%%IFd9df%($e4(̵<)^~I`KS•;IFd2RQ)(Y sJ3I`$eJ3-O WG,İ`(N٣u{2vك)jxR[$YRQ)(̔fJJ3%%$6.~)Fi#,<)FeJ2#F%1GQ#HAJc $lNXA4)2<M$iF Sd0H40#Q )2<4HD%1G\fJJ3%%IFrͦKQHi#,-O QjxRZ!,)(̔fJJ3%%L?4 FXZ2y,II`KS•rE#h#O+'HbFJZ#($IrRyD \<)^G$Q<bl<)^G$Q<9fKS•rE$)18`3+'H 0Y)jxRHy$rLN1gD(˒+3%O WG[)Ha,IHaC fBB,&O OdFIMOSUVX\w"#%?BGQWY]^qz{}&+JZ[j~T q4Hc&J#eLWZ 7%06i1LV1"!Lu@м& |%|%5ћQ?NLY4p<_ $OQoX4Q <ɣ15j@(Ȏ̓  0bhYx@9dPic3PBs<7[AFH)Axb/rlB_(4h,²@̄":O%}YC_LO7;I&FKL1Cm#"cRBjS@̄ނm%NyAÐs̄  2J 5s 9h9BsYނm%%NyAÐs̄  2J 0< h9BsYނm!R'Aތ%NyAA Ҋ3$}˥~DNNP>'2!6? vm#UrTdfyKܜgz3tCDI?G7 J2J@d'8?@w"?D&G ;! p qÀ*)2+5÷(\g x3AFIy\^V@9NS$pT-d>ABldBp~;Hތ(ڪS -2!6?=Đl!H5W!Ex >53~kNk35)5ax7p 2PQ(TPi85QD(4QSWDӔd%>D>k3)XCe%>8WkNSQ Ʒ? >N 2CX1c.cDH*QRS 5Q6sLQ;9ڈ1KqN JPgz!8 AFI>|PQx8g| p tQ2򸼬 rrz 2G Jxؠ$ mA3)W瓚c: *89" 13Cpb!p 2G Jx7AFHSTApf'$sLL3t[AFIAf8?ty[]rrQ8WSPQQOSPiTAp_9#~SPQ|<Da~< C85BW )QQ6Lcj PR|)S*! ܧ/z 2J 13Cw8,KAFH^OPQPXD?A;kQ ƷE>AAbM1x|dpOBA38*K:dpd"`''4J|OSsL`ރL) yAD^J T瓚dN>9N pHpT 2rrX2z NS@QQ]SPi4AS@2j0>*)?k " 2G (ẄN{#z3tM8 -wMRT_y_GdBl~@UD٬PNC BRu8p * p`(}AA'@\s 2 TBt 19BS TBt 323BR rSX(JPf%Pe *sK 238WBR ĥ.An (4Ȝ+uAd9I99PÐtdN="Ni\B.9\)\s01"Ni8WSW !sLbΈrq'4M"NiNA!'4Ȝ+)8wB.9ܜ"pTd9I99PÐb9D^O !sLbΈrq'4M"㗹996\s 2' J|7r rq'4.A!sNAB.9T;!L½R$p|J|Dّ -z3tUَI3 ~"c[q\65.53Q¿5]A!(p-+ 2r \62!8?p[gE]ۈ&ᱬq?|Έ1\9X1e(!_dA ᱑ p7;J( aI,f1 6$m&F)c: 2CX s—$p)!r )P^}P(5 6 3*S9$5=<)p@$p)F6)P M` )2اB 2CX js—TSeAFH]S 3 )p}pTڜ5\sT \xVS4d>EDOP=2!8?pZ@ {#z3tUW.~d?dBl~ {&!bId_bJpdc: bPiAZ 2CX2z ܇T !Me"Ni,W8‚»ܧ e4%qpzWe4:::823n}RSa%yYc7!5eA3rPSȊ ((+) ʃ.E< qygB_A  |7;J(ͫ2hȄ=A5W +W)(( `'rrTdA ᱑ p7;J(9ls<0$}2xMẌMm5W+X1qG 0zkSDIN6Q 瓚gJpPQdFהc x))PPQOSPi%8c%Nf:& J(( f{~S.)1QQu !N6 U$++£X¿)͋IARS %i<ӭi q:/p"5+Q1zGT_4sQKaIz-eFb+ @ 3 2 qE r<AJ q'4Ȝ+)Dថkp9uNyAD^O D9(4(0AC+͇eA2-aESPi8WSO3 c rA@P^`0v(pB¡js 2' J|))' J|¿) "G7;J(Tڿ>c>T_@P:m"_"cZUDư LMLĦN?)r 0r(JV_%Q\s 0BPi8WkqDQNy9D]SL\)5' <" § Cuh3OPȄhoFwΔQW}~D8Ȑv9S~i~EaIz-eFb+ @ 3 2 qE r<AJ  [59z>" AID9%lSx8n59z>g /fdbW7Y c: vkDSj 1n js 2' J} ۆz"62Hr@: @9 'Ȝ+)' (WNHތ(Sj#-wP:i~rJ?̈MmUp Hj D>w gDpk< P.9SD9zc: u9wO>zHBwpddAdTA~S+D' qތ( W%ryMXG*tȚ9߂(ȄAq \=A$Q\.9SDqN (\U6)ƀ$ /+r'#~S4An5' < ,;J98AFH_f>ABdBp~;Hތ(PwaHlsQK z-\ 1kB3\8>b4+1kpcaq'4Ȝ+%:cbhd AD]SN5(㝉 0\s\` l.9Ng8W{pcqq҃L»ܧC~A܃ddd.9QFw g 1E\sBNg8W{7PAD]Sۅ~A "IAFHk3"kpcq9BSPwkQbs<»ܧr rSEAFHkSD8U 09&PBJ (A!!OP\dBp~+ѝjuI"xߝ<^dBl~ { C lgpjB@V $jfBCj!QHHD  ! 2w(!+)%FL)̄#9N')G5SD! \s 5$ n 55.9@BFX0Dq(4š D d !E< h3!\ e8 J?S@'s6Nh^D5Dz2c[ \R4rWȧ 2H@'r99NKAFH]SNd !b%eX8 H5 sj>e9@h( wǁ9) $uV'rrbPQ8W{C2@SA! Aظ@Pi 1ÀSĀ rWЧ( h( wǁ9) A"yZ?+@?!q»ܧp\sGcj#[P5\ayNN!QB^W?!w»ܧȜ+ RdBp~ഄ HC<$ҊU؍B"KdBl~ { C lgpjB@VN<lI5!3PF5B)Bf5}D!\s 2J !A>.9H qÀSQWjqg(p} (!/+GC]#wNldPBVS_' d8(_@B`.9@B# niQq(4֢5 ` !9'4TAp n ANy=H qÀPn5 59F0)PQB^W?')Ё#wNoD < YN 2CXAqLxij[jr(p}p(( wǁB 2H@{_h"}܇')Х$p)D 2@SVsD \s (4džf< Z9FhSº 2B~B>)С$uV'rr7$p);@z2) \Q(9FJt@ $ /+?!9NSd>D_ D' HD!@?Iw=đ:QA_6TߞDz-k]AbX1e9QFQ]SzA~kOD9TK;D>@ z5U6e:ߑ, u gDuNjQTATAeưd>D_NU321O8-z3tU 9ߜv9,dBl~ {&!*5Ln_|Cx@#X4APi4Aqq(4Ȝ+5IDJsL»ܧ ܣaYNl^Mdp&dAw>'<6h( `˨.(4š )͋h((.)39š*ֱNlhWqꀚ¿) ó"Hތ(SjNKcG;E:W˓:h z- Uf C;eP% JהA¿+X |¿5JbUPq(4ʨJPf%Pe * OhJPf%Pe *J JhJuM`(}AA'@\s.(JXH_ J\3N5#(4Ȝ+|b8wB.9NiNAp"~SO C"ZgEN(gg)qQ'%,fiƥ%_@ 2 ;“3L75(("oA}#&&CJbd"2bSĥP;#XJ4SȄAq  ApjBi#6ǀck&jCG3 B2q$  '(dH9@N P<>pC̀  (d@P CwGp`AN+k$8 .Q tv I IrSX1%¼T:.$r 9{g 򒝰9$'Y($UF 'pFT{&g{PQ8WS kp5r`tAsAf8?ėNC#* { 2G Jr tR5xX2z sڠPIrw.v9;2FSOAFH^N@c2+_a&0.9曔cIp pv88R9;2LSTd<#z9 0YNBp RW ܃9dqe9AAFIDICTp)B D* Qp}JpkOD=Ny=Ƃq@&j[ʀ<`UAFH3Bp Q8WS! $g81+ 2zz2c11+589FN|PQB/+r\ ((x@)ג½R}DD?SA88  nܯGrWۅ9!X2#Q$QBSTd!|O*:d&r\Q8W5:0Aj"X2z s&5Cq8,+56 ܣUh (!^W?6r 2G JuAa&R<lp3VD¿SkFbS (!^W?E܇')Ɋ(((9k!qrr PQQ\ܣ8T J H)B9_Ar U\2!8?pZ.džw $x!HFgES$* Ȓ?̈Mq$\=AVk\jg5>ADL2 !=d9aK#wOhQANeR85QDJ s(A!!J T瓚\|_ OP-Hތ(S10+ID& lk\jg5>ADL6 =% 2CX2z s ^4PBCX4A'2) ENy9 T瓚dNO]S%>ABldBp~ Ҋ3(8" z-jRkṨ|F>]DmAt|TqNAFHS+-gE_hG D&UrX3S<ʈ3*L*?\+(p_AFHSh1L<¿)Q8gW:PQQNW@kOD;{#B.p 1Ó(Nk6 fU15WA8yN0 !OP\dBp~+ѝf ,2!6?=Đl!HJ*/t*_\\[aehBB> Kxy>Rj lj1Ô^yKj41 2J!CaO8Waaɬvk g&a W!CT"pT c !TCdN#r 2' M`F0j@pyA 6r`(1*) ( |c@7Ƥ3ZL¼ ƈ32=+ 2zz1 qÀRA(P (!/+rr,#z8Ed?x In+ gDΧ<*8ptkpU3$`O{@?܇')ĴdEx¿5SA6pp>9D২ ( /9AQgb8)d`Obgr>h!CX1c:z2' r559AQ[4) Q[R2'4֢ |W u\3 kp8c: u9 Npc:z:.~2sL6$ pL 2BH'*lJ5%PJ½S(˙"%AO8W4@t*"QOA6p} n$c: u9 Nl; mD?A65Dw'3ʇcjkqrW)(!/+$\')0"$)͒Q6CQ :.Ah' n$!53(4JuDaB>( yA:*s 3* *D28tj 5SAT"Ht@#qg(ΈPؐkp J ΈQ#X:(3: B `òr1wp}xו$FPѐD}B.9%c`٬IOz ̪s0DD:t|SNG@t}SPi4g /8WpJPQ3ԃ 5ML*lY°6YX1O4΃ND1b CcX2z FIΈ1Ny= On$A(4r 6rQV=WDX\s 0kQX22q np M9F`uAFIy\^V99N %e%>BSC!Br NǁHC<$Ҋ UL%bc"c[q\6prZ+$5' \s 2J ܠrZ_A ᱑ p7;J(bc<>0Ȅ=A5W `ˍL5c: ˅<"p)R ENy94 ą9uAFHkOD=N^wO3ˍLPP b' Ey9AH Ej*s g2) OP-z3t8I|8"c[q\ 6 6M j!'!RsL) 6xNEDm@[TA9(AFHS+-gEW"i$dBl~n!A9(PQ &D' rq:QFQx"c[qqd_|3 L!Qd>15c!5 3Ʊ<; @3!'p'$ ;1A9WDr* hr|kp9`'ܜ"p)ރS@́A͉ p{AFHkOD=NyA "*Td?xvjgDOP b'gD `tAgB `h瓚^z +"r!͚N@> &D' uHތ(UUmdROi-̈Mq$w UCm9|jgsPx9 |kR_Qjs0SAs0kp9 `''d9zI0 $++_D9Nl0<[G53ܜ$)PQQQ>'2)I 0<>53+X(+r "~1NyAuJ59NhUcL+L+X ~<>5(T瓙 3rX h( `tAr'4Ȝ+uFtA3X eP ڈ0IȜ3e8 * 2CX1cqA nSd>(QP@`tAr'4Ȝ+|D gAPCù^PzHDABldBp~ Ҋ3e,p'''Ȓ?2!6?=ēUrZQsB5M\+X2sX1KcA (p}A( ß+^S p}P7הA¿+XGBBBWA _A Xq98)”EfB8)“H"+q.A p@4$++S @Q&x¿5 mD$yDA|kpgS9D]S\< ̆Ё`O[ҧ/rsL»ܧTbCENy9WD;dA ēX1f.kp'ܜ"p)DxkpN^wOt9 kAOQENy92w! `'&c: \(J2' rh1n:2' r.!`;w 3D5 9{dN?Z \[-ܜ"p)+!) ˌNc@G7;J(6B2)c<>K$ z-\ 25 D<9p`3ÓX(''4T=) h<ƀ28w'Qg;ђQOSNi O1xN@e *Ϣh^eZTA<' 2 bsL½SX2z S[歷̈MmUp ²ur!U!=dNi8W>y93pb' gD$APgNED9OP-z3tU1M2xdx"cl#IĀl$IǀmkP_ưaX"IDyùA2 2 (U~(͸>@TNiN5Cb%M#zeFc 39h!H4A0kpO(+ϊ!ϊPgfAܣ6 ڜ0fE8JPQ8WkTk8)upp6r @~½SX2X1O OQ8(4C  ƷV52Mg sX |0D T@) UDS"C$x!HFgE Z1:Sȡ$f8z-k\jg5Aj*sw<;|rsL2j5C{ uM`˨QSPgq¿) p[g=2Y4%dBl~n ưeƦzCPQDJCb 2q'4֢ A̧ª h3D `Q fSA'3AQ 9zJAN%QOS9D]S Ey9AH Ej*s h OP-z3tBwH?2!6?=ēUr[uǀmkLj"0k `0h( `* @wcsMj !q'4Y+9((+uMh3' > %9h( OF`J ¼`E>ADHq(4J @wcL* D'4Ȝ+5 ~ JNz _}`ABB2!8?p[q$oFwΔPU,p'uIۈ&e>AAfM`'ܠ' ~<ܜZ2z! |]D;&dANiqJ|n8ѝjW<&r:wKl 6$a@6MUCm651pb9[AFHk3 gSOFD]S fSJ 2Jz4A瓚dN>xx!%:$`Op9NSj 2J ܆5'.B)º 2B!)cḐJ|r"X?Iw=đ:QAUHpXO,OO z9G\jQPE !9ނ))c1)`0Tԣ$dBs!Rfi5(("oA}f&%_@ 2 ;“3Lԣ$dBs!RfijQPE !9ނ)34ÓR/m ȇId}lNp~7D> L5&%_@ 2 ;ŸDK 2 2RG&Lp5AGp.$A.@ Z8$U C BqÀ-*XPip q A2м#Rdؑ@sHp~PiOΨbipF dÀ-*XNidY2AhTpsN9@ 8 2 - - ." 2 IĀdeJ21pʁ8\ '4IѝȎq4 f%_@ 2 ;“3L=5(("oA}aFIA6 zC%_@ 2 ;“3L|jQPE !9ނ)rT;5j% rrL*R Tt8X:+g\+ Fg#bi 0vjQPE !9ނ)34R/m ȇI J2J@d'8?@w"&f=5(("oA}`ԣ$dBs!RfiF%_@ 2 ;“3LD5(("oA}b)FIA6 zC%_@ 2 ;“3L d}lNp~7D> L045(("oA}aԣ$dBs!Rfi3R/m ȇIMJ2J@d'8?@w"&fF5(("oA}aԣ$dBs!RfiR/m ȇIMJ2J@d'8?@w"&fjQPE !9ނ)34W5(("oA}NyP7F#i@ԇLzKV2G0fg@|6=9PTLy% *~ M3>ANd!:^%\KQ?& Ә>g@|+Q%Z14Ι2dXH @' }r`$@2/q 9dFbd*r 3(A!IĀd^sL1FD5RA(^ w&L 8|18bi &)ѝ+4>ybi &J8|0:="a$1ډ14΀@="*Cቦt¼J=%B6s ":Oi3EH J2J@d'8?@w"&fd}lNp~7D> וPh͌<N%ή=PiL*(>B.B_J 0vb Z uF҃L+ըj7R"j 0WQ7`CnZr|A6J6A.ܟ:Px 6ܟ:PH"T^DPƷ TwFgAAGq$oFt 7:TwFg# L$5(("oA}*d}lNp~7D> L J2J@d'8?@w"&ff%_@ 2 ;“3EW5(("oA}*ѩFIA6 zCȄMUCm*15. 1)Nd9~SE@3sL+X2z sѯA: ʣY 2w!5' 1iET?rSPgA( `tAsxT5p zFY!\_@8W> 2G j gʃ2s/kBtXWe9*3?e@gLi5x̨9Y(N ᱑ p<$ҊU_T+&RsR/m ȇI&%_@ 2 ;“3EFƥ%_@ 2 ;Ÿ"cl#I2`v]W z-9A$<$5xG8- 2 \yOM#y;e%>Td?)gh(!5 PQ8Wfy@2ǂ=đ 9#HPjAz3tU2%~xK"h'R3EJJ2J@d'8?@w"&fƥ%_@ 2 ;“3ECsR/m ȇO 6$a@6GlEqy jz-X3'[+<ȠP5 WAe  $τ"yA+kz@qB+T ( G>P.$r kzAe#VNjN52PQTRPi qTd9C\T:$ ;8? #@G7:^B5 A%NyAt`'l2doqT-$s3<>p[ W[}A<ۅ~fg sPdx¿332ǂāq$oFu¼J57r̀t( oI_()b%~DO$ $fhqFIA6 zCU%_@ 2 ;“3Eg5(("oA}*bjQPE !9ނ)LO7;Ijxb2!6?=Đl!H+S# %Z!jBn!e.G nVW+;@*F e@\kp+AFHj )p[ x!HFgh|1$33\;8?w=đ:QA++f-'( Ͼ٩FIA6 zCȄAq xʎs #djB >5񙪹9A<*x'* 2J\]RPa&%)$r %ڥn$r <4d9Agw.Pi)PQTVNPi[% 9AghMpiuF3(4£3<;p[ q x#Iѝs͸W{ۂހdt*d]fgn zvp~jA[BS'0>W{ۂހdxB}!yG̜+jAz3y !ǂb<' wxތ(ٵQ+G; TE34UIFIA6 zCȄAq  %`Uh9 y=(4UĀ QTa'rRpYa}H5J 4ODA׍or 2JsMzwƷ¿33gg$x!HFg\+33gg$x!HFga_@#DOUD%Ny9R5A%Ny9w doz+ꓚ\k{+syA᳂pW|A;8?4nY(( `N5 ~<[?E{ bydL[dBl~ {%`UCmy9`MD kp9Lƈ2T%$petAn7$pe4An QTH 5) ]AFIS^A᳂p q$oFu¿33ggHތ(S!1WR?aH6$`$$?+_\#bb z-<\<#y9BjN5Iz 2JEIW'K^Wh'TPhl 9G'9B'[AFISdG"yN(PQT AO)(*s,T>x}='AC$|bߠYd!%qRWT x@)&(3̤8?@u6C@rlpUAFISPip}@C[ ̃dx̧! 2JKyB>6C@rl,2%Xkp9Q! .Tx 53c[{SDK3?n rUq2@lI@:Ȇ`\#ȆEp} B'd$53c[Χ<ґ#Ȇ>6C@rl <Ґy@ZPĔd&AѲCS6C@rl2PQTRy4 kp%$2@vPiI86NҊ?9>)1WӖp7D&GV=$p}\6n>5x\kq §=qb _A4td !+"{K n㠣$36>p u 1"{_8#b" ؇AFIS@!8!AgUDƷ p pU5GV>1TAp pRG!$=%ΔbD!Ʒ(*s\+(4hB'n0+$p qqA"W! L&%_@ 2 ;“3EDR/m ȇIԣ$dBs!Rfh<5(("oA}* J2J@d'8?@w"&D&GjBD &1538dZlqD < !Ʒ~WNy9]D E<;D h4T  Tp6)@q 2CX@p6ܜ h,TFrL <@uI+W(80 nd@p\s : Jscc5MweE9`8TS]9ÁNᙲLtd*U9{aMQO4@p\s 54@p\s 6g rP_@pƃE@QOI_ |]D 3qPh((,T 36TS( `8Qڧ/rsL)Q10<)¿)Dg(͈#!!) 8\dBp~XG7;J(Tڿ’1F̈Mq$wpd xʎ U\`z-X1?S<+CW{ A(*6p}I_栋 $xTdA2W2 rƷ=2DO(4X;+=2 Anr <2(*s܃)pq n;AFISL"'caXJ\>1hMz 2(^]fg sPdq x#Iѝs͸W{g栋ƷBS'0> +ǁ<;}!r<x#\榤7;9 ̈Mq$wp  !!x6xʎ U\<n @53٨& D|>5W'(46 @́NP `yXr qJ 5E h(+d(}=!$+2 rƷ 2J |Pkpr .ǂ>njjAz3y ǁ<;p_7;J(^*-OWcM?FE34T#d}lNp~7D> ̈Mq$٪z-PiP ͐bP$"xf=$33\;8?Fga5( 82ǂ=đ\z3tU Sĕr$y#OdBl~ {&@UCm"Lʀg9m@3js0[`dfyKܜgHތ$!Ʒ( 82ǂ=đѭ04d<<>1p[ҊW1jxX~)SgJsaHތ'Sĕr/Nxbi)͇z3t[ Sĕri2!6?=Đl!HH63HxF #m86(F5W!Ev J 0d$;UAB_*B`s\!WXbkWĵ J 3RizD6QEj/(4fg8-vp~<(FAp<3H #@G7;TbWJlkqЯ x++}TGTCU!~C5g4SAjΓn8>TjWXƷ8W#ʪC4`|@Z:9r 2p| #e\ABldBp~{#z3tuy )#>b_W\?-'NLӳK< C  HXrc)&rhju$'.6[Y}8?Jf:via'`a4a`BI !>S?"i'&RHY SmQS]tB\X`2]`7vu;~a4 t&Qi: `gNi&ӠaF t&Q<,?:4C4M `uI":uaWC17h$"jf ?ʆi8ILtM8"H\O+I3h7 EW,јUA4ڃ Ȓ=AItr$Pa:9G0#ND 'G"H$z Ȓ=AI4svia'`a4a`BI !I tRB,O1q45:BRM)&<2A<~wYd0Q4TDtD('邈8r$K?.E`"OY'hX4)Y'#:D&TtpE8DoΝ #qڈߝ;%?Qx-x$sH #`a4 !//|(+@G_$'8S^D yb|9MžXHG"H}#K*yNh c4ӿ"X cy`M28~tHasMlgdӝH1iGA4B!bѤ쉎șAfXJ(P&Lsvr$:yGgA4)IP3N) N1":.!bu)IP3N$gaN`sLt4h #hΨ8H;9tg`,:C : ˎΜ_"H@1G2yΤO yr$&gw"bӰ"jYSuM-'X&h0,O0iF0$BF yb&RHY C Z,O3lN ./| -a aXiOMzo{{ޛ7Hw{ż(8X!^X' +2?{r?{?G3{-@w nwű8X!^/{{;7Mzo{{ޛ#;bx,{|,[{?{sQ ;`{7;b؜,{?~{{;WDU$m|_ A{W…?_ €}P%_ /|'e8' V0i,pE C!c3(*(pS /( IJO㑠l4~2FCC`h9lolcOI,̞ 㑠 E_4i# Ƞ3*N4pςP0C0 d6A5/ n7 RKpO,EFfeCd Cr4Cp0?0OHܠ1>2)? os)<%:yc)!N"h`I tC HS'RB,D?’b& K40O:X$)M )!N"h`I tC2 qȨ0 O 1Ƞdl9 JI (R? tɣ#E/ G',rFd* O"X@H7Ols<#@adFE, G*qo"Xl4Ca!2 FT D$3 ~-wgKl|)4QT_4sQKls C WL;NAG|$#:tDtw DthbW8dN5XF 2]s HX0I!ajx Sĕ唚. HY C Zm#P0ֆd`t_ K|`+ "tjxctuka X.+}ð@IN T 'P &dfXF 2]s HX0I!ajx Sĕ&K*dBi㖧[`~TbXmtA U,,0p`4l+`)[ l%"bkf@l̂2"'P"v t0i#`BI SĔ`Z$̠. HY C Zm#P020\ue IIDtM:ycVDRF:~(CQIL3XBv u]Z\a":41Pt+\ B(0t0i#`BI !Ia HOBhjtR&I!d) &9ju g@GX\aaX@u?@k(_?–-DKQO,ptK1jdœ4O< 9o ZQ/0u4ΞDRP2 GM?"N8_Nn9eO+> 4ӿO"tޢT$`0?4OOΝD/N^{?9ȿ7{ߜd_ż%[?_j)[?_he([?_h{ >I{  { BG!F?x  /<_A{J؝k;4d$`B%+NM NA U$,!-Nth .| :N-v t0i#`BI SĔ`Z$iɡ!J$0x.9 a#ϝaYi['N+cJM GGY&3a .us DthbW8'`fLA HXZ$%},iI!J$0x.9 aqOa}r t&YȖI*yp0Ӱt_\E__CDeG_J᧪'9B?Й,ʟo_C//8K9$H%_2KO48җ$8O |s?WN(_NY_i_KD'~"x'~9cYS''~f2OyRFQFD&G DGN(_`:N(_`9Qa8YӘ$QO,%?W x'qG̢YNqG<8LYNa2HQN(_q'QoqG8TХQ8Ya.qG-yqG8搵4 ?9eO/8:O'~:rqG4 %Q/?Wa1W'L[8Q1JQO,N(_O4PDiqG:u?Wh#QQ'~)&'~ ?QN(_/G?W8UQN(_T8~g\u8ӨDW:K 8R'~o ?KV'~s8K"i8T9qG8%K*dN(Kꃯ'~%@Ŀ8/'~%@;ĿKO_Ŀ4K>1fŢ%k(sm|%S_6) TͯC%kⒿ%k☿Tͯ%kxI|[I|$R_6Em|*Im|*I|Tem|*TͯA/_ /_ ~/_ O%kP@R_6JI|,KLTͯ~/_ _%k`@R_6%k`~/_ !/_ o%k`ER_6o%k`GR_6%k`IR_6 K'I|R_6. R_6.!R_6.[I|I|)R_6. Tͯ/_K%k/_/m|\sK%k%khm|-Tͯ%k%kI|%k냟%kKKTͯ?TͯTͯTͯ!~/_\DR_6m}_6/_b_6sK| |m}ͯ/_`}K?m~_%k?TͯTͯ~/_>8R_6|I|/#I|aOTͯ]m}_%k%kߪK/_@~/_@ ~/_@Tͯ!~/_BWm}om}I|O%k%k/%k_%k%k K?'%kw_K#%k%k/_?TͯJ|6R_61+%kTͯR%k_612R_61|;R_615%kI|I|@%kwm|bTͯBB_61ER_61߀/__61 K!'I|HͯDR_6R_6"_6ͯ"dK-(%k?Tͯ | 2_6䤾m}Wľm}I|* I|% I|&m}|!䄾m}?$m}|"\ͯ~|ͯ~m}W_66R_67R_6ͯE߅Dm}Om}/_E?I|#1/_De"%kNK?A_6O_6ͯAa/_D tͯ~ͯ?_6@(%kB@A/_Dxͯ߂_6BRKI|!ͯAľm}~lͯ__6!/_D#~/_D | _6# I| m}IlK %k脟m|. I|\Am|.!I|\xͯğKdm|. |\wI|\ |\._6W/_ 5%ks_K?TͯQ/_ &%kpDm|.)r_6 TͯÏm|.*R_6߅ľm|. /_ `ͯ~/_ 'G%kqI|]G_6?KI|\I|\kfKI|\~/_ Dm|.~/_ /_ %kp;R_6?l`a4$сҌHX$ &`BA$$,bII N],pE14Ҿb2I!d) &9I.?O)4ғ'')4ғ'a8j8’(F:@v]q/},ifcJ8?"-rNùYRI4D~hG (9')_ydL[~bF1Jõ|v9|Q<%9y|Pc,)_4qhcIRsđ1K4He "MXL?pE&FȋcDҧI?KD|h~(Ț8MXR'.~DOQ9t0x}2x|G(ȡ.@YO"MXO"h1\)-rNX;L(]G+Lk8X dUzgL3UU~hKU*o>D#mVګ PYTO+LgK1jdAUo>bԑt XmӣG4syʳjg$g{n}PJ˼o9蠕wy L&7B1J%NZ}h_}ՆRT & *mS0sNQ>W6ziߑ2wOVmVlӾ Wywe̱žX,;HE3FzgKln66y yb~D΁$ 蠕wy^?]*qQaҡ@3 ƃƃd9uzJ^4eCATrP7 dTh8 nڥCf/!bP6uJ^4 eA:^;<&rc8Ǭ4 Wyw@?<&r"X c~wJ>gP$0-U͞,ڬ)XL9_,;'q7,!E x΅PJ˼(vt6Dв Wyw΄$m0΅PJ˼PP"FyggB(%]bCBL=;; Wyw."FzE<.Fx]PJ˼KH4ݝEYD.30ݝE.;; D/<׊]Dz "U]?E/f^=o;; 4^x]agJaS3gO+0W6ySN*ͪ͞| umU"y"ta͞}чM*Uxسha;@[gA*.onŐU]@vv]2 4ݝXDy$0M4;;  9&ߝeGy!i-ML62&gfȚwd#(0M4ga0e#ePJ˼}AJ?;L27ìT3C@PhT3C@Phϲ5 C>6A:C14lO3C@Ph϶u C>6AAPd9 Caj4>T3C@Phϡu ^ TFyFȤh26A뺽FȤh26A:FȤh26AvG#"jhϲ5G#"jhϴUG#"jhϟtFȤh26AFȤh26AAQr2) lQr2) lP#0~Dӻ;"<47vv >YmtPJ˼`"y~XtE3(7f&1"1u*ͪ͞(uն͞@ar[6y,igU9Vl* =jqE"bX>6l$r Vڧسxnȅ6NJ]D/`OcJS f[M;7jVlO7Xmjg~Ӻmg~in}PVlOiߒ#X>Yʳg};DbU׫6z''U66z'tY>YxP6}06דTmMb՛=h Wywx,x@!{(-$ARۥLi$.};f՛<] FyRa mH0]Т۞)vv[m3=ge߰[$IV]tS89R4'LjXm"uUU<;=a1dYulM<U)^HhiFwO1T-՛=<*L(@;tbU=*8Xf̺yfO 'ta ͞8MqUDjqʳe{.gD/VrȠwyw1g(Q ˞)v{2$g{.fP"ٖ'04fXDyx͑ +v{Y (%]et̲k!fM<y]6f=A"<Uk8f,Ԋ$F# W6zE#~t.O,ffHDoΝ<`HZVl$F9`-Kiu͞DG,JBurHr[ űkUz#mM<%&-ZVzDoȢi?V,Y#~E <y]'k՛="6K,XqXCjgF0}"t (+k5VlEe l}gK 'wg _k5gK̢KˢFyR)v{0$g{.fه_fK8%̈G;L q̱i՛="7I;6 "7`-Vګ6zDoIlΰBY#~y+r6K Vl߂(I$ӺÌU66zDoȚIݳk5VlNa: ݳ+c՛="7 gv!rtѻk1VlY#~DΑY~fHc9ݵ՗6zDoO tI]U6zDoȢKgO1Vr$rʞYUfHSI$'M3 ՛="7Fc; CVr8DnUm#~$iaƪNUǤFtR38[>\zDoȚ(]aƪmUǤFH&VZߐw9uն͞{N0S1iS>5v fJ affJ񙂈/v!mUCVmVl,t5mҦ|,zqzFٝaƪqS>`YꅷB(%]asc ;&: -f!mK;cY!ч0)^T/O |ΰVlL_K9!nڬR\D)N[mU=*S1Q$ꅺgJb:Q"a ubU=*S4J$Q!n6Yҥ1~i.9a ua ͞);!nUfJguufJFwXBlf=p=#ӺMU׫6yD>] iaUgRmw*͗zY-%Naw`VlYɢ價~f&'R<Uf&'R<uf&',VrDdu-է6y4Q>bIyoSZDY'tS5Vlh~EB_?:}uf&',%B_:U<(NKg:XB[izgE)dF& U<(da8i N8/g:v͞MOȌ204 3&a u@uf&'FNӎ mʳgE# ' aiIXB\]zgE# '4},ì!n3jgE# '4}$ì!n6YɢwhG@\BP2xP@(%]aBߊ]ͱzDӳd=NBH_H &v{q)ҨI^POV>M<L폹U͞Fٝն~/P훵W6y$T$/v{ + cȝ͡D =g M"U #}"xKߊ v{@"U #}"xK*h4^폠f?2Dvګ՛׊]D/y葞aR>!}NfD =gHQ Ӟ)v{4$g{.f"٦RiH0]D/MxՑ#<)v{4!}].K٦ MNYL&'Fc;e W6y4Q?,hM;!nڬDh YɢIΠ͞MOIlΰg*͞MOžYcIuU׫6y4Q>DiLU66y4Q? DFfUf&'ӘNwluf&'#ilf&c9Qf՛/Vlhx'0bYɢ:ˍU<(K"ia ui͞MO;Q!n4Yɢ"Tu-է6y4Q>]#L[-Vlh}Aph"WXqOYɢJ`c5>gE馊4.f&'Q1FAV^DQ019* U<(4/O {mʠ]gE1d -՛<(X!%-uUnU<(HlquO&'R',#K,HwXB\mgE@%$O;u--՛<(9uN5Cg*ˍ<(QDAVbf&'Q3O:È*-5Vlh~e’4ΰ͞MOƚiglXiw*lDFٝa uev6y4Q>y]aet6y4Q?$LwlYav͞UAӶ@uf@,6XmH>((j͗^缑4SteD?S#V>){ȥHx*ks *Yxҫ6}?$Nr՛<L%4*ͪ͞{JhMXO/#u٪d<ݝU]Y\l8etf͵Vzt‘&uUl[i? Gb+,[iM/4?;L熩 ҦX]4H #I3Ֆ9i$?;>TNtE3m%.}4f3d(jYKM vP՛U$:Ն׫6y)s@[5t60,D:͚f>XQgYVl)vvl!{6A*fQ4(ߒ+:͚f>Y _1KWY^db43dafzgu7VmVlfjUfAR[6y3^-"a;,EͲxh$g{.MY)a7vvZ]ge i PU],ǭXR*e"K BxKەf%"H҆r^y"vvP(Oge H=ge a;;(PF;;K(08Sgvva{՛D)vv3=gj"FyRY $g{‡giA*.a;L Wywx&8S k1Ie>3о-8I|8t/<׊`J4iA $u97By)߁"GO1R&,0F9]<NJ}h_} G uȒ7BJH\x2 @ZxNLxX0I<Ξk}h_}Յ;,p'''Ȓ7By9F}h_}*8K0J^y#8K0JCI#L[9s]K WXbOU1lΞkC9 <DŽЗ` ev !)cTè:}h_}Ն=<&r:wP$0нxO<&ri>3о|W8DoΝ[zHa,֖8SQۨS0M q,^y>iH6O4/j*-wH7BJH\ꆘAa4q) H-xј& P<:wP$0о|R4ų:*}f }CTXO,O;1м*}f }CV8&<2AF$(Iy4ų:y !."X cu3ⴑ-[Y#YSY]bј& XS4򦄺WB*}f }CT,xA螺4n1o4/j;,p'uIy<$O2H&.u}h_}g#WN`-нP$0[O4/j^I,p''#t/<NJ}h_}է<&,s:ȠlfFA4 nkȠnP GA3*|5 'CVsȠnP GA3*t5aE40$N2ǁ4[΂, yb~D3!>F t:DxARșwJB XW"4Uq,^asȎҫ],^as) _KXHb =,HbdFUD \iUf".{%&ҫ m,^asH3KM+V@ X&MN2@yxM3F9]*f".{i)ΑҦl X$O {A<Ți0KiҦY],^asI"gҘ$GJ>,^as޲Rn2@yy$f3,h{L Xct'=},) & ӤtD \6SSLD \J]*ib )dG+LO#M4,^as(vv> #l"<(vvl^y< *eS3gO+CU͞~Ӻyjg,hݲYϖ#4JnѤՋ9Vyr$Ն OU׫6yFA4nmVl^6Yy^ HgnPJ˼[ʟ.Ҧ\E5},B*YϦ~h*ͪo?4s*ӕaG"D(*Ua{K1jtLf-L*XmZ4ΞAV thwO9VmVl7~'9*iS1gt<Ն}3f-*uaJ֭VmVlf-w\mU<;< sC,'O+ME3-4f>ڬ'Uf>]͞~huŜ6y,.b6Yœ4b!YϨ'O1[YgN$b>YxL#󞳳m2+0~DӰ9 wyzȚwϡDxݝA*.>CM~:}V, QJnrՋ8oRkzg{,~Ҧf0m"W[bՋ8 *mF 6D#Uzm~ ufHtEjV,x@P:m"WgmMgm$m{vvE4 蠕wy &0 _0 &p% ݝ c‡g@(%]a{Y/(|3HE3 IgP1U&} dH;u\zcϨrP3V8xL ݝG[m6ǭ(RIi*@v7PfBiHD[iݝ 9⨣?;aU"dl Fa"iߝвFD[iݝDy  0ݝDNXӿ;0+vve8u@iҦi0ӿcPU͞wL666ziJ(B[j}2IPVziFPVXm|HBYʳg"u a͞w1ӨXmVlӿ47PYNȖ7ll}g',otU=4丹De͗6ziKg:fM;4rfl=gas葞a ݝ"U]z)vvq3=gat(wy<wgaA*.m U]>x*bˢC2X2ƃ"2jP0Yh NPR OC0 n!d8uFC`h9|d6A*2 `h9u F@X3 2ˬ/QFx@fP`.jFd* ^ l6|d6A`8>2 f2((>2CXnx`9 ʟ ƃ0 bb̩h9 CQԐi;a_ŬVYPJ˼*b"d5}X2!Tlnd5u!h2*u ?Q`7.PnNlcG\^P CQF"X^x`7u*9 !^XG#@ 7Ɓ:5l c5Qh @Xh@l0 ʝa3*|Q@fTP, a䓎G30JX&,׊6VY(%]`PYH=gbQA*.<·JetF 7">W6zE ݪX=E+(tXE57DPZǧ~Efb<߂(~E3dL2Dž 4q3ggaQ?Ai-ML62#<'0M4ga菡Q`xݝ[Dz; Ea _00't\E3 "XH8uYfO"XK$NUfa,oH |uH32Zr6)^тˤ~?,sG(8am)^т'aAjdF է{00'vvB\wÀHitL2f&ߝiGxO C 'vv#<(vveX[Oo,o4&g.0SYi -t5^6hpdt5aš(umVmV](vvm4?HvlHc֑46N"<τHQA*.aߜ4)ҥNҦf:dr)>飝"WXf^6@[3Ն׫6y1WHa43Մ66yByO3ѿ t ?[Yg%|'MΟ?[n饞wO3[8XmgufXm "u6^YǦx00'Xizӕb=4D 1S 1ryg.4O5jCj%jlN=4p4Na3͟nϖfm*ou /T6a0MbHuUYIk O9V-c*('X?jk8XCg?;A<i>}.w'4M;Lmm _L(tVl"tjg'7x$HնŚqwK}!{=;I&0};;ТF[蠕wz?M 0ݝ P6(%]ޱm"U]>xwHa4hg0^; Wywyxw0M C t"B*SC'LTFUz֫q3 Ն.,~ia~)&/t5faxK:I!ziʸO':z>\zeK6[jYǞ=;&!ӿ;ۈm~wHa4DS E3-5 C W $^Ջ8) &9_MXabV˴ɢQ2xKPY>auaHa4}lUޚI~b"t ˹VzO]$NA[ZUޅ!+&:T:+k4YBiBia+cV) &H@&C;PJ˼ _wgaA*.=o"7@7vv2wNx!Ҧ4k/ t ȍ%3UŜz駂ߚx'Ŝ6y t > xN m.9L(;tL4Yѿڪb8Ф0x~('1V,ӋSg~('7VٛUy;D/a g}2x|G((@]D/a>~N`a$Ovva/ga" t vve[wgaƑA*. z4<%E0S0>4ΠbǦp% q~('j7VxqE8.È q;8[PJ˽cKtH0ݝ,"U] xݝ6E=o$vv Wywm Wyw #;\[j? t=@_QJt˸k94}$i*\zi68ȐvAW*H'wO ՆޚD;"pDӺ|YYH)]nmgDͿ4)F:}zf=gQ#<+v{0(%]ewa=(%]޲(a=iYR`$g{nfE. ݞ E̡xVa (%]`'v{YtPJ˼[.k0[EY+v{YPJ˼o c蠕wy^=o;==$g{v{Y (%]e)v{2"/ҫ2(0f25 ]!(|l4 Fguc!h  Q;jc!h  Q]fr@h6}Zf25 >c!h  Qnr@h6}*!(|l4 Fguʆc!h  Q.7J͑FyFȤh26A뺽FȤh26A:FȤh26AvG#"jhϲ5G#"jhϴUG#"jhϟtFȤh26AFȤh26AAQr2) lQr2) lP#0~Dӻ=e<%j!Y?4+k5VlOb;fYVl;=]0eUfE3 &9[$SO)3Ud "䉌&Uzgdglzj<],_d xmB[ÄyfT6E5/|8"uܪfH<$uܫ66zD`tUmgF KH:yn:)vv[a3=ge")vvODxmtBOK}BO?;}G>(%]BAHC:T"CyVz$nf7VyH ftff=飝:t"h@[3iW6zxT?4iDAVmVl~XLcv mU=<*K4#I;͞Oi yg*͞,3f]^Va.K hB.d,FyRB!}g#<)v{!!}gQ#<)v{!]!Ka=q K葞a=e3=g"q(dF9*N"-"7@7PUzgFi't5faFYH*UfHi -4[6zDo"Xt5bUޑcY!ta͞E$wl}fHI;qU="7ӘNwlu͞Ogrtѻd+՛/Vlߑ<3vmVOڬ,sG;BYqgFqD!n0Y#~EB_:yӕfH#T*Ӌ՛="7ӨT6zDoYS36zDo"I&:iX]*͞NK0J*^$ɓa6zDoQXfHXysN폳V^fܫmVl}H fvZUaGƎӺy٥oH!lɝ*()`n՛=*SG7l}ʯVle,HbX&/tE3 ʕO3UoJGVJi -.j=*WҗiݱffJR;cjUfJcG3͞{tͰf-*g$hX =j\zTϣIltqʸ0vڨ[{wglU]L\Yݞʹ ~_|"tŬݞ͟DyXHf}4aåVmS4L_HgYҥ1},ٳffJ!N`wlYҥ1~3KlPVlL_8GJ$QlXfJMF?V^R4ӗKٳa ͞);lmf͞)8 ]gc՛=*Siݳgg6y#H y"~wgau쁔PJ˽c޳nx'I$#*LDӿ ia^&F IAVmVl#NCMf. Y 4Qa4pAT-՛`6~qʳgEs3fg͗6y4Q>w`6~YɢO"i},ölYqgE)dDIluf&',6~4Yɢ ?V^DY'lbf&'R8/0nٳ>Uf&'Q%3JClOnDDKglf&'ӨN6~YɢN #~ ]g U<(da8i N8/g;fU<(da8i N8/gL;f-՛<(da8c N8/g;fnU<(da8c N8/gL;f׫6y4Q?"0pQ N8/g;fmVlh~Da&p_<Ϥ8v͟Vlh~ic9GQ-3WT ;;-Y0l]XD/eHvl:b~wgfc)ҨI^9͐"f3:U #1}"xKߊ t8g& &u f#IlΞfڬ6a,'LQէ*o=? tFbDTK0qR'lWm<)^Yb՛$;fՋ9Vlh~H'O+>XmzgEFX^!YɢR'7Ybյ6y4Q>u V۫6y4Q? eg6y4O1:XrzgD9γeU<(K9lYqgEdM9lZagEF?VrDE*H;fէ6y4Q>]#L?SZDEu>Uf&')rͭS6y4Q>hJ`b6jYɢG Q01v۫m/Vlh~(Ҙ̜Xctm͞MOS'YAT Vlh~y`7Ye P2Yɢ߂Rl}mʳgE^-1W^h|"r?;~dv͟Vlh|"r?;~d~ٳq uf&'hGjeƞMOXNhP폷Vbf&'Q3O;cՆZjD#$ig(6y4Q>[iyeKVf&'4?VWizgE'nf&'DN-7VX]gC%t-9VXegI LjەaI Lhuܫ6]zgD?iL cҦl){LIL_t3fQLE(pDS6Bf &u f=JeS8:yʯVlxa0XC66y ]*eMX<%fYо<%g*[iHYVlD𗾚3e*Yx"xKߊ ~DO)XON2観I^)O*t YWm<%K~YʶxO"gҘ$GJ>˽C蠕wyW1Ҧ>cc;ݱYј9c\AVmVlf347l Yјc ufFc;ƍ\rYʶјtta ͞wRƖ'YB~Ub=ak.Y?jg1HK.5Vlf3X_<LU GJS4KLi J_,uM9Vĥ^bu/V^YǃℱC L;Ymʰ%/ b4E#u5T-[mwڳwyx7JLK%/c;0~զx1)~c&F֘r4XCgzy֬[izg J_ ,0FVbr@~=ChwyPzޙҦ#\1)~3i^4KA<iY?e J_uZՓ]ĥ,FbZVOw0JVAU.UE+L}$3fKDn٤5ff=t!E3M8ruzKA;YʶY?e{4iĥ֬Փ4bPOa7ZezVOxqPJ˽g5:Xk;..d4Tˌ"’(v۪f%$#D }zjg’HҌNUf%$!iG1ˋ uf=ge"NҦP4g'H4wO3UoNRA4Ξf7VyD:}zjg9?;&P5;PJ˼_WH2ȦaH4wO3UoLRA4Ξf7VyD:}zjgH)Ҩu Ui缎de(-H #I3Lm3i:jX]#},e5aw $~P3[0=:GY@~ٶONR>DβYfU#},.Ye O=zh}$ݝ2 SG;G +Lq4H #I3AUGzXœ4b}g&<-8Yx@xw<%?;tLJ\4hQYuHR]2HmϦwYmʯVlRFc:e*ͪ͞J\H:yYK v۪͞J\yg*o%.~"t Ua>$:hjk՛ӥLiO`Y2!"u6f>XQgYBW6y;([D/e >S(P"0i &Q1$Vu6f>Y _1KWYBW6y+L>f|PU͞0aPVmVle YE͞{%g'ݝ쉛xN.(%]m[. ">Ro.&[ACPJ˼řxCK @P_;M0)mt,'Uzge%эM.ڨP䰤,W^/fO%!`$iFItaw6y,) # Ita/VlXRNU<PH֗CVqg120dwO1V,uf=:XRߝaM0],^ xNX:HLA;hwx]] TB+M4̶"7lӕ^i oA E+4lk/Ȣ͟n!})I(֏[6fA LO#^d^!}"I6vX=gi i(u0I<4SY%~"wZhWN=dRHM7VN=d 4PVli,hN`wl5bU=dwZ>XmzgK}H0]D/h Me̶8_ZiWqwEY]6z4pwC֏ڶBŪ͞{. >ϊ]#<)vv.x>>!{P>3=NkFyC{.vDxmHm;MKH04ߝmGKEc.n""vvBM;;HD{.#<L~wgiY)vv2CH=giH=N#a=giHٳ)vv86{({.ӋFyR8$l;NY6l;;N2{.Ӎ"FyqH0(vv@/y㈑aR83=;tPJ˼k‡gi wyx;&w)_G*t<ȡмD"WT0$PN\TE+3!CR;7O1o4/jI$Ϙ&&"WBxQ($:cȡI,f1^y>3о)<%^y"9GRC1RIQJ$8}2xмDJ[i#N9S|dPP^L(I4}"!Ӧ,n3оH|(-w'7)ft/l0JE,ΨmY,/0JE+S0M 犤LE,ΆHlsQJ^2hi -uA3оxuI"xߝ X)YQSS'D \(Qa;=#Ő<(v{!D/<;;,"U]?gfȑa QA*.$Dy"vvP"<nˈwy29RȞgJBfm #IkfBti -uffB(@Z'UfBDi -uBYп .Xb<]#<xLY x#<;;GA*.#(%]f.|Фbˣ(ti,ųH #t^zXQ xt`XzXP4Ѻyʰ\y9 'tUm(0U&$rV{g0f8уbˣ(t(.iW6zQ;9U͞{gg?dPJ˼>D[iݜ(9⨣?;i|U"dϢ>ϑHwvs<瑥Oo">߄ɒHݜG&.O,I;vD};l>ߊFH5;N>+,H_47vvDX!|)~wgm&ۈwyǏO60ӿcOU͞wLͪ͞wҧ7OmU=4I"bOoM;@ZlU-Vzi0'[XfM;DlՆ׫6ziߖ(Nj!YNmU=4On|4ΟnYNu*K8;:A*. ٗ[n΁PJ˼ݝA*.=o$vt U]e^=o @a:kʝ*@}6#GfՆX]Ib˝@XeZE U< -taeg*,0ەf=‼p"@߇ qgtr4CA2G#Ad9 ʇ!Tr4Cx`6;jF r3|2*(:G#Ad9 ]j2 CpF r3|0C'l4Car4C㑠f8|/ Ad6:xQ,p'L`!D A*.xP0 Wyw^̼z98STL-8DnCU͞R]<%j!Y?4+k5VlOb:ŜVl;; E. 0ˈaG;fE7O1VmVlY:yY`1tBYxe "s‡gaA*.yP;L4)l4*YFUU:bgaaX%~wga;4,o4&?;PJ˼/_QJS 8fF?U@8Ȑv 7W*@PO47Vxi !{ 940EBS-8ѤOOIlΰU^ѤOOWX>՛<'LZc<$N}V>HA*./e;-D/e_"7Ҙ$H"YtE3I G$N-f=ge"FyR!{-[.KFyR$g{-$ҦY(TM4:yVxHmjgGga(wy yE4C;L i/g$La4nb՛<[$S:jͪl)vvD/a^)v{ aD`3*eR#GN^DffH4ΞjVl{`1IgO5T-՛="0^RQ3rHO5V^RmH0]͡D/nxha=@_fKٶ#<)v{6}͵gvDx(n)v{6!}_hKLcQcwgA*.izDo&ҫ>g!$FjXmCyXmi -UU+v{.(%]et˟D`F RݲUzg QŪ͞D (YS34OY(bi,j7Vl$F`g$,S:MUܫ6zE#|0LEIeO,ΰUm͞Dߑ2xgya U="t:MUU=""d4 gXiegQ"7L&<3<ΰU@ەfHDo0,0M:!/j.Y('K NgXiͪ͞Dߑ1d0M:!/j6Y(', Q%:MU-՛="B4Ȗ7mjmON$G4NUmY4N^ =,sG(8 ͞{.e"vH4sXLr#iM<%&-Zնoi.1lnm#~EO羽Wl g*͞(niAV^ Y`5a ͞`ӗ(vˡYMNن+c՛<`p#<&0~%vv;D/`)vvK!{[KH0]' B׊]6DxB!{mga !_.ÍFyReĠht뢙-"7@7PUzgFi't5faFYaUfHi -j[6zDo"Xt5bUޑcY!ta͞E$wX>XCjgFA[YgFs N!Vlߚx%[8Y#~$u,՛/Vlߑ<3u'U="7hu(*ˍU="7È'$宰 ZagF 9ti*͞G,U6zDoQ%3-VlOgO1S5Vl߅:DM"t:y@Y#}4f3*U="7V^="7)RFVr="7ˢ$i`uluq"h1uնګHM<%&-Z[i!`xt@ufH價UnU="7K O3VlN&gO1WY#~@_L*mU="7'Q*yӺygFdKyfH%QL 5T-Vlߑa4&@aYʡCjgFOn "7hGΰ}KǤP:m _.I"WX>X]*#~3ݱj۫6zDo:'l}U="70;`U,Y#~I'vܫ Y#}:NgO1Vqgt;ګag.3>Y*͞TbY͞LO$E,ٶ*,Z< lՆZj< !#CV@Y#~ TKٳaܫ6zDo*c;fU^$Lwl U="7M]H'UзVlJ`yHO5VYʳgFLO#^׫6zDoRiHO5V!Y#|HI4XrU="7PӺ(jÇ۫6zDoC吧P;u8Y#}4J,*Yi՛="7E8Dng*6zDo0I9F- bձޑӧ/3>lnU="7ӣF<?"die+f^)H`٦mVl)vv0^>$ga;Ϣ}R9RT"GEVl~)(u՛U="8M`CVګ6zDp?"5}nhguՋ9Vl~YG4|XmzgGmVl}H fuj6~XšwO3[4Xmyd-3VzDp? 0QVOڭ)vvagJnȌ)`fJb՛<]"}KR *`S0ܩ_,t5^6_0La4q:za_Fٝ`uUqR$Nܫ66zTʔR,htBY{0HbҦ|2FUzgLbڬS>9uثmU<*aQLťL1۬CU͞35ffJ񙂈/v Vګ6yYҥ1}A|Ѧrqʳg8dݝDy$O8&#PJ˽cae Ii0wJ@.~$L;?U͞Q"diP$aff(240~DFb mU<EG iaBY%F?V,Y%F?V^Lt)uՄ66yD~YO+ nUq6yo,QۥL ]]yg}2xn՗zY-xÈnUfK;CYDyU=,Țy]`rVlh~BYXmʡnDەbU<(8GR&W:nU׫6y4Q?,pM<8uܫmVlh~H<:nVjDuB_>`r>Yɢ 9}$ì6lf&'Ӗg:nU/Vlh}9`x}$ì6Y?jgE)dDYXmʲUf&'R<ەi͞MOYS36ZiʳgE铖#r8YɢN #},.ە>Ū͞MOp^aHa*}͞MOȢKg:Xmʟ@Yɢ D<ΰەmw*͞MOQ%3JC6[izgE)dF&nU6y4Q?"0p&p_<ϥ8uܪګ6y4Q?"0p&p_<Ϥ8uܪ[6y4Q?"0p&p_<ϥ8uܪܫ6y4Q?"0p&p_<Ϥ8uܫVlh~Da&p_<ϥ8uܫڬD# D0M8yI0p WjD;4r4\BP2xPh(%]am=i̳zDӳd=#x":U #1}"xKߚx'0g<3:U #1}"xKߊ t̰g& &v̯U͞FٝDiH0)v{5dB4Nj&*<%;=~iI^UBHmd5^HٖYx J$oO {٥Y>D#<yˢFyKً"FyRaB1l'JivE10W6y4Q?,hM;6YYɢ%mgE$ AT-՛<(Fٝa*Ŝ6y4Q? ye$ Vlh}:;fmVlh~0~Uf&'ӘNwl uf&'#a lf&c9Qk1VlYɢ~igmfjU<(K96YqgEdM96ZagEF VrDE*H:nU6y4Q>]#L SZDE} OYɢJ`c}uf&'MiL ]Uܫ6y4Q?24.} [izgEFdh-Vlh~(Ҙ<%٥v͞MO,횵P2Yɢ߂RX>rDDfVy4Q>Z9d Y`2DnUګ6y4Q>Z9d Y`2DgXmʸgE4r4~lYqE 4Ӿ(:5a-Vlh~e4O3CVigE(uܫ nDli v .Xm<(@[36Y]͞MOWX>f&'DNCVX]gC%t폱VXegI L ,6XmH>( U.Yy"i41U){LIL_tZ͢w,P/~('ҫ3dS54Na3ezVl/t̠E3f' e41yʳjgҫ2#@7O5U͞}"xKߒ'l Vy=m.<2t̟D`ϤO {Vl/O {eVz)C'3jVlD𗾚3ݳ-UzgDS8*,$O {M<>''lVy$IlΞrVlv̷T-՛xٵ ps%243fQMf?Uo#IlΰXmuZڬE+CVګ6zE #L T-՛Y$Xijgzy9uNfUmYavvXB;+D/ew<'vvW(%]a CIT'N,0-tE3Fc;E} W6z3Fٝl Ye O=zh}$ݞ0/h~hytY4H #I3qVZ>Ǝ te՛RѤgv{ &, Wˢҫ8)i)s1 b՛<јΠwljg>4ΞjVlRx`n;Qr6R'O 5Vy)s@[3Ajf%.}H fmVlRFwlUf%.~1p;@l}KJgl5f՛Y2!"t^缐t$ݞ[EcDӻ=D}iҫ!qO`Y2!"v[f>XQglW6y;+_d(|L#eCEglVl吵uתf=#tP0vOzgv\66xβmg )]AT-՛ TB+Li̶"7X>WBBpqQJ-!BXmwAR+fϷVl$AR'V͸YBSDy6z_HE vX=)dG+LO#Lmj4_(HOګէ2W)Kuէ*ӏF+B' ufF+Ǝ u9V,YѦJhgu*k՛;(E!x5|8"WJAdSY[$.b՛b<Ն},ũ#LaϧFhtff=geBP5yҦP6f,Ι;UzϦ},ų:yXn6T:ff>bguʶYx@ O$NZQ (<2S2cJ VlK*ͪ͞}NzYϗD(͞~hu*Ŝ6y,.b6Yœ4b!YϨ'O1[YgN$b>Yx2GxD>(vv\a4z˖E2;.2LgeƑ#<)vv\> xqB\?gei;.8CBB$g{ȝ,"Fy'ge (aB}6P;([DxB$g{ȝD giv.D/iv;;L. Wyw][ȔNDct#IhKT9F4ų?"X cuF9R4'L y̡:itDWȒ9<NJ%x#MXAF`t5?od0V^y>3о,xsBxј& Yg3F8gt/<NJ}S:>I& !|8II$Ӻ>+}aD$wT0~yƜwTY>3оh~ync)E:ߜv7O1I"eybinc ѣ9<Ǒ3Q$]ő?;;Hwy OФtrʙ;>~(`w.Wga? A4ΕX XP6^y< *a)'f? i Wyw^̼z R;LE5m #u^0&,n\a lyta\jb6 ՛=8Dnb6NU< .ta^缜d )WJY,B*YɢxY4rV9VlڢђH&ҫE3,6YlKlyVl) d%ffM<47O1Vګ6y4i#J*gIWlXfB2Yj6YFU66x)]ezU= uf#V9Vl&ix$iL;M2cjM2hLUzvzd֭[.8cb.gP$'O1VfB vզ^'vvE>}'LZ͟>^;MU]>xN E>}qX[‡gi (%]a{2xPE/f^=o wyǭC(%]a{2xPE/f^=o ݜHwy x'vsA*.@xNEYǭ;@ Wyw[wg>(%]ޱ cNQ(m~HhW6yc9GQGͪ͞~hexKh[j%֛eq裚ZA[0U8Ι;L!XmNj՗r60OD宴ZiǡK!vAj<<#}zMWCgKحlNUiʸ=,p>YBKS&դfaFw0 N֏դmgheD'L !n/fQ*r F0Mէa{4"t:} ٧$Q$3:}OnU :a5Vl/0t*}[.ӏ=gmH0Q#<(vvDx> ;;mU]zPDxq6{n΂Ƞwy /IH^y QoXPaH&3,N֗$Mڬ훫mUHbԑt XmӣG4syʳjgHRlL߃ؘxD=-,=- Ëb`Gű0 ŰB XxbJ ŰgEa(ŰȍŰ@P!BJ Tz,[ @ Ëa(FEbX+yz,[P:aŰ@Z=-?#z,[ 3l'TŰo#cbP X^Fxz,[ ?XHAgŲ@b WgŲA#Edyl;0J=-#EdEd Az,[1l^F.WgŰ:@񯑋Űq0z,[ @<8,Iz(xql<&E`^T[A=-5 ŰF,IË`+PE`qeb#ީ0xqlT*- GŲU>*CbЧXv߃ҟXtB XtËgAAlZ Gűm|TűhmvšAl5aX (0z,[Pxql-)WX AߊX BXŰ*PEa[*Ű´߃V Ű=3bV|T"EaXyX~[*lyl9z,[<8 x ŰLD\Pxqlk~[u*lD\ GŰ*CbXŰX@b{~[]b#!mr qmt߃ mp@`=->P=-ŵ-?-Bz,[\#x ŵUꑇbb>@b=-Y?-]*GŶ TbAmz,[`TEl_Xz,[X`W*GŻO0iꑇ=-xD?݄_!R=-! Ż >*ŶB#|z,[e m pz,[d ?xqmqElFCb@Gų"0Emqmba|z,[@o o# ǢŴGz,[pQ?- Tbۍyŷ*ŷyGŷ<8{z,[pE7Ǣŷ7=-! ǢŴ ~[B.#bz,[BxDИJmËhC!R=-~*mAP=-Avs=->PŷFxz,[xg`D=-xqm*GŷX1;z,[PXX_xql.|HX*l.T"E`#cb'x GŰN$yCb8E1pXPבŰP ȟGűo`D=-~[*űWEc5FCbѿxqlhylhFxz,[ |z,[ =-'z,[#xqlb)XRWhŲobl0 AŰx)[ ~/+a9PEa*PX ¿#cb/xCb/zxxql @z,[ߪ9 -/CPܣT6 - =P -T7-.-̷~Xxqnj ŹT(X0z1ŹIŹ;EsyǢŹyǢŹ1z,[ǢŹ瑈b@z,[0T7-T7-[4-LqltUb(X:yǢű<1pXyǢŰ]`z,[Ű}b(Xb=-#b+1z,[|Ee^F"EcF"E`cb(X Tl)0E`Ű`b0Űb!y<G0EfDު`ِ`p=-#X E`c`z,[B'b2:-!'QlIF"Et-b(X@y=-EF"E`_RE`xE`Ql^F"E`|E U XP4T#bڐXOEjD#Ej@-ŵ $Cpn[0zŰ!1Űk_#E`mblŰj<\=-Q'bxz,[5F.B7Ű \=-G1pX$>F. z,[blBGŰlIblF.FP;NJX>F.Џbl3ꇡŰzD[8P<8p1"*T"E`D9@<8@AxqlHPE-KϪ!*T uHm!%!@_IuL^)]|xĠė_xxĠė_ (1%¤%$U?A.xPsPbKAA.]|*>%$TJ IuxP>(1%¡Ġė_ A.J_%_%18'%LN uE8'%pNK_ _ 9.?r]|,N u"`F8'%pNK#_ O9. 'X$_xr]|\9..$8'%O9.. N uqr]|\w9..9..__5pNK8'%r]|\OpNKG.>*P %*0FSĺ8 zK1 zKy=%ψDIu#ȁ.S@_lȁ.w]}_"`ȁ.؍@_@C@_@]}m@_AG]}@_@|^*_BW@ԗ_x.%<>D u]}ȁq.A \K_"ĺȁq.@_D u]|bI@_ \KED u^D uȁq.1) \KFި_?IuW]|b~ /]|bP$Q/]|bB]|b __@KG߈$@P-% _]|b u__T~KB7#l_9.1 >#*%"O%~l_DAd"%~IuK~ĺ"O .)I.*]}r]}W\KxD%PKk]}?"ɉuC?K) uCoò]}uE_IuAC]}oP%_E]}w.'~D)ĺ#ˉuF_ĺ*?\_D ]}%ߤ%_D>ԗ_Dd w4%>' yu@_D*%_K?uB/]}@|K?$ ؗ_DN7%'D (%oԒ?_DD,%Ȁ_ q䄺\ u>P*%o%%sRKR]|.~D uA 6'%[ 7@#jlG-lHȖġVF%b(mbP$[`ulJbYlJcġD%0F%ձ(VġbQ ġ'--[xlL.- be+b`@&n-lL"--llLpPP+a()[ Il%cu-l%*[ TJ `l%l,-a(ղlg¶B8[!*[!+VLr-2 Bd l d i d!1[c9؜+̖O]UN1ͭrlؙl/^ 'N12'L%[ pV2%u5pYl|VNOPNA_['uVql bUq V>'=l}Uo~Pꭔe%[(ld+`+`|P +`"[ŰP-8?[ Ul(1*ȃ-0ldw![ :6 c(J&*[9=e9U c!$[6A# VBN0B3 plf.ͬUL*>µe=DձBc1 ƅ:cA@4 liB4.+cIRҌlh Ɓ-+[̑lh"ulh[\-N,[ ȰB`l/l/)*^Ukayaxsax7axl/recE[ .^;-N) [!Vl+`}R6- IP Cl]llh AR#cUR1HmR6Rc-фe!BRqBH;>@`wUl0f *``c,VQas aw- pl0p@|l0yհbհ b#aj`qz`$`2Id ײ [ ż3K`2plAN!([d#az 9Ulj85{[8ljq7_uV^qll@6x Ull$g,l1$īal1'V'[ ClRȖ-*r5}aV([ DL!aHb$aJ܋ crL([+cvD7)qέbձ$ !ꭍ.qln2V/-Dl2 Jd-F8J2dZdl2rEV,[/%[lpcL8 [)ű} }lpuVRŰT@ 9TbUTW lUTTTl  +c"[-JR,lr !V&R9 [lrT9 8"[ 2Ug[ l3 HbŰbfqrf!u[ \_ʗ[*gʊ2TJUF'[*GHl"ꭕ|PH-lIBL-p> @l4aRhU[ |Zl4 J0Lx qrh zhzyl41j1[ Jsaml5*-l5yl51+as[ Trjk--64[ D 0[fXlxd pT r -k`+L7[a`IrlIc-:uػl60[ ;[ -+a>l!`: 7Bl3EX`l [,kaN `X`[q,#[ `l}X"`ll `All-1l-#հ;7ġoю yŰ:`4"U8Ĩ=lU@nbe'Uⅰ J ⥰I`6-{`6 ExllBJ}l7;|Jl7+Vy:neVp-Feb a:nl7"n0: VihWh+` ho-QUZejh}h``0 DLl<` B6-6Vw t%+\] .\sk`Bľ%Ko[|][|c-S-UQod+o8m{-"b#[|!b%[|F…6I(z؜ꭉmlNq2؜#a*؜$buA([b@SL(k- lP Y"ؠ9Fإlؤ)īblRSF؝lS%[8lRKb-DeHAkbdAN-Ȋ:D]#Q+dC-l#`l$aRة|-VD D[}UP9-LlT1/Zda^ql|lqVlM(=[#9Ų0-lJF2a1([ ⥰&[ za0 [ bŰ;¥=L>L bհB*Ll&&[ >.[ NJ޶oXL-k[X`}m`+k,0lVC%Y&blVulV6ūbb-p[8lVkboج~+ :b'6grLLxJbq-*[ rVфa8} a8$[ q Vq+a8Ka8APEYŰl(ky ' uV€-)[ *[ FXL-e!BP$dd[$ p'[lPʲ5>W`|`}F.ql)@’N+aIE!!Ul) 9@C[Xl8le@^,[ 0B' 5" l|\ylu@-.l|.[b­U`o[ b%[ P,LlXqRذ#~Bogͭ8TeB>V@B6--'aQ aPU¥l*skaPmA ¨L$_Ll*zaPE-* `JD-#S*}l=UD$@œLl╰G*[i0C[aUl@%)Q(6J dbeUJKFBJuQ)[%y(>(aJ(Eŋd'-Bt%[:I[:l%[:]kgTab8Zty1jګbӹkYűh8-*ťصF%[J-xlZq2شBUhB'[XlbHw-Av)[K`-IR$2"&[[@(U B%B F8lⅰJ╰KD TbJeP ({ Gحl'[-P4%R D-dl+'¥ex%[ `l+l+qzV#u[ >ylLSllc]LcL>y =l[q'[p-{-7k`.l,([q$[p4 [p1bXAl-V:ZXcX尰!bF-F0[knbع&ظ@Эظw޶ꭅ߉[ CU Nl^jͭb%[b-╱x}-ؼ 0l^0l^$`0Az ([\ ؕl@`0q*H1JI1REWe5a:J"[<5V<1ql [&$drf:1>*[&a21^+[&1u`oղad,[&BL0l#d'pH0$*cgX - (ɖ q=[ E[=qmw0mq V`2^5[]&6[\@k2[\`mpV_ skl pm-W ekl\nKv[nNZav\f1O[Nnn*$+`m+lp[dkl3?ǭ!jskll!' [kīm*ANBлUmBCS}mUm6Ѕ[h g9B6%[h$j$*%[>B|)) =lg[>uVkmg q*a^&[mm'[lqۋ>Dm#[l7K}mWmXJ![@]$ hb8mT= L b \mIۄ8[p6• Uۀpmn-0m' VАb$VН-+ɖЗk{-5[BhDmŴ!BﺶW-- 1rC/[t@J۠)[tBB>+ocUlUap>9[xmko0mkolCmV-SEAh0A2!h.jHl.!l.`l.kasl.8|`FO]FNE\p$!7@Ulz`ҸJ llK`N*[-@s @yh"}lA'+`<`lհk xu*`<]`=F/[<L`vvXDyz}N!Dy@ز#1z}NQcOݝG#̱ޟSO;D^z;^Oݝ!y!z>vvDOޟSޟS_ޟSޟS;"?z}Owz}O{z}Oz}Ne>J?Oݞ ?TޟSMz}OW?!ޟS;-"?B[>`5z}ND/e6/z}O/8Wz}OޟS;G#@;$h>wgiH=z}N!D^>vs_~ȑ?8pA>vv>^J-h cff΅l pLX[ jp ]z|&,ewuG7z|&@u~52X$M6o]?̈́oHмO\@#jj~^4t?Ngoק<=:<8>gMuG7z|&,,Ģ6į Ty4eؘ+ïblLJrʖbP<2lL"J&,,6į*Y]A]<2l% ~%qLXY__h?"J[LXYjJ9eK1k? Oіbr__?ѣZB|+ ʊ  ߗ_LY7/O OY4srdr$ꖜO__o ;z}OOmz}O@cz}O@OO ?ĦOJ,>(]z}OR>)?A?@>(ޟS OJOJ$ޟSaGޟS9( OݜGOݜ9ޟS;(awg`#őawgBz}N"=o>vveCz}OOݜ"OݝBz}N [>vw ;$lz}OޟSޟS/ޟS;Q s>0!}z}O`3>0OL_QW?Oz}O(=>_wmz}N초^?B3>?ޟS !3>O@>vvD/j' ONޟS8;>8(>9W?OO/?{Ez}Opuz}Op->8ޟS_''_?(( OP1>@DEz}OAO? O")> Ȣ>!?+8^;BOD OݝQ#@?oIOTOݝ7z}O/>POݝ 葠{A@oz}OޟS: cFO,>6Oiz}O`>5Fiz}Oa?7?/?O#/??ޟSLޟSL?ȿO&O&7?ޟSğg? ޟS?O`ez}OOXA>?OWޟSޟS->X]z}OpޟSN?G?g? o ss/ O(o?>@_z}O?z}Ot5>:?;z}O|ޟSAz}O|Oz}O~ E?? z}OHG>@Mz}OCz}OޟS ?z}O,9z}O?g?sŀMz}O->`?>`,? 'Oz}OޟS!*>C?ޟS!O O*3>ޟST   1>? Cz}OP O? Wz}Oc?`.>F_z}OޟS#Sz}OޟS#  ?Q??P=z}O]z}O?P(gz}O*_(ޟS%O @( D_>J @Kz}OI>Oz}Ohz}OhޟSZޟS ?`4>,>OPkz}O_<OOɛ>`Ƀ_&Iz}O?`/`ޟS`5>?1>/???oޟSclA>_l_D>z}O>? O8>?@?O;>> z}Oo@?Ox@>?B1_1oD,>Dez}OoE?/?o?w?ޟS\ O.?sz}OQz}O9?pޟS'OO3 z}OwPP?>PO OޟS(O?}z}O ޟS(2ޟS6>?Od_33 Of?4Az}OA? O/-> V>R??OHޟS)??)?z}O!?S?ޟSI?z}O ޟS`cz}Oyz}OP ޟS_5??Ol_?z}OiOlޟSޟS"ޟSb)>)>_77ޟSޟSޟS7/ z}Op5>G>z}O?@ >ɟ O2ޟSd ?O2Gz}OQz}OO2? >ޟSd!ޟSd 9z}OO2_?8 ?Opw8w?8*>8Mz}Ocz}O_wgqk>[u|_ +[us6-@pO\  '>gMޟ?~uG7z|& jj@ls 9HC # Ek#8=8?:8Py%O?O8ޟ3ɋ&J oO?!>dޟ5ɣG8-sFl@P h> rb8pPꆚk1dAT;>dޟ5ɣGz/ eusUy7ޟ1b?l}__*~^4ɋ&J oO[oOY4srhe__=Q6o'͂@!'+> rb@{pT4cz|ә?2>i$~Oz|LY7Pcz|</TޟhOѣ@WW1lZfm7C@GTo8>> rb(ZT4ޟ4=?P?P~Sz|IgO קbɿyuG7z|&3 :O ZtٽP8(;?7 x> rbЧWWCF 5ק4q:7>i*#~oO Owޟ3F?>X]kF[)!8IssaX?EsLX[) ~5 ѨuCMק?K>i$~Oz|GkF[)ڿ@[ =\l+ͅ`*s@G*8z|ňƯDCJMO*<>g`? tѺy'O1=s:yoO:kDӗƙ/O9w^3tB^3ᄽ/oz|IgO0%wbɿOY4srhcR __G[Mf0>+ #o";z|ňWWPȖP@K=iN`'O1=ifbɿFa&oM?lO%%[C\n,Y/_ '5ɋ`jjSCkO >i$~Oz|ϙ;|,)>gi=o> Kat rbR?uA?W{y1dA=PuG7z|&Tjj岡 W:lGٱp]P@5ɋeAWWqHBOʁ_Oq'M^3ʯOIΞcDiBs iOU?^3),.c^3Qz|=?ʄ?oOT7W*^3  y1dAz/OY4srh`4O@?ɦTЗJEzfz%A@GIO\F:ΨAuNT>if2bɿ'ޟhOѣh!j J߫6o׉J קLX[WW'F 5^4H7T Iz|Qz|H'=2GPSz|&,(1>[M\4 ƯģΛ7yx<)_DקLX[ j)F 5k{Z$^4p?'>g4ޟ3M$AO?Wbɿz|:ɣ>ka+FO1"^3ɣ,j__FѣpUGKq^tٿ )*_?7ޟ1b?ljj#h.>iޟ3ɋ&J oO'$>dޟ5ɣGJ`6o_6A@|F> rbu~5oOp0M;'O1;y1dA>lޟhOѣu~5eEA|(+z' oĠyh$yuj'uj <%uj Mޟ Co ޟhO/Ey6 O_ s~m_ Pez~#WTA__o @PޟSj!ޟSjo?Yc/pޟS+X?O7?z}O!ޟS+'? ?ޟSmG?Oݝs>vv[Dyz}N찈 ޟS;+vvޟS;2z}O!>}y!y>vtޟS;?]6^>cz}OeOLOLMz}Oa?Oݝ(9z}O`cz}O`ޟS}z}Ne>0ޟS&/?[z}NB^x??`>^_ W?ȿOݝ(z}OՑ c`ޟS;M"?cz}N6^ޟS > OޟS lgz}O6 OO`>?OG?O7 wp0>vvϢ;!y?O7pz}OD_hh>[_ C >vt"Az}OH>\Az}OޟS. >\Oz}OޟS. ޟS. ޟS. ?ޟS.?mz}O|ޟS_?? ?OWz}O>>?2>0ޟS/ޟS?ޟSE>;z}O,g?_X/?o ޟS! ?Kz}O?O z}OQz}O?6>ßz}O?#ޟSbO? OޟS0 ޟS0ޟS:OޟShiz}O9z}O_Z O O O?\??_iz}O8#>?Oo/^?O6>^^iz}Oo?ޟSP]z}Oe>ҁ'??O2_ޟS`wz}O??N3>ӂN_z}OwӀӁ/?NPޟSޟSZ#ޟSOO ޟS/2>^ ?OP>@z}OG?0Kz}O ?O`w(ޟS4>z}O?O0>>_?0?O`z}O7?&>> >uz}OޟSez}O?7?_?O8ÀÀ ޟSp7?ÊO&>Sz}O 5z}O%b OO?1/1?1_1bOva??? _? O? ko? OޟS0 z}OޟS0O? ޟS1?ޟS1W?>%O+>&?Ogz}O@ޟS3?1#O@?@OOޟS'>2?3?f.>3f ?O2>FޟSoz}OrޟS_? ޟSxóï@ޟSvޟS>_D@gz}O/(ޟSGP(>_ԁ'?ޟS5o?og?Cz}O!?Wz}Ocz}OO? Ez}OV>ޟSzO=@'> O=B?>C_?z}OޟSşp?az}OO>?I?OzOz}O?@/z}OF OoG?uz}OF?ޟS OSz}OO>n _z}O?((>%O?(ޟS8&>pޟS85>p!ޟS8O?Sz}OAz}O[z}OO??a?2a?1w?<ޟSpޟS9 O>rޟS9C!?z}OޟS:g OE_Mz}O?cz}Oz}OO@w?>"ޟSHޟS@O gޟSG?@'?@?O ;z}OP?#&>_UOHOA?(6>Gz}O G?(ޟSz}O O@]z}O ?(?z}O 9>v'>vO_kޟS; OOqޟS;wgB@5ޟS|bz5s9(o` > rb؜jS_ק?`~ O'`(+I˯Oœ'o8 ޟhOѣƯB"ؠFΛ7ٺ焢J NwLX[__WT ק?'>gRk/R|cĪ/Oœ'k M\4ب6 ?4)%TjM6xQ%? 7k#@WWPS7ì94hPCTkM Ic1?W:llP3 C7IoQz|ň0WWR?˯Op?2nA>i 0 9atOz|Fٝ<;y1d=)0"ޟhOѣ˵~5IPF>Λ7y @%?!ωNޟ1b?lj)|E>i7RH7at{z|ϙ<%cLY7pOz|>i’GP O?M?"kz|ϙdޟ5ɣG6Ư0Tzf.͓BIo&,GZLLY7pOz|< OY4srha@WWC2aEf^l!_%?Ag;&,G u~5̈́atOz|NwO1@7O1z|ϒӺy>I}oOE?OH #uz|υC?OaP+qz|*P16>gu]??]z|*O^3ɋ&N OPF>dޟ5ɣGypU<#jM foQ>*+> rb,Ymz|Loy OY4srh`|WWL^-\%?2{&,Gp3ק?Y/O?>iO&'>gMޟ?X;uG7z|&zwR!jMgͮB P ޟ1b?l)z; ~ ^4b? /X8>g)%kF[za>tٿFm(y_WLX[jjMĦ7?@kĦW?ޟ3AMM+O\C}__A a;>iK=??/O Iz|&,8'> ì94h__l*s$OJAo O\=__Y'/Oao/Oh?Ro{y1d=+ymz|:ɣ>kF[AޯƯK! W:l7e> C7XoLX[AWW @7T .>iMޟ?T)>dޟ5ɣG0WW E `BΛ77`@%?`=k#@H~]z|+?Iz|Ӆ4cO`{|cc^?Oœ' Wì91doOX&oM?lڿŲSfP.1 C7XO\J3T e=>i Xz|Ӗ?O?2xKgM?&4_z|&,8'>W!>dޟ5ɣG;Pl[K6n'@%?1~&,GVT ߘޟ4˓J?OdL?>htM>t:?קbɿ{Owì94hH~5)H#jMC!'J wLX[VƯMXPz|,+z|,K!"Xi!&X^B$^4gT I>i'PyO '>gg? O*Y]Az|ϑޟ3ѧ0M=DBoO,.c!w^?!oOœ'!yOY4srh`B6%s6 MoULX[v~5͆K~BO~BO|F>iyE>i'PyB5O '>g4rGקat9>gOD |/t`ޟ3TX`Cޟ3ɋ&N Oe>lE>dޟ5ɣGƯm)R[MT' C70h> rbZClMuLoyauG7z|&ڿ KV5sFl'(y z|ň;6/`,LY7pOz|<{z|:ɣ>kF[ BƯ Jb/slIro< <LX[Z%}z|7>i;ޟ3O&.>gMޟ?`^@vuG7z|&NƯ3`0W6os6|P Ţ5k#aFƯ4>>i=>0ĥ7 XfTPT  |P? oyO_0>&O_~'Qz|:J/O_dޟ5P/9SKœ')>3uG7z|@D6?_y?T~m_@%dI)E-9(pU3hOz}'(fSz}/z}O=z}OO Bw?h_z}OZ O SޟS?hO D?O @Cz}OZi'?4?O ?OޟSA;#?wg>#hOݝs>v{8 ޟS;k>vv, ޟS:Gwgi;,z}Nz}Nwg@^z;^Oݝ#e?&[&ޟSB^ß&?&/?fQ o?;z}O`ޟSez}O7?4OGz}O ޟS@>K7?4_>->vvD/zޟS9 Cz}OoCz}O?>zD?gz}O"ޟS=G?8?8Wz}O?O3z}O OBޟSޟS/ޟS9z}ND/@?/Az}O Oz}O\)>vwD/qEz}O\?p'?q?psz}O\kz}O\ O ->.O +z}O\ޟS _?{ޟS?O >0Az}O`ޟS O ? ?O ?@gz}OOB?`ޟS >1?O @1z}O" ODޟSG??O ??ޟS?OޟS?"Ez}O?O >/?D_ޟS@R?A?R`>SޟSz?P*>D>"> #$ ޟS$? ޟS?H? ޟSޟS> OgOrޟSvcz}O O( OC(O> p.Wz}O { !?7? O JO > ?O ?!?O?ӂ Uz}OOޟS?h O@>'z}O z}O%>Iz}OO!د6Oz}Ow?lޟSSz}OoH>?ޟScO: ?OQz}O?O#Kz}Ol9>6->6O?O">9>Wz}O/?@>? C?O"o(ޟSD?P(ޟS%(z}O? @( O")7?O?ޟSKz}OޟSF O#Qz}O!O#_ _?/?&?OA?;>#Do?Wz}O#0cz}O#ޟSTO`84>7#>7>7@HH OMz}O$ OWz}O%ޟS @{J?ޟSHޟSHLOL1>ޟS w?@cz}O'qNO@Sz}O(&>">Mz}O(P?I>ޟSIB?O$?O$O$ޟS ERޟS G?V?1> z}O+OH$ > kz}OC$z}O@OHz}O_??? >8)>8*>8_?%>ޟS E,[G?D>cĐKz}OJ@7z}OHG>$H>9ޟSkz}OrޟSz}Or On6>97 >9G?>9?O@ >O2g!ޟSo g? OHSz}NX OQ}o 'G"HQ6oęH Dok#__G_ eޟ4QO QNX]<ޟ3O {ޟ3M<z >g#?{/O:߉ oOœ) C>dޟ5ɋ ?VT #uޟ3ɣ,Johlϫ Ɂ\O+jM xHOoO\ȅO {1uN('CKPy^4=kF[hWW ɇ1+Λ7@) ?"7 {&,Gjj̞Tca7TYKPy^4=&bcmW:lp6IO'+> rbWW2F>i–'T {> ?$ޟ4Fꆙz|ә<%c,.cwn7?^3Z^3TʯOp^3)^3p;\~ޟ3roޟ38]<淧\.=>gMoO5#ޟhOŅۡįqLy1ag1WWPKם/Oіc#WWV?ɣ,5~%_ѣ,[W3*(* Ks\ߗpKœ)z-~%1>u 0A>R+M\# 9ӟB K?_r_/W %jMq|+ ʊ J _O_d1+"X}jA⵿# [zs? Bp ޟS=ޟS;3!y ?OulߛW+2dr$";zs?_! OUޟS;,"vv,Т<ޟS;H[OݝGc>ޟS_wg>wgmޟS:BOݝBz}N./ޟS1>vvD/<UQ??B^ß!}>6 ?OMT]z}Ol2>7?S`>vv\D/e?/wgetB!>87>8Wz}N초^?f TOݞ"?TJ?>Q(A>_Q0TM?TLTL>>Q0OD>T%!> A?J?J4> Ag?JT%3>vvD/>TNYz}NODODTN ?ODCz}O'?qȈOݝ葲? ODi OpB =\l*ͺD," /z|ňhjjhQk1>i; Op7>g("ck?TP/eWJU>Xtky1d /Oֽ>dޟ5ɣGXfTPT _-KœD,>S^hOIDWzs?N E9z}N찈;#?wgawg3ޟS;Q?ޟS:Gwgi;,z}Nz}Nwg@^z;^Oݝ#e?OQ@5>vvD? OE$_Gz}N]QHTR??f TR?OE *>vvWD/R!;!{6>"?Oݝz}ODB[>?H=z}O*?;$lz}N D_z}OD^[->tٿČ *O\EZc{y1d*_uG7z|&U_aQAP`2_t]|WKIDޜi8k_oQP@>vvvt(1#wgaXO?Ϣ/=oD/?΁wgqޟS; FO OEA>Oݝ#ewgaBOOOVOݞ̢&?QP OH} |_p*[8W:lm/ kEGT*> rb-__1d[;Sz|:ɣ>kF[%~5 2d7_LY7@yꑽz|:HʿuG7z|&G"H! NF:4p pޟSꑎOݝk>vt(1#wgaXO?Ϣ/=oD/?΁wgqޟS; FOHR0'>#`>v{2_kޟSowg`!{ ޟST&ޟS;Q seޟSGz}NmOElޟS?z}O+g; $lz}N3*(* K ~^?LY7@y&or6oͫ T'dI*ޜi '7Bt_h9ޟS;6Dyz}NDy?Oݝg>vv,Т<ޟS;H[OݝGc>ޟS_wg>wgmޟS:BOݝBz}N./ޟS1>vvD/<UQ??B^ß!}>6 ?OBpT'T'%>@w'?NޟSAz}O'?N ޟS;' kT(ޟS;."T( ?Oݝ Cz}OOݝ"? ]z}N4OI/wgiH{TСD_z}O}Z?-tٿV|Bo I_LX[Hj? @朎c{zh]<3>gMMz|sDkd?z|:ɣ>k#$^iAOѫ?-iΛW@wV%Ez%;K8w|ؗɑȒ?T^iM()7oW @:[MMo3*(* Kivo_&G"HS8Zs[()76 @sP  2d=z_&G"HP'9ӟ( ?M_oGھ^[A:ܣ\|TnQW:^ 2dL~^_\}j.@%dr$8Zs0A7ó^- BΛWC/7XfTPT /W]KI* NpApU[!^ - #[!^tھ* aQAP`2_p7/#$wzs?R WltwW1 -MW$ a6_Ȃ W:m_7b6tھ*o"`ʍ\|T DlD-\|T D V6_Ȁ}n5sP+|hO6_3*(* K눹/WK1JY'_6_+K6_+ 7bboͫ/CߛW/?͔/Ms~m_ȿV(dr$;Ӝ-9@O)ؙ|-7b_&G"HP N 75|_ J-BekMBŰj>ΛWC7alQWɋr5|ڿ -I"biDp&I[/|_+4f2Ox}P=bo-I"biwnM ^!jzV&bN}lBj?lM$L^M7⠃zH*!jzV&zt|ھ*lM$L^M7 ޒ#_/Ww⠀0Wͫ 71y4ߊ$G mlboPp |T6&Ԓ&/&Pޒ#l.XTgm_671y4ߊ-"8[ihM*bZ5|ھ*؛RHo@!$G #-:^iBW@bo-I"bi-ebo5҈m_͉$ɦTDp0D/.X-|T_6&Ԓ&/&PzHF0[W]7nS_6OjIMoIЭbo4+`;P ?؛RHoޒ# !jzV&#-Bj6&Ԓ&/&0-3[9^bo0lzm_#9ZD~FEzHФO4~<MФO4~Z3M'9ўW6&Ԓ&/&0CzHFXbo2Ű5|ھF؛RHoޒ#2X$OVO.Xɒ"xu}_6_lM$L^M7`-ɥ¶Fbo&8$O  m_#71y4ߑIܙX.Xɑm_#6&Ԓ&/&1"8[>4T"Mύ%2}n|ھFlM$L^M7m^#4ʒ40.XɦTф_6ZD~F-ɓ7p)MF|jIM]zHHh_/WwL[N8jlM$L^M7c+Dp& Ө2z_/WwM Qem_#lM$L^M7e7nL[khbo&-xaWͫc?6&Ԓ&/&0-ɦYӘ$[zV&it m_# ?؛RHo7nM4]. W]7McJ8<9˓:h;$O84?4sO #bDŹR1rygbˇj#1Wˇj#yhyb%c8411JI G,"w8'-t%D8"Y#O<E,}*x4ヨQ4q>:si+%9cZ$,RI24R2I.cA4ٌR2I F1W91h!ld#FwCb3I2~g],&&}, ' G"h}4 c|d ,ox%FLL0&& ba10ia'`a4a`BI !>S?"i'&qt1SOaWi;ehl6:2:4M<>DЗG | ri4Ӿ:!y4:wKly4žX%xb}$ɧӾ:!y4žX-wFc>M'H'&J`y$&Pa;$MM,p'uIM<&r:wKly4žXHr$&& ba10a4 00Q00I!`$:Q)!N'N*tű"Wʝ+O+(ɤCӿQKB_1t IpdG6M GN4pϓ;G'4%&-wHa4}Ҿ2((ɋcp% rJM?"oRűG*tȚ9߂(ɋc>T_@P:m"\9ߑ4s$T_y_FL[Ƞt(6E+NdűryMXG*tȚ9߂(ɋc`,9L(߂(&#E.L:$Abܘ`LL0&& KKaI  $,$c)#>9eO)494)#>9eO.LL0&&  `%G0$BXB%~DNM 8:gY`헳rb%~DO ba10ia4t0I!`$J0-OWM$8ӎ٣v`LZ$ȚI$<`LL0&& KKaI  $,-OQjxLZ$8߅!e1jxX~4ɋSĕrib%}rb%}I&&-OWoƒ4{ LZ$8߅$LNPdũJ9cM99@^şoySBvM6L$拓r84>M4sO #ɌbDŹ1R1rygɌb1Jõ˓+õ˓O ls<4s<1J&1Wrƚc~$#Ɍbi;Ǔ:h"didrE,ɋcD@l l~Z#+@nb՝ab&C./usr/es/sbin/cluster/events/cmd/clevlogy.rpc@@  e #Enot"$=ANORST_acilprs)-;CDGILMPV[]dfghmuvy'(*/:Uw|&,.02BFJ\b{} %+1>HWYkq!39@KQjxz467X5I6 *0 鰺C\o=ujLf[u9Ct͘3\,`'*3) R @  A$A`, W͘3Wx|#AuRMJAAI1.0\D& pY\l"a9gSA8 Dd  0N  C #1c1c1c1c1c1c1c1c1c1aGdՇ{NY(b}s-CunwCr\վ&-:0 p-Z.9ewLV^^oF^m\Zo[TxS7 nT-`F0lί˝X&-fu |L"gD(mgl:`q[e/ovrXDiҭ;߫/W}Z˷;-Εl\0 ŜV^B9쵗nv[uΰ g.uo՗оm{-e۝ݣΰ PӮ]oCNun_gu vףN~g.u@`lY <[m)u˭z3{]5smhDS7 nf_ΰɋi8 vrV&ɫ:!Gl`٫BSoM@fm-֛O[5 [{2ẅ́rͽmV~S8ԙCK`,I%Fc1c1c1c1c1c1c1c1c1cc1c1c1c1c1c1c1c1c1c0#jþteΰmF̶\ګtZonv~o%A x K?mV\r[9}'o?:V<;uqlֶiڿ֜V˝ff 73^ѷo uϝ+֙N^7WM. eޡ[.nmULS7 u˽C[NY(cm[PBm˶鷝 ٙlBԄ~t ֛s^޼AeGxW:"rM3|5} 3}s1 i-/̳m3[lS-zˤ{f9s*}[t#/u\Oyk[, :s[.LպOmAP szo]M;-_~[M6Fc1c1c1c1c1c1c1c1c1cͪI[.um%vߺ*:u$`D$ r>:uL=I5 gJ\9s)>Б9&94أJnpP>av~odλoX/Ε3|V˶5nm3,s ө߷[3: ݙ/i)f-2SoLLh$:I+SoOv~odλoۙV<:T[.LպMA̲rΛ7[No?~9ol'vf[gɛdo]M0T?0-&TfͽwA!Mv(9h$1.d0L?IeӏSXawpC=jv[   p mζvZK2mKxH` "xגH g.u Xz<Ֆ`&iA!a0K,6GX`:Ϸ[`.9Cg.uCaYՒ2LU@GX`y~9o YdOVK(b; ,'%㍵a|aY֒njۭ Ie=aŋ`A%D,\?Z?w]QͿe͹[n1q& \z߯ZmͺˍLz'$ۜ?,iGD_$NI$"s=`y~}!Q4OYu ,\?~V<ݿP:Ch*oǨ'%.Yw!D,\?Zp ef'rfo*vfp?eБ9&: PBl5CNu0?õ;֛3eà.2m|ەnf2Pieo֎ɋ'zoֆOG*Noq.(FnaLa6㘎aw! 8h#z=ne4Z(e >-XqRrE3sˤzȟ%UQSn?pm$O?IvaQ"y6K"ymǓ 6K"[N[9sk=VLZɫ& \y90d(s(VCNL&-{ L+ „(Xы(at:S$awC@n^[ =9 REÃpMAYD(aznd#5XB)d~8`CA@h>CaR?۝lŽABrU%e=%4e|/+T[B \y90d~8`CAQɨ6A 3*W0 &-Hy VPl ĉX^Hy VPl ĉ"C'p  9*j H]GTrȠIvaQ$ X8MGCp-I!|LT]GTrRe\=dOU1fq73 _q'/2[Yx2؃n9Λ{e\;qd"vKBׅ 4!f)o.]aނK; Xۏ?]%D)My&c$|?˷XC au˭NouG&"T$De b^HE3sv29oWTv'$`JY H]I*E`Q=0rGp.-Bv<;s/G3V=goj9mVl̶Π6 a/ބ5KnlQ0i= kI%H~hXnߨ`)$A54*W5 ](1" 6IFPlP|/4sR?NI$"(NI$"p5$V go nmնkeGw7o/G1pQ.?ŋce BPbDPlHp@#P@ dDe h( bG>a+DIR+"JDIR+H]I*E`&x{[f[~] \|?˷bmy0j,0L?u~U@LT'&IIIQ]Ւ˨Cʕ@h>CD|!JӔ,h΅h.cz@M] ~(6M^*x$B&P|Y?*V3s5$VE5$V9&TxLMͺlj/}~jPۺ AZh.(n1os,.j  "=6$ `jKIՖS7ۭ-2ۍ^е>:uu,vњh$4PG1.#nN(a4![NP\P6M^"DIq&cvh26XTEn-!I=oX)z ATjA'5 h( bG>a+DIR+"JDIR+H]I*E`&x{[f[|n_5IZ<"cQU@-(Xы(ϛ&dꌓ &78ˆe,TETu$Rm֏b=^‚ !Ba|M*&=u[he >-XqRraS78Q1먪Ƞ"cQUpHN'$`JYR'$`JX8BDIR+a3 Q1먪N|?˷Ȝ]I*EdP H]I*E`! kI%H/G]ufz AlP]f "=6$ `jK(3X:(@R?NI$"(NI$"p5$Vg{.9΅QȜ]I*EdP H]I*E`! kI%HϤr :ôI "=6$ `jKa0Q.?˷blհˮ:CHM 0DzmRue6Gl̶oס~t-o{="Nov]u"]f "=6$ `jK(,~x bӔ,h͓WH\zݲ: ?C e1STRLT$NI$"Tr'$`JYБ9&TS]Q$1q&ȄXzcB'$GxrjryR 9.=D=YKHi9&TȞJDIR+ *9.=DlP 6Hvvߺ s9qʨIJAMG0<%^Daws0& H` @$ʨI!!I @$4! B$0eJf1SБ9&TR Ȝ]I*EdOBDIR+ χNouG0Ǩ'0TzcB'$GxrjryR 9.=D=! ӏSXaws=jv[   Nor+EHFet7yj)k@`灉*c6m2F{6czڡx0&r&YPB~Ie3mN~YG0zSP@#CEG&Cp.-Bv0ʹee9_*vf{5veܥzfa5ۙffS,ש1s dѫ-wfeݖ0[PT?[1oiE_]0^0V#zs[.u9s(qG3[ )0lG ĉd03[ۙze$H QӒjץ3L:UX:F-ȉzF.uvY7o@!"d^nu@, Afkbq[s/LPriPabJ @zrMB)LmL\~HHCkY6&.ucn9:T' ێ`y}˷p$ fL5ճW]gՐ:~w1s!vsfgCYqteαg.u^Vsjn9Ε޶9U7:@c  ̳58QJ94Ȩr% =9&Pշjteαg.uz[( BD(:aNX s[teαg.u(awC@n^[$|!5CDzN7Q Frۅb:ueD~mf#Su8a vߺV_ 4 QQs՗xXr'Ȝ_Yt\s(2CNu8:u3{T4[߫&, ^^f~ɨ3sۮ^qIѷt'no3yv~ɠT?u~묺KBHy(Ȉy@#Xy /$#aS78Kvњh:ƈ6quQc~f-fmLiP A^4A0 ˤzȠmho7\Q} 42EYt[E ( Jʕ,/Ae\=mp^$L?f+Dk"Hn?p"O9&Hy >VXpvˤzp.>teΞ&V騸pP|?ylbzس:&V䕗"rM|bHθ`rSÑS7PA/G(`Žfuܹ7Vj& z +rbpcܡ);oH0 vߺ:JEaȠmb;[ |4 ( 4Ϳ!XѺE XB8xn9iCiu(cg4 lѳ] 2V[]DjRsnuD-xX^ θf$H![rMCr [ت璠u٢-! ~Xv60 0[/\Aʹվsnpzf)Ga=p^$Na:}˷p&a{T7:PԝǗfB49{5v-Ε6VXu;Q٫hS,l~]|Ե ێaeڛzm<-tCu<a{T7:裃1"E3s0bW<---cm^iS(8t`à]B;7:K[AכqFY.<8!3m6˙z:u]%  U+Q!!R?]%䇐VG~|M 4 QQ(V^R?]%/)*7Ei.~T?fIy"||?˷:uǍDS\rDS]QP=3 b/,XT2&mχ`[mY9*'hFilUO!054q#nLj. ʨIr"⧊/z$atL?.gR"£"90c$ .7;E3MG~b |7  0mu xP AxѺ"~(0L?*y$P i4b,Ɵ(awDm0CH ` . ğq&-Hriz FB(њhb;[xShiI.?TsT'-saS78ib2.#,HPP 4 w*pXn?pdӔ0^e]!ɤFY&FilUO!'p. F3yz8"o?: q̷3;^9so:5/-NtYqsfXLѷ׳:2a3Q}-mߨ'9һ2uB0((((((((86C((((((((T $NI'mAr}-yaj,`l0Ie㰃-z~8V%=eaxm[ ,h6Y-,Y=n[/ddgVj?ea9|AXeNl:+F հ@ynf Co5lCo5l[Q=o[[m歃n`'1o=G-Tf^;0mĉ5Eh4/%d5k'L @ue8y䬆"rMu@.3Mp Y bDb=^°(D(OI֛bT/)De4p 8y䬆"rMuJf`9r[zvrWS\Q`,1ͻWM3\ gf6mux^`;T6nt ̶ HaNPH?= [xhbN:|?>onSL ,]nUM6Zc8m֔p5s䪪*!/6kyf޶G`; 04zP Ma]nmBIFH04z8m a"f@9 > `_@?JQZ[^j{\q4 Tff )3@tsr(K g(z$0503fŠ#͍Y8L%'!>g!6MHNW<;3u I%KOe=Ury "eYh>A z3e&@z C03+< J %Jh$$y44>b'8?.azHԥH>fJ<0Pbs"^! b%.HbdBCI" j?CoĄo &.Hdet] C9:E , UKGO?F{rJHNp~7D>$|:VPi[I^8<]GŤMEJ\ҭt ?J\7R.$oNwΥu d /AxXhB Pi`> iHm&+'i_M:*sTØ&aL9X6=J\%%xeI6 ʿMcGJ6Ɣ!:Ja zS=0ᓦZh`J -"lWcGJ6t !S^s!RWI7RZbBp~*u$oNwΥCC'o1!6?5bH/ Cuae婼ү4IL:Bx6%$#b83iHSĤlG-MTc""o1#kC!LL14:Sy^it9IN&kL:Byү1('#kC%iX ͑Ri Aā46GH1WUȓeZRQ/M0R$M[L:JLPܔ@>"t6` җ$M4%&\a(nJt JH ltk%&\a(nJt JHۉ&*R䉼I%&\a(nJt JH۩&"oäˌ% N I"`mX T~m)&EJ\7ZaReLb)`mX eQ6ªR䉾aReLb+`mX ¨&á"o)%&\a(nJt JHA#jH.* ɰxtq)) |<,:e iK& ai2 !HmSaҚR䉽Cl%M@%0Ůi[L9m&YúZ@Ҙx݋\:aXbp= SbQ}0sҙ^i7:U&Yu;+]LCv12%!t6<:.ha LCv1)% ӥiRJC~݇A%$::1J\ qR{lKSkCLSԟbRY$#<.IIQȇ" SR]}UAH!:A6&*VńTl@6js6tqb Dg A6p^yPrwOat2S|,3΁MMA6%<bcS>@&#PMVXg2d!R@A! YD H$΢HgYa܅ !"C $RQ$3!2dCj ġP `! x@h;8,3΅P5‰:jEFJ ġP `" x@h;8,3΅P5aatԋΘf`l':DAb DbS[bTKsnuO\OD,.#H k)ҙa73\e# Đ"Q8(!-,5 B ka RCP S:jypA"# Sy}S < uCd& :@À32j':@À3YG@5)LAP/Pp;JgX8M䁨PH B)`5ryH4H  czsԟM=E ]n=pkK!)*gqjqa/ WXAJ; CҪӝt]*ӝȎOD)YbBl~ jēE]]#}i`ү4I@ 2Ɔ! !4QL8v/9Lm0^sҙNkCEzC<ҪM۰a2lB*4ML:BHtÃD>7C#l5)rCHralsҙaMP%0婽aúL m! a6 @ЫaMPΔ#^)_LHNtjđ9:ͯpDY%JJ 8<=A*Ą:Eġɤ"Pat%ă_U搉V&J*at Vt)(wIaG@/9R))(wIaG@Ia%$*b4JD&BU1`3@*"RGJ;J!*ga X3ȝ*tYRC<%v(sB/9Ґ"t]6ä,^sKJbE=!gaSB/9 rbE=!DVm{;yHg.Í)!}MLY3Wa)!Hg:UyδyZ9!HgåbE1 !DVo]ILY3—aƔŐzC>æ,^r+ŐzS<ҭt;yHg.Í)!}MLY3WayJg:U*DSy+CEZFZufY/U,PDߘBEPhk >JiL9m&ZCiHFMAW)H)_ LHNc9:,K-HMáuabiZhe45C^i4hUliL9m&ZCiHFMHtäM&$'ޜKN@E0/HMxXhB V8 ! *vwGޛ R䆐t@礧kScK:U]i]H$ 8VUZ:WaFaN#ڰ U0ni. )rCHHa sS] 6*>vӔ a  ! ML$ۦD e R$4:=%8)MWJ\ҪMa 2 L(M!$0V9iئLk&pKJ\ҪMT@ W $'X7;RҺ帞%N"(HMxXhB Y^isi)R䆐JaƂi0M.HitŮ A)rCHtæxqI]d@@ZAa R$tx:5&YThejL:jL!`b I !ƔcGJ;LUJ\,v ڰ:]zS<ҭteWJ?`)*v*4!iI M#ȓyE&X|8mXyZaZB11Hn!pk C ApҭtDW WóE٠FIӝi\L$ VUCs@ej`g t.?4_ M!M Ct!C)-{4èJgìxz,sҙNkC)X3ȝ*ޚutRezD_E# IJ\%0,sҙTäMNzo |11!8?t]Zr0FY%P+ScoHMxX :ăE]X~<ːCZ/9Lm0婰 K zC=Jث7=ҪM` /-t#jB_U?3ȩxriV!TIZA WEx!$jđ9:k8K$?Շ妆ZJ"o t]Jskw#,+H!91!6?5bH/ CueC|8642@sҙ:U4Zȝ*C]*HtӥV I LH WíVbsHq0KÍ2 )HtÍ,sӱL:K 2uxҘq=!&XUuGÚ&,At\?ta6(.HiiL93ƃo )VD]]PF$@iQP3b T*ޚ,tjTSHtäJgԕC#JiՄ)rGJ7Sh)_HNcX<FZM_%IDBƋ妐Ô;NڰI`9CV~9@3a=!DUu& (M:R S<ҪM9(KNsP/9!BP,KNsP/9"tk0qyyU֛wJ;PH )KCay͔0h}!BPp/9p/9He:U]i08/9"txrWp88ZH!89l`9gd)%ay͔0p!DUuh !S%LJI@-1@7RZbBp~*ӝi_r!*%$q /AxX /2G4_!(dx 4 #@G4BB$*"H^i !$!mX>L$!^sҙLB ic a!FiG{B#$44/9L)!HpHDyJgi2!4P<*HDyJgi2!] i*Dk3ئ?ckdCjBHHCa!sS|plPڰA9 nӮhԥ"O*ʁŤV"&#U֛\2-#RKBB i%3ʇxujR:' ]]4MkJ\m6kJ\ 4!شjZR䎕WZo"ty+$'D!b8 ʓP?5ah;iՀh)rDޘxxzFՀ%_&vwGRh'.I4!$R =شj2RÄ+b;:+鱈4.IL8CtC_vt"RU0BlT#L8BM$'dy axeX<+c x#V$ԴN/PK O*?1!6?5bIt.?a9i<& aX3i-QHyM )KC%zJqkP*-!b:aRe1CezC:Εzo!M&$'FIӝi\-c]X~hCj bo ezS<1-E!7a-)rCHtäJeiQI JHiui c !S=!a0,sNzoaҪM)Ąv8ӝi/5ģ!$&к}18bheFTh!m0&XeHyR!#ep&.H)_LbBp~H7;RӉWqDQbBl~ /Cf4Ø3ZCүvMiK&Ø zS<,үM2:Utt)HU@it!{)(t771릐Í b“HqZ9KүvMR䉼EPޜKNmO%Q@c^#V$ 4tZ%2hBb.Pk|!9hh ƀgp5hevsC,‘8zS<1y8nȝ*HpޘpJ94ZihmSb,])DV9Sb, Jg:Ui)]؇1iEJg:UihîC$&YCRDi8t6”݀#J\r݀3J\4Xd<plڰ8@؎:D )rB[Ôԥ"@ʤ3b  KJ\ҪMhC| : 7c*RJgԕCh28 ;mX9 )K:U9L9H3Î)2]|R1)M).H8 L !4tkSa@iKSic"t 40mXJ4IL:Ko $V JtWӮc4.IyT~T H6EJ\ҭtؕe0h<| G UV%*iL8=)R<sjPUr:60 KD?ʣguHH6R䎕kLJ?m&Y@r CÎc4.HU'e3" CrbLHx!)&KJ\ 4@kCzHFՀji4icҪMS=)ðዴڰ鼁qڰU069 )Ei>HR<-)5E1 sh&1%$4Sص2Ώ |mX Y8ҘqzC<6p0KM5)rJb)bKl'R䉳b=&ZBAiHp&&1>t\A{&!S<o"t!: =)teb@i4ic!Mi(/(4(E1 ^p6!R<{ ܫ@Ӯx$@iQP3C:Ck j$b :R䉳dÔZ/S,^sҙi=)cL=4eCq$:%;i 7SP>bAi'CwbŔR!&X|cՈଫa|cpiM0&GC)!8rݦ98S ʓ,qHyA$8C)X礧!M0輦 yJgSPś4L069 {L8dZL*47:U搝S zS(xKLx^sҙSHt9]i o tmX*96R:@ U)rHʣgŤVRæM)nD>ڱ ĄxVǂb@FIӝi8%_I0id0/HMáuabQ)p!:Ja zS J40ē#HAL8=!Bئ}cʡrzJJ!R2\;mX.H<" KDU?4*IL:jLbo |91!8?t]<5bHޜKIA+X;<$HMáuabiZhe45èvlZR䆐JaƖ9]i 'J7L9m&XҐX腮6ISHtÍb1.IL:DAJbbBp~ Դbi"W4p(W p'DbBl~ jēE\A>sHHCC" ^ihiqàvba3 @@$* zlH8UvT =6$*ү4pi I$!$!$%TG4Y#ふ`d Ȅ9vp6 E_  =*e]&KGyQIP/ yWZo)2aAyJ\a!)xKL9Bl.#^U֛A8V IJ\0b!)KBBS dS i2!Zi xڰ0KBB8ôP2R$Ȅ?JbôP(KBBUL$%E1 "CHr %)rGJ7R $oNwΥs "".OBE7RWSHtä/Jg%1dejHgL:Jbja;Bit9]i *B)_ LHNc9:u[(Sh(Wк7RW)IL_c֔IL:JbLt{ä,7HY :JaSu3DM)v8ӝ)_ \OĄՉ CH4_!Տ ! @CsA@}h@%KTfYC^iNrbIeFsfV9]i 'J6hC)1WPO*ʁa}WZC<ҪMKd)=!UL:Gb !SM!ƔØ: a Oc֐"txL9&XmX +!DUuwL=.]f aHe#d)ILU&JaYڰUWZC<ҪM0cA`&2Hg:U]iz]!UJ%0,mX 9]i 'J7ژsAڰ9]i 'J7WAJi x!$jđ9:d+>E4+8IO1!6?ՏM! @CwJ%&Xni aX3\:MØSB L CtúJq}01}&YúJrJaX3Sy oSaH!G@IM! <0ØR l).II`iNs bI2ȝ*jLJ4äJgUÆ鼅7RZbBp~*ӝiBY%(TbBl~ HrC-Bo !S+)QL:Jb)2i5 b,sS7ژtŐC%1}WZC:J7 WEoNwΥ6*vH(W$&кCEHp[L8sIH{$ڱ$69]i 'J6CklC)1xL'J6:hZJaƆy0@/MR$Jg;8Ҙqsҗ$HgXL893L'J6tcJa-&ZHqkC)2ֺUÍ !& aƁ^/9LuŐ4;!M)4byLJaƁ^/9y0@*$ym&ZjCiy4ɐCNŮheF\tay0Ll=HySn0$4!h9E&XүaƎŮiqkC)1x3Za@Ӱbpm]aHsP/9y%0@/yU֛ty o |ĄvoNwΥ6 q\Dh,HaG$&к|14-t# !U)rCHtäy^ݤHhe*HS4$i #I[I4TäM&$'ޜKNbxg\RD /AxX t. a+C%^iCFCjBx:a\ \iS zCvؠK:.6B_J\rL $|çDniͺ>ģj+!.P!EJ\ҭsHrHqo4Ö@$e&]'LIL9&YúS=E0Tq2@5çDniͺ>Հ lr+l"K:UiRi8.:C|1V0=ej IqL9U&\t.:BEI \Nm@6xJli)K:UiRi8MJàbZA` =J\ҭsHrHqo M)qŎzS1$91` GL8d6mXL9MzS=JEL8bi 0&AJ눆$'a x!$jđ9:-8Iz%XC :VCj e0u u9 s,9 ԉ *aS{ìv*4YL9kkC=)`үM)v8ӝ)/ODʢ-c]X~hCj e0)5ӊ֌50=!0 !Ɖ%5&ZţHuì4& aX2ÖB*LR$4IL:KyU֛L:L1G)YcʰmL87 WEoNwΥ8!X_D %U'$|:Va8A42yÈ 098L886&)rCHq q91C=a!yHg: b K:U]i)2'J;2& .HUU ReNc?MÈ^/9LqL8),sNkCM0=)E&XWq0 Zdؘ'.Ic)Av6&?J\=%8MI^8<AH6MJ\ҪM&XV1JS#8L8α&XV1ai8$.Hi4ic֐"tzja &XҐN^6a:JaƉRäF'L'J7S7R HN`x#V$Դq6M$J IyTIк7RWSHtä/Jg%1}&YiúC=aS@äv,%0)r"&@ ԔYDЪ憉rJHNp~7D>Ѣ\/ 1 ;ŦFxvh$( DzHCi 䔑}%oI}-23ƉrJHNp~7D>\/ 1 ;ŦFx|h$( DzHCi %)"J29ޒZdgcD%$_IF@b'8?@w"L.IIQȇ#!\/ 1 ;ŦFx94KREd"s$!FrJHNp~7D>.IIQȇ#<%)"J29ޒZdgD%$_IF@b'8?@w"L.IIQȇ#< %)"J29ޒZdg#D%$_IF@b'8?@w"L.IIQȇ#I\/ 1 ;ŦFkrJHNp~7D>Bh$( DzHCiFrJHNp~7D>\/ 1 ;ſi'jsc8bY 뭐g]iL@ ROe^kgR 5CT%Υ3$ '* 3L`kHA6`xć E 53L`qLP!K7IJ9@tԠ(Z5ք p$ @^o ijKJ\=! Ձҗ$ťv8 CyXCu$oNuҭs#,1t]PxVǂb@FIӝ} -L j)rKu#jZ6R$4ΰү22E5NMtuWX{H1JεFXb~xj5 Հҗ$4I?LjPT,sҙh6ΥAs@Q4?HMxXT |:V>2A:cAw"EuA`(R$Ϧ2S=4A2Db$42Ɖ8R$JgXHCj0"lc!CC,h!R9L4 r!uD6CH1!4`|)j lsJgYKdTcGC| Y|@ҙXҐ:% Ɣ4ĔLmX @cβ*@"WPd1nl IzS:Z@"WP0"lc!CC,h! KX3@b 􁗘) LCdX6B%zS:@"WP A lZR9L m]BAfB6=)rCҙԐӿu-"cG4 Hc^#V$/td]aк9A   sYS\B C H H>t|ekBlpWBp1H =)$V *=!)bϵ0@5"1%͎O MHN𚒵"DccC#!M!' iMWZC<[IҬLzlML&Rd Ƒ0A1}zC<үM@"SjJR䆐 ib/9 m&kJ?*Ndp1<6%FՁ`aؼ3Za&G ]48~)KZDب%0 i2CMKS 6eHx  Hڰ9GJ\A v/9LS$3\#(2\Hxl6lXU' SxMIZ E"1á#e)(YJ\4p+!-pV&J7a8R/9LMtX5 Y?tx}I$:UiTJtmX=җ$4cL'yHgi3\ UA~W)SW yJg Lid'Mp-"lR$o i3\ UJ7 Wɉ IHFIӝi\p!D $HMáuabiZhe-CDYڱ~it9L)Hi4M-0j) 1hiL87R.zsu-90(H:JHMxX :Ā^Vyb9lo^ !p|к M?4F&aو2%f Ov5 k36ڰRÕR GUڰ"ݧ"V?FUNi V%{QpmX aʝ2GL-V aʝ2S5j֔%{Nb S5VR$v3ZDkV)rJWX ʿ>R @aE3Q`&RU/3 oҙv.Py axeX<+c x#V$c  cJ\<ҙѤ8ҐFo*,iqæ BV5ʿ|5_Xe"=tL{/)biDںEJ\6Uuaۢ5N')p*#,;t]%pҪ22÷E٠jxںL NUu!G]# ǂmkЃb}!t7tǂmkЃ]n<ҪE١W7;R%/lTX50ID %qph$( DzHCo /LC`F;4_!ՈILCcd69Lzmp*ڰ ΋rp~<Fb6.Hdet] CX7:<voNwΥu2q qIy,شjҗ$M&$' Ng!Z%1)*%+!P[4<xuDqP[4v:Vt t첆JF7M'ߝG~('y'x'y'y'y'Si0L.{ { a8|'O a#qN0 8|'O a2$W=I'N(S 璅JS9bĬU:J焲O+T㿊!P xO8 xO8 xO8 xO8QОq@%jPODwU?wU?Q蚅rETU >AԊ(hR*rxH↏u"''cFXBF0#H$vIW20qG„w€ oG!hBAH (:TIfIО2qGy:/ x'tj9ĬDgU+CA d;:"oqMiǚq]U]U]U]U]U]U]U]U]u]u N *뮿N'u_am?u_+^]u]u N *뮿N'u_am?]?_Y]u]u]u]u]u%u__]U]U]U]U]U]U]U]U]~W]u]~ 9BbpN!W]u]_]uO뮿\E 뮿xHpN!W]uv18'?뮺~뮺뮺뮺뮺J뮿?Ū?]Z ?6Ŧ?3Bu_82vqkgq[ ]LJ]4@5B aPV7±`. FI -D)Xcp- e'㑨b53(ceh\5%N[.m9fSȢHn҅%+S%+S%IDJ 8U2M9h`5+ A qDdu c \QyAdID $J E*RADd -((fP3 B.ٜzbz 8$ k$ TY'&JԐQ*&aU H+I(y&KJ?슕S"sP쳝Jb,+*WS'vi!Lc΄?y;4vIW1gBx< &4:OwKDdesFt'QJ"Ġz$c ,%U%Cs@ej`gQM O20JJ 8J A|I4N+S*_¨eQ$ghVuL*+OұNN($ UID'Z UBTɖID¦ṶL4$sЪ2@ej`TA q͖ID S* V VUCsydA*ӐJtch̭L4(z&U'Z%X:r VA q<©RY"\EPu:$ébQ,EO;FpTH'gWtNc0X:9h`5+ GID9H 8<=A*xPu<23; $cciv%qt'Q<©Rga;Dd Ģ%jc:_%$bQ1VXu:W4eT\aUj<©R"cvT1+Rv%+S̾B,vy$;BéuJ;*S T(  6uwN4CsKcSTJV1Q)\J"VcRQY`N:;MN|D1qdbRJQ4bQb*h'KaJuĠz$P4[ 2c mnF-41i۴M<ӿ(q;D:vyl2N1Q)XDeR1,W(e$Xl1)XNRDXax&BӇZhbœZqy~V8 YH/c4qNn,3L ?g'0g'9g'4,W%U-¢PY&^ N|sN4C-I*%+\jF%S+-%+ JWk@l2OnՎ[ JV!G]Ťn̟y]U]U]U]U]U]U]U]U]u]u N *뮿N'u_am?u_+^]u]u N *뮿N'u_am?]?_Y]u]u]u]u]u%u__]U]U]U]U]U]U]U]U]~W]u]~ 9BbpN!W]u]_]uO뮿\E 뮿xHpN!W]uv18'?뮺~뮺뮺뮺뮺J뮿Ƥ(h:8YZ11Yt^RQsN(Pt@eOA8̬Ь)WDKUA8*KK4JQIRLuB'zXy΍$U,Y٤R$é&c8U*WAsPvgfJ$:Zz T]UQ]%hVviC砜QժU$TJQE*j;42qFqt\j`id'h"D|b˃[:O2:V_*΍L H/EOsg!$TJVX5#qI'KaJuĠz$P4[ 2:Y֙x/sv,툌fww 투 :X50G1v/t0cSBo 0PN;GN4C-I*%+\jF%Sscĥa:JP_=Mc-I ڱ֐2,ĥbu]|N<A5 kL cH֘1 AcČkA. XrL6N=Νh.6[ TJV1Q)YbԌKƦ cĥa:JP_=Mc-I NicOiǛqg@$ĢAJVq(udLQ z&\a0& xJ$@Y%Xtu{N֑">1e-iu+/DgF ߤ`NNӳaqJ*%+DJ$@Y%Xl1)XNRDXax&BӇZhcwF-4u4՝G$gDVJSi5P9'bH_BRV^+T㿊!P$,W0 3/u=PU0~(,H:U4(Zi"Z&\+UxeQQeCDzɕVH"y>iCDB?"E]\뮺d_gDC6G뮿tG]uro6N \ͳimo&l?\ͳ~7g>SmcmemWys7g>[m&l~7g@wͳ ɼ:7gAoo6΁o6΁o6΁o6΀)&lytOo6΁77g@QM&lAyt!ytAyt@ɼ;ywM~7gxɼ;&lM\ͳ-ro6O&l7g|ɼ;ɼ;/ypɼ8Ryp1ro6mMчMh!~7g#ɼ:Oɼ:B/&l ?\ͳ;m ɼ:G?\ͳ \ͳMm ɼ:@ɼ:H\ͳYm!ytyt\ͳ\ͳm ɼ:@ͳ\ͳɼ:Aɼ:Aͳ\ͳ?ɼ:@sm ;&lyt/7gH?\ͳ_m m M ?MҐyt?MұMҒ~7gJ~7gJ4yt :R&lGyt?:Pɼ:Pɼ:Rlͳͳ-ro6ΕGDm*7gKG7gJao6ΔytytRo6Δ9hMҭro6Δͳ#&lCɉ:Pam(ɼ:Pͳyta7gJHM҈ytI:QNM҈_&lAm(m(9ro6Δ~ytm(<%&lA0M҈7gJ?:M҄\ͳ_Bo6ΔGNM҄?Dm(ͳ 8ZMD8ȇy7g~yqMD"o62yqKo62;md~(&l!ɼ8߂2o62gI7g9XMN+&l 7g$ͳ&l$߂o62(ro62~7glͳyqeVME_MQ7&l"͓yqmdͳro620)7g7gS &l ɼ897g- 8ɼ8:yqwmd ?yqRMAyq}md  8?bMB4M@8Aro62dͳyqBo62?M@yq;ro627g&l!ɼ8 ~7g&l md#RMAɼ8Hro62\ͳo63 ro63!ro63"0&l6?\ͳ?>Mb&l0ɼ8yqMbo63 Iľy2N1Q)[኉J0BŃ1JJW<<i!rxyfaau~RD[1:Q)\J'bxyf'W%+Wxyf'W `8DD'Р>5AvY>(Ȧy(L@E*U"(-W= S'N; &DP@8'DQBQ'L# UE(0h'-W5DaZ;Y$(0h Gk$DY%D()(3M# O$*OG4/+Q'ai!O",PUIF>}|#]8fe_iHB}fz=EG ̾3v= 3/Lݷ_Gmp7mi32/t/oP3/WBF }ں_7mpоzCg3/ϟ|2QX8u")m9 u%fl߂i'aԑv߂x^V@囻S#׽ qxvN9k% y8+٤R7g.˶iCD*=srre_Lo]] HtJv٧@iY4]^"CEfulHD:yl&\fδĬUn!wHu" hhZ՜CtY4(Zj!$iɕVH"ynq͚f?4A TJT6ݜDێYnH$ )me٦nCDv}^&\+UxePڱn$el.:)zFM?=Ch3/L/P(ӞiV4}ϾPѧ<+zG ̾?⇨qi4ޡᙗ}uMxVDCDoPHgPѧuR9Pi4(Ӟi=B+NyPFO8}>|Xf_eH_= dGkȖLT*dybArQAyJ  oȕL`#,%UGT'/U<4Y%)D 4׊U+gkP@TP@`/WxT*/RW$kK&Ȣ7T'/U<8R^*ꢂIl$DP`ΦZ 5(Q<"xX JLHP D𗨢a@,:(x.L/9Ss38C*WS3j$UD÷ZD0Tb y)(Qg,A5,i y)(gQMu*fq{Or)/0gn~S3@x#RaT(xF ^U .8h UODdUDSt #L/%UJMu*fq{’S3I (iovQg)K- 0TA|@Z`RW[Ct`G "Vݺ0T[Ҏ%(q*fq{(z.37⇨l

}>QtӞia.32/:xOF0r4j9j3 G#HH-yF0r4* ^Ñ- ) JR<݇#QZ9@rÑ- #pF0r4+Bj3 J AafFFp+(҂ &%sGԽE#+zG ̾C#68fe_ii"W4pPKwG;L=tVff,Yٻ œ6@囻/V^<=CQ<88fe_hP"FOP}pI,@=A<uP}gU+>32UQP|3qP}3VD~| (!Q|C i*,8(zF|OPg+TX(z#<׋ O(, h D(zszQ3/? u4z A۳6nDV,ߞG,ߞ(Qsݲ$iu<4cyVjٻ=K/f3fA4r>ݚE{7w <^Y=CDdzY=CDdSǚvMf͛%S$ <՛?{7wL]6nDQ* TH,ߞ O(,ٻ=Wt Agftzk$xV>ߞIxq7w k$xB耲EO?d fA40H@fuC D9 (ᙗ}C!is?=Bf_e#Cg !>}mDhL%AC(P#* z͛򩄲Gٻٻ \*K$B:8fe_i]ixrnCQQ-͊G)FpT5JFGH(. iLxhj4z)Ps-Jn#p*` ƉJB*y?~U:y&EE^ۣuaq32/~U:y&U0I}P_#ٻ*K$y U:y&U0IPnC:4aD}BB&3/]woPp쾉(zGѧqV#f_e_?⇨Ds?=B'Q3/W|$iiaep쾉)ziwz8fe_u)zmwŏP.#f_e|^ONyX 232/w4i4,zu32/P 2)zesο=CM4}|=CM]32/|P 41)z>`y )in,gi3f*Yٻ\3M9dYYzyFrȐYuMcy|C-6 U2@XhMٻDdLnY٤* -UGIZm8@J]p*i'aԑh,:J]p(V=CN]32/_h%$*LP 86*=CN8^Īi=CNFyޡ#f_eӎk(Q+RZZq 9f%jYY}4fJՆEi,T9 U2+/rw}DU2+/rȐY0AԊi,ݳw~9!L*R9={4:,W< U#ǯf;g_E*Ҹ y٤(,CtAE iiY <Ӈv]Hd3I;8׻DVJPP 86C4$p8肂Q(/Z>9Jԩ/U,P*P)W$L:h={;g_-+yxU]7wD%y7{7w JRPeSwO !,ٻDK EQβy7ww~A4Y R<na{◨9K^^K^NyRH>)z4/Qv#]|Ri4/Qv])z4/Qv]ӮrsP ">>BE Hi$@J&)U hKHfRaqNHY7wRa i 7{7wRaj+/UC"AdY2$0Y,<$DA4JGD]7wRa*d$yH,lߙIAlNZHYWw~e&ME4w,ߙIQ@i \ 7wRaUC"Ak훻RQv#X.H9Qv\G ̾>}"6XDbxG;LU'WJy6nﬕRup,VXo4nnﬕRup(/UQ`N9dY UG!i,&N*r]7wLT bUC8@͛&NؕPN9f^N YD]-{gZEwK]dl2Q0░:{@\rNH6m !@!Cfri#xLn4 ~j D* ~j Ni ٻ5Jc!EgfTӭXWw~j ,Rg.y(l},ߚ(Ruo4Be&4 2훻/D"+fA,j$xvD4VU"R<Ց"QɕЭCfnDƢYzf>B˖nDKjhh,HIUj@훻.˨e_MBv*‡˶f*<՛P",VIUj<Ց w}Ee2AH`YYxG;0͙w~%exVnnOQt(JԬQ! \Mд"P"}% .X^ٻ+Haq=EеOQt՛?{7wG h/yH,ۮY8S* i 8 7wGHHYw}Tq q̢EO4u7wG̢EO4{7wG Gss<Өl},UpG" &z۱(,Up*9=s쁗lUpNHIy:fQr)/0Y|H欁 UpG"+vYrQC] 6B 7wGM RA ŏ4!@훻꣎ .zogYf}TqXY\* i:t<$un搜8 ++D4#'P.HYH,UpM$L:7"mUp,iQXNM{7wG)膉i6iw}Tq:"Q"D6꣎OD4NПN2@Up^!, l͛꣎LNl꣎fY*=t(lLf3,dҎVmY:Q D~ʹ4҈U@8޻hfTG" &xv_ES"C7>90iq=t ٛ7w+RP^ٻ+%U=UFM4{\EDU+Qhh޺͐8`N<9fO$é#z$n\EʡS#@] q#T KQ+7usP3/!|$zϢG ̾4}K6}c ߇3Ruo}sk$z7flӨwvi@V32/'_GZuʩ:[>qKm3d?4BjQ"VjǨl3/Ok\KgG;H5s*rUFGhw|3W< &\;y7ww|3W<I<Ņ򪡤P >)zB`h<$ze32/?*V+V+/,xG;aD43f@D%y7{7w0 &) ሹf}$eP tm׊^F0m6ӨӞiR y `‡[qsA!yPٛ7w0I#ʹ (yAd4@囻Q3<ӨlQ'yf8@[ ^<՚E{7w02)׻j!G!YycͶݛ?{7w0+Pmnf@V]D<ۈlH,!x A!6f8bh'/S*lVql+&3W9ls՜q4 [6} q5w_ @8h;͟rP;k?wq8fe_qOx #/qBHaC͸홳:X6+3fݗjy͛?v_ AEiZgݳ6l|,M^m6f͟/X]Als Ȣx(zD]TA}{N^W:b c3f 攲2)yflf dRKwBv@^wnٻ^y,/8y w}C<j]Pn#iCmG ̾|R }s?◨m RV^ GtNqcgGmHᙗ}%")mˣ AYB<噳w}LJ p[!DyY+%cQܑ=vڳL q1(+HUj2n爫AXZ_@Uj5vlSC͸՚hSePn5fu7wĠ,-/f5f 7wLJEAC6hr)zqZB FyLJ ըx#)B…q% 0Vmf훻bPs cxTmH,HV^XmYq1(X7‡m m 7wġaBTLӌf, mfq7wġ`T<՚q STIUje7wġ`DFjxVhh,SU))Yw}LJ TH.HYw}LJ Pw5f7{7wġ`U $Yw}LJef5f"Af,PC5f7wġ`ܽHȺ5ff1(Xi4ShQci4ܳw}LJ E44n爫BhТN훻bPd]C͸EvlS|LM$6 4ߍN6Hᙗ|:焏Pۮf_eg#zB}оmF 32/MS-{H A qmf]A qu WuCs:nfl} Tcg[D9@^cguWuR }\XfY/a Slͮ$13͡Ck@!9m +]n KQ,146]ٻ P)/QD(Wsǜݛ7w %X3k?{5w_/Pۭ65iGRMJKn{"0Cs(VnflȩLŲۭYlȩLndH,ߑR&*ꢂQx \G>(BG]4+8$UD÷ N^( x0uM$Jih^* (c@P@TP@`*,JGJPZAYztL>)* PNx  \TUt^)Q" ^XyArQAI4+8 $RPTyArQA<W#Sxi'/QC9 N^( x0Dߑ/QDH`Ty'Y},<׊es@Yz<׊&%sFnxyO*CTM 3I 䞉#"Լyb/DN^y$eODEEyCD(-xD[$EӗU0HWoŊ$TYAlGG$+3<'/U<5{z&UlH|U ER Q* k9zo~i"W4pOHʢGyguZArQA|4*O$P TY#RP_#9zϋ%U14=A>ϓJcgOw'6nxiyT(gfl913۲$n%UCw>}}>32/,/UT4 gP}p쾅}%UCP#<ŏPpϢ(F^Cs7w6j^cf<}3f 8u ٛ5w_4A qJ  8yVf]xh@U $Y"@NA q 6j VUCs=BoP 4=BQ3/N>oPp쾉+/ '@  ѡkGB8fe_i] qzPv@EO!j/UxTʠv:Y !n : ۼ=B;ǨB32/qJ%UBt(('͛(/&75ffqȪ2<9cePQ#Nyupis?=CG ̾2=CNyV}ϾPi4ޡᙗ} PFupOc:32/q +TX(zL<uPhTC"4L|D3qPhZ.D}UD=B$!Q|C"B~*,8(zNDߊOP3xI ,@=CL^.PY$=CLYAtJii|X 28fe_uM2z!▙q4z AȚ6nDV+ٻٻ=)W"rw~z TUE"?dH,!,y 4cy5wlߞ %N٤ ٻ=M5f^yAd"Ek7whL]\ 7whL*xVٻ=)U2=vlٳw~z SDdSǚgfAfr*%S$ <՜iZ<-Yw~z +P"iYw~z '<Տ{7wyDݏ囻<B耲EO"nvi'aԑ-)z>9e 8fe_h◨iQ<,zD}ڻ#ze32/qK4HӞiCM]Gi3/L_G ̾3w=Z%S$ӎx8TM3fl~쾪C Sǚw~5jxV>$Uqy e7wTȭKWexr&y Ѹj3) ѻװ((yFfh,x@Z4 @ԥFcfP G0 ahX4y ҂j9yPT4 3aFP暲Q,^jB0RQ7`+(҂e0,<Ӗ 8e0,< ҥ3(/4PV9 ` +^j B0 cWAgO$éb z6ϊt/hᙗ}/ RG!枂m5bcwbcxѳfQKXh+8  PZ иj e"jcQK3`+VFah* C^Ñ Fe#QPpR i@V3l5O4xl5PFsBQԢ.)y \SH* ^j B APjH,P;Y$HK5sڻ(zt/pӡŏP#f_e|(A*>ݙw~UA{3f 8UH4xTʠvٛ:Jf]?DJ T*6 63$/U<Pn#>2SXHz>/m3m 8fe_>Mcy|C-69ADdBnٻDdLnY٤* -UGIZm8@J]p*i'aԑg:J]p(VX@i^<ݚAf>XA*ǚnni/#4pp*=CN!FybUT4 Fyޡ#f_eӈuAAzRS-e3I,TȬq w}R5a#D#q $JEe<ӈl7wJ %S"i6DPN!Wv50JxlH\)W@~iH JO T+v!Af> (PN;f^ ~u#8˶ii'yZrȐ> TJԩV #h>,z32/|p%JZ>9>RQ137{3f2uNi6n/SJ Ix4nW*'Zx"Vb{f0js,ߞj(xv٤Efxvm,fݛ5w_Z$Xil٫$8ՏAf?9j-TpK9{E{4sTN9d k$POD4,U`htf>X<ӈ-t7fȮ/U Z'yY6ݗH٫ 4ci٫6!^f]qp =CGF#zG ̾<-JDKG#T^Jw6nst7ww}R9(U4|9f㬾^Q>*W%=CGF>D D;GŏPQ3/Ͼ؞PY$=CH.LH m32/_Giᙗ~ϾzKD(/&T*dim s7ip8AAzC- B{*KK4JT U#ǯflI<7^JhOn H-+y9g.xvniD)b XD={8~yhՆ={Ag_d3HHYj TJ iDz ▐"G;n9h f٫J IU i5wmv\uQ,\E,W5Ck@J IvGE{4H'-7˶i(/&rcx^r ~%$P^%jTTGڵ6nh(/Uy3f]J 砼XB6"B8fe_e4ᙗ} < S$=CH[FUD+UD1PKH\G=ىZ!%OTH[6jTCOD4Hjٻ Z!(zF<#zG ̾+H2&R(i+y !yY5weDA4BHZWqmt'JQ TA4BHPYni/◨i !C T9 wǨi $m!w/PӬ4 A| ZFӬv !sDUD [FӷupogWt13-:} H-Y:2vο<0G ӮYi^P#.i)zB`Ө}оW:9S7e9A͚E{7wK]HӞi=Ee32/Rii4]32/ Rii48})z}s?ǨH3/L7HQ3/h==ED}>ޢe32/K^#NyX3/W}m32/>E}32/mC^QK^Ny#f_eC◨l.i > ^)m#O1^2j J el !x`5(\3( Ԣ {1^2j J m !x`5(ǜ\3( Ԣ\3( Ԣ \3( Ԣ/!\3( Ԣ^vpr(R<)wG!G#4Q`5(r9 CD <Ն0f6j J װr9 CD ݆0f6j J q,5Fi1PjQj9 Fch Ԣ r9 CD^Car3L5(Ry G#am@0@VUQvFy=Eq32/.pۿs dSDM@w]Y4Km3f 3vnns<7wHH/dH,S"k$xVjٻ^ fξTXr vqPIzퟳHc]Rmc ߁2)xG;h#DCflߎ c03/훽mnm 7wD3=v۳WvO,=v۳Hw~8+YWw~8'ti^<կw,ߎ B7vn#]Q3/LvzGnHizY7w;ǚww}L<Ր9fL<Ց w}Eܺ2ׄQwG ̾mHMq /U<ٻ +TYPۈQiVqm7qˣf_e<^)zexT)/QDӠxG; `O,3fl/PhQ<)zul4/Phl^FOmco,5J⛠DwVI2gUj<ݙH,7;ffHB8fe_j_^|XbxZG;LU#ǚ6nK] 6nuW}EZK6c!T|#z϶}?w To~v Tn٤F٤iBY;ǚww}U% Q;-qP'Q d]6f"Y*u#q D u:b븆w~@yN5dH,ߢ%*W!y5wlߙ9K]ѧ<)z1onTꤡ⛸9jT*dy w~T7ff?*x^CdY*xw"AfU2LݳH< dibxVi6nʞceC>՚E{7wOw,ߕ< X_Cu}z!붻ٻ*x#VG7vlߕ<]ٻ*x&y(z蜳nf !"Ֆ=tH,H,ߕ<"(Yw~TK$+w5gfSd1IDjڽ\Li<Տ囻%jK6M$6i]w~TC2ɤ<,ӎ3feX_C͠AfC{7wOyfEwO\,H,ߕ< KQ, \,f@E\Er!@͛DqS[B<ێvS:u U'V7k6nʞ HϠnn◨Q.=Es49)Q~cgD~ٻ*x`z!9i7{7wO L3<#@囻 Sz"$nʞHaC>՚nʞ&i2'n fS=t٤Ww~TD%wok4S'Unq4S,SǛϠH<0E4$o^ʞC=#◨Q.}Ss著29s>ٻ2I w}3fc41ag.xG;H&S[Ǜ6i)Q|F٤uD%vPYSC>~2}9f`Dy"Af7@9ڼʠ SxVf@Pϻffʠsn7nsy@6vϠ6n̪˞nn̪z#.vϻdYx.̪BfUq5fli41aqMϡG=ܙT KK=\3fʠXϻffʠ+xv@@ʠ+S fο2w:~ePt$D#zm32/ϡY|.hx 7x(z>L &2Q4OGn9fe&(Wt]3fL SA{@~@ZdJP,ߙI,iDA4JGn̤ UVHHw~e&O=I9k@~")0j(zrA5?kAfL X]Տ{7w)rD~rBU'VϠ(,ߚ&R` ]we4Y}=tݳw~j 5 4d'iE#ǚG;fSA|37B U!] 3fjX;dYdCD꣎ Jd1ID] e7wG CtOs+Xw}Tq`Z2 g!꣎ SC='L@~YrQup?d-w}Tq*p(gp]D)4z lUpJ-/,Q< ' ulUpJ-/e38.x=tww}Tq*pP@ຉQ8hw}Tq=O$é#yY hGmˣf_e~mcgn,@=Cw>^ "Vb P"' zw?tJԬQ! ]p -s=_; w}:K'xvniI|ʭTȲ׏7gH݂%jV( .xF^(Ws3d?J\jٻ+Haq=Cn4'mQJb P"m(m^`K7{7vi4iCwey6i4)zuh4/PHh^FOii4^`Mxe4/PL6,*7[e 9eQ (y]6n搜8& fQ*yHf% ڽw,Up+/a}6Ӗn搜8"Cʹu7wGE$mlٳw}TpOD4wf͟꣎4tۮY8S* ޺qn搜8(?gvQ12=tٻ8-e*zWw}Tqw<13>rQr)/0g} 7wG E%7w,lUpNHIy>fQr)/0Y|H欁 UpG"+Cd,fらGmQCC1c>P;fBmƬ,8 ++D4#'P@囻꣎ Q3M + t$n搜8&y&I͹{"mUp,iQXϠM{7wG)膉޹iw}Tq:"Q"m 7wG*hr8˶iw}TqxwelUp,g}e UpC2U,/Afe7wd &tn;fmzm v |tP*7e7vYw}$U<ȤI)n#TFPKwm9H+[$s=_; w}rIz%xQ=C}q #9tᙗ}Əz)zBawoeT[.49=woflӨw 4ԬyƐٻٻ*zYnʱDi&WB*yWv!I/Rݽ@͚@.] 9q4Ruo8Ӷf"bh'/S4z8Ө/UIռRG=Rlflㆈ^ml q*yYWv}=C"G ̾>y) [vQ\JQfl ɥW4޻l O$é#yƑY@d16p'ۿXZ#"G;aD\ 3f@D%y7{7w0 &) ሹ;dYHa@B(zehxecgȞP#NyK6cA!sA!zY7w0I#ͺ (yAd]6@囻Q3=s,Q'y]Wv~C -s/j"Qhr]0+/,yZgf@bjqm,ߐˆ ˨3q8 4^)r㌅‡h:X ʩ:i8i @9r٫X+NrU'VnP;f]4VA|D%erYms} ˴}q_x8X (yƏٛ8㯅LyƝ;f]4c.͐8͚ 4BV^.ՐvB~#8ph=TKu{2&C qf8bh#JӼH,͛?v_ @/{3fݗGZuٛ6~&r/9t6f͟/X]Als&8hy˻dYebK ͐9fDHs!cͺ͑ w}CnZP )m v'W2hxvf ~Dxvi@cx6nnt(m ms7m Hᙗ}>φN )m h'Qus)7flQJ!w7fY7ff Z6 r3wQPѶ=HQ \'x(wC͡n٦]uAʩзfu4ˮ:"QLm vHPY]u<nD(Lm 6ݲD(L&6mA<@OP(BRQE LKh]G;2NhPٛ6"xYw|y iSy6ٻ^(BrA4DZ\=ChYF, %'Q dP DBx\G:C mf%*…<lR[!,"Hw}Il BY==CG ̾]_51(PK2v2%e .xf1(+lCfdHGrDlf@bPV5Q"<՚elS<՚jٻ%i7ehSeP󌢳M:囻bPVB`3UCǚWiF%" in4ϊ^Ʈ`MxFVZ!UP(k64Sbj)qsġaB<噳w}LJ GrDldYB37Wv1(X9r*dy[H,HV^Xdod,,aC2~6bP\EZ&xVi]w}LJjyPYf1(X(w5fC{7wġ`U4F3UCǚGr1(X5Q"<՚> 7wġ`DJGk$xVhlSU) :}bP+<ێ٧]v1(X2.EvlS|LM$8Ӗiٻy"".yPYNfJ KQ+.6#8ᙗ}Oݔ>CG ̾߻(|#z@}ϿvP>1"(e+RK!G;h(%Nv"@1@ZCsbIz%8ku7w%( .xf1@D<WuR81!9I4 KQ+.8rEJ`8P?flȩLŲ,qTby$nȩLH%ezf훻*S (y٤ ٻ^#NyR1OODO}sA O83k/56˶fU%C2Cٻ^#8}CϣNyR@N>ϊU+EP>+ED:i /1@\r(z Y(vG\J 砼X<ӭx%j*<ӭ %RQ,<|%Ъ2 $@+SNA*!9 5ӐA qT@y'/U<]$ V@ej`TA qTy"W X9`d4 $ya漊X!9XӨ}`8yAd,<בrQANLY%ODJ+SNA*!9 5Jc!9(,WH 8ybG Ei:Y%P+Scgy UBT>KjU Q"kȥ"?$O(,i8ya漎 .Ӟ*," C N^( x0qQq14H0CsN=0@LkP@TP@`Jci "QdA qT"VTQu<^DUE:30Xx^)J!9@P@TP@`,BXH(WQUDdV8Go,CȔA qDd^)Y$ҫ凚z!(L|#k U2+O#!LJԩTo,C%S$?%S$4+Jh-yM$G_9zQy$J E*RADd^G E 4(y&KJ y&K,jy'/U<5v$,(x%S dH|Q@d,j :Y%JJ 8C83Di`-#/pHcy6fI58홳w}=A<+zG ̾_?$VPFyG ϷU+>}UTAC@F\rACBQ*(z葞o/\AC i>*/8(zF}% hϠR8j9P3xAt  FV%TAC Ba:}| p,hx$s 9Orٻ=J[ٻٻ=)WCdY=*Q*珢$iu<4cyݳw~z ,77f3fA4r>E{7w <^Y=CDdzY=CDdSǚvMf͛%S$ <՛?{7wL]6nDQ* TH,ߞ O(,,ٻ=Wt Cgftzk$xV>ߞIx q7w k$x B耲EOAd fA40H@8ͮ믿#!e32/|XZG ̾32/}GB8fe_inyAC!q=PT8'd:y&y vf6(nPZ,m2nʪ9 Bmr*Q cǚMh,OǚMlPFOuxr5Q-͇#QZ9@G!kXr5PVP5zFahiHZR9lFahiV7)Fcr5XܤreQZPP F0r4r5 AY@f\a|(z@ O)b#ue 6A⢱=CL#zD}Ͼ.1X▚e U2@XhLflߢU2@XiniJH eQ:iV?gHB@`TpM$L:7e 9g_B@ Ge ξ\r<(6q FLGDi,pP 5tm4ׄPMf_e>-Dz$P FMC4g%UCH i3F 432/?( DJj)iQ1+TR(Lyٛ7w+H#V*9B;yٻٻ\rADdV_C4~w}DU2+/?dH,ߊ`Q E45wlߎHcS G^ fο4q٤J$Bii 4]%QBiE{4C44 ]lY NM! }4AAzRT=CM"FNF ]p4AAzC-]sȕR^XUjR9={3g_Iu$ѼzvξZWExvi@i\9sǛwHZ$LIj%vlDF4T :!G6@嚻(/U肇jFJ 砼X)jA|I4M^٫J IU i,ݵqGDuq@\<.Z!Af?h(ri疉 Xi-{@J IXi-{4DAAzRS4׻ٻJ ITJ {\l+ A|=CWqWo/Pϣ.jx5xG! ce@0@.BPjQO5`f9 P CDz ce@0@.BPjQ9`f9 P CD?`f9 P CDA`f9 P CD^C`f9 P CD/@P5 "y 32/}OA)v Tn٤F٤iBY;ǚww}U% Q;7>P'Q d4f"Y*u#8国D u:brw~@yN5dH,ߢ%*W!y5wlߙVJQ(Iru7wY*x+ ywfVJq̭b#ygf%OC<)+Q$o4m,ߕdO4%dUDӎYƐY*S<Ж)UӎYw~U(UPhKi,ٻ*S\rڽ<Z5esNN9c9f%OV,q5esNN9cPY*SK"@ PYqzǮ+^YQj>'-W5PӧўC"-ghg>1GK4i4^HQD/P'<)zF0i)z]s?◨ih "^M#4CNFO>1G@7*uRPKGG;m^T*L!6nʞRO i,7wOuNN9dH,ߕ<JI<ݚiLM,Oj fS q̢Yy٤Ww~TJZi6ܳw~T+/a}4+\ 7wOC54]lߕ<U#"nݛ7wOC"?fS4C"CfrSCDE,yHH,ߕ<"(Yw~TK$+w5gfSd1IDjڽ\Li<Տ囻%jKS40H޹,.fpD]9z5f6nʞ gTv4~nʞk(Z<՚i,ߎAҥor]n[ }ٻ*u*<՚ٻ*xXci޺m^SD+n9fP揢MAfeI;@~8˶nʞfY4 qlߕ<̲UK zYS:m6h.YW~TN\Er DSE\Er!nʝ KQ, \, ٻ*x!9K=(WsǜHQ^SY,j%B~;w,ߕ<AB1C=6+4nʞQ%ko6Vi]w~T*dq)Xn7f]7wOD~nʞ%(t6 4,ߕ<4iCGϣ4}r9SsՑ w~TC hvjٻ*x` 䞇>~ fS<+ٻ*x`NiܳH<0M"xPwH<0+RU1G) a▏G;H&S[Ǜ6i)Q|F٤uD%uDGݳww~e0L^w~e0M"y<Ց w}u▐8v2<ՙw~eP<ߙT@Ր9f3x ̪>ٻ2g.yߙTBF] 5dYxїy@HS͑ ~eP*W43dHIS+GZ@9ʠR\Yyٛ7wUǚ@՛*i*L3oPᙗ}@ϊ-W5P(5~ +TX@33$D< )i$sL P"if@@훽)0Zȕ;dY2$0Y,<l)0i",d45wlߙIȪ5;f3fL z frך@E{7wRaPH囻)0j(C3 v>@yPHv)ciCtK=CN$zG ̾>}lZbDPKHPOd%TJԬQ! \Mm{D\E]͐8(WrǮۖf թXC+.~Dqi4)ztc ג*$B!z;CXH+⛶{N\E^͛N\EnY7w>Jb P"稻h/{Ny'FM?◨WFO.hj"UoݦQ.*8HaCi3fiĪ@훽꣎P6@囻꣎TK !$n搜8w@횻n搜8"W4(sP;fBYYUp(VW !hGpN]4:7wG¢fWDyH,UpM$L:7"mUp,iQXGYڽ꣎ ICD4}m,UpNHH;fBQd'z!N2@Up^!,;fq7wG (揢l꣎fY*=wYrfYɥ=sYAfD*i6lJ!Uz5f6n䊧9I37e$U<0*G ̾y ^)gї< \ٻ \j0iq=vflP"HaCm3f:P"#`TL^ETI7ms .%jZEsF?flKuNl7wy&Im w~ .U n٫d>rIz%xG;/H }32/_Gm3/|R :Ùʩ:[h绔HN6iBY;:~ HJǛߕals}|^R9)n\JQ뢳6njdҫZo4nnji'aԑܲ,a|i=Cm"Fy^Q#6˾Cl32/+Qrٻ!'Q dr (Bb.yodYHa@B(zql◨m =E29)C )n죜 (;Eflߐˆ$]VnnaD $y,ߐˆ!揢$naDH뢽@Ql3)xViߐˆ Ȧ7w,~C BǛd?{7w0+Plnf@V]D Ȣx(z;φ (⛻ts*!+D]֬͛pȐY k$xvj٤-)cx4iK`N޺٤ ٻ!,r"K`u"+^Y rE ] v@K`RwvnٻRǮ 6~n-Z%Vw6D%e)Q}9ٛjG 6 jl>d0 NStWG;=tMٛ7wሹn^M8wRM<D%n HeN9fl߂CKǚ6n䃥%DPDϳUPD7D2 u$ 6ni w w}ClatH-2 u$ww~sJY,ٛ7w񙂙StH ޺#f'l/ͲՐ9f|13l$ZqAC6wE6p쾁_/PHQ<’P twBϊ^F0mH 8fe_jz!@Ⱥ[is1(+(Wsǜ6n爫AXd(T6VnD爫AXw$O]7r}LJ ƪ$R3UCǚL훻bPV3UCǚM]7wĠ4m7f?{7wĠT1(XӮf,Pm H͛bP/Iv"?{7wO4D[$E66iYAJKn8v_q8fe_iA$8悇l(Jcg[>9ܞcg>͙w}ޡG ̾hޡf_e}PQ3/GiCg#f_e/˞CgG ̾74 8n6}3f 8i͟Efl|μl͚ݜv: O6| w~EJ`D+/UC]5wlߑRHaC͟Cf3fuiG;hOgܳ6Xjulߑ`(V:(/by&KP;Y#ǚ%JR<׊d0YrJ<ݜ.٤ VXHlˎi ֑]J8Y@iY4]^"CjͲ֑]tf26uW~%exvq ۽@QeCDӇZi32/|k#m3f*Yٻ\3mnV^EQy'Q cǛWv ~٧H Url߂Rp#l+ٻq<^YAY@BSG"w[DweTnٛ7w՗nٻٻ+L=C#q=COtOq32/ޡᙗ~|#z#f_e>FG ̾>}G ̾3v= p7mg4:9C D;g (ᙗ|q tp* AiC!ivϿ⇨B4P4ŏP8fe_D}TJ$@Y%WE⡨ET S#gUIռdeOkE.H׏5C9IT'/U<8DAJV<k"Q ((&ycx0Cycx0BG"xKQEFxNyipo[4}32/Q(IW3- G=.v͛g,y Bojw}L劕y"AfP e!Wvi 8fe_uxus?⇨hk⛸v&zٛ7wUj G͐9feUǮ͑ w~!,xvj٤Ux.8fe_i0 rLM#bxVfA}g4yPQ4j zSl$9 a,'5fl߁TDCff?P!٤U $۲,_rŔLKhQ g,Tl͚@ g,Q"!H,V 1\ 1$ySRV3`Ȃa3e~DN1޸9c6N1̀\N1!3CN143RV3mN1߈"d GDc MaQ+O5%c zq a2waI+ccRV1(6cy NԕJl=8%yԕJSbRV1,~F65%czqJzqLIaA+s=8& |N'5%c(1+90ԕLySRV10 Q0pzq"00ԕ"3‘0=0ԕ"F G#zqR MIXȍȂ?] ޺A2%FdA׊RV2 zӌdB'CRV2 ~"N1# IXȄ#JjJ*~"N1N'5%c1+# IXCO#JjJ*)P(cQԕT FF5%c_#ԕT^XD8IX@Dc# IXB?5%c# N1⠐ԕiiMIXw(c#B!+-Dc#40ԕySRV20,ǧ/#ԕ߈ӌd`£RV20iMIX5%cp+cybƒRV1Z#JjJ+ ljJ+ySRV1X@1+GY@5%c`:PHjJ85Fb/#TjJ,)5FbjIX2IX0aG5%cyRV0:5Fa65Fa=5Fa!5%c 5Fa!W5%c RV0?5Fa ;5Fa @5Fd?#ӌdNjJH yԕD5Fd%‘0>Iq9+McRV0>yRV0>N1Fԕ Q+"QiMIX@0ԕ 1r+8J!ySD/SQk(~g>Fb0Hح0hzq5%c&V IXɁNJԕ RV2`)5%c:/5g|R IX08H@5%c Q0i`XjJxFߑ+L |V'9+L"RjJ >Fa8`ԕ'sbsRV02X'5%c 5Q0!yjJ>FKb+ DctFo+ ~FRV0GcRV0^FF`.#IX9'+' )5%cԕ?IX<IXF #i+P/1ԕ(I`fjJ(9IX€ԕ(FFa@{`fjJ#3RV0ԕ`C`5%cFFc y#ԕaOca`djJ0| IX`&vcԕ:X!~/54=8pu&5%cl0(jF+A+Aԕ!o5%cIGԕ)QkG:j-cVqd 1F1lc kLj-c_ zqfyc1`ԕf<)5%c#+_ӌcBO# IXƇ|V IXƎyZjJ4"N1#0ԕhc4zqh yTjJ4'BO IX@£RV0Pω@ԕ (xNjJ #1+(10ԕ>+椬`?A0P"NjJ  IXxƤi0ԕ0zq2oIX^F85%cLcaQ+`ab9+aįa]ӌaXe`xjJx۞+c D/IX{NjJ ?ӌ`£RV0TV'5%cB?9+wzqFf`+ӌi+#5%c,xRV2qⶍIX<@5%cN1wNjJ`ԕsRV2Dc.g£RV2 `ԕIX'5%cP40+DcQGFjsRV5!jJƥgjJƤ}b9+sRV5"'+TjJƤ!xxc`ԕXzq[F| IX0~0mⰐԕ3߈ӌaB0ԕf<Fs^F#RV9CRV9zq`saQ+7syԕpq:|=8@b!+/ IX߈ӌe^FfeTjJ^QuxY1G+8:{+8:+ⳌcEg@[Eg@gCVq4~#1J+8hVq4Hh_c0%Y3lVq=rY3zaY30Eg(c=r!Y1r1Y1 1pVqv ck1U뒊1K넢`pczEg`0, 1Y0;b3f3zc1\Vq1׸jgWpc fCӌa>FeCӌa`5%c' IXhSff`oCӌ`B+-A+-3¡0Zql( 1lVq6޹@l xIX`qⲓRV0y IX`{`5%c +"\zq)c1_\p+8HY:@KӌfD^F IX̓yRV3"#sRV3*<-5%c2[4?ӌfA IX́NJԕxԕ!ԕ̇`FjJfwe&fnԕ̧ԕ71ԕ?0%5%c3P=8<$ԕxW"cᐬ }pc 1\zq7^10g椬a-ӏN1|pjJG+po-c@piay+p xIXÀs#5%c_O5%cOSԕ@+c+ǧO#ӌ`z@+8Ae&aIXÒO##RV0jJ>F ! RV0"VRjJF+)5%c fF` VRjJPaⲓRV0+)5%c(9YI+=7IX!xjjJƴcSRV5/ƦkF0$;ⴆ`HQⱩ+^0\/X`٩+.F BoIs1eⲓRV1+)5%cꇧǣ+)5%c4+)5%c4^0%we&`JSⲓRV0%YⲓRV09ⲓRV0xԕԕפzqMIX #ԕԕzq;>G)+椬f-3V|TRV3Q J| IXUzb+=pzq!X+椬`RN1H80ԕ~@ԕ`FjJpoHYI+0cB9+0SRV0`4YI+0 VRjJ (YI+0*IXQ`T@5%cԕ 땏N1Pzcӌ`T\zq4c WVqy+y!ԕ##RV0d| IX`djJ~FFa`djJb+##RV0+>FF`?025%c`ԕ##RV0f IX| IX5%cf`ԕ##RV1q1gAY1zzq~ 'RV1A0ԕ\|=8׉椬`b6D |؀Ml@&ȁ r!͈9myg"<؀M6 l@͈9;b6D<؀M6 lB/ qPwlalDM6gm6*m6*"mT yD8yD8AhqPlql͢&@͢&@͢&@͢&@͢&@͢&B/DMDMDMDM6g?6g m6*|"mhr26g#!hr2/6g#c͢&<"m[la/DMhr0͢&m6Go6g#g͢&VMABm"lyg%J$lDmxH&D8ĢA6.$(M_8&(MQ g>% qpĢA6.((M|J$lĢA6.ĢA6.QQ gQQ g 'Ip%8M|N l0Mqg$=8M 6c$=8M78M98Momƞ'I{^'I{~'I{$='I{'I{'I{_$=$=mmm 6a 6`sqg:8MA&*m*m*mS8&$Pl*mo6΀@pM>Dm0PVMTld: y⠬g{PVM/PVM8PVMa⠬gx}⠬gxDPVM#+&+&I⠬g|AY6mm⠬g|EPVM$>* ɶpd8R+&š|Tl0&ч*&&h!yl4$yl?"m!6ΐȀgHwȀgH/ ;&9@vM |ɶtɶt"m e@vMȀgHȀgHa@vM ɶt|ɶtߑ6ΐzXM~:@:@-&D:A-&>* 6ΐB It'6ΐ:@wgH?m lZM^*$:A-& *:A'-&Ґyɶt?i6Ε6?&Ғ~:Pȁ)6ΔilS~lJ=pgJ8gJSm(cGIt"lJɶt0&ҖgJ t? t~gJam)li8lC:PgJȅd:SO"lC&҇6Δ~lG% tlClA2MlDM߭&҈?6ΔB:PqgJ"xrm(916Δ~gJlA$:P{:QěgJ? tm(B0&҈lBm(lDl/mdAmdCmdEtM8ȓ622&A/62;qg߲M962md&Nl'xg?Y62I62x qolgx8qp6&E>l qc.&A &E^*mebmd[*&J?l%l*ZMmdx q5md ql m-&BJM/Iq8P ɶq0&@2mdggòmd|T$l!Ul g2mdT!l!g?"I62F8̋@M l2Og|TLM_"mfw͈d8&l1Dߛc d d%`v2qc 82X|T% lbQn,cbQH% c,bPUbP{&b` c[]L8&11B&ͧ0]" sla:aF@G#LLDDBAv2q;{A(c!xNwƙfD'SBLbp1FQF[FcF1v20,c#ܬdb& da.c#LdbNVI+ l1[h+I1c1Xblbj+0k2cflba,b{V#IcZ1l01aLlv,l ld56 uF6?c`ьX1`eb¬,b Ł XŀkG1`C#)01#0#1" 1 b,a8& Bc F03c 04c  XDc `c a 610`c \ 2B,d62A~2G0`2݌`GLj`|`~ `|`c pL`}F0@p1~   ,`?TD Ic!0B$u]_c+cq[JV1hZ!cD L"g``qc"p͏v0D#E Oc)e"mDA&c)p }/w]/I1/)&01a|x/ &0#c ý0?Ōaxsax=<>390XD(@c v0A`]1q+)QJ܅lR DLbAb ^:abaX1!1#셌18111Xdl`S8H #*`},Ŭ`l`;V0T` 1&cA : \ t[`:/v0w`:4†0 q`1/艮 cyL`:208B*c#c,VVŌ`8!cDd`<l`< qKl1&cw`<$`.aCd0_ٌ2g'c b&c c wc v @ dh }2:602 :V0VCcdX n4ca65caN1 `1G籂y mD܅lP>%|>ͱ5&0|HŌ`>$8<#c !"Ŭp`&c8\F/c 1cc8Lp^pmyC–2PMSF2+Peʋpf e8`# Z1a#@lq$cDY u13q,\C/J=0]8q1ĬqӉC`#8Č"c&c2Ōr#9#X+rf9.c!`@i9 ӋqC/cOFsLp cN ӃJƜE%c,s]6Xd eDXaSX?Ș*c,`B62 XB\1V2Ҝ%c-eLZ3e1PrIَT8(;r<"c(({G 3l`@8d `@c1u0 `160 8J:1V0 xL];qeX% ec.Ic.c2qDϱp;бp@c.0AA,jұw*Ƭj pPƠ7¶5N7cRCjXqH pH,j]5%8dƤljLpcReLjC5"VƤDձLa06la08c ,c -c a%c p'$#Nwf0_t&c &c v0F/c !p{ V `.A`.I1 `.X\qX\1 V0pH`.d`. gX\0%cq \H]b0N1p0Nv=Ѯ sl`nqXD lR D *c#c1#cp^w$c!cXF/Mb <81zv1x01%c@‚-v01R( 60&+c 02F0$c |€,a@6Ŭa@&0`(J 1Fc:0;+& `v1`a {1=.cs0y1c 0 wXb&0M:&0 X`F 5i,`04`0q 1c6c(c,k6jp'c9 vy\V`;!03g@x@g'c<#3FE 2p]8sc'[XüLN>ld8 c'rV2p62pŌEL1 q{P1sq1 {C-1z61|?cv1=ͱD~%ce"cd1S1*ceFG  ]ch8&chBп1QUn1FHю[6 2V6%ch`,<ɘ%ch a;A !O2cy;\%cAX#;cl2cl6s1f6,"clD,m TB~'F9%8n cp bf7|"c?,g1;󸥌&3Nϔ3gXӂ63L|:αpJ|?3g|"†460cAnhxmc@sh@ƀ h|JƄ&ĬhmлФ&4)4!'cBC(cBb4!DƄBLhB*cB$lnb7mpn7AB胉1C2&7D|T蓑!lh6Ōh64I0N(Ŭh0Dƈ7XXJƈDh\1XNL1Uٍ7,bݍw7ŸR˽]1CRI1!.,c mlaJL$c SdaIN’1*0BdaHo60aH0Y)0Ef0H]/cF4eY4fōoƌwcF"ф- L`2΍]gc]Aocv0fNcaBm&cL`4#v4!)cH-Lib4 i p"$cHc1 ?p{A]+4Jƕ"cJ!cJQljX҆(u҇P[ iAp!ϱcY1oca&c1b*cV3qcH61K1 cFrV1L 0h&cQƁ XƁ Ƃc@qƀ1ٌkcR,b5$ccc[cPCh5T5(cƢ.6c,*v0-c ¢r^lB@LaP(;0P/ʘ@S el`7c`;@}9s( `DԱycL0o14c`aiL6cL/c 08ѐ1tV09&0;X°]+1CV ط]0Ic 20*Ĭ`6]pÜ"cLüO516;H=mFڜ:1J6q3@X(c R6yGr62 {@{P q+@Le.BPq;@B e>)c(1SXEL,lac8,b01aec 1.L7 α\\7 npN7Y cs(cnvccq'c0ZZҭ0F-y-o- >,ahciXT8ࡌp晌p 0c-c(c n8p 1X p,`8/0sL`81lp2c\l`8p11Cs"K&ձ\61c9-cec4c15!1AKfLcw aq,ap#\Lk\`H`.4c 0%c ap}0@{\ \ Pv XKO;Jl10* {Sλd `Pf0(r0(1;v+c\X;g$cœecpB0;lasv>α`1`a;v0G];1 ff1Wv3Uf3ZwXV1xRjALfHj"iXA3c5qACl`RC,cpc9c/ `Rl`!y>0뱀 8 c@0c@A'-v1Psajic C5q;jb0A aA,aCi+cb0Z4F0ZQ0[-c2V0Zi`}O?ͯ?Q_k%mZɥUBk(6im5#YT??ͯUmͯƦIT +L__x_"_HͯE#"?m/ʡGGm/'ʡGITk%+OͯԗG,_Gή"(k('mͯT(W_G$*+6O4_G5eJ?C h6HͯլWuJx+O6Wm4IDdHuQ5 Q4E4+?z!?uJi4IM*_G΢IɥUB6O*k(?k(TJVQ4_G,6/k(,U 6Y$+ͯZk(蚅em,T^6_G_QQj?ͯsQsA*?k(usQM=Ȕ+O6Xd6,k(k(tV^6ſQ%6ZREGm?Am?ͯp?Bmm_GQomMC#Z%U_/YD3=6_) F:P7WA2:ҍ3~\,9nΕ6o˗Ň?t._+:Qo˗Ň?BΔ7AßL) lCߗ/0\R+ ~\,9)Vo˗Ň?ITt?Xs ┥!X͝)no˗Ň? UQ aNiUPgJ7Aß!7Aß L3~\,95 ˽)o˗Ň?-9._\(o a˙҇9._`)HV3gJ7AßΔ7Aß Cߗ/i4I:P7Aßi$gJ 3~\,9qJRfΔ} aHcgJ?XsI4to˗Ň?*WAo˗Ň?Z~\,9(W<3~\,9WAo˗Ň?9dO:Q7Aß% ҈Y._蚅e6t7AßlDLߗ/t7Aß=*J͝(:r<*҃ߗ/4+(1WJG]^( WJuzĨ% % %oU?%?%_@oPWJDO@[!WK_uz`wB !u uze /@I]^W":4_[CѧBuz /[CQBuzurnF0u@g]^zM#NW"o?n ">._O ?'/=tٿfƬQmE_'+O;/sI-3؁]^=_A2y'2ydkfso6 ͢ 鮯9ZAD,CWWCˡYs9+̺LGWWdsl@B5ٮ2y'2r6 W!)2y'2ybQȿ<;BΛ7넹0i͢ _>9ZJuE_=<[]^gI]^e{ ޹Muxq?]^iȟc:"L"M9e͈U'+OD"52+^ƿOrUƿ&L!,BTkSNVWWLrǐuyO!_*55r%^?&L!Y<O __ :JcBtٿì /7di0DE:i卡-3]卡Q]^gǚY9\+ǿ84O/qJRf'~\B_'+bux:puxq͈r_ê8 a]^dOW3g91/Dhak1/)uc7ł'O*?0E]Z?oWN_]^8WNWNop]^AOco uz(uzoWP@uz"OWޡFxuzFy]^zQo[Aw[ChQi4}?5tgonkP34muzWޠ2PWޡ 1wuWޡQmOuz() )?[:[CHwooo Wޢ^oAuzȅ" Do@oB7uzȀK]^PE]^PWޡoo?puz@U]^P*wqc/]^7?Foe#uzFW Fuz1]^07[W[oWV]^Xoo?,I]^`o[guzŔWXoc]^`?wB1?wBt/WX/o:4_[F<[FuzB``[F_"et/W$ [H Pc[I3]^-[H W$W$?uz@,[H -]^/![H$WS]^@C]^@o?HQ]^@oWuz W?_uzW[Wo| o|Wo~Ouz Wuz"[! ?_[! c[!o!uz6[WZoo%wuz@o3[Jo(Y]^W%'uz W7]^Ho'uzX0[ E]^0[ uzX`{]^uzɿuzɨ[1uzɀ ]^` W L?7]^oSW_]^:oLttA[ W\'[W\ .Ouz]]^pW\.C]^p ? H? E-]^J1[%W]^LQ]^L W oW#o@[&uz0C['=]^No]^x W^8[W^?ßo+[?WoW^//o@M]^H1oY[)?Y]^C__C]^_hh quz3[rmWuzl:[WoW=[Buz]^&_B WoG]^|+[o#W%_ CO!uz%[R _ a]^ Auz‘oHoW%[1uzuzuzҊO]^uzC/2o $[Wf[>[__o@Q]^Wh/o@?5uz¤ ? #]^ goGuz@o?oH[aOuzO]^W0W0?L[V uz°W??fO]^:[ PG]^PW]^oc]^ W,_o`U]^W, G]^ guz Wng]^Wn 7o8W?uzp)[A]^o8O0[q]^uz-Wro?9? ?Q]^op;[\#W.+[HE]^O[MRo#uzKSGuzLR R)uzAuz@WW_oxoxG]^oyW/M]^0[^W]^guzE]^ ?nBH_˗q ?2tٿfl:_#^vNVc)"oJ,ĢEux_\}]^dOWd'D} < o O/?di0N9WyaWW I]^e`~42J$WW d5O$uyO"/EO uNllE ?7 }zkvNVc 8 ӬycuyNW?Q"{`zֺ84Oa_:l9>@!]^ r`<ĢEux02y'2ya:ï 0SMf/ _G8eU'+OMw!ƺ[J/uyNW?Q"{`62y'2ya.c RkMalli/0ux.ac/l Ӭycuy4OkWWGuy?M]^eSǐY9\Dض84O"0kM͋A!͔^@G x9ZDM`:ǖ8Wyaa]^g`WW W=3I]^e`-i]^e)_2H.h<+̹&\k,ĢEuxRuxq?]^iȟcaοȿOX6o6J% ?7';]^ r+"?%@ɒWW윭?8A\F$?2J$WW7O$uyO"ƿȿ(X_:llĢGB'+O>HYuyT?Kuxq?5<?O$uylߛ_ x62.w77!/?u}9:yTI3]Z?J [:[duz E]^ɯAWuz o,[d uz W2@y]^VWOuzZo? [+O_i]^zFyn Fy]^zFyP(7Wޢ<[CGўs[CWFyPn#=[CH6]^Wuz.=nuz]^zQuzev[WRo␫oS]^JC4))?)uz.1]^H DW[]^ nD`xuzX o>Wޡ ]^k]^z#6uz|9tc[n8`?uz@` TW_]^_*WWguzʀo@[PT?T'[ oWWy]^zь9]^z5]^D$WXuzVM]^V5[XW>[XVPc(oO1[OW ou]^ ]^uzW W {]^E]^W]^?%[duz([`=]^W0oW0k]^uz@_ N_N/uzӈNOoo[`B[j-o]^E_uzuzo@woAo W$[Wuz@[Wo@WCo[p.uz]^ WBW@W@?_ROV?V XA]^ ?uzuz_XW`W`W`W3c4[G]^uzWuz([K]^uz ?8WpWWW]^o7[Q]^E[|/Q]^uz$?/[]^_]^_uzEWtguz@c]^Пo W4o᠋]^0`Wuzso000?uz]^xs]^o_0uzoooWuz`[,'uz`Wguz`WuzWrW_]^1 bo!uzAuzD_oᨿoWuzY CouzPW5? Duzi7uzhoഷoW_W6 Wuzd [mOuz`$[l? ]^@[l ;]^AuzdooB2 ?do@7]^ W]^ W7?)]^W)[po]^!WI oBuz/uzo]^! ouz1GuzoBg]^WGZog[RWiuz oHi]^$o![.uzp =oWzWz_uzog]^@W @]^%2[tI]^OSW:Wuz[]^?o#[vuzôtW;uzNWW([j57ouz@-]^PjoW HH"[uzJOHY]^*WW[1_!uzW"*? oW+o+[7[ >uzuzooo]^[x?`e]^fWuz7[3 o([z_]^?@[z_WWQ]^hk]^huz[e]^?oW"_ oW>co_Ho W%Hi]^/o $[W WoXW@o .[?XWbOuzuzWW[[C6/5guzh:[@o uzşɿuz]^3[~ uz_[~ W?uzW?G]^I[p [/uz1[8+[Ouzuz7uz quz"u 0d޿/ ɽ|lH -BE]ɂ] ?$-":/[]^eAGÌILDnȿD3Zf6 /7j/\di35EXJWo+̸cgv|J˕euyNW?q{''? Aȿ Q4 |f@g[Gu'+O`__pQ\r<muyXQ]^gybeuy+̹< Wq,yuyV^7W+̿xkMuy k̿x ̿x~U]^e1u_<-2u, ux uxq?]^iȟc"Zf9B$_oTU]^ rk?@oƺie]^gA AEuxq?]^iȟc/p&M|T |$_o"4'+O E ?-3@_WW OWW ?+GJ, ux <92y'2yd:"c'I6oף6 >B  %ux.dᖿȿ8?~ k+̿ q]^eoWWds'kǿA +ÌILDƝG` 1D-|T!ux.cw/qWBOWW Jc]^g?WW~'+8]^=MMuxq?]^iȟcd__Lft#łux.l>3k]^gI]^e/ ~'+8]^="꺼84O L$1&tٿĜxOBED'+O2  'qWW/WWÏ讯3 A+̲r5O kÌILDd:" >M| ^'$_o$I]^ raȿL,C[]^gA-2y'2ynk=354̀ N0!"+vNVcp__ @?>Euy>9Zq/ںU3 ?_U|@'5]^eǚ\.x_J/Uj//i]^eC2Wds'kǿy6C]^dOWd'k4K.l$_okvNVc@i/9/?WWx_+̵2x_Һ˞H<ˡ\o4, ux642y'2yn:"  U6of'ȿ=<;3 BWWp]>%M]^eJ'+8]^=޸]^dOWd'҉">-;& Rc6qu9._?!/A Iú0w]^Guw!8 9a}uxq?]^i8ќ/ob_'+8WWQ uxq?]^ire6OB_W#g6s 'O*?!muk \%9Zfȿ8WW+sO\q]^gǚ\.x_J.z@WWeeBWk -x_uy?uyp~ W _̿sE]^eX?̿sQ]^e5Y9\ ǿ{]^dOWdecMAYzw?uyO!_ƘA\'=ON fNΛ7:͕ |R!W윭??󫈹凚ώ!ye~ϞPY#5>h<2W]^=WW<<08Hc>~tٿLP  C8']ux.`6-\E,yAd,<+x_'+!]ux8*''?`__ȢHlEΗFl RH!di1/\uy@+23U]^g_ry9\ ǿ_O$uyO"lοȿ璈(v6*Λ7*r/C3H]^gή"5˚'5J,; :Wgj/\_WWjg,y+̺$K/\? k̿ra]^e ?WQGWPCs]^eA7k̹0'5uy%o꺼'+!]uxUO$uyNVW 55;;̲rƿ\J·Y<__v+mȟc)__pU:\/qJRfFo˗8:D%r"Wq(+Ï\KL+Ï\Ja#7uxq@R*''O*? a!w4g)*!V3MA/.)JRAo˗/D%!3:@7ł:P7Ō:yTI^? QnFz]^zoP1q(;[ѐ`Ġ'O*? WVa!N7o&cn MWޡ<[CHo[CWFynkP34muzWޠ2PWޡ 1wuWޡQmOuz\L dq0 W?]^M]^o&q0`5[뉀[뉀o[@ouz\"]1[o';]^zF0<o'ko'G]^61hpWޡQE]^9tcWo(oo(Wuz\Po(o(o ?P}1␣n`}o) P|1?P![@E]^z8oD>[늀oF1[8[ %@]^zQ5]^#WWWǟr1uz;oW]^#Guz>0(*G'0(*Λ7lA8둁ux.`QNȿ 5 ?\ uyK}]^g둃WW`e_yuy+ e5])X~p˚J/uyNW?@ Ⰿmuxq?]^iȟcEĢAJV1H_:ln0ȀDb8di0)5Et.ϐuw]>h<25\9''?qnȿ.)JRY._yKsD+E]^ⱯO$uyQ)Y "`ʢO՜,9r;?p\V9[Cm#<]^zFy]^z[EFyn "Fx]^zH5wquzFyoP}qw@`P:`P(Ӷuzo+u]^zF qXs]^Waoneuz][?wc [q]^zF0/61w[O6}? Wޡ( [j?P$iп]^_84]^zP[!&/p 5$f|Ȅ_7F_'+O __1'+ ;WF?WW<<0%Ï`)HV3g ߗ/oB_'O*?PO]Yß']^z#<]^z<[CWFyPn#=[CH6]^Wuz.=nuz]^zQuzev[W0s]^;]^zN4v[CN?]^E]^Q]^ nm[p=[넀_]^zQW._ |Y?oP[di1/ <D\$muxq?]^iȟcC"qJRfΌ?r!/{넂Guxq ?84ʢOT՜,9 ET-]^$A]^z#<]^zH5wquzFyoP}qw@`P:`P(ӶuzoHQ]^;o&rB]c oH?wh1NWo[CHwn 6`|<[E#\uz\!W ]4]^z [)JB;7uKs* ǿ!?'as:7ŸB_ 'O*?PVpM :[Chw[CwFy]^z<_wigPў?Wޡ3uzFz]^zmo#[oF\zuz#!F0=n!44]^)[CM?]^!oBuz\Z P$c[C]c ]^uz\ZqhW[]^Auz\pDM]^ _uz\_ogosn F0m"Guzu?pD81hWޡˣ8uz\PӡoJ#WޡӶuz\[B$HwaV/G(:kM$x ?@C`di0__CZWyWWj0x_Һ'+PWWpF ?pF84O__ ┥!X͞>o˗!/ +ǿ#~Q]^~>2y'?\@gg<b_'+PWWyx0/2y'2t2?PW u7O4cEΛ_C70\R+r%;Ky._͉<$@ں?P_7c _lU6L) lfD%tz@ 57QT$Λ_B.)JRf_!/DWVpD◿7orG))c |To5 qJRf٦o˗ؕlߛ_!/D:HRo0W&t*o`)HV3g Cߗ/NU}ug ?._F Nt*7M|To"`;6@kM8`EΛ_@q!|To")|To"*cQ_:mȕt*70\R+Y 9- ߛ_/ ?̈́lߛ_/ ?͍,ߛ_/ ?͓33~mȿX(7ft7łh6_,:yTI8Xsȁg> ȳ~m?X%t#;]YßD !7c"./W_:m#`ʝ|QQ1VtF(#c1G@|"Mb7ZM|QPՌ Η/b7&0f_:\?*=_:\?qJRf΍ߗ/1D%(h'5u,hc5ZTF/%2y%ӯz&`ct&D)XO?u,hZ6?(@GdDp'Dv3m\'*RHhfNWcucm#Ru$c'S"15kNE*Uc]6dS<`3]DG 2u2)J616/&Wd_GG%T\O?c:"8Ya-:\ C h9k 7(Qq<#:uJdZ\ :ɥUBv2R6?؛J"8YD+.A/ło'V]6lM%T\O?c"8Y Q;._O4IDcuF7bo,Q*y#5Dp'Hc,/ło'rm#lM%T\O?`u]DG 2y膏/ło'hk_6&.'0Q̞uJf 5,<&U klM%T\O?`(#8i4Ie_˗_7KD^uFo6&.'1&Fn/ło7 uF$7(Qq<׮#9|$f;g_˗_7΢IlcuFlM%T\O?5u,ƭd1s/`ƭd1sY6&.'XdI MI k"bo,Q*y]DG 2yTJV1._O=*J0}YbUQ̞z&"٘ 5,MF4cm?6&.'XM]DG 2y,U vrX&y,U vVw͉DVWQ̝dLmtU/`I4EZmlM%T\O?z"8YB u,<4+Q_ͯⱇbU"8Y<*c M._O,T^45+7(Qq<ݮ#AMFf!_ͯ?؛Jh먈gakrX&# _ͯ_lM%T\O?ⱕu, krX&#-cumbUWQct\ ctm؛JeDp0Ռ /ło0Ռ _i؛J`9]DG ?#+Z\ _agbU0#9sA*u,9sA*u+7(Qqc._c1:kgbUw]DG 2xU$T1 _˗_7ĭR"Zm7(Qqc1,3 _ͯ_XUE+Dp0;cG/`QV7(Qqa CueǙliøV2 %FgFeKnNBP[*heeJLbNN1''I3aqJ*%+DJ$A4BO dX:/3wlٻGrrq98ĜbNN1''4C-I*%+%1(udł#:7V:;w;vnܞ%,bNN1''I3aqJ*%+DJ$@rxxH:L98ĜbNN1''g!$TJWCH:dLbxxH:dLlbNN1''I3aqJ*%+DN1DS,Ѻ۸u^f6۳vS''I$rqD1qdbRJƤbX50JZ LYen;vnܜ\j`TK Ad98ĜbNN1''g!$TJVX5#q&RONX50Q$eU drq98ĜbNN1h.6[ TJV1Q)YbԌKƦ œ+LD !''I$rqD1qdbRJƤbX50I4`H΍Վì7z;vnܜ\j`iS9fNX50I4)"P drq98ĜbNN1h.6[ TJV1Q)YbԌKƦAN50O%,ܝ\j`iS9fOh+H2&@%U-/dev/tty exec 1>/dev/tty (clcallev $*; echo $? > /tmp/ps.$PID) & exit 0 fi  k#+b՝ab&./usr/es/sbin/cluster/events/config_too_longpc#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/config_too_long.sh 1.17.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/config_too_long.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: config_too_long # # # # Description: PowerHA runs events to recover cluster # # resources after a failure. Since these events # # are implemented as shell scripts, there is no # # programatic way for the clstrmgr to determine # # if a script is hung or if it just taking a long * # time. When a cluster event runs for longer than # # a predefined time, this event script is called # # to display a message periodically to alert the # # customer that they need to check for failures. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: NUM_SECS since the event (which may have # # failed, but may just be lengthy) was called. # # # # EVENT name and associated arguments # # # # # # Returns: Never returns - killed by clstrmgr when # # event processing resumes. # # # ######################################################################### # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib ######################################################################### # # # Name: sigquit_handler # # # # Description: Signal handler to catch the interrupt from # # clstrmgr # # # # Called by: shell signal processing # # # # Arguments: None # # # # Returns: Never returns - exit after printing a message # # # ######################################################################### sigquit_handler () { typeset PS4_FUNC="sigquit_handler" dspmsg scripts.cat 327 "$PROGNAME: Event '$EVENT' on Cluster $CLUSTER Completed Successfully.\n" $PROGNAME $EVENT $CLUSTER #Logging the config_too_long end entry along with timestamp amlog_trace $AM_CONFIGTL_END "ConfigTooLong_End|$EVENT" exit 0 } ############################################################################### # Start Main ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x version='%I%' } # # The clstrmgr will kill this script when the event processing is resumed - # setup a signal handler to catch it # trap sigquit_handler INT # # Only called by clstrmgr so there is no input checking # NUM_SECS=$1 EVENT=$2 #Logging the config_too_long begin entry along with timestamp amlog_trace $AM_CONFIGTL_BEGIN "ConfigTooLong_Begin|$EVENT" integer HOUR=3600 #In seconds integer THRESHOLD=5 #Error Time Doubles every THRESHOLD times integer SLEEP_INTERVAL=1 #A sleep 5 causes sleep to be called 5/SL * SL times # # Set the PERIOD to the number of seconds to wait before # redisplaying message. Default is 30 seconds. # integer PERIOD=30 set -u # # Initialize counters # integer LOOPCNT=0 integer MESSAGECNT=0 CLUSTER=$(cllsclstr -c | tail -1 | cut -d ':' -f2) integer TIME=$NUM_SECS integer sleep_cntr=0 # # display list of current processes # : ## begin ps -edf ps -edf : ## end ps -edf # # config too long loops continously, displaying messages with decreasing # frequency so as not to overrun the logs, so we turn off tracing on # purpose. clstrmgr will kill this process when event processing resumes # set +x while (:) do MSG=$(dspmsg scripts.cat 326 "WARNING: Cluster $CLUSTER has been running recovery program '$EVENT' for $TIME seconds.\n Please check cluster status." $CLUSTER $EVENT $TIME) echo $MSG >/dev/console echo $MSG # CTL can occur if there is an event script failure or if the scripts # are just running slow - highlight failed nodes here since that is # where the customer will have to take action. typeset NODE="" STRING="" clcmd lssrc -ls clstrmgrES | egrep "^NODE|^Current state:" | while read STRING do if [[ $STRING == NODE* ]] then NODE=$(echo $STRING | cut -f2 -d" ") continue; else if [[ $STRING == "Current state: ST_RP_FAILED" ]] then dspmsg -s 46 scripts.cat 17 "WARNING: node $NODE has encountered a fatal event script error.\nManual intervention is required.\n" $NODE NODE="" fi fi done if (( PERIOD < HOUR )) then (( MESSAGECNT++ )) if (( MESSAGECNT % $THRESHOLD == 0 )) then MESSAGECNT=0; (( PERIOD *= 2 )) if (( PERIOD > HOUR )) then PERIOD=$HOUR fi fi fi (( LOOPCNT++ )) (( TIME += PERIOD )) sleep_cntr=0 while (( sleep_cntr < PERIOD )) do sleep $SLEEP_INTERVAL (( sleep_cntr++ )) done done # we expect to be killed by clstrmgr, so there is no formal exit value here ignal  k#+b՝ab&./usr/es/sbin/cluster/events/event_errorongpc#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/event_error.sh 1.13.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/event_error.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: event_error # # # # Description: When an event script fails, this script is # # run to alert the admin. # # # # Called by: cluster manager # # # # Arguments: return code of the failed event # # script name and parameters # # # # Returns: 2 on error, otherwise 0 # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi EXIT_STATUS=$1 RP_NAME=$* # # This is only ever called by clstrmgr so we only do rudimentary checking # if (( $# != 2 )) then echo "$PROGNAME: An internal error occurred - if the problem persists,\nplease report it to IBM support.\n" exit 2 fi set -u # strip parameters from the script name RP_NAME=${RP_NAME#*_} RP_NAME=${RP_NAME%_*} # retrieve cluster name CLUSTER=$(cllsclstr -c | tail -1 | cut -d ':' -f2) # echo to both stdout and the console to make it as visible as possible dspmsg -s 46 scripts.cat 13 "ERROR: Cluster $CLUSTER failed while running event [$RP_NAME], exit status was $EXIT_STATUS\n" $CLUSTER $RP_NAME $EXIT_STATUS >/dev/console dspmsg -s 46 scripts.cat 14 "Manual intervention will be required to resume normal PowerHA processing.\n" >/dev/console dspmsg -s 46 scripts.cat 15 "Until that time, no further cluster events will be processed.\n" >/dev/console dspmsg -s 46 scripts.cat 16 "Follow local troubleshooting procedures to analyze any errors found in\nhacmp.out on the failed nodes.\n" >/dev/console dspmsg -s 46 scripts.cat 13 "ERROR: Cluster $CLUSTER failed while running event [$RP_NAME], exit status was $EXIT_STATUS\n" $CLUSTER $RP_NAME $EXIT_STATUS dspmsg -s 46 scripts.cat 14 "Manual intervention will be required to resume normal PowerHA processing.\n" dspmsg -s 46 scripts.cat 15 "Until that time, no further cluster events will be processed.\n" dspmsg -s 46 scripts.cat 16 "Follow local troubleshooting procedures to analyze any errors found in\nhacmp.out on the failed nodes.\n" # # This event is called for both local and remote failures # if [[ "$LOCALNODENAME" == "$EVENT_FAILED_NODE" ]] then # local failure dspmsg scripts.cat 9648 "Check hacmp.out on this node for errors.\n" else # # failure occurred remotely # echo "" dspmsg scripts.cat 9647 "Check hacmp.out on node $EVENT_FAILED_NODE for errors.\n" $EVENT_FAILED_NODE echo "" fi # # clstrmgr will run the ffdc event to capture RAS data, so we are done here # exit 0  kj#+d b՝ab& ./usr/es/sbin/cluster/events/external_resource_state_changedd#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/external_resource_state_change.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/external_resource_state_change.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: external_resource_state_change # # # # Description: This script is called when an # # external_resource_state_change event is executed. # # This event script is mostly "empty"; it serves as a placeholder # # for pre-and post-events. # # # Called by: cluster manager # # # # Calls to: none # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ############################################################################### # Start Main # ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi set -u if (( $# != 1 )) then echo Usage: $PROGNAME nodename exit 2 fi # : serial number for this event is $EVENT_SERIAL_NUMBER # exit 0 B k#+$bX՝ab&./usr/es/sbin/cluster/events/external_resource_state_change.rp$$# @(#)57 1.1 src/43haes/usr/sbin/cluster/events/external_resource_state_change.rp, hacmp.pe, 61haes_r714 1/26/05 10:58:50 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/external_resource_state_change.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for # external_resource_state_change events # # format: # relationship command to run expected status NULL # all "external_resource_state_change" 0 NULL  k(#+dA b՝ab&A ./usr/es/sbin/cluster/events/external_resource_state_change_completedd#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/external_resource_state_change_complete.sh 1.2.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/external_resource_state_change_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: external_resource_state_change_complete # # # # Description: This script is called when an # # external_resource_state_change_complete event is executed. # # This event script is mostly "empty"; it serves as a placeholder # # for pre-and post-events. # # # # Called by: cluster manager # # # # Calls to: none # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ############################################################################### # Start Main ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi set -u if (( $# != 1 )) then echo Usage: $PROGNAME nodename exit 2 fi # : serial number for this event is $EVENT_SERIAL_NUMBER # : This is the final info of all RGs: clRGinfo -p -t 2> /dev/null exit 0  k >#+$ bX՝ab& ./usr/es/sbin/cluster/events/external_resource_state_change_complete.rp$$# @(#)59 1.2 src/43haes/usr/sbin/cluster/events/external_resource_state_change_complete.rp, hacmp.pe, 61haes_r714 2/16/05 16:41:33 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/external_resource_state_change_complete.rp 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for # external_resource_state_change events # # format: # relationship command to run expected status NULL # all "external_resource_state_change_complete" 0 NULL  k.1#+Ob՝ab&O./usr/es/sbin/cluster/events/fail_interfacece_s#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/fail_interface.sh 1.15.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2002,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/fail_interface.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: fail_adapter # # # # Description: This event script is called when an # # adapter goes down. # # # # Called by: cluster manager # # # # Calls to: none # # # # Arguments: nodename (with the failed adapter) # # address (of the failed adapter) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi OP_SEP="$(cl_get_path -S)" if [ $# -ne 2 ] then cl_echo 8061 "Usage: $PROGNAME nodename failed_address\n" $PROGNAME exit 2 fi NODENAME=$1 ADDR=$2 PREFIX_LEN="" ADDR_FAMILY="" set -u MSG=$(dspmsg scripts.cat 8062 "Interface $ADDR has failed on node $NODENAME.\n" $ADDR $NODENAME) echo $MSG >/dev/console if [[ "$NODENAME" = "$LOCALNODENAME" ]] then # If this is an aliasing network, then we may need to re-alias persistent # IP labels. NETWORK=$(cllsif -J "$OP_SEP" -Sn $ADDR | cut -d"$OP_SEP" -f3) ALIASING=$(odmget -q"name=$NETWORK" HACMPnetwork \ | awk '$1 == "alias" {print $3}' \ | sed 's/"//g') if [[ $ALIASING = "1" ]]; then # Change NSORDER # In case if NSORDER is not defined, we get parameter not set errors. # To avoid it, better disable variable strictness. set +u saveNSORDER=${NSORDER:-UNDEFINED} set -u NSORDER=local; export NSORDER netstat -in netstat -rnC cl_configure_persistent_address fail_boot -i $ADDR -n $NETWORK # If the subnets are equal, delete net route. This route will be # added back in join_interface. # find boots NETMASK=$(LC_ALL=C clgetif -n $ADDR) IF1=$(LC_ALL=C clgetif -a $ADDR) BOOT1=$ADDR BOOT2=$(cllsif -J "$OP_SEP" -Si $LOCALNODENAME | \ awk -F"$OP_SEP" -v net=$NETWORK -v if1=$IF1 '($2=="boot" && \ $3==net && $9!=if1) {printf("%s\n",$7)}') if [[ -n "$BOOT2" ]] then # find route to delete if [[ "$PLATFORM" = "__AIX__" ]]; then BROUTE=$(netstat -rn|awk -v boot1=$BOOT1 \ '(NR > 4 && $1!="default" && $2==boot1 && $3=="U") \ {printf("%s %s",$1,$2)}') elif [[ "$PLATFORM" = "__LINUX__" ]]; then #no route to delete as in Linux it automatically updates the static routing table BROUTE='' fi if [[ -n "$BROUTE" ]] then for bootaddr in $BOOT2 do if [[ $(clgetnet $BOOT1 $NETMASK) = $(clgetnet $bootaddr $NETMASK) ]] then # # Finding address family. # ADDR_FAMILY=$(cllsif -J "$OP_SEP" -Sn $BOOT1 | cut -d"$OP_SEP" -f15) # The subnets are equal check for default. if [[ -n $(netstat -rn|awk -v if1=$IF1 \ '(NR > 4 && $6==if1 && $1=="default")') ]] then case "$ADDR_FAMILY" in AF_INET) ifconfig $IF1 delete $BOOT1 ifconfig $IF1 alias $BOOT1 netmask $NETMASK ;; AF_INET6) ifconfig $IF1 inet6 $BOOT1 delete ifconfig $IF1 inet6 alias $BOOT1 prefixlen $NETMASK ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$BOOT1\".\n" $PROGNAME $BOOT1 exit 1 ;; esac fi # The subnets are equal so delete net route case "$ADDR_FAMILY" in AF_INET) route delete -net $BROUTE ;; AF_INET6) route delete -inet6 -net $BROUTE ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$BOOT1\".\n" $PROGNAME $BOOT1 exit 1 ;; esac netstat -in netstat -rnC break fi done fi fi if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi fi fi exit 0  kġ#+bX՝ab&./usr/es/sbin/cluster/events/fail_interface.rps# @(#)src/43haes/usr/sbin/cluster/events/fail_interface.rp, hacmp.events, 61haes_r714 1.2 2/11/03 11:39:51 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/fail_interface.rp 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for fail_adapter events # # format: # relationship command to run expected status NULL # all "fail_interface" 0 NULL # : Inva kꄘ#+b՝ab&./usr/es/sbin/cluster/events/fail_standbye.rps#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/fail_standby.sh 1.8.1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/fail_standby.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: delete_standby_route # ######################################################################### ############################################################################### # # With multi-path routing, each standby adapter will have its own # route. Delete the route from the failing adapter, if there are # multiple standbys, so that it will not be used which would result # in packet loss. # # Arguments: standby_IP_address # # Returns: None # ############################################################################### delete_standby_route () { typeset PS4_FUNC="delete_standby_route" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x set -u down_if=$1 addr_family="" cllsif -Sn $1 | read a b NETWORK c # get a list of standby adapters which are elegible to take over any # routes going out through the standby we are taking off line IFS="$(cl_get_path -S)" cllsif -SJ "$IFS" | while read adapt type network net_type attrib node ip_addr hw_addr ; do # can't be us [[ "$ip_addr" = "$down_if" ]] && continue # it's gotta be a standby [[ "$type" != "standby" ]] && continue # it's gotta be on the same network [[ "$network" != "$NETWORK" ]] && continue # it's gotta be attached to this host [[ "$node" != "$LOCALNODENAME" ]] && continue # we have a good address in "ip_addr" if we made it this far, # "down_if" is the interface we are replacing, delete its route unset IFS addr_family=$(cllsif -SJ "$IFS" -n $ip_addr | cut -d"$IFS" -f 15) case "$addr_family" in AF_INET) netstat -nrf inet | while read dest gw flags other ; do [[ "$gw" = "$down_if" ]] && { case $flags in U) route delete -net $dest $down_if ;; esac } done ;; AF_INET6) netstat -nrf inet6 | while read dest gw flags other ; do [[ "$gw" = "$down_if" ]] && { case $flags in U) route delete -inet6 -net $dest $down_if ;; esac } done ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$ip_addr\".\n" $PROGNAME $ip_addr exit 1 ;; esac # once we have the first qualified standby there is no need # to go on. return 0 done unset IFS # if we got this far there are no qualified alternate standbys return 0 } ######################################################################### # # # Name: fail_standby # # # # Description: This event script is called when a standby # # adapter goes down. # # # # Called by: cluster manager # # # # Calls to: delete_standby_route # # # # Arguments: nodename (with the failed standby adapter) # # address (of the failed standby adapter) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi NODENAME=$1 ADDR=$2 if [ $# -ne 2 ] then cl_echo 1030 "Usage: $PROGNAME nodename failed address\n" exit 2 fi set -u MSG=$(dspmsg scripts.cat 335 "Boot communication interface with address $ADDR is no longer available for use,\n due to either a boot communication interface failure or IP address takeover.\n" $ADDR) echo $MSG >/dev/console if [[ "$NODENAME" = "$LOCALNODENAME" ]] then # Change NSORDER saveNSORDER=${NSORDER:-UNDEFINED} NSORDER=local; export NSORDER # delete the route from this standby to avoid packet loss # the route will be added back in join_standby delete_standby_route $ADDR # If this is an aliasing network, then we may need to re-alias persistent # IP labels. NETWORK=$(cllsif -Scn $ADDR | cut -d: -f3) ALIASING=$(odmget -q"name=$NETWORK" HACMPnetwork \ | awk '$1 == "alias" {print $3}' \ | sed 's/"//g') if [[ $ALIASING = "1" ]]; then cl_configure_persistent_address fail_boot -i $ADDR -n $NETWORK fi if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi fi exit 0 route k%#+bX՝ab&./usr/es/sbin/cluster/events/fail_standby.rpps# @(#)19 1.3 src/43haes/usr/sbin/cluster/events/fail_standby.rp, hacmp.pe, 61haes_r714 1/16/99 08:55:44 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/fail_standby.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for fail_standby events # # format: # relationship command to run expected status NULL # all "fail_standby" 0 NULL # n k#+b՝ab&./usr/es/sbin/cluster/events/forced_down_too_longte_cha#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/forced_down_too_long.sh 1.5.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2006,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/forced_down_too_long.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Name: forced_down_too_long # # Description: When a node is in forced down (unmanage) state for # too long, this event script is called to display # a message periodically. # # Called by: cluster manager # # Calls to: None # # Arguments: NUM_SECS - hard coded to 60 minutes # EVENT - not used # # Returns: Never return: the clstrmgr will kill this script # when cluster services are resumed # ######################################################################### ######################################################################### # # Name: sigquit_handler # # Description: The clstrmgr will kill this script when cluster # services are resumed - display an informative message # on our way out. # # Returns: Never return # ######################################################################### sigquit_handler () { typeset PS4_FUNC="sigquit_handler" dspmsg scripts.cat 329 "$PROGNAME:There are no nodes with unmanaged resources on Cluster $CLUSTER.\n" $PROGNAME $CLUSTER exit 0 } ####################################################################### # Main ####################################################################### # clstrmgr will kill this script: setup a signal handler so we # can catch that and display a message trap sigquit_handler INT typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi # always 60 minutes NUM_SECS=$1 EVENT=$2 # constants integer HOUR=3600 # In seconds integer THRESHOLD=5 # Error Time Doubles every THRESHOLD times integer SLEEP_INTERVAL=1 # Sleep 5 causes sleep to be called 5/SL * SL times # # Set the PERIOD to the number of seconds to wait before # redisplaying message. Default is 30 minutes. # integer PERIOD=30 set -u # # Initialize counters # integer LOOPCNT=0 integer MESSAGECNT=0 CLUSTER=$(cllsclstr -c | tail -1 | cut -d ':' -f2) integer TIME=$NUM_SECS integer sleep_cntr=0 # # Forced down too long loops continously, displaying messages with decreasing # frequency so as not to overrun the logs, so we turn off tracing on # purpose. clstrmgr will kill this process when event processing resumes. # set +x while (:) do # Get the list of Forced down nodes. FORCEDDOWNLIST=$(lssrc -ls clstrmgrES | grep "^Forced down node list:" | cut -f2 -d:) MSG=$(dspmsg scripts.cat 328 "At the user's request, node(s)$FORCEDDOWNLIST of cluster $CLUSTER has suspended monitoring the resources for the last $TIME minutes. Restart cluster services to make the cluster-managed resources on this node highly available again." "$FORCEDDOWNLIST" $CLUSTER $TIME) # print to console and stdout for maximum visibility echo $MSG >/dev/console echo $MSG # Adjust for next iteration if (( PERIOD < HOUR )) then (( MESSAGECNT++ )) if (( MESSAGECNT % $THRESHOLD == 0 )) then MESSAGECNT=0; (( PERIOD *= 2 )) if (( PERIOD > HOUR )) then PERIOD=$HOUR fi fi fi (( LOOPCNT++ )) (( TIME += PERIOD )) sleep_cntr=0 while (( sleep_cntr < PERIOD )) do sleep $SLEEP_INTERVAL (( sleep_cntr++ )) done done # we expect to be killed by clstrmgr, so there is no formal exit value here s Mac kN#+@b՝ab&./usr/es/sbin/cluster/events/get_aconn_rsoo_lon@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/get_aconn_rs.sh 1.11 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)93 1.11 src/43haes/usr/sbin/cluster/events/get_aconn_rs.sh, hacmp.events, 61haes_r714 4/30/08 12:17:51 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: get_aconn_rs # # # # Description: This script is called to start the AIX # # Connections realm/service pairs when the local # # node goes up or a remote node goes down. # # # # Called by: node_up_local # # node_down_remote # # # # Calls to: None # # # # Arguments: [realm/service...] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.11' HA_DIR="$(cl_get_path)" STATUS=0 # Usage: get_aconn_rs [realm/service...] PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u # Check for installation of AIX Connections TNETDIR=/etc/totalnet if [ ! -d "${TNETDIR}" ] ; then echo "No ${TNETDIR} directory found." exit 0 fi if [ -f ${TNETDIR}/TNHOME ] ; then TNHOME=$(cat ${TNETDIR}/TNHOME) else TNHOME=/usr/tn if [ -d "${TNHOME}" ] ; then TNHOME=/usr/tn else echo "No ${TNHOME} directory found." exit 0 fi fi # Get list of realms REALMS="" for rs in $* do REALMS="$REALMS $(echo $rs | cut -d'/' -f1)" done REALMS=$(echo $REALMS | awk '{for (i=1;i<=NF;i++) print $i}' | sort | uniq) if [ -n "$REALMS" ] #load ACONN streams-modules then cltime /usr/sbin/strload -f /etc/dlpi.conf 1>/dev/null 2>&1 #needed by all realms : exit status for /usr/sbin/strload -f /etc/dlpi.conf is: $? cltime /usr/sbin/strload -f /etc/xtiso.conf 1>/dev/null 2>&1 #for RFC-netbios : exit status for /usr/sbin/strload -f /etc/xtiso.conf is: $? cltime fi # Start network protocols used by realms for realm in $REALMS do transport=$($TNHOME/tnrealm -R -r $realm -a transport | cut -d= -f2) case $transport in "altnb" ) echo "Starting NetBIOS" cltime /etc/mcs0 load 1>/dev/null #load nbix-streams : exit status for /etc/mcs0 load is: $? cltime # -- Load WINS? (test inittab) grep '^wins' /etc/inittab 1>/dev/null 2>&1 if [ $? -eq 0 ] then cltime /etc/mcs0 start_wins 1>/dev/null : exit status for /etc/mcs0 start_wins is: $? cltime else cltime /etc/mcs0 start 1>/dev/null : exit status for /etc/mcs0 start is: $? cltime fi ;; "tnipx" ) echo "Starting IPX/SPX" cltime $TNHOME/tniload 1>/dev/null 2>&1 #load IPX-streams : exit status for $TNHOME/tniload is: $? cltime $TNHOME/IPXd 1> /dev/null : exit status for $TNHOME/IPXd is: $? cltime ;; "tnatk" ) echo "Starting AppleTalk" cltime $TNHOME/atload 1>/dev/null 2>&1 #load ATK-streams : exit status for $TNHOME/atload is: $? cltime $TNHOME/ATKd 1> /dev/null : exit status for $TNHOME/ATKd is: $? cltime ;; esac done # update resource manager with this action ALLACONNRS="All_aconn_rs" cl_RMupdate resource_acquiring $ALLACONNRS $PROGNAME # Start services for rs in $* do realm=$(echo $rs | cut -d'/' -f1) # Realm/service pairs need to have the '%' replaced with a ':' service=$(echo $rs | cut -d'/' -f2 | sed s/%/:/) echo "Starting $realm/$service pair" cltime $TNHOME/tnstart -r $realm -s $service RC=$? : exit status for $TNHOME/tnstart -r $realm -s $service is: $RC cltime # update resource manager with results if [ $RC -ne 0 ]; then cl_RMupdate resource_error $rs $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 else STATUS=1 fi fi done ALLNOERRACONNRS="All_nonerror_aconn_rs" cl_RMupdate resource_up $ALLNOERRACONNRS $PROGNAME exit $STATUS  lV&#+{db՝ab&>./usr/es/sbin/cluster/events/get_disk_vg_fs_lon    e #inorst$_acdfhlmpuv"-./:=AEILMOSTVgy'()CDFGNPRU[]&,012HKYbkw|;>\qx{}!*39Bj47z+568?JWZ~<@QxG~L0J]@@"'+.C @<{{{{{{{{{{ZjzP A l#X2lMP׹kQTBztkZֽkZֵk \kAm`V& ^0H*ENIR|) JJ5D+T!fV]i<ZZn? _J5+^wK@9 o_To 44jzP^jraw$T% $xxa1 ^X]*ך^. <2 ֵBh5BMh*$z3n*XL@ Ë-k7Jv"kZLF$T1  <8b"`G.@Xْ-yɅX:PEI*Md.I~irM>%I(kfypa1$ $\!~$%uRItB u@|ӴwK7GB5W<0"@ kE$©qtKBf B5W<4qHKD02!-kKK79+ҴPGAQp,aQ"B"D $y`Ҥ K!Dgk&&rV谪{t*•U,s()pq2. .`RzpVmja ^тpU..{Ǵ|e%XZS Ak޺ ~wYپZsک|bhjra}+N%O>qʒ< ׹FQ"Ź-iʒ<7{PVvFd oAn@KJ\e^7iu ;͛=q-%XZS J騃7X:ͥNoKFfU Kz˪ W|"577NsǵkPs"`G.@Y&dC2h[jEu)uU/^v$0Xi2.cV7o,4pa 0@Ye&\pR*IBb泙4-& D03$2\ 0L#̇dз58;)F' c)ˎVs**qs^Fpt"oVs@{bTsFMc$-E 㪲㕣&`SӃh&oB&]X"nsTXRْ-yɅ[(L(& D03$2\V& D03$2_ %t pR*JBGB a+LH~N3 "P@i!%IB$ &\3:B$G^pqgQx_FK,K] [Iy& D03$2]I͂y@Ȕ(@3V2a[#ª|d1F\کqs7)mS{(N(K> sєknmKs()|$0! $ `% $xxa1^C8xD0bh %l RkGM>6҈LFQf^B2U590Yd K] R ڦPQVCGAU\֏2J=T:BkQTD+#E,ds(}![>2J/ESfXsNJQ'94 fJi;ANbe ₘ2L4˘\]gSYqvFɊ8c㕢썹wr<#"di 0׸]Ty0a˃(LXR\׹e&\gIPsFk˳ˎV6LTia+LH' s():.9Z.ۜQ]R8FXU+vE\uV\r]90=0>1]au`:P<%XZS "n Vw—W)A$ Fp^e>@}4B V(Lܣ%XZ?S kn[Z\A%IYpX3cs B2aTu+t \zIk] M 7J@-k֏B\n-dk#ZpV*U!G5s[K%kֿ 0$6zˢWJA{ A[3:!IRllU b/sBf⢸ '[K5iI|DBSIRl\]gJu.*MueW< +)t{Z[~,NwkU&b (yjғGN%Izq5P8*\`iI| ,-J6PSqB@ rG,L@<^@-HP^*+.%jHVRH!(.1])# s[D>I@/}TB+V'KiNNwhЉwK74+ F}>zP> P+n{\LD X[͂xT@y2@. <2R0Dr58;8989pU^vE \bh޼C%aֺ$)I#+iaUMpkP&&Q 𦆵O&&&p;bsSz7JB&Q s8+%?zM UoZꤒuR4VE$©q\?]{—iµFt>_( !3z(RS&nQC+M5)REXFϥ(͸KN Bf^d=t1& D03$2_ K!Dg;U$GY¢"DD,&$HqQWUK.,V ¦]iU/ +\k)Ղ(Vֺ$5w.lpR*;^pxa1%I\(;#k]TT"4|#anwrI%9I .ҝT,kLMD8!#̖(&TE\$@`L+ҨUrOA!Na)$Ѻp A<(+8H30FqwaA[KBuإ+N$Ѻa'AED$\e0FsL rpsM?]Op!]T9F S{fCVF V(-zrU/N CtܜjEOJق65o5K[a~sG98+t7Js_&IHu-NS% PԤ(-x[ALds,*+R+d[#id5Y,䭜 wAWNSU^^Nҕ:FK.{JɈתoV֣'MOA+gLYbK $xqqn4&ː8989pȣX2o,Hmj9x29J<",PL#ċ E]U..xqbEO&P*_ CDAx{?-~+&#\Vn-{*xq2. .`RwrXṠq,HK*H"b%{CT8+t7[ZsT{<e<8TWSkmjc,HCU..,H<4EKqbEO&P*_8" [Յ+=:uBQ-Œ,$?oW]8+t7JӔ*yn.`2.NJQ'9&oB&]X"nĊL#˃K$T%XSÉ$ypis=g8H#S19pV1bT8+t7JН+;A#zb5A Q s^'Y^:.:Vb5q7{0)7š H޴m ?@|W7{XEwKwXS 0H4XS 0H4[ӃҔm{#8F7)Nr[ZLF2Yd"' c)ˎF犊1V.J1b5+`V:.:Vb5sFrFL"pVn ₘ$T1  <8**qw&`Ӧ1Yʼn^mjhNki sܭ5) Ue+FM ꬸhɡbN;rr(EIg"`G/z p!8G\#%AXꬸhɡbN;);O{&(JQ94$&BXm.I6¸9AiEt3T'43BdQ\ wDBSIRl|d57\]J:h)$6\3k}r4%zd֌Y ₘc㕣&犊\]bTsFMc$-\uV\rdۜ rps+hE[' g0D| \]5㪲㖓$lӎUe+FM qꬸh#dFv:.:Vb5qV\tej67Z:.9i1FɊ8uV\rd1QˎV6LTick-&#PH1QeJZLFns2(+.9Yrps s"`L k)#+b՝ab&./usr/es/sbin/cluster/events/intersite_fallover_preventede_comp#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/intersite_fallover_prevented.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/intersite_fallover_prevented.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Questions ? Comments ? Suggestions ? mailto:hafeedbk@us.ibm.com # ######################################################################### ######################################################################### # # # Name: intersite_fallover_prevented # # # # Description: This event script is called when intersite # # fallover would normally occur, but is prevented # # because resource group cross-site recovery # # for selective is set to notify. # # # # # # Called by: rg_move event script # # # # Calls to: None # # # # Arguments: nodename resource_group_name # # # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi # # Set the Run-Time Parameter values and export them # to all successive scripts. # set -a eval $(cllsparam -n $LOCALNODENAME) set +a # # Check for minimal invocation # if [ $# -gt 2 ] then cl_log 10405 "Usage: $PROGNAME nodename resource_group_name\n" $PROGNAME exit 2 fi STATUS=0 EXIT_STATUS=0 # # args are the event node, id of the server and an optional monitor name # export NODENAME=$1 export GROUPNAME=$2 # # Event emulation support # if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi # # Lookup any user defined notification method and execute it NOTIFY=$(odmget -q"monitor=CROSS_SITE_RG_MOVE and name=NOTIFY_METHOD" HACMPmonitor | grep "value =" | cut -d'"' -f2) NOTIFY_SCRIPT=$(echo $NOTIFY | cut -d' ' -f1) # in case of embedded blank if [[ -n $NOTIFY_SCRIPT && -x $NOTIFY_SCRIPT ]] then dspmsg scripts.cat 9333 "$PROGNAME: Calling user specified notify method $NOTIFY_SCRIPT\n" $PROGNAME $NOTIFY_SCRIPT ODMDIR=/etc/objrepos $NOTIFY & fi # # Note to users: to add any user defined processing during an # intersite_fallover_prevented event, # define a pre or post event (do not modify this script). # exit 0  k2#+ b՝ab& ./usr/es/sbin/cluster/events/join_interfacever_#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/join_interface.sh 1.13 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2002,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/join_interface.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: join_adapter # # # # Description: This event script is called when an # # adapter comes up. # # # # Called by: cluster manager # # # # Calls to: none # # # # Arguments: nodename # # address (of the adapter) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi OP_SEP="$(cl_get_path -S)" if [ $# -ne 2 ] then cl_echo 8063 "Usage: $PROGNAME nodename address\n" $PROGNAME exit 2 fi NODENAME=$1 ADDR=$2 BOOTIF="" ADDR_FAMILY="" PREFIX_LEN="" set -u if [[ "$NODENAME" = "$LOCALNODENAME" ]] then # If boot joining and alias network ifconfig boot so route # which was deleted in cl_swap_IP_address will be restored. BOOTIF=$(cllsif -J "$OP_SEP" -Si $NODENAME | \ awk -F"$OP_SEP" -v bootif=$ADDR '($2=="boot" && $7==bootif) \ {printf("%s\n",$9)}') if [[ -n $BOOTIF ]] then cllsif -J "$OP_SEP" -Sn $ADDR | cut -d"$OP_SEP" -f12 | \ tr "$OP_SEP" " " | read IF_ALIAS if [[ -n "$IF_ALIAS" ]] then netstat -in netstat -rnC ADDR_FAMILY=$(cllsif -J "$OP_SEP" -Sn $ADDR | cut -d"$OP_SEP" -f15) case "$ADDR_FAMILY" in AF_INET) NETMASK=$(LC_ALL=C clgetif -n $ADDR) ifconfig $BOOTIF alias $ADDR netmask $NETMASK ;; AF_INET6) PREFIX_LEN=$(LC_ALL=C clgetif -p $ADDR) ifconfig $BOOTIF inet6 $ADDR alias prefixlen $PREFIX_LEN ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$ADDR\".\n" $PROGNAME $ADDR exit 1 ;; esac netstat -in netstat -rnC fi fi fi MSG=$(dspmsg scripts.cat 8064 "Interface $ADDR is now available on node $NODENAME.\n" $ADDR $NODENAME) echo $MSG >/dev/console exit 0  k#+bX՝ab&./usr/es/sbin/cluster/events/join_interface.rp_# @(#)src/43haes/usr/sbin/cluster/events/join_interface.rp, hacmp.events, 61haes_r714 1.2 2/11/03 11:39:57 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/join_interface.rp 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for join adapter events # # format: # relationship command to run expected status NULL # all "join_interface" 0 NULL # ##  k#+b՝ab&./usr/es/sbin/cluster/events/join_standbye.rp_#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/join_standby.sh 1.8.3.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/join_standby.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: addback_route # ######################################################################### ############################################################################### # # Name: addback_route # # When two or more standbys are on the same subnet, only one of the # standbys is in the routing table as the route. If this standby is # used to takeover the remote address, the route also gets destroyed # in routing table. This routine is used to restore the route for # the remaining standbys on the subnet. # # Arguments: standby_IP_address # # Returns: None # ############################################################################### addback_route() { typeset PS4_FUNC="addback_route" [[ $VERBOSE_LOGGING == "high" ]] && set -x NETWORK=$(cllsif -cSn $1 | cut -d':' -f3 | uniq) standby=$1 ADDR_FAMILY="" PREFIX_LEN="" ADDR_FAMILY=$(cllsif -J "$OP_SEP" -Sn $standby | cut -d"$OP_SEP" -f15) # # Make sure the standby is defined on local node # case "$ADDR_FAMILY" in AF_INET) clgetif -n $standby >/dev/null 2>&1 ;; AF_INET6) clgetif -p $standby >/dev/null 2>&1 ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$standby\".\n" $PROGNAME $standby exit 1 ;; esac if (( $? != 0 )) then return fi if [[ "$ADDR_FAMILY" == "AF_INET" ]]; then NETMASK=$(LC_ALL=C clgetif -n $standby) elif [[ "$ADDR_FAMILY" == "AF_INET6" ]]; then PREFIX_LEN=$(LC_ALL=C clgetif -p $standby) fi INTERFACE=$(LC_ALL=C clgetif -a $standby) # # Make sure the standby is up on local node # addr=i"$standby"_"${LOCALNODENAME//-/$HA_DASH_CHAR}" if [[ "$ADDR_FAMILY" == "AF_INET" ]]; then addr=${addr//\./x} elif [[ "$ADDR_FAMILY" == "AF_INET6" ]]; then addr=${addr//:/y} fi VAR=\$"$addr" set +u VAL="$(eval echo $VAR)" set -u if [ "$VAL" != "UP" ] then return fi # ifconfig should re-establish the route to the standby # subnet (if it was lost) if [[ "$ADDR_FAMILY" == "AF_INET" ]]; then ifconfig $INTERFACE $standby netmask $NETMASK up elif [[ "$ADDR_FAMILY" == "AF_INET6" ]]; then ifconfig $INTERFACE inet6 $standby prefixlen $PREFIX_LEN up fi } # End of "addback_route()" ######################################################################### # # # Name: join_standby # # # # Description: This event script is called when a previously # # failed standby adapter is made available. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename (with the joining standby adapter) # # address (of the joining standby adapter) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a OP_SEP="$(cl_get_path -S)" NODENAME=$1 ADDR=$2 if (( $# != 2 )) then cl_echo 1032 "Usage: $PROGNAME nodename joining_standby_address\n" $PROGNAME exit 2 fi set -u MSG=$(dspmsg scripts.cat 330 "Boot communication interface $ADDR is now available.\n" $ADDR) echo $MSG >/dev/console if [[ $NODENAME == $LOCALNODENAME ]] then addback_route $ADDR fi exit 0 #  kꪅ#+bX՝ab&./usr/es/sbin/cluster/events/join_standby.rpp_# @(#)20 1.3 src/43haes/usr/sbin/cluster/events/join_standby.rp, hacmp.pe, 61haes_r714 1/16/99 08:55:36 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/join_standby.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for join_standby events # # format: # relationship command to run expected status NULL # all "join_standby" 0 NULL # s k(#+mb՝ab&m./usr/es/sbin/cluster/events/migratendb#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/migrate.sh 1.16 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)86 1.16 src/43haes/usr/sbin/cluster/events/migrate.sh, hacmp.events, 61haes_r714 12/13/04 08:27:36 # ######################################################################### # # # Name: migrate # # # # Description: This event script is called when a migration # # from HACMP Classic has been detected. # # or when a node crashes during the migration # # process and the /etc/firstboot file was created # # certain portions of this event script are # # skipped if the firstboot flag is passed in # # # # Called by: Recovery Driver # # # # Calls to: None # # # # Arguments: Nodename # # Firstboot # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH="/usr/sbin/rsct/bin:${PATH}" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.16' HA_DIR="$(cl_get_path)" cl_migcheck "HACMP" [ $? -ne 1 ] && exit 0 NODENAME=$1 FIRSTBOOT=$2 [[ -n "$1" ]] && NODENAME=$1 let success=0 let failure=1 let STATUS=success STARTDIR="${PWD}" OLDODMDIR="${ODMDIR}" ############################################################################### # "odmcopy" HACMP HACMPdaemons to HACMP/ES HACMPdaemons. # ----------------------------------------------------------- if [[ ! -f /etc/objrepos/HACMPdaemons || ! -f /etc/es/objrepos/HACMPdaemons ]] then cl_log 5103 "\n${PROGNAME}: WARNING: Can not copy resource locator database entries from HACMP to HACMP/ES.\n" ${PROGNAME} fi tmp1="/tmp/HACMPdaemons_tmp$$" export ODMDIR='/etc/objrepos' odmget HACMPdaemons > $tmp1 if (( $? != $success )) ; then cl_log 5103 "\n${PROGNAME}: WARNING: Can not copy resource locator database entries from HACMP to HACMP/ES.\n" ${PROGNAME} [[ -f $tmp1 ]] && rm -f $tmp1 fi if [[ -s $tmp1 ]] ; then cl_echo 5104 "\n${PROGNAME}: Copying resource locator database entries from HACMP to HACMP/ES...\n" ${PROGNAME} export ODMDIR='/etc/es/objrepos' odmdelete -o HACMPdaemons >/dev/null odmadd $tmp1 if (( $? != $success )) ; then cl_log 5103 "\n${PROGNAME}: WARNING: Can not copy resource locator database entries from HACMP to HACMP/ES.\n" ${PROGNAME} [[ -f $tmp1 ]] && rm -f $tmp1 fi fi [[ -f $tmp1 ]] && rm -f $tmp1 export ODMDIR="${OLDODMDIR}" ############################################################################### # Stop the HACMP (classic) cluster services. (only if not called by the first # boot utility if [ -z "${FIRSTBOOT}" ] then cl_echo 5105 "\n${PROGNAME}: Stopping HACMP cluster services...\n" ${PROGNAME} /usr/sbin/cluster/utilities/clstop -y -N -s -f if (( $? != $success )) then cl_log 5106 "\n${PROGNAME}: WARNING: Unable to stop HACMP cluster services.\n" ${PROGNAME} fi fi ############################################################################### ############################################################################### # Wait for the HAS clsmuxpd and clinfo daemons to be stopped before proceeding. if [ -z "${FIRSTBOOT}" ] then while (! clcheck_server clsmuxpd) do cl_log 5121 "\n${PROGNAME}: Waiting for Cluster SMUX peer daemon (clsmuxpd) to stop.:\n" ${PROGNAME} sleep 1 done while (! clcheck_server clinfo) do cl_log 5122 "\n${PROGNAME}: Waiting for Cluster information daemon (clinfo) to stop.:\n" ${PROGNAME} sleep 1 done fi ############################################################################### ############################################################################### # Start the HAES clinfo daemon. if [ -z "${FIRSTBOOT}" ] then ipcrm -M 0x00006000 startsrc -s clinfoES if (( $? != $success )) then let STATUS=failure cmd="startsrc -s clinfoES" cl_log 5110 "\n${PROGNAME}: ERROR: Unable to start the clinfoES process!\n" ${PROGNAME} "clinfoES" cl_log 5123 "\n${PROGNAME}: To start the clinfoES process, issue the following command:\n" ${PROGNAME} "clinfoES" cl_log 5124 "\n${cmd}\n" ${cmd} fi fi ############################################################################### ############################################################################### # Deactivate the HACMP (classic) godm subserver. sub='/usr/sbin/cluster/godmd' cmd="chsubserver -d -v godm -p tcp -t stream -w nowait -u root -g ${sub}" # Execute the command ${cmd} if (( $? != $success )) then let STATUS=failure cl_log 5125 "\n${PROGNAME}: ERROR: Unable to unconfigure the HACMP global ODM subserver!\n" ${PROGNAME} cl_log 5126 "\n${PROGNAME}: To unconfigure the HACMP global ODM subserver, issue the following command:\n" ${PROGNAME} cl_log 5124 "\n${cmd}\n" ${cmd} fi # Force the file to be synced syscall open /etc/inetd.conf 2 0 \; fsync \$0 \; close \$0 ############################################################################### ############################################################################### # Activate the HAES godm subserver. sub='/usr/es/sbin/cluster/godmd' cmd="chsubserver -a -v godm -p tcp -t stream -w nowait -u root -g ${sub}" # Execute the command ${cmd} if (( $? != $success )) then let STATUS=failure cl_log 5127 "\n${PROGNAME}: ERROR: Unable to configure the HACMP/ES global ODM subserver!\n" ${PROGNAME} cl_log 5128 "\n${PROGNAME}: To configure the HACMP/ES global ODM subserver, issue the following command:\n" ${PROGNAME} cl_log 5124 "\n${cmd}\n" ${cmd} fi # Force the file to be synced syscall open /etc/inetd.conf 2 0 \; fsync \$0 \; close \$0 # Refresh inetd refresh -s inetd ############################################################################### export ODMDIR="${OLDODMDIR}" cd $STARTDIR exit $STATUS p$$ k8l#+{bX՝ab&{./usr/es/sbin/cluster/events/migrate.rp# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/migrate.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # # This file contains the HACMP/PE recovery program for # migrate events # # format: # relationship command to run expected status # all "migrate" 0 NULL # barrier # all "migrate_complete" 0 NULL # r Clu kr#+:b՝ab&:./usr/es/sbin/cluster/events/migrate_complete_#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/migrate_complete.sh 1.29.1.20 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)87 1.29.1.20 src/43haes/usr/sbin/cluster/events/migrate_complete.sh, hacmp.events, 61haes_r714 6/29/05 18:55:31 # ######################################################################### # # # Name: migrate_complete # # # # Description: This event script is called when a migration # # from HACMP Classic has been detected. # # or when a node crashes during the migration # # process and the /etc/firstboot file was created # # certain portions of this event script are # # skipped if the firstboot flag is passed in # # # # Called by: Recovery Driver # # # # Calls to: None # # # # Arguments: Nodename # # Firstboot # # # # Returns: 0 success (always) # # 1 failure # # # ######################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH="/usr/sbin/rsct/bin:${PATH}" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.29.1.20' HA_DIR="$(cl_get_path)" cl_migcheck "HACMP" [ $? -ne 1 ] && exit 0 NODENAME=$1 FIRSTBOOT=$2 [[ -n "$1" ]] && NODENAME=$1 STARTDIR="${PWD}" OLDODMDIR="${ODMDIR}" let success=0 let failure=1 ############################################################################### # Any filesets that are in this list and have been installed will be # deinstalled. set -A classic_filesets \ cluster.vsm.server \ cluster.taskguides.shrvolgrp \ cluster.msg.en_US.client \ cluster.msg.en_US.server \ cluster.msg.En_US.client \ cluster.msg.En_US.server \ cluster.msg.ja_JP.client \ cluster.msg.ja_JP.server \ cluster.msg.Ja_JP.client \ cluster.msg.Ja_JP.server \ cluster.cspoc.dsh \ cluster.cspoc.rte \ cluster.cspoc.cmds \ cluster.base.client.rte \ cluster.base.client.lib \ cluster.base.client.utils \ cluster.base.server.rte \ cluster.base.server.diag \ cluster.base.server.events \ cluster.base.server.utils \ cluster.adt.client.demos \ cluster.adt.client.include \ cluster.adt.client.samples.clinfo \ cluster.adt.client.samples.libcl \ cluster.adt.client.samples.clstat \ cluster.adt.client.samples.demos \ cluster.adt.server.demos \ cluster.adt.server.samples.demos \ cluster.adt.server.samples.images \ cluster.hc.rte \ cluster.clvm.rte # Copy the default pager configuration file before deinstall # ---------------------------------------------------------- PAGERFILE=/usr/sbin/cluster/samples/pager/sample.txt ESPAGERFILE=/usr/es/sbin/cluster/samples/pager/sample.txt cp -f ${PAGERFILE} ${ESPAGERFILE} > /dev/null 2>&1 # Copy the NFS exports file (if exists) # ---------------------------------------------------------- EXPORTFS_FILE=/usr/sbin/cluster/etc/exports EXPORTFS_ES_FILE=/usr/es/sbin/cluster/etc/exports cp -f ${EXPORTFS_FILE} ${EXPORTFS_ES_FILE} > /dev/null 2>&1 # Make a list of the installed HACMP (classic) lpps. # ---------------------------------------------------- unset lslpplist lslpplist=$(lslpp -LIcq "cluster*" | awk -F\: '{print $2}' 2>/dev/null) # Compose the list of installed lpps to deinstall. # -------------------------------------------------- unset deinstlist for lpp in ${lslpplist} do echo ${classic_filesets[*]} | grep -w "${lpp}" >/dev/null 2>&1 if (( $? == 0 )) then # If found it, add it to deinstall list. deinstlist="${deinstlist} ${lpp}" fi done if [[ -n ${deinstlist} ]] then x=$(echo ${deinstlist} | sed "#^ ##") deinstlist="${x}" fi if [[ -n ${deinstlist} ]] then # Uninstall HACMP classic lpps. cl_echo 5112 "\n${PROGNAME}: Uninstalling HACMP filesets...\n" ${PROGNAME} installp -gu ${deinstlist} if (( $? != $success )) then cl_log 5113 "\n${PROGNAME}: WARNING: Unable to uninstall HACMP filesets.\n" ${PROGNAME} fi fi # #################################################### # Re-Add IPAT stuff if needed # #################################################### # Get the local node name from ODM if possible ODMDIR="/etc/${HA_DIR}/objrepos" LOCALNODENAME=$(odmget HACMPcluster 2>/dev/null | \ grep -w nodename 2>/dev/null | \ cut -d\" -f2 2>/dev/null) # If you got it, add the IPAT stuff back if needed if [ ! -z "$LOCALNODENAME" ] then # Remove old instances clchipat false # See if any boot addresses are configured boot_adapters=$(cllsif -ci $LOCALNODENAME | grep :boot: | cut -d: -f1) # Only add IPAT to nodes w/boot adapters if [ ! -z "${boot_adapters}" ] then # add the new ONLY if we aren't run from firstboot # this will prevent an unreachable node during syncronization [ -z "${FIRSTBOOT}" ] && clchipat true fi # Force the files to be synced syscall open /etc/rc.net 2 0 \; fsync \$0 \; close \$0 syscall open /etc/inittab 2 0 \; fsync \$0 \; close \$0 # Re-examine the /etc/inittab file using init commands # NOTE: This is here to help workaround an AIX defect #270490 # in which sporadically, the init daemon was ignoring the last # line of /etc/inittab which had the effect of hanging a node # trying to come up (w/IPAT configured) after a NxN migration # takes place. this command causes the init daemon to re-examine # the file, according to the AIX docs. the bug is sporadic and # hard to reproduce, so this line was added as extra insulation # from the problem. telinit q fi # **************************************************** # Start of special handling for HAES smit pages. # **************************************************** # Install cluster.es smit pages. # -------------------------------- lpp="cluster.es" LPPDIR="/usr/lpp/${lpp}" export ODMDIR="/usr/lib/objrepos" set -A smitpage \ server.rte.base_smit \ server.rte.cspoc_smit for page in ${smitpage[*]} do # First run the odmdel file if one exists. # ----------------------------------------- DELFILE="${LPPDIR}/${lpp}.${page}.odmdel.NxN_MIG" if [[ -f ${DELFILE} ]]; then if [[ ! -x ${DELFILE} ]]; then chmod 755 ${DELFILE} if (( $? != $success )) ; then cl_log 5117 "${PROGNAME}: WARNING: Can not change permissions for ${DELFILE}." ${PROGNAME} ${DELFILE} fi fi ${DELFILE} if (( $? != $success )) ; then cl_log 5116 "${PROGNAME}: WARNING: Can not run ${DELFILE}." ${PROGNAME} ${DELFILE} else rm -f ${DELFILE} if (( $? != $success )); then cl_log 5118 "${PROGNAME}: WARNING: Can not remove ${DELFILE}." ${PROGNAME} ${DELFILE} fi fi fi # Run the odmadd file. # -------------------------- ADDFILE="${LPPDIR}/${lpp}.${page}.odmadd.NxN_MIG" if [[ -f ${ADDFILE} ]] then if [[ ! -r ${ADDFILE} ]] then chmod 644 ${ADDFILE} if (( $? != $success )) then cl_log 5117 "\n${PROGNAME}: WARNING: Unable to change permissions for ${ADDFILE}.\n" ${PROGNAME} ${ADDFILE} fi fi odmadd ${ADDFILE} if (( $? != $success )) then cl_log 5116 "\n${PROGNAME}: WARNING: Unable to run ${ADDFILE}.\n" ${PROGNAME} ${ADDFILE} else rm -f ${ADDFILE} fi else cl_log 5116 "\n${PROGNAME}: WARNING: Unable to run ${ADDFILE}.\n" ${PROGNAME} ${ADDFILE} fi done # **************************************************** # End of special handling for HAES smit pages. # **************************************************** # **************************************************** # Start of special handling for history files. # We want to keep the old ones, so # if they exist, just move and rename them # **************************************************** OLDHDIR=/usr/sbin/cluster/history NEWHDIR=/usr/es/sbin/cluster/history if [[ -d ${OLDHDIR} ]] then cd ${OLDHDIR} HFILES=$(ls -a) HFILES=$(echo ${HFILES} | sed "s/\.\. //g") HFILES=$(echo ${HFILES} | sed "s/\. //g") for file in ${HFILES} do case ${file} in \.*) mv ${file} "${NEWHDIR}/.has${file}" ;; *) mv ${file} "${NEWHDIR}/has.${file}" ;; esac done fi # **************************************************** # End of special handling for history files. # **************************************************** # Create symbolic links in the classic locations to the HACMP/ES stuff. # If the classic version of any of the directories listed exists, # this block cds to them, gets a list of their contents minus dotfiles and # anything with 'snapshots' in it, and issues and 'rm -rf' on them. # Then it cds to the haes directory and for each file, directory, etc. that it # finds, if that item doesn't exist on the classic side, a link is put # on the classic side. # ----------------------------------------------------------------------- for ESDIR in /usr/es/sbin/cluster /usr/es/lpp/cluster /usr/es/include/cluster do LNDIR=$(echo ${ESDIR} | sed "s:/es/:/:") if [[ -d ${LNDIR} && -x ${LNDIR} ]] then cd ${LNDIR} for file in $(ls -d * | egrep -v "^\.|snapshots") do rm -rf ${file} 2>/dev/null done else mkdir -p ${LNDIR} 2>/dev/null fi cd ${ESDIR} for i in `ls -d *` do if [[ ! -d ${LNDIR}/${i} ]]; then ln -s ${ESDIR}/${i} ${LNDIR} 2>/dev/null fi done done # **************************************************** # Begin adding sysck/TCB entry for clinfo link # **************************************************** INVFILE='/tmp/cluster.es.client.rte.inventory' cat > ${INVFILE} < /dev/null 2>&1 # Now for the odms. # ------------------- ESDIR='/etc/es/objrepos' LNDIR=$(echo ${ESDIR} | sed "s:/es/:/:") if [[ -d ${ESDIR} ]] then cd ${LNDIR} rm -f ${LNDIR}/HACMP* 2>/dev/null cd ${ESDIR} for file in $(ls -d HACMP*) do ESFILE="${ESDIR}/${file}" LNFILE="${LNDIR}/${file}" ln -s ${ESFILE} ${LNFILE} if (( $? != $success )) then cl_log 5114 "\n${PROGNAME}: WARNING: Unable to create symbolic link ${LNFILE}.\n" ${PROGNAME} ${LNFILE} fi done else cl_log 5120 "\n${PROGNAME}: WARNING: Directory ${ESDIR} does not exist.\n" ${PROGNAME} ${ESDIR} fi # # add the link for Xclstat # ln -sf /usr/es/sbin/cluster/samples/clstat/Xclstat /usr/lib/X11/app-defaults/Xclstat # add link for /etc/cluster ln -sf /usr/es/sbin/cluster/etc/hacmp.clean /etc/cluster/hacmp.clean ln -sf /usr/es/sbin/cluster/etc/hacmp.term /etc/cluster/hacmp.term # Call cllog to migrate the entries in /etc/syslog.conf. # We change both the comment from "HACMP for AIX" to "HACMP/ES for AIX" # and rewrite the cluster.log entries in syslog.conf with the values # from the HAES HACMPlogs ODM. If the directory for cluster.log was # like "/usr/adm" then it is converted to "/usr/es/adm" during # the running of the clconvert scripts. ODMDIR="/etc/${HA_DIR}/objrepos" cllog -m # Get rid of /etc/firstboot and the .mig flag. # ---------------------------------------------- for file in /etc/firstboot /usr/sbin/cluster/.mig do rm -f $file done export ODMDIR="${OLDODMDIR}" cd $STARTDIR exit 0  k\#+b՝ab&./usr/es/sbin/cluster/events/network_downete_#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/network_down.sh 1.23 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/network_down.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: network_down # # # # Description: This event script is called when one of the # # cluster networks goes down. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename network_name # # # # nodename - name of the node whose network failed# # to function. # # (-1 indicates global network failure.) # # # # network_name - logical network name from # # cluster configuration. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # NETWORKNAME environmental variable is using in cl_rrmethods2call function export NETWORKNAME=$2 # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a STATUS=0 if [ $# -ne 2 ] then cl_log 1033 "Usage: $PROGNAME nodename network_name\n" $PROGNAME exit 2 fi if [[ $1 == $LOCALNODENAME ]];then amlog_trace $AM_NETWORK_DOWN_BEGIN "$EVENT_SERIAL_NUMBER|$1|$2" fi # # Call replicated resource net_cleanup methods # METHODS=$(cl_rrmethods2call net_cleanup) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done set -u # # This is the template script for network_down event, # and is locally configurable. # # e.g.: # if [ $1 -eq -1 -o "$2" == "ether" ] # then # mail -s "global network failure or ether net failed to function.." root # fi # if [[ $1 == $LOCALNODENAME ]];then if [[ $STATUS -ne 0 ]];then #Logging failure in clavailability.log amlog_trace $AM_NETWORK_DOWN_FAILURE "$EVENT_SERIAL_NUMBER|$1|$2" else amlog_trace $AM_NETWORK_DOWN_END "$EVENT_SERIAL_NUMBER|$1|$2" fi fi exit $STATUS   kd#+bX՝ab&./usr/es/sbin/cluster/events/network_down.rp_# @(#)21 1.3 src/43haes/usr/sbin/cluster/events/network_down.rp, hacmp.pe, 61haes_r714 1/16/99 08:55:29 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/network_down.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for network_down events # # format: # relationship command to run expected status NULL # all "network_down" 0 NULL # barrier # all "network_down_complete" 0 NULL # # kꤤ#+b՝ab&./usr/es/sbin/cluster/events/network_down_completevente#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/network_down_complete.sh 1.1.1.14 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/network_down_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: network_down_complete # # # # Description: This event script is called when one of the # # cluster networks goes down completely # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename network_name # # # # nodename - id of the node whose network failed # # to function. # # (-1 indicates global network failure.) # # # # network_name - logical network name from # # cluster configuration. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi if [ $# -ne 2 ] then cl_log 1033 "Usage: $PROGNAME nodename network_name\n" $PROGNAME exit 2 fi if [[ $1 == $LOCALNODENAME ]];then amlog_trace $AM_NETWORK_DOWN_COMPLETE_BEGIN "$EVENT_SERIAL_NUMBER|$1|$2" fi export NETWORKNAME=$2 set -u # # This will be the exit status seen by the Cluster Manager. # All lower-level scripts should pass status back to the caller. # STATUS=0 # If this is a two node cluster and exported filesystems exist, then when the # cluster topology is stable notify rpc.statd of the changes if [ 2 -eq $(odmget HACMPnode | grep 'name =' | sort | uniq | wc -l) ] then RESOURCE_GROUPS=$(odmget HACMPgroup | grep 'group =' | awk '{print $3}' | sed 's/"//g') for group in $RESOURCE_GROUPS do EXPORTLIST=$(odmget -q "group=$group AND name=EXPORT_FILESYSTEM" HACMPresource \ | grep value | awk '{print $3}' | sed 's/"//g') if [ -n "$EXPORTLIST" ] then cl_update_statd if [ $? -ne 0 ] ; then cl_log 1074 "$PROGNAME: Failure occurred while processing cl_update_statd.\n" $PROGNAME STATUS=1 fi break fi done fi /usr/es/sbin/cluster/utilities/cl_migcheck HAESTOHAES if [ "$?" -eq 1 ]; then # # Call the script to manage the addresses for heartbeat via aliasing. # This will restore any addresses for heartbeat that were inadvertantly # (ifconfig) deleted. cl_hb_alias_network $NETWORKNAME add fi # # Any local customization of the script can go here. # if [[ $1 == $LOCALNODENAME ]];then if [[ $STATUS -ne 0 ]];then #Logging failure in clavailability.log amlog_trace $AM_NETWORK_DOWN_FAILURE "$EVENT_SERIAL_NUMBER|$1|$2" else amlog_trace $AM_NETWORK_DOWN_COMPLETE_END "$EVENT_SERIAL_NUMBER|$1|$2" fi fi exit $STATUS nt k,#+b՝ab&./usr/es/sbin/cluster/events/network_stablemple#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/network_stable.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Name: network_stable # # Description: When PowerHA SystemMirror detects that one or # more interfaces on a network is continuously # changing state, the network_unstable event will # run instead of continuing to run individual join # and fail interface events. When the network # becomes stable again, this event is run. # # Called by: cluster manager # # Calls to: None # # Arguments: NETWORK - network which is stable # # # Returns: always 0 - this is an informational event only # ######################################################################### ######################################################################### # Main ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x } NETWORK_NAME=$1 dspmsg -s 42 scripts.cat 40 "Network $NETWORK_NAME is stable\n" $NETWORK_NAME l ne k;#+lb՝ab&l./usr/es/sbin/cluster/events/network_unstablele#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/network_unstable.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Name: network_unstable # # Description: When PowerHA SystemMirror detects that one or # more interfaces on a network is continuously # changing state, the network_unstable event will # run instead of continuing to run individual join # and fail interface events, which tends to fill up # the log files. Like config_too_long, the event will # continue to run and log messages to hacmp.out # until stability is restored or the script is # terminated (e.g. because there are more events to run). # # Called by: cluster manager # # Calls to: None # # Arguments: NETWORK - the network which is unstable # # # Returns: Never returns - clstrmgr will kill the process # when stability is restored or when a new event # is run. # ######################################################################### ######################################################################### # # Name: sigint_handler # # Description: This script never returns - clstrmgr will kill the # process with SIGINT when stability is restored or # when a new event is to run. # # Arguments: None # # Returns: Always exits 0 # ######################################################################### sigint_handler () { typeset PS4_FUNC="sigint_handler" dspmsg -s 42 scripts.cat 41 "$PROGNAME: Event completed successfully for network $NETWORK_NAME.\n\Check network status.\n" $PROGNAME $NETWORK_NAME # log COMPLETED to hacmp.out clevlog "$PROGNAME $NETWORK_NAME" complete 0 exit 0 } ######################################################################### # Main ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x } NETWORK_NAME=$1 # setup signal handler - this script runs until clstrmgr kills it, which # it will do when the network stabilizes or a new event is to run trap sigint_handler INT typeset -i HOUR=3600 #In seconds typeset -i THRESHOLD=5 #Error Time Doubles every THRESHOLD times typeset -i SLEEP_INTERVAL=1 #Sleep 5 causes sleep to be called 5/SL * SL times # # Set the PERIOD to the number of seconds to wait before # redisplaying message. Default is 30 seconds. # typeset -i PERIOD=30 # catch undefined variables set -u # # Initialize counters # typeset -i LOOPCNT=0 typeset -i MESSAGECNT=0 typeset -i sleep_cntr=0 # # display list of current processes (for RAS) # : ## begin ps -edf ps -edf : ## end ps -edf # # network unstable loops continously, displaying messages with decreasing # frequency so as not to overrun the logs. clstrmgr will kill this process # when the network stabilizes. # turn off tracing here so we only log the messages and not the logic to # display them # set +x while (:) do MSG=$(dspmsg -s 42 scripts.cat 32 "WARNING: Network %1\$s is experiencing continuous state changes\n\ for one or more network interfaces. Check the state of all interfaces\n\ on this network to ensure proper operation.\n" $NETWORK_NAME) echo $MSG >/dev/console echo $MSG if (( $PERIOD < $HOUR )) then (( MESSAGECNT++ )) if (( $MESSAGECNT % $THRESHOLD == 0 )) then MESSAGECNT=0 (( PERIOD *= 2 )) if (( $PERIOD > $HOUR )) then PERIOD=$HOUR fi fi fi (( LOOPCNT++ )) sleep_cntr=0 while (( $sleep_cntr < $PERIOD )) do sleep $SLEEP_INTERVAL (( sleep_cntr++ )) done done joi kD#+c b՝ab&c ./usr/es/sbin/cluster/events/network_up#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/network_up.sh 1.23 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/network_up.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: network_up # # # # Description: This event script is called when the previously # # down network becomes available. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename network_name # # # # nodename - name of the node whose network # # resumes functioning. # # # # network_name - logical network name from # # cluster configuration. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a STATUS=0 if [ $# -ne 2 ] then cl_echo 1033 "Usage: $PROGNAME nodename network_name\n" $PROGNAME exit 2 fi if [[ $1 == $LOCALNODENAME ]]; then amlog_trace $AM_NETWORK_UP_BEGIN "$EVENT_SERIAL_NUMBER|$1|$2" fi export NETWORKNAME=$2 # # This is the template script for network_up event, # and is locally configurable. # if [[ $1 == $LOCALNODENAME ]]; then amlog_trace $AM_NETWORK_UP_END "$EVENT_SERIAL_NUMBER|$1|$2" fi exit $STATUS type k>>> The following command was not executed <<<< \n" echo "cl_update_statd\n" else cl_update_statd if [ $? -ne 0 ] ; then cl_log 1074 "$PROGNAME: Failure occurred while processing cl_update_statd.\n" $PROGNAME STATUS=1 fi fi break fi done fi if [[ "$NODENAME" == "$LOCALNODENAME" ]] then # If this is an aliasing network, then we may need to re-alias persistent # IP labels. ALIASING=$(odmget -q"name=$NETWORK" HACMPnetwork \ | awk '$1 == "alias" {print $3}' \ | sed 's/"//g') if [[ $ALIASING == "1" ]]; then cl_configure_persistent_address aliasing_network_up -n $NETWORK fi fi # # Call replicated resource net-initialization methods # METHODS=$(cl_rrmethods2call net_initialization) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done # # This is the template script for network_up_complete event, # and is locally configurable. # # # Possible NFS re-mount # CROSSMOUNTS=$(clodmget -n -q "name=MOUNT_FILESYSTEM" -f group HACMPresource) if [ -n "${CROSSMOUNTS}" -a "${NODENAME}" = "${LOCALNODENAME}" ] then # : Remount any NFS cross mount if required # # Only execute this code, if the network_up_complete event # is for the local node and if there are cross mounts in # HA config RESOURCE_GROUPS=$(clodmget -n -f group HACMPgroup ) for group in $RESOURCE_GROUPS do # Skip the resource group, if # - it has no NFS mounts # - the local node is not part of the RG # - it is not ONLINE (-> Set NFS_HOST to node where the RG is ONLINE) # - a NFS_NETWORK is defined and the network_up_complete event is for another network # Set/check MOUNT_FILESYSTEM MOUNT_FILESYSTEM=$(clodmget -n -q "name=MOUNT_FILESYSTEM and group=${group}" -f value HACMPresource ) [[ -z "${MOUNT_FILESYSTEM}" ]] && continue # Check if local node is in the RG IN_RG=false for node in $(clodmget -n -q "group=${group}" -f nodes HACMPgroup ) do [[ "${node}" == "${LOCALNODENAME}" ]] && IN_RG=true done [[ "${IN_RG}" == "false" ]] && continue # Check if RG is ONLINE and set NFS_HOST to node where the RG is ONLINE NFS_HOST=$(clRGinfo -s ${group} | awk -F : '{ if ( $2 == "ONLINE" ) print $3 }') [[ -z "${NFS_HOST}" ]] && continue # Check if a NFS_NETWORK is defined. If yes it it the network handled in this event? NFS_NETWORK=$(clodmget -n -q "name=NFS_NETWORK and group=${group}" -f value HACMPresource ) if [ -n "${NFS_NETWORK}" -a "${NFS_NETWORK}" = "${NETWORK}" ] then continue fi NFSHOST="" NFSMOUNT_LABEL="" ALL_NFSMOUNT_LABEL=$(clodmget -n -q "group=${group} AND name=SERVICE_LABEL" -f value HACMPresource ) if [ -n "${NFS_NETWORK}" ] then for label in ${ALL_NFSMOUNT_LABEL} do IN_NETWORK=$(cllsif -cS 2> /dev/null | grep :$NFS_NETWORK: | cut -d: -f1 | grep -x ${label} ) if [ -n "${IN_NETWORK}" ] then NFSMOUNT_LABEL="${NFSMOUNT_LABEL} ${label}" fi done else NFSMOUNT_LABEL=${ALL_NFSMOUNT_LABEL} fi # # Select active service label # if [ -n "${NFSMOUNT_LABEL}" ] then # make sure to flush the arp cache for this label. for label in ${NFSMOUNT_LABEL} do arp -d ${label} ping ${label} 1024 1 >/dev/null RC=$? : exit status of ping ${label} is: $RC if [ $RC -eq 0 ] then NFSHOST=${label} break fi done if [ -n "${NFSHOST}" ] then GROUPNAME=${group} cl_activate_nfs 1 ${NFSHOST} "${MOUNT_FILESYSTEM}" RC=$? # : exit status of cl_activate_nfs 1 $NFSHOST ${MOUNT_FILESYSTEM} is: $RC # Don't update STATUS variable with RC -> mount failure will not cause an event error else cl_log 653 "$PROGNAME: NFS Mounting failed. No reachable service interfaces found on node $NFS_HOST\n" $PROGNAME $NFS_HOST fi fi done fi if [[ $1 == $LOCALNODENAME ]]; then if [[ $STATUS -ne 0 ]];then #Logging failure in clavailability.log amlog_trace $AM_NETWORK_UP_FAILURE "$EVENT_SERIAL_NUMBER|$1|$2" else amlog_trace $AM_NETWORK_UP_COMPLETE_END "$EVENT_SERIAL_NUMBER|$1|$2" fi fi exit $STATUS k#+!b՝ab&!./usr/es/sbin/cluster/events/node_down_#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/node_down.sh 1.67.1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_down.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: node_down # # # # Description: This event script is called when a node # # leaves the cluster. # # The script checks to see whether the nodename # # is the local node or not, then calls sub-event # # scripts accordingly. # # # # Called by: cluster manager # # # # Calls to: node_down_local, node_down_remote # # # # Arguments: nodename [graceful | forced] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # : node_down Starts Here # ######################################################################### PROGNAME=${0##*/} export PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]] then set -x version='%I%' fi export NODENAME=$1 export PARAM=$2 # # All lower level scripts should pass status back to the caller. # This will allow Resource Groups to be processed individaully, # independent of the status of another resource group. # integer STATUS=0 AIX_SHUTDOWN=${AIX_SHUTDOWN:-"false"} set -u if (( $# < 1 )) ; then cl_echo 1034 "Usage: $PROGNAME nodename [graceful | forced]\n" $PROGNAME exit 2 fi # : serial number for this event is $EVENT_SERIAL_NUMBER # # : Clean up NFS state tracking # UPDATESTATDFILE="/usr/es/sbin/cluster/etc/updatestatd" rm -f /tmp/.RPCLOCKDSTOPPED rm -f $UPDATESTATDFILE UPDATESTATD=0 export UPDATESTATD # : For RAS debugging, the result of ps -edf is captured at this time # : begin ps -edf ps -edf : end ps -edf # : If RG_DEPENDENCIES is not false, all RG actions are taken via rg_move events. # if [[ $PARAM != "forced" && $RG_DEPENDENCIES == FALSE ]] then # : Set RESOURCE_GROUPS to all RG names participating in this event # set -a eval $(clsetenvgrp $NODENAME $PROGNAME $PARAM) RC=$? set +a : exit status of clsetenvgrp $NODENAME $PROGNAME $PARAM is: $RC if (( $RC != 0 )) ; then STATUS=1 fi # : Process_Resources for parallel-processed resource groups : If RG_DEPENDENCIES is true, then this call is responsible for : starting the necessary rg_move events. # if ! process_resources then STATUS=1 fi if [[ -f $UPDATESTATDFILE ]] then # : since rpc.statd got updated during process_resources, dont do it again # UPDATESTATD=1 rm -f $UPDATESTATDFILE fi # : For each participating RG, serially process the resources # for group in $RESOURCE_GROUPS do set -a eval $(clsetenvres $group $PROGNAME) set +a export GROUPNAME=$group # : call node_down_local or node_down_remote accordingly. # typeset RETURN_VALUE if [[ $NODENAME == $LOCALNODENAME ]] ; then clcallev node_down_local RETURN_VALUE=$? : exit status of node_down_local is: $RETURN_VALUE else clcallev node_down_remote $* RETURN_VALUE=$? : exit status of node_down_remote is: $RETURN_VALUE fi # : If ANY failure has occurred, this script should exit accordingly # if (( $RETURN_VALUE != 0 )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required." $PROGNAME $group STATUS=1 fi UPDATESTATD=1 done if [[ -f /tmp/.RPCLOCKDSTOPPED ]] then # : rpc.lockd for NFS2/3 was previously told to stop. : Wait up to 60 seconds for it to stop completely. # rm -f /tmp/.RPCLOCKDSTOPPED for (( count=0 ; count<60 ; count++ )) do if LC_ALL=C lssrc -s rpc.lockd | grep -i stopping then sleep 1 else # : No longer in 'stopping' state, so presumably stopped # break fi done # : Now that rpc.lockd is completely stopped, restart it # lssrc -s rpc.lockd startsrc -s rpc.lockd : exit status of startsrc -s rpc.lockd is: $? fi fi # RG_DEPENDENCIES=false # : Processing specific to the local node # if [[ $NODENAME == $LOCALNODENAME ]] then # : Stopping cluster services on $NODENAME with the $PARAM option # if [[ $PARAM != "forced" ]] then # # If a VG is in passive mode, it will not show up in "'lsvg -o'". # INACTIVE_VGS=$(lsvg -L | grep -w -v -x -E $(lsvg -L -o | paste -s -d'|' - ) ) # if [[ -n $INACTIVE_VGS ]] then : Found inactive VGs. For those that are online in passive : mode, remove any read only fencing, then varyoff fi for vg in $INACTIVE_VGS do PS4_LOOP="$vg" if LC_ALL=C lsvg -L $vg 2>/dev/null | grep -i -q 'passive-only' then # # This VG is online in passive mode, varyoff # First remove any read only fencing, to allow varyoff # cl_set_vg_fence_height -c $vg rw RC=$? if (( 0 != $RC )) then # # Manual intervention may be needed. # echo "$PROGNAME: Volume group $vg fence height could not be set to read/write" fi cltime varyoffvg $vg RC=$? cltime : varyoffvg $vg returned $RC # : Force an update to get the LVM time stamps in sync # since timing may prevent LVM from doing so. # cl_update_vg_odm_ts -o -f $vg # : Try to set the fence height to read/only for $vg # cl_set_vg_fence_height -c $vg ro RC=$? : return code from volume group fencing is $RC if (( 0 != $RC )) then # # Log any error, but continue. Manual intervention may be needed. # echo "$PROGNAME: Volume group $vg fence height could not be set to read/only" fi fi done unset PS4_LOOP fi # : update the location DB to indicate this node is going down # if ! clchdaemons -r -d clstrmgr_scripts -t resource_locator ; then echo "$PROGNAME: clchdaemons -r -d clstrmgr_scripts -t resource_locator FAILED" STATUS=1 fi else # : $NODENAME, is not the local node, handle fencing for any VGs marked as "'CRITICAL'". # cl_fence_vg $NODENAME fi # # If aix is being shutdown, the clstrmgr will call node_down directly (instead # of going through the rp steps) so that we have a better chance of actually # running the event before aix starts killing off processes and services. # If this is the case, we want to call node_down_complete here. # This must match AIX_SHUTDOWN_STRING from clstrmgr.h # if [[ -n $AIX_SHUTDOWN && $AIX_SHUTDOWN == "true" ]] then # # Note that we background this with a short sleep - this is to allow # node_down to exit before node_down_complete runs # sleep 1 && clcallev node_down_complete $NODENAME $PARAM & fi exit $STATUS #  knK#+bX՝ab&./usr/es/sbin/cluster/events/node_down.rpmplete# @(#)23 1.9 src/43haes/usr/sbin/cluster/events/node_down.rp, hacmp.pe, 61haes_r714 12/13/01 22:52:22 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_down.rp 1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for node_down events # # format: # relationship command to run expected status NULL # event "/usr/es/sbin/cluster/events/check_for_site_down" 0 NULL # barrier # other "/usr/es/sbin/cluster/events/check_for_site_down" 0 NULL # barrier # event "node_down" 0 NULL # barrier # other "node_down" 0 NULL # barrier # all "node_down_complete" 0 NULL # barrier # all "/usr/es/sbin/cluster/events/check_for_site_down_complete" 0 NULL #  k#+8b՝ab&8./usr/es/sbin/cluster/events/node_down_complete#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/node_down_complete.sh 1.2.13.13 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_down_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # Including file containing SCSIPR functions . /usr/es/sbin/cluster/events/utils/cl_scsipr_event_functions ######################################################################### # # # Name: node_down_complete # # # # Description: This event script is called after the node_down # # script successfully completes. # # The script checks the nodename, then calls one # # of the two sub-event scripts appropriately. # # # # Called by: cluster manager # # # # Calls to: node_down_local_complete, # # node_down_remote_complete # # # # Arguments: nodename [graceful | forced] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # node_down_vg_fence_term # # This will remove CAA volume group fencing for all cluster nodes # # For every volume group managed by PowerHA, set the fence height # on all nodes to "read/write". This allows unrestricted access to # the volume group on all nodes - the administrator can vary it on # by hand on any node. # ######################################################################### function node_down_vg_fence_term { typeset PS4_FUNC="node_down_vg_fence_term" [[ $VERBOSE_LOGGING == "high" ]] && set -x local_VGs=$(print $(lsvg -L 2> /var/hacmp/log/${PROGNAME}.lsvg.err | egrep -v 'rootvg|caavg_private')) [[ -e /var/hacmp/log/${PROGNAME}.lsvg.err && ! -s /var/hacmp/log/${PROGNAME}.lsvg.err ]] && rm /var/hacmp/log/${PROGNAME}.lsvg.err # : Release any VG fencing in place on all reachable cluster nodes # for vg in $(clodmget -q "name like *VOLUME_GROUP" -f value -n HACMPresource) do typeset PS4_LOOP="$vg" # : call cl_vg_fence_term to terminate the vg fence on all active nodes # and ignore the inactive ones # cl_on_cluster -cspoc '-f' -P "cl_vg_fence_term -c $vg" 2>/dev/null # : ignore any failure and continue with the node_down process. RC=$? # C-SPOC provides adequate reporting, and the node down process # is not going to be stopped by a failure # done return 0 } ######################################################################### # # Main Starts Here # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]] then set -x version='%I%' fi # : Pick up input # export NODENAME=$1 export PARAM=$2 NODE_HALT_CONTROL_FILE="/usr/es/sbin/cluster/etc/ha_nodehalt.lock" # # This will be the exit status seen by the Cluster Manager. # If STATUS is not 0, the Cluster Manager will enter reconfiguration # All lower-level scripts should pass status back to the caller. # This will allow a Resource Groups to be processed individaully, # independent of the status of another resource group. # STATUS=0 set -u if (( $# < 1 )) then echo Usage: $PROGNAME nodename [graceful | forced] exit 2 fi # : serial number for this event is $EVENT_SERIAL_NUMBER # if [[ $PARAM == "forced" && $NODENAME == $LOCALNODENAME ]] then # : If the localnode is being "forced" down, then clear out locations DB now. # if ! clchdaemons -r -d clstrmgr_scripts -t resource_locator ; then cl_log 655 "$PROGNAME: Problem with resource location database in HACMPdaemons ODM." $PROGNAME STATUS=1 fi fi # : if RG_DEPENDENCIES is set to false by the cluster manager, : then resource groups will be processed via clsetenvgrp # if [[ $PARAM != "forced" && $RG_DEPENDENCIES == "FALSE" ]] then # : Set the RESOURCE_GROUPS environment variable with the names : of all Resource Groups participating in this event, and export : them to all successive scripts # set -a eval $(clsetenvgrp $NODENAME $PROGNAME $PARAM) RC=$? set +a : exit status of clsetenvgrp $NODENAME $PROGNAME $PARAM is: $RC if [ $RC -ne 0 ] then STATUS=1 fi # : Process_Resources for parallel-processed resource groups # process_resources RC=$? : exit status of process_resources is: $RC if (( $RC != 0 )) then STATUS=1 fi fi # : For each participating resource group, serially process the resources # LOCALCOMP="N" # : if RG_DEPENDENCIES is set to false by the cluster manager, : then resource groups will be processed via clsetenvgrp # if [[ $PARAM != "forced" && $RG_DEPENDENCIES == "FALSE" ]] then for group in $RESOURCE_GROUPS do # : All sub-scripts must inherit the same environment # values which were set by this script (set -a). # e.g.: all sub-scripts must inherit VERBOSE_LOGGING value. # set -a eval $(clsetenvres $group $PROGNAME) set +a export GROUPNAME=$group # : Check nodename, then call node_down_local_complete or : node_down_remote_complete accordingly. # if [[ $NODENAME == "$LOCALNODENAME" ]] then LOCALCOMP="Y" clcallev node_down_local_complete : exit status of node_down_local_complete is: $? else clcallev node_down_remote_complete $* : exit status of node_down_remote_complete is: $? fi # : If ANY failure has occurred, this script should exit accordingly # if (( $? != 0 )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required.\n" $PROGNAME $group STATUS=1 fi done fi if [[ $PARAM != "forced" && $NODENAME == $LOCALNODENAME ]] then # : Call ss-unload replicated resource methods if they are defined # METHODS=$(cl_rrmethods2call ss_unload) for method in $METHODS do if [[ -x $method ]] then if ! $method then STATUS=1 fi fi done # : If dependencies are configured and node is being "forced" down then : no need to do varyoff for any passive mode VGs # if [[ $RG_DEPENDENCIES == "TRUE" ]] then # : If any volume groups were varied on in passive mode when this node : came up, all the prior resource group processing would have left them : in passive mode. Completely vary them off at this point. # INACTIVE_VGS=$(lsvg -L | grep -w -v -x -E $(lsvg -L -o | paste -s -d'|' - ) ) for vg in $INACTIVE_VGS do if LC_ALL=C lsvg -L $vg 2>/dev/null | grep -i -q 'passive-only' then # : Reset any read only fence height prior to vary off # cl_set_vg_fence_height -c $vg rw RC=$? if (( $RC != 0 )) then # : cl_set_vg_fence_height -c $vg rw return code is $RC : Log any error, but continue. If this is a real problem, the varyoffvg will fail # rw=$(dspmsg -s 103 cspoc.cat 350 'read only,read/write' | cut -f2 -d,) cl_log 10511 "$PROGNAME: Volume group $vg fence height could not be set to read/write" $PROGNAME $vg $rw fi # : 'lsvg ' will show if a volume group is varied : on in passive mode. Any such are varied off # cltime varyoffvg $vg RC=$? cltime : rc_varyoffvg = $RC # : Force a timestamp update to get timestamps in sync : since timing may prevent LVM from doing so # cl_update_vg_odm_ts -o -f $vg # : If VG fencing is in place, restore the fence height to read/only. # cl_set_vg_fence_height -c $vg ro RC=$? : return code from volume group fencing is $RC if (( 0 != $RC )) then # : Log any error, but continue. Manual intervention may be needed. # ro=$(dspmsg -s 103 cspoc.cat 350 'read only,read/write' | cut -f1 -d,) cl_log 10511 "$PROGNAME: Volume group $vg fence height could not be set to read/only" $PROGNAME $vg $ro fi fi done fi # : remove the flag file used to indicate reconfig_resources # rm -f /usr/es/sbin/cluster/etc/.hacmp_wlm_config_changed # : Run WLM stop script # cl_wlm_stop # return value will indicate an error, if one occured # but we don't really care, so no reason to check fi if [[ $NODENAME == $LOCALNODENAME ]] then ################################################################# : Node is down: Create the lock file that inhibits node halt ################################################################# /bin/touch $NODE_HALT_CONTROL_FILE; fi # : If this is the last node to leave, restore read write access to all volume groups # if [[ $PARAM != "forced" ]] then if [[ -z $POST_EVENT_MEMBERSHIP ]] then # : The last node out turns off fencing on all nodes # node_down_vg_fence_term # : Clear the SCSIPR reservation registration # typeset SCSIPR_ENABLED=$(clodmget -n -q "policy=scsi" -f value HACMPsplitmerge) if [[ $SCSIPR_ENABLED == Yes ]] then # Remove the reservation and registration node_down_scsipr_term # Clear reservation and registration from raw disks typeset diskList=$(cllsres | grep -w DISK | cut -f2 -d=) if [[ -n $diskList ]] then diskList=${diskList#\"} diskList=${diskList%\"} typeset pvid="" for pvid in $diskList do typeset hdisk=$(lspv -L | grep -w $pvid | awk '{print $1}') if [[ -n $hdisk ]] then clpr_clear $hdisk fi done fi diskList=$(cllsres | grep -w RAW_DISK | cut -f2 -d=) if [[ -n diskList ]] then diskList=${diskList#\"} diskList=${diskList%\"} typeset uuid="" for uuid in $diskList do typeset hdisk=$(lspv -u | grep -w $uuid | awk '{print $1}') if [[ -n $hdisk ]] then clpr_clear $hdisk fi done fi fi else if [[ $NODENAME == $LOCALNODENAME ]] then # : Node is gracefully going down. # typeset SCSIPR_ENABLED=$(clodmget -n -q "policy=scsi" -f value HACMPsplitmerge) if [[ $SCSIPR_ENABLED == Yes ]] then # : SCSIPR Disk Fencing is enabled. : Remove the registration of this node, from all the VGs which are a part of HACMPresource. # typeset VGs=$(print $(lsvg -L 2> /var/hacmp/log/${PROGNAME}.LSVG.ERR | egrep -vw 'rootvg|caavg_private')) [[ -e /var/hacmp/log/${PROGNAME}.LSVG.ERR && ! -s /var/hacmp/log/${PROGNAME}.LSVG.ERR ]] && rm /var/hacmp/log/${PROGNAME}.LSVG.ERR typeset VolGrp="" for VolGrp in $VGs do typeset resgrp=$(clodmget -q "name like '*VOLUME_GROUP' and value = $VolGrp" -f group -n HACMPresource) if [[ -n $resgrp ]] then # Remove registration of the $LOCALNODENAME clpr_removeReg_vg $VolGrp fi done # Remove registrations and reservations from raw disks typeset diskList=$(cllsres | grep -w DISK | cut -f2 -d=) if [[ -n $diskList ]] then diskList=${diskList#\"} diskList=${diskList%\"} typeset pvid="" for pvid in $diskList do typeset hdisk=$(lspv -L | grep -w $pvid | awk '{print $1}') if [[ -n $hdisk ]] then clpr_removeReg $hdisk fi done fi diskList=$(cllsres | grep -w RAW_DISK | cut -f2 -d=) if [[ -n $diskList ]] then diskList=${diskList#\"} diskList=${diskList%\"} typeset uuid="" for uuid in $diskList do typeset hdisk=$(lspv -u | grep -w $uuid | awk '{print $1}') if [[ -n $hdisk ]] then clpr_removeReg $hdisk fi done fi fi fi fi # : refresh clcomd, FWIW # refresh -s clcomd fi # : This is the final info of all RGs: # clRGinfo -p -t 2>&1 return $STATUS fen k>#+bX՝ab&./usr/es/sbin/cluster/events/node_down_dependency.rpnte# @(#)38 1.1 src/43haes/usr/sbin/cluster/events/node_down_dependency.rp, hacmp.pe, 61haes_r714 1/23/04 19:44:24 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_down_dependency.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for node_down events # if resource group dependencies have been configured. # # format: # relationship command to run expected status NULL # event "/usr/es/sbin/cluster/events/check_for_site_down" 0 NULL # barrier # other "/usr/es/sbin/cluster/events/check_for_site_down" 0 NULL # barrier # event "node_down" 0 NULL # barrier # other "node_down" 0 NULL #  k꾏#+VbX՝ab&V./usr/es/sbin/cluster/events/node_down_dependency_complete.rpmp# @(#)39 1.1 src/43haes/usr/sbin/cluster/events/node_down_dependency_complete.rp, hacmp.pe, 61haes_r714 1/23/04 19:44:25 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_down_dependency_complete.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for node_down events # of resource group dependencies have been configured. # # format: # relationship command to run expected status NULL # all "node_down_complete" 0 NULL # barrier # all "/usr/es/sbin/cluster/events/check_for_site_down_complete" 0 NULL # UL l&>#+Ib(bb&../usr/es/sbin/cluster/events/node_down_localenc   e #aiorst"=AEORST_cdfhlnu $CILMNPUmp!()-.:FG[]gvwy&',/012<>BDVY\bx{}34;?HWXk|56q+7Kz9*8@Qjx`$) USDjE( S.!(PPa8Os^E@` .0Mh-ҷ0MU%-j-!fJ 0 . AI00`0R @ `P0  94M4M4M4M4M4M4M4M4M4M4M4Msؽy2̆"а#VE[UbMY-KBkSbio;Z5xa kaAjKZHaG;VM/e'tsVԝp9(ZB> Nu)s97 Zr#{훅-Aqe#pdJNʔFZ6Zڭsj?ڪ)-FcB[ś-mThѣ^={{{{{{{{{]d;fKR -7QKQ A"ǚd훅-H,w`H&&@1f Ep0 ~=T V.wƜe[set1{B1 3tsn5wAL=ɜ=<Ŵ_DnjڌXVSf8"M$y30a3 &J8𙃁a3m-ʬ- -&+2R%L>njڌXVSE&@g<>Y@Bg<<_0p, ӆUQɜHfcnj̕c&X!K{9(D 4  `01=c^[%𙊲Z @Z&!˝pf PLpH .0&gg/:v–kN&$'r#8GkҰt;fKQtsVƂ8G+ᡸG89XijmnҬ浯nwI75nE H1߆Lʥn Ã0I3*ksҬ{tsV+ₘ{YDP=$ 4.K Z)诊 fI@yH"z "fivf**m9nZwI75n<$=DD"@y ;#V5XUr_pӺItAr#r#pVm;Uf B,eYۥk^-Znj5<8,&J8p>c $ɕK4``6g&U#An^.w훅-H,WzVnl)jAeƂ8{sb|*^So+ej¥:b9`"DI$$8$'I3( E]V-|PS&j"yHn%OE@^[NUj¥:3A DI&y#3A DI&y% !+*9/ʍaRT^"DI$%< ()$@LJ@N4^.^.t훅-F֝M[c $ɕK4``6g&U#An^.w훅-H,WzVnl)jAeƂ8ΝpӺIt Eȏ4p ±J­Ӓ훅-F֝M[识UiYJ/KּZ$պkxpXM &q#|Lʥn Ã0I3*/9Ҭb ȈxA.^V!\(r=6Zڨ%hFl^4skg^b2hՋ[=+ % VFqԪZJBqdg- &%Ұx5KUdd^פKdgfRACPďxMqQs6/VEAYd]A1YbՋtsViɲpeQG֓@z]ZZVՈWbbUVE/ #V5XUr_UVE/ 9tWCqȏ XpsŴUf B,eҲ/Ջ#”mlb5cM[ŧ&qa4P*Pď whn9$LY8;92 rsl)j6nj1"h=c^[%7 Z;N4"=_ "? 7aΫӿV%%kud_n5xksItה8చ((LG $ɕK4``6g&U#An^.s/Ջ -sBr#׹SXU:mvDE|47g&U,0:[NI$յ)XUf("c{ ƽ+ NK;+ N4kI3*ALr'TGȞq20snjڌXVS0p((LG0&юpYRbX  p8ɖd1dX[6^¶uh4 mUf*ʈlЭQi 5E HqDP&q#mfj BIafaiEg^wI75mFd+)&J8;[N*3!l08( 89I(͖#V9$ս+ MkB BŬ8y"BIh 3QɜH I3*ߣtsVj=BG {eDI6]hV( R$~8( 8oITx^.^.kI3*w kFp#+s b՝ab&s ./usr/es/sbin/cluster/events/node_down_local_completele#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_down_local_complete.sh 1.5.1.16 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_down_local_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: node_down_local_complete # # # # Description: This script is called after the node_down_local # # script successfully completes. # # This script is called only when the local node # # leaves cluster gracefully. # # # # Called by: node_down_complete # # # # Calls to: None # # # # Arguments: none # Parameters: group name # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi if [ $# -gt 2 ] then cl_echo 1035 "Usage: $PROGNAME [group_name]" $PROGNAME exit 2 fi set -u # # Resource Manager Updates # cl_RMupdate rg_down $GROUPNAME $PROGNAME exit 0 CP( kG#+4b՝ab&4./usr/es/sbin/cluster/events/node_down_remoteom#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_down_remote.sh 1.2.2.69 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_down_remote.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: service # ######################################################################### ######################################################################### # # # Name: node_down_remote # # # # Description: This script is called when a remote node # # leaves the cluster. The script unmounts # # network filesystems If not down gracefully, # # the script will also take over resources like # # fs, vg, disk, service address, AIX Connections # # realm/service pairs, etc. # # # # Called by: node_down # # # # Calls to: acquire_takeover_addr, acquire_service_addr, # # get_disk_vg_fs, get_aconn_rs, cl_start_snalink # # # # Arguments: nodename [graceful | forced] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### get_fileysystems() { typeset PS4_FUNC="get_fileysystems" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x if [ $STATUS -eq 1 ] then set_resource_status "ERROR" exit 1 fi # Initialize OEM variables. set +u OEM_FILESYSTEM=${OEM_FILESYSTEM:-""} OEM_VOLUME_GROUP=${OEM_VOLUME_GROUP:-""} set -u clcallev get_disk_vg_fs "$FILESYSTEM" "$VOLUME_GROUP" "$DISK" "$OEM_FILESYSTEM" "$OEM_VOLUME_GROUP" rc=$? if [ $rc -eq 7 ] ; then STATUS=2 REP_RES_FATAL=1 return fi if [ $rc -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 return fi if [ -n "$EXPORT_FILESYSTEM$EXPORT_FILESYSTEM_V4" ] then # # Export filesystem(s) to all other cluster nodes . # Before doing that, build a root label list, which # contains all nodes' service labels. # SERVICE=$(cllsif -cS | awk -F : '$2 == "boot" || $2 == "service" || $2 == "persistent"' | grep -v :serial: | cut -d: -f1 | sort -u) for service in $SERVICE do if [ -n "$ROOT" ] then ROOT="$ROOT:$service" else ROOT="$service" fi done if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "stopsrc -s rpc.lockd\n" else #stop NFS daemons if [ -n "$TAKEOVER_LABEL$SERVICE_LABEL" ] then touch /tmp/.RPCLOCKDSTOPPED stopsrc -s rpc.lockd fi fi if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<<\n" echo "cl_export_fs '$ROOT' '$EXPORT_FILESYSTEM' '$EXPORT_FILESYSTEM_V4'\n" else cl_export_fs "$ROOT" "$EXPORT_FILESYSTEM" "$EXPORT_FILESYSTEM_V4" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi } ############################################################################### # # Set status of resource in resource location DB. Note that we only set this # if NFS_resource is "TRANS" or nonexistent, because this means that we # are actually taking the resource. # ############################################################################### set_resource_status() { typeset PS4_FUNC="set_resource_status" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x set +u eval TEMPNFS=\$"NFS_$GROUPNAME" set -u if [ "$TEMPNFS" = "" -o "$TEMPNFS" = "TRANS" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "clchdaemons -d clstrmgr_scripts -t resource_locator -n \""$LOCALNODENAME"\" -o \""$GROUPNAME"\" -v \"$1\"\n" else clchdaemons -d clstrmgr_scripts -t resource_locator -n "$LOCALNODENAME" -o "$GROUPNAME" -v "$1" if [ $? -ne 0 ] then cl_log 655 "$PROGNAME: Problem with resource location database in HACMPdaemons ODM.\n" $PROGNAME STATUS=1 fi fi # # Resource Manager Updates # if [ "$1" = "ACQUIRING" ] then if [ "$PRINCIPAL_ACTION" = "ACQUIRE" ] then cl_RMupdate acquiring $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$FOLLOWER_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate acquiring_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$FOLLOWER_ACTION" = "RELEASE_SECONDARY" ] then cl_RMupdate releasing_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi else if [ "$FOLLOWER_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$FOLLOWER_ACTION" = "PRIMARY_BECOMES_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 else cl_RMupdate rg_error $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi fi fi } ############################################################################### # # Start of main # ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi STATUS=0 ARGS=$1 TYPE=$2 ROOT="" REP_RES_FATAL=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ $# -lt 1 ] then cl_echo 1034 "Usage: $PROGNAME nodename [graceful | forced]\n" $PROGNAME exit 2 fi set -u CROSSMOUNT=0 export CROSSMOUNT # # Unmount network filesystems (NFS_filesystems) if the remote node # was not forced down. In the case of a forced down node, the cluster # administrator is responsible for handling the resources belonging # to that node since thay are no longer managed by HACMP. # case "$TYPE" in forced) # Do nothing. ;; graceful) # => graceful w/OUT takeover # if [ -n "$MOUNT_FILESYSTEM" ] then # Regardless of whether MOUNT_FILESYSTEM contains # a semicolon -- i.e. # regardless of whether MOUNT_FILESYSTEM is # NFS-mounted new-style or old-style, # dismount it on this node. # cl_deactivate_nfs "$MOUNT_FILESYSTEM" if [ $? -ne 0 ] then STATUS=1 fi fi ;; *) # => graceful WITH takeover, or crash # if [ -n "$MOUNT_FILESYSTEM" ] then # If the following finds a semicolon, it returns zero. # If it does not find a semicolon, it returns one. # echo $MOUNT_FILESYSTEM | grep -q "\;/" RC=$? if [ $RC = 1 ] then # No semicolon in MOUNT_FILESYSTEM. # cl_deactivate_nfs "$MOUNT_FILESYSTEM" if [ $? -ne 0 ] then STATUS=1 fi else # Semicolon found in MOUNT_FILESYSTEM. # CROSSMOUNT=1 fi fi ;; esac if [ $UPDATESTATD = 0 ] then # if this is a two node cluster and exported filesystems exist, then when # the cluster topology is stable notify rpc.statd of the changes if [ 2 -eq $(odmget HACMPnode | grep 'name =' | sort | uniq | wc -l ) ] then RESOURCE_GROUPS=$(odmget HACMPgroup | grep 'group =' | awk '{print $3}' | sed 's/"//g') for group in $RESOURCE_GROUPS do EXPORTLIST=$(odmget -q "group=$group AND name=EXPORT_FILESYSTEM" HACMPresource \ | grep value | awk '{print $3}' | sed 's/"//g') if [ -n "$EXPORTLIST" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_update_statd\n" else cl_update_statd if [ $? -ne 0 ] ; then cl_log 1074 "$PROGNAME: Failure occurred while processing cl_update_statd.\n" $PROGNAME STATUS=1 fi fi break fi done fi fi if [ $# -eq 1 ] ; then # # Remote node not graceful or forced down. # Acquire the service (shared) addr, take over its service address, # fs, disk and vg, and re-export its filesystem. # # First, indicate that the resource is in the process of coming up by # placing it into state "ACQUIRING". This will persist until the resource # comes completely up or there is an error. # set_resource_status "ACQUIRING" if [[ "$PRINCIPAL_ACTION" = "ACQUIRE" ]] then # # Call replicated resource set-primary method associated # with any replicated resource defined in the resource group # we arecurrently processing. # call_replicated_methods "set_primary" "" fi # Start the WPAR. Due to the fact that WPAR enablement/disablement is # done in a lazy fashion, the actual state of WPAR activity will not # necessarily match our ODM state. Consequently, we can't simply look # at the WPAR_NAME environment variable. # # The command clstart_wpar will check if the resource group actually has # a WPAR so we don't need to check for that here. clstart_wpar if (( $? != 0 )) then echo "Failed to start the WPAR associated with resource group '${GROUPNAME}'" (( $STATUS == 0 )) && STATUS=2 fi # Get filesystems if takeover of filesystem before ipaddr is set # to true. This way filesystems will be ready as soon as address # will be taken over. This removes the error of "Missing filesystem" # if [[ "$FS_BEFORE_IPADDR" = "true" ]] ; then get_fileysystems; [[ $REP_RES_FATAL = 1 ]] && exit $REP_RES_FATAL fi if [ -n "$SERVICE_LABEL" ] ; then clcallev acquire_service_addr "$SERVICE_LABEL" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi if [ -n "$TAKEOVER_LABEL" ] then clcallev acquire_takeover_addr "$TAKEOVER_LABEL" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then # # If we cannot acquire the proper service address, # do not attempt to acquire associated resources. # STATUS=2 fi fi # Get filesystems here if takeover of filesystem before ipaddr is # not set to true. # if [[ "$FS_BEFORE_IPADDR" != "true" ]] then get_fileysystems; [[ $REP_RES_FATAL = 1 ]] && exit $REP_RES_FATAL fi # # Start tape resources # if [ -n "$SHARED_TAPE_RESOURCES" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<<\n" echo "cl_tape_resource_get_multi $SHARED_TAPE_RESOURCES\n" else cl_tape_resource_get_multi "$SHARED_TAPE_RESOURCES" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi # # Start AIX Connections services # if [ -n "$AIX_CONNECTIONS_SERVICES" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<<\n" echo "clcallev get_aconn_rs $AIX_CONNECTIONS_SERVICES\n" else clcallev get_aconn_rs "$AIX_CONNECTIONS_SERVICES" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi # # Start AIX SMB/Fast Connect services # if [ -n "$AIX_FAST_CONNECT_SERVICES" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<<\n" echo "get_fast_connect_rs \n" else get_fast_connect_rs if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi # start commlink processing if [[ -n $COMMUNICATION_LINKS ]] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_start_commlinks\n" else cl_start_commlinks "$COMMUNICATION_LINKS" if [ $? -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi # else remote node down "graceful" or "forced". # # remote node down graceful or forced, do nothing . # fi if [ $STATUS -ne 0 ] then set_resource_status "ERROR" fi if [ $STATUS -eq 2 ] then exit 0 else exit $STATUS fi  kY#+!b՝ab&!./usr/es/sbin/cluster/events/node_down_remote_completee#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/node_down_remote_complete.sh 1.2.11.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_down_remote_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: node_down_remote_complete # # # # Description: This script is called after the # # node_down_remote script successfully completes. # # The script starts application servers. # # # # Called by: node_down_complete # # # # Calls to: start_server # # # # Arguments: nodename [graceful | forced] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Set status of resource in resource location DB. Note that we only set this # if NFS_resource is "TRANS" or nonexistent, because this means that # we are actually taking the resource. # ######################################################################### set_resource_status() { typeset PS4_FUNC="set_resource_status" [[ "$VERBOSE_LOGGING" == "high" ]] && set -x set +u eval TEMPNFS=\$"NFS_$GROUPNAME" set -u if [ "$TEMPNFS" = "" -o "$TEMPNFS" = "TRANS" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "clchdaemons -d clstrmgr_scripts -t resource_locator -n \""$LOCALNODENAME"\" -o \""$GROUPNAME"\" -v \"$1\"\n" else clchdaemons -d clstrmgr_scripts -t resource_locator -n "$LOCALNODENAME" -o "$GROUPNAME" -v "$1" if [ $? -ne 0 ] then cl_log 655 "$PROGNAME: Problem with resource location database in HACMPdaemons ODM." $PROGNAME STATUS=1 fi fi # # Resource Manager Updates # if [ "$1" = "UP" ] then if [ "$PRINCIPAL_ACTION" = "ACQUIRE" ] then cl_RMupdate rg_up $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$PRINCIPAL_ACTION" = "SUSTAIN" ] then cl_RMupdate rg_up $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$AUXILLIARY_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_up_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$AUXILLIARY_ACTION" = "RELEASE_SECONDARY" ] then cl_RMupdate rg_down $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi else if [ "$PRINCIPAL_ACTION" = "ACQUIRE" ] then cl_RMupdate rg_error $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$AUXILLIARY_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 else cl_RMupdate rg_error $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi fi fi } ############################################################################## # # Main Starts Here # ############################################################################## typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ $# -lt 1 ] then cl_echo 1034 "Usage: $PROGNAME nodename [graceful | forced]\n" $PROGNAME exit 2 fi set -u if [ $# -eq 1 ] then # # Remote node not down gracefully, # start application server and possible NFS mout to a new node. # export NODENAME=$1 if [ -n "$MOUNT_FILESYSTEM" ] && [ "$NODENAME" != "$LOCALNODENAME" ] then NW_NFSMOUNT_LABEL="" if [ -n "$NFS_NETWORK" ] then ALL_NFSMOUNT_LABEL=$(odmget -q "group=$GROUPNAME AND name=SERVICE_LABEL" HACMPresource | grep value | awk '{print $3}' | sed 's/"//g') for label in $ALL_NFSMOUNT_LABEL; do IN_NETWORK=$(cllsif -cS 2> /dev/null | grep :$NFS_NETWORK: | cut -d: -f1 | grep -x ${label} ) if [ -n "$IN_NETWORK" ] then NW_NFSMOUNT_LABEL="$NW_NFSMOUNT_LABEL $label" fi done fi # # Select active service label # # First, make sure to flush the NFSMOUNT_LABEL if it exists. # Only one of these nonzero. # if [ -n "$NW_NFSMOUNT_LABEL$NFSMOUNT_LABEL$TAKEOVER_LABEL$SERVICE_LABEL" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo arp -d $NFSMOUNT_LABEL else # make sure to flush the arp cache for this label. arp -d $NW_NFSMOUNT_LABEL $NFSMOUNT_LABEL $TAKEOVER_LABEL $SERVICE_LABEL fi fi NFSHOST="" for host in $NW_NFSMOUNT_LABEL $NFSMOUNT_LABEL $TAKEOVER_LABEL $SERVICE_LABEL do ping $host 1024 1 >/dev/null if [ $? = 0 ] then NFSHOST=$host break fi done if [ -n "$NFSHOST" ] ; then cl_activate_nfs 1 $NFSHOST "$MOUNT_FILESYSTEM" if [ $? -ne 0 ] ; then STATUS=1 fi else cl_log 653 "$PROGNAME: NFS Mounting failed. \ No reachable service interfaces found on node \ $NFS_HOST" $PROGNAME $NFS_HOST fi fi if [ -n "$APPLICATIONS" ] ; then clmanageroha -o acquire -s -l "${APPLICATIONS// /,}" 3>&2 if (( $? > 0 )) ; then STATUS=2 else if [ "$EMULATE" = "EMUL" ] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "clcallev start_server $APPLICATIONS\n" else clcallev start_server "$APPLICATIONS" if [ $? -ne 0 -a $STATUS -eq 0 ]; then STATUS=2 fi fi fi fi # # Set final resource status # if [ $STATUS -ne 0 ] ; then set_resource_status "ERROR" else set_resource_status "UP" fi # else # # Remote node graceful or forced down, do nothing. # fi if [ $STATUS -eq 2 ] ; then if [[ -z $CLUSTER_MAJOR || -z $CLUSTER_MINOR ]] ; then echo "Resource Group Allocation Failure disabled on $LOCALNODENAME for $GROUPNAME, version not found." exit 1 # terminal error, we don't know what version we are running fi if [ $CLUSTER_MAJOR -gt 44 -o $CLUSTER_MAJOR -eq 44 -a $CLUSTER_MINOR -eq 1 ] ; then echo "Resource Group Allocation Failure enabled on $LOCALNODENAME for $GROUPNAME." exit 0 # non-terminal exit status for RG acquisition failure else echo "Resource Group Allocation Failure disabled on $LOCALNODENAME for $GROUPNAME, PowerHA SystemMirror 4.4.0 or earlier version exists." exit 1 # terminal error, HACMP 4.4.0 or earlier release fi else exit $STATUS fi [ $? l#+Tb՝ab&g2./usr/es/sbin/cluster/events/node_upn_r  e #ailnorst _cdfghpuv"$-/=AEGLMNORSm().:CDFIPT[]bkwy&',012BHUV\x{}!*4Wq|367;>?KY%+589jz7L:ST3(AH(nJ̽5+L潣YI/spu.t+7[G2ԭ1:YX=U)n%E|Э fRZJ50 aҚn" ,xL5uԁA>KSr])]T^U/^PXK+9HgzW/RޚMȀ2ԭLo6vH M|[׽wLfQ cX5kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ$P2FYSL(Y넘tFÈT=+{g4p6qy%(,n%ӝư*.MG] Ҹzs1ΈtӽЇ$zRi2B|H![ LW7zsq,D>YB+@.QT$!#& $XL2]0˜/j󔪺`Zr鞬޻`p&$h<DGALxゐ6cbwpy(d8H( ^G(|\nt|pi SIiaxAL}2 Rd.(,B R2T. yCv Ygqa5>PXK+>.7{\%{ItB87E\}7tr ӜWC apU/] Ҹzsʆ0ÎzZ>SL(Y[R1:\Xq@=+}nfc9'oAjLЅAjVB 8$(|\na,XwOa [k 8(,n%H8;ÿÿޖ()|o"G!@>8P݀ EXwT㒸goMJ`ÿrW,-R yÿ{wXwom ۫}T+9,YfTZs^PXK+b:(XwXw=tJ⅟;FX1 =KzjU=LRF]z'qkIFQ c AG mRd(\ba0Qt.sl AG mRd(\ba0Qt.sEp0HBI2`rE!E ͌k?N%vmϋ(#qB%|.zSt/JK+@C?Nٹ/}Tlk?ޖ()AjLЅAjVB 8$(|\na,qQVK?ҔyCuT>.7{ 2 Rd.(,B R2T.e^d#@AL"8P]U? yCuT>.7mh@'VoWIj3Pݑ>.7`!,BZה7zsqaK.=LR8 `8^**ÿŇ ԯ;ER(^䲺R8Pݰ%+[I;;7^oG]Tt/JK*ÿÿޖ=+zԮ= p.7l;']yIuRUн+9,ǥ=WUCvegOgѥ4T&3wUƵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ,cXֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkX#& $X KZ@ c HAjLЅAjVAjOUSt 5.`5y2B`DA,|ki!A,&\03ˈ<8ɃF,`\L2䁅I\@L4ycaƤRƄQn\Й#"g0LѬe.ǥcaaxAX#al}9; 0P"(tVtF"$1 s{cb=)Okk`e4Lȉ"2ƱK0Hs˒,O"G\y2EvUK?ٹ/}T2F O{?VЅ+3iIςӾi\d:gY3xqs*&xqfL<@D6$1aAX#aal$dLɑ g 2&ycşJhZ8[?u"h' Z1W@0(c@FK(Z.H8e'w[JuB1V;]ZŭOd0KDۢZQ D 7I-4/NrYZc1kthU-WVfOVJ[B!RкcZJ>)ފ·;@FPS&d`3ʘ(PDLjMAt,6alk?4h^0O|zzKvmY̔՜QO|\,F}խupP$&4 $dr[KB^n}.k thaA_U/K43JٲϜ<f%'%rJQD ED!;EhfygEٻp愌-7>^A '%K+N .O][ .`8+H i[?ޖ()4hDH˒&#wA?şgo惍Ҹf֥qkєoVotFue[^hB@gd =Yg]VW4hDHΕ=)O4_AzoKtFCQn]\R#);nja&V-\z@z$BAL|qȾ_J⢬{?3i<54_Az3E*T/Wҭ \R#H_J@hMVu]5Jz" }*dt"  *<njc]^|Voq-K/**qg>Q6n}lIE*T! Nzsq@I&V-\z@z$BAL|qȾ_J⢬ }*DpI\V.U$_Ar@ 4&t,H=e}ʾg2gFU]u}Ȏ _njcY^|Voq-K/**qg>Q6n}lIIgYqW84qa$]f1mY⢬zX8Й#"g0O TUR7VmZ꺔z:RË`7gYRͺ+:EٻA2*Uԣ׽wLfQgta-{AЀ?2 \y$н9ewMJ^L "9%^[,Rԭ}:Uӭ9EgC7$l3%SQ)y%(ŖGsn΄A n1(^U-h`ū_E$$,<4=Y4V3L-R#E-BHNq{py(d8Hn=-wAk,%;x#\nf?:]3F^\x1]8ݳ\Y7DqP$ '8Hɂ&ޜ䲸Ӌr2%5 2`rEN.7lIFQ3pA\꺪#kІ `S?şgoJ_ q7jWYPGKm[Jks^{gXr>Uf/c,87Ү䖄YK?{(֝E`9w(==g-IA-J]P!CfϒPrvnK+f^3& c$dˉX`a3&"X'Ε$oYVK?R龝T'Ε$oYPFZwX>w0@L>ugoaץ]U-ICgλ,k?(9tҜ@L>u;$ӴAїWT>5sN2C➲kpʺO+H޲k?Kn$orUR:TpZw#< YvΏn5tzN]ewKŧnR龬k?^DpR&Ӻj}N/sK]Z QX>i[?ޖ():iۅx Zv{Ɨln**qgYp+R_U/EN2K)!RKtz,HB QIl ::T_AZ(Unŧn3"8)IiqV5լ,o#uZv{LK>8rĪ cEYU.,zYP*D;Zg p0=5e3zsqP$dRÎ*y"HpYǻ潞AFOtx^[|\׳Ք$d{=wAka,PS;{=YA 1h"ױ;\Xq5pi)uR_A}]8ʺ^s\״ue3&q >(Aj={tQn qwBvFz]A 8N\V\2Î98㞖()2xHc(TUuT2x=ؑd,`  0q [8#' YXq$qKF& /w;{=YA 2}Pz2x㎪qStOL!7Z Ɖz/8L_Aь^Zv0Ktz„a )gҔ׬|7 ^p08ij>N|RrK4dyGY}Fvq:IuR +s- Nv`3 X>iigd1kˌGWdU/aӐԭJr7Z6 { aq?^Wq?YA q#'E-Gl8EVSh8Ј gOqG^ IhW-;pF|mot:Te]'Ε$oYV$8y%9!t 8f2;H:d*5yqZ(nKFZoyEgC]:zX>8e <Ì4h0L aRg4xqX8DYx hL3't4-TUR7^y%)N:Fq6&{ RTJuQ;t._ q6 d┷ƕ#,H8s1{zM:J)N:zy%H:ddIh@G)s8џ9hAjVкnB^Gux[^Q2FvnliQMYԀ0^0xe1їWtkY-!9RkMfJoWr|- $oRKBJ>)I9]8ʼN;3Uty+ZvU\beUgNQYw B'*PܖhEO2PH@G)cAmrZޖ8dH*`8Rɗ$Xh^XLZꤩyTuwN$A$mgSĊ`@@rg(Dh0H &y>܂O|qL*yTq"*"\J |R>r M<#kІLjp(pȑTq".H08м ‡$F*"\аY5-KTq"*"\Jb0H &yTq"*"\J0H &yYlgRX(k|qL*y%ɞd&ZKFOf|fJo(Qf[$mMG6{K//z]TM*.vU.=.k D8Z>*׹w>:(nKFg|!^*[GZ}.k k1%y=kF6Ҏ?}n,ZniJf.TD3̔"8)(,}1ŀYX B+B`_ [‡$F.TD1z|ka08[?ޖ()8r%ɞd**qgqG&yh!$MuǁX%"8 2PH% "ThLaH8ZhX[?ޖ()|qqG&ykgT F4yfA!*HLHBHNK*Dq`dp.7dM2&yR@eFt|pi SIialzX< hxq3ʒ+\YWkgOc?՝s}.k =ҤFgb̙&yqG&&2 BDw\xNrYR#% dq"\@ɉ& H8ZhX[?ޖ()8H1fL<˓LX?şJ|RJb2L@$. h@S?ѓ?ҔCuϥwg]4yfA!*HL?ѓ?՝s}.k =!G@ mrZޖ#@㢕bS l(p+"DhtRJbгިhX^XLzx cVvv,\Y+s]YT>"4rsOwgSW+s]YTk?{?єm6Qr>5ޅ"\JY:K;N2sr.LL 0dn]σx:g7%W>]/goG;J;GwxwY+s]YT>"4rsOwgSW\@扙< a2XÿӃ#=.k D 0qq3ˈ4&Dh)JrsOwgSUɟKUO\ +EhAR. h`ЙJgIFQ3b)S|!UJ}TܖiZ6.Îk?{?{?єm=kTJhڷn(>wUДRzkN/AЇ#g ٹV )BqaY KM YjH])#<۟=9ehƱb%&$Ly2$dHD 4Lnc 2&yc\Y!)t(s{Y :|Zh])K+8$&yC&Fs{)תкt::\{uc.t'9,8Hɂ&éu :*u0.H2#U0Ô#tQt!H*|$|dʷ%4_2ÚÞ().`կE$"A M8 祅c`1qa@I<'8Hɂ&9ZwaGg$.|S$м䲸% :+:[Q`Rϝ7$dB'9,ÿ " rOc?єmk?NRg$.>wI-4.RB=Y -wI-4/NrYZ3zX 9!tIitgTЙ!0q $1b.` 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi # : serial number for this event is $EVENT_SERIAL_NUMBER # typeset -i RPCLOCKDSTOPPED=0 if [[ -f /tmp/.RPCLOCKDSTOPPED ]] then RPCLOCKDSTOPPED=1 rm -f /tmp/.RPCLOCKDSTOPPED fi # If this is a two node cluster and exported filesystems exist, then when the # cluster topology is stable notify rpc.statd of the changes if (( 2 == $(clnodename | wc -l) )) then RESOURCE_GROUPS=$(clodmget -f group -n HACMPgroup) for group in $RESOURCE_GROUPS do EXPORTLIST=$(clodmget -q "group=$group AND name=EXPORT_FILESYSTEM" -f value -n HACMPresource) if [[ -n "$EXPORTLIST" ]] then UPDATESTATD=1 if [[ "$NODENAME" == "$LOCALNODENAME" ]] then # If node coming up is the local node, make sure rpc.statd is started. LC_ALL=C lssrc -s rpc.statd | grep inoperative if (( $? == 0 )) then startsrc -s rpc.statd : exit status of startsrc -s rpc.statd is: $? fi fi cl_update_statd if (( $? )) ; then cl_log 1074 "$PROGNAME: Failure occurred while processing cl_update_statd.\n" $PROGNAME STATUS=1 fi break # already started on this node -- no need to check further fi done fi if (( $UPDATESTATD )) then if (( $RPCLOCKDSTOPPED )) then stopsrc -s rpc.lockd integer COUNT=60 while (( COUNT > 0 )) do LC_ALL=C lssrc -s rpc.lockd | grep stopping if (( $? == 0 )) then (( COUNT-- )) sleep 1 else break fi done startsrc -s rpc.lockd : exit status of startsrc -s rpc.lockd is: $? fi else if (( $RPCLOCKDSTOPPED )) then integer COUNT=60 while (( COUNT > 0 )) do LC_ALL=C lssrc -s rpc.lockd | grep stopping if (( $? == 0 )) then (( COUNT-- )) sleep 1 else break fi done startsrc -s rpc.lockd : exit status of startsrc -s rpc.lockd is: $? fi fi # if RG_DEPENDENCIES is set to false by the cluster manager, # then resource groups will be processed via clsetenvgrp if [[ "$RG_DEPENDENCIES" == "FALSE" && $START_MODE != forced ]] then # # Set the RESOURCE_GROUPS environment variable with the name(s) # of all Resource Groups participating in this event, and export # them to all successive scripts. # set -a eval $(clsetenvgrp $NODENAME $PROGNAME) RC=$? set +a : exit status of clsetenvgrp $NODENAME $PROGNAME is: $RC if (( $RC )) then STATUS=1 fi # # For each participating resource group, serially process the resources # for group in $RESOURCE_GROUPS do # # All sub-scripts must inherit the same environment # values which were set by this script (set -a). # e.g.: all sub-scripts must inherit VERBOSE_LOGGING value. # set -a eval $(clsetenvres $group $PROGNAME) set +a export GROUPNAME=$group # # Check nodename, and call node_up_local_complete or # node_up_remote_complete accordingly. # if [[ "$NODENAME" == "$LOCALNODENAME" ]] then clcallev node_up_local_complete RC=$? : exit status of node_up_local_complete is: $RC else clcallev node_up_remote_complete $NODENAME RC=$? : exit status of node_up_remote_complete is: $RC fi # If any failure has occurred, this script should exit accordingly if (( $RC )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required.\n" $PROGNAME $group STATUS=1 fi done # # Process_Resources for parallel-processed resource groups # process_resources RC=$? : exit status of process_resources is: $RC if (( $RC )) then STATUS=1 fi fi # Refresh clcomd refresh -s clcomd : This is the final clRGinfo output clRGinfo -p -t 2>&1 # During LPM if any other node in the cluster coming up which was down # when LPM is initiated, creating LPM temp file which indicates that LPM # is ongoing. if (( $STATUS == 0 )) then if [[ "$NODENAME" != "$LOCALNODENAME" ]] then lpm_in_progress_file=$(grep -w "In_progress_file" $STATE_FILE 2>/dev/null | cut -d'=' -f2) lpm_in_progress_prefix=$(ls $LPM_IN_PROGRESS_DIR/${LPM_IN_PROGRESS_PREFIX}_* 2>/dev/null) if [[ -n $lpm_in_progress_prefix ]] then # if node_up_complete event is being run for the same node where # LPM is in progress then # do not create LPM temp file with another node name if [[ "$lpm_in_progress_file" == "$lpm_in_progress_prefix" ]] then cl_rsh $NODENAME "/usr/bin/mkdir -p $LPM_IN_PROGRESS_DIR 2>/dev/null; /usr/bin/touch $lpm_in_progress_file 2>/dev/null;" RC=$? if (( $RC )); then STATUS=1 fi : exit status of cl_rsh to node $NODENAME completed, RC: $RC fi fi fi fi exit $STATUS eak  k i#+bX՝ab&./usr/es/sbin/cluster/events/node_up_dependency.rpetee# @(#)40 1.1 src/43haes/usr/sbin/cluster/events/node_up_dependency.rp, hacmp.pe, 61haes_r714 1/23/04 19:44:27 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_up_dependency.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for node_up events # if resource group dependencies have been configured. # # format: # relationship command to run expected status NULL # other "/usr/es/sbin/cluster/events/check_for_site_up" 0 NULL # barrier # event "/usr/es/sbin/cluster/events/check_for_site_up" 0 NULL # barrier # other "node_up" 0 NULL # barrier # event "node_up" 0 NULL # pc.lock kA#+WbX՝ab&W./usr/es/sbin/cluster/events/node_up_dependency_complete.rppmp# @(#)41 1.1 src/43haes/usr/sbin/cluster/events/node_up_dependency_complete.rp, hacmp.pe, 61haes_r714 1/23/04 19:47:22 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_up_dependency_complete.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for node_up complete events # if resource group dependencies have been configured. # # format: # relationship command to run expected status NULL # # all "node_up_complete" 0 NULL # barrier # all "/usr/es/sbin/cluster/events/check_for_site_up_complete" 0 NULL # r l#+sUb՝ab&4./usr/es/sbin/cluster/events/node_up_localency_  e #aiorst$=ERST_cdfhlnu ":ACLMNOPUgmpv&()-.0FGIV[]bwxy!',/12?BDKYkq34;HWX\{|}5679Q*8>z+Z@^jj\M$A@eP&$dž*H4Drǜ@eI&(.Xxhku[w1$A1~9E .TW unmwYyF% Qzc$A@qeI&(.Xv8xA㊠MA"H$I4 Uj $\ TaD]?ץaV|E@(3 E$'&Trh("R峁I3MA"H$I4 @eI&(.["E_ D?V-I2 Hc|,/99 n[NE G5xwVӿ׋4hѣ}_ZX) $I)&3KE5 E$& ;wX{x Ju׋7AVӬ2*seV%s~;֔Z1ՈT7VRҠ]ÿ~"82Ԗ@3qV`-l9;A1"(pZH .D1 fyiJ0 gUg34Q Na V놬? \%:ᭆ;ה\[rH"&$Ew|PS kr%J;wՋiR8JLyԹ9l*㎥UZM[wJPA-hY5G_ZDEBD9$"$;wՋi~M\6*̕ ,?ץaV~M\6*̕ -ƃjd(9I"RŐ׏*XN/Lqȕ*q%DH"h9$TSP@H RMj l;ɪXMjq{Ճ@P""d#;2IW"Bq3mW7 sl^KjJuP\'ŖuXB\WIyɳ\peQ`Ab/zh Wjnb k}Xv.vViXN ܉cJ­ӒҰT5 H_ D?V-ڬK!kuJuAb$a[[XtsVfAX%K(@h sLe?0$&]#^.t ڍ;Lh"X.D\?ץaV~ یF֝M[D~:[NX8Bf-*uۥk^-Znj5<p"R&;,/9$&],03 Le<=rmś+fh c2k7&[3yɳT`h%N`,͂\?Kv0jSY ҶfWPTPPHx=46uT&gn%ZT&gbEb4fdnՋs/'R-"f#E|PSpJ*  ;>>> The following command was not executed <<<< \n" echo "clchdaemons -d clstrmgr_scripts -t resource_locator -n \""$LOCALNODENAME"\" -o \""$GROUPNAME"\" -v \"$1\"\n" else clchdaemons -d clstrmgr_scripts -t resource_locator -n "$LOCALNODENAME" -o "$GROUPNAME" -v "$1" if [ $? -ne 0 ] then cl_log 655 "$PROGNAME: Problem with resource location database in HACMPdaemons ODM." $PROGNAME STATUS=1 fi fi # # Resource Manager Updates # if [ "$1" = "UP" ] then if [ "$PRINCIPAL_ACTION" = "ACQUIRE" ] then cl_RMupdate rg_up $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$FOLLOWER_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_up_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi else if [ "$PRINCIPAL_ACTION" = "ACQUIRE" ] then cl_RMupdate rg_error $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$FOLLOWER_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 else cl_RMupdate rg_error $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi fi fi fi } ############################################################################# # # Main Starts Here # ############################################################################# typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi . /usr/es/sbin/cluster/events/reconfig_udresources STATUS=0 if [ $# -ne 0 ] then cl_log 1035 "Usage: $PROGNAME\n" $PROGNAME exit 2 fi if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ -n "$APPLICATIONS" ] then clmanageroha -o acquire -s -l "${APPLICATIONS// /,}" 3>&2 if (( $? > 0 )) ; then STATUS=2 else if [ "$EMULATE" = "EMUL" ] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "clcallev start_server "$APPLICATIONS"\n" else clcallev start_server "$APPLICATIONS" RC=$? : exit status of start_server $APPLICATIONS is: $RC if [ $RC -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi fi fi fi acquire_udresources AFTER_APPLICATION RC=$? : exit status of acquire_udresources is: $RC if (( $RC != 0 )) then echo "Failed to Start userdefined resources for '${GROUPNAME}' " (( $STATUS == 0 )) && STATUS=2 fi # # Set final resource status # if [ $STATUS -ne 0 ] ; then set_resource_status "ERROR" else set_resource_status "UP" fi if [ $STATUS -eq 2 ] ; then if [[ -z $CLUSTER_MAJOR || -z $CLUSTER_MINOR ]] ; then echo "Resource Group Allocation Failure disabled on $LOCALNODENAME for $GROUPNAME, version not found." exit 1 # terminal error, we don't know what version we are running fi if [ $CLUSTER_MAJOR -gt 44 -o $CLUSTER_MAJOR -eq 44 -a $CLUSTER_MINOR -eq 1 ] ; then echo "Resource Group Allocation Failure enabled on $LOCALNODENAME for $GROUPNAME." exit 0 # non-terminal exit status for RG acquisition failure else echo "Resource Group Allocation Failure disabled on $LOCALNODENAME for $GROUPNAME, PowerHA SystemMirror 4.4.0 or earlier version exists." exit 1 # terminal error, HACMP 4.4.0 or earlier release fi else exit $STATUS fi  lꤳ#+C2b՝ab&./usr/es/sbin/cluster/events/node_up_remoteompl   #e airst "$AEORST_cfhlno=CILMNPUdmpu-.01:FG[]gvxy&(,/2<>?BDVY\bkw)3HW{}'4567;KXq!*+9%Q@z|j$)&uyH*I航@DqTS|m~6;Vn*H(x A *xVV]/ك@,$6^+XcUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT\ՍɲZՔ21r+I02#F+6^+Z^FHK4 MG""8@Qq1< sŝ+bgQ&0$qDT&H5e,Ӕ@"" Q#Ȧn&m8/fcQq&o W")"L!I$DHAgp 0MC&0_8APISƨ9&3O2cATyM6-ʩ.X{e4(f(2DO q$"y% ڼ7m5Pcg+wijN$#G")"L!I$DHAgp 0MC&0_8APISƨ9&3S@j$ATH @&nӿeT,Q"bUE|&H$"$O ij[Wx L`senYR \G+qqIdA I""D;K8xn'j4;x;x8 s> i"nUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS1r+I$DHAA@ bśG 48$ d@/)A%a8\+2Rϛd5΂pAȦDG35 0n&&9m;^bś2̋>/+ wPm 80 MC&: YՅxv&m8řVa84K$"$O e-FI'AX'/`r =D 6-cQrss@E5 0)* 8z SQf*Dy2*"$ 8 E L 2AfW<,NB);͋rlVٷ@SsV7&kVS|5$zcš>S|m~W5crlVe7̼H?8SQۉKؽ ,*k0,#Y9n386+\wm-e5Lض6ANl^q׼Hܥ͋lmc_8Dz"m;BMAnzL`ksXO+rHOPr$S ofybŭb, &qZ7*Xܛ/X6ZK8g&T< hHj 5 p5[2b̫7crlVclj.r`A UC H&4HhÁZ7̼eYe⵫f+Tvg @ATMi A>Hk^2 Y ڼ7qbqz5$SL$Ȩ05,Y)AdTs%qIQQL"7tضk0qIQQL"#e]ч],0MbqRE4"Lui[6^8#r#)_)mxK|V ۍ.HhÁZ7̼fSlRϏ $5΂a :l[No4Afso-͋GRmh>vS lq6^+^)˖PH$D` ɨz pm5PcucK~Ns1n<#bИc_MC&ḛŴ\ՍɲZՔ2A$H- ^[ke⵫)eAش'M7/9olV`S-ֹJ 9A|HK k8j$"8iD)bn2l[N0/fcQq&ŭb, &q j̬GVږ,2JEY-6^+Zp𑦜"$< 4k[Y(*RㅔfSQH%Ӗ>7&kU|ێi)"L kp7 jM͋i*ئ(8H<(fXM7&kmg ||Xx>ʶԴAMI$DHAgj48bОrj4 8 k#+\b՝ab&\./usr/es/sbin/cluster/events/node_up_remote_completeete#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/node_up_remote_complete.sh 1.4.1.29 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/node_up_remote_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: node_up_remote_complete # # # # Description: This script is called when the node_up_remote # # script successfully completes. # # This script mounts network filesystems # # (NFS_mounts filesystems). # # # # Called by: node_up_complete, reconfig_resource_complete, # # rg_move_complete # # # # Calls to: cl_activate_nfs # # # # Arguments: nodename # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then eval export $(cllsparam -x) set -x version='%I%' fi NODENAME=$1 STATUS=0 HOMELESS=0 if [ $# -ne 1 ] then cl_echo 1037 "Usage: $PROGNAME nodename\n" $PROGNAME exit 2 fi if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u for GROUP in $HOMELESS_GROUPS do if [ "$GROUP" = "$GROUPNAME" ]; then # This group is homeless, so don't try to mount any NFS # filesystems below. HOMELESS=1 break fi done # # Possible NFS re-mount # if [ -n "$MOUNT_FILESYSTEM" ] && [ "$HOMELESS" = 0 ] && [ "$ASSOCIATE_ACTION" != "UMOUNT" ] then NW_NFSMOUNT_LABEL="" echo $MOUNT_FILESYSTEM | grep -q "\;/" RC=$? if [ $RC = 0 ] then if [ -z "$NFS_HOST" ] then NFS_HOST=$LOCALNODENAME fi if [ -z "$NFSMOUNT_LABEL$TAKEOVER_LABEL$SERVICE_LABEL" ] then NFSMOUNT_LABEL=$(odmget -q "group=$GROUPNAME AND name=SERVICE_LABEL" HACMPresource \ | grep value | awk '{print $3}' | sed 's/"//g') fi fi NFSHOST="" # The following piece of code was added for CR990012 which # allows the user to pick a preferred network to NFS mount over. # This is similar to the NFSMOUNLABEL which is set by clsetenvres. # NW_NFSMOUNT_LABEL is ONLY set in the scripts. clsetenvres was left out of the loop. if [ -n "$NFS_NETWORK" ] then ALL_NFSMOUNT_LABEL=$(odmget -q "group=$GROUPNAME AND name=SERVICE_LABEL" HACMPresource | grep value | awk '{print $3}' | sed 's/"//g') for label in $ALL_NFSMOUNT_LABEL; do IN_NETWORK=$(cllsif -cS 2> /dev/null | grep :$NFS_NETWORK: | cut -d: -f1 | grep -x ${label} ) if [ -n "$IN_NETWORK" ] then NW_NFSMOUNT_LABEL="$NW_NFSMOUNT_LABEL $label" fi done fi # # Select active service label # # First, make sure to flush the NFSMOUNT_LABEL if it exists. # Only one of these nonzero. # if [ -n "$NW_NFSMOUNT_LABEL$NFSMOUNT_LABEL$TAKEOVER_LABEL$SERVICE_LABEL" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo arp -d $NFSMOUNT_LABEL else # make sure to flush the arp cache for this label. for label in $NW_NFSMOUNT_LABEL $NFSMOUNT_LABEL $TAKEOVER_LABEL $SERVICE_LABEL do arp -d $label : exit status of arp -d $label is: $? done fi fi if [ -n "$NFS_HOST" ] then for host in $NW_NFSMOUNT_LABEL $NFSMOUNT_LABEL $TAKEOVER_LABEL $SERVICE_LABEL do ping $host 1024 1 >/dev/null RC=$? : exit status of ping $host is: $RC if [ $RC -eq 0 ] then NFSHOST=$host break fi done if [ -n "$NFSHOST" ] then cl_activate_nfs 1 $NFSHOST "$MOUNT_FILESYSTEM" RC=$? : exit status of cl_activate_nfs 1 $NFSHOST $MOUNT_FILESYSTEM is: $RC if [ $RC -ne 0 ] then STATUS=1 fi else cl_log 653 "$PROGNAME: NFS Mounting failed. No reachable service interfaces found on node $NFS_HOST\n" $PROGNAME $NFS_HOST fi fi fi # # Resource Manager Updates # if [ $STATUS -ne 0 ] then if [ "$PRINCIPAL_ACTION" = "RELEASE" ] then cl_RMupdate rg_error $GROUPNAME $PROGNAME # don't mess with STATUS here because it is already set elif [ "$AUXILLIARY_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME # don't mess with STATUS here because it is already set elif [ "$AUXILLIARY_ACTION" = "RELEASE_SECONDARY" ] then cl_RMupdate rg_error_secondary $GROUPNAME $PROGNAME # don't mess with STATUS here because it is already set else cl_RMupdate rg_error $GROUPNAME $PROGNAME # don't mess with STATUS here because it is already set fi else if [ "$PRINCIPAL_ACTION" = "SUSTAIN" ] then cl_RMupdate rg_up $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$AUXILLIARY_ACTION" = "ACQUIRE_SECONDARY" ] then cl_RMupdate rg_up_secondary $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$AUXILLIARY_ACTION" = "RELEASE_SECONDARY" ] then cl_RMupdate rg_down $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 elif [ "$PRINCIPAL_ACTION" = "RELEASE" ] then cl_RMupdate rg_down $GROUPNAME $PROGNAME [ $? -ne 0 ] && STATUS=1 fi fi exit $STATUS eles kd#+ib՝ab&i./usr/es/sbin/cluster/events/process_rawdisk_eventeete#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/process_rawdisk_event.sh 1.8 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2012,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)97 1.8 src/43haes/usr/sbin/cluster/events/process_rawdisk_event.sh, hacmp.events, 61haes_r714 4/29/13 03:03:44 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: process_raw_disk_event # # # # Description: When the cluster has lost access to a # # raw disk, script is called to process # # the event. # # # # Called by: cluster event manager # # # # Calls to: None # # # # Arguments: the failed disk name # # the node which notived the failure. # # # # # # Returns: Never return # # # ######################################################################### [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.8' export LC_ALL=C PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" export PATH PROGNAME=${0##*/} DISKDIR="/var/hacmp/log/raw_disk/" ############################################################################################# # # Function: is_pha_managed_resource # # Description: Returns an indication via return code whether the given disk # is an HACMP resource # # Input: raw disk name # # Ouput: RC=0 Raw disk is in HACMPresource # RC=1 Raw disk is not in HACMPresource # ############################################################################################# function is_pha_managed_resource { [[ $VERBOSE_LOGGING == "high" ]] && set -x disk_name=$1 LC_ALL=C /usr/es/sbin/cluster/utilities/cl_get_rdisks | grep -w $disk_name | read skip UUID skip [[ -z $UUID ]] && { /usr/bin/dspmsg -s 31 scripts.cat 1 "No UUID corresponding to Raw Disk %1\$s was found\n" $disk_name return 1 # UUID not detected. Do not perform an action } # : Look at the given dikn_name to see if it is one that HACMP manages # if [[ -n $(odmget -q"value=$UUID and name like 'RAW_DISK'" HACMPresource) ]] then # : The given raw disk is an HACMP resource # return 0 fi /usr/bin/dspmsg -s 31 scripts.cat 2 "Raw Disk %1\$s is not an HACMP resource - no action taken in response to %2\$s %3\$s\n" $disk_name "RAW_DISK_ERR_LABEL" "0" return 1 } ############################################################################################# : : Event Manager has detected a loss of a raw disk : : -t If this is an HACMP owned raw disk, drive a selective fallover, in the hope that : what has really gone wrong is loss of connectivity, and that another node may be able : to bring the resource group online. : ############################################################################################# DISK_NAME=$1 # : Find the affected device - a physical volume # # : Check to see if the affected physical volume is an HACMP managed resource # if is_pha_managed_resource $DISK_NAME then # : The affected is an HACMP managed resource. Its unavailability : means that we need to take some action. Set up to tell the cluster manager # LBL="RAW_DISK_ERR_LABEL" SEQ="0" RNM="$DISK_NAME" RCL="disk" else # : This volume group is not an HACMP managed resource, so we do not react to : any failures or errors on it # exit 0 fi # : Tell the cluster manager to perform selective fallover for this resource group # if [[ ! -d $DISKDIR ]] then # : If necessary, make the directory to hold the indication that : this has been processed # mkdir -p $DISKDIR fi if [[ -f ${DISKDIR}${DISK_NAME}.fail ]] then # : We have record of a prior error. See how old it is # old_fail_file=$(find ${DISKDIR} -type f -mmin +1 -name ${DISK_NAME}.fail) if [[ -n $old_fail_file ]] then # : The prior error record is over a minute old. At this point, : assume that this is a new error. # rm $old_fail_file else # : This is not a new error. It can be ignored # /usr/bin/dspmsg -s 31 scripts.cat 3 "A failure on %1\$s has already been processed\n" $DISK_NAME exit 0 fi fi if ! grep -wq $DISK_NAME ${DISKDIR}${DISK_NAME}.fail then print $DISK_NAME >> ${DISKDIR}${DISK_NAME}.fail "Calling clRMupdate resource_sel_fallover $LBL $SEQ $RNM $RCL in response to Event Manager event\n" clRMupdate resource_sel_fallover "$LBL" "$SEQ" "$RNM" "$RCL" fi exit 0  lVi#+bbb&J./usr/es/sbin/cluster/events/process_resourcese  #e iorst $EORS_acdflnu"=ACGILMNPTUghmpv()-:DFV[]bwy&',./01;HKkx|!*2BYq{}349?QWX\+6>Jz%57jf2I,t"hՐI(Q$H=D (ThՀ `&0V nQMeN v 5-rArH'@jR @0h(@ 'f  PUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUNW$Qh*1 @TNT$ ڃVuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU: ,kf{OhKaԜ m .Boh-w] [s{2ʒZO5,ݵ5m5':4-MU{/f-X=p+(@^& MU{/-fTT/uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU:W3aIHܠVN%S| ʘ|7mOy,B&e|LWmSUyY4+VhC d@ E_\nmū\SZo[P :,oӫu9VY8a>S^jr_Ĺ:홶 j JuNҹ M_:¯eN84iw=$K&4I,%' gI $N Me+7ufj2MCHPiBHT$|mU$*! (PJDjw{SRjH4B$ *Ai>6$TP 45|U|D4'_$A1JP=H{eU F>6" Tk1n0f-$54BX;i 6pN)zh1|"ǃK |e0Ǵ VS sw;"H&T`n hJgf UPiBHT$P=HxB8PVS k5<,24iL܄@q 7k50<,/kI"A2 UPiBHT$P=HxnxTB$*w Q(DH"M5IDxDeTD=A  8iRM@RQ!h"A2"҅4Iz)( (De@nawB3Ɣ(DH"M1 UPiBHT$P=H{$jHcThLppңTE%ӿ'MeYgՌԄTiEMe+7("K9SFMX))S(Y֍;lȝǃ5-r˜5VqGjcTѠS򚱚 (Lef5%T|nyRE EQDBcI!wn5u1)eMXHEINTѦ^|B*Dj0Z.pHJLw @BɌx @Bwo%WbbMXHEINTѦ^|B*DPta>FNʘ|GmI3 UySF\MyMX)%Soa>F-pS⊾y$i&ӿ#ug<_)6n\{ jML6˿B8,PHok=$DCPzH(׃VyIP<GI $j"ZeA4ܦDG=2Ç x 3bBX;ibAS3j͹l=*H SVmVY9yRE EQDBcI ջҶmY^ɥc{\)³4i85k1n0f-$54BX;i gI $A4K$9bfLҥ006ͫ+%3DeTD=A '@Hp;0Ŵ%H@jh(4]j/jxIu2J» _|v|MY,b͋wlڲ{EܠVlB:2ԳȐL4DŻ /ٵ[ _0oh/֩Lef4 ̪jMS|.6N{zWRpRVs`\J6nPn+XHI1m;Q`YDy1 {-,q{7IҹAxYDBcI *jMS|`[o Q$GI "X1wwssormB;*㪲͙mf4w%I OLҥP<5uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSm4knW퇵k'S(MBV9VY#9k r0qs{W=sQ)\_+ڵܠVlBf9|3z/ wB3ʒ(y(  6AfXɠ[0. IHܠV(ܮ+jx;&p0Yb 0MفpX(`JFFq^{VDG<8 !'Ŵ2)AblrWRpRVs8QrqZŻA$HrI-$i&0XTjETL%@w;7#b0lVY B8,PHok=$DCPzH( gI $N ڡ TѦ^|Vj^/1j DepU|ʨzA5IDF_)5^zH& |mUMB$*1n0f-$54BNi6pN)zh1|"ǃK |e0Ǵ VS sw;"H&T`n nM*fڞxDeTD=B 褢C-;G jc;jxYe6nM*f";Yan;x8㊒(DeF < "A2"`M@RQ!aREL-DeTD=B 褢C < "A2"`M@RQ!h"A2"`M@RQ!$Pʁ gI,y Q $js8 k*SVmVY9yRE EQDBcI!x5nw;7 j+3h¯f{-N{zeFUDʢQ@0f$$j/jx&T,Lpnc˶mNkxۋ[ bqkٕ76 wp:ii ig_|uenwqAb !:H@jhl2wS=$DCPzH('Z MWAyxR؄qCXŴ.`[ouÈ&L{E !P1m,[;׃VuL`h55^/A{ N-}pui\ۋAEqjX1ꪪIIIU(P<1IIIUnA %P#ǐ&?3a Ą8 9T`1bǤbƒC{Y %DDuB3ǤbƒA8F_)b_<A0xODeTD=@xq J$=5&L jÈ&M8F_)b_<eS|mUz)P=H{/sQjMWE2>6=ʦN87&6G)6"YS+Tj'5|mf5#4 q㘄tIE2UID/j/jyH&UDCL 褢C@=16$ C"A2"<8aE%k, La@eA:Da@8anqn38 ׽N*.TTگeQ6o|=eYfnn; i Em-|'Z\W6_ka8RRUF-<4Wz$ @[^ [׃Wqk=2Jkii ^敚e+;]+-7PUm}j0Z%#rk\<>\`ecG1s1q__ח5\l/YY# NT n k TͺN+qh7sn-eR,Ayx[2̯͸"UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTfzJ p\U0Y{VitPn+\DG ffo/6j\7)xۋ\_Ngڄm+n5eYڂ 76Өb %y2ٛ )Fi,Ibv`&9bDټ]iUV*|8㎃2ٛ 8k.NՊ8sn-s1{Uifo/6jN8b(,ۋ\^Zo7z/VRydUqqb*_Y2ٛ 8Xq sn-s1zF[byuqn ffu~s4N"O2ٛ Ab|ms)uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS{J7 AaAn1SW+Q0 ybc /sQ*n6^JB*.d-"9$ Dxb qAyxRu:HA0gcdʼұVv> qTS]`ӫV*xܠV`٧QÈ&O @ɕyYb}|.d փ0i+4UAyxNu~͸oj͹pce+;_3s1 u:P͗QEHp(P<1lB*Ew"-"9$ Dxbq#n"A2"ID<*1 $*!P=H~ ` -,Ib<ʨzE%ӿN>f,<^] mXQ6nXNF +w :f/6-ܵe(,gk⏙7(7/6k qTS]`Ө;ViX;_rqZfG A3 t WV*|F@h3GqJYח48H$DD t WV*|lH89 'Z ViX;_GqAyxNQ . I,%&0ZśV1&8A0c]A A  0 A 04D L.AG ĐPzH(f˃ee@$p` 6\&˃_70Ӊu:j.d^15r&8`5|2Pʯh[DsH E4" Řys!,sN{S0JAL`1T`1jv^㇍ DH(@*D8`1H&UDC@$=1ŸN87&ـo|7(7ZWgkbĹ\u;! QhHr IwA(DeF<8aA0H&Ta wL"X IsW(7/6jZ`Vyڬ* -`[oʷ+qLef5*g2b.rqZf q!zH(Li$7Lx;(DPQ$DCLaEiY^ҹArbƒ@ 8q1B<3brqZfǤbƒAӿA4K$9bAkB1Kpe75'ӿEO<8aL07 A<8aL&00A0`X$swozZ TS]jsn-Z1.iWӿ"#50\{ x,PHcIm*f$4A04q"AaxbwP "A2 /sR*(aw#,"X1 WB11(Deq!'Ŵ&PʌzA(DesʇL  wo+QMw#-qAyxYDBcI sEO= "A2O 6@  AB$*&01 xq `^^"X I|mUH$DDӿ|l|P{S1yv`&9bDٹbv9l+8;7bjVRVv(rqZfǤbƒA ghHr IH#\nPn+[ 8`٠S@=*F&nf emw"{*an@dP5 Tpc@H ^UiݨlT] =1an{ycG a<1xq 0z@ Ą3ӿƐ"Y$ MBH0!y$ McYnf $$y/@H <iqAs [8 )A1n8$j@EHr H DŻw8-w̨ /YY+/fb *m}Go[ n8sJx5nLqBf LhP@z`Ҳ^j6liy. -VEmw ĐPzH(m6 P1y[P^YEbAPjZW6oUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU8E ;bW<`@ ^FB"# @J)G L~0f,˘ `p?+s*4cN %<lKV7хZZAm䠽uZ_|lڄ;ڵRV"\M܁^AVYbpe75'o@q N)|AWTMAj^~7++1n mũpn|+>f.7ZnWw]w#Vۿ/6h³8ivm|LWY eP/a#LgYVYwo*.TTگeQ6lw~j0f1U{[3V|DbH(=$KMYeKX©AB92O{YDg"D$%'Q{S#/Q{S6]F_)>qFm0(Fxcan^{+3–f /s[Jfy/9mieTҢlؼ1ڬxcX/w[NUTE4'T"ջDG=VYR3"qB.^ [Dse-c8T! `p?qk9^&٘5\[i_ ͚Vf5UJƽ֛֫Kw\3qk|0'Z;MjXcxoX­5l^ͽk׋qG'{\^PުmVY-]{U|ҳ0 w&`)F7q͚Vf87ScC<A0xO/5yJÿbw;AUpc:@KWo4𕯳mKU`)zl޴ V/+s*e8D @`P;/q4X{*js4bywύj1SW+\F]<{YY ;bW<00 \F]=e8DwoZqm}VV,ٻgaP1)ѧ\w]Flݲ0 @`02h^-{6@.(Fv/ 7<1 . af/L8;f.aw‚f &bw]Flݲ0 0wsG9]cL8;|V'UZX+fӿ ,.ٻg w)Ee DrH;fRd.l-1m;NsO\`1ڞ,e('WpU~MV\nSqRၙOvmVsQ{SYaAG`4,, Ya>6j16'!Ycbx); ŪnBX‚=|0Ŵ]Ys9 ls׀Za8qL_)Ԣ Urڄ-|^*؄p#(5 pn eL^jٽ2փl3,Fe+3 iwpn3{3\ᗆjn+wUee7;1qʭ +3ՍBz-rٷu88V%un8h̋Z/59Vx`n,"6y((T &^/1jL=5U<'_&S*eUM@z)O Wɇ=ʦ^/1jL=5 TA<'_&*QH eUMBh(O Wɇ4 R&^/1j@F(O WȐL@F(M@RQ!8F_)5^yE<'_ QB#@Iʨ@ I@ȐL@ &&UIJ$=L%P%#"A2"E5IDS á-ɇ6 qq00"XUP"0X8籈L=5Wq1m8aE2"I1q=8z`S*0X11aE2iDG k66^49*6ՄB3Qb"A2"()P<L LP=HxYH&UDC@E""I@jUIDws͸Q\uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSm4B3Qr̝YFjFa܅e;3.Fg]ՔV*dեsn-AuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS$j=fd15r&8` ff+)ٙ wx (Q<1.`^$%x`IT`1L% 0+P1R/0Sf`ÆIix8籈箭XEDp@;q1m8Nq4),];pmc.fMIEʢP0r1_jj{\ 8չ>ɇluRFıGܯL$ &UABJ8c|\1W2uZ_YV h3%fjb̶i Spxg k2sj{\6^4j3a)UXƐNeF$PQ24z T2mXH#5)\MQ6mINTiY,ʍHeQHh(4<[a#PaUs؄q"X1zH&d ,Q=:FDBcI ^/1j (ET E*$U|ʨzU@PQ0)2M@RQ!8F_)5^z()P<L L|mUQDR*y((T &e-UEH`ReP$ WȐL (ET E*$qj2MIsEH`ReP$ WEH`ReP$5 ZjjJpCJjThE*CGAA8F_)5^|6^4a>66^49,ʖ5F%6 Q"HH&z)(^/Ԛg6)Aȓ&&&+*6o=c+8)a+Y,$*! 2h*Ai j008=! 3p3Ƒ"4r$ɤcYeEVM) q2D47(7KaH2i'Q$GI03ӎLңHsa^ [qk=2J sUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTii j0Z%xIFZ 5kMjNq5 Xoi[6X+VSAi iMk(U3s7j [JZ ڃVꪪIE^Qe5MZ|P[TLXF \ (²Ai H[DsH E4" Řys!,sNLңwDsAb /w[N9c+8)a+Yej0iZjFBlrWRpRVslڲVSQh4խ5#!nas؄q"X1zH&d ,Q=XH#zfMMkg˃Lj]fzrqZ<wʲʋAe+;]C73^XQeԃ 2^,H$DDŻ!w‚L,-1m;1|l/YY/ /5 V( jkw;0R wC?jks헱g;`,-1m;օxLj =nmŭh/{f/e+;_ kA}UzCN͸?붗*n٦^ܠV9Ʋ >YxR̷)wV"aKUG7wo1|l/YYnPn+^fb -~f/|EZ(+=0R X[bw̨mYچxws῔KVV7&ٜ1ʋګM՝l!f/woAm ĐPzH( ^I $ [c Hv AX[bN kB0'٨Fv8s1|nPn+^eV/q"#4$hHr b^$$N {Wͪ" Ѹo4j05;fzrqZ/)A{WI؄tI $ X)\]fg<)fesI $[s W,YH٦^3s15 Lu SVw1oj*^$$9x87fk82VR aDG(4e(K&qŴ8qpo;hկVB/h8mqE_=G|qN8qlqN8 n1jqN8fRA<("0v̥r]yDn8㎔՝<*W<03=J+)烻69,0Bq_XŬٔ);qq"8H E4" 0BXq.6`~paQ0q]yDڐaR,Y8NV{+.mū_ 8ym/u{媴nq<;i~K(-Yٻggv|w8;i|٥fbYܭӎ :q21s1q*٨k|²`[w)$ܧ3S7 >[b􇂜w8Q{SL &8 j UQ0(E%qDeTD=DcP=H~nxc7 _AOLr褢C"#4$hHr b^$$bqS87/Z ,cmO,N~6ͫ+_V72 sq3@ "@;hSͫ&bb٦^ܠV:qҹኸڬ,̮qVѼ"X1 qJ8qAp3h`j/Vw2nf j/yÍjbu~TqU{(Yڄd/YՔ2jo\+>f.7\dWW^8 qLegkA{ qS9eYeEF2/,YٲA^ՋŞ ĐPzH(rCqc &0fzCt[N8qL_4Vvfb #k s1z­=U4 Z1\qL @ԀI0㎶^0fzCt[N8q5^1qڃ@qqkZ `gfzrqZ73_|v{-:Cw8sn-g9w 6i~7(7N;ӎ k,嗌5,r'yb*iZ1x,q _4Vvיl n;_j;yV!VQU.0X1񣊐D0f,hXH Ą8 L @ԀI`,-Ŵ{PVz`Q1 X[:f-wZYFTaUlqieeR4/m]Z[|q=;{x734p,A$Mȓ/|(+=0R'p3ӎ:qS|mU8gjf)zZ NDq \ڱ\bpe75j'o(sqWicOuf5ok]񵧭Wz|f/՝1=U. -SF>Smw:5q7q+Z8s1{ >f3ʥVjȫ:3j,9BOc0X7UEu{:qAb hDpԀO3UU5\ 8xjՈ'1ms1{ _|\:b+_㙵bEUgnoeB|mc qS87L @ԀIhrƎ$9aRV'3jV b7>B,㎐K(*,1MCj~p*{wDpƳ*0ʥHIŴ㎧po V b ĐPzH( X'K(*bUaK*3*0ʥg"D$%&-ᇀw8Gɶg. k2/`bփK7S6j_יUKqGl{ZŸZ ,cmO-GH8bw6aSVv qӎ;fTHfVw⵩q#*-n1Q$GI8㭗g;3aax礁B$ *r %xŻ 8bqӎ;7/,Rڟe^6LFf/TѨ^e+;_ kqfb B9Jaa^R{E!!ADBcI  qӎ;W<1WwU𥙕6j7=$K&4n8\Uie#fzP,%3eԃLN^w;56\`1*q Y.d e <`٥TIs5c HQSXaJ *L / c6-8HܠVDG k7C 5-r2E g,HI1m;zPr QDM@`ǠL(I,3H#7(7+>f/Y;eV/qU6f/aWmw~;G{J7 y QJ$<q2D47(7KayP|"v qN8"#>yG "M $$$:f-q5"I1xQ{eYQ/m*fq0q0)'j ܆,Oa>j'1p'3Ȣ8ih Li$qDA{Qc Y.d ec3Ǥbƒ@^a`/6k  ye;%. 0q0)'ԉu!ڞ|>JI,'8#`# ^6k bωu/<ҲA`[8dPʌ-s ?{Y T Mrq10 <0 Ŵc&8I L,Ib/U <^8HܠVPZll 8iq8Ʈxpb_)c7[3yxR ҲmXiqO[h4q<qS8PjiAB$*0Y(54  -wqqcA@ALg䤟;R%j ܱ!'q1m8:q6k'Z ϙfo/6j\88i|Ҳ"b+f/7[3yxRx M2(DewqYgj ܸ5qS8"# @J)G L~0f,˘ 8:f-q  h(E0Y0,88\eV$F ,8R (1iذƳaRO5XcsQZ/,dٕ5^`Fa^^K2lUw`\Y o<@z"A2n8y8w[o/Vl{4qR ō IxzR&H"O3axL'gT$1cGAD0B8<9"MAD0f !'w[N8po( 1y2ٛ ^kUi`㎧q2M՝lƷqxq0`0a48bqH# s1y/'q=sqίƐ"Y$ MBH7{xH"O3PO qn;@=AH4qR w8-w<p9%V;b"8VxH"O3P8<9"H"O3axL'gT$1i EhDpԀxzRPh'pHI1m;fT^Zo6Ce5!{PVzCf |`0 ŵFDBcI 4f/ k̪ҥ.D *- ʉlܠV.1sƑ" =<"JI!,2xbO/5 bEH@s0B3|FaD s3aRO`^gh2+4U!@~"X Iwwl"0v̍fm68O/5? Ae'4Ȩ!1m;h57'Ҳf ۿ{῁1{Ee^ 1ZZaۿ2Q/xb5ag䤟;Q/rV"aex5na{N *<^jab+fzrqZ73_b=$K&4`ӿ Trc Y#73^@BʲjA{V!y$ McYnf $$0<DbH(=$KM1m; >x5==weocI( M@SAD0Nw2pfzrqZ`J- xH"MeFxwjqk=2J sUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTii j0Z% څIՔn&+ 6E`,ڱ mAŠ6pe75'VQXfqnV͸UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUN5-rfmBf15r&8`Q)(n f/6jB"# @J)G L~0f,˘ `p?+weF s$j=$K&4I,%&;b"9`X  ;f-ӿqb+@|ѷ w̨ygj/,1$8a=(+=! 3`p>zCf an:f-DBcI!MAA"Xn;x8$j=$K&48q]Y3UiRu8㆑" =1ƲʆfmBf-*$IK;rqZԸD$cI ׃W~0`0阶weFzCss헱q1i E/w[[eEUj6^Xc[Hp;{PVzCf |`0 t[[bǤbƒC{Y %DDq5%Iu8v.rqZ*{:qHcYeCpe6xRY$٥՝Aj\c"D@zyDy1qq?s{PVzCf t[_;2J=!9=΍͸Q\5uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSm4kaڒ̝YFjPm4f =,;f+)ٙ:S7;vպmŠ5nqkaڒ̂;bW<`@ j0Z%{6e;3!nA %P#ǐ&?301!,sNweF s"# ō Ixbq2M՝ĜrCs‚0f;`nbw=$K&4I,%'㎰Fx,PH8iug|_יUK\qDzce{7!YN[9fTHfVw⵩q#4$cI ׃V{0ŵʍ*0;̭,ʋګM՝ĜrCs‚0f;`nbw=$K&4I,%'㎰Fx,PH8iug|_יUK\qDzce{7!YN[9fTHfVw⵩q#4$cI ׃V{{PVzCf t[_LңHsaawnmŬʍ*5uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSm4ZYCpe6xRueJicO{n ff³ڻ_Kx7S(U3s7j [JZ ڃVꪪHU7[3j5 (P<1U7[3j5!nA %P#ǐ&?3a Ą8 ;2J;G%I ghHr IuB3ǤbƒA8F_)b_YbDٽs1q%3v2ip׹LaY2ZYCeZʲͯ,ұ9vi}ەw_Uʦ{*T [mJ7_IDc4@βqK0h͵=Ybwq-Uy|P{Sa+Y ;+4D(8i(([qk=2J sX{m-7فxPlͨ^0lԝYFj\v`^685-`٩r5k=bhSuenwAui\ۋAPjUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT`^67[3j5 (P<1ࡸ2ٛP`٩ wM\yD*HA![DsH E4" Řys!,sNwB3ʒ(y(  6AfXɠ[0. IHܠV( ׀(Ż&p0Yb 0MفpX(`JFF`^6w;2J;G%I ghHr IuB3ǤbƒA8F_)b_xQ$GIPph`yDy1PcbF \nPn+\BNiXH#0lӜq$ LaK2bfb YVY ڭ6h-9G3s1ICqDG gi0<(#ɍ$(;zCf an:f-ӎ F ).f3EeԛYkmN&HfVw+.-T`5=ssn-gTiWsUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT OLԊIUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU: ,kjD+KeqV"f m -20 -SjD* Y2110H&4n$$bwIƒA@0"&^}1ɐ(ڳ|ß :bW?Kjz*@%,A k U$Qd H DmtL2f9La\nPf*^b0e |7)_sf/g»Qhsp2fmUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSUeM~ 88r0X5ذ$="Hv0f)gXV7+oع\O9RH,r0rsM| &);oع\M8͖b6&窚F[16.W=T\A5䘍oaeZ _939G *<$pȜE#L<ᗹL-sZX")O jAӈW¥ʞDCI EEdoi'UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT$gM@.+R.DkےstR6qsZxVMu| LQ5_"^jtoN"{).\mad;r ܠT`QlI˯ Os4ޥɵ`Ʌm͘AtM9-Xa%kUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUMU7AbP$ˣiJԃ˧<oع\T ,X@hc$;3,+` bs*qRȌйAy9M@.16.W=Ď"x`8f|־7(3/N.LA{]+oS^o=ez8LOEl&#<\nC^1rIeѴS^劕N"bh$q+A8Q756lB3 < J&H`D)MFyȢLh󊞑J&H`K"T4 8 @pңɒ(Ya'&H4"m؄g$ 4d 8hXzib&@008iQ p,IƓ$rM6lB3 LBG<`8iC?ױN"{cN|t r&o|98Aw<Ěm4 Dx@y!&z# ib$C$L4RB)@b kM( 9|Hm4+^efM 4zĂ:vcz˂3p_5.JEOer=5Ki]%c (1Ď"xfM˳ࢌ6_Y`Ny cG<M즾#o6eѲXH'H'JT#5W7W776bZ%N*Y-mUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU6mI36bP$ˣi& m6 )17AUU7A2$ 2R O_ֽeѼE81Z5s4ޥɵbrnPf*^b0eka63&WsN"|#ԃ˧0SkܠT`nSm6B_ vyq8ޛԛ`@6eѲk:YMԛ1rIeѴS^:qNwk@~&]S^ESԃ˧=XGɋQʺo7bl\yD@*@Ć opv, zI4OH1ÇY0 oaAy9/ssr*(x`kb.2DGN"y{b]1Jxޢke16.W=Ď"x`C& EB%, 888MA Xk[#LOENǐ6#6hgESiKM6iWœ EB% Š8Dx{M6k[ib.7!z$ 4R*M#ex馛hyn8@v%{&-G*'k䙛t^7(3.Z&@2iMrpv.7,`P! yD=ex<=54Uq Fb~-&YRi4 ,=iM4ǐUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT_L͆RU KI5L76%"&<3Η%"'ZĖ \cm؍`| 2ܵkAr6|@L3]NM阸_MukmtL2f9 1|?ɕKM˳ea6kmUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU6SsM8Z6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS[a6!&8O,,m؄g(16g^^]q=D`P6pZix>'Ml Gb0R' Ay%4ZLOHrD i]'7A E@y!A#L h+Zǚ' B 2~hgfSMϲ<քN7fSMϲk_鼾tV-8,B)OUܛM M"Jo11d 8"a8ڐz0nPf*ZIeѱ@M vт\ 0n 6k[SD`9rpv-PA &D4z45rpv,8ڐz0nPf*ZIeѴjAӈ<=Za`DE$K"T HrEi~r&]jAӈiK\V#gK KF i.I5L6H 3ܠTn5,`ki&lE5`#,`H'lxiC?jtozr!9NRU KIHa{ƛM42Ċ@B(޲oRA3vLb0eieer1R iE1k3K N MiWDj#!]1쾬#2qk^. @ԇ LDZm4ىrDyDX aOŢ<"~M7k[ipZ#ʞH'(YcN 8x{M4fiAsٶii깦jkM7ĒDj*qf4ܮN, rH浽o@<`rg2 o .MogciG2Zm^b0eXG|ֶ~nM}kq HDJԴe)$}@Ka9I6"Dk^`&o12ěM4M}E`FN&dsZo4I@HE1kr1R,<ܠTpxR}iWw /]k{M6iW8GU7.oY9pQFc. 泥HZ _ww|. Ŕ@G?b0ej%N*Yjox>rI="Ɯ@`M+qSR@r# kܮ? Qx2b? WG "R1a?B]';/bnk@y{UϲE@;Vr1Ro \dRb0;slCrTxx vƞ@aakjoT%LSY\֫5W ˥S 8°5ZZX'&)o.kUҒ͵)N"{{{{{{{{{{A1 sEnRԔJ'14*#e?E'+ D/24'&fg&X%O4ps̙VD.5_msB@7vg&X★( .)&j{{{{{{{{{UXJ<R(NbiQU8F`s&D$&@e9q蜐aF 7/ +p s&L 8Ii!ǐE"Cȋ,`X HI<.wVre@O&$5ɑE$ڋK,`X HI<)G|2jVa0,p`` $aA"樝/-5+ G\pKQiea@sn򒍸s{{{{{{{{{LBjvsa?E'+ D/!ksf*V,'pI5a;JQ9.k@vk0) tՔ|#J.WыR sIyYɖ?&U hb++7)%L;c#[Ү{Vgx+k'a(Xƴ5NjnZL{{{{{{{{{UXJ<P fS^KE <E whnXDǢrA8XR*8;~\(I{q[ ;M@5N׺j{s}-IDsՔ} ,buH$De~ O(NbyKbR+8Mk ;Mu죿&4XM xÝj-,_;L@r8ȥbu$A"A"' , 4nyh `0K&렀&@X1VSt"y4 9I0(H808YdD @4 &9@O&" .wG9W •0(H80;sj@O&"#0(X!DaQ1S@#Q\O)h[XҩK׹hnY$$H$DX ;s[U.kINs Z"y4 9D p5s[WЧ iGF;vS1jAQ>_D/^%y$ԺjxDcHj"k;,^(hԐ8H4XpsqsZ+@Ly @dp55&%: 9!LEr'@ӑHhLr sZ^浿$ħ\"xa1$5ɑ(Dhr)=# @찉ǜ&DS֫5&%:"DŊ000S`$2kU`򒍻wVg8s{{{{{{{{{LBjv-IDss]%3ӪDa9DB]YOOQ5.2)i2KDsyLϬY數(Nb|#J.sLKL2\k@LKLւa8.b7ԔJ'1>SG?ɒWWmsB@zU:MYCZLQ5={{{{{{{{{ʳ+ Gjv-IDsM"HL;47,"r9 ƍ@n,^)hXV?K$MD,/.fj^VreP fbu@ ,>Lת&f) t؜%>u"WN"xsa)pZ"y4 9"y4 9Iͱ&%:-%wsM@5NNpL={*Q9@iyף%MVba(&]%%`UL\ V]t}YO^J&굹ҷ>']d=!Jk}L@S*ȅƴ nufq_UZ*{{{{{{{{{{ʳ+ GՖbHRa;47,"r9 ƍ@n,^)hXV?K$({:B]0^%_[+Q(@n)Vba(.t+qadR★48+E.)^ aȦQ6+sJJ*3Ʃ&PԔUT]|(Ճ9p_ӄzU9֚;sbLJuȠx8Y`p1 bLJu@DDNY@*si֖ke:bu1)"a El`.-E٥n`kX]j.[L'U\) ,P.. xؕ9F  ftAj.+sT<lJU2)0X[4. |" Qvi[..A;bT`#bV8Sׄ02+Jbz0ºzQ:Q\A:U)j.Ӭ%>N V"#%lG"DAbb)j0 ^EAa E$Dhr N&%:D ` Y5""I<-Υ M"`9ehEף 1 *9a`a@]KSsCr' = }B*YK}V٥nx[)WDœe\v#qW9xN ͘ ){)81ZtZLSa:SS4P .^ks8/KBN ]$Լl,>'%."R0(+&8/Dq)q%z}*Y%t*st3R,"HD r$"HXS^)Υ e΂ 0H%ZIyġJtCp )0Uk]%W0-Fe%t*% TGbP rs͝[%4'Jbn{QLQdDUkbaHO,ȑ0AZ樺KȮ `aYb HHH!Jb`*"< bP wrsIN4c?Zzs2W)l\J\TӔGש!(,-JZת;M2!XJ)03J7)\#&fb ᡹h HaN 09XPT׾2€U:UQdV F^E p7 +_;bVNsҩ6PItuvQmP fsb JiOV &M|Bq+6248NԔUTt3RRB /u@h7\@0H%ZHD ww&#8bCP<E @ @dQ(SEa#Ȣ,P< $4I8Ȣ,DR(NbiQU8F\+@ v,^*v ;a{KRQ(a5YO+92qb$&#8bCP<\Ғsa;jJ%ҩKt')Zt3R,9ssM@5Nҥ(Nbyeg&Xsj$$M`7X9%wq)^Q9IX1yYɖ8G-<&EEjI7\Qie@qG01# $8/QJ&c\(0 vM5+ E͂hnZjV,^)Xpvk4I8Ȣ,QhD1!L9eg&X5{ Q\OQ9ޘ|k0+ G+928+\-Knh_J*35hnZRq 8G/01a7 ᡹iXJ8xaoVhLr Hj"EhLr Hj"YYɖ9VsmEb(h ypprԓ1S_;L)% m$Ԭ%5{]{RVuLFEq<=5+ Fk+妥a( Ã7Q<9!L"b(h &E, sU򒍹W "H^3ƽFD.5S^VStDhr.oI9&%:,P5`80b; խ@3]W0(I<ġJwCprG"DA<8x(@c9$Dhr 89mV{JkV*U0(I<#&%:%z{"0!q"zMY3kYONpL={B,ȑ0@,4 &9@O&" .wL3\(0@Ks[p*9b) xpsqsZ IPDU6)k,"b9oVoD 8Y`psa浿-k& 8paL@qÀ8E90浿os[RQ5$ħ\,"b)jsJ67-( U&f{pܴ IPD,^*faoV{п$ktQk\",%;m%$ [ <09mV{W0KU8.Y:rQFg;(uZz-&W)ؔ+HDnkE^Ep`QdPԐ oadntCrȠx;/;RQVRLKII0aΪmE10ԓz&,F;hnZRq 8G/Ig p,@c9#OD0G$D b'$ȞMNG/Ig ÃU.ll@G,Fe8y&ڭqs0X HHH KȮQj\lp^s8HBN%0DVY9% 5X9͂ h̳ khh̳ )Qt\8/BԸMTཔufqԑK՜5$ J<` GsJjs4/}VNVFpVQ'|nu6Ę0x ,F9{ VIyYɖ2ĥH]5%`U@#Dќ)A>^a8sBטhdǢb6SrG"DA4/'Q8NJ])kU! b7-{/עhβ1{1 *jh6 6 #24cU.o  #24`7E^Ep H R#e5SSՙRE/VrԐq(h*"1(WkпH'dk4g eewY9slIN4c׹׹¦Y#"a Z]y+V qtՔm{RFQq28ʰTO e{6QVYO)j6SbHRkӔukK;ՖbHRaaR N M{՝mEԐN](Se8,J1^Q%{%=ӵgt[ H@bPZ$$M* l#+b՝ab&ڈ./usr/es/sbin/cluster/events/reconfig_resource_release  e #inorst $AERS_acdfhlpu".=CILMNOPTUgmv-/:DFGH[]bkwy'(),1VYqx{|}&02>BW\!4;KQX*+36?57jz9@8~%<^x B@ y$"L0LbMH7YRUFYnjVڜqЬ]qk5#8$3`P@`H࡞{,v+NwKXg y$"L0$Sÿ?L$L @8y$ʞV!NԎu+Te\mmə aKs 5B()L*PRJ¬ƴ (&歧;fԥ(`( ?ȩ[fNRrjQ^K;~8@b#Ã[T%)QV!:Shf  0(?=t`]Fs3kndƹj\tmmbr԰Nm3T%ShQVeF| SIV-fټtYqHUxG)3sǁ$S(2Ó@beO0;% -PaKStUYnYh;VQ^ӝM[NvͩKF8p8( a@ ȩ<0 ` @.P{{{{{{{{{?Jj+sIiٵ)Eg D/Egš2ͭ1qj+sM[ƣ1lڔlUtsVe[ Yn9FYY?2호ցF?n4 jt?W[sQmIlƿs{{{{{{{{{{?YmhDYFB0}!(qVhStU*PRJ¬ƴ nfJvfTn*{{{{{{{{{y1af)%`m5XD<ˢUhcsKa&jV'R8JRJJ/96izd(޼1Xš0%ss4ۅXV}X0P=Es^rmr-`ZQVMDb"%|ʌxLp);sCa7\Q+Ջڲ.Ԭ%HN0yO;KMK]92ًMMHo+f(JuɆ ӏ2q֛0FU,` MDb"%~2Z bu'{JR3lT-nQ 5HRbX]w0Nٵ)i.0pC tRMR9N,PL9e :vͩKLtم*lԧ\4y$U#NjR^ UƴfIŪ&f_;ԝDW3&[1yyɶzf ҶbXRbnwY)J@T RŘ._97XFUTOR+kKŪ&JL/a1QPkpdl•D]V..5V-Q4Rf(4 gr[3%f3ԧ\ PL4V/a1QPkpf""qqjғ1A*Ū&JLJT'iDم*, 5)Bf+JـNVYgh_YubaJ^M2]6aJq W8)@hPO 3 -n^w0.0qF/3&[1yyɶ[SJ;\\kh_VpkuԈm3Tƽƙ.0FXq Wu t넶s{ sj*fLbmuK 6 f̩8Zܢ^W%G8tم*Vɞ@42_ !dKY8C/;k  )J@̈́,V..4׸B1^K^Í4/Nf$f"+[Y׸q겝..m6.خq;չVK^c3&[1yyɶ*%S9wX DWSMVQ"݌bMNv;S6`)gks3q%‚ZVSfEP P+qDI<x.Lbmg/qV.خen2%}.eX(Rp(0GC8~b^ n PJ U[Su0.JXo&+%2_8w8i0UYn7X3 5w_5S2dKs_3&[1yyɶ*%SvQ[3}X{MVœe(X32eMVS2]5*uUw# wVY-z̙l&׸LG; p>`nr#@!b//^9L7]YFv3ǯՈS59ڌNBLـK0[Qưs WkXcYM@0@Y&H(2ًMd[ظbmʸ;Q`EQy&H(g/N^7x8եwsunqg\={{{{{{{{{1az&‘Y?]%"7MFR mnwI75ne[ rN s>e1q2[hFVOR ;={{{{{{{{{˷k GM"7<TU(L4!N ! A$H&@ppAѸ ]x.H9{Nzw_1&[[^ AZVSR(Ejڌ+q3ʱ pYjUXKQ*ƧJɦgIy{:UI0c 4X)9j:W8Je1qewI75o/96%F;\?n4 xOj 5:}*oUi7W={{{{{{{{{rZQDCFQV\@0ć 8wp-@i acF؁v"8  ;].Hp)ju]juU+nWK-nWK*mjuU'VMWK#74ڝt"J*&S,*1&[B%HA3LXVQOD㊏&I.ֺB71ub^jp0pw &(P颈!nqq\yT(yPDxEVQW7\!1oоv2ZiU+}*I;_]FYmNQDTM6kդ !8=4Cs_@\kƍ Lq  @PD@6ƛ UJ4n,"!dD/qՋ7bXZLT[7wVjq|@C:R&HH D\ibMX-“Mչƚi_ΥTF"y#Ð @q2A 4ڱqqڬKKVQYIqM^4/gRVqe< D\ibMX-“MչƚoqJ6j,[q"-9{{{{{{{{{{PŅlnjVQPkp;fԥ~tVpjBԭb@) zHkf [[M[̻f.5Y QsչFhk{{{{{{{{{va(/q[MEAvRt$8i33h"IH;7 /P 9z&$T L9e% =biH r$II4IS* (Ӏ!#sT@85)&D0z#NJjKVQYInRUJ۞|˶bZesѺ8/~\55ԃ-G֐SfJ'ix {{{{{{{{{]XJ<j+)1TR+3s{22ZZBM*:EzZLWiU"wEZ]rTK4Id $b( 넃te1q2[hF={{{{{{{{{˷k GVvm5)I++ij=ju$S ,HpӀg;&8yPL9e$4XD"9Ñ&XCN̖0^넯k x% Mw^rmEDr "LDKuXD˥"+ IR 5+ GaJjK/)ꗜksI"cUÑ&XNZNsRraC4;ēHr#-uw; I4PHdG ֓\(P*^rm":wL!p#8JwNEDr ;i8Ju**r&8(Hçtq73DCʇyɶ,(*0"SqU% T " s€ "8ה9"oq@gixj\#$iIƚo34npjX4qqjn+ 8M4Jv4M5iFi|^MlhibM7bX,Y /YP"PCTC@h2ȎA! 1"M5x8֔mƛli_ HV4n,".4qqj,ŜU% TqT(yP/96őEEF;¤Jg@B9Rm $0"S(P*^rmh2ȎA!NWkh_㙵'Ջns׸Tf^lԧ\Ag<$Es{ Q>NMcIA"eZf=0b\ʓL5Vqqy'sDCʇyɶ"IA"eCj\%`06qI|@C q'DEՋ5ēHr#.nŸ` !8z#H!jƛ =$p<ʓLEƛlixADyI9*N 3an4׃ZQ85):wA wҍwYՋD~eIA&n{8';fԥeIA&nʗi{ վ_-i!H̕Q ◰דq[Enj:˝jR||hbI9 ۷; ԊH5.ZQU)|nj2$*h$ Hu"H5$ɤUwWl)w^jRtwI75n{ !bI9 F6^""qqjSL0`Fx_UJ*Љ~wI75oR+dRLQPQ,'QZ,оvbFanj'V.bxʼČ%)Mfqqۍ*3@BA 8Y ԓ9Rm q-/g@BAcFʢYx`:䉕M$r$,4 -4`:䉕M$r$,%Wm"LBG@iʗi9NDG<]XYFn*&UYMhD"QdWXwI75o/961XL5kuV!LIEDkjr^ bɒ <b E|)Z XJ=eҪN!JUMElZ(@eҲk(Q\CI+iuYD:^XM3yXHL;9/m5A 8L0`Fx́䃆e5D&)\&3q Z̅EY;0pbwĔTMX,9/m5A yXHTfQQ6 \Vōw`* 3i(m 881;LbJ*&AAXPEzJ W)$a9ىVQQ6Avd_TC$xGUJ_%"+)zՋĭ tV*X{2.^.œe^v n:[uPV4ڪ)ea{oչ2- quXDa !89/m5A`( 8I+@\TfQQ6ƍŊ" \]V)9/o5ZV/VQ)[yɶkZ)bڜ61Ɇ ӃeHpLG$4YAa/Db"g 4/U0īi(m`@Rd*-((f LsSfZLsM" V..,hC* 3i(m 8qPILIEDh(+ IEDi3V$ӀŜxڜ6U  $STTM1ubKa V넮+bƋ;IEDi3V$ӁJ*&I% !$m[7;1*t{.uA&m1%mhX^""Ɇ ӏDy!A3LhA@^2 Eh^)$a9ىVQQ6T[ePP!J65)&D0z#EMA2aC-jSQ(yTy2CEMA2$8yC&xɒ/a1& r$$y1 Ջԧ\9e<EMA0I(H( www|[S2-4n`@5f^ KY.^^u\䊞TNJ kw#+ b՝ab& ./usr/es/sbin/cluster/events/reconfig_resource_release_fencey_r#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/reconfig_resource_release_fence.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/reconfig_resource_release_fence.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: reconfig_resource_release_fence # # # # Description: This script is called when a reconfig # # resource event. It fences out nodes that do # # not access the disk anymore. # # # # Called by: cluster manager # # # # Calls to: # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" DCD="/etc/es/objrepos" SCD="/usr/es/sbin/cluster/etc/objrepos/stage" ACD="/usr/es/sbin/cluster/etc/objrepos/active" set -a eval $(ODMDIR=$ACD cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.4' export EVENT_TYPE=$PROGNAME # Tell other scripts who called them # # Process_Resources for fencing # if ! process_resources "RECONFIG_RESOURCE_RELEASE_FENCE" then STATUS=1 fi exit $STATUS  k~#+HbX՝ab&H./usr/es/sbin/cluster/events/reconfig_topology.rpease_f# @(#)26 1.7 src/43haes/usr/sbin/cluster/events/reconfig_topology.rp, hacmp.pe, 61haes_r714 3/8/06 18:29:36 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/reconfig_topology.rp 1.7 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2006 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ######################################################################## # # This file contains the HACMP/PE recovery program for # reconfig_topology events # # format: # relationship command to run expected status # all "reconfig_topology_start" 0 NULL # barrier # all_activeinactive "/usr/es/sbin/cluster/utilities/cldswap" 0 NULL # barrier # all_activeinactive "reconfig_topology_complete" 0 NULL #  kĴ#+_b՝ab&_./usr/es/sbin/cluster/events/reconfig_topology_complete#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/reconfig_topology_complete.sh 1.4.7.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/reconfig_topology_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: reconfig_topology_complete # # # # Description: This script is called when a reconfig # # topology dare is completed. # # # # Called by: cluster manager # # # # Calls to: # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=${0##*/} PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" OP_SEP="$(cl_get_path -S)" # # this is the working directory for DARE - the location must # match the declaration in the other scripts involved # export TEMPPATH="/var/hacmp/log/HACMP_RESOURCES/" set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [[ $VERBOSE_LOGGING == "high" ]] then set -x version='1.4.7.4' fi . /usr/es/sbin/cluster/etc/ha_odm_constants export EVENT_TYPE=$PROGNAME # Tell other scripts who called them CLUTIL_LOG=$(clodmget -q "name = clutils.log" -n -f value HACMPlogs) if [[ -z $CLUTIL_LOG ]] then CLUTIL_LOG="/var/hacmp/log" fi CLUTIL_LOG="$CLUTIL_LOG/clutils.log" # # This will be the exit status seen by the Cluster Manager. # If STATUS is not 0, the Cluster Manager will enter reconfiguration # All lower-level scripts should pass status back to the caller. # This will allow a Resource Groups to be processed individaully, # independent of the status of another resource group. # STATUS=0 set -u if (( $# != 0 )) then # : No parameters should be passed to this routine # cl_echo 1035 "Usage: $PROGNAME\n" $PROGNAME exit 2 fi if [[ -d $SCD ]] then # : Rename the SCD to the ACD temporarily because : CAA will look for its information in the ACD # if ! mv $ACD $TEMPPATH/ then CMD="mv $ACD $TEMPPATH/" cl_log 701 "NOTE: Received failed return code from command: $CMD\n" $CMD exit 1 fi if ! mv $SCD $ACD then CMD="mv $SCD $ACD" cl_log 701 "NOTE: Received failed return code from command: $CMD\n" $CMD exit 1 fi fi cname=$(clodmget -f name -n HACMPcluster) CAA_node_name=$(cl_nn2hn $LOCALNODENAME) # # CAA was updated with any new and removed adapters during cldare, but # clstrmgr would have ignored any subscription callbacks for new adatpers # because the new config was not in use yet. And clstrmgr has no way to query # the current state, so we send it the current state from lscluster here # # : We only care about newly added interfaces, which we determine by comparing : the incoming config in the SCD wih the current config in the ACD. : At this point in the execution the SCD has been moved to ACD and ACD is : in a temporary location # incoming_ips=$(ODMDIR=$ACD cllsif -i $LOCALNODENAME -SJ "$OP_SEP" | grep -w boot | cut -d"$OP_SEP" -f7) for addr in $incoming_ips do # : Get the interface for this addr in the current config, if it exists # current_ip_ifs=$(ODMDIR=$TEMPPATH/active cllsif -i $LOCALNODENAME -n $addr -SJ "$OP_SEP" |cut -d"$OP_SEP" -f9) if [[ -z $current_ip_ifs ]] then # : IP address \"$addr\" is new - need to update clstrmgr with state : if CAA thinks it is up # incoming_ip_ifs=$(ODMDIR=$ACD cllsif -i $LOCALNODENAME -n $addr -SJ "$OP_SEP" |cut -d"$OP_SEP" -f9) incoming_ip_state=$(lscluster -i | grep -p $CAA_node_name | egrep "Interface number|Interface state" | paste - - | awk '($4 == "'$incoming_ip_ifs'") {print $8}') if [[ $incoming_ip_state == "UP" ]] then # : Address $addr on interface $incoming_ip_ifs is new and UP # cl_hats_adapter $incoming_ip_ifs -e $addr dare fi fi done if [[ -d $TEMPPATH ]] then # : Put all the ODM classes back where they originally were # if ! mv $ACD $SCD then CMD="mv $ACD $SCD" cl_log 701 "NOTE: Received failed return code from command: $CMD\n" $CMD exit 1 fi if ! mv $TEMPPATH/active $ACD then CMD="mv $TEMPPATH/active $ACD" cl_log 701 "NOTE: Received failed return code from command: $CMD\n" $CMD exit 1 fi fi return $STATUS # k #+9 b՝ab&9 ./usr/es/sbin/cluster/events/reconfig_topology_startte#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/reconfig_topology_start.sh 1.21 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/reconfig_topology_start.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: reconfig_topology_start # # # # Description: This script is called when a reconfig # # topology dare is started. # # # # Called by: cluster manager # # # # Calls to: # # # # Arguments: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" set -a eval $(cllsparam -n $LOCALNODENAME) set +a [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.21' export EVENT_TYPE=$PROGNAME # Tell other scripts who called them # # This will be the exit status seen by the Cluster Manager. # If STATUS is not 0, the Cluster Manager will enter reconfiguration # All lower-level scripts should pass status back to the caller. # This will allow a Resource Groups to be processed individaully, # independent of the status of another resource group. # STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u if [ $# -ne 0 ] then cl_echo 1035 "Usage: $PROGNAME\n" $PROGNAME exit 2 fi rm -f /tmp/hacmprd.dswap > /dev/null 2>&1 exit $STATUS 26/ship kV#+b՝ab&./usr/es/sbin/cluster/events/reconfig_udresourcesrtte#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/reconfig_udresources.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2010 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)82 1.1 src/43haes/usr/sbin/cluster/events/reconfig_udresources.sh, hacmp, 61haes_r714 11/28/11 15:25:11 ######################################################################### # # COMPONENT_NAME: EVENTS # # DESCRIPTION: The functions will be used during DARE event to acquire # or release userdefined resources # # USED IN: release_vg_fs.sh,get_disk_vg_fs.sh # node_down_local.sh,node_up_local.sh # node_up_local_complete.sh # # FUNCTIONS: getudrestypes_after # acquire_udresources # release_udresources # ######################################################################### ######################################################################### # # # Name: getudrestypes_after # # # # Description: List the resources types need to be processed # # after the resource type specified by $1 # # # # Called by: acquire_udresources,release_udresources # # # # Calls to: None # # # # Arguments: RESOURCETYPE # # # # Returns: List of userdefined resource types # # # ######################################################################### function getudrestypes_after { typeset PS4_FUNC="getudrestypes_after" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x INPUT_RESTYPE=$1 [[ -z $INPUT_RESTYPE ]] && return RTLIST=$(cludrestype -l -h | awk ' { print $1 }') cludrestype -l -h | awk ' { if ( $1 == RES || "FIRST" == RES ) { start=1; } if ( inudloop == 1 && $2 == "STANDARD_RESOURCE" ) { start=0; exit; } if ( start == 1 && $2 != "STANDARD_RESOURCE" ) { print $1; inudloop=1;} } ' start=0 inudloop=0 RES=$INPUT_RESTYPE } ######################################################################### # # # Name: acquire_udresources # # # # Description: acquires Userdefined resources found # # after the type specified by $1 # # # # Called by: get_disk_vg_fs.sh,node_up_local.sh # # node_up_local_complete.sh # # # # Calls to: getudrestypes_after,clcallev # # # # Arguments: AFTER_ # # # # Returns: 0-Success, 2 failure # # # ######################################################################### function acquire_udresources { typeset PS4_FUNC="acquire_udresources" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x REF_RESTYPE=${1##AFTER_} RTLIST=$(getudrestypes_after $REF_RESTYPE) [[ -z $RTLIST ]] && return 0 #for each resource type, process the resources of that type for each_rt in $RTLIST do RES=\$"$each_rt" set +u UDRES_LIST="$(eval echo $RES)" set -u [[ -z $UDRES_LIST ]] && return 0 for each_udr in $UDRES_LIST do : Acquiring userdefined resource $each_udr : done clcallev start_udresource "$UDRES_LIST" RC=$? : exit status of start_server $APPLICATIONS is: $RC if [ $RC -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi done } ######################################################################### # # # Name: release_udresources # # # # Description: releases Userdefined resources found # # before the type specified by $1 # # # # Called by: release_vg_fs.sh,node_down_local.sh # # # # Calls to: getudrestypes_after,clcallev # # # # Arguments: BEFORE_ # # # # Returns: 0-Success, 2 failure # # # ######################################################################### function release_udresources { typeset PS4_FUNC="release_udresources" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x #get the resource type REF_RESTYPE=${1##BEFORE_} #find the resourcetypes need to be processed after # resource type spefified by REF_RESTYPE RTLIST=$(getudrestypes_after $REF_RESTYPE) # Resources need to be released in revers order TMPLIST="" while [[ -n "$RTLIST" ]] ; do print $RTLIST | read first_one RTLIST TMPLIST=$first_one${TMPLIST:+" "$TMPLIST} done RTLIST="${TMPLIST}" # reversed order now [[ -z $RTLIST ]] && return 0 #for each resource type, process the resources of the type for each_rt in $RTLIST do RES=\$"$each_rt" set +u UDRES_LIST="$(eval echo $RES)" set -u [[ -z $UDRES_LIST ]] && return 0 #reverse the resources list TMPLIST="" while [[ -n "$UDRES_LIST" ]] ; do print $UDRES_LIST | read first_one UDRES_LIST TMPLIST=$first_one${TMPLIST:+" "$TMPLIST} done UDRES_LIST="${TMPLIST}" # reversed order now for each_udr in $UDRES_LIST do : Releasing userdefined resource $each_udr done clcallev stop_udresource "$UDRES_LIST" RC=$? : exit status of start_server $APPLICATIONS is: $RC if [ $RC -ne 0 -a $STATUS -eq 0 ] ; then STATUS=2 fi done }  k#+@b՝ab&./usr/es/sbin/cluster/events/release_aconn_rsce@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/release_aconn_rs.sh 1.14 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)94 1.14 src/43haes/usr/sbin/cluster/events/release_aconn_rs.sh, hacmp.events, 61haes_r714 1/6/09 06:08:09 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: release_aconn_rs # # # # Description: This script is called to stop the AIX # # Conenctions realm/service pairs when the local # # node goes down or a remote down comes up. # # # # Called by: node_down_local # # node_up_remote # # Calls to: None # # Arguments: None # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.14' HA_DIR="$(cl_get_path)" STATUS=0 # Usage: release_aconn_rs [realm/service...] PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TNETDIR=/etc/totalnet if [ ! -d "${TNETDIR}" ] ; then echo "No ${TNETDIR} directory found." exit 0 fi if [ -f ${TNETDIR}/TNHOME ] ; then TNHOME=$(cat ${TNETDIR}/TNHOME) else TNHOME=/usr/tn if [ -d "${TNHOME}" ] ; then TNHOME=/usr/tn else echo "No ${TNHOME} directory found." exit 0 fi fi REALMS="" # update resource manager with this action ALLACONNRS="All_aconn_rs" cl_RMupdate resource_releasing $ALLACONNRS $PROGNAME for rs in $* do realm=$(echo $rs | cut -d'/' -f1) service=$(echo $rs | cut -d'/' -f2 | sed s/%/:/) cltime $TNHOME/tnshut -r $realm -s $service RC=$? : exit status for $TNHOME/tnshut -r $realm -s $service is: $RC cltime # update resource manager with results if [ $RC -ne 0 ]; then cl_RMupdate resource_error $rs $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 else STATUS=1 fi fi REALMS="$REALMS $(echo $rs | cut -d'/' -f1)" done # update resource manager with results ALLNOERRACONNRS="All_nonerror_aconn_rs" cl_RMupdate resource_down $ALLNOERRACONNRS $PROGNAME REALMS=$(echo $REALMS | awk '{for (i=1;i<=NF;i++) print $i}' | sort | uniq) for realm in $REALMS do echo "Checking realm $realm" ACTIVE_SERVICES=$(LC_ALL=C $TNHOME/tnstat -r $realm | grep "new connects" | awk '{ print $1 }') if [ -n "$ACTIVE_SERVICES" ] then echo "Realm $realm has active service - $ACTIVE_SERVICES" else echo "Shutting down realm $realm" cltime $TNHOME/tnshut -r $realm : exit status for $TNHOME/tnshut -r $realm is: $? cltime transport=$($TNHOME/tnrealm -R -r $realm -a transport | cut -d= -f2) case $transport in "altnb" ) echo "Stopping NetBIOS" #save WINS & NIP-cache data cltime /usr/bin/nbix nip save /tmp/hacmp.nip 1>/dev/null 2>&1 : exit status for /usr/bin/nbix nip save is: $? cltime /usr/bin/winsadm backup /tmp/hacmp.wins 1>/dev/null 2>&1 : exit status for /usr/bin/winsadm backup /tmp/hacmp.wins is: $? cltime /etc/mcs0 stop #also kills WINS & RFCM daemons : exit status for /etc/mcs0 stop is: $? cltime ;; "tnipx" ) echo "Stopping IPX/SPX" cltime $TNHOME/IPXd -k : exit status for $TNHOME/IPXd -k is: $? cltime ;; "tnatk" ) echo "Stopping AppleTalk" cltime $TNHOME/ATKd -k : exit status for $TNHOME/ATKd -k is: $? cltime ;; esac fi done ACONN_ACTIVE=$(LC_ALL=C $TNHOME/tnstat | grep "new connects" | awk '{ print $1 }') if [ ! -n "$ACONN_ACTIVE" ] then cltime $TNHOME/tnshut : exit status for $TNHOME/tnshut cltime fi exit $STATUS  kꂦ#+b՝ab&./usr/es/sbin/cluster/events/release_service_addrrtte#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/release_service_addr.sh 1.44 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/release_service_addr.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Name: release_service_addr # # Description: This script is called when the local node leaves the # cluster or a remote node with higher priority joins the # cluster and does the initial processing for releasing # any service IP addresses. # # Arguments: service_address # # Returns: 0 success # 1 fatal error # 2 bad argument # 11 recoverable error # ######################################################################### ######################################################################### # # Name: get_list_head and get_list_tail # # Description: utility functions to pull items from the head or tail # of a colon delimited list # # Inputs: the list to work on # # # Outputs: head or tail list of items # # Returns: none # ######################################################################### function get_list_head { echo $* | cut -f 1 -d : | sed 's/,/ /g' |read LIST print $LIST } function get_list_tail { case $* in *:* ) echo $* | cut -f 2- -d : |read LIST print $LIST return ;; * ) echo "" ;; esac } ######################################################################### # # MAIN Main main # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" OP_SEP="$(cl_get_path -S)" [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x version='1.44' } STATUS=0 PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true _IP_LABELS=$IP_LABELS else if (( $# == 0 )) then cl_echo 1028 "Usage: $PROGNAME service_address...\n" $PROGNAME exit 2 fi export RESOURCE_GROUPS=$GROUPNAME fi # save NSORDER then Change NSORDER to local saveNSORDER=${NSORDER:-UNDEFINED} NSORDER=local; export NSORDER # go through all resource groups # for serial groups, this will be once only for GROUPNAME in $RESOURCE_GROUPS ; do export GROUPNAME if [[ $PROC_RES == true ]]; then get_list_head $IP_LABELS | read SERVICELABELS get_list_tail $IP_LABELS | read IP_LABELS else SERVICELABELS=$* fi # update the resource manager with this operation cl_RMupdate resource_releasing "All_service_addrs" $PROGNAME for addr in $SERVICELABELS do # # Determine if address is already unconfigured. If not, try to # release it. If hostname or interface not found, clgetif will # print error. If hostname not found fail event. # LC_ALL=C clgetif -a $addr integer return_code=$? if (( $return_code )) then # Only fail the event if hostname not found (return_code = 1) # If interface not found then already unconfigured so drop through if (( $return_code == 1 )) then if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi if [[ $PROC_RES == true ]]; then cl_RMupdate resource_error $addr $PROGNAME STATUS=11 continue else exit 1 fi fi else textual_addr=$(cllsif -J "$OP_SEP" -Sn $addr | cut -d"$OP_SEP" -f7 | uniq) INTERFACE=$(LC_ALL=C clgetif -a $textual_addr) if [[ -z "$INTERFACE" ]] then # # No interface found for the service, shouldn't happen, error. # if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi if [[ $PROC_RES == true ]]; then cl_RMupdate resource_error $addr $PROGNAME STATUS=11 continue else exit 1 fi fi NETMASK=$(LC_ALL=C clgetif -n $textual_addr) NETWORK=$(cllsif -J "$OP_SEP" | \ grep -wF $textual_addr | cut -d"$OP_SEP" -f3 | sort -u) # # Find a boot address on the same network as the service # BOOT=$(cllsif -J "$OP_SEP" -Si $LOCALNODENAME | \ grep "${OP_SEP}boot${OP_SEP}" | cut -d"$OP_SEP" -f3,7 | \ grep ^$NETWORK${OP_SEP} | cut -d"$OP_SEP" -f2 | tail -1) if [[ -z "$BOOT" ]] then # # No corresponding boot found, shouldn't happen, error. # if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi if [[ $PROC_RES == true ]]; then cl_RMupdate resource_error $textual_addr $PROGNAME STATUS=11 continue else exit 1 fi fi # swap service address back to boot address if [[ -n "$INTERFACE" ]] then if [[ $(cllsif -J "$OP_SEP" -Sn $textual_addr | cut -f15 -d"$OP_SEP") == "AF_INET6" ]] then cl_swap_IPv6_address rotating release $INTERFACE $BOOT \ $textual_addr else cl_swap_IP_address rotating release $INTERFACE $BOOT \ $textual_addr $NETMASK fi RC=$? # Check return code if [[ $RC != 0 ]] then if [[ $PROC_RES == true ]]; then if [[ $RC != 11 ]]; then cl_RMupdate resource_error $textual_addr $PROGNAME fi STATUS=11 else STATUS=1 fi fi fi fi done # update the resource manager with the results cl_RMupdate resource_down "All_nonerror_service_addrs" $PROGNAME done #for GROUPNAME in RESOURCE_GROUPS if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi exit $STATUS g k;#+@*b՝ab&@*./usr/es/sbin/cluster/events/release_takeover_addrtte#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/release_takeover_addr.sh 1.4.9.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/release_takeover_addr.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: release_takeover_addr # # # # Description: This script is called if the local node has # # the remote node's service address on its # # standby adapter, and either the remote node # # re-joins the cluster or the local node # # leaves the cluster gracefully. # # # # Called by: node_down_local, node_up_remote # # # # Calls to: cl_swap_IP_address, cl_release_sna_dlc # # # # Arguments: takeover-address... # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ############################################################################### # Name: get_inet_family # # The routines returns the internet family of the given IP label. # # Arguments: IP address # # Returns: unspec: unknown family # inet: AF_INET family (IPv4 IP address) # inet6: AF_INET6 family (IPv6 IP address) # ############################################################################### get_inet_family() { typeset PS4_FUNC="get_inet_family" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x ip_label=$1 inet_family=$(cllsif -J "$OP_SEP" -Sn $ip_label | awk -F"$OP_SEP" '{print $15}') case "$inet_family" in AF_INET) echo "inet" return ;; AF_INET6) echo "inet6" return ;; *) dspmsg scripts.cat 9503 "\n$PROGNAME: ERROR: Invalid address \ family for IP address \"$ip_label\".\n" $PROGNAME $ip_label exit 1 ;; esac } ######################################################################### # # This routine maps a label_address to the internet_textual_address. # Thus, given a label_address, we do not require the name server # to get its corresponding textual address. # name_to_addr () { typeset PS4_FUNC="name_to_addr" echo $(cllsif -J "$OP_SEP" -Sn $1 | cut -d"$OP_SEP" -f7\ | uniq) exit $? } get_list_head() { typeset PS4_FUNC="get_list_head" echo $* | cut -f 1 -d : | sed 's/,/ /g' |read LIST print $LIST } get_list_tail() { typeset PS4_FUNC="get_list_tail" case $* in *:* ) echo $* | cut -f 2- -d : |read LIST print $LIST return ;; * ) echo "" ;; esac } typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='%I%' OP_SEP="$(cl_get_path -S)" STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true _SNA_CONNECTIONS=$COMMUNICATION_LINKS _IP_LABELS=$IP_LABELS else if [ $# -eq 0 ] then cl_echo 1029 "Usage: $PROGNAME takeover-address..\n" $PROGNAME exit 2 fi export RESOURCE_GROUPS=$GROUPNAME fi ######################################################################### # # main routine # ######################################################################### # Change NSORDER saveNSORDER=${NSORDER:-UNDEFINED} NSORDER=local; export NSORDER #set -u # # go through all resource groups # for serial groups, this will be once only for GROUPNAME in $RESOURCE_GROUPS ; do export GROUPNAME if [[ $PROC_RES = true ]]; then get_list_head $IP_LABELS | read SERVICELABELS get_list_tail $IP_LABELS | read IP_LABELS get_list_head $_SNA_CONNECTIONS |read SNA_CONNECTIONS export SNA_CONNECTIONS get_list_tail $_SNA_CONNECTIONS | read _SNA_CONNECTIONS else SERVICELABELS=$* fi # update the resource manager with this operation ALLSRVADDRS="All_service_addrs" if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_releasing $ALLSRVADDRS $PROGNAME \n" else cl_RMupdate resource_releasing $ALLSRVADDRS $PROGNAME fi for addr in $SERVICELABELS do # # Determine if address is already unconfigured. If not, try to # release it. If hostname or interface not found, clgetif will # print error. If hostname not found fail event. # LC_ALL=C clgetif -a $addr return_code=$? if [ $return_code -ne 0 ] then # Only fail the event if hostname not found (return_code = 1) # If interface not found then already unconfigured so drop through if [ $return_code -eq 1 ] then if [[ $PROC_RES = true ]]; then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_error $addr $PROGNAME \n" else cl_RMupdate resource_error $addr $PROGNAME fi STATUS=11 continue else # If interface not found error comes (rc=3), then it means # and address was not configure on interface, so during clstop # we just need to ignore that if [[ $return_code == 3 ]] then exit 0 else exit 1 fi fi fi else STBY_IP_ADDR="" addr_textual_addr=$(name_to_addr $addr) # # Get the standby interface to which the remote service address is mapped. # STBY_INTERFACE=$(LC_ALL=C clgetif -a $addr_textual_addr) if [ "$STBY_INTERFACE" = "" ] then cl_echo 318 "No service address $addr was taken by this node." $addr continue fi # Release SNA resources if part of resource group # if [[ $PROC_RES = false ]]; then set -a eval $(clsetenvres $GROUPNAME $PROGNAME) set +a fi # Before we release or acquire any SNA links, we must first # filter out the WAN communications links list. We only need # to call cl_release_sna_dlc or cl_acquire_sna_dlc for # SNA over LAN type links. SNA_LAN_LINKS="" for link in $SNA_CONNECTIONS do LINKTYPE=$(cllscommlinks -C -t All \ | awk -F: '($1 == "'$link'") {print $2}') if [[ $LINKTYPE = "snalan" ]]; then SNA_LAN_LINKS="$SNA_LAN_LINKS $link" fi done SNA_CONNECTIONS=$SNA_LAN_LINKS if [[ -n "$SNA_CONNECTIONS" ]] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_release_sna_dlc $STBY_INTERFACE \n" else # cl_release_sna_dlc checks to make sure interface is SNA cl_release_sna_dlc $STBY_INTERFACE fi fi if [ $? -ne 0 ] then cl_echo 4170 "$PROGNAME: Failure occurred while releasing SNA DLC profiles.\nManual intervention required.\n" $PROGNAME if [[ $PROC_RES = true ]]; then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_error $addr $PROGNAME \n" else cl_RMupdate resource_error $addr $PROGNAME fi STATUS=11 continue else STATUS=1 fi fi # # Get the netmask for invocation of swap_IP_address # NETMASK=$(LC_ALL=C clgetif -n $addr_textual_addr) # # Reconfigure the standby. # # pass the service as both parameters to cl_swap_IP_address - # it will discover the standby address to put back on the intf STBY_IP_ADDR=$addr_textual_addr if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_swap_IP_address cascading release $STBY_INTERFACE $STBY_IP_ADDR $addr_textual_addr $NETMASK \n" else INET_FAMILY=$(get_inet_family $addr_textual_addr) if [[ "$INET_FAMILY" = "inet6" ]] then cl_swap_IPv6_address cascading release $STBY_INTERFACE \ $STBY_IP_ADDR $addr_textual_addr else cl_swap_IP_address cascading release $STBY_INTERFACE \ $STBY_IP_ADDR $addr_textual_addr $NETMASK fi fi RC=$? # Check return code if [ $RC -ne 0 ] then if [[ $PROC_RES = true ]]; then if [[ $RC != 11 ]]; then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_error $addr $PROGNAME \n" else cl_RMupdate resource_error $addr $PROGNAME fi fi STATUS=11 else STATUS=1 fi fi fi done # update the resource manager with the results ALLNOERRSRV="All_nonerror_service_addrs" if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_down $ALLNOERRSRV $PROGNAME \n" else cl_RMupdate resource_down $ALLNOERRSRV $PROGNAME fi done #for GROUPNAME in RESOURCE_GROUPS if [[ $saveNSORDER != UNDEFINED ]]; then export NSORDER=$saveNSORDER else export NSORDER="" fi exit $STATUS  kv#+(b՝ab&(./usr/es/sbin/cluster/events/release_vg_fser_ad#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/release_vg_fs.sh 1.4.13.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)92 1.4.13.2 src/43haes/usr/sbin/cluster/events/release_vg_fs.sh, hacmp.events, 61haes_r714 10/31/13 10:33:24 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: release_vg_fs # # # # Description: This script varies off volume group(s) and # # unmounts filesystem(s). # # # # Called by: node_down_local, node_up_remote # # # # Calls to: cl_fs2disk, cl_deactivate_fs, cl_deactivate_vgs # # # # Arguments: filesystem(s) volume-group(s) # # oem_filesystem(s) oem_volumegroup(s) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### . /usr/es/sbin/cluster/events/reconfig_udresources PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" [[ $VERBOSE_LOGGING == high ]] && set -x [[ $VERBOSE_LOGGING == high ]] && version='1.4.13.2 $Source: 61haes_r711 43haes/usr/sbin/cluster/events/release_vg_fs.sh 4$' STATUS=0 integer DEF_VARYON_ACTION=0 # RR method said override def varyoff action if [[ $PRINCIPAL_ACTION != "RELEASE" && $AUXILLIARY_ACTION != "RELEASE_SECONDARY" ]] then return 0 fi FILE_SYSTEMS=$1 VOLUME_GROUPS=$2 OEM_FILE_SYSTEMS=$3 OEM_VOLUME_GROUPS=$4 VG_MOD="false" SELECTIVE_FAILOVER="false" integer DEF_VARYOFF_ACTION=0 # RR method said override def varyoff action # : If ALL file systems are specified, find the file systems in the volume : groups for the resource group # if [[ $FILE_SYSTEMS == "ALL" ]] then FILE_SYSTEMS="" if [[ -z $VOLUME_GROUPS ]] then # : If volume groups were not explicitly specified, get them from : the resource group definition # VOLUME_GROUPS=$(clodmget -q "group=$GROUPNAME AND name like '*VOLUME_GROUP'" -f value -n HACMPresource) VG_MOD="true" fi if [[ -n $VOLUME_GROUPS ]] then # : Remove any duplicates that may have crept in # VOLUME_GROUPS=$(print $VOLUME_GROUPS | tr ' ' '\n' | sort -ru) # : Expand the file systems : if this is an rg_move on selective fallover, lsvg -l might not work : so try looking up the LVs in the ODM if the VG is online # if [[ ${RG_MOVE_EVENT:-false} == "true" && ${RG_MOVE_ONLINE:-TMP_ERROR} != "ONLINE" ]] then export SELECTIVE_FAILOVER="true" fi date for VG in $VOLUME_GROUPS do if lsvg -L -o | grep -x $VG then for LV in $(clodmget -q "name = $VG" -f dependency -n CuDep) do LV_type=$(lsattr -E -l $LV -a type -F value) if [[ $LV_type == jfs?(2) ]] then FS=$(clodmget -q "name = $LV and attribute = label" -f value -n CuAt) if [[ -n $FS ]] then FILE_SYSTEMS="${FILE_SYSTEMS} ${FS}" fi fi done fi done fi date # : we modified the VG - set it back now. # if [[ $VG_MOD == "true" ]] then VOLUME_GROUPS="" fi fi # : For OEM Filesystems, check for "Mount All Filesystems" # if [[ -n "$OEM_VOLUME_GROUPS" ]] then # : Remove any duplicates that may have crept in # OEM_VOLUME_GROUPS=$(print $OEM_VOLUME_GROUPS | tr ' ' '\n' | sort -ru) if [[ $OEM_FILE_SYSTEMS == "ALL" ]] then OEM_FILE_SYSTEMS="" for OEM_VG in $OEM_VOLUME_GROUPS do # : Get the filesytems from the VG # if OEM_FS=$(cl_get_oem_filesystems -v $OEM_VG) then # : Add "implicit" OEM Filesystems to "explicit" OEM Filesystem list # OEM_FILE_SYSTEMS="$OEM_FILE_SYSTEMS $OEM_FS" # Create a list of fs to work with else : exit status of cl_get_oem_filesystems -v $OEM_VG is: $? echo "ERROR: Unable to get filesystems for $OEM_VG" STATUS=1 fi done # : remove any duplicates # OEM_FILE_SYSTEMS=$(echo $OEM_FILE_SYSTEMS | tr ' ' '\n' | sort -u) fi fi # : If filesystems are given, figure out associated VGs. # for fs in $FILE_SYSTEMS do vg=$(cl_fs2disk -v $fs) if [[ $EVENT_TYPE == reconfig* ]] then # : If this is a DARE reconfig, only vary off the volume group if the : user did not explicitly define the volume group in the resource : group. # if [[ -n $(odmget -q "group=$GROUPNAME AND name like '*VOLUME_GROUP' AND value=$vg" HACMPresource) ]] then # : The volume group that this filesystem belongs to : is still in the resource group configuration, : so don\'t add this volume group to the list of vg\'s : to be varied off. # continue fi fi # : Append to the previous VG list. # VOLUME_GROUPS="$VOLUME_GROUPS $vg" done # : Take out any duplicate items in FILE_SYSTEMS list and VG list, and sort : these two lists into reverse order to deal with dependent mounts, then : call the individual script to unmount filesystems and varyoff volume : groups. # if [[ -n $FILE_SYSTEMS ]] then # : Remove any duplicates that may have crept in # FILE_SYSTEMS=$(print $FILE_SYSTEMS | tr ' ' '\n' | sort -ru) if ! cl_deactivate_fs $FILE_SYSTEMS then # : update resource manager with the results # STATUS=1 fi else # : this was added because the cl_deactivate_fs is not called for : directories, so directories will not get un-exported. # cl_unexport_fs "$EXPORT_FILESYSTEM" "$EXPORT_FILESYSTEM_V4" fi if [[ -n $OEM_FILE_SYSTEMS ]] then if ! cl_deactivate_fs -c $OEM_FILE_SYSTEMS then STATUS=1; fi fi release_udresources BEFORE_VOLUME_GROUP RC=$? : exit status of release_udresources is: $RC if (( $RC != 0 )) then (( $STATUS == 0 )) && STATUS=1 fi # : clsetrepenv utility sets up the environment for replicated methods. # set -a eval $(clsetrepenv $GROUPNAME) set +a # : Call replicated resource prevg-offline method associated : with any replicated resource defined in the resource group : we arecurrently processing. Note that a return code of 3 from : the prevg-offline method indicates the we should override the : default action. The default action for offline_primary is to : varyoff the VG and the default action for offline_secondary : is to NOT varyoff the VG # METHODS=$(cl_rrmethods2call prevg_offline) SKIPVARYOFF=0 for method in $METHODS do if [[ -x $method ]] then $method $VOLUME_GROUPS RC=$? : exit status of $method $VOLUME_GROUPS is: $RC case $RC in 0) continue ;; 3) DEF_VARYOFF_ACTION=1 ;; *) exit 1 ;; esac fi done if [[ $PRINCIPAL_ACTION == "RELEASE" ]] then # : This is an offline_primary case so an override : from the RR method means we skip the varyoff : since the default action is to varyoff # SKIPVARYOFF=0 if (( $DEF_VARYOFF_ACTION == 1 )) then SKIPVARYOFF=1 fi else # : This is the offline_secondary case so an override : from the RR method means we do the varyoff : since the default action is to NOT varyoff # SKIPVARYOFF=1 if (( $DEF_VARYOFF_ACTION == 1 )) then SKIPVARYOFF=0 fi fi if [[ -n "$VOLUME_GROUPS" ]] then # : Remove any duplicates that may have crept in # VOLUME_GROUPS=$(print $VOLUME_GROUPS | tr ' ' '\n' | sort -ru) if (( $SKIPVARYOFF == 0 )) then if ! cl_deactivate_vgs $VOLUME_GROUPS then STATUS=1 fi fi fi # : Determine list of "implicit OEM Volume Groups" if OEM Filesystems configured # for OEM_FS in $OEM_FILE_SYSTEMS do if [[ $OEM_FS != "ALL" ]] then OEM_FS_TYPE=$(cl_get_oem_type -f $OEM_FS); if [[ -z $OEM_FS_TYPE ]] then echo "ERROR: Unable to get OEM Type for filesystem $OEM_FS" STATUS=1 fi OEM_METHOD_FS2VG=$(cl_get_oem_method -t $OEM_FS_TYPE -m LSVOLUMES); if [[ -z $OEM_METHOD_FS2VG ]] then echo "ERROR: Unable to get OEM Method to list host volume groups for filesystem $OEM_FS" STATUS=1 fi IMPLICIT_OEM_VOLUME_GROUP=$($OEM_METHOD_FS2VG $OEM_FS); if [[ -z $IMPLICIT_OEM_VOLUME_GROUP ]] then echo "ERROR: Unable to get OEM host volume groups for filesystem $OEM_FS" STATUS=1 fi OEM_VOLUME_GROUPS="$OEM_VOLUME_GROUPS $IMPLICIT_OEM_VOLUME_GROUP" # : Remove any duplicates that may have crept in # OEM_VOLUME_GROUPS=$(print $OEM_VOLUME_GROUPS | tr ' ' '\n' | sort -ru) fi done if [[ -n $OEM_VOLUME_GROUPS ]] then if ! cl_deactivate_vgs -c $OEM_VOLUME_GROUPS then STATUS=1 fi fi # : clsetrepenv utility sets up the environment for replicated methods. # set -a eval $(clsetrepenv $GROUPNAME) set +a # : Call replicated resource postvg-offline method associated : with any replicated resource defined in the resource group : we arecurrently processing. # METHODS=$(cl_rrmethods2call postvg_offline) for method in $METHODS do if [[ -x $method ]] then if ! $method $VOLUME_GROUPS then exit 1 fi fi done exit $STATUS l_de k\#+,b՝ab&,./usr/es/sbin/cluster/events/rep_disk_notify_ad#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rep_disk_notify.sh 1.10 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2011,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)20 1.10 src/43haes/usr/sbin/cluster/events/rep_disk_notify.sh, hacmp, 61haes_r714, 1445A_hacmp714 8/20/14 14:21:39 ######################################################################### # # # Name: rep_disk_notify # # # # Description: When the cluster has lost access to the # # repository disk, script is called to display # # the message periodically. # # # # Called by: clevmgrd # # # # Calls to: lscluster # # # # Arguments: the failed disk name # # the node which noticed the failure. # # # # Returns: exits on signal or when repos disk state # # shows as UP # # # ######################################################################### ######################################################################### # # # Name: check_repos_state # # # # Description: Check the repository state # # # # Called by: main() and the signal handler # # # # Calls to: lscluster # # # # Returns: REPOS_STATE_UP if up # # REPOS_STATE_DOWN if down # # REPOS_STATE_ERROR if unknown / error occured # # # ######################################################################### check_repos_state() { [[ "$VERBOSE_LOGGING" == "high" ]] && set -x typeset PS4_FUNC="check_repos_state" TIMESTR=$(date) # # check the repos state on the event node # REPQUERY=$(LC_ALL=C cl_rsh $NODENAME /usr/sbin/lscluster -d $REPDISK 2>&1) typeset -i rc=$? if (( $rc != 0 )) then # # give one more try # sleep 5 TIMESTR=$(date) REPQUERY=$(LC_ALL=C cl_rsh $NODENAME /usr/sbin/lscluster -d $REPDISK 2>&1) rc=$? if (( $rc != 0 )) then # # tried twice to query - there is no point in # continuing the notification process because we cannot # determine the state # MSG=$(dspmsg -s 32 scripts.cat 11 "$PROGNAME: $TIMESTR : Unable to determine repository disk state.\n\ Please check CAA cluster status to verify repository disk state.\n" $PROGNAME "$TIMESTR") rc=$REPOS_STATE_ERROR fi fi if (( $rc == 0 )) then # # lscluster succeeded, now see what it says about this disk # REPSTATE=$(echo "$REPQUERY" | grep -w "State :" | awk '{print $3}') if [[ -z "$REPSTATE" || ($REPSTATE != "UP" && $REPSTATE != "DOWN") ]] then # # could not determine the state from the data returned # MSG=$(dspmsg -s 32 scripts.cat 11 "$PROGNAME: $TIMESTR : Unable to determine repository disk state.\n\ Please check CAA cluster status to verify repository disk state.\n" $PROGNAME "$TIMESTR") rc=$REPOS_STATE_ERROR elif [[ $REPSTATE == "DOWN" ]] then # # repos down # MSG=$(dspmsg -s 32 scripts.cat 9 "ERROR: $PROGNAME : $TIMESTR : Node $NODENAME on Cluster $CLUSTER has lost access to repository disk $REPDISK.\nPlease recover from this error or replace the repository disk using smitty." $PROGNAME "$TIMESTR" $NODENAME $CLUSTER $REPDISK) rc=$REPOS_STATE_DOWN else # # if here, repository is up # MSG=$(dspmsg -s 32 scripts.cat 10 "$PROGNAME: $TIMESTR : Access to repository disk has been restored on Node $NODENAME" $PROGNAME "$TIMESTR" $NODENAME) rc=$REPOS_STATE_UP fi fi # # print the message and exit # echo $MSG echo $MSG >>/dev/console echo $MSG >>$LOG return $rc } ######################################################################### # # # Name: sigquit_handler # # # # Description: signal handler # # # # Returns: exits on signal or when repos disk state # # shows as UP # # # ######################################################################### sigquit_handler () { [[ "$VERBOSE_LOGGING" == "high" ]] && set -x typeset PS4_FUNC="sigquit_handler" # # check one last time, igonring the return # check_repos_state # # even if we get here, we are a signal handler, and we do have to # exit 0 } ######################################################################### # # # Name: repository_down # # # # Description: Called for respository down notification, this # # function loops, checking the repos state, until # # the repos is found to be up # # # # Called by: main() # # # # Returns: 0 if repos up, non 0 on error # # # ######################################################################### repository_down() { # # sleep 30 seconds at a time, doubling each threshold, to # a maximum of one hour # typeset -i sleep_time=30 typeset -i threshold=5 typeset -i max_sleep=3600 typeset -i loop_cnt typeset -i state # # infinite loop - exit on repos up or signal # for (( loop_cnt=1 ; ; loop_cnt++ )) do # # check the state # check_repos_state state=$? if (( state == REPOS_STATE_ERROR )) then # fatal error, cannot continue exit -1 elif (( state == REPOS_STATE_UP )) then # repos up - all done exit 0 fi # # if here, state is REPOS_STATE_DOWN - continue to loop # # # Use a slowly increasing wait time # if (( $loop_cnt % $threshold == 0 )) then # # adjust threshold # let threshold=$(( $threshold + $threshold/2 )) # # Every $threshold cycles through the notification loop, # the sleep time is increased by half, up to a maxium of # $max_sleep seconds # let sleep_time=$(( $sleep_time + $sleep_time/2 )) let sleep_time=$(( $sleep_time < $max_sleep ? $sleep_time : $max_sleep )) fi # # do the actual sleep # sleep $sleep_time done } ######################################################################### # # # Name: repository_up # # # # Description: Called for respository up notifications, this # # function prints a message and returns. # # # # Called by: main() # # # # Returns: 0 # # # ######################################################################### repository_up() { TIMESTR=$(date) MSG=$(dspmsg -s 32 scripts.cat 10 "$PROGNAME: $TIMESTR : Access to repository disk has been restored on Node $NODENAME" $PROGNAME "$TIMESTR" $NODENAME) echo $MSG echo $MSG >>/dev/console echo $MSG >>$LOG return 0 } ######################################################################### # : Main Starts Here # ######################################################################### VERBOSE_LOGGING=${VERBOSE_LOGGING:-"low"} [[ "$VERBOSE_LOGGING" == "high" ]] && set -x [[ "$VERBOSE_LOGGING" == "high" ]] && version='1.10' # # register the signal handler # trap sigquit_handler INT PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" export LOCAL_NODE=$(/usr/es/sbin/cluster/utilities/get_local_nodename) REPDISK=$1 NODEUID=$2 # not used NODENUM=$3 UPORDOWN=$4 export REPDISK NODENUM UPORDOWN # # return codes for check_repos_state # export REPOS_STATE_UP=0 export REPOS_STATE_DOWN=1 export REPOS_STATE_ERROR=2 set -u CLUSTER=$(cllsclstr -c | grep -v "#cid:cname" | cut -d ':' -f2) export CLUSTER # # find log directory # LOG_DIRECTORY=$(clodmget -n -q "name=hacmp.out" -f value HACMPlogs) if [[ -z $LOG_DIRECTORY ]] then LOG=/var/hacmp/log/hacmp.out else LOG=$LOG_DIRECTORY/hacmp.out fi export LOG # # convert node number to name # NODENAME=$(clodmget -q "node_id = $NODENUM and object=COMMUNICATION_PATH" -f name -n HACMPnode ) export NODENAME # # run the appropriate subroutine # case $UPORDOWN in REP_UP ) repository_up exit $? ;; REP_DOWN ) repository_down exit $? ;; * ) echo "$PROGNAME: An internal error occured." dspmsg -s 56 cluster_hlp.msg 54 "Please report this error and the following information to IBM support." echo "$*" ;; esac # should never get here exit 1; types l=#+Pb՝ab&n./usr/es/sbin/cluster/events/resource_addfy_ad   "#=E_enrt$ACLNORSadiopsDGIMPTV[\]cfglmuy{}().BHUhw,-/012:?FKYbkvx&*;>W!%'+Xq47Z389@JQjz|65<"؀yP5DLTd(ZSxC0z1vKv X+K-z/fK2T3t=Z3f _ @/. ,X"q!=AJ8$w205sK1L **N'(bibt$q6@-'@Y"@|ŌS6n(bq*L@-'@Y"G -cdibt$ ,X w5K2#ȍ{S,-ke,;@ 2m0b{S@h{=!QCl(]51c1c1c1c1c$F)FURf@(L"J Tfc1c1c1c1c1bȋJI'PIPVp3XXBwQ5w5K2#ȍ{S,-ke,;@ 2m0b{S@h{=!QCl(]5L(+>1BrQD~)gUčF~ɖ])I!"0RpH$#Y(jڳֱe5€($0Zv֮B_`l!Lӻ=]5g^RҤأ}#KSX.&brvע0L%;SeYkCԍ@6 JM =! | ;9F Rc=%O@pҘ&߂@+z"q\ H }" ` }v]@ŴȋJI'hDX`hnTE;(ÝY.bՙv:߼@P[owsp1r%7,mT {B!B!B!B!B!B!B!B!B!B :K/LKMzb]t14lj3P_q;vZ)B.u>&m'j-vn/, X32e**L̷z Zvۡg[1jwZ2-޽ 1Z.)bs`]jѾ Z;C1e:p.zjg'j-zk:Y na*W6*QZ3^ _bWZ:.`SZzijmBlb{P,})Rv*ы:be5e7z[ab֢˙סF+E)jl7՝hXckdn\wɳVcEi2՘ZѶ+M],/wڳ ۻ=)f ݆k{лW t J\Ū/zY2-&wl lEf'F(`c96j`cBakuf`R7ڗ1j~Uv zwZ)j:}Yɖ0`AЄ!B!B!B!B!B!B!B!B!B!A Tf ̙c ޖ(hiǢ,5D,Yҷ߼~]`s-Q_+Ѹ921fe7Kf67BaL I/zg)RhdG $H/$H!JrH|PR(8HFƧ$*@ 78 D~$*@ Ƨ$*@ |ۿ$*@ Ƨ$*@ ULLn342J'342HSn342J'342JSn342J'342HM$*@ Ƨ$*@ ULLn342J'342JI T%NI T$sn(ÿ0٭Ew֎ T,/@\!j,w֎(ÝL(+AI:SJ@LLL*^+:MvhVo&w{6.emlo9F Rjvr*)\Ä)1kRjZ3^&Ʋ#Keи-fmՕb_x@-~MvhVoTZagZvX]eݜAkezudD000@6{19iI$r"fzeםY^f{ۺ0N;(+n\xX^BX"S ۺ0!5CBJ)W\U0EE8 -KuezgUawFQ;dF)eXf^a}R)4=螐Zk .] n\|c$.ֹrMP3oMгtw̵F| Ɣ&i&&Q;ZtcJR4%bw̵F| cT&m'j-vn/, X32e**L̷z Zvۡg[1jwZ) Q/֗fMzb\3S."͂!M\@ A*N3^ԹU.WFVr-q [XfY2*N3]kޅڻ}ڋ^BvmK`SaaF./K`Z\EB X zڋ^b`YNK`Saz֦kQeУ^6ɋbt?bŃ1e5,#02lջ;p.uj̵f2ma,f06q d٫wwa^.CR1j g`q uYGMf؊&NPbrlջ;pCӸ,"t@o.bբᎃB!B!B!B!B!B!B!B!B!B;viql(hiǢ,5D,Yҷ߼~]`s-Q_."͂-/0s-Q_1uaH`JNw205sVfrm:R(ͺ,#\,"˿)!Z\ErD~F'"-)$DXlÏ@`ٰ5dF."͂9եYGA"0R0j)ӿzT6:6]7՛ lEMv.\ rՐ)ITR([S&b֥o,fL1j7dF?TwqZۭ."͂ \ bkZ\Eq4+ K`U|($͑~"bj]kMbŌEEέ."͂/sF'"-)$DXlÏ@`٬."͂9fK`ֹp1A[wZ;PVֹQ U\,,!JDX TE6 pJ/",6aǠ0lסj^."͂9եYE(ÿͻw5K2#ȍ{S,-ke,;@ 2m0b{S@h{=!QCl(]5ֹQ I0%,,/@]s !%Ug-֗fnw 7O=iqlj(wֽ]g'j-zl֎jV9iI$M!*ɘ[K-vj ZcY2\c6K`Vz,#T&F(f}B](g[lX Ziql1vKv X5~ JLp)Ax9a=fY:,"Y )I5;PVqa)WfPVA>ƠY@$l ws-Q_{ٷ#O",6aǠ0l."͂3ZyƋ0#z׽ws-Q_ -h(Ͱخqfč C8$ $K@\!j,sjdG]YZYbwa{e`"J螐Zk .fwL K^l%H)g)W;`@rU0DURͰ[͆$^E,"qZYs8!*kmRͰ[ƻ/14H+`,qw՘ r"ҒI 9Y BU +lRͰ[͆8 M@tN4Y@ ~ JLp)VLrIX, ޕkJCDEn`8h7 jv͈Pna}ޖ)KRZt -Q|8`зYy"-)$ %P^LrIX, ޕkJCDEn`_y-!D^AQLS3\-!X mH^HRڳAdDZRI2AG+$HJ`m, ޕ,nEH Tp~zŭE3BV׭."͂9h ܁6Eᚡi ~ JLp)6kv*b0wZ\Ebq7r0Hۿ7BjUm JMYAE+p2f-jV-R]kڀ$zDi`LzŬͺ,"/Ւ5."͂8BlbbhQcJg."͂9PI"5~K`f+r9iI$M!*ɘ[K-vj ZcY2\c6K`VHִ6+7 Q.E+ݞ6^A$Nlέ."͂/#9F Rc E1NsjdG]YZYbwa{e`"J螐Zk .],Z\EcZ^t-0@%]W7#)5d;9F RcFɘ[K-vj ZcY2\c6K`VHִ6jdZԭסF+E3{лWX,["8BuNZ֩i~6W2e7z[EDȼ000_,";br"ҒIE8 ˯:,#a:6}.!K=kn' aA[wZD&zIUp*b1Q*\&9(ه^zN6Vf(Ýua1Q U\,/@^rH|PR%5ĢuiqlwF̕s˶WykmyȋJI&ڗ1jo*S{ δ6zb\(-s1c1c1c1c1c1c1c1c1b:K/]y,a΃@1c@CS6+Ub)2-֔] dZ.ˬًSt;SmbɈ-RoZfدj6ɋ˲ pr"fzeי2,t5DXlÏ@`ٗev 2,o( t1c1c1c1c1c1c1c1c1c1Rwa.ɖ0lӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_Nw23NI Tx78 @-'@Y"Ay"@?q Uc1c1c1c1c1c1c1c1c4(ηVjm&XwUvة:ugT&F(1c1c1c1c1c1c1c1c.3%wFȋJI'06k.ɖ0m2-v(E^ȻjrH|PRLL$mNI T5 I Htz$"q!=AJPTՐȋHT "Fߑw8H(*bE:cSDZFߑw8H <NC2D"q!=AJx5DВHT "Fߑw8H*,t54E4h)iH.3EƦI1Ē6yƧ$*@I| ㅦ#oȻjrH|PRA`h8ZiM$ȑ]59$>g)R䠰h-4z"q!=AJ%Exi12 (ZB~ESCz ɨ.J6yƧ$*AC%&,i#oȻjrH|PRzdxTFߑw8H P%1PZbI~ESCz ҘtPpl4#"Fߑw8H*,t)CДAi$mNI Tx6yƧ$*@:G86Gx6yƧ$*@t rjH$mNI T#FLjh@H.3:`$`$>bC4a#oȻjrH|PR%5-%12$ M)2D"q!=AJ@xx1*6yƧ$*AϚ6yƧ$*AϚ *ca~ESCz QI CJjIQǨ:b= LlFߑw8H*6r$Lj%U=#Jc"F̕s˶Wy8"-)$j\ū qM.ɖ0`΃zeם-vleqC'viػ63wfpq Q42Vtgy9_X&Tnڳ-RbKe7KE sF'"-)$DXlÏ@`٬e.͌YkF. [~ENI TH]8H$63"<5LyxiHY.bՙv8߼E${Ks7ÕW)eם-vld(-si,^Yu*N3]eכl^gLp%gJw ~Eunw̵F| ]2-v(NZtU'ȋJI'06k.bڳ-Rb]z?"jrH|PRLL$mSCz Ҙ"jrH|PR PZj $mSCz ɨ.J6dKf]?y9iI$R-\cUJoYuP[AX~άGA Tf˯:3N =a&9fJΕ8 jVeZQ w̵F~N9#O",6aǠ0l]yՕfZȻUb~E8H OH.yƧ$*A@$Z&>J~E8H Tt1cI~E8H%!Jj~E8H R@` ]NI TR0Ač"jrH|PRzS M1č"jrH|PRTL(馔z~E8H 4H.yƧ$*AQcH.yƧ$*A14z)CДAi$m,Yڗ1j̻ew ~Aor"ҒIZʫ޲ά@΃zeםiqltPI݆k."͂9gLp%gJw ~Eunw̵F| ]2-v(NZtU'ȋJI'06k.K`ՙjo"uV/G]59$>g)RdH.38aꃉ~ESCz 5IEFߑw8H  DZ"q!=AJIQdž)RJ&Fߑw8HQAi$mwfJԹVe+c ~M.b8U_d^uYD(-si,^YuoKX1Rwa.حbiǢ,5D,Yҷ߼~]`s-Q_Wj̵K]7./b;br"ҒIE8 ˯6+zXfZȻyXwNI Tx6jrH|PR%5č"3"FߑwNI TI@iH%gj\ū2p1yȋJI&ڗ1jo*Sz˯6+zX9t4/@_jmJl48 Yu, ޕk4id[Aor.M/fZTnzDS19iI$r"fzeכTl7zVa2-v(]^ȻyƧ$*A)SPH.q!=AJI12$m]SCz =Pq#oȻyƧ$*@j+;R-Ylp (-DZRI7ԹW8|9U}]yK6wo6 {:K/]yڍb2dN;u^vl:L0iǢ,5D,Yҷ߼~]`s-Q_Wj̵K]7./b;Zt1SƧ$*@z(>J6j Ƨ$*@z(8Tn5GDSCz 4;Zt?+г 21B fPA` !N Qbř RĢp57(bIDhk7us ʎw[VWfBBFDSCz bd#n ՘.Ƨ$*@j=$RFAfc$q!=AJVH&*Hۿj&,NBQx4Q =t%BSD#4j"g)R )Mh~E59$>g)RjLR$m,Yڗ1j̻ew ~Aor"ҒIZʫ޲m'I& {:K/]yM*YqC'vfn R٧gLp%gJw ~Eunw̵F| ]2-v(NZtU'ȋJI'06k.i`-fZȻyXwNI TPr(,hFߑwNI T 8]SCz 14MEI~E59$>g)R =Af112$m8H 4>a*SB&#oȻyƧ$*@j%U14MI4>a*D"3=SJcHXԘIAH̕s˶Wy8"-)$j\ū qM.i`,9t4/@_YV.͝1Rwa.iՋlӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_Nw̵F| ~cbƀ$Hčv]@ DSCz svkG;br"ҒIE8 ˯5h5bj̵K]7w^ȻֱVY.bՙv8߼E${Ks7ÕW)eך4]vl9t4/@_n 0NaA Tf˯6`6;388Ec+:V3@P[/ˬse7KjYkFp%2^8NDZRI<هYu,`&[VeZQU8H%!Jj~E59$>g)R Hp6jrH|PR hHjrH|PRĉP8H*,t{2VvZ.]@P[owsp1r%7n 0Na΃zeםj;u^wYfz"TM1r̕+{p (-A 25vTأq8jV/H sF'"-)$DXlÏ@`٬Sj̵K]7]z?"jrH|PRx$Hq!=AJ%PPXH]NI TPr(,hFw59$>g)R =AT&a$mSCz ƪƎ$mE8H*91T&a$m,Yڗ1j̻ew ~Aor"ҒIZʫ޲5@΃zeיF Rmn.8 YuQԛf[ z"TM1r̕+{p (-A 25vTأq8jV/H sF'"-)$DXlÏ@`٬(jM-ޅTأ]:"yƧ$*@zh(xF]8H#o.jrH|PR9RFwSCz I,q#oȻq!=AJ% UQi#o3ƎJ6Ȼq!=AJ E4TXȑwSCz SRh(wSCz -$E),H"yƧ$*B@ t9ISPa]8HI#Q 0Pč"yƧ$*B@I]8H :gaF59$>g)R2ID"yƧ$*@4:Jl"F59$>g)RhLRDȻq!=AJE1B=M$m,Yڗ1j̻ew ~Aor"ҒIZʫ޲̣6̷z {:K/]yd-0%*N3]eיfJMb 2Xzfz"TM1r̕+{p (-A 25vTأq8jV/H sF'"-)$DXlÏ@`٬,V Za&K/M2-v(]:.jrH|PRxLR$m]8H"hƞcȻq!=AJTZ12J6.jrH|PRȑwSCz 55ED3 #o"yƧ$*@a"cG0jjM)3=S@ENI T#OPtLh*HȻq!=AJT:SA4$g)Rdj-4$m59$>g)R$I]8H$6.jrH|PR$hA@xHENI Tユ2CH.jrH|PRHprbf&CȻq!=AJ<g)RC@f=4CIRFE8H#o"jrH|PR)Dƒ6"jrH|PR=ATXȑSCz 0% SCz zg)RjLji4"FE8H*9Ahj(hH.yƧ$*A6.yƧ$*@xCԑD.yƧ$*A$ HprbISCz QI g)R B`HtǤ*BI~ENI T*ƎD+;R-Ylp (-DZRI7ԹW8|9U}]y`&MŨN3P΃zeךj^&eqC'vz5JJ3wfpq Q42Vtgy9_X&NDZRI<هYuWIȻ3$6q!=AJ@8Z"I~E8H*x6q!=AJaU$mSCz ,Pq#oȻ3i$$YH.yƧ$*AFߑw59$>g)R Li#oȻ3GFߑw59$>g)RGIBFߑw59$>g)RdH.yƧ$*AY(,I~E8H =CFH6dKf]?y9iI$R-\cUJoYuWI {:K/]yUlA(b5]yUlAz"TM1r̕+{p (-A 25vTأq8jV/H sF'"-)$DXlÏ@`٬n4؃7ڳ-Rb]z?"jrH|PRT4p$mSCz 2C#oȻ3BbHY.bՙv8߼E${Ks7ÕW)eכuYP[AX~̽. ;u^eqW;388Ec+:V3@P[/ˬse7KjYkFp%2^8NDZRI<هYu^e}2-v(Ez?"yƧ$*@pg)R$*H.jrH|PRLL$m59$>g)R HrFߑwSCz 8X&8]8H*zH%gj\ū2p1yȋJI&ڗ1jo*Sz˯2+t %.,XAba݂*N3]eיE,L#;^;388Ec+:V3@P[/ˬse7KjYkFp%2^8NDZRI<هYuQbł TأyΪ3|P]8H M!č"yƧ$*@I H.jrH|PR`ف28]8H&#oȻq!=AJ- $m,Yڗ1j̻ew ~Aor"ҒIZʫ޲̢ŋ&/Kt %..Sn R΃;u^eYKlӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_NwE$ȋ q 5^eYKm2-v(E^ȻjrH|PR0ZS#oȻjrH|PRJj $mNI TibR$mNI T0t䍿"q!=AJUTf4USPI#oȻjrH|PRFߑw8H*tH.3QQiH.3!IQǤ4USPI#oȻjrH|PR$ ƎSVRHY.bՙv8߼E${Ks7ÕW)eיejm*X(-si,^YuYu2RtPI݆k,Lf)[z"TM1r̕+{p (-A 25vTأq8NDZRI<هYuYu2Rڳ-Rb]59$>g)R AQRFߑw8HHLĤH.3I~ESCz z~ESCz  y#oȻjrH|PRU=U@H.38%gj\ū2p1yȋJI&ڗ1jo*Sz˯2ˬɖbP[AX~t*N3]eיlӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_NwE$ȋ q 5^fTأy^Ȼ3$a!)Q0񤍿"jrH|PR$mSCz =Qɩ)URFߑw59$>g)R-)TrjJgT]NI T:@G&112$mSCz z(bbe4HT~E8HTrjJrIG M"Fߑw59$>g)RhrIG M"Fߑw59$>g)R HPG($mSCz xx$8ZD"jrH|PR(xI~E8H PX6q!=AJg)RH.yƧ$*B@ h-4~E8H" $mSCz bH.yƧ$*AI LtbH.yƧ$*AT$=6q!=AJx4hLLP$mSCz z(LH.yƧ$*@If99'#oȻ3fg)ROUP%56q!=AJ@8Ji4M H]NI T袘1fq #owfJԹVe+c ~M.b8U_d^f: ^elɆ1Rwa.ٓ fz"TM1r̕+{p (-A 25vTأq8jV/H sF'"-)$DXlÏ@`٬+fL5fZȻyXwNI TU0(xFߑwNI T$"3ČG(xcH.q!=AJVJ*H.q!=AJg)RdH.q!=AJg)ROPrRP]8H8rCIRFߑwSCz $m59$>g)R1& ~̕s˶Wy8"-)$j\ū qM.ۻ6X&ٖBAosCIb˯2Zm,ŝ1Rwa.˱k3i;388Ec+:V3@P[/ˬse7KjYkFp%2^8NDZRI<هYu]YMՙjo"uV/G]59$>g)Rj*:bE$mNI TA4HAč+;R-Ylp (-DZRI7ԹW8|9U}]ybfif,9t4/@_.ŬͦV̘iqC'v̻6[2aӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_NwE$ȋ q 5^eصٓ mYkF.yXw59$>g)RdH.yƧ$*@bbdH.yƧ$*AI ($mSCz g)R䐔Ԙ$"jrH|PRQI 6q!=AJMDLpLg)R D+1I0č"jrH|PR x6q!=AJI12$mSCz $mSCz iL9Y8]NI Tr-Pq#oȻ3PXhx*H.yƧ$*AI*IF̕s˶Wy8"-)$j\ū qM.˱k3i& {:K/]y%JqC'v΁*VgLp%gJw ~Eunw̵F| ]2-v(NZtU'ȋJI'06k.ofZȻyXwNI T4Z2$m8H (,hiHY.bՙv8߼E${Ks7ÕW)eםT‚: ^bɺ(b5]y'wfpq Q42Vtgy9_X&Tnڳ-RbKe7KX"p)Ax9a=f@=2-v(EΪjrH|PR $6jrH|PRA06jrH|PR$O6jrH|PRLL$mE59$>g)R %IwNI T@06jrH|PRՒH$m8H =U@H;%gj\ū2p1yȋJI&ڗ1jo*Sz˯1‚AX~άtPI݆k!%N =a&9fJΕ8 jVeZQ w̵F~N9#O",6aǠ0l]yՐVeZQU8H2I$m8H)!a$m8H)!&H$m8H%&$H.q!=AJz)$wfJԹVe+c ~M.b8U_d^ud$P[AX~̛+(b5]ye|ӿ3DXj8Yoc;y"7;Ztՙjn']s-Q_NwE$ȋ q 5^d_j̵K]7wz?"3e12TZH.q!=AJLhcFc$0]SCz H.q!=AJLhcFcCwNI TcG z34%gj\ū2p1yȋJI&ڗ1jo*Sz˯2l: ^aL48 YuXDYgLp%gJw ~Eunw̵F| ]2-v(NZtU'ȋJI'06k. kj̵K]7wΪdKf]?y9iI$R-\cUJoYuXDAAosi,^YuXDSj̔`1Rwa. jmYiǢ,5D,Yҷ߼~]`s-Q_Wj̵K]7./b;br"ҒIE8 ˯0&VdfZuV/GSCz!$ FS =pxFE8HM񒘥H.yƧ$*AI DZ%SQ *H.yƧ$*AQɨxM#HSCz :C$Hq!=AJz:hㅦ#o.yƧ$*@4f2CHȻ3L %h#O8ъU#x$AN]*/_aqFF1c1c1c1c1c1c1c1c1bblF/%0Ta+7ڀ$E3~u]t5wbJ`$vq kn-eNɲ\\)hdB׽1v_bdWl1Ќc1c1c1c1c1c1c1c1c‚( wghIUSQR)%SQ MOURF8QXdfZDq U‚)I,,/Hr05sD`&x+$]mlod.]jMkFlTأ`5{F'"-)$,ŘEld ]3fZrU0DU{09ř+;R-YlM&,NYuoul_8:c1c1c1c1c1c1c1c1c1c e,Y*T dzV@$:׽ vҥ:d]ۺ]k."!JaC(jl7v/E t.6m.a Yae7y4S RzUwCdq e-@.ͻS]b,-՛U},-)Vڋ:c1c1c1c1c1c1c1c1c1c,X=k0@^ezY@ " rB1c1c1c1c1c1c1c1c1c1cC 0\`we.؃." WB1c1c1c1c1c1c1c1c1c1c! lJKWx2@jqz'349(&p A@@wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo9iDՓS2>L睍ve7ftʘmb-5"A7ՙ` ĝ3ŊӛbSo;axkՙe#XyӤjA[)Ν*);-(f/..!0REbaf[*\yӤhrщăɓ ɓ|‚QtXX[̛Dz+AK4<2PV*.*XXX/2mm`RbWF%JȠn]ٷ][)Jl4XY U4euݛuEMY??qE9gƽYR5IW6lI.ԃxS:UdSo;Q'^\]v&CaU ̷ T6V-wz)bg#r nYy;6'Vz,^-2j@ Õ@闬n-4d72RNgv@ ĩ]qAI52Ӭn;G<*㥣ZȦኗ1PzFCz,$Z&z*gqFhw̹R@nق²v)6#Yaf;LW1HZ1,VM8صw-Ne'BDVeciU:ͽZy, ͱjk3:q(Rz] j@lgY2bq+R-Nak3-3uV[02o23ţyjaشўM6&-:$\*a ufYIN,TZh^.pVeƵvb+-Xo63a\Ώ;XZW2-6̰|hĹ6R[)ՙ<)1fSe$,+'pِVBn.1lRn6.Xpi7PK1= q˛tGⲨBRo2q`щql:ӛe$,+'CıvZbo\QZA[)žmţ+ffO;30MHW6p0|: ל[.bL~6ĺՙeݐ 5ȧQ'^\]v&^w՘aN)ǫ:Z5qlRt.LȠsyQ?Yl5P7qަK7pVec՘FxҒ)Ͱם0*.cJOcFMPVZ5aPg|,-fӁ -/*Xl7EܙNbY/zB6F"p( QӁ -/*Xl7EܙNbY/zB6F"p( Q֮TeKjLVT; MROjLVTYeMAPƘa҄o\,dkWf*bw$BbAɅ @pȏEh)$BbAɅɿɷƵvb+*X&94=e]5BCaJ Vowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo;A0ʸ `ۍ)Xlq]ʁiE-Ƶvb+*?Ƽ]$SwL7Yoqv[nW.$Vmȧ6'.`JavAm.XfN˫2,$S9ՙ?Ľr1'L8RAȃ=Wq/F\]ʁ:\w6.$ yG2"X|x8a2`ɷƒ|0HRaa?;Ay;Li*?erD0 $ )0pvL/2mⱤ`DV4 @8Q P Io+7erDq]ʙ x`;+Hdɂ&يfjLVT ƒ5fGuݿm]̹R@nق²vlnU ufYw\IF˛e$ʜ]b)ͧZh, &Tu`Vv\k!:6-y;*?뻻W3ͼ`D a0^QǿerD0( Cɓ ɓfMV40"q0 &MRO%c `((~vvg)]TccIwx`HRa`0_VdcIXi €p@@ Vo+7Ͳl`D#' $"X &I2xͲlwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo;=֮TeL͹n7N. ܤus6#I?IoVgM K 1be*uf5w0km uݿerD[ ɓfM^-bd| txLo0\\#60V42Ha6H 'cщ?MRO;elJƳc8-@INщX]v&I 07IW!&|XO!6H 'cщ?v^-(;βvqv] ɉaSv/8"笲fMZUݙM¼[3*9 ȦR5Vc\ە νYóCv^1I;F ɉiFC2d8 F3*>7'̮Ho*.z(LAYhՆeNaa`ɷh"Rp>H0V4w$xdp>ÍmJc1Ve*vZO0%^.$ ƒ6H &52"X!d) 7&Lՙ6RlF"`9l_Voڭ88o2qrŊz]ɔ^`-ՙh"Ǥ#htjR/@!nOE![E!Sowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo;UkՙslS vEbZk(`Sb5z9՘א3VfسťZe'BD̊soii)'C$ZEdVc^˛eW)s6ƔqƳ] gAFaVNqҒwp̰|9]ݿerD6+$BbAɅɂ&]ٷ\C` s0EC@<  [ 6@<@h[@RݔJh6^Q%E!x`Q"A/$L^L8fى?I DE!SY[E!A$L$&i xSYP$G R 4\qPao |,-;UG f[N8_UرYoW82 6ź-_8mJEP(?fwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo;YQ.Jg]p6,]¹IлQ36Ų^Nee\tkYsoUɲqEY!2m:ʕS=Y\vqvMדR-&ҧ6lH;@îɺd72m’5l5S:-3ܺiʸXUv2vr/VCuݿepT\QHl0880&Av)*uf5`wXUvRE J-ͱnC˸_"bqnZ1S2wpTɊf[f ¼kWf*b)\V[n)ͲCi9WbvQ\w1ӫ1Ve"bqlERړbd;W˔)* eRn9 Ke$,+'zJ[d 7PAxY Fp3a.,2ڐn[9UnYق²wpۍ0\kWf*bb);pKscj4w`GAt:,i @r() 2dVd[au̶0_KX.dRXRDG$0"pT&L&|,-z( IbCILSYP;K=jW3ͼdkWf*b/(W$K0̙0_Vd/'W͌3c /'W+% ]C21L'X9 ,]v&Iba<0Rh; A,.$db) 4O0A2o2m8fى?KX.dRXRDG$0"pT&L&|,-z( IbCILSYP;K?f7'2PV*. ; Yo\,c F[@qV 1T]Ǐ=!3&MfM?:j&z-w ɹ-GԋIf<ՙl5Sn%ͺ0ԂK*HL&5I?%_Vo\(+@pM,,,ՙ6l]̷ ɹ-KjQ* VeiMd*(LXԂK*HL&D5QvXh+'hnL5Qv(L nHlXh(L&ՙurklaY;WpTɊNډY5`*,=B Ln-quؙRE2;6ź-d]P&+Nb~Rt.LȠv2WR-&}%^`&NN%*h fMz܃z-ŮarjEz&Y0iS2b0XVNl:f)"\pu̶vE7@<, ͱjgӋoıvW29J8XSb5MA7IY-jLVn7@fdX[LVv[p3ՙefԶi1Y:"ԓBoa ??BYr޲k9tTYR@aؓ ެE):lZpwgI+,3REH*g1VmKaƚ1NuI??Vm.laY;W.R[ ͢/6ũʙW\-MIjLVn6ՙ츔)")1y13̲vMpTɊLWlaY;:ɬxPAeI L$Dy0Å6#YLU(ќ:򤫬ǎ]0`U+h"Rɷ̮H0"@ ʒ -"P3&Lՙ6" ) KYHl[%N1T\Q\<˻6C`\bW3ͼ`D a0^QaJu2^]YvcMfLY bqYeqREjuRLY;&ќ̳[qhܫQdQ%@0iN4A] "Fp>0#= D@&‰ L/&O s$KQ;i.i,cACp8R ED X88 $ )07ՙ6P`RpVeƵvb+*e]p(3hg\0^mus)*n]YW+zRLVn7Gf5iVYIлQ3"Wi@P&*S%IWL$D}d  Q."dH0 HL$Dx o\,b`)"# $ )07ՙ6X˦ ʒ 0 Hv0(+Y5`*, !&|Vo\,c FDUcp8MU<|p@@ ɓA,,c F[MU|`>F{# $ )07ՙ6P`RpVeƵvb+*e]p(^.ɺEcI??pTɊb;Ŧ)*rXz7 ެˍjLVY>?2/2)Ųob)qެ΁ːċn7Ώ̳Yr7aҁAi$$xͺVQ('*.z(L̛~6t.Lf[Q@Z[yEqX[LUAZ Il XX^ݛu erD5SHl@Pܙ7ՙ6Rmd˻60#]C2L' bd„ 1L&4ɪIݛu 惍!&kfh&E%p ɬxPAeI`EdQHl0880&̮5'"` a<,,ՙ6 YtRm`!A0Ʀ0".C` I)1i<0HM@OXV0"pT&5I?tt YtRk7IWJ՗zǮ6YUeƞ덁`=q Ʀ0"C` I L$Yyslݳdvy-Fz,ҎTޒ/cW2[2z`Aa+8jk*;Ym,+'w %$EaS+ų!|ՙe#X$^dhb-4g2u?Eqj`&]YpuWI7] ɬ`=q "IeYeA2),Hb`)"#ɒ4\l,$NOAZiaao2m+%=H$D}Lp )<ȠzȦ&&8t ɓYo\(+zǮ6#B AL,-fM;iIS1]R\)&" ͢$ft .ݜk-nNRvfEs2"XԂK*HL'&8tY ɓYo}YIWpVmJWMIC`hR5ݛuC`DAƇ{c$R , Q0w@P=dSItIe: dɿɷ MˤWvTpìKuqެΜKjlFq$1%wfsF"$8 dTB  P!52PV4\l,%](@j鐂PS YoiKpz.]fN`&4ʸVgMP&*RRo.ۮhR&lb) KMP!+7\(+@pZiaao2m6 -o*PV 8 zǮ6^p cj4j7 "&]˛tP;&,s˻61%ƌbdj1L&4?5I?nHlXh]v&I$x E! &8(+KpTɊ e'BDn*`~pTɊ8aTv3Mbpx"\̺XrRb򒬝-6C 9In(I1YnYwNb_ͩ-bL.dRXz`Aa"dD`PV0"0 ]Ȥ!OXD0MLH0"@ ʒ x DtA1àȦH""KK(P,3&MfM?HZm6Ś3h, 07'q#FF"Af ` ]C21L'ፘi̙7ՙ6̲/&I 5S8P+ LەʸNՙnjTژ>Yg)]½YY F h;1t! HW+zJp ŲB]pE6ܯ+ίٓ\,c F[0PC`( %dVd~b]Y8֮TeΛnW.&;)ǤqnWa םz)ՙurkjLV[nYpiXќVYIлQ3"9AZɬxYe0nOwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo;:j&z- jUIWpR5Uz,ш6y5"nJ;YfjLVT7i n:lbtBbeg"kWh.q7*e'BD̊gGyՙlF ufYIM+мS<[3Ƶvb+*lZ1S8,$P5uftq)S2t̸֮TeN.):j&dP9]ݿȤUp|oي 8go 3&Lՙ63c2|2{ڠ[3l͹Z1S{1W6nVebT9`QW1IufXʘmTR)ҫ3l[}Y]rTl[ˆ) <ѝsYEPlťZuqe$K3Rt.LȠoso3:RNbQ)% ufO;]:+q4a\,H]Y }r(z A@vI22ugѐ>̹y9pnنfLmͱ`\`D!C` &A,7b2H -`>FF"Af ` ]C21L'ፘi̙7ՙ6nlğVoZ1+!C` &Z1+F$q8Q"A/$LXMhĬ`D^- DмXy2aa7?Ei7^pTɊ8aܫlԅ0iXIQH$笲$10` zǮ6'cYsYELK0 Hd =c  >aaowvTpìKu/&I'*fN˝6qNl*኿?2bق²wpي̤]P&*m.u~REJn7ՙu2^[z,ɲlvB[uٔ: ՞/˺y:JpbhĶd샵HVfط:mE$S*Nډ-^Mց)W bv)v@+6P9?erD5SHl@Pg!̙7ՙ6#IcщsmQ dǎ\Q[L &@0/X˞+` oUcX0/Mc.z(& A%X˞+` o dăɓ ɓfM(+A2)-p>]ٷ\hQqVn!/HɪIݛuс|v4`Z1 qȤaoڭ88o2qrŊz]ɔ^`-ՙh"Ǥ#htjR/@!n^wn̳cZ1S q@`pp`McM5b) 7&OMk?(V]DZR5eHl0880&D@&1(V]'PvAٷ^; 9I-ɩu Wr]Ʋ&%JE!;e6K J- ̰bF$v~ZtJ՗E![Fٍ1YI 2(͆ WMnȴfԋIn7ՙ` ČH;?1iw))"g*Yې^MHW1Ye'BD̊sl؍eNƼZi` ČH&ZM֘Xs1REF\0LVO;a)"*2"X 5eHl2xH%PV1(V\iXKl`=q &2PV*. ; Qp)T}Yo*PVXz`Aa ^61(V\iXH@F 8‚QphX[̛) KX) K7vm4b) K0$`DA%$0iXH ^52PV*.*XX[̛AX`)t"āD}0"k9tTYR@a<,-fMerDT(O0P# E4G 9Y]YDa2x‚+,-fM?Yslk7ڐٓݐ17eN[(wfsFQHlX&L$$  :3"qV`"VeͲnl9ݛuE!I`Lɩ0iLUh(nL̛c$R , Q0w`GAt:,i @r() 2dVdHlZQHlX ]ٷ\сR ) KX) K?;s2)iڒ(auf\)&ß&'$$ YVoX0&=U`D8055Ǫ$HyINɂBozǮ67Ve7ՙm8~9Wbfa\.t/0|̴:5)Á@P7'uՉie$^lHW-(N`îɺ#X_viM'BD̊lF\0LV[ 9I1Pwwwwwwwwwwwwwwwwwwwwwwwwwwv52PV0iXK%jˍ=c aax%Q4@&2o2m+h"㰰_Vd˻61%0"@ ʒ4\l,$`I0# 0#$YymFԋI]p HĞ52PV*.*XXX/2mFac F`v8/-Ҽi7\A&W$K*.6Sx dd}Yo\,q"笲 .dR[p# fMnv6Eba'BD/3:ʅĹ.R"ju2Y 8xG[x dd8?Ȥ'Ebda0,-fM.۫;UG f[N8_UرYoW82 6ź-_8mJEP(?9 9InVec 1T]Ǐ=!3&MfM?:j&z-]W*YF)Y;cBŤ_vk@?%qܤSA͙;,VLD%ՙf8ACv(aM7@<}YF)Y;:/ՙn y1Pvm4&k$l]̷ VNriMlUذhͺ̈́Y52"XQqV x`Q"A/$L^L/2m$N)b%Ӕ ՞8Ql6ͺ]TíZ+4`((,уJ &kݕL:0M¹ũCGk1y2k<(IлQ24k(y;*0n6WaƜlRML"*\pi bTlÍ,̢RNݕ)7ە @|e\t72o):j&z.%˺wg4`{2I;@[.b|_;Sw i#4ʺn)aƚGW̺+9b(wƵvb+*һxp!VƵvb+*e\w2yiM»LW`îɺg˺$P99fP{ʸ`y:>FyjLVT"Y|\00\\##Hl3&OnlĞ3c& dpo0\\#60"`y:>F@coPVdR[ |r)B91T\l"=PFE( 0\\#&(+A2),X[vN2̶pbqޮqre:>mufZqP7'ep`Dȥ fMn 0r)@VO+7vU0khV=b*0nhȥ5ʦo pl\ғvevifQ)'hk88888888888888888889<(A҄qR:v6Taٗl=<˘J2b FʸVe^NƳqVSlYkY/YyCbq~~]½YEu^4sl9<3.by;RU0ty88888888888888888888TlVn7a(A(E#" Q4n 74bD {d*5R򤫂`VLVn7K_S%IW7=Al`,02d8򤫂˺y;Yʖ0/*J"{X L%\^-J 'cYPK F\1*Qi1sY52^TrĩGFW@qꪹB Q _2"XĩGD^,H<00_Vd 8U x`;QfL5RXj4]ٷ\ъ%J]YVnҼ]0ZM7e9Nܬfnw\(amvLUnʆuݿerDwR ED G+!5PERC0w$BbAɅɿɷ=AI 4Vo"YĩG[x@,dp>Ím/JWBk a7̮H0^-w$BbAɆdɂ&](0"](㠒D^,H<1xppH} ʼn& ƌF$7 MRO.Jq.JqI"A/$L] 8P8 $H>ăɓщa7vN2̶pbqޮqre:>mufZqP7'erDqR;DмXy2ay2`ɷ%@qspv1J̙<j4iC nK"h&ăɓ +6 $H>ăɓ ɓfM)`C+7ɪI+%PD^,H<0,r ď@y2d}Yo+6c#JDмXy2aa7Rj@0 H} ʼn&=f{iQ}Yӎv,Vn6"LBͱn@=!CR|8 Q60H %*8a$砲)Y2^Tr ̮8x@bj fMcl`PA^NQ0 ̮H8 A,q aɂ&A10( g.@ Y(Vo+7̮H+LQL jb}P +69oA1 &7@ ܙ<(+@pՆ&0cpI: -LT `bbfԟVoL%^,Vn7c=M'%x BMN ɓ~,Vn7ftɯL%\cXP,`EtQ4 !5PM (B0 H} ʼn&„!c+ S%IW5(B B,(B\,bUX+ a2`ɷ(B0"M 㐱  8U x`;.9v'„!c+ .9 ?#Ic!mpP/! 4""KK(P M$VM@aBO @r()Ed7 U2*!"@/! 5H**&D,GA "Az„!f": AdSHX-X„ ,b„ %.b砲)'„ ,ы .b砲)kKr 8x"WLڈR/Y2;B` e0 4dXlы 74bH5򤫞ȦAK4`DE4pH8$ R RverDbq4[ɓfME4^ YAdSIU IjLT$Rtay:vTBNʕq Hm8<$a& ;: 2Y3 P(mxiq{ʸ&zW@qꪹB Q yGH0L;^Nr2xuf%hY:ZR[d{hRt.L@jj s+μĹw\.Y?erDg@j`p>1th+'BTd&&2"XUh(„!@.Wa7&O s$K*XP;1T<.Wͤ#ɓYoa6If{W$K&zȦA@2d}Yo\,q L/2m (a,i* \&,(By(zi"jpP/&Lՙ6BV!IO @r()Mf{cSԂQ.@/&Lՙ6EXqMɓfMerD5Sa†ɂ&&z0"&z dTBi.i,cA@$3Ա3S"XPo+7erDg&Lՙ6ͺ08L 7Ԑ17dS IMRO.ۮi, 7/YZ豂n+7&W$KQ0 L/2m+%=L`)H8^L/2mcSo 2xK&z3_]ٷ\=@ YjC(Ai ʻ+7 w&SyطVe@ѩH (rX)Ta.Jqvm4bIdRǏ=!1T]eISY]a0"*.cǞN[*.,i.Й@pXyɈnK"hHPQu=%OAdSItFĩG7@" 91?Pmͱlь5Pܻ1*QCaw\bTH\L`QW^-hJ 'u%J8$Ap,'นrH8 b;W :wXXX/2mfz\0aҀ3&O)c,5PoaPj `cFB:S8 P7-8캳wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwo*a+7eAJac1DXӂɺg4`((,ш7-5򤫃f򤫂ڝ+c+W$K7<0_Vdd*I{d*kWW0\0#/򤫖XfS%IWO-̩`,b/MG뻻eݕ$輱XEҔpxbju3'Vr^n/'i7]Rjtgpxbju3pa#<ՙn4SDWмS3l[|kWf*b NQa^-:uf[rq]n%k3:mɉRtW82>me,k7‚ ƻ1.^MәWՙl\-'rv5ӫ2cIep+Ų 71\1*ՙM +6ŵKEғhaev0$Ľ9 ɼ˙b;XPŲvm8춦Fz N"L]Al[frfضUw̽hűgL\-'yӏF"靃 뻻`@ &ɓfM뻻 wEӫ]k5@xS4xD| MŲ;2ĜH^N7.@k/Y:e\w2,I3,nb;3'e5@wd]RM֜wbN)1c.B-&YrJuszȧ'Lf5n[k7wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv/*J"z '!+%j*aJ=M.Q(P$Y“*d/sbU2*!zx -7]qГbAk:2o2m&ZO+7epaa`ɷ=AI H`>FW00;^ z*a7n\U$0#$| zĆes  #+bef{ʸ1ͼcSAyG1c1]\0"X֮aDLY*R ED G^L8fى?erD]\0#+c&Lՙ7ر\j/-̩`CF3fj5 ɩFus wx|a̙0_VdߝrRF2𠬴j2ao$K7-LVFXg5VFXddkWW0+7Ve7ՙm8~9Wbfa\.t/0|̴:5)Á@!nOAYhՆeN0_VdW$KZ5a`>FW0L/2mKŲ)c F2wwwwwwwwwwwwwwwwwwwwwwv$].ˣ.;\#!)'Vz.@ixREvVe\U7)ǥ]0L; wwwwwwwwwwwwwwwwwwwwwwv"!V'c+!5PERC2L& UׂBkduԑvĺ.p|tY̹I>FB:S}Yj> 8 z**oJ6Ńuʸ|oGg#?,dA3XfL8fى=͌# 0 a7#60#|p`H} ʼn&L%\c>FW0Ō>F_2"Xȃes wx|ɂ&Gg#> 8 z** >Fl0j6=fӁ -/*Xl7EܙNbY/zB6F"p(?fX PB ɩ‚ѫ ʘXX/2mcAtRA5 .D.Z"Qu`1T\z*f& S^q!e%Y1Yƀ2A>5a-^q `6nhAdSKR ED USW=M 3sFdсѫ A 8Q"A/$LX$7 Htu"!&ɪIcAtRA5 .D.z "]kSM|`EH*=UN\E4kW ɓfMsYҳ@A:dj4S"]Ǫ+ȦMpPj `c %`Ŋb砲)DbqBҨIҡy2xŊbN5\,qtK.` a<0_Vd˻60H`RI M!㜉I,cYPKbKb7R ED USp$ *.v0H %*8a$,x dTB 8UY2^Tv)cQ.U2^TpAaB5Q2^TpCZ„ ,b„  8U x`;.9v& ̛„!c+ .9 ?erDq=U`n,(B @dɂ&X„ pb7(B B,(B\,bUX+ a2`ɷ(B0"M 㐱 f{؍%XP9V @XP,i.i,cACpX- =4Y5B<ȠzȦIPX-ATȨTLXP, dTB [:,i  .cAM#`ʑaݛu $0r)A$Ʌ V&BC,(BH1T]a&"AqXŅA$K7]R AdSK&OAqY!!]R AdSH`.*.%0˻6 W̮8x@q ,,ՙ6\ 1T]X-@p`vxfEZzq)e 6Y"ffXP@.ۮ0sMY2^Tx֮[4`EtQ4 !5PLƵuvJkWWjtмXy2aL/2mplLgf Lvm %"g3_Vo+7Ve7ՙm8~9Wbfa\.t/0|̴:5)Á@!nO ]T\JaaxvmwfsF PI2aC 5PBmŭTí8RA( F 8x<_aSy)W4]^,].̚.kiDNډ/'cY2b睍ve7ϭdXi̤]t2bfZٓE;ՙlu7Wl7^ˉr]ƲTlVn7R؋xw̤ExS(TMHsy-1Z)]½Y6˘2;ՙ*a+7칖.؝CslYY.mJH6vLU!Ƭ.iXM-&UP;Y;.tm;ː]:l4x <ƮJ-hĹRlFl[3*'wynW3TlVn7Θط6ȦPĞwW8 .؝wd Jʸ̚.6w].qJbq¸Jsl<랂ȦˋSvlJ474&Tɡppp[e6Ÿֲ,^( $P9ăɓ x d8?E(`-8Q"A/$LXJ x A@\]`p>P[x dh3&MfM1'2"XTUeDмXy2ay2`ɷ".&P8( &L,&TUec"ˁ4pD^,H<0\,`Rw$BbAɅEEV\ MA3&Lՙ6ͺMcQUPnk tq)owˁ4dɿɷE(XR$`**bj agqˁ4&Y,`R2d8PqJn ,9k8ܞ‚5t, ̛L%\~=UǞA9\y,)P;4T(P7aF D ܰQnm<23m\iIRnɊd71]ՙ;b8+wɱyeqx8*<랂ȦˋSvlJ474&Tɡppp[e6Ÿֲ,^( $P9Qnm<23m\iIRnɊd71]ՙ;b8+wɱyeqx8*<랂Ȧ3.,Vn7L:Aٱ(PS&o;VSl[k""bNEs" \E4?qt+7 RE9`lVn6=YihiŊÞs)̶)՘׫2f|mnm0fъVNXθ`pppXsyf*\h[:,(o&덖u*ԃy۔HseZufZ #ɱyeqx8.uf\EhF+'Vw fXʘmjYW^NƳq%S@̯Ve,ڗ:e\0@:'Bp L6f{6/'jW\ړq-,".z "]ihi& ̛D,ism8Rb{ FFXj4N,eC5R͉rqfر,y6P/aҖlK\ή;6ō`p^N,c FXh+'Mɓ}uH=M+5 FJN8/'LX-əEE,c FXh+'Mɓ}uH=M+5Rtj4왔]ZI0a^AȦY“*dj4F)Y:$gS& % T1sYҳK8ReL FXh+'Wd 3uH=M+4&TɸiK5Ruw\f& n /]R AdSJ,I2n5Ra]k`ӆ :1 T1sYҳK8ReL FXh+'Wa ubk`l[H1JwyRFp>AȦa.Qcp8aҖk űiPo"Q $xA&bb,r ď@yWT1sY 0"Qo\,b砲)*[`$/'fT^j4w0ъVNɂ&c.$z./'fTl21lR/'fVlFq-eucYQ $xA&bb,r ď@yʙ^-^[aS+%\E4ғ rd}Yoȃ=tkp^Nًe8Rtay:eꨂ3o-yqqqqqqqqqqqqqqqqqq8888888888888888889]k9bLQL jb}Pxv0HȃM5-8,weG :ėaŜo4bD {λֲ,^\.nȡE9+ՙeL6mVmH95M- -0:8Z[k7`9Yr(anND8l!&ptlKfuywwwwwwwwwwwwwwwwwwwwwwwwwwwwwv/,lSA%$. lM` \(+ x+ }Yo@uPI<;$xA&ayF If .]18()EQM%"<8 EdSK@qVC"!$zB0WAuEAtRZ ;PEu`ÑHEu AƢːLr( c8$">"B B+cODppQP=dSK""KbpQP=dSIq$ȩDD@M%DDEq)C@HT~YP=hdDLLJ20ILECЂ )Eh.A1Ƞ("=M-TVȈ .> &7UQ`dYt TV*!LnȬ"> r EM!W)DzA8)M.SPƢY55 =5MB#Ad ȥ&94EdP [&=r @B )(ˍ>Iu Ǩ*!Ln'\UE!Ǟ0\zcae<|4&DjA4PEX/j*B+m4) DjL_Ir'fxi&6 #r$Q@ "CXP1U )QYD v94$MʡR<|1FAaAeM(,&#sYLȞLAqA1ÑIh(&xaBG& &5],EH.4yLl4Uh(G*XP4uQZ IAQ$ zY`DLՄF UǢ yg8`.YT׿bK:ԏ *)]$I1WUcֆg 9YWUcX @Ó@ Ll )‹Lr( cQT D|Q2$1BW=ADEZPZ&H \|LoiYqGAQEVQ#Ԁ<R ED z M$ȦB \@V]J,PM cǑIY\r)j"ˈ": *A4P@v=P\iEP-q$)b+EdDy[E#Y8.\` =/UpdR @TUt^=2),. z8zz@ \H&ˈ": *& Y5XK> &b+ .=UE!ȐzWzǮ58(#AࠦM!(c`M!(5 8M%D!\c@S&*&Dc`MDV\c@QuPQ i&6 QEaE&9YLTR ,A4&6KjlFqqMIvjGz'IQ\zi"j+, "AmU "AmW"0\zi"jdM*&Ed]W"0 Er*#Ǧ+&褴„!++8."dHjATȨQ2$1Ej0 )yƢ E!94Da\A5CJ LEuQp, <$x0t)zGA\zdRXD Ic*&DLAq"C\h8dd UUWUcֆ8MuV=hk „!(M,ALCA4= %LlԂ k"> X/'i:VMy'fxhP;E!H""X7)`&"Z @iǞ \@G@jE%sȬ%EE4s902WYaEq*ɮYT MA9i.> &5\WDrQ\z).@UPj"Y&NJ`<T MA# z).@UPjK=U@$"R\&@Hq褹T MAWx5rWR zG9IrWKj@EVPS"<@#QYtWYB*=a, "< [Lq\EDȐWP1q]$RUPQq+WRUPQq+*UsԁEd\x&EP/&EEq$@z褪Ǥ0sēQ묈&El証ˬ&EmH*( {H^Mԝ(B#(M-$D@Qt  9ZWR ED &0]#@ ˤxk\rh) =,a$LՂh ǐR i`Ȑ\AHA$0$U( ":) 0$RȈ I YDLEH*. =,@JH z&94=e]5BEfԘqfdсLri.z(j ͩ.Í5&+7&5:Ν**asەRE2;N6)&ZuM.b̷)'^W2Z1S23ˤJɣ+EU PǞ ^pIeD|1WPEr &UWYր &>(DAY"zȦ&6DAY\I2*bpQP=dSIqE!t; &b+ .=UE!ȐzWzǮ58(#AࠦK.M!(IM!(c`M!(5 8M%D!\c@S&*&D$ӂb-..F H(BIc*&D@HQTP ATȨQ2$1Ie&Kc@vB EUQM,LEuV=hcUcֆ4FH7Lq\EDȐ! lADH,ij0=ǃCA4"In  K.=1XQt x0t *Iy%\@TEhi&6PXyy 7J 褴=iAeCXP3YLDr`$xb@aFkQ.Tፂ(M,|LjX\iC@ R h"Qt UZ .i&6 ꢴēUeuRT MA [@A%V&]$וuݼg2ʒt^XX"Jl8Xk1Y:9wd/7 SpByܩX:3AJl8Xk1Y:Dwt̷)"gp^LL-ž51Yl(/K:-8֮Tey5ՙӝ6ĩHgEܙLUD6Ųv5Ac]/&̶̫ Ri;ՙbPMە ̦ΕbڥsIҴp2v b^Ye̱w[kM;XͶv[Sɣ=\aw&Rmb -ų9wdy܀ҳl[`*i;чf^sسv RǣtUt^uݾKʒ?A1Y&ԏ_IAvjU2*!TL_HLD&#ช k HQH$i"> 4TL_Hp;4rb(xD| "dBLq5 ٩A`15_Ivj)-BU٤E.&#k EP-Rvi!EQ@ˉ8*k*NDtTQU< B+ H)AU2*!Ǧ6鍁$y@M!養ɨV!_I(,&V!_HUMOZWHG+&ꪚM$VMEI٣IQS_I$#c`k" @AEDRTQ$ ٪$b+ .* $U d=h DtQUIvj K8AC_IH(OZY1Z-EAp0J .i$Lb'Y1Z-EAp0J .i$Lb'Ȭ%h UI($G#z*N #PQ$S_IX COPQtI٪z&6 K"> D8zZkHQpbdRNx5rj 1sM_ILr( H E%=r EBviEdSHARvhQ@ː=EYT ARvi!EQ@ː=EYTA2Rvh&A*k< G \qYS_IT5r EBvj @iȤ""$ .A1Ƞ(N5p`R@M#_H QD@P'\ Q%\qL餹z\;4qYUIu`@Z TR@;5HMց$=MEZ JIBvh+AtITUZ (kIQEW"I;5$P1qNZ ]TVQZ *U٢J5@_IHMTVMAEM!%WY;5$\IUƢkIHMTVMABvj S_IH*, IbvjUcYȤ$ z#AdSH z#Y5䇦+&褴pIeA,5QrĩGhAdSH׼뻻yΜՙb8+JpȴgzȧيW|kWf*by6C9ՙjtoVdBi1*&n`&\2^TuQuHYi+o\,b砲)斋q2`ɷ&zDȬEdSI[]ǪM*j*H`EuH=M *ATȨ@q&|\,b砲)(BMN ɓfMq3]R VEb+"J=UW hAUSQRCQ.TM뉞*+YV.b"M%qLri.z(j TQ.T  I!&J&5jgAVE4zADЂ)S"]Ǫ0=E" UdV")&zDȬEdSIS x dyڒ,༺0TlmĴVo\LT1UXȦ0".b"M%N‰x d8M:ceY:Zm˙^Ιw\bTE7eG :Ķ+&uݕ0FH)`̮H0"UU(UTT dTB 8U&D^,H<5 dTB xdɾɷ*8a$17dRO+7 .ݕ0FH(wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv̳@A:d,Vn6ͽJIޮt0\+6'fذo:ܘ)L`ac^51YS/V̬ڬQuwԍYYo;*KXgjLV]\eġIVeiL1*Qr;ՙl5Pv I1sY[tl(nL"PB%i-L"pP!;UG f[N8_UرYoW82 6ź-_8mJEP(yGvҮbY6ڛrݑvċIƌuؙʸVe^qch/*J"x0Ael‚@pXX/2mJ 'c.EdG.^.Kci=AsFc_2PV0]R(!U}YoaPj `c 8 ]2 *X[vN2̶pbqޮqre:>mufZqP7':WMIe%Y1Y wfMAR)xVebpNډˈfEZzՙ7 CvcIqj5W2l7eC^ՙl8RXBmah!4 λ2vA:2PV JQkwWXZ@%E@\P` O <9$ODk 7_Q}5tabɰ$ʕAXE6 'V(|bbAF0aXj!B     !! O4^*a~0^L lH'5 p`0'*REY]D \ap,`ĔY5S)".Ɋ&!!צ( .H@HN l85g񈆇" 5&gHzEM*VyU.VWb|`)eWlYa5 VWbz$T`Ue&*EY]Eⅉ6,^H+Ui,^H+U‰,^H++ &0'.(F+E"%? `L00]ze˼ʨQRerTM.* EEJ6,b^ X%Y[6mmmmmmmmm[-@+J*E-. QeB-rapgE MΔf*lmmmmmmmmmmi6U$‹+XXaV(, rМ i ")U> ]qvY0}08 xC K+L<`@Hh0)݈ <ԆA oyy  z#G V(b.Sqwn0 ی0a˔`یv" 3s9Q=b{ev!N+Up`w5mmmmmmmmmmL,&1W*B/^ [8\% ʅ6[8KM΋,e›-(0U\)ٶmmmmmmmmmlIW,^H+xf*0+74'fxBH@ UbDWq`ݖLk6!Q6N1LW 0T]5DQ* `TW*So野@chXMBb$U؄^ 3ʨ <Ԇ<'$.Er^jCGxR@04H]؋ <Ԇ 8`a$.Er^jCG 9"#@!wb-,"R<@9!M scBBoU>0a˔`یv" 3s9Q=b{,&1W*B/^ lmmmmmmmmmmlt- LU䊲 lp.J*aE lqʗe›-X. 6[:PaSemmmmmmmmmmT ,Ya5 VWbxbX#Bp&`a$$V(*Ew  =dvqc`Rk%a@\4x#I@TOQUQ2j0Kx1Ur.0 >xA ]qvY0lIDP 81^0'RPtUFL&7R^ `\L59GxaCYa5 VWby"2'ʨ <Ԇ4aȠ$.Er^jCG@08$.Er^jCG9"#$.Er^jCG =ㄅ݈`@HhND<yy  0Cǎ pUbf*7vݸ r \;ETOX LU䊲Y8(0;ͶmmmmmmmmmgA2 ,^H++ &lp\T.‹*l. 6[:,] lt1UpfmmmmmmmmmkI&Y\jy""(, rМ i ")U> ]qvY0lIDP 81^0'RPtUFL&7R^ `\L59GxaCYa5 VWb|VO*b-,"R<@4=4H]؋ <Ԇ4,0]eY.eYb-q9/5!"$pv","R<@Cv","R0a˔`یv" 3s9Q=b{-\,-(浳mmmmmmmmmmLerTM.* EEJ6[8\% ʅ6[8KM΋,e›-(0U\)ٶmmmmmmmmmlIW]Q7\,-)74'fxBH@ UbDWq`ݖLk/ƙrT$ ,0 >xAxA,0kAu֎<<F1#Þ0Gv& 99/5!9G**EbP]uĎzCx=ȚLJ@/var/hacmp/log/offrgd.$$ STATUS=$? (( STATUS != 0 )) && cat /var/hacmp/log/offrgd.$$ [[ -f /var/hacmp/log/offrgd.$$ ]] && rm -f /var/hacmp/log/offrgd.$$ fi exit $STATUS === kg#+^b՝ab&^./usr/es/sbin/cluster/events/resource_online_di#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_online.sh 1.1.1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) a2424ed 43haes/usr/sbin/cluster/events/resource_online.sh, 726, 2147A_aha726, May 21 2021 03:03 AM ######################################################################### # # COMPONENT_NAME: CLMGR # # FUNCTIONS: # # start_cluster # start_site # start_node # start_rg # ######################################################################### # # Name: start_cluster # function start_cluster { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset name=$1 CL=$LINENO KLIB_HACMP_online_cluster "${_ENV_ARGS[WHEN]}" \ "${_ENV_ARGS[MANAGE]}" \ "${_ENV_ARGS[BROADCAST]}" \ "${_ENV_ARGS[CLINFO]}" \ "${_ENV_ARGS[FORCE]}" \ "${_ENV_ARGS[FIX]}" \ "${_ENV_ARGS[TIMEOUT]}" \ "${_ENV_ARGS[START_CAA]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "start_cluster()" # # Name: start_site # function start_site { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset name=$1 CL=$LINENO KLIB_HACMP_online_site "$name" \ "${_ENV_ARGS[WHEN]}" \ "${_ENV_ARGS[MANAGE]}" \ "${_ENV_ARGS[BROADCAST]}" \ "${_ENV_ARGS[CLINFO]}" \ "${_ENV_ARGS[FORCE]}" \ "${_ENV_ARGS[FIX]}" \ "${_ENV_ARGS[TIMEOUT]}" \ "${_ENV_ARGS[START_CAA]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "start_site()" # # Name: start_node # function start_node { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset name=$1 CL=$LINENO KLIB_HACMP_online_node "$name" \ "${_ENV_ARGS[WHEN]}" \ "${_ENV_ARGS[MANAGE]}" \ "${_ENV_ARGS[BROADCAST]}" \ "${_ENV_ARGS[CLINFO]}" \ "${_ENV_ARGS[FORCE]}" \ "${_ENV_ARGS[FIX]}" \ "${_ENV_ARGS[TIMEOUT]}" \ "${_ENV_ARGS[START_CAA]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "start_node()" # # Name: start_rg # function start_rg { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset name=$1 CL=$LINENO KLIB_HACMP_online_resourcegroup "$name" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[PRIMARY]}" \ "${_ENV_ARGS[SECONDARY]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "start_rg()" ######################################################################### ######################################################################### ## ## MAIN ## ######################################################################### ######################################################################### LINENO=2 . $HALIBROOT/log_entry resource_online "$CL" max : @(#) a2424ed 43haes/usr/sbin/cluster/events/resource_online.sh, 726, 2147A_aha726, May 21 2021 03:03 AM : INPUTS == $* #=================================================== # Source the file with common definitions, the run # the action/class-appropriate class processor. #=================================================== CL=$LINENO . $HAEVENTS/resource_common "$@" CL=$LINENO runClassProcessor "$RESOURCE_CLASS" _VAR_SUBSTITUTIONS _ENV_ARGS log_return_msg "$?" resource_online "$LINENO" exit $? om k6#+ b՝ab& ./usr/es/sbin/cluster/events/resource_recoverdi#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_recover.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2010 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_recover.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # File: recover_resource # # Description: Part of the clmgr infrastructure, these functions # are part of the "recover" class of operations (like # resource_add implements the "add" operations). They # are called by clmgr after input validation and do # little more than wrap the corresponding KLIB function. # # Inputs: The node and site routines accept a node or site name, recover # cluster has no arguments since it implicitly recovers all nodes # in the cluster. # The optional "cancel event" flag is passed to the KLIB functions # through the ENV_ARGs values array. # # Returns: return code from the KLIB function # ######################################################################### # # Name: recover_cluster # function recover_cluster { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max CL=$LINENO KLIB_HACMP_recover_cluster "${_ENV_ARGS[CANCEL_EVENT]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "recover_cluster()" # # Name: recover_site # function recover_site { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset site=$1 CL=$LINENO KLIB_HACMP_recover_site "$site" "${_ENV_ARGS[CANCEL_EVENT]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "recover_site()" # # Name: recover_node # function recover_node { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset node=$1 CL=$LINENO KLIB_HACMP_recover_node "$node" "${_ENV_ARGS[CANCEL_EVENT]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "recover_node()" ######################################################################### ######################################################################### ## ## MAIN ## ######################################################################### ######################################################################### LINENO=2 . $HALIBROOT/log_entry resource_recover "$CL" max : version=@(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_recover.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM : INPUTS == $* #=================================================== # Source the file with common definitions, then run # the action/class-appropriate class processor. #=================================================== CL=$LINENO . $HAEVENTS/resource_common "$@" CL=$LINENO runClassProcessor "$RESOURCE_CLASS" _VAR_SUBSTITUTIONS _ENV_ARGS log_return_msg "$?" resource_recover "$LINENO" exit $? ( kꜶ#+ b՝ab& ./usr/es/sbin/cluster/events/resource_replacedi#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_replace.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: CLMGR # # FUNCTIONS: # # replace_mirror_group # replace_repository # ######################################################################### # # Name: replace_mirror_group # function replace_mirror_group { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset mirror_groups=$1 CL=$LINENO KLIB_HACMP_replace_mirror_group "$mirror_groups" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[SITES]}" \ "${_ENV_ARGS[SYSTEM_GROUPS]}" \ "${_ENV_ARGS[REPOSITORY_GROUP]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "replace_mirror_group()" # # Name: replace_repository # function replace_repository { LINENO=2 . $HALIBROOT/log_entry "$0()" "$CL" max typeset new_disk=$1 CL=$LINENO KLIB_HACMP_replace_repository "$new_disk" \ "${_ENV_ARGS[SITE]}" \ "${_ENV_ARGS[NODE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "replace_repository()" ######################################################################### ######################################################################### ## ## MAIN ## ######################################################################### ######################################################################### LINENO=2 . $HALIBROOT/log_entry resource_replace "$CL" max : version=@(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_replace.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM : INPUTS == $* #=================================================== # Source the file with common definitions, the run # the action/class-appropriate class processor. #=================================================== CL=$LINENO . $HAEVENTS/resource_common "$@" CL=$LINENO runClassProcessor "$RESOURCE_CLASS" _VAR_SUBSTITUTIONS _ENV_ARGS log_return_msg "$?" resource_replace "$LINENO" exit $?    kZ#+d1 b՝ab&1 ./usr/es/sbin/cluster/events/resource_state_changetcherdd#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_state_change.sh 1.5 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_state_change.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='%I%' NODENAME=$1 LOCALNODENAME=${LOCALNODENAME:-$(/usr/es/sbin/cluster/utilities/get_local_nodename )} if [[ -z "$LOCALNODENAME" ]] then print "${PROGNAME}[$LINENO]: local node name not set" return -1 fi if [[ -z "$NODENAME" ]] then print "${PROGNAME}[$LINENO]: Argument 1 not specified" return -1 fi integer STATUS=0 dspmsg scripts.cat 9970 "Following this event you might see resource group acquire and \n\ release events that would result in moving affected resource groups. \n\ Configure pre/post events to resource_state_change and\n\ resource_state_change_complete events to customize pre-resource group move and\n\ post-resource group move actions." # Call replicated resource method pprc_snmptrap_event if it is defined #METHODS=$(cl_rrmethods2call pprc_snmptrap_event) # SNMPTRAP_EVENT will be set by the caller METHODS=$SNMPTRAP_EVENT if [[ "$LOCALNODENAME" = "$NODENAME" ]] then for method in $METHODS; do if [[ -x $method ]]; then $method $* rc=$? if [[ $rc -ne 0 ]]; then (( STATUS=STATUS+1 )) fi fi done else print "${PROGNAME}[$LINENO]: This isn't node $NODENAME, nothing to do" fi exit $STATUS cluster kLg#+$bX՝ab&./usr/es/sbin/cluster/events/resource_state_change.rper$$# @(#)19 1.3 src/43haes/usr/sbin/cluster/events/resource_state_change.rp, hacmp.events, 61haes_r714 4/8/05 13:29:16 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_state_change.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for resource-state-change # event # all "resource_state_change" 0 NULL #### k2#+db՝ab&./usr/es/sbin/cluster/events/resource_state_change_completey_rdd#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_state_change_complete.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_state_change_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='%I%' integer STATUS=0 dspmsg scripts.cat 9971 "This event concludes the resource group movements. Configure \n\ pre/post events to resource_state_change and resource_state_change_complete \n\ events to customize pre-resource group move and post-resource group \n\ move actions. " exit $STATUS n k#+$bX՝ab&./usr/es/sbin/cluster/events/resource_state_change_complete.rpr$$# @(#)20 1.3 src/43haes/usr/sbin/cluster/events/resource_state_change_complete.rp, hacmp.events, 61haes_r714 4/8/05 13:29:18 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/resource_state_change_complete.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/PE recovery program for resource-state-change # complete event # all "resource_state_change_complete" 0 NULL ### k5#+b՝ab&./usr/es/sbin/cluster/events/resource_view_chan#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/resource_view.sh 1.7 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2010 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_view.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT: CLMGR # # FUNCTIONS: # # view_log # view_mirror_group # view_report # view_snapshot # ######################################################################### # # Name: view_log # function view_log { . $HALIBROOT/log_entry "$0()" "$CL" max typeset log=$1 [[ -n $2 ]] && typeset -n list=$2 CL=$LINENO KLIB_HACMP_view_log "$log" \ "${_ENV_ARGS[TAIL]}" \ "${_ENV_ARGS[HEAD]}" \ "${_ENV_ARGS[FILTER]}" \ "${_ENV_ARGS[DELIMITER]}" \ "${_ENV_ARGS[CASE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "view_log()" # # Name: view_mirror_group # function view_mirror_group { . $HALIBROOT/log_entry "$0()" "$CL" max typeset mirror_group=$1 CL=$LINENO KLIB_HACMP_view_mirror_group "$mirror_group" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[SITE]}" \ "${_ENV_ARGS[SYSTEM_GROUPS]}" \ "${_ENV_ARGS[REPOSITORY_GROUP]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "view_mirror_group()" # # Name: view_report # function view_report { . $HALIBROOT/log_entry "$0()" "$CL" max typeset report=$1 CL=$LINENO KLIB_HACMP_view_report "$report" \ "${_ENV_ARGS[FILE]}" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[BEGIN_TIME]}" \ "${_ENV_ARGS[END_TIME]}" \ "${_ENV_ARGS[TARGETS]}" \ "${_ENV_ARGS[COMPANY_NAME]}" \ "${_ENV_ARGS[COMPANY_LOGO]}" \ "${_ENV_ARGS[SNAPSHOT]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "view_report()" # # Name: view_snapshot # function view_snapshot { . $HALIBROOT/log_entry "$0()" "$CL" max typeset snapshot=$1 [[ -n $2 ]] && typeset -n list=$2 CL=$LINENO KLIB_HACMP_view_snapshot "$snapshot" \ "${_ENV_ARGS[TAIL]}" \ "${_ENV_ARGS[HEAD]}" \ "${_ENV_ARGS[FILTER]}" \ "${_ENV_ARGS[DELIMITER]}" \ "${_ENV_ARGS[CASE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "view_snapshot()" ######################################################################### ######################################################################### ## ## MAIN ## ######################################################################### ######################################################################### . $HALIBROOT/log_entry resource_view "$CL" max : version=@(#) 7d4c34b 43haes/usr/sbin/cluster/events/resource_view.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM : INPUTS == $* #=================================================== # Source the file with common definitions, the run # the action/class-appropriate class processor. #=================================================== CL=$LINENO . $HAEVENTS/resource_common "$@" CL=$LINENO runClassProcessor "$RESOURCE_CLASS" _VAR_SUBSTITUTIONS _ENV_ARGS log_return_msg "$?" resource_view "$LINENO" exit $? #============================================================================== # The following, comment block attempts to enforce coding standards when this # file is edited via emacs or vim. This block _must_ appear at the very end # of the file, or the editor will not find it, and it will be ignored. #============================================================================== # Local Variables: # indent-tabs-mode: nil # tab-width: 4 # End: #============================================================================== # vim: tabstop=4 shiftwidth=4 expandtab #============================================================================== k.w#+#b՝ab&#./usr/es/sbin/cluster/events/rg_move_vi#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/rg_move.sh 1.50.1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/rg_move.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ ######################################################################### # # # Name: rg_move # # # # Description: This event script is called when a resource # # group needs to move. # # The script checks to see whether the nodename # # is the local node or not, then calls sub-event # # scripts to release resources (if this is the # # node from which the group is moving) or # # (possibly) acquire resources (if this is a # # different node). # # # # Called by: cluster manager # # # # Calls to: node_up_remote, node_up_local, # # cllsparam, clsetenvgrp, clsetenvres, # # cl_RMupdate, cl_get_path # # # # Arguments: nodename rg_ID [ACQUIRE | RELEASE] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" export PATH # # Set the Run-Time Parameter values and export them # to all successive scripts. # # The following lines create informative trace output LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a if [[ $VERBOSE_LOGGING == high ]]; then set -x version='%I%' fi # # This will be the exit status seen by the Cluster Manager. # If STATUS is not 0, the Cluster Manager will enter reconfiguration # All lower-level scripts should pass status back to the caller. # This will allow a Resource Group to be processed individaully, # independent of the status of another resource group. # STATUS=0 if [[ ! -n $EMULATE ]] then EMULATE="REAL" fi # All the hard work is done in the sub scripts node_down_local and # node_up_local, and they handle emulation themselves. So the EMULATE # variable is never referenced in this script. set -u export NODENAME=$1 RGID=$2 if (( $# == 3 )) then ACTION=$3 else ACTION="" fi # : serial number for this event is $EVENT_SERIAL_NUMBER # #Export a var to help clmanageroha to determine if release is async export RG_UP_POSTEVENT_ON_NODE=$NODENAME #interpret resource group ID into a resource group name. eval RGNAME=$(clodmget -q"id=$RGID" -f group -n HACMPgroup) UPDATESTATD=0 #the statd is needed for NFS mounting. It export UPDATESTATD #should be updated whenever NFS mounts change # export variables for use later if lsvg -l or varyoffvg fail export RG_MOVE_EVENT=true # use the local nodename to calculate RG_MOVE_ONLINE. This is used # later in scripts like cl_deactivate_vgs for calculating whether # this rg_move is due to selective failover group_state=\$RESGRP_${RGNAME}_${LOCAL_NODE//-/$HA_DASH_CHAR} set +u export RG_MOVE_ONLINE=$(eval print $group_state) set -u RG_MOVE_ONLINE=${RG_MOVE_ONLINE:-TMP_ERROR} # The status of NFS daemons is indicated by the existence of two files. We # make sure these files have been removed, because we assume that any NFS # daemons are already running: rm -f /tmp/.NFSSTOPPED rm -f /tmp/.RPCLOCKDSTOPPED # # Set the RESOURCE_GROUPS environment variable with the name(s) # of all Resource Groups participating in this event, and export # them to all successive scripts. # set -a clsetenvgrp_output=$(clsetenvgrp $NODENAME $PROGNAME $RGNAME) RC=$? eval "$clsetenvgrp_output" set +a # If clsetenvgrp fails, or if RGNAME is not set properly, fail the script if (( $RC != 0 )) || [[ -z $RGNAME ]] then STATUS=1 # # If clsetenvgrp fails then there is something seriously wrong with # the clsuter manager. Exit with exit code of -1. exit -1 fi if [[ -z "$RG_DEPENDENCIES" ]] then RG_DEPENDENCIES="FALSE" fi # # For each participating resource group, serially process the resources # for group in $RESOURCE_GROUPS do # # All sub-scripts must inherit the same environment # values which were set by this script (set -a). # e.g.: all sub-scripts must inherit VERBOSE_LOGGING value. # set -a eval $(clsetenvres $group $PROGNAME) set +a export GROUPNAME=$group # # Check nodename, and call node_down_local or node_up_local accordingly. # # This looks odd, but only because the script names reflect how # they were originally called, not what they do. For example, # reconfig_resource_release also calls node_down_local, and # reconfig_resource_acquire also calls node_up_local. # # node_down_local takes a resource group (implicitly, through # an environment variable) and releases its resources. # Similarly, node_up_local takes a resource group implicitly, # and acquires its resources. NFS remounting and running # applications, wait for the _complete event. # if [[ $ACTION == "" ]] then # rg_move was called during migration, so ACTION was not specified. # Get it from PRINCIPAL_ACTION ACTION="$PRINCIPAL_ACTION" fi if [[ $ACTION == "RELEASE" ]] then if [[ $PRINCIPAL_ACTION == "RELEASE" || \ $ASSOCIATE_ACTION == "UMOUNT" || \ $AUXILLIARY_ACTION == "RELEASE_SECONDARY" ]] then clcallev node_down_local fi elif [[ $ACTION == "ACQUIRE" ]] then if [[ $PRINCIPAL_ACTION == "ACQUIRE" || \ $AUXILLIARY_ACTION == "ACQUIRE_SECONDARY" ]] then MOUNT_FILESYSTEM="" # will acquire NFS mounts in rg_move_complete clcallev node_up_local fi fi # If ANY failure has occurred, this script should exit accordingly if (( $? != 0 )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required." $PROGNAME $group STATUS=1 fi UPDATESTATD=1 #the statd should be updated only once per node done # # Process_Resources for cluster manager-driven actions # # AM_SYNC_CALLED_BY determines if the cl_sync_vgs is called # as part of rg_move event.This is used for logging VG sync # in clavailability.log . # export AM_SYNC_CALLED_BY="RG_MOVE" if ! process_resources then STATUS=1 fi # : unsetting AM_SYNC_CALLED_BY from caller's environment as : we don't require it after this point in execution. # unset AM_SYNC_CALLED_BY # Restart the NFS daemons as neeeded, so that the mounts can be # reacquired in rg_move_complete. if [[ -f /tmp/.NFSSTOPPED ]] then rm -f /tmp/.NFSSTOPPED ODMDIR=/etc/objrepos chnfs -g on -x 1 startsrc -s nfsd rcstartsrc=$? if (( $rcstartsrc != 0 )) then : rc_startsrc.nfsd = $rcstartsrc fi startsrc -s rpc.mountd rcstartsrc=$? if (( $rcstartsrc != 0 )) then : rc_startsrc.rpc.mountd = $rcstartsrc fi fi if [[ -f /tmp/.RPCLOCKDSTOPPED ]] then rm -f /tmp/.RPCLOCKDSTOPPED integer ATTEMPT=0 while (( ATTEMPT++ < 60 )) do : rpc.lockd status check #$ATTEMPT LC_ALL=C lssrc -s rpc.lockd | grep stopping (( $? == 0 )) && sleep 1 || break done startsrc -s rpc.lockd rcstartsrc=$? if (( $rcstartsrc != 0 )) then : rc_startsrc.rpc.lockd = $rcstartsrc fi fi exit $STATUS UR kt#+#bX՝ab&#./usr/es/sbin/cluster/events/rg_move.rp# @(#)88 1.5 src/43haes/usr/sbin/cluster/events/rg_move.rp, hacmp.pe, 61haes_r714 3/29/06 19:22:37 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rg_move.rp 1.5 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2006 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # rg_move.rp # # format: # relationship command to run expected status NULL # all_activeinactive "rg_move_release" 0 NULL # barrier # all_activeinactive "rg_move_fence" 0 NULL # barrier # all "rg_move_acquire" 0 NULL # barrier # all "rg_move_complete" 0 NULL #  k\3#+8b՝ab&8./usr/es/sbin/cluster/events/rg_move_acquirehan#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/rg_move_acquire.sh 1.9.1.7 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)73 1.9.1.7 src/43haes/usr/sbin/cluster/events/rg_move_acquire.sh, hacmp.events, 61haes_r720, 1536A_hacmp720 8/31/15 04:52:15 # $Id$ ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: rg_move_acquire # # # # Description: This event script is called when a resource # # group needs to move. # # This script calls the rg_move event script # # with the "ACQUIRE" argument. # # # # Called by: cluster manager # # # # Calls to: rg_move # # # # Arguments: nodename rg_ID # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH eval export $(cllsparam -x) [[ "$VERBOSE_LOGGING" == "high" ]] && set -x [[ "$VERBOSE_LOGGING" == "high" ]] && version='1.9.1.7' set -u if [ $# != 2 ] then cl_echo 6163 "Usage: $PROGNAME nodename RG_id\n" $PROGNAME exit 2 fi set +u RG=$(clodmget -n -q "id=$2" -f group HACMPgroup) export RG if [[ $EVENT_TYPE == "ACQUIRE_PRIMARY" ]] then # Invoke Active Node Halt Policy before bringing # RG online typeset -i anhp_ret=0 typeset -i scsi_ret=0 typeset ANHP_ENABLED=$(clodmget -n -q "policy = anhp" -f value HACMPsplitmerge) if [[ $ANHP_ENABLED == "Yes" ]] then cl_chk_quarantine anhp_ret=$? fi # Invoke SCSIPR Disk Fencing before bringing RG Online typeset SCSIPR_ENABLED=$(clodmget -n -q "policy = scsi" -f value HACMPsplitmerge) if [[ $SCSIPR_ENABLED == "Yes" ]] then # Preempt the VGs which are part of HACMPresource from the node whose CAA state is down cl_scsipr_preempt scsi_ret=$? fi ## Following is the information of return codes for ANHP and SCSI Fencing ## 0 : quarantine policy is not configured ## 1 : quarantine policy is configured and exit with error ## 2 : quarantine policy is configured and succeded ## Will exit from rg_move_acquire in below cases ## a) both ANHP and SCSI fencing configured and failed ## b) ANHP is configured and failed, SCSI fencing is not configured ## c) SCSI fencing is configred and failed , ANHP is not configured if (( $anhp_ret == 1 && $scsi_ret == 1 )) then exit 1 elif (( $anhp_ret == 1 && $scsi_ret == 0 )) then exit 1 elif (( $scsi_ret == 1 && $anhp_ret == 0 )) then exit 1 fi fi clcallev rg_move $1 $2 "ACQUIRE" exit_status=$? : exit status of clcallev rg_move $1 $2 "ACQUIRE" is: $exit_status exit $exit_status  kư#+;b՝ab&;./usr/es/sbin/cluster/events/rg_move_completean#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/rg_move_complete.sh 1.46 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/rg_move_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: rg_move_complete # # # # Description: This script is called at the end of the # # rg_move recovery program. Inspired by # # reconfig_resource_complete, it calls both # # node_up_remote_complete and # # node_up_local_complete to remount NFS # # filesystems and run applications, respectively. # # # # Called by: cluster manager # # # # Calls to: node_up_local_complete, node_up_remote_complete # # # # Arguments: nodename, RGid, [destination_nodename] # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # Does a union of SIBLING_ACQUIRING_GROUPS and SIBLING_RELEASING_GROUPS # and removes any duplicate group names ######################################################################### listSiblingGroups () { typeset PS4_FUNC="listSiblingGroups" [[ $VERBOSE_LOGGING == "high" ]] && set -x if [[ -n $(clodmget -f type HACMPrresmethods) ]] then return "" fi for group in $SIBLING_ACQUIRING_GROUPS $SIBLING_RELEASING_GROUPS do echo $group done | sort -u return } ######################################################################### # # Main Starts Here # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" eval export $(cllsparam -x) # : Set the Run-Time Parameter values and export them to all successive scripts. # LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a : The following lines create informative trace output [[ $VERBOSE_LOGGING == "high" ]] && { set -x version='%I%' } # # This will be the exit status seen by the Cluster Manager. # integer STATUS=0 if [[ -z $EMULATE ]] then EMULATE="REAL" fi set -u if (( $# < 2 || $# > 3 )) then cl_echo 6163 "Usage: $PROGNAME nodename RG_id [destination]\n" "$PROGNAME" exit 2 fi export NODENAME=$1 RGID=$2 if (( $# == 3 )) then RGDESTINATION=$3 else RGDESTINATION="" fi # : serial number for this event is $EVENT_SERIAL_NUMBER # # : Interpret resource group ID into a resource group name. # eval RGNAME=$(clodmget -q"id=$RGID" -f group -n HACMPgroup) GROUPNAME="$RGNAME" integer UPDATESTATD=0 integer NFSSTOPPED=0 integer LIMIT=60 WAIT=1 TRY=0 # : If this is a two node cluster and exported filesystems exist, then : when the cluster topology is stable notify rpc.statd of the changes. # if (( 2 == $(clnodename | wc -l) )) then RESOURCE_GROUPS=$(clodmget -f group -n HACMPgroup) for group in $RESOURCE_GROUPS do EXPORTLIST=$(clodmget -q "group=$group AND name=EXPORT_FILESYSTEM" \ -f value -n HACMPresource) if [[ -n $EXPORTLIST && $group == $RGNAME ]] then UPDATESTATD=1 if [[ $EMULATE == "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_update_statd\n" else cl_update_statd if (( $? != 0 )); then cl_log 1074 "$PROGNAME: Failure occurred while processing cl_update_statd.\n" $PROGNAME STATUS=1 fi fi break fi done fi # : Set the RESOURCE_GROUPS environment variable with the names : of all resource groups participating in this event, and export : them to all successive scripts. # set -a clsetenvgrp_output=$(clsetenvgrp $NODENAME $PROGNAME $RGNAME $RGDESTINATION) RC=$? eval "$clsetenvgrp_output" set +a if (( $RC != 0 )) then STATUS=1 fi # : For each participating resource group, serially process the resources. # for group in $RESOURCE_GROUPS do # : All sub-scripts must inherit the same environment : values which were set by this script via set -a. : e.g.: all sub-scripts must inherit VERBOSE_LOGGING value. : : Although clsetenvres parses its second argument, looking for : the keywords "up," "down" and "complete", we will pass : the name of this script which only has a "complete" in it. : This is analogous to what reconfig_resource_complete does, : and it works. # set -a eval $(clsetenvres $group $PROGNAME) set +a export GROUPNAME=$group if [[ -n "$EXPORT_FILESYSTEM$EXPORT_FILESYSTEM_V4" ]] then NFSSTOPPED=1 fi # : Call node_up_remote_complete AND, if necessary, : node_up_local_complete. Note that we run this : latter script when this node is NOT the one from : which the resource group moved. : : This looks strange indeed, but only because the names : of the scripts reflect how they were originally called, : rather than what they actually do. This sequence is : also used by reconfig_resource_complete. : : In fact, the script "node_up_remote_complete" remounts : NFS if needed, and "node_up_local_complete" runs any : applications configured in the resource groups it is : passed. I have indicated more informative alternative : names for each command, below: : : Emulation is handled by these scripts, so I need not check here. : : NFS_remount $NODENAME, for a resource group : implicitly passed in the environment. # clcallev node_up_remote_complete $NODENAME if (( $? != 0 )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required.\n" "$PROGNAME" "$group" STATUS=1 fi if [[ $PRINCIPAL_ACTION == "ACQUIRE" ]] then # : run_rg_applications, for a resource group : implicitly passed in the environment. # clcallev node_up_local_complete fi if (( $? != 0 )) then cl_log 650 "$PROGNAME: Failure occurred while processing Resource Group $group. Manual intervention required.\n" "$PROGNAME" "$group" STATUS=1 fi done if (( $UPDATESTATD == 1 )) then if [[ $EMULATE == "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "stopsrc -s rpc.lockd\n" echo "startsrc -s rpc.lockd\n" else stopsrc -s rpc.lockd rcstopsrc=$? if (( $rcstopsrc != 0 )) then : rc_stopsrc.rpc.lockd == $rcstopsrc fi for (( TRY=0; $TRY<$LIMIT; TRY++ )) do LC_ALL=C lssrc -s rpc.lockd | tail -1 | read name subsystem pid state if [[ ! -z $state ]]; then sleep $WAIT else break fi done if [[ ! -z $state ]]; then : Friendly stop has not worked. Trying a more forceful method. stopsrc -cs rpc.lockd : Await rpc.lockd shut down. : RG with NFS resources cannot be handled without rpc.lockd. cl_echo 9999 "Warning: rpc.lockd is running, waiting for it to stop.\n\n" for (( ; ; )) do LC_ALL=C lssrc -s rpc.lockd | tail -1 | read name subsystem pid state if [[ ! -z $state ]]; then sleep $WAIT else break fi done fi # : Sure that rpc.lockd stopped. Restart it. # startsrc -s rpc.lockd rcstartsrc=$? if (( $rcstartsrc != 0 )) then : rc_startrc.rpc.lockd == $rcstartsrc fi fi else : \$UPDATESTATD == $UPDATESTATD if (( $NFSSTOPPED == 1 )) then if [[ $EMULATE == "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "startsrc -s rpc.lockd\n" else for (( TRY=0; $TRY<$LIMIT; TRY++ )) do LC_ALL=C lssrc -s rpc.lockd | tail -1 | read name subsystem pid state if [[ ! -z $state ]]; then sleep $WAIT else break fi done if [[ ! -z $state ]] then : Friendly stop has not worked. Trying a more forceful method. stopsrc -cs rpc.lockd : Await rpc.lockd shut down. : RG with NFS resources cannot be handled without rpc.lockd. cl_echo 9999 "Warning: rpc.lockd is running, waiting for it to stop.\n\n" for (( ; ; )) do LC_ALL=C lssrc -s rpc.lockd | tail -1 | read name subsystem pid state if [[ ! -z $state ]]; then sleep $WAIT else break fi done fi # : Sure that rpc.lockd stopped. Restart it. # startsrc -s rpc.lockd rcstartsrc=$? if (( $rcstartsrc != 0 )) then : rc_startrc.rpc.lockd == $rcstartsrc fi fi fi fi # : If the resource group in this rg_move is now homeless, : then we need to put it into an error state. # active_node=0 for GROUP in $HOMELESS_GROUPS do # This code is used only for SAP RG's, In one scenario SAP ERS RG's are bounce # between ONLINE and ERROR state, to avoid this we are moving ERS RG # to OFFLINE if both SCS and ERS are trying to come online on the same node and # only one is node active in the cluster. #Check if this RG is ERS RG or not,if is it not ERS RG update RG state to error and continue application_id=$(clodmget -n -q "name=RESOURCE_GROUP and value=$GROUP" -f application_id HACMPsa_metadata) if [[ -n $application_id && $application_id == @(*ERS*) ]] then # set active_node if any node is active other than local node for node in $(clodmget -n -f nodes -q "group =$GROUP" HACMPgroup) do if [[ $node == $LOCAL_NODE ]] then continue else STATE=$(LC_ALL=C cl_rsh -n $node "/usr/es/sbin/cluster/utilities/cldare -a") if [[ $STATE == "ACTIVE" ]] then active_node=1 break fi fi done if (( $active_node != 1 )) then # yes current RG is ERS, now get the corresponding misc data CS=$(clodmget -n -q "group=$GROUP and name=MISC_DATA" -f value HACMPresource) if [[ -n $CS ]] then CS_IPs=$(echo $CS | cut -f2 -d,) CS_IP1=$(echo $CS_IPs | cut -f1 -d_) CS_IP2=$(echo $CS_IPs | cut -f2 -d_) if [[ -n $CS_IP2 ]] then CS_IP="${CS_IP1}|${CS_IP2}" else CS_IP="${CS_IP1}" fi # Check SCS ServiceIP is online or not ? if it is online then ERS should go to OFFLINE if [[ -n $(ifconfig -a | egrep -w "${CS_IP}") ]] then cl_RMupdate rg_down $GROUP $PROGNAME continue fi fi fi fi cl_RMupdate rg_error $GROUP $PROGNAME done # : If the resource group in this rg_move is now homeless_secondary, : then we need to put it into an errorsecondary state. # for GROUP in $HOMELESS_FOLLOWER_GROUPS do cl_RMupdate rg_error_secondary $GROUP $PROGNAME done # : Set an error state for concurrent groups that have : been brought offline on this node by rg_move. # for GROUP in $ERRSTATE_GROUPS do if [[ $GROUP == $RGNAME ]] then cl_RMupdate rg_error $RGNAME $PROGNAME fi done # AM_SYNC_CALLED_BY determines if the cl_sync_vgs is called # as part of rg_move_complete event.This is used for logging # VG sync in clavailability.log in cl_sync_vgs only if it is # called as part of rg_move event. export AM_SYNC_CALLED_BY="RG_MOVE_COMPLETE" process_resources STATUS=$? : The exit status of process_resources is: $STATUS # # unsetting AM_SYNC_CALLED_BY from caller's environment # as we don't require it after this point in execution # unset AM_SYNC_CALLED_BY if [[ $RG_DEPENDENCIES == "TRUE" ]] then for siblingGroup in $SIBLING_ACQUIRING_GROUPS do set -a eval $(clsetenvres $siblingGroup $PROGNAME) set +a set -a eval $(clsetrepenv $siblingGroup) set +a export GROUPNAME=$siblingGroup METHODS=$(cl_rrmethods2call join_cleanup) for method in $METHODS do if [[ -x $method ]] then if ! $method $PROGNAME $NODENAME then STATUS=1 fi fi done done fi # Call the rg_move replicated resource method for all groups # participating in this event if [[ -z $RESOURCE_GROUPS ]] then RESOURCE_GROUPS=$RGNAME fi for group in $RESOURCE_GROUPS do export GROUPNAME=$group METHODS=$(cl_rrmethods2call postrg_move) for method in $METHODS do if [[ -x $method ]] then if ! $method $PROGNAME $NODENAME then STATUS=1 fi fi done done # Refresh clcomd. refresh -s clcomd exit $STATUS ror  k^#+;b՝ab&;./usr/es/sbin/cluster/events/rg_move_fencetean#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rg_move_fence.sh 1.11 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/rg_move_fence.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: rg_move_fence # # # # Description: This event script is called when a resource # # group needs to move. # # This script calls the process_resources event # # script with the "ACQUIRE" argument. # # This will process any needed fencing for the # # rg_move. # # # # Called by: cluster manager # # # # Calls to: process_resource # # # # Arguments: nodename rg_ID # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### export PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH eval export $(cllsparam -x) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.11' export NODENAME=$1 set -u if [ $# != 2 ] then cl_echo 6163 "Usage: $PROGNAME nodename RG_id\n" $PROGNAME exit 2 fi set +u if [[ -z "$RG_DEPENDENCIES" ]] then RG_DEPENDENCIES="FALSE" fi if [[ "$RG_DEPENDENCIES" = "TRUE" ]] then LOCAL_NODENAME=$LOCALNODENAME eval RGNAME=$(odmget -q"id=$2" HACMPgroup | egrep "group =" | awk '{print $3}') GROUPNAME="$RGNAME" group_state=\$RESGRP_${RGNAME}_${LOCAL_NODENAME//-/$HA_DASH_CHAR} set +u export RG_MOVE_ONLINE=$(eval print $group_state) set -u RG_MOVE_ONLINE=${RG_MOVE_ONLINE:-TMP_ERROR} set -a clsetenvgrp_output=$(clsetenvgrp $LOCAL_NODENAME "rg_move" $RGNAME "") RC=$? eval "$clsetenvgrp_output" set +a if [ $RC -ne 0 ] then STATUS=1 fi fi process_resources "FENCE" : exit status of process_resources "FENCE" is: $? if [[ "$RG_DEPENDENCIES" = "TRUE" ]] then export EVENT_TYPE; echo "$EVENT_TYPE" if [[ -n "$SIBLING_RELEASING_GROUPS" ]] then # # Call the leave_cleanup replicated resource method if defined # for siblingGroup in $SIBLING_RELEASING_GROUPS do set -a eval $(clsetrepenv $siblingGroup) set +a export GROUPNAME=$siblingGroup METHODS=$(cl_rrmethods2call leave_cleanup) for method in $METHODS do if [[ -x $method ]] then if ! $method $PROGNAME $NODENAME then STATUS=1 fi fi done done fi fi exit $? OG_BE k#+B b՝ab&B ./usr/es/sbin/cluster/events/rg_move_releasean#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rg_move_release.sh 1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)71 1.6 src/43haes/usr/sbin/cluster/events/rg_move_release.sh, hacmp.events, 61haes_r714 3/30/07 16:18:51 # $Id$ ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: rg_move_release # # # # Description: This event script is called when a resource # # group needs to move. # # This script calls the rg_move event script # # with the "RELEASE" argument. # # # # Called by: cluster manager # # # # Calls to: rg_move # # # # Arguments: nodename rg_ID # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH eval export $(cllsparam -x) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.6' set -u if [ $# != 2 ] then cl_echo 6163 "Usage: $PROGNAME nodename RG_id\n" $PROGNAME exit 2 fi set +u clcallev rg_move $1 $2 "RELEASE" exit $? @  kp#+bX՝ab&./usr/es/sbin/cluster/events/rg_offline.rpean# @(#)83 1.3 src/43haes/usr/sbin/cluster/events/rg_offline.rp, hacmp.pe, 61haes_r714 4/8/06 18:39:14 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rg_offline.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2006 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # rg_offline.rp # # format: # relationship command to run expected status NULL # all_activeinactive "rg_move_release" 0 NULL # barrier # all_activeinactive "rg_move_fence" 0 NULL # ## k#+bX՝ab&./usr/es/sbin/cluster/events/rg_online.rpean# @(#)86 1.2 src/43haes/usr/sbin/cluster/events/rg_online.rp, hacmp.pe, 61haes_r714 1/23/04 19:52:51 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rg_online.rp 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # rg_online.rp # # format: # relationship command to run expected status NULL # all "rg_move_fence" 0 NULL # barrier # all "rg_move_acquire" 0 NULL # barrier # all "rg_move_complete" 0 NULL # ####### kb#+@CbX՝ab&C./usr/es/sbin/cluster/events/rp_grace_periodsan@@# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/rp_grace_periods 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1997,2000 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG This file is no longer used as of the HACMP/ES release 4.4.1. Network grace periods are now retreived directly from the HACMPnim odm. co kY#+"bX՝ab&"./usr/es/sbin/cluster/events/rules.hacmprddsan# "@(#)29 1.9 src/43haes/usr/sbin/cluster/events/rules.hacmprd, hacmp.pe, 61haes_r714 12/15/00 15:09:10" # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/rules.hacmprd 1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2000 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ######################################################################## # # This file contains the HACMP/PE recovery program to event mapping # # format: (1) name # (2) state (qualifier) # (3) recovery program path # (4) recovery type (Reserved for future use) # (5) recovery level (Reserved for future use) # (6) resource variable name (Used for Event Manager events) # (7) instance vector (Used for Event Manager events) # (8) predicate (Used for Event Manager events) # (9) rearm predicate (Used for Event Manager events) # ##### Beginning of Event Definition Node Up ############### # # # # ######################################################################## # # WARNING WARNING WARNING # # This file is NO LONGER USED and is shipped for compatibility # purposes ONLY. Updates to this file will have NO EFFECT. # # WARNING WARNING WARNING # # ######################################################################## # # TE_JOIN_NODE 0 /usr/es/sbin/cluster/events/node_up.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Node Up ###### # # ##### Beginning of Event Definition Node Down ########## # TE_FAIL_NODE 0 /usr/es/sbin/cluster/events/node_down.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Node Down ###### # # ##### Beginning of Event Definition Network Up ########## # TE_JOIN_NETWORK 0 /usr/es/sbin/cluster/events/network_up.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Network Up ###### # # ##### Beginning of Event Definition Network Down ########## # TE_FAIL_NETWORK 0 /usr/es/sbin/cluster/events/network_down.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Network Down ###### # # ##### Beginning of Event Definition Swap Adapter ########## # TE_SWAP_ADAPTER 0 /usr/es/sbin/cluster/events/swap_adapter.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Swap Adapter ###### # # ##### Beginning of Event Definition Join Stabdby ########## # TE_JOIN_STANDBY 0 /usr/es/sbin/cluster/events/join_standby.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Join Standby ###### # # ##### Beginning of Event Definition Fail Standby ########## # TE_FAIL_STANDBY 0 /usr/es/sbin/cluster/events/fail_standby.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Fail Standby ###### # # ##### Beginning of Event Definition Migrate ########## # TE_MIGRATE 0 /usr/es/sbin/cluster/events/migrate.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Migrate ###### # # ##### Beginning of Event Definition DARE Topology ########## # TE_DARE_TOPOLOGY 0 /usr/es/sbin/cluster/events/reconfig_topology.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition DARE Topology ###### # # ##### Beginning of Event Definition DARE Resource ########## # TE_DARE_RESOURCE 0 /usr/es/sbin/cluster/events/reconfig_resource.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition DARE Resource ###### # ##### Beginning of Event Definition Server Restart ########## # TE_SERVER_RESTART 0 /usr/es/sbin/cluster/events/server_restart.rp 2 0 # 6) Resource variable used for event manager # 7) Instance vector, used for event manager # 8) Predicate for event manager (8 == OnlineMonitorFailed) # 9) Rearm predicate # ##### End of Event Definition Server Restart ###### # ##### Beginning of Event Definition Server Down ########## TE_SERVER_DOWN 0 /usr/es/sbin/cluster/events/server_down.rp 2 0 # 6) Resource variable used for event manager # 7) Instance vector, used for event manager # 8) Predicate for event manager (32 == OnlineFailed) # 9) Rearm predicate ##### End of Event Definition Server Down ###### # ##### Beginning of Event Definition Resource Group Move ############### # TE_RG_MOVE 0 /usr/es/sbin/cluster/events/rg_move.rp 2 0 # 6) Resource variable used for event manager # 7) Instance vector, used for event manager # 8) Predicate for event manager (64 == OnlineFailover) # 9) Rearm predicate ##### End of Event Definition Resource Group Move ###### # ##### Beginning of Event Definition Site Up ############### # TE_JOIN_SITE 0 /usr/es/sbin/cluster/events/site_up.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Site Up ###### # ##### Beginning of Event Definition Site Down ########## # TE_FAIL_SITE 0 /usr/es/sbin/cluster/events/site_down.rp 2 0 # 6) Resource variable only used for event manager events # 7) Instance vector, only used for event manager events # 8) Predicate, only used for event manager events # 9) Rearm predicate, only used for event manager events ##### End of Event Definition Site Down ###### manage k.#+*b՝ab&*./usr/es/sbin/cluster/events/server_downddsan#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/server_down.sh 1.14 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/server_down.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # # Name: server_down # # # # Description: This event script is called when an application # # that is monitored fails. It runs the notify # # script for that monitor, if one is defined. # # # # Called by: resource manager # # # # Calls to: None # # # # Arguments: nodename resource_id # # # # nodename - name of the node where the # # application failed. # # # # resource_id - the resource id of the # # application server. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi # # Set the Run-Time Parameter values and export them # to all successive scripts. # set -a eval $(cllsparam -n $LOCALNODENAME) set +a # # Check for minimal invocation # if [ $# -gt 3 ] then cl_log 10408 "Usage: $PROGNAME nodename resource_id [monitor name]\n" $PROGNAME exit 2 fi MONITOR="" STATUS=0 EXIT_STATUS=0 # # args are the event node, id of the server and an optional monitor name # NODENAME=$1 ID=$2 [[ $# = 3 ]] && MONITOR=$3 # # Event emulation support # if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi # # Find what kind of resource this "server" is # typeset RESOURCE=$(odmget -q"id=$ID" HACMPresource | egrep "name =" \ | cut -f2 -d\") # # Find is it is USERDEFINED resource type # typeset RESTYPE=$(odmget -q"id=$ID" HACMPresource | egrep "type =" \ | cut -f2 -d\") # # check the type # if [[ -z $RESOURCE || ( $RESOURCE != APPLICATIONS && $RESTYPE != USERDEFINED && \ $RESOURCE != VOLUME_GROUP && $RESOURCE != SERVICE_LABEL ) ]] then cl_log 6161 "Bad resource id $ID. Neither an application server nor an user defined resource.\n" $ID exit 2 fi # # Find the name # typeset APPNAME=$(odmget -q"id=$ID" HACMPresource | egrep "value =" \ | cut -f2 -d\") dspmsg scripts.cat 9332 "$PROGNAME: Called for $RESOURCE $APPNAME on node $NODENAME\n" $PROGNAME $RESOURCE $APPNAME $NODENAME # # A resource can have multiple monitors associated with it - get the list # if [[ -z $MONITOR ]]; then MONITORS=$(odmget -q"name = RESOURCE_TO_MONITOR AND value = $APPNAME" HACMPmonitor | grep "monitor =" | cut -f2 -d'"') else # if passed a specific monitor, only run methods for that one MONITORS=$MONITOR fi for monitor in $MONITORS do # # Lookup any user defined notification method and execute it # NOTIFY=$(odmget -q"monitor=$monitor and name=NOTIFY_METHOD" HACMPmonitor | grep "value =" | cut -d'"' -f2) NOTIFY_SCRIPT=$(echo $NOTIFY | cut -d' ' -f1) # in case of embedded blank if [[ -n $NOTIFY_SCRIPT && -x $NOTIFY_SCRIPT ]] then dspmsg scripts.cat 9333 "$PROGNAME: Calling user specified notify method $NOTIFY_SCRIPT\n" $PROGNAME $NOTIFY_SCRIPT ODMDIR=/etc/objrepos $NOTIFY & fi done # # Note to users: to add any user defined processing during a server_down event, # define a pre or post event (do not modify this script). # exit 0 calle k #+SbX՝ab&S./usr/es/sbin/cluster/events/server_down.rpsan# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/server_down.rp 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # server_down.rp # # format: # relationship command to run expected status NULL # all "server_down" 0 NULL # barrier # all "server_down_complete" 0 NULL # d'"'  kS#+] b՝ab&] ./usr/es/sbin/cluster/events/server_down_complete_compl#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/server_down_complete.sh 1.11 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/server_down_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Questions ? Comments ? Suggestions ? mailto:hafeedbk@us.ibm.com # ######################################################################### ######################################################################### # # # Name: server_down_complete # # # # Description: This event script is called when an application # # that is being monitored fails. # # # # Called by: Resource Manager # # # # Calls to: None # # # # Arguments: nodename resource_id # # # # nodename - name of the node where the # # application failed. # # # # resource_id - the resource id of the # # application server. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi # # Set the Run-Time Parameter values and export them # to all successive scripts. # set -a eval $(cllsparam -n $LOCALNODENAME) set +a MONITOR="" STATUS=0 EXIT_STATUS=0 # # args are the event node, id of the server and an optional monitor name # NODENAME=$1 ID=$2 [[ $# = 3 ]] && MONITOR=$3 # # Check for minimal invocation # if [ $# -gt 3 ] then cl_log 10408 "Usage: $PROGNAME nodename resource_id [monitor name]\n" $PROGNAME exit 2 fi # # Event emulation support # if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi # # Note to users: to add any user defined processing during a # server_down_complete event, define a pre or post event (do not modify this # script). # exit 0 )  k2#+Cb՝ab&C./usr/es/sbin/cluster/events/server_restartplet#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/server_restart.sh 1.20 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/server_restart.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: server_restart # # # # Description: This event script is called when one of the # # application monitoring needs to restart an # # application server. # # # # Called by: resource manager # # # # Calls to: None # # # # Arguments: nodename, application server resource id # # # # nodename - name of the node where the # # application failed. # # application server resource id: the id # # of the HACMPresource object # # containing the application server. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### # # The following lines create the appropriate trace output # PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi # # Check for minimal invocation # if [ $# -gt 3 ] then cl_log 10408 "Usage: $PROGNAME nodename resource_id [monitor name]\n" $PROGNAME exit 2 fi MONITOR="" STATUS=0 EXIT_STATUS=0 # : args are the event node, id of the server and an optional monitor name # NODENAME=$1 ID=$2 [[ $# == 3 ]] && MONITOR=$3 # : check if the LOCALNODENAME is the same as the event node name : If not, exit cleanly, otherwise continue processing. # [[ -z $LOCALNODENAME ]] && LOCALNODENAME=$(get_local_nodename) if [ $NODENAME != $LOCALNODENAME ] then # : remote event - all done # exit 0 fi typeset WPARNAME EXEC WPARDIR groupName WPARNAME="" EXEC="" WPARDIR="" groupName=$(clodmget -q"id=$ID" -f group -n HACMPresource) [[ -z $GROUPNAME ]] && export GROUPNAME=$groupName WPARNAME=$(clwparname $groupName) if (( $? == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${WPARNAME}) if (( $? != 0 )) then echo "$0 ERROR: Failed to get the WPAR directory for ${WPARNAME}" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi # : Set the Run-Time Parameter values and export them : to all successive scripts. # set -a eval $(cllsparam -n $LOCALNODENAME) set +a set -u # : Find what kind of resource this "server" is # typeset RESOURCE=$(clodmget -q"id=$ID" -f name -n HACMPresource) # : Find is it is USERDEFINED resource type # typeset RESTYPE=$(clodmget -q"id=$ID" -f type -n HACMPresource) # : check the type - only app servers and userdefined resources are : supported by this script # if [[ -z $RESOURCE || ( $RESOURCE != APPLICATIONS && $RESTYPE != USERDEFINED ) ]] then cl_log 6161 "Bad resource id $ID. Neither an application server nor an user defined resource.\n" $ID exit 2 fi # : Find the name # typeset APPNAME=$(clodmget -q"id=$ID" -f value HACMPresource) # : A resource can have multiple monitors associated with it - get the list # if [[ -z $MONITOR ]]; then MONITORS=$(clodmget -q"name = RESOURCE_TO_MONITOR AND value = $APPNAME" -f monitor -n HACMPmonitor) else # : if passed a specific monitor, only run methods for that one # MONITORS=$MONITOR fi for monitor in $MONITORS do # : Lookup any user defined notification method and execute it # NOTIFY=$(clodmget -q"monitor=$monitor and name=NOTIFY_METHOD" -f value -n HACMPmonitor | sed 's-\\"-"-g') print -- $NOTIFY | read NOTIFY_SCRIPT rest if [[ ( -n ${WPARNAME} && -n ${NOTIFY_SCRIPT} && -x ${WPARDIR}/${NOTIFY_SCRIPT} ) || \ ( -z ${WPARNAME} && -n ${NOTIFY_SCRIPT} && -x ${NOTIFY_SCRIPT} ) ]] then dspmsg scripts.cat 9333 \ "$PROGNAME: Calling user specified notify method $NOTIFY\n" \ $PROGNAME $NOTIFY ${EXEC} $NOTIFY & if [ $? -ne 0 ] then cl_log 6162 "Failure in user-defined script $NOTIFY.\n" \ $NOTIFY # no exit here, must still try to clean the application up. fi fi # : Look for the user defined cleanup method and execute it if it exists # CLEANUP=$(clodmget -q"monitor=$monitor and name=CLEANUP_METHOD" -f value -n HACMPmonitor | sed 's-\\"-"-g') print -- $CLEANUP | read CLEANUP_SCRIPT rest if [[ ( -n ${WPARNAME} && -n $CLEANUP_SCRIPT && -x ${WPARDIR}/$CLEANUP_SCRIPT ) || \ ( -z ${WPARNAME} && -n $CLEANUP_SCRIPT && -x $CLEANUP_SCRIPT ) ]] then dspmsg scripts.cat 9334 "$PROGNAME: Calling user specified cleanup method $CLEANUP\n" $PROGNAME $CLEANUP ${EXEC} $CLEANUP STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6162 "Failure in user-defined script $CLEANUP.\n" $CLEANUP # : save the exit status and continue to process methods for the next monitor # EXIT_STATUS=$STATUS fi fi done exit $EXIT_STATUS ##### k>#+bX՝ab&./usr/es/sbin/cluster/events/server_restart.rpt# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/server_restart.rp 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # server_restart.rp # # format: # relationship command to run expected status NULL # event "server_restart" 0 NULL # barrier # other "server_restart" 0 NULL # barrier # all "server_restart_complete" 0 NULL # nly  k|L#+'b՝ab&'./usr/es/sbin/cluster/events/server_restart_completempl#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/server_restart_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # Questions ? Comments ? Suggestions ? mailto:hafeedbk@us.ibm.com # ######################################################################### ######################################################################### # # # Name: server_restart_complete # # # # Description: This event script is called when an application # # server has been successfully restarted. # # # # Called by: resource manager # # # # Calls to: None # # # # Arguments: nodename, application server resource id # # # # nodename - name of the node where the # # application failed. # # # # application server resource id: the id # # of the HACMPresource object # # containing the application server. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../utilities/cl_get_path all)" export PATH # # Set the Run-Time Parameter values and export them # to all successive scripts. # set -a eval $(cllsparam -n $LOCALNODENAME) set +a # # The following lines create the appropriate trace output # [[ $VERBOSE_LOGGING == high ]] && set -x [[ $VERBOSE_LOGGING == high ]] && version='1.19 $Source: 61haes_r711 43haes/usr/sbin/cluster/events/server_restart_complete.sh 1$' MONITOR="" STATUS=0 EXIT_STATUS=0 # # Check for minimal invocation # if [ $# -gt 3 ] then cl_log 10408 "Usage: $PROGNAME nodename resource_id [monitor name]\n" $PROGNAME exit 2 fi # # args are the event node, id of the server and an optional monitor name # NODENAME=$1 ID=$2 [[ $# = 3 ]] && MONITOR=$3 # # check to see if the LOCALNODENAME is the event node # if [ $NODENAME != $LOCALNODENAME ] then # remote event - all done exit 0 fi typeset WPARNAME EXEC WPARDIR groupName WPARNAME="" EXEC="" WPARDIR="" groupName=$(odmget -q"id=$ID" HACMPresource | egrep "group =" | cut -f2 -d\") [[ -z "$GROUPNAME" ]] && export GROUPNAME=$groupName WPARNAME=$(clwparname $groupName) if (( $? == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${WPARNAME}) if [[ $? != 0 ]] then echo "$0 ERROR: Failed to get the WPAR directory for ${WPARNAME}" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi set -u # # Find what kind of resource this "server" is # typeset RESOURCE=$(odmget -q"id=$ID" HACMPresource | egrep "name =" \ | cut -f2 -d\") # # Find is it is USERDEFINED resource type # typeset RESTYPE=$(odmget -q"id=$ID" HACMPresource | egrep "type =" \ | cut -f2 -d\") # # check the type - only app servers and user defined resources # are supported by this script # if [[ -z $RESOURCE || ( $RESOURCE != APPLICATIONS && $RESTYPE != USERDEFINED ) ]] then cl_log 6161 "Bad resource id $ID. Neither an application server nor an user defined resource. \n" $ID exit 2 fi # # Find the application name # APPNAME=$(odmget -q"id=$ID" HACMPresource | egrep "value =" | cut -f2 -d\") # # A resource can have multiple monitors associated with it - get the list # if [[ -z $MONITOR ]]; then MONITORS=$(odmget -q"name = RESOURCE_TO_MONITOR AND value = $APPNAME" HACMPmonitor | grep "monitor =" | cut -f2 -d'"') else # if passed a specific monitor, only run methods for that one MONITORS=$MONITOR fi for monitor in $MONITORS do # # Lookup any user defined restart method and execute it # RESTART=$(odmget -q"monitor=$monitor and name=RESTART_METHOD" HACMPmonitor \ | egrep "value =" | cut -d'"' -f2) # seperate script name from any args RESTART_SCRIPT=$(echo $RESTART | cut -d' ' -f1) if [[ ( -n ${WPARNAME} && -n $RESTART_SCRIPT && \ -x ${WPARDIR}/$RESTART_SCRIPT ) || \ ( -z ${WPARNAME} && -n $RESTART_SCRIPT && -x $RESTART_SCRIPT ) ]] then dspmsg scripts.cat 9335 "$PROGNAME: Calling user specified restart method $RESTART_SCRIPT\n" $PROGNAME $RESTART_SCRIPT ${EXEC} $RESTART & STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6162 "Failure in user-defined script $RESTART_SCRIPT.\n" $RESTART_SCRIPT # save the exit status and continue to process methods for the next monitor EXIT_STATUS=$STATUS fi fi done # If we haven't exited already, exit with success: exit $EXIT_STATUS k#+ b՝ab& ./usr/es/sbin/cluster/events/site_downt#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down.sh 1.11 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down # # # # Description: This event script is called when the # # last node in a site goes down. # # The script checks to see whether the sitename # # is the local node or not, then calls sub-event # # scripts accordingly. # # # # Called by: cluster manager # # # # Calls to: site_down_local, site_down_remote # # # # Arguments: nodename # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 STATUS=0 if [[ -z "$EMULATE" ]] then EMULATE="REAL" fi # # Call replicated resource site-down methods if they are defined # METHODS=$(cl_rrmethods2call site_cleanup) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done set -u if (( $# < 1 )) then cl_echo 6600 "Usage: $PROGNAME sitename\n" $PROGNAME exit 2 fi if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "No action normally taken in site_down.\n" fi if [[ "$SITENAME" = "$LOCALSITENAME" ]] then clcallev site_down_local else clcallev site_down_remote $SITENAME fi exit $STATUS $# k?#+bX՝ab&./usr/es/sbin/cluster/events/site_down.rpt_comp# sccsid = @(#)89 1.3 src/43haes/usr/sbin/cluster/events/site_down.rp, hacmp.pe, 61haes_r714 11/29/01 12:18:10 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/ES recovery program for site_down events # # format: # relationship command to run expected status NULL # event "site_down" 0 NULL # barrier # other "site_down" 0 NULL # barrier # all "site_down_complete" 0 NULL ## k^i#+ b՝ab& ./usr/es/sbin/cluster/events/site_down_complete#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down_complete # # # # Description: This event script is called after the site_down # # script successfully completes. # # The script checks the sitename, then calls one # # of the two sub-event scripts appropriately. # # # # Called by: cluster manager # # # # Calls to: site_down_local_complete, # # site_down_remote_complete # # # # Arguments: sitename # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u if [ $# -lt 1 ] then cl_echo 6600 "Usage: $PROGNAME sitename\n" $PROGNAME exit 2 fi if [[ "$SITENAME" = "$LOCALSITENAME" ]] then clcallev site_down_local_complete else clcallev site_down_remote_complete $SITENAME fi exit $STATUS roje k$c#+ b՝ab& ./usr/es/sbin/cluster/events/site_down_localte#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down_local.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down_local.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down_local # # # # Description: This script is called when the local site # # leaves the cluster gracefully. # # # # Called by: site_down # # # # Calls to: none # # # # Arguments: None # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ $# -ne 0 ] then cl_echo 690 "Usage: $PROGNAME\n" $PROGNAME exit 2 fi set -u exit $STATUS  k#+p b՝ab&p ./usr/es/sbin/cluster/events/site_down_local_completepl#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down_local_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down_local_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down_local_complete # # # # Description: This script is called after the site_down_local # # script successfully completes. # # # # Called by: site_down_complete # # # # Calls to: None # # # # Arguments: none # # Parameters: none # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a if [ $# -gt 2 ] then cl_echo 690 "Usage: $PROGNAME" $PROGNAME exit 2 fi if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u exit 0  km#+ b՝ab& ./usr/es/sbin/cluster/events/site_down_remoteom#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down_remote.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down_remote.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down_remote # # # # Description: This script is called when a remote site # # leaves the cluster. # # # # Called by: site_down # # # # Calls to: none. # # # # Arguments: sitename # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a STATUS=0 ARGS=$1 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ $# -lt 1 ] then cl_echo 6600 "Usage: $PROGNAME sitename\n" $PROGNAME exit 2 fi set -u exit $STATUS  k#+ b՝ab& ./usr/es/sbin/cluster/events/site_down_remote_completel#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_down_remote_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_down_remote_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: site_down_remote_complete # # # # Description: This script is called after the # # site_down_remote script successfully completes. # # # # Called by: site_down_complete # # # # Calls to: none. # # # # Arguments: sitename # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a STATUS=0 if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ $# -lt 1 ] then cl_echo 6600 "Usage: $PROGNAME sitename" $PROGNAME exit 2 fi set -u exit $STATUS  k^K#+ b՝ab& ./usr/es/sbin/cluster/events/site_isolatione_co#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_isolation.sh 1.10 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2002 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### # # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_isolation.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # ######################################################################### # # # Name: site_isolation # # # # Description: This event script is called when all networks # # of type "geo_primary" go down at a given site. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: None # # # # Returns: 0 success # # 1 failure # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a STATUS=0 # # Call replicated resource site-isolation methods if they are defined # METHODS=$(cl_rrmethods2call site_isolation) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done exit $STATUS NAN kt#+ bX՝ab& ./usr/es/sbin/cluster/events/site_isolation.rpo# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_isolation.rp 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # sccsid = "@(#)21 1.1 src/43haes/usr/sbin/cluster/events/site_isolation.rp, hacmp.events, 61haes_r714 10/10/01 14:02:08" # # # This file contains the HACMP/ES recovery program for site_isolation # events # # format: # relationship command to run expected status NULL # all "site_isolation" 0 NULL # barrier # all "site_isolation_complete" 0 NULL #  k#+ b՝ab& ./usr/es/sbin/cluster/events/site_isolation_completeel#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_isolation_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### # # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_isolation_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # ######################################################################### # # # Name: site_isolation_complete # # # # Description: This event script is called when all networks # # of type "geo_primary" go down at a given site. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: None # # # # Returns: 0 success # # 1 failure # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u # # This will be the exit status seen by the Cluster Manager. # All lower-level scripts should pass status back to the caller. # STATUS=0 exit $STATUS / k#+ b՝ab& ./usr/es/sbin/cluster/events/site_merge#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_merge.sh 1.10 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001,2002 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### # # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_merge.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # ######################################################################### # # # Name: site_merge # # # # Description: This event script is called when a network # # of type "geo_primary" comes up after all of # # them at a given site have been down. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename sitename network_name # # # # nodename - name of the node whose network # # resumes functioning. # # # # sitename - name of the site that contains the # # node whose network resumes # # functioning. # # # # network_name - logical network name from # # cluster configuration. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a STATUS=0 # # Call replicated resource site-merge methods if they are defined # METHODS=$(cl_rrmethods2call site_merge) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done exit $STATUS  k#+ bX՝ab& ./usr/es/sbin/cluster/events/site_merge.rp_comp# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_merge.rp 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # sccsid = "@(#)24 1.1 src/43haes/usr/sbin/cluster/events/site_merge.rp, hacmp.events, 61haes_r714 10/10/01 14:03:21" # # # This file contains the HACMP/ES recovery program for site_merge # events # # format: # relationship command to run expected status NULL # all "site_merge" 0 NULL # barrier # all "site_merge_complete" 0 NULL # #### k֗#+ b՝ab& ./usr/es/sbin/cluster/events/site_merge_completeeteel#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_merge_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### # # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_merge_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # ######################################################################### # # # Name: site_merge_complete # # # # Description: This event script is called when a network of # # type "geo_primary" comes up after all such # # networks at a given site were down. # # # # Called by: cluster manager # # # # Calls to: None # # # # Arguments: nodename sitename network_name # # # # nodename - name of the node whose network # # resumes functioning. # # # # sitename - name of the site containing the node # # whose network resumes working. # # # # network_name - logical network name from # # cluster configuration. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi set -a eval $(cllsparam -n $LOCALNODENAME) set +a if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u # # This will be the exit status seen by the Cluster Manager. # All lower-level scripts should pass status back to the caller. # STATUS=0 # # This is the template script for network_up_complete event, # and is locally configurable. # exit $STATUS k* #+ b՝ab& ./usr/es/sbin/cluster/events/site_upge_#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/site_up.sh 1.12.1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up # # # # Description: This script is called when the first node # # in a site joins the cluster. # # The script checks the id of the node, # # then calls one of the two sub-event script # # accordingly. # # # # Called by: cluster manager # # # # Calls to: site_up_local, site_up_remote # # # # Arguments: sitename # # mode (forced, manual) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi typeset -i STATUS=0 # # Call replicated resource site-up methods if they are defined # if [[ $START_MODE != "forced" ]] then METHODS=$(cl_rrmethods2call site_initialization) for method in $METHODS do if [[ -x $method ]] then if ! $method $* then STATUS=1 fi fi done fi set -u if [[ "$SITENAME" == "$LOCALSITENAME" ]] then clcallev site_up_local $SITENAME $START_MODE (( STATUS += $? )) else clcallev site_up_remote $SITENAME $START_MODE (( STATUS += $? )) fi exit $STATUS uld pas kvB#+bX՝ab&./usr/es/sbin/cluster/events/site_up.rp# sccsid = @(#)90 1.3 src/43haes/usr/sbin/cluster/events/site_up.rp, hacmp.pe, 61haes_r714 11/29/01 12:17:35 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up.rp 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # ######################################################################## # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # # ORIGINS: 27 # # ######################################################################## # # This file contains the HACMP/ES recovery program for site_up events # # format: # relationship command to run expected status NULL # other "site_up" 0 NULL # barrier # event "site_up" 0 NULL # barrier # all "site_up_complete" 0 NULL #  k#+ b՝ab& ./usr/es/sbin/cluster/events/site_up_completete#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up_complete # # # # Description: This script is called when the site_up script # # successfully completes. # # # # Called by: cluster manager # # # # Calls to: site_up_local_complete, site_up_remote_complete # # # # Arguments: sitename and node name # # mode (forced, manual) # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 typeset START_MODE="" set -u if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi if [[ "$SITENAME" == "$LOCALSITENAME" ]] then clcallev site_up_local_complete $SITENAME $START_MODE else clcallev site_up_remote_complete $SITENAME $START_MODE fi exit $?  k#+M b՝ab&M ./usr/es/sbin/cluster/events/site_up_localtete#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up_local.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up_local.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up_local # # # # Description: This script is called when the local site # # joins the cluster. # # # # Called by: site_up # # # # Calls to: None. # # # # Arguments: site name # # optional "forced" flag # # # # Returns: 0 # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi exit 0 $( k#+b՝ab&./usr/es/sbin/cluster/events/site_up_local_completeel#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up_local_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up_local_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up_local_complete # # # # Description: This script is called when the site_up_local # # script successfully completes. # # # # Called by: site_up_complete # # # # Calls to: none. # # # # Arguments: Site name and start mode # # # # Returns: 0 # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a typeset SITENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi exit 0  k[#+7b՝ab&7./usr/es/sbin/cluster/events/site_up_remoteompl#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up_remote.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up_remote.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up_remote # # # # Description: This script is called when a remote site # # has finished joining the cluster. # # # # Called by: site_up # # # # Calls to: none. # # # # Arguments: site name # # startup mode # # # # Returns: 0 # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi exit 0 m k֤#+b՝ab&./usr/es/sbin/cluster/events/site_up_remote_completeel#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/site_up_remote_complete.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/site_up_remote_complete.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # # Name: site_up_remote_complete # # # # Description: This script is called when the site_up_remote # # script successfully completes. # # # # Called by: site_up_complete # # # # Calls to: none # # # Arguments: Site name and start mode # # # # Returns: 0 # # # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi LOCAL_NODE=$(get_local_nodename) set -a eval $(cllsparam -n $LOCAL_NODE) set +a SITENAME=$1 typeset START_MODE="" if (( $# > 1 )) && [[ $2 == "forced" ]] then START_MODE="forced" fi exit 0 = k~U#+%b՝ab&%./usr/es/sbin/cluster/events/start_servere_comp#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/start_server.sh 1.4.1.31 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2012 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/start_server.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: start_server # # # # Description: This script is called to start the # # application controller(s) when the local # # node is completely up or a remote node # # has finished leaving the cluster. # # # # Called by: node_up_local_complete, # # node_down_remote_complete # # # # Calls to: None # # # # Arguments: [controller-names...] # # # # Returns: 0 success # # 1 failure # # # ######################################################################### start_and_monitor_server() { typeset PS4_FUNC="start_and_monitor_server" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x RETURN_STATUS=0 server=$1 # first check if the application is already running echo "Checking whether $server is already running...\n" if [[ -n ${WPARNAME} ]] then cl_app_startup_monitor -s $server -a -w ${WPARNAME} else cl_app_startup_monitor -s $server -a fi RETURN_STATUS=$? : exit status of cl_app_startup_monitor is: $RETURN_STATUS if [[ $RETURN_STATUS == 0 ]] ; # cl_app_startup_monitor monitor is RUNNING then echo "The application monitor detected a running instance of $server. PowerHA SystemMirror will not start another instance of $server on this node. \n" echo "$1 $RETURN_STATUS" > $TMP_FILE.$server return fi # The application is not running or we could not determine if its running # or we are in emulation mode echo "Application monitor(s) indicate that $server is not active. Continuing with application startup.\n" # # First get the start server script. # Then prepare the pattern which we will write to an app. server # status file to keep track of the running server (we only need # to start the app. server once on one node.) # START=$(cllsserv -cn $server | cut -d':' -f2) START_SCRIPT=$(echo $START | cut -d' ' -f1) START_MODE=$(cllsserv -cn $server | cut -d':' -f4) [[ -z "$START_MODE" ]] && START_MODE="background" PATTERN="$LOCALNODENAME $server" RETURN_STATUS=0 # Format for consumption by cl_am utility amlog_trace $AM_APP_START_BEGIN "Starting application controller in $START_MODE|$server" # # If the script is executable, start the server, # If not executable, echo error message. # if [[ ( -n ${WPARNAME} && -x ${WPARDIR}/${START_SCRIPT} ) || \ ( -z ${WPARNAME} && -x $START_SCRIPT ) ]] then if [ "$START_MODE" == "background" ] then echo "Running application controller start script for $server in the background at $(LC_ALL=C date).\n" ODMDIR=$DCD ${EXEC} $START & # there is no check of exit code for background startup else echo "Running application controller start script for $server in the foreground at $(LC_ALL=C date).\n" ODMDIR=$DCD ${EXEC} $START RETURN_STATUS=$? echo "Finished running application controller start script for $server at $(LC_ALL=C date), exit status was $RETURN_STATUS.\n" fi else cl_log 310 "$START_SCRIPT does not exist or is not executable." $START_SCRIPT RETURN_STATUS=1 fi if [[ $RETURN_STATUS != 0 ]] then if [[ $PROC_RES = true ]] then RETURN_STATUS=11 #shows that the resource manager got updated fi # update the resource manager with the results cl_RMupdate resource_error $server $PROGNAME echo "$1 $RETURN_STATUS" > $TMP_FILE.$server return $RETURN_STATUS fi if [[ -n ${WPARNAME} ]] then cl_app_startup_monitor -s $server -w ${WPARNAME} else cl_app_startup_monitor -s $server fi RETURN_STATUS=$? : exit status of cl_app_startup_monitor is: $RETURN_STATUS if [[ $RETURN_STATUS != 0 ]] then if [[ $PROC_RES = true ]]; then RETURN_STATUS=11 #shows that the resource manager got updated fi cl_RMupdate resource_error $server $PROGNAME echo "ERROR: Application Startup did not succeed." fi # write STATUS into file echo "$1 $RETURN_STATUS" > $TMP_FILE.$server # Format for consumption by cl_am utility START_MODE=$(cllsserv -cn $server | cut -d':' -f4) if [[ $START_MODE == 'foreground' ]] then if [[ $RETURN_STATUS != 0 ]] then amlog_err $AM_APP_START_FAILURE "Starting application controller in foreground|$server" else amlog_trace $AM_APP_START_END "Starting application controller in foreground|$server" # Start the process CPU and Memory logging for cl_availability MACTIVE=$(clodmget -q "name = $server" -n -f cpu_usage_monitor HACMPserver) if [[ $MACTIVE == "yes" ]] then MBINARY=$(clodmget -q "name = $server" -n -f process_to_monitor_cpu HACMPserver) MINTERVAL=$(clodmget -q "name = $server" -n -f cpu_usage_monitor_interval HACMPserver) nohup cl_AMmonitor -b $MBINARY -i $MINTERVAL -s $server& fi fi fi return $RETURN_STATUS } ############################################################## # # MAIN starts here # ############################################################## PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi export TMP_FILE="/var/hacmp/log/.start_server.$$" export DCD=/etc/es/objrepos export ACD=/usr/es/sbin/cluster/etc/objrepos/active rm -f $TMP_FILE STATUS=0 # Usage: start_server [server-names...] PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u typeset WPARNAME EXEC WPARDIR export WPARNAME EXEC WPARDIR EXEC="" WPARNAME="" WPARDIR="" # update the resource manager with this operation ALLSERVERS="All_servers" ALLNOERRSERV="All_nonerror_servers" cl_RMupdate resource_acquiring $ALLSERVERS $PROGNAME WPARNAME=$(clwparname ${GROUPNAME}) if (( $? == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${GROUPNAME}) if [[ $? != 0 ]] then echo "$0 ERROR: Failed to get the WPAR directory for ${WPARNAME}" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi for server in $APPLICATIONS do start_and_monitor_server $server & done wait #wait for everybody to finish # Format for consumption by cl_am utility for server in $APPLICATIONS do START_MODE=$(cllsserv -cn $server | cut -d':' -f4) if [ "$START_MODE" == "background" ] then SUCCESS=$(cat $TMP_FILE.$server | cut -f2 -d" ") if [[ $SUCCESS != 0 ]]; then amlog_err $AM_APP_START_FAILURE "Starting application controller in background|$server" else amlog_trace $AM_APP_START_END "Starting application controller in background|$server" # Start the process CPU and Memory logging for cl_availability MACTIVE=$(clodmget -q "name = $server" -n -f cpu_usage_monitor HACMPserver) if [[ $MACTIVE == "yes" ]] then MBINARY=$(clodmget -q "name = $server" -n -f process_to_monitor_cpu HACMPserver) MINTERVAL=$(clodmget -q "name = $server" -n -f cpu_usage_monitor_interval HACMPserver) nohup cl_AMmonitor -b $MBINARY -i $MINTERVAL -s $server& fi fi fi done # see if everybody was successful - results are written to a file # in the form " " for server in $APPLICATIONS do SUCCESS=$(cat $TMP_FILE.$server | cut -f2 -d" ") # check for status file corruption if [[ $SUCCESS != +([0-9]) ]]; then # status file malformed SUCCESS=11 elif (( $SUCCESS != 0 )); then break fi done #Remove temporary files in any case if [[ $SUCCESS == 0 ]]; then for server in $APPLICATIONS do rm -f $TMP_FILE.$server done cl_RMupdate resource_up $ALLNOERRSERV $PROGNAME else echo "One or more application controllers failed to start." echo "See $TMP_FILE. for individual exit status." fi exit $SUCCESS hen k;#+#b՝ab&#./usr/es/sbin/cluster/events/start_udresourcemp#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/start_udresource.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2009,2010 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # sccsid = @(#) 7d4c34b 43haes/usr/sbin/cluster/events/start_udresource.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: start_udresource # # # # Description: This script is called to start the # # user defined resource(s) for given type when the local# # node is completely up or a remote node # # has finished leaving the cluster. # # # # Called by: node_up_local, node_down_remote # # # # Calls to: None # # # # Arguments: [userdefined-resource-name] # # # # Returns: 0 success # # 1 failure # # # ######################################################################### start_and_monitor_udresource() { typeset PS4_FUNC="start_and_monitor_udresource" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x RETURN_STATUS=0 udres=$1 # first check if the userdefined resource is already running dspmsg scripts.cat 99999 "Checking whether $udres is already running...\n" $udres if [[ -n ${WPARNAME} ]] then cl_app_startup_monitor -s $udres -a -w ${WPARNAME} else cl_app_startup_monitor -s $udres -a fi RETURN_STATUS=$? : exit status of cl_app_startup_monitor is: $RETURN_STATUS if [[ $RETURN_STATUS == 0 ]] ; # cl_app_startup_monitor monitor is RUNNING then dspmsg scripts.cat 99999 "The resource monitor detected a running instance of $udres. PowerHA SystemMirror will not start another instance of $udres on this node. \n" $udres $udres echo "$1 $RETURN_STATUS" >> $TMP_FILE return fi # The application is not running or we could not determine if its running # or we are in emulation mode dspmsg scripts.cat 99999 "Resource monitor(s) indicate that $udres is not active. Continuing with resource startup.\n" # # First get the start resource script. # Then prepare the pattern which we will write to an app. server # status file to keep track of the running server (we only need # to start the resource. resource once on one node.) # udrestype=$(cludres -l -n $udres -ch | awk ' FS=":" { print $2 }') START=$(cludrestype -l -n $udrestype | awk ' FS="=" { if( $1 == "START_METHOD" ) print $2 }') START_SCRIPT=$(echo $START | cut -d' ' -f1 | /usr/bin/sed s/\"//g ) PATTERN="$LOCALNODENAME $udres" #export resource specific attributes as env variables eval export `cludres -l -n $udres` # # If the script is executable, start the server, # If not executable, echo error message. # if [[ ( -n ${WPARNAME} && -x ${WPARDIR}/${START_SCRIPT} ) || \ ( -z ${WPARNAME} && -x $START_SCRIPT ) ]] then ODMDIR=/etc/es/objrepos ${EXEC} $START $udres else cl_log 310 "$START_SCRIPT does not exist or is not executable." $START_SCRIPT RETURN_STATUS=1 if [[ $PROC_RES = true ]] then RETURN_STATUS=11 #shows that the resource manager got updated fi # update the resource manager with the results cl_RMupdate resource_error $udres $PROGNAME echo "$1 $RETURN_STATUS" >> $TMP_FILE return $RETURN_STATUS fi if [[ -n ${WPARNAME} ]] then cl_app_startup_monitor -s $udres -w ${WPARNAME} else cl_app_startup_monitor -s $udres fi RETURN_STATUS=$? : exit status of cl_app_startup_monitor is: $RETURN_STATUS if [[ $RETURN_STATUS != 0 ]] then if [[ $PROC_RES = true ]]; then RETURN_STATUS=11 #shows that the resource manager got updated fi cl_RMupdate resource_error $udres $PROGNAME echo "ERROR: Application Startup did not succeed." fi # write STATUS into file echo "$1 $RETURN_STATUS" >> $TMP_FILE return $RETURN_STATUS } ############################################################## # # MAIN starts here # ############################################################## PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == high ]] then set -x version='%I%' fi export TMP_FILE="/var/hacmp/log/.start_udresource.$$" rm -f $TMP_FILE STATUS=0 # Usage: start_udresource [userdefined-resource-names...] PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi # handle simulator mode up front. if [[ -n "$SIMULATENODE" ]]; then cl_echo 3020 "NOTICE >>>> Simulator Command <<<< \n" for each_udres in $UDRESOURCES do echo "Simulator call: cl_RMupdate resource_acquiring $udres $PROGNAME" cl_RMupdate resource_acquiring $each_udres $PROGNAME echo "Simulator call: cl_RMupdate resource_up $each_udres $PROGNAME" cl_RMupdate resource_up $each_udres $PROGNAME done exit 0 fi set -u typeset WPARNAME EXEC WPARDIR export WPARNAME EXEC WPARDIR EXEC="" WPARNAME="" WPARDIR="" # update the resource manager with this operation ALLUDRESOURCES="All_userdefined_resources" ALLNOERRUDRESOURCES="All_nonerror_servers" cl_RMupdate resource_acquiring $ALLUDRESOURCES $PROGNAME WPARNAME=$(clwparname ${GROUPNAME}) if (( $? == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${GROUPNAME}) if [[ $? != 0 ]] then echo "$0 ERROR: Failed to get the WPAR directory for ${WPARNAME}" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi for each_udres in $UDRESOURCES do start_and_monitor_udresource $each_udres & done wait #wait for everybody to finish # see if anybody was successful cat $TMP_FILE | awk '{ if ($2 == 0) { exit 1 } }' SUCCESS=$? if [[ $SUCCESS = 1 ]]; then # update the resource manager with the results cl_RMupdate resource_up $ALLNOERRUDRESOURCES $PROGNAME fi # see if everybody was successful # we should never get 1 returned from here because the resource manager # has been updated, but we check for it anyway. cat $TMP_FILE | awk '{ if ($2 == 1) { exit 1 } if ($2 == 11) { exit 11 } }' SUCCESS=$? #11 if there was any error, otherwise 0 if [[ $SUCCESS = 0 ]]; then rm -f $TMP_FILE fi exit $SUCCESS sr/bi k$+b՝ab&./usr/es/sbin/cluster/events/stop_serverurcemp#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/stop_server.sh 1.4.4.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/stop_server.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: stop_server # # # # Description: This script is called to stop the application # # server(s) when a local node leaves the # # cluster or a remote node joins the cluster. # # # # Called by: node_down_local, node_up_remote # # # # Calls to: None # # # # Arguments: [server-names...] # # # # Returns: 0 success # # 1 failure # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi STATUS=0 # Usage: stop_server [server-names...] if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi typeset WPARNAME WPARDIR EXEC WPARDIR="" EXEC="" typeset -i rc=0 WPARNAME=$(clwparname $GROUPNAME) rc=$? set -u # update the resource manager with this operation ALLSERVERS="All_servers" if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_releasing $ALLSERVERS $PROGNAME \n" else cl_RMupdate resource_releasing $ALLSERVERS $PROGNAME fi ### Handling for WPAR-enabled RG if (( $rc == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${WPARNAME}) if [[ $? != 0 ]] then echo "$0 ERROR: Failed to get the directory for WPAR '${WPARNAME}'" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi for server in $* do # # First get the stop server script. # Then prepare the pattern which will be deleted from an app. server # status file to keep track of the running server. # STOP=$(cllsserv -cn $server | cut -d':' -f3) STOP_SCRIPT=$(echo $STOP | cut -d' ' -f1) PATTERN="$LOCALNODENAME $server" # # If the script is executable, stop the server, # and delete the pattern from the status file. # If not executable, echo error message. # if [[ ( -n ${WPARNAME} && -x ${WPARDIR}/${STOP_SCRIPT} ) || \ ( -z ${WPARNAME} && -x ${STOP_SCRIPT} ) ]] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "ODMDIR=/etc/es/objrepos $STOP\n" else # Format for consumption by cl_am utility amlog_trace $AM_APP_STOP_BEGIN "Stopping application controller|$server" ODMDIR=/etc/objrepos ${EXEC} ${STOP} rc=$? fi if (( rc != 0 )) then cl_log 312 "Failed to stop $server." $server amlog_err $AM_APP_STOP_FAILURE "Stopping application controller|$server" STATUS=1 # update the resource manager with the results cl_RMupdate resource_error $server $PROGNAME else amlog_trace $AM_APP_STOP_END "Stopping application controller|$server" fi else cl_log 310 "$STOP does not exist or is not executable." $STOP STATUS=1 if [[ $PROC_RES = true ]]; then STATUS=11 #shows that the resource manager got updated fi # update the resource manager with the results if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_error $server $PROGNAME \n" else cl_RMupdate resource_error $server $PROGNAME fi fi done # update the resource manager with the results ALLNOERRSERV="All_nonerror_servers" if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cl_RMupdate resource_down $ALLNOERRSERV $PROGNAME \n" else cl_RMupdate resource_down $ALLNOERRSERV $PROGNAME fi exit $STATUS me:  k$+b՝ab&./usr/es/sbin/cluster/events/stop_udresourcemp#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/stop_udresource.sh 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2009,2010 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/stop_udresource.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: stop_udresource # # # # Description: This script is called to stop the userdefined # # resource(s) when a local node leaves the # # cluster or a remote node joins the cluster. # # # # Called by: node_down_local # # # # Calls to: None # # # # Arguments: [userdefined-resource-names...] # # # # Returns: 0 success # # 1 failure # # # ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi STATUS=0 # Usage: stop_udresource [userdefined-resource-names...] PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi typeset WPARNAME WPARDIR EXEC WPARDIR="" EXEC="" typeset -i rc=0 WPARNAME=$(clwparname $GROUPNAME) rc=$? set -u # update the resource manager with this operation ALLUDRESOURCES="All_userdefined_resources" cl_RMupdate resource_releasing $ALLUDRESOURCES $PROGNAME ### Handling for WPAR-enabled RG if (( $rc == 0 )) && [[ -n ${WPARNAME} ]] then WPARDIR=$(clwparroot ${WPARNAME}) if [[ $? != 0 ]] then echo "$0 ERROR: Failed to get the directory for WPAR '${WPARNAME}'" exit 1 fi EXEC="clwparexec ${WPARNAME}" fi for each_udres in $* do # # First get the stop resource script. # Then prepare the pattern which will be deleted from an app. server # status file to keep track of the running server. # udres_type=$(cludres -l -n $each_udres -ch | awk ' FS=":" { print $2 }') STOP=$(cludrestype -l -n $udres_type| awk ' FS="=" { if( $1 == "STOP_METHOD" ) print $2 }' ) STOP_SCRIPT=$(echo $STOP | cut -d' ' -f1 | /usr/bin/sed s/\"//g ) PATTERN="$LOCALNODENAME $each_udres" #export resource specific attributes as env variables export `cludres -l -n $each_udres` # # If the script is executable, stop the server, # and delete the pattern from the status file. # If not executable, echo error message. # if [[ ( -n ${WPARNAME} && -x ${WPARDIR}/${STOP_SCRIPT} ) || \ ( -z ${WPARNAME} && -x ${STOP_SCRIPT} ) ]] then ODMDIR=/etc/objrepos ${EXEC} ${STOP} ${each_udres} if [ $? -ne 0 ] then cl_log 312 "Failed to stop $each_udres." $each_udres STATUS=1 # update the resource manager with the results cl_RMupdate resource_error $each_udres$PROGNAME fi else cl_log 310 "$STOP does not exist or is not executable." $STOP STATUS=1 if [[ $PROC_RES = true ]]; then STATUS=11 #shows that the resource manager got updated fi # update the resource manager with the results cl_RMupdate resource_error $each_udres$PROGNAME fi done # update the resource manager with the results ALLNOERRUDRES="All_nonerror_userdefined_resources" cl_RMupdate resource_down $ALLNOERRUDRES $PROGNAME exit $STATUS  l`$+@=0b՝ab&7./usr/es/sbin/cluster/events/swap_aconn_protocolsteel@@  e #ailnorst$-_cdfp"/=AEINORSTghmuvw'().2:CHLMPbkxy|,01?BDFGVWX[]{}&49j37;>KUYq!+68J%5<@z\h|G P MB&r7˙}7tw:IЀbsum=Y0Ʊ!%F&kd!Y9`p0CpBkNwKL5c|r (T@b$I.@Ʊ H"J " " $M2o7Yu^z$`7c}eDf@?I8]tnAWrP7JYˍh:\.JQ*URhgn$47VBΣD7@ *H"_%Qt0I>7JbnHt%5Cp808 67!e^`i\Z{nK`Ƹ Ι[fi^`iXLڰzNS7(J|ҭ`2LFm3pBQܕs$O cr@4E ( D0R%67 [C<q\]tnAWrP7JYˍh:\.JQ*URhd PpE\C W 0 6(&5kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵc(&(Pe&@L~DDrk,.H2ecXֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ1kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵjֵkZƬXzCU%(g*)AkZƭkZֵjWDjD=e̾עSzM'Btǩs8mcV4t%7qwNGbjֲoSz)+Ng#f 2JhZu;)jUR|LL[Vr5kY]:G>Kǥ{[JL@=mcVJ1Fne1m)EG77Ut;[XխitLZ}e3|lKǥ{[J|ko-9VIJRFYbjַ%W/S7vS՜$ Ojֱ F6_(ӥҺu2}LLYmcV9VIJ}+%UE>wJuVZֵkkB*0r7+[ֵjֵkZƬAЅ:=dZֵjֵkZƬ5qKǥh5䯥]F|ksQZ5kZֵmcVqZ/nj9+f8V5mcVҮb5Csinj9+kkZֶ+u78=`eI](kkkZƭkX3\jmcVkZ5kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵ*PL煊&VS(@񧅞&844q&. `@!<D$b(  LD#7K i%A% DH0H0n?e !:>Q "AQ"ƞ1uEWT`0rIaf1a F"ʙ(#ip64,?7S*UR"\PDPB brc?ە"@HL}+) T/.iO6flnT !&XD;t b|`dbn*5}Ơ\TwB;MYʲJPAYN-(Jj>F.6"Y*7:f].觍UӨG>cuW5LfYN\ne1mYʲJP gR$5J|59g&"PLv grg񺝔őVr1g&"PLv+<۠kAfYNPIY5 aşH,B= Lf-91B5l_#Qlyqsgr16hVa c:F렘(/2gid3+xmE73qbEȾ5ұU9E١[3n )`( 7t[@8+ +7ƹaAn=V/a :.EG%hg L H&\PY8EW.HDyqsσblЭ1XbJ)sσblЭ} Z҅^j3$ #`/oC&꜎ǝYN?ަ, ((Dt)xGm5U@b r;C?fm5u"\V= r;.1u gfXM֯9L45?ۅg`MQ4YLԢ7tvY3o gPJQZicuNGbΙzFY[`1txJQetLYOWQe41Z֔*WJ XJɂX?wץ]StԔ˓(&Duc;m*O& @C? pjJXJص(UgN&<-Zh\^1@g1;W& MjQstNw‚Jx&gFzN&x'gD!pB\;Z$u1> gZ֔*WJ XɺO& bְ^uMRS.LDՍ `1kZP[? p ZbnJ7M9%2`@lnTR"@+ 0 UjISM  U١煫M f(bvLԢ2$&c"Bi 7ơXbvý:-\8L(1τ4^MNC0ڸwjJ,@818Punre@I~I$nsg3,ijU_N $PEt\MbP[?VJr16hVů^uMRS*~t\M~x!_B5lW-IB:*t)Y*͟" Y1kn 5Ĉ!W ձkiWTW<_@|#fnaZ}zU7MIOgr16hV羁-iB5lZԔ:.EGH̳U7LgqmXPxVRS<1`<83Vos b֜ti|#J:- >Q𠒳|k waA%f<8&ůa i(+kt ůGkEȟEȨc81kNQ1kn'#&CS#zNSuj䌚Ջ[t\F~6Xŋ_P[:.EU\· :.F& )EG4K>JF:)@K>N=+σUUZ}zU7MIO hW>· 447} Z҅^jص1kzC>·D-u3qb*VůEU\RVzzt\ڨ9zt\dQo@|#X&bػҮjJ|E^/kBt\Fgr16hVL447} Z҅^jص1knILH2*zUӫ3$ #`/-u3qb*Vů3,i[]:&2wPI":.σblЭk? p)!WV獈/hk_]:r16hVk]WT5%>"WNt\M~x!_P[AC3vŭGG{oS L]D%  L H&\PY,NQԔnh &AR—LYg*)C}2BŅUXYw@YRSrW9䉗"T@@f-91nXYnqt7Ʒ5Jy!@x€/a Nbȫ9VIJmbE/n,ZrVq¶<˓(&DubЎ|ne1dU$ 5AړqB 3趀,~VosÂaAZަ|ksQZ*MƮ ?@nbS7-J5|M1nj9+E;8yg&"PL9++Nbȫ9VIJ|ksQ^ҼgqmX($ƒƷ5ܭnc =G%hg;h‡aA%f<,&;iuq/%3rVrWE1QɹZLzr_nj9+EɹZ勐& I.D,"ş lp :\h2$\TzUhhk?ަύ,d/T\ngLX(U歟 <9Z}zU7MIOg`M] bִWjgN&<-Zh\^1@g1;W&MjQstNw‚Jx&gFzN&x'gD!pB\;kp%Hc| -Z҅^jXJbְ^uMRSiWBybִWjgN&<-Zh\^1@g1;W ]7YGN8w1;Wt[ +7ƹpPc?şh85p`;? pԔ!#Yc?{ ձk|ksQZ)ǥh١[#2,D4I.D,g 5ұFe棒SJEaPIY5ƒ5ұFe棒SJƒ|ksQZ)ǥh١[cH̳rVvq[˓(&Dub G>7S*URrW;8ynj9+E;8XbJ)&"PL9+Ў|ne1dU$ ᡡb֔*VŬ8Pݱ=7ۊjJ{onj9+uʫiI#sfWN/YʲJPIq.|LSt7KMzC<8V?bfL!LYg*)C^"ŋ[rՒ!@x€-iB5lZ.LDą 1k* 3J<" ]JI,&-iB5lZ#2ƕ&ҫcRq^>v}.gbyrb%Ȏg`M] ZϥҶ-a*ꛦ\A2#iWBy@օ3s8} Z҅^jؿbӔm?qMe)4$2\ @ l\($+#zb՝ab&AH./usr/es/sbin/cluster/events/swap_adapterotocol   #e adinrst"$=AE_cfhlo-CDLNOPRSbpu()/1FGIMT[\]gmvwy&,.02:;HUYkx{|}'3467BJKVW!5?jq9<>%*+8zQ@] PYX$BȓH D@DBhlMW|i0ٽ6/pvWYqpNV*ےQaܢh ېiD6E3)Clf9ikbwLÁ ( @m쬋ӸJ݉6wic\czb HV<@Qp# `ٽx5l 3',I\'0`eh,UY[fݲb `1pY[nʼ]Y`L,7 xϒk/#17)ݗ !@Y5mVzZ\D ǯD HRdI$" !t`Á ( @oS U[r 3(Ȼe;m' 4MsLN V0`c7 ʶ@Xp#P L`  48 P` <<<<<<<<<<<SlغXҷjZZ˷>ve^0 eyyyyyyyyyyyy粱&ULi l6Ha]yyyyyyyyyyyyUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS)bE DDD"HL)x<1d84bҚ5΋)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS)hŃ?4 51;)'׀3Uf>I'ZmYkw5kv򸌽;F K)s# u4B;$:7)o0\ܤ e2kվ5eYֽtnR8_isV\F^sLNpK+a&ѹH5[ѹIe4Rew5vlĚ\&eUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU1UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTed1`^sIF=aS+Vfoˍa.jN F޺ռ]7 DKS+B"F.3)΍LVVf033 `50_\$D0 6"Sk_\pg$D}F=a,DF S*4 J4a a6l,$$4h5ₙb%@eH1BuMŅ8g$Kǜ撍zgIcӉH% s$KShGi$Y L_ @+9𹤣Fٻ$c?5W|.f731?$Dpj\sYk?Hą')x@P +& I$A%J* `2՞tnRh^8MtnRM9YaSA"74I@IsNyi{XIÙ FS4^sIF=aXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS)hŃ2)]u\貙XGSˮw/U7_l62핵΍@MWˊf_a+o˚乘{)1RpN+e޳KjіfZM[c`W95Yt7 w5ou+OeyMFrgne^.|[d`]MtnRinXo^սF`WjNSiWm/q.V;p%ko^YnWzh*5;e,m׆4xYnWzh*5;esVz_l rko^b'w 㶌f o+ӽxsV_ɣly)&ehD\rp/[+=u4=͝^{\ܥrׇ5[>1e231.cK#΍ZsVZ֜uמNSS*SH& lً(XH<Hy旹M"4D gIE"$Ig7~Wp ~I0U"O88*aNKaeOPMgǕegJ2Lr=xsU໯eOPȏI$Oc+Ӱ ct#/Nz#J.f6x[?zոmqzvaO]M6sgrg1:Wi=Cqaf[?^:m96sgi]yɟ]G'Yi=Lpq2DMsYq2DSsN&Q"Ȕ777 qgmrItp f?{_QXo]MtnRg3 |.i(ч7`繳k֣j)w5_-6sglzi U H ?5𹛋 ypg\*s 9l'/4D44T pL1$L$D44pi `rC zi U H ?5j:'i{;I& R8&D&AH "84r @9! Y`繳68.Zb/D1^i=C "=$<~7nrm1AL=͝)w~h<quךOSV^i=LqzvŅ5n /rI{;<=͝mx[?{[.w AmոsVZm˚x<]u gM$=͝矚H$MŅո3E9l|3l6vuלDzH"x5Y(dJ- =͝LU陞9@ q(dJ94e,Cssp*]9l'/4G`c?=s/ч7:7)3R@HD@i>4hMsN^i5Έc?Qw5o;S`繳LPS4*zB$B矚\Ņո3tO9l6vMs* R8&D&AH "84r @9! Yk=LPS4*zB$B矚\sqa`o5n kNy4=͝\膆F©"LzI $ p9 XrBQMsRggc-[1ysLPS96sgiJm矚(n,, SI6sgg`繳#e/ ggG g,P8@ gi˦ٽxcO)&ާ5n7[s>SOYmxm޺ս6sgrsVg\ս6sgzǚ+Ӷ둇 )[z˦ո.ыiYlf6<#Ʊn7gKsU]שs39cKj|lw)A gIcӉH% 1D&AH #1Vh#4e,Cq9$D4Hʁf Mag1q;Y EppTœb'w 4LPS ӌ\dN3qaf[?|^|.+?\dN4H?Ma{78O ggoS-)&aO]M6sgrg18OI 3jl6wɶ{;HLr"=$<~IcӉH% rm*8ӉH% œq2DSgml6vMsc0f9hSkL@$"D yb4 J4a &9l'/4D1;mWMs?ަ()rH=!!s|.fj:'i{;I& "LzI $ p9 XrB()rH=!!s|.`97ΉSM' 3j^4l6vyɶ{;gxB,Qr3[]sK3{ {z{t=͝9pW2.?뚷ɣՓ2fXezǓ -{a7Mu]6S/rI{;?42H ypgMsg&9l"93˳"Dk-'N&Q"Ȕ7Zɶ{;˜?3SMNjo|.2|pKu9zmgsVg9lY{ L %}+&+Zӛ׃?\dN3 Me1Vi$Y"LzI $˜?4q2Dᜒ"gq$De@p&0y昸f\Hf"O88*aNKaFm'yDi=C5SC4>SLXYV-ׇ5_. >SM'ydG'X^11q;XC`ee[nb'w 9&k>SSMsܙ1ALt3N1q;zt=͝rm.?ܻ?ȏI$Oz+4e,Cqš`繳)33(4e,Cp8LE(nnnYk=͝\,g3|0F&? @A pX'撍zyɶ{;I& gj>gzsUl6v fR@HD@_ 7ΉSl?ަ()rH=!!s|.fj:'mrItCCEA! GȓD"I$CCGA"$<P?g fR@HD@_ n,, s{ 9l'/4D446Hc"HI $hhӁ$A䇃*gg/5Ή&5mG5[= Tjw|y)'Xbm@HW2.5oF/M&efl'Z[a7Mu]6/6sg{᜛`繳.#@鬴8 8D"Pqhg&9l bLs8D"P)9(dJ1V6sgi9y:83La}F=au6ѹI*zB$B/sI𹤣FrmrItC|[69lS9 3qa`o5n kNy4=͝\膆CBAT &=$DH 8D,Hx9VS9 0XX[?DSpM6sgi9y:!ѰGȓD"I$CCGA"$<P?{?l6vVEs\1SMsRgy ypgsU TjwX<;Z9iiuWtnR3|kWv9l'ydG'X^1MsN^i5ΈcXm04=͝7h^K`MWM[L#ZǚlV{4 51;#|'qQ.hF,z:&9l'n,,pgmjlGDzH"x&xrmzPUYLPS8i&9lzzmsr? U H8,^sIF=a=͝\1;mWMs?ަ()rH=!!s|.fj:'i{;I& "LzI $ p9 XrB()rH=!!s|.`97ΉxshfM"4D,01UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTebj\W37񆘖fk;.i9y:7)YXd3p۬Msr#^|l|o3qes_׌nF}k,UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS ыJk:!aM1r <4bҚ5Ή*,DI?5Wn,-x?5W Me1Vi$YC8; i9ƜLE(n9@# f` >y^`u3`ыJk:!aV&s3|/\վSl]N7%;7%;]6 YUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUL(ܗ3)M3 &\d䇞liF乘iJmAL1I2ȤD! Ux 3bf T<$7gո35Uͱ,s֔0/^brOs1NYt5㊳t3N"LzI $7iI@Iq9\[?Y%p3N(T$e"uc|r\Sel޼76m.^`slaxK&@HnqB $? &,xs?{?{Ls1N&a͝ɟ ggRʛg&(I$qaf[?Y"FL9"\bsN*LPHqB $Q k+Q.f)RffAaS+$ыiiRQx@J5UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULM[L" 4RQXl,3 cf.W<` y!皚E%@iD ^٬*,DI?5Wn,-x1ALps $8?f0[ T<$.F-7s?s3`3WxTy@I *L?鬑Q#&t1^9&(I$M8RbDK./pP+4p%J* ҈@N \*L@H*$g<9^`u3SVH (Tk3 5c*Đ%52UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULaB $U@ F 42m6E3)CL>oB46jY`X\glZFcD&AH "\*,DI?5Wn,-xLE(yB46j@LXS0 2jZj`|/`I@I ыs^!kItnRI@IIlQeoSmc LIc3~qc"HI $,,ɫpg<=LPS ӋȠ&"d7dո35_A@Vi"bb#@r2fq 61XMUI/9xo'Y^8EikbwYa'1GaEIe/*AmYV":7)o.o1lkf>k^{\A j[9ݗY) 4B%kK+@[͛b/s7k_ Tjw*-31k ꮳvVܺ^<8޳K`ɅIƞڭj+ӰK) T8ыJk:9(c)_ɣt* * .j+ӽx]U4׵΍XүM\ɅIƞ̬kڱu^սF| ̯.7@PK) Typhť5k1V!s.f)/̘ާ5n7Z𼽦27n2|iF乘iJm2Y`R" Me1ŀӉH% ›F8N&Q"Ȕ73@&b/󃁶|  c $'k()Y`R"n,, I@I ]jMq:7)ar`aa^W0S,ENjNSׂ3p#U髾\b&m|ɌiW]y*5;`̧I@S HHD%CH?Ma{79 1ALh $&P~i&ަmY+ӽtnRlpk\Wk f,zҜF{ \S|乘{)1RpN KW4o۹`/|վ67f,zpLDLzb$$E`PW<?@a1 $y0~h<%R* K @XYV g DE&lXYVgcڲk$Qcii5΍[_5oQZݾ|Z_{\ܥ=ewUNi3q.2|pK{Qx5})W[r\Sqys3zFԸ?Y$ׂ3HOItnR4gDL &T 78%@"HMGqa4 B Dzc?Qw5oPk>SSMsܵ/W˕e?ˮ8-5Y(dJ,$ǠD2@I)Apy(dJ"&yDL &T 7oS 8~iuי矒DL3g Sc? @qM"4G9 "&*]y32)]u\紺}Gl6wQxꮳv+ӽfZոv|,zX^p+ gո301!|t^br 3N(T$hCh^K{\/Wz/kgD"=G^.cK#I04P/Ms+;ޢ`H (T$,P0Dz)@ Dq$De@ILQ,P0Dz)Dz<#@/sz @P(2Y[Z+C3LEMCjsx7\L9{\_/|mkḽxL|mCM0\OYmF`K)V_2Đ,c=u9|nKws&5[qzv昝Ņ @Yc5SC4 $&ji+f7, $qB $c?s3bf<<IH ,?Msսg#f F6olojsxͳE%g&$$$"=1d""H ,. "y ,L Q5/s|;l޼c-[8-5k ,e(5f bhG4 D@D*h0T+~*i6 Yb/ 4 ,L Q- N1Sp*hc?ަ()pL ,L Q?6Pj́?y 9q(ogkoggF,`ǚ5z,I g"ĐH ,X $9,sX1[`Mzqzwyk>LS Ӑ(P?鬑bH4t #Xaayg01VIe8QWb+r/8(P 79`LJ3GG\mkldcqbH$DDXYVJ6VԜyő*E!Bh@z9ń$@ $"HMEzX^p+ gո35_Vi $ =Xo]46iW|mkl|$2G"Z `eo#7 xqeE`nqB $? &,xs?{?{?{{L{V[Md4 ItnR{SiL$A pX'撍zy T=LPS8D"i$"D!~ksŅ5n Md4 k 4MsLNi1VY`R$&PAyń$@ $"HMG9 2֕5L$"Q&ѹKL$4/dev/null 2>&1) & done fi fi # refresh clcomd refresh -s clcomd exit 0 # l$+ b՝ab& V./usr/es/sbin/cluster/events/utils/clRMupdatele$.#+ ,2:t013468;_acdeirs -579=flmnopu .@AHT`bghkx(*BCDEKLNPRvy| !%/GQYqz}&+?JWZ[]^j{~P 1+T@+ *̝S*x-_`m duu kd3㫌_u .ZB#)ْ̋hc5x3̆f䤅RI-[xG!HWxA RbHd? [fAGYA/тḆK k 5lPɌ2" \bne(a)6F{@' &ˀ'|x0)P5P'c ~RP%&_;wla'FR/g]dpĎ+0̉$z |LQ/"PJ<JMUPwɌ0~QDxe(a)6G)V|ù{7 DEQRlRLa(%)G I9JLa(%)G I2%25)VGA&0 'iq#$v$q\4K72$JD@prbNORl'l0A`:$ iqV.c#mdr|xn)GCn>dHq$L|D '!JW6 TJO 5)6G)VJII6g AD?JN7 2P"$iT!KHi+ D '&*d/ayQ?JN7 2Q4M.(^CHD0c dq!%KD) bF5y P: De|Ȑ ,IN C5&/e%JWJB.b\)>B4Xy+ORl'Ȕ#'Tña825扥Pʟ”o"ۤH YĐ^ `F% ~K6ö9y>BB{mrb| m 7/9P!9O5n_'@)6G);%x3'DiI7 + w2K.>06S/c2l^ҽq|(#sA&0%{r><'ا). WAɋ̟RP]+ظ/'‚9_4S 2;q$^ "&ߞqP>]+ w 1Ji^ 'Ȁ_)6GARRW9_ۗa8*W9C}^OO@DOZRl))~G+M˒'W9C&'Ȁ0Sr#B1ONex㤲 mr|(O͔L^ҽ/ ln:k%%x3 nB|O)6GAܔ x3 nFF"4r[ DdR1{O򽋛P]+غR㦲ig{*#1{(졷n^(#lX0W !t̒ˏ'>)>B^S`m!9IE?g+>B e&:=r@>ܣp:R@#>Bl|JS+ w%N!̯r$#FJ_g+rc oarc JS?6S1{J.鬖\@R\P +a ғdtIKW9Kq@$n\a8Ҽ@_l76 )c6 TSb1{J.鬚Yò|II3^~y6|E{())~>0R|&%;Ie^ '€ JMw#%/x3}r1rJg+e@IlsKMPe/ 2!RS Y^ "NWI9#)~G+.p8drAI:꒗r@Fܺ e9tbKe2@_l76oa>@LSb1{J.鬚Y><JtɌ1,)'s&/b^eR\P +a/ Kc!=)6G+@IF /aA訔VW1rP]+غ4@ ^ W9@VW2܎W2EҼ@pcò|"M^ nNLa'1?6S1{J.+@Vw6^9>@RlW(@_l7DqQ))cw 'ҽP]+غNM,<r,~W9@"P6Օ̼w#̼as`5)6FOxp^ 'Ġw)6GA씿#W@#:?g+>%ܤrRRW9_ț%NW9C&'Ġ}@OexpW9_,2dtK9^ nQa8 W9_;$L1Oc W9_8B'` A&0^ lLŸ;,r p ?wɌ0G+;'`#)La'y^ ö#0OE+ w&0I^ 'bI:dr(0|?^ n1>0%^ 'biI:dr(0g+>v生 ?S+B'@myI0)^roa LOOg(9'ǀNSe>""TȆǥ{ /ö /'ǀ(SeCmMrb|x lCMO=*`@h? A:%q$e.kJ:eO!cȞaى6G)1dž@2xD9 2lR/c  e(spdr|xn)GC_DZ*(QI 2lR/c  e(shLI9HQ<7 Dƿ!]q@;c |Pc jdӂf3Q `hّd>hgA 3@xc!(4qxp;Pc P(4qJ8Ĵ4pGE <60c8B,#x%?EcpXZS)"ȋ5O'> !IKPY$Pc,FR#DxѾmRt(|Yy1@ |Ag8Il"Of,20YAap( (̌Pf0X IBX,11rZ;#Jt0-ǁdCA1hBA/ @4 5QDH#6`% dADŽ@c( (̌Pf`O "3lQ, 'X,11`%% `X KF;q"| A00)(e.k"4KIJ^7޹yslR/c  e(se$_(@Q_./0$_(@Q_.@prbNbልJ_LPYI2Ln>:$6d)s_h\&S%0 D CE/K'1B#e>b/6|NII9^4Rb?6|NI9^4S)yfb񡜯^hDɥț)}H%xЉ)yfbV&,?^hB( hbBG++cA,.32Y^4!6av؍/|a<ÃZ)DODDYpFO I9_Ħ?Fg1иo\3 l@eȌ^4NOe:.br}PJM+Ƅ)AѤJ#'#'Ɖex-|"ly3кW$f/JtF㦲ir&u a<͔9?. iq?@/vDD^gLT@pjbF T_)6FbK+(wL2&r%{%lF̓R}RiI3y^;LaN\b.'WuA"e Std&{a|tHl0aEIKDҩ3Jỷ)_ D CE/K'1B#e>bh\ƃ|LII9^4hǛxvܾO1)6G+ƃK f/񡌥A鬚\'nW f/Jܾ0')RB@~`NP D@9_[ epܼ m䭎}s pbY^4KA%0ț)ҼhK.>& %&;aq>& e&;c' RI @f7*FORlDhL_6S<^h]+ƉF3 xкRF#qY4e:F0a'CEq!Q4M.<2'л"G] Yē10 sx81Ɉ:!xJ C$CWqc a$RII1Pae>bh,) ^%0ȥ{q+T;_+0 JdMm91{J71{'|b3;()L^BO͔7.c'#1{(좃L_xy Ҽ<2<]A&0||&;)jWwɌ26u Me8>:)n]F>OI3^(;W<7-VJMYqT!1xx@-ODNBO6SD^(;M1>dԯe|,9O/aa| {('ʋ&)b}@06bS+D)l%ls'bJPwe^ iI6pPJPwL0W|0#l'}A%/^%/Pu'`bJPwe^ K)6FNPwL0W} MSIRJV9p8y+yA% {('e&)r 2S .젟zI6q)? ^r>WwKWwɌ1W>R e&/0|_PateDe8?WKǁ#c9AR0/aa|\.젟)Rl''{(;]+A>R)I6q)?ҽ#I9^$=*n>:$6C825扥P}O r'_BI_v_ Yē10jbbaxy):E.RJOdH Ɋ9vb_"6Rb B.X*he/ùDl<e2^2BO'F'TCaJ25扥ĪWлWD^gLT@~ņ%LDa z!x TS/(FRlt CLatM:$6 825扥PJ Bĕn>dHq$Yk>Xb^>FJbbGˀAI0卿#JV?FRl1{%l>PbO3)43.eΡ>Rlp~0u;m>J0a4_ &zUñ`>3,?#)s_hS#0 Ba4q"@/ Nx8J10rbb\b_{|d6)o+T;ase/b^¡܈ {@%hnX:$ 4Oa#p l .ed@S)6F0`#'̗6`ԟ t%7.e:O"drq.O` )42ۗ2'&#'&'̚l>>)4˙lsa8>Jl> >%?.e%'Rdrqv"}@|}B|-?.eF_)6G)~7Nea8^[O)4 2'6##d 5'ԁ dZ l R.eFRdrqvD(xnܹ8M'IQ|&)4 r[Q>̤a8$a Jl r[I>@)#'?JX7 2pӄN825扥2.ĕRi#9LI9HQ<7 Dƿ!\^a$_(@Q_./0#lR/c  e(siI9HQ<7 Dƿ!\^a$_(@Q_./0SlR/c  e(s`ě#ptHJJl^ e>bLWaR(@\*c WaR(@\*"S |9^ YKdwt2Qx!#` x&J/ex&e/ 4¡%0JLn^(#lXbvbvF ;e3O {%CĦ^0>*%0ț)'Իod| {J>*S>*S /mc+wL2&u (,%06ҿ|ãod򿏊| {>*%0ț)'(>*%0ț)'~(>*%0Ʉ'PIL2&u GmWPaob_CJaѷy_CJae1DN?>*S 3m]+wL:6O+wL0>*c B#lzUan>:$6Ҍiu%UGIw^@pjbLDm):O{,C(ZYB/r|?JOҩcq!iq?01Ỷ a851S^ K&"6wl^ҽ_̘{,C(ZYB/r|T 1{%씟ǥSCa3KDY_n>dHq$L|D f1xx6Sܺ|AD,YpNO{)6FLJܣ")^ɛ{< {6 GDQ++e+c O)6Fb+%|\.l>> Rl'o.1'B?>1xxWVlj,&^%xxD˅͇A> I6gr<"^>3e3OR<"q`< C825扥QE?B(} $|q"@/&*c a8?U(b\b_)y^˛>ĤغWpwɌ0+ppyI3Y^[P I3y^CJa*r䭈FMS<%{'.)Dlb0 IO_Ḃhf7|/͔NO_)6G)~71\/b^ (+9>#lWsorar/O+8wɌ5e{''@)#lzU2aq$e.kJ?B*,yat=]Fdn>dH LT71/e>bb+r|de?S/F=|"lyJ /[09)6FbWYu[)sWn~J'JM=|]Y^EC9ى?'qPa|`1/Fq%/)WLD r25扥̩y]}"4pq D '*ae*dl'#1{%앹TQd=*v7 1\&]ep)y A 7C72$򘩈M e!bO+9>1JMwL3C PMrF"Ac9K-b؍0MKA&0đ(6#dähIғdc QI2=ɌOK xa8J e&;%{BOC I1.dLN>dU+Kr|fMwL:JpdLNDcSW1lFdf/dwɌ1'e{''*S'JM'qI2=l %{_cW ^òl^ҽ/#qDJQ)~#b p@ cDq>)W/a?6S/d_J apt),ҽvbJN/d_J apt)4)^^% CLae>bO+W ݒWPF#q"@/&*c a:P pfb KhOdop-l& DW8CP7J/he{b%0ț)'+3lB01A&0ț)'m+e{c Wh;Db.l2"J Vɛ: ?A&0ț)'2ͷn#Z7BS+(6#c6ɛ8^0La6SOq?6SOM?J"D ?#)s_hU 6W ݒWPF%IF:G72$LT ^ Kac1QF{ [& @:Se>bL3T;]+0T;e:/9^ tS 'YKb/dwɌ2)^I/mBRRncS=*1`|tHl0 FR4? +ĎQ!:4_D^gLT@tѲ^_7Z~L7`c77pn# L^ /Ќ'Tc Bҽ1{Wh;&0{\Lad"J_6FTc B/e>c_C1Kh6.0dD1m;e:ܯ`Ѳ)n# Z~n#Z7Be:DOb(|tHl0C825扥Pʟ.epؒYv$Vz#ui;%v$q"@N LTó 1])Ste&0֕ |r1Jz1DNغWu|"lyWF%Z''8&^e{%dRe>Oҩcq!iq? +$E #Hؑw^xEIpb>"P Tde&0^I1PjS>0`%){0yH2y)E+O^L)R3zU0n>:$6c0N825扥2|׃@pjbXb_l^IyYs*kwQ^xEIpb>"j ^~ Dlh;L^ӓe8yKpO.LOKn;ca8d^ӌ'0(1{J.K.l'NiY^iue{%˷+7 9ٌ`WJ_)~)s>WᲝC=R|(#1{1T;?xͰBvvȒܺq>-7)6F=<{o B&)'1ma8|WZ1*r+`&mQ!e&)"ğǥScq!pYđ4M)?@iҸnAq"@N91S,1{.mbܺ?_61lsC D"&0"%0ț)b}@񷱈p̤w&0ț)r}BQ b*&TB{zOawX]Q b*%/ț)r}A d*La6S<[)dğ%{%qP4n*Oc1P4T;%/ț)r(&0ț)r)6<rdf/b h*&TB{ s?p*&TB{CR'[{<I3y^B_ 9KqǥS, H\&QOPdCWׅۤD^gAx:%p &*c `5R/sb#t>B(KĐ) 1x|r|dV)'ϛ)W8wɌ0R+ca8O> ^I1v^ B&0Օ0>CLaҗca8@^S"&0KĖ#p^ :jQw2J`5l"N > ex|wew)Nl  r69ŤI7 vF e&)r}@We+c1#1x|J4e!3l>Qp8 AlsLde O>#'` M{PyH|a'&)rr> [/mq_)6Fb4h*lj2(\0% ܺqy> TH~# Qg<(pRl'Bx||\?xͰAa8K4 ls& %&S/F%NĤe3OM?JB ?/$4(?S"$iGu?DȟB@E 72$8 ,ӄ^_8I1Sj ^F% F |#Q|f/ex|! |#!?%0w1NA[QNO &S/FJ02Rl'̚m앹GI)R+ca8RS3>CLa+a8S^¡&0Օ0D/b$zILHp ^> (;;m0&n]F8jOdғdo)A#[%NJMS<FV## (S)6Fb+8t|)1aa8 6.c\Orde O>9NRl(R@ma8De3OWeͱ<0"#1x|GT;e!3l>P 'xAћr69Rl ?# c)6F{Y)A m򁇶J0 E)6FLx!<> CK.Nf|9Nٰ4 r69|M|)_(>9ma8MSCH~#Nu8K,H\&x&S̄,*} ‰ o(cD '/e(Pb.첃|e&/Օ씟ț)Y^J Vҽ$' f25eSwd1OH+ dJf/b^(;M.YARbY^ ^I1{%씢m+ظnBl0c)s_h]E?qXdv$O|Ȑ ,IO(~31{LK`On#ken#Zb^QPat`T;e:/he{CA%0ț)r[{%n_ls11)Cy^J_^e{ l|P%&^%{,atpBiI9^ ^YK%0QP,'̆%?> %&)LB EIKDҨeOP.\7v$pנ7PF$7C|Ȑ"s)0bL"9F[{&nP')'XO2Rl^ L"^%h CLaJL"^%h CdJag+0)xLn.&J7/$b,1<[P,,2Q怸T;i^ mLNxLN(pA&0ț)r {%CĦ^0>*%0ț)#lPȉ|ǥP&CaM(\&QOP."шנ? dr|xn)GC$_(@Q_.p I3%\&*}"Q%/tPDkq"@/ Nx8J^ L|D &?x71yBs&"21>>7BH2-| n -mcpd`Z!!Q2Z ,g$6S/a$%?v"}Y)6Fb$$ؒN.>p1#m읹{?r}e&;ᜥXQKPbb#`xV"N@%)6F}2dm;e8N0"%?{Pwe)V3FĖ ѻo䭄Exprrdm2/Pa8?KA%fRg(%(N^d# Go䭄E02dm.'b{ B%0۔#bK`iF;o䭄Ea8@?)6F}b}riI6u s+J<)n|4ۗ ^8#m '#FmTCN@-)6G+J(3<Cl"s-p Y^h;ᜥXQK[L6 Go䭄E20yI6RlB|t~W)~6)WZ,@~xͰApp")4 ۗQt`)#| <)^(pғdm?'dmDY^\qcV3l>Pf0IO큠Hn]F;d@%)6FR OMW>(<  $ma8e9O{ R1F'bK+-|\b^3l>P<N?Ar69dog J0`#lPPJ/Y>)r^e{%˔W,N?Ar69OII7`e'ؾRl$ &)' { rljL0W/a%1{ )1{ _)?*m\a8 l 7.c}pRlx~`_+K| ?)6F_ ?60Vp,XQRddN^3l>RQ+?Vn]F8fOI7`eK =Q_)6G+HK(iRdrқr㭎u >^Y>R{ =*67 X?zpCpX~gFR40'J"Cq"@/&*c a85/e%JOҽeJ_FҌ' #1{%얃K.6c~JMS<Ro\31{K+KQ ih;[)'Tña825扥PuO% A72$L;1{,1/ИR-|{,C(NDI3Y^h;?+KQ ie/F3N e{KA%0ț)U'L; e.kK4a/@|Ȑ"2sĿ Dlp\WRdHq$X/ GsXL|n.ly>U)6F<1*rb: %Np JMSOYT;W6P6 A6 rJM^a~b#a88&{1dM/eҽ '  1{%얃K.13l>Pa8FO큢 uY>+2do)A#b#o ,I6u ,d<#j83 Q?{PwɌ26 'O큢%ua> @S)6F)A#b$aJ0RlB|x%_[)>WGF` X1^c &aK" e/&0x~Y^c s)6F=<{b><6 Ab ^b.]A%"ly^wɌ5[{ۗrOͽ[X0)W|VWK/cKR f([ $r[ epܼe{%mFcla{PwL1|tԯb, Mw%0"Ka>MBL)@~`NP f(}[ uƄr"l^4#L` Rl{0yH2DlDcy@ N(p I2|cQ⠛Ɍ0+,a8KG/C<¡&0{OL^$J7aWW 5[)1xț)ex惾LaYKe>c_)! @I2=1/җy1~ۗPĿ#cAJD Ȋ /b tsf `^2>WYKsb><6 Ab ^^b.]A%'Hy+z1oar 'eg,T;_,T;R잃Ja(p4 l 7.cdo)AJ0MNO<|P@"&8K8J,?#)s_hQЙO#x,@pjbR<> &^e{%1G++r,O +)?JD f25扥?Hu!|Ȑ"S0ĿBb#ie{Jb.T;e3O$=+Z)~W2咃QDm(@p|#JMKA%0ț)r_`%FF`%,(fbWbbKx?a|tHl0c)s_h\uODt2q"@NLT^ù^ñPl(u L0WPWPdK' JMdq!%KD)NARH#q"@NLT^ù^ò|S?JN7 2Q4M.1HvPx D 'v|\Oҽ'T;Bn!(XIso@_r yDlg)~P!=cx(J]+IrYr9^* L2^˥H{. A1{%얃Ja6S<J_{%H^җ%xOJ=+y+җ0Po+BCJa:ҽ|ǥS, H\&2k JxFV72$8b>"k W WyK Qxo\31{'lWqPd\Niɋظǥ{PwɌ1W WH/)A('Fp0@pzdf/dwɋ9>QJMS<җ~/(K.% ^ҽ_$f/d򽋨;W Pxn!ǁ05{^"Y)~*c GC6Fe3O(r1)DLDe/'n:hfb.'^c DBR)K PxJ=(Ep ,F7*F0RlWZ1~6cr|/e&)rRB1/`%Q3 y^җxᙋغWyKQWu|{_F%L6dQğǥS. P"$iTQO2E/@(dn>dHq$YO(~<1{LK`b#cuL^)^z)zW|ҽ 51{%얃K/I^h;<Ħ\0LNF0|dY^YKa('b.]A%0*#1{(s)~J7.e{e|e G㦲S _%Ke>c(e2J=)~"K9JOS+؏ABS %{wɌ0G)~"6S0+伥c(?J9J %/V&2df/b^rS 'J.L`%{>< WWH/-s# :#1{3I0e3O&WPWPdK' ` 1{J.dM9?^җ,.7cr 鈃s)~. ^2)~XOKY+伥c(b)>O9e{(dc9Dlb@ma8)6Fa89`e0{e3Or_F2LB :%q$e.kJdyO2FΠ ?|Ȑ"S0ĿBb#ie{Bܹ|.TغWug"lyi^%/҈VΠq$ L^e{pRlWRL; e.kKV8_IH ?72$8b>"11/F%Da|\bNͰbdEp- X}['r@:ScnP {t < c?S/^(1x|;1x|<1x|R>R0{`#mf0 @K&c 6)bKmf0 O1d[LOK{L2&ߞr rŷrdZrdf/J@wL0W>)6FO8l{oc2|-M)6FbWmrZe&^%x|<(|%<`i'ғdf/x|fܾ NY)6G)x+2YzJ͹}@0 Fғdf/IC, /11{xRdm?Jp|tHl0JYđ4M*}_-2/@pjbXF1{%WLaK+`q %?wL5e{%'JJ,drS e3O=*v7 1\&QO{9CH)@pjbXOҕaWY_91K+,`tJa+,*앷Y^e;<' f25eSSqX]GbD\?|Ȑ ,H/S10r ^ˌK񹈍b"1lD.1/-c_%/ˌ`% Q}g"ly uJ7O0 S/N9)DLm,rwK^[1{%WL^ҽ6 q((dM9?^˥/ \9)DLAVߞsIzWh;^[1{%WL^ҽ6 q.9)DL+ta8 ;<e3O咽b,rwɋ ,e̓a8 rS 'J\1NKA%0ț)rU'Ln>:$6e!:%q$e.kJd}OP$QHt=+q"@N91S,1{.1/"7):|R@1zWZ)!?J]+җ҈tK.*@MdrwL1'̯e҇wt؁(xJҽJ 4¡܀"lPRĿ(oJ=)~ 9`1{.QKD\n:k%J J_㦲Yr9^h;y%{%`RY^ ASx(J J+R@@鬔r J  @WWWH/˛c %&/ˌ`%{.^L_6SOҩcq!is*"aMav4?|Ȑ"F%y^)K탬YGHPvyL2&gP%J^ҽ'T;1DL ^Ϳb.\bNOҽ' O)6GA&0RP]+ظBJMwL''T;&0ț)r}H%/ҽC1E)~\/bKbr\!?&0^<˪75ˏ?^*La.Pdtb 1Y)~O(1Xq DlĿR;1<([J#e27df0c򽋄'E{_)\/d򽋛P]+ظBCLa򽧕x3Tn:k%O8f!=ECdr'T;e3OS>Oҩ D (\&2 8_IwQ]D0f/eO2df/d|"lKS\OJ=+غWG/L`%{,%1WRL; e.kKP$~'72$8 ,ӄ10?\B1/P!S/aًxbR0F^yWT;\}|Rdm9>rCO0 ^e{))6(@RdmRlWK%l 1ܹ8L0%rS /l>PbOԤe:/e/c2Pw&0{K)q鬘'9^˥/qY1WK%sb#as-q.9)(8JMSbPb3R D ~Q'hR1p?{)Py_(Fȥ//<6̶9dž0a{a9I6u ^ ^d* GCF0RdmxzW|I{a8  ',ҽ',RPwɌ5[)sdE+vbWd>OҨ> F%pYđ4M(?& &Cx a~FE{BOҽ ` xt))E+a?+Vߞs6dih;|yYq?<72$L;1{,1/ИY^#i[ O9y^CJa+Sq?_ ^\Oҽ9^%|R 6a8jRlWZ9)DL%{K)~J7.-|po+ظzU0n>:$6c14M.:J?72$8b>" ^9~ Dl$L^įa$J[ *)I3s+IPjECJa GB3o II6gPRS,+Il''ħ&`~K.^9l X<ǥ{ "*c JD'T;D_+<dMWyA&0)~[)6_0%&;ᜯ`Ta>~RlK.*r8lݷQRI6gIl X=1{1{ 2 )KrN|`GTlr6'CYI3tb9)DL'l0c)s_h]E?KA n#"xn>dHq$X/ F*c a8?\6S\ܺ#1{J.ˑ6S<9'^˙ls&;e{%dM9?.N O)6F)@1#ma82dr󘽒e8oƉѴ?y˥{?JX7 2F%pYđ4M(U/P|Ha$_(@Q_.'!/LT &^alR/c  e(s`ě#ptHJ7$,j'IxjHJ,pV=cJ*@ѣ2 eǡ2SIxc BK!e T5U:LŏT4BTicW4X6E@4v_aLX2Q#|2} i/ adh$,j'IxjHJ,pV=c䢠D Z8.H٩#|2eǡ2CPd"оdHYCE>)#SIxc,zh2`2Xس+v|T)G`e*4C dH) F>401"" ^$2Oɒ$~ժ&uǎժ !*4UZX,hfdD M;/QX,z$FHU0)1Od!2}6L !e T5U:LŏT4BTicW4X6QRh_v8P#+݁ z&c$dM"XQRH DȡuQ$G"Dѿ > EH8dH7u2_"h߅C D!&] zȣD~a4KςG2dz12S%vH_H /I2dz1eni#vH_Hdeni#u,032$M$(]@)z8dH7u:$eZHcv2Q$ >47c+uA?BK^$o0k ;"dNčO4Nw C%D;%%v8ARhd7ƉA2; 42_󏡍#y5.wv8ARhdOF.w C%Ɖ!BT0aCƉҸn&+u #XP4Nygw C%C'cXcvG-_C'_yvG-gƉо0]+ƉגB6vDo%%prUqʸN9W *8\'prUqʸN9W *\(*CꑫFjꑫuH#W H&ep]R5uH#WT]R5uH#WT]R5uH#WT]R5uH#WT\MEq5#W ¡jꑫjꪮP5W G1<1<5M@11B@,h1BI_!C dIna{pO$ Ba4Fv$%H<]_HG޿$}_HG޿$}_HG޿$}_HG޿$}_HG޿$}_HG޿$}_HG޿$}_HG޿wo(R&bJBr1&(qp8 C`bLP/pĘ^2 _BI_v_} $|zл"G]cbJa4W Ha Wapl.Yl.)[ SIxc4Ŧ42HjI8တ Ie Q# BKdX% Ie Q# BKdX% Ie Q# BKdX[W2M$a2RD2} i/ ac΍nI_M]Ṥi c!4%H$ 2M$a2RD2} i/ a7|2+)_ Q^CQpsRB殐4Bh1jD`F .i]!о#4$ d$ ũ!$#G 5tY Цi+3IFM2Bh5M>8_ICW,SIxc4o#I& z$0HAj􈒽xh5M aH#4H`4T65rM>43HF\1H4Bh1M1iǑ Lđd&BKO#x$FiH!4i!B \8Fi#年8`4DIcH2I2W,j3T.j #I& 2M1iI枽DiF抡5$(j8Q$(FƮ\#I$&FZ z1ƒ3I}4q$0KGHd&QpsWHiH!4HABh5M>8_ICW,SIxc4o#I& ^$Pi"kyc!}"8$$ H!B=Y^F4H风 !X? D!4Ŧ&KCHA K d (,SIxc4o#I& E!  FAACqhph/^O##FƑd!4Ŧ&K<<<<<<<<} DP>} DP>} DP>} DP>} DP>} DP>} DP>} DP>} DP>} DP>$H.Z1 Fv} @r?W Ha W`%-%l < dF%$K 3R$|a4Ѥ#G 5tAcA2H\&$44|cƃ@icIH5/W%AԈ&G^$Ci#!h"C 7Xp8 Ci#4G0>h1An4F%!HH74$0!xh,hb @b/F%sH.}$p ƁQb"4PRME!Hi Def ` An4ZΆ_cOK+]sQH ,h1T @1h^4K}(M]!#=xE@C @cAJAGcB7X!45 x Rxԉ-7X"yrQQHRFL*H 4Ah4 Ɩ4Ѥ)-4$0H!5(^HA 4 d 1ƃ@ƅAn4BGq^P%4G  <1ƃ@ƅAn4&Ci.jKsW,ԉa~$C&M 64A2Xc cмh4 Ɩ4D`4%C%*C4Dh~$Fj #I&c !$4_H/p4hc!䢠D W8irCȩ$i# ~@ EABDA_HcCSSIxc4)Zδ)4NKڭeOiiiiiiiiO}<<$W  9y@$35ݒČѤ`z$f ` Ѥ`z /B8dKj2d2?q^J A I+8_IxD!C;Ɠ,!z6K H)dtĉGB\7!H\?I2*dlz ٰFl8_IHj #Ҹn8K #)!8_IPD|qc8`$D;'D:5y h G5!)>h1\Xо8Fj$fF5Ixy-y44pxM\PE/$ccA$oT0Xp8 Ixy4TA\D JAM>2;CEO@hT Hh11ƃ&4>h1Kc8Fh(nd^'о \7v$pנ7PF^7bK\7vKI]ADNĎG\7u)14 ADNI  0CHB#  \7v$pנ7PF$7CwbG @(ADNx݉.W ,I%ѼPF#p"DIFQN\7v$V](է^ADNx݉/wdnĕDIFQNc% ^F%$K 3O#Ʊ? apҀ60KKHf5"Ga #5$1b~CAxlBJP^4 nIFQN4QP%4} pנ3AW,5 q c2Xеh\@iW1CO}"( ЦO}"( +4$f$Q#@4O^$?,hZ4i.j8Q$iW1ADFBDPIM I &BDP!HViH"I&F$hI~J*@v .H٩#|2*I dH'ߐ2CPd"оd""D#4"ЦCEI$ip!WUeՎ.ips\;j<<<<<<<<el-|ZO)+ahSVџ̭222|[̭2/̭SVѿ̭|Z |Z!|ZSVO[ DOO[ D_O[ A̭O[ DO[ A̭SVk)+ah6|Z?>el-?2O[ A̭SVЁ)+ahA!|Z>el-2oO[ B?̭#SVГ)+ahJ%|Z$|]|\=)+ap̭?@ |ؠ>elPE2L>el2D_O[ SVSV)+`|!2A̭m)+`|!2A̭3F"~̭1>elȗ>el2~̭D)+a>el0AO[8#̭)+g |q2p̭?)+g |2p$~̭ _)+gPSV)+mO |`>elAO[&AO[&AO[&"AO[&W>el>el.AO[& PSVɍ~̭?aW |5?PSVɖAO[&g>el`>el>el>elc2L3AO[&(AO[&PSVɃbh?PSVɋ?PSVɐ̭%AO[& |1w |0SVɥAO[&?>elBAO[&1a>elGAO[& |0>SVɁ |0@\)+dh̭/`2L? |0F'`2L?"`O[& _O[& a'SVşX̭ >elX?O[~ |ر_̭̭"2, ̭ ~>elX|ذUO[S>elXb2,gc2, 2,%P)+bw̭ O[ Ÿ2,̭ ?>elX&`y2,)AO[A ̭ ?O[!|SVʼnhSVŗV)+b |ذo2,>elX ~̭/B2,OE>elXc |ذDaO[O[(̭?ا̭O[?1O[OO[_͊|ذ~>elX E>elX?<)+bsb2,)+b}2, |ذ ~̭x̭"2,>elX? >elX>)+b2, `IAO[`K2` |ط|dH(d U`4Hb*d"I2B(d\Z! EO=Y"OCR[G HH!dn%+8HT^,'(t3>h&Kׄ28uʭ(QI ]E $I\7,I%Ѽ"m#%p""yDicy!C ! p? Cwxy1#@” AH$"nG4 i!!A8`uȡ]KrbGRܲ8^Ц4B*M co]&Cw_,z;^TD2z6&<\v«]uϽ,xYkYŜ̝p> vHob?#k$t+eآhq !kĊokt,4;{]vϛ_ּH ?#w$/sZUˍ]M$/vh\s-z}׭O,N^@mvשF8uÞCkճ Sލgqv96 @mumv>k8!ة]VaF8\9 @mw<*8}qgpvO,mu=gލgq\7_ -vz5Y֫.v+z5Yۆ{]Ͻ,LnZѬ.Yp|1R=wP^eDv6rZV\KwQ2Yhr9(!ofkE68vY>k82,hH!Q18~CH޼IZUĉ]Č̳F+CY>k8qe F8 \] .} \O6Ak`kO6Ak8} \G] XX]Kxq-F*㯣F+F*OI 7FqҤ!G[nq^+([8clQvY8^EEZU]GzT=Z1WB4+Vh\sȃ@b/ک=F8 ,! 4~J'~עb:!6vVCtOX2iPD 1٣i.9΢-CGۨ+Fj.ӎ (lj tbb9'_zC{\!46vQvu+vN:-F+F*㨤+ufU<:y B`G-GbE +b:P1Fq,jUd;Z/V\vHn^2;\h\u,PXYqԈWckҧq utYkhѬ.Xp|Ok:}qgϠ6gлWݸ,6(:x&װbŮqyA05 \/,f-tbд8h-1k@N@PZ1 FbFr3 f-t8 A' rшj342k5Ah5]rai@jQhf-t:(tfٺ F!Zj2&мZ0d/=Ah5]P9 v]j F!Z^,A=^y]}qgiu=O,ln}qgXl@mwxA`<_BKE\l,^_vGߒ(,=JXy6y1""^$.':s]&Cw_,z;\l6s G PX> VTq z#B8| ѽE΢zB.J =D\4Cb`)ZASGxQ1eiNyTWLRGb> VT%i rXؤ :| lR<#!DQU> VTr;"_Uf9 G]HiBbR<$nLX> VT窈2 UJ 8KpV(ς9"*uiNxZ)R$Cbt)ZAS1#iI+1V9[ѥ}"+0J !V(aJ ]>mv<\دZk6@mv]F8uÞZ}qg*'\6πءsmsAEy,TZ8N9d;$7l|MxBz|HH_H Uϛ_ּH!~ZQqUz1Z1W ^@mw<*pѬ4 sյtѬ.Ç<wлWݸ,6(g6f-t t/xqe-1k8ūAh5]pdbшj34 _fh-1k^28gcCQѠ'Y F!Z JPd@h-1kC0Z1 FbCQ056!xȠ8 F!ZpĘ^n3Q XkUލgp<,ةYŜ]j] v>k88s-v@mw=[],s]ލgquÆ @mw=[]ލgqzs_BI_t;2*";nQqXlm1Z1W#:$i1W#DockTb@vH\66tb9Rg| $y"}<,8}qgZp|c"G^L ~E֩#u (Z"dnyHFe7Fܑ27Rr2rFm ]]VeF8 ]]V8YŜ^ms>k8V8YŜ]wyqkUb]KxpqףqҧQh\t2QPTb: v6t]Alm.4]vKHKQJF*R>[cҵfU<4 F"]=6U>Uލgpk8\9M@mwk8pڝݺdoD";`Dh"+v""kZUi ݂/ yj1Z1Wo(R&-Fq H]HH<5F*<F娽[r^Dln]ۑ•$I67Z.tmDXTHyz.u.Ӊ^|{v+cҫ7ErDG =ZVN93wn"H>yV6іےEx] zCQ$Jp4n9wv鑾4v54L(,Py0/M%ɢ͝^^F(l/VUmp@K"G]J;UsQv} i/ nl=Jz]$!dPXV7Eq)1!dPXVfSIxcv鑾$yVF*M%ۦF^ǎҧZx ЦE>y Yc姏x4B.~k8cxt/p-"F"^1u{/@Z4EEмbmZѠr,tb/X@X^ .fh Fȱш:]9c@X^ .f Fȱш:];c@X^ .f Fȱш:]=cs S^ZN/áxլA^-:1Bz ƃAi8Z0tb/kj^4 Iуxt/Řh4ţF"^1u3Axh-'FEмbh4ţF"^1u5Axh-'FEмbh4ţF"^1u7Axh-'FEмb&LHkͷ+p=z5YʸntѬ.qÍ0I%u(P͟ @]ebQuY1Z1Wq4D \E +ckzF*SXhKQHQvYq9,hq!XZ76|VxIxE +.aCb@P: CeZVU}Qh\"pu\/Iwbˬtb@uY.b@4\h\+^4b@%^GYTTb9e>k8(]vȻI mz-F*h\E;^3F*'mzjU<]vOZpѬU]%B~ELHockj1W F+F*(i1W<]ckTb96>ZxYkgލgr8}TΡH]sͮvXѬ.Æ>ZGbjGC ;2nHEfѷ$y^Qvq!׭Oת>FuةՊH@/e=E\H@[eحqB[SͮIFWk֭NWkV,a!ث'lUāI'9C8~FP:(佘4ZU+b 珠6CkU\.tk6 |V|*M;{]vZ>m t+i K hH#(i¸읣q#dYŜ^\]\PIx?{.qc.[i!qA%d\\smu.|Vżשŏ"@ B0G1 NBŨ Nڧr$0h4bD:0hy1W"@ 4d[r$|٢-F*CkՓ]!guddsmz]Y96Y`k6Yd6Y\k6Y]Y_mz]X=S#vXlS!H]V>m jztXk»^0}qg8Ȑ:z UؐXZ,m.i^+ףq:Ky,QV?!֐!xK.-F*J쐣D? \}+D? \fU˾RI7y1W.WQ/ mz/V\V,mz.b]HYuQsգqje6 RF*y VՆ|OkՅϽ,_mulv g6CkGks´#L{]v>m k':YŜauBf`L˝nQ%޻omz-F*ؒĂK{.t1%IwuQj1W"Kn$#\%HDO!Ce=Fr$ uo랡\,HApF*X`랢nUȒāWxB5稻KQX:$ae=EVUȒāGt #^ .VъX:"X]%\*q1W"K` CXc .U\,HBM{.1U\,HIi .0rbD$ I "0e=FfUȒāVw .2TbD$AhGy,-ъX:7kQX:$i^.^bD$_i#ˮzfUȒā4F/4e=CZr$ t5F.Gގ ,ъX: 1|qK.4bD$č#YuQr$ u"k~K.Y1W"KbFW-ˮzXjUȒāؑ}.y,u\,HHzKy,QX:5>H἖]smъX;2ޒ^|K.64bD$Mrޒ^|K.6y1W"K`G#E Zti).IbA%޽m/V@z\-CǪp cX`ևVU<]Om G ݄(O@˨^<VZ2Hu ]Ǒj֍3Fr$ĖKwR;.4^ъbJԗzv]hKQ[Gk.hъ[R$-L˶+Vh\J8 JjU<׫ ֧TX;ST^96dz6N@mw<\Gk96X>y O:ǐ\k6j|V]]!:Z]v@mw<]ϊhpk64|VG<]6Ck'kǐգs $Ὂazāo"h u28clQvˮz3F*H@,y1W"@E v6t]"@(oO]\Ahb^Qsգr$Ď+vj u"kM{.Tƨ\]enm1W"@ eέF* v$ ;Z0rbDsц٣r$]sQڣr$ĕa6e1W"@PH䱵kQR%yo%C֌UȐ:I62 uP$Ick֨\.4if\%ej6Hz#C ;/Siۑ tŽ8r$ĎKOQnD/IwFW Z4vi"@ECk%C5F*HHT62X:tbDؑ>ףk-F*HH6bbD؁TK%FfUȐ:"X]%F5F*H*y4xlmztbDףKie=C-F*HRdG$@.6*]"@#$v6*q.ӑ yZU.DP%%j֌e<]Oa$B>&uv+E\gP .4ZU<]ϊao: lP vDUENFI 7Z.r4NB\^Vhۑujaz1Z1W#DhYvQh\‚K^qn t4nXZUѺ13F+F*hYvLъlP zƍф#k.ht6zB.hh\aa4y.g/XѺYv<ӑuH!<ӎx{D\4Cb`f4n-C/E\l ъъ7Jm4iѺT lnmj6h@,OQۑu5ajq u<}qgqv:i Gwok͝SHX;벹[eS!H{]vj|xwQCx~GQءvX?#+F)-˳Z-F*hEt]ъъ"K%}"dw֍3F*h,Qe٭5F*hƩbK f^ъ"d bK f]\sIrᐲ˳Z.zbF{.iZF*hfƨ\sKd5[nUl"2v6Wok8{uTѬTdy*D1>6~(\]cK4 }yj-F*XHTb|mcQъ$h:3#Z3F*ĎKM$/-CQ4B;^ъ4D;]\Kn><=Z1WčGc[eV4msq!8ŻwmbdYh4C%` wt6m1W#R?xCclQڢ9ݎez2hNGwP!xK.2tbGwb@՚2bGwb@T8h\zևfU1#@˱Z:YvXK7F*Ұ4 dU1W#@bZIF^blmz=Z1W#cIt]uҸCjU4]fۣr;;cku%C윢뜭R!H$Ċmz/Uڣr;I.עe1W#Q]4RGemj/V܎ĕK1I8vti#%jD0”=I]'kF*wt="\ъ-~(,Ks5Er;8PC(߆עnU<\Gk9TWLRGb?"#\TZUlmz1Z1W#[.4׉";^q!8Zؒw,QRGb?#h.8qףq"S]w<׭Z>+NxYk֬z5Yٮ:0GŽKy,QZ~J8 v/%H֋Q+ϖyE {e٭ؒl72]Ѧh\GT62:@˳ZjUp@ECk#dl5nUp@p5uf]\G X7PvkEVUp@PH֕4b#R%yo#l5N5F*8 u"W-:@˳ZU\G*^E {e٭b#R =֌Q^$wR]ц٣q:\+Ď@˳Z2Tb#RCi#˳Z2tb#Q*LK.hkQ.ERh]Duf8h\G"4.ևfUp@I^|Ke٭jUp@EO@a]ѥq:+ϖy4l5LF*8 tWIuvkF֌Up@Ht_zKo#l5ՙq;5×ޒ2.hu\GĀ7Mp̶:@˳Zi1W \6}.3-=֍ؐ,}.3-=֍Z1W \X\f[yC {e٭i1W]2C-ZF5C4ZO,븻5^|WU=;T)˷}"$a.u G]]4V:~􈒡)-v*gnKtZb B\6i}4rDB6nۯD %ΡHm+UmФ|Y-FqФ|-ZU< R"JP|׭W?ZVWlk\]WoD*]B`zZYXvH%C R>[b̻"ګ5E\vD)-Kjq$IP\אY⺬ǐZuY"y 揊ZPګn2čI+UY -vdѬ2 ]>k8qu]>+]"dQ#@ -SUeڭ8 rYvEڢ9"dIlъъR#V3F*IPŽˬrq,i. (([p9"Vi=0ebwdL$hYE"dP={0\hm<,YF87_%SHY4 ,POVQYv֢i zYv֣LѦ\C ;.^Ѧ\s 0}qgpP HYv(afOȻ@$Āp!b:8G]sbb;2C,Qh.9t#;{^>lm⺶w»^}qg<T%IQV~Fۄv+E\B\6]+lyV@mu^V>+G!:'a.*x5 u*L˱Z-F*%upjZVUKl4bB]w^˱ZjUKpNEeKc"ъ u.E (-Sҵfշ!.BTm0rbB]wQ%H tah\( Sѕڢ802;^kxuEB\שϮ,;UiEŨG uҖ8C ;f3F*"`zYv+CQۍclQzEqcEqcW%qz.b",u䭍EVUE5qVъFоSN5FqcjZ1U\DX"U`h\DXD"9-V C8簈2 U8Q:YvGh/Wg`zas8hq!vu:P]@ QS #mSbdLU"WؠtqԑVr(QZOQj1Wir(QX[?"::q2Ӵbb&i1W=5F*G:T#׫go»^}qgau^>y SOyURdשՓCkOy -zXѬ/V7_HB,-*y.ȟBT1HmE\DkϖB16hx\DxkQueO*mz.mъ%AkQעj1W>OVrb"} QC!OV4b"} PlpnwWjU<+DamݽS̟<שu<υeI!n׫g_2.D]ԩ!E[:~JiRR>[clj1W>(m ]4i>( VQzF*'Х=!PPڭEZB] RbU(̸)FP^m.֨\DEY1W>(j9U]VqR^+ע읭B4`E,B^BwqRˆl^i1W>( (\66ie\Dאע1Z1W>(hHaע4BwGqR n^tb"} QdB\KQ)ABhSCij.th\D@W]ij.YqREAv]v5F*'Х E֭[BX[{T.zQ)C!4mSh㕣r 吾[jzm1W$m:2b*s]}qg<=dHz#v<~$nء?#2:Gf*zQv .}qg8OxWkO, v<}qg8kaϽ,=O,kK0.fz#baZշ4AY^^۳ ^1#iנ;0]:GfZQzCkGl0sFP ybAeY<ӏ>`zGf**樻K8ĕ 0*ƨ\yQ&Cx 5Jtb2;unUQu%׳ 5EZU]0'a>نԫm8 Kenm\ữF2*yzъ2pYa,7_,! 2tmOE\uCy,lid.e.ӎ c F,Ckgl2wŎ-C ?#nK;EN:B0].ӎ@HocmъъXOx޼ \!46vQvu+vN:-8׳ti1W]>+`$:y B`G-Gb0~Fu(vQ7Ccbb: 4fUK CQtb;$7DuEZU_Hmz.zb:(,mzVъD^+SQdx_zZ8}Ə:Z:}smv6}]Ua8{>ZnaϮ|a@mwCk_mv|VG`0ny ڟ@m<`0ny O6Cktsmv} ]O:l6O@mw]>y g6XѬ.qƖ!C hm uIdc%sޫxP%s'uK-%s&uĊdc—]@`<+} $|8 CkE DײSkUty Ck%`8 D ᱵM%ގ$Pګx.o(mU)0wn5kO+P&F:9_TxB5_o(R&KL]tq>ZpCkR#}l[ؒ%п`pQbMLwQ%;1# W _&TײV"k+j{%}>Zd|;2E#R>_´)y A E 8oZ2;uL_BI_v_hm Jpѓȡ}P$IxFI "D$.27v y ]+ KL]t>&} [W_¨$|d(l|*Bc$v . 1%SP&F:i BI_u,1ƒ;2))u oϼo"KGNxZ1 ŤCh- .!j.tx :P{d:9hҀdL, k !=M6s G Pς9\HPk+H*soAs p)ZASzFlPm+H*s ;6B> VT瑥Et$v(O9|IZv;\(v)#EV<| *gJ VToFPu> VTGD C | ٪ͮǐZacدZc[KU^Ax7 Ph/AsȠhz h.t4 F"VAx7 ( 6bAx7 fAx7 FE@Ѡgc š\j2(^- #5AZ΍5šccs}$p; 4ȭz?V*XѬp z5Y֫#POȺkqXmSZUǣ+~ףq QhVqҤC^6\\sՎG` ]0˞Gލgqu96 @mumvz5Yp}qgip|*H\.esaҋ3S.+,Tc+Qj.aFWr2au֌Uȑ u^3F*n!xע. Q ^7F*@ vY>Akpk}qg8VeF8zŏ,8s]L"2vʟ6߅0B5v1#Hs9_&ݽpmH!vƏ9R41#-vϛcM!bHv>l).| JTÞ@0|>e2|'*B[$@okpLHK_Gwokmvz5Y8sP dױCMuڒbIwbFrK$Ti1W$Č樻NIwP!x-E׭i.hKzF*t(,hKQ%ݎF8=Z1W$D LRfU.׉6ԩƨ\xB;^m1W$(mUVrK"v69Z1W$$PګQ٣rKE mz2TbIwJ+,F*t GdMQ֣rK5A%aqzъ%P,ъ%ݸ,68rF*tv8r,]ưfѦV[m=[\ލgqv9j}qgk8Eb? P4&hh4 ƖZBap Ǝ#1q1@]eP4&h7(t9VBap ƎqlL1( ^4t6& q)4sfD("۩mv>k8p眼o#1'v(l46nZUȑmuXѬp묹 kO,n]u>=̟z5Yppl{]u>k8ÞEk 'YF8 ]ugmuXm뮹YŜmÞGkO,U -ud!\Y+B~F*[efQckъъSCef3F*IB]vhy1W@bպ.ӎ 66e.ӎ%$PX]\upOI sգq)-뜥jx4 F"]uΟ]v]vϊ\xѬUfNnCkUϠ6j}qg8s»]z}qglG$Ehvud1tĎ{]v6s䈭07kG`%Ckk] z5YÎ.{EB?"^$P {eحr"QAefVE :8$GefEq)-vHAS:8!k ]4mФ|!NHvѷ.tmj2ێzEec{»@u\e5>k88quE} i/ ny.]}X݊{]vY>mV$w]ok],\]u.#}"$IءvNHEn$PM{.4ZUi ݂/ ,ъъ$xB5,Ѧh\C2o(R&ejUy0aCefպ1W ZT˰*֨N>47n6K aUsբ9$W "˰+U8^ݐ(, R4]BKL$Gen+QSIxcv鑾4N4=W4L(rCkq嫜c8p&װp-"F"^1uk-@Z4EEмb^háxڴ@X^ .f( Fȱш:]f8cxt/r( Fȱш:]jP8cxt/vh Fȱш:]n8cxt/zǨ灍8Maxh-'FEмbZZN/áxA^-:1B񋵵h/ hш:]bP^4 Iуxt/͙h4ţF"^1tP^4 Iуxt/՚h4ţF"^1t^4 Iуxt/ݛh4ţF"^1tQ&v$w8tY"p{]s6'8xѬUu],]sI$is6Xv( ôZUev( ôbb=uQh\ W 85F*(Q\l^պ1WJEZ"FWe7J!C rYvC<]Ckk;I%u(PLu R^˵Z-F*s46](h\˜;Frde\/Iwb˜;E:(仱@]e-F*HmEVUXⱵZF*\pYsiSQ煖>k83(]ȻI mz-F*h\E;^3F*'mzjU<]Wi -ulѬUhءvv#ZU!Ackъъ$v6fUOX<y Տ -uή}qg*Ë[LuS>Xn\͜P<$#gokuc»]s,8n HkA:jGC ;.u-FܑP<$#k.u7Fܑ`zYs(T]z:|Vּ*} tj hfR @#: rYsb$@ Gu-흢b9tR#+vN|xT DevN?SWktYŜal/6X>+`|WQ&Cxj d,uQ{0u-F*Ckuc \y M@mw+@*M hlPGVb@ ,-SǨ NڧQъTQ4i1W"@ DrQ4< NDX^ъTR>[clvq!y =S <]OWmzXk6O.|WSy Vն*|n׫gO_»^}qg8 u(lؐXZ,m.i^+ףq:Ky,QVHW%;Z-F*J쐣D? ;Z1Z1W.Wc^~.vi1W.WQI$ס\]FP6[r4XKQwҺ zwIe֋[b4i$JpڭJ96[h=V}qgpCkՃua!G]!⺰ׅiGvvX\+6X]X_jxѬ0آ0}30&DmjrKwR;Uj1WNĖ$]آl՘āۤlj1W"Kn$#;Z1Z1W"Kn$B˝fUȒāVw˝5F*Ib@+4R;Z/V\,HAw)^˝ij1W"KP$=z8,sգr$ uHף˝+Vh\,HF,i.˝*q1W"K` CXc .vmъX:#!H\hVr$ u$J,уr$ v8^HQ! .vah\,HAhGx`kFWjUȒāԈ#x(%;Z2tbD$;.ve\,HF4 ;Z^bD$_i#˝2%2h _i#˝jUȒā)z8$kFnUȒālM$rYsLF*Ib@H?xo%;Z4vbD$MteևVfUȒāؑ}.dkC5F*Ib@H>H἖\hu\,HHzKy,ѵr$ u"k}.y,Ѷ+F*Ib@HʟzKy,Ѷr$ u"k>JYsgr$ v}";$PڵFq"Ė$]آ2~EH^իtZUưjx68n%ױE[X5]B|epڵi"@Ө^<Vi4ˑ v$]뺖ڬnUȐ;Vu-X9EZUȐ4 z8Yvsգr$ PHZ-VъpAjz8y V>+kz$w͝3=l6smuΞ>+\~Ck֭@mw<׭N֭y Z}^8|WZ6kS u|׭V>y Z|WZ6Wlk6Whk6W:|WU^}^>+0 "@ءsQbD⽍F+Er$k.vi1W"@/eևr$$PclQzEr$EZUȐ:F)/e^ v$q^\+Vh\]*kګN5F*HG{Usԫmъ`HVъF*H#CjՊ0rbDڵ9FfUȐ:w HWj]1W"@I^|ckі[r$ qK^ u"W-X8h\!4ck,ъ_H RD6jUȐ:sъn6K m4mȐ:Fv]h-ѷ"@dm4q6HYv٣M3F܉^<Vhh.D؊׆K^XjUȐ:mxdu\"}/%FZUȐ:Iy,mz6h\#HK^ uDK^jUȐ:Th#z=V\F%˝4 v$I"lôX;U^F*H![ZUȐ:2G%.r$䶩 F*H_..֨\F8dO1EY1W"@ѥxe\F$iS^[clv5F*HD u Glm.vъD u Glm.u\AhbHmEΞ t(%U՚1W"@IZDO%Ghgr$+OJ6  u ]*}[0uz.zQQqXlô\ъQ&Cxjfm1W"@p+kJTbDѬI^.@sUnU7QxY)U׭*q"@eŽ:za\ B`T+-F*H2lgiVXy koȭu۩]!mۮ$Av(]r yנ;.tr$;z#NъъG =!m:v3F*Hv$ l< yp^˶tbDcp{.]\{.x=Z1W"@W%Y9JiȐzƍ0˞^PNFi ˞sނ"Q.g1ujm-F*hKe=F+F*h*(4]#FR'-ѵۑuFۣnF\<4dѬ.Ri G{]sˮB[v>mu 㻨q?#lPeh:#YsQj1W#D\+皣r4EΖ$JDe5Fr4E\(皡\s,Ia皢nU;$(KXl樻KQ"d!e<=Z1W#D\w<+Vh\sW皥N5F*hJ[$(e5JxvWg|MxvW\LU>k88qH'^4XXRčG_G{.4ZUı#@ԩ˲bF#S;8!.Fq gbG%Φ˲5F*X#u efպ1WƁG{.4]\Kn>]hъ$h;;UfiZF=W^4|WUfC ;6B?%VZ;$e3El+z Ӵah\ HE FWjwv8P>\2hNGwP!xK.ve\ā-:zؐ=e^ҸQzB.t2(bF%ljUhifVr;VƑ5P[r;a(yNDh5&+סգr;4Ie;E֫4bGwJ R^Y.ƨ\HmEm1W##v6^Q݁2T1I{.x\h\J OF%T]v٣r;xCETbGw_I%}"4^F*wu*+HUznGwbJ%bXef.GwbJԈa(z8-Uע읭/cks3F*wtW8T]#c1lmz.q\smz]V;TWLRGbtګ7E\ףr;Qh\H޼I<y U>+ǼIZv;\(v)#EV<~F]{UuL6yS@mu^N^Z:YŜ\\X:W 9.EN?%Ve;  $PsQj1W%yo#lh\Gĕa=皣Lъmxdu<5F*8 v"2\T^ъƱ#n=皢-F*8 v8_Ď@˞jء4e5J՚1Wl7R\Tƨ\GJGPsRF*8 u!P).y1U\G*^C {e5FVUp@r(;).y04b#KEx7PsQڣq:I\Te\GHT\Te\G"4.x˞jQ\&ԃT\T84b#bJG`"[.y:؊+ϖy,ъHaD\Ti\G"4.;.y4vb#b@r\f[yE {e5C3F*8 v$k/%e2\T:Tb#b@l\f[yE {e5C7F*8 v$kϽ%e2\Tme\GĀ7MqcIqmu<bb#b@̶:@˞j.ݎ!k hus^X>k8=;T)˷q}"$a.u G]]4N6~􈒡)-v*p]4W%F+Er8_M$FeF[8%C sR>[b\f} GmSe_BԶUb9xZT0:#嶽NN"D .Hk=wz:~$au GlQVL˲!Hmpq|-hx "JP|׫MG|שÇu8ϐ8]NWȭzXk8]N-VYlkd]Yomzsmzt6Ydk6Y8|WVY^k6Y`mzsmz]Y[:8 EXl8 u%׵X=E\G ˞jVUp@7Cci1W!,vq: rYsQzF*8 u ;..b#R%\h\G$ڬJ՚1W]*kڬN5F*8 uY;Jv8_!6'VqwKT`h\Gk.y04b#QD鬹Q,6\Te\G<mj1WFv\T8h\G,HGe;CF*8 vQ&.;T8u1WIS(ъ,/ $]i\G $$Mhh\G $ΡHmt:4b#ojZXjUp@y]z2.i1WR>[jYj4ˈҴ) B<i1WhR<ףᳲ!Iwke5F5F*8 v8d10ZXFep@WG lgh ֌Up@a~Ky,gh F*8 vDv\T]Q+zZNQvVn\G^+˞j,b#R;.0ъz4#JӴauqҺ8avpjv\0Mvy`Q瑣!DQS?"y9s *q,H#]B`zX,~FdM%q-F*+EZ8~F݊ nQG(߆ۣq(ML7Cclj1WBbhLzYŜYkobڧj1Wu GmSe#]BUR>Z8KjZ-F*5B`z;9/dP0X.~J#宾H$pZ1E.!^+ۣLъ2C-V\u GQU[Lq#ud7m,煖 0}qgdeލgq8nCkqc⺮LjR&E4 ,PVn6K Z/jj䉑%r$Ge;Fr$aGe7CQ4Hv\t^ъY CZEZ݊ic2;&E4 ,=WbwdLfFn9eçލgq8nKH$hXX^Q\jf2Qڬ/Ee[fZ3FY<닡*LVv_mv`+V }smv<|VBuN]{0g8%t2 .-F*%upf=F+F*%vH\6\h4bB]w^˶vr(,Vn2%t X\h\"biZEې]!*LWfb]IR$Cf;FfUKQm›2vi<ءV ݄aebwdL$hYі[lN*I!dكQVm؝*@4#@jZn;>T i z&Af斥N4xYkqF8,8n 8plN%׳ E-"dQ#@^=WbwARI b2n@*LfZn:r9e',,p}ise`؝KfnQ[p6'vRdaZY(9U ݁SHYf7EʬlN쉑Y`VqϢRۖA\C ;fQXYsh\sbe؝ԥ,;0-Fp6'vf^3FUg 4̲lOfeIY`lv8}qg*|+E (+v N:h݊{]|~E"0]O|Z,흢b"} 0"pمF+F*'о/C !j;مFq_ D4/ZjU+bxe uݎ Uc6$a혪ZU§-^VU5]Y>+a<+*H /#v 6|r'ЦH aTHBbfQ)Eh_X^3FqR0tb"} Q E `ij^"} Qt%IGkC2'ХB]{0.֨\DEY1W>(j90t]VqR^+ע읭B4`E,B^BwqRˆl^i1W>( (\66ie\Dאע1Z1W>(hHaע4BwGqR n^tb"} QdB\KQ)ABhSC\ъ)@2UuufUOJ-&@Mvv5F*'Х E֩]ۣqR offb"} PHc #0T\ъ_- 7E6xY6D Cj~E`F8m "FA:#u <~Fdu nQv }qg8lWkލgp㋶υ }qg8aލgp닰Džv }qgqv 6xeLӯAlV6m:FVaZշ4Avan9Hu X^gn96 >+a|pi_H 7S0>H,*yKנ;0t*樻K8ĕ =Jq1W}I'9,g)VnUǟud7)-iSZUǟu f-J9Z/Vsmv`!V(aOVaFנ4),kQj2ېDAdVate!Fן CQ 4N &G{.ptbB.lij1W]˟@mw<`O<"D~ `4y0h*k8ڬ[mj1W!@8nѥuJ^b96>+`AkxY`G0xAkx\]͟@mw<`+,}<,M$/GeeϛomvVsmvV`k6+2} ]ߐsmvV:}]>Zmueclߐ쮱 쮹 S smvWdkV+>u9V+}smvW:}\]>y珠6yW>965sȭvj ۞AkVOa"٩ AkV:smvjsmvjxke z5Y8|+asF8xTp8G{`ц|8dLax]*L146ϐ"dwVWgٕ8dLYL#}l.^I"Gz46&u Y #46C/ %a ^84e:uKωE ["dOGk."6;g]@`u=xG"cv46 wr 7aGxl.27vgOqX]GbD\6 )Zc([P&F:mo #8 CkR밡C[%muGkI\7u HhBew,VWCg)|)u 5]av46 *{PŒJm ]udo탣<8_IwQ]{P&F:e=$`і|8dLe ]udo탣xd7*K_@5Ci#uD౵8_Ia 7D+9C C%dL^~B&Eclpx`u (Ycl.],m ,"v$OeljŒĉlY41ƒ7QHWesκ27vxѾYCuG*k$p4e:uK_}$p;#X]Al_Ȑ%B;3xG"cvp4;W[.27vlp8B!*}䮣y2X:]-aj4C5X:\>Δ#"a`^7Ao`vZLL@r2& ECqpQ`s$PX:eoA nĉd'^Y/bD\2XSy2chFG4 ,Pς9x#(-+H*s¸=آ> VTނ"Q=!m*qiNx".uH!EN> VT煑wmbt)ZASF;آZ> VT%i rXؤ:R<*G(acJ VT)-v#E ;aciNyHD C+H*sDThR<(UmiNzȡEb> VT煨BK"D6(efO936D C,> VToFP'O9t57Q&CxP'9->mv<שͱ_ is[-v*|Vmu Pbv-F*㯣F+F*OI z3F*IBjUP!xآn"C Efx"I6ij1Wu!SCc\h\u GliZF*D}'cO,7_(t;0*ۨ+^Q7dX1Z.ӎ <]cght]A0fѦhK8:B ~FE!Z46vQvuhaGcghT]Hۣq:גءȽ]IcghiQB,lj㨒ٚъъ) ]{7FqNB!KtءaQBhy6;F+F* (4b:Y=CQ̳E <]ckvq&G{^ ^4b:mzTTb9R4.:}e:V',nSDU>mV8YŜxUkYŜ: :}Gmv>k8>k82X멐FV.m u Dem2uX,*B[$@okYo ʐ]j]eOkލgq1]ءu?"%݂/E\č%VVU.$CcѦh\C29CQvB]5E׭i.h^ъ%+ n]kcsգrK$@=J՚1W$^$PګRrKE mzU\HVZU.+ĊQ`h\xCjFfU..Q%*B[$@.e\!Hl]jі֣rK5A%aqzъ%ǘYrKqXly:]ҸQif\ 5 .iVq!Xs»]uz5Y8nCkg]xѬ/WxWkލgq\7_!]s S_u`Ѭ.Yp|]vO,U "9ءu7CeZPVq%v4mze1W H^F*Xc$6Y1W$Ċ xmckѦVrKJE D<6ъ27Dv]zъDHG]a7UqF08Z]uΟ@mw'׫ލgqsءz~kCqz CpNZ CpN bd2J,9Aj2j4 vшn B`cc |^-(P4 FV]z dփAxťsfP l"j-t`/6] Ñ`^ ] Ë.ra`b5 ,T QpP@)$Cf/Q#,2; 4ȭupg-u\=Nz5Y8s-u\=Oz5Yp;..IY(%jVQzz#v$(]UY E֋Q.Il Qz7u ؒ{]v*}v29"+G V]9bdrDVj]O;ZdrDV`)*^]v>ntѬqv4P;{.g]ĊPl Qj1W/(]E]hhN^$PY#Ѭ1Dv]ht]Bd:Y#ưe9Fn>#*u @˰rkFFlheS&ok߅wt=b벱=t#;{]vW>loM%SYkލgr8ni o"c;.U^+(i°ԱclQvNĖ˱Z1Z.9e-z5YN'=X݊{]vN6;ӷe]ލgr.B tHDv(\eg#A[)^˲vQ$@BᵗdA )^˲v3F*xB5'hy1WyP5 dtbA "yA ֋r8RI En(^K @Ie.u.Ӊ^|{EV^.tv+%d+Vhy27"D8-{]s>k88sP n4B].q.qw^]@,pij1WDSIxcQsգq*HGR uÔYqdNRrH{bm.ӑW(vL(,+QEےEx]L(,+Q[m".Y]pT]$,IGAe٭iĒ]o"˲YUf[rH_vKtXUQҰإZm.ӅaeTVӗL0e/Ei R^ hii:$c(^Qъ$7z$6\4-CkpZ=wQ1IwRl.qk88qu]O,Np|Qw_BKE hg»]v>k88'|HL)h*"L'޼I$hr8d11cutm§ddyEڢ8XT쑾H[clQv+(c+ԩF[nIv;5Fܑ+ej3EێxL)iw M%& .0/M%ɢ˲mЦ7Ce9E*-dHkRG{;Ju.ӏM%ۍciUV^d, ;JfN>47d, ;J֬v} i/ n27"D8+VVYЦ#} i/en8\\sۺ]2hvV>G+:YŜYέ]ڟz5Y8n7v$y.\;_ .bβ~JDwyQ.u-EۏGw]c([qDwy{]su uδ}qgqs=F]ImbΝ?"SB].q-Ek8^݁eίEkRNU#\T\Xig]stuH!t&1muΞ>]hu)d@[]v>ky u>+\>7uu-l]Wk'ލgqv7_ȑנ;..ԏ:v:nHE֍ѷ$y]hT]z96>+]]Ϡ6'lYŜy 叠6'+]Cky u>k88AH$B?# =W%E\z'P<$#k^VUǢvDl^3F*:4HD665F*:Fv]zF*:#F(lvDA,.-EVU<תǏ6'ލgq96W\k{^ѬT<ת@mwk8pvjYŜ`6jskSF8\;{^`Ѭ.Ӈ|+Sލgq7_ Sgy Z}mzYŜaþCkՅuo( @X^ .e Fȱш:]^8cxt/[Vháx,h9:1BٚѠr,tb/NXh9:1BYѠr,tb/Nh9:1BٺѠr,tb/OX1EXMaxh-'FEмbZZN/áxA^-:1B񋵵h/ hш:]bP^4 Iуxt/͙h4ţF"^1tP^4 Iуxt/՚h4ţF"^1t^4 Iуxt/ݛh4ţF"^1tQ&v$wͷ{^2}qg*WkՃލgqs1_ $*GmPZ1E\F]wba1Z1Wh4bI+˵ZjUP,66tb>5֋q+Da.t.>0%.z8\smz]Xc6K(QX?# @-F*s46 ъъi1W vH\6 PTb@@]jtb@u]\)-hъ<5KV6+Vh\K U)SQ煖YXѬ.`آ~ELHockj1W F+F*(i1W<]ckTb96YڲY`ѬU*|e.drC{^Q(,mz1Z1WDףLъ^q!e -zYŜUgPFWkՓͮO{^>wڱC,}3) B@-VNj1W @#:ڧb9tR#+v >mu*L"2][>'|+fލgq 첱[,\HD z#2e c"KٖVb96,>y !`smvXhy @mw[clvq!hsmvhy L@mwy ϊ8w§Fv4|`Ѭr"@8,PʟؐXZ,m.i^+ףq:Ky,POu^+drvHQ"Wd}+D? 4}+ockTb]I(^X^ъbX]\]B=v;Y;EVUpYje6`mъCkp[=Ͻ,_mvl 6CkGl,s´#L{]>m ˟'yF8Æ;b!y-F*zvaecbK .QSOȽY,HKdr$ vHX;ڬr$ vH(mVNѦh\,HAhGy-VNTbD$#H,0ZnUȒāWxB5VNvr$ uHףd=Z1W"K_y$=z8-VNҵfUȒāiƒ-VNҧr$ vP58`Y;J%R>jvUj1W"KRADad9Z1W"Kc$R`Y;FfUȒāVw Uev\,HH7BZ,F*Ib@#+Y;F[ZUȒāi#HڬF*Ib@jƒ9-VN,ъX:&ƒ9-VN֨\,H QKUif\,H QA8G%4bD$č#ZGkF*Ib@DH἖'hufh\,H'ޒ^|KU:TbD$čItjvZnUȒāԉW-dYj1W"KR&'ޒ7dbbD$ČW-di1W"KR&SIt>[%6y1W"K`G#E Zti).IbA%޽Y/V@zZUưfy ̟ @ uP'Q e/IwFW Z-Fr$ :.ckFLbK%޻oY/V\%jKwR;04]\@ףᵪq.zbDV S% 5J՚1W,ҧqU3$[g|ש]!y⺞96O0}^>+<שϠ6Ckճ]!yc⺶{mztk6[8}^}`D7EYl/X:Pr$Gm1Z.ӑ uZLъP!xKU< v";bպ.ӑ u7'mz.bDנ41I{T\h\#lҵfUȐ:5ҦTƨ\]j*tbD#<bDؒ?t6уr$ <m1W"@z,!]y2TbDؒl7ף,F*HI6mj1W"@D>[ 䱵qzъRCi#סYr$ "9,mz: u%׵Y=FnUȐ;qXmUѦVnDנ40V;FnK (UѣQ"@HXi6HB|epڵGkFr$T62X:TbDԅCk%C7F*HIy,mz6bDԈzKckѶ+F*HADXmh\%%XlTbDҧA׆סF*Hz4F,'hy\ *LHj vH VuU.ӑ v8d10IjvmȒZvDn!.-ѷ"@%׳jUȐ;2C,ͷF*Hy5:lX]zF*HDi,Ô]sr$Kx#עB5FǗ]1W,y8-ъHlmz/V֣r$L=f7E^bDۼ4ah\y+Cjju1W"@ѥ,U u4e\F$iS^4dh\#̱Z.qfhdBfy1W"@$oR>[clsnUȐ4$oR>[cls-F*Hz#Cu Glm.th\q@)/jnъbJ"}/fXfq1W"@8TDk2T]ۣr$+OKfXnbDp\lU(㕣r$L=ՙez.yh\C$Qd*QF%xjzY\o#u7f֕8ӑ t aGfna\ Be)VVZUȐ;d0ڧYbb96Zl+^*}sPM;T9XySz5Yʜ8ZoB"Ix?{T']cK4 }'hbF#R!dbF#S;8!.읣Lъ3#SI e;CQ4B;vNzF*X#ue;EZUıFce;EVUı#@ڧXj\\smz8|WSC ;6EZ:~JwuH!i-Fe[ׄ=xme F*wv8`G(lm2T]#wZfZ.ӑ^+de1W# Kjzؐ=j^ҸQzB.x2(bF%q:Z5FnUg#ai^Uzъ݊0<]"J4HckъKKN5E֫4bGwJ R^;Z.ƨ\HmEm1W##v6^Q݁2T1I{U+F*Tb|m4 -S(F*wv";^v\KDh"+YnUTWMڧZmj/V܎ĕK1Iu.Ѧ\ĕ P$pZE;Z1W#1^עfUkAj8T]#c1lmz.q\stؤ:i%׵Nb ^Cckъъڭ7Fq"Xcz$GckTb9bJӱG I*u6ڧOQj1WHmz1Z1W+]N@mua,jZ9p^K0'̣aBY!ĊUZUp@I^|)Ubb#bJGPڭLъmxdujUp@ECk#dmVQzF*8 v8_Ď@hij1W$w2G(ъIG)ZF*8 u"W-:@h*q1Wl72G)Vۣq:mxdu1U\G*^C {jrQ^$wRG(lъ.EGxC {jrԐHZ9FYnUp@4IIjrQ\&OZF*8 tWIu e1W%yo#F-:؊+ϖy-VQq:+ϖy4mVQVq:\+кhVQq;5×ޒ2)U:4b#b@r\f[yC {jrXjUp@Ht zKo#mVPMъnIqmu 6b#b@̶:@hbb#b@̶:@hi1W]2C,,QP 8煖 Ѭ.h0[ -z$wbR#+iokSͯ4DIP\%޺i-v*t9%C sR>Z]1Vܗz餳;E\@,m1Z.ӑh"7`-,m2i=_H*KB06R>[f*LR>Z0qԈ)-es2Z0]!`[ 7"D .Hk=wv**sλ$H)-C 4}3.ȅ#bQj1W GRنb92D*]B]aas]wy >+auac]!]c=XGaf@;ڭq:PfUp@bzK\GB\G([q:H Iq.b#R%]j.zb#_BHljԉ5ҧq:مڥ[nUp;/0tbQdM%`h\GkUah\GZ+F*8 vdڭ,F*8 u (VQ֣q:YhaGjrԥiSP,ъIV8u1WIYK7F*8 vD(ZLF*8 vQ&."h߆ףGkF*8 vQ&.u Glhufh\G70zXjUp@y]z2TT:tb#P|2Yj4ˈҴ) B64b#JФ*y GgdBh<ưfU0.#R(8 Kjjh\GȖג8ah\GȖŽh`Tb#JG%޼ah+7Eb#j/jr,b#R;TTacq:ibF5-QfUǣJXن[ T/#Zf.t]^F8 7F*b9hvQ&.;1UȳFG`D\Cb*s$Hk=wPO.If*vQP bۢb$} 7ᱶh\s-`ͣy66q)-v(, j4ˎxa,_{0OnGP|U-F*HmtZ2Hm-F*نb9T)-v#E ;acU)-uD.#1Z-Fq NB\6fUưfbq)-F(l([Lq#ud7 :~Ee,,p|,٫Gލgq8nCk⺷_L$hX?%Y,6u]!xKUvNH[21Z1W"JYvƨ4bD (U\KKC ;.h[p9"[ij.ӎ{v(fO+șH$+E"dP={3Vц*ێxYkVO, p|ʐ!M!dH$C5`eYj-FrYj4e0 -EeCklZ6]!l[ Q; uPqKRdƨ] l]"pڬLъ uz2TT<]Afnպ4ː]Ǥ.Ecksգr\PY)ZEې]!*LWfV^]IR$CfV9FfUKQm›˲].ӎx-C58~FYX6'vٕQj2nșH$+FYn;$Gfjej/V ݁SHY4 ,X֛lN BBIYC-Jigfz5YaulPj~FYX6'vٕQj2nșH$+FYn;$Gfjej/V I$T:tӕq -vWhѬ2 ء}3, u(ebw`z&AfWjQY؝TK3Zj0r8H*;&EfjvQY>KnYv(am (m-F*obAjzVU>(f--dنQj4ˁ;={3V4`Vq P L-f8.*L̰e\Ѭ0{0v]Bz69"_BX].Ӊ^rD.[0uz4Z牤Bv}H_u P hYكQj.m"_B(كQunnHк0uUsQumˡNQeˡu.:r1V.] u`0Ѧ\sC#:tZ7vH_z lC%:vQN4p}"dw'q4 qԯ -F*Ckt[[.,lX -yQ: r;{] jtPlQ:نb",u%J[{0tbb",u (m4jjqc%آn"_ ;Ef"P!xK0.b",u䭍EVUE5iZF*"aB׳VN5FqcfZUE+ ֌H$G%m04<ӎ{ C ?!# Eqz;׳,/C֌m]~B]wc*C ~F$= b+`9b>dLU"Wؠ=Z-F*#Pb9PCvMf/E\L<fLъ hy1W8ޑҤ)-v+Tef,L8nCk'lǪ2okgh+>k8Շ 'Ћ obWX'Е R>[clj1W>Z同bG XBT/BYj.YL%B0Em1W>7Mqj;]zF*'Еec]sqJ X]h\D5ŨckzxV"ۻ{]>y >+eu+*H /#v+4|r'ЦH YTHBbfQ)Eh_ -FL)FHUfVtb"} Q E Y.8\DJٕGkC2'ХB]{2.֨\DEY1W>(j92T]VqR^+ע읭B4`E,B^BwqRˆl^i1W>( (\66ie\Dאע1Z1W>(hHaע4BwGqR n^tb"} QdB\KQ)ABhSC\ъ)@2UufUOJ-&@MڧjUOJ-vnUOJ,-^\VqR2Ci0ٕ٢VUG /BmY.yh\sȑ$o`s]Y>k8reލgpXv,}qg9U ŏd5Ҿdigv$-jU8AveiVO5EYǟv$Av8*ƨ\yQ&Cx'Zm1W}I'P|٥Nj1W}(bJ՚*th[q!eY;!V(e0DAeZ(:FYe2mQu-TbBa/V\'Q]{2qj.b96'>y ʟqvD.8ieZmG lҭ}7uҺٓO/Z1W]q!8pk6'>ZdN56'>+\!8xkV-,}s-vZ\y U>y L@Ny L@mwm!hk6-6|VG|e2NyՏe]@mw<,#aFvNZ96'X>yO:Z8}ZA<ωudo탪{C O_hm ]udo탦3]#Hc6Jm!} OAv:ϑ<0I2X46#I(E .8_Ckpj_—]@`+H]FQ|L#}l/S)+47bF##Hi15E7J4ȝFdżH!F(lweH!CvJᵗ:{FP%݂)xme7SSItɢ-m _H?t]=T:$KsSIto"|*NI(b\:uK"nDl"v$V](է^_¡.Zu Z9JGP<$#k%i:uUYn엍ؒ47u #%vKd|+ؒ%vH\6Jm"נ;%]N$@%6udo탥=%v$"'bJ5eؒZu #^7bKd|j˯Avyէ^U$yHF6udo탪ǚ+ĎQ!:4[(+^;%k´ĎQ!Y+MyI]z#3L]twbJ5eؒZu D엍ؒ46D엍ؒ)tjˣVz#VxP&F:ynbI.P47u LĒ]ȡSDbI.PvJm"נ;%\ "vH\.@A_κ27vWg’n^ $G%FxdNd5xi:GckR#}l4߅1#u KM_B\7u GWQ,V-aj4C5X: x :P{d:DžbgJ0b/tZUe" L__zH5t>#y6SG$1b~bD\2X֬xWqXdv$O%=k_ ]vP< |vg VTčI+U9*L:R<(U*zJ KB VTHud7 2R<+z4Eb2| !12b4| m"}okt'lѬ.q4Q$ ?#}ؐ!xb>D^+(h\}!xLъP!x\}߳ zEێy ]w<*٩YŜ: dkUF8uÞGkYŜbNBK!zcC'O) cmj.q+ ۢ("TۢQ&TױVhӑ#J6ZHS@ۣ wS1Wokm)} r:Y C<}3%;E\}"11̷E\s«\O,xX멐FV.8mS#Wokd<)Gok8|&M;{\GͷdI 8ׅHČ6ǪBđ.| SEکxRWi"iPFV.hk l]G9!-}ݽmv>k8q@-^ ?"%݂3E\č%rK$4]hbF[cy.Ӓ]^+KuErK(,h[rKWi.bIwc3EVU.l4YrKE *q1W$^$Pץ[nU.+ĊUj1U\HuFVU.6ah\xB;^]Ҥ%D MQ[rKT#Ye\PIqXlmz^bIwF$ƨqh\ljF*tv8Y1W$$1a7FZm:YŜ]j:YŜaw ڟz5Y8nGk`Ѭ. U$]uaҋ8~Eee A v:.ڸew,h vbDKu.h^5F*,mz.yh3Ν>u,Pu^Ax7 Ph/AsȠhz h.t4 F"VAx7 ( 6bAx7 fAx7 FE@Ѡgc š\j2(^- #5AZ΍5šccs}$p; 4ȭso«],YkYŜ]j8_I v%OQj1W^VUǣ+ͭFYJ A vmz04msqV8_Img,7_ hkgO6Aks-v@mw<<s-s˟@mw<=S Z>yxsms@mu \e 6}ӮyxsmuXk묹YŜaþv$wb]j6ߑG$Eh၊֯iig|29"+G kω;;uh&G$Ehၻ]u]f)*^]u>nxѬqu4P;{.]ĊPlQj1W/(]E]cb]/(],ב";.2iФ|!NDv8d10YuѦhۏHkB B=ѷ.6m=Tɢ뮹[»@uש_]u>k88quE} i/ ny.]vOH]_ՉilxWkF9W\ݺdoD";.geg#A[)^ˮrQ$@Bᵗ\A )^ˮr3F*xB5(y1WyP5 \tbA "yA ֋r8RI En(^K @I].u.Ӊ^|{EV^.Tv+%\+Vhy27"D\o»]z}qgquxwnSI{/UV_Hdq>HI Eۑ$1a n;$o#m.i§d`BbV^QC\.H'7Z2rH $Qhq6^/U4^tBK{]z_Uw_BKM(^Y} i/ nM]zj/V} i/ ny6]vh[Ve},-u*Hef\T]BK%ˬ*v+셑Aefv} i/ nY]fiZ՚.ӏM%ۦFDH#랥jb8^ݺdoM%kJij.z9m} i.4P;{]z}z68|z գ^háxլh9:1BzѠr,tb/kj8cxt/Řp-"F"^1u3@Z4EEмbp-"F"^1u5@Z4EEмbp-"F"^1u7@Z4EEмb6(^Om{ ƃAi8Z0tb/Vqx`^ .e/ hш:]Axh-'FEмbbZN/áxlA^-:1B,rZN/áx֬A^-:1BlvZN/áxA^-:1B񋧬zx3#[>mVH\.]]o밹YŜ]>k8r$:N (]icؠ.nQutbb=ڧ4bI+˰5F*(Q\l^պ1WJEZ"FWe^*ˏ 1eح=Z^96>+^IxE +.GaC3E\ؠ.t&˰rVU}[LъD nrP%݊/V[rPEv( [-F*HmEVUXⱵZF*\pYzJjU<,`YŜ]ga%B6~ELHockj1W F+F*(i1W<]ckTb96>Z Ykލgr8 i29!E\6GckѦh\DuCQS嫲}qg*Ë_U3R#+e[Lcѻ{]vN6sfG@(-]tѬ.ÆDءv[?"HaGe9Eے<Dmejѷ$y]].\smu<|V-TA8xj 2̤@ GuE\H@[eb9tR#+vN,|xT DevN.~aލgq @$oAXZ?#(KAr^2rQ2smvlk4Cb4QI$IZ\PY(h\suΰ}qg;_8W^4 dVFHlmz-F*\PIeαF+F=W]s:ϐ:]NHRhSCb:~JTd/Aj^QTމ uz1Z1W"@ C ;f3F*HS.C ;fr$#HK^պ1W"@ Glm.b96Zlk6Z<|WV^4}^>+My V>y V}^0|WV6Z\-S#vN>m zhѬqvY"@8,QSH,m-Eq6j/ckъъ灌HG %(ç:/efQwһ$(+efVU˾|k"W˲fU˾RI7y1W.WQ/ mz/V\V,mz.b]HYvYF*8-S)ZFrDG qUVq8YŜYk U>y Uf+M;˷ͱ_YsF8Æ;bpf`LYz-F*zvj1WNĖ$]آ,~EIb@]6]h%HBđ˲%HDO!Cef3F*Ib@+E ;efr$ uoDa˲tbD$Ċef%F]hъX:$aef4bD$H4Ief8%B!1eU\,HBM{.4bQX:%K ]hъX;/I$(e04bD$P0YvY+F*Ib@DVw˲e1W"K_yF]e2bD$ID׆˲/Z1W"KCTdF/4effUȒā4F/4efF*Ib@j]YvYK7F*Ib@j6&ƒ9,,ѦVr$ v$i7˲;Z1W"KR&G C3F*Ib@H>JYvYr$ v$hzK~K.4:tbD$MtO%Ҽl]hQX:5>H἖]hr$ v$eO%Ҽl]hLъX:5ʟzKy,,ѳQX;R>(mZ[LIwbK .QU?"n$wjr8d10Zգq!⺬׃h#]{TOQ e/IwFW Z-Fr$ :.ckFLbK%޻o/V\%jKwR;Uc]\@ףᵗ8z h"BmURfUĮ UuSQ窙 G{]v6w¤ξXv>llk6玟y!<smu>+\>Ckz]!+\CkG]!8Z+$8ob,~FHF(lvQS#6iȐ:鬻,Ѧh\W%ejUȐ;xCEiȐ:6ij1W"@A8=Z1W"@H⽗l+Vh\]*kvRr$w<*tbD#˞bUj1W"@I.x9Z1W"@p ah\|v\2TbDؒl7ף,F*HI6mj1W"@D>[ 䱵qzъRCi#סYr$ "9,mz: u%ײK7F*H,6\Tiۑ u (ƨ-ѷ"@d88r$ĎKƨLѷ"@#+խ;Z4ˑ v"סr$*^,mzi1W"@HzKckѵr$D^K^Z1W"@@%ףm3F*HF,i.ףgr$<޼66U1W"@ѥ4dC-F*HRdG$@/Vxh\ExZ휢U.ӑ v8d10Ie5Eej6IF;"bKĊ˜jtmȐ; uSQu5F*H!k hͷF*Hy5:lX]zF*HDi-SuVUȐ:-HK^4bAKfv\|v^F*H![ZUȐ:2G%]F*HmV2 v%~l]Q^,pjrtbDףK#[U]Vr$XM{U]r$Ȏ 0.qfhdBfy1W"@$oR>[clsnUȐ4$oR>[cls-F*Hz#Cu Glm.th\q@)/eΜ՚1W"@IZDO%gr$+OJ6 Em1W"@8T$a(F*HGan9Z1W"@$oAYZfUȐ;2E0:鬻,ҫ. tkW<6\̷F*yH,'iU׭*q"@eŽ8*MъR @#;4 ,-Ҭ v4aRZ1W]suo"8]!8ps @GbT+z#잢bD`Av]bbDQtOH[e=Fr$;\< yp^˜bպ1W"@8ARhd8r yeίEVUȐ</e9J՚.ӑ y@;+QvΤ"ƨND_ iVۣLBL Z0ri]v>+] S降gQ=!m8zQ$Ρ]x7OH[b?"FҫbQv,n]6h@,ƩVhۑuj8v4IULъ'c65F*݊i/XѺAckj1W#F˴tie^3F*-B0~E7FZUѺ=!m8zVUѺ.L aYvLъ盱B>zƍ0˴服A i-C8燱EΣI6(]VcF"1I{.q-F*hKe^VUѺUclQhNFҤOH[cukQ#F/e5FۣnF]<4YŜ][¤$>. DelUkoE G{b<~FVsR>[%i-F*hEt]h\s2;vLъ"a.Kpv\s,Ia7E.vHQ$v-F*hKG ]ъ"cMҵfU;5z;.tƨ\sKdMҭF*&~(l6w׊ok9vZ>k88qί!J Oi:trbF#\q,H$u*D1>6뜣q,H$u gbG%]si1Wv$pB\i!}(y1WƁ_G{./V\Kn}(KQ4,}(ъ$h;;.uVѵU3!wXs-Fd5El+z 'lъݎ"Ċbip}Gh9@,,і[r;\e\ā.q^bGwJF l'qh\C4 ,8u1W#.K7F*Ұ4 :U1W#@bZIF^blmz=Z1W#cIt\.Yr;Wb\.ƨ\HmEm1W##v6^Q݁2T1I{.uz.ъ"DK.u.lъݼHע]1W#mz/V[r;E$v\/V֢mIZ,QvעeIZ 0RGm.ъa684bGwK_ .4\ Qv 7ᱵƛq!mcΞ*+v)#BOv]{.ZUlmz1Z1W#[.uz4׉";^q!nk+NxK.$v(]8Keۭqףq -zYŜ\]т8 tr]btYp@(^K$0;xCenQ+ϖyE {enVUp@I^|.ti1W =7CQmxdu i/V\G X7QHv-F*8 v8_Ď@˴=Z1WCi#˴+Vh\GJGQHvN5F*8 u"W-:@˴*tb#R =7F*ԅCk#dlMуq:\+Ď@˴m1WȢHdlMѕڣq:I]-ъF2 ,Mі֣q:\+к.t8h\G"4.7CF*8 v$>[ v%7CZq;S%yo%i4tb#R%yo#F-i4b#KEpT_Mi4vb#b@r\f[yE {enVfUp@Ht_zKo#dlM QnIqmuii1W \6}.3-=7FZUp@Ht>GQHvlVUp@Ht>GPvm3F*8 vKwcHcTlT:N9eVNz5Yqv^2|WV=;T)˷Vϛ_i􈒡)-vKtZac~>T0:#ޱEX\wKUW%F+Er8_M$FeF[8%C sR>[bͺڬ/E.:XfQjDIP\ee"]wdBVȅ#mVb92D*]B^~+^]"U6y U}^|WU뎀X~FVe:ګE\G ˴o"h4b#^CX5F*8 u7EG(^H]\GK ;Uv(ъ} I!W9J՚1W]*kګN5F*8 uW=Jv8_!6WZUp;%޺i-ZFVUp@+7FfUp@(5i2Tb#n6K i2tb#^Ž˴mj1WFv]qzъJX6 ˜=CF*8 vQ&.;V(pTb#Q(Z;FnUp@a~Q&.QVq;(H4ockѣq;(:#嶫+Pъo? hu\G7ף+PMъBUhQ\GHT^7ȅ%MѶq:V!S]z8;"v]\G 5 U=VlJp-8zh\GȖג˜=Ee1W%07E:ҸQw%.vں rYv 2Է˜=F;Z1WF$iS^d]fh\z4!qz0 Q5B;.0Mvy]z1Uq#G#B1t1آd9hvEοt6(Z?"x$0)-v*O̗z餵XZQQVbۢb$} 7ᱶh\s-*g6P4ZUP|ؠX;E.9{^4}qgpآ>BV#嶫 j4ːF#嶫b!Hk.4ZUk8uuaϽ,+p|b>+]!HH$C`fdvQj.ӈW%lj䉑%%,;.pfUȒajjUıD0-E1șlij.ӎ{v(aV ݑ2(If*lN쉑@ sգ Ub, p|ʐ!M!dH$CleZ2]Uf(4iŽY/V.9{]}qgpP HYv(bȻ@$Āp!=E\I$u,q$+,ъъ Hp cX`f3Fqi.xCko»]}qgEk]wk8yuv(aebwa.Zہ;=w ^QY؝TK1SZR), -EʬlN쉑Y+EʬD,;Um (m-F*obAe/F+F*[0'ebwRܲVQj4ˁ;={0i0r8V(aeb{04Zmg`z&Af9EqlYŜ(m8DU:mOGxQVv>h˜=E\DaDD NF+F*'о/C !j;ڧYLъ/ТBWj5F*Lл{Tgn]@4O^آ].н$6jWNF+F*&ok:߅N>k8.N@]*u.R!uH={bQv zI,m.iįAjfVUDImS(4]j& tk9!}/BKU t6ے!u.tYͶ]} .NW:YܺT1VLt.Q#N U4˗B]Dut`h.9zH_u PmsmowdxQV~FYY Pmz-F8ӑף jUB1ƒ7Rף y V>+u.,l:ǁ]DX/zޠ'K m4"Q]{TZUEKoj^VUEFqc=w<,66t]:PX.4]: rZkEZUEB\hъFz4b",v/{Tƨ.",u-VأZUE+[jH$G%04<ӎ{ EN~CGjl^0/Z0q\s(KpV(ꟑ #mSQj1W |<x<$GclQj.ӈWclQvN9T陒<qפJ6q#,yavO4~4HklQS͟L˲&*+PZb:8K!xKT-F*Cku<{X>dLU"Wؠy-F*#P -E\sťȡEb<~Eu5xq2h\M[0i1W=5F*G:T#afv >k80 v N6 |VauϽ,aut"ء?",%C4ZUO*d#f^VUO*~Y.YL%B0Em1W>7Mqj;]zF*'Еav(+F*'Е=0]v٣qJgtETb9Z'Ћ nv8}"D0.kEȟBK"D6(afS"} QGlm-F*'Х~Y4eOJ4zB0T^ъ)FHT2y6ac]qz)EЕ&+ 3FևVeOJ2ac]Q)F)- Q;^tb"} Ps$6au,F*'Х W%E;Z1W>(i0-G{^Y1W>( (cks5F*'Х@,668tb"} QzQlmz.Q)E!C%Ebb"} PEi1W>(=Ũckv5F*'Х5G%6;V\D$ȅ֖qRЦ .\ъ)@2.]F*'Х &]Q)CQuqz.mъ)E EUj1W>(s$1 ].xh\pd/م֢fU<,NLXY?"xYkF88ׅ#u XNHz#C?#2:Gf-E\s»]>k8\^`ѬqsxYkލgqs.^<}qgWkqF8Ë_ ,PKLIu كj/VLӯAkf^^۳ -E[q bFӯAv(av4Aiz-Eێy çlkFPOK< ԫ'q,^'VO5EYǟv$Av`GqD z#;Jtb+6sk0gbvaZU_G{^VUJ04&A 8نTb: v6t]Alm.4]vKHKQJF*R>[jjx4 F"]a+:YŜ\ӥ1ء?%[uq?ckj1WFK;F+Eq!'ln"B4]sŎ-CY?#nK;EN:B0].ӎ@Hocmъъ8|V|f^Hob~EK;EN:RcghT]D9F+F*㨤+ufU<`un [ l4(QXqo"hh\u`i1W,bq!:vպ1Wxע-F*㯤L6=Z1WK6+Vh\u"/ƨ\sкׂatZ6\mvYŜ l@y g]!m96 >.y m@u+eeec0Z]!Y 煖+>k8qxYkލgqup|*k 6 Z!ȡSG $!ȡSQܱؑGp>|Lp(W(P(_CW& b8+ÁB &  &J8+ x80px!408+<p(WH 6Q`  lD2Q\L8+B0 ␿CB3B0p(WC3ÁB@a!?`<8+*B߉pPH8+cb]kH8+|LZ8+.1Pȁap(WdxB ~&xp(W9\G3ÁB_ S]w &- ڃGv% &- Lp(WhxPF1hPH2Q\]ahPt C `2Q\Aq]b^> w:Or1p1P8+P+UiaXPJ30B(CW%8 L|Lhp(W%1racCB0?I Ł߉ ő#c p(W|Lq`1q`C0 š߉qj D\Z"V8+L quL qp90.  1q}LD8+O D\^<)GpЋ‘$p(W Oq u\4&ÁB q 1qJ 0PPCW x pxp(W &ÁBAGp%p(WPq`p(W-&Uo.W-O.W-PZ|)q\#xRBhJA]p(WB.08+)0G Зx2 Ѓq]60d8+& t_]c_ @p(WFIIUс&UC`  ? "꼄&Pr_p(W&`P5(3ÁB0:`3 0 LK`3  p&q u\ P Q\ 1p'LGp'0GU?Pp(W0/ ᏉB||xp(W牁XP/`p(W~ u\߀CW/ T#Bx!O% P^Q :y :Zkl-~=ahl-E:ZE:ZϨE:ZߨE:ZS=ahl-'[ F>=ahl-([ CPu<[ J}@z)=@z)PuE:Zl-E:Z]N@z)}@z)l-@z)=aiE:Z"zS/E:Z =@z)ϨE:Z#Sl-=ah5[ AE:Z @z)qNPuzSl-=ah@[ BE:Z@z)ЇNOPu#zSl- =ahI[ BWE:Z@z)'l.@z)PulQ)< u@"lPE[&>:l:l:lNG>:l:l?NAx[ @Sm^)7/`xuB|t :#1 :#<)1N_ @S0aHuȗpv)!wSDN |'bl0u?SNpxN:q8;gS>Np!N:8;gGS ^NpIu'bmg S <uN6Z)ɿ!l{Ah[&Z)Ɉue|ub?!l.Z)ɂ!lאNLuaWNMO!lo!l!l!l3Z)ɉ|ub!lc S ub!l;Z)Ƀ!lAh[&Ah[&,Z)ɐ-d|uk-dB E:0Ԩ[&\)ɄPb)Ʉ/p[&1#ua\)Ʉ B@[& S!NLF:0@xS̊u`H :0Cbl"~So[&eQNL?4)ɂO u`"l%H[&N,[~ا[5b/:ر_0[7bSE:ذ!N,:ذU8[SDŽN,[:رSN, :ذSB ua?S?lX3 :ذE:ذ;u`yS |'blY uagb?lXue:ذ:ذoudS B)łا['[,bN,u`0E:ذsSlX SAN, u`6lX "lX?blX.byQN,B E:ذu`@ :ذ J)Ł b)Łb[ъu`H SO0SWlX@)łOl[3\yEq:<cŘ#ǁ6&p]Ep3aL 1*L 0\&W=Eq+yq(W RUq(+AAPqġ8+W ڸNpi\'<\'BMp8>Ы H+񫏅r\|eq xjEq <>0b>q\("\( !\([p3&\(`\(\((>`b  P#\(€sW @@\(+/Z X U  p+ 'X@ 9W C* @\!'W ڹHP+q\}@W! +( UE FjQ\J+(m\Cj":8Qer!@\yCCDj Ȃ*Az%r%  HT+(2W"1P9W" ABr %r 5r Ur!%HI–ԺR.Q*R(""N":\)jJRTZRbRjPEW*JaRT&\LWjEq1*Wj &,Pja@+*u\L*`:W\LT W Ti@2W \* P@ JTPHW Tup\*$Iԙ\*ԝ\*TW *TP@2>s!BT *+Dd*WUS 2]PWT/23 ]V̊ꔙ6eeuLLUN+Lfr#.+!W Ep;$po\!cr|J 'W @|\.؝\.XVL.W N(W W`4x 3J}.U%p>!a1J|`\lU9ͫ+J⏪8( Vڸl(W3j?,q@(yq@6Ǖ !WL\P0\P2 U'WxWuo u\X OU0up@ p@ %p@: XV&++`4W RW ኸ^"8 T^u^$++epWsǂWQ\<@i\L6p$WWqH#u\SNvm\R37%qH0WqH?W,긤"aWesTU\C\ЅpPhGƊ恮+Bys@l  ;`T#| U\0)Ы5pEp]*`!i5W .W  2``0\0 G\-W"  8C< ;`ӫ v!1W&8b!4pD"o2pDQ(0\bUpDc+ g+ ^<,pF.We=\EpFs*#c$Ꮔ%W V…pğ!W RObp{2~:W|&WJ}\>ʸ$pHE+B<'W(W$C+A 9pH0W# I ⠻qP_UB0W\T3oEqT%W>i+QupJ? VWPq\(%epJ qr%h BPwz'ڊu]bUx).…xyBfD# 1?@ExU̫a2 K‡ .2xSJ">&WaR XF 8 p]_7 W@Qں qJt.+]7}*J6 UVW;P-rErYvXRV9` +NVr5rʹXJrr`\cx + `\#W,pW,JX1Z`>X2ErJY^!ux_#W3ΫOWgC|+ 2exL4q^ o^ /\cPj+*|ʸp\ A> WPW-%W-'̫p\gZ"uraG8VZ#bh3A+lRZJ BF*WB?Ut$x]_+g В뫡WBС쮄@WB"agWB0L BFLIŪ]'( ]]EtIt@WD *+Xġ/ъыta< ʺ9ppфEtv:Fp] wUBB]!DG•t+8Tj8] BttNҫB.WKLg Ҍp@t KU҈t]( uP: ǕP_%WE9** UPUpT$ux^0#WUx^11Jc|0W>0^1<4"`xN!c yʼL$v}^@ J̫$u{d*o"W"W^&W|+Wʽ+`}^+%azb<Wo\ 3jPpB+8"W'W7J@*|W6H 8d(v¼g|'!j+#|y^PyW"a7u*<^Y+:x0|\!dJ UV&W/ x\Ies ? CWЕWЗU*uz- d *^RDµz\,W80#͌sa+si\؏Bl J> :ur@ ,W$)8 <+|-W$8\H0>HBd*dIpW Je.k€d =+E@?AWX q/WX%+:_+*eu%…uup]r*W\@W\"r\P>uJL`_J FPG**W8%K^U^ r5z|+%aj rv[ 'i],*_4|0W``] W`bv Uxy&vYWd3̫1U(Ī.U1ȕRȏx]sj,,Wd"djl-Wd$r+s5+1sp\/@p!d*ؙ] U ]5v y]0].Wj\ `] Wh69+0]sΏኹհW:*W:(W:W:+.%sW:e\艜W:9W: BڹБWldyv5v@#f"j+`2|y\3L'W>E+#ȕς<)W?LMza|fUσu\?Ī&>|# +cZU\x a0w< .b0U00 &\L< \Epx!ǕzLWk+7|~J+yrR|y\;Ī:(RJ 0ɈɈr` %z0LcW&0UɁ}\ B0DUɂFDL$y\XGGŌqa.ń\XQWAqb\+ŀUq`Fj\X~Bzg-)̫oSW157̫K*:Bd B+Zablj᰻!M5W :,&W Vq++ ȣ UE\d F:! C,iAW Ĝʸ:c6q*̗WaB̧ Uip\g.'WV3 a+&a# A)Wx` X!W \+1Z(^s+iJkW(wƂZ4g+4WAuqƒq|b4\hp\hP4 \8ʸp@v_*ĸ5pe*CW>TPW(o+W(' 8̵\BPYW(.ѫN5p+WE+!f+)r cp"j+!'2<epUxtOd yR_7We\:t1p$A2+~ l}\ L}\:@q G>+f*8v+bJcPñ!WL\;Jv 2v0.pR.W#&W%N eH >@ LrpR"J)R A&W +J#aR) \8V#2"+ v+ \D|Ҹ0Wy5p!b!+D U/*WvUwRU-WtPB%wB6wBF]'ROr\.\U-\%/W)jHy5\Uo9\DR9W)J! !'ǿ̩SSuҠW i<"T'2?ׄA*̩O<$T'ï ?? ]A?ʟH뮠  ? F*RITS#̩UeO?ؒSGeOoD)*A)̩̩/4i?ʟ%_ʟ (ʟaG? aGeO?XGt? I$?eO?,(*Aro'eO?ŒkTwHeO?KdeO?뤋ʟzTKH2ʟ])$ʟ;2+2? !eO?(2/AeO?KƍI*A^8,2? >4eO?)2$EhCTi#*A!SzS!oSGL2SxʟWФ2"XQeO?!F(̩*ASʟ? #G ̩Hj̩*A{ʟʟʟT&WeOo( ſ00j' _ u`y?8ɁgT{ VɁgT{![&-Sj0AjwaA1@j-[&Y-S8(&( Ed3~=qkd3~=q8Ѥl#f|OǿN;0࠘5|ϖؒϖUl$|OǿN;;ɂVgT{0KjwzI$+dNgT{ tW[y-S]"XQbϖ!F(VŃ-S (lXE?8x2lXgT{%D>,#jwKH[ٟ-SR, >Z'ZذgT{8Ѥ`#jw?Y-S8(&( Ebf|OǿN;%bų>Z'>4,g3~=q@Cb>Z'z`g?8xQ}lXK?8ٟ-SlXO?8`3~=qtlX3jwŅ-S'Hϖp,3>Z'ApPLPVŅ9-SXc$~,3~=qHbϖ)$bϖ*DlX3~=q@W lY|ϖ+RI >Z'/ذo?8ز\ϖ`?8xѾ.,>Z'y 4ȵb|ϖ뤋lXc?8tł&gT{"4Ďł.gT{%`0jw[s>Z'EEb3~=qBgT{D0—ŀ3~=q"o!`5jwzpMlX >Z'ѭgT{ŀ3~=q bs?8x~,-S8(&( Eb}?8ȑob?88_,-SlXs>Z'ʖŁ 3~=qylX>Z'y b?8`Fjw`GjwEVŁ#3~=qe`Ijw@lX>Z' _Ł/3~=q łNgT{zطjwzO1^H]vG]Guu <ʞ%ގ03T Vy-S&=[03T{+FV5Ɂg̩WK}^L3>eOǿ,WҺ]ϙS Rd3T{bw̩7 ?cc2P OA'd֧%̴d֦hʞhdS4ZgApPLPVgT7dg̩?̇d3T{̣[&2+d@[&2+d`m*~=bH$0A ccd ?g7s>mv?g]ogͷ7v>l<ޟ>my?k:|y?kգ_y?kՃcy?kSul/7<ޟ-7_y?k|Vsuggy?k 9<ޟ3oO7*oOGkoO[<ޟ^{y?7&oOy?kk7J7CPa<ޟP=oOoO oO4|Vm$7@ 7@7@7Q<ޟ 7<ޟ"z̀<ޟ %oO8oOz@z@wy?:-oOo<ޟ"oO_zdoO>+6sy?z@<ޟ_z~iⶫ<ޟ<0oO>+i\moOFoOj|Vu7scy?07&Wzi% %foONA<ޟ<ޟ]<ޟ8}? 7'7'?zp7'x 9<ޟ gy?87'?U>?z\x֧I/_t+\ȸydH?qu>?NIg?orHdrHP|*EJÝLѓ?s"@{gvHTW ȡVù O̫K< 7䐠ǁ§ up32.7W"O7쐩+P+_yHU'Uo< 7䐠aV§bLiLȼ{רK< BL7T?7CdO7haGd;y$**7c< 7䐠`=?ľhɟ!)̋W@{DH_$*AA§FV_o0ތkd@7qck,yyWmy?kS]ooO>my?kScy?k>moO7_oO6zA<ޟ\uGg?y?k>+7_y?k|Vw@ß?Wy? oO@oO D7uzȀky?FD,oO`oOE/zȀy?@U<ޟ 7z>+6z™oOR_ @+<ޟ @oORWz7Lgy?a7zƿ&WzoOOz =<ޟ7*gy?Q/zN7*7t7oOUz~8pC_FT0oO.|VT2oOz 7X}<ޟL0oOy?o ?EoO,oO7N'oO1oO?'zy?py?p)oOV+oOWoce? _z°7+ y?`5oOXg<ޟ0y?` oO 7D?_zoOZ7-;<ޟ'z'y?pQ<ޟ7.'z7y?|zy?|y?| +<ޟ>?z)<ޟA7P!7P8oO_gy?(wz<ޟ@7 ?'z?y?7z7/ y?x<ޟ7/ oO^ Gz;oO G<ޟoy?4y?6M<ޟ7oO oO 7zlBoO `y?6C<ޟBz _ oO"cy?_<ޟD7?<ޟDy?7#y?B?z?9<ޟD <ޟD oO#"oO#`9<ޟK7zd?sy?:zt[<ޟy?;/zvoѿ7y?=<ޟcOM<ޟB7_$zz Y<ޟ\#7p7z7P7oOAz ? 7oOBU<ޟoO@o<ޟGz΅:ty?F:c<ޟU<ޟ[<ޟy?Az΀y?B'z΀y?@y?ly?ly?<ޟ  _ ? <ޟ |}'zψ>8oO#y?o`%oO& z0AoO ?<ޟO6oOzx 77y?7 7? <ޟ`GoO- -?#y?7Zy?7[?zzşzoOk<ޟx<ޟx?Sy? ]<ޟN _y?y?"7.oO87OGzO'y?y?$oOj"75 @1<ޟoBE_oOi<ޟo@<ޟ7bOAz 7676 ? [<ޟ2GzB'z@(oO%77oOnS<ޟzp 77zj7f_oOzs77oO(sy?ࠟy?ࠣy?? %oO(Wz@1oO(oO(z@AoO(_? gy?@C<ޟe<ޟ_oO/zƀy?@7huoOST/B鉶S4Zg9p$3x. wƀy'?3WO7O7dR< 7oI yI \.[SS :%pS4d#̓@Y:gsgvHTW KHm_SRdJwyH\6Jm4c O< 7䐠SSx0W AΦh'2 lz~8xz~8t?qsO]>mv?ul/7<ޟ-7_y?k|Vsuggy?k 9<ޟ3oOBy?AOz~\Z7Doy?BV__y?R7 D_:oOv?ď`7;& zM A7zHy? R7? 7vX>+f/z+oOz =<ޟ![y?S?gzy?Czy?B7@!<ޟ!1oOz#7@c<ޟ"!oOzoy?-oOy?G7¿!oO7iϊΝoOO@u`y?H&oO}?zzz~l[m7 / <ޟ,}?Gz_ 7s̟z 7 'zp 7 y?7Ыy?ty?7y?7_v_ <ޟ@%<ޟ@3<ޟAz__)?)zAz@oOH7 M<ޟz$oO7_yzޗy?x ?AoO(oOOzʈT)oOPT/y?@s<ޟz77z'z7O<ޟ 7y?Ozy?`m<ޟ7y?5<ޟq<ޟ7 ?7 <ޟy?J&oOG<ޟ%y?J 7 @oOKy?JZA<ޟзy?墯7O-Z-z@M<ޟ7%7M<ޟ!_zЊi<ޟ%B 7?N'?O7)oO$E'zK<ޟ@ oO 7zу+y??zрy? 7 oO@E<ޟ7#7ɿ  /oO_ 7@7@7@7y?vt-oOy?wy?C<ޟy?g<ޟVeea y?L7 zgzy?p7oO,_'oO, 8y?N8?7>?z?`7y? `00zM<ޟZ<ޟZK<ޟZ7y?P%oO<ޟ?zoOI<ޟ(Gzy?P_@7 7 Q<ޟ( _oO&oO?! !oO,oO@oO@y? ?N2oOqzӧoOp7AzzP/oO?¿? oO.z0y?y?5oOG<ޟ "7CozAzg<ޟ)y?R!y? X}<ޟ <ޟo,??7<ޟ^  zx7<ޟ^_ ?"A<ޟ`S<ޟC<ޟG<ޟ'y? _ 7<ޟhy? M<ޟ'y? wz?7E#oO "oO 7EoO "oy?(3y?7py?_y?zy?oO0BPi<ޟ*?@-oOz (oOO<xJoO1 D"I<ޟbz77<ޟby? @y?DoO1 @y?_ y? k<ޟbgz<ޟz!wz!z5oOy?㑗z E<ޟ_oO?oOCoO7r@/<ޟ?m>?z]]O-S_ wu3FL22>%Jr$*A1T9 ?7ROPs< 7䐠1T?x+u3E YiY?ġ"O7쐩BT_J?dy %6y*,y0_,y0ty~HU'8;oy$Oy$Tc:<@S4dF@(}%# IgvHTW* [%e;o0 's0zyA!o1!AkSSt%3Fdd'JF+?_0y$*7S̗O79$29$(?w|*'w:&B\ xP0Lx. mOO lK%;y/yUy$*7xC'?A'\ Ju3FL#A@@?gxPjydH?p%.TP;@Yg,o0 Gg?_g?gX.o/ 'sVSI yI \ B§_<$3Ad3PC3Z? $x. 夺 HaV?Y?xyVy"dV6K<_?X?#X7&GO7aGckLy~HU'8;o8orHdrHP§ L%WDS2gmsP%a+ȍO7쐩.§1p)'?D_7RdkESI yI ]HTPI52g24~P2 < B1V§cYdye,y~HU'8;oE>dyA!o1!A1TP? уLѓ?d24'C3$< B0KdO7w%j{yeo)yda?̻-]@o0$L _YOpw?adyȋYOpwZ 'sX2 ās@a<@&/< $ ? 2 Ĉ@[8>eO@y\Ha@mB /<5?3S<ޟ $#oO7oz!O@Y<ޟ7y??z #7y?+y?gzz 77 Ozaz+6<ޟhz~as_y?kl^6soO>my?kScy?k>moO7_oO6zA<ޟ\uGg?y?k>+7_y?k|Vw@ß?Wy? oO@oO D7uzȀky?FD,oO`oOE/zȀy?@U<ޟx07/DY<ޟ8|V?y?y?kx 7vj|V<ޟd?GloOz3<ޟ S<ޟoOb70y?gz  77y?]m3<ޟhe<ޟhT7H&oOz$/z$  c<ޟ Wy?klH?p 7 soO zzm<ޟ.Oz?y?\/pEoOz&gy?#oOz'_Ly?2L>oO<ޟ ?/P7oOoO7z(PGoO)<ޟ {y?/z*P77(oO7@7@7  E<ޟl`7_X+oOXa<ޟ ` 7y?_ ?`:oOoO%<ޟ \ 7y? )Gzy?7zWz %<ޟng<ޟ oODdq<ޟ y?z47@5<ޟ -<ޟ ? oO7Bz4 ?z6.oOy?_؃<ޟ l#7`u<ޟ_{<ޟy<ޟy?<ޟџz:7y?Gz:_5oO@y?_<ޟr4oO9wy?g<ޟszӟD@E<ޟtY<ޟtF?@y?y?1oO;z7z`q<ޟ/7 z?vzy?_yzDoO*oOCy?xoOx7Agzz<ޟ`/oO ?z<&oOz=z=z<2oOW<ޟzy?4oO>?K<ޟ| oO>y?7y?+oO> M<ޟ<ޟ<ޟ?!wz1oOy?bz7 P7 S<ޟ17]<ޟky? z@Wz@7{y?7_CoOy?y??zo,oO@zz7O]<ޟS<ޟ`oO1oOWy?")Iz$7!_&oOBA<ޟ`7<ޟ3y?f!oOOz-<ޟy?[y?z / ɿ_004oO'?07 oO?Awz7 Dy?j?7 ?y?l$7 z7 K<ޟ(z.oOF7<ޟ@7#9<ޟ@ ?_`y?[<ޟy?7##y??z8e<ޟ/oOG/qy?7#<ޟ7!y?)zTgy?*O<ޟzTWzV_ZX-oO zV_  73<ޟWzX_7h<ޟ?z 7y?sy?y?$)oOI@<ޟ8oOoOBoOk<ޟp#oO >oO #<ޟwy?.zPzPy?(y?(_ @y? oOJ ]<ޟ_ @+oO y?/xx7%_M<ޟ7%7%7zX<ޟ8 ? 73<ޟ8zQ<ޟ9$z%zy?r!7Az? 7Az5oOѯѿпy?t7HCo-oOy?t 7?<ޟ:'z A'y?Hz~?G?% ͚3G9P $3$*A[SSx^;%;"GAU&'o/Ⱶ&K<_I-o@5AxC'=,x.  I6Jwy}JwC?x>o0¿gclj߱y#6,y~HU' yC 9$Oy$R}OOOJS4d9́_(/3اĠydH?z OOoO7oN7o0Žg,w]<_&AcO<_I-oE>d!O79$29!QWPy)?]Χg$(?v^§JJɭLѓ?@e;Lx. 쳩$|M7o0~'7cY7mO<_~c<_cy~HU' yC}A&yA!o1!A5?J1W8K2gߐP_gK< B§ѣy6;K<_I-o(G< 7䐠 BJULѓ?:S  ` ydH?sSSJ_gocky7Cck7>6yH\687c<_+˵_;<_&Aeco/=y;?O7`+;o/agy5dy C<_I-o9Џ< 7䐠 Z 㤿%esƵ3FL!@ CILx. 穩: `~70_!Tǯ< 7䐠}OO1(J3FL!5(/37쐩`SSt8~Y?ǁ@\3S4d'2py@pzydH?pDTG ? |&7$,yyOAlx#ǃ9$Oy$|3To\&K@s_|NgvHTW> 5>?ǘy_IwYEy3!TŞ<"O79$29$(?pLu>?ǃ p3FL$@@1$*A_<"wy7?1NhɟP f@yQQEG3$*A +yG'?E7D<_-yQ/33!TPy$Oy$-"TPS4Zgk (/3-ydH?qhSS@1y,H;_yE;_O7B7IXy$*[?+xU3FLew'?€2?(gvHTW OP)>7+N>$7e%6G#7@wy6> '>[ck> gB?!dfyA!o1!A \Err]Lѓ?;JD/! €2? |/ydH?r{|*Ѽ%;Bo0^>?ECyP |#O7e%6y2=,y~8PD]c>9o/~yP3o/Hm4o/ cv;<_&Ae=7RB g?P˾dO79$29$(?q]dN + u3FL.eAOP_gC)?ǃ l937x>B e 0$*ASSxxL"7$7Av|&'o/Ⱶ&K<_I-oAK$Oy$2 \BWST?Fնj@HU' yCOyyA@Ģ,xBYp< ?Ulj OD9xo? ɼϙSwA|-|ʟ|&A"CjN/] ?gyoC37@[<ޟ 'zPx4oO'zPzOoO@oOLE<ޟ zP&gy?zP&?2oLy?007`?K6woO>my?kg?'ͷ7z|7u6<ޟשk<ޟ67vO7uϛay? oOOpi]ⳟ<ޟΟ<ޟ>+;]uaz@+<ޟ7 7" 珊oy?@5<ޟ#"7z|WZ7"y?@S<ޟ *oO&oOS/zP&WzP&'oO BW<ޟ<ޟ?+{y?%zPJfoO @oO @ oO BGzP'3<ޟ N!7s{y?8?8@#7p77¿!oO<ޟ7?7oOy?>zP|BO<ޟ <ޟ zP\GgN7\oO  7AwzPz~moO?zP @U<ޟ"zPB u<ޟ"y?DB 7'7y?7=<ޟ AzP)$oO.7y?<ޟ CRR#7m<ޟ @?<ޟ BzP) A2A0`7m<ޟy?@7EI7r?W7?<ޟ sy?X9oOy?XOX_B0(oO@?2Y<ޟ-oO@@<&oOA<ޟ7y??xy?@<O/y?zP-_y??2GzP-2GzP-0oO h<ޟ6@7h p_<ޟ /zP.ky?\\_@ pIoO@|y?@>sy?_@y?(7oO !oO #oO 1oO zPP$7#oOzPo zAJAH!oO 'y?)cy?g<ޟr4oO Iy?)y?)z: ?tzPR џzPRzPR }<ޟ S777p_4oOJoOH7 7FzPT/AP ?7(BoOP<ޟ7zPV7 oOGzPoO <ޟ6?O<ޟ^E?zQr'y?DoOTQ<ޟԭ<ޟԩ/zRzR oO%oO1oOT7@3<ޟzz΅y?77Jy?P5oO4y?<ޟhq<ޟh7ozPoOzP,oOzQy? 7cy?/zQ1oOoOCE<ޟ ?>?y?nA7oO y?@y?0A 71oO GoOy?1<A7'zPb/7oO D/DoO1?+oO @'<ޟNy?u?i CLѓ?“g ?< Bt >?Hm_ 2 %3lo0~YO3o_I yI \: +$0}\%f)#?3ydH?p |**=;o0h/ƀkLy@?!T g?A%o7E_/Aos$%_vBUzHP|* %o ?gqug̩/\O @] U°G~*8|`S̩`EDV$e~&^40_$F 5<ʞ&/i$b!ҼKtާ_$"d*hwT12%1#-$3SD:WIx˩~*8$wHW e*xdKhbFZI'g't$,q#pyjN%I;W ASȗČOijD:W>Ἂ6?K䏽ro" <ʞ& ȗČO"+|*%jyjN%- ZeO/i$~yJڸD?K>qЉT0iDV$e~& 瘈t$} I!pO-SWĿHC:eO ?ȗČOD:W"-(\A#?K䈋`?WH<ʞ&/i$L$|ണSTUq/HoҍO22%1#-$0O1_WSTUq/h?*xȗČO1^H(R?yjN%DO!B\S̩gȗČOœD:WG P}\ O-SWĿI/!Bp( <ʞ&̉ HI$LyJDSTUq/ W0eOEDV$e~&yJGEƍ&+1?K䎋M\VcT2?2%1#-$0{_$Y D}O2̉ HI$Lc+eODV$e~&3D:W+STUq/+S̩`ȗČO<>eZ"S̩aZI3D:W @4mO-SWĿHjP<ʞ&2%1#-$0O1^HD0—W`?K䉤C )uq O2̉ HI$L$>p(ZZS̩` /i$w~*8#?WS̩`mDV$e~&^4oJ:ZKƍIU'S̩` /i$^8,\@ZK呫S̩`/i$=4yjN%D>4y_$"o!eODV$e~&*yJDHs~*8i#6S/i$$!&_$ 0p(5<ʞ&dKhbFZI'`1^H!\@_$z _S̩`DV$e~&T^;-~*8$wH[S̩`ȗČOO1^I!F ޽7C4 4 AH$AH$uHWuP}CB$p7Cv# Qk8C2"+5B^DH+N8_Iĉd1OH+NdH+M'FI&'H7`Ho"ukGxBY.wL$$ "B@Ȑ2$$ "B@H H&0 T!nY/A##A g4hٲf Ue5v14-4/GxcKRBh_W"3HFh5h:9"HE$Xѳfdrz Wv;8JLUJؑwcH#t;t1;8i^$p #Ƒ5G? D8i^$p䄁! dHHD! dHHRFdC dH) F>401"" ^$2Oɒ$`42H55VM,f˴jUsY"XGwSH\9$HƯ!PFWDju2Do"ۤHB@Ȑ2$$ "B@Ȑ2$$ ȩ$i# ~@ EABDAbJ#iFg4&j̭c5Ud4P%I$c Ie7ЦAE !fHdHkq^xB5Gл"G]} %}K$} %}K$} [WD) ݆8G>ؒXc$y! dHHD! dHHRFdT@4O d" EO}" 8_Iq ]2.j.ɬ8_I=.&@H"D#S]/HHzQC$Ò>(!$GR="CHd/șIxG"cv49%avpHt=+ÒwPĎdt^B8_IwQ]|$HO^d7*KDÒG #Ò^7ȂݺGbD\9$p8B!$$ "B@Ȑ2$$ "B@H H&0 T!/D>u$FHHW ݉7u D엍ؒHdq>u $} $|䅏# .A #]}"4p|#!uH!F(rBnSIxcv$h:4dp"DIFQNp/%ui;8nAHW ݒWPF%IF:GwbG @(ADNx݉.HW ݉(՗bJ5iנ7PF^7bKwKIto"DHữAy!\7uHW F]z#$} pנ?JWZ[^j{}~PqT0znL^`uu ̔Kjc;| _u .c CşlJْX.G!Tq5[\kG#u"_W#~6E\ /%& `3"1QBᨂePt\:3@ė!Ly)%/0ņ mPȈeHBĹ L K&ˀ'l)O"Ob0&•#RJDI|'qW0=?c ȿS\(~7!E 5 x0^!LU3>Jaܽy1DD¼t^t/LK*fgL0y1DD¼t^t/LK*ٙS ./{LgơA0 %3A~H^"LUϒJ?6g!d.9rȠu܅7$% *=7GDg!*d %3A~H^""TٟN$co_F$ a/'FA^t $,LxB u L]ɚ)rroh];Ha)7xe2)$,^""Tj~B%Ҹ?"J>%AxuS..rp<oErc <1sIb\1P{ɰ&LKoɰ* lBlFĹ 7t30zІc&LK3fYIL2!LKt33ą*LUfP6Q3Od S"BX&*La;ru $:N31xfHD bXP "2l'S33dΆ`3@NM )f|"LfS=4 6?ϒajgqdI 1+E:.i:$0lj"gC0zl5x1.C3$!~NY39C 3=L<66?ϒdI g恶 3>HaD%P/M*a?&]G@f% `JTDŽ PtNbXb_LXbHܒfqS 3$Q)BܒfpXJax0&*L*vj47Ib\yKR 2 ɉro3 =&hoiAb\yKR 2 $L0LUhGSIw"b\yKR 2,i쐛ôĹ 7xe0j%P/M*a?EBAHIr_LOB" 0%I.BKѨPdD"ģ,1%S }1>:5 ä_o w|=PIP |Ǽ60Ȁj oP a0@"@8633C xla 0̍o2) % 0c ;1 2 L6&Q᱆DF63=᱆D 7 <60ȋĘ'4() F$ @LZC )R&ǀ̄j@ŭ$0@K1(YBOL48la0(hPdAL< $ 2!Ȋ`9ġDaHla048TdCa.@/M PB 2)d@F\vcd@ 0m<&:hceJDI8\0PȈ/L:EFiyė!L%(2" QZ^aė!L%(2" QZ^a)DAza/J7 zYZ n&xHJaP 08?ԘMPb YB1(jeȚ)zlAzlQO!IM1JDI"G@lp2#P`+Ȗʰ))LJ\Ji.)dD9PǼ mAy&DJap < Ay&DJaTQ8EP I`d=<sP^Id:L 2p* (p* u(p@{ xYA5g j@ϔ%d@Tj|,^"P3 b%"$ODAQB LTɌ]ã<1}b2bH 0l!L:Hax9hYIt1yjZ0I ,6%1tE:<1tT%/E>bt@L/"&ȉ¤$ڠ~!1t3D3e&TX"A!bgHȌFHTؕBo!K!sE2M:B" 6ED?@/ r4oE ƣ 31/ux"@pjrrD䂓>HaZ)ˉHh dĹ gfqS -&£r|7hYI"'L!B) AHIɉrH:DI3>J_Z)RoIȅ"$ L]"&tXjd%MZ)&tvelju2EQ"#AyAzlȉScѼZP:G@f% f*c^!i]%CLA?1 T`) BE:.gGDYljL4  IDĹϒaE>b` 1w}3Rg 1*gw]>JaɝL^:E҄C JNtN"gGDSqbgGAዹ2gGB3u3>J`Ih2bohQڍ Irr33 ].LSGP&ttf|&oؔ%S=3!D3 E:B!&+E86d"SmFM&%L];LϒΎ1ttj =,.Lf|K(0iܱê ?S L^:;!wAt&)̘:S;4_47P,Ĺ x<$MS::` =,.L0%0ljxI1.B 2$Ύ%0Z)&u1.BMjgrmX!h& grƆe1.Bb&w&gbΎ1tt@LSGP&tt@%0Dž\M3)::Rg$/ȓ::fp!Ly‚S xljJN>M ) @r3䉱+E8LM&w(L^:I?əS -LPM!LKSځ](Jgr)h$ho11w;3䉰3A6Ti1.BNj!w(&ʂĹ E8Q:gGB!~&w(L^:c0>EҀ/1w;3䉰3A6-962gpf| S;nA1.BN#&w(LFP<x<$M CĹ E8NM!3y3>Ha Abb\FM31xA1;&|aI%0gq6R4LK/c3lC -LPM1.BNH S;e LKSgpf| S;e#dĹ E8H1LKw'&tnIBX6EDSbJ#@]5D%Ax.1RۘA)Ptj!xf|Fz1.Bb3I%0S::,&ʃĹ hpR6ĭ;e@R!L$!gGRL$$0t  ;eN%S::Xua u"`|;ttAѩx^:.H.:Ajb#@D،irGE L)Ba6RIrGIK@iܐ)b\3PLbAlj L00>$hCإrBl&%Scԉ ./ FIrF}.`xM㩔DFр~% bPF @Bj<8"0(K`PbH.#Ĺ  dĹ 7Px: dž>%P/M*a?8P[E8 $,BP3 ̾PbbL304L^$DI%0:D2A@"C xRgB`h&H5x)dRLB  :$iCBd b L!32Ax; ϒbVePH = LasNΘSMv= L! w&{Cm;&{C .iܝ3ϒbVu &ӹ"gI$0SNc“>Haͧrdc“>Ha;{$0ĭxEiܐ@{$0ĭx4H = LasN"bVu HxRg 0TӸ3ϒsiܙ3̲asNDž&|SMN䉞Dž&|M;= L!6ɓ= L!4N = L)%hPZ)ox7P&DF06EDJ:~5 Ptb D=!>O;&/&b`}L;`()ܑ3!7SDF`/M*luO&yQQB F*aыa~C3pXܱ1~0"`ܛ1O.䉝 u2t52"4zlȉScY j<8"0(K1S>t.uMɰ &.DΎIDZ/ӓ` S-)6N&P]( AIOGrV3GAN@4J@ΎFFa&%L]::!Lϒ&ց~ɰX S-)7tt8PL@1tt3Ѣf8P< &.Igak@(&$LKS,0L4htN.Ĺ gGD)Tک&%0ց~c&%Z)RottxeAxȈ^:(Kȿ2)aCŰ_"JTDŽ Q~J,b\b_Z)rd&M&%L]ʼnł>Ja4@rrD=M1.BbLܘRg 1Jb`$h4 GZ{$J LKS,S;&/ˊ`'Jò;&/ʼnMɝƩǚ@V|?&w&S Tؼr|S) GH~% bPqOP ,u p>D#j<8"A|&*`1w1iܑ8P:?S&wd L]ӦwO3>JaZ)RoE#C|]( S&.;$ML{E#C|]( $!1wN<*mT䂓:)7DraI%01/&at'/)37SQ"#A~7ȿ68G84HzQB F*aE*dl&LK&w$i261b\3!7SDF`/M*oSfw#y"FCxpDS ܰE!bLܘ'&%L]&w@)3PIr=i6%1>Mgqb@'hCɉĹ "grIS % !b\338!4 sIrt$b\h1)lpE҄F!LsL1.B.x!))&)&/ɉX&.;Cib.LK%/E8hɵgqb@'hCɉX%L];LϒcMXܝ1~Bgw]âoh]ʼnʼnq"BDa\# FTB0ǚl!)3COpZ)rdɋ FH k&wy@JaxE>bLܙ1~Pap!"md-=w&iCrdɋ H SJުgrL]S;&w431~N52DHJ@6Y1.Bo&bxȈ_ȿ7X\q c9 #?4. Iq/E1wK3t)3Bogp3)32gp3ϒm&w= L)!)L&{L)/Ɗq&$xN7Z)&ւ^""DL໇C FR r6\u_(:1S] K"wh] ]ʼn&|Y3 S 0LRgL03gL1+E:.əC JLy2gt@C" x^!1w$LI3>JaS;x&axȈ_/"%M@\r;)?4.B G@f% f*c_*@nb KrOGrG/A /F ;5 /` ]&w>HaZ)&4_J%0ĭx;L2gt3d)LboL&{)*gprЇ4%hEK!S JN7DN ;CPn j )h ;<`l ҁϒbVu -&+E:%hɼu24 "J/"%L&Ep]pHй ABfˎ_QB nbLXbL\b^ ZA&i5i0Lwa(O031pϒajgBaϒbVu ] 3e&D1sN@"grIS JܐɄS&ŃQ"#AxLR/M*lqO ໐u (#NB $,LxB H ]~Z)hHE7E(0GqƠ!E,pYf|SM3tɝL8JawM38ZJaD!&/N@Z33Bo墟1u1~AQNOK)gqbbI1~w h-%0ĭ{IEC~ @ j 4_p`P- `MVu JOxe0h52"4!D%d_DJA?BL໐)lr;)?ƣ Tãr1)rCqbgrI%0Lf| ;S -LyS JN3f|S,L"b<0>4H BĹ "grIS Jܐĭ7SDF`/M*luO ໅'PrP]_~/ƣ 3f F*c_(:E]; L)w,J4rI$0hzYI)6LĹ~j&/|x](9/H|{ɼRܱ.1.BR*P?y7SDF`BP~% bQO%A|!(<1/鈇YS Vqt%h2b1~Z)rfd@?/N AtnR;JxPb,L,%Mw4_ yrDəTک&gm&wz.@wBT=hYL_$CRl(LKw1C X0hP.j47ɱ`1.B<)i](A -7&/Zw&J1w$LI3>Ja a$h4H.@)LKS%LbM㩔xȈ_}(J$,^""TÆT> ໎_GA/nbXb\ӹ;IEҀ.iܝ@.@SN>Ja ;L!%hY ƝҀ&%E&qS JLj:ĩDrqI7l)3JT@w'$/ĭ)6/JaZ)Ro 4wNMĹ LqI!~%P/M*aНOx:^0EQIBX3҄f!A| LxB fHҋ<%Cf x"A/tΏϒd)C ?<`/P]( hLmF16b\yKRCH.1LKS,N&)J&)1x4H$Jb3 RgL5S:<ҁ)1w1LES TΏQtz&1w:<g$0P4S"@V61txtxϒ&Ƀ3 PS@rQg1.B<)L! {$J&%Z)Rm@3HP&.tΏqIS ?0 PhLi6C|XM%J@ xn.!I1.B>{OH =0{OdB-)7$ΏǁC|t](D:!1txtxL㤦H~at1@rd`mF@LK?](Cb\}.z`4҄ &%Z)RoGϒ&Ƀ3 Qt1  MlĹ  }0<7i](B"b\e&+E>M㩔Q"#AxPBP~% b 8@P!F3†Aыbbqbgrə%Mɝ&gTU3a!7Z)rDdDd:_/"$M&+GC8^PW!rJ.3J ;LΩ)~grrBoS.䉝 VɝŃWɼu d_DHQOì qH#r.xpDaPbJa&t&dW")3D7΄1xLjS>&t&Hچ.:D2A@C AgBdR9 E>  / w$Jh&gL1+E2M੧rAxRg w%Dž&tĆ&u JM:@@ dS q$1NN㯿y Ir_LOB" 0%91%S }1>:5 ä_oOB~eP~q6?)'1S ?JDI]`Bƣ 3f @C$2B@3vPb7R(El5{$Jb\p#jgpBt6@rD3䉲p 1@@](GVj47ΓkĹ ]/Ha BvҀh(LKSMS;J&.)ܑ3$"l?`/P](Gj47M S/w [= &%Zd`LKSM ;|㤆\$4Hh]97u ]:gp$0X^Ҁ^S@r8\mFd@!)o"L=t S/R@Qh\Od@ro&4 L.FS@r8Iਛb!x )L!)0{Od@ )<*mdNkrb\3Ih)2PhJL"#xehjM:L: ~% bPʟFCxj<8"A|L:1w,1/zBoLf|;&/&@ S&.䉝&gKoY3 LBb3D `b3IC Agt3&Z)Ro&axȈ_/"%MSs|?!*d.щ~yI>1bgp1~&}0DҀ1.BM㩔ɆDF^""TL G zQB TYS .L!I *b\Ӧw.S 1~\Oab!h$hɰ&%S;&w$i7 0jrD A&]; Q@hPЇ4S&lroLX52"4" lpp c@ ABb\3`&ldH.)ru  &|w&T_04 lTro"L0E8L c@NMH!Lc3>JaZ)L]˓; 1w$LI3>H'4 !J@,S@r4Q`8Ĺ  }0M= 5LKSM; `*ҁ 1w&wLϒezBB(jS@rHi6C|,&p8LK"{ }0I$i](&%Z)&BRb1;L_20G)@,ɉr=1~N7Z%@LNL_>;ҀX5LK)@*/h @0P<;&gbVe)Lf|Up.oinohnE>)3f|U3ܥCqb? @BհLBnPj,5x nܑ/ ~.Ai3f|&̑&wLϒ&.b\338!b7L7%0Pw$L_7E҄b,L,%0lj3:g1~Nbw''zJqVj476 BĹ  }0IN7O(@= erlp38(%8&S $w$L_҄.əS xP!uxn=L)3iS j2bn <'"$$M1@S;XDS<7 @L_d@jHE҄ZSgtɋȁ`b3 ^&.7ܜ@{2P 2&qy@'J ;&gcڊw' L)Bܜ@{1w&&k3>Ha$tjjSbܛĭCtΑ gL0t'h_hn Jb\hKbbY1%/jTN H01̘ -L!8h3:g1~Nbw$L_*/h @0P;&gc<.%ϒj4P]( 4 38ϒargϒjw `bw&e$03 J!OCIb\yKR P DĹ grbo&J7(JPBP~% b2)8Oe@QB F*aE#ax1.BbHܐRgL2&X](;qO u2t52"4zlȉSz1$P<'E}5 Ptb D="gt.傓>HaZ)Ro1&&g &/Aj *B. b\ܑ3$)!%hYI1~Xb_|u0 ^H:"bjZ01wH$)|31~jZ0&oL G^""Tٕ?8>RSƣ "IáI%0L&xzfu 03t?$wi&.@&w@1LKxe2a$ȿ6G4oB_(bLb&wAĹ 7S& AzlȉSj)S#_(LܸĿS.oL5I%03@0y:h 3qOjy@4/ä9a&/pj)grs2I&S;DRge)˓TɀJܑ3$)!%hYIHgrIBC -J`)LKLHM&wjCҁD1w&wL̲d"@ ryBgqbjZ01ww$00$" 01~ K|A)$L_C4yRI S;y$0P3f| Ŀ}1|Lg441|tS;g S;T4hnE0 %L]ʼnœ3,e&&w&/gqaCà:;D Z/A&.Ip Z5&&%Z)Ro `J&L](JQ3feS,;00$ơ5)9C= ?tjZ01w/~XOIw,L&/wLϒcުgq)|!3D)H&򆁲AtreDP2LK)@_eS;&/Wс7SDF0~ AD%d_DJpuOP4G‚j<8"A|L:1w,1/zDMahv!1w&wL̲bVeLX&BX&wah1.BܐS)CQ"#A~0ȿ6eOƺ@8q7_p( $,LxB fb"< '1njZ)rCqa3N4q @ Ip)&QIp4Hy6O<01tx&/b/@!i`M &)1xӸHJh(w`6֝Z S%/E>b_/#HaZzYI%&v &ɰh!1tx3>Haɝɰ%Z)Rol.i`MR!1tx`I$& 1.BbxǓl&1.Bb3{C|HM&%S1Lϒ&I$&өrGS:H_w$itܑ3"g f.lt](I &fYI 1+E2M!3rbX.-e$0ĭ)7gt=,.鉼u3iBgrFL];&zPb,L\6DžҀ fYI 1+E2M3rbX.3,e&zYL]&wM3>J_(5h];4 (P ffYI 1+E2ML\6JS32HaZ)RoU&oLX52"4!>%P/M*a?@bq>}7ƣ 71S,1w.1/Ʀ"`1w$L_S;Lϒ(!xgr/˓Ljd$MS;zbj52E&S;Lϒc\qj<8"A|L:1w,hRlJ%L]; L!%hɽ!~,h_$L,L bM3bbA*grBoL G^""Tڊ]7vQIBX3҄f!LTDŽ B@Ľ@OF.ዹHP1w}3YBp3x)3Z/Q6>4LKS,Mu@.@w)C -h:Mɉrev|`bPä{&Ġb!xRoLd1V0L_c At`1LKSbPܥ1~`a=]L7^=^|L./w|?\R =fT% ҀƓ3,Z/Ql(&%Z)1w(hP`MOjILB.RbXܰgTM=(LڀpbRl| &.;Rl| rr{hCƭJbb0ݠmӺbl|CLK@iqRb\3 RC j.LKߴ;Nd- 1.Bܥ1~`%Sfc ](I &fYI 0^96b\Crq7d3d)&/52EcBܹ1~5"L4 S1 i68J)e$0z6ru ] ] Sa8; ](F7;/L.%L_^;tM&@`̲as@GɰDĹ E:..o* c!Od@Ĺ E:..o&oL0%0 bgwҀgp]( *ܤ]( 3D)E2bĩãT Px7Q@52"4"$?҄"J/"%LdqO aB/ Db_(:1w,1/zDoLf|0"BC JܰL"grƞ1w,Lf|P~Ox7zlȉfTk$OExpDAъtbXb_1&&ĂeJa @{&pȔ ;C JN?&ɝ)tHh_a8b!$M ͦ%fgab`C@{$J ÄĹ E2M1~) hS.3HiCp$xϒJ,L_4;֓Q2&.əRC JLy2gp&Ћ@V&wfTLKw$L_q,S,%LHM㩔j%1PbH@ܒf|S,ހ?`](8rb\甿 ä-= 1rb\3#OK) *)ǚxC"&@R!&oK)rgqa7xe2)9BH~ AD%d_DJʊP<'@ )DAza/J7 K0zbKb|tjH(-/0.BKѨPdD"ģ$ a/'FA^t Ir_LOB" 0% s'x/ qӠ> xBdDhJa~b?%0 P3 P B|t @L F M1ah1 &  0)4xJa(B`RH&̀#H5XtB,^[4&DBS @1@@P60Ț^gXr 0)4xHa Gq &  0)4xHa|t>:5&#& L% L E!( HhJa(?&&$( HhJa(0L+.hy\H % "%"$wn^a\0PȈ/L:EFiy$ a/'FA^t  Ir_LOB" 0%B1%S }1>:5 ä_oa ė!L%(2" QZ^as\0PȈ/L:EFiy Ir_LOB" 0%I1%S }1>:5 ä_oa(ė!L%(2" QZ^a\0PȈ/L:EFiy.BKѨPdD"ģA\0PȈ/L:EFiy$ a/'FA^t$ a/'FA^t1%S }1>:5 ä_o(BbKb|tjH(-/0P-1%S }1>:5 ä_o()DAza/J7 K Ir_LOB" 0% LIr_LOB" 0% Lė!L%(2" QZ^`$ a/'FA^t1%S }1>:5 ä_o( Ir_LOB" 0% )DAza/J7 K)DAza/J7 K&1%S }1>:5 ä_o(NbKb|tjH(-/0P`bKb|tjH(-/0Pė!L%(2" QZ^`$ a/'FA^t Ir_LOB" 0% 1%S }1>:5 ä_oUƿ䂐5\lGR8$H$v'Px"IcФA|4=qJIv"DD0F? ?E !!|hP$K1WF NV i zƁv" Q A O#BO$v'Px"#~b$P`>D7J"0" c'PDEthȐ#DVDNV Dx1|?""#E@@3ȑ:"I0^"222/ hGb $;xQ">( ~dPE85 #xc@; `X6upDD!FȒtf(*A 6 H>˰TDe ''%D<,w"2ɑ3"8J㥎3" *"XV;ck lR`<DL.XPx2yXA#HJ#,ʳ2*у:Xʳ2 %UjЉc66$)dQB6Ʌ0%AJ@4!!Hdȋy B7%E2&hX0Ddd*/f)j1䂐+P(t#h8 \# eT('%D<(#BW[‚0(/!\Iޙc!HF \S"fMU:RKV_~~~A@1120D r|p p/ Ed" enD|w? Cak`Wo:w2 $q~wr8P]F7h_#yF7h_#yF7h_#yF7h_#yF7h_#yF7h_#yF7h_#yF7w/ !H@2 C`Z/ łjxn,P8'%(q`ǐ9 G@h-r(F衼RF$$AeT('%D:)$AeT('%D:)$AeT('%D:B eaeP @;dX; G+\"Dȡ;F"#~% (ʡD<,w B†ion `+",܊8\ȑ#~ 21'iP>\h@Ȯ#B4DHcJ@O#DEtdW, c!upDD$oDF$(,5 ȞF^h<,w"$.t"Dȏ #~yY"$PЊ<,w"$.t"Dğ@DdE}J(Yx""B'J"$H߀11&J7PE8X $G(ȮYj0EzEtdHc(,5 Ȣ=Kw"v K΢"DEPG+EwЊȝDDD?Q%DZ|G7KP>DB$#zY " F(RȮ7" c#eY"ё\'%DDN4DHcCH܉" (y'#~PYh#DVE;G7KP>DB$#zY " F(RȮ7" cc'%DDN4DHc1BdPj/ JD/ 5aZ,"'Q>D#Hq\ `+",܌I,K,K,K,K,K,K,K,K,?|,_  (,/ȼ+EYeXn?,K,fYe%Y3,H,/|,0,/"PYeҭaoe_ğYeYeYeYeYe?$Ye?$YdYdYdYdYdYdYdYdYe/YeY|+`EYeyp,YdYe̲'K,g?YeYeYePYe^ €P",,$O',,,,/_$/_"7W"er  x\/\/jJ 0 UpL߭2? _b5,Ro@bwoE 11P A^FEQ@]P" c%PAKsHA-‚ "[D? 4n~i( %PAKs𠃎 {8,Ѡ&d#B#B#B#B#B#B#B#B#B#B#B…dXш7 y܊27t l,}l,@D#4""Ű\I1؉Q"Gr'E"2$H߀1Iv" 7J"2+FD؊"E4=PAb 1&$ ccb-b1 6"yT"Gr(#H!'Eׅ"+"D0c&#"y#DEK(" _#~H)SCdT#6EOEH dцH!* BT @4/eoL%O KdEHfȨ%qdTeS*D-Vj$$$$$$$$/#,, @€P",BP Ye_Jw?C,/eY?RYe?,_,,(W @,/ @(eY}*VYeIOeYeYeYeYe_ȿSIe_ȿSIeIeIeIeIeIeIeIeIe_P!eYeBP Ye_x(W @,eOe_,~/?Y}@ Ye_ X a@(eY|^E\(,//O,,,,,EK,E_[//ğF'aj0YZ1Z1ţn18r(_Áxj+%iR>(o#'"WF-*nQAWA (?Ʌ䡰Y0+ v~* ‘ߡJAwR)@]/ D~* ‘ߡJAwR)@]/ D~* ‘ߡJAwR)@] ? ?v8ѽ …q>(~F.HGxDW܉*GݼآG &Ȓ}~<'@t2~d*P ?_@!8+(GCx?‚A +ď,Ƞu4IF `D9tnBҸ? \~ 8AtIc2*dliP%-RuJ!-P##x( q>\qq>nPA##tgA(DD'QF~7!B\'QF~7nK\PEthȐ#DVDx1|In, D-$qBI܊;DH܉v\'!cBHE|;Hȅ!`In, AxR GAҢ1:1<`c$Hp "t4h$ܰȃHP@0 ?yH܉7H‚ 9^!(ȝ+vS"(Dx1|I䂐5\lGR8$Z E"pZ17aY8n2,4oq\1VQ57EX`^ q`l ť7''E\-"cqxZ+(A=xZQ@7a]1qxh.ay(l-pVL % ( Cah97`+ ߼h_#yF7h_#yF7h_#yF7h_#yF7h_#yF7qxZ+( Cq[qXn ''qߋ@"+:o qr/6 Ñkl-_}†noF\~ 8Atw#~}9Qr,4 IŢܜY87 '85[[J:ep]ˍAt Ec8(`,u p>D#໑r.ȠD)Yah$;"u PE < Πq7D<1Q@PE8/?EEQ#b1AP("DGğ1؈>EQ#b <,w #BW܅q߉#BwR~W܎9 Gč :~WyXNB7č R_GaAWFDDDT42.(N tN+B }08~$h\9 L X;u !Eu໇C FR r6\u.)l9 A.:8~$h\9 O+Gx#FR r6\u; DȑQx GpD3E PZ1av";#I"'HFl">"(g  En\( CahIp]R r6\upHйrRD}P@(@\q߈>PE8FAO cH܉"t"+"yоD,"@4/FVD}DHQ( !'cnDQ@'H ""?4$O yȃ԰%dQF4ȏ 8"q!vD$R`P(x2*Gd8'2A Pd<d}ǑB"A Sx"R8٠̈Uj0 hE@ʆ*0ECvV,,,,,,,,,H,/|,0,/"PYeҭao,~9,eOԖYe/#,, @€P",BP Ye_Jw?Y~YeYeYeYeYe/Ye/YeYeYeYeYeYeYeYeYeYeYePYe^ €P",YeYe2,,e_P!eYeBP Ye_x(W @,,?,,,,,~,~`-qlRN R'K`b'`#uQuPP ؤձHt)l[+`$`<[lհN8K[l Nb \Q*DS-K_lOٓ!lta.X(q%",yXN"F`iP]NjסƏ7,9{^/O Et.9{]s ^jZv%Y[7X<|o-zjSfm׫Gfm5_Z:yؖmfaU]u;ͬ8WֺjaQZ<|%£TU z5KfMiVyj^^TpYeV*J~O&uV>һ^tS-~X NQRteiVqSczoكXm87C5mijk7C8Y =Zq pcT^v4rkte#].aі? EclM'FVm%q ei/ z6CZ$v4rkN@ƎNΌ34׬׫mǝp^ z:U$v4rkN'Wm),l׬׫n!׳SeV-qnen?oE K k֚mN&f[p7Y׫n?cl3^4*׫nGк]cTZkշFjzH_Nbkշ@]Ru6׫m$<ߵ`+dbY^-vY<|R<Ɖ C'@j[ZPJ+( Ch7 FVdV8dVdV7[8 Jbbp`+pd-(ÐV1XdV ldVP^@&+' F F5 E䢲9p`Ţ򁕎VNn P8'%(-E+' F8v&߉-vN>j8bYiWֹv%Yl|Ik߉-s> 8l,ʹfO5J7Ə5E%p߉-vx7K]5FIklToֻLv%Yl<+8yؖmfF5_$Wq,n`)KJr>>-AcT@GE +SđۥƩ%(]b+z##KtocTFEcTH߀^,sՊѥ\HҤGD3+#@zKS—>9`jfm\߅;ͬ횯-u<|muΞv%YU~Z!H:X 8Q׫w$ƚn(#~ bkո* &uVv jtS^ ^,v'/kF,G/k`bYիfx߉ĨP'7TN ^kMJ16qDGnYf Όͪ4m`߫kbY%QV6bY[7K\5F[\O;ͬl߉-sk>j;ͬ(ٿZ<*5JxXѯW^+75[qWMzzScf^TIcfuV>һ^tS-~X NQRteiVqSczoSXm8ecO5J7+v%Yf!,9eɳijk7U8٪' ]flfIk߉-s>j9CQ -sj8ߐZ v%Y9dBmsg\˗Gt8ix {Nk:2i S-Ƒؠk:Չe]˥D4(Qr_յΛ/ lءz= ? QՉ5~?kZ>jjxTi:x7Xz]z<|]z4xTyXQ]aƚ_r8z3+H߂aѴpEcKiі~`׬׫m Fv%YTta6W $^6ZX౪MiV~;Q^jj~?k momcªw'԰% ѓՈO@׫p\M55'@Ƙ,Mz . 13z F;V[zh[cLN5~?kՃ~?kՆ Q'U`ߏasQUa5F~׫<*^,xUUŎrWhy %@[,9{^x^@7/ks>]sijk6uP ?bSѴ} ^kN|^tfte+Ʃ55~O IxQU=Ot;Rf׫wy#:zzw9 HZ;6Xn$q q}j:׫wy#F5IҭMzWN5Ha]Cz|Uzεbli UuVY~ת &;͚ͬiª4sz4lToz4U7ZXQ]FѣW(vkkոRB}ˣGP (vl5)!>+C+jPγ5)!>+~$i@CZnpN0#K{RgFVnp8b~ԡf[$'yW> ؟(vu^’"F$wGjPmVI #8"RgVnq7@-JZkոRB}oč"H(vk׫p@qڔ;5bkոRB}:VWRfnq+C+jPaVI u]Ca[$'D$ioC7Jz HO&~!lQ#;Rfm&[$' QBآGvf[$' Q !b~;RfMz HO _~!lQ#;Rf Mz HO $o^ jP9YVI 7(vgbkոRB}Q!y׋c(vgfkոRB}Q!yxJZnq[y׋c(vm,׫p to^ jP^^’BcG^-ԡٴ^’#Krx;Rff[$'~F fvMoycwv(KjGwoj95t[gUӵmTipE܀(Nva>È: VZl'qQjl6XnB;w^+Q'J5'܅#1۸Z1:2׫pd8Q:4v^}\hRfu^qڍ5:fkն~תV}TFX+fjFY<*&~ף+>jFX<*+JxUJ`> آ\kҰq`ɭ5'J^-}7KjPbkոO}qڔ;3z / "J:2'C^}_~${R·k5'܅7bu^}in-FYM5'܎{QVn>ŦVnB렵Vk׫pr(#&LMz ncC͊35'܅#xja[HƩ6ZkոO#xj7Jz HƩ3l15'y 4Q&l3^}P^ԫef[$ԩٲiOĂVN͖M}A+RfɶfprO]jTe'@wxEpZ'+6XnBT4&qvf[ʆ;2׫pr/;㱪Mn#B;^^}CF;eV>$i"Gtv5IuV>S_cTڵ5'v$č$v+Mz !>TQG.Yy;YV>pmFk:-V'F[A ~;RgEZm7 A.F*vtYprګ:,mV>PGC8WMMz Ktn<[T65IҕZkոO hګ(n^}i/ 4Q'J4׫o3D\Z35ŎWjt Mz (,jZZkոO* Ӣ׫prX Mz .G^n;Haхn;Hڬ3:0^}bI $ojz #D3ոOo'Yn!JŶ4rMz \Bq7li+Mz }C@bt8v^}¸_A w tjMz !HѡyeѶf[HS ,ViV>'8T^iV>'4Iun!JF͗LMz 8b-CfkոO3#z RN0׫wN"fu+:eOYte"j-Mz > #NN,׫pr$ mª0ljmzTF~ץZ<*NjPuE*lf \u+Y5'qjV^^}At.[jVeV>됟IjUfkոO( jUҭMz \@;ڕjteiV>^`v^}t;QεbteOPyiyՅF[#QXgF[=Zέ56Xn# V\f `𪋯v(%b$)\Be^ą+ tZkն~ע<*x'_.[b.H\*q!q*$Vtfm7t;RgV&q!q jc&f[ !Kj.nl5H\&uVQE5I5H'bkkո81bl5~+EdtH@4֚n$N[j/YYVD*H-ij.bkնՊ(Gұ"qfkL-ĉH߂\֙[o~#~ QuGV"D{QzMiVDKQv&f[V4bte8TljiiH>ҸJMMD[Qvue+ijk7F&Kb8z0G=T#0J"z1Sƨ+ ѸasѰHK@F+5[ snb^^ĄiFF+6Xn$%@\γ5HKi!IgJ5HKO$Zkո9w,-F+:׫q!.r+bXn$%E{݊bf[ s cF+:׫mT/{^8ha6ty}ec6wmzbYmу~ԈB;ĕآ=7T>Ǒ^V^n$F:׬׫i!D} '.զ^J(ı+:׫i">":UVD}^E{ZteiVD}":׫i!D}]% ujj~?kT68Ex^!(Ew#~Ei w ݼKR15Wr(7 ,iyFgF[E^bazΌ>ҸJ 55Wr-J6Zkո'ݵ*ҳ^w DmJfbkո>^6qV⻑!.^lתw 葥vMz܅X:ӣ-b-%+Ʃ3k5Wq$H^bkո\/;چ:,mV⻈[cLN4׫q]Q^+J5WqCF Δ7YV#A HQGjbtLMzܼ(`Ʃ:VzywqhWcT*S^w!Xc6ntKNi)$1A qZN,a)$ӣ+5Wp>'Ck15Wp_mvgF[$E'Njkն~סO l߆+(l( jfkMz3uRkkո`bkմi RgYmmª9!Hˑ^(lEuCmMiVFj^^[^6xQVO S~Z睉fnnW2.D;xQZz:'rܼ(`֚m G^-0b^^}!HŰ^7FZVl5'r1֣f[DBT40bZm ExC}j1Yѕ[DE8Q^'FZVt;YV>HbXm︍#xC}j1Y3^}u/#F+:׫h}eCKcF+5׫h}eCK#F+5kմOro +Qvm\Š80bbzGQ#;Q͆m︉RSڌVl4׫h}0=K].ҳ^} p,#Ͱ׫h}R:lFb6qV>:G^-ڌVl׫h}ix #Ij1Y^} p,<+Q͓m -ÇQMz܄nqmqafqvf[DB|7Kpc0b8S^}!>l`[xA}j1Y^}!>f`[xC}j1Yf[DB|7Kpc0bi&[DGwnPGC8j:.mYkֵ+ڌVkkմO'PceV>rgYm}qڌVtS^}GP v^}uif[D<pZk:ՉV>"[ڇXM5'q렵:׫hr(֦VmGwn;UezCt15'q (bbzܸ$ 55'q߉F+6ZkմOc fnm︐ifm&[D?EjY8׫h}Q֪MmH~)KE6XZkմO!J]4=Rl׫h}B-hrgbkմOu-Zٚmxz^8S^}#xխ&MDFT'FFF+6bkմOZeNqآthhڌVmfkմOPGC8kYS]D$v(]O^׫h}@wvڋt]&[DF@bmW(jNV>pJY[D$V׫h}bI $ojՙEmؒ8(FvZ]VhEj1IFZlfN"}QVZkնn?EbCѬߐЗ8X.z5PAZUcb;tګ^V!~ƚ^yE'f[oM+Cg0XZkշ#x_h֛,6߉zsijk6fὊ+JJn Fm3Zkշ@Ufa@UcZkմ-q׵iI5~3@v (T0"آXua7\y+č8iY6Xm.@\v4bkոp?jyfkշ#x`hntSeN!Jآ=YkF;ͬ l|,עǝfml|~]jQT0> SՋAj3Y:2j3YљіJ%Z^^E6Xn Ej,ngYm$HEΕjkղ~Jf+NߵbCѰ3C #՚ӡڶ9T/{/ECզ]f;ͬ:٪#@2QGb8z:ii6Xmneh Ej4V k]u˭YSڶ8M*a3T}X!D}X2v>Q c,}ۺTYei+6߅ 9Y5Sڧ+55~)EN.z6pE(XZte+FgF[o6(%b;TZkշ#@/&׫m cApIaE{^=F,QS%aҕFנrS׫n$+8֚mpUN5QV<#JUG^_p֚mqBVrڧiVYrآ=q-q5ZZMzzKM&[Jc:׫m NRo{^+E{mf&[B!Rt63^yAj AcT ׫h^@Z#(At5Iѕm  @;m ‚j,5$aj'Ym e Q?uRt9V[BC2'C5$`K+Nkմ/ HxQڌ:5V&[B)Wߊ^Fٚm VN4׫h^@3-tvMz 4-S'C5 xhu&[oQ2/ Y -ubYSB_~'/kSm D㯿]cѱV^f׫mWk;ͬٶSSijk6mTvj .|yџ(]F-y^5VYOiզn";G{.Vkն~]gKDžv2yؖmfuU~PGVB\/X&׫n"r8/mKhjteYv,N~?kGKs7VXvVӣ-2"3-ཌྷ555~?kmc¥;v{.n\ GcG&n"q eqљіB˛ZkkշWr٩׫m.n"8u27%bͮz5q lrkMz'Pc^^}3I׫n?ejgYmབྷ7YҭMzp] 5Iѕ[qiQ^Ʃ:׫n$V&[q'Slzߏ`skv6yslx\'oĶ>jouʹx7Ξ-ixTF"rSQZ벹]vX<|Meud߫p-4ǏtiSu,xT'|KkrMʞ>iKkqse~\~?kpߏdToĖ>q8ou<|-T<|oĖT]v<|]v<|]v>jL>jGfM>jGO5F+:bY[^x8P:cPP{$8@!IC8C4JKJsS~ѼZ}7x[!y /v5O 衼G.ƩTwv+xPjU^0ZxS z\gjį !+ƩKJrn\r[45O(`F5O \pTO8僓lxF".8}*'rɵL#@] SՊH߁_CT#QG. SĈ"[#^%F J4)r4o~Y!@Ef)Xcq7AcT7@$o'PcE ѥE{!H@CTR<2Fh0Ys)P;x߂ƩHBX珼R=`<)qQ<Wc§83zy)#x^,|)qQ<W FVD+O \r!Id7KJrR*Gn?Ebh-!E.q렱EMx;Z1K~ #xݻB;ĕ (4<!R6(M֌Rߪ)TG0]Ƞ>ءzx;Z1K~rءz<H^@;4(]vOkF)o(q T h-VIF Sъ[R6(]kF)oĖX/K^x%Jx haVE F#ce1q^P1 IEb,p4 IŶ"Xn18PyEb,p7YEb,p5 Cw"b-cbXnNOff1qd0p4 IŢܜ&߅@8rIP:zyǝflg<,סbY]UP<'ܽh T֚m؊ޱMzzEqu^6RSkڡڶ߫#/kK]sg~'fn6oյ:yؖmffacijk7FWivW#]ءLz `E ,T" Miz,r],'Ez '.bkհ4@]Rt^]VϿcTjkնH -v<'fn74yؖmfm~mcijk7F[7c%@[,9{\Ok—{\˜Q#rIaEw/k6x^!F^6fQ{\G/ꥌWr+4s”vhxٿ J}~>}xhax(]+ؠ'hfZf׫pt m1@8r.sgյX,v5C$h--Cq@Ĕ^2 Z,&P1%AhxnPp0 E$h-/ !)=@Ĕ^2 bQx7vbm N9$mvyzLv%YlߛN9 Jr(h,jZkոPWMzz߅Q'!B\^i%GV[]fn7v%Y%v~Ak\,͝l߉-sbuijk6fIk8x7Zһ^tS-~X NQRteiVqSczoڔ7:ՉV4 IŶ(p(ϏGT!Cfn0qU^߫kҵҸC^>}7_q%95[oP#DVzh- P#DWk8ׅv v%Y4<~\K>/ lءs(e/5[ou,x7(xTż~]5F~]K׏ߏpvY$obIHa8Qepfk55~Ckjv%YTuYo6W $^ZjIcƩ5[+U56vV\Wz:xUSx0zXvMB|=p_N^|=r‚:vkkոO 16Xn].A+bgYnč$v5IҭMz #xƘZkն~ש5F~שڞ>jST|~שՏ5F~שT?kգUi xN^׫GvZ`,͝n+}ǃOآ.z6?cKiі?cKΌΌ}q&f[o? Ati/*ѳќdJVkMzw9#Aj׬׫wy#@4reVG^Ʃ3zw8 ticT*׫qz{^ F9ڇ+:׫oȟZ^ueHPZ1:תͷZd5Vyؖmfl<~תO ^?kvO5F~ת >a^/_O jD(Cnp5DJ bQڇ+3gnp5D,7C+55)!>j6%}D(C,-5)!>(x/rdf[$'F޼9YYVI !DcG^-9Y]VI !Dc7VgjkոRB}incG^-9Y^’#Kt/;ѽx/rizz HO "x;Pf,Mz HO-ʞv;uCGYnqcy+0Zڵ6XmBآz:UOݽVΝqA ~]y;YVw P] bf8ck5 };,u\fe>)#q%W7:UV>)ė\^}\Dhv^}\hRW9:ՉV8UΦٚm ުW#,GzsƎyW,v+^0xѿpU5jߏª՟V5F~׭MVxZTozsª־?k֫>jZ[zѣQFO5F~׭VZ0x7hlc G P^8ץa>'PcZkոO7gF[n9Y׫ppJVgYn^0EcKΕjteO 5Iѕ[H!TkոO (ojV&["[ڴ9:fkոO݊έ55'}(-ZkiV>(޺ VsunEp^թ^}ۼX2V&nB׋`v5IS^}`$qGcT -5'F׋`v5If[$qGcTn<c(j6qV>( j;6VjkոOqH-F,-6H Ej4a',~$"blfm7 !D֣LMXM}wDWYre>%CKRgfkոOix#L-Mz !B;YiV>4/;㱪M5'܄=~$i#MXn"F$wGcTGYn:5IS^}bHHGjβ׫prIOp-Cg&tf[xhXnEpD3Fai)lR BifM} jIclz "8"gEjkոO[qҡN^}cDi҆5'FERtLMz4HmyҴfkշEjrt Mz (,jZZkոO* zVkոOwRZi:.^}˺렵9:.qV>$SΌ,׫pqؒE:nta[ĒI:rt`f[~˲nt6ڷ #@btd3^})P^#xƘUV>ˈR. Fm1:eiV>㯿c[cLNkոOW !΍UV>)4/;''F5'DG Fie;:4S^}Op),Nj׫pq$6rt:n^})P^_~(ٲ׫pq#(q ڇ+:Ff[8R:\}נVaVE?eiJΦn]lSgUjkոO}QGe3:^}ȒhmtU[^TT~?kѥ uOX,z3u:ZMiV>w_~+PɯYV>눠c-,Mz \KPٝfkոO( j5IҭMz \@;ڍ/:2׫puȯj;:׫pu+բXnE{^uaiі>℮V4mі>EVMM v;Hլ7YmFQ:D+]h֚n$)\AFiVN s]hH\*q!q*$Vtfm7t;Q'V&q!q jc3^^ąȐ6Xn$.Ej:׫mV(ڞ5I5H';55Hڍ,MzߊQC=+' -FMiVDleG&f[ĩ |ٲ׫mPұ"qkL-ĉH߂;Y3߇:%"F(MD%!LiVDKQ^^ĉ«^l:2H*Be5Yn$N@\vLMq"q-uyfgYm z`,Ѻ4א%WtV@P#DV\C5E]0^(^P(Ӈah8űڇY^Ą7Kjfkkո8X#Ңu׫q!.rufkո9 B P3Zn$%G'B P3+Mz#Aeuf[ s^gZ5HKu3^ĄągVm /k֕h͜fkոHKC&MzWp>[j;3jkո/ƗVnio)\5I;YV⻉"GtvG'E׫q]¸_A wV^tX3^w#xƘiV⻐V5IҕZkոR ;ڇNΔ7YV#A HQGjFn+xPRtn+8Ʃ:U[$Ctҭ-:U⻐f1jvtaf w!Hh |'ZRt`f[BVY{mf&[ +:]і⻉"@,jZmGUX+*єP^Y55IYVKPٲ׫hA+γ5~?k֋Ucr.I P9 qX=H.E׫o#J5IYV-S>joz8xUSYkfnnY̋>p";Tf> u$p>Cu5'r[q auYV>u/#C͖&[DBT40:γ5'r֡gJ5'r(Š80:^}"(#C·k5'r"QڇYj׫h}ix P3f[D#HŰ^7FZYZjkմO21֡fVm︌ix#qaun^} xQ^'ZY15'p 7qauFf[D#(uS^}#*J~;P3a[D!XBuuf[D!XF3?jffbkմO)x #Ijff35'r_HŰ^;P3ef[D#HŰ^7KP3e[D!Xy,Vfz܄nqmq auYV> 8y0-n >35'r[;1֡fq[DB|7Kpc0:YiV> 3y0-n!>6׫h}Onw7FZYL5'r;w"8"qu]ש;ͬ(W^+e/k'S+ФAsZwvcm6όF" @vآΞjjkMz}q^-bh~,S-84)@\oآ(y+N<ŶZlۏ FjKUiVB+F" @^*z)xB Fkwmz8zG  q7lQVNJÑFml֚m#x%f׫m B"@^z^͞T?kU7_6F~שT%G^<* xV<|^<* V<|^<* xV*x7X\WzߏbUal>*Gaf>.٭5'r(ff[D"u 96Xm]&uV>:WuҭMzyQ@ۣh^}'CmqjV&[D#Ktojnu6׫h}Ǯ`S^}ȠzFpZZkմOݺXSt5'q ڇY15'q (:أ3^}.4IuS^}}@:iiV>ĂVfnm︐iɛaV>)tZיzE!J]j76VjkմOi y.96XZkմO!J]4=Rl׫h}B-YjgbkմOu-SLzܼNWj4rgjkմOoڧ+6Zl'p2P8Q:4r4jfm2׫h}´ʝ@D#65'r(#!ڧڵ5aOGbD-FNҳ^}#Ij4rt]&[DF@:f[D;xSFjtezܫ:Wu MzIxFMuVkմO$DNYV݉#"gj;53^::nkіF[u~\תMzߐBQSu= (} s]*mѬ߂@vآz6#Km5~*EY6z6jkMzƚm6(,J'PcLMiV@!~d֛,6߉zbYYTesZ-M^oڦio8Ŷ+MiV#xP^fZkնfŮ>rQ$`ExEYo4Wq?j֛,6t;jl5PGC8YbgYm-D-VY*a+R6(Mf,esijk65_ -u͝Q c,v(\'mU5 ݵWblZtSe5v%Y6j,~+.msѐnB|Oԡ5z7E 89YYVq칺͖& drQ c,v\38Sڶ8G%nRS\ɝei+6߅j .U RS^]T^?k ao -u:yؖmfU5_^@ SѕŶ4֚m nY<(띚ӵm HWX,6B!RtY[B-hcT)U[Bh~˱I҆5; .'J4׫h^@T:\jh׫mVmܽ ] .#FQ9{]u(.$pײk:f[ouΰxTIktQx\'t~$:p֏5FIkt%>q ?Z5 TTov\Tov`ToĖ <*eYQXߏ,T,t𩅚],xov)Cأ~?kJ>j<|]0x7[]<~6߉mv(F~b4~?kF5FKkCb<|ov+SQUsF%X<}vKkSg%Y<|~?kS~?kV5F~bO5F,]cijk7Cm҇<+^flW"q>(H* viQ^z]Af)ATS§>9`3 qzoCTN8}*'rkȠyO  R?#$] HGxDW`ъxTҢy,f9`^< "+ecāhһ$5O:TW* cLxTҢy,eE}}x( D,.8}*'rż)xcJ*xcJ(],JB"+e1G^WPX<ҡv(Z;XX Ac8q4<'QF~7nKF]ug^!9KJr\h.PWC$,ISP<'܁X^q--hyOE hjBd.8}*'rRWA (,1OA"Y#!RSx]+,q'YD9tn @ ; DWr$5O \pTO8僓(Gw@]{KJr>;hޅ`цܲƘ3]+A"X:h-蠽*G\'}QSk֌R߂~m*mъ[C\$ob8x;Z1K~Ex^!*ъ[nc8h-] F\$(8QS֌Rߐ"}.ъ[B7 R"Bh-!E.q렱B\vb Fkw\w*^P֌Rߐ‰)P^.lh-JB<!E h-`CbΛ<H^@;4(afkF)o(q T .tvb+v$#Cb8x;Z1K~#8"q T 0tvbIkѳƨ-z:x%Fhx%O RV(]sѯW^+T֚mǑ^Ʃ55ۅNvl5ۅIOٝfkշtƗ*n4-w~pcTZkշE|TpXv^Ŷ^Xm8]˯k]sfn[5_(p_+.ӈ]+֚mNG㱣^-Bu NP +.rl:2m+c+IxPFӈc+DƎMiіCZXљіF|p^ƚm ءGJDƎMiіD㱣3-%׬׫n!׳SeV-qnen?oE K =츆695[q`ɯYV>76Xmٝfkշ#aҭMzp] 5Iѕ[qiQ^Ʃ:׫n$V&[q'Slzߐ"@]gĖ >`bYi~XQ]z{\Ǎ5yؖmfٵM '}nQ8bkuⱺiVؠ'@nZgYn6uⱵuV2W!EusfkյͲyؖmflٿ%rW.^6p񣞭mijk6qg=TB9{\ƍecijk7Cm;ᝊe+.:/[fkNiFlm:UҲ㯿Vei:U.:Xe_~+3I:UC+KFOX&β)l8ck3^fˎVfZtM6 ͗}vX<$8x&mvZP rS\睉fnVƍ_~'AGEn4A+֛MƕC VmMJĎܲTiJ\pMx8bYeWo WAÇ8Ɖ sZkշ%E 5IYV#~N,LVmVicijk7Cm%5F[]v%Y,ٿZ.x7Lv%Ym ]O;ͬhoյh,ҍ5ijk6 84Els4ׅ/3r:0FsһftgF[%9:UV㻅pcN5wr''Cn; ;:ՉV㻎0ZNٚn;CjMMzCxPj5׫q7 "Msun;CiV㻏^08Ʃ6(׫q¤ aV㻅H[fKMzDX&nn;3?3l15wrDX6qV㻅p"Mz܊g͖Zi~ע5F+ijk7CmYQZXbY[7]J,yؖmfaU^ߏO Jy J.yؖmfXl|ץKaiV4^0#>K9YVϥDFԥfqf&[y.~Ԣ83j,۱jQuvfVY~ץ<* J<|5J4yؖmfm~Zijk7Sf5_U)U@jIqxZ+( Cq}0V-(We1B]+ ŁJ,dX&+'Ed6YrrpZ1ًذ5 mE.chh1)2Q`€6mJb- pZ@j F6 Rqh7''pVN+ aeQY87 IEn !E@b2(pd-![jLdPZ1CQXfm!p"Jץhz[Ė+S7k^\,f(X=YqsZ' Xj/fN^n.xVQf&,%(%Qx+3 Eoc!mhJ"-EREa4 A]YE>- E Ca@wj/1pbc3 C"ѕnd䡘pdQj305(Rd" fm Ɖ %CkҦRxץY<|~&Sfn7K^hץNv%Y4ٿ ,QE<‘^kMz FlfVoٻNB^,+5wrMzΕi]_~'!Hz/S^%E%h}z]sXp3kv9ZTQVڵ蹳RT4dWksflt]/b.C֢iV C MzΌxPd.:pE(Z6m-r8 !qOE͖&o Fk}j.ng+6D-EMMK ^עOQv+} ^ף |LW.^ףGSgF[HŰ]SΌGbafF[#A֬L-]*'BnmoZ7Sijk6mf"F>ݱE z:edP]_~+Qziѕ>Ҹl^Jǐ%EkմExF}Ǒ^εbkմIP ;7:fkոiyզF[/5btea~aiUJpQ NiFY Όb8X'܅QΌX;0Z16VjuY,v6nud3^p>VZjteaVіH 7I҇Wfkftƚ+Sl΍uXSjlףi~7Yҵi[oD}ۺz` ]Cf;ͬH߁16m%B$o^u755$o]PZ͖'Jͷ <*|H߁1Ė zxסMף+v%Yl߫ /kњ5E,睉fnͶjZeijk7Sf5_ǐ%D'Pz2lc»^yؖmfn]*'%('GVF TPF(߂ƫ5qA ڛM9O9iyљі '~liyYі8q"44͆qx}|ƫ3lͦHPZ6X*m!J cGUyX,/آ=0JFӥZm c80Z* 6ܻ#Fk{9:3-,w'.4Ihv- r2_Vjte%Decg'ZՉі@;JhPEjVY%DҢyXj2mCmWq cTzX;]C:e\>ҸjZkշapa@4Mzz.FۍAcT,Mz.$ѼRgYm\uA+QΕjkշaqQ#D0X^ Vsz."ӳXm\J㱪NٚmǏ~&;ͬ6ozSQZYsijk6͛N$GܽU=F)k^v6nkkոDˎVfeҭ7(r7_CmQZǝfmu7iCQZO;ͬN6ozsQZfn7hlToֽhbY͛׭v%Yζj&Cfn7]Zyؖmf:٪ZToֽkSijk7JsֽjbY-׭Mv%YWl|Ik֧ ^hToյSfmvxU<[Cx9EW R!X8 '"w !f89KRc!X8 '"w+jd+ZN^c!X8 '"w !f89n2Cqhr-'q31bnCi;,rc!X8 '"wS !f89vf߀~^5K F#Y0V.pZIZLZ1ɅsZN-IF#Y0V.pZIܭ1hb+&Ci;yF#Y0V.pZIbLZ1ɅsZNb1 Eb šȴlţZ+8N-EɋF#Y0V.pZIjLZ1ɅsZN~%rW5k^yؖmf٪Wksgfn^ QwC"UvOFI"_.W^kMzBu^^Yz͖&[]fuVDX'J5gFVMuQګ:2o:Gjnt;Y[ozUW_w}0!EW:z5}{UsZkշ܅԰Z55<͖&[}Z3zBuZmwr˭UםZkշ@bt;YVr7Fi"Ʃ:ՉVr䎢~]y3^eVj0]sQ]¦_W 葿*ѴpEcKiі~Zm!qcijk7JnepJQS=PK5I5\/jZkmP[ouhvNx0zXz: ~˲֚nv]f[zXeV>"&uV>HGcT*׫p\7liѕ[ou6x7xT&~]5F~] ef~?kO f?klߏhsg(.%B=Ot;UZkջDiz U^^E8:&^!7ϠRgYn$q7@Ʃ:UV>5Iѕ[@>r+X9:׫oȟ:Չqv(,VY~\ٳ¥ͱk]st4BׂڬKkոRB}Q4*y׋cX965)!>4W(`k3jl~܅$'㻷B.z:UOݽt֙ӵn(#!u3k5~?kKO@]{.Ѯ'qQjkM. v;X"-Z͖& }RGwnKebtS^}R3ݻ/Yѕ[ bѥmf[ іIefu^quM5~W#,GzSƎxS5F~שO tߏ:ߏ:UNNToztTozX^<|^<|^.x7#(/bץa>'PcZkոO7gF[n`bkոO}qڬf[ XZn!BRteiV>㯿cnz !E Vj׫pq[K{UgSlz #^iզ[EuiU[z-S5'܊ཪu^}ۼX2T3bz !HŰ^;aV>0E8Mn#HŰ^;ҳ^}pE8L Mz F1v5I8׫pq׵X;6VjkոOqH-UMM}_~$"V96Xjm7 UMlͦ>(Xe'@wxEpZ'+6XnBT4&qvf[ʆ;2׫pr/;㱪Mn#B;^^}CF;eV>$i"Gtv5IuV>S_cTڵ5'v$č$v&u[*J} (AjΝ׫pr8o6U-}Ƞp?fMfˑ+p(mUN0n@]{.miclz "8"7Ifn:x4lj*׫pr#Δ7YV>4(jbkշGc+Ff[xV\3XjkոOAcT*^})P^_~(칶EYV>IeZt]&[u#Ajft\3^}bIvk:0S^}bI;. -5'v$H]gFVkոO' v}#xƘ:׫pq T-'CjkոO/ [cLNZkոOĂoõncrUbkոO Fn {0Fٚn"}#O#H4 :4S^}Op),Nj׫pq$]yz Ax]}f1ILMz 8b-j35'‘fn:P^aδgSl .V]UjkոO}QGf^uae[%AmՅ5~?kՖ 7SRPuEMz3u:ZMiV>w_~+P鹯YV>눠c-,Mz \KU:׫puP^7IҭMz \@;ڦםZkոOWYjt;YV>:WgZ:2'r(4ӣ-} \(iy3-}ogV,7 \@wJoYne^<*Gb:y+!Jc-M5[ W@TSZkնk\c-EMz:3 iy:2H\J,p?cUMą+Xn$.!-A wMn$.D-lbkո㱪L3^XtH ϟMiVD=mYVD6bkնWbX8.ijfkMz'gc-M55H%I -SmM&[oXZV$N +Mie8ZkL-N s*lHBZj75[-SmMzz' iyq"p fi8}qګMMD[U3:mWkՕ;ͬ@2q^׫,:ςJ"zl-.!Bn">EYdl-#x;UsZkո8mVMzz yTWY76Xn$%@\Y73z"HRAjntS^ĄDHRAjnteiVB\qܲ(#,Y7:׫q!.r+dV&[ s^7bY7:fkո88^dS^SоzCƎy}icYo!qsijk7Sf۫-xR#A HWb`tXRB7E{QZkմ>ĈB`׬׫i!D} '.96XmW!D%^`γ5Hqȯj0rtS^''FVm$G8X+ڌkմ>ȮZjڡڶߏ8lȯ+4EY8z:Wq7ey5a[>tij75bkոP? o^0XbΌ܊"azΌ>ҸVMn+ fKMz܄L+5WpH]:nfbkո>6͜fkոHKVY+55q]°$ioS;V[B,iyeiіH1FcTӵn+$wGjftZMz+{TgE5Wq7lifn+ +cT)U[>"cS kմBGڧ ΔiV⻗ X'JљV⻏#<JjXjkոD7K qZ*ӥZn+ F`.I PCVƧFjlWrƂ~iiуn+A Yejn+Z/ڭRt63-wE"X'Cl5~CtCV(OGFQ@]{Tɭ55IYVKU^INhj:׫mR2W$1@1bhm"óZkշE{׬׫m]g];ͬjY7"} Eݼv(]GUD@ԑ &׫h}R:l1֫&f[DB׋`n >Y76Xm PFUs:׫h}J7FZ*׫h}Ƞxg +Us+Mz܊pN >Y7:׫h}`$qGjnu^}u/cVMΦٚm︍#xA}jnuiV>ʆ7ZZkմO2֫&湺z.C ExC}jnk׫h}0W֫&m︎Gv& MzD)VM͆m\`q ֫&nm\`qɹaV>u/č%ɹ8׫h}J}#xVM͕m︍#x~$i-VM͖m\`qZ'+5'r[;1֫&qf&[DB|7Kpc0d.׫h}Onf`[xA}jnm2׫h}܊g]fqv[o]v*yؖmfFɿ^KQ]zFM5O#B Fkۥ^/S~2y .q7\}ۻbڎ,v^&׫g:W/5:2P<(FIr^l5:2~ӏ#B FmacZq-jkMq-Ieפ֚m"hR -baoF~]sK׉ D8Ů>ݵ׫'8pH#x 9oz5[r4-Ieפ֚m(PA[kˮωmutT~%סR >j<*^~^>j(x7RtTouR̀!ءuD"]f׫h}Ƞ>+ڬm︉0XbkմO!v;f[D@\v&J5'qqEn+T3+MzFV^Nk5'qҳXm︍-%f[D=t^έ55'܊gS^Mz#K\f[D![Us]&[D!ڬfkմOƉ Y76jkմO㯿Z -5'p@dҳ^} #uM3l15'q.+/Zf[D".bl׫h}@!J]jfl׫h}B4ibz 9YV>)s[e9315'r:]s83^}/@ڦٙZm︁Ŷ]M,6+@;N;ڬL5'p2P8Q:4r4mVMͣz܊g]Z0'q#@"}gEYV>M:.^}#I Ejnt\3^} Eݼv]'Fjtezܫ:Wɹ MzIxSluVkմO$D35^GE˰עz3@+U&jteQ8Mz׫m (~)K ևY!E.q렱B\k7#xݻ(^OFwvc95[oV(]vFӐcMMiVѼXXS^^ lV: bkMzo ]v&aMk睉fmfS{.O%j7#xՙ5 FmSZl Fm٭5ou5[ohZ!EJW.ǣZ^$h^Zl\>Ҹi׫qA ~ˮγ5ۈZ0YuΕjl~‰)P^.lo],e> UsՄ6]eaݻ]ee@ˬV k],e>Uye[ }Xt)1V&uSl~ZVfmvl~ 1Z babg#JGي56jt;Vbgq?eJlLz7ݻIOيgju8neءv=GYviVʝx˴vkkնSbάz6pE(XZte+FgF[o6(\%b;.ui5ێƑנrjZkնfO띩9JXQ^\环XsJÑ*#@/s^( t;.uy5~?ku¥Λv(\Xr4Qus^(J.C.u5~+.C.tˉlMiV˝bkkմNM&[Jc:׫m NRo{]yzWk睉fm5_أLQU RS^af. -v8yؖmfU5_^@ QcѕŶ4֚m nY<( ӵm H-:-V& yPEhcTiVм7KqZ+'JUiVм_ (n^yQC (^yPlpnWN3^Zer(RLR#FQ9{]u 1:uѕu!Hckάfkշ^q Tߊ;0miՖmלBq7liVmל@ٚΧ tM 4xT< 8* b:z:$.: Gf75M Eن Mz0γ5FUם*׫p"B( f :2׫m>j0n h0msѮGq׬&K6YuZiiV>(.$p׳:f[ov xT~`ٳQ6kv <*`>?kmª;Ξ>ja5J7K]hx~a>~ae~a5F~ag~q r x?kŦOe¦9[]N>,[]>,(x7dh-A'/krɿ8߉-v0xIkp-O5ov<}z<}zK]O8ߏ4ߏ5C׫~?kO^a5J7 0x7[]<|oĖ <}vKkG]>jWkucijk7CmDžhyؖmf \rP]_~'č '!I`#Bଔ J$\D#}7D,s$oƑKPO8 ;1@6א<,wJZS—]%H\DCCmx c'Pc@ ;ڇTҢy,ѕ໇C FR r6\uhj@3a.:Y#&)FP€idSJsU4W܎9 Gč :X45OrGxp G#NG. Sİdh NG. S§>9`+Gx#FR r6\uhj%FwRY!qߊYqߊY aHP€icTDX9\rP]#BwRX45O)Y#>rP]gİqߊ:DžN8}*'rl ABfˎN#NBx#NBx6㯿2o§>9`[Ȋ໅'PrP]_~+R7 tNxY 'PY!x}MY q}<*qQ<kF<)+<߰h \pTO8僖XWDu&*D Q#,].qT.:X<)qQ<Yk˜Q8M p `ѓ~&y$P=wt Sĩ!DVfpD3,j?u&)qQ<Zk7PBˣ~xSxP,牞@㯾CV SA(߲CT;ܼ(`F}FHs¸# ϾxСuHs›†%C~$(`ԣ>$Fܲ9`9Ep]QAw}?4.#CCT tNDX9+9;V S§>9`gu#CvkSqY); b+ Y`櫭VJJ@p/% Ů qxȡ5 Յ I\(䡙8Xn/X9 7v>~1xT>0X9M pD3 pG`WZ]Ɖ PWvu|8u* cZUƍ蠽(mcъ[V(֌R߂~m(lh-!.q7EXvb,"CKPǃ)+(ph-] F\$(8QFx;Z1K~@QZ,x;Z1K~QF!J]V(X<(q%=t(Y<Z!EJWUukF)oaD/ *ǃ*J~8h- r((ڞ֌Rߪ\6(ӧ w#F h- .!Jءv< ݉#ءsl֌R߅BB<Z:x%Ux%J\|)F|`<+q×6xPOGEVDX٭5۱cTm؊KM&Vm¤iCmV(G^isWֻF;ͬ j$dToĖG5FIk߉-v>j:߉-s<|%v~$ήx7K\~$Λ<|\'%t0߉-s>p~$Ν<|^,x7ZfmvxVQ]z{^T񦼅*(+Eע˞+r`Bp3kcg&J(ӗ'*(+EZX,υ%CKkfv:yؖmfͷE+q*X_r(=(`q0Yy5Ca~X׬w B㨟pgQo FkY }Ƞp?j,rl6y7\Qc9Y$oj,vm-6mU*X_r)CԢ>/kҕ=JS^\,ٶWq c809{^`( +W/k҆ +ї/kҌ4v(p,պPޠ]*'B)FF#D~/ CsZkմH߁чȜ~-Jm7r[ڔ76Xm(\(`F 3^ g RJ5:Q8XgFVMDqXgFZMw§jQ3-u.ԣ3ΌGbԣ3NGb;R'Z3߂+tF 4N^ץץVjVNU~׫,>jVNU|~׫,>jVjx7Y\zCª gP?j0S^’ F^Mz HOI Msunr(8 Q&LMz HO~'J?j0أ3^’#?h`ExF 55)!>΢+bl4׫pč-bfYVI TD-$qGj0Ͱ׫p"W߈[Ha8׫p!d1Oj0YVI TA+-$qGj0aiVI !DxF'+5)!>4Fv LMz HO $/;:lv Lz HO $/;ѽx/8S^’#Kt/;:lv Mnq[yxFKkոRB}Q)#q%V9:UV>)ėX^}\D6vt;YV>.q4eRZj׫iD):fkնTFX+hG<+;Cl4ozhToz8xUCC>jC uv~?kT;_vT:iQmsª蠽(mcѯJ}N&׫pq*(ocKzΌ -eV>j0γ5'ܼ(`Ɨ*pq j+Mz }CCk·k5'܅79:ՉV>4HGgSlz #^;Iզ[EuyU[z-C湺z "8/j95bkոO;wFWj;6(׫pr[㱪MnCQ#;iiV>4[㱪L+5'GQ#;Ͱ׫pqhC(GcTz @]{P&Mz .4ImiOĂVf M>c mm'܅Zٛ,6: Vdf }J;.׫pqPGcTZnBcv5I^}h^v;cTKkոOzHGcTL5'D$HƩ65'*u+;x,j;V[đaeiV>'ʒC (ZjgNkոO7QsbteO :,iR r4n mfM} j^tX3^}Ƞp?jbtY[7-*J5'܆4HSmN7YV>4(jbkշGclN3^X+TҬ55'РNiiV>/ v4f[u%15'ܻ Psz $PGjntaf[Ē(v''FZkոOI!D-VNΌ׫pr4OuNbt;V>h[cLNfkոO* oʵ5'q T-'C5'uA wq7liz }18ntjMz !Hѡye;:4mV>'8T4K.'FjkոO<%ayVn"~DZjt:n^})P^_~(ٲ3:iV>G P>buZz ptAj MzxD(/ .֔m>eі7IvZn#>}7_rGvXYiV>IPAj;:f[ozU-[^<|(ߏ6l >bj0vkMz \~;Zn v2QeV>됟Ijγ5'q׵ :UV>^(԰G{Pٹѕ[E{P'Cn}qڍjpuȠ>+ N \G%pSlΌ \z(ڵZjl'q*Gݼf͖oz3Cª2آV"B.[j;5[ W@QMiVN s]6ptf$.XZteX~ƫ:36 :WmՉH\BZjjkkո5,Mz"v5IfkնQGJĉ֚n$Nڌkkո81bkնWb2X8.ij;5[چzz'R@lKQM&[oX< tZgYn$N"F,Mie>.q7EXub$N!-A w 5[-Fi55H*-ĉ¤.[cUKMDjfm56mFM3:mWkіO;ͬ+yX{^<<8TW/kі//F(Qah8űڌ5[ sneYVB\b4#J-M&[ s$(-FZf[ s@$) jtS^ĄDHRAj2^ĄdPFYj2v^Ąȯ{QZ5HKSf[ s cFZZjkն*zܽF \Z76XmW!D%^ԡfkմD^ԡҭMz#B+ڔ7:2׫i">Ǒ^ԡf[I #܊/q֬MmWX=VZ+Gj2֚0Wp:4;5bkոP? o^0XbΌ܊"ɰgF[@\v Mn+ Mn+ mCk+5WpH]`Ͱ׫q]!D}l͜fkոHKFN͕YX}49IS^w!}4βpKx J౪LzI; ^w }18ntX3^w#xƘiV⻐V5IҕZkոR ;ڇ):Pf[H/ !D}qҍ15Wr+Z35WqqǑ? ]Rt MzHa+Pҭ-:U⻐f1j5Iх,7܅#18^t`f[BVY{mf&[ LNfteH?P"z m[oz4U"rE=EuF^AcTn+Rl54DFƩ3zߏjTjr.I P9 qXPm"U^*+&f[o^2yؖmfVYr'pQbpuYOIxPj2֚m G^-0eYV>u/#FZ,Mz܄ix#q aS:׫h}J7FZ:UV>@W1֣-N5'r(Š80ef[DCQ#;QZ5'qG^-0e3^}u/#FZZjkմO21֣-Mz5'qPFQz.C ExC}j2iV>a(#FZfkմO8"Qڌ6jkմO$eIOj2iiV>az]j2ҳ^} p,#jfbkմO)x #Ij2͜fkմO%N׋`v-Mm︍#x~$i-FZ,-5'p 7Rbjl׫h}Onl`[xA}j2YiV> 3y0-n!>jm/YV> 3y0-n >jm2׫h}܊g ͣ߅X6yؖmfF^?kv aEu"XrjTJ4)@\oݺXzկ< D8Ů>ݱEWڎ,vMiVϠt;^ktey,Q4jteF" @U%iǐ#x^Zlۏ FjKUv&׫m!B FmV=V-V(xQ  q7\}ۻk֧OVy# D8Ŷ(O%a#xթ٭5ۑFjKUv&׫m B"@^,z-ZT~%U5J7iSQE J@QZ,z6a︊ڴ֚mE{Qf[D"u 96Xm]&uV>:WSZm8Gl^}ECmqjV&[D#KtojmV>]CMMz"!j֓^Mz#KU湺zCt-Mvm︆WKj2أ3^}.4ISa[D: Sa[D?Z3t׫h}ąH}Cgfm&[D?Ej͜fkմO(߁ RV&Mz܍$?֡e[D?ѣKX&z~)K@Uqf&[D^'^b83^}/@چ-Mz@U&MDFT'FFFZL5'p2P8Q:4r4mFZGYmV Z0'q#@"}׫h}@wvچ΋׫h}@Z:.qV>p";U 5:2[DU+e MzIxCgf+5'qؒB"[ڬYV݉#"gjעz3@+Q^:2D)5^(q.+Vfn>Ǯ'Y8Ů>ݱEW؎,vMiVU*Ѵ/SZkմo<(D4׬׫m)EWhV: bkMzo &aMkvO;͚ͬ(%j7#xթ٭5 Fm&a@UziV#xP^]5~3@v (T0"آz:Ů<FOګeBcMM&[g3^ŨCSZ,6߅pq TecѬ߅Q c,}ۺTٝei+6߅d,ͮ횯bpl0lLײZkMl6&r4aD}aCl6&p=GcYz,-:Ubgq*J~ՙeẶ߅bYasBy+ ,9uVa }ۺT&7U QerkMsuYؙ*>,e]u7U *.f7Uo搶btm 15['Ctm]ѰA3 nXVGfaؙݽ]y7Uo+.'A5]5ʹawJ뛚\L6߉zp,ճLxV1@VzꛧŠ8My/ ExJQVy°6vkMz P@e.8׬׫h^@Ehjbl5<@c]:׫m+@QSp8{^kNt<㱥FgF[H&f[o«rN=SxYkijk6<EN2z:.h>$.Ɨӣ-Ɓǐ;v4i~8׬׫qqhRZ ͖'EmU/k8ψ1*v(K Tɭ:,MƁǐ8VÓ5:,MƁǐ8Tևi8vkՖ&  q (Sfjl8]j;5;Ym!@T#rZ괷(V(U= ,ҨGjI56q@}iQ^Ʃ56׫ic"N$tRkS^Z\WHyۼXSqsY.8+9SԫZ\,~+UFKEuS^,qH[{T&f[BXXeVЖ8v6vgYm c$Ɨ*hKzh-,pJNVteiVЖ8}qƘkմ%@3SXm c yڧM6Xm cPGjת^,qh ]3\f[BX4(VMv[oBT*qcћPXVMMi[ }uٙVkiTOFq֩׫eN[j^kkնSb`l 8Qg:WcKΌΌߊlQS%b;TZkշ#@/&׫m cAu6)aE{^N6ϱbhV)Tiz!~:֚mđ@\}qڧNMiV]u<*Ӿn CXr4QuڧY^(J.C.ZkնV\6(ӧ.%N^uYV˭I׫i]}rgYm!*@/k'w»]uv%YWl}T%IO{]zTN-\zW]zP,ҫj3-+!yQ:7li5 xxQAeIY;VмZ4UeEa/ *j55n+E{J5@^Δ7YVмPYz/:Q&[B-hcT+Ff[o´/ nulc²h@'/kE8,BĈѠB4z:e xƘ^yAhU,MBc*3:UVм ʅˬrtei[B u'+30$]{.sz ѼZV5Iхm Zta[BJ㱪N׫h^@4Rt6^yAj^Ʃ:]Vм J Njkմ/ H-A Mz nARtezz GaA5IіXm V5Iѓz 2ۆƩ:S^yAzT!mjVm İ%QCk5$a(F^yAXf+j;:4mVм j,Mti[BmiVм qASumAŐ<[eu&[oQ2/ aѬ߅\,͛n];ͬ E\ijk6q,Džveͱ5VYOե'VZkո I>,NiYV%'  ׫/d֚mǑ^Ʃ55ۅNdbkշ ,'&uV>һ^tS-~X NQRteiVqSczoڧgZ5~8]e uP,f˅:Xs=Zq pcT^v4rkte#].aі? EeRl:2mf^+.qѴ#ZteVV4rtfte?f[ou<*\0qoB=*p];95F[qc+ƎNΌ\ṯYVC]˯f^.qvFVFP8PƏF.! MiVD,rkkշe-6XmuV܎ s'J5ۑt.X'FVmǑE{v^jXmg:WcTM5~&Dǝ,ys|Ik8߫kO;ͬsu\ou6x)2xTF~]ai0߉-u:xT:߉muT~%:FKkt띫~?kuQ:oĶ ,x.߉-v<*ajxacg߉mvdT~?kG~Z,t,kw],yؖmf5_KsxVΠp( D,煑@p( D,窂Ew,r.c$!8F+X"4QcT*(? #x(Gi? :   Să|,.8}*'rSrX45Jx4K$aowGHjq,WıFYtX45O@\vHj$ %?d<)87౪x_+[Ĉ?{,V8"\h Q#rIƩ$]SĈϟ <*I _F4x(X.8}*'rJ7衼5O yԎ"u 9DNIXnNp4RW y(fN-pVE!o`-VJJ@p/% Ů qxȢ_ıp`-P]Nj7F7K^,x%Zy"Hr;Ҹ$(6 RVȡ^-1b+pdPdкԛ~ $#8+ˍ@sgOkaEvXr4+5Yo FkY }Ƞp?f,M@#=q013MFii*JܽG9DbpE(YZkմNzzTf:U2D&%(F'YrZkշ"8"Zkkշ#z'neZl5/uuV: QjNjtYz ;ڋVt+MuYfFNz QeZl,HƉ bkMF0DWM-:,[CEp8(Q Ɩ]ilzXA wfk:S]vVY~עQcZXbYmzQcijk69k^bY^^߉zQsijk7Jo^`,ٶWzP߉zQijk7Cm5J'o 4V]inYm׃X\jte@8+^k]'F[tIEښeiՖ>pDH?j.vkfNP *uEQjueuˍAj1I ueuFgU~?kц ?kуg~&'fno^XbY:mU׭l'W Ca:PxTca:P ;  ; €yP@Aup#xTca:uq!\HIN$'A\HSxN$OAʸA2$.#a:t W@uq Ta:_qʸ**@ uq#&U#a:_ qA2> y' p W@dl'W e\|oЂe\| y' O8Lo 26C?ʸ ?q(p"d P~ @1pU7 2@SP rPd ZP k> '!\+W!\+<*N up\,&`  p%- E>@Furl'W! >@! _ up@xT1\ up@|: ]l'W *KupDx\^l'W@xl'WA'\- | k^@a:Z5upT\-N upFEl'Wky\a:#>H60@ >@ll'Wy\O 66 qupH "@ll'W@? @ca:$@ll'W/ t_ʸ\ |N Q\.>@ FupK1 h+&Ui @6G(NH<47b6&U- N(@ uq@~"&U 6NDʹG ȁljND|AĀl'W"@ ur @x6' ON a:^Q@x6@ up7N^@ up x@N6Āl'W Wq\+@x6`8N ʸ&k\ < 2o a:&$a:&>@ upLHupL@ upLHup6 7? a: gʸ  W ? g+QZ)p4 B*U * b*UH #e\1l'W B7FupN;ꉆupN)a:'c B6 UIw l'WR uqT^!LN*yP 8a:#a:y8EP 8 #a:^@a:_Nl'WWʼ1^d@ <5 3DL@#a:Dž@( @a: l'W4 usKxTca:  @x6Fur6< i*@NF|5 / upȳQ\2MN \2@ BN_ uu|: d6yt6M]gd6]`i86"j6d6|: QPG 0N¾l'W`ʻ3l " sQ\}@B W:|. ΄ a:ʹЋP u{+a:k&U/P&Uk < 'uvQ]"&UPq\y\ *<#a:* l'WA ; @ O(N@a:g" p >N>N<*\Tca: e\q\W |#a:! e\Yl'W$(l'W$.#a: l'W$ e\' \%y\"&Ugl'W%&#a:( @B W po a:fOFup l'W ˼*\3? e\3 >@ uqZ@dl'W6OAʸ<N6yt6|N+>@uqX~"&Ua 8N+@ |N,#DL@ uqaO ŀB qhL@ &U@UP upг#a:h =Q0N ^6 Y-W&** |\ Tl&UP8L`l'W BLl'W B7N l'W L6A2y\< Fup(A\~"&U|y\ll'W*>@dl'W8 Aʸ-#a:05 #`N.)b6l'W_l'W W 26N. >1\*DL a:9' Furt_ r{ q\T W'urpFurp0n6ß p{Āl'W a:lא al'W A2$ < `al'W  `qj6{ W$a:8N/ޠT WF6@ @T6 N8e]-WK-WYP ux <*8Nl'W@^q 8l'W! FuxWa:J6cѰ\Oa:@pN|_ʹX[P urʹ`s *NA2E1 Ј@#a:r6 Fut&U Q] E5 зl'W@wA2Z(E/墍n>Z(5FD>Z( <|Q@FD>Z(c墍n5O-kt>Z(7F@o墍nEϏ5-kt>Z(||QEF@墍nEE55Ǐ5/-kt~>Z(||Q#xh[Gkt 5Pb(1ku)["n>(Z"nFROEE 5xR!FRP9ku~ J?"nרCȅJ|*([(Y 5FT8:(p[wn_|Q7ku5 5^(cQBQx 5_kuR( dQ~ 5P[:EA[< A ku|)nQ ~)kuo Q |Q [~5/bn#kuQ#~Q#n#pt(|'[JEB_ᘣ[\w$kk~ 5Ŀ5<kk,kkwmr/"mp(ןQN(c[]kk-kk~ 5şkk~H('FGQ~ >?qF> >mt 5~P(׿Fwȣ: qly\u&+ĊWR:1qЋ:Ě1680 bFXR꫄Ř!W `\&\`\1W V j8# ҸSW\F d`# Uw#M#*W\:#\F\FV#y2$a%\'*92W \'crL:W \'p%ppap@W \x0\x DŽ\2BW X+ ‚Uƒ@4@5W  Up0+W F ă'F/W`\HQE\HYq"ljC@kW7EqqN>W8T>2HUN0q1N6g̀_ Q\Ls*`>#W'W DZ"VUpS¶\+$pa·H\+X +`+`"W  °ڸV\+ \,\,!q\,"+djaF+=UڸX]W  p  J`5y}\, :# :Ba:  &%W!'•r JuUPber_~BB.e\#c!'Wؑ\\ q2 k &'W\\= J ኸ X'W/!cY\upBOW!ʸ!  gepBòIW!/WAv#WA<ĊcYj L"+$Z #+ k8ȕIp U l%p\-+4\-|2W B^# UYpFIJ@EZ#06epFz#nF \N2WB0õq<\N,ja;|J9sUϔddƸ\pW0FX2V)ULVb?ƢX?̫:Vqr FW,.W,rs&W,FXr +W\Ja* $&W+ab/^U1 U8#Wb mEx@l \ r%p$z`}H5W@aWCu\ +  CĊHrp\-urLFZ5+\\`\urЃErЅB^6 Uc't b ]fUu]B&WC? (WC|q]WB a:i+A%WBq**p]  WDX#WDM_ X%WD B + ^%]'WF P:*y,xN +ta'!utXPS<'k Ett9t:*U"WH0F!] Gt'"WH\=LႸzE*Jz RzsWJsJd-p#fБz^ <Wl^ ě pV7Ux^ [UXp6 Xt^1\yJau^0+jW^hq `Jpe{Nt/Wm2s{ 0Uq^o*$ WJx]+XҒ``])6Ct R`bt 0 +1ںPiU]( 8q0Q\f)`23j+0\fN梸 qb5qCuqEĊ0\\>꫇aZ| p U*N'.|1p 2|p\Ǖˈp\.˅8R\MJ&W.Aj\,W.2r+X"W.jp9p? ' ˂^(WdJEpWؙ\i<*A UƁG5q ƂEq4W Uƀ9:Wڊ0̫p\,qNxN6p\"++\'WPWP+(uU)W[Rbep%2p%2 Q\18b5pa:b\1\1l}\1)W@ ĺ :X VB Ř  ֢'9pNL Ny\ p\L ((Ī࠳ UBMUpPc@4µpPX B)"SqKX"WajjN)$W.WBV(W>E@BpRj+*c>xPW! Q\\ʸ) 긩\&W‰=\T]*1̫:*L*XE…qP@Ċ⠇*⠕++p-p\8M8QUp)i\ 0\`6 pኸR>$ ^av ^mjY(UYyJ1yL+ar U +#by\З &W4E*:f)W40JsO wh2h F+Ї6B-z5WyDz!gUT@{WAu^zU ZE8+W*'uz᷉W9W<":+%ĊRYI uu>:Ij p]vľ$zQ]w+3*+]+p]sdX\Hm͌0Ll:sa)W6*\َi\5l̓|HWdQ]Weu]&We&+!bUvApĀڊfU5s8Hq>+ꫜXp*U,Np$arһAn(Wh.2A<z@Q]oWh#&W:)ǕέεzktB:t1'W>` U<ĀQ^:`i$';ڸav:a[ $Ǖ(…vqvbUvƸ!WlBv'Wluv\+1B`o+pLHm\ p\-pTOpT*WH9Hw 8 Ne\2xW<)U-es1Fy61s +|Hx!EsW<1*RaJ*W|\PjOWЅWЏ+K…pĊ<c<bUp[ UxaRd UXF¥pV2reuUɂ+W&" NzjQqpUPs.<+ UP+|-µpX WlN }+|P82|!`\.*W⸻."%qsqqgeqpm\\1Zqpa"\\W'r8'W'&nN`\1W'8pN+,:W' 8vxĘ-W pW,U`W\\:l\:8/W.\: ztpbpp:p%p\; W`\;v 0)Wp `\;|`qð9\;4WNp!!$XjC<5p!,?qOğ&Sq ]H!)O {qOG8?H'p(~? ? ? D? ??h-8OqOğ(ʿ&)M]@8OP F8O?)$8O)H E$@?4"S'I(S'y8?H$\S'x qOğ4??wȿqOğ8OqOğHEs?>?nq8OHEs$w? c,?XAOS'?$PS')HBS'xx/qOğ| ?o:)?pu)AH?h '$n?;te8O7P"JS'_$wI@8?qOğH8O+_IN'P8O IKqOğ4Hz?7O8O$;8O I??=)M[?LA8WXgՌsTwV-SPFPUyj Iyj,$[59~=a'5%8疩LG n8+.v"QN9~;b>Wx)G {x⟎X%? ɵq Cȇ?Bp%+@ #eFTW>? Y<"Y<#*TxNTx1O1?UQA)@j+[cZ# ? Rߙ$O?^8!K'Dž'ǁo#?Y<[]6gwxY=7k ώ)7dgA;j!dmYdn8zǀY=?OO<_d_z€Q,z€"OOPY=?@0OOP  OOPI,"d ?$(OOzĀY=?@(OO?Gh-CT!Y<*J~'O0AdF2GBO0ϿY<DI,_Y<"&O/b Y<yY<կDK'1?E2T$xY<pG'p0ẃڸ!u2" 8:9@ 4x2ʏ$| $ tK'1 ^:e;AdkDYdIx?O0d@O0dCm,aȋB y"?ydDK'xƩQ,_6:O/zƩy~S,_~Y?-D,u,ah $_(%Y'|'zxUZ'|Y=??R_Y=?@0OOA, 'OOz~]¥OOY=?@?':&OO.xTdd@Y=?H':/Y=?H od@{,Y=? ';5,zðY=?';I,';_Y=?d`';od,d," ,"d Odq£?çoY=?z~is7, Y=?ഇY=?kp H m,άx I Aozl?\LSY=?'Gzh @Y=?Y=?dЇ,Zda_zQ,#zY=?F2OO,#A,#d,#'Y=?dzE,zdpdp!''=OOHS,/dY=?!zCdOOH'm,' RGz,@,Aztt#'OO_d'x"'ddzπY=?hV+?X X' X'z_d9,H?a,YOO$dz@Y=?H' OOz?zY=?H_@0OO,$@?Z;,?zAgz@Y=?奿azYWz@],`],?Y=?d @@0OOCOO?B _BddB?B'=''=Y=? /z0OOBzodd  ?l?wY=? ''zd?4 OO'h*OO.zp+OO%  d' C/d-[,],'j' `"OO' Y=?NL/''Y=?^/1OO07zŇ? _,b$OO1? O,b?],zAOO1Y=?P z9OO?,(Y=?PY=?P6OO ' _d@?%OOY=?P_,3Y=? Y=? d' OO@;,d ':N-OOqzӄ/d('@9,!OO'@'@,OOg,d%OO2*OO2.OO2?@Y=?o,'sY=? Y=? O,g,)3,)zdH OOz 'm'bd,@OOz?b?d0C,f`OO!'B?Ÿd0`'',d4zO,'zpz _z0OOp0OO4E,hY,h5OOY=?3Y=? Od'6?zwY=?OO`OO`'0,j' @Y=?U?dQdPi,*' OdPB/z @$OOY=?TdXY=?V' ȿfgaze,+)OOOOdX? Y=?V!' #,+' OO_dX d`Y=?'dcĿd`"OO6,OO6od',WSTO:B"dC%#&?l?#*?j| _Y$y~FU8'?}Ax1O1?%\52"N81#vG#*?u)dY# ?`}Id$O/dy~FU8'?`x1O1?| &D89lpb?̈: S"'9r#*?SS7#:O0ʣ'd8], r8#r8H/-"ȇ?BLpd F vnߎ', X2[}%0],ad?' C$y%2 Y?\Eȇ1Ɉd{($7?G',R>?H4O0ϿdYdaY<ydYԣ_dS, r8#r8h5>? c}Lps AwY#D(COYQ\j| Og$y~FU8'?`Wㅒ#?Y<#X!jdC8C W0>?, )M, 2avO}%0],ah $Ʋdidd Ԗ8K'Wc,O/ʣ'd,Y<pG'pmOOdC8%qs FTWAY# ce?_O0 wY<>*'jK'eQ|x'd}OO(]mLpsyB7,x2ʏ-OO' JCK'a dY<#* GyG] Ly] &D89Џp?,O K',SS,?Y<?!Y?vHsd $5_A,a%22 Y? W2!N8 xOs COYQ\f5>?̀HdyPY!cO0Id K'XT_, @O99pC +}LpsxNGo*!',Id1idaGO0C3HO0Id5OK'̵(Kq,y~FU8'?Aydc,cڞ/+d\i=O}O/8@{)/ɕw 1q9w|PI, 2.P"7.Y< ?K'eQ|x7dY<pG'prMOOS03W}Lps[9pg , 2.u>?gd iQ^Ʃ$y~}%2 Y? JQZ%)OO>Y=?7z3OO>'SY=?EOO>+Y=?Y=?{,3 `Y=?fG,z̗Y=?' Ïd4_40'm'Y=?U,~B Y=?q,z9/zK,4 ' ' z@q,4@'[,?,OO@Y=?-OOKc,/Y=??FOO' ?',?d ' z ?U,d{OOndx)OO'=, od|8OO?z> '[,d|HOOAOzB},x/OO' zD?zD'G( $ 'G /OO?;OOOdC>OOzFY=?#z z ?U,?d0'?OOOY=?p '?,8 'Y=?$zJ?,OO B7z'z@,OO ,d8W,Y=?&z!'z q,U, '?OdпY=?t_Y=?tY=?';,FY=?t?d0'Q,: ?OOOO @"OO d@'@OO Y=?*zV_X'iY=?+'z0,OOFY=?'#?Y=?v e?`OO _a/zXd  'Y=?,z Y=?z9?z8?zZzZY=?-zZh 'Y=?A,Y=?,Y=?z_Y=?dOOH%OOHdz\/d?px#OO xw,'W, ,z` ? Y=?0' 1OOI&OOI?aOOIod'@-OO OO zf 0 'aY=?('%'%;,zP'%od'?'d)OO3,<'¯d?dY=?xd4OOwz' OOz=OOгY=?zE,=5,=zY=?z'^OOOO7z?+OOZ8xdbIx )`+$M€@), 2bj| OzWY<=YdK'd?eOAԲx1O1?pSSj+qD89|p<€c?>z2#*?pu):WwY<>$Y[, ǎdc,cW!n Ae I52!˱Z7@?sIc?>|u4x2ʏ!j| WY!d /!yTK'q FYOX?Y<>Ҹj%2-O_EO99qPSSD# E: cHR#*?>?By|$O/A &O/zƩRh-~: %2-Oޠ*O99p?F UdC8H@?s xEOYQ^av~],a$8Y[, 2K'dd;)8F/W 52!2S8@?s t', 2dO)8zƩ4y 'PcTO/yjdXߓK'?' y~KO/ʒ_O/%Y[, !Y<pG'p}OO$#^}Lps6 @?H€ Y<deGzOO 0:O0K'deQ>[, x1O1?֧ ȇ? X? ?€ K',522?%?YI,_Glx @Y<pG'p&2#&ȇ?K㎳@ %FTW`| ?a8O0 'y$y%~Y<#*dr#?Y<#lE##t$@?sTEOYQ]OO(@bday|%Y< &O/ʣ|Y[, B Y<pG'p$'Q]ڙ/*PK',5PdK'*O0R_,a $O/ʣ|Yd~Y[, ((2det!j| /'Pd?<?L>,aix$'ǂTyEq!ǂ\yX>CT(?L $O/0{,_aY<(Wc65Od4xY?rQS">8 ~@?sL&OYQ\$| ?Cx%?L ?+]Lps  1(4x2ʏ)8/T'?;Y<pG'pšn:I52!c9"FTWj| {QG,O0ʣ|Y9>?@?sE&OYQ\Z>?K@ K'YdK'd?eQ@ xx1O1?q): '+"ȇ?F?@?sEY<deGpV:Y!K'ğK'VxLM,_cT$y~FU>HO99rf>?@\?"?"F JQZ'Myj$ o#*dPpK'Q@xK'PpKBIdc Dx1?eGy f|OɿFUOAx1o#?Y<$S,',Y=?:zĥAg,Au,AY=?: .wY=?zP&+OO.xTj'bdLdL 2d1OO<*`z¢d4AzPFc,od_d_AAOOY=?#wzP'9zP'dNzP'&OOC, @'?dPK, Y=?'s7, Y=?_d'zPH7OO +, ?L4zP|'OOAzP|I,'?Y=?>d,zP|_A5OO,A'OdY=?%cY=?%d''A(?IdR H'@?zP)dRH?OOAY=?zP*d'Y=??zQP'M, _dV'dV@'ſadX"odY=?BS,!K,!Y=?B $OO,!d !OOOzP@@@@ '@@oz` ' @BqWzP,:'Y=?K'?d!d"Y=?OO _,Im,:OO!Y=?),B/zPY=?O,@/OOz zP-d*OO0I,bd@F 7OO1zP.zP.zPOO@Jod%_dY=? BzƃGOOP;OOP'hzPOO%OOAzP_ '[Y=?G?@,OOгY=?@Y=? d`+OOdbS, P'?@ '8q,OOp'@g,zP'@'!zPR_,OzPR!7zP@zPY=?5$OO_,ԘY=?0e, ' , Y=? OO,zQ`'zQ`dw,ԠM,Ԡ'!Y=?CY=?@Y=?oY=?G  ?l?wY=? '('(J,6,6' ' ;Y=?l G,d'd OO2d! Y=?'G,8?Cg,hwY=?"OO4Y=?od@ OO4!'zPS,:'OOY=?tS,԰zR OOX''FOO6od`-OOOO'PY=? dC,B/zPdY=?xS,<_,<?@@zP@,m,y,Ѓ,'zPY=?HI,$Od ,$d ' _zPd)wzP'od0' @Y=?JY=?J_zP3'GzP3dfПY=?- 'zP[zPZAh''zPZd?@'C@odhd6OO@'zP,d+Y=? 7,&?,.OO OOzP'OO'Pc, @,zPOOY=?C,zPƟ@d?d>?@zPY=?TwY=?o,*'|>?B/zPY=?.'ozP\' dYzP]Odz4OO Apu,!OOT!a%P@jdC#!' A#*? EK'PY<Pa,aS%Ѽ[cTK'̝id)[c,KAp RY<"Y<>IO/3%K' rT O, r8#r2\^=?oѿ8 qxBPprOOeFCxW 52!8V)? x2ʏN1ŶHjK'owlA,a. SOX?Y<#*2 ?x1O1?'SS?0:zS" c;J_N |'FTW5)7l?,O0ʒJA,a. SOX?Y<#*2N %GyG\`ڟ.#=}\zh1(&sQ8COYQ\j| ,X ?Y'`, 7zP6d*OO ddY=?/dzP^]sK, 'pY,\ѿdF,s, OO?@dnozP`AwzP`d '`Y=? ',@X '`@X?@Xd,?AAY=?1Y=?1;OO d'EA' !OOgY=?P ' ,(d@>OOzP#' Y=??@'_@ ?@-OOhxTuodr@!dgzP@OOzPz~:QӟA5OOY=?@OO@OO Ddx;,zP< @ZwY=? E@ZzPY=? KBOO'h@Zd-_@ZzPd''2OOg,0Y=?a#Y=?'dOO8wY=??zQ 'Y=?'GzQ,p$' G Y=?0OO:?G@Y=?zQGBGzPG,* 4,OOzPG/dOOM,|'Y=??zQ_dawzQ' ?/dd? ?zR?HdzRk,Ԁ_dPY=?' g,Ԁ!' zR zPOO'OOsY=?~?d?,>dh?Ca,>?zP?OO#Y=?V?,aWzPQ,+_Y=?V z' Y=?VY=?V6dOOB Y=?V7OO@Y=?V`Y=?VaY=?VdXGOOzP'OO' d`e,,oY=?X' Y=?YzP?d@,,/OO?B*OO'OO$' !,,Y=?Xd`AOOY=?XddHD\ Y=>$ehCN9~E&H@kY=7yۑPCA);Ƣ.)5H:2%P#;wM\)$\0AyB?A)H~5ဳSVEq@2%2WPUx~)0(*@<_8#-# _A O-SOA OS?+A "8 YJ3%W0:Z c,)i Jd#K IjyjL#4a)VEq@%2WPF`5(GBҸ# Ed2!/@(]+>DF(]+=讲aDGP Fc'(}Nq[%ExPHWJ## "20Ȍ2## "208 % BT .Yo`AA"Y,VXjA9ZD(cZ7"#"% C0E(#Xb54E"rP#q˖E(!(iW)UB4ׅˠQCw"Fqh7r$io (7}yQCw"F## "20Ȍ2## "20Ȍ2'&,v$FU cO Еd2y fWB7 !z1X"Yk,ŨV4B%Ҹ24BAH"20Ȍ2## "20Ȍ2'"qIc2y$H!*yІO #oaPEF͘ZEU3@! .H+ID% O JcH+†2̍F衼\r[o r4o!H@F!H@FwrdhQ##yyĐE820Ȍ2## "20Ȍ2## ȩaX z0%AJ@4!P<'H" Q0ЊQ,(G">衼%>~74oBq> di(8un #AFdƕGxE"r,Ɖ r܅ pdq@8p>wB D9tn @ (Gw@]|F. T" 4nQA}PA'QF~7!B\P<'@## "20Ȍ2## "208 % BT #BP ?4.Gx&FW܅ ͇!H3e_~'č '!Iw tN#B(Y\qnFWDu#yp]_~,f_v9too qr,Ec8(`#+GC8^PWFWܸ$ J໐:8~$h\,G: ''qߋ## "20Ȍ2## "208 % BT #B $ADD_SP2 $ECHO "name = $NAME" >> $ADD_SP2 $ECHO "value = $VALUE" >> $ADD_SP2 rm_add_sp2 $NAME } ############################################################################### # # Routine for getting Eprimary info from remote node # ############################################################################### get_Eprimary_info(){ typeset PS4_FUNC="get_Eprimary_info" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x NODE="$1" OBJECT="$2" clgodmget -q "name = $OBJECT" -n $NODE $CLASS > $ADD_SP2 RC=$? : exit status for clgodmget for $OBJECT on $NODE is: $RC if [ "$RC" -eq 0 ] then rm_add_sp2 $OBJECT else return 1 fi } ############################################################################### # # Routine for defining this cluster as manager of the SP Eprimary. # Note: HACMP should manage nodes with TB2 (HPS) switches only. # ############################################################################### manage_Eprimary(){ typeset PS4_FUNC="manage_Eprimary" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x MANAGE=$1 # Do not allow Eprimary management via HACMP for switches later than # the TB2 SWITCH_TYPE=$(LC_ALL=C lscfg -v | grep css0 | awk '{ print $3 }') if [ "$SWITCH_TYPE" != "HPS" -a "$SWITCH_TYPE" != "HiPS" ] then cl_echo 805 "\n$PROGNAME: Eprimary management via HACMP is supported only with switch level TB2 (HPS). A switch level other than TB2 was detected.\n" $PROGNAME exit 1 else cltime create_sp2_file HPS_CONTROL $MANAGE $DIAG/configchk -s $CLASS : exit status for $DIAG/configchk -s $CLASS is: $? cltime fi } ############################################################################### # # Routine to determine SP switch status # ############################################################################### get_switch_status() { typeset PS4_FUNC="get_switch_status" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # Determine whether this node contains an HACMP-controlled SP switch network SP_SWITCH=$(odmget -q"nodename = $LOCALNODENAME" HACMPadapter | grep type | grep hps) # Determine whether this node belongs to Eprimary controlling cluster EPCC=$(odmget -q"name = HPS_CONTROL" $CLASS | grep "value" | grep "true") } ############################################################################### # # Routine to handle node_up_local # ############################################################################### nul(){ typeset PS4_FUNC="nul" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x get_switch_status # Erase any "crumbs" from ungraceful outage cltime create_sp2_file EPRIMARY "" create_sp2_file SWITCH_PRIMARY NO if [ -n "$SP_SWITCH" -a -n "$EPCC" ] then # Get info from other nodes or become Eprimary if first to join if [ -n "$PRE_EVENT_MEMBERSHIP" ] then # Get updated HACMPsp2 objects from any up node for member in $PRE_EVENT_MEMBERSHIP do cltime get_Eprimary_info $member EPRIMARY RC=$? : exit status for get_Eprimary_info $member EPRIMARY is: $RC cltime # If cannot obtain EPRIMARY data from this node, try another if [ "$RC" -ne 0 ] then continue else FOUND="1" break fi done if [ "$FOUND" -ne 1 ] then STATUS=1 cl_echo 850 "\n$PROGNAME: Node $LOCALNODENAME failed retrieving Eprimary data.\n" $PROGNAME $LOCALNODENAME fi else # Become Eprimary node cltime $EVENTS/cl_Eprimary_HPS_app -u RC=$? : exit status for $EVENTS/cl_Eprimary_HPS_app -u is: $RC cltime if [ "$RC" -ne 0 ] then cl_echo 851 "\n$PROGNAME: Node $LOCALNODENAME failed becoming Eprimary.\n" $PROGNAME $LOCALNODENAME STATUS=1 else cltime create_sp2_file EPRIMARY $LOCALNODENAME # Sync HACMPsp2 to all other nodes $DIAG/configchk -s $CLASS : exit status for $DIAG/configchk -s $CLASS is: $RC cltime create_sp2_file SWITCH_PRIMARY YES fi fi else # If this is not an Eprimary controlling cluster, but contains an # SP switch, initialize switch if [ -n "$SP_SWITCH" ] then cltime cl_HPS_init -s STATUS=$? : exit status for cl_HPS_init -s is: $RC cltime fi fi return $STATUS } ############################################################################### # # Routine to handle node_down_local_complete # # When the local node is Eprimary and it leaves the cluster, it should: # terminate the fault service daemon and monitor # remove SP switch network interface # remove SP switch adapter driver # ############################################################################### ndlc(){ typeset PS4_FUNC="ndlc" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x STATUS=0 get_switch_status if [ -n "$SP_SWITCH" -a -n "$EPCC" ] then # If node is Eprimary, then doit AM_I_EPRIMARY=$(odmget -q "name = EPRIMARY" $CLASS | grep "value" | grep "\"$LOCALNODENAME\"" ) if [ -n "$AM_I_EPRIMARY" ] then # Need to add more in grep FAULT_DAEMON=$(ps -e | grep RTG | grep -v grep | awk '{ print $1 }') kill -9 $FAULT_DAEMON if [ "$?" -ne 0 ] ; then STATUS=1 ; fi FS_MON=$(ps -e | grep fs_mon | grep -v grep | awk '{ print $1 }') kill -9 $FS_MON if [ "$?" -ne 0 ] ; then STATUS=1 ; fi cltime ${CSS_DIR}/ifconfig css0 detach ${CSS_DIR}/cfgtb2 -l css0 : exit status for cfgtb2 -l css0 is: $? cltime fi # Clear SP2 ODM entries create_sp2_file EPRIMARY "" create_sp2_file SWITCH_PRIMARY NO fi return $STATUS } ############################################################################### # # Routine to handle node_down_remote_complete # # When a remote node is Eprimary and it leaves the cluster, the local node # will "elect" a new Eprimary. This is based on the first node in the # POST_EVENT_MEMBERSHIP list, which should be equivalent on all nodes. # If the localnode is the node elected, it should become Eprimary. # ############################################################################### ndrc(){ typeset PS4_FUNC="ndrc" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x STATUS=0 get_switch_status if [ -n "$SP_SWITCH" -a -n "$EPCC" ] then # Determine if node name of Eprimary is node which went down EP=$(odmget -q "name = EPRIMARY" $CLASS | grep "value" | cut -d"\"" -f2) IS_EP_UP=$(echo $POST_EVENT_MEMBERSHIP | grep $EP) if [ -z "$IS_EP_UP" ] then # Elect first node in POST_EVENT_MEMBERSHIP list for node in $POST_EVENT_MEMBERSHIP do create_sp2_file EPRIMARY "$node" create_sp2_file SWITCH_PRIMARY NO if [ "$node" = "$LOCALNODENAME" ] then cltime create_sp2_file SWITCH_PRIMARY YES $EVENTS/cl_Eprimary_HPS_app -d RC=$? : exit status for cl_Eprimary_HPS_app -d is: $RC cltime if [ "$RC" -ne 0 ] then cl_echo 852 "\n$PROGNAME: Node $LOCALNODENAME unable to start Eprimary.\n" $PROGNAME $LOCALNODENAME STATUS=1 fi fi break done else cl_echo 853 "\n$PROGNAME: Node $LOCALNODENAME unable to determine Eprimary node.\n" $PROGNAME $LOCALNODENAME STATUS=1 fi fi return $STATUS } ############################################################################### # # MAIN routine # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)":/usr/lpp/ssp/css [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.15' HA_DIR="$(cl_get_path)" EVENT="$1" if [ "$#" -eq "3" ] then NODENAME="$2" TYPEDOWN="$3" fi if [ "$#" -eq "2" ] then TYPEDOWN="$2" fi CSS_DIR="${CSS_DIR}//usr/lpp/ssp/css" UTIL="/usr/${HA_DIR}/sbin/cluster/utilities" EVENTS="/usr/${HA_DIR}/sbin/cluster/events/utils" DIAG="/usr/${HA_DIR}/sbin/cluster/diag" ECHO="/bin/echo" CLASS="HACMPsp2" ADD_SP2="$EVENTS/.add_sp2" FOUND="0" STATUS="0" FED_TYPE=$(LC_ALL=C lscfg -v | grep sn | awk '{ print $4 }') if [ -n "$FED_TYPE" ] then exit 0 fi #Switch on command line arg cltime case "$EVENT" in "manage") manage_Eprimary "true" : exit status for manage_Eprimary true is: $? ;; "unmanage") manage_Eprimary "false" : exit status for manage_Eprimary false is: $? ;; "node_up_local") nul : exit status for nul is: $? ;; "node_down_remote_complete") if [ "$TYPEDOWN" != "forced" ] then ndrc : exit status for ndrc is: $? fi ;; "node_down_local_complete") if [ "$TYPEDOWN" != "forced" ] then ndlc : exit status for ndlc is: $? fi ;; *) usage ;; esac exit $STATUS ITC k, $+@;b՝ab&;./usr/es/sbin/cluster/events/utils/cl_HPS_inita@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_HPS_init.sh 1.4.1.17 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)04 1.4.1.17 src/43haes/usr/sbin/cluster/events/utils/cl_HPS_init.sh, hacmp.events, 61haes_r714 1/6/09 06:07:51 ######################################################################### # # # Name: cl_HPS_init # # # # Description: This script calls Estart if needed for # # node integrations indicated by -s; in # # Eprimary assignment scenarios indicated by -t # # it runs the equivalent of Estart_sw on the # # "primary node" with SDR info if present, # # or without if SDR is down. # # # # Called by: node_up (-s) # # cl_Eprimary_HPS_app (-t) # # # # Calls to: None # # # # Arguments: None # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # errexit ######################################################################### function errexit { typeset PS4_FUNC="errexit" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x cl_echo 820 "\n$PROGNAME: Exiting with error.\n" $PROGNAME rm $LOG/act.top.$$ 2>/dev/null exit 1 } ######################################################################### # Signal handler from cl_HPS_init ######################################################################### function handlesignal { typeset PS4_FUNC="handlesignal" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x cl_echo 821 "\n$PROGNAME: Received a signal.\n" $PROGNAME errexit } ######################################################################### # Name: start_switch # # Performs an Estart. # # Returns: 0 if the switch start has successfully completed # 1 otherwise # ######################################################################### function start_switch { typeset PS4_FUNC="start_switch" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x cltime whence rcmdtgt RC=$? : exit status for whence rcmdtgt is: $RC cltime if [ $RC -eq 0 ] then export KRBTKFILE=/tmp/tkt_Estart$$ rcmdtgt : exit status for rcmdtgt is: $? fi cltime Estart RC=$? : exit status for Estart is: $RC cltime if [ $RC -eq 0 ] then ESTART_RET=0 else ESTART_RET=1 fi if [ -a /tmp/tkt_Estart$$ ] then rm $KRBTKFILE unset KRBTKFILE fi if [ $ESTART_RET -eq 0 ] then return 0 else return 1 fi } ######################################################################### # Name: check_host_responds # # Description # # This is to ensure that the Eprimary host is up and running and # reachable by this node. This is required for running the # SP-switch related fence commands. # # Returns: 0 if the Eprimary host is not responding or is not "ping"able. # 1 if the Eprimary host is responding and is "ping"able. # ######################################################################### function check_host_responds { typeset PS4_FUNC="check_host_responds" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x EP_NODE_NUM=$(Eprimary | head -n 1 | cut -f1) EP_HOSTNAME=$(SDRGetObjects -qx Node node_number==$EP_NODE_NUM reliable_hostname) EP_HOST_RESPONDS=$(SDRGetObjects -qx host_responds node_number==$EP_NODE_NUM host_responds) # Ensure a valid response if [ -z "$EP_HOST_RESPONDS" ] then EP_HOST_RESPONDS=0 fi # If host responding, ping to ensure IP connectivity if [ $EP_HOST_RESPONDS -eq 1 ] then ping -c 1 $EP_HOSTNAME if [ $? -ne 0 ] then EP_HOST_RESPONDS=0 fi fi return $EP_HOST_RESPONDS } ######################################################################### # # Name: check_switch_responds # # Returns: 0 if the switch_responds # 1 otherwise # ######################################################################### function check_switch_responds { typeset PS4_FUNC="check_switch_responds" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # Get list of all switches which have started, if any EP_NODE_NUM=$(Eprimary | head -n 1 | cut -f1) EP_SWITCH_RESPONDS=$(SDRGetObjects -qx switch_responds node_number==$EP_NODE_NUM switch_responds) if [ "$EP_SWITCH_RESPONDS" -eq "1" ] then return 0 fi return 1 } ######################################################################### # Name: switch_started # # Returns: 0 if the switch start has successfully completed # 1 otherwise # ######################################################################### function switch_started { typeset PS4_FUNC="switch_started" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x EP_NODE_NUM=$(Eprimary | head -n 1 | cut -f1) # If there is no Eprimary, ensure an Estart is activated if [ "$EP_NODE_NUM" = "none" ] then cltime start_switch : exit status for start_switch is: $? cltime # Ignore the return code in case an Estart is running on other node fi # Ensure the Eprimary host is responding COUNT=0 while [ true ] do cltime check_host_responds RC=$? : exit status for check_host_responds is: $RC cltime if [ $RC -eq 0 -a $COUNT -lt $NUM_RETRIES_FOR_HOST_RESPONDS ] then cl_echo 816 "\n$PROGNAME: SP switch in progress of being started. Waiting up to $MAX_FAILOVER_SEC seconds for successful completion.\n" $PROGNAME $MAX_FAILOVER_SEC sleep $RETRY_HOST_RESPONDS_SEC COUNT=$(expr $COUNT + 1) else break fi done # If host still not responding, return failure cltime check_host_responds RC=$? : exit status for check_host_responds is: $RC cltime if [ $RC -eq 0 ] then return 1 fi # Check if SP switch responds cltime check_switch_responds RC=$? : exit status for check_switch_responds is: $RC cltime if [ $RC -eq 0 ] then return 0 else return 1 fi } ######################################################################### # generate_Enodes ######################################################################### function generate_Enodes { typeset PS4_FUNC="generate_Enodes" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x WAIT_PERIOD=10 if [ -a /etc/SP/FINISHFLAG ] then rm /etc/SP/FINISHFLAG fi cl_getsdrinfo& sleep $WAIT_PERIOD if [ -a /etc/SP/FINISHFLAG ] then cp /etc/SP/Enodes.SDR.tmp /etc/SP/Enodes.SAVE cp /etc/SP/expected.top.new /etc/SP/expected.top.SAVE cp /etc/SP/Enodes.SAVE /tmp/Enodes.SDR cp /etc/SP/expected.top.SAVE /etc/SP/expected.top else cp /etc/SP/Enodes.SAVE /tmp/Enodes.SDR cp /etc/SP/expected.top.SAVE /etc/SP/expected.top fi } ######################################################################### # # Main starts here # ######################################################################### PROGNAME=$(basename ${0}) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.4.1.17' HA_DIR="$(cl_get_path)" export KERBEROS_BIN=/usr/kerberos/bin export RCMD_BIN=/usr/lpp/ssp/rcmd/bin export CSS=/usr/lpp/ssp/css export TMP=/tmp export LOG=/var/adm/SPlogs/css export SYSDEF=/etc/SP export BIN=/usr/lpp/ssp/bin MSGCAT=/usr/lib/nls/msg/\?/switch.cat SPMSG=/usr/lpp/ssp/bin/spmsg_css FED_TYPE=$(LC_ALL=C lscfg -v | grep sn | awk '{ print $4 }') if [ -n "$FED_TYPE" ] then exit 0 fi export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)":${CSS}:${BIN}:${RCMD_BIN}:${KERBEROS_BIN} if [ $# -ne 1 ] then cl_echo 815 "Usage: $PROGNAME [-s | -t]\n" $PROGNAME exit 2 fi if [[ -n "$(odmget -q "sec_level = Kerberos" HACMPcluster)" ]] then SECURITY="Kerberos" else SECURITY="Standard" fi set -u trap 'handlesignal' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 FLAG="$1" LOCAL_HOST=$(hostname) # Determine type of SP switch #SWITCH_TYPE=$(LC_ALL=C lscfg -v | grep css0 | awk '{ print $3 }') SWITCH_TYPE=$(LC_ALL=C lscfg -v | grep css | awk '{ print $4 }') LOCAL_SP_NODE=$(odmget -q "name = sp" CuAt | grep value | cut -d'"' -f2 | cut -d'"' -f1) # Time limit in seconds for worm to complete switch tuning LIMIT=60 # Maximum time limit in seconds for switch to fail over MAX_FAILOVER_SEC=720 RETRY_HOST_RESPONDS_SEC=10 NUM_RETRIES_FOR_HOST_RESPONDS=$(expr $MAX_FAILOVER_SEC / $RETRY_HOST_RESPONDS_SEC) RETRY_FENCE_SEC=5 NUM_RETIRES_FOR_EUNFENCE=150 case $FLAG in -s) # Start the switch for switch_type in $SWITCH_TYPE do if [ "$switch_type" = "Switch2" ] then return 0 fi done # for switch_type # Retrieve information from the SDR cltime cl_getsdrinfo : exit status for cl_getsdrinfo is: $? # Determine if the switch is starting or has started cltime switch_started if [ $? -eq 0 ] then cl_echo 823 "\n$PROGNAME: SP switch interface is up.\n" $PROGNAME # For the TB2 switch, must ensure the switch responds for the # local node if [ "$SWITCH_TYPE" = "HPS" -o "$SWITCH_TYPE" = "HiPS" ] then LOCAL_SWITCH_RESPONDS=$(SDRGetObjects -qx switch_responds node_number==$LOCAL_SP_NODE switch_responds) if [ "$LOCAL_SWITCH_RESPONDS" -ne "1" ] then cltime start_switch if [ $? -ne 0 ] then cl_echo 817 "\n$PROGNAME: Unable to Estart SP switch. Please contact the Cluster \n\ Administrator. Exiting with error.\n" $PROGNAME exit 1 fi fi fi else # Try to Estart switch cltime start_switch if [ $? -ne 0 ] then cl_echo 817 "\n$PROGNAME: Unable to Estart SP switch. Please contact the Cluster \n\ Administrator. Exiting with error.\n" $PROGNAME exit 1 else # Ensure switch has started switch_started if [ $? -ne 0 ] then cl_echo 817 "\n$PROGNAME: Unable to Estart switch. Please contact the Cluster \n\ Administrator. Exiting with error.\n" $PROGNAME exit 1 fi fi fi # Determine if local node is fenced (isolated) SISO=$(SDRGetObjects -qx switch_responds node_number==$LOCAL_SP_NODE isolated) # If node is isolated, unfence it. Try multiple times to # allow network to settle down. cltime whence rcmdtgt RC=$? : exit status for whence rcmdtgt is: $RC cltime if [ $RC -eq 0 ] then export KRBTKFILE=/tmp/tkt_Eunfence$$ cltime rcmdtgt : exit status for rcmdtgt is: $? cltime fi COUNT=0 while [ $SISO -eq 1 -a $COUNT -lt $NUM_RETIRES_FOR_EUNFENCE ] do cltime Eunfence $LOCAL_SP_NODE RC=$? : exit status for Eunfence $LOCAL_SP_NODE is: $RC cltime if [ $RC -ne 0 ] then sleep $RETRY_FENCE_SEC fi SISO=$(SDRGetObjects -qx switch_responds node_number==$LOCAL_SP_NODE isolated) COUNT=$(expr $COUNT + 1) done if [ -a /tmp/tkt_Eunfence$$ ] then rm $KRBTKFILE unset KRBTKFILE fi # If node is still isolated, error if [ $SISO -eq 1 ] then cl_echo 818 "\n$PROGNAME: Unable to Eunfence node $LOCAL_SP_NODE. Please contact the Cluster \n\ Administrator. Exiting with error\n" $PROGNAME $LOCAL_SP_NODE exit 1 fi ;; -t) # Check that the Fault Service Daemon is running. for switch_type in $SWITCH_TYPE do if [ "$switch_type" = "Switch2" ] then return 0 fi done # for switch_type FSD_UP=$(ps -e | grep fault_service_Worm_RTG | grep -v grep) if [[ -z $FSD_UP ]] then cl_echo 824 "\n$PROGNAME: The fault_service_Worm_RTG daemon is not running on the primary node.\n" $PROGNAME errexit 1 fi # Generate Enodes and expected.top information from SP SDR. cltime generate_Enodes : exit status for generate_Enodes is: $? cltime # Signal the fault-service daemon to start the switch $CSS/i_stub -s case $? in 255) cl_echo 825 "\n$PROGNAME: Switch initialization failed on $LOCAL_HOST - i_stub call error.\n" $PROGNAME $LOCAL_HOST errexit 1 ;; 0) cl_echo 826 "\n$PROGNAME: Switch initialization started on $LOCAL_HOST.\n" $PROGNAME $LOCAL_HOST;; 1) cl_echo 827 "\n$PROGNAME: Switch initialization failed on $LOCAL_HOST - insufficient memory.\n" $PROGNAME $LOCAL_HOST errexit 1 ;; 2) cl_echo 828 "\n$PROGNAME: Switch initialization failed on $LOCAL_HOST - daemon unavailable.\n" $PROGNAME $LOCAL_HOST errexit 1 ;; *) cl_echo 829 "\n$PROGNAME: Switch initialization failed on $LOCAL_HOST - i_stub problem.\n" $PROGNAME $LOCAL_HOST errexit 1 ;; esac # Wait a while for the daemon to finish COUNT=0 while [ "$COUNT" -lt $LIMIT -a ! -f $LOG/act.top.$$ ] do sleep 1 COUNT=$(expr $COUNT + 1 ) done if [ $COUNT = $LIMIT ] then cl_echo 830 "\n$PROGNAME: Switch initialization $LIMIT second time limit exceeded.\n" $PROGNAME $LIMIT errexit 1 fi # Report back how the worm made out NUM_NODES=$(wc -l /tmp/node_list | awk '{print $1}') cl_echo 831 "\n$PROGNAME: Initialized $NUM_NODES node\(s\).\n" $PROGNAME $NUM_NODES cl_echo 832 "\n$PROGNAME: Switch initialization completed.\n" $PROGNAME ;; esac exit 0 1  l $+@mb՝ab&E./usr/es/sbin/cluster/events/utils/cl_RMupdatea@@   e #inorst"$AEMRT_aclpu-;=CGINOPSdfghmv ()*./0:DLUV[]bwy&',123<>BFH\qx|%569Jk{}!+47?KQWYjz@8X^xDsETDŔ*(T(sSp k] js^cjrfF?ɡѺCtY׎r臗b   A X(?ep4nt*%,QBHʢKs`,QBHEDꛅ8S^:G]FWS24@(Eb=&^ &!ADA[nbvZ7X3AYDhA [~).4k٦;-95s#90z{~ҳk٧#90z{~D`2Arq+)FSh? HA P,FMKsR)Ƹ.tԺVpbcR֘V 60azQ=B3*7;tl27.llFQb*o&O#)YBI,A5D30a bDeV!gn5u4aM/[N`@'Eeͮ`@'X"X+DqnsȕLRUbETw=s{{{{{{{{{s(ʰ26psT)n,Vbs98nQ NWe0 G?#3@f׭lUYq`do g$r5ۍC"8+UWkxn7\s39n̷+ DN7Vfr9͝fFSncHjG3)j؁1ڕ,$e\ix׬F37;ơS}MP=fiI!d+/ﳷ7)l7[04Tmz7}װa(s@;ш\Lf[KҖcz˩ơ{][h$#3UvY3w b bA " 2+sn A FUv\`a7qwBIB7I](30tA.jQ`2!VFYۍOw;\_ T@Jc銓**,ـ9Qs,=M޹xSq"h?&g nʰ3%cPef;|eM˩s;s5{ 5-svxunqwQ\125Lu5j+<8B1a@MsWsSFSƧ@]8bbx! qHn00?ڜ#\&X3,]$Q@D04]Be(T`K7x=sWWaVFجIqgn5*^iqqy8B…I;wVE`Z,r9*Wf]7mg +)ۍ]%KZzK\ Jwd$:˩Iaz^BW]!2+s (),̢h+;bQ3KN(&!@-hʰ26L¡"(r"(*]T=ǻ8C!̮ŅW0UW0ba"(r&QT"E#<{À2jXȚŘXĆe Dr*&=3AXF:BfGnk5;;q  wDK z**$QRǻxdnlXV30DrrHF0,87Ȋ"\$*?xRv XpoDrIAbdRXcHVÃ".@HǏwpoDrT".Ýjo[F6gn5Ym񑽥HDSv-lƴّjuƫRkFD=lHY" "HY"X LQ,``Sw,EK@1렐E.@X, bΈEY¸C]f03HY"؎?@ @ @ @ @ @ AX]/],iynrlѾﳷ3l)pfe=|gn5لl?"kS7lN]נ+g:73;zjccay @ @ @ @ @ @m TI;EH E.pf%؎?1'dJ+ȔW;Q꬐E eW8*1M(u`tB- ;7kG`p:!d5vUa5" $QP C~J뀦^ﳷgn5ZZ2 gn5ZZ2{`h]y#;6Dr;qq} ;q԰і@Č@*$00 nj,&eгK ` a٥03Ub Q&),bQ,ƫRkFX! qHn01jXMhȀ){ĵf7YDƾrSYbsݻDʔ z$U&T n.`0v$,ExE˰n"2*MD;fץI(@Iǻ9"2*XǏwq D87"2&T?=ѕ`dl87**P L OxPiv**PB%Ǐwq˙ "2JH I D87Dʔ yr„?xNUP"2EEEO#&Yl87HLBTc(po$U&T˪<{çlJ&`h87"2DJ$<{Î@׭I(@ɒQR?ǏwqpoEReJ< 1C$U&T;aI(@ʋ$<{éUa$U&T˪,D"BI0**PI9w)QYf*[fSnʰ3%/KHY"# Ef$qnKVc}ewSpgn5NwF٬"k39/e]+&\#}Mt\<šf9a{6뉢$ aڦ:0X8@ŝlsS[ 4¹XYA\_@MQÃĨXn00?˪P4mPBi<VPp -Ӭ l3lN8vvk$BijXEw X@G#.PDSH3# ]qsSmc 0A ,LOE2Ƨ& w;t說PE$ETQ"P@ꢪ@IbE  *PMIBiHRhV.*{6H@R0S q"m$صNM"kgGABD \_(őQ2 $QU"eBUbȨqHY"Y.@ą(őQ2j ABD w;xa{IJfu7R_Lg%ęfح׉sP/KHY"i`de1BY1>-Ӭ l3l{Sky5 ,PZ&'u\$1<  FqM\)"*@1d`᫮8jrmtq> %HXAw $Q\f9# nt  eN(TTARDUV¹Y2⥋(BW mcmAB.G  wPe ((]ARDUV]8:: 7qw:: $QU"eHEDː=(őQ2Q]BK"EReJ=DD2wBW CHĎ4$$U&THQ$K&{HEDː=1!d*dTL%"2Ղ MbD w9ju" q;sSJ,aPx@հjv ,XuRHW5;kw5;h5"bh b$@;(TTh b$@; qq|tt"M]./BUbȨ|`c(őQ2A!d*dTLmPȑTRD&2wBW CHĎ4$$U&T"IHY"Y.@ą(őQ2jbDʔV*QbD $@93f=bQ3KVRYDkڜ#\p+1LPxu.*"5Yؔj#W6c)stEK ah4a\q"? 7\q$m].e@0PȊ #G(kU{  $%eVͯLf<یa\NFPKbQ1@|6/`ݰ2+sU@uRP ~z&GA!d*dTL01BUbȨrEX*&\~{HEDː=1!d*dTLe=I;^q,REM!$CE&Q"F.HA!aB<{gn5Z9L5ARDU z $QUHMbD=T$E\`c)"*@0fdr\t(wSky4&EQRA!d+u}A!d+Av%7y͘Ơq\m].ARꤡe0+EX*&\$,EV,(őQ2@ HY"Y.rG5ARiƗqt (TDSH`It HQ-˒?HXP'R8ӺIkR`5aWK".'pjvIBa\ ? mgbK*]T(Wg ¹X㹩APDSHb"@15(i@ PDSIPDSHb"@2kgGABEM,``Sw㣠EX*&_}!d*dTLHY"Y.?= $QU"eEX*&\ (TM"ITIT (i;<{YvّFxʰ3%z5Z7sy޾̫Svp.ׯ n\k˜ \1ּLq1NoS cT\B5@FN q`dmk;qx NN¸C]8`fPU<pM]焢K&eYB"CH(LE jY7UƻSJ]0 tM\k:wK?HXP'8F*M4"fX*H)0$`h$PJɪMsۂ5?HXP'Ҳjc6๫},޾J& nAp LPQ4g^#b VFֳmNL])twSkK&eYB"CH(LE ` ׈JuجVFֳNL])t?HXP'Lu5j+*vPL+:5]4n ;\XEg,LO CA#``Sw8F*M4"fX*H)0$`h$PY:$,(T28 ,LO Y88 w;ģnwҫνM޹]砩4pbP"! (BZJ:&sW;e;s;,<A!aB砩4pbP"! (B]*I5qJ'r $Uy֓cM.jW;٥qq|ttH.jpsQARi2,REM!$CE&Q"FU&&a#гK 1@%˄/A**P$~:H&A#GT$EPHH#0$,EtHED˄?HXP'PS ,ƫRkFG@%˟_=HLCusTizARDU?w=(I8z $Q](őQ2r %pSunq3;s"7~Lr3VFn{{{{{{{{{{Qs%XJ+VK"a(A{wF' DKT)n,VĢvZu7zV'M͋׉N U /k-|y^vOg!]+8D:@^nxX]eܩy7#v^8?Ժ8IG2s g񌫌qzn9kYLk$,EA:1k"2ʹ{{{{{{{{{{qbtX%%bKpWKXX *PbVEQ/Y&s/^ui+rSwa(z &BW]68DkQ56p="9Ј068D;hKAD,=\+D pJ'(őQMbT&YW Զ% l5f(8pPAX &$ؼBZ &dTE=zt% oz185]X WAOQ5")(ȨL =nkQ56p=<`&'tsbSm h(őQ鯵w>tMbT&Y\ Q?AD,k"2ʸ,xʹh vvaz8+<IyɶMbȨ|),7=\+D pJ'(őQMbT&YWY(^ca 1FPghyЈ0M͋NM%kEDSNQflJ&bpj &r*, (kEDSQ5Pe\<{ifY,9C]g^ gB rI76/596ЖYO9EFj|#щ(ȨL4@" ~YOAD.EBepXk4h vvaz8/<mzB&$ؼBZ &dTE>tMbT&Y\ Q?AD,k"2ʸ,xٵkRؔL/1G(kl{ @Fx4" )lMt% oM͋NM%kEDSN WAD.EBe`8%MbȨz &r*,Ǐw^Ws pY4r;Fp3`9Kfפ"kj|nl^jrm-X*"bpj &r*, (kEDSQ5Pe\<{ickQ56p= hDR&&Q5")#&Yoz185]X WAOQ5")(ȨL =4rkQ56p= <=ɋ!\nl^jrm-X*"bpj &r*, (kEDSQ5Pe\<{ik5lJ&kQ56p=B rS91t"k(^c|nl^jrm-X*"bpj &r*, (kEDSQ5Pe\<{tsb]p"h5f(8q<`&'tsbĴMbȨ|#щ(ȨL4@" ~YOAD.EBepXM͋Y\bѳ/\3`9K%kEDSNQftMbT&Y\ Q?AD,k"2ʸ,x&ŭ;fפ"h5f(8q [6!\nlXYOz185]X WAOQ5")(ȨL =IkC\bѳ/\x4" )tsbĴMbȨ|)ɖaN WAD.EBe`8%MbȨz &r*,ǏwnlZ9a 1FPgh9Ј0)NL])tsbĴMbȨ|#щ(ȨL4@" ~YOAD.EBepX p\8)cǺk{{{{{{{{{{s,K.r֬/s;sR&œ s185XJ"],YfaM;fr9"N&ŹaeD2FNwF-x0azQs;safv)sչƂN< 7z4^z\S3&a AsR1MX*"'@Y%KRD$=6M^YL{vfhRvW9` ss{{{{{{{{{qa(gne9kVKtsbɉ wFں]rRH^vQsd{ۚI76,@Y%KRD$~C< ?~\pQ:7Lo3ojrQ5")^N@H;;MbȨ|)UήΡ"bd \DaBdQTRc:-MbȨz1h &r*,IaHZwI76/ jv| dº@^6@ q*/"bx]Řؑ×6̆7qw lp^z*H)%d&8ʹDƿ;fSi`v砢kEDS D$QQ5").wV3.gnkEsAX*"D,A wK޼6r^35 YO|nYؑƙsQsWG;s"=}.&gjH)[1#.5zUzˍD辰(ؔLBz+Lhϩί8.2(H4:]CVQ60o6e1B,Js*vs n0pbG/4Y^ X'(U]x9as7qm9"bdp`צLYF5Hmq7At:: && smۥ&' *&M/OSrlѰNt$LOuJ4 ۤ"kf^wvApbWH+J`_$7&fkhEvY7s,f4Fxs<½ /Es0{{{{{{{{{{Qs%2хn{wF' DKUۥ-/[tsb=M-ҷ<\0C?Ժ8IGm./XDSwt8W5ssc+|#хnnnw]י\kG=fiKƼW9bE s21|k/ ,D'(KI@yR,(T"e rȪs{{{{{{{{{{z:3^sK9wEP @0'^"7X3 +7!\. v`R&966[k:7 quٝ`mV f8EʊE"I!p>**DQ$J "(%K nr*%Mp3^a^0$غn+?毥[2e3?a+$ؾF˴D5^vQsd{ۚI76,3-ŊQ.7mx嗢ήw΢kEDSw/qXÿ.+`;g-eh/s;s(ZXKLO}M™a(6M[WegQ5")g aSwRn0ww-vmvc3)7 vv]e2+sZ2 _MbȨxÂnZ7,gsV%YB"]hrv.1 (TDSIp[ǹvUš2]+ ^xE.:x+D&1 an]X *.`vTM/[Q5H(őQQ5PewD-2mazނEAD,~\+/B$38."` a6;1=M/\jƗz5q[fnw-Y&3Ka]vmp+ٵ¼nlZkߌLu7}W5u7yz1/5]nt^ebpj SpJ5non0 x*nͮƃA=%չǑ=f “+^@ /[ =aIْXX WAD,k(H){“$ @);3zYA @<@ 7߱(ףKt,=aIْ[½,HD ۝p,=aIْ[½,H@@<@ 7߱(,=j& s&9t^;Wua(b̛Sw)-8^MdP(+(xF <"fYOaVg Mp3㣞QbeOSw/k$,ErIk\)8/. Q5H @Meh((U&P T03^zɦ*(*&ÂnZ7,gsV%YB"]hrz185^+$QwX]!\0pY9o\ |qW%O u6qͮvylƴYF.q|LTQR?!b ek`ܰ`,G+EʊE%*eJT1]!Kۚ\城3aYO"aYMv-`H< (TDSHK/lYtn\Lg%VS nfSi`Kۚ\凄~e (ihRvW9n 39k.G%]TU/!.. V @ e (i ddqncۺW9yF(i0a(RvW9a(YB"Z[ar gYB"BZ3&Y"k9(²eu|#Kz4^t)s;sZ+ O,REM- \֊-̌5uj$\RYR&T5JnY9F(LFl l@e (i a͘.wF^rQe0e=vf /XJ:XxJ'P".gnkEs0w:ف_@*_$1a7qw lQB hP"+Yh"tMxjB.:h( $Q]xQ5")Mx<#[ۍa(oۄ D$QQ5H &dTE7m +y[z6Juݵ.7 /tmp/sna.session) if [[ ! -s /tmp/sna.session ]] then #There were no sessions rm /tmp/sna.session fi #Test to see if there are any link stations active #If so, build the link station recovery file for l_s in $(lssnaobj -t link_station -U) do sna -d l | grep $l_s if (($? == 0)) then echo $l_s >> /tmp/sna.link_station sna -stop l -p $l_s fi done #Now stop SNA (normal stop) sna -stop sna -t n if (($? != 0)) then sna -stop sna -t c if (($? != 0)) then cl_log 4156 "Unable to stop Communications Server." exit 1 fi fi #At this point SNA is down, just restart SNA #and restart any saved resources #Start SNA startsrc -s sna if (($? != 0)) then cl_log 4152 "Unable to start Communications Server." exit 1 fi #Now start the link stations if [[ -f /tmp/sna.link_station ]] then for l_s in $(cat /tmp/sna.link_station) do sna -s l -p $l_s if (($? != 0)) then cl_log 4158 "Unable to start link station $l_s." $l_s fi done rm /tmp/sna.link_station fi #Now start the saved sessions if [[ -f /tmp/sna.session ]] then LINES=$(wc -l /tmp/sna.session | cut -c6-7) count=1 while ((count <= LINES)) do #Work out which sessions may be currently active #since starting a link station may also activate #a session $(sna -d s | cut -c26-50 |sed /"^ *"/,/-/d | \ sort > /tmp/sna.session.current) $(diff /tmp/sna.session /tmp/sna.session.current | \ grep "<" > /tmp/sna.session.diff) if [[ -s /tmp/sna.session.diff ]] then #Open reading stream exec 9< /tmp/sna.session.diff read -u9 line PARTNERLU=$(echo $line | cut -f2 -d" ") MODE=$(echo $line | cut -f3 -d" ") sna -s s -pn $PARTNERLU -m $MODE #Close reading stream exec 9<&- rm /tmp/sna.session.current rm /tmp/sna.session.diff fi ((count = count +1)) done rm /tmp/sna.session fi fi fi exit 0 TYPEDE lN $+jbٜbb&B./usr/es/sbin/cluster/events/utils/cl_activate_fsdlcl    e #ainorst $EOS_cdflmpu"-:=ACFLMRTghy()GINPUV[]bkvw&',./0129DHY|!>BKx{}%*347?W\q+568;jz@JXZ<^~Qp Ab0w&XʠMĀC,@3!NKM,g/q䴋Ƀ3sˆ AX8  p0p0h$ ^Aeӝ-j,TrAP&bG,@3k8/x?i0]!Zk3Jv-ql P=:Y*8^aL$ g `yF<8A ;e]Nޡ.͘wN.=fgyw WVLR<َZf1zf5k72)zRA=%)صƸ[i/jo9`jL^ -^ju}YҖo|޽ k+ufqX-t3J-L]i(+,g^Lƶ]nm}WkSh)ɘծk˲ƣPZm~/LŦ+j8JKu){4XRLTԐ[]|~_Vi׶- +j;<'MN@Ek9s9s9s9s9s9s9s9s9s9j:QբKɘՠceD$X4Gٱ"yP%OH1 \LO]q[[S,].$G812AcbuHi3Èv: c&"D IgZ" -a&\qz&"^YQ?Y▰jfȲBmo8bؔ#POzK|ar:dIY|uLmz7q1&VS]LqHU%)kjKY!]MS8%%)kjK1y1 K(B:\9 \𦤣{)(FR{4R^VS7ם!k4^zϙDX)oĄB,K[GoL\Zj%Dx5KH~00< y3Jq$u%t*뾩b^ lZK20 c`"8Qm&c\HPs"7ߣYWVS|ד1klĄ  h15'Vƅk[zoYhD={^S3)>e+\]X-t3Jo AZ֒o[,]S,].f5No3KɘԄ-.]Z5oH[k9ά1 Tf8S _jiג B%Σ,-[e=Zprf50ԓM^Lƶ DVcRQYOV#Y/&c\$k%jBsy#kԔmw;ZK׵3:^ΜՂC4F&c[Px y37qMY}-KɘԄ=ssu )ӄs^LƤ'7$`$%/&c[P"G+A07?bm7by ^r՜9)i_ oPμmFƗ^^LƤ'79Z V RQh|YnQ9zL\1weaf5oX#Zb ůKד175zy3dHB`n<0@ # eZs9s9s9s9s9s9s9s9s9s9s]sױƽ:YLNI(yɖZM,b9 \+KP/|Tד1hRՂm Ҷ7ҒN¦7IyyɖVgk4޲ڰZfRwєӺQVVXμmFAַҼzZf_Nբb&cV˲ƣM+iZg^bJcz\OazZq-s3i|aELW^vME}-5JWV _C4FBrkM *xq챾L_!x%$Ӽ s\9s9s9s9s9s9s9s9s9s9s^`,J&'$HAmS,].z !"h <` gT A&``hpf<~0 p?K4 oe*yO*H(2HD H=%(e  "<<' $P$B',ǜo AZ &z!$KQfK]%_12417qn|,-['|TՂ+k1oZv ɘoH4脑,yDGhdH4脑,yDF BX $LBH<8bgufqV o8ˮ`YgV _t /Iyyɖ7N-M];0Ѓ+ c@'80 MsMje&f&X:]xG"МƠXEN/oզ9Fit%zҖi[^561,AD$c#ՄUijB:4¨(xZJ.^Ƚ{H4脑,yLpCzUh3^relp%t3NXzDI@U1'X >Uv8c5\UXzDI@[45\$B',S+-K 74s"D"y)" O *xqbmM$@ 1&\qz<$B',  *xqƫ=fo"@@$Ӱ$B',ǜDD RE@YྵHDoЉ|QgVq$HO"$Y 8bLTfDD RE@-"$3oL\Zjk%iLaJTvFLW/ubgW$@ 1HD HI"D"y)" LxhhjSȠ"yPE,@!œYYlVr_@ QoĄT(T$CPxpaTÈ?oL\ZiSȠ"yPE,@ <֒@n2/^Ǖ<' $P^re@@<8CcUŞ7 D|fi[Ճ[T(T$CP8)5*yO*H(wY}kz}Sψq!,⧑@D$X"C)`5``p>qSȠ"yPE,@!>oYkXf&&J1,ʕ@쌙YN2^YT(T$CP <' $PiSȠ"yPE,@ k֝C8u%%!AT=%(gڝe-Z&+bo_9r\e;/=e./^Lƴo|HK8$B',1Qb]\N^ 1PGLBbqceKHIid&<`-LAHDƫc.2ZEjHcZj8G8i3 "X$ AVoV lcEoS#V SVV)i3&c[S|LkRGYV U^޴ד1Kع,ߋޤ\]Yi5Yx9NlXJ oՂC4›m:ڛ˾tٜ5ד1"\I32KEi%|TԅYiazu•t䮬i[^, @@yDȤ@1u152RubJWMfi[)to;"b஬m~oYc:f59G|LW%,7YOMfi[QF&c:2Rk1ѿLy)W Κx3 oL\[Ղ+k𦼙mNQbKΌNb/&c]U_kf5 oV RQsVS_.஬i[_7;zukjrSJX)oĄΚi/&c\LM1qok%i c*`qAkf kɘQJ1|dӄz5n`;+Kɘ/kf@2#pyT?9Z7WX7X5\HK8P;V;SNLV%{zf5Mgs"_ ֱk[bvvSɊQ=5nz-kans9a(ve=Zpq gDooJVC &E"ɏ#EiO9Z`  oH87+g#fbY+Lİh0~00< ֢$;3ds""g@08C#8)B*cD7,To%bUfZbYȖ XAH@ ,P="A P( >&fsI({ՙ9 "Ճk8)B*f-<4#sV dRRŒ׼YZ%S,_;[1ya1d5ZK2^re"dǑ֢yR׼'L@aTi,yɖ IfWLa ? *x F [e{H+E&X„Qc0T09ZJ.^덎5\ױ((zAP1g͏8ZK2^reDIamo˯SչYMNLV)o5e5,-%|Toons AQpRkIEqƫ=foqzvv[z1XJ#11RrFbbm.-s`Lc ֱk[|TȬ+sֱk[&"SsɊQ1*\wӜ" X[WgJ/^pfMd3!-}e;V;SM90dDcՇULtSy{'$nj+ csVޢ VxbӓFbbm.-e^)-%uV} tݷ9a^ǜQr\lqN̯i`yY",ofǪb^N/^ǢYHH @8f Dxe{/92jX.,[F9&)YMcm^/*0'%/׽oc Mb8`s׼&^v4[D( a21@  f@>5Amw^z sױ"dǑYjRjx؄1FJ\^yy|K׼'\WHv#\p o.=In/^++B7^ E Sz<֒cWZuƀ`e{H̯ic|TŞ6vv[z1XJ Q1{I'YMZIA9Sy{'$<)UcSUvgjj{g^)-& dB7碑Ɉjjemt/eK-sR㾜T!ajZpRsLƜ3Ju){40sZԄK1zC3+E&XsVޢ Vr5^?oX[WgJ/^‚VX[Md3!-}e;V;SM90dDcV RvVo.L^3ŕ.|kZu59{vWpRX[O8Qz1×)K={15lĄNLe|LM1qov91XJ=eaamofƕNLe|b)E~ SV``  u؝sަ2"1-oׄ)JKiɃ:q{J}-kN[Nv91XJ-sY+Lİh0 CCdJans25evv[z1XJ Q1{I'YMZIA9Sy{'$<)UcSUvgjj{g^)-& dB7碑Ɉjjemt/eK-sR㾜T!ajZpRsLƜ3Ju){40sZԄK1zC3+E&XsVޢ Vr5^6aali\LE({o‚VX[bJ1,  x].ns9ӓ@dF7X7VIF4A[b$ӽwx*cW+bQo@0*UYd(sZf1鬑R|fiL@0*UP  Pi|Ů=*MY~/zb&by1s}a(ѿoĄຮ,$LSr0@@F ,P="A PSb i-|j. 8@<8CjokufqD kZ9s9s9s9s9s9s9s9s9s9sczui+DQ)$Ӻ5ƵƚX)erPWږ^&c]Хy+4mzwRjbv'$JwI34s][35ƚ [V ] Ҷ6JZ2wJ*ד1h4]k}+7i[_UZ-Z&+zf5kL+j94F- +j9(gbrNDt3N9k4 T@@=I=$BH<-qDD RE@-q<' $Ps9s9s9s9s9s9s9s9s9s9zui+DQ)$Ӻ o0ʁ("zD  1bbxbu`ч}-5JX >I;/920⧑@D$X"@f0HD H8bDI!$KQ7pp~ |ʕD,,s-s3zf5|fvbMkVe^V c1ƽ:YJiJ‚7$H4"Dp5l*ya)ӄs I;/920⧑@D$X"@f0HD H8i3D$c"1-N}m%hR &zH,yDF7X7 "<`㜉b4]ү4՜؜R/`*m~ kO$+|3b՝ab&|3./usr/es/sbin/cluster/events/utils/cl_activate_nfslcl#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_activate_nfs.sh 1.19.4.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_activate_nfs.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: nfs_mount # # ORIGINS: 27 # # # (C) COPYRIGHT International Business Machines Corp. 1990,1994 # All Rights Reserved # Licensed Materials - Property of IBM # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # ############################################################################### # # Name: cl_activate_nfs # # This function will NFS mount the specified filesystems. # # We background the mounts instead of specifying the bg option to the mount # command because the standard mount command will fail if the server host is # not ready (i.e. has not exported the filesystem). This command will retry # in the background. # # Note that this route assumes the filesystem is already mounted if any # mounted filesystem has a matching name. # # Returns: # 0 - All filesystems passed were either mounted or mounts # were scheduled in the background # 1 - One or more filesystems failed to mount # 2 - Zero arguments were passed # # Argument: Number of retries, NFS_server_host, list of filesystems to activate # # Environment: VERBOSE_LOGGING, PATH # ############################################################################### # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib PROGNAME=${0##*/} [[ "$VERBOSE_LOGGING" == "high" ]] && set -x [[ "$VERBOSE_LOGGING" == "high" ]] && version='1.19.4.2 $Source$' . /usr/es/sbin/cluster/events/utils/cl_nfs_utils set -u ############################################################################### # Name: nfs_mount # Usage: nfs_mount tries host fs mnt # Description: # Try to NFS mount the specified filesystem. # Arguments: # TRIES - number of attempts (sleep 30 seconds between retries) # HOST - NFS server host # FileSystem - filesystem to mount # MountPoint - mount point # Returns: # 0 - success # 1 - hit max retry count without success # 2 - bad arg count # # Environment: # NONE # ############################################################################### function nfs_mount { typeset PS4_TIMER="true" [[ "$VERBOSE_LOGGING" == "high" ]] && set -x if (( $# != 4 )) then cl_echo 17 "usage: $0 tries host filesystem mountpoint\n" $0 return 2 fi # # Pick up passed parameters # integer LIMIT=$1 HOST=$2 FileSystem=$3 MountPoint=$4 # # First, check to see if this one is already mounted # mount | \ while read node node_fs lcl_mount rest do if [[ $lcl_mount == $MountPoint ]] then cl_echo 11 "$PROGNAME: Filesystem $MountPoint already mounted.\n" $PROGNAME $MountPoint return 0 fi done vers= if [[ $VERSION_SOURCE == "ODM" ]] ; then vers=3 for export_v4 in $EXPORT_FILESYSTEM_V4 ; do if [[ "$filesystem" == "$export_v4" ]] ; then vers=4 break fi done fi # # Pick up and, if necessary modify the mount options so that they # reflect the recovery_method processing intent # OPTIONS=$(lsfs -c -v nfs | grep "^${MountPoint}:" | cut -d: -f7) OPTIONS=$(echo $OPTIONS | sed 's/+/:/g') if [[ -z $OPTIONS ]] then # # If there are no mount options specified for this filesystem in # /etc/filesystems, do a hard, interruptable mount # OPTIONS="hard,intr" elif ! print $OPTIONS | grep -q intr then # # If the given options didn't include 'interruptable', make it so # OPTIONS="$OPTIONS,intr" # # Note that if someone explicitly specified 'nointr' in the # /etc/filesystems entry, that's what they're going to get # fi # Add the version information at the beginning so that it will override # version information from lsfs (i.e., /etc/filesystems). # Note: If an option is given twice, mount uses the first occurrence and # ignores the second one. [[ -n "$vers" ]] && OPTIONS="vers=$vers,$OPTIONS" # # If the user specified sequential processing, override any background # option from /etc/filesystems, so that the processing is totally # sequential. # if [[ $METHOD == sequential ]] then OPTIONS=$(print $OPTIONS | sed 's/bg/fg/g') let LIMIT+=4 # allow a few extra tries fi # # Keep trying until the mount succeeds or the retry limit is reached # typeset RC # Format for consumption by cl_am utility amlog_trace $AM_NFS_ACTIVATE_BEGIN "Activating NFS|$FileSystem" for (( TRIES=0 ; TRIES> $TMP_FILENAME return $STATUS } # this method activates the OEM vgs # using the user configured methods. activate_oem_vgs () { typeset PS4_LOOP="" PS4_TIMER="true" [[ "$VERBOSE_LOGGING" == "high" ]] && set -x for OEM_VG in $* do PS4_LOOP="$OEM_VG" # get OEM type OEM_TYPE=$(cl_get_oem_type -v $OEM_VG) # get custom method to activate this OEM_METHOD_TO_ACTIVATE=$(cl_get_oem_method -m "ONLINE" -t $OEM_TYPE) ($OEM_METHOD_TO_ACTIVATE "$OEM_VG") RC=$? if (( $RC == 1 )) then # Update the resource manager with the information that this one # did not come on line cl_RMupdate resource_error $OEM_VG $PROGNAME echo "$PROGNAME: User defined method returned non-zero exit code" STATUS=1 fi : exit status of $OEM_METHOD_TO_ACTIVATE "$OEM_VG": $RC # This status file is used in the high-level scripts. Mark the failure # or success echo "$OEM_VG $STATUS" >> $TMP_FILENAME done unset PS4_LOOP PS4_TIMER return $STATUS } ############################################################################### # # Vary on a list of volume groups # ############################################################################### vgs_list() { typeset PS4_LOOP="" for vg in $* do PS4_LOOP="$vg" # Is $vg varied on? Check both the list of vary'd on volume groups, # and to see if LVM can actually read it. The latter is needed for # dealing with quorum close. if [[ $VGSTATUS == @(?(* )$vg?( *)) ]] && lqueryvg -g $(getlvodm -v $vg) then cl_echo 23 "$PROGNAME: Volume group $vg already varied on." $PROGNAME $vg else # : call varyon for the volume group in Foreground # vgs_chk $vg $SYNCFLAG $PROGNAME fi done unset PS4_LOOP PS4_TIMER } ############################################################################### # # Start of main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" # Including Availability metrics library file . /usr/es/lib/ksh93/availability/cl_amlib [[ $VERBOSE_LOGGING == high ]] && set -x [[ $VERBOSE_LOGGING == high ]] && version='1.46' integer STATUS=0 SYNCFLAG="" CLENV="$CONCURRENT_VOLUME_GROUP" TMP_FILENAME="/tmp/_activate_vgs.tmp" USE_OEM_METHODS="false" PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi # Set the sync flag, so that it can be propagated to the appropriate varyon # commands. if [[ $1 == "-n" ]] then SYNCFLAG="-n" shift # shiftout fi # Use OEM custom methods if called with -c flag if (( $# != 0 )) && [[ $1 == "-c" ]] then USE_OEM_METHODS="true" shift # shiftout fi # set -u will report an error if any flag used in the script is not set set -u # Remove the status file if already exists rm -f $TMP_FILENAME # See what volume groups are currently vary'd on, so that they can be # skipped. VGSTATUS=$(print $(lsvg -L -o)) # turn new lines to blanks in list # Update resource manager to record the fact that varyons are being done ALLVGS="All_volume_groups" cl_RMupdate resource_acquiring $ALLVGS $PROGNAME # if we are not called from process_resources, we have the old-style # environment and parameters if [[ $PROC_RES == false ]]; then # Check for valid input. If not called from process_resources, which passes # parameters through the environment, there should be some volume group # names as formal parameters. if (( $# == 0 )) then cl_echo 22 "usage: $PROGNAME volume_groups_to_varyon" $PROGNAME exit 2 fi # In the case where the volume group names were passed in explicitly, # try to vary them on. if [[ "$USE_OEM_METHODS" == "false" ]] then vgs_list $* else activate_oem_vgs $* fi else # We were called from process_resources; have to extract the volume # groups to vary on from the environment. LIST_OF_VOLUME_GROUPS_FOR_RG="" for GROUPNAME in $RESOURCE_GROUPS ; do export GROUPNAME echo $VOLUME_GROUPS | IFS=: read LIST_OF_VOLUME_GROUPS_FOR_RG VOLUME_GROUPS # forward sorting LIST_OF_VOLUME_GROUPS_FOR_RG=$(echo $LIST_OF_VOLUME_GROUPS_FOR_RG | tr ',' '\n' | sort -u) vgs_list $LIST_OF_VOLUME_GROUPS_FOR_RG done # end for GROUPNAME fi # Wait to sync all the processes wait # Update resource manager with the unsurprising statement that all volume # groups which have not had errors are now vary'd on. This is done with the # expectation that most volume group will come on line most of the time, and # only the exceptions need be reported. ALLNOERRVGS="All_nonerror_volume_groups" cl_RMupdate resource_up $ALLNOERRVGS $PROGNAME # # If there's a status file, see if it contains reports of any errors. # Failure to vary on a volume group will result in the resource group going # into error state. # if [[ -f $TMP_FILENAME ]] then if grep " 1" $TMP_FILENAME then if [[ $PROC_RES == true ]]; then STATUS=11 else STATUS=1 fi fi rm -f $TMP_FILENAME fi exit $STATUS ) {  l $+b՝ab&t./usr/es/sbin/cluster/events/utils/cl_configure_persistent_addressase.r   #e ainorst "$E_cdfhl-=AFILNPRSTgpuw'().1CDO[]bkmv&,/026:;BGMUWxy{|}!HKV\*34>?JXYqz5789j~m =5NU F3q;|jF,-Nn>(5⸠֊UW+| eSN]}6ugKqqk6|S+ƿ ,﹛EðFݩjj<ֶWzpz0W\x{)[yy挟9rkrOsqU+tksmLtm@Dm{l@?ax{+!ZmOڜ{;N6[š $2[@e0e5>Fdx6[&{;N_r{)]yyˤ-Lx׵E#rylV{S'E#r{)TġZܯ5MyN##\M=yS+ƃ^7KjvЄbXrƳb{aK^i 5DZiyt fjUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULVM \ԖII6_\Ԗv7C:mMke23Q|8>UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULUsRY'e$ښ׆aV(fsz=C)&ֳ()PpdR$&&?;=gXTW\63Ƶ[138TC0mg/|mkBSڢ587R zqh5E" gnfUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUULF,Ei&.e~=E6/MkL\\w=>p۪=| e7U1lcuM=9ыUqbÙL_ fL=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTƨQM$ִC0(X$@"LDqQDIiALJ"!0x<0y8⢸ Q3DLgm:J#Q 8 @3ₘSq'gַZ*&T@"LGU^ͺkiK"hE612 `]VM \si*ч.e2_rs5˚׹ч.50~DEpS+-3"SjF&S++s5|`oh× 2Ϲ?A"$/ч.HTR7)2Ϲ播r@* ܮyB"b#1sIϹFP3R]ָU\(9^NWs(dJ,IvZ[i|i(dJLϞey94h× 8yDs?δֆ{s=Fj/gkA"$. aZkC=Ϲgѹp4ÎRFF$cqq=6P\-*&&< 3DQ2̋ZڢKثFSVȔڢKAR]ָxx GAR]ֻ:n ÎXuɩ.ʪed1`8=W5Iw<]x&Ҍ NeboӃqQlW"PdE#rsl\ٹ>05;"Sso7-UW')훠UB``0 jc.nam l4rxjTR7)pW͞.X41oSsqU^a6^0WSS++s5Y0eUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU18=W5Iw<]x&Ҍ NY0(X$@"LDqK6`jw#()PpdR$&&?;=gXTW\6us65G c?f0ٶ \-ؾ4gsfs|l gpV @@pv3>z.cD05;Եws`kzA@` @r]DR׹5Ϲ kЂ$V05;ڢ> ƾ窨$ zilB+65qfQLks_sT@ zilB+65qfc*ɴbi BI)S+.ޫx{;NahJny)k\=YSsﰝ7JkrzcStqz+˓vZefrkc mU[N|ּN-53q;|-k쬺˂;z2N 7AMlNMOj򸌹;k_&^SW5Z n2to+n^ nnٛ)3)599\F\51{;N˚יҝlV>& [ fD_{F-Iҟtgx!=)\f}".e`,嚕 ǒ"" VVj/3}"/E#ry|{Nv-OsqU)UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTk&TR8hvc?3r dInyqAL O@y" R) ~**Îq)^lr 9FqʹX!=ڜ3|gK|o+y l8qrw-ڠQ+˓a+򸌹; \F\ɟ)nY/ eNTrRH5\ܮ5;@iub`T\()J2'*~*+p|V 6wn5F/sqUsZhBxg+˓8v!4*+شm݌R0rּYx&/Z7OSo+˓泥Bl;έAM6G(?4%qrv&Ep0Nj9[2n|*;AÎֆz 9F9Îg}u7kr@fOUSn-ssqU7cR73Q5jF.|*;nzm]{S6魰Mhg-rI9Fwnfk?L;+>+kw&n-S jSs5㫚׹7yuLۦVkr~mzQ ɇp!4InĂuUє%_QHܥ;S nU8=W͹umIbkȔڢK͛+Šis5sqUOljl^5K6ŭn!>qrwE#r{)`žr{;NbS+E{c )0<~ $eUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS \!p* ܮyB"b#1s'slgzR%AeH<Dz.X aּE^k^j3;&$r 6u\﹌6B;]k浿1n`1kUjvÿϞkNU4وٜi1_ m6/LϞt9WʪS+ɴb3`Br-qrw&S+B;Jm]͓c}"/ ?5-SONnn]}6C)˜8E쯚׵w -L+˓vZkׂm_}".D97"鮼1`n]|Zں8q{WpͲZEyp5^ }3p{)`žr{f}S+Ez+2-O]ּÔԁUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT1fЄZ2AU \2D$Gb=w :\F\ g"T&Y IY?nWzpʪS+ɴb=w6Nyw3p)W;ßrܮ4Kʁ;Wsds7LֶWB "@=0hb9=3p[)nf<\ڜj@1Wsds7wZ'zBÿme*Xb/DHL?DJ"X$ˎ@%K,]eh G M!2K? 91srDb%L ,dKb@@.qALh "@CZÿ"T&]!2d%Q aּ @59Mƹ[137 $0-l_ 71s]ϰnp0vxbHLϞ\.ÿܮ()~H** 浽YusqUmxd`in~ف08ͬ-f0hMH~ש {:6lxs_z3|穵un|*;gY:5,NhWsdÎ%aT\cR׹53q;|-ktqչ]5N X{8%K,]e&@<"U! aZ>wZYn2toE}[FZ,wOMrYUjvŭ6W7|m浿שjSpW3q;|%Y.-|n&ߋ9WeDqhMn Z53|ֶ&_#BϹtd;XRʧkdNny\ÕsqǞÉ"Hq!04y8HL$M"CȒyaՏ Z[55.V6gVb{{^\ԧqָHD2$,:cF񹵮7*&L0~ .-x'q Ve7,esk\oT"L`p4:dJUQ,],ۗ_W0VBںm6{8D%R*(.rK|7ݩ)Wkt m[;rp›TQW53q;|?ת{FZ,|*;udUnq49o޳Fo~W^Ga66ōOa՛6 f.|t[66f'Jv~ë7zpw17@V** 浽D(q"HqӃ皶wa\3|t5)~eyԃ穷Î:M0㎮W{泥jee?9XGeJ2L8 Î;W'i9QHy"Ct1srJ2pB2yMS1s  aqAM \F\qôb8浽qɵ9FVq F. :qhMmx@̰wal8 ayzG)sۙiMQ6w;5wZ5-3p5=fɇ[2LnW|z405)񹚋l8l2\F\r4&Q"Ȕ?YG&&$1p@LE(~4gM@%Be@Pcg2 qòhϞ\3 rf\F\G{?ћIʎ<ר;IXz,V"KsL\ǮBk˓hDHL ԃ?Ctkr =LpClZ6pk?Ȑ@4C#Ʒ@r$P)c ]|-ؾ3>zp\PStbk[D(qr${?Ӄ皶&5,J{^n mŮs}M3]WΖS͖W'lVqrw;?ԃ?qrvi!$8GMs7+n#.NP)c ]|-ؾ3>zp\PSBW'i9\D+gַ6G(J Î;ו6G(J apmӫ1 S?ԃ[v@fOUSnf⭧=6G(,jl8rz|lmRk6|l8ALh @Q ~zhͤOEp0"@9 4fr; g@n^ nnٛ)USת{;N?ΖD_͞dÎqrw7+XzEֶwkSg#.N9^NWs(dJ,Bb#D8[b&Q"Ȕ?3l&qǠM!2I`Uóqrv~`[?4Kfb@@.B3g#.Nr=hͤG{?kr =A䇃%.cp̓ ȵeܴ \$&T Aₚ 9FV8v!`6-h5H HE!\[Hx9X(C.l_ =`s?ܮ()HQPo5"@8Hx9C=s[?s?FoΖƥ=l7z|\69x>&NTrH\+gKsqU fo+˓򸌹; \F\ɟA򸌹;Iʎ@4C#ƷBW'x(C.l_ =`s?ܮ()+˓"@k[^l%`iak^l%`i8Z6pi՘ sqU?s?ԃAÎZ;E3zS|'穷3qVӞ^l56wj9MW=Nk6yMxJ_5>w4D( ƿ= 4fr⢸ 3i9V  [pšzֽWFS2.esqU;XG$<- 1slNE#.NM!2Hp7R 8$C $"Dbq$<, X!_ m6/LϞ\09qALh "@yoa#Kn|*;Մt "H?#>Wcۋ:l8࢜lz-K^0؋ڛSo l8^SƧڜ5uš41`.nT=D(q"HqӃ皶wc;|*; n2toEvwp| Z6~^k_+lSY1aF.ÿԃA;rcHK3 oZK|'.&<XjZ򸌹;Ujw-8]LZ`in5hmV dmkj;qhB|#2sqU5=aչT\`m2UhܺWsekdN6Z>pSՁ͞mkhʧmMHx{r4 EAַar$?@55דƀ$YK;@Dđ&< wؾ4 H%PDHL~aóš p\F\l8 =`sR 8+ c@n!Ibk[qs[9W0㈐@4C#Ʒ@r$P)c ]|-ؾ3>zps17@V** 浽X .'穹V$< wǞÎ$<!ǞÎNjqʹ8!01)x? f#fqD+qm}s5W @Cg D(0*f.|ps1 EAַ.|*;ͶO =Ms0?axYŵ=\)o3p4ѝaoSo׹k†;9nZ{=W=Mָ|*;g[Wp͇ĄD"@rHqBa"iD "ID(q"HqӃ皶rc:|*; n2toEvup| Z6~^k_+lSY1a F.ÿԃ*0+ c@nTTk{r5Ba"i!yoaVG(m~hS>,jyՁf60R ԯ͟{8PD"AHx9C Hr$w+a&K`H'z ɏ" 5ڜ穷NU Fš +˓ϝVzNȔhQ.2]kdNpͬ99y)k\=D@y`$r.dc "Pdҝyr4fN\ 3U={yuJ|ϚיՌ0 x@fp-G*=Xc׹6Mim\)joԵwkdN6[Wse dH;ₙ&t$s`QV5;J6evi8-(ZQ,\L)D ;ו(ٕڝ@%E"a"@A0# ;w6IF̮(Zp2ͺkiK*"ÿ4 8`7a7Oa;ₙ&t$s`QVk~;*h !0^s,DtIg+gU8=W"@CR׹ށDJ"X$˳W0֘M]͒RfjZHhDb%L|m{l\PS=$.$Y}~**oX:Մojlֽ)֘5"PdsƯھZpz0j-|*;gnW׹tzsmxS$KjF.k[~Spzh|*;gd;c_׮狍^ })\YMll a$I!BEG Sq$[smX`  8*f.|Ap\PSs$I!BEOEY5i8=P^5HSq$[s]͖DJ"X$˂(U@Q$I挳וʧH@%K,]e!}h,挳W1UʢQ0tK0# ;`;S@%E"aͺkqaₚDpv Ep00l;ₙ&t$s`QVk~֬#{WsdQHܤVy .5x&nRӃqQl5sqU?rֽϝV{h˞ck™"[TR7)sZ5F/sqU{?' 3ֽw<\jMQHܥr6rͺkg` g"I*9*h / m6/  [@H0S1s 3ₘ"I*~**ogMN "@\*h /jl "T&\B""O4eU8=W"@w6Z*Xb/0 D@y`'4e깇zaʹ951t$6ԴhDb%L{S=Aʪed#5ґHDHAG*S9^"S]־m~ؘ41o+s;jM)LF,.Wsdٚ)Y rmpZIʧ JmJm]͓c&aZi^SqGH KjlM)\E7A_]ϹX41oȾwZ֘+%6nRHNv-7 5}XDae~=0ispV׶1E#r) e~ ȾwZ6[s1oB2/Vzo3{s1oBUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSZIJSlK ¬P, &"8ִjl3R=ₙH E"B`y`óqEp0c?@.RQ?@"Hr BeR*H#g!",9^NWs(dJ,e BD%-隞5C(dJW0*9*h &]b@ MH01ó$$UѦb@@.\PS=!! HLEIDp :6~**oc?rS<h5]͖DZ>wZPS=BEOq *b⢸ Y/PP@Q0y1A{S7*m]͖!"-;N@.RQ?@Q0y1t@ Dm!"$ˢTYg]$%U"ǗDrQOה0b(Ɛacgm6¹ap-$g1@DDtJX蟁$%U"ǗGg.dK$,].<8; |*;a6Ӏ^`|b7.ښ`jvp@!Hvשr۪ {F/ssm䵮+'5<ۗ_pZEe| e7U1lcuZ;NbG^PJkՂ۞cl\e@|j#\057> $LLIch YL_ f!0ָt%2SSaV3aC7+PHDڻ$fWjv`jw#()PpdR$&&?;=gXTW\63Q3K9YϝVrz gDJ"X$ˤDS]y9\h @LE(~4hH$DŽ9D$Yt \$&T @*&Q"Ȕ 8s H%n2toQ2D\-jx@LE(~5Pc?3C.Rgm*T @8 Y fL:glLX)P<<ga:qA\a a,u3J"!0x<0x-PpdR$&& =gX*,D$g `7+4&Ái3s`ZTl9SDLHLDxRÐ }Sl~l_ @8\U?.>y;D\*f.|0\09m6/gmM8EG<8sZ6N z_i3;gir8sYS8grۦjq?1`jwu)ᦥxա)|mSÙXKkSۦjq?sZm}SlUvƾ*}U;>wZA9L,<D!" \-ؾp$.~acg S[@C;<1*`0*f.|0\09G ,9^NWs(dJ,eG&&$1pF(dJ&pP%D"P.x[13G=D"P/+˓e,@YD"P.f'Jv(dJÿLD"Pjh9FmQH<#Vw?@BEK0 ÎV2TR;X $$T9H0㜮().o9Vt \ <.oHe6t \ <㦵s17=)QVqZÎ8)9VXq*qWAʵE"~8vzM)0=*;=)QVqZÎ8`(`(DrM)q F.Î9W0U8 a9\PS`(`(GaMk{8hEqʹ) NXs3(RKDt?;=)QV58ipUaϹmrfİٜi*l^Tđ,_beJH0Bbe@Lj < @9^C= Sa\PS@55\s(RKDt&pHv8vjk hD@y`$;ak{;ₙDb%LDJ<$~**ÎqсޥskzH/ 0s;W0pD s;N6ژSMx=17˗azBSD}xI  9BVh&O N\NȔ,gfa\PS=,DtIHCóEXqZÎ:05;ԵwZ%L8]pD9Yt,_t6SNU FڢHwosf5q'=;y鮔`jvk5/@I t-ϹpR8j%MkL_@\J05;I5{8\ÎMlۗ_4 aFi&^b,_@$&&Pk_`aPÎ9ₚ618v!㎚qwZ0`aS]ϰ>1mMn05;e8``!^n.n5Ӄ=1ֺ\f|ln]~7)7ksڿcES+-1W/ohŲ@ksn|*;ыe~=yC5+5V nyesE Y+ s2$&"<11$I"ɢ\$&T e23Q|0@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS$fWjvҌ NY0(X$@"LDq]͒Q+;IFAiFr=ₙH E"B`y`óqEp0c?ʕ?䳕?Ujw!ǠgQDb%LDJ@55דƀ$YKv!1䉉"LxA-l13TLE(@%Be@e,@[13G=D"P.f'Jv(dJfP$YU0Db%LE @ $1rD"PigDb%LDJam@LE(~3>z.338!K<*&@eg</%Lqq;S h*&&< s) Pyp! a,a30)2ȤHL"L8 @*"T&Y IOY<.AL-)2ȤHL"L~8vz0rBle1hv Q"&A$&"z.6"c9{rgLa̴ŃXGLӹK9qޜmm^805; ДRjД>S\ka%m^8c|`jwF Q6|`jv)i*LHq_w> =;N?AϝVrg;1qȎg0\"8D!" Sq*ll{sX $$TS]y9\h @LE(~4hH$DŽF(dJ&pP%D"P.x[13G=D"P/+˓e,@YD"P.f'Jv(dJ5z. O691s}BC)E#!ڢHmW׷33-#Jo8gӀz)﹛EqALTR)qALk 倡TUZhEl NYE"9MhhFmQHmLϞ\09W@%K,]e"Pp#SOEY5 N3W39M}SlUv137S-Yj%@yl$ aI!* ԃ? G  D36-" 9^\־05;.Fm7*Sl6BS@>k?}"/{Yɭ^$bTR 1\^߫6a(RKDtDIc Muq'=2D(RKDtMHD"P0*f.|0\09*Xb.4K@55\s(RKDt(RKDtDIarz*Xb.4K(RKDtDIgg$b⢬BA|`jw,4ۦ1B-]gE;gi`c|ֽ8F6|ۦ50ٶSIw<\rm5ڦ#fqwP\U<; =  g3r.~8vz?浽jo᯹E+.dN2%S3kBW[.dM2%6M?SK^x> ƾ$b+SABMMNSqQlW]ׂm_jF.ϝV`v˜3T LUYc{MN j4\`mFohyk^/Ar3i7^nMb04fA$k>wZ0mg&5yqj=XGΖ0iy6l`h̷K N!rԁyʹ)Z|`jw-gfڙMmw<_^ })+ϝVxss?F/ oE/lkm^ww6E#r?h\E>f|`jnym^t r|+93kY.tjW,mMf9wL)nFm9f"c?0,_;=UA `0 ? ,_;=UD@` @xvaDrgSñQ\ ¬"LɤM Muq'=2D]HLDy"bbHG `[?lze,D ]2D[LD"Pj aϚDr H%()5Oq9TTW?59Tr|g]AALk%59Wl*\`m%uWJ05;N%59Uv "@9uZqłky\?LL#6 f \l?@IK׾ӹI mz*u{b`=Yzp4 OjF-7kR׹5ϹBSD|k"L%HEk? H/[uW\)jmQHܤԃ?|&c6gK N9 n|*mtsaɇaC7+5ڰ4Y#E#G , + g "X?浽 hElrhn41ðNog4S\=,DtIHM,DtIHTHD&.oZ*Xb.B""L;gַ>pʕd|`jw@c?ܮ()#m3b?浽b=5Ҍ NMf\*Xb.H/HLL8x n}~:JڢE4Z*W=5Ҍ NMfŞ^V1s瞚Fi&^b,_@@p'@,t aEi&/Tzky=깟Yɭr枤MtSY1zH/ h("}Î*"9Îi`jvk5/NWڙMn)a hq'lDA@Db%LE @ $1rD"PigDb%LDJam@LE(~3>z.+ hz*Xb.*Xb.B""L;;@55\s "T&]"Q DDv**ogn|+ɩZN z\PSBFf05;1QVk{?ϞzkyƹT "T&]"%4,_@@p'@,t aEi&/Tzky=b=5Ҍ NMf "X!12 N<%0Y*Îj%MkL_@\J05;I5{?s?6[6=HFi&^b,_@$&&P gk ALR_TE UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTɴbj)jJ05;) ܥ0ӋS pWDKRq}Š`Ե-V^|`jw.k6l-8b׶RnlLۦNڢKhSϔںk05;ք0ٶ6nRgnZ4b}ly)E#r?sFsgdo^W{gFYϝV{TR7)p53q;|}͌51}E#r˃QgqW{=fk>wZ9y)г{?Ձ8a) }SlvFP%pb6g3.[i|0*f.|0\09AĄM Ms7&pHs?ܮ()k^f'Jv|XFV,]F($<),\@Tp%Y͟k?ƃˬi`aSt s6'5sgjZ;HY$K(Y.-}3SH! VlYrjlR2K9Y|\yŮ]1VBژ 48Gmco+˓)?n-OsqU{+jښƚHLDMQHܤ+ h.DL8vy'⢠k[qALh HDHbX- c@n4Kʁ87a7Ogc?"T&\r4&Q"Ȕ?X˴ $LLIcl aؾ4 H%cgҝg`6 @%Be@𩘹 3ₘQ.27Y8fn2toE}KUϵ5ak:[f~泥 X{YabI 9B)$Hp.nW,DtI@iub`T\qAMabI!EAַB9Wsds7ë,yWsds7Y7]q'@v\ּNh8ů4gZBUjvéVB"Sjlfyuetںp4c׵0ispWo+˓[TR7)jt$ڣc#Fx>pmzMϝVa:/g_53q;|-kiu6jLZ\`mF\kqrv'zM﹛Eu0ȿMke`~65n2toE~9{;NusY-3Qk8?1#Qk_loN=Sur"ٚtjX8܌L:pY|t-ܜ0epSqsZ7:Sσl:4b>wZlhbZܠj)ޣ8Xcjm޳dëjŮN⛥jmzgk™;a.X i;d/@L"LI"$s%Ay))k^Y.Fot1\׷}T\yڮ MmXc in* ($ @Nze,C񥟠Q.2[i|i(dJLϞ 0$.$XL\si*ч.(RKDpܮ()hH@,p> ?ak~Z]͓c׵E#rZJ NxWڢKNU EtֽϝVl+kUjw[=f6)%E#r5M?i8=P_Z4b>wZv Ǯ5]jTR7)\MnA"I*9*hH Ϲb`j@հ3>z`s?r4HCĄog58' ƻ@DDH3\ܪpz1@L"LI"$7> ڻ-,DtI P$HaSqabI!w6Z*Xb/0 D@y`'4e0ִjl3R &&$*Xb/aFaW ;k[wdNpܪpz13kڻ \rי;Q֬`1.Wsdٚ05)t6ÿ& 9W0 x%까Ζe[tں`1R6)(TR7)mz0epSqfQHܥljn~77z S; StQN֣8Xcjm޵kM|ֽ6ǂ%iu53z}Cjc?ɢ\ <92w1_@y" R) Ȕn2toDEyfܺӗopO^bkR1scj'o15c")ٺgB""Lr4&Q"Ȕ?Y*Xb/Ɛ=2D`T\``s?ȓDDc 1sIϹFS@%K,]eØܮ()hH@,p> ?ַ?j7w6Nyk^@|EkL_ב(2 9Wm_jF-8=W5Z>wZܯ5sqUo2H\ַ4A|kыUjv' 3ֽw<\jMQHܥr6rͺkg` g$ ڻ-,DtI P$H@iu+gU8=WHDHm]͖DJ"X$﹌6B.X @iuc?ZIJSlK@y" R)!Q.2Ltl\47@`8yoaՐk9rh5jl~1rL^m˯[\ښƚ֘M]͒Rfj@~PԧMָ{3W3n c+!6&\qhB|#2jF.pmzMϝVaEjjk#m25E#r!5ґHAZMQHܤ]ₚK'#m2~** 浽Wƀ䈁HD*+ؠ4D"I!`().*⢬a7Ogc?"T&\r4&Q"Ȕ?X˴ $LLIcl aؾ4 H%cgҝg`6 @%Be@𩘹 3ₘQ.27Y8fn2toE}KUϵ5ak:[f~泥 X{Yh,@4̝aHDH3g(2 dNhP`s6Nf97"n\(ōOΖ 9<ۗ]yC7~-juhхs\(+ hCsd's7DHL ~** 浽HHy"Ct1srDb%L ,dKb@@.Ü()~01$Ep0 &&$;@$H TTk{Jm]͓c}"/-f0iwMWZSwsZ7:S]־0 OўMk-OsqU{l%kln Aڻ.k_&[Nh5-ϝV`}Sƥћ浰dN=vZWsejp|5|>wZ=M,9W3W1WΖoq`0v7xUS׋\6ִ%>k^f'Jv͕־7(wN.57Aڷzv+ aHG"&M"A!|pjIBb#ˑ&C;<"YDAKDHTUZëh5s79qAMHzlf}h CóEY5;y" R)*9k&TR:.*]6'"'r&pP$89$D E"$ .nW䈁H~**oaW@$HvzHQV58*hD"I!Q.2[D@R"C@<w+aT\c@y" R)!w6Z*Xb/0 D@y`'@<wgi%)f@yH$DDJ"X$׶ai%)f<)(RKD| :6{?rhnq'ZÎ3\ÿ&%2Sdd`jw-.&UK[@$HTDr!FWڛWsdlNҌ Nts5K*"\ₙD"I ~@y" R) ~** 浽~qALDDgg0Y浿q߹T\c@$H Ϲ-{Db%L?וܪpz1@yH$Ds,DtIgߪZIJSlK@$H ,DtIύm()0v m8;⢠k[qՐk9rƥsk^b&ۗ_ufbՌ4ִjl3Rƥ>nqDq2TL"]8f#+M.&UK[6j/ӂqt+ gD% < D ?;=ϹEvku99{TR7)1~k^D/$狍^ })\`[7AkUjvܯ5sqUo2H\ַ4A|kыUjvv Ǯ5]jTR7)\MnAHCĄ@5ʧH Ϲb`j@հ3>z`s?ܮ()$!"⢬/䈁HD?s?ܪpz1<)/jl "T&\B""O4gg+gNU4""WseQ.2c 4KsFv3ₘjR$1ȉH!`H_` P"L \4DEQE<;gַ+ c_L,`6`jwb:k[u(2 dNwZOY.y dmQHܥkOjpNT־MϝVa'`zZq6E#r˔6魞 $ =$wZɟ9!In~i3`Br-qrw-h CaH HE!\[Hx9X(C.l_ =`sr4 Ep["@Q.2!yoa<2zz;NaCȒ =NM[;N jSkwǞÿ"Hq歇*XJ`isZ>wZsZ7:S]ֻF/+kmk95!8Z6vqALh "@yoa̺-5;WpЄ>wZ5-3pZp3^ }R 1n2toE} Za:n gc?"5-۪.;N6[YӀVwFe&3\MQgq͹u3{W@a;nkrzcStqlS7y]Mf6>+k\)j/h mP)3;gmkhWZ`~k_c6#;N9MFonqrwfhS6Ϝ; StרN.57Aڷzw?땯i1Z|ּN .b rT0(LDyr"d Hx<4!X-D&"<2i$<%*T@DtDEY5:"w6Ny551{Shl;$D E"$5aԯ b)-M&XpD@R"@rHpD@R$$Tr)-M&t \$&T 1slNE#.NM!2Hps?"@91sr$D E!BEpP)c ]|-ؾ3>zpӃn3ڢ ʳW1.X i;d/D(9D/3q;|%5-k6h~f6zX>bkpO^bkj~**og \J.DGy9ₙ$DydDSQV5; Db$DyaǪm]͑9W19\PStEAַf]kš |*;lZMS|'e]ެ#T\cf>Aa9T\c@VhDb%Ld/M倜ѝJ.DGaּSq$4 "T&_Z+q"@@RHg&.Wsdٚ*Xb/^+=*0ִjl3R"@Q.2LtlpN 浽a7OaʹXM,UrzI]"Ió,TUZ(ٕڝ# ShDq2TL"]H3וJ6eviFr*beQHD%ggQ6(ٕڝNWڙMm8)zDYTG`8; xW(RKDt"CZrzI]"Ió,TWgkܪpz1Dz "T&]kU8=W"CR׹ށDJ"X$˳s?51t$6Դ(RKD|Y+po5 /jsSqK^|ֽM1y.-l3>v`1.Wsdٚ05)t6m]͒Q+;J05; s3npR XTR*&.fqQp3@%E"aӀvm[N ^QM깟+ gD% < D ?;=ϹEvku99{TR7)1~k^D/$狍^ })\`[7AkUjvܯ5sqUo2H\ַ4A|kыUjvv Ǯ5]jTR7)\MnAHCĄ@5ʧH> MၨV @@pT\r4HCĄk[Spzk3W3ʧH> ڻ-,DtI P$HkSq$[WseQ.2c 4KsFv351t$6ԴhDb%L{S=W ;k[udNpܪpz13kڻ \rë3>v`1.Wsdٚ05)t6Ð*beQHD%p3vTK*ED%-ts5K:n \ XTR*&.fg3vTK*ED%-ts5K*"W5%lL`;SUsRY&m[_/@nQ2cnf'JvZn-OsqU5=6۾nHўmeetKV€}!rxd3yZ'ՄyoE?Ζ)a:n gc?"T&]"$ HE!\[Q.2(C.l_ =`sYyy)k_tjM8=W5SZBgn|*;k^jfp?5v8j\#}Uf't*oa7Okԃ?|'@fy)k_k†ָWtK|'w k~n-{Z7:S]־`1fsqUרcZ-kUjwf7y.{?Ȑy$<!Ǟ$,< Dq籟9!In~i3`Br-qrw-h CaH@4C#Ʒ@r$P)c ]|-ؾ3>zpqALh "CZÿxd\7>wZ:$ÿȐy;r${NjrcrDJ"X$ˤD8v7Yu3q;|-kmP)w6VֽfhBl;>wZYެ =@?(jAcZ-atKUaՄV5sqU8m]͗53q;|-k3{qALh "A"qQPo5; 9W1A\PStH)TTk{-5;WpЄ>wZ5-3pZuk6 X5! 3|ּNhCk\l=XM,U"@rH$XxYu76@fy)n S4ִ\־7(wN.57Aڷzv ﹛ER;y٘wjZk:XA͹u3zm5+SjZ\F\˜1kkejU浳R9ڛuZcjms P~k[k99-Kћgc6Mkh.K@m^65- ?gַrƁDJ"X$ˤDz "T&]U8=W(RKDtԵwQ.2U951t$6Դ "T&]"$4 "T&_>6V{rq'  8yoak9rƥsk^b&ۗ_Y5c51t$6Ԁ1OqTK*ED%,ÿ s4 XTR*&.lۦN ^atܮ()hH@,p> ?ַ?j7w6Nyk^@|EkL_ב(2 9Wm_jF-8=W5Z>wZܯ5sqUo2H\ַ4A|kыUjv' 3ֽw<\jMQHܥr6rͺkg` g$v`1.Wsdٚ05)t6ì& UXB:pz0j.yҝz&c1sg{;N]ₚK'$?Z\`zn b` ll$+yb՝ab&H./usr/es/sbin/cluster/events/utils/cl_deactivate_fsiste    #e inorst $E_acdfhlmpu"-:=AFMORSTgvy,./CGILNP[]bw&'()012DHUVYk|!*49>qx{}%+356;B\j7?JKWX^z 67j1x2҂Mtbߨ寑Nmo]aMmoeoa _9q3stD&/^ rF.[fW ޣyjbkM CJ`ch_=f8E+l#gi:SণFe;^Mٛ q90WF(tMG-|vxs)f4|"z+k:S Yh5Q/qӴMM,OtB3?E;_8eb|"sF.W寑Nח%`ײi6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUMQ7Azh>;M&rpH,S& $Uj&T @DH8x%G=4re%@fX\1oAI 1keQєZPz|tSԃ1nSo̱r31/-2%M$<`+zro̱rAI 6ϝI<KsŽ$ΔjeRH,Ly"7reB fƋ) [MRH%_1V5] fiNAI11ALZPzxr@Κx R@F**Mo4~Y[׃/f3. sV!i3-{  f)J҃iM7)h)!J҃iSΚxr@R jR@F**Mo4~Y[׃/f3. sV!i`k> eB3QZ3)1@^eA904)t(=?󦫢rf3UM4ܧi5]i9M4) c_4**Mo4~R҄SbS3)ϹNAI4馛 \m4&%M%4ƚjiTsӃ4MKJ V'gJ|igi^Ҟ׃/qo7ƍ]-)$t3rnP1qRC08@c8W#3,\zE2-.W=ςvٙbsőϝ91Z،Q\aV"Tx$OY϶Eє^+JOYϹl#)Z|Ռ. Ew>od|ճ:p AEr׹B+7ALPS9:2 9jj}cg) c@':V 9jl(=4sx|ckJm4߈-'qiAV 4\R]iDZ Q\1o+rm6k؋xѸÖsfƁ%c{`o1N xM7jiM4߈Ele{ފ\սde=ӵ?M4ixѸÀ58>kđ^zAmzA狹e[Ee{W)\jޣFe;]=_>jޣFe;\13fX[i5oћ2rװiGamyK1|6cu̧ke$RQ3iu̧k">pzeD\{ $VAfWkD+!ͯr.Z~pzemp;^_Y6e孴aу׷v< &TI d M7)]{|ykI|)IU?ENEKł3 .m6zSt$^ m3,\xP%(pze%Fe;_8P̴LB)^׃/SW/5L%[V%Zp8L0"EZ|+Fe;_8\0j޴ $VAfWz/OQ\v3,[EϞ0 +-\@Q) 9cBfX7)a^5oFe;_z+ₘa2(LadJ8a2(L`<8P=V s+j9kN-x2a*"a"ǃǜ @x2]p )I{sN o1DDj1ALaJqÈ@0c1QV[{e8]&c|3_;OR˸ſZܒ+f +rY$Bɘ5Q/{/^ |վ..3)/I5i9kfS![]"b 2e; KJVi9kfS#JeAuza'|Fmj޼| ]:ZJ1{=[zWma8lx2V>u\Ee o7Q*"a"ǃk3Ǐ¡\%q#0W8\x`jv`f + b0Hf + 0Fb6jo4߈)i+ft (/z켻_0y-3 kE=sr4ߢս+\F{2(nI}G-|vrX)"SR0]j>/a7oK P@P8(LLtAf3-Eu] 8$@"HDH,,`>Jn0-r3)SiL" sr.pze"UԄpP+J c ҃/!" `+J ``^o/3D  _=Fw\P Hp* Mr+8]Vo/^ |"WBg"S.omi[!>j[sL%uQOBgv'QpoYm+ZsbߨN\p5],D%%CMM0Up B)!`0 #r-(./OIxH](R^ rэJQٍ%Pg&P7K,szz& Yg<`Zt%oF.``cJ0/.8taـײ8 ZiVM6i%^,g.^`ny|%wKs-hřO"XgUŠrjB;+1m4MJ c$ XM44>\]Y"sM5G50P+J x?$ Xh`lշ馛;(EtVzeqkL3B)_&?I׳+L/LiMr5I=` 12⢭4oi6W/5L%Zi[{M4i;0V&?/^ yJRiM4ţhiiM4w-:V׃/3EZa4i)ZPeǏD  ,oo7wPy}Te!KO5^S"U) `>5L6kPL8Dpʖ&&&x?oշ;lBRp[zeE3-6o4_+Z Mr5&{4 =y&LdT&T^^0e& HEflyJ bQV[{S+Z 4ѵTeŮpaOEh)oz|t%wKfV#+#9S 9zH))E,lbH({81(<o@)E,0X-VRBSAa ŠQSFv) `>4s4gx歽ZZVh!F[1ALƀNtoշM3pcUoxD)iegG^HE+Qj0ƚiN J)cR Z kԄpP+*Tr"EV"T@DV"T@D` mN @iJ)ceńAD4\4x)E{ȴvÓ4gmr@':SFwj%moop}G5SƀNtoշMġ;3A 6kb iMI\6kPL8Dpʖ&&&x=9999r(_Jn0-r3)SZVWZМQJ@T$D x?R#7peh5ob0J+cM0Yқs#& H(yRaǠPDL""D(PA,иAG-r3)oa4g|nPf)^/Dſ@&XMVp~q"g(LpBaD kÕVս_9b1ALlٮiʼn D@D"E[5mrx0_јl`4Ą" "xGjMBz֌程fNy}7(3/2`,oR J%(IFwĺ9*yA<2Ĉ=ƁFa]Ӌ@D oo7w7gUbFZo7b%GAId eѝ.0qCʠPO8L0"o+o7wze&RJ%Y oWƩvN,HM"'${ss[1~qR Jk[UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUM%Fe;_NJn0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUMQ7AvSqghBAI4o0Y2"L<<@H k綛UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUMhBaD <8TA,ny|\"Y3sL9khf̢r YI*pL"rΙԖAp\()< &TI 긺٫oox5.2t<  ϝK,*<>v^<1ֹD@a$Xg<6#[r1J,oE{Ԍm<nj8<0GibBh 0 )) then COUNT=$(( $COUNT - 1 )) else # update resource manager cl_RMupdate resource_error $fs $PROGNAME # Format for consumption by cl_am utility amlog_err $AM_NFS_DEACTIVATE_FAILURE "Deactivating NFS|$fs" return 0 fi sleep 2 cl_nfskill -k -u $fs # cl_nfskill -k -u -t $fs else # unmount succeeded # Format for consumption by cl_am utility amlog_trace $AM_NFS_DEACTIVATE_END "Deactivating NFS|$fs" break fi done return 0 } # Main PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true else # otherwise command-line arguments are required if (( $# == 0 )) ; then cl_echo 26 'usage: $PROGNAME filesystems_to_unmount\n' $PROGNAME exit 2 fi # set the RESOURCE_GROUPS as GROUPNAME, so that we can use the # same for loop for one and multiple RGs export RESOURCE_GROUPS=$GROUPNAME fi for GROUPNAME in $RESOURCE_GROUPS ; do export GROUPNAME if [[ $PROC_RES == true ]]; then get_list_head $FILE_SYSTEMS | read UNSORTED_FILELIST get_list_tail $FILE_SYSTEMS | read FILE_SYSTEMS else UNSORTED_FILELIST=$* fi # Sorting allows us to handle nested NFS mounts FILELIST=$(for i in $UNSORTED_FILELIST; do /bin/echo $i; done | \ /bin/sort -r) echo $FILELIST | grep -q "\;/" CROSSMOUNT=$(( ! $? )) if [[ $CROSSMOUNT != 0 ]] then MNT=$(for i in $FILELIST; do /bin/echo $i; done | \ /bin/sort -k 1,1r -t\;) else MNT=$FILELIST fi # update resource manager ALLNFS="All_nfs_mounts" cl_RMupdate resource_releasing $ALLNFS $PROGNAME METHOD=$(odmget -q "name=RECOVERY_METHOD AND group=$GROUPNAME" HACMPresource | grep value | awk '{print $3}' | sed 's/"//g') for i in $MNT ; do typeset PS4_LOOP="$MNT" if (( $CROSSMOUNT != 0 )) then fs=$(echo $i | cut -f2 -d\;) mnt=$(echo $i | cut -f1 -d\;) else fs=$i mnt=$i fi # this awk command prints the name of the filesystem ONLY if it is # currently NFS mounted f=$(mount | awk -v MFS=$mnt \ 'BEGIN {MFS=sprintf("^%s$", MFS)} \ match($4, "nfs") && match($3, MFS) {print $2}') # if it is mounted, we do the right thing to unmount it if [[ "$f" == "$fs" ]] ; then # perform the umount in the background, so that # they are done in parallel pid= # If recovery_method=sequential perform umount in foreground if [[ $METHOD == "sequential" ]] then # # This script can be called from node down processing # in which case it is called by clcallev, or it can # be called directly from the reconfig resource scripts. # These variables will only be set when called by # node down # if [[ "${EVENT_NAME:-}" == "node_down" && "${NODENAME:-}" != "${LOCALNODENAME:-}" && "${PARAM:-}" == "graceful" ]]|| [[ "${EVENT_NAME:-}" == "rg_move" ]] then # If current event is graceful down of NFS server # and the local node is not the NFS server, # perform umount in background even though there # may be nested filesystems, because server is # down so umounts will take a long time. Some # umounts may fail with nested filesystems in this # case. do_umount $mnt & pid=$! else do_umount $mnt fi else do_umount $mnt & pid=$! fi if [[ -n "$pid" ]] then # search for pid in PIDLIST echo $PIDLIST | grep -qw $pid #if pid is not in the pid list, then add it if (( $? != 0 )) ; then PIDLIST="$PIDLIST $pid" fi fi fi done # endof $MNT unset PS4_LOOP done # Wait here for umount processes to complete and check status for pid in $PIDLIST ; do wait $pid if (( $? != 0 )) ; then if [[ $PROC_RES == true ]]; then STATUS=11 else STATUS=1 fi fi done # update resource manager for GROUPNAME in $RESOURCE_GROUPS ; do ALLNOERRNFS="All_nonerror_nfs_mounts" cl_RMupdate resource_down $ALLNOERRNFS $PROGNAME done exit $STATUS PR ll$+j\b՝ab&^7./usr/es/sbin/cluster/events/utils/cl_deactivate_vgsste   e #ainorst $_cdfghlpuv"-=AEFGLMORSTVmy(),./0:CDINPU[]bw&'12kx!39?Yq{|}*457>BH\j68;JWXZ~%z+@K̖`NL/M"҉_8Z\M|4S{oyFdRra}7kI"-QW޻KIk|`ƴ օ+=,Ԝ^s]"'(72@ *\ʒ$ "H'`s9s9s9s9s9s9s9s9s9s9k\9s9s9s9s9s9s9s9s9s5ߑb(iD|4C̖`NL/歮̖`NL/WW[Fō\ͲC\~B,rC^j'9)7Ӕ<ҏRb/)fyӔUbs]V* f ^)4]Z;޺.f3}*M8-ms\9s9s9s9s9s9s9s9s9sT fx8C@K$\ `@ÆVlX c2@ *\ʒ$ "Hf8v1X(TW:]qַ׺]s$ oMt x-\Sk.Q"(3A7׺]s2Ib7׺]s"Ly" kڗ<ˎ o#[R^uː&@8 L MR7׺]rf[Sk.̠)Q\vKD 8`Ʒs K5.|AܢʃԹE_3rM6TFϚ(-FTFϚ($7s 2ƷrM9OJӴk,@VMloEWKՂ*8Dirbxql` X(?.lImKDDDD2XIҠTaIkV7׺]q ȖE!^v^uƀ@);() 椔/%K4YAHWN5.y%FM\Y`(005 d x90&8;Z[O<,BҶB7hPqS[ALH@$C;(.**qioo8S~<ٸ+)oKt+f=UH3q̒oTHKq02Ib x/,@Xx^g8\Fxq05y5x$!O<**Ӫŧ῕^[5MZԅ`iu:LNS~<ٸ)ῘVoYcy|iWת%Y0\e\ZiɅ$Z4hSa aibH*d 057Kcc+6,f4aibH*dDI ` *X㱅DI[UaNj jL(zINSj +^2/)foZRB*l/[əV8'[̒NQZX5yNr2A# 2@ᕛ1A=y52I(.c'k@|$uU77 d rЍ]wBZkIH"dsyF "34x90&8;Ei$iK4 EdjzV+&Ørpopk()yQ"(3LTUV77^e ܓO|MH)tؤ"UoZJA%5t oe7$U{M7`2i[M[}U|1k Fe&z2YV7j,Ց [ N ] ҶkX50#$4؁スșȖȔȑo%y',y"V [NSəDP&fs fU֒Elf [JMvNSҴ 7 L(G#b4el !VإW Ʊi[!g37X2 -&"U_]WӅy/qoA6)sxZإ Ʊi[!g37X2 -&"U_]WӅy/qoA6)sxh>hVmQkqs ,X0cӃ[AL U&&\قd1QV[}E62JVb'ҐrUoV * šRm,֔ր2IEm{ ׂ ]iy3<#THѧ&t1F@d^ji3 ~ƜqYY;|RcN8@yjnqaF**ӎwQ+dpդVl2o:Kji5c|zSJق6]+% d"ӎӎN ;)F' ccJEN9/yHIMi)^̖`շZwS/IK UVӃӁq;+.`:ѭs#ef&UofK0j'&o쌦iӔe0izQō謃lV BKID+7y dGʑ" H@GoFeTf ^Jrap8$7O^8vyB1Q]WKFQE\Ԓ[NsN °d dyI3}eR jIXS~ UofK0j'&M*(Z2,Nw椕f [ V<-zL_YpلTŮKxG]RJ׌w.N6YoFfRJ[W'A=X[\Y:]Ԓ)uVōlT-ܣ: 椕tWVor07ipOqwӔ"7})o5$)A>|OUn8_ KwX3zsS|R¼nҧYbײ|d.2Uv&iD_4U+>޻H3{/G}kfHEo6X`[z;Kb78tHH[Ձo/E1c2K5&oJAI+oAܢʃ$Nr5YS68,$S>hnQeF`jt4Pe7(Ӫŧd.qv_3iJ<#YoFf#Z ͅx|Y|4›`jnIʙI4/&*< onnIʙIs8+L/&*7Vӿ@1䋎Lӓj[SJ|IK;Q=ܓMo+Vo/&*g%hnIʃiy\N:2JS>hnIʍEjշtHH-oӃ쌦iӔe0izQō謃lV BAL/&*`83oU斒\<I dy`,( LL `}S3%5y)Ʌ̒ZZJ!YQ$2<T ,NL.dp flΈy3%6dRra~5t/Nʇo0OʈI#HV DE̒kcg|4SoU4(( lfa=.U;7pQZ;zCe~aXSad*5IiFE3sƹ% G7XS朊R* A[y\Ïp|; Un-s'%7s1]F VMkBYnQeL^ -,4qQsTSLhy"3ޗ(l,W+HCY V0"I(@73%5z %qFn +]0\e\Z]z˝ Ecc3ċ$"< $&֥ _3rM6T|qf+ތXE.7ʪJ@Z Bɿ;E"ϭBӔ fd%90VRLFȗUo&gR/ѿU_^Lj +\ZU|TAgZsӔfxG<.3vyC1Z(`>oRoL6<j>45lfqm{ƑzXC' g2Mx NP8,#oUn-qǃ4c"W&g|RZVcSz^68sALlsȗE[U VpON ] Ҷk3Rb5o<Ԙp;Rv40fF`w;z]_"]DL mfjLF1xU^L[ALlq.Bb&aKqȗ@Q1b.8%(TLDjLFKhtx'fϚ($0[Y ,=e 1;+z5/"o5E';sRJdRraztVL,-|yNolk)7Ed,*HDyBkKe7$yA@2#3ċ$"< $';>h*a o,NL/&K})o5$'ERō4Uo2K o0&\p)+ X ;6ryYEP1ܢʘb%d൤1xxX $Lñ332 X ,Hh?;&\d @$H E[Un-877:\ҶX$ZלJi uljr#QQbs2IA=E';Bq{e]KsӪ%ץ`صFfG&n|d72IǃIZ R2H5$TD8q\Ͳ5L$Ƈ7 DCv Un-877̒N2eX5  b훍BzKe7$|ŭvƨ\).8V@FIwI14m <$ċ$"< c/&*g%-ibN:2J opopisUbe[WՊik oSb-h_UnwyZO_n)сiɊ6~׸ү M,Ԝ^z7JZ\#e`2K<$($倲H\ev̖`NL/|RWՊ7wV'.=k9s9s9s9s9s9s9s9s9ss9s9s9s9s9s9s9s9s9[Ѭ}m YR8C@ c2@ *\ʒ$ "Hf8v1X(TW:]qַ׺]r dᇂ5{*pyR2II9Ῡuʐ))hJjꬒioR0x:+ Y*m{ƳTD oR(@ *`@)uBViWUd40$H <Ĉ5TD 0ʇ`2< a1xӃ{½*NIH@,z @xq#O*@eC0UÌ`{*Fa僛p|+oU745}oIyG\k}/MYNsY]'$Ѵ.sS{ð wlf ^轣iM8uV𦌢r+!h,԰"I(CfK0jRraz!Y nI"3[]$Ѽ.xvTo(>&&;ZHELə$_M(: ₙH@8y2x޵,f**Ӫſoo1xU\xْ̔IɅ4'kdDP& \jNƁӿŧῘV̒N2m.QA~ow+!h, $X!dRra|T޴|irM0EP{*4ZӎsN87 ™\)KBzKR[/a^J[̒I+ӄVsPyH-2H@̖`NL/M9O;790SoNS4O WM@S* e@_5L@[* e@_5l@!AAAC+}WҐqkZBDMfn*uUoNpHh%o̕&&P/؁yɈ0R(*LL *&$]%K Xd12$Xv77Η[4a=%W2Jk}/y7:_)s@!HVyw P'|T(EN؉1ʚLNS,K5&l)z Uoͥ%Mh/VT {Q_[ ޵aU Ue@K$*Sb TJ\I Dd x=Ɉ0R(*LL *&$]%K XtM𰐵! & \Hd12$Xt,bCUy1*E .@I$"T`sHH'Ȃp;'kYƋUe@9^pe=j4ʀtI Ue@NRS6l7 Mt[]$Ѽ.xvTӔ e79,Q}oLMBvɓ2HxbG ֜ҝU,Ԝ^rUaNwI14oRrav{*py1*E%I "DċDd oRiE2ʕ0Tӿ~FKUaM,Ԝ_6_3irӿyH@s;_ 粣ſoo3$SKq_[r+!h, $X!dRra|T޴|irM0EP{*7֥ӎ $Se!=%- M0%uIftN9(T<$ @$ 8p)0 B!j]VfIƳʁR[̒oB*cT2H@?}pd"$dRrap)X8qS`83PvkX bmqa^}X$.fSyB ,֜s*Q_3rM&&<1 2HxbG jpk`()DBI,&C0&8;Z8tI*Mԝ/mU %IXm.IՉDžqg >oJuӢIRl85 s˘`L@G l2$+lb՝ab& ./usr/es/sbin/cluster/events/utils/cl_disk_availableste    #e adinorst$cfhklp"=IRS_bgmuvy'),-.:;ACDEGNOP[]w(/01FLMTUV{}&*23BHKqx|!%+45?\69@JWYz78<>Xj^Q (QD"",L`4\T(*@X,ÐsX"v @X XId\U #r]aX \^ZhY慮W rL(r'a@uL̤m\L\6=l ^Ǚ]~H9t\Ră +UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUR]b-ak6caDt72|JP+$\R])@$^7LxTFO0$‰ZJ0cxLnȕu!g#kl0$‰_8sBf|gYf#{ %a˥#[ g 51gA/akÃ1$ۦ W9,NsA=bI[wynhZ1o#r$\ 1+q˦N]~@$tƒLg¡7+R0F]$dmunW\aA-ϝG/+43Hkӗ45FAз\3:t2_:0yk| Q++PΜ`uDrxr]$."$(LT@`6|6E:S Ӓ  H %:S~Ig;8ܠ^'^V0._@frNۤO]$eh98ܠ^'^V0._A(?Ȳv'Jr~Ig=8ܠ^'^V0.".   t)?$\cBr +Hy&6Nw?:3c۝V"WJWNY$]qP5t"D  8J213B&9t,L 05D A @]$@Xb tAa5D=H@" PD\ ".$tJH20"#$@L 1t!zNFK:nAst)[vi:S~IlI.ٝŠҔƱ9CJPн-r~Ǚʡ OkFVt'qea.yh2{#{=Q+yÚO]$e +^YQ+d+(^Ʊ9v=]$wdoM6qyOrI.vh^Ʊ9v=y^4HG21aҕdb+UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURyw7Af#d#3)܉ %zKW<`&  Y6Hw"l0$‰X AP `0 熁Ze;Myw+INǚ/H8Be;k !g#q~Ig:pQ+ʡ Ok1rbR;-τvH~k]$d$8rl9 ;JRa9&JM#8hl$vI5,ֺHᤱ4JlyCKTз_/k8(ֺH-"aI=мD %{]$ehsB06{v5H3(^{\y|-_iRqD>Kk0㯜2t ^8Nsc{]$vهyK:X rL(֯abIsB7FA9 h_&6F5=ܤ/=<{ZüE慖h^U(bKWi:S~UJ{]$eKebs%yts֥  +t<БT!)L<4t 9"g8Z"+ԢBD $J*%4)4$UJi:S*%4)fJ ,V熁|6"x Z~k]$qa<JRP9t%&ٌ4H8jYtARP9t; ?{ ^H^ ܘw_W-_kvHろkPp:S'/)/,"aIHLy&HL<5):S1@q&H-GJW(Q~I rL(}J =P|Ќ CbIe\bߵFK_/=@TmBܮ&/ d ʸſIҟHAм[|K9ֺHwP0"ZKWz.'%`Ѐσd vهkW-_$L'$]\Eɑ&DPjlytx֢BD $_b|"[f  q\?fHH#mqh^0㯑tӄg-yqt3l6sdJܮaW-_?M?PDphk慽jU-JKN%|dnæ]$gfHH =bs~PZ A?t罅tt 慿tؒFvdȈ';rԪZH"#%&ٌ4K K56F<4)#9 .#("N/e_`$ 99oZKR䄉Ȉ';4>h:[,ᔽ8"d9jW(sRf#|؍QZKR994/cX;(g8=y^p҄ӖCJWٟc|8en{-O и-J>X!|,/Jq$ (dEib@ H"8l0XRԥM zԥԥsH$g ';8iř!+ m\L\++mJU@#pNsB޵)_)_kǐۦrdL"rc.y]X-JW~txrIPFrЍAٖsÖ+{nN*K,O)}ʠ)_)_J<V*ҕJW-JWz`r /)Cl Ba̡ya&v=Hr-JW(*EJJ9"i@ Pc".*,"Eibc9 .";4`8S4DV(-JlkRr{&.ܮyȊH "(K56F<ֺHjD !W-_كBnW>Ąfu_7H9",.Lh^Ʊ9yN.,șXp8e#lGb)T)E#lEjW@#pNsB޵)T)Am9pӋ2&rsHxY<¬sÖ*v:`.pN[8q_~F؋WkΟ'<[WAм-;;ؖ|'FD9jqi<~8%+6`$ &J,sK45sB޵(G7bxCl^Qs2tEib@ H"B$a@_B޵)T)A.q)]$\{q 8"d;aᔍ7+ԥRԥ_8X^! zԥRԥ"';!L9N.,ș˾E:#ˤO)g7&\ Z-䓊4,痝-JU~BygByK.UJJWi+ҕJU-JPnqu˰96y}0fPp;ܤm\L\*!<n-r ~:&Dr9%ـIt_< D!急Fh< D,xh[x-K~fIǏh[֪_~ "(HPDD@\X0@HtI 7+Z񹗋ZiJ֪_~8*G5Dܖ<0 5!C䭹(B(?"$7+0jU-J9"r91Lf "( ,L,0 5+R('N?3]&ĜNǏ,/慽jU-_><>6ƙc~8(ֺHτrEdq3*9Iܮx%`k]$VFQ0N'4-_kW& x ' 9oZHP+4`8P?1[xܮ`ܮ&/>fuD8vhqQapk]$Vܵx֡1|-ӌI+d# mYtbidN>7+4u/4%L9)9o_/?.pKa9&JkgM#8^gq;|ܮ&,3l9@9qB P!B`qQR£80B!KH /q2sB'²P-Z"48<+KL۞?pjRǚ6-w:Sύb?03W_ fuģli =۾^yx rr6թJQ0N'/@AkkRKN8I ;)q1ymиl;#aY9n Ḟ-JU/ 4q O CMk('@#62q;?0CJl6'˽mm4r;8ܮaRjQt[f&EjTep@R{͌`NǏpC䉥 8Fc baX~k]$Cf fEj=W/×x62q9a5uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]b-aQ4 k .<=B1o٘M@3JGdyw⑗<]$dR|$=3BIg:LǍ$R}yqH˞WA2 B&Q+  tWJWY'qӌI+3b6M32ț 10V]b1*\rQ4KQk$^?46HO8B#9j.M# I H` kU-UrG21aBEɦ fkMkW+Z|هkŘXddБri6ƇNG21aBEɦ '#ɡ"dm 3BEɵD&)UKA2h:Y45ֵUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURu-a,mat% "1Ř~̫[He 7sY鮽Q+].̼_ F^/΃o>0-Ec:1].F%KAk7R t]x:0yk|-uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]M~YlZe;$ Cb609#8B"@rB⢤GcqTcCX rr3)ܮ{]$WIKg.8gy˜2F{]$vcaD(gw+ ؚqqs'kkj#9B P!B`qQR¸cCX -G$NB^8т" @Fs+f#{]$vهat0D\TXD)IDL`|e*Rτv5=>Gmk#9!1xO?4$ƦƆB޿ܿ3tw<А<'kMa'R$L'$]O=JXۦq#4-Y?t$mZpNh^#oƱ9s䭾qP'3t _~I/d9^7-TɆ,NǏ Ɔ4-W$L'$]O΃oH/-l|'o4/McX9rVfdXZq8"&l \;-xkˤ4-2nh qtr^wA*>Gmky#q6Ʊ9C8Olkq k=Zcl9"+ !M,$4--qD6頿4/kǷ|' yO̼_aȇ-TɆ,NǏ Ɔ4-W/<`u^ny^h^HH :ig1$4Ym#dm_^/__Zτp@!XCpax-N?,lk]$qh[[5G{ \P,Gq~Iu]9Ô-^ku1*^[ \ЃwtKM 4/MC{ ^|# ˥)_"馓khgB67|#JW󸽉e &~ZJS]$w὇ kWZꪪk<ΛX#,$w+0H*%6HrFqƄEB EEH Ǐ Ɔs@w+{ҨBS#U紪ǚ _]$G-Ty2+98O0 ^8Hkn >#isD;4=PIqT!)/)G(+qg 9ь#$ ;42W{ҨBSkQ!"D-jJ4f0#HfG aI@MxPZrPib<4 &MZԯ׀QtE+s&? ~$\L "N3tUJytZZi{J O5+PL9a5uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT^,YcuAEM'[r4 7y|{;ؖPhA3~7+- Ikcۡo:<#mkune?k\ap~ _&?aV9鮔^@: &?aV9鮵׈ĩ{-osB ׆A.4.<н6M -y4/.NhA# |{9)_%.䛹kj])Mt׆T83A ]k:nYc -2a!eBF7!" &  ,*;?;` 3)ܮyYG-"9 9܇ _]$G-Ty2+98O0 ^8Hkn >#isD9 9ܳZ#9 9ܮ&.C @nvXτqZEV+9 9ܷ?ZHH`-jtDnWֺHB Z|-j4,crk XMk]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU.׋0Xm^A Bq@w"馓klNq|/bYBJ{4 aᜅ|#b?fI͏nR6wOq.h\l9u̼_ 1xmykj]xJ?ܮ&/\ЃwtKM 4/MC{ ^|#x;tIܵ43y{ou>t+^IJܓw?-sB ]kJBG#rsB ŘZֺRdmw?NwosBH὇ tt5G{ ^qPH%u˼eF،nXIkW<`&   ,R6crqB P!B`qQR£8\92甍ܳMkZEWR6crh-!g#@<%thZHA eWrsq̞`$@pyN4 KsAn|#G ;lHviH58⑶#n8lb9#2:1sDGfUX,cr nA<ֺHcr'@#4cr' ?aax4-Q̕攍ܷ=jkRHke%`k]$V_ ,M32$$H@bӑ̌XddВla1愓̌XddВla18Вr9 M&4 5D&-j$C _,6Hv<HH#ɡ$|cC #ɡ$|cAq#s#4$#oLh' kMjZ֯ ZiH56F<ֺH_ Uɇ-j̼_r1= kֺfBb60^A Bq@w"馓kn<оI=ϝK(]Os4 f#{6H0$‰Z]yxAc񹗋ό sB4 ֺ/ehAZh:[ۦǚɡ>ҔtIܵ43y{ou>t+^IJܓw?-sB ]k);ZÊh5D+uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]M ,YlZe;$ CBb609#8B"@rB⢤GcqTcCX rre;,mckZEWYlAkk@4&ZEy'9@ [-sB 4<;]$p .pӸ4fb61Iqf"08-@[Ylk]$VܘrkZꪪuakQf#d"MQ+]ktU-6Hak sstw6N6=b*h^ӌ;s\ᮔF؎Ǚr.eb۵GmqךIaM'Xpт" LֺHj0@<@a!bRB޵)jM@N·mCً|M/%j&D]6w:cG4`8Qjܵ?JMneo.Y#o$af慿 \s7<6 "cZ񹗋_ZK9 #vH^VpF؏4/b[m;{mh_3)rtx,.Öq@p@`<  9"INÒ/_мD'h:YJI&`ZM €/H2qPtsb _  _~6ay_4.0/7>Üm\6KmqײXQ)  :2rr;惥G.r6vKнm̧r_~ABGtaK9{YhF'g8?E3)܇/9 99 9q1{i5ܿ s2#q1r_,I+K*q/aY~R6xܮ&.[ȱ$%Ylo|b78aIfh" ,V熁ᆉ03׎ p]$fe;V5T8<PZ~234m bз32.(ܿܵ~23ķaKU-G2W#o_:N?1# ZINǎ$$H@`֛"ĒBDa!"D@I֥5FfSD֥8dg ~h" ,V熁簵Z# 0 ~?k$ F,2;.&`/9oZKRtиpI4x= 3b6d3(^z 1{H㘖.&ARjWXrNǚ9(4[׏M9 H|O1".#0_?@'59'Jx! zԥ5FfSあC$H@_jRjRBG>@쳎l3}r"g1EmC;IJU-JQ<ГXrN0 kRh1h4x<a,M;7 1a/ Xq(sB޵)_tx`4 )T 4/ķ}q3ۏґǕcy[-JU-_nxh{ ^?i8v$\"0'XxhX4-W]$fe;8 -JQZ{ZR_tx$D@ rԣܵᅭJķc R$&'MCkZϑpJķc  9_⑼"nHH%j8֥5FfS$@rq!"DZEhR#3)Ą""@Lr$$HDDƱ9d&H֥5FfSHD WJ$6΃oA]itq̝aHqdmzԪldmό sBi7 4/MskR9h@)zVL3tmdCuwo.JjUmK9/4/Mρ18$~lJPٵZ\# I3h9{JV ΃oA]JϞIjUcv\ᔾaͰJqDX qakG&`~IIdA,Xdv$\L^45sB޵+(qh9#/;zg)h0qmHfPb"ͷ1,\L\ԯ)4rPib<4 =#o",'s$3 %qbE ~$\FakR~23NkXrNCJķcHR)ZԥRԥ$|#gf:&D8cp8ۦJ\v'qZZM8y&)` ֥)"b h-)y\4Y2Xvcinc˞æ^7P8+慽jR#3)h@(9js9h^IN|g>0-#+DžO+s0qX qak=єÇċF?+O rP;慽jķcxJ=Rrԣܵra=_/=BHY+BهxZ";t rL(/sKJMۦ4/J\sh^0jL<84=ɗ rL(Ib#J't| 2h_)eIg)e89%&ٌ4H8jYtIb8h3 2 Ɔh[ֵRb<о7+caDvI"]+qEN9j^k]$fe;$#"B;l6E%i/&ȱ$!S{ _H56F<ֺHwIZ1MIҞh1|/֥RJyT!)t|#{n)s5FAdτtRs2wT(l]<ֺHJjpIҘBMN :SjpIҞ8&hI!5--?d#4 sB4 8ÛqN卡sBȱ$-8딜򻥧 I~23"ĒĽcCX4-)b1fܳNBF7,|Z#RsRth^HDIe {WcX!'qӌI+lJZK$ņFM &hJL#4$#oLh<4%&I M&4 5D'#b@-A+@̜s0HkĒu{]$wKa9&J×KZHH"$jU-JJ %gO ';kx +NwGI\';Ԫ_ds#4$#oLhy(F,22hI6F0xhJ29 M&4 5D' _/?C3A+RK2$_H56F<ֺHwI/×iJ֪jн8Z";tx9&J6%~'gj{慿-y\nxݭU`0y>,ɺh^I媖JMh]$pԳZ#f)e kTз_t-f-l> ~7y{>6t \VZHP+ 'hqQap~{l>۵GmqךIaM'Xpт" LֺHj:^֣ܵRiϞ7z/4/kbv{m 8딲vH2T^k]$fe;_kZKR#gA縩x4/mvHl{rFOa9&J֥RԢFf3Z"*W!g#x"jU-JqBRmD#I4#0M/ hk慽jW+t-aI7+ m\L\KR)b1f$HDvk]$pjW鹩:S8ԝ)QRr ZT(?$˧BIg9w⑗G21aBI6Ƃx&H !"D0jU-JJ %gO$$HIe {WcX!'qӌI+lJTHF,22hI6F0BŇXddВla18Гs#4$#oLh' kO-j$$Hx^*% ȈtFYC<';f|#tRs k9jU/29 M&4<Дds#4$#oLh<4%ņFM & f" Z֥RԠĠVty![]$e3my]bsg:LN0:'<,I+H9jU/L#4$#oLhy)2LXddВla18Д&F,22hI6F0O4$IZ"DakR@B rL(t6 צ ̡yqm-8JN(<оqW=mtfuR΁k֥W>;A_4/}tfu,cL10V8;Z_tݶ\ᔼF6tحϚΛlnRτVWBه{,yÕqM 0jU~ rL(4-lnR 4-m+rԪZh!)6aGmtRk ’̛𠵭Jitt7+yT!)do9mrd˃>B _Ray^Ͷa^X7+nPh\w+^.y\!>A|# #K˽Q+Z-J#9#n7,x(%+ `kRl$vI5,ҨBSkKATɗP^45sB޵+#jlyt4"+"CKRtM/.りF،nY6FfSҨBSkP"$+DVD^sB޵+yHxT^–{~{Jdg4"(D $(L.**@XWU hke_;9`XF6ZKdk0?4";4`8S4"+mRUJmt)jS`ZԪZTos]$C6=f#{ %kRjQf#mtZґ7<~{`0 _BRmD#I4#0M/ hk慽jW-Jо7+-R0FߗW %{KdaH̤m֥ԯ#jlyt5+Rr֯_!$D@#`4 ,-kR ""yIl*|%m *%=2 \s yO,otcaD3c ~R6v<Ԫrd9kR1mk֥VF؏4/b?c0$‰X!tKg$1%U^|#rlXg2)#8kA Ic ;kk]$pX ¥6LC_ܳSdmķyt֥_ _- s ʡ Okh^U-]$WLyYbBSkBEPIZ"(@RԠO2~8*X#,БT!)FA<ֺH "Kq DKVsB޿Z惞W+ 7<6類+BIrEɯInVнMAsrFnCbRPIittm*6y|nWW rL(PD3OBߍVb7 lKk rL(sBH 1KlhrqiH? =J°Zl$vI5,ҨBSkKATɗP^45sB޿#9,I+K? KV45sBeF،nY#lF7,Ӑ56F<ҨBSk-JWnjNǎ575'JyrJWXmR6cr9 9ܳSdm*%6HFh (з ~|#PxfR6\о7+_%m 䋓惥Gcە4->ny{#n7!S{ Un3acmr<4/b9|l<)r__W7<4/*%=:qJ=f"__4/-; 10WK^ۗL1ݰ}h[ _I)k]$Rt,m`&hI!1޿w+BSIҘBEP08ҨBSIҞ8&hH"_`~23R0FrǏbRhk慿(4惥rWaH+嘍B# %ae1m,mc5?~234f0#HfG %*Sd(/9o_FsSdXV<~8hk慿#lF7,ґ#iY嚛#ok]$pjRsRt#w 532 qOt֥'rL8l.;$$HhGcۡ>.SZKR%&ٌ4H8jYtARP9t*:2f |#@M'ܖ4i:Sh nxhM#o",'JVk",'JVdRðċ ZԢ7ؔ)j>ʡ M;LCl~e8e#lGc/9MkWb?0jWK9{6هybRܮ&-C; qԯW)OtBHRa9&J֥~ґ7<~{`0 _kA Ic ;kiT!)G %*Sd(/9oZH56F<ֺHwUJmtZ!急_:|ɗE#lF7,|Z#3)iT!)D(vZ"X+"X/ 9oZ`<*q/aKR=R=Rʡ M'Jc BN8J M'Jx"BSkMjS`ZԪy*^7 gݮ!ܳaIEfEjSFsJFnXQJV6֥kA Ic ;kk]$pX ¥6LC_?q1x%FsBcaDitq̝)иԯ#jlyt5+Rr \rrkZꪪtfd]$I 9'Lu,:n6 4/ks ^]0 ~L3c&`\1r)07Nv].F%KA# 8pf]$@@]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU-gyt$"MQ:fV_̧rA0`@XHxd]$I 9'L AP `0 熁W=#񆉘y1G K58h3hkАD^Ǐš" ]$A1L:0hiB޿' sABG>ّНbXF -xNkr^Yl|#"0-}4/N6Il0$‰^FI2v܍uhr̼_{GiIc ;kk]$pX ¥6LC‰_8e"# 5!C?IϰJ-T4WAxFQ+ a^k]$vcaD;ĐdZ6t:n;4`8S5+=҅;' rxyf=n;˦NۍhsBM/.BJsiv%FAA,(J\ٵGt{딙$eY*8rb<70ș0)$EkZꪪu? ϵֺZe;".*,"hHTBk98Fx< 8@$ dQyN /7$ 9"enddؒAcЈ(\0ha\xr*hhC熁1q@ YZH0$ #7<`u^n 44dc-` $&&@HyJW_B%f-ӌI*ardE$$ֹ .0 ,'రt<()JW(UJ{]$eKi\kNDž)J H˜2coa9&J֛1)Jn`uW.pzKU(bYE(˜6}씠s7 >e; $$HHH2Ň@"=KrIe//+o8gA$BH(gq =Zs$/s`vsB5㽅3VZ=٤O2h2{q@|db#'84ۗMtNsڜt+ņsfSkAs9^瘂67 HA›DP@1R"X-KU-A$|nP/,ǰ ^|ᔋW+#.Iϵg h4L 0)$M22 鵓7(MڿardE$$<(4RrrԪZ+4/>u[u[<I<cA#qtvhqQaphDW6#kRrk/4.#neab7ȼoGtuN({vcaD(mt& rL(GZKQrxyXzNK 4&@Iph@(LT@`IEp1R"K98Fxp8PyE  ".$JV_zbI[sq)u3dJ-oFݶм,ǷIϵ"(HyJVͬxзU]$eJڵ;9`H0D\TXD) ~rD"MQ+k;4`8Qj9#9 $&&@K?=JCbI[vW\ md:{ CZA2C6HrrDȃNܠ^'Y6t\ h@a,т" E6NYnW1$\mrxyXr_/GklFɵD 10WI宖ǵ+ϑvIe+o6kt6F= Ss#Q! ,l]$fe;6caD56F<HH Б9 #oMmkJ$;k2|5Y#o愀*r9 (Ob6M32ț 10W#oHH2Вr9 #oMmkJH;k2|5Y#o愀+s#Q! ,l]$fe;6caD56FֺX[ԯ$"Kk2|5Y#o愀,&F,22A1 _f#d#3)܉ %y6If21aSdm }n?_cp6N[-2% 7dfFfk0p_]$Gk XٌFf3Z" atAȊT'>yX@a,   ln HL\L  H $L.D\  H $'>yph@(LT@`q7$&. &„H  &DWBBbEtAa!AW+ HL\L  H $L.D\CN.|@pZjP8B?E^V0.4<>lsGk]$B-_>y"Ѐ8Pp"`r$Ȋ~@HxPf\@<0D\ ".$L.DU_?@'4\EʼnH~>i(x! zԠBGct'[=٘dL6"R\\ymt& rL(39tZr>>ֻJV_zܠ^'^V0.R򸹉$d?9 9% #-6JV@f=N}|#Gs@u Q2M$aIg5+lk=],?md:{ qMh^IsAak'>KE8E$&I[FsF"(K?K44! zτqR"ap$."$(LT@`! Q".Y;rxd˧"  #0D\TXD(I#9 $&&@K?=JC2 鵓7(Ly h9EEA‹=]Ξ XrnP/ lu$+_Zb՝ab&7./usr/es/sbin/cluster/events/utils/cl_export_fs   e #ainorst $=_cdfhlpu"-./:AENORSTbgmvxy&(),4GILMP[]w'*0123;BCFHUVXk|+DY\q{}!6?KWz7<>^j%59@J8QpbDHR$*PH@B$.DAB);٬>Mw3q伌kIr+oD_,8ðP a@$P  W_ Zs\ڃȉ*DBJ H0"D(TAI\eօ8S|wY}`\fs}mMy`L@Lxx-gIDzkJٻh=zMtRV  G kĠƖ&'&.u;\D'`₀9Q|F5k4nޚЍJl  8]ȮVV2KSk% ƸF:enLnj2M{] &ҳu3qr 0Y5FW(oN*" қD&RE$LH  ]pZϺfCfw{5Y%:Q`@;C OY 9@pH (k\((((((((((((eֽY.!r4j[S^⬦NJB&Z|T|Ԧ.ǪЦHV"((((((((((((ٸ!Wd!(ȇ>*UPZ\((((((((((((ֹPLP2DˤL" "e%D5w0qq(\~P20Ps9s9s9s9s9s9s9s9s9s9s]j{\y[3UV{fww•5VB w#e4k#3,ք=xRY&h5J&9DƤ2rs9s9s9s9s9s9s9s9s9s9bp4 Z7ZZP$-[Z9s9s9s9s9s9s9s9s9s9sɼՐZrֹVgo]~Y;Jq;bUVG5w8Ѓ]M;&5^%zVp5wNQ5q ms\9s9s9s9s9s9s9s9s9s9sii*>gC0ցM 4  aa}o@ 4 -s9s9s9s9s9s9s9s9s9s9s]jzkg꒴kxRՂCvL[Ju굚,<֚o]5Y0湮Vgkܳ)t] bw1 _sL1]bSwJu|fw@ֻb;NY4b]2ɫi-As]feWЇ*V/5|֕+9JN@ׅ+]X/t;J٪ug뛃C`ׅ+]X/t;J٪ug뛃Cas]nM\jC"\ ,I!"$s9s9s9s9s9s9s9s9s9s涧X]qB $P!g.Db٤"=5٥nc٬at +,I!"$4Q-+ ŅV\i ` `֎dzIDzkJٻh=zMtf^h@b@1b H$ Db$(TA F ֖.DD B"b%.'.TD֊(H"ȪmkCp\%. JU e0@@\ZC{;؜R3)NI(fi\TW@ )@jEqBD#0\%DqJEbΫ\[(T9"#YmV m.ZA1@x$FftCf>1)փ+h;LBᡭV H lRȉJZF`n*ӺP ҳJuҳJu"3@PAdD7B)v]kՒ^3%/YQ{jfQ18_i%:ٻ!(F-8+ Szx@8LSJuZa<#pxO ًM~Χy+kt3N3,><)}V_Qy5٫RrxG~a5)#L>0ø+kt3N3,k>wd升qNӔUgjuZ㙺Zw:BQe3O%YUAbbS5`k@b%I$H$Htgi*SIi=0%N40jJgz˥r`8ħZk<.(,61)#a *] yDb H"$HX!4A`[`*+:qNA"DˤL"P$ "etb%I$H$H|XYZ733L11s}a(;K;pyvZ8ħZ7Y;Y3奯)8WeYU( iKs8ħTbkCFn'I .uU^v"gNF\kA=ogMh8ħTm]+8ħZ$u^UVS4`+fbA!bAAÇo Ц/$a(y1XJ p{&+ Fi- 8ħTo  ``+VS (&p@P݉5WB`3bpq0, \jq^l Z7IɊQ|s^^iV͇rҼ^j7/W;fVΜ%=io wKZw:rb@3Os葨RA-io JRcӓ&V޺qN%j}V;8ħQ=VSa(%7I77$a(Έ[nDBLkO=!Zw:rbG4KГ-8(gꑰZ#JuH/AZ `1R6 DbqN+A 7KГ-8x71)#aB1)#a g=6=6(Z{CWH)UՄTta(uZ6 N^WftH)HDqN1 8ħT( *] -,R6 o B bSFڬH2BIDKEcbbR"5&(vTDdULq31 *] ~,-dҶjhQ;J٪ k\bӃ؜R3)TjLƴH[ Y4־Ffk\y}L4b٩6' Oi. B&yOүa90y`wkm!iuֶi֘Sג/0s\Rf5U(1Ƌ;cZ ⢸1"afkeoV)ԙmFN4n1Rf5U+ަ"(1kkjfkj%#w>wJ ⢺kj%#w=q;cZ ŅU-=<=;mjӅ91;ZaNw\^ x*Uw›$ӼV}u%t(9QyEגqN2/5z ^$(T@"Er mz8Rf51g&X N&f+c3)E⢸&4fqg&XLQyo^jp0@2D$&3o];cZI0pfin,-Eq My(h LV8bĊAĒ" $$3o]$Za@8LRwI347iZs&fg&Xԙi6h9<.|Zt3wAUnw9"$$;ZTKůycI)>wJ+c"(Rx*5W$_@ I)0m?\Zyiz lJv/xR2qq18SiFfkjfL[5&c^2KSVr5hSi2RyijivbjLƽV<#w3Rf5yǛ|ڴsO=15\y}F|EqhFkjxO>\Zyi<#.|e3O_brNHDwUV CIMޡ݉.5BdswVS7 |I׬ ;RwݩԙZyI+M9FӬ1KϯUw›O?ЉZkư_ϮzIi=7ǫ—ӱMktRf5|y}Fy<ׅ#!uC/0}b v;z<^ ޼M<Zؔ#^>V t_~/!|^-<UdԙwN^:;w0^ZLתЧJ<fuZ!V4WŅ*+Lm1Tǜb 鮚֘Q*\(Ɋlſ*֓OM 2bi[4iop C[kݱd*UP $DHIv)4У&(vXW[+hM<#0*&F&(vR¹$_v1V]%g F1B $CWκdҶk7劃(T2"d(Ɋlr%%+XՃՃZ}xʽ+&5)XDjLƴo˳8LX~foN.p8{wSa0D#*iiƙiC|qQs+&9+FLP+f{x9""BHI1C½_s31Hzuaa}+&)4У&(vMii?'!p]𮬧FLP+fRՔ̹PF .T@HDLD ˕P iIѓ;DW@0H!$ABVa^ iWbpqqQ;DWa\h/dŧ*+$TP$G 3]qiѓ;DWɋv1bvOm\ZE䮅1C}8ʸm?v35)ެPsOsOd&5:hQ;J٦eʀ0fr>B"b%f\hkORM<2bh*( "$$;^xhQ;J٬+_AA<+8FѸ(ɊTc0fv4 B2b݌ikO?TW@$H4bI &!1hXf,-N&(vR27cO?F}Ki{4A<`ϥNyԔ@ՂoNgVה})tiJ6EtDJ$Ab(bX_K4=X5E^zϦཀྵ]+&4(Ɋlv~/;zR =VG٩ELmNF10fv4_1Cs3130;zc&(v19*Et(ɊLAMp0T4b d& Z{yUУ&(vZϦb=+&yWμ+zaM7|"9]5Z %K1CiZ*+FLP+fQEZ(3⢺Rd-01cbhCI|XYkO=<fq<ޝ\%)*p3NsA<4`0TGS#;bTZ*#38Ә%C|FLP+fL)/Z*֓OM 2bi[4(fp CZV-FLP_[E rDDkғOM 2bi[5z ((5+hM<#0*&F&(vR¹$_v1kO=5^FpH c*P@2D0^a{.|FLP+fp~X8pJ"&KBV4"\"YKO>B.,ՃOm??Q;Jٮv4u,wZ\ba{ii鮒3A (T2"da]+&7NwJuУ&(v@DFh ( L- 2bi[4"\"YKObKK4``%k\Z`V3aywZ3J/bp|N8ħZuY٥Zr/5c91XJ!⦛W1}.e޻7];y%:zwGyuN)zԔm?}qA 5N*f;똔qAb)4^4TWbb H$36R0v 06jQ(4͚{l}1LtUhƵgfk`*+8ȃD$XBD $(D@,f,,ڭqo#"VbAD,\R""\!&fg&XE"ȉȃD$XBD $(DA$7\h@ ftf"L;­Zja\`9p 4` =0kU[qQ\h Xh$(T$ ŅU-,\4HE*D@BKm 69gi(&DLU[qQ\h .D$I"" I qBDXXYZ%FEȃD$XBD $(Pȓ3,"RBdD obAD,\R"(I"d4fq,ΌAbIxU1¹so]@h@${`֫ ⢸(&DL,,ڭqobEBB I E(h"W$T$"$i!-S392ƎRBdD AbIxUKS !V4WŅU-YPbp4mKocU,\4HE*D@BKPԳcX5iUY&,l?JuwU8S`e&g%/Ufy9Vò`ܢތħZuZf)ׅNH LBR^\TWA1BKYXYZ7^_JҲޜYNN/}+) }.+¹5ү0Jo3i')!hXh$(T$Y`}* T6rRW\5sFw!=lw^a{YMl|Vye7z\TWbAD,\R""\ 3E`oh|U=3L@@@2"daPbHrHHP$3^a{JfNR BbLJoSW}* Jo3|^o*^v,sOs](@N@cI(&DL}/@pʳ9xa"e .v]kɃqœe^vf,^-&WSR׺UF٦%7JҲHE;]92Wc5W@r "I.PI .@ R͏+ >kW^VSyӔX/mAE!&fa8D΁!"A1BK*P@2MkCk0]My+u`+fg׍ڝe1)9wV^Y'%w:BQ懶^l3O;1)ULX0t@vjF|N2Mk$X,\BB%e  .HH&(PtAW`W\k!kC)INL[zW׫i[5L^ݩ]bS8p湪zx"9b,]Ihz-TP,]ta(%:mKHLPRD8ħTnUZ&+ E xת%:79UhSJuogebS¹!F+@,TTzv@XX`k[qQ\l "DafkOs~!uqN^e>^l֬k%:V W;)7תװגVxF'iڐ95q45n6bS4RV K6 bSQyioUP# Vo9M5YO׫i[5=V1)֚^qf2ZUa(YMҖU?NF>*k69⢸Y%:oUEsb*Z`+fٜ5\ q{8ħ[P;תɊQi:}bS5`x_5s3}V_&+ F*&+ F-Fɕ$ӼY5u)Uzuebi/o UWƀ 8ħTooV1)%DbqN+%ab  *\@"H[7#7+ezﳌJuV Ҷi1I;:fׄmo. .#ydP;8ħTn!gDYIu 5WbSK7A3)qN788ħTn7I5o ׯ rW׫)}Hz^vX1XJ 1XJ Ç7]hS`nbA<%V8ps争IQ(ZkKB1)xFpe<2`g ؜#Ut!6'3W!\jq^l Z7IɊQ|s^^iV͇rҼ^j7/M$zzϤ͇ft9Ua(s1)INL[zW%:bi)ZG7VSa(Q)1XJ4oooIQϤ͢ io UYLVu'#pR3>B}nc 751;^nNLV^%o@p`F`1͂@@3<l==6UDU^LVR(ZkKBLVfƪ `1 oEt$a(裌0 U-selԍ"gױ;V1#ɊQo&+ E-5&+ G \jq ⢺btQV1Z7"f2Z1XJ:r_V(fUk%P ֖%+q#W ⢺ta(E1 Uk%|XXqoC3N|}mNLV^7's3|#u٧0LV7&+ FB6.%!&+ DcՃԔmJ6`]qo z lJvl*f]s8ϯ oNuqNr.šr2N_gjpUJus݈y!(B&ug#]V1)֚^7 ၘD1 .Y x,45Z-EsFV6%;6 3a}.]gׅ7V^{8ħ[PsNBSzB^nHJ4UL;LuZi*37VSՠ/t  .H$Q\b f8,f,-h 'o 7IFe=Z B I7TW1h3a 3 Noo %s%`SZ-Wsw:BQ-#W9+ I8ʽaNVΝbS&+ D;Es4_&+ GgQWm}MmfW@~,,qio g9*U^ޤ"gNK-=7s(ZkKZa]6kP5PPִ7@΀mgӪכ:5.1)wQN.LͿ;8ħ^LV476.%"1غRbhnDP7s ⢸NR,,qii?Wgrv'v ښkZm7 7\Z{yU)›6%:;عJS|︼vU;S׬L&+ GzG476.%"1غRbh3h3c781Uzz!:r4isbIQ(ZkKl])1XJ4tٮ5@joEq'B6.%bCGՂCV*rbh8ħUioPr(fCGՂCV*&+ Fta(ioqN l#bIQoPr(f ၚAGaK (T2"da]bSDfRȉVoEt $Tmz͛ŅVr%%[kXȂU9O|T—lfeooOs~ >&fZ475*& >&fs4 &DLՃTm"$$L"I .+e4h1iaG$Ӽ7<^[ѕFQ6XQwI34&X"$$L"I /(T2"d9 .DD@A1B kꞗ$+c2b՝ab&c2./usr/es/sbin/cluster/events/utils/cl_fence_vg#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_fence_vg.sh 1.22 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2007,2011 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_fence_vg.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: hacmp.events # # Name: # cl_fence_vg.sh # # # Description: # # Perform any fencing operations associated with CRITICAL volume # groups, in response to a node_down event. A CRITICAL volume group is # one that has been so configured. The implication of "CRITICAL" is # that in the event of a potential cluster partition, some drastic # action must be taken by a node that does not retain access to a quorum # of disks in the volume group. # # The expected use of CRITICAL volume groups is in "concurrent" resource # groups, to hold information critical to coordinating application servers # across the cluster. # # # Function: # # Find those CRITICAL volume groups accessed by both the local # node and the node on which the event occurred. If a given volume # group is marked as CRITICAL, check to see if this node can access # a quorum of disks. If it cannot, it is fenced away from that # volume group. # # The actual fencing operation is performed by LVM. This forces off the # volume group, in the same fashion as would happen if the volume group # lost quorum. # # Additionally, CAA fencing is used to make the disks inaccessable. # # Further processing is then based on the configured monitor action, if # any, for this volume group, as saved in HACMPmonitor. Possible # choices are nothing, invoke a notification method, take the resource # group offline, shut down cluster services on this node, and halt the # node. # # # Input: # # EVENTNODE is the HACMP node name of the failed node # # LOCALNODENAME is the HACMP node name of the current node # # # Environment: # # use is made of HACMPadapter, HACMPresource, HACMPmonitor, HACMPgroup, # CuDeP # # # Return Values: # 0 success # 1 failure # # Questions? Comments? Expressions of Astonishment? mailto:hafeedbk@us.ibm.com # ############################################################################### ############################################################################### # # # Function: vg_fence_action # # Take the configured action from the HACMPmonitor class for a volume # group # # # Input: # # Volume group name # # # Output: # # None # # ############################################################################### function vg_fence_action { PS4_FUNC="vg_fence_action" [[ $VERBOSE_LOGGING == high ]] && set -x typeset VG VG=$1 integer rc=0 typeset RG=$(clodmget -q"value = $VG" -f group -n HACMPresource) # : At this point, we have looked at all the disks in : this volume group and do not retain access to a sufficient number : of them. Fence out access to the volume group. # cl_forceoff_vg $VG rc=$? if (( 0 == $rc )) then cl_echo 10410 "Fenced volume group $VG away from node $LOCALNODENAME" $VG $LOCALNODENAME else cl_log 10510 "$PROGNAME: Volume group $VG could not be fenced away from node $LOCALNODENAME" $PROGNAME $VG $LOCALNODENAME fi # : Do a CAA fence, too. Effectively mark the disks as failed. # cl_set_vg_fence_height $VG "ff" if (( 0 != $rc )) then cl_log 10511 "$PROGNAME: Volume group $VG fence height could not be set to FENCE_FAIL" $PROGNAME $VG FENCE_FAIL fi # : Now, find the action configured for loss of this volume group # action="" monitor=$(clodmget -q "name = RESOURCE_TO_MONITOR and type = CRITICAL_VG and value = $VG" -f monitor -n HACMPmonitor) if [[ -z $monitor ]] # migration - allow for earlier formulation then monitor=$(clodmget -q "name = RESOURCE_TO_MONITOR and value = $VG" -f monitor -n HACMPmonitor) fi if [[ -n $monitor ]] then # : Monitor $monitor is configured for this volume group. Check : to see what action it calls for # action=$(clodmget -q "monitor = $monitor and name = FAILURE_ACTION and type = CRITICAL_VG" -f value -n HACMPmonitor) if [[ -z $action ]] # migration - allow for earlier formulation then action=$(clodmget -q "monitor like '*$VG' and name = FAILURE_ACTION" -f value -n HACMPmonitor) fi # : If there is a notification method, always run that, even if : other actions are specified. This allows the specification of : both a notification mechanism, and a specific action # notify_method=$(clodmget -q "monitor = $monitor and type = CRITICAL_VG and name = NOTIFY_METHOD" -f value -n HACMPmonitor) if [[ -z $notify_method ]] # migration - allow for earlier formulation then notify_method=$(clodmget -q "monitor like '*$VG' and name = NOTIFY_METHOD" -f value -n HACMPmonitor) fi if [[ -n $notify_method ]] then cl_echo 10411 "Calling notify method $notify_method for loss of quorum on volume group $VG in resource group $RG" $notify_method $VG $RG # : Call the notification method, $notify_method, backgrounded to : avoid dealing with hangs, errors, etc. # $notify_method & fi fi # : Perform the action $action # if [[ -z $action ]] then # : No action has been set. Halt the node as the default action # cl_echo 10414 "Halting $LOCALNODENAME due to loss of quorum on volume group $VG" $LOCALNODENAME $VG clexit.rc clstrmgrES elif [[ $action == "fence" || $action == "notify" ]] then # : This has already been done so as above we do nothing # elif [[ $action == "fallover" ]] then # : The expected response to loss of quorum on $VG is to take : resource group $RG offline # cl_echo 10412 "Taking resource group $RG offline due to loss of quorum on volume group $VG" $RG $VG # : Generate a request to the cluster manager to take the resource : group offline on this node. # Note simplistic coding below # does not handle child/parent or location dependencies # GROUP_ID=$(clodmget -q "group = $RG" -f id -n HACMPgroup) USER_RG_OFFLINE="3" TARGET_HANDLE=$(clhandle | cut -f1 -d' ') SET_POL="1" PERSISTENT="0" SITE_OVERRIDE="0" clRMupdate user_rg_move $GROUP_ID $USER_RG_OFFLINE $TARGET_HANDLE $SET_POL $PERSISTENT $SITE_OVERRIDE elif [[ $action == "shutdown" ]] then # : The expected response to loss of quorum on $VG is to take down : HACMP on this node # cl_echo 10413 "Stopping PowerHA SystemMirror on $LOCALNODENAME due to loss of quorum on volume group $VG" $LOCALNODENAME $VG clstop -g -s -N elif [[ $action == "halt" ]] then # : The expected response to loss of quorum on $VG is to halt the : node. Use clexit.rc to log and drive that action # cl_echo 10414 "Halting $LOCALNODENAME due to loss of quorum on volume group $VG" $LOCALNODENAME $VG clexit.rc clstrmgrES fi } ############################################################################### # # # Function: vg_fence_check # # Check to see if a quorum of disks are accessable in a given volume group # # # Input: # # Volume group name # # Output: # # return code 0 - quorum accessable # return code 1 - quorum not accessable # # ############################################################################### function vg_fence_check { PS4_FUNC="vg_fence_check" [[ $VERBOSE_LOGGING == high ]] && set -x typeset VG=$1 integer quorum=0 integer total_vg_disks=0 integer present=0 typeset RG=$(clodmget -q"value = $VG" -f group -n HACMPresource) # : Find all the disks in volume group $VG - space separated list # vg_disks=$(print "$lspv_out" | grep -w $VG | cut -f1 -d' ' | paste -s -d' ' - ) total_vg_disks=$(print $vg_disks | wc -w) # : Compute the quorum for $VG - this is "one more than half" of the : disks in the volume group # quorum=$(( (total_vg_disks+2)/2 )) # : Check each disk in the volume group to see if it : is still accessable # present=0 for vg_disk in $vg_disks do # : Check to see if disk $vg_disk is still : accessable - can we read the PVID of the disk # if cl_querypv -q $vg_disk then if (( ++present >= quorum )) then # : We are able to access a quorum - $quorum - of disks : disks in volume group $VG. Return success for this : volume group # return 0 fi else # : Disk $vg_disk is inaccessable. One : more that counts against achieving quorum. # cl_echo 10512 "$PROGNAME: Unable to access disk $vg_disk in volume group $VG in resource group $RG shared with node $EVENTNODE" $PROGNAME $vg_disk $VG $RG $EVENTNODE fi done # : If we get here, it means that a quorum of accessable : disks has not been found. Return an error indication # return 1 } ################################################################################ # : Main procedure in cl_fence_vg # ################################################################################ typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi # : Collect list of disks, for use later # lspv_out=$(lspv) if [[ -z $LOCALNODENAME ]] then # : '$LOCALNODENAME' should have been set by caller # LOCALNODENAME=$(/usr/es/sbin/cluster/utilities/get_local_nodename) fi # : Accept a formal parameter of 'name of node that failed' if none were set : in the environment # EVENTNODE=${EVENTNODE:-$1} if [[ -z $EVENTNODE ]] then # : No indication of the node that failed, so cannot proceed # exit 1 fi # : An explicit volume group list can be passed after the name of : the node that failed. Pick up any such # shift vg_list="$*" # volume group list or null common_groups="" # common between this node and the one that failed common_critical_vgs="" # common between this node and the one that failed if [[ -z $vg_list ]] then # : Find all the concurrent resource groups that contain both $EVENTNODE and $LOCALNODENAME # for group in $(clodmget -q "startup_pref = OAAN" -f group -n HACMPgroup) do # : Check to see if $group is in FORCEDOWN_GROUPS. : If it is, then the associated VGs should be varied off : and we will not be able to process them. # if [[ -n $FORCEDOWN_GROUPS && -n "$(print $FORCEDOWN_GROUPS | grep -w $group)" ]] then # : Skipping $group # continue fi # : If the resource group is OFFLINE, we will not consider those : as they might have been brought offline by user either by a clstop : or a user initiated RG move to offline. # if LC_ALL=C clRGinfo -s $group | grep -w $LOCALNODENAME | grep -w "OFFLINE" then # : Skipping $group for being offline on localnode # continue fi # : Extract the node list # rg_node_list=$(clodmget -q "group = $group" -f nodes -n HACMPgroup) # : If the rg node list contains both $LOCALNODENAME and : $EVENTNODE, add it to the list of groups to process # if print $rg_node_list | grep -w $LOCALNODENAME | grep -qw $EVENTNODE then common_groups="$common_groups $group" fi done # : Look at each of the resource groups in turn to determine what CRITICAL : volume groups the local node $LOCALNODENAME share access with $EVENTNODE # for RG in $common_groups do # : What CRITICAL volume groups does the local node $LOCALNODENAME share access : with $EVENTNODE in resource group $RG # common_critical_vgs="$common_critical_vgs $(clodmget -q "group = $RG and name = CRITICAL_VG" -f value -n HACMPresource)" done else # : Given a list of volume groups. Just check these # common_critical_vgs=$vg_list fi # : Process the list of common volume groups, $common_vgs # for VG in $common_critical_vgs do # : Go check if this volume group retains access to a quorum of disks # if ! vg_fence_check $VG then # : Quorum has been lost. Take the configured action # vg_fence_action $VG fi done isk  lVg$+Fb՝ab&+./usr/es/sbin/cluster/events/utils/cl_fluteresetbleste!-%0et ,.18:_acilnrs -/23456;=@AHbdfgkopx %(79DELMNPT`hmuv| !$)*>BCFIORSVX} #&|756Y@=.Y |y_y2e'X}*7-Ʌo~k&Lc֦RK. ׃#Spkx>xV-eDq}l;˭k,7l8X>xV-eDq}l;ˢ-eDq}l;cij@V Eo>] BXn% Rɞu9zUx.$L&#PZk(-u-K!\Y+:O5 ' ܵ@>@3 % y$~A[w$ ./BzaN[Q] Qk,7$ #"x9|@yl< _,$/^[a y:@<[7$D;@bjAb -e ia_,!ja輶6g$ |>BXo HBG2Y }<Զ>d zh Yax ml6$$"y[|M̀@ٓÂrdh YaBKR$~E_,>j[6|@]ㅹ؋c Rpn @ ׇa?@XL1:^$N_3dj @xEN;xD:b8 u@ %iyXnw˪@byAln˦@3?e -;t-/^VoJ[>H.]@H Y&P4H ggotH4g2d@b\ hh 1|@\yyYn'|>BXo |'HH gRd8"^@@tVyZxAu!] Qk,7>o  >Y }o 1l$Yy[hZO+->^3hj'pd"N; xEAڱWVb~3dj @xEN;xD:b8 uAJΓÃiAvtV]d6HzG$@,>m8|C$ hAuIn<]`[hxPti)VҌHmj.@RP2@]i)VҌHA)l ж63De> m  'lzAu l#l$;p$ @< #-gH4m>Y P<'|'Byzym2d/a9n _.е7xvIok,7_O|@ v p<QCT<7K nð ׄQ[,}X<0N_IdL>VMâ}><4ŧEǷ30CQ[|xi!67S}><4EǷ30CQ[|xi!67H EoAdL>VMH EoA N$oga Blo$oga Blo8:,>=)/Q#@4 >*7g oB1[υ4 xTo@P "zF|/To@v= ߠU@?cG1QrOYH l%EuZZ.2 a#zU ,8Lpx !eiXB X `|"2 bxjPBa%P5!',7^CQL%0|. # Zx dhf#CQP+׸,7LXt #0*7 @VXB*7 Oa zjpY( !Fހ,+A݁P* `XXW&uP¸ lXQ`!hC? 8t7`Vǐ<'{qdL>VM@xfhj+| ?.OKܟX%#(@jekH+VPR5JKLc֦RKȔ!@Ir Р.3ZP,BIK@*d\%$G2.#Z;֎kGb5ؽI ԫ2FD|ёZT=ycj03X޵'52L <L]xʝZ; 0\!hN0 xf( B2&A p`:`X(1^RcCX^2LB5kBP1άukAx&@QD5HTPV:ׁ  PkAФw*L`bZF^ XI&0T1yՎuH#/:H#Z)V1u*&@)PD ±d - @d EV1B3,ု p`:`X(1Z-Lx0b( fX- ^RcCX^2LR]2֡@#/B2 `P- Gu *V$df5֡@& D6@5HB /:ծ eD5P 8 (P8hR;P1άukAx&@fhQ j`Na!@#Z*L`bZF^ 0NzHkP)ZF$e BF *V$df5֡@& DာRP8d @d( C1@R;b@: FӺba**yՄnV1U-#P1άuk"P:'FNyjZ`2hF2Rt\(!Y=!r}˓'<>CMϐ>'Ž˓N:Cxe8FC7de'`e˓~˓彂'<$!r|Y;.Oy˓> x˓8C!#XF5JKV#T)%H+V44#5TR]ꔗ(D^IrK^X=hb#=Xf,TPV:׈ĥ₂G#'$sZʌ'TL03/LZ80:Fj V1{ U^ZqI`b%yJ)N%y!RuR%)%Rd%yDDԫx`3^FW#FS: \)*W'XK$ JH<`^k%-HLH`^1rFP%%8H`^k%yBb\$yH%x¢$xJbj֦y+Ĉʈ<`:BB&Zꄤ!q )!K$JH )"RBu+ĄFHqW ʓp’\u+ąFHvҼH%*N— Q^$HT`Dm+Ăb)p$W\*N— Qc^%FT`D%x: \)^%%*0"FSJLTc.^%'*0"FSxN:Q)Q2u+ĩ ^%'XK%$DJ3I8RI!99I&L: \)$'')"$4#FSxN:br$e8WAQ4x0J-'pi)"cG%&q )!Je JD )"RBֺJ )!Jbቃ P0T)*d()L`SHP&&B2e3R^e!%$)L[.NԤQTf)0 !!2RBx. "*'sJ91RuRLRDIS N^Ģrr PVk-JD%BJHAJe0NjJ"e)TĤJ (p,L0ZbhĢtKR&-1VfJ( S uZR!*eQ300ZH!%$BJHRS(N^J-(pj2D]yYR!*()L0iԤBT(()L04JN&BJH0iƯ%(BPLi'y:3PIkJ &:0JN$): )"RBI!%$)L//JNPLP2^JP 2DII S-usTHУ(q )!Jeco%"F )!JcE%H$$&BJHRRsHВ!%$)) &P^((*0"FSxJT`D-Z:$*"& TS<+DHR%FT`P&f J𔐨J𔔨JHSxJLT`DJJT`DJLT`DJG )4$%*0"FJS$&*N— Q&)"$ 2LB$xLbBdC2A6 VbRH21ZɒdHbCu)<|ђ'x^hf)prvN'-7h'-7hrCoɎZn*-7h:6 ؉A`0;7h|+9iA`Zv"nEñs' Znx91Mӱsȹ1Mr M:v"nx\rsʶsg-7|Ƽ-7>sx!9i*Pv"n|; MⳖvb&`{Zn6MDl4 M`?ɎZn6 vb&`8VrqwɎZn6b&`'-7Cl 8́A؉x46;7݁؉|>b&0-7#Zn:9(;7ADtO|+9i&9iꭁi؉laWJ iF> iF 9Xp@pN iFR i"Z ip@q p@qx 7=H b%4ݱNaӛx6ܞܞ^ܞ\fCrxDnO|nO^/!?ܟ=Cr|sCr|{`BCr}ܟ @Cr|CB7!>$QHnO;d7'7'h6!>`)!>ܟ+1 > ݂B!!>,"!>qܟqpOi [-7hPvqA>s۞ !0|X۞s%1p[ [HrGU>Xn|O>a$  ˆqH.mTMq qLll@a7n6 n6ueDxF<[F<,7VK'nU(nҷ]ԭxK6mXn8=7  .pSSq!n8_m "&8n8Bf〺wFR>!5}pl|J>/(n[p9pr,np7tS [`|3n:~ KIqm11u_wV,VgcB5X㿪Z_?{c;.w^uXe;EUae;*0cw,V`ie;c,]x?f52e peeo?š['ɏ|AdG'9g2c}ZOLsߏ69~Ŋs&90P KxZɎ{>ݜɎ{>Ag2c}֚,R 9~kw'k9~hņk7'Y̘k'‹9~hJ7'Ės&9B5'̘k/'ܳ1~>ӹ>Mg2c}r}%Ɏ{'Ɏ{34uYr|d=_ZhW̘k˓s&9'6s&9׌ܟY̘k^L;OlLsߏۓᥜɎ{Zj'-Ɏ{1uU's&9U/{s&9F?෌hƉ2e'Xv3&85$ɖcXc~ɖc'͝8&sLt?1u*.OM9V4LjaB=J才V(01<;,s߄hbC=J&@=J˓[,s߄D`S֌ZcݝɍwO7gb8(hݒLpQ?Z`dw6N:|wNOge{`Yc%oUge{` ܞ6vX [ rx l~#*Z1kd+{}z䄅DH}z1Q7=zq)QO]RNJTD%+ ~vqJ1AQ?׮)^&$*"F׮)^FNTDM볊W#+b"T^8x볊W#%+ĥFDD^8x*%zrgD]^8^8_g׮?}z׮?_]c׮)^F&* 볏(볏 zBR׮?zvq7]`Qg^8^8׮?zw]`-g~vqGg^8zO@߯]d׮?׮?z+R׮?@w׮?^8x*'Ggz@1gDvqzq1PTN׮?G]RP*(s׮?z+AQA']< zrr^8x>vq=z]g׮?k׮?^vq z+Rr"]R%(* vqUg RvqYg$FT`NSgϊzIg#?g fLaO .@?W]q۴> Қ#ټd)+VvmD\볟ꗮտ볪'L>%Ͽbd2lB9@vTEn|:#z`^uj"]> xz([^:t7 Wۇ Yؑ'R(\D<Q}|aHpvoNdУ%"GZٴ)?fπW׮ͮ<)?-^6|\Rvm8zzڈo+g?ρBvN]Q:a"@d-,k16E!^9|;گ]g_[斶X^/r6ikeW?` ŮOK;,sߏӹX_^[lUoEoge{6׮ߗZhWvX?k}z c|zfjӌ\<ז(4gc2c`~&k{p3G=뇚1Zj$V6X RXpF4N{mI5Rn6X doJU"[ 4cDbo73&8-4X[ =6RfH+4cDkm1%Ɏ$|oJ#Xc`F1TY%/\<эŖ3&8:apYceWbJ$K{,R pd~>7#EUanc`1U)Vdo`/\<эFk]ۄcKI*3Z#Xc`doJU"[/\<эS?1ğcpc`*2D:n;IVk6*2D4cNxCc2c?A;q 6 ?doJU"[3^y#^34zxd~>7#^34zx_7*̑-7%,V`hxc`~*2Dz4cDbΫ[)1ğםV2lSceF%BuN&RKɆ *3PbՉ0RӌXӼ0Zbk1Zd^Jc'Vu17V,3Xk1L^igM^LΫZ]WVI80NZ%L1Z)Vzei& S,yHƋ^Nብ"4H"#D"4H"#ZAq1Մj-#TRi @ B0 N0 f0 X0 TF0 X0 \`0 `0 0 0 L0 d0 0 0 0 0 0 0 0 0 0 0 0 0 0 |%&( /041D2H4X5l;=ABEFMO PT$U(W4XD^\`laxefhioperrnoclose _iobexit open64 fprintf getenv sprintf printf strncmp perror ioctl  __crt0vTOC0 hk__crt0v0 k0 k*0 k_$STATIC0 k0 kerrno0 k_$STATIC0 kgetenv0 kstrncmp0 kprintf0 k_iob0 kfprintf0 kexit0 ksprintf0 kopen640 kperror0 kioctl0 kclose0 k Eg4Z g.__startPk.__startPF__start0 T *0 k,p_xargc0 lp_xargv0 p_xrcfg0 p_xrc0 ?0 hY0 .filergnk`) ^@ k^_$STATIC0 @ke0 \  '0 p:0 tL0 xb0 |t0 .fileg:t56=-13:t45=-3:t43=-5:t39=-11:t15=-4:t12=-1:t9=-31:t2=-2:t1=-13:t3=k-2:t4=*3:t5=*-2:t6=*5'7I[gx:t19=*18:t23=*22(9EWct:t44=*-5 :t49=*48:t54=f5;:t121=Z`k).main` main:F-1.bf|e/argc:p-1argv:p6vg_fd:-1@2D@HNL`Penvptr:5PpTvg:5.bs.es.efe_$STATIC0 k.bs8.esnoname g.strcpyk9.strcpy g.strncat)glink.s g.exitk(.exitglink.s g.getenvk(.getenvglink.s g.strncmp(k(.strncmp(glink.s g.printfPk(.printfPglink.s g.fprintfxk(.fprintfxglink.s g.sprintf Lk(.sprintf Lglink.s g.open64 tk(.open64 tglink.s g.perror k(.perror glink.s g.ioctl k(.ioctl glink.s g.close k(.close __mod_init__malloc_user_defined_namecrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_forceoff_vg.cWed Nov 24 00:04:28 2021 strncat.sos l5$+@hb՝ab&C./usr/es/sbin/cluster/events/utils/cl_fs2disk_v@@-%! at ,.0128:;A_ceilnrs -34567=@H`bdfgkmop| (/9CDLMNPThuvx!$%)*?JQW]w~&+YZ^q{'[h!Ms<ږ=t*_"DTs G?P @:xY@0yP:#Np>D|t`R3jpXC^/?9|v6 ZFlV`Z ,T+K/_xt| n>@, ) ^[lR4 7N㙡myT bpX[mǕHӆm mU#NJw'*i)am* KbPU#NzqԶ%*k.0ˀ9 t%(ǕHӗZ-#yT@P|8QOz~0z*?k2poxz~ ç^ v|7 X;rX[Sʤo,ӜE(U#;rXGǦZ3h$*hӽi8l[R2/C@(bWU#Xk9pond$*hH8f0-sʤiZN9@$/*[U#X:p7uY,-R2FfI‰phpG  4@`U<Ц> EX|7 Nږ N $H}Ø^0VĶ$ U#-<Դ|8Q,=COO5] q(6T ;n>xt P4÷#c3vCS+Sےǜ?hF8g#-FXs8i,N R7,9@,;r3;8;scrc,wׁf ӬNU#y˯WȜyTcKbY?93<6-U#N]O9,D}`4jp͠t[ ʤi޴sd[ ʤk.0ˀxx:'Y,-WHPO]N]h/|?׼DTsm8gb-yT9uCqDbOz~0z*< d kgB&|:|>;j>"K܌+:;rX}{4GG0gG%R7f3-O*,yb#a̸4jp͠l[Hӄ3ZN9-ʤk.0ˀxx:<iK b rSZ @ rל">18^IKSZ @ ○Y?93lR4n>[ybn>|t(C@4_PSǐ5IHй7<:Q(|Xvfvq^v aӰ6y̸;8'Tfyl$w8B)wyˢ;Fi@<]r3xl ˻FoFŲ rCqDbB Q i EW:?xz~v|7 D.ܖ<_^Q̍8f| cʤo9ȁCʤgnE9,yb#XsoE˭%-/׼DTsm8gEGHr--t5 Mώh i#: Eb2nh%nKN"$CHh9vvvvxv@;px <(r-[ʤo8!-D,8pB.yf訶B*sobu2܍"o'fKQ,zD%˓Z;px A;px <@;pxa!KBGP)D~d2yRrZ[8! Q*9^pB?9˭<ӗZ;px<-'.v@-Ч.vB-ӗZ;px { { ^/,8 _|Hs07 N8̶@_^Q̍9ĵ8f|'-XoE8k|` #NW6t4p/|>M nᡊw7o9$L4;nBwSvZ;8Np)-E"׎%<%o1x <a{'w'.N9v[hB|8P!HB5B4qsZvFD|t0y1qک[q~D9Gjoo GC!Nps NH"P C! NH"P C!\vFD|t0y3R7#㡃s'89H"P C!lvFD|t0y7NH"P C! l3 \j5Q- 1y.A<8?<,B1D?hApS>8iHP* Z@\hX D?hApSZ D"4 xp~<Ђ!BEhN#!dq`|[.BFnŁdfVXs0R)Y|V1h!#723N+,9)|D?.@`8y(^sB Z7 hGR% D/9>whA@ @`8 pE7^Qy.A@8"D?hApSD^HK?h<+ _Y`ft 0qp2hG1p4oth~ D4b2 $a!I,9h2 SAXČ2D1 *_AVXAX9|< '`j 3`" %JhCaވ{NЧK@ 4h~n#V1# BIa̜ +@) bF"Ú P8 F) bF"G/V) b ;- > +Trvdi>0×@!,1NX1ک[q~D9H"P C!ک[q~D9SR7#㡃s'dzxU7xR }Q̵Pu@:;H80e 74Ah`YB )EQ#Ah›H@AP.ZP9 (U\ D*%Pݣ3h-Si1P*^eC|?=B GhPC|?=B B@~0zHK?h!d _89E.7 @C9T-u`?"aک[q~D9%O @X+)J"J)J, 1,XTqxzjZ%k.uHW/X͉$%權RHK$HTRD)II &PV2_al5¦D*d2 V*ݦ0vq) {)vn)'7hqva)@7<{ Ϸ<ys8 Ϸ<n} &nx<7n|In}#sςϷ>۟ vpHqώn}qF 61#smF;ApH07@hF'ѹ27@s/7@ApHhqhCFh  Ϸ'#qh    pH@m{@7cѹh# 8$n!C#-8$n!{ApHB0aѹx&n>s\n} vN8$n>0qh# qF$ApHDIţsB07 ۈ[ApHDϷa \n}# 87 ې;@^8$n@h   8n}v Kah# -nBh XccF.XkcF! sȏpL7>܈OȂpH܈ Ϸ"_ȀAѹ@chpHFE7 xn}Fۈ sah# Iˆۉ͎  sĀ!sāh Ās0q+{ApHJ<GĪ8 ϷvpHJ1NN)pR%>N~)yDgO$cےKO=@;B(|QIlOET(bKb)-O$R[.qE%l(3ᰢ͹E%vȢ۠R[7E%kE%ې )-qE%QIl7QIl8lQIlsBK`ӊE X8AE%u E ÞKc<(R(!۟7;n| g۠7@Om3nsim@ n<7$}$Znm|giq@|[q7VۏLDf"n"Uqhn" 1n"7 MqrbFhk7 +r7  u6ru Mېm7!,nB1nB]@܅|@܄<܄!nB "- ې֛h77"C7"O!nD-7"-ۑ FAC8>܈!ZnD&A"#nDDȃm%n##2 1;qchޅ60mf0 ` n#8 a[q&74MĎMĆďIi;q!ԩ7n$*[0@a#q |h*{g+g_:tVLVJΪN++%*S}yCEEd}uPbT}yCR{R+%'Eed}uP9Y*ogT:/g/}u{J S}yC%aaGΪ*+ S}yC¯gT:!Y2}ucοwg{uΪJRV%(_}u=yEUHV%+gh:}uEο{,_wghgh y^<@{J2Z־ 8b<pR<挽Z<ѭe}wFǑZֵ7.Bxo%g%yۏZֵ 0g2p`ؕ/9A*_yyeA*_ g015PlPQΟg(%Ky{/5;C'ඍk/5?n>ݭk_+n>Yj.F^`3IF^c;Zֽ#J2Zֽ?0U׾9#y 89X/右(hg5֘Ak} V=`#IF^c"Z־#$/1rֵ#f8^&J 8y{/0wඍk/5?nDֵvAͪǿ!>G0PR"IF^cA ֵh?&K%n126O"1qTyA*_`)寳& *-}qXLm g _gp8C|x 8Z/O(h`<ѭe}wF`akZמSN2T2 $!fր ї9}7$Z[Fyى '5~&եC-%{eFLɸL608Y7 y~x{%eEdG̨M`r6fmqOaј1\m5#ߙ/\.̈T܌f&T܌y̗`fho">eֳ60r0yߙ/\. fD|8?x܌Z5+ߙ/\. fD|ʌيۑY\S{fW0t܌ 5/ߙ/\.H}/wk3k5<= Ѳّ2xf&&nE6m燿2^6]o">e6qͮ)L=癷g~ds4l">eFdլqͬͮ)L=3%`5mgߙ/\.x}dG̿Y\S{ω[Yzhs7ّ2d+l[=ͮ)L=6NbfŸ#5~x{%e">eFdSgm mfmqOaљ-trBYO~ds4l̈ך$6?Fh- gߞzh_}fD|FŬͮ)L=g>)d^Y;VV+2ZY+`٩X4de504Vk͜tg504Vhj4`굋dj`hk-;504Vdf+vj`hbVKU^&U]H\bCG0FʬV+2ZY+`ڵblF\hY'\bڍ1R4bhHъ#F*d`ՐhɈbBK+V͊ +\s@mi{P(BBBu H ."!"`&W2Z.uq&&P HCY.5`V"4!%%%CF[6+\0dsѫV͊ +\seij՛:3VU5:ڲF 0\&GW0[V6urWVU5:ڶ \sؚ\mZU546qk.u[Q-F*FT1R4bhHъ2bTNL3qk!PѓS"K:hkY ^TzI23FkL FSHBBu H*0J-bՍzeL sc+:015]-:0151\hV\hJ-ɕX,6hQ-uZ0504LX5504VfL ^jjdʌYUZ6vYUb3SEfFXL-uy504Vk͜tg lXg$+Wb՝ab&:./usr/es/sbin/cluster/events/utils/cl_fscsighostleste #/  ,0128:;_aeirst -3456=@AHcdlno %&./79DLNP`bfghkmpu (CSTX]vx|}!$)*ORZ^jq{~+QWGﺰxĀ n͇{xxB;*wwgskxSOU~^ _b#w@#W%2~0!wLCBeQt6w:~s.\qw K ˿ǯ @D83⥠*)ȤT RjYu p C^pwƃJ\MGJgɿVR O`fW@uר5,U8$F|Th67m?㢙',5Sj_q_<+9O@%amF|з74T5 *Q<^cu5ƃJyš(YƽAInT8iP8SQ35 pV7S^*h4G)IREƽA*kC5 *Q44iaAM[ugk%uڊ?t,eR@"~7G*d4p>!  MPIꐈR[* sNt6B!UJi+&΁J35 ts}RJCjqъg,ʪ4 qg+9Ҩ $7Ljg"OTIjӚAmJ3*  ΃*g,ʪZUSʔgꐉ:p /-H4ڜԣ?^no!=E~A@ARIꐉ9EHDPU֠?TE5 r>nU(ԫ486:?REUB"xڨi@Z12T?]u +T@¥y*^DOP>8ziA:p Q)Θԣ?^2= iҧ: _9nk sAœpQS +dH2زFC to!=E}4wRIꐉ9EHDPU֠?TE5 q* T`}RJCjqgN:u(ψ,S]J3be8ྥ N6 ¥^׽E*q¥12pƥ N6z ^KjqlW (ψ涂~n jq ԣ?^y, 0 6ڔg"OTI"(B""(qPk)xJ3*  *Q*^DOr4Hi`'REN6 QFC9+F|Dר5QgJlT?]uƄP*qaRTYT/"'=r4֋USeJ3be8!F~ BgMz^tjQS$nN8ٙ_ ^n`i83F~6o!=E}4mN4(ϛDDQTE5]j sHDP^2SN2 QWhpmN2(YT/"'9nm q}REN4gR2) gMz^tƂڔg+8 @/9xH4.SJ3 h8S _qk-i`j: qPk`h\u(h4.AN8_qTmN6(ψ * 61F~Sy, 0 6 *Q7=R'7jꐈƽAd`ҥ| *Q*^DOr4N@NU(Y$(#!Ҝm5J3&Az:T )Ru֧8WPԣ>o!eU ȉ@7d q(YmR2)ƀޥ^׽E*q-F~eNpKLnu8༯/$mN0 ho!=E}4mN0y!sy*ƫA~kJ|u(ԫ4869%J3eU ȉFZ˰*өԣ?Qf&SZ$d:S T>"kNpT?]uڪy-H4.S3F~At  qiLnKU8LWz]//ArJg4A pFC8ɝJ3&9@W`.7Ε;@gRIꐉ;WZs\NҊgUS Q*^DOPrpnkGUS-J3be;A "NdYPO?M(W`B"z:``4mN g"OTI"(B""(qPk|5S/F~_; F~̪y<p Y US(Yjg,ST?]u +TIRTYT/"'=r4ց vLQ)F~Ε; %F~eO`y-8$mN.F~y,^єM(ϛDDQTE5]j sHDP^ J{*gUST?QfUPiP*өzg,vD(Yҧd5(W]j| /9x {J3 h8S1+OHІFe8k@/9xeB=J3 h8SBW#Cp4.Sbk@/9x {KRB$_~ ]P=N2ԣ? CRB$i_W|mOE⡶HB"$Մ2Y8c$'7QQ4qBhk7QQ4qBhk{(  j8x]!45Ħ33ƃB7M pF~QFpT8hSQ Vn?Q﨣8*h4)wVn?Q﨣8*h4)w/7QQ4qBhk7QQ4qC {J\ňPR߅`%{&5< AH) va͖ l6T߅`%`;B g68V{Ù gllX57a, q389a١lV\QP9NJجd溰\{ cfs_h" E vѐV8텣bt,5`{)l`"i vѐV vр1 Elc5m,{nxXk g87a, qc` vA%uiΨ045̍g=gC5o<.m&N AHHa&`h4@TU`0T5@+ *Iq* Gn%&NbA`VZ`E@L|A!pW3A]{>,?c,5ۀ c@+ *It`pNpV8U&*>+p!'5 ApYP3*VTa0;AZŸ>+ b0PkX;0CJ(2NaNkX շm?ټfgU%?* %2P*u:\#^.^!^;81TpI]`xP YM[pM[p)o<ĸΨxd6@ 6 k WZ]JWjqxu J}4;87cJ}1/g<)O ׃î`Zpg_$@Yv)O( J}(S|)O 2-9x$3WXC)l3WXC)l v M[`Uj6{֪2 ?45&33ƃB7M qQGqЦs΄Co  8.Ή*dń&,TIt,eRFLXոb8cK$JnG%mPM w1eJUT eLCFCSLX]1PRN e j I[!"b?mAI;kd1$LCG)'ml2h$P1 &!CBD4~ڂvc(Hc*bj䦙,3TƶC[!hnEےgΙSpO el2!nJib:eMB&eT47"mM3XgLUD̯ʘ%41a2kcX zЪQH\BNf1̶jfdX[!F[B&./]E!q ;k]-1=#3QKd4T2Q1qz) U\2ii襱[!ЪQH\BNf1KLeOE-R ,TL\^Bbv+1Zc-z)lFfh;de*bRYelKb35CAK#-UXc.f[!ЪQH\BNf1KLeOE- wRhUD먤.!V'mrJ5K$fj) e ڂv䦙,3T 2ZD LCGYm u*Vc)VƩdP،̜Q d4K#-UXc.f[!lF[B&./]E!q ;k]-1=#3QKd4B ,TL\^Bbv+1Zc-z)lFfhYm u*Vct[4R،̜P CA  %mm'TH|HgDLR:)rIEC:fYA"ЪQI/QVCxIhrWω(λ}q?-]h/7YZN1qgfӝS:V;Lm%;2e2e;ygt%qE?f y֮gNw 9ӝӝӝcN1_E2ONt# 0be`%eGA컝o{.B_e{.Dߞ ]΅{.Ju_ ]Η ]άe ]tS|w:*xw;W=sD˹ ]ί˹=sw:,@A컝 :A컝~2A컝? ]Ά{.A!KA"ɋ!$3rEBHbI 蜑a `dş&,TG'A|kdŋ_9Y1b9: #]DF[B&./]E$ R)_uDb\s-X1bʣ3YW)leW e˕,cAw.Vc)VƩdQ˕2٩E|>YelOr,]DY%x̜Q@I35#(P$~ qC5ƨInB#Y%B%J`L(4$^wǦ[JTq /B̶1 (?ɤ؝$; /"LZQx44ēTNNbBȋUD%x5$H_R$M$OI~R%M$HbBFTQ!*j&s+uO,U"}O EQ %qR(h}n<PfXdQ 4n"H?FS[0iG<+Q2Qq+8DY%…X1APp#<%r*d,Y,(Q8JK):!BXX QM0Db-(<% ' D%iZ(<# ' JǒĪJdXdA< <8DO)le3<+k\g$H_4I݉؞uQ!Ji'v'byD皘DRHXI]q xc,$9Ϲ<$eaB%E7?%/8To%qRK y*4p8dQ|(^quO*Ty U uOĵ\ DQ,Ll(^q*7?_xiJJI݉؞ ?X$y V%KjRJղ +J/8?zJĨDJHI\&J'-W yDSD%W RWJQ#Y%%J5ݕd+d1WqRK Dqim JODXP2W?ɖB~?!%q䮸LXPϸ,W,DKW2BHO'Zy "TSE3̴Tn#y+gJ/84DRW* >+/QLKWB%%HTJ([!&qu*jaJ돺u-31 #t+Q"ɕ…"~%K$R7'ᤔ4#% 8), y#̮q?sD%W 8?t*JU%F'[!%p+?TS%&tBǒĨdΈPqnXm%qbRS2尢&qy"2yV 7\H<*\h'/yaFQRqABR@*XDEJ cijIR P(a'E8i%&M$O$ CLwbv'$ CL&wbv'$ CLwbv'$ CLI;;ϒąwbv'ɢB!؝IbBPTNN!LP LZ4>'B !"MB'2xIq?j D2(g\JOalUBL\DQ(yy,Q̲XPqhy,QE*]2P]qGA9dK +>'bF>qEVPabd^vI-B^? $ĩ؝#Mb/E硥]LZQx4ɤ؝ĕ}48&#(P$F$`T%CKΣLZiyԉPKΥLZv^t1i3x4 P&L{CK:I&-%K>/c^yd/;a&-%CK%LZĩQEiyI;;" v/v/} 2$`٫!LA|d} 2_[@?sf !\&_NX 4A|hNl/N񢿱sƧ٫T__ 4.  47͚4 ~f/R'`AW?` `1sfa;0A|l*٫da;F/}X 6A|l]0A|l6A|l80A|l>F/_f/K A|p*(6jA|pNl¿ >_?M9WN_,` 8/ӛ5|p}_b/&_v/ΰA| HNl_:W X tN٫W/͚tYA|10A|~RlNk0A|u!`셂 F/b/0A|tf}X :_ X :)A|t٫㠿A|t ?NlwNk0A|t5|t_<7 X xC'`(6j` o_<'`GIW}_K_AW/9WGN"٫?a;F/A|<}A|< ~F/'!`x}A|<}_؅ /? >,_y*毇G6<*j#y<j75~E_>?bzz]w| *j?GwGw / ΄R nB_̈7s/Ȉ7so`w:tw:H7s՟܃w:e W$ڿ7s e$nM@A ΋?nC?\w:.cA 7s}Wk8g qL"5\{xG|瀵^ qX _8&W,k){p6ݾpo_8h:;(070"›_(/+o[Ke/0 _F}D]7QwBF_+mp&2*ͯo>ao_dtg-k DUPFu^Ϙ[>btg-kuw:g-k DUPFtg-kHv0?}\:E;>ao_s0?}eşj ~s)[Int1 ~sǝΆ[>ao_>ao_A-w:o>ao_l9,gS:VvϘ[>q1 ~s)[Io v|ߜQL>ao_! w>Ϳ9 Xt(m_Tu>ϳoΓ6/`4w:gٷ?A#-dZ5!C[_I12d/"ᤙ^{> !I҉"d(^H ?>L_4&Bҍ2>!D[_M[_ciH l} )S?>T:`Ll} /:_=[_a[_)Q[_?4L'z w>40Nl}&>_][_>7l}`->l}3>@>Al}l}l}G[_D[[_E_/+>>?A[_?40N>I[_[_224L[_ӿ4J'J>c ciJL'Kl} )_L{>?*4:T_Ol}e[_I*T9*OΥW[_$tc>W[_:/l}l}tl} $Φ Ф?x ci&H'&G[_ xx_l}>l}<(< c>)< c0< cl} ?o&>_o07f2Le?? 1e$/#,-*.rP!{ȅ5^I˅A>kI?kc?kcohʶ>i|l|O=[4>?yc|axuOƛ h][4>+cBD>i|_OyDLA[6>VVG-l|#vm/Q @+>ao8FYG oLꤤ VEΪJ{sٷ Zl2؞vGE32 ;yGE32 ;{6uF&Dt}+by쎊gTbe7ٷ?&W؞h#֪2 /ݽ}&dLĵ{{6"FdLElO4]2_-ْ~;#?\ete3e|y;,i-拲: m%ǔ ~"#y[|yOof`#?\et`拿dY|x˷[,3vm .Y2:?؞hC{o0/d7<vm+FdLVEβU׷[βU׷o,iu]lO4]O2K{o0/3)[Io|: FfN(FPH$fj)FPH$+1YƂrJ5K$r[53H`Q.YelNYj.X,81\9Of2,XTftK?JWYZq~+Q^{lC'q߸:8؏o4_V?-'3-ԃ/GTcO,C<'8'l^HT-"[@ſ4Q?Q{?#[-ke495W+ XAkrv0rxt wW *hCq?e1e7'G `;;^_1GCE18"3DղniV`(ouz$$?"#(FDӌFKU(52+B]`Ez+.ȝ!ό|Wuzd;b2d7wȝa74󾭗S2dN0ό|Wuzh^wղLdn:?>3]niX.1@|1sr h"yWYYF(7 nA@1mvVpcm`zT> ccm`FR-#qeqackqd~<[FDP]3hi^OyVEqT(.U4WWy n D_]qm?cYj)#hf k@tXѼ-t s1@ m(X+@HGAzp)93P7tю8i=ؠ}Wb=hqH@4F9H1e`:z ς摠 n>@܀9tŴZ3z̤7q0Y^@[k|}ؠ ?vYWYۚfWwղݖyfR[uzƀ0Yt@@kFw%wpli-i%lzd;!p~!h #l0hŰŠɡRЂf6h AbU~?icr3 ay̠C?{ֳ(< dю4icv-fюd R̢kд󾭓d!\x>Xك-8W0,w(0e\2󾭖 ,n+6A\x>Xك,+;`8 MKl0<;0esL{Y@V> P 5Y .B.i^OyV( !*!0Y@Euz1ey=}[-=@l1ɋm"0DxF9΂b# i^OyV, 7 1mRVgTBwf)ЬUlwm#lwxFZ^6o;3+;e6;* k1I]`3i{gm mkFw%wlp:u4 Y k@tXѼ-t s1@ m(X+@HGAzpp@4F8|b;hƌs]1ƍ#nx M##c2PъPl, nBŷ4̯'e-dV-YoghcG tAAE,JS)/_,? b+7-`7f\  ndWyV}fN^| \ d^,Ё`3=v'7 H^7;]f \B^p{@f'ni>lih'nB7]WZXf(W`1ey=}[.4,Yuz#l 1A&rݠ(sH,.4$ gr t i^! `,Euz*4/p4zLCsMLg]k4#Ƌ14wWey=}[,[sMdp4b1yf&Iuzgp@,Л^n/ǝlǝlNeo'2ni^OyV˵510Euz#l 4%W3_v.-g#pxË|f'7wii 2inB^ogoǝXf'& lyf&۫OrN( 6w @@Ɛ끪& \g@Ig`^500Zr󾭓w8@exg`# 3+;bۚk F.n>p{@ Vv nCsLcHEWi}[.{k[,f&nCy=|2ey=}[.4,]^;LBg/\ G[Y ~7<[v.En~\ Ep>7X|42p2󾭖64lcT肳@WWx}v8 lż͈Z^8c8Y=42ni^OyVCT!Ch+<>iqcrer6bfWb1, `f~fWwղ.>0Hx. , YuzLJc.>n@̮A[؊U1 x m|esL{YE f!Wx}v8 lż͈Z^8c8Y"i}oyVɳ4̯'e\}` `g 1 mo]4121o3b+ֱWG/3<uS6X]sL{YE ς۫<>iqcrer6bfWb1, d6X=x۱c7bݮ>l ; Agcu EDmfWwղL abK<>iqcrer6bfWb1,  xwgcWͰN6n>l@@(Y7WT܀{20# F8v8~0e,7 u6Id!+@f#ln@7  =f.Cx YBl@9zͰAuzLJ2"+ |obl[.6+<[sL{Z@e 674Ƿ|v-WqmnŎ]vYR74̯'eni.ыd76C8/lx7d!ZFl74,]^gni^OyVCvZT0!Yk]+lt@@kFw%wqFâ?-LYc&7$dNw>$1e+ܓ2ϝ:?/{PŖb^q|,Ez}Y'G;E+ܓ2ϝ:?/{PŖ >,Ϣ Yc7$dNw>$1e^q|$uV!@Xkn`Aκw@g;3E"0AMTHnpŖp^q|,+ܓ2ϝ:?/{PŖ9hCrO>vDgsAC]+ܓ2ϝ:?/{PŖ;hCrO>vDgsACXV^q|,nIgȝ}H=(b Z+ܓ2ϝ:?/{PŖvDgsACX\^q|D]GZPT!ntcϙ/h|#eBBz,/xFD] RAQ,L.d Xz]`\)Vʰ;0.3B.cq/_p]4O]]jkT!|h z ox';a->a;a->aY{`$A/x+qU08Di8C0{`$A/x+q .A3$Dab*j|X(hCrO>vDgsACX`^q|,Ţ >,Ϣ YaEz}Y'G;EKEz}Y'G;E67$dNw>$1enIgȝ}H=('ZNc)E`X,$"H"HAq E4.JEh.cIEPc[LS/rI]L9%ZkF`#YjtSR"H'u2S4+薙j‰xe%QMH#%LӜZejVo %M$LJ%LӜZejVo %M$LJ%LӜZejVo %M$Hzdp%c!)鎪DZNEZdE #9'u2S4+薙j‰xe%QMH鄮%LӜZejVo & M5ME5"+xS%3NriZѼ(-7Z]5ԈJI]L9%ZkF`#YjtSR"a+'u2S4+薙jˆZJfZ)ºA>I]L9%ZkF[)Jiº^D A>I]L9%ZkF[)Jiº^D2 `ĺ)sKL J֍DWJ)+O9)W+O9ĺ)sKL J֍DUº^DD@`%y"+'u2S4+薙jˆ&A ' QEDQ4r8暥ZG$.Jf}-CRxQoL"]ʵ"Jf:(xS%3NriZѼ(eA:DХ@Rj& #I]L9%ZkF𢙄N&A &1Vjd"zd$.Jf}-CRxQLJD  db&a0AeEbOdiW-25+Z7*+Z&A ' QLQXy̞E9Eb2#I]L9%ZkF𢙄N&A &1 ZY"Q1L0! Q@1$0sxS%3NriZѼ(v"yIS0^tsO*KP)(##xS%3NriZѼ(JrXWKȂHQ "}Etb aBcH4q q9y-7GHl>y$\j>x 2OdiW-2../P\(JQDo)287`)WQDo#e%|b_HiRDF+08|RO4+Ljy%`#YjtSWقx2$O*`2Vߊbl9GD5&J&O4b)r~>G I M/BxS$,7sPԙR_%GC_R/R]pԑ*ũ"eQԤLԐTt>)_N^?bZ1HU0$\&R< (RīLCRBIx动jH/TZ,*+R{Lo)sb"`*ey2U5DsLB%y2U*|T"%GC_RIw*KR&SԔTt>%KqjE>K IE꣡/Nɡ2EQԨL/CRd/PIj_#ɕy-3b*-HRbKR)CRhGC_RBCRaz}KR)-KhjN}KR)-KpԜP:Z'xLSUJdUD)ҼɒEBZ^LLF,)Ҽ;ɒt֜B+&J%k jg%ĺi儵3y"1EMKfa2KR)K4QNydU Eɕhj.N:RKR45*Ծ!rԾ& /J\\/GC_R^/U}IzԿhj.ԾIj_]P}U)a.L&J*%Z[ rg%y2U1S% (NdWo,%y"XUTLhsT<*w%Is r%y+SPRq,%%N(NU4@T:%8^R<:93K^HJ# .-H JԾ"u%cG (*BuE%9pŠAr AtET5(Pć2#Pħ3/*@QlHs2J&􊣡/J\\/*}KR)-K3/BxʋS%= zuT%vGT^JxXKҼ<)8aEQ/973yBu4ʽlKc8W.KNC&Jd:luG { Ҽ*>&Qԥ..RZ EGC_RIzoa1//UJT[DU' ށLkV z'y"XDLLqkV E*//1/9J\pšo,%>W5hy *>&U}JR%vcET%])KC *3O0.y(S"]BcQqrSYWDB^N*u3S%3CGy:tT钩S1"Fl^PI/sTC׭XS<ɒS)*d "T$Pu-|* }3ZaP^E@5ELDxiA{S֭lQ.3ZaP^d@lSI,K֘TRtELU2XTSLU2X(NE BN eľ3ya-L`yBu+-% jd$yBu'HP…R&J))Z+ɒg9_a-L'yBu'oL0 NHH5g{'Bw'R/J:RL/P:ũ^\:RTxGC_R8jqjE?hjGC_R*f)*%hS GUJx/AsϼBjb:yPS (z4LSTu z1hT+)]Tt>)KP_8jHeKR)hjHuQԤ/R]a#ʣ/HTKR>^:RKR?}KR)-Kpԑz|G I>rx$5$HRԉ5$HR>#*\ZO"DSpԑ!r|G I(T9r$ .-HOCRD*\Z*$_T"e>#R*\BRDU.-Hpԑ*eKR)5$JRԊ|O I@:RKRjHTt>)JIj_C I'U}JGҦRZ0j1HBR9s D} ҩ_L\ ^ *%:`ԏ$P&JT%H:E&JXKR&JluG {&JrKR<,&JiV‘2G(} ԩ5$LP:2_RDxM!b)zS,򛯌XK}TK jG%y2U,.Z-H&Jx^T2hR%PD<*O {>dgyAIİy +ɒ0lB^TLK ̾9-HR&JiVZ@dT%P:)~ 'a1HU)(4ek4y%S$J儽^LM5Ps%T#*)%y2U2))D<*'8"d$Pɒ`q*KR<^T Dϼ*w%R:LJ尖y,<*hUBZ_y2U2Q5PL^b&J|MT%Mw%S%UMTLy:E%}< hh:l%JBw%S*k4y*qz%Rԑ0Tt> ."R' 4A0 `H2T*$*\;|G IT"RD.-Hpԑ:uK)5$N\qjE>#*\BRDSpԑ< 8jH^qzRB.N\pԐ"ũ%T"RBԅɼG I .-HpԐBũ5$./T2RBGC_R$ KR2NXj!-IHIOMPRBwfT">qzXFlay8,@^J%lgKDKpZĔLL|sL|H/XN S%U2_C54+Ze%:I2Lzj^_9 2a-IH\rH ˼Pk-QS%3Du-|! jOƶ3 WUm eFhrtBEE q4NS%S#咨BԞ1:I2S4T3 UJE ߦIOMP<`Rqճ/5#' ҩSI"IOMP}Gbq"8LS)mBZ̎ELƴ)#R=TDpi Gy@HP‰LXo,%(N{ľ3ya-LyBu*|IQ-HO%UZ%)Ԟ$%+(@_uM$Hzd'I"Jf&a=5Bb/LL0y5f^k+`zT$T3 zoEE qB_ELb|! jO$Jfe'sL$ o,' %^l/XNJ)_TG!'bx/qM5ϝJmi&=)|_;lc@zSl~6=)%SқbV~ؔ. JmG;lJJmAwGqM(?:6 ?;lTzSl;l8p@}G6pPMdR6`^9U+|6ų-|:϶u ݱv؄e[v5d7Ė!v%!!؄b'!1MQm& @*ʭbl}ݴ@ 2h#"?툐Bܖ؈&"kb!'"g"iqMe6A {cBnAl[!$Bw-ĶB(l1ɭo퐇8"eVȓvȌ03le!Yl|DqDw[" ȇd@al6 dA:dAm[diml|6푅y05F 1Ų0Vql6omb:b1ElFv`،4Ėakb1[$E=H[$$Y[$2m׶W$v@[y !&ElH[ q-#- =ؐc$2ăؐ+-M oVā*$2b[hJ1](KbP{zؔGlJ8ij[ؔbbPkbPCalJ`j)eT8El>풌(% ([CL&J6ClV۲݊9-kv`vݧcv v sv ?n[i݃}1[&6Ɍ06ɆX#MVdÜ[&`0eɃ\Ƀl]lMؘUȰ"& -8--m8ilOlp [bq m`OlN8{b{SlN0_lN'bpFBRVvТh_Im=-m [hF b !ѾЇB E~ؠnؠq(8Vآ@Wmbb)(ձ@([8ؠbؠ4[[bMl']l<dmNc['3'j8[Nap[' '8 ')!Hb klS>6)v,B9H))űH}ݱHlmV 0=lcle(1«e[exWlVxYl=l7#l<ǖ 2Cd "_Ed+`Ɏ-dsN2w%d5/lgl[CC[D 5Sl)0u)ae5`[)ὲ.Hcl4Ëe k `Xul6[`h- > lλbMlTh-VCFȭ%S6Asb{bɱEPxئب?l϶*u[K`\ͷvm˭pŵp6vمl~6lmcalhCl1mell68l% l66Fl6lol[QCfvʅl-'nKeP7-[*6mlreGm[*UPbT6ʃlAmD-͎B Z!>[Db%ͳhl͏- [=3l [ml'8l-[D6'oZnQB7KG7/q51"P7䝅2sOquA/a79J#YjyMTH8o?≗Իq≗Իo?nqZ#h$o?8`q*o?5G*qī?MTTyo?J*|q?⩗C7BANg1/TNygygLNs͛; Bcf!-f?C8s͛;B۞lZ16oL?6oLo7&w8e.6oLJ2f?ĴP';l{l8e.ps͛; %_8*f?A/a7&wU?۞l$Q7&w_~7&w-7({paɝ_Í6oL}9f?8uɝ7&w骊;8yɝhl ?۞l5W{8ɝj|8ɝYj`qW;l`qTf?WOyg9a'Hw<ٿ3i2WI&7&wJs۞lv7&wQ,⒍6oL9Hs͛;轿ڀ_ڒ:k*j4f/&QSTtUm߸(:*[1 Ȗy8sow=?{C5:=?{C$\kso'D9O{=so'O[8Ѯy55wcmo͛N7 ވٿ%&1Vb Țnyȇsq?RN8Ϲ7?n{lon{qqOoFi(髿5ol?k?|5(Qlm} J*-/kjNQjD|5'L7[_gRtK>'TZ>>2_>*-Hφkj-I|5'TZkjH2O?7[_gQrbԿm} J[_gQzt/[_gT #&S[_g5s[_gk?'$ ԅA*U@T7[_gf_7m}!? kl32@jO??m}퀇O[_gRt?%kφ*Sm[_g?[POm}m}?#E[_g k>k>??ρ/m}|\BA7m}Q[_g!m}?km}#o?Bo?e(_g a[_g_m}`5[_g# k#m}0k}[_gG[_gm}B?Ćm}Co?ėH!m}@kW *H?ĀH_?Į%m}P/[_gJ_[_gc[_gkJ?k%JPom}Gm}m}Y[_gK[_gwm}#Lm}`k09[_gGm}am}am}am}`;[_g(L:Ly[_g.L|5$.Lؿ0&m}`&SφR*ߛ7\:sp[toDgO.wmлooYro??+km}s@'z8&m}p! m}p%¶ǢHKR Q?"']m|hʻ|?[t<#lBoDlUm| N /Б{tI jO0N- 8O_{am}sl'{am}pM통_~a[_c$%??@m}lw[_c4U y[_9ik4r푇[+pVhN9Wq@ tfb3-Ak8N5_}w[_eu/_ !-I +kG kktfy ? kG-?m}UA}Aމ?y?Ȍ+kFhH V٩6 k_(=_[_e8_ⶾqgNm}4ԟp.NFiOkm|hʻ(C3x_Aމ?FxpE_̾'UK4]o5Ԟٕm}PAcj,:%_T%VㅳRm ƶzY[_c8m}gU?u??+k' ?8*ïhKRvԟ?o m}Dk}?!^tqUd?E^ݫk)!*R5V)6ŵ?BlFiOkG_[_9ik4r6V1`D ny~H3JpE[_ಶ骅GU2 E-HmI5ћoLvf~y#[RGMtrf`=Y?8m) Y^l~8e.+m2GI/uXoo{A̼?][RGMts0جwY?$+?k<͑ԑ]ĴPŽج1f,dZ(aGlV?k<͑-[RGMtgLݱX0f,d≗Ի+~~q2dtƶJ6o&AJqpA̼?Vԑ]A/aݿ6o&A({gy:pg[RGMtke[~lLѮ5~m/ Y^l jH鮎qGl UY?5Q oo ?k<͑U$tIlXIY?%a&߸߸c Y^lԑ_nر>ߛ7g ub~~ ?y# +jH~lL`oowgy:pֶE`o͛ɐQlX;$/6GOO[RGMtذ1f,d[;~~A̼?u$tKߛ7g tذm5eêڒ:k6o&AbooܣA̼?mI5њTλbnߛ7g f*ش[75eԑ]5PCsbіߛ7g tB -F[~~gy:pVԑ]08-o͛ɐ3Yj`qWl[V߸߸A̼?jH鮍īX2f,dīX2gy:p򶤎vv*f,d9a'lqp5eKl.f,dqqgy:pJs]6o&AJs]qp5e #9'aLl=f,dIS/,v/6GO]u[RGMtk_탈vٿ?]DlC7FuD0+ mx5-7īx`)T0`#YjtSViRN™bx駊(7ZqEWF29a$G4DKe]2Vľ3yy(T}2S4GRLMTL:F5䢧z:xvDsLDU/lK7!Tcyb8F\1r4bhыSDFi]$]<ƒ ƶ_5HbU8DD"JD谈  ꖃ&TA٪KPXDd 9-z!z7ѾEqEPc[LS/QT8XXB$QT8eU j|FeU j|CeU j|K)TT09eDIbuE25L]1r4bhы#F.F\$'L8ZE4.e'9hJu*4􋤞%LӜZe J́$>/)z$HFS*%Zf2S4GRLu4Ķjd`|U[)Kd6ѭi%F %Z3Yj9_$u#FiS/`=.pѰZoQ&6 M`q*:iѰZoDj)GMTTyl$))'tf*@H l $+yb՝ab&O./usr/es/sbin/cluster/events/utils/cl_fscsiluntestste.( est ,0128:;A_acdilnr -.3456=@Hbfgmopu %(/79LPTX`hkv|!$CDMNR[]x#)*QWYZ^j~+q{dP&0E°i$KCffթ~qG d_d_HsA<psԼ-C [*@3=B]3 6;$Z`[x 0ܑ[Exl!Ow.xnBn0^hY@2dUPה{y '`ϕg?Dj<3^nXclx@lB΄ϧ|@>s[Bg>Ym95Qcat+|Ly'ӚBS5Qcat+|Ly"t4搔Ty@p4|( :>xV&`p4 ߟ|y9rXN?PuB*NѨEyLCf1ǁLEAJc1~l`t C 2:L:AqЌe) R)$H9I]1~Ѐlg)|t t!M|t">t"cB3GB9bl ,/ H7S* VdA6R:>χt :LaІ25@+ ϩ9RGc+@Q-kZsI%il]y#^uGAxh&8bv?<*TkT`s t;6f< `3 0)hflfԃ,L6+  ¤aI\H*:E0ٓ獔Ts*4>C8R ϧH2WW6Y R>̮,}<0H#`Z+}KEbsKoVe vˠ9[|ͥVMF/ӚO3}KK_@ZjA\Hfy,:- FD3B:bo};줶\TWv6h4a B91hP`e#tc8&CL@dPdt#$fGCTeIGFeq c#36SZA}HC63)D}HE63͔gԎsc8L$Y)!K걂 ʃ-4&GCg1t6GB L:AP8 y# g*H"7*2W63 _3 PӚ[+}<^Y@sNi< -WO<ԯ:#lXDh1+R6@ɓrby#hi!;咴 9HE#@>y fȽ!^WxKCԴ8@sNiy-b9fWU9FF/Ӛ[|VW 2}x@7 V{ϩhpTiE/}V sKϩhp)#2O<̨0|1}V咲O@s*4>Y5HE&>x> V{ϩhpTi ϪӚA\B OY5|:h1HE# O+W& d4H9dEq\y&qfy&,JU~͠t2d'H/+,_U94J> 9HE#\x Oo9 65͕Ε-ʍ%eqO}VTi&|j8MZA,J吏+%zAey^Z 9Eqtyhi +U3h1+Xy&M) dt$>WxJd q )- Jyɩ\>>LH/+,_U94J>Llf͡@/Hp\y#d"qy\@nye-R9kZ 8ŊsHȮ<o}VTi>Y@sNimY\>dyY$H9W)}y\y- 7 p#+~huǞKyCZd t;alx(`e,@e))͔ce0Pl26SVl36SZl:@[p 獔}K1Q9>f -0\>>y̨}H ɲ -d~TyԲ*@rpԲH `tH2bp,}T鲙SeI*x:/@s*43$S1+#.W) p˾g*HbsJWˆ[+H2lô dp;T2 }i R +4)YZsHE4Wd Og)w:sI%ex _Oi+H cx OUauL&& N@@9^6O<tl 8o?'||]:6 ΟNfi|<Ѱht?s3H.6O<tl 8o? >A.[Os'34'||]:6 ΟNfi N@@9G N@@9c# Z{ ''nl8,z2Z BI";hXOO8ng@N̝Os|xxTi>Gc#|x|Ti>f?Gc ʂ9^ec ʂ8,$U" ixZ cBxlA  J'x~@X#m 't@pp|\>OD![.F@OAQFOD[ep/ } '*4 7A Mm$րy}_muAWdUyh ӚR! X 25VP摁B?4 ^ F@!!-F8/X)`%C2,B ,aQ*Nh t B ~0|> `)8@O>1b Ni+N08(&OP0&!Q!* |BPd B{ )?A B|EL;d*BU*`n|I |EF1;dASe@ 1XX8b;d+~ʿdu){CdϐoFV #dϐoFV  <Ѱht?s3Hjly t@p4 ::10wg (D DHW:+2uxREkV ֬,T+PuB$TՅVa С(%%NAZ1ZaDPRE*qإfgV.Z+VWj[Q_uŮ*{u-Wu,/RPj.8򷔖-qՀέN(T`s8" `D\:+s(uS \^ޭN(VF 8.q)KTqsլth?R^H°^ V.P_R^H°^ ]T K)}8VR)wZNZdx- 0V^ǔ^.KTՋL<arS 8ՋxީjU:iuR.J|YzPZ{-PZV-2\UO+/P\ V/uz ]TŦKqׂJ)e yAj|RTAkXs:Z)V%>`As(-X׏]ꖨ-uS.y^ E*.qK ]TŦKqׂJ)e yAj|RjU:iuR.J|YzPZ{?ZNZdx- 0V^ǔ^.ꖨ-uS.y^ E* \\*  KTՋL<arSTkT`sZNZdx- Vb*0\O .TAkXs:Z)V%>`As(-X׏]J)w-PZV-2\UO+/P\ V/uR]KTՋL<arS 8ՋxԢ}Rub%8hX\)u( !AyO>.yx#>5RΩjU:iuR.J|ǔ:Պ/uaPSO` @գL@գTAkXs:Z)V%>SO` |^}bHZb%":h-PZV-2\UO]>YHZ1>qHZ1> AJK)իF'+qB%@գT*xZ|D#>| ɉFj\tVd[ -2uEfO,ZRub%8ĊT^bH:B!PXAZ"Z$g!JZnȽ vg j ECD3 $/-sOg^q=KLsT?zCp/XT?C.q ʇ> }<[+.xrC-.qC1qzCX`ϘT?.I{}ח`doCϨP{Fʃݟ>`/^?*?*_ʇ_1=P{ yJb`h&C [m!EHdhQ"EHb`⍤10G6ߊ6{"3xH(CB-RF)EI"%BRF>HP%ċ&Vb*0\O%dhB5DNPꥆ ]y(ZE]Tk%HiVb HZ2lF5DK QjDAiJ%ݲPj.JdubҘbK,VĘ  B%%1&(krb5`rT4JbF!u+ : qj)yIؐ\Y(-2\B&"V (yzCDhU:BiHQK,V@ AJKJFJ0VKJFJ!1R+pjI{IQbEk+pjI{IQ5*Ԙґ-0u %#E(-2\BuRV+J ř XjV.Jh!{yz@tZO\^X` V.Jhט//t(J6셜  Q!Hq+5B$8ݐWv@!W D Av@v@C 7i9n!㑹. 7h x5n\4n<5npGA/*npks Mț+ntwQPl&MΕlr&UFMί`s7: 6Bs2nqxO7 @7lSr&B7"n1p0l܉xlyp,n!܉'nq Mț7 Fl&M⭐~nD>.ț- pJ78>cțOpGbnDx{hq>Ѐ܉O7($7lFMnjvCr&sǀQÝ܉ucsǁИ܉>:nDx xX78ysnD@{hNnD@Wt܉hqݐ܉퐊nD@8:nD@m7"n qusd97"n ]hqFMțus!ѹqd97"n>|,n>Q(qvrnD|cs[Bcr&hq nqpJ78|6FMhNnD|#m7"n!FD!ɹq nDB7"n!7"n! țWs d97"n!^nqs7WZ78BlFM d97"n!O @ǂQvCr&>nqhLnD܀m7"n@pnqgs#r&~М܉5:nD܀Z78܀l&ME7"n@7m7"n" ț!֍7l&M@n"&M@FFtnDDc7 7sC܉ m&7"n"GMțDžsL8%n##r&3Bsr&2Mom7"n#>nqq7vB)q9:nDF7=q ѹC!ɹq n$?7nqtnDHsĀd!7oț?Ս7lhSr&x#n6vMț 7l;FMB]nD܄)rQMț샓r& dM@Q!rnD܄ 7"nBCr& c,8%n%;țD|,n%l#r&QMțV샓r&Piq)97"n% $7"n% AB7"n&|nqb 7 Bq0 8X78L6Bskss ܉⽢r&8%ny^tnD 7(qE ßP xP*P @33>QC͸_eqin: b>t-A쁸?Km,J>U7|cm8|/7 n[xy4Dx)ۏ FqsǂHx@q'n<&pz(n C>@7[EqFaз҆s7 q;Сpn>ۏA#qMk7L| # '[I)*F5&0 7ַW&m\7-n!ۈB$͹0n@{r|[  [6Sr %n@ ѹAiCD= [C&"0ո\ q0"D>D7H7n" @ -drF&1 ۈ` 7h`a@PHMĂ7@ZH .n$*VA|-Ā&Aăh [;n$ ĀvǙnG {v߲ݰanٴ>ݱycaJݰ&novl!-nBv rF!} hB$BKB5Ck3BsPZƌ󿐜Ik3Bs8&'@ !9Rx4g/^á mcFyN~'H!+!9 4g 4gXᅬh; *yoC<1!9ט/XўwgV<'?1^sźv<'?101qwC<3!9Dz Xўw8 h; yz ֱ<'?<'?0V^\`xmk3BsD3ƌ󿐜34gak3Bs3ƶ<'?u-Zx4g/^`34gu 4g<ᮆx1!9/\Ɔxsk3Bszkk3Bs.I{g[XўwZ` mk3Bsz4g,wqE yJ/"{ggPWCk[LGd mcFzCߘ ԯ.UCņkJB1gذi^&DRFaҼLXf)#'+ĨJHQ+H+ȑ} ֕iI/ذi^&)#G+ȊHQ} = ֕r?aҼPRb5xXR ֕ |Y+Ȑ,3_b5  ֕E }?aذMXf.,3ZW)腾ņkذ*,3_} ذOb5ʿb5ɗadذņk{+Ĥ |adAϱadņk{+ĢҐ>FOXfaXf,3_OaҼLNRɉ @ ,3_b5ņkذ?b5pAXfņkذ = ,3_ UXfΤ,3_Bb5t?b5t/,3_@ذ{󡯱a:a:Ob5t>ņk } xذ xņk<b5:wذ |ذ-Xfǁa{b5@>_2 vV{ BذHX[C; 7hfņiJsikzh*b3B= ΨZRR,XfĢm Zb,XfrBaEa#ذͤn~έdR?Vņg$pέd?߷g@n:Uf}dm@ld~ĤA $n:gPذ,3O#\ta!Ab4B Јņit#1aʘ%#EՋ 8Cf,39!c ذĠp\ņ ;b68[ŝ}?B>gk A>3AJgFLX`I$,-pEϲ_5k%1m,3OPoذ?@h1aXfġ>b4%?b4&gذlذ%#E Xfwh1b3B6,XfrBax͋ wņm$p&ϴeV.Yiέd7A/RrPFFXHX[gqWԯ.Tčȩ ҥyp)N,3I.y(1aj:4J, ,3?` {21b3&[LXfذa7 ذ=+bR4_Xfp %#Eņg^)/30#a!;b3jb͛Xc`wv,0_$q߷<g  P"ƌ. nņ7& X`H,3o L-m3B0^ņL7Xod10E;{} ט//t $L<b~r=.b#/Tb ƌ솿:F Nv@E$쀍G^^ Ygl,IyzJ^nDUgi"/p$wdv,I /uǭ ;L=jBG{ Gv(Sg3_H^% l3?hw 쀡GLW\ksݜh~B;#+.x; &˖\4$w,I*yn$ Fx*yn$ 3\b#`@pHb Auh~B;!ט/ vW\b#Ł!- G$1^sŶ#v?;rՋ@^Ł! cg3_Hb`bHgd;rՋ@dŁ"Dz pƌW#(K׮0 ͝v@.ZpБ,I KyݸH,Fx KyݸH,3#.ZpБvŁ#/T3_nYƌW#:C5hvB?\b#X 8]z q*dIOB\|(><p"V /> P/uaD$I###?$PuB(P{Ub'h"PbBP勜,uZ/dev/null | while IFS='=' read name value; do name=${name//[[:space:]]/} if [[ "$name" == "type" ]]; then value=${value//\"/} value=${value//[[:space:]]/} fstypes[$value]=: fi done echo ${!fstypes[*]} } function getMethod { typeset PS4_FUNC="getMethod" typeset type=$1 typeset name=$2 typeset ODM=$3 typeset command odmget -q "name=$name and type=$type" $ODM | while IFS='=' read name value; do name=${name//[[:space:]]/} value=${value//\"/} if [[ "$name" == "command" ]]; then echo $value return 0 fi done return 1 } umask -S u=rw,g=,o= typeset FUNCTION=usage typeset -A methods aflag= bflag= arg= while getopts v:o: name do case $name in # Functions v) volumegroup=$OPTARG ;; o) ODMDIR=$OPTARG ;; esac done [[ -z $volumegroup ]] && exit 2 FSTYPES=$(getFilesystemTypes) for fstype in $FSTYPES; do lsfs_method=$(getMethod $fstype LISTNAMES HACMPoemfsmethods) lsvg_method=$(getMethod $fstype LSVOLUMES HACMPoemfsmethods) if [[ $lsfs_method && $lsvg_method ]]; then FILESYSTEMS=$($lsfs_method 2>/dev/null) # For each filesystem check to see if the volume this FS belongs # to is the one we're looking for by running the LSVOLUMES method for fs in $FILESYSTEMS; do VOLUMES=$($lsvg_method $fs) for vg in $VOLUMES; do if [[ "$vg" == "$volumegroup" ]]; then echo $fs fi done done fi done O k_#$+@Fb՝ab&F./usr/es/sbin/cluster/events/utils/cl_get_oem_methodtem@@#!/usr/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_get_oem_method.sh 1.6 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2005,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)04 1.6 src/43haes/usr/sbin/cluster/events/utils/cl_get_oem_method.sh, hacmp.events, 61haes_r714 3/26/07 17:52:26 ## ## NAME: cl_get_oem_method - Processor of HACMPoemfsmethods and HACMPoemvgmethods ## ## DESCRIPTION: Determines the method for a certain resource type based on method name ## ## ARGUMENTS: { -t resource type (i.e. VxVM40) | -m method name } ## ## [ functions ] ## -t resource type (VxFS40) ## -m method name (ONLINE) ## ## [ odmdir ] ## -o set the odmdir to the directory provided ## ## RETURNS: ## 0 Success ## 1 Failure w/ message ## 2 Bad Arguments ## ## ## FUNCTIONS: ## usage ## ################################################################################# ## PROGNAME=${0##*/} typeset -A EXIT_CODE EXIT_CODE=( \ [SUCCESS]=0, [FAILURE]=1, [INVALIDARGS]=2 ) USAGE="$PROGNAME: { -t resource type | -m method name }\n" function usage { typeset PS4_FUNC="usage" echo $USAGE } umask -S u=rw,g=,o= typeset FUNCTION=usage typeset -A methods aflag= bflag= arg= function getMethod { typeset PS4_FUNC="getMethod" typeset type=$1 typeset name=$2 typeset ODM=$3 typeset command # The following are mappings of default keywords to AIX commands typeset cmdlsvg="LSVG" # Method to list VG names typeset cmdlspv="LSPV" # Method to determine AIX hdisks hosting VG typeset cmdvaryonvg="VARYONVG" # Method to bring VG online typeset cmdvaryoffvg="VARYOFFVG" # Method to bring VG offline typeset cmdlsvgactive="LSACTIVEVG" # Method to list active VGs typeset cmdlsfs="LSFS" # Method to list FS names typeset cmdodm="ODM" # Method to determine VG hosting given FS typeset cmdmount="MOUNT" # Method to bring FS online typeset cmdumount="UMOUNT" # Method to bring FS offline typeset cmdlsfsactive="LSACTIVEFS" # Method to list active FSs odmget -q "name=$name and type=$type" $ODM | while IFS='=' read name value; do name=${name//[[:space:]]/} value=${value//\"/} value=${value//[[:space:]]/} if [[ "$name" == "command" ]]; then if [[ "$value" == "$cmdlsvg" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/LSVG" elif [[ "$value" == "$cmdlspv" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/LSPV" elif [[ "$value" == "$cmdvaryonvg" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/VARYONVG" elif [[ "$value" == "$cmdvaryoffvg" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/VARYOFFVG" elif [[ "$value" == "$cmdlsvgactive" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/LSACTIVEVG" elif [[ "$value" == "$cmdlsfs" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/LSFS" elif [[ "$value" == "$cmdodm" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/ODM" elif [[ "$value" == "$cmdmount" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/MOUNT" elif [[ "$value" == "$cmdumount" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/UMOUNT" elif [[ "$value" == "$cmdlsactivefs" ]]; then echo "/usr/es/sbin/cluster/OEM/AIX/LSACTIVEFS" else echo $value fi return 0 fi done return 1 } while getopts t:o:m: name do case $name in # Functions t) type=$OPTARG ;; m) method=$OPTARG ;; o) ODMDIR=$OPTARG ;; esac done getMethod $type $method "HACMPoemvgmethods" (( $? == 0 )) && exit 0 getMethod $type $method "HACMPoemfsmethods" PP k4$$+@b՝ab&./usr/es/sbin/cluster/events/utils/cl_get_oem_typedtem@@#!/usr/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_get_oem_type.sh 1.7 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2005,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)05 1.7 src/43haes/usr/sbin/cluster/events/utils/cl_get_oem_type.sh, hacmp.events, 61haes_r714 3/26/07 17:52:24 ## ## NAME: cl_get_oem_type - Processor of HACMPoemfsmethods and HACMPoemvgmethods ## ## DESCRIPTION: Determines the type of resource based on the passed in argument ## (filesystem / or volume) ## ## ARGUMENTS: { -f filesystem | -v volume } ## ## [ functions ] ## -f filesytem mount point ## -v volume name / diskgroup name ## ## [ odmdir ] ## -o set the odmdir to the directory provided ## ## RETURNS: ## 0 Success ## 1 Failure w/ message ## 2 Bad Arguments ## ## ## FUNCTIONS: ## usage ## ################################################################################# ## PROGNAME=${0##*/} typeset -A EXIT_CODE GetMethod="/usr/es/sbin/cluster/events/utils/cl_get_oem_method" EXIT_CODE=( \ [SUCCESS]=0, [FAILURE]=1, [INVALIDARGS]=2 ) # # This is the list of methods that will exist as commands in HACMPoemfsmethods # HACMPoemfsmethod="LISTNAMES" HACMPoemvolmethod="LISTNAMES" USAGE="$PROGNAME: { -f filesystem | -v volume }\n" function usage { typeset PS4_FUNC="usage" echo $USAGE } function getFilesystemTypes { typeset PS4_FUNC="getFilesystemTypes" typeset -A fstypes odmget HACMPoemfsmethods 2>/dev/null | while IFS='=' read name value; do name=${name//[[:space:]]/} if [[ "$name" == "type" ]]; then value=${value//\"/} value=${value//[[:space:]]/} fstypes[$value]=: fi done echo ${!fstypes[*]} } function getVolumeTypes { typeset PS4_FUNC="getVolumeTypes" typeset -A voltypes odmget HACMPoemvgmethods 2>/dev/null | while IFS='=' read name value; do name=${name//[[:space:]]/} if [[ "$name" == "type" ]]; then value=${value//\"/} value=${value//[[:space:]]/} voltypes[$value]=: fi done echo ${!voltypes[*]} } function getPredefinedFilesystemType { typeset PS4_FUNC="getPredefinedFilesystemType" typeset filesystem=$1 if [[ ! -f $ODMDIR/HACMPoemfilesystem ]]; then return 1 fi odmget -q "name=$filesystem" HACMPoemfilesystem | while IFS='=' read name value; do name=${name//[[:space:]]/} value=${value//\"/} if [[ "$name" == "type" ]]; then echo $value return 0 fi done return 1 } function getFilesystemType { typeset PS4_FUNC="getFilesystemType" typeset filesystem=$1 typeset fstypes typeset type #Is this filesystem already defined to HACMP? if so then get its type and abort getPredefinedFilesystemType $filesystem if (( $? == 0 )); then return 0 fi # Otherwise we have to try and find the filesystem via the OEM list method fstypes=$(getFilesystemTypes) for type in $fstypes; do command=$($GetMethod -t $type -m "LISTNAMES" "HACMPoemfsmethods") if (( $? == 0 )); then filesystems=$($command) for fs in $filesystems; do if [[ "$fs" == "$filesystem" ]]; then echo $type return 0 fi done fi done return 1 } function getPredefinedVolumeType { typeset PS4_FUNC="getPredefinedVolumeType" typeset volume=$1 if [[ ! -f $ODMDIR/HACMPoemvolumegroup ]]; then return 1 fi odmget -q "name=$volume" HACMPoemvolumegroup | while IFS='=' read name value; do name=${name//[[:space:]]/} value=${value//\"/} if [[ "$name" == "type" ]]; then echo $value return 0 fi done return 1 } function getVolumeType { typeset PS4_FUNC="getVolumeType" typeset volume=$1 typeset voltypes typeset type typeset command #Is this volume already defined to HACMP? if so then get its type and abort getPredefinedVolumeType $volume (( $? == 0 )) && return 0 # Otherwise we have to try and find the volume via the voltypes=$(getVolumeTypes) for type in $voltypes; do command=$($GetMethod -t $type -m "LISTNAMES" "HACMPoemvgmethods") if (( $? == 0 )); then volumes=$($command) for tvol in $volumes; do if [[ "$tvol" == "$volume" ]]; then echo $type return 0 fi done fi done # As a last resort, determine which type activates the volume group voltypes=$(getVolumeTypes) for type in $voltypes; do command=$($GetMethod -t $type -m "ONLINE" "HACMPoemvgmethods") if (( $? == 0 )); then $($command $volume) if (( $? == 0 )); then # Found. Bring offline and return echo $type command=$($GetMethod -t $type -m "OFFLINE" "HACMPoemvgmethods") $($command $volume) return 0 fi fi done return 1 } umask -S u=rw,g=,o= typeset FUNCTION=usage typeset -A methods aflag= bflag= arg= while getopts f:v:o: name do case $name in # Functions f) FUNCTION=getFilesystemType arg=$OPTARG ;; v) FUNCTION=getVolumeType arg=$OPTARG ;; o) ODMDIR=$OPTARG ;; esac done $FUNCTION $arg ## k0%$+@ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_getsdrinfoedtem@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_getsdrinfo.sh 1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)22 1.9 src/43haes/usr/sbin/cluster/events/utils/cl_getsdrinfo.sh, hacmp.events, 61haes_r714 1/6/09 06:11:24 ######################################################################### # # # Name: cl_getsdrinfo # # # # Description: This script retrieves expected.top and # # switch_partition_number information from # # the SDR. # # # # Called by: cl_HPS_init # # # # Calls to: None # # # # Arguments: None # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### PROGNAME=$(basename ${0}) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.9' CSS=/usr/lpp/ssp/css TMP=/tmp LOG=/var/adm/SPlogs/css SYSDEF=/etc/SP BIN=/usr/lpp/ssp/bin FED_TYPE=$(LC_ALL=C lscfg -v | grep sn | awk '{ print $4 }') if [ -n "$FED_TYPE" ] then exit 0 fi export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)":${CSS}:${BIN} HA_DIR="$(cl_get_path)" if [ -a /etc/SP/FINISHFLAG ] then rm /etc/SP/FINISHFLAG fi # Retrieve the switch partition from the HACMPsp2 ODM PARTITION=$(odmget -q"name = PARTITION" HACMPsp2 | grep value | awk -F \" '{ print $2 }') TOPFILE=$($BIN/SDRGetObjects Switch_partition switch_partition_number==$PARTITION topology_filename | tail +2) $BIN/SDRRetrieveFile $TOPFILE $SYSDEF/expected.top.new SDRGetObjects Node switch_partition_number==$PARTITION node_number switch_node_number reliable_hostname switch_protocol | tail +2 > /etc/SP/Enodes.SDR.tmp SDRGetObjects Adapter adapter_type==css0 node_number netaddr netmask | tail +2 | while read NODE_NUMBER NETADDR NETMASK do awk '$1 == "'"$NODE_NUMBER"'" {print $1 " " $2 " " $3 " " $4 " " "'"$NETADDR"'" " " "'"$NETMASK"'"}' /etc/SP/Enodes.SDR.tmp >> /etc/SP/Enodes.SDR.tmp2 done if [ -s /etc/SP/Enodes.SDR.tmp2 ] then sort -n /etc/SP/Enodes.SDR.tmp2 > /etc/SP/Enodes.SDR.tmp rm /etc/SP/Enodes.SDR.tmp2 fi if [ -s /etc/SP/Enodes.SDR.tmp -a -s $SYSDEF/expected.top.new ] then touch /etc/SP/FINISHFLAG else cl_echo 840 "\n$PROGNAME: Error reading the SDR.\n" $PROGNAME exit 1 fi re k^&$+@9Mb՝ab&9M./usr/es/sbin/cluster/events/utils/cl_hantxinfo@@a/H  HD0DP0 0X1L.textPP HP'-nU .data0 0 D +@.bss00.loader.debug"z B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$H A| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@a 8`a Ha Ta X88HAa \c8`HŀAHA(A48\HA8881H AH-A8` H(8`a LaDHa 8 H)Aa Da D,Aa Da ha h,cA`a h,dAHa h,lAa h,oAHHPaD(Aa L8ca Lb`caDH48`a HH(8`a XH8`a THa L8ca La 8(HqAa Da D,@LaD(@88hHрA888&HAHA8` HIAa X,@a T,@Ha X,Ala T,A`8tHiA888'H}AHA8HAA8h88(HUAHuA8`HAa \HՀA(@,8HA888)H AH-AHŀA,@88HA8t88*HՀAHA8`H9A8HAaLaL,@88HqA888+HAHA8`HA8HUAaHaH,@88H!A888,H5AHUA8`HAD88a@H%AaH8P8@H9Aa @a @,@@8HA888-HɀADHA8`H)AHa @,@8`H Aal,A8`HA8a@8`a P@D88a@8HiAHaH P88@HAa @a @,@Da X,A8a H,A884H%A8P8H8a@HAH4a H,A88$HA8P8\8a@H̀AaL88@HAa @a @,@<8H]A8p88.HqAHA8`HՀAHDa @,@88HA8<88/H-AHMA8`HA8808aHHAa X,Axa H,A88XHA8H8a88HUAa @a @,A08HA8880HA8HAHta H,A88 HA8H8a88HAa @a @,A08H A8880H!A8H=A8`a PaH P88@H]Aa @a @,A8`HH x|8! pN AmainDA L| N HA L| N LA L| N PA L| N TA L| N XA L| N \A L| N dA L| N hA L| N lA L| N pA L| N tA L| N xA L| N |A L| N A L| N 0\0L0@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:210\PdDvCuDvmainl:dcol:dco-l %sODMDIRselectstrtoldstrtoimaxscripts.catscripts.catscripts.catscripts.catscripts.catscripts.catscripts.catscripts.catname = '%s'scripts.catscripts.catscripts.catscripts.catscripts.cattty/rs232/htygetdtablesizeConfiguring %s Unconfiguring %s uniquetype = '%s'uniquetype = '%s'No entries retrieved No logical name given No CuDv object for %s ODM method error - %s ODM method error - %s open class PdDv failed open class CuDv failed Now running configure %s error retrieving from ODM Now running unconfigure %s Failed to initialize the odm requires superuser privileges Could not set odm directory path Must specify either open or close PdDvLn = '%s' AND parent = '%s' AND status = %d$Id: cl_hantx.c,v 7.2.2.1 1996/12/06 21:34:02 suad Exp $USAGE: close_hty -l logical name -o open -c close -d debug @(#)23 1.5 src/43haes/usr/sbin/cluster/events/utils/cl_hantx.c, hacmp.events, 61haes_r714 3/28/97 17:26:31P0X0X0 0 0 0]errno@exit@ catgets@ getenv@ getuid@ sprintf@ printf@ @ getopt@ +@ __crt0v@optarg@8@get_catd@ U@ f@ u@ @ @ @ __start0D! 0 0 0 0 40D0H0L0P0 0 0000000 0000 0 000000000/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.olibodm.ashr.o@VPDcl_hantx/5765E6200/520 setlocale __mod_init__malloc_user_defined_nameodm_run_method odm_set_pathodm_mount_classodm_initialize odm_get_objodm_get_first__default_char:t270=-5Class:T32=Y0s(;"lock_data_instrumented:T111=Y0s(; :t100=-13int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5 :t12=f-1;:t13=ar0;0;13;5 :t15=f-13;:t16=ar0;0;7;5:t18=ar0;0;2047;-4&fd_set:T19=s8192fds_bits:18,0,65536;;fd_set:t20=19time_t:t22=-1suseconds_t:t23=-10timeval:T24=s8tv_sec:22,0,32;tv_usec:23,32,32;; :t26=f-1;:t27=ar0;0;6;5 :t28=f-1;:t29=ar0;0;4;5:t30=ar0;0;255;-2:t31=ar0;0;255;-2:t45=ar0;0;255;-2:t42=ar0;0;1023;-2:t41=ar0;0;1023;-2}Crit:T43=s2064value:41,0,8192;name:42,8192,8192;relation:-1,16384,32;offset:-1,16416,32;type:-1,16448,32;match:-1,16480,32;;@ClassHdr:T36=s12magic:-1,0,32;ndata:-1,32,32;version:-1,64,32;;:t38=ar0;0;1;-4lStringClxn:T39=s28clxnname:7,0,32;open:-1,32,32;hdr:37,64,32;data:7,96,32;fd:-1,128,32;reserved:38,160,64;;ClassElem:T34=s40elemname:7,0,32;type:-1,32,32;offset:-1,64,32;size:-1,96,32;link:33,128,32;col:7,160,32;linktype:-1,192,32;holder:7,224,32;ordinal:-1,256,32;reserved:-1,288,32;;!Class:T32=s316begin_magic:-1,0,32;classname:7,32,32;structsize:-1,64,32;nelem:-1,96,32;elem:35,128,32;clxnp:40,160,32;open:-1,192,32;hdr:37,224,32;data:7,256,32;fd:-1,288,32;current:-1,320,32;crit:44,352,32;ncrit:-1,384,32;critstring:45,416,2048;reserved:-1,2464,32;end_magic:-1,2496,32;;__long32_t:t46=-4:t47=ar0;0;15;-2:t49=ar0;0;15;-2:t50=ar0;0;15;-2:t51=ar0;0;15;-2:t52=ar0;0;15;-2:t53=ar0;0;15;-2:t54=ar0;0;15;-2:t55=ar0;0;15;-2:t56=ar0;0;15;-2:t57=ar0;0;15;-2:t58=ar0;0;15;-2:t59=ar0;0;15;-2:t60=ar0;0;255;-2:t61=ar0;0;255;-2:t62=ar0;0;255;-2:t63=ar0;0;255;-2:t64=ar0;0;255;-2:t65=ar0;0;255;-2:t66=ar0;0;255;-2:t67=ar0;0;47;-2PdDv:T68=s1984_id:46,0,32;_reserved:46,32,32;_scratch:46,64,32;type:53,96,128;class:54,224,128;subclass:55,352,128;prefix:56,480,128;devid:57,608,128;base:-3,736,16;has_vpd:-3,752,16;detectable:-3,768,16;chgstatus:-3,784,16;bus_ext:-3,800,16;fru:-3,816,16;led:-3,832,16;setno:-3,848,16;msgno:-3,864,16;catalog:58,880,128;DvDr:59,1008,128;Define:60,1136,2048;Configure:61,3184,2048;Change:62,5232,2048;Unconfigure:63,7280,2048;Undefine:64,9328,2048;Start:65,11376,2048;Stop:66,13424,2048;inventory_only:-3,15472,16;uniquetype:67,15488,384;;:t70=ar0;0;254;-2:t71=ar0;0;255;-2jlistinfo:T72=s524classname:70,0,2040;crit:71,2040,2048;num:-1,4096,32;valid:-1,4128,32;class:33,4160,32;;:t74=ar0;0;47;-2CuDv:T75=s152_id:46,0,32;_reserved:46,32,32;_scratch:46,64,32;name:47,96,128;status:-3,224,16;chgstatus:-3,240,16;ddins:49,256,128;location:50,384,128;parent:51,512,128;connwhere:52,640,128;PdDvLn:69,768,32;PdDvLn_info:73,800,32;PdDvLn_Lvalue:74,832,384;; :t76=f-1; :t80=*-11:T81=s32_ptr:78,0,32;_cnt:-1,32,32;_base:78,64,32;_bufendp:78,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:80,224,32;; FILE:t82=81:t85=ar0;0;19;-2T_header:T86=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:85,64,160;;A_msgptr:T89=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T91=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:90,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T93=s36_mem:7,0,32;_name:7,32,32;_fd:83,64,32;_hd:87,96,32;_set:92,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t95=94 :t97=f-1; :t99=f-11; :t101=f-13; :t102=f-1;uint_t:t103=-8uid_t:t104=103 :t105=f104;int32long64_t:t106=-1simple_lock_data:t107=106complex_lock_status:t108=106Scomplex_lock_data:T109=s8status:108,0,32;flags:-3,32,16;recursion_depth:-3,48,16;;'drw_lock_data:T110=s4status:108,0,32;;*:T115=s8_id:-8,0,32;occurrence:-8,32,32;;):T116=u8name:-4,0,32;_lock_id:115,0,64;;:t114=ar0;0;0;-1 :t112=*111O:T113=u8s_lock:107,0,32;c_lock:109,0,64;drw_lock:110,0,32;lock_next:112,0,32;;vlock_data_instrumented:T111=s24lock_control_word:113,0,64;li_flags:-8,64,32;reserved:114,96,32;_lockname:116,128,64;;7_simple_lock:T117=u4_slock:107,0,32;_slockp:112,0,32;;Simple_lock:t118=117 :t119=f7; :t120=f7; :t121=f-1;CLASS_SYMBOL:t122=33 :t123=f122; :t124=f-1; :t125=f80; :t126=f80; :t128=*127 :t129=f-1; :t130=f3; :t131=f-1; :t132=f-1;:t133=ar0;0;108;-2 sstring:30 tstring:7logical_name:7 params:31 cusdev:33 predev:33 cusobj:75 kidobj:75 preobj:68 errflag:-1 __func__:V29 sccsid:V133RjV*n,r.vbzd24fh=|B|n~J0r6BGLQV[`vF`QV[=PQdVl[xQV[=eQV[jQ V[ =,oHQ\Vd[p=|oQV[=tyQV$[0=L=d=t~[t[,t@y\QpVx[=QV[=t [  8Q LV X[ x[  Q V [ ~ B8 j: < > @ B 2D ZH J L N P "R JT rV0 b0 z0 l0 440DZ0H(0Lt0P(000`0x0004000 00000000"0 0 0&0$0|    \ht "#%&()+35 69L:t;<@ADGH(PDRlSxVXY`ad,e8f<gHjTm`nlptr|suwxxyz|| }4X  4 ` d p    u get_catd errnoexit catgets getenv getuid sprintf printf  getopt  __crt0voptarg4 C P ` o { TOC0Xk__crt0v0k0k0k_$STATIC0k0kerrno0k_$STATIC0kgetenv0k0kgetuid0kget_catd0kcatgets0kprintf0kgetopt0koptarg0kexit0kC0k`0kP0ksprintf0k{0ko0k40k Ygn g.__startPk.__startPZ__start0D 0 k,p_xargc0\p_xargv0tp_xrcfg0xp_xrc0|0X0.fileg &k`)` rp@ kr_$STATIC0 kea0L  0`0d0h0l0p.file:g9&-Q:t88=-8:t84=-7:t79=-11:t77=-5:t48=-3:t17=-4:t14=-13:t9=-1:t4=-2:t1=-31]n:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;~:t21=*20(=:t25=*24o{:t44=*43:t37=*36:t40=*39:t33=*32P:t35=*34(<Obu  4H\p:t69=*68 :t73=*72 q :t78=*-5 =:t83=*82 K ^:t87=*86 :t90=*89 :t92=*91 G:t94=*93 :t96=f7; :t98=f7;  $ 1 B S a y  2^r &:t127=k73@MYfs:t271=Z`k).main` -4main:F-1.bf|eIargc:p-1 argv:p8 @@DHHLPrc:-1 @c:-1 Ddebug:-1 H Li:-1which:-1 Popen:-1 Tclose:-1 Xodmdir:7 \.bs4.es.ef $e_$STATIC0 0k.bs4rcsid:V7.esglink.s? g.exit Xk(.exit X;glink.sD g.getenv @k(.getenv @@glink.sI gS hk(S hEglink.sN g.getuid k(.getuid Jglink.sS g^ k(^ Oglink.sX g.catgets k(.catgets Tglink.s] g.printf k(.printf Yglink.sb g.getopt 0k(.getopt 0^glink.sg gh k(h cglink.sl gv k(v hglink.sq g k( mglink.sv g.sprintf k(.sprintf rglink.s{ g k( wglink.s g Hk( H|glink.s g pk( psetlocale__mod_init__malloc_user_defined_nameodm_run_methododm_set_pathodm_mount_classodm_initializeodm_get_objodm_get_firstcrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_hantx.cWed Nov 24 00:04:27 2021 .setlocale.get_catd.odm_set_path.odm_initialize.odm_mount_class.odm_get_first.odm_get_obj.odm_run_method kK'$+@b՝ab&./usr/es/sbin/cluster/events/utils/cl_hats_adapterdtem@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/utils/cl_hats_adapter.sh 1.44 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 1997,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)54 1.44 src/43haes/usr/sbin/cluster/events/utils/cl_hats_adapter.sh, hacmp.events, 61haes_r721, 1612B_hacmp721 3/7/16 13:58:21 ############################################################################### # # Name: cl_hats_adapter # # This script is used during adapter swap and IP address takeover. # It invokes the hats_notify utility to update the clstrmgr with address # changes. # # Returns: None # ############################################################################### ############################################################################### # main ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x version='1.44' } # # If called during resource cleanup from clmgr, exit without doing anything # if [[ $? == 0 && ${RESOURCES_CLEANUP:-0} != 0 && $RESOURCES_CLEANUP == "CLEANUP" ]] then exit 0 fi # # Process inputs # # # interface being operated on # IF=$1 # # following values are valid flags: # # -d delete # -e enable # -t indicate to cluster manager that takeover label is being released # FLAG=$2 # # first address (use depends on flag) # ADDRESS=$3 # # second address or special # ADDRESS1=$4 # # update the clstrmgr # if [[ "$ADDRESS1" == "dare" || "$ADDRESS1" == "alias" ]] then # notify clstrmgr of this change in the alias address hats_adapter_notify $IF $FLAG $ADDRESS alias : hats_adapter_notify rc = $? exit 0 # all done fi # # error # print "$0: Internal error: called with arguments [$*]" print "$0: Please report this problem to IBM support" exit 1 glin k"D($+@=b՝ab&=./usr/es/sbin/cluster/events/utils/cl_is_fcparraydtem@@a"cH 0 \P0T0 p1L.textPPP!Z> .data0T0TT 8@.bss0 0 .loaderb .debugyR B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$HA| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|! @a8`aDa8`aЀabD,A@,@,H88~@HAc8c@H)A8`Haca@a@8 8H)A,@a@8ca@8`aH-A,@TH8PH=A888HQAc`d`D8c@HiAaHMA8aH8Hm`@888aHHuAbl8H8HAaDaD,AaD,@H8\HA888HA`d8H8c8~@HɀAHMAc8HeAc`d`,A88c@HAH(aD8ch8xHQ`,@ 8`aHAaH=A8`H|8!N A\mainLA L| N PA L| N TA L| N XA L| N \A L| N `A L| N dA L| N H @bzerohA L| N pA L| N tA L| N xA L| N 8c8,|0@A@,|0@KAA8`N 8`N 8`N @Tstrcmp|A L| N 0 t0 d0 @(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:21mainCuDv %s main/dev/selectstrtoldname = %sstrtoimaxscripts.catscripts.catgetdtablesizedisk/fdar/array%s: odm_initialize() failed. Usage: %s (e.g. hdisk1) %s: odm_get_first failed on %s. criteria=[%s] @(#)18 1.2 src/43haes/usr/sbin/cluster/events/utils/cl_is_fcparray.c, hacmp.events, 61haes_r714 10/4/00 11:48:37P0 p0 p0T000 m\___bzero@errno@_iob@exit@ fprintf@ catgets@ sprintf@ fflush@ strncmp@ %@ __crt0v@2@odmErrno@ O@ ]@ m@ ~@ get_catd@ @__start0 \! 0T0X0`0 \0 `0 d0 h0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 /usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibodm.ashr.olibclstr.ashr.olibcfg.ashr.o!@VPDcl_is_fcparray/5765E6200/520 __mod_init__malloc_user_defined_name odm_err_msgodm_terminateodm_initializeodm_get_first CuDv_CLASS__default_char:t242=-5Class:T56=Y0s(; :t112=-13int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5 :t13=f-13;:t14=ar0;0;7;5:t16=ar0;0;2047;-4&fd_set:T17=s8192fds_bits:16,0,65536;;fd_set:t18=17time_t:t20=-1suseconds_t:t21=-10timeval:T22=s8tv_sec:20,0,32;tv_usec:21,32,32;; :t24=f-1;:t25=ar0;0;6;5 :t26=f-1;:t27=ar0;0;13;5 :t28=f-1;:t29=ar0;0;4;5__long32_t:t30=-4:t31=ar0;0;15;-2:t33=ar0;0;15;-2:t34=ar0;0;15;-2:t35=ar0;0;15;-2:t36=ar0;0;15;-2:t37=ar0;0;15;-2:t38=ar0;0;15;-2:t39=ar0;0;15;-2:t40=ar0;0;15;-2:t41=ar0;0;15;-2:t42=ar0;0;15;-2:t43=ar0;0;15;-2:t44=ar0;0;255;-2:t45=ar0;0;255;-2:t46=ar0;0;255;-2:t47=ar0;0;255;-2:t48=ar0;0;255;-2:t49=ar0;0;255;-2:t50=ar0;0;255;-2:t51=ar0;0;47;-2PdDv:T52=s1984_id:30,0,32;_reserved:30,32,32;_scratch:30,64,32;type:37,96,128;class:38,224,128;subclass:39,352,128;prefix:40,480,128;devid:41,608,128;base:-3,736,16;has_vpd:-3,752,16;detectable:-3,768,16;chgstatus:-3,784,16;bus_ext:-3,800,16;fru:-3,816,16;led:-3,832,16;setno:-3,848,16;msgno:-3,864,16;catalog:42,880,128;DvDr:43,1008,128;Define:44,1136,2048;Configure:45,3184,2048;Change:46,5232,2048;Unconfigure:47,7280,2048;Undefine:48,9328,2048;Start:49,11376,2048;Stop:50,13424,2048;inventory_only:-3,15472,16;uniquetype:51,15488,384;;:t54=ar0;0;254;-2:t55=ar0;0;255;-2:t69=ar0;0;255;-2:t66=ar0;0;1023;-2:t65=ar0;0;1023;-2}Crit:T67=s2064value:65,0,8192;name:66,8192,8192;relation:-1,16384,32;offset:-1,16416,32;type:-1,16448,32;match:-1,16480,32;;@ClassHdr:T60=s12magic:-1,0,32;ndata:-1,32,32;version:-1,64,32;;:t62=ar0;0;1;-4lStringClxn:T63=s28clxnname:7,0,32;open:-1,32,32;hdr:61,64,32;data:7,96,32;fd:-1,128,32;reserved:62,160,64;;ClassElem:T58=s40elemname:7,0,32;type:-1,32,32;offset:-1,64,32;size:-1,96,32;link:57,128,32;col:7,160,32;linktype:-1,192,32;holder:7,224,32;ordinal:-1,256,32;reserved:-1,288,32;;!Class:T56=s316begin_magic:-1,0,32;classname:7,32,32;structsize:-1,64,32;nelem:-1,96,32;elem:59,128,32;clxnp:64,160,32;open:-1,192,32;hdr:61,224,32;data:7,256,32;fd:-1,288,32;current:-1,320,32;crit:68,352,32;ncrit:-1,384,32;critstring:69,416,2048;reserved:-1,2464,32;end_magic:-1,2496,32;;jlistinfo:T70=s524classname:54,0,2040;crit:55,2040,2048;num:-1,4096,32;valid:-1,4128,32;class:57,4160,32;;:t72=ar0;0;47;-2CuDv:T73=s152_id:30,0,32;_reserved:30,32,32;_scratch:30,64,32;name:31,96,128;status:-3,224,16;chgstatus:-3,240,16;ddins:33,256,128;location:34,384,128;parent:35,512,128;connwhere:36,640,128;PdDvLn:53,768,32;PdDvLn_info:71,800,32;PdDvLn_Lvalue:72,832,384;;:t75=ar0;0;127;-2 :t76=f-1; :t77=f-1; :t81=*-11:T82=s32_ptr:79,0,32;_cnt:-1,32,32;_base:79,64,32;_bufendp:79,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:81,224,32;; FILE:t83=82:t86=ar0;0;19;-2T_header:T87=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:86,64,160;;A_msgptr:T90=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T92=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:91,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T94=s36_mem:7,0,32;_name:7,32,32;_fd:84,64,32;_hd:88,96,32;_set:93,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t96=95size_t:t99=-10 :t100=f-1;:t101=ar0;0;J;56 :t102=f-1; :t103=f-1; :t104=f-1;CLASS_SYMBOL:t105=57 :t106=f81; :t107=*-1 :t108=f107; :t109=f-1; :t110=f-1; :t111=f-11; :t113=f-13; :t114=f3; :t115=f-1; :t116=f-1; :t117=f-1;:t118=ar0;0;15;83:t119=ar0;0;113;-2 disk_name:7adapter_name:7 cusobj:74 criteria:75 retval:-1verbose_flag:-1 __func__:V29 sccsid:V119 progname:G7RhV*n,r.v`zb24df*zBzn|~J0v68:/49,>>:DCXHn8x/*%MLR:CH/ W0\X/p"a*< >2@ZBDFH%JFNnPR".T0T`0Xx0`j0 \X0 `(0 dr0 h(0 0 0 ^0 v0 0 0 0 0 0 0 0 0 "0 0 0 0 0 &0 $0 0 0       $,< L`d!"$%&get_catd ___bzeroerrno_iobexit fprintf catgets sprintf fflush strncmp  __crt0vodmErrno 4 @ N ] kTOC0 pk__crt0v0 k0 kv0 k_$STATIC0 k0 kerrno0 k_$STATIC0 kprogname0 k_iob0 kfprintf0 kfflush0 kstrncmp0 kN0 kget_catd0 kcatgets0 kexit0 ksprintf0 kk0 k]0 kodmErrno0 k40 k@0 k Wgl g.__startPk.__startPX__start0 \ v0Tk,p_xargc0 tp_xargv0 p_xrcfg0 p_xrc0 0 p0 .filegk`)M p]@ kp_$STATIC0keN0 d  s0 x0 |0 0 0 .file!g,-:t98=-10:t89=-8:t85=-7:t80=-11:t78=-5:t32=-3:t15=-4:t12=-13:t9=-1:t4=-2:t1=-319J:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;Zkx:t19=*18:t23=*22-9JVht 1DWj} :t53=*52:Nbv:t68=*67:t61=*60as:t64=*63:t57=*56:t59=*58:t71=*70 % 8:t74=*73 : N Z:t79=*-5 f r :t84=*83  2:t88=*87 :t91=*90 :t93=*92 :t95=*94 :t97=f7;    ) @ M Y g t :t243=Z`k).main` x!Zmain:F-1.bfe;argc:p-1argv:p8envp:p8 @D$Herrmsg:72>.bsP.es.efe`_$STATIC0kr.bs_.esprogname0 mstrcmp.s$ g.strcmpl)memset.s' g.bzero)glink.s, g.exitk(.exit(glink.s1 g.fprintfk(.fprintf-glink.s6 g.fflushk(.fflush2glink.s; g.strncmp0k(.strncmp07glink.s@ gFXk(FX<glink.sE gVk(VAglink.sJ g.catgetsk(.catgetsFglink.sO g.sprintfk(.sprintfKglink.sT g`Dk(`DPglink.sY golk(olUglink.s^ gyk(yZglink.s g,k(,_.___bzero__mod_init__malloc_user_defined_nameodm_err_msgodm_terminateodm_initializeodm_get_firstCuDv_CLASScrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_is_fcparray.cWed Nov 24 00:04:27 2021 .odm_initialize.get_catd.odm_get_first.odmErrno.odm_err_msg.odm_terminate k)$+ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_is_scsidiskdtem#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_is_scsidisk.sh 1.10 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)25 1.10 src/43haes/usr/sbin/cluster/events/utils/cl_is_scsidisk.sh, hacmp.events, 61haes_r714 6/2/08 17:50:44 # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # # ORIGINS: 27 # ############################################################################### # # Name: cl_is_scsidisk # # Check to see if a disk is a scsi disk # return: 0 Disk is a SCSI disk # return: 1 Disk is NOT a SCSI disk # return: 2 Error # # Arguments: hdisk # # Environment: VERBOSE_LOGGING, PATH # ############################################################################### PROGNAME=$(basename ${0}) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.10' set -u if [ $# -eq 0 ] then cl_echo 46 "$PROGNAME usage: cl_is_scsidisk hdiskname" $PROGNAME exit 2 fi if [ "$VERBOSE_LOGGING" = "high" ] then set -x clgrep="egrep" else clgrep="egrep -s" fi disk=$* # We use the AIX command lsparent to find out which type of disk # we are using. The arg -C tells lsparent to get its info from # the Customized Data Base (which is the ODM file that contains # the devices that are actually configured). We limit the output # to the "name" using the -F option. If lsparent fails then # then $disk was not know to the system. parent=`lsparent -C -l $disk -F "name"` rclsparent=$? if [ $rclsparent -ne 0 ] then : exit status of lsparent -C -l $disk -F "name" : $rclsparent cl_log 47 "$PROGNAME: Device $disk not configured." $PROGNAME $disk exit 2 fi # Finally we look for the string "scsi" in the parent name to # decide if it is a SCSI device. In addition to that, we also # need to test for SSA disks cuz they are also treated as SCSI # devices. echo $parent | $clgrep "^scsi|^ssar|^vscsi" # If it's SCSI return 0, else 1. I know this is not efficient but it # is explicit. if [ $? -eq 0 ] then exit 0 else exit 1 fi .c lF*$+b՝ab&h./usr/es/sbin/cluster/events/utils/cl_iscsilunresettem ""! ,018:;_acdeinrst 2346=@AHflop %(-.579DT`bgkmuv| $*/CILNPSX[]hx !#)?YZjqw~'+Q{dA(:!L|Z |H'rU;ٵ;o U}F-)YPO"c?HAYU  b嚟҄|YAGE %S e8V:8:G#[o^ aڝ~Fr|9c];6)`7@Bx: >% XV-ا@prBCQ CUW5cY J(QđEX晣z` ZNXA&,2oԯŇ2d67& 3;6)XeJ2c,28ߩ_dloMgvlS&qRɐߜX0ό>ا@rs|!Z+ 嶂DͿk*4E=֡HN'KpBkCN?>;g! OGPw:;91#OʱP<}ͣ zؙV*,8|~|b,N<+G@: ;U`i?>;X lS|Ul,md~~{XMtGLx)_cmqGU: #y'-sx vhidtFk29E-86?Cr!7GPwA@;Ѡ͕ǨUAŊtck$+eY{Ck=hV)اAa9|4es:XN6k#h6qR nT*Q%tI7ck$+kOHlS~6C'{ɀ:yNNܺU^AY0ib{[ 6ZLt HS11;yő8ߨ_d N=JVL: $/R& lS7 ||3 z҅X:^,/||3lzҥXk,2bS|UbF6ߏP'N,md~~,/||3l<|P'N,rhu Lv)mdm7WAjV): $ {5FC'xV((N/?#k=gUO Uݑ8ߨ_UD)Y'ߨ_/||3>FR/bP]bܾ,BlJ: $+X4N:ZKbܾ,BlSOqR/U,ǀHNta_`ybր%.NW,2 ςZ5Y(?bYzCb6ګhm`hzf9~=BL6)XeoԯŖeg MtcFW>sUX@wA8ߩ_dm7mWZ~: $ {/  j0X@hd~^: #hrd. mʼ;6g JPاAd~~,@-|^3bL S11;yő8ߨ_d,oԯd,ǀHXA oePf@pAʬا@Ŗeb5Y XAa^X@Wa6OqR ,rHd-6_ P+UUt2J푢L*NѠ6 Kdm㑁썠r\`=! EѲ>;%~ƃм|/ d)YA?c-Cτ-CZ%64?! TİڏZpmh~ l!CiGg9id}}x. v}91] ]&Kz%  s|rÜȷKap< Ϯ9Ü.-.0Bm>×[0N? p/P)*?a_aq`onXs9l9#sHBM\^2*=l A8|/9@=BJXAdx8~LS;Y4qRAa^Et [a6OqRAb-UgN?c8b<ScM$S5SW-86?Cr!x q㣳;XeoԯY}9ŁS`yaprt[8Oap!H]6q{k ȃO8|/9@=BH'NՁpUv)Ǎ,8ߩ_/U:^-Y'ߩ_~^)U SᥠCx qlF`yu{纅Yx`jdl62$;9N6CI;9'q1g>,Y! {_,  O_ %X<͊tFpiڬJ{;qR`<*)oeBкcwwdyگ!Ue xsh:x vhdrocqKsvCv91 ei`GX 7l-!#p\`=! .mφb @a(_D)Y:4Sb~vs,9Ǝ+Ȁ%b=Y'ߩ_sv0 )oԯl29, s"-97>z~s BB鶋\fD}h$ *A}t z%XاAdxWrpB1gf)lĒocq|<;<<~M&cUb3k# kpZ4VFȲ;h9U@?b6UO"ፃ0Ǩ|3G>{*Ȁ: kuǪUʌU/Ǫ|3b1QT<{SG| S~=Sm*ą)H |_1?;9Ëpڡ~V!ا@%U(Y'ߩ_~^#UYNV:+bاAd<@d%)H >=V!X@,r;bxudxtvڡ~B)Y'~:7X S}zBXAdxt0U2dyILp-Eû#dYb1{q""# D1NBÜV" ybŋ r@<:<:qP~,md~~M`i;lXυv)YX@ë#ç+ {5^@?c V|Obŋ-Qxudxt~~X=J/|v{2 mf: #Ë9h|<:Y'ߩ_>ash[`: #Ë9h; lo/moB=d Um~: 5~<.~ͧ}VD lSb~vs6ˇBV:m<:Uoxudxt~~ / ̄@aBNjbPx\O&N<9<9qmP =V: } PH =A~: #sm>{lSb~vs6ˇBVS|Nå^FLJJ;o/l\nT { ;/|φlzvf{,Ub#k$>c/ÜԯhcbeoԯX/|wU lS l{ݓ'r1h6,rv)~^Tfs 0Y,d N@c2 9J@beoԯX/|w*ا@^~Y!8!l|B<ScM3#Ls#DƵMYQڝ`>p"l|3/~2;SgMvEƇjt,3cڝ`>p"l|3/Xtp<GAҬ5QWFGBk1y9_: |Dga_1N?e86>}F{LrN?e86>}F{LrXvAa2Ϝ >#=&9_;SgMvE;SgMvE,#YcᝇgE@*Bl [Ct{m_Rb `l! Fj4JWp@dfD~ A(ed7`lS [xd vFj4JW Fj4JA2  @dfDqey OQn˄^CIrA`d vB^gf2퐗?٢ ?٢!/h~3EQ;SgMvE: |Dga_1ڝ`>p"l|3/~vvAa2Ϝ >#=&9_jt,3oH X pv @[xl#Ah4pE v; ! PD gH3G1} @|>/An </ !  X G$Y!`!%@petC0JBhryFrEܹB\C0JBhr!9"嶇?bW AY#`9ABV @,(_<#c;4F?bW AY#`9~+  A^$ (X(z'^/C<>/An }F{Lrgjt,3c,;SgMvES: |Dga_16;SgMvE;]kw@)4+y2$US mBj%B Ne (4rOY\"Y9iFKjLJ#$n[D]DO$oQQQQQQQQQQQQQQQQ9sk_Y_Y2ɤꮚ֬(tET:"*DED_"N/:jybXmGDf#tQ-?oEOTNڊfj E"ŵLRQPG*Df^:s#jN9[UqG,Fk2r)ڹ&sW"*aTՍ%@jjm+HE,zuS5SV7(q#9YikJJ*dS%S6D-]5%8)*/PG,zuS5SV7(q#9a%d^"(隊K=F"z++E,PdS%S6DK1M4)(#"YIT jnQ(Ro<"s4%d\"*aTՍ%@YdRfФdS%S6D-#9\YIEA"ȧJXmE3U5crG"[)FsW骲>EOTNڊfj DSX%sUe%|"*aTՍ%@l\J禪J*E=RU:j)J8Mb3MUT,zuS5SV7(q%g5q+)(#YIT jnQ(Ke5jW=5VRQPGȲ)꒩QLMXܢQkĮzjdS%S6D-#9\YIEA"ȧJXmE3U5crG"[)FsW骲>EOTNڊfj EDf#tQ-%%d\"*aTՍ%@l\J禪J*E=RU:j)J8Mb3MUT,]RU:j)J8$ȥDVE"ȧJXmE3U5crG"cy)DVRQPFE"*aTՍ%@l\J禪U"EOTNڊfj E,2*fjJ*qļ#"YIT jnQ(Ke5jW=5VRQPG"E=RU:j)J8Mb3MUTEOTNڊfj DSX%sUe%p"(dS%S6DK1LD2 a"*aTՍ%@YdRThi+)(#"dS%S6D\rL+ZRQPFt%EOTNڊfj DtJ*qST^:"?dS%S6D Fd`H%EL<"t9ڪ攋EOTNڊfj Da5U 螴ATj QJjE"ȧJXmE3U5crG"D!H+ O*rbP"XlE"*aTՍ%@jT N"uE"J! ) 1|AH&|"*aTՍ%@jT N"uE"J! ) 1|AH&2 a"ȕ%S6DNJ"!H+ FQCS&X8aT B`0#8H' F_Ȳ)꒩QLMXܢQ[%k Fd`H8j ơ4@p&tICE# D&)00 ff|"*aTՍ%@K NP,X6E8`53YTrkEAԧ(,"YiV8hnQ*!rLT/E=RU:j)J8db!b BK NP,X6E8`53YTrkEAԧ(,"YiV8hnQ)"*aTՍ%@uV`1 FCS!Q)NP,X6DڄŃdSFQ*#59EH-TMJrb(喙aj铌F"ȧJXmE3U5crG"lD5 BT BcSʜ"Xl%'(,N5 F(d"\Plje5)%ȣZfUN1JE"*aTՍ%@uV`1 FCShySK DڄŃdHTFk2r.[Mh652ŃdQ-3UR*' %"!F'"RcyT2| jEEu ͫeBE=RU:j)+C5\W1WS<9j䨞F/y(hKbXM"*aTՍ%@uV`1 FAPL5 "c8j"TŃg,69@D`qj1EDf'(֊cS)NP,X6E5U"-]2qܢR.EOTNڊfj EL%D5 BV"j!L3'DPO*rbP"XlQbfNQR%iƦSR"Xl9ejEXZdD_dhKer[?w =w@ܔs'Q'U?? U ?<~C?SM bڦ~A54зA:PE?WMG"9_Rg"Ej~UDPE?릦"ZAZ"(Ꚉf_t_PE?A7_ꮚ֛,Yg"7@֮z%P ~ESPh[oA?PEW" _?AUM{*͠܀Ir ?@MDӹ*iܕwNN䣯'AWiܔLO;'C_'Codӹ(-@O;'C'Cdӹ(sw%N2iܔ~?J NBiܔ<?J,'A ?JrPww%hw% tӺO;!JO;#wAiO;& ?Yw@DӺoӺ t~&';?/&O;h^mU"yTNedP ͪ^rx`^s/HWP撵s)9olqi+[:4/dS%S6yajb27]#wȢ#YjF7ȧj⢵WLG,BFg5q-3ЭoqU54qDjXzWFXH\M,TFk7k`2R5Mbb5īe5j騊EWVkO\MEg5q+)-hYUx(\f+AtZDӕy,rL+[qrpv|`:ӀPV2O$,V,UZ4I$Vk*"t~%O.%Жy:[K !,X+xn~|)24Ņjg:Th=RU<uĩ^M @X\FXr.3<#J0H $NlkD9VMT:dMMsq"8a+J'Z0L=ILo55N%qM BL,kjV3:HZ4? rĭdfu@Ĉ~f7IV3:HZW\~U*3!k_qj#X4"W%qЀVK ,Q$Fq2Xh[,Q$FLP X2$G RUZ2o,4,)aIFX\ǓCAYsՕ= ˑavYZE\%NTKTq+ulUYqbt ˓'avBT-9eɝq2Xax H8CPLcX H=I]dƴFk4:DpHĈZ]SWS&JDp8 .LDpHHǑDpȵd<#dVx9ZYhҸ+iz#YS#,LDp5SRo4<7q"8a8v@0YU@`DiHc)#XuĈduUDf@ZDn$G Um%uN&%q"8hdưĈᒙ몺g8#u+5SRo4<43Q,F$O8)rg#A[S'av7 `2R55p% FPVR$IpVWӫy)l>#'VT>#N|Go#VT>Go$Ne ,JYSXXYl>Eo&N[ŅՖC8+x !8+x:pVgS*z[ɞN|Go&FYS L:8|Go&LYS LZYSCVb.Ű#J#5뢎Yi'*{]rL xr3Y\[Aګz])#Z-z(Q$Q@K*%@=RN%IT *z -.*g̖L1@O,RG]twDډ":ZK1M3U5pOx9c]\ĮX='iXmDTT!o"YEuRYhDWNT"YEuIf7Is4Ox誒h `0yԙ-tĸ-q>b*#5HW%RDn%J՛S:jX.-3WH[MIJͨ(:ey&EQ4=HVmDEy~H:ff73YHeIf73YH#5LJ倩=F+Ej*d40깨u@T))gtSȣz *{Ȗu@TDډ":J:b﹭FqU]3gy~Ho5&Kj%k#3 =P(VkQhu*4ZY !+wVGꄭfؕV? d[ [mQJ@+wA5jt_SGNt{?Pt 7}'Pt#oTth  =Y#7=7и oæ?|!|#7|3goм \x! æo+,:n 0:nB7GMߺh !p~7~!HC7 ,:n !H H qOXt@ewhVx7awßh\x? & }q䩿 JewO}Y䡯%S7@7}и `th\x2*:no^goæ{B7w 83!(!Ljop–ڌ Ago>!(87hVx{Foi)~7|P7|Pq\x!)CM7.IO:n6+wa+w*>%n@ ķ?@xM| W&J JߎD' D'+`wV7ow[_[@O@%nB8|!.%(K|Z_%n ^%n@AJF%nEV:%n@?`%n@ w &?}ܕw-}ܔuy>J R}ܔ䠳ğw% (mJO(.A>J `O>Jw%|w%IrPi쀄w%'CIrP({OȉrPuD(;}ܔ>A>J|wAw@';1>/dݛ7 ,mo l;_l{qEWϢ>_>6/KǸG|]|a_>>iχu|@C AofϾ f.7C|@ o_ !ė -1= Q|m/_ 8*/{&U|BC!E!s-!K|B /F{ _ڛ oC|a|B 0jA›.` B [2k#{ -Bs_! !yk|D- 5F8 _W|DfG `9|Dq:E|_"wwȆX]|ikC/E^Ȏ0/#m6uA7dxg|F+4_c,_|F=# pY|F`#\># #Aha|W1|v_#85|8 F`{![7 C|]_;d(ŗăl$/dĕ ;@X {'|KI*.wġG|J{ĠC|M|J=&U~8/.wdw 0zlI~߸q_y?Wb䈰# $*ŷ 2l_|]䋷YH /Z{䀳k䁮 oj2\WU|L0&f6& q0*`[`3Aw%Q|V~) Jc_%X(s%=|;ėCAI} Q}W}!.O'ovtY_qU: 8wY|N:s"'=/^p[E|Nq}8|Q}mr⁗@(1.V{(=_|P ꯊ1(_**)QF /N1H]⓼q|Rr_9)p)K:}ɅɆYc 4!L:wɘ`11 o&LwɃ0L&xGQ|U|4*ES_(!|T4* oXp(* 0/V;A kPb9\#,%&8oYe# o p.`_}s}3A/Ї/x+Kj0,|V2Y'S" XXj X-d2G|V3{=X:dQ|YXȲAB $ŃFB@Nw%a%7Ł%WŁ"f˷Ł/_,,,,}%iSPh[?__"˿g/ _vC?C߃BgȱmS?A54зg/u=3]53\LE.z+W___Ut!"SJ"Zg/3̣j#5"uLE?g/__"_g/))D?? 0 F-^h (MrPU"J џ#]Afך3$oL F䡮ך3$o(mݯ4gH-)0Avך3$orPk7.z+W^hC4gH>w%џ#_=4gHk7Bw%^h]54C4gH ]Cͯ4gH}ܔ=F?k7e5 k7WMkM,w%{^hך3$o^hxF?RNeUy?FuVt;^h37t{^hhv^h3t6џ#us/&F?QYmy?F[nך3$ọj#5Nך3$o֮F?7F?i]4gH:ty?F_kg"ֱ#l+*4FO$(:kgg*rU^?!r=4g?AGI(kgK]:LrPkgK]䧻^?[T()3-^?[ogJ s)k6?4g1dk4C(3L Fy? w%kg?$"dv״6?hܔkgKC i-N䡎״Vu쀒;fmQ/gd?k>Wka}>Âʞw>ÂNT଱*r!rrX >"?X '*,c8+H9QokaZ2O$ʒ'*{c8+JpVrO}}e N.,X S\[ui!]kaska c??X>pVX>I?c8+F80>Lc?d>@s>@w>@ka Mka#Xka [ka >_Xc?h>?c?h9?.?>ǟ}}3kaX@_>o}?c?3>."?ka>aka"X@"!>X S'#X`#}lF>2Xgka}uFc?# c8+.u8X=ka='}}#o}pV\qqqo}c?H c?k> $;>(>(>)G}Qka¿XekaͿc?p?c?)>Xp pokaAka>A}X/X?}s>A}IO} HXş_X>0&OXE_ka(X}wc?c?X'X9ka?c?c? ka1ka'X"Q(c8+y2T慿(G}ℿ( ?c8+H"pc?>h cid>)}?٣_M+fgPm>@X=XL=EXVeW샋X&5,jXW2.a/;:&+ {!4_~kY͟gž{k_ sk_ߨ(>seu|H c9Y_-c_I?VEWk;W#v~fmyΉ濲{)E ]kY<2l/JOVX%k_$O>sU >u? c+>w̯$ v~fh>$tM5.@?R>#> %/3|+JOVX *{Ɩʯ+m|esUġ#t[:&{ ?RF c+2Wߺ H)Imc>s$Oݬ|a'ᅬ|bd0fU8L>cy\`u3}O*JgD_)`EW4_2X&̕Tl)I>@qk_$O>sU >u0W쟵,jXW2ݟ=@kVy^8fkX$> %?33O{$ֱtZ룦j+s,@[_k9oZ&~Z&ɏ?mc<=k9:L>y7]]0 -c?[X>s0?-c?XVeW샋Xa[X"s+ F L#rݯ4gVeW샋Xg3 X"k~>Gk G;^?AWq:i(T~Ω'Zq:i>wO~΅Fk76č> j$muWMG]Fϴϲ ?#I-bFٞWUt"=>>G7`+ڽH3̤Z--iGZs) o}}kV0 _?f5p[?f55Zo5͟ihcZh$mf5}|gggBh$msϚ3O\é@y3 ?d@H3]LV>qSWRgwihU4+N$m{)F)BNϴϴDfz Zč?wg?wgg3Y=u~Ӗ#l+]LV4g$ Ej;3Y=u~ֱ#l+& v|џ ]ih 5hWW&fyZ驥m=Ϛ3OZ驥m=ϴϴ 5hWWCk6lm| v|џ53Y=u~ҋXgjg?W| >>I4+kXgf?!fLJ3Y=u~f;NϚ3O;NϴϴDfz $m$NaSK>>?dF#l~ US@ggDfz fy\dgDl?!ζJ}AϴϴDfz $mfsW5AϚ3OYA}}3Ak'Юڒ$muWMF)B+huϴϵAk'Юčh?HAi|Z}}?3Y=u~ č?fϚ3O ͟ijhOA]_qk6l|g?(/_Bh$mkWM@,F)B+Zj_|fϴϴ3Y=u~#fy\7( 6|џX@a3/?dmč?[Sb@- Fk`2R5e5ji֣=l-]5H:kO\M#9\^SXXduUF5y\QDk1SWF7+(f55Zo7=W]iZgZjZgZ9⪺fDjXz5bŲDmT,ib3Y)إZ⪺g7%MIxQ54֣>Jkt9+5SS+fa&W9.vVV/++ebyYXd-^mU"$^s!z̤cfZ+J(H<RDHy*,b$CA5JgdA4:+[J%#:V[eqEX晣z򸢬sLTS=j{%Վb늕DFUKO\T6z&W&1 | tee -a $CLUTILS_LOG return $mirrorset fi if [[ -z $GROUPNAME ]] ; then # : Figure out what resource group owns this volume group # GROUPNAME=$(clodmget -q "name like '*VOLUME_GROUP' and value = $vgname" -f group -n HACMPresource) if [[ -z $GROUPNAME ]] then # : Lacking a resource group definition that contains this volume : group, there can be no specification of forced varyon. # # Should not happen; should not be called with a volume group # not in a resource group. # return $mirrorset fi fi # : Check the resource group definition # FORCED_VARYON=$(odmget -q "group = $GROUPNAME and name = FORCED_VARYON and \ value = true" HACMPresource) if [[ -z $FORCED_VARYON || -n ${SKIP_FORCED_VARYON} ]] then cl_msg -e e -m 10628 "%s[%d]: Volume group \"%s\" cannot be forced varyon because the policies in resource group \"%s\" do not allow it\n" $PROGNAME $LINENO $vgname $GROUPNAME 2>&1 | tee -a $CLUTILS_LOG return $mirrorset # Forced varyon is dis-allowed fi fi # : Get the list of disks in the volume group # pvlist=$(lspv -L | grep -w $vgname | cut -f1 -d' ') # : Now, find out which disks are actually readable # goodpvlist="" badpvlist="" for pv in $pvlist do # : Try up to $MAX_TRIES times to read $pv # for (( retry_count=1 ; retry_count<=$MAX_TRIES ; retry_count++ )) do if saved_msg=$(cl_querypv -q /dev/$pv 2>&1) then # : Successful read of $pv on the ${retry_count} try # goodpvlist=${goodpvlist:+"${goodpvlist} "}${pv} if (( $retry_count > 1 )) then cl_msg -e 0 -m 10621 "%s[%d]: Disk %s became readable after %d tries\n" $PROGNAME $LINENO $pv $retry_count 2>&1 | tee -a $CLUTILS_LOG # # Logging to clutils.log for case when this routine # not called in an event handling context. # fi break else if (( $retry_count == $MAX_TRIES )) then # : What I tell you $MAX_TRIES times is true... : $pv is unresponsive and assumed dead : Log the details # TIME="$(LC_ALL=C date +"%h %e %Y %H:%M:%S")" print -- "$saved_msg" | sed "s/^/${TIME} cl_mirrorset[$LINENO]: /" | tee -a $CLUTILS_LOG badpvlist=${badpvlist:+"${badpvlist} "}${pv} fi fi done done # : Look at what we know so far - does it make sense to go on # if [[ -n $badpvlist ]] then cl_msg -e e -m 10622 "%s[%d]: The following disks in volume group \"%s\" could not be read after %d tries: %s\n" \ $PROGNAME $LINENO $vgname $MAX_TRIES "$badpvlist" 2>&1 | tee -a $CLUTILS_LOG else # : All disks are readable, so we should be good to go # cl_msg -e 0 -m 10623 "%s[%d]: All disks in volume group \"%s\" are readable\n" $PROGNAME $LINENO $vgname return 0 fi # : If we have at least one readable disk, but some that are not, test : to see if there is one accessable copy of every logical partition : in every logical volume # if [[ -n $goodpvlist ]] then cl_msg -e 0 -m 10624 "%s[%d]: The following disks in volume group \"%s\" are readable: %s\n" $PROGNAME $LINENO $vgname "$goodpvlist" # : Used to egrep the partition map - an 'or' of all the names of the : available disks. # pattern=$(echo $goodpvlist | tr ' ' '|') mirrorset=0 # : Look at the first readable disk - should be as good as any # Since the volume group $vgname may not be vary'd on at this # point, the lquery operations will have to go directly to disk. # echo $goodpvlist | read goodpv rest # : For each logical volume, check its partition map # lqueryvg -p $goodpv -L | \ while read lvid lvname rest do # : Do not check aio_cache logical volumes because they are not : mirrored across sites. # lvtype=$(lquerylv -T -L $lvid -p $goodpv) if [[ $lvtype == "aio_cache" ]] then continue fi # : Try up to $LV_MAX_TRIES times to read partition information for $lvname # integer lvpars=0 integer goodpars=0 for (( retry_count=1 ; retry_count<=$LV_MAX_TRIES; retry_count++ )) do # : Read LV partition map # partition_map=$(lslv -L -m -n $goodpv $lvname) lslv_rc=$? if (( ${lslv_rc} != 0 )) then # : Verify if disk has gone bad # if saved_msg=$(cl_querypv -q /dev/$goodpv 2>&1) then # : lslv command failed. So we do not have good data. Try again if ${LV_MAX_TRIES} is not reached. # echo "$PROGNAME[$LINENO]: Failed to read partition map of LV $lvname from disk $goodpv using lslv in $retry_count attempt(s)." | tee -a $CLUTILS_LOG if (( $retry_count == ${LV_MAX_TRIES} )) then echo "$PROGNAME[$LINENO]: This was the last attempt to read read partition map of LV $lvname from disk $goodpv." | tee -a $CLUTILS_LOG break fi continue else # : Disk $goodpv is no longer accessable. Switch to next disk. # new_badpv=$goodpv old_goodpvlist=$goodpvlist goodpvlist="" for pv in ${old_goodpvlist} do if [ "$pv" != "${new_badpv}" ] then goodpvlist=${goodpvlist:+"${goodpvlist} "}${pv} else badpvlist=${badpvlist:+"${badpvlist} "}${pv} fi done if [[ -n $goodpvlist ]] then echo $goodpvlist | read goodpv rest # : Continue to read LV partition map using $goodpv # pattern=$(echo $goodpvlist | tr ' ' '|') retry_count=1 # : Reset retry_count to $retry_count # continue else # : The last good disk has gone bad. # echo "$PROGNAME[$LINENO]: Volume group $vgname has no readable disks anymore" | tee -a $CLUTILS_LOG mirrorset=1 break fi fi fi # : Retrieve the number of logical partitions in $lvname using the parition map # lvpars=$(echo "${partition_map}" | tail -n +3 | wc -l | sed "s/ //g") # : Grep for known good disks in the partition map for this logical : volume. Grep returns a count of the lines, one per logical : partition, that it finds a good disk on. # goodpars=$(echo "${partition_map}" | tail -n +3 | egrep -c -w $pattern) if (( $lvpars == $goodpars )) then # : Every logical partition in $lvname has a copy on a readable disk # if (( $retry_count > 1 )) then cl_msg -e 0 -m 10700 "%s[%d]: After %d retries, the defined and available partition count for logical volume %s matched at %d\n" \ $PROGNAME $LINENO $retry_count $lvname $goodpars 2>&1 | tee -a $CLUTILS_LOG fi break else # : On attempt $retry_count, the defined partition count $lvpars : does not match the available partition count $goodpars # if (( $retry_count == $MAX_TRIES )) then cl_msg -e e -m 10701 "%s[%d]: After %d retries, the defined partition count %d for logical volume %s does not match the available partition count %d\n" \ $PROGNAME $LINENO $MAX_TRIES $lvpars $lvname $goodpars 2>&1 | tee -a $CLUTILS_LOG fi fi done if (( ${lslv_rc} != 0 )) || [[ -z $partition_map ]] then # : All attempts to read partition map of LV $lvname failed. # mirrorset=1 # Return failure, because we can not determine if local node has a full copy. break # Quit because, we have one LV which might not have a full copy. fi if (( $lvpars != $goodpars )) ; then # : If the counts do not match, not every logical partition : has a good copy, and the mirrorset for this logical volume : is incomplete # cl_log 10625 "%s[%d]: Unable to vary on volume group \"%s\" because logical volume \"%s\" is incomplete\n" $PROGNAME $LINENO $vgname $lvname 2>&1 | \ tee -a $CLUTILS_LOG mirrorset=1 # : Show the logical partitions that are not mapped to the : surviving disks. # lslv -L -m -n $goodpv $lvname | tail -n +3 | egrep -v -w $pattern | \ while read LP pp1 pv1 pp2 pv2 pp3 pv3 rest do cl_msg -e 0 -m 10626 "%s[%d]: Logical partition %s in logical volume \"%s\" in volume group \"%s\" \ exists only on unreadable disks \"%s\"\n" $PROGNAME $LINENO $LP $lvname $vgname "$pv1 $pv2 $pv3" 2>&1 | tee -a $CLUTILS_LOG done break # If any logical partition is not mapped, quit else # : Every logical partition in $lvname has a copy on a readable disk # cl_msg -e 0 -m 10702 "%s[%d]: Every one of the %d logical partitions in %s has a copy on a readable disk\n" \ $PROGNAME $LINENO $lvpars $lvname 2>&1 | tee -a $CLUTILS_LOG fi done else # : No good PVs found # cl_log 10627 "%s[%d] volume group \"%s\" has no readable disks\n" $PROGNAME $LINENO $vgname 2>&1 | tee -a $CLUTILS_LOG mirrorset=1 fi # : Indicate whether there is a complete mirrorset, making a forced varyon : meaningful # return $mirrorset  l+-$+Db՝ab&W)./usr/es/sbin/cluster/events/utils/cl_mode3set   e #acinorstdfghlmpuv$:=AEGNORST_y"(),-./1CILMPUV]bkw02DFY[&34?Bqx!'569;HKWz{|}*+78>JQX<@\Zh CF(  "\fʔ(HD3c| n+$X=Ȣg>sul9o$\ <' f  !Ay+NwKhgH0&TBF.@h2J0$ Lr7.)›J'Vr(ϸ[7NrFGloAC@HwI4 u5JL6kRڷ5J H(;n#ifNF^'9'sGbh$.%#RSsЄn|f@H (EB.jٻn([%%nqJ\R:en[7+Э0Rh%SQʊN+8>n.g$X@'zj(n}qU @ 467@ 0&TBF.@hO![,_t R "Tnaƴ RFDR6  $`,r@H v/> C@ ֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkPHL2$˘&@H숩e cXbˈ&XwF7RXJ4$րg@t%rBaD IF4\`JP2>I1kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵcq O΂7QDya2EFaRa@ !EJVjk@+hLQs1jj`"QB/ECa ^¦tyfs3 R pъ @*"x# z&0cֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkƬZEkZ}a(Yy-WL(Bd^||#QzƺR6խbuAtV,қWL(;riI1jLփQ+ϜO5k] ȸ5Y[,fe=J,jַDPO_LA'louB]32:+oDR6ed1fNI19>CII FBGUӃѼr pKer1RW:]zcXֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkXr}a(fe=\L`(LETŅ k\O>ET,^ۍ2ŵJx@G ~W 8 W<$%6LJMZ4ϣU#p 6 @ g ?^vg(?΃L *($<Z۪陔U?I|O9EIjZ.x#9IMDrDJYn;VHJ'&3"wKXL<"@TCXL<"@<8,l7-N;m2ґƬ; t*:'#WFJDl5`/-=D53s7Rkt!L"Q`:h Ւ*%yMԥ;gƴ7 |][7JFƱBgƴXfQՒ*%y aT:\V*陔ud^||##oU )^b7#a9E+GbJ 0"P!d2[ƵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ (H"#ƀCZAE) \&t "TnaV°L&꡹BAAR%@҅(H2X:=|XYB]p= Dx ii)7 à@ #8' eP"RoS Ʈ%A^}Ɖ(H"84.8-$TJ9( VFt 2  $E¸%Ak(. #.[o W9G#X9"ºq`otNr}ҐҞ N%&AdGG qP 0\&GrEJ ̪(`5--eJ*D-A4Ǐ `+ ] , &  Hx8\AD uYh ƇctŅ ? HmEDl(xSBU-偄b$ Zֶ"YsF)^2s \PC!<R .(Xx!EDG:EDXL2%J**Hpv"aJbFqR녨5LV$zN0P>Puq;30e?r(B;/RsVHJ'NQF5DC**Hx9Q0ENwTDQ%5վwI)7ه<ROƐ(Lꊲ5,-\j4h!V,-\YVHJ'TQxʸIHm9Nr߾Q"0l(c?ŽƉ(H"#Y"W9(5SʹR&Dʔ$Lje.(Xxsw≚;IqakF4/9p8ʡNC!YЉVt#fENwrnF/H(\̪~~4T+ /xciPxHA\qEDqal p( #Bw6;^R.w$TJ%ƪ 3wfM]JxG|';tmn)Ug(I]MgBd& ^t,XA*@@ jRԜ5ґkމTj+-gd^|xON2DFC1ʐfڰ}џbL##,@>4LBD lԜ5t<ƪx6-kJ_ WIޢ|#!HmX>*P2Dqůr [/aҡƖ.@lxBw6;Bܥ/e\RgҮw;VHJ'T/BCJp8GNwZY; ED>rQ6,3 BӔ#PY"W9(5SSU2o# ^r2ዧ%nl!7U3NQDG|';tm3ilbŎ= x"12)\.& tS;'BiB';,!tQϨc.S]rʘ"L"D\BtMU+ Ɩ, &Td xtŅqbL>Q:HH'3cU=\1fG$%]PZŭc{|e^N +sUՄ VZ;-,fN]3 ҮÃvP`:jWS9DD.sUհ-k\ua(rF2JYnn}lO62ӑPVH%LH1fBX3 qfL*~5S1k[q95zrK4LBD Ɩ%T,r c?cD$%Bw"]PF)W qwo^q&tmVHJ&g8B˸(I])l[X 8bޖTfg1|+bŋU3(atQP tib Ǐð/\XX5վwI)7ޓx*;֌Zŭ*$f%&1sThR"Ů`n4L@HǏ5/bT.,Z \P-gA: _*Zֶ.6$ŝ3с@F4H(<~p ?߈uBT^BED>rQ>ͳ7u7/Rs՟{p6)B%sVbQzƺR63ZGw/RsPܚss} %U3(aFŵ!5B?ix^x8p ʹ&'T/Fմyal"l:"]PF)SVHJ'Œt#fENwrnF³>^+s8fw^q/,X)$ 17@ T/`W= 7*@@jMӾv[7u7/Rs{p6߈W1\f\+/wGg(I])zED>rQ64hR&&\ 4R,@Oؿqb@fNyН+Fޢx_IuA.UBFD$&w9[Ւ*%yU?U2o({o5#DQN3]Tz pePt_f^q\މ1oK ƪz޳3ZNȇ1k-feU?XL<"@=J!ZQbib Ǐð X5վwI)7ޓx*;֌ZŭoDQ%5վwI)7ًgER³e1d.8e *TQREafU ?މ*}1"TB`J[Dކbq(ac,q ,\qBZ۹Q%ulޕuTs lꦆ/$+5b՝ab&K./usr/es/sbin/cluster/events/utils/cl_nfs4smctl   #e adinrst$-cfhmou");=NRglp(.012:AGIST[]_bvy&',/46BCELOPUwx{|} *3>?HMQVz!%+57<@Fjk9DK8WY6\!WA2 HPh&4.&)6aӊH-9eeYzE* Asag .` NmY8F^ t` N--Yņ|DpxppEK,^ՖnzE?LAQ@,_te\Z['a Y5 ˇb!" jbFB0L%Wp(ˣ!/Ra2*a! ,ӗ'%;{N0 !,LV T`\;U\T !!A0pHA<p, -8<qdx.G%р-8gqAX:r%är]h <0  001qb``@KbAqP$(L.*&,%'J"ń mmmmmmmmmmVmmmmmmmmmmUUkFDl#/&%UWIV2a>W {dV(OsOl. &)Uœ83q7Mj3ޓᆦ卖)r. 0yid0 #:;Dn_~MtaW `rhˣ/U'&K@l8KtXܖUUmmmmmmmmmTqjNIV2i2TW c!`D$((*LP~H=@~23&9exhne,!)؊/0WrL-!ǩ^A ̸dv$#|T ǘIܓ%FI!O"4&C (0C<i$U10CAȑW=E_bN+~01rL-01̄ (Fpc-|񑜏%|7W+]lc&(H#1a [3D0rq`'a/f H)^?cKxdg# rıP1e7%-|5E'Z&kc0r1MJLeÎI.Z2{O1 &?$Kcdhdg# r~010LL~c̄ (FrjnXi!b> [M 9I4FGyTїFUpˮ*ʦ0_{dhkKtXܖUUmmmmmmmmmTqjN61(.ǘ BHPPT,z *dg8LsBˀ"X3 C7S{+:^a1.Z3|KzTZpˁ8~@GbJ[ʒ0A_AJ9pyyQ\4 2\d4*\C[ !x Hrov"W'J?9&KFpc-|񑜏%|7W+]lc&(H#1a [3D0rq`'a/f H)^?cKxdg# rıP1e7%-|5E'Z&kc0r1MJLeÎI.Z2{O3@yeFrJI`c`( !!AARbD41 +Cs.b9 b݈_ Pw$rѕ+¨4᡹p ĕ$`Or8_i2dh#2<i$U9|7Wg+ؓJ f%FG#9(Kov"=Wc.rL$rѕ+~01((4L~23ℹ_X&N<$rёa(eb݇j>"tKf3I9&K+\'0?kC1M=CȑWr*UmmmmmmmmPRpWS{ B`p7[1lc\WCYr^|*qA[0XFJ- W K5_,#w (b]o\R~yek(N7% $+s3\0%2v7:p+V l*0sE,- ³ ;<ʫD>"tKf3E,[x ($` fa(KBsEU'`+.`hWĴ[5x&\OzOŤ޸* *J<.]'YáUİ'9"8Iuqi'[%Ƀ_,%c/W`h05NlÑfir c|28K3gX,$QleFAeGj.P!b݇H!b݈dH 9J VmmmmmmmmmmUUkFD X8tU_t\!'IO9*CE&I$*<)2I$yD!b*,{t^01E&Hdg7S{+|DAccf"'12\e^PH)^r9\)~Dr)؆D`WmmmmmmmmmmMhȗc.rLU_×59tqŽ-0IPf!ʪRb%_Y3AUWU4eрI*mmmmmmmmmjzn:-I&2$P]^010A1A"XUp慕/0Uˣ# .3:^a1r7P,I#@d 444f H+İ59x49@y#xAAd K0]8c98"A^&PPh&H9 5ӆ3k!NiAxAA06NA,tH`x5xxAA06NA,tH`x5xRmmmmmmmmmڪ֌zpYYUUBtಳ.dꪾRb%_d:aU_yTїF^M'JmmmmmmmmmڥRvVTWH GЀHN +"Y2!Bb``A@7S4.Z3>aRJ 9kܓ' (qBx{euheRo4O4.Z3lcP ld5[ص', xNIhS4.Z2Ž|l#/Ʉ^qBw$Ro4 '&Kdj-e@7F\zOEqjN6qܓ%FAZOX0~.Z3oy9XNk3,sOl^,[xrj .C G '&K]7Acchv?='^Ni;&EdxPj<,qB] IVi3 'qBqw$R`H2[mmmmmmmmmmUWɭ 8 ,e~ 'Dw -C"ÀZ+bܲU_)1M~n,L !wznQ^ 57,lKtW[K&_U$ܚ#r#hˣ *eKU|MSF] ziL{dhhO (fÄqHee_l#/sq׹&NlP/'42zјફ'OrL-w xNʿ n6-I-^8ӧ,--{d3II*QϒeY0(N*n0i=2\dg5$Qle*MtaǤWci'2\denI I;a(/'4] fye^Nik%c/UUAccatH8$rё_]7Acchv?='^Ni;&EdxPjWl7%`+(NrH3Hqi;&Hr8פebbX+!`D$((*LPDL\ mmmmmmmmmmA2!Bb``@kh`\<2AJǘ BHPPT,z *dg8LsBǘ BHPPT,z *dg1|DÄA*PLL\ $< \$`LL\ @0Dh*.,HѴ\zY8-8 reSOCp&EŰK22*Q˄(ye$ay48@PXR+!lcǘŅ‚ČH^hPsay48@PXR+H`jri2qaq1p#*WK .C` 0 W"yQ 8,Ņ‚ăH^aq1p!*,)ᡸP[$KB\N +*=Taq1p ktJ0$+ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_nfs_utils#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/utils/cl_nfs_utils.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_nfs_utils.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # Name: getline_exports # Description: # getline_exports gets the file system details from the exports file # /usr/es/sbin/cluster/etc/exports # Arguments: # FileSystem - filesystem to search # Returns: # 0 - success # 1 - failure # Environment: # NONE # ############################################################################### function getline_exports { PS4_FUNC="getline_exports" [[ $VERBOSE_LOGGING == high ]] && set -x cl_exports_data="" typeset line="" typeset -i flag=0 fs=$1 # validating the file system if [[ -z $fs ]] then return 1 fi if [[ -r $EXPFILE ]] then cat $EXPFILE | while read -r line do line=${line#+([[:space:]])} line=${line%+([[:space:]])} # Only look at the part of the line preceding comments. if [[ "$line" == "#"* ]] then continue fi echo "$line" | grep -q "^[[:space:]]*${fs}[[:space:]]" if (( $? == 0 )) then flag=1 fi if [[ $flag == 1 ]] then if [[ -n $(echo "$line" | grep -w '\\') ]] then line=${line/%\\/} # Removing backslash character from the line cl_exports_data="$cl_exports_data $line" else cl_exports_data="$cl_exports_data $line" break fi fi done fi return 0 } ############################################################################### # # MAIN Main main # ############################################################################### PROGNAME=${0##*/} if [[ "$VERBOSE_LOGGING" == "high" ]] then set -x version='%I' fi typeset cl_exports_data="" EXPFILE="/usr/es/sbin/cluster/etc/exports" l,z  l1$+@ob՝ab&./usr/es/sbin/cluster/events/utils/cl_nfskills@@-&'!,123:;t0468_aceirs-579=dflmnopuv  *.@AHTbghkx (U`| !"#$%)/DLNPYwy &'?BCEGIJMRSWZ~]}Q[^{ǯ*m2PKʌ#LdWqO*ġyPL(Nc9\gƲZA]T6O*|B?  +*P3x7g0R |qO W°^*?|N6O 8*2o !=- Rlx>V! "x\R,:R.%4{XW ]0, F44>E=PB+@"z ȅ؁\/#H/chAKz †;q@@ B@2i@0+`NX=|AAcX上%]ŭbx',8jX:.Ky@o _ "_%b[ȅ؜Z |rCcX!v'-zAAcX[d y\v%]DxHXbǘq!"sb^, `a `  r0phTX-k\<$G,ux߾xl=H"WHi@X=\,CLL!45'r1o2L, `a ` =C8x+9 !\W +뇙T5 $x^ȱу8f8gB.|ĶT]_%5 .BG|\W#t:Gᘰ63P hP(~B4x@ 8Yϳ 71;Y9dx^'ȱŸ5xq[|KeHEؕ\3\ kp "WS#E+ʑyWȱ~0g!}{' y a\<pocpp%].+}lKkk!#SX⼩ _"_g iH@X=\,ABhj=i%JP8n!Bh d :܄`N0D0}gD\WsˇGd;B._%o-!bwpuFv<-Eϑp#|\W $~qrwź'r<.>;B._%o-!bwpuFZd$xZE 1<- Xa##X ,ata >Th]m@2I& lB@{([g(#pGȱؖB#б,up!\<#kXKy kMB<,ȱaIo!b%~Gp < @q,v%5H/ceź%R<-ȱؖxXwȱ#󏳄gŸ7\<<,XKy kL7|}#>.W ȱؖ ||)]@GOX ,`: 0{Lj*2Wʞi!8BCQz&@l!, % lBBB0gngpx.+}ltx<.Ck!^A`AFGY;EoZHEؕphUKk[*B./xI!>]׮GpA|}$>-bMqYΉnBC.iF;B.|ĶT]>Ko 8Kyr2 8׊KeH 中%"J.K뵐P"_HLm,uq_?Io"@F .+9 /ÿ_g 6|;ƅprŸl)cx[E؉p؏>BYQ9 /ÿȟ< Ba @B: KUp'|h^+9wv<,uq_Ɵ+V8B`ta >2Th., `a ` =C8xU~0g!\$+wA \p{0f_"F KC ]\V_Rv%| %d$x%>E+ʑT:G}3[r@aM EhYt&8G 0rA8f8f'h>3+, /1||[Q}׊KyU\V_Rv%| %d$x$F:*G@EøB`cppЏ ,un`sgJ^)-"Wq[|KeHEؕ\3\)],uq^TE+9 nyҸfIW|>A \p22Wc7tNh7g`d=ML,@{3B)-!OnBHQcC:IÁ+3B)-"~.*yGJEĴ0Gq[|KeHEa Eב "Z+oa׮CvE+xv0}ivF<~4\6!0: 0{LjT𜙻 <ł L!4 !0`W`T!2>`dh$.AB>EüN,`.ExhwŀhXX 8 k'bq`=ps˵QWȱPnG@|\W#£Oc~4!?|Z K T"F pD.*<8A2- ud>"`>D=+$C3"C!py!v/- HD.}Dmh9 eF $~T`g#]>.kG䀲" 0ph24G |\W0jGD:Vs`XA],tBr˵逝,uq^T7ȱp^>B#Dzb?|C~,,=!D.-0 =Nx) \v=7"Z!wu4<@ !|rE%]&-Wg}pDxK,+pp@B.00ph2# X-\<#`'|h^+9w뵐0:GƗ6}6|[_ >N `|,h-}N)-9;6eŸ/!!b<'MrwŸl'cAh,ķK}n òXZ:E>,g /Kyϳ׾-!!/XXx\TJ9Kb'źQaaqQ_kMn0EK}Ÿ6!!a!rįpn,,+\ <(m,up+LjE>9 @>Eķ ;pNƂ _g!o"cϳ-a8vX  ]'#Ā,|#v9;6e𱠴u%|]ÿrE%]_k rpj,,E>9K _"_g [ȅ؝rwŸl'cAhiBXX9 Ky}n òX92|#P0nBD.*o^4'|a|ux8|,p`80!qPp.+}l| X0|"cK5]7ȱb'8|;Y 3R)-B>R^|XXx\V/ |[QaaqQ+/EHEFg)}7ŸXX{!a-r_XXx]_k- '|[aa]_k|[@G:3}n òXLj9:WぃXW@ "Z\BG Eķ ;pNƂ6ϳķ ᰜ;,.@>EAAX7}h`+#bD.>+|[NK`v>:w_<>|B R[ȅB中%"Wpu+|[pN`|,:bad$x+|}>"|]ÿrE%]_k rpj,,yn\bHHDcCB.yWg< Py.a 1[$$UŁ象8|;Y@3R)-B>R^|XXx\V/ |[QaaqQ+/EHEFg)}7ŸXX{!a-r_XXx]_k- '|[aa]_k|[@G:3}n òXLj9JWH:x!E>9ī>Eķ ;pNƂ1-ByrwŸl'cC xgȱ?QrEʌg$|[NK`v>:vX`,,KkNY 'ȱpuyQuC~,,=>7}%\6CD.]vpGAXKyvpG;BB.+}lKkpY 6"Wx|T:*G X,t`OKy f.+}lKkvwŸl'ƇBzT.- 6+#E#hB"_ذD._%o-!bWppr6d$x>E 0GX⼩2ȱ*<>E4[__%o-!bWppr6RY 2m,upi"b[ȅ7 g6ycAh\1p+Lj"Z]x "_g [ȅگ-:a8= ühXB6e𱠴ud |w xXZ:X947ȱeʌggź!aa"p`|\cx "_%y2>E+Z<>\F3w`~gjP0'fq]ۡ}?y<N88!Fx7luǚB|(i 3!y!eqq ;| ly]B.pc%mG'mͺGtx뇛@+n*='FnxͶP=t#\R<ӬN<-6i 3!pxO4/"u MBn<h8i^'i 8!y:'ġxxOqH\<Fxpx.l7v7Qg6ym燃xT-X<# <ר:G@LSCE0L S_ ox|" 6`A <%B+ۮCW^o!Wu O{D?(p!WmC_.+M8F+}ǐB![oD?`u)rB!th?D?BB!N!WnLC_: C_.B!3wDΝ<: !W9"wP4}"mPB!3wD#p+KmD?:ҏ!W4SɛW!WۮwD?uN"A"NDW +W79"a1(m0SQGT…xʘPxʘ4TġTĤxʘ(1(?  6 <8xd`idbjx 0}Фo`8&a<۬l8O6ugD[il Bޤl7QM)>e#u$2hn›xPyJF <)Pn z> ruiRIRfuĉ!8I%CFud^$4l7QM2ퟩ$l7QMHڒNF <)-Rf'gQ}bt]XuIl x8eKMHvu %Haco.7j`T'gO8}qoN0d.e,j%nasl'b0h.e,,^JxYClԱy8Lwb$ZF\&z׊N=RƓ'kzo8Lwb6\-<jH5E8'T"pKHqpKHi;"qD΢y)KF'Fʗ׍'dN07TR48ndjq7ng5cI<3/%#3 F';HQKHuI2qLKHjF'>1:z/%#C'dN0}O^hm$ԼZ486^JEUW'dN0nU]HvD]ԼN48Nr) -I=v]KHFV'dN0:V3uL+]X28ç>`iEʩdN1wmԼ(i;"q9ERR*IƓ'Ó/%"+NȜbO)y)T4i;"q8 ۩y)e5I ѢƓ9U֊Z4yjUUI&ԼE{Dj^qUu⽎yfW5M-쉓4L(We-65(%&NJ4.ueEcI BWZ&hi;!aIU։'fZ%u uFO4MWZ+q셄8WZ+i;4Dyd5HihjٗixSR&VȝQ+)5lu]xEW}DԒJL LDHP]ɨLk[ΰ4)I$ P=vZ(yEHvyEVi8imj^Q4i;<"Tgk%'MxfZ9[EMJx RӱyS[ERؼʀrwN<jI% zJ/w*^JEHv"pKHqwD5/%"wD/%"ihv=vnKHkƓ`I^JFK)NqB^JFFNq&^JFsV4D젩y)Z4 "GRR3]xv4*^JFR48L}*C0ZqVKEemwi ^JEUԍ'k"V&%8v4ל&yª{]2rU"`5mw=RR& Nq<Լ/NqzYU#I0TgNq[y!EeEc%)uK)`%3㕼4l~J/㕼(k+yJFΗI[S6˪YKJv1S BeXo)PyxbJ9[s躾hx]#&˙ѼN#>9[KzԒR0m,y6SzKEHv<m(^%y!dHQe%<O2Le#QYXv<QVIG`8٭5 3vDy!hѽ[r6dρCHOJ۵/(kƓCbne#I!wFFN݃&zXvH~z&^QI!qZ^3]xo躆d׈dXo%lώVUCceCcX׎V ʓʂ^$3oC0TT'd^`Ց#IƓC0}VJ'd^` Bk%TI!טH ެR24 Լ%'d^`7fZƓC0Vݩu9N+6^QI!טu%R^2ZCNs1KY!ט>qZ.i5#I!ט<ʒ N4yYx^QƓC[ʊ1OCΗr6?*T2ly[+yQsc]#5$6V0hi;0G^H %To`Wm1Ce0*y`uFq^u.fahvV^r /+xo%6?%xo#26t㕼*u!אz4h*B*-#I!טFh/YQxq: %i'd^asVFI!טx9@dahkƓC0KN2YHvHuAsՒFFN2FsՒsV4y $:dfqI!טe- u5׍'d^as$EY.i5#I"D˭ʲ4hbq"eYh"eYV*hvH2jFN0&]ldixo梆h׀$ƍ^a '5L( N4i;y(yEecIؘ duєױ1טq Xv&:O2LK30i;yݚjFkN^a9zѤԍ'bc0NʗhbqoԒFLyTPT"dd--kx2jY1#Iن^DMʗT'k}*I#&MUaÕ4b*FlIj*FZIu UaÓR4BlddT'kxlI$esoIfFVU1I%ԊƓ6NvbihvVRFΗr6?5%㕼ԡo梦9[cFΗr c^9[̍/+xo336?32fhly[+yT]wQI5mjR*F0ڬN4jMu TNvZR4C8dѹJ"dɳ+xo3+>9[dT;RI0m%`IHNĬBqYZ4i;JEFt8̭KF)%eє׍'bVBq 3+K)NĬ$EY*djqJVj-Xv%`B5QIؕh+5Ԍ^4X%i 41MHv%a]BK418bVmVjV4XQYJVKF+Q](yEUW'bVH RV*i;vN++bV O|dex2e5o͝/+xo5l~k+yo湃c]_ΗrMur:^Vk6?5f6t㕼H)㕼LV5Cc5?iSc^^9[уgK9[hǎV4dV43㕼6t㕽PފLVRr:^Vފ6?E oE6>^^9[C&Ηr|r/+xoI(l~ޒo)㕽%CgK9[J㕽$`V#9[FM/+xoI.l~3㕽$hV#^9[r6t㕽'3c)F :/I6˪YKy2.mԒ0my(&T֓T:Gr/[kxoI6?I3N6zMss5㕽&h&VΗr$l~S+zRfΗr(l~EM_ªޔ0mTJ+RǘI)E*,t7zEHkqk9+,i;$@(Jdjq\9YHjƓD !D jf'diٻu֌^4 ` 㕜׍&i;$@ínƓD 4y thEYUѤegC1UUI"izݛYDħN0wfvV0Z<.j+FD x9@fn4 VjʩN0ⱙƓD BCW=YLi;$@ÈZi'duNqEf26yYR+i;$@ (+qÎ;YV+i;$@uLk+Z4 a!(n\MMxvHfG5FD D nΑV30㕺0ly[ӭ՚uK)c1*Y6voVslXLjufh.I[E RVu.i8ve:CKY o=YIxdeyKђB-4VR^2%GlUu)KZ9[\ώVꪡhkh\XyxnF2T !&@u$Uu BLԼi;0y 36^QIكI@r'f!&x9@K&'f6Sw T)NBLRڗdIBK258v`$(]yFsV4<5Z4<2*uIكI!hINBLjC'f!&r!FFNBL2)Z4<-VTUUxv`.UU"FIwIzS46^^01:q5$Tʦޚq (j*FBuVR5N4>O2MYHVV4xPR5KFУAv.U3HkƓvzdo2`UpK3#fLTS*yVD˭ԺR3RDۨ&n׌Ԋ`fQTV4+(u5⭭R NjHzSdu.f*FKYIpRc%%1:F]zR4i;BL jEecI$Xɶ]RZV/?Vꬱ]RZV$X]RZVꬩ]RZVUje,i*Lxh/REV\ʨ OqEHv'Hݗԍ'1>NrM-1>->UXdY[9wUVZ3Y[#&zf3]xk[+uV4l}Uʂ#Q'"Lyeq$UU"i;0'!8UUHqÈ@rVV4qeUUHZ4q좪MxvaO#D۵UU#%'fD')i;0 O>UcQՍ'fטq5T3 D`x S&#C'fMU2hÈuEZ4(8}7zIEUW'kxeREL*m8 xe#QR48 xe#QI:*b]0כe#QR48O2Le#QI HѮD@u U1Ha$H8 yPS H8p*Hyw0j*Fuj4i;[šS6˪YKkkqڒ*aco*aӌ8U1(Zq%z^QՊ3wެהfY[qػ՚ N++c0G^QVKFfvqyԇ*FS^alUU^+(i;0q@u UZQYU#Eյ H6S]8'N*FJM[0УAtN7ULUu,ÌBL EHoUcccšULe,eU[;nCoIbw:⪪T'bw%eI؝.޻'Tɘi;-VTM-NUU6>Ufl}UeB'"4m*BqUUR*FEUUHq)UUHi;8'[IUUR&'g&@u) g@+nF c3'g8JEeEcID}ꪪD'g:yjLd`zDKY \&lK+W4'[yꗜWQxghI^^KFKYB^Q^'gx9@*]xФlY&+Z4a &6MMxvqTie#I EUUV&N4aBEeIFJMXvqULJZ++g@uUyFRV0o]j^QV4aueha֏#zR檑B Լ9i;8(8EcI /(ΔZ4aph΋/N0)j3UE#Ih*񚴜i;8á-USJFjVV0l+*J315I HRQ'ghR558vqIt85cI!&%e'g8ʗfƓ*>#g5IVFR#8 IT<\[ĕmT[,VꚙMKĕmT[VTMnuK)`%3㕺6>$4d.e-++uM.mTkuM6˪YKIIUnaE RҚ/? s H.e-3,^~$)3lVo(o(`VXV2ly[+s .ly[ª†R˙V$(i Sv/[I1EMRұyxnbe,5ؼ*Lɶ]RZzOa#,4)I MsoL0X8J&f*Fj*[ $xe7b6bk15RұuI[ RӱuI[ͲRӱuI[uK)jXԐčzK0JR2C.LsPى19e,+)a(.MHbjxªGjbrUCKY2rU19U -KY<ӵ.UƓ $uR7RYXvaLLNVfo a!B݋&`ىJČe,bara&z׊bFcIajbf#)hbvae /T֊VV0⚘aUc5^0o6FT N3ZJfl\8K4-Nl\)3f)/RR~$ISl,^^ jHbF 5yVJ*F0ͺecIƓ0t$T9SV&GE ^1%JJ~Ѵ)!LYi(-Ti;#i&>ZqⲶaanڗM-N`HP]ĥMxfYLqELJUu'dm0h$U\ќճ 6SvSSLJjF 6SvRIj18vaL+]XB݋(`ىO+sX%nbMRl]_ ݆u ^1E͗Fp7f(h[+s l| x0gKV TכD˧Ѡq Ush8٬nK*F';Y-HNnaU/)[+s 6>aU˸}^b$0oIg.È.۩=Y(a#'Y(VVHؽnaZ/O*\aZxnaY0WtRX@MaYHv(@MaYƓ'bNVV49Y3KFHF~V2:yg\dֻuÕ1FiAs=zJFNphQަ1Xk4 T¦cC'kPT«ƋN"uʗUѤt'j`‘UUI H.e,+?V mT3b0f~ϟaI T5XGv.|C4b*Fϟ'4o ,hy)Gv.|T]mEHva`ʱI>} l 6˪YKN  :H`ʆޔ݆Nq8rTT'dwa\@͓!:uS 'N'NmK+'kxn`̍2U6˪YK^~9[Xɱ -㕹0]RZv>:y cP1z6^AzM 6^^>FO,I ,0mVqR++ka͵S EecISu̓6$0ͽ%Uuae"e56۩e56RTҌ-pמMHFÇyZQel6yמU^++gQ}O^LJqY[:S J& @p*ZQYU"u %(Grw[dI Gve#u2j*ES4Zhi;# (TĔV^4݇&yLUR4݆e7-WIyguUV4݇PKZ)(IyHLPU553 YmPS^&$<3/('dw`EL^4݄N3vjf&&$x7fbbi;# 8FaU"bNEVLPY[#^+)UR4݇sΤyD¦gN͞hh`ŠƓ;wLLѤqELLYxvGv!&q5R4݃6yt8vGvl*6)/ ,d݆n Z4݀bu杭L9R+)N'^pL58k#yc;R^+DԼay-"u8qڗV&"u2yu/%"as F;LLLV&]xGvj UXvGv<[dK+HѤ"&q e0ah5'dwarBޥՊUHvGv8TGz4݄D!aP j(i;#E)݆O*e5"&q 2Z2"&q !AvnRQ2fS'dwa3X;QT"dʪƓ;x8am02ehvGv=tL6SYHL}Za';Z)(YZ4݋?SLJE#S;qaɪ^UE"Gv2q*`񒪬VVۓPԐ&R .N"guԐʛyKxw'uNTyKx%a33o)oy& dI 4m-㕹6>`ɯF<*h/<Çnay.uÌ^0 56˪YK)i3b:\rs 6^Isl%b=m6Lݢv/[% $֑l^^9[%I[%MRұzx$F( !@Ls6^M]oI '[Irw[dL.f*Forw[dL.f4i;[+u3cJ^9[4dI.Nl!6V+)+#IIwVRV4i;]#'uN"JecIDZEU8Z4'8괩MxZ(`eIFFNH)+XvF.EYIXѤt c5׍'k`Ij4t<3Ӭj418vF.i;}4hY[]#CvO<$wpu0ixY[]#PvAz%bbS'k` ʗLJqt2tsS &V2ZHfԼae"&^q0^H#!AvoZ)(2i;]#r^+DTⴖFAviWa(^dLK+*i;]#Bג R+i;]# pu'kaKq2Y[]#D Z+qt"tIWYXk]#%Fu(^]u#%t"+)斍'k`8<~S^420ie#IuZ)(58vF]jti!h% -NH×d]IFJ.i;]#]gRY[]# -Ue%Ս'ka'*%3 Z&Dl9mD^Z/%<)QClX 6˪YKzOREk*}d^(`8Bʘ4j*Dħc&C VQHLe/[ͬI[ RұyYie,b<-3huarZdIbZ3#%ly IYSoIUNd^*FWbm ;ԺI +wi 4uⲱXx7N&/!a'*Ԍ8k2q#7vEVRq׉NȝBo<,zN+*VVȝBo<,b} ݳ/IʊeluBo<,zN&V^++cDy!dm f휩zN+qY[qLݢv3v4Խ'-D'`7mAm f휩zN&R++c BEI0d˻v.EVfi;2H>X‘IVX.e-IYc xnYS+3l-I$YZzynYYHַ3eXnYZcqDHauͼd0"'PJqR40Õ2i8vD̓VR5'dL<4)I e#Q׍'dL3t'je#I'uN4 R^258k"aF)/d076g+)/Xk"b} ՔR2ZȘ.,%BzV40 FO0v/IƔY["aV0j4eT&8C^7)TEղ&NǪ^QUY-NȘB8K*쉋wi^QUUԍ'dL\Y8 ԼN40䨯Z)(aUcIrzJSV'dL6,"u +oVR^*De.]N%mKUd0I[UYU#I ֘D0֊J*fq쉃](۩zN*Y["aee#&[jQx4bqo.h(Μ!hm΢1#IIs1%h/RbַJʦMRԙʴʪ2<9:p*HeSޚΜ`*eUbi;#:qiEcIƓ3<8:rYXvFt):r4i;#:q씣yNVV2o ks*mT3c*ʳ6>eYx:a (1a4Ԑ6#@TR2^]ԺzQRjFv`7f׌هϰ휩u5c;09@KكDy^3^3e&0uԺ񢑝џlq椆hh5P!fJ3*.ks2+S[R³Pѷ7j}j+{[š̔6˪YK xR̨u! zK:y4ڙQh>JjeEY[[šʋe,Xʆ|I[P]RXՌ-NI 4LBT'"D;/IebD*3j^VVȘ%Fuu/(I4)i;[šʒ6˪YK)c*)"u DI 3o*'Xu/(Nȝa]d9%-kxneJ2hBt7fTTʮ YyVVȝa ӵ/IebD8 ۬j2iR5,i;"u6ӌ)i;"u&zjƓ'X%Fu(^񙅣%8g*^4:)+MHvV2l}cKxXͲRX$X )q[;R򊑤6N4*3Xⲱ^)bƕ6xn45Ɣ6˪YK-K/[jF4V.h.e̛YurYu͏\Wĕ.e-;5.e-IؼrYyYu<*H|PulɟI<,dѷ<.W!h/S'Nc*X=6p33s<Tc& T6 e#QR4ݬj*F&zT'gϢXʱR4u#'hT'kx3fԑc+yw&:yjKHk F}&zђF+V2b4i;[ªc&MR1e㵺dmTVƤ,< ui;TI:7zM,h/Un Rn /)[+uXYc&uK)ee7v (m鬼権DÎԽ'"0.!Lʘ]Hi; y#8rR&'aSa&zMxv06LL/(e#IT#<ƓSv'Ս'aS 20u^-@g^&VV¦:U0ucIT;(,BEeIEY-N¦ 8KqUUⲶ0=U3g#+XTe⊬eHe׊1; yc&zLVK)aS y-7SKRDªT͓=zde#*)5l*a"eՌ袋Ɠ9zeHΊ*i; ×TɘΊi; Ó3#$*`o<3u3#1%EIT%gK/N¦'(J\gIi; D&@TgIq*a&`+*J3V4L4qk%T3KFN8d)5ITçuLܝLtFEK3 N2Z¦yÌ2xjfjFtUE%*av]l q;OS3R3V2Z¦x[8'e.NoԌ說FKXTאy E%S FZ(:yjV3N¦m#h/Rt15#ITÎKQ VV¦8QS3gEi; Fy EVRV3ʯN¦>}U2f3˩N¦!dnʪ aS Z((Ԧi; :p뭷S3V35#TL@4N.fjrZ4Ld 7Rf*`뭶uԺ񙩮i; 8JE#3TⲶ05ZPY[ &mfj34FMS31T5W]s3313^4L4P6~ff34ee#ITE}jѓS'aSD Ff*aWmjbf0i; <ɞf.1)T$'4D֊J4QU'aS<--VThi; :puCEVV4L8y E !F/(EM-N2;g@9S4Z4P׍V¦a=S43(jST3a4ʪES34i; v"jUU3IN¦%`ҞFÎ$0jf]m`"i;#yQTF'kxnrYE͏M(q(#βqÌ^YCm:/[ V(V 6>`$aWueks/I8ܝ9RCmR]Õv]Õ'N`Ǜ&YXv I<3ՔFS^4̓=:F%'ky E !FN2Zao"mʗfֻq \9FsV2Za:u 4 Խ#5TDU0Ѥv:U0uI#d[y58jEemvBEK.i;]mՊZ47t7fՊNa.U]Hv]TLJqvid0v id0ehvD젝Le'k4N TVUHv m8`ұXI"m#h/Y3*+N`8m#h/Y34Z479SF"eeI<4N )Na=z4WIBBnbƓ'epM斍'k4N !:uYHMMxv^:yg^Q4vmgRS'k 6z)5cI\8u U0hdemv:j`ұN4oSv e;=Z)(rZ4è0 4f2Ɠػa`R++k$n>]oSY[]NqX՚/N`"j1NalD3c%L4]`"j1'ku6Y3ѤvKqg+>KqVVa[8(i5'kNl<'9U1N%BC:K&ֻOh/R&v ПmAL3LѤvyowCZ)(ғ^4í>%y)Qe#I"d/%#Ji;]gP*IFXv"iݚ'kC\FڽhEW^4ÈXD]rVQhԌ:ygYIx8(h`I rC/IƆV++kĎ>E^4è dl=v]KqN++k4%<CvOT'2VVah8˷zN4]U"@] =RhiEb]up.hieIqLݢvB]xFfes좩u⪔i;]:J6n"\ʔ6naͲ*31R4㕺4l}iMne,'O֜͏9xn6>bȒ"u U$ZR6SDNi;"H$NIƓ$<ʙ^++NȒ0U2M-NȒ0Õ׍'dIy+E#%'dIh/=S 258vD9S+sV4$a"$N3 F$$yÕ2f# :W&i;"HNrhbq# :.FNȒ0:ZqUU)$aLL.dF$BEeIFKRq#]Լ%V+Fp6Ѷr,fq^Ȓ0Rٽe%%R2ZȒ0ПqF%-NȒ0t$ՔFFfi;"H̓NF$Լ#&NȒ03\/VR5/5cIF;g<ʒ0i;"H7'l*\dƓ$85##SR4$`)V#F'NȒ0pe7ҜdiucIF:$AY*f'dIyv0iN3QUIFhEV5R4$aZES )Ɠ$4NZS䪱#8JyUiN3IFqPi3Ɠ$2t.iN3F$"&u)s38vDD΢%ҜgE'dIÓZSEIFuÈ)V:,i;"HͼP0y E%#u`+*J3V'dI<VTfƓ$\8yǯS 4i;"H)+#> Ui,VVȒ0޴RQV4$aY>/Ik.VVȒ0ħzN32bqY["H&mꗤ5VVȒ0CUj3]u#IF'(x9@=e%c3Ri;"HDIS *i;"Hݓ"GwRhel#CvO<$wpu/IƊVVȒ0R$wpu/IƒY["HK"GwRi5F.8!zN4el#mpu&i;"H3N"jRQR4$aTJW$"ByƃhE{"H-5s&z*DN.yFXvDu1zN4TY["HȝB \9R MHvDLK40bq# DUj)]X$aHqIF*VVȒ0$L65IFDE%UXvDvP<ۯUjR42ehvDh4gVJ4]EIF @pn-VThF$"&Iz8Ҋel#Q<3Ք ,d$` # e%CK-dI:yjVR^*D&u\URKE{"H̓QW5T^Ȓ0 Q:3vj U)8vDÖڪ^*# 8rNUCKFKYFm&zEYJqDLq^QVS^4$`NUF$"j558vDN6L 9NȒ0UeefahDNav)hN4$aH&mtV++dIe,=vnfj*#8 ΥVUHvD%`*V38vDNi RV*QXvҤHj#PvAz%bi;]#PvTi;[h&HyKxZje,zx8jHmM66Sz9HvDNNqI6rR++Nȑ Ժ4i;"FCNӤe5%9UdkxZ:^RVPu DԑjLYZ'u ޫRR4:wX'eͻUb4i;"u D}+)Ɠ&NTihvT)D8٩"X[’&q5$YSR4y Ebʙ6^𾤋*jÕE%#I"13gKVc6>m/[bF*x=i;}.}ڒ,aSoQd ޫR*F'[IU)N49Y3'k}\9UJ&'c&zS^2Z<^2YHvqu#']xI4 Uci;fKR30i;[HkKS *FHsc HuohK>ITѷ-s-8r*f*EemsWq#l!HۮARKZaa Fu WR2Z>áK&'kunhB*e5Ia FK)K8ǪHyKxRÎ}U$Yu )D2},RϞBC I]co)o65$X]BK*FKY#?YIxhk#@Ç*^QI4mTR_ϰ5$Xޒ0V4f*F4 4/HqF^5d]RXͨDhqԐ̍yUѢ:Οxbi;#Du]&zdi8Fh7@f3]xvFhw@MHvFh}dj^QƓ$h;RC2X˨)LT'dhDʙ^4i;#DNӤVV2Z1{'+5I&/p#)N0IyFK)N0t6e%#S4L<3Ք^2Z0`ʲjƓ4L#D.vdj30hq6 O!hg#o)ohqN!m-Kϲ!m-۰&FnԐʲ6)-TʫzfTQUS'#%LM{#%aͻS159*`ɩ9[Tѱ*]I P5X@OS1R4j1#h.nHk[@yǯRC&&m, 0T'd $d6]Xq쁇@K++-f1pU2bQ]Hk a2/8Z+eMK2QXkxS[1Cl2b~nd¦uK)e,g5 1gRC&6&+S& EHvayF'f Yy0b++N:dZ4:yje5%7RV2Z08Õ/(e#Iن6u3i;0y Ei;[€VVL6d9[0& S[0h.e-#V/?ݩ!6`$5R򊑤nTqa}3W\1Thk0כKN4㕹l|نޤVTқ7tj\T>3.f2Z2ZES+R4i;0}kޫecI9[X++an$mqлRC+,m,T'f2}'N9S&Ɠ*eiDѤަV1Mxva}dHQK258va*^QՍ'f<5K30i;[+s+6>eeH 3s6ec>!̬h6ndʆE㕹26?)+㕹36t㕹46t㕹*:^VɓΗr2ecgK9[2dR9[2o̙4l|ɉneu /+xney:^V6tͶ/[^˫㕹6P^R ]_VWX+"̮d+9[]sgK"̮h/Kxnd҆Ι^9[5#gLo̚o̚o̚TVM6t㕹K:^VndѓgKVndI[UF/)[U(lyR9[͏r]J:^V n;Kx]CΗ㕺,ly[+u2ly[+u\VhUP.e-#2`υU]RZRRo2LAYyx"a4ʩBfrwN!i 4"@ T+5@l] Ft]O@^nE%T@ T+5t뇛bXH} 4+x[REi#hEwjf*F';RHv\< v>󍤪"HP$mZK†:L1P\3w`ur!djR[†:L1P\H2}@ T+EDl`5eDL"u O8V(Btޥ@ T+E}2fCQA]S'^@υ 0ubY-Azɛ'PqPV^^#DeYjc>8 !QW:Լ(D+:#$8 ^^`4 0AqFLqHyݚ5|(a4N'm!F9S+"yZu|F-0ˮSSǘeYj};'Nlz%m2묇5T"Fnhdׂ$N"m%UMDMtꩥ4/Õ2#%hǜmԼqב<3n6a(iQO4/2V%6ev7/S O†:L1P\HxǘiZyÕ|DM<ʂ/"u 2OP#33 5FJy E3*DN6@†(x9>P#2a_a(n9RyP'2AwFY<xyWd?yPgEO*OO*eʁb&O*FY< 2@aO6L6b&OHL'}l Dh"dBJ/,AW1' D獔D D<"dB@1@Pb6#2xZ.༲xZ ~'uab&O @(LApr~6L mL |l6 ='FY> ]>OAd1'Pyryp]Deˁ_FY<{eˀ6O. S ?QF+ 50l51(i`QCoQI?$jbP_GjbPa S5jbQᠣSo S@SQC"LJN(Ġk(Ġ51(@Q@F%>6 51(B1F%71F%LJLJ_F% SjbPe?51(~"jbP?LJQF% ShS&L+nL+ 50AQb/DžV@S |lV%!FjaXbL+ bL+1FQj~S )jaZV F503Qd 504AFQd(h59T LCAeSƅ8}!Oc@'%¤񠃎\'J42xM2xx60˧|Ɖ<>5O)16}<>s)؅<> qx|<><>qx|"bDFŸ=<SO*aBbB C|' \)O i<LB>'O }KB0<@;pOxᗍ O2 xNO <!O ~"O x"O aBxN駄 H|kD <'+O ^ ptOZ!'U*wƀ3O\i:8"O#OFS@5GSOb,x#O  ,'7Rx#tFp<}DFܓKY< u#"\'A`> ̉< D  B<\'Q'T*)| )H A~*O\ _tJ (@" @ (J*x% (8%ɓĢ*1OOSķ'AxiĠġ)O9O~.O ĸ'jkO 0-O ~]0O p°qS5p&2OlI`x r&9O'A <Bx& x'8%PW($"$@!Sg 5BÈIĠ򂿍7vfĠkA_ƿH[fLJ(+ 'P djbPA_ƿH[΢u;@򂿍B3!o&n'tbPA_ƿH[0"P CU1(D|_$-픹1(E|_$-PWf8F1(K|_$-CbP@|_$-]u bPA_ƿH[ўBġ7򂿍lϔkąyc>PW.zV |_$-]m0EA_ƿH[ɛ'PV3!ox9>>PWL+>PWz(+ aX3!o&nQ_°򂿍7tN0SA_ƿH[ТzWg 5BtoV3!o(p0\g 5BMk>PW](S V3!o8²g 5BKmL+ (+ ȝqaY3!orϔką뺁06|_$-qVIA_ƿH[Ǽ!A,M{C6@]nT6A_? a˷O*e|do?ebP񒿈?H!bP)| `IĤόk¤,LS_ƿ*O0RGI1(w_ƿ*O0R_A3%?8S|d_'zV 2W 뇛X+>W Q_?SI>W+ g*$9\x+ L(ϔ LJ +Ă)Oc>2W *ꘕ3%?ژόk¤ʁ񒿍TP5S1+I70eIP_g=/=/0z_W0z_=/?0z_/`)K0z_ G0z_ʅ*0z_ʁ0z_ʀ =/C`*_0z_ʁ0z_ʀ) d'KY U O``?2?`=/ (K 2?,[ X ?X,`_`0z_/ hhQ  4_zs&˘˛.gKPzO=/[3eudlK\u`o#˫yLyS=/[6^_ 6^ l%h0z_ƃ`n`Ayzcc?=/[6>^0z^\KP[=/@hhhG=/@y6?%6[=/aW0z_?zt6?9l 6w=/a0z_ï`_=/`=/a=/`s Cc0z^O`=/] ?0z_K|[=/w  0z_$K|*` W B_ K`@=/ B_`B'0z_ p'K&KPO0z^YccK6> C #G_`nf=/[TFF #?#F#;=/0F0z_`4Kb`o=/L=/=/O=/`G0z_o`_`` u6>?2k=/A`F?3  W  o F`0/ F`? s=/=/K H`D?`@ J C`Pg J @K%0z_Ġ=/Q70z_ĥ3 O  O0z_°-KV``)KV`=/`L`K%L`G0z_K' ?' '; 8y 8?'`=/pN0z_pC ğ,K'0z_1K` xI Q xy`u  c `_ D B`-K c =KZg0z_-G0z_- _ A=/p=/pU {=/q`_ _`.'K\=/p=/p=/p8K\G0z_.`u  c ` 70z_00 `K`0z_@( F? s R?) K`_K )`@7 H@K!Ro`@K)=/0z_0z_`%=/1$Kb0z_e  W=/7Kbw=/ B70z_=/>|~!K| >M |[ .K>>o0z_=/ |$|?`=/:K 0z_t[ `@=/:/` ?-K` !`*KB`ă=/0z_G _`0z_,K@ K@K@=/  \C _`!K=/   0z_K ?@ 0z_ Kd9 K 0Ke?`@? 4Kd2; `O2`C`A0z_ ?/`@ 2[=/_ =/KG0z_PS  @ K=/`0z_0z_@@ a k `w=/ ?"`k 5 `#b?`Q `"`o0z_=/O` C4K=/?K=/G=/S=/`Ts=/C A?0z_5`%K?4.K ?4`70z_`s 0z_`'=/o=/0z_P=/_@=/ ? w0z_P` T`0z_͂0z_xs=/< 0z_x4K K_`8K`c [=/>G ?0z_| 0z_|`=/>0z_@=/ =/ =/ =/B/`"C=/A=/@,K &?$@=/B0z_2/``c  0z_03k=/ A0z_a V =/F5 # ?a0z_a #0z_K+K`#0z_m %P1Ko=/J0z_`W X ? ) ? H?0z_VKj50z_Pw `=/ @c [?``K Z?? A0z_hW=/<K-0z_h=/%6+ _ O`6w=/6 KlO` W0z_E C`<A 'r_`8p S (0z_u (g=/P?H9 A/0z_G0z_) GH0z_=/ $ _$`_ P  0z_p=/ณ=/`2K./=/_=/S?`H I?, Q @+ )/`H Kn `g `q K X=/S Y0z_`=/⶿+C Xw X+#=/V`m B` 0z_d ?5K K g 4K`=/텟l0z__l_`?ll&&`0z_ǿN_=/N.K8=/=/=/ 0z_?@ ?`E 2KE  B0z_`?0z_K=/耿=/5 @K #  _B`)0z_'0z_70z_ @] d?A0z_? _ d_`?` ?`0z_s=/`0z_ O p_ Kß` p=/0z_`0z__ A `9 `?0z_у?`G0z_o`S=/_0z_/`=/0z_0z_ =/? ?.?`M p\0z_á`BO`@=/Կ0z_? @=/Z  @=/Z -0z_?ßG0z_?_  =/_p n `pK79 n0z_4K70z_&1o=/b!K` =/b`8K`O  O=/U pQ p-K80z_; q0z_M 2[=/dO0z_` @,K@K; r!K9 =/0z__% a <O`<O `2Kx?`G0z_`_ t0z_ӿOw0z_K:0z_0z_ ?c t0z_k=/f ǿdzu$l0z_ =/f d4_0  ) 3=/f?`KZfMW0z_<+|0o2Lߧqᑟo4`&쀔X+ %{S / `,{d W'y\xdgʁ߄hh4 ay )//P)-C - ^l{ ƃO3a %;@mʗ0Ź+` |<́`@+6 aY6 0;CLWh__(+²^DH*a@B|c@J`<_z`,=O< 20W򂿆 I2}0ed_ '=3 5SxόkăFJy E aX_2c ( {aDX :\xPWO@u He|dGCLy~6vEx&e|@*) _+d2c ( {`&xď+?"_CLy~66@/7|^o_CLy~640dŸO_(+ā uNx0_1=C7 OPWO O2W)!&<`&']@O\S@0N>_+b1=7boAx|Ax|do1=C6@< <|&|yxM_ɏ8E.i:| sx_+`qAߍnE:e|뭷x_+`CLy~6",M :PWO 'J_2c ( {DX (@yǯw+?8|dsCLy~6`& W PWO@LТU61=",M7tNs+?4_;CLy~6DX :t7A_?$ӧO.WJAqAߍE>!+?=|BWJCqAߍEN"oS@"q$e|dCLy~60dPQyqS@BGƲ2WqAߍ0d򂿊HO_1=",M6RG<&W ) )mޞ\+%|l_2c ( {!DX y ̯S@<\yqfWJ2c ( {aDX rypy򂿊H.ߧ_+`-qAߍ0d] D\#e|뺁˄l>qA0 0dq+?q+%|l20%ma| 0ϟB8ÈBè]Ѣ"Ȁ2 "Ȁ2yփ"T/Ht2i#G%h2a'a\ [8<̺<<`zJEjxB<H.ۨqǀq ]"@_\ۯ8 Pxr \8 r \8 r$@lKaW'a]P%x r:@Mba]P@@u ;4 !>.èQ d@@Dd@@O:d mΆO2h7ۡiAw$wpG@u kRMQkMI{ &n't9DN6аh/pl] F3wa!(_ &nBn@Lq݆̀ܝӏdpÙu]B@L:g k2$+@. b՝ab&. ./usr/es/sbin/cluster/events/utils/cl_nm_nis_offettem@@#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_nm_nis_off.sh 1.10 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_nm_nis_off.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ################################################################# # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # ################################################################# ################################################################# # Name: cl_nm_nis_off # # # # This function will turn off name serving and NIS # # # # Returns: # # 0 - Success # # 1 - Failed to turn off name serving # # 2 - Failed to turn off NIS # # # # Arguments: None # # # # Environment: VERBOSE_LOGGING, PATH # ################################################################# typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi STATUS=0 HA_STOP_YPBIND_FILE="/usr/es/sbin/cluster/hacmp_stopped_ypbind" cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi if [ -f /etc/resolv.conf ] then # Turn name server off if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "namerslv -E '/etc/resolv.conf.hacmp' \n" else namerslv -E '/etc/resolv.conf.hacmp' fi if [ $? -ne 0 ] then cl_log 300 "$PROGNAME: Unable to turn name serving OFF." $PROGNAME exit 1 fi fi ######################################################### # See if ypbind (NIS) is running. If it is, stop it # ######################################################### ps -e | grep -q ypbind if [ "$?" -eq 0 ] then # Turn NIS off if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "stopsrc -s ypbind \n" else stopsrc -s ypbind fi if [ $? -ne 0 ] then cl_log 301 "$PROGNAME: Unable to turn ypbind (NIS) OFF." $PROGNAME exit 1 fi if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "touch ${HA_STOP_YPBIND_FILE} \n" else touch ${HA_STOP_YPBIND_FILE} fi fi set +u cl_echo 32 "Completed execution of $0 with parameters $*. Exit status = \ $STATUS" $0 "$*" $STATUS exit $STATUS /2 k03$+@] b՝ab&] ./usr/es/sbin/cluster/events/utils/cl_nm_nis_on@@#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_nm_nis_on.sh 1.12 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,1999 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_nm_nis_on.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # ############################################################################### ############################################################################### # Name: cl_nm_nis_on # # This function will turn ON name serving and NIS # # Returns: # 0 - Success # 1 - Failed to turn on name serving, NIS, or both # # Arguments: None # # Environment: VERBOSE_LOGGING, PATH ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi STATUS=0 HA_STOP_YPBIND_FILE="/usr/es/sbin/cluster/hacmp_stopped_ypbind" cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" if [ ! -n "$EMULATE" ] then EMULATE="REAL" fi set -u # Turn name server on if [ -f /etc/resolv.conf.hacmp ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "namerslv -B '/etc/resolv.conf.hacmp' \n" else namerslv -B '/etc/resolv.conf.hacmp' fi if [ $? -ne 0 ] then cl_log 302 "$PROGNAME: Unable to turn name serving ON." $PROGNAME exit 1 fi fi ############################################################### # Should we be running ypbind (NIS) ############################################################### if [ -f "${HA_STOP_YPBIND_FILE}" ] then if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "startsrc -s ypbind \n" else /bin/rm -f ${HA_STOP_YPBIND_FILE} cl_echo 305 "Starting ypbind" startsrc -s ypbind fi if [ $? -ne 0 ] then cl_log 303 "$PROGNAME: Unable to turn ypbind (NIS) ON." $PROGNAME exit 1 fi fi set +u cl_echo 32 "Completed execution of $0 with parameters $*. Exit status = \ $STATUS" $0 "$*" $STATUS exit $STATUS  lJ4$+_b՝ab&Y./usr/es/sbin/cluster/events/utils/cl_pscsilunresettem'#*st ,0128:;AH_acdeilnr -.34567=@`bfgkmopu %(/9DLNTXhvx| #$*?GJWYZj'Q^w{~lq,(:iYT8y*:-@zz~$H2ㇻ-c` l_Г.XΎD Qȁ' `1}$Lbrc$if~.,B>!r$GA(r tpp_D)8:S$|U8S>G'o3BB0p"MTL]:BMIJ|&U`S$D!B[$Vז3{z%EÊY@Ж"j3^s2`J @Pd9 "S"c<3|xH|I _?D˜:#Ԝ^7[1u2G䈏N llJr&>>džo/Ԝ@ٺؕL|<|) &Loо_$DRp@-ZЩ~xlzΫ`ɃŪAUi7OT*ZMĠg-:XxVtnx gY-LwqT Ke3aݪ &.<ƋGx9Y-}a#E<L]j)B㥑tG'/&|F_>H>H´ܵ3%R@#}Lcas N/Ԝ\|T>H,E@ ,lh|bIVv0j>>|fH-}L-~bgK [lhi`1uɋGK)X=U$>HtbiĵT#}L#N">>5Lա*O-RB7[.ÕWN" DUEFo&TZ*2EXae&~n* N" pqJZq`e*dKX؄UXrN65|;lBLnre"?Qr p5ԜEolB@H-EKN#%XV1|1}n.}cb"b9\sSm& [E 2DZö4.LTR Polh)ʴa}.|;lj:<5Z`$}Lh@2DZ,l.}cary G"S`:zDP57B>ldrV) PzAQ鸔ր69iƧFgAeɋʢԜQ@2G*@@#*2DZOU2CϬl&D}Rӊ5QK[7l\)7}LH;dU<4|;lj:LZv#tG'ϞNtn'ö&eUF#p1TR2CϬl&DRp  jIt \RqB%QHHt/mZq-L\x+:X >>0{ɃRU"dCU.}L1sVK atG'/Up2D 3a܁TR#}Lv3BmrR0HeKN"öƯl3|?Xs,35R 2DeX*}ca2#iRdN%˟D=U"S$U".O.i\ϩ>LnعU >H|OɃj`xb(_S$|\D S$L\թgTHF2DG'rd.Uq#dl\DR# c϶ڡȔxZDP57B'1^X.VٗȔx@=tJ @QlrӥѼrt:aeI*/rh|#>x Gø0ty> S$}dp;L*>HtZj#8YqeB.?<2|1}n4|=_ۆ)Иh䯩-P|GaCtG'O*}Lx9|=8Q)B>R#%ۍ"S`;. ֢(lћ?RlBx݂֍2r%<P8j@=j"7:g-:XڣvIGK##nt ,O0nաѼ,K 0jx,nxccɃXt*b󥍐 `TPA \Rq 70#Uů"?Pq.tL8L*H}cj7ld;}Lcn>jIĹnZqFn0UQ@T!}cn">թiPZ>nk/ldm O>HER^OAk4 N9Zd0uY "N"婖BQAwU,ɃTR2\wNDIw|1}n>_TF"&ar`r@l"e3ʮ2Ch4D}RӉ@lK"`&CT`"U dTL >_DRqqR#}L|ݲ2x/L]x4Z+LdK t.?Q"&h}Lh>H)dD}d>o@N+LTLa}.|;U/}Lh5Pt!L],XZm wT9>ZbOAk4 N9Zdb0u&H _S$D-87S,*T S$:YɖNPTNx2a:>Iw|1}n+|;SЦ~"@H##dިXIJ$>'b:Y6}d>oG'_o hVr\L9 rGxRa9>.De[:Y/dm,gAr} KAs Iġ#øq& D"gD2}LT|_DRq>_TSxwj`|THf# zn$nZLw `G G >! S$:Y_YQNǟ/_[?8|TH2D`3*2GASdZ%:Y_YQN #϶Vto#S2LǕG2GAC@H@ܴ2A8>| G2C IĠ6χqq&aBU7 }LV#*gDh/_[?8& O S>T|S$}d>oTw#:Y_YQN #϶GF">>#$АTFY q  rgøh :9:8Ll#dK" " #i&|1}nJ0.}LVPø=&kCTF2E#W5jt ?8N!2bNDG#Sd5Dj_S$}d>oT4 Ā<4 I!,3X<S$:Y_YQN!tG'/U{dqI*7ø4Ɂ907 GYS-t"`\wd?G5jt _DRq>_TGF">>#$ЍSj# zn$nZLw `G G >2C IĠ6χqq&`h-Q叩*о_DRqqS }LC`pؕ0{:Lևa`U>>Hze&-\.to!KN"S(}L1sVK" _DRq$|0k$U>R lU&gIkC0.U<Y`HrѼB|!"Ԝ\U>2EXL|bIđVx禍> >թie}T{Vab2G=LtýTL0}Lhp3x5| Q5jZqqT _S$Ul##IXU<0}Lt.?8}eStwFV02"&9!"*eΖDP>L\8:Y"`t:m2Ul S$}d@2E˗e΍ kd##IZVCd}.|;O0t#adCU>HC-|6΃mCRlU&.mȈw0th}Lh$-3 >_DRqq0k `$}LVJS$L]Īm0J|fFGJdÑ1ffLxr&> C4:S$||e7ǐw+78N!G"c?!!ҙ#;(L|<<#Yqҙ#;(L|<<#YltH<9o!VnqbtH<9o!Vnq5:S$||e7ǐw+78tH<9o!Vnq)>C2D~B;G'JdÑ1ffLxr&> C)>C2D~B;NN!G"c?!'GJdÑ1ffLxr&> C !G"c?!#2GwQȘx3|yGs+:S$||e7ǐw+P=ƀ m5 Q p[ePLr!6\jPj (A@M>vϋ) .!6P!.P#; b4Bl,8B\,84HvĈXqBnAcx$"Z"їpL@-A1aipM. bQĠx$"Z"c$Ӊ ĦBըpD#>,8CL3ÊD#At,8;!oЗpD#>XqBÐgÊD#AtPPȆoЎX Q GcȄXqB hF09LAP}י5B ?[8MmPm [ (@lpr![q`N[qBMqؼx*Kaa-~X |Z9l,>[(Al,-D+`N=l k`N1I1xO-ZC%k:6KV= Lxr&> C Δ!G"c?! Lxr&> CJdÑ1ffbtH<9o!VnqGJdÑ1fhz8H+pJ $*BkE掋͝f/Z{, ֋իxlzΫ`ɃQ!bkfk!/4t D*4ejԣB^^ Bt ҤG H"H"H"H"H(B`pMf#o3X/r񸿋/r񸿺l,uo1]uo03X8+V؛2^7`zeLhZunu?1^^JJ@HT1VP BTdc0 J*) j0 H+ F|^My{1{fL׺f.ֱVjX16d{ DV4uxZbծblɚW WЭbhp=ZY]`ٓ5x2 ZkzWV&k^d-\'B7^&* ֱVjX16d{ DV2dkX5uk2fBt+-^hz" *]Z&̙u{ph 3d԰@AZY]`ٓ5x2 Z62Vx[]`NAX5uk2fBt, `ahWV&k^d-\'BkPHVc0/ZY]`ٓ5x2 `h(C+ BZY]`ٓ5x2 dњ -t0 U/ B. hG(CX^ c5axTAxbh=kfufL׺Z4N{!pHBax=bծblɚW WИy[+bl\-tkX5uk2fBt&՘yYnZXb:kMV3^+:d %BLLsL! bծblɚW WКd.Z/^+X5uk2fBt, `ah^PZY]`ٓ5x2 4\f{3up#[qK;~6Foֱ4uk4[ZAaS6l?H;~pH;~hjZA/d7- 3xُߺ5ft՛O- 6 0- 3dio Wٳ4gZA^fV_H;~k1^/XK ZACU'խf1o ^`wh-qT͛#OH9~ZA/H9H9si={i==h?պoQr cgȁlYG"xYGpqg#VcF!X ؍ا%I֙b26&̙u{X:t# W/f"4؝Kدd&@7`IR`f̖V1y[+bl8 %I .NjNS؛2VrsRr+ul'M\itv&̝yc7‴b/fљ)}ZfKUNk-^hz$& .NjJBْ GlZ,N0I՘2ZZp1FBX+`9*Dx%l'%H#5X{'/Xf9:LsL/Xf9:\PrWV`9*LNJ'%I.65VX+`9*LkGWf9*MVZl՚99>Bkد3u99F'ujK'%I/dFIRbu5Vprlկ< '%IV׎NW,fbfrT '%I՘2ZZp(3f "k]`8bWu;@ك0Hlի]`8b"Lի]`8bF7^̼1N7 1V21N 1Blb$Gl/ഈp!">|dD}c~;">K.D}`q-o ȏl ghpVD}`#-M3;@x:>. GGܞtt}pd:>pt}GCO>7A'ζRvWO#O>"gh탓Gs#Gt}mvvφ#G`]3G r<]plC;@xgh8b:>Flr#(ghY"7h^xpt}`y#G܏9ghύG܉sćhx#;@H<9&N9xt}Ȑe N9.ghôDhV؆vȐ< 8t}ȐghMr$sDSD]p* (=;@J1r%j:>J9ghNN9SD GG܉A;;@LC9\:>LlC;@LlhFvȘ<9/\:>L997\:>LghHt}Șg9PvȘg3Dxr&$\h:>iH1r@j:>99 `pt} :"w63Do=;@Nt}ȝ?`8lr'7!();@k";@ xb:>s9!9@v:Alr|k";@59 osAl 9/ t}>;b 6AãEb"3ӴE7"j:>PQ9y@߮r( 3EY"/I"ãElC;@P!ght}OÁ$JGhm&9DvosH2;@1rD v. b:>lry.sGGܸ 63\v$b#5rFmH6$e1rFύGGܑgh rv$b؆v:N9#i"G9mE K.5r)63E lr) GG܊@ˍGG܊A;;@Rt}Ȥgh"Plr*{lr*[GG܊{`PuãEB.؆v zv C$9ƣI v3I`Ct} s!rH ӴI5$$6$eƣI؆v@%!!,t}@k9 t}@؆v@yY!+N95!}ƣB1gh*Q!<9HsHvB=;@!F|j:>!mBt}B 3BcVvB h 0!r 3B"pt}DaƣB'3B#B -탳B h퀦DV܊{!"r+#E`G܊Uȏ!7r< H%ؑr!! 2#P7"> #P2q(;">s#BAG ȏ r?Y큔 p|`PD}Ȱs#EG܋ई91ep/QȀǁhl@QYG@1YG@hYG@2YG@9: (~aeq8,9eEtl@Q;`Ŕtlb: Ŕt (oD,6,`$QJ,=reɅtcEtϏ (Q_Qn@,P,xYG@!pQ𲎀tEt:QŔplYG e$8HCe$sŔpgmnom<.&r|''+G7#¸M$r=#v|&w#X|c-r>5egG.r>NGÈ܏@9 w"AnD1"@79DD3">H5H7! r$pȐB'"@k܉(%r%r9"RNJ4r% DDj7"Q#(o+r%9(ȔSc(=6ș 9&r&B"` s0o G"`5r&pȘC7"`g ȘAnH8H  Ȝ| r@ @i9 .HLN@uȜ]FNȜcJN]+r'Sm"qۑ8%\TEAXFnA-r!s|s ܃0>;.A_' 4|@ȡfP+EeE NEK"EPFPٹE7r(%r(r(1ˑ@c. !>c&Vז3yauɾ ?#L[,fysպoQg_?r c=7~F#Xc3tY|{S,fb757ǿ954tOgߊXގq=o~*s{<Tb B?Ɍ1_դ?owy{e߁nOmОo-rx |{0)aJ9=7*7# :{<T:|{S Q.7ǿ9{<T17ǿ91+5j|x?lj9 =LڴզsNdńզsNbRiӼPZg4,%HڴiJRXJڴiHPXJQ3w?j9x/Zg4$,%'I3ڴj9xȕ/ڴi*, j9x'%K3wiӼa:j903{VmZg?3-3L䉋t~զs~զsj9ؓڴiJ'Jڴ03^զsڴڴimj9V_ilڴVilA3탟j9Oj9xڴVɽLCZg??ڴ~զsoZg?Wڴj9xj9x{V,3gZg?ωL{V=Lڴ?j9|ڴ73)Zg?ςj9x)`NTڴڴڴaZg?{Vڴ3wrj9>j9x`NT03/3}Lr/iӼTTXV!iӼT'*+3P3`ڴiL'+{V0{V0Zg?ڴ%Zg?/j9@/j9'3rOj9'j9'L~զsN'LWZg?i!j9Bgi!L53 iZg?@kZg?ڴ VGڴ_ij9(}LզsPڴ}LAZg?Ȁi"V%զsWi"^զsoi"43@ڴ Zg?ȎL,3@V eZg?ȀEZg?Ȁڴڴ3զsڴڴզsip =L>զsoj9ǵip =LWZg?#ڴj9}Zg4$(),2+33j9զsV3զsN:2$Vyy 2.Bxz}K/j1yܟ s¶3aFx i#3@8ZfZfkSasV3 V7ƭZf63`lL,kڴl@j#mZ`LVԙy܏znυ`uYڴL^a"Az sLZ?l3j8F3` ֭3 Zf!&3{5R}L].j7F&3y1{_)pզ iI}ȘEo瀹t'~o-;~{ VI>U{~xVlIJL ;Zg,8nզqf9*OZ@!5i#{l@j~ Z<{32o^ߞ/&3Xr'VOi'6mg翙`8 %IKL^a"q޽_椩65iV315M5iMV3^|L6\$~1j7)=SVHɫL5iL> @YV S AZfkSAj7*oMZf#V{!ӕrզoTEVPL_V3⠣֭3Cj7*5i.ؕL퐵i6ۍZfb 5iCV'/wզu&^a!o^ߞ0)aJ;td&wb 5i.j@(pզ %Z<{3 '*Oj>G TOj~3Ffn3?$VFPա f2g^f\̛?:5$~y{= ڴ!>c&uly mk^3`+jЄy޹o,;!>c&^8`r,6&1ɗ=܋M{b1b3!>c&t՛O9&1ɝ5fEaE{`-,X22&wOɘ-yVd~F?3E1܊[7bŃ#"g{` hB|Lj̓'.Eg6&1ɍYdȬyŋFDVOɌ W܊ɾ.cCU"ao<<,X22&wZ1+ dir+&1ɕLٲ4{yiXddLc&uk]5d#[̛&uk]5d#[7x,;hB|L-35rmMwc:6KL\cy1b3Bա @#v&1<!+o<),X22&w !>c `d~F?P#v/bŃ#"gy-Z1xB0yo2o#,ryo`șxZա Ӕnd~F?Ӕny,X22&w ڴ!>cɾ.ܠ7bŃ#"gy{V'dμhٝ6&1ɝyѳ; m1b3CV'dμCf.Py|]μCf.Py!(BO/fj̓ЅK<ђFhTcTHC`h22dhIIIPɕxlzΫ`Ƀej3^s2`j@ZJf dl `}Y{dl `}X b[LV ղu </VjkM V<&+fhlKbay10^LL/&& ɉZ/(',^bK2blً׍ײyy/ZY]`ٓ5xlB34JP4L*4ɖ^7VXɌW 6e&\njkF֙]y%&vLh[L`JLh*f͑q٫3tLhYJֱXcEjW7^.3VխbdƋռK_&/XK @ lv5$+}b՝ab&L./usr/es/sbin/cluster/events/utils/cl_pvoilunre    e #ailnorstu$=cdfghmpv"-:_y(),.ACEGLMNOPRV[]bkw'/012FIST|!&*39>?DHUqx{}+456;Bz78@JQWY\j# 5t!u`eMa.. ۠ 1.@NIG>`JfMHp#(k[1c1c1c1c1c1c1c1c1c-g:0"dJVdS[ۙrTt`GV^8|TFDfE;1BBB"!A8CXdҹ4,jM+FDt&Jtt =ӢM+@LsZtHLre$H8HHLYIY.{|,pR.Ak_FrEӛy#]1CKQH\lEӛ~8|%"}#t腣ũQ't,x):ǔ7@Fcm7@Ls΋QZt =ӡeFcЈQ'tǂc5ǭFQDGE Ӌi\tBm7{;zŨǒ5$mA<]1Ot赩QH\:HHDâϔjt}"|L5jbԛdN0L$tde @̀Rg-bHLre$H8HHLYIY.{|,pTfֿ!+F)٤t' /\-D !rVSt'7Ftr70ŨBy7|ȧrq{sI0rwzHjŨLp:QK_ sfjW8m-&„2sšQt(Jtsاuٯҹ3#,ibl3#/aM >NtWRϹr1JbtmFFY#=kbȨ9эaK79ϾdKFkbM+F5 >t,cXS kP' Bx+a< p4 Ak_EA~8C(`E_ soLB 15CyyC#fWnCi_bNf'[͞^M66n@1vosFyE&ӌ&hr5GAP@PhKb Y,czM+ ;cNVl& gD%wMch& qsX0q'@0 bAvN7:2Όz_K> -_=79WƴPm7v'`Ot'Fjؿ%y6TӜ9y@' h(+ xDVq_PB N^;}oZv0.&$郉=7akQAi i sIFTtdeưŨ$syc=9kbȨJ1Όk Y}':Z3G= e0_te nS$_ZLyHư'΃|,Pm76эaBIB%Bi_+ :dM+Ɔ̌(VR4эaK5jqQ%Bi^Yx :`D. WQaL#,iHư$EV2T&嗏?Zj1)k JZr# ( Z/to:QG1)tde9?)$)yR1jqPVTbfQ ūg:Ss\1;)$)B4ZȪF5,Έ\4"q8졁u:O9zūWJR1_QZ*J=jF5 % 23dN'ZeP @ x_ĆqMu|%+m6ϝL25soLZ׶WtFt/Yޜ_To>Q\R6&;:^^1ByRZ4'Y`Q6mg|NJ#owOZD/JW;W;w>0c +F)G:jŨǒВg:eBz0#uj,1jqPVP 1^P~Q ūœN΍}\ Fr%mūǒLG\ Rc3(`G.Y@bse 1x3 ZjbG( ň(V| wD=)DmgD/M'&~:9zūClFg'ANd҉6*VAcu,+L쁡kW$A ǔ,.*"(& G5K)3^)7|#h,vNLG9jbG6_D/5mM^N޵1j1t 56}O)]1ǺtZŨ Yt3;Ć]=ԟ:6l,ީ-L_m8rghYAIDqɟ0#p㰠p/aax#9IDqɞJ5Yx ` /\H`OI(`Gl'YN87Rl.s_.X199VPX&c1c1c1c1c1c1c1c1c1c-gFȨ$$MlXGFT%mwN'fcۥB!zq}QFhΌ*^_To>Q]{eyYӝQAQCͨޜ_To>QAsRN^s:-Ta}m3 n[M [ä}QRdTNNt&)Ix+Qx?N/7(%J8"x-+(LtBbm6򶛝( @̤bm;jإ a T-b1c1c1c1c1c1c1c1c1c1bά $$MZM+b@y#]1ɖ _K>D*\X1,k8J:Y tвLY@y(5,%'{O,H Q[abΌ t7C)]1Ǻt_Z:RH Ӌ5K45ҳ(yҊ=LqjbԌMqcLRckP![2R0ũaAY@nDH̲fQ 㱑27֯!pZ e#m3nm7F&k85jSFr=嗔k87ZD. Rص+ WSY;z N[f+i8|TbmJ#Ҋ=t]1Ͱ7k9zM8 Ӌ5IjW8)X Ӌ5K4jQZroqPVP![2R3,TBj#_To>Q[wh˄MW16-_VPZrŨ x+m}+iLp3u'4}]m: Dtk}# Ӌ5K@;h1.\"mDS25yGndheys+N^k8 |gYXg-DIC}o Z8(+)$t RLfQ ū>5";t'=.tܛTV*fD )QрgIH{ Ej"ёndN0>׾#hfOnV2+W$k92 JN25{L' Z".*,Q>1j7 bE@m7M&y(5;>QY`ppxqc#9eą1B(*. qQB 15C|TE@bBb`oyxQ[YJLƤѷ>1Ӣ?Ǔ)p!yDM0 HHH!x'ђ-f΅~6"eDD/C?hs'Wͳ LHeIJ F5*&~@K(LPj6 5_X&c1c1c1c1c1c1c1c1c1c-gFȩ6Ȝ`ض~ * HHDâϔji6srwYJMab; s\u:22l㶤Xjض~#“"yRmlRӉc 8|T*dfs~Iw¯xZض~/t2*kb1c1c1c1c1c1c1c1c1c1bά 6Ȝ` -&@1 x(X"qC23(`@\ D G嗏AǠ?p ,(*x&X8iDto:2kY^mow'`c*B}ˑWJ6ֿ/`T9ٺMQ\GN/7(-78/ҹ9==Ӧ<@Lq (=P$ QYIMܝ,.*"(&!֦-D?l.s: "}#̊w%=Nneъvnk95R2%+2)܉&zrPΑB^)<ɆgFZMܝD<<,Ц@̤P?+(fDΔQӋ5K:c~te.`/(\? _-LZ)^ҔFh㮢$M?y:!y-ǡNm4'`q  "yRL끗n= fF7i;H&?(X\TDP8LC)3WJ1`ֶ1c1c1c1c1c1c1c1c1c1c-gFȨǒI81fnNȜ`-g:0"{oD/N/7()A+6Yщ)IF0n+;;Ʋ2>6bD>6*8$\@7ȟD-0 &nNbmbt7 Lp%ZiJ&\Ӌ5J{˞|T)JiOMۣhܸKbإ? qFpj6R.sF=;+k#-lR( 2[(xϔjNXJWe{^8|T6\d-Q9ϾdKG{@,zإ+JQ2=~_To>QSiv>)_ΖCӢض)A$/2œ"mj7zN0rtPxp )@ppx+k#/>Q[tdht[MΔQ1i\Ykbض~!( bpH  f,. H@`@P$HL@L @ض-+(L v^^OtOrT֓+e S lR\ch7H:{ٍۤޛdN0[3oM'c{'YKmdw -WR9RإrB r]D6tkol[?Z`b7 L @JW900tF@3u٣cYm"ض1c1c1c1c1c1c1c1c1c1c  P$ cX&Rǔ 6}gK.sG\fQKg, 202œeW /|/C$ _?/C$ _?A`_pA2̌ pMX 0X4 Rp2WYC2&<ёJ0$sycǩLl^٫Zؿ*qRzM)Qф"eNG{BǏRӉܮqFMI =JS?{N'iF52OtXR:q;9ϾdKFkkI3HǏRG,ݴoYі׿f^P )L w6MFrjkI3HUg$.51Όq}QFM99tT0tm/`xf;mB!<,ũP#/-;C)y$ϙ#3HƲ25{vI1%pj6c#9$*$(*  cCKU-_ZȨ wƲ2ܯE'Q9١:2BUtDͶx먀oA|j"=oeݚj1p8DEptnlѷ$*$(*  cӝ~Pp`1j#E2G5Jە+Qt B\YyRD>6On7rpjŪG{B 15s1c>VQSnW ώsn׿ϔj֢?'p#I4Y:q;5()LZR<:-FjbG|eLC5(.6tDlisD-j#:q;~ N/7()DNW8F^|TV-_+C(*&} cϔj^QRx5@@!q. bҹƲ2񡥩TB/ Ʋ2QZOq˘b Ӌ5KlF)=:'+1: 8G!s8|T:{ tN6ng$=wϔjq1ͥrK5W8F\0yQ[ qF |aOa5m:G6;t9;lbE2fc\=x9VaOyіQR_#B&'t,Q>15K/(F&1cK`a=&Η@PL _tMԲQ"R<"m̲L 钛dnxOV @VϕO(HT<8HPT }+K ʑl:zM/!<+ ^UtMԲQ"R<"m ^PPy !"."Y.{gʢ)J4BJGMy@PC 'DEp ƆD. RdaGB(lN㎵Όfc\ssLZG^;r'i\ϔj.:|"m큫RDNW8F^|T6oD-t)R<:P$Ј)3=Ӡx&T$j9Q-;I0C*G{Lhi_w=3Ntf!pZ"|#2sQYyG5Kl o/   1i\YakZv23T$t=Ӧ44 ԧ!׼g̑iR2j'2Uon.s%+k#.aAjWQЭJ9R(!rv{`O9ϾdKFyїD>6ވ6qD>QAM7HBtZũGL:P$t=ӡ Q$NR<$NWZ-9k:2sdGL:)_v;yѬ y}':Z3 _Zv23ss'Q[:/LOtYAVbLOtK`a>q2 Zv23yII1 Ũ$>6csh5;rs_.s`Fyі-ېYAjbts/@5:iϔj+)\(|`A$$()): |? %]HxmAak_GtD>^s:p->3_:Ssc8vwD/N/7()"Xoѫyrn{e{_+iG'a8}a 2 jn3c ,3l ҌᷓtT5_Fr$ 0 ($& & p@[D. SGZ!r}gKs+ҕLlxFΑڜ\jGB#W/u|h˄Mt胧ϔj̜ 9< =R17KZ=^_To>QASLYA@@N&O)3֪!pŽ(VԥF64.s胧ϔjsbmJRVs!ֵ1j#u)hNͺ\t/o8|T``eYJMzq}QFq7֦-LR4_YBH6sot{y&tL_)FTщ+'t$䑉 k8N+{N'fc^_To>QKP..cn,Ӊr=[MM`'6+WctY@ctD:ǂeHkQG &y$bm@Lq&{L=jbwD/N/7(-[M' 4#W?'Ԓn;u1ەkOjz &o&,?RQxgo^өr۝fvSBi\g #l֧ BYe`P`VCKU-_ghYABA䃄4 e&x^dg)LQ2 (ń@TP+i:8)LQ0€N& R0 YJ@ /ZjRg #l2Nǭ_Ԥ%F&crs^=j9UbA䃄4 e&~f`UyAg7'd#-TBy(16g7'c֣c#9e&y(16+M& 77CQF U-_; F&YxtOl1=8|T!pZ㷂LIp,m ^ZD. Rv23H/(~44+\)RGϔjtͳROi\f7f6H`O1m5jR =ڒVOt:!{:q;F8|T)LZ# :_&y(16zMܝƆ ԥ1jRByR>0Xf7Zp7C202š16֥($+*Yіl=6ȜN;tFW#$lթ__c#9IJ0$M6srv?_/ŽmjWZԫ|jW>ru D/N/7(-"ff7Zf6n[M ;n!y\n|N UG1+ByRn١InN0ZG53)6șN85jW}Hg&~< tzԯ!pZ-JQ"q8hfgMw c_ԥv|#LvhoF51 v D=( Z-JP,m4̓Lm0pc#ٺm8w< ?(X\TDP8LC)3֥(ŽmjWZũ_lr ows߶RHDâ+Ff{Z!8ٻ`nԒRKZũG9kWaAYH/,-jLZGK{Lq7q}QFe&~:!Ԣ? 4jwsfd`ee+4bmJDEjQl 66m= lF&jԦ-Jq l*$LyH=ӠN;M'k5TB+ǒ|OPc#Ư7i 8|T?t49;щٍu7O2'gcDE2=jW ڔGnj:GqJ9R)iDqd90uIڵ)JR$ޛdN0Z}ВgF&< t~Rgܤʙ8szs[kW*5Kt+)\(|#N0^m=kW`P^R16֯Fr/*daiz!pZԦ-J#z`~㰈xD! phݰ7u7OCI@tBxD! ܓmOlt(()ZBi\D<"$ ( 15d zQ{&\̛kx&-4#r>֥8dg(" BBnYx񡥩TB)F<Β$dܔJ甙R㰠3XZԥQ ֥)LZ#Nu;rMta"|a C2<5jRGSsΎ{tlތMթJS)G9jQZ)Rm䋡}a/s]1um5oթD_D=:S}R^c:\8Gp(B5yGa C|!9rJ!fh{]թLZԣJwBIH끖I qS fRgZ.Y@bԧe e akRjWPBӸSyѯ끗( VdZũ_I3#oRct?)3nRgL 9?Y#qm1rZrr֧`H;,bmakU-_Z;2kOl; nd`ee+4bmFnN &nNbmc+&1$jM'%5{AS'{O__PIOrT֓+e \;;-g=fۤޛdN0k0nd_1=Om.AҲ +p l6$+;Zb՝ab&:./usr/es/sbin/cluster/events/utils/cl_querypvre $'$,0123:;est468_acdilnr  -.59=@AHbfgkmopuv (/7T`hx|$%?GJKY\w'QWZ^{+j~TP.0炝Pw$6aQ \"0/4K1153LB 9lZ.48E>}&1&p.Op37|V>*7Ӄ| "v- qq4>0VH;DCth.Nh'#%,g#.1r}9Z 2Ars@9m9,r20s8@d7N "r8rXr2#!әŢ!pO4'4 ӒUeF.C3DCth.Nh'#CD S!\86H 4?q>}ZgP"x4"# cOh|n`t)ca,@; *  T'CQj} Đ)i*jD'xTBr8x*0* ȋJpgk#.C # ~y=$:4q`Prc0VF]NPrb2#NPrMc`*$*$ 3D䰨i* 3IT CCsPv! 4 ~'~8Fª;D F;>`7:RV1E!hr! bue䰩8=ǃhrHp1NGN,!ӑ  FӒ)˫!$8 SЃ8=3I#AHd'#fl8=Ax6s6I4q $e9lJ^I4Jt:r2rXTI4r8p/A"N A$94x3TO'$'#g'Cg". ' 4Ir8B!RT". n`LgeBRLq $$q¥*F$D9,Rm9,*$r8t^'A H #JtJr!tq8)<Ɖ0ӑ &4xTH6*% 1HDHSӠaLubh|nxJ@ ))a)4X6kNM DCp9ύ(6kNM DCp9ύ(,Ӎiɡhn'49%E8q8Y4- >4qm8֜, rsC Qqt5Ӎiɡhn'49%KqZphZ 2|h6 bgE6P(af K&1ʢ0P0/XAfhj`bf`! itp#ZhhT 5Z]&fitp!ńZ]щu`GM @rXAp> ă`ФlZR I*ФlZR QPh\36@_ > FŠ%"`Ƞtl ph Citp@Ditp`1B' -c K:> -cj" hXFVP?'uO%H'x. XR `V|,@@. ;D F;:HX<ԉ= Cc`#R<'x) JANeIGdf!Yh0 N8B8) JAN&u!0NÁ: J3R L1LB`t@g@Nc;Àt0#B'KQtpR L1FT`H*.R L1H w ,8 R FhR L1H w ,8 R FhR L1 p) #xp'xqÁ:HX8<ԉ>!Yh0 ¢R;*ApXk.,T|`+`+!Yh0 ¢R;*ApXk.,T|`+`+= Cc`#Z7nJT8L8RaiKP$Fqbr—R8L8ZuD&J88(Dq G G4+@rǓ %FN!cϺNk_xNX4 Ф>:1+-Bࡓ2AN8 %\|q`qr 7T/^hG|*_+_K%#Зך\&o3 sCLDO;"GtD3EȆz:gP>N";gFoC=_+L+C=_L_W}2T%%ȆzVdIȆz~D3eH_I";D3R?C=_;WϟB:TV4ȃ_Aί(E1ϼך  U:\_ s %/4&s -\KD\lK^iĹ}Q.ayQ.ayD慝Q.ayo0%/4|dK^h5Ĺ\C! s n`K^h6B\@%/4y.ay1!.ayu%/4\>%/4|F%/4$|<%/4 s  nD߇D9cɄ'H9cɄ'H9cɄ ĀN/FJyZa"2T)}0 ´Xȁp^!H|0,u0bVZ' βqW^uHP$w>RT4h !>X󩏢tWQJϢtbGϡL-GGXkmA 0 9Mxe]Cfѥ| mWP 0Bo 3 9}(.8HP&]esN`:LξإA ǘ dQlYuu0});L}`t#J}GOcEҾ!i`إ8JV[ie`: V`돦(+Bluef!CʹN,.<9K_>08՚eǝ')u+Е%},'i C>+qfL",B+@РtEh6GZb$N}'!yB36X F,ycydmYVi%,&y,t2Ja J3i. DSDjR YO,.9b) gѢm.L+F}/#>mYViHX4MqcihϤ,J}&8՚eRc# m0eĥ'K m0uue”@gS6 0@2H u1N*md2hؤ$/2p!C'[ie`K IR08՚eǝ')u+Е%},'i C>+qfL͊N4B( :ˬy’N:ǖ<36:YuZYV`f| qwͶ qw'䩊">:yei"|ieZH6pN,p]|H6p}fecs6L>mL>G!y&E .\%LT%L42dO6:N,. "D :%u"L8qcs"lR> 2J#J[c]fq2'ʛafY\+LTמ*L}&<ӋqoB2.ͶD(.앱H8J#J[mYueȟ*luefqB+>"m8L+@fX8"D`ŎqoL>8ΐLlR>(!x[ee<2c+X&l|}fp!J"aci,%JPKY'FL}3%/6:̞xe]C[)%l|ˬ\_ JluY9EI^bVmYu8L;ʹycq3lY$*>F,+4˂gB36ŎY\}2:dG :LRX}LfXYO,.%,)>4Jʓ>mY.%,)>X󨏖&}8 .&uLřd2㙲DžeI>o0YRg|^ؤ ̮L;ʹyeWL}2mY\)@,>d ^&u3c,'i;bB/0ɋSF,2g^u1km42Ja J3acilR(`WB_>V3FT,2Ja J3iefq3:L6ŎY\LΦ-u-qb4ˉyŮi,'i,ؤP ̮L;ʹyeK'i,BTPؠ]fq*C&< y0~ؤPx%HP0ZYu:2D6:Y$*>!Cʹ2LJaΆm0Ӌ4ˏ:NRWϼ2u,@ufqI]J%E_m0ePO*,JmY. џJXRJafY\>RX}3c>L,'i$ؤP@B (ydc,p"wifJXRJafY\>!CʹN,.9I^d(b[ΡluY<6:Y>b֖i:2D6:,JXRJacitԯydmX2ΓJGa4˄BTX8WY\>!Cʹ2L [`uSv84ˉyŮa,+4ˉyŮe,t2g^u1kmY\s [dW&H<q3:L6,yμbQ20ufםLZ&h2LםLZ#qci:]D>G :LםLZ#qf>8!mA ˸:!m\ /46@yeiJc,+4ˇP}#*F`4ˇϥt IP󯔠6:(X:di:8Ӌ0uw-HA3 ILإ/>R:RE .\>R:GR:(Y0uD:cie1 oL/>:b !yOJ,pS/fie/,}8L!m\0P>!Q9N22ʓ6)a^hJ[YueP2L|l.N,.mά@ufpξ . Y\>󯔠6:]fpį:2L|&XYN,.*&Hd|2㘅aL b4@&aXae` 0o 0 9[}!m!m`bĨOl;+cf#x*BN:*BP}aɒ 'lu>LX P`"ϼdiIH(DjT.ĥO:|"vuFdIdiIF" d 3uA_ #&#&눌[FM au@7TɺgD1{#&)DFM}W"Cs8 ̛ x ̛KM_Hɹɹ ̛^dEM̖&@/2nd 8P/2ndj"Cs T D@O‘ys y\1z!!̛ 5@*1|!ƒq n 4*7Pn Iqk&.7h*7lF1qa `7q@@bn qQJn2jd!#Ԥ} WdJs) wW](?,FW:0 }R¿g#J7¿gҾMW¿gL I_¿gS&*MWʐWNEo?Y+W|Ϯ[0~TV4 g¿94zc(W>} g-4*D)^k^hW1+~#3 H 4c(WFg2\P5L4P5`X)#Nвc(WFg<жc(WFgyB3?VWɫ9^kѕ!}'^h5-^hc(WFgҾM40ɊkdP5uҎ6*@[1+~#3gP"i^k/4&2yfBz@c(WFg旚^k|^hLe _y2ʊך9^kʊFLe _:^he _钡)+4B3?KuP5Enuc(WFgEc(WFg_T?eŪT '>>n_W(W?ϼϛ+|ϠLyc0#c(W9Ybky3 LN[^hS1W#7Ybd$|a^kgʼn怒c05FoL¼u a^k924TL_W 71+*P 710O3sUc |&1H)sBd9/4a^5g)^hc05FoNU1W#7]yI¼T4Lfך 3 _f&Fߪ+Rd7A?F_^F_m*2oGX_ԨpPB:(}:B:?*2oQ}GZ}!9*2oR/L}J쐎}!aQ}~F_m Ԩ>B Y}ΐaԨ#Tez'*2[TeF_Q?R/<*2o@B =Te}JJF_mZ!̳TezNzBR/J}J^F_QwQTR/z@_Q0 J}JR/`R/dA7Q4Ԩ-*2_R/hoR/hF_/R/?R/;Ԩ=TeÀ$*2*2R/$*2}JxϩQCԨR/QԨzԨ=J|Q*2)*2}J'Q7QJ~F_h@R/ JD }JDԨ}J;*26JJ^F_FԨJ]Te`Ԩ>F_FF_FQ *207*20<*2o!ãF_FJ!zBBR/AQ zOTe0ԨiJF }JFR/ԨTeԨ*2`Ԩ *2`qTe[Te_TeC>F_$7Te@*2!R/>F_$~F_$z}dPBP?TeBR/^F_$Q ԨQ =Te@F_mE }JndUW(W0U1FtsUT1=J cĤ72-2&XBwDF.BT)QįTRF/p-RhԨIni2j?0gC-R/T1D#"R)7]~o&DX)QJQlȔ[cJ]%{*1D}G{F0:Mp8F@p̧7)@oP#J(c2J cĤ7 жV: T˨VwԨ˩:JTb2&X*R]JZVf"+D,RLpJ]J"\QįTRF/q*0&:Jat!U]}R/>Iu1+#CQJ"{0<*1/4s !wQ+Á g0"/Tij@c059zUЖg0"Q*^hrc059/ROJTKJJǞ}2n4P9ϦBVƓ+0MR*Ǟ}2T(7_({X@ђxos`P~#<#WT0wtҔ= 2Ox24 70FcqU\ºNR纡FIʐ7 j 70ʐ7 j/#JPRz$o"t*e%*yL1L)<0,Fɒ 'L(z|DHO+]>V>XW LJq8xxNd"rR&B"2Q:DdDϾ+LOF`uZ0\k8-`' Ҿbtp+DeIG ^.u3ʒ.<ャu'J:ѥF(dF>+">*7Ϧ*,}Wgŏ>DgѥFEJWF>+!tF>+8xxN<<' LJw!hVׄ&J( Bǟu0RiH|0,u0bVZ<7QE]v8']#}7(ydy%:%B:B(;'uP>  k7$+@b՝ab&./usr/es/sbin/cluster/events/utils/cl_reassign_Eprimary@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_reassign_Eprimary.sh 1.8 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)34 1.8 src/43haes/usr/sbin/cluster/events/utils/cl_reassign_Eprimary.sh, hacmp.events, 61haes_r714 4/24/08 19:21:17 ######################################################################### # # # Name: cl_reassign_Eprimary # # # # Description: This script calls the SP2 Eprimary command. # # It is intended to be run in the background # # by cl_Eprimary_HPS_app to insure that the # # HPS Eprimary node is reassigned in the SDR. # # It runs once a minute until a successful # # completion is returned from the SDR. # # # # Called by: cl_Eprimary_HPS_app # # # ######################################################################### PROGNAME=$(basename ${0}) SSP_BIN="/usr/lpp/ssp/bin" export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)":${SSP_BIN} [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.8' HA_DIR="$(cl_get_path)" PRIMNODE=$1 STATUS=0 DELAY=5 if [ $# -lt 1 ] then cl_echo 1048 "Usage: $PROGNAME service_address\n" $PROGNAME exit 2 fi Eprimary $PRIMNODE while [ $? -ne 0 ] do cltime sleep 60 Eprimary $PRIMNODE : exit status for Eprimary is: $? cltime done cl_echo 1047 "Eprimary node updated to SP2 node $PRIMNODE in SDR.\n" $PRIMNODE exit 0  k\8$+ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_release_sna_dlcy#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_release_sna_dlc.sh 1.16 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)41 1.16 src/43haes/usr/sbin/cluster/events/utils/cl_release_sna_dlc.sh, hacmp.hawan, 61haes_r714 3/26/07 17:51:39 ############################################################################### # # Name: cl_release_sna_dlc # # This script is used to release Communications Server resources on the # given interface to facilitate a successful swap_adapter event and to # allow SNA DLC profiles to be reconfigured. # # Arguments: INTERFACE - Interface name (e.g. en0, tr0) # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # # Called by: release_service_addr, release_takeover_addr # Calls to: snaversion,mkdevname # # Environment: VERBOSE_LOGGING ############################################################################### ############################################################################### # # Name: mkdevname # # Make a device name from an interface name. That is, translate # en0 to ent0, tr0 to tok0, etc. # # Arguments: Interface Name # # Returns: 0 success # 1 failure ############################################################################### mkdevname () { typeset PS4_FUNC="mkdevname" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x TYPE=$(expr "$1" : "^\([a-z]*\)[0-9]*") NUM=$(expr "$1" : "^[a-z]*\([0-9]*\)") if [ -z "$NUM" ] then cl_log 530 "$PROGNAME: Invalid interface name." $PROGNAME return 1 fi case "$TYPE" in "en"|"et") # Ethernet NAME="ent$NUM" ;; "tr") # token ring NAME="tok$NUM" ;; "fi") # FDDI NAME="fddi$NUM" ;; "hdlc"|"twd") # qllc (get the COMIO port name) NAME=$(lsx25 | awk "\$2 == \"$1\" { print \$4 }") NUM=$(expr "$NAME" : "^x25s\([0-9]*\)") NAME="comio${NUM}" ;; *) # default NAME="$TYPE$NUM" ;; esac echo $NAME return 0 } ############################################################################### ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.16' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" $0 "$*" set -u if [ $# -lt 1 ] ; then cl_echo 4159 "Usage: $PROGNAME interface" $PROGNAME exit 2 fi INTERFACES=$* #Determine SNA version ISSNA5=$(snaversion) if (( $ISSNA5 == 2 )) ; then cl_echo 4151 "Communications Server not installed or unsupported version." exit 1 fi for INTERFACE in $INTERFACES do #SNA DLCs are changed at the device adapter level DEVICE=$(mkdevname $INTERFACE) if (($? != 0)) then cl_log 533 "$PROGNAME: Unable to make device name for interface $INTERFACE." $PROGNAME $INTERFACE exit 1 fi #query SNA for all SNA DLCs running on the specified device and #issue the command to stop them #Determine whether SNA is running # # if SNA v5, check return code from snaadmin. then check uptime. # if (( $ISSNA5 )) then #if SNA is not active then there is nothing to do snaadmin query_node if (($? != 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi UPTIME=$(snaadmin query_node | grep up_time | cut -f2 -d"=") if(( $UPTIME == 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi #set the dlc type according to the $DEVICE TYPEDEV=$(expr "$DEVICE" : "^\([a-z]*\)[0-9]*") case $TYPEDEV in ent) DLCTYPE="ETHERNET";; tok) DLCTYPE="TR";; fddi) DLCTYPE="FDDI";; comio) DLCTYPE="X25";; esac #get a list of all the dlc profiles SNADLC=$(snaadmin query_dlc | grep dlc_name | \ cut -f2 -d"=") for snadlc in $SNADLC do #see if the dlc uses $DLCTYPE DLC=$(snaadmin query_dlc, dlc_name=$snadlc | \ grep "$DLCTYPE") if [[ -n $DLC ]] then #retrieve the adapter number and make a device name ADP=$(snaadmin -d query_dlc, dlc_name=$snadlc | \ grep adapter_number | cut -f2 -d"=" | cut -c2-) if [[ -n $ADP ]] then SNADEV=$TYPEDEV$ADP else SNADEV="" fi else SNADEV="" fi if [[ $SNADEV = $DEVICE ]] then #stop the dlc, also stops ports, link stations #using that dlc snaadmin stop_dlc, dlc_name = $snadlc if (($? != 0)) then snaadmin stop_dlc, dlc_name = $snadlc, \ stop_type = IMMEDIATE_STOP if (($? != 0)) then cl_log 4161 "Unable to stop DLC $snadlc ." $snadlc exit 1 fi fi fi done else # in SNA 4.x you cannot stop a DLC all by itself. # SNA must be stopped to be able to release a device # see if SNA is running # sna -d global if (($? != 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi #Test to see if there are any sessions active #If so, build the session recovery file # $(sna -d s | cut -c26-50 | sed /"^ *"/,/-/d | \ sort > /tmp/sna.session) if [[ ! -s /tmp/sna.session ]] then #There were no sessions rm /tmp/sna.session fi #Test to see if there are any link stations active #If so, build the link station recovery file for l_s in $(lssnaobj -t link_station -U) do sna -d l | grep $l_s if (($? == 0)) then echo $l_s >> /tmp/sna.link_station sna -stop l -p $l_s fi done #Stop SNA (normal stop) sna -stop sna -t n if (($? != 0)) then sna -stop sna -t c if (($? != 0)) then cl_log 4156 "Unable to stop Communications Server." exit 1 fi fi fi done exit 0 O por lꐭ9$+!vb՝ab&"M./usr/es/sbin/cluster/events/utils/cl_rm_tr_adap_dlcy#*+,12:;_t03468acdefinrs-579=lmopu  .AHTbgkx (*/@`hvw| !$CDLNPy"%&')+FJKQRUW\~?Gj{}Z]^[DXaha.G4/ @$@%:%eN( xaPaIZ?pz'c1 1P-Acv/4/\6àVBŁaE~, 0 JxaQkuOh`-@0 ebS0, XZ`(@? ""S Xè x)qK.q.' ^I`TQr8t ˆC!r([/a/@?D6>aA/(t X+X<_ ą1R±!LQnf!U!`6V±!MqPx mŸ<_ ą4eAV$)qx}aGxCX )X Vmf1rXAAVй|,@|+@'46xXX àXNc_,XT/bx\yPx:|.@XXg^,d:h1:R P@>Vhxt#EҁF(@E Pc:>h16:* hX&P B@Ar8t €:+.L\-&,(D\!.]0YT1* ZLBL$ W&+ W&ɂ@ra0b01\++r`1\& W&Յb1b1Յb0BAq"S(>btX9² ~4V &A4࡟@0Q2/ w\(  1  1V!)p` `s0 ,E`a2 ゆ}[VNA4r Ph (A&C>(YNAqaFL&tŒ&YM`2` t x8aUd@?,( ɀ]8`ԃ&AG 01]2XQPtAɅkYR E_-D,`ԃ( )'@EYNATH&q(hh8! ɴ(`",D(@?D`sdq&8 h}8HëXl'!G I. ɂaG IX2EdHHa`sH4@<@' ɁqaFPD}8|NA2XQ 8 1`xfN- 2p8?`X(eC @c@-@0;/Z`N.Y 0 qha 1`xfN- 6E 1`xfNA|tO" ø@f0, |2 0q d}G_}3 >&6ۄL k^iv_q":m&.)y}Y莑M$Y4XM12Fd3I,#:w5 4Km/u֘޹.K<#SH2*:: LRO'0li3Bcpf 㖻]1J<<ЩnGUv$bi&2`vF)5htB䰌JƙKOsK1 keb p| ~'~O'pΝ`? g/GW/q~i8yGFN3?yGg:q}Y8uZbG_'Y8kGم'k?u޾ P34XЧD~M,h~M,h"ɥaG0BKɥaD~M,lX ɥ?#icbO48#ici~4?4DGob?&6':#ica_G?XYЏɥ߇~M,lɥ_1K"?&6(6#icl 4OD~LL}>&6xLm* EA1$8D}j>$7V!i>$y(C54 |I_ ySOXwr3QS@'ĕ^I4Y9n/3E.Kk隟)yH%Tff6ZU򴼓4U*:𖗑sKRPK)ॶlW 436~N]HR˦kmgڽ/#ÍZ-/ _>Luz^i-/JhTFZ>[}Ҋss|ff-*y*Uj_iy4iW4U*R9k6u4kXi%^fM.UJfPb6~撎͚6fpTJ)ή͜<]|WIWYf]F+֊E9YA}~kDʱNuul_vtє֊sg`TzkFJWYf4n+֌)ή͜i玼&g5",$jMh̺Nuult5wm]&fNuult/OMh4,_vtL,ؔq۽c5E9Y).zkEI+WYfZy?IZ)ή͝:D}5E9Y). ϵckDWYfħ7>Վ։usg.#W~̼t&KV)ή͜"]˰Hߤ֊-WYfO.#W~̼t&UQ(:6%859Y#V~q%߱t0Nuul`߸\Iwm]&L&S]e82?pb.$8Z&Z)ή͜l1aw]|WIJ)ή͜l.aw]|WIS]e82?p\.$6Z+*S]e?ug}M3IUխ|@}JZs4Xg.fP%T^ΒX_~)4UN0ծjZ)E9ՖVhi]ÍRkE99Yf#~Z*[$R&UT {rђE9ԉ߽N9zMhq߽iU&g5"D4Z3.SMVi矤֌Z)ΤG~i矤֊sJ)ΫfyMh^qNu\׳O<&SYH:?I$SM~Ɵ֊-WlH~vZ*,S[ys0t?ISntl?I)Wη{4kDb)]l?IRZ)ίFlkEUslDuMhbqNuyx/~Z&R)ΦΑ4+q柤։Պs:*iMhUh:f~Z+$S[yofyMhr[]Í?w5E9]J mi5b)vZ&fS^i5*MhU(:<*jt2fqNuyxTtђSR)ί4O RZ2HNuΒYY^Ѕ5M>\%e?uJ)FJ:%v{DJ8%|&K:6~^L;{^Lɢx|ޗQ#Iez]I1gwu4Xiu4U*ȽKO3q4Yo*iwUU:CX$]^B }eulmhqJ+UYfͮqa}N+Ej,YusQE#%c)We6Ỵ񶝢%Rs͙^Ec#3yN򴺋]䪕KԱ*}Iׯk4XǍ|Ruh^ uͯK\OlDl%4{~Z)E9NSBs]h^qQhZ#>Zu O4ry*Yi.\J ˬiwUVf.de_He_ՑJ3K3M|fU3M|fUSBRҗeU0iczՊQNuޅ[.T.UR)ζ">NzՉbfͮGBSZ2VmmPqFJ~uhZQE9uYC9ΰIEUSk `/XҦltLҟT%TK'/暆M?ݎ7weV3L6)n<4ԊQNuRNF-*/4hK4Tde_F3-*/9hK97y$eӬB$\i>]ddHfIH8:)y$JVS1Y$_ˑx 0i%5tPSHeI%bⴌε^I,hK$x/94%v`Gڡ 橧棍{ Z]NeS\lnx8:7e"NuqociR&Us{2д)W| (YHT_9lT晡,?46ZU^s,旍Rƛ-*/94%^rTe_#5KE g%<@wmz^rLix|HRץ),hUkNR /44U*ݘfOY8+VlBJJճkBҊss|nεsfOUkEvYe˰SSn<.TZQUH:݃8n-(V)η`:F ZQ֊sͱ$ J2U(:݃6tWgvJ238:+uM#ԊU˼&њE9Z/9$hK4J]䪕Rix/%4%jlTPЖJ'!ZXdT2hK$ /$4U*RYB(2|MXWzRIQNuPD~ބ2L5}p/&gW]i)%5#%jvyxT/D$J+U¥l; Mr'$Z7foI^2HNuq<<*iM%c$Z)ή7e$|e)WvQ)ή7c_iFRYH:ЩӴNJ9ՁJrN2E9iFSY(:ݎ7we^2NSs랤b2ME"v瘹)(3 9ǞiNFc%Z)ή7e3c?E%bv8yrVa,b3IEwvεwV3V7aMΒ4&qjW6uvl㭝1QNuq<|TRQ)ε^I&hK$T6ZRqeBƟ/7^˲XRsf_/W^εsIEU"kQc2S\m{:-豘kE9׳yn}C2J)ή6$q9׳f#~QԌgmoBj%+W^^phY8̺q/vUR6Ϟe{I)URYB*>QIE(:pt2^)E9־JKcIB34x刨Y8+WXidV,ٵߢjEjr e88:r?C*U"%"-T׳|MyJKFJS^m8F) J2.Nuz$ai)d^e$?%]hQNu.nWzI8SNihZQ2SkT,_8y[=vO8VqC)4δKzJJ(:tiE99־F-)WƩy#BY4U*:oƄXǂGs6u5Ty-3EhΰIgϿKe Ii3`%YdsO׹%QNuloвqNqy]-FJ־:pll!f `XRV:!IeSk*:plljFLx~-)WƩyTЖFK6Ս`̯uy,-?1g8xV6uJfg͝`Y8[>l%QNu0fڱR2OƩy-#BY,RU#BY3^El_]cBY1^E˚l_]SBY/TiүR.,Te_^f//䡓M|jt d䡃M|jCDeBQ%e:-%QNuulM5,5CUH:6\ۋC2S]e6mr75)WYfy捯sQIFJWYfO4$ё9Yξ$](jE9Y<~yeՊsf.n.fNuu< 8*j.SQNuu?u}HL,kE5sc;sRJ9YRkEEseem;IJ)ῄ,mi5^Ssce)(QH:6eZzU(0S]e:->KI-(NuulehE9Y->J0 J*S]e26uJHʑ0NuumwaHʱ0Nuumwa.L*S]e:%$ehQUJ6yxT41YU"UYiY=E%')9Yaw褣$R)ή͟<vZ2L±NuulFӯ{DҌIhTWYfӳf#~Z)QNuulzQIE4N)ή͗x?zM)E9$SWx<ઓI8$ՊsмZ2VkgYfQX4s}wY' _~20dUl7v֊QNuu:tokE99lDޓZ*WY~2Sk^F l_acBY1T4iWƩyTЖF ~6ZRR0,'^F$iҕ|jļ?KS&-)WƩyHЖJ^J4iWƩy*,1T.iүRUSBY*_Ʃy*J5KU d~5KYlT,;u2=B2iu:-%RQNuu8ڤSd]fjξZJiEE%j6]lۆԒE9lFۆԒDʱNuu.6~SZ)ήfZ7gϿI*dQNuu< 8*j0dfqNuu?u}H9WY>x믵IR3.S]f˲>iMRFZ)ήee~:x# E9WY' _~0f)e56|Li(^*,S]fϞiߢyN)ήk皤։us|q[1st!}**e]`̯uC%4{~YHZ23#OgeSNie_t!>jQNuYi#2QUJ4iwUJʄ2Xɣ?cgX$N)E9Ջ:%$xT/ l(::%hE(:FΰIfWq;v 0il`x μ$T,ٵߡeNuyxT4eX: \TSZ*ZH8|ܡ 䡧ү">g5 >|%qlpBүX%T#5Q?qۧ;^fM[WKDM3>8eC5$i&QJ)ε /5&iwU/U /54U*vZb.JVE2vVץ]#ExIK̼.UJ+2xH~;tkQcE𒗚M.UJj-ABP*}[./':MC1J2>e&^QJ2>e˧)Z(ql,B.i*}[./ReԊQ֭|j f P骒Y貱J3Pʵ] EkԚkFjV2U*Ŝ<,I(R9v,p,&UsXwrΰIBFf&SWb͸yZLxySZ^j4%x47w(C54iӖ]^6vRqJ*-V9eeKEiӖ]MB2SZtivPe5ӧ,D1*SkT˪iүR.`Жe#m>uBX骳lYv)5Q%WYd$%Va֯e=fؽ&\ffSs|js&.RU#M|y#E^j!iKƩy,՟}pկKU ^sMYWiyE^j4%H KUMo橓M|f6b5Kč6ZU/34iJ5Kf-*IK†y*Yx/36ZU^f4iWƩy0iү0ӯ4U*SiT訁Zix2?sClZ^ ϴ^ ߡ 4D}m;EQNu">E%V ˛7EE9־ ΰHZ^ !:HӠbLLJe./QC6@ e(i:툍P4/{._;YkPM_' @P { 芿@P8P (WDߨ (WD+Et@!B ~Ȁ]:BDW&OPzPL~JJɻ8 , C҅r`,=(W(7҅rCBAg\z /BOD"hJa?AxBmOD\6A/b&0/b&0/`B\6_>J`DW DW ᰃ^"+/DWy1xBDW)\8y1xD! EpD\8~Epy0^"+G҅p1x&6/ÁɄ\8/ÁpDW`^"+B&6/éy0^"+Ao"t.@^"+Y@^"+ELEpɍEpN/àa!x;Ʉ\:/ ! ~'+3.+@P@ (W ? +!+=bȣxNWA +:/ qX (Wh\h~ ƀ$KgzXЧPK=G_DzXF?=,#/Ģ=,#?aCJ#/G'cbO#GȏKS6=,l DzX؟=,l+cd=,l,G6#!6q6(>#=,lSA!ɕ^PP @\?r+|09eq&6W*W $+^ s2A!\49ᠯ ᠳD | J0+\4hl8W @u <Åp \4pt,:W :W <:W &+AAc\6ƊᲸ\6;+ㄅpټpx#+NW "+ Ҹpb2p,‚pgpRW 0TWHWkÀiĮ\8\8q1\8э2tw.WT[0WxàBtBW\:LWv J}W WHFg?b p| 9x@ɣsDɣsO??t5:_G|_ɣä_5h3m;g<ݿ? ܍G<{ɣ ?ɣu?:4L_&??HUGOhda"?a*.Oc%?2XOc%?%K r~H!) A0 ę?$G7#JO<"?w淚D OR GAT6Oc%?P6 r~H!)pX؟'1Fe,l+"?ڻXOc%?8̟#JD_,l."?uFcd9?$G<׽,l?BS:1},l ~H!):_2~H!)bKg'1N6)"??,0ԡ0ֳ] |?ZwWD.h ?]a@4gTr~HkXw0h1)_=bU#icer~M?%+J cc?&%y|G JK'cR;K7h1(kǛp_CPW'">_Jt?Ai\G$G A0 ƅ?$G_KOɣ#?"XFr~M?%+Ic~Oɣd?JW r~M?%+?&6 !D/c??`?; 0z?0z&C0zu _ `?s  D=C', 2h=Kz]9,_C0hCPe?`=.di0zPi0zC =K4HZ0zTДsu L0zFND?D?0z`?D& 4%`?0zɂ`?o`=/9_&_`?#=?`??`?/0zɀ) a=Cn? =c {=i `?0zCx ?0z=<?"C2O`? d!h0z.)bO=@Ch 40zƎh?M U[='0zC&hJb_O0z0)`=.aSBS?z\Ƅ #?0zY#M0z0#_6u0z0z1 l 6`? =C@0z`?0z@?w=@ ** =C`?`??`?_`?G0zʀ) .CP?!CE ,C!0z@= ] `?K=  `?$_`?B`?@%CL3 &C4%Y_`?=2 `?w0z`C=0=0;CL? CLg0z`4CLo`? u0z`?C&`?`3CdhJe/`?`5CKS= `=.e3BS3C@i `??`?_ З=:`?=@(`?"CP`? N_`?4C(`?;C(0z@" Ag0zJ`?' R? @c TC*@=੿`? @C*0zP C T_`?:C*W=@ H1  =? = X0z`C,o0z`CC,0zCG?O [ `?,'  C@xy?`??0zǁ0zǀA 8C&CL=`9C&_=  U  0z#HH ? A0z0z? 0z674a=0z0z0C`=C`='0zo= 0zC 3 ; C`s U ==KU3@AF#QD\G&OɎS_@B D}C [<{>4?<0x8tT@yD>P"`(4|?+x訉 &O:*inWC@ǟB 0@᧎\dQFmI|<+:>HOyW/\<t|>L7fty0m;ú>HOymrxwGɣɆێ? |’xGI0 h 0qAD"|p$G'Cp&?o͸ FW| t|ğ! ܍W:>MDL7ftyɆ>Pl;v$oǛ<ݲx4|?&3n:H<ơ>P|_+D7ϝ`q>M&a#6㤃L0ǚyeq|ğ! x\em&0qA&>P`뮴 o$oǘ:1r4|Ɇێ?10:^Wz>HOyg_k!Gɣ' $b8`#ǜ:\hsGI8u揓Gɀ $aB/e˸uμ:> GAO>GL$Df ~<&hTӷ|L~|LBEGJKRSU^qz{+?OQWZ[]j~틗0F08wg$Tɀj9̂Ej IWS331yo㯢՘+0&m\. A\lu ׇIWIp"\_ȇI&AA/JR`%9( 0p"Ff ⤀8) |R*@V`}\+Iyi8OEefTQWr8NP @ E bY$$dF['&D'# aFȿB&L?әశ6I "BV|P'mԎp5jAب8d5/# Å$x#4Qp8#NGNMXF[ Eh!PFh5N brqpF4Ʋ2sX#41p8#NGNMXF[ Eh!PFh5N brqpF4!XF[ Eh!PFh5N brqpF4+91 rxrhƲ2 ?i<)u#[cOPpj=RCf" /\rhX"%0`|iy%P9hXX<)< %Ph4x`8NGN,$r8{DI"TyA$XD[Y94/N 'zyGf !Br8Y"bHrw"eLO̗ ,jh,{9483ӆQ2 \|W'y!y !Q$ %܂!w"TEIܒ deS/r*NF[U;Q*{Rw"!w"T{Rw%"CYmTED*'rV$5NTJ6^TCYmTED$EEI܊D2ک܊PS'-c)܅#-X"ک0V^9&2%Sr,jhw!bƦHkpCYl*N[) Q&t rHJX& HNSB6AC T!N>nM ܝ}+mJu"'q :'u"'q FR>ntOto%*mԈm(^m36[hJT۩>ۈPξBqҍRJ䥏'DB':QIt J+/%,}:'<ԈҎ"LN>mWX0;'DnDn!Bi "}o%*lHI.$Hh S`N@)d >'Hl |‘> Fңy)c'}bChҼ6 8R6'u`HTco%,}ԄoLRmWX0;$J7R! &|Xl }0p1!H6Ku!8)L:&R6PBtC`u+HFТLR/%,}D@䥏u"'ĮD)'DJX& HNliIJR䥏H М@l0b&Ibg<%@RXOdlp|uaTmqWe\lL $B@ltuJ?ȃǕ"*@TWD?AcmϮ"?]1?"?ȃD_ymϸEs ;:K+èyextWyex_+ƟyBW exB#̯\(W0#̯~`G^4+Ɓ +Ɓ0#̯ȏ2h2h pG^4P䎤F6RT-m JRl2'B!m#H:'LͺV76DO/jVK͢yі$A>۩>ۈP76t >۩>ۈPbdmJ+y7E%(`ТFaK8O<"}9 tCn!BBrd tCP]Tb tCP]*M Ar鄇$}š;  EeO6g tCRY}ב6gɲ\a!> !˦ƝHQaK'`.]0Q1b6 CTXR GΜmdpJGʜO!g >@|{4Q0li>>|{ }.<ϲ0 FȟhN c2 fɝ}3LYu:|BdOXW*D>#a:bȐ%H3o,1H Z cφ DWYu}Ȑ4 ecl?Z}(?}\Οí>ciG\ys`>XP;a:gFS!oY >m\6|qJ(^hNmLe(4ˬxgFS!FXǏq.>FY0'֟6pZ| .}s.|{ K@(q6tp{6P|&id.<ϰpp*y%- .BO&BRJ$:> Kh*t1hՏ,xd%- !KF,՘:}2 J4lXJ[HR#FάquL Q$hՎXJ[LR#Fά4'8>B׊-@PV]clxRS:V6-JXXō}Kh%nV :OT)mHJ4p2yclxRdIVV`dB&|P$†YV6-:,X'*<ë2Mhՙ8>T۩lY|P8N,m>TۈP :OSi[C,'6*m$J 0uu}ʛFR:fYV6*l2&YN,m>T۩}3GՍ}ʛxR4(`O0B˟\ í>< 1\d i.<ϝ8|q@.<ϝ8|q@H\ys`x8J(^m!i.<ϰ|q0uo6/4mYOuōLPѶV]f<}o6LW eeaFch\'Lë.Oʑ>ae6QXqX'Fci}֍Yu:}o6TcG>7&p >]cluō"@Pєq Cǖ]cǝF +hNuruͤpCV]f<}o67 YO,',u#m: u#ei^}|$'X,u#m:pp u#n!Bo1q :BfB掏,>UΏ>>} 2T!BnhNt fu#e(4ˬxgR6§JCLFҼGYY0tgR6/4tX':,DVtN?Z|}rc>> .}sj$.<Ϗg || .}s2tp,LCPgҼ:&S0Ͷ3e(4ˬxdͣpҐţkycm2fBCՎ>i6Kec:pmL[Yh|2yfaϟ >>Tb"h|V8O\O8Bqu` iH\ys\͟6il9nl\BZx c"Ѻg`ˬmOyc>d![>Q04! <i`iBaR>> maHXawPJBv6BZ'Lԩ60t;ZaV6>i8B˟\ ax;S>b fd "hqX'B8V<'a![ a`|V: "hN fN: "q LYu}`V:RV6>0+lF,t>0+lIJ$X>0+m J482yclu*,6y6Bqy8B>o4`i! c4HQ04됅l >c>![GOtV>PFi!cm” Μm`$#AoMu@>@||@ !hNǐQ8me` 6 ՘:}KaclmFDO+}3BvB|2 4@ˬm+m2$SD m}m` ]c6T2e/8V6*E.-0 X'Flhq:>R}+D +d` LYN,tn<d卲y:VO<>B˟\>xy`O<VLXGΜm`l`Vø8pǗ>g$НK!,** Z`ŗX'>핾LYu|ЉҷQ}p f8[}+@ˬmҥL(J.V6JFR*p:qcltmyrILX'+uhp J!hud>[FT)c.WX'+uhҼ y D +dnmF`Z ]fY8OV6%+y+Z ]fGm(] < D dnl* R>eu}ҷQ J!hu2OV6DdȊQ!hu8OV6Ѽ9R$B`>[J ʑ$}3D p卲}ҷQďyvX6JFD%,}D <+dnl$BW4@,mV 璼:OV6Z@y fX6JF+H Сxy+ɚ ]cX'+unJOhuOV6Җ>Lqcltm+qBfX|Ս}ҷQB&}*>:ycltm,|+qBfXm q3P>.lmR q3n (L:qcltm,|+qBfXՍ}ҷQ}J4+2yc&϶[> 8@BO:ϸL62}I<"B,@@>4ːl uDORBvS:3iV]ce.&}ĄeXmҴϸeoˬ'6QYϸeoˬ6Qy`}g@J `yd>VD(Z`x̏X'`xV6G}>Q04! 8i !F8< ! 6{4ΐ`i l;}gQ04LjB >HQ04͐lg4!F8<`+`yd 1aOFX4hN@ cl268TX'FbG_hpYFS.ӋdFR:fX>6tYO,l:`dq ]LD`}mad>6Җ>VXLafGmm36%))u3R&hqάmm"!K2,mmĭFάt>6BI6uc,x!xFXՏunBRѳ:qcFK@(q!:&ectQ0b$0dJL3C,>t>6*@g48Ǘ]cluiJ80lmm+BR06Q)[_J  :Og abO,mmNJм3D @uu}mS:`+2OξF,YFȓ"x0D3FάXJ,'lPRSFά,xD)}V6Q$Ȟ !i\卲}mXV&,*hqa6QdZ` 0+dJVR&hq`ō} "V:mf`>PF:qf8ycluQKC,'X'FQaK ɚ`՘6+d}¶:yf 8O+@KC0l|>6xI`}u8卲}m[ȃef]clun6ʋ _u 8X'Fu—l*,6Q/R(hp2OwP`d>6+:R&}`Ս}mBV2aLaf/4lX'Fi>TbXō}n62X>7HRDadmDe>՘:>7yau eclu)p3F,'`QȑHCd0tm+Γk2dEqL.ˬm)l S0uɚ60tM$,L CՏxe.hՙ86TPRg .<ϰ|&%yi:B8?XP}X\l:3i.x1*RBfYu}KeO4pX'*(JV)bG8uc6-&X>P +Dë0卲}Ki$BVZ&Ym [LCȓ 8ufX'*p̲qclxRϾ8GՍ}Kee $}Vd卲|u o ;mHNto 1u o !ai` .}sa]H[}`|q. S>b fdԈҶ#0ˬmnF. ZaOVKu"B`}c6HȐ$}X>V4HL0> X'F i`d[6(@`}fX'H+o>V0dǘ d<2V R>bНS2>DQ&iǖ]cgy}0p1hٵ8Oo"BdTk`>6>)p3D p卲}u[D pd϶7 8 m>:$N&(hٵX'}R#JV6mKL.ycX+yKD .'6m%(6`J)c48 m>[_J.ō}'u KiV6l*,,m>۩yaWX'}%e.}]fecl+JRԈҴ+,m>"yam>mT'hqd卲}+*|4,,'YOy+:RVȝLL2mf.ycnLRX0Jdecly'I8.qcly:YgV`lH<"M0O,mO$![ PLBv`3R" d`KC,m}a:qclJVu*FX>4 ! d>Y}ב6gɲǒ" Yu}Rď8X'"D(Z;}H\ys>l i ><|@X۩<>쐎a;O\>1cn}쮹4+B˟\W_ u#m`&i\ys6}*hNK:Xux-0@@0[q :+0[q 4]f<| ]Huy;+`aB\ˬ'>V;JTН)] ]fN>(^id՘:6[Pӫ2tx>ʋ _u(^L2t卲} e)P48qfG]clqe%.iǖd|ydy ! 9/:"y—hN̜Dx+L2<}BBC0@mc8x$M :OHTȑJX82yclD/]cl?}ΐ`iW! \ThLΞF4ŗYǗ> 8'.OF"'qѠ}WYX'eraeQ04,0Bq:}aØy` @ ae![,L"meZ}eO֟ecOc>(?Z}W!F>,B|iYdɵQ0liMBe6 1?Z}fB 6p1[+}6me6$}6>34ɳk8OLXD%m2lV6єNᵘd>7JQ48mfYm3]JYm0&q2&`} ek2ō|VOlxg0OlVɱ<!F8'iM!qϮ}vd .}s6|q>Ԉ[y)cCa)q +I}PX8(^hټ:$(862ĈmZl{}+m(^h8ȟmT(c}+m(^h$Fɟl1}CL-J(^h062ĈmZ< @(q!:&JX&Py)JwDXH&*DΠL$yHc mbD -7>n/4: K>HV$nJQ$hq(@RXO6(m2 B-s*mʓHG<AR*O @H8!D—y)cA*?/V`敘I@|ҳp!V`0|ҳY<4+0,V` "1hYfV` f@Z"Vd ҳ EH,4NE/J̀'XiY4Vh%f,4!afXiYrAaf2Z"VhAD@́hD@<-+4>J`D\g2p2Z"V.{2 %bfd E%bw$V.WN-+.̃AhX6́hD\@<-+Wqab2,d E%b2Z"V0/s Z-+&XiX 8-V `-+j-+ȴZ"V̢Hs!D"fAD" 3"hXD(%a x/VE %a Ұ!T,487hXp21hXp^,48JÀ0XiXF{2"E$VςaaЛV_2 DJä ņ_̋%a-@UhҰ pZ!VGB,4d%XiXȋPұ2bބXiX7JCL`-+NBJ@2 E%c wDJ@Eӂaa U %a aa (̃QhXHKDJ@ t"J@ bJ@"J@tbJ@"J@pZ,4$QЋ + C}ҰXiXJaa(g1hXJِh-+ @UXiXJ"hX| f@E%aiXiX|!@P-+T)̋%jXiZfdX-+Ud@DRJ.̋%jҵ@Aaj!hX&JL!hXH,4@abnұa p-+d DJ`d0NdP-+ ̀.-+ ahXL)̀.-+ d%a8d DJq&d`D'.Jq6dZ-+ `Dhp%V4-V4 敍敍故a <:- {J€U.4(OEZ!VAW%VRr``R4V@aJKV>iX")VLȢV!>iX $\T4:K1xu uҞX<3"׍:xЧG^4*u@kƁdG^4:7#׍:#|hG^4s$B:}b:":׍׍ Du@wB:`j'Vh3jY+4PYubN\j4\(V.E V. :\3pkbF\#jmX+Ec%V0X[ Ռ Z<J|uX%V0cc_6` yXlf>65<6!67>6HUց %a5aQ*al,V#VCJb"YVXlV+ XD!YXD a%aL"*"%a5@g(VJV eaCa* Xp9a1VAXpO-V%EaDÅ0 VXp #V+¨°xmXF&J40XF:#.HI:VV.:jãpUVZ+Xt+uaT(V Xt!Vi+@UB+8!R*VUa堕Xx+ Xx2$V~$VON< Z9j8<a9U° N++ΫZұDPdBd5c Fd Dd Bc JB L$ `XH.V V R$Ba 4$a @ @?uXH`V˕@XJza)X% RX7Vh8V ka(:!`%V 9XJ`'V8t>">5EX|CIX|)&>7ua$9>L+ʰ+躰?J VUUhHSЕZl>Q<&VZJZ_JQ @TA@ V J X)@z:@I  j3+Rbs>@ ՈJ*1l+ "*+ D %VXLW` Մ_*&8+ N&h ea0a0Ar0 + ՀeXNEmXNWqXN)VT*r%a86Vp}Ұ JUu*/d̘1ÿ$2cmɀp<"N2c_ 0&?E^~dmѺRS̘㭶7JJp&?E'H1?LB'&?w]d۩Iɏ1S%)PL$K1ÿ1ÿ+yԏ1ÿ}&?wJ1ÿ}2cL̘a^49A/ūƁPc 5WPc 5aP y@kxL8_yzw3 ~Tr18++ƁPc 57 ) u@g(1/9A/hy+3 ~Rhfr_ʜ))J^4S9A/׍Pc 52H:< qy޼hr_ @kTb8_"*@TWS9A/W9@k|1=xQ q^g(1/ 9A/#^ 8_}^+3 ~*O@k%ׅ@kϼQ]xP8_R( qLk€g(1һ$Pc 5g})F(Zg(1"y@kd@ '`$JDL>c(1L>c2cL?^4W31ßUxtg(1@1[b'A^4Lqu+lRxi31 K׍Ɏ/Nm^A׍d'WWS9__0d'u(U*&~` ?s9`O-Vg12co*̑LF pm@P'#R:_30=xЦg2c Ɏ/N ׍Lqu%^4 fs&8:dm31 xLquFJ/qJs_'2'>F]F]9Te^F]oR.ITeԨ˿žF]#Ԩ˿QzwA*2/R.`=JR.`Ԩ˭>xpԨ˭>tQZ| u!aR.QZ}#R.#>F]i!`ߩQZ|qԨ˭>pqԨ˭>>F],*2Ԩ˭>t+J!X?R.*2O 3gJF]2*2 J0*2QTeԨ˭>VR.`R.`F]Ԩ˭>ɲ}J?R.dzw UTèkԨ˿zw ]TèԨ˿KԨ˭>lVmR.dF]oԨ˿wBOR.hԨ˿F]ig*2Q5TeQ[Ԩ˿Ԩ˭>p+8{Ԩ˿Ԩ˿)*2Q Q }JlJl }JlQTebR.QF]"F]"CԨ˿@Ԩ˿@wR.wSTe֟:@B=TeÀ*2}JpF]8R.kԨ˿`KTe0 wR.zwF]#~F]i?Te֟< A}J獐g*2?*2zwJB=JFTeæJtkԨ˿@Ԩ˿@3Teé=JtԨ˿EF]:+Ԩ˿AQ9Teà}TeàF]:Jx#*2QKԨ˿*2R._R.OQ/TeBR.2 J?R.2Ԩ˿*2 ]Te@ETe@KTe@Ԩ˿R.2ߩQR.2>F]$*2 +*2(Ԩ˿=TeV=JJ>F]%oR.F]%)*2(cTeRR.Ԩ˿*20!*20wJLR.$!YF]&Q w?TepԨ˿Ԩ˿}JN }JN&*28}JNR.R.^F]'Q GTe֟ 8B*28ޥF]*26 JHBR.eޥF]D }J4*2O! J Ԩ˿w J1Tep~F]))*2H2*2H~F])>F]@Ԩ˿zwGQJ=TetԨ˿R.Ԩ˿1QkzwF }J#Q` zwFߩQ`wF?R. ޥF]J$gԨ˿@#*2/*2Ԩ˿A_QzwHoR. *2>1Te}oR.F]*2>GԨ˿@UTe¢R. }JT3Ԩ˿@uTe zwF]wJ *2J%_Ԩ˿P!*2 }J%Q}J%+*2UTe(gTe(F]QԨ˿PzwJJ%{Ԩ˿PwJOԨ˿R.'Q=JR. zw Te u6BQ՚% j?́ʳD&{OaRt՚O117 `oLPF[1"R-JX Cr%*1_LE*1\C)Q _hjRSCqd̑)Q?`F #ԨV0LhL|8ѳTb*1]ևJF+LF N6o TbS6oTwQqQqf:LMa:ИLT1N`8F+&cBc17ՄBy `,*1_LSڕ: {118boƄu#FRF+ z:ÄoQ}XpcBc$Vidb6dPM? E'RtՄb#%\'hq)R-SEgd`g@TV:2N@ɢxg@TWV'̘?y )P2h: + U c2c0 ʒXlb&:C̘Cd J`11(ʒZB311(ҤEH B311(ҤEEICJdd?ʑ&DlȥJD`,D]XQ̘9'NRB1RdC`Pc?LU#? NRBT 'WzD 2I7돥w@c2c2Cu724OLϥ(錠~ :JQV!{.(MRJ*M4ub#A$@@V"=11g!@ȝ}+mJu"'q R3hyeI>۩>ۈP76tNHB$DhJT[ȑ))D:mb'mEEICQlQRPHDimT num8RRe<HH i*E@붅ܤDSFR=ԏy[ NF'`"(R*O $nKE@8Aʜ))JȞm $nD")mďTϸq(ttJ::%GGD@%&JJX* . J]&@%m"q fH Dl8\Kev X-#`FOdC`FJmWX^-DgR \uq㭶N!L۩~:oDͺȈS-m y)cEl2HR")})uR:o%,}ԈLR۩}>DVBhnuJXGGDQ(ttJ::%SۈPtIDͣ,H:NHBѼϼۥqtODO/6"'FRDIJ$J>F] kT;$+ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_rrmethods2cally#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_rrmethods2call.sh 1.26 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2002,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # # @(#) 7de1449 43haes/usr/sbin/cluster/events/utils/cl_rrmethods2call.sh, 726, 2147A_aha726, Nov 01 2021 05:16 PM ############################################################################### # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # ############################################################################### ############################################################################### # # Name: cl_rrmethods2call # # Returns: # None # # This function will output through stdout the names of the replicated # resource methods to call based on output from clsetenvres, which is # assumed to have been called prior to calling this function. # # Arguments: None # # Environment: VERBOSE_LOGGING, PATH # ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi # # RRMETHODS must be set to the aggregate of all methods to be called # based on the presence of each type of replicated resource. This command # can be called in either of two situations: # # 1. The event processing is currently processing a replicated resource # group and needs to configure the replicated resources that belong # to that resource group. In that case the event processing has # already set up the *_REP_RESOURCE environment variable for that # resource group, and we just want to call the method for that # replicated resource type, if one exists. # # 2. There are replicated resource method callouts for events that are # not specific to any one replicated resource group. For example, if # this is a network_down or site_isolation event, the event processing # may need to call replicated resource methods for one or more # replicated resource types. In this case the *_REP_RESOURCE environment # variables are not already set by the event processing, so we need to # set them ourselves. This is done so that we do not call a replicated # resource method if there are no replicated resource groups of that # type in the cluster. For example, if HAGEO is installed but there # are no HAGEO resource groups, then we do not want to call any of # the HAGEO replicated resource methods. # RRMETHODS="" NEED_RR_ENV_VARS="no" case $1 in "net_cleanup" | "net_initialization") # : The network methods are returned if the Network type is XD_data. # RRNET=$(clodmget -q"name=$NETWORKNAME" -f nimname -n HACMPnetwork) if [[ $RRNET == "XD_data" ]] then NEED_RR_ENV_VARS="yes" else return 0 fi ;; "ss_unload" | "ss_load") # : The load and unload methods if defined are returned on the : local node # if [[ $NODENAME == $LOCALNODENAME ]] then NEED_RR_ENV_VARS="yes" else return 0 fi ;; "site_initialization" | "site_cleanup" | "site_isolation" | "site_merge") # : The site related method names are returned if defined # NEED_RR_ENV_VARS="yes" ;; "postrg_move") # The rg_move related method names are returned if defined NEED_RR_ENV_VARS="yes" ;; esac # : Set the \*_REP_RESOURCE variables if needed. # if [[ $NEED_RR_ENV_VARS == "yes" ]] then eval $(cllsres 2>/dev/null) fi if [[ -n $GMD_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=1' -f $1 -n HACMPrresmethods)" fi if [[ -n $PPRC_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=2' -f $1 -n HACMPrresmethods)" fi if [[ -n $SVCPPRC_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=4' -f $1 -n HACMPrresmethods)" fi if [[ -n $GMVG_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=5' -f $1 -n HACMPrresmethods)" fi if [[ -n $SR_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=6' -f $1 -n HACMPrresmethods)" fi if [[ -n $TC_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=7' -f $1 -n HACMPrresmethods)" fi if [[ -n $GENXD_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=8' -f $1 -n HACMPrresmethods)" fi if [[ -n $REMOTECOPY_REP_RESOURCE ]] then RRMETHODS="$RRMETHODS $(clodmget -q 'type=9' -f $1 -n HACMPrresmethods)" fi #Always invoke genxd_predisk_available for GENXD_REP_RESOURCE to consider system and cluster MGs #It is needed as System and Cluster MGs are not part of RG, hence cllsres can not #give details # NOTE: No more changes should be made to RRMETHODS after this section # All new RRMETHODS should be added before this section. if [[ -z $RRMETHODS ]] then typeset sysmgdata typeset reposmgdata if [[ -x /usr/es/sbin/cluster/xd_generic/xd_cli/clxd_list_mg_smit ]] then sysmgdata=$(/usr/es/sbin/cluster/xd_generic/xd_cli/clxd_list_mg_smit -s ds8k_inband_mm system) reposmgdata=$(/usr/es/sbin/cluster/xd_generic/xd_cli/clxd_list_mg_smit -s ds8k_inband_mm repository) fi [[ -n $sysmgdata || -n $reposmgdata ]] && { RRMETHODS="$RRMETHODS $(clodmget -q 'type=8' -f $1 -n HACMPrresmethods)" } fi echo "$RRMETHODS" return 0 ource. kb<$+.b՝ab&../usr/es/sbin/cluster/events/utils/cl_scdiskresetllyarH  tp0 P0 0 1L.textPP tP5 .data0 0 p @.bss0 40 4.loaderr 4.debug B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$HA| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!`@a8`a@8DaHc8`H%A8`HAAaa(A888HEA,@8`aH88KHMAaD| @@8DHYA8p88HmAH A8`HyAHb`c| @a`T:|c .88HAc,@$aT:| .8aLHe`H88 8aLHQ`a`T:| .8aL8:H`8L88aL8lHaA8aL888HqA,@8aLHA8`a@H aH,A8L8HAb`8c| Aa@HH|8!N A,mainDA L| N HA L| N LA L| N PA L| N TA L| N XA L| N \A L| N T:<<,M $#`}PP, `M }c P,M $#(A`!, M ,M $#, M ,M $#, M }}eB|@H0`}eB|@}k89@d 99J}eB|@}k89@  K`UF?M U? M U? M N `UF? M U? M U?M N |lxM , M  ,M $,98K @strcpyT`,/|fxA80AA,A`,AT,AH0}@Py=`01k@&}*X8}JX}@XK}JH}JXyA}L4U|`/T,/|M 00AHAA,,M B@$, &M B@D, FM B@x$D,,/ /M B@LM B@@&M B@4FM B@($D,,/ /K8N @pstrncatdA L| N hA L| N lA L| N 0 0 0 4@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:21%s highmain/dev//dev/selectstrtoldstrtoimaxscripts.catgetdtablesizeVERBOSE_LOGGINGusage: %s cl_scdiskreset[%d] version 1.5 cl_scdiskreset[%d] openx(%s, O_RDWR, SC_FORCED_OPEN)@(#)36 1.6 src/43haes/usr/sbin/cluster/events/utils/cl_scdiskreset.c, hacmp.events, 61haes_r714 11/28/11 15:05:07P0 0 0 0 0 XMYerrno@exit@ catgets@ getenv@ sprintf@ printf@ strncmp@ perror@ %@ openx@ 1@ __crt0v@optind@>@get_catd@ __start0 ! 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0  0 0 0 0 0 $0 (0 , 0 0 /usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.o!@VPDcl_scdiskreset/5765E6200/520 setlocale __mod_init__malloc_user_defined_name__default_char:t142=-5 :t7=f-13;:t8=ar0;0;7;3int64_t:t10=-31intmax_t:t11=10 :t13=f11;:t14=ar0;0;9;3:t16=ar0;0;2047;-4&fd_set:T17=s8192fds_bits:16,0,65536;;fd_set:t18=17time_t:t20=-1suseconds_t:t21=-10timeval:T22=s8tv_sec:20,0,32;tv_usec:21,32,32;; :t24=f-1;:t25=ar0;0;6;3 :t26=f-1;:t27=ar0;0;13;3 :t28=f-1;:t29=ar0;0;4;3:t30=ar0;0;255;-2:t31=ar0;0;63;-2 :t32=f-1; :t33=f-1; :t34=f-1; :t35=f-1; :t37=f-11; :t38=f-1; :t39=f-1; :t43=*-11:T44=s32_ptr:41,0,32;_cnt:-1,32,32;_base:41,64,32;_bufendp:41,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:5,192,32;_lock:43,224,32;; FILE:t45=44:t48=ar0;0;19;-2T_header:T49=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:48,64,160;;A_msgptr:T52=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T54=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:53,32,32;_msgtxt:6,64,32;;_catalog_descriptor:T56=s36_mem:5,0,32;_name:5,32,32;_fd:46,64,32;_hd:50,96,32;_set:55,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t58=57 :t60=f-1; :t61=f-1; :t63=f-1; :t64=f11; :t66=f-11; :t68=f-13;:t69=ar0;0;115;-2 argmin:-1verbose_flag:-1msg_string:30diskdevice:31 __func__:V29 sccsid:V69RVV n"r$vNzP(*RThBhnjlnpnJ&v,,8F<^<tڙڙ<ݙ @J<.02:4b68: N> v@ B0 N0 f0 X0 F0 0 `0 0 0 0 L0 d0 0 0 0 0 0 0  0 0 0 0 $0 ( 0 ,0 0 4@ D%X*+,./578 9(:,<8=H%h@pAget_catd errnoexit catgets getenv sprintf printf strncmp perror  openx  __crt0voptindTOC0 k__crt0v0 k0 k40 k_$STATIC0 k0 kerrno0 k_$STATIC0 k0 kgetenv0 kstrncmp0 kprintf0 kget_catd0 kcatgets0 kexit0 koptind0 $ksprintf0 (kopenx0 ,kperror0 0k Eg>Z g.__startPk.__startPF__start0  40 k,p_xargc0 p_xargv0 p_xrcfg0 p_xrc0 I0 c0 4.filergxk`)  ^@ k^_$STATIC0 ke 0   10 D0 V0 l0 ~0 .fileg:t67=-13:t51=-8:t47=-7:t42=-3:t40=-5:t36=-11:t15=-4:t12=-1:t9=-31:t2=-2:t1=-13:t3=k-2:t4=*3:t5=*-2:t6=*5'7I[gx:t19=*18:t23=*22(9EWct:t41=*-5:t46=*45:t50=*49:t53=*52U:t55=*54:t57=*56J:t59=f5;[g:t62=f5;s:t65=f5;:t143=Z`k`).main` Hmain:F-1.bfe6argc:p-1argv:p6rc:-1@DHLLenvptr:5.bs.es.efev_$STATIC0 XkX.bs.esnoname g.strcpyk9.strcpy g.strncat)glink.s g.exitk(.exitglink.s gk(glink.s g.getenvk(.getenvglink.s g.strncmpk(.strncmpglink.s g.printf8k(.printf8glink.s g`k(`glink.s g.catgetsk(.catgetsglink.s g.sprintf Lk(.sprintf Lglink.s g.openx tk(.openx tglink.s g.perror k(.perror  #setlocale__mod_init__malloc_user_defined_namecrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_scdiskreset.cWed Nov 24 00:04:27 2021 strncat.s.setlocale.get_catd l$=$+2b՝ab&./usr/es/sbin/cluster/events/utils/cl_scdiskrsrvlly&'0_st ,.128:;=aceinr -/34567@AHbdfgklmop| $(9DLMNPTX`huvx}!*BCEFIRV#%&)GWZ\zQY[]j{~'+^wd")km2Ai9m \6ڵ=; ΢CvE-u)*& %Q܇C] p.ohK{ܐ r@됙/T+ At%ꋅ?61@\ #N|q|`n- `r]@[kE%Xs89ytp!!(\x!\Y"u cRlYY\]Œ#ssu-jA38tR]|ZRV[|8 \nhj2,C&e3pѪxPBDDTXs"Hq Ÿ $K낽 Ydd Ο.`W(Y MÇFAhVCP Bϖ.ih+Yģ"px:tj(\xdžhȲD{\&7?&HkӣQB<4#"px:tj(\xdždY"\=ONE @ps$KipѨq`62,. çFǏxi 89E%4tP ?ifwzP84`*@3h YX)`BsC'(|-Ny@3iNs>c01@3iqsυ(lf!Ns>p; WH*2#pbV 8PFDn JQA!Y̼GmÂ@= UdFĬ5$ȁH8p;XB`:|P:p| :9z.pD6м0 g%xgς!`B@'9C`N gq9Zzxf=<9glf6$_i Yhb>W#(ϭRlB ]h:n` i#%DXЁx77ŋ*^ 2XAS;DdEg1$SVbdCX @ bCQ2Ö b&%p`,"%pl .K7Ѩ' p1bXs-,A(*'9@P";5dNs>ׂ-* g2x6 Y+ Keo@ PJ D3\L ,,FW+@jȜ28* |#+׃k P" P%䠟XԜ,Ox_Co>b󃘴dY"\=ONE @ps3HkӣQB<4͆E%4tP ?GaHX AHQ>$ƯZJKĦjˉL՗)%uūU(/ykJj˔-Z^q(4ˑSŎHJ£艒$JxvxU|BJ^^KK {ʌ)y}k ;V6}*T?1T{ <pB:$ DHJ((! ]Ps U%>^> թT|C&n[K^Z//z+5X}( Q+R!#@J*, (! BTFהxkE%>jl`F^@|: @d(@|  )&n[K^Z/B:HIТ>H$)%D“%&'J  F\F1Q萔>$ %*4DPDvE.G\?<%r6r!@:V>`wT>b|S {>k0V;e>aV;ZIϛ*ZoXg+M+XgXguJ+>bT|׺ϨZ+ {${NCŽ=!Ohix49~G|vHG|HN#r> ӑӲG|vHBG|s{NG^ӑw{NH:GJ.yi*L՗%%fjA<릆XuEff]RN_F@cdW"NkL$LQ}4m}2u \LdDɊ0W'0$DL}Ju \Lb ySEHHHKTI82lו>n'D$VhҾrDX):4 &F+JH24:\IIѠ)'@L3K ͒@$)@L3j R D"E)0Vf)!2Duן/Vj)"$\@L3T)r%*@H24Ι2JNN2t&ǂ`L|99FBq"u \LdBDĈSJ -J*(q;:hZ8gV:JHTE)yS I @3 -JN$@RNKe"t& uJ^+U>j(;.*4JT:AH &FH I#L贽)B$B:ҔD"diyS I DRdiRj.XRDH &FeeI F24Κ1JH2& R $RR9"$WI"MRP$y+%I &RR9"$Wʑ'0$D_*&NkL:bDxPZĤSg՚JHl^iqʝ03PbڥMVU1JL@h>ZȲoR)2]u(RIu&n[K^Z/uKT(RUReBm!G<[[P:ݐ~ηd΀>u!#1 vA C[V:ݐeBݦ\uA3 igXn\u@q5 :Aօ[Fnt_Ѕ[ 8c1 sf!nt {wxf!nxd:3<,-/ [l1 sdBr3<+ < yX\uױ[Bl1 q[- -Xf!n64aexf!n6nVn8[on8N:p|>u5[zP|η på| O0q(|p >uxK‚;oxSl<pfGr> #aGo>Gr> 8|qi$w#HGR;u# x3#| ܐxp # q;DGr@ߑܐq;bCoL͕-Zji;31TLM, i;ZLMVi7/?oP >|13u+_p_r> -fLߐmk2g܏&yNA8H|Z̙!;.|̙!;V#d= Q`' &yNwk2g*T_ ̙!;ϭXɞ{-V rd= U>jlzd= U> nd= Ԩ|S\Z̙!;d= MVr@Z̙!;U|ɞ{*X0HV&yNljUɞ{`?/bx dSg2g]u-}";L=_u-~|g?!;dAΌ-1Sr>vт"m3~7L nG<:0Z[L߃'r>go\ g 5_ذ1;aCndȳ7Cٟi]_dn]&ywtDEE$r63~#ᅭx#'#<ȕZgo \VL܏v@:|Zgo& ~'d/d }+%){W$I,5NHU,5'$&W'$(WɊ"EXk_DTXk_DN7a|HXk_'NH,5NHLXkb_ذҾPȑذҾR"( }+I"Db_JDWXk_Dsdņ{?aDZa2,5b_ ,5ذҾpņb_ ņe $dņ$ņ"Ob_=Xksذd.,5aņ #,5ņ &,5~ņ WXk_'F"$(,5Gab_{WʓD>ņ@ذhņI"= _ذҾPN"(&,5΀߱a|8DPQXk = }+ E^ņ W\N`Tذ<]Xk_)F7ayga|9Rob_{,5a|HȫXk_*q8DR$,5 = }+HӘ&,5ņEذ۝Y̙M+Y۝YiXgkkĈ :Ω LT6$E1a-16I ذkT$E[X?[a<p</Z$/x;bx ,ێ lL#1TqmxkCXd,X1y7Y̙?G?BV)46n82?13V ݑ,Л-V qdB9e>an8geZ$/vCX11TdB9O?n8 ,3Lլ2Be,h@63B坦vGhs5k 4*T>bܳ3~JU>pۖv!Lլ2BdBŀXqdB9Xq; Lլ2Bd4&ʖ 6dB9SeKqugi?13V ,Xbx MVۇ 9`j`N+@|)Tf.$$$?B믋VP^+~_TUVY`LW]6|Z굊uik].xkQs*0}[uZo\xkQs*zN546P+}զլUB T(IP%B T(IP%yjRrajOZJrL>i*zJ.}YĪLyIz^LUϣ'>\'J7?y} /*|J5T&*uJ@ k>$+;b՝ab&;./usr/es/sbin/cluster/events/utils/cl_scsipr_dare_reg_resaddre#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_scsipr_dare_reg_res.sh 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ################################################################# # Name: cl_scsipr_dare_reg_res # # Called by: reconfig_resource_release # # Description: This script register and reserve the volume group # which is passed to it as arguement. # # Input: Name of the Volume Group to be registered. # # Output: None ################################################################# # Including file containing SCSIPR functions . /usr/es/sbin/cluster/events/utils/cl_scsipr_event_functions typeset vgName=$1 if [[ -n $vgName ]];then cl_scsipr_dare_Reg_Res $vgName fi R k>?$+Gb՝ab&G./usr/es/sbin/cluster/events/utils/cl_scsipr_diskreplaceaddre#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_scsipr_diskreplace.sh 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ########################################################## # Name: cl_scsipr_diskreplace # # Description: THis script is a wrapper to call function # from file cl_scsipr_event_functions from cspoc utility # cl_diskreplace. # # Input : Source disk PVID(disk to be removed from a VG # Destination disk PVID(dsik to be added to the VG) # # Output: 0 on success # : 1 on failure # ########################################################## export PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) ################################## # Main # ################################## # Including file containing SCSIPR functions . /usr/es/sbin/cluster/events/utils/cl_scsipr_event_functions [[ "$VERBOSE_LOGGING" == "high" ]] && set -x typeset Source_PVID=$1 typeset Destination_PVID=$2 typeset VGName=$3 typeset Source_disk=$(lspv -L | grep -w $Source_PVID | awk '{print $1}') if [ -z "$Source_disk" ] then # : Unable to get hdisk corresponding to PVID $Source_PVID on node $(get_local_nodename). # return 1 fi typeset Destination_disk=$(lspv -L | grep -w $Destination_PVID | awk '{print $1}') if [ -z "$Destination_disk" ] then # : Unable to get hdisk corresponding to PVID $Destination_PVID on node $(get_local_nodename). # return 1 fi disk_replace_scsipr $Source_disk $Destination_disk $VGName if (( $? != 0 )) then return 1 fi < lw@$+ gb&bb&A./usr/es/sbin/cluster/events/utils/cl_scsipr_event_functionsdre  # e ailnorst$_cdfghpuvy"().:=GPRkm-/01ACELMNOVb'DFIKS[]w{}!&,2?BTUx|7;Hqz3>+56YdR{g ]AYb0`ydHahEp;.]MTW<(FDRL1iKgvluW+"@XJsĉ H _ɲx\W+ n&@.w4" SU+ _Uֺ\x%1k]MTW< & $&  X.f:>[Vƭ{m? p^4io^mP ,Akm=]&`. X\LטJZ0!0@xhxObxhѷu]uC%uY6 4o'vh|Xph =}Y@$lLĮ-t eD " "/!W<-u5R\.l~+x`R.W+"@Xȁc_0*?R652* c\aX`@jSl?HXlQJK44oFqQlmqdFQ[P~7MG6Zp·d[gh·d[gh?1caܒk{\41tuZ74f<~9(dm'02FɩE~cgc9)I6r6-Jm)͛`k7h6S&?1hܮ*2mA8kTsdS1h 9;FqRѼ"74`64۔mFl/k=76ȡl&Z &"D$D^ C E"/tx$ ZjrA8f"sdPai9[|DȡuJs„L{ u5R\"fRMW/\W+ n&@/m}q~Qk]k]MTW< & $&  X.f:>[VƭuCѸ\qҸnYf/AhY:]t04@@vtpKtD<pC0'6NNjn#i` TQ P F AD@akoZr6iF bL{ l08 $OJxX]cT?mG6ZPѷ]l7rɶqrq6DȠubHŊ1+ki`XxhMzU]uT?m -z;\TkFqlf"sdS4PleQ"x U+Ę*몣\LR5bi9[|DȢꨘqSObɇb0^5uU4m몪Y;F"xj4o>XU&`. X\LטJZ0!0@xhxU40f,! ]UTѷuUUUUC%uY6 4o'vh|Xph `(<*bLu]UP"c"?>·i9ð!`"o5C5: MӋb+ZꪺꪇK;NKOWDIsfh6E1qlf"sdPrꪺꪣsN/ںں=]usFmqd<FM~>0+b'6E.% u8A8f"sdQt#0^5u4m]W]P c]gidtѽFM|lbm͑A˪:+*qJ&dr'6E· kFnW6F͑L+g7^lc^9u]t{V8"f<~5H5(s#f 'r_XY6=c ɶ6c\aR c\aR /"lZR-=766e;cѹ\TB8V1NQ~ ܤ[m0К7{ekk=76#dԢa̍N0pɁ"`ȑ jv@]+ K,1u5R\"fRMW/\W+ n&@/WѹUֺ\x%paniFEuW+ n=@^Q3%4sv$O\cl9]+UU|^Ji,ȣ)p9uSF޵W]U[*ӆB禍6S?"sdRCU]uUq~ ]Q]TJsȜ ,Zꏄr'6E3_9(k: 璃j knf%4qhi`XB/ &uUQUh7UbD̒, 4m몪\y(R X\L#s1(qh Ł!ѠhUUQU[~qiD– CHWhUUG ]UUͯNUUns ꪏj+]UQbUT+aEQ]Q}u_.zh$O%4tᦍD̒,zh$OU40f,1 @ FIo]U`2bPsMTĢR1D1bq"fIFŒ&`.]U40f,! ]UMzUUUT?XYpҹlѸ暮q"xj?M„qbG.74UGuGk;AůC1hܮ*5bD.?>X pH92 b]W]QJ&F27#C(GHUuM? 0CWU4m]UuP c]giFlqy7+B8B8G>^,BP:.-)Z1]4o ~5(ѼsdS! ܮ*Y×U]uT*ׅ\b ,12"A!~h6S<KŊ-uTkR(,P]UF_T{V94^i7+`$69u]uF(ŧ LQ XY"fU X œ `4jꦍk ɶy7+`$68rꫮsN/k40f,pf CaWU4m]UuP% FM~1B8B#U]uVZU]uT?XYRkF"xj!X(z„qbGeW]Q][~3L;!0ѫoZH92 #,ODW50U9u]unu]uC%u ŧQ"x$VW@4o Ŋ=]F_2+__Jo6m\L#s1(9@jSl?x|7+bPsMT2s pmlפ!(FUϻ:Zp·sT74zLnR_l4n MͰ~5D73j 4(L  &D(H@PD^ \HJs6E¶@JsA5RW/j]|FN1FqRJij 2s v,ȣVK4nW,Ġ暮s0*7+bPsMT+_k1j _ؠ[|?"a[PsMWfZD/SF޵u[*ӆB0brwqg6E· IG.)9D(U A Y"bdDDC c]giJ:7+bPsMW1bD)j{=A*7+9(Uq~ ]ծ~ԸLJ%-\ť.t3 Z('xR8"a[K>ҹ]W]PRrP^q,Dȉƺӆ tnW,Ġ暮cĉR1F9;z6e;TnW/sdQ+c74=ni-a%76J&U1D _Eص)ѼjqxK1(9bft9j!PVF_!8ct4۔͛`knf%4LQ Z &"D$D^ C E"/tx$ Zjr{ SU+2kRŮW+Ji-kF,Tc$" F Z=oJ-|a8OQx6-u!sF)9)!˪ NQ k®1tBㅖH ?XYp\ GFqRJi{=A*7+QӋbu+ 6E se<[#*6 d $ nB6 Q]40f,! ]MzUT?o`N 7Q[Ȥ_A+cUT*ׅ\b ,12"A!~ᐹ0@⥘Uz6e;TnW/a[-uQZ7ֺ8"f<~5D ͍yD@jSl?Y;ɽ;ĉR:h|$LXxVL~y σ}UF7x[$/ 5wӅlPLruo/niq#;ax'I3MHjYٶƹ(Y1(pC-t eD " "/!W<-u5R\u,1ks8ӆBqd&`.]ӈ0@\I` "H')F~3` Fk,k8d.x9w ekqT.x-:.74=]4  ,֜/SF޵uNSP#6Zʥ5q\[u]W]Tni1t{VnxJ^4ᐷY;ĉ WOi kqT.x%$f4-:v 6dD@ Pph 0hE "I:Ʈ~3` Fѷu]uC%u @FQƺB珌 rsN/ڵOӅrhTJ^3eSWrsN/ںi{N6^.kuP#6Xaqo9u]uQZSU+JҸpē1"fJc8^|*1a!xYNS-tL)j-8ZWN,֜QL)jZ74_Jo6m\dR ܗ9v>0*?, _Eص)[,zo6mmwǝrzh}͑@"¶סgiMreoHrF_!,~frm`BhA핯͛`kjQ0a;-u5R\,b3X+cWSU+ \xȡ5D.-=SX,ȢpaObɇb0^5u4m$L]@(Y1(qbP:¶5uM? 0CWU4m]UuP c]gd-MCMĉ]~7%+cU]uUq~ ]Qe%4sv$O]"V3:]QJ&.f%4LJ%-\Y͑LHEd WT#!ѫ6QJ&F27,Y͑LY"fUSOb@ FuU_Akӽ8dnRϰ~9),UͯN]U[k]UW]UP c]giFlqy7+Nlblcx(oa[Ӌb+ZꫮK;J6 4ojĉ]9uUUQչ1dÃ13 6~6E1g6E3e `p0HJƱ& .74JֺƺӆR`(&1 | grep "Current state:" | egrep -q -v "ST_INIT|NOT_CONFIGURED" then typeset localNodename=$(get_local_nodename) if (( $? != 0 )) then cl_dspmsg scripts.cat 10055 "ERROR: Couldn't determine local nodename. Please ensure the cluster\n\ topology has been successfully synchronized.\n" exit 1 fi # Get all the nodes where given RG is in ERROR state typeset nodes_data="" nodes_data=$(LC_ALL=C clRGinfo -s $RG | grep "ERROR") if (( $? != 0 )) then cl_dspmsg scripts.cat 10642 "ERROR: Resource Group %1$s is not currently in ERROR state on any of the cluster node.\n\ This command must be run when the resource group is in\n\ ERROR state due to failure of registering SCSI persistent reserves.\n" $RG exit 1 else typeset nodes=$( LC_ALL=C clRGinfo -s $RG | grep "ERROR" | cut -f3 -d:) if [[ -z $nodes ]] then cl_dspmsg scripts.cat 10648 "ERROR: Unable to retrieve list of configured cluster nodes.\n" exit 1 fi fi typeset scsipr_enabled="" scsipr_enabled=$(clodmget -q "policy=scsi" -f value -n HACMPsplitmerge) if [[ -z $scsipr_enabled ]] then cl_dspmsg scripts.cat 10650 "ERROR: There was an error reading the configuration,\n\ for Quarantine Policy as Disk Fencing from ODM.\n" exit 1 fi if [[ $scsipr_enabled == Yes ]] then for node in $nodes do # Get the PR_key of the Node. typeset PR_Key=$(clpr_obtain_prkey $node) if (( $? != 0 )) then cl_dspmsg scripts.cat 10644 "ERROR: Failed to generate the persistent reserve key for node %1$s.\n\ Hence, failed to recover the resource group %2$s from error state.\n" $localNodename $RG exit 1 fi typeset VG_list=$(clodmget -q "name like *VOLUME_GROUP and group=$RG" -f value -n HACMPresource) if [[ -n $VG_list ]] then typeset VG="" for VG in $VG_list do # Check if Volume Group is SCSI Persistent Reserve Type 7H capable cl_rsh $node /usr/es/sbin/cluster/events/utils/clpr_verifycap_vg $VG rc_cap=$? if (( $rc_cap == 1 )) then cl_dspmsg scripts.cat 10645 "ERROR: Volume Group %1$s is not SCSI Persistent Reserve Type 7H capable.\n" $VG exit 1 elif (( $rc_cap == 0 )) then # Volume group is SCSIPR Type 7H capable. # Verifying the PR Key of Node. cl_rsh $node /usr/es/sbin/cluster/events/utils/clpr_verifyKey_vg $VG $PR_Key if (( $? != 0 )) then # PR Key of this node is not registered. # Try registerting and reserving this VG. cl_rsh $node /usr/es/sbin/cluster/events/utils/cl_scsipr_dare_reg_res $VG if (( $? != 0 )) then cl_dspmsg scripts.cat 10646 "ERROR: Failed recovering the Resource Group %1$s from ERROR state.\n\ As registration failed for one or more disks of Volume Group %2$s.\n" $RG $VG exit 1 fi fi else cl_dspmsg scripts.cat 10641 "ERROR: Failed to determine if Volume Group %1$s is SCSI Persistent Type 7H capable.\n\ Hence, failed to recover Resource Group %2$s from ERROR state.\n" $VG $RG exit 1 fi done else cl_dspmsg scripts.cat 10647 "There are no Volume Groups in Resource Group %1$s." $RG exit 0 fi done fi else cl_dspmsg scripts.cat 10649 "Cluster services are not active on node %1$s.\n\ This script must only be used when a resource group goes to ERROR state,\n\ and cluster services are running.\n" $localNodename fi exit 0 e kF$+kb՝ab&k./usr/es/sbin/cluster/events/utils/cl_scsipr_reg_resrg#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_scsipr_reg_res.sh 1.1 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ################################################################## # Name: cl_scsipr_reg_res # # Called by: reconfig_resource_release # # Description: This script register and reserve the hdisk if pvid # or uuid of the hdisk is passed to it as arguement. # # Input: PVID or UUID of the hdisk # # Output: None ################################################################## # Including file containing SCSIPR functions . /usr/es/sbin/cluster/events/utils/cl_scsipr_event_functions typeset disk_id=$1 typeset hdisk=$(lspv -u | grep -w $disk_id | awk '{print $1}') if [[ -n $hdisk ]];then cl_scsipr_Reg_Res $hdisk fi RG  kj+K$+8>b՝ab&8>./usr/es/sbin/cluster/events/utils/cl_set_vg_fence_heightnsdrea#_H  @0P0 01L.textPP P"!FMN .data0 0 @ $@.bss0<0<.loader4<.debugp B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$H A| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@@aؐ8`aPap8lHAaTaT(A@T8$8HA,@$8`aPbL88~HAa,@ a܀ca@a܀caDHa,@ha܀ca@a܀c aDa܀c8HiA,@8`apH a܀8HiA8`HH a܀8LHIA8`HD88HA,@8`atHD88H݀A,@8`atHpD8 8HA,@8`atHHD88HA,@8`atH a܀8|HA8`H@8|8a\HA8`aLL8\88aTHyA8a\88HAaXaX,@`ap,@H8aTHA8DHA8488HA@8HA8`HT8`HLH aP,A8T8HA8a\8H`8`֐aLL@88aT8HAaX8\8HyAalal,@ ap,@8aTHAH aP,A8T8H%A8`aLL8\88aTH-AaXH-AaHaH,A8aTHUAH aP,A8T8HAal,@ ap,@ 8`H8`H 8ax8 [rw|ro|na|ff] Usage: %s [-c] [rw|ro|na|ff] Usage: %s [-c] [rw|ro|na|ff] cl_set_vg_fence_height[%d]: open(%s, O_RDONLY)cl_set_vg_fence_height[%d]: sfwSetFenceGroup(vg=%s uuid=%0.16llx%0.16llx height=%s(%d))cl_set_vg_fence_height[%d]: Volume group %s is not associated with a Fence Group known to PowerHA SystemMirror @(#)10 1.5 src/43haes/usr/sbin/cluster/events/utils/cl_set_vg_fence_height.c, hacmp, 61haes_r714 4/12/13 13:18:3704P000 0 (0 0c\u___bzero@-@errno@close@ _Errno@ exit@ open@ catgets@ getenv@ sprintf@ printf@ read@ strncmp@ perror@ :@ __crt0v@G@get_catd@ d@ __start0! 0 0 0 0000000000000 00 0 0 0 00 0$ 0(0,000408/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.olibstorfwork.ashr.o)@VPDcl_set_vg_fence_height/5765E6200/520 ___memmove __mod_init__malloc_user_defined_namesfwSetFenceGroup__default_char:t192=-5int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5 :t13=f-13;:t14=ar0;0;7;5:t16=ar0;0;2047;-4&fd_set:T17=s8192fds_bits:16,0,65536;;fd_set:t18=17time_t:t20=-1suseconds_t:t21=-10timeval:T22=s8tv_sec:20,0,32;tv_usec:21,32,32;; :t24=f-1;:t25=ar0;0;6;5 :t26=f-1;:t27=ar0;0;13;5 :t28=f-1;:t29=ar0;0;4;5:t30=ar0;0;255;-2:t31=ar0;0;255;-2:t32=ar0;0;1023;-2:t33=ar0;0;15;-2uint_t:t35=-8 uint:t36=35:t37=ar0;0;39;-2u_int32_t:t38=-8unsigned32:t39=38u_int16_t:t41=-7unsigned16:t42=41u_int8_t:t44=-5unsigned8:t45=44 byte:t46=-2:t47=ar0;0;5;46_uuid_t:T48=s16time_low:39,0,32;time_mid:42,32,16;time_hi_and_version:42,48,16;clock_seq_hi_and_reserved:45,64,8;clock_seq_low:45,72,8;node:47,80,48;;uuid_t:t49=48Gsfw_fgroup_set:T50=s60name:37,0,320;uuid:49,320,128;height:36,448,32;;sfwfgset_t:t51=50 :t52=f-1; :t56=*-11:T57=s32_ptr:53,0,32;_cnt:-1,32,32;_base:53,64,32;_bufendp:53,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:56,224,32;; FILE:t58=57:t60=ar0;0;19;-2T_header:T61=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:60,64,160;;A_msgptr:T63=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T65=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:64,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T67=s36_mem:7,0,32;_name:7,32,32;_fd:59,64,32;_hd:62,96,32;_set:66,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t69=68 :t72=f-1; :t74=f73; :t75=f-1;ssize_t:t76=-4size_t:t78=-10 :t79=f76; :t80=f-1; :t81=f-1; :t82=f-1; :t83=f-11; :t84=k-11 :t86=f-11; :t87=f-1; :t90=f-13; :t92=f-11; :t93=f-1; :t94=f-1;fence_height:7 cmdline:-1verbose_flag:-1 errormsg:30msg_string:31vg_fg_uuid_fd:-1vg_uuid_file:32 read_size:-1 c_flag:-1set_height:36 set_fence:51 __func__:V29#cl_set_vg_fence_height_c_sccsid:G6RhV,n.r0v`zb46df!zBzn|~J2v8&+>0@+h00++++D0`55:?DI00,P5dN?05S?0L\p5X]]?<0:<@B "D JF rH J   L N   @ L P R T0 `0 x0 j00X0*0r0*0$0"0^0v0&0 0000 0000 0 0$0(0, 00(0408 $%&' ()$*0.P/X0\2p3x5|:;ABCDEFG,H8JLKTQhRT[\]_gikl$s4tXvpw|~ (4<DTdx$(4DLget_catd ___bzeroerrnoclose _Errno exit open catgets getenv sprintf printf read strncmp perror % __crt0v0K TOC0k__crt0v0k%0k\0k_$STATIC0k00kerrno0k_$STATIC0kgetenv0kstrncmp0kf0 kprintf0ksprintf0kopen0kperror0kget_catd0 kcatgets0$kread0(kclose0,kK00k_Errno04kexit08k Wgl g.__startPk.__startPX__start0 \0 k,p_xargc0p_xargv0p_xrcfg0p_xrc000<.filegk`)S pc@ kp_$STATIC0 (keT0  y00000.file g::t89=-13:t77=-10:t55=-11:t54=-3:t43=-5:t40=-7:t34=-8:t15=-4:t12=-13:t9=-1:t4=-2:t1=-31,:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;<MZk:t19=*18:t23=*22,8JVg{"6H[i{$m:t53=*-58:t59=*58FY:t62=*61:t64=*63:t66=*65B:t68=*67:t70=f7;:t71=*51:t73=*-1->JVbn{:t85=*84:t88=f7;:t91=f3;:t193=Z`k ).main`  !Fmain:F-1.bfeaargc:p-1argv:p8VG:7@Drc:-1HLPTenvptr:7T X3\uuid:33\ElTp`tpx.bs,.es.efde_$STATIC0 kf0noname g.strcpy k9.strcpy  moveeq.s g.bcopy @A).ovbcopy @._moveeq L.memcpy L.memmove Lmemset.s g.bzero )glink.s# g.exit k(.exit glink.s( g.getenvk(.getenv$glink.s- g.strncmpk(.strncmp)glink.s2 g.printfk(.printf.glink.s7 g.sprintfk(.sprintf3glink.s< g.open k(.open 8glink.sA g.perror Hk(.perror H=glink.sF gT pk(T pBglink.sK g.catgets k(.catgets Gglink.sP g.read k(.read Lglink.sU g.close k(.close Qglink.sZ g^ k(^ Vglink.s g._Errno k(._Errno [p.___bzero___memmove.___memmove__mod_init__malloc_user_defined_namesfwSetFenceGroupcrt0_datacl_set_vg_fence_height_c_sccsidcrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_set_vg_fence_height.cWed Nov 24 00:04:29 2021 .get_catd.sfwSetFenceGroup kjM$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_setprkeyn#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_setprkey.sh 1.4 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2000,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)45 1.4 src/43haes/usr/sbin/cluster/events/utils/cl_setprkey.sh, hacmp.events, 61haes_r714 3/26/07 17:52:19 ############################################################################### # # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: Set persistent reserve key in ODM # # arguments: none # # returns: 0 - persistent reserve key set up # ? - failure # # ENVIRONMENT: PATH, LOCALNODENAME # # ORIGINS: 27 # ############################################################################### PROGNAME=$(basename ${0}) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.4' set -u ############################################################################### # # Name: newkey # # Function: Derive the persistent reserve key used by this node # # Returns: Persistent reserve key written to stdout # # Input: None # # Environment: LOCALNODENAME set by cluster manager # cluster id in HACMPcluster ODM stanza # node id in HACMPnode stanza # ############################################################################### newkey() { typeset PS4_FUNC="newkey" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x typeset clusterid planarid nodeid # Take 2 bytes of cluster id - note the use of below - be careful # when editing., clusterid=$(odmget HACMPcluster | grep ' id =' | cut -f2 -d'=') typeset -Z2 clusterid # Take 4 bytes of hardware planar id planarid=$(/usr/bin/uname -m | cut -c3-8) typeset -Z4 planarid # Take 2 byte of cluster node id - note the use of below - be # careful when editing. nodeid=$(odmget -q "name = $LOCALNODENAME" HACMPnode | grep ' node_id =' \ | uniq | cut -f2 -d'=') typeset -Z2 nodeid # # construct the persistent reserve key this node should use # # The value returned is: # # xxyyzzzz # # where: zzzz - low order 4 digits of planar ID # yy - low order 2 digits of HACMP node ID # xx - low order 2 digits of cluster ID # print ${clusterid}${nodeid}${planarid} return 0 } ############################################################################### # # Main routine # # Function: Set up persistent reserve key # ############################################################################### # # If there are any vpath devices on this node, we need to make sure that # they use the proper persistent reserve key # if vpath_list=$(ls /dev/vpath* 2>/dev/null) ; then # construct the persistent reserve key this node should use new_prkey=$(newkey) # # This defines the ODM stanza that holds the persistent reserve key: # # CuAt: # name = "ioaccess" # attribute = "preservekey" # value = "xxxxxxxx" # type = "R" # generic = "" # rep = "s" # nls_index = 0 # key_classname="CuAt" key_line="preservekey" key_criteria="ioaccess" current_prkey=$(odmget -q "name = $key_criteria and attribute = $key_line" \ $key_classname | grep ' value =' | cut -f2 -d'"') # # If there's no persistent reserve key attribute in ODM, or if # what's there doesn't match the new one we just constucted, update # the ODM. # if [[ -z $current_prkey || $current_prkey != $new_prkey ]] ; then # # Build a new ODM stanza in a temporary file # echo "$key_classname:" > /tmp/cl_setprkey.$$ echo " name = $key_criteria" >> /tmp/cl_setprkey.$$ echo " attribute = $key_line" >> /tmp/cl_setprkey.$$ echo " value = $new_prkey" >> /tmp/cl_setprkey.$$ echo " type = R" >> /tmp/cl_setprkey.$$ echo " rep = s" >> /tmp/cl_setprkey.$$ # # update the PR key in ODM, both in the current CuAt and in the # saved one in the RAM file system used during boot/config # if [[ -n $current_prkey ]] ; then # Update any existing key odmchange -q "name = $key_criteria and attribute = $key_line" \ -o $key_classname /tmp/cl_setprkey.$$ odmrc=$? else # Add a stanza for a key, if its not there already odmadd /tmp/cl_setprkey.$$ odmrc=$? fi if (( 0 == $odmrc )) ; then # push the change out to the ODM on the boot device savebase # Clean up the temporary file rm /tmp/cl_setprkey.$$ # # Finally, force a reconfiguration of all the vpath devices on this # node, so that they'll pick up the new key # [[ "$VERBOSE_LOGGING" = "high" ]] && vflag='-v' || vflag='' parentlist="" for vpathdev in $vpath_list ; do # find the parent of the given vpath device # Note that each parent need be done only once parent=$(lsdev -Cc disk -l ${vpathdev##/dev/} -F parent) if ! echo $parentlist | grep -wq $parent ; then # and reconfigure it and its descendents, # to cause it to pick up the new key cfgmgr -l $parent $vflag # remember which ones we've done so far parentlist="$parentlist $parent" fi done else return $odmrc fi fi fi return 0 N kO$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_smm_ochkn#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_smm_ochk.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)66 1.2 src/43haes/usr/sbin/cluster/events/utils/cl_smm_ochk.sh, hacmp.utils, 61haes_r714 5/1/13 09:49:44 ################################################################################ # # Name: cl_smm_ochk # # Function: Checks to see if the 'manual' option for storage subsystem # recovery has been overriden by a prior choice of 'continue' # in response to a split. # # This function is encapsulated in this routine to avoid having # similar logic scattered through the various storage subsystem # routines. # # There are two parts to this test: # 1. Split/merge policies have been configured so that a manual # response to a split or merge applies to a subsequent choice # for storage subsystem recovery. # 2. On a split, the manual response indicated that this # partition should continue. # # Notes: The expected use of this function is: # if /usr/es/sbin/cluster/events/utils/cl_smm_ochk # then # # # : Perform Automatic Recovery # # # else # # # : Perform Manual Recovery # # # fi # # The implementation in this routine depends on the fact that # 'manual' is an allowed policy on split or merge only for linked # clusters, and hence the partitions of the clusters correspond # to PowerHA sites. # # # Input: * Configuration choices in HACMPsplitmerge # * Presence/absence of tracking file /usr/es/sbin/cluster/etc/smm_oflag # normally created by cl_sm_continue # # # Output: return code = 0 - 'manual' storage subsystem recovery has been # overriden; storage subsystem recovery should # proceed as though 'automatic' had been # configured. # return code = 1 - 'manual' storage subsystem recover has not been # overridden; manual recovery of the storage # subsystem is required. # # ################################################################################# PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) . /usr/es/sbin/cluster/etc/ha_odm_constants if [[ $VERBOSE_LOGGING == 'high' ]] then set -x version='1.1' fi # : Setup the log file - typically /var/hacmp/log/clutils.log # DEFAULT_LOG_DIR="/var/hacmp/log" clutils_log_dir=$(/usr/es/sbin/cluster/utilities/clodmget -q "name = clutils.log" -f value -n HACMPlogs) if [[ -z $clutils_log_dir ]] then clutils_log_dir=$(/usr/es/sbin/cluster/utilities/clodmget -q "name = clutils.log" -f defaultdir -n HACMPlogs) fi if [[ -n $clutils_log_dir ]] then clutils_log_file=${clutils_log_dir}/clutils.log else clutils_log_file=${DEFAULT_LOG_DIR}/clutils.log fi # : Check to see if the current active PowerHA configuration calls for a manual : choice on split merge to override MANUAL recovery at the storage replication : level. # if [[ -s ${ACD}/HACMPsplitmerge ]] then srr_action=$(ODMDIR=${ACD} clodmget -q "policy = storage_recovery" -f value -n HACMPsplitmerge) if [[ -z $srr_action || $srr_action == 'N' ]] then return 1 # No override choice configured fi else return 1 # No override choice configured fi # : At this point, we know that the storage recovery option was set to 'yes'. : Now, check to see if a split has happened. # if [[ -f /usr/es/sbin/cluster/etc/smm_oflag ]] then # : Manual choice to continue was specified # print "$(date) ${PROGNAME}[$LINENO]: Split merge manual choice overrides manual storage system recovery" >> $clutils_log_file return 0 else return 1 # No manual choice to continue fi es/usr/ k`KR$+@kb՝ab&k./usr/es/sbin/cluster/events/utils/cl_ssa_fence@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_ssa_fence.sh 1.9.1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)39 1.9.1.3 src/43haes/usr/sbin/cluster/events/utils/cl_ssa_fence.sh, hacmp.events, 61haes_r714 4/24/08 19:21:29 ############################################################################### # # Name: cl_ssa_fence # # This function will attempt to set the fence registers of all SSA # disks belonging to resource groups which participate in disk fencing, # and which have the local and/or remote node as participating nodes. # # Returns: # 0 - All disks registers successfully set # 1 - A disk register failed to be set # 2 - Zero arguments were passed # # Arguments: # operation Either 'ACQURE' or 'RELEASE' # node_name The name of the node to be fenced in or out # diisk_list Disks to be fenced # # Environment: VERBOSE_LOGGING, PATH, EMULATE # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.9.1.3' HA_DIR="$(cl_get_path)" STATUS=0 if (( $# < 3 )) ; then # Catch invalid invocation - wrong number of parameters cl_echo 1048 "usage: $PROGNAME operation nodename list of disks" $PROGNAME STATUS=2 else # Pick up formal parameters. Using the 'shift' constuct allows the disk # list to be either a list or a quoted list. OPERATION=$1 # either 'ACQUIRE' or 'RELEASE' shift NODE_NAME=$1 # name of the node to be fenced in or out shift DISK_LIST=$* # disks to fence # Get the node ID for the node being fenced in or out NODE_ID=$(odmget -q "name = $NODE_NAME" HACMPnode | \ grep 'node_id =' | head -1 | cut -f3 -d' ') # Now, fence that node for each of the given disks for DISK in $DISK_LIST ; do DISKTYPE=$(odmget -q "name = $DISK" CuDv | grep -w ddins | cut -f2 -d'"') # Skip any disks which aren't SSA - e.g., 9333 if [[ $DISKTYPE = ssa* ]] ; then case $OPERATION in "ACQUIRE" ) if [[ $NODE_NAME = $LOCALNODENAME ]] ; then # # This routine will be called only if this is the first node up in the # cluster. Otherwise, some other node will fence us in when in # runs node_up_remote. # # First, try to clear the fence register, since we # don't know what state it was in before. node_ids_lst=$(odmget -q "name != $LOCALNODENAME" HACMPnode | \ grep 'node_id =' | sort -u | \ cut -f3 -d' ') if [[ $EMULATE = "EMUL" ]] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "ssa_clear_fence $DISK" echo "ssa_fence_out $DISK $node_ids_lst" else # First, clean up the fence register, since it # may have been left in an arbitrary state. cltime if ! ssa_clear_fence $DISK ; then cl_log 862 "$PROGNAME: Failed setting fence for PVID: $DISK" $PROGNAME $DISK # Then, fence out all nodes but this one elif ! eval ssa_fence_out $DISK $node_ids_lst ; then cl_log 862 "$PROGNAME: Failed setting fence for PVID: $DISK" $PROGNAME $DISK fi fi else # # Allow the node that is joining the cluster access to the # concurrent volume groups if [[ $EMULATE = "EMUL" ]] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "ssa_fence_in $DISK $NODE_ID" else cltime if ! ssa_fence_in $DISK $NODE_ID ; then cl_log 862 "$PROGNAME: Failed setting fence for PVID: $DISK" $PROGNAME $DISK fi fi fi ;; "RELEASE" ) if [[ $NODE_NAME = $LOCALNODENAME ]] ; then # # This routine will be called only if this is the last node down in the # cluster. Otherwise, some other node will fence us out when it # runs node_down_remote. # # As the last one out the door, set the fence # register to allow all nodes to access the disk. if [[ $EMULATE = "EMUL" ]] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "ssa_clear_fence $DISK" else cltime if ! ssa_clear_fence $DISK ; then cl_log 862 "$PROGNAME: Failed setting fence for PVID: $DISK" $PROGNAME $DISK fi fi else # # Remove access to the concurrent volume groups from the node # that is leaving the cluster. if [[ $EMULATE = "EMUL" ]] ; then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "ssa_fence_out $DISK $NODE_ID" else cltime if ! ssa_fence_out $DISK $NODE_ID ; then cl_log 862 "$PROGNAME: Failed setting fence for PVID: $DISK" $PROGNAME $DISK fi fi fi ;; # Notice no error is reported in this path, even if fencing # fails. Actual inability to access the disks will be detected # when the volume group is vary'd on. Ignoring failures here # allows for recovery from cases where the ODM definitions are # out of sync with the platter. *) cl_echo 1048 "usage: $PROGNAME event nodename" $PROGNAME STATUS=2 ;; esac fi done fi return $STATUS ters  k"U$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_start_commlinksgh#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_start_commlinks.sh 1.11 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_start_commlinks.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ## ## Script: cl_start_comm_links ## ## Syntax: ## cl_start_comm_links commlink1 commlink2 commlink3 ... ## ## Called-by: node_up_local node_down_remote ## ## Parameters: commlinks = list of highly available communications links ## ## Return: 0 on success, 1 on failure, 2 on usage error ## PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.11' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" COMMUNICATION_LINKS=$* set -u STATUS=0 # are we really trying to start any links? if [[ -z "$COMMUNICATION_LINKS" ]] then echo "$PROGNAME: usage" echo " cl_start_commlinks commlink1 commlink2 commlink3 ..." exit 2 fi ALLCOMMLINKS="All_commlinks" cl_RMupdate resource_acquiring $ALLCOMMLINKS $PROGNAME for LINK in $COMMUNICATION_LINKS do LINKTYPE=$(cllscommlinks -C -t All | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { print \$2 }") # start the X25 layer if expr "$LINKTYPE" : '.*x25' then #make sure the commlink monitor is running if [[ -z $(ps -eo 'args' | grep -w clcommlinkd | grep -vw grep) ]] then clcommlinkd fi #tell the commlink monitor to start this group's commlinks clcompcommlinks acquire $LINK #wait 1 minute for acquisition to be completed MAXWAIT=18 WAIT=0 WAITSTATUS=0 while [[ -f "/usr/$HA_DIR/sbin/cluster/etc/commlink_add.$LINK" ]] do sleep 10 if [[ $MAXWAIT -le $WAIT ]] then cl_log 7701 "Time out waiting for $LINK" $LINK cl_RMupdate resource_error $LINK $PROGNAME WAITSTATUS=1 break fi WAIT=$(( WAIT + 1 )); done if [[ "$WAITSTATUS" -ne 0 ]] then STATUS=11 break fi #output and check the results cat "/tmp/hacmp_commlink_log.start_$LINK" if [[ -s "/tmp/hacmp_commlink_err.start_$LINK" ]] then cl_RMupdate resource_error $LINK $PROGNAME STATUS=11 break fi #junk the old log file and error file rm -f "/tmp/hacmp_commlink_log.start_$LINK" rm -f "/tmp/hacmp_commlink_err.start_$LINK" # now get the application service APPL="" case "$LINKTYPE" in "snax25") APPL=$(cllscommlinks -C -t snax25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { \ print \$11 }") ;; "x25") APPL=$(cllscommlinks -C -t x25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { \ print \$8 }") ;; esac #start the application if [ -n "$APPL" ] then cl_SNAapp -start $APPL "X25" if [ $? -ne 0 ] then cl_log 4166 \ "Error processing script ${APPL}." $APPL cl_RMupdate resource_error $LINK $PROGNAME STATUS=11 break fi fi fi #reconfigure the SNA dlc if necessary if [[ "$LINKTYPE" = "snax25" ]] then X25PORT=$(cllscommlinks -C -t All | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" \ { print \$4 }") X25DRIVER=$(lsx25 | awk "\$3 == \"${X25PORT}\" { print \$2 }") cl_acquire_sna_dlc $X25DRIVER $LINK if [ $? -ne 0 ] then cl_RMupdate resource_error $LINK $PROGNAME STATUS=11 break fi fi #now handle the SNA portion if expr "$LINKTYPE" : 'sna*' then cl_start_snalink $LINK if [ $? -ne 0 ] then cl_RMupdate resource_error $LINK $PROGNAME STATUS=11 break fi fi #if we get all the way down here #then the link has been acquired successfully done ALLNOERRLINKS="All_nonerror_commlinks" cl_RMupdate resource_up $ALLNOERRLINKS $PROGNAME exit $STATUS x [[ k4W$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_start_snalinksgh#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_start_snalink.sh 1.15 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)42 1.15 src/43haes/usr/sbin/cluster/events/utils/cl_start_snalink.sh, hacmp.hawan, 61haes_r714 6/25/04 15:25:10 ############################################################################### # # Name: cl_start_snalink # # This script is used to start Communications Server resources. # It is called n number of times with a Link Name as a variable. # Each Link Name is a highly available resource andi points to # an entry in the ODM object, HACMPsna, from which optional # SNA resources will be identified for startup. # # Arguments: LINKNAME - an SNA DLC # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # # Called by: swap_adapter, node_up_local, node_down_remote # Calls to: snaversion # # Environment: VERBOSE_LOGGING ############################################################################### ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.15' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" $0 "$*" set -u if [ $# -ne 1 ] ; then cl_echo 4163 "Usage: $PROGNAME Link Name" $PROGNAME exit 2 fi LINKNAME=$1 STATUS=0 #Determine SNA version ISSNA5=$(snaversion) if [ $ISSNA5 -eq 2 ] ; then cl_echo 4151 "Communications Server not installed or unsupported version." exit 1 fi #get link information LINKTYPE=$(cllscommlinks -C -t All | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { print \$2 }") if [[ "${LINKTYPE}" = "snalan" ]] then eval $(cllscommlinks -C -t snalan | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { \ printf(\"DLCNAME='%s' PORTS='%s' LINKS='%s' APPL='%s'\", \ \$3, \$4, \$5, \$6) }" ) elif [[ "${LINKTYPE}" = "snax25" ]] then eval $(cllscommlinks -C -t snax25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { \ printf(\"DLCNAME='%s' PORTS='%s' LINKS='%s' APPL='%s'\", \ \$8, \$9, \$10, \$11) }" ) else # not SNA, nothing to start exit 0 fi if (( $ISSNA5 )) then #SNA will not have to be stopped for version 5 #but it should be running, issue the command to start sna snaadmin query_node if (($? != 0)) then sna start if (($? != 0)) then cl_log 4152 "Unable to start Communications Server." exit 1 fi fi #The SNA resources that are started for version5 are #the DLCs, ports, link stations, and services. There #is a hierarchy of resources. If a resource is already active, #snadmin will return zero (success). #start the DLC snaadmin start_dlc, dlc_name=$DLCNAME if (($? != 0)) then cl_log 4165 "Unable to start DLC $DLCNAME ." $DLCNAME STATUS=1 fi #test for ports. if [[ -n $PORTS ]] then for port in $PORTS do snaadmin start_port, port_name=$port if (($? != 0)) then cl_log 4164 "Unable to start port $port ." $port STATUS=1 fi done fi #test for link stations. if [[ -n $LINKS ]] then for lstat in $LINKS do snaadmin start_ls, ls_name=$lstat if (($? != 0)) then cl_log 4158 "Unable to start link station $lstat." $lstat STATUS=1 fi done fi else #verion 4.2 processing is a little less complex. #start all highly available resources associated with $LINKNAME #see if sna is running, if not then start it sna -d global if (($? != 0)) then sna -start sna if (($? != 0)) then cl_log 4152 "Unable to start Communications Server." exit 1 fi fi if [[ -n $LINKS ]] then for lstat in $LINKS do sna -s l -p $lstat if (($? != 0)) then cl_log 4158 "Unable to start link station $lstat." $lstat STATUS=1 fi done fi #start resources that may have been stopped due to a #configuration change. if [[ -f /tmp/sna.link_station ]] then for l_s in $(cat /tmp/sna.link_station) do sna -s l -p $l_s if (($? != 0)) then cl_log 4158 "Unable to start link station $l_s." $l_s STATUS=1 fi done rm /tmp/sna.link_station fi #now start the saved sessions if [[ -f /tmp/sna.session ]] then LINES=$(wc -l /tmp/sna.session | cut -c6-7) count=1 while ((count <= LINES)) do #Work out which sessions may be currently active #since starting a link station may also activate #a session $(sna -d s | cut -c26-50 |sed /"^ *"/,/-/d | \ sort > /tmp/sna.session.current) $(diff /tmp/sna.session /tmp/sna.session.current | \ grep "<" > /tmp/sna.session.diff) if [[ -s /tmp/sna.session.diff ]] then #Open reading stream exec 9< /tmp/sna.session.diff read -u9 line PARTNERLU=$(echo $line | cut -f2 -d" ") MODE=$(echo $line | cut -f3 -d" ") sna -s s -pn $PARTNERLU -m $MODE #Close reading stream exec 9<&- rm /tmp/sna.session.current rm /tmp/sna.session.diff fi ((count = count +1)) done rm /tmp/sna.session fi fi #Start the application layer if one is supposed to be started if [[ -n $APPL ]] then cl_SNAapp -start $APPL "SNA" if (($? != 0)) then cl_log 4166 "Error processing script $APPL ." $APPL STATUS=1 fi fi exit $STATUS ${ k$Y$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_start_x25_linkgh#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_start_x25_link.sh 1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)84 1.6 src/43haes/usr/sbin/cluster/events/utils/cl_start_x25_link.sh, hacmp.hawan, 61haes_r714 7/14/04 13:47:55 ## ## Script: cl_start_x25_link ## ## Syntax: ## cl_start_x25_link ## ## Called-by: clcommlinkd ## ## Parameters: type = HACMP communications link type ## driver = the AIX system name for the driver to use ## examples: hdlc0, hdlc1, twd0, twd1, etc. ## driver_port = the port number for a twd driver ## port = the AIX system name for the SX25 port ## examples: sx25a0, sx25a1, etc. ## local_nua = the local nua designation for the link ## network_id = the network id the link is connected to ## country_code = the country code for the network ## ## Return: 0 on success, 1 on failure, 2 on usage error ## PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.6' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" TYPE=$1 DRIVER=$2 PORT=$3 NUA=$4 DRIVER_PORT=$5 NETID=$6 CCODE=$7 set -u # are all required parameters present? if [[ -z "$TYPE" || -z "$DRIVER" || -z "$PORT" || -z "$NUA" ]] then echo "$PROGNAME: usage" echo " cl_start_x25_link \\" echo " [driver port] [network_id] [country_code]" exit 2 fi # is the type correct? if [[ "$TYPE" != *x25 ]] then echo "$PROGNAME: invalid link type: $TYPE" exit 2 fi # is a PORT specified for the twd driver? if [[ "$DRIVER" = twd* ]] then if [[ -n "$DRIVER_PORT" ]] then ADD_ON_PORT="-p $DRIVER -w $DRIVER_PORT" else cl_echo 7702 "A port must be specified for driver $DRIVER." "$DRIVER" exit 1 fi else ADD_ON_PORT="-a nddname=$DRIVER" fi # double check to make sure the driver is available DRIVER_STATE=`lsdev -C -l $DRIVER | awk '{ print $2 }'` if [[ -z $DRIVER_STATE ]] then # does this one need an NLS message? cl_echo 7703 "Driver $DRIVER is not defined." "$DRIVER" exit 1 elif [[ "$DRIVER_STATE" = "Defined" ]] then # assume the setting are OK and make driver available mkdev -l $DRIVER if [ $? -ne 0 ] then # does this one need an NLS message? cl_echo 7704 "Driver $DRIVER is not available." "$DRIVER" exit 1 fi fi #if the port with such a name has already been defined, clean up rmdev -l $PORT -d # create the port mksx25 -c port -s star \ -l $PORT "$ADD_ON_PORT" -a local_nua=$NUA \ -a network_id=${NETID:-5} ${CCODE:+ -a country_prefix=\'$CCODE\'} if [ $? -ne 0 ]; then # does this one need an NLS message? cl_echo 7705 "Failed creating $PORT on $DRIVER." "$PORT" "$DRIVER" exit 1 fi # set up the COMIO driver, if required if expr "$TYPE" : '.*sna.*' > /dev/null then mkdev -c port -s stx25c -t ciox25 -w 0 -p "$PORT" if [ $? -ne 0 ] then # does this one need an NLS message? cl_echo 7706 "Failed starting COMIO service for $PORT" "$PORT" exit 1 fi fi exit 0 t kZ$+sb՝ab&s./usr/es/sbin/cluster/events/utils/cl_stop_commlinksgh#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_stop_commlinks.sh 1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)34 1.9 src/43haes/usr/sbin/cluster/events/utils/cl_stop_commlinks.sh, hacmp.hawan, 61haes_r714 2/28/03 16:04:41 ## ## Script: cl_start_comm_links ## ## Syntax: ## cl_stop_comm_links commlink1 commlink2 commlink3 ... ## ## Called-by: node_down_local node_up_remote ## ## Parameters: commlinks = list of highly available communications links ## ## Return: 0 on success, 1 on failure, 2 on usage error ## PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.9' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" COMMUNICATION_LINKS=$* set -u STATUS=0 # are we really trying to stop any links? if [[ -z "$COMMUNICATION_LINKS" ]] then echo "$PROGNAME: usage" echo " cl_start_commlinks commlink1 commlink2 commlink3 ..." exit 2 fi ALLCOMMLINKS="All_commlinks" cl_RMupdate resource_releasing $ALLCOMMLINKS $PROGNAME for LINK in $COMMUNICATION_LINKS do LINKTYPE=$(cllscommlinks -C -t All | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { print \$2 }") #first handle the SNA portion if expr "$LINKTYPE" : 'sna*' then cl_stop_snalink $LINK if [ $? -ne 0 ] then cl_RMupdate resource_error $LINK $PROGNAME STATUS=1 continue fi fi # next stop the X25 layer if expr "$LINKTYPE" : '.*x25' then # stop the application service APPL="" case "$LINKTYPE" in "snax25") APPL=$(cllscommlinks -C -t snax25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { \ print \$11 }") ;; "x25") APPL=$(cllscommlinks -C -t x25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINK}\" { \ print \$8 }" ) ;; esac #stop the X25 application layer if [ -n "$APPL" ] then cl_SNAapp -stop $APPL "X25" if [[ $? -ne 0 ]] then cl_log 4166 \ "Error processing script ${APPL}." $APPL cl_RMupdate resource_error $LINK $PROGNAME STATUS=1 continue fi fi #make sure the commlink monitor is running if [ ! -f "/usr/$HA_DIR/sbin/cluster/etc/comm_link.lck" ] then #if it's not running, then nothing else to do continue fi #tell the commlink monitor to start this group's commlinks clcompcommlinks release $LINK #wait 1 minute for release to be completed MAXWAIT=18 WAIT=0 WAITSTATUS=0 while [[ -f "/usr/$HA_DIR/sbin/cluster/etc/commlink_del.$LINK" ]] do sleep 10 if [[ $MAXWAIT -le $WAIT ]] then cl_log 7701 "Time out waiting for $LINK" $LINK cl_RMupdate resource_error $LINK $PROGNAME WAITSTATUS=1 break fi WAIT=$(( WAIT + 1 )); done if [[ "$WAITSTATUS" -ne 0 ]] then STATUS=1 continue fi #output and check the results cat "/tmp/hacmp_commlink_log.stop_$LINK" if [[ -s "/tmp/hacmp_commlink_err.stop_$LINK" ]] then cl_RMupdate resource_error $LINK $PROGNAME STATUS=1 continue fi #junk the old log file and error file rm -f "/tmp/hacmp_commlink_log.start_$LINK" rm -f "/tmp/hacmp_commlink_err.start_$LINK" fi #if we get all the way down here #then the link has been released successfully done ALLNOERRLINKS="All_nonerror_commlinks" cl_RMupdate resource_down $ALLNOERRLINKS $PROGNAME exit $STATUS : ## k꺾]$+*b՝ab&*./usr/es/sbin/cluster/events/utils/cl_stop_snalinksgh#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_stop_snalink.sh 1.15 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)43 1.15 src/43haes/usr/sbin/cluster/events/utils/cl_stop_snalink.sh, hacmp.hawan, 61haes_r714 3/20/03 05:38:55 ############################################################################### # # Name: cl_stop_snalink # # This script is used to stop Communications Server resources. # It is called n number of times with a Link Name as a variable. # Each Link Name is a highly available resource and points to # an entry in the ODM object, HACMPsna, from which optional # SNA resources will be identified to stop. # # Arguments: LINKNAME - an SNA DLC # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # # Called by: node_up_remote, node_down_local # Calls to: snaversion # # Environment: VERBOSE_LOGGING ############################################################################### ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.15' HA_DIR="$(cl_get_path)" echo "Starting execution of $0 with parameters $*" $0 "$*" set -u if [ $# -ne 1 ] ; then cl_echo 4163 "Usage: $PROGNAME Link Name" $PROGNAME exit 2 fi LINKNAME=$1 STATUS=0 #Determine SNA version ISSNA5=$(snaversion) if [ $ISSNA5 -eq 2 ] ; then cl_echo 4151 "Communications Server not installed or unsupported version." exit 1 fi #get link information LINKTYPE=$(cllscommlinks -C -t All | awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { print \$2 }") if [[ "${LINKTYPE}" = "snalan" ]] then eval $(cllscommlinks -C -t snalan | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { \ printf(\"DLCNAME='%s' LINKS='%s' APPL='%s'\", \ \$3, \$5, \$6) }" ) elif [[ "${LINKTYPE}" = "snax25" ]] then eval $(cllscommlinks -C -t snax25 | \ awk "BEGIN { FS=\":\" } \$1 == \"${LINKNAME}\" { \ printf(\"DLCNAME='%s' LINKS='%s' APPL='%s'\", \ \$8, \$10, \$11) }" ) else #not an sna link, nothing to do exit 0 fi if [[ "$STATUS" = 0 ]] then if (( $ISSNA5 )) then #If SNA is stopped then exit now # snaadmin query_node if (($? != 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi #check for uptime == 0, implies SNA not active on node. # UPTIME=$(snaadmin query_node | grep up_time | cut -f2 -d"=") if(( $UPTIME == 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi #Stop the application layer if one is supposed to be stoped if [[ -n $APPL ]] then cl_SNAapp -stop $APPL "SNA" if (($? != 0)) then cl_log 4166 "Error processing script $APPL ." $APPL STATUS=1 fi fi #Stop the SNA DLC's using the given SNA LINKNAME snaadmin stop_dlc, dlc_name=$DLCNAME if (($? != 0)) then snaadmin stop_dlc, dlc_name=$DLCNAME, \ stop_type = IMMEDIATE_STOP if (($? != 0)) then cl_log 4161 "Unable to stop DLC $DLCNAME." $DLCNAME STATUS=1 fi fi else #see if sna is running, if not then exit sna -d global if (($? != 0)) then cl_echo 4160 "Communications Server is not active." exit 0 fi if [[ -n $LINKS ]] then for lstat in $LINKS do sna -stop l -p $l_s if (($? != 0)) then sna -stop l -t f -p $l_s if (($? != 0)) then cl_log 4162 "Unable to stop link station $lstat ." $lstat STATUS=1 fi fi done fi fi fi exit $STATUS is an  k|^$+ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_stop_x25_linkgh#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_stop_x25_link.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2002 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)85 1.4 src/43haes/usr/sbin/cluster/events/utils/cl_stop_x25_link.sh, hacmp.hawan, 61haes_r714 2/22/02 12:53:36 ## ## Script: cl_stop_x25_link ## ## Syntax: ## cl_stop_x25_link ## ## Called-by: clcommlinkd ## ## Parameters: port = the AIX system name for the SX25 port ## examples: sx25a0, sx25a1, etc. ## ## Return: 0 on success, 1 on failure, 2 on usage error ## PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.4' PORT=$1 # are all required parameters present? if [[ -z "$PORT" ]] then echo "$PROGNAME: usage" echo " cl_stop_x25_link " exit 2 fi # check to see if the link is actually defined LINK_STATE=`LC_ALL=C x25status 2> /dev/null | awk " BEGIN { cur_state = \"BEGIN\" } { if(cur_state == \"BEGIN\" && \\\$1 == \"PORT\" && \\\$2 == \"PACKET\" && \\\$3 == \"STATE\" ) cur_state = \"PRINT\" else if(cur_state == \"PRINT\") if(NF > 0) { if(\\\$1 ~ /$PORT/) print \\\$2 } else cur_state = \"DONE\" }"` if [[ -z "${LINK_STATE}" ]] then # the link isn't even defined, so nothing to stop exit 0 fi # stop COMIO if it's running COMIO=`lsx25 | awk "\\\$3 == \"$PORT\" { print \\\$4 }"` if [[ "$COMIO" = x25s* ]] then rmdev -l $COMIO -d if [ $? -ne 0 ] then cl_echo 7707 "Failure removing COMIO port $COMIO." "$COMIO" exit 1 fi fi # finally, remove the x25 port rmsx25 -l "$PORT" -d if [ $? -ne 0 ] then cl_echo 7708 "Failure removing port $PORT." "$PORT" exit 1 fi exit 0  k5a$+@&'b՝ab&&'./usr/es/sbin/cluster/events/utils/cl_swap_ATMLE_HW_addressdre@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_swap_ATMLE_HW_address.sh 1.11 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 1998,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)84 1.11 src/43haes/usr/sbin/cluster/events/utils/cl_swap_ATMLE_HW_address.sh, hacmp.events, 61haes_r714 3/26/07 17:51:47 ############################################################################### # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: mkdevname # ntx_hw_addr_conv # ntx_get_macaddr # remove_device # hex12_to_dotted # ############################################################################### ############################################################################### # # Name: cl_swap_ATMLE_HW_address # # This script is used during adapter swap and IP address takeover. # It looks to see if a hardware address is specified for the address # passed in as the first argument. If there is, it assigns the hardware # address specifed to the new adapter. # # Arguments: ADDRESS - IP Address # INTERFACE - ATM LAN Emulation Interface name # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # # Environment: VERBOSE_LOGGING,PATH ############################################################################### ############################################################################### # # Name: mkdevname # # Make a device name from an interface name. That is, translate # en0 to ent0, tr0 to tok0, etc. # # Arguments: Interface Name # # Returns: 0 success # 1 failure ############################################################################### mkdevname () { typeset PS4_FUNC="mkdevname" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x TYPE=$(expr "$1" : "^\([a-z]*\)[0-9]*") NUM=$(expr "$1" : "^[a-z]*\([0-9]*\)") if [ -z "$NUM" ] then cl_log 530 "$PROGNAME: Invalid interface name." $PROGNAME return 1 fi case "$TYPE" in "en"|"et") # Ethernet NAME="ent$NUM" ;; "tr") # token ring NAME="tok$NUM" ;; "fi") # FDDI NAME="fddi$NUM" ;; "fc") # FCS NAME="fcs$NUM" ;; "*") # ooppss cl_log 531 "$PROGNAME: Unsupported interface type." $PROGNAME return 1 ;; esac echo $NAME return 0 } ############################################################################### # # Name: ntx_hw_addr_conv # # convert an ethernet address from the 0xNNNNNNNNNNNN form to the # NN:NN:NN:NN:NN:NN form for the ntx_macaddr utility. # # Arguments: None # # Stdin is the 0xNNNNNNNNNNNN format ether address # Stdout is the NN:NN:NN:NN:NN:NN format ether address # # Returns: 0 success # 1 failure ############################################################################### ntx_hw_addr_conv () { typeset PS4_FUNC="ntx_hw_addr_conv" awk '{ [[ "$VERBOSE_LOGGING" = "high" ]] && set -x l=$0 c=":" if (length(l) != 14) { exit 1 } printf("%s:%s:%s:%s:%s:%s\n", substr(l, 3, 2), substr(l, 5, 2), substr(l, 7, 2), substr(l, 9, 2), substr(l, 11, 2), substr(l, 13, 2)); }' } ############################################################################### # Name: ntx_get_macaddr # # Gets the burned-in HW address for NETXL adapters # # Arguments: None # # Stdout is the NN:NN:NN:NN:NN:NN format ether address # # Returns: 0 success # 1 failure ############################################################################### ntx_get_macaddr () { typeset PS4_FUNC="ntx_get_macaddr" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x RAWADDR=$(lscfg -v -l $PARENT | grep "Network Address" | sed 's/\./ /g' | awk '{print $3}') # Must exit here or will get duplicate hardware addresses if [ -z "$RAWADDR" ] ; then cl_log 537 "$PROGNAME: Unable to find hardware address for $PARENT. " $PROGNAME $PARENT exit 1 fi GETADDR=$(echo 0x$RAWADDR | ntx_hw_addr_conv) echo $GETADDR } ############################################################################### # Name: remove_device # # Removes a device prior to swapping the HW address. Since the # device may be open momentarily by another process, retries # several times. # # Arguments: Device Name # # Returns: 0 success # 1 failure ############################################################################### remove_device () { typeset PS4_FUNC="remove_device" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x COUNT=5 while [ $COUNT -gt 0 ] do rmdev -l $1 if [ $? -eq 0 ] ; then return 0 fi sleep 5 COUNT=$(expr $COUNT - 1) ifconfig $INTERFACE detach ; sleep $DELAY done return 1 } ############################################################################### # Name: hex12_to_dotted # # Convert a 12-character HEX value to a dotted HEX value. # # Arguments: A HEX string of the form, 0xabcdefghijkl # # Stdout: A dotted HEX string of the form, ab.cd.ef.gh.ij.kl # # Returns: None ############################################################################### hex12_to_dotted () { typeset PS4_FUNC="hex12_to_dotted" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x if [[ -z "$1" ]]; then return fi echo $1 | awk '{ if (length($0) != 14) exit if (substr($0,1,2) == "0x" || substr($0,1,2) == "0X") { dotted = substr($0,3,2) "." \ substr($0,5,2) "." \ substr($0,7,2) "." \ substr($0,9,2) "." \ substr($0,11,2) "." \ substr($0,13,2) print dotted exit } }' } ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.11' HA_DIR="$(cl_get_path)" UNDO="/usr/${HA_DIR}/sbin/cluster/.hwundo" DELAY=1 STATUS=0 cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" date set -u if [ $# -ne 2 ] ; then cl_echo 532 "Usage: $PROGNAME address interface" $PROGNAME exit 2 fi ADDRESS=$1 INTERFACE=$2 # Delete shell scripts to be dynamically recreated in order to restore # the adapter to the MAC address. Not required for NETXL adapters, since # they revert to the MAC addr on reboot # $UNDO for everything else if [ -f $UNDO ] ; then rm -f $UNDO fi # # this will come back with the correct "rhp" device for a NetXL board # which we can then use with the ntx_* commands. # DEVICE=$(mkdevname $INTERFACE) if [ -z $DEVICE ] ; then cl_log 533 "$PROGNAME: Unable to make device name for interface $INTERFACE." $PROGNAME $INTERFACE exit 1 fi PARENT=$(odmget -q "name = $DEVICE" CuDv | awk '/parent/ {gsub("\"", "",$3); print($3) }') HARDWARE=$(cllsif -Sc | awk -v ADDRESS=$ADDRESS -v FS=":" '$7==ADDRESS {print $8 ; exit}') if [ -z "$HARDWARE" ] ; then # HARDWARE will be null if no alternate address configured for the # current interface. (e.g. it's a boot or standby address) # Was an alternate hardware address currently ifconfig'ed? # (e.g. had the service addr previously been configured on # this interface, along with its alternate HW address) # ADDRESS=$(ifconfig $INTERFACE | awk 'FNR==2 {print $2}') HARDWARE=$(cllsif -Sc | awk -v ADDRESS=$ADDRESS -v FS=":" '$7==ADDRESS {print $8 ; exit}') if [ -n "$HARDWARE" ] ; then # Remove the device and remake the device. ifconfig $INTERFACE detach ; sleep $DELAY remove_device $DEVICE if [ $? -ne 0 ] ; then sleep $DELAY rmdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 534 "$PROGNAME: Failed rmdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi mkdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 536 "$PROGNAME: Failed mkdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi else # Alternate HW address defined for interface - i.e. going # to a service interface # Remove the device, change the attributes, and remake # the device. # Save original attributes first, so can later restore the ODM # Only necessary (and possible) for non-NetXL adapters LOCAL_LAN_ADDR=$(lsattr -EOl $DEVICE -a local_lan_addrs | grep -v local_lan_addrs) ifconfig $INTERFACE detach ; sleep $DELAY remove_device $DEVICE if [ $? -ne 0 ] then sleep $DELAY rmdev -l $DEVICE if [ $? -ne 0 ] then cl_log 534 "$PROGNAME: Failed rmdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi # # Remember: device is now gone. Try to ensure that we exit # with the device configured. # # Create script to return non-NetXL adapter to return the # ODM to its original state cat << EOF > $UNDO #!/bin/ksh PATH=$PATH chdev -l $DEVICE -a local_lan_addrs=$LOCAL_LAN_ADDR -P rm -f $UNDO exit 0 EOF if (($? != 0)) then echo "$PROGNAME: Failed creating temporary file $UNDO." STATUS=1 fi chdev -l $DEVICE -a local_lan_addrs=$(hex12_to_dotted $HARDWARE) if [ $? -ne 0 ] ; then cl_log 535 "$PROGNAME: Failed chdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi # Need to make the device independent of adpater type mkdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 536 "$PROGNAME: Failed mkdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi # Run the undo scripts. If they exist, they were deleted and recreated during # this iteration of cl_swap_ATMLE_HW_address if [ -f $UNDO ] ; then chmod +x $UNDO $UNDO STATUS=$? fi cl_echo 32 "Completed execution of $0 with parameters $*. Exit status = $?" $0 "$*" $STATUS date exit $STATUS  lb$+@DSb՝ab&y5./usr/es/sbin/cluster/events/utils/cl_swap_ATM_HW_addresssdre@@   #e _ainrst $AEIMTcdfhlo"-=CDFLNOPRS[]gmpuv()./1:;GHUVw}&'*02BWbky{|+,345>?\x67Y!89`4Ԛ0 .)0c Ś9J,ʴ 9X@Ś} m誣A@3B XhXh+;k-|+sMw:ldjg}[gk![`3ldjg}e)TUʷ9BnPkR2S)ss6@ A -55+tHlFUTVqZ+,֘fsڊЬ[ny/,t9;ӺVqZdr#b3kjYjH՜-L9 ;j`48`h  q5 $%^I IQ%S"Yl@HS&HvlTzv+[mldUB)={;mm*E'gAQammb2]誡V;mFKTGUmmgm誡V;mӳMRzv+]2͈-t=mmҭފInlAkmm;[T"׳Zyts(ʷ6 s(i> ;UQitiR˜dgAxPR$LMX0NktŒYfa5!;]y)LZ7PMqHN^wJhe7=VoAut7 Rі3+3' \h E)H60␝.oUՄt"UѕnlAkfѦ_FZL*砼 )`#fxy7kL*i}ʯa\t vmmm[Z dUSZ(78ʹTm`mm[ml>kL*i}[>r^(`)mmmmh5UL>kĠj0@*qP8SmmݶmtvmXhZZǤ&Y8 EU q1"JEU q1"JaAN{|2Y@Y8}.b9222Ұ$aSmm@vLc7V+nFVZ?8<2@4?e\ @NqŌ\@! @ ` XVnNml)ydѓmmmm<$%T" YɃ P5yǞy燇mm<\0gmmm EUxG&$IQ(ĉ+<mm誡(]UPOLgxbD05@ո<yH,y6 tA2 @F ^ΆHM`;W * q1rd6 ܜyŌ\,J5HB&1{:#4fP5x q`8-!`3uj2feaըmmnqr*l* s>,bp\ rvmB&@pI];m@ qxHJ*92Lg& $ĉ*5TG@ǓxbD qz*92Lg& $]UPreLI㉉T"V<y`(y焄(xG&$IQ=2$Q㉉Wx4()mlz*92Lg.*92LgxbD05@ո<<=Ǟ} 9Ǟ|Mm+LEP8X#(pUœyŌ\,Mm`~7'yc/K MR,am@F ^ΆHMcY;mBQUAɔx*xTG$ĉ*5TGgDrOLHhPSm=TGg@2͈-t._ @M"eyb l" Ժ[}.oIlsd=!2]˶dUPO^΂A{:][ 8W9wĠjôgm誠>2͈-twwصCn7=^sіEU&Q(Y w} 3Z2͈-tіEU&Q,"_"G@Ǔ wwW*;m7+wwŪg*bM[ʁm&nf;oEU&QnlAk pAmPy,P5xd5+ Ym}.a;mټUw(;4z*E'Uc3׍Z nt2Ȫ"}`: 5*؂MdUPOLgВT" YɃ fd᫕h\Rnz,>P5z2UB)=2$P vݶl+1X|jjV`.eەlsaі@ I, mmm2E a[ 2][ 8m7w wĠjôgm誡Gws٦ކj4dg6EU1Ik4qV-/gb-l7Zj$i",#^wJ]4'z;kC17+ds5 Źe, rjfd᫕hFȪ"-f5 ŹeV(;g*lqaiXmb(hP[^kҁmm /mh5K(םҗ@w|VrrvؓrӳMRzv+]0HSj.`.viUPO^kmrZi,ȓL7 f&Y`6 uzM.=痳 ^UPOb=vݶl)yW'mmʠ#F jrXW |jG@P[Z b(";"P83 2@`mm[z#ǕL*i}[>r tE",#+;0@*qP8Vvm 8Y ^ADG=ʋ@EU 2D 6vފ={; |jݶm1|J'ܝmj@zDQmi^d [m,b' N1Y;mmffpZ $bVnYV/ P1HA{:@ջmmز$XhkmوmوmnVu8U%Vts(ʷ6 aFoUԬ+y4kFU2Ȫ=2$SU,anf3zޥa[ͱZ2͈-tіEU&Q,[b֯U´gŵ A,LQT FfNVbMjʞI[+u99P;bMNVoEU&QnlAk pAmPy,P5xd5+ ӆݶ˷+sنW,ATG@Ǔ.0*]m,w k!(2ljIlr;m^45´gŵݶ v 3/r nyTGg@1^EU&Q(Y"-"%Љm}.a8Uw(;[T"*؂Gw}3 VoRiVh"Rzd P5z2UB)=2$P em2E a[plrsنW,AT" YɃ gme^d"WCR]Il]^9m^f38-x-KQx|pƫEUU,I㉉W0]ml@0Рm,مh/uUPOERLt"c I(Y"-"%Љm}.a8U%VtsRzv+]RFȪ"-f5 ŹeVhZ5 wwW*;lI[NFWV9ұTQ%ơX,ץWG}m_4kDQ ;.n@&ntsRzv+]0HSj.`.wJ;z*E'gb[ع|-4ɖII&H@^, `0Rn>\0㝶BUPO$@;mQzwuƠqٵ<|^cP msFn` X ^D qiڄם)Ǟ~axv 43 2@* ql+1u!mh4'uAςrw k |jݶmc8dqmm43ph*L@*$B-Z9{;A{:@Յ*L@*%^ξP5n?m[=fWcYWC4iBO΃PmsO5מQml\zxS\!bՄL#sw* &Y'& !xnL/`6 P1HA 8*J+r"Aaaaa+Xin7 AB"ǦThVin7 -$<Ôb^=2A4r(rKb*2D 9I E**@ldG)[`["&r*E'A LhaL1/QPc Ś9JSM[&r*92L$@Ôb^=2A4r¦ŇL6UPO$@Ôb^=2A4r¦g_0ۑ*Q LhaL1/QPc Ś9J3om"ʢa,f[( 'Xΰ.9X,NY8 p\EAd$$$ / ىE0 uRs/dfY̷`bT*L@*%Ze[Z^wJh.{l>2͈-b $;m p)E^8zBiHjL 䆠 r#ǕHaL2͈-tHM19wR|e[Znf+cU^sѦ5Rv+^nzv+X[bE([\ћ\jƠ=!4$/8<3xΑW \ 0 ዁AcE\,Hfֈ`~7'm' DDx$ .Żm$HHg)oU|^bmRݶ)RݶȑUUQ!jAdW^bݶEz$Uy$THhkVUR ssm]oQiEuxyp|j+Ave=Vnv/u귪P-Ι1!8X\J"U!TaeG@PȏU"ņR,[ ;,8^Dx-W X?Xœ豋0Q*<T?UJ"U,)8Z,i7nroAutY1''k6cʺ2͈-ax&̅M mXIph?AutSd)-s+yMqHN^wJeNw*afLp%mM }VoRv+^g(?nnLD;m1sb X r3#VtkMs+xDP)mݶ( DCP Y0`; ; G*bPL2͈-tvmnvUPreVm-m]pBխV4`kmA55Kvmkحi#m55Kv1[Tmȵ[[ םҙ{b2 FU e˶귡s;FUVcLٻ+LVMPmζ#(gZ̷յ0&'yםҙfLnyTѕnlAk"?KY8QZz+9[]7\.. `7m{k:@8x):ι3(HwNA95ґI‰(R7)l<4@4<<4@6׶sӸJ;ܼHj1r MD@0il'q c2|.Rυb&p@mh.-9hܮ#+1q|2ѹN/Nv-9cp|ɥޛ!&f789ڙqLeSZe{X|ȃ1"h7m{k" H$ HzEX ?<4@4<<4@>QL8u9D:EfSXrfo^AɮHHDH6K5A1pY$ 0( @Pxڪm6&(P"$IB@"A[MāK&H+2.aE,b3mtI1&&K4,(jWk\tMJ1qHDR-UQ -._j%) mlNҋ n|z^a)MfMUvdHI44 MM$6 JFi$ $DNQHܤmye.I槾[25c@jwFktȔܢK큋kk-zL9|ZoUN⫓s5MܢIIHHDK|'qU\.f]!vׅ<6JFi$ $DNQHܥ`<4<4<4?@$ @m6b jo3{R7)o5sZ{ޯ5oo̟rt]}F!mzy$=vyRǢ@\&8"I "Sa`_5 c8򥁀-$DR776c  okUSŅa^k^Y{| lby$&!@xRD8,, ׾|gAf.\St.3 fYtNlfSt.3E#r9{;Npl2llytً;rF-V#k Urv̸ͬg/zU[|t9{8bp:RYvg7Cb 1gzΜ ˚.St.2ܢKf \y|#Nr\o| /6l7_9l30Vb 1k_+ӽSMˮtG "HyCt䓔qq*U IsI"rΜr5;5KZDI $E]gNZ\1>k>ֽ)q\e1G|rqFn,m_5MQ:wE#r*Ǣ$S+ j=6gPD05WXHH MPذ/ 9+ =GN(nR fڜolF9y6ycgn.ŷaCȢ$NO<b dѦ#;S|'qU1VzLdՀC"LL3ުS5m͘okkJ$LX<Xkq\cUA$$Ooָ7Xk%"HH{[=;xZnzH!"xOq|fF1B8jXӼP.k 5B@TIB,$x$fF 3# 01h T68ުPq81z4Rponl{{[iz0`mUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU6N3`Q'DĶk„1pdrsZ_OUcFpcב)E#r(׮OUcFpceqsZMKM\2a^k_&KmŒjeu0ܺ:9yR7)nֶ.f]!pm6"a7 6 "/E#r|ɭ9Njewr4 ݜpkkNa~H N 8%za᠐G5%sM1\.f؈[j:&%4 oM\yBBB@B#tI1#_ 0R $&v;9gXX[\&Yoޮ+X^鮕x$ : $蘐+#.82da]0ɛ@D5\(BDa'ok8`ccl01a||vx<၍ c9 5g<44 ZڪmdfYRd.{i͘\.f؈iCa])\7AD[3.ki N@8\ͱ})@bs5-7rDnxm.iI HhvkFa W "/E#rj.iIa1W+P<\ғ%s9*+x@ eH$&&&DacalsƄARYhSBx]O (4;0pcBs2 <.Y 'ΐp81Vg $蘖{R9tUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT8͂4,(jWmbR7)n\̺B76ck[kšqЎZGΟ&KmքL2f9%7(nR8\̺Bbs5-7rDkkaDR\p@ CD$4@ CA-֍͘@9qށaMgECnQHܥyzq؇5&Ke.k^DAj.i XQ'DԮ#,1c2jsqHI5+q 8BgcyŅ8merDLkEL-k7AB9wª"EG 9鮼4xO6׾67(S2j\ͱ~42jNqy~ ){$o7y{ٓEsy;zOTX[؄mbsv^rq1VvgJnNŅ8MMf0Y'7eb־N3|.f؈Es;$@D (X[؄mbsv^NnMkS|*+|R P&<$ `p>͵\YtA ޝn|9{;Noo`3Nv泧ArDp{ 5y4R8OsC  Hq1ĉ IB  /<(C0;8PX[؄m8bfaM)9rD2/|j V8bzlwS Z{j4*cb͘F!mfDZ{|\}y`) sf0Il1iJnR m~$yz Urw,.cM&] sc2M5v \yN͸g&.P7,2eRY fVk;sw&ǚޫNSt.3.lk1)Z@m~mg|ּ.St.2ɒam믗)jscͮ30-m7 Wz/kZ0ɛ mx~7 QƧq Urwmo0ٷ Z76c A6j7+ť) J,3;Xf55r 8nWJSt.2Xfw#*+x@ eH$&&&DacalsƄ+5Tq0lq o.rU 157S'YrKbaH\`ip^ MҼ rew=0ƅk1QLl.y-`5W'x׫S]a7rZ]OΞm6#|ֽ]{m6"a7  \XfoUZU6g50񋆁aMW'm&Ú׃n D7MgzyaVwfm'23;ki N@N⫓3m%7(nR)0;S6k UrvЉb)E#r9pkFa SkOa;N4A$&?3l3<۟7ƫ Urw͌(2mUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4۟4lAWJStٖ15r 8۟4lAWJStّͯEsDLȒ;,v,-xГk\񬵿DDq AH" HoEsbx,, "PBIx^"EMXPɋ4 ޥoUǠq0MڪiDI@P˺W06F8|`7@f7܃]#4:kn]pÚ*+x@ eH$&&&DacalsƄ*+x@ eH$&&&Dacal.2{ j " Mt\4sZA$I*89D80CȢHwܦm(MP,BD3(PHy@|]NM'V%"HHej ""rk)C]I> ֦V`8Vn6f!x'6t\fqx;<x9(1 Tr^Vp$X!\`S|@`[._h8kj,'rcUw)% ;^*+1",PHA' L`Pg LPXXk(1 Tt͵WYkJ@` I` 8 @zH DH AI kiɭV#IYӖjw7.i4gPHy1DH9D:EfS370eπa#LFx4R"Rb (ar MRNAҸ\R "HyG3(H'0Zmm&s[2齈jwN'&38`#=J$D6Ye-V"g|X΁O"SrF&^+X 6k\"Q$<=*DIqRo!ǀ@xG78zH XQ(q,*D<,!B"Aoeu9scM* pyQHCɃLjTE"h2c7ذ/\W8@"h8L e`_5 Ɂl7M*]%9$jw"X@x[,'(SƧL=$G=o+hWqҽlAW7([,'(SƘ&ǢIgNI9G<5` sṡ_ņg|򛠡qLa— =7NЯ1}w@grU) olwQ)MPy0p= @zH DH AIx k{{[% D ADžaDR\s=D T7J @) x{By[B$ UUofX˯ņgr0XdD' ] rbဎk>ZqN广8k=5o]}wN6#|bWņgr olNҋ 垉A$I+DIK[au7w\ɿ鮕Qbd X0_.f؈N⫓"[)E#rzǢvyDI@Py,E^ɭ 3G\޺lll;5soۢkbz^c<ɬR6I XQ hE'(nR@ DDy,G7ƫ%"HH[s0Sˠk_+M5DQJ:w1NҸňxy[B$W ob,.>k^̭VWXMC1pv\g8 5ґI‰B)9E#r#V,ݪ jZ;{ kt $D<'ܦ [+ksb9[Ӳ%/k&qB(H!"moEsP,v;:qfŅ|ָ5UZhE]{PjscYQ{QHܥšU|%Zc.NnNk\MV1phUdJnQHܥzt9k_|'qUBV,NJj:n.XnE^k^^ar;NQqM_ Zٌn Urv7y2ZٌnhWo*;7JO1k^^ar;Nk6Ǖ,!$;oָ7Yʖ@` I` z$ &&,@{[Z )rb >S| qaܛ cA$I*V"KLH,M "LX\1 ^x o.r]-&WfK$aDY[Yk]}gN\cn.QƧqܬ9QH\W8 M&XvtX;avǠ"E$AHr`[/ 7k\\u9n.3akL e9\F5YӒNQƧq"%O<8zHzǢk˛26"6K:rI89DW\| ntrwָkm5ٔ9A.86Yͽu1=stolAqk^wˠ_oٛb[qQ\P*"4RDcɺIG8@"h8ѵҳafk띮5Mve;eq5>k_+Ӽ.n.!ۥ׷Jod@xw˚0"SrF&K:rI89D&ǣW,j;tt >9c"SrF+ayqNmq\|YZy yRx{HH@q "$8xxD@q@ xkǐ 8"R 7DH<1Wƀ>x"$O<ax'|ָ75]ǔD$|]{ecN8W'yDNQbd!DH=Q3W=J$D6Zܘf)eq5ɕ&H2iGNܘf)WD?<$ (AOW(1 Wx/Ika'hRoo"$d]ŠXfȉ7⢸@ DD 瀜l//Kc@p8$V|̸^,aV#x{By[B$UUooW. Urw-ѽ6 3S`bk7cNo7[ޮ+x"$g<@`_5 ["b搡`~y BD[mϚOU6 %)lxx{W kAE2L_5a'o,3;s interface address netmask" $PROGNAME cl_echo " or $PROGNAME acquire interface address netmask" $PROGNAME cl_echo " or $PROGNAME swap interface address1 address2 netmask" $PROGNAME } # # check_ifconfig_status - verifies an alias exists on the css interface # # This modification has been made because of change of behavior # of 'ifconfig' on AIX 4.1. If we want to add a route which is # already in the routing table, 'ifconfig' DOES change the # address on the adapter BUT the return code IS 1 (error). The # error is accompanied with a message : # "ifconfig: ioctl (SIOCAIFADDR): Do not specify an existing file." # # Since the adapter does get the new address, we do a 'netstat' on # that adapter and get the current address. If the current address # is the same as the address that we want to put on the adapter, # then everything is fine. Otherwise, we give an error. # check_ifconfig_status() { typeset PS4_FUNC="check_ifconfig_status" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x FOUND=0 NETSTAT_ADDR=$(netstat -in | \ awk '$1 == "'$IF'" && $3 !~ "[Ll]ink" {print $4}') for ADDR_FOUND in $NETSTAT_ADDR do if [ $ADDR_FOUND -eq $ADDR ] then FOUND=1 break fi done if [ $FOUND -ne 1 ] then cl_log 865 "$PROGNAME: Failed ifconfig $IF inet $ADDR netmask $NETMASK alias." $PROGNAME $IF $ADDR $NETMASK cl_RMupdate resource_error $ADDR $PROGNAME if [[ $PROC_RES = false ]]; then exit 1 else exit 11 fi fi } ############################################################################### # # Main entry point # ############################################################################### PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.3.2.22' HA_DIR="$(cl_get_path)" SSP_CSS="/usr/lpp/ssp/css" SSP_BIN="/usr/lpp/ssp/bin" export PATH=${SSP_CSS}:${SSP_BIN}:$PATH DELETE_ROUTES=/usr/${HA_DIR}/sbin/cluster/.delete_routes ADD_ROUTES=/usr/${HA_DIR}/sbin/cluster/.add_routes ROUTE_ADD=0 cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi date case $# in 6) # this takes the form of # type action interface address old_address netmask # where: # type = cascading or rotating # action = acquire or release # address = target address to be configured on the interface # old_address = interface to be removed from the interface, e.g. for # a boot->service, remove the boot # netmask = netmask for the target address(s) CASC_OR_ROT=$1 ACQ_OR_RLSE=$2 IF=$3 ADDR=$4 OLD_ADDR=$5 NETMASK=$6 # Prevent 'no routes to dest' errors by adding default # route to loopback. The packets will get dropped but # TCP will endure route add default 127.0.0.1 >/dev/null 2>&1 ROUTE_ADD=$? # for "rotating" and "cascading release", delete the old address if [ "$CASC_OR_ROT" = "rotating" -o "$ACQ_OR_RLSE" = "release" ] then if [ "$CASC_OR_ROT" = "rotating" ] then # let hats know what we are up to cl_hats_adapter $IF -g $OLD_ADDR cl_hats_adapter $IF -c $OLD_ADDR $ADDR fi clifconfig $IF inet $OLD_ADDR delete if [ $? -ne 0 ] then cl_log 866 "$PROGNAME: Failed ifconfig $IF inet $OLD_ADDR delete." $PROGNAME $IF $OLD_ADDR # remove our default route if [ $ROUTE_ADD -eq 0 ] then route delete default 127.0.0.1 fi cl_RMupdate resource_error $ADDR $PROGNAME if [[ $PROC_RES = false ]]; then exit 1 else exit 11 fi fi fi # if "cascading release" we are all done, else ... if [ "$CASC_OR_ROT" = "rotating" -o "$ACQ_OR_RLSE" = "acquire" ] then # Set the specified interface to specified address cl_echo 60 "$PROGNAME: Configuring network interface $IF at IP address $ADDR" $PROGNAME $IF $ADDR clifconfig $IF inet $ADDR netmask $NETMASK alias up # ifconfig may be sucessful and still return an error, check it out if [ $? -ne 0 ] then check_ifconfig_status $? fi if [ "$CASC_OR_ROT" = "rotating" ] then # let hats know what we are up to cl_hats_adapter $IF -e $ADDR fi fi # flush arp table flush_arp # Delete default route only if we succeed before if [ $ROUTE_ADD -eq 0 ] then route delete default 127.0.0.1 fi ;; 7) # no action for swap adapter ;; *) # else bad arg count usage exit 2 ;; esac cl_echo 32 "Completed execution of $0 with parameters $*. xit status = $?" $0 "$*" $? date exit 0  kg$+@S$b՝ab&S$./usr/es/sbin/cluster/events/utils/cl_swap_HW_addresses@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_swap_HW_address.sh 1.25 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)44 1.25 src/43haes/usr/sbin/cluster/events/utils/cl_swap_HW_address.sh, hacmp.events, 61haes_r714 5/16/08 17:09:36 ############################################################################### # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: mkdevname # ############################################################################### ############################################################################### # # Name: cl_swap_HW_address # # This script is used during adapter swap and IP address takeover. # It looks to see if a hardware address is specified for the address # passed in as the first argument. If there is, it assigns the hardware # address specifed to the new adapter. # # Arguments: ADDRESS - Interface address or IP label # INTERFACE - Interface name (e.g. en0, tr0) # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # # Environment: VERBOSE_LOGGING,PATH ############################################################################### ############################################################################### # # Name: mkdevname # # Make a device name from an interface name. That is, translate # en0 to ent0, tr0 to tok0, etc. # # Arguments: Interface Name # # Returns: 0 success # 1 failure ############################################################################### mkdevname () { typeset PS4_FUNC="mkdevname" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x TYPE=$(expr "$1" : "^\([a-z]*\)[0-9]*") NUM=$(expr "$1" : "^[a-z]*\([0-9]*\)") if [ -z "$NUM" ] then cl_log 530 "$PROGNAME: Invalid interface name." $PROGNAME return 1 fi case "$TYPE" in "en"|"et") # Ethernet NAME="ent$NUM" ;; "tr") # token ring NAME="tok$NUM" ;; "fi") # FDDI NAME="fddi$NUM" ;; "fc") # FCS NAME="fcs$NUM" ;; "*") # ooppss cl_log 531 "$PROGNAME: Unsupported interface type." $PROGNAME return 1 ;; esac echo $NAME return 0 } ############################################################################### # Name: remove_device # # Removes a device prior to swapping the HW address. Since the # device may be open momentarily by another process, retries # several times. # # Arguments: Device Name # # Returns: 0 success # 1 failure ############################################################################### remove_device () { typeset PS4_FUNC="remove_device" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x COUNT=5 TYPE=$(expr "$INTERFACE" : "^\([a-z]*\)[0-9]*") ET_RECONFIG="false" ET_INTERFACE="" ET_ACTIVE="" ET_SETUP="" ET_MTU="" ET_IF="" if [ $TYPE = "en" ] ; then ### Check to see if there is an ET interface for this EN interface ET_EQUIV=$(echo $INTERFACE| tr "n" "t") for ET_IF in $(netstat -in | cut -f1 -d' ' | grep "^et") do if [[ $ET_EQUIV = ${ET_IF%%\*} ]] then ET_INTERFACE=$ET_EQUIV ET_ACTIVE=$ET_IF break; fi done ### If the ET interface is active then ifconfig later will work ### If the ET inertface is not active then the ifconfig later will fail. if [ -n "$ET_INTERFACE" -a "$ET_ACTIVE" = "$ET_INTERFACE" ] ; then ### Save the configuration for the interface for reconfiguration ET_SETUP=$(ifconfig $ET_INTERFACE| sed '1,1 d') ET_MTU=$(netstat -i|grep "^$ET_INTERFACE" | awk '{print $2}' | uniq) ET_RECONFIG="true" fi fi while [ $COUNT -gt 0 ] do if [[ $TYPE = "en" && -n "$ET_INTERFACE" ]] ; then ifconfig $ET_INTERFACE detach ; sleep $DELAY fi rmdev -l $1 if [ $? -eq 0 ] ; then return 0 fi sleep 5 COUNT=$(expr $COUNT - 1) ifconfig $INTERFACE detach ; sleep $DELAY done return 1 } ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=$(basename ${0}) export PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.25' HA_DIR="$(cl_get_path)" UNDO="/usr/${HA_DIR}/sbin/cluster/.hwundo" DELAY=1 STATUS=0 cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" date set -u if [ $# -ne 2 ] ; then cl_echo 532 "Usage: $PROGNAME address interface" $PROGNAME exit 2 fi ADDRESS=$1 INTERFACE=$2 # Delete shell scripts to be dynamically recreated in order to restore # the adapter to the MAC address. # $UNDO for everything else if [ -f $UNDO ] ; then rm -f $UNDO fi DEVICE=$(mkdevname $INTERFACE) if [ -z $DEVICE ] ; then cl_log 533 "$PROGNAME: Unable to make device name for interface $INTERFACE." $PROGNAME $INTERFACE exit 1 fi HARDWARE=$(cllsif -Sc | awk -v ADDRESS=$ADDRESS -v FS=":" '$7==ADDRESS {print $8 ; exit}') if [ -z "$HARDWARE" ] ; then # HARDWARE will be null if no alternate address configured for the # current interface. (e.g. it's a boot or standby address) # Was an alternate hardware address currently ifconfig'ed? # (e.g. had the service addr previously been configured on # this interface, along with its alternate HW address) # ADDRESS=$(ifconfig $INTERFACE | awk 'FNR==2 {print $2}') HARDWARE=$(cllsif -Sc | awk -v ADDRESS=$ADDRESS -v FS=":" '$7==ADDRESS {print $8 ; exit}') if [ -n "$HARDWARE" ] ; then ifconfig $INTERFACE detach ; sleep $DELAY remove_device $DEVICE if [ $? -ne 0 ] ; then sleep $DELAY rmdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 534 "$PROGNAME: Failed rmdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi date mkdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 536 "$PROGNAME: Failed mkdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi date ### If we had a et interface then reconfigure it if [ $ET_RECONFIG = "true" ] ; then ifconfig $ET_INTERFACE $ET_SETUP mtu $ET_MTU up fi fi else # Alternate HW address defined for interface - i.e. going # to a service interface # Remove the device, change the attributes, and remake # the device. # Save original attributes first, so can later restore the ODM # for adapters ALT_ADDR_ATTR=$(lsattr -El $DEVICE | grep ^alt_ | cut -d" " -f1) USE_ALT_ATTR=$(lsattr -El $DEVICE | grep use_alt | cut -d" " -f1) ALT_ADDR=$(lsattr -EOl $DEVICE -a $ALT_ADDR_ATTR | awk 'FNR==2 {print}') USE_ALT=$(lsattr -EOl $DEVICE -a $USE_ALT_ATTR | awk 'FNR==2 {print}') # If this is fddi or token ring, make sure h/w address is no longer # on the ring # TYPE=$(expr "$INTERFACE" : "^\([a-z]*\)[0-9]*") case "$TYPE" in "tr") # token ring cl_rm_tr_adap $INTERFACE $HARDWARE ;; "fi") # fddi cl_rm_fddi_adap $INTERFACE $HARDWARE ;; "*") ;; esac ifconfig $INTERFACE detach ; sleep $DELAY remove_device $DEVICE if [ $? -ne 0 ] then sleep $DELAY rmdev -l $DEVICE if [ $? -ne 0 ] then cl_log 534 "$PROGNAME: Failed rmdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi fi # # Remember: device is now gone. Try to ensure that we exit # with the device configured. # date # Create script to return adapter ODM to its original state cat << EOF > $UNDO #!/bin/ksh PATH=$PATH if [ $USE_ALT = yes ] then chdev -l $DEVICE -a $ALT_ADDR_ATTR=$ALT_ADDR -a $USE_ALT_ATTR=yes -P else chdev -l $DEVICE -a $USE_ALT_ATTR=no -P fi rm -f $UNDO exit 0 EOF if (($? != 0)) then echo "$PROGNAME: Failed creating temporary file $UNDO." STATUS=1 fi chmod +x $UNDO chdev -l $DEVICE -a $ALT_ADDR_ATTR=$HARDWARE -a $USE_ALT_ATTR=yes if [ $? -ne 0 ] ; then cl_log 535 "$PROGNAME: Failed chdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi # Need to make the device independent of adpater type mkdev -l $DEVICE if [ $? -ne 0 ] ; then cl_log 536 "$PROGNAME: Failed mkdev on $DEVICE." $PROGNAME $DEVICE STATUS=1 fi ### If we had a et interface then reconfigure it if [ $ET_RECONFIG = "true" ] ; then ifconfig $ET_INTERFACE $ET_SETUP mtu $ET_MTU up fi fi # Run the undo scripts. If they exist, they were deleted and recreated during # this iteration of cl_swap_HW_address if [ -f $UNDO ] ; then $UNDO STATUS=$? fi cl_echo 32 "Completed execution of $0 with parameters $*. Exit status = $?" $0 "$*" $STATUS date exit $STATUS r eve l6i$+ԍb՝ab&mU./usr/es/sbin/cluster/events/utils/cl_swap_IP_addresses   e #ainrst"$AERS_cdfhlo-=CDINOPTgmpu&()12FGLM[]bvw|'./0:;BKUVky{}!,357>HX\x*469?JQWq8Yz~%+<@jx A*.?*(1"b)"I2UxӍ8K^aZsm\a= %<7=WHx% N pXpOYzӝ/j\?*(1"b)HeOsdžPfPZ2(V {h 3X@R'ALDળPE| >ӂ(X pXxv $s{{{{{{{{{{(gtȔN ;?ʯtRq1^438ȷ`b>1JJpUY)+d^ sҺ̸{bԊѵxʷ5K/{a^ ;=WV1Ugt'ALDળSRR ESfd[,g` _Vsc Ugt UҜ@A7tȔN ;5!E d[,g}p$8 Á!Hv $  H$8<?ʯ}-Fd3/N nkAKpb td%ԺR ꙾yflT vƕsdo-u Y3Fz˰>1x;iƜ^4B `d[^HW͙ƽY,,dʴ9֋(?db̹@3<Ґ-a{u39P{{{{{{{{{{JřpUTj/jP(L@ Hx`D^ ALӂ("& "HDpYsqQ\,/G!sԅp, 9@1wAL:j`0ܝj.jMfp@hEWWe[㦡Qɚj/ 8:j;hss{{{{{{{{{{^ځ$aDXT?+{պFvUҚ-w.TREO-]U?X,dʴ9nkAK΢IN ;8UcY\]K.2fFjDfeW=Ѻ se[RNbܫ0vFU/U&k{ᘛ&.}ʳ {{{{{{{{{{X̔YI81Q:V3L( fAq4LHB&f˛a}.=&DT FળR/rYFdKj2\$;ڠ?Fq׀g-u]i_֕\[H0ūF{ 2^ZWdD8ӓ5uexWRx12$2KܫTPKDA2 < L"" xE$ȃj.qȃ`0CJp,͈P@kAL)&DðTU^Dq1fKDp12$uNcF3@($3`%'W8<* wKw"8]iXWc:ŧf1Ȓ*"C0CgX4c8x"Ih[8xJdM$7Y]UNw@f3xU2)l˪U-ₙ@&0Ӈ@($ l &i&"H4"ū՞+(̖n F&y[2*ւ< L"" x (1G< LA$$UDu39a إVl\) _C3# dR+.V fyp13E7a6-@@xqDIDDʑ&I1#@|E"*eV7S3 Q{{{{{{{{{{X̔Yif-3e2Э4 Q(&T 8"$(A24 Q(&T 83g0^SV4Q{3fՀƪnhk@GL @eʄ&qU02C5ƬF5SsC\3g0^SV4Q{[&qU02$o32d[- ڼiɚ'tUC& 3:ڸO&P*is'b*k-jVVBrfKbܫjM6`&SU \)^1^&2Э sbg4Udsq4e[WsHHp Usb@GLDxhkUNwƛ ckMfgm^ƸQV23ِ%ʯzn|i՜8/%Lb,fn 2_el8fJ3*Fc"2UGQ2Rů–#/s);-Wr,qk#K();/%ӂŕ]'b*A^"pV+s^ZkM*(fq`KʶZ爞U &$Tpp,Ҭ- ڸxpTÛ0X03<L H˚9"%˛f1,c- ڻحg|p; s[UNkEp \֭5P aEFC\ыs25h͝s{{{{{{{{{sP/`f-3e2Эܠ,ʄ5cEI^wJuB,2""cf.)A2&PL@Hp LP +"$<]bv/LрKu^cH 1i/S)m^EɚV s2^Z0[LTdG{{{{{{{{{{c2Rf]Zf e[W 9k*Սd^!MXZ?U\f/A.sd5LzMXFEc E#H&TyD 9geS /S)(Ƚqx8I &PLAkm\bٖ0[xӢ+ ׍qh(s3Hp U/w+ ֓SL+j]F.`H5 ͝s{{{{{{{{{{?eܫ0aʮ{{{{{{{{{{{Qb$@q@[AWXa(yP0q`*ѐ)F ҷ0Qň7@R&ZꙈU~ 0k`ʱlxE E'*Sb"ӄzb Fi0UEA*.T -#P)Fv", fAq4LHB&f˛axQ@d8  C&Q4(8Ӄa2TBR 5fućxEE&*CFi0UAhi[(;Y6L(v@a:EC52[8F!8s1tcF,^s4b`h{c1QL-jEs{den,dʴBun2 Cq\%+b1"psð ?;Q\,/ ;+bTW^eB|iܠ,Ū^Ɛb׭08El+j32d[cH 1|k˘fpX @YLzL+jh{Uud[en&"ZLjvi{S3"MȔ""H(&&WQfx,ԉNW^*Y'|ei]@}S3i\⥑)fcZV,e)͓5p AKWWsD6L Ub0d[2HwVg}WYjD6Lfqnޕ^*Y틅,5i™x. A_+3 fLv/r5LVqJ<Pʳ]x ٌfJb0d[2H3xWy$CaL\pOZ RVpe38L'?XcE!rp\W*D%zkDNvv3< neDWM{Y6V"PvTK9 ]hŋ`Pp, 0{ٌhF"h"!™Āҧ +xP%IgwwsA"A4I ALG0az#;d.r($T(&0T#ULZyȏs[r2hV7K`L떅mW9[aޣ˖&k՜2YUN F ]ۚZ'`b4bO85\bD<x1Qw{V ^1S9vEW5/jaS4"!LHg qJdM$w#Ç g"<;;ayȏa/Gw߈323fT2\ḇ` fb5 +bȏa/wW;dw9&H""=% DOI1ȉC4‘m+TAL5-.%&H""=% DOI4 !lFi\J LHg Z.wwE3ð^*+G5ƀ&q#ay"8bD<\ֵm:|Z{t2h浪0"fL+ ;&fs3<s"LDh9kb()QcEõ/^浿Ƹs5>5Ãֵh Y4]8LÜ]iXW9Ұ6rAwƚ̾3^-0UҝKz @pV+sw H ps A0D5*ւfsU,+$OG4pk|VwJugv";W ^*XkD@#:U"&k{sE1k֌PK DR*ƚ"$8b[3N&Q4(n5#DǞ$H &3K i& Ƌ*8Ӊ Ta٦.t+r#;$P*AFgPlPS,ӊ DR*LE")Lxll3 DR*LpTk֋()iE")LD@;;8E"E]UNQ2Z%@!g Qkq*,qk. ;1|8 0%[ $LI2d*L! ð{b+(̖l"ǐ wYTZD@9-1fKDqD;*-s" Ұb0֋֋0VQ-D A8s [ֿ^Ub5]52-{Ⲍh8J\LV,l(Rӛ&ktEE&*YD֢2&<IkUekf}Ԃό<RsZYsZlPS4R 3qóNUYᆜ*AUfn8viE")@TȔ7 QY]seH* TL0Z+p82Đ*&z@TUk[UNkZ3%G9kŧp 9kV̭k&d8voW9kEp 9osZYk?a p1 NkZ$yH-E 0ʐUYPP3x#`:@g34klPS9fL\pfpP 1"LbG¸/ Fp$$ǞT2I #óB hB$Un**浵^3%[8~uq2eCYFdKgaLq2eC]K,H= {()p9ab^kfɚޭulI 浿EkV֋֋}޳R ,Źl+J¸{՘3Eӄ9@YLzL+jkWF ҷ<%>'\2Yd[# 9^pV+sNL+co81QkT^ '# 'J¦iD@;8͂,gf`47 wQk_cəyxJ}WwC,VkZ &d°2fjZw9<D;8$I&ֹlV3"Lzh8v⢠ޫܜַsZb浿Ƹps֭\f-3e2ЭAw wh+e3*]ӊ"LDhgˌssf{*(fv$F.vaתbl1e 0 5Ƹ{ts*3ڱZugi8/ ۤ5&"ZLjvh8∑&dJ$MEQ@yT$Ar'j.d.`}ff[+g|'[3'^Lsy3s+ ۝`|ks lįk$+b՝ab&gR./usr/es/sbin/cluster/events/utils/cl_swap_IPv6_address    #e ainrst "$ER_cdfhlo-=ACDINOPSTgpu()/1:FGLU[]bkmvwy|&',.026;BHM{}34JVX\x!*57>?KQWYq89z~21^]g){E{,+Ucrk5UXܤFˍ&L57*nRtrȳ7M3@m^NⳔ mSr-Mʫ_z'!LajnUXܥ(_; ᠠPh(5 +Q+E\eg)r ܟ,^`].L/rm|-KSw͜0/&iZXo,nr_#FMɁ[bj p/^||ˍo\׽GJV_!42NⳔ_rqɖMʫ nUƧq2X|'qYXnUA;RV7)6^ eƓ&X`V7)rqܫNeư1pX,4887P0 M+A r6)6 oYF`9cW+ظem2l^96ATeѾC.5n6р)KQe%6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUM;Yr]8*i5m/r|omi\3 6pTj9E M:cFW`Dɱ{»;R8^\.iOp j_g)m֕a wiUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT2n6 &r Mѫ,\Llf׽ʸ 5\Fg| efeN3y^wSib ;mN/:ڂͣܪK|5YQڏs]mR. o39[QcYm֕a p/' VrnEW86 wr1{QdǸN#MUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUST^M(y7Lܰ$h.&$P^M(y7L܏ozR)ʗE1̮~()x5"LC@# od IǠ oe0 \@kȉ$DR=e3D 2H<q*6pwr]L=PDI$$d I08 7Fa8< $T@!{ūe3D 2H<wD DD~1wH[@A2.sfGHBt&P)"d I(%񹛌0Л[Y2ɐ&@2 ,XFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUM;Q{PY70I9M7&k0勲zه6uz3e9M7 NUuL>y4imb0Yu_#L8j[{jUXܥrنU|r6Y6/p_+9K΢ke*nR Vg;TrƳ1t_BjVxf"is7H9/' VrnEW86 wr1{QdǸN#MUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUST^M=NSt Moƍ\ybBaE=EAd$7L܏ozR)ʗE1̮~()x5"LC@# od IǠ odʤB%I$I!(Q,:B (aG|.`oXl8g@A2$rlpyy $j/0@[1< D&U$.P|lPQ^(M/N.kn7{,}s^wLO="I&@$ HH.~()I0 0 3,Q(a{6w0Yw0K@A2$r0 VrD 2H<O,Q(&@$._@A2e "y(73q[zmt ]oY2B6a{ Vr1<$D??=!$%˟ `p>o&&p .z* PE=b޲gն.wZB $I$K֋";R&P)"((@"d I&P)"s7a g73q hMUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT8^÷0I8٦Mm~y{V Vr,.0d\]WaN.˷(M_͜4AS A\f/vؼ* fs{aR/5>kxcl{1yqd<*ŶY6/p_{ kg=NⳔ8Y^̰#/a{Xs,2*6c,mJ "P$J "`DDp $h'&P *DeJ&"@@E"˘DKh@ReRM!趛ZW3q1f:d_Qɹj.N׸WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUMstaZqdAAxIѫ,\L.X;UNrcZq@,p(o0$\zOYF`=e/g0ioE0& L<"ILC Stтs{E@Rxx^5z0F7`-$I" Q$NzK&]㋚~R$J$Bq i@dˢY@dˢXo35G=RɗDNWhL%g`cNCs*zK&]ɘl-E"˘DɖR1's*Y2?\J "P$JcN1Y,tK Q,tKcN1Xs ,tK\dN4EK&]3Cs*zK&]moD LHQ(=bO[Te,~84$n7d[zK&] `Mܪy9fcg*w@yD.ӕeg*S`=QvtV8 0@X[NzUXj6.fEzUX{EFO@;fcaG*w@D"IiӎŽUXj6. Q$NzK&]BC 9UcRɗD $j/@ /i!N# Q78\$0V:QʫFx-8'=Yg?QsN^nSsf"q8??= (UbQʫFxPQ5 8=nvUN;kqœs*Gj.΃r2-<05z0@[N;g޶&'rx$0V!HaG*S5Yk8or@"I @$S,!J($idR.LJLc񱽿h `R ~ }EH0LDHcE$D "\$}$I ,Eɗ0C ,xX^((ӎq# gBC 9Ubӎ;V6fwi-lLO YQPQ{N;V6frӤ2Qdx-0\ .<Њs֜1<$iEs*Ot׸42F;V: Mw\j, i=:9M(Lޱ٬p΃R" )\1c𑨾`wz&,~<~z,PQ5 8HE"˘D?A(񱽿&P *DeJ&"@@8p,'񱽿("@2 !1EI4BH0#AFw׸4FB2EVs| =Kɖ &riXZ{Wdn򛘶qdVع9qйDsz[N8ӎ;g{N;o.q9F`̛a-ʎcr-nNⳔK&rzA\ OnloQ05yq[]¬>y{6p,nFIbslM:Sœf o`-{o+9K^,22_g\SY]ͱ7M&K|nv'2UyyN\5yr,|lҮk> 7*nR[tg)x y{Kp`VNyq'q{*9ʫ= `p^nonbK|X{6u45&+kaQr6p|ƹjԛ/eHHDxAcz.c?=eA8 =e R 08 7C(DL@)F9,tK.i%H(T%Q1f6k=.d "a.cCs*zK&]0wko2*Q2oLO=k1=e,PS5EF|& f17)Mf j6{N 7(HU 8wy3ړ $LI,L@TM$II& E6W4i`n6jNAAm 4\Ċ|imWԜiŒ&U$ɖ& PH$"=3v7i`n6jNXlEm80ܢ!W2 i`n6jNCZkj8^ø3&k!&v[V7)6ZW3qpf-ʫ8/zۘ{UcriUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT3 $4js(Dyf GhUb<OkѫυzJ0Ğ8 @dˢXqqt4 T L% o5raa@gTe,~8:zX*zK&]DžlLO=0Hxݟ `k񹛌0[%mkYhMmUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU60&k xD'%E~9Mf<׾FGW|'qYX)Dɱ{' Vr dm֕a _ 7AWE]s4nm0%$\ĊyaGLO=)KQeǏ]W?~Wuj,rq2n*\1=TYJ0 #1 ,~((HDݵg㍵Qҽ 0Et ܷr| {;R=(M/-| P  -"@ʤEL@4㫉6æa%k]/3 s^+l7THD#unRof 8x|k[{ Vr9W-$I!wnUXܥ͜V(M6xZ8$$)֡=ʫa{ VrL &$GfD0I`Zb(R1's*Y2?^ K2-=.c@H_ 0@^u%gnx]͜Ϛn\*1<.E2&S(_'p>zʤB%??>6źV~((pos2ɐ$I!) &1NWz L"ILO 12e HX Hy0,D==7& Ic L%C@"IczX*zK&]Dž2Ǡ J8'=.cq(oPO@dˢXDfadG Ic L%C@"IczX*zK&]Dž/| Vr 𹌳nFG7)7 7`^\Foo40 ܪHfRxkemV_<| |@D72&s QU3sCOXن?(Kz gG@$- M=ҹaB%Nㅷbby"*iDx(M6~((poa]f:FMa7 1]L8K L)DȢLdI.=e30I3=Kɖ@"IN]ᠼ $T@!`̛geo+9K&ka-UcrD?@ED L?@"I5[WըjUXܥ͞k#V}-fc{{UXܤ ȯj s^e,9TsV7)j3d]7 s^w{ Vr\;5UXܥ{pnlÚ,3;05a*9ʫ\Xz@""DSQ,: `ZFO@bbx@DE2$~((po͕s g+ "Ltɤ\4A` 60hh l4@8[N80qtfWk[V7)sgk޳)V7)q(Q,: -$d&"L٭gSstq8Xh0-u [fky\FUXܥrFp9nUƧq4㎭pf|׸s]^^Or SN8z3g@~\{@$,!Q)5naN8p9C@([N8&j'w 9nUƧqk+Լe1޳)qE"˘LxiY.`A(z'=.ch"@DRH GƜq8d[zK&]2z0~ =l)f<~y)&~48 EhLf3 i1cMp Nqr@"tRDd"@D&Slf<|0IkrMʸ:$D&st3r&TDd K@THD-HCf"1f6.jof֣ _777bbz  7kv2:)E (IL$I.yb"I#J'^0/&Xm$ HGؕ2e9^eH &Ee$d BY䭇Oa^LDI&@$ok{‚#1/ |$l1{rdT]q5a4&*&⥧q1 HZ* PEbbz*E4/%x;`k熴bVӿ |oSI\7O4\7Ois[MkZ_Y.| gr.FA\\i7*S oA"L4z($]I iGuo+9K7&ֻ,*򛠨UM8"I@:{V7)sg6#W aX[N& 8 Vrn1MvXU3{qzӈ$0zӫn[V7)m9"*iDy"`H0"=74& Da=lqq'=.c H@oPO@dˢXQ R1'.2Te,~: H9`#,tK֜Y.aʢnx)72|p+n"@DRH GtޭoY$I !UƧq1[&ÅmlLO@)&\% ` ~y;a{ptjs^qz~Åmܤ͹[W>SOa¶'t>Kmq[2F^l^\Rv*3yvp&=Vy^ yq\dN4ܪKˍcQh -L<@79M> Stс.4Q{o¬Zfm3.%rotr<˧j7)Mf j6_=g9I0-8nw-.`HQ#& iiE1sw0I8٦M匾k񹛌5V"1<)2QR$ *Q0Áak9c/aVzόUcr)r=e3L<7|.`= HAI`Zb(͚|e70Ip8ӎ-u[5q;f|*S27 nm8㨚5a^2oYM8"re&L2{ӎ9gq-r=e3L<7|.`= HAI`Zb(͚i4듔o "\TM"F.Ӓ"="昹ں "\TM"F/k񹛌5V"ӡs\^8;<@WQX4ׇ P % *paRGɉ 8`lc)8&ɴ9tmNF!ג1j)O $tI bCEp@< p@\-E)ˍ⭠]y8XAQ#8`u,*PTHY1!2 XMl~'68΍D7]z2t@p@( e9ID:CMxqRSZ9I=H9Td$@$4<4uiZ'qk,3 \fg|L)u17M{ԓ_r(kY(Dn p .vY9eWm u/A[ӷJ,qi2E)  9mG]h6GR78ќH\DD[=+AG^JX|f& B&u׮0XŅJ LD@ }?2!8))C[|e眪2 Axx <90PTŅK &T`E dI ].¤Jgg#/=tTQq KIdEĀM󸽓l`$ܥ0J0@pP(j)NYk[AuFo2w1hfxb;|d2\;C,R+ PÚ{&?W_IHhcFq!r9l\y(>qa X,S% ].^N<#/@PM;|&MFS$ƺpI" ha5ꪪk]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU.^U؆zVx2KI˨?=+M#6Ͱ|rkhtos2bdL~coѸoeE5Y0z _̘\6vsf4|m4B˵> Ll2bsǥf[{& :KAse2J8B n0Q9N—e&lLkc #102m@G=I)ୠr ۛ)b-|p!6Stcf0m6Rxap16 ZK4Z0>_WA4<ȧ4l{>& :Ki|M^6CnlB8cୠr ۛ)~o_/C7z ܶ}LuDL^ǡȧ8cQk敧kp; ~=6Mz' P.{A9`ӯ =6Mz' 8?N  '$(2$/@` lj Xʼn 'VK56 ރd7-`ӭfH¸b1ୠr ۛ)tfI\v˰$ş;C4!pvi13sJ޳?=$-\1nJ'd ܲ$PdS D ܖo]bk4^wշ1r^jͥ!d|"Z?NX^ǡ['șÍ,Ȣͥ\U1z 0Ri|$'N^@‚47oAdL&`K7<,tf4zz=f><,YD?S``b-d σR1τw)f"fYUdL꣆?|~=TN{Xf,K C𠥛47o \oIƮߠɳAQ|cD;YJ_dڊ9IA&f_H8DLda"eI82B$p(H8DLda"eI82B$pC"&2L2X!Qe8\X!0&LDvoY4@TRxA&&z~>| Pm;7&h2Z;m}sJ6s8)ifa'PTEDI"(O((*HB$ʑ&@xJ73-NY4@ס+O}BҾ6|6il 9͔ =A4nx`=C"D`"c$ *Hʼn&X; /[)$R5p;&|O C (*HB$ʑ&p lҷf!M!x0򂤈**"LB`aeҾ6|8 9f]4Y~0,j 4y`ABL5v*^2%dٵc\ftqif!i^2%-Øf [Aj'rFoǡ;9y꣯˒ruvOuSZ{(4#,!{#z0k ЁsJAj'rȐ\ҾSdgr4r(8A+477;VQ;1{_&O Cl%5{6{O/9۠Oc`i[Ͻ:Sdfs6jJ M΂(_2g:)2Βr\-EC%oe窎]txGcD9L>Αt<ʨEa0I67*sPܩbwS6MI`__8&X*.L₢BBeD15`~ <*bvG*s؝i|$'N5%B#qTMRX! rJl! 0(N5%B/i[K&+{'rSc0ͳl%σשk.aǹSi[N>r <%!K+ǹSH)HN<,D#r daPR敽kԵj˵"^^e1qdV_ȗgYs `b0>#r>c_l-5v>MOϼ OKlҳ I5қ#3Q5aǑ8\TĈ(LDX7( ǶGJltFPR敽0{)ůGl؅IGW)| E$q"% 8 91[Ck D7_vzP0" . *HY1!2"(p4#(Phmn'M'kbn'N,>'M'xs/?W[ՃNc H"<<"<2 ,&DAe/s^)39ECd|&OdK[=ECNi1}l"@=ڿ_ 6[Oc`&K23l/9yf_~&_* 8Xb% (qAa}s es-+_&_#/=Tp\O=C 7 ҽ,p`$pj=(`P+VEz"Q8*s؝7y|ŃNGρ~mN,Ždɠ&= 0"71 r=8ypcܩbvyqbDe'%!+zqzP@V:F^z{9N\J}EsǹSg:)2Βrc7[%<#dKΑt<+_9GXy꣗qT;j<&a;ܤ]G8{9N]BӠ繊`\ٙ t=˱R7{/l,j69|LOlZx<`}GF"}_KvyCIHBNpx?p{dtAm ? _ҷA#{_*ƹMsfd5Gi}w4(3,F^z^#duS:e%>, /i[C _jZvM^yzrDPpiRG"P1`ǡɊ_8n'M'aXJDP#Iȉ&p" J8 ؆"t؉bv&"u8AN{p+|ڭ'z1$LdQɖ"P@Y2×nJV=GףZlB$ף+c" J8 91[Ck D5ڬwg p"(pȑҤ&TDE$q"% 8  D7AxAN{p+|ڭ'z1$LdQɖ"P@Y2×].ۥk=P AHg\cD;Nj*DP l/VֵUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURb1&Kw(ckUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUKMDr*`\ٙӹŧsFș˵ְ9ID: P X0il̇㘛4b¢EH < 8b#ACCAkÏr9I͛nAǸngd[Kv>F_6+=YCRLF1ŅD'(  PxaQ"E ,WKF^{^ 6:ailmN].pƯfk)/+/Rk!zP|#+ʃ"XBPX_URxuza{% e窈jvg."@pb,. 8×3&.W<19m/Mٌ0``* 8Xb% (qAarl:xuVN=sJ޿yH ]Vr(``* 8Xb% (qAarl:xuVN0ÈO0YC"P2 y` (CAX ."@p`p"es 80X9eڵCTT`T2F z<( cԕ9eTN{ǀ <#ՃNc H/ Xb% )ς^0O D_l˕/'!V؆^0OȵN/{esԕ0#d,tX,5\gEOtM1bv@HPdHŎ,L\TX=CURUv_F0P$(-9 T99Ki|EʦtQ+zd7   7<0cQS"P24c L; /)xDnPR'P-P/p; ~>&sz敽0@|L_Vr(``* 8Xb% (qAarl:xuVN0ÈO0YC"P2 ]i|N=x?p{ "Ǽ~2 _ҷF^yw1`@ۥk]Da09ڿ_YgHǪbv ]-XGb,k k%o$+$ b՝ab&$ ./usr/es/sbin/cluster/events/utils/cl_tape_resource_get#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get.sh 1.12 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)82 1.12 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get.sh, hacmp.sharedtape, 61haes_r714 4/24/08 19:21:40 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: cl_tape_resource_get # # # # Description: This script is called in order to # # perform a SCSI 'reserve' # # on a specified tape device # # and execute a 'start' script (if specified) # # for a given tape resource. # # # # Called by: cl_tape_resource_get_multi # # # # Calls to: cltape_resource_get # # tape-start script specified on command line # # # # Arguments: tape_device_name # # tape_start_script # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Main Starts Here # ######################################################################### [ "$VERBOSE_LOGGING" = "high" ] && set -x PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" HA_DIR="$(cl_get_path)" export PATH STATUS=0 if [ $# -ne 1 -a $# -ne 2 ] then cl_echo 6211 "Usage: $PROGNAME tape_device_name [tape_start_script]\n" $PROGNAME exit 2 fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TAPE_DEVICE_NAME=$1 if [ $# -eq 2 ] then TAPE_START_SCRIPT=$2 else TAPE_START_SCRIPT= fi # Execute cltape_resource_reserve -f -d # i.e. do a forced reserve of the tape device. # If unsuccessful, # log an error and return status. # cltime cltape_resource_reserve -f -d $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6212 \ "cltape_resource_reserve returned ${STATUS}" $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi # IF there is a tape-start script, # execute # If unsuccessful, # log an error and return status. # if [ ! -z "${TAPE_START_SCRIPT}" ] then $TAPE_START_SCRIPT $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6213 \ "Tape start script '${TAPE_START_SCRIPT}' for '${TAPE_DEVICE_NAME}' returned ${STATUS}" \ $TAPE_START_SCRIPT $TAPE_DEVICE_NAME $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi fi # Return success. # exit 0 p; k_p$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_tape_resource_get_multire#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get_multi.sh 1.8 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)83 1.8 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_get_multi.sh, hacmp.sharedtape, 61haes_r714 2/28/03 16:19:12 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: cl_tape_resource_get_multi # # # # Description: This script is called # # in order to do the following for each tape # # resource in a resource group: # # o Make sure that the start script (if any) # # exists and is usable. # # o Invoke an auxiliary script to: # # - reserve the device # # - run the start script (if any) # # syncronously or asyncronously, # # as appropriate. # # # # Called by: # # .../events/node_down_remote # # .../events/node_up_local # # # # Calls to: cl_tape_resource_get # # # # Arguments: tape_resource_list # # # # The tape_resource_list is just a # # blank-separated list of tape resources # # to be reserved. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Main Starts Here # ######################################################################### [ "$VERBOSE_LOGGING" = "high" ] && set -x PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" HA_DIR="$(cl_get_path)" export PATH STATUS=0 if [ $# -ne 1 ] then cl_echo 6231 "Usage: $PROGNAME tape_resource_list\n" $PROGNAME exit 2 fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TAPE_RESOURCE_LIST=$1 # update resource manager with this action ALLTAPE="All_tape_resources" cl_RMupdate resource_acquiring $ALLTAPE $PROGNAME for TAPE_RESOURCE in $TAPE_RESOURCE_LIST do # update resource manager with this action cl_RMupdate resource_acquiring $TAPE_RESOURCE $PROGNAME # Get the tape resource's device name, # find out whether device should be started a/syncronously, # and what, if any, start script should be used. # cllstape -c -n $TAPE_RESOURCE |\ cut -f 3,4,6 -d: | tr ':' ' ' |\ read TAPE_DEVICE_NAME START_SYNC START_SCRIPT # If a start script was specified for this device, # make sure that it: # exists, # is executable, # is not a char- or block-special file or a directory, # and contains at least *something*. # If not, # log an error, # set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources, # and skip further processing for this tape resource. # if [ ! -z "$START_SCRIPT" ] then sts=0 if [ ! -e $START_SCRIPT ] then cl_log 6232 \ "start script '${START_SCRIPT}' does not exist" \ $START_SCRIPT START_SCRIPT="" sts=1 fi if [ ! -x $START_SCRIPT ] then cl_log 6233 \ "start script '${START_SCRIPT}' is not executable" \ $START_SCRIPT START_SCRIPT="" sts=1 fi if [ -b $START_SCRIPT -o -c $START_SCRIPT -o -d $START_SCRIPT ] then cl_log 6234 \ "start script '${START_SCRIPT}' is not a regular file" \ $START_SCRIPT START_SCRIPT="" sts=1 fi if [ ! -s $START_SCRIPT ] then cl_log 6235 \ "start script '${START_SCRIPT}' is empty" \ $START_SCRIPT START_SCRIPT="" sts=1 fi if [ $sts -ne 0 ] then if [[ $PROC_RES = true ]]; then STATUS=11 else STATUS=1 fi cl_RMupdate resource_error $TAPE_RESOURCE $PROGNAME continue fi fi # If syncronous operation is desired for this resource: # Invoke cl_tape_resource_get # with the tape device name and the start script name. # *Wait* for cl_tape_resource_get to finish. # If that script was unsuccessful, # log an error and set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources. # BUT -- # If A-syncronous operation is desired for this resource: # Spawn cl_tape_resource_get # with the tape device name and the start script name. # If *invocation* was unsuccessful, # log an error and set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources. # # In any case, go on to attempt processing for the others. # if [ "${START_SYNC}" -eq 1 ] then cl_tape_resource_get $TAPE_DEVICE_NAME $START_SCRIPT sts=$? if [ $sts -ne 0 ] then cl_log 6236 \ "cl_tape_resource_get for Tape Resource '${TAPE_RESOURCE}' returned ${sts}" \ $TAPE_RESOURCE $sts STATUS=$sts fi else cl_tape_resource_get $TAPE_DEVICE_NAME $START_SCRIPT & sts=$? if [ $sts -ne 0 ] then cl_log 6237 \ "Could not spawn cl_tape_resource_get for Tape Resource '${TAPE_RESOURCE}'" \ $TAPE_RESOURCE STATUS=$sts fi fi done ALLNOERRTAPE="All_nonerror_tape_resources" cl_RMupdate resource_up $ALLNOERRTAPE $PROGNAME exit $STATUS # #  k4s$+@ b՝ab&@ ./usr/es/sbin/cluster/events/utils/cl_tape_resource_releaseire#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_release.sh 1.13 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)84 1.13 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_release.sh, hacmp.sharedtape, 61haes_r714 4/24/08 19:21:51 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: cl_tape_resource_release # # # # Description: This script is called in order to # # execute a 'stop' script (if specified) # # and perform a SCSI 'release' # # on a specified tape device # # for a given tape resource. # # # # Called by: cl_tape_resource_release_multi # # # # Calls to: cltape_resource_release # # tape-stop script specified on command line # # # # Arguments: tape_resource_list # # tape_stop_script # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Main Starts Here # ######################################################################### [ "$VERBOSE_LOGGING" = "high" ] && set -x PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" HA_DIR="$(cl_get_path)" export PATH STATUS=0 if [ $# -ne 1 -a $# -ne 2 ] then cl_echo 6221 "Usage: $PROGNAME tape_device_name [tape_stop_script]\n" $PROGNAME exit 2 fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TAPE_DEVICE_NAME=$1 if [ $# -eq 2 ] then TAPE_STOP_SCRIPT=$2 else TAPE_STOP_SCRIPT= fi # IFF there is a tape-stop script, # execute # If unsuccessful, # log an error and return status. # if [ ! -z "${TAPE_STOP_SCRIPT}" ] then $TAPE_STOP_SCRIPT $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6222 \ "Tape stop script '${TAPE_STOP_SCRIPT}' for '${TAPE_DEVICE_NAME}' returned ${STATUS}" \ $TAPE_STOP_SCRIPT $TAPE_DEVICE_NAME $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi fi # Execute cltape_resource_release -f -d # i.e. do a forced release of the tape device. # If unsuccessful, # log an error and return status. # cltime cltape_resource_release -f -d $TAPE_DEVICE_NAME STATUS=$? if [ $STATUS -ne 0 ] then cl_log 6223 \ "cltape_resource_release returned ${STATUS}" $STATUS cl_RMupdate resource_error $TAPE_DEVICE_NAME $PROGNAME if [[ $PROC_RES = true ]]; then STATUS=11 fi exit $STATUS fi # Return success. # exit 0  kL^u$+Ib՝ab&I./usr/es/sbin/cluster/events/utils/cl_tape_resource_release_multiase.r#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_release_multi.sh 1.8 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1999,2003 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)85 1.8 src/43haes/usr/sbin/cluster/events/utils/cl_tape_resource_release_multi.sh, hacmp.sharedtape, 61haes_r714 2/28/03 16:21:52 ######################################################################### # # COMPONENT_NAME: EVENTS # # FUNCTIONS: none # ######################################################################### ######################################################################### # # # Name: cl_tape_resource_release_multi # # # # Description: This script is called # # in order to do the following for each tape # # resource in a resource group: # # o Make sure that the stop script (if any) # # exists and is usable. # # o Invoke an auxiliary script to: # # - run the stop script (if any) # # - release the device # # syncronously or asyncronously, # # as appropriate. # # # # Called by: # # .../events/node_down_local # # .../events/node_up_remote # # # # Calls to: cl_tape_resource_release # # # # Arguments: tape_resource_list # # # # The tape_resource_list is just a # # blank-separated list of tape resources # # to be reserved. # # # # Returns: 0 success # # 1 failure # # 2 bad argument # # # ######################################################################### ######################################################################### # # Main Starts Here # ######################################################################### [ "$VERBOSE_LOGGING" = "high" ] && set -x PROGNAME=$(basename ${0}) PATH="$($(dirname ${0})/../../utilities/cl_get_path all)" HA_DIR="$(cl_get_path)" export PATH STATUS=0 if [ $# -ne 1 ] then cl_echo 6241 "Usage: $PROGNAME tape_resource_list\n" $PROGNAME exit 2 fi PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u TAPE_RESOURCE_LIST=$1 # update resource manager with this action ALLTAPE="All_tape_resources" cl_RMupdate resource_releasing $ALLTAPE $PROGNAME for TAPE_RESOURCE in $TAPE_RESOURCE_LIST do # Get the tape resource's device name, # find out whether device should be stopped a/syncronously, # and what, if any, stop script should be used. # cllstape -c -n $TAPE_RESOURCE |\ cut -f 3,5,7 -d: | tr ':' ' ' |\ read TAPE_DEVICE_NAME STOP_SYNC STOP_SCRIPT # If a stop script was specified for this device, # make sure that it: # exists, # is executable, # is not a char- or block-special file or a directory, # and contains at least *something*. # If not, # log an error, # set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources, # and skip further processing for this tape resource. # if [ ! -z "$STOP_SCRIPT" ] then sts=0 if [ ! -e $STOP_SCRIPT ] then cl_log 6242 \ "stop script '${STOP_SCRIPT}' does not exist" \ $STOP_SCRIPT STOP_SCRIPT="" sts=1 fi if [ ! -x $STOP_SCRIPT ] then cl_log 6243 \ "stop script '${STOP_SCRIPT}' is not executable" \ $STOP_SCRIPT STOP_SCRIPT="" sts=1 fi if [ -b $STOP_SCRIPT -o -c $STOP_SCRIPT -o -d $STOP_SCRIPT ] then cl_log 6244 \ "stop script '${STOP_SCRIPT}' is not a regular file" \ $STOP_SCRIPT STOP_SCRIPT="" sts=1 fi if [ ! -s $STOP_SCRIPT ] then cl_log 6245 \ "stop script '${STOP_SCRIPT}' is empty" \ $STOP_SCRIPT STOP_SCRIPT="" sts=1 fi if [ $sts -ne 0 ] then if [[ $PROC_RES = true ]]; then STATUS=11 else STATUS=1 fi cl_RMupdate resource_error $TAPE_RESOURCE $PROGNAME continue fi fi # If syncronous operation is desired for this resource: # Invoke cl_tape_resource_release # with the tape device name and the stop script name. # *Wait* for cl_tape_resource_release to finish. # If that script was unsuccessful, # log an error and set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources. # BUT -- # If A-syncronous operation is desired for this resource: # Spawn cl_tape_resource_release # with the tape device name and the stop script name. # If *invocation* was unsuccessful, # log an error and set a flag # to indicate that an error occurred in processing # at least one of the specified tape resources. # # In any case, go on to attempt processing for the others. # if [ "${STOP_SYNC}" -eq 1 ] then cl_tape_resource_release $TAPE_DEVICE_NAME $STOP_SCRIPT sts=$? if [ $sts -ne 0 ] then cl_log 6246 \ "cl_tape_resource_release for Tape Resource '${TAPE_RESOURCE}' returned ${sts}" \ $TAPE_RESOURCE $sts STATUS=$sts fi else cl_tape_resource_release $TAPE_DEVICE_NAME $STOP_SCRIPT & sts=$? if [ $sts -ne 0 ] then cl_log 6247 \ "Could not spawn cl_tape_resource_release for Tape Resource '${TAPE_RESOURCE}'" \ $TAPE_RESOURCE STATUS=$sts fi fi done ALLNOERRTAPE="All_nonerror_tape_resources" cl_RMupdate resource_down $ALLNOERRTAPE $PROGNAME exit $STATUS a # # kŽv$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_telinitou#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_telinit.sh 1.3 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2008,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_telinit.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: UTILITIES # # FUNCTIONS: run_telinit # ############################################################################### ############################################################################ # Function: run_telinit # Purpose: Runs telinit after IP change occured. This function is no # longer used, but has been retained for historical reasons # Parameters: none # Return: none ############################################################################ run_telinit() { typeset PS4_FUNC="run_telinit" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # these variable control the telinit wait loop # by default produces a wait of 3 minutes for telinit to complete typeset -i telinit_wait_count=36 DELAY=5 # SAVED_XTAB="/usr/es/sbin/cluster/etc/.xtab" # # Set hostname to first public service address # if [ ! -f "${TELINIT_FILE}" ] then # # In /etc/inittab, there is an entry to touch "${TELINIT_FILE}" # after tcp/ip is functionally up. # ## # # Save NFS exports list from /etc/xtab. telinit will # cause rc.nfs to be run which blows away the entries # in /etc/xtab ## if [ "$EMULATE" = "EMUL" ] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cp /etc/xtab ${SAVED_XTAB}" else cp /etc/xtab ${SAVED_XTAB} if [ $? -ne 0 ] then cl_echo 1051 "Could not save xtab file. Please export hacmp defined filesystems\n" fi # : Start tcp ip servers and network daemons # telinit a typeset -i count=$telinit_wait_count let count=count*DELAY cl_echo 9104 "$PROGNAME: Waiting up to $count seconds for telinit command to complete.\n" $PROGNAME $count let count=0 # : And wait for completion # # no need to clog the log file with this set +x while [[ ! -f "${TELINIT_FILE}" && $count -lt $telinit_wait_count ]] do sleep $DELAY let count=count+1 done if [ $count = $telinit_wait_count ]; then cl_echo 9105 "$PROGNAME: telinit command failed to complete after $count attempts.\n" $PROGNAME $count fi [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # : telinit a completed : Append non-duplicate entries in /tmp/xtab to /etc/xtab # fgrep -vf /etc/xtab ${SAVED_XTAB} >> /etc/xtab rm -f ${SAVED_XTAB} > /dev/null 2>&1 fi fi # : Activate iSCSI software support, now that the service addresses are up # typeset CFGFILE DEVICE STATUS LC_ALL=C lsdev -t iscsi -F'name status' | while read DEVICE STATUS do # : DEVICE $DEVICE.STATUS is $STATUS # if [[ $DEVICE = @(iscsi[0-9]*) && $STATUS = "Available" ]] then # Parse the config-file for this ISCSI device CFGFILE="$(lsattr -EOl $DEVICE -a disc_filename | sed 1d)" # grep-out comments/blanks; anything remaining is an iscsi device if grep -Ev '^[ ]*#|^[ ]*$' "$CFGFILE" then # config file has entries; configure ISCSI if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cfgmgr -l $DEVICE" # Allow for overriding the "cfgvg" part if [[ ! -f $CFGVG_SKIP ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "cfgvg" else echo "$PROGNAME: File '$CFGVG_SKIP' exists: Skipping 'cfgvg'." fi else # Make any child devices (disks. etc.) available cfgmgr -l $DEVICE # Varyon *ALL* Volume Groups that have "AUTO ON:yes" # Allow for overriding the "cfgvg" part if [[ ! -f $CFGVG_SKIP ]] then cfgvg else echo "$PROGNAME: File '$CFGVG_SKIP' exists: Skipping 'cfgvg'." fi fi else # config file is only comments and blank lines echo "$PROGNAME: Skipping device '$DEVICE' (not configured)." fi else echo "$PROGNAME: Skipping device '$DEVICE' (not Available)." fi done } ######################################################################### # Main Starts Here ######################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi # Determine telinit mode (disabled is default) TELINIT_FILE="/usr/es/sbin/cluster/.telinit" USE_TELINIT_FILE="/usr/es/sbin/cluster/.use_telinit" if [[ -f $USE_TELINIT_FILE ]] then USE_TELINIT=1 else USE_TELINIT=0 fi # If the command arg is "-boot", then do boot-time processing only. # This should only be done at boot (presumably by harc.net). # NOTE: rc.cluster is always called with the "-boot" flag (and # thus calls harc.net) even when not at boot. Therefore, we will # only null the xtab file when the NFS daemons are not active. if [[ "$1" == "-boot" ]] then rm -f ${TELINIT_FILE} # -boot actions will be written to clutils.log, not hacmp.out ODMDIR="/etc/es/objrepos" DEFAULTLOGDIR="/var/hacmp/log" STANZA=$(odmget -q"name = clutils.log" HACMPlogs) if [ "$STANZA" != "" ] then DESTDIR=`echo $STANZA | cut -d'"' -f8` CLUTILS_LOG_FILE="$DESTDIR/clutils.log" else CLUTILS_LOG_FILE="$DEFAULTLOGDIR/clutils.log" fi # Determine NFS daemon status nfsd_running=0 if ps -eo comm | grep -w nfsd > /dev/null ; then nfsd_running=1 fi mountd_running=0 if ps -eo comm | grep -w rpc.mountd > /dev/null ; then mountd_running=1 fi # Truncate xtab only if the nfsd and mountd daemons are not active if (( !nfsd_running && ! mountd_running )); then echo "$(date) - $PROGNAME: The NFS daemons are inactive, /etc/xtab will be cleared." >> $CLUTILS_LOG_FILE /usr/sbin/exportfs -ua else echo "$(date) - $PROGNAME: The NFS daemons are active, /etc/xtab will not be modified." >> $CLUTILS_LOG_FILE fi return 0 fi if ! cl_lsitab clinit > /dev/null 2>&1 then # : telinit a disabled # return 0 fi if [[ -f $TELINIT_FILE ]] then # : $TELINIT_FILE exists # return 0 fi run_telinit ad D kx$+6b՝ab&6./usr/es/sbin/cluster/events/utils/cl_unexport_fse_rele#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils/cl_unexport_fs.sh 1.6.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2007,2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_unexport_fs.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # # ORIGINS: 27 # ############################################################################### # # Name: primary # # Return the first entry in a list. # # Returns: # 0 - Success # # Arguments: list of strings # # Environment: None # ############################################################################### primary( ) { echo ${1:-} } ############################################################################### # # Name: secondary # # Returns all entries in a list except for the first. # # Returns: # 0 - Success # # Arguments: list of strings # # Environment: None # ############################################################################### secondary( ) { [[ -n "${1:-}" ]] && shift echo "${@:-}" } ############################################################################### # # Name: cl_unexport_fs # # Given a list of NFS exported filesystems, unexport them or reexport them # with a different protocol. # # In the case that the resource group has stable storage configured, then # we may also need to unregister the NFS node. There are a few issues that # need to be kept in mind w.r.t. unregistering NFSv4 nodes and unexporting # NFSv4 exports. # # 1. If an NFSv4 node is unregistered, then all of the exports associated with # it will be automatically unexported and the stable storage for those # exports will be left intact for fallover. # 2. If an NFSv4 export is unexported while its NFSv4 node is registered, then # NFS will delete the stable storage associated with that export. # 3. If, after we are done, there are no more NFSv4 exports for the resource # group, then we should unregister its NFS node. # # As part of the processing, this command must determine whether or not the # stable storage should be kept or deleted. Here is what it will do: # # A. If this is a reconfig event (i.e., DARE operation), and one or more # (possibly all) NFSv4 exports are being removed, then these exports are # going away for good. We want to manually unexport these filesystems so # that their stable storage gets removed. Once we are done, if the # resource does not have any NFSv4 exports then we need to unregister the # NFS node. # B. This script is called by the event release_vg_fs (which appears to be # unnecessary) after it has already been called by # reconfig_resource_release. We treat this event as if it was # reconfig_resource_release. # C. In all other cases, we are bringing the resource group offline. The # intent is that we will want to fallover sometime in the future. We want # to unregister the NFS node up front so that the stable storage is left # intact. # # To accomodate these two flavors of operation, the code is structured as # follows: # # If this is not a reconfig_resource_release event and # this is not a release_vg_fs event, then # unregister the NFS node # Unexport all remaining exports that we were asked to unexport # If there are no more NFSv4 exports then # unregister the NFS node # # Returns: # 0 - Success # 1 - Any runtime errors (unable to export, startsrc failures) # 2 - Incorrect number of arguments was passed. # # Arguments: list of filesystems to unexport via nfsv3, # list of filesystems to unexport via nfsv4 # # Environment: PATH, VERBOSE_LOGGING # ############################################################################### typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi . /usr/es/sbin/cluster/events/utils/cl_nfs_utils UNEXPORT_V3="$1" UNEXPORT_V4="$2" STATUS=0 PROC_RES=false # if JOB_TYPE is set, and it doesn't equal to "GROUP", then # we are processing for process_resources if [[ ${JOB_TYPE:-0} != 0 && $JOB_TYPE != "GROUP" ]]; then PROC_RES=true fi set -u if (( $# != 2 )) then cl_echo 45 "usage: $PROGNAME 'v3 exports' 'v4 exports'\n" $PROGNAME exit 2 fi if [[ "$PLATFORM" == "__AIX__" ]] then if (( $(oslevel -r | cut -c1-2) > 52 )) then FORCE="-F" else FORCE= fi fi # The following code handles migration. In 5.4.0 and earlier the nfs export # version was specified in the HACMP exports file. Starting in 5.4.1 it # became a property of the resource group. In order to make these two # methods coexist in a backwards compatible manner, if the resource group has # no NFSv4 exports configured, then get the version information from the # HACMP exports file. EXPFILE="/usr/es/sbin/cluster/etc/exports" DARE_EVENT=reconfig_resource_release # Check memory to see if NFSv4 exports have been configured. unexport_v4=${UNEXPORT_V4:-${EXPORT_FILESYSTEM_V4:-}} if [[ -z "$unexport_v4" && ${EVENT_NAME:-$DARE_EVENT} == $DARE_EVENT ]] then # During DARE operations, these variables only represent the exports # that are changing. So look it up from the ODM to make sure. query="name=EXPORT_FILESYSTEM_V4 AND group=$GROUPNAME" unexport_v4=$(odmget -q "$query" HACMPresource | sed -n 's/^[ ]*value = "\(.*\)"/\1/p') fi # If we don't have NFSv4 exports configured then determine the protocol # version(s) from the HACMP exports file. if [[ -z "$unexport_v4" && -r $EXPFILE ]] then unexport_v3= for fs in $UNEXPORT_V3 do # Get the export file for the filesystem from the exports file. # Only look at the part of the line preceding comments. getline_exports $fs export_line=$cl_exports_data # The line is of the format: filesystem -option1,option2,... # This will give "option1 option2 ..." options=$(echo $export_line | awk '{ for (i=2; i<=NF; i++) printf $i " "; print "" }' | cut -d- -f2- | tr ',' ' ') # Each option can be of the format name=value, or just name. # We only care about the vers option. # Have we seen the vers option? vers_missing=1 # Loop through all of the export options for this export. for option in $options do case $option in vers=*) vers_missing=0 # Merge in the vers option. case $option in *2*) unexport_v3="$unexport_v3 $fs" ;; *3*) unexport_v3="$unexport_v3 $fs" ;; esac case $option in *4*) unexport_v4="$unexport_v4 $fs" ;; esac ;; esac done # If we didn't find the vers option, then NFSv3 is the default. (( vers_missing )) && unexport_v3="$unexport_v3 $fs" done UNEXPORT_V3=$unexport_v3 UNEXPORT_V4=$unexport_v4 fi hasrv= if [[ -z "${STABLE_STORAGE_PATH:-}" ]] then query="name=STABLE_STORAGE_PATH AND group=$GROUPNAME" STABLE_STORAGE_PATH=$(odmget -q "$query" HACMPresource | \ sed -n 's/^[ ]*value = "\(.*\)"/\1/p') fi if [[ -z "$STABLE_STORAGE_PATH" ]] then STABLE_STORAGE_PATH=/var/adm/nfsv4.hacmp/$GROUPNAME fi if [[ -z "${SERVICE_LABEL:-}" ]] then query="name=SERVICE_LABEL AND group=$GROUPNAME" SERVICE_LABEL=$(odmget -q "$query" HACMPresource | \ sed -n 's/^[ ]*value = "\(.*\)"/\1/p') fi if ps -eo 'args' | grep -w nfsd | grep -qw -- '-gp on' then gp=on else gp=off fi KERNEL_BITS=$(/usr/sbin/bootinfo -K) if [[ $gp == "on" && $KERNEL_BITS == 64 && -x /usr/sbin/nfs4smctl ]] then hasrv=$(primary $SERVICE_LABEL) NFSv4_REGISTERED=1 else NFSv4_REGISTERED=0 fi V3=":2:3" V4=":4" if [[ "${EVENT_NAME}" != "reconfig_resource_release" ]] && [[ "${EVENT_NAME}" != "release_vg_fs" ]] then # If we are unexporting NFSv4 exports AND this is not a reconfiguration # event (i.e., not a DARE operation), then we will be unexporting ALL # NFSv4 exports. The proper way to do this is to unregister the NFSv4 # node first (which should implicitly unexport these exports). if [[ -n "$UNEXPORT_V4" && -n $hasrv ]] then cl_RMupdate resource_releasing NFSv4_Node $PROGNAME if ! cl_nfs4smctl -U -N $GROUPNAME then cl_log 10200 "$PROGNAME : Unable to unregister NFSv4 node instance $GROUPNAME.\n" $PROGNAME $GROUPNAME cl_RMupdate resource_error NFSv4_Node $PROGNAME STATUS=1 hasrv= else cl_RMupdate resource_down NFSv4_Node $PROGNAME fi NFSv4_REGISTERED=0 fi # If this is not a reconfiguration event, then that means we are trying # to release all resources and should therefore unexport all versions # of the filesystem so that it may be unmounted. Clearing V3 and V4 # here will allow us to gracefully handle the case where the user # re-exported a filesystem with a different version. V3= V4= fi ALLEXPORTS="All_exports" # update resource manager with this action cl_RMupdate resource_releasing $ALLEXPORTS $PROGNAME FILESYSTEM_LIST=$(echo $UNEXPORT_V3 $UNEXPORT_V4 | tr " " "\n" | sort) for fs in $FILESYSTEM_LIST do v3= v4= root= old_options= new_options= export_line=$(exportfs | grep "^[[:space:]]*${fs}[[:space:]]") [[ -z "$export_line" ]] && continue old_options=$(echo $export_line | cut -d' ' -f2- | cut -d- -f2- | tr ',' ' ') for option in $old_options do case $option in hasrv=*) # Squash the hasrv option. We will provide our own. ;; vers=*) # Merge in the vers option. case $option in *2*) v3="$V3" ;; *3*) v3="$V3" ;; esac case $option in *4*) v4="$V4" ;; esac ;; *) # Merge in all remaining options. new_options="$new_options,$option" ;; esac done # If no export version option was given, then use the default [[ -z "$v3$v4" ]] && v3=$V3 # We have established the current export protocol versions. Now clear # them if we are unexporting the filesystem. # If no more versions are left, then unexport the filesystem. Otherwise # re-export the filesystem using the remaining protocol versions. NFS_VER3="" for fs3 in $UNEXPORT_V3 do [[ "$fs" == "$fs3" ]] && v3="" && NFS_VER3="3" && break done NFS_VER4="" for fs4 in $UNEXPORT_V4 do [[ "$fs" == "$fs4" ]] && v4=""&& NFS_VER4="4" && break done if [[ $NFS_VER4 == "4" && $NFS_VER3 == "3" ]] then NFS_VER4="" NFS_VER3="" EXP_VER=$(/usr/sbin/exportfs|grep "^[[:space:]]*${fs}[[:space:]]"|cut -f1 -d","|cut -f2 -d "="|sed s/://) if [[ $EXP_VER == "4" ]] then NFS_VER4="4" fi fi # Strip off the leading colon vers=$(echo "$v3$v4" | cut -d: -f2-) if [[ -z "$vers" ]] then if [[ $NFS_VER4 == "4" ]] then exportfs -i -u $FORCE -V 4 $fs else exportfs -i -u $FORCE $fs fi if (( $? != 0 )) then cl_echo 97 "$PROGNAME : Failed to unexport the file system $fs\n" $PROGNAME $fs STATUS=1 # update resource manager with results cl_RMupdate resource_error $fs $PROGNAME fi continue fi # Versions 2 and 3 are the default versions. Some versions of AIX do # not support the vers export option, so only use the option if we are # exporting a non-default value (i.e., 4) if [[ -n "$v4" ]] ; then new_options="$new_options,vers=$vers" # If grace periods are enabled, then use the hasrv option. [[ -n "$hasrv" ]] && new_options="$new_options,hasrv=$hasrv" fi # Strip off the leading comma new_options=$(echo "$new_options" | cut -d, -f2-) exportfs -i -o $new_options $fs if (( $? != 0 )) then cl_log 43 "$PROGNAME: Unable to export $fs.\n" $PROGNAME $fs if [[ $PROC_RES == true ]]; then STATUS=11 else STATUS=1 # note error and keep going fi # update resource manager with results cl_RMupdate resource_error $fs $PROGNAME fi done if [[ -n "$UNEXPORT_V4" && -n $hasrv ]] then if (( NFSv4_REGISTERED )) then (( count = 0 )) for service_label in $SERVICE_LABEL do (( count += $(exportfs | grep -cw "hasrv=$service_label") )) done if (( $count == 0 )) then cl_RMupdate resource_releasing NFSv4_Node $PROGNAME if ! cl_nfs4smctl -U -N $GROUPNAME then cl_log 10200 "$PROGNAME : Unable to unregister NFSv4 node instance $GROUPNAME.\n" $PROGNAME $GROUPNAME cl_RMupdate resource_error NFSv4_Node $PROGNAME STATUS=1 else cl_RMupdate resource_down NFSv4_Node $PROGNAME fi fi fi fi ALLNOERREXPORT="All_nonerror_exports" # update resource manager with results cl_RMupdate resource_down $ALLNOERREXPORT $PROGNAME exit $STATUS  kꜚy$+@ b՝ab& ./usr/es/sbin/cluster/events/utils/cl_unswap_HW_address@@#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_unswap_HW_address.sh 1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1990,2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)48 1.6 src/43haes/usr/sbin/cluster/events/utils/cl_unswap_HW_address.sh, hacmp.events, 61haes_r714 3/12/04 10:09:10 # $Id: cl_unswap_HW_address.sh,v 8.2 1996/04/12 16:35:15 lthomas Exp $ # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # # ORIGINS: 27 # # # (C) COPYRIGHT International Business Machines Corp. 1990,1994 # All Rights Reserved # Licensed Materials - Property of IBM # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # ############################################################################### # # Name: cl_unswap_HW_address # # This script is used during adapter swap and IP address takeover. # It restores an adapter to it boot state, it is assumed that the # device ODM database currently hold the correct info and all that # is needed is to re-make the device. # # Arguments: INTERFACE - The interface (en0,tr0) to restore # # Returns: 0 - success # 1 - Failure # 2 - Invalid parameters # # Environment: VERBOSE_LOGGING,PATH ############################################################################### PROGNAME=$(basename ${0}) [[ "$VERBOSE_LOGGING" = "high" ]] && set -x [[ "$VERBOSE_LOGGING" = "high" ]] && version='1.6' cl_echo 33 "Starting execution of $0 with parameters $*" $0 "$*" set -u if [ $# -ne 1 ] then cl_echo 540 "Usage: $PROGNAME interface" $PROGNAME exit 2 fi INTERFACE=$1 # # Create device name (en0 -> ent0), check for # ethernet, token ring, or fddi networks. # DEVTYPE=$(expr "$INTERFACE" : "^\([a-z]*\)[0-9]*") DEVNO=$(expr "$INTERFACE" : "^[a-z]*\([0-9]*\)") if [ -z "$DEVNO" ] then cl_log 530 "$PROGNAME: Invalid interface name." $PROGNAME exit 2 fi if [ "$DEVTYPE" = "en" -o "$DEVTYPE" = "et" ] then DEVICE="ent$DEVNO" elif [ "$DEVTYPE" = "tr" ] then DEVICE="tok$DEVNO" elif [ "$DEVTYPE" = "fi" ] then DEVICE="fddi$DEVNO" else cl_log 531 "$PROGNAME: Invalid interface type." $PROGNAME exit 2 fi rmdev -l $DEVICE if [ $? -ne 0 ] then cl_log 534 "$PROGNAME: Failed rmdev on $DEVICE." $PROGNAME $DEVICE exit 1 fi mkdev -l $DEVICE if [ $? -ne 0 ] then cl_log 536 "$PROGNAME: Failed mkdev on $DEVICE." $PROGNAME $DEVICE exit 1 fi exit 0  kO{$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_update_statdress#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_update_statd.sh 1.10.2.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1996,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_update_statd.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: EVENTUTILS # # FUNCTIONS: none # ############################################################################### ############################################################################### # # Name: cl_update_statd # # Update rpc.statd's notion of what the cluster looks like based # on the content of POST_EVENT_MEMBERSHIP. # # Returns: # 0 - rpc.statd update successful # 1 - Failure # # Arguments: none # # Environment: VERBOSE_LOGGING, PATH, LOCALNODENAME # POST_EVENT_MEMBERSHIP # ############################################################################### ############################################################################### # # Function: get_node_ip # ############################################################################### function get_node_ip { if [[ $VERBOSE_LOGGING == 'high' ]] then PS4_TIMER=TRUE set -x fi # This should never happen but the check is cheap if (( $# != 1 )) then echo "${PROGNAME}[$LINENO]: internal error, please report this problem to ibm support\n" exit 1 fi Twin_Name=$1 NewTwin="" # : Get the Interface details for every interface on the twin node : Reject interfaces on nodes that are not public boot addresses : because those are the only ones we have state information for # LOCAL_NETWORK_INFO=$(LC_ALL=C cllsif -J "$OP_SEP" -Sw -i $LOCALNODENAME) LC_ALL=C cllsif -J "$OP_SEP" -Sw -i $Twin_Name | \ while IFS=${OP_SEP} read adapt type network net_type attrib node ip_addr skip interface skip netmask skip skip prefix ip_family do if [[ $attrib != 'public' || $type != 'boot' ]] then continue fi # : Find the state of this candidate # if [[ $ip_family == 'AF_INET' ]] then addr=i$(print $ip_addr | tr "./" "xx")_$Twin_Name elif [[ $ip_family == 'AF_INET6' ]] then addr=i$(print $ip_addr | tr ":/" "yy")_$Twin_Name fi eval candidate_state=\${$addr:-down} # : If state is UP, check to see if this node can talk to it # if [[ $candidate_state == 'UP' ]] then if ! ping -w 5 -c 1 -q $ip_addr >/dev/null then # : Even though the cluster manager thinks $adapt is up : it does not respond to a ping. So, keep looking. # # This can happen if multiple networks/adapters fail # at close to the same time. # continue fi echo $LOCAL_NETWORK_INFO | tr ' ' '\n' | \ while IFS=${OP_SEP} read lcl_adapt lcl_type lcl_network lcl_net_type lcl_attrib lcl_node lcl_ip_addr skip lcl_interface skip lcl_netmask skip skip lcl_prefix lcl_ip_family do if [[ $lcl_network != $network || $lcl_type != 'boot' || $lcl_attrib != 'public' || $lcl_ip_family != $ip_family ]] then continue fi if [[ $lcl_ip_family == 'AF_INET' ]] then addr=i$(print $lcl_ip_addr | tr "./" "xx")_$LOCALNODENAME elif [[ $ip_family == 'AF_INET6' ]] then addr=i$(print $lcl_ip_addr | tr ":/" "yy")_$LOCALNODENAME fi eval lcl_candidate_state=\${$addr:-down} if [[ $lcl_candidate_state == 'UP' ]] then # : $adapt is on the same network as an interface that is up : on the local node, and the attributes match. # NewTwin=$adapt break # all done fi done fi if [[ -n $NewTwin ]] then break fi done if [[ -z $NewTwin ]] then cl_msg -e 0 -m 10743 "%1\$s[%2\$d]: No twin found for %3\$s \n" $PROGNAME $LINENO $Twin_Name fi echo $NewTwin return 0 } ############################################################################### # # Main Starts Here # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == 'high' ]] then eval export $(cllsparam -x) PS4_TIMER=true set -x version='%I%' fi integer RC=0 LOCAL_FOUND="" # assume we are NOT part of the post event membership TWIN_NAME="" # Assert that we don't know our twin [[ -z $LOCALNODENAME ]] && LOCALNODENAME=$(get_local_nodename) OP_SEP="$(cl_get_path -S)" set -u for i in $POST_EVENT_MEMBERSHIP ; do case $i in $LOCALNODENAME) # OK, we survived this event, do nothing LOCAL_FOUND="true" ;; *) # looks like we have a twin to register with TWIN_NAME=$i ;; esac done # : Make sure statd is running locally # if LC_ALL=C lssrc -s statd | grep -qw inoperative || ! LC_ALL=C rpcinfo -p | grep -qw status then cl_msg -e 0 -m 10744 "%1\$s[%2\$d]: statd is not up on the local node \n" $PROGNAME $LINENO # : Attempt to recover this situation by restarting statd # startsrc -s rpc.statd sleep 5 fi # : Get the current twin, if there is one # CURTWIN=$(nfso -H sm_gethost 2>&1) RC=$? if [[ -z $LOCAL_FOUND || -z $TWIN_NAME ]] then # : Local node is no longer a cluster member, unregister its twin # if [[ -n $CURTWIN ]] then nfso -H sm_unregister $CURTWIN RC=$? fi else # : Get the interface to the twin node # NEWTWIN=$(get_node_ip $TWIN_NAME) if [[ -z $NEWTWIN ]] then # : Theres no active interface to the twin, unregister # if [[ -n $CURTWIN ]] then nfso -H sm_unregister $CURTWIN RC=$? fi elif [[ $NEWTWIN != $CURTWIN ]] then # : Need to register a new twin # if [[ -n $CURTWIN ]] then nfso -H sm_unregister $CURTWIN # unregister current twin fi # : Register our new twin, $NEWTWIN # nfso -H sm_register $NEWTWIN # register new twin RC=$? fi fi # : RC is actually $RC # # Return code is always passed back as '0', because # failure to (un)register is not a terminating error, # but a non-zero return code is treated as an event # error by the caller. # return 0  k~}$+>/b՝ab&>/./usr/es/sbin/cluster/events/utils/cl_update_vg_odm_ts#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/utils/cl_update_vg_odm_ts.sh 1.13 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2013,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_update_vg_odm_ts.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM # #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ ################################################################################ # # Name: update_vg_odm_ts # # Function: Given a volume group, check to see if any disk in the volume # group has a time stamp different from the time stamp for the # volume group in ODM. If so, update the ODM time stamp to match # that of the disk. # # Then, update the time stamp in the ODMs of any other nodes in # the resource group that owns this volume group. # # # Input: Volume group name, optionally followed by node list # # If only the volume group name is given, the time stamps are # updated on the nodes in the resource group containing the volume # group. # If a node list is given, the volume group time stamps are updated # on all nodes in the list. The node list is a list of PowerHA # node names, either space or comma separated. # # # Output: return code = 0 - volume group time stamp successfully updated # return code = 1 - no volume group name provided # return code = 2 - cannot read volume group VGID from ODM # return code = 3 - cannot read current volume group time stamp # from ODM # # Notes: This routine only updates the volume group timestamps in ODM on # the various nodes. It does not do a true synchronization of the # volume group metadata. It is intended to deal with the fact # that, varying off a volume group updates the time stamps, and # only recent versions of LVM automatically propagate that change # to other nodes. Updating these time stamps across the cluster # avoids problem reports on the next verify and sync, and possibly # long recovery times. # ################################################################################# if [[ $VERBOSE_LOGGING == 'high' ]] then PS4_TIMER=true set -x version='1.13' fi ################################################################################# # # Name: lspv_in_vg # # Function: Given the name of a volume group, find the names of the hdisks in # that volume group by direct query of CuAt. # # This direct query of CuAt avoids LVM locking and other overhead # that is significant with very large numbers of disks and volume # groups. # # Input: Volume group name # # Output: hdisk names in the volume group written to stdout, one per line # ################################################################################# function lspv_in_vg { if [[ $VERBOSE_LOGGING == 'high' ]] then PS4_FUNC='lspv_in_vg' set -x fi typeset vg_name=$1 clodmget -q "name = $vg_name and attribute = pv" -f value -n CuAt | while read pvid ; do # : Find the name of the disk with PVID $pvid # clodmget -q "value = $pvid and attribute = pvid" -f name -n CuAt done } ################################################################################ # # MAIN Main main # # o_flag="" f_flag="" while getopts ':of' option do case $option in o ) : Local timestamps should be good, since volume group was : just varyied on or off o_flag=TRUE ;; f ) : Update timestamps clusterwide, even if LVM support is in : place f_flag=TRUE ;; * ) : dspmsg -s 4 cspoc.cat 26 "$PROGNAME: Invalid option [$option].\n" $PROGNAME $option return 1 ;; esac done shift $((OPTIND - 1)) vg_name=$1 if [[ -z $vg_name ]] then print "cl_update_vg_odm_ts []" return 1 # Bad input - missing volume group name fi shift node_list=$* PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) if [[ -z $f_flag ]] then ################################################################################ : Check to see if this update is necessary - some LVM levels automatically : update volume group timestamps clusterwide. # # Complex check below needed to catch various versions of LVM efix # if instfix -iqk IV74100 > /dev/null 2>&1 || instfix -iqk IV74883 > /dev/null 2>&1 || instfix -iqk IV74698 > /dev/null 2>&1 || instfix -iqk IV74246 > /dev/null 2>&1 then # : LVM APAR installed which makes timestamp update unnecessary # return 0 fi if ( $(emgr -l -L IV74883 2>/dev/null >&2) || $(emgr -l -L IV74698 2>/dev/null >&2) || $(emgr -l -L IV74246 2>/dev/null >&2) ) then # : LVM efix installed which makes timestamp update unnecessary # return 0 fi # : Each of the V, R, M and F fields are padded to fixed length, : to allow reliable comparisons. E.g., maximum VRMF is : 99.99.999.999 # typeset -li V R M F typeset -Z2 V # two digit version typeset -Z2 R # two digit release typeset -Z3 M # three digit modification typeset -Z3 F # three digit fix typeset -li lvm_lvl6=601008015 # minimum lvm level needed for # automatic timestamp update typeset -li lvm_lvl7=701003046 # minimum lvl level, AIX 7 typeset -li VRMF=0 # : Here try and figure out what level of LVM is installed # lslpp -lcqOr bos.rte.lvm | cut -f3 -d':' | IFS=. read V R M F VRMF=$V$R$M$F # get the LVM level if (( $V == 6 && $VRMF >= $lvm_lvl6 )) || (( $VRMF >= $lvm_lvl7 )) then # : LVM at a level in which timestamp update is unnecessary # return 0 fi ################################################################################ fi found_new_ts="" # : Try to update the volume group ODM time stamp on every other node : in the resource group that owns $vg_name # if [[ -z $node_list ]] then # : We were not given a node list. The node list is derived from : the resource group that the volume group is in. # group_name=$(/usr/es/sbin/cluster/utilities/clodmget -q "name like *VOLUME_GROUP and value = $vg_name" -f group -n HACMPresource) if [[ -n $group_name ]] then # : Find all other cluster nodes in the resource group that owns : the volume group $vg_name # node_list=$(/usr/es/sbin/cluster/utilities/clodmget -q "group = $group_name" -f nodes -n HACMPgroup) fi fi # : Check to see if the volume group is known locally # if [[ -z $(odmget -q "name = $vg_name and PdDvLn = logical_volume/vgsubclass/vgtype" CuDv) ]] then # : Volume group $vg_name is not defined on this node # if [[ -n $node_list ]] then # : If the vg is not visible on the local node, then delegate : this work to some other node in the node_list # LOCALNODENAME=${LOCALNODENAME:-$LOCAL_NODE} LOCALNODENAME=${LOCALNODENAME:-$(get_local_nodename 2> /dev/null)} if [[ -n $LOCALNODENAME ]] then node_list=$(print "$node_list" | tr ' ' '\n' | tr ',' '\n' | grep -v -w -x $LOCALNODENAME | paste -s -d' ' -) fi if [[ -n $node_list ]] then print -- "$node_list" | read node rest /usr/es/sbin/cluster/sbin/cl_on_node -cspoc "-f -n $node" "/usr/es/sbin/cluster/events/utils/cl_update_vg_odm_ts $vg_name \"$node_list\"" fi fi return 0 # # The astute reader will note that if this routine is # called with no node list, for a volume group not known # locally, no effort is made to check other nodes. # fi # : Get the vgid for volume group $vg_name # if ! vgid=$(getlvodm -v $vg_name) then return 2 # Cannot get volume group VGID from ODM fi # : Get the volume group timestamp for $vg_name : as currently saved in ODM # if ! current_odm_ts=$(getlvodm -T $vgid) then return 3 # Cannot get volume group time stamp from ODM fi if [[ $o_flag != "TRUE" ]] then typeset -E24 E_current_odm_ts # digits for significance typeset -E24 E_disk_ts # digits for significance # : We only have to check the volume group time stamps against : the disk time stamps if the volume group is not currently : on line. # if ! lsvg -o -L | grep -x -q -w $vg_name then # : Volume group $vg_name is not on line # # : Examine all the disk in volume group $vg_name : looking for one with a timestamp different from : what is currently in ODM # for vg_disk in $(lspv_in_vg $vg_name) do if disk_ts=$(lqueryvg -Tp $vg_disk) then if [[ $disk_ts != $current_odm_ts ]] then # : Turn the timestamps into large positive integers, : since these are 'ticks since epoch'. # E_disk_ts=16#0${disk_ts} (( $E_disk_ts < 0 )) && (( E_disk_ts = - $E_disk_ts )) E_current_odm_ts=16#0${current_odm_ts} (( $E_current_odm_ts < 0 )) && (( E_current_odm_ts = - $E_current_odm_ts )) if (( $E_disk_ts > $E_current_odm_ts )) then # : Disk $vg_disk has a larger - more recent - time : stamp than the ODM timestamp for $vg_name # current_odm_ts=$disk_ts found_new_ts="true" fi fi fi done if [[ -n $found_new_ts ]] then # : Update CuAt, and the copy in the boot image for the local node # putlvodm -T $current_odm_ts $vgid && /usr/sbin/savebase > /dev/null fi fi fi # : Is an update necessary? # if [[ -n $node_list ]] then LOCALNODENAME=${LOCALNODENAME:-$LOCAL_NODE} LOCALNODENAME=${LOCALNODENAME:-$(get_local_nodename 2> /dev/null)} if [[ -n $LOCALNODENAME ]] then # : Skip the local node, since we have done that above. # node_list=$(print "$node_list" | tr ' ' '\n' | tr ',' '\n' | grep -v -w -x $LOCALNODENAME | paste -s -d, -) else # : Make sure we have a comma separated list # node_list=$(print "$node_list" | tr ' ' '\n' | tr ',' '\n' | paste -s -d, -) fi # : Update the time stamp on all those other nodes on which the : volume group is currently varied off. LVM will take care of : the others. # if [[ -n $node_list ]] then _CSPOC_CALLED_FROM_SMIT=true cl_on_node -cspoc "-f -n $node_list" "lsvg -o | grep -qx $vg_name || /usr/sbin/putlvodm -T $current_odm_ts $vgid && /usr/sbin/savebase > /dev/null" fi fi return 0 e_ l$+[b՝ab&h;./usr/es/sbin/cluster/events/utils/cl_vg_fence_initts -"_et ,.0128:;Aacdinrs (-3456=@H`fgklmopu| %/79JKRVWYjq"'Q^+񇛞{hQ`Hq8δ!I@)nб$lZY;jvv~z J*Ό7hY) :kURFŸunĿ)F.bPT/1Vh :nk2fDPmCy>24 AR,a ڣjSjs4<> S>U w)   ` ʭ1_| (Q5F@U _U 45%?bpڄ%C%qDžV{, y:4:*G>7 'oϪ>.D{Tm#OSρH[D{Tmxdq٠|V<#ڣh5Y|h:x<|*|>@#D{Tm#OSρH MeI2 _H3i0mO# 54׆a)qJcCtV 38 ÅgG Ϛ+>p `¸^^D{Tm)| Iq@Rm +EOM8g߃@Cꐀg`pT@Xφ99⨅S V+#I8HP8 4!&}T9[6EQ9]gXg@>|5_ ր8j# X[8W**"qPlhφ@>|5·@' Yn>N\XV3'GU D{)68V|5*o´qTx.}TrӅgRd+NN3* _U D{)6³V,| sQ@Rmm9\³VD)WN5ϬM8fxTt'+fȪ:dBqPl>|4ӆg%Q>@"Dp\Zwm>CJBlD>8U=R>@RUiRiOUWHV}3 N¨RlٕGGF:)Wi:؉8hp _U NrITx|V}jwG+qP`- _NG@+S>G9_}YY9\ Nůqk83h/!!6"N Ne%Q_U }Y;򒨄C V+wOM4*}T9[6eQ?}\XE*'X' NȊs>np=}Ysg pR)|nhy IK՟88V4#}Y%' Ϝ>TihFVpҨ겾 ørN = IcQU }\ppgDgGR+[LS"#IS?EIGtQ>@3U D|;d8J RùK沧; *'+ʣ`qb#ڣh }YpiD)Wi:؉8hp/*U }\±/'Y>pTBƔ"'TUR w`8kinh|83ӬdWʰ:!qP`-GJuKSṡ%*d+hůqk~)WN5T=>mqJII>8UuRχ%QRqSGF:UGHY=)6m*Dz>Rlu GF`hšw,TBLXeeugɩϧV|>5 Uóp`4'V|'~)*}YJugTl}9^piTσ;eQ5+qkZjip>N έ!!6"N *+}T:!iR+[L*|*DTm N¨U *ʟW"=6_/!ӫ@ucCVj}8Sgw`]9T@8Wũpf=!!6"N *H>GgHnV 3XXpX@4|q8g%* ՟S)*%+S>F³ϛ+>_GJuD83:Ruu' URχ%Q@p*}\T,)5GRhe&!{G V+RuuOwH 'ňjtRup9T󯪐'+h`p-|;_OpnCJBlD>8U<>nU敖,XQ8hp)*}TqR#ڣjES֧V|*w)N m:ҩ@qkZ=N !m)pXT_U N;R>@kriOHf3|*85k"?6' NJCH+_jpf(!m)pXpltU }\9vʣR+[L*|*D}5F/ňꍤ Gp>*Dy2jJII>8U:7HWZ"N>NRU:}YJugTHWV|58V4sQug֧*r2p-|;_PաӇpft:`lDcVS ՟Q @p*}\T,)5FyRhe&!{F>@kri-*'X'XU >@U>,D{Tm_a[iƦP?>XUNy;l+*REXV|83ƃ;fz# GCO:u>`rMY©7S惧[Fjm*8U }|tx+|MÅRoOϡ-8U }|tx+|My©7S惧[Fjm' OoC?TA~g#568U }|tx+|ʡ!)~4.n1.?š@fɐa!.6VAXw+f bb!.6xJ}Pj=j\~|!.64rHpڄj\"?"jQdnB@: #i d" 4␌'V@ 'A`ȹ8@ G Gi0xW8XCo A8-! A8At q V _A`!\mB h!HPqPڄD+~мAp-D; C\mB hhPo:5l!),2Fy©7S惧[Fjm/8U }|tx+|MG OoC?RoOϡȺx3 tC02\x.<*6 v5P@"> tb#08d $B5)6Ð φCP, Ԥڈ5A>hP, Q0zA2 Q0 T٘~ C$c3Si©7S惧[Fjm|TA~g#4,ahF Ȫg~ OB&@J؀*>|U>h:x<} fTA~g#56*>|U>h:x<} fӃRoOϡ*>|U>h:x<} fTA~g#I@-I@J$@|('J:Rt(XX&`&XpL^\L :k/\5,x^j$"$A$" $$T q2a2A: &KG#Y u`1ĬGV#`TDGV#+蕈Jz%b=-{bKĬP!LV#X0V2宼bXn`6(&n (ZAX[X^Wu< V*0u!((0-pqrU+:!+kX닗x0 T!:DG͋3DE˗yg^X&Q[X^Wu< V*X.y!+HDB:c.^J1PbBUVkX닗x0 T!1Z`\p+t(0-pqrU% XB, X^Wu< V*,nXZȈJ(0-pqrU,K* ^е$"UX \,uz\\shb BWt-`bfdD%bj$"V=a{ ^/\`%ZBbX x,uzB&fDBV(X VFkX닗x0 T!b1,μ:ck3"!+HDHBU`bR01/30u k3 B0014^а1Bshяx'bDPk"yKXсf#F{;eB%b0#X KBZ & M4,, P\Ĺ 4hǺ \,uz\\shb &u X JQ!^@hP Tғ'//:c.^J1P`:X L̈V(\Z/xJĈJ(Brҁ*DiIBTғ#a{ ^/\`%ZBbXjб X XX:Bb"UBV!B$&fk(B%H)9yx"4$#Յ \,uz\\shbX X!B+:V:YP\Ĺ.B"cP/u* y o:=HPi*BQrRAzXذ1.^&X^fX :"c7,/p`Zc:F:btHS%%qXX1:$!c) H*$B,I@,nvY#bԑF'Jwxi 3qp+uyH)v F^vb#ݯ,`Hkl/1){%#ݯX^c{宼Hkؙ0\#ݯ\י0\ױy_G^d,?G^`b%{8F_W#]1Z`0^cH;#H;)|ו#_qqH58l΁ohII BLH_:$ΤOgRP |II@SgRP~$Τ* 3(\II@ia&u%&u%kgRP'gRP&u%hII@LJ$Τ]&u%ψԔׄLJmbLJo:pgRPGgRPW 3(Q&u%:"LJDԔ$Τ:6$ΤLJ}:&u%AbLJQ&u%DL͋3DlX ذ EPp #Wb/`/\.1Z`]3paaj5v"r^`]3p, &, Fck Xzrr`FN"A12d0t`!q.^pYyy غŮ.^0w@bX0pn"1Z`\p+wbX1μ:ck3,}`+t,uzB&fXBWt-`bfeQX̽ հPbdd򇒥$ǔBBl)H)24q変yCĄd H"Hc$'(V"R)#M H"Hmx9B R'RFmCĂl)HN6ڇR+`JE"u$i+ >f%'q%(#l{ūZCɊ 홸{yCĥd+W: tT&'(#Ma9B RL' -qd R F* E"$L`jdȉ"JN/\\: "%N):+ b8/\\`X Z9*$V.q@yA12!:dIԯ1Za:$R L-q kNJ'JPFH-t`NJ'LPN  \,-qj%.^ZNHPĜzT$DH"35T &H*dV0^b2"RTTajyCH"AB41,XZ I IW0uA9:$$RffjaB"D%LJKXIS$Lj ȉSDHJ}`İrP:rq>>qAB RH(RF X \,-`bfd^P-(bNzT$DH"35T &H*dE-)*tDak^q Ҕ c(,#JP𜘠)#JE99CD<@DD{Ң$L2غNH"e. ^@"e.-PFH*d蒓pq{%%%DK1yjTD""D\q{r.J(L2 V("L"e*t`$5 r|}CqAB RP6-p^굮P-Nd+-\ATI&RbtD%'R^0V2PF'DJRu..//u89*$8`Ĵ 1N*"JN%PF'DRu.1ui&DHJVo1u Rq/1PF'DRu./pkbtII%'Rၒ䈉"$L% P9*"DTŊV^bZX` `邁:$)qzT &DHKT Ӣ'%DHKD('DHK]yBrdIS'DHK]xXATII"$Lņ&kPFQBdDdj4&%DHK%TD"e*q+yj(N'ǔ<(JPXJHP1AaU8iT )ǔ<('(,#JP9AaU84q HPX(Hy*DiTbJ1A.!PTiR%HJPHIp+uǔ\Ĺl+J ɱ^pPN 󅎯X:\$q5q@&`/p`Zc:qcV,bjݠḈvsDGvr ;#|DyA G7h H[5n-n=09!nt0^yEnu@sy@y@f 7<<r^yq䅹/<}Cȶ'$-ςChbrBh NH[{CEC@h䅸}hrBh NH[mZrBlshG$-{G$-19!n6K NH[2h^rBlm H[}PrBl =#9!n h䅸g H[S H[!49!n8h)c~ѡ q}Ch{@䅸h+4䅸h H[FF$-B>м䅸 PrBxh19!n<[g$-Ǎ q/49!n<NH[G6䅸h䅸Y/9!n!+$-#=Soi q<s$-'$-"49!n[jrB^@ѡ th19!n@NH[M䅸HKhrB$+59!n=0䅸H H[19!n=y p 6A p䅸JSjrB%mY p_$-W䅸J v p"."#@?B#@ n"-nxvG#h_7m|FM8)nA""< 7 #bO7 >Dyr qxpc7 qÑppDyN=xp s!ponGFŽ%$l/В6WÁ%%}J$񐒒RP|JJII@2BJJNJJ,RPJJ߅"JJ~<$8JJĔB$[@RP Dא)(H$tbJJ(RPW DRPRP )('RP )(JJ/鄔)(lII@z%%CtII@9E<ZnxgX 7< 6災s&nx!7<i[?>#[ ϋ 0!n|7>¶pF7σSs7>`2?sG6i&n4-n4 ۍ `8hƍ!{q X`h@.n47chkۍ̛v-ŗPɸo3n6ۍll"@Cv.n Cn %QU  D@2n  Ѹ7"vp;q[Kq7)u|Sqeێh7?E&vq~x@Dx7!7 7xɸv0B6JB7$n!2e f*n!BnBhu:H+D tt&m5#tɠn4F|6+IJ$HF"&[ۄ 7 7 J[P!n[^Ҧ ?h-nVH%> DmpJ+nh M7 CmJ Pp'nyJEJpלXZ߸V _AAֿ.:p3ֿX0^cεƿXo+//1Yk~X_{ .{εǿX^c:ם^0εǿbdr?ZߌX.yu=,εǿb Zߙ:_{/0uZk~{w.k|wPܹ߬`귺J;5>{;P9ܹߺ2\s\Cb͐-n͒Ŵn8lnв\_q/+`vqzS;k~>=󔑱l\EN -YI@-ε7%l Fֹf2pdaam%u̜0YP=;k&o%w:?L%Eε ~q{VlO#?~w;5WQvN?;қT%spajh$ Fߝ˚_Psֺǿp/ε7jJS;k&o J\3(Z N_;k&oeBlO~t?Η~g͖o͖of7xNJPF/e͖o2lf7tEf΁f7tٲ },lzI T͖oٲ"l,Iff7xٲ =,"l瀛ٲ>͖o͖o?l,ٲ,&llzɊr_f745fƄ~͖oie͖ohٲe/e<'$( Hɽ,f766Y 6YCtHOf9f?f'JPIfٲNHPMf͖oPrb9/elz͖op6YCu>͖oP!@RFٲ{6YUfof78 =,ޡA1@R'Kfٲ t͖op ,,{f?fl#l&lf7:͖ot͖ou?e~͖ot͖ot>͖ot,ٲf7:>͖ot6Y 6Y 6Yyf@ٲef&&$(f7!%f5<e^02y? ٲk Yl_Z͖k33\A!'>,0l_?f5<33eyA)'>2f513^4Fl_>6Y>eݛ,Eϛe֮b\A96|,Gχ,f",>f51%f lڍ?l7K>D^ BH$Iܹh_(Z ebFhY@x+z&+ki?G+՘;l4[F U\6Q,2VYֶ01:#cZ͒Ŵb&@nk(`.Xbd mgZ ;#]:+YֶF` Unkh1fnkh1L6;@>͒ŴbVoε[izY@xђp8\"|on=ہVm~toˑ<͒Ŵe񅸈\"|oe񅸈u/΍Z^yr6=T͒Ŵl^`aq\"|ol^`aqu?΍Z^yr6=X͒ŴfL/xDqk.k~>73& Yn"8khtoˑ <[Fɂ7UEؙ0\ *kh3뗗#c ٲ@xٸ ˚_ٸ εtoˑM$-5ȿŻcm΍Z^yr6= doͻi-er/3nKYֶ)ѿK/.FǴL <[Fd,- er/Fd,- gZ΍Z^yr6=d͒Ŵk`\"|ok`u^\h;f2^V{k.k~>72^V{k:~toˑ <[7n5EFkh΍Z^yr6=@xb]yp E+xט ε΍Z^yr6=p͒ſ΁Kr\"|o΁KruoѿK/.FǴl-p`܀Z˚_Fruk:_΍Z^yr6= doD5ȿDkh :7izf@@'[k.k~>7@@'[k:?:7izl-t! er/Cnε:7izf2ۄQk.k~>72ۄQk:;뗗#c6HѬ`귶8?5ȿ{nYֶ뗗#cf͛6l-\p8~\"|oc wnε/@JXqL FѸ၊/\ p͋Zbqzf+Lu V8z+/\ ݱ,g^ ^е`+t,uzB&fV%KVXZʱZu \,uz\\s,qŌW-`CkcpYyy غŮ.^0vS ׼ fThщ#F&FL13 "c6,1 q{UbFB+` 2HH2D`BR#^ .bFsˌW,1`P$ !X1\bDiBFFFuZ..^7x^kXzUKq'.^{Vz`bf<Nj8z`bf^Ľ<7/vV:%o8z`bfѣ#F&FL124bdhщX&%$u͋3rel^uуb&3yq{2:c.^k :"ĨR$PBaB%CFb9$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_vg_fence_redots#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_vg_fence_redo.sh 1.3 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2013,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)93 1.3 src/43haes/usr/sbin/cluster/events/utils/cl_vg_fence_redo.sh, hacmp.events, 61haes_r714, 1442A_hacmp714 10/10/14 00:47:45 # ############################################################################### # # Name: cl_vg_fence_redo # # Function: Remove any fence group created by PowerHA for a given volume # group, and recreate the fence group reflecting the current # volume group disk membership. # # This is necessary if the disk membership in a volume group has # changed, by extendvg or reducevg, there being no convenient # mechanism to modify a fence group membership. # # # Input: Optional '-c' operand, indicating that failures due to current # fence group not found should be ignored # # Volume group name. If the volume group is not known on the # current node, any existing fence group will be removed. # Conversely, even if there is no current fence group for this # volume group, a new one will be created. # # Optional fence height (as accepted by cl_vg_fence_init) to # leave the new fence group. If this value is not specified, # the fence height will be set according to the current # activation state of the volume group. # # # Output: Any messages from fence group operations. # ############################################################################### PROGNAME=${0##*/} if [[ $VERBOSE_LOGGING == "high" ]] then set -x version='1.3' fi integer RC=0 # Saved return code # : Check for optional '-c' parameter # if [[ $1 == '-c' ]] then c_flag='-c' # Ignore fence group not found errors shift fi VG=$1 # Volume group name UUID_file="/usr/es/sbin/cluster/etc/vg/${VG}.uuid" # UUID tracking file for $VG fence_height=$2 # New fence height if [[ -s $UUID_file ]] # UUID tracking file exists and is non-empty then # : If there is a UUID tracking file for this volume group $VG, : remove any fence group currently in place # # These operations could fail if the UUID tracking file is stale, # dating from a prior IPL # cl_vg_fence_term $c_flag $VG rm -f $UUID_file # clean up UUID tracking file fi if [[ -z $fence_height ]] then # : No value given for the fence height. Determine it from the current : volume group activation state # if lsvg -L -o | grep -qx $VG then fence_height=rw # read/write if volume group is online else fence_height=ro # read-only if volume group is offline fi fi # : Rebuild the fence group for $VG : First, find the disks in the volume group # VGID=$(/usr/sbin/getlvodm -v $VG) # LVM requires VGID for other commands if [[ -n $VGID ]] # Volume group known then # : Create a fence group for $VG # PV_disk_list=$(/usr/sbin/getlvodm -w $VGID | cut -f2 -d' ') cl_vg_fence_init -c $VG $fence_height $PV_disk_list RC=$? : Exit status is $RC from cl_vg_fence_init $VG $fence_height $PV_disk_list if (( $RC != 0 )) then if [[ $fence_height == 'rw' ]] then dsp_fh=$(dspmsg -s 103 cspoc.cat 350 'read only,read/write' | cut -f2 -d,) else dsp_fh=$(dspmsg -s 103 cspoc.cat 350 'read only,read/write' | cut -f1 -d,) fi dspmsg scripts.cat 10511 "$PROGNAME: Volume group $VG fence height could not be set to $dsp_fh" $PROGNAME $VG $dsp_fh fi return $RC # Pass back any return code else # : LVM does not have a VGID for $VG. The volume group is : not known. # dspmsg scripts.cat 503 "Volume group %s not found\n" $VG return 1 # Volume group not known to LVM fi / k$+<b՝ab&<./usr/es/sbin/cluster/events/utils/cl_vg_fence_termtsa!YH  0P0 L01L.textPP PRU .data0 L0 L L@.bss00.loader#.debugj< B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$H UA| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@a8`aLal8`HqAaPaP(A<P8$8HuA,@ 8`aL 88wHyAa,@aca@Ha,@\aca@ac8HA,@8`alH a8pHA8`H\H a8HA8`H<@8<8aXHA8`aHH8X8`8aPHрA8aX88HAaTaT,@0al,@8aPHA8`H8`HH aL,A8P8H=A8aX8H`8`aHH@88aP8H1AaT8X8HAahah,@ al,@8aPHEAH aL,A8P8 HA8`͐aHH8X88aPHAaTHuAaDaD,A8aPH݀AH aL,A8P8HEAah,@ al,@ 8`H8`H|8ap8 Usage: %s [-c] cl_vg_fence_term[%d]: close(%s)cl_vg_fence_term[%d]: unlink(%s)cl_vg_fence_term[%d]: version %s cl_vg_fence_term[%d]: read(%s, %d)/usr/es/sbin/cluster/etc/vg/%s.uuidcl_vg_fence_term[%d]: open(%s, O_RDONLY)cl_vg_fence_term[%d]: sfwDelFenceGroup(vg=%s uuid=%0.16llx%0.16llx)cl_vg_fence_term[%d]: sfwSetFenceGroup(vg=%s uuid=%0.16llx%0.16llx height=%s(%d))@(#)94 1.4 src/43haes/usr/sbin/cluster/events/utils/cl_vg_fence_term.c, hacmp.events, 61haes_r714, 1443A_hacmp714 10/20/14 14:20:58P000 L0 x0 QP___bzero@'@errno@close@ unlink@ _Errno@ exit@ open@ getenv@ sprintf@ printf@ read@ strncmp@ perror@ 4@ __crt0v@A@^@ q@ __start0! 0 L0 P0 X0000000000000 00 0 0 000000 00 /usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibstorfwork.ashr.o#@VPDcl_vg_fence_term/5765E6200/520 ___memmove __mod_init__malloc_user_defined_namesfwSetFenceGroupsfwDelFenceGroup__default_char:t184=-5int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5 :t13=f-13;:t14=ar0;0;7;5:t16=ar0;0;2047;-4&fd_set:T17=s8192fds_bits:16,0,65536;;fd_set:t18=17time_t:t20=-1suseconds_t:t21=-10timeval:T22=s8tv_sec:20,0,32;tv_usec:21,32,32;; :t24=f-1;:t25=ar0;0;6;5 :t26=f-1;:t27=ar0;0;13;5 :t28=f-1;:t29=ar0;0;4;5:t30=ar0;0;255;-2:t31=ar0;0;255;-2:t32=ar0;0;1023;-2:t33=ar0;0;15;-2uint_t:t35=-8 uint:t36=35:t37=ar0;0;39;-2u_int32_t:t38=-8unsigned32:t39=38u_int16_t:t41=-7unsigned16:t42=41u_int8_t:t44=-5unsigned8:t45=44 byte:t46=-2:t47=ar0;0;5;46_uuid_t:T48=s16time_low:39,0,32;time_mid:42,32,16;time_hi_and_version:42,48,16;clock_seq_hi_and_reserved:45,64,8;clock_seq_low:45,72,8;node:47,80,48;;uuid_t:t49=48Gsfw_fgroup_set:T50=s60name:37,0,320;uuid:49,320,128;height:36,448,32;;sfwfgset_t:t51=50:t52=ar0;0;39;-2:t53=ar0;0;39;-2uint64_t:t55=-32dev64_t:t56=55Fsfw_fg_disk_in:T57=s64name:53,0,320;uuid:49,320,128;devno:56,448,64;;sfwfgdin_t:t58=57Ysfw_fgroup_in:T60=s64name:52,0,320;uuid:49,320,128;disk_cnt:36,448,32;darray:59,480,32;;sfwfgin_t:t61=60 :t63=f-1; :t65=f-1; :t67=f66; :t68=f-1; :t69=f-1;ssize_t:t70=-4 :t72=*-11size_t:t74=-10 :t75=f70; :t76=f-1; :t77=f-1; :t78=f-1; :t79=f-11; :t80=k-11 :t82=f-11; :t83=f-1; :t86=f-13; :t88=f-11; :t89=f-1; :t90=f-1; cmdline:-1verbose_flag:-1 errormsg:30msg_string:31vg_fg_uuid_fd:-1vg_uuid_file:32 read_size:-1 c_flag:-1set_height:36 set_fence:51 del_fence:61 __func__:V29cl_vg_fence_term_c_sccsid:V7RfV,n.r0v^z`46bdxBxnz|~~J2v8 %*$%L*l*//49*$H/\>9*/C9 *DTh /HMM94*DTh /RMM9*0M\/hW9* : *< R> z@ B D   F FH  @  L J L N P &R0 L^0 Pv0 Xh00V0*0p0*0"0 0\0t0$0000000000 0&00 (0 0  &'()*.4/<0@2T3\5`:t;|BCELMNQRT U\,]P_h`tghjlmtvwxy{| ,4<L\px ,<L\p$Ddt___bzeroerrnoclose unlink _Errno exit open getenv sprintf printf read strncmp perror % __crt0v0K \ TOC0k__crt0v0k%0km0k_$STATIC0k00kerrno0k_$STATIC0kgetenv0kstrncmp0kprintf0ksprintf0kopen0kperror0kread0kclose0kK0k_Errno0k\0 kunlink0kexit0k Ugwj g.__startPk.__startPV__start0 m0 Lk,p_xargc0p_xargv0p_xrcfg0p_xrc000.fileg k`)D nT@ kn_$STATIC0 xkeE0  j0}0000.fileg% :t85=-13:t73=-10:t71=-11:t54=-32:t43=-5:t40=-7:t34=-8:t15=-4:t12=-13:t9=-1:t4=-2:t1=-31,:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;<MZk:t19=*18:t23=*22,8JVg{"6H[i{$m:t59=*58':t62=*51:t64=*61:t66=*-1 #/<:t81=*80HU:t84=f7;a:t87=f3;n{:t185=Z`k).main` main:F-1.bfeXargc:p-1argv:p8VG:7@rc:-1DHLPenvptr:7PTXuuid:33Xhl p/.bs>,.es.efe!_$STATIC0 k.bsM .esnoname g.strcpy k9.strcpy moveeq.s g.bcopy @A).ovbcopy @ ._moveeq L .memcpy L .memmove L memset.s g.bzero )glink.s g.exit $k(.exit $glink.s" g.getenv k(.getenv glink.s' g.strncmp (k(.strncmp (#glink.s, g.printf Pk(.printf P(glink.s1 g.sprintf xk(.sprintf x-glink.s6 g.open k(.open 2glink.s; g.perror k(.perror 7glink.s@ g.read k(.read <glink.sE g.close Dk(.close DAglink.sJ g? k(? Fglink.sO g._Errno k(._Errno Kglink.sT gQ k(Q Pglink.s g.unlink k(.unlink Uc.___bzero___memmove.___memmove__mod_init__malloc_user_defined_namesfwSetFenceGroupsfwDelFenceGroupcrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_vg_fence_term.cWed Nov 24 00:04:29 2021 .sfwSetFenceGroup.sfwDelFenceGroup lB$+[2b՝ab&./usr/es/sbin/cluster/events/utils/cl_vgsa_onetimets 10t ,.18:A_aceilnors -/23456;=@HPbdfgkmpv $%(9DLMNT`hux| !*7BCEFIUVX}#&)^w~+Q{dƓ)xP@!%$WsC,;< VmZD) Fw,9d `߅''guXwʐ_ ݸ*֧.R 7?ܡ.RZ/0| P&)>6b ! @m&A`N}  Ʀg13|Nt)},|O6X!\ly񉨀Aʿ/y:D8|%?L3S/Lbh9 X1X|@p̭b!lf_:+|RXқBU c7[B-)U c7[B-oJm TDD- gEo _K|"@ޔo[Ί:>jk+Fʃ@TV M8 b >>3S/Lbio143 RQvA!1npTp)F-4'd `K8Nc,76|ՒaDe+ScʍB1mJ0ՒoJqӲ 7i)HlvFTWl>>Zʼn]>vCN'd9};!04Wl.},}yQD!4 Bo+ùR4 Q {欇(Ӳ,F2+|[уFEöA4c+pONȱ\>ʐ6ʼnQD<>Zʼn](қGњfWh KOc#lO,F2\l>yR7hY\>>>p(}[,F rj%Eveb0wHX;hJ K+ѧw󯧊7 &F уFEö@ FXe\l%},}oь>>p(}>W[,Fqr5*_K+ѧƀ8X^t>xzSh3Yb0tȅ`ёb0퐡yb1 D/TW c ooJmFXW _K+Ͼ)@ޔ>X5 "},}A^7ыr F"h–@!VҾL12NgAX3 c1[ODjm+8K|tb!lf+|MogF"bΟ,8K|tb!lf+|MX3 c1[OE[ŀ 0`5 P1Ql$r,@0h qh5 CQQlvvE1Ql$r-zu('d)qQlvt Tm> #G b4Cch|6C b@!F棑hn# lTE4RAPF Qʍ9@'h,bGarxرpTm>8 CȄTm>P8 ApTm>rz ߟh/O Rhy EF5BaQ.0Tm>9=:Aa$hhNoi'X>U'.Pf ł~ļ Qs)AL}(BpeJm (Sh Y@қJCBJR- CWA5 J PgC@3F|4* LX ``)x dA`1 Q*m@v,]X60(Pl`nȨ|,*q%"in,p_dTm>Fnvn$,VD!ȁ^ "i)vE@|,*3dTaTE@ cpd7;d7Y P"@v,@ߟ_gyr Fp>LBV<2E cΌD-o?/,}шxe"56=)[:_#SjogF"bΟfp>LBV<2;.Aϻp30D('>}zEW ׮"PyEJ"Lr)˗TST >Qjˋ-ZXii }YD#EU*ȕxJ-O*0x1|VE>dR".RhEȋuUP%^xJ!*ȕzCU*ī+\eHdbFO0hČ׼媌9NZJ@:Ap |Ʌ |Va>Z)ˁ)).>@tuk.֮P)Zyp^pryItRzKπjy/)Pi Lb)BRHkW W1^JC40^2Պ^TdrB#C) /Nj/*2R!E+Z .G5 /Nj/*2R!KT%^ /Nj/*2R!jV`Pb\L19ϟDIԯ"\DR% RI/"Z% /Nj/*2RB ЋTzԯL+DJ}""4dHDL*G]Y,v:ܵv:dAvxl+RrſϨVzPg*Z[ v}0\rſCR0TT9jVv|r*4*5ʖ<_sk,xs\Aϙ\jϪZ?v}2e tPg~T5ɗscse vxH6 a(#m;|i8m;>AtvH6{m;qӷ$NvH6p vӷ n ӷpiێN%DNG$N|>A®m;pQN+1ӷu!$[r nD**:$c mC<u'q@nO ݞ\.>dgda(#{8.A. \ۇPAvFAv, pEnH.?n 8zAvn n;P^t|ۀo.*](n])" 8ۂ&屍-xۖU-B- *@yl!@˓''DW\%rtQ#rtJg&ru\O)rtW'@9: asO ܝS܍9EFЦ\ pr4 Ѽ9 #@79sTh#m#`ndl#9W^lG#oA+:l_6r6 `r6SqnF8,r6>rL+ZOi9eKK˖-g~`i95+ 㟗TLa?sk,x?s5ʖ<_{˖(23JW3?TCLi9d<g~,oݎY?(\n<λqY<*vŞwL$Ģ-vb;vQk1gyԮ\ovYņo KXfad YXf B^ņo= ',3= CņoH)9HTBMXf?XfAXfa_0.~ kuK( %rΥ?: Qlv,3ju !1yrB\ `,3_y[kX1aԬ43yrBm,3_vEXfC߲alAk j 8u P_b8R_!K?L$Ģ-vZY j 8/瘰GЁ P_b8Z9"ŁL(WA%?g1gd'{˔[vU_d Xl…{˖(N«;L߁ ,1B͘P*{9qg1g K/Yg0Va0/3\cCb~<75ʖ<^> l3Xbv,6aBr 9*NcR:JCn%? QR|->,yJ5ʗ>*yRՇ֮>0  ^jt.u HHOЦLr*Xɞ.RzeK B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xH` ,Ab$H A| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@axbDc,A(8`Xa@@bH8@8HAax88H̀A,AXbDc,A4T@bH8lc8HAcHՀAaxHA8`HbDc,A(8`ja@@bH88HAax8D8HɀA,AXbDc,A4TbH8c8m8HAcH1AaxHMA8`H\bDc,A4bH8aD8aL#8 8~HeAaxHA8`HHh|8!`N A check_read|!@8`a@bDc,A,8`aHHbHbh8HAH~l88HAc`d`DD,@@THbh8cHAcHA8`a@HaDK-a@aDHAa@Hh|8!`N A use_force|!@a8`a@aTH8`aTaTaP8aX8`a\Ha8HyAa`a`,ATa`8| @@ 8`aP8paXa\8ca\a8 H)Aa`a`,@c8`H1Aa\| @<8TH=A888HQAHA8`H\a\,@acHdHacHd8H%AaLaL(A<L88H)A,@ D8`d88H%AbDc,A$8`aHHbH8HAH~888HɀAc`d`DD,@DD,A,TH8XcHAcHAK}H0aDKqa@a@,A K]Ha@HHx|8!pN AmainLA L| N PA L| N XA L| N \A L| N `A L| N dA L| N pA L| N tA L| N xA L| N |A L| N A L| N A L| N A L| N A L| N 00|0@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:21vvvhighmainselectstrtolduse_forcestrtoimaxcheck_readscripts.catgetdtablesizeSC_FORCED_OPENVERBOSE_LOGGINGcl_vpathreset[%d] version 1.2 cl_vpathreset[%d] read(%s, %d) cl_vpathreset[%d] read(%s, %d) SC_FORCED_OPEN || SC_RETAIN_RESERVATIONSC_FORCED_OPEN || SC_RETAIN_RESERVATIONcl_vpathreset[%d] lseek(%s, %d, SEEK_SET) cl_vpathreset[%d] lseek(%s, %d, SEEK_SET) cl_vpathreset[%d] openx(%s, O_RDWR, 0, %s) cl_vpathreset[%d] openx(%s, O_RDWR, 0, %s) usage: %s [ optional flag -v] cl_vpathreset[%d] PVID of disk %s is %0.16llx %0.16llx cl_vpathreset[%d] openx(%s, O_RDONLY, 0, SC_NO_RESERVE)cl_vpathreset[%d] openx(%s, O_RDONLY, 0, SC_NO_RESERVE) @(#)52 1.5 src/43haes/usr/sbin/cluster/events/utils/cl_vpathreset.c, hacmp.events, 61haes_r714 11/28/11 15:15:060 P000 0 0 (0h00 0l0p"MXerrno@close@ lseek@ exit@ catgets@ getenv@ sprintf@ printf@ read@ strncmp@ perror@ $@ getopt@ openx@ 0@ __crt0v@=@get_catd@ __start0t! 0 0 0 0l0t0x0|00000000000 000 0 00 00000000 0 0/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.o @VPDcl_vpathreset/5765E6200/520 setlocale __mod_init__malloc_user_defined_name__default_char:t166=-5 :t7=f-13;:t8=ar0;0;7;3int64_t:t10=-31intmax_t:t11=10 :t13=f11;:t14=ar0;0;9;3:t16=ar0;0;2047;-4&fd_set:T17=s8192fds_bits:16,0,65536;;fd_set:t18=17time_t:t20=-1suseconds_t:t21=-10timeval:T22=s8tv_sec:20,0,32;tv_usec:21,32,32;; :t24=f-1;:t25=ar0;0;6;3 :t26=f-1;:t27=ar0;0;13;3 :t28=f-1;:t29=ar0;0;10;3:t30=ar0;0;15;-2 :t31=f-1;:t32=ar0;0;9;3 :t33=f-1;:t34=ar0;0;4;3:t35=ar0;0;15;-2 :t36=f-1; :t37=f-1;:t38=ar0;0;255;-2 :t40=f-11; :t41=f-1; :t42=f-1; :t46=*-11:T47=s32_ptr:44,0,32;_cnt:-1,32,32;_base:44,64,32;_bufendp:44,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:5,192,32;_lock:46,224,32;; FILE:t48=47:t51=ar0;0;19;-2T_header:T52=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:51,64,160;;A_msgptr:T55=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T57=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:56,32,32;_msgtxt:6,64,32;;_catalog_descriptor:T59=s36_mem:5,0,32;_name:5,32,32;_fd:49,64,32;_hd:53,96,32;_set:58,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t61=60 :t63=f-1; :t64=f-1;ssize_t:t65=-4size_t:t67=-10 :t68=f65; off_t:t69=-4 :t70=f69; :t71=f-1; :t74=f-1; :t76=f-1; :t77=f11; :t80=f-13;:t81=ar0;0;114;-2check_read:F-1sourceline:-1 __func__:V29use_force:F-1 __func__:V32rr_extension:-1rr_disp_ext:5 argmin:-1 option:-1 __func__:V34 sccsid:V81verbose_flag:G-1diskdevice:G5error_string:G38rr_disp_ext:G5rr_extension:G-1RlV&n(r*vdzf.0hj*~B~nJ,v2~46/44<69>C"4>6L/`Hr4<69>C46/Cv246F/6HM<F9>@C2RPRpW\a/66fk*4</F4b6l/v6M4<9> b8 : > @ B *D RJ zL N P R T BV jX0 d0 |0 n0l0t\0x$0|v0$0 00b0z0"000000000000!0$00000 0 00|   0Tp%),-/x  $,0<HP   (08Dh x%&'+-.07 8(94:DBTCtDJLNPXY ^ ` aget_catd errnoclose lseek exit catgets getenv sprintf printf read strncmp perror  getopt openx  __crt0vTOC0k__crt0v0k0k40k_$STATIC0k0kerrno0k_$STATIC0k>0kK0kprintf0klseek0kV0ksprintf0kperror0kclose0kread0kc0ko0kopenx0kgetopt0k0kget_catd0kcatgets0kgetenv0 kstrncmp0kexit0k [g|p g.__startPk.__startP\__start0t 40 k,p_xargc0p_xargv0p_xrcfg0p_xrc000.filegk`)I tY@ kt_$STATIC0 keJ0|  o00000.file'g':t79=-13:t66=-10:t54=-8:t50=-7:t45=-3:t43=-5:t39=-11:t15=-4:t12=-1:t9=-31:t2=-2:t1=-13:t3=k-2:t4=*3:t5=*-2:t6=*5'7I[gx:t19=*18:t23=*22(9EWcu:t44=*-5&2:t49=*48:t53=*52H:t56=*55:t58=*57:t60=*59:t62=f5;:t72=k5:t73=*72:t75=f5; :t78=f5;"/:t167=Z`k)A` ~C.bf|eVfd:p-1xT@pvid:30D.bsdH.es.ef4eM` $ s.bfxerc:-1@fd:-1DTH.bs0.es.efhe.main  Pmain:F-1@.bfeargc:p-1argv:p6rc:-1@fd:-1DTHenvptr:5Lpvid:35PX\`.bs.es.ef 0e_$STATIC0 (k?.bs.es>0hK0V0  c0lo0p/glink.s, g.exit hk(.exit h(glink.s1 g.printf `k(.printf `-glink.s6 g.lseek k(.lseek 2glink.s; g.sprintf k(.sprintf 7glink.s@ g.perror k(.perror <glink.sE g.close k(.close Aglink.sJ g.read (k(.read (Fglink.sO g.openx Pk(.openx PKglink.sT g.getopt xk(.getopt xPglink.sY gX k(X Uglink.s^ gc k(c Zglink.sc g.catgets k(.catgets _glink.sh g.getenv k(.getenv dglink.s g.strncmp @k(.strncmp @imsetlocale__mod_init__malloc_user_defined_namecrt0_dataverbose_flagdiskdeviceerror_stringrr_disp_extrr_extensioncrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cl_vpathreset.cWed Nov 24 00:04:28 2021 .check_read.use_force.setlocale.get_catd k$+:b՝ab&:./usr/es/sbin/cluster/events/utils/cl_wlm_reconfigts#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_wlm_reconfig.sh 1.14 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2001,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_wlm_reconfig.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################ # # Name: cl_wlm_reconfig # # This script is used to determine whether the current cluster configuration # requires WLM support for this node, and to copy the WLM configuration # files into the appropriate directory. # # Arguments: CALLING_EVENT # # Returns: 0 - Success # 1 - Failure # 2 - Usage error # 3 - No Reconfiguration Required # # Called by: node_up and reconfig_resource_acquire # # Environment: VERBOSE_LOGGING # ############################################################################ ############################################################################ # Function: build_class_list # Purpose: read HACMPgroup and HACMPresource to build the # HA_WLM_CLASSES list # Parameters: none # Return: none ############################################################################ build_class_list() { typeset PS4_FUNC="build_class_list" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x PRIMARY="" SECONDARY="" # build the primary and secondary group lists for this node GROUP="" NODES="" STARTUP_PREF="" FALLOVER_PREF="" FALLBACK_PREF="" clgetgrp -c | grep -v -E '^#' | \ while read line do GROUP=`echo ${line} | cut -d: -f1` # first field is group name NODES=`echo ${line} | cut -d: -f4` # node list STARTUP_PREF=`echo ${line} | cut -d: -f5` # Startup Pref for custom groups FALLOVER_PREF=`echo ${line} | cut -d: -f6` # FALLBACK_PREF=`echo ${line} | cut -d: -f7` # if [[ -z "$GROUP$NODES$STARTUP_PREF$FALLOVER_PREF$FALLBACK_PREF" ]] then cl_log 7415 "${PROGNAME}: Failed getting node information from clgetgrp.\n" ${PROGNAME} "clgetgrp" exit 1; fi # Resource groups with 'Online On HomeNode' & 'Online On First # Available Node' can have primary and secondary classes if [[ "${STARTUP_PREF}" = "OHN" || "${STARTUP_PREF}" = "OFAN" ]] then if [[ "${LOCALNODENAME}" = "${NODES%% *}" ]] then PRIMARY="${PRIMARY} ${GROUP}" else # use a for loop instead of a grep to make # sure that we match the full token for node in ${NODES} do if [[ "${LOCALNODENAME}" = "${node}" ]] then SECONDARY="${SECONDARY} ${GROUP}" break fi done fi # All other groups can only have primary classes else # use a for loop instead of a grep to make # sure that we match the full token for node in ${NODES} do if [[ "${LOCALNODENAME}" = "${node}" ]] then PRIMARY="${PRIMARY} ${GROUP}" break fi done fi done # get the primary classes for one_group in ${PRIMARY} do WLM_PRIMARY=`odmget -q \ "group = ${one_group} and name = 'WLM_PRIMARY'" HACMPresource | \ awk '$1 = /value/ { print $3 }' | sed 's/"//g'` if [[ -n "${WLM_PRIMARY}" ]] then HA_WLM_CLASSES="${HA_WLM_CLASSES} ${WLM_PRIMARY}" fi done # get the secondary classes for one_group in ${SECONDARY} do WLM_SECONDARY=`odmget -q \ "group = ${one_group} and name = 'WLM_SECONDARY'" HACMPresource | \ awk '$1 = /value/ { print $3 }' | sed 's/"//g'` if [[ -n "${WLM_SECONDARY}" ]] then HA_WLM_CLASSES="${HA_WLM_CLASSES} ${WLM_SECONDARY}" else WLM_PRIMARY=`odmget -q \ "group = ${one_group} and name = 'WLM_PRIMARY'" HACMPresource | \ awk '$1 = /value/ { print $3 }' | sed 's/"//g'` if [[ -n "${WLM_PRIMARY}" ]] then HA_WLM_CLASSES="${HA_WLM_CLASSES} ${WLM_PRIMARY}" fi fi done } ############################################################################ # Function: copy_config_files # Purpose: copies config files from /usr/[es/]sbin/cluster/etc/wlm into # the HACMP WLM configuration directory without overwriting # files that already exist there # Parameters: none # Return: none ############################################################################ copy_config_files() { typeset PS4_FUNC="copy_config_files" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # make sure the HA WLM config directory exists if [[ ! -d "/etc/wlm/${HA_WLM_CONFIG}" ]] then mkdir "/etc/wlm/${HA_WLM_CONFIG}" if [ $? -ne 0 ] then cl_log 7410 \ "${PROGNAME}: Cannot create subdirectory ${HA_WLM_CONFIG} in /etc/wlm\n" \ "${PROGNAME}" "${HA_WLM_CONFIG}" exit 1 fi fi for one_file in ${WLM_CONFIG_FILES} do # don't lose previously existing configuration files if [[ ! -e "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" || \ "true" = "${HA_WLM_CONFIG_CHANGED}" ]] then if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" ]] then mv "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" \ "/etc/wlm/${HA_WLM_CONFIG}/${one_file}.prev" if [ $? -ne 0 ] then cl_log 7411 \ "${PROGNAME}: Cannot rename file ${one_file}\n" \ "${PROGNAME}" "${one_file}" exit 1 fi fi else if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" ]] then mv "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" \ "/etc/wlm/${HA_WLM_CONFIG}/${one_file}.hacmp" if [ $? -ne 0 ] then cl_log 7411 \ "${PROGNAME}: Cannot rename file ${one_file}\n" \ "${PROGNAME}" "${one_file}" exit 1 fi fi fi if [[ -e "/usr/es/sbin/cluster/etc/wlm/${one_file}" ]] then # copy config files from synch directory to active directory if [[ "rules" = "${one_file}" ]] then write_rules_file : exit status of write_rules_file is: $? else cp "/usr/es/sbin/cluster/etc/wlm/${one_file}" \ "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" if [ $? -ne 0 ] then cl_log 7414 \ "${PROGNAME}: Cannot write file ${one_file} in /etc/wlm/${HA_WLM_CONFIG}\n" \ "${PROGNAME}" "${one_file}" \ "/etc/wlm/${HA_WLM_CONFIG}" exit 1 fi fi fi done } ############################################################################ # Function: write_rules_file # Purpose: sets up rules file, filtering out rules for non-HACMP and # non-default classes # Parameters: none # Return: none ############################################################################ write_rules_file() { typeset PS4_FUNC="write_rules_file" [[ "$VERBOSE_LOGGING" = "high" ]] && set -x # create the empty rules file and test that it can be created properly touch "/etc/wlm/${HA_WLM_CONFIG}/rules" if [ $? -ne 0 ] then cl_log 7414 \ "${PROGNAME}: Cannot write file rules in /etc/wlm/${HA_WLM_CONFIG}\n" \ "${PROGNAME}" "rules" \ "/etc/wlm/${HA_WLM_CONFIG}" exit 1 fi # read rules file line by line cat "/usr/es/sbin/cluster/etc/wlm/${one_file}" | while read line do if [[ -n $(echo "${line}" | awk '$1 ~ /\*.*/') ]] then # move any comments straight over into the rules file echo "${line}" >> "/etc/wlm/${HA_WLM_CONFIG}/rules" else # only move real rules if the class name is one from HA_WLM_CLASSES CUR_CLASS=`echo "${line}" | \ awk '{ print $1 }' | awk 'BEGIN { FS = "-" } { print $1 }'` # use a for loop instead of a grep to ensure that # we match the full token for one_class in ${HA_WLM_CLASSES} do if [[ "${one_class}" = "${CUR_CLASS}" ]] then # the rules for this class should be active echo "${line}" >> "/etc/wlm/${HA_WLM_CONFIG}/rules" break fi done fi done } ############################################################################ # Function: usage # Purpose: display usage information and exit # Parameters: none # Returns: none ############################################################################ usage() { typeset PS4_FUNC="usage" echo "Usage: ${progname} \n" exit 2 } ############################################################################ # Function: main script body # Purpose: primary control mechanism for the script # Parameters: $1 = name of calling event (node_up or reconfig_resource) # Returns: 0 = successful reconfiguration # 1 = failed reconfiguration or no reconfiguration required # 2 = Usage error # 3 = No Reconfiguration Required ############################################################################ set -u typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi SCD="/usr/es/sbin/cluster/etc/objrepos/stage" ACD="/usr/es/sbin/cluster/etc/objrepos/active" EMULATE="${EMULATE:-REAL}" CALLING_EVENT="$1" # list of WLM classes required by RGs this node can acquire HA_WLM_CLASSES="" # name of specified HACMP wlm configuration HA_WLM_CONFIG=`clwlmruntime -l -d "${ACD}" | awk 'BEGIN { FS = ":" } $1 !~ /^#.*/ { print $1 }'` if [[ -z "$HA_WLM_CONFIG" ]] then cl_log 7416 \ "${PROGNAME}: Cannot determine name of HA WLM configuration\n" \ ${PROGNAME} exit 1 fi # important WLM configuration files WLM_CONFIG_FILES="classes limits shares rules" # need to read from SCD for reconfig_resources event if [[ "reconfig_resources" = "${CALLING_EVENT}" ]] then export ODMDIR="${SCD}" fi build_class_list if [[ -z "${HA_WLM_CLASSES}" ]] then exit 3 fi # add the three default classes to the list HA_WLM_CLASSES="${HA_WLM_CLASSES} Default System Shared" # handle reconfig_resources event HA_WLM_CONFIG_CHANGED="false" NEW_HA_WLM_CONFIG="" if [[ "reconfig_resources" = "${CALLING_EVENT}" ]] then NEW_HA_WLM_CONFIG=`clwlmruntime -l | awk 'BEGIN { FS = ":" } $1 !~ /^#.*/ { print $1 }'` if [[ "${HA_WLM_CONFIG}" != "${NEW_HA_WLM_CONFIG}" ]] then HA_WLM_CONFIG_CHANGED="true" fi fi if [[ "true" = "${HA_WLM_CONFIG_CHANGED}" ]] then # create new HA configuration subdirectory if it doesn't already exist if [[ ! -d "/etc/wlm/${NEW_HA_WLM_CONFIG}" ]] then if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "mkdir /etc/wlm/${NEW_HA_WLM_CONFIG}\n" else mkdir "/etc/wlm/${NEW_HA_WLM_CONFIG}" if [ $? -ne 0 ] then cl_log 7410 \ "${PROGNAME}: Cannot create subdirectory ${NEW_HA_WLM_CONFIG} in /etc/wlm\n" \ "${PROGNAME}" "${NEW_HA_WLM_CONFIG}" exit 1 fi fi fi if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" ]] then if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "mv /etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir\n" echo " /etc/wlm/${NEW_WLM_CONFIG}/HA_prev_config_subdir\n" else # don't forget non-HA WLM configuration mv "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" \ "/etc/wlm/${NEW_HA_WLM_CONFIG}/HA_prev_config_subdir" if [ $? -ne 0 ] then cl_log 7414 \ "${PROGNAME}: Cannot write file HA_prev_config_subdir in directory /etc/wlm/${NEW_HA_WLM_CONFIG}\n" \ "${PROGNAME}" "HA_prev_config_subdir" \ "/etc/wlm/${NEW_HA_WLM_CONFIG}" exit 1 fi fi fi # we're done with the update, now process everything with # the new directory name HA_WLM_CONFIG="${NEW_HA_WLM_CONFIG}" else # if configuration hasn't changed, then we only need to # create HA configuration subdirectory if it doesn't already exist if [[ ! -d "/etc/wlm/${HA_WLM_CONFIG}" ]] then if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "mkdir /etc/wlm/${HA_WLM_CONFIG}\n" else mkdir "/etc/wlm/${HA_WLM_CONFIG}" if [ $? -ne 0 ] then cl_log 7410 \ "${PROGNAME}: Cannot create subdirectory ${HA_WLM_CONFIG} in /etc/wlm\n" \ "${PROGNAME}" "${HA_WLM_CONFIG}" exit 1 fi fi fi fi if [[ "$EMULATE" = "EMUL" ]] then cl_echo 3020 "NOTICE >>>> The following command was not executed <<<< \n" echo "copy_config_files\n" else copy_config_files : exit status of copy_config_files is: $? fi exit 0 s node kV$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_wlm_start#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_wlm_start.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_wlm_start.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################ # # Name: cl_wlm_start # # This script is used to start or refresh the WLM using the HA config dir. # All necessary checks to determine whether the WLM should be started or # refreshed should be done externally _before_ this script is called. # # Arguments: NONE # # Returns: 0 - Success # 1 - Failure # # Called by: node_up and reconfig_resource_acquire # # Environment: VERBOSE_LOGGING # ############################################################################ ############################################################################ # Function: main script body # Purpose: primary control mechanism for the script # Parameters: none # Returns: 0 = successful WLM start/refresh # 1 = failed WLM start/refresh ############################################################################ set -u typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi # name of specified HACMP wlm configuration HA_WLM_CONFIG=`clwlmruntime -l | awk 'BEGIN { FS = ":" } $1 !~ /^#.*/ { print $1 }'` if [[ -z "$HA_WLM_CONFIG" ]] then cl_log 7416 \ "${PROGNAME}: Cannot determine name of HA WLM configuration\n" \ ${PROGNAME} exit 1 fi # current wlm status wlmcntrl -q WLM_IS_RUNNING=$? # we must have an HA_prev_config_subdir file, so create one if we don't if [[ ! -e "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" ]] then echo "" > "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" if [ $? -ne 0 ] then cl_log 7414 \ "${PROGNAME}: Cannot write file HA_prev_config_subdir in directory /etc/wlm/${HA_WLM_CONFIG}" \ "${PROGNAME}" "HA_prev_config_subdir" \ "/etc/wlm/${HA_WLM_CONFIG}" exit 1 fi # check if wlm is running and save config dir if it is if [[ "${WLM_IS_RUNNING}" -eq 0 ]] then ls -l /etc/wlm | awk '$9 ~ /current/ { print $11 }' >> \ "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" if [ $? -ne 0 ] then cl_log 7414 \ "${PROGNAME}: Cannot write file HA_prev_config_subdir in directory /etc/wlm/${HA_WLM_CONFIG}" \ "${PROGNAME}" "HA_prev_config_subdir" \ "/etc/wlm/${HA_WLM_CONFIG}" exit 1 fi fi fi # now start or refresh the WLM if [[ "${WLM_IS_RUNNING}" -eq 0 ]] then wlmcntrl -u -d "${HA_WLM_CONFIG}" if [ $? -ne 0 ] then cl_log 7420 "${PROGNAME}: Cannot start Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi else wlmcntrl -a -d "${HA_WLM_CONFIG}" if [ $? -ne 0 ] then cl_log 7420 "${PROGNAME}: Cannot start Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi fi # need to give the user a rules file to use for reconfiguration if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/rules" ]] then mv "/etc/wlm/${HA_WLM_CONFIG}/rules" \ "/etc/wlm/${HA_WLM_CONFIG}/rules.active" fi if [[ -e "/usr/es/sbin/cluster/etc/wlm/rules" ]] then cp "/usr/es/sbin/cluster/etc/wlm/rules" \ "/etc/wlm/${HA_WLM_CONFIG}/rules" fi exit 0 ights  kn$+b՝ab&./usr/es/sbin/cluster/events/utils/cl_wlm_stop#!/bin/ksh # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/cl_wlm_stop.sh 1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2001 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/cl_wlm_stop.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################ # # Name: cl_wlm_stop # # This script is used to return the WLM configuration to the state it was # in before cluster services were started on the local node. # # Arguments: none # # Returns: 0 - Success # 1 - Failure # # Called by: node_up and node_down and reconfig_resource_acquire # # Environment: VERBOSE_LOGGING # ############################################################################ ############################################################################ # Function: main script body # Purpose: primary control mechanism for the script # Parameters: none # Returns: 0 = successful WLM stop/refresh # 1 = failed WLM stop/refresh ############################################################################ set -u typeset PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" if [[ $VERBOSE_LOGGING == "high" ]]; then set -x version='%I%' fi # name of specified HACMP wlm configuration HA_WLM_CONFIG=`clwlmruntime -l | awk 'BEGIN { FS = ":" } $1 !~ /^#.*/ { print $1 }'` if [[ -z "$HA_WLM_CONFIG" ]] then cl_log 7416 \ "${PROGNAME}: Cannot determine name of HA WLM configuration\n" \ ${PROGNAME} exit 1 fi # current wlm status wlmcntrl -q WLM_IS_RUNNING=$? # the important configuration files WLM_CONFIG_FILES="classes shares limits rules" # the non-HA WLM config directory PREV_WLM_CONFIG="" # did HA start or refresh the WLM? HA_STARTED_WLM="false" if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" ]] then PREV_WLM_CONFIG=`cat "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir"` HA_STARTED_WLM="true" rm -f "/etc/wlm/${HA_WLM_CONFIG}/HA_prev_config_subdir" fi # clean up all previous file changes for one_file in ${WLM_CONFIG_FILES} do # restore the previous HA configuration files if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/${one_file}.prev" ]] then # if there were any previous files, and we've got # any config files now, move the current ones out # of the way if [[ -e "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" ]] then mv "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" \ "/etc/wlm/${HA_WLM_CONFIG}/${one_file}.hacmp" fi # move al *.prev files back to original file names mv "/etc/wlm/${HA_WLM_CONFIG}/${one_file}.prev" \ "/etc/wlm/${HA_WLM_CONFIG}/${one_file}" fi done # if the WLM was running outside of HA, set it back to its old configuration if [[ -n "${PREV_WLM_CONFIG}" ]] then if [[ "${WLM_IS_RUNNING}" -eq 0 ]] then cl_log 7431 "${PROGNAME}: Attempting to restart Workload Manager with previous configuration" "${PROGNAME}" wlmcntrl -u -d "${PREV_WLM_CONFIG:##*/}" if [ $? -ne 0 ] then cl_log 7420 "${PROGNAME}: Cannot start Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi elif [[ "${WLM_IS_RUNNING}" -ne 1 ]] then # running wlmcntrl to query status failed, report the error cl_log 7420 "${PROGNAME}: Cannot start Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi # if the WLM was _not_ running outside of HA, turn it off elif [[ "true" = "${HA_STARTED_WLM}" ]] then if [[ "${WLM_IS_RUNNING}" -eq 0 ]] then wlmcntrl -o if [ $? -ne 0 ] then cl_log 7430 "${PROGNAME}: Cannot stop Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi elif [[ "${WLM_IS_RUNNING}" -ne 1 ]] then # running wlmcntrl to query status failed, report the error cl_log 7430 "${PROGNAME}: Cannot stop Workload Manager. Failure running wlmcntrl utility" "${PROGNAME}" exit 1 fi fi exit 0 util lM$+k#b&bb&./usr/es/sbin/cluster/events/utils/clapplyroha   =e _aorst#$cdfilmnpu"().0CORhy&-:ADELMNPSg{}1;>FGIU[]bqvw+,4HTkx|/23?BVz'*9QY\!%6KW578(4!ĤWħʛRrd4"ʀ>kQXʀ>ҜP<ʀ>DʃRv%xFTjxBsMOs=e(^4!rf{)9vv͜?"& 49[9e= bN:Gn~{a3' l 5vl&+p_h(HHP1ecTQ9>`^leB*aȨױ*f /2KEF9W0Yk/XD=9W0YؠleMǞ͘,ΖMɸyM&XyJRcU_6(cqcU_Mɸؔ͘,-6(cqcU_KM&XyJRcU_KM&Xy5EXy{5QDJSkQE9W0Yƨ%XkQE9W0Y\kc,5("͘,ΖleXy{5QDJEMQcUZ,,,,,,,,,,,,,,,,,,Z˶mmmmmmYxRs܊. 䒔'hy b/Zye%>%z΄99I$mmmmmV^A ȴ!J@&)@jgE$-,mmmmmmՖqv{- +^p?`Q@ @`Zj (D55$P-q*cǹB 4 WL&9ȨѫU&,iJTL&8Zj U&,j+H A*c%)_J0MǟF%TLpP)R_J0`#5Ei/rUI5(#F%TLpP)R_J0`#5Ei/r-emmmmmmmmmmYk/jRhE 5E*T\j0Yk/L3&Pj(QpA&P=xD!3ģcһR^B!:S|A^b射 JqYk/&g99Yk/$TV0 ĜpA3{5r(h^NbӀgLH ,mmmmmmmmmmgA&Pj(cTQE/AI!@@ܢ0x? 1ů(=ȢiXQH AqFEMǜxTV_Q{D @"^=Ei/(=ȢiXQRZc܊!rn`^le:`kR(905\kc:RWjgj= 9W0{Rs3#/Rq0cZ`A35|'GESq射 Jq `p ΂z-t\7[L /v@s󠞛Q-&JSJEcIYx-?XV^UeQ@N(UeW HY$DFܽ~O5HmmmmmmmmmS6(9=UAÑQcU,p;0$ H  r (+ Ra1m0 H_J0HуL&?IVĪ  (0@!60H ummmmmmmmڿ@4P `"Bl$ `(2!&(((("$SE$&@"aᢂ₂!@R˶mmmmmmmm_x)ɒCw'EʜgXV^Tz*5QQ=Ʊ'"I ĤĪ  4*`Q5(d|]ĥ!uĪ  5 =\Gj,QQusN@y(  C;q))sL c1$ǸTkږ1V Zv1ð4 _ѹ^d&AɱӘcQ5KBm+B-|XQp>E$&@"aᢂ₂!@WnC;q))mmmmmmmmmڿͨV ZⴇD&Ұd"ŏ| t:.r-&JS˶mmmmmmmmm_Q96*͌UeIV_`^lUA&+ &H$"r‚)`` c.0-,ĥ!PVԘiIT011 JR`'JRsʌ_ѹ+1ðF,"# S1EFaA[Rb. 5&"PƤ\* Q]GلLU`1jHU{M$4AC`,a\pi=K{ԘF/(5E*Qr1K6U0)yƍy'!8k!0Msc,5a{jm9W,ÄI $  _ _RE¬l $5@ & a\pi=K{ԘF/(=ȢiXQLJR_Q{D @"^=Ei*X"AcEFxIJ`IEL `MFXaS|aa"#`ѹ^d&AɱӘaS|cIDZsrL8o9L`pi6 $E `(0vj+_/sn c8]mmmmmmmmm_ft!'qv( "DZsrL8o9L`h`p0 9dss`EYyQ׏5EGSB0bMðG?d&AɏQ|spIED_JJkr 5i4S-M{bS .p _ _0iD$DCDD; viF+8[t1G9(SB0AE\_ͦ~4nc9 pĤY rlUCaؓSh|ʼd~(&&@`2dbA!a+{5A&\+0jA8(؛l~K.sJ51Y;0)̂214 dQ y4 f 1QF7ds =QjQ5`> (Ě _Q96ބe9&U7"+ h(@z =sN@y(  C@' < pĤƍk!0MQjXƢiX2kNJې5F {5A&NcIqF׵,cQ cFPR  H  $L{  ] pĤmmmmmmmmj6iX2kNJJ_.0IVfs1jHU{M$4AC`,`pi=K{ԘFk@{5A&=GM&!|q))Ƙ4SpIvUA9)B(WcLa$DݴЊ>p"_#pHPrA6k!0MWc~4nc9 pĤY rlUCaؓSh|ʼd~ &O0L XhzJڒ.d^g04E! "a0cIR^ؠƤ\*1qFEMǜx*bRc܊!9+LQUǹB 4 r*5JSJ/(BaoB2*S &k!0M*S &M!#R8rd&Aɰ&#,q0⩾`00l&H4n`׸Y rl|8qT0r0l&Ha%l#)Ba8 FBR%'|Tc5Ց.mmmmmmmmmF\+F _vmmmmmmmmmᚏqQmmmmmmmmm~4o  C@  C8ĤsW9caA[b‚\+LjLE¡1IWb= bU4#ƍ )1ðF,"# mIV,ԘCcp0$AUGل _8#PV#Lr r1I /i"dph0{Hx,% 'I{bsp~ai =L {&X8cLj)$R; vB*ߜ~c!@qa+r 0"DsanhET8[Qr8$(9砿(ǛL {5A&\+1b?7118vRS_ͦ9F<L b EXF^ĚEeU%s0ydăDC(Wԑp"9,&H `i 8vHCcqqg_jHU{M$4AC`,`pi=K{ԘF/p; O0Y(Ba''17PEx<Ĥ+`QM&[UTkp _ _0iD$DCDD; vB*ߜ~c!@q=`_Q96"\aV#ѹ71ðGd&AɱUle#/bMM*epi<2dbA!a+jHU{M$4A$ 'I{bspǹB 4 r*5ҔJK{5r(h^9$""/%%5cLj)$R; vB*ߜ~c!@qa+Ƙ4"H"!""iP|oEF1G8ܣm0/(Bap0+@h(Ǜr#IMcc_ _RE¬l $5@ & `pi=K{ԘF/(=ȢiXQj QUL `MFXaS|aa&LO0hqF iq0⩾`1a&LA5Eq×k!0Msc,5a{jm9W,UL8@L4`2@ z?718p#IMmmmmmmmmmWft!'qv( "D`^le:`kR(90̜-JNy]0`^l4/9ȏYk/&g99Yk/$TV0 ĜpA3{5eV_VZUzp ɑ`4AE(@|J$i\tYk.mmmmmmmmmjU3b(a,9>`^lbPy0HP=``/(L‚Lp1kU&- `4AEĪ #F _J0IVƍ{5A&>S4ܛnC;q))mmmmmmm3'Nf{r(a ?C [^S;(/3L.rpLS`j'B8A5c0sF(-~l E obN NffL<@<4P_)Q6a r|Bv-4JJ8Qڙ S :nQ_fBI:ުz )8Abr?+B+ Qʢvq_!)N< z FS;G*n+)_fk=VEb.LW.mmmmmmmU&- &"\)Ī jdPJh2 U&&S .N?v цkQFBC0cXR3 kF (`A{5A&\+ ]jdPJxILg|Gل0D ) ]^ 3$>tB(6372NkI@ <8(3ڄX&`MEA)_ݨT!<ƍ pĤ#2/h&"\`9F6");rPVk!0MWjmB,ESΆ2Ps&31@rr_-?&H ܞE*r?`EYyQ׏5EGĜt $3GL&8X(ҔqF$tZL&8X(V,k rJ+EEEL&8X(ӐUk@hĥ,@+rJJk_Q96*͌UeIV_`^l&+ &H$"r‚)`` c.0-,ĥ!PVԘiIT011 JR`'JRsʌ_ѹ+1ðF,"# S1EFaA[Rb. 5&"PƤ\* Q]GلLU`1kjHU{M$xxh{Hx,%"; 'I{bspƨ%Xj.T9I{bF[ "16ѹ71ðGd&AɱUle#/bMM*epi<2dbA!a+jHU{M$xxh{ăQraa)/lPry~cRb.& IfC0hqF iq0⩾`1a&LDP^8pL `MFXaS|aa"#`Ԛd3k!0M*S &M!#azR8pL `MFXaS|aa&LDPbrb(BaPXj*2$+/0r6Xsiaɒz _8,k*ʏEFy*=G$_|3GL&8X(ҔqF8yQ"^=)H]*cEiqF8yQ"^=EEL&8ZR,k:Sr*5J %TLp42 ( ,k*ʏEFy*=G*(h.Ra1@F{YdsL{5eG^<kM|Qd]*c xJNdQ@0Y(UxTTzqU4#QF>a/ IU&- ȜĚ2 (ÐQp0ydăDCֿsN@yPV#Lr r4n. pPVԘiIT011 7JRF8p Ҕ4nb' < p(+r 9H9HQQPVԘiIT011 WQ6ab _ѹ%<@8vHCcqqa01 p` cRb.qH>*(0r 9H9H$\*Ƚ`h CXL<@<4P=$<  ܤAITf-ZsrL8o9L`pi6)c_Q96ބe9&U7 &Md3!4n`׸Y rl|8qT0r0l&HÇ/(BaoB2*S &2d$ 3UقqF"Tkǚ{b16"0:OjMDf8NbMa}0kQ96>ZsrL8o9L`h`p0 9M4 dQ y4 f @AEr+eQFA8×dsL@̆`ѺMdsD$1QF6ؓ@AEr9I{Q G9`ѺMdseQFA8^آ^%'2 (  W9>Nb0AE\6آ %%EF V&*q×ѻ"'NBl2q))9 ( 4nds9M4 dQ yt&Ě2 (Ð<=~ai =L {&X8cLj)$R; viF+8[t1G9(SB0'!6AE\F+`"$H0vҍLVp4 br,Q5aLNBl28$(9砿L @hǛr#IMqF ت62QV&Y~y{PLM!dăDC(Wk!0MW`q?(Q7لMGIb *\jbw`8Sdr8bd&Aɰ&#,q0⩾`1X(&&`(ؓ@AEr_zd&AɱUle#/bMM*e8& &O0L XhzAk=Qv`Q/*=樨X~apZUI R0Y( t*ONbn 5x#IMV4M5#oe-Ȩ9HF+`"$H0v9)Bz yY rlE¸F/sn c`%%5L b EXF^ĚEeU%s0ydăDC(Wԑp"9,&H a0@cIR^ؠƤ\*1qF z8qT0rpi6`Ԛd3k!0M*S &M!#~)c_Q96ބe9&U7 &Md@̆`ѹ^d&AɱӘaS|cIL""ay+9qF ت62QV&Y~yÜO '&L,H4D=砵z _*<ǚ|=3|-Tky-emmmmmmmmmmYk/jRkcq*f -e^AɆa -Oq$)#ȸ;JRsLGلUBE&_(a+-eV0 ''+-e䕊Z.5qF ZUzp ɑ`4AE(@|J$i\tYk.mmmmmmmmmjU3bcTQrn<>`^lbPy0HP=``/(L‚Lp1kU&-ydX( "Dj%4ԎsUzy:GmmmmmmmmmmgA6(cq*f _8ɀB$ }DJ`~c_J0h{ͦ"@i!₋U&,iJTgXҜP<&.Ra1TV,k:SyQQusN@y#IM,k*ʏrn"{5eG7x!6(8_9Mɸؔ͘f%)/Qi@$=JL|ʼقA6k:SyҔJK718vby=s Q\@8vRS_F =ܛ/VXL%TLw)0bѹJX' < pĤL b EXF^ĚEeUhETb!"@V`2@ hqF iq1(j!6!,xݸ; ܤiR!1R8-V4DHa-M ~yZYFJXrJRa+ )Bi!qF ؋q9X_F<JJk{5A&T956͖K䄉YdăDC(Wk!0Msc,5a{jm9W,UL P+0L XhzAk=^cX^ۏ4ؠleMǞĥ&>`^lhYvmmmmmmmmmVZĚؠleMǞTU9W0Yk/L3 6(Rtل$)#ȸ;|ʼـbj+8$Ya+&]v{ĢqҲ^IX`99Yk/Qgk:SYk/'1U3&E$C_ Q(w/{bq=emmmmmmmmmm=T͊Oi@$=0r6`eـ(< $(@X0H۔@TA\&8XĪ iȰPDxUI C5EiqF8yQMǞ<_J0hfiXSbJq@ܛpMǟs Q\,TU43p _ͦL b.b1pNC;q))(BaPXj*2$+/0r6Y/{$ f $  _ _Q96*͌UeIV_`^lU2BD@2dbA!=O1_/LlP 62&a*͘ 1k.mmmmmmmmmjYxRM&XyJRcUZæ" [M&x96aI0 H.0r6`=e /VX&]v{ĢqҲ^IX`99Yk/Qgk:SYk/'1U3&E$C_ Q(w/{bq=emmmmmmmmmm=T͊O|ؠleMǞĥ&>`^lbPy0HP=``/(L‚Lp1kU&-ydX( "D`^lhYvmmmmmmmmmVZĚ-6(cq)I9W0Yk/L3M):rl y\`\`^lzYx15?IYy%bg$e FQ@N(UeW HY$DFܽ~O5HmmmmmmmmmS6(9`^lbPy0HP=``/(L‚Lp1kU&- `4AEĪ jbJq@ܛ`^lhYvmmmmmmmmmVZĚƨ%XUl5("͘,L z E&CS͘gq);R_zYx15?IYy%bg$e FQ/*( t*^NbӀgLH ,sFU|\tYk.mmmmmmmmmjU3bcTQ*scU,p;0$ H  r (+ Ra1L&E$CL&8ZiȰPDxUI R0Y( t*<&E*uĪ  3TV,k:SkQDy*ȹZ.Ra1ܤhU&F!0bѹJX' < s Q\@8vRSZd&AɱUle#/bMM*eeA1\D $&H$"r‚)`` c.0-,t,p9 c _ѹ  C; ܤiR!1R8a*1R4g))\`Ymmmmmmmmm3"$vs\ ;lq';!ѐ3a0tu0㠞ͨ"$a2wj6Rs\ɱ:(B9~蔗N:W]mmmmmmmmm%%MM0i⩾`0s`EYyQI{q=)İ HH(_cͦ~4ncc9 pĤD =&z*5jR.PiMEH"#蔗78` `_ _Db(B4Y $kBtJK؛ 00/+`"$H0vH"#|-oC\vc!,k*ʏtJK؛׏MH!@qryY rlE¸F/sn c`%%5L b EXF^ĚEeU%s 3$HC0L XhzJd&AɱUle#/bMM*e8&@aAdf $  _-R4`ֿmmmmmmmmm30SM)ñ@w5("ĥ RUrL aIDPjqhDUlU3\3%ad\Qsemmmmmmmmmm_J0( 0bs@`h~yqF" q9ȱ)H!/jSpFs@`hn0gXV^TyhڔGrqA5e砵mmmmmmmmmmᘃ{( ZEdP#)/mmmmmmmmmm7JR`Q@N(Ty9G9JLUl5( N  QA!lgXҜP<\rr#Ҕ0Sتf%A` 0H4D<@y75E{,k:SkQDy*ȹZ\0P$" <|{5)ʏ5("<d\­L bEq( x`Y -r709c`%%5L b EXF^ĚEeU(`bI $!&L,H4D=k71)K!nR4g))\`ZYFJXrs Q\@8vHCcqqaTTbܤiR!1R8-V4DHa-l' *pa@`hx!@qryY rlE¸F/sn c`%%5L b EXF^ĚEeU%s 3$HC0L XhzJd&AɱUle#/bMM*e8&@aAdf $  _-R4`rrmmmmmmmmmm/*^kmD&Ұ੦ z!&XNi8MNjB 4 Tvg; l7NWiP|=xBMj#Ĥ4"B(9=; @ҙEEvAxQY[L .mmmmmmmmmj1U<Ջ靸cQj"UZ\rr,|ʼـmmmmmmmmm5) {5QDJ0r6`^05)fR ؠzB\)9vvlzU!|-QX3vg kc:9OEa =e0.>[n?|A)N#_1kA=7=&[L -e䕊Z.5qF ZUzp ɑ`4AE(@|^k-emmmmmmmmmmYlPr{Qj"UXy/AI!@@ܢ0x? 1ů%TLp= `4AE%TLp1@) )DȇxhxxLmmmmmmmmbS a SDa0A@AA * (0@!60H ]mmmmmmmmZ?d&Aɏr&/یiP|Ĥ\kc,5("͘fL$HML&D=ECĀ`ZN^f =L %L_F[ _Qq0r6`L _-j~1(5E*\rr,|ʼـmmmmmmmmm5) j(XkQE9W0Yk/L3 E& ו\Aȸ;|ʼن{ܗzBMGaHzYx15??h&r3~[n?|A)N#_19OEa =e0.Nvtsj;射 Jq^IX`99Yk/Qgk*ʬ{5)ʬ"@i!₋/QHR;1U]mmmmmmmmm՞f'\kc,5("͘,Yv` &I @, )PW -*c6LH /%TLpP)SbJq@q9ȏJRm( t*<&E*pĪ  3TV4nk:SkQDy+Q@N(Ty9G9樫"j`^8rUIr-*cL$HML&D=ECĀ`k.mmmmmmmm3  H  $L{  T@) )DȇxhxxmmmmmmmjѹJX' < s Q\@8vRS_F {5A&NcIqF׵,cQ cFc`hƍk!0MQjXƢiX2kNJہ`hDHQ"dCL<4PPaKI *f .mmmmmmmmڿY rl rL8o9L 2D"#5$70Y(UkQDzRAlĥ,psL c1$Ê$&HCFlĥ,/0Y(UkQDzRS|W' _Q96ބe9&U7Dp"B "&  ,k*ʏ5("<#" jf 5(Ba-99&U70 2DDL0vf^`Q/*<TTzbӓÇ/(BaPXj*2$+/0r6XAdf $  _/QmmmmmmmmmڿͨV Z3[n?|A)N+.mmmmmmmmm%TLp7(ǛL&E  8]mmmmmmmmm_f2˶mmmmmmmmm71)K!nR4`ZYFJXrXD@ "DD9DCm4"-kr8$(9Q6k!0MWc~4ncc9 pĤLrya+{5r(h<*bR˶mmmmmmmm3sc;S;\RxYMEYUaq2@Hny 0jo*g 5gG*By ES j*U!:='>xj| 2#9AU]mmmmmmmmqF z8qT0rAd0D`^le:`kR(90̜W 3pvy @.Rp/QBq79QX3ĜV*+NNVZh `/bJq@-e*8ȰPDx?a >j%4ԎsUzy:GmmmmmmmmmmgAKQEƶ2\rr,|ʼقŗf`${ ` _nQR<p`bL&8ZiȰPDxUI R0Y( t*<!uĪ  3TV,k:SkQDy*.Ra1@Fr /%TLpP)b5("TV@UI IXH A*c$\rr,5Ei/%TLw)0bֿƍ{5A&>S4ܛnJJkU&,geG9%)1&B <Ī  32 QV4$hA Ra1ܬYRa1@F*UJ@y U&,orÜN@L&;cŒ5W 5YbRahI"{b _vmmmmmmmmmmmڿ̜-d\9W0?I+$hAܚ%xhIlPLWU7Uzrr˶mmmmmmmmmmmկp; O0Y(Ba''17PEx<Ĥ+B/ 5i/+1pHPrJܬY4"H"!""/+1pHPrA6ѹ71ðGd&AɱUle#/bMM*eAdf $  _*<ǚ_A8 rd"B3|̨"ĥ&4$hA|ʎr,5EXГPEekJR I|ʎr,JRcBMAĥ!5EiRA<2 QV4$hA5EG-rT Q'cTT_vz `'``.*94Tz 0Xݡ0/Aeq?B%1: i ~4na+ncܪg1U1ðGQZcܪg1U(WjS98&Ak{L*0jA8 %) nИ A8!A41 ÅrS98&0jA8 %) nИ A8!A4r?71)KǹTbc`%%5)SS9F*cܪg0_/ƍJR9`hj1ðGk!0Msc,5a{jm9W,|- I $!&L,H4D=k71)K!nR4g))\`ZYFJXrs Q\@8vHCcqqaTTbܤiR!1R8-V4DHa-l' *p _ͦL b.b1pNC;q))(BaPXj*2$+/0r6Y/{$&H`2@ 0mmmmmmmmmmmWv&Dvy *9;|ʼه63H8Gi %GmmmmmmmmmmmڵkQEJTqF iq0⩾`1I $ r Rh71$\rr,JRgXV^Ty9G9JCM^/9k{5A&Ќ$ÊȒ$HA!9Jg q9ȱ)Ikq0 QZ`׸Y rl|8qT0r$a0hRS9XkQE0jM2F8kQEjyqF"\rr#QQNNL `MFXaS|dI $ "`%3LUXjqF ت62QV&Y~yÜO"H8L! 2dbA!=Uzy5bxzgn?t\kc,5("͘ 1k.mmmmmmmmmjYxRXDQ4-E>`^le:`kR(90̜c`^lËB(5lgrh?FiX2kNJ"B΄4!&XN&E@'.#Z`NNVZ+?''+-e\j0 bJq@-e*8ȰPDx5V4ٓ9emmmmmmmmmm=T͊O{5QDJEMQcU,p;0$ H  r (+ Ra1m0 HZqF iq1(j!6!,xC _PVO1qF ؋q Q R-|wB 4 ~Q0r6`.]h ɑ`4AMs*dȰ _vmmmmmmm_ѹ7&E`4~8v`_-mmmmmmm7"Axzq!8E]mmmmmmWѹqFEMǚs/r70Y(=ȢiX\rr#QQ|@8vRS_Q@N(Ty9G9JTgX"Acq9ȏJR_Q@N(Ty9G9樭0Y(=ȢiX\rr#QQu-E q9ȱ*f .mmmmmmm Cj/W&E`4x7mEvi_/3&E$C6v̩"Ph0@L=mmmmmmmF<w0AaPVi!砿=(Bap0$ $v"A{ڊ;UZ1U<Ջ靸cQj"Ur(hƢ0r6`4pŭemmmmmmmmmmYk/jRkaS%N -e^AɆbrЊ>@+l'r&?h0ɇXh35.Yj.TLq):pI*fZ`NNVZ+?''+-e\j0 aIEc+-e*8ȰPDx"&HYvmmmmmmmmmVzkaS%N _8ɀB$ }DJ`~c_J0ho6LH /%TLv0@Ra1RA*cƐ_J0hh'xI˄΂UI C:OdPJ\h?tQ+MXXD@p,< a,#MM0@"AA!S;p@&Ɖ8y0(("H ? 5gCH t*j~a`/2(%.V8<n4ndPJ\p.C8ĤX+ƍRc- C;/"Rw 5ɝ&Qg72(%/̊ K8p#9_!D@ "DD9DCaepb KQA70`8vb&E & &L50+B/L,%,fP -; %* $RZJ-ف$XvH@3 $RZJv f8^zM5Qr=QdD$DCDD:S_0iD$DCDD; vcMO0p _ͦL b.b1@03N2Q_ѼPJ_A8MG9qF ؋qjA1]Qr`(G)-F%8EV$,̊ KILrTILMNT[]bqwx{}12?DGHk3479FQVWY|+58Bz!'6@j*PA!F4H$ $ `,,"@ JVBh+E%M=ǸPzTZE{Du |^B4HyC`@( 8 q< W%h*8"H@B,XD%TT:@1& \ Qz0"X|&iqP k9`"J8 8pP Hҕ)JR)JR)JR)JR)JR)JR)JR)JR)JR%IUW =L =*J5#Ѓ)RUDm6RmĄȑJm>{c*M99e0o90Ha6 Q(< h@ N`&p=ƆқmT& ,y! ! xx@#&bU Ɔ d.4ye$<896L&45] 22if"{mؕBa1  &FM,^ZqFplJ0ӊYtlJ0ָUeGJmYg 0&%«,B4MPKQ<ɶFрMGp= khƸUeF`m{YpAh$KkVYqp=mmӊYqL)ѣhǙA:@z/mH`$L< ,I&qC =f`m{YaTeKs\Lm^f0 Mjm^XUyR&[>)m6yCфD$m&ĦUATcbVyUob‡*0kL=be^㖛mWmcY,ѡII|\qcSmMykAʖ0"Y BAB@E)יSmFя2(u:^1&Smф$&DxC5T=Zqy*ҤRAVmq-Ʉ rŎjTP*`c؄X悩4VZllšO\X:kEL(FҒQ*9*m_'5ɄIUcU0ucMai|6F!\NWL R[Um 'a1uPվkZYBa؏J PF0[m9%Tm$&DxUmmOնlIWhȱͯq-Ʉ rŎjC ׸喃d`^d61Jmѵ_p]m,L 4)EB @_&Kd10xm,L 4)E"aW6"&Hx@"Y BAB@F1Dlm)m{YpAigR@*L ɶ^>fyŦI)M6ڪJOi5_0f} MsI萙!BCmM6 p]m,L 4)E|6Olr'Z"ج 7q"4Pxmm \&^R|DkU"aRDlbrmUX.<<1͋Mj6m3HbBdH &I6/m6{@!/\X-)J)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJAJR)JR)JR)JR)JR)JR)JR)JR)JR)JR_U EX4)WDIa``9JH F0 1FdV[Q$qBkr Q(< h@ N`&p=ƆҔLlNH@ !\qcR0B^žOE_U@Cd؝6Zas\+\$W YVp*{a_')W 揁Vs# JUIJͱ:i!0iIlhŅSQ{(ULB^ͤ10-cҒإ_K-XPUR*,m&5gp(|IV E]0ɮ'N[EKLqBi iJXm8EV4UlVjbt,ذKXdhd+\$BUMEh̅ M1&$ڶYaӖJ-GT"W0E - x hRk\$t՞²Zh慘y,Fs(}JĪ e.,).F8ɉT&Bd#Ba1-1*cXk4!1Dx %f&f AЦJ LhhVdB%CZNfM*dTO餦EMPm_mUIlC4iAI mYIăi<H("1kIU0xEHl%2A0!/a (!/a fFB^*$ \JI Bd%2A0IMj4lXLa/aX F.Y cMMm(k=4iAI l@bkIҋ ظL(@DjmUm Z5J LhhVbCZNlXM"YB2ɶmb_000 YaP 1i@3C#k4צI&aF KP8p.k\$96MϬ@kF1iA6kmگMj [Dh&^*& WI6mm kh&cM5tG4-F1iBa0]mk\$Mi6&Mse)Fяpo8p.jmdÝE<%/aX*5|h"+XJM)btMhQ56'SmگmګH}UMb|ֺ5|m+1PEϰɬB.pmm2JmѣlqaIr1J8rmk)JJ [#I(K#tc0JLJ0X#P䅎aF"’ h2QÁt&^\&c=EykAc@(KL. L=ƔЭ\K ""$.YU9 &Ȩ%xjmNt-!Wֱm6V_'56MM6ڄ(l o (hZ>P4Q (R^-6th0 C m{YpAh!Y 0.jm`|MhѶ,)"Ɔ&m6,j2m&ĦXNT5`a9ea9܄XQgftbt6mq.1, Qb/q1'M V 0繮F|\N`^dZmUmU@4^lkkXJ=.,s`mm׸ {#%҅U9 H<Y+m\&c=EykAEm9ea9n4fkBЉdDDXm,L 4LKz-k(ZB mWmUI*qW U5¾Ok̘&m_m{Yh=L [,sSm1Jm^\&cXY쌖JiV`) qdDDmm,L 4-Ɣ,ҭ|RB"dŃH,"mŦm9ea9n4fkB" ,"@dD"H@bmt$q,*[ǘ#{,.-h ]mkr˄ sK =iB* D"&@X8D"ȉ,DЈbmMmMmMj=.,sik!d*di7bMjm̑ĄȑMhQ56M5͔ѴdXRDG؝-M̑Ah8LzI**Ot&鰘AjU^\&cY]b@| l$+0b&bb&m./usr/es/sbin/cluster/events/utils/clcommonroha    =e #_ainorst-CEORcdhlmpu"/1ALMNPfy$'().2:DFGHISTUYbgvw,0456Bkqx37[]{|}8;<>KVX\!&*+9?@QW^%jzZhGhnI Dy#\ 8DLH hS>9JE(_ nocl/8 \h^"f&@!4@04@ ؊ie:Ns7b$P"QP<.8{HnqT$xpTM g=zWE ᛍӒ nnMGL !4G@tt&>T^h=zJEDd( A-,MSK\_HnnBYXsԦl& 'ݘiEq/%Sz)7Llf AyTS!L5if7f7 a \ƸZ:d.u3 R%Rtܔ(;gkiaDP"W "k7\7 ٍ`n*q*DG1kZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֱ(b@n=zL}!訽+scWzUe7Q0>zotXD\ CRlkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵcZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkX7liʞP₮(D75q7l ,PQ3 1nmmme^cXֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZֵkZ1nNi(>FJqo\KJh22Jcu*L6U8SMiB c5CVKpHuj*!YJj7zҝqR"\p@P1AGz.Q7W,c`:EDEDI"=ncjZ^RcOSX=iN )ϛI"=ncjZ^RRJBQ{01AG}\kA Pz*{01AG}\kA Pz*#%V^9&ac1EE[փ׬TWy73^tADz*/Jƴ`YBoc7ĩyI #:idwіZ՛ѽ°R FoU.u\d2r84&q>eKtQbArp *⇇c7eh3WF7zҝrp¼̰zҝrq1AN: V`:"R"pyUUH-ުXv#|^3ijm\0 胗!XJ:VSϮo[ ,e a'm؍s/ Bu`%9xN™HRFiA f-8Fc ;mF\Jxm8"z HV5e/%(f f-8Fc ;mkj[zVQӵ->pRFQgEYN1r0NmFQ䢗:bҞNj[zՖa%l!3b;l9*(\vVI^ЎpVIXU;D) Q-tFYN1r0NmS;RK-tFMH* FUJ6ͶZpqvm㪜)VN**f$ߑ)ee5iÑ/[,e a'mWqڕ FUN笲jV ,e a'c)Ên$G mRp1Y%x;B:™Y%`}T"nrM* f-8Fc ;mnS ӵ:#:}WY ĈBNQzV|^3s ,e a'mU8SBVI^NQW79& gY*|RK6i5.Cf md7s# Ҷ8Nrf f-8Fc ;m %Agn`|/7hGBQVͶZpqvm%XJ9Y%zNVY\6U;Ȩ񛜓~3Ц f-8Fc ;mWw}5pr^qa(`mӄk\0l' IGVIXU;Ȩ񛜓~FJ0m0*),e a'mRՖEE[Ux3 sҝSA%"wI/4n%l!3`K=rOU;ӵ-"wI/4n*ӵ-JQ8K6i5.Cf m RϝʹH0%l!3 xt)%XJ#Jo-hB8r2UezQP쬒襤[^ccqB$Ue&.ET7/k GcSAN2mQ.NdӒޒJml&[U;1F GTסMKw Wi"jcvmLwbuB]YdJqЮyƘr*NQk8TY;"j1mdTҬk5.MT\`-lwchuLJ@J&< fTK2pS@PA&"p&0FQXJ.u 4TEgꅱm qA<<®4~0E$yI<wm-8Fu=LH$KRwJfZm-8Fu=LH$KQ5QET3mAk`:I 4a4$$LIa#%U\R X7VömX7%lYQa1cpV^m|ީ f- ҹgnzU;cvme7Դeϛպe>vƱvbnB@%cX,Q%"-l AX 8 7> `ZEacհiuW1>a(jNޖx—8vK\XJ8n )/-s-)iiGX̾EE[5a2ЦU;wtF鞈9xR>vࢌnm/PiOU;ZсhZYnz2JƱ>a($EH"8Ң z8W7mS5Wޔҹӵ-FuSiQm)v_N%эcv_%eNѱU/B21mhWB2Ji\iږB#:ޝKݶml)Ť|˱mm SR4zEK}!TN%BnmmEei(,0_+je'bvc5 *k8'(q8;mIF,Q%;zNx—FljZuNQVW>5 *j9mR].-fTK{j[nEe1e;r9mR].rM6 :2JfTKx–7,+9mR].nrˣ$pmB G9ĈP qC3m]k"ђWN8s6ٛl!)#j],ZUlk)'Z y~3;[7VrӐ<Br"q㱅BٶZSNZZrC3y:j9i_\F9E[\Z ^^ćqlf D\Ď"(s*,asLvBra1Ntj`{j[nEe1e;r6#'$ږ[Yw YiNܭ+$ otK}-Ȭ,nV * e&mSmĈDPTYÄ@8 Ͷ)lm@".@G9ƕp09' bfX=iNĈDPTYÄ@86ٛl3;[7XB G9ĈP qC.#PƮ-/L@S;zZ-$`$i7,+$`$ǀݳgjjgRޔ"3ʷMY-'9&P%tPͶwm"ђWNW`eg@lBpN fuS)]"nz2JͶbҞ.rM6 :2JvƱvbnB@%cX,Q%ٶN0`p`襤[U/% l,$+obEbb& ./usr/es/sbin/cluster/events/utils/clcomputerohagts   =o_aeiprstu "#.chlmn$()dfy{}0:CPRgqw%ADEGNOSTU[]bvx,-/47;ILM\&+123>BFHVjkz<|'569?X!*ZY@J,(*@ /@xD@Hx<RA8(I~9H%A+EnT7k0/å F 0` @ ` ` @ 1 <:ܷe0/@xD@Hx<R I,,,,,,,,,,,,,,,,,,,,,e @@79[S¬D 4 pу 4e tp%` ` 00G0``@@,,,,,,,,,,,,,,,,,,,,K,,,,,,,,,,,,,,,,,,$K8pE P Q4ŅIdp I,t(60Y%_`@8@pi%_s^l1B=%{(_NRD$K%rCxH" H  $$.mmmmmmmmmi#dNRM-(-H `0@āh4{s"v ` \0$.I?սpn6H@$  'OArLʃ%=J4J,rL r$IIcJThXhOzOArLʃ%=NYSV O$A҂L%.YSO I?I?\"qN49x1t(60ZPZI%mmmmmmmmmm$KAae J A.[e$Kkyc`D7=Cߛ(60T([|a%^"VId Ҋ,iQ ')/[D/\"^Y%mmmmmmmmmm$tQ6 wIIc-@T:NR^չPdGb$D,NRM-(-RD-.[e' I)=jzO$A҂L%.YS֗-49x1t(60ZPZ r.IvmmmmmmmmmI,rXo$A҂L%*4J,r,Zk2Q k܃^t)[V8UzQp9| AGBb9%$K[<7Ҋ,|`:QY%^ >B=$J+pKIIcY% \A@@9!@<$$ IdmmmmmmmmmmD2Q')& a)QQcIa

Dr  ~(@I8x $BI(AO Cph vЗZƬn&5k ؄Pv 4VPx4 e 9I6Pl`!0QAh+(QIIc Ja-% (˶mmmmmmi?.tfH0mmmmmmO{$AAhw 0030bIIc J C(=q- G0E$8 ĂA x@PAPIr#qvS$A҂L%*4J,rŌ(KmmmmmmmmmId')& a)QQc-Y%ർ1d͔* w->0/l`J+$KcEdIx4 (/')& Id.r/ Ҋ,mmmmmmmmm:(J;$A҂L%*4J,r]H9IzJ)>Dr ke[mn(60^ `KAhKmVPe 1rYO%{(-b0n A[JQ?dG(PvPt\ |ƭ `V($J+pjb @bQ?dG(PvUe %s piC 'bD')"Q[-QEHսXԢ#3PtEnc,DDȽiBpc`o?dG(PvP ׍[ >$QIHV8V# 'gdNR^OB#@xx(Cks^bC7`;D')"Q[{TZ H('rR| 1tQE `V($J+pQb"&B`҂"0')/[E'ȎPmsPx{N)`x7`;D')"Q[-QB`҂"0')/[E'ȎPms젌GP'4 9I6Pl`4`҂"0')/[E'ȎPmsZς%=dB `V($Ar J @($J+pjb @bQ?dG(PvU A~,s!NcXF$QIHV8(.DaDNR^OB#VbC=2Ũh wF;JQ?dG(PvP-gZ EE $9IzJ)>Dr ke["e %#=2͔^r0')/[E'ȎPms젌G| 0 @IXe 29IzJ)>Dr ke|(%pOch +Arlf (IKQI#([\`;*mmۃmmm(aDvS$A҂L%*4J,r]c $mmmmmmmmmY% IIcJ\֧/湍%-1HoտEkp,q́%0/l`J+$KcEdIx4 (/')& Id.r/  K$mmmmmmmmmm&9I6Pl` Kz@O$$Ap8ۜS`z!rIqPrB `@ I?mmmmmmmP^ ks^5oc7 (:J9nX˵ s/Aa?mmmmmmmŋtEnc,DDȽiBpc`o?e 1L& =(-:NRD0 &($J+pQb"&B`҂"0a?='Xrlf9BiGQIHV818tEnc,DDLzPZq ')& d& =(- ($Ar J @$v,^($ĀGGLQIHV8#Z$mmmmmmmq=|^5-DUMkG6.rцFcV4mmmmmmO{$AAhwAr%yN1asN($ĀGG0˶mmmmmmi?.tfzK# 2b4J,rƘOvmmmmmmm'Xrlf ;t(60Y-8nd-CS#PHoPA` PmmmmmmOn9n^/Faۖ[s0֧ܳR#'mmmmmmm,^9I6Pl`Z 's 'XrlfB`҂($J+pjb @bQIIc#I?\"qN49x1t(60ZPZ =jzŌ(KmmmmmmmmmId')& a)rZm@/湍%Ǵ~lPdoyIxc:QY%^<7J+$KUG7tEnI9I6Pl`K$ApxoVIdmmmmmmmmmmD2Q')& a)rZm@NR^OB#VmۇJ X(Zm($At{VD9IzJ)>Dr ke[ Eb#V҆O%{(-b09hr1qn 0,v %b:NRD0 6.q9IzJ)>Dr ke[(O6Pl`2Q:PA10;/Ar%y("j,jQ FZ$NR^OB#@xx(Cks^5oc7 >$QIHV8V# 'gdNR^OB#@xx(Cks^bC >$QIHV81# 's to{%"9BFAQb"?n 0,v %b:NRD1E""d& =(-# 'rR| 1~  `V($Ar J @‰to{%"9BFk> ֧ܳrpOch +Ar%yN1as":NRM,(M0((IKQI#([\`;*P]E ?6/aU;JQ?dG(PvPAAe,YVD/ >$PIKQK$h\r`xx(A 0(`‰to{%"9BF""{dP`([v0')/[E'ȎPmsZς`P‰to{%"9BFSQcA/`չc{JQ?dG(PvPF`pOch +ArlfB`҂"0')/[E'ȎPmsZς, >$QIIc"0')/[E'ȎPmsmmn DommmG/"7Ne J A0gOZ\ˠ,aD]mmmmmmmmmK$9I6Pl`ؒY%ർ1d"R#-c_p%9cyv垵=cI/;NrlԄr;kսIdȶ0xoY%tK$|T{IKQ$tEnId.r/  Kv޽nt6F.͔/|K$mmmmmmmmmm&9I6Pl`ؒ@O$$Ap8ۜS`z!rIqPrB `@ I?x(=q&5jP#۔вa@9hOa0(%{(-[J${rhX啅I?e KB$0('@$0(%{(-[J${r֧($IIcdkbJ\֧E0{a0($J+pjat$j<9cJL r$a0/l`J+$KcEdIx4 dI9I,ww#Acph(.5 |9vDGI &KA.0mmmmmmmŋt(60Y($p(=q&5jb G3xI.mmmmmmmrhhDNyj[s0'7QQc]mmmmmmI/t(60Yp1 /t(60Y(=tEnaS51SYl\8;/ArlfB`ؑ:NRM,LzTSk8Ovmmmmmmm'7 hX5d-s!`y?Ẑ .mmmmmmmNRM,Ǹe 2Ď:NRD0ؘI,6.q`IYxnd-CS#PK5NRJ0l`(/!Ur%y%$A,.E:QY%]mmmmmmmmmKTQ6 xNOlg;t M%rlihYئ%9ir.$ to{%"9BFmå , ~m+(QIIc9IC 'rR| 1ʷAPFݥ (IKQI#([\`;(:.rцbVpOctEnaS51SYl\# 'rR| 1ʷPlPdtb"/(aDv,^($J+p%b <ȽiBp` (tQE#V9cRT0` r'rR| 1B]#z{'b:NRD0ؘI,Q?='rR| 1B]#z'b:NRD0ؘI,AQ?O%{(-b0 ~袋 >+Ar%y(!0QlH(IKQI#([\`;( t1r13 >+Ar%y1d& =-9IzJ)>Dr kef ?r >+Arlf9BiG"0')/[E'ȎPmsZς%=dB  9I6Pl`4`ؑEtEnaS51SYl\# 'rR| 1ʷbC=2Ŏd6# ;X\լkԈG{)Kh9prx Q?dG(PvP נ'b:NRD0ؘI,AAr# 'rR| 1ʷA~-C@l_ 5nP‰to{%"9BFk> b,B(``aC 'rR| 1ʷLEG J F{d(V(aDNR^OB#A7`8QIIc KbDaDNR^OB#@j4J,{ GaXD')& cbDaDNR^OB#VmmmmiC $^ Do#')& Ia)QQc- Q$mmmmmmmmmm/)NRM-/8jMlS JK$6 CpZ W"z D~bVkN^D,i%'ri_-QGh- p ,Sf@v^P ܎[£<<!9h朳@vĢ`"jp =`FFb_+_09nƭDkDsbA9hȟ <%EHࠩ3NY;`_EH,nX5 (T&_D壚r`0? ?c؃ T~40/l`J+$KcEdIx4 (/')& Id.r/  KDA_$8 ć $$<$@rKDA_$8 ć $@IvmmmmmmmmmIM%rliyRkbJThX@O$$Ap8ۜS`z!rIqPrB `@ Oo\0${]&ʃ&[ fEXԅC 'Xrlf30bIIc 0030bIIc/`_qD')"Q[{T lLkA=J $mmmmmmOn(/?׵9|Vo sx,zN9҇XP0mmmmmmOb:NRD2[ ֑̋{D*Gf 9I0l`(/!Ur%y%$A,.E:QY%]mmmmmmmmmGE`Gt(60Z^pԚئ%9ir.$ to{%"9BFmå ,`żgmJQ?dG(PvUB _-"5n(aDNR^OB#As7-| 0 X$+Ar%yN0ƺMLQdas:NRD0ؘI0عFOa0([%{(P9MSRؾ {ZL r'rR| 1a7qb:NRD0ؘI,{Z"0')/[E'ȎPmsF@Dr ke|(%7`;HV($Ar KbD Ar%yN0ƺMLQdas:NRM,(M0(D Ar%yN0ƺMy"0')/[E'ȎPms* pOct(60YPa0QlHB:NRM,(M0(DaDNR^OB#@b ?`^ 4QIIc j^# 'rR| 1ʷbC=2Ŏd6# ;X\լkԈG{)Kh9prx Q?dG(PvP נ'@8ұD')"Q[{T lLkA QIHV8[5 9IzJ)>Dr kePd'ذ"9Aeϑ5raX(5fkbcIL'9IzJ)r525NST!6/^֥(gnO%{(-b09kŎcV|37qb:NRD0ؘI,{ZZȌ('rR| 1ʷA~-C@l_ 5nP‰to{%"9BFk> b,B(``f~P‰to{%"9BFSQcA/`չc{JQ?dG(PvPF` >ƕ 9I6Pl`!0QlH:NRM,LzB"0')/[E'ȎPmsZς%=dn 0,v`4QIIcؑt(60YfQ?dG(PvPxH O| 0 V($ĀG" 9I6Pl`!0Q 4‰`& to{%j]')rP/kR3P)Z$v,^($A{Z`Dp 9I<ڧkbc]&(1jPP\0f9h9IzJ)>Dr ke7qb:NRM,ǵ{zȌ(9IzJ)>Dr ke7qb:NRD0ؘI,{Z"00'rR| 1ʶmmFmmJQ$rb#y9I6Pl`5L%*4J,r]c $mmmmmmmmmY% IIcjƤ0($Kkyc`D7 r Ey'G[.5oZƿU4J,rƒ_w-F1 0vI{0/l`J+$KcEdIx4 (/')& Id.r/  KDAIdmmmmmmmmmmD2Q')& [RD,x  1 x< { Oo\0% I.mmmmmmmpPs{]#z{YG`F):P'7r]|c(p9z EE .mmmmmmmv,^($J+p%b <ȽiBp` (tQE#V9cRT0` r'Xrlf9BiGǸ(=q&5k&($J+pQb"&B`kbG(̖(!0Q5#Oz/t(60YPa0Q5($J+pjatb$p 9IDr ke[(O6Pl`2Q:PA10;/Ar%y1d^[J!R80\QIHV:(DL֑{D*Gf0f9h9IzJ)>Dr ke =xսX +Ar%yN0ƺMyV# 'gdNR^OB#@xx(Cks^bC7JtEnaS51^b D‰')/[E'ȎPmsPx{EXn  9I hXA' V($A5"0')/[E'ȎPmsmmn DommmG/"7Ne HՍIa)QQc- Q$mmmmmmmmmm/)NRM-- [R垵=dIx-o5l(nA:D|ƭ+XWgOXd /ܴX yIxc:QY%^<7J+$KUG7tEnI9I6Pl`K$Apxo H88_$8 ć $@IvmmmmmmmmmIM%rlihYئ,$?0(H< H@p79'a@B[ fhA@j޸`H Lz[``a$mmmmmmmp8vAx(9^=xսX,#|c(`G.{׾ t1Δ8""mmmmmmm;/Ar%y("j,jQ FZ$NRM,(M0(=tEnaS51SY5o#LQIHV:(DLG#Oz/t(60YPa0Ql{ 9I<ڧkbc]&(1"G(tQE KbG0$IIc KcEt(60YPa0QlHOb:NRM,Lz[8b:NRD0ؘI,6.q` r'mmmmmmm,r9nZ& kZ9s5"7Ekmmmmmmmŋ')& ccQIHV8[51Ey#8e 2Ď0a$mmmmmmmp\7,З/GkdhX0mmmmmmO{$Al{t(60YPIKQK$h\r`xx(A!䄁pD PmmmmmmOn9n^/Faۖ[s0֧ܳR#'mmmmmmm,^9I6Pl`c9,^9I6Pl`!0Ql{ 9I<ڧkbc]&(0عp'Arlf6$q '˄\)ƒG/"7Ne KB$0gOXIvmmmmmmmmmI,rXo$Aв 5L%.YS֗-Y%ർ1d͔* w->0/l`J+$KcEdIx4 (/')& Id.r/ Ҋ,mmmmmmmmm:(J;$Aв 5L%.YS֗-@IKQI#([\`;*mpAx _gmme 9I6Pl`')0Ց(aDNR^OB#V*~ ջ9IzJ)>Dr keEZ0ܷ\j| 0 V($J+pjatDr ke =z EE7`8QIHV8[51Ey1# 's to{%"9BFAQb"?n 0,qX(tQE KbDaDNR^OB#Aܡ?aXD')& c&Lz[# 'rR| 1+rZ >+Ar%yN0ƺMLQdas":NRM,(M0($FO%{(-b0n(."{dPT0 X\նvA09IzJ)>Dr keX@X՟j4J,raXB')/[E.ZFr-ÒCO%{(-b0n1!3؃ ZؾqDj39IzJ)>Dr ke|XP 0009IzJ)>Dr ke["e %#=2͔^r0')/[E'ȎPms젌G  9I6Pl`!0QlH(IKQI#([\`;(=jzpOct(60Y9IzJ)>Dr ke[mmpb#{mmm (9x1t(60ZZA&)=jz]c $mmmmmmmmmY% IIc Ia)rZK$6 CpZ W"z D~bVo «֧ܳo 2Z b,DGK$E(/ Y%*NRD$t(60Y%^ Eȼ7H@$  /AbCI K$mmmmmmmmmm&9I6Pl`5L%.YSIa

Dr  ~(@I8x $BPDSp`<@7T< 7cfYn`,nXCpB*?t\-5"7`{սDG "<[VPx4 e 9I0l`(/!Ur%y%$A,.E:QY%]mmmmmmmmmGE`Gt(60Z^pԚئ,Kt O%{(-b0mn(60^ `<$--;mP‰to{%"9BFT"Ah1wiC 'rR| 1aoտ7`;HV($J+pjatDr ke(O @0?raXD')& c&Lz[ Pe 1L& =!fQ?dG(PvU A~-C@l_ P«|0%asVcەH0†O%{(-b0PYcqx cV|(pOc+qbNR^\ LA#G[ B $$!bNR^\ LA#G[ B  0')/[E'ȎPms* >ŹPdfUy&,An-Ax tEna4[2H(IKQI#([\`;*b,B(gA |6ոgiC 'rR| 1+A``f~P‰to{%"9BFSQcA/`չc{JQ?dG(PvPF`pOc+qb:NRM,Lz[8e 2H(IKQI#([\`;(=jzpOc+qb:NRM,Ď($A 4‰to{%"9BF@P ܨ27`8QIIc KbD ArlfB`i9IzJ)>Dr ke[mmpb#{mmm (9x1t(60Z^pԚئ,Kt(KmmmmmmmmmId')& [R垵=dIx-o5l(nA:D|ƭ+XWgOXd /ܴX yIxc:QY%^<7J+$KUG7tEnI9I6Pl`K$Apxo H88Y%mmmmmmmmmm$tQ6 wIIcjƤ0gOY$ @0 Ab@x4; 0$j޸`K7E$ ]mmmmmmI zG0V9cpStOoY^):Pr]mmmmmmI`XQIHV:(DL֑{D*Gf0f9h,^9I6Pl`4`kcQIHV8[5 [Ar%y(!0Q5#Oz/t(60YPa0Q5($J+pjatb$p 9I0/l`J+$KcEdIx4 (/')& Id.r/ Ҋ,mmmmmmmmm:(J;$A5cRkbJ\֧.[e$?dG(PvUm҃c ÃB3m҆O%{(-b0n A[JQ?dG(PvPt\ |ƭ' V($J+pjat DaDNR^OB#V ͔* qΔ0Pv DE (ŋtEnc,DDȽiBpc`o?dG(PvP ׍[pO4QIHV8[5 [Ȍ(9IzJ)>Dr ke =z EE7JtEnaS51^b D‰')/[E'ȎPmsPx{EXb:NRD1E""d& =&$FO%{(-b0( ?`ұD')& c&LzMlH(IKQI#([\`;(=jz(O7JtEnaS51^as":NRM,(M0(ؑQ?dG(PvU A~-C@l_ P«|v0')/[E'ȎPms젂X+FE^bNR^\ LA#G[ B  0')/[E'ȎPmspA4;#Vᝥ (IKQI#([\`;(""o (IKQI#([\`;*1(60T(A~l [79IzJ)>Dr kef ?7Jt(60Y(ؑQ?dG(PvP-g[z0iXe 0Ĉ‰to{%"9BFmm1mm҆IGe:NRM-#V5&)=jz]c $ lꚎ$+[b՝ab&./usr/es/sbin/cluster/events/utils/clhmccmdroha   =e _anorst$cdfilmpu"#-CRghy().:;AEHMOS[\]bv&/01GLNPTkwx{|}%,2348>DFIUqz'57?B!*+9 YPVrjVT?sz5i=L '9g>ep+(+9+X-'Ŧg>ei9-'Ŧ"R^4՘RLN26 5nN)''Ʉ'/*0(Ɠ'Ʉ|=L JNb"&-rqdO{D6Bbb2BbxǏmmmmmmCIr8&{IَEld<<Ɇc=?XXaKx>ǡ9&g=mmmmmmPlCEP$>:!3͉JQ&4ذh>>mmmmmmJmmmmmmmmmmC? ( Q D܆=LPcE6p$*&#`dC?8D@&E4<%dfLC1Ȣƛ sq1B0?ĤM2]NܔiǓMnqC=C>D71Ȣƛ{gĠ fɅ `X 7cwD#D퐤sĤ1osz C=C>D71Ȣƛ{g 6$Ȟ7:7(oA9x1Ȣƛ"䤶!8^%'"q`Hl]cĤr;"liP4v=%'9 'ĪS nJ^Ȟ=C!n9M7'#4f F4J^Ȟncq{"{1yI`PA2'e<ƛ0-&&aQv447I2aOEC?7q2WcM{AĂ\o970Pd d'q2WcM{Ap@Dy 0(ɻnly0'f2 vyp`d9C!>{"x2'܈.E4FP+bPPB8T,gJNcsHBRc7@Gq#4fثP+tXY<>%? rc 1/((7b 3A9y]D7c=C(@D&,n_[X mb2(+ 2(+ĪR\l8գ($$PqI1f1& ! 7+|=\dPl"WZ2 9M7i \ h 2Yǽ+FQ17la.`eC17g>ep+(ly5(bIX-'Ŧd4ɮ`Oe4ɦ !+X-'Ŧm{Zm>0?{sWZOqM7դ|`=M-'LzdA&=mb2($Ǭ@o<CA&=p# 7boz{= ?cyy*޴C17hգ(޴eC17h(e{։ZOq?{֓do{ ޴Oj{Zm>0MZOqM2boz`Qi=-6&5i=-'9rb I9mb2?㖓bq=.Mh?|sI9hMCI9f| =-E4Vde'{OE4Vbi r͘5i=-6OqECM|`Oi覊є@e'0=jє@o{Z, hD9CA1dI1'9 sZOqM79+IAi=-6|^7&'9|`(/=.ddaM;=9'r;蔗A.8cx͞%'cXNMŊ2$A'.2l;<؂1=>PBw`dËjaN9Ϗ#rz C?? > ¹IA-80("Rx$$%&=twg2#!? > º  D-FCFƧRa&睞ӜYtJKp@DoLRs,iτv>v̛&(I؋lw(pۊb@67 l0LƛvBY P Dk ɸXFQd;a\jx%&qny9E={DcXNMŊ2oĤ,jPsIË>v̛&(){"{RC b8 Q' 6|i d$9CN^WrRD74$ =9'sӏ&h{c/{'{LP{xU( 4E*JNaF4J^ȞdbƓËOb T{f|?XYv̛&(5/vd|VWbωL&{cM;|,(ĪS&&ثP+tXY<>%2` 7 Kv̛&(#e9ܔ= Ih.y]7I2a>ثP+gĢA =PBv4܃PI%ї'&zlN.E< \jT?cldh覎y m'!8#DB x(|3,iFCIr8&{I8ـz Y3 AC~$ sI1Fc/PĞ?!bx71kN'&GO{J.9Xsֺ8@ &oG#ɪ2R9E47fy'~): q1B<^|oĞ?!]r(ɻ4Xxei8s7Id#=~C%(3QcM1Mvmtyk&S|ɼɇ/{JN!LP&'dFs,i)nIN{Rtbx5C?"( (`r)Bsӏ&Ȟ懨 Q D܃A9y\2|sCMZOqE{ l5ec2E sN0p'=MdB|7-&&D7  #8@NA,Lzl2'3> %c0v*Pd\h.y]&&~ XVD7  #87Yk9C?&{|JaH Ef0ro2a+5`DL1r` 8pY5C?N h +0%(w̘a3Sfz'888 Q D܃NA X/ c0-C?N&^τ9 'Ʉ Q D܃NAcP" 17[&>'4=C1b&bP=̀.El`z,=<4h$Dx!9PmmmmmmmmmmPmmmmmmmmmm=pa9PɁ=(N '!ɦ0ʇ~Jbʇ}mmmmmmmmmLnNTWO=;?r0AA!I'c"b0M;3 `h<,$*D,($(""$D,  a`@,$ P4 `dbƓ 8xppp 3 &@  `)@\IX.@B 1X.@!BOqX.@[sF9_ »IFanb0MgĦ0;H08rI;NCG)Cmmmmmmmmmz#!1𕘉@ʇ~L yD4?170Rs,ivMZOqIACz2?$Eby"B䈬 "HDQbD Pmmmmmmmmmڣi=c+1VU./"@$TXI`Ph4Cr)O @(ĪS @RXDji y' XdQ` (@.ɾRx!45_睋ji y' ddCIj&v$H SIdely8nJ'M$1~) DV$"("DI+ԯmmmmmmmW1ܔOs`mmmmmmmWLNNb p{8zCx@<x|;rQ3\ rQj',T $ ?#4f]|"C|Mm,T $ ?4FaXg9 s_AMry!KDIq2|'ICksdf !?92v dOsAO% sr>9dX"DHX[_ayظ@&qCIo>v&(F &iaRk(@D< YDLZ!|.XTT $ `VWǫ@A_5B?4$ 0jPMi1>'PDD7L|On#*D7ɭE+KDIq~(JaE*@&XWKDIq~roʿm,T $ ?~n Q'!f&{,BY &O)b n !{@is&=`(+ ֓qM,T $ ?=b2@7ɬM+KDIqllO]dB|&̚X@""H?|ɼU)¦s\qiHW|ånJ'j kF>MZOqIB*Qt&s6WC|z2KDIqOF\s InJ^Ȟ_6 #ydDV(, C,ń8   ~$H 6r(0\4#1 4v0ń A"CŊ"$,+B,I,H!RJWxo9d "HDQbD WǫBrɭKPmmmmmmjJI,N^WrQ=͂mmmmmmm_m'/*9J<\_ [#4f!Ĥ_$`O,eXGA`W0\"DI{#4g9P`nJ^Ȟ 4v0ń A"Cœ[',+$ X4[! Bb+H, 1dIό1yIa |4 8ÜY|#,9d "HDQbD Wǩ_9#4g=aRkdbƓ a|C5mmmmmmmȹrɭN3mmmmmmjd'-N38',*Ml^xqAQaP@"@XD"I`8X" `_@A_&(D7ɭN3 XT0 "D(W"',*Ml^xqDŋX"$(D($|0IN3P8 "HXT "H"@PzB!BV  W$*51yIaK [#4f!P4XT HT KI X(<.o[#4f51yI` EEI "9b!!`P+$po[#4f51yI` A¡@p9dE@ňB$@ Ah',*Ml^xqAh ,**@Ց"Px\/ |0IN3P@ ,*$,D"$, `_@A_ 51yIaK [#4fh<XT$$"XD"HX Ap+"',*Ml^xqH $D(BMl^xqR¤'(PHPXTPHPT"Px\/@$D51yIaK [#4f ¢ ""Px\/ y"B@o[#4f51yI` "$$ V"Px\/ P<\_-N3%XT2ndbƓ9   Kᆎ8!Ph2n'sfr '00\;WsdV8"b hB!K,+B,I,H!RJ8+?dbƓ,*Ml^xqA/f_< C-N38 ]p؂rRWK01x4Ib!%`(pdgRZ`0'HTLEbl2 XH#   ~$H 64s&(0\6F/C Gc Xaz,>DLD XD"I`8X"84v@P"!E$*I_\W Wmmmmmmm~D` D6 mmmmmmm['s =9J<\_ [MN23q)-WI$*&"A`hBdDV,$X+p ."BOi=&'T9P`nJ^Ȟ 4v0ń A"Cœ[',+$ X4[! Bb+H0+pEI'>2nyĪS ? Oc?A8a,HpDv@P"!E$*I_v./Mo978\s\qiHJKUlF PX-Y!Q1 p$¿$*H?MM$ɸ  &'T9P `nJ^Ȟ 4v0ń A"Cœ[',+$ X4[! Bb+H0+pEI'>2nyĪS ? Oc?A8a,HpDv@P"!E$*I_vMh.y^A9d&x$Mi=-6v47RZ`0'HTLEbl2 XH# f0(0`D >=̜M+(0\7%/dOsC6yDKrQ=ha_Ec&%/dOsG`X$WY"+X"BqWbdy۹8dgp̲k57'fq)-WI$*&"A`hBdDV,$`+p ."BOi='0jodOssUSȸ ` K l ܔOsC;WAA! !CH$E$H%z(jmmmmmmm_%$BY ܔOs`mmmmmmmW5){"{G>PBG)_睋k|ɼFq%%6 #ydDV(, C,ń8 A?$HT~'`d*9  Kᆎ8!Ph%s hv{6rCs nJ' +qaBxqdh  $EaB"$HT=_ W@ Wmmmmmmm~D1J'Wmmmmmmmܔ=ͣ1WlF PX-Y!Q1 p$c  ~$H 64s&(0\7%/dOsC;WAA!ɭK lF PX-Y!Q1 p$ 1dIό){"{ ? Oc?A8a,T $HD" #,+B,I,H!RJ0+}mmmmmmU?"RL bbtpN{mmmmmmmWbYDLZ8!Ĥ_睋Mi1>'!Ĥ_睆d+rQ=aJKuRL -&>'7,c|OsUy`fXJKUlF PX-Y!Q1 p$  ~$H 6p.8 "H;=g8<ݬFx{&S ܔOsC;WAA!ɭ&>'4v@P"!E$*I_W W9qAi1>'5c|OsUy`fXJKUlF PX-Y!Q1 p$  ~$H 6p.8 "H;=g8<ݬFx{&S ܔOsC;WAA!ɭ{; B(|rX@Dĉ$WǫP}mmmmmmU?1&-&f;XǓMlC>mmmmmmm<\_ ܲkI=Fq%%mmmmmmmeFAH$ǵ΋"aM7k&5΋"aMsؘ@Z@EN'1U9..1y7:,1Ne 1b2q#9틱1"J%mmmmmmmXV"R9,ҭ|d&܀<5_2y`f0/ l\_ X#8W~50ckχ d֓{Mi1>'kY5RXD=J&ia sDŠ|#n[\l`dl@5_睆e xhn!Ĥ_$`O,eXGAF0(0`D bbsd&9  6C6yܔOsC;WAA!eFG`X$WY"+X"BqW$c|Osrɭ&>'5_睆e xhn!Ĥ_$`O,eXGAN0(0`D hI @qჂ$6ygG2e2D48a, HT,c|OsG`X$WY"+X"BqW W9qAe1hQ; CIj͂HY!Q1 E$*&"a a_P`pĉ$;ǶMs.\lalg '( 4v0ń A"Cņ-b2; B(|rX@Dĉ$RVb I=ɭ{2F47RZ`0'HTLEbl2 XH# 'W0\"DI$ۀ8pAA<؁b3ģܙ2v{0¿$*  Mh8  !CH$E$H%z=_mmmmmmjJI-5aE_mmmmmmگ &XWA9G,屗+IC8̚ånJ',44CIn I%ưekEa95p+*<03,`^ Cq%%6 #ydDV(, C,ń8 0(0`D hI @q1'&aD;=g8<ݬFx{&S )( 4v0ń A"CœZ,k ɫXFQ`!_>9d "HDQbD WǫqWmmmmmmm~D屗:Nr mmmmmmmv./nY5c/IV23q)-Wa5JܔOs{pXhh_K^τ'9 k^τ'9v0/ᡸ'5_睆e xhn!Ĥ_$`O,eXGAW0\"DI$ۀ8pqǡ9~IalgbrddhpGc X@4"($;Y5z;Y5rdv@P"!E$*I_W W9qAi1>'5c|OsUy`fXJKUlF PX-Y!Q1 p$  ~$H 6p.8 "H;=g8<ݬFx{&S ܔOsC;WAA!ɭ{; B(|rX@Dĉ$W${= &Brɭ{2F47RZ`0'HTLEbl2 XH# +p ."BkmP`aМ?@Ⴢ$6ygG2e2 D48a, HT,{= ,qAi1>',+B,I,H!RJ8z=JmmmmmmmȔ\ 1nd~mmmmmmm_睋Mp(ɫI1i9c#8v./nY5#8v\tD7q)-aI0$cդ02ɮ5i=-'9 kI=Wa`#^q)-WI$*&"A`hBdDV,$`+p ."BkmP`b7=L 9 ?@Ⴢ$6ygG2e2ےhpGc X@4"($;Y5&'Ť ;Y5H DV$"("DI+q!*'1Z1-&>'7&cZL|Oj; CIj͂HY!Q1 E$*&"a a_P`pĉ$Г\nIalgbrddےhpGc X@4"($;Y5c|OsG`X$WY"+X"Bq0\ 1j{AZNrd|Y5c|OsUy`fXJKUlF PX-Y!Q1 p$c  ~$H 6p.F>Mq9AC9P `` ll@vQLL{0¿$*  Mp(ɫI1i9Mh8  !CH$E$H%z=_mmmmmmjJI,62 2܀;cM nJ'{6MWmmmmmmmGd+rQ=aJKuv./nY5ưe 7,c|OsqCIj1>' 94 ƥ4h'&+*T`'1Z,k ɫXFQV kkI=Wbp+,cXNM\ 223q)-WI$*&"A`hBdDV,$`  ~$H  tkJi>.P `bk ɸXFQƓX0\6ygG2e2 nJ' +qaBxqd֓{;Y5ưeV k !CH$E$H%z=_mmmmmmjJI,62 2܀ƛܔOsa lmmmmmmmWa5JܔOs{pXhh_睋Mry!A9Z,k ɫXFQFq%%c/It8rhJi>.cXNMVUL&9H&XW#jgKMry!JKUlF PX-Y!Q1 p$  ~$H  (ưeL68Ԡ $y !p'F v{6q yX(&L@Ss[hpGc X@4"($;Y5ưeɮ[zO>cqk !CH$E$H%z=_bۖM7qJDՠ{d04r>mmmmmmmmmj~b2s"T=C2`cJ'A0sdVr~"i-,>w(J2C?%1MseC>mmmmmmmmmjMD79EZ* \_,*"DH h &S Q_*c|#K+8Ğ{c,*(9&9_<--Xn@Gcª93,C< c¢ g5C5I'c"x`) Gc aQr c¢ѐʂI;s"CG)Cmmmmmmmmmz#!+A1zdǞOsCQ8!b2JN{|2ns܊MFr hcbp'7kPIgF[LTX"PLS{`"`<!aeDV<}mmmmmmmmmLnNbcZL|Oj H *,$p4CɔFpH' RU) ~)dX"DHXY_*cnLzf R;9h$ǭFqCIjmmmmmmm_t]ġ=鵈rmmmmmmm_$ǭFia@@c8 6FMMUyظ@A&=mb3JKU>mmmmmmm㳘zh bۜMmmmmmmmW̥"4D䄕qWǩ_Mv8h8 Pmmmmmmmmmm=9qAe1hzdǞOsCQbtwĤ&ca>χ'ĤC#rns܎&"DP iV`P0S |p!=7&~lЏmM=CMl``\&-!NL.&$!)1쌛|#LP=CS䈬X"DHXYC p8$$mmmmmmmmmmG&"{Q H *,$p4CɔFpH' RU) ~)dX"DHXY_*cnQ,v./r"b>Fq%%mmmmmmmi@m8%ػ"(4_0rX(mmmmmmmWDLZ4P0P Q)@Rtf Q'1B@h"B@b Gdv6LD@ҭ|`8 6FMMU)`!J<03-`^ Cp[9e1h#8mmmmmmjIh GkA8F_#r* `q\&>'7cI<4ώ=44W6NbhG9W{mmmmmmmWDLZ4Y9"b>p,lRBy`f[`./r"b>Fq%%mmmmmmmMi)=!mmmmmmmDŠ|#GW̥"4D䄕qWǩ_bۖM7qs"b> mmmmmmmmmڡ،RL .[zO>=C2`cJ'`K^τ9mb3'P^M4e1p83F8յC^τ9mb3م$s?$Eby"B䈬 y!%Pmmmmmmmmmm96’`Iry  $H ,* hynPe1 1Ja1Y"+ȑWJ05mb3K)_mmmmmmگI0%c/It6Wmmmmmmm "d$r1Ƥ! Nr#jg b2;|_睆e xhn!Ĥ_2H8Wǩ_Mv8’`Iry 9JmmmmmmmmmmC?0ZL|Oj~L yD4?"RL i1>'XEv@${IbC=CMl``\$ǭFrL|On#<]RL g9)olDV,"$,,H8Pmmmmmmmmmڣi=)&{ $H ,* hynPe1 1Ja1Y"+ȑWJ0$ǭFi`ĪS [Xu9_*caGRmmmmmmU?k #:,64ݮ6Zdd#:,?>Ml]U9,T W':piV`主|&Ʀ!9#;nd#9틱1"J%mmmmmmmRZ 1kdgrsc|Ostc#*X-FV:"p:AfkK Z 1k+̰%xhn!Ĥ_r7/:mmmmmmmI80#+|f "d$rXq<c#+|v`K <03ydX"DHX[ 8'|v(zXnLzeo +q|c#=h$ǭFV;8&h1_O_\Wǫ/F 6FMM1 6qۏ7 qv4`K = sƊO|OXXsڒqWǩ_睆g96ۂCIje, p8$$W W/>F1ȤxeoV kNMz@&HRL!?XdˁX-FV; b2;X-FV9_睆e xhn!Ĥ_2H8W WJI-Z 1k{aLPǫ "d$rXq<c#+| qF_-@ dv; CIje, p8$$WǫԯS{rbI;aI0$Pmmmmmmmmmm=$cXNM\ 2~L yD4?"RL h'&+;XEv@${IbC=CMl``\+CEa97XFQg I,<9C?%1MHŀ$D?X"BJmmmmmmmmmTrm2'$cXNM\ 2 H *,$p4CɔFpH' RU) ~)dX"DHXY_*c#4b>mmmmmmmȔZ,k ɼ 2#*mmmmmmmDLB+'#[XݬFGo+̰x/ 8RX"BJ8+ܷ?iRL -5#(RmmmmmmmmmmPFC)&qJ~L yD4?"RL i=b3 mnsĤ1>'] xPEF[X3:OqkqN#<]RL g9I[X4c’`K9PLS{`"`<!aeDV<}mmmmmmmmmLnaI0$BTWXTDQa%A8  L23A<&9L&9K$Eby"BT'嵈,Ja1I[XuĪS [XÔmmmmmmmW~*55aGqJN{mmmmmmmW9cXNM\ 2[X堓Wa`#^q)-W̥"4D䄕(BU>mmmmmmmȔZOqǡ;X}mmmmmmUb2Bf9@ 8AOqrV kB2)h$ǭF@dBV#0X0Wa`#^q)-W̥"4D䄕q8+ܷ?iRL -'АPmmmmmmmmmm=$QVdzsPɁ=(JI.7I2a?ICkcl@s%'I=ƊH(z/&2?Kk!&=L 9mb3م$sXCA&?k.)&P7"+ȑP$E`h (zmmmmmmmmmmQɴȞKF>MZOq9IAAU@$H X8T ~ܡc#8$c )_*c?yDV,"$,,Ja1KkX1_*cT`)_mmmmmmگTj,=,k ɼ 2㸔&>'5_mmmmmmگsưe`A&=mb22F47RZK$E`h +P}mmmmmmU)&c'Ʉ'9 FU>mmmmmmm1!I3 0?I1'9 9p+@ǡ~f$g b2;|_睆e xhn!Ĥ_2H8WǫԯS{rbI;aI0$cդ0G)Cmmmmmmmmmz#!+Ea95p+*01Tj,=,k ɼ 2#;٤a|2ne=)8(n~s܎&(D9.ښ(z/&2?#< mb37iJNror`>.I[X4ݬFxcXNMVsP7"+ȑP$E`h (zmmmmmmmmmmQɴȞ+Ea95p+* \_,*"DH h &S QJT̥"`<!aeĪS A mb3K+%RLI[XuĪS 1-9JWmmmmmmjq# cgE0ƛXgE0<"ɹ틱1"J%N*oD˜'2cgcM̓g=v&"DP iV`P0Q_mmmmmm9h$ǭFq Vb I=I[X`DsYZ!Lzg D5_2y`f;p^!Ĥ_ Q$)&c É2#97k mb22FᡸY"+D@pHI_WbG.`l%xȇW~ܿk@'^|dΜi<iV`ey^.sM؂d7DWJ0#+|GWJ0aGWJ0rm6ԯmmmmmmmW~D;A&=mb3%'A1 ͕mmmmmmjVb I=qAh$ǭFU)`!_睆o3,H a$I[X堓Fq%%mmmmmmmqpHsc9i22nrm2'mmmmmmmrjVxe_2(BU>mmmmmmm4/{1=cZ 1k&%ɔW{CcJU_mmmmmmگK$Eby"B8+q|#[X#8mmmmmmjIh .%'#ģܙ2CA&>r;A_,k ɼ 2gw&&>'4;/InsimmmmmmmĪS @&h-J1!I3 VO av`K <03ydX"DHX[ 8_mmmmmmگX󸔝&>'7p%'Ea97XFQWmmmmmmm'|v(zXo[Xv!*(1B`aI#[Xv@ dve,+v"`<!al47RZ{c-[WLNa 1kN3\I[X堓[dgRZf[Xrrm64`Kq5͕z`dlCsgx@cOCН9,h4ɑ=E57='zy`fsi/ l\_ #8!Ĥ_mmmmmmگ"RZi7|799_mmmmmmگfK$E`h +(BUb2Bf9@ 8A \ mb3v#*<03,` p^q)-W̥"4D䄕qqOX-Fip+ʿǫܷ?i5#(R>mmmmmmmmmj~b2NbcZ,k ɫXFQPɁ=(QaqCEa97XFQd;Fstc-P9GI@@sq1B 6Mv@9C?y4і xV ktZdwư#(b2?$Eby"B䈬 y!%Pmmmmmmmmmm96ܜh8 XW $H ,* hynPe1 1Ja1Y"+ȑWJ0#4bU) ,PD" ,q`"pĪS ""X ,PD" ,q`Ł _睋""X!(z~JbH ("4D䄔=CmmmmmmmmmdOsrsc/IV H *,$p4CɔFpH' RU) ~)dX"DHXY_*co)V#4bU)`T`B28rU)pWbG.R1ƭFqCIjmmmmmmm_{A g.@L󸔝FssMrmmmmmmm_睋 `JLLLN ;19@DŋX"$(; ӱ b$EkKQ6 jh ۗ[X#8F8յ,0T Tp*b`*` poو8Ir8%%h<"$H HX@TT; ӱ b$EkKQ6 jh K 8+v"`<!al47qq|#)V#8!Ĥ_mmmmmmگ"RZlKIvaI0% ry'9+?<9aư#(+}mmmmmmTq|#qF_A9p+n H2q .X\DC!apY P aDd,."@!,#8¿ ,ЌF(rZ0Yǡ~ [X#8¿ ,ЌkR;7-,Ќ8 "d$qg&&(DHưe˖^τ'9 C"$HcXNM\ 2c/IVZ0Yǡ~\ mb2;rq\"XWa$Eby"Bhn nN+_%ݾ`siñCIj#jfE!*qk8r=_HFqA;̥"4D䄔R=_b{I5mb3KqkW)o1A|~$w'1\2|%i9RmmmmmmmmmmPFCVqJ~L yD4?n{zv);X&[#Ĥb@e?6NbhGɦ0f.@Γrg!NL.RtBvP,x 1k{p<šOqǡ9xr`F.V k!ư#(b3ȘPIeC?%1MHŀ$D?X"BJmmmmmmmmmTrm2'9{= PU_aP $EE@x4<_(y2 WJ0e,H +%RLr {[XTc#4_*c[X+q|#rg8}mmmmmmU%ĤbC>mmmmmmm1!I3 VO \ mb3~L~@ǡ~Lzfc#9717i={[XRBy`f;rXDA8@I9mb3JKU>mmmmmmmc0|+}mmmmmmUrfK$E`h +ԯWzOqkZOqkW)o1A|~$w'1ZOqǡ!mmmmmmmmmT=C{s&'Ʉ zQ=F&=L 9mb2JN#9ɺ1=)*b@m͓r~"i-,P<"3$#>C|/<]Ĥ(ɺOq9NrX(pmmmmmmmmmjMD7'1\ 1j{AZNr \_,*"DH h &S QJT̥"`<!aeĪS AImb3K+%RLI[XuĪS mb3K\Imb3JKU>mmmmmmm Rq1B!mmmmmmmDLBodˁX-Fr{BF B2)h$ǭFrnbozQVbs[XKkXR; gnY"+ȑCpH'9pI% e$#=概CIjmmmmmmm_Dl&;nonsA7rI|QcMa]ݩɧɺ 1Wmmmmmmm $+RX"BJ8+=_)[XKkW)o1A|~$w'1\ 1j{AZNrmmmmmmmmmT=C{s,zdǞOsCQ#;c|Osa6_It[jJ0l?9P؆rm2'P^M4e1p83[X 5aGke0&>Pkk|#;I{xE&DFMP&֞kA&> @G!w i])/FC=CS䈬X"DHXYC p8$$mmmmmmmmmmG&"{.deAU@$H X8T ~ܡc#8$c )_*c?yDV,"$,,Ja1V kX1_*c 1YT []ȭ-8rɭ鵧I>)_ Q$)&c ÉˁX-FrIX,0W̥o3,H a$qo¿eBp8 $ǭFtc3f_h$Ǯdgtq"x#&FqA95[ I> []ȭ-aRkk|"0\ 1ka_`MoM=ւL|XTޛZ{I-aRkzmi&cC A&=mb2\R1My Cmmmmmmmmmz#!+9+X-EC?&<{E`AHN\cE+s`yODkmT?c|Os`li\6/=cE+ hcbpCEa97XFQgKaMl= !:2W9PLS{`"`<!aeDV<}mmmmmmmmmLnNb2єTWXTDQa%A8  L23A<&9L&9K$Eby"BTtemK+%RLxf%RLsӏ&4`eqD&єnڴe޴eJa1I[X,ĪS bozsZ2WJ0U+}mmmmmmUf9iǓMBteOsx,}mmmmmmUy`f;rXDq)-WO=-h,718iHJV FQV 8ch* єVsӏ&4`eYǽ+FQCTq|#MmtV"cq Y56Z 1Z80H''1Z 1\"\ mb2zmmmmmmm_\&DFMـ ejєU>mmmmmmm<03ydX"DHX[ \_ ܲkk|#JKUb2Bf9 aG.`?FQBF B2`pc#0[]ȭ-nڴe yv"`<!al47t{c-[WLNajєq +03FQ[z 6G Wl>mmmmmmmI~l6/MZ2mmmmmmm_睆o3,H a$MoM=ւL|23q)-WD I P&Ag G A 4c=I[X–MoM=ւL|717h#)`!_ၛ$Eby"Bhn <[0CНs{֌f_ၚ26\(ᡪ5͕z>mmmmmmmœ^#(t&ExcE+ mmmmmmmWa$Eby"Bhn!Ĥ_ Q$)&c@rV ke2nbozsZ2 eXWa$Eby"Bhn f&'9( qo&ahpdgRZElad.bozsZ2WǨJmmmmmm_AHNQɠn5;4xlA9Wmmmmmm<03FQ[z`X/ R[ElaPXp,R1My &q9|V FQ mmmmmmmmmڡ،̮`O=C2`cJ'Ammmmmmm1!I3 0#[X!#r?I3 9M7i \ i=-6sN0W̥+}mmmmmmU&5GI2aOMpqR_ixJL{#: 1͔{Ĥde_mmmmmmگ7ۖHŀ$DCIj4Osӏ&4`O0+\_ []ȭ-dgqq|#MoM=ւL|23+ VL|3[X_mmmmmmmW?80zmZOq`K gnY"+ȑCpH'I80p-C MZOqEڴO7դ C5<\_,\lQGc#8i=-6-l= ޛVbi@q|{֓bqێ6MJKU|` 2zmZOqCUq5͕zmmmmmmm_\)/ـ eI2 mmmmmmmvܲDV,"$,-N./nY56Z 1Z8!Ĥ_ Q$)&c@rV k2CA&? @Ќ0009)dMh$h s{֓bqboz{Zm>017i=@ve,+03ydX"DHX[ '|v(zh,717i=-9I1i17i=Cr;17i=-=c!Ĥ_ၚOqM `C!s{֓bi@q|{֓bqێ6MJKU|` 217i=C Wǫ6UqWmmmmmmm?Lj{ dO4&Exc'9 vE_l6_sB!9 &P e 0ɡmmmmmmmvܲDV,"$,-JKUb2Bf9 aG.`?I1'9 y|^7&'9|`;|_2y`f;rXDq)-WO= d)dcx'14"s¿eBp8 =$ {IAoKC5 {Zm>0[z 0ɸhjse_Rmmmmm#l= !8A3M 94 ƧI>'rmmmmmv|` 0a^!ĤWOqM `BÁ`zonY"+ȑP_4cVsWZOqMmmmmmmmmmT=C{s O=C2`cJ'X{s{6`0' (ɺOq99(z/&2?#:OqM `C!NL.Rv 4=L {I9C?+CEa97XFQgqJO|0 Xs[XQt&s6ǘS`AHNdO3P7"+ȑP$E`h (zmmmmmmmmmmQɴȞ+9+IAi=-6(*q|"K Ap<@/۔M{AsWmmmmmmm "d$r(| \ mb3~f@7(h$z -|"0008`v@ MZOqM)`!_ၛ$Eby"Bhn <[0CНs{֓bi!i=-6-l= MZOqMhjseJmmmmmU4iMqtrmmmmm_睆i=-6-l= 0Xp,q)-bi6РX-_RJbi6УhI rqW)dX"DHXYA|~$w'1YϙZNr I1i04r>mmmmmmmmmj~b2M)/[jsFPɁ=(DJKF/mmmmmmmmmjMD7&Ȕ5f9r*q|"K Ap<@/۔mmmmmmm$0!0yrɭ5#(U>mmmmmmmX-FB+,V Th@,cZ2bLBB8դ2L\ –1`dx,*b&81p+xaRk1p(\F/ @A_+jc%io>+cM[I_ Wmmmmmmm~fIFQ@rɭ5#(!#r?FQ WmmmmmmmEogl"WZ2X4ɦ !+X-D-Yǽ+FQ ޶ Z2X18kX-D5_"lK 2LZ2x,*b&81h!pr¤c7 Pl^2WMYϙ\ h!=ώ=1ioq);I@G=5nN)')_mmmmmmگ&-'1 aG,cXNM\ 2@7(p+ U>mmmmmmm=BM\ i=-6sN0 ޶ ZOqMdOj{Zm>0ZR`X18kX-'Ŧ2LZOq$ŤË 2LZOqpr¤c7 Pl^2WMYϙ\ i=-6~;kPK;>8LƧaɼ]ĤN)'s4չ8U mmmmmmjHvLzVbXq<9d֋rjVrI8#/I[X–Mi1>'mmmmmmm  &慐I\"XzA&=la-'1`LzVcaŅLD \mmmmmmmI9mb2I9i=-!dy&\l{\ 1j{I@,r=+FQ $Oi覊{Y'{OE4VbiY'0=jєB=,فVd=,فVbiY'覊єB=-E4Vd=-E4VbijD aS6$ǭ'XTMr 1I8.8.XTsF1B  -BRmmmmmmm_h$ǭG Bod&XW~  1e 1kRɭ&>'45_mmmmmmگ{։Z2X(MZ, -D5_"lIZ2,*b&9(0¦"lIZ2\0 W vD'v|p!NMxIܜRN:9lirqI8@AJmmmmmmm;b FQ7!%G,cXNM\ 2@/=d(}mmmmmmU E l e2؂aX- :!deroГ6yAh4 eXTMt^{Z2\mmmmmmmFQ[\"YDFM[Z2Yl=(=nk8,_1MV㖌s\q| "e°ZtBk9h+5VQɾ BNYq-EfjD98(¦"lrєCqaS6k9h!pr¤c7 Pl^2W>mmmmmmmpq-'1rbYrɭ5#( vAOqmmmmmmm5E l5 `Ai=Ag9s\qdol5 s\q| "k hI 98XUe$腜r{Y+m6k9i=R¦"lr{aŅLD98,*Mf9q`И !u)_mmmmmmگ0#js5'9 Yd-' ZNrHܡ mmmmmmmW5'9Y dd,!z1mb2a$Z,eDŵY D,pJєBɵ5hh%h!d\4z `Ahh%i=@,_1MVBVdUb&:R1ƭ'9 XTMtcZNr 8HI4n,"rd.+}mmmmmmU?!ܤc\ B8Ԝ2 e\2|%i9d!#r8#/fkEa95p+!mmmmmmmBVX-6b& D-Ya=CS䈬X"DHXYC>mmmmmmmmmjMD7e`r1` $H ,* hynPe1 1Ja1Y"+ȑWJ0bU) XJa1 @FƩ_mmmmmmگDMD7C8@g=$m 56+~G(qv59qvC96A<"ii 0 ]Nkml6x>5&&~rm2'6'fZ&>[ 3Cq&mmmmmmj=>%BMpM %RLr ܜi`:sF/nXT !8®N! 8'qɴ$9_湲?iz,&|J-6CG)_mmmmmmگ0;2L\ _mmmmmmگ IXCIjY5#8${ZL|OjY5ưedgrsưecXNM\ 2Y5q|#Mh'&aG8Aa3Qi$ۖ1C &.`B(1B`aZ,k ɫXFQ?Xdܰd\vܜU)`!_睆o3^q)-WǠgĢhI ,*b&&.`02L\ _%_&.aK@EnN*8z=Jmmmmmmmp1h*mmmmmmmv./nXTM2LZ2_8\_ ZL|On23A99qAi1>'5\_ Z,k ɫXFQFpH''1Z,k ɫXFQɭ5#(ZL|Oj;9d֋rjVqCIj=>%BMpMaS481h!}$ţ(P "d$r(| Y5ưe$nPV97,*b&&-D.;@EnN*y7x/ 8Aa3Qi$ۖ1C02LZ2J02LZ2-8q8+}mmmmmmU?$ŤmmmmmmmWbLD$ŤFq%%9d֓{NNbcZL|OnMi1>'9d֋rjVq VrjVrkEa95p+9d֓{Y5ưedgRZAωEГ\nXTM2LZOq}$ŤB(1@M 9d֋rjVrCXdr¦"hqb{ >[e,+`^ Cq%%8XLZm 56LD$Ť02LZOq!*|81i=R>[=_Rmmmmmmm_$;A&=p+mmmmmmj;7,*b& _8\_ ZL|On23A99qAi1>'5\_ Z,k ɫXFQFpH''1Z,k ɫXFQɭ5#(ZL|Oj;9d֓{G,cXNM\ 223q)-WǠgĢhI ,*b& _|9(BUb2Bf9@ 8AkEa95p+9$z$ǭFaK&܀1CI\ .;@EnN*y7x/ 8Aa3Qi$ۖ1CI\ /`LzV !*|9)h_Wǩ_mmmmmmگIZOqmmmmmmmv./nXTMA&=i=CIjY5#8${ZL|OjY5ưedgrsưecXNM\ 2Y5\_ ZOqǡ8 +I8'&Brɭ&>'7,cXNM\ 2;9d֓{G,cXNM\ 2 dkI8'8Aa3Qi$ۖ1CIZOq}c֓rJ@&HRL!#Mh'&aG 'B2'Е)d֓qH LzfkI=aS49|"'XWaJKUq (km $ǭ'r 1I9_%_ h_Wǩ_mmmmmmگôc֌mmmmmmmWbLDc֌Fq%%9d֓{NNbcZL|OnMi1>'9d֋rjVq VrjVrkEa95p+9d֓{Y5`@&XWJKUq (km $ǭD/`LzєU(BUb2Bf9 aG,cXNM\ 2A2@7(h$z$ǭFaK&܀1CIZ2\vܜU)`!_睆o3^q)-WǠgĢhI ,*b& er 1FQW W$ǭFܜUq8z>mmmmmmmpmmmmmmmWbLDc֓`_8\_ ZL|On23A99qAi1>'5\_ Z,k ɫXFQFpH''1Z,k ɫXFQɭ5#(ZL|Oj;9d֓{G,cXNM\ 223q)-WǠgĢhI ,*b& $ǭ'DLBod&XW~f@7(h$z$ǭFaK&܀1CIZOqq+rqW̥v xhn!Ĥ_ M&&ܰLz{  (BUr 1I2ܜUq8z>mmmmmmmA 1I1'9mmmmmmj;7,*b& s #8kI=FpH''1Z1-&>'7&kEa95p+8 +Ea95p+95ưekI=W@&cդ1 W|&s֓Mp(ɫI1i9eZL|OnY5ưev./rɭ5#(`@&cդ1CIj=>%BMpMaS49_|9J@&HRL!72Z,k ɫXFQ?I1'9 B2'9)d|@ $ǭ'ĜVK <03yCIj=>%BMpMaS49_|9J0A&=i=$!K@EnN*8z=Jmmmmmmm;b FQWmmmmmmmq|r¦"ht^{Z2_8\_ ZL|On23A99qAi1>'5\_ Z,k ɫXFQFpH''1Z,k ɫXFQɭ5#(ZL|Oj;9d֋rjVqCIj=>%BMpMaS4:/=-D/`B(1@c#Mh'&aG g2єrnXTMb FQ >[e,+`^ Cq%%8XLZm 56LD et^{Z2J0b FQ|"'z=_mmmmmmjXwbmmmmmmm_睋1C؂{ #8kI=FpH''1Z1-&>'7&kEa95p+8 +Ea95p+95ưekI=WbG,cXNM\ 223q)-WǠgĢhI ,*b&E0b I1_%_ Q$)&c7!%G,cXNM\ 2@/=dr¦"ht^{ZOqq+rqW̥v xhn!Ĥ_ M&&ܰ`_|:/=-'`e-8q8+}mmmmmmU?5emmmmmmj;7,*b&98(CIjY5#8${ZL|OjY5ưedgrsưecXNM\ 2Y5q|#Mh'&aG8Aa3Qi$ۖ1CrєBk9h*!*1!I3 q1,9d֋rjVrnk; G LD5e8RB; f47RZAωEГ\nXTMs\qFQ 98(P5eZ+rqWǫqWmmmmmmm~ ÷5>mmmmmmm<\_ ܰ㖓`_8\_ ZL|On23A99qAi1>'5\_ Z,k ɫXFQFpH''1Z,k ɫXFQɭ5#(ZL|Oj;9d֋rjVqCIj=>%BMpMaS49q-'sZOq!*1!I3 q1,9d֋rjVrnk; '̀1Cr{ >[e,+`^ Cq%%8XLZm 56LD5k9i=+P5)h_Wǩ_mmmmmmگ0#jsWmmmmmmmq|r¦"htcZNr|dgRZq|#Mi1>' +A1֓{q|#Mh'&aG h'&aG&XWMi1>'9d-' ZNr +^τ'9 屗+IC,cXNM\ 2;9d-' ZNr!Ĥ_ M&&ܰ)V_|:R1ƭ'9mmmmmmj/+){"{>2|'9fac_ 98⌄emmmmmmjɮR1ƭyVmq|)V_##CIj>[,屗+IA_2Hŀ$D(BUb2Bf9Rs%Mry! Nr7,*b&JF8դ |"'XWǫ` rXDq)-WǠgĢhI ,*b&JF8դ 0qIA_%_JF8դ!K@EnN*8z=JmmmmmmmHw)WWmmmmmmmq|r¦"htc\ /JKU./rɭ&>'7 h8 ܚc|OsU./rɭ5#(#8$5#(֋rjVrɭ&>'5_G,屗+IC ry!\2|%i9eZ,k ɫXFQWbG,屗+IC8Aa3Qi$ۖ1C#jV}HJmmmmmmm_Sܔ=I8AC5 c*id#/+}mmmmmmUMr5h*%/dOsh-_ Q$)&c5'9 Yd-' ZNrHܡ2=,cXNM\ 2@ ґ5p+8RB; f47RZAωEГ\nXTMqX#jV !*|:R1ƮaK@EnN*8z=Jmmmmmmm;A&=fA$>mmmmmmm=c'Ʉ'9 'D&S>9n58 7 8 "KdbƓ?N9W'¹9{Ls&G5fs8'Ʉ7 1yIaKxc'ɄsbL=W>]Z$_睋1CIYI 23q)-W@&dgrsc|OsrkI=W@&XWNNbXWZ,k ɫXFQ&v./rɭ&>'7 Y5ưedgRZAωEГ\nXTMA&=fA$$Ǭ$J@&HRL!72Z,k ɫXFQ?I3 A 4c=c#0ZL|On@ $Ǭ$\vܜU)`!_睆o3^q)-WǠgĢhI ,*b&  A}cdI_%_  TVWǫԯS{rXDI;!I18Vb&04r>mmmmmmmmmj~b2>+cM[IC?&<{90M9G(E4qv"aLw<~?0P^M4e1p83'KOq);vhF,0cE49C? 0! Iddl^xq(bpv6?SdbƓ9C?hsQ?&kEa95p+*փb I=P&cZ,k ɫXFQP&cZOqǡ*փb F>MZOq9IACqAry ?$Eby"BmmmmmmmmmTrm2'5nN)'U./"@$TXI`Ph4Cr)O @(ĪS @RXDU) X1_*c|"KL&9Ɩ+%RLrIX,BJa1&-EgĪS @1i=,BJa14)AjT 1I9gĪS @(BJa1yJ WJ0IZOq<РAjT 1I1'9hRL&9 ehRL&9 yJ WJ0rєVyJ WJ0r{Y(-_*c?qIAgĪS @R1Ʈ` PZs1~{r>Y3\ db_mmmmmmگ,;A1mmmmmmj"b> WbYDLZ8!Ĥ_1hɬ&-DŠ|#K 1&-z>[,*ܜCqh[x-8 (4[x-8 &cZ,k ɫXFQ BMpMu+Lzd5_G,qAi1>' +A1փb I=W+rqP>[x-8 &cZL|Ohykm @A_8 #!9dփb I=FpH''1Z1-&>'7&cZL|OjY5cXNM\ 223A99cXNM\ 2Mh8 XWMh8 kA1zNNbBrkA1zMh8 ܲkA1ưe|"'XU80>[xaRkA1zA6BW1-'Ĝ#!9dփb I=FpH''1Z1-&>'7&cZL|OjY5cXNM\ 223A99cXNM\ 2Mh8 XWMh8 kA1&'Ʉ!NNbcդ02kA1&'Ʉ!Mh8 ܲkA1ưe|"'XU80>[xaRkA1&'Ʉ A6BW1,d5_G,qAi1>' +A1փb I=W@&cZ,k ɫXFQFpH''1Z,k ɫXFQɭrjVrɭ{q|#Mh8 le[xaRkA1c/IVykm @AJmmmmmmmْbVbXq<9d֋rjVrVmmmmmmm#!hFB+ĪR\l1ƭEf1& !!cj{YIHHjy8IXalE~a,W+rqP>[x-8 2L\ g 032L\ g45_ X-U./rɭ&>'7 h8 ܚc|OsU./rɭ5#(#8$5#(֋rjVrɭ&>'5_睋Mh'&aG8 "d$rXq<9d֋rjVrIXV A&=mb3zV A&=mb3 XbO=ˁX-320|"'XU80>[xaXI[X[xaXh\$ţ(B!ufIFQY03 WMYϙ\ h!9d֓{NNbcZL|OnMi1>'9d֋rjVq VrjVrkEa95p+9d֓{ &XWJKUNb2єq Z,k ɫXFQWǫ8¨<ܜC '9d֋rjVq VrjVrkEa95p+9d֓{ &XWJKUNb2{Zm>0؂sMh'&aE_VK |"'Z+rq,*6 $W>mmmmmmm! 1XaB`aZ,k ɫXFQ?A&? @ЌA&=mb3 Y5憫}mmmmmmULzd,Lz4,gA&=p#!c{֓qHYm{|J' `LzVq[jXn@GܜiaTVË@EnN!brI\ g 03A&=p+hSk0)_mmmmmmگIZOqbXq<9d֋rjVr{8#/{= [X–Mi=$ǭFaK&mmmmmmj{[X{ZOqEY'{I!d|s $Oi覊єB=-z) I9hM|`I9f|eOq6`{դOq6`{դ|`I9h(z)eOqECMOqECM|`{c,*r 1I8.; `p-C `ҿ>[,*ܜCqh[xaXh\c֌ ehSk0)_mmmmmmگIZOqb(| Y5ưe2CA&? @ЌA&=mb3 Y5憫}mmmmmmUboz{Z.6B&ڴ 17i=@,boz`Qi=@,boz=I1i,boz{Zm>0 ޴XZOqMI8¯ 㰶?|܀ +8¨<ܜC ŃB堓yA4c֓b4)5hjmmmmmmmW IZOq9a@M 9d֋rjVr{IC @ЌIAmb3 Y5&'Ť mmmmmmmWOq9-FBȰ(biXa/V{Zm>0 WO=|9\v4Z|"'XU80>[xaXh\c֓bNr <Р]_ၚ 1I1'9hSk0+ OU./rɭ&>'7 h8 ܚc|OsU./rɭ5#(#8$5#(֋rjVrɭ&>'5_G,QVbsFpH''1\ 1j{AZNr5&'Ť!Mi1>'d֋rjVUyظAd֋rjVpH' ܲkF>MZOqIC8g>ei9-'Ŧ m'9d֋rjVrɮ5i=-'9z>[,*ܜCqhmmmmmmmR1Ʈa!jNrɮ[zO>2CXdzb3 Y5ưemmmmmmjV EG+FQ @_1MVBVX,Ȟ7+FQ @BVd+S{dբЕ gDZOq WO=|:R1Ʈ`8 xi_Ɩ@EnN! 8V8.XV,.R1Ʈ` F8yL CU jNr X-F`q|#Mi1>' +A1֓{q|#Mh'&aG h'&aG&XWMi1>'9d-' ZNr +^τ'9 屗+IC,cXNM\ 2;7,屗+IC8 "d$r1Ƥ!K,屗+IC A 8@ dvcIAp+q1Ƥ fĞ{ccIAp+UܜiaTVË@EnN!Lq9.`ykm @A_mmmmmmگ0h$Ǭ$ 0#Mh'&aG '́$nPI8#/I[X–Mi1>'mmmmmmm޸cդ#!I8¯  Aq[jXn@GܜiaTVË@EnN!brIZOq<Р2W`fLz{Y| CU Wl_"`<!aeMv:|Vƚ'`h(}mmmmmmmmmPd?'Ʉ'/*zQ=ql( ܔ=FvF/IN3P(<L&:H.};rq\"8ry`fMh0jPn Cq%%mmmmmmmaIK }mmmmmmU _GMl^xq 4r=JT"l(f?19!)1쌛|#푋N3ĪS dU)2LZ2U)2LZOqTL&: 1I9_*ceĪS Lz{WJ0$Ǭ$U)A&=i=$ Ja1؂єUL&<^{ZOqTq-E_*c8Ja1#jsWJ05p+_*c` 94%&=tw`U)2L\ _*c&-E_*c&-'ĪS LzV TJa1IZ2U)A&=i=+%RLtcdI_*csWJ0yAh*T/=-'ĪS 㖌Ja1r{WJ05i9+%RLyHTmmmmmmmW~Dɲ%%#4f\NbR_9Xa?1ljIGO4l9_mmmmmmگlIzVc7/8F/Z#,iRmmmmmmm_D)&'؂E4nn&(GcM5Ќ>mmmmmmme`r1aQcMhF Wmmmmmmm?Ok@ ώhF]ȘSdbƓs͗isdw'rmmmmmmm_s4չ8wB0@DvEWO=@i/ rq\"bۖHŀ$DM7q&X `h(}mmmmmmmmmPd?'ɄaF4zdǞOsCd0 aF4]KgdbƓ9C?y4іPĚ6{eɭN3kEa95p+*|~JbH ("!E$*IC@&HRLsl睱~ MPmmmmmmmmmڣi={AfcIʂ H *,$p4CɔFpH' RU) ~)dX"DHXY_*c?05ʯJa1ܜW_<XT0C ¿eBp8 ]p؂sf BrRW=EE OϘKդ OU./rɭ&>'7 h8 ܚc|OsU./rɭ5#(#8$5#(֋rjVrɭ&>'5_G,QVbsFpH''1\ 1j{AZNr5&'Ť!Mi1>'d֋rjVUyظAd|23q)-WD I  aG,cXNM\ 2AOq9d$ #9d|A2 IZXNGnN+^ [̥vPf47RZK05zJ͂HY!Q1 E$*&"a a_Qapĉ$9pŊ1n{ArmtqA' 0 $͜mn#XeBt䱢&D42.4e< 0'ݍ4BxdT?s&>'4;\` s|"q)-ȄPEF[seC?hsQ?&̕kFQsʨX UC{Zm>0P&%Cc|OsT?ɭ5#(\2|%i9(z)XD"+X"B? "d$^?1y0Pmmmmmmmmmm96'Ʉ|*q|"K Ap<@/۔'5q|rɭ&>'78_G,cXNM\ 223A99cXNM\ 2Mh'&aG,c|OsUyظAd֋rjVqCIjc!9dyLxjɮZ%q=rq+̲k92{pfq)-Wmmmmmmm?1&R_95=mmmmmmm+}mmmmmmU(iOq)1쌠W5͕mmmmmmjL&:2e,@ WJ0=Ao2HxA_mmmmmmگI8ї'ҭb'+iq)9sB*z2q)97#0s܎&s4=L {I9_mmmmmmگ̚z25ɭE* p'kI1ia5(A@X^M`llO\d֌`8&Cp{Zm>0CTmmmmmmmW~"` E*mmmmmmmWad֌JKUb2Bf8…od&XWK,c|Osrєrِ2ɭE*;rq\"(RB; FQ[$Eby"Bhn!Ĥ_*c@EdƩd֌W`fcX*Xᡪ6 #ydDV(, C,ń8>0(0`(0Y4;[ML2jeA22hpGc X@4"($;Z2ɍW W̥(+qWmmmmmmm?0LΓd|>mmmmmmm<03,؟[,{Zm>0JKUL&;{ܔVbiW`fY5 >%p/᡿A;{@Oq&A66'ĨeZOqM ܔVbi@Oq,{Zm>0(1(| Y5ưeYd֓{~fA2ܔVd2ܔVbipd)`!_睆eܲDV,"$,-JKUlF PX-Y!Q1 p X¿8f nBxdv4 7 v$̘e78v ddᆎ8!Phmmmmmmmȹ=rq*"yA]{Iw'14"'.N 7|3=.yPI2a?cMW~dO>mmmmmmm ɮ'.N8\є\`,p/&O0Z2T N&FMh.yPP08~M`llO\47ɭ'Ŧ 45Jmmmmmmm& є\mmmmmmmvMh.y\ xhn!Ĥ_ Q$)&c(P&AkEa95p+9ɭ&>'7 G C,є\'/W̥v;rXDq)-WJ0'FQY1Y5(U( 08hj͂HY!Q1 E$*&"a +p . n ;p@Dy nq0¿$*  cCq8+̷ۖHŀ$DCIj>mmmmmmmL=0mmmmmmj; &A66'Į,&O0/ᡸĪS 䢴!w%|aUM`llO\ xhoN䢴!G d2ɬM*9_ၙd֓bi47w%|aG bm>0&O+ "d$q 0#Mh'&aG Y5v̷% %|`;rq\"XWao3,H a3(r2d4ie!L_ =hrmmmmmmm_睆eZ2W^q)-WD I  aG,cXNM\ 2A,kI=?FQ;~@&e0(0`(0Y4;lemmmmmmmL=0mmmmmmj; &A66'Į47RZ(11Ƥ!K,屗+IC Y5ưe2iC,؟'/W̥v;rXDq)-WI$*&"A`hBdDV,$0c  ~ v$y !p`S-` C;WAA!ɬM*9_RɮR1ƭyVm_ۘN㳜$sB:r[,W k:m5Ml-AlܷBmmmmmmmL=(C>mmmmmmm<03,є\CIj@&HRLPA,k^τ'9 9d֋rjVrєriC,є\'/W̥v;rXDq)-WJ0'FQY1Y5(U( 08hj͂HY!Q1 E$*&"a a_P`pP`ph v$y !p`S-` C;WAA!єVLhr=_v;rXDq)-Rmmmmmmm_gt&smmmmmmmWad&JKUb2Bf8†8Ԝ2 e\2|%i9d&XW~fA 7 eX TvEy2gnY"+ȑCq%%6 #ydDV(, C,ń81A?@qȄ;le0(0`$ { 7bM' rML2526pGc X@4"($;Z2ɍHWǩ_zMr5h*%/dOsh-J!*WI$*&"A`hBdDV,$`8 H!RAm 56(0\1&^τ9 ll@vQLL{0¿$*  Mry ; Be,I,H!RJWǫ@A_+$ X4[! Bb+H0x¿$*H?M&& (ưe ll@vQLL{0¿$*  Mh'&aDv@Y"+X"BRJlF PX-Y!Q1 p$  ~$H 6p.8 "H;=g8<ݬFx{&S ܔOsC;WAA!ɭ&>'4v@Y"+X"BR1My &rOq- mmmmmmmmmڡ،0(K!*01 0PB@.n9p@D *q$y !p(@m'Ʉi=6i?" sĤ1>'ɦ0ʇ~$ѳ-~Mo97*֌P&A66'Ī5|`Mg9J5Z,k ɫXFQP&le' +A1֓{ &dgRZkEa95p+8 +Ea95p+95ưekI=WbZ,k ɫXFQFq%%W[MN{Uj 1&keƃmmmmmmmW~EȤg˓iVbƊ4O9=rq员G9GFQsʀOq9j&=|`mmmmmmmW`fMq=rq5(A@X^Mi=-6a 2kFQsʂ ؟n2kFQsʂ kcb|Jᡸ~Mi=-6aW~y{r(K!+s͗+Br0ro2Psjє\T0<U P`,Ajmmmmmmm d'FQsEs &ЖȉXK!mmmmmmmvMh.y\ xhn!Ĥ_*c?"V&P' #&e<f_E*X`fMh.y\De5K ȉXK(*ŀ( "d$q 0#Mh'&aG Y5( e(ۓRB; ydX"DHX[ 803"WkFĪS @ te*EdưU CUlF PX-Y!Q1 p   ~@N0%`d(Ʀ[PBMha_EcFQY1; yd ,X"BCIjmmmmmmm_2; di=E*JNn 7*r)!1t*m5L#d1%C>mmmmmmmT B/8zy\_o@pc-h~*=r)!1t*9_睆eJKUơ°Ljx "lw(w.C"XV B/@\B 1Ehj=_.lOjs(K {IDxx"̲"`x< ᡸX@̲"`x<00ᡸX`H@̲"`x<pXaXp%_adDxV,%ۃ`8JKUDLbpBTW W%zJƟ, +k*8v;rXD eYyۃ0CIjmmmmmmm_;)6xf0rmmmmmmm_2Hŀ$D[ d$ W Wmmmmmmm?{&P'|,'(C= dr>XiUS-(K!&+}mmmmmmUy`fX!CIj@&HRLPM 9d֋rjVr eZL|OnA2A2X!'/Wa`#,H aĪS @ te*EdưU CUlF PX-Y!Q1 p c  ~a@8 (K!;P`ph v$̘e jem5͐ᆎ8!PhmmmmmmmPlقGr!?(pL&M@m6&Q2UPBMWmmmmmmm%RLx&5bܜW_Lj},+ơ(6qOq9(nMcPaX&5p %RLr$. B/WJ0'I:\^2I< xX-xCIjU)rQZOq{Zm>0 1$/ᡸ$('Q$ Lr2ON䢴O({Mi&9_ Q$)&c(P&AkEa95p+9ɭ&>'7 '̃e('e('Ŧۓ̰ۖHŀ$DCIj͂HY!Q1 E$*&"a >0(0`$ 7dw?" (0Y@ n0%`d(cS-il 4v0ń A"CŤqciHWǫ?1Bv4?AK t&=|JK4`I_ammmmmmm d'I2a>mmmmmmmvM`llO\ xX-Mi=-6`^ Cq%%TEi=BJ+I1i«03,؟ Ei=B A'eX Tr2ɭ'Ŧ xhn J+I1iŽ A'|aMi=-6WD I  aG,cXNM\ 2A,kI=?I3 nJ+I2nJ+I1ivbܜW_2y`f[$Eby"Bhn!Ĥ_$`O,eXG`8  7dw?" (0Y@ n0%`d(Ʀ[PBMha_Ec&A66'Ĩqd֓biz=J<03-v"`<!al,&'a+}mmmmmmUybۘg&a+}mmmmmmU)dX"DHXY_$(K!&bJ>mmmmmmmĞ? = (K {I=L ;KW~QsRBc&1= T;kFG(cS-(K!&+}mmmmmmUL&<_KI1nN+^&5cPǏQ\c'Ʉo\7&u1E^L&9Nơ%RLrh. B/Waf$,I< xhn!Ĥ_*c(']Ei=-6Uex ܔVd({Y&9_ၙi'^ CpH'rQZOqMq =& (1(| Y5ưeYd֓{~fA2ܔVd2ܔVbipy`fX$Eby"Bhn!Ĥ_$`O,eXGW0\h~BY vH@2 p, @7q0ro2ad16C;WAA!Lv8`X$WǫԯmmmmmmmW~"f>3(r2d4ie!L_ d$mmmmmmj; &e< FQsʭon 8 "d$q 0#Mh'&aG Y5( eZ2TvE<03,v"`<!al47RZJa1NcTkFQsʫ03FQY1p`,pmmmmmmmJNWmmmmmmm̲kFQs^ Cq%%1!I3aCnAkEa95p+9975vhp)`!_睆eܲDV,"$,-JKUL&94 єVLjMh.yUh+&5 N`0'HTLEbl2 XH#8+p .`(0Y4;h(T.7̘e78wI +qaBxqh+&49_R; ydX"DHX[ ɬ3(r2d4ie!L_ d$mmmmmmj; &e<47RZ(11&XW~3s\qlMfD4vE<03,v"`<!al47RZJa1NcTkFQsʫ03FQY1p`,pXWqW+6T+R1Ɔ\_ \2|%i9c#8$[zO>2k^τ'9 kEa95p+*<\_ ܲk^τ'9 dgRZ\cZ.4K Rs̔ۖBY [l__2y{U Rmmmmmmm_)BY є\mmmmmmmၙd֌f_*c?FQX Vb2Bf8†8Ԝ2 e\2|%i9d&XW~vEs2ɭE+ sdܜW_2y`f[$Eby"Bhn!Ĥ_*c@EdƩd֌W`fcX*Xᡪ6 #ydDV(, C,ń8¿8fI8AC"3(Ʀ[b& 4v0ń A"Cţ(&v[l,t]Qp1ty 2hddCIjU)ǂcPnN+^&5rq\" E`llOZXV B/<E@Bmmmmmmmmmگ"Rv"hh'FQsv5; d$5!C&MFQX U_mmmmmmmmU(M+- CUy`fZ2؟%%mmmmmmmگcOEG:2W(K!&vZ2؟mmmmmmmگkFQsєV&WlOjrBmmmmmmhh'FQs&b]&wÄn^mmmmmmY"+ȑWǫ>mmmm_=({IvkYr:rJmmmmگJ5͕+̷ۖHŀ$D[,s̞JKU>mmmmmmm<1Mq0Ʉ>mmmmmmmyDV,"$,-E*IBFw'f29r\]mǛ0'R^J8+@A_$jmmmmmmm_)BY {Aπrmmmmmmm_28`fY5 >%p/ᡢWJ0{X Vb2Bf8†8Ԝ2 e\2|%i9d&XW~fA @&A66'Į@y;rq\"XWao3,H a2.2je)hpGc X@4"($;Y5 >%G+P<\_ ܰ0ܜW d)c1kPɓG#"JKUL&<_Krq\"1E0b؟^mmmmmmmmmW~);rm\4z%sֺ< 7-'ł >%U>mmmmmmmmmWai=,M+x/ RZmmmmmmm_)'Bt!%x-'ł >%U>mmmmmmm؟&WlOjrBmmmmmmmmpNd3{@@mxC^7/WmmmmmmmmY"+ȑWǫ>mmmm_=({IvkYr:rJmmmmگJ5͕+̷ۖHŀ$D[,s̞JKTmmmmmmmW~Nonc.L mmmmmmmW̥"`<!aek|,AW Wah.yUPBMhn!Ĥ_mmmmmmگE8͘$|gFQs dɲh ]29FCjImmmmmmmvMh.y\ xhn!Ĥ_ Q$)&c(cIC Y5c/IVAkEa95p+99l4܀!Mh.yQۓ̰ۖHŀ$DCIjU) :2ɍRɭE*EdưU CUlF PX-Y!Q1 p |a_P`p "H d'q n ;ězO>2.7̘e jem5͐ᆎ8!Ph'4v@Y"+X"BR1My &rOq-9JmmmmmmmmmmC?I2abPɁ=(Ʉ6`ܔ=s&>'49C?y4іPĚ6{eɭ&>'5CcXNM\ 2~JbH ("!E$*IC@&HRLsl睱~ MPmmmmmmmmmڣi={AeTWXTDQa%A8  L23A<&9L&9K$Eby"BTp./rɭ&>'7 h8 ܚc|OsUyظAd֓{JKTq|#Mh'&aG h'&aG&XWMi1>'<\_ ܲkEa95p+8!ĤJ1!I3aH"AkEa95p+9$q562nAd֓{;rq\"XRJlF PX-Y!Q1 p$mmmmmmmpK=v&"DP Q1P0P9_mmmmmmگ'؂sK 19@fQ2e1yIr H "f`dl@5_22f,ܜRN+b n@ۓIclA9xhn!Ĥ_mmmmmmmmmW~)-{bLD@&$DZT C).|ÉI͓s &(FmmmmmmmmmjܜRN+b ,0j$9d&V[#4g LD@&$DZF)je,)_睆e xX-8V6JKU>mmmmmmm%%7 fMlA9&Irn{t#1+}mmmmmmUqXNifMm'*yDV,"$,,Wǩ_Mv8e1i1D04r>mmmmmmmmmj~b2F2T=C2`cJ';#.>mmmmmmmmmjMD7M#YYDLZ* \_,*"DH h &S QJTmj"e,Ja1c؍Rmmmmmmm_Bxmmmmmmj; ;,"b>7YC..d8q| y(aRk(@Dp #8YDLZ4qcl@VQ2¤Q,mj"f@q| y(aRk(@Dx!Ĥ_QX<ՔD̰5DŠ|"危YDLPYDLZ4qcl@VQ2¤Q,mj"f YDLZ .X<ՔD WǫԯmmmmmmmW!/ btsۉU9,T Wmmmmmmm&=@@0%G& ID cRV D "p,U9,F)j;7-&=#8 p@ZhNhɬ&-ð* q*81008h7NƢaF4U9,! IZ$$$$,LPpDrJy@8LD@ҭ| 4%%h! 4H! 1bbV#608k(@D`p-`JLLLN ;qUqW)dX"DHXYA|~$wM#YYDLZ!mmmmmmmmmT=C{sImmmmmU^Wi>%'#; 5eDmmmmm{I$K -#Mf"nYDLQ6 jh!X$i5XWaikyCIjmmmmmmmW~EkņGCቊ`r8&{Ibs۠|"mmmmmmUlF PX-Y!Q1 p   ~a@8 k.=1B;#_08a, HT,&H؞_b&RL( Q2c|sTK <03-` p^q)-WlOjrB|sia<Xܾ 7  HS FACR@5@7/m,1'4vN90$j; (7`YDLXܾe{q)-WDLXܾ|sUq8ʿ=JmmmmmmmگB_%'"xbq|ssۉU9,T WmmmmmmmvQ7/nᡸDZX`(ĨTT):q pJJ 4 "$IbbV"DPxLD@ҭ|`8 6FMMUyظAi1G8'cH *xF؂sFQ7/h[8 4'@vQ0NrH *@@"!8D&(E`$HXW WO= U9 񁆄$DB p,LP$H*00Ѷ сŔDō{08v@@0%G& IXi8zonYDLXܾ &q9Ȟ7+404r>mmmmmmmmmj~b2Q D I01H)&'Rx%&qncE7sv7"JNcE7zmfC&B7<L!Qtg f9"{q(8LPpQsĤ㸔6n|a8sd%%a|" i/+Qasq1"qP0P9C?%'Aش^yt"Y*D=\;8@lN.E< Un )+.RrpdX4NqH ωG'8K?sN='6s3|"B'9kdȞ(JN8snPgGq'I> »RT?l{Oi=Np f=~b]&.HXD7?Rtwr`C?%'A؉a5ZƕPB SgĦ4P`Nƛ(JN8ȘPQ+0(9L8@mttRsC&B7<n/1Ȣƛ (gRx*MPΊpQsĤ&4a)+%bc PRx< SE=G(Rt@0wCP Ĥk@{J0si2 jJ29N%zQL;)+O,lĤcs]07;~cHf7(z(ɧ2]lo/{)8ȹ"=rq@7A5dOsDcE(?(!)M9٢規ї'`LsMy9"{ωN%'Nc cZS"I49C"RqH 2+0PB SKMQJ%p"D0=l\JNc2'L(3ŏ'1PrR49C?y4і xϔDbbxzmRrgs,5C>b&C1Ȣƛn)8\TE4C|/<]ĤN)'q)< S1Ȣƚ4lbYDLZ*-`8\OF\T?ɮ[zO>=CS䈬X"DHXYCx5bD P$Ebk$HT"+$$(BB x$H%DVHHQdDX"B?Y!!EB+5X"B?Y!!EDĉ,H!RJmmmmmmmmmTrm2'DL1d)&(*q|"K Ap<@/۔PBMk˓,z2'1YDLZL{"bz2,&z2eW~ii]Ĥї'I͓z2cJ &ae1q=rqWe1q=rqY5el8ᡪ&.'.N48?8lA9χ!D0ڜf D87 (˓b&ŘqWmmmmmmm?w^W1ɶ;n *mmmmmmmWJ0"b1yU^Qʬ ZVQr^Uf68"`YM2VQr^UfWYDLb6Pa\ Rs 3DL[/*C< 3\mmmmmmmW~y^.JNcE7sq1B;#_0YDLWmmmmmmm?)QcMqԎk#! -$K .(7YDLNQ0 Y"n``@e,+?%1M{E4ݑ X8H22y6q)-Wmmmmmmm?"ƵJNcE4;1yPXܜsUĤrmmmmmmm_$`O,eXGf0(0`$6i )0. +qaBxqe0v@Y"+X"BMr !+M#YYDL>XWy`f\ Qo3^q)-W QnN)'XbO=7.('&'P@0AQ1T4 QnN)'. 1{U8LX8p &,D8 R'E$&2n؂Gf9mmmmmmjI(3QcMaCag>P@ƓU970'&N!DJ^Ȟ谮Qr"7IA |%8=);/+$mmmmmmmWI$*&"A`hBdDV,$ +p ."B1B8  `(0\9{8Lzmi'QcMHp0 8!PhXW 8,D &,DX &,DY8,D %'jhK8h'"3I2a>]Qp1ty 2n2S>JN;pNEfd|8dv>s{@@mxIcXNMVC?"pX,rRD7>] IN*q$]E79{Aφ|6*M$ɻĤ豬'&+!8,G>'AjLbpUSȱ&|JnJ,i~φE_ 7sx5aD9_mmmmmmگXܜsxsWmmmmmmm$ X4[! Bb+H 8 H!RA ol0.~c&R[6r(P$` h  Gc X@4"($;YDL,#Řb&[Iv@Y"+$$(P%$*I_O bAP, WLX8 "RtXxe&mtsMWmmmmmmm?/'%'|t䃕>mmmmmmmyDVDHx< W%+CUyظY6pp#8fM&&8mmmmmmj')&'OI(3QcMK-9GIW~9+}mmmmmmUlF PX-Y!Q1 p$  ~$H LP|7  ^?1)-ޛZ{I9Xq(0\4a, HT,&c1Gc -$; Be,XDLHĉ$JW+P}mmmmmmU&a`%#ĤƛsPJ9a9C(ǘS9ٶBx &&(E_mmmmmmگK$Eby"B|$RYe1o@seJ|7-(/Ěn0M9JmmmmmmmmmmC?1!I1C?&<{$Mr(nbC&S#'7sT?Rtcg 9at0I6DQcMφۍ͚LnyC|s[&D4Q8(ĤbtSr%'I13 I]q):1mqCģx#&)+ sew^W1ɶ;;&##DĘ" Z/<ȉ,"RL uPB S'"Ȟc@ 7lpq)9GB8JJ,d'8$gģ%9Y9؂Ǿ!ќ5dOsC?%'A97(PA3#C qvi`Ĥa]q)*6= '83L?Kce@Mp QЈ z@ $,"):;MpMGB0 D_0O@cJ(!)M a3StJ('cMÔ?%'A dL((fܔOss& S:Or)G9ء!hv7s͗vۘQcMEє g q)Q+BVF2Aj; gnHȉX%%Nv>w֞yD7=ѝ&i_ 4ɦ7r1J0'&' },&ZpWD/D cJhܼcx01Y+(_4m'8@.GQ6 jh <\_ (^;Ij18Ee18Kge0rӄr ՔD,&c#8$D/D cJhܼcx01Y+(_4m'8@.GQ6 jh ;8"bpFD"RZ=͝hJ8a7<%.q1B:pb2e%N')E_18K1tG+WzWǫ XapE"bpT cIC Y5c/IV@7(i9dB2bdmmmmmmm9"f{rsYDLZ8k>mmmmmmm2R1+){"{h9,&,& ?E(69 &d#/W~Q64ܛ呗(>s%%DL 9_1=Y4iH;4谮pcIimmmmmmm sYDLYM0aWmmmmmmm?\R1+ <%% Ƙ`I4Qn#W~"brmb }mmmmmmU$c/|47qq|#McL0$K(0H' sYDLYM0aWarK(1ɶ2 |47RZmmmmmmmW~$|JKka$YDLsb%'(Ll!~RL?&YQ3ذÉI"f(y0!0il5$jt'(Ɲ|Ҹx#&+?~McL0$K(MU_mmmmmmگ4&Bka$hn!Ĥ_mmmmmmگRLN2nW<d#/l_,0,0$\&1vClY?E7bWdRvOE_89ɴ?Od6Oa$s[&DW(qv59$I|Rs 1_mmmmmmگq|qԎQЎYDLa,RyXa+ka$YDLa,RyX0[ X8HD-&(U'p ۖ"p::&YQ0KT{c(n23+ sb{Smmmmmmj|B2Dͮ~4IYQ3XaF !*Ă\h+){"{ƵƧ5͕mmmmmmjƟ, +qWmmmmmmW~y^.=LP4!Q>mmmmmU&',0i5e3F)``j=)`!_睆e{I`^ Cq%%mmmmmmm_5c%&(D;K9 'nrmmmmmmmWI$*&"A`hBdDV,$0,+p .Ix4?MBxHM| ᆎ8!Phmmmmmmm IR1+){"{h%<|(ȫ?I"f|8B2Dmmmmmmj; sYDLYM pfq)-Wmmmmmmm?Nv̛مsF^a9؄x_&;1M%F^F4jw7#Mpvk:p%_mmmmmmگ4QcleJKU?q1B8 ~s܎&"DP QQb5sr#4;NLD@&`8 6FMMUyظ@Qv22!Ĥ_h `?cM =b$E1_J0e2QЎYDLa,RyX0.CUN j"`_KQ1 "bp AƢNcn@f85(|pb$E3Q6 jh q|#,&' xddB%%vte )/s6@&ܼqx~e3Nf9M7ɼ]+U)18Ee18Ke0rӄr&' },0j$9CĪSFUfف=(NYDLNvAclA9H Nr8SSAbGYDLNȄJKU+(_K85(%XT@֬&e3 &' },0j$9CĪSFUfف=(NYDLNvAclA9H Nr8SSAyظ@Qv22!l;FbQ (qvNcӄk)-2t9H:*(_Gs9_zz=_E8iab&(^B"fL(cIC Y5c/IVAp%RLP`8 Q -RB; yCIjmmmmmmm_v17ɠ7i)F_L0$KE_DLrk.ƧaL!&dXֺ<$9E4mmmmmmj͂HY!Q1 E$*&"a `F0(0`$6i Œi91B9r8 .P `g9  I8AC"08a(. +qaBxqd֋!z"`qd4I;Y5c/IVqpE8G`X$W̥"!E$*I_~d Qo3Xj͂HY!Q1 E$*&"a `W0\h~(F_2s 1 `(0\3F $y !p0¿$*  Mh&McL0$K(œ\2|%i9H!2 sg9!=B2.ƧM#Y5_mmmmmmگ!H .)&'ܔ=xvq5_o ͲƘ`I4Ymv67(jrm7IotY򈙟/>MWmmmmmmmƘ`I4Q)d֋!z"bɭB2DYDLWpHYz!50iPb?B0/PsYDLYM8jmmmmmmm_KrkqEƞqU){"{>0sɹ_ԕsMsYDLYMlA9||9#O9W~ͲƘ`I4Y򈘯mmmmmmmW11B8 ~s܎&"DP QL&:,e(NXa8Ir XɭB2D́pb$E3Q6 jh 8YQ%㱑%%|'@oM9G"((U)85(ŽrɭB2D-&(U'5_XT@֬&d֋!z"f23A:,e(NXa8Ir X§e0/;NLD@&`8 6FMMUv./qŢF^/D_?sΌ>%%Nv>w֞yD7=ѝ&i_ 4ɦ7r1J0 },d#/YDL/Ee1i_K 19@q*ѹyY$ 36`cJ'YӄiNq1"\`dl@5_yظ@!z"bӄv22!!zp j"` x./85(|.Y5F^N!z"bӄb5s!U)r*PIAflǞOsih ~; ӱ b$E'F)j<\_ Ee1i^;Ij6w1(a8'11B:pb2e%N')E_&-8K1tG+WzWǫ('ƂIaF4 ,M!z"bӄZ,e(05'9 Yd-' ZNrik#9c`I4!z1mb3K DP 85_EXWa Qo3^q)-WI$*&"A`hBdDV,$x¿D<C'LvO,0$X s@pězO>2.#a, HT,&Mry ;\ QnN)'HŒi9`!_9=ʿJɬiIe2Q=sMcL0$TJ8~? AIe1f96_ۀ8~$c/5_mmmmmmm)-Rsɑ"f|3M Iw%/dOsU>mmmmmmm("l$̲,MqW̥vܑ H!RXhn!Ĥ_9=ʿ4&Bka$hn!Ĥ_mmmmmmگY3 @;/'%'#$r2RyNU'Qs%0slM,LPmmmmmmm_9=ʿJƟ, +k*<03A k9[d&M.JKU>mmmmmmm 8N_:m`Ǵݛd'0ibb@nr&zqy^.1Rw n!~q);d'0i+}mmmmmmT6c2bp>LD@&+%RLtYQ%q6Z,e(/H "f`dl@5_睋qh&-8Kc#"JKUN4/+ns܎&"DP QĪS p kVQ)aZ,e([`L%PO=(jq|YDL rɭB2DdgtYQ%q6N j"`_ v%@DLp,l8YQ%㱑~c)/c`r|JK|M=("n7/+{';DLӄ>iǓMoab!TB2/Z,e(%!z"bӄb5s!U)r*PIAflǞOsih ~; ӱ b$E'F)j;8d#/YDLZpFD"RZB2/ՔDN§e0/%&YQ1 d#/YDLZp AƢNc1J4n^yVj 1< ͘҉m-B2/dv6LD@#X(54 Wyظ@!z"bӄv22!f%l0d8!~&(GNF@lӄ cd#/YDLZp cWq8z=_E8V4M# 1\ Qf"n8YQ%,d#/YDL) q9d&lemmmmmmmWbG,d#/YDLFq%%9"f{rɬ&-C5H[IƖZGDܲ`dlCH05_ky2=0/ᡸmmmmmmmȱtsذ(|11B!،YAimmmmmmm6 #ydDV(, C,ń8A?0 x鵃HOixiC@q0¿$*  Q`X$WlOjrRmmmmmmm_w!I18{F8yw%/dOs@mo%)9DLχF^LPMqcH Ef5'9Q&{I솋!zmmmmmmm_睆h9,&,&3 8}mmmmmmUmt@l';fMŒi9d#/YDLW~DNw5a&;5]8N@ymmmmmmmWl#=b$E1_D/D ܀!,&dӄ"((SSAyظ@Qv22!Ĥ_>7&ۜ#DĪS p kVQ)aD-&(U'5_aSZDdgr%q6N j"`_ v%@DLp,lq|#,&' xddB%%qNv>rі67'Ĥ O1b&rǾz3]D8Ky4&vpN^&"%RLsVQQ-8K+(_K 19@q*ѹyY$ 36`cJ'VQiNq1"\`dl@5_bGYDLNȄJKU'&' },@֬&ZpWN j"`_KQ1 "bp AƢNc1J4n^yVj 1< ͘҉m,D/dv6LD@#X(54 Wv./qŔD/D_l;FbQ (qvNcӄk)-2t9H:*&' }R=Έǫ8W QnN)'XapE"bpS Rs%Mry!v\&+T A8>Apjy8@f47RZ{c[I d)d %&q^%' @<ܔOsG+̰ۂCIj͂HY!Q1 E$*&"a   ~a@8 k.(ƓQ##8p sHpězO>2.a򧴞>%3'rQ=ha_Ec&YQc(œ\2|%i9[Iv@mmmmmmj%sF_b o3S @<ܔOsU>mmmmmmm -$K .(7YDLNQ0 aCjNrɮ[zO>2˄q*9ġp, U[̥v0/ᡸaK .(7YDLNQ0 q9d&le0boz6\ i=-6c 17g>ep+|a(18kX-'Ŧ aHդ|`=M-'TJ0I@*XD"HZR1-0c#8IY M3LzFq޴Bq  sω\aF&'ŢgQDGQFQboz`Qh8ŒMZ'i=CQI2ŒMZ, -'c 17hդ|a(|a({Zm>0bozQVbs[XRU) HT KI Q A1rgROqI1hrQ=֋aI=.5i=$!)'{OE4V)'{OE4Vd1$Oi覊{Zm>0r͘5h8’{Y&'c I9f|O1$X=Z20㖋+I2’{Z, h'ŦTJ0 $*EaQPrB!BpqAi=$ bNr kaH(bi0{sV{Zm>0boz0ɫIAi=-6RU) "H,D0e, a0cq{bi0d4ɮ`O1޶ ZOqMŒMYϙ\ i=-6c D'Ŧ/XlAi=c I9hM aI=-z)O1$fMZOqr͘5i=-6c I9h(z)!)'覊{Zm>0r{Z.6q$ci5gROqˁF>MZOq9c 17i=-8ŒMZ'i=CQI2ŒMZ, -'c 17hդ|a(|a({Zm>0bozQVbs[X EE O1޳2bi0{nMZNr I1iROqb Y"x#&/=-'c I1qyAfaI=./=,|aI=-q.dgS l5!)l=qc Mɫs\qI2œr s'Ś°Ztq98XUe$ s\qI1f0\4z!)l=Е aI5hh%i=CT hh%i=CT i5hh%i=CT gDZOqDS A D"$-G (eĘ4 FQ[jx#8l"WZ20ӏ&4`eaFɎiǓ\ h8 V 8ch8ŒM[z X-GQ9+X-GROqDhGROq6`{գ( I9h(z)eaF&ڴeaF&GQEE( FQ\^{\"05qyAh8‘Wk hI MZtq#(q.dgS l5eaLa-Eg9s\q“k)jrєq98AZ2aX- :8œrєVk |aNk9h+5` 1"Е( `Ahh%h8“k)jpJєq@BV*`ol\4zeaP+h#Ja1?8D0{sWZ205e°[z˜6Z.= Z20{sWZOqMœr{Y+m)l=ЕTJ0V"bozєq޴!(|a)DFM[Z205 +FQY+'GS l5!)q-'0{Y+'GT hh%h8 V EG+I2Ja1?$uB$4p‹"D0A 1b ,D"$-( AI c , HT KI c ,XLD!R+ "XD"YP1b!!laE@5dE@ňB$$,D"$,9JT"b hB!K8aH(bi0%rjsZOqMJa1?  `0A9y\aFcI0&{S d'QF!TJ0X8 5aNk;Tcmmmmmmmmmڡ4n_,B`Mx1dbƓËr)>JK`x)035Cqؘ %t&&ѸhLPĤ^xq&Bof Q D = ؂r|8N3BM&f9XC>mmmmmmmmmjU) #YhX4&(DJmmmmmmma1(}mmmmmmTMf9q`И DŠ|"3G~tx&N|dh&(G!+RN2j4n,"r|sFh{4s&Eq1B9 ^ \"qTMf9q`И V k8w?<I'>2n4W#lebr)'5Dc7 P1-;~tx&N|dh&(G!+RN2j4n,"tcZOqk8wM$ɸ\LPC= W1ȤdYhX4&(DB8 s[XÿGi$MƊbr팽AE$&sF1B  A1Rs[Xÿ=I9q{c/k@cI8ɪmmmmmmmْbVbXq<9d֋rjVrVmmmmmmmYhX4&(DB+##Mf9q`И 23GB,Q5ŃBb@8/Z 1k ÿ=I9q{c/k@cI8ɪ&ѸhLPV Th@fTh@r4n,"sjєVc`3GV&ѸhLPqI1f1& !#4q5i=,$$rmmmmmmmC;2LZ2 0#Mh'&aG A 8A2jmmmmmmmDc7 P2$sWV&{YhX4&(DBbIX-Df=BM\ h#Mf9q`И y4%p+(9M7i \ h#Mf9q`И &9Mp+(ɎiǓ\ h#Mf9q`И qD&єFh=Z2YhX4&(DB&l=3G޶ Z2YhX4&(DB&̮`e8wIό3{XsIMPmmmmmmm~fII3 Bod&XW  'mmmmmmj4n,"s$bi{a {Zm>0k1p(\4ɦ !+X-'Ŧ84ɦ !+X-'Ŧ&ѸhLP͓ӏ&{Zm>0ӏ&{Zm>0k1p(\m{Zm>0M[z X-'Ŧ&ѸhLP=I1iiK6{ZOq4r'i=-6-)z|Sb I0r4n,"s{sWZOqM4pGi$MƊbr팽AE$&}mmmmmmT?Cc É&XW~L~@ǡ~LzfkI= PmmmmmmmsF1B  A&=mb23G5YhX4&(DB$ǮddfYk1p(]hLz4r4n,"t<њ944r4n,"s{֓qHboz{= k1p(]m{|J$ǭl=TrmmmmmmmC !0yrɭ5#( qF_z,{= I[X–Mi1>'mmmmmmmYhX4&(DB=-FFhk1p(]'\l=-#Mf9q`И ci5dfF'45Cmmmmmmڢk1p(\{V3G޴OjєG(sF1B  17h#4qFQk1p(\єFh{֋FQmmmmmmmPh$ǭ'1 aG,cXNM\ 2AOqHܡ qF_,c|OsCT>mmmmmmm&ѸhLPMZOqEboz{Z.6G(sF1B  17hդ8{Vd(sF1B  17i=@f17i=@r4n,"s{֋I24qEE&ѸhLPMZ'i=-6 &ڴO(sF1B  17i=-6 &'Ŧ&ѸhLPMZ, -'Ŧ8{Zm>0mmmmmmmP IZOqI1'9 1 aG,cXNM\ 2AOq9dz9-FaK&cդT>mmmmmmm&ѸhLP{IAmb23G5YhX4&(DB(biIAi=-6Q5ŃBb@8.boz|sZOqM4pGi$MƊbr팽AE$&sF1B  17oKդ Oh{nMZNr I1irmmmmmmmC؂єp cG1d&XW3b!mmmmmmmYhX4&(DB+b YW29Dc7 P l e9DFM\^{Z2YhX4&(DB+b 5`$+b 5`$Q5ŃBb@8. MZtFheroГ9Cmmmmmmڡ0!nB9K Y5ưe^{?I05Cmmmmmmڢk1p(]',=./=.ddr4n,"v5qyAi=@fammmmmmm&ѸhLPM\ 1j{ZNr k8&'Ť mmmmmmj)6`mmmmmmmTJ0~Hŀ$D-Q*cy"+D@pHJL&9"!E$*JL&9"H!RTTJ0~HŅ$H**%RLr?$EdHHY`$:ĉ%@DS A䈬ȉX ŀ"DIP Ja1<XmmmmmmmTń4L&9!Q1 EҌdG)Cmmmmmmڡ5 1 m=HL>mmmmmmmTܔ=ͣ*%RLrk(@FJa1ɭ&>'6Ja1ɭ{GTJ0֓qM9Q*cZ1-'К8rU)&XWGTJ0փb Ea95p+4pDS Mp(ɫI1i9QÕL&95QVdzs*%RLrk^τ'9 8rU)&c\2|%i9QÕL&95`dÕL&95JܔOsh-Q*c[kOi5|#GTJ0El2+A&> @FJa1YyAjT5eƂL&9kFQsZU) ~M`llOZ TJ0'&O(,8 TJ0'9Q*c?&S{"{HL&9kAR(-Q*c?&keƂL&9ki Zi"e%RLr)VA8qvnW nJ^Ȟ=9C䡹"l8dsֺ8qɪD gxHܽpJL=f8OzhL?i󸔒9팽'dݑHܠ|'/cMmtyJM;I+|Mnbo|mmmmmmmPmmmmmmm~b2&(DHưe˖^τ'9P ҉hzq)8@'9 =xfroiv̛;Cp! $ۍRq1B*)-sa4l’`K<%'Ea97XFQς%'@Gq,k ɼ 2sġsPA 6Q)22n5%6{dqv5;'>2ocSd#QcM!I18ɻo{S{slP=4 cIC A 42n#*8&aaNs$s=7I>8n_&9ACƕs%'96&|Jlo/{,iOrL& rhD?B8Ԝ2CXds8#/fdbh mb23vP!3 CRsɑsφsi67għ2a~>%11b Dp%'Ea97XFQφG=J '95{a6Fx>~ƛvR:Nr 64蔗~ons܏Ln>%67Fv4'&dgIsfa9P'LX8`Q$7"pXG108!jNrHܡ0"l3Ĥ9o <š30p8ro##98'/屗:NrNr kIn$Ra8p:30Ëp=МLX8`QNxE=dvC ^τ9no#8Qa97XFQ?1b Dpb({&&ɸp96`1'&+8 mb23 {v4pN_c/It0\n4WIz/&2?OB2%R.p)jNrax,sdCp%'9n58bg@bAQDaC E=ĪS\lKbSDj^|q);h'&aGk|\4XxeFw?Ea97XFQъ0͔{ PĚ6{e01IĤle>c&i='LMǖlA9j"+ȑP$E`h (z$ss w/{yK{ň {Nsq1B*ss v&,D(s4 cIC=JN#&bA  r71pL&&^τ9mb2?$Eby"B䈬 y!%Pmmmmmmm%RLsi"$HcXNM\ 2c/IVi="XWry U)F 8#/L&< mb3F L&;`pĪS @PX,0Eb u#jNrHܡ!v Ẉv0dX"DHX[ l\_-`p= a9|960;8L(`on0[WLj+?IC=obW` cIC A 8A,`2=т=p+@ d4A_2y`f0["`<!al47qq|`008AG&K 7"pXD`pn0;8L(`on0[WLj+`ۖHŀ$DCIjŽ I@A_"`<!aaxsdA_aGcň2{#&bA 8ـn(ư#(#9cJ2|'IC 56ExLPbۖH8W\r>mmmmmmm<dOsx`ۏ7^E?> 6 !Ha 7l=mmmmmmjM,LP"+Ea95p++-' ZNr0M,LP"+Ea95p++-' ZNrPmmmmmmm~$IϏ-=j2ب}mmmmmmT$*  R TsB"tqaT 1x)8>` 1&D bsbA&= H *,$p4CɔFpH' P~7/m `P AFLI Q'R7-I 1b&@ p`6"`bG , DQJmmmmmmm>YE4;M4emmmmmmmI1𕘉@8b̥e xhn >9o1JmmmmmmmAI18nY5){"{mmmmmmmQ['PA9yQI2a ʫRB8Œi9&YrK P&{pj{Al0Lʿe,+@AC(K!#Ud |,RB801RB0a y (|rb!C l$+b՝ab&}./usr/es/sbin/cluster/events/utils/clidentifyrohats    =aeinort ._cdhlpsu#$fmy"()0:AES{}-CDMNOPRY[]bgkqvw,;GLTU&'+/149>FI\|%BHx!2@Vz3W *7ZbCZr5ɬ-Pֺ@ bKaꪣԂ `N5ֺIaA(4 4@T%QZ z@uU@ab =R [ ZjUU #V)F( 9H5"$h Z'(YmEjUU'=HM9H5$9@D<-G5=HUT$SN8|T(sBAmdDA]o6rj.-HC\QꪠRXǠJkN6rj.-HsQ &`tma$ T_4kj܃)FOl{Z k' RXǠJkN ]UTѳQqjB R Eũ[p4tzĝ֜ѳQqj@uUPh堨֝%@p`Ѱ!HUTf)XQ zjEh-k&R ctU1J1 .T^F RZ *1T% HUT*=, .T{PAa#@h:ӎh]FA!堨֝5 8-@ִ._%`NESsd5кCH ꪡ&=N=AP5:PYLynR^X=1FNR EũkN9u,"$d 5ӔrUYc4||-HOl5l2j/h^y ]UT0^Ҝg)ԄZY9G)((/j,"PYG.K cܴZӤ 64@UYc4||"r^'9IASFR EũUH:y9FR Eũ hNQJ 0lмť Jk%IH<.` @RRSk4iF$z ]UNi)f)XPUT暒bP))%Q[@RRS=9G)((uU9=cG9Crk@RRS=$+rrk@RRS=9G)((( ]UNi)f)Xz$ 5%,1< 0DEnQꪪsMIK1LzƏ(QgSRK (uUU9=cGYUT暒bQ0D(%.4ԔǬh=.4ԔǬh4‹=ҒXUE9G ]UUNi)f)X ,J{JIaTVsMIK1LzƏH"R |aǥiUOzS8 0"R |&=<*< p`y!UUz%=Ky!UUgSP(R,-9icȪ"R |4h4=H)ra䇇UT>(qF$zyUOzS8 1gEUSǞ,J1#Ȫ 8 \ HUU-zrbPL愒r \ Rgm`X',g4$\-cV\5hCVrÒ>kSAD PQ,rŽi9`Ql RPAH 9Ly[X."zP-QG4$RRS@ !U @5ط',)f)XhI' @A0@ (V6`$T暒bI9CCȪsMIK1LzƏ$ÏK=<*RRS0B䇇T暒bIY䇇T暒bI甂<*RRS-֜H"5%,1hA!1J1F.4h*A0=1%:hďBbbT \Z=D j=JΪBY  )F$zֺyT稁uUUTTbGQDpIN61#ЎPdU>0 PU ."zP-Q\*p 04 Y޶sMIK1LzƏ)hѥ(EP@! 08AbE`( *Մ͂!I>9U橄UUU9 k 980`i9B0Bb@d0 aB`PqUUAp DA  rD' p'A8%adPFg)ԁ 9"0`4 b 0cEH=FbG rœQ*PU QUUU,l sMIH)$š`Rz\bN z 8&| jEUUUPȪTIr5BfR Eũ !d䄎Q$UUUU@aNQ#4lQRQQqjBAKȪ͜T[Q8$&%JF$y$UUUU (*z)C QI %gUUUTQRQ` 4ԔAmaG4' 1 C(LH  "P(L @"UUUU h, 1E,z>h 64A!= 2{dO5P:":hA! k@8p0  PU S`paUUCVEUPՑT5dT=2&Bbd &4l暒bSXѣJ1#  9BUNi)f)XP.ܳ޶BaQ|kBK6yB 趢qA$+rz9 HUUU@,"!&=N=AP58 64L Qa`Nk'UUQm`ՄrBG*kSXUA X4D [xcܴZӈUUUH(ɮ8-@ִj܃8$ [X`p UURZAae>`t \Z!&=N=AP5:rj.-H@ S@p`Ѱ!A L"TXRXLzPR渁uUUTD$H$>HMtƼ.=!U@D \ E*[X.hI' !U9 k@ !U @ꪪr !YȹR-(/ j,-k'4ԔǬh(qU &$P  XL" S8ESǞqxp 04 ҂i) Zz*XUAUU9=cG9C{JIaTVUT@*EUSjJYc4yC8(%UT@*K )蹐@.aFi)f)XP,p-#!UT暒bP)=yTnY[X!V$zmz/KNR YzT k@^z/@B Y(愒rSjJAH d z.bP-Q5jJYc4yC8( TZPT0Q5% [XKOSEPbK (084ԔǬh(qOiI,*ܢUT$U9G)((084ԔǬh(qOiNQJ )=yU@HERId &4l暒bP)=xhpa @sMIK1LzƏ(r¨ YJ-=k 5ƴ/Dg ,"j'XHK *['Ð4uUUT  "cܴZӀ`CA$.!Af)Г堨֝9H5 5ÒpK8kPq$ <kYt  A IꪪbFg)ԁ$ <"TXRXLzPR@֢qN zKUUURdQqjBK-"4jZH@bBG*rj.-E$Z^:5jBy ]UUUGE0MqtSS$RFR EũHUUU@4l \ZI4maMqt= ]UUU@xISrT kN ]UUU@xDA  1qZ i]o6&5ÒpUUP 9H5q-/[XS\b lBUUT8-@ִuUUU&=N=AP5: ƸrNZ@$ UUP1u"kS@$ UUUPcܴZӈUUUPcܴZӠl=, Lk$5-D \Xz/@Bmb@EU@D \X9: zUUUCQao[Y9=cGiPҒXUD RRSQ†= -RKz(r¨ ]UUU Emd暒bR-5RKz(r¨ ]UUU Emd暒bQ9C{JIaTV.޶sMIK1LzƏ)hѥPҒXUD \ВN@BsMIATT 4Ԕ[G@sMIK1LzƏ YrT&Bbd p  4 B`4 Y޶sMIK1LzƏ(r¨ PT.zĝ Emdŵ,:cܴZӠCA$U )ԁ$U kEBڋSQ0*EPX[Ni)f)X(aC8EnT(AUA0@ (V6`$UT>bbX46(<8:gUUT/* 09R\9Sd \Z$ ISrT kN R EũHUUKG4ԔENIm0Pz^[Eq-,-A<0DԖj B0UUUURPU8y%G(q.RNz(%ae .$<> "46(暒-֜H%!d䄎PC&yaUUUU  5NT*HY+9!#9H5%cܴZӠCA AUUUB%r%% oK$6*yd$,HUUUNi)f)XkN$rcG-F)F(X`jJ ${Zq#89BUUUU9=cG[L=8 CRRS-֜H 9*pKQdP\QKbKz UUUT!`t1J1FI,Ű&p* r4,k:bbЂm[s A XUFUUUT/*Cg4ԔǬhL8n(暒bIm0G(pEUUUPhl(`jJYc4y%Ӊ°pqUUUU  5L$H$AsZrj,|Ѱ堨֜EUUUP RDdUUUT!rt$,%AsRhA62*)J@,*ܣ!Ƞ$в#EUUUP4l$,HUUUNi)f)XkN$rcOr`jJYc4y%Ӊ° @P- y $h``<4`x$@(qUUUAjJ $H%IX$,RRS-֜H"jȪX46(<8:gUUT/* 09R\9Sd \Z$ 9IAl Lz{kZqUUBh&rj.-HC\kS,9,HMFHA5"B6E'(h`09/[a<0Ma!D#3SUUUUBQqjIbBj2:Z K j.T \Z"BISrT kN lT=, (Hą%r%% oK "B|k<ԲyJHHLklIoXYDUUUUT/*RRS-֜H)(zX[!RQG4ԔENK^jSb-֜H$sBK9BUUUUU9=cG[L=8SP) CRRS-֜H)(zX 9*pKQdP\QKbKz @! sMIATT1(KAz`CCȱ`L0:`&yaUUUUB"Bj.-P KB1vIaS%ʜREUUUUP 1qZ i!JEIUUUUBDd-ia$UUUUU@1rO5RBY tU-- (* UOHQSXpk:yh: vqISrCȪ ,""s<9l&м]S >k`EUUUUP"T9O5O5,jR((lj)'NQJ $UUUUT暒bIm0G(qOiC04r bb 9*pZTIm0G(q#Y"5%,151(4Ԕܶ>(ךƘR+!pEr`F cF`@P @(8TUUUUT>51(4ԔcBF84暑X ({Ǎ<400[0<8TUUUUThl0Q5%QSךƘKQdPRJHH (ךƘR+(ךƘRR'<084暜c^jSbsMIHEUUUURADUUUUUU51(4TSjJ1vUUUUT5dUUUUU9=cG[L=8SP) CRRS-֜H)(zX 51(4ԊUUUUU TZQASF@CA2,r#9o 5(EUUUUP"8K j h  c\ kǜUUUUUQs"_UUUUU9=cG[L=8SP) CRRS-֜H)(zX 9*pi9CJri(*<84Z%P1IXZ.qI %g P 0Q5%QS[L=8Ii=%@RPU8y%ӉĹI9c\*EUUURADUUUUU9=cG[L=8SP)EUUUPՐEUUUPȪK@h:K $[\b8yUUUB9CT51J1FAsRhA69J@"_UUUUi)f)Xqq#:0Q5%,1sQa'Ʃ"BO1/T$lIoXYRK-1l >Ђm[dUUUUS A ǥEE%NP慔d5H\)QCܶЂm[dUUUUS A ǥE"8h9OEQUUUU 5%QSZ$r$r[[Tႎi)f)XkN$r=,  hZX0x@PDV"46sMIATTkN$r$rESsd`jJYc4y%Ӊ=K"8< 0L&P,D$"_UUUU@i%iC:{dEnTk[g"_UUUUi)f)XkN$r@ 9=cG[L=8SP(R,-9iceABAX88*"V 0ɣ`4ԔǬhym0hrj(ް=$+r"_U k1'CQao[Y=mb 1N8-@ִIBA! sGB%ae@!5 A$U kEBڋSQ0T5jJYc4yJgEUUUUPȪxrX>idTkh`gUUUUUT/* A,)$,ʒ9MdMa-(*h$< (X=1FIr5MLS5cdUUUUUT/*6!i(*hlIoXYDUUUUUT!dO1/T$r9SYK2 %<UUUUUT9*pKQdP\QKbKzʀ0Q5%,1A")蹊0 k' @ UUUUT5dUUUU YUUF5 UUT!mi\Xd KQOl͆Г堨֜EUUP9H5Ae2 ŹIzc\IUUB"k] (暒-֜P )ĎRLcHUUUBrj.-HC\PYmE %aeIr$mb 1NQUUUU `9UUbbX46(<8:gUUT/* 09R\9Sd \Z$  649H5 "_UUThl055% [XS isMIrGA J)(QmA_8:B(暒k4i#8V!d䄎P` "-0z.b !B*Cai(*RkNRUU9=cGaǥPҒXUSaJ9UT. ÏKsMIK1LzƏ(ÏK=$+r)F(UU@ rz&Lz{kZp,l<9R\*)9OEQQqjBydT>Ja2{g#EUP4l \ZԂ pjy$UU *6 1J1F@.$<>gUUTrXZQ‘c\p  RPU8y%ӉĢ)蹊0V"j"\TG&5Òp<2QzX"5%,1<[L(r¨ʘ"\S: ')Ԅ:-9ic5,-9icEUSjJYc4yJ  1qZ ikl=, Eq-,yh804ԔAmaG4' =c`2b (&!UT0Q5%,1-E2{`sKKdJG4Ԕ[GH /H=.yN XUz5$ )T楐Ԭ&H`paCVESjJAH g sL2h15%,1<SRK ((/ YZG(B5%,1<SSr@ rz-ME Ñ, ډG8|lBhUUT ` 5Г堨֝ &r"bFHUUUSQqj@ 5L"b 1qZ i!HUUUB(CR(@,"-90jІ޶-Af).k\9/[Y sG@ "L)% 0:":{`(%I[X."zP-QG4$RPU8yꪪ5%Ǣ.RRS@ !U @5jJYc4yC8(%(EP@! 08AbE`( *Մ͂!I>9U ƽ'OlT!tVDAD5jH NQJ $t PhzC(YmE] ԘEP[$Ȳk' ,"$ -9l{d[QcȪRPQD:y((,j,"&y"]@ ( 6yh8Qa`Nk'=SF`T. md5眲!{qrj5NQBK% ( (  #5HxԂ` ҜEP ZЋhzC(YmEІJ #QU ,2yBH 4ಐʂ9+b9G)((*BLz{kZtS(%MFI"R |&zSSrC"46{JrRPURQmz/Q#8V yOiNQJ `Sr`B [ Z"YZ Ej,$p9IAREP=NѰ14lh&k&=N=AP5:45$ "Br'|QJ jA$c80hI$U CaP{JrRPTCi) œSLSjOK: HMQOiE‹j@0:A<0*< pf8F9Ci) œSLQ `,a@ P`qUKRPU8y-cF$rް^`䇇<0UUT!ʂr9P14lh&IoXY/QUUT![1k<Բ RB{`(%UUT!Ll9TRH- %0"B&6*ydUr*{\%ADUUT!H'(%AsZrj,|Ѱ14lh&rj.-HEUUP$Nj,1FH5э 1G-9B{`(%%AsR.N2 *9C_$,ʒ5tHUUNi)f)X䵍4 CǔX`jJ %hѤPR[K`qUUNi)f)X䵍4 CRRSk4i#8V4h҇(pqUUOzS8 3 )񁧹l|0Q5%,1橄UUUU9 k oQM0qFcO` PyUUCVAUUB"BԾr%lB{`(%-.j_&5IJaUUBb- %2k c80hI$UUU yOiNQJ 0Q5%,19Œh]ܶ>(暒bIm0G(p=cH - *CX46(暒-E9CHY+9!#+h`jJYc4y%Ӊ° j,0O&yaUUUNi)f)XkN$rcXaHEUURADUUUU9=cG[L=8sQaл*EUUPR |U9H5,T@H*XʒLl$ 0kR Eũ Ja$UUU Cai)f)XkN$r @ i-֜P\Hx|3SsMIH)rޢ`)h0 AUUU YUCVEPՐEP-R,r!hf)Xըȶ{ZqB*6 9=cG[L=8+<8: 9*pKi9CESs`C jEUPhl暒bIm0G(v0Q5%,1 ic4|0 P}ESjJAH `פISrT kN(s\>{g)蹐I% i)f)XkN$r PT暒R-(l|5:0 Ô9=,Bs 9=cG4hG(p(`paNi) ŽhN {c^H C9=r*(暒bI9C`(CsMIH)sBp`ܶ> a+ dѰcjJYc4yC8(%<480 \ HUU9=cGY,p%H [ Z"YZ Ej,$p%Q[-M@`p 1qZ iD@p`Ѱ!`JS [sY<.k&9S\b4l¨md  j܃8堨֜@AEMt$ǩǹh*CV X4D .DԂ ($ )Ԅ 1qZ iӔQqj@UUPjE,:0 R EũaE’cz5 j'$G 8 Bk5,p a  Yb/=!U,psBI9 5%QS.RR A \Ss@ HLLuUUTJ9Ԭ\Ns]I5jJYc4yEU &$P  XL" S8ESǞqxp 04 `jJ $K=OsK(sLPb02`&yaUU,lCRR A9/[X+|¨ ! jAUUNi)f)X iz%=$+rqxUTT.!i) Zz rRPPdEUUSjJYc4yHaEOiNQJ "EUPՐERAP  9*pN=.$$44  D*6!i) Zz IaTVA5L 4ԔǬhQz%=$+rqxUTT.!i) Zz rRPPdEUUSjJYc4yF(‹=ҜEUUS )蹐@.aFi)f)Xz!/ YZG(B5%,1{`@堨֜@$ UUUPcܴZӠl=, Lk$5-D 6rj.-E$Z^:AO  1qZ iꪪLz{kZt[͇IpƵŨuUUUH D cSA@DK@uUUUH .<$ǩǹh*.<$ǩǹh*AuzXIk\Z@^U,p1mb@st5.޶sMIK1LzƏ)G @ ,J{JIaTV.޶sMIK1LzƏ)G ((,I- ( 0DEnQꪪj,-k'4ԔǬhym0h[QHaEOiI,*ܢUUPX[Ni)f)XqqHaEOiI,*ܢUUPX[Ni)f)X54 0DEnQG4$RPU8yꪪ5%Ǣ.RRS@ !U @ꪪ(D`` 4 p8($& A!2/ j,-k'4ԔǬh4‹=ҒXUD T/*5SضBLz{kZth$t \Z$p aB[;Q|z\z1J1FEPȪ z5%,1<[L)L())%Q[ EUP@! 08AbE`( *Մ͂!I>9UU橄UUU  5NT*A8T(9H5 "B5,:cܴZӠCA3Qqj@*EUUR0Q5%QS[L=8V5myK P` <5%!UUUAG4ԔENIj,D)'=cRؒް`@UUUT sMIATTkN$%!d䄎P<88 jAUUUB"B S%ʒJHHNR Eũ l8-@ִHEUUUP=!EIBfB[" "5ʞjY-- (*EUUUSjJYc4y%Ӊ,q``0Q5%QS[L=8D9BUUUU9=cG[L=8G9l 9=cG[L=8DV(暒-EY$r[[PqUUUU  <ĽP$ ɊQ2Ie-3UUUT!9eC\d5/j$ISrT kN+r"_UUUUi)f)Xqq'n(暒bIm0K=X88يQ2G4ԔǬhKiYUUUT/* 00p]#Вq-/T5*H 1qZ iUUUU@g)Ԁ9"y$UUUU@i%Ꜥ-- *Ie-3\ԾZM`L {` h!:K (r(> *r4,!hHǑUUUT!M-- (*EUUUSjJYc4y%Ӊ,ql|0Q5%,1 "  9*pZTIm0X(暒-֜K9BD#3S"c`B(暒kScLQ%Pz^X|Par^x`CFgUUUUT/*!6Ąd&=t#d<9R\A EUUUUPBLz{kZth&{``QFEUUUUP$((C,(K|ZXIUUUUB=ťk(s\楓TVrBG*c]k`EUUUUP"T9O5O5LjR((lj)'NQJ $UUUUT暒bIm0K=҇L`h((+ sMIATT1(aiĖz$hIg(T84ԔǬhKiY=, cG-G4ԔǬhKiY=, RPU8y%K=\QKbKz"R |&kScLQNi"c`B(暒kScLQ'Y{YCbo5.QD#3S TSjn(暒kScLQ'Y{YHo@s`<0Q5%QSךƘN=.$$4bށ#X88=H)5N)1E9OF84暑X ({Ǎ<400[0<P A 8=H)5N)1E9f04- 51(4Ԋ>H\)QCܶ(暒bIm0K=҇AP8G4ԔENQm0(pIN@ 0Q5%QSךƘKQd#*9I9E)!dG"pqUUUNi(*gUUUUT/* A,)$,ʒ9MdMa-(*h$< (X=1FIr5MLS5cdUUUUT/*6!i(* *IaTVEUUUUPȪsMIK1LzƏ${Zq%OiCEq-,x@`y9YLRQUUUUU يQ2G4ԔǬhKiY=, [GrDŽ "pqUUUUU  5L$H!`R ӕ$sQc捄8-@ִ* CA3Qqj@Xb<*EUUUUSjJYc4y%Ӊ,J{J -9iceABA`i[ sMIK1LzƏ${Zq%OiCEq-,x@`!i(*1J1Fa䇇T> $䰵i")蹊3 4ԔǬhL8ȪsMIK1LzƏ$ÏK T暒bI甂<*Cf)F(ˆ 98^ODV Cai) œSLSjOK: rj.-E$Z^80:ALTUU@ rz&Lz{kZp,l<9R\*)9OEQQqjBydT>Ja2{g#EUP4l \ZԂ pjy$UU *6 1J1F@.$<>gUUTrXZQ‘c\p  RPU8y%Ӊ,IESs`pqUCVAUBrym2c\9'S%[LB*RRSQ4‹=ҒXUSaUU j|{[QBIoXYP H9H5%-myKpamyKp*RRSQ†= -RKz)L())%Q[1J1FEUP&1QiӔQqj@4ԔǬh8 0DEnT(AUB5 H9H5%-myKpamyKp*RRSQ†IoXYE iz%=$+r)F(*r4ԔAmaNRL))5'9H5q-/[XS\b|H88 jAUBT5T[sISrT kN%S*KEUP")蹊2rj.-HO5LjÑAIRL1FOlU$sQcȪRZA.=MO$EUR)F(䇇LT*C`NK QJ0*RRS04‹=ҒXUSaUU * PֹS=l lS&=N=AP586PYNj.QUB(A!<2yE%I0=TE"B6rj.-HLQjA|5<*UK 3S I9,-E(aHz.bAUUURQႎi(*kX[Grǜ<4ԔǬhym0hrj(ް@ ,J{JIaTVLRQUT.ydi) kQUNi)f)X(aC\$,4‹=ҒXUSaCVAB皦McF"5%,1=I0455%QSqq%' -:ӚjJYc4y&z\IUUT>=I*pN=.$$4 -:ӚjJYc4y&z\HX*6 =I 9*pKQdz$/[E`pǵ8pt5L"_UUUUB,0`tP|[NsKR5Uxcf)F(HsQa {cRTƾ9H!<Բy-UUUT=I`Q(暒-EYm{^  =cႏkqAc`$.([6 @@H!lxhP EUUUPhl暒bI>ႏkqAc`<0Q5%QSqq%'Ih°pqUUUNi)f)Xqq!c񁣒|0Q5%,1<=.$,xqUUCVEUUPȪNA'y->A`T(EUUPȪ RRS0P F`@4 @:{dUU@9RRSk4i%CZ`jJYc4y-cF$(ď@V1#  "5% [XQ Or0 kt   @:{dsKK!UUsMIK1LzƏ$ÏK=X斤[pż5,2(暒bI!h樊 kSRXǠ6[л6yh:ZUUUQ lƾ-K")蹊2rj.-H]QבUUT!C9TR.j_҄  '5TךUUT!@X4DIUUB"c`B(暒R-%5N(X" "46(暒kScLQ%Ӊ,IВPCB*`jJ %5N)1DkN%[ႎi(*K j h!9OEQֺyamyKEUUUUP<*EUUUUSjJYc4y%Ӊ,J{J1`jJYc4y%Ӊ,J{Jai(*H\)QCܶH\)QCܶA8Q0UUUUT1J1F@~(暒bIm0K=҇BhZX0x@PDV UUUUT!D=, AsZrj,|Ѱ堨֜EUUUUPh&rj.-H Q'EUUUUPȪsMIK1LzƏ${Zq%OiCEq-,x@`K IbBj29 R\YֺcܴZӈ)ԀZܤl ȱz.b$UUT>  aUUU k0x@PCRPU8yEӊ%9@T iUUUB"\R Eũk:= -$,.T>-Af)0UUUT@!   _ sMIATT1(Y,H A<0ǭ 4ԔǬhKiY=, [GrDŽ 8y!UUUT@!   _ sMIATT䖢bG(T2@橄UUUUU=lEDUUUU YUUUU  5hG5Bk!`2b ($&!1=CUUUThl1Q2py!pp<0*EUUUUP ÒihEIPM`2b ('ZȪܤl ȱz.b$UUUUThl0Q5%QS[L=8S   A@X=1F9%sK@0"+|Hx|5L"_UUUUUU@TXRHY+9!#$sQcК$ÇdZPTѰ H"yUUUUUBQiEHz.bLk%2k$4.$"_UUUUUU,lCRPU8yEӊ%9`0x@PdEo  =NK` zX`Hx`tLT*RRS-֜IgSP(QmyK&(" G-G4ԔENQm0(pIN@ 0L&P,D$ =4$QihEai(*H\)QCܶA8Q0UUUUUT1J1F@~(暒bIm0K=҇BhZX0x@PDV UUUUUT!D=, AsZrj,|Ѱ堨֜EUUUUUPh&rj.-H Q'EUUUUUPȪsMIK1LzƏ${Zq%OiCEq-,x@`A8Q0UUUUT1J1F@~(暒bIm0K=҇BamyK&(" UUUUT/* 00p]#ЇH.kNTE6cܴZӈ R Eũ"sQa2DHUUUUNi)f)XkN$)(zX)ǜ`2b 04- 9=cG[L=8D`PX[GrDŽ " @P- y $h``<4`x$@(qUUUUU  <ĽS%aeI,Ű&pB B l UUUUT!OlT$ 4d hZXÑAIS9eEUUUUP sGO5RG5>hlIoXYDUUUUT!dO1/T'IXcӤX=1FUUUUT/*Cg4ԔENIj,D)'=cRؒް? sMIK1LzƏ${Zq%OiCH<奏   E`*Cg4ԔENIm0K=\QHz.b7 sMIK1LzƏ${Zq%OiCH<奏   E`UUUUByzaig=K *Ie-3UUUUT/*Cg4ԔǬhKiY 9=cG[L=8D`PX[GrDŽ "pqUUUU YUUF5"jȪL2h15%,1<[L(k8Q0DEnPaU Ȫ=NbN޶{bbF9H5 "\Xz/B_$rLRQU Ȫ z5%,19UU橄UUU  5NT*A8T(9H5 "B5,:0 R EũHUUK\RR A9I084Ԟ$tҋi`u!i(*9U{`IUBCaRQ 橄UUU$ym0X=1F\ *Cf)F(pG4ԔENIm0K=Qc\*EUPՐEUPj܃[LIUU9=cGi ,J{JIaTVLRQUT. PYmE %ae@ D \ZEq-,yEq-,yȪsMIK1LzƏ)G ((,I- (aEOiI,*ܩQ0*5>kSQqjBRjǜǜ"5%,1<[L(k8Q0DEnT(AUB)GNR Eũ*RRS0Qz%=$+r)F(*r "\5nAUT暒bQb())%Q[1J1FEUP"BU k=5>cܴZӀceʒUT!Hz.bRS'P|T QFsMIH)sBp`ܶ> (rVŰ'$,ʁhjֺ=.z޶B(暒-EY5P sKR-8 bp`paU@sMIH)sBp`ܶ>  1qZ i =)"8<4pdEUSjJAH `|0L&P,D%*s 9=cG[L=8D`PX[GrDŽ "pC@4 @8080T暒R-(l|5:cܴZӠ@4 @:{dEnTr&-9'K2HǠ!U{^QžҒXUB ANi) ŽhN {c^c80hLOlް^ <`jJYc4y-cF$45k] sMIK1LzƏ%hѤz% $zU9 k 980`i[zN X4Dhj$Z^ (暒bIYhp`paKRQmz/Q%>(暒bIYhl055% [XS isMIrGA8.`u&yaUNi) ŽhN {c^H @ht[Gd%I8斗.!i(=DTHJN z 8'"IaTV޶Zpָr$NKSCR!U YNi) ŽhN {L2sL2h15%,1<aEOiI,*ܢ熇@d i 4ԔǬh4‹=Ҝ@ [{@1l2j/h^f5h@X4DN2= (%Kd8rF.fcܴZӠCA$1nAD[XSc80hIꪪA Lmb 1N8-@ִI$ \Xz/@Bmb@EU@D \ВN@BsMIATT 4Ԕ[G@sMIK1LzƏ YrT&Bbd _@X[Ni)f)X iz%=9G)((B*` ( @P WƬ&lH)"\5:{`(% k ,"!tU@h:rRPQ$U 0ա҄[Gd=!E'-lj,|5/pP*J؄%NEY<ա`p%OHQl c$ڋEP$%-TG-9Ae4lU`p5QB)FXtѳTDADbS [sYPY=T5/[$9IAFT.cܴZӤz9G)(*h 64IOzS8 38ҜAASr(暒hz=X88*Cgq=9G)(*ႏiNQJ "_U@1l2j/h^f5h@X4DN2= (%KaB8rFp`Ѱ!8-@ִL@,"$-<9G)(*yXR掁`CA$T/*6 =C))9IAP  " k raM0qNi=.H1!7)E= -=@LTxԂ` `ƍQg sMIH)$š`)` @*6 9*pZƍIgJKzz_@LT*EUUP* ʐh@p`Ѱ!%adFEUUP lƾrRPT9TR.j_1J1 J"B`1SK'#$, K s\楓TIȪAr EUUP"p]#Мiʒ9Fp`Ѱ!A IUUBj9"|F4.氊 ƥ JdK$,$UUT暒bKXѣI,q`8Ҝ+ sMIATT䵍4D*EUUSjJYc4y-cF$[!i)f)X䵍4DV4hҋ=*< pg5R'Or`jJYc4y-cF$|Rlx0#@s0y (*CxԂ` XaF4.`i[ sMIK1LzƏ%hѤz" @P- y $h``<4`xp"c``jJ $IgJBY XCRRSk4i%c ) jEUUUSjJYc4y-cF$9‘<sMIK1LzƏ%hѤz85Q "_UUU@ 5SQqj9Kd j.TLQqjB{`(%IUUB"c``jJYc4y-cF$$<>4hҋ=䇇<04ԔAmaAw-)(ri0 0@4 ȪUUB9+b9G)((hAsRԡ1JSIoXY/QYFI"_UUUP{JrRPTႎi)f)X䵍4DV"jȪB <9R\9SQqjB{`(%T!%AuIr5%,9G)(*yXR"By8-@ִI$U (ycAP$ԀhH;{P9 +? eAa`NEP@A`;8*6 =C))9IAP  B(RO=X"橄UT>4kN( k raM0qFcOH4 @芪Cai(*yTIȪ[ `$,lTIr6 g)Ԅ%NQJ 0*EUURG4ԔǬhKiY@ i-֜Qg<8:gUUUT暒R-(.E4=R > `0 ( `*"j"_EPQ9OEQ4tǬjd[L=8KRRS-֜Ig+<8: 9*pKiY蒋(X䇇<05%,19U ƽ'OlT!tVDAD5jH NQJ $t PhzC(YmE] ԘEP[$Ȳk' ,"$ -9l{d[QcȪRPQD:y((,j,"&y"]@ ( 6yh8Qa`Nk'=SF`T. md5眲!{qrj5NQBK% ( (  #5HxԂ` ҜEP ZЋhzC(YmEІJ #QU #(,ӂB{d* P䭈OlTMd$ǩǹh*RFN4l `  $=H)yOiNQJ  )9IAW sMIEqDz"pqUP{JrRPUҜ+EPȪbd_м9͞jЀh:-d{PAa#QJ *)p&`CA3] 1qZ i! X4DIB [x=rRPTT: $5FI"_U,l zSSr@EUU sMIH)$š`Rz\bBnR{J-[Pz"橄UT>454G暒R-)I4=R > 0UU,l sMIATT䵍4D+$<>橄UUU  5NTS ʁ`CA2Kzz$ٍ|s\楐\ԾbbEUUP9G)(("carO5RG5>IoXY/QAUUB1SK',T-0 $DG9G)(* ӕ$sQc捁`CA3Qqj@*!%:sQa2Dh]=L1l aUUB5/J9G)((,2 BHY+9!#IUUB"5%,1H\)QCܶ x`qI<`FgEUSǞL[L=8G暒R-)I4=R >  `0 ( CX46(暒-֜IgH愖r`䇇<0UUT!ʂr9P堨֝$+r$ٍ|s\楐\Ծbb9G)(( carO5RG5>IaTVUUT!Iak<Բy9H=Q HN zr9RG5>hISrT kNRUUT! -Ӛ Q'tcBQa`Nk |jP$*)9IAFIa\ԾZBY HUUNi)f)XkN$[!P{JrRPP0Q5%QS[L=8D , UUT暒bIm0K=`h(暒bIm0K=XcLQm0=*< pg5R'Or`jJYc4y%Ӊ,E`$.([6 @@H!lxh H @( P*< pg5Q {RRS-֜Ig+!pEr`F cF P*6 9*pKQdz$,40Q5%,1橄UUi)f)XkN$ 9=cG[L=8DVRPU8y%Ӊ,IESs`AUKRRS-֜Ig+&yaUU9=cG[L=8G"jȪT!ű'<8{`(䠣%KPhz$9IAFIyBDA (*Ui)f)Xqq%Ҝ+ES\`8P + dѰcjJYc4yF(‹=ҜA.r*RRS1FY,p%H%hrGǢmd @.=!U@D \ E*[X.hI' !U9=cG,p9OE@B Y޶sMIK1LzƏ(QgSSrrk@Ni) ŽhN {Ǭh a斤k  "5% [XQ Or0 kt$ǩǹh*@htSs K @9RRS-֜Ig+hjU9 k 980`i[zN`CA0 =,Bs 9=cG4hK=X CP  "5% [XQ Or0 kt   CP9IABUUUsMIK1LzƏ$ÏK,E`@4 @80804ԔAmaG4' =c&9 &4l暒bQ0D(%<480(, kڴ$+@'b՝ab&'./usr/es/sbin/cluster/events/utils/clifconfigoh@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/utils/clifconfig.sh 1.9 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2007,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/events/utils/clifconfig.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # Name: clifconfig # # Wrapper for ifconfig. Some ifconfig commands need to be handled # differently if the resource group manages a WPAR. In particular, # operations to alias service labels to an interface or to delete # service labels from an interface need to be forwarded to the WPAR # using clchwpar. # # Returns: # 0 - Success # 1 - Any runtime errors (unable to export, startsrc failures) # 2 - Incorrect number of arguments was passed. # # Arguments: # Same as ifconfig # # Environment: PATH, VERBOSE_LOGGING, EMULATE # ############################################################################### #===================================================================== # Returns TRUE(0) if the specified address is owned by an active WPAR # running on the local node. #===================================================================== function belongs_to_an_active_wpar { typeset addr=$1 typeset wpar_name wpar_state wpar_interface wpar_addr wpar_netmask # turn on tracing after initializations [[ $VERBOSE_LOGGING == "high" ]] && set -x # # if there are no wpar enabled resource groups there is nothing to do # [[ -z $(clodmget -q"name = WPAR_NAME" -f group -n HACMPresource) ]] && return 1 # # there may be wpar enabled resource groups, but if this node is not # wpar capable, there is nothing to do # [[ ! -x /usr/sbin/lswpar ]] && return 1 # # see if this address is associated with a wpar # /usr/sbin/lswpar -Nq -d '~' | grep "~${addr}~" | \ IFS="~" read wpar_name wpar_interface wpar_addr wpar_netmask wpar_broadcast [[ -z $wpar_name ]] && { print "" return 1 } # # if the wpar is not active on this node, there is nothing to do # wpar_state=$(LC_ALL=C /usr/sbin/lswpar -cq $wpar_name | cut -f2 -d:) [[ $wpar_state != "A" ]] && { print "" return 1 } # # the specified address is owned by an active WPAR on the local node. # print "${wpar_name}~${wpar_interface}~${wpar_netmask}~${wpar_broadcast}" return 0 } ######################################################################### # # MAIN Main main # ######################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" OP_SEP="$(cl_get_path -S)" typeset old_if new_if transfer typeset alias_val delete_val typeset wpar_name wpar_if wpar_netmask wpar_broadcast integer rc # turn on tracing after initializations [[ "$VERBOSE_LOGGING" == "high" ]] && { set -x version='1.9' } # save the incoming args to pass to the ifconfig command set -A args "$@" # sanity check the inputs interface=$1 shift while [[ -n "$1" ]] ; do case $1 in alias) alias_val=1 ;; delete) delete_val=1 ;; transfer) transfer=1 if [[ -z $addr ]] ; then cl_log 9999 "$PROGNAME: ERROR - Expected the IP address to be transfered to be specified before the 'transfer' keyword." $PROGNAME exit 1 fi if [[ -z "$2" ]] ; then cl_log 9999 "$PROGNAME: ERROR - Expected the destination interface to be specified after the 'transfer' keyword." $PROGNAME exit 1 else old_if=${interface} new_if=$2 break fi ;; [0-9]*) params="$params address=$1" ; addr=$1 ;; netmask) params="$params netmask=$2" ; shift ;; broadcast) params="$params broadcast=$2" ; shift ;; inet6) if [[ $2 == "alias" ]];then alias_val=1;shift params="$params address6=$(echo $2|cut -f1 -d '/')" params="$params prefixlen=$(echo $2|cut -f2 -d '/')" ; shift fi if [[ $2 == "delete" ]];then delete_val=1;shift params="$params address6=$2"; addr=$2;shift fi ;; *) ;; esac shift done # # if this is an add or delete operation for a wpar resource group and # the wpar owns the label, then we want to use clchwpar to handle it # if [[ -n "${alias_val}${delete_val}" && -n "$GROUPNAME" ]] ; then WPARNAME=$(clwparname $GROUPNAME) if (( $? == 0 )) && [[ -n "$WPARNAME" ]] ; then if [[ -n "${alias_val}" ]] ; then params="interface=$interface$params" # see if the addr being acted on is a boot address on this node bootaddr=$(cllsif -J "$OP_SEP" -Spi $(get_local_nodename) | grep -w "boot" | cut -f7 -d$OP_SEP) if ! echo $bootaddr | grep -qw $addr then clchwpar -a -i "$params" -n $WPARNAME fi exit fi # If we are deleting an alias, first check whether the WPAR owns it if [[ -n "${delete_val}" ]] ; then if lswpar -qN -a address $WPARNAME | grep -wq $addr ; then clchwpar -u -i "$params" -n $WPARNAME exit fi fi fi fi #=========================================================================== # The code above takes care of an "alias" and "delete" operation, if the address # happens to be associated with a WPAR (that is managed by HACMP) and it also is # a part of the current Resource Group that is being processed (represented by # the env var GROUPNAME). # # But there are some other cases in which we have to do handle ifconfig-type # operation for WPAR enabled Resource Groups. # - transferring IP address from one interface to another (and the address is # owned by an active WPAR that is managed by PowerHA). # - Adding (i.e. aliasing) or deleting an IP address from an active WPAR # (that is managed by PowerHA) BUT while processing another Resource Group # (so we cannot rely on GROUPNAME env variable). cl_swap_IP_address does # some complicated route removals to un-assign an IP address and then to # restore the routing entries for all other addresses, it re-issues an # clifconfig call. #=========================================================================== belongs_to_an_active_wpar $addr | IFS="~" read wpar_name wpar_if wpar_netmask wpar_broadcast rc=$? if [[ $rc == 0 && -n ${wpar_name} ]] then # the address belongs to a wpar - is it one we are managing ? if [[ -n $(clodmget -q "name='WPAR_NAME' and value=$wpar_name" -f group -n HACMPresource) ]] then #======================================================================= # If we are transferring an IP address from one interface to another and # if the address belongs to an active WPAR then we do the following: # - Remove the address from the active WPAR # - Assign the address on the new interface back to the active WPAR #======================================================================= if [[ -n "${transfer}" ]] ; then # Sanity check - make sure that the address is on the interface that # we expect it to be. [[ $old_if != $wpar_if ]] && { cl_log 9999 \ "$PROGNAME: ERROR - Address '$addr' belongs to an active WPAR '$wpar_name' that is managed by PowerHA SystemMirror but the WPAR thinks that the address is active on interface '$wpar_if' whereas it is active on interface '$old_if'." \ "$PROGNAME" "$addr" "$wpar_name" "$wpar_if" "$old_if" exit 1 } delete_val=1 alias_val=1 fi if [[ -n "${delete_val}" ]] ; then clchwpar -u -i "$params" -n $wpar_name rc=$? (( rc != 0 )) && exit 1 fi if [[ -n "${alias_val}" ]] ; then if [[ -n "$transfer" ]] ; then params="interface=${new_if} address=${addr} netmask=${wpar_netmask} broadcast=${wpar_broadcast}" else params="interface=$interface$params" fi bootaddr=$(cllsif -J "$OP_SEP" -Spi $(get_local_nodename) | grep -w "boot" | cut -f7 -d$OP_SEP) if ! echo $bootaddr | grep -qw $addr then clchwpar -a -i "$params" -n $wpar_name fi exit $? fi fi fi # # we have taken care of any potential processing for wpar - pass the # args as is to ifconfig # ifconfig "${args[@]}"  lR$+çb՝ab&./usr/es/sbin/cluster/events/utils/clnovacmdoh    = _aeinorst#$cdlmpu"-ERSfghvy().:;ACMNOPT[\]b%&012>GHILUkqx{|},/345?DVw'+6BFz*J3Vly:,FaȞУNQY 4Q͔qVH3emmmmmjemmmmmmmmm1A2 3| 0O6$qH`A gAX')9Pp F(̐ Q ؗ΃ɸqdy8EM~N$@a6=~H@f>r'lKمDB4XXXLXPT   H \6 d 6Ãu<Ni`xCTdAXXv, (3qDɺdXf؇A,Ñ? yFَdK1+{h.b <888v0<( 0 焁J1F~/ tZE5nHlNlg aȟa44/&5=0=Qj `zX4?( { 5r-s c@xH4gʱ 'dfQY"~>V!<`xCTdAXv, (d  Eg],9,y{w>m6b, &Ĝ")9,"|p2Q㠛-5mDMь#B-Rp i9 %62F~DT"MM{tˇ(WK9D"~UE?I7'[pHDnd Y<%-ntsb?@xJYVo8cm΃ɸqi'̫w4PQ3rrfE<=^sh2meyH΂(ˊoRs@*m9*R+焲8cmҌlP/qDng],9,y{v%$d-[8iXIdMCb\Y"~tE?Ao8Al$9qf4PКm:ǟ%E(_' l2 Y<$`I)Îo262t)9 c%o8i6$ynN!5)̺M|lY7AQM/&œty7N,\6 HQlY7AqDɺ9iͲQPB2nZ"_cҌlX@XD sdZ~ǟs&)94`{d?j dQKyQ͔  A8a"O{d~`se'<lCgs)œqf:n.p܊-=̛P/b$d?'@bxK> $&PW¤P<x'A 74&%yl&œt 1Qapx%VA<|"ɴJ| b@Y8?E=KkUF>T&b\,qV*l{ 4yMUUe[HmB).pkOi3rbɺ &Ĝ"v1b ["&b\*ǔh nv<-ACg[lKIdI p,pNyy7N,lϛcdʷ&x 0 焥ʷAҘv*ٺZ,y"\9F.UXbɺd 6˜7 1 U)dztgppV8& 6,qseB2mtYh Âi-PN'6Y8GV8&OVa! 6,qseEjNg 2$CgriEoMǁ=(NyM7r^|qa4yqj d?-[r Z6I4sOOs(nq; ltnAʱ3o4+̫s,yRMwnlxҌl;zAkW t[Ũ5hr|\yI lNlW_,~ǟǞ%5+Âi-49F1b ["drp{q@XD 9F~>_I)mAeY=*ӂ[s~"[69F~r'lKȼ)my.ejсC'@P(C8P$ ,YF(U(hp o|-?J09# ?9D|3f9 ҌZot@Q3xlAɷ pͲOE%\ Ҍl{-?2ΌbF\ X@XD =F~rfl8&z80# xz 2*1F~/-ApP$@9y\ X@XDQKlNl5+A:.zsl9A,Ñ?-AqH,qA&G< 9Ng ~rq_=&Fn>r'bQ2mmmmmmmmmjaaaaaaaaa`MM|Maaaaaaaabemmmmmmmmm1F"Q3#r'b0A&D5` dC/̞8e\ Bmǣ*-DIOL(( 8p+('lF&Ni'=Vk900*HhI#"EA+$ %iPpHp2lHt9i͹8GMMxpc*hPhJ. 6,0$fL4>YEA+$@_ U8fdI(Fm?d 6'ٓA6E/Mc*ha8EMh:SDX_ :yD,"DDMd"nR;'8m9sB.Nm _ς̶mmmmmmjĠ͌{b㲋d 6_[mmmmmmm_2Md 6zD  d 6ʚ(Nqpsla@4*DX`₠`o['8m9TЩEsӛd 1QAP0Eb"I6 "AQlSB.Nm $@H4*&"("  &qr$`HEsӛeM ['8m9@0@XD hTXD<\*(qr$`QlSB.Nm ,DTƅEx@EȒl !a`(NqpslRd 6$,,$"@ XQ% "..D `0x\/+|9iͲJ-\6 @P4* (@Ab"I6 Xo['8m9TЩEsӛd   H$   &.Nm4*QldcBdH:EȒl W"EsӛeM ['8m9@0"ƅD@xAb"I6 "@P\7-\6*hT9iͲ$H H (.qr$`W7(aPB$:EȬ $. 2 CX2zϒHȦiPpIcDT"D M~@R!oi%ͧpXɲ9i͹8G&˂M&<8e㱕4X4PDLqJ. 6,0$fL4>YEA+$@_ U8fdI(Fm?d 6'ٓA6E/Mc*ha8EMh:SDX_ :yD,"DDMd"nWdÕ|)_ j̶mmmmmmjĊqVI#"EA+$ %iPpH$JO9iͲ8daMhxࡓd2ʿNEZƉE"..Eay!q` WBi%Y$EHp.NmЩEsӛd63?5\6ۅx%@%ZK嘂mW&pH,D\\B0 !`n45s*׫$fL4>YEA+$@_ W8(d"&P~-\6ۓp82l$زnÆ^;WEEDiqJ. 6,0$fL4>YEA+$@_ U8fdI(Fm?d 6'ٓA6E/Mc*ha8EMh:S$X_ :yD,"DDMd"nW{U UemmmmmmUf$UMo>J2mmmmmmm($زnMh+x (PN'79k|FE3HV&HK," /* "C])98PN'7tp8,dpId v2Ƌ4bɺ:ϒHȦiPpIcDT"D  U8fdI(Fm?esyI8aMh~ ᗎU8$ HX@H\v hQ"$a""k DrxiEŲq9nz 28!̫^2)DT"2@Xf|W8(d"&P~.-]&. 6,ᗎU8b"A2Ɣ\lY7A` WI"*X i,|HVH8ʿ ̒i%ͧlNo26Y8G )-ࡓd2ʿD!P"  _ :yD,"DDMd"nRO (Z"_FiEc8 QiF-7r8hn!̫^2)DT"2@Xf|M~@R!.[('c82l$زnñhn=z\ᗎU8b"A2Ɣ\lY7A` WBi%Y$EH UemmmmmmUf$UM_[mmmmmmm_M}I1'4A8hkUWI"*X i,|HVH@p2lHtA8enN౓e&œt2ʿ,DT("&@v8ҋM&I#"EA+$ %iPpP'WᙒM$-]&'A6E2l^;WH$*"$Aay!q0GO4ńH"UMW $CX2zϒHȦiPpIcDT"D Le_ࡓd"DT~IB3i2lPN'7tp82l$زnÆ^;WEEDQpId_$dS48Ebd"*Y" *32I#6Ųq9ˤd|rh0ȴ?Mpc*iB$D, $.;u(X5"DTɹJq<034j0~M_FiE˷ᡸ2zϒHȦiPpIcDT"D  U8 6A$EHRsqlNnM_'pXɲbɺţ=@\xOqpJnÆ^;WEEDQpId_ :yD,"DDMd"nWTUemmmmmmUf$UB|+mmmmmmmbɺ W|FE3HV&HK," /W8(d"&P~. 6,ᗎU8b"A2Ɣ\lY7A` WI"*X i,|HVH@e_fI4f$زn哄qɠ›" 6A/qE:tH,XD"*E_R̶mmmmmmjĊ)t4nemmmmmmUx=bt bʵq<`cҋI?9kx`fQra6 Mn UqVZL7A#7MzO f CqeZ$L"48Ed @(U8 6A$EH$౓eHbсgܳq؋y(W v2Ƌ4df:tH,XD"*E_ܯnWPUQZ9-&FnЁAi23t+`47UWI"*X i,|HVHe_ࡓd"DT~O 6X@XDv-q1X2q Mxpc*hPhJ-#7MxУDIb$DD@R*&rڄ-mmmmmmگ3YFof-J{|n"ݒ9_[mmmmmmm_' cߚQi23tCX2z̶mmmmmmj"g9=E8ȵ_)-?s "$&,ywŲX&<ӓsY s.ifg05~L؋Ugy{^[I#"EA+$ %iPpPp2lH J| ,i7= 6[{Chn<)xe_"*  ;haFh@ 4v hQ"$a""k Drɹ_ܥmmmmmmmi-="QWmmmmmmmWZ,{ 4ȼqCV_i%ǰO\mG4cQE63@pCV_$dS48Ebd"*Y" ʿC&? D752l6=~HChnY8E + v2Ƌ4cQE6;u(X5"DTɹ_ܯmmmmmmmi.EYJ҄WmmmmmmmWˤ6|Iob-+{J.EY 45s*׫{J-&FnhkUWၙEɄڸ%7A' UWFr*ȴJZP#7M$[؋Ux`fhۂp3dK{nQr*ȴ1eZ$L"48Ed @(xʿC&? D752lEYF6RqhA #qeHbсgܳq؋y(WKSt2ʿ,DT("&@v8ҋVE( ;iEt;u(X5"DTɹ_ܯ&f sZL7AEdfWၙV 8hn!̫^2)DT"2@Xf|ʿC&? D752lZ0,ۖb?{o2e ᗎU8b"A2ƔZ9-&Fn0GO4ńH"UM(ٮEY)B+JC4dfK{jO pNlIob-sJ.EY 44!̫^2)DT"2@Xf|W8(d"MH"hP-!p82lZ0,ۖb?{o2e pJnÆ^;WEEDQr*ȴc(n`@<"K""&HW7+MW[4؜fA'IVr'=-mmmmmmmmm1Qdփ50-:.JnhNEZÔbbQ4Z?AXj8"&)Rmmmmmmmmmڣf(ZQ[YIb*1F`[dt\sc@xKIb-cЄNyMϜ0pY'l Nv?y8&G=ؚ.M >p"Bbρf$ȱT Q-:aجʶ kM8gByf CbbQ4Z?AXe[@xKIb-c5"pX0=g)Jq<036'`Iem8hn!̫^-mmmmmmگ\^l=ؚ1ŧ5Ś~2,ElCemmmmmmUsYf iBk,ju4D$nW7)_lӋbr8f"CG)F[mmmmmmmmmmQ3b-8N -&Fn0-:.Jn"8%t/A'<)9 1MrV0I[؋qL7A؋y8N d2-q|"K$ H"K D-mmmmmmmmmo:ndfPU_P0*HhУN$YL=MF'8m9A1Fb1(-|`(5i6ů9̫vF,/4',#΂((4t?I4|"ɴJ| (4₡qJksA<|"ɴJ| 嘂m;Xq]\6 2,-&Fn=r/)b I=FEҌ lӋY DbmmmmmmmmmڢilysI9*Ш@$AaPh4( ʸ\hk96x26M=NY D26M=[*h)_.d:S[Mel<{) Κel<{rp[ PJ]&ɳǻA&Eny8-Dž(%_.dݠ"[ PJN9sPt?ςd;mmmmmmmC sWmmmmmmmWYAҘjOǿ4ZCV_f-Jtҋ| 1h:SWPUbtM 9lbt| 1h:S)59B:S\xj8.hU,ŠLkWY,xjA,ƅv9"ȝ4162t;| 1e:RYfN顉EϞ8Y[99MpNtЪG59 | 1e:Ob A&Eob- W<Z9-&Fnhk2ЁAi23tb I=_:S\4*59QƠMpNaJ-#7Mxx|ׅ ҌJAob- W<\-=iF-(A hk1x ( sZL7Ae5df-#7Mzx=b I?9kQ\-=iF6RV iEdf.EY ɹ_:S\4*59QƠMpNaJ.EY x|ׅ mmmmmmmmmmӖ瓆dNAҞe[QcQsۺRM8[1@^e[ŲJ=(?\6-n{I4'A ?Vyt3kOrQJ&_9h+ i6ů9̫vF,/.NmNÊAXÔg ₡q-m^syÙVX_>-hNY8Gk+QcQ3 Ό_0dfQQh("QQQiF܃Tg\-=iF-(A2-q|"K$ HQmmmmmmmmmTM77AB99a49䠪3Ba TAx4Y8I9Odn{I?dip؂sPM̳" -pP( mI_qUڈO=̚o:n^ڄ"ma rp8-mmmmmmگnAU05_U̺MgM#sA@0 a|C> s`(`&rσگfA'&XZo >kG)_[mmmmmmm_`朷<emmmmmmUx=S<8朷<!̫^| 1FH'MEOkB"xr 2+J09(A9 ڄ| 1FH'MI%OE`miͧeo&",΂(b(Jyf{'8m9\፷ftIp Q3Dk cANq?L9ԙM:SOd 69F`(*Dx-&ص79nŅ9iͲ;Xq\"xrQt`ZtZl| 1F(̋f_ D$emmmmmmmmmMM~Q*ح=gA*Ш@$AaPh4( ʸ\hk96x26M=NY D26M226M=ȟ*h-J',C> 9nk'8zemmmmmmmmm_g4$Y"tUǴz j{Pr4?~hTO9-'j̶mmmmmmmmm"[؋B/%-"\ɴ-"\ˤգڀZEf),Q\ZQze_g>Sb4ȼQ qDj!iɺ(VQ bc\he_g>Sb4ȼ`r{ y7N,Ay-(NAcVr y-(NXʿǴ<.EZXqEȼ`r{ .zҌZot䴛tfZQʿ'ZȼQ bqkW"ZQMUr'8朷<)S>A4G9sN[N|p\ЩE5FR̶mmmmmmmmmmmm$YL"qP,L9F(*pd0t%0iq"8$甯mA r^p؜&㘂g SM/.pUXJxI6 Mɹ镂sӓb?<&<;C&c[Mxrr@K5 M͘mA r^pt6yn{ /2Q/shRaF̋b=%0L0!pQ2t|a)8(*pb'@!.;PB\W06 `kWʨ6<,X(*p`8m..R+=(v(I'<7AXŨm@Y"ʷ"QQ)a\)XYʷI1vi~ts_=Uhry>e[͑(]Un|-U̫tAa&OWIF,8V|"@)ҌJr;4).Ǟ?eY<'&˙WKrS P;/'<33OVdJ6ylyVo㤘; 4 ̫_ETgZ{6_f_-!3ʷ>1w"':Ait#9*Q6H8`k<#EG"<܋` ɧAq5Ait^e[͑({sxvlA*Ôgn8|1q!`kRAśKC%EyÓ^~E)ą Q 6{'<ᄚԹnt7Aa6dJ6j3^ÔbbQ4Z?AX-9J8O9+mmmmPyfx:"8bE2mmmm_f- h`@Ib!S| 05_:+؝ۚDId"BD CD&UWYЫYAm@.nWmmmmmmmW~ lq/=?gAÕemmmmmmU26M=Yg9,ųuz Wˤ6{YNM9_5#q.YEA+$@_@#W8(d" !x`pXɲ٧&lc@iVo{S:ǟ&dpxHɲxe_"*  ;kYƝ;i"xqU9`@mmmmmmm?k\N0GVl_BH9_[mmmmmmm_:DIdH XDP.Id"񸵁%+A@$ d H m:.{M(NyM7rs֔`r{ I#"EA+$ %iPp U8 6A$EH₠`@(2li8ɲ9=U΂(#@ɲ282l^;WEED`q@qȞ;lUpNi'102mmmmmmmYEA+$@_@#W8(d" !x`pXɲ٧&lc@iVo{S:ǟ&dpxHɲxe_"*  ;kYƝ;i"xqU9`@mmmmmmm_Xq<ʷgA2mmmmmju4ȐX5"DT @pH$ cU&@A H ʶ--AL\Dn&aRAo2КmÕ|FE3HV&HK," / @p2lH@УNQ3#e[9(bs+$tl_=0ǟų|&x ͎{OQN0G i"Bbρf$ȱ?\qᒜ\tДĊR%Eybs,bQ7+ O 4ÙVa)&d67&kV NMn,'A )nt7A3ʷ>B ,(M76c%Ey=` UH0|ʵFȽ)I@2/s͊,{_4 e]%{@^eZ,AWJ0E)'d'zd󘜛.e].GEO2y@e[͑( XYch8$/2)QQidځ~-q|?lc(*pbP{t܋`;c%MxR9Fڂ"ၬtphr-sO'&-gM~eyo6DgÊc m)mHOQ.UąHEm.)My_DFL8$kRU{tkWQ͑(٨M{OQ3Dk cA9QcsS*RsA3qR*&si6ů9̫x'4|ʷAXÔb<?(52-q|"K$ H"KV@R*3ȉ, r"*EF% &$ ,I:"*EF% &"K@HQDIdH PT]dB rȐ$HQDIdH T\@"*EF% &b"A@x%"DT"K"@Mbd@R*3ȉ,5V ,e],RsA،Y8 <)9-t-mmmmmm$fL4>YEA+$@_A`W8(d"(齃h74 0 然OaŲ ᗎU8b"A2ƾ;ui% DM&r'(ӳ_r'"sI9'S@܈,"p[ݹ%X@DP CD9kt7=6IXW7+=WၜNȉ,HEB"^s*׫$fL4>YEA+$@_A`e_ࡓd"DT~8e>e[(E6Z)yL"~28 6C#^Mc*hPhNDe"sI9_ܥųN/͉ dx| 1F9J2mmmmmmmmmjQhQ͔qVU_2M 4 ҌZotdؖiJAiF-7r W<ZL7Ae5df-&Fn cNiEȫ"֔`r҄Ɔ@#(ٮEY)B+JC4df.EY Oǿ4UiJ09iBcCX2zA,ƅv9"ȝ49$Gmǻ{m4UiJ09iBc(`Y\h/M,h rUqR)_'g(0Ns*׫'SN*Qq9_ܯ&$fL4>YEA+$@_`e_ d"DT~,VEс͔ZC> OjyNp 9$ChnY8E +%8<8e㱕4X4PDLq"OZQJ@v8ҋIMId~>I9+el<朷<26MLpWˤ6z 2+J09(A_[mmmmmmmگF܃t`{yd1@xKd 6_NҌlj O9iͲWmmmmmmmelYEnu`r{%N93-&Fn2-q|"K$ H"K""&HQDIb@j"*GDH9d"?ȐY$d"?ȐX%p Y$EH"$$(*.h9dHY$EH"$$*. Ed"bmmmmmmmmmڢiҌlMj qRDA~ܫƆ@#g )_.di% $I_.dݜbhš4MmWˤ6xg'Y'+š5*Il N1k洓КҌZotU26MN5_.dF-8r019#7M~45Fh@ nI=_' cߚQi23tCX2zs$ҋesw=_砓"QdۂCV_[mmmmmmm_̓p4bܢ'7)_[mmmmmmmJ2mmmmmmmj;~`tE"ɵ{UemmmmmmTIlZu4" (*aE̺Mg%i%EPTŠW̶mmmmmmji-j0pmmmmmmmQhD 8hn!̫^| 1FH'M Jxob-ZL7A\{G?dfj0q(<'Mxq-|g'Z-E_h3Qj+ݹDH"$$@,47UWZMia4C3Z\j0|45_ cB;dN 2:iɷEҋI?,YYEA+$@_A`U8 6A2lhO$xPN'6YVn6ֿa42ʿ,DT("&@v8Z WPUrڄME'+MWmmmmmmmگDnt)B2͋ynYsnQa4eKW~8gi,#ep-Mp=~H"hN_22.` -(NJ-94p*ӂY8G/*ȴZ0;emmmmmmmQa4ef lҋJ09iӖ 8hn!̫^Il%5+)(NU_ၙM_`47<hQc,CA&GAҞ=؋i#7M~n|45_' fs 6Ɔ kGm=2mj̶mmmmmmj٧remmj&iVŹENopJ̶mmmR̶mmmmmmji-j0pmmmmmmmQhD 8hn!̫^| 1FH'M Jxob-ZL7A\{G?dfj0q(<'Mxq-|g'Z-E_:+؝ۚDId"BD CqeZš4Mm40398ůj8-CUrf4(ӱD顠#q[M(nřnڌ"\J&œt{dlZMia4)_:+؝ۚDId"BD CqeZ̺MgFQYAiEa0F[lCa4Id覄ܒ O с&])̫tZ"_3$a~e[2A6+el<{Z`HYSxJT`0, hjj+(7M j+ gM) , hj4Z 5@X$fL4>YEA+$@_A`U8 6A2lhO$xPN'6YVn6ֿa42ʿ,DT("&@v8Z W7+MWၙ;4D%ʵWmmmmmmmW~"pM7EQ͔`żʷ,ȹh7(l|2?NM?3N2s&8ݏ?$Ui`v'گ?V0m`r{%8gi,#dZ~-j2mmmmmmmq<034it٥`r{,pCV_.dJkJ0:WSZQM3J,&7L 8hng cB;dN 2:[M(nʸAmC~,t-Jɸqdd{Oq̛OsWNJq<036'vY D kxiȞ'>pbhhhBeZY 4rE:hh$:Sǻ{m4dfǏ*= y"OlAQ8nÏlΌbZ䓒u4 WPUrf4(ӱD顠#OEҋI?֔`t+ISZQңdZx`se(DJ&œt{dtfš5!&r3J-(NX3ᡸ Y 4rE:hh$:Sǻ{m4dfǏ*= y"OlAQ8nÏlvrq_5RO ͉ݹDH"$$@,47UWZZQM-|֒r.QiF-7rCU9QĊ-I#"EA+$ %iPpp2lCrbɺʰsH6m?IòPfU :n౓e@?x#Ųq9ʲXZ78e㱕4X4PDLq:ɹ_ܥr$+mmmmmmm?!8U7a4u̺MgFQZ#t&7)_'fV 8hn!̫^| 1FH'M 4dۏv"iEt,t&aPy7N,'ENN1kZ rUx`fhۚDId"BD CqeZ̺MgFQYAj-Ehl:i t[&œt[rH7<`Fw<2j0~ptAnæ1Ilj+ gM)SC4Z $aE403EeU7$a j+(7A`F2)DT"2@Xf| 8ʿC&?0@x4?* 6, 7:f \;%e[n?< 6X4'aa<[(',%y{C^;WEEDQYA0M&r0+IWI"*X i,|HVHe_ࡓd"DT~O 6X@XDv-q1X2q Mxpc*hPhJ-&Fn0'SH,XD"*EJ&+-q~lNP_3 %Il8&QmmmmmmmmmTbCҌlMQ3#$emmmmmmU~"I:mj0|%3kOi.φd6ֽ_j dxr2mmmmmmmМʵhQc,CA&GM#6ݽQi23t23tDM&<8iӓZ;s\x`fhۚDId"BD CqeZ26M<-Ee9WaMqj d&œt[rH7<`Fw<2j0~ptAnæ1]&ɳǻ& @2j+8o JVPl  W.dŨqE Z*Rh Z C89(XQYSxJ]'C9lA`$-l47  Z*R@X ᡪx pP$a>I#"EA+$ %iPpU8(d"(j d,-͖U=/Ƌ5c` Wܯɹ_rI-AOXhh2z̶mmmmmmj#\xNyM(PrbɺauXYE$6AEJyVKk_Ũ5i2mmmmmmmt&ϒcriF. rU\㠜)tR\8WM 1N&(7ρ=(Pi]_LnS4+$826M='McrU26M<IdܧrI٩'0Ns*׫el> MiFJJkJ09iӕWxiȞ'>pShhhCV_ၙ$ 8hnpJkJ0:Tps&ţ)B"Py7N,'ENN1k泒NC 5_ၙ$ 8hnpJkJ0:Tq"OlAQ8nÏlΌbӓZ䓐ܯԓf Cp@#SZQMEY-Jɸqd:-=iӕ5$9_ cB;dN 2:iɷEҋI?,%5,%5wN*q<034 "$A!"a2zϒHȦiPpIcDT"D$M~a"@hI pXɧ`dxGH7c8ɲł! O$xPN'6YVKk_ v2Ƌ45$`@nW7+I5Ũ5iɹ_rImmmmmmmUj dJp9o22.` ,&7Liɧ?3N2s&8ݏ?$Ui`v'گ?V0m`r{-ӓO 8%?'zEYFbp=2mmmmmmmگ3J,&7L 8X-QiF-7r' 9k26Mx%5ʫ034itFrf4(ӱD顠#OEҋI?УN$YL<{J-&Fnx=`Pǟm=2m2pPɲ "DP( 7< 4  oBy6XD2A X@XD *cmk|ᗎU8b"A2ƜcƤM&+_[mmmmmmm_ $E%$9=o>UʲXZj dxr̶mmmmmmjO (Z"_`47UW>УN$YLGmǻ{m4dfdfj0q(<'Mxq퓢'Z-DwN*q<034 "$A!"a2z]&ɳǀ#E4j0u#-M6!Ũ5oM~n~hM X]eʷE%=IUlC,hr]&ɳǻ& @2j+8o JVPl  Wˤ6xqj,sQ`$-𔩡-Ee$aE403Qc hU7ۂp+403& @2j+8o H`HCppX, E⩼%  , hnx pP$a>I#"EA+$ %iPpU8 6AHZY&'c&~, ,"Gesedo>hpc*hPhQj+(6;urɹ_ܯL;1?I#"EA+$ %iPpPp2lHxI_c& ţ=f +&P rj019#7M~45Fh@ nI=_' cߚQi23tCX2zrf4(ӱD顠#5d[M(npNkNJjjϒHȦiPpIcDT"D c* "C|pXɲ$ChnY8E +pJnÆ^;WEEDQi23t_:DIb$DD@R*&+-q~lNP_3 %IeXG)Faaaaaaaaatk0 0 0 0 0 0 0 0 0 0)Faaaaaaaaaaaaaaaaaaab0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b3(aaaaaaaaaaaaaaaaaaaa( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rmmmmmmmmmڣ1.NmmmmmmmmmmکIl@%G ,ŠOSY,x*el<|q1Ai-d5%G "[؋qH"eR/%"Tr&eR/%̺MZ0=c*y-%qTtZ-Eg1& eG@n2ZҎ'*s6 O\heG<.EZ2n(X6W"Z-GTd@EE*98l, j8ʎN1Y8y-ϔ؂ =r/%Qy7N,Ay-(NXʏiy7\iF-7rTrqYAr/%Q+'r/%R.zҌZot䴛tfZQÔIlńH⢋"JR9-R 2+{n2dV&TL6MʐI[ 1-(t*98iF-eG'=heG'j8ʎN1Z.zҌ2V`tbXZQTrqs֔`r{,eG'(NXʎN1Z, -(NXʎN1\-=iF-(Ar26M>8PXTpʐAiF"eIF"eG'(n2kJ09h*J0&d\FRQ5ȫ"֔`rPʒ =Ȧj8ʒ =ȦҌ2kEr)9c*J0&'E(l(l9c*J0&Xr)Z2kEG"+J0:Xʒ h(NCIlH,DTIb¢%G `rP {n2[؋q"҄ZQMbqkV ҌZot匨ŲlK4 9R]&ɳ DD qr$>)*| 1e:Tb y-Eʤ^K{n2I[؋eEMn2]&1Hђ8*B1"*A&Eob-TL~2qʐI\ɷR9-([([`rP {n2[؋G)S.d H%G s` TlAҌZot匨<' ȼ`r{,eG<.E䴣9c*98l, ҌZot匨ZҌZot匩=iF-7rZM:3M-(eIF֋SEiFKRQ5ZQM%Y퓢֔`t%Y퓢֔`r{,eIF֋E4V`t%Z, 9ZQM%ZQFRQ5ȫ"Z0=ʒ EYTrqҌZ0=ʎN1Z.zҌ2V`tbXZQTrqs֔`r{,eG'(NXʎN1Z, -(NXʎN1\-=iF-(AR, -(AQ+'iB-(NXʎN1\[&ijOZP J09iӐ*el<|q2b@b"IQ*:n2ZҎ'*s6 O\heG<.EZ2n(X6W"Z-GTd@EE*98l, j8ʎN1Y8y-(s܊h(lZ2kEG"+E*98hE*98heG'QLMg" "JQ+'r/%qbqkW"ZQM)S.dH (.qr$bZ2V`tb9R]&ɳ"@D\\BpʍV"..D2DEArB"..D2EH⢋"KQE@@< Ab"Ic*48D-bED,**XCIlā" "<2XZP J09iӖ2Mf`r{!Tˤ6xETM/yF*a4*Pk$eEX)S.d HT"DHBpʏA&DremmmmmmmmmA:%6yf{'8m9\፷:kRsA3fӓO΃Mofn29iͺL8g aȞiW ܳM3.e[sӛt)4p,C:Ǟ-mmmmmmmmmelm؂IͧmmmmmmmӖ瓆dNAҞ<\6 mmmmmmmYyim,Z5G (ڈtmEob-:-6 1"\ɴjcQ/)ڊ6MQgA$^KA&Eob-;3&P~6_f?sؽ _:z,<6`ċs.VjTp*\M@El\DmF(`Y/%4dN#Tr3FK9EtZl| 0a%Tp.ȉ,5Xu"DTU26M>.ȉ,5 DY@R4*el<|]Yk"HTˤ6x"$"KXtjt&dDDňE@R4t&dDD "h(IlvDIdH X"0YdDE D *el<|]X!d#A@mmmmmmmrI΁풌mmmmmmj]&ɳȊVHIl"t\s&9J2mmmmmmm3!d\%mmmmmmmLMg\lY7ApLMg[YAҝ9S.d#7M}9S.db I>IlJ0&GTˤ6yEҌ Õ26MQh("Q*el<{E%%S.d.Nm9S.dݔY8DJ]&ɳǻ(l|2Il -(NT F[mmmmmmmFdB3Ό_5mmmmmmm A&0]M %QƆ 3dHmA9Mt dAif!(#<ÐBI2,G PhT D 4 \P45?QZz~Wj[d :c/ln" tIب8Ƀ؈mN*&0AaBV@QUGT^E>|z\:*i{'d?C:KG"0 R3x_X,c)L.yt9і,5,Tgzy\y}anxoxUZ0ÃNм:k2jp޵$?aEMQWVu kQTiD)MW`! V$-ϯWgSYVg5V?YF~!9>]xUZf]ou/!9>]xUZfY[X| m}bƳªg2obd5!Ջ Q^SNM5VeuPuh-[hk(og⊣J%U1Lj DHZV 4݋:>ϯ_U &?#xTi&\ Tg#!9??HZ09f*x8{8b>&?Ocܺ <18u[ǧuPuVeiISV?!S<9q=<_1/[`R=Hy}q]ob̹u8ϩǧ~^rۚzǜֿ9K9Tgϐ_xUZ˝oӝd*}&ǧSF~[sQ]˔ =[9 cY9;׹(? Ҭ8/5˥9!h|ÛCF?:cArTǃk1T==c @Smjw#ԩAgǗWA=qζΜr.zǭ@&NF}OW\~p>q;!F~A W߀4A&N˔h䅱GAht8m5+mԌ6[Tw CFg! V0cp~r{`11eyx-1FkǗA)˞_hi]j3|q_枾zk_X_V <Mϯ!<11Ǘ:ߧ:TǧM1N&֣?\zz-I\yr!Sg49!l}16c?yd̶J/5˥9!h|ÛCF?:bBÀk1Պ@ǧyi|Wb N6c?{,W;\6NqG)0(1톰G)0Y9~i 2Z1i\l:ߧS\zw[ZA,S`vw!o= Ou8DwZ8NU(yr`Ƶ|q دXǪ=L̑NLZƸLW cul+^ɤL"Z1=q;8S@F~=lWAf\[,νN`$ө QZq-c5W5:ߧ:+E90z r5>ASY=cEa3e< NF~哈H#F V?l F~4Sgucm|ٝ9I\l)1j3!Se cM͡ƽqEm4Ia͡#1g! @*#k1>Rx}хЩzx;G0Wb N6c?{,Wb6cN#˔?ּ>SyrR V>c/<{.cUVe`_@<vxahָߧS\zw[ZA,S F~@]*~[rB$ө@=Z8NS>IѲVe{CX쩀y @V chƸ1uPu p F~=mW\zw[[s=Xrkhy>]h ISF~# @61=q;s2֣?Fh8=;.zǡkZ{-?ˠ UA&N5\$60V֧%֣?mT֣?\m TV?ڪ0)oӝdN vT }m*6VNb?h״q\m=diXrңO8n"1o9)'8b1sZ+Ǭ+ZUlxf @dJpr9 hmֽh#JÖ@[G #tL@dJpr9 hmֽh#JÖ@[g #1_9'8b1sZ+Ǭ+%瀌f ` 7Ȍr1^9{GcFU\p`KXFs"3Np{G chWG5YV?iTK瀌f *t'2#89 Wp6k^qsXc@WAc֎+siANJ!F~##<9S덥PIUҪײ`rۉWa qodO`_@Y*p Q6pcT>Tht8m5+i+O2S2"KD F>a͡#1g! A5d0 cVg$-6p?:6c??׈*deE$G$-shvLYC1Pvp s11^9cǹ|\SM 50G^eyz L/yc/6Koש=; sφ5 W ~_h# 4q0 q.y)1-k/@<1(1a\l:ߨ:Å915=;̹°呪Y0^O{u85j3d0񱍑q3uNuW%q kN~eX09ˠX@xgu8jgr$#X+kS-j3FN#j3ǗċQTxeFrc =['>Ty8ht8m5+i4L̺2䅡#m9f*0cKݞ!Z;cCZhj~MqoiN"gb@.4 Ng1JvN`0W3qLŜ65lXҳ-k?eL̔ah cF5ыBgǧuPueXÖ^]hD&N!+F~86+G[Y%q5Sj3j|A+˞F5-O.4pISEj3-O. @]mjq#irBhj mO&-Q^I\m T ֣?ǧuPuk2{@4 N#CU8֣?ʟ!SddrBQCshv1sQ[LO$*deD25C)iHZ09f*؎`6!^=<;,c˃ C#¸+111_lZ:lhj3clkX$k< j3&/ *qg}q^<[[ǧuPuVeh6M:@V?;$Ǘ:ߧ:kN~$˞ѡi@SZǧuPuk2zلG0ISfl³5b^ل9 BEj3*,6b89qods4)M:jg1c\@cc枼/~R x+:j?XR3Ȉʡb&5ǩ{f-[.I 9!`C,G1,cf[ ״z@<ь-1hA9=;p 9ֈ@~)V? ~A W=pqh&NV?\m - m^ڻs<ucshlΰֱϜ梻nǕl+^ah qB~9=;(q8< .^b?X684 `N hahڽqw[Y%qyNBg1k! ;ZqyNCj3 =[- H[@*hpr8Cshv1sQYY&xQ-J29;bBو ch@c6# A,cicTH#0V֧jLʜQc-siSY=cցTig1> TǺx#ˠN< kQ)oj@g.Sgoe9qAIZUcփ( AB6F~cCǺx#ˠN<9ՠszg덡˭`~?ZTN Qh2Sj|OS C{ef|G$먉aj֟HZ09f*#k1dy GccBVヒ .6c??ҜI$먉TԚ%_55$-shvŜ3Z`V49!l}06c??q3=FTfF~?yyHQ/ kyyH4b?Y_9>yyH\F~?Pu@Mz**; A`00 0Y bg`(:`,0:> {@h}pFf [x VuloX&ღXH`g`':l LAՠ0AnZφ`,0:qUPf Ӏ$e9ՠc^Fê:a}ƳcE8pER3b?Y_9>yyHQ/ kyyH Tg#!9?`dY~x>cY?1"1Q/ kcY?1'f!@H|+:^Ib 0:% +:Gm8`g[8+; 6@P9dVum!pxx$·+:y>nLt?Y,0`J|0 9dҟxP0| AZ#בwEk! %@8t-Nur$*H9i*7LXU$-RYU%FM=%RO2S2:r.u#-D>V DiˋQ\up{墅u"Ze߳m99Y9BſȿgS_u,_ȿgZX6NE?ԶoNE?e+9ұu,_"LȿgY!ӑ~9jNE?$k"B?ӑ~3*97Mӑ~d9u-]*9]*Ï9U-7NE?r/)(߳Q߳_N_ӑ~QSTtUQ؈IM=~7#$oiF)oi& d{ب~7*ب~7*_ب:oi윇Irɉwɽwd{'I97Ooi(oi?{Od߸M=M=ߴM=ȉpU{'{OddQ4KITBToMSe TBToMS\Tq8yD1Po1(5T҈[dQM(BɓNRƨe-%EeaIb'*+DEFқS-^ #edxCF:"7Z"U*J%K]QS,"%Q,jUDleQIX-L~E O2hԈZ:JWJWPԍ> HM%y+ҕ5#,L }і(UD(Ѻ%EBQu$GLFbGQKV*] 4nKF,J}X%sO,(DX(TfU |QKK% ̣XK]|Zh: aFX$IF*_# L5#22CRGGC^Jy5$DZ4[EQU I -&h&HW3y #*!jd~!7:!$ F.ZbycAjjKLVBם|-2S4TF’_,vʲb5o HD%3E2BQvLGL~:`Jȡ> EhGC^J4~E Eh+@_"> Ee%}R"> Ep&~$jhy+K@İXhy+J}*^%GC^J*^%I%}jT%&U5& MI%ISYF"u u$J0 @Ea E#(j,,L/ SGC^JjRQd %DVV/Q`4t<䨊ҠEXj-y4tX4IjbD:ShbHu$}8xJ!^MK荣3HP>ΣDb%KE3-Y ,H4IRZ4t<䯥@ jebB3MJ($bͥםF*ҬD4IMQK:UQ%KF*P}@4IhhJj'_,yĉRAtHS<Ќ5)yMFm,%4Ij%Z]2 ,H4IiKF,,5_E%lcΣDy7],(uj'QJhuR k$u$hU2+,u$KL U ED.Ȩ]4O:Y(E:%Y%U GGQK%UMTLhԏ:%Zem*P>$F,DmBQ$:Tk<2kaɩ+DI㦕K yO$y,MT0:%Xnm HheP}ԏhCS"L|I O4t<䨑+5u%uPx5( !c:bUK)5o h,HbDLSTu H}VS,FI,vLGL$vLGL~:Z'`Jʼn%DVV/CSҠEj}+@_CS SGC^J)_M%y*"xeET5>$ *Fy5>D2H<*5u!ZjQ<6fZcuGTVE< 4!c:bS9VKDuLd/hF-oBUE< 4ѺXh%3EMQoL) tZX ie2k(:-2S4Q$) u;Zdh@? H}iuLdS,VHu$|M OX:JTEeiP"45>jhy+J}*^~~W$iP"45>4t<䯢-J!O&V$>:JWҕD4t<䨊ҠEhj}4WTA OHZDV:JWR*b]DDsSTB3}bjKLVBם|-2S4TF’_,vʲb5o HD%3E2BQvLGL~:`J"W++JP&ҠEj}2$5>W-JWhj}飡%DVV/CS&ҠEXj}4W#J ?L.j4&Cihe!HXξXޘ2’_,vL5GQ0I,j]5GQ1T7],) u'`KU-STu HH%TkZWĐ8GC^J-Jİ1jhy+Q_!&*CSL|I OD:JWRH4t<䨊ҠEhj}"DW++Ji%+}xHXZHZ:JWũJcL%i2 B3}$ }4eP,u_,KL5,/hF*4e*cF*_CS%DVV/So&4 K O:JTo@W.HXl#7& GQK:XFhZP>4ND/!igy5>V2}/!3=j|2e~RT5>VZx+2(j|ZYj_CS&V/!+@_"&VZi} &V/Si} +FXajehKpd F/S&Vi|A OZ-DZ-FZ-HZ-+L|A O&VE O ?pl ZZh25?ɕ(j~+F&V5?4R"ehKj~>}/! S+@_CS@ZZ:JWңfrKAe*@Le-T MUTuE!r7Jt" rh*@UK "WbY"xQ2ILʡ |B%i@GQ0F_߁wYxFF߀LF@kL#n ;F@}U;;%,|#n 5}cilMh {`.:nK?c:n@"77}5\:nj07}oMl~2|>NoKgM<<{bò[?h< [/xtzl-;%xt-Ƈdd߶dvK|3;%@wEl^vK|{sE7|>vK|6;%B80{b[#/7|i['>ؼ æ?tw/;% o~M"@vI|so~ذ87|7| @vK|:dom[w ;% 󎛾 ~cO/;% ~bvK|@7|ؼ;%G6;%F]'d{a-0~M# ;$!bò[ذOY- M󎛾! ;%! y-4;%!W#=@vK|DYlt{a-tmoo6;%"bvK|F{ No{a-^bò[BltvK|Ha'dĀ $ ;$%$Ňdĥ>ذU8SOldĠt(o[P8PcCl^vK|L)[ht1/;%&ds'dÿl1;%||(,;%~lXvK|wρ󎛾|{`codπw ;%',qwW6:ngo=?:n6ddol1;%'>6_׶,;%(=o =o 87|P8⁧o}y-A#@vK|7|~cl^vK|{a-K>ؼ@][6;% }@{a-P<:n,_%{bò[䦞ذ-J>qwC_l%ؼ(7;%d1#ltko5a-_:nB }y-`|B =-a-I7|R[ ~Mo/C/GDoAGvvK|"_󎛾Uo@qw Qo@K@Oo@7|">oV~M?7|#)d3/wɜ1,;%L&M&?7|6-`'dɁ϶-{op}GM8 ;%*1[ ~;?ts ;%N/;%Na'd"7|w'd}8 æ;%cC[ M ؼHsӲ[ No:;%Ol ϶fvK|VI펎o<:n{`Ml^vK|V[~;%P)Ƈd󎛾Pao{`t@g톧dm -q;%c[\(-.5GdfvK| 󎛾'/;%æ{c[(Q @'(2|%?m)%X cAw@m)۾R۾R Fa۾,EFa,w` m mG|& hL?|' Fwp۾ᐍ868 w mt*"6_#{2mD&I?،ob1O!&<$7)&A@MIP7obqmTi6*RMir‚m&xM*&{' =:Q6N] od!& 6NaIq8Y6N5!6Nc&~)&?DM6NBm잯&?p{'9 6O_ɷq8e;&odD8{'odӓod0M96N ?6N{e8)JMIpW{' ɿ<)پxn=|~xi_=> zE|#y%xy ~xny=|S/bE|>a|0|d૽/+c~Mȓ"SDi.Ȫ/aG9&$Wȁn$D q-p~Q|@]_ [ ,# /^_W|@Mq/2Mi7#/_#x/ϋoե}0f7ھ!!7'z"! r;ķ,3#! oA)!X("$["&_ wo4UoW" A[|D oK|Di@_S|FGWg3|FIaF_fc/~2#X[~g~< ߸ 5Ɨ pg ~ӊe|I__;_AoCj?$7Ānz_7ķĮdWįb+Q%%U% =($ PS(4ɯU|LG`^W54LjW4wY|L q| -_/_ >  |;8|%A&(s!.WF%M|$ 1W@q/_0rϾ+lwa+X1o+9XwAI|(IP(`DC|2+&P /U| =.)K\a ._LY| k]v.s:+]K\e؏7W6 `_ K8!iELQDi:g{Jhbg:e"Ze?9['_$sζOiȿ]?AM,[3q5_3]D*W_g-RLEԶo]D*W_JL3e+骅.g/Vg-T?4?hm?3*g/oMRLE-iȿt_iȿrҬ"XqLEEKM"J*xmW?iȿ"ƿ3g?f kY J*xmy?#@Nך7w՟&ך7^V=F!XZ3P35g$o51x>ך7˶՟-Nך7 њ\N_{čBff/=my?#g-R{8kYjd˷qך7떮gd]5g$oՙU?y?#Kf{'U{č'[LNi{čS-2{'kYkeJu^jH<잭5g$oXTkYF)y?#SE ={^jH]*Ï;^jHU-7wpkYTV=FtP{'c{č_=5g$o]D*W՟]D*WdkY]y{čc8&V=FaK5V=FHlN 6՟]FNmy?#e{';^jHLWdkYhlN ՟j}5g$o;,l~vFٞ(:*ɆϚ''blLEMQV*6!!E;^j=897s^?5tGf6;^?5tGH{'skg&?{'{L{O{L{Ǐdog&sO/l3o?u숿>ɏ?Tki-/gp՟--b kY_@kg?윏kg&5kg& {'?3_윓kg&W4쉭lͿd%D_mÆ Gg#8jFXpԍ"dmÆEi>= OL'mÆjd{&@pd??aQZcTl5& = Edl5@&-l5>ehg ??̿{,L>Wm?{$aR'ϋ=;a"/lKm]a"l]mL a aR4ia =??d8jHehg"$2l l5$-L$,a@7mw= O0 ?罟5gYhYM !9B <hL v~V3N-θ3B9:K{l5h}z ?!_g:ieW< ~V?51xFI* *dCm: z<1mmecW4fٛӿ ?mpA{ImÆ -pԑ{= H }l5#H?= H&@WgZdaS IgZmÆ"l5>7l{pV/= EbaQj`/= P& = OZ4?l_{/l;mÆϕglEm ?pԉ3l&aȋ=gȷ=쁯l=팿aR4id?mw{9a= Hũdpg=炏l5$F&H=g gxggᨭ2Ao{o{{{& ggo{ϋ|={m{ώ||4aQma_makm gwm8=p=rla7{k=p=u_?a0a'=pMm8?l5#`Ϛ;gq o쀓ep]m&J?+?h=*ꨄl*lSm:[g:ieWOAgqH_/kx"Й+N@=~T 1o#up{SmBeOm_K4 t2gʯ@]hW_Oc NvBd@Y!\Vl6_gfUK 9:  κ%(=z!@[gKl志gЙSbl<1OmC*_vᎆZl:UC]T@Bl4״ l8Z%ퟕ.Vn[gjBͶy%lQ[}z ?)xc=U7Y'6wk}K=/kylE2W"OSRk mαxW -οh==cmAj@ɥz=z=‟٪=}lϲsmBeOm_߲ - t2Yd ;5灿d__{lE2W#6~V5qola(ſmοh=CuzSm27W ~=~T(g F6**_!-( (l8_jlgЙSbl{#lC-?{ |D}S?(<9_y=~S/g3 Cl7ih7d_~Fg- l'5qoV_ OmK]mBoBl_d=‟gQ4_"dkmBeOm_˶ᎆZl:U@A/wk/w Gg- 6~V?SRk αxWcle|R:Fٞ:ifjͥml#dCMTHov5g [jE~Ln_JmL!GmmM6Z0o3şW4ͳ6"l v|՟Ynf;;3_+ Fjbs؈i <*[^?윇kg$2T4Umme8]SBC)}il Dg< Pc l#lBu,];>j?$ *Q2ʕ)c3큟hal3ЙTySBBg-RwQϴ϶_,5CO큻l#lCMT,u?U $6]|%>> Dg< P`3mmW-]*Ͼ5gWJgg 3ei= 9jl?Ы3~I&ϴ϶'As̰ ?3RٿRgYĄ:>>ُAs̰ ?5g]$iRiSBBI/|ggۗ 9XjYmmiYW}USBCLʻil2T46Fٟ/>j?$ > Dg< P` 62N~L 6|՟HAdm2lLchamgu,]ϚO? +eJ}} 9Xjl#lBTSBBT3? 9XjgmgSB8gghal g5|'9V)!5|'9?yǖFٞHll?󭓾milDg< P`3ЫY 5gtK/pa33ei"64$kpuSBCM2F_|'[>> 9Xjg6ytSSBBm󭓾gg,5COmmmxi}gYĄ熗 }} <(6ڙjFқS-\Q-U&#hl-*\%U֪ͥ6iʢxZ#9jy%E2ɪuFKJ*z%Q%?QWZ]^qz[Ӻl@l?G qyoɟA_Dmͽ ng*i}O4o66bO$[%R~rsoJ}!4o֑{GxEIf/[D!g.I[z"tX@4zʹ(gر%nc-Ҵk6Q;ϱc9rJ:Zhгg[ ΐƕVmD>8he+w=GM"c*V%8CimV<+WfYT!+׻[%zTq'/g-Uk&'HcJ=I![Hi0ZB!l[h3%] X0pfMj 3HB! 23ϴUzN즳m|!{ @Ja5ċ7Oa5WVgXAW,B_5V4Y@:kP2+̑;ꏲhMvn0̡y[aa[ak&mf%gq %Y,^]*k &[`^65  $=eryɪ\V{X`{XV|mjM}H Cad0lV6 0l6 a䇣 ¶~z!a =T#ܑ`X66 Z ڭX`1j6F0̚ 0q{xuprC fa[?=fH0lX6G0sjZF0lmz·6[=&+V+ 3#^WUm 5a0YX+X,=Q!=\f^( -=Z+l?0 W"w՟c½R'}YxmCa0,zMPA/P ` sHe,a5Y(W+C.PYXW0̏]{W]A z ׵U #ke=%aa`ffz½d2 z ׵uPYXW0̏]{U^kXV{Xao$D>DNʏkBg]^fެ+C.PYXW0̏]{W]a[a zk 4N]S kŕk!fp. WY+U[<׵U쫓=]d,{Y3gV:CjB~IYiZmj-d̫2D>z*C.Y5UɪYd^5U]{W] ̖y"A[y#8Eii^ wČYL02ZE-#+AV@Z #]5ZMUdG!Y nk7ʵzd,Ţ ZəW&_\'[oVm!d2oVyrfHg# ׏,j2PS| DG˪Y)^3%8=$tQ d<"ZFm#+m 2YtƩ礎-vpfdZڑ1&MT5g5302k&giY3:"w՟b͵8CIT+ WY+U[<׵U=]d,z͞yXut^=ҴZəW&dT},Uɪ]jT+VC\gо3%HVpzHnj<"GW+ dv2Ծ02ZE-#5o$ vC]5ɫ7C1""5U ,9᯴̌5f6ɬ$! w8Y^kl 8Yͱ,H?n} 5lerj;ϴQY/Z VaB! DA2`j0UuW#5$YК5՞jMl2k! +2ɭj4k&6i[6!"k! f5N>Yj5dl5Hg*͵ "m3ma"g"3Xe,ŀ_Z r: #FFD>kXzMreW&-_Y β+kٶ$L T3^+g3@L ᑳksY֯C ŀYZ r6pOWVymr6)F`zM}g,"Z[HJu,U-36TM1*ٍ~zH -"G H."-jDgiZMT$ (d8k5#:k& {mYjGd 3(Cd̖b&D[ X"0p+W5Gj =75ʫ6ǰ̡ !|!H3 Mdps\Q;W&N<Ze>j@>ebHI PVC %Y@FC_AЬŀ`k&ᤍdlrFm+f#k! {Y5G Q;ϰf+W_k#&EYdW+fۆXH!:]R̩Mj5"-r5N즹œVC Lp>MR'}Y[YdW+fۆ3(CE˪YdZk"\$L)4G*֯C VePVC\Vb3^[mYUr6hZ>kVJa5Y6Y!58[[6]yR ƤGkfr8{Y dWX@l Cq)Gh7lVBp#92VeBJafH=DՙH5[ #Y[\-f]vW&){ <D&Y`eZ r89Y` ^]HV؈"DŽKH-q{q@ DZgeDcpg0Gai8ZDռ.ڏvhGG;@>XMT$ 8dhk5#:k&F&gcLfP[7Gə&magA܄7nC8 :lerj;ϴQY!Z VaB nC.f*VC %YzͶl&e  {Y4F;ϰf*k5HgmfȍVElpͬ$,B !T֯C\v 'k#cjllT}#fk2%j0>"w՟b͵4gb9]RRzȭ!"fpH[RwZ 269Y@vzlfPWVyMr6f(Wz t"Y[HJu牥_2;*#|Q#0i-"ZFjH HG4k#h3Zɪg M }dgMᬍHfp:dbt}  3Y3F;W&N<zAOP!Ï.f("VC %Y2fPq Rƿmfp3(H8:3^F+DN>YW_k#c"w՟h6DudV,lјk 31&uK1BkHF)FbW&Y"w՟ek":Ҳ+cmi 31%O Z dV038@J55SZ 26jAZ r6fBukmŝW_k&e\N춳m}dLҲ.dͬ$,sbJF]RLD^vl Ɏ+"we5əʵzMre TV}6D+"P!46]RM=j5s(H)#cksYZ 269Yjk3Y^[mYc"J!|V}BkLm\̜VC\jhM}gmg,E,=$t0ii^o_%_2;*#MDrGai8ZDռ..Ȁ3 `MT$ (d8k5#:k&G 3(Cq L"5hə,Ġfkfy$7o>v wWMR'}Yx 51(VC()Uj?Xq(C uK1 )^\JlY  BPM[I嬍+6V$FBAʆvh r8jV}1(z85HgmfȎEq{76(CPuK1!}j5Ȁ3?dp8D>kLk,5Hgؾm}dG k"eb #.fLEq|$L)(dq5Ą#bDu#km<ֹ4-wpruj0U\NYYeb/]R̘WG+1(kWmg,|zHj DŽKH-q{mq~O*閙Qif=$pm#o$ v]5`U Y3!"2a45~_Y5_l2a2̌,f%JZ#@38ksYȕ#HMB37BmĪWk#fuٛY3*̑;mTV}m1l.f#+WmͲ̑;ꏲ"w՟e5k \.fJЬa\NYY..fJ#aU[7M!5b@uКͰѨ]G*"w՟e5k \C.fK=j02Y!5k+Y[7M]{U^e\X,8k>JǿY X60ʕ Ѕ%rk!mVC^hq 2LgOI!-uii^o)ɥ_Jvi%GzH -"G H-gh1jH Ah<٣Y8ͬH>@!a2`PK23kdp8 ΚMr8RV}BkuT&@ sXd+fÈdmag~ݾ$5NɪD>ӏFf"gZ VaBC 2dOZ &fg r( kH9fJkIl&xի<\H8Dԅa 䡡 A X 5g5gjd՟T$&,Ƥ,<7jÖ<5gmYVx{ B넃H-|@g &> ;ϛ,YC\! j՛arlB6{+)sH45 d|2kɃ Ͷq$L> W#g5HgِkDŽ' ,֯C(>R |oAD,]R,^8^'}QS\ Yja5ɖx1Z%r8vq geX]{W]YͶq$Md$gh%r8HV}&^j@  De,3VC\ k#G.T}#d ^\g JͰҹ}f"zk 2I+WG z ppzHkv d<"ZFm#+ցJ:evTGDLGS f7ZEռ.3Q.k Y͵ƕ aZ&=5ɏVh!Z Y5Uɪ-wo#;ϱefN(˪Y Wx,Y+!j2RkW-w՟ka!8>1&d$zQ;E\4D>kfkY f VC d-T2fPתYSZ kI\j5-G"w՟hkfk"p7YBa5,eHVہ#8EG[HJuM*TFsO礎-vpmG4k"Vh5! k k":@Y+uWk"J@hZ>߮DhgMfCe,:a5Y@)Z dD@հ5a rhdpfVBMUrj]GȀVm}b2n^_Y8m z Zd̡f z}YBl)Lf!zN>"J٠X,Y! .C 6̖`f"J٠X,[4 O@`TԈr{( 2 \kr 3D>ޮD@X=n ,j5ȁd2M} !j2`_Z kUȀ VC\֯C\ ;ꏲj@h"4N즳m|!uK6AZ &ɖy"A[hI!-@xE4{W[n,^ʈIafsWzH -"GjH m 4k&p3 ɬ"w՟w: n:a5YUЬI!-[HJuq53Ⱦ$`|5W3!+@LA)f}MDNƕ{& >-Uk&'HcJ=YfUk&'HcJ=YkZMDNƕ{& >MDNƕ{& >5W3!+@LA)f}^o@z"t41x^o@z"t41z^o@z"t41[Uzɾ=ҴG;U D-9 @"AT>GW>4 vh1 m#ր*B&BFf) T"4*MHYT#A Y*Zp~ 4E12\*hT* =DeTm #G0Uk@t&fKb$ܐ* =D`dra&Hd$ Lb xP <&>?&cJLo :ā1 x&>?&JW`D"xhɴ<&>~ ?E-7! <ɞU4Dlϰ媽 dYD iZbK3:jCY7g=:CVRګMDNƕ{& >ƪ5}fz1hɈ?/;9( T=CK\wMIr͋lʣ&m%Ӱy|̪8DL }>b%"x!0EH z%.6cIq4K-%6._9QHa=I%DͥⅨ6cIm_|4ɕ%K1z>1,RN-_MTTzޚR~o5Kj|SD-jc5l%v,1ITTqD-zj(cCJkө,ZPŤ#7P ^"׆S5*q=L<C }Qh<@z%.NI.;M`]*jS0㺧_ItZgeBCOI)$O@q$AW=zS7Ē21JS@^&MzTZ&/@z%.NI.;M`]*jS0㺧_ItQif1ѺIQ0j'c@1FcQF]$ZS=GME XU-3:&:b:k1O8lf'_2תb1L*f-)zT-yG:%^1RXzF1cAO Ҷa׼YKǯ3'/ 1gt,^vu3%¡pNe3pPŋI|tL쨍Ltʨ6cEQ<.bfx'jd 'Q  QxơPFB.ytkL=50bb_WLʈ:&'Pd63xk15U;1\9x8xaŔI̵zФk0Z,ZKZgeDcYZ5 BqNeT&kMLv,\ƇIŔzT-zj(cC*K51lI:TRK򯎙iuùde(N2I̵꘽D̘SCiTR4&P_THxb&1SJd&D$TG+ G$Q&J3i)$ɑ'D*͎Lk(&D10D*/$i@P(tdP'NMKgc:ؑ&J8LILbd#^S"J:$T(`%34*S P/RtW#G4UQTJ3pƊ9&;J#*F_CN$*¥9Zs*&9W% T`:gb$EexJ<(0E faLќ;<(E exX‰2TPZgJe‰;Pb+ETCQeKE键G%+E d2%+E𩒇>OE2P&P/2Pi|OF)>)yzi|OF TCQSzNfƶzNb&SJhS D$AøJxQ@T}a% qT`Io%+ }L>/ K#K∪)>ҦP/"b^JPJB4 4|8EsD1/D(`PC"TP1JTXDP&:$T1\0O$TT;e4HEtLAԕJq8@`&JG/V-!4CyD* dH2TIME3a8'D*xS%}D ETNdCae4UHu4F(D*,a8&J2U hc#%PJd-K $TQ53P:lC0}u <|!0;/鄇SDbIvh2TIbu3U8'D*gG!$T/P,(%Q+I_;lD*+DF(N2U h[; ĎIK&JbG$‰2U 6ţ%SLChLҚiaԆ8>2UXHu4F(%D*jZLC u8 L&JeE aD*W0e:( D*,a8@1J2U hc$SLB*#IK&Jrؑ,0LDtQ3 G$_D*h0L^dKDDIN2U=TD Q'W¢bG$LDu!ĎISL&JG`Ch}M%SʾJia!B蒾=QB^+D`vu8'|b`2Uζ$p"OXQ&JUSLPO%P##5a@QP`6TTR <*}2(}CP_ Zs*&6TM1*@zRME3asOC*&Q;d0Ni:jbO (Š™9wxQ@*)㒙bO (E exP<(/J `JPDU@(}C B4#Jp(x(}C /DUAdJ^^_¨ꊨ J>%;QU _% N`NceD;@^ذ9'@`E%SaqsP"A&Jb( L2TIja2ޣ2#%QL5IQ1'*)3Fs0$QLxQATPZgJeŠES5*`P@ aD*( 0S%}BR*L>@_CPA (}C }*e*bJPFqUWԮG'JP *JL> K#K∪*e2Pi|GP%Nr8y/Vʉ禩mS4ذ9'@`i:jbO ( BS4g3O $Bi9)$L*)㒙@f$N(T(DU@L> K#K∪,*d/*J1R <*L(}C /DU@2P%//P/"TCP_ )yzi|QP'NJPDU@L>@_T G'>S*9NS O `JJ#lI>SE &J2U 9t$LBET *dJ^^_T禍>*eOPJP(F_𲒣`Ch ҩNIQl2'&JE2j#\$p"Ldx*/Laz_& ө](U@^^a*/0R13PG# R <*/\bqUW&0Q8+bWh2GW&0QUzG+(U@`br8y4U@a %QUW#2T0)\# R\# S)\# S\# KԮGT& W#GT&*Fh+11Q8br8x*+ Ty,UA W&QU)TG <*2*'7P;1;aTA"8aMPE#ĴMUDQ1$pxj(cC1#ɥbtu#@cq c!WLʈSQ:aA"8S*閙Q1L5 MLlP&OVRTq;Nx|HzNFM >MDԲgk%SI*8$fE|%5l%8'12eDlΘ[='4#Ē;aRMxɆLNU)،j&V'l*$`vu8LzNXHu4FOI̧Kb1glI:b0/$q;a,q701M3Ⱦ$`|D#GCsS*TGLʈ#YilCsC*閙Q2Lbl 8b[2QPRQ8 XLF*>T2P@1P_xLL> K#KxLL>%1P/akg!diM usdD9wdȒP>:qF2 BU&/R?Rc+T2P'P_xL1S%}BS#KxN(}C Jb_'eQH::u(U'0R(XNbrcKIR <*TG%ԮG%W#GTqD-J::%+Ty,UTGQ W##W#KFW%Q800R(U\x**W#2%ԮG%G %W#GQu+S(612XUDF&(D*aTHD*$TFm%3Dbb:$TFlvf YDbbb`2U_!H",(0Q4ȠN #u#LDq)61E*$TF1%J:$T(`%3Ԙ|*Jr8y0cѭbG-Sa8&[='+fIc*{*#if1Ѽt-3nclk l&vt~7;}L&v`5j&v` La3 }:~U}QKN&v`9tGq~{-}&;} 1ݾuwe OʯGt~goZ?v?'70{UOʯ =,?v@~U|A@"?*!}?v{:CcP~U|ʯ-U@-p1UB7A?*"o%?*" $?*" WF|?v(eWe>_3o_t ʯÏt9?*#ݾ##{Ua?ݾLS_&&ݾ$AWČ(?*$?{mPĠ=CoBt_l~U|JZ~U|JGGW¯ǣoAYU0.UWt_7ݾ&l~U|LT~U|LFCAo!?)p_^!?*NIiUp'o|sUp_'oǣo+?*N|N!Ccx}Z~U|N7GWt9?*'-?*'=Z~U} Ot_BU!ϺOʯP{S\?v5B~S|R{{?vE+?**3Ccz?vt_?v ?A_-?**ݾQt6?*PU/t_({@\?vA MgOʯA U|P+V~U|_) U&z?vHy !6?v6 ʯp67^l~U|iQUl'WIkF| MMAǺOʯP.b|VSⰋ ʯ ?ݾ,{uCoō}{ ~`0Cct ʯCWŞ-?*Ooo'7ҟt_K}B~U|Kco~tgW֞l~U| Ut~=|+?*VݾV%+{U^-?*V?v]^l~U|GWt9?*V{Xs`_{AiUpO'7 x8@0~U}ʯF?v?_Pl~U|Z?v.Cc 1?*-|~h~h0Ccw>?v ?\?v>B~S|{'WB~U|P/t_t6?*<{߀>?v~=|^|AYU^l~U|Wk|=| ?~gWt6?*W>?v>E\?v>{T~U|%?* ~YWCUt~U| $?*&?*ho{_- ?~ ʯotʯ^_-}J~U|!soW}$?*_kk?*~gW"_H_ =)Uo ʯ?vsW["_?*8;| '@&v@&v!3gohL@L@+;}!gobk+go_$L¯%Q3˗~ \ \߀0L ~LBM}( ;}(H&vP2;}(~g_b {A^'h+R@={7 JPq^*JPu^* Py^* P+@BG{Cߪ+^P[&+~4+̯(O(((e{B /vgE+ *+ ?o ^P9XW([1^PqI^P{C/+*%{Aҕ ?%+w^Pp JI^P'+OJM( ^P0++t(XW_|;۾H$D%N"*q_o\"r[ &"%0|D rl6wYn_%<_%=7G5|"J@wCL(&ķCH= Q|FI_oķo8qg |Fb 0#q0wɼ2 I|1'Lg=wɃނ0yo؊00wɁ$$&ķė|H'$4ăS|HkwċCă$k>۾%$_ W*|C|K"%[S_|>۾P 7ob $؆M9-~#R)Rq1EQ|e7CRb _)Y]lYoe6j6_;l. tO|7Ü" >PE|rQPA|q/U;CG|}4wʚ;Av#T@wʂG|b;A&TT {A(TbLU|VeⱶXⳌ+e2~}mrqXeE|V}%Xs_[`< =Y0,i=E`S|XqeZ&2, 09|X Ł3,M|X sK6œ( q8X _ `1|źw>8~u b6"%1=un(__CL:t7t2~Y|_oZ+k4w7trd X$VcaXqV 5w#V 9|$?ݾA} 2[ G|ZI/ooEKr{Ћb՚ѶQ|ZkՃwŧ9|Z=п+- C[|Z 0z=Š,-#`i-.C/o+Βn]|\mZ E|\GoĘ=|I|)ķM|' x/7I\YUx;w_~_]|^Iopz_|^[_xEI|^8˯;r .7/Ì"/u7;eXW|V%/-Ì`3X L`io|(X |cnk|>e_}|7ݾ8>`|d%b;&"ė-Ͻ*@<@8wY/_p >iӍ嬱!Z$Z+塦K|ZA'Z 7JqUBV`nW|!o_A6-Bb1wmN +I|`e04_-/=ͻr?ݾ0#h/}wZ %- 5 {@dxOrf,`+ؾaq1 } ZK$ K|Bc טxoP7i_ _8 &A2 W /A/@Y|;|X[ 67/ 䌱 Cğ75|>$q8No$qƺuE ?Ui㝉 c/,ױo_]DGE KOWKQ; 7/T_1%YQ; 7/wK쨝K%jLU?M2wL$_7/7/Ҿi#jo_/%RcL&,aK/o_bfMTTzo_9h? O%K'6眷o9hP眷'wr?Or?xPs[??-@X%?'Abll!As[QC?*Abll <;(+'򅛞r?7s[C Nor?dŔ?(nywqS@s[T眷'wJ3{A眷'w㝉B9oNeD*]nywLr?*'aR[r?wMS{E[r?# }s[YL9oNU1;^9oNZP=A)P>A7 7<;K*'aR眷'wQ; {@]-M-ws[Σe%G9oN"eI-RTqO眷'wQ4眷'wY.s[R/^_(۞r?z]9oNO-g7a"( <;"(:8ADPyw@u-_f眷'wu~ -}$qTU}M9oK:ji75IE[7?yqJ D}q3(7ow=A((qPS7_FyD 7=ATF/?P _7ٺn m?4?-f폯8 _qVs@X%?i-7bqT{M+B qEA6?QE=AEӯpٺn?4?llqU)G{O{N*RiRxlU&/R?qT:ilU&JmӊQ=P%R?mӊp{N*FqUi?8/Rr/mӊ#iQ4{N*R01lU@ɔg]m)i=&iT Fg??=I_R0cm?l ipg/l7irg?lamӊɔg=l{N* TCm'i8NH:_l>i iIm iiQ{F ??uG{O?tg⨽:zol7{OlCg?ag=! w7"[g`:eUemHmOm-mi&kw|Doo0vsK}ИAzCe[3_MUlzS,I?[g͎De{=!?Eg{mi&kw|U[{9վ+l/? -m˿3"\vX<,?=> ggLV$p~=>yDP;g,H+l~=HgS[l@' 4SgL#4u8I砳 '{lG6]vf.[='121lЊUmϢXVB YmHmOm3<,MOmI21j1oy?^`l/? ClG6]&6f2N<\&HmϿCgg)~=>蚪q#V%em"[g ;lzCjpm?R~[gI&][3?{9|*sHl%fkzNbdcy3w#C;lЊUmHe{?#m):=lH8g_mHemI۪="-){=!?E)umi&kw~3Goy?0o){lG6]߹oo "->sdc"Em}Wꭳ)2g~ly蠀6bG=p=;#ŶËlHl^+l~{? EWmR/p{mHmOm6fjlCcomT}=?lzI◶k ?L)f  |?܋FLg=!/r_s#[gUḽ*i{=rؑgmIimIR^=Ͷ{=!?E*?mxY=efgZpAlG6](f_s#[gc9q21uyE_g ?2gĎ;l}FQ#4g퍭){cl@gTl=ڟ"gfjlI_7s {7A_Nkm˿AllЊUmH~emϞ$p=lH;l}Ď4g@?=lE=/9g@ (#[gF@n(C{lQ -PgS[lmxY=eq88y{ 1Om˿{79~=emHc@?mĎͶ{?'᭶{>v bGgR>gR@-)/q}{?W=ڟ"g(KlI5?{]$˿"txoy?ǀAP m˿m<"[g$p{>xl{?D>ٝ{>v f)lzCjpm?[gmi&kw|\y7U_vs#x lG6]3s#8>V)gH=') }=lHAmϢXImH&g^="G=!gSm<I< 4SgL@;{9/p ? 4p>zCe|5n"dcgk0[g~em.{m lw[gimHmOm, 4SgLZM7G-U/ y]vHlZk7721Ͽ@V<6l<,MOmI2m.^ Qs[xCjpm?!/ ?޶ 4SgFJqA O>S@{7?0ϯosoo'%_7 [f黿Ɵ {=F0FiQe{N*!R8NJ8lU%J8 iRR(MmӊFiPJ8?=IԣK8J4??llU9FiQgH_=P{N*}J?igimg# ?ÿlemӊ@1iblgٗ{OgT#iQG{Oʁlg%iP g-iRc#?*?*#=@=@iRxmӊTm g9zt?*?gV*i]mZOlU`cm\_8/L`?{Oa'{N*ԜiQyy{O`1mӊT +80}J?qT`Hlǟ80N``=⶿??{O`MmXgV_{O`g28?+lU\G{N*LTgVl{=Pa ?, qU @[iA~7RN= VI;Dpg=!fPo,L,>u(p<"[gX?[gg~gm`{{bNl?g8[푭)ImHmOm?[%xY=eA~yj"vV9OUm˿䆛3=zNbdcŶyD#[gWVЌ$t.f1xP6V6 FOr߶ Cjvlgami&kOsoo'%jY*IO[a3JjY*{ooۇ1a![a3fJjVC~eSU߯oo Φ:jSL龐cfqşt mt@~r9(+'۞r{;soO7_; 7Ly=_}ߜo$Ǔmw!u9IO6 7T]4k-[Ho5S0wѮ߸ߺ|RSAmΛ)2~rN!C N_Cqt0?nv))"gM􌘲Aߜo#&,ai7!u9IOvL龑qSy-[Hjh<C/pC`r" 7IS-q3}7;@ 72{f--qe*4D[7?@ gMQ; _Di-[HuF~~?%?a3JW3/o[?L<A?!u9IOl&tUD9o' OpC`r:owMSw;~rN!c oo_%?]:o# {聎ߜo$a0cD v%?a3E􃍿9o'E􃍿qt7_;-}$7H8J3}~߸ߺ%?kl&tIK*'aR9o'JYQ; _Hm?nv)) a3FTN¥ߜo#*'aR@oo7A:o\o[?vrqt7_;o[?pE7!u9IOz 7K"e--qE.[7o@gM􋨚o4-q]D|߸ߺpC`r#a3JiF o[?ep&H%?n 7H{{ߜo!ԋױ\l&tIL$_J[-[IL$_J[7?nv)) 7HJSM9o'IAJi7pC`r^ 7i})ߜoҞmopC`r mҐvC77 J{ml&to-[o7_c3$qu13Uz:z2wLFeӰll$:b3'l*USNifUeQH9hJTqD-1l8v*(ETkdN_Ag0Zj:&mSG;a-SaEOI;H{c;j#[2L6M:U9Ѳ(햑!rD$H\!rDSDi.;e|688i'$ ̵JxxLWN'6MC*'g5;.cCQ'QLX<1HG>4hGGM"ci#&m1z+ +cGCa7SR㝄GCa7 W; ꎆ'uNn84r:e%QzSH"B $.H"B $.K8jK頺iJa*]*閙P\fZ;`=>1_J! ٍ3i k5TLNUbf4Hɔi'k14'c-K h)J:evTFʉ:eTr1$ZgeDcpg0I*閙Q撍$ZgeDtLoS|tL쨌u5#-$ZgeDcYZ5$7N$I*閙Q1L5I*TFsNU쨍lg=5i)EFq#H"B $.H"B $.K8jK頺iJa*]*TF5EYtn\fZш}OQ_KJ&mSG;a-SaH\!rD$H\!rDSDi.;e|6eQHORIpk4<{ĝy+'{I,ʣa=\q9OTt1;vi)`ʉTIMTTz#Q1;aTrtVFo5Q8i-ITFUQ4c ga6UG; @3 lP/$+Hb&bb&Y./usr/es/sbin/cluster/events/utils/clpr_clears_$!  018:_aceilrst,-.234;=@AHdfnop "%(/567DLP`bghkmux| !$)9CKNRSTVX\vy#&'*+?JQWZ]jz~[󫯱h8fpOm2 #{  okoo?:9hЃ/hA#@ 5bWeʽ ftP ?֎u񬖏OѬ4 }ʔ:@:\G'ALrvgM9b?Tw;ق:=a՟V@+i 9WX4B.Z 4.zNL<:f|]YEjB;c&C[tp{X>.Z \Gx nyubh+3P;2řug1cQ .EgB; m2UW EQƲ]5JU)"?D-k:`QhhͭZjh(ԅ×Ua#xTk˦'| h+#3AϻΈ[ ݛY`(v789fţ~f_SC̾ >eqr͵Gzԡs䵙<jUU@e|^:/6/W@:e#/хq` @em4jtBCFCp]^k[7etBֆCEf0{80 7W1Vy}lrU+~Z.z-qkR3:!p{1ֆU }2=A6Qk14`2q` s&W"Vy}qNzǙ|u^PjNzEj ^(h+RT#Yǩ=J?[Y mhn.wU[[_L>i-Bjl,^p腱" ٵGcpi9f:f lsS{L3V-*ga\z.zOY=c R%j qkc8qUy+c,skj gk0ϋ>(Vy}q\'y C\z$g*DuW9ӎꫴu\yz!Wk5:!p{2ֆUkھ^U1FD-Amhn֏rͬ0n 3qr- E >l'^pVޯt kU=ZPVy}qP/BZ6sb|O{rZ~_\yz=Q\qg*@;Zߐ23_b9MJ%jǗ٩  ǖ67WƚdSR/}RΈ[ ݛY`(v78lscζcqS{L Yǫga\z.zOY=c8$ԫºh0:qM|ǝVǮ8b9y\Uc>CY|]YEj /B;U&85ǩWkU=MlsWh#<_=Q kCqu{>C_%S=A"Z?fB vpiɛ0ǩwk|Wd }^?p jvqm` w5W Tel\ 5W sXhkm(Zh ]qPpSί@fZ _, "W<` C 5*Z M}jŔ'c3Yz+y*/29qYnjk3VţXڸx@- Bq=q:=Q ֫A\6kRTwϞ〚٩ش` AMxj>`q56^'*Z#h^'h+UxB{ZVگʫйNZh^U ?[N\(q}hnZUVml14LˆQ,*35U cDZ!md! f,3bB-~(gߎ|D_W2/l[2gfny|:/b*<^'DeqP_;x@ժKC2͋lUѮ!q46ƈ\5RTwux>Ej2Y@Ey&^L5@epW 8Xg@+m γ=l[@>i\@*gfUْ=QzZ q]qP5<6n-6dģg/1$ԫɔVA\aҡma8۞۝ %6Ɗ<@e kRTwVgX:ٺشٔądjUmZau>p(#lqma%jF^Lj^j[j=IK\mkUi^_melZ1:q*ko4cY:g5cƆuͬ:( (cl[9ggUl:xΰٵf% F 8_ h-V+֫Aҿ!Wh:JtB@vqmhn.wU[m- эqbTw%xVA\6uǩB;ʫ3|эaC6-f$ 5*!j[h98C.z0Wժ@eRTwk3|эaC8[xUj f8|A[zHqZ4W~Z h^&@em0Wh 2~~9:!p{qmhn.wU[m5IJfaDRO,ttBֆ}hY`( ٍb7,ظ[h8 ǩwaxW}@ ͜m Q:#@psy̿@0wpض806k L7<}j2Y@Ey@gMJF>V,@i# ̿e[ e[hT6k.z5WUOgCJԡsk3|*fZhʼnFabGjU5Wm]8C.z0W%V,_kRTwVgXU ьĉ4jU ڵZ f@~2xIZdZq`@@emO\m+]jz!WiÓ `7Z?ֆU_ا$xQEDD-Amhn֏ٵpi/g^-@߳RycA0Wd }^?p ::bo{c.7,F壨ϴ:cϹyχQHDnelO+@2e*w`Hefx85"@l+0B穯W\z.z0;Z̖y}`cH 5*A%jb{h`2 p-nL:Qmy鋓;ȃ1㋠c(wǎT7YpnV7 pr7@S6.3l\ bp3f7Vq Y6gݜnqG1gm3W\z.dJkz՝FLs#l\< mp,ڮ=\m3W\z.dJVga(x[h8q5ǘs_sh+Ǘ *ϞcXmog@RU31m [8q4.zy ֫AF=qPMf|l41F0IWfV/} q4xACExW`$cZVگ1B1=QG8q @7Zq.m);2~-~FU>FGp]^kܟi\[h`R6̫$.z+h+ǩB;ʫ3|ٕasog/1" RVA\gBAgf٪=IK\mV,_ԡs6eXl2oyVAXl@`VޯVAmWVA\m֫A*hĩk@h 2~(\Gx>x|` 5*0V+V-~B kCqu{in|IJfaDBcX/腱" ٵݘf,pr-Leb I`:"uǫMqW[ NwU]/g_\yz?[N=Pmhn.wU[M5rOHpcFtBֆ}h- Y`(n 3qj- Ŝz~:`௴~{8#6E8%6P8 )Q2<Ț2- Y8 \B- .zuǩB; O::ƵZ _, "W<jU V,@lA@ J"/W+Ȁ0e[az Q-~:cٱ̠2YǬwǘD1y696<x7f<`6'f<ΙFlpT͎ Ys680f,ɛ;:t;1:gU\Gm m6VwU- `:ahC&džcqlf{*ض~;ҋm^6k.zq\z.zn y@VA >A g?0ob&^֫A\mmH*gw6RwgЮZ 5~ 2qC\mMqAYV8Wm=l[?W m8!6Pԡs8ǍUH=_, "<piyWf@Y덻sԝykU#W@eml<3OW@fZ l:h+~~=Pوݍn<֏ᵡuUgk؎IJfaDTJnk(SOΈ[ ݛY`(!4Y(imF*͂pG ^j9 y ֫@=MqJ'{$.zOY=cDjUh 2~ ǚ#R> h Gz` tG@fZ.m);lZض +696zh 2q8y< *+U*sԝ +R>6V!sU$.zl[Ex:$V/W+ʿ#W*m6=PnZUVMS'aDK ׭Y5&tBֆC@ Yb3lOf<>/gbCP83}FW֫@35|ĩRw\gZ [pIW@e@ZZ 0; +oWh r8#l^Ug%Nz>`Tw3x|sb}jU*V/W3igǚ#୭^Z=Q `4_c^ Z.m);؟V'5Y f<>3: Z/W35>N 'ٝ5HFy_.z>c[ㆫ: buxpVϫMqW}cLV֯h U*sԝڦϘ!swWh+Rmh+z=IG\gUj>`TwgbA&^U!Wh  kCqu{qm^I$(dԛ eDa55D-Amhnͬ0Zb<[hk85ǩB; p+h 2W+Έ\(FᵡuUm4LCLƑAFY<U0ϝ\>F;%bw٪VGg΃E՟w#;ƌh+#3AϻXLh+#3AϻXVGg΃E՟w#;YVGg΃E՟w#;3U0ϝ\>F;%bwV?>tpz.rV?>tpz.tV?>tpz.[5Z u躳c_ۊ@(6ϊTg䣐($1 6h8 - w>L` F(& `% \1. A\*R? F#eGv&`ma 0pPm pztr mg{fՂOx - ΀Tb.Bb Ny`y:c\*1@!1'z$π΀Tb.Bb p~ FʎJ\*R? F#eGv8,9 7*یA*`Gr.w#uOAMTILN5Z u躳cUxjES0fAYa:=V}wJ3U0ϝ\>F;%bw6jfugN5Z u躳cV'x$fAYa:=V}wJh+#3AϻXdY|:]Y1+3U0ϝ\>F;%bw35Z u躳cV'xhV?>tpz.O1we8h @tSzm[- &(Cd  @tat!tE;PC =w³?=s>³Ћ!Vw2$>OB,BuB2&@JPBxP2 hjN>G"+eW! (H.6V@y ,[m6 @Pt t ,@g{l8 Pt t 2 l+;d A.Yl@u{S!XP|+;< @tSP[-bm_y5Q#ؠ@'RT %uі4HVfh+JJ̮yTkDeTD.1 Pft#o:d) W"}宻M 䒒3+c9 ⊣Z%e1Ljȅ3Z!t}%.y蒥T+xA؄9,WU/gMTTcx4Fg<r,0t`,F"EIn%t(~":뮾]v$+L9i+8L\W$-re]U%gM=%rO2S3 t9 !tX* <c݁rG-+H^,*XKzTZX뮺4κ!ZdIY4g2'8h+k*+8i+vE$B9kZrBc݁rG,+HXVcBhRG~EJ)iw{ ^ƳjWZFjWZFjWZFjW:~gJ㒙9w*_:Κ|5"M)%e-k#Ij:װqAma-̾J-6 %IjUab~i-K*yid X0 "0  kcH#X,Z9'aDK ׭Y5&O2S3 "ycvDjM0xQX ')Q)TKOO2S3 "SuYErO2S3 "DFFÒxQZ&Z66EJ6*TΔ 4aFSWdc85jKE>㦘F0RTȡZO(j}%ITZ*"I_˪7**!Q'y89g#'HbxFdTT#(i#9ҡy iabR@dTT5>X cyb.PqL/\Pz<#j)T$/!y TqLBRB"tE IPC I(9gCRD}?&Q'y;SxzZC I GCN\ȡ$ }? GCN<j'+#'}*r"TObE)RDª!J RORB"xXRBZ T38[*!J T[q!tCRh&. aD$D#µe1jZ)*jaMPWS,FҍM)(!J 钙)B0'OPXOĊ#'}*r"Ī}?CQabOw9gCQarOGCNbr$Zy;RDPZy;}:$"GCN:$"Ԋ#'}!rtI=5&ҍY5&ЌKR, MI%y G@Q%y4_y"dРD^ ZAj_" KKᨴDt<',5:Nt$5GCN:$"GCNX$5>j'O#'|9gCQrU Q> EɔGCN"D_Iy],Lt%R$B"x:a.BRN:b8IP| GQS,T)Bjt"(!bdx,Q'y:Bxbw,,N'VZ:NwH:$#Yby;y"Tx\,j˔RX8Yb"uћ !ZDKϖJ=Cf‰/MT} 婠y TdJB1i4} RNduG 'ХH*DYheDRN B#'}:$8ª&\h,t#ZUIW.XK*DJOJ TVQ%HduG rYjY 'о)R'Zek*EiZAdHQ<`E)yMFo,%^B"z%RB"uV-P} jd)R'`OJ<.6/ T_<%_-y TqCf‰/!J9KD%R$L*DY2RJ=-YVB) T M0`-QJWL4tFM$(B*GHJ&\R$B"uQ5P} X!J"bRO*i4} D²)R'OMS.Z<ĉ:i] RUȡ( SA6ˡbR<5f^Ũ^Bjx|2O*JaLZ/4tGTBPH*DKQ Y4J2%3EMQqL)B+-Cze]LJ64_y2%3E2B/ 钙)BGiuLtS.ZL!J:S!abtI*y;}:$&PHX:Nw˓}+ aDDSTB1}!jKFLB _-OL5GQ0 `OL#iFЦ D`OLt hHLGLz!L5>Dt< I8j}$ #',}xzH+PJy;,5>w,,N'GCNX$5>*y;RMHGM5qRbAS2Ц-BSTuS9Y5ChS@0'Jf☩:)4R&CxF*jblXS@*D0'dl*:)4S<񬍄TTKgҘS@4`Oő,k4MQqL)BXZ񬍄@z*jaM`N3H44K!:4!0'Y(lS h0 ^noO*JaLZ!|<.DtwӢ,5>V:NtDYgGCN\gϨZI OH:Nw˓xLDt< I8j}2ew,,N'Ŋ#',}xzLZj'$5>Dt<ӖxMIL#ebhRFk!LZ/`J*D)R'aFLCu-BZ TL+Q'y:Bx,yDt<DY(j|w}:"ρu2XE0Hp:ba P*D񬍅RՐ} TRNbU+<,Lk>ab5>XZjRzfb,.P= O@j'5>X+P?ה-JZk}?CS-.OpjU Q>CS婔-JZ Q>CS奪-Oj|BO8j| Q%H-DT˟P= O$P= O%P= O&P = O(ZˋT-D"ˋ8j| _..Oj|Vj'z R5?Op -D*= OBO5?bOj~ Q>}? PE O+Q'y;IjKAe)Dk-k%i '?KNIP Di-Bjl,^pBO~(.(%KJ 0BOɩ6].%iL,? Nju3/] OUXHuPDtEȰ3R/}R Q?sҲQ!.,Q-8]$QB2.M)TFBJ%X"}I; $X腁c% (FEjMћ y\%Q-8]$QB2}#%xQED䝅M!}!oMI3ya}!wȼ5!}$ % (FO,Y') eei#aRT6a)u' /VBatfWEY Ry#_JLņf0ʺ@_J+:%8[ Q-8]$QB2}+%xQX Y5&|EY jMћ ~GD' a|"C5UNc % (FO.NˆZjM)D^p],%#/8]T!-{薩.O}qERmL(Q-8]$QB2,IJNˆMIQFST!Iig_5&FjMtk&tfZ+|ԛHnBjMKTsOL%% (FE$cH#X,Z! Q>i"rO%vELˆbI)d#"A$S%30*dB2.xGQ iaF,KhY*') cy"E!wNY(jJy;O"ZE IR(Z}}*"(ZE IEj}?CRdTObE)RDª!L RORB"xXS$BZ T38[*!L T[zM|<2p_9|<=52k/s/4=&FǤp/=&FIo>}7*=&WVzM|>/_?p_53=&Ώ %5o9|@_ }Ckp/=& zM|D9|Dp!hzM|F'k83pp_Sk1Ǹ_/tIo{k'G 9zM|LQ/zM|xPS9|{Aϸ__xx4=&x4 Iy5|?x|ak3m>^zM|N9Cku>^zM|N_[q`zM| wǤ==&9| 4=&Kop@ ?1 IzM}=&(4=&(gǎ_9|BpA_( {DzM| Iwt/IE^D.s/COpDu ICp2=&53k8 II}k 9|R = _!_opH(ଟ{oՓb{(%''O;{(e_e}C߂}7&OA >PBlee e' r}gB}i>Pe)>P$Ae{(a}좯I'x{({(~DOI_e RO}u''~ I{( *'7}3JO@=È6ÈsÊC|83þp_6yoWdw {$/ {wF~dV v2G| 2K~#юK|2?|9:_ACoDv VB#B_#E|#oھ#۾A%/]÷åXzu60æ=LK_|'71-M|> 2kkS|@G%VU|@ o][/:k. 7O|@/w_Q|BG7(05|BKW/b /Ms a~c~ ߸_e1~l'|U|k| ! a|ˣ}@g|_"Xe q5%$#B\$*ĉ{A($5/*;Jsāo_@K|H ĀwĤ8O|Ju|J8۾%g% 3ģ9|J (aPUAn%zaPcA%xzPmoA{P$&#w[ey-0&&`3,0ݾ&xw_XE|L`QG|L peW_K|L ho+侎)W|z-/imQ-X+-=Q֢(ePOJ 3|WC}]x-_ f7 z>&/-^ 8wr\('j'«ux _oj4ܾ' W=| W8@4| 5/X@8w΂@bk%| !<@ o'EE|! M #UcBho G|!__'?|?|A|;|'ȯpq Nkox8&_'x85ozy5P`D C}2{ݾQ}<")S}G}Ӝ$U}UG8K}z;= 2|.1w<7 O(*R6UEx(e7 _2˯na|P 7Blc|N`r@XAe|@3P˓}ܾ'pvD!)ȯFzD#OL1{e@nD 1kOM=KA|RU|RQOG{W!Hg/AVA|R 2goAE|RR$RU_)S/-,L?|sA&O|)8G1>_ʱMeW1*[ G|#i/l0Il >HK|$wnHrI~H_=>'ھ|r8;||g_?>~A|!}"|w ԇ?;E٧_([4m/_k/esumEG<,QB_3U_LmE*_KmȿLmEaD˪[_ &]Rmȿ]!"OL[<"F)_2*I:e/a*k/^U?_MTTyk/mȿ(m?sO ?k/i_s!`{6k?RQS]젗o͚9e}6kHf?e6kH4{(*f?BP*=!f?BP*==~/e ٯ#-._D~lR0BDzo͚9 FCXPo͚9*᯽_G?]! ^ߛ5$s/a* 6ٯ#Zo͚9Ծoߛ5$sI:eߛ5$sy@o͚9XQ2e[~lyeaBͿ6kHҹ.kAߛ5$sSTQ>ߛ5$s (r{(a~%\sE[~l*^qg)bOmˆ"Kg*E?l\5$,Pj}"Il\5 "pԙB$mˆ"Jm(e2eQbdI?l\5 K?= ETI?l\5@%.l\5>Sg[m-e='eSW?l_=g#WheA'{/ڃ=g{/ړ=Ume@Am#mˆT?gm= mˆ*X?l= I S$ecl_l_?l_=k= E( S l_eQbe)b_l_/{/pom?=l_ 3e=?l\5( KSg>_m/l_l_l_l_ |{/πc=g?|W{/Íg8$epUmOmYmˆ `Im g#e? ?@= Bl_= Bg.eP2V= P( `-e: p@K!l_Bl_@Cm&D e=A{/ȁ_{/Ȁ=m ,e ?g<{/g<gIm0=`)m07m0e[m0ecm0Om1{/{/W{/w==Emem?l_ܿ=gCm{/ol__g!e=/l_$ Hgim@MmA{/7m@-e"el_O=!o{/C?l_k= =!{/L"{/@Im_l_W{/@gD{/@= gFCm=2l_# # #gFgml_l_{=0!egFgFl_5m_l_Emˆ%P{/sfwU絺~^x!љm|6yW XUD%ߗgљ`<_r'Zm {@.wmtfkODP6cY-2BW}{l)gљ`<x_=Unh {Uge bom@l]yndDlgKUhQ?l=B/c/u{? ?@Ov<Ȕ|dԛB+l[(kl Sm =AVkmZOgHuOm am ڪ=@#m$ն{? ?h[g9i[#g_# 6[oσob/?$;<]Y5&а.:UmweB:<_gH /cһl9_|u!D=Cl=2吢}[l?^}Ͷ{ĀGm*lqmFgOlİClG-?{=|@vc_?%_>8cy=S?!׬kw9VV ?G|4mlƪ}M<4:35@gܟ&߸9;6ߗgJ l:Րh=Ch=A״1c{ĠCKl:3:lg%Oi x_=Ui _AnaPsJFfݯdԛB6xQ, emw/m%%G l:Րh=Dd(m${Cl?>=@#)[gљ`<(o, rgʷ%|i|Je%_LGVFf%:Zl MI, >3;6yDVB0c$(l??6gMKl?him0 VI3 `=j< {|U{? ?{Lrkk?lwɽ{fL:35a>&ߟ[gKl?_m }vs37 -VB{ć^ٕ{e!DgH9[gH:m$?n{l?g=Οcmgo|O>l_[o hs`kaݶx!љFAg]m@%M{!Dgc_% -.Z{1c([gљ`_( v[o <Co% mo|' Bl[gd(g~_mP 8c(=Ŷ{@EmKc3}y rL6V {[oaq9xCgwd`]g}yƒiFа.”Wm~_mx( =l=B}{hQ?gϘ[g26tft/<Omgo|#_+__+{[_:35kk!`[l SmFgOl{Dv~Zlz9VAE FCXv~lגEsљ`:Fᦎ:-mjzql#hGMTHmC^כ5_+5Q#} {^^oyM閤tmMW|% 6kf_VٸhЃ[^l_*ϵ}- *!P@3f?϶(~_!~_K.6GO6FᦎS6k$ rWЗ{m{g I\la3Ijp׾ٯʿњKTwl'q:p4U 7a|$^l_HA骅ݯmp I\lvFᦍ 8f*BF{ W}m{m{-.6GOŶiZi-T]6k$ kM%TK 4eȭMu/JvٯʿRTkk I\lYmnhI:ey_!a$闾Tkdi<ˍ[a5(uKo3f*BF.m{^^O2dtl#pGL6k$ t,>P(k I\lܦ4E|5f*Bkk_.6GOa:F)|TC~U5Jo{m{di<ˍui(⧶ٯʿQBS^^ I\l;7 ?>J:f*B评mp?4e[a9'_L|%{^l_HA}2{m{l'q:qi.mכ5W:XQ2 {m{l'q:pM &]RLk͚? &]RLkkoA̸?6F˯6k$ >]|&{m{A.6GOmn}]k͚?ϫm{m{?y#vFᦎH|my_!9_'|&^^#?y#-i[D|&^l_HA, v׶׸2i~UW 6 >gQoLh#yM閮(׬eUsξH)JeҬtfnuQI?JZ]^jqzQW[l@l9@SBET_lTnmnh7p_v/ITǕ};ٟx0p-?p8p8$_JxI 7' %ȶj? }"ٍA =!mX GdOCU@5WQϲVgًPDNk t>0hЌkVYX*D 쎳l^H]Z 22?_x㦩(~o,J^KuQ4ivX$m,dm[V!Ҵk6Q;ϱc9r:Zhmn c-Ҵk6Тw՟bru'H5J kW(D>ŌwDNkh֯B͞n(:AWYgmCuQ4ivԩXB8>UzFI [,VB͞n(:AW+wK"9OW_ϸZKhDNF{%A vB@h- -ڷ1@S@2j\)B?p8! 2#ϴU:N좳m|!~g :a5ċ7Oa5SeXAS_5RMSŠ!5S(G,&k7Sf0Ka4!Nf5RwXRvX>a5YGYkVhWJFzœŨR+)lKx--ˑˇFr!U P򰹰򰥰H͇Uk Z͇ՅًP[X\-4&s`Y#=ѠUY!gw cP%asaUk BȕًP 4&sas#wFV_[?=f0F.lXE.sjZD.lmZ—6Kk=&)V+ ^W5-k X0 6fXz B{( 53Z asa`S4Wha5Yϼ&z ž:tX: Z GD+HZH +@_:vzF,5o ɜBkdW&pLƹ35,ǤnacJu̚UIDuF턵NŇzF+!EjF m @3ɪUj-dkgGf.Q;ꏲXMvɪMRA[xLzFnf:!EW+T6f4zF+!EjF mj:Y&MT!~> Vbuе1LıV}Y1Md5,VBX>&f.+Wk&3+WMR'}[<\k&5K=m燤naD;HJu!ĆT5#&'l*H d;H[m*ɞ5g u!cLgA[vFl@|HŔ# 葓)H d;HY V@o# b?ͬ kY5U< Md5aX+Wk&c\N}rf(oT}Y˪YkWY5ɘw՟p!'k13A vZGU՞jMl2k! 2ɭj3k&iYҶmBBB?b5N=Y!j5dl5Hg*͵ k!m3ma!g3Xe,ŀ[Z r: "FFD>+PzMrUW&,_YƲkٶ$, aT3^g@L ᑳksY֯C ŀYZ r6pWVyer6(F`zM}g "ZVD;HJu,U-36TM1*ٍ~zF+!E V*",jDgiZMT#3dk5^":k& {mYjGc3BdVb&DY X"0dК棯5>՛UcY0پ#&87GU+TV}MzV-j2_5[G 1/##]R̤ +WC#k!Vb xe#`- MYҶn !6 0ZpVbbz9]rj;ϴUk VCrmj]Øe,T֯C\"a#Y_\/D>+Y5j07"w՟ek VCrmk 1/#[ 0C^Ba#Hdpw nk2Mj0fSj5f+ a5՛W#fe좹`^]=&G#kfٙ*U[!!8xԄl粁Ƭ+̤zM}gMR'}Y=/!v)VC 212 eqml3=uJ밎5HgD$Y050#u0a5Yk=mH -\tB:!EW+J:evTF8Fs=#p"d+H[ifmdtx3emdB?2L#PE2#kdlɬ3(BT2fK2pٺõW_k#a5rj;ϲ͵3Lͬ$ BaT֯C\v 5Jl(F̖d*a5V}uɪD>k!6gY e^8]RRzmА(@HQ f);^ ?Z r6d'km<2Yk=mxzFkD+HQ{msүiʾi(VC"5o# VUVn mdB?2L#PE2#kdl&k#cq!~3%@klC&dBC_6p̡!|!|3 `F̫$NɪD>ӎ&f*^PK| fPe˪YUkVm 5#BXͶlcv Zٝr6fV}4 j5dlo\NfNݛmma fP.f(SZ r:<)٥r6hT}W#fK1Lիkrj;ϲ͵iY 63B']RNC^cxHY T%A [P)^5Y ^2Y a5՞,F̖h@9Z &z t "YVD;HJu&|tL쨎j7!Y(VBռ,6ͬhM} ͩ412`1 }dGM7H׸>fv>>c8>ב@>}&7/FM f'_d5#f(S_6pپ#rfHU+TV}Mz̘ |o$ o^FC.fL)^\Jq&k>:PGNa#3u|#2 :d@vG>ԀMdt7OZmdtvGGdu,5fXY#jвntGC:5:5Ʋ: G:EAY!5k&5Wɬ=WHtYY"nrk!m"w$W]fJP50Lι34N;Yzf5ɪD>+6B!,@He,*kL3k&W&"weə,ɀzMrU&mCa cxB\uK14Ca!cx@J{ f&*aL֯C\̙j0j2Hg,&md+2Yk4Dڣ_Ya5Y+Lk5Hgؾm}d' k!c^ ".fJCq|$,*dq5Ąի#bDu#ukm<ֹ3,wpnZzM}gMR'}Y,_ 1/p.fJ#uWmgxzFj D+HQ{mq~M*閙Qif=#p"o# VU"k&]f#?3(d8k5#5^":k#d5_JZ޲@3(ksYU#xH 26BĪWk#fUٓY3Q;mTV}Vm/l.f#kWmͲQ;ꏲ"w՟ek .fHVx}\NYYp.fH*k:ϰ߭pk1 ZMVfdurj;ϲ͵ !T$zMvɘY5ɬg1F̫g5ac4Eʕ y%rk!mV3^ho 1LgOH -uii^o(e_Jvg%GzF+!E V+gh,jF @2ͬ U ?Lk5^":k&G kÁbtG +„N]5_&5nC&@!5lw ԁ䁑B?  g5gjd՟T$ Ƥ <6j ڳÆ<:j YVxy|@G |>g(}&< +;ϛ,YC\! +jȕarlBh;(W撠@L=5pɬk&Vm!!a#0.dp#D>uɪD>G@^: 8Flf z@~PK|!d2`]j5Mdr;ꏲqD֯C Jd&G0˶G#k> ~zںm!!k!;@@G4N5Hg>:5.zH?(%UjX+H^ .f!zpghy^'}QQ\ Y6zMrU&G6*+WG,^#Y+m " LtB:!EW+m(|tL쨎&oiyX-Q*i YMƕ !Z&;5a 8dk4VBMUrjGDNYY!zHe,իk<:Y+ j1RVBX>@py_LfFТwmQhV}VҲ@:^_k#daT@z}Q5K4k'}YY\4D>>l5k= r8ŕk Bi WmКAYU 5 VBX>ÈH ɘ2VBݵGZ@g[4 =1r10lf kr 3Bu@ aHH粌+zBc_'}Yr 3uaf +WD !mBkd@cYU 5KG֪DHghz,nz@bT}"5"w՟ek p˪YJa5Jz @xzFjCQ{uqfM*TFzNFsc27!Y+V0[hd:YY3ZdW& }f֯C @"^g&=#t3"+m7o"8Q3Ѫ dYDiZQC3&jCY/e=:AVPW2 +@J?(f}W2 +@J?(f}jCY/e=:AVP8jCY/e=:AVPd^_@z"t4(SUz~-ҴgUz~-ҴgUz~-ҴgmUk%̴'H#J=?T@1`>‰ V}'>3 h, "@(hBF``( }P"3(ЅYP*"YPtp> d,-9AV}< G{a ]C֑O@3B"3Gp,MP"3(ЅQvt%3(ЅYPxrg D@3>9 #@v "Thm>+^Uidƪ5fZhG ϱUz~-ҴgZ^_@z"t4(?jCY/e=:AVP-Uk%̴'H#J=aUz~-Ҵgf^_@z"t4(5W2 +@J?(f}65fZhG ϰ٪ dYDiZQG ||@D~ol5VZ>o w^3DG Oh@j-B/Ϸy"?Ϸx_@E 'D~oD"y&F4)BLMQgkQ0Bz5D@h;Zdc‰ "0Uh@|#fI859F} :gp@ T|.#Wk *> rPx@tG$Ϸ1ġ.&WzVx!g<@~KDG ,@1ipgmJm!%d9f} Uk%̴'H#J=aUz~-Ҵg(jCY/e=:AVPګKhDNF{%?PiN,䩞z=M1 eٕGM"Kga=I%D͙Tpf4`-| K EE<_4JZlƒӺh-ZKWlZsiKc&m1zJKQ QWK1RNnqZaofZaofZaofZao#9*8f_4{kמ=U1^*c9ԇHc5Lf6yMAfWo5RQS0<'FLRz$dj?7P91;aWT L97`j@ $`l"_Ag0Zj9W6gLW-yWLʈ_4reDkgg03)WLʈƳHk5?ʾ:evTGD5?ʾ:evTGDLG f7_2;*#MD2˕|tL쨌q5cXfR<Ńt]$򯎙iiUh|fU)ٜDHbQC ?Hu2tucCIQt%Gt|fU)ٜDE'_2OѴU-31Ns,x" FO.u-z/Q3&4T2u<Լ-D+ZPƆ T$_2;*#eD29 TOA :&O1\×ys[='/'_2רċԕzj(b򯎙i&uÑØ1e3ºQ<F51 @u,aTO(Ɓ$cP%`'˞3 M`[5/bno5 _2;*#|QƔO2קc-K[='/1e5U;p9x`zz^]$ZO=GTq3QC*J֋N頴vQB&PU-31Nr3sƔO2קc-K[='/1e5U;p9x`zz^]$ZO=GTq3QC*J֋N頴vQB&PU-3:&7J'kӱ-*y8ylWK0Z==/.u-x'8騡V]ZwMӰ-77үi&uÙdeƔO2קc-K[='/1e5U;p9x`zz^]$ZO=GTq3QC*J֋N頴vQB&PU-31-LOQ<^/ylŔITX<Qg^קytk<=QME ⵢWLʈ:&'YL𰮔OLBADKD5((31a*cP1@ zJ2j+B A sf+NIqBF>򡱙Q撈zW-.JGgSS5^#3+cx8Τ^5t&[ 3*(EDU7TqD-qʣa=^Il8iح: |F+N7M_ٗHv8M U(˾%SLFX"p&HQKiT^:*i,*::2& S%}@Aw"dJs8ltTF'SL0 R[LfLP&D"xr隨L KTSGTU@`(bm1PBSL8|F T CX0D$TT8Q&J2U <*r8x*S%}Az$GU%NJP(.U%/R x*)>AwERXTGU%>y$U&}Jp(RhCQeIIԌFҙ,l$ɑ>2U¨2TIJf2dE&J3c0Z$ɑ K&J57dP%#]:F ӢDqRζ$p"I6S4FD*ױ$蒥N2U (. K#K∪>ҦP/"b\JPJB4 & iJzqċb\P1JSD1/E bE/ذ/M tIbu3U8@^IrhD**$p"(FׄQ;q S),2<`C0D$T1e32TI8[DCD*U$F%%PlHEXQ&JbE{ӨQ#%SH@c!M)ߙ|L$:#OLECSDILC˩:$TS8M8 K&J|b aD*XLB9e4HE*$T1^j"0D*tIcBH$p"J\^2UML&[8%IQ-/b4M)/6vHo<#%Q*)SD`2TI媙rh:$T0|Q#Ľd&_1PQ@IyQ SIbf#%Pp0"J:$T-"0Dd- $TJwE0$p"LIc $Q&JOTHD%Q-MTN!x %}<*(L$p"J:$TLlgR,HD8Ľdyv i賓*yWM,$:(S}WӾZ'(K%};蒾 ΢G$K&Jq"ĎIK $TJJiI/}dxdd% c @FC(a8W#GETS%}BT NceDʉ:eTF>\QLXD/Pʉ:eTg3bF*"ӨZgŠE30hfĞP&/E exXŠBi9)O ( BET>)qri|QP>`JP P/R <*|bJP* QP@(}C(Fs:GNaTUAe0@"'JӘQ51#H .SJWQLXD/Q"eذ| 89z( @^fQ%Sa&D*$TQ5Gt0lk`oQP@ztIZgˆb^™9sxQ@tPZgJe<(*(TS-3%2IEWBĕNńs\( NLBET>)qri|QP@`JP P/ L>>2i|QP@1S%}D L#K8+W#GET `S%}D QP%JJPDU@2(}C B4#R <*J\JP }+NceDDTDiR4&ذ9z'@^i:jbO ( BS4g3bO $Bi9)$L*)㒙@n$N(T(DU@L> K#K∪,*d.*J1R <*L(}C .DU@2P%..P/"TCP] 2 S(F]x2P&B2G;b4*a픕F(S"}d$[#*5bG$Q&JGF%X:?TF>+8MQUqp?8+"ን r8(U@aQ8*Q82Q8:Q8Jp(U@`^r8y$U@```% !R# *W#G_R0GETreKPBJp@"S)\`qU)ԮGT)\#!/R &71hp}Plƙ\CxH\vXlcsyUDđƸ턱4'bfHɔDVI ._!12GfeALtʨ|̨cU č2_-SEID _81%51c1A>JzNNfC*閙Q撈pxU쨕|QqIC*_%ԌT%5l%8%Ri1tMLA 8*{*#[='#91OMQ%%`vu$py*9_; /VI c39lFl'_LE$5l%8)syuČpAH\vXl`%^ʈ閙Qt-3lae_2;*#YilCc0;:D6RTqL@nOkf]!J"ԣ.HJ1R0GIIR(G*@JP x*%S%}BR*&S%}D L#K9s92u4:92TOJxT92dI_O (JB A(*)L"1QhM (}C.){%0P/2≤[QT:p*\y$U'0R1z$\II*W#GEQsW#GEQrU+L8i%UQQT\JQEQqF*<**W#G⨾+Qze+$+ҨU\x*G 2U¨2TIJfztItĽd#\CxEXQ@^5ӯ$i@:( G5-bG( D*a0Nm%3D`TI{NbJ1D*tIQDdET/0$UBJp(h2(}C .Q &`6+[='4Ď$Zb$py ݄SDcjZ[='191*8H$yLq1\UG5Cč?#p@pJ$iGQHyDq1\UGM"bFđƸ턱4>*|QG;a-SaBcerj}1&/W9W% YilCcc_LߍDmgoGa3~gogoDl 6;}cO ;}13!?)]@|z~]~Q@g ]P=v- ]ae oǮt~go?Z=v/'0{Moo ,~=v@~S|A@"?)!_G=v9CSP~S|#[7+tM2'??)"o~"?)" =&?)"~Msg7|=v a7e?oOt ot8?)#]#"{MQ?]JQs%뇮%/]$A7Č)?)$/뇮?_x7Ġ3co@'?)% ={?)%"aWmCo~oCSa Oo^j~S|LV~S|LDCAo!?(pW?)LGT09co]L7A9Mj0[oGɃt&/]'oM<>)?)'Pv^j~S|Nqt)?) Oo =7(=MMR~S|R?|R~!?()<~S|R{x_=vE'?)*2CSv=vt=v A)?)*7]Ot5?)NMst' R~S||@7{xA]P_=vBt(k7tt~S| ?]P@ z`C] !CS>)?) za{V~S|{M`0{I뇮)8B~Q|3@M7Ctt~S|XW]+(A9MX?7ŅǮ'?),Ptzc_t5?), R~S|X_|X{Meg7MdYt@/'GoE?) %=v4qsOt5?) 4 ?] t*s*o =Rt*|t5?)TAo* =R~S|8AIMP@ Oo~zO/?){YM7ţ|Z OoMzjt5?)-|Z{Mh?š o@!|Z|Z{Mp!|\?|\!?( ?) col?zm oag/tt~S| Mzzxo!|^ ]//]WZ/t5?)Vg`9]V?]V?=vXosa/!|!MpAIMp?|+?)"?)ztY7cM;_C?)C/t3?)~ `o{, z Oo~,}+?)X{<]_ OoL~S|4@L~S|ݬ<GC?)}&?)0{3t3?)0PWogC?)0"B~S| ~p&v_4&v &v!3go8&v ~z&v ~tbk_3W5Ew3o&v@LWL嫿 --&vh D|C\&vN&aJ5? JLPU p~o[ݠ2e[pU/o?ʷPo0o[~fUuiV*3*@oQVN*? ʷqgB̊qҭ'E*'OUʷpWgVNe'39VNi)VN~PUHUVNʷsЕo'e>URE[9[=E[8qVN<ī'iBU' ?VN>!%_%)#%M|Jآ8WĠ'&A_!obhpff _o_0e0 z;`~_r]=Eo>0ܿp_u/`y%ȸ0&2& UaO|S|,LW|;Y| qfG|NVf0'<' 5M8c8gl 'p`n;+pYȸI|PY/3[W_BИkN0ЏWЅwІ!-!_BБ3]IFp␷n _9HuCܒb[⢌O|T/b⡾ _UW/P[_ض9A_*QE|-N~:-s-5sL9a|܋wxA.!Q|E|I|_'ķb{Q|(  _(]_(U`Yo0/ v0_ 4wY|鯃0lc|03 &z & !6 SV#R{#R)kH) qCHcH#ɯ8H{9MY++2ʯ7_`[,_|Vy׃c+k_z/ Z+G|Vi/Ì9߾+/ý-X}+"ł=b|c|Xe, 7Ň _U,`j+wŀY|X;fg|%|([ȿ4 k?dɞ7k|[ {5n2 /H1hqj%iG|h&4hoAnO| i* {W@y]~*,T试,*3߾T7*=˯@PeoAPuTWD\"޾Ǜwޯvlu_x>wŤxY&-=i(-Y-4MrڰboGx5|ZWšhooC-1}h,H9|ZE/ rMpI|\-Ͼ. pof"."R.?V.p5| q\2 8C|7|z\?uo#3۾Fn_#5bg/Ho_zGqzȟ Htq177';oAR/^_q?Yc/q?01<2v.oO7?$*c?Iv.oO*'aRQ; IC N7'7q?eq?HoOe51oO|2$G41;j_I^ƙ$LYL_%_Ŕ?q?7' rSAI7'7q?蚪1#V%cm"[g+lzCjpm=߂;lI5?{]$˿3=׷퇟텿x .3~yE_g,Hlg6vЀYmi&kw|oo_%8‡={x .3q'Mym}[$pϿ?gtMUl}Ď1gW-}{=!?C)m­$t. p1$vsPCe/7_s# -ϱØgUl@[5glz#l=m}{?#m{?#nl@-)Ol&g7g6v@K SgLO^Nm8e텿* |Mg !8{7~<9-ϿB*U{?@Y{?@em\$p[gj2ٝ{?#l=[gR=f<{ SgL ܲK{9'_텿NKƶHlR?g&F ϿB*U{? I{>xlz#̭K8?= O{l^= MmO/Dg@P&H'g,g6vǾKlI5?{]$˿MMEd6qp,g[{lA6]CͿNIL?@>>V'#l@Oglom\$p )= m[8?=縶=qmH{N V<{8(­$t.+oo_xoy?M=_w}ͿOB[gUl}Ď1g8?Ymp?[gC[g`P>gmO7g6v6VjlIǛ3{O{ao?{m4˿ool-ϿB*U{?[( mPqmĎ%v=[lG58?6( ‹l,g6vxU=eq~E|8xTp  2d=Cep4lda[gk0[g~cm ~;g@ݶ{?C-U4g6v[gZI&],%)[{928Gaoo*<i  vf?n&Fy;[gl9s#@<\$Um`lcm`% mK8?6GYm"@em`gS;l `xU=eooW;$텿 W<i `3~=ڟ!ggZI&]"ͿSEf@g-4 ?!?C g_[gZIΣe%G?P /m^J)9?s:ɉ?"ٺn_eqTa ilUF]g⨾(Mmӊ锣iRXTlU%.R8*ilU TqTJ4mӊMm i6iQrilU{N*qU gԮL=l?{O??lU@^aw{O=(i8Jl+i`{Oۇ=g{Oۗ="?lgiIw{OB/l{OBlU&/R0L]mEmR ?RlU'H8NH?){N*)'Om1i=W{Oblg⨺#liQre#+qT\\?{N*Ԍ +lUB`\amX g⨽+gV8iQzU#?+g⨽:zolgVgV?G{O`WmX?mӊFi qT`\re800R0F]mX,lUC/gX?i1iT)=}-I;s* }տ?:v(Ce?X#Ym}A&PᕶyE_g 1g8?Ym`u{?Łv1'=,lUm:j+YNoЮ7MHf_55{@/k~/ MC'rs7ɉ?-q5|RSl%tI1}~rL!OWA7%?VJ龐j`8]9o&CyMvpC`roJtm0SU %:e| 6л@ ]72bf| [~rL!􌘲!߸ߺ%?a+EUO!ߜg"yoo ?Jt{l%tI%Lg/o[Ʉ?J^߸ߺ7!u9IOEoe*4DY-YHUioo!u9IOWMQ; _Dg-YHuF{~~%?+JW3/o[Ʉ?L<A!u9IO[l%t=C9o& /pC`rosMSw~rL!ic oo%?]o {fߜg$a0cD 6%? -3&,aw~~u|RSWMcL} [-YI*4~~JtVJ龒TN¥~rL!v.7@3|RSWM􌨝K9o&FTN¥߸ߺo!u9IOJ|ߜg2jqt7_;JߜgAqt JtVJ龒Yc/|nߜg$/^^jݿqt%?& ]7.iZo[Ʉ?uM֛~~Jtm)Y.{~rL!,wC=qt|RS}!ԋױZm0H{{߸ߺ?%?a+Jg7a"RͿ9o&Jg7a"RͿq@!u9IOvJ龒EPuҙ0HJS=q@ 7_;JSͿ9o&kO6/!u9IO6J -YJ?%=moߜg TV8:Ꙫa=\qH{c;j#[2L6MZuG*)b3y|ղ≤[M%Sl8iLga*#qʣ&o-?*syuČUIDuF턵NŇ->u$Su"el˧a2Hu7c(;aTSFʚZDHZ!jDH[M1 eR≤[Ls k"A1'MC*'g;.cC iv,}#y4oi#&m1zQHa=J)cڕzS|zS+㝄GCa7ke9X2a=QMHZ!jDHZ!jDDI5%t[I e^wMSP[0fRZwT-|tLI.lz'1>1y+R71m! fɉ YL02$f:cTcm$e|a=2e5IWLʈQ4LCf4U|tL쨌q5%_2;*#|Q|tL쨎jti&uÙde|tL쨌k4FS|fU)ٜi%_2;*#c#%^ʈ1\zNiJØ̧%3Ⱦ$`|iHZ!jDHZ!jD)jtMIi4m;WT8T:Ke^ʈ_4F87I.4b8y*w~'ĔbWUIDuF턵Nņ!jDHZ!jDH[M1 eٕGM"Kga=I%2ׂ9(y.;'NWNYGzeQsbwT&RvF+N:bv¨_%4:j_=5iTqD-Z&8iLga6UG; o lF$+Fb&bb&./usr/es/sbin/cluster/events/utils/clpr_preempt_abort%" 018:_aceilrst,-.234;=@AHdfnop "%(/567DLP`bghkmux| !#$9CKNRSTV\vy&')*+?JW]z~Qj{[h :h?~wmע $FObuRUe肯h EmQ{bOFxSQSOجVc'|k%?}MMǀw1t$>v:;Ύ B8[> s> K5Z Ğ$by3vpX>+>*V[`V0tpt߫ nQEY,W@V@vĈ$uOn(:*$?0½uOFKbt r UhfvD6uya6|aYUjd\Gnyyb³h+4TyL<f@080W͎`<_h z},kVTyk4}Iy@QZ?\z'n;>,XU;ۃj gȫ1ό+>*Vyq\'C\z$g*jǩbv㺪uǘ+%~~c' 1mia^b TtFdMZ@9fD ,2g6."@T@gٴA_i%xr3bi8:G@AlظAlqc~ͮ"(gFѲ=Mzԡsi^j3Y`C6/$ԫh 3*7+(c3͎f=d@gls:3c3iF5ppt_hjzjt.z5WV=mW CY=cfbGLJvp3hjU*V ZgUWU!sԞdѲ;Zy" RTyiXư٩ش  `RV٣L"pF VAm QZqlkUU]q:=IM\m+j"WiN3-G{mm'xQ %QFh;"l~֐B6 Th8Y8l؇EL=0<%0K?3+fų6ql6G@A`3!#Fy W V_3y$l[`60{mp.3q5B穯W\z.z0Uy34لyjUQZx^W@YQF՜mUlbJ}*qg\msaVA\6=J=Q憳Nz5Ŧؔ f[y:h+` `RkUڽf*شc0{@RZ6$.zzZ qW +ӞFUL[>` A$jUSh+оjq36h\'5qb+U$W ViY*fٌyYxUjP3@Mm `^%9VĠ?Zqbh 3~M\m-j?[N8?TpZAWE$S%30)':?;"l~֐B6 TAf8Y83b!}6gٌD_W.m G0#UPpuy 1{mps816Pk L8<Z W0!O}MJH@V3#>C'Ϗ#>G` (#ƪ>A5Wh#>W"W1 q߀3k5ȅ$31< ]qP4ÀSί%j3Y`CpIWkUCep#ran.?FC.O# .{39S8:föq[88elظ'șp.l\Y1gR7Vq n7q 5F.#Şg=]qй +Vw:ԎkbsXW%ӱDxjpI=]qй[Yʶ9 q}ǙWdTy}kUOga\z.z̮Nza`Žk^F&^" VA\g¡}%qUqR=IM\y kU$W(\GNzaac8$ԫSVAXm@@ư0[zD*h Dzh+1WV;mW#ϡB[$ixθy(V6dAҿ$WJmVvDQ#60wU[m5O$*dfD6䍇dMZ@9fD WXfL><@+gل,_W.nqy~A` Y9a r!}mk=Mzԡsi^!h$^f >a^BAMJ@ U;6_=+@366bMl[@i\ܜ_h P6덳4.z" h+ǩB<4笀ٝasog0/# R֫A\gǂC66ͫd.z̚@5Zy"ǩB<ŕs@lΰٹf jUUZas@ a56A[z@KZ^ EZq5W@QZvگ덣";&6ƪUԡsb9f8$ԫjZ ljJZ ?[GGdNp@9֐FmY') e`Z&hmiY\* ,ɜn;8030GA_i%xr~ ` ˆexU3dP3|0Vޯ+U72cg5WUV@6kqǘ!rToW &Ӟgx|V=q 0Bp$ԫ3ZqeY3Yp<^ *Z5Y3}ry[C\z.z̚Nx0IWZ{L z#טWF5ՊCN 0ʱ>Ռ)4r$@v!G\z$gupuU@g+0Wiã' `8 +UVMd$k-RGQ6? CkH!i-Z B6FmdAp !2ٰ̙+q`}G#}`ˆgl6 l&B< 3W?G¼?bٴ¼<c?401Èfk  l=Mzԡsi^cZya>È($ԫȀ3Zx^cmWreyz+^F?3 g<T1f3&g3cXd>ƐwC!͙f`͏T惆cbc3f c68-fcL!B<lGs#Uarz=QB~~?gh+ac;qMxsYW'Ŵ14r:0.|(l&^-V?W_}< *VTy|AyUBғ q &`ca"8V?gcژ# R>Z=I堒*zh+=QW\mBS#UkUg*>dV<ޮ3(\G5f8$ԫ:h 3W` VL#l zZ0Whǩ=I[zϘsb9@e{UP3?XSyV@Ve[#; £ P@ţx6*3ϙVH$j؟fv`DV̀|jw D  (3Ϙsn*؟V)Yâh+$gp8ϘV>amjZ=Ik=Qxuy(V*ڭVϘ!sԞd|_3(\G5f$ԫEj$WJm:;"pmia^kW; "Y5&FM_c6ͬ.Zd<_hk85ǩB<p7W@gUWk Ȝ*̇{iƸc\yh3fAY'c;8?V}{L VIw$1<Ƭh+$sa ϻɘflh+$sa ϻɘkVIw$1<͙VIw$1<3U1ϝ+>H=&byVO>vp~0 tVO>vp~0 vVO>vp~0 [5Z >y³o>*7ϋ@`gdà'$>2 6h4 - o> $b .Ryo> $b .Tyh ,L-`GF὇`X `.>LQ4$><sn@c7{Yi̠ $b .Rypg`Bd,BdO4#Iϝ`Bd,Bdʏ-`BV Q塢@*C!2<qYPf T#-'Q{#rjHbyVIw$+R??N%8Zas5Z >y³f'dY|H=&byYVIw$1<#5Z >y³f'bVO>vp~0 VIw$1<;5Z >y³f'(fAY'c;8?V}{L ٪VIw$=s`=l$ BEA6E{F`Bɑ>ƒ?zY#HH(<fp\G^=AϞBEA0xPy2$^nEx6=A<,dN, ;u!ʿxP0 ԇ!a'$ȅ1`N9 <&Dď$h,3 B`9Py@[4`.< r0t+3 B`9 Py@[4`.< qPyzI BtOI3H(<f=CE䎩4De,Xԕ]ueλM/ $4,cFQ,k),t# h£d./.,Hc[ H!-+%χFsD,9$y 'BȢډcYLS.r!vy$څ]4_Isa x$U< /u-#w#w2,}5QRtEK8YjYTfL7/FBNd1tʉe8aSXETԛWBZ(_AJa y{]uiBMÚh,eŒNsMRY(URXsTY$S%30MK6Zb#]|!p9yĉ-uR7+%믣L뮻M&JmAe&.,sjFҮÚ'aDL(SE*G"MK6Zb#]|"`1r0/H󥥉 K-u_M X???#gSTةaƦ%~XQg%~XQg%~XQg%~.92oY咯xyΝ骊γ*_1g_HSJd4YjKAe'Z92o%\uWDlKG/ 荃 hZ2@\u_Rʣ4Zf0XB2Bq985'IQ㓅VMIeUIJfaDL(SE*М) ]2YNT7tVՓRnU.iX6uK^cBKTsOJH*dfD6t' E3F2٤uzE*ЮjY5&RUPz-ChPTh} %9AU$Q?{ob{ob =Y7bmV){=XG++VQ,(o~G+Mx{eج${JQ?"(j$(iZK'Úh,cHK'Úh,éœi<ƒ#ڄkyTmD}&DtԵcEmB5Thda$(p¨4_EEš)rG,-HGS-^#"tx9G:"9Z"Y*ٗJ%ќKaQS.#&Q,k>DpuQIy;ũ|I OQ'y:GD"ZE0>-He1MU0 KKR'O"Z SKPzOezT5?OLq(9-QL Y!| ROP#eB"8jHO(jHDt<|%Pԑ2y;JԐBOO(jH^:NrG I PԐZ:NwN[pԕ Q> I_Q'y;S5%.P"}#4)J&Q T^B"x]T(B"i2•*ROW,a TERO5T/ [4‰*&Brx/d(BsROK #XKо-H*DNCxR!H2@'1 a, ,5&yDt<_N'Rd}?eUPԘB"l1rž"9:"D[ @1Xo %)':!m-̽t)LSTu h\ʺb7o hLLGL T`OLtM!:#-D5Q'y;S5PKT-D5(|K-D5:NwS,5TGCN\:$#GCNZ$5>:Nt$5$Q'y; ӢI7oɩ7f\E)`LjM.} R<.H#ɠB'On#d/ 5(Z\Z E#'|9oᨺw--N'ᨸZ:Nt$5:NrN'ᨽ Q>5Q'y;|ҨZxj/L:NwN[8j/-Q'y9kDᨼBOQyzy;Hp_y;DqE:ƩRET5T"M#'|:$K P>:NwSIGQ#8()B^-BD@UPH*DS%!%%ɐHtgE_Iv*ꡁ)&BHȽrde/B"< z&B"vm5GQ0J3_.N:d(L"˓5@Dt< S'Dpjy;Dp-!ijtI*D)R'KE3/] 'З&B"txjQ'y;&UQ2QtKR$Nttg^)R'^UТ} TRNlE.L*D#8KЋKHjQ>!J=-iVB-H琗&N BY8g )Lp3a/B7a,(B"ZjK!J=3ܰ} Tq0}$RO"/BsRO<ˍO|Z T͗βZ!/B"d)R'_BɗG<(B T薙hJOIRNhT.:igrR\i)ˢ8i!DHI㦕ќK zH9faDRNY8ERO,C B"y':\jd/<*DJO|Z T͖Q)&B"u%R!J:Ր} H B"yhUB)R<*DQ5P`B"R Tj-Lr&=-iVB)&B"yW,3YR&!J:7jjryM$J%^B')L&:㓈Q>3)R'GS$Py*y;%N[Xo %&K) jR&KE3/] b/!|; %Q7TK!.L)*jaM@ʺb7o h 钙!M&Czdh@= hZ xDt< KSIHj}wtI #'}SIHj}jy;H^OSPHy;-N[Hj}"Ew--N'!TGCNZ$5>2OBw^Xo %*%5 R\6f^^Brzdh:i4_.Cze]L74R&CzdhHS@*D0'Jf:dЦ g?!#'HZZOCS Q'y9kDAjOWGCN9o!!ijtIa(Zow}:"%<:Nr|? O}BOXj}2Ew^Đd#'HZZOCS(!ijtIa#'|ZȲjMaF/d#7@0hY b/!|=3ܰT)R!J;6e,)rRNĐajy;Dpk#'H:"S寨+ #)-_Ԋ)Cm`J)R'dl*RB"tR-Ije _yKTO R'0 PizOj| Q>j? O^Oj|"Oj|*Oj|2Oj|BO5>^\j'5>^^"DCS(ZyzS Q>(ZZP*$Hj'Op T-/Oj~}? T-DS(Z/P? OO8j~jy;-NPZ ,!2'ih4_L-3XQ?ZrHh[3YjUqrB"DtE+#^UQtFB"MI%3Za`uTzX"ĒEDP7E+ %+(F" iL$8Y yo"i"zo̾J+6 % PԾMy"ɩ77o }LˆX&D$O,tB[Rn0X_H$^pq吾/bi"4Lˆ*%I$(k @jMK EY Q-9]$QB4}!oI*U Q>ԔBOԖ Q>?RQjOpԙ Q>1j.QJT0S%B"DH#HP&B"xVʹcS%B-.B"x(}$_.O٧IP2˓5,|!D˞B"x](Vi2^jD)R'u˜ DH?9K I&.8jL-P^Q'y;;$(p¨4_EQS$̲hc9}ߘN_hmN_h'/߅B'/@`"r@ I߸vǸv~ n_lhv-f;r` ܾvc-v{KvOψܾ|S=~BzM|qۗϬ&='|ugςOp#='|{@!='|4c{ԟۗê}y=Uw:;rth I}ȏI!tv81=l\zO|Wtv"or{Bp 8AW1=*?v#p,='DɏIۗO|<ܘxI?/BzM|{=0Mg5`'qۗ{IƾS{c/ǞXzO|>o|> ۗܘ|9 =A7ܾH1=Cr{WtzO|gOI}BzO|?ۗOI =gg=:|@|@ =5&=' OIDߝܾ! IF;ro8;rrc{OI@-/A1=qRzO|BGGBzO|D, =!='JM2='JWgV{>zO|OI:;rk8=_:|F|F:{0ܘ_ܾ# }|HGܾ$&&='$ =BzO|H?v#rc{F^'ăp{_@wg23{ۗsn_@ }iLzO|JI%='%~v;rp,='%8UZɏIG!='%ܾ%ǤġǹI=(s =17OI:;r~BzM|NIŞFzO|O ~t;rm/ν&n_&XzO||~/Orc{!='(I/,)='(a0 =rW'ν8I?ۗ_ܾN =8qLzO|" ;|0{ܾ.n_ɏIp5/ܘ8 =OIp'%~!=') vHܘ' ܾ:M 5tY=uOI=tkzO|| ɏIn_Ao1=t;r: }ɏI÷/{D;r<;r<ܘ=',pI+|X }'Ŗ8D^Ǥʐ{1=>'ʂOp *4qۗʘ{*{pP&Pk5=|{XzO|ܾrc{OOb'/$DN_+'/~l"rX~+AD"a_1 \E|" lEg?hN__N_K1Љx@[D+~.(MFS?7b즯Քoe'~r즿Քoe,(C/B FR oe {) 0(COqAFR ?H-7_FR =aFR }\QOHk{)(C8RQOoe B9{) {Q{~{~\Qحobo"V){&'e 0z|nN+ e5xC| _$z ~!$ke+H$ ھ "۾ +÷a7|AG|@ak81_|M|@{iLS|B_ʯ` y]N7#]|B=_kMk"D _ N-&"M(0 pu_|WA1t1Ձf_op/܃|4J%W)m|*ϯJuK_G#3b^#C_wfXt`Q|F 2{0L# ĎD9M$?|HaĆ8E|Hho@z{$ tĀ.$ @Y}_@mo!.7G}s/|O|J&%C/`Uxg_QS|J`(/C "%+Pc|J w-1&3 =0$۾& ?|L 00S& 0q&~9?|Nb+rN✖$'SͲkz{pIQ|N oF*' pY~,'9U8k_L9_&";&&_&wG|,Lz3ɠ_&WL5˯鯓ض0cL ɁfɁ0s(((2̯'|Pu8_<_L,4_o4&s 0sl>#NbKA|ɯآ8Q|v8ax8g_8A|g8hpi/SMmI6Y){U|S`fk& _lAHk|Ru:Mu![#wI/: =t3ɯ_AA_H9Exv<,W]x$ŗ,<`xk++m xhYW7 G|(a/bE|y( %[PAķ?_t_uO}9}Гtoe t_uS}ӬW}eGYUYGA}Gt{7 0,(޾g}-0˯ r\[|TS*a%PI*WPS|Tj* pf3{YPq7OWooq3Rg3nI/׍o;#; 4R{cϾ+&ھ+wr!+Swc<#+rKX!+ {G|V 1%Xo+bf_=ob,O, f`/÷ŀ!,a_*G|SRlRG|gTgobkUʙ`oEv>_o&+ŗ,ϕΰ>9+= |I| M|w *apIϊv+ܾ}NE|G|U$~E|{#|1ķφx_?m  Hko%O?_([4sE _I/2O;:?##umGh_ hrmSmk &]R#Yjpk?K &]R#W0e-m.oMT._YjH-KE YX_#zjk?|OmG$}2mGwa*k?*^s<(m(mşw k?k_waH{)m_J"oe!ߛ%s=m7kJA>ߛ%s5{)~njR_W?!`ffCM7kJ, qsH,v?Dz[~\hrA~ߛ%s ja8m_W?!`ffAߛ%seUo{)7kJU 8a~n`{){~nZk-TR_W?:Rm_W?_{)~nee oXQ2e!ߛ%sYX~RAv?+Q2ꖽ7kJ7N=VoPȶݯ+{m_W?y~\Tm_W?P{m_W?I/bNߛ%saD˪[v? &]R{6ݯ+ ݯ+R+C~\'0g[~n9_'m_W?uSخ 7kJYa&ߛ%sH-Z7kJG/l_K=ֿg:g:g:g(g;g{/D!C{/Bl_eP= "ePl_e_p-L"eT(  _l\5@-PA{/Ȁ{/g{/$e_#gUm0=`=` eg_w= ?H%e Em@e e HgHggm@amOmel_+e-e0e?G{/am_gCm[={/_ ?p/e(={/BOl_%g1e)=e(gF+el_[=1{/aW{/` e+eqm?l_%mgF_{/a{/`el_Ïl_Um!{/Ă_l_ $,e$e'eim!{/Č?$ ?$l_=@Im em ${/ĀgH $7{.@îy^R=l!wku}#hw<héVMl<*-)]m;_lA=U-- [o;/Co@_<hàkkjo 'SmZZd( l9S=c4ux<hgo|fمmIO_vFhB 6V?t-Mնy~wmy<smylΉjo 'SmǢHQ?@&]{?1c4ux[g rale| v[o",huGg-gɩ7[gMl=B0c]l:3Jl[g@lA=U Yүn+ku?T{x"њ-_+_iX&KumyY Ov??gtKUxQ?l=B0c7y{? Amx OmG*OǿP1OĨ|:x"њ-|dԛ l_(6~=P]{ģ_%8=d(6cڞ=Q״=QU{ĠE[gJ l:3Jl[ghg r[_+_s7]῜'#huP6g-Zh/ɩ7l_(6~=P l?@W+c˿hkmZOm%;.Y 'Ym(6cym0{am09[gJ^v!6tf.&g f X`cώm&~D9cK^׬k9VAaO[VCLk䁝x"њ-vVۓdԛV~=` l?~cmZOgJw[gJ|=ҟix OmG*8Zpwv[o ~Co%o|$Zpdԛl Sm8[gJi]{l/MC[l:Րlkm)߶gmǙrQ?=kl?@۞=pWc4ux80Zlz9V,V aHgI6n_'~'g-|<ogO{hQ?l?cmbh=2}罣+l? }{?  mZlz9VcY퀦Gs :"G ttDkFq/-]5Q#}{AGMTHoE{m{%8Za#3N)D{m~)kf_un_%g~g|=}= C5C0\!;~nkoe'{~_)g{~_[.7GO+G trMWЬv+RG)} ͯmp!Y\n -]Jm=7k%!f*| !Y\na#:jt /כ_:jt /׶׸0yf 5Ѱ^U|^nJC/a*W}mpe.7GO m]Yj~W?iSlgq:r;l$pGKYכ_8_7ya#6N{c7k%!l$}2[^^C̸?omְe-Vmy_)Z‰TXed?k<ˍ-]3+V vݯ<`kkܟ!Y\n9G >}7k%!>}mpd?k<ˍ7mTkH#zj{m{olgq:pa#8Z(\my_)% ׶׸lgq:psm|D ݯm{m{d?k<ˍ;m}2~W?I/;^^ y8k.mY~W?L1f׶׸2tt[mQ237k%!l(uK{׶׸;yH^GVכ_{[^^].7GOJ 5y_)+#5e a#9#uw0kH:;i.7GO8k[D|#6ݯѭY^^d?k<ˍ8k#\כ_:i5{Pm{m{C̸?M8k8yBmy_)8yBm{m{ymG >oy_);}kkC|qEħV(8jzȦ]5\QG'CQBUKC &WBUU2έ_Cp Iheyu$N⊣j%e1LjqEQƲ]5JU"ҕLjyS.ꩢytEB]/geU jtQ,X^p:tEB].b4eі#FXb4eі#FYM&JmAe&.,sjFҮÚ')fU]}߅l/ ]HDei-Fk-Cjn.^r:+6 %G5#N)G2* 0LˆQ, *3EUxQZ&Z77$+fb&bb&W./usr/es/sbin/cluster/events/utils/clpr_preempt_abort_vgse_mult(' 018:_aceirst,-.234;=@AHdflnop %(/567DLP`bghkmux| !"$*9CKNRTV\vy#&')+?QWZ]jqz^[l @l;V6#̚=:C'ƵVB2[ :x< n g՟dc@7Z 2BO_㦩(~o,Z^KuQ4ivX'u#6,d[V!:=ִk6ɑ;ϱk9rJ:zhիm%nc=ִk6Тw՟br䕻'HuZ W)D>Ŭ+wDNVB͞v*:C׽YimCuQ4ivԩXF8>UzHO ֆ[,^=d"PT>t5{W^n$EeQsٟpW3!k@LA)=$pm#KHi `Zo$ 95?ͨVơk4+BAfx [hdgM+qb'wUh HgMfCuK0x W,k Ұ:ǚBfZ[aEa[u2HB…hW,^eXW"wdКOXaBͅy_څmume]a&fzMt4hW+̚mՅmyoPrCpn0O=\5P˒5 + + ZX`y [i`.0̚ {x |#ܐ{#p0BU$j6͇ ejm#6 چ 3&+ @7&a#ܐ{#p0BU$j6G #9 -#V6Gj=a[PE_j+ jUa[dz `{x~ú @ALHOeYVCX`XkVk{+;ϰTV}kǀL~< 50tVC)PE|?X}92e=Z &k0|eZ a^vڅz½eadzںVzM}W+VfGUXVX7 /쥩+ G+0+W+C.PYXW0̏]{W]A z ׵U浅mDN a[a$DL&+}5jk=½d2 z ׵uV VCXWw՟dКM}g_Y=bIh~߬C&b+W-w՟haXUеU\^&M U\GHpC-q{CyMU礎-vpdZڑ1R.>ɪ&fcKlɬ[`3Mb'}Y-_Y 31ve,GZ A\ge\l!cȘ<@UzkJZ Wk&e\'}QHW&vɪMR]%j5ɪfzں W&dz I!.G[HZu o۾$bf4Hɔ礎-pi-!Z bAѬ -"j"8y/ ksYի&f.VBLʹ5Hg̑:ިzm}d'! P aTxVB̫2D>?^<"8xxCAGP(1C.fz̖z p" G+AixE5{W[.gm148C HڷH#[5+ +W5Gj}<լdC_AVeaakZ՞hLoYҶmBDBA*k#k둵gzZkrj;ϴUk!:Em{6Faf-"zdlf-k6Z &ڳkGMr6pukSSBƬk6D+"LB0$he,JkP4XL(L(D>k3Yuj0<W&VmVE̡!cCdo zk"P1 N%=F0:zdlr&f'gZ &ڳ D7Bk&m޹358^1'vdКC &Y=mXzHrC%a8ֽy]n6J:evTF:呗礎-piy \.-c[5ihH>@!fPɄPjfFtM}-k#fP8Q L"5hə,Ġ^kfy$6o=" ZwWMR'}Yx 1(VC((Uj?Xo(C uK1 (^\JlY  B\M[IP嬍m+f#k! CK@8Mdpֹ5D>õIZ rY_\N춳m}dG k"XHY!(] z@@ZƲ8q\"we5f&a5ɖxq\NaY#\_ 21T&k"&eA28bBzaK1":kJ*a5՞k\]yMr89Y@+Z &W&mBC.fL#իkz @>=$tc%a8ֽy]n6'|tL쨌m4FS8C Hڷ;Q-ih. ɪmyL0MG AΚ ᯶0fFt@pj-dtsY N 5dJk$&!gjvbUuе:lͬrfHGɪD>k6C.f#WmͲ̑;ꏲ"w՟e5k \.fJЬ]\N[Y..fJkJϰɪ߭1 КͰѨ]G*"w՟e5k \.fK=j02Y!5k+Y[7M]{U^e\X- k>JǿY X7E0ʕ }%rk!mVC^ho 2LgOI!.uik^o)ɥ_Jvi%GzH -"G H-gh/jH h<Y8ZŬH>@!a2`PE23kdp8Z NMr8RV}BkuT&@ sXd+fÈdmag~پ$Z5NɪD>ӏ>f"gZ VaBC 2d^\Jp3FkH9J̔ Md5$%k!5 I56j5)k&!cH9(hBwBY Yڳ5g <൩ =j v<5g-YVxv՞BA   f@g I6*Nū=&G#k>*Ǿzڪ5fi\[7ǥ0@\o* $MrY05dufJٸ&A -VG +DN{\Nx BV`W_)j@٠HXb".f VC\ -HG/\])G,A-j0<kmdpC mdq r82{箽۬ fJٸ&P4 D dp$D>kTV}#O$Y(W5[C  De,3VC\ -k#G.T}#d;Z &2~[mk#arD#dVC\,PzHsv `<"ZFm#kցU%_2;*#c#zH -"GjH dpkGKAkmdqdG, NXdǰJzC1Wk&5Eq'}Y-_Y Kbo zM}g+=d-T2fPתYuj%l$'І:d̖d1Z 'vhƈgMlBV`j0YBC&e z5Жꏭ5ɪY֯C\Q;ϲq'}YnX@֯C 5g,E I!.p<"G׽+iW6gLW-=$pm#o$ %j<Y@ѩ XM} -@Y"[f Z YW"B}Qr 3D>k6.f֯C Zk" BG fkW1ɡ%^ꏷ'}Y-_Y He,WZ &l(m z Zd̡f z}YBBl)Lf!zN>"J٠X-Yе! efK1 @i[4 f P [ڑOeV_'}Yr 4uaصf ֯C\C.Y,Ȁʲ3(koYuЖꏭU\ ;ϻUj5ɪYj5Ȁ&D==r 3D>k6 TlUk)O--:DiT! z,tP4B"4gևP>惵gև!PAg -  t\s tx|!턧ЁnՂ| m#!P>h*Dhꏴb \ZDiT! ztFiT! zC-#@YBP>h;V}h* 3@v*0Z *4DT5W3!k@LA)Y3ʿAN:jasUzɾ=ִg dYD kZbK3/jCY7g=:CցR W3!k@LA)f}5}fz1hɈ?,ϰͪ dYD kZbK35W3!k@LA)f}V5}fz1hɈ?,ϰL^o@z"t515W3!k@LA)~l! DI) 6ͳPEePAH) ?wp*DDot- @zQwxJ}4xJ} @~bB/ Oq!?w$x2~`!r@R`0 U{濅S'R2T}l/qLd@`0 UFJ b>US6  (@ Pxk5 0 y0J} |l@ @PPx k=^,< @!8@~MDI) 1,@2ipimLm!%d;f} Uk&'HcZ=Y` dYD kZbK3:jCY7g=:CցRګMDNƵ{& ?pJH`)qK頺Yi._9r͙TqD-vԒTO/ٕG6cI`\^$^2TZISDi.;e|688i'$_9Pi0 "x+ƙ2ބ)s/@'Q%xI2骊[U1CmR/noQ4LذtM%S=QH騡Q*ůNkQC*K a8Hh6x҉:eS0Zf4T g*(cA.L^yH^=M'Lq$ԗAu&Ӱ.y5MAtéUIqSU-3!'$' 8jc+螀)IN}ˠ/y&?-^yH^=M'Lq$ԗAu&Ӱ.y5MAtéUIqSU쨍Ltʨ6cEQJ%:d$1J'/J`#8SF)_x)t? IDžYOR'78lâ˖:.lâ˖:.lâ˖:.lâgfTq̾ij <{*boMTTs?LjqT8f4j;4,`ySDMG󱖥4Hɔ~o5Civ3bv¯mR/no 8EL@H5=3Ⱦ$`|reDlΘ[='4򯎙iʾi(^ʈIafsW򯎙ihj|tL쨎j|tL쨎Loʾ:evTF:呗*閙Qj'\;L;ќ;-y)I_2;*#eD29 W*SI*8%x"4e e ƦO2JS*SI*8ᜋױNeSiyI/Nx,ZK7N$'^e%Gʾ3yJ"x#bvkŋ^e%G*TFzNF3xE'_2_^ʈ1\zNiI/Nx\m53P:ذykyzjys[='/RKZ#&SQMU==/S5OT%IزaM2e5=DP;;aS3TL^RX 6rYFfLaKŔ˖:.`vAu&Ӱ._K!=xމ<)^Jef0;^{*#[='#IqMQ<:S)9y|K9:F WDO0$4=$NŃyΦZLwSޘzm14De/OKc5L{Æ+ΦxfyTK*TFsLO t37^7fO# ex{ˤ|^%^ʈIafsTO t37^7fO# ^,^'_2תbl _2;*#|Q L33_4/ytkL=50bb^U-39W%<15ICW'4 | `]5/bno5 _2;*#|Qz'kӱ-*8ylYK0Z==/.u-x)8騡%Et\m;騡{syx_*閙Qj'\;L;̵RIYMDNŃLbb=Byh:c& 6tj LªK}%үi /ytkL=50bb_٣G}G|b _?PyqOA+=(@T ?o{ox~W"xzIꁟ8No?50c~7㝉~ԋױQ/"eTK먚oTKTP_zQ/eD*]_71,KTKeD*]ow_JtDj4#oHQ/_4̿DH:TK󱖥_e*41e3Q/ȾJDŔ?DMTTzTKo8墧_~~??'%!w8J*AทW_W? lt~_ ~_ ie~8+@PsW?+A_*lqT_*~e~A'_W??e~Bҿq _W?~/+~ + l(4qo( ?ť~AJ򅿉Ņ~BqBqJe~E_P>(iQ_Pq.BW??_P'+?~@!( p( Rq)+7~@m1_P_P~*+W_P_P~p |Ar͢._9Et\"2TtPٕGM"RIqDg11ZtN1CC)W6TM1*ٍF:7./10/qzW8:Ꙫq1['őu"el˧a2Hu7TqD-Z&Hʣ&l`2v#6UG; XeQHigLNU䦟1ZuFzj8̺CG)ĔERhRF_b`?Ij% JQbөF/aQxꊤQijCꊤR*L>%()>+T#O5Q N`%\ͧLF(*5QUzΦJ8ARXTGU%)>,U&}Jp(RhCQeKIQ:!c4K*2dOLDr$p"Ld#6LtIt2dC#Ir F aENhEt0QtԶv30}d#I(IQ&J5e91$SLB&C0*B1RwCP,U'Jr8}8cEQIԣ1)' h*)N_cN$:9e$;J"<*S1jc|Q8M&v,"N`P(ZgŠPfø‰*tPZgJe<(%E exP<( <*R >T^L>&P_T^Jp(X//R >T^`JP(/X/1R >T_ (}C /P_T^2S%}Ae*S%}A|(FTa(}CFT`L>%1P/akg!e4:9OJxT;*$NGĥ@iF Ԙ&X00RG* TCQQ*dJ^^_QL> K#Kx1}L>@_Q W#x1JJP ,UR >TbL>>Tb^JP P/QQ2P@A2P%//P/{TUOU dB4OPJP #KIQCxR9b2D$TGD@e&J2U-U)F#$F &JSE FK RQ3 IREXTJŃ v,"1D*$THy)hSLC)*8DP(e%Gζ$i'L x*NJP#KxL> K#Kx CPB4((}C }*e*Ed#KPΉn21SJW^w4C"OU $:!(`%E $(|NńHEhSLC˩"LECSDP'O $TIT# }dz)b"SL N7XI`J%D*S;#tIQU2P@^D kD7&SJXe^xSDbIbf#d%PpP"0N2U dHQ &JrؑLES52J'PFk䦐|Q M)ߙ|L$:#OLECSDILC˩:$TS8 8 &J|b aD*XLB;e4HE*$T1^j"1D*tIcBH$p"J^`2UML[8%IQ.b`Lo;Τ7XI|C1D*$TSUrL74HD`dLcd`2U/(FHK $TJ(I@`$T1e3TI8[DC(%JdTJ^`2U ĎIad%;U8&J$TKDD2b%PZ'$p"M tIꦪ'`od<ML[8%N`d&`3 $p"Jd`2U <|;bi/JUSK D猪I_N$C;#IHu#x‰2Ubx D*) xp8*~0*}*QUCP2է1jceD2!*qS;'0D( 2iUøJ:#)㦩*;$,(QL)3q' Bi9)$:tPZgJeŠPU dJ^^_ET>#K8TG')>ET>JP1*QSUP@L%XF)X6TMLsoiJj)"} $^U;G'0E( j$v,"ȓ%D*&-| 8"0N2ULTxQ BS4g3O (NLL'%E exP<(J(TQ53P:ذv  @IQ∪2P%//P/" TCP_ 1U>ҦP/"Jd)i|GP%}Jp(x, dA"TCPB4(S%}A|(FqUTW#GT KCQilzj%0SIj)"} )㦩*;$*)3Fs0$J*)㒙bO $QBi9)O $BET LTCPB4(¦JP P/%+ϩ>ET S%}BR*LL>@_T )>22Ji⃸&N Ҏذ9'@`R/lO ( Bi3cc*;$J*$[#(J鎡)O $QBE2j#*;$N(THFQ5Q_!1'xQBEc[0yfˆ*$[#(j:jbO #PQ!gTĞF)QBr <(}*:\CzbO (aE r <(FQ+-| 89( JNu"$K ( HwSfaLѯG'0Et0QTS1;1ԋ"I[%RFfD2TP 0Ni9č2TIK'Psd%}ukMDF(Bd$;30h͎.UDF(`2ULʴ(&D<(J)cB36M4Q D`C+fSD2TP>:#RQ'PiiCx) exزV+f<(E ex͇uMLP&/E (G*F0&0x4*d(F_x0L> P禍>B2T R <*NL>/DU@2(}CFUtdJ^^_ET CP_ U@Jp(x9(}C (/2IQe:[9Ĝ0QL74P@d%PJ#KbL`:$T(DU@dJP+(8 QUyp?8+b*rc# R <*0Jq& )\x*0NrcMP\x*00R1T*W#GET\2UMPr8(U@cQ8*Q82Q8:Q8ĽJp(U@b`r8y,U@bbb& aR# FJW#G_R0GTreMPBJp@bS)\bqU)ԮGT\#!0R &71h4p}SPlƙ\CxH\vXpesyMUDđƸ턱4'bf4HɔDɖI _!12GfeALtʨ|̨cU &č2_-SEKD$_8*vUQ4c*RRs+%*W&0QT+b8Jp(X/}Jp(X/Jr8xGM"䪪#*өJ2X/1R(GQxJp(U@r8 Q80Lr8 QT`^qU#+QGdr8(X1}Jp(X1JpX1Jr8y,UR2tCsS%TDbbIVDILDfS4F&(LDfk`F&(F%Qč2(Š|#L@`8lg[8@`$TG i)#P LDksQ$SLB&C0*}IbW#GT)CQz_31]9$py,;#GF$:$/SUr9aI"?*"=$?*"= WhpPǺ_1U_|FP~U|F{Ub_| Oʯ%ɡAYUaϺ_& ~ OʯL~U|J*pP M*t_PCoA' ʯCt5?*%ʯ`gWï|Lot5?*&,?*&ݾ&j~U~_O_We_ݿp Mt?*NW} _'~p}V~U|W7/?*.@?v|^IWc |^ݾOo:~U|4@Up~pP_t_'_tx~U|UKݾ0_?vc+?*XgW{`1Co+?*{Uut_@@?v:i:9AaUt|#{P~U|$AUy'ݾ>j~U|H~U|<@H~U| S&@<gWU~U|[!UCOʯV{Ə|b{W p)U[U3$D)3~LB @t&v x&v O OV&v5^go M}!oogo ;|KA3ˌ?go'go3ˁ3ˀ-D.L3߯ 5&vQL7d&vPg_?RU{^%h+{}JOpW^*__]E{?Яui^*#~hW{E{B/L(HW'jWC^P:W*_g{AA^PiJE{@Q(`W +LW2({AWW{E{@(iRR6WE{@!#+/p J~'+/{@&JWߊ^P~1+WϺxW_+_|m$#h/q%8 _lC|D.oM|ėI;%O톿|}|R(_oJ+䠗%rk%Jw#)(#Oķf(ž+0n8a!#3|FGWɉ1gk I|M|n'L{a&Ɂ1x!ėĈ-#b{FXWeWĄā _7{^۾%-_ĦooBE|J9oW;SK|Jr{Pbk >U|Lg/&8j& 0$ol&0:tZ{O_3W7{pnÍ؂~ pa7Fo܏dŸ9'NC|_' U|7ŗV-Nc Y|m:c|N诉h[s==Y9j/mM8*N:w_G|N 03|NFKKn_,/0( @uРЧ+q#(2^KqBfЇЂ$)&/Js[vW*=wA6Ho|Rh/Av )K_O|Te*⠻** 6W|TvB PMo诔C_((5(_QVa|@܋wI7o ( -,G|ooR>A.(ReCHeY&-+C8f/+Y_c⺴wd I|ViV:+qX.pv-ܾTA|A|.wʂG|;A#T;A#T 1KlG|7wʃM|wTdʃQ|Yܦ>U|X_/*޾,=ŕ_5ń Ł_m`%A|X诋`{,u`|X /[M=h0-tţ|e|ZQ|Zy-`'|ZjA./C|g|Zf<_-jip4eFxQ|/|[ik|oM5 h|A|b n! W[ڬG|4|<( M le) x6w6ZVY|e:+g;lo}K_+ o8XwVj]6_yo-Kj/@۾v xĘ_?o2{'.[/47e7v+. `p!M..9|\G/pv[7F[|_VI|^=˽A|&7+%;9%,'W/47MoS|]p?ʯ_ __ r qu0U/e;|``-05c|`I|`y_W|`=Le|`q_o儘 _,CX7,5G|7+K`e, `o_,q qu Q`r;X:5չu/t;۾]o [,G|2ɯxIt7M~U|U_e|ܮ>o_ì]|q}|$[|ccMI|bK|bM|b==Hwr@M| )__}w: %- 5 {@dx@̦@GL9|@0 E  I|BA߾! /Avc22gW_GC|  L/ C~+{w76'䄘[m$<ܾI^ Hb~ Oľk^7?8]:Fog梆 q*4Kԋױo_E7/io_" %'%̨KfqJ,K`ʉT%TN¥5PS_K檟o_d`o_sv/ME h_4̿q5Lu7/Z)WoqS0%A7/e3o_*bvKo_9h? S%oK&眷o9hP[-o<;?-Ǐ <;D;r?`ՍA@C-8X$*A-9oNE Ps[qH3(3Acnn 7<;o5S0{@s[C NoF眷'w1e3;r?\o5TPk-*c?B9oN{f9oN;or?\ʉT(e-W3/*A,Q; ?nyw5Lur?" }9oNe3r?*bv{@s[󱖥4A)Ps[cL߿۞r?vP@A*'aR( <; ?w<;LPw<;6RTpPnywYc/{r?e%GPnywuMP 7<;M2w]9oNH{}nywc( <;}9oN9 @q-As[@s-/眷'w9(<;- 7/OmΛ#m/'$qTU}MqqTUq?9o_N QIAB q3(7oq3%\o=7_FyD 7=A/?P _7vٺn"m?5?-f폯8 _qVs8X$i-79o۞E /7_ ?!/.()/No[f黿??iT@??_8NJ3=IRqTJ8 iRdQqT*e{N*GolU@J4{N*JQ8N_iT Qigg⨽I4{N*K=F*F(8HqUW&Qmw{O=Ol=P)_m7iglU%}H{Og{=m̿=miugia{N*&R1F_mOl /lU&)=OmqT2t?p}mm=m'mӊԌSliQzu#?vol_?tymG?tmA'{O?ymA{O80/R10Omg{O?+ii=ig?@l{O g@)ii!i&iT)aKm?!!==8Bb21i?8@b2=g{OlU g#L? /lUB2R1l{OAW{O@i+?%g]mP=䠣=g JOl?m???&gcm`i0i0 g)i0Lggm`=@=@gIO{OĕgHgHgHl=2il?p!i={O?pcmq?{Ol??' ?N9i8gmr'{O+mp.iilO=q{OG{O3m8Sm8=v?;=p#ill)m8??=Ol?? (.i!i$iqmA{O ( (_{OAm@!i4i??O=Ym@}m@qT@_i$vܞ {[ _DHlH 6fUl|L#̭ -x%m$t.fp7Џ  lA6]3_MUlzS,I_[g͎De{=!?Eiymi&kw|a7p{|oy?z}킿sBvHlJ>Ƚ?ayO<:bh#yGߏϺ&HU{>bG[gB@=ڟ"gB5xY=e-[|FAql@;퇟{x .m˿ILp<"[g$p{?Ђ[gS[l@. 4SgLL>m_& sEQsBt=Ce`oo;a$-ϵbd<6]y'lw8?UmϢXVB*e{?А?3g6 <,MOmI28/ sHl%{oog&F?[gcIq21t3>V[gR9=⓯-ĎlO}V=)/l=IgS[lO킫lI5?{]$˿e7)r]]^;_ x2 !m1zNbdc<L;yE_g?=k-kg-lO}[l|ĎgR>-) {*{*{]{?H{=!?E* gI poַ75$gLm5I2s7M$ |>_*7`<i  ooILt}m}Wꭳ* 2gvbGٝ{?'٥{?$lomH{aE{?@{clzCjpm?T~+lI5?{]$˿r@{= ? TCeooGzNbdcli0&F?>VWV!{=rؑgmϢcq$p{f={?#l(gͶ{?@m -xQ[mi&kw|]ʕm8@`'ay9x .vf?g&F? -ϿB*U{? E{>xlz#K8?={lH(Ͷ{?OlsmMmQ/Fg̀P&H([g-g6KlI5?{]$˿g7) {9|{ 1Om4˿ooӿs#-ϿB*U{? =k-k:g-lO}[l|Ďg}-g[gR^lq{=!?EP{ffjlI3tz]_mw}a7aϿB*U{>bG[gg@?R!\(4gHgS[l";lI5?{]$˿aWa|^m8F~g_/=Cex}7szNbdc~= k) ?mRqmĎ%klH38?6) =›l-g6H>xY=eu:m8xM_!Ax .3#Km}$/UmS{?@+= )>gW=ڟ"gض<,MOmI2j-iu_7m4˿Ll`im}aL}[lr U{?f?[gV{fVᕶ{>bG== - -K$ 4SgLI;@C|oy?< hugT[lA6]$e7?IL8>$pl@;{=!?Ex#OlI5?{]$˿䁞1`ՍAs[XS[gAm fjlD*9/URJ}Ъ 7SUW}qn`ńS}m͛)Y׷-aIMTJw~qt+?:ꙪIO[a3CB߸Huٺn$@MvI}]@s1N7V7 o< ANKA&?nv)):ozo[?c qt.?nv))[a3CyW-[Ho5S0w pC`r}:oJt@m8SU %:e| @ 72bf| vC1e3;~~7_;gmΛU?| #m8.7~@FC/pC`r 7IS9o'I*c?=7C@ 72{fY-[HUif߸ߺ?!u9IOmΛ2v.ߜo"TN¥2@ ?nv)) 7Ri}D 9o'JW3/7opC`rL~rN!@<6H%?;l&tIH:~rN!c ]7pC`r6 7FQC=w-q" {77_;umΛo<-qooJtL龒Ui~rN!cL} &@+|RSgMv.>-qu߸ߺw!u9IOf 72v.m82v.m7_;.gM@C˓!u9IOr 7e|s-[߸ߺ%? l&tI,ױ\=-qE.?nv))vL龑uMo[?uMoo!u9IO}%4#o[?epu7J@ݶ:o:z2ˈ~rN!R/^^qoo?%?a3Jg7a"Rݿ9o'Jg7a"Rݿq@!u9IOvL龒EPuҚm8HJSMq@ 7_;LSͿ9o'[O67!u9IO6LM9o'7Ґv?!u9IOmmΛ:m-[Cmq@*?cfIqLuLqtls8Τ^5t&[ ح: |ӱZuFzjTqD-Z&UQ4c3㍕GzeQHlI9:F WFʉ:eTuF턵NŇ->u$Su"el˧a2Hu7c8;aTSFʚZD$H\!rD$H]M1 /R≤[Ls-2ׂY(yO}3_;HW7oL*TOLKgv,\ƇB'QLX<2HG>4hGGM"ci#&m1z++cGCa7SR㝄GCa7 W; ꎆ'uNn84r:e%QzSH"B $.H"B $.K8jK頺iJa*]*閙P\Z;`=>2_J!&ٍ3i m5TlNUbf4Hɔi'm14i'c-K h)J:evTFʉ:eTr1$ZgeDcpi0I*閙Q撍$ZgeDtLoS|tL쨌u5#-$ZgeDciZ6$7N$I*閙Q1L6I*TFsNU쨍l&g=5i)EFq#H"B $.H"B $.K8jK頺iJa*]*TFʉ:eTr1F%Ze XJ߉%<=eD2:#\vZbH"B $.H"B $.K\wMIr͋lʣ&m%Ӱ-2ׂY(y/;'NWNYGzeQsbwT&RvF+N:bv¨_%4:j_=5iTqD-Z&8i,ga6UG;  lꌅ$+4b&bb&҃./usr/es/sbin/cluster/events/utils/clpr_reg_res(! 018:_aceilrst,-.234;=@AHdfnop "%(/567DLP`bghkmux| !#$9CKNRSTV\vy}&')*+?W]z~Qj[{h,8hA|]]h?肿@ ${)6ѓ؄0{)m0sqGTU}+z 2A/V u`! =%ao4^f?Z9ƲZ?{?}MMǁ^ j;kӣ2  4#gV|0Z 2D.zRL<<v|aYUjwB0Z 4\Gnyyb³h+4ɐ1K2* gU1cU +ݬ@Tyhh/U^"j%e1Lj Dț V p͛Z~h*Ԏn+G<0)MW_O8VIw$6@ HVٵ«<ŜmشCW3z=GVxnnGԡsd՚s,jUZ Yc+c `chƸ!9Ƞx F0G+G]\mxB?V?WiQ ½uUm6|9di Y\*2<?g?,kUga[?>ÊGZ=II85ǩWk Ȝ @*̇$+Hc U %}26@ HVٵ«YAeS_yJ*hǘW`V<ެA U/֫@V0Zqǘ!sԞdJ q`izԫQ֫A\z'n;q _rB0wU[Aƿ%\uYDlKGvD-!ZC H6hnͬ.hr &qt/ ELAl$^pVޯt U=ZTVyqP90BZ9u^|S{nZ~a\y=Q\ gJ@;Z3; >0Zqǘ!sԞdJ q`izԫժW9ێꫴW`ȕ͎Ȝ @*$+Hc U}hLJ,6 %;"l!CvmdApr &q3bb/q`xA4oW^6-N63y~| |Y:m r!})fqm\m!s׫=J=Qr VA +5fXih1MJ=Vgx +U7}6UH\'5ql(VAHԡseus?p1Zhm^0IWX֫AY 9H"F ֫Am MZqlkUU]q:=IM\m+j"WiN3m $+Hc U_ O$S%30&K) }~vD-!ZC H6ȂP LbB/73Sǣ L7w iٳ8۬{a_yR؇0WQ\a0W^.Z9|s`ٱm8۪LuB@<6Ƶ ]qP4ÐUί@V@Wk<DPIW5j{#i\R&fF6h+e[ưZW @3:l U袵Z q]qP45s?!lZl͉Na^IWVb@6q=q:=IM\mUkU$W +Ӟy d&bfps%IWUVBn9H em^N%V+߭V,V;mWUqdV<ɫj+8Y\mFGn:Mm~̂2 gul;~WY `#`Bfw"sHt͋gLl-Wgu !6*;V/Ȝt3b8;gUcM 4F3Q/Ȝt3b8;gUcM 4Ff v 1+@*3DGcΙl[:6Amdf @*3r%:;Lضt6bqwX k tc0V)Fw"SHt͋gLl-Wgu Y`#;$:fųqw\muV?l ggnRyyJ̚kU*ԡshkuYȇJqj1"AҼ \mLm6Vţ#RRTy@?>:ahWZq5WV=~Dx$Cq ½uUm8IJfaDCihh_(&i ZA7fD l 2g} 3Sǣ L7w ы8 DZ0#Upظ;<^'Y:cnͪ p_h7P6k.zuǩB<AW:Lh$~f >c_pex9Zx^4Vţ9rqe\m!s`^&ժW'(\G]fZ2VŽ: `R֫A\np q3B<ɫxZy"(\GNz-VBh+IWUVAY c ħ5ACUx֫A\mnZ _WF*8MZ~ӇGdN 8rA7!+UVM~"xQ6@ HV 6 TCf9y8b!}؄=L#˜+3ޯ 3?gA[8c` pGġ?bzY:c s}$qc\ms׫=J=Qr j3Y`?1/OxZx^GA_>ê( e[` |_hP6$.z5WVA\6ǩB Q Yܩn3b8ܭnn2l\gLظ@6.p3'g8p6g՜nfq qCg3W\z.djkZ՝Nw#:ظ? tڮ=\m3W\z.djVic8؜_h6qUǙ!s`_sh+ǘW +ӞeY 0b5/# RkU3XK8 &<^Ju@g+O\z.zYY=dʲa8$ԫSVAY 0`A 5xACUxժWb%cZvگGqB3:[$ixθy(V6dAҿ$WJmVvDQ# i a^kܟI= @866͐O2jljj ViY:M0/R$h+!7<$x#mAlUWcUxժ@gmθ2+sjljrZ _=J=Q)Ӟa^4MJ+U6ƪ+Ui_+|vvDQ$Cq ½uUm>K$S%30!OvD-!ZCfD l 2g}P=L{L`DZ0G0Wf:f ^g#•xn^!]j pkYHyh+c` vU3hŜyq\'ǩB<ɫ4/hA&^UiyjO2ԡsd՚s5MJ kUWqP1Mf2/l 5*0 ֫A\nVy }l\2"W VgiL?\V< &ӞLjUsVA8~~?gupu5эlubӂ2uc0LM܉ 6ǫ=]l\2;qUv8 pHVilI5Lț +Hai- 6fmdAp C!3ٰ̙)q`xX#0M?3qI\m ӆqM\m!sd+Sc~gx5Wgl[6<$3Lu>6\_h@L6gйk L9\h$~f > ` æPIW^Z Weyz+^Fs?3 g=\1f3&gXd?ƐC!͙f`͏T1uK1v͎c൛3clpb͎ Gz#fa\TxХ_ mgaXwS^iUmtM܎ $ˆrP<5GgVig (*l"B h G G+ȀbZ.m)<l2jض +;Êh 3q:< *+U+sԞZ kR>7V!seu$.zl[5x8%V?W+ڿ$WJm68@TrB0wU[M5O.98^dԛdi Y\*K13̙|v͉Lg>_hj|ƸϲjrZh|ʸϙO7=QMY<{` 5*Z U|w80{V$6rZqkRV<ޮ3(\GNzpA&^h 3{A\{L>`?amj0[xv:hg\g̫b}Xtg`>RVw!J`F*؟V)W[@ ِONA#Z:c?=Qq2bUJP@J8(VϫMqWcLV֯h +U+sԞZϘswWjh+Rmh+=II\g̕j>bTyVi^)MJVAE~D' !+UVӍjY'aDK&_(#;"l!k" VCg36V=MqP; mj+Áh³' ! ½uUm4\ELƱAFѮY<U1ϝ +>H>&bylh+$sa ϻɘcVj}f9gO36j}f9gO5h+$sa ϻɘfh+$sa ϻɘlVIw$18@8b̘xDdp Z〉Hn8-Lk+@mQ|q3GЇ|zh)<݀ hmX%@8b0 ? >8@8b3`Be"2@8Bd-7FCuG"R#!Ap8.: * [2An0w$uO$'횭dY|<aYA25#S:q)2 VIw$1<Ǭh+$sa ϻɘ`dY|<aYA3|VO>vp0 YVIw$1<j}f9gO0NVO>vp0 VIw$1y³f'fVO>vp0 3}e(f/ O7@pYz+3Z8!y,|)<gm$t '8,= T:hЇ)<3H)<f=! O7@p=s"t8z+! O7XCDt`J7W8 ;U!j`#$ȅg"J*poIdLHA}?p'ac'h:`,=x)<AX# O7OI0½?p'ac'h:`,=؀)<AX'a^R{Cn&} '8,Çpൖ}/?<;MTHnR쥇جIX"H_F\!aKiI),cB4aQƲɗMR9<ƌ*6BKyď<^尤oXD\yo:4HXhÚh,JK'вy$,*52G"gJXE>кhJSX_K R?qȎ#w2,}5QRtEK8YjYTfL3/FBPd1tc)-ƹciMIjet&+E믣-u] %6ZKiII95KAdiWUIaSOIdL„f]6C].|9i!uԅ^#h8`^K&,|׋aJޤV뮺4κ!bdIa4Ri2'9h,m*,9i,vEDQ-(Br0BsLTy L6Ct!ic宼[ L??#gSTةaƦ%~XQg%~XQg%~XQg%~.92oY咯xyΝ骊γ*_1g_HSJd4YjKAe'Z92o%\uYDlKG/ ( hZ2@\u_Rʣ4Zf. hB0985'IQ㓅VMIeUIJfaDL(SE*Р* ]2YNT7tVՓRnU.iX6uK^cBKTsOJH*dfD6t( 3F2٤uzE*вjY5&RUPz-ChPTh} %9AU$Pԑ"y;˓5$Jj'"ew9o!rJPԐDt<|@j' Dt<<+}?:Nwҧ-8jJ\#DFiKR$L*P*DHQ>*D)R':e*T%ɐH#CXPKH%k $_I˓ĶiT/LEMK&_2Q>琥H(JGL|Z T|.B"d)R'O8PbCRX%/XjLy;ҾO#-D&*1jE!9}CRb |Ds!tET5&/P2GD5&Bb^&KLRO,tB3L-QIpZ)zS!y 钙9!| u2o(!H 钙!M)(B)CtG EZxj-H:Nwҧ-8j-Jj'5Zxj-.Q'y;S5Zxj-Dt<-Xj-*tI-Hg_.Kd)R'^m2 'о\)R'nXQ>ɠB"sO|4!J:R.:iVFbהRCfOy T,DHm-̽t(B\ TZDtjD)R'6_:h DH} &]} B)R'Zem*Q>$!J:}Px)Jq.3Y^B"y'WFq,%RB"zjJeK!J:gO!JjD)R'6YD"ФH TGTpHZ\*DVB) T9WU 'ХHDB- RԈRNJ&OKd)R'&\kZ3R<KL Y 'ФL\ T\#fOHZ\*DyeW3}RZ4M+8!y G)R'x Ц|)R'OQq! @Tc O ? OBOXj}#'H9o&KLL(SB3}L6f^^BrvK) 7o $&B\=2S4TG4š/ u2o(!})r%3E2B/LLGLz!|"$5>ry;DĐ#'-}x~z Q>a#'|ZĐ(!ijtIry;DĐ#'-}zj}GCNDĐw:$wZĐD#'HZZOCSӢIj}"e Q>a#'|9oҰ&KLTJk55KD#7(m-̽t)LSTu h\ʺb7o hLLGL T`OLtM!:CS GCN:$$@:NrN' Q>a(jrCS_Q'y:BxJDt<対OSR*tmdtQ0JE/KE3/] b/!|=5GQ1 eT74_.CzdhiS@"d0'dl"9*%4RCxF©hS@3`OELDxi4S@YFI,TG4š%`OD9!.Lz*5XS@"3ZaMCu0 !8l hKEY5_}"˓2s.BH\3*eyWm b/LLq*G9̰T/<*D#8qFТJ ԈK'JfeJ B%ɓr)B*D)R<2sCe)`L*DԾWS,F+VDL*).B"zdhXi RL%N/u,%ќK $KB\:%tg‰*D/24f "UƵBP!J8:&ybaL*/)R'ZfXsJ B\:SKTGCNd))B3})r_.Jf{^XS@0'JfoTR0!}#~J^#})wS`Q'y8:"SE#'JtEK OyDt<~LOd#'|9o!TGCN:$$&Q'y:BxLZ:NrN'}?SGCN9o)dԛ:_!FoE/aFL^Brzfa}RB"vm8Y R%ɐH?!w--N'הGCN*tE#_Q'y:WӢ-GQS.ZS,#& ROU--Y 'ХH*D? OPZ!? OyS.O`*{l }?S K~.yBԥ? O>j'5>\BI O%P5>\Bԥ.-P5>\\jRˋ-D$ˠPT/yBOOj| Q>zE Q>zU Q>ze Q@yjOj|BO8j|@F$PŪ}?P(?S>jTI OBOZ^ -DSZ.P? O^j'~ Q>pwZ,"5/XBtOhb[3}?Rb'B3L\"aUJ)R'EB)R!J9|: po/1 pY8Ř8md q"aNO` _"WȖb L1 K8|<,ھC|$+X}fM|?VO|>oǸ=|>`'ݾ|W|>bo$!_$AIAC=-I*˯W|-Hi|@E|@W/× r %9%_c 6'!?$,!C_7*oGz+~}! 4 /!\7 O|E/0"Ak$8O|DPaE/"U2"lc~1c;W q+p_)i|KaES(W%_|a|lGH{Wg/ř29|F"#{_̱ ##h/>%#8a)#=|FC/WĈrH0o p+eāv I|Ho>]|HĀ>;W+ܾ_A>.7G}o/|O|J&%C/`Uxg_QS|Ja(oC #%+Pe|J -1&3 }&0%۾& ?|L 001O& 05|?|Lb'?ȱ9'{qNK|N_5=Y=8%p('_yM8-w_,5 poW|Noa%koh;LW_&C|i/+_&Ɏɂ[|1&[S|7A]|Q| _ uw_|PfW (:Wg|P &/.oNg|Pk/v}pj9ur9O>N#O^NϽpQ87_'!{k6(_`ݾe7ў+WYwI+e|:K.)?|S|[|RM)jo^_&)EIoXaOq j5ܾ) prE|bخ>U| >5a|{>> tw,ͫs p,=|k(6b X@_(dϏq%|3σ O HksjE_Q-y qE٧?Z(\9Nm)8yk?[DME mGMWmGXQ2T_u/#XQ2ҹ.omG(uK#jt ?֚U?M2FoZ(_GLT_k?a$k?`m{ W_5QRmGmGE%<6k,mß U__5mß3 HoQT{) ݯ+_W?/<`W?U؋{/w=/l\5>Am[mˆɔ"/pԙ{= IKT"}l\5%L_= IR(D[g!jOeS"MgZmˆ$l\5>Wl_7{/{.TIgᨹ@F[j/PIgg-J=l_g{/_?{..P[m4e _{.<#|[ml_g?ч{/g?_jl_l_l\5%J#D[m/l_ jJ-P=mpԙ*2Ol_;e`e`Em?pZ0='ec=l\5Peg=m?pympg[m=ol_?p\Z#.Mmg{/ύ?|>_>l_ |l_{/πeg5m==== P%P=?g:g;{/áW{/ë?p-@F-/etj#mp={.bԿj@Gw{/Mmˆ8 eexqmF{/?#g2e+eF_#G{//l_e}l__l_ HgHHl_$l_$$ gg@g@ =   ? {/Mmg_{/ge5mG{//l_ J#e(CmP=G{/F% JAe(?J#{=0e_mWm?# ?#gF=0gF?mim#K=0km ?$"eKm!O{/ą ?$4e{/ăl_w=@egHgHl_5m ?Ol_Imˆ%P?l_^nה"mHO;g-q6 SmǕpمTB_{? ǟ+}m4rgʷeeÁm},=M>Z3E1ZZ‰g֬!J-=hr)_m<'9i[Za|:>mi7@hw]x"њ-An֜:<?@wv?@;wmy-T DmI '=߫c6tf/lA=Up2Z팯mD_Q7 SvFhE|YjM`_gV~=D-=ҟ<hgo||ۊ{migg-xY?֜dVՐDwmy ?<(նyDP7c$( l?~=gњS`<hg44mzƿL|=`7Cl:9M?zƿo|m|`(k_QLk䁝x"њ-Vۓdԛv~=a2=d(1c2c{ %h+chkmFiOl`!g r]Nv[o1-.<h)ZlMI, pwmyV~=`&=`1cY 'mJj1Bh=Q3cwv5c~ѝ{? ǟ~lA=U1`Wwn=oliJgmf`IxX|+<6yDVB1c$(+l?v '{G5c;l?{l8 X?pm=|=v>|=ҟix OmG*|ir;[!lFhN|sjM`_yߩc-%O=hr&{jQ?5c3c̹d(l?G~l?Gٵ{ĠAm8,[gњS`Zlz9VAv~mh.KCo&  mo|VM Bl[gkd(g~am`~:c0=ն{ɀIMc4}xG mZlz9Vœ|7Ńx{aColE4[{_+_ƀbݶy ϲ= IKT"}l\5$-Pj}"Il\5 T"pԙB$mˆ"Jm&e4eQjtI?l\5(= E4I?l\5@#/l\5>Sg[m,e='eS7{/+eRGo;ml_{/0eCOl_'{/ګ=l_N{/?Nemˆ-/Omq{/e8=jLSg2U"l_/l_?== IP/e:?pŪmv"s.kuA,p9B<hϊvV: d'}okO%#>#{)g%2ttl$pG)} ͯ7k%9NVm{m{wgq:p)G tf*|! ݯ;eUnB{m{GY\na#:jt /!כ_5PCkka5eG tlw+כ_%] 2tt 5ѭ5~\^nJkMeW׶׸a5e]u/f{^nJqԾo{m{1ya#6N{c7k%6N{cmp.7GOa#5(uKo[^nJkXQ2+ _l;̸? 5<`kC啇+[^^wgq:p 5Uv+Pl;̸?6Hᮎ5Jqݯ;Tkka5e?m rDe~WGME #-mp_l;̸?:G >Y|#^nJ>Y|#^^wgq:p-]_ݯ;}2l;̸?],(uKoͯ7k%:XQ2 ^^a5e 5Ѱe-;^nJl(uK{!׶׸<ÿk<ˍl$p%[^nJ>-Uwgq:pHmy_(wMmp.7GOJ 5󯓾^nJrG<׶׸l;̸?Hᮍmy_(wѭY]mp2ttcmH-A~WGM2Fo} mp0ÿk<ˍ[a#3|!.כ_sξNkkY\nm 5W}kC»{^^?EħV(8jzȦ]5\QG(KYBeKC &WBeU2έ_C Iheyu$N⊣j%e1LjqEQƲ]5JU"ҕLjyS.ꩢytEB]/geU jtQ,X^p:tEB].b4eі#FXb4eі#FYM&JmAe&.,sjFҮÚ')^Uκ ^њPZ .Z2@\uZ5%\uYDlKFjF2/S!eU?QWZ]^jq[lXc{?@UT_ln*f4=O:=p+dOzXxz?OC@D<< t< kUz&f}5z"tXQᏍk@.^e`Xx,x)@׫>+6 4nzd3ʿiQMRQW"&>YƵʽ888i'SCcGmUYC'Huhիm"w՟br䕻'HuZ Wۺ'}YS9rJ:zhիmD>Ŭ+wDNVCYRV}Y˒V!3 k@.^=d"PV>t5zm '}YC/y]{88i'R,p}~`N Y+Z 6zEڠ| k^I,ʣa=]~>jCY7g=:CցSzH ."G .gh1 ?jHrj~<PōC h5YQB`+ mY5ňV},"w՟e5k se,/^\Hu&@ 3J h! 3Eh#5_ 5,l>x˒ˇ#uryɪ\XyX`yXXzmjM}H Cad0lV6 0l6 a䇣9l@zG#PPX`1jF0l?j=a`Ũ`2j8qj99=Gr7 s 0,PrFdzCdz6mjVG,sj8HBkBeaf2=uUx,,lXao`Ú2w]hY+ 04B*k #GBDN),"w՟j(l?Ř<+Wϔ5|!i `VC VCXY]fYXaB%_jk+ 5jV6G0 {)jJ !k 5˶,Vk+ 3#^hpBkBeaf2=uUyacaan=GCXXx{+;*> 35xMvڅzY mBeaf2=u]vUk0|ufhg4&k<_Yy"AXǒZ G+AixE[y!#1{oC:vzH /Z5o ZɜBkdW&pLʹ3(G105,'fZu'cz&:#\vZb\Eռ/Z~i U1{:ZəV2尐q^իТwdКU\"xE5{W[{Mq5i\Eռ/Zx HM}C |@Wk&e\k~e kY^V}Mb^֯BMUrfK1x VC\Ny4&4MUrjz I!.ƵooE m5TlNU8C ڷH#_5+ kW5Gj<լdC_AVeaikZ՞hLoYҶmBDBA+k#k둵gzZkrj;ϴUk!:Em{6Faf-&zdlf-j5?^[mYN즹8Ya5HVۤGHpj<"ZFm#kWLʈQ4LCf4U#0i."ZFjH#_5DZ՘0H>@!fPɄpjfFtM~ڳpլ5fP<0ə,ŪM3%"E  ` ֯Bk7<{Vn2k#VmagBACfCܐihwWMR'}Yx u1` o$,ĐuK2 ֯C %Y@FC_AЬŠXk&ᤍdlrFšͶps qX[Y5G Q;ϰf,֯C\G+MR'}Ym}d!*ȮVͷ Y3(C,]R̩Mj5"-Z5N즹ųVC Lp=MR'}Y[YdW+fۆ3(CE˪YȵErH L$i afT)^ʠ^ŀ_Z &ڳrlеT}#kpnBkdqmr8mU{R#HpaMdW8A SP(TBƬ $1+TTLJЄ7lZ"Ʋj &C_i#_56fF’!35@JklC&f(Y=g rٺpih2RF둳4NɪD>ӏNf*j25[C 31w AZ &f6Vͳ8H$X46i\"w՟aTu/5HgmfȍVEl)fgb!P˪YOWGGKA޹we5̠ٚZ &2Ϯ5Hg³m}dF+"B P˪YU֯CY&g a5'u#cWFerzMmg#fk2zM}gOI!.uixE5{W[xU-39W%8C %fxx F:>jփKAH>@!fpɄjfFtM}-dlr@31C&f dh@Fkfy$6o=φ ٝr6fU^5Hgq)׬Ѕ o$,LuK1AzMq*ͷ2Vb*5ml3BA"6i\"w՟az69MR'}Ym}dGZVElrͶ8ChaT)^ - dlo\;ꏲlf)zMre>MR'}Y[Y#+"9ff8CT˪YȵEls 3 !XksY5#f1D#fk4 _Z &ڳŵٚVC E<=$tC%a8ֽy]n80_2;*#cx蚟\E-#5o$ % 4k"_k&d4ЮTԅ5!cr &jfFtM~ 3t {n2@H  l" vB4 $092c٠ a0k2 -,Fkfx7K@>53Lerj;ϴSY^zAWP!a Ihe,5kVn"p4XMv;9G@j_ H5n'XBA N 5fYZ֬k 4YVnvGCƲ::bGAGHt@[=&mdW&*5!Jn!k!vz= -ۮMd2Y\NVmg XH9@b d+4D>õW_k&e\N춳m}dLҲ.dͬ$,sbJF]RLD^#K@ ƲaMraJ'}QS\̜ W&Y5Hg³m}dLҲ.e Cxe,֯CY2aa)2695#c5^35;:a5՞f>!]g4&mdəj5ɍ;&zMvy2$Y+mGHp*-#ƵqU-31Nw,=$pm#KH[p kѬK@:dBA 2L#PG23kdqkY^@21˜d̖ba@@Lf%_6ǰ̡ !|!H4(3k#prU^5Hgq)׬Ġ;Z VaB̡ D$xe,ĀzMq*ͳdmd5$ Ls_5o $l C#c6mH -Zr8jV}k1(z85HgmfȎEq{76(CPuK1!}j5Ȁ4?dp8D>kLk,5Hg³m}dG k"eb #.fLuEq|$L&(dq5Ą#bDu#ukm<ֹ4-wprUj0U\N[Yeb} 0 VC\VbP֯C $Y+m"[HZuU-31-MOzH ."GjHG4k#ᥠ%k&]fC? 38dhk5$5~#:k$de_JеdGGЁ32fp+WGG04gm=YU֯BF둳6fUə"vUo&)_b} ^]fK6k2D>kTV}m1ps (VBrj;ϱmfNB{ (WGM+>&~nBk,Ā֯Bj6FϮ_-whTV}m1p[ ,kLgɬMel4=uUyr6g[=`7 +d-`{*T'Bɬ]k+Y[7M]{W]&Lʹ3%<=$tC-q{mp&|fU)٤#0i."ZF V ūy ^.adpih6j ɀzMAΚ jpih3:k#5J'}YM PL?1ad[7!b Y=ACfCܐihFGW#;W&N<:j25[C  D&˪YJzMq* +2P kH9fJ#_5 $Bk@Xk 3@VmUg͋VzM}!G}U|׵UjͰҹ~n!Ja=䁔T&Ia2kɃ Ͷq$L=ZW#g5HgِDŽ' VC(>R oAD-]R,^8Z^'}QS\ Yja5ɖx1Z%r8vq geX]{W]YͶq$Md$ih%r8HV}&^k6aTtWmf j5gV#Pt W1ɡ%UZ Y5Uɪ-wo"4N[Y!˪YzM}fS Y,PəC[zj%8ٔ!S C%j(T}D@Z=n!jB@/C 6̖b)ȀҶh AuS'" 1C 1&"4N@i[4 = j@+^,] Y d-T2fP޳l W-wZw՟wYj5ɪYj5Ȁ&D==r 3D>k6 Tluk-Uk&'HcZ=Y` dYD kZbK33jCY7g=:CցRUk&'HcZ=Y` dYD kZbK3W3!k@LA)f}Uk&'HcZ=upD,`>xL} wlhV=44D"PVL}7 x':0?wK@+]^o DocAO(<&>ц 4E12\+hT+ !=De\a *#g0k@x&fKd$+ !=D`draH$ ؄P 1L}Job1{ƿH& ؄P 1 L}% ɱ0ֽ7&>m"O tabMGKmgmq 5Q+!38jCY7g=:CցRUk&'HcZ=YaUzɾ=ִgv^o@z"t519(?T=CK\wMIr͋lʣ&m%Ӱy|̪8DL }>b%"t 0EH z%.6cIq4K-%6._9QHa=I%DͥⅨ6cIa_|4ɕ%K1z>2, N3/Z5QSΤ_dE@bz<)rtMIq4Rm;WTL:T:K^ʈ:&1ѺIQ ]$ZU=GME X|tL쨎UIDO8nf|P-)ytkT=DKzj(`Ibצ4-'_JI_2;*#M"Ѵ)R1N53 # Fl("x(5 a@F6aNeSpPŋI~U-31Nw,x% cs7I:S*zYHm:j^\ƇIŔzT-zj(cC*K򯎙iiUh'Pf73x҉:eSWsf+NIqBF>/T842{*#cx蚘F&W./JgSS5^#3+cx8Τ^5t&[ 3*(EDU7TqD-qʣa=^Kl8iح: |F+N7M_GٗHv8M U(5SLCxL-QUJ8y,U@u(%4*0OQTJ4xvHyQTJ_ET)>dUe2P%}9i\:f! $S >1%\:f*/S9PG);iX[LuETGTS_au3K(D*Q4A $Q&JGRXGERTd0P_T2QCQe# W#2ERS2P/XK Q%2P@%ϩ\xM(}C Lb18 7LbceU&LIVDILDfS4I"0N2UQ&Ld`2U_!H",(0Q4ȠN #u#LDq*61E*$TF1&0D*tIQ JfRhT1xN(}C@_%TG' h:9zf>%;ERs)Lw)ĔGTU'1RćrIDU'Jsb6TMLrJ")u5ńI>LTxQ@`™9wxQ%NLL'dQLq'wBGQ| W#G*ҩ> *)\KEW#G*CQeKE*W#G*S%}D *Jd0L_Qd/* S%}BR*>*;l70LЧ[='1@I_O q%D(09J ":KF WQ(}C 1P_x0L> K#Kx0)>)yzi|OF/>#K81Jp@F)TCQz%W#G*S>*KCP_ X10R >TbbJP/FCQzi|3I*8o U4G:،FHD*蚙L#$Q&J:eJ8d:$T0h} aPJ&aTP*TK Xa4NńF(D*%1M tIe%GT4ȓ` 9č2$钢BT)CP:i|OP>)yzi|OC!(}CFT20S%}DL_EPȽL>>2i|+=Q F*iJqԋd^P2JSD20E $dE/ذ0M tIbu3U8@`IvhD**$p"2U T#d%P:gb$p"0N2U >T2JJP#OŠy$iK 0hQ>2U YL$p"LdF &JlI!$T.[8@Ijfu2؆IQ@`#x|!0;/鄇SDbIvh2TIbu3U8'D*gDC#I_;1EXQ&JV+1E%Pv5M8@2J2U WQ%Jdжv/"LES5ĎIadmk䦘)43 $p"}d%_%4hQ&J2UAܵS8$p"0N2U &_1HD20D*u#$P%d%^xC$0}dHE*$T-!N2U dHQ%/0D*bG$‰2UD*%}d%zB1zTIa-8&:$TKDSU7d2DI_O &jS-0N2U0[Ԇ8%N20D*rzj1 }4O*)SE tOJwKDE z$}W¡HD$T_:ؑ< aD*WM1Bb<LBՅDa@ NgP?L|GP>Jp(xdJA)ilQ4LoiJu5ńI> cUFs0$i0N:exJ<(K (TS3 faIEcPZgJe<(N*)㒙@n$𢀽*(T(DU@(}CFU*d/*~+JddU>)yzi|Lw; **pvET&S |*:x|-9S"zR:gb$Ec,Nńk`oQI@`0*2$Q&J;c_3z"ȌLE2 K#K∪2Pi} UA*d#K∪(}C Jb_T _R <*K(}C /P_∪*U2P%//P/"CP_ U@:QUR2P@bZs*&:&7! L`:gb$EexJ<(0E faLќ;<(E exX‰2TPZgJe‰;PUS2P%//P/">#K8(Jp(x3ddUhCPB4(%S%}A|(FUdd0L<;7Lj8! v,"N`P(*;1ԋ[=CŠPZgJ<(E :jcvh‰2TPlJ<(-tTkoLIDPj:Y*;$/0E 0ˆ:(TuHo&'TP\CzbO (_E /ޘŠQB\CzbO !(TJF c_3z"N`DӰH9(79(ŠƙS4k`oQI@:( U9Nu"󹢂Ƞ0}dTG#L$Zgu#LRF /;abF*$_D`AQ$ЧD*cL)3c˦6UQ$"LE2 S(F_x2P&B2G;b^M0vJ#e)>2U-SQ#d%PqUze# 4U@^JG#qUyɌ}QUyp?8+b*rc# R <*0Jq& )\x*0NrcMP\x*00R1T*W#GET\2UMPr8(U@cQ8*Q82Q8:Q8ĽJp(U@b`r8y,U@bbb& aR# FJW#G_R0GTreMPBJp@bS)\bqU)ԮGT\#!0R &71hDp}SPlƙ\CxH\vXpesyMUD#đƸ턱4'bfTHɔD#ɖI _!12GfeALtʨ|̨cU &č2_-SEKD$_8)%1P/≤[QT:p*)\y,U'1R1%\KIJW#GQ{W#GQzU+L8i%UQQT^JQQyFJ<*JW#G+Qe+%+U)\x* TG j~U|/ݾM Oʯ}0~  = ʯE_|J~!?)%[Z<~U|JXP?~(%AiU(wWĠao-?*,Uht_ݾ-w8?v4CSWŠ!Ot5?* ='?* WWt_pO>?*,@Upmco9Cot_?t5?*8 ݾVW?vZOp~ OʯXYCoj~U|4@X'CaǺ ʯt_xCCo Oʯ ʯ} M'7_~_ }Wk 4CSݾ.j~U|\ Ϻ Oʯ3ݾ.{Uxgot_M=<~U||?v:WKW_Ctx~U|`>?v z?v`,{W c/t_,g>?v`$z?v`~Wot5?*?=_>.?*O_=F~U|ICo_>_=_>> $?*>%?*)U?\?viݴh(Ct5?*Z{@~U|?@igWݾ?WC^ ʯv,k?*/t~U|b-@"HW+=J~U|cGݾ1=CS~B-@B}~Bgo S3~LB @t&v ~x&v S;}=;}Lj= 15?)~>;} ?H_ \a ;|j&vp~\ ? \o&vu3 ~t,ҌpF߂!3ҁ!3Ҁ;$:q + A7A^'h+pW{RT~ P,Я?{:Я{=Яp:+A{{JQB+~e{CR?RQ^PXW~ 򅟒~{AE+Os^Pk 2۾HGݾ"&_ 'K(q C/>!"jd@&KK䤝'_J>۾Jr)A|䠋x(&wC(uor{1(#-/7j-,# qo ~6۾#1{o _bLG|0_&_&[/yɃ`eLF7Ğ"$$wĈq%",K|H{EX($=7ĕFU! ewā{`WKtī1) %P_r[U,4ġ(%E0)&O_`0r`C0&m0mZ;b6wO~ U~xpCm߸q~_1 j-rl8_'2obQ|4ʯ8,ŷìa|?/~-'Co-:8߂K|Nq'1' q_]E8m' X=;p /oK|Q|i|P-{⅙A6(n8}7ІX B wЇ!- oI⒜JpO|R a/C+%*%*ho7G/ʯ84O?DlPc:+ t鯔U_(1P>">M%J,C|E|>K|)['=M/E)R$lY|VIowa.+Y=|VkgY~_kY+oe|V 04CKw/2_*A|_* C,G|2wʃƸ_pz2-,A|Xco`w,tŀ.,aK|ZI-šoW/O57ţBUh&hoC _& 4 V7_̱l ockp f6{ǺMw_|#n_8[oq8 ;1=p{/C|Ep9o+]p|/Vo_+2fmΊYƎ[-g[`/V a _+7UcVF; K} _y&w x2_x=K-pEfO|\9qEqƆ/w .X9|\ z>oeyN_r)o_/ǹwx}|^/؆;|E|G|_aķ՘:Eu: Mt7o+Utb NW|`n.0C ̲0A|`qoi/2 /}__3K+Q|`aS|KuW冸X /`fexK|}, ;偞, K6XaEy7=,_^<f৒<6/?{wv< 1 >K|EY5|_1-}{Q| 7fQ|]|>ŗco7|zm >m{wG۷Z 堋- 2K堟_-r[{'b{ S| _eWŷn+ =/`c|BE|B>_wC> a!X41 " 7W_<@K&h6wߊ4%h?hIj!&4VF[w7/W/ !xzI_OtFokGk^ P7^ƙq9؛:z2KȽ{%M7KtP1wLu7/So_w,Q; ʉTo_JtqqSK,KnE)+晗7/;%Ro_e*47/bf"(:%,`yKELNׯq_K->:o0q O9q?M->: w<;眷'wSCr?xPs[?C-@X%[r?` ՍQB9oN0(2AP 7<;(7=9oN0 (s[U3׿ <;MT0PywS0s-UOr?3-A)Wo(8As6(_-̨K[r?|29oNsA眷'wT^P{-:(`+AS0<{-j'k׿<;;j_CM9oN w<;*4@_-YQ; o 9oNv.C-Q-wE-gQs[Ƚ{}3A)*8s[먚oK-iF nywEs[OW@m-PywH9oNȾJ(r?9oN9(<;@w-m^6L龒8J*٦ߜ#G5IEW45IE[8?nyqJ n{QIA({QQ*}q3%a7_O?QO?P _7vٺnM}o[ E=` ⭽J3ts[o??qɿn{l /7_*(C7_-()/Nof黿 ??iT@??_8NJ3=IRqTJ8 iRdQqT*e{N*GolU@J4{N*JQ8N_iT Qigg⨽I4{N*K=F*F(8HqUW&Qmw{O=Ol=P)_m7iglU%}H{Og=m̿=miugia{N*&R1F_mOl 8L2R1M{Oܟ=g:e#=3='{Om)mӊԌSliQzu#?vol?tymG?tmA/{O?ymA{O80/R10Omg{O?,ii=i g?@l{O g@)i i"i'iT)aKm?!!==8Bb21i8@b2=g{OlU g#L? ?lUB2R1l{OA_{O@i+?%g]mP=䠫=g JOl?m?_?&gcm`i0i0 g*i0Lggm`=@=@il+i.i2i_?W=2iŸl?p!i={O?pgmq?{Ol_?' N9i8gmr'{O=]m8;m;?{OOlŸlk=p=q{O'o{OGm8?' 'l5m8m8 ?($iSm@=l/l_l?gP= =gP?/lOl%m@?(??=ILl@o[yË>`?Am4˿ooIE_gtʪ"1=ڟ"gB[<-MOmI2oo0*"oy? /l5l6Hl" f蚪q#VfX 2g;lzCjpm?<-MOmI2(oo_)iunlA6]%mq bd^lа<'m}1[4L<#U@$p~=D#̭Ul ~gmHmOm<-MOmI2p;{9y/mm4˿0oos#<>V%em < ~gI&]&m /{9cC@;HlLml"d7ylLg>R${m}5TGꭳK8?=E_gv<[gI&]3?}>!lCe+3[='121<L;yE_g ~=~qm\$p[gR{g}gmH{g_l=ڟ"gl[gI&]߻-) 8{` Smm4˿ f9"li0&F?$V~=+l@Kg ?lsm\$pm)= m[8?[mH8g/gE2gY[gR^v"</lm&k66íZנgT<{mI1|Roַ$˿?r/6CeH'r_s#[gUḽ*i{=rؑgmIimIgR^SmP=ڟ"g<-MOmI2Aoooy??4l57m4˿>lGaLim}Wꭳ*Vk;lz#l=DaH-) {c{lGSmH{cl m -xQ[m&kw|][|Vfy9x .vfg&F? mϿB*U{? E{>xlz#K8?={lH6(Ͷ{?_lsmMmQ/Fg̀P&H([g-g6KlI5?{]$˿g768s3l@c<i >g&F? [gUlC+l@Kglsm\$pm)= m[8?==qmH{P V<@u[gI&]xoo'z/_p/l@}lA6]x7OX{lЊUmϢXVG-Pv)fv.c[gSm -xw᝶x[=eyoo// s#xp3lK+mw|^mŶyE_gHe{?Bl~g*lz#q{>bG%{?#p={lx Dq {?Bp= = m -xym&kw|i7/as) <mw|f#klt&ḽR_mRp{m{l{- -x_m$t.)|oy?^}C7m4˿@x[ggVk - -xX ax[=ee7!==/`uCeoosdlЊUmHmOm[gI&]B-J3ny~Oڟ"g[go޶ tSgFJqA+}{)*8wo(>NKNo;m)os=F0FiQe{N*!R8NJ8lU%J8 iRR(MmӊFiPJ8?=IԣK8J4??llU9FiQgH_=P{N*}J?igimg# ?ïl]mӊ2iblgٗ{OgT#iQG{Oʁlg%iP g.iRc#?*?*=@=@iRxQmӊTQmg9zt?*?gX*i_mbOlUbemd_8/Lb?{OŁ'{N*ԜiQyy{Oŀ3mӊTK,lU>ql_80Jba{OŃlU'R10Mmc_l{OŀGm`gX?m`?qTbH?o{N*KԮL=F&*F(,{OŠ?mӊ`R1lH??8 /g@AC'a Yu$" m4˿ybdqey%㨙Cv~=&=BC|RS:o\o5T-[Hj oo Jt{l&tI%Lg'C$D߸ߺpC`r[l&tHUifߜo#)Wn%~~%? 7.eD*]}-9o'ĘKe7CCkl&tIJe6C)_4̾"߸ߺ Jt[a3~rN!@ '!u9IOR 7R;聆ߜo%#j뾈m@ gMtP}C#衃;?Jt:gM@Hy-[m~~s|RSgMcL} '-q{f>߸ߺ_%?l&tIK*'aR9o'JYQ; _Hm7_;}#*'aRq6ߜo#*'aRq6߸ߺpC`rL˓8r}qt>?nv))[a3 .8poopC`r :oE.8K"evJtl&tHpg-[Hpg7HL龒epu-[IM2w|:H%?n 7H{{}9o'Cc/|7?pC`rm}%3})nߜo%3})n߸ߠs;l&tI"(:M6C$_%_})߸ߠJA{l&tSͿ9o'ҞmopC`r mH;~rN!@ / pC`rm 7,m-[߸ߠqu13U8Φ:j:b9OWgR/^X隈̺v-SlVFtQʾJiح:j_=5l8i-IT*(Eqʣa=\q≤[EOƶJEFq#棢cz&:#\vZbÖ:v ):z2wLFeӰll$:1tseMRQQ-"B $.H"B $.K\wMIr͋m)tqqD-9ORIpk4<{'>%3I76MC*'g5;.cCPÉv,$}#y4oi#&m1zQHa=JcڕzS|zS+㝄GCa7ke9X2a=QMH\!rD$H\!rDSDI5%t]I ^wMSP]0fR\wT.|tLI.-x yD䯥JjPlƙT6c6'l*1e3ª$dj46S4THɔi%_2;*#eD29 VU-31Nv4w|tL쨎UIFU-3:&7J:evTF:呖U-31-MNUTfTq|tL쨎Lo{*#`vtr9I*TFzNF3o"8QH\!rD$H\!rDSDI5%t]I ^wMSP]0fR\wT.{*#cx蚘F%Ze XJ߉&}䯥%51q;D$H\!rD$H\!u4J\lƒh.ZKl\sfUQ4i.$iIC|I߉:wwȽ|l8v*#GCa6 KELNׯ1ZuG*)HifUHʣ&lr4MeQH0c; $q9OVe7 lF$+lb'bb&y./usr/es/sbin/cluster/events/utils/clpr_removeRegrt_vg#! 018:_aceilrst,-.234;=@AHdfnop "%(/567DLP`bghkmux| !$)9CKNRSTVX\vy#&'*+?JQWZ]jz~[󫯱h:ftWvze'obm} SAsw0uJsW1я^яʃ  ZWQ{=J$e^J3:i{(e?G:KG.JfpixV`؁C ! Frt'fz4Si٪V$Gy. ]YEj@{aYM ;k3*Z$$?eEMQW,;W}(5XS˦S"CcǬhY΃k ϊ+U#B;dks΃kg՟VAYt.z2d5A3ϊ+U@Twɐ,ϋ>(V< !:8=YV|QZ:r]^fz.zAPC?uU{AU,k)eTPT'StBS EիV\H^9pz.wU^V 9牅FLj(bwV?>tpz.腱"-k! E0gG,شtq`y[Gˆ_G(\Tw=J=QKY<A&^)EZX_eh걾~x_^& gFт%VAѩ   ËGU_s.Ǡ8~ͬ1ZcS 53/_ ʠy@V@Rwe=MqUgD.`f#puUmm>Di-C)h3_LD-AqhYb(f0{80Yt4W"Vy}qNzǙ|u^PjNzMj ^(h+RT#Yǩ=J?[Y qh]^Z@Xu_ cDZ?fB-b<31^=L3c0`R=Xyqй=f|3' MJPժ+ǩ`t㺚ǝVǮ8}XktY1!>.ZqǗsԝ* q`izԫ֫A\zN;q_nZ?W_9.6 %:!lzG}hrmd! Gcpimb(gg0@vG{]Zj RTw\yzԝgX#x$ԫ+й9Wh$̖yX* jUkU<_N\(ln<և#puUn4"|etBٵ"Gcpi9f:f{80W͎^<[h zm,+VTw3y@8Gy8YZ?\zN;< X5:Ãj gk0ϋ>(Vy}q\'y C\z$g*pjǩ`t㺪uǗ~~S 3!qh]^ TFD-AqhY"4Yf͋ǩwk|Wd }^e_{Lص;8`6GQ[G +2.pG ^efx96k7E ѭqjS^(\Gza)W@5Z̖y}`fAcxB{ZX^UijŔ'c3Yz+y*029qYnjk3VţXڸxB- Bq=q:=Q VA\6kRTwϞづaSi%8٬| 5*8֫A\nbG3NZh^NV,_5ǩB;ʫ3xiXpZhkdIW֫AXp(X#h p+U6p*V5WG@emڝ %6UڵZ _և#puUm*dfD‰e7aTQΈ[ "Zk! E%pii\`+gfUْ=Q~Z q]qP5<!8n-6dģg/2$ԫɔVA\ama8۞۝ %6Ɗ<@e RTwVgX<شٔȅdjUqZau>(#lqma-jF^Lj^j[j=IK\mkUi^_melZ1:q*ko6cY:g5cƆu :8 )sl[9ggUl:xΰᵐn% |D'CYl[96Ϋ438md[t `q%R |D'CYl[96Ϋ438md[t `s YR%9:,ضr6ΫbquXc@ 3@'RXNJrt8 YlmVųlC:ͬaӠVAX D'CYl[96Ϋ43|f@t q+ Pb :)'9fųqu[kǍ 6Y@':'9fųqu\muV8_ h+.V+VAҿ!Wh `RVᡜ(CH+oWN+U6(VA\m+9ZVگkx<֫A 0Fţu{ioRO2S3 "ycǠ8~և,C@f,pr͋z~:fGWd }^e^6lhh:02`L#Hefx96k7Ŷ хq`S^(\Gza)W +U2O|E<jUAjb{OA_ W@6ef{*شa/wB@qc\msẽ?Zr{8W CY=cV44bF,J6p3"8 R(VmƸsԝтK-jdjs\z.z>z28hhŦ`fDIRV44}@FєĂZh %xh+z0V+mWzh^ +U ?[N=PnZ?W9$Lˆ*%:!lzG}hrͬ16LŜgp{8m zcŘ K/2+鋃+1p GQ`7-FF}gF}+GLOF|::@f0G3s/b|gx^#/T^$c/31Ɛٮ!X<¸.zuǩB; O:H g' 42! R$֫A!W-7 2Fè uW<58jzٍa^ŽidD&^"VA\gb@q:h\'y-q @.V,_jԡsf5|id`RMZa_@#him+U6U<^HƵZ _c>c!Nz-qnZ (\Rwe[J_}Y ԍև#puUm>$xQZ&Z66=AţD>9fBOXf,>: ,gߎ|L_W.nqy|3<^"[#02@eqmm3 αǝ8nubڸx<- Cl!B;ΫRTwpS76BQVA ~d̀AѤjU֫A\mmgw6Rwg V,_ֹ=^h+U6UlftBCf#v6r7ZËGUipbI')Q)M?:!lzGC@ b6<[Llp-46V>l3"vDzՓRmOD-AqhYb(;14Y|r͉LLJe>[hn|¸ϲjvZh|ƸϘ9N=QKY<` 5*Z ֫AX(qd_m7ZGmj Rw\g=f|` MJU@epm3z?XSy|V@T;lƋ X#֫@ͥ'{:>c[ㆫ:B LJgR E|ƶ'Չ#U3dƶcCdH֯ >`Tw\gkb}XpgCr NWpI32q/y< ]jNzT.zUZqUZq/B;M\gZ IWJh 2~FU>rtBApuUm8$vDjM0Ǡ8~ͬ1Zb<[hs85ǩB; p+h 2WCժ+Έ\(Fţu{iƘ#xc\yh1fAYa:8=V}wJU0ϝ>F;%bwVGg΃E՟w#;̙VGg΃E՟w#;3U0ϝ>F;%bwU0ϝ>F;%bwfAYa:8=V}wJ署dY|<]Y1+嚭dY|<]Y1+隭dY|<]Y1+jfug )Pm |`;G SH=Qcq? ^1/ И0sxxTb/Bb axHrFʎxOfà-`.>QzO8 `ݠ3 ?:cQ );x^ G>0;:cQ *;⢠/ T9 F#eGv:,9 w*یA*`Kr.w#uOAMTILN5Z y躳cUxnES1fAYa:8=V}wJ3U0ϝ>F;%bw6jfugN5Z y躳cV'x$fAYa:8=V}wJ VGg΃E՟w#;35Z y躳cV'x'fAYa:8=V}wJ h+#3AϻX5Z y躳c_?xBݖ H|,;NGd l/y,,;gm:bý{@>d(! @x| @xSOB<:=a\Xwœ=u{ý$Y^ș_(@t*C~|eBhjN@G"+e[! (Hr@+Rw<F-Ze@*: 2t 0G@{l: TtdAaWe@*: 20t 0G@{l: Ttbt : 9 =aϞАXwœ:zm8h2S3) *I]v$+3_IY4%%sfW] VqMrII\1qEQƲ]5HBQ fLG$u䐼XYgVg2hu憒DLˆXэJٗTgWzB5udԛ:SKX;5.iX]5Fk+B VSAYˊ墉ךKCO2S3 "DFFк1iV;2*ՓRlS/\]5FgJiv5fձ< ڍevZ(\AJh+3q\Q:CIhtIJfaDTJi &c/Y5&ίa-2΅Tjɩ6tc\٪vj][ʱкj]WePJh+3q\Q:CIhtIJfaDCYhhHBƉXwVMIKDuLstjM),vjV4t.Wj5hr+ ?)erD %҉') `ZatcDҬveU;&%:^кj]Y5&Δk;5NKcyV:MQP{)XQ$S%30*%4i҅%\rTSJB؅h!taV/czFȌE % 4!HӧFȅHPV.^xP+ E¢V4t.We)XEgVg2hu憒DLˆQ,*35U &c/Y5&ίa-2έ_C&Қ]rf٩ulsO*B5vY]/PRRTu_FX뮻MJkSA]&s.+sjF')PkZrB @Fn#ΖLVcB,%IJfaDRO,tBB9*) lB\`0+aVl`/BYTŁI|AiR.: " x)/-1 EqY!B!xR)[ʱкj]/tah젆{A  W؄f! Dwc_/: ^@Sk([4hrHw}2Hk)OoemwI{( I?P?P oeQ?P~%'W$@-+8i+c8J)y+c8J)v g1Ȏ>Z3aQƲqBky׬7GIHľIQ/Ь)-He(SzeDndS."9_$GDK%[2VD3y|?L*5eUQD£Z%gzxל.)'|@aFSWDUOTRD5%"EqdL# Tǩ*OPhB'5>e˪-MPԑB$esPԕBOCS﨎VĐUwy1rtI$Z*eSⴋVSS P)jt!Z*e,Po1U O(D)8YYLUCS(DTcP*eː*D b8Y!~)R!J:"Z"GCNZȡ"U Q> I( Ij#'}E I^Pԕw9gCRR2'B1J\"aUJ)R'EB)R!JȡBOQajy;JȡBOQd #'|9gCQ`DttI<T-D5(Z#)B*R!|:T GCN2tI<*DHxZ!QK 4HQ>)R'\:RB"qS2Т} jd)R'OZEwoaU.4Nr*RA$+Fo,%^B"u%] 'ХH*D(VRN: T֬_I-25d"_-y jdx)SxF0@K<7/!J=Cf‰)R!J:iQ>20K 'ЊPHyCr@*D//*D̸ڡ aDiH|%)&B"u,ts‰) PHi!D@*D㦘F0+rL#x&Oy T:i]!J T骃*`O-L*D륞SxQ>VZ*D)0 о)R's!BkRNDiHeB"d)R'YQ\!ajY 'Ф)R'%]T(B#RO%U)K!J:(Q>, HJ&q"ZϖHh-25d(B1jd)R'rȍ4HQ>"aYji榩-_QIbDO4X`L)Ly(`,B!Hh87S<+-B"qs̲OLHHI㦘`.BאH?E p,!i5> .5>E Q>!"T0ZbaD("aS2Ц-BSYMUhQ%H2钙8!}$`OL#iFЦ KP)(!}2d0'Jf:dЦ ?!TGCN:$$.Q'y9cD(ZI O+Q'y;$yDt< I#UP"'.}*IPɠD‰ieЌ_|E)E3/] b/!| Q>!􏨎$$Q'y:BxHDt<叾OS(ZI O,Q'y;>0ZbSIZ!E%YheLZ/JfS@0'UhS@"d0'Jf:d4RCzdh@= hy H\:Nt$$5>w>tI2y;'DĐbw>tIXy;Ҿg:br_,H$8aF0^B"xF©hjQ>*D)R'Oj|*ĞG O&POj|@Lx~,-P)j3U O(D P,Z\k-Oj| Q>ȡԊ'8j|*}?-Opib}? R5>Z\j'5>[Ops}*SϨZ˒(Z˒Z˓(Zˋ-DSŪ}?CSdO5>]'5>\+P? OEi R8j~}E OBLj'~BO5?jOj~ Q>(Z#` }2"554 % (FI~#4|P6/8]T!R'AKNIP5%\s]DlKD!R'dԛ.XXy4 5J'I*TKUh^pQ?ZpHdX[)nLFPH9Y(Cux(.(&x#`Z! ? %T,>dO,tBEӅE#"Ğ'xQ %݅QFf ?v,*II!0Dt<'L[*%7^5_)T%3,d]1~'/ڣp DO9}OI  N_h{oS/}{_: |x;x_#Y9zM|B[__#p I@! }Ck]ke OIA_k`zM~ϸ}Q5Bp!_$td_5xI{`0` s/E9|FĂp0=&$$1 I'5!ϸ5=&${5 I~O(*=&pTzM}/9}ikhzM}7=&9|JKkR`zM|J_x(k_p_/pjzM|J }9kat`[`s IQ5x|>4k I _&[?pTzM|_&/Ip06=&7OIg /OpA__#_7hzM| =&?pjzM| `zM|NC'9|N4=&'S9|N  =%' =%k =&5 ^5_x4 I pB ?/ 5 {#? +?_'w[^;pTzM|?95pq>zM}_t~_t/?:x@:y5?p_)k gRc_)9gCp3=&R{Iq5xzM|$ =5i_ }3k 9@G_ D/{P/=&K!P f"rJ9|'/DN_*lD!p@Di'/DROƢ'/V"8"rL{+0mg`X9b'/`899|'D_9|'/B"rD!WD"r8BU  ') /POA>pOlbmbo}P?ؠ{Y>Q{({({{(M$D{(Sy>P_'' P{(1{(@@b}I>PA!>Q?r}졇 #'%'BOW@d@C/IO?O G>P;"''@g}4 e{(ܟ{( Q{( *'W}&'Wâ}9xvt!h|: AFysr+2; ]={@{W]?|dV z2G|2K~$%b h| ! 7"|=|!S!/Lq#B{@_ ?|<_bXy$xxwM|< !E)ھD?|"aoU_"9Ȏ+L Go0w$!`~K|>1ɯ !c|> 0|c_|a=9_#%޾F~-3 51[|˂Zh o|m ;|@K_ (W 1-_ 55 o)!#oIp*!M#M #5c_~c!  Ks/)"#«$"%»'mQF{ [0qN1qq3w ppe.l'|W|k| ! a|ˣ@g|_2g)bOmˆ"Kg*E?l\5$,Pj}"Il\5 "pԙB$mˆ"Jm)e2eQbdI?l\5 ?= EdI?l\5@&.l\5>Sg[m.e=&eSg?l_=g#gh eA/{/ڃ=g{/ړ=Ume@Cm#mˆTȋ?kmG{/_{.`esgl\5&J&L=g gl?j,y@LWmg5m{.( gel_ympg[m{/>gᨴ@LZ=el_g gggem|>=Cm g:{/â_l_E_j*m{/Ol_Cm= ?p+@L+.ep+}@L+{=O{/l\5 ( iprl_= P Amex/ex_"k=Bl_ ?Dgg"l_={/g>{/G{/Ŀ# F##l_#l__##gg@g@ =  __=*eq{/_gge={/?$g%e Qm@=Ol_$g$l_?l_e?#gF3e# #gF=0gFm*el_egFol_$gHQm!_{/āG{/ā_{/ă/l_ $am _m gH_Ol__l_/m $;=@km pԖge^lהU*[o{@hsFfAog\5aU~_mFgOl~; 4rgʷkk-/G{[*9_?ݶx!љA6@O=d Q_s3{WmFgOl vᆎZlz9V VWoG[jlC3[ VAt,MͶy~umw;׬qmwljm 'SmǢHQ?@&]{0c3}y)( 4rgʷZ_Cm~oCo@ =<kkRm 9;6z$_mvtft/< m r{_+_*Bn{x!љ|/ `/Ͷy޵d,?[g;J qmw-T DmI '=߫ctft/UmFgOlixa=U|m|gn7ci?^%o|Oɩ6wV~=_gJi]{l/MCKl:Րlim)׶emǙrQ?}[l?@۞=,[gљ`8kupۯݶx!љ>Ao]m@&M{!Dgc<# l?{Fy-_ =gK -_my(<0OmG*D V }_{lC3['?0Y5&а.[l SmP]{F%5g.{jQ?~=Dl=Q϶Gm(۽{D=䡇KmP tft/9; |+lҍ`]gg(g.=Sg{ez$l<Тϫc70c>em_my><0OmG*H vVڿW|%[oDž_?x!љ_+__i OgMl:3:lg?# 4rgʷ6V(R0bǻvٯ$3}yMxa>~xa=&jP 7=?@>lkOesk$Ym^lUmkhCg2UjLE{.D_l\5%Lg!bOeS"MgVmˆ$l\5>Wl_O{/{."Igᨵ@LYj.P"Ig1wg-J=l_w{/_7{.-P>Ymg?= IP>+eA{/ h= ԟjl_L'e3& ?pԕ*L=o=&]mˆ(Z?{.$P",e0g pԘ@L=_l_+mˆJl_כ5*s.kuop2BOg>SBͶyXXAGV~=jMJ}{ħ^х{?Qmym r_+_ FCX"%f3:p<|{l_mhgUGR:}4UGW|TeA/]=mmh骉 kf$`6kkCo)2Ԏq-i7ޙj׶l7 O?2f2W|;}- *!XB3fϐ=~_!e_'q:p*7 4rWЗy_!jkk?O2dt4њKTw~UZ\5mp di<ˍ6Fᦎ]! (-f*BGMT.݅{m{O2dt7 4lw Aכ5W6 Jkkl'q:pmMIjy_!Zi-T]mpe.6GOEmnh|*S~U:;^^4eŖFᦍ^Qכ5W6N{F^^A̸?5iZ‰TS=6k$ kXQ2*gK.6GO.7 4t,>P'f*BGL}mp4emOτʃ}6k$ >* O2dtͶimMRD;^l_HASTQ׶׹WA̸?a8(\*{k͚?AM._= 4eûl#p [^l_HA}0kkl'q:pFᦎI/ כ5W9'_L|&{^^ I\lemnhaD˪[|'?~ULs^^ I\l l#pF‰Tf*BF‰T.6GOiqכ5WO|'{m{C.6GOmn|Nu~U/[^^4eݶi9_'|'^l_HAy &׶׸4eKmnh, vכ5W5K/p]?4e a:i5{89f*BGM2Fo|';^^ I\lmnhuwЉٯʿћ<{m{?4emOπm6k$ >7 >(7ޙjF-\QY˦#x|S-,l˥Y׬7yꢒx^#Ijy&2≅FKJ*z%%zxל.)'tki-QO55h≅FLj Ji l@$+@b'bb&B./usr/es/sbin/cluster/events/utils/clpr_removeReg_vg_vg&'$  018:_aceirst,-.234;=@AHdflnop %(/567DLPT`bghkmux| !"$*9CKNRX\vy#&')?JQWZ]^jqz[l@l?ƞYw)A+4ٛ?n_*fw3=?:5@ElHJ(=(qOTښ×p_HfdxE``Gf2/[D!:xzm(/ōUkz앙b9} #VBž%yW0f8J*24_=8ҽyWGM"c 20[hlzF 5V|D@4zͲTNX\|DiZmj5wD>g.G[z"tX@4zʹ(gرn c-Ҵk6;ϱc9r:Zhгg[ FVmD>7he+w;GM"c*VAimV<kWfYT +׻Y%zTq'g-Uk%̴'H#J=?H ;Hi Z@-5%_5 X0pf j 8Ba 2#ϴUzN좳m|!i >Za5ċ7Oa5WeXAW_5V3Y@:kP1+Q;ꏲXMvn0aЅy[aa[ac%mfgo %Y+^]*k [`°`i-jVC.F{.  XC&r6[aaaa[aU+ 5m"65 k 3`ưbh;MCGyf_[?=f0F0l>  څ+ X`~0lXa AX`Aj99;Gx,4 20,P6dZ-aP%adVm" #Y!5^YXa9+lXa4*.u]`Y* 04@j5 Ձ^^#աJ¶ aDNmXWD>+l>Ř<֯C)($Uj|!T2eaej0u!mW+Vf'Ѕgڅz½eabzڪUmk 5e=%aa`fnz½d2 z ׵u,PYXW0O]{U^kXVwXa4#^HV}+l;=䈝Uwڅyϼ&mBgXW]^YXaC*¶å>UHg,&k<_YyAXRZ i37H#J+89A m[d!5j8k&c\̥IdW&glzFnf4{W^4Ltq0cx8q jZCռ.~g U!ȫ1s:Zɘ1吏\ТwdU\Eii^_PQ5iZCռ.t 8M}C @ Vbuе1LıV}Y1Md5,VBX>&f.Wk&3+WMR'}[<\k&5K=m燤naD;HJu#ĆT5#&'l*H ;H[m/ɞ5g u!cLgA[vFl@|HŔ# h)H ;Hi Z@o# j?ͬ QkY5U< Md5*aX+Wk&c\N}rf(oT}Y(˪YWY5ɘw՟pŕk fP..fT֯BW&yj&{[><@  5fZhе1L#Y諓U mdW&fT"^5Ȕ]{W]}rf+"w՟b͵3eb8]RRzm!fP`wZ 267Y@zlfNWVyEr6d'Wz t "YVD;HJu牥_2;*#|Qi-!ZDjF HG@3k#Ƭh3?!U 0MA'Ȏ Y̡ uə,"_f3%Y;e 3ᝠF6e\"wWMR'}Yt 54!ej25[I 21/]RPB^\JmdafmfPG83`F둳4N; ycxC1Ntkl 0k2 ,Lkfx7dc;@82Lerj;ϴQYVzAOP$ Hhe,Ʌ5kVn"p3XMv;8G@j_H5cndXB? Z5fY񬎴Ƭk 4mYBVntGC:5`GCֲ:5䎑kf|zMvɬMb'rEU rkd)B<-l"V@B -v0B>[\ek&5hsYҶy$'Ma;Ck&g\'}Y,Z rY3"w՟ek!funma cxCB$2bbj5Ȁl3`k&6LlT}W&d&*a5Vx&MR'}Y/_Y 3@ ɤ2biWB`aL֯C\̙j0j2Hg,&md+2Yk4Dڣ_Ya5Y+6Bpֲٹ˪Y WDᝡk#'}QQ\ b`^\gɪD>k!8kY 3CuK2P0^!f0`#f$&^d#^Ġ ^[mYٙcהW#uuk=Urj;ϱefH!uK2P^Ġ ^]FVE+"vFq4ZgeDcYZ5ZCռ.Z~fGG;CБMvɘ̡ awz̈a VdGM 1( ֯BGFBpəC[FB^@ly!mf%WZ Y2F̚ɘ&bmT}\N좳m|!`uK17Z &mdVmW&bT}W&(_buK2@ ֯B"w՟b͵31puK2@*^3 ٺg FZ ߬ ڎ|T}MR'}YQYd2d֯C Y3_k&5t׵U5ٕl߆3w5R=Z$Md2Y\ٺfzں 5f5ɘE"+m,7NH ;Hi Z@ڷ5 @3k#;@2dB?5OY5_k#5:k#B'}YK PL>1ad[7!b Y;B?CfČgh k#+U+TV}zDεzAOP$І"8e,zMq*K  kGfHFkɬl}&xի<\GBԁ䁙 !d ڳ׵gjϪaRy cRz՞5gYVxr՞ kVxt՞?:f>gI+6*Nŋ=&G#k>*~zڪ%fg\[7!=䁔yH3!5d2kɇm+fHXyL3 A[Y#G;ϱrj;ϳ(׎#<B˪Yf^8k#G.T}W#d`?Z &*~[mk#uarD#drVC\ " LD AitC4{WZCQ*閙Q1L57!i+V0Z_]8; k#+!8BLw nk1+W1BzjTX>߮G"w՟b͵ ! PC.f .^_YgLK4 ^V}C ̌+WDڣr8(d2uZ &Gu5Pɘ^fMj%Arjh5#N첹hV} f kWzpxVyA[nGna?"+mk4Q+I?A HvZͬYhԀ&D v} Adֳf^ c~"w՟ek \ Tt Wmf j5!V#0tu ֯BMUrjGȀVmyb2n^_Y6m Vz dafz}YB@l(Lf!zN>":٠X,Y .C 6V`f":٠X,m[4 O@`TԄn{( 2 5"w՟oW":٠X,Y\Cbjz@vȁd&D55Pɘ[zͰ0^T}j@dV}Cf WMRWD(G-r 3Y'}YQYO ` ^_YUk%̴'H#J=fUk%̴'H#J=kZKhDNF{%3>KhDNF{%3>5W2 +@J?(f}^_@z"t4(x^_@z"t4(z^_@z"t4([Uz~-ҴG;UB-9 @PwH0c՟e.BV};`s? m"΀*hBF`h( T"3* ЅHYT*"AY*zp9 #@v $TAx>+^Uid5fZhG ϱUz~-Ҵg^^_@z"t4(?jCY/e=:AVPmUk%̴'H#J=` dYDiZQC35W2 +@J?(f}Uk%̴'H#J=` dYDiZQC36jCY/e=:AVQ<4OB?6 fIM PS'\5*!=D@h;Zdc©.TD a>Ё.F̓%hpk`&>J} :cx@ L| r@x+50\%>1sS< @&>%>?%JWPD"xht%>~ ?E-7! :^U4D,ϰ᪽ dYDiZQC39jCY/e=:AVPUk%̴'H#J=aUz~-ҴP1t JH^)iKN頶Yi-_9j͙TqD-vԒTO/ٕG6cI|^Z$\1TXI{SDi-;e|ū688i'$_9Pi/"x+F2ބ)k@'1%-@6:v̾ijj+ELg:y[Tp&:b8k1uF턵NŇ#'qN^/J z x"4c*&≤ZPƇIZקRV騡%kI?< y穢R$Ӻh-v;-q3 -;uʾ:evT$8DĒ2D|MLt%}%/I)#^Z9l>]d'E@y'y瞦KS8jKN頶iʼa*[*TGDLG f7pnTOI)$Oq$AW=rR9Ē20JK`.ybL$~V^NnqZaofZaofZaofZao#9*8f_4{kמ=U1^*c9ԇHc5LfyPlƙUTfrTqŔ# h)v2Ծ02k5TFLNU-CeS8MP @LQt@;9:F WG*TFsO*閙Q撎U쨍le=5*閙QifWLʈ:&WLʈaZgeDcpYri&uÑÜkÒBx+U-36TM1*ٍrj;3 BW*(cA' Rhb)*80rj;3H{^]$ZI4;:6yl tZO_Jvg%G<4b)*8N-$UTfrTq ^+Z)*8W5r3sR/^WI:*TFsLO zNizvuI1@Jbf jzchylWI';j_SDMDOQ5TFLNTL=S$bf4HɔDU@dOOKS1yIZOӺh-vd8yǯ3'/P-[0ുZwMN},#2xz&d0Wy( pZzU쨍le=5DG$ZL^7gQ'L/3-_5<pj;Nu2ׂcFǓI=#Y1Qt=/0cSY3ggE WL|0U쨍g昞/fOoD̞F]"I:S;`IʽØ̧/fOoD̞FWHNeTʾ:evTG*'@dhd|P-ytkL=DJ֢zj(`IZO!ǰ_Jه#^]/oD̞F.tƩ38]d'WLʈ_4D)҉1L42 x',q'qaL5F1a'FQDcLf #2CМe0bDc" Nh Bsˤ|^ g騡֒}A7P}WP|`?jA9p8pmN ?o:!O"<<#@k^'ꁟ1?oUiTI?oEz2$M7$*(`Q'y=_2v.Q'T?oJ?oTN¥$X2v.DʉTQ'U %:eO\o5T?oeDL$_ME hTIf_OsMS$RQ'{fTI옲_%_ObfO*bv$O9hT g~Q'O_A/~M?w8J*Aഓʽ*U?~W'q@ye^ʽPiU??{U?qT ?l_^;qT ?ʽP{e^e^9GүqY^;߶U?rʽt_U?e^:^J4|M; TU%R4%GRGTU&RU d.DU@L> _N`-iUizȟD^\\B[3UP)?jhꊨ 4X-:Tߪs/aq3KD*4A $Q&JGERXGERTd/P]T2QCQe#W#2ERS2P(.HK Q2P@$ϩ\xM(}C L"1z8 DhM)ʪ"L%Q*%D*ͤh&D^d#6;]3LĽd#\CxEXQ@^5ӯ$i@:( G5-bG( D*a0Rm%3D`TI{NbL^*T%PB0"ЩLaT2P&B4IIҩ\sNTuERr((.h.>2i|OE禍>#Kx/L> K#Kx/JJP(Fs05sze4:9OJxT9*$NGfB@gEԗH//RG*CQQ|*dJ\\_QxL> K#Kx0}L>@_Q W#x0JJP y$U&R >T`L>>T`\JP P/EQzQ2P@Aw2P%..P/{TU TOU dB4MPJP #KQFSIq|sbIb0Ld#Z$S(ӢLC  K@ fE NKTXD`1rTI|S$ЧD*RTq5IQ1#L</PJ#lH"N*( ( KFU r(}C(FT1>)qri|QC2P@TDU KCQS(F¡M)_/N8y K>)T0h%血b0 ReU;#N2U W.jG( ^2UYM8@^<(%Pu%RDPIQK䦕hb`Ju!ĎOLCU$HD*$T&ذӢLBU R>'`n2^x#Ae4UHu4FD*,a8&J2U hc"%PJĽd-K $TQ53P8lC/}zu <|/#HaSJw_1 %QP#d%Prf$p"/N2UDCI_;0EXQ&JV+0E{%Pv5YM8@1J2U W%Jdжv/LES5ĎIadmFK䦘!/SJh ͦ7gR,HD$TJJia!"Ld)jp$p"/N2U &_1HD1/D*u#P%d%^xC/}dHE*$T-!N2U dH%./D*bG$‰2UD*%}d%z‰1rTIa-8&:$TKDSU7b1DI_O &j-/N2U0[Ԇ8%N1/D*rzj1@i.JUSK D猪I_N$C;IHu#x‰2Ubx D*)+ xp>*~0x*}*QUCP21jceD2#H.SJT㉨v,"N^PeD231#LztES-3MRTwLIEXQBS4g3bO (E21S%}D( }L> K#KcUQU Tħs*2 KU Ԍila)+㉨v,"N^Pz2TXFfD/Po3 ذ"Ld(L507( L:$TS-3MRTwLID1/E faLќ9<(}:(TS-3%2ĞP@*)㒙@n$+QD@Jb9.c'EXQ&JG" CPB4( 0S%}At(FTBJPJB4( > U@+ɢ)>(S%}BR*JL>@_T S\MP%.S%}D 1jccyj"4)zKQLXD/QL5IQ1'QL)31'TQLxQ&JLL7xQ'}*x*J`JPDU@2PAi|GP%\MP&}L> Tx*M(}C(FUdd.*LL>'p6RSMGidi(j)})Jq"P$𢀽*)6;:jbO $BE2$L*$[#*:jbO $Dde3UxQ'*$Z5'hJ<(BE2㦩*;$/N7RuIID`*/ޘŠBlÅ7$P/ޘˆb^::ޣ/Q4/J N^Du1fqrP'NNu3Hh2( D*U$k`oQH%E*")lH%Dzu G:ؑJ2WPlvtD`4)&JC3 fr騍TD`<%QLM2dIˆ4/[S:٣a!#LĽE0bhHu4H%ES/Nq%lhZmq&E‰2U(CeG*hUDF+%QDδE#L%D^BT CQu i9VDib4_LQl'QL橩ȡEW(U@HMP&L>˼OP&>4 y4U@2P(F]8< W#GET ҩ>(S%}BR*NL> K#K∪9r(}C B4#\MP'0S%}D4Us)*8Kb4<*i+)*8u'/D( S8M&D*$T2c)ؓ/N2U )qri|OP>JP#.2U-SQ#d%PqUre# ,U@\JG#qUqzɋ}&J8U@] QUpJ# R1zT)\IPRGT键G eALtʨ|̨cU č2_-SEID/%j$px4l#sQC1K+-%_2;*#MD#91h"9Hu4P@ʽ#QAwaɣj'\9d&&aQØK䲱::ؠıƸ턱QSS&9sCgaP@12iʾi(#G%^ʉW%'l$:(YXHlP%MX\vX(,*|tL쨎jb䲯e@cxJ_Er4hJa䲱::ؠKcq c Q*閙Qj'\9FQh=CSRvɓ*lH"9Hu4P&ebtu#@/JYEd$Zg-63$fEa5,Ncq c U-31-LA8J2bv©N^5R;aTH#g昑H\vX(.ReDkgg03) ĬΣ1bd%[='+a4E*9a!|Fc='2--U$鈼đƸ턱P^ag7}QHj#G$5l%8Q*TGLʈ#YilAA|tL쨎eu$`vu)*8l☀ɼ8̺CG)ĔETF]Tb`<*>rQU&L> `P]xLL> K#KxLL>%0P/akg#DҚg$Q>+Ps0$ɑ%}<(}*u >0b8L\2$ W#G4*dNTbJPFT2P@B4Lʣ&luERtQ8N^r8 QTJ<*¥r8y$U'\IEϩ\IETG2≤[UDuEQru)F>IE W%H.\#G SDLG f7ذ#J129[5RNU쨎&o:ewbgo~5;} go8 Dl? l?l&va7 _q3qtp{@=v?o?HzZ=vo%] ~#o7o ?q3߭}`~S}P=7~%?); ?] A_o@#@%?)!?|BV~S|BMuMe@(?) t7qM0 ~z0~S|op!ߺ o/t o?9A1MA뇮$?|2CS2t ooOt Oot8?)#?|FDCS|g7Bt5?)J]J|H Oo{V~S|H]%~!?(%1AM)o@gǮ]% V~S|J{M(-@$~S|JEGG7¯coAYM0QCo~oCSa ot5?)&-?)&"{MAqM\~S~E _0AMt&#@$~S|ɀ_&5~j~S|/GG7ɀ׺ o}t=v@}77Ὼ oiCOt;?)8AMJt~S|St뇮O/Ct ?))]*zQg o]*g7A]*tzPi7Aߺ oECo Oo@<>p~S|7.?)NO]NEB~Q|Y@~S|Ǯ(| o5CS(co^+?)P|oH}5 oAG] 2CSOt OoCt8?) ?tOt)/p'O/ot) @~S|:GG7A]+Pⲏt>j~S|X_z`g7Ń|X}],k7ŀ7ŀŁ{Z~S|Ş.?) AqMl|"~!?({8Y_|]Co+?)4CSeo0AYM?z/:=vP Oo*AqMʪCSM}-?)TM7ʃt*;*>j~S}7ޣo_x4B~Q}87"OoF=v?Pj~S|Z=v.CS#oC?t??)-zhzh{7zpzpy:o;]^+?)j~S| Mt7GG7;]//zx*v=v?=v_hY oB=vX"v=vXPa oj~S| ozyt77zx:@<>%gt ootG7M|/@>>{3_]Xy~S|0/t5?)X "?)XZ~S|;A!M| !@@iA_YMoC?)}'?)0{3t z Oo%C?)0"D~S| ~p&vO4&v`&v!3goo8&v z&v ~tbk_3W5E3&v@ LWL嫿 -_-L LBM}(k#;}(~ 8p9[lU{ov@yʷC*APU?e[68*Ae[9@Uge[:iV*3*@ZUʷQo*şVN'4*?2*{>UrUoFU>[:pURU^U~^Uo柋 qʷq[9[:oUJz'۾%#_b W*|C|K"%rKS,G|J7ķģ'% E(qCQ|L)&Ee9|Li|L{_|Le & 7|L w01M~{C߻7ߺ}G!߸e~ pY/Y%xȸ0&2&b̞3\0#wɁ.,L }`+L``,L q8E|NY'O|NK|NO|Ni_q_ڋq%|N 8mWXI|N;r._fwloa=@0/CLpm}{GwЅwІY!- /HI.e|RG}H_|RoC}Hq/Cb+$)-QF'*o1MPoŗMpn/ʯl[|TNQ'O|V99_|0NqEͻ/o%}K|2|8E|yķKL> 1e|<{|w|naX`,k, $X ,5,:o@S| E 0n@*7l]| v@ r 0 WK|`g0[0_r>ݾ0"h/O% 15 {@d] @dW}{/89}_FW|@|!c +-7G K|Bc Ϙ_J8o0eG _G A/ _C>+swa _A3V3=cmf,C|A _og5ӯ_qIqz"73QC?{f$bm?E7'"eQ47'QC?ǓTN¥IU3%Lgq?TN¥IeD*]*'aRq?a)/$UO7'L0]7'9 I즢4If_H暦:c-Kq?7ɋ)ز7'U1;^$Z*|q_?q?$7's7':qh P-0Z*|qnygiY-ɝ}9oL:'ygr9oL/ 't[r?^+4 Oyg{:}9oLE O眷&wA8C-ɝ9@dNs[;U3ǿyga)-f眷&w1e3̷<3js[;TsM9oL{fq眷&w㝉8s[;Q; o滞r?|2n眷&w`ʉTs[;ic'_-ɝ*(`nyg)~OV眷&w骊^Ny-ɝRw<3j(cG׹-ɝWo{r?vNV%cm <{? $t.m _%8¡WsB~ym˿䡾;a$-ϵbd<6]y'ls8?UmϢX6B*e{?Џ2g6v ͶxY=e e7wā aQxlE6]3[='120<9<"[gRgo{?'_[g-gk){l){u[gR{? =g6v m$t.oozs{a@%mm˿s#EaL?HϿB*U{?!6Ym6;]=lHgR{g`$p=qmH_mPemPV6{=rؑemϢcq$p{fvKlG=%o5g6vD_mmxY=ehm_^qt}p ɍmw|!p IL?@6>V/6G-Ď2g,H;lߚ[gR>mmxg$'ot=KlxEhtmz={?lzCjpm={ 4SgL t' {9| NZCel;tllЊUmp?1g~lyNbG=p=;#){m){/=emHmOǿl<,MOmI2ȶf! 8N <m˿m<"[g$p{>xl{?>ٕ{>v fv({lzCjpm=[% 4SgL.V(O[gmyml>}m\$p g,H#gygR>/m!g@Y[g=e{=!?CP?-$t.f%B[oy?{W_ax".@im}$UmU{?'=v(Ps0&Fy|I?=ч6/l=Og$p mĎ@=E^=ѯ3g6vlI5?{]$˿w@n6q~9 ݶx".g78?-ϿB*U{=!?C /% 4SgLś3틿Am-4 ?!?C gA[gIΣe%Gwo(@ϯe%GN w}A4l*=%bOHun ?s=mӊTMgJ2=EGolU'L?{N*¥g)rp&iT TOgbmӊQlU@h?l{O=ENQqT^`]80R0FiT*FmӊR2l??g8Hl{O[m qT#??lWml{O1iaG{Oۗ="?lgiIw{OBOl{OBlU&/R0L]mImR ?ROlU'H8NH?)?lU'.R0N= kmY'{Obl?iQt F F??mӊF gVg⨸IrlUgV?8.H=iQ{W(iqmӊFgV:iQzu#?i/i +l=+3=F mXgJ?qT```=gX?8#_im`%iT)=}-I;s*.VID<i ?7ybdqey%㈙CV~=,=$ϼ=c#QkKTXiHZ!jDHZ!jD)iKN頶Yi-_9j͙TqD-vԒ\ZK%<\'~$J K"9OWl8v NꝄJX2v.SU1;^HigLNU䦝#QTk禭#*(EDU6GM"i4ʣa=X@n lڔ$+*b&bb&׃./usr/es/sbin/cluster/events/utils/clpr_verifyKeyvg_vg(! 018:_aceilrst,-.234;=@AHdfnop "%(/567DLP`bghkmux| !#$9CKNRSTVX\vy&')*+?JW]z~Qj[{h8h?8B-m=od! N7Sѕ2GL-F:BB@0_[FiM?bV~Ih_h:>. ?5`> ej;kã1Ώ 4#e>UI2F'0[a@x³h aX3 ^Ng`u72*1b"Z$D_#eqEMQW!(*V\HV;p0vM=Q塘BuU{S*52R&I_;"lX)C&mjUbWR +UWW$yaQS. ?؞p3U1ϝ +>H>&;"lٵ,Ŝmhh8g80z? `D$.n*< &Ӟ R@g {a\m0W {F5EmŀTg Z1<^Dq kZ@gm48@Th9 m!+UVmg#w6@ [HlȂUfP80)cZ8 Wj\'${L_jvDVd9 m!+UVf4EvD, m!k" EV,?g? U30,ɜm S85[: =\h V+Uga\z.zz֤vNz@&^V_W`Ty98ҽ֫A!^f ?.A&^薵Z l#AirCWƚ6c)26@ [HlȂU2̙ǝ3c z+f0gb/`Z=Xq5ǫB<5s?` $MJ(V_=Mls\ylz,som5Z3UV@<¸.z̉_=Lm3S\zy@zZ 1;qUv:?[YY50wU[Gx#`Z?&`ki , BfDl 2g{6.@TAgGA_i%y ?3+fũqt=6.ނ<^Qp/<^?4P1͠|\D/`P6d.zuǩB<AO:h$^f m\IW@gUU\nW^P+U3>f =͜z#_>ɕuǬf2g3e[ `/ \Gh@/Zr{8:=J=Q憳NzNŦ 8$ԫ UZq!66B<ɫey@rZ E~ +ӞaSi9p6A&^)cZaGPshD +oW@ V;W@Z h^֫Ajt.z̚6WÊh 3~DӃӲ' f9 BmIJfaDL(SE*쉲XC 6A2̙+f<_iT=L#X+3!8g{Lضf6͙c#v Q* ,3aDGcΙl[:65^;O(Xf Jtv:ΙlmųlCZ-ӰTPL0V܉NA6-3ضu\m?hkY;)܁6-3ml[gU[;;pJ̈Td^NKZ~W CX-gPFD:W+UώlmddLmeq-UE\z.z̚ s@^(h+P5j+%~~dN 9 Bm(ĒO2S3 "DGG6@ [Haa6 TCf9Y8Tz=0GWf }^Bp m<SyN[pG?4P1`m5\эqbS^(\Ga)W7Zy}a?` `R+Uڽf*شc0}@RZ6$.zzZ q5=J=QWY=d Zog1.H$ԫħW},hg\m йO2jh^' ֫AH=J=Q,Ӟ FU `0djUUUV5h#hmm)jF^% h+x ֫Ajh^' kUpH6!1{ioRO2S3 "yc&`ki , BfDl 2gl\d/>1<(0Kghj6\*(pظ;<^ic>&L_h mF(\5RTyuzAZy}a?` S&^$ ֫A!WWJ?4Vţ93*h W'qP45sAqaCf-4dħg1.$ 5*"h+ؾ6u &6UYkU$WԡseusAqaCf-4e1.#Mx5Vա&6୽^$֫Amď֫A\mujjF*WZ~ȕpH6!1{mlY=p{6.̠+gFF+Hic|\D/@yq(\5RTyuy(Uy3/32MJKZx^ 3h{cp7 "rxb?qt~ʙ6.n(+fp1>D͋l \b nq,p4g͜np7gќnQnbz ǫ=Z255%q'@;l\!V? mt ڮ=\m3W\z.djic8؜_h4qUǙ!s`_sh+ǘW +ӞeXk1og@RkU3Q}%qZƨ\'5q*P-V<_jԡsb9 Um\ RMZaa@#hmm+U6U<^JƵZ _>g u=QI8q*P5Zq4.m)< 3~=~Hȕ>G$HC½uUm>$xQZ&Z866@ [Haa6 T 2g[80z? `8X6ǘ@cX# >=<^!?4P1 |\D/ /gcjllS^(\Ga)W@zZ W0"?@HpIWUj{GpFҸ+xf ACfq5e[ZW'3:l *Z q=qP29 gXj[? $ԫW jl &6 VAHeqP1ef[35nxppy VAXjsB `Vޯ֫AmWVA\mVA:hȭɫBh 3~(\GNxs` 5*@V+ V=~DGm!C[Hc U_,Lˆ2ưc-?d5ͬ-َAd7bC`z ǘc` u ` ' Ugj.f#`^ ֫A\n eSiVmF,+0B嶩<ޮ=J=QMY<s@ 5*;Z{LW`Ry &ӞjU`WZ RTyk4~sgpIWfZ pʳ/fby@Ujk>L1f9=I憸(\G5f͊`R#Z ǘ+8uǫGn;06kc|acRhH`BpI=]qbێꫴ3ǘW`ӇGdN 8rCWɲI'Z92o;"l h5  / G 2gf@ ǩ}_W3?gdٰ/8gd2=QIҽ0<7. m[͠ Y:>&L_hP6gйk L9<h$^f LR"j{a_>ɕ`PgcyLl1W<pW8ś Gf6fǝ6=P ُYlpɛ3f൛clpb͎0tz?؏X8!ǎ4.zƅ*~6Wh+<^v㺚fc\[ D0Lg! cH 8gzqf*ض~@>ҋ\6ȫ$.zu\z.zr y#Ȁ+VA ! *5f^?x 5*lZ l_hvqzn\'5q}^ +U$W;mgdU$gh+a}c;qUv_4Vųup8,3*l ;=J=QAO8~EZy3/7. RZql/ ym޸ۺ=IM\mW Zy"z;mgdUarz<UWgQ֫A\m+̇,mrA9 m!+UV}[$*dfED e5쉲XCfDr &q 3gc}ɦqʲ `&q+oW7ZvEx^|u3S\z=Iq iXO\|gxpZ _~~+ԫπBZ=Qc V JO45$.z̚-z턊lZ m`0Jh 'Jԫώ+U6H\G]q A[<}^ kU lv?[MdN 6>i%' ֬z;"lٵ,ɜgl؟d~}~3mgk!LVVg̫[zϘsd՚s6Rp +Ui^ .Z 'p3 +oWh H#l^Ug%nz>bTyk4~|w\}jU*V?W5ig# ^Z=Q a]A`Z6llOP3R-+Q|ʶ'ՊA#U3$dc$H֯>bTy\g̫b}XtgcR +U3igg>aXSyh '3(\GZ ԫjZ >`RyW%~Ϙsd՚s8 Rh@g_+|!1{qm^K$(dԛDc55dM6 Uhb9Y8a}T }^֫AҼ8V_jvDVd9 m!+UVM6TkDmGO15Z >y³f'՚dY|<aYA3lVO>vp0 fVO>vp0 汚dY|<aYA3ٚdY|<aYA3̓5Z >y³f'Lh+$sa ϻɘgLh+$sa ϻɘglh+$sa ϻɘuU1ϝ +>H>&`oH| pQL;BGY;AYi y|+@&H&@\B:@&H&@\^%d !2*<3WI+L -Xp\unT@U ,iIa^Hi;MTILO15Z >y³exhG:tSeU1ϝ +>H>&byYVIw$1<5Z >y³f'dY|<aYA33U1ϝ +>H>&by h+$sa ϻɘ`dY|<aYA3U1ϝ +>H>&byj}f9gO0ɚdY|<aYA7] XsMIIdO1EQƲ]5HBIQ hM<|IRy <^ax[ Gt"!G2eY*j骊qԲ'n_. bZ&Z8t_( 7t SP?RV+Ku_FZ뮻M&JmAe&.,sjF򮪒Ú')͐m \rB Fp#Η$LXk•,%IX!/-u]}g]uh2Sh夰 )4qdTJ7uT4I; "DGGBr0BsLTy L"6Ct!ic宼[ -.UORC3iMJ7,drJ7,drJ7,drJ7,\reFL%^T;U/gMTTcο i4EOHreFJ 0_%SQ ey5Fi<r4 F `) d 31sqkO-%' ֬zy')I<; "Y5&GM_IJfaDL(SE*М) ]2YNT8tVՓRnU.iX7uK^aLˆ2Q.a*㢲P10 F m (q P2D0 b b4 BV4t*ge*XG$S%30!Lp/q 8R.4$uLsֺ/pU.STlɩ7tV4 hrKZΠaLˆ2đҕ%\tVUJB&H teN1C!FBLCdF(BRUSTlP{K*dfED e5М) ][ʱڗD ƒyGs&Ҫ]EKaFLARe,# i 3ҲQtN5V )p]26S4|'.iWTRRUSTlP{KxQ %QFht{ WRЦ!R01h]D@bѐ!S%J9cT;-.^R?')Q)TKL.HfbSYZ#e^ՓRnU.STl鼣JulsO*B6vZ(_BƹcHaO2S3 "Nf.iXKݢX;D@:^իudԛUJhARe.^cBKTsOJHIJfaDCyhhHBNf.iXKݢV #aT:jM* HcB/PTh} %9AU$|LˆQ, *3EU 8R.eD0]7pU._C&Ҫ][ʱ%o ;-/\ARe,枕T{)H_EHaIGR*(A7{oe =QHep{) h{)Q%H/HQm{)EHi9GR =GR'(AH5{)!~(HJ=_:Q((d_=Y'ҏmWQ~#(dߊ=XaG+w=XG++mV2mVRmV"mWa4KIdBXsMi dBXsM`Xu8y?DqP1 5ڈ_ha8MFJFFNˆ2QaiyqhJ\ R=qEħWzȦ]5^EsξHiJeҬtg~(Tm˦≅FKϺ/9]TRO4zÈe)榯Vs=QHmԖM0.Pޤ?SKpɔ"JS.4UCRETqUCRU ^$d^e1U OSJ7xFoTSCxH_/B7dH*D>j'$Q'y9rr#T-D5$L:Nwҧ-5$.PS9oRH-D5$5%yBORWGCNTG IKH!)zRTB*H)U 'ХH*DGLJ2hrUB*irĶxaD Brx EGCNTG ET-D# Q> E#'}*r# Q> E(K Ew%N'ᨹwtI&B"uV-P} ɟ.B"z %_.L)R'8 D˓@"㦕k(f-yE/8i!DHrOJ TLB%ɐH?GCNtIqTL]9FbԪ)I.]İy Tװt(B",kK!J:")R'ZO}$ROD@UR!|%ɓB㦐yN!S=,.XKм*DK 'ХH*D֭ZDROL7,(B-.B"y\o _IȾxKо\2z %_B"se󬖈KФH Tвe 'Ф-.B"z%ZRA a\Jk2#5HQ>)R'xtg^*D)R'dnXQ>2yN!Dir<-BHHIΗ0Z !J:_B"seB-} DHduG zRNd(BHC(uP} T!J\#ɠOD@U} DɐHU"8i!DRN皚\|#7yE%I3 B"y'a g˞B"t%  &0Ϩ-D%J:NtS aD‰e8aT#7-QJDyheL\/'aD0#yGJ rd%ɓ%3EMQsL)BHWS,F!Mҗ!=2S4Q$)Bd`OLtMR!:CS(!ijtIU(A7ˡjR<7f^^Brx|2O*ZL\/'5tGTBPH*DKQ Y5J2%3EMQsL)B-.Cze]L84_y2%3E2B/ 钙)BGiuLtS.ZL!J:CS(!ijtI*y;_}:$&PHZ:NwӖ+ aDDSTB3}!rKLB _.OL5GQ0 `OL#yG D`OLt hHLGLz!L$5>Dt< KSIHj}$ #'-}x~H-PJy;-$5>w--N'!GCNZ$5>*y;˒MHGM5PsRjAS2Ц.B˓Tu9Y5CS@0'Jf昩:i4R&CxF*jbpXS@*D0'dl*:i4S<񬍄TTKg֘S@4`Oő,o4MQsL)BZ\񬍄@z*jaM`N3X)54K!:5!0'Y(l h0 ^pqO*ZL\!|<.DtwS-5>Z:NtD[gGCN^oϨZK OH:NwӖLDt< KSIHj}2ew--N'!Ū#'-}x~L\j',5>Dtij5>Z\jRzfb-/P? Oj'5>Z-P?-J\s}?S-/OrU Q>Sɔ-J\! Q>S.Oj|BOHj| Q%H!-DTP? OP? OP? OP ? OZ˔-D#HHj| _//Oj|Zj'~ RS5?O -D*? OBO5?jOj~ Q>}? PG O-Q'y;#YjKAe&Do-%k 'AKNWIP |Fk-Cjp.^rBdO((%kJ 0BdO"ɩ7]İ/5kL,?Nu3/] OUxHuPDtEдSR1}R ! ?ҲQ !/-Q-9]$QB4/M9TTFB"JeX"}; $X腁k %+(F"i"zO&vELˆI)d#BA$S%30*dB4/㓈GQ eaF_-KxY*g) y2E"wN[8jJy;<ORWGCNBy5%Hj'5%Jj'~(Z~j'ҧ8jJ-P)|?_>?x=ɏI=I I q'txp^zO|85 I;9|8 4zO|:E{O=qa=/@U/d^Ǥqq=l_ȉOI =ã{@1/ }ɏIQ/{Y= GLzO|<#8Ǥ\zO|i9|50Ig7#C/ǎ_#VzO|>MLzO|><='{OIY=x+_rc{OI xGɏI$G{ 'S9|@):zM|@ag?p#=' 6Iwq IOrc{M=i/V/j&='! =p_'ѷA=txt-&='9|Ǥ85&='7_ 8rc{x{:ǤX{H_)gS{ 'b?=OIhw+;&='+~='+IOpI~=',pI+9|X }'Ŗ8D^Ǥʐ{1=>'ʂOp *4qʘ{*pP&&zO|4='{{@zO|{p>w=|w,='Wǎ_G1='tx{ I1~h"rX'/?69|``p` "rBP ~G@N_Oq."zM|"N_N_N_b'/~ЀhV"'/xB"B~B 7ob G 7Rolodloe#_QVQ 7(goe,?VQFR>$(A'oe!0&(C 7M((A?{)FR~DQ~ణ{).(AoH/XQoe |{)%HiBHQߓoe!J7iH5FRBFRC{QF+""(doboboboԔobO`{(bQ7Zeح7Zo%خ|8jp$ܾ1aÀjp p`^G|:$S/U2}Kàjtgwá!aK C|w r[I|6kx6/cS_{WȈ'p'nI+ȌKK1&$wȃ IϾm_!۾M)_Oow8xb[_ܞx vx`Fg|?|w/×;|{<aC|#w_k,O|>&'e z|nN+ e5xC| _$z ~!$ke+H$ t ھ "۾ +×a7|AG|@amX0_|M|@b{iLS|B_ʯ` y]N7#[|B>_kMk"D _ N-&"M(0 w_|wA1t1Ձf5pBrR,+^{9Qo|}}SZ=%!_ܾ#g=|F##27gXu#ؖb0a`($w_!o C $1+A,$ wK@K|H @/$?)ھ^r 0dwn!wb;XĨ2kT8 %WoFyE)*%7ġn/+PM%;Ġ~ip_;o >_M`?|L _ ?|L8~`~a`kX~r,E|NISėq59M|OVO|N 0r0/68(WS|N 1]8/ŗ*' 0~6 pi7WɈ57ɉWɝ&+/!޾Lh4ɕ鯓 zkn-Li}E`Y`aLBA]|Q|  uw_|P_fW (:Wg|P<_L3_o4&s 0sl;||=|G|?|{' %pkNClQ|w(A|0oY}Q}~[}a_t PO|T,K⠓Q|T{⡞-_1|Ta5P'Pe@/*  o̯)+#C|z;$_-|3_n]_| j@n@c|  0$;Wϕ_>"|#|k$~E|{ܖ#|0ķφX_?m  ko%O?/QDi_-._m'_L?kG{_ sѭy3W?+Ї~כC~m~_ohk};[~_o!N.{=/e&{~_)KG[~_%ڭw_!{)e_쥞߶IFin_ЇgPl_l\5&LmˆϨDjJZg*ejJB"= I T"}/{.Ho= Bl\5&P'gg ?pZO= E"eQzO= P(= OjTg e prl_{/am pԑl_g=Am?=ImeUggg*U"l_gQmeRQj,nol_wmˆTIg{/{/{/e`eQk$l_=l_pZ@DZ=Km{/g{/gMmg{/l_ ?|eQqj7{/m>4egg|.e|?>=Em g8{/Â_l_l_Ol_l\5@@EOl_,etGm?m??eP=gZZ{/l_ejP Rg/{.=@s==gl_F*ecm0Um0g ?Fl__m$g"e g g$ H$ H HAe 0e'egAO{/g@g@g@l_=0eƿgEm[={/_ ?p/e(={/BOl_%g0e)=e(gF+el_[=1{/c_l_mUm=6C=0$el_?l_;m?=B/l_gHYm Im Om =COl_gHgH{/Ā=@=@ gHl_egHol\5%*9gv}C|8m;a?o|8kkGߩcʸnª!/=ҟ>9i[2Z˿ku %hw [g-pm|-T!DmVKLam49[ gvtf._g rVm|1_[oM􏽠 ;sڮ<hàkkNWI ߝ[gwv;lza`V;<薪6z$amogl:3Jl[g?@OEx OmG*6|Wku/(+lE4["V,Y5&/l SmǢHQ?@ WmFiOlC[m4rgʷD 6VU|=n@!hwIFhm|O+`/նyd,?g<hg44mzƿL|um0!ն{Zc_?ʷJV G|4ml%&5@<hH{_+_jM`_l Sm0W{̿1cY 'm%;%C;l?@gLG6c4ux0{HmZlz9Vā`)}[T/l$hw` Z3E vV_Ro gbG/qyߩc ?0cmVBl=EТ2c{ %C[l?@L_h=ҟ?iex OmG*kk-+j[o;9'g-|&gMl?@ l<Тvu!DgO{;l?Gm'{?6c};l?Vqq~=z<{|]{? ǟǞ+lA=U@on^Co%o|$Zpdԛl Sm8[gJi]{l/MCkl:Րlmm)߶gmǙrQ?}kl?@۞=pWc4ux80Zlz9V,V aHeI6_Co?o|R vV pwmy7mI '=4(]{1c0w1c̹j_yh=_pmmFiOl¯ lA=Ux|`)QnB#3( -o|Y/Y5&/kl Sm`]{Ɇ&67c0Uu!Dl=B+l?G~%{ģnpBm{ɁMm` 6tf.L>Zlz9VAn~mh-l1t4Z3EY6@3 OmySm`W{ɀ=="V&7;c7=ҟ)9i[Os[oaX=^Q]x"њ--?@3 <@A[gl(7q ><[<)E=-( } l?^م{!D|=4(Mm(3Vtf.(Im4rgʷ_+__,;+wCoW=x"њ-m|1,?mmy7m)]mjTjL@D==e8-eRhIl_/l\5>j9gݯiFq˿mh$G2BdOg-NADB+l$pGMTI]mj\tg 5U0w{^n״tD^׶׸Se>m8k8jA׶Fi[f᫟a_Ї{^n×3mp[d3T3 bc~P>{)okO%#>즽m-ya#9NVmy_(wu5_Bkk0ÿk<ˍE8k5W e~WFk-Rkk 2tt 5U 8a| ݯ;骅0^^.7GOͶ8k`]ݯ;/a*W}mpeyHᮍiSv+PZk-T6Y\n܎ 5RVg~WGKY׶׸_wgq:qm8ka$闾V;v+Pa$闾V; ?2ttὶ8kZ‰TXc~WF.mkk5ÿk<ˍ-]3+V vݯ;YX}cOym_τkC l;̸?vHᮎ5JqJݯ;STkka5e?m hrBe~WGKE -mpOl;̸?:G >y_(w OWyz 5:ekCI/{^^ ÿk<ˍ 5‰TF,v+P.mYY\n -] &]RFc~WF‰T{m{l;̸?=G >GVכ_ϧյwgq:pHo`kCo`kk=ÿk<ˍG trGJ*x9#9_$G4DK%[2VD3xEA8&ѣ,F2h,F2h}%4Y$O1dHYUQ,k)eTLeXQZy4/%u#Ϧw Ps*ꥡS+*ɪzVA8 Iheyu$N⊣j%e1LjqEQƲ]5JU"ҕLjyS.ꩢytEB]/geU jtQ,X^p:tEB].b4eі#FXb4eі#FYM&JmAe&.,sjF򮪒Ú')fU]}߅l/ ]HDei-Fk-Cjp.^r:*6 %G5#N)G2* 0LˆQ, *3EUxQZ&Z88?QZ]^jqzW[˳l>l=E uqy__!$Mͽ ne*g}?3=7 HJ8_RCji'_ß"2-[d9lvo o ?{01)x@!A!<>6~}X^?>Yf-AW] hxaJ kWX/a< fJk`y5ϲ:ͱz ^J`qTUndh zq{w$:(E; ax Uzk6+y a&iZmj5dgرn c-Ҵk6V}\|BiZmj5hQ;ϱc9r: Zhm"w՟bruH5J kWfYT +ެBV}hn3W^.GM"c*V%AmV<WfYT +׻YzTq'/g-Uk%̴H#J=?H ;Hq \@!t[h3)_5 X0pff 5P|!f_ Xg*R'}YQY4]Ra5k7Zk3,pʱւ3Y3_5XSXXcfXfk1h35Yf(G,&k7Sf0CaL!ff@lcaacac%mfgo $Y&^]*:k 3caacaᤷXwXXw ,4['-a eڅuacaU+ КUk چ Ũ`20lPcX`1wXhaYmCb-X`zmZP%ab0qa w`X`#=-gB;چ kȵmBH ZXX,pgڅeabzڪUXXXh;UGm5-nSEah56@GxV + k 5{+;ϰTV}k@Pz: 50xVC)PG|Xy92e`=Z &k0cZ afvڅeabzںzM}Y,Vf'UXXXh#KV6 Gc+0+W,C.PYXY0O]{W]A 5 ׵U浅 aDN ac`W"w%T}_jfK> 3%afvڅeabzں `kW,̑;ϲXMvyD& 5o=3! i37H#J+@u$^-4j8ɪLᬙrf0db_ɪMRA[xRzFnf4{W^bNr3sG;a-SaA vZCA/5jf.gZ Y30YzzN]jTVA[vFoo! ٍ3A vZZ~g Uc5j-dk1,w՟o@aY {1tЖ;ϴ0ɬY:ZɪLf.kTV%ɪMRA[yE!(ҽy]m fɉ 7!q+V0[ht 6gYHmHXBkdC^VyY3!md əW&VmB 2b#^gMUl#^WL}u1d,x͞yX{\ 5fZhе1L#Y諓U mdW&f-zV2=u]v1Yk=mna棢Q{e3ª$dj?7!q(\B-M[h3~fGv1kY5U< CMd5aXWk&c\N}rf(oT}Y(˪Y+WY5ɘw՟p#ŕk fP..fTVBW&yj&{[>+P~zMrU&,_Yβkٶ$, T3^g@JC#gZ 26z]j5?^[mYN좹8Ya5FVۣ7H0]j:!ZD"+yWLʈQ4LCf4Ui.!ZDjF@J G@3k 1 !AkY5P|@a᯴̈5fY8k#a xa1Y[1 d2f+1b3_B^o5y"dG*1y/r87D絛Y\N8b+Wy57H!2e WZ &fY BtM[IPݬ5m+fk!⡝&Ʋ8k\w՟aV*^}W\NfUܭnma!f0" U JkBX3 k#GEr87Y&^\fw\N첳m}d *nVͷ a!f0$kaTWp@F[̤QZ 28;YZ r87YzMmfUٙc(G1XWmfA ŵٶfzʕVmHN5!8{[7+ 5ZzS@F @)粨<='YxGkfr8{YaݳG:P yGa Vn5ٸy\@l)@pRCP yGa Vn5ٸy\@l)@teLxz;OppaMd' t%4 Hl$=1!$C@R!쩏Ga Vn5ٸy\@l)AN 7P7r8ʶnUYNXQFzJpn)&^_Y+TV}d'a sd#Dǔw k28kr8r68[[6]yR#MR'}YQ y yHuj5f*mj05%nan:!ZD"+M_2;*#MD#9?A vBFaxt 6:<[Y5P|@̡ ̈Y2k#aHLU ̜%5n!2YM2lpxn3)k#fUْ'}Uz"w՟i@^VzAGP!B:]RR^\Hnm+fٔ$,+R6g\w՟aRu/5HgefMCl)feb P˪YWGG;AJl(F̖d*a5V}uɪD>k!6gY eb8]RPzm0(@FQ f(;^=Z r6d'km<2Yuk=mxzFkD+HQ{msIJiʾi(\C"5o# ŤV_Vn HmdB?2L&PG2#kdl)k#cq!3%>klC&dBC_6p̡!|!|3@^F̫$NɪD>ӎ>f-^PQ|~ fP"U˪YUkm 5#@`Ͷlcv$dlι3D>õUj5dlo\NfNݛmma fP$.f'SZ r:<9٥r6hT}W#fK1Dիkrj;ϲ͵iY 63B']RLC^cxHY R$A [N(^5Y^2Ya5՞,F̖h@;Z &z t "YVD;HJu&|tL쨎j7!q(\Bռ/6ͬM}BGMSRfԁ0PG2#k׀Xk3tv>>c8>ב@>|}&71FS f&_d5#f'3_6pپ#rfHU+TV}}z̘U :PGNa#3u|#4 :h@vGDԀMdt7OZmdtvGGdu,5fXY#jоntGC: vGCƲ: zGAYC" oY\N䊫*Ry+ZٺDi`|n5˶Merk;+UYҶy$'Ma;A 53Lw?^}rj;ϲ͵:y761!!uK1) z@Ddš”N좹3%0VC J%rj;ϱ}fYd<71!TZ d<7 DbPVC bPֵz̖dWVyD%>X>a5k&i\̘ ֯C\'vdC %Yk=mXzFjCA(ҽy]n6ʾ:evTF8enBPiy^-=c_gh:MT#3d8k5~":k&G3C)Lf%[4dVb@/5lw <7c;@mdpo\ ;W&N:kWy57H! VC $Y{ Y@4k&ᤍdlnFšͶpo 򑝠 8k\w՟aH#^}/MR'}YYY^ͬ$ Đ/]RF]Z r  @Y8G;ꏲpnj0<8MR'}Y/_Y Zn/Ȱ˪Yej5_ 1 De nk15j0%j5f$%j0j5FĀ^_Y꫓TV}+6@a \!T%kH a5Yk=mAZ ii^o_J:evTF5EYH ;H[imdtx3dBkLx}&e M }栏dGM L":k {8YZz:7)sLb"j5fp̡ P{k1"Zٕr6dLƹ3Nj"w՟ek [!TukLfErf(Gerj;ϲ͵. T$j+<W&Vm!˪Y=j5gdo8Mr5MVfhurj;ϲ͵. !T$zMvɘY5ɬg1F̫g5ac4eʕ Ё%rk!mV3^ho 1LgOH -uii^o(e_Jvg%GzF.!E V.gh1jFAh:Y8fMT#00C_i#_58K\ gMdp(D>a5Y_I92ȃ_f2aB#_6pGlw  q'}Uz"w՟i@^^PQ|~ a!uK20'^\Hp3FkGB̐ Md5#|$s_5 $Bk>hk!'׎uAAGP!τ!2b WGvtZˢwekW%Ykmdpl4_Y@bzq̎Jk5 OH -ptb: Z D+HQ{6 ŕk 8 a PC.f.^_YgLK4^V}C ̌+WDڣr8(@:^_k#daT@z}Q5K4k'}YY\4D>Kp6YBa5,UFVہED;HJuK*TFsOnBVaxG@3k"Vh5 k k"*@Y+uWk":@fX>߮DHgEfC 2nj0^ RdpnbzC1YZɪMQc~"w՟b͵! P4]Ruk6˜MvȀgLn+W,w՟a$a rdVb +WDڣr 3u RQrYbDu@XhP QeoY5"w՟oW":٠X,Y\=aUj5ȁd2M} k j1`YZ cUȀ {֯C\֯C\ Q;ꏲZ@f"$N좳m|!uK6IZ &VyA[hH -@tC4{W[n,ɥ^ʈIafSWzF.!EjFm @3k&p3 "w՟w: n:a5Y5Ь'nacQ{m_Ag0Zj?f}5W2] +@J?(f}-Uk%̴H#J=cv5fZ hG ϳV5fZ hG ϵUk%̴H#J=g Uk%̴H#J=lKhD.F{%3>jCY/e=AVPݰ1 aHh5 &pa>k@L 4!Z#0/V}h. D@ 3>a @)BӝW;g<|OwoB`cV-zfpa>Ӆ4xh !X@f+DfꏴCE!X@f+DfϭX@XD 1ʳCu+rTGnDs@Fm> +^U)d5fZ hG ϱUz~-Ҵg!jCY/e=AVPW2] +@J?(f}&5fZ hG ϰͪ dYBiZQC35W2] +@J?(f}V5fZ hG ϰL^_@z!t4(5W2] +@J?(~/"`D~;Xh EC1DG1;|&>@c;H>o3$¶(B *", O@(1T}\'qLb0`0Y#G%ْd;m aGFoQ*!1y L}~K <&>b>Uc6 *> L}~KFycA?%"#xE|܄w3%yWSU>Æ5fZ hG ϰT^_@z!t4(W2] +@J?(f}MUk%̴H#J=$WHqN,Bz=M1 eٕGM"Kga=I%D͙Tpf4`-| K EE@_4JZlƒӺh-ZKWlZsiKc&m1zJKQ Q\MtZm;٨{syx]*閙Q撈4y;j^9y)ذx*It#OS'_2ׂ8z1RV]ZwMӰ-77үi&uÑØ4y;j^9y)ذx*It#OS'_2ׂ8z1RV]ZwMӰ-77үi1tMLOQ<^/ylŔITX<OQg^קytkT=QME ⵢӺh-6lP<.|tL쨌q5#(4y;j^9y)ذx*It#OS'_2ׂ8z1RV]ZwMӰ-77үifhjbx҉Ze{g,Jbz[='/=OOKˤ|^ &zj(`/ʾ:evTGD51<.bftx'jb 'Q  Qc +f1B02ׂcPXJ4jl% ƁNeSpPkI< M`[5/bno5 _2;*#eD29 TOQ<^/ylŔITX<-zF ^NeSpG=50bhTX<$.y瞦KS8jKN頶iʼa*[*閙PJtI51`O@\ Fq$LyjT*^8 pE' p' $*O^8$'{ʽpIWN {{t'ʽӺh-DZwM6|AjLOWmsiRIqBF>sfUQ4iI'I27.HliI:N(Hf2eDcpg01iqypF^KTWa=^+3c,gtDkf]; CJʣ&lr4M6UQ4c3q9OWG*(Ev+N:bv¨_%4Ө5Wƶe9N$*BJ2|%@(Hb *}:ivJh1z$\:f*.SU9P)G;iX[LuETGTS$_4P:f( >2U#;ibILB$)\%TCP^"*e+IS> EIKԮGe% d0P]T+IF*dIIR >T2P@AwERb#pA1S%TD2'&J9XU8&J2UIL&L:$TFlvf YD2!z$TF|#LDk_4H":tP:j[;ĎP2U`Jf%Q2ĘT&JG)GIRɢ;dMi|*R >t1ꊤQx4UIԧ.)ܧQQTJ2q%T)=ӘQ51ʾi(8M%㉨v,"N^PZgŠPf؉*tPZgJe<(%E exP<( <*R >T\L>&P]T\Jp(H..R >T\^JP(.H.0R >T] (}C .P]T\1S%}Aze*S%}At(FT_(}C(FT^L>%0P/akg#BiM us|D9szTI_O (JB#@*ө/MT^^qyrU)>&TCPB4&(}C(FT`(}C B4"G >T`L>(.H0Lr8}:(}C }AwL>@_$+F d*EQ*dJ\\_G, %0FɢCQri|*L>(F$2;3!J[%QS5`1D*$TGLIT QD*M/,*ID*%J aQ+ &ذb䨓%Q"#IN2U :jbFx @^G:ؑD2TPQh:(}C'P/2P%..P/b1S%}BR*%d#Kx)>ҦP/c*'#AR^q""}0 Ra! KC*(`QDv,"G( Bd]LDPd*$p":xQ&JJ8/O %P M+4CyD* dH2TIME3a8D*xS%}D ETNdFiK 0h>2U YL$p"LdE&JlI!z$T.[8@Ijfq2؆)Q@^"x|#HaSJw_1 %QP#d%Prf$p"/N2UDCI_;0EXQ&JV+0E{%Pv5YM8@1J2U W%Jdжv/LES5ĎIadmFK䦘!/SJh ͦ7gR,HD$TJJia!"Ld)jp$p"/N2U &_1HD1/D*u#P%d%^xC/}dHE*$T-!N2U dH%./D*bG$‰2UD*%}d%z‰1rTIa-8&:$TKDSU7b1DI_O &j-/N2U0[Ԇ8%N1/D*rzj1@i.JUSK D猪I_N$C;IHu#x‰2Ubx D*(+ €8*~0x*}*QUCP2jӘQ51iU)*qS;'/D( 2iUØJ:")㦩*;$,(QL)31' Bi9)$:tPZgJeŠ䨡PUdJ\\_T)>#K(TG&>T>JP)*QCUP@L%HF Z6TMLs ҕS;'/D( H{dv,#_3z"N^P7ITXE &J2UMQ &[q&D^d)㦩*;$E30hfĞP>*)㒙bO ( JLL7xQ@Pjfq%Sa1,(%PUdJ\\_T)>#Kb!S%}DL_T TCQS*JQUXCQrT R>)qri|OP%LJP P/ԮG&)>JӘQ5115@M%㉨v,"N^PZgŠPf؉*tPZgJe<(%E exP<( JP* OP&L> K#Kx2U2PAi|MP&LJPøt))42u4\q5ńI>%Gt8|gsxQ@^L5IQ1'TQ"GMRTwLuYMxQ&J-SQ5IQ1'wBE2r <(Š-[ه4t%GtĞEQ"FqTxQE  :$0J oLIE PaxQC (TkoLID1/E XHlk`oQIATPv%'/EXQ@^C3 f| 89z(Ez:Q$^w4P@LB*507$ibzuLζ$iJ\^:l#lH%D+Ө6;\j"0D%Q!Li3FlvtFʪ"0DIZgU@2$D]US*lѰhJb^"1[4l$:$iP86_4r6| 8"aD*ĔO!il#P@IjgZw"J /NGd:ELM41z`/Zg(bh‰PZgsTbP+x*L`ab&BJPe& TCP˼*N(}C #.U@+ɢTCQT )>)qri|OP'NJP@_ET ԮG&)>S*9NS@4G:ؓ})&"LdIQslID*'TCPB4& S%}BTx*.L> Pe%Gs .Je;e%GȟD*ʩrؑ2TIQ(2|*.NtQUqr(J>GTU@\`*.Jp(HbqET\GG$ ҩ\`bW#" ө\GTW#" ԮL^QUyQU|*W#LGT\(MMm5i q1h/$px88%jU@dQq;a,q6MaU2e5UrCda䋗oLLI*3a$pxf蚪1Q#qƸ턱ظij5S [0Sx88'4e|aU2e5$p?IWUIDLq;a,q6.KWLʈQ4LCf4UHPgD2(.+*&C91#Lkgi!@Q5CiĎQ5TFLNU8%_2;*#MD#919Hu4P@ʽ+QAwaɣNs4|K)L£1#Lebtu#A#q c!|GMLhaPA1Aʾ:evTG* #{*%_4Dc5r4hJebtu#@7#q c! `LZgeDtLoSH%{*RSES%ԌX|IkKq J]i&uÙdeHT9e1'l1ĎSEhJ2bv©N^5R;aTHg昑8\vXl]e^ʈIafSTA!ywFc='4JzNWhUrC/zNe:[%[='+fIywq c!y)EFq# x88%W:evTFq2LbzWLʈZg[lΣe%GpxS7ٗHv8(˼*TERgԮJ1Q)>, MI>)qri|MI)> 9lh:SBlę*'%}<*fę2$NGfBPgIOTJp(,U&L> x* TCP*JP(FəTqD-NJ8|EIԮG <*)\GERxTG$+"+"*QUQ4c.N("JIE+QT_G2GEQyrTx*ԮG IPR <*LJP BX1I1#$ذH87a!&;Ig3bL_:#j/<ScW*UQtMPE#Ox/(&bR%TqD-$QcW*UQHq;a,q6M&uÑØ8q jDU$1%^ʈQ:acxZg[þ(}Q+aJ0J'Wo }4~S}OBWo_Jg7s]`}&9}?Gt ~#ozYz/q֏]l0?)E ?zj~S}!@M7f~S}1|MzG@~S|>/ z%AYMw77@'?)  o=M0z ~S|BQo@oAoCt oAw=A!MJ?\=v _=v q7PP~S|DW뇮^p~S|%(CSzX}V~S|o7@/b|F/CS6 \=v"@~Q|H7ĕ{t,ĀP@I@ OosQg:?)%/v=v)AYM(P OoA/ Oo@3CoA߹/G7Q7/AiMo~ ?(L7ɐt1gs']L=v1 o0&GG7ɀ3zb' o?=v]&O7O Oo=v~_t8?)& Z~S|L{7Ї^.?){t_oAiM@~z@u?tzHICoV{ǮV~S|R=v߁!׺}Z~S|' Oo{T~S|)C}Z~S|7K/^?)Peo|=vCOt( =@*GG73z' o?=v]*O7AO Oo=v~_t8?)* Z~S|T{Ho?_)}:~S|<@M':?)+sǮP}V~S|V7CSŇ+?),|X Oot6/@6/t=Z~S|/뇮 ?_!@MqgOo_|=v8=v]/ozx]V)AYM/t5?)V7]VǮ+]V{{M|o!M|1M|oC,A!M|oQ7,=`sM_t=v@t o{&?)oݬ@ MC!,A!M=v OoG3 Wo I ]_Wo &߲}+QJ@J@}=}Jj;oτH?GXA_HH%vhWo-ډ]Z Į-_Wog][gJ+߯ 1-"%vQJ9d%vPW_?bUe[V%h*[~pU~ ߁)V) 3*!V)_oaV)3*!߸o2RJH1̫'VNꊷq(U~ t_ w2* *o`'UVNcUe[9%[9)* s_ӕo%*?(*'e[=_U~'=""wRy"[;_­/\U1*!VN?'_ܫ' ob4' pK' pVN VN{[8*aVN ?E_}0e||BK!,/w0lo! A!؂:a_,'I| ~ n#]@C/,H䀗_$-@_$;dBO|DY'/bK#_|۾PG|(E/?o'/+A{M|{O|9/A9UPEobL*5⣌a|UV}|T 8/m5P*<7A1*E򕻗Yh/ՠRyH!WA"Rb+!"Rb+ _)H&WC|E|8ķAW{ &R{ei⵸~U|WVY-+_0v/+ewc+ ~4/._8Y+waޒeaX1+"ioł̾"cM`KU|X p1|X+Y],1`1k;,pEl4 aMlomnX s[[|ikd]  1q!?_b+{&=pho'̢8bw_ʐbHpvS]Tg_*试h2߾T{Tr@/T*PuTj]&yo,[`j7>۾v _xŤx/B.ū2kѾ&-[N47ŵdŵš~*-`h"M_š--8;|ZE0zY_'NY|]VI|\;}ͻA|%$b+;$ķЧ&׉47M/Q|Ut=oH /21m{/Uewx=|^x,/5 a|^I|^y|^;˯}_Lc|^_ExyW]M<o_+4+5I|7[cXe_+ Xo+X.‹<Ȱ9|{o|YK< <m0r;%}",G|3ėM| =|2LI|Y=|:W,Y=}7o5 Xdw6!X 2K倻e_5@(Co +`w_-so.pv_"/! a|`g0/oiz{nC_Iwo% knA}G}I}E}y-K}^Y5&6S}./1e\#ʯbX=|>;, _,_4ςio0 !/HoFYihwWK$V4 p1| h7 xI|p3|"k/FGտ|3ua~ Fpk$8]:?ׯ'_50cWooOv&7Τ^/^_q?uMa0c7'y=_7'eD*]o5S0ITeD*]KTN¥7'v.骆2oO\o5T4#3j(cGJeIicq?v2ԿJ3I옲7'ȾJq?)5QSoOUqEO??o7'$oO$_7q)"nyL%㖊onygS8s[;5s[;nygw<3(4Vhyg1xPh%?ù-ɝ眷&w梆 'U-ɝA@dNc-ɝA@dNs[;U3ǿnyga)-s[;옲曞r?\o5TNygJN7A)Wo'5As6'[-ɝ̨Ks9oLҾi~Ns[;eD*\Ns[;ic's[;tPnyg)~N{-ɝj'k׿׹-ɝR{r?e51Ǜr?{f眷&weD*]A*'aR' <3 <3NNw<36RTpN?A/^_'[r?e%GNnyguMNyge' 7<3u"epI-ɝ'yg?m9oL9 8m-ɝA眷&w'ps[;V眷&w9'r?{V? ]7G5IEW3MH㦩(f{~/qTUCmqk眷/&($]RE[/ 'L`cmTg3m@{N*&igil=il ?qmAw{O??@g⨼H?{OCm??@6ii==l{O?{Omig>{Oll/llUBH?m={=  [mӊ*Fl9mӊ F g0iP:7{N*0R0=#iT##ai gBgBl7mA'{O?$ ?H ?Ho{O=&iKm??mEmQG{OF?%_ll{OBl/=䡏{OA'{OH_?%# #lill/l=0+ip=lp&i-mg{OlgMm`={Oɂ_l Lgm` g &&=`igm0Sm0 gLgL:i{Oi&'=`=` gL{O{O&i=qG{Ol'' 'gNmm;/l¿lm8gN' ?'l-m8-i mϿB{vDϿBv bGgP<gP>-(/q}{?O=ڟ!g'};lI5?{]$˿mBFޯoy?@`'g !B[gSl}Ď1g8?Ymp2g@2gs}l=tomHmOǿ  $t.37Os(Aݶx .ͿAg9[gSl[g);gA{?l=g[8?[g$pgP< m({gHg- -P=ڟ!g(gnjlI35x6ql/> vHl[3L?-yX U{?O6(lsg^=E>KlzCjpm=UblI5?{]$˿制f 3|oy?^T%w|ym} -϶T9km}_agl?l=⠣1g,Hge{?Њ}{?F=ڟ!g߶[gI&][3oy?fC]g !79L2GŶyE?g6v@m$t.!bA@d5?!?C* / ߽m&k;:?[8TlRTqOwo';m_!LINowAogg(80/RiQ|*Q=I)GmӊG8J\ qUU(8Gg:i=P)F=Gmmmӊ'(8/R0.lU)#Kg#iT\G{O?¯l?OlU@^aw{O=sm qT#??lWml{O1icol/{OD_?)'iH;ml?)l8L^`= = iH'iHqT#pg:U#pg8N\`?{OA{Od?+gV=E)%gW{N*)'OmXImӊ'%qT\^`\]mX g⨺#lk=E\`={N*ҩmX=EԌ gV=CmXgV?W{O`gVw{N*)#=-iQrɔgHw{O` gX8#_im`gmӊ R{Oo[:vA84=տ?:vCe?X#Ym}A&PᕶyE?g 1g8?Ym`,=]{'<`&x)2xdF©eDFzbhyXJxm5Ń}##F$qqD-9OV88i'R,pqR9OTt1;vqU?JQWZ]jz~[󛫯h8hG:36 /oe>s71uJuW2їїI66k#?ob@_RҚCGOG:KG iѬ7h j!i a dhGxF|'fAXdO3`î$}g jf΀t88:sLn=QEY)W5""S,*jIL/wSEQƲ]5_/Z6?f@nDͭ]d>vpXQ|QZf"=Q'c&E[vpX>/Z ;su1";?Y|QZf.zNL<:f|_YEjd\Gnyubh(ԅk4!sZ 1UW tEQƲ]5JU "?dM`QhfͭZzh(ԅU#xTm˦o' h+$saϻɿț6 Q`p qt͋Gj Lgل<}^Aph j45ǩB<ɫ40h$ԫ(U ya\m8`t#䠴qc\m1j?[M8?Pј67׻#w6? kCvmdAxp ( zX֫@<¶9+{ AZ=II85ǩWk8?QkCq}{|Zrhț6 Qk12̠3q` 3%WVyqnzلu^Rjnz!=j `)h+RT$ǩ=J?[Ymhn/wU[[_<>k-C jn,^r쉱\Zk" G2gt͎v}́Y?g ǘ'g]mX<Ƹh\GNzٌA&^(jh1;qM{ cX@LXU_;hϑVc|QZ8 O2%~0I=MqUU=MlsWh~DlvDFf8 h8|> 荃 hț\@Ȃ@G2ggB@P=MdΠWm@Z#իhǘW .5<ݬӞgPIW+UWǘ!sp%8 6ttH?O0> PIW$V~~6;"p1n8 ZAֆU_LjF/S!c67fD-d<g^698u'qֆYǘ iX10p 5*򀦵Z~~5NwS_=qu}XΫvhϑVc|QZ8 O2%~0I=MqUh+S[uU0WJmfdNfc_^aTtFdM. ZAfDve3ś(ǩ{m|Wf =^Ap jvqm#͠ 76WXgl\ `6W1 shfk 8jh ]qP4ÀQίjZ O0$O}@A|jUj{UW h 1Ǚ?f3gpWrey@Zgls:3c3ViF5pp|]hjzjt.z5WV=mW CY=c-aSi%;8x 5*8VA\n"CvUH\'5ql(VAHԡseus>p5;:@ 5*;h+ :@"gm[zN=jFڼNuWFZ _SsԞdѲ ֫A%~~8?P167׻bi')0YNUf&pmhn- k" %Àe3:V͈uz<fGWf =^Ap l͜m3ǑG+ txC ֫@g/<6-guVi`c@=6\]hYָs׫=J=Qp 9ժH |g'| 5*p+V<@pym+{W (h#hj6lbJc836й0^W'RTyӞu aui6%;8xA&^NZ \'5q5WV<^k\z.z̮Nz5Ŧ fK RCjh+ aAc+oW+U6*wU6ƪx +UU\mO2jlj;Z{JJ~6Wk+bёێS[| 6t̀l[:6446ma$ @3WȜr3b8;gUc憕ͬ $N2`Ur':;Lضt6bqwXak I"f`Ur':;Lضt6bqwXak ðI;)%:fųqw[Ϋ + 6U;/8@w"SJt͋gLl-WguV@mdd G (2Ur%:;Lضt6bqwXd@ RHP T܉N!)6-3ضu\m>hiY;9܁)6-3ml[gU;;pJ̈Td^NKZ~W CX gPFD9WUώUpmddLmeq-UE\z.z̚ s@^}j^:Z ?[Ac' - kCq}{m>IJfaDCihh](&pmhn- k" 12̙]hL=1<)0I ghŜm 0#UaipuyL+3LsUᠺnmF(\5RTyuxH |g'| 5*(rZ iF03<.hʸ2BMm `^$9VĀAZqbh 3~M\m=j?[N8?P67׻C$S%30)':?;"l~ֆq 6 P,ɜnql3Sǃ L'.8#` 5pGā?bzY9c su"qc\ms׫=J=Qp 9h$>f >c`! 5*Z 0{Ā3MlZ1@=u c8260^V=m kRTyӞ i&%;8ٌ$IWVA\nր6q26H\'5qbKZy"W +Ӟ i(ٌh$ԫAj ` f0HgmZ#h^#~Z h^ +UU1Wh 3~DӇGdN8p@8 mNK$S%30*%5iț\@ͬ/3,ɜgƐ8u }zcɘ0I gWx+1p G`7-FF}gF}+ȇOF|8<fPGU#?b|ix^"?\܉^#c?401ư~ͮ"ZR<Ƹ.zuǩB<G:H |g'|k`D&^J$V<@m {ang<ɇp7 "1rxd>qt|pʙ6.n(+fp1>D͋| \3bnq Yj78pl77zظA,~~=qV̍MxM\zp7ڸ%BDśUǫMqV̍Uv6U` 8g 4<ʸ$.z+{Zr{8 ԡseus@̫ -cX2 jUj|h.0-g4ư 5* ժVf1R ;6VޯBZ#hjZZ UkUU3FRV< 3g2<^JU kU+;6_=+ 366Zf*ض5Ҹ8mfh\G0WW'RTyiY:fba`F&^-VϏփP86ͫd.z̚ 5Zy"uǩB<5s@lΰٹf 5*@,Vٹ fHl ^%V`V$V;mWuё[WWcUxu@gMqP1=fjU5Zq5W!Z{J_㣲' 8 ZAֆU_,Lˆưa-?c67fDvce3кh-g=qA#˜+33 g߂#•y?@3dPK|0Vޯ+U72cg5WV@6kqǘ!rToW &ӞgxxV=q 0B A_i$y?3qI\m qM\m!sd+S#gx5Wgl[6<à"3Ls=6\]h3.zuǩB<G::ƵZ O0$O}X($ԫȀ/Zx^%6ܙ^Ff lN}cl68+f๛clpcx>{xhtOx8UZql.@m޸ۺ=IM\mWBh 36Yq 6 mgcXwU]W6Ul \L. l"BfjU2֫A\m gw6RyWg@V<_*0ʹ=^h+(U6ȕlhvDCfC6an8 ZAֆUipb9')Q) M;"l~ֆȂ@d6<{Llr.46V@l.3azyV@V<@>lua<^DU!siI憸dTyVŰOX^VAcLWWQZ[G\zyj +6!sh+b'6%jA\m""Wiǣ_^kڟ; "\rpjɩ7&pmhnͬ/fL>:f&c3qV.5>c\g jx9-j >e\g̊'| &ӞE{MZ{JpU|u0{V$6nZqkRV<ޮ3(\GNzPA&^h 3{CH |_}< 폫U+s`F4 UBғ͝q2bqU!JcC P@ţy >e[b}"S[2܁"$kW gq1B<ݮ3U>N9jJ'Wh+$gp8ϘV>amjZ=Ik=Qxuy+V*ڭVϘ!sԞd|_3(\G5fDjUZ _+%~~8?P}67׻NˆMIQF3SWvD. ٵC!2̙Ǜ /g(\GE{cZ{JvZ~~67׻ki985'؞c&j}f9}gO15Z >uf'՚dY|:_YA3͚dY|:_YA3c5Z >uf'5Z >uf'j}f9}gO:VIîw$1<ΙVIîw$1<٪VIîw$1L FH&@`B9y@ LQ堸,BQQ塢@ BQQ堰, ʇ H)<S;UGStVO>vp~/ ^䎩Bq)2 ٪VIîw$1<njh+$saϻɘ`dY|:_YA3zVO>vp~/ ٪VIîw$1<+5Z >uf'&fAY'c;?}{Lh+$saϻɘ`PVO>vp~/ U1ϝ\>H=&z猀&`L@“;F`Bɑ@?zY#HH)<NCV.}PbBt\ϡ"t8p!ÈCn̅ '<)Ї|)“8pVnغAHiCMTHnR}P ?CO%a"W]}sD,9$y 'хFKK&]5HB0 .}K>X{’KEJQsѾ\!aKiI),cB4(6XS˦]cI*6bM\BG/*UO;bBNj},/ H9,WU/gMTTcο5Fi<,1tb,LewEinԛWBz(_AJQy{]uiBMÚh,eŒNsMRY(URXsTY$S%30MK6Zb#]|!p9yĉ-uR7+EE]u_F]v$,L9i,9M&\Y$4-]U%5M=%Nˆ2ѼG"MK6Zb#]|"`3r0/H󥥉 K-u_M j_*YTU.`[۠cSoŒ?,Y(سŒ?,Y(سŒ?,Y(سŒ?GQ,WtUIJfaDL(SE*hT,eD0]7nU._C&Ҫ][ʱ%m ;-/\ARe,枕TXsM.,'^jk-^#YjyDUTRGD5%"EqdL#( ǩ+OppB'5>e ˪.MPԑB$eFuPԕBOS﨎VpUwy1ztI"Z*eSⴋVSS P)rt Z*e-PoU1ıU OD9YYLUCS(DTP*eм*D 9Y!~)R!J:#Z!GCN\"U Q> I(|= I -DT!#'/N[pԒ Q> Ij#'}G I^Pԕw9oRR"'B2J^"aUJ)R'EB)R!Js!tCRh&/ aD$D#$µ 1r\)*jaMːWS,FM)(!J 钙)B0'OpZOԊ#'}*r#Ԫ}?QijOw9oQizOGCNjr%Zy;˒DP\y;_}:$"GCN:$"#'}!ztI=5&Y5&, MI%ϡy G@Q%y4_y"dD`-2G EQqzy;/N[(j.Dt< KSI(j.!ijtI&B"uV-P} ɟ.B"z%_.L)R'8 D˓@"㦕k(d+yE/8i!DHrOJ TLB%ɐH?iGCNtIqTLY9FB)I.]İy Tװt(B",[K!J:")R'ZO}$ROD@U!|%ɓ㦐yN!AS=,.XKм*D K 'ХH*D֭ZDROL9,(B+.B"y\o _IȾxKо\2z%_B"se󬖈KФH Tвe 'Ф-.B"z%ZҬRA 'a@\Jk2#5HQ>)R'xtg^*D)R'drXQ>2yN!DYr<+BHHIΗ0V !J:_B"seB+} DHduG zRNd(BHC(uP} T!J\#ɠOD@U} DɐHU"8i!DeRN皚\|#'yE%I3 B"y'a g˞B"t$b F0Ϩ-D%J:NtS‰ip¨FOZLB _.N‰e8aTFD"K'JfS@!=2Xš/.CzdhHS@ɐ)(B/Ct#.Q'y:BxxDt<対OCS@j',5>Dt<Ӗ}w--N'Nf]TUCSP̺j}}'SP&Xo %)B2}xm-̽t):#e뢞UƵB _.Nk*hҡJ T薣J)\kQ/ rd)R'JfS@V\ʺb7o hd0'Jf:d4_}"%3E2S@!=-hz\|/ B"t#.Q'y:Bx|Dt<対OA Oy;y"Tx|V:NwDG-D%>:NwSHDt< KSI8j}"UwtI<= OLj',5>Dt<-V‰iMfhdB 1r\)*jaMːWS,FM)(!J 钙)B0'O8j}!zy;DpHGCNZ$5>Vj',5>w+N[8j}+#'HZZOSR(ӢI(j}*Uw%N =L0j6S(ԃiheL\/'9!s̲j `OL1STu hL񬍄TG4P݄ T`OU-STu hy Y0 h5"Y(i%S@ YTG4š%ɐETfRk hCukL)C`NQ5!0'-3ZaMYrȼ5"UƵB Bryf\6x_I˓sRe]LO*ZL\ɐ\%^sTCh9J琥HduG5IR!|V rdLLIR!HZ\2yWE2Q%H*G&NhrlB^, H3*ejhTB^3ROL !}*T)@µN eĺ3aD"YsK'\d.XQ%H&B\8:&ybaSʸ֣h_}*ނ)R'GDњO,R,4TB^<*DKLcIR!}ԈK'O(j})jy;L4S%3E"HFO.QKL/aK hL ꖘ_JZ/y:CSK.Xj}, #'D[(j}(Dt<_Na(:"CSPLDt<-5>*y;Dpd#'HZZOSTGCNZ$5>BOXj}1zy;-}2,xGQ8Y(#)B _.OL9,/ TRN:| !J\25>V:Nt$5>Zy;%NPk#'JtE6eW2|"`uDy TY %!DH?ԪGRy$5>ZB}?#=j|BԥT5>Z^xz-BO8j|VizCS(Z?-D#˒(Z^!}˓(Z?CSŪ}ˋ-J\qzOt J?CS(Z= Oj'z/Hj'z/Jj'z/Lj(z/-P= O(ZG O ?| ^^xBO5?8j~-J!(Z5?U Kz2Oj~ Q>}? -DCS@j'V:NwS&3EPZ ,KgO~((Z@XuPQ-9]$QB3JqA]a-ERn3a`_kg֘X"U*f^Q-T yDi"iwfa)2"'diB^[ZrHf^S/ 荃 h(DMPD vI< ׼?KNWIPRxIJfaDL(SE*(DIPeD0- %BFJ&_İw-C8 ZO~N,LТB/I",AKNWIPy/IjMK _IFd/IrOL!}*o%3 BR*e'+a}((dl/{DtExIJfaDC cX0BO}dԛ8%IFd/-Q-9]$QB3}2O%xeC(6(D钉p&mL0%9'a}?KNWIPIJfaDTJpm(SXBO%2LC7GQ8Y ɩ7q,/% ׼ O~WS(9[ ((I; "\rpjɩ7y꧙tXuR,$Z^rQ?'MI0DtE̶; "Y5&FMPž \rqԛ O"ɩ7e],uќK pRo!K ɩ7Y-Q=0~((c\yh(D%+(FeBbI 2D/!J ܾvn_l1ۗvc/ߌn_qoC/=/~5|{qۗϬ OI{{l&='|Â/}i=pۗÁ1='p7h 'hzO|/{n_!=piNzO|tvp{G= n_"5='D0qۗȆ='Dw"tvwܾ0 OIC/rs{e߁ۗƿ_#{a*='F·n_#7n_#='FA OI{?n_{|xv|< S{a%qۗ/$C{{c{ZzO|g$tv@kO*='M Iv8E{5='>%v7I vQܾ {^ZzO|@_;r2 OIgI6=' ~ZzO|B OI{i=}='JE I{{^ZzO|ۗH?_{{"pTzO|DۗKvI{@vg{ 8 />= OIqۗf^=='#:Ǥcp-='#{i=_oOI{'G :}vpk>zO} ;|HM{B|H~/^=!׸ܾ$ S{@Y{@a I}m|JBzM|J Q=1pTzO|LM>zO|LSaܾ&{|5='L6vaI/tv`]&ZzO|8_jzO|0=tFZzO|{i=q/tvx?!=&N4GͽQ=z?:|/>='N =S{|zO|=Otܾ*n_tۗ?ܾ(.qۗ }>zO|Q?jzO|P OI n_kۗ8'>zO|jzO| OIv);{ #ܾ{xBW OI"|!phzO|!{=3gc I 4=')&g C|R n_Opʉ=5|6ox>9wւ>k&l|A|9E|n@'7E| /Y]/@nPjA&~BCv@M(WaLA|(:oqKP q%g_( I2{=E8?}װeS}xYMFC}_}_ o5@Q|PWBmMEZ3|P /(/(y@,«g_la|P)8Rc#Lo[&ٝ;#K.OlyH;WrBE] lB# ̒C>]!"lG|!z .k$)?7.I^KO?)_;!) 2]_;|R ;߽-E|6RI|ioʧCT@vP7/) DWoO`+ 1Uf_hoGz;I|"g=5g2mw4;833 9>{ϩpLb G|e_9<5"m(<qE٧?mPs}2_S/4mßqk?9_'em /:ְe-k?5W #_7mGe-k?s &]RQ2mGB5mdrmPm啇7N?#TI/{ W_:#j3_mGE%<6k)mß U__5mß2 O(J*xm_W?uߛ%se/m_W?W~njSߛ%sFJBcHM~\#XRo^L6ݯ+-._J7kJ) Dz7kJ) Dz-7kJTR2v?5PCHowe#]7kJ5{)3v?u/fߛ%sI:em7kJ2Oݯ+.nRo,?{)oaD˪ZRu~\F)ǽ_W? /ݯ+{)_W?y󽔎ݯ+2*[~na-/Y_W?I/e!~ߛ%saD˪[6ݯ+‰TAߛ%sWߛ%s Aߛ%sD:C7kJA.ߛ%sGQ?[~n[Dm7kJL[e o:= 6ݯ+){~nw_?a#8F[^nGT_hkk#*j@ky@W~C#5{)?DumODuDMwv?;N߶Ge>߶GzRn{m~aFi7 \_Bo^n״gw[k CK7k ) DZe/bi'줓ok#Uok#@DRok#AI6߶GFin?ЃgPl_l\5&LmˆϨDjJZg*ejJB"= I T"}/{.Ho= Bl\5&P'gg pZO= EBeQzO= P( = OjTg e prl_{/_m pԑ#l_g=Am?=ImeUg!e@eRTDEh2e@Qmmˆ"X?l= I $ecl_ll=g= E(  l_eQje!j_l_/{/pqmp}m7{/pgmm{.Tɿ~l_0e{/π{/π{/ρ{/φ>=/m|l_S=ƿg8*ep&ep*eT T$erl_Bgl__!Ymˆ\ AY{/@eP l__ p+L$eTH Ol\5@+PA{/Ȁg=г=gl_?F(eem0Sm0g Fol_?;m$g$e g gHgHggm@_m=;m?m]mcml_=gEm'{/G{/l_ ?pgcmQ{/B?l_%gkmPKmR{/@7mP/e!el_S=!w{/COl_o= =!{/L"{/@Mm?m_l_Mm{/bOl_#,e&e[m=3Ol_gFgF{/`=0=0 gFl_egF/l\5%*Þכ#튯=u?hs<È6VKl<*-)[m;_lG-?{=Vlp{@I=:3E&ZZ‰g֬!J+=hr)[m;cmgo|kkol {[&H :3Wmtf!?֜:<?@wvm?@:umy-T DmI '=c6tf-Ex[=Uq8nE􍽠WGg8|YjM`_gV=D-=ҟ<-OmG*cүn+AmH~:![lC4[ZNWB2_ljX";<my? >: vFhH|Ro åv瘺Q, èm?@%M{Ā l?O+c˿hkmZOm$;.Y 'Ym 6cym(wam(=[gHv6tf-%g9i ?ol ( yͶ{Ġsȇ6trLc_ʷJwU+䡞me~6{aCo gmtfkk?MI, pumy/m% ?0c6u!Dэ{ć~ѕ{ăhem CKl?@C[l:3Jlg7<-OmG*3Zl _AncY':(CgvVRo [gbF/qyc 0cmVBl=2cy ${CKl?gJgmFiOlPYmgo|J)Zl ku`:1'gkk1Y5&/<_gH[gcY '=Ḓ&[gHȽCo&{<| MI, l<_gWma᭶{ɍ& kmZOퟶc$("cu[gH=|=韟2c4mxt{A5x[=U|pGn C_=x!њ-d_+_k O[gKl:3Jlg@[g9i[ƻ_+_) ǻ׷y,_?? m6ognZlz㓈GQH+ß?GQ?m9o}z5O/]n)p#eRd%pԙl\5%.PjJB'eRBKmˆ(DePB'= I"Ij}B$l_?l\57DeQrp^$DeT BeS(Z?{/¿l_ol\5>\$|=imgl\5$y@H=h#ePgl_3eRgNe8=g&eRTe:l_l_gw{. V?FJBc؄o3JpKm骉#*3W뗮_FttD5y^cU0׵!8jGO 5ќJqLw@kk?FiUm ݯU_pkuo#X m_C^okO%#>줋okK5e 5u5_Ba~W?S mp d?k<ˍl$pFk-Rw1כ_3Yjp۾v5.7GO[a#:jt /`kH5PC0Wd?k<ˍn 5Ѱ^U|#^nJC/a*mmp5eG tkMeVM~W?iSɶC̸?8k|Nכ_8_7{m{ y[a#6N{f^nJCI:em{m{2ttHᮍk &]RlݯѭaD˪[|׶׹/C̸? 5<`kH3+V y)G >+ vݯG|5d?k<ˍVHᮎ5Jqmy_)oMRwD[^^_2ttYm r7k%!qP|T׶׸7y-_Ͽ|$my_)ͯmp5ea#9'_L|$;^nJC}2{m{lgq:q8k.mכ_:XQ2 O{m{lgq:p-] &]RJkH &]RJkkwC̸?VH F[^nJC}=eC̸? 5kHϘ Nd?k<ˍl$pG$sξNJݯ󯓾=mpd?k<ˍ 5ѭYͯ7k%!kh_kkd?k<ˍG tt$kPo~W?drJ C̸? 5ќG<y_)8yB'd?k<ˍma#{^nJC|o{m{C}lQDq)2գ(%8Z8^)MWG:"9Z"Y*ٗJ%ќKXqE$NaFSWL*6eU 5TK#>J*x9#9_$G4DK%[2VD3xEA8&ѣ,F2h,F2h}%4Y$O1dHYUQ,k)eTL%XSZy4/%u#ϦwѡBuKC &WBuU2έ_CD.墙tVo#yH;*52FKbt)T$#JVE2骊5L^#eU jtK)MTT/9eDIbyeU jt4eі#FXb4eі#FXe4HX)rXsMLIiZ %JKjzK$*df#V:+u_~p+u#;5/] %ykJ 0Ԍ%8_TC=x#`Z4rO2S3 "aD0(VIJfaDCihh](G$S%30)':4rO2S3 "SXLˆ2Ѽ?QZ]^jqzW[l @l?.b=(%3p7'6743cʿٝlΙy+f~EU')CC_N?ZEd[5 y-_{{05)xB!A h@|AFAn,jCX՟dϳǞ taJ kWX-@b>p$5[gfؽfzdd+ʿi1MRQW%>Yƕʽ888i'QCS7-UYڷC'H5zhmw՟bru'H5J kWۺ'}YS9r:ZhmD>ŌwDNkh֯CYPV}ˑ 2 +@-^=d"PTjCY/e=:AVQzF-!E HV-gh/ d?jF Arj>:PōC ht^3+N@":ka[;EXWD>+6.fVzMq"M||unV:Bk2M||Bk1h j5y'}QK  NQWٍj;ꏲXMvn}КU2a5Ҭѫ^1j ƒ&[aa[a2gɢܾŠ½R'}Ytm;a0,zMPAP ` sHe,a5YW+C.PYXW0O]{W] A z ׵U "k {)bJ j5zej+ j7Y!5^YXaְXh;GCXVx{+;> %xMvڅyzY mBea^1=u]vUmk0| W+̑;ϲXMvyD& 5o?3 i37H#J+89A m[†gY5Uɜ51LfLƿU\ "i^YGQ:̲2ذH ;H[mpY5P 3^lAY,;Z '}QK Y5UɪY+o H -D;HJujPlƙH ;H[mG@3ɪ1Bf.GZ Y3Kg3dC^]j% 2kbzj1YVz"wճa5jTVxzFntC4{W[{,Ho5CYr2bv¯ZCռ.?ͬVyR[R;jCǐY5P׶՞bLgmY5;lֲfUɬD>ŕk fP. WY+U[<׵U쫓=]d wY 3gV:AjB~GYiZmj-dk1D>z*C.Y5UɪYd^5Ȕ]{W]VyA[yEii^ wČYL02ZC" AV0Z G[ZMUd'!Y nk7µzd,Ţ Zɘ&_\'[oVm!d2oVyrf(g#kD'oVzH?()Uj?Xm"#e,֯C\A[nAZh0"vFuItƩnBVapmdZ:ڐ&MT5g20k&giY3*"w՟b͵3(CIaT* kWY+U[<׵U=]d v͞yXqt^-ҴZɘ&bT}Uɪ]jT*VC\Gо3FVpzFnj:!EW+ dxv2Ծ02ZC"5o# VC[ɫ7A ɪq jfDtM~ڳm{YdFg;ɜ,-5nPɜ,Vkfy#5o=vmdl8D絛Y\N8k` ֯C()UjXm3Cu 6Z &fU$2zYu栋ڳZɭMd5#fT[<ֹ5Ymd+6VͳHZG63Mdm}r6V`iZ rY @3k 1!AkY5P|@ä5fY8k#a xa1Y[1d2f+1b3_D^o5y"dG*115r87D絛Y\N8kbkW56H!2e ^\Jt} YM[9ݬm+fk!kY5G Q;ϰf+W_k#&EYd7+fۆXHY!8]R̥Mj5",25N좹œVC Jp=MR'}YYYd7+fۆC5˪YD:k!\$,(4Gp)֯C e0VC\ b1^[mYUr6fX>+VZa5YhBkdqmr8mURHNpaEd78@SP*TVn5ٸy\@l(@lp U2x՛dpnW# +!/=p!#T U2x՛dpnW# +!/=p!*SVn5ٸy\@l(AV* D<=Ƭk!6gY eb7]RRzm(@HQ f);^ ;Z r6d'իkm<2YUk=mxzFkD+HQ{msүiʾi(ZC"5o# V[Vn mdB?2L%PG2#kdl(k#cq!3%@klC&dB_6p̡!|!|3bF̫$NɪD>ӎFf,^PS|> fP"e˪YUkVm 5#Bam+fٔ$, H Zٝr6fV}4 j5dlo\NfNݛmma fP$.f(SZ r:<٥r6hT}W#fK1Lիkrj;ϲ͵iY 63B']RNC^cxHY P%A [P)^5Y ^2Ya5՞,F̖h@zM}gE"vFq~M*閙QDnBPiy\-j:YY3 Y5MHRh> cxdVMAȎ ^nap|b>;hDD @D^F>fD3Ln[4D2cuMD5?CVC܌ghVfUə"wWMR'}Yt 52` ֯C()UjXm1!k 0zMq*Pr:k GgH k9|@̀G! R5Ƭ=k#Y5֐@X՛af7BY>j#YxGCֲ: |GC: 0Hn}gm"w$U^&B#]"%d d OGc#uɬ]k+Xܑ]vm+gBBtN3Y3:;ϰgskɘ&,_Y 3sk !TWD@ sY00(LfLkK\N_YgY1 AHe,֯CY1)2675#cu4^3%3:a5՞d<#ID/;ϲXMvɚW&d&&hݵG,&kVyA[hAZPitC4{W[i&uÙdei-!ZDjF @CXmd@>.k&2a5?Y5_k#Z!C&b2f+1(Y;c [r1Y#tNɪD>ӎFf%e>j@ cb!".f$5kVm#k!Vb` xg#`rmlBmd#gh k#'}YĢJk"w՟ek!8kY @a Ie,ąի"5Êp(G10 ֯C Jz"w՟b͵5H! (֯CY @J !PVC 2Y֯C\ bPVC Zḻ+Jk=Urj;ϱefH!uK2P^Ġ^]FVE+"vFq4ZgeDcYZ5ZCռ.ZnfGG;CMvɘ̡ aẅa VdGMg 1( ֯BGFBpəC[FB^@ly!mf%WZ Y2F̚ɘ&bmT}\N좳m|!`uK17Z &mdVmW&bT}W&(_buK2@.^gɪD>ŕk :gb2dMZ r:gY5[t\f$ Z ߬ ڎ|T}MR'}YQYd2d֯C Y3_k&5t׵U5ٕlۆ3w5R=Z$Md2Y\ٺfzں 5f5ɘE"+m,7NH ;Hi Z@[h1 @3k#;@U ?Lk5~":k&G kÁ鬎W#g,&k7UBk05L?Y6kl8L?Y8kfx [r1YA\ D絛Y\N8kb&u |o|$ ?1.fFիkVnHdl?,&k2k!  g&] _VXMrka R7d mx3 `(՞p՞=V}Pڐ3H 3֬ի<6j ڳÆ<:jڳGc\#B> l<Al2_D>lXBkdq r82w箽"Vmuq ^HKJC90\|LC&}YҶn ;@:p&1x3՘2e V{4  DBe,kÁ ˢwe%^\gMm#am!G}U׵uu?i[7BBB?vx#hgrj;ϰt 5k0ej2~PS|>]0@7]RC5j5.9zrGEr8fFk5ֲ8GY/@+Z r8fG%j5A[nnaf:gh/-A(ҽy]ho1DZgeDtLtq0cH ;H[h15ͬhMvgh-m4& k b֯Cc&;Yj-dW&T}\4D>ŕk 8 PC.f .^_YAYU 5hZ c[ !3 ֯BݵG*q'}YQ[75d2uZ &Gu5Pɘ^fMj%Arjh5#N첹hV}@jE5k= r8":٠X,Y e!f+0e_l,&뭚R0C*ojB@7=`[b,5"w՟oW":٠X,Y\Abjz@vȁd&D55Pɘ[zͰ-^T}j@dV}Afu&fu"N얹Ȁ(_b']RͰVC UFV7H0P2"+ۭ2iW5r3sA HvZC1-ɜ 0k&5Hg7Aj0*Vz ƒ7H0s1(ҽy]m|ML/3-_5>KhDNF{%3>†5fZhG ϱUz~-Ҵg٫Uz~-Ҵg֪5fZhG ϳ5fZhG ϶MUk%̴'H#J=u5W2 +@J?(f}5W2 +@J?(f}W2 +@J?(f}^_@z"t4(@ Nt8U;@/ϲz!>5 H`3 FpA>g@ 4!R#01V}hx P@f9V}hr89= nNtTUooD!|#z/]`HDgT 8X@*hBF`bD;ZAhBF`b* P@f9V}hlЅA TUZB _QvZ *4DT5W2 +@J?(Y+ʿAN:jasUz~-Ҵg dYDiZQC3/jCY/e=:AVPW2 +@J?(f}&5fZhG ϰH^_@z"t4( ZKhDNF{%3>3Uz~-Ҵg'jCY/e=:AVP ZKhDNF{%?w! A DG) ݳPGePAP ) ?wp*4D~oؿt,fXD"xh"#x^o B~!DG) dB/ OdaSB!Ti *", HO@Q*9bZ+2NdaTi *"G0Uh@t#fI750L%>!qS: @$> J}~KƕD &Jo 8ā)LJoa{ǫg( o"xJ}h4D~oؿv*jVCgn^_@z"t4(5W2 +@J?(f}MUk%̴'H#J=aUz~-ҴtWKssճ -[0ճ -[0ճ -[0ճ Q2<+^5QSΤ\KtZm;٨{syx]*閙Q撈4y;j^9y)ذx)It#OS'_2ׂ8z1RV]ZwMӰ-77үi&uÑØ4y;j^9y)ذx)It#OS'_2ׂ8z1RV]ZwMӰ-77үi1tMLOQ<^/ylŔITX<Qg^קytkL=QME ⵢӺh-6lP<.|tL쨌q5#(4y;j^9y)ذx)It#OS'_2ׂ8z1RV]ZwMӰ-77үifhjbx҉Ze{g,Jbz[='/=OOKˤ|^ g&zj(`/ʾ:evTGD51<.bftx&jb 'xA ƨ Qc +F1B 6ׂqcPXH4jl$ Ne3pPkI< M`[5/bno5 _2;*#eD29 TOQ<^/ylŔITX<-zF ^Ne3pG=50bhTX<$.y瞦KS8jKN頶iʼa*[*閙PJtI51`O@\ Fq$LyjT^8_'{¯q2¯q~"*?*/^8&RU?ʽpRq6q7TU?e^8se^8u:U?ʽӺh-DZwM6|AjLOWmsiRIqBF>sfUQ4iI'I27.HliI:N(Hf2eDcpYF87-.0/.ҾirW8:Ꙫq1['qu"el˧a2Hu7TqD-Z&Hʣ&l`.v#6UG; HeQHigLNU䦟1ZuFzj8̺CG)ĔERhRF]/b4H~IPT7ETR2_N¢ITMgaQԇI4UA(}C* QP&S%}BWӘ(Fcj4:abrc6b2'&/PīLET`OZ::(E't+ i(aċ4bjGL'&Jgt,PB2TIQT+T*(}C y$U%Lr8}*u2P@Aw)zLTL> *¥r8}(L>>"3W#G*@JP(.HL^`<&0SJd&D$TG+ G$Q&J3i)$ɑD*͎Lk(&D1/D*/$i@PtdP'NMKgc:ؑ&J8LIL"bd#^SJ:$T(P$24*Sy4U'}L> P/ERtW#G4UQTJ3pƊ9z&;J#*)F]CN$*¥9Zs*&9W%'q5ńI>LTxQ@^™9sxQ%NLL'dQL'wBGEQt W#G*> *)\IEW#G*CQeIE W#G*S%}D **d/L_Q{d.*S%}BR*ҩ> 9lh^M)NzNb/蒾3b/J+ESQ@z3'Qzu%鼒*Ԯ/.Q2P@`T_ (}C(FT^1S%}BR*S%}At(FqTaG*>IF GU'S%}D.#KT`^r8}L>%P]x0L> K#Kx^ŁdF(4UB(}C .P/ET0)>#9*8i./u Q>2U53P8lFILDtDJqztIa!B!z(¡L¨T@`ij&.J2U/Jb0D%PJ#*;$i'IQsdI%Ez'S>)ru*.S%}BR*#2P%..P/"b^JPJB4(r(}C }*eT2z4)+/;!r'C*MĽ0 RULJb$p"4)&JTHEzx &J)G( ӧdS2U =P|ұm _SL N7XI`J%D*S;#ztIQU2P@^D KDh1Lʼ %PŔ"G$Q&Jm `D^dT"LB# aD*&j-b/NG/B%Di *iN:a!"}d*$p"Ld]LDE&Jfhb^2U `s&K $TJ|F/}d)G()Q&JQ$SLCE#RIjfq2ؑ,0LBh|%iMyCyD*WM,$:#ILE5Pw-T3DE&J:%%Q2bLD2bLCS0D*D1T&JlI$%PlHDQ&JS(Q#dLDOTCQ&.J2U %zG$ЧD*hjv F(^+QD@e#T&Jf c:ybG$%%PWMS\#H}M%SʾJia!B蒾=QB\+D`vu8'|b^2Uζ$p"OXQ&JUSLP"O{%P##%a8ONP4ETTR <*}2(}CP]86TMLlcUDiiJq5ńI> cUFs0$i/N:exJ<(K (TS3 faIEbPZgJe<(N*)㒙@b$𢀹*(T(DU@z(}C(FU d.*~+ɢ*dbU>)qri|Lw; **pvET&S |*:x|-9S"44|q5ńI>/^Y*ޣ a5U;AdILETwC ƾfE D*exJ<(%QL)31'E exXŠE2#K8*u+ɢdAwҴ6TMLtLo=5MDF%/SIxj)})㦩*;$𢀽*)3Fs0$J*)㒙bO $QBi9)"O $BET LCPB4(¦JP P/+ɢϩ>ET S%}BR*LL>@_T )>22Ji⃸ LM0%ME3arOE5IQ1$_:ĞPE2-3*h L^ 閙b9X$}*)651@(J#)@ɢЩ>bw2P&B2&JP˼GP'Jp(h:U2P@`UtdJ\\_ET ө>)qri|QP'.S%}At(FqUr+ɢ dbƔʶzNce%GlF'M0%e%Gζ$Ezgȓ%D*RTqe:[bE&JG"2P%..P/CP2e' S%}Bh#.YIQs\#H NIQl2'&JE2j#\$p"Ldx*.Lar_% ](U@\\a*./R1z3P)G# R <*.\`qU{W&/Q8+"W(X2GW&/QUyrG+U@^`r8y,U@_ %QUW#2T)\# \# )\# \# GTW#GET FX+00Q8br8x*+ Ty$UA W&QU)TG <*2 '7P91;aTA8_MPE#ĴMUDQ1$pxj(cC1#ebtu#@cq c!WLʈQ:aA8KDԲGk;%5l%8&RifhjbEr4hNebtu#@ıƸ턱|UTfrTqFS-5>$l☡M䒯b#1N`I٪u^]H\vXl^ag7}QHj#G$5l%8 |U쨎iGL:؆U-3:e60#IQ@m#e%G.Mƶe9N$*0}J2$#pAT+T}4 dKRddJ\\_Rdd)i}='3c[='1&NЧ[='1&JI_O 1&L+ESQ@z3'Rb)$U&0R  fUQ4c*RRr+$ W&/QT+"8Jp(H.}Jp(H.Jr8xGM"䪪#*J1H.0R(GEQpJp(Ur8 Q8/Lr8 QT^\qzU#+QyG⨼br8(H0}Jp(H0JpH0Jr8y$U'R2|F4K*%Q*%D*ͤh D*͎Lk(  K&J57dP%#]:F ӢDqRζ$p"I6&S4FD*ױ$IRD*JAUBET)TG&S)>f cb5sLHI%v,"G Hu4I>(5sØ蚡ċO|<33ʕTqT8|H8 TbFuQ4i9wG|<33ʕTqD-$iIkKq C#pYGQkKTXDl'_LIY*TF8ecxZg[þ';}Q3aL(Lgo 8~S}Q';}9tGqV=vKt=v~A]uw@7Oo ?A3߭}`~S}P=7~$?)< ?] A_o@#@%?)!w]!^+?)!=;@|2Ct7g7o7Ȟ]"2@ot$z@P䁗{N~S|F]#n~S|F|FDCC|g7Bt4?)JW뇮%]$A7Č'?)$뇮?_|7Ġ-co@{+?)%h~S|J{V~S|JEGG7¯coAYM0.U7t/]&}?@77/AaM뇮߸'B~Q~7 =>~S|]L=v0g7ɫCC:?)LǮ&V~S|=vC ]'C7mCo{M;Ot Oon~S|NX~S|N{,?){M!oP{3\=v~!?()>~S|R{|=vE+?)*2CCv=vt=v@ ot''EIMx}9 o,?)NO]NEB~Q|Y>~S|Ǯ(| o5CC(_co~+?)P|CoH}5 oCo|e7n~S|^,?) ot)/p'O/_t) >~S|;GG7Ao]+Pⲏt>h~S|X_z`Q],>5CCK+Ł{R~S|Ş,?) AaMl|"~!?({|8Y_|]Co+?)4CCeo.AYM?z/4=vP o*AaMʪCCM})?)TM7ʃt*]T =ߺ oG뇮x~!?(&B~Q}Mt OoE@?zjt4?)-6ūzh]7Š~/?)-|zhzh}7|zpzp{:o|;]^+?)h~S| Mt6GG75]/|zx*v=v=v_hY o<=vX!v=vXPa oh~S| o|zyt77\=v<R~S|F~S|P og7M~t~S| #?)~%?)~ `o{, ?z o_to,=F~S| s/7}#?){ ?)W~S| g7! =Mg Oo=vo7W!}?)M8;| /;| 3߰;};}D5p&v L@DD/DD±3ѽM} ~|&vJ&?(0x&v@UH Z*Z?;|wp堇K-x ~t+Ҍ?F!3Ҁᐙ@!p7 J * JA7AV'h*pU{2T[8̫?[:̫ P{V*oa*DOʷr?tzU~'Eo Jt x2*t u_[9h'YVNeU2(^U/*u sӕo%*~PUBs* VN;"yBU)VNE[8]!VN>*[8~oᗸ[8$[8gd'ʷpMaVN o⢭6*[8q%[8so p8Ua# "G|DQ#A|D M7AI|DdA$" >!F[4q A $i@%H q-@۽B&M|F_hr7-Y킿#X57a >w|* I|)'Je=wCւ(wo(} I|HKo/O|Hg/7ć7|H= /|JG%,į TE|JĦXooGy5+\O|JP_Q|L)&Ee9|Li|L{_|Le & 3|L tw00M~{C߻7ߺ}G!߸e~ p_u7b;["kO|C|(Wɇ=fM`ELY|W|;Y|c qfG|NVf0'<' M8$F+pÌ#'7|N%8/w\&(,=@./CLq'Q}KGB;C,ז /HI.e|RG}H_|RoCmHo/C9W!I|R -QF'*o1MPoŗMpn/ʯ\[|TbvNQ'O|V99_|0NqEݻŗU|bf. 'Ҭ ,Mh~4p_k$/ h57}?R)1ܾRgRiRb 5b;'H)b;-1򖸎H])XHeNA>M|8CU|VG_oq]YU|Vi|V7ŷfob̮+`[\}ca|V`f3_mXk+ ~9+a 4ʼna(`#|YV}E< }e`m%,l;Fm_/f8  [mm~ w]|A/x8K/b;F'-C| {g_6 _\8_v. Uwʅ?|PCTG|~PK|.T>.A1T 7ʃmUW|;+@wʈI}<_zK3mz4 pfI}K[g{̚!Ŧ8f'-5/j-h__[š--pv<Š+-"`i,.C//4W}%rܷ 6۾.4!._Hv:Qo;M|5_o(lMt:w_Av A~_HU|^Go0v_|^YxC_ I|^e}^ u}Y}ya|^cK|^ +aVW|VawpYa|y_+ig|3Ʒ>+{x/c{fk|/o%}K|2|8E|yķI6 _lW|qe|=}|Xk|vc,A|wo5`g_,Y5,o@S| E 0n@*7\]| 0v@b/weF_ +I|`c03_-/r?ݾ0"h/}w: 2; rK;+obk2ɯ>)7q],`\]|@K], ~Y)3|CV[|B>߾!/C }d0 ×Bc|e 77E L _CA*'aR' <3 ?<3LN<36RTpNnygYc/M9oL' <3'r?d`6眷&wΤ^N <31r?眷&w݄7Aps[; 8s-ɝ眷&w9'<3.7 ]7G5IEW3MH㦩(f{~'qTU}q}9o_L QIA: q3(7oq3%\o7_FyD=A?7_?P _7vٺn _s_?}oy_oxWbYH2ts[o1T{Kğo仞E/vNso(`'(/No f黿O3?llqU)G{O{N*RiRxlU&.R?qT:ilU&JwmӊQ=P%R?mӊp{N*FqUi_?8.Rr/mӊ#iQ4{N*R00lU@ɔg]m)i=%iTFg _?=I_R0cm?lipgl6irg?lamӊɔg=l=I*F iglU'L`/{Ogg#iqT\q{OQm@{O8.N`\=m@c==?%i{O?/i{=EFl1i{O{O?@?@g??@?@o{O_=7m?  ?  qU e#RgAg{O"lAlbi&io{N*0 L?!{N*0) _i2Wmd=CF8Hl =PT!=`)mUmH{O?$g3i )i ?$l=17{OogF{Oa{OE??%gJJ?% Jl??%?%!g:i$i$=J$ $ $ol'mgG{O?gKmK=l??1i0={Oɂl?&ggm`,i0gNgN{O#m8=p=pi)ium;_lm8gN_{O{OWm8??=?l?? (-i!i$immA{O ( (_{O?m@"i3i ({O=]m@?qT@Si# v 9F8=%l/?"lC6]#fUl| #m x%$t.mS|Dkz_톟x!.jĎ[g-bL1=lv$- x#?lI5?{]$˿6f9E[{9=W_@Sۮ< 6fA턱2.OyX~{m}>Θ&Hwm}ls8?UmϢX6B*e{?Џ2g6vЀ' 4SgL#3 |G^d~zolbGg+e{=!?ClI5?{]$˿3G{97_@3HlJmol"d7ylLg>R$wm}5TbGꭳK8?=E_gV<{8 4SgL$ f=qpP{sHl%fkzNbday3s#A%yE_g~=⑿~qm\$p[gR{gyg}mHg_l=ڟ!gl8 4SgLs=%Fq@xV R~ Hlq`[='120DYm}D<"[gRcmH}cAĎ{?'᭶{>v bGm){V l@ܮ=^=ڟ!gE$t8%zݶ{?@{v/mw|R)oy?a5:CeH_7g&F<>V_gT+lz#l=l=imHaE{?@{c{lzCjpm=T^+lI5?{]$˿pw] ?s&w|=p ?IL?tym}֖~= cmP[g-fV&7GgmH4gy7g^٭{=!?C*"km$t.@oo0\Rfs'%c[lC6])vf?g&F -ϿB*U{? C{>xlz#̭K8?= -O{l= MmO/Dg@P&H'g,g6vǾKlI5?{]$˿MM{k]ǸHl 3~}m}WꭳN_6Ym6;] =lHgR{g`$p{?#qm{?#p=!g{ xp3 4SgL-H_ƻ{9>: ww}ͿoB[gUl}Ď1g8?Ymp2g@2gs}l=tomHmOǿ fjlIǛ3_7H;eOs(< 9[gUl[g(=gA{?l?g[8?[g$pgR< m){gHg, -P=ڟ!g(gfjlI3-x]4P6g!< f"klt&lmPPpwm{l{- xkŖfjlI vf -|V{aBo*<  vfn&Fy?[gl9s#@<\$UmhlAcmh' mK8?6GYm"@emhgS;l {a xY=eoo1|`8k ݶx!.g78?-ϿB*U{=!?C 7% 4SgLE3틿As[hCjpm= / ?_޶ 4SgFJqA S>S8.gP}7/EӯtmttY4lUBo=FQ8/J8g:e(qT(=IK7{N*J=C(lU'R/g(AgqT\_=EFmӊ#ilUB`a8+(i=Sm{OKmӊ Ԍ .ig{N*a=?mif??lmmiH=$?)R]m= +m=IԌggllS=IR0G{N*R0G{O@3mӊF ggVImX=w{Oi?qT]Q{Oqg⨹2t?8..Rr\=EF?{N*R0.0iqT^ ?+g⨽*|?qT^H7{Om+ +/l=)iliQe#pgV80.R2lU)#.i/l{=Pa ?,8 )g@AC'a^ [s'aFlC6]@[%lJ 2 ϿB*U{?ŀQ{>xḽ,?3g9;wm`1ld}mϢX {dKlj}-{?9gS[gGmi&kw|_7Foy?LJ?n@< f9QĎUml{{=!?Ex#?lI5?{]$˿cͿa'4Vh ۞r߶?BHmOm= <,gI n{KğMTK%I)Bl%tIMTK%]ompA,$:l%lIMTJs~9o cJjVC_TRJ}в ]7LuLwW7.|mnol~r$7'4Vh "ny ALI9?nv))oz 9o&I'BpC`r}o7;do[Ʉ?j`8]qt@!m)2G~rL!C N_#Ϳqt0?nv))!WM􌘲!ߜg#&,ag7!u9IOKl%tHjd;,a\o5T2!u9IOm$E0IS@?nv))%WM^ƙ6?CJ3wm7_;[l%tHuF{~rL!Q; _Dg7|RSo|26?C)_4̾#Ϳqt7_;)WM@:-Y~~ @%m)T]Aߜg%#j뾈7AW!u9IOm# _-YIEE qt7!u9IOVJr@o[Ʉ?r@ooJtJ龒Ui ?C%^ƙ@oopC`rouߜg%,K JtJ龑w} -YHʉT?@?nv)) ]7o,a-C7pC`rF ]7e|!,ahC7!u9IOv ]7K"e,aE-[7k@WM􋨚o,a]D|߸ߺ!u9IOm}%4#K-YIM2w|OpC`r7m^o[Ʉ?E-6c|RS osv/,,asv/,7_;Gm$_%_})ߜg$3!u9IO/m o<,a%oo7_;Sm_J?,aU}(oo7_;mJ~rL!@_t5pC=8Φ:jTWgLV; E3QٗNemӨΘ9WM;QTk禭GM"i*eQH0c;8Tq'6UQ4yhT3Ⱦ$`|cpYGQkKTXrSRN%F88i'IuQ4ivԩXF88ͩ[':; *:':; R9OTt1;vqƶY)*v NꝄDHZ!jDHZ!m4JZ1ēRZwMNUt5&aU%uNWLʄ kp@D'/%}*WT6f4ͤ7P91;aV)F#&SQLjm/)FLI*閙Q*&QlƊi&uÑÝ$ZgeDrJ4i1tMNU-31Ns,ifhjtj;3$ZgeDtLtq0c}$Q+I:IW5r3sդsyuČ"Bԉ R$-H"Bԉ R$-H%-NI-;M`[*jه0Ӻ_IlQj'\9FQ K*e J߉&}䯥 j'\9FQq;DHZ!jDHZ!m4JZlƒӺh-ZKWlZsfUQ4i-$T^ d狞$ĝ;_;Id^6UG; ㍕GzSIKTN¥Jj'k: |Ӥb3y|դeQH9hJ2≤[ 8Tq'1| l®$+,bbb&./usr/es/sbin/cluster/events/utils/clqueryrohaa   -=e_anorst "#.cfhilmpuy$()dq|+0:CERS\bgv{}%124ADMNOPU[]&/7;FGHILTYx',36>?BQkwV!9@z${AKzI`\m"K= UưRǮ 6i$ز [Zl|Pi%ŐRުcPsVMω%ŐRުpI/,Vk"n|I/,Vk"!;| /,Vk"!;|Mω%ŐRު%ŐRުi$ز [[$ز [[[7>${AKztOd{AKztOk}Ē{b)oUi¨A5_qY-i$ز [[kPhi$ز [ZdmhǬ[ MZ Zop$K,,,,,,,,,,,,,,,,,,$ꪪ/ϼ"Z yI+ll~ sm5h%= mzAЇcЍPf*F]UUUUUUUUUUUUUUUUUUUUUUUQ%$ .N=`lhL6 1.KK0`x x~!UUUUUUUUUUUUUUUUUUUUUUUUUUUDT= ZI?U;=#hi?U;ǐn%tQDTA9QD'¬TAXES\y E;w mCI.;XES\xE(w k"+'*pZT4 b9 003Ҵwآo x8S\y X6> /AFZNzT@fkr=h最`7i9S\y[A[l~竍R?W9OUNq lbM?*`74CJs w P39t``g^V ѼVfTED S\yh5[2v'qwml"Q?59E4lzA@xF'*p1kr>ax59Ec'=]o8㚚4 l"Q``a?U;ǐ(最`7AS\yX,F0w P39t``a?U;ǐ(A``a?U;ǐ(،PJփXlP 003/bwv,E\ӐQFQ1썏Ǩ)>Wm2w P3f (}\ӐQ?55!-8w l} '*pbWEOUNqF袉.:袉.: >(iPw P3Ia^ A%Ҵs'T@f>AxVs4@ Q?T{E]Vs4@ `#AzLPID'=\? h?.9CI.:oqI( OUNq $ATP(0=OUNq &4Ow jj '*p4mOUNq c``a?U;ǐ(AS\yLh0w [XES\yCi&4OUNq pM5 000 k}+c08ēS\s\=79OUNqĮ+sXS\xE(/ 8,S\t袿sLm'*pl4(W^p;a)D0OUNqҴi?U;ǐ(U"4n /`Ehp;Jss"w P3Ih#t``g '=]YO8<8 k*=> FcsVsÃÉ.<@bVm2mAiZNzMD&=E4bʓS\yMh0.pޕ竜>IOUNqMJOUNq A t^V Ѽ<$vm~spS\yCIh#txxH97ۄYO8<8}Gg5{Asxpxq?U;ǐ(،PJ֣_qQ``f^_qQxH97ۄ?"zA@I.<@&P``g_E8MoM6?9}ȓ8ēS\x#CI.:V '*p#tQ__7z Gp;Js'*p6YA'(;JsQvY{b8sTPDZX-:4^;agG9QރÜҴw.'*p{| $'ov{|4l9={b8sV $'*p榥 '*p#tQ__7z Gp;M6< $i b s=19w (cج /j bѳcAi \"OUNq (-:4{THN߸(hsT{pns.'q?'*pk:S\t*OUNqF袿doqE8D'=Rw P3a@U``g{r㴭'=\lQWa@U~h89w P3Q 003$iZNz=آ_qQ~h89w P3!VV ^V ѽ9Fq a@V'=\?vvOUNq {*ڢBvlbM-'` V -'8I.?ؓlwpm*6( 6?9-'8OUNq Fc3$i b}G9E8D.<`F?*`7oM6>~h897ۄw (cجV ^;`Ehh87ۄXh7vvs'*p=hѠq+ :: }cZN;p;M6?}Rw (gGhѠڢBvgGFΎxy=Ü{AdD$<NJ\tSc^6X}r6Sc^ADdT>޶}w l} '*pbWEOUNqF袉.:袉.: >(iPw P3IaT@fj}Ow jjPw jp'*p†S\yCIa?U;ǔ3T{0T7ը# OUNq i 000 Q OS\slOUNqĮ(,ES\t*OUNq lbM OUNqMJOUNq lbM Ow k#CI.;XES\t*OUNq i8Mn 'q?U;55(i?U;ǔ4&7A'q?'*pN($hi?U;Njѵ4CI.jS\yCb;THN߸8$۱?W@ |]#p j۱?W@EU: ,GAQ mCOI.;kPh '*p`6&(i?U;ǐn%x48Ck7k͸AT7Rchv/M9opA<7JhpLGJs'*p MO/(nN($pL7MO  17ۄhP .jS\y]"Ԡ?/tnAB0v>jS\yCA_E>*17ۄmc5pht HI.?qY-MEiZBv-JE5?V4+HN q>sTA{AKz5sZV-=AkPO~rQWAOưR*6%` sG&MNxEϱS\yCFX9slp0I%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ%^bVŐRުHK$p5'oWA92(9FvO6EgjmA͡ 歪$Orsl'7Nm;l}{ѽ 'haȰSpT{q!0AaI}G ppx"x{G;)= UGI%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ%^bVŐRުHվsId⃚h]Ӝ#cf{<ưRҶ5̓ ,5AͲK$"SR0 mY%6,ꪪiAز [Yn|I'=9E™CffffffffBfffffffBĚP{bpjpP8?DI(.  e lN iC'?=#t{b)oT4Ʊ+ */8բLSz DpO ,28'P0P2&0X+(`{AKz zFEQ?'=9E™CffffffffBfffffffBĚ$҇H^{b)oUgji8I.,,V /\ z 47*[izLnE]8Ur FY%kSR0 UEGE6s Mdl~㰃Y.sbba%^R)6, l刄ÃDI/A_,D ,ꪪiAز [[\*E 1 "! X=CWnA.;\*Ţ#CDTPEI?@ 5¬Z(B8T+6n0@9a h4$p4kXPp'ܤW 5U?3(c\*¹vAKzkX[|sGѸl3;"G 1R+_e(Bi?qY- Ʊ+ kXp {b)oTƸU  +E(O 'X)@ز [1abV +CVŐRީp 4(1`V9Hy? O6'p4 㸟xA¬aMqQb'ƍ: `}G  $T{q /~㲞ز [[\*$ꪪ/1+ {b)oUmpMω%^hnB v"NsdPsw,A¬h 0/Zo$K*E5# %^!qQosl.9F= U¬[7>$բLSz As33333333!s3333333!bM(qDDZpA5hS(`ރbvQ V47JQ?q\.AZ.57؝33333333233333332$҇O~ Ag,LkXcX{{bpjpP8'S@(`( J, \qY- [|sBVEQ?'=9E™CffffffffBfffffffBĚ$҇H^{b)oUmpMψIuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTIdDZd XXF$K^qA Jts"dlfcưRV$K֦`6ІE fcưRV,MH78Eϱ pDz,$K.*= "$X  Y%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ'(bDZd XXF$XSa ""8"`h@ ? pq$) `7sp\;7 ֕jz*\ҴMQYϻ\ҴGٮi . iZADEc`VPMsN@QGM\{ZB0 5Glb iƭFjz}jjh59EX-7ը#'Sظ\ bokXPET })/MEa-c#vO 'Ep`сpr삖yf18'h`66n0@9`$& ,<@@" OoA"Edp4 {AKzf%{{AKzf7qY-mbVDŐRީ٦%ia"ز [04ĭ# sN@QGMĉ,L61+H-?{b)oTl`EhŐRީ٦%is,L61+Hkr>D{AKzfjja"ز [04SP\ӐQF,L601A x?ŐRީ٦= S L55 f (y$v r`{ sLMu=gjB¡P'QĬܤW x9aw.)oWc7 c`0 یX  ŐRީ٦ȭJcr]UUUUUUUUUUUUUUUUUUUUUUUUUUU^5?JssЇm`6?Apxp' }k5DYi9^ز [04ĭ#}&+ލ'O8<;9znr:V5= S LJ1A c/pԅ, >ml9}ޛUUUUUUUUUUUUUUUUUUUUUUUUUUUDv4n0Y= S LJ1A b =DZdaiZF|p'ƍز [04ĭ#}Xg,L61+H X&rs1~w,L61+Hآjo{b)oTlAFqY-mbV (&DDZdaiZF>o{AKzfcX,F,L61+HßwŐRީ٦%i>sN@QG'˪Ü[|t'=^.a?UUUUUUUUUUUUUUUUUUUUUUUUUUQ?F_c=ͲI. OX ?}ؠ+dԜcbVbCAE"OzodݷbNQvy ,E$9GpsN@QGM0ꪪw,L61+H Zk 0Y= S LJ1,E/0Y= S LJ04{ѱ~qqY-mbV4}'= S LJ1bVb,ŐRީ٦%ib1A+Z a@V;X oA;(`0&lF .Oѻ{AKzfjjb1A+Z a@V =DZdai6b(~qqY-maai ( bز [04SPkr>NjŐRީ٦>،PJփXlP57ز [04SP Zk /Vz @ 4b4``p8qQ,D&""H^{b)oUi1낰4qD]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUY%%aqY-&5=pVMω%^hnB v"NsdPsw,lt X 6IxԌ %^R)6, ldIuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTI4ؠqY-&5=pVMω"DZpA5hS(`ރbvP\\\XJQ?q\.AZ.57؝GB,< xx??'=\hy =6DP{bpjpP젹&8}qA`x ^8pi?q\.AZ.57؝G ~DIcز [1.8ظ\ \)0joA;( bM#'`0|0wDIcز [04ĭ#*`6/{b)oTl MC*`6.8~хբLSz DpX`,DVPg,L61JQ?q\.AZ.57؝G#`D?"$Ҳ =DZdai#b(.  e lN#Xn"o  ;??DV0Y= S LJ1( [Q?q\.AZ.57؝G0 ??> ;"$ұqY-mac.8ظ\ \)0joA;(b(?A'DV0Y= S LJ1,E/{b)oTl MCl"Q'=9E™Ci ( ?~GAÿ"M+,ŐRީ٦%ikr=hؾ0Y= S L55 59E4l\qDDZpA5hS(`ރbvQf (GO(0aߑ`0J =DZdaiZF\ӐQ<_,ŐRީ٦\ӐQ<\qDDZpA5hS(`ރbvQBo?~GJ =DZdaiZF>o'=9E™CV ѿ?A'DV0Y= S LJ1A bg,L601A b'=9E™CS$ԍ Oȉ4`{AKzfaϻ =DZdai>\qDDZpA5hS(`ރbvP\\\XDP$_/he=DZd XXF[7>#GI%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ%^bVŐRުcPsI,uנPsCp]ȠY4 ,5AͲK$"SR0 mY% _,D ,ꪪiAز [Zl|Pi"P)0X4 Y B pON~ "cF!@$`p'w AZA 6[xAXjLS{ >،O Js IVjH57FOUNq f٫ME(: '*p_ )Xj)Y %<5E$I=I+H4ijz`" >zҴD5Giƭ'"MQZH5i4"MQZLVlS{XM6D޴j{ZB0 5GiƭFjz`"VPS{XM5j54HT{VĬ5&+MEiƭFjz}sZoqQF xZnr+M5j54Hj{ZB0ZvViD$v r`{ sLMu=mp ^9D n UÀ'IM69CW(O\h#A"= SM1+HĐn$ODZdb)&`a=?ŐRީǘ%bD{AKz"aboqQF$G'ز [1!F"= SM1+HT{"= SM1+HĘD{AKz"aboqQF$q"= SM1DZdb)&>R(,LE6<ĭ#)= SM1+HĐi?qY-ꘊlyƭF>OqY-ꘊlyƭF 'Y?(c(FwqY-ꘊlybWDZdb)B,D{AKz"b,LE6<@~$ODZdb)%i ز [15G'ز [1IŐRީǘ`$ODZdb)&>"= SM017 ز [1 MC{D{AKz"aboq1&;{AKz"aboq0}'ز [1 MC{ZB01$DZdb)&`a=?ŐRީǘjjjj0ز [1 MC{ZB00}'ز [1 MC{ZB02 +ز [1 MC{ZB02 D{AKz"aboqQFA4s,LE6DZdb)%ij~ŐRީǘbLp'˪Ü[|t'=^.a?UUUUUUUUUUUUUUUUUUUUUUUUUUQ?F_c=ͲI./(E4K$ jjFsl/ԌdIxGAͲK$$lPsw,V"n|I$) `7sp\; 1qY-ꘊlyƭ'~)1T¡\ }㚋8!%t0@D4~0H"x8rӱV"`48k 8ڢ('=9E™CffffffffBfffffffBfffffffBĚP{bpjpP8cA&XaȹAqXLlDVPcQrSrO{ sV2 M6'e̅̅̅4բLSz DpX`,DV0Y= SM1JO{ sV2 M6'eb? Xȉ4qY-ꘊly#b(.  e lN##' !&{b)oTSc@x{bpjpP8=?~G? iXg,LE6<ĭ#Ag,LE6?~G? iXg,LE6<ĭ#qY-ꘊlyƭF>.8ظ\ \)0joA;( m  ;> `0J =DZdb)%ijx0Y= SM017ը# QQ?q\.AZ.57؝GA%?A ;"$ұqY-ꘊlyZF$D_,ŐRީǘjjjj0Q?q\.AZ.57؝3333333323333333233333332$&8IP; 1qY-ꘊlyƭ'~*<*'I{bpjpP젹&8ظ\ \)0joA;(Nz,?c`80"M(qDDZpA5hS(`ރbvP\\\XJQ?q\.AZ.57؝G1+ ~DIcز [1Ĭ\qDDZpA5hS(`ރbvQF,  J,ŐRީǙ6.P{bpjpP8??`A"iXg,LE6<(.  e lN#@GO,0C"M+,ŐRީǘQ?q\.AZ.57؝G0 ?`aDV0Y= S L55 {"O{ sV2 M6'e5K  ;?p `0DIcز [1Iز [1 MC{ZB01$/{b)oTSc55 M6$EO{ sV2 M6'ecPaÿ#' DV0Y= SM1+H|`{AKz"aboqQF ز [1 MC{'=9E™CAFPaÿ#' DV0Y= SM1+HT{qY-ꘊlyƭFjx0Y= SM017jx{bpjpP8= ( 0wa8$J =DZdb)%i|`{AKz"aboqQF$D_,ŐRީǘjjl I{bpjpP젹&4O{ sV2 M6'e̅̅̅4բLSz Dq0 B$? JQ?q\.AZ.57؝3333333323333333233333332$҇O{ sV2 M6'e J?pOad2"M+,ŐRީǘjjjjM5X{bpjpP8= (#?"M+,ŐRީǘjjjjM5D\qDDZpA5hS(`ރbvQ }G )ÿ"M+,ŐRީǘjjjjM5qբLSz Dq V ;"$ұqY-ꘊlyƭF[[.8ظ\ \)0joA;(.ffffffffd.fffffffd.fffffffd,IM(qDhS,ŐRީǘjjjp겇T.  e lN iC'=9E™CpH!c5?'=\hy8$&8ظ\ \)0joA;(.ffffffffd.fffffffd.fffffffd,I(.  e lN#`D?"$ұqY-ꘊlybV.8ظ\ \)0joA;(#F ~DIe {b)oTSc̄Y(qDDZpA5hS(`ރbvQ ? Xȉ4`{AKz"bO{ sV2 M6'ej ?#' !&{b)oTScQD(.  e lN#j ( 0wDIcز [1Iز [1 MC{ qբLSz Dpu#'`0$J =DZdb)%i>/{b)oTSc55 M6 (.  e lN#ac?A@ ȉ4`{AKz"bVز [1 MC{(.  e lN#?~G DV0Y= SM1+HĘز [1 MC{0Q?q\.AZ.57؝3333333323333333233333332$&8@|=ŐRުcPsVMψIuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTIdDZd\=79K$p5'oWA92(9Fv퍽7 Nr&Y%kSR0 dIxEH`$K.*= "$X  Y%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ'(bDZd\=79E 1 "! X=CWnAI.;#Š5s[X4,!z5mbV&@R&B6jĬ4H&6 Ԝ&6`$J}Gǭ' +H4HmZNAZoq %A4i`&6 +T{lzpҴD`Ei8Mmi4H+4+T{lzp{D"E0h8 vAKzOѸl3;m`rHL<@XxD@z P)/+#Pز [0MDƱ+,L5s2do'ز [0MDęز [0MD6O'ز [0MDĭ# bl5qY-k"aaMq"= S pLJ1bVmĉ,L5s01bVmĉ,L5s1+H X&D{AKzȘbNA{b)oT\=79QH{b)oT\=79 MC*`7qY-k"abNA{b)oT\=79 MCk*=<sF/nŐRީznr&%ikaE]= S pLJ1bVmز [0MDĭ#*`7DZdaZF$4= S pLJ1Fc'˪Ü[|t'=^.a?UUUUUUUUUUUUUUUUUUUUUUUUUUQ?F_c=Ͳ. m}G9Gp،ػA6( Oo٬RT{l~y 7FXlP(n @'ڸ m4CWnQ䬟A6( y .7{b)oTl}ؠ+x]cز [0MDĭ#k*=<_8w,L601bVbu{b)oT\=79 MCk*=<_8qQ,D&""H^{b)oUfznr#GI%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ%^bVŐRުpVMω%^hnB v"NsdPsw,!znr&Y%kSR0 dIxEH`$K.*= mY%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ'(bDZd\=79sH?q\.AZ.57؝3333333323333333233333332$҇O{ sV2 M6'exxH@ ANz,?pH&6"M(qDDZpA5hS(`ރbvP\\\XJQ?q\.AZ.57؝G1+ ~DIe {b)oT\=79Ĭ\բLSz Dq7GO,0C"M+(`{AKzș6.P{bpjpP8=  J,ŐRީznr&$F.P@hb6EgjmAqÀm'=9E™C!xw`D?"$Ҳ =DZdal4(C' {bpjpP8saE\l]";#'`0$J =DZdaZFjT_,ŐRީznr&jT\qDDZpA5hS(`ރbvQ*`7GO(0aߑH&{b)oT\=79`Ehؾ0Y= S pL55 `Ehظ{bpjpP8M  ;? "$ұqY-k"bV#T{lx0Y= S pL55 }FcO{ sV2 M6'em}GA#Paÿ#?"M+,ŐRީznr&%i_qQg,L5s01FcO{ sV2 M6'eAƃG?~G DV0Y= S pLJ1' ز [0MDSPĜ&6.8ظ\ \)0joA;(.ffffffffd.fffffffd.fffffffd,IM(qD째,Vk"n|F(I$$K Jز [YҴ$K^qA Jts"dliZBvn;cpޛЅ'9 ,5AͲK$"SR0 mY% _,D ,ꪪiAز [YҴ$XSa ""8"`h@ ? pq'*ph`rBa"$TPܚm XL88Oa@-+A8T*>O~" 7" 8Y?9kM4pxEzk,~"#iY?U;Jw 7EOzV?U;ǐ(޶ W`* 000 QYϻ\Ҵ0w P3ZNAZVOUNq pV A6( Ҵ0w P3Z}Gǭ' +J '*p1krZVOzoq'*p3T{V jjOUNq fݮ iƭFPaT@g`&6aAS\yk aAS\yk*==i8Mmiƒ '*p1krZoqQF``a?'*pF/`&6 +miZAV Q4i\Ӑ\ҴDZNAZoq Z a@V֛l`_qQIh#kM64`VP '""P0,8-ek~0<$, +Arky0Ѹ&aO<@B4?'+HNdpҴ"ҴAX-ؠ+kJĉJ`mZNAZV$OVkrZV$OV+4 H!;yV A6( {$OV+T{lzp{$OVkrZoqQF_+HNdpҴ!;yV A6( Ҵ!;yV Q4iiZBvٮi . iZ@N=UUUUUUUUUUUUUUUUUUUUUUUUUUUD9ZNz]` ˪ƍ 21x  '{d0m X  rzF!4\=!K'c(VzFh Gjl{~ 8X-EAX.dl4U"+i޳v+ijz*\{ZB0 5Gg>pV M5j5!0=b x 08rÁ]Rޯ f0Z(B<`F/ ` "48&C9?rkyV>OoA  h#A"ҴB,Di 5Glb iZX?ZBv QYϻ\Ҵ"Ҵ޶ W`VP1"Ҵ޳v+`O~ Ҵ޶ W`-+HNa=9kZVOuUUUUUUUUUUUUUUUUUUUUUUUUUUTOxs+o ''h`#=`X0pǹO 'pQ] ?q=Ǻ'75͋ok4o,\ؠ,$ =mi q>=WJAvŐRުpV'o'7zІ -=Ak\4hl~rQWW XEXFĬ?E\M^'ޛܝ*c'ز [YҴ 0XDX@+*dl J6.O{AKz5sZVB +Ae޶ W`"0Y+HNa=`EpV J'= Uȭ+HNCArQYϻ\Ҵ d!;yݮ iZBDZd\=79i (` "4.VTpҴ d!;yV Ih#kJ'= Uȭ+HNCArXlPiZBv XlPi ŐRުpV'oP xxYPV Q4iZBv _qQIh#kJ'= Uȭ+HNCArٮi . iZEh`VkrZV?qY-MEiZBv ," jz*\{ZB0(+C޶ W`VP{b)oUfznr+J(Pa@Eah<<\T{s`VP d!;yݮ iƭF ŐRުpV'oP xxYPV Ih#kM6h`V+4rز [YҴ 0XDX@+* h5[Zoq(+CAX-ؠ+kM6DZd\=79i (` "4.VTk*==i8Mmi J`mZNAZoq'= Uȭ+HNCArٮi . iƭFZBvٮi . iƭF OuUUUUUUUUUUUUUUUUUUUUUUUUUUTOn!lF(%xR  k^OV4Cc?ṮI4Pcb|G}5vOnMQ썢kMH1`,Gw6<]ƏF!'7`Eh*T4}Ǹꪪ,Vk"!;| V}U"+iSz 0Y+HNa=`EpV J`+BɽHaÄPA00pO{AKz5sZVB +Ae>،PJjz*\{ZB0(+C`VT{V jjG` XM6'eC $Ҁ сI$|"|OưR*60zi 'p8,Vk"!;|%pSz 30XOqY-MEiZBv+#<,~GTO 'p5)q#iCJqO79 ,CBa"? O4n1 `}G  ȑqQ,D&""H^{b)oUfznr+Jh$$K Jز [YҴ[7>$Ix:kN(99&؊: 9IAh6?7ޛЅȘIdMH7mY%"osl/79IdUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDMnŐRުpV'oi$X.  e lN &8ظ\ \)0joA;(Bh~@#hX "IWG wDI(.  e lN &8ظ\ \)0joA;(bWO `0"M+(`{AKzȘ%b(w " Es+A =DZd\=79i න+q$DZpA5hS(`ރbvP\\̅̅̅4բLSz DbWGO,0C"M+(` "4.P{bpjpP젹 iC'=9E™CF,GO,0C"M+(`{AKz5sZVB+AeB,(qDDZpA5hS(`ރbvQ#&7 OiX#ز [YҴ 0DX@+* i8MmiZEE =DZd\=79i (` "4VTp{AQqբLSz D[#'`0Jĉ,ŐRުpV'oP xyYPV A6( Ҵ g,Vk"!;| VʂZ a@V֛l (.  e lN#pu最 O0w&0Y= Uȭ+HNCAٮi . iZEE`{AKz5sZVB+Ae\Ӑ\{ZB0(*.8ظ\ \)0joA;(m}G?~GDV$Hg,Vk"!;| VʂZ}Gǭ' +H0Y= Uȭ+HNCA򲠬_qQIh#kM6EO{ sV2 M6'e84U"4o hGO(0aߑ aߑiX#ز [YҴ 0DX@+(U"+i,ŐRުpV'oP xyYFAX-7ը#'=9E™C }@#'`0`0ȉ4HqY-MEiZBv " jz}PT_,ŐRުpV'oP xyYFݮ iƭFQ?q\.AZ.57؝33333333233333333!s3333333!s3333333!bM(qDsl|=ŐRުpV'oi8I.,,WI,uנPsCp]ȠYvsI`#iIdMH7mY%"osl/7XL88 FΉ$_= S"ZF0ؠ* Ǹꪪ4V+IW,OuUUUUUUUUUUUUUUUUUUUUUUUUUUTOѸfF/zAaslqQ,D&""H^{b)oUqz Dh$$K Jز [\^[7>$Ix:kN(99&؊: 9IAh6?=19?fKXF0/Zo$K*E5# %^!qQosl.9F= U1sH?q\.AZ.57؝3333333323333333233333332$҇O{ sV2 M6'e4aw4  JQ?q\.AZ.57؝3333333323333333233333332$҇O{ sV2 M6'eb(`(  0 DIe {b)oTȽ"bV#be {b)oTȽ"ad"عC'=9E™Cb#c  ;? "$ұqY-LJ1VFNjز [2/Ajjb#cO{ sV2 M6'eV6t @ ȉ4`{AKzE1`lز [2/Ajj=hQ?q\.AZ.57؝GgG?@ #?"M+,ŐRީz Dĭ#rѳ/{b)oTȽ"aaQZ6tEO{ sV2 M6'e̅̅̅4I(|=ŐRުi8I.,,V,uנPsCp]ȠYE8DLk,aHK$ jjF0`>AP;kV"g1Dc+c/ AKz?A92(9 0 U92K$"SR0 mY% _,D ,ꪪiAز [[$XSa ""8"`h@ ? pq$SX cX* VS] XT+*=@4 O{X+JYzvl~Q@l,~yO{X+M6 9[tb=j(mpr6'*p_ )+Ink9p#aDؠ*8iT{lzrҴD`EiZK9[ s\qJX+U"$K[삗+Icج"\rҴ=(-:!D5E"XlPdlzr{j}Gǭq-7V {s\r{X+U"$K[삗7ՏbZ6tCDs\qM5cتrѳQ$H} 08rÁ]Rޯ,21|4n0 `}G  $ރc1Eph#A,Ls\q%i7qY-J1VFqY-J1Fc"= SqZF`G{b)oT5bVجV $ODZdc1+HV FΎ$ODZdc1+HܣlD{AKz98 MC!F"= Sq6( 6?{b)oT5ab}GD{AKz98 MCEUU#DZdc00{*ĉ,Ls\qbZ6tq"= SqGh$DZdc1+HYDZdc1+Hmز [1qa p'˪Ü[|t'=^.a?UUUUUUUUUUUUUUUUUUUUUUUUUUQ?F_c=ͲI}G ppx"x{G;)= U8ᣊ$ꪪ/1+ {b)oUnk9oY%끯A8 ,Wb(4=&E7}.-'8cX)c+FY%kSR0 dIxEH`$K.*= mY%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ'(bDZd5n|I'=9E™CffffffffBfffffffBfffffffBĚP{bpjpP8D 8"#>sƁ` wÂA1iC'=9E™CffffffffBfffffffBfffffffBĚP{bpjpP8Y# !?ȉ4qY-J2dl\qY-55 Y(qDDZpA5hS(`ރbvQlPdl?~GODV0Y= SqZF0ؠ*|`{AKz98 MClPdlx{bpjpP8M  ;?"$ұqY-J1FcqY-55 QqբLSz DphEh?~GODV0Y= SqZF`D_,ŐRީk8SPUlb(.  e lN#6 X&GGDIcز [1q`+U"/{b)oT5a`+U".8ظ\ \)0joA;(bѳGGDIcز [1q`+gD_,ŐRީk8SPV FΈ{bpjpP8 :?G?QiXg,Ls\q%i{||`{AKz98 MCrѳ.8ظ\ \)0joA;(.ffffffffd.fffffffd.fffffffd,IM(qD째,VMψIuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTIdDZdDzId⃚-4=&E7}.}lͽNJ\Gmp0/Zo$K*E5# %^!qQo ppx%rHL<@XxD@.9F= U'E 1 "! X=CWnAI@(g. oZ)T+6}bW(VؘO~+Mk&D>Eϱ 0 U9<"_zV=V}X2&@]tScįcG_J``48_prxD'w +%t0hhPvj+_pr|{bpi/@q?6r;7y ȑN@ kXP>Odw汸=mbW.MĬkXg. oZ)$UUUUUUUUUUUUUUUUUUUUUUUUUUUDfq߄*9f (~f]UUUUUUUUUUUUUUUUUUUUUUUUUUUS\wDzUEFtOkkXPh`QXmp-5JXبDq?V6 rc}mp[\*Ţ#BOH} j-p H.)oWcg. oZ)CkV-!hr\"4`pÃܻ ^Ydbrcظ\ c}hNj' 7 c`0 یX  OoA"Edp4 {AKz:'M1J{b)oTDzb)B,D{AKz:'M1{AKz:'M1EqY-o[\>E6<ĭ#AqY-o[\>E6<ĭ# Qĉ,LtOf"aboqI'ز [1>޶}lyĐoDZdc}mp1 MC{D{AKz:'M017ը#A{AKz:'M017ը# Qĉ,LtOff%qY-o[\>62do'ز [1>޶}mbVbM= Skن٦0U"4lw o[\>zF!'>޶}Z(B40iR5hc\>į`}QGѸa a@-:'EG @'IdbQFznr+k+4iX-' 7O0,8-c#Ð;,E6<\q?F>pT{q!0Aaz P)/+#Pز [1>޶}k"cXŐRީ\=79Ih#x?ŐRީ\=79 MCp? O?9#7{b)oTDzb)%i ز [1>޶}lyZF߽DZdc}mp0MDĭ#pOuUUUUUUUUUUUUUUUUUUUUUUUUUUTOxs+o ''h`#=`X0pǹOO*=刄ÃDI?qOqY->޶}Q$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDIxAXo{AKztOk}Ē/\ z 47!bGA92(9FvocPsL$ :'cPs@JЉ'(oMA{INJ\tK$ jjFsl/ԌdIxGAͲK$$lPsw,Vo[\>Mω"v r`{ sLtO|*'I@( =DZdc}mp1 MC{ZNbVTcyXT+޶}ly#b(.  e lN##' !&{b)oTDzb) <\qDDZpA5hS(`ރbvQ&?`A"iXg,LtOf"b <\qDDZpA5hS(`ރbvQPIDPaÿ#' DV0Y= SkوǘbH4_,ŐRީSc55 M5j5Đh0Y= Skوǘjjl I(.  e lN#ac?A 8AiXg,LtOf"bVز [1>޶}lyƭFjx0Y= Skوǘjjl 5G\qDDZpA5hS(`ރbvP\\\XJQ?q\.AZ.57؝GB,< xx??`A"iXg,LtOff%b'=9E™C1doX`,DVPg,LtOff6.P{bpjpP젹&8ظ\ \)0joA;(Bh~@#' !&0Y= Skنznr&5XC'=9E™C A#Paÿ#?"M+,ŐRީ\=79Ih#bg,LtOfȘjjFO{ sV2 M6'e̅̅̅4hS,ŐRީM017դ/eaP?q\.AZ.57؝3333333323333333233333332$҇O{ sV2 M6'e x!G}竍@#c`;"$҇O{ sV2 M6'e̅̅̅4բLSz Dp8$ Ə? Xȉ4`{AKz:'M1JO{ sV2 M6'eb? Xȉ4qY-o[\>E6z'A (d]"* '7U C"OopAAEb+MJ '7U C"As4N=T)袷TQDTPԅ} MJ Sw P3JҠ4Ԡ 'F "!x;Qn18qf8v*=@4 lr9H(FwH' z if{"I@hb `bV2$q2$ql0̉`x 'IMB94PȰM[[N5XPcL+Cd (dX&-}&V) X (dX&-aZOopAAEhrؚp15aZcFA`x X/8 }T E ѵ4a SPT E ѵ4`aAM0 L9I@h` !V 'I7MB94P!kpA=m 'х4n*sPhtXҴ %ia (d]" &l/Ov4n UÀ'I7MB94PȺ,EfXcSP6C 'h7U C"uL6C '@' $یXL88i9@;  C`;ȉ4բLSz As33333333!s3333333!s3333333!s3333333!s3333333!bM(qDM=ز [1`6& kq?{b)oT'b&Ehrؚp1HZ} biEOoq\.AZ.57؝G( #GJ =DZdc 1"4mn9lM8%aAM0@{ sV2 M6'e3 ,2? #'`0$ 8AiXg,LrqA&"dX&-Ĭ(1 =DZdc 1"4mn9lM8-c>Dž14¢g,LrqA&"dX&-aQ|`{AKz982,FӁPcL*/{b)oT'b&Ehrؚp15aQ|`{AKz982,FӁ14¢' IC.  e lN#gLXdGƂA$Ix:kN(99&؊8D ¨A5h4=&E79٢#K&(Ƞ湱{F ,5AͲK$"SR0 mY%6,ꪪiAز [[kPhi$Xƍ ŐRީQAEhrؚp1J€  'I{bpjpP젹&8ظ\ \)0joA;( ЀBA!x:Nz,?pH&6?c`80"M(qDDZpA5hS(`ރbvP\\\\\XJQ?9OAg,Lzj 2,FӁbV T_q'BqY-(dX&-}&T_A(vբLSz DpL) ?ȉ4`{AKz=F kqbiƱ+ biEOظ\ \)0joA;( P0aH?~G a8$J =DZdckPh`6& k&T_,ŐRީQAEhrؚp1HZ} biEqY-(dX&-aQ|`{AKz=F kqbiSP(1 =DZdckPh`6& M@&T_,ŐRީQAEhrؚp0U0&T\qD I?(vբLSz DpL) @ O(0aü4>4Sz&/{b)oTǨ֠C"i ز [154PȺ,Ef0Y= SZE Vg,Lzj 2.Xb'=9E™CffffffffBfffffffBfffffffBfffffffBfffffffBĚ$҇O/~㲞ز [[kPhi8I$$K Jز [\M[X/\ z 47*[' hǭJṹ=ĖIxԌ %^R)6, l刄ÃDI/Ba"IuUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTI4ؠqY- hǭJH?@0@DD=`pD Ѐg(~ 0 "I?U;dbQPV E6=mbW'Sظ\ bokXPET })/MEa-c#q?,)/F`<88Xp<˲ [F/@qf8v*=倐x $R+^Q?︨"$_/he=DZd++I%UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ%^bVŐRުL{#kE6=frZjj{p%^hnL{#xo9Gy=EKЉEG*Tg=apOcF,N͍Y=i,ŐRީǘjjl 5G_;xm'h= SM017jXSccjZoq'?9I@( =DZdb)&>Wxm'֛jj h@{0izBHeVxL, DXH@"@ JbEKhp<$=VXبDvOcF?U`0 E;66=fal0p }ƍX"Tz{ZB0 =DZdb)&`a=i?FqY-ꘊlyƭFjXSccjZoqQF? Or/~㲞ز [ZdmhǬ[ MZ Zop8@ 55 lZ$+b՝ab&3W./usr/es/sbin/cluster/events/utils/clrsrvmgraa '$  aest018:AH_cilnor ,-./235;=@bdfgkpuv (4679DLNPRT`hmx|!"$%CEFMSUXy}')*<>BIJKOVw#&+?GWY[\]jqz{QZ^~\} x R=H ; nj3\f ~{# 89{\fq*C3  c õ=socm vl-DDa'P h fN`y?knn "ք 1Ґ`.9PC@>[ Nh$&;B#tx 2|x&}_AA :HD FhC8_ @F:7 Eb]yo؏LX2~gT^qRR> Bet>ttFnc:^: #'ǂg/ќBStc<2|x&}$gG=G¨r7dg4}Dx:|*  G#|)%=8B#TxdL9"\ǃ/ќ- jeHߞ4^qRRaaJTwذA0FnoH&AdF$Lڅ MN;EnqBtF<:O5S:`:hzt|Ah#!>F3!!}f%dO Ā$#F3B 8}f# B >F}zAM. dF^JjfN~=hxt|a@N\RkPapA`Yr3Ϸ.%=?_ MќB.)IG#Lw3![oFFΌ4!^W@n!!ap3 ۀ7nPݸL8n/ֆ7n_ M0pB|77wп ~57~MM!n7naǐ7>`Jz@\>`:l6MO/1)Zt0»SW:n0}Aː1u$ _G#:n Oh >|0}6J{Fq @p$;B$L9˒HG#B<9s &>ܹ$_G#BI" FI>xh?ZHau`%:S(q~:`:hz x- @N_n9B!r(Λ>ܸ\f|0}6J{Fq @qur4|hC28 _G#|6B6ta !Ir4.}r IFt`q)/Oh!@h#8F f<.Iq!W:0Іl DFi"p5}f·cϯHBh4 CFOo]!u3L:`:hzt|+@N`0BgAb0 p5Bh5S F9\;BW Õ7mp6 \k0ݵR,77\< \v_!nэ[i"tnvp769tHJ{.~$oOY.8 I">FH|0}6J{Fqi$r7 K }f.IdCoFFΌ7MќHP:9Fp7nnܽ ۦB|77!~@ M(_ MB":7:nhqqwΛM Nuӣypxt Λpzt7'Mp4B6mpx70cFΛ>ܸ"}pB02̹Z: A na]SW:n\rSooH9_ԖBgΛn0%=8dgD}a7hC1"aoFFΌ4!$LFt"`3}%wfqY(߄'Mˎ f<Dyr0ٶ SA0, `X+=\p$Jf OYB@@9lY|`%Ar0ٶqŔ!$Jf D%Pg"P F6Vz>\qefy(d9$G#I_n$Lh[`h R _n$JonB/B ⴑ(Ft#˟|)F3(}r4 'Z0DL9y G#Iǟ]FOo #Vo}, CXgKhL1:mqD Dےˎ!qh{ɀ1-ː$L{h[$>9k>ħg)V"@J9`).ІbHAoFFΌ4&Ƅ -ː$LZ9"`}˟mrS3`l+ t_G#L:`s@ H[}ڹцkˎ$hC1$r4(C1gcϮ`:<! Іhև'~7.뎢TmZPY #Xև-`r!/2j&Ƅ  r/IFrH6s\J{FqH|0}6J{FqqH>F t| !l#8i6Pax#-}&<qha8Zhz2~#|q*e6(VR,CX9ZΗИAh# o6< lA|j:#f:X3Lf@ Дt t 3BC`@ hJ:d ж:B >:#f:X3Lf3B4]Ah[`4)(3|$B#- H@>F$yr3LJlx|\qic xR+I &h8H @ gо$;h[<>B G#:lxLjIOe/60΍ǂT  $ f667H3 " Fm]$JOh@n "05}/n$Ji:n0}V{.8>_ MќH7H3 >" G#|6B6ta $O1Ø l$B$JF+=8| fC_!m"Rgc- F+=->%=HЛgGr7یDG@ L X@n $&}/n$Hi:n\rY\|0}6J{Fq#|y"DRGoFFΌ4!H}r4BI>ːD/˒D3b3rlB DϣːD/˒H@r1Yh_Pl\q#Bnl3`!@r7ۗ$_Pl!mtrH)ąǒupMќB-!d" ܔBc:9FI>L<|4V0-@~=?kyu<5n6`RXևKhL@N<9:7<:B6Λ!W:n0}ábtΛ<1}Y P 'Ѝ(@B!n G>9_B"H-}lAY\|0}6J{Fq#|f>6I G#|fx$V9tF|9< kBb3C! kIOW.8'<1|\5 K@'#:O GIr4&$IۡgM.BrÓD/I _G#ˎی Oh->nxr3`l G#B6@>Fg)1HBc`FOo bE y* 3wXևKhL4lP6pː D%:$ }s˅gs)čv(C0H>F!dFl Oh$hFGr4HJ{.8WIgd/D L}&< C烤!3`FOoi!Rj8J)wLt>t x- VtcvPs1nƨ[_ tۡ4/ֆT-&oH:<Թ5|\5 KANF3 0>Fl _7 CRq`Hmj\N:Lu'Eg#I/ܹ jM˟n\ To mH1}&FH!n5@Nn|lm&>}v#@FOoNsxt"< k!5:G#||cC'ǚq)789;Dx:>v( N-0@vz %Ӌ@LD'`/ѹ|29$# c3n8 @.#4"㉀M,cM cyqČ cNh:p>n #iŠ@4-86A4b1/4IZqh/( $ N- n "P L2~@ B%J"Ӌ@L=;!iŠ& !X|^sak`Z!h΢^V178Hocád_!?&xt"< k!rtF<:O5Rnq::G#||cC'ǚq)78Ӥr7w1Јt2|ysntF<:O5RnqHocád_!?&dtF<:O5S~j~ȉ˅`. Ji8VS(L҅ '/4xn(N;ZP+E>дAsH DV/X jt֚uZbN2gJ'/(P1BT ոكSN:bV'/LY+E>.JTTHJ J@TJW}_ )0—p)t~%iAjK.\PgI@L/RfP*Suo*PaLndB/LndB/0NUn6I zIU͜ԪJ\VlgSLөy)9Vf M(N1q8B~gS+JC&R'tPג1J`7yөyd)m8lPBh+6mꔴ<ƮH 2PF7hwLTh▕)i1n)y^ Ǝ:fNKAsͼjD5VƁ!;C-*RjU<7q[CuNA իTNPj겇Kө(P顳DM+pѢ`TRCFm$4VK >bupZJ44qHVJ(J4IZ Q^ Z PhX`'hŴ0h'xnӊթTR`Af&.&y9 uf43T:`ŤM ufͼR(N1hRтwLN4 ZNA` FPP+N悂CVZ  р%8bEBENy[D5 .LAKlJCEiԼPRJ@|'hŴ0 Z0B҇LPUh֊ ]VPzu% m畴Lh)uf ]ht`͠>PP+N悂R(0pءIP0 FhZPɊ :A/NC򶉆j ]hZ4*3h.4өy(+ E  QJm[AR&)̍U`\VlC5J Z NvJhpb'1i<ƍ(N1i;)T[8͛y:-6&45uƝy]iQO in:fNKJƝyR̜h;m'yBj+D4qHV`1c Z F%@.䠔hJ\% @* A@+(X PV0J aX(/ӨpTN+VQhR`Aµj+D4qHV`1c Z F%@.䠔hJ\% @* A@+(X PV0J aX(/ӨpTN+VQhR`A[2qe Vl82V240NɱÀ@:c&H lpM1&PfÃ%m&h xCC8&2hږde Vl82V0܀ \M ')iuZbaPݷ(5uYCԔ&Pj+(p/:Pju&PfÃ%dZphJеݷJ\R|eBiF Om*)DV )1Ndj:gP0b;'u4\Vl)i:J Riọ#Fn+R↍]p4J8wV+6mꔴ`j:&fңGӏ&' w^uJ 8ڷZxnJufͼRy]iQM`6+i(58ђFu 0N领J*Iԙ4fbo<9y:ҷ6 <\Vl)t\f~؟<6?e?e?l~?#_C#C?m O%=vJbBr_VJp*uq_ P7q_U\AZjUuwZu/\AEiԼc\A'w\A]LړT&P?ˈ:h?8Gˈ:#q_q_ҥL˃Thj̿˃Mp7+6#k16늶=qV[qV#olal7V*:⭃^V#`ۮ*?dpU~4bA\U~pU~6V Wl ⭃AAl⭃A(lqV qV![.lqV!`U~C 9`E[_lq` Ȉy`$lE[B lN*?"k*?" 8F*?"`e:P9z"WU(N^BrE(PhhP9P(N_'nY:BrGlvեRR3&PfÃ%ebiXV-)>|#Jp*u)Y*Qj*L0p: lp#JTS%Jh[`u*S [5PTvբxi1^@Id@}i2:į"x%Nc"x"y՟,>X/,+@TZڳ Oń LȆ@/)10u)zwD(ZXYLLȞ@VZY^N8q+Ȟ@.-&A5uʔ:O BZL>qÆͨD5@/-u ]q2$SE%%5uȐ!%*)%*),,XxX--mY%ee8qkjϖ,)++,&)!-mY%ee8yi2(+>Zڳ,+ȑX|Ia^)JCD5]8ꔢ+%@-,u3Һo c)uĦn(ʉJEKLtYQ)QI*S:+n$EeDK 1'LI ,Ȟ -mY¼NqIkjϖ,)++,&)D𸨵g $O >X|a1^DqYkjϖ,)*,&+h KLI ,D\Zڳ :'K[V|aIYYa1N#D^ZbLf'-mYxPa’bF%%$ly Qkjϖ,@ygtO!+-mY%ee9'K[V|`"Dqkjϖ,HBg J q:'[V|aIYYa1N#Di2(-mY ,Ȟaaa^'DXZڳ J q:'e>X|"DZZڳ H[V|aRbyi2̅-1&@eFW,-1&@!DdELIb4O >ęf#Dd-1&@Y<d' )-$2O @TZbIf#Def#Dd LIb4O @Ĩ\Y"yyiQf@'LEŘ P ,h@RRZbLyIQi2̈Zu/%5u'bDLMTJ)u3ҦPjd& 368q!u. LQ]Lp2"n$JJdQΧ4V2V,&@&Ph2VZ/ĉRL* R-Cf[͑d.u8T`^3DV-Lf2lp!qNB]p 14(x[CGDLMTJ) (qiBf'L MDh.S 6L80D.C15R*T@\.(qiBf'L S 6L80D$JJdQ'%n6`RAa2CÃHE*m畦%Vh ^ʇ[yi UD_15R*T@ V'Pג1J`7Q¬dF*1J`7Q c" rNBvB`5-D,C'tBw^D,*ĉRL* R,+Ȕ1J`7Q1"eF^PK!RU/&"**y2U/"&Af"d*SU)D JEJR'tD21c řɱÈx*SU)D EXNȅYe Vl82VɝN`3guĪ'RdɐdJxZͨ5q i8ڱ &A(N1Dbn@lNc5'˄Ǚ $f6òFko8f5f<3a6&vy xn;<̀ pgoócfxKp31gzg6t쑙 pD;<BcDŽ`;0Q(;$f #  &f .d]A#1`3(3q1mn쑘 vy`RvHB3d#A#1)!b A#1`';$f!abe@`PvHB#1d;뀠쑘`RvHD;$f"C(;$f" 8&f"Fb!쑘A#1vy|j;<̀7 02o~쑙xvyl |쑘OƣaF쑘c(;$f#03d``PvHF 6d``PvHF6#1>da;$fB쑙!Qd `PvH̄0dL6d@d!d! \N1#;dā.FbAoóĉ6#1 `PvHH3gGdĤ{FbP#bP%1(oJvHJ v3pL;xg3\f<uُ1 D,a+0|%fD"VaJ>3YƱ+0aVa ,$L;0C0F>"f a0إ|BFac$f| y|EL3vbC1,V@7b fb;1.kو!D1 "cU31+x9;ȁlB|!Dș1'f"Hوu6A811b k \و(f"p 0D`}!ElA3B̃dVd ə dYC2ِ 3 . bdEbdX̀Yx#f@`4̀!K:6b<3Bb6`6F31"vb412f#AC1و11kBb0]b0e b0ob0wb00Ef#Rb0`Fvd:vd!,YfB33!ճ!]fBme!ِĂ1 f$D,ă1 "f$z#f$ĬāLH TNHbb@#f$p:KYY35ى_JXf%ĠW;YC16@LC놛10k]f>͐ f,B͔1lb6ldu3d6Y dL )fAdȇ+2!L3"̈Y3".̈a $Ȍ .̈u ّ22 mȁY)+1>LNC(f' gىhYbtc18VN7YRbp/f'TLXNeil\PѳP f(1@;DPd,H̍Ke,"ّbda&dcfF a#20m$fF ,̌&da da0z30S 555لOǙA>"0Gل@"fD6aCȑFG3șcF1cxD#zYo,3H#Fa40*;\ 6`t%ف]`tc<`t54@SيGFbbVb;,-HBFR]F0gBFbI#1KЕs!TRZf)C !A1HwbL$ e B:a#Qc0.fP  &a#a mL@]-f*a 90K_ 0f DRPa!*T)(ϰjU(T(TaA իRaA Rh:_~h:8&?  ]y< 2N Q ̜yQ 8s_{RVo mY?7  5W~fD&*T>m?dXߑ fhkc3_~D{gU~=A~=҅pG]~=҅pG{{#lfkȏ~jUsAՌ~=҅pG샻{#ߚ+Nyc3_~D{F)@f) ac3_~D{ZjUg{#A~=ӪL~Aǿ"=e sfkȏ~Cg쁥~=͚y!݌~=(N1v35GuI^1?d<ǿ"=88lfkȏ~Eǿ"=y~=8ߑǝD635Guͩ1șǿ"=e s?"#ǿ"= &ȅ635G2qFgA-~=ոـӟ5c3_~D{F6?" ,fkȏ~bfs|fs|zՙfs|?Z9>Z9x^\YVg?֬֬~fsDjՙZ9" =j.3!Y=jjYZ9yai֬Z9"׭Y3 uVg?@3 Vg?@&3 zՙYfoÌVLZWՙ*DBoՙ끊՘KV`N3;?f  ? {L1(5~M 7V`O'/11{_q'$㕫3"d-YզDLՙ Vfr+VcDŽ%0W'qՙԝj01~ džV`O'/11}o0N#Aw`0Z8DLrՙZdD?-YL "ՙ2j"&A+VfYLhZWj;Z7CH\UkVfzfo*ՙ9-YYjf ;Z:cd!}r7i?\8Ək7Fqnfr!?6j_˖&DL.Z7p1Z޺E0W'qՙԝ*,ģjcwEz7F r՘~J}sFM7Z8#Q˖&DL.Z7p1Z0W'qՙԝ_,jc. p?#lF6Zy9yىZ2ly"ՙDEB-YS"*|`foF E30qoa"ՙ+Vh RDHPjՙY"dZ7PLjV\ V` vf ;Z:cbabaj 55߱q3V`O'/11@.06V?gKVg艐.Z7L3x&AfojHfov-YT"*|E3"jN^jw֬\VgRw ~"?_q/0m^ ~-Ơ!\&lfr5gDh.3dEB˖3#qՙ%-Y! \ VA\VgRw ~#aөQo8m:Aa2 QZy9yفЖVd2 jڳ#dF{+Vg艐.Z7L3zdD?-Y͌ bfo1Pْ"d3Z7Bjfo]qՙ끊՘U0W'qՙԜF 5`jfo'p@y_0_ $65_( Ơ*?\sc3_/H끊՘qZ՘+j3?A7Yll/ǿ")78ڱ~aca~=Ĉ}j^O?"?=kl ޵fRg=k+7li ȃ$z՛^VJՄ'3oYUC Rz*Zs);+Lhفk/yZc@?_a}p70НpXBxN ,Q}s5'~ ٞWo6g0(P QA(T35_HH~6?!Ld:2w{ XBxN;ݘW_3_"~N;ݘW_a}~d:2w{Մ'өx̐fD Zu/ْW_`(N̝"Մ'R9ْ k_B8s$_`#J3'w*Z(VZVdU5!BjԪ$: ~% ԙ !?BVY!*357Wjz468   _@H'!Pi4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4RM4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4M4RjMq1REQ yl`Ro㄃ŅjM=j sRjM  I71R({Z09jM=j sTIBRoqT&cLTkQKE$֨L 5P>^{Z0Bbi#渴oqT&cȜʉ Zڲz K֨L 5O\A&Ba9|88_0r)71PM쌩QIǭPAj{88_0r)71Sg)Sz[U&Ba9 8{Z+zʤ֨L 5HqU=ǭeRoqT&c9\ (J)5&iiiiiiiiiiiiiiiiii&mmmmmm|܂ |NcgsL2N9(xEm9o:Lo FNؼ]CRmmmmmmjMT:+ B.F:Bl:'HtVU1XI&mmmmmm&mmmmmmm&r3Ջcl[b6mmmmmmmtf=j shZ]͇P'7,atf9?]Or2ŎohɹS&8dUѕ9O'bv@ifAc>PpC NVNOK0Y#%JsUM݄L@|U9x0?/Q6=~UH'l샐\X\tgI5B!tfk8i#渴(n|& >BW lA %< s\Z tfŅV0a)OqbsPcdq2h1Fa1YcJ)h axd=ؠ_yf(Fa1|NQI)B4?7Ax0Lp\8Lw7솊EhH-yRZ vCF_B2v0[NO؂Jt_$ _- ;  yRDFa1|NS\. FgGq=X\8Lw7솊EhH- AhFNػ &i7C N䜽a$ 'a"$u*pj]EN^9HdX tV,sw7 G>rN:vCyf({!,cőc226. r&S'/XIhIHIʒ$T p85?.c'/|jIʁxFJ ʭ)'p/]gOg[,? ڲw |d}m9?ba)|$|$$_$I*pI]dFa1|NT2^Jso-!L?,cőc`{!c/El d퍋`> 0I@Zv/@85?.c'Ԃ+}0Eot"ƔⷔqӅPC7?_:!+|қ7їsʱ2G 2>Ʋ,Z 4.a$&vY4@@L5&E`t'  5& Eрw(MI-"ą-cҲ{BRoȐ iYlqu !)5&f%G(X8padG( Rn<d`` JͶmmmmmmj$̈́; [+-fdOȐNrG 3a4OIq,sw|U&3Gq<`zm; Az烊qdPa%Cq{]?msgq>';cub2XHSopkNi%ZM `9ɱz󹲟K=v/@Gn&{  l2rӸ:PYlw6Cp-|yBeE?y|vG1Q[;An >[?m/A% qdPa%Nc .|qSor |KqNw528(0''ljܳXN OrK',%%p_;!$6mmmmmmma<Ʒ{Z0#Z Z(+ #ݘ0,J?w0.I`Q=j sC\XUh)h h >8`>8kiD#<`Q=j sC\XUh)hc@/Iz0Gq>Z1R)"( 9P֊(06OqRF O6'mmmmmmm܌% W&$h敖?mmmmmmm?jHL$v`h8P<Q "*Bh 8Z1R)"(@$=DH,.q%H|,iL`~ebdp%?؝?'=ǭKEvV-O ax1Sg)Q"1fvHhၘA?F {Z0>VrqU]9!P*"@paX^0-=j sTYqTqv`sCȨT E $ 0W{Z0 ♂"YQ=)Js 4P8p!){Z0 ♂"YRd.(J;,S'YEoy9 4dH $ȩ>PRɱ?؟ĺ3 yRJAOK0pԃ!mmmmmmmmڟp\pĘ3Ah2ɹOZ\tmmmmmmmmR hH(Mpԃ!@\id OI)B4`Y$RbʒR pH p!@1)a<,/ٓ r(0"ChuB8D#<aI)B8D#-Oz cY:/q)n~BW O"@`%0'd6pĘ3s`쓚M >N 4P8p&ħmmmmmmmqH O^]- VS'kP5?$kXҀ>[#ň!sI)4Ͷmmmmmmjц6]tXpJ>QƋ >Q3qhO0`@1'` 03q>ZFa1Ƴ*9QaY T񤅱0x5@1[$hF^𰼪Eg[pĺ3 5XVH*9QaYOz t+cXx7D0=Bbl ` "D=AIF;!,b}4n,A &G*;CøI ЃL 0`@1f *9QaY00b"²@p8``+9Fva:R(G.0(D>QƁZ1R)"(XI q%@CECjM+bJ֨L 459{Kc/E섩9 1ŢE&b|mmmmmmmڟqiy)+yI+~ O*y+%mmmmmmmǭPAj1S|)6mmmmmmm7|6]{(J;!d; x,VՔdbͶmmmmmmj֨L 5PH-mmmmmmmYb󜸯cp`x1S#OmmmmmmmOz &FT㊨|11_0`X Qˌ1PM쌩Qc,E֨L 459{[VRNT 2T*b֨L 5A72UGkG( DT %`z 憢'/|le轐" 1?qT&cS*#"Dxc$", {Z0_$yRJATǭPAjodeN8.*Dx<  $", {Z0_$ H2 mmmmmmm@@M?mmmmmmm?qT&c^N8֊޲{Z0"6*qTqv`RmmmmmmmڟqWŦc$l%mmmmmmmǭPAjqLh<4hѣF4hѣF4h4hѣF4hѣF4hѣF4hѣF 00ǭPAjqLhZK=#O6'd{QO) 0-3hp ۘ $(@@xxfc= ""( 03 "68(*@if=(Y 4ƔS@8 Y 4ƔSC Els8La03`,`vqD (&<On`xH,Z0pXAC1Ȑ  O ax 0<hZ8D#-O%aDG-SB Els8La03`,`vqD (&<XOnaA!A`xa `x08D,Xx@iQAPlO*yHQh`56TKE38A9Ɩ O6%?mmmmmmm?*yYőɽw56TO-˧;9$cҊyHh2OmmmmmmmO*yHQG56TAD0¾nFQAdlcfM?+%0O*yHS1j l!$9odcrK)6>)&)ŒK1iE<0VsʞR`QA<c`F7#%\/8x,wOl?mmmmmmm?.cAzE\Xؽ!/M|S`%9G0 OmmmmmmmO7?yM,YcJ)!56TQsPceKERF\ ǃT8LC{#FSqg:vCEldţC|]obHN=ցi.OwEHCpiEu !;VVrNlVÉNՕm;Օb-.BW ,4sX.O|V:vCEldţC|]obHN=ցi.OwH  , CpiEu !;VVrNlVÉNՕm;Օmmmmmmmmmĺ3 (@@z, ]hfI#݄dHT0(DP@4 Px1CBSmmmmmmmmmڟq|Od6/.Ɣkn@ifAc'~?psK- 9cS&>x8N)73H0^[>v&{ `%9G8Mp  OmmmmmmmmmJͶmmmmmmmmjI=d8S|+JI*yO2\//|%ApƔɹO+yI)73H0^[>v&{ `%9G8M! ($"(=?mmmmmmmmm)a<֨L 459^ŒK1fc-Bhn`8TT0x4" ֨L 459^I   C½"$$ǃEH G0DjͶmmmmmmmmj㥫+ BYYʮ$ӶjJI5eg*?[\;cbbkG &p9$qv`x|yʮ$St[ڲmqՕl] ]9Ͷmmmmmmmmj֨L 45>^[!H(|[ ?$"RO ܊K"9BÇ `'S&< MYYFa1k5R jk5R hH(Mpԃ!kq"CK bup]`F[tO:T H2!Wx)+4`Y$u*wvƯx)+8,`Q=j sC]A*BF$ 8LAC^RKSMr*y*0'My*1ȩ| )&bse?9lJͶmmmmmmmmj4e&;M*'/㧁,]ȼ)7:I;,sCqxNrkb㔘ō),M>Es`åNs뎴 OmmmmmmmmmO axǒP8p`f |?qT&c/RBa9TTaPp}8 cJl'ŞJRo߭q>x&:;ಳ[VRN^ I7j%se&܁hZ0I7Ѐw(MIg_JvGdoA$'<ÁbdI+;>J9|Y 4'* _|ŞJaYn~QA979{B_ a' Y^HSPNϗjMsI,P.>tQ{!Ţs]h MR0i@ 85&EQ͔rh;se&KB@15&f%G(X8padmmmmmmmmmmf=j sTEϊsO<Ȁ$@ 簡D#&89)6mmmmmmmŦ8z(Klo/{+jd{P5?mmmmmmm?'z 憹z4+ۘ@if>L!jɹGcqG1 r1aU+9{Z0DTIЌEVՔ8JsE`@19͔bSmmmmmmmS:,&_/-,XUjͶmmmmmmjU0,"V1 Pn0`zŁbs$H'a3؄ɹXҘ!z44 3֨L 459SBa9,ˌz)/^[@U1ݘ2%Q3*D,P* 1)6mmmmmmmmmjMIwz @"S$ԛL =Ŏhv ",HYRu'.3ȼ< * I7j%se&܁hZ0I7Ѐw*D,PVrqU]9mmmmmmmmmmԛ,ǭPAjodeN8.MI،X`FquZp`x1S#ו\IƔ|d=T⸀ԚqZ02K$I쌽w [{Ro4ցi&Fx &Rn@Q-lԛ{`9Rmmmmmmmmmmԓ,QcǭPAjodeN8.B0y@Xzb"?p@#%?' DĐ0.0p0Xj c@2KрQx-80

quZw|(VvM+ ǭera5&-D`(4ɲP;ɽra5& Eрw(MIg)5&mmmmmmmmmmI2%9z ㊩=h*` D"X/=!1ƁO/cc 8H,x5C1'`x1WbBcz ㊩=h*bRmmmmmmmmmmԚqE1PM쌩Sz[U&B`IF,sC {#80VrqU=ǭesMeEoP Oz d`(9DG`[z ㊩=h+M%*vS \$ O ((h %8``+ǭPAjqLh`xp5B¢qoqT&cS*bЊ*.L 00ǭPAjqLh`x,P @X-`[z ㊩=h+T\N9D Oz  jǭPAj+9N8֊޲kQ/ 1?qT&cS0`Z/ccDxq$$@px4DG1Sg)Sz[W1y)RAė9sΗ`alOz [mmmhAn=n'Ba9ElT㊩=h*bRmmmmmmmmmmmjMIwz &ENj$JMI،X`FK|+vIQBc!,W cJqaY M9H9oŅeţo{a9X\2cJqw/{+ԛрw9Rn@Q-lԛ{``pŅo ^?$&mmmmmmmmmmmRLIEnBa9 SI)` D"X/=!1ƁOK0YDrÇOͶmmmmmmmmmڟp\$hF_Xȼammmmmmmmmtf򂖊0 DĐ0.IT^$QQc1'Ӄ ]9@\id OO 0@#>PRFD#-OG,/ '4P=j sTfqV4O s'd6\ BW 4+?MOl?'"²@p \O=j sTf :Ll1H,<"@1`X A?`( 2$H%ls  ;p.Gqho%pY>-blnQY:/q)~//_`R$bcU`r²`ay*0 P$HO%c'K=ǒHW7ӷ{Z0ȩR]BW 1 Xb ( kW$+4b՝ab&4./usr/es/sbin/cluster/events/utils/cltape_resource_availableulta!H  x0P0 0,1L.textPP xP&=2 .data0 0  @.bss00.loader}.debug  B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xHI` ,Ab$HA| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@ahD8PHA888HрAc`d`h8c@H݀A8`HAHX|8!PN Ausage|!@a8`aDaHaLaPac8/HAa@a@(Aa@8ca@Haca@a,@ a@KHa8,HqAaTaT,AaTa`a`,dAHa`,nAa`,oA a`,vAH8`aPHb`caLHpb`(/@caHH08a\8HQ`b`8a\H`8a\aHH b`caDHa@KHa84HAaTaT,@bdc8| @ a@KaD(A`aH(@TD8\HiA888H}Ac`d`@8c@HA8`HAH؀aH(AĀaD(@aH888H1AaXaX,@HaP,A08hHрA888HAHHA8`HAaP,A08tHA888HAHH̀A8`HـAH a@Kq8`HHx|8!pN AmainHA L| N LA L| N PA L| N TA L| N XA L| N \A L| N T:<<,M $#`}PP, `M }c P,M $#(A`!, M ,M $#, M ,M $#, M }}eB|@H0`}eB|@}k89@d 99J}eB|@}k89@  K`UF?M U? M U? M N `UF? M U? M U?M N |lxM , M  ,M $,98K @strcpypk=@!k9J}i8A,AP8B8} P8})P},P@} P8})P},PA})@})PyA}+4Uk|Xp!k}iA ,8M 8B耤0|P8})P},P@4} P8})P},P@,|P8})P},PA})(})PyAH})@})PyA}Cx8tT@>@N @ strcathA L| N lA L| N 000 0@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:210 d$Id$main/dev/usageselectvo:n:d:vo:n:d:strtoldstrtoimaxscripts.catscripts.catscripts.catscripts.catgetdtablesizeTape drive [%s] is available. Tape drive [%s] is not available. Usage: %s [-v] [-n name] [-d device] [-o ODM] %s: the -n option is not currently implemented. @(#)24 1.8 src/43haes/usr/sbin/cluster/events/utils/cltape_resource_available.c, hacmp.sharedtape, 61haes_r714 5/1/08 16:50:28P0,0,0 0 0 `MX%errno@_iob@exit@ fprintf@ catgets@ printf@ strrchr@ getopt@ openx@ 0@ __crt0v@optind@optarg@=@get_catd@ __start0! 0 0 0 0 `000 0$0T 0X 0\0`0d0h0l0p0t0x0|00 0 000 0/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.o,@VPDcltape_resource_available/5765E6200/520 __mod_init__malloc_user_defined_name__default_char:t160=-5int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5:t13=ar0;0;2047;-4&fd_set:T14=s8192fds_bits:13,0,65536;;fd_set:t15=14time_t:t17=-1suseconds_t:t18=-10timeval:T19=s8tv_sec:17,0,32;tv_usec:18,32,32;; :t21=f-1;:t22=ar0;0;6;5 :t23=f-1;:t24=ar0;0;13;5 :t26=f-13;:t27=ar0;0;7;5 :t28=f-1;:t29=ar0;0;5;5 :t30=f-1;:t31=ar0;0;4;5__long32_t:t32=-4:t33=ar0;0;128;-2:t34=ar0;0;255;-2:t35=ar0;0;1023;-2:t37=ar0;0;1023;-2:t38=ar0;0;1023;-2HACMPtape:T39=s3476_id:32,0,32;_reserved:32,32,32;_scratch:32,64,32;tape_resource_name:33,96,1032;description:34,1128,2048;device_name:35,3176,8192;start_synchronous:-3,11376,16;stop_synchronous:-3,11392,16;start_script_name:37,11408,8192;stop_script_name:38,19600,8192;;:t40=ar0;0;255;-2:t41=ar0;0;1023;-2 :t42=f-1; :t46=*-11:T47=s32_ptr:44,0,32;_cnt:-1,32,32;_base:44,64,32;_bufendp:44,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:46,224,32;; FILE:t48=47:t51=ar0;0;19;-2T_header:T52=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:51,64,160;;A_msgptr:T55=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T57=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:56,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T59=s36_mem:7,0,32;_name:7,32,32;_fd:49,64,32;_hd:53,96,32;_set:58,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t61=60 :t65=f-11; :t67=f-13; :t68=f-1; :t69=f-1; :t70=f-1; :t73=f-1; :t75=f-1; :t76=f-1;:t77=ar0;0;15;48:t78=ar0;0;126;-2 usage:F-1 prog_name:p7 __func__:V29 prog_name:7 verbose:-1tape_object:39 criteria:40device_temp:41 __func__:V31%cltape_resource_available_c_rcsid:V7'cltape_resource_available_c_sccsid:V78RVV n"r$vNzP(*ԙRThBhnjlnpnJ&v,~. ,@< <0:<DZ<>. HpB0j2468 : @ z@ B0 N0 f0 X0 `0F00 `0$0T0X0\L0`d0d0h0l0p0t0x 0|0000000 | (,04LXdht $%'(*+-.(081L2T4X6d7h9p:t$UVXY\] ^8_``ladhiklnoget_catd errno_iobexit fprintf catgets printf strrchr getopt openx  __crt0voptindoptargTOC0,k__crt0v0Tk0Xk*0\k_$STATIC0`k0dkerrno0hk_$STATIC0lk_iob0pkget_catd0tkcatgets0xkfprintf0|kexit0kstrrchr0kgetopt0koptarg0koptind0kopenx0kprintf0k Eg4Z g.__startPk.__startPF__start0 *0 k,p_xargc00p_xargv0Hp_xrcfg0Lp_xrc0P?0,Y0.filergnk`) ^@ k^_$STATIC0 ke0   '04:08L0<b0@t0D.fileg:t66=-13:t54=-8:t50=-7:t45=-11:t43=-5:t36=-3:t25=-13:t12=-4:t9=-1:t4=-2:t1=-31,:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;<Mb:t16=*15:t20=*19,9JVgs%::t44=*-5FR:t49=*48:t53=*52h:t56=*55:t58=*57:t60=*59:t62=f7;:t63=f7;:t64=f7;:t71=k7:t72=*71:t74=f3;&:t161=Z`k).usage` :.bf|e;Fh.bsU.es.efe?.main 4main:F-1.bf eQargc:p-1argv:p8d@name:7Ddevice:7Hodmdir:7LrPopt:-1Tfd:-1X\.bs .es.efe_$STATIC0 `k.bs8.esstrcat.s g.strcat @8)noname g.strcpyk9.strcpyglink.s g.exitk(.exitglink.s g@k(@glink.s g.catgetshk(.catgetshglink.s g.fprintfk(.fprintf glink.s g.strrchrk(.strrchrglink.s g.getoptk(.getoptglink.s g.openx xk(.openx xglink.s g.printf k(.printf __mod_init__malloc_user_defined_namecrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cltape_resource_available.cWed Nov 24 00:04:28 2021 .get_catdg kRx$+3b՝ab&3./usr/es/sbin/cluster/events/utils/cltape_resource_releaseeultaH  x0DP0 0X1L.textPP xP.?7 .data0 0  @.bss00.loaderW.debug B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xHI` ,Ab$H)A| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@ahD8PHA888HAc`d`h8c@HA8`H9AHX|8!PN Ausage|!@a8`aDaHaLaPa`ac8/HAa@a@(Aa@8ca@Haca@Ha8,HŀAaTaT,AaTahah,nAA ah,dAXah,fA0Hah,oA,ah,vAH8`a`H8`aLHxb`caPHhb`(/@caHH088a`HE`b`8a`H`8a`aHHb`caDHHa88HŀAaTaT,@aD(@aH(@ a@KaD(AaH(A a@KaD(A(bD@808c@HـA8`HAaH888H]AaXaX,AHa`,A08\H=A888HQAHH=A8`HAaL,Ax8`a\aH\88H݀AaXaX,AHa`,A08hHA888HрAHHA8`H Aa`,A08tHyA888HAHHyA8`HŀA8`HHx|8!pN A\mainHA L| N LA L| N PA L| N TA L| N XA L| N \A L| N T:<<,M $#`}PP, `M }c P,M $#(A`!, M ,M $#, M ,M $#, M }}eB|@H0`}eB|@}k89@d 99J}eB|@}k89@  K`UF?M U? M U? M N `UF? M U? M U?M N |lxM , M  ,M $,98K @strcpypk=@!k9J}i8A,AP8B8} P8})P},P@} P8})P},PA})@})PyA}+4Uk|Xp!k}iA ,8M 8B耤0|P8})P},P@4} P8})P},P@,|P8})P},PA})(})PyAH})@})PyA}Cx8tT@>@N @ strcatdA L| N hA L| N 0\0L0@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:210 d$Id$main/dev/usageselectvfo:n:d:vfo:n:d:strtoimaxscripts.catscripts.catscripts.catscripts.catgetdtablesizeTape drive [%s] has been released. Tape drive [%s] has been released. Tape drive [%s] has not been released. Usage: %S [-f] [-n name] [-d device] [-o ODM] %s: the -n option is not currently implemented. @(#)19 1.6 src/43haes/usr/sbin/cluster/events/utils/cltape_resource_release.c, hacmp.sharedtape, 61haes_r714 5/1/08 16:50:35P0X0X0 0 0 `MVerrno@_iob@exit@ fprintf@ catgets@ printf@ strrchr@ getopt@ openx@ .@ __crt0v@optarg@;@get_catd@ __start0D! 0 0 0 0 `0D0H0L0P0 0 00000000000 0 00 0/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.o*@VPDcltape_resource_release/5765E6200/520 __mod_init__malloc_user_defined_name__default_char:t152=-5int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5:t13=ar0;0;2047;-4&fd_set:T14=s8192fds_bits:13,0,65536;;fd_set:t15=14time_t:t17=-1suseconds_t:t18=-10timeval:T19=s8tv_sec:17,0,32;tv_usec:18,32,32;; :t21=f-1;:t22=ar0;0;6;5 :t23=f-1;:t24=ar0;0;13;5 :t25=f-1;:t26=ar0;0;5;5 :t27=f-1;:t28=ar0;0;4;5__long32_t:t29=-4:t30=ar0;0;128;-2:t31=ar0;0;255;-2:t32=ar0;0;1023;-2:t34=ar0;0;1023;-2:t35=ar0;0;1023;-2HACMPtape:T36=s3476_id:29,0,32;_reserved:29,32,32;_scratch:29,64,32;tape_resource_name:30,96,1032;description:31,1128,2048;device_name:32,3176,8192;start_synchronous:-3,11376,16;stop_synchronous:-3,11392,16;start_script_name:34,11408,8192;stop_script_name:35,19600,8192;;:t37=ar0;0;255;-2:t38=ar0;0;1023;-2 :t39=f-1; :t40=f-1; :t41=f-1; :t42=f-1; :t43=f-1; :t47=*-11:T48=s32_ptr:45,0,32;_cnt:-1,32,32;_base:45,64,32;_bufendp:45,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:47,224,32;; FILE:t49=48:t52=ar0;0;19;-2T_header:T53=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:52,64,160;;A_msgptr:T56=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T58=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:57,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T60=s36_mem:7,0,32;_name:7,32,32;_fd:50,64,32;_hd:54,96,32;_set:59,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t62=61 :t64=f-1; :t65=f-1; :t66=f-1; :t69=f-1; :t71=f-1; :t72=f-1;:t73=ar0;0;15;49:t74=ar0;0;124;-2 usage:F-1 prog_name:p7 __func__:V26 prog_name:7tape_object:36 criteria:37openx_flags:-1device_temp:38 verbose:-1 __func__:V28#cltape_resource_release_c_rcsid:V7%cltape_resource_release_c_sccsid:V74RRVn r"vJzL&(̙NPdBdnfhjljJ$v*~,*@ ::<F:Pf:,DXdp(4.024"6J8 @ z< >0 J0 b0 T0 `0DB0H0L\0P000H0`000000 0000000 |$(,04LXdhtx "#%&()+(,4.D/X0`2d4p5t7x=>@ACDF M4N@OlQxWXYZ[]ab0f<gget_catd errno_iobexit fprintf catgets printf strrchr getopt openx  __crt0voptargTOC0Xk__crt0v0k0k*0k_$STATIC0k0kerrno0k_$STATIC0k_iob0kget_catd0kcatgets0kfprintf0kexit0kstrrchr0kgetopt0koptarg0kopenx0kprintf0k Ag4V g.__startPk.__startPB__start0D *0 k,p_xargc0\p_xargv0tp_xrcfg0xp_xrc0|?0XY0.filengnk`) Z@ kZ_$STATIC0 ke0L  '0`:0dL0hb0lt0p.fileg:t55=-8:t51=-7:t46=-11:t44=-5:t33=-3:t12=-4:t9=-1:t4=-2:t1=-31,:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;<Mb:t16=*15:t20=*19,8IUfz(4@L:t45=*-5Xd:t50=*49$:t54=*53z:t57=*56:t59=*58 :t61=*60:t63=f7;:t67=k7:t68=*67:t70=f3; :t153=Z`k ).usage` 2.bf|e9>h.bsM.es.efe=.main xmain:F-1.bfePargc:p-1argv:p8\@name:7Ddevice:7Hforce:-1Lodmdir:7Pj{opt:-1Tfd:-1X\``.bs .es.ef\e_$STATIC0 `k.bsd.esstrcat.s g.strcat @8)noname g.strcpyk9.strcpyglink.s g.exitk(.exitglink.s gk(glink.s g.catgetsk(.catgetsglink.s g.fprintfk(.fprintfglink.s g.strrchr k(.strrchr glink.s g.getoptHk(.getoptH glink.s g.openx xk(.openx xglink.s g.printf k(.printf  __mod_init__malloc_user_defined_namecrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cltape_resource_release.cWed Nov 24 00:04:28 2021 .get_catd k$+4b՝ab&4./usr/es/sbin/cluster/events/utils/cltape_resource_reserveeultaH   0P0 H01L.textPP PBA8 .data0 H0 H HH@.bss0T0T.loaderWT.debug B(= ,|nx|#x|+xb,0AA 8| S*N!A9<}{x~xHI` ,Ab$HiA| @__start,M H4N @__threads_init!|AfH| FN!Ab ,Ac| CN!Ab,Atc| CN!Ab,Ac| CN!Ab,Ac| CN!AH8!@}N b,AK A__threads_init@AF2_14|!@ahD8PH=A8@88HQAc`d`h8c@H]A8`HyAHX|8!PN Ausage|!@a8`aDaHaLaPaTac8/HAa@a@(Aa@8ca@Haca@Ha8,HAaXaX,A aXahah,nAA ah,dAXah,fA0Hah,oA,ah,vAH8`aTH8`aLHb`caPHpb`(/@caHH088adH`b`8adHm`8adaHH b`caDHa@KHa88HAaXaX,@aD(@aH(@ a@KaD(AaH(A a@K}aD(APD8\HŀA8 88HـAc`d`@8c@HA8`HAaH888HAa\a\,AHaT,A08hHIA888H]AHHA8`HAaL,Ax8`a`aH`88H)Aa\a\,AHaT,A08tHɀA888H݀AHH A8`HAaT,A08HA888HAHHŀA8`HрA8`HH|8!N AmainHA L| N LA L| N PA L| N TA L| N XA L| N \A L| N T:<<,M $#`}PP, `M }c P,M $#(A`!, M ,M $#, M ,M $#, M }}eB|@H0`}eB|@}k89@d 99J}eB|@}k89@  K`UF?M U? M U? M N `UF? M U? M U?M N |lxM , M  ,M $,98K @strcpypk=@!k9J}i8A,AP8B8} P8})P},P@} P8})P},PA})@})PyA}+4Uk|Xp!k}iA ,8M 8B耤0|P8})P},P@4} P8})P},P@,|P8})P},PA})(})PyAH})@})PyA}Cx8tT@>@N @ strcatdA L| N hA L| N 000T@(#)61 1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:210 $Id$main/dev/usageselectvfo:n:d:vfo:n:d:strtoimaxscripts.catscripts.catscripts.catscripts.catscripts.catgetdtablesizeTape drive [%s] has been reserved. Tape drive [%s] has been reserved. Tape drive [%s] has not been reserved. %s: the -n option is not currently implemented. Usage: %S [-v] [-f] [-n name] [-d device] [-o ODM] @(#)16 1.6 src/43haes/usr/sbin/cluster/events/utils/cltape_resource_reserve.c, hacmp.sharedtape, 61haes_r714 5/1/08 16:50:45P000 H0 x0 MVerrno@_iob@exit@ fprintf@ catgets@ printf@ strrchr@ getopt@ openx@ .@ __crt0v@optarg@;@get_catd@ __start0! 0 H0 L0 T0 00000 0 000 0$0(0,0004080<0@ 0D 0H0L 0P/usr/es/lib:/usr/lib:/lib:/usr/lpp/xlC/liblibc.ashr.olibclstr.ashr.o*@VPDcltape_resource_reserve/5765E6200/520 __mod_init__malloc_user_defined_name__default_char:t152=-5int64_t:t2=-31intmax_t:t3=2:t11=ar0;0;9;5:t13=ar0;0;2047;-4&fd_set:T14=s8192fds_bits:13,0,65536;;fd_set:t15=14time_t:t17=-1suseconds_t:t18=-10timeval:T19=s8tv_sec:17,0,32;tv_usec:18,32,32;; :t21=f-1;:t22=ar0;0;6;5 :t23=f-1;:t24=ar0;0;13;5 :t25=f-1;:t26=ar0;0;5;5 :t27=f-1;:t28=ar0;0;4;5__long32_t:t29=-4:t30=ar0;0;128;-2:t31=ar0;0;255;-2:t32=ar0;0;1023;-2:t34=ar0;0;1023;-2:t35=ar0;0;1023;-2HACMPtape:T36=s3476_id:29,0,32;_reserved:29,32,32;_scratch:29,64,32;tape_resource_name:30,96,1032;description:31,1128,2048;device_name:32,3176,8192;start_synchronous:-3,11376,16;stop_synchronous:-3,11392,16;start_script_name:34,11408,8192;stop_script_name:35,19600,8192;;:t37=ar0;0;255;-2:t38=ar0;0;1023;-2 :t39=f-1; :t40=f-1; :t41=f-1; :t42=f-1; :t43=f-1; :t47=*-11:T48=s32_ptr:45,0,32;_cnt:-1,32,32;_base:45,64,32;_bufendp:45,96,32;_flag:-3,128,16;_file:-3,144,16;__stdioid:-1,160,32;__newbase:7,192,32;_lock:47,224,32;; FILE:t49=48:t52=ar0;0;19;-2T_header:T53=s28_magic:-1,0,32;_n_sets:-7,32,16;_setmax:-7,48,16;_filler:52,64,160;;A_msgptr:T56=s8_msgno:-7,0,16;_msglen:-7,16,16;_offset:-8,32,32;;N_catset:T58=s12_setno:-7,0,16;_n_msgs:-7,16,16;_mp:57,32,32;_msgtxt:8,64,32;;_catalog_descriptor:T60=s36_mem:7,0,32;_name:7,32,32;_fd:50,64,32;_hd:54,96,32;_set:59,128,32;_setmax:-1,160,32;_count:-1,192,32;_pid:-1,224,32;_oflag:-1,256,32;;nl_catd:t62=61 :t64=f-1; :t65=f-1; :t66=f-1; :t69=f-1; :t71=f-1; :t72=f-1;:t73=ar0;0;15;49:t74=ar0;0;124;-2 usage:F-1 prog_name:p7 __func__:V26 prog_name:7 verbose:-1tape_object:36 criteria:37openx_flags:-1device_temp:38 __func__:V28#cltape_resource_reserve_c_rcsid:V7%cltape_resource_reserve_c_sccsid:V74RRVn r"vJzL&(̙NPdBdnfhjljJ$v*~,*D  ::@J:Tj:,,8Px $<P\h.02:4b68   < ">0 HJ0 Lb0 TT0 0B00\0000H0`0 0$0(0,0004 080<0@0D0H0L0P | (,048P\hlx| "#%&()+,,8.H/\0d2h4t5x78>?ABDE4H@OhPtQSYZ[\] _,c8ddgphget_catd errno_iobexit fprintf catgets printf strrchr getopt openx  __crt0voptargTOC0k__crt0v0k0k*0k_$STATIC0k0 kerrno0$k_$STATIC0(k_iob0,kget_catd00kcatgets04kfprintf08kexit0<kstrrchr0@kgetopt0Dkoptarg0Hkopenx0Lkprintf0Pk Ag4V g.__startPk.__startPB__start0 *0 Hk,p_xargc0p_xargv0p_xrcfg0p_xrc0 ?0Y0T.filengnk`) Z@ kZ_$STATIC0 xke0  '0:0L0b0t0.fileg:t55=-8:t51=-7:t46=-11:t44=-5:t33=-3:t12=-4:t9=-1:t4=-2:t1=-31,:t5=k-2:t6=*5:t7=*-2:t8=*7:t10=f3;<Mb:t16=*15:t20=*19,8IUfz(4@L:t45=*-5Xd:t50=*49$:t54=*53z:t57=*56:t59=*58 :t61=*60:t63=f7;:t67=k7:t68=*67:t70=f3; :t153=Z`k`).usage` B2.bf|e9>h.bsM.es.efe=.main Zmain:F-1.bf e\argc:p-1argv:p8\@name:7Ddevice:7Hforce:-1Lodmdir:7PjTwopt:-1Xfd:-1\`d.bs .es.efe_$STATIC0 k.bst.esstrcat.s g.strcat 8)noname g.strcpy k9.strcpy glink.s g.exit8k(.exit8glink.s gk(glink.s g.catgetsk(.catgetsglink.s g.fprintfk(.fprintfglink.s g.strrchr`k(.strrchr`glink.s g.getoptk(.getopt glink.s g.openx k(.openx glink.s g.printf k(.printf  __mod_init__malloc_user_defined_namecrt0_datacrt0main.s_malloc_user_defined_name__C_runtime_pstartup../../../../../../../src/bos/usr/ccs/lib/libc/__threads_init.cWed Mar 5 14:04:03 2014 IBM XL C Enterprise Edition for AIX, Version 9.0.0.0 --- .__threads_init.__threads_init@AF2_1__pth_init_routine_bsd_init_routine_xti_tli_init_routine_nsl_init_routine__dce_compat_init_routine../../../../../../../../src/43haes/usr/sbin/cluster/events/utils/cltape_resource_reserve.cWed Nov 24 00:04:28 2021 .get_catdT kx$+cb՝ab&c./usr/es/sbin/cluster/events/utils/get_fast_connect_rsr#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/get_fast_connect_rs.sh 1.11 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 1998,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)67 1.11 src/43haes/usr/sbin/cluster/events/utils/get_fast_connect_rs.sh, hacmp.events, 61haes_r714 4/24/08 19:22:02 ################################################################# # Name: get_fast_connect_rs # # This script is used to start the Fast Connect server. # # The nature of this connection only requires testing to see if the # SMB server is active. If it is active, then don't restart. # cltime UPORDOWN=$(/usr/sbin/net status) RC=$? : exit status for net status is: $RC if (( $RC != 0 )) then export LC_ALL="" eval $(grep -w LANG /etc/environment) /etc/rc.cifs start exit $? fi exit 0 d Nov lc$+@b՝ab&u_./usr/es/sbin/cluster/events/utils/hats_adapter_notifyr@@* erst%,.0128:=_acdilno (-/34567;AHbfghkmpux )9@CLNT`v| !$*?BEGKOVYw}"+JUW\{~'Z[]jqz^Qd!sgd=gx+[9d0n8}Vڵh}G!! !V*PpqW?WĈ {ۈKۈK@rN;4_NH'%?g43cLkD&  K'P:`30BqqT}xI clV.\V6lb20U׌ ʣ>pS@&2b2l:@Z>+ClI'Nj?mN3:wqBZg7Zt\̭x+61^DBQl')Wcf+ı:yT}ydyPL:+61^%׌ ʣ#BN,S7͌Wc"u!BȀ[ ŊaXٱ,dNd(^U %ic:k#B b ?l|SJȤ+ʣ6WK!]yT|lJAMI]AM@yT}xQd`lb'_od!B$ B`P,AjPVhbqs01 s &^Y+H2WyT|[>Sd\:N+EPd Qr`lb'_m иtر䢃`(`V(P9bp061^1 qXuY]&^U %ic:m"u6)b 6Ȱ[ uhȬlNe?lP.*׉"c::0 \U^;FEcf"u-ta  `<.*׉"c::0 Bx2+61o[X.*׉"c::0 !qT}xM׌чX-.*׉"c::0 AqT}xM׌чVhb B \̬\^^k\U,W"u!B^2X:lb(m&)Ӭy:r> B- J<(1N.y\Pcí AP bpzze`\q!\:O^$+W acD0ʗgY}&Ath`0Z@PLA[Ac?3F@580( MV@Bž.Po*R/P< qX A+6E F n%/P<Rň@V BxZ$P$_ WS(d}" e =""@e" \pʣ6Cu D K|S(+^U)G(d&+N>Mr 2>WAM@p(H ,@^S(+וG(+yT|PhJ\>Mr f Ƒ@D R .O(H/,^l^#m P,&p@+PC+yT}H/*H 2>.PnbAml} \<<>WbW!^m>|5b#)#`(R4  F @N@N|T-^x+>LVl@@JT@VK"X0PĂvDH~aEq=zBAl@@J+^2  Ex5^% c)D B)a`n,^% cE 8)EK =zVL|$$ QZ1 וG^%SĂĂ7Pt^%S8n@+!H)~W*EhJ+^UHm EJWG Ф\pQ􂙱rଯ+Hm"@e)fW^)Q`E>^l' @X|F#$F$tW/*V)VG/,4pQ5,@ZOR9p mP<7 c6J2^U+ 2AK%vzN$&G "D:+/* X`P)#@\l'^l'>o*/P< qX A+6E F n%ib.P<(&!7ALع@VWqP6 2bqO(H/, ^l26Y^,M(V)H\h_Ub-j@d|\y"3H,HW/*)b=HlH-@V|T-+yT|$G WG X+PĂȑ `^U>b+H%`(R4  F @N@N|T-^x+>LVl@@J%^x+Hr( D& ;H,!H)aãʣ2p*@N@N|"Al\4$PbaRq@$ @y"k]xqx +׀AE#i /*)U@r m!\dʣŰj X = 2>WyyT}  2>W>@BSVV)VG/,4q *)b(bS+ Kac@J) E@5 |~'_om/iå 8((V0`+B'ø^-Mx") )@![l m [ p[l x"!*&FE!F|o Ŷf2/7>m$ ax"x ƅGø^-L (@|o ŶŃ.5:> ^Ss|V1 > bAmPE3XtFp.pF$ H-0:,,Aȧp-5Bm0Jl/Pmx<'_lSp8PBm0J! Ŷp87/uk&x>7`H3Op[l p^~HVK 㭉?d]yTC( Sà(b0(( uQ%iv@.>Q3^U  Q`^(Ap061 @?eKg6`YbGVhbr@1!à(b0H$+:>D"S*g)DxʣH@P_ y^5yT}x²!ԃRo+ʣ Głz@)5& 5 N/iiJBw^&͌D[@,>w^&͌D[A+15(b \3*8 @=@ ʅAX7$ !`:JL"E|\++8>D,+@>,C4D0N@iH bW^U^yT|X,i` }eQX,i` }*_x%*^ >.G׎ёXٱx uhȬlNe?l EQ4dV6lb'^2F`Q4dV6lb'^2F`EQ4dV6lb'^2F=bO1 ^q`x2+61o[Bx2+61o[bx2+61o[x2+61o[x2+61o[qT}xM׌чX-ส>w^&͌D[@,\U^;FEcf"u-ta  `\U^;FEcf"u-ta  `\U^;FEcf"u-ta \ .„`&'8\' L !p& L֭VP-\3R^lJ@4ۦk_VbN:[-V*qPfM\c6m@mΩ#%$/Pfo:FbjVRbd7L֭q2BOuVZ lB$NlzNB"Vш6) *4PBOuVZBL@Fh@Fh2RBb!l"4% &J"RaA$mT.xHԩxb5N{(TukUI+,R{Xt@eС(NHHThД6*Th' sf,X>!m*%RHJX)!z#Xb+Pyym"R #'>ZchIF&Јғ!l0 !"6BU$q5kTXf:Faϸ#'>4DI(FN}Г6 4M&B`Ą De T6JH^LjխRFaϸ>s ϶Ph'P^9 BL4(6F a_BD"%F$ y$dxb5uCjV:/ />z&&HPq"%m!hҒҒ~u]JB7X+ \ ;Ϻf* 9XDxT(<(*1"B2sDJPTAzd \,m 3hУDRd-~$!B&(TJRBێrcʦJ̜!ێrcʼJT}ʄM1GqVLyW10TlnLyQuիUXd\ByQ*6Ǖm]Z1[˖XByQuJcGqVLyVbbHO*6M!Hh}ujǕo>3"uJd&4>ێrcʵ}Ť'lnLyQuիU)XPBD۪ST}ujǕeV.y&46Ǖm]Z1YjʈO*>B&RW&B&RW&ێrcʻ-TByQ*>GB&TW&<̟/u }SZ&46Ǖm]Z1]r+־J8 PBD۪ST}ujǕyisB& !B&RW&B#1GqVLyUrV.yV(y&46bLy1G\]Z1^8PqO*>CRl4CRm ) M1GqVLyW>^'Rj1qP-P&4>CRm ) M1GqVLyVd{(TK(}&4>CRm ) Bhy CAnLyQuիUTbӮ, CRmK϶:"<҄D#Rd)Qm@!>&!nXr`꣖ΪbUyɰ~9UypVntێn8͜gpfr @B D?۝9ΏsB~pUs$áGHv}]Z$v}J9v?AϙXis.R`Aϖ+Zv}:ş9 .S$ăPv}X gLVAϗ8E_AϨ}rH9VA ?vcs1sv}NZoA+ gKV_$־[$p$ă10}/ g}՘sOăgAăNK;?~$v v$v sAoԸgH9~$?(?qN:H6!m7I nvH6{$Mm7diӝ G$MΈ;$M΄ [ Bs>AsANsO nt,m7:& Csm7:ݒ VvH65AssDzAo’ @" F Adii ntsۜ nt saM΁m7: xiq nti5m7:smH6|sA=2A @AysR A Adi$M>2 m7x6Gx# n!9H6G$M"m7" n!oqS n!!H6Oq m7i'di+dM"Nu >֮}YhhFLPNL ѡBFL8:s ^queNRb ue><˔*T sŪT,}YF;kSZbuOu}:wL֧V[,Nν1\:)ӘXro8uNZT2|:2|*ӉV8iCK:u'NPqAZ T-T:p1(\C'112P~p1qKN W(|8Zcԗu+ѣLDMhdr&^!)aZ瓙֫\(0,BfBSk}&TPCJP#ǒ e)BRNHRD8B4BR}Be)BR8D$Hм,ZSESBwY SI֨1q)A'ɑ)3Jb:ծ>R$GɉIO#)3Jb;¥)Ֆ1bsLҘNRHH|ISI|4N䨉>H)^|4JD9B3LҘNXsՖ1$1Tibϥ"D|"24*8}ůVZTD $FRfRuN:qkHH De&iLU'1V򔨉$F|ISI֮Tuj">"24*EN:RH#'>)*֮tT+\)A$g1TJJ/JCГ_D2P)DPRD$ jN%$L xVZu>F} De&iUj$F|4^NR_ JD1A9De&iUBN(>N!dhJLҫ-y9zJJ H>*דqZHF De&iUkPbR#>L IUe'|42q)AI &F*ד}RFHLB4^Nb)QFHN"24^NeQ$> Lҫ-y9 ϣ%$F|IUe'VSHFJNJ|IUe'qJ5"D}("24^NjLTd$FRfYkխ}KT)qjFLN24%&iUb 1q)AD)&F*דq%(>HN dhJLҫ-y:<*$hOVZs'y[ϸHϒHJ}!IUe'/,Nb%F*!3ȑVZwT :IO"FRfYkVT24Dɑ))xNe^rQA:`X GY Uk_q \JP} dhJLҖP\dhO)3JRQ%(>L!dhJLҨTiJBJ24%&iKPN:rH&'H|IU L#>  L҅hddDg#>H/PwҾb"l$yBr*J2D"WђP%(FRDǗ)0PS֥#D"BVBf58*4gПHRf5TX%FH}!&i^3ZCQDN}"$%9C˞q#&L < LҬ\璑$>"24V\R$$FRS_FPCJPBJPRD "e)BR 2B$xW-F#)_$'LZDNN*-|P8PHL$x3J9jJJHP} De*LҧNo%"%>H"2-V;Ϩ}ĢT)"DrEJK +}*3+}))-PbTH)+Zr Q&pUkR>Ϩ}Ĥ%H}L֩J]qC%$F}j\2XKIO+Z4Ph4s8uJJ(%F$IK.J7R>IQ)@:$)E"Df@䨏pϺխ}VX!N)J/$F|D/\ KZ䨉)Ϋ\s7u9kLY NӧD(3H`Zȑ}[BNǟu%eE a*$*L̑'N*-|Fİ̵*t$3O#)VBŋ"$>H"riM,3-JDH|!D*Қ',PIO$FR)s"8"2iM>RS葤>HZSD>RSП$FR)r'JJ}De*Қ'pRF"2iMXIRSɉϒ#)V9b"D}D_((LZLHS%|1i1!N8bTŤą6Lծy(0,'BI:qQk<:qQiRA'PQQI UZf"D|De*Қ'3yR'%>HprR$ϒ#)\>R$G#H|J2qJ "> De+x*,JD!3W%ViwRBĤHFJ|J䫞-4NUXdJŅeHF!De+'}[IDg>HrSD RX*tNsϺ0JPPRSi_&HCJPFJ02P)FJ:BR"BbW&P%(I1䯓L%(JIc_'%L%(JR#ǒNNCJP$)"GE> SoyeR „jLХ$$!Rfd:qQk }NTZdF} De*L̑ӧ"u)j<夊<:qQiRA9De*LN*,2$Vϒ#>HIS.y\PbF|"2y+4BR"2$xWP%) H_(DN8DŤHqį$LZLHS%|FN8S$)b$E8}`q;_HHq+-DHS%}!*bԄ8W&-"DS%}!:bb2y+i: J"B$xL*TQBDb"wY W'XԨџB}!IW'-Pb`h!yBuJP "s#))ӧ3Xiq"4|F1$8˔,qjwҾ#$L#G%}!Bb$E8WdH_D`68HQD8Bb$E8y+萒&-"DS *b$E8W!'L#E 2b$E8y+萔&-"DS DŤHpW!-F#)IӬy:r> B- J<(1N.y\Pb-&$GuIh8Z) RxyJůqjR$Xy,qjR$XΘXe8Tdū̓JqCA*5"EN^TNda2>sӼK%dJaϸr)RIAY9>)XꇓyJJ x!R'1x9zwyZ@^TNsCD)RIAY:L&NS >IzRb"l>kJ4DZT'}+䉑DCJPI+(u JhIJ HpFZ;>P3іy9bJĄ%8DZ;>Dɑ\NW&"EUh(u Jrlq+")_FJCJPai}:b$Hqį(LZD}DBRFRM%}1i"q+S")H1i"y+(u JH_$$LZDJ!*b$E8W DHc_$(LZDJ 2P)HHRD+1pLT(J"Ψ1q*"!Nj҂i0򕂅f.% Ha tkTN%E+Pr)RIAY"<}JBN/+T:uN3Xu%J2tD}+: J$E$W!L%(JR#)"G%}$BR"B$y x,Pi,>fU.JdIXAL0k\8S"$XD/OirS"L!-V·*qԤBZ PRcX[: q7VOipťϗ"ENZfJtAY>)XꇓyJJ !`%*^ >:)RIAZ$XL: T}:}Dį&P%) H)RIAY&p/ Bq0* 0\' x^`T D2AB<# PL Bp AH'%/ Bq0* N%p+Ġ/ AZPP2 ' 8,N%Ax^ ҂y!`A_͜]|"g,k:6r͜>l0Μ|͜0| hT/:r[ Z Z[66rZ߁llE66rl66rlT66rl6 ΜS96|FZ偱 8 ȣh ΜvV/:r2h NFE\66r2iAyӑ#FMsm Μ6B# 6:/:r266rcg!ݠΜ NCoCF9 ǭ9t>lh 8>lhh6r4Ag!+9Xt866r" E /:r@>/:rᱳ/9t엋Μ@huF:S#`8lllixc66r6(/9yӑ*ؼ 1yӑ39 |^tpeyӑ&l/:r8( NG ENG v#l/:r8 vayӑwt^tpxcg#:xΜp' vΜ'xI^/:r/!a NC NGHv]9l/:r:)t^tth ENGA49@9NB49B! ?BᱳS!p' E^t!^!]^/:r/9A19@h0DhD* B #cg!mDpD Μ@p) @k^/:r/9yӐ{@b/:r5!h NCh|Cu׆C'.ᱳKNN66rqyӓ&198&yӓ@>/:rpN/98< Ccg'}yӑ0F6^t#;9% `hxH?NBA^Μ;9  ! yӐm #9 Gg#p%9>.9 CBPGpJhNBSM^t% ^t%{AJ  ΜpB`P|Ld6rk`|L͜d!0=BLÌCA#>l59"|!\͜4 ͜ D7$b6r -"n8D62Anm[v-[@h͢ sE$DE$B} spAnt)-Ο]jAnu' H-Ή6.Ant,6ӄC[ [[Y -ΚLAnt]ĄApo-΁W H-Ό6@ : = : 6[EAlq sa := ob siqsΐ[]Ȃ:qwlr8dg#wBr?DrQICɎC¹xC]"9)x³1 GBx%9C%G#&9/#Nr:.9 ci GANr:G# GANG@ !BB ! Up!iB%!:9A9B C!\" 9B#)DZrD?|v+99 9Ň!c!g,> HrXN!%rp+1¸ @8rpa44 g!;rݣcG! O $4r7:r?w9 B'!)J9 RGBP9 J)JZ9 ENBP= NBWBU򓐔]J09 A%9Jb3 e?g{Œ}AwgWԬ\g~fbL\㟖+Zg~ZiBŋ3?p[?sh>3?-2uZ3?.q㟨}ri9NZo7Lg~?-2uZg3i9ij7㟙:kLX_i93?yK_VbLi9gLsөu"L3ßcs\ui3@i9 ~Y?ԺU[Y37xyK_Vbq`x:kYņk8IXfÅ~ņk8b5}:b$b5b5ذ5Xf +䈓#,3ZW {CXfƁaҾHP*$',3ZW&"%>ņkJ 0THMXfƖ/,3_ذذXf& I} t",3ZWɑ&"$?aҾJ0TJQXf&0"GXf& = ֕bDذSذ{+邢bob56 } ֕Q`ذi_&BXfOaҾL0THKXfذ,3_{8,3_~ņk<b5|1"b5ņkJ92b$H} ذϱaҾN0TDذab5|`ab5|1/Xf(&ņk!,3_MXf,3_ b5,3_),3_OaW{ BņkJ c= ֕$PaAaAذAb5|FLaҾ#'Lɽ D=Xf&0FMXfiOb5})b?b5OذB/b5{ذBb5[ذEņk"ذBb5/aҾ"` r , `́@$ms_~˾o"?ذ!>lo%2%͋ [-JdLO1ah-@kgq6_ÐٶbvE~o"N0bZߜgqd :w%2F#Xbt#JdHb8[Sgqd kytSfM~,1}(KkkRH[bZߜMl3:\),%4b:\*JdMQ[br$1a%"'ŗtT.bңEÂ,1e)H|l'bcma?@y,Xb |;bK R(Xb"Eşqୋ Y>cF,1e98l3r svINB@\%n f [~q 6 85b=6,0_>bde _aaW-PbX]@2 '#9; > r=?}#,MPbB`{gi"Z>1a6\oS_ئ`"hrlSfL{ C!AP. f 2Imm3`[Lǎ~Z>@ńq@'aҾHL/b5}2b$H} ֕H ֕b$_aҾJXfLDHXfoXf{+Ɍ ֕tQ7Xf& ֕􉂢ذi_D1i!Oaذ,3_b5p.,3ZW {ذWXfaҾ `ذņk%,3_QXfa8b5<{a } b5<UXfǀ-XfNj ņkJ"DŤ>ņkx} ֕􄉀+#svE?2ٶ_?',0%,-F3 2ԦE4b8*2ذşǀŗIQ+bP=Xo /qߜl3f.NBAMm5 pGϲ?q$4?2(ũQņ,<Hņ,*JG[2ņ'aa-? 8R pZ~2ņ~1a,͋ 8 ]@Zch  ?g?F,3ZWѦ"G+" ֕DQ?aҾJOaҾLذ`,3ZW"),3ZW&-"DSXf"),3_b5{+W,3_Jݜ8x%nͶp{D^Ѓ= h ~r6wG,1oӬb1a`ذſ0 Y#b{Fa( m#ņ {ņ.p!(<3PT( mk0gdE ?@Xo x  .}ذ9Se#' ^ņkJ$Hb5}`ذ^ņkNB@\%nY8x~a@lX`ǿXb쒷:rBb;LC_,Vݠ)btuՊ֘NB`g0g<550;@OC_,Vݠذ6]@b`&SB? ~ L )5rkL=1`:lZ\ dž@XjrDvbue \ dž@!~;@WC_,Vݠ1`:lс!9<09 Ugi ~\ZvbtwCB, džh;L˖+Z`1`:l/9 }g0g<5@v ~\ZvBŀBC Dv C_,Vݠ1`:l29vsy_4 D]v˖+Z`LX.Rsg"Vsy_Rsg"Vvg.Xi@e*,\r4Y? ~BŋF ;Lbe p[K9<(}EoF,3 ~\ZvLŀ'U|kg0g<5'U|kgihk֘ {-e>T8 dž@\-NC;@0@h1`:lf.s dž@9vv5rkL=,MT&? !6;@hk֘ {,M ]C|;@uC_,Vݠ6]@ZZ C KV_9!?5rkL=,MP:k峐03־[9 ;L ~\Zv$btwY? G̬3C_,Vݠ,X.4c`!xkƀLr>gh_b1btwxr, džh ;L.Xi,Ma`!xkƀXr40oC_,V˿'&C'&sabbŋ˿F`!xk#@gi  N-T%\bbdb112P}:t. ӧ1pLTPV.Rc\N֨XSz;kSZj'R^NbRukUNBŋ3ySpZ'ZtOV[̟/u ӉV8iCKӬy:r> BJK C> j]} uJQNJ51q;:bjծ[ PL Bp AH'B'Pp@8'Ġ/ A\/ Bq0* N%p+Ġ/ A\/ Bq0* Ģ`Tz_BbZSXro8uNZT@4 #@4uIbtJ+,#XItO'V[uMmfBJ #hТ%n`LؕN2u[6 +}Z孖u3>+qוZ؍P!l/u Nj|*y:Ӣ,yRukUoZ9ӾZukUoZ:ז'V[\fSTW(}:N7խrh@Fh@FHI 8ΑXio>e:5\tC'PA:jՖqSbu¦ђ T$I 4ML@h_q'U`RծZj[* 3킷yZ孈!@0#PЍBBt@#'DTᓎpC%ξFdΑ)22#VJ5N\|qKVhFY: pEJԸFᡒ_#2\ \tHխRSo>굥 Xt }Z.y\Pb1(\ƁRd'N C*h@Fh@FΩ#,\ΑRek>^^Zoӧ2|:N7խrh@FΩ#%$/PkVXc#RP `:M%m Q$H4(7@`YbE4 #@7RFJH^Lj+,#XJT<+.PS?@8PqTqZd굯8\\Z@i@r VbϺZ(tjrkT,Nν@;kSZj'R^N֫~:q*-32}I| 3 kA$+<b՝ab&<./usr/es/sbin/cluster/events/utils/release_fast_connect_rseult#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/release_fast_connect_rs.sh 1.10 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 1998,2008 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)68 1.10 src/43haes/usr/sbin/cluster/events/utils/release_fast_connect_rs.sh, hacmp.events, 61haes_r714 4/24/08 19:22:12 ################################################################# # Name: release_fast_connect_rs # # This script is used to stop the Fast Connect server. # # The nature of this connection only requires testing to see if the # SMB server is active. If it is not active, then don't kill it. # cltime UPORDOWN=$(/usr/sbin/net status) RC=$? : exit status for net status is: $RC cltime if (( $RC == 0 )) then /etc/rc.cifs stop exit $? fi exit 0 ֘ { l$+@b՝ab&H./usr/es/sbin/cluster/events/utils/scdiskutilt_@@ $3" 8 ,:Hacdeist.01234;=@A_lnpru %(-569LPT`bfkmov| !$)7<>CDENORSX[\]ghxy~ "#'*/?BFIKMUVqw}&+GJQWYZ^jz{燋t,`2@_T[|c ^UwLh0)n4Lc){O2闟[D۠t(BŸI,t_ i4S_bCZ(KX!,̿tjw D3Q+| B=;>ǧa5<=()#AHtWk\^̓;<m!/Uu#x1A(~Jx= ų}k\渮,3BrS* ƻz,\)ӰpT;;'@[hmwv&x5StW5`{ֵ $ n0ЌUu+Zץ=3ЊEs]zָ=3ЊEs\k\PLyؙ EW[hӊ­`bBx5~(\[!rGZNzV- SM?dPT"9;b'Gm=l;x|W;Hɜ@;Gz˴Y|zIL[G7;mgx6ǬLbvv2 a;<}%w ExuzǬLbv۹@ߋh^=eggo?1y<^òw[ CȖ3wC,Xy0t*`V5Ҟ"Pe.e$}E Es^=3X/hKǚ@+Zyzƹ1XE`vV,1Hi/ϰ&͢ ]n/KxKIkŵou#I%-n":˓X';Bbָo/܃ rvbōrs%5E[Œki_MXױ1o $}Cb#?Bȳ'Ȳ .Es^=c>cxnH&GV,~ "[Y@mkOՍPwk,DFZ<,Es^iztM/i\k=>cbtX%ݱ*ŝu)%@Y3{!ZMeY-tW- ny:pE D7Ob7ǽkWR܊[b(]n湥g?J 6k"n7{uc])1yX6,~  -u) i5a]n/ݣid nn7OK\75W{ucW=cIdX%5鼟۫O6$k,D?G`]$}E%[D==r+=FX$.tMx~Xkm >?E]n/cr+@[,{ֵ_( Gu&Ѽ^7bǽk^hmcO!ȳ1=D=7[K5鼟۫OCܑ"KaɮE!#&,Yu+xJKGit7y>kWW܊b!@hرtW5f,|.D<<ֽi޵M-'?M懟v MoCs^=c>cxH&G;?@=[Y B\b 41yX-{٦{cu&族4.VxHzoii8-X]no4lИ?lE&L I R*&Ja-0,ݡ0xɄ1hhL /0٦Ŵ}7hL!^2a LɴyFl?g"xq |nkt^2`]eY'^'d;o1]=3uʟ ̛:L>lИ?lE&L I R*&Ja-0,&0٦5abvnf`6Uck"ΉnEn=;'x5bx9G"X۠@_#ɇ8c:DT9QȒ 9;b<=a FD-*<@P EH+P it{_FV5YƘ,0{q,0k6zQg@ѺE64Ѻ\צ|njBN+bh{^<]u@_OX bI~& Ex] ;ykL/*؀ tV4Ѻ^>(qE7iScMѺ^7Crx@dybpqc0t ^>+7iN[|/*؀+ ~&΀u( v÷4d@?: Exf'o?i^>+OX @"]YYu+iMaܥFM̯b.Wb/]1;ɴy^+|Wi;ɴynTd<"v 2x@d6XLų1]P+o?iV"!͈c0̋u+Ǚ؂ ִ XLųgu+Ǚ@kۚOՍp n" GP"h*@Ux#\1lnAK| ʯfw+-:>Zr%AİV%؈;cEZT|k <Nj]n@YYu+OՍu'5g&-]n-/zƹ<[HQ@ec޵k"[n@LPx {Nwx!ƻd8@Ob.7 E]nnצ|nk<g b"@b,H >k"=Z7[nQ;NW"IxJ<c;DIq blHq/dPT"9;b7<=ch=xŴ|Mmeb#; 8v y͂ J*y 'Yx=yc*֘6 r>xj3;_k\ybe< El@cE,@^7ۭEXE]n/s<]n/,<n/*MeaX[+޵8@t,[y &yf64;ykL2)cޱ21c޵Oy & =Z؀dYYu+ǐ&Kkn@+Hk*2mexuA~w D1ܥFM]MaܥFM̯cvR&w1]P+o?iV"%V ݏX nuA~v֙<^Ub 2Yb>XL5u+Ǚ؂ ִX? bjEx(p[s^=cp":VTGrb٣hCSؖ8 o^[ntqxx y˕wc5z7CV5y<^es^=.<EDue,~&9Sn@YYw[צ|nkk1HA DL%X1XMDX"vtRϴȳ@'^(n֓un׍ 7/'d NDSŮDc܈W"IxJ<c;D;L#ٴW_,_:DT9;b,H<=ch,l^JV5<#6"Hl?X" VtR>k"w[nky>V5DŽ|.0tWOyX*"LX[Y˭X nky>V5Ҟl?Xeu) i5`1@ ؋_v.>9r0qs^=͉DX V,~OŎ E!#&,ؖ=jMR{"ǰcRd75鼟۫Kh w޵@%ָ{@{x p=EMzo'Ƽ|B e`nBGMdX&7{uc^>cb 7Ycpn,[Y:]n/nky>V5<#6"?XOD[Y:]n/;MX׀؈aV,$}E@-u(ezo'Ƽ|@}`$}EAM75ë=Z.ky>V5<#6"$)YcwYu) i5cЋkw{ֵ\צ|nkxGlDIq`ۭHHI=.k{ֵxC!G,{ V5oKr+n=k :Ƃ-H11 ܈  c[-m 7{uc]a1]$̃XNB ?X]$}E]n/˖Ѡky>V5DŽ|}v2 a;$>@4 ?X( Ȱ@:^m&h 7v{r"hzָ}s^=1a8[Y75Kr+n=k :Ƃ-H11 ܀x[FCMX2h8=h&+ǒDyKG^ASPv"@8,- E!#&,o=HB[4-zo'ƺ>cpR׬T-?'1ahtR>k"kEv4fѠky>V5DŽ|M'wdTFeb%u) i5`|u(ƘL4=zo'ƺ>cp." DEYcqY_u) i5`~{^4 Xeu(s8@FѠ.ky>V5ԞeEw[YnEs^=1xBChjh CaL}=u) i5apExP=Z7h8rƀC7޵Sx|W޵SxzƀGZ)hxƀHZ)hƟTO"QK[t@'6adPTM&[FL6hL" ``D&AK)`i0hy7ahL2aLx=} L imMWCl2mgv-&475'Ȅ^Gd]I7tQzLTL ﭾNHtPe̦j;'@Ȗ "P*"[;b-XxGf&3]zo'ƸhxY,oBay_x\1lX;]P+rHӤR&WxlN*2m{ǝݧIܥFM7;]P+o?iV"@Jl~J*tW]u@_OXLC~J*VtW ؂ ִ kԶ?%EftWzֺ+]{_x+r"ryc޵zo'ƺ>cp&B[a䥑f ȱ.DB33sBx\k"Ɓ}13bFy˂ǽk\L-3 grHGnky>V5Ҟy"*ntR>k"Ƅ[zrc^X<.Ey>Us+njKCknky>V5<#6"Bb°]nBGMdX̋u+Ǭ%Es^=XxGlD"³HHIu+ǬZ\צ|nkxGOǍ5f@3u)S }b @ l?X' HHInZ+r@ǽk]'rbhy ƚѺ{x!9 lV5^7HD)0fdt{Z.ky>V5Ҟ؈*?XŁӋHHI &tB@g 2/m {4x:zѺ7C;Hc6Tg-aE;cǃQߋx7{uc^>cb @(,*$}E[x7{uc^>cb 4$(]6tR>k"@ntQo"MX׀؈a䠆,* E!#&,{Enky>V5<#6""YcPE]nBGMdYm5鼟۫&eMb{HHI Iu(5鼟۫ ,~JmE!#&,+#]n-7{uc^>cb" eA\M.E!#&,+]n-7{uc^>cb >1YcVq E!#&,+Wu(C{OՍx,~J.!5$}Enn-75鼟۫,~Ju-u) i5`t.EꛚOՍx6,~J ")Ȱ: EW5鼟۫ v,~J?m$}EвtQxus^=1?%k HHI{EMX׀؈(& @9u) i5aP]n/צ|nk<#75"&e@ $}E@/u( En;NW"IxJ<c;nPBzS0t*`cs\@#DL=Yc-@ ȸ[nky>V5DŽ|渁rG<:;L@R,d:ȸۭX˘Wik⸰-4ƘmV5Ҟsb!b?BۭHHI=Q]Ss^=c>cpn"aGu" "ր6tR>k" 7u"z9zֹ 7{uc])1!ň.Yc!ZE!#&,b.Exzֺ˚OՍt|1 ZЂtR>k""{י Ezֺ˚OՍt|Ąl,D?BŬ$}EtV eQk[zqzo'ƼG|G5c ]n@_h؈LZE!#&,`.EhK_n@$X[w& 6YxzdgW"IxJ<c;ny)^C|j G"X*@IM 1PdxzѼ6hhh!XFk}޲uxs+_,6tMx>o=oƛy^U1'Ɉ x>o6X3MXx,Deȱx E!#&-h EcG.bx!ZGk4n4̭} ffhuA~v֙<^Ub"~Ō@^tW^.Wb/Z'ʬDBBNu+{h c\QxivƙM7[Fgx {5@P#X[{LJo?k}7i;ymxD!u( DZLxvƙ<^Ub"@Xu+ǯN4/1dyUCcu+DZ\ݦ<;ɴx􋮨؂ $Wi;ɴy^+{LJr6>םTd<􋮨؂ ִ6 `XP{^=x] ;ykL/*b9?btW;]P+o?iV"!@a@ ntW"<{kn@B ].ky>V5Ԟ5"l?X-Pu) i5b ]nhg 2=Z(VnjKЭkMXJxGnc 6,~}$}E[xEGHQr. s;njHM8$Y܁&OՍt|Ąq؈'?X Ū[Y/Ex<Ƽk#V5̯1,y1MX׀؈ ?X EHHIV˭^=dY)7{uc\؉Y ;HHIVqu+ǬZ\צ|nkxGOǍ5a8 n@_h؈T{a1p[HHIV nZ[[xc޵1zȼcM h=oRyǶ+"3i2vѼ{x=u5鼟۫OǏlDV,~Ř3ȱq"9{hYޱ6xi,{ִʌ6 Er>xj3;oצ|nkxGlD*,~bKHHIT Ees^=1 ?X؍u) i5ju(\צ|nkxGlDD(YcKa$}E EAMX׀؈?x tR>k"]n-is^=1BYc.nBGMd\ Ou(5鼟۫a8$}E+Eצ|nkxGlDDeР{HHIky>V5<#6"݇&[YtQn5鼟۫6,~,Z'ȸD[uzo'Ƽ|DRr,E!#&,[uMzo'Ƽ|@ ?BEȳSu(JMX׀؈&l?X/]nBGMdY[u(:MX׀؈qe⫭HHI0.E7{uc^>cb 6#3\HHI.Enky>V5Ҟ݇ˀntR>k"7[7@k/ZE޵gs^=1<#75YpJtRp$ dYrkHHItWY'd<4r$\'(Dr%ﭺ@q*SG/ APKA)8f*rf0-|,\ƟG!ǁdžr,L&^<73^C[L=}hƞC ,2&2ku*hc{bhGW[x]u@_OXb61p ^<]u@_OXb1pnƞV5xGbnErG؈'ca/JnBGMdZw[cOm/Cx9rO/9r=}h"Ǒy<^3w[ ǁ(Dr%ﭺiftvN5B#,Dᘩc#6!6i"{r.x "ˀ-u&,ӊƘ,Dⴘ2>+`X[LƘ,EyqRƹU1;yex-"v 2xG TCb˃+^<]u@_OX!.[@k/gve64m-X'ʬDx{bpcŗ Ex2;yc]-n3;ymxGV b-H.Ex2;ycL/*scũ^<34/fGo?iV"<X?y Z^>+HfGr6<]u@_"LR&㘼Wx2;ɴx7iTdcpD6"AMMnBGMdXLKYecLM ]nWivKW3L· 'cx۴n@ Gz-knky>V5ҞS?x. E!#&,&tQ|4/BMVtV5Ҟ@X\[Y[zȼ/Cwq;[Ȕx"9w5 APKA(\ !8f*ss#6!ip=.qXE^<4?Hnz˚_AcwQ=GnYt7in@6Yf14Zew[y] ;ykL/*r?B7Lau+ǘ؂ ִ J@v?B7L nƞcs\@<xYZ[>@="$?X a E!#&,%55鼟۫Oq䏱&l?X a ]nBGMdXJ^+Hɜ|Wili9~I"|Eo,Y <7!ǙÂx6x.mgf14\XZp-hi,i nExv 2xD+ E?@"[|v 2xD;*C9]i[םScMw;X'ʬD@XX+^ǯ]P+o?iV" @)49(] ;ykL/*bCa( ]n􋮨؂ ִ'cr,%tWc޵XB Er,HBid`;#=[ Yޱ9x.!IdrxpXiד{ֵd".8LaEx\-E@+∲ ]n|`ƹ<^%,{4[uyHQQcޱ7MXRxGHAL8$Eaau) i5e`2rxƛ8/צ|nk<#1e{\! ;qb 4+Yc$}EEcG.[G!Gi7L&!GXہHxy<^3w[ ǁ(Dr%ﭺ.*Ljjv|dPT"9PxJDW"H*hHQ;b7<=chfh؋<4!dž?!ǟ>&,io7ZSxrx54xuzǍ{5r /7\GHqBxhC~C 64{Ǎ{&Yty<k"5[|VR Axzƹ<[JOXw[uzux/ۭ^Ok\,m'3X׽zo'ƺ>bB0:B0G5 /u) i5a ]nKX³9ZEcMXH]n/2[ky>V5X n!h D?X\XȰtQx{I+]+ ?qQ  =a ,kŒli8(o-64m ̂ +0& mwXD ne,TEy>,ecOmky>V5Ԟy! e ,!HHI /u(ss^=1R.Zkb+H kAe,!]nBGMdXWu(#ƀBi!u#V'm1xkWM/1m@9.Vʯ`ֹ<^i1o[>zo'ƺ>bB5![b BSaJ-tR>k"{E5鼟۫G|Hi<Ŋ@tR>@_he#ţ[u) i5``tWP=Z42MaV$!u`6La,[{_צ|nk<#$ XB5"a.e ȱ@E O,{5t]s^=aD؈YcD/ȱD[hd&Znk\=MXRxGHA氄"klD 6,~0 HHI ExE޵M@C!4AybBZfd>vŁ]nezo'ƺ>bB5![b  YP nBGMdXB[tB!G3(rH#EcMQnGXuk^)k"ѷ^צ|nk<#$ XB5"Eq$}E nExE޵M@C!4AybBZfd>vŁ@1MXRxGHA氄"klDŁatR>k" ]n/|nL/!ǭ!G,{}m3!Gr qQ Pc=eHQMo>c\-/CcO!ǭ!G,{}e;!G3(rHF'c۫Zn EօnDq@C!4ۑ+r0@kOՍu'|ĄkB&@4+Yc\EP Ȳ ]n/צ|nk<#$ XB5";?@, Ȳ{ֵhd&22/3 HB"Ll 6=X]nezo'ƺ>bB5![b  ,?XDX%Ȱ.{M9 8(ozIg!0nccO7u¤<ȎxȐxEr$DȖ3qFNFq:?j G"X*M1Po 4xsVtP=Sb<G7`y˕^W" )x5 ؋LBD2hW\jIh(P׍ɤ٣Yx**4ѠlcD4-Ŋۭ6]xVXks^=<@"؈_Yc`,tR>k"tV4rh+n]xWb&+*[m»X2MXױ1*gu+>@`E!#&, ~tV4r-]xVXk/¸&@!\צ|nk<#7؈[?&Ń$}EPtV4r-uhi$i@"e@FexX2MXױ1tW$}Q`tR>k"[1h^7-&h,o=ZdZ0]nBay4$_zo'ƺS>cp%,~L{'{HHID[1n(euY|(frHBw Dh(os^==Z4[4͍0"{HHID&m /7{uc])1x@t{a]@+u) i5`yu+9r4^es^=c>c']n䏱6Yc`tR>k"tV4rh(8tP=Z\צ|nk[#D D{?&\]@$}EVtQyzo'ƽ]fb  ?X7@tR>k" ]nƎ\xQzGd<k"Ou+9sPAo/v_hI4M@$ӹWPNx:RxGvWDV!|zֹ@$57'д }О<}G#y} SNPy-1)+rh;ǙŢ nDxG ƀIR&,mTcrG؈Vqe{HHI[1bd6k"h0=/ذum'ƺ˚OՍxDXnE!#&,Eצ|nkX8˭\ >AIe#HHI) EcL&'Go?nkw{ֵbq5kw{5r#li@^4 Y|?<#@XNIF[ƀ>@^7ŃEu)%@Y!v7kruc\ݢ.[4@]̃XHe ~I"ְYckLtR>k"^4m&h׍}vȺ- p|z֨V\/'cw[m7xeh/1x܅jX6XSxȨ]c tPy٦ 6x p=ZyTX4.Ey>,jX6X4\zƹzo'ƺ>cx GfKƀJ3^f;&؈V$Y(Yu) i5d+Eli@^4>v˺|fA'r>o)o)kLWxSyLA7*ָ^7-kxSEpEv1x}x !KP F`6L/3a}CЭv 1x{x  @]ymo!kǎnݴydMy ^{xcP A[`G؀hCx1ȨȂ>mgb&Ѽ/1x A[ 63ʹo!|fA'r>1Ȩ< hCMX 5K!hgb e " E!#&,1@ZMѠp;ym .k]}7"w,LE޲zo'ƺ>cx GfKƀJ3^f;&؈tR>k"@Au(OՍs3>cx GaR& O5} -YcGQhZtR>k"C+E wiio?i/7([u(s;OՍq1 ϋ@^tRp$`eݒ-tR>k"]^es^=c>cpB3@Nkb L=YcM.E!#&-]nƘLk"Ѕ[63x,L2zֹzo'ƸœnEp$  źnE!#&-7u+Ǚz§#r#4r$\'(Dr%ﭹ38CМG;h[OBv&x5 ISFMS1Н FwBRTѮdn?s ؙgt/'MmS1Н FwBRTѮ7lErLj3qe+t'bgQп4kn?s ؙgt/'MtW)N;)?*h^n?s ؙgt/'M[-\c;<yE  q^pt9 H&FP H'Cn1( ,k {=Э U ,k [ƻWX5rfdX|eG0 ,kУ' OQ f Q`41(DvEPbocyAINRУN`rp` A5FRr~!9 7ƻi0& a& B|,kܧw4-% Brow`L B| )ѝׄ#аo&'CnSƻW%0=X ܹj)e#F~:3_Oʿ#6 rB v_; ZՀ*=w`%*ˑh&2Xˑi;tg}RC?M F:@ 3 =k\Oֵ̬ wBȑ`bK b&2b,2DdA3 DV EH kW"b,X%"!֮D Bq1b£}c;ֻ &>бQ }(1r%0ck C0C1a  'X׀ t . Ne`Xd1 ֵr "(1rb(1r$큎! @jI)}gME,r e+t'bgQп4k[OBv&x5 ISFftW)N;)?*h -\c;<\n?s ؙgt/'Me+t'bgQпňeK?CLqDԴktW)N;)?*h -\c;<\8lErLj32; ;cX.R.VZ B=w`|4fָnw`'%Z,+݀M2W3Y. !a^ xLO0'7Fk7ֵC@oو oJFk7ր+1=wOD]C½ `O[!hFK|4Qw]Уr%%{FK)}gS4RɄGߴk-S1Н FwBRTѮ[OBv&x5 IWX)}grSPI3#\6[OBv&x5 ISFn?s ؙgt/'Me+t'bgQп4kS1Н FwBRTѮ#6[OBv&x5 ISFn?s ؙgt/'MCe+t'bgQп4kMS1Н FwBRTѮ%[OBv&x5 ISFlErLj3]*lErLj3rĹR^02DC)cSft2 |2d .xht'$>sY)2Nh/L@tE(Zd())~QG~QG+ ,Qqb 5C/>4c159, ? &&cǯ0Fg%>d5 fc!3фtѱbʑVK(dCqY1襕'+98c> QR_}(bʓeӰ 璕8CW29כ5gGWG;* FCaiTb+  Rh!`2 _|d0 W/q0j&yb6F_,_K*Ng8{\2FX_+}} m#C9QI CPh6.18 ,&(ؘl0\ 84 J10` d) LLJ10`hj0.f1]=3s)F+s.Sph43 FapPᱚ0lQ6 Q FCc5al2l.3 0pdb?aC!V`4B0h3( FaXhoFApT0>7 '&  `Xf1\f2PibQQd5 CAfC2z :\wHYZJ?Igݝ3:~yJ}{6r3V]_^s$tro$nΙ׎ >6BLJ?Y7gLrfL("qI,uスGOaDо2jL֌/M,5gL׳`yY7gLr K>QGI,uスGOJXe"`$z :\ͥVW,Y\?&VWCFc㦖SetID맗L֌/M,5gLs&%vtμpW(k3NiDA:g^8+t̙++\&VWCFc㦖Seles&Y7gLr:}2D NQDA:g^8+tccL̟3bӖt$nΙ׎ >6Bhfdb ?Y7gLr[,lisLZrΒ$z :\0h_ AGK=xQ_05sQe3LNXRtH[1!pd0&]E',E):\‰|\qjl2~YL.scabJN0i+|f6\d2 S9˨刱%'KQ43.2 W C)eRrX(G !q2g66$s &rceC!ae3LNXRtH[1!pd0&]E',E):\‰|\qjl2~YL.scabJN0i+|f6\d2 S9˨刱%'KQ43.2 W C)eRrX(G !q2g66$s &rceC!aK=xQiQ4/P`4 FES9˨刱%'KQ43.2 W C)eRrX(G !q2g66$s &rceC!ae3LNXRtH[1!pd0&]E',E):\‰|\qjl2~YL.scabJN0i+|f6\d2 S9˨刱%'KQ43.2 W C)eRrX(G !q2g66$s &rceC!aK=xQiQ4/P`4 FE$nΙ׎ >|r%|)eRrX(G !q2)9b,IIM#oˌCUag8t RtH[1!pd0&]E',E):\‰|\qjl2~YL."Ĕ.aD>.Vld5\6 ?,sK9%'KQ43.2 W CY7gLrJ']<>WC+)eS*E):\‰|\qjl2ye3LceH%'KQ43.2 W C,sQLl$s &rceC!aq2)"Ĕ.aD>.Vld5\6 <&]E1X(G !S9˨6TRtH[1!pd0$z :\ƳR};ɓerye3LceH%'KQ43.2 W C,sQLl$s &rceC!aI,uスGO)t+J=+HnDA:g^8+tfM AјV!+(g8uʑbJN0i+|f6\d2 YL.R,IIM#oˌCUa)eS*E):\‰|\qjl2ye3LceH%'KQ43.2 W CIgݝ3:|՝LtZQZDwg8uʑbJN0i+|f6\d2 YL.R,IIM#oˌCUaY7gLr5gCS,VzV8%vtμpW((ƒ0C!VQt?!l%|9+&/|R,sQLl$s &rceC!aq2)"Ĕ.aD>.Vld5\6 <&]E1X(G !S9˨6TRtH[1!pd0$z :\0h_ C-  FAGDA:g^8+tfM k_2 C2%vtμpW((C @Рh53 J:$z :\0h_ C-  FAGDA:g^8+tfM k_2 C2%vtμpW((C @Рh53 J:$z :\64)t+J=+HoDA:g^8+trƙ?E1΅iGiY7gLrX3':YЭ("qK=xQ2dWX?%vtμpW((ƣ!. FCCQjQI,uスGOaDоƣ <eDA:g^8+tfM t%9d6}K=xQiQ4/ S1, %DA:g^8+tfM p- O)1Igݝ3:|Uer)2dY\DA:g^8+tR++dɁʲJ>%vtμpW((ƣ!. FCCQjQI,uスGOaDоƣ <eDA:g^8+tfM t%9d6}K=xQiQ4/ S1, %DA:g^8+tfM p- O)1Igݝ3:~yJ}{6rE1΅iGcҏaϫ|֌/M,5gL㒕2$z :\ª(g31]=3u,}K=xQ3y&~:_R_^́\K=xQ,Jn甮X`W)Ge3LNXRt|^e3LceH%'KOg8u$uHg8uʑbJNQ4q2)"Ĕ.iYL."Ĕ.i?)eS*E):]D>/|&]E',E):]DS9˨刱%'KGS9˨6TRt,sQIbJNQ4,sQLl$uIYL."Ĕ.iYL.R,II&&]E',E):]D>/|&]E1XM'K=xQiQ4/  --}("qGe3LNXRt|^e3LceH%'KOg8u$uHg8uʑbJNQ4q2)9b,II&{q2)"Ĕ.i?)eRrXM#)eS*E):]DS9˨刱%'KGS9˨6TRt,sQIbJNQ4,sQLl$uIDA:g^8+tfM kv!K_J=+HnQDA:g^8+tT5#|P ?Y7gLr9t'x &,>m!Ge3LNXRt|^e3LceH%'KOg8u$uHg8uʑbJNQ4q2)9b,II&{q2)"Ĕ.i?)eRrXM#)eS*E):]D$nΙ׎ ?$l`sK,f`]?3&LUQK=xQK Gi|HRY7gLr1ξi`|ɓerDA:g^8+tь6uKt$~fL+$z :\ƌf`sX+#2dY\$nΙ׎ >u垑_gBҴ$nΙ׎ >0:y_69dq/|P ?Igݝ3:|MDNy_}}VQZҏY7gLr/ftҏJׯ~b0\XGM,-/|c~Q YZusDA:g^8+t(0\3}վzVx$z :\ID9e#8վzVx$z :\䍃i|+dɁʲJ?Igݝ3:}lfO1L]Ҥ(%vtμpW(#`_KID맕cOQI,uスGO  z ~Q20VW)G$nΙ׎ >7`r0~Y7&aD˗Y\DA:g^8+tZ3U?I㹩|*̙09VW)G$nΙ׎ >0:y_69dq/|!h >%vtμpW(4,M%3~VZ݁`Y7gLr XFjg9~E4L] e!zJ>%vtμpW(+kM6T*B&]E',E):\‰|^g8uʑbJN0i2g8uʑbJN0i|&]E',E):\‰)eRrX(G,sQLl$s &Igݝ3:|d  'xK:Fyg|R&]E',E):\‰|^g8uʑbJN0i2g8u$s &z)eS*E):\‰)eRrX(G,sQLl$s &,sQIbJN0i|&]E1X(N%vtμpW(+VW,ɓereq2)9b,IIM#oS9˨6TRtIS9˨刱%'KQ4վYL.R,IIM'DA:g^8+tZ3U?I/9gH̙09VW)GK=xQkW'/ȼ扟+#2dY\I,uスGO#5_3"&|ɓer$nΙ׎ >6 PP%N7@)++%vtμpW(,􏕕Q:)t+J=+$nΙ׎ >brrnZ͋ξi`|9~y`}{6$nΙ׎ ?/|9+,R_^́\ ?Igݝ3:~Y7|W+ٰ+4h$(%vtμpW(l%}("q/JXe"`$z :\'("q4C6,NYS4$nΙ׎ >lr̈́i%drp甮X`W)G$nΙ׎ >2Ad03|rW*Gd>}h DA:g^8+t )~3fg)\fR%vtμpW(fZQZ׳`(zB%vtμpW(#`Rʗ甮W׳`W*GdɁʲJ?Y7gLr6%/Ll~yJ}{6r~fL+%vtμpW( ر9eLҿ,S3,R_^́\I,uスGOFCa.Zf o0*WҏJ'$nΙ׎ >0:|Ht@b++XQDA:g^8+tZ3U?I,f`#2Lɓer$nΙ׎ >& s>c3,M%3JQDA:g^8+t̙09VW+,UiGk׏_^͂ҵǥI,uスGO)\fW:YЬa` c* ?Igݝ3:|*`ulr:_L'BќɓerDA:g^8+tC &X?Hϫ|vIG3$z :\¦{2d[gt+'',J>%vtμpW(3ILҿE1·6fOR++%vtμpW(3ILҿD(ͩ즢j`}("qGK=xQkW'/3#GLύ!bGe8&*(Igݝ3:|l0KCc5h*3\5-ģҴe"eer$nΙ׎ ?9̔, Z5@,.e"`~fL+%vtμpW(f~a=3ƾpI3AXN&dɁʲJ?Igݝ3:~yU^=}{6 ҏJׯSG()3J$z :\HY\>DR(VW,J`}($z :\¦{9LoKʭ(zfZQZJ>%vtμpW(j&g8l&ZR&!GDA:g^8+t )~NX<ҏJׯiGk׏`}ՕQ$nΙ׎ ?9̔|0P` ‘ξi_9`]>BertI,uスGO6T<ҏJׯiGk׏`}QDA:g^8+ţ sRvTRsWX>WBGe=325cE$nΙ׎ >s)Ԯ6mБOĻX஁GI,uスGOpw5+eE/G:|t$~FS3)V8+tQK=xQ,i塃_',W͎Y> Z5 ?Igݝ3:|3|{_',W͎Y> Z5 ?Igݝ3:|-a3ie,f`ɳt$~fL+Y7gLrZ61J*Qd͒R++dɁʲJ>%vtμpW(f~&1c,f`] e"`~fL+!GDA:g^8+tZ3U?I/9gA z >m*R?3&LUQDA:g^8+t]9l?fIcGfYfkH+%vtμpW(9jg`xlhy89gX%3J,(Igݝ3:|* R4~rI4*GuC3ZGfVW!GK=xQW,fW997|"sgD~CJQZDrY7gLr ƃf2rVzVx+J=+^zYZ61GI,uスGO*ҵǯfZQZ:|HY\LtZQX$z :\ZQZ׳`(zCerJ|cerDA:g^8+t{ |#,f`sTVW,ɓerI,uスGO#5_3rf~a9>11)GeIgݝ3:|-a30WCd^ΉΦ^>L>ps,K=xQSϛG:VzVx+J=+^{2dY\ :$z :\# I,uO$Ͼdi &K=酅I,uスGO d1o|d 9`J=+^zl^=HjY`;HQ$nΙ׎ ?<ҏJׯiGk׏_͟i>lrN#a+Gi>%vtμpW(VzVx׳`(zV9M"G͎Y?!l%}("qF*,,sQIbJNQ4VW|&]E1X(GS9˨刱%'KQ4g )eRrXM#վ4,,sQLl$s &{q2)9b,IIM Yg8u$uHo|  )eS*E):\‰|^e3LNXRtH,x&]E',E):]D>[_@ig8uʑbJN0iYL."Ĕ.aD *,,sQIbJNQ4VW|&]E1X(GS9˨刱%'KQ4g )eRrXM#վ4,,sQLl$s &{q2)9b,IIM YI,uスGO>‘a*~9ccL̒?,TP֑W$JJXYL.R,IIM#)eRrX(A`Eq2)"Ĕ.iV4ae3LNXRtHg8uʑbJN0ia`F,.R&L1D G53:&{:)M1)&gL Y7gLI8bcSDG5 S鬵p9S|&N&/}2RB\` +޸uºVc]Y /Wkuqx\'N<cj`\fO\f13qu\f%W)4c\h̅u̍+ǢMqi\5-pHS\|5Cz$)=Bc\|W +B:% k?|4K]Կ{?{_{{RK%qwK 8?˗IgxO&?_y ?wt& 2`sO()df ?w?aG1e; MXQGHjhaGf_ ?wYH.->/oSC) {}^?@>/d_@W%(@g%%SS) {[S}^?>/a%%c) {}^@S}^Ɵ@@S_) {1@%OK؃) {>/cOKٷ%}^?OK4>/`[) {@o) {@.OK:OK=OK?OK}^W%%%?OK!OK)" }\]@0Y@0}\/E>.`c@02% ,dSQOK~ }\_E>.`) s}\>.`>.`%@0 ? }\qOK%oOK) sSSOK_Ÿ@0tSЧ%@0?tS@0&OKOK }\F%AOK aOK ?SW@0F) x }^?@*) xJ@) xkOK‹@@QOKaOK+ }LΆA45&gC |氄5&gC {!0x&_9dI@C_9̧ #2Hs5}I@C_9ô$90.2$nΙׄztBb|rQ5>QDԯ95x4q̫a=>\q2.gD̗K1&s&NLɒ~pN:fp WH:(tSӰ_8$ÙNq쨧1၊Ѱ5 K1lҺAlZYiw 㢈LVX%2:c]; )df,&i h,Uҡ:eyD4z S'-LR^u0ҝYjN“ǫ ; )+UIU*.jS(VlZBa2qJ*j1z%TRtET6uS aj,9.5!L_X ˋUᴫiMeiS9˩U~tM! h]L4L7s_ t'KHS, s:&P *iNYje^JrqJ*EQ )՛UqJ*yD4bʼ dRUJUxc4%KNl|c!-Orʎ\ƖP@< Y1w2 !Qh eL:Q @-O2L*-eF AkAeL:.B PR.s9S djNQ4KX'UIM$)@< U4JYje_XiLB%TUxS%R6IU%UeEKUK*E͋S*JdW$.%.e4r3L] %XTZYRlO,*-)t.:|H1|UDNc eL:M @<Tʃ ReL:Q @YQtBeL:S 0BuJɒ6-L )&W$о20eL&i'WBGsƫG,P(NXrBL :Vf2[z'U\gD*-|TjO @*,J2dYS)L‰/*-d`S梕L‰1"' sYҸ5BBuTS,\u垑*-cYUQ:Vt.gD*-t`卍32]E1ΈTZm2T¢'L_2KQhS2KQhO멌v*-u)`qtB'Sh,Wҙ2qJ*ŪSx= ))W$/P7Pҙ1rbʾҙ1z%TQ2ajbʾҙ5*iL\lJ2eJ-Q"d84ҫA|04 С*e脾%1z半e脾&/1zh^͔˩1Bx,9׮e4t]!̳B)KG:̦ ESh,iFtlpYS):@^*Wn$ЧPꇓG,̗Q8$, \ń)ӥ1x Ԫ\)ӥ9q|UNzgPP ^U2:I1PStlWfAzes0B:h:u*J':{@*S6)%, ˋHu1L)@T'T3NZbp6*da+|ЦOh:[Q$+4,S2s&/Tl1 ನ半&qtB'SG,qtB(OK1L|c!Qhʥ6_J&Qh *jiqt_h P`r| s&Bx'U09e#8 L`*E)aP(N(tZ< J.XKT'E^SQ u)ShL^y W uؽLU*PҝA%TRd*-O4RYje^'SUIU&RCJu**%NQj:fũxS/W$L\CJu"qJ*STZiNYje^'U*(T] N/g;!&i˓+Į%, tfa,¢&/ʧ`rB'SN/g;!4 PT2̹c0fq @^ *gB,Qhಪ$uS,EX,9ccL̗QLtւʍ; *XخjW/wD*-d`sD(rB_h&ObQ托Q2Vf2\ƖP`L(N(tZ< ^RlO,%*K\O,˘Fq4%:X Ԫ`s,˘Fq4%`/RO+8Z< T*x? )˔+UIU'.REUUxiN\\6IU%T2Ђ(s)} rt)̨%, QLtqkzGШ ಪ$uS,EN *X3%S,EP *6_TZ)`半&qtB)U:Nh._3#Kz'4L‰664[| J']`Qo 0xEѲer 6KFq4)x7,r.aЦ0S#sJOĻKYq=32[,K tPjN_ joYLmHt!rcވF+s.SRZGIQ%IWL&iԥWBb)hsS u, LSvS0I{Ad *l0 0hX2̹gB5&]DSKHt!rtͤbz(g2)9cRZGIQ%IWL&iԩWBb)hsS u, LSvSQɌUeI9):>.\l̈́B'RGefp73a"ЅMblHq,!Ijo'IQ%e4r3N\-WAzY]!İ./, ,P`r| s&BxYLU09e#8 RT&qp-M3LceL)r&]E',aL7q2g662T ͒c8S |fLXvS*0QK6KI johQLtLɓFu4%\ٛ ..N\]T._RZ$sBZ#Up)e;ݡLO3a"ЅɒxF+MWN/cB9:L(tsBf:,vz%9rh\:W2M j&OzLes&Bx TessBĵ7s K1먥9)9rh.:c9rie<Ү !Qo.6fEˡ %lF+#!Ijorƙ.aб9(YG!,KSx?fKy&:b蒉N)륎0Mʙ73a"Ѕ)F1]=3s)B2:L(uNra3NL^-NraN%I{*cw u"'L`RN.IWL)ˍrBKssQ4%sK9,SYGO*l!bZˍrB.%+2/%czh q) L/THCaL&aD˧aL)7D(t"虅._3KSx8q6.]\:璕87PƒyЖqrfl$\2kx7!īM%SU2™2SHrXS&QLloL‰N˜S&S,fa4qrfl$\2dSK6K87,li,KSx5K6K™)t. !-MHt!rdYY.8wRZˍrBK7f+#doRZˍrBɋ55];Y KSx5;sXS%KHt!q55],`sK)GЅ%K™)3a"Ѕɔ>jjY7]C3cRZ(f))qrfl$\2 7\jΈB'6RJ']`Qo-M  az@:`7^sBfG׫Pu4nGW@~%=]|toϞ9竼4>z̿6>zBEnt DBG\ϞJO@n(Ї %#7G\ЀE:䠋竒=ۣJ ?^|rPЀrPЇ %} :[J!z G\#7G\Ѐ]:Ş:ɂן=\БM/$G\>z0W& :В[L?竓BFn0I-E:O'WVz&~ /|peϞ Б $"Otuc竓 G\g[NЀE: n8k竓&듇~8n8H~AnЀ]:f_a>z~`Б&} %:b?>zן=\L#3tu_$G\ ~-(I&>zEۣP^|r}M(:#7G\ G\> n@@"r=\' n4ОG\n4iO[ 2WБ ބphW#7G\} %:Е@8r{=\O=nH=\g竔H)В[RG\#nHuAtuDBEnHDv#tu= tu;Ϟ ן=\cHI-ÿB`L|plz G\'" tu5Ϟᗡ#7G\4$냔G\ ۣ^An8|pp?>z:Б$냢Bv냡ϡv>zA |z Lz>ۣ'A'z&nc竉pБ ^|pxБ} :0$f/Ϟ$fן=\Бoן=\ :-$?=]E =]Ѐtu/ .t@WTQ@:U/fX1n6W~ [Co%ۣA¿%ۣ>KG\ nnYtu%ۣ~KG\ >zן=\O#7G\cI-*s竕/ן=\BFnQВ[T@9竕BFnPI-|p"ypg$G\ _|p>z@z3tuВ[ s竣I竣3tuљKtuт?|t`#yщ^pWkH@Ϟz3tuן=\!YHF>zB7$f&߯>zBБ^|pH@竄'p WD_BFnB$KtuB >zyAtuBFn3$끀{c竁ބp0Hǡ"G\ ~p0 z+tuHG"G\ $V끛z+tuБ[C?BEn} :dH$V`$VFqH.$VDBEn~~BEnB|qU}ۣ*KH ۣ*cHۣ*?$V늃BEn@$V늄/BEnD6>zD3} G\"!nFMB-@:-ϞB-?%ۣ+)]:ϒ~KG\V.qXtuǾKG\.rv땁/>zX~i#7G\ Ktus竁 hG$f끡/В[ߟ=\$[Ї :#_|p>zHz3tu@В[XQϞXW,#7G\/BIn`]ϞXm竖}1na#7G\8$͏,/>zJ=\%* nJY䤭 B|pЃ넣ן=\%=$f넡$G\%|p?>zJzbpA$f넢7$G\%|p6Q竁G#7G\ I-cBaw>z6yߡ#7G\ Ktus竁(WWБg$G^|xן=^?BFnKtueϞ_ן=^ބx %:>z?3tu %:=^(yI :^r5->zi>zhS竖3tue$떲5>zk_|rrВ[ZWH+ ź:!WHm竤 3tu~t;l|t?=\&IϞ ^|p(z3tuf>p00/ބpJ$?ҁן=](E=](БВ[=](&WJן=](-$fބt#WL~3tu,$1 ź:>zf>zfބttWL?>zaБI$(WNWNБg$G]97G]8ЃaϞ竧 :o$G]8s竧ן=]8HN%zKtu ^ۣ(WR9 Lu @>z s竩Ϟ\9$f/$wc竗gW/竗$f뗌} %:_|r_ן=\>z} : %:ᷡKtußB` RqjB)nKG\Z.qhtuvv؇tu nv1]:5Ϟ`ן=\>$f>xI߯>z%xmI-ׅ>z-^|xC?BFn В[sAtu>z !y : %:s竪 ^|uJ} :>u@=]P#ySAtu~u@В[.Ϟ.SH } %:WϞ.} :В[.>z ^|qpHVВ[WV~3tuլ$s竫_>zug~u`WV>zБ9$|u`yՈubO$G\^=\^~ :qx=\^3yBFn$G\^ ?y?BFn6$!Ϟ/ן=\^ = :В[//>zNW H $?qϞ3tuqϡ$G\'8$yr#7G\'!Ktup=\'ϞpzKtup#W K竬CHXВ[_=]`WX ^uu[=]hyք֌} :L %:WG]iބ > RuO ]:C%ۣKG\(KG\`StuKG\`.qtu#B [1s竌AGϞ1?$fCBIns竌@7竌DBFn$G\dI?^|qBFnВ[26W~"#7G\dC$대Ϟ2# aHqH I-竅/bpg#7G\)2$2bp=\tq/~G\s竁M竁~WБw$G\-Ktu)nV Lx}G^!׈.x%ۣAtu¡ y.p;_%ۣEKG\z :t@$X9竅o3tu´ps竅`W } :XiI- ÏB [ϞϞsВ[bs竘_>zsw$G\kϞbk竘 ź:'sВ[s竅^|pBFnX.$녀W kW BFnXKtu s竅yБ ~qG>zϞ3,$fI-?0WHI-WW3tuaǡ$G\f0 1 Б3 %:0(W~BBFnгВ[4/W?>zБ4В[4eϞ4k竍z3tuƇqs竍WqI-=\h>z?#7G\ȫВ[d̋^|s!#7G\В[dkϞdW2#7G\ɷ$G\_@;站^s В[d|s B_#7G\Ktug7G\CϞϞ-} :zp<ߛ=\jO@qi Lq ЁKtuƠvD?%ۣ6Ktu%ۣ6 n?]:f>KG\{tuo3}1nZ?W AGϞ3tuВ[G>z\Q竅>G\.3tu>p?=\.=7G\ Rp>(TMz)n!y.p> nnytuKG\?tu%ۣs竂6$fВ[B- [=\ן=\Бb$IϞ@ 竂БCBIn l|qB-&n>z%[8 G\p z"Ѓ [H@В[ן=\g>z" :J$GW4z)nߡf6 Rs@vKG^;y.x.xO%ۣ0]:~KG\KG\7]:oϞ"BEn~G^A-א?ן=^@Б I-א8y1n3tuKI-ה6>zЁ3tu :>s`-Ϟl^|se>G\oH6zKtu̓OB [lzbsaЃ/>z~㲟BFnQI-|tuf~J:_|q/ן=\wO-~q-$ğBמބ 9-aWbB0Ё3tuwAtu^|st>st^sp=\?Ϟn. ź:BFnBIn&=\= ź:W7Ϟ$f믯$G]xW^W^. ź:= :KtuׂB^|uC端 :BIn(=\=\ϞpБpВ[pkϞpW8!z3tu~sЁ3tu;Ϟp?ן=]BFn^vG>z>z#7G]gI-`z&n s竰Ϟs3tukI-9?)?^|s#7G\В[rB LsW9ן=\;$f뜈v 5.>zs竱ן=]Hb#Ktu؁G>z^Q竅3tup_B οM竅᧡#7G\/ %:͏ІeO dC n ЀM:?BzvBG=nЏ=^W]HנВ[CBo|zcW4 ź:BFn$G^B6~= :I-פcO[I#tuaϞHWG^#7G^В[H0P:=^(yٔ3tuي= %:>z6>z:|:z3tuٟKtuـC=]BFn1В[>z9竝WЇ:,$f[В[utu΁>z#yΗ:DBFngI-:|s@Ї: :B$G\06K[#n`(:Б[=WWǠ?->zǠ=\z߀ǠQl|q> > 竏?竏~=\|p6>z竏W/8|q |pH^|pHБ zKtu e:Ϟ kHKtu,?(!>z%  A~=\s竂Q#ІQ=\Q@scן=\#7G\В[v)+tuB [v`M竆(} :/BInbs竆)^|pO- L :ቧ$G\1f CϞgW DBFnb%Ktu߂竏_S竏>JG\~W>z?>zH ź: 3tuKtuw(:W 8|ru o=\ן=^}1n$f/$G^߆W:|{n1nB׸Atu_ :%$=](?ځ/>zP&yځG8|sG#7G\BInSl|s x?W<>zqH< %:W<Ϟx$br /BFnWI- Atu&^JPr >zϞA:OA; ź:#7G\zKtu W ϞA :#В[s竆@[W = :ᕽ %:ᑏ7G\2_ן=\2cAtu#BFndzKtu2ǀ0K#^ ^ 'A׫`:pL z&/u(H\׫#~\`pN^ ?B} i@Sk ~B^A׫AW=W=53^z@_kNܪC^zX@Yg>^ n\~8;\nU\wz7^|W> A׫:szuMz`3z]S]^K|&|6Fqh/o E:^}SO/b@5{W E:^ȽSU/aGtQN E:^Şj) E:^}S E:^QN E:^=S1QN^j)1QNtS7QN E:^ƞj) E:^@5{/QN@5{S/atS@5{}SBQNtzK3QN E:^tS }SzK7QNq/`]/` E:^נt@5{j)SK@QN0QNE:^_qN0:\qN0SS-P)!N0Y)‘N0N01#AN02S 2sK:\b.a/B.`<"stƢ.aO t:)t\)ЧK sN0mN0 Ss ts[AN0 ".`.`~^)Ѕ.`/sXK~SKކaN0SBn)аsN0^)tQN0 K:\HN0|S tN4t( t$/ O :^H)!KUn)= KK+\)xvwM wNM] rZ`m,t v &EDlGDr_VeUbrQ)KNrS W%erQ+ kn2. %rdM\fW&4jɎɏɃ}5r`M\CW&Ʉ[\Cڸ3a\ pf-Upds+updWHx2kk".WDa\'Kp9\{\ '1q02&4a뉘cҸ4&٥q0wq0(C\;Q xq\Wx냊p8냃9=\ |ZUê냢\kp +v:+ptCD|k׫K2Y~~C} oWQ#%'jz嘛ݮ' 4q8}5q855px]W5\cupx4\=\p~A5oUw wk1ɫ4rn#4oZ|O]u?]Z\ D%eUp*kQ^+QvkXMp*7߮G8E\ ˕j %p*a%p*!a%p-W$I\ 6JX +` +a +a/ +r$I\ ń8I\ o+pW*Y+5rW*W*=*!+ڊBP*3 B_ pW+? @75 pANW/lc\ s*kN6 yt~`80A]+ǘ"{G+>i\!C\!*3Z \ָBC%pǖBi\!B=ٵp3uC|CB#8yqGz₮℻:gUXa\Pi ¸4-q@mc\P@!}p0U\ ?\ kp1m p01ɫ,q5p0C+)l|u}Z`Ap0!eU5+/5N)kUG\ :ef+L]p2i=+W!,C%Dl%DI\R+Wj,&)4WkC:C¸AW8uuz+kaEw(+qQf2*+*4ªkW\T5D<,* qPs+W8ڸE DvD=kG=ppe5 AW!\ 8?\#C71\#,pN*:+˕JY\# 0FnFpWn \rW\V\VpW< h+V1Vg\~ b[\EW+tI\ umMp4eWBV]\$Ck=+ 8I./5KEpW (ƸH c* 5A  qW,W,2r<ƹdr1X:,X!c_xMŃŁ  9\X%pRp V`ZJez+JwW HyUpp6(s5QkF)XE\ p6YUڜ3Jn\$XI\ xK\ uĭ-x kO^: u54ׁ~_^=~ ;W6ob8./ZY\(Z+r +)%tWM?ǽtÝtJlWL*v pO]0z鄼ӓӕgӋUt3~ӝ/]9ӆzítN޺ +)fX"WPYP"P.jY]A k7]Dk]Cupں ]@]OԿ.K]J̚,&}u!u"rrt5ˇ/}rvp\%rj⌚z̚yO\W/4q5rS\kkx=\>xZ뗈Ur#+z: qiV+_qh߮-1Uţ"-!aqh.*CUfW{UU WU$sW0s+`%sqW0es k `%pW[^YmxTY #ExXk}MxO5 mxDWTuU+*WTYf_]P a=uGO]Po9Šꃬa]P}kʺ|U XG\pcӼ=+,ClY\p7\藖 r\mpM\+髅fzzXQ\++d=Ep±/y}pK똓5+W1a\cj똚j또uAn/ba=s]bkQ\@5De\GUD)rXUe9\,Up1aep4J`u+e\,pB+W?\fU583Y8Wgx60]\fa%q\f#rWS\n%5fS\5n mu.;@J >W(~!pB1 U\ {HZ:6 !*wA\qm㈴5-qlkBIz㑾O\rpm^j ׸w"Ĝ5:ho]޻E+ю5 I*ȵڿvSڋjLv:XvڝົVR CL j kpA']uڈ"Q'$W<,3\<;-\sss$<Mr & E:AA45\r-5\`A؉\%r"V/p kHc\2SFEd9/+@p7 J#_Q.529@??9?;32dK/9o;G&L@E,;G(f,aI?HM(;GK)t?,aI?rfTw66^΁wbv()dC?()dA/jh 晏襕'&?2RQNXQ,f`=7sSL2@E,9f(;G]#*R%NL09@;Gq?K%1K<tJu<.am sv±0`0YwCw%:7w?'{dɁsnN֙C,aI nN nN.`7y;;GLs΃#w54isMYN“m.a.&\ywCwK/y;\NL09KSwCw\{wCwsE.a}<AKnNisRʓkץh<\3y;E,97A30.`h<\2dɁϥnN榏Ax.`ރ30K7w?'{כNXN=%7K /9oo\By;rf3. K7w?'{8K7w?'{襓)wCw:NgK :7w?'{襒z\Jy;F0nNdr;ax}㹩ץCwCwY0᎗AWO/)y;m#ٰAEwCw)KUwCwFQwCwaA7xEz7w?'{'.~. ^.S]-7w?.S]-@]E1KJz'9G%Alris =~p6C.`YR@\=e's@:@b^@%ӯu÷_H=7w4g w;?AXiT0Ko dSr \;"\A@.`(zCs?_ĹAӯB ?r.<'{5r{ܸES%rxiR-VZ-ܸT-.ܸT'V[oˏ=BUe?. `Վ\x(Ѓ ߙ`[ܸE \{_$q0S n\{_/Cq0G.==ӑP0.rǴg0JG.=q?0aЋ=r`g.=3&G'ˏi jotǴ (OܸSܸSOHkGF\y .\xeˏm55딉[+&cg.=c_72$ptwww@+t,_g<.<i Mo;N'rxͥjoɃ.=R'qᖒj?.=coۿ3&q9@{;@5 4q=~g 厘b-!9qu0j.=<%XǴ%q3xKSӢP/MbǴ}qᖒj?.=co> ?/w}{3@!QˏCSo!5Tqfĵ7 ܸ5)rٰk }'.=o@(r [Bˏk\{O~dǴ\~7r.~Cr.Oܸ)d>79q? =.=᧺ \=ˏi5#G.@ǴMK!%ˏiq9q4hǟNNdžZIܸIߙ0 nA0M ? eI5I1\;3&8w ,wd@5ȼqHjmA;K  ˏkm,,KS\{_=e$%cӤXKS.=Or9q? nǴ}qᖒj?.=co-ߙ'?)(vX}`/qHjm\G᳗מXXquBEÇ.=ƖP0/\{]\{M&\~9q?X=ˏiG.=Kˏi\CZ?B4rϿX{i&ri&6AA/W;@ fm?ˏCSo2/ ďn\{^yabhǵ׳a ?ra00c '.=HKSaK6Pq?X ~9ri hˏ>adžZIܸIĻ3OnAMBܸQ56[3Hǵ*-quBE9qv0ˏi aC60q?'rǴI jo4ri hˏ>`j.<2MGǶLmd(A_xkY7gބ&@5վCrFwwy,[ ܸ{×.=0f1:5ˏi߈.\{N)e k&Brl7Brs 7.=T[Ǵj@"q9'oˏiȽE9q4hǟ} I5I1\0)&wCapfrB#!IjoCrFS;6C!bZ9qxΡco^ǵ`t6.\{^HKSdǴI jo3rfZ\{N3ia-M\4rt=rˏi jo@9q0G jo@q?Z Ǵf-C\fހJrKrs0:cK(EǴiBǴ}\xeˏm;3!\+3 wR<CZ?B4rϿZII5{I =9/ˏh^;%KEzCr_Uߖz}#h=9/PˏF/aA0y p7}yw?'%',aܸN=t{-Mq8c/ ]@$@QK=|ǒA p[bv3{;|F+}@\}i^͆W{;?$C.>[ށ!% .>R?_FozC/P\})e$tЂw. ^(1wݷ?`r3Ђ. ](GrYH}!{BoAJ=)rޒYHpǮ =@YI!/RɄGYfw+gQ5)(-ܸ)xw8≩랟􆠒fG?\{;_;t~N\;L=L=} oJ?B )xwbvu7YroHŔ)6ow;Hk`nІ\;Wśn'&x1fwЂ@M7IG@KÿpLeYroE\n}?7%{/GHjh n'&GHjh Bk`nЀKý!Sڸ&?w,976bvWB| Q˂zJ&0}YroICSڸ&}9;_;t~ ۾n'&NX뀨"& rޑpɓ&=s.2d{]@& #rސw54}sn榏{m@& 9pRIE,2랚nQK)禛BO&"S/JznNs%+u"O& 'rK랈n'&B_\E';_;t~J˂Y\w|?NMep)k`nA. ^XyYroHrf@ vv(˂zI7 |?NM$^sD\6)?&Q;/,f`=Bw,979c3wA@M7IGY˂zJ3|wL!(= vv(!r@s7|?NM>w;_| Q+\;QK&RW>3w,97L2|gQG&R. ^#GI>;(| Q(JKý%_3-w,97Ka>%_k`nBg. ^q\?w,97sw;o| Q*. ^sS3YroH;uτ@;_;t~J`Ký%a!n'&RɄ kn|| Qr˗/cgD]7wF1o~waM.\L\qMNrQ5=RHͮ\ps*ONqkלȹ2],ӰU#89t̙.8wpN:fe8\prͅ+_g2.$̧ sRvTSN VW V܌JX:.6_Fɔc%OBi%u%.蒉LʉXkcc5aPpP6f1\ Fq6m#es&ͤbQԲC~FT8v (Fy̋3%m; \3ˆ 3aL.cE1"@"@"@"@"@"@"@RƧ4dI%2Be.]HBOJI0?4})*R}:T_ ,|nb fdŔLY,Z |.|"TR%|"ԏM..xht'bХ:i.drΙM5UӰ̎Y; g]JNzW29gL&0zOJG,靄2NJOJG,靄D2D2D2D2D2D2D2D5 G53:&{:)M1)&gL Y7gLI|frtu/K U0*t bw5+`ls6衜˨6T bz(g2)9c6Y]!ĺF,6];Hm#Ʀ`1֐F+#F+s.e5SssQ4IzS0I<]!ĺI%\h37_,ZCSUA4}55],7\j΍ Y7O<ٰ襓 Q9t'x &t.Sù\m;*)p2dɁΐS2dސSv6YRrz jifZEˣS9q6|tQjW km$+b՝ab&./usr/es/sbin/cluster/events/utils/snaversiont_#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/events/utils/snaversion.sh 1.5 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1998,2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)44 1.5 src/43haes/usr/sbin/cluster/events/utils/snaversion.sh, hacmp.hawan, 61haes_r714 3/26/07 17:52:30 ############################################################################### # # Name: snaversion # This utility is used to set a boolean indicating the level of # installed IBM Communications Server (SNA Server) # # Arguments: None # # Returns: 0 - SNA version 5 Not installed # 1 - SNA version 5 installed # 2 - SNA not installed # ############################################################################### PROGNAME="$0" ############################################################################### # # Name: snaver # # Determine the version level of the installed Communications Server. # # # Returns: 0 success # 1 failure ############################################################################### snaver() { typeset PS4_FUNC="snaver" # first check to see if sna is installed. SNA5=$(lslpp -lqc sna.rte 2> /dev/null ) if [ $? -ne 0 ] then echo 2 return 2 fi # now get the version. SNA5=$(echo $SNA5 | cut -d':' -f3 | cut -d'.' -f1 | sort -u) if [ $SNA5 -ge 5 ] then echo 1 return 1 fi echo 0 return 0 } ############################################################################### #Determine SNA version ISSNA5=$(snaver) echo $ISSNA5  k$+b'bb&./usr/es/sbin/cluster/events/utils2/cl_apply_rohannect_#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021,2022. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/events/utils2/cl_apply_roha.sh 1.9 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ############################################################################### # @(#) 5881272 43haes/usr/sbin/cluster/events/utils2/cl_apply_roha.sh, 61aha_r726, 2205A_aha726, May 16 2022 12:15 PM ############################################################################### ######################################################################### # # COMPONENT_NAME: hacmp.events # # DESCRIPTION: # # This script is one of the scripts dedicated to the management of # Resource Optimized High Availability (ROHA) functionality for the # account of PowerHA SystemMirror. # # FUNCTIONS: # # cl_apply_roha # # NOTE: # # This file should not be called directly. It should be accessed # through FPATH environment variable. It also needs that file # /usr/es/sbin/cluster/events/utils/clcommonroha is sourced before # calling this function. Some global variables need to be exported. #x ######################################################################### #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ #============================================================================= # # Name: cl_apply_roha # # Description: Perform acquisition/release operations for memory and processor # resources. # # Inputs: $1 to indicate if we are in last loop of reassessment. # If set to 1, we are in last loop of reassessment. # If set to 0, we are in normal reassessment. # # Outputs: None # # Globals: roha_session # # Returns: RC_SUCCESS # or else error code for apply step # #============================================================================= function cl_apply_roha { [[ $VERBOSE_LOGGING == high ]] && set -x : version=@(#) 5881272 43haes/usr/sbin/cluster/events/utils2/cl_apply_roha.sh, 61aha_r726, 2205A_aha726, May 16 2022 12:15 PM typeset -i rc=$RC_SUCCESS typeset -i LAST_LOOP_OF_FORCE_REASSESSMENT=$1 #================================================================= : LAST_LOOP_OF_FORCE_REASSESSMENT=$LAST_LOOP_OF_FORCE_REASSESSMENT #================================================================= if [[ ${roha_session.operation} == "acquire" ]] ; then if (( CONN_TYPE != 2 )); then #======================================================= # Synchronously acquire resources. # First, Enterprise Pool CoD (yank resources from source # node if possible). Then, On/Off CoD. And finally, # DLPAR resources. # Also, rollback resources in case of error. #======================================================= roha_apply_yank_codpool_resources rc=$? (( $rc > 0 )) && { return $(( RC_APPLY_EPCOD_ERROR + rc ));} roha_apply_codpool_resources $LAST_LOOP_OF_FORCE_REASSESSMENT rc=$? (( $rc > 0 )) && { roha_apply_rollback_all_resources ; return $(( RC_APPLY_EPCOD_ERROR + rc ));} roha_apply_onoff_resources rc=$? (( $rc > 0 )) && { roha_apply_rollback_all_resources ; return $(( RC_APPLY_ONOFF_ERROR + rc )) ;} fi roha_apply_dlpar_resources $LAST_LOOP_OF_FORCE_REASSESSMENT rc=$? (( $rc > 0 )) && { roha_apply_rollback_all_resources ; return $(( RC_APPLY_DLPAR_ERROR + rc )) ;} else # [[ ${roha_session.operation} == "release" ]] if [[ ${roha_session.synchronous} == 1 ]] ; then #======================================================= # Synchronously release resources (in reverse order). # First, DLPAR resources. Then, On/Off CoD. And finally, # Enterprise Pool CoD. # Also, no rollback. #======================================================= roha_apply_dlpar_resources rc=$? (( $rc > 0 )) && return $(( RC_APPLY_DLPAR_ERROR + rc )) if (( CONN_TYPE != 2 )); then roha_apply_onoff_resources rc=$? (( $rc > 0 )) && return $(( RC_APPLY_ONOFF_ERROR + rc )) roha_apply_codpool_resources rc=$? (( $rc > 0 )) && return $(( RC_APPLY_EPCOD_ERROR + rc )) fi else # [[ ${roha_session.synchronous} == 0 ]] #======================================================= # Asynchronously release resources and log output to # another file in same directory than hacmp.out : # hacmp.out_async_release_ # First, release Enterprise Pool CoD synchronously. # Resources become unreturned before being freed by # DLPAR release. # Then, DLPAR and On/Off CoD sequentially. DLPAR # resources are ensured to be released when releasing # On/Off CoD. # In background, every command returns success. #======================================================= roha_apply_codpool_resources rc=$? (( $rc > 0 )) && return $(( RC_APPLY_EPCOD_ERROR + rc )) roha_session_write_odm_dynresop WAIT_APPS "${roha_session.optimal_apps}" #======================================================= # Check if a previous instance of the Async script is running. #============================================================= ASYNC_LOGDIR=$(clodmget -q name=hacmp.out -nf defaultdir HACMPlogs) ps -eo 'args' | grep -vw grep |grep -qw "clasyncroha" if (( $? != 0 )) ; then ( clasyncroha ) >$ASYNC_LOGDIR/hacmp.out_async_release_$$.log 2>&1 & #================================= : background process PID is $! #================================= fi fi fi return $RC_SUCCESS } # End of "cl_apply_roha()" ils k@$+ b՝ab& ./usr/es/sbin/cluster/events/utils2/cl_compute_rohaect_#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils2/cl_compute_roha.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ############################################################################### # @(#)27 1.2 src/43haes/usr/sbin/cluster/events/utils2/cl_compute_roha.sh, hacmp.events, 61haes_r720, 1531A_hacmp720 7/13/15 10:39:16 ############################################################################### ######################################################################### # # COMPONENT_NAME: hacmp.events # # DESCRIPTION: # # This script is one of the scripts dedicated to the management of # Resource Optimized High Availability (ROHA) functionality for the # account of PowerHA SystemMirror. # # FUNCTIONS: # # cl_compute_roha # # NOTE: # # This file should not be called directly. It should be accessed # through FPATH environment variable. It also needs that file # /usr/es/sbin/cluster/events/utils/clcommonroha is sourced before # calling this function. Some global variables need to be exported. # ######################################################################### #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ #============================================================================= # # Name: cl_compute_roha # # Description: Determine how many total ROHA resources will be needed to reach # the required amount. First, consider memory resources. Then, # consider processors resources. # # Inputs: None # # Outputs: None # # Globals: None # # Returns: RC_SUCCESS # or else error code for compute step # #============================================================================= function cl_compute_roha { [[ $VERBOSE_LOGGING == high ]] && set -x : version=1.2, src/43haes/usr/sbin/cluster/events/utils2/cl_compute_roha.sh, hacmp.events, 61haes_r720, 1531A_hacmp720 typeset -i rc=$RC_SUCCESS roha_compute_mem (( rc += $? )) roha_compute_mem_report roha_compute_cpu (( rc += $? )) roha_compute_cpu_report return $rc } # End of "cl_compute_roha()"  kF$+" b՝ab&" ./usr/es/sbin/cluster/events/utils2/cl_identify_rohact_#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r720 src/43haes/usr/sbin/cluster/events/utils2/cl_identify_roha.sh 1.2 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 2015 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG ############################################################################### # @(#)28 1.2 src/43haes/usr/sbin/cluster/events/utils2/cl_identify_roha.sh, hacmp.events, 61haes_r720, 1531A_hacmp720 7/13/15 10:39:17 ############################################################################### ######################################################################### # # COMPONENT_NAME: hacmp.events # # DESCRIPTION: # # This script is one of the scripts dedicated to the management of # Resource Optimized High Availability (ROHA) functionality for the # account of PowerHA SystemMirror. # # FUNCTIONS: # # cl_identify_roha # # NOTE: # # This file should not be called directly. It should be accessed # through FPATH environment variable. It also needs that file # /usr/es/sbin/cluster/events/utils/clcommonroha is sourced before # calling this function. Some global variables need to be exported. # ######################################################################### #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ #============================================================================= # # Name: cl_identify_roha # # Description: Find out how much this LPAR could possibly acquire in terms of # DLPAR, Enterprise Pool, or On/Off CoD. First, consider memory # resources. Then, consider processors resources. # # Inputs: None # # Outputs: None # # Globals: None # # Returns: RC_SUCCESS # or else error code for identify step # #============================================================================= function cl_identify_roha { [[ $VERBOSE_LOGGING == high ]] && set -x : version=1.2, src/43haes/usr/sbin/cluster/events/utils2/cl_identify_roha.sh, hacmp.events, 61haes_r720, 1531A_hacmp720 typeset -i rc=$RC_SUCCESS roha_identify_mem (( rc += $? )) roha_identify_mem_report roha_identify_cpu (( rc += $? )) roha_identify_cpu_report (( rc > 0 )) && (( rc += RC_IDENTIFY_ERROR )) return $rc } # End of "cl_identify_roha()"  kv$+*bbb&*./usr/es/sbin/cluster/events/utils2/cl_query_rohahact_#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2021,2022. All rights reserved. # # ALTRAN_PROLOG_END_TAG # ############################################################################### # @(#) a9b2496 43haes/usr/sbin/cluster/events/utils2/cl_query_roha.sh, 61aha_r726, 2205E_aha726, Jun 06 2022 01:50 AM ############################################################################### ######################################################################### # # COMPONENT_NAME: hacmp.events # # DESCRIPTION: # # This script is one of the scripts dedicated to the management of # Resource Optimized High Availability (ROHA) functionality for the # account of PowerHA SystemMirror. # # FUNCTIONS: # # cl_query_roha # # NOTE: # # This file should not be called directly. It should be accessed # through FPATH environment variable. It also needs that file # /usr/es/sbin/cluster/events/utils/clcommonroha is sourced before # calling this function. Some global variables need to be exported. # ######################################################################### #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ #============================================================================= # # Name: cl_query_roha # # Description: Obtain the configuration of ROHA : Query HMC, Nova, LPAR, # Applications. # # Inputs: None # # Outputs: None # # Globals: roha_session # roha_query # # Returns: RC_SUCCESS # RC_QUERY_ERROR # #============================================================================= function cl_query_roha { [[ $VERBOSE_LOGGING == high ]] && set -x : version=@(#) a9b2496 43haes/usr/sbin/cluster/events/utils2/cl_query_roha.sh, 61aha_r726, 2205E_aha726, Jun 06 2022 01:50 AM typeset -i rc=$RC_SUCCESS # Exclude for ROHA on Cloud if (( $CONN_TYPE != 2 )); then if [[ -z ${roha_session.preferred_hmc_list} && \ -z ${roha_session.preferred_nova_list} ]]; then return $RC_QUERY_ERROR fi if [[ -n ${roha_session.preferred_hmc_list} ]]; then roha_query_hmc "${roha_session.preferred_hmc_list}" rc=$? roha_query_hmc_report (( $rc > 0 )) && return $RC_QUERY_ERROR fi if [[ -n ${roha_session.preferred_nova_list} ]]; then roha_query_nova "${roha_session.preferred_nova_list}" rc=$? roha_query_nova_report (( $rc > 0 )) && return $RC_QUERY_ERROR fi fi roha_query_partition rc=$? roha_query_update_lpar_cur_if_async_in_progress roha_query_partition_report (( $rc > 0 )) && return $RC_QUERY_ERROR roha_query_provisioning "roha_query.optimal" "${roha_session.optimal_apps}" rc=$? roha_query_optimal_report (( $rc > 0 )) && return $RC_QUERY_ERROR roha_query_provisioning "roha_query.running" "${roha_session.running_apps}" rc=$? roha_query_running_report (( $rc > 0 )) && return $RC_QUERY_ERROR if (( $CONN_TYPE == 2 )); then roha_query_managed_system rc=$? roha_query_managed_system_report (( $rc > 0 )) && return $RC_QUERY_ERROR fi return $RC_SUCCESS } # End of "cl_query_roha()" #============================================================================= # # Name: cl_query_roha_post_compute # # Description: Obtain the configuration of ROHA : Query Managed System, # Enterprise Pool resources, Enterprise Pool members, # Trial CoD, On/Off CoD. Query this information only when # roha compute operation successful. # # Inputs: None # # Outputs: None # # Globals: roha_session # roha_query # # Returns: RC_SUCCESS # RC_QUERY_ERROR # #============================================================================= function cl_query_roha_post_compute { [[ $VERBOSE_LOGGING == high ]] && set -x : version=@(#) a9b2496 43haes/usr/sbin/cluster/events/utils2/cl_query_roha.sh, 61aha_r726, 2205E_aha726, Jun 06 2022 01:50 AM typeset -i rc=$RC_SUCCESS roha_query_managed_system rc=$? roha_query_managed_system_report (( $rc > 0 )) && return $RC_QUERY_ERROR if [[ -n ${roha_session.preferred_hmc_list} ]]; then roha_query_codpool rc=$? roha_query_codpool_report (( $rc > 0 )) && return $RC_QUERY_ERROR roha_query_codpool_members rc=$? roha_query_codpool_members_report (( $rc > 0 )) && return $RC_QUERY_ERROR roha_query_trial rc=$? roha_query_trial_report (( $rc > 0 )) && return $RC_QUERY_ERROR roha_query_onoff rc=$? roha_query_onoff_report (( $rc > 0 )) && return $RC_QUERY_ERROR fi roha_query_other_node rc=$? roha_query_other_node_report (( $rc > 0 )) && return $RC_QUERY_ERROR #======================================================= : Notify user. #======================================================= if [[ ${roha_query.trial.mem.state} == "Running" ]] ; then logger -t "PowerHA SystemMirror for AIX" "Running Trial CoD request of ${roha_query.trial.mem.activated} GB for ${roha_query.trial.mem.days_left} days remaining." fi if [[ ${roha_query.trial.cpu.state} == "Running" ]] ; then logger -t "PowerHA SystemMirror for AIX" "Running Trial CoD request of ${roha_query.trial.cpu.activated} CPU(s) for ${roha_query.trial.cpu.days_left} days remaining." fi if (( ${roha_query.onoff.mem.unreturned} > 0.00 )) ; then logger -t "PowerHA SystemMirror for AIX" "Unreturned On/Off CoD ${roha_query.onoff.mem.unreturned} GB." fi if (( ${roha_query.onoff.cpu.unreturned} > 0.00 )) ; then logger -t "PowerHA SystemMirror for AIX" "Unreturned On/Off CoD ${roha_query.onoff.cpu.unreturned} CPU(s)." fi return $RC_SUCCESS } # End of "cl_query_roha_post_compute()" NN_TYPkbet=========== : Notify user. #======================================================= if [[ ${roha_query.trial.mem.state} == "Running" ]] ; then logger -t "PowerHA SystemMirror for AIX" "Running Trial CoD request of ${roha_query.trial.mem.activated} GB for ${roha_query.trial.mem.days_left} days remaining." fi if [[ ${roha_query.trial.cpu.state} == "Running" ]] ; then logger -t "PowerHA SystemMirror for AIX" "Running Trial CoD request of ${roha_query.trial.cpu.activated} CPU(s) for ${roha_query.trial.cpu.days_left} days remaining." fi if (( ${roha_query.onoff.mem.unreturned} > 0.00 )) ; then logger -t "PowerHA SystemMirror for AIX" "Unreturned On/Off CoD ${roha_query.onoff.mem.unreturned} GB." fi if (( ${roha_query.onoff.cpu.unreturned} > 0.00 )) ; then logger -t "PowerHA SystemMirror for AIX" "Unreturned On/Off CoD ${roha_query.onoff.cpu.unreturned} CPU(s)." fi return $RC_SUCCESS