From f82e464df7c017e83776eb22d5f181196b2f44dc Mon Sep 17 00:00:00 2001 From: Tore19 <289649077@qq.com> Date: Tue, 15 Sep 2020 22:14:12 +0800 Subject: [PATCH] Added Stafi Network logos & endpoints (#3683) * Added Stafi Network logos & endpoints * Update index.ts * Update index.ts * Update index.ts * Update index.ts --- packages/apps-config/src/api/spec/index.ts | 2 ++ packages/apps-config/src/api/spec/stafi.ts | 11 +++++++++++ packages/apps-config/src/settings/endpoints.ts | 5 +++++ packages/apps-config/src/settings/ss58.ts | 5 +++++ packages/apps-config/src/ui/general/index.ts | 2 ++ packages/apps-config/src/ui/logos/index.ts | 4 ++++ .../apps-config/src/ui/logos/nodes/stafi.png | Bin 0 -> 19002 bytes 7 files changed, 29 insertions(+) create mode 100644 packages/apps-config/src/api/spec/stafi.ts create mode 100644 packages/apps-config/src/ui/logos/nodes/stafi.png diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 36061db625..b3f32305b5 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -19,6 +19,7 @@ import nodle from './nodle'; import plasm from './plasm'; import robonomics from './robonomics'; import stablePoc from './stable-poc'; +import stafi from './stafi'; import subsocialNode from './subsocial'; export default { @@ -42,5 +43,6 @@ export default { robonomics, 'stable-poc': stablePoc, stable_poc: stablePoc, + stafi, subsocial: subsocialNode }; diff --git a/packages/apps-config/src/api/spec/stafi.ts b/packages/apps-config/src/api/spec/stafi.ts new file mode 100644 index 0000000000..8556c23f71 --- /dev/null +++ b/packages/apps-config/src/api/spec/stafi.ts @@ -0,0 +1,11 @@ +// Copyright 2017-2020 @polkadot/apps-config authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +// structs need to be in order +/* eslint-disable sort-keys */ + +export default { + Address: 'AccountId', + LookupSource: 'AccountId' +}; diff --git a/packages/apps-config/src/settings/endpoints.ts b/packages/apps-config/src/settings/endpoints.ts index 34689724dc..49ae5acd24 100644 --- a/packages/apps-config/src/settings/endpoints.ts +++ b/packages/apps-config/src/settings/endpoints.ts @@ -116,6 +116,11 @@ function createLiveNetworks (t: TFunction): LinkOption[] { text: t('rpc.plasm', 'Plasm (Plasm Mainnet, hosted by Stake Technologies)', { ns: 'apps-config' }), value: 'wss://rpc.plasmnet.io/' }, + { + info: 'stafi', + text: t('rpc.stafi', 'Stafi (Stafi Mainnet, hosted by Stafi Foundation)', { ns: 'apps-config' }), + value: 'wss://mainnet-rpc.stafi.io' + }, { info: 'subsocial', text: t('rpc.subsocial', 'Subsocial (Subsocial Network, hosted by DappForce)', { ns: 'apps-config' }), diff --git a/packages/apps-config/src/settings/ss58.ts b/packages/apps-config/src/settings/ss58.ts index 536c3cc8b3..7ae2ba3ac3 100644 --- a/packages/apps-config/src/settings/ss58.ts +++ b/packages/apps-config/src/settings/ss58.ts @@ -48,6 +48,11 @@ export default function create (t: TFunction): Option[] { text: t('ss58.plasm', 'Plasm (live)', { ns: 'apps-config' }), value: 5 }, + { + info: 'stafi', + text: t('ss58.stafi', 'Stafi (live)', { ns: 'apps-config' }), + value: 20 + }, { info: 'subsocial', text: t('ss58.subsocial', 'Subsocial (live)', { ns: 'apps-config' }), diff --git a/packages/apps-config/src/ui/general/index.ts b/packages/apps-config/src/ui/general/index.ts index 908c7379ae..191c47de75 100644 --- a/packages/apps-config/src/ui/general/index.ts +++ b/packages/apps-config/src/ui/general/index.ts @@ -29,6 +29,7 @@ const nodeCentrifuge = '#fcc367'; const nodeEdgeware = '#0a95df'; const nodeNodle = '#1ab394'; const nodeKilt = '#eb5b2a'; +const nodeStafi = '#00F3AB'; const nodeSubsocial = '#b9018c'; // overrides based on the actual matched chain name @@ -65,6 +66,7 @@ const nodeColors: Record = [ ['edgeware node', nodeEdgeware], ['kilt node', nodeKilt], ['nodle chain node', nodeNodle], + ['Stafi node', nodeStafi], ['subsocial node', nodeSubsocial] // ['node template', emptyColor], // ['parity polkadot', emptyColor], diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index cf07acc1ce..245dfae014 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -32,6 +32,7 @@ import nodePlasm from './nodes/plasm.png'; import nodePolkadot from './nodes/polkadot-circle.svg'; import nodePolkadotJs from './nodes/polkadot-js.svg'; import nodeRobonomics from './nodes/robonomics.svg'; +import nodeStafi from './nodes/stafi.png'; import nodeSubsocial from './nodes/subsocial.svg'; import nodeSubstrate from './nodes/substrate-hexagon.svg'; @@ -89,6 +90,8 @@ const nodeLogos: Record = [ ['Plasm Node', nodePlasm], ['phala-substrate-node', nodePhala], ['polkadot-js', nodePolkadotJs], + ['Stafi Node', nodeStafi], + ['Stafi', nodeStafi], ['subsocial-node', nodeSubsocial], ['substrate-node', nodeSubstrate] ].reduce((logos, [node, logo]): Record => ({ @@ -124,6 +127,7 @@ const namedLogos: Record = { rococoTick: chainRococoTick, rococoTrack: chainRococoTrack, rococoTrick: chainRococoTrick, + stafi: nodeStafi, subsocial: nodeSubsocial, substrate: nodeSubstrate, westend: nodePolkadot diff --git a/packages/apps-config/src/ui/logos/nodes/stafi.png b/packages/apps-config/src/ui/logos/nodes/stafi.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8620c4279c824a6ce0229b10615de6f1402ac2 GIT binary patch literal 19002 zcmXtAWmr^Qv_2CsLw7eQAR&!3LnG3lq%=skg5=O$(hbr|DiR_vG@?j@pfE#8mmm#u z`R;x0kMr#FYwvURv-Vo=de^&loUXPS5k5UW002af)s^)D0Ce{X0^qoJgSmIL!`*=A zsczx}00iX!J)p_OkZS;71s*Fa82T^l1;Yv$2Qov(_SxC)=_;D!2LveUY!=PWmm^an zfjDmA*n7!*nu2tir0li~t|&WAQ8-%$Y7iz@B|qqg>4w1MY!iD>VNH+U*b6dLHdsXM zZ!eiRIka-VnmI7qb^b)}@cF7U;2;ovRrGfF=`59y6qQ&W3JtS;pfaU(Zb~yf8X)G3 zs{b|HJ!j))JAN>R=tjq#hB*qTU70sGC|!j#7b{%dZ?;sqO0t>`GMX9fE1S)`aw zk~{gwviX9gv^$U_7|YdcsdQ!Jh$Y>FO>~j%5sb@`?L|x!Q6%P$n)1ntcb*TUtPbkL zoS_(z60`?$Oj#~J4qGotIavJsVSCWWW@S}9Tik%dsq?WoU))4lBw-|N(7oKLpCU{j zwK6$AQN)H-IR{`piIB}rXss_~)Bk#&9It=-En z54EKmVp^!H8dO3^BuRD!QSGjZSFg7HsmriB5)REN-?u1xze-Utf`c4R<~dXuyh6Mv zq!rs#y}v#c;dOq+V>(@4_0kkC&48I9=!s)VPt58cxE-z6$=T4j0i*We+;Rr)DuH!` z=C47fa@-o#Q9dcRtBHN34x{_H3kl){hc~Cmc{iH}A2waY;g&BUp<_3-#lM12!~(`$ zPRHk>v1(b837`W!x9!y1#M5I(bRtKL@jF>c5w$>h4+BAB;zs6rye@IaKK(wgpuM#> z@1=CEBqZ0LeuM<4=)7i}BuT`dT>X?InNU>pK24zu6g{MEaXXCzQ4U2D;O+~#+YEo+ zTA0@T_`2}2-S1h_0=6j7?dqi)m%svLrG*-C%(AMamb@7V*uXp=N%!wg?NHHSm>TIJb@IU#E^2k%+wR@F;>=9DrbU9&G zJX&RZ269O6%vW{h?c{~Z(d2L0LhdaQR|P*8Tp>Qt`zcQ>+XySY;a*_*09*9wm9FYw zsyAxr@sL+6`Kd6?bYC|n)jo~%Wn#Y5XHQ1qlbZTr;JFJW)pXP<-K)CHS#@$WL;D)f zk`s#(2|fS3QviPP>F9FXbKHb`lV#%(?eek%OI)hOfByPOd(dQ-8Fd<90F^(ajEp^A zxWy%%)X&W*>B>19cVydZR7wFGR;|`fB7M(YDRR!|f9L z0MbBe2S6Rw~?Cd9JoNQn@ulf30{@2{Cv%dHQVp+eWyxnUIDU6~x4 zCFxaovQ|bAylCl6z8NBn$?wOUNw3dmqRgEXvz|1us7IxIvb%dsIV*S`@Oneh{`8={-8{;+IiPlZOc=PcelGEKkTB4ae1* z!WW;PQA^M^+W==0-0xxDO;pKMUKhmA`0%*8@M7gcR|HBNn~65Rl6J57!)_FQk^N+h zDCV%0pB{u8LZrh5wP2W{7^nMc54-6@dtU>X{tczzla1HognhJbo6W78P8>?t8a_}N zGokpYh>+PKL?9Kh&DkeCj_K9Yd7r(JWb-cG4TaS>1tM80$93m(1;uZ{Qk%3P@+^Pe zPag6zimpvT%2FgfPc|$|I$1i#_?PXNB!Ub6I(cPKmuD!yeL}CMwQ&(Jq8cgYds%ka z6h`nbT_UvnK3Bu?oS;J0tb)=ue0LgCHGH_?v)+emcTKx9v4R_-y7o@Y&eB8amv5LN z@p*P0;+M;nQvcz{dJ0SW5UOMRL_QcZ*y`tyn2~JsTbayI&bN925}VQF@n7Q=+zKu? zRo?|n;+?%-og1Y>@GWnTbW$yOa-1E4loH8w5obQlMp231wGU-PcW`GNP!GV3__q4_ zB_lq;D-#@FwT;?R-2bvShuW51mhU{w=ZMVccx3?T3OW~GQ2R9o(;#4EPt(ME=bpRw zG4qdZA}Hi#-GnmJ*DDd*(yRu(0S42dgY4?AP$rNDL4Yv@IVg0B|FBlm&0U{XU7}2~ zcC&`q$vCs?b4SOr?-2UM=RelS80mi`uv2FLAm1sIhR^r=g6CuV;VRR3t}0iq%=ZWl za7*Kh>P$X5JXU(&|7k7+wvwew--2Vxj#sb~v%(2?s2`|c1w!8%!_(idGfbWbcMugR zS-qYNr$OGtaUf?s0n@I>7lQS^V`le=>h-g%ch{Xk>trD(#~kCu@)esQ#lhR(JT3Qo zroenZ6x$&;dG1AHYLMeIx#%O6!;f4>?O}5Ce8>UR#nNl5M)+${eD{( zCYMM4g;KLTuW?xoDU#}tlb+zkla0#!YPTB_+=kJ7O%rvES`IA)fXRy zd*En9DRAn$AX1OY42ma&O!%`bb{WKCMtm-2?GMpPO zPDqa*s=yH^O8CnkWa-(vnoT6*ZKP;R)`zo%KcKG{k0W79@j+47@yCJS6>Tv~6xN!S zNyQ{s7@ggrSlxfxT*e%a=Ncxoe==W}!YKkNa%yj}zs5_R{WcQRM41{WK1JNcEajwD zbm?uxDxp49x$`G2gWHfrqmnNAK2cEMuAH%|5zYSB%1<*Vs^{E{qdYM@5i7XAa{Aa>yZya0SlF7_;emudnaos@0tbpctfU|M8_5!RbNaO* zf2dJtLA>t2g=gl}#>ciuEFQCmDHqmh?)hl~8o|Vv7cn<6uanRQfthCeBMroxk^yj= zKNaPntXn`t$N&_%W;=KBU_r;{7BncJ6VmR&MqaXony-~26`P!<4x+{b;JvgV?-=$D zvIhnHh@?T$c$jU3%XGEJ!RB8Y!Rlq}f(JBxDYF-Wj*4FQeW}k&dI$3b52nh!&-#uRG#JxT4|jS{hVB^oo%Sfa{5t1Tr(rkdQb=`_e|r} zzGVct@{TT-lMB70q}1d*`{0uQ%3TR6)9qVUI(fc+D$ATYpv)GI$9ErA1;Kx|4rTv! zZp-=ADc1LF$GzY3Zm~%`e;$b0r?wih)kns*<}c~w3Ag(tHQDP#-wBDUIzimxH`7LC zy}!vC+XKIb4^9lPh?`A_f9XuuzA*$;eOpy&M<0Fd&3UqEy#Myy**mDofaQ$8#`PZy zOS$IErsrpjlx2tFg>^JtPeM})`*dF-dSH*wtiC*4TB;LuY1*dMVs1VTA@3^jba+Nw z-Yvl;-{G}fULmG3u|3+E_%7VlXSz>}dvqu9Ro@h( zV;H06dbrv~u?3QuD^f7=C~lWAj>O!dW8dX?9h~o{^Y|<+%8BARlUHhaXJ=H>2QLQE z3$yN8@-~((gUeU3^M|G}51Xd%eSSdJC;4ElJ{FFs(6;&$l2Dub?zl9<#gCU@!DHr8^{At`9t!DZU#k#X6h`VWILA-SKv-O!k>y2}sIhfd+UtUTp1 zOMfV}loxa=>@rdlV=|R&8Gmr`9dg#IT~X1&phn?ba|ndz-W1FmNhq9ymNo3~g{O;M z4rId{&a!QsQ<&bC%C5|{mc>{XRs?;fmyF^MOHWhRSNzy-*t@znYmeQo2H?$Mbwiufvrl1CR#H9I$i*Ae4x zCkDJ#OehrSIY|{}dB_ zkhc#MyEt~(Z||8{<8;}65VMj|I!uh@!n5CMc5!4Y8t`!r&zzKEjJKzJs>73JC#@Si zAJqKG*VIGj!OqPoBusk?Z>~r~M(X$UGA)++^00)$uHU0;75R7);2i;>wh|A{Ug!|s z$bD?EfQ7$BqR=cK^G*v=3^WtDGP;~LTXU0t08`|y6Q)gjPk}i!|9)5(vmEP5N>=p} z$sisX@ORQcMM zkao->O4aznA)|wbR9moxMd2nQ?z`~`Cz>D&{%`CxJJQ%G&h`!kFOnxh?)Wi16d zZ#}dsW%SW{;P;F7Si~$IxfHsxBv&??=4QAA>H;aq{CUD5n27 zHW%`|*w?w;V3hEB^v_VXLj1NQdpL}-hnU-L2s7s3C4oB6AG?PrsfA{sK~^t{8}l~4 z55~&l-Y6H|xC6$I#KWAKM`SX-|u9~t1oTRsV z)`X}5o#66AH!#b}3I{+Yk-7YRJ=DevyiF|b3(51#k0>L`Co_H~t8mQ0pSCoU8M5P6 z@%?5hasL~#o62zE{qFOSASj?r{00n10d1l3K4_J;)5HgFCuzUI0M5zbiJ00Z^u;@a zqX%FB4rLcJJ(VN%Xh7ASunv;>w;6uK={2nDKb1L}hMqXc`37>AeIW*D!xV_&zdt|I zyboy8`c7&}VU06LR6WbtypY0Gz%bdt$#*er9E9U77W#@W2RmULg7HJhYkk+8IO#}k z9bEy3W<*WXH-&YZjo@9orIW?F(>g$fSv}i`kzmD+-+rZ|@N_Z+-GNu6GD!ORtT1w~ z^>xxuIC4df!l=kj1o3V6uoH>-XceJVYRp=+%`K;tswHaA3|qf`Ofw~5N_TS;6e1C@ z_|#^*kMG{@qE*uM0RJo7SYKd0;jbr-)sng9WYf3Kw;)t#ozFj{A?n6~utzS*mymf4 zyqZwM0pE+AfF>Tk61nBkT8?=UJD-Rk%LINF%iGU%o;A)0yJSr+%!CnB!097D~BIi2$YqUy;%myBLyiYHxVGq5?Agl2ieFKkp2_o!3x`W%G#mnlqG8v!f}5({C)N#tk?eg@WdCALj9ReUyFR?H4YOJY zx)Rxj-y-M2>GD%-$CfDlE`McM{yN{lc|ECv<9v0r%|A}?u$EChj15ziokq*fgh=ED z_Rgmo(#0*)7=iqYi)OK{x2rre6Cc~beE1Sysc`N=E5Xag`Q&216tWZXf^NrsE{)uC zt4&%}8#*W1pmEN`3fefNjx}V)_4o*K-W$>DBa5o7Cw5REaL2S3`gHlb4mHjfW{(|a z1$|^Qd3?D_HdeoRH`{dBAY?{(_PVv0s}hgn@N%kuJyET9pI=1Qy&ct!?S!BGL_71_KD z6&Y5h{Wnsy<}w!#g8vS#r#jyh@=8SDL&LKem1*_aYfq93GyHWZ(iey(K@z9?$L~R# zFOR^Yi!zBR;Ap4w$`72UIg{^x)piG(E6MT(HOBN&KWR6MPyv+ZlV+%9ogSB1e<{yoSM;?jNJ%vLAbu577@1fB+0UQ$uV~-(mnetEG>l%FjqP#=cmCCE~ z#}lx92GP}do@63me!WCQ9!J+djCfOtr5 zzs2Vr8+NRMX8cKqkC9L(($L7S^m}(Rx%i~uatv8$(R<&Ou~&3qC1mHnr29{BJPX5E zRq>8D?&0ccxT_7*pVfUFCM7}aCIG-Q`?zc?&`tBbb5+qoIw!T`C{OU4-+Ui*`KU-f z#{}BFClh-W9R+`r{C3eM?2M&{zotZ)?>(sE2}sq$_`U@+GVP0;Nz!B0r`4Bh8Bkj% zg89QRoNVZ-YRu%qJl?`8;dMt5%ii-&`!c~g1_D~@l~NoX>3zgJo$-hxv0GKQk}kd# z0kXc8-lF517`z3)fr^4~9yx{d{Gjb}fNCj>*^HUeqSP+8{(MmEcGxhY9eQ>c3%5>= zGfXbMSczoNzT4aiO3=I;aq^eQ5v0$uyn3SbZRks9xxadsG{adD8T~Xl^;;K@LvZMh zxE%ILN}*CWSHQJF*~|uDo`|R=JJ0!P%{B~5T=M;t2xxGFg>Qy$;yJ*IbVaKkQe~HB zolJsKrQH4CTTNL^E*f8|Pz1?E(0zN}+IIbj0f{5r{zo|ZbEW+KqW za?+<)Dw6#YCn;!>?b=hzsO4@NxN9Y%#8Htnz*Erio;2ji+hd8-qGQQtRTw%z5bE3W zWxLW}?YR?Rh_jMNQL?pl?Tlp=A11k|9k~ugMhDSu?DU?mns3lfSMcgeR-S$a^xWmP z)gHw&L3=?+;|;c~cc%}=%eBytArCp7kR~i11nc70>cVB!svYEs_e{>Q+{~w?MqHQj z+#H9I5&hMW*X6xKORwGA9fmG+pwJ5QSM*!~xTpnQ7rZfRw_YrcxU8*4I=N=^12Ve} zNFSD46$_!fIU~Lro&|^33MHYs37m->GJ#p?`o}egZ-u3v`eILic1p0b*1q-Gb9$BF zm#OAm&&EF7LL^NToA(P3`|=nOe*0@VbZJvK{sZBt>9n=`24R&Z#Av;`g!>p& z$>f93A_{#fJA*7JXXQ`p0ZO(@u&ooJ(`KU>bV*$g1C)s12vD~}M)JX^VSQ|N^>OdD zsr?Sl1K|M1lI4Ew5BdrJ68k_^`~cz|Xe33LE?<({Qtko3<>d8`{K*%fW>j)O8Vw4dOM~lz& ziH97Oe%Fobep6Q#>U7wy#9slNHj)Bhl~&v`1E=qKyn?H`&%p8h>xiwHWO;0*KN)Er zwvTk2{{328AjJ1LRbdKvh?P(9#5NtOwN&=155g(u>A(Bo-d?_%lL0$@u}NZqN+F`~ z1ZhfXfkIH@j=dONkHX{BWx&sxL9Hf)SAdGz!^OZ#e!$#stYQRgepf4@oujYFUl4R5yH$Go{(YEw^wgFD zSy|shY}884(Pp+>b>?4m35h|%ei1$2I}uV95P~B!7&Jfz%Kfn7*~HEoM72=}tIOKo zH)TBEw#UgcT&sF$;|rGNUM9Rw%>5|C(d}%g8!iOKAtorbUTZV^@%H6fb3Z6@QDosq z@G8C5xaXl|d1^3X9R z=W~RAK8kio2%WZqmK^sfPTJ6gnZID=o)wmSkc&%L3{F%*{P{8X`m-S2AwOek+rP&y zgOi=_^}w~r(cSrTu7y#
    3{7{xZ7T3Xi4U|YY!%|kQKe;_E|YTp6N2UHK+AfAJ4 zPa1K{1j$I}kl6>O{CkC;5<$i?EUb62rx6z8d4X-B|Auv$K7U^Qmr%#WGig2jof;V( zJM(Vp-vuY{zgg|~v*v&t-+iGK6+{j6XEnC%D+$MvKkK2X^D&VO7Atj`E!!pW)Y!$d z7@^9llwtWLsv4R-@1FxwqPeH;6fyP9r3^h&t&ov9-Tx0r>|8Z(@&P1qF+V%T-nY;J zeK_E`<*y2YM`lS2(2^I7U|k|LplEgyg@zIn%xl8$zdVq$6C2CbT8OY+r>2{3>Mwl8Ezb1<6fA`fGX-kVk?C@JmlIh3yn%#0!HfI^4?-oCqLYG_JoC1ES=r? zhZ$p)#)BCKB)n#h-$QXpw@^d~c3yxGh-53_52!1?ZAYS}m|&zL-79I>Q&=}+bd;59 z2_lM4iXWcvB+KbDp-wTA-<4$46UUD|Rp=|zi-mkiHluNqJJ)e60w6!{2@t_>p-Y3U zU^Mw(B|Jecj#Ou8JUw;qShksH_gZ0C&;>~WNvt_#f06C-QMa!D_0U!AtZ$%+andy- z!2SLWx0WXf0*xyJomL}83WDPx=b!^%HtL=4P{N5EsI`k43Fi;dxWBpd;Qz_w@=sey~D>) z6n9U?iq8dd-U73%X-xx?U_>%nx(F)rV&mm^ac!Pn@oGL4v<( zFXb0gILN(-^T5dN?q8Xe7yY1^pNvxu zIg7^L(R2;3fx@^~QMT0)!WNzB&EnZV)pOwRWEh`Vle6OP!9eQz$B|I1hForL8SBY)On10@M5`tLxE;4;(hmo@aZa;UJ@3W&n*a z>l0=y7|~5jHyeAnHO;{c6nO5{tc)}lv6Uc<0udbluLZz4%MYM%dMTb`crN4%SKoUF ztPj8=XEEqSwo0*|=}J1E&(GhKes`W0Dkx;>vO90X<#$qKk&|P4GQ-%P=`>2A;NAPrH& zhh+_hSz{5Bp9JgQDoVdC6yMKiRK5Lcwql2RjkAFbHM__!9612o%Z07nx|RV#dS~Gz z)EHD1=yd(5jJLhncCCi$ri*zkB zvw`eyXmNhl^Yw zv$a>~m~ZuSxx&buXFrs|DYedU#wiS)jMfy?Q>{Qty9u64hTd zS!WtYbK(MXW*iomE$FBDR}YR3bTEJg(d8nj(VETw5b7pHrUDPI%)_?B5=m%BN*IXYvF*B;-$)2Rw-gB$ap|fVAmrv zj&X6iFqy-9_zDNVtoF{2JxmpPfIOqC(EbJw0ShQfP2>gh(+pAMfjw>D*@aCYuo;Lx zdVxOtbQCBJrqYJ?w-Teo_#!=ss3n7OmBm$3iXC>lXLH1kk+Mu>G>;3urYS)Zk{e3j zhffKe%an!qa)=vGOz%GL3e@8t1Nf#vCp|%eJYbt)IPw#2g1h{pVgc%eqrYY5FPlg; zDZ%?(55J6Ah;PO-{Wge|Fh*ChNs_KtFi~r^{5aW*8`YHr>`I2+0N~rcF;>Q0-=`zknU)gm-E)E&a$QF@`HDiSE$St*o-%frK#E*zP zCvwr3^|WN9G)#e?5|Z}qa~rkjrsU5r8W>(NZ`0rW zs{@-lNNQuNH{4Nq{^w&+y2a1qdt90>NtI?|s3ykoQJQw;I2HFVY^VjH)2_TpQU>cD zv&7eCo&bq+3u`PCEYyUHL=hRqaY6O&1xQReKGnfTiXG>?(F563U?f<{dv<#iGgJKs zto#e$8heyVL(pzIpM| zHUbs#D4HDPX)Wb=mNq3Oc2XT3k4!WPv?o(Wh+A3B6?tuXtZt|%us~s+Z!PV6S|$1H zQWg`$-#BN(9?}bQq;Bx;o}7qXq};A#28XD7!qwS^p`|f#@t&nttOkT#`_0x*Aq7r@ zkNM{KGa_-$NEX%FiYtny&2c_p(06k-TEZgMX6X3>jN#n7UH;!vr6zYZRASW~=5E$| zt_S2LBBHuLyU6hu{h})y9^3`0yL-OV(Ur8{v$3WQuM5&x!PLLiLb^&50auvk0|}&L zvS~FN6OfII%qsQ_?i`yVCao|efPO=&A=~jUqW5LIyEB#clf)H+6uJC+l9ZXXLChaz zGbplnoqkBT7GEDFf*k-1Tghz};8O!Gb3v&_6qZ139YkP&1`MUAKP2*BOdYGZ@-7q$ zp1;NM!~J_eG#UG4KpvMjW?+joO(~18@EB#+@(|m~Rsp(xk#{{)HlX7aO}V}>bq_Sm z1Zw0#DdGf+PzN6ul|x8``O4MPovb(Q+4Pqo{`gU%d|p`egv(;*H3n`vO8Dn=V}O&9 z(8zxu*CS>b>bi24`v;Yjr<(jPUZ4)qfg zSVx~vkAz1@RbOv5M9_4+#1gOqdjVg)jTVb4D93Az54XPY;)b5fzIQt7y<#+fF!ymT z&Z&0=O{3|s5L|Eh0&q1THB4yLdS+EB?`ks@W(UQ%6S#fE&ec~n?L5#%P&5BX`_k?dkx-TNhm7>4CUI;Lsgr9#M(Pxcc+V??lBFcnP>HA z0uuOS4Bs3nyyXb->2Ueb#;! zIJdwV|KwA_Y4%&yeJZe25x~Xy6)@|3ezRB~*A_HSfsiQx19&hwfr5TrI-rCsgjg?i zDEDV_Sks;rpaE)&c6mDy{@PA7pZgAg^&FntcQJxmMr#mjjiDCSys=!+K9VGhEw;rz z#X+=hbelC>(ck$Dk>u|?{k~#6qiCX-U#}v_h+f|5??{=&X&+unvtI8WE-cOtTmE)U z3b<8eycOvs?ql-T(*yp#YCizG+>sIkhK}ct5LD475aUvqH2e|^z(ApuK9FUXMQIY7 zaI%M9e|Dyg4W=fpXzckIn87@B$aZ6--!ZXOlM?Qm3dCF^DR*m}EB?yWl!r7|cWN%d z3|H~TM2YgHfBmFsWQrzai9s7N4+lwPHtB!-_Dj3tOtma%B#C1k8jp4=r5PR2Wep{R z1Xz;u-{)s~?@&@Ftfn9>r5q2z(_|l^&6qHywud*Orih8YyFVQ+Uh9u*(*Cld?8VOa zg?Lr(3U9``_7y)u%=uK88Z%!2QIAq!H_ih4L{<`Pv|pUEQ#ptH{r835@SL-vuq%{5 zBuNh&(kZrlIW-RHl6N=`D-CC}hPWq^SF&8@GVMd=dBq!FX8XZ^s{b79J`iP6$ODo= z;{oSbWQ3zut65T@K>sm(NahtC=TYM8zwuvsw6fvD5i|)5PTCjLcjRYN-iuM55yA+b zhoDmfLMxA7p#H?uv`tuO)@L9>5Nz3Q@PBwJYL=g=@YhWB>c+a3{3Y=I^^&I zL8FPk1?1G1gjnLn=Q?PdiQ)XRUugU+tbo{8@_!TIi8X%k-}L?|^pm z3PlWJC)vOG^WNDI`{yR=n6xDw3(3+u@%l4ke|>6*@%-WjeFbpeyWBe8(21_D7U%&GH1F{ZqJ*4P#y>GC@wszEIP8B;qfS1b6Gip;1laNj0mg@8g zj66vV#dYnv&q#t?exwWYWOpOTsz8D2dSKG@FW&+@-NpJ}a91BN6Aki*zkRQir49)C zF&sW>992u(D@!dQ#6%R1@K z%_*9bh-4S{&dKRZF?_uA#!3P7)(SWZO+_62_h(zapGi<^ynZ+-IO{9`nrs+9r+G`v z3M?WuTqI1?LL2q;!(k7)WrJUa^gZ&HZBCSg1@9y8mo!MTN@TD?>VU{%(+Cn7t*J}0Wft1eq=7)DL0DXMVpWmmas*5u~Phqh0 zJT1KB5jc{CTKKk-3KA2w7QjmPJgd;=5Mk@Q$0?J~9BqMND{ZbX5^#K$K#RP|jqnPO zD1lMd6OopyUT=$g^YeS}xo-K~F1UYPrsM|Tbps#37)QX95Or{b>7Hc7k61QfM47YB zgtdSS!=mL%W-OLue_>0m12w1z_ z(*+af7*A)r1dG{gz8*BRqh~|<*z5IH71$yyUl%HxfDkRa0J3UIshio=GLE*86yNG0 zl3GVcq5Dv1PMli|Ovm9lv0tupZPS$ak7|0s?(Nj zlVvz2GfLbopGpwWcnN7nrWVHbxsLi;-RCHgQi>pPgn@BPFNWwhn60G#o;6JkOzv1e z2HPOJM%XWn-z7w2Us_%Ht0an7JfM9MSyJ4n!1iuz3TTC^(HAR|=Jjs!(27b1+&rCq zcxD-^=ZZm%N!SVf8HMP@G_49caTU?)c4w3P!5kAC5{EW1fm0JreSiOi)KL7UaFhX8 z0a{N>eEzF%HQmaWlTMyLUzX`S7#N=i@~~&-h><%4{-{3?WqUD%d;5D4tluao2;>^*{RGZ(YIO{uj)Cx{Plc~#b#N8{yx2PS z>rhiHi`DfqR2c*cC#|e13vD#Xf~;qCh>wI0x4f9>>(nM1f=MA`C+eZ;Zt?WmKbx&2 z#lOUR;umVf5I|X5?^CmbS~MCg+Bdr!wm(vnb|hD2R?pWEer^-RNW8&CSR&afdU=CyDSDUkZMQ_N%MOzpVK5t&_%>qF!<) z@52h*Ww7+hSS#U=ZJMr`45cK;E@QaY-;f*w+BK1H8>Nnmq1|Q+UVKg$b5q>->TV)% z-SCOXblm=3XM}(~z(yf@00jX|W8mK1@|1I@68*HRwwd?q)%QQ(tUo@Qly6r0I z-#rX&`9|Gy<}b$PG>r0+o4u=to@6rIQ2(>qCnV)xy8TD+gU+jG4u=ATv;yv;brYw> z%MW7zm7?AW?_9mml7rm)VHc@ONQjKW&Nc3LN9O7Y=YDTtLi_}@k&oYlYVbC3Pq^GEVfQ;7{~?guP*n znU?Vre=Xoj3P*-g3qARqDPe=sk|KM(w$sSIIzdR`gO-^l5zNs1XG~T2zphIzi$72OA|5LV;05kl}#zeQegSEDtVPR z@U;NHJI|fiK)6P1xS%KW1GTji=1)tE;~}?%K}Ts}xZs>e@4qTD=`XLcMf@oe?RU~= zPwcPEN}bq*uMQegq&U8|a>)W$3vSK5bA&mJ`XK6}N;;v(WR!bPI9gCj((6>+Gv@0wav(Q5QmVw+7VDDYwJzT;Ga9)@;Jnx>j{?clz>18~AyF(s%qSzra zOdtw@!A3FOlNcitKu3#Fu~FrE{gm@Bmq5n*$2v_P`aKrfF1_7$kbbgm>+_2DH>g?l zjRw1T!U5?$E2}$VJa`N0YRFjFvf6z_WzNFVxz8gLQ@>1dMy@4QiT87e?&gKg+Oy^g zVn7fS%Sew1kwHsFE(!fqA@6ApL#$aLsz?~NyL!|3#UMqsW~JGkfTN*YcvD%N!>aUK+sD zV-1*epTY!{kZd`pcsNzkw9*9*hllQeNUz);oA{6c1h~byt#9Y{_Rz6gbgF|1)+U_0ZA4ov-Z}P6x zY7SvN+r(=I{*CKw{8~B>njEw5v?4@`E=}6VlrkWuF8jl)^F5|}F*kPqP~#zH)i(eX zOXsqZ$z_`ULl!r**zcSKH!RVq|4FM&|Cee6tvv5hmPm};NPfuD5&Ak_Y%ekbp6lpS zR6J+)9Ep#Ad3MM9SpEPoIicBnZF3H{PQPq#sr1PS2fr`Mepv4E1rnL10}P7#6kA+K zb!^MRg)I~=#71irpcFA!6~=HUoxe^KLW&3P^eHoNWx{lV)pJ?**wXq*hmaE|FpHrf z5ny+ch3ZH$>c`D{BV|5XrfBcbiU;K)GnnE)jc^mRBoIKZ-Ihi~U?O{BopnOV(&_c| zc6CSw%F4|qd}{evHKMP&*=WDy;3fR7kk7AsOYAxnt`Q%h3>DFpTArf=UTvim+#W>R zy4iBavLOG+Stsm}NMslh=--Gdd72rx#Yl-#(t#Z3R}I;Vn|mPDM}Tn?6W|lV+9O*o ziWE8h?8i($%){pk-!wyiGX1r1!viU*xYx;SdfD;&X;%t?H?Y}n)caL@iSCQ?agtnU zCE#lutCeUX-E8oE9Xk8R18#nvkoz)eVsfo}`aS*p7XPE0`;r5 z5hq>QkW#<;T~9%ez;!%M8xoPx@$34$bOnf#A}qRrX(@-#hhDV6A*EI2#la|APmRz@ zDu87jYqD`Nl#K1P>iwNtxfzCOQI?P11<2i&xUJ;%$p9EeB)~JH;MVgmK*#Ozr)W4v z-puY4efkc>y@%42D%WJSZWGGh80Lt4iHtkP4K=v=IEE93cCnd!)cRRqkb*5ra^XVz$N%mvx?;aP>8NwdqA3i z4Dpwx`^0>n@v5fc-`R5~>jdIF2U;NC^RL$$yP+o+5avcVU2) z{7WFAnt%4V#pI-7LgDRZlIS?M6&2kB_fyZhxLYe|c;wvN7;Qj;Yw0qUS`pc^+g<5s z!W=SlpQ^H>qE}-XC;|UH8>$`bq{fI6N^@WfZuw3uBRXD{ef{kCVX@`wo4RNG$$yEY zG`_2+;0m&Da>DF`mjNUh+)<(#pqT>hY-;Dsw9et^&JMC5ew}u&ojd^sz&z!GhVR74 z<+f4i19R7CceB5SkIG7bnG+MjlT~ulQB7?6#86awja{58f9S*5M0X93BPb&d zLJYp)Me3{CVakT0$6~)f!j8H3(i4&fpO;@}SIm7G65C9F6H+2&^p`5dkK6RO?%Ros z$y$b5zVl{FK*7U@aM*|_fh?y1vZ>a7K&O^fc-`y5N?z00AgymbkO*+&f*0cDtbu^A zZZwz87L##V5w(tu8Q(YkvdXIG5{uzo=#lM=cPs?}6}+deXP!N(XV>s1sP5_6ZQrxw z0`ia8zq*7)p8p=WD;hQxu&x8h9C#nXxec7U9wuL4Go(+jnC7SPV8`a;U^p?Wzc>hb zB+B+aD>EV%E7090%zt2fpJEcIOQe>)bt-tYO*gFf@s#AWQghRgBYT2F$tDaG!<7? z!A*99;m={qkc39|1e|Ca;{E`a{swmnao`iZV(9En%H+=TYJD22ol$P8Cece(TK1X& z&2$%o-G--Jf(Q|o%L^3|@Lqa~MA+c{%z@yIDIoQN{)3@08~?aVef7Ufd6rAtQXM-3 z*l|#3hC46Sr!T(&tw&>HY53FS6i9FL_Y*yIP+50&==naB=*t_>82*K{Q6_zL%;?&QqMCii)11yksz~ z05cL{SM5(YTcrd46_&z0q|A_$W8k#l_s)p>-y?LXVvS7$Xz&?pFPNN?5W!D@_l~d{ zyOXATm0UX?6C0eDxdogU!V++|xy8KbF9DW0Umg_EC@uC*j;E_513z}^xuTQ0FlzXc zp3;F^GH&+8MRXeu#jU$%mjQ+cfmCn%|ARf>;vD46tKir1*{`4M-_Se|N zonOzkHj5`UyE8TYBbV7)6Kbeb(k(WH z{4Q##=NCst&I1+^%4GGRU|Ij?!#DHr#)Yrg*MXaOUQ@xGKXPJuT^sKj_A=iYFCJ4r z2>LNOFWX8?5a(T?@QJz*k$4D>|7buZ3w#uvW8GW3`ScWgl65TyA23LNkdr*M6`Q8_ z&RHnr!zlS(FIu=isydWD`Yt79jbb_dnA4u0u+zYxF~i^YlOWO3Yv$ogAEBqDE83w- zQlR$WcCYMWgM$}tT`xKWo2$dzYMis_OAVJ}wWzwFtDw&l5rv59;SqI&yJgX}Z^k3F zf5EZM3tT(BPH)a!;xhDSo;=BEc|)4WTd8d&c7u}rG8q@dy>^;g`=|vJpVV29JnD{V z61hX?Vof=^Y*$uWl7#^NEqUl+HCrL_cZk@n#ps`ls>(K~ob$l>h2E-6DI29rer#80 zf(6n-TSN1|PnKQgIQ(e~&j_DB2B@|%CK4Me9yDMP&zk30C5j{A+aaKkmCdr1M=ZjjBo|VL6A3(Rb zTE-c*Z5V2{a7@F+pBuMI!&1s?5L&Gy-}sYQRJZh2yAzAf{|QNrJV~gavaGfGj@=@!y7xUrm7V2Z$}C6kje@=L{v&$O$Bw6SyekbPq}=Aa^Yoe@`fZ zjsJdl#;17)*mwzUoVZ$7YHR%0D`c2gI7{DA#Wrg9f91{ck&bCf0$Fx3ivYY z-=3UU2swi$&7LuEDNP4BOh8r!XpJOTBycvRNm?=z zkh_X{`YGD)(_H%Xq8|<84hW+{T1RP+{ zE)g!HIs%TMh;#ySSDx|X1B$Qn1KKac{vl!lQ6r6s5;PLn8|{DMXh1d)$z37+{6Vg< zhtYc(!;jYa<;g#s5@CBsmo1KfE@lE<+;>P9p{*~-nuz2>DR=o=dP$o41>^R^!R3&A z3~A6qS$fdZ%5YBC>x#?s9>B=ozFy^}BXgU({@1^j_bRd_)3+-Ugy% zM@IwtejUdZ=#v!!xl3&P{al&vW!BHn`deh!FO)V6Sb*&W>ba<36;~ms=@DddS3<~d z<^ua3N=Iim@COuh_4%f;r&O!0t<4r0g_6otwUs%6rD$&@jYOs=C6JClZlR|>k+E|Q zowJ<=H=^VN{rvE(%2f=q5Q+k{C@mAl()Pp@EpBS)X8evDM%pi<0l5XA`tUs)+VKIC z?gjx*R^tz%XR~I-JSqwoNIKz_O2aNa)xHC|F%O0u=Af4^ARU3+!>sS)eE&b#&)9|YX>M-P5Bn>d?xln95P6!t1uhs(&Z2>E z!s#Q(baVzF8bJA6AH@c^N`XuZ{G00=E`%TF`Xt}KD-=)d0?$rMBw5Frc|gn-o-w&9 z9UDkEbyyd1D3*p^f}gTVf#eNHkdH-#^wj@7asUgtXQyG#`~~)bB3CuB2lW(B9D*sU zJT|ZbdH;_*X@PVE{v!1Baeez=0;@D(cJ4sx`N?`sPcdaGS=+DXg-(5?MQgR$S~E1A zlo69DXezoD9tzD7A(et7{t)cIGx=zFZw(6ZwLv0AX+Sl>8HlynjTs<0#yH#5DWuS! zp9LpCs|CGWbCCoJtNqlE^36Mh#!FBAm(gBi6Uw4yJ+ILpib7l!rX<= z^TYN$K1c~=_nv>#f_U0pE#MqMEZsd4{rPk#4-t&O9$O}>1{Kw*XE4L>)0`atU9>L` zCo&Tq!#5gO=bj2Ox7n)18i@|-U5-Le%|kzX53U!X3qx}MrdpBq4U32Slo%WhR!~D2Za%DS}x)V@i`7 zQ;3<6l4}5I8LG86Czh?q~PU6@MSvggeL~io$_y^{Rp}y$DwP} z>bAh(G8l95=WD$bLDP-M|0^U5H;59xWv}F&yHk%`F@8{l6FUV<8vXsSSwVd<^Q*&QK z`+GpJLZ7WGVz!OqugR3w2()fvqYqM|juti)HEv41eYvV{MT~Yuqf?DwmH|5HaQ+(f z0Ejkrpc~CWJ#_&3ooiwI85XI~&8@8F&BA5k7@UX!cnS2R?H$BX^wY+eth*XvIOu!S zHt7BVhV6N6cA~RWofx_+wfO?=KcW2$+TTR`2(&|CGc(|G2O|b{kZ^5SM_w?Tz}HSL zxoQY6$S5kE6szhfC6q{E{X!K$#6cWFG|>TVs?(9NFQByK+tB_2+OMGfzjPukXMpK} zj)HR*0|ha2o&4nAke+$>YdWu+CR1_<*B+eI^Jw3L_BrU^FGl~iB^=L;$n}}vv%+V_ zp*_muRb=$3_POZi34D#@lFLUCLI-~E8K{L$8d@Xn%EADL5^tM;j4evpiN~OQ z5!yGReLvdkp