���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC footer.php000064400000003254146726735170006601 0ustar00WordPress | ConsultStreet theme by ThemeArile', 'consultstreet')); ?>
header.php000064400000001632146726735170006531 0ustar00 > >
search.php000064400000002535146726735170006551 0ustar00
'', 'next_text' => '' ) ); else : get_template_part( 'template-parts/content', 'none' ); endif; ?>
;?AIDATx]EҞz,K FD1&P13O<QL<p&Y_zLLLOxiq7ӱj4iҤI&M4i*m*ФI&M4iҤIwM4iҤI&M4iI&M4iҤI4iҤI&M4i]&M4iҤI&MkҤI&M4iҤ&M4iҤI&M4pפI&M4iҤI4iҤI&M4iI&M4iҤI& 5iҤI&M4iT@&M4iҤ6SVs?2VWO3hX]mx#Ʋuj*cxnteh1gU?t[o+:>xU:ѤI hTYۻݮF-Ư?3Ƨ(ڽ5k4BunmklƿF#6D͚j:aF!͛c/*hN?!lr"9$ Xc]5ޘ eb yf5yθɊ/Xq&Y]ŧ$&4LVT֟TQW4s^9;]zqӶt=̿co \\A"͊tϑf<4DDl_RIdI;9> e4>xHc2Afd[j{70ГLMNn(*ͩ4j|6Ď4hD7jD 3~S|BlǙ]4L{FC&ݬbΚjܹ Qg:!cVuuV94+PEQݞ|ϊ3ѬIIPPNN)Jn!EDD3Vhʅxסs5O U$S7(R$dϳ̈́Q=O9>c}?DC+D\=b?Zh_'F)R:{$tQ*T>RIѓsE!:}JI\A TTV~Rc Bgpe n yYFSQs8rj=hͷn̂? e7;|Uf]Ϳ[d}gU<@HgORɴNۢ͒E% (B \TQ*F_6|KVw̡xmf7$v\V%vQDEگV-íf+L XxlPJ(6JM0`dh0L6T2~Wأ=R5R0&?jj zE#!O 3bԙvtH>fq̐='ΰ̊g}l0nX"o)B;K*zu=d9XN<*(yJc2̮g6dHXB_ מ!K_b:LiWmiLQE,J6H aR'[&l9^l{;u$G$M[|C,xoPd. 'ڳ[80TqMU1V %.@H>bqMf%N=dx'!a,Y@:]h޻llԅd?L7]j"fDIX.B ?>!" Fu68}|[)# ʊs@_ȡ/X~8 l{OAy0*$cVF!Dbl(jH7daedӍϺHhPjiHѨsu* ޙ0dاD3h|`ɂF*(mw6 +톍M)}9KYlB;2T^Y |0Z)<锈#4&3FJ%jj&uU"AZ0˨Yk-E@2eރ%2X+{Ά/ޓ`j}ձav2bf+ S %=Ux:u[jwhD@2Щ-ֿŒ8E݌8nn>UvU̿Mic*'SxD &W*>u>PN^3-cʶ7hJ~!& ^!;Ebnpx;C{M!4Hb[Uib/3MoLĔChdg[ů*DUcA)ZB{Q$&%ƺ @``W (tn0LEvrn#OHfd>[LP/IMXeg0uL۰ uSB!<<5 i) -lF+y B?!l]%*}5ߗTe  ![ɱڂѓ SC0餘D9hC{+W4- yz Uy5-3DFfgOm+V.ʰ7m{ 5K,fv:j:ja{uuj2*vHcZA$xKώLN=E[5}hLV[RH7UD>;3H͜l,KO'9cȣ^'˳!NTMZ: 3xHs`g~)Eg;Qz_!E(#"V$G AuN8F`4I';lu}5LqHMI}jۙ#s 0nS@ݎ*ȏ)z-jx& 0e+N4aYA(_}fޢJ~MNf;^,4 ~@;* !1=~gڂ_ksj kI?21E4ѥȨ*5?)ѥ▗!+ᄑ[bUl b Oj]O 54%$v.̎?v3Z1Hv:ьC9ossk0O=clޑ)OXuo/2Ը3YGQRţ~'2k+^vJ+{8RzpMW{B4P%YZ4fVJUbQ1u`жx)kyw ڞӽh]8E#ϱt4=>dӜJ5u?9czo-Һ;{3rTIhĊ([j >9fͣ~ *ya*8U^SSd2?2r ?س ZS'}j{ Ķpl*4 SPY0F;#8X9^U(`hp駟mwp 41zxmsܣ Z! La5p53Kg&1< f@R7ۘE$"Ѩdcw*\[[y2Xcucc@'v:F?j7 U~gn n˺tB>Z vf冭e'U,: LtэDɢIwTLs (G(c$1YtF 1>}b ̘ޙW>I2,c [}"{(X)m~f`<lV(l/Zُ*5y5VT6˰j&Ѥ;{j*b]O0Ed˯.<0fW24aV{Nt8aTŏ=0;?1tEO&L\4&Yu=1kKl{z2XQ%KbW383\{ᅾF1͇m{اCl9fҖ=ʰ;SWہM2]aPHe9PW1ɍU9 q62(=?4NE[SSu-+ #bGR/#O{H?SeSqmgg<7PgYh`lĖMe `;h;Hm1+4qw8>l GbN7a b"pCm />[X5-PqE(S`taցEJdljD5-8-B"g[ 쩮x(#vƨ3] *0y(K^ny]ʄ̒Ǿ<CjMf{g9/(k '6PqyfcޯseJfWORZ3'+2F֬P 0{j*Q;2G4{/)1MOI0`D'ɍ~cM4i`۩kKV-3>zEȚ4 'myi*C*I&M4iҤISM4iҤI&M4pפI&M4iҤI4iҤI&M4iI&M4iҤI& 5iҤI&M4iҤ&M4iҤI&MkҤI&M4iҤIwM4iҤI&M4iI&M4iҤI4iҤI&M4i]&M4iҤIH~e($Ӌ*bV/.a`0a  c:!~_#x;\wlbhޚTXf,Kq*Cʁ 48;1+#`⼀?` @r;\IZfCI?d7?un\k-Aķ5FYHuL"Kc 4:(Zj'y6ʪ4,A@hx ~ѝW$kCDX/0\,dPpW`\BFQ<_dXS'`1ZNp$ш HAI@P"PV iѵ`uZ9JEYRLQr%Cͫuon!!'h<N8q:G$iը#M_t1j (P.n!H  \_.ɒaԂ&Y@_X]:ny.{yŊL9`dC6&`h^4("x(ĊZJ ,kV EgԌc\,&MeX^hI) 0 )Ea`x0IH;p󵗛!P! "t5*A/|-x! >LA7l`.MwXR== 6զWLiX׈!Mc f. CA~Xv0;`ly8qax_9g 5eºNh3߀cq'XAX2lnEcwFu`PpoGDIe t%MAu&-xL0 M)"TQIS&^0F2k,uK3j\j,bf >RO!N(;R!/IueX Ap%A:qP=R^*]&jĀDQJ5DX.X2:(w ;%۟DRg2_7h&&^B8 1zpR T&׊;fiC@QAfMxLWM4ؤ,H]%xIړDNGd ĉ'ăS: uUHDa "TBVA]cߠ-jh}o,cJ^BLkX%"ԗSkפJ]PG r^"G8dXژ~ ꊔjŗPt' eUinln^T\r b *㣛Ň$a?-=҇h=RCPI'c鞶5,*uߛ0s mx=ջUbHN)bT0^PF "|s_ ]ETU@j2  vpsPQXٞYU `^#|@;ZvKόؐo@|pXaPˁÈȣi!oi;2x8>< `hHtu-T9)DP 8x_Q :H,)Mir[@-j;ΧXR&Xzpk0vh۠h^9Քrc [ T[T80On#U޳ʡԲކMWpfDSV5Fu1~Dqch9;cw C: Q ՠjjMm:yL QjY#/tVK,T867WcA^IylWxL-o]o{0kzu7FAe TG4G&] BD@9lAšCp 4-N|T:69]S 19rG1K JȮ,8~l A_6wDz * )hmm LZd⊦lW^j;^WzXa'RÄ$"F QOF8 aԺuj5hIYʍY7UrQ5ZF~9jNQp@p/_a_?À $51Ao_݀V9+'2Ao<^m=[͵jCdMu+X@kPg+{a4$ZTWy{,y@r _=Útf㛮qF6XY˪Û||Y4L{C:D#hAQA>xʡ~8VlVsЪn~ɚly,9UYPҮWݳ|X>l4ĝU!sΫvh";t*y.9񪓛-o[]*kwY&7i}E2J{ xU5~Fu, "aqhi7BU58bt-;CkԞdUF{:0sbh(,Y* 21G&3+<;SWXcZDFG57_{ WWVgyV6]Q5X/u:$< PX.ֹ[$0EHNQg;USkHڀխE!v툘e=QxrYz9.{tyK}:ZK. %^hӞTo" R.7XZ5^Y/%j9{?keg,d ;DXZن'AIje ª3]cCJ5-͈[) z282 o-Qn!]8m )IH9Y41mE;ĪҖnTԜ^W6X-ʹzLVK[[`lL䖔R>/#xxd((l2XA,yDTBp(SC.ju{9u}+V(L2"s/\BD5d.j:8=Q*Sj$&THs7Z!{aBhӲކ[.mڻ2ڴ5zo4?~k| PC XAwd\ǟ8_hJ.q쿞nvQ=iSSK>}~E74y^ ygΜ=(<68su!{&A`z Xwj >Ԅou+![(NDBRF"kwxGK!î\Y!huxYO8r@xFR[&jn%anm-}]X$^ OpNov`aovYƒ!L?qyE%* ^xk5Y5ҍl_&̾39񺢊۞؍?Ѹ+pI厶~LUy}oy#nKץA>2HΌj b+0vGҫ;ב?=?O~0x.ZnA4,u#y)zeys|'{W 8Jm =CLc":wa g'ŚwjsuzӞ8~/B`A {LD#O(i[U!,!E*N0f"0ܴ]gKf-flڳ uoUK y^?QU_qUMLA=^]b N֛QPGr4=r@[n>pSN Kkn㞝릾J~C{]73{oo&Ad C;M$';.ƿv$r pwjd{zwznRhR0{hleeAQEq+ܥTC(ReWL*0t8X|=I#3TP;f R*Q]ѩspX)V^&L}/-~0a[fjl* +Q]58I=τla^~n{٨Qe:{O#eˌtyk+ze^֧ܶwǣ?lҴ)]ZT|뱆~Wsquv;_smfx.RԞm?2:J@+>[~5A9Kw$#Xɠ k `ɇkj7wGG0wܩO  bذ/;uة]m\cG%ZC|4 ^] Κj0Xy|+𳌎]M3)O$>s7;+Mo?O>mM7;Ͽiڵ잷q?4})E\}5=j$04;̛ce1qcPzgrŭyYY]]ϩ=uA/˰'tj="wtsStGCTQSgB28,:|q"Gq?$\0\F}xgkL`>g|{ee 5n0=W]wGmsΗfm; .{C[jŧF~A]&5|Q;sTCf2e h9\q']gb?0;vs/ۧ=w2ҫok۵߹OIX믾(F>ľr%t$-|؃W͟;g/?BsϷysw۝$`괙tGݎG*u,)響4{l^X(;}8yԵeߛ?ilт44{|b&ǘ8;psF{='cdISko=ޱ]m9shڛ(4C4sTL5C#}NkzfC-Sѝ#vw\ҺFKW+8(oM=Wn|{b5-m[ul|m+j=6煁ddQh) U#x шxW؇"Pj6a]=}pAcCGUs [ZKڳP>WktH]](9B~ǔzoPWmaV,]Hᴁg::noiRM6}=*uщq&-b )~{ѵ=h$6nvaf/,k CH 4Wĵ5m]˝|5 /p07>%mu bJqWAd$D|v>"e>5ڹ9Aj_ODgsrկ<'ē)`Vi^c:uĠ )Ldd-4QKNQ;;mkTߺp@:3O;s>Kӹ6А 'aᅴEG7_۩]X׍D1UIoކԙt,|.g#0%>aP;ONPtm%QmvgkTyP(ǟA Gݛ&!jwQ{<4VkP}n.\J%h ڙ=;!݁MlGk__%Ã/$]=EszS`^W~={1`uO0nbv~_y餾Gz`gbSgyԑ 9o7]&j+.=;oNEIK1Q"*> |t라O>oF1^>6+ߚ .R1ӷA@C=:uFiNoߨnY#4u7l7' |n ]Fj>5.^MCm3{c֯ SW# =h1Y<|g2  Lzgp3Ȼm~3Dx{٧硽.g`$l@Q/f~5}EfQ;fuoYYu5B F?2~ ^u) Ihoͮe8-Rd*|Gehvla5'̚=oM8~\Va\~V;`&0Smǘ; '{^hWm[X`fUI\:}McPuMRFv}U/?n4nwUNx~%`ax0mEaGQ (+G> ȫ72OelKUTZw;GS`[n'|)N[N:իo?.#-Si ~Ơs۴ٴ]_ŧEÆDcM+ʹkuYU6X(cj[9oWnaf `9WҔy}M(jkpwj&~g'Ngv!Ef 9) q>h}o׾m CЙiUzO7vYQFx !9G覦]sWon~YVP Ooة13-z_>Qgzcnjf9gvힽ?u|_͏YJ*?_0@{)A  )N8^y((b D{t>liW;Pg'>E.1ykoPؘѷrJi8-u%mV5u˅"nG4~/S-,TZ[K_])\eYvn_OKk2c%;џcu BOJ$#<$.5# Ï|㭙t= ҆栲qTU!gάz켗^L~:azwOƍ,dEʐ .Nf[oeŊFm'wd(Zj_׃JU+k㪭ほo]ʰEg?e XV3?F,slnmgnQ^je{zĭF ՁJ@EsPu6OegNǓHF5{{(ٽc'a|wnwjG)N3 T2RwW+/ݴG5UwtD/5XMh޺zE$;Zl`z5]Fjl7lf"hy3hw## RWƨ2w_}.ʎizsy/b>5K=Z>ހna*sƒS'B+jϙr%;M+ wYmZ: IbP[$]GeeR̗^ymj?o4WT6/9Ξg}v^ tsfR]]S~O=~'`-w4tk_:~d` #7rѯynj-Ρ)=-`]&(ToKnݦmxl]j+oҲeN?^M#ϼ=OщFkT%6m6-0VlV5&.`xE^/=0]wܴw/~q{}O<#_bB(k_ QM6awh0dq:*j>>[S__/w|G'9#ܣ9_~~@׃zc Bvjal;NI_~ 4z6jY3AU>?hΓ/!x\A&fBd HF*>WP.mm5Ek+/1zMrS*9,o6J4ZKy qI: Y]Uoǃ홧ǯm*nKLr|5iWĵ:w=2o}jOS<=_މys;'f${/ZqϽG1΢gd;7(\&~˵1YNx!>dЀwek.HN&KFf=0W^<;qW{L{/p>0E,}5θFԳr10]|U&٣W={(@OlacaCA=0`cYB=./?IH8fo~q} 1?=uW_n[A oHMg F{g{li6iyig'Bf BCOG޹ll_aWKM8vh=zK}^eG5WݟK[;g[^ތ\=wvN5 e<ŒgjzoweX *h+4Yɼ͘~[O 0B8m:>9ǀglQgh6L5F1mF*!be˧J bLd,VPTs* s8Q23^ə8針ч\4̜]:#4Z?ۡ'CNͩZ;2 0Y5*ʲ!\ 1;>ꂫ(Up+WaraCM,mZ`yFb7` y<''h<7TI':k v:{<;9Iwu'.'c3/8\P'T jEƠsgps5[+n] [L\nB;g^'΁`p통UD\m-,tmsukۤ|%LUE#04i*%^NE]S<0l!oJ^z˗N󋮃jmPٺuuq梓 NϞis˔̭ICJqm8![ARW);r+'P3hiƴgL.=+VnHq`}r0O?"xOߘ[.ew})1ٔ{ݷ yɄrkǎ"SЦk8ku6q6]~xkGkTq mG0Xõ ntυQ0@,̤P{7+lmQ͏3]YyG6㨟f A1]݌eS9e MVn_76]/^t+[62p5 BAp]ngT ȃc[ 1mg0G9Ź! e)QL4Q2h/ܹ 8Vn 9 ͩX`&SYOkM-M}dA ׸e>e4w&?=?ibߘ`0D/|~'f/E¬E7WBȲhlЩ鍧Qf-mUgd#6j&KfUtُ-oK,T_M6sz~ \*.'ƒq#8ywQ#"Y'魱0c[;A7xff͚vw!oM4s?rpp!bzJ-Nas*; da*L&{BX,X $ĨMJ!= ;#I瞙`*Qfg_v4 Tv2S^Ddzu}N?y~ķMYWM6}Nj/x9Rl0YSCa{3]*7l'4^'.o;fV^SpX\u5kKULΈgkMXC}q?mK;?T]$xeܵm!ݪdE0`'* Ft>U'[Y%tWt G0&(L,~cO$Jɼ42LdF𙬏ƬcBf:acbD;-#1a .;dj> 0aQF vb'zҽA,t4K{fM|+𳌭w2vsh|6X4t̥̏_f?ǘ^y6(r]>1j-#]0InUSѪC9 ӷ^e0bv 5WXjT L#Fp[.$zhs"zdMޛzKNkqz>իP5T =pk xO <ˀ] GF n:P[aX'Ԡ/'= '5ec)}/u)w4~xy,jp΃UX\ݕ`Ynjw5@'mTca4TiV۷'nƢGWҗQr2[ a 9QUcl*ful<Ϛs#mn$R(a4@w2=y=e=`2KT˚"W\ műi7s\SٿҸ\5%Me DVM-_8RM)2zS~ӄ\|gò4%o59>cLXJKCۯ*4)L R\<dH;,y|`!D8`@ܻ\*m)3'X-c6x2p}tZ 2{bE ~Ưz(i N,08T.j% o5OE δ^ dh'h{F^S .8^)`mLUd_QG3 ؚspiݽxь aIKIhmOnydMm^o ]S-ܗIuk*f#g+D&H!TZʝ C* -&bh+7Y+@v/yTp`4KOޏCUmPpwqt"e :v ;5 G#((d=U* t4FPub[:5`JgU {R5Ca!MiX#BH0<,0ݶAh.#eȕ^@Zr1&Upⳑ= zl5v9&#@>rkȭ QEqDmJ 9 |MD$T|ͧ*R`. b$.w~ā `@u=uyWEdVishl9x+gA;/. 05Pz$HM=BaG)lRw4d;H><&Xg9ߨV⳧ yAV3q-trԞj1p$XŞ'^`j9ȪءŝҝY VPĕad;AA2!5p) xr+v9yN: |*b+<;Y((]6[9Ƴas;6H؏"`њBv2]x>jKWbqA,j iE ZPoN{ &^@lJDH؛8QA&p@1&D\a% 1Mk^*@ߪLJL਼lZjFc;H Y 3lH$yB(aT3 gCS?T)=2w0:/vAV+"M!8=c~ц|]`WfEG,9 %0Z]fV$U4vP/Vw(L'KL*>9|pK-oUv?"yRHN蕝_T,ήyTpaP5I"ƠZ0Cmk4DY,< x\v94c) 3Iœ!DyWQ*=PyL]̐rlA$3Ҙw~Hm"N'4(]y2p =oɱqgsCBܕKh5be2n_1H`G -B8vͣXo k/ԛPQ@1\yvt2cvPeeVt_rJ=݈D] W UL_0| FBQmcFnDHʚL+&Ÿ5O -8R "y)380(H=܁O7} T 'zN:gg $@:Nq1' s9WԜ*F7bPd1H18]8.r|LMxR[?Ѐ.Q<"ž1jdUN2pFXUKl]@& e0*$:>Q ^U0*C$ 1^xy5R1" {p<ij#_Vȸ ^Č;h!R?c2tḂ> Wߵ++jjj 1T6O1S1h"P;jݾ!' "xC`\Hÿ P*;2k(%Xp[LqjJ4 ∈cPn!yeJS9:|؛ #cf !%<!U2걸0(pD4k|ŵB F^/KCXU1|03f9昭Lņ r' P7֨vb\TO*΅T%` Ҟ>r:lxv D蒑3|85 % Q~CXrn ӌx^uh8+"[@2 !V_BObqg4:Ebx.Eh '@˧ YpF)Hha;іpx "84(}y;KNMy%Ty>o3Kb#|^HV8Bȓ;r-<~",?1?65(t k,x\QS!q,r155 =9 XB<ʷV@A X#rx'FݭcvwkIO#xT3{Wb90+Q~rh<<Ջx8J5%IL_Tj 䃹 crx~BfafEwʙ7l@b|bTpb67#j}g*op`uB1\rP2V8:] cdbt]{'!F @a$C>Fp77q}F40|{ A%5R"%@@:"^<:%` A`>|&rB4! Q Wvu[Dq_4U٪*\ ϩ N\~x[x#IDl!llUB눫 B"[tUQ+܍sEBT c1v;Yh6+(3qS< H`p2%t%Bၢ &|"[ h%=Ͻ ٌu`'-zUL]Оf(9⠖s4h&Ż5?lx"7XbQ(xǠ@'o `'5w0/8{p'P`0>BF_XlmU;ν kkHKhh)uiFZ G9 D8O% C@E;ztvcH ]K, Cl SOR6MlRq;|[ /D[u఻!j77w\ȼg/c*cB'kog+S"^W'FjHc$AMFnv`JNo!{$o#l4L}2FvFklD҂vLcs^a>F>1S%T!5˴BPO LPj?"D2*p #C+RD& _FvjPh&;F7YQo A zK⽐ LU q =>)fc`֫#7ɒ$UPafıT1" 7Xi+hТ r0S˧mFljK̈́Ih%E{o|BL5`tX+)Ubza*QտnM~ 1Dʛ{j_\z y^ O/C_>~zNf'+fIX}5LT38ӺQ! 0Z4>*h \:gs"(~. H pa@7]0 B&'%>,0AqEn(Op N ]ز4Mՠ^=kXL:."x ~\txM*oٯ\vn пP)})6|jO@lUo yv,*D$mL qѓ[‡ >."v_ e w|q=Safxx﷛Nm ,Wl0_S{{LT5*NUҞNLw{Y`Ǵ;']qxi53[\KQUүb )J2w,m&K!3?#ЧKwˈx=.KG5I\A:iܪW{Vŗrj&]W̌&ETd)\' /E}F]IjxZ˥d@fч7 2hF}KttB[o0E^|aDL?j8aR@1=— O[,/sh>K{`1 XWM9P@ '3!0}b}*~9Q̪Ր@_Je2WE E : 7<Q>*_p$4Eם=27< |N0ɃKl_6^T0  MHוy fӿs|J*'lr*l <+P 5FcTέp$5am'q ;֢YR9 \`JﻟV.3Q.nz7兮A_!>NY^ LG9O$,1ĨYb p{UD}h@v.awJvTTk ! y1]K Gw]ue4;?GfEub.4kOJ;68 /4}e\>آ%G,u\>_# >ҌAY+SX}+y)=1^3bI2kawgqmv'yb4ؘ;~G$ulg /@Z'_߬-$t /Jp"(%a"Dha"*<7Xrc*:`_J_3!0ԇ1haŕcTMT@fv`;=xt`R.B`H?#N<)ǿ x1I*/_>̵ڻ[) 5L xx |hZl͊A(bGZF~_} R \{If4|SxyFvGf\FXͼ2kt!jr(!QdGȻ*"&|&el/ ×~O"أs:D茎 =џEhf*=˵jWң]ssJ >C,Eoe؛+*$n`q7/ ` wz!܎dRwQy~|]g{Z{6P}N׌ }4G~D\Z<̓*N;^𻳔ΣndC=):l ;~Ai0 .c d& @T*.M DJI!I_+JM=\J\r98 /M"m#NJڑTJp tቈIV)rդ ;9&@_Cts==qf,T2\GIJ(fKNBw]9adJ."[B: )9,}N}4N̓փ(UIqx-(p:$F23\^4]F΃T ,qNN%Y|2p[f:@M{s">_"@<[ҲT>){WĹ΅?`m/ckJt46FF20 x{K9GTg;3@f J8qN+ v^savG_5#gk:}0Q7ڄ3(LG1>bCo-ě=q#ϩf$5Eh$ӱJ 2J; 幫Cp^40)ު=h9ğ~O 8ygA`B.%\0s  N%vj\\}B5%ṆRbW̞E > hR>dx;165si&uկ6<( мڏJtz߬JT bT^>K)2i^yL$f`n { =Fy]>ץ.g6217Ч =bOLNz3_G˿WJQ " J/GB^[>NLCxPXIzFǞ{dU]W\mΠ+O⎞&Kxp($FE, HlJ+9u8GU5xjxK('X KSܙENhv4a2w1@a.s!}ЕPNzdfHH,Xz#6v@upA#GuD%0OW=$PCD-[j&)&ЯIU9yHFv$%]ܯ/`x<Ļ²y Ǭ`aVf u=bP;.$tuVIn*Ȋܣ'8Յ2-]* a@\  W _4 Ϋ"娞{HMK{F'$םQ8 'H<&5ưzC2WQk~;r?oɃrnՑ< ?<3 o.9QbɅotLՖ. r)dzQ[N*r&)S/m;)>*Υ|Aԥ2UxE½. $%`"FCbl>WBC8粊~+ g|&J.$߮(9 E XJfr_HkBG6t#eZ 0(ClP! F_QO_n'+Ւ8]2Fo(QёLaQj$) {=&, 24Q=y wl Hq45b&9y>nisÙdEWڜ%QV/ CS0 CA2uM\: dá? aWPU c&xi1=3yGxҶ[FXc2Djlq*AQ/h;pTdAd[:^G%`!o_ա^,SS7 }d1)3O螄 0|2!Kp6&,h-(q0&V*^Ʋ|uUz@ s$]& е2(Դ@@8KXџL}?ed G'!K ޿zЩ;\Ol3F\ ktwg7$[֏ŔdFe)EXD ]wIq14 Sp$ EC:>^$iP@<(=vSbfJߣ`GL.V#?[]_4V?, ר/{@}~iba6sbL3(o0U(jGMEH]uPQaJu>*Z"|1WK/ @{|{Vޥc tYKX1SLҢSߺE)>F<5CU1 tQDm -3yBԮHGv 3^;T]3DoE% RR)qFf3:̊rh9dK yU4NwtGqFKfqJckw1QC)6~V)UU4; J6MR^2!p$1˿~&C s,*SM Nhj%%Eɋ3/6%_ ϸ)> ռKp ERwXv_M>4ţ D<"QwfP*pbP1^ϙX `f7P ʙz7!hWJMgs.kyIC'!T~_"ʓ2J&:I#|BY!JhC)Ĉ*CecIj o,scy>7(]KWӯ>89ƂQ41\BT&e-0Љ2{ z_ ,uMaB,_)M ȼt5Uex iT7މA/)'Tյ2v]odaCՐ_` *[û͗]9oXOtBZ_"k~@he#G2Η-ıC(w=edv| s\B(4%>—|iwΞh Է> ; , CASc8p^ܓGHza ڙyy7&1LN!FX&Iܕt8< ϓ>(21xb9xh*n,I@ rl̑+8g W2"x#0v7.Nr`~L> <_ cڅ̛ЁIr*M/6Ji{87O3^Ob׉r6}Ik)x 7 SX* X@&۾r0vm ytqwQ~⸵"Υ d8XoŤ/=]f@n+bГKF& w0:rxE?ӟ6FG8Ri+b5tBط,C 1d,氐Hc[q% yPy*(ʕ+Q-X,q.b Ob|Uv婝;~g{]6InjljΎ$RfXݽAfMmEvđ?/0y=)^1Vm'˃ޡɥ(&J_=2i/}_ϕpkiTNFi8uP_w!:W\ġbp$Rr! ;VblP*z; 5B ᅣc'Q1HK*O$ϞMN|x]Е;*V]n )^sa,g'x4pAbdų7We^[iC/,Ctz<#!v a~̉{ջhe_MFKVA0yv3n Xﺦ-k)B[r?6+:Yumݴ[=MYOAtW%yq:U^-ߝAijTWmWFS:2`Nڣ.M2#T ,m <#ёp1:uaD&: ]h3Gס++}5z kįQI@MIs !9dGIl>g(Ox 1Pl.iHQ#}x L BO+a;FA2|em-!8N&|qDE*gL<~Qgy,N<(%pCw2'Hr.)/w 8lND%/9v \y(vXYƇtIj/ iW rmk@,5nC}xҼ^]-/6,L׉-]Q㣁뢨;]uuey$iY|]]( f;Hmx0x de**l:Ù2$71ܝM.F7Jf'3A^T91Ъf.J#FUVg^`XޔJ n+IDu-!r Е:'XɇEyOd bۿܗRh^' F.!sg`AHyf\3uѩ5}n" \ 1'@>%T~zރTeb f PϒbTp&H{EIpN>yX;Io9HnƟ)e٠a@U"1vx'g|<"JqW(DjD4:o f`lbuB p( aOPt=n/1$\]& glxB1c&7M3']*s7G՛3)ˋTf?}VV:S5uUqplڶHS:/l{*?Dׇb{w,+vwݪrNcֹ.C(Ψ9N!) |\f~;*2Ʃ3Da,Z.|bU .gХ34c@(v =r|guDN8U*%#cVT՟Xybj*T^1h&rC$F(a b e0pTSA5\I]詨*[JDfcpě4\k>ÅwAEz`@dl#Վ 3|h\ wI}S"k7z]WUYTInMk˖Am,7X(wMۮYLWUuyjY`bݛ?h^{w"ʋD%Xduگx8/LAQ&v$ʼnO!6bQyBWU"ǜR"nEԅfŏ(2k MK>k/p]ƪDB,Zbst@]КԐ f6ze)$6@e= _@_94O(yGz'*7x+EmFul^"2@Op~T ~`E _DWb^ b-$LP<4i>(R1*m;gub ?f&򈶴mL8_ JE<^/-4+@^Tt|h0-u [0SDM;+EQ) VW{~zX7oZhmp66'Tg^Du A+tU *N0I=L[=>uIR۬$I ;]bUnO׻no}!.s8EGD7걑y4<΀Hȗcd䴉"12Y+T(G17(b8}Bݫ'?Nd1Kg6O )go%KN}G㨄 WxԲ&b|`~ e#Wg%\x|h8ބʂOS>mEX:mLn$xo)".7=+p\2~A|`}i Ŧ"ө=ضRڊ>>M q=E&v--wRm zS-,Mw?+ֳw5XIz5{4uU54l/μ}cneٶvSuY7aہHܗ"ҶLP`pnE\B6D5I 3D30+/C`1 c {P n;Ot YX~Wu\ rb P0OgbsLQ8)%^<I7, *X: !`R_x ;xD<]%tpH`Ԕ4P#4sjF9MD50@BE a;.!V>rZp&8goEf+#><&vG ]J(\@tc`5|-X-دɶ"UMhWǑ<,tE>jv؋ԗ8;.XW {RO ytEي`GOs3΀xzFC}yuc>u+u,DdM^MWhPĕŰ&:>(z*nb1;E@qD (G*==(=G$ZυsQ"@sեq'ŠУi춙wDH% xğ/ 2&gh#Uƍ™C.S{s* %:Q¬Jf]њ#q!v~RDʾS~՜~ٹ+ZHy!āR8LE)T>NLyG!n:8 eщSR_c%Ĕ[O\ `=Or>sl7@,!˲\8-;H'`s4ǖ=-|t^hV>MWZ8xHt{NyUqc,zIej(2 ;Xc9_tg>ӧؘ`Z.\ 2õsI6dr~ F/Y &E޳), h"pYRЂKٖ}}l(*b^m)/=d෌yФ8`TJ0#hd[K>~*Ȉ sS6@~,Nf^6W (q0R&ϐ\ ~FBQ{q9B(]]gYsF+<}NQ{ ~Ga~|Z3V8y^Y|v]LXUk 1IH8nÛq]5z`}c,ԫնHҷqJ >vze7mut*m$5TMe;VfSTiMw\W̶&0(Xu|nV+d۪OMkANNs9K]IhIyp("D*=Z+(݂Nd<ķeB) $ L"ْ0& Wf ʝ\0:mơIz saCb$b1) g$}Ia^Bi:[t531erS]Eڔ't:`w in"7cU>=W`47yeݮ֫}|om$kӡZCYC]<뚦[鬧][Všjk*H֠uN괶uLk iU+e>k63@i;^*=Bi5a޴]4<)'Y9qs`Q.'.B/E"ALc cˋ F,:HHxm@abY4-%A؂Š<}0 DwvWq¿|:hs$]jNUPlWO@7%:F#ˆ09zlu;g|8 cJ± Ys1tWCUm'ɽJ+6oq+".Ē&9aMDFmU"TΦid꿗x!'!$Xjr#02Gi@pO-E <./8A`:5ޤiq; ?&ή'nDJ:nS$xHʪ68Sm~YoVoo߾yݪc^ uN<pM5AR%9i9/}K4D_Yq{Ц'UP(N}(DEFByzQ\?*ڙωOj`#5(hS(|H kURES&Gn܀RZ`="1%h^9gYr6OR^ǩ-By%L+q4(&k}t@ qpkq<кq;p}"wWl!Y]e9/PR6"L*,קB`Jȗ'8&q4LȥVQ/d5`00{[uuYWuSnǟ5o0wu?Ejuj]7m\)F-v}k1`VkH,̃Q-jqfXm 7GQX;Fxmkڏ?Lö!_My,(k6>@>OOa7j*4D۷OorOχ=X`cY5UXi@R׭A:+$X]uiutx9_Tt]/Scך-kD `wmNvz<>U 4\/JOU~dt:8,NU_ba~nC0Sp G1SSzĥ똜?m(lnr`!q)H̲HQ\_֠ ơʗSEF;K$&%B>XRk /K|I  c g(ծ<]3P4dgy)!)[rn &NIx{q[k_8*U]q{ pxyU*mu'ɏ{tuy0S "PB1wyDz DU;hx ݆NiVCyp2 ږsjQĿPZ V+iBf׭U9jEW2jU'YVE^XS ]Y|-4n5aAԃX/~w!&ڷ@Ew"ND!ǡ/v!6(]׵mלQ Mܨod$MNflfĢ4UJF1àkhҟ\#TF>2mho13CG" .HZGLTKN^ =A&lp4} {TֵO34a.C !EV()ʴ M*әhĀ{Ѯ@b$¡k%PTlst %2 ЯUgX^wm t6 D'96ݵ@i /'zs.a0⣖2#\oHևn P^Tl92yg w"X'8ꋧًG.e}&Y~e2}*vlו:UZovSs<e/뷏k4ڲ[͹N Lo(6`^Ɗ nĀw}TMQ$MWӦ-o̻l7{7X}cה{Җ&6lf޽I*MbA Mxы:z4EA\`! Ij S)bC*PXfoyfwu],(C47@2#%K$Egz={=I`2Rݹѳub6%!JK;4s?:kaA+ε+jA==U%#à ޫY:F۽T Dcv@|kO`:wb (B MUp<䍮+cؖ1 Ǡ!-)A(3f>̧zk  %߃DG\ K`,dsG^";O, 1'iӨQvd29yqА]\>މcy(B6@|BAϪN Abd\] -1wXoOQo{͛kbS ?Ru Β}X3@`\%ZgZ[}{b4gMX{41t@٧ϥAR][YeMf9 uO&sJ7f-˲.Zhqnuۢ?.mgU\9!O mXw`&$$b d]F5Q:0~~~GQ Ûj.~t=TYk|kY}z#]$ijwvhe\tAYkFCbEu)/XMBcO#@sm~A,K3ݴIqZnkP]]VχUQ,;*Nc ySim͓4~֥wjkhf|ji;,&à(}pBAKu'm$1AI]}4c hǪ6ucgq_EXoםmJP7vY{յvR,5 ]yњXL~@]yeӶυ(Y W>p?WxV wL ~L&>N}&h'PkE5C"[ȃʷD6H׃HCW*%jY$؁='g+5 HpƉ2;8 !R)O4OZ ʋ VzlZêbŭD@1Z? GҊW=3k:HtX6FVBIxϟ_a^0ڷ[8~a Y0$a܌RrZ &P>lHWd8a?xh3&$Pnikߤ K"'X{W, ߮ע8D"kա<Ǐ?ĺ֟~bʝ-ɪy][ u_g{ 4/jeV CDRHi4,6 ~ݟ~R$I̷'I4zZoeU==?Ylt갰]Lܡ4љo>6 ^yvzcDS$~/>M(;ڠh;(QO\mU~I[kUӖzBM&/ؙkf:a.+sKmڮ4QvhB,56uقe-D|$=>~V&^Vl 4C1?6(dfXʅƵV3 Qj[pkd!Ȅ 枅 k_9hBΘ@ۿE)52,0!vXFXNg@U" 8p]sA碥qEh3?6Dأ /GQ!R1 XBGsC3ѢmɐǴ.|t̺U7,LHR7&&axIKVWTt+%$ %L\4DǺEӤ!$ u#mwGzj#_MB.푥|izUJۚw"ɒ}p?x~~ wjƊco "WT3s DE0Q'*:~IuxN{ltVWuc+emjNeXU2;n̽2|8V]%|lq_w$1Afˣ__&iٴ**K^Դh1a@k;&63gԞڟ̷!.C( ]7Yt%a"׷59BeЉ#]~6\']GanWԌ$$^*phH<sH%Xy ]~i`b8BPnJ I WZ!?t=;kju$Qcs`PiLwBNun=ؓ5xN6.q*d X)Kց0\9;oc^ O4&)EW}h{X5d V Y=eRޅ&uM00>&I.~9Yx@:T:Nӌ}RqgwbW$lw86ǧ[+72d]ܴz.U9&'jfjNNAZKj}̋y ?Ts(imIsj[;ʮϮ)"FP G]F(cE!`~zH?{-8y)4Q< ~R;b1/ UHz#TF#wjХX|#q1a|40dYy*ca8lSDZG<=a̻t|#L)YU S(_/ Ġ} T`m{ĭ4W^{/3'qx">( /.fy{  L6y<2F*4 ]?g͈'T|+[~}-[KXG1{)U3XhA4xsC) 3^sZl}釛10dź7ÃƬ,KxC&\Q2}G Yܡ-^骯~Ƕ nJ׻}3\E=Oa Y)u]}Nl:qNCҝ(z<р5~єX8.DnA#Jx0H# +tWIUmd#Nd.N1V ˶Vbt}cjжyޭ݊j^ i65q@n_5)n3pȚ?Ǧ]kU@Π;"3B]Qد'$.1RН] ̅s Tm~>XnP;MAĖm{[PWfݲNYn֢bS7gWIzl6uevך( I;_v To-ζdk46֖K@e]dY2K_Ჯ,QVյ0}>\J.^/镢[dQQKưL3)-rR*۾EmO8ö4{(Ta| By)`d>5[ )Ey4F1uT)N4)a,ѿ= ƽb'|^R, uxdFP={ހ <DZX34 )ǐ MBJ`֏q:P@#细. C)~ap5eMͽf*5hP"L8c2NoZ38 ,t`N jRl(i60冿}?VYzCն7kD%ա>8dZ97dЙ]ͳ<fX~4 JrbD@꾹b@J< ,ء96]|Y`Qj2'q_$%l\czpu`2jǘ>!%HD(ڿ$ <4pVH- iY[Bƞ&YC2OENM*G]u'f3OqEYh/N#sND]4j74S"Q!x͛fMI$a<[ء0A'Tj ,zP|;ԈsBI-CnfJsz]( !!B$ʄ."G?Dg7{??gSh1KmPt@v\ñHF1 0ŸI&Wêȭ?k[49ţֻ<Xa2(.M̠*OL[;%v̙mr_)8;fa2äSI&fi! Tymkt6-Σ҇n2 582QьN$5cވ.-%=ϵ T;wIdK8D\qLY\>ۂk/2=QqDRψ` c\x]CQ1L9-kb^3\Ą` |BI&.A(#/+iYb=\VRmSaqIi yBܮOOo|?ei_MV-~}oBb?C#;C?CVJf< SsAק鄹ͫȍ8܏R-&~>vH\3OG1-ͻ#U7VO܌//}DߌM#H}z}|BbD$*ȕ3a}c]wmj6se:z)rA3!]7\X 'ݛͧ$l7UfFC]IeݾfzwAUck@n}\&lnWX7MmDzڛ8=KYYY'$M 4XlOj IJ ]`Z%KhltVVMPUB/Ί]Y HUSc(L߷+A6Cyd\]a--C K~۳~w}C2= t6r͆8 Nx;??BO.8u&e0(9K4:G&1pVYu0Q &*3?š8zH!xAG?ٟYo|;1//R>oɟ|4jO5y i¥M\ahv 1pv*O?oO?X3˪1 "W%1vnW=|_{{o$+ˣV,OR7<v?U; Earj0 LtPWl Nsh(8*˼25l?y:OhhuγԀEsQnS撵V$-*}[FdYammPm@gYVvݛ&MǺ|b&dxZ`35K{-~" >ڋ}!mƴou2W ~?޿,??+mKF+!5\;*@n3Ae9fc7kO9[sF&fR}%/n"_=lى==j-7ߧzUq.؊~>{ޫX%ЙH'5UAv}p_)"*_Z=30|}hYQE2Lj @EcFY%pZ,(Hrn`yU X \.Mg:A EۏCzqS17Ťj!f!dn?cq,H`/ͨnS  /꺶1v@g 4*KIۻ̷~gn,*t[zoo[ZmLm@ةہvNOm5B]W柝z|ݶEaRF99e_W'y()?A M G݉O~~ß.E}pNSJ+_7=?;;E~~w~w.wgg$/D 1hFi$RT>u~R#i:FMDAstv;ǧg=m*@`v ^ȎֺʜJ5AYA @$4eub1 mo6ο֯[P?_ٿ;bp^_{f;!<{Ļ63 mikX c# 6ϝ=;NX՛&Sa\=-~E{K~1 ;k)3cFF ٌl1M*J:ү77Ʒ֛x#R/PYIfpŶR}gTlG\_'21Y>ML1x.3gob+ +nv7h<OoP]W#7bb967|ۺ2+I*kLhRt%y NNu]֟@*ͺOT{|zv}oan%b`/sǰk65#oG+UczDBu}HmV7٩I)g'䪭uɳzZu:K:>^ o_`Mu~Az&[=vMVΪ͹ZR(M]^:[{i¶ .{Ʊ'q&%8$,6v0;B,bǀ ]-oZsnUuuU{OO~xG_uu-n}|jvEP/zCD'jScq}5Wim9g]`ӓ)ʹ4Ě.k>=%,S/ pWdo eH9MU4򕮧li_9:ٌhΑ鳕8[>sGmܳ۱M)ZJ<UV|ZLL4gr/v}!֐6~C`^R}ZN8}CstMq_t((zTLJ"16'A)NXtHZY =MIMWwv?i+ 7=Rjbq+g|4]qjD r.HCM2]뉢9zV>vy saTS#.8uS`rɧMwnx 4莝ִnri#K V hd)4 c(qa"zUo!s֭[O>q裏:+y"{_ J׽9aziޛd{t(Bw^^|nv%0Ö?E|DVTaEdGZq1dQ4&FbJUv,t܋rQWߍ AAI:atds0Um7-}rҰqj'=96D5pf[0ގ &aX uQք5La*@aG|ltl}~M30nU$5Q:؝s"s[ܖ<+r,*550^9NŌ>> ,FXIyP5־QB̪%`ɋIZ0c @E ,`d9p;gUA b f"r Hd?Gњ0pA 5k14*FzմaÓM*66HC9Ġ穨E "XkC0ê W*& LꝈ⯘=mE!uz$P9DR@oya9fժm۞^R6 n𨣎*e~46h)0q 2ݻ$*9Em].4̽X^N-of;q8꫟|4zKQO,Q: da,GSDH 1 `ǽ5k† L.IJꅧF6{(s)Wib@uK򵢘x8zǤ>-\xq?3׸WO$ыY ˹uIOA8r}Bog?~w\n;cll,yʕs=GqZP,L]/Ayd+ozkZa%OMVֈ DЬO9cV5"8aQdU#uNNP'gU1r@BGn_q]`+lה( [)P.jB%{6MmO^&qЂ!ڤzN1Gԟ0{@&iY/hʩ z?qQV/YHNi5-nڒJViX,$Q½% "O`TLh$|e*z( >bs,-mP1c1 |f Ξ;kȶMm he R` (miE0>k?ayzKT!d/=A,n5/QC.H!_)eMӏD0`X;4v|zڣͳ, fJLbKd%@9BdNWE>=Ν;-Z;#<0pD¨w~xrKtrf$+eϑGY#?V!O]aV2"Yo H9=ZO}۴i RFH/Lie:M8M?ˇ 1,v  f۔ >}Ϟ=ꫯpnղ-bz3bPt=( +Pr欗J1{Xŕ J*_xчYW ./nM +D&-":QپN8Qt0;1c_hM޽I__gyY;vlذԞ@Aʐr+=TE)q]њW6gX. HV+]"&$F7cZsF?!Hؠ,u,3)BDx(T9>ǥ#>>l[\Sl\gmsŌ6H B<ҳU O7jUd9بvT;vd6Hyhf2 eF) #oK="=BJ v\UV ]#Fdf=,pyb,S;(K8| LI\2# lBu5;=-05ɠ 8ٿX} ]wa3zħgfՆL[!ƍpݍ "GIʁnZam`Uq\ⱩaDoWƛͰa4Q(XL.X1S ZO滔 @}SusЧedMF[Ɋv:BF~\)rt2 qGn.×.}nXW/c(JஇfzGa4qM QhE+ݏ<c{i'~ghΜ\#28#z։Dex,Ĵ+2VRݟ)w.=Jݦi^W]}uT4 ˲bT i@d&iJᥪ=d^|0ް)|ɃB 6-i6xbS*8Y7ړO<{za'Z !oMeT/} tvatw)9UVDo" ψL@yÓ =$dV"Y,(lӘhoqYg;=^  (>,* j>J*D <DaA0<:}0ܝv 6(_ޣX-E]nJi"!.G-zzmB05 q ,:4'G[( Cֹ: h:TQ,wa`x`5-.3z "1 E}`\ +T+PH"ƶqSDY?5iT,v?jG.>|']U8 Ӡe\ +zb{pPf!!æ &EĘ],"^ Y2ʌy}F(?'ʚ"7$ g^+vxLt=ysJ۩\M1Ɣ6-+˞}YWvDzLͅ?]M`F00瞪0abYsyQDZ;̌EU\_Rk%<Y/Ŋ٪[x:묭[ڵK+BٲIJKH%K*ZuL 0u\:r)"D\ygXCr+-L0 Zi@8`Ŀ=R[uj\0VAH*cbjiB.O̵Oڟy'>}?z96͍n^LJ qkͤd](q˪KݕU3i@_KrFٍSJ}1ke1@7F /q|*T#x[4thA-y;I*Ǘ6R= h1Uj`Hku87##2"MYus{upF+XuQ*C"abv5#UB&.̉hD "pQr չ5$cZТP@u54ձmE: 0 k CgãcãͶcf8hᤨfMz󨃂VL-W "N[P—^yr cVjTNcT. 4 f^qXNi$Rapu8I8s0 70Q("9R`qr6Eg!MUUe  E~Ȟ8lu}, s5ata.=pr(p1ޮe,!Aaqǹnr]o~ Ge@ڐW0R;ZA9#b(PކyE-xB7Eo1AJ;ڭAPiD$'V$za`7|LEH6w+VPFJ(( =c%|=SEUd%4ѕaHW#QNL䕎woiXHP9@}ɭ;vXxqnWV8? CdgnCzL}0|msU&M2y bBzaZR2,}0gYPYwBtg 1.f{ի:HtOZE"Hyn\@֭o#VOX̓BNY+'1Kc<N,!P 3&$:a]ȋh%.).q g~;gL"X0=6H:)@| sD8Sfz޻*?dɒ~ Mrg$ rxƗ+s DG4ؖlNd;D8W1l^,}R#+/7I]:㱠" ON/lu@)9b5A*tX~XrksP0ĿRx$ufP6Zu i^˴fϯvv@ccQXmO^ HCzy-t\F&V2^F Xi`̫&=5I md`P@)fT-bZ<~R cuaA yCsvj{v~m# !ôlRmQ'*8<BaٺiLj~~Tl_0:W NB4L .T4=LK*o#fgx7iY#UNO _)&aTA49T1rB G;U_pG*5*3Xs! A;gS#8M J%21Jձ"_xMzWӼ],)D麬  %ÕeJY:.ul4 "Z;]?Csy(S٭l#_OR&BL S裏E۟o.N'Yva%rٜwEN~ᇕR/}e67맭[W8'tR/³=/oxlIt8)"hĖ'TӴt>aٸq-/.~pժU?я\M?:گzy/j6o|'ԒIN}'Om;M1뮻NJC Gqħ?_vw|ISA>ēt>ǟzꩿ'ٟ׃>8-lk5M>T%fJ]vO99CsV>.Ĺ~oٰwsg]Ao4gufR=Sa3ϼKpkP˃wFL~>ٳ?lfxvY-YY_ʟ| '.2c&9770oxSM8ˋ_˾psi~Zs13<3_|瞃|衇4VDtgSOKƍ^w2~wKM? ۶n.)o}cZw48|泹n۶_u;zSH]l%c;ܚlNH FFX0 /\|\/PuGAiXٞ0BoT [42 @Iqs =N*O@%V&k;*sIwiK L B1^Ԛa2ͦl{*DkW&Gxfodrr|T144sЫHtKgmk횆ZQKu=綾^Zpv9NըZ>bgSn݂JC W2G&q>i :|{R=q Gf$q)d`>RMXj"`@=0чۆ_Z4c{8Yp*1L a6WgQւhـ D/zp/pN3:DeMzmt$~-iÐEфCFbU؍YAF>]g<"zEsِ"D:UoW,KZ=.T8K.f!Q"kVg;ɮ<߹ezHW.%WÐe#D~(bB{K!e˟{n;Qg,t1հ_}#?]cpB)OQ jҮaR8v9g=?X>GFFnctpRdhEgvK„ٶSrOvȦ yqϮ]odTV>.?3 3Fw iŹ}٥Ҝr]ڶmmݶ}vjs}tݺE tQGnٲEUdxYJ+ w\K …Ŋ9g~1C zuϽD!(ݷ%Kx1<<|wt-j,uAtZ61 TC?14DcוHk_+b [7Dg*OTJOGDF}K(\zNHI=5 pjS׮;lZ[o;T;3~.uļGMGQ1/oQV(Bϒ=x_{xdyϷw2ʑ R{|tra~ڞa{yKxF0c(c FZk0MrQHqq Mtdsψ-[™ &Macb&2tڸX0"j+#'DPf:TwDsppVR ]w[:9u=i" 0]1Mu t^ݱò=1 Y驜@w,}Ե:5JfjiAS{&E*5t 9 Bb)FOJfduq ltb;vr034MRU3*% q0anmNtL;4؅fD"̱AU$SنiS,/|l0w#D{%fb ׶} H ]Ldc#`= y[3{r~gq=?|[nӈUh.X93Ɓwܷ}ٯ_]Nr/.Ίd a0..&AEKB+K;@.l{t}_>C|\=ÀKKo(/ f8JM}{(> G\pa=eY*B1k?-'Q(Yh>߹ۻw:c K9ŝ/:T]jCYs߹5lRYn nr#H֭+ c)?;ʐ#M@{?>v7tҮPR*afj$#0.gђ)g|_|e]j6IsH2v:')&5Z% 2Y6=w]9j*`*p*Nc-;zԫҘ/դ)K-%}0qMvEbA69]v[wuPeR!i<"d辕t}_$gSe4ٙ@82p«l,{0p:HzFHWΨshPQHm/XX?wvj;::?hUYeMNNF/`ܷݱM m/ƛ-oٞm_mN5jGQ.ؕ%,=5C)y&f7,&F'\G,4x+>'#u#*M|+jCFQ(05kzc3BIU,f.p㘚&SC!Vb@vk(Ht(BP!,)GhGaW } !tGI1p8ej(B;$kiƚM1%q$^6 f7`lI{R٢oW8řHR7T]"XRmŕ ek1_R,%vJ^ǽl3΅?*.@آc͛\h!$ $Kz2+jӴ8CA8 ˤjկ Q{,XO7/J5fdSjE*Z\E$aZ{{-~v֬YRIZ̓>PD>fYPW8sԞ.'x%\8)Wknk&֭+aީZ<h&].mhhbr¦_3D|K<P%dpVÍPZ=k^y˲-Z`c)!e 7c-}Wo&5,v49b@&-B9xvP{>W٩8A2mbރ-#Ҕ;O3#[|3px \z~ƙ$4(] <N/Є`{a򘄧H ytαZdb(#!RC'~Vm`DI' E8C'=D<8r/4 :ܥBlT(T<4:^^) 9G>{1yj p9mٶ#wrRWټ >L`Jsrv`AW,tutdd9:M>ؓPZq[רuO/6p||loܹz!B2A<䠶>">"lǧ=ba1{,ڴkheztAZߞ\lEqd~BR\.Tgj3$IԂӨU545PqO"þkZVm njf96lDD KYF4*T:'dr*^EÐZj4og+AE>:z_Ѩխj|940;EYWTjZTa,m308Qp "|d#/zW+M8O,aJ:6U*|Һ7p>~*8Dѐ1 "y!d+Bqg<1cL,'lfW {K(;?py(]yS8(U+(dÆ {)eyOƳ&Q"-[O;/}(vSݹ6#T&~P݁[ M%$hAiR]RgR<r{ ^0 I؅ӟ~{0>:_$n/-E Ȣvy-XhAp=dHGǩQV8蒳\8/[_EK$901~?pႸR38{ HC^k%hN5-.=:v[8)i,4 ihag*ĵmO>w ‹윋Ҟ޸=x~b2bh?2i}ǣU;"96$M;w]b1{kH!Bǝy] =#:qQ ʾspbĝ&AP̵UV#Al"uHe"dćy/,ch]A1BEJPeޔaMX3>00K`kxx,jႹ k} ?l8 6 ~c:R"! =%mlnNDNxBn;G֔ܐ81G"w,sK.1MN!-m\Za.7.@Sy1[SM ДHҥt@9v.<.p` afc+a/l8JD:&fNj:i^Zma[ssN1 l6 u2T[7ݰ2DA;tHt j0lGGGFF&'FƇFGGoիFv,Hׁ` <% W"'Uqo ڮ1xja>0Hu I_bz *zj']-˰?%5ag Leq`isԥ! gL|꩝;wY ’Ox2wuk_t zbw<:`]x-[888> u=~!=ŏ Jȕu(\dJjF3-\p1fDD_|?dQGSh75ky>XG"ͺׯKP{<+ӂC-s铟]"8fƉTF<ȩBxqI0c[F~PgmM-Sj%J0~H p4z%4Wxo3\.BZbf˪U͝%at9lW: ྪ+UCm&lW\,2in&R#? |! u" zrGxʼ0`CXU 0kacJLc lڵ5>. CTt]GbkJeꪖYG&_t=-S%t#ԧVAH/R](NJΟPD2,#3͛IJ d¥u%H\~b]^ Iֽ{nٲ6rY+w1NQƾOMwjtX02,W_s͏{SڵkrKmBcB%n؝=Q } t[vޅ;&Ş>g]맮][ʞ={nYb^pg,-k*8S6nW_/?^]rO~uʆӒcYG7'Z6ck4ᥗ^du(]#]H⹡}L3l`Ȑ<0 Bf\ )ll ,M(վ!:Znұ8L |F>|D"U ]P]9 8M]48\,B-MCc0Vm{@R#b ֪U(j 4BYLS+/ /XW5SUB˧dBkP_^((d0dY V{ y oU_? ~hF"8C5vUG=Do5&$P`݆00=ĕcTG}#U2l|߲hBFu/x 'y~i)-r#CN2~JeI2Ks2Mi2e[>`iiv 7Ϝ(c>裦i(f .[gb~Ky2cHW"@_RڅF2fl_+ڥ_ʉ`n@KVązTl6*z1 K?ۜlfYS_ g[>o~+NQ~gUʙ|꓿ 2ԧk'_>묒3[LwiwQ˖-Ve;"۹sgRi--B: ^z(hS?PO?Td-N\_xƆܾ<+ï~t9<򳟓2gcw%$=Adqe(P~Ljb%nA:BCϴ%MH9Nƕ&JtCsK0ӲRDi+= Lb{䝒GzOm$ӠsKUq^L4ry7G,X_Nm|p.\dɡim/lħFLI:f)z't>19#Ʈ^w8>ݘ.Qх3N" YHVMƅJ9[lnŔ!K )UE[KȬhddݍVZMBRGL$p8 1 7,.E 2}a۽{Ta؆n̛3WwlԴJgfsvT:F5ABpYzy~515SUkomiCȋ(l+TwVE lھg(.6`%@sUAEm@,Lo>Bo$@s,apLW@ޑSM 0eM/`M=]Կ-_awRR ~]*nP #jͧ~zGqqeKx2۶Ɲ2ڵ%˿|-ˊ]_˿-YѨZmDcZԃGNl`^Y؍+{7}ʫ W_o J&$ i191VZ^ª}JA;ZCL&QsCN[ۺPBom?^)ń̆]!QPFip2T#T _,6m0J85:cL$qIE<=b,$#+blr]0o_eC"Xdsw-j*IK 55uo&Ytv:_ -aG1mO>4N/6pO22e˖:˖-:V[Uڶm[¾}:*ź ,)MDXti1?cmxMAW|Yh*:Ss`*YkCL3~@7-k_/~CP|љxFnܸ;$ 6P? z׻K7pk;Nš:Nq0~ݪ+L}W\#HSyB/ wy\vDrzhmذlQ|ꪫzM8=d0ڟxIK.___1+2h:5XngbbNTD+@,YIt.8)gWdA9b{[4ExZ S{J7[V869Ӭqܣ^+RC6 ,PP]w]ieW!ݎ;`>$L$UF d/*ORո,' G`rЖI"v51Ԃ(ݰ;ſu88ѭGT$)+69d'ЦlP 8DŽDqiҰ }&54JdHȑYKR^CæBNIdL@CO[3RTyE$2TLNLz+s 5Gݶk;5҆4t]Sھ'uīU$ TKa g MJzŸ"اwsx[Cr/Ʈ{`"li[銦zTj=Xk,wf/s^<F}`Cϟ]W뎣EᬊC ._<9C n4}Csg50بաPchhV__ͮYfA5Pk*Wie @4mkŅ[4LMjAfWNRq cԉAˢO &:L?#M ȂWbG'FGQw9{et뭷šG}ta |1m&//qYgd'*U (i9DpŊ6ݹ9gR3]@KYI XeKw7.H-V/'m%Q:/)فOݲa`Y)P->㯾jmgyf*/\#|'ӌgQ:R>s T¦MPF+?ydL앝;wD]_J%!g8͝+ /9OaYbCH!66>^Yk5QQ|/s n"%LE֔I7KL;Rp?q/brx}ZfMZ=Եt2>Ư`IKƔD:=)3 ^k嬴H"'?b wͷ@6O:p]w% fjRSY;)#͞Z pz 4  @yZv"gHP&N4t(?dg"Q1C!;#r$4qdB. 4%iɪ`Eiб5$?u;TD2vcV;nZSw "O֫} ǜvө7 GGGGVmWՐez!ʍYas*h_V;: Y1۪9${\8qiɑ+䍁9XЂ^;v41c5*>G?7@^5AS59::mkQEEM KV)u|YFLw x℡npXk{^ٮ!ƟZնvqOV Ť`!4yW#T5ױ-&qX]hk{!ARu/NNC!=EIm$)4@mwDv6S|ElCeADSG7jFrpOt"&KZ—&"W*vG.iXKEb Ɂx5zr꾳^2p=SlKtMf)O''tہ;e˷nniK/DԚ`x(w*%c+RkЌ L;y晉 )mA,'"G6,Ӣ,dE*ٽ܇hnA(`+"K| Ro90c)-hrrP,liP%[À+ᤐvUB Q2줃Jz_yҍ􎃲u+dz1HNJ}1O=ϴ.=]^p!KߙLҟs*A eܼHq~5{ėRF_ʣWx T(H~6Es%N^uJsQB)K,EKV%H9)RQ @m.`\'j{>za^-LsK/lNZj5@pW« x(}AЄWU18 M2(Xz&lTg3l^L>\ r,ƞK ,B#e$.R Ac&en9Xu+΢ʢƜ9슃)hj[H/NU zU%{lag TaZ|7-egKlZH!vc{$]rR)+<^eSwE&xIa|k(9y3eKX4ٛ7%>oɰ1Ҥ0};L[l)&ݗ,YRFGG;w/(MQG] Ze%]BǨ֯ ,71#O~ioh4r+DM36b0R=ZəeyE/O^sQE`tIIƕ+?7U ,&["I,maRrl TՄ8x^;.\w衇~O=Kx}/dw}#öeC0;'옌c.K{E91s]x`گ W8 T1^X+i0#!Т/7"2{,Mmx20C룸%QdpZQUɍP[XԚV͊ncL;w "yҨfcۆ94g.^.q''15=nvd]w=}y |sB14;jb:65cݽTL0Ģ.6}0DN6-akbmؖ25W/ΟS_`Vݦ ^oee4^[7a;f`Z8RP\WetG\'8jڧ)JWi+-o}-k;< 1 7"tLأBFH~AC`I&] SB6Ua@6j(pG$j;WI%EPD.:6yM0|R eJz"V*2#dwK \LL+*v$x &7E[UOi1)%4^-(aŊEO7oNq2/*`ygGG*LMu%!2/w ٌޠg_6nhY!DDaL16]eaMv0)sN#w7\=RSZ΍Nj?u+\;,cW]uBjMn #r(әrDNK*t(zi̚?:IWR17vK(z,|,J%{b(c1t* @((ߓꃡnOld$IfYܯ+ wobD1 $[p6ucpeضUiE6vZp1x tUBǰ&Clj{m Mj`F 1AbEmՆh{5 ٠L)Ɏ27w}!5Zm=b i}*OeJf[׆/h]080_7lL4K5uFP ˄P Ij{Btj]ڠA Ec($Šk. MXEչ΅DpOsƚ-4GM+ M) u ,ÀqD\7 -(d#U,*թa` r`TˀU'ZɊcfUC07DwܟX31&.qrSל:t\2)y$zI6iŃ+ĺSZ/>t@t6GcˬZY&dqFrd/J2'xAT¶mOQ:]K^];v?Rs0tL#7\ %GY-b袴~B 6|5;h "Vn՘>'\%RK%;4Tb k.# W^}W-_xizj,a&iCy>}O|I" 'a/ \ݾq8vMJd\Mw(wy[n{nNdu\t]wj B~GΠ'AXkj\JT6TZ xSlP .,%8sݗ]vY3a"1;5NX:VB+wU"^NJ܏:ꨊSՊ-7o~M UX"i!^N[¤SlR !D̒%;1pD6 1UIR7 ).󈴑 ,PF ЏMpy5.8шXP$& W3 FY,,%&={cZc#|&$I-PDPuK znt3`ma]ھͲY ,/bxP|Ba%8RJ#73)j2Ꭰy9VW_w4]U,GLd3Tt͆Ū@gB#'4=[ {EWΰ4u4I9&xZT(Ed8<@{T[-Yjz!#aGBu#6`AAȩS mx7DRlWb5NBbIAIBHU`xLn;L&e L*XRH&yJ:̀4t0vlc"ѓPxRr/ yqp! -Sq'G#d7Maʉ'XjCsSֱ"U۷\x񩧞d1 V!URRZִ^)H, :dxg}{gێ $O;)kL;RN}狟wbA% ˅]lyiׯ!*uzUW_x i9bV^G?#΢0׿u_aqi⠈-ZT"KSq)pJ: (#FTb_SICL!)ag~x=jIE2T4 /};#)=ƍ:66rZ#.I7gK ..+)+\%|%\/2K?ѓ~,RT33K.H}=:fukb-7߬)2N}JGG>~0Mj:&EL7&zLT[<DډeH,W\d@ґ F=# 3!dh&yxU2@:3<Dm" "ՈkJP1t HH3,wF*A4聀!|=hifsP<$mσè8\ͰatԦ}Z6͊ Dr-!| c#c1#iTtoM M𕀞Ulw#Г~2NPLcVY8P[4P_gSe90&4UMtf(rN$EANƒ\JaG1.jhMra5$ܥpe o.x^wL\L;O}C8P GHBiH[Q@uH,^ r]}1 p~nc=v|[$̝"74"tL;M:"Ez!HwyM=吏9yT'g)C~xPYaYYQ%nTK_7#^7nHp _w۟W=;i`̀Lt KV}7HC=N{b} kog*ZO%4ZɿꫀQ Ґ'(aNǖQbb$W>[{MͯD߳gOq "OιM\UPynpeJ=;n"|{kQ8\SXIITp(QDx{J\~; rl7\H pd:iıAe;$X`Rs驄DDc'#?<#Y"a[͖F#UMo7'`]0R+Ơ 7Ms˪N6'GG'\n: U0i2%0L+>\,@vEFD :KfT/Ys=+uJd9>] \3/H0LyfםՅsfWJϮ,`6T͐w(H,Ds~S|N1lF3r̮T#b]qVHHQ Odʼ#jǚ{韔9H3c%RLݔRL@{ZUߌ{yso+[fbwɖ'J9R!-$o4KWWfN0AV||+_җ=JaE"G.'ȶ)Y3/B~PPܱ+ɋj%^(99J)LҝHUe5|m?hѢ]zۏuEG3#<|pdtLQdwK?~u0W80ME1KA>98!]x@QK5o̞=FbqDj˗/_䏿x@gc08(;v$%\ۿaF& S]%K|'>R5W_311JZ0Vk4$g3$)P`(S"q).{O(=%g4 w8-HKtv6..67P; G~m+p0xront%,*JHSFdj`1 j[,7bJEtl9Ī p5z@imYU&:\nNwفJI'U  XebAAE_B&+PQ'2i A o=4{9\kܛIy{k5\s}co|_@3jQT@0=}q3pYWl$=7~huӊ|ڂVʸynmF8SƣF.y:#~ү ㏔ ׷ZYK?/'h;4Y8,RD TE^,-4<{e+SL95 %sf4kM`^ `#NSka7%}pZ >u)X0W>OE2e#g.dYi87dTTKc =/!|ԁP Oz^8t@j"m"`l%u+ ]^hqn笀ԍF4`!}I Z|gIwZ[@}\d)&>DSg3Hp{N!5]6x +[u \aȋXm]~v=Ŗ{}_u<blmSWxԣM{K_'YRN O}TrrgmTntTc&zpj@_J48g/~we<1K}׽ ֵ-swX4t.帻ߧA.?/x oᆿ|Nkc:;p9B~BHazԣP-u|ӛLkW qvJO~K,?`+_5wlG-ȓe z{")sDXgg G<ϽoinږC49#%[zlahKh;ds;&)bys?sKӷO}/Пom: gu9{{(pI[ߎy_&=u7}ܲ`okkϏ_M88b'>Νt]{ezqͯoWkv[.ѯ&fg\niк"~n%~_]>/x=}׺y#z ڜ0@2F 8sҒ$կ~?_?ii}o/ϟ;BCG@ͬ)F)aMzӍ3O~Q~河A;ch0c]W b)JV6bB/w' 1eƱyOAx cy 9%٥#`BI9~zrDZr OI3)I2>C%+BC(Tk6d2ڿs/IqDOa>}3PiA%$A f՜hGXrB{A>ȃjHgeZBIŧX%;wҺviSMJP٦V>2'zZom=!}$;=(ChDڸQ+b3b4`1 :t61lU `Xrg(1</p=( ZfBҬ Z-~K|察1N!Up4ozŝkuM wfb!B6m] M#VX̗̗dZŖ9v_mF1/m9 XSܱ#4b׼ԩSG|= ?5_C@^ Bqo kRTSɑi}^9W=8iN i0?!}9ڨV`|ܵʑ܂ۿ[Ek#~~u;z ix} 7r=y18s:8T8boC(g~ Y3G6h%Fc?óC(?ӟϪk ϟ;wO7k֞㉮ZD7S]Xd^Kזu}&~'ⓧNmmnyJw;c;{$  ' tA/ ?l8eb&68PP1ݪIr09ܡS MuZB 9 XP;Aj5?SQ2꠳:ss,u1APxNƑ(Kg=RDl(ix5O/}/xl]j>}Cz9j]aM-hVC<+kEߎ_qr"^z]r?w\;.v疌뮻k4k|[[[q\6(:OyR~<&dX&׿q29U,T8[AXp|E+3HК- h:]w<h]Sk^Ի/~k_ ڼxs.*z)|v Bd_1ڀ(B [o"W`Ԁ7!T0UVL ~PG ~P0!Z[(mցmENGƣ=s+L RYsPKbZj{}< j r8!)iLr| ivksZ BJ'`IOׇ Jee؈ԑni-zɉ`x,2dB%4ऐW}1 fyHP J1,[-p[q0ZC9a!NqTeu<դҋaOIWXTqVP/h#bL g0 Gѧ^Z k ݁IhΗ<ۮ{M5l|{?7]vw:qd+A/ZRAxkQڻ]Nt>}կ>]_}6eB#X8PGI^wgY H/(,j+Rn+rt,Hײ"Z+n&CE??jݏXIܔԾg^tEo|MW˵knItBKtM_җwtτzþcnp=?RʣMƴB+Uil/>8uG?1MKNI_??zʼn_ado$c6G6ܘ kc5Wdtyd,Np>5YhD+f>C詐d('|`#L|B VxTq: 'Y@\#(!.ảUZE|WC:J ֤4%/mT^FG+0(^ȸ8`DR {HKpgљZ؏!Q:dWa|VcLj =*;gQڗX8?e[' P$3B)¬j4v ت!-V;Fh>`Dh(|Uq>[ xm>I"\bcNiYP P~U"E& *|r~4g82|e=46AQLQF) [D.2?"D69ZWk*h䥕l^VvێņG}7U;ߕlz8 )x׷ݙݙWu~pmzqn츫(e @}ӛԧ'#ckK~Ƀ6?=Hg擈hkۋ;,dgaF!Um&%Z-oy=#QF/$TwדW۝6ӽO~r$J L؅X3նX.z߾<繯|嫖&h>}s㎕G^4ћ=h܎__>>]Nط h^?{w뭷y:/Hw@DkCJQӞZ4|?;>M!8̹ eiꐭBl ;h{Vxku ^Ν{+|y(ݥ!D~=ޙhn뗋!\ŽΪ|rWG1T}p!vE BpiBӘIH[3|BQE*>v ,Ji!AL2ʛΆ{SᆩсO5"%LEnC`As7tړtB]008'ФZ`wK6. Moҧcی~hh*x) bAHOrD A-~8yitŽ@x=?Z֩uaHamc1Ѥ<qCb sQ.RNY1?KܕVZ>":\U`~yލs#^,u$n%yVH@0O%v|A ~&AGL^4U;c^M#-38%}eʏ0Yq!!0W!H>ҧmzeK/isz;*%?Nցy{K{=Z)Y4ي^u\ {Ŀ~I uU?xLh`GW?&>3Q*ECGx+^$`1 G\}s)~CHNiNWf(O]jaVReĻJK匦+LnE%Gy@؍b0b0Ȓ0:Nd@_!ɀeDWgE9~k3ASkU*T2z`<i>O&~yvq@0"D8ɡySF t}}_OQv@cA"n# =K9ë(^ Lj]룧VQh;!S&GڧHHy њT7t%Kd`6:EN`-W;l.]e R(`mNlea-@&A^@(څ'L(p'UP!Kr ew(\b Gq/&*I墭h9`Qѡ1>xA040ٰ`eigod۽%QLs0}j(烃lv>gcl5k;lK-k׿%Vug|8L8v",w!fuY9욢NѺZS`YDc7nٹg(9XK'(T#U(g\6t1P KS7ݵ'Iº쵞RV`DzD]EB#L h>]M0m""eK\%<[V^swq >!gΆ0#ɾ98xsNҕ99wSE΄pʧK>4 >PF@g-eP`Nl9}&M< =N:]7bV Ye]DXgI*޼rovΤ¦.hٍRC 9|k=î8s8ytߏ G"FuzAMj7ʞq½%lU0ӌoh:e*LB {ߝcDDWNƔiJ+˴<&G~ZSLt*Љe:&q)lY tA^ 5Daף1LY;~Me OOl#mg ϖF4u.[/xYhs55SJWjbO7k$$j𥂀:&[W&< -FqV5A6&v#iktfMI}{7 7>%Ҽv0˩l{>$R۩UYrCoo/^tG-=Y(2p+=,2\͍Oe\J"ǬVѻ'D}VJk|XE"ww7ww(B$m/*![YdmcWk\ŪhF!68y֓PILh+#"?:$ҴDyTjHB  Jlܹpt@ l4~] P5* faVҌA]D+ގ|FGRY?Lk"HhZ 28HlYsVZek@ÈA4"筢8! B:Ԋae5<Te8Je}v qJnL33l"=uJ4aeMh]2c;mRS[\O\@P͝WE^\[OЙ`AYGsxnS2Yqx,Lz6m;#5w@jbh/ h]{6*p :&V|tJ(99] pѽn ,j͢ʧWy7W~4U'' h1k}z]]^9}R^:_:kX-wFy>xėgO_~3WN]:ţN `_ &!ݷu |9B;P"/v΀9symnVi tP4j~xo0@t \bF Kr+ ĝ%|| Hn*CplD_mg!#LY@\{-[QqB2V '9f iѤe#3h9yDO4 Z$RB ȗKp06co,Sb̃&)w։pۀj3<l!)hWR#cq|bjMAv5{Y56?bT77Km6POsuԨ'oj#sn9r\xYD:8[uK1B}Z0צEC-JlH - u7eN!ТZkZa;CJq.agR H|Y  N۩' \hcLSsu6rHK WWuZT}聝D[tMCfQmJ;'cm[j)4HZMFbV%FEҖ+gԺ츃uSԮl tt(8S`ޕCVL熪b 4q͉7rD/Tf%u3SG,ct ]M{H_~<u㷢8Yj%ݔE*Vq΅Q6 ZdV'i$v}3~NE J3Xs3$;Oxwooկo쏴h"2cS{Zi^a UhYި'Ge'On<=e|}9+~w #N JޙdL`*xAQjB3ϱDfI$Ϫ\B07M'tw.ғc6KOU4wBuUInc/j9P)LYx,B4P;!cz~/ ד`msQQbȀ1H ԣg{*@껜,Xߔ^g,uwn89q֔HB^'"\\;hUym-|. lA2tKgk ^4UeqbY4t͇9WLȲ**,TojBc(~@'F"4P,=BQ^\&/ؕA;yIڊYt| iP_(^)Ѩ#]ctu#~Z`ddmIϽV%.o.Ǝ f:$mm ."8(IDyqi#^f;_7,\^''mK8 h&mࢋ6Tx o  `뎻`VTu*!8l.ưbifArd!yum $F . LA)+qd,qՑfau=MB̨@7͗~S3#Rmooe/#E?pMm (E?7ݹ^;Fbdсw_>Ur^m5O&`b=z7d{vޜb:YlEI?se'ɵ^;+ ti;yd!A/Nl(A'r B8<+XU맮La-qK[{6 6UZ}-_$+yk RɵxaV)ab}Q\0Iz'Oz̭@+蕍X'N^'iUK#YjboiT K: &MChŧ`bDk&Y=?>0@ڣ a2ihNPrT s-Hߟ>g%Cc;_QJ˂DOi"JB]8*ZaD O a8J(TOף`EYdmlcR j"*8u4cLS%H1:m=-JggQJɕ3h6輜h-Y`4l\i K 8`xɀE#VHWP,:4!khJK*8 ЎUѸ(g)m &h0e\e؛Or1ޞsYL(,/hj\ϲQΞI=IեbjqV!ux.luG ucP\ êETX~AMm5IΛ 6i#~vIмp6ڙv]L릁Mmt֨YmY\ǙY:+ǡTj=%_h9omg{D1rU j9;ahVm J&X{P>1):#a)N MV4u.4xZ#x3'h?яMqk=nutKۄԇG/&Nxyj>9Y5lא`4ܪ?W͔b]"P&%kА}t7B?yĽn֍fnG+ |f+/_;qS=,O;oo&ҒX w9 :l Wۄ،u{vuξ75HOPo^׶NV[B 2L~;l$>2]*Mh}m=Iz+^*DfT7-]u' FY^+ AITXJ77xQnQ\ر2 E f8'x6OؗΦ YwڋԬQ6hM_G0ٱJT%H-ICa0sxxx D^xqF5@akz8k}ދİJL]!t:Q4G?13n,Wy"Cࡿ0X\%(Fs= I~^0ysd ]UHqrcG#*>Pt dS$ ]^b;i'+zek>--F*Zk+1B^l?ٴB^TޝDm3Gȶ3m> !f, +~~ I١4`ge5w<;Zru1q­?եi3 _޸ ;o*mn/b#bEv nRbm@vNx1 c,-g!-#L{lhw#e"[[l%[t'sXQGtW %'?omo{ȉO˨G\GiNl,>ƸX][XNr,zM#v=gp:*O':R"q}ڧEw!]1}f=_vՃT<5벒'nm7e^}Ϛb$$lAUAW¾@ȫ,ƻlo*-0_@nq%${Aom}yvHNfjsݼǓx߹W2~LF"W r2)]E Ń)^"DjܲB_hήy!2GZXҪ<}Kdfn(#~V=h!b HYh]c9m-#b'B360 !#AjMn%,z92ipE jD4GU-ΚZBG b((=G,ҵ-*t.)RִX W` pQ@ld70FdD'`+}?fq]=x VڔKN,U;e 3,) NlSESv_kbЬ&K?Zҽ~"/=Ǩ=:>4?|uf˧.;ࢭ.j݁:p|R]p$/n/CTE ])+,}h35)h.[!eS>0V v\k5-&휀mOnлL Z6-eY-o;!6SS̹YتL )7M{OKLuNgASnh_J!K_lޤx[L8sν>!(5]^\1d{׋O9}M!a=B~qUCn:=þ3QMVB&dʲ"-@鄦nq zf$k[S`3o’q~S2[FswZm:2y]eA42윣͔*gs EʺŇ"]UJQ'1)J+S\վP!8Iz8,(rWGgAYUNfG&PtHD>]qBװRy {q{178O{eh5l9`2N֓hs aQx~)z29a+'X7ʥ_-2˵06zH7/D~;4;ǫQ+ S<7[+rt((FL}"4 h6 4#"FC'eEZ8-0ΫF_9Szg2tI=a #'ZP b *Xot"l> Ũ/b{Z%$Oc?3(x܎u@=:wZ.o!ڭfT6W5z(^iaI)4pTB!+*q*>s2ia̹S=h -- sPfAřz KEqD:3,mV@)~* B~}eS][v˰C[i k(yIx_ \N3KFNJ)fvTM Jhbwի8fd"rpuΔo[>sf5˹k[MWGdBۚ:pGZXg9E|hk?h I+󳑒 XwTTTjr\on #ı=ωjE];-dG 62ӂPւk~ɟĴ !Tmyv|CpٔX1=XJ1ˉ(E(K %dr349:A"NѨ۩VHHȀ֏hx+Iڻݷϋ{H{1c̠ giYډ3AO6N vvw޵e OIPT 8lPel߰|7c:(c)sJa 28pgЇ"IYQg#lK ЯD^8h Uz$:%%p/bw ZEֆY%Ln*:iP,zJ!-@BEnrs۰*mn)k&'M9*p(xC˅ojҵJLA}eVȳ kШ0wlYLE )ZZ<RW@(ІaL4JS>D"c˔./RY9 9G=q{iG#BӽA.G`G x[ /H^P%U TSeD(5l ƚ\Wq8Ð kTjbc}֖jGeY _N;;Vڐ7ۻ\I~PfiVXJ\(*^ I҇h4XS^[nI@.Z#˹BS0Kڨ`9@"뜤Zщo\1rAJB.d,Պ2uQ!/qoڧn4ЄԆ.hl m&Y.Ob ib]#w{bE.|Ϫ.rk+*=}Hjge]o0u\bji!Ѿ|_zKXm>}Z@mI'{՗]}cv8v9߸|OtwUk[C:MNyYe2fyU1ejs!)j9vvo+AP9y[7'SO~}č߸_uթ&>A<GY6/$VNᲂ)(p#Vn%G#d-HI ee+ Blv%6H3"J LEdt{*6c5QJ⧨T/@MF;{80NH *[UW4v,K.ݧ+Uv ŬQ"q+g@|/-+Hu~;7S`vĨ-Q; җ@=0޽7_*Bܮc;Fc0g;9)]ft/ö,@{X8-T>paTry[;;xGsݵg\7JۼX9ޅ% x+yb rr mD-K:ķI>F~?[_JW#QXm$(A^0d_Y8%XM&܅GxhYW=ur|+/~|6S^Eo_߾n{6/ZÀbDcEHRi# nP‘&XيU^^7jل)N*cp-h'ei{B{O&TՉ^46%ݙukC?% |)l^U 2:A *UF6By #7zQ1Q&{v p` IYS?Y  +wsa%n!G* WYcHc5t6SHg}e/h8eT͐$8 96:еVO> i 9Pʒa4w(X xH{bK: >Ii`MBqXԣJ'i44!yU28% tRLp-lOZ-ecEW).Č֌x쒗ÙP`S~~)q "s8F. ޗ~#fŊFKc_aQjZX~uy9mNھpEv*:lCVEuypΥbbN-FLwIݶcu؇˃ FKg|˳ :l`k[!VG?* ߽&-{e)ƽAOO4RҬ0?Iw;n6E:B3k'>a?y~_wηFEfշܕEU>}zV'?| yV>o^vuF*=B"W2kYfbt"-v":(V^XaAJ=K!PdUV%Y 2`-qmB?C"%AEeehp}qo+$+e^>qESɁ*fq,JSb{>:DEa->1ܞ!2,CQx֖h o :Hgp7n⸠³`g%^柸CU*4 8MD!vH xQMp9~4%(aC%H5iLe+.Ͱ^,?}y>W_ |%"{p-M陊z v'atEGɚv;l+RYy,7Ѵri3VGx#c:EG;|B9n;_o5}eZE^9v,zj|}γ ]2.I`IDNVZE9dKp^䣴 :qgN[>ݽ͓`Չw0]w}]85XwDpxswNJsͷ()z-0N1 <29׽( !6)oO8$`]T,*r|F `@#{: 4$ *>Hg`kҋ$ȤK";٤*ޖr+4#;]>EPܥ*3yz-+524x$`>QO!K+8~?$}7+rcxc0$>(HF@KdxNQ: `(B@i~l˔@2s-@#V@7/ h.<)u!5J@Αو@2g @ K!(,L D12J@J>8 Tx¹j\'aaKEsASҏX=ߖ=LG%̴9YgaDRߝsֺW baOeRH"o%?vB]qv@=w3ɥyeǷHd^Oy8_)VҦ ?9vbNߑr]Tt4#ܬ )=4!{CW7Ua9i[ڎ,Lj&QhiUf ~Eܱ3|׀}៳6TN ۭcv2vV_yWevr=8?*Z^o~AQ{Zt @~lbbJN$;I˼(k!H?0xwŽФMƥ- ]@0qh;fE‘­4/k[<ܬȹE07y]d '}:9ďOyB~VSHz"( O^p;jwqO=g$kuvTtUżfd5X0奟%s(׶CPp^q{p% BLγ"|݋z1|%85@`Zu4DԂD, / \GF)"YγbZ, ppjs(|ROJ(+ .vip ?'܁%lW0p'FyžIL)k/ݜbb"k*UB#pIGZr5QHvܷ?jO,)1q3 bgS8us]t:Fv6<=n*~nUeNM?(*`^:RȤ{Ixї-Jv<֣1 j `{&|Ag'֙+đ|7`.^566S"^Nթ`{'@VѕO$_AIGʨPnjVJvDB\ bN9:w{ z//Z'5Dt(c<ϡb<8˼ ?KA4E&q`0"Bw;UoO:5{xngZ0b,HnN\ l'-4o9~Cbuǖ#Cw\K3nRgҫ}W2!KjUmϺ_Pأ,l3}FF,ì_GJ-#{ `tcRWkLĦg+]Ntw7FK7ZCIzo>#FGG7qw%H/> {|ْn˶]4S=w-zjPdU-ߒiL<{6i@s]J񖷼娣#jÆ v=[0t3i׾ZDk[RxWuxlȽȵ4PŐOv,D/Q&*.QB}L Z+sWqY)m%QSFb47ijJK̢8@8p̘ ƙpWk4ȤU @yVe{5h-.2kUdq 5ie,c.oč,hK[j!e&`U&Q4 PMF ҕAR L:\C@ȶ S$Q/. L 4c;7DD2M$gSL ۱ #_ Ќ&o&A$HIexEnx@Oe (-_]^B4m˰$+&v )4d(U833#3Tݹ+5]i?,b%WŐ#C#)XL O !5S;mWУJʔ&)8NJhdԤmsfbJ HsG2[ ͵FH;>e"M 0|߉$1QL1H,xE/jֵ*="2RCF!ӦxWlj˖ػ\GYY_j 7_"$3:AУZjF >aڿ+բj݋^«Xَj@4RїHg2j@B_ZO PbK-37hnhWeᗂXW2ei3let)WH)xj=;/g]w.y_wBSnRFڰB.C8=>qs^ ^F7:UV:i;rPM2=A`G{syuS$h#aKp֐ev?2d!(CDpUmcaR PL1TL"Cƨ+n&dT|{75iHA6##|Olw5hm[\$֡[Z\Jάߜӱ, 3|/2Xl@&hhsS7,!n;j%ٞ`,f Յ=9PĿ^hO RhD/(> $Vw4Y eG)ez>v-Lghĉe9q2TSG)H oJK< =G kL# )40ΰ ⩲@qƮ!E2L@tx2͸bʳF7YZa-zU-PF@kDqh [縵4D#S%JAl"fwfzv>4r1GQI[v}bFgEPA*ʷvXI۸]p:eU.T`w%S"0R-嶿WZyYذk;wƔWrPż(uq=[la-vLwKi3E/N-Q ڶr Ggf9^ Athu{=6nJmJvK2}9#^e4_7v2\cڕ/Ma\j76#(I߫6WgpkX)r@<4dH(͕2J#NT5"I2BRo 7M^ՑE2%;jc(Md~aW]gp 0dH N"sYXU4TcvPc@ PmaZ"?ٌzOYSEzJ]k&%EfϥC(#RLbGqmG^!*/veXtgC>0n= ].˂N7C8_RqKyӌf\ 5ދ#%=Nr,0;;N=RA\II-k&RGˬš_ࡍn#&Q} :IQEiR*&N™`Z9az>]/^I~m"cVq; >) #Q2$9#c4Nn f1#CUAk; Qӳ8>ɤ:g[Łkd0F}-xTbYZ3%^Ob_T#=**Zy?\+{N,N^]F>*)c"U4!u]|ӪNvک]7H{m~i^ە7ΙQUy{uX2ܡ=b\M_}mۂU@dnCm]~`/V B״SAїA4bm?2RGrJo~BPiUc@ӳiY*dB97,R]Es% jw_dD=쯰rKrٓI/pvpyo2vOeAr2̺*!Ly7ūd;~CczUeShJcnG| @- &IE FY4b%4Z2CٶkjdK6 m 3&f3fƨTa(yMDT(,2L+*M"961ӄ (Z 7X> D_6-*McMFB ǔ%I&d3IiridG(qDi DZfHSƄTC#l&BVy&AsNi8FA$\Zޱd|ĭBjpfBg+,$%Pd[ 5iMk?Tqbt,A$8Ȓ4/40I,jF2-tQQh KA1Zh2˄NHjhi JԸ+M%Ӏ(ua,cd͚_2Jw<*<3ڧ,43 eca3Nin@7Q7~2z|hkac>7FƜj "ñ K-<5@IqIpN'Y!rx@d\Ojd zTŸ:gačr822xւhiB6@nX^d Ȥ\! vmфz~V,UWInQb]6Uj^},8~1I;!o `8Xp8CW,fYAŇplq HȰ^%8w-QOH Ct؅c42dB2F0AF$ FBXg#,' "7ߋ=7x°bY#>m SuN:ְj:Y3ӕEi,ZU0:L*2T+x=\Xj;*VQ8^ݲV/S/o]=C wA߆iv^Hy)'q䑾-'<;͸sIDA~EJrIn QY] BeeJ-k=(ʲ%2]IRȹOsJԦ{#i[4S \(LCؠ]UK)6 _;N8[S oܸG??7yK~6*RCVgQckp^]2/B:3fugFvOUt-G[ĊP0.%9GSEzdaʙSξfKձ>Ɨ{C/˴jѱJi6ESKI/"KZQ' @.梅|!251&xsBy|59p0Ű$qD&(yoL"I mhm %Qb^Y ŪĊcXNgZHa #- | S\'N}d]FEXH &I 0a˷ۑ}VrT.X'wTM0T&>K0z (0;LUGF ]pÖkf& (.$#av<3iS`,K7Хbso.uA;KP1i aj7g/)o)tJl$T|EJ@fp4K}l}ag*9 a:A3H5*3tBQ%kivc\. 8pG??alX4p6L3$ i[C(hǁ,8R8 0-3`|ӑ<'.sR MΫFˍQnuZLDnU31R$\!;ܳ&QwH zY >l ld{*!ft.C/;>+شiXɛ3VSeb*CL~P=)^?PDyejo[2OFvXoôO឵ٿx oxCz\Gũ8uVt'K6^׼f'ηjժN;u͚5^v)iUW⼨,Reb@1{7)a/nܸLOw(ccWue|zU໫+g^u nrQbuS~:#Z5 d$!G&j4Ă@ɒ,A(D(@ @ QD[q5[Y[k{$Zȩ Y @'(m _f"raxYxqQP02#eBH2cm1=ֳX0xSELjOH^9l<)\nj-L"ͨxQ4(ځs\&N9)}ӯ={e=ӟ1[ׯeXE AmcϤ` MٻY,Uڔ*#iQt+UL?ܢ(U7˓9_ 7׭[};ΊjQC3Wdܴ72׻ˋ9C$"Ȗ׎ 6QCbRhXs;N:ĉ xk暫ZtsflԪD%L\'`Y;̻}!Qkq<>5 "#E69I~0̪*U$*jg-Q!)hK @ʤb,K@0H/ofIPbb&HkL)+IwD|rC* : q1=2Hr0)A+wmyiO*Z֒=)W²)sK k۞ZЅQM*d-T]@զ[ /ˬT:7[D9Z6o eD#Ba:`Ř"ic.]U{jlxdlK/V5&T(5p˃+Q>O vBE1Nh3SDŽ)i )7)nڼiۦs-n۶uBzTIeɾgUl7]8k"ALalz*J-qzIPԸyCQS)ܹ)| SJ*&EJJ鱌4McaClRv̷]ik1lhI=Yb$ ı=xZ0Jv1Z^Ps"'i'Q7(a)6RhH#>zm*1bRD$gbàdMDbg׶laՅLddbdX1DGcXX8~pmYL, HjdX8^2}E',4 Rʶp_FSk w/ z 9nF +y1CG}V`rZ[{]7UHKRr}u /Stiߜߎ6Fy_0me9Jntfr^vtXބZÒZJv ^G=hzaB4B؎[("V6Ȑ/}D-煀k 'ʚ˧;{y-ݡ5W\uG w߽y;jU_?O4i9#" 4}[!~?n1/-YC55rhX\44E>( dFYD]W˄U-uvd=qf"E60T>j}Lat.?V1tǖ}&G׬^56\eeϘ~Z]HE2򈑤TÞ&a=1Vt |Цtx!b W OS ]$i !#dd`(Bjr:ߠ|,E0lO(,!\0l*Zv&Tx @(V( dYpm98k8NDNd\rL@BН0s1T$NxLNչF#r!]ܘfP&w3k' [dvfd32ɗT }!ðaޕv.Po*VkIņpfmx\b)#9N-Ő\T0H$ywCh5fpP,̆۷m|azft:~€s6 T*C5&1 $c̆_)`w8W+s7?W%FFSa BE;#K8PQȟf~ܧApFN Fm3ml#V+l#˲`qDb%̳Z`wtlЛ_~u=զJh T. KOκ[hshyB;ČtC:8%{5ZL0b7Y_DoowlR5@l.Q.5Ijͦ(AwTl[\]qYd|̨9.8vl߲b6iv!S 5ޅGudߏ?G6lmD~c=>O<0 zykiwo bV*uH#qd)14S§f^* {`DUf]ryժ(^dF?*UP+WZ [tьX M ;hnI5hdŕuݕ+Va4Cx+K tel)$ja6$m4z#jFq"r쯉I*%܍bD]j(Uޅ,ۛFz`/ u>i/֩(&FR/7:fEuiwJvJPKļַg?/wy'LHbnwm" O?q9 +s'8[,fٟos1]p<]Ux0hxӟƍ *;Cwu.moyzz+"rq'L xG{k_|p^, >bkole+|S.ˏ<=jt5e$Yg>x^ u-w uvx}-˨}Pל>v |pٶm=ܫni,ӧZ/GGGyDYNU~i}y^xaU̜{y~vhCJ{wzs=UoHJ>[GD 2FU7}t~xt>,J23mW@?= 6sOu:ŏ䡿E]#?dUtAO<_{g??+ S, b}eI?8T:c&''Go\XXүnظ/ XrYZzy?#<pcY0z J:O;o:o|_.422T}+',f`zW0-:eIMсNf sMfh,Ă@(F Z!%ΚGE'ඏwFb&"O!lc {ZfҸpT#~пp+K% 9r SL'@ ٌP;TK4L PoB!WmX>@8k>xc[9\Z11zn{A{xt @u(1KO(#2j#Fl3$hRmT\GL %*~el06CcH517 RC#Vfzps$G@2̌@׬ŀ%%c ,$a#s3۶)0PxܷqoD*?lםX19rUmxv}iX9Eϔ*$pIȣdQ0@e;r,7K "/(Qa? gZ`,coNO̪cFd0pDbH"2D ٲm20r,.LJi!G+idaï <6Y 'q"ێ[t{n)K-ri`{;eQ>f*Kue~L]W|[G[[r1/)W2.c&>29o{yq4 D$ nzϽ†O'|g]~nxT@IdU+WA.줓N'p?~ͷ<E{/G7s q>@?a*p ~.̤1'|G,"W3x7駟ᤎ/)}LߢdR -F)T;Z:)V[q@dk^tלxw! zV~[ |ٺ8٩څ׋*z{챀n^xy4i-@W< uEPҹW^y05=h{KG ?QYRԹns)z略iz׻N<ۄ-o9[uLw`z1 =ݝwީE &XG~Iks[Q\1mo{:Q,zWλs\ >"{Y~ _k^Rsc%. ʿyo?T:\s?~ߺ ??>>U //jP)77mF\Ā_D4Q 2j2Se~xFdH`Vm]P !-Hh"`2u4Rc)WT˵#Ҧ 7lDm Ʊ 0FUӮiV]dž''|LP ?Z~ˌY H8I(gu?1<~ #A"t||;|#n C#hXi7RiˬRT'WNx_zJCm-F"H?lAqqmrxA0fjm69Y<8Ik^`,8 #L UXpS=n]ເ@ f`sP@\ RN1!?v pRaM2 F72)QE+^uQ6ɠZ_a"7 8I}ǁ0ի+[72_ڻvL9D_.l@V*wu! "a siߓeYY:/50K^*t;(\Ѣ̴Dsj˦Wʬݔ ֮[. n˶q8c.NifxaOWj+-4B~z;߹̫}-`ʫaiG;>0zBʻo8tgfTNNN}Y;Tzzz]{uz  5("Lt4l+|zOlnAiC5gyu߀yY-69HV޷h{^|} /{ 'Z'Pjv5p/r- 3֘Ǐuэ?SviAT|%lܴmUiI%IO~^3}Tf3[>[9ӏ~t? 1Xi[yLC9W]󟚤Gyr699#>A+]@}?]Wj?Zٜ2{y5,W8rjr @ޮy E;cŁ0Ҵ46vR"E[XXV=JRbP/$o`nb~ȓFK&(TdSHAm)S eT諪sX~LQ+Vܔ))qA? K9pL/Af7, c[ !C)D 1Z6 0x4?76<(h=z F|TIkT-8,pcvv~n_+$c 2bTJ;6<><4"fPVO O\Mip7Q3NN8fgX D\; arjʩ`t#p9JQv&.Q&SiddxV22¹9 !@ /̈́(h=˫y՚DA$,"2td;JA4}")*4e]c<*G8 FQU=b{f(F:8TI DL)MEFkɓШG2¦Hj%Qy &n$$S"Ed&=Tsͨy5,r˯MY=4,tVi%k/1`0,2y8[[<ƌEћ;/2R2:'?pml"v|P.l [j y,XY75/{nM<1UZZ/:i 7{Gg9鹕*aߜs,;zه~/] [{raW݋OMM} I0 .Kb Bbe. F&j뽖N}19"׻U$__xnaQ[CE7^?ٱ^n#<F~Pwtk 㼋Q#he5c>gyJSw߄࡫su]_p|:3=]w݅vEr~к#4埏<H\uuO\+wwW~W/=o>_wUr9@~ߺx;y5+f;cDJ>镊bjbrtFF6J&/w-n/̘Ft]_d ^']UZ9;Ӝo`Aga0TFe9d{9OUDQF2|BժNYU4g(I\(t#QQ;p#FmL{Z*9eח9pi18x,ī6^l` 2mzo;S+Wf56ŎkX4[M5cm^xsv<_ LTcb$KS}QA0jW=V2Xs۷mۨ0j"I.ԙtV}n!7fFؔUh@LK!+EGn[dH GA>81L:XpA?r FI4ARdq)x6n5[0?_\!ذW ix$ȡNJ2I{ EĻ(zĐB,q SI`a>JVrc``/Q.VJU!Udyv:N,&˲F4cl.$qs)&c#^o:,6UCa8f<7Su,Q/R+.ާtmseyeN"Z:_2%V֡R E Po={P0ڊ/ r7aߍlxtMX.s{.@W9pFÔA;Af!ȕ_~೟EzYQa'h_~oٲEcfx߾^v N-b X,[;B-3)%5 SH-: Ez/Uלp M6Q2+\bP{7Җ?m_;_ޛo@}$FKmh|(j/?yf]UQ;ڍr馛O;Ԯ|ַ(SESЁ ꂘnonsjIPi'P{ݡ~&^]Q/?G}E#owk]n= %&SF2aʆU+jŷ)-[ɰ<Ĩjld/̪zD8dj#<Rڶ՞KMX(Md$7nkZ5gh'zˁI}2QS<Ҩ #XFms$Þ"EIiWe8č1aT^GP'%@{Z$.:{ϙg(j_!T'|Czw:ή"Ԣ wvt3g>K${$v|:Qq{/p{|!#袃fvl=77^.(l()uNv?}:9Dj_&mN*-B]K~4/&4Jr 6"Bc].O2##%C]pd$@>F:FYD,f6ymI3!QDb!7B$qi4bT{W4\BàJx҇"w%i!miJNLS`KQFΓ@-Ф+,L01) Dmt(;5.1Uʩhaի7mۼqz>%UPFݠs ѡZ|ڕqu]|ܫba@y2Op䚪CX]%D2%3'LuDm5Q!!q|fC! `i_+,Mc"\H IHN'!*Ђ Sy6|9;}ƍ/4Bd ` 5"L(E:c_ VMj*eY~F5[ٌm* vjС3 8. D'C-0RƯin"6"i`|DRDfskшjh=1&(;+ np\( dWJˁ,jK=(a ƝkZ ?$ٷ٦N+%Z<6t& <נrQGm۶]_%xqW#;nrg^o˷o߮?|!{?(7A{]vT<}~w}sssG;TZY\_ oב>/_q$ڨ嫗_Nɯ4K9ȈZLroxj%l6-W?u] |;_%r)郮JUX|7%/]~]w5ohe"[l. 0[yW_ #8o~׬Y|AgP׎mo"2=ӟa¬GV {{~%*Z)'aN?ɿ/w׾vO^7k} vBGN:WoN;koТG?? ~myp vmk׮G}V1(lZi &F'G=UT@ݜ)mp&M&F JnWsL%:wymPqi"(sQV '/NG\0$.HF\ )ff!3Raևc u05gPHTa A sD` UXN&-C&fX\uKP]Zܬ<5x jU~dƜ)D CC,I͛Zܨ21>:~c" |SH1%V1'P0˒D8\zC<0"'q|^}5+5LƒY?i+\H1 !=H\G6`s^*TިHyB"2О) F=Ath= Ӆ:bIsfg=ijQ ΊFbtvn&,Bְs6okͪɑKF OǴ]KD懢*aN0{ƵGj8i*UVFXڠh-Ez.rjt(l6!ul Q̣騀!{0\k!2q Ul蠻2'|pC=я~Ak׭_u>ET>v,byu ^|>CUv/g䩧z.ˀ~l'k- ᩁi$";]V]t4+{1ʈi,wiE$KE1gi%1WV*,6=Ozfs3\z*4Bɞ:mihDW{_ߘ߼~څj Wyƅ~V:1y6Z8XETѯKp :fu4 \ _,$Xx((e)Ac'ܣok[Y}nj†$^\C@'R50d$V 86L̚IbbIepL2೨LDS./QZFJ噃|e\8[$-r0,Eؠ5c[G+ :X'E<˲[C-R/6Ue#:4\FҬCaWb%S裏=ڵk:,@kMR YbE/4% ò=砬?e=A^zi_fDQ:zԵI,كHy"NSCшtPN.B$)zuiWk㧮„%#IoCp蠠Rk=Ώ.RllkHCx_EnIQ׾5hN;mx,'k7oެ&>UNF<`@/Ү{YV!c쥺 /21.um()sY]aq{uVir]ohi}*6 lM]B)7ַBRry0\u7rWͧK~gZAHb=ՕwovYj uY5G)N5?j[]2ZJڏd̚]zvV'Ùx}H"VB~djReJOKĸF2`"sP|aZHRS<.WuoZMYFdpR gWeD7ey>1|$9#|P^!l0^u@QA nUh8Eu6d0s)ٚVⶍ^iѺ_<#9?3utl$%G5L! ?`8c[84tٯe#M< JePX*P&y(5axRI9u˯[[O 7glzzFVRVTGowخOl/ṧg秛QFf/GɫW U<d0N̐ Ev(*0fY\ˋ,. L)ĐbF ;Ųʷ# [9,ݴ0 x<ƽ!78K]0-fc!P59P+7lO2(,-KmtmIkUM3L:fe܍2綰Z ɰvU[oFzS{źhEVk.nxdL)mE#Mevc=8"ɖsn}雺H?738>@&_ae$("W/ ]^˩^N<8?ZBFxSz|gcEXcXDW<8~.)> >HfG_]]Wk‚1v;{$Jy{/¡C aU4ἂJΆ^_µK׿umw0kާOf}V@I8p Їw߳d{M7]|%Qke($94;O oIS7"??.[Zx( 7M+`&uV4397 }_zիv۵:4-8HYġ\R#4ĄA)`goՖ3a|6X+cu3xCjpM |cnWqY@* ssLci$cXsL i A"BhWddyAgoaZ?9n Xl:E A}LHEe@lHO[d_ |@*"6vj{g :Ea46RNTsX*I3GЀh nUQ033[o^{`ӛz˶F$ >^)-Oy4rdž]>=[FR7P*޺-r#(3G ; 6Y6z,&Yj]9Vȥ]H;b+DgcGoZCoPaT!DT $0'*c@n5baA,lY w.\]Yu*ϳlv^.cؽ,^@wqoR;TKbȨNP\! BsaYSPdYAK%.eTvJV Yцhdoӹ [dH c>MNLR)bSO=J]vp/+N=?c!i{'5-{CfKL羴SQݭr(*D$Z 9fkڋyEضzc~PH"tϩ~*|G]Ȗ$I?xD{˾wò S>[v'''Qk# MV\|WPz=,Q5H>vI'wyWK'B7S:}޷H+]:YZfp4iZN.lGk-fͮz˗쳺Te*=9~˧[n=U{lW[a>.CnwZ2`1PE`:T.gYl)bn[m@٘Q&/~];*sk;V j7-uٙzڜ5SkI:-i.ހrdDEF*\U^TFq&@QgznݲaÖGVϛan'wq3L66¡cAjQB RK@QYxq,X$RiQgf!~yrregC+WM̮}lDQs:>?DZaBhڵёW mJ5aڐㅭ!{ͨ'"TpY9&pe TG(weD%8%$ HBlf&=2]qooIUklkaڰ=BS CP]@rY%Cc.22b&8IYRfX2+un' YKj!&;=pNE K8R컚U2KS[rZ W*՞?/ ;Wlqz&''ph WFw\KZ$MLLtc8"D;:"=m< CsV^W_/~h:==#8ㄚiz޴sp2 YUwqz^jتՅҐt^l@sZXc9 X́C!@ )^C}iy*'d BJ r@3wlMX : f9G4P0r]ބ2X, [{ŢK&_TfD(5|/pH 7 +!<(۞dznp6wsQDV3]p[s{/c/_lnEC2n0,za#r\Z.@( C͵jςfєM;s`PIR 1voLL#&,s!1E 34{@Ia JBkڨH? !(XG\hp7K7jL1aͩ{@?J5E(G-v6nt[WHi)21!e=f8߻gc); }6Dٍ弆@}G/BdN믽zjws3ҴN^rs=?mڅQ۱kjIQ質+-j'Q=ayĬb0+< e&E=E #]w`| \}5I[_]"iKE"SiQK wyW7p?š?]-ժd8 տR^#W:JUhmɢW7mQO>$A;WU=q0^!UfbhV },y,%4L}ԊR"GM#o jz7eF=Q5g(, t~9Уi`]SMOJE>` ȋfShgE+Dr Q9!Sn>$²}vH"$o JGHnPچlغeےUK =QslS7M eV`s5< 3$`G[Ń|0mCB!e%݉J!ZdK3ktz՟ \ߟy㥧hPs^:<놑m0džcᡁa=XzOV `4hcŸ5Ԃ }2`8`}NNp&Q3 |/l֚s>xC )K$W  `3:i` "lx^N\:X! <$ !$@Pcό*h5H a|urp`BH$|n'Rɴ',D1!~~LnFA&VyO*u0_~j-NH:T:N NҳUѴhg@1(C螉 ;EϩKUFDExJf7DIÈ3,=gN gT+ZoS; م~a̢oJ>a{RKTIM,} *{Pf`2=2-`S7 H^YL9C\΍Z`suןuKOђAqF/mt|ghu}|>s_Q+/_ԛk֬2s&sr#3'LTǑ%cjr fDj#l|<]3N=;*k|}[_xW{<*֊~V~cꍭ6.-B9s60_3u꽂a궉|J:Ba8C|/ x>|҈^ 6GbԪ|Xth:ppG ֋yh+QaVQjRIᬎ:Q`— +*Hț‚n,+f0[3F oXWFQܓg2om6&I=1UweI̩D qp&8si{gV~h{\Ֆ-4,{M r( #iF+ nSN9eɒ% /]SO+Rfb0XʕXY%BF<` :I`mor|;xΈ=ow\^fECthqv#H_z{ ,[ )Rk6lѿ( VJ˔NqlF9bI%k0cw#|׏~Ádƍ?p.'ΐޠjcm,:*( z^{ב!#έzl0(V&RrlУ͗v|Ϭ$8~=9-^3};B|˂bflTR̳ 58q.Lf"ЖdFKBMU5y9^JYG1HKG<4@ >*z Ȁ5쳬K< !`Ͳxb8_9jOթYk.b^Ts¼$ o~P(c!C&Q}{QmtMlڸe^Y{K`NCh@\(`H.%V[<+gf(K='#k&"ǫW*%:Pͺ.l-Q뭒T0`VC^m4ET+ضSmnu%9Csg6lيu{]rv{tDT(mxʳcѱe>;a!u&"NU#@B8Y釁^`;DtArD2ٹ!wbs_z5x.r{._iԧFF 띇'cub# W ^@yBL50GJTIV6E1g BUehb\3,J+lQV2}X$OXX.لS#lY֙fNW &eL7^3]eޙe Ck$%5$fH2[jur^J?@{:pr*ؑyfIӅSe'jO;O*IG QдXnYgM9?}[iHmd䂘 I!mq |oC+J8㌽ժF/OPHULD<vTW.\'S|Us3Ac?O}N=#.E_fytߌuګ2"pﴟ[( 3^xgI@tPM<%ևb~MOwo6 n7ӏ|vlÇzؚ57_^Ro 1oO=L]뮻Qv6%l=A?tO|iƟmm8nJ8Ub\`a&Qw. ۯ~!|;%c/_qӖnR圚IN5dQs6mxVd\Hp1i-%Fl#um;`t6 <4c񰔪Ô)@ljL &Ry*DH+S-5]Lm}Bnqj >.!!T1C>]W$Ɵ(`wnhHҀo7Gn|Ȁ`duEd!+#BXv958&U0̀4 Q&S噴{˕wv\Kઽ# ݆=0 h6,o.= ׈r6[wej[IC*"{htޜeG6<ꭗEZEɢEKҢe{~e so uSȉ2")PY$bYHIw*& m/՟?Hi]^^`; z(di%.,X [L<+ ka!*VMÂDZ P=*գs3dbQǕ(VCعԦ"x( ƈ nYT й,Bb(&& 8 <fIKohs!k;"2J|ԣ6L&`=0e-e1yЙk3̗'n$d4SKEf%NulwJﳮ]OKoKw Ӂƒ+]=;P|g!Mkڝw8Ӗ,Y0GJիFŁ7]Rl"(uq{2nrrr #zKjvOv".Pȇ~{xows]%z{<Q=ڂ6zo`3#w fcCk1Y&E?ba~m>0=CH;qGtsz´ٕۖ#v9 Ųyfϗ_I''v2կ{=7P.mВ~[VZ OE"Fd.bN{Y:guyLN\o:yMs5>FTBWF^DYڀN,vbf`HYa<`Jf!-fhL[3Y ` C=8."ɏ;kp:!o^czGPŜ#K'@hƙ~t#c%ݛNJbCjdžLcGrjW(ʂQe<-4q"8_,,^fi5/l2 kGx^pϠc, . <+D$fqh Iq;YaƆz4ҰBنSi 5%ob08Wck]z﷬=(h*5RRs\wA;=3Dj mہ2ik͚߼ 7; Z0c8O|4ЍdHZ~7mڔ5?ILtSvЅ~ ~f2͸|`iwҤ8mE* .5Chk[:Nht+ȁ Nk A_j\OT@k //g?Xе1ul,y4_{Zz#?cQo=PU—E_>ʸW lذUnkr᫖nsN_{7.[iZO}@Ļ[vՕ?؂0OnգO8&wUW~:%FLue/Yg {_x%CH]*+W\p2zר=ClɶRT*:\7%fڬ#byLPISRS.)**I\bT9sQ,#XGh"{͐tND]¼5Y}h|],"e6bӈ <e=8DQŒ3 )Qߩ:,J ̤0jh,x '!dЍ"ȫ QiF ~yi Ԇn^N C&KAl(hz}Yb4w"aT Ǻf@ &&gE*/ڴ4j {2YJ..Z87W>&}?Dfrnc 5 3 %[F~x|`EK>4+!B|p7]:ro(js0(@X0!BXv 0'u̗: [VjdQ' "F`DMEdS s0p60 o&crБqi!:<~gFxgx85tۃ6t(g}dx6kcǬ^{Ց uv2d9&vRN p 9kWoOƽ׮ ; qf={ 0>ʲ-RBdqه%XTNe|I'Ϲ;찉IJ ؄Ƽ矇{6vKմbeR7m֟y~?>:or˭YgqVʆ] /FS??:s\x0V됂XyZ}ff4FfCԪmȸVY$bb "OԨ{c tdc>J\R8d3E?]jR$kHcy"9 xe%(nX 0@_aj!r$##a= "ib@,H$AHTE(.° xIa'`%͡pdEC(}Ǎ|NB(RcϬt^ gTyRq?mT)Aehea)hV7rybfBe'4"v|M3J_z๽VL3*Fpz5QFa|E(cdTp˙qx[zӐ" DVPJzN$#"}BM MQ$eE Y6CU>v±I$fω6e˝N$8MCy%r-oj淿Ϗ>o5O2jo&`;ݜ sd1ufŒ7~/o };ImbvғE:C:G6|gLZaZƍ>>/7|WT?p)eՂtC2.&D|gYUyWc 㿋h.MKh2{V.t83``FG]\ h>{wG2IKy)'^}O9U&ɎNN֚(JuX*^6gH'.`< Dl)B |q H*W|Zjh+M$w(m" p-۷"ss aVUI? aۓ&_Fg=Kڝ=Ϗ?\ }bdIgOXRk&5ږ7ig4ju^xqbK_}SoرKuOn%p]lK/kDMlGug cgfzz’UH$/!;`ȠЬ 6mL,wliuZVR3;J3^1`= ]d=̫O2!悶0 c(ylb64)k"zS8f4q#FĊΖWoXmO4W1כtM2弳ՋڊbS˵>7C곕fe[QDcN@йq9rV@\Hȗ -s>pءG{ÏgϦ㠘9\,̦FJ%{h yL9Q(h/"T#)y+ഐ1xmX ^eҭLr)_4 %=_Jfq We/{`(W* GC x4sHRU Q,)4< + `_Y7rWNkH*Gs x$)Iicѧ1 9-rI{-;auF: ahD琘7X`&2fA3M)p 5# j!əSÜX7b8!x;cӳ3f3r" 5h󾇋`DtIOOP(_}>E>U?nG#@K%D"yik޹K֖g}'H~ibq!&W^e7F%Ѩ_}5Lv|E[AfBX7p# YJR>-oD ɞ஻ zZVNjc+slYqg.7m?__(Kw\P{!޿_eVh:b:" ٲuW/k\rž{ёb;`OK.KZEx7o/+\i9ƻ@ ;R*PG]ved|Lebjxצ.)EuVl"5"<#) A' >/g* !,a*  +r\wi-,W尛u * Cz \0CrCBD--qA|(4DR2 ygJefXNZhBNX/p w71=y-=b?𬗊%" _MϫrE1Skx~`xq\[  Nc{VUWt5:Jf$C%$7JȅX=Ru;&Q冩j"7ue1mrPnQ_''"CRWSg3l@ jp 00,È;YP5Z\B91.: K5 $qUБ+M*^%ݦREW܌Q 0}qH25j9bI x0uj pAP"K2`,M]#w֔z!gz[+ZUךW|-/"D7"kuqJ{"cwԌh OeKEko/R懰}x+UgYb #o/''1ҒkSmMSvyY>Ό{/[ RPo _{ڧz¹sԋ󏮻.I`N6^= 7^XobH`l3G|iVWxC/u"]E0P3/y[ptsl& ЭSz~VXYWil%N㠧ƈ62KH5Md0B@зn:%ݭy?ǃ9"4Թ sL3QYpU0Nb"8<!V.PGㄛʠʆ/T Nsw3̑Oe%>L AE45t|NTP5 ɩ A\BEPH~_'~&_ѡ{g_*%A @-~;]W\qRbUhU݈ ϖa|Vc@7hjj9 i[R'u3x*3z?ƚI֟ N# RH2a* m7Bf_Nf܅dRH 48)@im XTB+!%ܞP/8OS0qtJi_m<{SIӒR>Qֆ4 G\IAa'$ey{ȉSe2ss5FBB"؛`j';4jy!a0C"> ZDLt U3"j[6Ut˧ap1 ; =$0"7CiƤ)T5D$|q%a"tݩןs/m=R,,݈`x`hЄ^|~E .D&Ot[ TqKg7ʧbR]3hbs scpTd,]'H/0~a_nؘuָiy ݈sMcyީ Ut A/Xj-65OtQX~x~ui@蔄JZ".o,g\\@N:&p؈ϹVH-1Qugkcp2J\2 5:p,(Žze=G0{v`ńe4d'3Qu%я(s+Qne~S<*bl Ft긋^Τ,}~""wmotă#"q=0q6VBX ԍAj!M c_By@5LZyZLE4).D.B%CF#4fqb-p\!MINz)Pz5*+gdąuxOhAL"aWSE2ףdO Ǭ3"2 w SeAJā2 :, ǁT$:Rq5.I5pf %ೖJbXĊBRW3ReaKIbl)FR_TDS#4կ)4θE^l6{G-頕vNO.кu >IEQQA!h:0Oׯg+j^!lD䣡<Ӥ*GH nBY IMi.J!u `a bLo M0P=2Ba&F8 5vѲ4 BIZ-RQo})agsve$d2=@Nn&h)4f͆wdqىɽ0Rβ(5fB@]ܰ4DI+*;p[Ej?5`McpX7,ePRV0 @&Z- u&:=]Æ V{ ukb(FIGB# jŽ LUBqTK9hK;$zA*f($ jCGT,eqol4$[a߆6nj:+bh롼?}ʼnkHa,&ˆDv.F)]}롎{GBRqVﮈCfD")AOf8(DN0#V'Ed띴?*暂~1!> NP#P2Gg!D2a&4Wfu*cAk$Аd(#xj蝒dMIG8Ԅx"7kI(( ;Qtܟ7Ds/~  's?ód.T(C.T1G ^"Lg[uVt?u F!tM4%}IJh2-l190MH(3MɈ$cLcb\-gt$99;5ZXP{WbW\%2 o =$ yuĦo/A3ҫ1yu0y cӺz۶w(|]hh>"ph6UsN)Jaz!PQBBz-ɥ^zd2 R1>*/iLDsF$SE͌F=) )¹i:4Z7M?"^J;Fu,*\-^ČOMV\{PÎwFץc:OmѬ:a4רBűئl"cKBVF Cri'&!o@:2}8>IoIMMwGD$Q%2TЇ+BEBѥXsxI!xn\Q{S؀Hh!o&Nj+ x(|!*N?'ĸ1-djyCs ~ J$HPR!nEMvdSPd|Aݣpf3@<&ʇ=#d&$.fEc3?244'`7?dph_\4fky!j|L1*Ş(SlLT٤Z\L!s9GRy *zOԉtn$IU]Rڞo]؝9R=IpT.*TqR60&IBcثQ5I: $V.%T!4cCoNOD~?q=%j1wLT!xgf[a<â.lpR>%G1e0=vH.'SUzR#]F%=[=P@$h rRϋxq ScI&^(O:OJ_lp*⢑YײwpBROl+PހZ”:m PfR Im09;~:S cDGTZ"$0>>tu6 (HA$,i gʱ ' 9#z},;E$ Ԇ[֬Xˋi/NËQJ6MhntA._#mF IcCȣ; TChNNNm¡>;|n ' s e6 4ӏ4!>\0X5lzo6,1p喉"ĶfͩNUXB2ޅ* {]1|o+$D8,MgQj${"O}zw69;W6;+.:TNԹJ -]l9W$ RL5*aKL^c9]Gs9 f2ZSCQ1"@~-͖G KM5a[lʣ t[R4Fɸ )P$d6\QZqaHT 4@H) ELTI~Up$tjd^hO{H"Fw"E(Ef=&zB: rQ1zU"ϣ/f Y+CX#F"< Qe(;P-( Iq49~*: 9 SN .08񔤒XVE CMG;Pi.%D񐉱{)f>L jN#0zœM:qbvVQk 3-F{o|oF˴CrQΏYRT)dxMe!z3L/z@Hz[{岿:l+I4B;j;){6DɾW|p^2I)1,M*mߺ_:$X&rl%K4J:Rl;xF"+;"Sپ}lEx2",:!t8lHFMN.E]/3HLs4eNHPL#;C8!y ?=2Ò'GS$|.]cy[o93Vʤon9- ̠=Kzvd#޶0AHah-+d&4,,{DLz> OQ{DA:*AtJ{^Izzi,4m7Y>%V&=隠gmS܋niOԖۊwc^߆oOMOԛ\6sy& ysE;_7vtٺ;ëM۫5FX ljȩ)V["7oܲe):WD9lɲg۶1/._ZZf=i%Y9aUD؍x S= PAF#umZy*>kD8`0i(WA C,*IS_CE^:rIJE%cרbsrZV&cn/x{Rr)jZzeZi!Ь\^85Y(Jmh`975UhHvG^6sC(nN*t礢u):WDiZDb C^=ІP;J D ]@Ly4U}jGUv$> ƽz}F gV)2 ETYZqC4E]F%}+BMD0!IH}u^f`)Uf&Щ@}!:3IaF˄PFPe!Ag9^`x:M7 ([½55댔1C6IEchW e,(D)rmUy̌M>TޡԵ+v "n oI> 3<97 @)ٙo 98Pc 2I%Wڢu&tr ˾!K?l100w[-u4s"өB:򾼛"h9\XԞ dw4BT:۲=WAԂ`]^3günЂH&{t3gD)Nܸq×WgqAk7wuֵd{.-+2 ىbm}K7U˗Yje=-LCi4f7Dqb#ML2u#]hDdd[RP hG!+= BlJ ;j[׋Cv1@y4?,֖n s֬fOw1`" ],Dd"Y  $ \9YUN&Z5ETcQE}RU羧G,ocysɏbYB7SqT(Et2DӋG~8j[>><{xv1NLEpK|< \]iM+DPFRV?Mvw|1ό:K,Ioy~2Ϊ|:a+3s!(B̡Zhm;rJoGhaUo6G1XSs}W{=r:g^Xu-ݥ^?:r]n*k^OȆУiG{}juh-{3LF +v}?|z~œQSjB_*UDė=7-Hȕ A9$蕯? ׀ rL`IlZ+BvRG1"yoW~I[WC7WWuT)kI&}ԵxfG-38Ldǔ/k+JM{kQnbcuYD)iIzG0 vG0F,-ɊQZޟo͘tNmOV^Kbp%TW&㺧"DV:?INN-MLL=0h k.tEIzR/ӢxB ^JEo v:n4| -hEE3ժVu+lxL@aFD+]`t|*Pk ~´ 4V 5{%@yYs40MoVד4;7UyX=3 Ktb;;=%Kx#YC`tj}QvPo6\iНbW}ոZ\o=G{+~ @tL:"Ve?~ xNI"iK,܆_RQJcr!EB0h*! am~+IDߕ[J.)*yډG-P+w;w<-ӏ_^?}4tVCo]=9I._ˣIb{2T4 h_b$(TfIDŋM8'k)kq }#Yj'6k9b$%)e YEqc sEku1==M2[._Lg2&#TUF򫸒·{N k$~(>!r(D@'[_ A&(Bi t-e?AqC:ѱd4spkƇ%PkaC$xHyݪY>& Y8ѓwץkH6EMD?$E^eT SǭA;mĺD{;fms`:Nz?Dߏg>XTGm"*X7=Gc. ܿ @}%fvAưÃvDˆBP}Nk>R[f׬=~#mZ!/'ܨh6&Y[_s䃹qdDz=[ T/QCVvԽ/{hK})8m= 4`w4Il_o:d~‘v`=ڷǝW0.˫W7N(daȌOt0 #)K#3HF%2=;IQ{@#0x`ŨMp%xT{mڭ-Jl8'(I INN]ksFc8Ѹ$DG0T+""}wjWeZ-dv+՗-n/7f ,Fʉs򺹼-NNebӳw<.gǡp,\A֭Lp=*PA b<5n$cU ]+W|m4z^uܳw=xY`#b@r7OlCcOHE-8`F?UsP9u5KWˣRR=(fZ&4j0͔5$?Fjr| W\kZnK*| GʈA>K ֍7Fwqd*N4}CmWG^Avn}vYĴ78o mv5$% iXD1P=hUC܁ Ц=뭅BJtF>&]Ù[ @g)E s-5#$dmB+LY)䁴ԅw#T3D`[ +0*O4~N,wk衉~P(6'~eY}35 [Rlk}6[$M#Gv\PF5E jq_ձW󓷞?~ fF=hm]X%ȋ!#G;|sW)8q*nMpAi@|N*ia(]U9 8ǢB KV]B]}ȯoǧ)tVklTu%@b{|)V EfE,.WVa 6$A6ەuL\oD9*E&=)ɟQk( 4:Z:U:AܻMiSX_{<Tt1@6j_j#J態t=Il`KBQ7_#,[2gI#v[mP70k-M=f!q[W~@uǪwwߠ}W=R=xl?Z5\9Mc_?i*k"S5:vgTK#9tSۯk'78z=E 烶 _: A{_ꡁZ\Q#2'}Nwg6FƌZ W!o@ 5ZJqY{ν61;f0ޭ6`M3`Z}KYLMo7(azPʃIl½'9 P0k$|pY K܄ *!nJo*1}@ o#hK]u*[7-`rS 獨Y}7蛚vz%Ğ>~-]}[uW [V1vMOG7ޯh'_M|>?҃|ʒtRTQoi|:2t6n: #M{̈xF>^{ߐVkz[;iW(zErnN:ΗgFYi<7`0ҽt}01,B}R lb:|>\ :ՀNқtm:+}:mFa>[$,\wcjĹc ߆xrL"YhJq 5sfd*okQq+i*վ*s_y@" Əb~h 5I$%1m<,99;9?}7EP{'/Gp9rq~Md'gl%:V`sZ.K7mϟg7\,R$CUg^0b_^>M&"iuqȾ yi Ss9Ƒ,6CqB)aaAqĥWTRfwg _QneTbu\.VU݈~J&|pfټ/Q{wީ;F[ ֓kiZ~#.40 MJ’J|ACȁЦB̮%8uZ\f18IUcpB01k "Xx)֭jE)^jfS.>6'EUuGqΫY'Y:MWu4Iy5;%YOf|DR|:d-_눩 ލDiVs@{h?v qt@~xv0hWJi(%u="!8Lo|D3(׍!Az@e8Wh:(>&k-G }?ѿ д;`ǩed )݆8w@v/g3kk Sl$nL'ױ ۷{ P]i}AGǑ%fش^KF;;Xb5ڧZ/d/CF aZ ƠRsusyueco7Cܐ+|S3;HĬ e07=Fr(-3kLnCe+ %"/V)*;Epv:S"#`#U:t l f)Iѭ?ybLǓ$MNW}XK5i?\<9x?o~g'Iz2ǘv^pNw衯]9prBXVEQ>ymYǏϳ.⽯󫻜j<=}Y">9գ eta5dK;EM+?P| tR[.lxȦT:lXͥ[e/˂?B V䧧拍`T@it߾,LNOIgZUnj0;,b/-i1Mk |TmeQU P0 V;! [ӴAᔉ'&pHap#+M(H3x-R00ط܆:52䚀0_r)O\,yQO4Ut%i>=u~+?s65°3IꚂLk|Yl3 nb]rGzlUnv¸wuHesPb3"#:^h|DPIQu hUB4qpq/^WoE"$Q'ZL%7W0(0LP JRMSm8ӫ4el/R/d:ܮzˆAq͸lKE={Dx"p!f!VĘXP|C,y j!U/hy'@UT-qT-_uS¨*c^ϡ.#[lu⳼)oL2j'4)"`唇  fX`a_- 0*a4)VZ[GF$61ó›\u:T>lb6jFŨW (*H\91_B_-/?yD磹0yr FO&yTMTm&/m檮 uRǘ6VI[pAoIyQ _;{}dz]8臶Gth״wF%̢ilFkTU? ۀ֖]QB÷ƶ{{G.׶Tܚi)u^  "Zz}ȝH\6Xc1}L_!ݯRgӺQM_ 踻߯1u-he@ݾ9#$}c^QD||25C|*g~y}]wcm}@;AH"(G8lͭ'[> )ψGh%@[mTK(Ы@kIO_#첡}foGqڔ+sz hc~ qʆ`UuU6:vNt0Z.}0Tؘdӳb~x.L&g}gAIF1rOǵՕ޴ ||BKǝ&?Dt2kSW}iٓ$'0ZD_ݖbZy)4CY>GN$hؠ|y_`+-!;ʯӷt8QpS\J&d]]ԍJ}r2pehLfՏOgOf]\1myȦ֨䔢Wd3\4qYab DE#Ƣj@;5CxVX/uZDFZ > /F:BMk{QkE6q JI Z2?Py1M"ӐK"Jc3/[+OoB%ncrFUY4Ő+b~N岷h +ިiV ,V(DoMG_|{X]g}ZM]ݙխ6z89!xah\5|0Z+c]NHL:]ZQڈR&=6O֦TA:-%>Vj)Z?ͷ{|z.<jY^AGnDG,AYae\=z&?#?cAtGC!Zn qR7!KGN:P?(gAAqӢ{&_l6uH^d*i7e,{48IWu+^0Zom$1::ȖAz_#8bHb% :fgU/"?FtCS2j/R5B-j-aa^,Upg㳒D'i4ˢ8qU-ƚx:51,g_t6;d od9L6#]i+>ƀjp 4q5hEqvv[OZ΋<&va̋,ݮw/%Nf7a i嬭I, =|j[sZɩ }+j J V.d|Z\Qx#'fy{?.ϝ"_oY}^w%2 +IMa-x+KK bLYlEãw^hynG{i!`6֠XTHҗ>4"`l̑rb,Iúio,$3nm&B;!kw"mq LiL\/^2kU35bޔO\t*n2ďT׷wٳgYHJ [h(?H% }v=Lӫ pJa:nTn% K{; kCOzA7eR=]P&}ksU(5ro{ku};7Ԯ(zڭ:O{H5M6ea')Kf)mdcK҅p Ĵ)'VIC{pO!ߊ>}[#Fs{&n,tI]}lJ h^Oon.NP쏴݈Ә `oɌyP(㏦*=U6,q%,xAwa+ӳ&I_=u\a2v%kʺ$kۛZ*r AD.:iF`( Sޅd6q)L˪Ng\˜O4IN.N|Ib].g/'lT5e6}y'|/?*b<* Slsy0"F26%HP|./!.`n?+Z-M^RWZ\ml&'ٙ[ݡfOT?_y7e EL2@-|]]RǏ/Og(i'v%9#r CB=0|>&t;s!_HÈ[r7+11646BuP:C2h{qE}) U(^[J.v>&LZmQպ+N?8ޚA|j(dUEyQMROU"O'q,nO''YDvb9OO`MېqXXXrf/X?Ugꎉ+{ufށÇd ,C]W9zrJƤu/pHZ[*E;'#f:2$o WY찝`D;}U3e9;GZcfhڱTdSVI;%g԰m;&m $Pe+??WHlY'yjL>fϞ̦0!(tmqXHU$zvHm-|08 W]U-!H_Aޥx%#:ѳ+XXMH, ,(+H8*${p xy{ WrUQ^ad;|GM,YUY*KpW$꺄G\fjUFj⥍N"s"+l;0ͧWØdH;HTnuн!O{zgV풴C}wtT=Fx!~$= {8?''T6߶uZʾN0?#9fn0uo/cg3By|_ F ujzwp?Ԍߥ7QN4zo3.6(JI ^].ѡӤ;}SHQ5_jOUu{s%߻;#{QƦ>xq>=X.z!wN6KݑejpzDO;s[=ar3( z8tƨTޫ?8&唸I]aJ dh #@ b g+`^|@$WRba8S ֺk;\Y5ĉծ,VeQeS@C0jJxl[, ;tdxq90"cVW/<6IHY5KFݤ6D#|EۦEMNNoxQhz~zs9?~qwd寀46I D|R™&$$ge:Yk0*divWqei% ~T"=aZ(F.az-0d(׼`NTEZZՄ&pѨ8VjZ;o/.FFXD.Je+#- K^|e4Fk־?|a'1|Ԟ(+՛;Jʶcnh;ࠇOz?#޽~ulVya<2$^] t8k򪣕٤ 莟B whإq@-zaj5^+bako mЍn ò=Gއ1FW*_/#\^w^PD /=ߪV޺:od:iQ#3:qѝc fĭQR_a ҇R]+GI}2>fR{G0G|m>i˫>nq~v#X)-%y~q/mIP"0"piD^M`%mFUQF˩)x !TiWU(GW#&*)[17l#UYN&F4)ClZJ~FSGEUO2+;Rl`ب>#h$bz/ŊhYӧo(?|NeY_.%xтS66k h䦲D5OE,\xxZZ;Ҍ{۵'Dnj"M>E,}hxTU{6=q4VwX9H Ӓ ; 3h1NWA[#\@V ^~_nEw,):{z5C^ߥD}m}H; nͺ3經~6şiTӲ[ޟ[׳{C%"k+x>H [b!;~]{4=WPn׾;/y$n  7aZ!2 o^c$HgEY@q2d5R ҁ?&NkD!˺]H Q UEҵ;0"1XIeT8Va?"'fɉo/PAJfmͼ)?SQZz8HKH&YX fxj0W sQLj@HlyxKb1L|12Y*l]Ej! B0{ !XE3r]wwQ%oce@}7Ic1hx,aNDuD>c@K}ذzooYa noCI0970H ؠk!h|Vm=3jD)j;,Lm!-nlv FH 7Sۓ W3eML!L~Ҟc&ʡ%=mf]z`=Ja jb[#7X-޽mrPјڭ5NQTa ̭cg8 )l4ny[h8 oa)޽Ntw&(w~f{fwg*4U:ti hxshOl* ۹r}~β,p_D-zD및woTF GĿ@'# iDMPƑ+9P6#UW S$F)Vm@WUuQY8J$s޷ujܺ,ƽ8[F\x'˭ $o̬MhJNmL{m.tNlJU2@)1~zj*.}wN<I<=aPeKbͳGk`,q\&tHLJf f*uUtRzYkFNWy)D4;z@pc_wdhgZq«c#(]\;츞ܪrAc5-}j=zdST @4l! zwZ{/sPkDЇ-h4񏘮騻2]6#,9w(3x;Lw*=rt=: cx?>`L?mbЭ_[(hjQ2Fa[ґ{^zX}Ÿڃф ; YC5n_GNc fh@#t 0IF[Ts]oJ-ovlFF"W~xW' IڧzQ)QA#hH g0O˶?osLi*#6-ݷnBMD8#Z0Ni2AƎL ژZE) .*b썙PX7#A> (՛(.aE*<"0S͍P1IˢER+Yuww~e~d:S$NҌf/k G$CRlYcxo|q/OgS.Pn29W?Grf)ol͋eFݲ`H MEbVjR@co1-cX!8t'cP )W_*It U%&Rd`ڒ` lOκH1\Ae$QQ0= QFNUՒ.|9*Ə<2v0l".D9Jz)^3nAP2W#'0!Ȗ)+4A4 1R0fEh&LD RV CH5">>A_u ꑺr4FFAin"N,kׯ%MYDI(M%,<Nf*Yhʕѵ1~cwmal4Uo!_xcz[;s[V4L^]@0jP{lځ\u\6PqcF| atW-CXgGޗ P/"z421r(񁍍*o'|/Ccͥ07Il,Ы'/7opevk?zD;%J&aNƷhF.F[LCrC;=mT:7]WmE=@ " HDHUUq O95O4l1Hӽӑq!i 7w~?KϞ<>0 ACMϸIͨ BSDE| "h>0 NqbA2 'P+TU [=xE)F !Vo`FWcUnw#[L\>ܫA&Dtd^WpP'b'i."凼QM}#}Wi"^896&=&Wnm7m}@?$/{Π÷==L&N|`)(?}O2`3&,Y13dh-#*-Ɂ@6' U )`X}k$=O㋦tpeWy5"!:. EYyS9P; əHfw $Q!(1?wٔyp).ܝaKi#J%m`/rz rF"%!+PbT!K?#ӢRg _EY$Jl/<.\%vQKR,V/+yVEg߇Ƿl}>gZ*5!Jyazkw"}ՀjT710|{1R6!q4z{~mz>4+$LBuӔnA47Vu}hg+&3G\WF}j^ӡ$v=l$j=(dE -<}tAgqyoM1=fJ=T .jDIfsqYFLzӨJubzϕVM>~TÝ4C]dT?¢G q$>(on߇=ID#5R t:g>yq}[Ϡj3Bjΰ,򺱹M%ˡK%c SQSQBÿ[#UuY0@YUu%jނ^A>6 2vMoM[H5V7W|Z.@^pGt8Dxy}KKum! `51-&8g'74")v#>\hU5٦A0DZ2TJ~QY@WVǓDGrR)!PWyjB %(y0 ;z .B2>qkD\Ag75E#3:| P,N&Z]1ì6Cב!m 6-=K$UB| =ݤcc6!>"v߈;v_ؼ3F@ġbI΂'6'|aTk ψ楻fxŗI& J QR,q/l~> x&o/j.FpݿO_IllWފHV}>mfC{33K}nY-h-n?ȔZք=kGc$ׇkލ2ĝDu_Z=)ƏGLn;g=0&߱;T42OS83I+e dtxke_S_S7=n=N^g2^4—vvPc7V־Nfu(q{ۄN/Hzqn:ݨ zԿisNŰ^_S3f=ݶZg"'#:ǽYf s˵o\VcBe(6&1*k"PœW;fP[?>wp{6)-rx煃ztЫLi` MmR)J(xm =$l=jJT{J8Zrv`OS]D"w'ۄ!| cnC&vzEqF'3$k7Zΰdp';Nrp;M~4qat'> mYP=.zLy2Ab4PuӪM1N6#6n\E?[RUP}җٿ~aM _W_ڿw/7/5@h N]g6t'k\wUSs3?%doNd2ٟo/]~~OOu7n"M6l)S'.:\iƘ e>ms5zTnͽ*>; Ӧ '_k #?пw?ud|@ApTyumQi3$]gg+-O{w_-s vFQOgY?_W]2zډ$ɠFu(4&m{9+=i 6R/硑sJ=~ Fz- 꺾_繫Oa4fD 3(]p,#+ %qjWt%LS*:/VIİJeU"ɻJ,E L65 ()2La/I yS2_ga꾸ex-OMU3FY\yYZrQqHfw%uF^˨y@3V3һ>~[O?xĔ;wla<Z %*L}nl #ZLzk\%h]3U2lONfOb 'Qa|@VJH3Ԋ,BK%ݲHoj 9|H(́ z+PXYWPX*yLH7 0'9:`:GF<jyuЩP sh@EQTRZ^q4NU8 6 oV8E$v,#f48a0͕~kPXqi0wɌ+~v~2|dZby䜇ݹU:w'TNX_瀬{]HJr!lf􀳤cW_Tt?WM{m` /ѽGNub+&Hnxe/73oo}gsqq?WW?A" $Ś3 }0k()ߕ>;Pט݊A/ܴZL#d-j{ =VAc;9MQ8ټބc=%6!""!hId; M-rǐZ$"m?EQiG:d_9ۑ ubP.^gc:?&:tL7m㷣lshHmG7& $Q:O=e6WmN약QY{znB@iFRJho'~'6?\V~v逵=+k;p zHRvvhTs86N#pY:Pfs焹:K֋"cc Ǽ¯rPb ^jUv$>z߆`lH]X})4YSN,+l="}VTEN/G-fIT֋an}[?~$qS@hJKNQ"5M339Qi5dtDsP9ҁ&gOaLj|.*\au$f,\7"o` PsѦ_fl:AR"bL0M;eukDbLzHǘ+-:#`-ClĜ<D6fpN6h2`CbjTK'8I.RGR3R\wy><(ڝ 4V]U% _{ԞO G@o|Y|8* i{G%z 80j y`H&FKdtmӨWޤ?=+L<&o{կt{7{~_jov6qbPM_d6 BTF&f׮3*нjk_6fzkK?)N؈Twm0LaZ;fɌޞӌt*:5AKIÊUˌa< muIw+xʗ0]f_?k[﷕9nDmaIiM<3"t;a~BG)4(['苚M&?gM7}}Pi2f]~m:$ueҲ)k{4r0;'MU wR 7fgBUg9w<yk%[G|ɟwx[DoOȴMK jPtnC"}dۿ@{n#O!U!4UIw>wߡ@F T.T?硖 Ԧ. Jd@#HnE3e:&}bH <*˲YU1W}0&M\jP50Ud!)}w%`{G=,N#1gUTEr8IV"GY~h vR^wB aŻKI˻yYT^,r$N_Iүhz_2jk?w)Ls4_{[μ9^ߔur`3ML1XȲV^|GW.'v^~zY.jSb9eja,cB91\y޺IŅk c0T yҔ=6"FqſlUp,16OxOYռ|K N72RbWLZFɴ1sU[S8|#ąojNJ)G,>_@@)LՅ3 N+t_{q{Fi߻L{wgW)H00hjuTh=Qsln~?d[~o i|9f9?T0>M M MѣjAT-HTZ.mFpkNNkŜ=R5=i:H<s |@k9Fl>u!NވOچz7R !HH(J / "XA-DT$ZH!=_k93 r9Sٳzֳ-r93䏔,ꭠPqƜ;81liH/iƩے=>_l򲇉͘qJ2SF +eksL% /Rdbڊ$ e ,Ck-SRB<6|ذqcvvv"H?(+igG^+ e;k|(ZQVQ5a̗?$sXԻKN>;hN;/,̟|+駞\K/b„ scƌW2mAѯw߬{7kذa]|ŗ~?ӻv $4G+M& ;}p/ f̳>3kֽb|ఫWw#R(~`z'w3N8sG~`,*뮻~v~ q(e? @uQ={yaÇW^yIER.N;޿ʂo!*>>i߼e #GN*v{wΜ}Yr |2}g<ʫ7!=A;죎:_1wB< _r/֬]ēOZJ<ӏ?.3gNP>/vmfwN*{̱ƍGXhyVX9ip|r5ebo_{_1}gq/u=ٕ_?o']?Q볟=c;vl_zGkYG_t/6غuKgr13ςa̟?gM>c/˖/3f:: >3!Wn!C^|'|?iС>k&cG=fр%K/Wа_׫&zlȐg7 ^xx^"qohh8Z_0گjxaSw0~03<#/S1>ҶL{;矟_/ 0`go o\yyVsx̔~G"(Տʗi;XfQ ]M8P()fIByc&;PnqP4JV ēpD6t75=hz$^ңgR vTJ' xR7hWr\=2{X " kb6(tBBWdZR}鴎C?P ޕPmL2u0b7|v5Gq~ЁS9Ӎ}ذx@J&|r{[GJ:!S_tO?|)$v O1c_{먣8qw힞W_y3Θ^C ')-Ͻ‹S#]@D?mlr9]D.. LW)WvW>o>od[M7t(v1R9spB ;SaW_yE:`OsWK>=`NDo=l~okҤI_vYp"aV|,i:CZaPG#)*W~&~T p9܁C9K/~֮]۹u+z#ku5t蜧z?: /xsضロE"?~z{M7ӷ|oY>l8gm$<ȑ Wа/8Jo/r[[Ѿp/,h2xaUẮuC7nl6O?T8olX4B{^#Gg?5hTmwpE}\!,Z5Tc3ȿwoW2eʞDܽ>)7mqc6e0(p2 əc|G Wc-7WD/JY(Z61=(tMTM).r \ ^ЧȞQZU5@KYP ]Ԝ#s6:q2RQAA434N$ |AdvF"м#fBzrV&Mƍn[ѝ,$Q(*vL5 UUvlߵyq%I+UY9"E%5{2I]I$5#- 9Mh6SMLSltT 7G2*NgfLwԘ rr]ES1Dc%c26lEXL56-KjVp[o5`H)'Tf܆RQϤ-^YXt8I&VUa#!1#b=Р|/uݙYYpS)|2_d/XC`-D*< p,$3S8gZF=g*k1Eϙ@yO+iÕ&XK=P SZM!Se$MV;֣%R?e[SoʗI\>bZ[ZxM2lX؛#G+JHy`֬Y+: r}vء^l\_ҙ_ҙ}$80aM?No~s+_*e˖o}[3g΄~=>Ǐ5Zq ߸acY./xg? @e].\r̙3?E2u422uy⓼fZsEYhFc}1:p pO>Elpix?Opd^zyIj䑇:glo6s Ϟ~ک: %2q e0zW;c=Q E{cǭ\ xet5s= .p0C+-[o͛wɥmWkE'N_r%κgφo;qpYϚ؟^p~XEK  /䢋.';8)Sf^|E_Í?#RB*痿 /!u{'Epߤ̳=s_߸q#Pޤ5\py]馛sٜn 'Vf0.o/,O}[W_MYfAG!?ߺgׅYL%oz{hRk;LW@p]d!1G2 8RWITBTfk hXf1o7bwg [{w4fyqB)Yӹ#TD^ƃɼ7ʿL4ł!y *m R? Ht  eG…yH 񰶸b˓̐'vi0!u0~<"@<=KzY)}u4њ5>,GAҟ'p1ͳJ'Ng~aÆ6n(Ą `D߰7?^8>` /^L}Ey1-pJSO~-xFs=x 88P}:o@;s,x!‘/^, ʯ;![~)9_… aɓ'ɐ7^駟 nDr' >p?v,[Ay#G;~ݻwsW+uv߽mܴQ9x "zp1l"2#eٹ<*(/ؼe |5a"osőp.q|0_͙hoC<>tV;sƍկ\n޴y}d9g?<_EѨ>\n'op_^@Ɔhxem4N8ќ;a,")cheɊ&$7l6+l[;r#ii;D'[;W6vg>|u{䑿³N8]{Æ <V"6j,t$HM?7oo`$o8t號rkl:HA緈gF1GMen^бΨg-b|%fX-TW.OKeUFIړ_,V#C ww嫺zzJ٥X/1l34-FOwT0c#1OԳ,4b` v%7o"}Ƶ1KPWK*x * Y:FEAJ @2nN&|+2OF 2c4*5Giv1QDAxjK:Qj+B1!765.t-5-EL]`cT6P# gwlW)`Sİ $T&g2Z Ub<  $;f1OvbwުtJyc'qaڲ[mH ѳ0KV$l\Se8Tl9s]&=װp@)G]򎝵nV*m݆S淭ܴ}Roa]E֚$IQGU{XCw^ _Hk03D18k>xR\OREO`zU%AEwL~g<'WYӻ/C㵀MŐGE%Lnctd`1;l&V"|zfZĪ})? &D}|^> #cM9Q̲d6 8i|6n8'O; .O,^{͵aSO,sh(y&'j 444K={֭[)M; q%K`R =,eȑ#Oa{yX"5΂4|>~>Ц͛N2eqWҙ A"d9#h༫W\tErE#7|}sgO<|j2doOœ&­"(s0ǎ;aea#q(}+E>jhq~K4h={9O/~1LW_}W_R7'&MaRVyn qMlxx۷v:x  `p>@#R—گQ@#ZQr+!ɳa}+YYu V,p]wێ/aa8aҘmMMI]Ec̱]䗳\(86JZuP6Yy, \m<u%a4E<q]LTL-E*@8" x`%DK qZLC%S)%^v +7MvxJ QJDFʴ%o,x̥ܯO^5+(,ɀk8tDsѕ7tAj z%U^z.aίL >i]۰j5IUUH[Gbj{i[ 0% FRK۳JZ͔S"rY.h݃XɆkIy3M "&cveMہWTIjՔ.YrpLWGd,Ke v l,u{dXCWpwn:&&0dH`.@[.&0VU⑔Cryn y*"2}:ʺ8NZ|~V LJP= . 'b-'HBQQI\HEGdZ9Еuɴ=\KZӊVrf= $ f:( 9 Qӓ4Y+E7hTQ> 8%DY}(jbۖa X4 F@/ϝ.駝07tKg^'9:yP*c"cEg|(gT1 4 h1c9|ҥ,Q'W4M ^ sΤzx+IAAԘmڴ ;thpwn5| auR8hwAe_hmo`= Sb1 硿.F8;NVŃ.gS?2dz)W^uG5 3ΝC9AiK5ʪe傰,W g;ӏ8pSu/~+\=Ve-i:aco"8,p`TV,䐿E/;sΛ7JՃ\k=svPG3N8qM7ԇhD{EDX 3f#q$]^t)a`jjkcg+8∱5h~&RkyU–nz\OAĴYY&1T"jX2C.U?J݈ yM>cuplg뎝;ލ[?z>@nW@"!M2,8-*o)YH*TԔm^2%z.Rv1a^傠z^-u2.<=" -X["(ˍ (+ݨ \xHA'eY,3owNנی%Kj%ޠ- M͑أ2mNvtJon*u]ɟ;IAeTZBF|ZdUimK4żH5r {hlQkj)'߃ IRy!zXoRCe(&S-iM#D岥ݞ 22K+wBF RJp 0f0p),r..fiUSZGXnս\h2Q,a|ƙpCWIk8ZdeSW@C*)LZd@ rYIO̠4p"tic*( ﲔrlsZ,V$Zӆ.@Tz "a*?QO1U;ѰxE 4Vc-=~O˫Rmٿ}Cw2[(t2@immmr.\%g³t_Q d vF6.39r$:\-)ƳVX)?3Rx7oQA-0&;1cζm>`@h8@7S'5jƌ:ʿ`xT>8@#u5bTbjbv߾sgXܶg֝F9}@S&+XAD6sB!WU2Jh"ozY)18VTeDJT]Q )T{IJ8e1#P aB%a;tYՌȼG^xJ8zOtf^(~̩begQWc͙dBްnێBi=B(Njv$ϒ-6ji:DQ,J}su p,L!ϵ(/|JTQo:7QfOgnvUn{sm;=5:bLCK#$ɀ< KpC׵tXuˍ"ihCjD6vm֬J> f2nnG<unZ>酻a3ׄSYOiI-N64&ۚ Dv;\%#<0ty S ;-b)seA& fb<ӮHB*|RslLVZA9Џ |aއ8<)yleR08Uh/Vlb0% EW$LǬ Qyo:'iܟ' i J^=eX_?򋕓vg `~'eFqÆ |)'ՒWlTĮ[>3K׿6jhA @/_&r3Z]pb&׿!ž-xc|PAd͞t Z1 LEBNC~k!ڈ^']A}(׾ ~+.B|⇴skWw7 ÇA$I@GMWS[K@^{ l =E> ?=3i$Rl#so^ 9\DU=y?^ zEqӛo ?km}_?uLk^ySNqisn[(m#Xrkxw99iBe#8bOhzi%$RD8QW\5<ś/|B]`h{R3m`:4zOo?`2@?JPݧA~\(﮼3O);;aBկ5o FBQHoP%Kb,sg޼yAo5643[o@!} ;^?Hvw>v|VɵHͮ۴eч_~ז]~ۖ]ْaL\f=/tu %;g: >P[ZZZeREcHpWd aȉ ^zT OxJ9ed0r$HT<'֨w]=r=`!J"$h=θ|U^9i=)0cm}:D$빼ٵ6 Jq[r%IUAEMf+}EDE; t @n5H̓D3)voٰjɛ+ts^xΆn_~m䃎#)㧪MUFLR)Ґ^S6bɊ@$M6Fk'Wmޘ4,1aTzĀk%۠ 1Ó钑7d#ptM3pMNar(2pci01G*Nzȉ^{1BaM1*u \E$W'!@vXF 8J!Y6xz&a-4 m@v3 =P/i2MPTKpǜ逩$4Ŋ5c`fO6=h?R6~fj#UyՕx1mPBk:Yދ$U!c^D voCY ܰa=!Z"#> Kq~[||yGƯ*O@" )H~[o/~p/>@-p/Xp6{!+l/Q{OY85`Kyk[pV֯Ï<ͫvڵ?B(U;88ȌO?O6m,zko89g?/_hWE0Kaa6tYGP<'(jƍ9cݗ-_>{ΜG{|„_?}xY T 8p~~m_mٲeٲeSLp^i.]zgA7g8̖-[_:2zZ#.L))WJ*{n?în p?`j@)S;г:+:>rk g}pԢ?W~i"s9w\5>@'x[wGL'|P=*C3B1w_0`~WcZ9Q L=X9_a1)p6`y~- ᇲ,?я\(o/fs(؊7ޘ={v7|yaz)g hOo7=ˢE۷"O&l0E| k$VUr5gΜ^x!pኲu۶'B&_|V0;Q?md5Btcd(so;z(&\BG>=D|3`߰mf/$GB2CHIK=٠+?#wT~~߬WA{e _Cl޼E"vo-|ſ8e\>pӛ_3GEWX)̤niN+,t`Q|Os OX<[ =u=9Bl_W;*:|Ie݌$)$mB"*s;+p/_WXT nXz_vdQ "8I rLc-e Q5-,X믿`U7 u<`'}= 'hkK2YC%?/?6lÏ|7{u7g)=OeÇ1xL2:b.q/})Ι%0pu zS~m8F] Qua$=\OHZcZ`=*|`Pf(kӑn:0tp@ۀeF ʴ85fd :q<0mۂQa; >;.r.8Rk.Ziyxy&P%9gNX1| '`pIΈv/"b\}< !R4\qI\2a[HWeу-OITJhJc:"S2GL+Wyi_+TPbr^7I%̬QfL&OK{D3R^ T/;.W>/ȞWVPI)dT.&T Xt!m`,x* 2M<+k#MBrMDn&QI9 $(•$U L1&xh_)*pR]t))xlIeF $BܡcrzbT$_ 83̘~G;-VhK2 Hi½x7FB D$X+ڽgOQ]O.D BV-a0m&^ S%pqŔ aZ6.񀀄P lP%a8D8Nh$#%NK\AUlt;MiB-;Lb0$tܞ ȅI&FUOҖ\1g8F]n+))u&LJ֒E34m*ϡJ1r9 |XD2̋hQ)Ŀ}8C-/~2#+x6i&3n213zz{, &+h~uUxVXB@T /Sy tkdxhdh6XRMδxniR!MK* $ٹgacPoT>.l '0zv"N)g떼?6|tsKkw)Nl1֦:y=,wlH(C[#Z 70'෌K+PODZ2J`N`oI9¡&e4u*`u8P̣F#';BE$=$Hb^ : y47aC../6;*4iJwv\h3ɤjٞ6~aebdf:ӤD*@,mLaѬw>IQ@vuԧ,:M-TOE4C)[":oC"ޭ[xj-bO%V_8#0ߢ!p hw!`qh\TO2 $RO,P /D&'>,MX9ֺ1p=p+oHpwn!Wp)c  +/+zAct@vJ y3PbU6 'ck|"N*aQp瑁8qP+&zIg_wyJ*sp ,h܂ YTJVQ}RVŔ:+O23@!xTc]/(p GD,*KaOp$FJԲqXRNUBb O1hxFCXz)V:,۵5IHz/&j)X7*d/ATY),=,v/CAk%\>i?Y'YHg}S˛){Д}pr lo0VgM7$$\=V8Q)kG0B~?BN\k{O*sW|Jq*k,r{B0!HFa|ZѢ1~WVO"mk$ɰOh o2udV8~}7$k\'2*5L}V

x5XոٯQI'6}^3cPT7:cBR{_^$Z&7_Xe?xe+?|)h*=TT_WzK 54Jp|({18XGQ-a1mƪ0z@%ȢjXaI*-QZ}`Ɋ;v:|*`?}0 X*!Zq L!)$ުz8`V\B9BuQ YI"1L80Q*c{ժU+V$A^."RDbiQ7S* >hQ^sKlA/e*rvRT٩ 4r;D e1bSb0 Cb`LT:7.Aa*Z(<֪[*5  S_U)UBmw;ؐiiiNgZ$φK{,$4%D&zBTŐB@v˷udIc*^k uB(h 5;w]HJMy~ 5iwEswc愖RiZ''3Voxg߁Z2e%1?ńSO r,X}O;$ݽ6hU+n6q%5K5vK6+d٪%Tk&wK75tn ŝ @ZVs+k6#6b$ib au+0fdGڬo ]Q$CP4<ðK%}mӕd`wg|EڹmcE.y%xD¸II('ɧ%f&`OGc A{+B C>(}F=Zňub 0M1Z4{M%VՕi'4$zeŪ.v2i{a>eCWSwC(/8$<|#[,4Ak.VBW9`#tZ]Ok]z^I~{j\y2Yc (F9ݒah6,\X5Ax%ȮMMZ3^q>:&jG_f̗4x\->0Դ%*]QnBg_d A9  "m>U.m/pNײ6Ū"&c6ׂuIEx;~)alM.C8+icr~0MbSݽ{lK4wnnٽx8ɼҨѦ\LuЀHC8:s2*Jxӛ{,NjR1WW+veqҌ!Sw8p% $J:C%WrU#<䋥>@}}!(^(Sa8vq'aUΧͷ:-~0;OƼ\W$M+J(>њտPZ7&+WsF5aFNgJ5EC#\DA8Qj8T6Uƒޟν#M/J'Z]!Q! )=l&$GޤQ&0-ՋgB'.{FL׬lZWZL0Rxgᑯ'+\ݯYsG#)-H)֤T#++Z*ohFe]$G@F4TׅxJB%]>$fHq; GX0ISҁ QډPj?8rUqΑ=ڵu4rRӠ_fǎ3hG6=oS)ƌݳS}R`>6B˖m7wN΁ˤ)(JF)()-+^}iăR&z\㜛K*%1zoсBX*4$8Dp3mleL c썭l%Lmfmf #W0 "ss :wLN&dbP\TUK( k{m:jBGHm9)0rmˁ,Ӳkq,2u<WxJƓp@ j`ӒaLGM#G ·`ZD q0Cr2cxbBLp*KWDw"K2jT0jөdadmPsEwDAwI S@B3o:?Џ;]魰 I५`=VB* ۛ="8|S[l1{.i *wz}ri5c}iV}>KV 6 FԕUXԁNjhJk0[~( ֈZb"C5j= "Řhw,¶]F?Tc @uCU)4m09^B9X1.|%CԮgs3"H2v՗`\k[TX۹{78~~Md 4tCjqZNy) %5}杫;p;{,Oƌ` Aq͢LpF\e4$(BÖ?zgɴ˚@-3 yKth$$Y%CIMNIMt jDN%lMZ@8Hzm@U%tb+ؖeBiqY*A[RCp<)lo:.$IIszZ ]ɵ\cd7y\2f2&5'N 7 .t? <'[c.aؐEa^{+ycGI.QS,Z/?&,Kz:xcКR"ǑGqm*0 <0]^wʲ@ׇS\Tս9 Gş*=:2dJHO/D!QhmzB݆kYiDՋe920Z϶uV;YY_?OY7bTfܒPH=Im#aqGvP ;*q4#\3էҭILz>y~xqFz̜GE} W㉋h!gcj^ {n'#ljX~*Quy2RW祺I)W]|Ŝ/e{'M$dA$йTi[c.'@4zKyaAOY1\A<.rX9 t!(bMm<=໦j$󐁃Ε]Mty p2u{Jz~t3 M wykډ'5(205myP۠]7XzƆM)۝WP:xԌFU2LI ȱ$e--=mHEO"a ,Sj%3Ldf[TsIk6E)2ifX߂!ECM ]ƚ :Y"sUN6M4y[bJRSIBIMI')EG3U%O -`ײ IkFKdZ|X(rvD*:EqxbyŚX̀]爴#Dխl%*0bֵ*jfM3Y$֍WxNiUi2ZmhͥYXm@X7?^ꎘ=c\;My$isMM[Qm4K:"$P(%pf `k ]GtjD%B( ੰ$:|)*DFjr(! 1gʠ)Eؖ$w?*%mؐ|673t1_583愾fd3 Tc\j9a!gt{_ЎZ{#Wn(P{裯P!H/P 'm/%HsZ{f̑{@7Gg[k\-B:ا_n}0|;MH{H&EPrZs:F4$ladyXͬua}$>Y·L]jTYFݍ:u`14ԄdQ4u3@ƛf%AB!fIi0,D^xR0c8f ? \|<1|d0m2;*K ܮR"Oq3cTZ! 1v Ѝ2Ah q )u © dq$}=tBӦμz!xK綇@𐂘9;ph}*ʠ%5NU_~8KM'z*ޙÿtduSe<{U i8n?%W lF,Ʒ Ӕ,#oY^8]nAjzoe~'UQnTayAo$+נ($ YE7% ^gE2i_^ӨB4 Y-=iLƇ%9d}+eUflPKuS{Bòӌkz@Kr٘S~H.8^bO6BUeQ!E-W4Q4P^^[j\AQ `'Cӵantm 0dv3THj % `By z(MT3aAB<).GQ/p!GOjGrQ;SBR8hЭg &' cկl&{݊{ڽ1v)uW.-"Z^a]J 7v>l1"@ɒAX@8"V}sJ_|dްwonKJ,U)!(k( ]7}p.N/ZrZHpЂVfSu~Xb}S=_ X6`ca,eLF9AX|cy1ֈ"*4-wl(t/KTT qQSDJ`\Jtң^YU]!2:Z וN+ԖÐ!Dxx솦E,V zUe尐#s0 a& C Ɨ T#b 020hp䔥Poܥ[ԡlOJs MGmb( SAٹlj}l3 pc?I R%c罵l)A_r}uYZuV^g`J^^^76IaL%6φ`j*2,JezQԭy b ٛv=īIx3 ks$J@մKd3np23RYʚ'̓|Jc2DGIF4lAw!;r{$YҘQ!Pa gĥM2Ɵ1l9;y ѧâ4]INIe9( mȸgHێkX|;r` yg;Ndy:sz`^j[o67{ÒtTx?[$.جv'lw̳-hꡩzv`}3 w7"M4vrT9:'%uZ?^3c݉"RnТ`Bփ;*YiޓeO*ٷ)AL$3VLIf8䛥#SwW-Z:jUhV}5!u4U5>ߔ1Q46P[H; W |n? "q} u4%fQf4jz 9 Ij0 dd@ZBzN'6 1-Q`ʊ5aH #[dfǽev[Rܷ߀&|r0~o߷oŌoF=ʁA| zз(6u̴eqM9X@iMرbrrQ,䠱 -<66`2&TH]efEHP'b f;i6>+[aWt<9R^ZtLq $B .JE3- %+yS.s Z ] \*N߱CAd?X*  @0䑭b Rrdƅs%I6(OXD#t)ӕ?'-%N`WXc],sa)0 $GМ쎩YMކE"&T]RPC8%5آep~Ϙiad,8eUH]{U|R0iT YQu' z&[ƴwQ'Ch|J&&:k2z{6 bUrky כ!D ?5ӗ잸2abgh3Z,1b3HL YV.h*+v82rDne/$ |KJ`yO'TĒWQrP4ySҵ ),&uĸhhȩD3&{8R:P*%a7:Cam 4CW0БѮ5L0<{{ک2=p) )b^íeXtu&KL-Pw?c?!vUmNPPu;j~탫빁*٫P&֪pM3 yb*'ث^gn5pF]ݻʦkǏ`DX2X_>/ޠBL즬̑"7_)4oWWwGg(+g@"ET#A?*t'05#@MF4,Kxhj^9!?_<(ezB4ż( L퓺꼣 aHkʛ(ǜ&.7 p<:hbZ>}pi[<`cGqTr)}Wt7w[]nJ}ckwab܂I޺ ͂0޸ m6GuȾMESֽӍ19)7غezxݧ;vGWħ\(--5su5UIq5f-X8PEC5 02bh"[ðgǁ~a 0(DrcFdt,7F[UfTHоSrHnS*C,ԤFuwj*Pv q0 /y#ԏA)'X'])*_.(,1ao!$8ș&n2#OVRLbyFU8~3uxٍ|'DH ` vl7lS|rN_Vh(I]Iy4Tnr'QoVAHVEN͢|({X#*_MM?U)`'keE؃Db%=ؽ~j> WUE75 F|J>UgNU#B^Y2Ճjnҕ^` l[&yS Sx|_DduRZnŦofjPe5ͥXIHGnҨ=Nd9߃ hoܰq--9eXvBj!c@ftI#'F)R]jrc 0YBtf y# ;͛hĜ@:za(,@v*02MBX TLSmvi^L+u7%sVփי\WBݽG|kі|uܭ4qݫ? }!: 2W֕힥[ y͎6,.!7rf mmt:F\Mџ85KV?^k]E,GR6"rLf"]1+'9:atKZtçqXj`ʝSÛ.,s:/ 0s#i>i}yg.rulriVQL.|TdU<“"B66.S3Ic"{EUU tV?K[/V<_ e6M'zK/,=̜%&>38'xkQ9%pO(lbq2}\TzlAɄ%މzq=.Q޲?=e9wVSd5\g*OMdqfu(eVд ]7CtM$GHq\mx:@w߷0w"`n,D;P70.CfV4a`H`ry, (<J^3C'Dhz픺:~SgFm|(p7+f< ɽ^w|ĞaW/I.65EzT~Ogqw0}Xܘʲ6p,}P ?ZZv;BX}p=inԔ3еCrk{Gΐz Aȯ}eQCJJjG,r!l 'A|T.Ǥ)}@ed{܎{AntyI5LH(޳o\K8ȗAL AP vMCxHf5C(YHcM-|k8PQ"& %+4 -'E& ?+J5F +7B:w\E>Gj<)#SLfd\`ZK9{<..=_k56R+MpdiƹUy'2U!!aԨ1 S TV 7Ah׀6XU"B8$tC9v%qd=+.F墈IA VcƓ'z%Tf^lH]Lʪ_yTOʮ#}43AwknB3Yx ړhR}"y-+gչiq&FrY :DHWjdW'BBe54qY=٢HgI0^1FIc OjOT3%ZSfF<3/Cc/HQHӴ*(rYp!le\x5ZfbnPKtemԕ#L<(T99bm$%ҝC_1\I;OgY]M('EDI$(Bꩦ8?PKYo0iO?D΢(ʵɴr=O/$,WC&Nqtjt֋n*UU+jպoYZFRJJ@?rO1bIxLo!SZK]^Nd|uyl#[&.(656lB Rըb"A4eDA,@et%ƌnЅ^LldBo?Mbe!/\fKnJ!3QFsQFZ.`U-)ڏI?ܣ423֯u2. O:nZ+GAteK~N ޞ̈́~}W(I(t5j#{OiTN鲻 LSwrdAVq֕};\]о-}2Uo,{펇ڧ|>G?6Qu1)1T@7k |BY ՝?e!㉠"$\>P!fPCfjw#!U0%hbhO 2>rxBOp u##$h]$aPRs쨁i6%M2qAȔB)jfi*SI' ]xId`D .0LU,0'9\=j`5s =F]%)DBAЌza+ g#L9 ȲR)h *U10a{$^8_J]yc%%7k ϟ9S!tq.BAkuiDJpM-7$$T+ƒF_w|e;#RA{Td1PA%yhP]Z|HG4 IW(O DhYnݴ[֮F> w@E tH~6.#/T/<swV>PCN^+a/ӥw߿&́lcMi0$Om~Suuc'^Ž l7f\KV/Y^$TE6tqv۩/n[|E&m*׿v{gnNF#F8q穧po}z꩏>rt׏ּ[o]| N:娣>x‹n_;|O0Am_yg?ДÇ ;ԯu^sUwժճfRmx)'a}?|>LpCn|re;^s_!N_c_wM6nс??7߄ݙoMX{衇\y啰/~իW%1tSN9E,@'?IiE]wݵzk뭷V?|'yY |3 ~z?v#~(;^F~oq꼹sԚ%;餓pn1c:Ce^yY ;W*<<|T*%cm>Gqy+1`6Ǜ r!;SҀ<wַĭ୷޺xt^s"8 1¾|t{R|6}m]w/8}vfg|v>tZۅ?ْrн{gx=.{r 쉌fj6KӘ\kKbVnWkjjC7ojhYacUҁFd >j^(Rk}sΆ ݟ)Svg3vm >MrVUk8X/Ç'X9{߻xMM~q[o]2 _K=bvZ~,~'L/ lt1*Qj1Ep֕]v~޶brN(ho]3a}_Mi}㢋.R}(*-pꩧŇz37N<ĝwE-駫@x~IF=Ͽ ]ZdXd!.o+T~ٶh!jIbpUW~= х?&v$anׯ_p'`_Y&_|饶6h_viv9  'ьN!N/ʇ~Pb!jRGqmIkȑ0gn:~ܸ~34W_3iҤ$%K>QÀuw_ ĉeK2#F(%:]uհ};-ª`O͛{֜m=r٥M̚uqz'^{5dsKˆ Ԭ|L]vo0Ut;Q_7f*}3/5 G gJq' 'goX|Q:['SDyGΛG `5{x\zO?cCeT/kN+l׋/j^yyzktȲ翔J=g<#aa5:N_cܹsz /=T ,0:nxa9lcJJ%wh ٳ}6qa;ڗ,Y oMqUWګRLZe/tMh=nd߼9o_sOAUbf W}ߴ L؍-ͅm7vm6SmH&S[W`t"!*g|D((JCT" OX@ص@ٴ21d?. !aAqC vK:c~=5x5bP.]Đ CC$:R0!տH*`HRZGpM|QQ3 1XƉN>AD)rn!X`$9{JM|iDm x)CXI8@M|brğ.|1 MJ\AT$Qz,4-K~œpIPe>.CĐ1bAي]"Vm R=4Y`G@,ݞ"8# L͘-WMfHfx+?8ҔHg":Oic' >q)".l3[ 5^}Xd-{0I0ҋ/jW_^syVQ)|Ruh*ej2_@ ^}5ꣿ?ԋ/I[oQVr4Bss3@o.Qs2 MF,[nQoΝZXl3MD ae޸qc~vۤ/d7lXZ&p},xsbR/G+a\9j$,|ͷbNҲaR͠*~ yd: `P!vŇr\}hإK>OdQFU˧HTN;NQj=@q <;^ w>W @w|>C @\J8r.DAI?a |e|E3(Dៜ6ZaHN}Jʢ?/4H&шMEo&jQ e PAdѓNwVZWiwWYD,#%a}!rX,>JeJ_OC-\a\|?Xפl+J#|XAs*}JèI"!r|s65EcsҵR KQ8xGPצ} "LHT)I:B /tԢ=W뵷V]k*657E~w<cic 6Wcp`cY#"l6}w]}-VvܐŜmkJULC]{,CW,rgX=ZOЍA]ozGNt%&)R J? KFHUBn8Nq4B Bq}: [w  Kx'6+`t@`UFDIǰE0boRMMe FW"C%XrI}ipSm*Ph)#EzʼncG]I<[W\R,OH  ]ft6=8Msg~+-BAc3 "WDTqV>$^Yt= 7Ϟb'NT~a\DD.mb5|hԵ [K(PӦM; ̞=wQ*ȌKS`!O,Iq>D:+V;;\x&;d}ix4vX PÉTZIl x.:d`h =}zGdZx<>xJƁ*u]wU !CT2{j3Z""H{ XgaY&9N 'gL2)SG>sI@sӻ*OHuPvQG3}O€s=:<Ϟ3G?EN*uyQGUN}W?|ovVeFPYjx8/.I˗/WEm ^ Ï.]Z|:8%LA<˼oɓ`N0~;< X3pIk1I&0>]uqq1/`DQ]_Q|n R{ӧ7nȑ*}/ۮ;+3<`XpRZe0v tsc5C> 5urTj9UJTTq %GUe$wȍ[2YٵT"Ʋb2=TWA,п%M.]=7nj5b3x$\"zvzH:DB 3`"6D=R҃"btuF xإP@W3uawv`)f RƤ Y𮵟7,a! fP ICP(B?JL&Awg|a1cFmi <n+RU=!y[`5Wy)lta}&M.t _r}S7k^T X++@n(9n\y28MT ˾gf|)#|,C6*V#2$Qq@ v4Pm\#}} 4!*h&4Q@Sz%%!GqH9gOP =S*f+)Fd&TiQ#$;,&}{ ,Ѐ9Ci;m5Z:JDv v9l*[\*03Xgբ+a@] ԡ֑X݊TO"?BT!>T*A@L3!ӧRXfMUJJ !^=JJ׵;覚 '|B~掘>h "lTzK.x}„J/ `[cŒEpVeI 2V:KO4D<1^M ?LA`,u'GKkoxnOBϞ3ΰWypXsAj +JBX^w͵]v)*va/ڏɿFR?{fuރ|*NZ-]|ѣGs9|}߯uKFNq…yO?LtQ>>_"SHds`^ "C53m4߇/_zeRB#|8vM߉ɲO~7,As8ओ<~8zW49s|AcnɘǫJ@z勇:`?v;!m8ˊjJcp;!p  e{"9Fӟ-WU .ji/U:*2<%[/DUfbgg2}l_VeˍB#>lͅة[rLx7fY0ȁW%1H?Wf#CnVd4].{J >:(Dl3uߤ !!g\!cR(6,-Ӓj٣>*"”J= ֯^q,(kF@r k ]0v%DK%YAP]i$#z1# FrUZƚ)wlbe:P7D6i>kNۅhsּՒ3M v1!,= \C>M0ښZ|i:?8p|+]4 ԲnbUa@xYWa%NcљAM´r:Ь!AAJ{L@ SOH$QvTtG2< P-QW 1wi|ar,2>H(JΣ@$AbAƽX1HJ1.21N} B]]/;|iH7" S|#B(؞`-\vMݚ/4s8.R%ϱrܲ4`9 t咐\S9DAm}@y~GxǬf=rX'vwYo8#0NEBI6Jwuuu-^&x`Zb\Bv cg|[mEsژ1c]:P'U.TS2҇v;p<#9aOTgo3'@{No?e΃? W_}WfvtMؠs^:~JnѢ5)ĉ7,XӧWӦ<#Qgk{ /R%<^~%h]x!\/:OҲپ0VKL1cF߾}u)?FVvU䪒˧C2nӾNmbם 4 p'S@裏J@ڴ:Up}IAťC!QFjifO|0돊1`WM"y>>Godf1_"- ^(Tlm ^{ TKyła pg>QP 3Xԋ}^zAq21Z(#>'z?n's̼e=+${+6ӆ'TRДZ>?ÄgKSӐaOvm-m(ZGfL=?UA 0A#$LbvF|.BO @&#GIޞ s'x^gqhE>j#;$L\׆1hH)B Pc:;7YvE@IQv7 -q&D*8!6<(£{\+ۻ UCHFɩqК5bB?7\kXaߚsfs>췗ż9hmN1ԒhwymZ`@sH#^Z*9? t6SבNDrϖi$Cתt@9x>OS*ٞ⌋h &~vyO4aCR2B OG1x <*M ǽQ~^*pT$MߙSRz8c"H u2ѩtN>,lj̐HZwD\B~hHV0e9Eo208MX ؿW0B޴tjkFcO|栃s^ 6jU*x=L|3ɓ&7HC<ݶ˖-a3Y3'SPK 5v=}YǍے_ARp+WRZzҥJXBUk4vW:ugVB6XC?_}?xUO6QPF_g¥K\rzѣGC~z{۰{*< uZ! >;UWgBή'|#aSAH49p7Ϛ5 e^nعESIGkQ(=~۫:e-bX9\tx4C`q5~_%;?x2e=BbB3Nm;gqܹ&M[:=_-[|͚5\Ը+$#b{Ȝ/S;Wv[r|DA/jG"gC(%F*3˰`7uKof |+NsT}_x<@|U$#,Pvڸ{2v֌ Yu2ZU|+K&H[0@~'0P->e> "c9rH} -.c[Woh_X熉Kndaa4@ [Z9)7u}j+.2eQL;vO!=IS0X7WxĂ$ sAr1x @85TD&7 լ- :@4$NBE:R4a B6_c+! }DNwbEĞ,G_Fqpn~C-8lLab~4PG C=GY=vLCLѦ R~fvSdGv5g KZB{\Ԟ:cUƗu7 =k׿Qyּf)$UsU?E/$?;:Lg SS%V'R_7LϹϟ( =nyUDa>^vyGUӷv3<.ɒH UUSd^}WGq~iخN؛o@W_{M*aRI@uUصWNw"Ʋ% BCW^ye"0]Aw?tw^z˯H N>SrK WP CEY/w8"1]l=f݋BSPTc|hP,s C roY)r(JWN4}EЇwϿ٨KӾ>}tqg4eo-CЀ%W)3ÏZh[ZwbŢvLyEƕM㕔~)V@2H "DZ*Hٝ#4Y^niN C0SǨFwJS|ʓl*5fQ`Z*E2JDQ25 -ꛄ8Tk gY+'zUW!Gvuu!PE2& 0q%Rj7] )JJ>q'-uz^A}-}_OdHiNE=.\{xnǃ]4/^M0G?!o}L%i]ߓIcIY&Dt*KL79eN^U$]NgYtOhBIO2PI'Upde^)psc.ˤnh<<-zCFO3Y9 MaT}Ɣ"B們Dڃ0\ٸO:tv#e&I m%+四[ZL]m|QfR7G2kġ>s}6X+^E*HxAJ_gwtutGϗּgD 4j~*#f? .ܺ:_J/p2syٮ/k.n.<~4߸fu%l;Yoiׯ}uOK~-,?ܲ:{x˕$J $$Kl#a=_0G?{hC#XDr%VTUx{Zk|}B!C{{Ogֿ{he8Ppks=}l5H?h{䭦\˥V4;}vm\+T(~Wp*3$_#礸 /i"##fwK= `LXZD0!0 wڣ'Pwugw7.TƔ~zOHW^3V1"ì>Մc@AKp8 ia$g s*L6. Gq}1؃bFNa3M Gx "˛BnM}X`hoi5{0c̚pMg%ơٙQFGؽg7rAS,YD)ҫ`_|FF/4| T JkVu|t~Ce:i+^5X2{R徳A~dW_ fp|:(`01p.Yh1j6qR %;|f B->PJ4f9#Ty& Q=3ū0FsOTK"iXMﯬE/L1̆ ) IUϦ >-I5?37TrDz_ n#7q._no%C?6NyGf$@4!<؆= 㵍U oc333~o:\\Ǟ]7[M6tZ̴GOl>l=c JqZٰ f4f$vs3gw\o+^`VM:3Tk*x¹Nɢ@FA}0G> ?%7"%br)HI"$sT%A6EZ Kr9-0YOf*w&%&cHΣ)E,^@ :K#zXKu]邫31.iPkcϤ+nrhIk9xkj}\\wzk]aApF[l7Q0bνh?Ig|t˛>P GMjYU@PUV,zFY$v]޻<&jλà>5 DhT4*ֺ*FF#4G(fؔ Q*-¡ˎC+Q~QΧs:u9jOUԮHn&grc;IQ!'x͍ U,R1Q1}G GpRb "jP#@Ǫ6΢n$#8Ϫ8]$LnTQmH،<+M7mEXd cb:|Ҭ"Mjػֺ*#Yg%X(/҅;ЕT0+|No0 EB2'{K_&֬],љ4KzyU ;$疥􋔿P3^ GjɊh<;نS6QTM~PpYڽPyP҈Yzіd^8NɯTh( @WJX_TLE<#5mSE2U7Y\CM+lQC:*&‚zKF78rN}9b >QC##""#NxVX6ZV0hPJe:0m4¼*R7"n0TgsKo{QS9::Nl"X?2-]\^ʻ҈)LD"dJ>hSd(ҙqqw7,R? Gv kuOʸhq!#k@,JiKD$_}`Ě1yt|s%OtH}Cqđamǂ $ -Gr -+Ύ6{?}Onk+hh!*$,7T4vAy.50Yw? ;5%In!c!-aPD֦{*$4!LsD.XV)<]Y"üEX@Hĸqޑh 9i"?5ͣijnJ1c:1PJ& m0Fql [8[xFoZ/ 0=ؾˢTTM,e1Y,`gVϮ+d&|Hك*MlHͿWKٰLJϟ΀WU[d<`y)C&s ZDi\xָVf% \겤N9_ВU=r)$ut &f5^[1W! cw՝2̐`*F9,b,#>XT =9׉+Xf$IU1#M2 J "2RęQыQhz~$RY=qJ0f c܈;Bwy)KJ[=cŲ6<+U.Udpe}8Z6 q|YNeʾ_y#eg*xcx$cyRoJ[ WSov3&C\5lgss5}X|4- XB8r_$|"upuppZm*H蠄 ؅h: 8cZrČf G]R 䛄;`݉pRP]g(Kp&{n~ *7H6&lQ\yލtaNMJ#"gIzh {i0gVᘱG1` c7`cG5xpiq R{w7;MĹnK/(JF~gbӼڙnGv7 kGР2,2l˂b+v؇gXòd#lL@U ױ?z?ognzIc3D;2S3Sr ġNG|Q(( `H(َ= 2DU|\FZ0Ґ:@!2$/#U߰4?՚1HI)GJ[u $`jgHЏ]̍bBy)ț;$Y؂K+ȝGX/e#1ӅPZ#I%BA'CSVT IDPa:JXwkTö,f )0q-8V׃(^{aiҨ99l: :MM6~|"oIlɬ䛫yz +UVdF³ʋL|]N&U%SU8CuΎo,3V 6e _D8 TX I8L[ =(2׊RGuo*z5W?tcEɼ#MAnFQۊH@0N"0=[TǮz@= }ׄͥKz YAtS 9%z;RL6Ϩk. S{ É,? k,jhw~Hm2FQmBX"q(m N{>Gd߮ŅY5/:B%hذysG+n?v5ݭ #Ǵǂa0MR7!QAږ0՗(b6QzQ$oτY7zW~w~Wn|qZ@3B -dJ1Pca#SaU@ -d2+&.D@8~رJa@BbcdChUJ0 P$ބȜrS*U'5oXTz6ź m',ÌI^Sﹶ)OK2n$B4Cn<ĦY9O ͪJW$ӒW|v7-v+xoͤGp?Ňz)ycX!t{ * n;No\qw#LfkIB*ԜzU!5wdi 7_>uhkEN3}JB0fiG&<-!(@b6O# n$,Ac89t"#֪UM9FWNH_2g堷>d>cC_aZ]F%Bb!2<{1KZlS6>[(p1(N"?), `gni,DQWӄE<# 1dZEƌ;{܁с()WYrZCxmϰ*S6R dkʰt7yA2% jӎDy&JɭADGmԌy=f<@x1/(p`+;8+T;PoU;yzM&QJⵤxUK&$ҧ&Zo7Ԏى/\lJFEۨWSI=SWg ?qS.MLUb &j"fѨ#జ &AGEoVޡiOB&Zra^x)fY8%lI[q"`n{溷@c (ǎ"9سJHeݮCeǑŒņ\r³ {iW !wٰwGf0;?ۇpѬko  WÁ@K2s{v=<8qHM1MiչA` {aq#ݿo~m37?f7PVRFR 5:!FM- @lP& RGX@80a.%Q P& wf"I'[)]-Lu Eꤡ!2Ь4)$g1OlaU-a(' \0i%8b &1ϵ2#*X6scmV,VXöy0{Gᮖ}kߦ={(\n32f{. OAvԆǸ$W, 7S tp㥧xdڼ"t)c:(Ċu:&&AlCmxrp~.Coy>*+@qlh7ԃ' C<0\돖CS-FpTMӆmذAv~=F0?qĤsآc0^[:_O/}?/M%D7æچA &p,JhahL30^v"86EVcfO2K2aڙ /PD^R:>D@3JU,HD%p$À F邔nH9 la\F2&;.#!4G//.a0Sڡڷ =fHٖ 3d`k"Xm7mX SEg%xCMW^A/Vꅃ U V5n ^or:5ʴۿno\:jDӏ-|%.ZhO竨o+zT.JIJY̪V%SB&փ,[H&YU3jaL1z^yRˌYA\j;_PM Q*lǻShxOgjqSKs6S;B|P=;'pB ku?iSpcmyeN9%KMAHV%a7H %ؒ@y_c}_ɑmF-NI%a(tiCmsmyuJahG"!uά?"LYiiP>0eP8Āבp4>ֵSQBDZ6_Z# ѩ2S [/± t #/vmgщ{r4]Gyl%${ml5^x\omĞou}@ 9 Au-WqHQL}ŜpPIB*!e3%/%`5Q$UT`x)Ȭ1U @~J&pԒءJFAzCw >G/8hׂDL#NxMUhS"Rw {>MCa9W!uLx%{ "bf1`(C*฻tZֈ AeKr|,'T"_7^Y1R*BJVnU KJpF/d]WUUo7`52*Df23c$52(Dބ̶oI,^TeBr9 jop'oqޮKAzމqvΧ OLOn.6MU} [>ĝcԽRL1x6jYYjy<0+vmOM[f>t?/KϚhɏ?7S9X;~P<S'WV{.kt_N*Z'Q7ұIscf޼躛e{t~{aju݀!*#  o&e),7!%$R.vm HBszҌR2 Jo'L4 #a،FõX#ZźYe0:,xqr)* 8:M'!*Q\=455ghc)i$#!&#gnę"VC0KVpm 3zkZ^϶lA>aV+eN H4:j."\[ꑡ -ڵd'k+oo} o0 `E!zԲ,,ӘÏH>H%0> !-fɈFTɈQ:A4<(Nr3tG@P^F9w*)ȹ7Hz=6 )g$%HSFW1eR; 1,G,Q Nk&'Z`h0 R-$IbXǖ* ׶Ȇ#i.S^^MV!*+iEwH쥺4 \E$^sv湮a9sA'Tԙ7I&着nU3w.xȤb,pUjn:bS%)WQKe47䵼ϹnP'zfƵtvV9|KG:[fUīLVRV;J{+eܘEn^^Kfj1=E8|783[ |ӴqBÅ9{ֱu-2Q2L$ئ@&[u$9;2` ӊG6nuVwo|[O{ IYzIca#e t%VN7& f8%-@ fb*#'H^ɞ4ESj,ҿ NG6GMFXݡ8)B2c-@h(։ˀb6̡J 71EڰiCgFY""X ѱ'pβ0:sQ1avTGд\Z M*~nR:,SGH]jDj*:sٕ[aS,v8VFs'd34K^ϓ@tY5U6|rvjƉunxȭMY^JţK>)bvi3 HUw/UTJ)OږX*.ex>JRb3jlS| ;LoN*h5^~)B*ɠ#d Wjqqv[`x_=)|ZSKO󓞽@};#'$t8n 8cAGp,C}KcչvSH@6e{<|}3=z޽m&z0d̙f0E@OTQ$=ï#fPz'b"HtcN=)oQ$(^C,v F#wn(O3 ¼CHS1vAr Yl0. _A0or`c#p~iW횝q  t1c˶B fso-T;}LSc ZaWyii򵾷 l6\F7cGϝ>s,IqrfԊ,Y%Q2!'j C0D_;oђ)(ɍ @F&jŌQji%g^%ERBS2"wj8HʨUfA"n ^<ST1Pab8 @ȴm ^Cu6 dQdY 16v%`}'oൖf4m׶솋r!w@I pLÒua{. @4Zُɤ2%Ѡ]?dO!z&CB4neLb.s-tcHО 5QLa~*鏂s拯b4m폼X43pxԘEkf{B >IJm纃He:,v϶bWGnwٚӽ>@|S͑?B9Q߅I2BDn7u N`sacEmF?hjxZά M[hF2pPœ$it(ly~/jp& "f,+md8 pB"'Uvb\iN5I旌md )'AH:2ߎJlO5k%-l|MF`=E=Ґ[ F;yC73E҈8U#8!",@ +~L#$¨iZƨa v;D-pn9A y¹*Irc6(ytT(g7핥E{Y_٤4t+"XULǤ I@f,v)>kbb?Dh/qc*< ]_:2zEO4! Gi@,b"^ RT"@Mp`A}52Yu]Qxaߙ\m4OK]84F,-9˶*^U]+|_ʛU9{gGO۶Ng԰;`^OgdOz -rM/Lhj/0q2zߺn8dNPo!'*%h4B8Y،8[9=zf~jŮDHxd;"/sV,MDn3AAwZ>Ledt=Q"f18CB,D8HSz/ǣeKNusU8lu5U*Bգ,^{9"x%t:2bc,X%[n%SVQ˹#|er0:4Wmӡd|TMq+3Q!O9_q%Nlr2ZS)[c-Ͱh~SEհک( U2}ç&@[{IڳO~yvB퐌 06P&"m5g=RȐ$_}/P&"Rȉ@d c 4dME[ xrv&Z-'lGb:6ݑJ- Nlj Dvz*9u"jH@Eܵ6GMs'/Pm/0!z)LdD-F먽M RPR퍴aӨZ}pm@7̷WNų32,9w׻v%AJFg cb{W~Dg˶iy(#f3V̐tl/G̵mLmrbKXb[Kk-5`ŏ[FcLIJ>VǴl#gNS~ِymK(p 4ip"L*"@09yh BALHtyHd#ŝ'%dJKĠ )c.Z‹b&FW 3JT5!4 s1m R9„P|JYrfMi 2ZR$HB'Yo" !xfT$Q@)m yPy 3 [d OR Vp/uaff^8-2\/U4 !y#_UcDEḒG>13>]9j2rrxbӨ.kJUWmay]內-Ͻ-YNTζXSGR+o{^zݟbYW"Ϊ{rTzT5xǫoe8=/xK= 5qT '@dJj jydrn[t(V3?PcLk G@]8B5^u׍YgP_  Ch*h4nˏzwn"rJ /91!J3RIC.eGO_|ݙnY(Tm4 AP0[;#M_/,)at[Qs^1) ZCEJ*ݳǩ z0$,^:Z(\K^h| dpZ {krOLyw7 a6Qc¨z椊"f*QAn(ITaR!q0b0%]\FAh,A;SbDb8lP$m"bN 蒛!$NSUCM\',x8*G 5eI : c1]i8|W0xSV ZҞZ$1 U|0Hv3 X 4"r~ !STLIy+gffd[ɹerFe )dΊIy2Rg);WVlإC0˙1 q>NZΙDePVctp!w{t"QdV222k,XXædy(P2!*WJZ:ZAQC421z ,25(D\R5O3UDi+K~Ȕ XfX*UPUڢ|I-iQ9jFTI+T µwF3,` Sz$*zvLdU''tW"elYqgL„wYm=|+qѝฮ' tIHq?aE"D?N>ͯ~^U{J椎GXUQ(`gcG]_:>rީVkљI\Qi0y3#j\ysl Q]SU"юP>@nj=tU Ub6|/ꯞ ShC&FjQ_d I 4KP!upHs(l;0M$^p,J"_ĵ R=׌8h`3'V$J-0Q9y^HOHLf1+DϏ$c+aşԕ:StK-z52N +_|n}ss7kz2aeJCjb0 y&Fϊ0b &[XX -1@x[+PeC!i9k___x'r%*x.3%Ί ?kqa{YJVvAq~ eVؒpOn|8zJ7%}=W; ^5&Ue&&KE:+bC|5vo.}L_4T䥻4r6VL-[1-Ӊ|'oG@XMP|giy3/ Xl\;zdôlR2)7|G yѓy2uEg/nWDZV,91O(Ym*Fj"[sg5mf%#=KXjn8A,NÂH6jwg?#"yxc j'sR˲XFcYh \P/%bt,kS+](2LE2-]ņ^_* Bla^QϿe?|o+ǏJ{K_^XܺA31hEAp!Yt6 y'"j &Et"7 #(1F,5ƕ:uE0I!<1RyN*̑SbD)SgHͿq>N*FTu%,@}QwNәs\<T$dȁd|{q7F\&˕ŕkp!a&\5GNJ2J$Әi.F'󐭖sYRe;A:zN9P uҎԲCg~륿щ^GN0UE-,yy )5ɯ3,*VHe*"<[uy-8brRi <5*V>}{^z饧O, KŘJS hVN##MV0F>eC0QuCsm{Foل,ˣgAszRDӹ9%4]Ff%VttFXarr o`FV׀v]׋cflYNcr ڛS5"U8ehSԛVJ}h%/ Gq&ڶ01=/wkr2OS!|"UD,hVP>3ܡfo?s_景ƥ/{f!BLCF/$⭵P]I(gIJwGZLSdhdFF'"W^Κ{¤24M4B??Bm۱`s@.qPƏn"6`'z$ #ߋ,z s)B1@4>()1"81t( {PJ+VDZa6==aմY㎩iRT2J G +-VH"P@"BLͫhECcV-1FR./k6bwܚ?Dw 2OPXS`'u@ԁeCmoNB*̙|/ވРy6LmpX.XC?degC&qӂ @#SCWU4"E'#&f*5CrU153y=äAVt!#d\冷P4Y5C49CYcpUS-|RR&R՘B7ī.[ |ͯ}k޿wo7|3w{o+^~?Mo?ɿ5.Tty7r_ɟim5x{}߭7t~[և?3g`L~m~~77^sۿq־}8!c=O~U|ڻw^Z_%կ}S؏/so=_?s\s5 ~_~?u=~ jo|gYFFR?y_W^q+ٟؤw6O}?8|^{uz=З;?vg:2l!e) tWeYŊa+VO|䧂ϟzlG;ܫ?Acyʎ0[9unDqKaA(md /BMYunlj8ǾqnKڔ&YFSGGJʴ'5c~I{C_Kܯf5 Ǒ8"d$Hj/L;Egjt1V 3҃'QDQ' xK+>b$&BxR A!?Ds:)`L$KO;&o0K*9׷_9z6Z^äHqESmHbȋÄ枦Q'ZLj2 `VӶ(cpāeF|× L\!Z ږp~-/~M~oW)(4Q;FeL"tMh%$i8` +.Jaiu02db6l88 "G%b8O#lqD0r_6B.[2b׶ H%zlڱi9p&a % QӄS0LX cK(qJ(yKo<4=PzK916{|̙3-Ҽ0umfW>V>ZOMU]:y!9C jW~T;5N*DvJiwݵ v]f2Zh4׾5^䟽[oG@_O7]]v?z|޿o߻+so_gCñ8]6,_Ov9jשtGXKRTn~߽X0h4;Tr2 TKyƈ-KRUFaVT'R'h(؎Y_S7c | N9gI4L=rn O95Fõ8  *T&\Pam? L3Q>  XJ=$1wn3kޙ£*f.޻.F{^Y>‹cB½DM|F+/~ 1MQ ln Z8&΢IMQ3ZT kQb\zR?LAԖI؂Pde|JP.8*K'y]\DSGgV1QXjȐRd_+ħ)lͩy]E`^M(̋ )L% Z U+ * T:һRC?v۩S" D9'L|/@gï]veW^q~G~P|t%mo oG?Za^Ž{q{}u|;a7|_=S{?ξ]_~WP?O̼oy#">}ԩS0a7t4,m2P; ^s+|>9:QcWU ZeӓԹLnIi^ֹSD1600r6?wx{J0Rmcw/w6>|*yf[zBv]Ad7[!@3R9c!,cL1n(DAIܵTI8<з 8&XENM S6- m({NY!׍%-Sf&?pϽ'7 o<ŨI^1M*ib*y]s%rGg06fB b*l!J" ډLMt "o(Q#pNѠЎʋ/5}0n/ "i^^l9vݗђ .%1ޖq0F9/ G!(׶Ю%甊HX_X8˨4kcf\4 CjMl:[{AlLY?|eoڶ{=zo=[9+1>]fRgMj?PPu* ీ<*%$6!`i"()s)Pe]9ݱr,%<Z\`4mz%#D&jנ)sQ1ϚvEN Lex)KBT!n+i0ݹݻ;x(`?vٻ6"fZiYC.Hy&cluZU1r..C}Mbﲐ͆IB~p/QՇ׬KuUJ wVE[\4&验f\╘)'YsB Z;/)-lY)T5yXjDx:: w,}Q^uՕow̉cǞ:t(+}_o޻kZp/jv{GN_q/^Oiuxe_뿟r쑇_= 6 3}zJGq'G,=בw XG!R(6Lҕfi ,BʽYQ~\s5/|u5q'%-99w~xbQ )fe5y cЭѴ,Ӷ{~8wb{0bJLD7h͔ر$ 0ɰeơ/Qppk t-_:qȕWOow$b"emsM&B4q% B2i5O>{%<^Wf?zx떍l@X(s(ZBˣp@"]k" ::0&$b{2Mև=OhnOqF v=kXU,:mJZD|/ qMKj\u&n|W6-< @@}͛p\Mo0AB򝶦šV e c\gef'۾'a_nQ"IFxNbd6:~'0K(n̚c_\Z ㎗v(-qQwέۦ&f-͏oܕht7Cz30,"s^:(nn[tx0iВa'SK#z;S"6B vd8y=Y! }, i]P$? C+]۶uSsc}ux369f:f9Q3.;3Otpy;D\cTf*eh@>eb"b -5,p< Àvt#Ķ]Y02m Y"Rj=WȨ4Ֆ,{_=+)ȼ7䃨%&Ap 彑TGOkKԕv܊bd^J3rua;׀YC} WrK)1b_Cz|X=n$Z)ހTO0}RN<7:[A?,i{ۧp"7b]TRѥR{HyAI$o_6,U=):MKEQߨQ$k?__|ի^uP8TbǒѨ̤̅bGVWO$Qhʣ=[rlw.s_˃yJw <+ۿYd!3- yB0JQ67b"&8k(鑢gb-q-KSb:(,6t©ΞkNZȌ[&+x cJi(A5 {IR3ejsK>.szئQ./.bOR]a1D,)HD![dio,P7mf녞Y>MtPH[kzτq덚.L~`"; -['/޳aOYmh67-`6VY ǵ1M\G!٦L{7Z$Q_]sT j!]gdAxu5lgԛլ9^ٶ@b֭{^r/)&u9ymw?O,,.//  ; ?:5ř<}%2Qy%dXa(ĀL +ΕAVWNm8[ Ԃ BӖG&A aRD):D{1@Sfτ-UI>J4)%-g5ΕH|h6'}>qœgkwcОiϞlMݲmO~y_ k aC(FQa9 ܉,t]EbFI6 $'gKQ4Y9D* adaʓb$m̓?e)P/Ruh`vV,Ve[pkJF8%iCY^2f§-}^E7J~}9uӼ孨[_o[u~ZgZaZQ"-t旽7^ Xd5(E4#cc1LIKhd02a$(6|'_- CU>EZ0#8au3Rؑݛ |&wDwZg~CdK^v/D'y^Di%\`Yk! J/>+h`e^Ay ScRot\|H$+(+`I!9DHve N p/ #B,i˝ɚ=pCY昉mr*fQeFmO]j "MOB'rׅSpo& ݮV}fL/4uaM[kjfXUw.,,u#?W{ݴ&ctb܇z3H3AYoIcDb*̿GذWP0k #0 `X,KIGJ5J oBUG!|tݳg?_mۖ#f>r+ͳ 6\_?~{fg^{k+3gՈm߾MQLo6ÃF \vUџU]< |E*:yTᗾ4/K\eXa?J+7aЊ26n-#+a;+wt9MгK8*q ^!f#/Yd5?LW.irh-MG~0_;|op]3lGg/^;z3KNADU!]f[ CDd uh &>  'c/ d=*cbK mVS"z)8%CƘZ#vSgVԸck>\6YV˶lMњ_iIO TT* Bvci .̟@ɕ,PʕH}Ȭ'D*mAwbuPt1C-4ۇMP |h&Wﭟo?1h[ǝC `ׅ?fh'ju(I{K覔pb4MŽ`~X3t(2 + ?=smnǑos^-djZz„0qǖBr9OZH2qm5&Xï|/^6l5Vij E5mUaMAZ6*!\d1C j f`&SskMTH!+0RwN|ܮThYR)huE! JjT$Hj qh²n9 ۘwl{~a:7 ٽ3,^:9yj|/z1m(A-.M\9*b\(:rN5j8uekPd(svEQ M*Rf4^ +: SA`ss&C;> e/M~ J0ivDiaIr#1*jR.a%3?3k̷vŋa[۶n?~Oc׊B%~UG^G1 Iң'N}{TtwLO <@p&]uqW~kn EΥPvS*^Š=t_$[uф4hy ZA Rv R x&A6v~3Z_9?852?m,MzA :^ s?+l% :&+AÚ[n.xb؞V}׃Yו$TaG&"ml5c 6lnk|X-H^w-p^2=Kvgt:I^C?gQ#FS؃+ŔIuIN*Q?aU[||FDZ-f6QAcF%(D20#4SQ$kS. Z9sXGYN lvo9 1 pjtaf3#۵ܷaz\W$fx=ܩg~ϡ7_?  4m0QwG>Jp#8:|$h}h2':B|הH\clh ZH # D$f uQdYX.3HF˖Ya_K9s|7JrRVFy;ʣ$˳b$kDE&C$0R\*%0Hn9UjÞ#P;<F_ҥK\(s|(9;T8*JWo?O?~:;-|޼tiig>"> /MSKu{}{Uu;N@L z^C1+PJ]U%38R:FUbt8$seB?ؔwr]5cn\_>zϜzz #9%*P 2HS $4w=Il09k5{M~OnM7]\&A8te.q2>aaw!v:/L \#N 6N rf;K^, LͥZCB9Sj6jx VnnYZkM4Ϟzmكw+_-&Uܯ9?@#\s[ꎝ//+s[#kFM;RphVf` QDE HCes:#6њ%(CTcIa 1cUd5ᇌRuPh(2R"4!N P~^Ʈa h{ _(azѬ5ӂpbbز{];Ox- JrƦ6Lm3g6Nߣ2=b/Z89uj@&`Xb0b UM=e_pіbŋ~D&`\C?@[d"1qYO R]d)2#7*7-R\==ϱ\Oitj|lUMiIm?/r=/IHRLhO3,ݵ˫IjC>L9∊TOTA|51ddcCVGlϗXe*(U%HeP:r 1Jd=CExcVHeO* %"EJiG"2kSڣHiahjޫҰ)%;Uy1QHC].,seT~5iQSRJbpUCd(Bu%85\O녽?36<#Cmy)^xWU5\`~#<\KCPlqz9$O0`.*C0G(nI&^YP*K ϧ2#4#׉oUQ^R+vFhu= g[ڽo|lRuـވ<'إpNgS??s=:1}Ao;>k>էa%əedC* 2*#!H\ tdcAX.u>PJ90qfI~l/bC& ٤%] /ힿsn홁lW[aj[m1ABa! <+^c᭓^eŏ͙YY#Ď>ԭkQGµVu6^wNϵڵOގCD w}'ީAg O_/?4L$N8`B$NEU_%*BA241D{C!#18CKHk3 T4! PT ᝞늆o'd qiEJv1H}VD(a? (&ؠk7|=s[s?{?į/uW\[ nmC7z_|czsnp Dz!$ 5!XoQw+q8:_n:b ۩7'nqL3RJwfQ Ub%'+OzWպZdڽVK-ԝ"tTa,\ R-sܬR棺򃮺5K rahUlHgP-Kc`Ӟ4Y4,%·LT sN=L\ARWM)@J8BJ"*R!-ڔ$0Y\)үK,.S6r pjB>,ȩ%15P 玣$v\TEPI|hyZVU$# \`Z4 5D&Hm}D^4M07@,md$C4@jIJ9ʅx^^*] S,kÐW+NyPuVod뷐h'IZC@Qjw/ao_GjD|;]- ap!;Q  f Ami1vf 9URf"-WM]Y q'N,p\DQX$pc Pw 4;+< U\ի4v7i/mޱ'Z9zji0YJwc{Ճ}Ju #|0G\d(N.? 1 $z5%p,UǎTv.}OHPQ3$wzjK:P1Fivjt$` A \ ]`QQeUiS8 jz^l;X2=fJL~z'2דC8I.]uca;kZ!bhb^9B42%D RD2:k\~شn%Jbyu a39|+y޵ī]]qy lB+7Pn.#L^U<]\Rq6E~T/|t0m2HyZa ،3LZGs+(W'4Lil hzlK!JZGq. P@ɭ P=m`u?Ql>V*HA\%tFkz9ˣ@{)ʮPtexZ(ohrSł4$RgN].u+%U1hqR؍+A 1[z ܩHՄx)A=N:ք  ku]&9?ʘ V"YMT|fVPP٘BLeJ)fi/c|wVӂ+-Jd7X^^xA.df) h9A''+YXxSHƅn|hiaO+̔[hr=aoҙ3gP'[dҊcBd,ZZc^~c ,nԤn6&4G"U&9L1]ƶwMO[ƞKpUs t)]B}1絴jM&USRI;:LM"'K9 ާ:x3 >nȽ UI; D(۲,Spds 9;~ꇾ Œ2B2x.6x(P^tkq"Z5퓳+ ҨR'1+$?Įm pLw^dH 8m?ùԾ0^XB^ äުMشxv6臖mm˧?iO푦C1*G9J#fKF:Y$R낊̰PQ= 4 d$r@45݇`,Ǔkv@?Xk`p"I0NDcbB 9y\ n$K:u7l0se.N﮽;n~wĆin;qRyw:+Wa^$6,T'+*yxs!,1o]J)50 ɼZJCOZVU_>R ^Ap/Q[a _ ~QI(VJsN*؉4=fEZӑL"KCw=HIi~ 0I֏ٖ鵯:~|tDiaIV I{򙅯}棼s{wWk+Xl,急tA"$pv}?﮹0wHC hQrY}T4Gj*"+bugOj^dpzVN[Ӗc:r1V–.{>atŘ2m?xq30&;WmdohU5 0u&^!4Yw̽Sٕ宿ġMI*9X"%l05wdk{OiJg+A~ x]ps6]g.um0׶<|±3Kg.K; ]IBA)?'Nݿ)$t3BjG S]cL)ĉin]`ka蝕Dd( OeӜ Eƨd hXYB:N2p|00Uwa덉z z]|m=K'C914ls˜~OGb|ߔB.Ⱥ4f>:& iY+8 z-%*(oף."{6ɻFPIT`ш-DjSdf\Q+}|=ëG"SC䝶Ia{e2NEDr "VrdĤiu>bx2Z(-ߖywbīLTZK+^~ d7fTu0i F3ȰC<ƄO;5 q^BU+ YqU 7RT qRV+'ln5&d&/t=S̪+UJ.e+x~CZS EYHdCEF,D;3>~ Szv_ff+V.n. 檰͇yr=(֮ը==8Vʡء+:$/jy!K/Gyem}y;{H*kcX6B ɸs'~{~rcdcDI^H,@/j[ө c0Nmj2l&6JSU'j3dYX(BGa>1uSG0-:UFFZd(VΖK_S_wF=f&Bj5ဋYIsdQſ~/~ïR_B|̇?zw'bl Ĕ)Kh' ;OiBCEN ^= 5-C u4q>QF 6HP ,t 1X0Cu\T;ͼ014:RX/'][b;" '#u6noՑKЛX, Cp=}{v &6j;:3KZhiņ0ܻ' 5[4n:`{1X%IU* n!i(^o xʹIj)q W sK?$4=5{4jLp-FRQ.Jd͏ cRLCWZU%R M"aic*kϞ?{0,3 'z;=wj{t6qpfcc^ҫۋ1^=/˄AE1^B &%>c6Vs`ApX9YĆ=U\ Ϊ#0uљH[-"K7FJO2L?RwI Ѭ2"WBRT`'2ORn>Jic̈́j%uY E!2|*;i|ҩF݀Y(9Շg}>½rQruv^B켤's#W>*b#q&[R_^"EnXd%eJ)p\)!t%I,3RU$){4^<,NȂL-ڸYIF@rVN)e4VU^V2_U5na0[ej4q*AtYMCaYC,{HSMSm:Km:0 g=SLMS&)dw];%' 9R#= lOPGe2L"N8.=vMD(@S 9IP?(9uQb<[js%P̰F3H ,O=?s -&^W535>o*vSgO|ᱸ;cxiܰ[P*HZEAڒ'{zYk|r,>QOȑA^xToyd#^&YE՘NIƐ#hs~ҁƒ~֭4ۡ5,K$7cӡ0-3 5?*rGI7q-!8D`y8 Gtc_kl.Wz]˃ .K?Ia4 ˃whNHm5=;>E@j0d5}po\m-كm:v^j=?|R̰4n*)gI|*RijLU8 |(IO'RE6L]'F;`&'tJ9a1-`L-Q2`&%Wx b ܽk瞿^x4m߶3g,~6˲:lLxe;1aa}/ǿybtO9]]T6*E>C?{AS-K(ȲnB,K^U Ui` n@zUH-:.ji"z̵eDx&%~B\N+0:P+^E=;=6uMj62u,3`J_OL8.Eh(`G,<4Q}/}~~~{A@Ja:yoD^ ޜʾKI:8Q W /Qղlrٸ0J"n |?=! v ߋ rki(m7Px8u*`r5Џ/GaZc"/״܂~A#\~{l=Y-ב{aۋ=htw~/0JVwu*hZ3c[MJBUЁ;ҾE/ 0lٰt`;%'½0$Y, Z&(p/-j#)E Hc*4vRDE%*NEaYļA"n`!R^(/ȻUҙ8&q)4 `[;viM6ݹcζmN8'vݵ3/<{{㝖c=&޻w= ߺg''N۹{}co޾` )jzmboj+{i&҅2}3+~ -G$x]8nf̷-[J k L98.*6oA6+",}3UJ8a[-\[R$^FZ$O[9ҞRrQ5+)A~Je<-잳RbȼH|Qi'Rgb%W .}_VZhΣz2QwB#߫!Wr$5ʎ(UC7rf2y2WULﭤNI):Q*Zx੥>ɀꆉ]XYk{cH0ID W #-Fh1I$Pw k/ Mñ$Џ}iQȲbj@X)LOn~+uq'q2-(SB+vOYzifW}jJYnxծg7>qtTra4@n E鑌&ju}4T> "?}~`e:g/=rC/R(F1j Zs&H'qxfqD9&lO>y18޴5.&Q֣J.<0mGȆ ¸4M+s!gl&L5O"C!\:s1ՙk5sKal:D+p?᷼)!bUԋކ=c=2,ugoM7ܑCvo37?c F.YWvT$oF}OҚc@1z/%@X.z َ%أ>I2 }0V3M;$e`^夫1D :n Kp&7qvp=+lA'ݿ?w٥ db[kTs}`[mfy𶗽/5}NO?wuu0(z*i%9üIq4VyxxFl [jMJZ9(oVxU1c̱*[ !(LDEDVQXF@;6[-B2SNa~̾J3r!y`eF T?kvBxC͵sEzHr,"9EkB:nkJ]TT@YQk!JK{d4,+,y r|*7㭃 6]dU㑩% y<V?SP@nXdh7 %9}3E,(S| 弚;vYʝgQ#KVb°{*6C>l$+U/=̤ɵjT(k0:KQO(=כ*D1Jnܰ(JfNOӑĤraLDru~L5l!0|DIaJ: kr^;me\PvQ(;NKQ{nsW-nC+pˋ0MM0q;gfwo֦n7W^L#SYTIt>CҟŤ7O-Q',>aL5y]K_:a#A~j8+(66@ l!bJm԰B5apׅ Ձ;-v>y£ocAWvm5qܥmڲM D}MǾ1'6ր՚h_YZv}s+ a*`I5X jP'_芪Q F^"@ƾ]?BUUMV1*ȍ70^E95TAbvc%]]D59nWW2fFUl~\+=W,eh}]D۔rHQ!nK)`rTV3Y Xr}˜S@QSP*>1V *YSQ2٤^\((eI>ld9,$2?͋UsQqƕWkZWXaTʥWOO.P󳐤t RQ$!FbE1v?ؼy/fSx D"JNΣc^dthV͞>}ze&Pkn;_tdηՓ?д]{Lw JMLi_O L pa`Q4ƨ.extX D '8 [QJ!)\$L֠puFYE$G8kRM]`4m46kÔ]Aww?孛>[[Zr뗎E?(;>ځ=Yo ɍ3WfW;_|gkb?_{{?;7;)"kp 4f+[vEK:Z1y}oyqa*!Kl~oϒ7'#{*zMj;3g59Ҕ1fr휔9b/Rs K0|YA)^%Jj-P5F?sJJ5DPX)3Xr~aK2h-K씉[.ɯ"!] Z \忕 Ź6h3!>)wBϫLWȸDd ,6!Ҧ,Q]IhJ|!4_`D YV׏ׯ][X^\ (@IB9 ÐTJ?_0 N-QQ>5 2fFq$ y_ KIɐDNCiv.T\MS*ԳB L~j$,KĴlYW/oV7uN1>ۭOuWBT˶{=w1>y?*> y׶v?М߸ĸ,/͇֑dȼD(+ bR5u,҉Kg75 Ki 6o0AC/H\nҲPhfl2ƛJ/ӶBشHPNdxy2'\@>|$ 6Qjk7]w{|"7 )fkrvH{1R <Vvk7כqm-}򖻧D%LA?wjZȖ1\4-}O\gwϝlSJ7I[@yGEK5ܧ-r9PqQ(iS-dB5-P&F\p^v`7㫯.Av2:0M n+R{!1Q&Ead ɘ R[Bg])ג+a48ct g_ԡP 7ItD͇iOv(ޗq HI\JA THXB+t0?pIUj4\d.=_L-?,l놃\kO18 yƱKEc5 J_bNN}{~!j cOz[UblDDy ;U:,ԩ$)jFos(JH. DHxOFUy= aQRR\CqF[8raLlAϳ ԷQ@$Hظe\8ymыɱFݶMIhOώjh>ըA4qӳ-kc>阦~?PaJ֕-yhEmx|~v%~`fZ{7*Yҩ֮[8ſm]5t G%fﰷ7 v5&@٩'ʁ2&OM btYc^ud+RM1QR4:NA!HUdHV\%A@rI{Jo=/16Q_Dh51˶lz疯vh֝p;|ii~mmִ:kOL4qǪ{ƉM~ !H <^tXAh284H T עa+٧Rf^7`|]|$ &;{zDOwi,Xִy@pr(R|T]C# Cr7h(T*E;X.)Ѝ>`wK ,c5f/zPd,b R^˜ .s=ܧ!V|ԋf57߱yt{wѹ_! 臱2uCUL Xxʒ3HJ.㝭PGxZSbFc W$i8pm\lM:hq1tŲİ[LH2$1[y׺^2Q'b0DX7m~ [8RmZDe?^c9@S/+[v[oG8^vI8%m`{!:f8H4ʹcǶl Mriw6u׿~m{ PIZhJle)j#RI*!u"!Ij\N8x֢thI|#l9eJT{=$eURW-l\W:;^4&1=r;''0z˹vb33m;p짎c1>=3ock ,;&\aӄO^ߴ}[Sc]+c'{q0 Cm0ఛAlۆSRkruXV˛6o^g]7w~1 Uϕ9Y$e-emb7EP3M_}u'ٰ#nBeeqYjo`wf ~+|:of 6T 6C&(\/&#E"Ә"t!IT4/.ht>D#Xr\c4RJy(Uas^-D Qɯ}"V,ɳ |RV:ɢ[j1u|Ug"3\[LqCFpGjvhTDcJ6xD!#Ԇ<)6X&+#i!aF38-M͓z8 }@WS0N"?V=bDFV +␤QtAZȓxS'1ZT0_N2P.>ࡖAxXO/:^ԉ?rd,`z]E$z^+;YlP=A_3${qA؏ncnkƸkhD,̭ן矠L7#ޥ~_5n :-a$k͚suǔiؽ,nJދQ\ZkMлT䚚1h q4QKh;uU`j*ĔXph;,zI_$1 O6e: sMX{e ahuX{ :b;X;_wM9)nܰlMg^wmamc>tnvlsVexz;mm8[;sO~Ck"6q},iḭ``J&Al5\uQΥR21QD5ڄֆ ͥ+sA7wo}c=qܞ][qg>u{}DhEӻuk=Mnj69aLw(0u։G֝V\:%:ќ:0$+dVW/ xγ4ھjubũLK-m-"Ε3/E4C* Z0*ܙU[EvϞ(n'櫫-3ȴٙJkV7qɝko~ zàgbٲPGN udC 7!ac,Ԋu8)hH@őaa ᧚JP iz}Nu"^(RIPE,Hq0˓]Л饉CS ;7w>@r滫Oϋ8ab.V~pLMTBeRH$`^cgo#O难~w\qE ըRӬ7>p8L|'$M}C HyRxp>J`;FYiŕGf!c=^#(ľqF/Lks{t$\%q蠥7M@B9,a\~0s. #jީW` ^'`V(`2خ#D@ . mc(XW/ˇ, R* P4CL3Ri?$-FTz` ME;Xll'\5E`ij8G:Eq';M;S@G] }vFmW뜙 c<}Wop!b+0{hzyArQ4Ĥ`YB #(&S@%] Hgt¶w:N[H8Ao:NgS?j3ixmgBQ~4(Lz+@Iu0qdzJ}u{a}Kʉڍڭ灾eN.[W޹*lCŅtH:( 13(Fa×sPJU,bB4퇎X1\|aj*AhqI:9X ]( 0bejfZbcE܅oYwZǡN-{/VvnW?=/ޙ)N|mS bٞ*z,٢a[;GNifB܆. ?`v/2Àzv|?,ÛT;Y댎#~k_vr:94[ppdcYdGMFZv(~ >"4̑I5ta[tf[H jj؇K7dO!d X2wz)RsĎ~M4TV'Fdr2b1<Ck3C\啐)LZB'Ԙ˂34ۈq\h2Yd%q:ig'$Bd\=If$VclE@y(lgъb HrM7zr?`p~ ' ;SZw\Mt/@GETcGh+G/(0k5<ޝ&DD(zS\-N 7@쀁 Mq%(2\)f X:C<bT9Wώ6Q) llĀP yZT@@9H%[V55܀^ʛ$P('PaY)jBGwY%Pz7 _VtݪZDa@}H!sson|DU pXVeTi#.KTXV;e^B3YrHםU͗N׻;3+w]~bsQ7E{=\*rX-z6]X3 bcW2cWܘQٙ+ۖ(0mPiw[^3(1(n9=Gνg˽n2%*JuKM}.VQ% X25eSӇb` {,wei9vp;>WDDѩI*!IGhcpQ aFNnm0 НTfPπ@'!H0u  l,w5R#E%=zTAA;Ar˥B$.XՍvL_սglso~fu!uUU 3 ^ޮ4fںuz~. no7O,zsk}gΎt˥vjb\xN{,֮.%GIk=9rnM,d@~skᵏ'p=}؛vC'Yf{2Nr0I~\騉},gh9XG(;;w*MRS 1̓%:<(QxOJ:f^4TÅ;9 O37^CI#J;p9'/ε?7npLJ1$i>o3'4GU\\8kB1"3 h- M'T?JtơTlߟЌLeVůؔ=U,a N*K+}sSꀎ‰9{ݰPBQDU3sߵ$p6cSMF d78r̡W]\.U7{Ykl߯E\\.D+uǎ |';vyjYNZ1}~?=ChE8;<\%\j#E|83O<I_}A K!,y˾h"hOӞAwd8+)MLUd`y,6 $*~Yb~2S-}L%%<~c4~tߧ>6·@Q~ C~z!:$QǑ@A(t H d/0,CaɛBNL#,qE&{B5nNAN!e){Nc@p=*7N<{Ĥ&58A P1SZCJTk$BWFCsZZL8adh%iݬk]U*P`QfԹvNae`%_m}t^ 8v#6˴ ï_bpKug!zx#JJ$1i%8,̇5DIGJܑK|DUYW4Mz]YxS{(@s#bjFL|G>+tlj<,m{4~V%O<#r>Hl{5 c1 k%*<2 v$ g]fq2O ({0YBQV>1L3$O6M<*KIՇX1:|n |$j:K9C?d#K< /ᩏJOcR71QS-4n| }0ݳ;(4Mjr x~1)}|,U5,K<7{VsOFA!ȓLBEW= #IqMLiA<)2ѬcDP#dRӬx*'%[WziȒT,'jAi)F8JmagD` E C(؝sI? 4|*SYc~}{cȑew}omtoƾa9-TtMtkr V7Ѝ7vkrފ!}GQyܶ+KAի7U+/Q%.mCɦgJ,b M4(g^YXൌB--ſo5(( ]~+!<2GS%vz<]n~b,Ŵ]?hz] `ʋ,dAO9E*eM?27QNgJ:vgX)Em 4goQ=t~ZTa$!rk۟>1=y&QGB8ӅD멖RndsTW/ZV+>[*9~hC>;ャ送œ?HqbJtq c( RbГW]A=G8 H5hĊ DA8t>T_ɻ#Ph U%h_1@SX,3mCF7vkv <ЕvvGL+Zexj׷nNpgN^zicVSOFBB3O.9lD):;nWN C<[e:9=%>Y{㵷z~;+Nw*؛ܜ(E.EB?̑{1=]K8iS#Ps.} m{84'YɁ/j'Ԣל0CƔyRwCd9OeԛfX9) *>Jrf}J. gL>HJKu11G{c&I`? S(k2-1qH|ag)Id ޼oɒyB;&6IY9?0˂,_glN@ p>tĀ+ X2QMidY;bĽc aOlpޓ>ԑc߱YA:iYZh} W@)Ic"yT.!SIAdxӎptX¤%.`8Մ:NIh4iQHpL6cjDTpQyA۪)1R>@GWC +! C.୽ݧλ*.[̵;7uƔ0|ȡj1! t S;1 n*{NQZAdW6weI]yGH~Qţ4D4K$)?C$\E1i"Ѻ4iT2#ְ\Q&"QU,}e@M@H⋷n\lMoX2|"jbO{>05lbm_^`!n6ÿwo+FI]>9hâO ;18=rIMOlb)0 Ŷ:G/Y0alʫ79eK#t݅GK&76޽[ pXeqyfzG?l쬭~CyXQ5e!z{[|>$*Mw#\h#Q(>cAUE- xb)FIOe1DH01*@".[ ku4QR?yb 9Qdɹ_{OPqLΕJFmE^04QD+_4=Q(jZ̙咭(|SW^s!<~:vg%ťJmz*SSsK{ۗ6^|s^\qW7X޻oۭ]u}bbrvvtYXIx,cCh?r?LIHο/oN3A˳҂Rcf>Aާ yMx`>#|Og- ܬ9Ń K2Mzy8/1G=뫾 5ɹl|DTWNs!yM(?u_@:qQ}KxG## Cg@Ӝ0} m$#o'xru'ܐY?a<v3liYW sqR2(&HhB͒c(,4 WR%CrD#pN :4߉>-44| T4cݭZ]?# @8p @ONJ) ͆&X("&R  &Byj`Wp <@j w^TxɈ'w=TLU# b(d#.i`'A} ШAۮ6 EP|z]߼}DVtDN-~~cK,H>VZxg+x) ڙ4Bj'&Mm=r, ?q~۩v~k_/w.xs}ŏ3ٟo|͗vVz>sO׫,.MLN^r+RݫmwW.}S]vޡGϭoشॗqLh[]4M bH Bh۠ >[IӇ_?UΞ;C(5O-$}ɨ41yrMs1PAiVp1JWҁ&#K]CI|J>ۙ1bea bOwH ~Ԝ\a!5J)=qt(5w{Fҟ%X5{g>'g8u:5։N'm~j79q&HMy2q.05MCɼӳ#?Fhf$6ɴ2pM_`̌o^!HِCṷś_?BLmcxXC8~$c$ _/ԓ욒^%ӋFIW+H^~=It;z n^Dwv7v]uPDk qZ9.☥tb%mG1}2mJM+%Ɋ5z^4[_U ԋ@ +g`PGGHP% 5h32I$d# ՠ' 5@4 \X?f S3(50˳xzzfB&%k7;uTQT)&QlfNG>v:U/r:^k;t("xU⬦BNtx`􇢰öVݽk^ dںb:McD#$g >h)] %xA %R)4S\ Qrz!zhOO#(Z/uMZV@E0B6 >qYea1^͢aƁ!KMsCZkB-wcQрs @+,_>“~zc{jE6 S.[\:m|e188?==dO}xԴlfj6;^ZkjjZڝ85fuMuä 쟎1Wsgxl6P=GQ̰pK-IG"&G0#9s=6*RFXtP>{obndbIGPx^v>>?ROp;)?FUp* 'c3_(Y U1ґU<8ԐCFWǬ >_aMOl3K/rz,أE(r7$Ny& CӶ~R#q%eJV&tAä[d0i̭gt/C!1QwjNB?"pb #& 1 QФ!:. ͘B>yē.{V)vcLU)2OrQH>*,!s*L'Ӑ\֑ =Xj2! @peJH^Uސ)E!͙AgLL ~sku{m̙eW( v6+sG 뢺̟sOkiQE**gz hnUJ` 5a :iuv ݪNИDo8Q$'pQlB~ f%T1cTOPWIxT7GQMIV{,BC☷: ]Ql0m7{غ xs0>_׸j' %ԓtR mz_@/Ҕ`d{SSͶG_5uL.^{sEsf=3Ggġ붺9~[W[O}7x}sk*%7- oɁ\!(rωTlYx$#S̥ҝBh1YIp[*X ߍy &ry =AZBD`7,:RR4Q CY%~` Ȅy˯u*)w=..Tq7_ƿۯ8% ,'k5^kn}P.,Q/ir ™'_Dk'^>.f{±Go}/_9̾rPS۩z~/t Լ^w{^ @@2LUXj ndʴzk|El: (hlj1 Hl@.( 0pPlCKnzQ$x?/OWOOZ˯z~ځ q頋QE̒@h U 8ja+Tl n(LX981ad0eb l)Zέ'}wH;B!\g0B4AHI(xa5HHɆX@Sc#4A"K^h兣}jfaq]iR2S4c&E&Xo^~#G'ݽ__^z(0 ԣuWf#!]۝FڗykscSE@n޹~]Jgzq,*M`2$P G.<$6unuv})wT( UɩG<~G>}r<^ źsHCU I~`KpQI-S]鈋mdB?dl(9KhV$ˁ3Ր|ci? MX\I<}88E2ZpCC.vKQl2!%o IU+9D<݄%=ȕ>ძfIt@P/!1d vQ:i@M҇,o%V;tشysxdg],pcml {e.Q` {1;BGT!)MĀ`uA(%S Qct7^2XL܍a DuҮFDҬ!gP:#J62ʣ I9>zk$i-ւ@߁FuA Q\Nlc>TƁfD/{1~"!U6Vn7REnH.n'>ɻWj{u͜L=ỵ'ۛW6xh wS]ب%BݏbFZ(`h!l":}%}O_TCOIlSթDwB{UIOO$Đ!HtXoYT:w@x#֎88v6L3₮=pIS+RY å3i fL 47p8]^5f*S?t;y3gO}?~~ߺɏ&v'6߶ ˘X5`FE Ρ/vV@,(֥=*ET(Vz^K65.=q^XpZ>u S.|cw;vеoO}SG~ƻ0LĥŖ##Ҭ:D8䐟]ziE>\~KŪah0JlAA"nHEd$OPJ9&e/'. Ta \^1N4P'p\6gfݽ*Œ.^:1_ 7x`[|8($qr @qo}CleK $:q?_3~ؑsϿыO>:xNvھ^6;V<)qnֺ;wVխXvɞ \Nq_ Sg>g]\V{ۗ.WݓLpdZmج&SYR*ږ>oƒb>Hً4^#ޟG`:yx6GK"ls>;x =^34'! ޭ~р|Nzv:PM=\AWN.2p{Y.2IY>OYGc O~”f)nv{HS?#DBN@Q𯑞9<[<(!48.DI*m?4lоEh_9CX_0pg$YNƲ=mP^,1nh`v EmQ(C.D'&?x9Zr(<+dS~ I2F?vUdr d nwQ4,pAO y0m$xC2rSɄj=" j*@h ţ=Th"]`jS]Y۫Y}l[uZ]>sD\$:uśO>t۽gd~Bz U@hbr5 hicy^Wj͚;6Ĺm{M ESN~]l!u-p(wCqtƘ+DDa,.n{eNP^& ;vO)jӭ#q# {bk%E Oc_[QLLM%K6NHEWCx[Zq40h78*8HĚ&D ͞Qʱkbv=( T&Z.NӋ3RYqVŏW_~fhfF,TOyHNr3j; AZB2g6-d}W?3}gΜ:S)MMO,MNN> ̟%|6&؅Y [/5&*Q ]2sjUxXbџzq ]|nݼ+TebʲuqVkX!#iYN+8⸖J'T\q>#;|zQz/m# G뒿QsQ#|p|{~\dΰԈ鈧g?"3a,-FpV)֌J!C<3[Rv}3LKMfs{!VDlGRW(xbOoO\YpcNQK"Q|6h-aߗ8R"e`VqN""Gy0c$i}N^p;=)odilI>TfښLQOq9UJ욀 aګq0Ăo3w0QfFQȢ(S< 4cX@\DSmCtv{5u.|O0`/تxoMϽp~w^4]{]ׯѧs53 )>gbYpj'>sԳ/|{> chM.E( ҪbdRTƒ\MQ,0 >n^Wf@B!>޴EMZ=gxhiP2:95BRabQ"8t'~P'#KSY 0mhﯔ˕b4pGyɹs[>d6F׶G=)ժV';M}fa*ڲn[u JP,9syNq\ nfl!8+׮^v=bQGlSEmcrhF;Zdht w Yf1dɝ"+ߟr;Ɲ`kޏ!Cv')TOA[2%CLK<;,H==3n3GFPhWtt/ܯ~Y~Y}|x<<RZs hH}c2?Q '63!ȃIdxn"H:70T<$07qPL ')^Rj K21WCv~FO$dRj0gth/ ~iܮ17 &>:Q9&!Q` _pr@*1$GG0A'dC'I|&o-H@PKa+=;x[ 10La"}9=.rl^IpB#+QRŁ2(?$麝뻍1)X+/>{|Rh6;mT_['"qཫ[_Ǟ80*pE A鋊%|[4D3. *| d!2 ?JgEeXZɍ;T4-aE< H]] Vd ΢ #^^Q JEԈY zm !jHC!4ĉ~c'8vln[zK{'Ĺ٥"`^p.+U2<(Y,`3tE|ľ^Ӿksrj)6^owi-K6{(@暥NݽwX;!/Vo}3Ex^wiج6gWozMf \rRрZ<KiVK3OYRE'E~ gD@} _`2,A0.90BtdR~-^E=%^ӨΝ j|cO=ȉ^g@JJJrh"!a]䁹aZ ÷(RJZaU MRcfȈF8L P X^) : aTG$Nޫ{lj 2cjDϙT̋LE6 Ď^]~՗`FB.ܼX[[ ?̳z5g21}u[ΟZR}ӧ&¼Vo樵Yڨ]v{p^4YnZI~0M*Mq{n1J`k Si'J78 :ǪR.?H9@{}Jv){|=G9"0|3\= n@D=,\}垁S~XSaY* #[ǧR;e+Zo'㙙dU=?~߿)dp7NHmimp߇cu9 W8f9 vW'K@ & /q@.YU Aw.*PStbievąb{7;8w^psm][ݯ<*F p!> ŴYdVFGE_ݫN+,M3O@oZ- ~kP<yj&Ĥώv㟺+igO%T=,G߮:2T&.s&X-a#:Z+\V"֡GhjGR:@"# E9TwBoYŨux\aÉei 9t.:=${á x]0m>c@IOsNB.bh!fa҄S3$ !41&}0BJjܜK~|.»5G ' o:8ܮkZ9QPT#H #[``BC{P7UHDA'X$`4n^lo\=^iw bzWjW&~2l~(0MΝϯl;Yx$+T5=nDS@`h,!H6\' +DK 3)jL0e:;Mf%Yo ;纞1rX7zb0p0VV!$U\Ee=`gau,ON{ȹۧ.4C'_c};](NO٥f9=_ʄ-/~heگʿ_5+ׇ痿+[(bE%~(eoo]o˿90C?_k?~S3sbEPX7,+CZ{:?\]"( 8CM&$F1>F&{F !QxQ'`LAFQnz3i[}?g^?Tsvۃ$'=:&(Ki^1s1H!5@#!g&Z*! âCmGgO{>a3 ):f)ᓉO_1p%yU",/VPaۯN2Ήch@g񁂷G?Id\gd(#wWbW20 [F?5Z 3?5r"w:t^9c3EDM)1Ieݭjţ*S==Qw:WaG(I\f>2b-Q Zr[IࡥBԈsą.@C3UVN.ud`B.V.4[=MsZonfx-GEQTWrz1Di# yUVx Yʙ *NeJjR{5Z Єb\*DmB ~HsBpugECyɳf̴skhFT.q”Q8&(-Fi* WزV@oę$H=Fz]yΏjx w*WxÍ#pvV⥥RѰ'U^;yp=J'?x#M`o$Ѫ(9ШXdJ[aJ|BplaךRIZ^K'׽w[w=q﷔K#6uUU=?~,/pB7Xza,d.6_7SDz{ 6LXSμAy@3ڗH9/"ao#,8~)@ -$éC [&$a m:ߪRW0@3 j[u:_< 7b5o%-ڵ01t;t2& nFqHyxY/4Yʒg䯃\~=e]%Aܳ^8g;3|>_yuf;y@~%[JM<<=ۼv )W2ϸ>5M}A\ZxH@>u|  [dF.?N]Tu07T- i ktK6ҜvwoW((7'&aKv2_N 냉m9qZIe0R-efl~c)in:W&s@xDO5O[-p(qz26] .VLTB1"'.p6!ҲqjVa-&4hi25vįݝÝ͡?Ս~8 x~[Y;3U-!&H莭Oy~u?+rbGgY_@MV4EJAƕK \Fm&᭽ݟyϼwU/[Vחa=Qq.:޼;9v}^ly_zgpF*Mڬ<,J%8j> Q:dJՃn%HO?C7̭MWpqX+ٗU G@Pi,s,3i4t{>8tu$eQowN/ uy[Nf[1s^̻K(*DnR36GtԄ$L )*gЉjMaVc TS!ٿShXPPw`!{Z1w@%e U~!ጾO6BOLm,;ce>a2seRlp"}VwK&4 ͵v7rS{M>T ZS=IB"3yPg@> g< Md=i^PӢ ZOʹs*A);NLhI깑$@s)`2bǝ,\:B1  8mVw]-y(!Yh薙-@NPe}_[k" ׈1@:NkM卞KuKO_ dWnzGn]9[J*1:(D?t'3.y [ԣZ)W(Z݁ 1g9EBU#H]#zuKJzڛoCC3㻻bqFqM.f†sP іlI"o Ltw3킩&U8jS YڷThFXGShgxlA3ѝV;VARs!v=&=(RM}۷&#G#`; ZQ"((^I&FBxFra0&0ies -O Q5!`51IǠWLw;#nS(&ْ*Dq̴Yw!E4hALGM0dҞѴ1XӵBaQY0cT 22X8=e-c9_ȳv3gwѥյOyl+7gʎԺ0#5kct/ݸk5I6`!I/}1 SfGb*̈́BsR*j5bPhJF!ſ"2BIʮT!i)PpBe*wydb9X$2&!G8Mt] ^Dv#k/}" 5l¿@T[uo9c9Gm~ ^ 3̘У.f,}3N+Yݢ&"Ԓ{}>~}V4a'K$a/Oc83aqiL+njJn܃ŊjD4D[e7?Wf@J 3 w dr#r>Ml uH&Cꠁt ]kH#[]h f%L,'śR0 ]'Ȭy :'qSu 9`+J,4сւ( yXIo5(^z|y 0%nZm A/uqdC&d5.0)-`_u;i'tjm)(%NѽgeTyQD7?!y3G R$'6F ((u ⃉x }ɓ q.| ^+}^:uvSOΠtiXvRo5)znQ`IzWč~[o?owٻܥig}[m&l!z&;?ԾI%øm jpJ+kkkkϿ~oKk}W?'wz6ޮi{ܹ'<ӟN֍7ػO{7v7L^F9AAB]bM8Ҩy 7R#_ R6eWS>{Oܾ3H^P96ETׂhPf6ѝF'*b'xӖeĐ.VIa*Yb oɼJ8AD6[ Ϣ@pܼ7p0Bq8-FH`` %0"#z&ђ9# WG'j?vCɠCSi\:|]Aë>ԗUHzv;,ҡ2ԪkY3OS5ɀk~WB3`Z&jj(S1b ԘHOV*p! rյd Xp}>B2մZܜlUMΈq5 dB| n(AJت4^ndsdVnұdOfEnf j"a7y|R[0gt#]K`X {)H݁kQ򩊎L8[рPKU'rH!Ն>_*D5 I`L:W$R2t!hP]a'Vhֱ7҈o$6pU %_UaBVtnT n:06 AE#&TWE<Egr8eȺB(M Nzr>ӣΑ#OnciB1)+u '6djPh<V%Q2p)WViߤYRUם_Ë7}A=%_U/'dI|Ftz=ԫ_,%<eʐ{x*,2SO>Q[>ƺjg/#BHϗ HT ?(^췻 5Xǽi+#pni[Sd`]; <3Ԫ ) NaD$H$ 7i;r?ffBmQ9DžGJ5S==Lp.v˽X!Q47nݾ9{ tN_ Se $OیR\;$1DMR!B5BPy )`dS!]H#$-aYIgv|9 i_Qɨn329pNct,Z2֒$tf#s]v!q]%&0p1"^64"or8%(\ŸG\ 쥚s((h뒽/Tmό*KU,N $~hT]nyYgn4#R1eM9SN9ik'܆$D4wTX)g֊ HHⶡ|P#4ɱbsFI,iv?pT՘j_g/\x %___%7p?ʢ&ٽ|vgoP,Zy6+(/ w4KY 2$IYejkT湋s_y;Kt![̈-T|1'5 N jL#_Ey,Mb;p8*ѺpЗUvcǏu:??rm=Nz?P44h7o޹G7>0\"d*ƬWUӌvUɌJ6́,٥?f!y[qYw~2+kI1.1ρYhoCF9C!HPD놛-c+7&0BZt0I^C1q$ łgݯh0цXa7"i?eӲP7"Bf42|5J )q*YP;(V4,t:&8_\YU!ǣHo7&ҧC SՃv7BDB`݌ޣ_,0Q)ݨY93k=85#ZZaAe{pڮYf;H*qiv(|B?#mٌW1lZSFxbRd@Yf<& ci,簻"]{5MBonʖqszk#k⁌/*ٴɡ5z@;vWxoip4teHEggOe' A;` ;rhJdtMxܜXi^-\9lETP$!2>ѵ1#0?F })x s{Z6*iS*㡀P'AgySڕPꪷsyko0^?O"c;l?n$ޟ?.)/{}Q~(9-E7C~Gēgt fsb+C$k#0C{pm_˺Yò[t=^>qFv:iiy`g2c^^_/{˿_#ǏV֎il/7G{,|bqǗx0v:foN sc\n vO}|]wm]ޮ+RV C6CO֨jhfF*N42rjBX\%ILZb&dIFUxu;++%qw?m{勛|I/xR홢n=E?ɉbܔ|BI#V&õ./N6fкJM+܊0MX5dYOqE1닉S7z͗t7R/=Tjm-{kyNDDmKa|'Yʋ)ip}p$@5Oo#y`)&+^ƕj_![X0NȔU6xMU3!"ٗM 8h 900XKޜv_}6<*3D gֹs2 ׸1}Kt۪KlլKO7k(n\᷻f 4l`+O굷aKhf|Ql]͵[3ѼE95AJNCM'~ [ =%ײ> %c.׆ɉ#_6 }%rp2sԆb8ÎFz;[ȹuv#vI}?ױy{P@mJA[ F uĝٕSuV^@2 Q$t C .(k-n\gY^;t]epk)Wýݑ?Т.˲<`HNp?+E9zt#j0,YXmKHȗ4ַ}"Jқ/[[g~(侏|k_OtY Zk4!#+Ã'_J$v+^='7WLIޟ YoL|ESOSuf0؅%8]wmoGUY.*?}^_u/ڳY͋7=on/󪪗;I.<ħ)F_ J4lDkNTDbВ}G yªmX"4 o+eXz7|̚slR%!#VޯL jE(sɶѺsF5hݶp5~ րGiy2TΌxZDPYM!,>6І{ЙYLТn4-AxH k3i:د#ZP̋ݥmtܛ9`OFWCk݃ Hh#5 )i>g@۩ߵ"'LD8eb'#ztU2?$m_QDqU!~PY{ %2a-߂6 0}ô3!g&rGӒajC *0L =L3UMI2I;|TJ]`Wgfa=)ԴO m p/T0S4*OO.JVP"娪(x:;K|V/}qZ0'TzV\u'sFeX) 5Ԙ2\(CL`.뚓' 4=`?}(nomvcVjv< h_6t]VDPz0حje_W~oθMזnYT|MC6/nztn> {գ{;hHElDC><#J"]T%xYPΐjx [C"16c`@rtҹ#o0SYqjӆMhjgDv3bxX1y2N-ts~<Ŝ$JIt bye:H&vA^ehz[x[KgzRSNTzHTQbQ*0:-q?EMƷPlяwt4sRLam[Q )LX{ClҳPq\GZ WᱻNE4%HoD 8klp<NYD4l <2 {?~LIH&Lɭ0ie{:G{;p:xg?[=H:9a0/6v+RA;.Z5ͲzC(䷅]ͣDm\" qrH0isF/iO47OD*)xYh? + ('#*/( h0o=O#֝N^Q}Pt(?opw=x2ȗ =s^LyK*tMf9TCX/ 6YvԺZo:Cɐ2! KۃHo4"^mCu_H%qA/=Z[W~'wUEGIW.xM/'wJ(Յa#FUb ǔj,cҲ<ņb\ V&p_ՖVh%?}Y;T`8 ő+y|R_g]Q6rx|2hHX^_= >Ъ<U Non=Rsg5ZKXaMkAP*=^UC1/ZJ($ߵ*IaEaͺ?k!YIYG"bh$?ElDIYT;۾pq`OoX;'@lE%jX߾{c?G1g1Xf6Ys$2G#`(M[,wYV-HUf&.,/.O@ʀ(jogggo|z 5 {R8u~sco>ѻC?o/bN >EI2iE]/hxӴQKٸHf:LB$kcPOVUL/0bK1E)8~ת!Rwm]rF! Yj4yYiV#0eaoZz<\q^ ŗ:<.JNpfU/%_mDO\SQA;o!BxUH&KbMվq$-'tԍYeV~?I/NB\:[O;uO^w/:iBaɗ?C8b20)4p H.mŠ=K @p0bv 8fLoȁE 9pZM_1eZ4(7ڶiہz=4gwǽa6Oef *^qJkldf/j:ݑ{cߟKnHO|S|1y) -nɵ%N-/}|f&4<*Z/ F9ZbrP όYP<,%lØws-^]iR <}D&yxttdB$oBB i>u01]`Hߨ6wYIQxT0i4x%9Jh|*JL*l㶤A4+*``seI*[tah\V%h8ٲ>×y~`dWP *v2H#,Lu "ϡ&,GL}QTX@qʕsNØڀZQ^]_;|jiG6P:ͫ;NWwcdx[MwDMލ:]UOwzc_ηr_lEnFve8slӎii:PUuBFRcl~/:?<-5Bl{~tk(LBS Y<21W@7[ƁV$UM<**n^Ea7+տ}BjS")Ay/;o{Z.bkbӄ: !ag=R1-xZ*ᶊD[MAR֏{;A}_[;y-- $:wmqzѯzcyk`uyI8ժ)hIKUzCZ* QhdhR9 ^! zގ;[WU]x얎FncpOeX\b¼PىָM~0u{&oUD3K[NnId#?޻(XV5YlmGNfiU 2M2ofxmNhy Mӏ3:ݢgs h᝚S ;n Bh6j37sρi߳G2SXOjK:Qw`Wnyݓ։VUM*י3s7+Fo ȇϬ~jZD$7)]f QlV+.lqFϐyfVz=wBκ eF)tNZ=SϠ\`\`d~Sh%HYx'eAuҙuEUiH[Bq,HP t=Yը f+jb[ O`6zjM8~ƐEIE[E㤞\P: IGI R=Ue)jS6s:Gw_G}ynX⧘ԥ3R?mAL%n$)qv T݋"b7y]Z=m@Ql LvZ`BMH_bR*!Pp!i_ m!&tuq-Bylx8Ɖ+Jx5B{MwF.ueù^xco>vǿ{;;i ZpdMfYǢ `hz8Vb{YkcA,AY2%\mBa5@{ZYL<#/ 1@Lʐ'&o5c, 0h$s8iU} ?_ֿ; 14?sٻnykdq̀"]КBEثQZ[f)3PLY[b0EFҩ|HhᛞRGGlUngyG޻|| ?y~w,-/)v6#0ՒK*b7eDv+3#;P`+c3*0Vw  erA]CA\F Ըɤz RnZУW3$6.U)/>(s [a3)|Y##k<Hy0[Ii./HZߩj]׍XP>In(F)oMBƴd3qM3Յ6\r]u-֌Z}O`'s nhj 8?Z {;3Ry"t3RkA6թco퉞 ܬ }YfGG,J4q36}23$]\l5K,E8X)Ȥ⦻$ϲO8gf`[{, l?<w[\tᣏj[;,G\mV"n_{e*$7''^*,3 *iS_xszEpsrMR6(rgD[ɒ˧}ntb;$ eNR5Ȏw!O+pojX'U?9 AQ*%IYNRf] IdsoM Ck̷t!JRt^$cjueuҥ^vW͋>t&Ӫvѵ/Ww]$=?`#B AXu6&X1 +J K8D׆d:RbU.Ǿ<:\p\z^E7? '._ckΝ\Z^dG g;hL&e x # g/,=<$ND1CXp)]LHvc[}Вaߺdclc0'[M2"j`\=ZCFJG EFL*{LҭRT ]@/d9+ ^`_R܅{[`≶Ÿi{z6/P4>eٵi-P>Dosg=ugZ]>Qr?' $ƴ:i6X;%;U@Ү魯s`F43x-g@kvo+!i\{tз _ض"}vܦ0e4>х|ĶyS׳3G,|-LOXZ|whUatʀ!|Q ItY ݽ͕գTyZyArq"!N;¡&t1LR5.d1PG.d': MZ>C4 ,'S 'C]21IˀSbR'0ŦV!|(*hʔ8b 9 @$?%R@E}voeC%i~E*nuwB] h Ck:!SkvAz0I #?kĴ\h O OKk׭wpP@ &Е95^.q"v~tyy`g?x/Ç?qyf p%X8 ФF)haXEfjk;7Sء9$W&tl$ l`4Ӓfh⋎Ak%Ce!slBZUl8JXhI,\?8߀ eo:йO8g|f LmG~/ml=f|=Xڦ i..K_YQŠFMDT)9l;\m^[끳ǎUϏ} AtYd%7*jJ##FV3H?]qAMܤqɔ^7-Z"Id"8+=j8UALy\XWY?~kXBޡU ]24<;2(wsAr/ݝ5|ɢPUp㉪-Qe( M75tX a/@殅 ,ITPD\ۿ]PC!zau1)f_Qe#}%:3+Ss.gbԾ Mvi[(Rx# I臋j4ӇX TeH = wO_x`OB^8p3CՖ;w*fZ1ZU B+ٴ h2j|gfj}㖖&zDHヴa3.[;:4[.wp$DFD ?-Bu[jAs>T%ΎG}yBɦFb.*ı+u/DVK**׋Ě1BG$*G\nLn ζm-h]䨤L&+VWw1umL&K,Ͳ4,AbiG.=S٩~ 8b-'*t%b1}nk=`BAO_ zÇ;U.[ \9N[ح]gpZY]|O~k^_ѽk~O8][]$G=hlhcC aႚ :^YuIL /E2MVBgq6"*4$-:I*2qF{Jb/GAiV`(`q ]Χ8]cof,nĆ>vNPD8fVOUBʜ#KKKI)QbAo +,(d[N8|j3J pqg DsG|aj8=vVf3,9ܬpX7;Ō yc8UQUe/$Vg't t6&fjS%T zN~Ӵ~cn4T~o0^];mN=9%zxW"w=8٦jԾ}>Ku-7yOyO8b#&}GZ'MU(yF9_Ϭk)FS^b59jƈިz_1#b}d1P8bJ#688s iդdhe o_6)t7ٻVrW?[2MvR6*ݮRt8K@ ARiwiV%@<:31R<p0Mvط 9LF" bDِp$!ʜH5' ~ & ސ5ju0ySLŜOCUe$ñn&R8%U'0 Ab9XdCsF8΁\YQÈXV(Ja\l5) KV!%r21JД/FUVV=Dc"^oC̢ `SObE@W/gy~O۾~g<5|J,Rۆ 2XO &gG#"N(5UvM25kP V/$0MH PM.|͝@;L559(FxXQ Ee(&)BUez=Y +@|Bfޑc?[^ӯ+U7zTeߦ,:'ȣ^eQYEDNuq!/DTFg];Ngi?x`sz>=WEr?>1r]ؐfh--E7:߷s>M\QBvQ ^[TI{ԇ\h:FF&oFv/ -PbE}| 6ӀM}%O uyxe;j-# 6d\UܑA-~.}7|:raOP^0ujN/YOUƊ 'dӭ qRsef}pL7)٣W#0. 3UԾUӆAJNb߅CJhvXTS R:81l0"*Ӱr'&Jқd1T& ",e!B25<HqˆWwi g?*:RВz%+gsbZqJr_\!$n?g͇U +4`Aą'U`_]_\Qj2PP`^%Rz@bxHS۫`'?*k e+܏{h=F1K Hljt0#4'rc^zee/o_/!BA#ET}G߇( qT[ui:# ufFQ{V#ƊH@WYW..KbJ0@Q3>+@٢vH3fE7L^y(EK8Eh^VN`?SKTND gu;#6?X__JEybſa%K%3}E k#TQ,ի]RIԓ jQE{s"C+J벥h4C%}_ѹ{[;i+̗dˣhAcSMթ1,Uc:Y&&E<=jH3T0bU$*e?H5=Ieu4wFk)X AŚ\x*L$Dk(rp25X6"jju1CK(flU+}7 Iԟ ;=5xW M )3Jk5!i5)qWr[U>?+ #o(ӜMkYfƴ:dW:F;a Hچ&NIf秳d`H"ϔ'ZHtJ]RW4,L٣2@F:ںA)Vv Ost 8 *UWx5!w{֥m `gY2v ?i]ph#G%6ѧ@7$ YF=УԚƱWPj(P -:ZK@q7V-/_/ꧫrth4|hOy&6þ1Hf1_2P 蟈_Ah6dxn?@4@36fYIQ폲1Pk=o蘮 gR:M}=*fE'T`'qeI_2Z@EW[VȽCYpM?i羸}fur?#I)QdOo^p=ztCQ[W֗:15 l8GFi5gxM'獖[\לk޷-+ӌO~vAXu?~7=RW#%c9Mx ] ^,R;"uJ"߫:wί]y@MQu?ڨ U{1-rӒ;ߦ1&T+~΍AnKvL:bg?Bs~L LNi,Z!$NM&"7cMw%}֏=SE\H,I%Ei#`.R>a۫S)  xMcv%iJN$.%H(@&IZIf:xLM(P^ ZZopAHSArS:K1qb<1fQ$x,F1ǎʡ"%|RUG:7?{J\!TZ#.bAvt FUm#jCq1%[1ټLjyDՁZy("_]^/_Gbp_,l'oiK_B#;XM)ଔZUnX̂䁸aF [嚓!J&z^G=,Š\ID)WH<8 [.W1Q5P_A§m+u,6zi}@? = ' xo\Znzv8|?6wo|_ ^b~4T%W'mox/P\;yKI_wIwuBA ؔuLU[Ow- w?~z?R)OiD>#5/u}.fH躱-0_(' ^9PEIe- W rmz|#?ZujZ% [b }".hv>qe@F,Md [l**IG,,k1Q .-*11r ,C> -S 煷Z3 ,L9h"%= ޵_Xgxm Q8M+8"$V@*ςwm e*v!<%)3\.6Jtr M}ޏXV=Cf'M^c|Ht=wW{!餚KbCc!Oz6@I'J+!PJ<,o9stJ$4jFyuCr؅N4rS{v+eL=)`F?= T%z@rl 6FT͆ܟwDj j:Eu@UuJ< lT_*Y YsWiuH(FAC?!7" O'yT Xlr3w^;._'pGyD _% ~ov;] XQcK:A*()NQm*IE^cBʚsq ]sMwnxk_( ɢd@ $!* V g/!8ܦ #6rT 1 kЯ 3z=`D]厊26լ b 75&8 %>f;jt#fT*5, j:F"wA\" +:x1㐷v/24dh]=nM'1Z2:شh"^߃ГqV}k1랏]۾_L:/ _Jp_'v}}+)^;Ozu^~5oG?{lYvs=^ ,TcTbWRRRIQPe#\~ 8TA1FD<%!$ 4cqٯV~{otkz5W=Wo{{.NTy3g5[9w4㬻nIl)ʌ8g`Fu9 K蹪L>0>#ofi5oϏ<6*u6Nl3="$Asfe!adiN3ē5SL@;=EorbI=$LI^Jxe{usU"J|{"1C? Q7gpONh)热[2;;,و?2 Q wFrtx.lzS=}UrMYpobHJz4q92Ӂ1xf¦olH/EնNWڦ?a~"=nUMߑՔEԚўx+"$AW˸KD[DxRDRĝM=-[c 0d2f;p\׊4t;•]Lo801Җl),mJ'd7:NMw-lJe:uK ev2G2HcrzTeZ%"a^iHgͷж&ۖ /F >-lFTɝF ,D{z%tmg> pS`oE#_7uoz'Q}w7?;eUx0AQ kL}1MB*U&PdONNlʔ].vW#* urqo;ݵ~p<ISb,"¡M=)t3 傑l+ &%pA&D#YrRyaẠP0z(YvZEn2`k5".&{Ia'~y|D7h5"6vӈqeTԒq ؅Sãƈfdm|-b,(hˎU@eY"'ތYEM%ax91MNp?,.=l6B`S9;VAX@-oS>)⮓`k>U]zt@ vڭr`Uaӝs=yjNk_g^V(7t+əY+E"(}/+# fpvqYx;O3lTdj=A `9C^G19a9̕zB@Gت2OǑê`pGY~RY&䠦KFǡ3ܣzn[0)|1ݏ{S4XzYno_?U|!gn>^|~;ѓݿKza^5?oK]͹C/R;\3%ooX;sqDwNoaM/||Q;}qșYATg3Y5 H2C};e974C-Á>Wi3bzDð(hޜLsBj\Tqz% j͢Z} IҲ򢘜F H-d8P:"`ǴgGNKฤEG˔(lqCF]dۯi"Z\qٛ7+G{[3ӈ=-8EGNցiAb_ H ~C{X$us+pa#+d+݁MT0 *ߌueA)'N}!fwbrUB=@{6iEh|i  gAD WqԢ9=ւs-1Rerk_Pj0 V, G{{:eݢ[,:X }хr:3`ҫ3|K J-WM D̕&|-VѾpez'/^؎um};xA/EvS&y?ƪNbBs/|k?{k^O~4'M~_'SC&nXE" _߁ *b*π^Tpk}J\[64?oʢb+4Rȥ>399:K9a Cxrk ]!  Rl@rC~ JΡeyrNS*$F#r`aFfdT(g8[oI*R 5* {)YQ3M~qLHb:%my! t[*uC_];n9Om,b3[ρmNryԜ91ŧOzZ#=bGw.{ n7`<;aIGvJ#3c4Ij&՘<wXQMhHX}Use3xa eOwR_#<ד Q/ts6 _M}>l;~:ôLO]v:2F2\M5o ={gĘ@^WMH#gJ|]fND7%pmL;+!ĈEU}GХ( 2OX)][8P R:6u ~]! [W&`1D^.+0gr<pɋ7irfCx\Am(5Bd$}9Ocͱ9vzmjXq[B9wVtRyO=d4)[cmIZ!YW%cb]Egn>Do|sbA8DHXJK!ho$HؑGFhDMZWR o"$L^!l+qi!M)[8 TaR˜ nihB-0I)b&,M8ژMQ''$>8 z4-);<N.ЇEtyAN,CؒpE&! 'EzT~3|z"[ם+b#Vg5r.H6-mA^fnxRySW{?C/yҭW]@CD`8.]ئI~Q=(9ۧ$,UFu.,}rܾWwOthe%![&j>KVl2?AXdȵ<:?Sb"|H%ҁ?iZГNx]L 0(11TL (fuQV撤!&n=ߞrB+6fH*PrB) lR->dZv&ՁAbAZa,.A3v3>x5Oî;9(m];\WO C!ǒy*2ťte g+]u󒜇)bs/l};տ&>tV UF_<0QJTH?&o_c?1|~w=?˼ooM"4}iNa2P(e]E;<78aDxCr $|Iy#3qh36et)Ig LnOpB{$L}i fg~3}Arcɕ00{/~C<2j@c~|i<$Ƙtm:=^D?#Ig v[[v{mfm]u>IxvQVP[p,|5cNq~h vDb[k/q7M"@3d4,{4%ⷖ3%`~6ux(㞀S+%&J6YU3ۣ=뤁FS 64۱[ן\_Tݞ@J6iqYA+,c Jo3v.9k.1ڔQPR.(GV^hւ.U{$;c%&-`BSIױ d_|szg`GV3lЪc#p!)aeB" #e gqGTƦ 30*GvM*.˅!U6v<I*Zo~Ϗgy'?LEsUI?ŇFDJ!9SSU"wv!)\3׬ޭm2 >NgIK8cOb*ڶѦO.i^T>dkt2 ʉ}%$h!2؀tإ[`V[O|Ql?BĞF5 LFCpF?X(=.ei;dGQ[O xI:=Zu*zFey҃Z]"@ᚩ, z@~Y`H6GIBtji h9_:@Y4Hzbs(2H; u;XgJV#=jH`IJH!pvB:J#ɛG⍕ 5oqwX.,t@Vd}ʰj3 웮1ޔiI4M #H K .ˢ?ԛ{#f2bJmnYM.m^sD, G:.e~{:p]E'QNQ_m#n޼lOx?6P]bF_R -rIx >v]70^yХ O]/K[@m_klNK͑ACʖ+TfK+1Dlbm'ypODtIKdi#18|h~°Cțf(=wްp\{a[<}׋3?1dF/[$(@w9q~̷- "} 6iGAe=]Y{i~*3Gg죏v;;mq#A~~G/> Gȏw{7) R_}v́븿wOONɯBxv?k5jo]сHY3}jZ;_}Zwf?sLL^]@xu:9H5~3t5LfDיB)Z~T: !?}+<5h/z?dP=fD{^L2XѨLLRxeI{%B!~njA6;,-#U:IűV'=k*/Z&R!w%8f{Bwf;y&|B U Trш:&GfAC"rQU* ZI5t;KqB^ C|iF/wQzYw~{?s);U>EO4`L|cU_pAۊ?j=h6[a(6jD y,`H}`4N6VCȌ5vѥj5-)TC9% {lӋ[--FFX (] jo)ߜVO~=.]-x?Xb\ }(z^-n$8t)/T'zz?M- d,OBҖ4\U r "<#LDGbE8[Bըҡ3x:o l2U *[Yў~!gVܱ~?qŏ_skN~;"ʌAvvm>o@\JDnj0 MjvbfXM'g0Φ;#\ڸ+[Bc+BfEl}tķKlܓmCYY.F%2341HLaXqf.qbNWa]G3tiIʼnA C+sB<mt"w *'9VJaH>?iF gyRoD-bpez.vi'97 < Ą!VJNy*C/^jILfY/"K CFڴ !5q8(z*݅X3@ {3\yWK"'ϐF kX>k{X]}kW4'G6#rkH/b\ v>N/2/(%#R<lT|ۃ5]^_}h?C} uMO8)e(ij2QTL-H/!yecBeʇ}cY()ҭnrD潘y` k(088NBFK0Ut L߶ (VHn$"ϙ(rq/۵i^?|7y+0B ?G#%lF0=vCu\ ʯ<3;D}HP)9Ζʞ_soTȘp&UMzI~SҤb9: P6z b›l:8GEBg(Ia4K]ϹŞMG!OP .>~vɤp`Ǒ;o$fΘŠUP1}XZhK^ulֵ)Jqk`#.ϥY⡎-M^U=~Y- ; 90P.I `ii?ҋNߖP(lK?IHbcǐ}!Ib\دX':Lxй%&bO̜s *:ᱼzA)L0 z 2EhPӯzk~'^UEG} :ajUڐ "``estDђ-ϣܟex:Pr+"yHYKRJZ )0s_H 8JGPↁZΙ#[ y-; <a?^xb1*2ߗHZxQYBow&dyК*:(md{/+gGM@J9mۺ+ -33~BrH;btYM†JTU2 /{JN`ei]qM?|?[le7dƭ_y( S࡙II;‰ߪ~Ӻ*7V"n3_CӨav;-yvMJ)X7Vb ɪ ȨAՂJ4TZLxQ3QŇA,r`[Iڝ88ZQE%r8^"AӟU4gB*s!۝K2p&j9|t[C3L׿~'qRPg8_3݁ AOeblܿ{;R]\zgg:֭35K=͠=_^@c2z ;2Qy3Cf+j:D;rjŔ=OVyrbљM'!#)L}0AJ1a./+D3If0+I!q#lYe{:4Ĕڠd&(O19юe{u8@(A,&8c%#;r"Q.&$Sof`K A^$*~3Bm6ɿE6V䛜O(2h!6l-s@.!C%$k16cKRi)*dVPʵ6j\.KѹKt97t3 Ԩ+$p^˿[i|MoyH]\v#kzBBNLRŸbݪ~7j*WWI}Hn0l5H%*]~'=?Dq#5lt~Xre-qS%>Q!*y4 EȤ#d8PlC:^cq)i7Ҵ^STNXBCbF9>KJG;׳2J:b:vl!Si8TZlarJwu(h(v17ɦYF;8d4XaSbq{0Mmzݢ|ڲ2b׳ZKK=X-tʺf؋e@vu4tBK P N0Eb+.**P4lyHAi>"[pNfa&b-&}۶.667RWCPzG:ƕ98U4öOkt|buM$PZ @߂v$pS*KiFwWCqlrZ5ފ^E n6_eW5dI/p`&<<@C\凗J8ٮO6+8:g^{On|o}erP)4:zUGvE*W\Лq[Te6GYMq$n9l2}S8qeJuHfSJ!׏ T6iq #(<4K˝6D \Y.Gwy#换3@-1X^<+ zh <3,G96d {.ٖrК>'>YoNr_:UN nj  4ݶ*0P=F Qv6'JẃNfH{b еe#$p jgDsͧ /n Z6iRM!0Q*6!|tP?U6;Jl`ϝn9R%SLabRAӚS-l4]˲SFe/OWtv*OMh L6 䟰erM*W2QJ.4! `א?Y.Q>:M;YR36|S.w=]23(|J?2?/c^-'>ެ.^n` 6cȖTLW+K3]~=+ pk+h6\#utn&tjp% 96uqt@9 >RSb )ƋUkRcaC;P>ʦ?؉%F6gY ڨوB֊ KF6{H_4  Ɗɫx7Ů!~ʼ+W$/<b|l3G\jzҎ<]D|<Q7Ԯ,?Āڏ#܎3f3jf d'!hbbu,I.-J. GvhH(zێ/,=}_ iIJ"8re:0{H{ 7y>g[Kfe+S,|Y"Ӣclga='ѹ?>8_1Ip)KdSP}'N٧$&[uږuRBvVo87Shҳ}xu` rq0Sw`^W-dD1 (ttޣ.]`|&R?2ן~dh$ܵ9]7[QvM0oD'K R GhSR4} |~^5[y MUTHe( ~\A0rz1ئ%\8٠HG3uʈ*(fMCl齴Pfi\ucf慯, &TmT3ʱrO: .֫/mNO! ( tiݭÃ^}FwYôߺB/*4-K?TӦpQ:]JS|w_OUӢEi#qK{PUoՅ PwJyU7n^~_n-X.or*ڭ$[7ҨEO%(o̤D=IB I^DVmvgѭO@3Y%,sotq[  /SKccs %"~Ϻt7d2li53xr6awO*{9^.]”(=b׵'^䞵G9̄wsQHp ;LFb<_e~Bς}/b?= pI3t~(q+=i_H8VcU3]~:*QҨJ m -,9Ui$첖f;co;Ȧ4Ș3|-0'yjy'n1z8#e1\ ၝ+ѣ>-mc7vx ֫lsn',Q3t@J1$ܡݞt '$ʞS{T`7i!3[qi[>"ȶʥ-s㹍F8\z54ֈ!cD(IPܑ%Ȅt<c>l$P\D"Jɳqr&ψ >ILۏE$#C +AB@}& rOP̵+ē(v otTf%`C#@p7cS3 GJtMCa(+'&}VN? tW:4{jOOPzSd +[+뺂" 0ýkWP8b);: . Ps\#B,ur+t(˴HA .=/ĺʺJklHxY[vAa(7OÃM $|TJ !*t)Naݮ3bˑG'7+WiȞ*[MܞL%"?vlaLioK/ޥ; s%xӵ^WF,]8\JwX)$E:(2i9/IBpB%ˆת/C6G1 4.(GqXRdŲEɔBl A:-Gts/ݱi*=%6K>#erwg st<g3Y*0.@B6O甼MTw0zK׊\zˠ\Oy|&wf˜1eE 1㠁(:IDߚ[N&Cj'RO>>K-xvܱkJq{5T뉹ogu Wea3Wf,Lr;Tc5ITBf}N0/D8gnq]+zAg(B`3_@SWg&vyM̀F(/=PRZgC4RRH4E%*~[o~WPV0bt,(EA^x:[jrJ!}gCdGZ5V6bڲ( Mٮg1r ZR9l9}cEHUoB.lbV@Rݲ_xܦ=#(zQVa2幷ZqDž592@O`{2l] \,\UZ]4mKǐP`Cu=D̾kә HtbJlDm9R=T;uQUQXE7M}Z% h|9?t*z9SZ9ZpphsuF2Q.j:k;KGcZl`6~CӶk6IWJz in͢ZUzkc=Ad^ߤ4RF6MLjmaShSsrp f-Jt ~02|T@$|ۤ2?{ʇ[?~]oRM7R}6 sOA([rm~vhSŤQigֺF4ڎ&B 7()l*lłqb@[2HR.RQ&rEl뚊XT@LGtP~>k@Uc-=q o9XʃnNK(H?c酇FB\ UԑI{lNEҝщ:ws]CkN79TB娲#Q_=H=|?{g@xfb3vEó/u< 1wQDry!]a,[8Ys쥇7@I`eHjE04a$wح 2pOI5yCu?GBCRFM9f`.}'_͛gnZf#\12OFs1?ZGҩ$[ oX./yBm-UO87+qthk;(\0_U$`f_I; ]E/F)્-C2M}fg#P{15MlC gx:M s0d-'!lbxƀޜSM7Bc$=g#V6_r̾H̏a238G߀УN>b^&q/8*H`O DH `2試Eu"m,aNH T]dv2BBhV{ $p֙1<#s pEzW)P\`Q+۹ÏlR!J;yru'OYjK:e:'U8nkpy},skzҕ+RONpl|bHҥhS1jA52HV&Ba1bF5"=hZx7|׾W^ŔSN#[oR_^-G?F#8C)z]uHi^8EbHXGn >zV P$! HQZ+6${X':H>֪4{ZP^n@!L8/5LE*8,c$hi9 {° r%@E$Med7mZN:CrF)=O]PwDcjOj'fB| w8qXIF#_Fl~JH,̻{!e=X43j܄|x7c WZ_ k2Ԭ.3TblDb(J NxTc'unyI4倣jvSejY."Yo+gFiWdg.TzF>]ya,&³bQ{{7N֟䧖}G}-ܕp˶v}qfNB%&g=u¥EmcCLGٹȴl}|طO aOw.U =043_4;\ėe H!Z$Ԕ "G07|Q*H@U+˃s]$&d^X7>X2b^QRdž im*} Df@p?MzY`+!Q8EgPN0oH=AL={&#N{ lt@T-GR7W0?jG$*M*_($>!EωEӪY|[ʇ fU,86P '\W*%rKy wNؖjfHYXҾ>QFLme:eEo~] SU6PoC@eXPjYo7XRAwzZdڣý麦)n76wgn]_Uˣ S4]<>xe~մm7tqx_x׼oG|\]?j>XSR_١h1xS qU\KcS~&viYb9۵dAlk"z^nӿ3'Aot0p`@DMTF#΃6xZ ʼn*ɩ0I@VlmJX`|W7r`]`1%h'.1&8uo9cA/ v6}']:[,vTyt|zʃ͖)N .$/IBiR[0y1lHyfL+dzĪqު=JsQi0 :T6JT֒c"g  bZiɐI 皧8pDKC4) ]<\*߰ GI$l&[dQsg1X@PYȈ4?ƹ!Pڤ<^j6O.*x3)x0!wv0k mI3_œi/~W(/ bYL}7&alffIv,Nȹ$r|쳖zj@&afXvF&/'ԹTٿ/^|jV8Nލ|~Y7fLLU }Y-qQMU|90sE,SO~7d虯HȻcT+RvH%TߚL<73ز#JD ( ^Zi]8™32Db/G[lVS,a]B OeBU8:u]fJ) ;jsy \qw?Vx7pah'.= {^_P:HJR$0ƫ1b>wTB<g_ש/iAL^&R*9lg2X0.CjC_.Wj}pվuUz^|nVs*w>z6}݄mԕ[V{Mgmjmz}w˃t[;/{])b/9|)'p1(d<OȗT`~3 ,Cy&+B rϰnIgbqZnkj O-|:HW0qS7"V&H%{(g0D1[B/!ǧM?Xv۶OO&ee#귞L¨V8+]W߸~`f*o}ڧp奯~o9Bڪ]O6Gzq#LsP k9`uhKLZ yc^6.`Gffh-3+?m2=.(GM /vfi=-cKqlJ(6g t;-@rRg02n;7_/~?"},mR4ut]M1h5Lv߻~676frol0[Ѽ'Y;1L2UM%̾/9&Ǚtjq4@3En.,=y8~0}BgN51HsO@"mtՈ¡)&h@]tNnb(eݑ|M灐 v$BЪH" o͍ wbc_c| ;l/VJ"""l @m.ʕ)KƂZEmшiGC/^wJt~>%q(q'vXZ~ ]@J,è+e)sd݆sA(Cpӵ}W}tt@bU')6ٮ;Gn;>PsvGoT,]׷~Ҿ2a+  tg*8h2F h~`Ǯ޶ӄ j|г/mR}zFۣ˫eF2C(HaxJ$Z셄TM!耡.bGTl".\t^\D6Mw2( pZťK8:٢VÄi7A{N(KrA t)b:Ihm~%nU*#r(J,ufs۵[׫=S>yG_oy=X?qS]ABMe;èO _r^xJaeWc`}7&fd[ѭN<ީQCTSD=9\erCHSh[pEcU#Z+07HYp&_{3#[n sJ` U%ޗǿY~zs\,s7{׫yG"sՌ?gL3SG[3X XM5sKlU;޻B.x?sg&&dDQВw.,j Qv}Z ;PI:ӛrv%GK"Nht/A-0v/p%c; =FaKKEgϞJ&@#Am4vP䠲x"(;,=CX%T`Pd$ 8+^;zQ% x2:A,ّDھ_wiQbƥMK7CI)st$GR`1Rc{#Ƅ̨Q=]mwyҺb!t`.z [@6gLm6[V/%gh؟jt}m*֛fsX^v0t (8 M9p}O\|8%%GN/ W=<|/˴ )好miZj,`u2 ܪVrjMnAJ̗pM˖c(Q6y"n,󆸌h2Nŀȥj>O~}ݻʗ[?G]guA@zM8iWt v}c=")J2Wc . e;w 䋇!]pB)vРE3!| RTf*,L)J}B\,!(~- dKeF cW-sL$ȷRh浩ö0 ܌B0bo: [dF)4wЁtjZCHa 7ڄW}WYaxvw%{9h 7(\Z8uMHbiqu-&2mQsg[3馿NBoqYu7'넝I` '춙cZt'&(ͽPrE6VصhжL\]W[M1Е-OS`<ϦtA!rCz7ZMLZD%' d["Q%|$:$GH2\٧by04d%NNZYُVH#[D=gӛurQB;Rō/ҐsU @z| #ޢs7F-Ayf΁&lz\a8޳o9\!/ ENzddPu b|V#pF(&)Xzy$)Lh¡$Ȃx3v7a*h>ƠX]}EYy$1ZEVu\T`^bz#Y/϶mtou[Jfk55b*"ұi:(DL y%222v&kX^6?WVx‚I038|CT?T8`[z314\?l7Z ^7ZL} !i h&v~5KQGѥ<"}Ƈ H806p f˔+B:nb[1[r`TkӀG{fYGX<ȑRis;tBtwzK=ú8JA6NT0ۚ9~@y͹F0Fm8Hɸ'8tַ83`w9 |K;Fd/IE_6Ns?gx+l:e[@flw%Ny[jE0 c!{zWQřTw:L&p ;o yD>0v& ѳqYBГĎ]iU-o޸I .<(Dآ MJ;fJ`LUyh^*0霎zqs%:ot-Md {Y0B-^-`2(-q_0ٯUKv3\qVdpDLxB%Ɉ/ ߯5G%v 7q\@*r:_j36ns!cLx+~, OE␱̙\OzycQ*;p߃0kR}uxxZTӮbyi A{ oPbInUo,m k^~YՁԢ+GR"*vrL\*j< Tեx@!Yc%ؚ֪HI '̪gsv l{@ t+-uQ, +&9q 7=GOEsU+-ϥeLC^jo mQ_AFI:p++tckېO1zFI= fYTm63+^w>ntB+J,MtO}ӷ(ty %G @}LV度0V}FOeLGU62t"Oa8+zʲ .Qfdi%Sb.aEZ\s H2JhQWẗdz j6W؃ 0KOOrbN̻1+sLن>mBE d%Mw7-I:g*w}óۇ5pӉM#gpGQ8~Hy}CӝqY臌||c2V*QN"?n`u,,f-"cLH&[]-A`wJY5;~__/hfX7 zS &W~wş}u6jtFj!,q' WI~b|pN?D!%`xBTA(| K]9htbЏD)0XγXG-HЇa#5/eX5q夁K|Bmg)&"$6h;U*K=Nh~A'Ԑ!̶?0=Ǵ 6g#B5'q\ܯۏ<ώ& _좴s7x+A5ʼuM U& 0vߋNJ_TvF 7qޱ#@v|Cgx>t4ٺ=scŶ(z}[و9讈@)QȞO"@r7KҁrE \ջ/yw F|ٶ `eWF&JÌ݁бZ)}?J9\E^1]Q\EӐ,^!=Wh"I*!j(ox !KPn%nIL#N@!D"%yIʃj{٨-!3Li0rjcOI$R0%U㞦M n>q3ş4ch9`T+CTfj`hڐ%=|5հa[ww0ݧhtǧQ[+5\qoY´%ܧt/٬i1}7 v'MS,q@|v$cA93l*7jMF_ .i >]AD]tڥ^V_iiGK{ fBtfH)V}>C7" Ph5\ى-,`jR_$q+NW@άb5g UaA!%ݮa!\*[٨b$mA*t !B/y u6;8׾+X0!a^{[ۭ6ֈ;'E oYʋrC^Em Z>ꁱ -XmߵjtԃG(8 ~ /(@yv0IݦZElB[݁]G-]):8#D9}bߐj Ĵ%zE6s^ž.&:@P˃FEz_7GK Jt!85|ƌ/0feYbM1 sBv/U#"\롄^ɑ Sð7 M '?Fw*d7]?M0}>*4.o؝vF~(f{2! )QU;1{cr pl]aH gr4bF qwߌo~E=w{n?;7yzz+C _VZz큝!.j [£fFøm,oda!)zLzФm$5զccIJ65[|99-RB!QUʻcjhb>AwvJl+Ǥ|XQ4F<@(®q3IZiM'h,ŸDºCpԩyQ(G,0I˴a%w1DlcMÆ@Bڴ#go'-f1[a@D1 ~p0Bv~d+_䁯re~᏿7K=SQ˿y߮s=ÒȂEUΥ)([#RQc½&/$PC YQ BH/}JGf$)]+N82f%ԉP3 Sz tyrR,NbO',Z:/ɪ([qrCY% R5dF IZ,&uuRs_/OG$wKkUn^KD=(=coӚ))MwhiVE;݄#w\SԮPkvl}#nXZ^|>O>3cB?'fZ8{kWZØ>)NmS]iO#~7} |HSƝIip5/Jʑ:TkR FPDJO,S52[;u;=.|(@.DK|sgvhٴ]Иt0Al~v⍟^\Y3wZT9߂NイsBO!Nmt> IqqIdX `KQ8Ҿ'[<:"[ߤrdT #sҝ D+%Ov-ba:A1ϫU7jy^a@YT$`*D 0q!> [oES{! E[3jc%KGM/X]C ͖M3_ި_ a,S%'RkPZK(nT%!__Xh;T/2lޔYZ$H0Ø@z`%U35Zs<:gֈ`1a rTfc$]pnscrԋy|&Gɩ b}ŨnZOIec׎8i[rs!g_D {WӫP%k8fWWtzfgwߐ- Ǝ]6~3E25}DH ~ԆW] ՁB YtF):a!lblcRT`B^;k<{-a 6֛,hXI`tč6;AT&)HzaxFkiL{ISXՕl$Z&HHB$z3ޱVs!"Fj JoA1\&bQ&JGkO)@8D,2O|%)+C23 EHbt,m&tNGMAɬ'6}c\`?h;,v:rIE" 62A6 8e4YFg+Vn"@eED8r5bT](kYQ]E&U5x X{(ZWG0P] W8L"UJBӼirnEh(|htrs?^q$j2ȷ;( o܉^-K)E|R^T|]zh$)> i.s&zQC&a| H CR5hXM==ۜyˣ'Z<˿~{VWQ6 w~[}c(RuY(P+Y]K5Ye cyEuєq6Ù36%Ud>NjO}~}G Db?[,@o>infdp /mcj'+\C%'A`۞5MAXp7J2Р43qدĢEVÉhnSJo΢|zѰaq|V8].Y5^MI}g1B杦8~b>Ӗ=B &PT]/D]SFJٽvD7;/A%LR+(ז ES"Fw8> 6%SO䪗ƛ'cSl6m:LŸ];*X N$V>,h|*볋5I3L F9B+v|LKF䭬7e,{8*set:,ǖwȝ\e0k2 UѻL=گ>5y'"*jbąeDkG $pղtM?-"͔ڮCו In*p5$HGȘ`6_ &ՓlbDh-B^@wxI1Y-+61v20DB?i:;ڶ# 51:4mjmNp\IR{oa!/hj 4'2:ٲIԉDuSS,@|m.Sgټ[pU ^.V@Q Fž 6_idKYȆiRF ȈS6I7.VYմg^z1ϭus_/2s<|{ϻkwi.&fs$XPԼDn0KrEQWti$jE"n|˻B"bn#)wƤNd|f% き j :ʪNt)9V^C܈EJLLj21=_O/Yuj*}b^ 0wߖ -ɡc&3/|=?:[L5F L>W^Q3/x RMɫЭ|amDB)/(j[x+:lu-_V@iR ą#(#5SSO9&gTӥ:鱽=@Χϋ6]=*؉K+$uZi\4`%s}hLuuFF,Ci8ݍdv{%P5 )"Z6?R{e'[^+pxz0]P`$ɣ'E|VXQЉɾlTD:=+Okҟ?}o:{O||f\[0gm _<3A l[[wMHUY %sQ PFE 2L{f.& Ýu3 ?y_77^yf3?5T'ܾu޾u֝ z`w,K0 ($1VUskDצF=ՙ =ԝdKC‘jLgqF"`P18A aeg/$/Y{wڹΈUs 6JJ0g3Tˡy/̌/t`u4 ұљrF%q֠|?R XSif]u hJ(3km7 ]`e~t0WP`U ϭ4>6TM۫ⰩU$Fe#l1p`,(, }= ee7G:K x3?Ď&8z(ÞyErq=qVa檲ӓ<ӻ0nZ,93Z.\2ɋ u-j}K-5k4DIj}\7M˱\/ќnfU.-~KϾ޸K;ts:I:vVYCrHd $2 ~|x%O>^d$)7{7q&)5h(TNL <0ƀ#U |~U"7s(}>[G#+u0e&rgSH}̾$/YR1a E9+",ݹ-+I&` vvY2D7Hٷh6ʵ"%Ȋt r{HN݊hUfl),*l _Ɏ*V*2q+ۚjKCk%=M!_$[N'].2'c'~N|zt7Jtp~Sog HX&us:ockHMtRZ;O׉rv*^u*7Yf8d3R'EǣRL&>je4G? KXS*~aV߮?'\q>L/}OHi[E LNK?(@^ٲK'n hNo~- Omɋjl0_[,}⽟|x󽓖B_iӶM-eA:b*gP AQ y>Ώn?TrkҕLN3 ޑ]!@I2GMMR@N$Pn;^Kp4j_.}E0=d臝j$8ɤ xdʀU "bAj`Y0)挕2vx,m88}t30+Ru 3fMײ!5\d֛V$htszkf̰e u3J,=QufE CEðUl4EU~By`B8I*׋ў׋4g8SGOnSCx|2"aszVnp:jBBP22?PQh?`vLăضY3fmbPC?bs~d>}b}WԫWa3_m6m%$!BdtI,[zGx Eü1YL@u5 tCʊ և̡$Ѓ_ ($cnGn㚳vʫ |*IT|TiXP䋉t =С]9Y&]4=Lבp+3F1qִx2ISJ[#ףTy:)QfE"'1T5MqFVP=f= }ej~hCZZUJȋMDGCp$qH}`X@`#_QPD`pp#C0u0 0{qx07Wzk]]߂ g̖m5 خ`8Pj}q^Հ\  =]; sn Fe,{=uhe[3 C\tVn QE >闄]D2!*2GML\۲ӽ^ rZfp1rvvlϞB6!/.W?̦V=N3pP׀3dofl6W,N>l|g썟7y60r,*m}<xK c #ݶ@@mrHcv>q>u9GnljJm2cb3CLW?n4,H=Gv{Fd'QL}*mO?iQZX3H%7fҗ߽f2k֛EY[G-J/E[ٽa缕J8+}5$C񪡹dw sqbYC(+S}jyN@7smc_C+ʬƦbGS7nbf 3t~~ Gm5;Uq8ғDx e12k_| O^ќm3S镕8bωQWm ׼=K< 2F2"JS. V* ؿ:(iM!z?s SxJ^ d(Lzh`-6:IdkJĝlA^JgZ7m#6TzKؕ*EHe*lvpt4&> tS&D@ijżCzGg9c @-͈S1x-f!77%x@2쯓g䱰İs"ْFc6ړT2(R5>Hs1jICzǕl~9[U1V ɓ$5d~ Z泃}i4֋#k7xMzCX5W5.ו5(3*p9?=7?on޴倘8\Bc,lH`d0!땊.QA"3eV?3x Q?|-ΕO(?J䒸wTs+c"x(UpPztęHHPzӌ툭h.0Dbĵ1j]f,X z9>}2b1)Ri:}|~C0C؅ .XŧR1[%Ήf/ovp>eX>2s&AdJOnN?~/m[fYV/8*G{yޓg}_K/EЇމi> ܁)0C}W$D["/ZKCq" J#~Ӄ*p4BZء8#U x"KiE,Hb\(׺jUdLa^jIi)>-FaRe==-J3\ Ӭqzd$S,_0hw,Θ+:d|̗F+[9g@= BWg'4J;J@0a.Gtު_`:?ܣ$[iz 7OȮgrMUp߹O2$pRdB"pL:'^RY`K 9M&p.xdȾr0z V] " |۶~\"'ik nl&xX PD}e\CojYPFj`:Z"t_ 77^Ϳ E{a3IKJ"*mdy`P4* MsqF=|ٌ |=FRZ˃\YWeb0I(=٦$j+ Fo*RF6qp+&$Bs_"\lG U (<ئeܻۡB=BAy]ӸL ݧ$⍙%g -ʵ4V$uL+KKt e=.Q 4ic-NEΌҒi,z?9.ti;/ HY;ݚ[Yl6J76bGR̓3lfM33r/=_z7{t}鶡_" wp$ 7LD7'm< ' /6ڞ"ۀTM2h$[¬  G+VeJW>#Z;#oMKMEp׉]m4+_WyK8veV KL(i5M `z>՜"TڇOo+#'n:48|]Um$^vɖCAHUU0,}@aVC;2a`#3YI87)Dd |eSZR{8%j!ނۊij+c1IJ>JEw ^9}gM5k8cU 蛑av(eg` .ѓm`KI` Pe-Du'Gן<}w~~v'_7g[{zvG?zN=F;'q!$Գ" 5|useʳzk/MRQ2U:X 2B2Y< MK4:3!Rp]Uwvv zu1j1D쀞κ0\Ex6"93[5}؁N:cf.L'f][3l/Ž{I'cZ*oc(6K?Jw}.#7Fgnh{gtm.#v;t9-A|a'~<@wĐ-NW{~^ ʯW ;$M>w=w Qyj>)?DAh}H?`=iH WhJSo+Wv[Bw) ɤgNk L2J SD1jBI$SOɝXVs5D]PTdG^$_clr:]S$9oa$/%F@Wt" tcPE1BŌX*Kj( ]U(ˋx`lCxDcLmdEsvM!!=:Vથvh5j0YWמHL}  8=::dz %{/m C}C~|rϬ^>޻nw\?]歱gqJWR8Q_C"_ 0TP;a.W-۩L B1^h32WtYLI;Y7W'Ӯ0Byᵗ9HQpR= u5!`޻l[Hh!XX%l' 2+NINE};v}ެ muO7/,܍L4mb߅EܮF@;v'm&?U431N AjmF#ϏgbRi>|Zd'}8R+Nq׵g*CJT>ki[ᑈ15 J7Ȕ{aIh'\1r}:A(\h_JC! |=jvtO8?[? 7?vk'ꍿ^Mόt꓁. ԑ"$:JO>9y]} bYL+qT2M .:/K! qED#BVPCCK#,J ,*Wvwƈ:F8TM9IqW55 _^qQQn:QխtئGt^#A9rg*if { KMi7*iA [kƝԴ/mH Ev OOSӊS#1ud:'6!)tyQ6_,20q늝hZ-3NBފrΨA'F nN4DJ߫7 @$BQrX[vr:7:ZBʋ&·:q]K!KeN }4y+~7UܖK d1lljBWغ>dP@})Q2[$T9S ζxF9wG kMSlse_o 4QXiQ # $42Նru^NXSZj5*vPI'S^bFh(B'iqJ V̎L+$:; W W8Ta,Rr(^V\*DY#D,zWU)FR%ƪ">f!QՔY\VM򥞔+vd2e.pmG33ШKzz1SJ 沎!2L1{Ow3#wWtf!&QiF-;rޣʊq;{ C2s`6~?GGx*\PU{d{ϿTy\OJܿ`W&]-2tODu$s&$$4v* م#UmMUY(ch?J4\[+6rrO.^̓q#Ql-5D[K>&v7*7S; ga$ާ_K/=yc6s쪾 -ꗿzZlNN~o_O~ݗgg[j]ܤGp= 6w3k;MkΫ?z?z?}YAp2*V8| GO\?:?;`'_zRB\8]l?tIbr%s V&n3>zNn"+V4P6l`;]Grx7n[O|;۷MԀIګBe5i}EGˈ8!kTU7 GT1RTQ?#y+1g>¹܋Gq-%2rtˏ=NEIzYHMjnT3W W#DIjMT'ighn5J$(=@ʑL0ހhxYw3Y@DQZVC4j tg)&ZV]5A:Nck*WZJWRXzUb-L&3Vv[9"u)}b=ġr5h,bg+)4\/pn#UZt5N-,&j<?Q1ӧ2tjW'ʪWO}b;H90?VC(nYOʌ'~2|qba ezX3.xԮUX/6S.ժmUNNČD%7`)XoS_WHvmXڰk D®k{p>$^|`yg~s6tv吶GO/>_;oص's{wgpux=%I`j%.Y2 HnkKG_vG?|z|SޢR h^GTW 2fSuEpL94zx"jGȇ0*Pvαy4FLh~$^#&ՒPZLxv芭1Z(eIbE B@<<Ìʜ;f2~opq!qeU+<F dlsC%8e$?f(Nn[Wh6lam'fnGFMc˰JLJFi=<%3TLSmYu45l/٬. ^ ,mbfKbf0FC*!D8b=tk7߸ytMtu_ Tۅ -,V>]$vW] bdYCtbmoܺ~(_|?7/~iy|mgXu\O^? jRMrU1ۉ+<#'}:o:jb! O) K&'-!fS$AU:vNj(&rj Ta P?b-n'W_Kϊ=?\\.dOqїM'T̛2%H<+9ƌ1}_ss-u: QkBj VI19ʔ1dTW큧ۅ{4ٯY_*ΚGʎI#5]mLY1;dřE۩eKc]߳ǣmPҩ4 ʇ>S;tV}̨C*)O#OF!۳٣ ^=J{R~&Nj)?2G(̠ v]ڎ"8_<=Y7lRO!7k$h67?)X몦]U+^wg'lXۭ].b^͗׎~ /K_GϽzju3Da5FІcgeFf/*j_o><;74[bq%6BYIƴ\%r6D5qhQz1b5ŕPLٴou[0&PXOOV )Nf0 |qS dԷZ2E5(<1izLdt0;dX4jxI{8?oo ~woJ:MHaZS?Iqf7 t2"!b**ۋC wNk(qI%< O|m/:Ig>^z5 ?uzs$p,Ɏs^G%&4E W!jn6E^xM" I{_`W>\j\h25 ڲ#S% I9McVB[dQK*"EUsv6ZuJG%޸NtXjQ2a[~by)h8˫/X%:dɠ1׾сM2seo(itoy0%۔8ӕ=b%e*)b0JV"{t۽fY)m d/nwdڣO wHң҇nGWUGx2W)wRٍ!HM1!ׅО^V15\}=k2wlj(JU#}nwzzLid;e?O;q4jMYeWQstptl ew "~M+k'32Rgl/k -N&󅑜jڤ%ulGkdzk|n߻n@}p"` Ϛ Ηs~nkT9k;-;: UMXQ.n2f+6rׂnx*uT8Lwan.L>UCEޅ&25<P=F4i җX|Շ hfRe$1bHM3O*{|u8N>@B)#VsR2$DN%oD0@FLXqOrumx/0?gͅ< p>:=賥LvԚGES3m^_ J.gS)?jW)ɃZ,E0W<%UK.(L0jKg)5)6(/j I$;wJ$0Y!QZbWUpŅe CЧj7 WHQqE xi5$hӱR3\ENWtz z4U]9SaLfM\[ ;0jb\EӺ} Oe$WJ3 hdU/No1թɕRs3#O@d}-8-=gLtZ]Q}%44hRiܙ6uzLc70a\߰\6O@voF8%ђ\eIi7,/ #28"۵\8m !IT+Wlt#N_;-SU[TAS_WMt#jՂ5B$`q ج[*BY B֛[6:<\^{̗ 03r^fO69?u[' X-]4um$ $[MZyK1v x 3V%1#/IʻbeFFUc{уS F|.N A= @a3@;\A15= uz(RQ{ȌW):X*!q3C1ZB3桋 TkOc-'B=a4&7W (%11pg`3ֆ,lr W!еzim5[QsYA\o.J݂Jbƅ "?j #@q$"u)҈2d# 0N`kI\*F& Vzi'P+ (y]$Z۳䞸'nchI7N, (:e[Lh6]iZ,֭-0IWxU̟tw/wykaɦ{YޢX/!Q(qST0%~8``tĩݬDEx+8pJLCz2Chv|`"ЗbAt|MqݢCk&p( J}l{*e4e%wU(ѪخqCƼ(5{{LuvIbS<6I Ĺq,%Q_oW.DNkA-HW_C5@\W"sfqPWBqHB)+qEQuSqŐێ+ꔣS&&dUĪmzQl٬Q$ls+?cgpjY@F^X}sJnH[\:jer#1|<nC|7޲}]WnyraxbZorlۂ9Nh){h_aY]ªth"FW_= a#ۧ%+^v+tf ue&ܔR~ q`g `rZyyh,Yv_A JuѨV+ ]| :(JQ4,*Hsc|wOMM&_̑.'F7u谩SFt!hp=n>s+r޲Jc90[;E͘B>cYAV:R %ȰXh\d.;@ASk 5'0gqmz\ݜdO7Ib!_3!_BlOL=g;v|rC BOыSo6 ˪Ϛm7$J%8@/>j:|C]/S?]p!l/y;x1+F k5 rc6O͵{E)W<`xDud]>kSP =p.a8OΌބRkhBl꺒Yoh}޴kW-_|f_VBl DO5Ҙ *iKLi*PZd[ <΋"H2$_sC wO"5U P<\@P2t~E d DWۺXgH[sC`ff. X hJoTc} Z*2 %m=Wнϯ?`ΆOE] 1V1m͟`agUԜFK,f ?@v&E1W\2ܹsq軛iy 8kdH';B pLrOE].p2Dx]mNMTЋkejqX,PʒK֒ p+Uc@U~45NHY̠2JJƋd<#]4e)oNz1K_l `7-`9IԈFC-Q9&縉cפ|z$SH(NB DEtwkA*n>kk>BU7k1ƐdJ`ށӕt9e8Nis2d2_MtLd%1Ql8s/)HBVhBcgNMNiv*&ֹgnnOh2ɇizCǮ^߲Ol;^Ezߣw{,`DɤLf?5$'h~4v>q- xgaѦ1dZ֝x꜃M$Cz>dmrTÀ`zV6#c\ѨТiS]grn|\| 24ߺup |s~&=o*֮Ԡ7+MM%R(4Q, RfOL6\Z>ʢ)^=V#$HBXɌ%B/ 15TQ@urENA7(FeRJ$8zVO2G;F@ )圾-'XHYR ɬҶsSV߉.䞨FjpU2-’5Ww;ViI:Kݛ4ٖa9my]u(TII%mYŠ0m|MUB2ァ{}߷7965!%3EJ΂{i1!#iwvy" RzYLsqƀuXp:}GROpeć=NTSc~\f&^S5!o?vR@x+ h[%F1"/`]RZYsVk\166,RU66MAFA!8:ۮtPSM*Xj[|*i򁦒 pri ~K.Nos]U}w[45 zVG~z ˪j[UHT\ݫ"6]?9|yRҶ,$EQlc>H74V(H'b(*#D5Pfg>tNx"SA6A>b{N`v)TKbimo|>~_Ϥ_^}bĆ~Ѳ_PyQ|9ΧpEyQY]-y[@&^JOczfIoeǦU*C9j`ΰ&Q<1/rs?}]_-\=xxǢ^nz}luB`ŏ3hǎ78~;bgtуݱsUG/w6 wݿfwZY50Yy*t IIbrj8*D* bslj-#ea€UbMj(S# T2&ۄ(A13&Ђ 9 0fi@Ę0 -%tn^Ag|\! JZӊsE &]XUztHiT؉s3x>GE{hABBQE8r^::K9`7ZITO'⩞:'%2QJ;>C6J(ö+{E͝7)|g?p.@pNzZDy'| '߯O‡?>.OyJ'Lu`gӏX"H?bH[ϝ8^PSH? !mvot{'^b:pƤz6GӟNfs[61g'}wCU5qȃҒ` 6HbKuzU;ւ #\H}EkIs_'Y:+% ~'Mi pTH YB,և5$zfސܹ6!eD9%wH_D$#/f1k$>H__ʅxkajg%n8Z"Uҝm"L,i3M4un4{{4li1^ g~|jm? _}GgCV?]\gRJPd SLg,<{_ˤpnVYPSjK8KVǒ/y\.m-耦FP犩W1,|CLۂ}8? 4ɪNu?sAo4 Q2 嶱o;hq7"Aщgu<`wY`_(Shun8.7&juGQ@Bm?=9>6.to~tLXiv}b|=U $<x_„X`:yY];߽}VMw#8Xњ"[ rFY~$3sN>">d~ϟV+]Y?WC> q{-q I'ޘzKV0~ >ɦqZkgXόfvx>s[ORڥfy1,1E%ujp}&ӗE mW},Gќvf@~7W7Jp#_/I)r[Fwɍ囟׶vwO(z]>H`Ӛ]֋ݥMp6$y1E XC%ʮ{ﯶ;/cTXV߼7 y_ibXa >XPm;_YuO*Xscߝ2;Pfp LAUt=qpЀ[蹖kEIA֒Ovn63| @yβSɃt2RHQ⃜Q%Q K 8itBpAyWN~.-2 rH%z@]s@$T![ bQS-N7ԢdȪU\"Jd5y [8(N:w.-D,R/7p;fPw͚*32$=b]]*Az Z";MJ hη;]/>֍jk8+$875_A,"Ō5vfCS&C(]ja2m~!EF%ߘ L`պpⶖz 20{23QJD>Q$r l'+"YA+ͤD{Z2D{% `¤ʺKAڒwi .'Ʒ1f>Jr).Bq| !8WObbZ@h +f-*8f(!3r91n]dB K @&F^S-G(%9;tߍ2S8( fuaQ@~j y(uXP9lԯ?'?qL^&"^CS0Y5% /iOÌ.7&x*g.h^;'ܚÊZZ&qg1 #uų.qB=OMp&(c90̟(fɑtdMePgr}֧!펙$r>A;[5i'6-| PkV]ܰvbKmvT߲h'P|K `w޻&TX66+,gOZlѶ֖T(Ţd}_{[~Po+}?NP["ܼ}Ѣn?vZ~le63A :2u4eFß1,ʆBKU[Lb fؽ35xN샖\E /Yح9fȬ#Jn!Fס9z O$ ZV2\;R$ĪƳ6zӫUvv RL[0 2%Evk rTT`s+#Ѕ[>r$O1O)JLxzB?u')pn Z (,biXVly0]}.DE tyʀFbӃz6D/EMQHN]y"gh$ޡu,#3%4>mф6*%HI? Ȏ@No1 _}ʫ*m?n׆tOr|"|~vK2|&j6 0.j֧,tХFKu5c.4S{{3"2t,aey%vV~ĉQ%0 &#s$R[$/!$Rd.A})Lִ| mh ]:\ 2 ipƳN7GJ7lf*wgv3EU#&z1JCB.d03+M^L Opio:9@hE  Ӟ0TM`zz~ttrgd])EZ.~/+05[b}K$ά )AB-d^8 -O>y,|>O>>ikq~SƏ\y1ՏKz|f c+L5GzG&\vw؀/}ԛqUq0T!?;,-\2{*Xs%^e10ۯ=Wʳ?E5]*}J$)tߵ%Eј,^l}MDeޞuss% QHHQ2'Gpqacߙ岺uZn>:A"mQ8Qf0K- Sq~ûnwu{dl)M,O:UXK|!Ԅ0!3.&lZx͍ŢiwΝv|^ 9ii B& <,\U6nMMX!+ޝӛVu+z:|^ZLJmkS&:⤃O(G׵!]ڄwhLFFQ"(]h"1țΠ멦@g?dvwBJf Yt o R&}ZЏik5i*|K0p#>st^ rfHC>@kbiJ$*G5 d #2ο)ME$3 3/ĄSҲx5O#2ǾwfU/#_1L{@(J'θnjު QSM՗:~774aai%~5 %qUb9^8IgzHȖtޣ}CYK>=c Y# YŷuMY,.BXSD:G Rr[K%$,4Rɞ]C>N]dwW|rU'|mc3Y+~6vIQ]|p-scXƘ0>5N{°LG:>&yTLJ*5=_ wɇc5z$JΈ!Q4pL8 a+dPO8Ođr)P34A/ ~>Y胊eŗK[T,C!K1I!P06RLaѣTMQ=?K;96uxX jnc|%җ[ת&ݨ.B,1κ9&oUd%Mֹ&yuո:X2'EEozo|K@BNO#A,ɠ{'Kש5 *#Ff ܮ_{]7CׅngjuZ-vEp, ) l>q⒠Ŏ/"ITG"/,f4ۇBm0_̗nZ+5p豀ˮn`aMiҶ6Y#mt&R"4qňZP> a &CKQו:Zp/R7bmч|Bs4a,9UdЧ%^ԷP Ò'Ʉ'"TxT*XLbFrB!+l(=Lg(T&|㦭(X^+@mV}zTLڦjKR`ZB#xobmu.6J"7Qp*ԼCYxnGJْdh<Ԏ\nF aQ(VJZ&gW7΄+W|U"Ǘ gTKgs 2B~#[ Ӑl($,;?aIG+}-*W:ME1v^0*$Yy XÇ'P!N;Sͫ ébz|xMwK,FIUk?үΡfڏ~ZWI)\d4'+AOcM14tZ|8Eb4GUGq2#l>=!Qxa1~z tcye||?ǏqzkkX?ɹ2 Mc܀=ӿiO p_{oi*?5B9q4)u)dyd$ \I9\z>MU7 k|YORW!qf6&z1pG98i;%$w~GMǯ/zX.msc\aEj˩n."pj~[Lf DNNsHBh7b+rzW^h? G"Xm @Ue;xY4M@?u |*$z=VL3 UN#w*:Yu(@zq|zME\fᵚyf:ͮ 1٪" hE "i1Au@n Tzns__׾'>Lnksf2 Rq7on_ هbqDFP''utxKIzўf bUw.2y|E-?>!8f"t6ѧ>~ p%p\IH L JCKvdyI-l Ѥ:;l(P"О MY ul3$pM_{J:5K؋X0=MEᆩ; (!C S<@za_4Uut8"aZXzA"2L+>a?=<+!0#m|382ͬ,4zaAZͪX0&)L<=L)β E=F[.uq5:@] #~Ul~OCڧև7H̪٢6ñ,׶2~պ^ kH/@B $#bS>?4æ:0{I]7m&^lڵY.$L@EgH; ƬN/6~P-@ /wWvsUnZ/OoGfM`(l: B?MWz^ R:0 ]Lz!5avyKb,TmR_Qø{¹ h$&^&40JPhb"K0:XӠn_O^Ik겗8I3w߶oſ @xR IK: G#"4tN?EЬALҩw}\m:qCl @j9&M r`$ɲaHm.ab>)`£vxxY {U(Lt ),8Z=gȯK`)IͪM!S*}D- y͝qHC*A MDF',MN1.jJ ]I"ޅH6ؿMKdVŽ%7#)mAx&aöRYqu=mN~)X") 5UC`UQY2w$CII$SFPD=F>N^.%z,p T̓H S!BŰ1C.v5T*x ɰh9TX%3 ?^d2MFO!sW'CJ8/;˽:n \mv vySGLD'RM-p"#$RIS?,$?}OO_L?h$ F/-M'<>7ק=b.HI| N`Y= ǙԨ uaS DAkkǣg)"?p]X`u%P:/j-"0ojӾpqJ;}?ogg~_oUwݺ-b$]B׈Q$܈3 aie]=>۟?Mu;_?Q^ֆNmԀnd7o/Noûl.6Q]8\՛7>/Ǐ5S]|*R$ȒUS7 -ڶ߫Xbx}`Op3=4$}9TU=ZñkB†`HMޣL> ">7.-ۚGv?_[޼{YVh{ff'w~7ELj +T{45A|_XUVF&taqV sPuA-<+FAU0<*QIGu[> PJ}a5Pt Ԥ]ㆧ#z*mU'e*e-- eQ"bxVb"L aW-7)1[`MsV7F:Rv0:t byLyђ .v6M%eҹʪrEKJJݮ t%3#|d[da~z]( ;/16mHX= ZN̫,Z\21&s)$Sz1/XYiR=r,(4EEcD&2tn 1M yRl@,)S7ZK*\`FԴv NT<Ê&4Xv5񪏇#oFMBi=4L]|@ZMW+F7j+Iny0ifT~=â/`u* 2:0eF8{g9> V 9}ko8`|q+4'̒8ab{]l1pOUu;хb;㝰?؇Vfql$9P,Z h@NЕ~1 41k2 RmЦYqs~.VUQ20%L~E=+ oHR0L{ .@.lOd/^5Sɨ=X4beMux㗓1>DK G 9xΓA9 541TRZ ̈́Dptw}•mZ=%izImJJU\*ܧ.` $]~[,H/^ KKʊ2Z$XQ %m`Z[a/n5\/%Dl+7=XM*9 "IOQR}D.ʴ#\ vj(1ټ;ž^0O#gCUIJR@X[#]P1\ȄiAP[=\GMX@)8B  1ja_ njJl>;^@RU'|jʀ{tPc#`=~mng 3`T 6qc-Ҹ Z>MGg܏뿲j ~o/M_nz %b:1d[*–۽ 0uBv(y PZjt^L'P&4Yj{lsk_<<7g};~2ٝ< CF-}cmua{hڼh躓7S{zb7;ЪmnNzwv{mVǷnO;!A$2>jP^-;[vnsUZpdU*LQe9:p܉:A46X#&IwPw˯ך:&,"Q$pBCcƿ7c@KmA֙ bErR]CFc[lhmٸ=Z`I9Y.gKC*A(N)x/'=(O</hZjQDV%2a/HnTbJҳHI@w쫁ߒ!aAz ]$DZu e#eG bV 3#'g#Akrɪ kb=|F*-e^-*/"C`ЁbyΎ›$LL!,`%lqt1?l>ه8k"Uu3'񙔇)QeG}~% Kmb(9d8+GwX͸;KE.ƴ&qJxC;G|JA9e3e"pG&Ec[>Ty=#.fi)B`&5w-^E}̱V!'h㨲DJӗz<\08)bYe&zIuTfO?T#aZL濗 qW"],lv{g@l~ΚP<7?;y Bu&t_G= ͬN_Nvνw9yoTǧ^ĪS:xڨF] ew4i57PeONo:}_F7 O^H{XR:ąO߿#d?G~/ׯ)W< Ս[wy#|sCs!bC—L idS $Jٍ,tݫڊ@ĝ:*p*1OwΤǬ>sSo,[kPS66nN*T4T4Zsc¶gR{kQGg!,hdDTzag5 ⋺slr.G~z$H}wӶ /,ebBMʰ~8zL% f”.V,i,h(qnN@̗gI j8kVy`"+n dD'k[~)i8P5B2̐ ntni}=r@L]CT+ȟMnu%;v%J{d]C᳓4{0LpM2 *T 샥ʚ& x5S,.f-uV8W37sUqvABukQh"lί1*sӔtӽ͗r,0mnH $ I;ӎك!PT3*hKWϞQ%Y]1|P1臦ULMN@3eH^lյThSuQws %9{ĨuisP'-f3Rfu{陋u87fl:IDˑ~\Yο*^<`T'_a$H>HjqqƌӢ"\Dd oCf);>qGc!٫C+3Hď5iI˜!3@!Èniƍ є$+& mRơGtd>4:;qqBΥsƙ \_:MfdfՇ[2eQj1x>'!ӛC}FMf[*=;=3%3W~6..ꆲ6N~xlNnfCmTiU67jۄk/ )~0A;::SYnN7oR?-ijan_l.N o{p&RK[գ~]߾}^ҷx:7mv!kWF,vI HP/$iv+ҙmJ䑥+eV!_*w8 dItkDFd|w޽^kmӊ,X'RAn7;q| 0mCW-14e!"3p;yV!hdXEz4mH%āv8hP(2vm%!߱KG,\+[]$T& eQ4UʂFtX,C8t))|()Ap|VNt. 52 0S#]/L'JՊpX;H%ޕ>; +lѦw=OzBp]ۦQNX,$+GfƸkAXb&\p2#.!TvG%}(9#7QZ!UG\XqȄ&n|J(hU`k:o!1} |o+E2^j;fP,C$rp)>AAB(j1,/^68BgOsj e@ow "ѬGrAdž-͑xxXɠ22CO+e@9pRmL'>I.LqjJwCJ.x,T& G|&hkOm'5?y,e:悥u; Fb!nbWU쎖|N]D3=CvHQtbfW( iw/;//On$c۴v6Y&TYz 7p`3{~#.:wW7XD>]Cf;~/͠`̦pZ:ǭ~U%~4;tXۡo9K^䈖/VJ\+?%qG'_۠*C3W:LL'ڜoHbo˷{S+GS&Nܸ{AV4^ 7>vm$$4([ۺ 4,ڄS|[yr ``Yi&t5Iԃ4xu^ׁjt:;@\*3L.{bߥt D&&`٤еlp,2d')# 5`i1'>-~vRŧKiVŽ% 3[AfJIq0MIwbTVⰞh#y!&t>blrqqifΩ(RʁQ)f*-J+t"'uJ<]y2d@#1.a'=iXgivBB~H}ɼ.I>vU 0( !CTeԓI'8^Jbj22aTTٚ`ҫL?b^{.LfWO,j|㿦ꀏ3$cOnso[Uxn"XN;Zm#b/{&g]ߕlǛb{Gmaj|Z/qw^n,?7|=:?Ås=msYDH4m̲2QRcΫ$QO8R\›owi;jQn7E|l.ruul :,(š[N&IF0b;K02㟀.8CM*5br-7skO,J4߸Q z ?^(fxs[obFjmƐȽMX!ZJWc ={tZ!b[UҲ / 7ZGE'%jȣhb>Αʹim&H˲S!IS8ylt wI,M.<`+*'k_EIuO }qh̓K.9oqG%97&SIX.=KGebړVfiRX+ÐX9@yJQOB#F.z&Ǖ#΅3xӪmN'G 'x5*yV"AȰr 6AUҨRZwEaEO`~ 3/ x%sv{Ɲ?tY/}^j!˜ǚTtcߝv P&w߫/+ckR J~8}%oЃ6QFlեPsO:tCIJ-ϩǃg.#e0#7}f#8fޅQcMgWY4צ~,\ ĒHƿ.>2'gB?$q.up˄XK, AŴ)nKN3W?Dґߤg{N%<\~ u'pidk}*pzN+C=%>B|o|kniLō[U7 gUS5{;GopEhz>{wgXXE@eF$$YMlIda?Kr&dB-w1DG2)b@o fP:u@h&,3h}N?w RZPL$TA' a,4f.&[,ބȟ.(wx84T4r 1Zax ;myԻϾ/}~6ǧq?\?@O gCds֝/{fjg]'Mt\CN&\wؐ c% Ft? & ҅jL}y0zݡ⃬+"4pC$dVAwXD6*}}HM\ ߛ=~h覒L`WZMTR Lن%&Ÿۃcrl+xX@jp8B.u^;I^Qmt9 YrBl mx^۬g8O4S9āJb!)`v= bGgkC&A<w"*PF .QL,0I 9 WF{)/k}?JU?.wΔxK!{.DN`%CH1a'}ULq an4֥*Vem˓RMNbJ uCJy- ѥS 㽺52bk3l1i9icJ 8]"ŜMWP\љ\VzyKub> 3 ٳe0fzOO$fz edr YP1sxzpH8qy=oy=>a$X?}y)+_3]̌sp??Cs@&{hڛVm뷿߽;v4^D . YϱS) qZOn{q_y1tNj賸ɸ91y+ȊИ-pi Lac<SgFUhIHliڏ+Á%s7/$W*(T܄{<)hލ,;[go[6h4OJ7o|`w=[O Cj&Y 4q@{!FolQO(tأwڍp']=pIG~j6ίjVj^lbhPyz0I~b:Hg(f/BtȲT9N{0?+.d3S-P([O49)d-}5Req lCU OI㾤 M'd4*/E}^wχQ;TUL'!.%NUB]mn;q7Ҁ>3Ui6 hbd|d0TO90O<'ŞB s/M\@pe4hLXBe\es4Sv(ul)m#K8JpR_x)aAbO!-9F> A;.ޅwX{(]VNT`↣I=ĸ@ںH"ͭ.@ej xd%>"!j$E(3Q2bLj F?&#sH3[8q%I0B\(w^|4 7H0JbXOgxr!2o`}erD !tpj8SGI{=b[Z&N*΁8/ ]O=sl;H0Hl1I {anԶ#|[3z4f8Hfcl[GNMw;l"YzȾ'?|MqٰGyI@rrJ/Q%/bV.J^TQ2#|ߔ{IT[+U-G=69>ô+O-g]q3QzM_vTڍ}1! *T<4Fs>uM:r [G[5y hM:?j1F3 z}Ji:.?gSNxػo~ǿ֏=^mSQ&? 00v<]tC^Nn d=ߌ8FCOG|~_0TwWPPېkvd1OiLs f&0RAhxĻRzE% XӤ:ֈ]OHVEfc]HxUdP;#F\}74/7F#8N,Zu?SQK)kL~>w'?{>q CѲB. 7^SewOs"718NH'jؐY̫:JCpa#Ab< pܦe\'^C%.X 9ÒL=)k'+fߣ%be$2MeAO{뺥ۓ/K>R ,ibvCyj69RtAp*{$q^ x== T2Q!TT{2GWFMŐ!'s @wm<3ڣd"U@3%އFZ "(hx =% KUVpiͅ N :RJܐSqZr σbE8]scqb͛3BwF^e`1J&G˃*Ұ7:zq:q ^˥gO&@z뛋:3AFT=/1t3|55'eoO>kĐ0z%tRS k|7/\~ Ϲ>,dq{p'jSLk-{@=4rS薭Ss]@0yI/qP^"3h^']>l%%٫y@(S0ƒ;]p:X'At嵞yhtSIpGkEW8k*`ko\hBK0>&)@A<PncXuνg{E~|qb]H !(I\SsRBJ'*e|Hi"4r|=դ^ֲ%׶[uaOGEb=CI`oxi8nzځO<&x߅@.u7l;{#'96@'ҕtB+hG_aDP@ &CZrƭtvSه^hލLj(@x%v=wwTl|ޢQgFSm)%p^SL.ͤj.8c/T?aolæMmeIЂ|KAG tX-;C* 1MGQ>,_JV>\Tjtd"/tv9[ jB0ҪT%Eb/OX鱷ǼOCʅOV>Kky3.-XZЩeFydA܀LƤsTUM%㾿vg*I" HdI^{mk;!g%\& V뤥G!G;Չ5"9[Ē*)PjB`j\ߟ۫EW%PTög*kzqvƦ?3*%mqsie a $қdLXU—MuAiQ cډ= +f?k`{Ʊ>vskp\gvx-0E\-#LXrD7=(ԜK3ߥuWہ9{($<3^1I'RL0 6Ö3 L3S,BBEѮ&[^>X% U9"x=o_RH)}m:3Zlzz ;xa H3tdl3Z,WO$NBB;Ax, 3df@|KK>X:h?ds;o)}U:kqC訷f&z=iYd3FP6|d6SC^F*_twm@0#..,y_aCn!F{׋F {"e? ؊$Io1P7Pͅeۤ`(a1] R('(7Pi)4Q@X8mTvJfD"{+ODqˣaK7_>=y~qo yntΑ2g9 wB1Zni 76PZ]H$Rv*M%;з`rf 3{I ]vzϬi ((xi;Ʀn}OgI ,mawH;F3acyaYF:>?aV>janizt޻^:_4P1>8{Eo(ΤO}.v}xaV_6XpC* p)T$^@L^ |xF!K(Yz*E!1 $udD%^ȹu{nifk5+>*%`KBQ l=(QortmK3U] ቑܷ;m+KT#~@'HP/a/iX SDƈK2N(4pWTGARDq UIGfXb*TdqwʚߔYi W6i@OCgN)gSĦ|%zV*!CI$(BpqQ+"G<&t/upG#,-+)Du@fU9IbzAC=S#9s#y"H7;=s?AАNv@=]DϨL3*wXejgynz Eo;Cx ě,IFH09poS[`>zbN.tN|y*|{;~RHn|_?<tS9ֲ.c+]:f%夅#wgbYR-)C02-D+I˵D{.A*ە.5̜3@3EW,_vq/͑N`: q眙ЉقF(dKQȃwIpLU2c<.^e}C +(m *>:cw>cP l[ΞO鳷'! IF_jDΊ`$+Ѕ͈[D<ؑH*@&`KYp7~ 2Ӿ~oE㛛v!M1kf34""#Ub.aCJhv !4'*Yp K` +\b' p);8a%eeֿ7Yu\hmFw$#>z=!$1Bb$z ,!w] ֈ]n,. bzm)Q,^"c"!6eV+fF3=}Uy}9U=Tnݪ_]0TRp-Ng@bR=e ʰ ^6}!̈ }(֊I>Nib2LDk1C=-ΚTp -Jf>$&[jAըhǶ;ܿkЦ aId,AybVO r2̈́ !a.I:=s#2Mw{L43ѬPeJ?oPL_زs !xjII݁ CjV k|D |7]'֩86IWj|4՞dV.w}+ز$J?_jVY 1OԞNɜ.*vkU.XmjsD6:r`'%tBQCq)dWS?T+~tRM 6(Ћ5zcc=C`W/1=e<wtEWX{$͵Yx,O.bU?1NYyKͶf-xwXl`7e}ޣFx~+BirUёwX톧.\ܞmC͗V>p8L QG 4D|o` T;(KD ;Wk"_7c{nXz\Fv+B2ij9DcC0[adS 2K|`OhcwXMM{?+|xRDBNigaGw^/QQP+I%$T l{%BcgӇýeߵA0ԹT|y`$h:#MƉ'Q.0L^l' [|[q}MXlkjE2-~, $YAF2w sY O.pN5> LhOhjyn Qo8\+YK5V pِx3v;q6O1 cJМd2fZql?OObR]R=>{pMVS/J~:)of~3<`yI)K$ʿ19 ߵnU7qɔ\a ߉&+!5Ρ)$3AP_E ¡ $/ӰՒ$ޔ,~{ZZ݇T?ZZwb3W8Bchfmkgl,+&4|P$uo6.ഋ oE7v;a>.,cJC\2RJؤutNbԛnH;bOZ " %m7q_\9+%F<Ҡ$8}B`+@/z1=P5 '_iD-vQ* &b1& zy!ogSN9" x3Cah̞)Alܹ"W8-La%?R4MID90'+?Zcg|Fƺσk S1B-yS$[$evm.<{t2Cf'ܣAF@$^xͤs\RCf˾.m/\*vv}xu8,:23( `ٔQsG흿tlgk6EnGe  ٥cY\/Rq @<e˔W}Nzɲqu[q :m e4f[}EE'TfrBnA\@n$޹ qqSNANG*k8;K&({bsH|H'w@5XelfFѪѱV\,1<轣tlΗ4YU' nJ]դ!]՗VdF(fch֞BHW&AgWYӢ,kW^Ya$jQjH" m))jS<<ڰu/j肈ͭPVҵbZ_,vo+OaD \RBЖhv Ux80щ<Ё,@a#{t3X1:AvH ~Dm#f3Q' C'=R` ;^t`-.{l`n!@wup-r2;mnj:d%uVȯlUV Ɯ4E}&4h[hE'\Qfi<R@נ vҥKzgw[298[(h݋O=ԣis6)!C.y!zpo/I 2)3Pjq.qݰFL}RouY{܀xy#- $jG.`}֠ wF>z(_ F _ +W}F|l$>cJV?v}~ï1i4&O%Vf8@t I3I$W;E'-K8LrҴcaFZ@ΣUI-^o7V|*G&~q6s yŐ')1\.BX(dUQ%g$R IBz+IV{ A=MԊXx0!,KxzM} 4äְLDwL'řU JlqZͽL塍b߽ֆ)1C('R0G@WzRDY97a#RѬ%Mh<.᧣5WBi7ƬV'Z͉լv+՞+ax3"qH\)::t']cԏx &J%>j%y;BwW,mg\"cϚb4Zp߈QJ5oP;l ob_rcT{t @z Mh\W9"Q,nb`UNY}1b} !N%ilPZeAW)$IK}3f\2Ӗ8>VҒ& y{ΕOTJ'f[{,k%zu aTd#\bbb)V8YgnW*|41#JkvY1Db1 H4CZŠI=ӌ9p n] 儖 SdϷ\/L ma7jĨ9q?J[Z:.$&~ < /(J*RZd$-a{A@3XA8]338P;\eݳgoV\,Q1F%}!0<">IR;F3R`+@he `1`3Їg4d,2f5Xػx{|ۀ- 3'=<.-{7PȀ~4ۙc_X1@A2wcmhv`*R9EGG5t\RгY#48Pve͚$%@$'4{ ̍mCsKdqP,W*`[,.?~ !,5]{J8>C|-TID4! "&"\6P_`IVhcb56#M_e'^QkNixSL %՚X'0۳yy$4 h RXZP{JБ,'\p獂W*>ԿQH@JGEL*KyRFjUb o)]'F#궡n5 Q̬ _ =)nf\\c!&Z Q;hQ2۲Nͨ t*N1r"R ÒdlNc&|m'(Jkm2lskPI܌:VJ>'/YjXcs+DbD _0dFyo1UWRD |2$Q"#P37ċ5h 4J uja! x0w_Զ{ֻbwJZ]5Vg~-˯`k̊`b['F|4!E_cŗu7&cgݮDFzSCI>#,X%M(MWFD?5Yl7#NTt@.1UZ>rekW0&h̎t'Q0Gͩv}R⹜!9P+\lo=n>( '64~F)HLJhnAE~;m>$I7AM0jq\ ,L\cYP%R)Hd0_h68iZf:n}nw~X0ݘ?mvmwaؿT-eL$ɷ(o\+H h$]XT~=+oF|w*u[X~£viЮ빁ѳYYBq \\w{h,s-QK|xY`?noH'`/ИpSiNyˮ; y@huE3Ć'73>]ߐ۳-wXbɕN/ ,yB'YHTLJPͷlZ q<ꞎ$#!yftzS oᬝgLoiXl;jMb:rPˡݪ/c!iХ_WJ":6ZVkFH}ISFlg;kfL>^RTK$r'z(겔eF ʊ#rs%4V8'i(C+Vt/ bDkCet61U a;q?CX8ul7o\i1V@C-&bA. #U{ЎSM%5!26RҖlV]B%Q0/w w@2˱o" Ua2\il.Ey~ A7ۻm3]]IN zoaLC? VO֒k8PYL"Ꝭh_Ƽ=ZT<0SXݩ'yILvFC ,(slDub8qz0AXG1ǨABZQ4h Iu)UPrrIxS~X#yw0c4 xo%պuGk?W)x-1MzIi,UzuD3F9WFvH:NaV,chzrRZY*A2tDq01|uTP5vUwHa+@r#pGE:^ m%*s-.;tΡ#k%"r|q钵G }i&Z~*d``)`xoQ&-p#IHb882䡯N} qܠn;H@sg+*f5vv›dhVǜ4o}e<O&ƘZ3Qnwe%`QO64+ɐ%L肣^1 ipf<;>/mFZƏsG,h^;vbY!%E 1E(4 oɁ5jDR#t%%\MS/ÊW뫭te,45b8&5p,^"ŋih^̠z #DV|1c7U>IKZ_.$KJ߱+Q]>\wZsժ=UzHO)l^XkdlC> JQjWe3MSX\}Ԡ^̤S D3qZYcTڭja5~bXtÁ wζnł ^Z}$Zz ^a杀"EY&Z8z͸6`[vPtlJCf;JSI8T4Ɋ/0ݑ6UMyZZB2>&[BQ kwv޴N X [8tbUpոVp7 v^Ťx,Ո0lL4}3CiAIV`  $ JǢ V{cf:XrWD< C`I3>!04a]>a8 CHlg`{c=q;%,62IIiJ|@8ȂHH%/'F.U $uIa9:=#jq)VGF"b2EăIi0]K90b,TRf6A=l5U+=O#3*_,ĔI<ucYbh|{YòRdInP~E\ ьLU̱tt{9 *Zd9]Zүk\{ti6G&eԮuɞr"(u]ٛ ެiK]clu&h]n*vѦu/%]Xjs(0ҠޑAaYj&ĂT1V׏ƘWp+r'42'[N-bX(vBY,Sׄnߏuu-z2)?q-L'FӸ4 O+clFcO:yMxk{g"e'[T$:r +!&tzLx#-#Sk%fdꢣOD2%`RHl+~\qkٰ ),X+,)m4Hn,S/%eЙjgc ¢;i>yEi* ̦Ðvh=P9:T<\"`DwΗ2oNGHsw҅'^1^E L3j>|hPK.e"ϋk|56|@}%jz,Loa$=0*b')_n뺋^pBH~ւ<"'\v{wK#="y[0[ˁoqƎ!:2f8r1 Azwa\z8jXNo'FUwY[pi|~!i#-:!_l=8!q?jg[ K?\qؒ 5<!u\#μG%jG\튳T&tK0aK.OWovI;]wuص?)˜~;BZM3ѼcӊLgw5+p7 ηĢj 0BW.eHIsˏBnRWI3R!wodk䙠VvBv~c t `W9Ai$^i4Nד/K{~R0q0+/=ҋ]aJ?Y-+rLiz4=QS&#kQVsdGӱ=U%o' :Suu| fd#r+PSPo99ժSQ,ALYu(2xJ\̞'Yd+4_$Z 8qgOU[jj l"LYlԐyhi053]tfeFQ s OѤn9yK<//6[i%>sz4!ȉ g@ɛݐFhhx!S')c?Js󦵹pY@Ep$*VS#nj¹DfJNȡ韔jk93#Y,7VhD}ؼ.mߒ9B3rku"1[ʼcwlF); &W&钨+L'p?4O%39YuK.U3 'i|C M=_M4QOLB]a-/NϥFDGV9Yw38mgIrVay/&,|il{kRːED|,TUWV+iDvU65SM>*%Y1X7`gJ}Pl'RZ] $Ԯ+)"6ccbrteca"H=wHG{&Yrp;V B)ՖgtIYȝvmiNGD*xDq*'Oi :M4֟ӉشhqXش:=8&&Z̊=xE {0lNV^bOWҕs;&2LZWN0uMdl]Ƭh<3P8BeQcB-z}jm&>; ֮[a]oUwPt;+[4e2x9PˢP֍5Y%?pڮ$WFd!R5`iĜ:vBҘ(2_a N>HmA>#e<Ep e)Ӧ={g{P If^2܉,w cdŝ-YF Qs$Y]faVi2I; M%^ G>tA_.:tM>YM`+Cw@|{~/}'c87g+4Uf X8Axb]FLqz1eZB_]-|~W^m˃NCkHCI3MR'2fd1 `ZTC\E圚/@!+k"5@ZB4#l(P)zJ5z>GOj.h~؀N](sH%SW3ZX ./YJaJ2ݜ]d59 ,%rj1Zӈ*F-aXvhت haA LNmHҞA* ZB,]ŵv,.` Q[wh9 6J N UmSF׳QKV!$\qC3iKݑ.iX58h(7!Qq=*Ny/vղs^LTêxAUyp5W_URL=jz2h1RU@[s ~Σ>^Jn?1ڰG1^NtfjaVUx2)Y6(u13)T8j}M+[$b_j4a?m[RD+EQ|s8qwR0VM % PW\VctQz;TwW X5:+X\zmVf[H{%ɘTNnFFRh)2PWZntNL#%Nm:,Zzrk5^!rD]zZ)\ONhǯ[I6[~K2ת1㚎G j^/2[IO8˿D_j8߾=1׃-۩,! VQo}hH%EMo$պxI)[rec'om#Y}oH3,ِoq\m3vhs08BirbU>& oX" 0׊1)xN n$C݁jT/~ɏz[o#O2GT,\.hz(`S4\(NW\.5aOIN3jDL?ɛ=:ydl& ûn_d0 \lXğ y$6ie9q2O}:7i}nwubJYGV<{Q*%XV䞫6K ܹS/\_ðZDc۠|M҉k:V@n)b(\[=<,*nK?(]+21MN1 VZK޽8C-KCQHn164}u~ʞK٪  KT5}ȯ,BJX$Jumz5zNۻbFb'6vMy:Ƶ6ۍ!Nj`_]D=ACz kh"D5l^v݀9/sr "KU1YQl]%-`KبU_c¢r,en [W`IR+8&o9E!R GUv%7Nfa`$KLPQ(+# _5r@50MvQ (Ԃ-4Mvila[)BXOw ZZ֔̉ĊIaaȬZ`UyA%nnmfGc$KI;ЏKl5lZè;f#o@p%-I#Dޮ;m6Gv #:fԑUt,EoR[RI$)uLeƵqx)4*ܹ4UǷ%A͈R*=m8x%/ ўFja/F3xA!NfZ.;~$-NQQʋTS$j4[WmjjwNq]W)ݬ'1IL Dž5 'lf z:Bz{$ ]vvs\7 `f0>Č kfpS3[F;~3לCcdm,B =1~gwN2iȇvEvJS5bc!T_oA4F=Y4补Rbg˰[\JWi,C.0$"J`CF ɬsIR$;lt}t%E+/I_ :]Lʥ.˺b@?hlYs_}_3[D$:*KB`(6l7)J?֒0(U3s6f6lҍ<$]G La U g X]w$ Zzdl7Б)g&, q-V,>S.APN"rRܡZQWp2"aފR7 #5=Bwl'|e%Jz$.NyTl`" E#kְBCǿpnMS̆OJN#$r;8d囹IŀLu72ZzѪeto=5Tz!{oCۙ6 =FǴ(<S験fl7r8х\l+ii]2Kh@sw'.y/koaDdDKJCE]vZ@oQ ϛi=&Λ7"Q (DX5?=RIMD`<~ 4 '8;bƵ8n#^"X19m*EIji4dVAD%LsKNɓqjW=!%X?:utn*ΞPcAcS\ mm^gFsmz:5믎n.2\v"/vD -lb4,XcCtBQ' H_}7,HJlFjaVCL!"21"\Kg<$ 3()π.h%0M&f nZĕgq?idR>,.g]?2+$%wW$VFnm7Dfk); j|--کJ\99B2Nr@W'+||騫;uU˳pZsk鶇8u$0ݞ9&kءy`zD^,&f@dЁDkLlb:Eoj;D;$tp#L53LlT*3F;T8A.b!ʈXo'6bhA@q3]v3s eB(-e$[KaPگ+\/,^e|Oc,}2n^Z't#oMYAqn ѓ'!dϳ:@T5LpYVI4]8LKꍏfK. pJX3:iJ[8f G'Fw$.qL;"8V]؍rHbFv3݂c_ti ~6bC~} P-xs8+1Q)SB.ا_ℰLLD$o'`AHk Lnk' jHI$=xie&Y {_PStt'd>֎u5x,`]J~1)Nkn+\$Ie Mp <; \?nɳx[fXKpHy(=.D^?4nfHiV7X2l36ԭB 8MR [Ů #EԒ/xD-Z5JGWyg&lwbYaGU{0 }7`Dn³7xP)ԌҼ3 4KV@,ۃP0  뜵1C[z# F}&Ay~wP++=ZX;j'8I?|.k[{Lvsl/[}_lhYΰI5Iә삠" mcnpT0T̄Vf2% :ㆌ>gKƌu=Bvr'|p,IlI}wCN‡ZzKr}/`(lFSA<7IbEgy+5^`%Tˉ0y^D2 &bO! X66ěFv-h*v`4tpTr1P Mͥ%AYIDQOA8$ԧf;uXq'E4$PI *qd~bR" O$ dF;wba'mzA m_ 'VO~薡2B`mȄi̢.]ehi3mAsrf3)! 饦6w_,̔5c*M}̇kP$k$nvCv>9Wn]l7flW,S|҅Ggif65ֳ,@_7!+M3!EOmvO< 06Qmą$a!4Ft9S}gPT=_[H.fҹ\<5oHq&V`BbEw.^%z1yӂÃ8mD:|;O2_.C>:ngk{eo*`Co.{mM1LJ[@WEnt,nA wwFVłJR1ISݚhN+ǵe9A:7f)SnqMaSn~'?{˭}?IgڙwmL8ZYˀU O~ϾKK?GoC9n.Kгvu:Aq7˽&5 gBoP,(aډռ~34Htz)M NC:N4JvG\W|&sR+D6U 潡$: C<;[wv泼O%-?sgvw9{ǭg̶vtz$tRfdɀUɷdrV=&ism<522W -U>ʽE cמ]BuW9IY[^0i'#W6Jw\]rOk?EY08Lk`͓urBUE 䢱$O-% 0iM UGy-ȰSpWž[ϹW/{wޙ8sx\_ I&#`b_ >&6:q8i&]znmj}{EMt}zիvww7't}67:}{.ˈ$Xyi5MT=Ͱ=|VHq{f Wu_X./RWX~i!R{Z&aMCý#>-C-dBUGA{ B :+Ė=ӵOE.h(/叓aCS6}UU]j A2ca{ nZc,-]]埩K|w'~|Ws1/~ϛ?f~~;;=bi_Ǒ˿??G]zӛFZw塇z߼;_/=y8!蓵ͼm=<2KSG#4+HaGsImTur?2't▧5_i_Y(1 +ċ7GU8x`:2&J`Q*meɈy-vFХ|%,/Ɍ.'y-J_,m絴o//S-}s¥o=?9vfqM7.sM0,.uCk|>g}n࿐rz }|k{`>o7PZx-E9ZbN)F%iEH:*(DV Qe$MIb:(czpU~XճLҝ2=o~z^?ܝohw6wa˨̙3+^>v;w_jk/.ub^wi pj9t.Ξms+$K")<2 \WKš./J0~ҁ<1ƭjL_5Yr{P3^;@}WF6?yk|; D5e cDswf~FLKJ~c'o?//pˈ2/˻*_y>GpCx{F|w|G} ^kZ5{>oᖿ{>h/|[`̣Z£}G?'}ͷnٽ|x/TYv0Cppqғ?}G/\|`ɾ[ m璸z0}w~rkcG~zY3.'n`Ip>OBjOPt$iLR&4E5 \XÌ䴭 , r'0)IMĶUtco5/~ك޿mz Ã-y?M5sXNVJX.Ha0݅ ;xpO?g>o-O??O=?D]*?BZFޓlq)d4%T;+879HMQvZoMݏH^4{V~YlX^;jXi>Ǽop7g>s~Ok/CR2eW[;kۻW{o%O|Cw:i+$_'B3zJ.?sG=Ow.\'[nk{:ghϡe$s!f Ke! &+Ͱ<ӫ Z~;̷-?c?|L˃ߞ>я~TU AD- HNG ƓҮzS` i\;+D53P h* t}H: J9 N"T*G|gU&V7 _@ݽ_Wu94foyCĴ-Kfhr-2DX-q7>?oΤK?>X?,z}UVQ#rٹ(-M+NcQG3G %W|Z dY 2Jٳ\? Үb4>uŃε6?*jyy 7IsͿ߁#^~}ړzֳ6E79}A YMU'#{@>]/CȣE/zя~Qy9|'~Puypv-}:v*>~A{}Ao}[73؝mڵ<ǢI]\;̓+y50Y,?EdҟeeGzuWW;k>#g* U(Ό d:9rS3HZR4HIU#%~!eF5pvdo^ Y -d >5W7u>۷8!y>v- &4 !Hgx.:>= ;3_a_oܳu{nx|G[,A %'P e%(b+H7AJ(-r7c}dXAB*2|ɧLFvܓn\P'|Cа^%/yɛlw}wFH뻾xtAS׽CP~~ne[кJVE{,S~ؼ{k,Oe*4L/O:Krup' @̗=U}iS bk]Үg\Qrb8w}~@]kkyg˿']GO\Q=SV`dXMqW^Y{_,EK@?s?WG>7Mk{8Jus -?/ )eL_ pg!?#]Ι۶wnͷЕ[vr<3'[`|Y4slv6MɒIjO)ʟ>{ӳ7s]z}2=OQe?: g]qC~^q#(2#4y/^9.J+ې{>pF@w&J^Ċ2\$ĈGdOʯ)Ҕ=xAK^\ @3.,|{W_sMt!u&t3pCo6c| ޘ,mrAcH۠B.i.ٝ_~7_/{ 7p:LgGscsn2fnM1r7拖uH}>|ܱ(NSNXnLxj ~<_;DҰ|衇y~+_Y?c?--So oUߏ&<[IW)lS dxO?~Ӄ' k|<|kßq`@?<~GGW[Eva3'e QU`_Kq>kooVGeiL,+Ӄ69[AoGQF!3?<8S?}?9ģ{{&3[=svg3 `Ȱ;ӎ§"NS+N<5k#h:xONxO6}|yi51*Dh!3KlË봓 [^;C~ 4r^J€qTҧ%-d,4=x$Ax˿7|v=<-nvV XnBiu҃`O?CF߸,#uA4z'Kp]!d{ %i@E+oYM3]iMu=3* H'_nY?2l+X}.-,cz_Us/nu~~L3`鵯}fso,T=SzG?3?SiA~K^7Q>i6 ?k2X/s<俥uZwfm? ߥ|NSl!_JWXk_U[S).і UJx酝??[2G>4ߚkܞg/wSw~A~YN(YZ LB>Go;u8 |Գ4ny.̅ _zjXv϶lͳ-obд>7:,a9(g 픫zMD_v dj/7~o)@ϧCԏJvIUMO9G{?kWt4:NxOVi:nŨe)$VpM$2(Q<"Ӡ:w1'A:x QC#l^~/i]pyԅK}^/?oxٶ;|G,-wƻ_gRpD׆Թ0ay%p}Z_"e)t]?aؼŅ O?h#a?&+0EuuN$()UL dR'[(]Ʀ ݋8݃Mu ^?Œ2JC+OO>~\^mDG׹͗K?G(OunRӣoǶ,SG??-~ůykd_)q|/ry_Oϗ}~k];w5/d8(/~;)O:{lmC֜_Y|K7ߔ?=};#l3m?__Uo*[#6׿DZ|e\f>2yv\KȃzIq:d^I1Ƈ>u'E>_W駈_ozҜ\vZ>u'OՌ> |X;u>裯~m*C< 2@_w䣷_O~R`ͷ>^g6,/^0!l#7BB\ JB~bZ 0ܟmSe4%7GQaI!eNMT(I[kISf=ڸ?>G^{+zl')z%:gO_yR5y|czuYr_|(z%T7x oxC]%4d'ZpI:٫IK$7ӊc.բcߧ}_WfO;{#2ӟ^[=KO+]~ypҥk,YdOʹ#p[ju0&oI0X]FK6Ճ,M7O9sn2[A]W5iaX0tptdFJ@SzgPkzT|cYCR$>#"꫚J>i LWu+;=itb)i>E(L'MCgKz_ FtLQ!\0(,(kr zycK/A:OxWDxqoH[_~~sk;q".qݳ]4!՘M;=7SBMk; Q{S"ޔu2bs7J%ӹd.9Iٍ(J=V́cMg:#G;~ڽ.ؠ{;F97+2ӞNg'{t&4ONv_1(ٺYljn;i= rN2BϹNAS嬲! {{닸翜;7|ﴴ=!jV@95\bryjUݻO/#2kH&o~TAe.u1ps%Y;)kXz[e%j߯p=J+S{V$3ɤ0h}áU&pF"YyhwG!1hw44f2lŔV2j V!R^'cY<ͽmI7[;5;];'B:,ycF5zV׎-o{o{mۤ8}G}T,}-%2hL +Š\c-i(q\kxWѤB:Kz_6+ !AA1 e:?Q~E.n7ƌ#.% GU[[;a$QſgJvC k u۽{Y<5@)]r-esWn(TevV - `/f)#c!q1" %f5QON'LFQbdg:t|%bT<+@lJ/3qI 5$@2UB ]F'~^\<Y_zݑ]rUq\9-/зTߑ_Wٽ\5.{YX2n0Ŧ5]Io'(";z'4ʗ%j:r3vCeQvz=W[#%T\Ou.j9.{Ϙ#ne8=j$U1':~s=meCz)#)St*el"TV(pKR?2Ϧ$DZOñDER0%˷tOW MU2g53cG;~ıx麆 T2/P)$zR'ە:|MrZ4wy_25算nL"YM~?ռ|Œ^g6=֢wc+ 3^*iǵw^2N̯~+i~_/X@ly{9~|nfԩS)%B5%Be\ v7 NK۶K8~ 7d<w4J$6$꣍Twu0.V~F-Ni+m>?Ν;%Q~˻JrҤIR]7*;_|꾩S3`p|WrAٵd86h*cfy:#\itj3XOeQ/wiX{Ԏd1BSRʌ5(:*;_'ʡֿW&MqTm9ٰyCO{2g b݇TF]I88)l4ʗ+jNJ+`ٲeIZ-,׎BfnMc\b91J9ݜCG 6ѾfbR!Z>B+/I=.+נWT&{^q%qc.<[blhHS{U+qY+l2WV9-OdsxBYQWpǔ2IT/ 2ut]}cZ-7ͨʃL]}ePh3ꫯWO{MP/=Բ1K3V0wom{ε4Hg/{slz3}ީyKۥtnnL{L u6knk&0\QeYI>ƙtϛ6m\4p/ ;^jf[=bn(#n< ~mx{u~ {Lj 7Y;6XFq1b6?!3-ОC!1 ʏWF:FtGUSScꅔ[7ā]7s$|4x3U'>#F6 S$5㥦bO(-R 9ߕA+͙\JM*?I`~\v_fQ_'[jz_Va|kBk&#w%m [KeɁaF-X) ^KT+Uvzٚ2B/>UD[\aV\/CIttxoː^w?)$C+ )dcz6@wSz[&IUM+ͬ3;)]+ʥLxAUK7{zW"t.ݣg2pd3#GA]=׮݌emE*÷:K*sB',$6bʤzRl*J765R).zTNqB%ɤS.T&I;z$Q٣_.8gC;~ImOP ەMB%R\_k;Na=g>'Z =|wQyݼB5kB52QFt3F;̓ ]{LqmbSbs~D^ۚѧseu~K_{wḁW[+;Ehg9~͹=;YfJ^>n|yٳgÆ \Kc=`|R6?R9eo4I%ͺ*lo#:*G|&e媉Э.E Nci% QhW/VFk+nJ6'nr?#xEqg qaC_0tT&T2P"O${$+x S-ɍVɸrTP3q''1$QB/>e.zJB|}&\NiD*ݔeq)!NSqe&#a6RlaIpg4w׌{;͙КmܥZVۿjxZ6ڵ.kH7w^XFy vRrc02;N{qY{yM7'ss$OՙC)O5H= v72\aW6 bggOk=NT֯/HZGU`I8IMQNcԴp:v"^Q٫"+6iwD<'MOǕ))L*kve˛hd馔 uM5ԥ;v>IWsJ'qB5ʺ^⎫5L*Y&#3L,=$yMU*/Lrcw="ٚ|ި&?Rp!mV,s$bbE8kNI#bW/oW6C  hN7쎵\5pM.4hwYOYIyj=gev58cuJ蕫邾WB7vC6&ѽlȿ Tr^IrJ:ϊ^=Quz=+=şU}{QջO+{߳gVA9TV5N*դTRj'c'YbV֜vLfsX&TXﲤ@嵹rMrUG[؋J.$*Ryh2c`̝8x!UɊ q(,iCF N)vn5thU7vi޵T-U+c21%ߛ0TB/mR,l'_pu^Ei;1#;vRoaWfMČI(?O1륿YIwGǸ'rS1Fr8b[YrM;)l 'Cwu\v~mjmwѦ9BH%wL[Ysս_kY6qDdb&+j"M'&ZZˇHNM݁+(KdC>{Pչg<޿oItSZM&oB@H7hO:ʇLHO>K,[Z];1'fw{O3BH3m7TQ z]ю;p7qf#֬jqTjw)[{#ٻ_C.m kB:v߾};siӦE믟9sȑ#9N;[ ܌ wB)>}@˅^矇l}*'?:u*D)W9G{T0뎩anȎ;Zy!BN8ώrs|os+sBH Ĝ#½qUʸpGjʱ5Wv\%IB*@_K.T/NCM&L}b/\bԩSC͙3gf۶m,B:E1c ćϥ['\;o/)%cBF# u>0N8qҤIcƌ)!. ,+nlu wcE/_~aÆ޽{WWx͛7Kř5k]TP8-Zt{'g)Z9bN83׮]̽ދ/8'OvDN~geĈ3gΔoKpo*5[o}VBw$a-8dܾ0<IԸ[lYf<zhQyp 25^O./]|Ү=OM߻W9d+L@e9rN}}ܹs-[ft6D}Yti{M= w БB\pjg/"|XBqC#qgUWWs=w}"[0Vq2nq!H$z𔯽ZwڅOk|7$[K|=D Q(u$³tUS@K!5jʀ4 QZQ1M;&U{1(r=ǟWo/з/1iq҅3Cqs;:moC ½Q5Йy=3GN2 A=tP<={7޸uV(gyF**[5555w߹sJ냃 3fZ~0hw[q g5wۂ+WD!-Hk/r1 #SA]p!?,BG@@A.qãG:>_l+_?Its={ /ptcBUf}O@GidsaO '>S90zCYz54t2dΝ8'$I7-!\@}l~kQQ8^=t=t8~ȑ'|g?~<'D1 MP//1 bqqTasG{q=܃%!i LQ%h%f͚e2L}mHBNN'OFOThdz㢋.B+h/dOͷwhe #{(I& \)Z~+cƌ\FSh~5Hnqz5 r|jtsa^a-ƍ?o>|>C҈^L(p&*5. A'wP8L-}WvU{J2ЏCQھьn@䚚[xCh=,Jw}rct3LO8ٳGZVq9̨wvBMD2}vT7ߛ<9c Gǐh@ofe+ ,Xp15m()6IWRsέB OW9wImG!oFGY]n qƽ[L`%ވٲ^F'D 6LT t"??/ZUq+W(Dy>γ "nРGPZV[a^{ 29=zEr%~+ '4ʺ꒷vٹs':r |~wp$(3i&H/\| -uW J.a$C l$]zіͲw'1?֘Yav̢`]%Lw_mm-ʭ跲SX7 `ǎv8l:f趍t迥S -X﹚Q Ӽ=H_ȈM-y-1@ ֞ ѣKilb1Wʨ xX2v ZE7\ݺupW^)+(degPĂf0-symˎ"2fiF/^\UU%&Cf#Pj-5&JE%mժUFVJ!yלZ0B07UӦM3= @SٮhmmtիW6%2-̙l2hM^SS#5ׯq7sE8%LG@{g~rׂ˗/Ea" {z詧 ׊C=ј5k^;sPkǎ^oV.],;g4r/9_)WFTe'*R{f#Jh|U|PD_MiDhN7)8_:2L hioVXe,s )Bd}6F&+Wa1BAELE>bЎqϒAtb\X5M&Hweg_$,b;5}C=eyUcϞ=hƺ[w94!<W`B!Ųn:߭ p'N]]݄ QFqwBi%s; 27;!w5!V] :) θB!BN!Bp'B!B!BN!Bp'B!½;] 9!;Sw$Et6KBڳP$8$,;BEɊ a9g!us Zb8 $ݤ{}Q%uҞue([XH7zECϺCXwXwiϺCNS!Mв4;uu;ݺxZ/К֓uҞu½[u"k,6t;euҞuW{1H&?oț6źCS]ҵ9rH;pk:5(+BºCH՝>axːo!́FuҞu;T &K@6Os>yH:ԞېF3~2xmYw!Yw34 +gT,', =uB:~ݡp2nzFl2aftӷHGlImg!;;[ݡp'-y8DE'!#ڐDunue&kAFP?L [lIYw!Yw'qoa|w'mi(tuҞu$+PʧYGFKjC|\BXw u4滴A`FM%aa!=; kFN 36![tBڳP*!;tCN!B9ęB!PB!B( !Bp'B!PB!B( !Bp'B!PB!B( !Bp'B!PB!BN!Bp'B!PB!BN!Bp'B!PB!BN!Bp'B!PB!BN!Bp'B!B!BN!Bp'B!B!BN!Bp'B!B!BN!B;!B!B!BN!B;!B!B!BN!B;!B!BH'矏iFvZf!L,1!O>}d͚5SNeB;!o=ztҥ[l/[&MӧOHLѣGu(rZ}7-ZU8ݿ]}Mqo-Β:B!Me!#_] Us7|͛ӧO>v@ F31Zp {=sŋ$>r4hr9 &kĀ#yUӅpV]]G}{vGb݈ƏcQJ'N1Ҷ!}*u5D^x!T{># ۈqpoxO\"dヒqNHÎ_q)e&s,{?8(ulٲX_. A'v3W^qY`A'ՐիW޽}}ve j޽%_? __qND;A;]G~@^}U׀(k׮>|O?~{g['oѣ,F VaBȩҮ@gd"I\;hР9snݺ}b^g/.ak#3ht]veIK)#?OJTD2T{˘'["^ Y !nΝ;]G|S^ v`^ FzQfϞ=|#Gtp>_# 2v&eEk̙[l wޱ?{5DcP~{駟66ϓ_=eDBioh-D98Ǐ{'A](<=ʇi!&^#loyoZr e=ͥnmKmܽ9@͊K"iW(?!CX ! wBHC-V {gMn,vrhوb}^.]~;[{$C6ت,y2 Me!$W_]SNtD_>iӦVa~.dlíu 7lܸӵ,G4hP2X*I&oo,Xfjq-[x!ҕ6l?wMEzDFcʖ>}<ޅ۷o/ P3alʸ=ޱ'|ru+QQ@ 5yrWo޼'_/eD!̛7/nD555.w/|ӴHKм=PG?rw1/KM71e QK/dٸEΞ= wBHw[o O?ܹs?{7vڒA- ܉'(+k3f|;vE߿7{5}Qo|e1ӷo_;ʓwW㦮#N#&!z-[uoC{]n{7 r<;@ԢZĨ^G{-44UuIoKNWPD,0BR<@voMI @N95oH37X]El4Jϟ%V! e6w ۅgNso\O%PBݣE$B\8m'܃_xp9O2 zQnWl\cVIO[BN!q'Jcwȸy _wMGoTx(׊Q^o08RTfΜY= z]ݻ 'BNS t;" ڵE%np}CCg|882yb1n#HÆ 7,(H^z;H(9O"\b;,!T—Զ]ػkX,Zel z-jtqwiDкU_p6"!ܚty/ZZ$Q4F,1\Ic$tbB!B:84!B!B!BN!B;!B!B!BN!B;!B!B!BN!B;!B!B! wB!B;!B!B! wB!B;!B!B! wB!B;!B!B! wB!B;!B!B! wBZ϶m&LvڠS Eg6uN9K,Al7mtœ9spۋ U |iuuu!(0FݱbV^:Gv/Jv!-΂ WX=iB!Kύ7zkv֭m4$sd;0cƌ>%E!]{C9U 0`\I;t:Pw5v؃~gr_g=8bߝ?di7PvS駟Ξo]BN:1&L_~)ʗk{pM6-XMBmIJ̘1öC\b 9e.cc4\s?%d`gMm!}}#i2ydWPUUUHD7CLB,]HoO4c„41dIZT|'|.+b>||yg'r!)Bbbd zjrClgqPtgϞmvQ"c?oamdp#:m(CJx% /f6H@fǛp)rBkrk^R&cvqIo}villR *Q>ѶS'0Ad~Jҏ۷Q|*Aӑ &EWZ jp^\p5~z|tMahX#y{Vرcq 񩧞s9&LnH ҈(ꈉyrh^‹ 4o6bJL4w4.G:ز:<|[Zpo"q"9S[[2##Fwo}]tZO\#]ȫ omg/>Mh.,r#|y'#>I%%r5Jtzm488qDӬ8"# 6LA!t#֭s5E\@}Yzu'_qyoHp V~Ent=F/4Ue&\J2iz_WZQFL@KlK1cx-BKp뭷z3Gbn Ls ( vdЯHdsojp%9O^k@qOS Uɸ$>}#gu. dQqzɟX7mkyҎ]ŋTUU}87sLv!*Qk@ b3]ZΉE¾r \(Y 6"xH\ȑ#A7}','nFy.A@d:FPdL ܁_N4&2@"y!^ 5){Yk=,V6t;lF5"RM& D"2_n/bx#7 1"7]Rg 6yGQZocд"sS"f(2Je6bl+0#;dDFWIds`t^]<˗ ˒?!n!]4:tƸ)vMԪ1ƀ YR"P W 䧈!){-θqiBfn&K^npfΜz5tx 鄆{I|7||C\TI&[NT+4!k(xY*@+#n[Kexq\&u](vs7SVP"]hkJ+QAF2ꫯF+q' #Zq{C^^dۍNH_M[Vݼyw/^lwQ.fNDp^D[)oA ~f#此 Ro&̓KeG#xQ1  FEAP-v>#! ]811 M隻BH2Bb%f4wܐM4/> "jd/K[ JBp&yRxa[>J^\'s;9v~_TcGF6]bY IsqC }f\}<& CNhȻV{S 8,c1Շv]]tA >I̟?e&WpJ+QA < ]X.c. .*) !~Ac֮]3D_I:;K,Y~СC;w,NJ!pƝB:bD;a[ÊV.D&{AWw4mBN!1fغuYy}UVٶ3v؃j,YsbXu|BZBHgܹ7n4 oFt+q/_,۽˵;>4!-;!B!B!BN!Bp'B!B!BN!Bp'B!B!BN!Bp'B!B!BN!B;!B!B!BN!B;!B!B!BN!B;!B!B!BN!B;!B!,$sAg _Bȩ3B!PB!BA,1!BpƝB!N`@ftIENDB`readme.txt000064400000046647146726735170006605 0ustar00=== ConsultStreet === Contributors: ThemeArile Author: ThemeArile Requires at least: 4.7 Tested up to: 6.5 Requires PHP: 5.6 Version: 2.7.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: one-column, two-columns, right-sidebar, flexible-header, custom-background, custom-header, custom-menu, editor-style, featured-images, footer-widgets, post-formats, theme-options, threaded-comments, rtl-language-support, translation-ready, full-width-template, custom-logo, blog, e-commerce, portfolio == Description == ConsultStreet is a multipurpose WordPress theme that you can use to create any website you wish to create. The theme comes with a very flexible design, and it is fully customizable as per your requirement. ConsultStreet is a perfect theme for the consulting and finance business website. Not only that, but this is also a very lightweight theme that is load with a single click in no time. The theme is completely responsive and mobile-friendly and that your users can access your site from any device. As well as sophisticated plus it has some exotic features like customization and clean code, advanced typography, sticky menu, logo upload, header image, Bootstrap 4 framework, built with SEO in mind, and translation ready (WPML, Polylang). This theme supports the best Elementor page builder to create, edit, and updates page designs as per the requirement. ConsultStreet also supports popular free and premium WordPress plugins such as Elementor, Yoast SEO, WooCommerce, Contact Form 7, Jetpack, Google Analytics, and much more. Check the demo of ConsultStreet Pro https://themearile.com/consultstreet-pro-theme/. == Installation == 1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button. 2. Type in ConsultStreet in the search form and press the 'Enter' key on your keyboard. 3. Click on the 'Activate' button to use your new theme right away. == Copyright == ConsultStreet WordPress Theme, Copyright (c) 2020, ThemeArile ConsultStreet is distributed under the terms of the GNU GPLs == Credits == * Underscores - (C) 2012-2017 Automattic, Inc. - http://underscores.me/ License: GPLv2 or later (https://www.gnu.org/licenses/gpl-2.0.html) * Font Awesome by @davegandy - http://fontawesome.io/ License: (Font: SIL OFL 1.1, CSS: MIT License) * WOW - by Matthieu Aussaguel - mynameismatthieu.com License: GNU GPL license v3 * Owl Carousel, (C) 2013 - 2018, David Deutsch Source: https://github.com/OwlCarousel2/OwlCarousel2/ License: [MIT](http://opensource.org/licenses/MIT) * Bootstrap, (C) 2011 - 2018, The Bootstrap Authors [MIT] Source: https://github.com/twbs/bootstrap License: [MIT](http://opensource.org/licenses/MIT) * SmartMenus - Copyright (c) Vasil Dinkov, Vadikom Web Ltd. - http://www.smartmenus.org/ License: MIT (http://opensource.org/licenses/MIT) * Screenshot Banner Image - https://pxhere.com/en/photo/1456015 License: CC0 Public Domain * Page header Image - https://pxhere.com/en/photo/35342 License: CC0 Public Domain == Changelog == = Version 2.7.1 * We have added the bottom space and border color for the wp-block-details in the footer sidebar. = Version 2.7.0 * We have fixed the issue in comment.php file. = Version 2.6.9 * We have added the bottom space of the wp-block-query-pagination in the blog post area. = Version 2.6.8 * We have added the list style of the wp-block-latest-posts in the blog post area. = Version 2.6.7 * We have added the bottom space of the "Leave a reply" title in the comment area. = Version 2.6.6 * We have fixed the creation of dynamic property error in consultstreet-customizer-notify.php file. = Version 2.6.5 * Removed the unnecessary border from the wp-block-search block in the blog post area. = Version 2.6.4 * We have added the hover default color of the wp-block-page-list in the blog post area. = Version 2.6.3 * We have removed the unnecessary left space of the wp-block-post-template in the blog post area. = Version 2.6.2 * We have removed the background and shadow from the wp-block-post in the blog post area. = Version 2.6.1 * We have added the animation in the theme. = Version 2.6.0 * We have Updated footer copyright text. = Version 2.5.9 * We have reduced the bottom space of the wp-block-archives-list widget in the blog post area. = Version 2.5.8 * We have added the bottom space of the unordered list element in the Footer sidebar widget area. = Version 2.5.7 * Removed the bottom space of the submit button from the comment form. = Version 2.5.6 * Removed the unnecessary color css in the sidebar widgets from the theme-default.css file. = Version 2.5.5 * Added the theme default color for anchor/hyperlink for the ordered and unordered list elements in the sidebar widget area. = Version 2.5.4 * We have added the bottom space of the ordered and unordered list elements in the sidebar widget area. = Version 2.5.3 * We have added the bottom space of the ordered list element in the blog post content area. = Version 2.5.2 * We have added the bottom space of the unordered list element in the blog post content area. = Version 2.5.1 * Removed the unnecessary underline from heading 2 tag for footer widget area. = Version 2.5.0 * Removed the unnecessary underline from heading 2 tag for sidebar widget area. = Version 2.4.9 * Added the theme default color for anchor/hyperlink for the wp-block-quote in the footer sidebar widget area. = Version 2.4.8 * Removed the unnecessary bottom space from the wp-block-columns widget in the footer sidebar area. = Version 2.4.7 * Fixed the hover color style issue in Blockquote post format for blog post area. = Version 2.4.6 * Added the line-height in the recent comments widget for the sidebar area. = Version 2.4.5 * Added the left space in the wp-block-rss widget for the blog post area. = Version 2.4.4 * Added the left space in the archives widget for the blog post area. = Version 2.4.3 * Added the list style in the archives widget for the blog post area. = Version 2.4.2 * Added the left space in the commetns widget for the blog post area. = Version 2.4.1 * Fixed the hover color issue of the link on the image for blog post area. = Version 2.4.0 * Fixed the last-child bottom space of the ul in the blog post area. = Version 2.3.9 * Fixed the underline color issue in the post-format audio for blog area. = Version 2.3.8 * Added list style icon in the RSS Feed widget for the blog post area. = Version 2.3.7 * Reduced the bottom space of the wp-block-image widget in the sidebar area. = Version 2.3.6 * Added the theme default color for anchor/hyperlink for the wp-block-quote in the sidebar widget area. = Version 2.3.5 * Added the theme default color for anchor/hyperlink for the figcaption wp-block-image in the footer sidebar widget area. = Version 2.3.4 * Removed the bottom space for the wp-block-image widget in the sidebar. = Version 2.3.3 * Added the theme default color for anchor/hyperlink for the figcaption wp-block-image in the sidebar widget area. = Version 2.3.2 * Fixed the wp-caption anchor link hover color issue in the blog post area. = Version 2.3.1 * We have changed the hover color of the latest-commets title in the blog post area. = Version 2.3.0 * Fixed the text color issue in wp-block-button widget in the sidebar. = Version 2.2.9 * Fixed the footer-sidebar section spacing issue. = Version 2.2.8 * Updated footer copyright text. = Version 2.2.7 * Removed the bottom space of the wp-block-media-text widget in the sidebar. = Version 2.2.6 * Remove the top space for the wp-block-latest-comments widget in the sidebar. = Version 2.2.5 * Fixed the table border color issue in the blog post area. = Version 2.2.4 * Reduced the bottom space for the wp-block-latest-comments in the blog post area. = Version 2.2.3 * Added the border-bottom color for the wp-block-latest-comments in the blog post area. = Version 2.2.2 * Fixed the button css issue in the wp-block-file for blog Post. = Version 2.2.1 * Fixed the table color issue for the wp-block-table widget in the sidebar area. = Version 2.2.0 * Fixed the color issue of the paragraph and cite tag for wp-block-pullquote widget in the footer sidebar. = Version 2.1.9 * Removed unnecessary top and bottom space from wp-block-pullquote element in blog post area. = Version 2.1.8 * Removed unnecessary CSS from theme-default CSS file because it conflicts with other anchor list items. = Version 2.1.7 * Added the theme default color for anchor/hyperlink in the list widget for sidebar area. = Version 2.1.6 * Added the theme default color for anchor/hyperlink in the is-nowrap widget for footer sidebar area. = Version 2.1.5 * Added the theme default color for the anchor/hyperlink in the default paragraph in the footer sidebar widget area. = Version 2.1.4 * Changed the background color for the wp-block-verse widget in the footer sidebar widget area. = Version 2.1.3 * Added the theme default color for the anchor/hyperlink in the default paragraph in the sidebar widget area. = Version 2.1.2 * Added the theme default color for the anchor/hyperlink in the wp-block-read-more widget for sidebar area. = Version 2.1.1 * Added the theme default color for the anchor/hyperlink in the stack widget for footer sidebar area. = Version 2.1.0 * Removed the unnecessary bottom spacing for the wp-block-quote widget in the sidebar area. = Version 2.0.9 * Removed the unnecessary bottom spacing for the wp-block-preformatted widget in the sidebar area. = Version 2.0.8 * Removed the unnecessary bottom spacing for the verse widget in the sidebar area. = Version 2.0.7 * Removed the top and bottom space from the wp-block-separator widget in the sidebar area. = Version 2.0.6 * Added the theme default color for the anchor/hyperlink in the stack widget for sidebar area. = Version 2.0.5 * Added the theme default color for the anchor/hyperlink in the is-nowrap widget for footer sidebar area. = Version 2.0.4 * Added the theme default color for the anchor/hyperlink in the is-nowrap widget for sidebar area. = Version 2.0.3 * Added the theme default color for the anchor/hyperlink in the wp-block-preformatted for footer sidebar Widget. = Version 2.0.2 * Added the theme default color for the anchor/hyperlink in the wp-block-preformatted for Sidebar Widget. = Version 2.0.1 * Added the theme default color for anchor/hyperlink in the wp-block-table for footer Sidebar Widget. = Version 2.0.0 * Added the theme default color for anchor/hyperlink in the wp-block-table for Sidebar Widget. = Version 1.9.9 * Fixed the color issue in the anchor/hyperlink for the verse widget in the sidebar. = Version 1.9.8 * Fixed the color issue in the anchor/hyperlink for the verse widget in the footer sidebar. = Version 1.9.7 * Removed the top space from the wp-block-pullquote in the footer sidebar widget. = Version 1.9.6 * Updated copyright string. = Version 1.9.5 * Removed the bottom space and added the theme default color for anchor/hyperlink in the wp-block-code footer sidebar widget. = Version 1.9.4 * Removed the bottom space and added the theme default color for anchor/hyperlink in the wp-block-code sidebar widget. = Version 1.9.3 * Added the theme default color for anchor/hyperling in the wp-block-pullquote footer sidebar widget. = Version 1.9.2 * Added the theme default color for logged-in link in the footer sidebar widget area. = Version 1.9.1 * Added the theme default color for logged-in link in the Sidebar widget area. = Version 1.9.0 * Added the theme default color for anchor tag in the footer sidebar wp-block-media-text widget area. = Version 1.8.9 * Added the theme default color for anchor tag in the sidebar wp-block-media-text widget area. = Version 1.8.8 * Removed the last-child space from the wp-block-rss widget in the footer-sidebar area. = Version 1.8.7 * Removed the bottom space from the blockquote paragraph in the footer-sidebar wp-block-pullquote widget. = Version 1.8.6 * Removed the bottom space from the wp-block-pullquote and blockquote paragraph in the sidebar widget. = Version 1.8.5 * Added the default theme color for the wp-block-pullquote cite tag in the sidebar widget. = Version 1.8.4 * Added the font-weight for the RSS Widget title in the footer sidebar widget. = Version 1.8.3 * Added the font-weight for the RSS Widget title in the sidebar widget. = Version 1.8.2 * We have fixed the focus issue after tab on the last menu item. = Version 1.8.1 * We have reduced the top space of the list style for each widget in the sidebar. = Version 1.8.0 * Remove the bottom space for the widget_meta widget in the sidebar. = Version 1.7.9 * Added the font-weight for the wp-block-latest-posts title in the footer-sidebar widget. = Version 1.7.8 * Added the font-weight for the wp-block-latest-posts title in the sidebar widget. = Version 1.7.7 * We have fixed the line-height issue of the search widget title in the sidebar. = Version 1.7.6 * We did Reduce the unnecessary bottom space from the wp-block-columns widget in the sidebar. = Version 1.7.5 * Remove the bottom space space for the wp-block-latest-posts__list, wp-block-latest-comments, wp-block-calendar widget in the sidebar. = Version 1.7.4 * We did Reduce the unnecessary bottom space from the wp-block-separator widget in the sidebar. = Version 1.7.3 * We did Reduce the unnecessary bottom space from the wp-block-cover widget in the sidebar. = Version 1.7.2 * We did enhance the font size for the latest comment title and date in the blog post section. = Version 1.7.1 * We did enhance the font size for the latest comment date and description in the sidebar widget. = Version 1.7.0 * Added the font-weight for the latest comment title in the footer-sidebar widget. = Version 1.6.9 * We did Reduce the unnecessary space between the wp-block-latest-comments in the footer-sidebar widget. = Version 1.6.8 * We did Reduce the unnecessary space between the wp-block-latest-comments in the sidebar widget. = Version 1.6.7 * We did enhance the font size for the latest comment title in the sidebar widget. = Version 1.6.6 * Added the font-weight for the latest comment title in the sidebar widget. = Version 1.6.5 * We did remove the unnecessary default color styles for headings in the sidebar widgets. = Version 1.6.4 * We did fix the border color of the wp-block-search input box in the blog post. = Version 1.6.3 * Added the theme default color for the logged-in widget in all sidebars. = Version 1.6.2 * Removed the wp-block-embed widget bottom space in the sidebar. = Version 1.6.1 * Fixed all widgets style issues according to WordPress 5.8 for all sidebars. = Version 1.6.0 * Fixed the tags widget color style issue according to WordPress 5.8 for all sidebars. = Version 1.5.9 * Fixed the Footer widget title style issue according to WordPress 5.8. = Version 1.5.8 * Fixed the sidebar widget title issue according to WordPress 5.8. = Version 1.5.7 * Fixed the calendar widget link issues like font-weight and text-underline issues. = Version 1.5.6 * Fixed the checkbox and radio button style issues in the customizer. = Version 1.5.5 * Removed left space to the wp-block-latest-comments in the blog post area. = Version 1.5.4 * Added default color to widget_recent_comments list style in the sidebar area. = Version 1.5.3 * Added default color to widget_rss title in the sidebar area. = Version 1.5.2 * We did Input Group Search z-index Issue Fixed in the Sidebar. = Version 1.5.1 * Added the top-bottom space for the comment date in the Block category Widgets post. = Version 1.5.0 * Added the default hover text color to the wp-calendar-nav links. = Version 1.4.9 * Fixed responsive issue in Block category Embeds for blog post. = Version 1.4.8 * Fixed the text widget image space for all sidebars. = Version 1.4.7 * Added input focus color to the detail page content area. = Version 1.4.6 * Fixed the line height for a paragraph in the wp-block-pullquote blog post. = Version 1.4.5 * Added the left and right space in the footer site-info. = Version 1.4.4 * Added top border color in the wp-block-pullquote for the Block: Quote post. = Version 1.4.3 * Fixed toggle button focus issue in sticky menu. = Version 1.4.2 * Removed the list style from the wp-blog-archive post for the blog page template. = Version 1.4.1 * Update the theme welcome page. = Version 1.4.0 * Fixed the wp-block-search button background color style issue for the blog page template. = Version 1.3.9 * Removed the blockquote content space between the paragraph and cite tag in the blockquote. = Version 1.3.8 * Fixed the attachment image spacing issue in the Page Image Alignments. = Version 1.3.7 * Removed the list style and add the bottom space from the wp-block-rss element in the Block Category Widget post. = Version 1.3.6 * Fixed the wp-block-gallery bottom spacing issue in the blog page. = Version 1.3.5 * This theme is fully compatible with the new version of WordPress 5.6.2. = Version 1.3.4 * The distance between wp-block-cover and wp-block-cover-image is fixed by css code in blog page. = Version 1.3.3 * Updated copyright string. = Version 1.3.2 * Fixed the wp-block-group spacing style issue for the block category layout element in the blog page. = Version 1.3.1 * Fixed the wp-block-search button style issue for the blog page template. = Version 1.3.0 * Fixed the wp-block-calendar and select box style issue for the blog page template. = Version 1.2.9 * Fixed the wp-block-cover-text style issue for the blog page template. = Version 1.2.8 * Fixed the block button color style issue for the blog page template. = Version 1.2.7 * Fixed string issue in the free vs pro file. = Version 1.2.6 * Fixed anchor hover color issue for footer textwidget elements. = Version 1.2.5 * Fixed add menu button css issue. = Version 1.2.4 * Fixed issue for php version 8.0. * Added Logo Width option. = Version 1.2.3 * We have fixed border-color issues for textarea elements in blog detail page. = Version 1.2.2 * Fixed comment issue. = Version 1.2.1 * Added theme info section. = Version 1.2.0 * Fixed sticky bar spacing issue. = Version 1.1.9 * Fixed theme string issue. = Version 1.1.8 * We have fixed anchor border-color issues in these elements like post element, excerpt, text widget, and comments content. = Version 1.1.7 * Fixed shop page issue. = Version 1.1.6 * Added site header support. = Version 1.1.5 * Fixed the top and bottom space of post-password-form styles in the blog post. = Version 1.1.4 * Fixed issue for the BrightPress theme. = Version 1.1.3 * The background color of the WordPress admin search icon has been fixed. = Version 1.1.2 * Screenshot slider overlay updated. = Version 1.1.1 * Updated google font in typography. = Version 1.1.0 * Fixed prefix issue for plugin count. = Version 1.0.9 * The space between the heading and the paragraph has been reduced. = Version 1.0.8 * Fixed issue in wp block latest posts lists in theme unit data. = Version 1.0.7 * Fixed the left space of wp block latest comments. = Version 1.0.6 * Fixed the bottom space of wp block button styles in the blog post. = Version 1.0.5 * Fixed list style issue. = Version 1.0.4 * Fixed Open link in new tab issue. = Version 1.0.3 * Fixed issue for the select dropdown. = Version 1.0.2 * Fixed toggle button css issue. = Version 1.0.1 * Fixed issue for custom background color. = Version 1.0 * Fixed wp-color-picker-alpha control issue. = Version 0.9 * Fixed page header breadcrumb issue. = Version 0.8 * Updated free Vs Pro table in admin. = Version 0.7 * Fixed prefix issue. = Version 0.6 * Fixed reqired plugin issue. = Version 0.5 * All issues of the theme have been corrected again. = Version 0.4 * Fixed theme review issue. = Version 0.3 * Updated Screenshot. = Version 0.2 * Updated description. = Version 0.1 * Initial release.comments.php000064400000007522146726735170007132 0ustar00

1 && get_option( 'page_comments' ) ) : ?> 'consultstreet_comment' ) ); ?>
1 && get_option( 'page_comments' ) ) : ?> comment_status) : ?>

logged in to post a comment','consultstreet' ), esc_url(home_url( 'wp-login.php' ) . '?redirect_to=' . urlencode(get_permalink()))); ?>

'
', 'email' => '
', ); function my_fields($fields) { return $fields; } add_filter('comment_form_default_fields','my_fields'); $defaults = array( 'fields'=> apply_filters( 'comment_form_default_fields', $fields ), 'comment_field'=> '
', 'logged_in_as' => '

' . esc_html__( "Logged in as",'consultstreet' ).' '.''. esc_html( $user_identity ).''. ' '. ''.esc_html__("Logout",'consultstreet').'' . '

', 'id_submit'=> 'send_button', 'label_submit'=>esc_html__( 'Submit','consultstreet'), 'comment_notes_after'=> '', 'title_reply'=> '

'.esc_html__('Leave a Reply','consultstreet').'

', 'id_form'=> 'action' ); comment_form($defaults);?> sidebar-footer.php000064400000002360146726735170010205 0ustar00
license.txt000064400000035563146726735170006765 0ustar00 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONSinc/custom-header.php000064400000004260146726735170010612 0ustar00 * * @link https://developer.wordpress.org/themes/functionality/custom-headers/ * * @package consultstreet */ /** * Set up the WordPress core custom header feature. * * @uses consultstreet_header_style() */ function consultstreet_custom_header_setup() { add_theme_support( 'custom-header', apply_filters( 'consultstreet_custom_header_args', array( 'default-image' => get_stylesheet_directory_uri() . '/assets/img/page-header-bg.jpg', 'default-text-color' => '#fff', 'width' => 1920, 'height' => 500, 'flex-height' => true, 'flex-width' => true, 'wp-head-callback' => 'consultstreet_header_style', ) ) ); } add_action( 'after_setup_theme', 'consultstreet_custom_header_setup' ); if ( ! function_exists( 'consultstreet_header_style' ) ) : /** * Styles the header image and text displayed on the blog. * * @see consultstreet_custom_header_setup(). */ function consultstreet_header_style() { $header_text_color = get_header_textcolor(); /* * If no custom options for text are set, let's bail. * get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ). */ if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) { return; } // If we get this far, we have custom styles. Let's do this. ?> array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 1, 'label' => esc_html__( 'Blog/Archive/Single', 'consultstreet' ), 'section' => 'consultstreet_blog_general', ), ), 'consultstreet_general_blog_arcive_single_content_ordering' => array( 'setting' => array( 'default' => array( 'meta-one', 'title', 'meta-two', 'image', ), 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_sortable' ), ), 'control' => array( 'type' => 'sortable', 'priority' => 5, 'label' => esc_html__( 'General Post', 'consultstreet' ), 'description' => esc_html__( 'Drag & Drop post items to re-arrange the order', 'consultstreet' ), 'section' => 'consultstreet_blog_general', 'choices' => array( 'meta-one' => esc_attr__( 'Meta One', 'consultstreet' ), 'title' => esc_attr__( 'Title', 'consultstreet' ), 'meta-two' => esc_attr__( 'Meta Two', 'consultstreet' ), 'image' => esc_attr__( 'Image', 'consultstreet' ), ), ), ), 'consultstreet_archive_blog_heading' => array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 15, 'label' => esc_html__( 'Archive Blog Pages', 'consultstreet' ), 'section' => 'consultstreet_blog_general', ), ), 'consultstreet_archive_blog_pages_layout' => array( 'setting' => array( 'default' => 'consultstreet_right_sidebar', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio_image', 'priority' => 20, 'label' => esc_html__( 'Layout', 'consultstreet' ), 'section' => 'consultstreet_blog_general', 'choices' => array( 'consultstreet_right_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-right-sidebar.png', 'consultstreet_left_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-left-sidebar.png', 'consultstreet_no_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-fullwidth.png', ), ), ), 'consultstreet_single_blog_heading' => array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 30, 'label' => esc_html__( 'Single Blog Pages', 'consultstreet' ), 'section' => 'consultstreet_blog_general', ), ), 'consultstreet_single_blog_pages_layout' => array( 'setting' => array( 'default' => 'consultstreet_right_sidebar', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio_image', 'priority' => 35, 'label' => esc_html__( 'Layout', 'consultstreet' ), 'section' => 'consultstreet_blog_general', 'choices' => array( 'consultstreet_right_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-right-sidebar.png', 'consultstreet_left_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-left-sidebar.png', 'consultstreet_no_sidebar' => CONSULTSTREET_PARENT_INC_ICON_URI . '/theme-fullwidth.png', ), ), ), 'consultstreet_custom_logo_size' => array( 'setting' => array( 'default' => array( 'slider' => 257, 'suffix' => 'px', ), 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_slider' ), ), 'control' => array( 'type' => 'slider', 'priority' => 55, 'label' => esc_html__( 'Logo Width', 'consultstreet' ), 'section' => 'title_tagline', 'input_attrs' => array( 'min' => 0, 'max' => 600, 'step' => 3, ), ), ), ); } } new ConsultStreet_Customize_Blog_General_Option(); endif; inc/customizer/customizer-settings/theme-settings/consultstreet-typography-customizer-settings.php000064400000002126146726735170030441 0ustar00 array( 'setting' => array( 'default' => false, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 2, 'label' => esc_html__( 'Enable Typography', 'consultstreet' ), 'section' => 'consultstreet_enable_disable_typography', ), ), ); } } new ConsultStreet_Customize_Theme_Typography_Option(); endif; inc/customizer/customizer-settings/theme-settings/consultstreet-general-customizer-settings.php000064400000002313146726735170027646 0ustar00 array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 1, 'label' => esc_html__( 'General Settings', 'consultstreet' ), 'section' => 'consultstreet_theme_general', ), ), 'consultstreet_animation_disabled' => array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 2, 'label' => esc_html__( 'Site Animation Enable/Disable', 'consultstreet' ), 'section' => 'consultstreet_theme_general', ), ), ); } } new ConsultStreet_Customize_General_Option(); endif; inc/customizer/customizer-settings/theme-settings/consultstreet-other-customizer-settings.php000064400000006431146726735170027357 0ustar00 array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 53, 'label' => esc_html__( 'Magazine Header Settings', 'consultstreet' ), 'section' => 'title_tagline', ), ), 'consultstreet_header_banner_image_disabled' => array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 54, 'label' => esc_html__( 'Enable/Disable Banner Image', 'consultstreet' ), 'section' => 'title_tagline', ), ), 'consultstreet_header_banner_image_link' => array( 'setting' => array( 'default' => '#', 'sanitize_callback' => 'sanitize_text_field', ), 'control' => array( 'type' => 'text', 'priority' => 56, 'is_default_type' => true, 'label' => esc_html__( 'Banner Image Link', 'consultstreet' ), 'section' => 'title_tagline', ), ), 'consultstreet_header_banner_open_new_tab_disabled' => array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 57, 'label' => esc_html__( 'Open New Tab Enable/Disable', 'consultstreet' ), 'section' => 'title_tagline', ), ), 'consultstreet_magazine_header_menu_alignment' => array( 'setting' => array( 'default' => 'm-left-auto', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio', 'priority' => 58, 'is_default_type' => true, 'label' => esc_html__( 'Magazine Header Menu Alignment', 'consultstreet' ), 'section' => 'title_tagline', 'choices' => array( 'm-left-auto' => esc_html__( 'Left', 'consultstreet' ), 'm-right-left-auto' => esc_html__( 'Center', 'consultstreet' ), ), ), ), 'consultstreet_custom_logo_size' => array( 'setting' => array( 'default' => array( 'slider' => 257, 'suffix' => 'px', ), 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_slider' ), ), 'control' => array( 'type' => 'slider', 'priority' => 52, 'label' => esc_html__( 'Logo Width', 'consultstreet' ), 'section' => 'title_tagline', 'input_attrs' => array( 'min' => 0, 'max' => 600, 'step' => 3, ), ), ), ); } } new ConsultStreet_Other_General_Option(); endif; customizer/customizer-settings/theme-settings/consultstreet-footer-copyright-customizer-settings.php000064400000001632146726735170031461 0ustar00inc array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 5, 'label' => esc_html__( 'Footer Copyright Enable/Disable', 'consultstreet' ), 'section' => 'consultstreet_footer_copyright', ), ), ); } } new ConsultStreet_Customize_Footer_Copyright_Option(); endif; inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php000064400000004112146726735170027736 0ustar00 array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 1, 'label' => esc_html__( 'Menu Settings', 'consultstreet' ), 'section' => 'consultstreet_theme_menu_bar', ), ), 'consultstreet_menu_style' => array( 'setting' => array( 'default' => 'sticky', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio', 'priority' => 5, 'is_default_type' => true, 'label' => esc_html__( 'Menu Style', 'consultstreet' ), 'section' => 'consultstreet_theme_menu_bar', 'choices' => array( 'sticky' => esc_html__( 'Sticky', 'consultstreet' ), 'static' => esc_html__( 'Static', 'consultstreet' ), ), ), ), 'consultstreet_menu_container_size' => array( 'setting' => array( 'default' => 'container-full', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio', 'priority' => 7, 'is_default_type' => true, 'label' => esc_html__( 'Container Width', 'consultstreet' ), 'section' => 'consultstreet_theme_menu_bar', 'choices' => array( 'container' => esc_html__( 'Container', 'consultstreet' ), 'container-full' => esc_html__( 'Container Full', 'consultstreet' ), ), ), ), ); } } new ConsultStreet_Customize_Menu_Bar_Option(); endif; inc/customizer/customizer-settings/theme-settings/consultstreet-page-header-customizer-settings.php000064400000003302146726735170030372 0ustar00 array( 'setting' => array(), 'control' => array( 'type' => 'heading', 'priority' => 1, 'label' => esc_html__( 'Page Header', 'consultstreet' ), 'section' => 'header_image', ), ), 'consultstreet_page_header_disabled' => array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 5, 'label' => esc_html__( 'Page Header Enable/Disable', 'consultstreet' ), 'section' => 'header_image', ), ), 'consultstreet_page_header_background_color' => array( 'setting' => array( 'default' => '', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_alpha_color' ), ), 'control' => array( 'type' => 'color', 'priority' => 7, 'label' => esc_html__( 'Background color', 'consultstreet' ), 'section' => 'header_image', 'choices' => array( 'alpha' => true, ), ), ), ); } } new ConsultStreet_Customize_Page_Header_Option(); endif; customizer/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php000064400000003202146726735170030727 0ustar00inc array( 'setting' => array( 'default' => true, 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_checkbox' ), ), 'control' => array( 'type' => 'toggle', 'priority' => 10, 'label' => esc_html__( 'Footer Widget Area Enable/Disable', 'consultstreet' ), 'section' => 'consultstreet_footer_widgets', ), ), 'consultstreet_footer_container_size' => array( 'setting' => array( 'default' => 'container-full', 'sanitize_callback' => array( 'ConsultStreet_Customizer_Sanitize', 'sanitize_radio' ), ), 'control' => array( 'type' => 'radio', 'priority' => 25, 'is_default_type' => true, 'label' => esc_html__( 'Container Width', 'consultstreet' ), 'section' => 'consultstreet_footer_widgets', 'choices' => array( 'container' => esc_html__( 'Container', 'consultstreet' ), 'container-full' => esc_html__( 'Container Full', 'consultstreet' ), ), ), ), ); } } new ConsultStreet_Customize_Footer_Widget_Option(); endif; inc/customizer/customizer-settings/consultstreet-customize-base-customizer-settings.php000064400000012333146726735170026226 0ustar00elements = $this->elements(); } /** * Provides an array of Menu slug => name for dropdown. * * @return array */ protected function get_menu_options() { $all_menus = get_terms( array( 'taxonomy' => 'nav_menu', 'hide_empty' => true, ) ); $menu_options = array(); $menu_options['none'] = esc_html__( 'None', 'consultstreet' ); foreach ( $all_menus as $menu_item ) { $menu_options[ $menu_item->slug ] = esc_html( $menu_item->name ); } return $menu_options; } /** * Register customizer option. * * @param WP_Customize_Manager $wp_customize Manager instance. */ public function consultstreet_customizer_options( $wp_customize ) { // Loop through array elements. foreach ( $this->elements as $el_key => $el_data ) : /** * Setting. */ $setting_args = $el_data['setting']; $default = isset( $setting_args['default'] ) ? $setting_args['default'] : ''; $option_type = isset( $el_data['setting']['type'] ) ? $el_data['setting']['type'] : 'theme_mod'; $sanitize_callback = isset( $setting_args['sanitize_callback'] ) ? $setting_args['sanitize_callback'] : ''; $wp_customize->add_setting( $el_key, array( 'default' => $default, 'type' => $option_type, 'capability' => 'edit_theme_options', 'sanitize_callback' => $sanitize_callback, ) ); /** * Control. */ $control_args = $el_data['control']; $control_type = $control_args['type']; // Is custom control? $is_custom_control = ( isset( $control_args['is_default_type'] ) && true === $control_args['is_default_type'] ) ? $control_args['is_default_type'] : 0; $control_args['setting'] = $el_key; // If array provided for active callback modify it to function reference. if ( isset( $control_args['active_callback'] ) && is_array( $control_args['active_callback'] ) ) { $this->active_callback_old[] = $control_args['active_callback']; $cb_setting_id = $this->active_callback_old[ $this->ac_arr_count ][0]['setting']; if ( 'consultstreet_pro' === substr( $cb_setting_id, 0, 9 ) && function_exists( 'consultstreet_pro_options' ) ) { $this->ac_default[] = $wp_customize->get_setting( 'consultstreet_pro[' . $cb_setting_id . ']' )->default; } else { $this->ac_default[] = $wp_customize->get_setting( $cb_setting_id )->default; } $control_args['active_callback'] = array( $this, 'evaluate' ); $this->ac_arr_count++; } // If custom control, unset type and use object, else... if ( ! $is_custom_control ) { unset( $control_args['type'] ); $control_type_uc = implode( '_', array_map( 'ucfirst', explode( '_', $control_type ) ) ); $control_type = 'ConsultStreet_Customize_' . $control_type_uc . '_Control'; $wp_customize->add_control( new $control_type( $wp_customize, $el_key, $control_args ) ); } else { $wp_customize->add_control( $el_key, $control_args ); } endforeach; } /** * Evaluates the active callback array. * * @return bool */ public function evaluate() { foreach ( $this->active_callback_old[ ( $this->count_evaluate ) ] as $count => $ruleset ) : $ac_setting_id = $ruleset['setting']; $operator = $ruleset['operator']; if ( 'consultstreet_pro' === substr( $ac_setting_id, 0, 9 ) && function_exists( 'consultstreet_pro_options' ) ) { $option_val = consultstreet_pro_options( $ac_setting_id, 'text_html' ); } else { $option_val = get_theme_mod( $ac_setting_id, 'text_html' ); } $check_val = $ruleset['value']; switch ( $operator ) { case '===': $show[] = ( $option_val === $check_val ) ? true : false; break; case '==': $show[] = ( $option_val == $check_val ) ? true : false; break; case '!==': $show[] = ( $option_val !== $check_val ) ? true : false; break; case '!=': $show[] = ( $option_val != $check_val ) ? true : false; break; default: $show[] = ( $option_val == $check_val ) ? true : false; break; } endforeach; // Evaluate final result. if ( isset( $show ) ) { $this->count_evaluate++; foreach ( $show as $result ) { if ( ! $result ) { return false; } } } return true; } }inc/customizer/custom-customizer/consultstreet-customizer-panel.php000064400000001765146726735170022216 0ustar00title, ENT_QUOTES, get_bloginfo( 'charset' ) ); $array['content'] = $this->get_content(); $array['active'] = $this->active(); $array['instanceNumber'] = $this->instance_number; return $array; } } } inc/customizer/custom-customizer/consultstreet-customizer-section.php000064400000002515146726735170022555 0ustar00title, ENT_QUOTES, get_bloginfo( 'charset' ) ); $array['content'] = $this->get_content(); $array['active'] = $this->active(); $array['instanceNumber'] = $this->instance_number; if ( $this->panel ) { $array['customizeAction'] = sprintf( 'Customizing ▸ %s', esc_html( $this->manager->get_panel( $this->panel )->title ) ); } else { $array['customizeAction'] = 'Customizing'; } return $array; } } } inc/customizer/consultstreet-customizer-sanitize.php000064400000005672146726735170017232 0ustar00 $item ) { $val[ $key ] = sanitize_text_field( $item ); } return $val; } // Sanitize Radio Buttonset control. public static function sanitize_radio( $val, $setting ) { $val = sanitize_key( $val ); $choices = $setting->manager->get_control( $setting->id )->choices; return array_key_exists( $val, $choices ) ? $val : $setting->default; } // Sanitize Slider control. public static function sanitize_slider( $val, $setting ) { $input_attrs = array(); if ( isset( $setting->manager->get_control( $setting->id )->input_attrs ) ) { $input_attrs = $setting->manager->get_control( $setting->id )->input_attrs; } $val['slider'] = is_numeric( $val['slider'] ) ? $val['slider'] : ''; $val['slider'] = isset( $input_attrs['min'] ) && ( ! empty( $val ) ) && ( $input_attrs['min'] > $val['slider'] ) ? $input_attrs['min'] : $val['slider']; $val['slider'] = isset( $input_attrs['max'] ) && ( ! empty( $val ) ) && ( $input_attrs['max'] < $val['slider'] ) ? $input_attrs['max'] : $val['slider']; $val['suffix'] = esc_attr( $val['suffix'] ); return $val; } public static function sanitize_sortable( $input, $setting ) { // Get list of choices from the control // associated with the setting. $choices = $setting->manager->get_control( $setting->id )->choices; $input_keys = $input; foreach ( $input_keys as $key => $value ) { if ( ! array_key_exists( $value, $choices ) ) { unset( $input[ $key ] ); } } // If the input is a valid key, return it; // otherwise, return the default. return ( is_array( $input ) ? $input : $setting->default ); } // Sanitize checkbox. public static function sanitize_checkbox( $val ) { if ( '0' === $val || 'false' === $val ) { return false; } return (bool) $val; } } ConsultStreet_Customizer_Sanitize::get_instance(); inc/customizer/consultstreet-customizer-options.php000064400000020300146726735170017060 0ustar00selective_refresh ) ? 'postMessage' : 'refresh'; $wp_customize->get_section( 'header_image' )->panel = 'consultstreet_theme_settings'; $wp_customize->get_section( 'header_image' )->title = __( 'Page Header', 'consultstreet' ); $wp_customize->get_section( 'header_image' )->priority = 40; // Sticky Bar Logo $wp_customize->add_setting( 'consultstreet_sticky_bar_logo', array( 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'consultstreet_sticky_bar_logo', array( 'label' => esc_html__( 'Set Sticky Bar Logo', 'consultstreet' ), 'description' => esc_html__( 'You can Upload the Standrad size of logo (210px*39px)', 'consultstreet' ), 'section' => 'consultstreet_theme_menu_bar', 'settings' => 'consultstreet_sticky_bar_logo', 'priority' => 15, ) )); $wp_customize->add_setting( 'consultstreet_typography_base_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Open Sans', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_base_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_base_typography', 'settings' => 'consultstreet_typography_base_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_base_font_size', array( 'default' => '1rem', 'sanitize_callback' => 'consultstreet_sanitize_text', )); $wp_customize->add_control( 'consultstreet_typography_base_font_size', array( 'label' => esc_html__( 'Font Size', 'consultstreet' ), 'description' => esc_html__( 'You can enter font-size in px or rem ', 'consultstreet' ), 'section' => 'consultstreet_base_typography', 'priority' => 15, 'type' => 'text', )); $wp_customize->add_setting( 'consultstreet_typography_h1_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h1_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings1_typography', 'settings' => 'consultstreet_typography_h1_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_h2_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h2_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings2_typography', 'settings' => 'consultstreet_typography_h2_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_h3_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h3_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings3_typography', 'settings' => 'consultstreet_typography_h3_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_h4_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h4_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings4_typography', 'settings' => 'consultstreet_typography_h4_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_h5_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h5_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings5_typography', 'settings' => 'consultstreet_typography_h5_font_family', 'priority' => 10, ) ) ); $wp_customize->add_setting( 'consultstreet_typography_h6_font_family',array( 'sanitize_callback' => 'consultstreet_sanitize_select', 'capability' => 'edit_theme_options', 'default' => 'Montserrat', ) ); $wp_customize->add_control( new ConsultStreet_Customizer_Typography_Control( $wp_customize, 'consultstreet_typography_h6_font_family', array( 'label' => esc_html__( 'Font Family', 'consultstreet' ), 'section' => 'consultstreet_headings6_typography', 'settings' => 'consultstreet_typography_h6_font_family', 'priority' => 10, ) ) ); // Footer copyright $wp_customize->add_setting( 'consultstreet_footer_copright_text', array( 'sanitize_callback' => 'consultstreet_sanitize_text', 'default' => __('Copyright © 2024 | Powered by WordPress | ConsultStreet theme by ThemeArile', 'consultstreet'), 'transport' => $selective_refresh, ) ); $wp_customize->add_control('consultstreet_footer_copright_text', array( 'label' => esc_html__('Footer Copyright','consultstreet'), 'section' => 'consultstreet_footer_copyright', 'priority' => 10, 'type' => 'textarea' )); } add_action( 'customize_register', 'consultstreet_customizer_theme_settings' ); /* * Customizer Notifications */ require get_template_directory() . '/inc/customizer/customizer-notice/consultstreet-customizer-notify.php'; $consultstreet_config_customizer = array( 'recommended_plugins' => array( 'arile-extra' => array( 'recommended' => true, 'description' => sprintf( /* translators: %s: plugin name */ esc_html__( 'If you want to show all the features and business sections of the FrontPage. please install and activate %s plugin', 'consultstreet' ), 'Arile Extra' ), ), ), 'recommended_actions' => array(), 'recommended_actions_title' => esc_html__( 'Recommended Actions', 'consultstreet' ), 'recommended_plugins_title' => esc_html__( 'Recommended Plugin', 'consultstreet' ), 'install_button_label' => esc_html__( 'Install and Activate', 'consultstreet' ), 'activate_button_label' => esc_html__( 'Activate', 'consultstreet' ), 'consultstreet_deactivate_button_label' => esc_html__( 'Deactivate', 'consultstreet' ), ); ConsultStreet_Customizer_Notify::init( apply_filters( 'consultstreet_customizer_notify_array', $consultstreet_config_customizer ) );inc/customizer/webfont.php000064400000032353146726735170011726 0ustar00 urlencode( implode( '|', $font_families ) ), 'subset' => urlencode( 'latin,latin-ext' ), ); $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' ); return $fonts_url; } function consultstreet_google_font_scripts_styles() { wp_enqueue_style( 'consultstreet-google-fonts', consultstreet_google_fonts_url(), array(), null ); } add_action( 'wp_enqueue_scripts', 'consultstreet_google_font_scripts_styles'); /*--------------------------------------------------------------------*/ /* Register Google Fonts /*--------------------------------------------------------------------*/ function consultstreet_default_fonts_url() { $fonts_url = ''; $font_families = array(); $font_families = array('Open Sans:400,300,300italic,400italic,600,600italic,700,700italic', 'Montserrat:300,300italic,400,400italic,500,500italic,600,600italic,700,italic,800,800italic,900,900italic'); $query_args = array( 'family' => urlencode( implode( '|', $font_families ) ), 'subset' => urlencode( 'latin,latin-ext' ), ); $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' ); return $fonts_url; } function consultstreet_default_scripts_styles() { wp_enqueue_style( 'consultstreet-default-fonts', consultstreet_default_fonts_url(), array(), null ); } add_action( 'wp_enqueue_scripts', 'consultstreet_default_scripts_styles');inc/customizer/assets/js/extend-customizer.js000064400000013736146726735170015522 0ustar00/** * Extend Customizer Panel * * @package consultstreet */ ( function( $ ) { var api = wp.customize; api.bind( 'pane-contents-reflowed', function() { // Reflow sections var sections = []; api.section.each( function( section ) { if ( 'consultstreet_section' !== section.params.type || 'undefined' === typeof section.params.section ) { return; } sections.push( section ); } ); sections.sort( api.utils.prioritySort ).reverse(); $.each( sections, function( i, section ) { var parentContainer = $( '#sub-accordion-section-' + section.params.section ); parentContainer.children( '.section-meta' ).after( section.headContainer ); } ); // Reflow panels var panels = []; api.panel.each( function( panel ) { if ( 'consultstreet_panel' !== panel.params.type || 'undefined' === typeof panel.params.panel ) { return; } panels.push( panel ); } ); panels.sort( api.utils.prioritySort ).reverse(); $.each( panels, function( i, panel ) { var parentContainer = $( '#sub-accordion-panel-' + panel.params.panel ); parentContainer.children( '.panel-meta' ).after( panel.headContainer ); } ); } ); // Extend Panel var _panelEmbed = wp.customize.Panel.prototype.embed; var _panelIsContextuallyActive = wp.customize.Panel.prototype.isContextuallyActive; var _panelAttachEvents = wp.customize.Panel.prototype.attachEvents; wp.customize.Panel = wp.customize.Panel.extend( { attachEvents : function() { if ( 'consultstreet_panel' !== this.params.type || 'undefined' === typeof this.params.panel ) { _panelAttachEvents.call( this ); return; } _panelAttachEvents.call( this ); var panel = this; panel.expanded.bind( function( expanded ) { var parent = api.panel( panel.params.panel ); if ( expanded ) { parent.contentContainer.addClass( 'current-panel-parent' ); } else { parent.contentContainer.removeClass( 'current-panel-parent' ); } } ); panel.container.find( '.customize-panel-back' ) .off( 'click keydown' ) .on( 'click keydown', function( event ) { if ( api.utils.isKeydownButNotEnterEvent( event ) ) { return; } event.preventDefault(); // Keep this AFTER the key filter above if ( panel.expanded() ) { api.panel( panel.params.panel ).expand(); } } ); }, embed : function() { if ( 'consultstreet_panel' !== this.params.type || 'undefined' === typeof this.params.panel ) { _panelEmbed.call( this ); return; } _panelEmbed.call( this ); var panel = this; var parentContainer = $( '#sub-accordion-panel-' + this.params.panel ); parentContainer.append( panel.headContainer ); }, isContextuallyActive: function() { if ( 'consultstreet_panel' !== this.params.type ) { return _panelIsContextuallyActive.call( this ); } var panel = this; var children = this._children( 'panel', 'section' ); api.panel.each( function( child ) { if ( !child.params.panel ) { return; } if ( child.params.panel !== panel.id ) { return; } children.push( child ); } ); children.sort( api.utils.prioritySort ); var activeCount = 0; _( children ).each( function( child ) { if ( child.active() && child.isContextuallyActive() ) { activeCount += 1; } } ); return ( activeCount !== 0 ); } } ); // Extend Section var _sectionEmbed = wp.customize.Section.prototype.embed; var _sectionIsContextuallyActive = wp.customize.Section.prototype.isContextuallyActive; var _sectionAttachEvents = wp.customize.Section.prototype.attachEvents; wp.customize.Section = wp.customize.Section.extend( { attachEvents : function() { if ( 'consultstreet_section' !== this.params.type || 'undefined' === typeof this.params.section ) { _sectionAttachEvents.call( this ); return; } _sectionAttachEvents.call( this ); var section = this; section.expanded.bind( function( expanded ) { var parent = api.section( section.params.section ); if ( expanded ) { parent.contentContainer.addClass( 'current-section-parent' ); } else { parent.contentContainer.removeClass( 'current-section-parent' ); } } ); section.container.find( '.customize-section-back' ) .off( 'click keydown' ) .on( 'click keydown', function( event ) { if ( api.utils.isKeydownButNotEnterEvent( event ) ) { return; } event.preventDefault(); // Keep this AFTER the key filter above if ( section.expanded() ) { api.section( section.params.section ).expand(); } } ); }, embed : function() { if ( 'consultstreet_section' !== this.params.type || 'undefined' === typeof this.params.section ) { _sectionEmbed.call( this ); return; } _sectionEmbed.call( this ); var section = this; var parentContainer = $( '#sub-accordion-section-' + this.params.section ); parentContainer.append( section.headContainer ); }, isContextuallyActive: function() { if ( 'consultstreet_section' !== this.params.type ) { return _sectionIsContextuallyActive.call( this ); } var section = this; var children = this._children( 'section', 'control' ); api.section.each( function( child ) { if ( !child.params.section ) { return; } if ( child.params.section !== section.id ) { return; } children.push( child ); } ); children.sort( api.utils.prioritySort ); var activeCount = 0; _( children ).each( function( child ) { if ( 'undefined' !== typeof child.isContextuallyActive ) { if ( child.active() && child.isContextuallyActive() ) { activeCount += 1; } } else { if ( child.active() ) { activeCount += 1; } } } ); return ( activeCount !== 0 ); } } ); } )( jQuery ); inc/customizer/assets/js/customizer-section.js000064400000004745146726735170015677 0ustar00( function( api ) { // Extends our custom "example-1" section. api.sectionConstructor['consultstreet-plugin-section'] = api.Section.extend( { // No events for this type of section. attachEvents: function () {}, // Always make the section active. isContextuallyActive: function () { return true; } } ); } )( wp.customize ); function consultstreet_frontpage_sections_scroll( section_id ){ var scroll_section_id = "theme-slider"; var $contents = jQuery('#customize-preview iframe').contents(); switch ( section_id ) { case 'accordion-section-consultstreet_theme_top_header_area': scroll_section_id = "site-header"; break; case 'aaccordion-section-consultstreet_main_theme_slider': scroll_section_id = "theme-slider"; break; case 'accordion-section-consultstreet_theme_info_area': scroll_section_id = "theme-info-area"; break; case 'accordion-section-consultstreet_theme_service': scroll_section_id = "theme-services"; break; case 'accordion-section-consultstreet_theme_project': scroll_section_id = "theme-project"; break; case 'accordion-section-consultstreet_theme_funfact': scroll_section_id = "theme-funfact"; break; case 'accordion-section-consultstreet_theme_testimonial': scroll_section_id = "theme-testimonial"; break; case 'accordion-section-consultstreet_theme_wooshop': scroll_section_id = "theme-shop"; break; case 'accordion-section-consultstreet_theme_cta': scroll_section_id = "theme-cta"; break; case 'accordion-section-consultstreet_theme_team': scroll_section_id = "theme-team-mambers"; break; case 'accordion-section-consultstreet_theme_blog': scroll_section_id = "theme-blog"; break; case 'accordion-section-consultstreet_theme_client': scroll_section_id = "theme-sponsors"; break; } if( $contents.find('#'+scroll_section_id).length > 0 ){ $contents.find("html, body").animate({ scrollTop: $contents.find( "#" + scroll_section_id ).offset().top }, 1000); } } jQuery('body').on('click', '#sub-accordion-panel-consultstreet_frontpage_settings .control-subsection .accordion-section-title', function(event) { var section_id = jQuery(this).parent('.control-subsection').attr('id'); consultstreet_frontpage_sections_scroll( section_id ); });inc/customizer/assets/js/customizer.js000064400000006773146726735170014240 0ustar00/** * File customizer.js. * * Theme Customizer enhancements for a better user experience. * * Contains handlers to make Theme Customizer preview reload changes asynchronously. */ ( function ( $ ) { // Site title and description. wp.customize( 'blogname', function ( value ) { value.bind( function ( to ) { $( '.site-title a' ).text( to ); } ); } ); wp.customize( 'blogdescription', function ( value ) { value.bind( function ( to ) { $( '.site-description' ).text( to ); } ); } ); // Service title wp.customize( 'consultstreet_service_area_title', function( value ) { value.bind( function( newval ) { $( '.theme-services .theme-section-title' ).text( newval ); } ); } ); // Service description wp.customize( 'consultstreet_service_area_des', function( value ) { value.bind( function( newval ) { $( '.theme-services .theme-section-subtitle' ).text( newval ); } ); } ); // Project title wp.customize( 'consultstreet_project_area_title', function( value ) { value.bind( function( newval ) { $( '.theme-project .theme-section-title' ).text( newval ); } ); } ); // Project description wp.customize( 'consultstreet_project_area_des', function( value ) { value.bind( function( newval ) { $( '.theme-project .theme-section-subtitle' ).text( newval ); } ); } ); // Testimonial title wp.customize( 'consultstreet_testimonial_area_title', function( value ) { value.bind( function( newval ) { $( '.theme-testimonial .theme-section-title' ).text( newval ); } ); } ); // Testimonial description wp.customize( 'consultstreet_testimonial_area_des', function( value ) { value.bind( function( newval ) { $( '.theme-testimonial .theme-section-subtitle' ).text( newval ); } ); } ); // Call to action title wp.customize( 'consultstreet_cta_area_title', function( value ) { value.bind( function( newval ) { $( '.theme-cta .cta-block h5' ).text( newval ); } ); } ); // Call to action subtitle wp.customize( 'consultstreet_cta_area_subtitle', function( value ) { value.bind( function( newval ) { $( '.theme-cta .cta-block h2' ).text( newval ); } ); } ); // Call to action description wp.customize( 'consultstreet_cta_area_des', function( value ) { value.bind( function( newval ) { $( '.theme-cta .cta-block p' ).text( newval ); } ); } ); // Call to action button text wp.customize( 'consultstreet_cta_button_text', function( value ) { value.bind( function( newval ) { $( '.theme-cta .btn-small' ).text( newval ); } ); } ); // Call to action video text wp.customize( 'consultstreet_video_text', function( value ) { value.bind( function( newval ) { $( '.theme-cta .youtube-click a' ).text( newval ); } ); } ); // Blog title wp.customize( 'consultstreet_blog_area_title', function( value ) { value.bind( function( newval ) { $( '.theme-blog .theme-section-title' ).text( newval ); } ); } ); // Blog description wp.customize( 'consultstreet_blog_area_des', function( value ) { value.bind( function( newval ) { $( '.theme-blog .theme-section-subtitle' ).text( newval ); } ); } ); // footer copyright text wp.customize( 'consultstreet_footer_copright_text', function( value ) { value.bind( function( newval ) { $( '.site-footer .site-info' ).text( newval ); } ); } ); } )( jQuery ); inc/customizer/assets/css/extend-customizer.css000064400000002763146726735170016050 0ustar00.in-sub-panel #customize-theme-controls .customize-pane-child.current-panel-parent, #customize-theme-controls .customize-pane-child.current-section-parent { -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); } /* Nested Customizer Section CSS */ #customize-controls .control-section.control-section-consultstreet_section .accordion-section-title { color: #555d66; background-color: #fff; border-bottom: 1px solid #ddd; border-left: 4px solid #fff; -webkit-transition: .15s color ease-in-out, .15s background-color ease-in-out, .15s border-color ease-in-out; transition: .15s color ease-in-out, .15s background-color ease-in-out, .15s border-color ease-in-out; } #customize-controls .control-section.control-section-consultstreet_section .accordion-section-title:after { color: #a0a5aa; } #customize-controls .control-section.control-section-consultstreet_section .accordion-section-title:hover, #customize-controls .control-section.control-section-consultstreet_section .accordion-section-title:focus { color: #0073aa; background: #f3f3f5; border-left-color: #0073aa; } #customize-controls .control-section.control-section-consultstreet_section .accordion-section-title:hover:after { color: #0073aa; } #customize-controls .control-section-consultstreet_section .accordion-section { margin-left: -12px; margin-right: -12px; } #customize-controls .customize-control-consultstreet-editor .wp-editor-tools .wp-editor-container textarea { width: 100%; } inc/customizer/assets/css/customize.css000064400000001304146726735170014367 0ustar00/*User stick note*/ .control-section-consultstreet-plugin-section .accordion-section-title .button { margin-top: -4px; font-weight: 700; margin-left: 8px; background: #fff; color: #061018; border-color: #fff; padding: 0 20px 1px; } .control-section-consultstreet-plugin-section .accordion-section-title .button:hover, .control-section-consultstreet-plugin-section .accordion-section-title .button:focus{ background: #fff; border-color: #fff; } #customize-controls .control-section-consultstreet-plugin-section.cannot-expand .accordion-section-title, #customize-controls .control-section-plugin-section.cannot-expand:hover .accordion-section-title{ background: #0085ba; color:#fff; }inc/customizer/customizer-repeater/inc/icons.php000064400000164167146726735170016170 0ustar00
inc/customizer/customizer-repeater/inc/customizer.php000064400000001144146726735170017242 0ustar00 $box ){ foreach ($box as $key => $value){ $input_decoded[$boxk][$key] = wp_kses_post( force_balance_tags( $value ) ); } } return json_encode($input_decoded); } return $input; }inc/customizer/customizer-repeater/js/customizer_repeater.js000064400000056141146726735170020630 0ustar00/* global jQuery */ /* global wp */ function consultstreet_media_upload(button_class) { 'use strict'; jQuery('body').on('click', button_class, function () { var button_id = '#' + jQuery(this).attr('id'); var display_field = jQuery(this).parent().children('input:text'); var _custom_media = true; wp.media.editor.send.attachment = function (props, attachment) { if (_custom_media) { if (typeof display_field !== 'undefined') { switch (props.size) { case 'full': display_field.val(attachment.sizes.full.url); display_field.trigger('change'); break; case 'medium': display_field.val(attachment.sizes.medium.url); display_field.trigger('change'); break; case 'thumbnail': display_field.val(attachment.sizes.thumbnail.url); display_field.trigger('change'); break; default: display_field.val(attachment.url); display_field.trigger('change'); } } _custom_media = false; } else { return wp.media.editor.send.attachment(button_id, [props, attachment]); } }; wp.media.editor.open(button_class); window.send_to_editor = function (html) { }; return false; }); } /******************************************** *** Generate unique id *** *********************************************/ function consultstreet_customizer_repeater_uniqid(prefix, more_entropy) { 'use strict'; if (typeof prefix === 'undefined') { prefix = ''; } var retId; var php_js; var formatSeed = function (seed, reqWidth) { seed = parseInt(seed, 10) .toString(16); // to hex str if (reqWidth < seed.length) { // so long we split return seed.slice(seed.length - reqWidth); } if (reqWidth > seed.length) { // so short we pad return new Array(1 + (reqWidth - seed.length)) .join('0') + seed; } return seed; }; // BEGIN REDUNDANT if (!php_js) { php_js = {}; } // END REDUNDANT if (!php_js.uniqidSeed) { // init seed with big random int php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15); } php_js.uniqidSeed++; retId = prefix; // start with prefix, add current milliseconds hex string retId += formatSeed(parseInt(new Date() .getTime() / 1000, 10), 8); retId += formatSeed(php_js.uniqidSeed, 5); // add seed hex string if (more_entropy) { // for more entropy we add a float lower to 10 retId += (Math.random() * 10) .toFixed(8) .toString(); } return retId; } /******************************************** *** General Repeater *** *********************************************/ function consultstreet_customizer_repeater_refresh_social_icons(th) { 'use strict'; var icons_repeater_values = []; th.find('.customizer-repeater-social-repeater-container').each(function () { var icon = jQuery(this).find('.icp').val(); var link = jQuery(this).find('.customizer-repeater-social-repeater-link').val(); var id = jQuery(this).find('.customizer-repeater-social-repeater-id').val(); if (!id) { id = 'customizer-repeater-social-repeater-' + consultstreet_customizer_repeater_uniqid(); jQuery(this).find('.customizer-repeater-social-repeater-id').val(id); } if (icon !== '' && link !== '') { icons_repeater_values.push({ 'icon': icon, 'link': link, 'id': id }); } }); th.find('.social-repeater-socials-repeater-colector').val(JSON.stringify(icons_repeater_values)); consultstreet_customizer_repeater_refresh_general_control_values(); } function consultstreet_customizer_repeater_refresh_general_control_values() { 'use strict'; jQuery('.customizer-repeater-general-control-repeater').each(function () { var values = []; var th = jQuery(this); th.find('.customizer-repeater-general-control-repeater-container').each(function () { var icon_value = jQuery(this).find('.icp').val(); var text = jQuery(this).find('.customizer-repeater-text-control').val(); var button_text = jQuery(this).find('.customizer-repeater-button-text-control').val(); var link = jQuery(this).find('.customizer-repeater-link-control').val(); var color = jQuery(this).find('.customizer-repeater-color-control').val(); var designation = jQuery(this).find('.customizer-repeater-designation-control').val(); var open_new_tab = jQuery(this).find('.customizer-repeater-checkbox').val(); var image_url = jQuery(this).find('.custom-media-url').val(); var choice = jQuery(this).find('.customizer-repeater-image-choice').val(); var title = jQuery(this).find('.customizer-repeater-title-control').val(); var subtitle = jQuery(this).find('.customizer-repeater-subtitle-control').val(); var slide_format = jQuery(this).find('.customizer-repeater-slide-format').val(); var video_url = jQuery(this).find('.customizer-repeater-video-url-control').val(); var id = jQuery(this).find('.social-repeater-box-id').val(); if (!id) { id = 'social-repeater-' + consultstreet_customizer_repeater_uniqid(); jQuery(this).find('.social-repeater-box-id').val(id); } var social_repeater = jQuery(this).find('.social-repeater-socials-repeater-colector').val(); var shortcode = jQuery(this).find('.customizer-repeater-shortcode-control').val(); if (text !== '' || image_url !== '' || title !== '' || subtitle !== '' || icon_value !== '' || link !== '' || designation !== '' || open_new_tab !== '' || choice !== '' || social_repeater !== '' || shortcode !== '' || color !== '' || button_text !== '' || slide_format !== '' || video_url !== '') { values.push({ 'icon_value': (choice === 'customizer_repeater_none' ? '' : icon_value), 'color': color, 'text': consultstreet_escapeHtml(text), 'link': link, 'image_url': (choice === 'customizer_repeater_none' ? '' : image_url), 'choice': choice, 'title': consultstreet_escapeHtml(title), 'subtitle': consultstreet_escapeHtml(subtitle), 'social_repeater': consultstreet_escapeHtml(social_repeater), 'id': id, 'shortcode': consultstreet_escapeHtml(shortcode), 'button_text' : button_text, 'designation' : designation, 'open_new_tab' : open_new_tab, 'slide_format' : slide_format, 'video_url' : video_url }); } }); th.find('.customizer-repeater-colector').val(JSON.stringify(values)); th.find('.customizer-repeater-colector').trigger('change'); }); } jQuery(document).ready(function () { 'use strict'; var theme_conrols = jQuery('#customize-theme-controls'); theme_conrols.on('click', '.customizer-repeater-customize-control-title', function () { jQuery(this).next().slideToggle('medium', function () { if (jQuery(this).is(':visible')){ jQuery(this).prev().addClass('repeater-expanded'); jQuery(this).css('display', 'block'); } else { jQuery(this).prev().removeClass('repeater-expanded'); } }); }); theme_conrols.on('change', '.icp',function(){ consultstreet_customizer_repeater_refresh_general_control_values(); return false; }); theme_conrols.on('change','.customizer-repeater-slide-format', function(){ if(jQuery(this).val() === 'customizer_repeater_slide_forma_video'){ jQuery(this).parent().parent().find('.customizer-repeater-video-url-control').show(); jQuery(this).parent().parent().find('.Video').show(); }else{ jQuery(this).parent().parent().find('.customizer-repeater-video-url-control').hide(); jQuery(this).parent().parent().find('.Video').hide(); } consultstreet_customizer_repeater_refresh_general_control_values(); return false; }); theme_conrols.on('change', '.customizer-repeater-image-choice', function () { if (jQuery(this).val() === 'customizer_repeater_image') { jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide(); jQuery(this).parent().parent().find('.customizer-repeater-image-control').show(); } if (jQuery(this).val() === 'customizer_repeater_icon') { jQuery(this).parent().parent().find('.social-repeater-general-control-icon').show(); jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide(); } if (jQuery(this).val() === 'customizer_repeater_none') { jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide(); jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide(); } consultstreet_customizer_repeater_refresh_general_control_values(); return false; }); consultstreet_media_upload('.customizer-repeater-custom-media-button'); jQuery('.custom-media-url').on('change', function () { consultstreet_customizer_repeater_refresh_general_control_values(); return false; }); var color_options = { change: function(event, ui){ consultstreet_customizer_repeater_refresh_general_control_values(); } }; /** * This adds a new box to repeater * */ theme_conrols.on('click', '.customizer-repeater-new-field', function () { var parentid = jQuery(this).parent().attr("id"); if(parentid == 'customize-control-consultstreet_top_header_info_content') { var numItems = jQuery("#customize-control-consultstreet_top_header_info_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 3){ jQuery( "#customize-control-consultstreet_top_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_top_header_social_content') { var numItems = jQuery("#customize-control-consultstreet_top_header_social_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 4){ jQuery( "#customize-control-consultstreet_social_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_main_slider_content') { var numItems = jQuery("#customize-control-consultstreet_main_slider_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 2){ jQuery( "#customize-control-consultstreet_slider_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_theme_info_content') { var numItems = jQuery("#customize-control-consultstreet_theme_info_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 3){ jQuery( "#customize-control-consultstreet_info_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_service_content') { var numItems = jQuery("#customize-control-consultstreet_service_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 3){ jQuery( "#customize-control-consultstreet_service_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_project_content') { var numItems = jQuery("#customize-control-consultstreet_project_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 4){ jQuery( "#customize-control-consultstreet_project_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } if(parentid == 'customize-control-consultstreet_testimonial_content') { var numItems = jQuery("#customize-control-consultstreet_testimonial_content .customizer-repeater-general-control-repeater-container").length if(numItems >= 3){ jQuery( "#customize-control-consultstreet_testimonial_upgrade .consultstreet-upgrade-pro-message" ).show(); return false; } } var th = jQuery(this).parent(); var id = 'customizer-repeater-' + consultstreet_customizer_repeater_uniqid(); if (typeof th !== 'undefined') { /* Clone the first box*/ var field = th.find('.customizer-repeater-general-control-repeater-container:first').clone( true, true ); if (typeof field !== 'undefined') { /*Set the default value for choice between image and icon to icon*/ field.find('.customizer-repeater-image-choice').val('customizer_repeater_icon'); /*Show icon selector*/ field.find('.social-repeater-general-control-icon').show(); /*Hide image selector*/ if (field.find('.social-repeater-general-control-icon').length > 0) { field.find('.customizer-repeater-image-control').hide(); } /*Show delete box button because it's not the first box*/ field.find('.social-repeater-general-control-remove-field').show(); /* Empty control for icon */ field.find('.input-group-addon').find('.fa').attr('class', 'fa'); /*Remove all repeater fields except first one*/ field.find('.customizer-repeater-social-repeater').find('.customizer-repeater-social-repeater-container').not(':first').remove(); field.find('.customizer-repeater-social-repeater-link').val(''); field.find('.social-repeater-socials-repeater-colector').val(''); /*Remove value from icon field*/ field.find('.icp').val(''); /*Remove value from text field*/ field.find('.customizer-repeater-text-control').val(''); /*Remove value from button text field*/ field.find('.customizer-repeater-button-text-control').val(''); field.find('.customizer-repeater-video-url-control').val(''); /*Remove value from designation text field*/ field.find('.customizer-repeater-designation-control').val(''); /*Set the default value in slide format*/ field.find('.customizer-repeater-slide-format').val('left'); /*Remove value from link field*/ field.find('.customizer-repeater-link-control').val(''); /*Set box id*/ field.find('.social-repeater-box-id').val(id); /*Remove value from media field*/ field.find('.custom-media-url').val(''); /*Remove value from title field*/ field.find('.customizer-repeater-title-control').val(''); /*Remove value from color field*/ field.find('.wp-picker-container').replaceWith(''); field.find('.customize-control-notifications-container').remove(); field.find('.customizer-repeater-color-control').wpColorPicker(color_options); /*Remove value from subtitle field*/ field.find('.customizer-repeater-subtitle-control').val(''); /*Remove value from shortcode field*/ field.find('.customizer-repeater-shortcode-control').val(''); /*Set the default value in checkbox*/ field.find('.customizer-repeater-checkbox').val(''); /*Append new box*/ th.find('.customizer-repeater-general-control-repeater-container:first').parent().append(field); /*Refresh values*/ consultstreet_customizer_repeater_refresh_general_control_values(); } } return false; }); theme_conrols.on('click', '.social-repeater-general-control-remove-field', function () { if (typeof jQuery(this).parent() !== 'undefined') { jQuery(this).parent().hide(500, function(){ var main_top_items = jQuery("#customize-control-consultstreet_top_header_info_content .customizer-repeater-general-control-repeater-container").length if(main_top_items < 4){ jQuery( "#customize-control-consultstreet_top_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var main_social_items = jQuery("#customize-control-consultstreet_top_header_social_content .customizer-repeater-general-control-repeater-container").length if(main_social_items < 5){ jQuery( "#customize-control-consultstreet_social_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var main_slider_items = jQuery("#customize-control-consultstreet_main_slider_content .customizer-repeater-general-control-repeater-container").length if(main_slider_items < 3){ jQuery( "#customize-control-consultstreet_slider_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var theme_info_items = jQuery("#customize-control-consultstreet_theme_info_content .customizer-repeater-general-control-repeater-container").length if(theme_info_items < 4){ jQuery( "#customize-control-consultstreet_info_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var theme_info_items = jQuery("#customize-control-consultstreet_service_content .customizer-repeater-general-control-repeater-container").length if(theme_info_items < 4){ jQuery( "#customize-control-consultstreet_service_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var project_items = jQuery("#customize-control-consultstreet_project_content .customizer-repeater-general-control-repeater-container").length if(project_items < 5){ jQuery( "#customize-control-consultstreet_project_upgrade .consultstreet-upgrade-pro-message" ).hide(); } var testimonial_items = jQuery("#customize-control-consultstreet_testimonial_content .customizer-repeater-general-control-repeater-container").length if(testimonial_items < 4){ jQuery( "#customize-control-consultstreet_testimonial_upgrade .consultstreet-upgrade-pro-message" ).hide(); } jQuery(this).parent().remove(); consultstreet_customizer_repeater_refresh_general_control_values(); }); } return false; }); theme_conrols.on('keyup', '.customizer-repeater-title-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); jQuery('.customizer-repeater-color-control').wpColorPicker(color_options); theme_conrols.on('keyup', '.customizer-repeater-subtitle-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('keyup', '.customizer-repeater-shortcode-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('keyup', '.customizer-repeater-video-url-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('keyup', '.customizer-repeater-text-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('keyup','.customizer-repeater-button-text-control', function(){ consultstreet_customizer_repeater_refresh_general_control_values(); }) theme_conrols.on('keyup', '.customizer-repeater-link-control', function () { consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('keyup','.customizer-repeater-designation-control', function(){ consultstreet_customizer_repeater_refresh_general_control_values(); }); theme_conrols.on('change','.customizer-repeater-checkbox', function(){ consultstreet_customizer_repeater_refresh_general_control_values(); }); /*Drag and drop to change icons order*/ jQuery('.customizer-repeater-general-control-droppable').sortable({ axis: 'y', update: function () { consultstreet_customizer_repeater_refresh_general_control_values(); } }); /*----------------- Socials Repeater ---------------------*/ theme_conrols.on('click', '.social-repeater-add-social-item', function (event) { event.preventDefault(); var th = jQuery(this).parent(); var id = 'customizer-repeater-social-repeater-' + consultstreet_customizer_repeater_uniqid(); if (typeof th !== 'undefined') { var field = th.find('.customizer-repeater-social-repeater-container:first').clone( true, true ); if (typeof field !== 'undefined') { field.find( '.icp' ).val(''); field.find( '.input-group-addon' ).find('.fa').attr('class','fa'); field.find('.social-repeater-remove-social-item').show(); field.find('.customizer-repeater-social-repeater-link').val(''); field.find('.customizer-repeater-social-repeater-id').val(id); th.find('.customizer-repeater-social-repeater-container:first').parent().append(field); } } return false; }); theme_conrols.on('click', '.social-repeater-remove-social-item', function (event) { event.preventDefault(); var th = jQuery(this).parent(); var repeater = jQuery(this).parent().parent(); th.remove(); consultstreet_customizer_repeater_refresh_social_icons(repeater); return false; }); theme_conrols.on('keyup', '.customizer-repeater-social-repeater-link', function (event) { event.preventDefault(); var repeater = jQuery(this).parent().parent(); consultstreet_customizer_repeater_refresh_social_icons(repeater); return false; }); theme_conrols.on('change', '.customizer-repeater-social-repeater-container .icp', function (event) { event.preventDefault(); var repeater = jQuery(this).parent().parent().parent(); consultstreet_customizer_repeater_refresh_social_icons(repeater); return false; }); }); var entityMap = { '&': '&', '<': '<', '>': '>', '"': '"', '\'': ''', '/': '/' }; function consultstreet_escapeHtml(string) { 'use strict'; //noinspection JSUnresolvedFunction string = String(string).replace(new RegExp('\r?\n', 'g'), '
'); string = String(string).replace(/\\/g, '\'); return String(string).replace(/[&<>"'\/]/g, function (s) { return entityMap[s]; }); }inc/customizer/customizer-repeater/js/fontawesome-iconpicker.js000064400000004536146726735170021211 0ustar00(function ($) { 'use strict'; wp.consultstreet_customizerRepeater = { init: function () { $('.iconpicker-items>i').on('click', function () { var iconClass = $(this).attr('class').slice(3); var classInput = $(this).parents('.iconpicker-popover').prev().find('.icp'); classInput.val(iconClass); classInput.attr('value', iconClass); var iconPreview = classInput.next('.input-group-addon'); var iconElement = '<\/i>'); iconPreview.empty(); iconPreview.append(iconElement); var th = $(this).parent().parent().parent(); classInput.trigger('change'); consultstreet_customizer_repeater_refresh_social_icons(th); return false; }); }, search: function ($searchField) { var itemsList = $searchField.parent().next().find('.iconpicker-items'); var searchTerm = $searchField.val().toLowerCase(); if (searchTerm.length > 0) { itemsList.children().each(function () { if ($(this).filter('[title*='.concat(searchTerm)).length > 0 || searchTerm.length < 1) { $(this).show(); } else { $(this).hide(); } }); } else { itemsList.children().show(); } }, iconPickerToggle: function ($input) { var iconPicker = $input.parent().next(); iconPicker.addClass('iconpicker-visible'); } }; $(document).ready(function () { wp.consultstreet_customizerRepeater.init(); $('.iconpicker-search').on('keyup', function () { wp.consultstreet_customizerRepeater.search($(this)); }); $('.icp-auto').on('click', function () { wp.consultstreet_customizerRepeater.iconPickerToggle($(this)); }); $(document).mouseup( function (e) { var container = $('.iconpicker-popover'); if (!container.is(e.target) && container.has(e.target).length === 0) { container.removeClass('iconpicker-visible'); } }); }); })(jQuery); inc/customizer/customizer-repeater/css/admin-style.css000064400000011610146726735170017303 0ustar00.customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden:after { content: ""; display: table; clear: both; } .customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden { display: none; } .customizer-repeater-customize-control-title { margin: 0; padding: 15px; font-size: 1em; line-height: 1; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: block; font-weight: 600; color: #23282d; border: 1px solid #e5e5e5; cursor: move; } .customizer-repeater-customize-control-title:hover { border: 1px solid #999; } .customizer-repeater-customize-control-title:after { content: "\f140"; font-family: dashicons; font-size: 20px; height: 13px; bottom: 3px; position: relative; float: right; } .customizer-repeater-customize-control-title.repeater-expanded:after { content: "\f142"; } .customizer-repeater-box-content-hidden { border: 1px solid #e5e5e5; border-top: none; padding: 1px 10px 10px; } .customizer-repeater-box-content-hidden > div { margin: 1em 0; } .customizer-repeater-box-content-hidden .customize-control-title { font-size: 13px; line-height: 1.5; font-weight: normal; margin-bottom: 0; margin-top: 1em; } .customizer-repeater-box-content-hidden .customize-control-title:after { content: ":"; } .customizer-repeater-box-content-hidden span.description { font-size: 12px; font-style: normal; } .customizer-repeater-general-control-repeater-container, .customizer-repeater-general-control-repeater_container { border: 1px solid #e5e5e5; border-top: none; margin-bottom: 12px; width: 100%; float: left; background: #fff; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .04); box-shadow: 0 1px 1px rgba(0, 0, 0, .04); } .customizer-repeater-box-content-hidden .wp-picker-container, .customizer-repeater-box-content-hidden .wp-picker-container .wp-color-result, .icp-container { margin: 0; } .customizer-repeater-box-content-hidden input:not(.icp, .wp-color-picker), .customizer-repeater-box-content-hidden textarea, .customizer-repeater-box-content-hidden .wp-picker-container { margin-bottom: 1em !important; } .social-repeater-general-control-remove-field { cursor: pointer; color: #a00; background: none; border: none; padding: 0; margin-top: 10px; } .social-repeater-general-control-remove-field:hover { color: red; } .customizer-repeater-box-content-hidden .wp-picker-holder { position: relative; left: -10px; } .customizer-repeater-box-content-hidden .wp-picker-input-wrap { margin-left: 10px; } .customizer-repeater-box-content-hidden .wp-picker-container .iris-picker { border-left: none; border-right: none; } button.customizer-repeater-new-field { float: right; } button.customizer-repeater-new-field:before { content: "\f132"; display: inline-block; position: relative; left: -2px; top: -1px; font: 400 20px/1 dashicons; vertical-align: middle; -webkit-transition: all .2s; transition: all .2s; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .customizer-repeater-box-content-hidden > div.customizer-repeater-social-repeater { margin-top: 0; } .customizer-repeater-general-control-repeater-container .customizer-repeater-icon-control { width: 100%; margin: 0; padding: 0; } #customizer-repeater-new-field { width: 100%; } .customize-control-widget_form .widget-control-save { display: block !important; } .customizer-repeater-box-content-hidden { background-color: #fff; } .customizer-repeater-image-control .customizer-repeater-custom-media-button { margin-top: 5px; } .customizer-icons { display: inline-block; padding: 0 10px 0 0; vertical-align: middle; } .social-repeater-remove-social-item { display: inline-block; vertical-align: top; color: #a00; border: none; background: none; cursor: pointer; padding: 0; } .social-repeater-remove-social-item:hover { color: red; } .customizer-repeater-social-repeater > .customizer-repeater-social-repeater-container:not(:first-child) { margin-top: 25px; } .icp-container { margin-bottom: 10px; } .button-secondary.social-repeater-add-social-item:before { content: "\f132"; display: inline-block; position: relative; left: -2px; top: -1px; font: 400 20px/1 dashicons; vertical-align: middle; -webkit-transition: all .2s; transition: all .2s; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .button-secondary.social-repeater-add-social-item { vertical-align: text-top; float: right; } .customizer-repeater-box-content-hidden textarea { width: 100%; } .customizer-repeater-video-url-control{ display:none; }inc/customizer/customizer-repeater/css/fontawesome-iconpicker.min.css000064400000004457146726735170022325 0ustar00.iconpicker .iconpicker-items,.iconpicker .iconpicker-items:after,.iconpicker-popover .popover-footer:after,.iconpicker:after{clear:both}.iconpicker-popover.popover{position:absolute;padding:1px;text-align:left;background:#e5e5e5;z-index:999;display:none;margin-left:-10px;width:254px}.iconpicker,.iconpicker-popover.popover.iconpicker-visible{display:block}.iconpicker-popover.popover .popover-title{padding:5px;font-size:5px;line-height:16px;border-bottom:1px solid #ebebeb;background-color:#e5e5e5}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:14px}.iconpicker-popover.popover .popover-content{padding:0;text-align:center}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker *,.icp-container{position:relative}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.bottomLeft>.arrow{border-top-width:0;border-bottom-color:#e5e5e5;top:-11px}.iconpicker-popover.popover.bottomLeft>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#e5e5e5}.iconpicker-popover.popover.bottomLeft>.arrow{left:14px;margin-left:0}.iconpicker,.iconpicker .iconpicker-items{position:relative;margin:0;overflow:hidden}.iconpicker{text-align:left;text-shadow:none;line-height:0}.iconpicker .iconpicker-items:after,.iconpicker .iconpicker-items:before,.iconpicker:after,.iconpicker:before{content:" ";display:table}.iconpicker *{box-sizing:content-box}.iconpicker .iconpicker-items{float:none;padding:5px 0 0 5px;background:#fff;overflow-y:auto;min-height:55px;max-height:275px}.iconpicker .iconpicker-items i{float:left;width:32px;height:32px;line-height:32px;margin:0 7px 7px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:18px;color:#444;box-shadow:0 0 0 1px #ddd;transition:transform .2s ease}.iconpicker .iconpicker-items i:nth-child(6n){margin-right:0}.iconpicker .iconpicker-items i:hover{transform:scale(1.4);color:#008ec2;box-shadow:none}.icp{padding-left:30px}.icp-container .input-group-addon{position:absolute;top:1px;left:5px;padding:3px}inc/customizer/customizer-repeater/functions.php000064400000000142146726735170016272 0ustar00add_field_label = esc_html__( 'Add new field', 'consultstreet' ); if ( ! empty( $args['add_field_label'] ) ) { $this->add_field_label = $args['add_field_label']; } $this->boxtitle = esc_html__( 'Customizer Repeater', 'consultstreet' ); if ( ! empty ( $args['item_name'] ) ) { $this->boxtitle = $args['item_name']; } elseif ( ! empty( $this->label ) ) { $this->boxtitle = $this->label; } if ( ! empty( $args['customizer_repeater_image_control'] ) ) { $this->customizer_repeater_image_control = $args['customizer_repeater_image_control']; } if ( ! empty( $args['customizer_repeater_icon_control'] ) ) { $this->customizer_repeater_icon_control = $args['customizer_repeater_icon_control']; } if ( ! empty( $args['customizer_repeater_color_control'] ) ) { $this->customizer_repeater_color_control = $args['customizer_repeater_color_control']; } if ( ! empty( $args['customizer_repeater_title_control'] ) ) { $this->customizer_repeater_title_control = $args['customizer_repeater_title_control']; } if ( ! empty( $args['customizer_repeater_subtitle_control'] ) ) { $this->customizer_repeater_subtitle_control = $args['customizer_repeater_subtitle_control']; } if ( ! empty( $args['customizer_repeater_text_control'] ) ) { $this->customizer_repeater_text_control = $args['customizer_repeater_text_control']; } if ( ! empty( $args['customizer_repeater_designation_control'] ) ) { $this->customizer_repeater_designation_control = $args['customizer_repeater_designation_control']; } if ( ! empty( $args['customizer_repeater_button_text_control'] ) ) { $this->customizer_repeater_button_text_control = $args['customizer_repeater_button_text_control']; } if ( ! empty( $args['customizer_repeater_link_control'] ) ) { $this->customizer_repeater_link_control = $args['customizer_repeater_link_control']; } if ( ! empty( $args['customizer_repeater_checkbox_control'] ) ) { $this->customizer_repeater_checkbox_control = $args['customizer_repeater_checkbox_control']; } if ( ! empty( $args['customizer_repeater_slide_format'] ) ) { $this->customizer_repeater_slide_format = $args['customizer_repeater_slide_format']; } if ( ! empty( $args['customizer_repeater_video_url_control'] ) ) { $this->customizer_repeater_video_url_control = $args['customizer_repeater_video_url_control']; } if ( ! empty( $args['customizer_repeater_shortcode_control'] ) ) { $this->customizer_repeater_shortcode_control = $args['customizer_repeater_shortcode_control']; } if ( ! empty( $args['customizer_repeater_repeater_control'] ) ) { $this->customizer_repeater_repeater_control = $args['customizer_repeater_repeater_control']; } if ( ! empty( $id ) ) { $this->id = $id; } if ( file_exists( get_template_directory() . '/inc/customizer/customizer-repeater/inc/icons.php' ) ) { $this->customizer_icon_container = 'inc/customizer/customizer-repeater/inc/icons'; } $allowed_array1 = wp_kses_allowed_html( 'post' ); $allowed_array2 = array( 'input' => array( 'type' => array(), 'class' => array(), 'placeholder' => array() ) ); $this->allowed_html = array_merge( $allowed_array1, $allowed_array2 ); } /*Enqueue resources for the control*/ public function enqueue() { wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/assets/css/font-awesome/css/font-awesome.min.css', array(), 999 ); wp_enqueue_style( 'consultstreet_customizer-repeater-admin-stylesheet', get_template_directory_uri() . '/inc/customizer/customizer-repeater/css/admin-style.css', array(), 999 ); wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'consultstreet_customizer-repeater-script', get_template_directory_uri() . '/inc/customizer/customizer-repeater/js/customizer_repeater.js', array('jquery', 'jquery-ui-draggable', 'wp-color-picker' ), 999, true ); wp_enqueue_script( 'consultstreet_customizer-repeater-fontawesome-iconpicker', get_template_directory_uri() . '/inc/customizer/customizer-repeater/js/fontawesome-iconpicker.js', array( 'jquery' ), 999, true ); wp_enqueue_style( 'consultstreet_customizer-repeater-fontawesome-iconpicker-script', get_template_directory_uri() . '/inc/customizer/customizer-repeater/css/fontawesome-iconpicker.min.css', array(), 999 ); } public function render_content() { /*Get default options*/ $this_default = json_decode( $this->setting->default ); /*Get values (json format)*/ $values = $this->value(); /*Decode values*/ $json = json_decode( $values ); if ( ! is_array( $json ) ) { $json = array( $values ); } ?> label ); ?>
iterate_array( $this_default ); ?> link() ); ?> class="customizer-repeater-colector" value=""/> iterate_array(); ?> link() ); ?> class="customizer-repeater-colector"/> iterate_array( $json ); ?> link() ); ?> class="customizer-repeater-colector" value="value() ); ?>"/>
boxtitle ) ?>
id)){ $id = $icon->id; } if(!empty($icon->choice)){ $choice = $icon->choice; } if(!empty($icon->image_url)){ $image_url = $icon->image_url; } if(!empty($icon->icon_value)){ $icon_value = $icon->icon_value; } if(!empty($icon->color)){ $color = $icon->color; } if(!empty($icon->title)){ $title = $icon->title; } if(!empty($icon->designation)){ $designation = $icon->designation; } if(!empty($icon->subtitle)){ $subtitle = $icon->subtitle; } if(!empty($icon->text)){ $text = $icon->text; } if(!empty($icon->video_url)){ $video_url = $icon->video_url; } if(!empty($icon->slide_format)){ $slide_format = $icon->slide_format; } if(!empty($icon->button_text)){ $button = $icon->button_text; } if(!empty($icon->link)){ $link = $icon->link; } if(!empty($icon->shortcode)){ $shortcode = $icon->shortcode; } if(!empty($icon->social_repeater)){ $repeater = $icon->social_repeater; } if(!empty($icon->open_new_tab)){ $open_new_tab = $icon->open_new_tab; } if($this->customizer_repeater_title_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Title','consultstreet' ), $this->id, 'customizer_repeater_title_control' ), 'class' => 'customizer-repeater-title-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_title_control' ), ), $title); } if($this->customizer_repeater_subtitle_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Subtitle','consultstreet' ), $this->id, 'customizer_repeater_subtitle_control' ), 'class' => 'customizer-repeater-subtitle-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_subtitle_control' ), ), $subtitle); } if($this->customizer_repeater_text_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Description','consultstreet' ), $this->id, 'customizer_repeater_text_control' ), 'class' => 'customizer-repeater-text-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'textarea', $this->id, 'customizer_repeater_text_control' ), ), $text); } if($this->customizer_repeater_button_text_control){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__('Button Text', 'consultstreet'), $this->id, 'customizer_repeater_button_text_control'), 'class' => 'customizer-repeater-button-text-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '' , $this->id, 'customizer_repeater_button_text_control'), ), $button); } if($this->customizer_repeater_link_control){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Link','consultstreet' ), $this->id, 'customizer_repeater_link_control' ), 'class' => 'customizer-repeater-link-control', 'sanitize_callback' => 'esc_url_raw', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_link_control' ), ), $link); } if($this->customizer_repeater_checkbox_control == true){ $this->testimonila_check($open_new_tab); } if($this->customizer_repeater_slide_format == true){ $this->slide_format($slide_format); } if($this->customizer_repeater_video_url_control){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__('Video Url', 'consultstreet'), $this->id, 'customizer_repeater_video_url_control'), 'class' => 'customizer-repeater-video-url-control', 'type' => apply_filters('customizer_repeater_video_url_control', 'textarea', $this->id, 'customizer_repeater_video_url_control' ), ), $video_url); } if($this->customizer_repeater_image_control == true && $this->customizer_repeater_icon_control == true) { $this->icon_type_choice( $choice ); } if($this->customizer_repeater_image_control == true){ $this->image_control($image_url, $choice); } if($this->customizer_repeater_icon_control == true){ $this->icon_picker_control($icon_value, $choice); } if($this->customizer_repeater_color_control == true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Color','consultstreet' ), $this->id, 'customizer_repeater_color_control' ), 'class' => 'customizer-repeater-color-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'color', $this->id, 'customizer_repeater_color_control' ), 'sanitize_callback' => 'sanitize_hex_color' ), $color); } if($this->customizer_repeater_shortcode_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Shortcode','consultstreet' ), $this->id, 'customizer_repeater_shortcode_control' ), 'class' => 'customizer-repeater-shortcode-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_shortcode_control' ), ), $shortcode); } if($this->customizer_repeater_designation_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Designation','consultstreet' ), $this->id, 'customizer_repeater_designation_control' ), 'class' => 'customizer-repeater-designation-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'textarea', $this->id, 'customizer_repeater_designation_control' ), ), $designation); } if($this->customizer_repeater_repeater_control==true){ $this->repeater_control($repeater); } ?>
boxtitle ) ?>
customizer_repeater_image_control == true && $this->customizer_repeater_icon_control == true ) { $this->icon_type_choice(); } if ( $this->customizer_repeater_image_control == true ) { $this->image_control(); } if ( $this->customizer_repeater_icon_control == true ) { $this->icon_picker_control(); } if($this->customizer_repeater_color_control==true){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Color','consultstreet' ), $this->id, 'customizer_repeater_color_control' ), 'class' => 'customizer-repeater-color-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'color', $this->id, 'customizer_repeater_color_control' ), 'sanitize_callback' => 'sanitize_hex_color' ) ); } if ( $this->customizer_repeater_title_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Title','consultstreet' ), $this->id, 'customizer_repeater_title_control' ), 'class' => 'customizer-repeater-title-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_title_control' ), ) ); } if ( $this->customizer_repeater_subtitle_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Subtitle','consultstreet' ), $this->id, 'customizer_repeater_subtitle_control' ), 'class' => 'customizer-repeater-subtitle-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_subtitle_control' ), ) ); } if ( $this->customizer_repeater_text_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Description','consultstreet' ), $this->id, 'customizer_repeater_text_control' ), 'class' => 'customizer-repeater-text-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'textarea', $this->id, 'customizer_repeater_text_control' ), ) ); } if($this->customizer_repeater_button_text_control){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__('Button Text', 'consultstreet'), $this->id, 'customizer_repeater_button_text_control'), 'class' => 'customizer-repeater-button-text-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '' , $this->id, 'customizer_repeater_button_text_control'), )); } if ( $this->customizer_repeater_link_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Link','consultstreet' ), $this->id, 'customizer_repeater_link_control' ), 'class' => 'customizer-repeater-link-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_link_control' ), ) ); } if($this->customizer_repeater_checkbox_control == true){ $this->testimonila_check($open_new_tab); } if($this->customizer_repeater_slide_format == true){ $this->slide_format($slide_format); } if($this->customizer_repeater_video_url_control){ $this->input_control(array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__('Video Url', 'consultstreet'), $this->id, 'customizer_repeater_video_url_control'), 'class' => 'customizer-repeater-video-url-control', 'type' => apply_filters('customizer_repeater_video_url_control', 'textarea', $this->id, 'customizer_repeater_video_url_control' ), )); } if ( $this->customizer_repeater_shortcode_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Shortcode','consultstreet' ), $this->id, 'customizer_repeater_shortcode_control' ), 'class' => 'customizer-repeater-shortcode-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', '', $this->id, 'customizer_repeater_shortcode_control' ), ) ); } if ( $this->customizer_repeater_designation_control == true ) { $this->input_control( array( 'label' => apply_filters('repeater_input_labels_filter', esc_html__( 'Designation','consultstreet' ), $this->id, 'customizer_repeater_designation_control' ), 'class' => 'customizer-repeater-designation-control', 'type' => apply_filters('consultstreet_repeater_input_types_filter', 'textarea', $this->id, 'customizer_repeater_designation_control' ), ) ); } if($this->customizer_repeater_repeater_control==true){ $this->repeater_control(); } ?>
>
>
customizer_icon_container ); ?>
customizer_icon_container ); ?>
', _wrap = '
', _button = '', // Prevent CSS issues in < WordPress 4.9 _deprecated = ( wpColorPickerL10n.current !== undefined ); // Declare some global variables when is deprecated or not if ( _deprecated ) { var _before = ''; } else { var _before = '', _wrappingLabel = '', _wrappingLabelText = ''; } /** * Overwrite Color * for enable support rbga */ Color.fn.toString = function() { if ( this._alpha < 1 ) return this.toCSS( 'rgba', this._alpha ).replace( /\s+/g, '' ); var hex = parseInt( this._color, 10 ).toString( 16 ); if ( this.error ) return ''; if ( hex.length < 6 ) hex = ( '00000' + hex ).substr( -6 ); return '#' + hex; }; /** * Overwrite wpColorPicker */ $.widget( 'wp.wpColorPicker', $.wp.wpColorPicker, { _hasAlpha: true, /** * @summary Creates the color picker. * * Creates the color picker, sets default values, css classes and wraps it all in HTML. * * @since 3.5.0 * * @access private * * @returns {void} */ _create: function() { // Return early if Iris support is missing. if ( ! $.support.iris ) { return; } var self = this, el = self.element; // Override default options with options bound to the element. $.extend( self.options, el.data() ); // Create a color picker which only allows adjustments to the hue. if ( self.options.type === 'hue' ) { return self._createHueOnly(); } // Bind the close event. self.close = $.proxy( self.close, self ); self.initialValue = el.val(); // Add a CSS class to the input field. el.addClass( 'wp-color-picker' ); if ( _deprecated ) { el.hide().wrap( _wrap ); self.wrap = el.parent(); self.toggler = $( _before ) .insertBefore( el ) .css( { backgroundColor : self.initialValue } ) .attr( 'title', wpColorPickerL10n.pick ) .attr( 'data-current', wpColorPickerL10n.current ); self.pickerContainer = $( _after ).insertAfter( el ); self.button = $( _button ).addClass('hidden'); } else { /* * Check if there's already a wrapping label, e.g. in the Customizer. * If there's no label, add a default one to match the Customizer template. */ if ( ! el.parent( 'label' ).length ) { // Wrap the input field in the default label. el.wrap( _wrappingLabel ); // Insert the default label text. self.wrappingLabelText = $( _wrappingLabelText ) .insertBefore( el ) .text( wpColorPickerL10n.defaultLabel ); } /* * At this point, either it's the standalone version or the Customizer * one, we have a wrapping label to use as hook in the DOM, let's store it. */ self.wrappingLabel = el.parent(); // Wrap the label in the main wrapper. self.wrappingLabel.wrap( _wrap ); // Store a reference to the main wrapper. self.wrap = self.wrappingLabel.parent(); // Set up the toggle button and insert it before the wrapping label. self.toggler = $( _before ) .insertBefore( self.wrappingLabel ) .css( { backgroundColor: self.initialValue } ); // Set the toggle button span element text. self.toggler.find( '.wp-color-result-text' ).text( wpColorPickerL10n.pick ); // Set up the Iris container and insert it after the wrapping label. self.pickerContainer = $( _after ).insertAfter( self.wrappingLabel ); // Store a reference to the Clear/Default button. self.button = $( _button ); } // Set up the Clear/Default button. if ( self.options.defaultColor ) { self.button.addClass( 'wp-picker-default' ).val( wpColorPickerL10n.defaultString ); if ( ! _deprecated ) { self.button.attr( 'aria-label', wpColorPickerL10n.defaultAriaLabel ); } } else { self.button.addClass( 'wp-picker-clear' ).val( wpColorPickerL10n.clear ); if ( ! _deprecated ) { self.button.attr( 'aria-label', wpColorPickerL10n.clearAriaLabel ); } } if ( _deprecated ) { el.wrap( '' ).after( self.button ); } else { // Wrap the wrapping label in its wrapper and append the Clear/Default button. self.wrappingLabel .wrap( ' add_setting( 'pro_info_buttons', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'consultstreet_sanitize_text', ) ); $wp_customize->add_control( new ConsultStreet_WP_Button_Customize_Control( $wp_customize, 'pro_info_buttons', array( 'section' => 'upgrade_premium', )) ); } add_action( 'customize_register', 'consultstreet_upgrade_pro_options' );inc/customizer/controls/code/consultstreet-customize-toggle-control.php000064400000002450146726735170022725 0ustar00

<# if ( data.label ) { #>{{{ data.label }}}<# } #>

render(). * * @access protected */ protected function render_content() { $this_val = $this->value(); ?> cats = get_categories($options); parent::__construct( $manager, $id, $args ); } /** * Render the content of the category dropdown * * @return HTML */ public function render_content() { if(!empty($this->cats)) { ?> inc/customizer/controls/code/consultstreet-customize-slider-control.php000064400000003750146726735170022732 0ustar00json['default'] ) ) { foreach ( $this->json['default'] as $key => $value ) { $this->json['choices']['controls'][ $key ] = true; } } } /** * Renders the Underscore template for this control. * * @see WP_Customize_Control::print_template() * @access protected * @return void */ protected function content_template() { ?> <# if ( data.label ) { #> {{ data.label }} <# } #> <# if ( data.description ) { #> {{{ data.description }}} <# } #>
{{ data.default['suffix'] }}
__( 'Clear', 'consultstreet' ), 'clearAriaLabel' => __( 'Clear color', 'consultstreet' ), 'defaultString' => __( 'Default', 'consultstreet' ), 'defaultAriaLabel' => __( 'Select default color', 'consultstreet' ), 'pick' => __( 'Select Color', 'consultstreet' ), 'defaultLabel' => __( 'Color value', 'consultstreet' ), ); wp_localize_script( 'wp-color-picker-alpha', 'wpColorPickerL10n', $color_picker_strings ); wp_enqueue_script( 'wp-color-picker-alpha' ); // Scripts for nesting panel/section. wp_enqueue_script( 'consultstreet-extend-customizer', CONSULTSTREET_PARENT_INC_URI . '/customizer/assets/js/extend-customizer.js', array( 'jquery' ), false, true ); wp_enqueue_style( 'consultstreet-extend-customizer', CONSULTSTREET_PARENT_INC_URI . '/customizer/assets/css/extend-customizer.css' ); // Main scripts. wp_enqueue_script( 'consultstreet-controls', CONSULTSTREET_PARENT_INC_URI . '/customizer/controls/js/controls.js', array( 'jquery', 'customize-base', 'wp-color-picker-alpha', ), false, true ); wp_enqueue_style( 'consultstreet-controls', CONSULTSTREET_PARENT_INC_URI . '/customizer/controls/css/controls.css' ); } /** * Refresh the parameters passed to the JavaScript via JSON. * * @see WP_Customize_Control::to_json() * @access public * @return void */ public function to_json() { parent::to_json(); $this->json['default'] = $this->setting->default; if ( isset( $this->default ) ) { $this->json['default'] = $this->default; } $this->json['id'] = $this->id; $this->json['value'] = $this->value(); $this->json['choices'] = $this->choices; $this->json['link'] = $this->get_link(); $this->json['l10n'] = $this->l10n(); $this->json['inputAttrs'] = ''; foreach ( $this->input_attrs as $attr => $value ) { $this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" '; } } /** * Render content is still called, so be sure to override it with an empty function in your subclass as well. */ protected function render_content() { } /** * Renders the Underscore template for this control. * * @see WP_Customize_Control::print_template() * @access protected * @return void */ protected function content_template() { } /** * Returns an array of translation strings. * * @access protected * @return array */ protected function l10n() { return array(); } } inc/customizer/controls/code/consultstreet-customize-color-control.php000064400000002716146726735170022567 0ustar00json['palette'] = $this->palette; $this->json['choices']['alpha'] = ( isset( $this->choices['alpha'] ) && $this->choices['alpha'] ) ? 'true' : 'false'; $this->json['mode'] = $this->mode; } /** * Render content is still called, so be sure to override it with an empty function in your subclass as well. */ protected function render_content() { } } inc/customizer/controls/code/consultstreet-customize-radio-image-control.php000064400000004722146726735170023626 0ustar00input_attrs as $attr => $value ) { if ( 'style' !== $attr ) { $this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" '; continue; } $this->json['labelStyle'] = 'style="' . esc_attr( $value ) . '" '; } } /** * Renders the Underscore template for this control. * * @see WP_Customize_Control::print_template() * @access protected * @return void */ protected function content_template() { ?>
<# for ( key in data.choices ) { #> <# dataAlt = ( _.isObject( data.choices[ key ] ) && ! _.isUndefined( data.choices[ key ].alt ) ) ? data.choices[ key ].alt : '' #> checked="checked"<# } #> data-alt="{{ dataAlt }}"> <# } #>
<# if ( data.label ) { #>{{{ data.label }}}<# } #> <# if ( data.description ) { #> {{{ data.description }}}<# } #>
<# for ( key in data.choices ) { #> checked="checked" <# } #>> <# } #>
.image { display: flex; flex-wrap: wrap; } .image-select { + label { position: relative; display: inline-block; width: 32%; margin-right: 2%; &:nth-of-type( 3n ) { margin-right: 0; } .image-label { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: $c-bg-label; font-weight: 700; .inner { width: 100%; height: 100%; text-align: center; padding: 0.5em; vertical-align: middle; } } &:hover .image-label { display: block; } } } input { display: none; img { border: 1px solid transparent; } &:checked + label img { box-shadow: 0 0 5px 2px $c-bg-checked; border: 1px solid $c-primary; } + label .image-clickable { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; } } } inc/customizer/controls/scss/controls.scss000064400000000314146726735170015117 0ustar00@import "modules/control-colors"; @import "modules/color"; @import "modules/radio-buttonset"; @import "modules/radio-image"; @import "modules/slider"; @import "modules/sortable"; @import "modules/toggle";inc/customizer/consultstreet-customizer.php000064400000013327146726735170015402 0ustar00register_panel_type( 'ConsultStreet_Customize_Panel' ); $wp_customize->register_section_type( 'ConsultStreet_Customize_Section' ); // Load base class for controls. require_once $control_dir . '/code/consultstreet-customize-base-control.php'; // Load custom control classes. require_once $control_dir . '/code/consultstreet-customize-color-control.php'; require_once $control_dir . '/code/consultstreet-customize-heading-control.php'; require_once $control_dir . '/code/consultstreet-customize-radio-image-control.php'; require_once $control_dir . '/code/consultstreet-customize-radio-buttonset-control.php'; require_once $control_dir . '/code/consultstreet-customize-slider-control.php'; require_once $control_dir . '/code/consultstreet-customize-sortable-control.php'; require_once $control_dir . '/code/consultstreet-customize-toggle-control.php'; require_once $control_dir . '/code/consultstreet-customize-upgrade-control.php'; // Register JS-rendered control types. $wp_customize->register_control_type( 'ConsultStreet_Customize_Color_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Heading_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Radio_Image_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Radio_Buttonset_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Slider_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Sortable_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Toggle_Control' ); $wp_customize->register_control_type( 'ConsultStreet_Customize_Upgrade_Control' ); } // Customizer selective refresh. public function consultstreet_customizer_selective_refresh() { require_once CONSULTSTREET_PARENT_INC_DIR . '/customizer/consultstreet-customizer-sanitize.php'; require_once CONSULTSTREET_PARENT_INC_DIR . '/customizer/consultstreet-customizer-partials.php'; } // Add postMessage support for site title and description for the Theme Customizer. public function consultstreet_customizer_register( $wp_customize ) { // Customizer selective require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/consultstreet-customizer-selective.php'; // Register panels and sections. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/consultstreet-panels-and-sections.php'; } // Theme Customizer preview reload changes asynchronously. public function consultstreet_customizer_preview_js() { wp_enqueue_script( 'consultstreet-customizer', CONSULTSTREET_PARENT_INC_URI . '/customizer/assets/js/customizer.js', array( 'customize-preview' ), CONSULTSTREET_THEME_VERSION, true ); } // Include customizer customizer settings. public function consultstreet_customizer_settings() { $activate_theme_data = wp_get_theme(); // getting current theme data $activate_theme = $activate_theme_data->name; // Base class. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/consultstreet-customize-base-customizer-settings.php'; // Menu. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php'; // Page Header. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-page-header-customizer-settings.php'; // Blog. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php'; // General. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-general-customizer-settings.php'; // Footer. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-footer-copyright-customizer-settings.php'; require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php'; // Typography. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-typography-customizer-settings.php'; if('AssentPress' == $activate_theme){ // Other Options. require CONSULTSTREET_PARENT_CUSTOMIZER_DIR . '/customizer-settings/theme-settings/consultstreet-other-customizer-settings.php'; } } } endif; new ConsultStreet_Customizer();inc/customizer/consultstreet-customizer-selective.php000064400000012447146726735170017365 0ustar00get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; if ( isset( $wp_customize->selective_refresh ) ) { // site title $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_blogname' ), ) ); // site tagline $wp_customize->selective_refresh->add_partial( 'blogdescription', array( 'selector' => '.site-description', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_blogdescription' ), ) ); // main slider $wp_customize->selective_refresh->add_partial( 'consultstreet_main_slider_content', array( 'selector' => '.theme-main-slider .theme-slider-content', ) ); // service title $wp_customize->selective_refresh->add_partial( 'consultstreet_service_area_title', array( 'selector' => '.theme-services .theme-section-title', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_service_area_title' ), ) ); // service title $wp_customize->selective_refresh->add_partial( 'consultstreet_service_area_des', array( 'selector' => '.theme-services .theme-section-subtitle', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_service_area_des' ), ) ); // service content $wp_customize->selective_refresh->add_partial( 'consultstreet_service_content', array( 'selector' => '.theme-services .row.theme-services-content', ) ); // project title $wp_customize->selective_refresh->add_partial( 'consultstreet_project_area_title', array( 'selector' => '#theme-project .theme-section-title', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_project_area_title' ), ) ); // project description $wp_customize->selective_refresh->add_partial( 'consultstreet_project_area_des', array( 'selector' => '#theme-project .theme-section-subtitle', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_project_area_des' ), ) ); // testimonial title $wp_customize->selective_refresh->add_partial( 'consultstreet_testimonial_area_title', array( 'selector' => '.theme-testimonial .theme-section-title', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_testimonial_area_title' ), ) ); // testimonial description $wp_customize->selective_refresh->add_partial( 'consultstreet_testimonial_area_des', array( 'selector' => '.theme-testimonial .theme-section-subtitle', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_testimonial_area_des' ), ) ); // testimonial content $wp_customize->selective_refresh->add_partial( 'consultstreet_testimonial_content', array( 'selector' => '.theme-testimonial .row.theme-testimonial-content', ) ); // call to action title $wp_customize->selective_refresh->add_partial( 'consultstreet_cta_area_title', array( 'selector' => '.theme-cta .cta-block h5', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_cta_area_title' ), ) ); // call to action subtitle $wp_customize->selective_refresh->add_partial( 'consultstreet_cta_area_subtitle', array( 'selector' => '.theme-cta .cta-block h2', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_cta_area_subtitle' ), ) ); // call to action description $wp_customize->selective_refresh->add_partial( 'consultstreet_cta_area_des', array( 'selector' => '.theme-cta .cta-block p', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_cta_area_des' ), ) ); // call to action button text $wp_customize->selective_refresh->add_partial( 'consultstreet_cta_button_text', array( 'selector' => '.theme-cta .mx-auto a', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_cta_button_text' ), ) ); // blog title $wp_customize->selective_refresh->add_partial( 'consultstreet_blog_area_title', array( 'selector' => '.theme-blog .theme-section-title', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_blog_area_title' ), ) ); // blog description $wp_customize->selective_refresh->add_partial( 'consultstreet_blog_area_des', array( 'selector' => '.theme-blog .theme-section-subtitle', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_blog_area_des' ), ) ); // footer copyright text $wp_customize->selective_refresh->add_partial( 'consultstreet_footer_copright_text', array( 'selector' => '.site-footer .site-info', 'render_callback' => array( 'ConsultStreet_Customizer_Partials', 'customize_partial_consultstreet_footer_copright_text' ), ) ); }inc/customizer/consultstreet-customizer-partials.php000064400000006042146726735170017213 0ustar00add_panel( new ConsultStreet_Customize_Panel( $wp_customize, 'consultstreet_theme_settings', array( 'priority' => 28, 'title' => esc_html__( 'Theme Options', 'consultstreet' ), 'capabitity' => 'edit_theme_options', ) ) ); // Section: General. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_theme_general', array( 'title' => esc_html__( 'General', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'priority' => 9, ) ) ); // Section: Menu. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_theme_menu_bar', array( 'title' => esc_html__( 'Menu', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'priority' => 20, ) ) ); // Section: Blog. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_theme_blog_settings', array( 'title' => esc_html__( 'Blog', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'priority' => 30, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_blog_general', array( 'title' => esc_html__( 'General', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'section' => 'consultstreet_theme_blog_settings', 'priority' => 10, ) ) ); // Section: Page Header. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_theme_page_header', array( 'title' => esc_html__( 'Page Header', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'priority' => 40, ) ) ); // Section: Footer. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_theme_footer', array( 'title' => esc_html__( 'Footer', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'priority' => 50, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_footer_widgets', array( 'title' => esc_html__( 'Footer Widgets', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'section' => 'consultstreet_theme_footer', 'priority' => 10, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_footer_copyright', array( 'title' => esc_html__( 'Footer Copyright', 'consultstreet' ), 'panel' => 'consultstreet_theme_settings', 'section' => 'consultstreet_theme_footer', 'priority' => 20, ) ) ); /** * Panel: Typography. */ $wp_customize->add_panel( new ConsultStreet_Customize_Panel( $wp_customize, 'consultstreet_theme_typography', array( 'priority' => 32, 'title' => esc_html__( 'Typography', 'consultstreet' ), 'capabitity' => 'edit_theme_options', ) ) ); // Section: Typography > Base typography. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_enable_disable_typography', array( 'title' => esc_html__( 'Enable Typography', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 5, ) ) ); // Section: Typography > Base typography. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_base_typography', array( 'title' => esc_html__( 'Base Typography', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 10, ) ) ); // Section: Typography > Headings ( h1 - h6 ) Typography. $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings1_typography', array( 'title' => esc_html__( 'Headings H1', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 70, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings2_typography', array( 'title' => esc_html__( 'Headings H2', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 80, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings3_typography', array( 'title' => esc_html__( 'Headings H3', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 90, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings4_typography', array( 'title' => esc_html__( 'Headings H4', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 100, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings5_typography', array( 'title' => esc_html__( 'Headings H5', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 110, ) ) ); $wp_customize->add_section( new ConsultStreet_Customize_Section( $wp_customize, 'consultstreet_headings6_typography', array( 'title' => esc_html__( 'Headings H6', 'consultstreet' ), 'panel' => 'consultstreet_theme_typography', 'priority' => 120, ) ) );inc/customizer/customizer-notice/consultstreet-customizer-notify-section.php000064400000027516146726735170024042 0ustar00 is_plugin_active( $slug . '/' . $slug . '.php' ), 'needs' => $needs, ); } return array( 'status' => false, 'needs' => 'install', ); } public function create_action_link( $state, $slug ) { switch ( $state ) { case 'install': return wp_nonce_url( add_query_arg( array( 'action' => 'install-plugin', 'plugin' => $slug, ), network_admin_url( 'update.php' ) ), 'install-plugin_' . $slug ); break; case 'deactivate': return add_query_arg( array( 'action' => 'deactivate', 'plugin' => rawurlencode( $slug . '/' . $slug . '.php' ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . $slug . '/' . $slug . '.php' ), ), network_admin_url( 'plugins.php' ) ); break; case 'activate': return add_query_arg( array( 'action' => 'activate', 'plugin' => rawurlencode( $slug . '/' . $slug . '.php' ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $slug . '/' . $slug . '.php' ), ), network_admin_url( 'plugins.php' ) ); break; }// End switch(). } public function call_plugin_api( $slug ) { include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); $call_api = get_transient( 'consultstreet_cust_notify_plugin_info_' . $slug ); if ( false === $call_api ) { $call_api = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'downloaded' => false, 'rating' => false, 'description' => false, 'short_description' => true, 'donate_link' => false, 'tags' => false, 'sections' => false, 'homepage' => false, 'added' => false, 'last_updated' => false, 'compatibility' => false, 'tested' => false, 'requires' => false, 'downloadlink' => false, 'icons' => false, ), ) ); set_transient( 'consultstreet_cust_notify_plugin_info_' . $slug, $call_api, 30 * MINUTE_IN_SECONDS ); } return $call_api; } public function json() { $json = parent::json(); global $consultstreet_customizer_notify_recommended_actions; global $consultstreet_customizer_notify_recommended_plugins; global $install_button_label; global $activate_button_label; global $consultstreet_deactivate_button_label; $formatted_array = array(); $consultstreet_customizer_notify_show_recommended_actions = get_option( 'consultstreet_customizer_notify_show' ); foreach ( $consultstreet_customizer_notify_recommended_actions as $key => $consultstreet_lite_customizer_notify_recommended_action ) { if ( $consultstreet_customizer_notify_show_recommended_actions[ $consultstreet_lite_customizer_notify_recommended_action['id'] ] === false ) { continue; } if ( $consultstreet_lite_customizer_notify_recommended_action['check'] ) { continue; } $consultstreet_lite_customizer_notify_recommended_action['index'] = $key + 1; if ( isset( $consultstreet_lite_customizer_notify_recommended_action['plugin_slug'] ) ) { $active = $this->check_active( $consultstreet_customizer_notify_recommended_action['plugin_slug'] ); $consultstreet_lite_customizer_notify_recommended_action['url'] = $this->create_action_link( $active['needs'], $consultstreet_lite_customizer_notify_recommended_action['plugin_slug'] ); if ( $active['needs'] !== 'install' && $active['status'] ) { $consultstreet_lite_customizer_notify_recommended_action['class'] = 'active'; } else { $consultstreet_lite_customizer_notify_recommended_action['class'] = ''; } switch ( $active['needs'] ) { case 'install': $consultstreet_lite_customizer_notify_recommended_action['button_class'] = 'install-now button'; $consultstreet_lite_customizer_notify_recommended_action['button_label'] = $install_button_label; break; case 'activate': $consultstreet_lite_customizer_notify_recommended_action['button_class'] = 'activate-now button button-primary'; $consultstreet_lite_customizer_notify_recommended_action['button_label'] = $activate_button_label; break; case 'deactivate': $consultstreet_lite_customizer_notify_recommended_action['button_class'] = 'deactivate-now button'; $consultstreet_lite_customizer_notify_recommended_action['button_label'] = $consultstreet_deactivate_button_label; break; } } $formatted_array[] = $consultstreet_lite_customizer_notify_recommended_action; }// End foreach(). $customize_plugins = array(); $consultstreet_lite_customizer_notify_show_recommended_plugins = get_option( 'consultstreet_customizer_notify_show_recommended_plugins' ); foreach ( $consultstreet_customizer_notify_recommended_plugins as $slug => $plugin_opt ) { if ( ! $plugin_opt['recommended'] ) { continue; } if ( isset( $consultstreet_lite_customizer_notify_show_recommended_plugins[ $slug ] ) && $consultstreet_lite_customizer_notify_show_recommended_plugins[ $slug ] ) { continue; } $active = $this->check_active( $slug ); if ( ! empty( $active['needs'] ) && ( $active['needs'] == 'deactivate' ) ) { continue; } $ti_customizer_notify_recommended_plugin['url'] = $this->create_action_link( $active['needs'], $slug ); if ( $active['needs'] !== 'install' && $active['status'] ) { $ti_customizer_notify_recommended_plugin['class'] = 'active'; } else { $ti_customizer_notify_recommended_plugin['class'] = ''; } switch ( $active['needs'] ) { case 'install': $ti_customizer_notify_recommended_plugin['button_class'] = 'install-now button'; $ti_customizer_notify_recommended_plugin['button_label'] = $install_button_label; break; case 'activate': $ti_customizer_notify_recommended_plugin['button_class'] = 'activate-now button button-primary'; $ti_customizer_notify_recommended_plugin['button_label'] = $activate_button_label; break; case 'deactivate': $ti_customizer_notify_recommended_plugin['button_class'] = 'deactivate-now button'; $ti_customizer_notify_recommended_plugin['button_label'] = $consultstreet_deactivate_button_label; break; } $info = $this->call_plugin_api( $slug ); $ti_customizer_notify_recommended_plugin['id'] = $slug; $ti_customizer_notify_recommended_plugin['plugin_slug'] = $slug; if ( ! empty( $plugin_opt['description'] ) ) { $ti_customizer_notify_recommended_plugin['description'] = $plugin_opt['description']; } else { $ti_customizer_notify_recommended_plugin['description'] = $info->short_description; } $ti_customizer_notify_recommended_plugin['title'] = $info->name; $customize_plugins[] = $ti_customizer_notify_recommended_plugin; }// End foreach(). $json['recommended_actions'] = $formatted_array; $json['recommended_plugins'] = $customize_plugins; $json['total_actions'] = count( $consultstreet_customizer_notify_recommended_actions ); $json['plugin_text'] = $this->plugin_text; $json['dismiss_button'] = $this->dismiss_button; return $json; } protected function render_template() { ?> <# if( data.recommended_actions.length > 0 || data.recommended_plugins.length > 0 ){ #>
  • <# if( data.recommended_actions.length > 0 ){ #> {{ data.title }} <# }else{ #> <# if( data.recommended_plugins.length > 0 ){ #> {{ data.plugin_text }} <# }#> <# } #> <# if( data.recommended_actions.length > 0 ){ #> {{ data.recommended_actions[0].index }} {{ data.total_actions }} <# } #>

    <# if( data.recommended_actions.length > 0 ){ #> <# for (action in data.recommended_actions) { #>
    <# if( !data.recommended_actions[action].check ){ #>

    {{ data.recommended_actions[action].title }}

    {{{ data.recommended_actions[action].description }}}
    <# if( data.recommended_actions[action].plugin_slug ){ #> <# } #> <# if( data.recommended_actions[action].help ){ #>
    {{{ data.recommended_actions[action].help }}}
    <# } #>
    <# } #>
    <# } #> <# } #> <# if( data.recommended_plugins.length > 0 ){ #> <# for (action in data.recommended_plugins) { #> <# } #> <# } #>
  • <# } #>
    ' ); }, success: function (data) { var container = jQuery( '#' + data ).parent().parent(); var index = container.next().data( 'index' ); var recommended_sction = jQuery( '#accordion-section-ti_customizer_notify_recomended_actions' ); var actions_count = recommended_sction.find( '.consultstreet-customizer-plugin-notify-actions-count' ); var section_title = recommended_sction.find( '.section-title' ); jQuery( '.consultstreet-customizer-plugin-notify-actions-count .current-index' ).text( index ); container.slideToggle().remove(); if (jQuery( '.consultstreet-theme-recomended-actions_container > .epsilon-recommended-actions' ).length === 0) { actions_count.remove(); if (jQuery( '.consultstreet-theme-recomended-actions_container > .epsilon-recommended-plugins' ).length === 0) { jQuery( '.control-section-ti-customizer-notify-recomended-actions' ).remove(); } else { section_title.text( section_title.data( 'plugin_text' ) ); } } }, error: function (jqXHR, textStatus, errorThrown) { console.log( jqXHR + ' :: ' + textStatus + ' :: ' + errorThrown ); } } ); } ); jQuery( '.consultstreet-customizer-notify-dismiss-button-recommended-plugin' ).click( function () { var id = jQuery( this ).attr( 'id' ), action = jQuery( this ).attr( 'data-action' ); jQuery.ajax( { type: 'GET', data: {action: 'ti_customizer_notify_dismiss_recommended_plugins', id: id, todo: action}, dataType: 'html', url: consultstreetCustomizercompanionObject.ajaxurl, beforeSend: function () { jQuery( '#' + id ).parent().append( '
    ' ); }, success: function (data) { var container = jQuery( '#' + data ).parent().parent(); var index = container.next().data( 'index' ); jQuery( '.consultstreet-customizer-plugin-notify-actions-count .current-index' ).text( index ); container.slideToggle().remove(); if (jQuery( '.consultstreet-theme-recomended-actions_container > .epsilon-recommended-plugins' ).length === 0) { jQuery( '.control-section-ti-customizer-notify-recomended-section' ).remove(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log( jqXHR + ' :: ' + textStatus + ' :: ' + errorThrown ); } } ); } ); // Remove activate button and replace with activation in progress button. jQuery( document ).on( 'DOMNodeInserted','.activate-now', function () { var activateButton = jQuery( '.activate-now' ); if (activateButton.length) { var url = jQuery( activateButton ).attr( 'href' ); if (typeof url !== 'undefined') { // Request plugin activation. jQuery.ajax( { beforeSend: function () { jQuery( activateButton ).replaceWith( '' + consultstreetCustomizercompanionObject.activating_string + '...' ); }, async: true, type: 'GET', url: url, success: function () { // Reload the page. location.reload(); } } ); } } } ); } ); /** * Remove activate button and replace with activation in progress button. * * @package consultstreet */ jQuery( document ).ready( function ($) { $( 'body' ).on( 'click', ' .consultstreet-install-plugin ', function () { var slug = $( this ).attr( 'data-slug' ); wp.updates.installPlugin( { slug: slug } ); return false; } ); $( '.activate-now' ).on( 'click', function (e) { var activateButton = $( this ); e.preventDefault(); if ($( activateButton ).length) { var url = $( activateButton ).attr( 'href' ); if (typeof url !== 'undefined') { // Request plugin activation. $.ajax( { beforeSend: function () { $( activateButton ).replaceWith( ''+"activating"+'...' ); }, async: true, type: 'GET', url: url, success: function () { // Reload the page. location.reload(); } } ); } } } ); } ); inc/customizer/customizer-notice/css/consultstreet-customizer-notify.css000064400000006044146726735170023162 0ustar00.consultstreet-customizer-plugin-notify-actions-count { display: inline-block; z-index: 26; margin: 1px 0 0 2px; padding: 0 6px; border-radius: 10px; color: #fff; background-color: #d54e21; font-size: 9px; font-weight: 600; line-height: 17px; vertical-align: top; } div.consultstreet-theme-recomended-actions_container { margin-bottom: 2em; padding: 0 10px; } .consultstreet-theme-recomended-actions_container p.succes { margin: 1em 0; } .consultstreet-epsilon-recommeded-actions p.title { margin-bottom: 0; color: #555d66; font-size: 14px; font-weight: 600; } .consultstreet-epsilon-recommeded-actions div.description { font-size: 12px; } .consultstreet-epsilon-recommeded-actions .custom-action { margin-top: 1em; padding-top: 1em; border-top: 1px solid #fafafa; } .consultstreet-epsilon-recommeded-actions .custom-action p { margin-top: 0; } .consultstreet-theme-recomended-actions_container .consultstreet-recommeded-actions-container:not(:first-child) { overflow: hidden; height: 0; opacity: 0; } .consultstreet-theme-recomended-actions_container .consultstreet-recommeded-actions-container:first-child { height: auto; opacity: 1; } .consultstreet-theme-recomended-actions_container .consultstreet-recommeded-actions-container { -webkit-transition: opacity 2s; /* Safari */ transition: opacity 2s; } .consultstreet-theme-recomended-actions_container .hide { display: none; } .consultstreet-customizer-plugin-notify-actions-count.complete { background-color: #79ba49; } .consultstreet-theme-recomended-actions_container #demo_content .button { display: block; margin-bottom: 1em; text-align: center; } .consultstreet-theme-recomended-actions_container .succes a { display: inline-block; width: 100%; text-align: center; } .consultstreet-theme-recomended-actions_container .succes a.social { width: 49%; margin-bottom: 1em; padding-top: 4px; line-height: 20px; } .consultstreet-theme-recomended-actions_container .succes a.social span, .consultstreet-theme-recomended-actions_container .succes span { margin-right: 5px; } .consultstreet-theme-recomended-actions_container .succes { padding-top: 4px; line-height: 20px; } .consultstreet-customizer-notify-dismiss-button-recommended-plugin, .consultstreet-customizer-notify-dismiss-recommended-action { position: absolute; top: 10px; right: 10px; border-radius: 50%; color: #d54e21; text-decoration: none; cursor: pointer; } .consultstreet-epsilon-recommeded-actions { position: relative; } .consultstreet-customizer-notify-dismiss-recommended-action, .consultstreet-epsilon-recommeded-actions .consultstreet-customizer-notify-dismiss-button-recommended-plugin { top: 0; right: 0; } .consultstreet-epsilon-recommeded-actions #temp_load { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-align-items: center; align-items: center; -webkit-box-align: center; -ms-flex-align: center; } .consultstreet-epsilon-recommeded-actions #temp_load img { margin: 0 auto; } inc/customizer/customizer-notice/consultstreet-customizer-notify.php000064400000016663146726735170022401 0ustar00config = $config; self::$instance->setup_config(); self::$instance->setup_actions(); } } } public function setup_config() { global $consultstreet_customizer_notify_recommended_plugins; global $consultstreet_customizer_notify_recommended_actions; global $install_button_label; global $activate_button_label; global $consultstreet_deactivate_button_label; $this->recommended_actions = isset( $this->config['recommended_actions'] ) ? $this->config['recommended_actions'] : array(); $this->recommended_plugins = isset( $this->config['recommended_plugins'] ) ? $this->config['recommended_plugins'] : array(); $this->recommended_actions_title = isset( $this->config['recommended_actions_title'] ) ? $this->config['recommended_actions_title'] : ''; $this->recommended_plugins_title = isset( $this->config['recommended_plugins_title'] ) ? $this->config['recommended_plugins_title'] : ''; $this->dismiss_button = isset( $this->config['dismiss_button'] ) ? $this->config['dismiss_button'] : ''; $consultstreet_customizer_notify_recommended_plugins = array(); $consultstreet_customizer_notify_recommended_actions = array(); if ( isset( $this->recommended_plugins ) ) { $consultstreet_customizer_notify_recommended_plugins = $this->recommended_plugins; } if ( isset( $this->recommended_actions ) ) { $consultstreet_customizer_notify_recommended_actions = $this->recommended_actions; } $install_button_label = isset( $this->config['install_button_label'] ) ? $this->config['install_button_label'] : ''; $activate_button_label = isset( $this->config['activate_button_label'] ) ? $this->config['activate_button_label'] : ''; $consultstreet_deactivate_button_label = isset( $this->config['consultstreet_deactivate_button_label'] ) ? $this->config['consultstreet_deactivate_button_label'] : ''; } public function setup_actions() { // Register the section add_action( 'customize_register', array( $this, 'consultstreet_plugin_notification_customize_register' ) ); // Enqueue scripts and styles add_action( 'customize_controls_enqueue_scripts', array( $this, 'consultstreet_customizer_notify_scripts_for_customizer' ), 0 ); /* ajax callback for dismissable recommended actions */ add_action( 'wp_ajax_quality_customizer_notify_dismiss_action', array( $this, 'consultstreet_customizer_notify_dismiss_recommended_action_callback' ) ); add_action( 'wp_ajax_ti_customizer_notify_dismiss_recommended_plugins', array( $this, 'consultstreet_customizer_notify_dismiss_recommended_plugins_callback' ) ); } public function consultstreet_customizer_notify_scripts_for_customizer() { wp_enqueue_style( 'consultstreet-customizer-notify-css', get_template_directory_uri() . '/inc/customizer/customizer-notice/css/consultstreet-customizer-notify.css', array()); wp_enqueue_style( 'plugin-install' ); wp_enqueue_script( 'plugin-install' ); wp_add_inline_script( 'plugin-install', 'var pagenow = "customizer";' ); wp_enqueue_script( 'updates' ); wp_enqueue_script( 'consultstreet-customizer-notify-js', get_template_directory_uri() . '/inc/customizer/customizer-notice/js/consultstreet-customizer-notify.js', array( 'customize-controls' )); wp_localize_script( 'consultstreet-customizer-notify-js', 'consultstreetCustomizercompanionObject', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'template_directory' => get_template_directory_uri(), 'base_path' => admin_url(), 'activating_string' => __( 'Activating', 'consultstreet' ), ) ); } public function consultstreet_plugin_notification_customize_register( $wp_customize ) { require_once get_template_directory() . '/inc/customizer/customizer-notice/consultstreet-customizer-notify-section.php'; $wp_customize->register_section_type( 'ConsultStreet_Customizer_Notify_Section' ); $wp_customize->add_section( new consultstreet_Customizer_Notify_Section( $wp_customize, 'ConsultStreet-customizer-notify-section', array( 'title' => $this->recommended_actions_title, 'plugin_text' => $this->recommended_plugins_title, 'dismiss_button' => $this->dismiss_button, 'priority' => 0, ) ) ); } public function consultstreet_customizer_notify_dismiss_recommended_action_callback() { global $consultstreet_customizer_notify_recommended_actions; $action_id = ( isset( $_GET['id'] ) ) ? $_GET['id'] : 0; echo esc_html( $action_id ); /* this is needed and it's the id of the dismissable required action */ if ( ! empty( $action_id ) ) { if ( get_option( 'consultstreet_customizer_notify_show' ) ) { $consultstreet_customizer_notify_show_recommended_actions = get_option( 'consultstreet_customizer_notify_show' ); switch ( $_GET['todo'] ) { case 'add': $consultstreet_customizer_notify_show_recommended_actions[ $action_id ] = true; break; case 'dismiss': $consultstreet_customizer_notify_show_recommended_actions[ $action_id ] = false; break; } update_option( 'consultstreet_customizer_notify_show', $consultstreet_customizer_notify_show_recommended_actions ); } else { $consultstreet_customizer_notify_show_recommended_actions = array(); if ( ! empty( $consultstreet_customizer_notify_recommended_actions ) ) { foreach ( $consultstreet_customizer_notify_recommended_actions as $consultstreet_lite_customizer_notify_recommended_action ) { if ( $consultstreet_lite_customizer_notify_recommended_action['id'] == $action_id ) { $consultstreet_customizer_notify_show_recommended_actions[ $consultstreet_lite_customizer_notify_recommended_action['id'] ] = false; } else { $consultstreet_customizer_notify_show_recommended_actions[ $consultstreet_lite_customizer_notify_recommended_action['id'] ] = true; } } update_option( 'consultstreet_customizer_notify_show', $consultstreet_customizer_notify_show_recommended_actions ); } } } die(); } public function consultstreet_customizer_notify_dismiss_recommended_plugins_callback() { $action_id = ( isset( $_GET['id'] ) ) ? $_GET['id'] : 0; echo esc_html( $action_id ); /* this is needed and it's the id of the dismissable required action */ if ( ! empty( $action_id ) ) { $consultstreet_lite_customizer_notify_show_recommended_plugins = get_option( 'consultstreet_customizer_notify_show_recommended_plugins' ); switch ( $_GET['todo'] ) { case 'add': $consultstreet_lite_customizer_notify_show_recommended_plugins[ $action_id ] = false; break; case 'dismiss': $consultstreet_lite_customizer_notify_show_recommended_plugins[ $action_id ] = true; break; } update_option( 'consultstreet_customizer_notify_show_recommended_plugins', $consultstreet_lite_customizer_notify_show_recommended_plugins ); } die(); } } inc/consultstreet-class-bootstrap-navwalker.php000064400000016707146726735170016107 0ustar00\n"; } /** * @see Walker::start_el() * @since 3.0.0 * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param int $current_page Menu item ID. * @param object $args */ public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; /** * Dividers, Headers or Disabled * ============================= * Determine whether the item is a Divider, Header, Disabled or regular * menu item. To prevent errors we use the strcasecmp() function to so a * comparison that is not case sensitive. The strcasecmp() function returns * a 0 if the strings are equal. */ if ( strcasecmp( $item->attr_title, 'divider' ) == 0 && $depth === 1 ) { $output .= $indent . ''; $fb_output .= ''; if ( $container ) { $fb_output .= ''; } echo $fb_output; } } }inc/template-tags.php000064400000044334146726735170010627 0ustar00 ">

    $subvalue ) { $value[ $key ] = sanitize_text_field( $subvalue ); } return $value; } return sanitize_text_field( $value ); } function consultstreet_sanitize_text( $input ) { return wp_kses_post( force_balance_tags( $input ) ); } /** * Theme Comment Function */ if ( ! function_exists( 'consultstreet_comment' ) ) : function consultstreet_comment( $comment, $args, $depth ) { ?>
    id="comment-">
    $depth, 'max_depth' => $args['max_depth']))) ?>
    comment_approved == '0' ) : ?>
    ID}\" class=\"more-link\">" .esc_html__('Read More','consultstreet')."

    "; } add_filter( 'the_content_more_link', 'consultstreet_read_more_button_class' ); function consultstreet_post_thumbnail() { if(has_post_thumbnail()){ echo '
    '; the_post_thumbnail( '', array( 'class'=>'img-fluid' ) ); echo '
    '; } } /** * Theme Page Header Title */ function consultstreet_theme_page_header_title(){ if( is_archive() ) { echo '

    '; if ( is_day() ) : /* translators: %1$s %2$s: date */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Archives','consultstreet'), get_the_date() ); elseif ( is_month() ) : /* translators: %1$s %2$s: month */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Archives','consultstreet'), get_the_date( 'F Y' ) ); elseif ( is_year() ) : /* translators: %1$s %2$s: year */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Archives','consultstreet'), get_the_date( 'Y' ) ); elseif( is_author() ): /* translators: %1$s %2$s: author */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('All posts by','consultstreet'), get_the_author() ); elseif( is_category() ): /* translators: %1$s %2$s: category */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Category','consultstreet'), single_cat_title( '', false ) ); elseif( is_tag() ): /* translators: %1$s %2$s: tag */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Tag','consultstreet'), single_tag_title( '', false ) ); elseif( class_exists( 'WooCommerce' ) && is_shop() ): /* translators: %1$s %2$s: WooCommerce */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Shop','consultstreet'), single_tag_title( '', false )); elseif( is_archive() ): the_archive_title( '

    ', '

    ' ); endif; echo '
    '; } elseif( is_404() ) { echo '

    '; /* translators: %1$s: 404 */ printf( esc_html__( '%1$s ', 'consultstreet' ) , esc_html__('404','consultstreet') ); echo '

    '; } elseif( is_search() ) { echo '

    '; /* translators: %1$s %2$s: search */ printf( esc_html__( '%1$s %2$s', 'consultstreet' ), esc_html__('Search results for','consultstreet'), get_search_query() ); echo '

    '; } else { echo '

    '.esc_html( get_the_title() ).'

    '; } } function consultstreet_bootstrap_menu_notitle( $menu ){ return $menu = preg_replace('/ title=\"(.*?)\"/', '', $menu ); } add_filter( 'wp_nav_menu', 'consultstreet_bootstrap_menu_notitle' ); /** * Theme Breadcrumbs Url */ function consultstreet_page_url() { $page_url = 'http'; if ( key_exists("HTTPS", $_SERVER) && ( $_SERVER["HTTPS"] == "on" ) ){ $page_url .= "s"; } $page_url .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $page_url .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $page_url .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $page_url; } /** * Theme Breadcrumbs */ if( !function_exists('consultstreet_page_header_breadcrumbs') ): function consultstreet_page_header_breadcrumbs() { global $post; $homeLink = home_url(); $consultstreet_page_header_layout = get_theme_mod('consultstreet_page_header_layout', 'consultstreet_page_header_layout1'); if($consultstreet_page_header_layout == 'consultstreet_page_header_layout1'): $breadcrumb_class = 'text-center'; else: $breadcrumb_class = 'text-right'; endif; echo ''; } endif; if( ! function_exists( 'consultstreet_custom_customizer_options' ) ): function consultstreet_custom_customizer_options() { $consultstreet_sticky_bar_logo = get_theme_mod('consultstreet_sticky_bar_logo'); $consultstreet_main_slider_content_color = get_theme_mod('consultstreet_main_slider_content_color', '#fff'); $consultstreet_custom_logo_size = get_theme_mod('consultstreet_custom_logo_size', array('slider' => 257,'suffix' => 'px',)); $output_css = ''; if ( has_header_image() ) : $output_css .=".theme-page-header-area { background: #17212c url(" .esc_url( get_header_image() ). "); background-attachment: scroll; background-position: top center; background-repeat: no-repeat; background-size: cover; }\n"; endif; if($consultstreet_custom_logo_size['slider'] != null) : $output_css .=".navbar img.custom-logo, .theme-header-magazine img.custom-logo{ max-width: ".$consultstreet_custom_logo_size['slider']."px; height: auto; }\n"; endif; if($consultstreet_main_slider_content_color != null) : $output_css .=".theme-slider-content .title-large { color: ".$consultstreet_main_slider_content_color."; } .theme-slider-content .description { color: ".$consultstreet_main_slider_content_color."; }\n"; endif; if($consultstreet_sticky_bar_logo != null) : $output_css .=".header-fixed-top .navbar-brand { display: none !important; } .not-sticky .sticky-navbar-brand { display: none !important; }\n"; endif; if ( is_user_logged_in() && is_admin_bar_showing() ) { $output_css .="@media (min-width: 600px){ .navbar.header-fixed-top{top:32px;} }\n"; } wp_add_inline_style( 'consultstreet-style', $output_css ); } endif; add_action( 'wp_enqueue_scripts', 'consultstreet_custom_customizer_options' ); /** * Get started notice */ add_action( 'wp_ajax_consultstreet_dismissed_notice_handler', 'consultstreet_ajax_notice_handler' ); /** * AJAX handler to store the state of dismissible notices. */ function consultstreet_ajax_notice_handler() { if ( isset( $_POST['type'] ) ) { // Pick up the notice "type" - passed via jQuery (the "data-notice" attribute on the notice) $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); // Store it in the options table update_option( 'dismissed-' . $type, TRUE ); } } function consultstreet_deprecated_hook_admin_notice() { // Check if it's been dismissed... if ( ! get_option('dismissed-get_started', FALSE ) ) { // Added the class "notice-get-started-class" so jQuery pick it up and pass via AJAX, // and added "data-notice" attribute in order to track multiple / different notices // multiple dismissible notice states ?>
    <?php esc_attr_e( 'Theme Screenshot', 'consultstreet' ); ?>

    '. wp_get_theme()->get('Name'). '' ); ?>

    Arile Extra plugin, then enjoy this theme.', 'consultstreet')) ?>

    '. wp_get_theme()->get('Name'). '' ); ?> ', '', '' ); ?>
    sanitize_key( wp_unslash( 'arile-extra' ) ), 'fields' => array( 'sections' => false, ), ) ); $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $result = $upgrader->install( $api->download_link ); } // Activate plugin. if ( current_user_can( 'activate_plugin' ) ) { $result = activate_plugin( 'arile-extra/arile-extra.php' ); } } /** * Menu */ function consultstreet_custom_menu_script() { $custom_logo = get_theme_mod( 'custom_logo' ); if(display_header_text()== true && $custom_logo != null && get_bloginfo( 'title' ) !== '' ){ $toggle_value = 2; }else{ $toggle_value = 1; } ?> array( 'value' => 'right-sidebar', 'label' => __( 'Right Sidebar', 'consultstreet' ), 'thumbnail' => get_template_directory_uri() . '/assets/img/icons/theme-right-sidebar.png' ), 'no-sidebar' => array( 'value' => 'no-sidebar', 'label' => __( 'Full Width', 'consultstreet' ), 'thumbnail' => get_template_directory_uri() . '/assets/img/icons/theme-fullwidth.png' ), 'left-sidebar' => array( 'value' => 'left-sidebar', 'label' => __( 'Left Sidebar', 'consultstreet' ), 'thumbnail' => get_template_directory_uri() . '/assets/img/icons/theme-left-sidebar.png' ), ); function consultstreet_sidebar_layout_callback(){ global $post , $consultstreet_sidebar_layout; wp_nonce_field( basename( __FILE__ ), 'consultstreet_nonce' ); ?>
    ID, '_sidebar_layout', true ); ?>
    \n" "Language-Team: \n" "Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Loco https://localise.biz/\n" "X-Loco-Version: 2.5.2; wp-5.7\n" "X-Domain: consultstreet" #: comments.php:26 #, php-format msgid "% comments" msgstr "" #. %1$s: 404 #: inc/template-tags.php:152 #, php-format msgid "%1$s " msgstr "" #. %1$s %2$s: date #. %1$s %2$s: month #. %1$s %2$s: year #. %1$s %2$s: author #. %1$s %2$s: category #. %1$s %2$s: tag #. %1$s %2$s: WooCommerce #. %1$s %2$s: search #: inc/template-tags.php:124 inc/template-tags.php:127 #: inc/template-tags.php:130 inc/template-tags.php:133 #: inc/template-tags.php:136 inc/template-tags.php:139 #: inc/template-tags.php:142 inc/template-tags.php:159 #, php-format msgid "%1$s %2$s" msgstr "" #: comments.php:37 msgid "← Older Comments" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:546 msgid "//fontawesome.io/icons/" msgstr "" #: inc/template-tags.php:152 msgid "404" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:181 msgid "Activate" msgstr "" #: inc/customizer/customizer-notice/consultstreet-customizer-notify.php:111 msgid "Activating" msgstr "" #: inc/consultstreet-class-bootstrap-navwalker.php:207 msgid "Add a menu" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:632 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:665 msgid "Add Icon" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:33 msgid "Add new field" msgstr "" #: functions.php:137 msgid "Add widgets here." msgstr "" #: inc/template-tags.php:133 msgid "All posts by" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-upgrade-control.php:36 msgid "and get the other pro features." msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:61 msgid "Archive Blog Pages" msgstr "" #: inc/template-tags.php:210 msgid "Archive by category" msgstr "" #: inc/template-tags.php:124 inc/template-tags.php:127 #: inc/template-tags.php:130 msgid "Archives" msgstr "" #: inc/template-tags.php:78 msgid "at" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-page-header-customizer-settings.php:57 msgid "Background color" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:91 msgid "Base Typography" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:29 msgid "Blog" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:26 msgid "Blog/Archive/Single" msgstr "" #. Name of the template msgid "Builder Page" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:279 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:427 msgid "Button Text" msgstr "" #: template-parts/content-single.php:30 msgid "by " msgstr "" #: inc/template-tags.php:136 msgid "Category" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:587 msgid "Center" msgstr "" #: inc/metabox.php:41 msgid "Choose Sidebar Template for the Defult Page Templates" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:25 msgid "Clear" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:26 msgid "Clear color" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:333 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:397 msgid "Color" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:30 msgid "Color value" msgstr "" #: comments.php:63 template-parts/content-single.php:37 #: template-parts/content.php:41 msgid "Comment" msgstr "" #: comments.php:36 msgid "Comment navigation" msgstr "" #. Name of the theme msgid "ConsultStreet" msgstr "" #. Description of the theme msgid "" "ConsultStreet is a multipurpose WordPress theme that you can use to create " "any website you wish to create. The theme comes with a very flexible design, " "and it is fully customizable as per your requirement. ConsultStreet is a " "perfect theme for the consulting and finance business website. Not only that," " but this is also a very lightweight theme that is load with a single click " "in no time. The theme is completely responsive and mobile-friendly and that " "your users can access your site from any device. As well as sophisticated " "plus it has some exotic features like customization and clean code, advanced " "typography, sticky menu, logo upload, header image, Bootstrap 4 framework, " "built with SEO in mind, and translation ready (WPML, Polylang). This theme " "supports the best Elementor page builder to create, edit, and updates page " "designs as per the requirement. ConsultStreet also supports popular free and " "premium WordPress plugins such as Elementor, Yoast SEO, WooCommerce, Contact " "Form 7, Jetpack, Google Analytics, and much more. Check the demo of " "ConsultStreet Pro https://themearile.com/consultstreet-pro-theme/." msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php:48 #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:64 msgid "Container" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php:49 #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:65 msgid "Container Full" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php:45 #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:61 msgid "Container Width" msgstr "" #: footer.php:15 inc/customizer/consultstreet-customizer-options.php:147 msgid "" "Copyright © 2021 | Powered by WordPress" " | ConsultStreet theme by ThemeArile" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:38 msgid "Customizer Repeater" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:182 msgid "Deactivate" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:27 msgid "Default" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:367 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:486 msgid "Delete field" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:270 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:419 msgid "Description" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:351 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:475 msgid "Designation" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:45 msgid "Drag & Drop post items to re-arrange the order" msgstr "" #: comments.php:55 msgid "Email" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:84 #: inc/customizer/customizer-settings/theme-settings/consultstreet-typography-customizer-settings.php:32 msgid "Enable Typography" msgstr "" #: inc/template-tags.php:247 msgid "Error 404" msgstr "" #: template-parts/content.php:18 msgid "Featured" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:48 #: inc/customizer/consultstreet-customizer-options.php:74 #: inc/customizer/consultstreet-customizer-options.php:87 #: inc/customizer/consultstreet-customizer-options.php:99 #: inc/customizer/consultstreet-customizer-options.php:111 #: inc/customizer/consultstreet-customizer-options.php:123 #: inc/customizer/consultstreet-customizer-options.php:135 msgid "Font Family" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:61 msgid "Font Size" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:54 msgid "Footer" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:152 #: inc/customizer/consultstreet-panels-and-sections.php:67 msgid "Footer Copyright" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-footer-copyright-customizer-settings.php:29 msgid "Footer Copyright Enable/Disable" msgstr "" #: functions.php:125 msgid "Footer Sidebar Four" msgstr "" #: functions.php:122 msgid "Footer Sidebar One" msgstr "" #: functions.php:124 msgid "Footer Sidebar Three" msgstr "" #: functions.php:123 msgid "Footer Sidebar Two" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-footer-widget-customizer-settings.php:30 msgid "Footer Widget Area Enable/Disable" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:60 msgid "Footer Widgets" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:27 msgid "Free Vs Pro Features" msgstr "" #. Name of the template msgid "Frontpage" msgstr "" #: inc/metabox.php:23 msgid "Full Width" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:35 msgid "General" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:44 msgid "General Post" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:25 msgid "Get Full Support" msgstr "" #. 1: welcome page link starting html tag, 2: welcome page link ending html tag. #: inc/template-tags.php:356 #, php-format msgid "Get started with %1$s" msgstr "" #: searchform.php:4 msgid "Go" msgstr "" #: 404.php:22 msgid "Go Back Now" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-typography-control.php:50 msgid "Google Fonts" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:98 msgid "Headings H1" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:104 msgid "Headings H2" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:110 msgid "Headings H3" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:116 msgid "Headings H4" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:122 msgid "Headings H5" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:128 msgid "Headings H6" msgstr "" #: inc/template-tags.php:205 inc/template-tags.php:208 msgid "Home" msgstr "" #. Author URI of the theme msgid "https://themearile.com" msgstr "" #. URI of the theme msgid "https://themearile.com/consultstreet-theme/" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:539 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:600 msgid "Icon" msgstr "" #. %s: plugin name #: inc/customizer/consultstreet-customizer-options.php:173 #, php-format msgid "" "If you want to show all the features and business sections of the FrontPage. " "please install and activate %s plugin" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:563 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:601 #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:51 msgid "Image" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:597 msgid "Image type" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:180 msgid "Install and Activate" msgstr "" #: template-parts/content-none.php:42 msgid "" "It seems we can’t find what you’re looking for. Perhaps " "searching can help." msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:75 #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:103 msgid "Layout" msgstr "" #: comments.php:69 msgid "Leave a Reply" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:579 msgid "Left" msgstr "" #: inc/metabox.php:28 msgid "Left Sidebar" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:290 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:437 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:624 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:646 msgid "Link" msgstr "" #: comments.php:65 msgid "Log out of this account" msgstr "" #: comments.php:65 msgid "Logged in as" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:124 msgid "Logo Width" msgstr "" #: comments.php:65 msgid "Logout" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:20 msgid "Menu" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:27 msgid "Menu Settings" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:42 msgid "Menu Style" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:48 msgid "Meta One" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:50 msgid "Meta Two" msgstr "" #: comments.php:54 msgid "Name" msgstr "" #: comments.php:38 msgid "Newer Comments →" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:527 msgid "No" msgstr "" #: comments.php:26 msgid "No Comments" msgstr "" #: inc/customizer/customizer-settings/consultstreet-customize-base-customizer-settings.php:74 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:602 msgid "None" msgstr "" #. %1$s: icon #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:545 #, php-format msgid "" "Note: Some icons may not be displayed here. You can see the full list of " "icons at %1$s." msgstr "" #: comments.php:26 msgid "One comment" msgstr "" #: 404.php:20 msgid "OOPS, SORRY WE CAN'T FIND THAT PAGE !" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:523 msgid "Open link in new tab" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:23 #: inc/customizer/consultstreet-panels-and-sections.php:45 #: inc/customizer/customizer-settings/theme-settings/consultstreet-page-header-customizer-settings.php:30 msgid "Page Header" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-page-header-customizer-settings.php:43 msgid "Page Header Enable/Disable" msgstr "" #: template-parts/content-page.php:22 template-parts/content.php:55 msgid "Pages:" msgstr "" #: functions.php:48 msgid "Primary" msgstr "" #: inc/template-tags.php:103 template-parts/content-single.php:49 #: template-parts/content.php:54 msgid "Read More" msgstr "" #. 1: link to WP admin new post page. #: template-parts/content-none.php:22 #, php-format msgid "" "Ready to publish your first post? Get started here." msgstr "" #: inc/customizer/consultstreet-customizer-options.php:178 msgid "Recommended Actions" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:179 msgid "Recommended Plugin" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:627 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:657 msgid "Remove Icon" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-slider-control.php:70 msgid "Reset" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:583 msgid "Right" msgstr "" #: inc/metabox.php:18 msgid "Right Sidebar" msgstr "" #: searchform.php:2 msgid "Search" msgstr "" #: inc/template-tags.php:159 msgid "Search results for" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:29 msgid "Select Color" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-base-control.php:28 msgid "Select default color" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:33 msgid "Set Sticky Bar Logo" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:31 msgid "Share a Good Review" msgstr "" #: inc/template-tags.php:142 msgid "Shop" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:343 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:466 msgid "Shortcode" msgstr "" #: functions.php:121 msgid "Sidebar" msgstr "" #: inc/metabox.php:10 msgid "Sidebar Layout" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:90 msgid "Single Blog Pages" msgstr "" #: header.php:25 msgid "Skip to content" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:575 msgid "Slide Content Format" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:610 msgid "Social icons" msgstr "" #: template-parts/content-none.php:35 msgid "" "Sorry, but nothing matched your search terms. Please try again with some " "different keywords." msgstr "" #: inc/customizer/controls/code/consultstreet-customize-typography-control.php:39 msgid "Standard Fonts" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:46 msgid "Static" msgstr "" #: inc/customizer/customizer-settings/theme-settings/consultstreet-menu-bar-customizer-settings.php:45 msgid "Sticky" msgstr "" #: comments.php:67 msgid "Submit" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:263 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:412 msgid "Subtitle" msgstr "" #: inc/template-tags.php:139 msgid "Tag" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:12 msgid "Theme Options" msgstr "" #: inc/template-tags.php:339 msgid "Theme Screenshot" msgstr "" #. Author of the theme msgid "ThemeArile" msgstr "" #: comments.php:20 msgid "" "This post is password protected. Enter the password to view any comments." msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:256 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:405 #: inc/customizer/customizer-settings/theme-settings/consultstreet-blog-general-customizer-settings.php:49 msgid "Title" msgstr "" #: inc/template-tags.php:350 msgid "" "To take full advantage of all the features of this theme, please install and " "activate the Arile Extra plugin, then enjoy this theme." msgstr "" #: template-parts/site-navbar.php:12 msgid "Toggle navigation" msgstr "" #: inc/customizer/consultstreet-panels-and-sections.php:78 msgid "Typography" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:11 #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:29 msgid "Upgrade to Pro" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:566 msgid "Upload Image" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:309 #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:455 msgid "Video Url" msgstr "" #: inc/customizer/controls/code/consultstreet-customize-plugin-control.php:23 msgid "View Documentation" msgstr "" #: template-parts/content-single.php:70 msgid "Website:" msgstr "" #. 1: welcome page link starting html tag, 2: welcome page link ending html tag. #: inc/template-tags.php:346 #, php-format msgid "Welcome! Thank you for choosing %1$s!" msgstr "" #: functions.php:129 msgid "WooCommerce Sidebar" msgstr "" #: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:530 msgid "Yes" msgstr "" #: inc/customizer/consultstreet-customizer-options.php:62 msgid "You can enter font-size in px or rem " msgstr "" #: inc/customizer/consultstreet-customizer-options.php:34 msgid "You can Upload the Standrad size of logo (210px*39px)" msgstr "" #. %1$s %2$s: logged in #: comments.php:48 #, php-format msgid "You must be logged in to post a comment" msgstr "" #: inc/template-tags.php:86 msgid "Your comment is awaiting moderation." msgstr "" single.php000064400000003350146726735170006561 0ustar00

    404

    ">
    style.css000064400000304121146726735170006441 0ustar00/*! Theme Name: ConsultStreet Theme URI: https://themearile.com/consultstreet-theme/ Author: ThemeArile Author URI: https://themearile.com Description: ConsultStreet is a multipurpose WordPress theme that you can use to create any website you wish to create. The theme comes with a very flexible design, and it is fully customizable as per your requirement. ConsultStreet is a perfect theme for the consulting and finance business website. Not only that, but this is also a very lightweight theme that is load with a single click in no time. The theme is completely responsive and mobile-friendly and that your users can access your site from any device. As well as sophisticated plus it has some exotic features like customization and clean code, advanced typography, sticky menu, logo upload, header image, Bootstrap 4 framework, built with SEO in mind, and translation ready (WPML, Polylang). This theme supports the best Elementor page builder to create, edit, and updates page designs as per the requirement. ConsultStreet also supports popular free and premium WordPress plugins such as Elementor, Yoast SEO, WooCommerce, Contact Form 7, Jetpack, Google Analytics, and much more. Check the demo of ConsultStreet Pro https://themearile.com/consultstreet-pro-theme/. Version: 2.7.1 Tested up to: 6.5 Requires PHP: 5.6 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: consultstreet Tags: one-column, two-columns ,right-sidebar, flexible-header, custom-background, custom-header, custom-menu, editor-style, featured-images, footer-widgets, post-formats, theme-options, threaded-comments, rtl-language-support, translation-ready, full-width-template, custom-logo, blog, e-commerce, portfolio */ /*-------------------------------------------------- =>> Common - Begining Css --------------------------------------------------*/ body, button, input, select, textarea { color: #404040; font-family: "Open Sans", "Helvetica Neue", helvetica, arial, sans-serif; line-height: 1.75; font-size: 1rem; -webkit-font-smoothing: antialiased; font-weight: 400; } h1, .h1, h2, .h2, .h3, h3, h4, .h4, h5, .h5, .h6, h6 { clear: both; margin: 0 0 1.4rem; color: #000; font-family: 'Montserrat', sans-serif; font-weight: 600; } h1 { font-size: 2.5rem; line-height: 1.2; } h2 { font-size: 2.125rem; line-height: 1.3; } h3 { font-size: 1.75rem; line-height: 1.3; } h4 { font-size: 1.375rem; line-height: 1.3; } h5 { font-size: 1.125rem; line-height: 1.4; } h6 { font-size: 0.875rem; line-height: 1.4; } p { margin: 0; padding: 0 0 1.563rem; } p:last-child { margin: 0; padding: 0; } b, strong { font-weight: 600; } dfn, cite, em, i { font-style: italic; } blockquote { background-color: #fafafa; font-size: 1.225rem; font-style: normal; margin: 0.438rem 0 2.125rem; overflow: hidden; position: relative; padding: 1.10rem 1.250rem !important; font-style: italic; quotes: "" ""; color: #404040; font-weight: 400; } blockquote cite { color: #000; font-size: 1.000rem; display: block; font-style: normal; font-weight: 600; margin-top: 0.5rem; } q { quotes: "“" "”" "‘" "’"; } blockquote:before, blockquote:after { content: ""; } .wp-block-quote p { padding: 0; } a { color: #000; text-decoration: none; transition: all 0.3s; } a:focus { outline: thin dotted; text-decoration: none; } a:hover, a:active { color: #000; outline: 0; text-decoration: none; } address { margin: 0 0 1.6rem; line-height: 2; } pre { background: #f6f6f6; margin-bottom: 2rem; max-width: 100%; overflow: auto; padding: 1rem; } hr { background-color: #e9e9e9; border: 0; height: 1px; margin: 0.438rem 0 2.063rem; } code, kbd, tt, var { font-size: 1rem; } abbr, acronym { border-bottom: 1px dotted #e9e9e9; cursor: help; } mark, ins { background: #fff9c0; color: #000; text-decoration: none; padding: 0 0.350rem; } big { font-size: 125%; } iframe { border: 0; } #wrapper { background-color: #ffffff; margin: 0px auto; } /*-------------------------------------------------- =>> Forms, Buttons, Input Fields --------------------------------------------------*/ label { color: #404040; display: block; font-weight: 700; margin-bottom: 0.5rem; } fieldset { margin-bottom: 1em; } input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, select { color: #404040; background: #fff; background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); border: 1px solid #e9e9e9; -webkit-border-radius: 0px; border-radius: 0px; display: block; padding: 0.825rem 1rem; width: 100%; outline: 0; -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; -ms-transition: all 0.30s ease-in-out; -o-transition: all 0.30s ease-in-out; } input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus, select:focus { color: #404040; } input[type="radio"], input[type="checkbox"] { margin-right: 0.5em; } input[type="radio"] + label, input[type="checkbox"] + label { font-weight: 400; } button, input[type="button"], input[type="submit"] { border: 0; -webkit-border-radius: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; color: #fff; cursor: pointer; display: inline-block; font-size: 0.938rem; font-weight: 600; line-height: 1; padding: 1.05rem 2.813rem; height: 3.125rem; text-shadow: none; -webkit-transition: background 0.2s; transition: background 0.2s; } input + button, input + input[type="button"], input + input[type="submit"] { padding: 0.75em 2em; } button.secondary, input[type="reset"], input[type="button"].secondary, input[type="reset"].secondary, input[type="submit"].secondary { background-color: #ddd; color: #222; } button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus { background: #000; } button.secondary:hover, button.secondary:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="button"].secondary:hover, input[type="button"].secondary:focus, input[type="reset"].secondary:hover, input[type="reset"].secondary:focus, input[type="submit"].secondary:hover, input[type="submit"].secondary:focus { background: #bbb; } .form-control { color: #404040; border: 1px solid #e9e9e9; border-radius: 0; } .form-control:focus { border-color: #e9e9e9; } ::-webkit-input-placeholder { color: #404040; } :-moz-placeholder { color: #404040; } ::-moz-placeholder { color: #404040; } :-ms-input-placeholder { color: #404040; } html { overflow-y: scroll; overflow-x: hidden; -ms-overflow-style: scrollbar; } html { font-size: 16px; } @media (min-width: 768px) and (max-width: 992px) { html { font-size: 14px; } } @media (min-width: 100px) and (max-width: 768px) { html { font-size: 13px; } } /*-------------------------------------------------- =>> Theme Core Buttons --------------------------------------------------*/ .btn-small { min-width: 10rem; font-size: 0.938rem; padding: 0.713rem 2.5rem; } .btn-ex-small { font-size: 0.938rem; padding: 0.613rem 1.6rem; line-height: 1; } .btn-small, .btn-ex-small { display: inline-block; -webkit-font-smoothing: antialiased; position: relative; letter-spacing: 0; border-radius: 0; text-align: center; transition: .3s; font-weight: 600; } .btn-default { color: #ffffff; } .btn-default:hover, .btn-default:focus { background: #000; color: #fff; } .btn-light { background: #ffffff; color: #000; } .btn-light:hover, .btn-light:focus { background: #000; color: #ffffff; } .btn-default-dark { color: #ffffff; } .btn-default-dark:hover, .btn-default-dark:focus { background: #000; color: #fff !important; } .btn-border { background: #ffffff; color: #000; } .btn-border:hover, .btn-border:focus { color: #ffffff; } /*-------------------------------------------------- =>> List Styles --------------------------------------------------*/ ul, ol { margin: 0 0px 1.6rem 2.250rem; padding: 0; } ul { list-style: disc; } ol { list-style: decimal; } li > ul, li > ol { margin-bottom: 0; margin-left: 1.6rem; } dt { font-weight: 700; } dd { margin: 0 1.6rem 1.6rem; } /*-------------------------------------------------- =>> Tables --------------------------------------------------*/ table, th, td { border: 1px solid #e9e9e9; } table { border-collapse: collapse; margin: 0 0 1.5em; width: 100%; word-wrap: break-word; } thead th { border-bottom: 2px solid #e9e9e9; } th { background: #f6f6f6; color: #000;padding: 0.5rem 0.7rem; text-align: left; } td { padding: 0.5rem 0.7rem; } /* th a, */ /* td a { */ /* box-shadow: none !important; */ /* } */ .widget td a:hover, .widget td a:focus, td a:hover, td a:focus { color: #000; box-shadow: none; } /*-------------------------------------------------- =>> Theme Combined Classes --------------------------------------------------*/ .container-full { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 576px) { .container-full { max-width: 540px; } } @media (min-width: 768px) { .container-full { max-width: 720px; } } @media (min-width: 992px) { .container-full { max-width: 1500px; } } @media (min-width: 1200px) { body.theme-boxed .container-full { max-width: 1470px; padding-left: 15px; padding-right: 15px; } } .theme-text-center { text-align: center !important; } .theme-text-left { text-align: left !important; } .theme-text-right { text-align: right !important; } .theme-bg-grey { background-color: #f3f3f3 !important; } .theme-bg-dark { background-color: #000 !important; } .theme-bg-light { background-color: #fff !important; } .text-dark { color: #000 !important; } .text-grey { color: #838383 !important; } .theme-b-top { border-top: 1px solid #e9e9e9 !important; } .theme-b-bottom { border-bottom: 1px solid #e9e9e9 !important; } .theme-b-left { border-left: 1px solid #e9e9e9 !important; } .theme-b-right { border-right: 1px solid #e9e9e9 !important; } .img-circle { border-radius: 50%; } .theme-block { position: relative; padding: 6rem 0 3.125rem; } body.custom-background #wrapper { background-color: transparent; } body.custom-background .theme-bg-grey, body.custom-background .theme-services { background-color: transparent !important; } /*-------------------------------------------------- =>> Theme Social Icons --------------------------------------------------*/ .custom-social-icons { margin: 0; padding: 0; } .custom-social-icons li { display: inline-block; padding: 0.313rem 0.5rem; } .custom-social-icons li > a:before { display: none; } .custom-social-icons li > a { font-size: 0.938rem; line-height: 2; transition: all 0.3s; display: block; color: #fff; border-radius: 0; cursor: pointer; box-shadow: none; margin: 0; padding: 0px; text-align: center; } .custom-social-icons li a i { padding: 0; } /*-------------------------------------------------- =>> WooCommerce Menubar Cart Info --------------------------------------------------*/ .themes-header-top { display: inline-block; padding: 1.900rem 0; } .woo-cart-block { line-height: 1; position: relative; margin-right: 0.938rem; background: transparent; border-radius: 0; display: inline-block; border-left: 1px solid #cfddea; padding-left: 1.875rem; } @media (min-width: 992px) { .woo-cart-block { margin-top: 5px; margin-bottom: 5px; } } .woo-cart-block > a.cart-icon { -wekbit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; display: inline-block; font-size: 1.375rem; line-height: 1.3; color: #000; padding: 0; } .woo-cart-block > a .cart-total { font-size: 0.688rem; line-height: 1.7; color: #ffffff; text-align: center; font-weight: 600; position: absolute; right: -14px; top: -5px; padding: 1px; width: 1.25rem; height: 1.25rem; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -wekbit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; } @media (max-width: 991px) { .woo-cart-block { border-left: none; padding-left: 0px; margin-top: 1.25rem; margin-bottom: 0.938rem; } .pl-4 { margin-top: 0.938rem; } } /*-------------------------------------------------- =>> Site Header Contact Info --------------------------------------------------*/ .site-header { position: relative; min-height: 50px; padding-top: 0.313rem; padding-bottom: 0.313rem; } .site-header .widget { color: #fff; box-shadow: none; padding: 0; margin: 0; } .site-header .widget:last-child { margin: 0; } .theme-contact-block { padding: 0.313rem 0 0.313rem; margin: 0px; display: block; } .theme-contact-block li { display: inline-block; margin: 0; padding-right: 2.5rem; color: #ffffff; font-size: 0.938rem; position: relative; } .theme-contact-block li:last-child { padding-right: 0; } .theme-contact-block li a, .theme-contact-block li a:hover, .theme-contact-block li a:focus { color: #ffffff; } .theme-contact-block i { color: #fff; padding-right: 0.625rem; padding-left: 0.063rem; font-size: 1.125rem; vertical-align: text-bottom; } @media (max-width: 768px) { .site-header { padding: 0.875rem 0; } .theme-contact-block { text-align: center; } .theme-contact-block li { margin: 0 0 0.625rem; } .custom-social-icons { text-align: center; } .custom-social-icons li { padding: 0; } } @media (max-width: 500px) { .theme-contact-block li { display: block; padding-right: 0; } .theme-contact-block li::after { display: none; } } @media (min-width: 768px) { .site-header .widget .custom-social-icons { float: right; } } /*-------------------------------------------------- =>> Classic Header --------------------------------------------------*/ .classic-header .site-header { background: transparent; } /*-------------------------------------------------- =>> Theme Main Slider --------------------------------------------------*/ .theme-main-slider { position: relative; box-shadow: 0 1px 2px rgba(0,0,0,.05); z-index: 1; } .theme-slider-content .title-large, .theme-slider-content .description { color: #fff; } .theme-main-slider .overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; background-color: rgba(0, 0, 0, .35); } #theme-main-slider { margin: 0px; } #theme-main-slider .item { position: relative; background-color: #fff; background-repeat: no-repeat; background-position: center center; width: 100%; z-index: 0; background-size: cover; height: 800px; } .theme-slider-content { height: auto; margin: 0 auto; padding-top: 0; padding-bottom: 0; position: absolute; z-index: 1; top: 50%; left: 0; right: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .theme-slider-content .theme-text-left, .theme-slider-content .theme-text-right, .theme-slider-content .theme-text-center { width: 55%; } .theme-text-right.align-right { float: right; } .theme-text-center.align-center { margin: 0 auto; } .theme-slider-content .title-large { font-size: 3.55rem; line-height: 1.2; text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); font-weight: 700; margin-bottom: 1.25rem; } .theme-slider-content .title-small { letter-spacing: 0.313rem; font-size: 1.2rem; font-weight: 600; margin-bottom: 0.625rem; } .theme-slider-content .description { font-size: 1.125rem; padding: 0; } .theme-slider-content .btn-combo .btn-small { margin-left: 0.313rem; margin-right: 0.313rem; } @media only screen and (max-width: 768px) { .theme-slider-content .theme-text-left, .theme-slider-content .theme-text-right, .theme-slider-content .theme-text-center { width: 100%; } .theme-slider-content .title-large { font-size: 3.000rem; margin: 0 0 1.000rem; } .theme-slider-content br { display: none; } } /*Slider Content Animation*/ .owl-item.active .theme-slider-content .title-small { animation: 1s .3s fadeInDown both; } .owl-item.active .theme-slider-content .title-large { animation: 1s .4s fadeInDown both; } .owl-item.active .theme-slider-content .description { animation: 1s .6s fadeInUp both; } .owl-item.active .theme-slider-content .mt-5, .owl-item.active .theme-slider-content .mt-4 { animation: 1s .9s fadeInUp both; } /*-------------------------------------------------- =>> Slider Next/Prev Button Styles --------------------------------------------------*/ .owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next { display: inline-block; opacity: 0; background-color: rgba(0,0,0,.1); border: 2px solid rgba(255,255,255,.45); color: #fff; font-size: 1.2rem; line-height: 1.9; padding: 0 !important; margin: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 2.5rem; height: 2.5rem; z-index: 10; overflow: hidden; cursor: pointer; text-align: center; -webkit-transition: all .3s; -moz-transition: all .3s; transition: all .3s; } .owl-carousel .owl-prev { left: 0px; } .owl-carousel .owl-next { right: 0px; } .owl-carousel:hover .owl-prev { left: 30px; opacity: 1; } .owl-carousel:hover .owl-next { right: 30px; opacity: 1; } .owl-carousel .owl-prev:hover, .owl-carousel .owl-prev:focus { color: #fff; outline: 0; } .owl-carousel .owl-next:hover, .owl-carousel .owl-next:focus { color: #fff; outline: 0; } @media (max-width: 768px) { .owl-carousel .owl-prev { left: 0px; } .owl-carousel .owl-next { right: 0px; } .owl-carousel:hover .owl-prev { left: 15px; opacity: 1; } .owl-carousel:hover .owl-next { right: 15px; opacity: 1; } } /*-------------------------------------------------- =>> Theme Info Area --------------------------------------------------*/ .navbar ~ #theme-info-area, .theme-block ~ #theme-info-area, .theme-funfact ~ #theme-info-area, .theme-cta ~ #theme-info-area, .theme-sponsors ~ #theme-info-area { margin-top: 0 !important; } .theme-main-slider ~ #theme-info-area { margin-top: -58px !important; } .theme-info-area { border-radius: 0; position: relative; z-index: 1; } @media only screen and (max-width: 768px){ .theme-info-area { margin-top: 0; border-radius: 0; } .theme-info-area .media { margin-bottom: 1.25rem; } } .theme-info-area .media { padding: 1.700rem 0.800rem; background: #ffffff; box-shadow: 0 15px 45px -5px rgba(0,0,0,.10); transition: all .3s ease; } .theme-info-area .media:hover { opacity: 1; box-shadow: 0 15px 45px -5px rgba(7,10,25,.25); -webkit-filter: brightness(1.07); filter: brightness(1.07); transform: translate(0,-3px); border-bottom: 3px solid #000; } .theme-info-area .media-body { padding-left: 1rem; } .theme-info-area i.icon { border-radius: 0; width: 3.75rem; height: 3.75rem; font-size: 3rem; line-height: 1.2; text-align: center; padding: 0; margin-top: -0.125rem; position: relative; -webkit-transition: .3s cubic-bezier(.53,.645,.51,1.34); -o-transition: .3s cubic-bezier(.53,.645,.51,1.34); transition: .3s cubic-bezier(.53,.645,.51,1.34); } .theme-info-area .media:hover i.icon, .theme-info-area .media i.icon.active { color: #000; } .theme-info-area-title { margin-bottom: 0.200rem; font-weight: 600; font-size: 1.375rem; } /*-------------------------------------------------- =>> Theme Page Header Area --------------------------------------------------*/ .theme-page-header-area { position: relative; padding: 4rem 0; width: 100%; height: 100%; } .theme-page-header-area:after { background: url("./assets/img/shadow.png") no-repeat; z-index: 1; background-position: center bottom; content: ''; position: absolute; bottom: -31px; left: 0; right: 0; height: 31px; } .theme-page-header-area { padding: 12.5rem 0 7rem 0; } .theme-page-header-area .overlay { background-color: rgba(0, 0, 0, 0.60); position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; } .page-header-title { position: relative; word-wrap: break-word; } .page-header-title h1 { font-size: 3.2rem; margin: 0; } /*-------------------------------------------------- =>> Theme Breadcrumbs Area --------------------------------------------------*/ .page-breadcrumb { list-style: none; margin: 0; padding: 0.825rem 0 0; font-weight: 600; } .page-breadcrumb.text-right { padding-top: 0.713rem; padding-bottom: 0.713rem; } .page-breadcrumb > li { color: #fff; display: inline-block; } .page-breadcrumb > li + li:before { color: #fff; font-family: fontAwesome; content: "\f105"; padding: 0 0.625rem 0 0.625rem; font-weight: 600; } .page-breadcrumb > li a { color: #fff; } .page-breadcrumb > li a:hover, .page-breadcrumb > li.active { color: #fff; } @media (max-width: 768px) { .page-header-title, .page-breadcrumb.text-right { text-align: center !important; } } /*-------------------------------------------------- =>> Theme Section Title & Subtitle --------------------------------------------------*/ .theme-section-module { margin: -0.313rem auto 3.75rem; padding: 0; position: relative; } .theme-section-module .theme-section-title { margin: 0 0 1.20rem; font-size: 2.5rem; line-height: 1.2; font-weight: 600; } .theme-section-module .theme-section-title b { font-weight: 600; } .theme-section-module .theme-section-subtitle { font-size: 1rem; color: #404040; margin: 0; padding: 0 0 1.55rem; } .theme-separator-line-horrizontal-full { width: 100%; height: 0.20rem; width: 5rem; float: none; margin-left: auto; margin-right: auto; margin-top: 0; } .theme-section-module .theme-section-title.small { font-size: 2.5rem; } @media only screen and (min-width: 768px) { .theme-section-module { max-width: 600px; } } /*-------------------------------------------------- =>> Theme Service Area --------------------------------------------------*/ .theme-services { background-color: #ffffff; } .theme-services .service-content { background-color: #ffffff; position: relative; margin: 0 0 2.5rem; padding: 2.5rem 2.5rem 2.5rem; -webkit-box-shadow: 0px 15px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0px 15px 98px 0 rgba(0,0,0,.1); box-shadow: 0px 15px 98px 0 rgba(0,0,0,.1); transition: all .15s ease; -webkit-transition: all .15s ease; -moz-transition: all .15s ease; -ms-transition: all .15s ease; } .theme-services .service-content-thumbnail { position: relative; transition: all .15s ease; margin: 0 auto 1.100rem; } .theme-services .service-content-thumbnail img { border-radius: 0; } .theme-services .service-content-thumbnail a { position: relative; z-index: 1; } .theme-services .service-content-thumbnail i.fa { font-size: 3.125rem; line-height: 1.2; position: relative; box-shadow: 0px 0px 0px 1px transparent; } .theme-services .service-title { margin: 0; padding: 0 0 1.125rem; font-weight: 600; } .theme-services .service-title a { position: relative; z-index: 1; transition: all .15s ease; } .service-content p, .service-content-two p { margin: 0; padding: 0; } .service-links { position: relative; margin-top: 0.938rem; } .service-links a { font-size: 0.938rem; color: #000; font-weight: 600; transition: all .15s ease; } .theme-services .service-content:hover .service-title a, .theme-services .service-content:hover p, .theme-services .service-content:hover .service-links a, .theme-services .service-content:hover .service-content-thumbnail a, .theme-services .service-content:hover .service-content-thumbnail i.fa { color: #fff; } .service-links a:after { font-family: FontAwesome; content: "\f178"; padding-left: 0.5rem; font-weight: 400; } /*-------------------------------------------------- =>> Theme Project Area --------------------------------------------------*/ .theme-project .theme-project-content { background-color: #fff; position: relative; overflow: hidden; margin: 0 0 3.125rem; border-radius: 0; border: none; width: 100%; text-align: left; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; -webkit-box-shadow: 0 12px 40px -12px rgba(0,0,0,.30); -moz-box-shadow: 0 12px 40px -12px rgba(0,0,0,.30); box-shadow: 0 12px 40px -12px rgba(0,0,0,.30); } .theme-project .theme-project-content:hover { box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .theme-project .theme-project-content *, .theme-project .theme-project-content *:before, .theme-project .theme-project-content *:after { -webkit-box-sizing: border-box; box-sizing: border-box; } .theme-project .portfolio-thumbnail { position: relative; overflow: hidden; margin: 0; text-align: center; z-index: 1; } .portfolio-thumbnail img { -webkit-transition: all 0.30s linear; transition: all 0.30s linear; } .theme-project .theme-project-content .content-overlay { background: rgba(0, 0, 0, 0.75); position: absolute; height: 100%; width: 100%; left: 0; top: 0; bottom: 0; right: 0; opacity: 0; -webkit-transition: all 0.3s ease-in-out 0s; -moz-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; } .theme-project .theme-project-content:hover .content-overlay { opacity: 1; } .theme-project .theme-project-content .content-overlay::before { bottom: 15px; content: ""; left: 15px; opacity: 0; position: absolute; right: 15px; top: 15px; -o-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; -webkit-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; -moz-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; z-index: 1; border-bottom: 1px solid #fff; border-top: 1px solid #fff; -o-transform: scale(0, 1); -webkit-transform: scale(0, 1); -moz-transform: scale(0, 1); transform: scale(0, 1); } .theme-project .theme-project-content .content-overlay::after { bottom: 15px; content: ""; left: 15px; opacity: 0; position: absolute; right: 15px; top: 15px; -o-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; -webkit-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; -moz-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; z-index: 1; border-left: 1px solid #fff; border-right: 1px solid #fff; -o-transform: scale(1, 0); -webkit-transform: scale(1, 0); -moz-transform: scale(1, 0); transform: scale(1, 0); } .theme-project .theme-project-content:hover .content-overlay::before, .theme-project .theme-project-content:hover .content-overlay::after { opacity: 1; -o-transform: scale(1); -webkit-transform: scale(1); -moz-transform: scale(1); transform: scale(1); } .theme-project .theme-project-content .click-view { margin: 0; padding: 2rem; position: absolute; width: 100%; top: 5%; left: 0; right: 0; opacity: 0; -webkit-transition: all 0.3s ease-in-out 0s; -moz-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; z-index: 1; } .theme-project .theme-project-content:hover .click-view { top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); opacity: 1; } .theme-project .theme-project-content .theme-project-title { margin: 0 0 0.625rem; font-weight: 600; font-size: 1.375rem; } .theme-project .theme-project-content .theme-project-title, .theme-project .theme-project-content .theme-project-title a { color: #fff; } .theme-project .theme-project-content .click-view .theme-project-title a, .theme-project .theme-project-content .click-view .theme-project-title a:hover { background-color: transparent; width: auto; height: auto; font-size: 1.375rem; line-height: 1.4; font-weight: 600; } .theme-project .theme-project-content:hover .theme-project-title, .theme-project .theme-project-content:hover .theme-project-title a, .theme-project .theme-project-content:focus .theme-project-title a { color: #fff; } .theme-project .theme-project-content p { font-size: 0.938rem; margin: 0; padding: 0; color: #fff; } .theme-project .theme-project-content a.popup { font-size: 1.1rem; line-height: 2.3; font-weight: 100; display: inline-block; background-color: #fff; margin: 0; padding: 1px 0.625rem; opacity: 0; border-radius: 0; height: 2.813rem; text-decoration: none; text-align: center; color: #000; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; z-index: 1; position: absolute; width: 2.813rem; top: 15px; right: 15px; -webkit-transform: translateX(2.813rem); transform: translateX(2.813rem); } .theme-project .theme-project-content:hover a.popup { -webkit-transform: translateX(0); transform: translateX(0); -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; opacity: 1; } .theme-project .theme-project-content a.popup:hover, .theme-project .theme-project-content a.popup:focus { color: #fff; } /*-------------------------------------------------- =>> Theme Testimonial Area --------------------------------------------------*/ .theme-testimonial { height: 100%; margin: 0; overflow: hidden; width: 100%; position: relative; } .theme-testimonial-block { background-color: transparent; position: relative; text-align: center; margin: 0 0 1.875rem; padding: 0rem 1.25rem 0rem; font-size: unset; transition: all 0.3s; } .theme-testimonial-block .thumbnail { margin: 0 auto 2rem; width: 6.25rem; height: 6.25rem; position: relative; } .theme-testimonial-block .thumbnail img { margin: 0.125rem; } @media (min-width: 992px) { .testimonial-content { width: 80%; margin: 0 auto; } } .testimonial-content { position: relative; padding: 0; font-size: 1.375rem; } .testimonial-content p { font-size: 1.375rem; } .theme-testimonial-block .name { color: #000; font-size: 1.25rem; font-weight: 600; font-style: normal !important; margin: 0px 0 -3px; display: block; } .theme-testimonial-block .position { font-size: 1rem; } /*-------------------------------------------------- =>> Theme CTA --------------------------------------------------*/ .theme-cta { position: relative; width: 100%; height: 100%; padding: 6.25rem 0 3.125rem; background-image: url("./assets/img/cta/theme-cta-bg.jpg"); background-position: center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; background-color: #000; } .theme-cta-overlay{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; background-color: rgba(0, 0, 0, 0.7); } .cta-block { padding-bottom: 3.125rem; } @media (min-width: 992px){ .cta-block { width: 80%; margin: 0 auto; } } .theme-cta .title { font-size: 3rem; font-weight: 500; text-shadow: 0px 1px 7px rgba(0, 0, 0, 0.5); margin: 0 0 1.25rem; } .theme-cta .small-title { text-shadow: 0px 1px 7px rgba(0, 0, 0, 0.5); margin: 0 0 0.313rem; } /*-------------------------------------------------- =>> About Page Area --------------------------------------------------*/ .about-thumbnail { margin-bottom: 3.125rem; } .theme-about-block { padding-left: 3.125rem; padding-bottom: 3.125rem; } .theme-about .theme-section-module { margin: 0 0 1.125rem; } @media (min-width: 768px) and (max-width: 992px) { .theme-about-block { padding-left: 1.25rem; } } @media (max-width: 768px) { .theme-about-block { padding-left: 0; } } .theme-about .theme-info-area { background-color: transparent; padding: 0; margin-top: 0rem; box-shadow: none; } .theme-about .theme-info-area .media { padding: 1.875rem 0; } /*-------------------------------------------------- =>> Contact Form 7 Area --------------------------------------------------*/ .wpcf7-form { padding: 0 0 3.125rem; } .wpcf7-form p { margin: 0 0 1.2rem; padding: 0; } .wpcf7-form p:last-child { margin: 0; } .wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="url"], .wpcf7-form input[type="password"], .wpcf7-form input[type="search"], .wpcf7-form input[type="number"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="range"], .wpcf7-form input[type="date"], .wpcf7-form input[type="month"], .wpcf7-form input[type="week"], .wpcf7-form input[type="time"], .wpcf7-form input[type="datetime"], .wpcf7-form input[type="datetime-local"], .wpcf7-form input[type="color"] { height: 3.125rem; } .wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="url"], .wpcf7-form input[type="password"], .wpcf7-form input[type="search"], .wpcf7-form input[type="number"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="range"], .wpcf7-form input[type="date"], .wpcf7-form input[type="month"], .wpcf7-form input[type="week"], .wpcf7-form input[type="time"], .wpcf7-form input[type="datetime"], .wpcf7-form input[type="datetime-local"], .wpcf7-form input[type="color"], .wpcf7-form textarea { margin-top: 0.375rem; } .wpcf7-form input[type="submit"] { margin-top: 0.313rem; } /*-------------------------------------------------- =>> 404 Error Page Area --------------------------------------------------*/ .theme-error-page { padding: 7rem 0 10rem; } .theme-error-page .error-title { font-size: 20.625rem; line-height: 1; letter-spacing: 0.938rem; margin-bottom: 1.25rem; font-weight: 300; } .theme-error-page .error-title b { font-weight: 600; } .theme-error-page .error-title i { font-size: 18rem; } .theme-error-page .error-sub-title { font-size: 2.25rem; letter-spacing: 0.2rem; margin-bottom: 0.938rem; } .theme-error-page .btn-small { font-weight: 700; } @media (max-width: 768px) { .theme-error-page { padding: 9rem 0 11.5rem; } .theme-error-page .error-title { font-size: 15rem; } } /*-------------------------------------------------- =>> Theme Blog Area - Homepage One News --------------------------------------------------*/ .theme-blog { margin: 0; padding-bottom: 2.5rem; width: 100%; } .theme-blog .post { background-color: #ffffff; margin: 0 0 2.5rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .entry-content { overflow: hidden; } .theme-blog .post-thumbnail { position: relative; overflow: hidden; margin: 0 0 1.25rem; } .theme-blog .post-thumbnail img { width: 100%; opacity: 1; } .theme-blog .post-thumbnail img { -webkit-transition: transform 2s, filter 1.5s ease-in-out; -moz-transition: transform 2s, filter 1.5s ease-in-out; -o-transition: transform 2s, filter 1.5s ease-in-out; -ms-transition: transform 2s, filter 1.5s ease-in-out; transition: transform 2s, filter 1.5s ease-in-out; transform-origin: center center; } .theme-blog .post:hover .post-thumbnail img { -webkit-transform: translateY(0px); transform: translateY(0px); transform: scale(1.15,1.15); -webkit-transform: scale(1.15,1.15); -moz-transform: scale(1.15,1.15); -ms-transform: scale(1.15,1.15); -o-transform: scale(1.15,1.15); } .theme-blog .post .entry-header { position: relative; margin: 0 0 0.938rem; } .theme-blog .post .entry-title { margin: 0; font-size: 1.375rem; font-weight: 600; word-break: break-word; white-space: normal; } .entry-content img { max-width: 100%; height: auto; display: block; } .entry-content figure { width: auto !important; } .entry-content a { box-shadow: 0 1px 0 0 currentColor; } .entry-content a:hover, .entry-content a:focus { color: #000; box-shadow: none; } /*-------------------------------------------------- =>> Theme Blog Sidebar --------------------------------------------------*/ .theme-blog.theme-blog-large .post .entry-title { font-size: 2.125rem; } /*-------------------------------------------------- =>> Theme Blog Meta Info --------------------------------------------------*/ .entry-meta { font-weight: 500; font-size: 0.938rem; margin: 0 0 1.10rem; width: 100%; } .entry-meta > span { color: #838383; margin: 0 1.25rem 0 0; } .entry-meta a { color: #838383; padding: 0; display: inline-block; } .entry-meta .cat-links a { color: #fff; line-height: 1; padding: 0.25rem 0.438rem; } .entry-meta .cat-links a:hover, .entry-meta .cat-links a:focus { background-color: #000; color: #fff !important; } .entry-meta .cat-links a:last-child::after { display: none; } /*Meta Icons*/ .entry-meta .posted-on::before, .entry-meta .author::before, .entry-meta .cat-links::before, .entry-meta .comment-links::before { font-family: FontAwesome; margin-right: 0.438rem; margin-left: 0.063rem; } .entry-meta .posted-on::before { content: "\f017"; } .entry-meta .author::before { content: "\f2c0"; } .entry-meta .comment-links::before { content: "\f0e6"; } /*Sticky Post*/ .entry-meta .sticky-post { background-color: #e6e6e6; color: black; padding: 0.10rem 0.438rem; margin-right: 0rem; } /*Meta Tags*/ .entry-meta .tag-links a { background-color: #eeeeee; border: 1px solid #eeeeee; color: #000; font-size: 0.875rem; display: inline-block; padding: 0.188rem 0.825rem; margin: 0 0.325rem 0.438rem 0px; border-radius: 0px; } .entry-meta .tag-links a:hover, .entry-meta .tag-links a:focus { color: #fff !important; } /*Edit Post*/ .edit-link .post-edit-link { font-weight: 600; color: #404040; padding-bottom: 0.125rem; } .edit-link .post-edit-link:hover { text-decoration: underline; } /*More Link*/ .entry-content .more-link { font-size: 0.938rem; color: #000; font-weight: 600; transition: all 0.3s; box-shadow: none; display: inline-block; } .entry-content .more-link:hover, .entry-content .more-link:focus { letter-spacing: .07rem; } .entry-content .more-link:after { font-family: FontAwesome; content: "\f178"; padding-left: 0.5rem; font-weight: 400; } /*Pagination*/ .pagination { margin: 0 0 3.125rem; display: block; padding: 0; text-align: center; } .pagination a, .page-links a, .post-nav-links a, .post-nav-links .post-page-numbers.current { background-color: #ffffff; border: 1px solid #e9e9e9; color: #000; cursor: pointer; display: inline-block; line-height: 1.5; font-weight: 600; transition: all 0.3s ease 0s; font-size: 1.125rem; border-radius: 5px; margin: 0 0.125rem 0.625rem; padding: 0.625rem; vertical-align: baseline; white-space: nowrap; width: 3.125rem; height: 3.125rem; box-shadow: none; text-align: center; } .pagination a:hover, .pagination a.active, .page-links a:hover, .post-nav-links a:hover, .post-nav-links .post-page-numbers.current { color: #fff; } .pagination .nav-links .page-numbers.current { color: #fff; } .navigation.pagination .nav-links .page-numbers, .navigation.pagination .nav-links a { border: 1px solid #e9e9e9; cursor: pointer; display: inline-block; line-height: 1.5; font-weight: 600; transition: all 0.3s ease 0s; font-size: 1.125rem; border-radius: 5px; margin: 0 0.125rem 0.625rem; padding: 0.625rem; vertical-align: baseline; white-space: nowrap; width: 3.125rem; height: 3.125rem; } /*-------------------------------------------------- =>> Theme Blog Single Area --------------------------------------------------*/ /*Related Posts*/ .theme-related-posts { background-color: #ffffff; margin: 0 0 2.5rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .theme-blog.theme-blog-large .theme-related-posts .post { margin-bottom: 0.625rem; border: 1px solid #e9e9e9; box-shadow: none; } .theme-blog.theme-blog-large .theme-related-posts .post .entry-meta { font-size: 0.875rem; margin: 0 0 0.75rem; } .theme-blog.theme-blog-large .theme-related-posts .post .entry-title { font-size: 1.375rem; } .theme-blog.theme-blog-large .theme-related-posts .post .entry-header { margin-bottom: 0; } .theme-blog.theme-blog-large .theme-related-posts .post .entry-header::before { display: none; } /*Blog Author*/ .theme-blog-author { background-color: #ffffff; margin: 0 0 2.5rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .theme-blog-author .avatar { margin: 0 1.875rem 0px 0; height: 9.375rem; width: 9.375rem; } .theme-blog-author .name { margin: 0 0 0.425rem; } .theme-blog-author .custom-social-icons li > a { color: #000; } .theme-blog-author .website-url { color: #000; } .theme-blog-author .website-url a { box-shadow: 0 1px 0 0 currentColor; } .theme-blog-author .website-url a:hover, .theme-blog-author .website-url a:focus { color: #000; box-shadow: none; } /*Comments*/ .theme-comment-section { background-color: #ffffff; margin: 0 0 3.125rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .theme-comment-title { display: block; } .theme-comment-title h3 { margin: 0 0 1.875rem; border-bottom: 1px solid #e9e9e9; padding-bottom: 0.625rem; } .comment-box { margin: 0; position: relative; } .comment-detail { border-bottom: 1px solid #e9e9e9; margin: 0 0 2rem; padding-bottom: 2rem; } .pull-left-comment { float: left; margin-right: 1.875rem; width: 5.25rem; height: 5.25rem; } .pull-left-comment img { border-radius: 50%; } .comment-detail-title { margin: 0; font-size: 1.250rem; } .comment-date { font-size: 0.938rem; font-weight: 400; margin: 0 0 0.625rem; } .comment-date a { color: #838383; box-shadow: 0 1px 0 0 currentColor; } .comment-date a:hover, .comment-date a:focus { color: #000; box-shadow: none; } .comment-detail p { margin-bottom: 1.5rem; margin-top: 1rem; padding: 0; } .comment-detail p a { box-shadow: 0 1px 0 0 currentColor; } .comment-detail p a:hover, .comment-detail p a:focus { color: #000; box-shadow: none; } .reply a { color: #000; font-size: 0.875rem; padding: 0.150rem 1rem; font-weight: 600; transition: 0.3s ease-in-out 0s; letter-spacing: 0.033rem; background-color: #fff; border-radius: 0; display: inline-block; } .reply a:hover, .reply a:focus { color: #ffffff; } .logged-in-as a { box-shadow: 0 1px 0 0 currentColor; } .logged-in-as a:hover, .logged-in-as a:focus { color: #000; box-shadow: none; } .logged-in-color { background-color: #ffffff; margin: 0 0 2.5rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0, 0, 0, .1); -moz-box-shadow: 0 25px 98px 0 rgba(0, 0, 0, .1); box-shadow: 0 25px 98px 0 rgba(0, 0, 0, .1); } .logged-in-color a { box-shadow: 0 1px 0 0 currentColor; } .form-submit { padding-bottom: 1rem; } /*Comment Form*/ .theme-comment-form { background-color: #ffffff; margin: 0 0 3.125rem; padding: 1.25rem 1.25rem 1.25rem; transition: all 0.3s; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .form-group input[type="text"], .form-group input[type="email"] { height: 3.125rem; } .theme-comment-form span.required { padding-left: 0.188rem; color: #ff0000; } .theme-comment-form .comment-form-cookies-consent label { display: inline-block; font-size: 0.875rem; } /*-------------------------------------------------- =>> Theme Widgets Area --------------------------------------------------*/ .sidebar .widget { background-color: #fff; padding: 1.563rem 1.25rem 1.563rem; -webkit-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); box-shadow: 0 25px 98px 0 rgba(0,0,0,.1); } .widget { color: #404040; padding: 1.563rem 1.375rem 1.563rem; margin: 0 0 2.5rem; } .widget:last-child { margin-bottom: 3.75rem; } .widget .widget-title { position: relative; color: #fff; margin-bottom: 2.125rem; padding-bottom: 0.525rem; font-weight: 600; font-size: 1.375rem; } .sidebar .widget .widget-title { color: #000; margin-bottom: 1.563rem; padding-bottom: 0.625rem; border-bottom: 1px solid #e9e9e9; } .widget .widget-title:after { content: ""; width: 50px; height: 2px; bottom: -1px; left: 0; position: absolute; z-index: 1; } .sidebar .widget .widget-title a.rsswidget { color: #000; } .widget li > ul, .widget li > ol { margin-left: 1.000rem; padding: 0.563rem 0 0 !important; } .widget li ul li:last-child { padding-bottom: 0 !important; } .widget_archive ul, .widget_categories ul, .widget_links ul, .widget_meta ul, .widget_nav_menu ul, .widget_pages ul, .widget_recent_comments ul, .widget_recent_entries ul { list-style: none; margin-left: 0; margin-bottom: 0; padding: 0; } .widget_archive li, .widget_categories li, .widget_links li, .widget_meta li, .widget_nav_menu li, .widget_pages li, .widget_recent_comments li, .widget_recent_entries li { padding-left: 0px !important; padding-top: 0.625rem; padding-bottom: 0.625rem; border-bottom: 1px dotted rgba(0, 0, 0, 0.1); position: relative; } .widget_archive li:first-child, .widget_categories li:first-child, .widget_links li:first-child, .widget_meta li:first-child, .widget_nav_menu li:first-child, .widget_pages li:first-child, .widget_recent_comments li:first-child, .widget_recent_entries li:first-child { padding-top: 0; } .widget_archive li:last-child, .widget_categories li:last-child, .widget_links li:last-child, .widget_meta li:last-child, .widget_nav_menu li:last-child, .widget_pages li:last-child, .widget_recent_comments li:last-child, .widget_recent_entries li:last-child { padding-bottom: 0px; border-bottom: none; } /*Calendar*/ .calendar_wrap table#wp-calendar { margin-bottom: 0; border: 1px solid #e9e9e9; } .calendar_wrap caption { caption-side: top; background-color: #e9e9e9; text-align: center; padding-top: 0.45rem; padding-bottom: 0.45rem; font-weight: 600; color: #000; } .calendar_wrap table#wp-calendar thead th { padding: 0.4rem; text-align: center; border-bottom: 2px solid #e9e9e9; } .calendar_wrap table#wp-calendar tbody td { padding: 0.4rem; text-align: center; } /*Search*/ .widget input[type="text"] { padding: 0.740rem 1rem; } .widget button[type="submit"], .btn-success { color: #fff; z-index: 0; border-radius: 0; } .widget button[type="submit"]:hover, .widget button[type="submit"]:focus, .btn-success:hover, .btn-success:focus { color: #fff; background-color: #000 !important; border-color: #000 !important; } .btn-success.focus, .btn-success:focus { box-shadow: 0 0 0 0.063rem rgba(0,0,0,.5) !important; } /*Recent Widget*/ .widget_recent_entries a { font-weight: 600; } .widget_recent_entries .post-date { font-size: 0.938rem; display: block; padding-top: 0.313rem; color: rgba(104, 104, 104, .7); } .widget img { max-width: 100%; height: auto; } /*Tags*/ .tagcloud { margin: 0; overflow: hidden; padding: 0; } .widget .tagcloud a { color: #fff !important; font-size: 0.875rem !important; display: inline-block; padding: 0.188rem 0.825rem; margin: 0 0.125rem 0.438rem 0px; border-radius: 0px; } .widget .tagcloud a:hover, .widget .tagcloud a:focus { background-color: #eee; color: #000 !important; } .sidebar .widget .tagcloud a:hover, .sidebar .widget .tagcloud a:focus { background-color: #000; color: #fff !important; } /*Text Widget*/ .sidebar .widget_text ul, .sidebar .widget_text ol { margin: 0 0px 1.6rem 1.125rem; padding: 0; } .sidebar .widget_text, .sidebar .widget_text p { font-weight: 400; } .textwidget a { box-shadow: 0 1px 0 0 currentColor; } .textwidget a:hover, .textwidget a:focus, .textwidget ul li a:hover, .textwidget ul li a:focus { color: #000 !important; box-shadow: none; } /*RSS Widget*/ .widget_rss ul { list-style: none; margin: 0; } .widget_rss ul li .rsswidget, .widget_rss ul li .rss-date { display: block; } .widget_rss ul li .rsswidget { font-weight: 600; } .widget_rss ul li .rssSummary { padding: 0.625rem 0; } .widget_rss ul li { padding-top: 0.625rem; padding-bottom: 0.625rem; border-bottom: 1px solid #f1f1f1; } .widget_rss ul li:first-child { padding-top: 0; } .widget_rss ul li:last-child { padding-bottom: 0; border-bottom: none; } .wp-block-latest-posts.wp-block-latest-posts__list { margin-left: 0; } .wp-block-latest-posts.wp-block-latest-posts__list li { margin-bottom: 1rem; } .wp-block-latest-comments { margin-left: 0; padding-left: 0rem; } .wp-block-button { margin: 0 0 1.563rem; } .has-large-font-size { padding-bottom: 0.500rem; } .post-password-form input[type="password"] { margin-top: 0.5rem; margin-bottom: 1rem; } .wp-block-button .wp-block-button__link { background: #32373c; border: 2px solid #32373c; } .wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus { background: transparent; border: 2px solid #32373c; color: #32373c; } .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 2px solid #32373c; color: #32373c; } .wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:focus { background: #32373c; border: 2px solid #32373c; color: #fff; } .wp-block-cover p.wp-block-cover-text { color: #fff; } .wp-block-cover.has-pale-pink-background-color p.wp-block-cover-text { color: #404040; } .wp-block-cover, .wp-block-cover-image { margin-bottom: 1.563rem; } .wp-block-archives-dropdown, .wp-block-categories-dropdown { margin-bottom: 1.563rem; } .wp-block-archives-dropdown select, .wp-block-categories-dropdown select { width: auto; } /*wp-block-calendar*/ .wp-block-calendar { margin-bottom: 1.563rem; } .wp-block-calendar table { margin-bottom: 0.500em; } .wp-block-calendar table caption { padding-top: 0; padding-bottom: 0.75rem; color: #000; text-align: left; caption-side: top; font-weight: 600; } .wp-block-calendar table th { font-weight: 600; } .wp-block-calendar table.wp-calendar-table td, .wp-block-calendar table.wp-calendar-table th { text-align: center; } .wp-block-calendar .wp-calendar-nav-next a, .wp-block-calendar .wp-calendar-nav-prev a { box-shadow: none; text-decoration: none; } .wp-block-calendar a { text-decoration: none; } /*wp-block-search*/ .wp-block-search__button-outside.wp-block-search { margin-bottom: 1.563rem; } .wp-block-search button, .wp-block-search input[type="button"], .wp-block-search input[type="submit"] { height: 3.500rem; } .wp-block-search .wp-block-search__button { color: #fff; } .wp-block-search .wp-block-search__button:hover, .wp-block-search .wp-block-search__button:focus { background: #000; border: 1px solid #000; color: #fff; } /*wp-block-group*/ .wp-block-group.has-background { margin-bottom: 1.563rem; padding: 1.875rem; } .wp-block-media-text { margin-bottom: 1.563rem; } /*wp-block-rss*/ ul.wp-block-rss { list-style: disc; } ul.wp-block-rss li.wp-block-rss__item { margin-bottom: 1rem; } ul.wp-block-rss li.wp-block-rss__item:last-child { margin-bottom: 0; } /*Page Image Alignments*/ body.page .entry-content p > img.wp-image-904.alignright { margin-top: 3rem; } /*wp-block-archives*/ .wp-block-archives, .wp-block-categories, .wp-block-latest-posts, .wp-block-latest-comments { list-style: none; margin-left: 0; } ul.wp-block-archives li { padding-bottom: 0.625rem; } ul.wp-block-archives li:last-child { padding-bottom: 0; } /*wp-block-pullquote*/ .wp-block-pullquote p { line-height: 1.3; } /*Monsterwidget-textwidget*/ .textwidget .wp-caption { padding: 0; } .textwidget p > img { margin-bottom: 1rem; margin-top: 1rem; } /*wp-calendar-nav widget*/ .wp-calendar-nav { margin-top: 0.500rem; font-weight: 600; } /*wp-block-latest-comments*/ .wp-block-latest-comments__comment-date { padding-top: 0.500rem; padding-bottom: 0.500rem; } /*Input Group Search z-index Issue Fixed in Sidebar*/ .input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file:focus { z-index: 0; } /*-------------------------------------------------------------- =>> Gallery --------------------------------------------------------------*/ .gallery { display: flex; flex-flow: row wrap; justify-content: center; margin-bottom: calc(1.5 * 1rem); } .gallery-item { display: inline-block; margin-right: 16px; margin-bottom: 16px; text-align: center; vertical-align: top; width: 100%; } .gallery-columns-2 .gallery-item { max-width: calc((100% - 16px * 1) / 2); } .gallery-columns-2 .gallery-item:nth-of-type(2n+2) { margin-right: 0; } .gallery-columns-3 .gallery-item { max-width: calc((100% - 16px * 2) / 3); } .gallery-columns-3 .gallery-item:nth-of-type(3n+3) { margin-right: 0; } .gallery-columns-4 .gallery-item { max-width: calc((100% - 16px * 3) / 4); } .gallery-columns-4 .gallery-item:nth-of-type(4n+4) { margin-right: 0; } .gallery-columns-5 .gallery-item { max-width: calc((100% - 16px * 4) / 5); } .gallery-columns-5 .gallery-item:nth-of-type(5n+5) { margin-right: 0; } .gallery-columns-6 .gallery-item { max-width: calc((100% - 16px * 5) / 6); } .gallery-columns-6 .gallery-item:nth-of-type(6n+6) { margin-right: 0; } .gallery-columns-7 .gallery-item { max-width: calc((100% - 16px * 6) / 7); } .gallery-columns-7 .gallery-item:nth-of-type(7n+7) { margin-right: 0; } .gallery-columns-8 .gallery-item { max-width: calc((100% - 16px * 7) / 8); } .gallery-columns-8 .gallery-item:nth-of-type(8n+8) { margin-right: 0; } .gallery-columns-9 .gallery-item { max-width: calc((100% - 16px * 8) / 9); } .gallery-columns-9 .gallery-item:nth-of-type(9n+9) { margin-right: 0; } .gallery-item:last-of-type { padding-right: 0; } .gallery-caption { display: block; font-size: 0.r71111em; line-height: 1.6; margin: 0; padding: 0.5rem; } .gallery-item > div > a { display: block; line-height: 0; box-shadow: 0 0 0 0 transparent; } .gallery-item > div > a:focus { box-shadow: 0 0 0 2px #e9e9e9; } .gallery .gallery-item { margin-top: 0 !important; } .gallery .gallery-item img { border: 2px solid #e9e9e9 !important; } /*wp-block-gallery*/ .wp-block-gallery.alignfull { margin: 0 0 1.563rem; } .blocks-gallery-item figure { position: relative; overflow: hidden; margin: 0; } .blocks-gallery-item figure img { width: 100%; opacity: 1; } .blocks-gallery-item figure img { -webkit-transition: transform 2s, filter 1.5s ease-in-out; -moz-transition: transform 2s, filter 1.5s ease-in-out; -o-transition: transform 2s, filter 1.5s ease-in-out; -ms-transition: transform 2s, filter 1.5s ease-in-out; transition: transform 2s, filter 1.5s ease-in-out; transform-origin: center center; } .blocks-gallery-item:hover figure img { -webkit-transform: translateY(0px); transform: translateY(0px); transform: scale(1.15,1.15); -webkit-transform: scale(1.15,1.15); -moz-transform: scale(1.15,1.15); -ms-transform: scale(1.15,1.15); -o-transform: scale(1.15,1.15); } /*Address*/ address i { width: 1.563rem; height: auto; margin-right: 0.438rem; font-size: 1.25rem !important; } /*-------------------------------------------------------------- =>> Captions --------------------------------------------------------------*/ .bypostauthor {} .wp-caption { margin-bottom: calc(1.5 * 1rem); } .wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; } .wp-caption-text { font-size: 0.8125rem; font-style: italic; line-height: 1.6; margin: 0; padding: 0.5rem !important; text-align: center; } .wp-caption-text a:hover { color: #000; } .wp-caption, .gallery-caption { max-width: 100%; } /*-------------------------------------------------------------- =>> Alignments --------------------------------------------------------------*/ .alignleft { display: inline; float: left; margin-right: 1.5rem; } .alignright { display: inline; float: right; margin-left: 1.5rem; } .aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; } @media screen and (min-width: 768px){ img.alignleft { float: left; } img.alignright { float: right; } } body.page-template-default .theme-blog .post .post-content { overflow: hidden; } /*-------------------------------------------------- =>> Theme Unit Data Css --------------------------------------------------*/ .entry-content .wp-block-button a { color: #fff; } .wp-block-button.is-style-outline a { color: #32373c; } .entry-content .wp-block-pullquote p, .entry-content .wp-block-pullquote.is-style-solid-color blockquote p { padding: 0; } .entry-content blockquote cite a { color: #000; box-shadow: none; } .entry-content p.has-background { margin-bottom: 1.563rem; } .entry-content .wp-block-file .wp-block-file__button { font-size: 14px; padding: 0.7rem 2rem; } .wp-embed-responsive .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; } embed, iframe, object { max-width: 100%; } .entry-content .wp-block-archives.wp-block-archives-dropdown { margin: 0 0 1.563rem; } .entry-content .wp-block-archives.wp-block-archives-dropdown select { width: auto; } .entry-content .wp-block-latest-comments__comment-meta a { color: #000; box-shadow: none; font-size: 1rem; font-weight: 600; } .entry-content .wp-block-latest-comments__comment-meta a:hover { box-shadow: 0 1px 0 0 currentColor; } .wp-block-latest-comments article { margin-bottom: 2rem; } /*wp-block-embed*/ @media (max-width: 992px) { .wp-block-embed { word-break: break-all; } } /*wp-block-search*/ .wp-block-search .wp-block-search__input { border: 1px solid #e9e9e9; } /*-------------------------------------------------- =>> Site Footer Area --------------------------------------------------*/ .site-footer { background-color: #0f0f0f; margin: 0; padding: 0; position: relative; } .footer-sidebar { padding: 5rem 0 1.875rem; } @media (max-width: 500px) { .footer-sidebar { padding: 4rem 0 0.875rem; } } .footer-sidebar .widget { margin: 0 0 3.125rem; padding: 0; } .footer-sidebar .widget, .footer-sidebar .widget a { color: #ddd; } .footer-sidebar .widget .recentcomments a { color: #fff; } /*Recent Widget*/ .footer-sidebar .widget_recent_entries .post-date { color: #bec3c7; } .footer-sidebar .widget_archive li, .footer-sidebar .widget_categories li, .footer-sidebar .widget_links li, .footer-sidebar .widget_meta li, .footer-sidebar .widget_nav_menu li, .footer-sidebar .widget_pages li, .footer-sidebar .widget_recent_comments li, .footer-sidebar .widget_recent_entries li { padding-top: 0px; padding-bottom: 14px; border-bottom: none; } .footer-sidebar .widget_archive li:last-child, .footer-sidebar .widget_categories li:last-child, .footer-sidebar .widget_links li:last-child, .footer-sidebar .widget_meta li:last-child, .footer-sidebar .widget_nav_menu li:last-child, .footer-sidebar .widget_pages li:last-child, .footer-sidebar .widget_recent_comments li:last-child, .footer-sidebar .widget_recent_entries li:last-child { padding-bottom: 0; } .footer-sidebar .widget h1, .footer-sidebar .widget h2, .footer-sidebar .widget h3, .footer-sidebar .widget h4, .footer-sidebar .widget h5, .footer-sidebar .widget h6 { color: #fff; } /*Text Widget*/ .footer-sidebar .textwidget a:hover, .footer-sidebar .textwidget a:focus { color: #ddd !important; } .footer-sidebar .textwidget > address > a { color: #ddd; } .footer-sidebar .textwidget > address > a:hover, .footer-sidebar .textwidget > address > a:focus { box-shadow: none; } /*-------------------------------------------------- =>> Site Footer With Light Background --------------------------------------------------*/ .site-footer.light { background-color: #f3f3f3; } .site-footer.light .widget h1, .site-footer.light .widget h2, .site-footer.light .widget h3, .site-footer.light .widget h4, .site-footer.light .widget h5, .site-footer.light .widget h6 { color: #000; } .site-footer.light .widget, .site-footer.light .widget a { color: #404040; } .site-footer.light .tagcloud a:hover, .site-footer.light .tagcloud a:focus { background-color: #000; color: #fff !important; } .site-footer.light .widget_recent_entries .post-date { color: rgba(104, 104, 104, .7); } /*-------------------------------------------------- =>> Theme Site Info Area --------------------------------------------------*/ .site-info { background-color: #0f0f0f; border-top: 1px solid rgba(132,132,132,.17); color: #ddd; font-size: 0.938rem; padding: 1.75rem 0.938rem; } .site-footer.light .site-info { background-color: #f3f3f3; color: #000; } /*-------------------------------------------------- =>> Sidebar Widget Style Css According to WordPress 5.8 --------------------------------------------------*/ .sidebar .widget .wp-block-group h2, .sidebar .widget .wp-block-search .wp-block-search__label { position: relative; font-weight: 600; font-size: 1.375rem; color: #000; margin-bottom: 1.563rem; padding-bottom: 0.625rem; border-bottom: 1px solid #e9e9e9; } .sidebar .widget .wp-block-group h2:after, .sidebar .widget .wp-block-search .wp-block-search__label:after { background: #ff5d20; content: ""; width: 50px; height: 2px; bottom: -1px; left: 0; position: absolute; z-index: 1; } .sidebar .widget .wp-block-group .wp-block-tag-cloud a { color: #fff !important; font-size: 0.875rem !important; display: inline-block; padding: 0.188rem 0.825rem; margin: 0 0.125rem 0.438rem 0px; border-radius: 0px; } .sidebar .widget .wp-block-group .wp-block-tag-cloud a:hover, .sidebar .widget .wp-block-group .wp-block-tag-cloud a:focus { background-color: #000; color: #fff !important; } .sidebar .widget .wp-block-group .wp-block-categories-list, .sidebar .widget .wp-block-group .wp-block-archives-list, .sidebar .widget .wp-block-group .wp-block-page-list, .sidebar .widget .wp-block-group .wp-block-latest-posts, .sidebar .widget .wp-block-group .wp-block-rss, .sidebar .widget .wp-block-group .wp-block-latest-comments { list-style: none; margin-left: 0; } .sidebar .widget .wp-block-group .wp-block-categories-list li, .sidebar .widget .wp-block-group .wp-block-archives-list li, .sidebar .widget .wp-block-group .wp-block-page-list li, .sidebar .widget .wp-block-group .wp-block-latest-posts li, .sidebar .widget .wp-block-group .wp-block-rss li, .sidebar .widget .wp-block-group .wp-block-latest-comments li { padding-left: 0px !important; padding-top: 0.625rem; padding-bottom: 0.625rem; border-bottom: 1px dotted rgba(0, 0, 0, 0.1); position: relative; } .sidebar .widget .wp-block-group .wp-block-latest-comments li { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-categories-list li:last-child, .sidebar .widget .wp-block-group .wp-block-archives-list li:last-child, .sidebar .widget .wp-block-group .wp-block-page-list li:last-child, .sidebar .widget .wp-block-group .wp-block-latest-posts li:last-child, .sidebar .widget .wp-block-group .wp-block-rss li:last-child, .sidebar .widget .wp-block-group .wp-block-latest-comments li:last-child { padding-bottom: 0px; border-bottom: none; } .sidebar .widget .wp-block-group .wp-block-rss li, .sidebar .widget .wp-block-group .wp-block-latest-posts li { margin-bottom: 0; } .sidebar .widget .wp-block-search input[type="search"]{ border: 1px solid #e9e9e9; } .sidebar .widget .wp-block-search .wp-block-search__button { margin-left: 0; } .sidebar .widget .wp-block-group .wp-block-calendar table caption { caption-side: top; background-color: #e9e9e9; text-align: center; padding-top: 0.45rem; padding-bottom: 0.45rem; font-weight: 600; color: #000; } .sidebar .widget .wp-block-group .wp-block-calendar table.wp-calendar-table th { background: #f6f6f6; padding: 0.4rem; text-align: center; border-bottom: 2px solid #e9e9e9; } .sidebar .widget .wp-block-group .wp-block-calendar table.wp-calendar-table td { padding: 0.4rem; text-align: center; } .sidebar .widget .wp-block-group .widget.widget_nav_menu, .sidebar .widget .wp-block-group .widget.widget_meta { padding: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } .sidebar .widget .wp-block-group .wp-block-embed { margin: 0; } .sidebar .widget .wp-block-group .wp-block-latest-comments__comment-meta { font-weight: 600; line-height: 1.5; } .sidebar .widget .wp-block-group .wp-block-latest-comments__comment-excerpt p, .sidebar .widget .wp-block-group .wp-block-latest-comments__comment-date { font-size: 1rem; } .sidebar .widget .wp-block-group .wp-block-latest-comments article { margin-bottom: 0; } .theme-blog .wp-block-latest-comments__comment-meta .wp-block-latest-comments__comment-date, .theme-blog .wp-block-latest-comments__comment-excerpt p { font-size: 1rem; } .sidebar .widget .wp-block-group .wp-block-cover, .sidebar .widget .wp-block-group .wp-block-calendar, .sidebar .widget .wp-block-group .wp-block-calendar table, .sidebar .widget .wp-block-group ul, .sidebar .widget .wp-block-group ol, .sidebar .widget .wp-block-search__button-outside, .sidebar .widget .wp-block-group .wp-block-columns { margin-bottom: 0rem; } .sidebar .widget .wp-block-search .wp-block-search__label { line-height: normal; } .sidebar .widget .wp-block-group .wp-block-latest-posts__list.wp-block-latest-posts li a { font-weight: 600; } .sidebar .widget .wp-block-group .widget.widget_meta { margin-bottom: 0; } .sidebar .widget .wp-block-group ul li:first-child, .sidebar .widget .wp-block-group ol li:first-child { padding-top: 0; } .sidebar .widget .wp-block-group .wp-block-latest-comments li:last-child { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-rss .wp-block-rss__item-title > a { font-weight: 600; } .sidebar .widget .wp-block-group .wp-block-pullquote { margin-bottom: 0; padding-top: 0; padding-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-pullquote blockquote { margin-top: 0; margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-pullquote p { padding-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-code { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-separator { margin: 1rem 0; } .sidebar .widget .wp-block-group pre.wp-block-verse { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-separator { margin: 1rem 0; } .sidebar .widget .wp-block-group .wp-block-preformatted { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-quote { margin-bottom: 0; } .theme-blog .post .wp-block-pullquote { padding-top: 0; padding-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-table td { border: 1px solid #E9E9E9; } .theme-blog .post .entry-content .wp-block-file .wp-block-file__button { color: #fff; box-shadow: none; } .theme-blog .post .entry-content ol.wp-block-latest-comments .wp-block-latest-comments__comment { border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .theme-blog .post .entry-content ol.wp-block-latest-comments .wp-block-latest-comments__comment:last-child { border-bottom: none; } .theme-blog .post .entry-content ol.wp-block-latest-comments .wp-block-latest-comments__comment article { margin-bottom: 1rem; } .wp-block-table td, .wp-block-table th { border: 1px solid #E9E9E9; } .sidebar .widget .wp-block-group .wp-block-media-text { margin-bottom: 0; } .wp-block-button a:not([href]):not([tabindex]) { color: #fff; } .wp-block-button a:not([href]):not([tabindex]):hover { color: #fff; background: #32373C; } .sidebar .widget .wp-block-group .wp-block-image figcaption { margin-bottom: 0; } .sidebar .widget .wp-block-group .wp-block-image { margin-bottom: 0; } .theme-blog .post .mejs-controls a.mejs-horizontal-volume-slider { color: transparent; } .theme-blog .post .entry-content ul:last-child { margin-bottom: 0; } .theme-blog .post .entry-content ol.wp-block-latest-comments { padding-left: 2rem; } .theme-blog .post .entry-content ul.wp-block-archives { margin-left: 1.125rem; list-style: disc; padding-left: 1.5rem; } .theme-blog .post .entry-content ul.wp-block-rss { padding-left: 1.5rem; margin-left: 1.125rem; } .sidebar .widget .wp-block-group .is-layout-flow h2 { margin-bottom: 0; padding-bottom: 0; border-bottom: 0 none; } .sidebar .widget .wp-block-group .is-layout-flow h2:after { display: none; } .theme-blog .post .entry-content ul li { margin-bottom: 10px; } .theme-blog .post .entry-content ul li:last-child { margin-bottom: 0; } .theme-blog .post .entry-content ol li { margin-bottom: 10px; } .theme-blog .post .entry-content ol li:last-child { margin-bottom: 0; } .sidebar .widget .wp-block-group ul li, .sidebar .widget .wp-block-group ol li { padding-bottom: 0.625rem; } .comment-form .form-submit { padding-bottom: 0.625rem; } .theme-blog .post .entry-content ul.wp-block-archives-list li { margin-bottom: 0; } .theme-blog .post .entry-content ul.wp-block-post-template li.wp-block-post { background-color: transparent; margin-bottom: 1.5rem; box-shadow: none; padding: 0; } .theme-blog .post .entry-content ul.wp-block-post-template li.wp-block-post:hover { box-shadow: none; } .theme-blog .post .entry-content ul.wp-block-post-template li.wp-block-post .wp-block-post-date { padding-bottom: 1rem; } .theme-blog .post .entry-content ul.wp-block-post-template { margin-left: 0; } .theme-blog .post .entry-content form.wp-block-search .wp-block-search__inside-wrapper { border: none; } .theme-blog .post .entry-content .wp-block-post-comments-form .comment-reply-title { margin-bottom: 1.4rem; } .theme-blog .post .entry-content ul.wp-block-latest-posts { list-style: disc; padding-left: 1.125rem; } .theme-blog .post .wp-block-query-pagination { margin-bottom: 1.5rem; } /*------------------------------------------------------------ =>> Footer Sidebar Widget Style Css According to WordPress 5.8 ------------------------------------------------------------*/ .footer-sidebar .widget .wp-block-group h2 { position: relative; margin-bottom: 2.125rem; padding-bottom: 0.525rem; font-weight: 600; font-size: 1.375rem; } .footer-sidebar .widget .wp-block-group h2:after { content: ""; width: 50px; height: 2px; bottom: -1px; left: 0; position: absolute; z-index: 1; } .footer-sidebar .widget .wp-block-group .wp-block-tag-cloud a { color: #fff !important; font-size: 0.875rem !important; display: inline-block; padding: 0.188rem 0.825rem; margin: 0 0.125rem 0.438rem 0px; border-radius: 0px; } .footer-sidebar .widget .wp-block-group .wp-block-tag-cloud a:hover, .footer-sidebar .widget .wp-block-group .wp-block-tag-cloud a:focus { background-color: #eee; color: #000 !important; } .footer-sidebar .widget .wp-block-group .wp-block-categories-list, .footer-sidebar .widget .wp-block-group .wp-block-archives-list, .footer-sidebar .widget .wp-block-group .wp-block-page-list, .footer-sidebar .widget .wp-block-group .wp-block-latest-posts, .footer-sidebar .widget .wp-block-group .wp-block-rss, .footer-sidebar .widget .wp-block-group .wp-block-latest-comments { list-style: none; margin-left: 0; } .footer-sidebar .widget .wp-block-group .wp-block-categories-list li, .footer-sidebar .widget .wp-block-group .wp-block-archives-list li, .footer-sidebar .widget .wp-block-group .wp-block-page-list li, .footer-sidebar .widget .wp-block-group .wp-block-latest-posts li, .footer-sidebar .widget .wp-block-group .wp-block-rss li, .footer-sidebar .widget .wp-block-group .wp-block-latest-comments li { padding-top: 0px; padding-bottom: 14px; border-bottom: none; } .footer-sidebar .widget .wp-block-group .wp-block-rss li, .footer-sidebar .widget .wp-block-group .wp-block-latest-posts li { margin-bottom: 0; } .footer-sidebar .widget .wp-block-group label { color: #ddd; } .footer-sidebar .widget .wp-block-search .wp-block-search__button { margin-left: 0; } .footer-sidebar .widget .wp-block-search .wp-block-search__button:hover, .footer-sidebar .widget .wp-block-search .wp-block-search__button:focus { background-color: #eee !important; color: #000; } .footer-sidebar .widget .wp-block-group .wp-block-calendar table caption { caption-side: top; background-color: #e9e9e9; text-align: center; padding-top: 0.45rem; padding-bottom: 0.45rem; font-weight: 600; color: #000; } .footer-sidebar .widget .wp-block-group .wp-block-calendar table.wp-calendar-table th { background: #f6f6f6; padding: 0.4rem; text-align: center; border-bottom: 2px solid #e9e9e9; } .footer-sidebar .widget .wp-block-group .wp-block-calendar table.wp-calendar-table td { padding: 0.4rem; text-align: center; color: #ddd; } .footer-sidebar .widget .wp-block-group .wp-block-latest-comments li { padding-top: 0; padding-bottom: 0; margin-bottom: 0; } .footer-sidebar .widget .wp-block-group .wp-block-latest-comments__comment-meta { font-weight: 600; } .footer-sidebar .widget .wp-block-group .wp-block-latest-comments__comment-excerpt p, .footer-sidebar .widget .wp-block-group .wp-block-latest-comments__comment-date { font-size: 1rem; } .footer-sidebar .widget .wp-block-group .wp-block-latest-posts__list.wp-block-latest-posts li a { font-weight: 600; } .footer-sidebar .widget .wp-block-group .wp-block-rss .wp-block-rss__item-title > a { font-weight: 600; } .footer-sidebar .widget .wp-block-group .wp-block-pullquote p { padding-bottom: 0; } .footer-sidebar .widget .wp-block-group .wp-block-rss li:last-child { padding-bottom: 0; } .footer-sidebar .widget .wp-block-group .wp-block-pullquote { padding: 0.5em 0; } .footer-sidebar .widget .wp-block-group pre.wp-block-verse { background: rgba(26, 26, 26, 0.8); color: #ddd; } .footer-sidebar .widget .wp-block-group .wp-block-pullquote p { color: #404040; } .footer-sidebar .widget .wp-block-group .wp-block-pullquote cite { color: #000; } .footer-sidebar .widget .wp-block-group .wp-block-columns { margin-bottom: 0; } .footer-sidebar .widget .wp-block-group .is-layout-flow h2:after { display: none; } .footer-sidebar .widget .wp-block-group ul li { padding-bottom: 14px; } .footer-sidebar .widget .wp-block-group ul li:last-child { padding-bottom: 0; } .footer-sidebar .widget .wp-block-group .wp-block-details p { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.102); } /*-------------------------------------------------- =>> Page Scroll Up/Down Area --------------------------------------------------*/ .page-scroll-up { position: fixed; display: none; bottom: 15px; right: 30px; z-index: 999; } .page-scroll-up a { display: block; height: 3.125rem; width: 3.125rem; text-align: center; line-height: 1.6; border-radius: 0; font-size: 1.750rem; color: #fff; opacity: 1; transition: all 0.3s ease 0s; box-shadow: 0 0 10px rgba(0,0,0,.2); } .page-scroll-up a:hover, .page-scroll-up a:active { color: #fff; } /*-------------------------------------------------- =>> Text meant only for screen readers --------------------------------------------------*/ /* Accessibility */ /* Text meant only for screen readers. */ .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ } .screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto; right: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ } /* Do not show the outline on the skip link target. */ #content[tabindex="-1"]:focus { outline: 0; } /*-------------------------------------------------- =>> Page builder template --------------------------------------------------*/ .page-template-pagebuilder .theme-builder { padding: 0; } /*-------------------------------------------------- =>> Shop Products for Homepage --------------------------------------------------*/ .theme-block.shop .product { position: relative; margin-bottom: 2.5rem; overflow: hidden; text-align: center; background-color: #ffffff; padding: 1rem 1rem 1rem; transition: all 0.3s; -webkit-box-shadow: 0px 0px 30px 0px rgba(205, 205, 205, 0.33); -moz-box-shadow: 0px 0px 30px 0px rgba(205, 205, 205, 0.33); box-shadow: 0px 0px 30px 0px rgba(205, 205, 205, 0.33); border: 1px solid rgba(205, 205, 205, 0.33); } .theme-block.shop .product img { display: block; max-width: 100%; height: auto; margin-bottom: 1rem; } .theme-block.shop .product .woocommerce-loop-product__title { padding: 0 0 .3rem; margin: 0; font-size: 1.125rem; letter-spacing: 0.03rem; border: none; } .theme-block.shop .product .woocommerce-loop-product__title a { padding: 0 0 .3rem; } .theme-block.shop .product .onsale { position: absolute; color: #fff; } .theme-block.shop .product .price ins { background: 0 0; } .theme-block.shop .product .price del { color: inherit; opacity: .5; display: inline-block; } .theme-block.shop .product .star-rating { float: none; margin: 0.625rem auto; } /*-------------------------------------------------- =>> Shop Products --------------------------------------------------*/ /*Product List*/ .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { overflow: hidden; text-align: center; margin-bottom: 2.5rem; background-color: #ffffff; padding: 1rem 1rem 1rem; transition: all 0.3s; -webkit-box-shadow: 0 15px 98px 0 rgba(0,0,0,.1); -moz-box-shadow: 0 15px 98px 0 rgba(0,0,0,.1); box-shadow: 0 15px 98px 0 rgba(0,0,0,.1); } /*Product Sale*/ .woocommerce span.onsale, .theme-block.shop .product span.onsale { z-index: 1; } .woocommerce ul.products li.product .onsale, .theme-block.shop .product .onsale { background-color: #000; font-weight: 600; font-size: 0.75rem; line-height: 1.8; text-transform: uppercase; position: absolute; display: block; top: 25px; left: 25px; right: auto; transition: all 0.3s; min-height: 1.25rem; min-width: 3.125rem; border-radius: 0; margin: 0; padding: 0; color: #fff; letter-spacing: 1px; text-align: center; z-index: 0; } .woocommerce ul.products li.product:hover .onsale, .woocommerce-page ul.products li.product:hover .onsale { background-color: #fff; color: #000; } .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 0 .3rem; font-size: 1.125rem; letter-spacing: 0.03rem; border: none; } .woocommerce span.onsale, .theme-block.shop .product .theme-block.shop .product { top: 25px; left: 25px; background-color: #000; font-weight: 600; font-size: 0.75rem; line-height: 1.8; transition: all 0.3s; min-height: 1.25rem; min-width: 3.125rem; border-radius: 0; margin: 0; padding: 0; color: #fff; letter-spacing: 1px; text-align: center; } /*Product Rating*/ .woocommerce p.stars a, .theme-block.shop .product p.stars a { color: #ff9919; box-shadow: none; } .woocommerce .star-rating { color: #ff9919; } .woocommerce ul.products li.product .star-rating { color: #ff9919; float: none; text-align: center; margin: 0.625rem auto; } /*Product Buttons*/ .woocommerce ul.products li.product .button.add_to_cart_button, .woocommerce ul.products li.product .button.product_type_grouped, .woocommerce ul.products li.product .button.product_type_simple, .woocommerce ul.products li.product .button.product_type_external, .woocommerce ul.products li.product .button.product_type_variable, .theme-block.shop .product .button.add_to_cart_button, .theme-block.shop .product .button.product_type_grouped, .theme-block.shop .product .button.product_type_simple, .theme-block.shop .product .button.product_type_external, .theme-block.shop .product .button.product_type_variable { display: inline-block; color: #fff; text-align: center; margin-top: 0.625rem; padding: 0.625rem 0.938rem; font-weight: 600; line-height: 1; width: 100%; border-radius: 0; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -ms-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; } .woocommerce ul.products li.product .button:hover, .woocommerce ul.products li.product .button:focus, .theme-block.shop .product .button:hover, .theme-block.shop .product .button:focus { color: #fff; } .woocommerce ul.products li.product .button.add_to_cart_button, .woocommerce ul.products li.product .button.product_type_simple { display: inline-block; color: #fff; text-align: center; margin-top: 0.625rem; padding: 0.625rem 0.938rem; font-weight: 600; width: 100%; border-radius: 0; } .woocommerce ul.products li.product .button.add_to_cart_button:hover, .woocommerce ul.products li.product .button.add_to_cart_button:focus, .woocommerce ul.products li.product .button.product_type_simple:hover, .woocommerce ul.products li.product .button.product_type_simple:focus { color: #fff; } .woocommerce ul.products li.product a.added_to_cart, .theme-block.shop .product a.added_to_cart { background-color: rgba(0, 0, 0,.8); border: 2px solid rgba(0, 0, 0,.1); color: #fff; text-align: center; font-weight: 600; padding: 0.625rem 0.938rem; margin-top: 0.625rem; width: 100%; border-radius: 0; line-height: 1; display: inline-block; } .woocommerce ul.products li.product a.added_to_cart:hover, .woocommerce ul.products li.product a.added_to_cart:focus, .theme-block.shop .product a.added_to_cart:hover, .theme-block.shop .product a.added_to_cart:focus { background-color: rgba(0, 0, 0,1); border: 2px solid rgba(0, 0, 0,1); color: #fff; } .woocommerce ul.products li.product .price, .theme-block.shop .product .price { font-size: 1rem; color: #404040; font-weight: 600; } /*Product Single View*/ .woocommerce div.product .product_title { font-size: 2.225rem; } .woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.250rem; color: #404040; } .woocommerce div.product p.price ins, .woocommerce div.product span.price ins { padding-left: 5px; } .woocommerce .quantity .qty { width: 5.500rem; text-align: left; height: 3.125rem; padding: 1rem 0.425rem 1rem 0.825rem; margin-right: 0.625rem; border-radius: 0; } .woocommerce div.product form.cart .button { background: #000; padding: 0.713rem 2.5rem; border-radius: 0; letter-spacing: 0.03rem; } .product_meta .sku_wrapper, .product_meta .posted_in, .product_meta .tagged_as { display: block; font-weight: 600; margin-bottom: 0.313rem; } .product_meta .sku_wrapper .sku, .product_meta .posted_in a, .product_meta .tagged_as a { font-weight: 400; color: #404040; } .woocommerce div.product .woocommerce-product-rating { margin-bottom: 1.2rem; } .woocommerce-product-details__short-description { margin-bottom: 1.7rem; } .woocommerce #review_form #respond textarea { border-radius: 0; } .woocommerce #review_form #respond .form-submit input { left: auto; background: #000; color: #fff; padding: 0.713rem 2.5rem; border-radius: 0; letter-spacing: 0.03rem; } .woocommerce #review_form #respond .form-submit input:hover { color: #fff; } .woocommerce #reviews #comments h2 { font-size: 1.125rem; } .woocommerce .comment_container { border-bottom: 2px dotted #e9e9e9; } .woocommerce .comment_container img { float: left; } .woocommerce #reviews #comments ol.commentlist li .comment-text { margin: 0 0 0 65px; border: none; border-radius: 0px; padding: 0 0 0 1rem; } .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta { font-size: .93rem; padding: 0; } .woocommerce .related.products h2, .woocommerce-Tabs-panel.woocommerce-Tabs-panel--description h2, .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information h2 { font-size: 1.125rem; margin: 0 0 1.500rem; } .woocommerce div.product .woocommerce-tabs { padding-top: 50px; } .woocommerce div.product .woocommerce-tabs ul.tabs li { border: 1px solid transparent; background-color: transparent; margin: 0; } .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 0 15px 15px 15px; } .woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: transparent; background: transparent; } .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #000; } .woocommerce div.product .woocommerce-tabs ul.tabs { font-size: 1.15rem; letter-spacing: 0.03rem; padding: 0; } .woocommerce div.product .woocommerce-tabs ul.tabs li a:after { background: #000; bottom: 0; content: ''; display: block; height: 1px; left: 50%; position: absolute; right: 50%; width: 0; z-index: 9; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -ms-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; } .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a:after, .woocommerce div.product .woocommerce-tabs ul.tabs li.active a:after { left: 0; right: 0; width: 100%; } .woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid #e9e9e9; box-shadow: none; } .woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before { border: 1px solid transparent; box-shadow: none; width: 0px; height: 0px; } /*Product Cart View*/ .woocommerce-error, .woocommerce-info, .woocommerce-message { padding: 0.75rem 2rem 0.75rem 3.5rem !important; border-top-color: #000; margin: 0 0 3rem; } .woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { top: 12px; color: #000; } .woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button { font-weight: 500; border-radius: 0; left: auto; color: #ffffff; } .woocommerce .woocommerce-error .button:hover, .woocommerce .woocommerce-info .button:hover, .woocommerce .woocommerce-message .button:hover, .woocommerce-page .woocommerce-error .button:hover, .woocommerce-page .woocommerce-info .button:hover, .woocommerce-page .woocommerce-message .button:hover { color: #ffffff; background-color: #000; } .woocommerce a.remove { box-shadow: none; } /*Product Cart Table*/ .woocommerce table.shop_attributes td { padding: 8px; } .woocommerce table.shop_table { border: 1px solid #e9e9e9; border-collapse: collapse; } .woocommerce table.shop_table .cart_item:hover { background: #f6f6f6; } .woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 20px 15px; border-right: 1px solid #e9e9e9; } .woocommerce table.shop_table th:last-child, .woocommerce table.shop_table td:last-child { border-right: none; } .woocommerce table.shop_table th { border-bottom: none; color: #000; } .woocommerce table.shop_table td .woocommerce-Price-amount { font-weight: 600; } .woocommerce-cart table.cart td.actions .coupon .input-text { padding: 0.650rem 1rem; margin: 0 0 15px; width: 100%; border-radius: 0; } .woocommerce-cart table.cart td.actions .coupon button.button { background: #000; color: #fff; width: 100%; } .woocommerce-cart table.cart td.actions .coupon button.button:hover { color: #fff; } .woocommerce-cart table.cart td.actions button.button { color: #fff; } .woocommerce-cart table.cart td.actions button.button:hover { background: #000; color: #fff; } .woocommerce-cart table.cart td.actions .coupon button.button, .woocommerce-cart table.cart td.actions button.button { padding: 0.713rem 2.5rem; border-radius: 0; letter-spacing: 0.03rem; } #add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button, .woocommerce .woocommerce-form-login .woocommerce-form-login__submit, .woocommerce button.button.woocommerce-Button { border-radius: 0; padding: 1.07rem 2.5rem; letter-spacing: 0.07rem; font-size: 0.938rem; color: #fff; } #add_payment_method .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce .woocommerce-form-login .woocommerce-form-login__submit:hover, .woocommerce button.button.woocommerce-Button:hover { background-color: #000; color: #fff; } .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border: 1px solid #e9e9e9; } .cart_totals h2 { font-size: 1.825rem; } .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { max-width: 100%; padding-left: 0; padding-right: 0; } .woocommerce form .form-row label { width: 100%; font-weight: 400; } .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { border-radius: 0; } .woocommerce form .form-row .woocommerce-input-wrapper { width: 100%; } .woocommerce form .form-row span.select2-selection.select2-selection--single { border: 1px solid #f2f2f2 !important; padding: 0.825rem 1rem; height: 50px; } .woocommerce-page .select2-dropdown { border: 1px solid #e9e9e9; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; right: 5px; } .woocommerce .woocommerce-billing-fields h3, .woocommerce-checkout .checkout .col-2 h3#ship-to-different-address, .woocommerce-checkout .checkout .col-2 h3#ship-to-different-address label, #order_review_heading { font-size: 1.250rem; color: #000; } .checkout_coupon.woocommerce-form-coupon .form-row button.button { background-color: #000; color: #fff; border-radius: 0; padding: 1.07rem 2.5rem; letter-spacing: 0.07rem; font-size: 0.938rem; } .checkout_coupon.woocommerce-form-coupon .form-row button.button:hover { color: #fff; } .woocommerce-page .checkout.woocommerce-checkout .col2-set { margin-bottom: 30px; } .select2-results__option { padding: 6px 10px; } .woocommerce-checkout #payment ul.payment_methods li label { display: inline-block; } .woocommerce-checkout #payment ul.payment_methods li input { margin-right: 5px; } #add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: #f6f6f6; } #add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box { background-color: #eaeaea; color: #404040; } #add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before { content: ""; display: block; border: 1em solid #eaeaea; border-right-color: transparent; border-left-color: transparent; border-top-color: transparent; } .woocommerce-privacy-policy-text { margin-bottom: 25px; } #add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid #e9e9e9; } .woocommerce #payment #place_order, .woocommerce-page #payment #place_order { color: #fff; border-radius: 0; padding: 1.07rem 2.5rem; letter-spacing: 0.07rem; } .woocommerce #payment #place_order:hover, .woocommerce-page #payment #place_order:hover { background-color: #000; color: #fff; } /*WooCommerce Widgets*/ .woocommerce .widget_price_filter .ui-slider .ui-slider-range { background-color: #dedede; } .woocommerce .widget_price_filter .price_slider_amount { padding-top: 10px; } .woocommerce .widget_price_filter .price_slider_amount .button { font-size: 0.938rem; color: #fff; border-radius: 0; padding: 0.825rem 2rem; letter-spacing: 0.07rem; height: auto; } .woocommerce.widget_product_categories ul, .woocommerce.widget_product_categories ol { list-style: none; margin-left: 0; margin-bottom: 0; } .woocommerce.widget_product_categories ul li, .woocommerce.widget_product_categories ol li { padding-top: 0.625rem; padding-bottom: 0.625rem; border-bottom: 1px solid #f1f1f1; } .woocommerce.widget_product_categories ul li:last-child, .woocommerce.widget_product_categories ol li:last-child { padding-bottom: 0; border-bottom: none; } .woocommerce.widget_product_categories ul li:before, .woocommerce.widget_product_categories ol li:before { font-family: "FontAwesome"; content: "\f114"; margin-right: 10px; color: #c7c9cc; } .woocommerce.widget_product_categories li > ul, .woocommerce.widget_product_categories li > ol { margin-left: 0; } .woocommerce.widget_products .star-rating { font-size: 0.875rem; } .woocommerce.widget_products .star-rating, .woocommerce.widget_products .product_list_widget .product-title, .woocommerce.widget_top_rated_products .star-rating, .woocommerce.widget_top_rated_products .product_list_widget .product-title, .woocommerce.widget_recent_reviews .star-rating, .woocommerce.widget_recent_reviews .product_list_widget .product-title, .woocommerce.widget_recently_viewed_products .star-rating, .woocommerce.widget_recently_viewed_products .product_list_widget .product-title { margin-bottom: 5px; display: block; } .woocommerce.widget_products ul.cart_list li, .woocommerce.widget_products ul.product_list_widget li, .woocommerce.widget_top_rated_products ul.cart_list li, .woocommerce.widget_top_rated_products ul.product_list_widget li, .woocommerce.widget_recent_reviews ul.cart_list li, .woocommerce.widget_recent_reviews ul.product_list_widget li, .woocommerce.widget_recently_viewed_products ul.cart_list li, .woocommerce.widget_recently_viewed_products ul.product_list_widget li, .woocommerce.woocommerce-widget-layered-nav ul.woocommerce-widget-layered-nav-list li, .woocommerce.widget_rating_filter ul li { padding-top: 0.625rem; padding-bottom: 0.625rem; border-bottom: 1px solid #f1f1f1; } .woocommerce.widget_products ul.cart_list li:first-child, .woocommerce.widget_products ul.product_list_widget li:first-child, .woocommerce.widget_top_rated_products ul.cart_list li:first-child, .woocommerce.widget_top_rated_products ul.product_list_widget li:first-child, .woocommerce.widget_recent_reviews ul.cart_list li:first-child, .woocommerce.widget_recent_reviews ul.product_list_widget li:first-child, .woocommerce.widget_recently_viewed_products ul.cart_list li:first-child, .woocommerce.widget_recently_viewed_products ul.product_list_widget li:first-child, .woocommerce.woocommerce-widget-layered-nav ul.woocommerce-widget-layered-nav-list li:first-child, .woocommerce.widget_rating_filter ul li:first-child { padding-top: 0; } .woocommerce.widget_products ul.cart_list li:last-child, .woocommerce.widget_products ul.product_list_widget li:last-child, .woocommerce.widget_top_rated_products ul.cart_list li:last-child, .woocommerce.widget_top_rated_products ul.product_list_widget li:last-child, .woocommerce.widget_recent_reviews ul.cart_list li:last-child, .woocommerce.widget_recent_reviews ul.product_list_widget li:last-child, .woocommerce.widget_recently_viewed_products ul.cart_list li:last-child, .woocommerce.widget_recently_viewed_products ul.product_list_widget li:last-child, .woocommerce.woocommerce-widget-layered-nav ul.woocommerce-widget-layered-nav-list li:last-child, .woocommerce.widget_rating_filter ul li:last-child { padding-bottom: 0; border-bottom: none; } .woocommerce.widget_products ul.product_list_widget ins, .woocommerce.widget_top_rated_products ul.product_list_widget ins, .woocommerce.widget_recent_reviews ul.product_list_widget .reviewer, .woocommerce.widget_recently_viewed_products ul.product_list_widget ins { background: transparent; font-weight: 600; } .woocommerce.widget_recent_reviews ul.product_list_widget .reviewer { font-weight: 500; } .woocommerce.widget_product_search .woocommerce-product-search input[type="search"] { margin-bottom: 1.25rem; } .woocommerce.widget_product_search button[type="submit"] { letter-spacing: .1em; } .woocommerce.widget .woocommerce-mini-cart__total { padding-top: 0.938rem; padding-left: 1rem; padding-right: 1rem; padding-bottom: 1rem; } .woocommerce.widget .woocommerce-mini-cart__buttons.buttons { padding-top: 0.938rem; padding-left: 1rem; padding-right: 1rem; padding-bottom: 1rem; } .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; } /*WooCommerce Pagination*/ .woocommerce nav.woocommerce-pagination { margin-bottom: 1.875rem; } .woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border: none; } .woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { background-color: #ffffff; border: 1px solid #e9e9e9; color: #000; cursor: pointer; display: inline-block; line-height: 1.5; font-weight: 600; transition: all 0.3s ease 0s; font-size: 1.125rem; border-radius: 0px; margin: 0 0.125rem 0.625rem; padding: 0.625rem; vertical-align: baseline; white-space: nowrap; width: 3.125rem; height: 3.125rem; }assets/js/bootstrap.js000064400000340550146726735170011066 0ustar00/*! * Bootstrap v4.0.0 (https://getbootstrap.com) * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : (factory((global.bootstrap = {}),global.jQuery,global.Popper)); }(this, (function (exports,$,Popper) { 'use strict'; $ = $ && $.hasOwnProperty('default') ? $['default'] : $; Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): util.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Util = function ($$$1) { /** * ------------------------------------------------------------------------ * Private TransitionEnd Helpers * ------------------------------------------------------------------------ */ var transition = false; var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) function toType(obj) { return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); } function getSpecialTransitionEndEvent() { return { bindType: transition.end, delegateType: transition.end, handle: function handle(event) { if ($$$1(event.target).is(this)) { return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params } return undefined; // eslint-disable-line no-undefined } }; } function transitionEndTest() { if (typeof window !== 'undefined' && window.QUnit) { return false; } return { end: 'transitionend' }; } function transitionEndEmulator(duration) { var _this = this; var called = false; $$$1(this).one(Util.TRANSITION_END, function () { called = true; }); setTimeout(function () { if (!called) { Util.triggerTransitionEnd(_this); } }, duration); return this; } function setTransitionEndSupport() { transition = transitionEndTest(); $$$1.fn.emulateTransitionEnd = transitionEndEmulator; if (Util.supportsTransitionEnd()) { $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); } } function escapeId(selector) { // We escape IDs in case of special selectors (selector = '#myId:something') // $.escapeSelector does not exist in jQuery < 3 selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1'); return selector; } /** * -------------------------------------------------------------------------- * Public Util Api * -------------------------------------------------------------------------- */ var Util = { TRANSITION_END: 'bsTransitionEnd', getUID: function getUID(prefix) { do { // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); return prefix; }, getSelectorFromElement: function getSelectorFromElement(element) { var selector = element.getAttribute('data-target'); if (!selector || selector === '#') { selector = element.getAttribute('href') || ''; } // If it's an ID if (selector.charAt(0) === '#') { selector = escapeId(selector); } try { var $selector = $$$1(document).find(selector); return $selector.length > 0 ? selector : null; } catch (err) { return null; } }, reflow: function reflow(element) { return element.offsetHeight; }, triggerTransitionEnd: function triggerTransitionEnd(element) { $$$1(element).trigger(transition.end); }, supportsTransitionEnd: function supportsTransitionEnd() { return Boolean(transition); }, isElement: function isElement(obj) { return (obj[0] || obj).nodeType; }, typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { for (var property in configTypes) { if (Object.prototype.hasOwnProperty.call(configTypes, property)) { var expectedTypes = configTypes[property]; var value = config[property]; var valueType = value && Util.isElement(value) ? 'element' : toType(value); if (!new RegExp(expectedTypes).test(valueType)) { throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); } } } } }; setTransitionEndSupport(); return Util; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): alert.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Alert = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'alert'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.alert'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var TRANSITION_DURATION = 150; var Selector = { DISMISS: '[data-dismiss="alert"]' }; var Event = { CLOSE: "close" + EVENT_KEY, CLOSED: "closed" + EVENT_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY }; var ClassName = { ALERT: 'alert', FADE: 'fade', SHOW: 'show' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Alert = /*#__PURE__*/ function () { function Alert(element) { this._element = element; } // Getters var _proto = Alert.prototype; // Public _proto.close = function close(element) { element = element || this._element; var rootElement = this._getRootElement(element); var customEvent = this._triggerCloseEvent(rootElement); if (customEvent.isDefaultPrevented()) { return; } this._removeElement(rootElement); }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); this._element = null; }; // Private _proto._getRootElement = function _getRootElement(element) { var selector = Util.getSelectorFromElement(element); var parent = false; if (selector) { parent = $$$1(selector)[0]; } if (!parent) { parent = $$$1(element).closest("." + ClassName.ALERT)[0]; } return parent; }; _proto._triggerCloseEvent = function _triggerCloseEvent(element) { var closeEvent = $$$1.Event(Event.CLOSE); $$$1(element).trigger(closeEvent); return closeEvent; }; _proto._removeElement = function _removeElement(element) { var _this = this; $$$1(element).removeClass(ClassName.SHOW); if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) { this._destroyElement(element); return; } $$$1(element).one(Util.TRANSITION_END, function (event) { return _this._destroyElement(element, event); }).emulateTransitionEnd(TRANSITION_DURATION); }; _proto._destroyElement = function _destroyElement(element) { $$$1(element).detach().trigger(Event.CLOSED).remove(); }; // Static Alert._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $element = $$$1(this); var data = $element.data(DATA_KEY); if (!data) { data = new Alert(this); $element.data(DATA_KEY, data); } if (config === 'close') { data[config](this); } }); }; Alert._handleDismiss = function _handleDismiss(alertInstance) { return function (event) { if (event) { event.preventDefault(); } alertInstance.close(this); }; }; _createClass(Alert, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return Alert; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Alert._jQueryInterface; $$$1.fn[NAME].Constructor = Alert; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Alert._jQueryInterface; }; return Alert; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): button.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Button = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'button'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.button'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var ClassName = { ACTIVE: 'active', BUTTON: 'btn', FOCUS: 'focus' }; var Selector = { DATA_TOGGLE_CARROT: '[data-toggle^="button"]', DATA_TOGGLE: '[data-toggle="buttons"]', INPUT: 'input', ACTIVE: '.active', BUTTON: '.btn' }; var Event = { CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Button = /*#__PURE__*/ function () { function Button(element) { this._element = element; } // Getters var _proto = Button.prototype; // Public _proto.toggle = function toggle() { var triggerChangeEvent = true; var addAriaPressed = true; var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0]; if (rootElement) { var input = $$$1(this._element).find(Selector.INPUT)[0]; if (input) { if (input.type === 'radio') { if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) { triggerChangeEvent = false; } else { var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0]; if (activeElement) { $$$1(activeElement).removeClass(ClassName.ACTIVE); } } } if (triggerChangeEvent) { if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { return; } input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE); $$$1(input).trigger('change'); } input.focus(); addAriaPressed = false; } } if (addAriaPressed) { this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE)); } if (triggerChangeEvent) { $$$1(this._element).toggleClass(ClassName.ACTIVE); } }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); this._element = null; }; // Static Button._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); if (!data) { data = new Button(this); $$$1(this).data(DATA_KEY, data); } if (config === 'toggle') { data[config](); } }); }; _createClass(Button, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return Button; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { event.preventDefault(); var button = event.target; if (!$$$1(button).hasClass(ClassName.BUTTON)) { button = $$$1(button).closest(Selector.BUTTON); } Button._jQueryInterface.call($$$1(button), 'toggle'); }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { var button = $$$1(event.target).closest(Selector.BUTTON)[0]; $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Button._jQueryInterface; $$$1.fn[NAME].Constructor = Button; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Button._jQueryInterface; }; return Button; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): carousel.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Carousel = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'carousel'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.carousel'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var TRANSITION_DURATION = 600; var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch var Default = { interval: 5000, keyboard: true, slide: false, pause: 'hover', wrap: true }; var DefaultType = { interval: '(number|boolean)', keyboard: 'boolean', slide: '(boolean|string)', pause: '(string|boolean)', wrap: 'boolean' }; var Direction = { NEXT: 'next', PREV: 'prev', LEFT: 'left', RIGHT: 'right' }; var Event = { SLIDE: "slide" + EVENT_KEY, SLID: "slid" + EVENT_KEY, KEYDOWN: "keydown" + EVENT_KEY, MOUSEENTER: "mouseenter" + EVENT_KEY, MOUSELEAVE: "mouseleave" + EVENT_KEY, TOUCHEND: "touchend" + EVENT_KEY, LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY }; var ClassName = { CAROUSEL: 'carousel', ACTIVE: 'active', SLIDE: 'slide', RIGHT: 'carousel-item-right', LEFT: 'carousel-item-left', NEXT: 'carousel-item-next', PREV: 'carousel-item-prev', ITEM: 'carousel-item' }; var Selector = { ACTIVE: '.active', ACTIVE_ITEM: '.active.carousel-item', ITEM: '.carousel-item', NEXT_PREV: '.carousel-item-next, .carousel-item-prev', INDICATORS: '.carousel-indicators', DATA_SLIDE: '[data-slide], [data-slide-to]', DATA_RIDE: '[data-ride="carousel"]' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Carousel = /*#__PURE__*/ function () { function Carousel(element, config) { this._items = null; this._interval = null; this._activeElement = null; this._isPaused = false; this._isSliding = false; this.touchTimeout = null; this._config = this._getConfig(config); this._element = $$$1(element)[0]; this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0]; this._addEventListeners(); } // Getters var _proto = Carousel.prototype; // Public _proto.next = function next() { if (!this._isSliding) { this._slide(Direction.NEXT); } }; _proto.nextWhenVisible = function nextWhenVisible() { // Don't call next when the page isn't visible // or the carousel or its parent isn't visible if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') { this.next(); } }; _proto.prev = function prev() { if (!this._isSliding) { this._slide(Direction.PREV); } }; _proto.pause = function pause(event) { if (!event) { this._isPaused = true; } if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { Util.triggerTransitionEnd(this._element); this.cycle(true); } clearInterval(this._interval); this._interval = null; }; _proto.cycle = function cycle(event) { if (!event) { this._isPaused = false; } if (this._interval) { clearInterval(this._interval); this._interval = null; } if (this._config.interval && !this._isPaused) { this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); } }; _proto.to = function to(index) { var _this = this; this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; var activeIndex = this._getItemIndex(this._activeElement); if (index > this._items.length - 1 || index < 0) { return; } if (this._isSliding) { $$$1(this._element).one(Event.SLID, function () { return _this.to(index); }); return; } if (activeIndex === index) { this.pause(); this.cycle(); return; } var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; this._slide(direction, this._items[index]); }; _proto.dispose = function dispose() { $$$1(this._element).off(EVENT_KEY); $$$1.removeData(this._element, DATA_KEY); this._items = null; this._config = null; this._element = null; this._interval = null; this._isPaused = null; this._isSliding = null; this._activeElement = null; this._indicatorsElement = null; }; // Private _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); Util.typeCheckConfig(NAME, config, DefaultType); return config; }; _proto._addEventListeners = function _addEventListeners() { var _this2 = this; if (this._config.keyboard) { $$$1(this._element).on(Event.KEYDOWN, function (event) { return _this2._keydown(event); }); } if (this._config.pause === 'hover') { $$$1(this._element).on(Event.MOUSEENTER, function (event) { return _this2.pause(event); }).on(Event.MOUSELEAVE, function (event) { return _this2.cycle(event); }); if ('ontouchstart' in document.documentElement) { // If it's a touch-enabled device, mouseenter/leave are fired as // part of the mouse compatibility events on first tap - the carousel // would stop cycling until user tapped out of it; // here, we listen for touchend, explicitly pause the carousel // (as if it's the second time we tap on it, mouseenter compat event // is NOT fired) and after a timeout (to allow for mouse compatibility // events to fire) we explicitly restart cycling $$$1(this._element).on(Event.TOUCHEND, function () { _this2.pause(); if (_this2.touchTimeout) { clearTimeout(_this2.touchTimeout); } _this2.touchTimeout = setTimeout(function (event) { return _this2.cycle(event); }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); }); } } }; _proto._keydown = function _keydown(event) { if (/input|textarea/i.test(event.target.tagName)) { return; } switch (event.which) { case ARROW_LEFT_KEYCODE: event.preventDefault(); this.prev(); break; case ARROW_RIGHT_KEYCODE: event.preventDefault(); this.next(); break; default: } }; _proto._getItemIndex = function _getItemIndex(element) { this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM)); return this._items.indexOf(element); }; _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { var isNextDirection = direction === Direction.NEXT; var isPrevDirection = direction === Direction.PREV; var activeIndex = this._getItemIndex(activeElement); var lastItemIndex = this._items.length - 1; var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; if (isGoingToWrap && !this._config.wrap) { return activeElement; } var delta = direction === Direction.PREV ? -1 : 1; var itemIndex = (activeIndex + delta) % this._items.length; return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; }; _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { var targetIndex = this._getItemIndex(relatedTarget); var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]); var slideEvent = $$$1.Event(Event.SLIDE, { relatedTarget: relatedTarget, direction: eventDirectionName, from: fromIndex, to: targetIndex }); $$$1(this._element).trigger(slideEvent); return slideEvent; }; _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { if (this._indicatorsElement) { $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; if (nextIndicator) { $$$1(nextIndicator).addClass(ClassName.ACTIVE); } } }; _proto._slide = function _slide(direction, element) { var _this3 = this; var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; var activeElementIndex = this._getItemIndex(activeElement); var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); var nextElementIndex = this._getItemIndex(nextElement); var isCycling = Boolean(this._interval); var directionalClassName; var orderClassName; var eventDirectionName; if (direction === Direction.NEXT) { directionalClassName = ClassName.LEFT; orderClassName = ClassName.NEXT; eventDirectionName = Direction.LEFT; } else { directionalClassName = ClassName.RIGHT; orderClassName = ClassName.PREV; eventDirectionName = Direction.RIGHT; } if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) { this._isSliding = false; return; } var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); if (slideEvent.isDefaultPrevented()) { return; } if (!activeElement || !nextElement) { // Some weirdness is happening, so we bail return; } this._isSliding = true; if (isCycling) { this.pause(); } this._setActiveIndicatorElement(nextElement); var slidEvent = $$$1.Event(Event.SLID, { relatedTarget: nextElement, direction: eventDirectionName, from: activeElementIndex, to: nextElementIndex }); if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) { $$$1(nextElement).addClass(orderClassName); Util.reflow(nextElement); $$$1(activeElement).addClass(directionalClassName); $$$1(nextElement).addClass(directionalClassName); $$$1(activeElement).one(Util.TRANSITION_END, function () { $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); _this3._isSliding = false; setTimeout(function () { return $$$1(_this3._element).trigger(slidEvent); }, 0); }).emulateTransitionEnd(TRANSITION_DURATION); } else { $$$1(activeElement).removeClass(ClassName.ACTIVE); $$$1(nextElement).addClass(ClassName.ACTIVE); this._isSliding = false; $$$1(this._element).trigger(slidEvent); } if (isCycling) { this.cycle(); } }; // Static Carousel._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = _extends({}, Default, $$$1(this).data()); if (typeof config === 'object') { _config = _extends({}, _config, config); } var action = typeof config === 'string' ? config : _config.slide; if (!data) { data = new Carousel(this, _config); $$$1(this).data(DATA_KEY, data); } if (typeof config === 'number') { data.to(config); } else if (typeof action === 'string') { if (typeof data[action] === 'undefined') { throw new TypeError("No method named \"" + action + "\""); } data[action](); } else if (_config.interval) { data.pause(); data.cycle(); } }); }; Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { var selector = Util.getSelectorFromElement(this); if (!selector) { return; } var target = $$$1(selector)[0]; if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) { return; } var config = _extends({}, $$$1(target).data(), $$$1(this).data()); var slideIndex = this.getAttribute('data-slide-to'); if (slideIndex) { config.interval = false; } Carousel._jQueryInterface.call($$$1(target), config); if (slideIndex) { $$$1(target).data(DATA_KEY).to(slideIndex); } event.preventDefault(); }; _createClass(Carousel, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }]); return Carousel; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); $$$1(window).on(Event.LOAD_DATA_API, function () { $$$1(Selector.DATA_RIDE).each(function () { var $carousel = $$$1(this); Carousel._jQueryInterface.call($carousel, $carousel.data()); }); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Carousel._jQueryInterface; $$$1.fn[NAME].Constructor = Carousel; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Carousel._jQueryInterface; }; return Carousel; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): collapse.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Collapse = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'collapse'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.collapse'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var TRANSITION_DURATION = 600; var Default = { toggle: true, parent: '' }; var DefaultType = { toggle: 'boolean', parent: '(string|element)' }; var Event = { SHOW: "show" + EVENT_KEY, SHOWN: "shown" + EVENT_KEY, HIDE: "hide" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY }; var ClassName = { SHOW: 'show', COLLAPSE: 'collapse', COLLAPSING: 'collapsing', COLLAPSED: 'collapsed' }; var Dimension = { WIDTH: 'width', HEIGHT: 'height' }; var Selector = { ACTIVES: '.show, .collapsing', DATA_TOGGLE: '[data-toggle="collapse"]' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Collapse = /*#__PURE__*/ function () { function Collapse(element, config) { this._isTransitioning = false; this._element = element; this._config = this._getConfig(config); this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); var tabToggles = $$$1(Selector.DATA_TOGGLE); for (var i = 0; i < tabToggles.length; i++) { var elem = tabToggles[i]; var selector = Util.getSelectorFromElement(elem); if (selector !== null && $$$1(selector).filter(element).length > 0) { this._selector = selector; this._triggerArray.push(elem); } } this._parent = this._config.parent ? this._getParent() : null; if (!this._config.parent) { this._addAriaAndCollapsedClass(this._element, this._triggerArray); } if (this._config.toggle) { this.toggle(); } } // Getters var _proto = Collapse.prototype; // Public _proto.toggle = function toggle() { if ($$$1(this._element).hasClass(ClassName.SHOW)) { this.hide(); } else { this.show(); } }; _proto.show = function show() { var _this = this; if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) { return; } var actives; var activesData; if (this._parent) { actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]")); if (actives.length === 0) { actives = null; } } if (actives) { activesData = $$$1(actives).not(this._selector).data(DATA_KEY); if (activesData && activesData._isTransitioning) { return; } } var startEvent = $$$1.Event(Event.SHOW); $$$1(this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } if (actives) { Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide'); if (!activesData) { $$$1(actives).data(DATA_KEY, null); } } var dimension = this._getDimension(); $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); this._element.style[dimension] = 0; if (this._triggerArray.length > 0) { $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); } this.setTransitioning(true); var complete = function complete() { $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); _this._element.style[dimension] = ''; _this.setTransitioning(false); $$$1(_this._element).trigger(Event.SHOWN); }; if (!Util.supportsTransitionEnd()) { complete(); return; } var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); var scrollSize = "scroll" + capitalizedDimension; $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); this._element.style[dimension] = this._element[scrollSize] + "px"; }; _proto.hide = function hide() { var _this2 = this; if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) { return; } var startEvent = $$$1.Event(Event.HIDE); $$$1(this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } var dimension = this._getDimension(); this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; Util.reflow(this._element); $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); if (this._triggerArray.length > 0) { for (var i = 0; i < this._triggerArray.length; i++) { var trigger = this._triggerArray[i]; var selector = Util.getSelectorFromElement(trigger); if (selector !== null) { var $elem = $$$1(selector); if (!$elem.hasClass(ClassName.SHOW)) { $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); } } } } this.setTransitioning(true); var complete = function complete() { _this2.setTransitioning(false); $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); }; this._element.style[dimension] = ''; if (!Util.supportsTransitionEnd()) { complete(); return; } $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); }; _proto.setTransitioning = function setTransitioning(isTransitioning) { this._isTransitioning = isTransitioning; }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); this._config = null; this._parent = null; this._element = null; this._triggerArray = null; this._isTransitioning = null; }; // Private _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); config.toggle = Boolean(config.toggle); // Coerce string values Util.typeCheckConfig(NAME, config, DefaultType); return config; }; _proto._getDimension = function _getDimension() { var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH); return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; }; _proto._getParent = function _getParent() { var _this3 = this; var parent = null; if (Util.isElement(this._config.parent)) { parent = this._config.parent; // It's a jQuery object if (typeof this._config.parent.jquery !== 'undefined') { parent = this._config.parent[0]; } } else { parent = $$$1(this._config.parent)[0]; } var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; $$$1(parent).find(selector).each(function (i, element) { _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); }); return parent; }; _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { if (element) { var isOpen = $$$1(element).hasClass(ClassName.SHOW); if (triggerArray.length > 0) { $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); } } }; // Static Collapse._getTargetFromElement = function _getTargetFromElement(element) { var selector = Util.getSelectorFromElement(element); return selector ? $$$1(selector)[0] : null; }; Collapse._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $this = $$$1(this); var data = $this.data(DATA_KEY); var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config); if (!data && _config.toggle && /show|hide/.test(config)) { _config.toggle = false; } if (!data) { data = new Collapse(this, _config); $this.data(DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Collapse, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }]); return Collapse; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { // preventDefault only for elements (which change the URL) not inside the collapsible element if (event.currentTarget.tagName === 'A') { event.preventDefault(); } var $trigger = $$$1(this); var selector = Util.getSelectorFromElement(this); $$$1(selector).each(function () { var $target = $$$1(this); var data = $target.data(DATA_KEY); var config = data ? 'toggle' : $trigger.data(); Collapse._jQueryInterface.call($target, config); }); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Collapse._jQueryInterface; $$$1.fn[NAME].Constructor = Collapse; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Collapse._jQueryInterface; }; return Collapse; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): dropdown.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Dropdown = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'dropdown'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.dropdown'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); var Event = { HIDE: "hide" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY, SHOW: "show" + EVENT_KEY, SHOWN: "shown" + EVENT_KEY, CLICK: "click" + EVENT_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY }; var ClassName = { DISABLED: 'disabled', SHOW: 'show', DROPUP: 'dropup', DROPRIGHT: 'dropright', DROPLEFT: 'dropleft', MENURIGHT: 'dropdown-menu-right', MENULEFT: 'dropdown-menu-left', POSITION_STATIC: 'position-static' }; var Selector = { DATA_TOGGLE: '[data-toggle="dropdown"]', FORM_CHILD: '.dropdown form', MENU: '.dropdown-menu', NAVBAR_NAV: '.navbar-nav', VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)' }; var AttachmentMap = { TOP: 'top-start', TOPEND: 'top-end', BOTTOM: 'bottom-start', BOTTOMEND: 'bottom-end', RIGHT: 'right-start', RIGHTEND: 'right-end', LEFT: 'left-start', LEFTEND: 'left-end' }; var Default = { offset: 0, flip: true, boundary: 'scrollParent' }; var DefaultType = { offset: '(number|string|function)', flip: 'boolean', boundary: '(string|element)' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Dropdown = /*#__PURE__*/ function () { function Dropdown(element, config) { this._element = element; this._popper = null; this._config = this._getConfig(config); this._menu = this._getMenuElement(); this._inNavbar = this._detectNavbar(); this._addEventListeners(); } // Getters var _proto = Dropdown.prototype; // Public _proto.toggle = function toggle() { if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) { return; } var parent = Dropdown._getParentFromElement(this._element); var isActive = $$$1(this._menu).hasClass(ClassName.SHOW); Dropdown._clearMenus(); if (isActive) { return; } var relatedTarget = { relatedTarget: this._element }; var showEvent = $$$1.Event(Event.SHOW, relatedTarget); $$$1(parent).trigger(showEvent); if (showEvent.isDefaultPrevented()) { return; } // Disable totally Popper.js for Dropdown in Navbar if (!this._inNavbar) { /** * Check for Popper dependency * Popper - https://popper.js.org */ if (typeof Popper === 'undefined') { throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)'); } var element = this._element; // For dropup with alignment we use the parent as popper container if ($$$1(parent).hasClass(ClassName.DROPUP)) { if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) { element = parent; } } // If boundary is not `scrollParent`, then set position to `static` // to allow the menu to "escape" the scroll parent's boundaries // https://github.com/twbs/bootstrap/issues/24251 if (this._config.boundary !== 'scrollParent') { $$$1(parent).addClass(ClassName.POSITION_STATIC); } this._popper = new Popper(element, this._menu, this._getPopperConfig()); } // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) { $$$1('body').children().on('mouseover', null, $$$1.noop); } this._element.focus(); this._element.setAttribute('aria-expanded', true); $$$1(this._menu).toggleClass(ClassName.SHOW); $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget)); }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); $$$1(this._element).off(EVENT_KEY); this._element = null; this._menu = null; if (this._popper !== null) { this._popper.destroy(); this._popper = null; } }; _proto.update = function update() { this._inNavbar = this._detectNavbar(); if (this._popper !== null) { this._popper.scheduleUpdate(); } }; // Private _proto._addEventListeners = function _addEventListeners() { var _this = this; $$$1(this._element).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); _this.toggle(); }); }; _proto._getConfig = function _getConfig(config) { config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config); Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); return config; }; _proto._getMenuElement = function _getMenuElement() { if (!this._menu) { var parent = Dropdown._getParentFromElement(this._element); this._menu = $$$1(parent).find(Selector.MENU)[0]; } return this._menu; }; _proto._getPlacement = function _getPlacement() { var $parentDropdown = $$$1(this._element).parent(); var placement = AttachmentMap.BOTTOM; // Handle dropup if ($parentDropdown.hasClass(ClassName.DROPUP)) { placement = AttachmentMap.TOP; if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { placement = AttachmentMap.TOPEND; } } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { placement = AttachmentMap.RIGHT; } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { placement = AttachmentMap.LEFT; } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { placement = AttachmentMap.BOTTOMEND; } return placement; }; _proto._detectNavbar = function _detectNavbar() { return $$$1(this._element).closest('.navbar').length > 0; }; _proto._getPopperConfig = function _getPopperConfig() { var _this2 = this; var offsetConf = {}; if (typeof this._config.offset === 'function') { offsetConf.fn = function (data) { data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {}); return data; }; } else { offsetConf.offset = this._config.offset; } var popperConfig = { placement: this._getPlacement(), modifiers: { offset: offsetConf, flip: { enabled: this._config.flip }, preventOverflow: { boundariesElement: this._config.boundary } } }; return popperConfig; }; // Static Dropdown._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = typeof config === 'object' ? config : null; if (!data) { data = new Dropdown(this, _config); $$$1(this).data(DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; Dropdown._clearMenus = function _clearMenus(event) { if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { return; } var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE)); for (var i = 0; i < toggles.length; i++) { var parent = Dropdown._getParentFromElement(toggles[i]); var context = $$$1(toggles[i]).data(DATA_KEY); var relatedTarget = { relatedTarget: toggles[i] }; if (!context) { continue; } var dropdownMenu = context._menu; if (!$$$1(parent).hasClass(ClassName.SHOW)) { continue; } if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) { continue; } var hideEvent = $$$1.Event(Event.HIDE, relatedTarget); $$$1(parent).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { continue; } // If this is a touch-enabled device we remove the extra // empty mouseover listeners we added for iOS support if ('ontouchstart' in document.documentElement) { $$$1('body').children().off('mouseover', null, $$$1.noop); } toggles[i].setAttribute('aria-expanded', 'false'); $$$1(dropdownMenu).removeClass(ClassName.SHOW); $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget)); } }; Dropdown._getParentFromElement = function _getParentFromElement(element) { var parent; var selector = Util.getSelectorFromElement(element); if (selector) { parent = $$$1(selector)[0]; } return parent || element.parentNode; }; // eslint-disable-next-line complexity Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { // If not input/textarea: // - And not a key in REGEXP_KEYDOWN => not a dropdown command // If input/textarea: // - If space key => not a dropdown command // - If key is other than escape // - If key is not up or down => not a dropdown command // - If trigger inside the menu => not a dropdown command if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { return; } event.preventDefault(); event.stopPropagation(); if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) { return; } var parent = Dropdown._getParentFromElement(this); var isActive = $$$1(parent).hasClass(ClassName.SHOW); if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { if (event.which === ESCAPE_KEYCODE) { var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0]; $$$1(toggle).trigger('focus'); } $$$1(this).trigger('click'); return; } var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get(); if (items.length === 0) { return; } var index = items.indexOf(event.target); if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up index--; } if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down index++; } if (index < 0) { index = 0; } items[index].focus(); }; _createClass(Dropdown, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }, { key: "DefaultType", get: function get() { return DefaultType; } }]); return Dropdown; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { event.preventDefault(); event.stopPropagation(); Dropdown._jQueryInterface.call($$$1(this), 'toggle'); }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { e.stopPropagation(); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Dropdown._jQueryInterface; $$$1.fn[NAME].Constructor = Dropdown; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Dropdown._jQueryInterface; }; return Dropdown; }($, Popper); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): modal.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Modal = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'modal'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.modal'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var TRANSITION_DURATION = 300; var BACKDROP_TRANSITION_DURATION = 150; var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key var Default = { backdrop: true, keyboard: true, focus: true, show: true }; var DefaultType = { backdrop: '(boolean|string)', keyboard: 'boolean', focus: 'boolean', show: 'boolean' }; var Event = { HIDE: "hide" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY, SHOW: "show" + EVENT_KEY, SHOWN: "shown" + EVENT_KEY, FOCUSIN: "focusin" + EVENT_KEY, RESIZE: "resize" + EVENT_KEY, CLICK_DISMISS: "click.dismiss" + EVENT_KEY, KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY }; var ClassName = { SCROLLBAR_MEASURER: 'modal-scrollbar-measure', BACKDROP: 'modal-backdrop', OPEN: 'modal-open', FADE: 'fade', SHOW: 'show' }; var Selector = { DIALOG: '.modal-dialog', DATA_TOGGLE: '[data-toggle="modal"]', DATA_DISMISS: '[data-dismiss="modal"]', FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', STICKY_CONTENT: '.sticky-top', NAVBAR_TOGGLER: '.navbar-toggler' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Modal = /*#__PURE__*/ function () { function Modal(element, config) { this._config = this._getConfig(config); this._element = element; this._dialog = $$$1(element).find(Selector.DIALOG)[0]; this._backdrop = null; this._isShown = false; this._isBodyOverflowing = false; this._ignoreBackdropClick = false; this._originalBodyPadding = 0; this._scrollbarWidth = 0; } // Getters var _proto = Modal.prototype; // Public _proto.toggle = function toggle(relatedTarget) { return this._isShown ? this.hide() : this.show(relatedTarget); }; _proto.show = function show(relatedTarget) { var _this = this; if (this._isTransitioning || this._isShown) { return; } if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { this._isTransitioning = true; } var showEvent = $$$1.Event(Event.SHOW, { relatedTarget: relatedTarget }); $$$1(this._element).trigger(showEvent); if (this._isShown || showEvent.isDefaultPrevented()) { return; } this._isShown = true; this._checkScrollbar(); this._setScrollbar(); this._adjustDialog(); $$$1(document.body).addClass(ClassName.OPEN); this._setEscapeEvent(); this._setResizeEvent(); $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { return _this.hide(event); }); $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { if ($$$1(event.target).is(_this._element)) { _this._ignoreBackdropClick = true; } }); }); this._showBackdrop(function () { return _this._showElement(relatedTarget); }); }; _proto.hide = function hide(event) { var _this2 = this; if (event) { event.preventDefault(); } if (this._isTransitioning || !this._isShown) { return; } var hideEvent = $$$1.Event(Event.HIDE); $$$1(this._element).trigger(hideEvent); if (!this._isShown || hideEvent.isDefaultPrevented()) { return; } this._isShown = false; var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE); if (transition) { this._isTransitioning = true; } this._setEscapeEvent(); this._setResizeEvent(); $$$1(document).off(Event.FOCUSIN); $$$1(this._element).removeClass(ClassName.SHOW); $$$1(this._element).off(Event.CLICK_DISMISS); $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS); if (transition) { $$$1(this._element).one(Util.TRANSITION_END, function (event) { return _this2._hideModal(event); }).emulateTransitionEnd(TRANSITION_DURATION); } else { this._hideModal(); } }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY); this._config = null; this._element = null; this._dialog = null; this._backdrop = null; this._isShown = null; this._isBodyOverflowing = null; this._ignoreBackdropClick = null; this._scrollbarWidth = null; }; _proto.handleUpdate = function handleUpdate() { this._adjustDialog(); }; // Private _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); Util.typeCheckConfig(NAME, config, DefaultType); return config; }; _proto._showElement = function _showElement(relatedTarget) { var _this3 = this; var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE); if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { // Don't move modal's DOM position document.body.appendChild(this._element); } this._element.style.display = 'block'; this._element.removeAttribute('aria-hidden'); this._element.scrollTop = 0; if (transition) { Util.reflow(this._element); } $$$1(this._element).addClass(ClassName.SHOW); if (this._config.focus) { this._enforceFocus(); } var shownEvent = $$$1.Event(Event.SHOWN, { relatedTarget: relatedTarget }); var transitionComplete = function transitionComplete() { if (_this3._config.focus) { _this3._element.focus(); } _this3._isTransitioning = false; $$$1(_this3._element).trigger(shownEvent); }; if (transition) { $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); } else { transitionComplete(); } }; _proto._enforceFocus = function _enforceFocus() { var _this4 = this; $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop .on(Event.FOCUSIN, function (event) { if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) { _this4._element.focus(); } }); }; _proto._setEscapeEvent = function _setEscapeEvent() { var _this5 = this; if (this._isShown && this._config.keyboard) { $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) { if (event.which === ESCAPE_KEYCODE) { event.preventDefault(); _this5.hide(); } }); } else if (!this._isShown) { $$$1(this._element).off(Event.KEYDOWN_DISMISS); } }; _proto._setResizeEvent = function _setResizeEvent() { var _this6 = this; if (this._isShown) { $$$1(window).on(Event.RESIZE, function (event) { return _this6.handleUpdate(event); }); } else { $$$1(window).off(Event.RESIZE); } }; _proto._hideModal = function _hideModal() { var _this7 = this; this._element.style.display = 'none'; this._element.setAttribute('aria-hidden', true); this._isTransitioning = false; this._showBackdrop(function () { $$$1(document.body).removeClass(ClassName.OPEN); _this7._resetAdjustments(); _this7._resetScrollbar(); $$$1(_this7._element).trigger(Event.HIDDEN); }); }; _proto._removeBackdrop = function _removeBackdrop() { if (this._backdrop) { $$$1(this._backdrop).remove(); this._backdrop = null; } }; _proto._showBackdrop = function _showBackdrop(callback) { var _this8 = this; var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; if (this._isShown && this._config.backdrop) { var doAnimate = Util.supportsTransitionEnd() && animate; this._backdrop = document.createElement('div'); this._backdrop.className = ClassName.BACKDROP; if (animate) { $$$1(this._backdrop).addClass(animate); } $$$1(this._backdrop).appendTo(document.body); $$$1(this._element).on(Event.CLICK_DISMISS, function (event) { if (_this8._ignoreBackdropClick) { _this8._ignoreBackdropClick = false; return; } if (event.target !== event.currentTarget) { return; } if (_this8._config.backdrop === 'static') { _this8._element.focus(); } else { _this8.hide(); } }); if (doAnimate) { Util.reflow(this._backdrop); } $$$1(this._backdrop).addClass(ClassName.SHOW); if (!callback) { return; } if (!doAnimate) { callback(); return; } $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); } else if (!this._isShown && this._backdrop) { $$$1(this._backdrop).removeClass(ClassName.SHOW); var callbackRemove = function callbackRemove() { _this8._removeBackdrop(); if (callback) { callback(); } }; if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); } else { callbackRemove(); } } else if (callback) { callback(); } }; // ---------------------------------------------------------------------- // the following methods are used to handle overflowing modals // todo (fat): these should probably be refactored out of modal.js // ---------------------------------------------------------------------- _proto._adjustDialog = function _adjustDialog() { var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; if (!this._isBodyOverflowing && isModalOverflowing) { this._element.style.paddingLeft = this._scrollbarWidth + "px"; } if (this._isBodyOverflowing && !isModalOverflowing) { this._element.style.paddingRight = this._scrollbarWidth + "px"; } }; _proto._resetAdjustments = function _resetAdjustments() { this._element.style.paddingLeft = ''; this._element.style.paddingRight = ''; }; _proto._checkScrollbar = function _checkScrollbar() { var rect = document.body.getBoundingClientRect(); this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; this._scrollbarWidth = this._getScrollbarWidth(); }; _proto._setScrollbar = function _setScrollbar() { var _this9 = this; if (this._isBodyOverflowing) { // Note: DOMNode.style.paddingRight returns the actual value or '' if not set // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set // Adjust fixed content padding $$$1(Selector.FIXED_CONTENT).each(function (index, element) { var actualPadding = $$$1(element)[0].style.paddingRight; var calculatedPadding = $$$1(element).css('padding-right'); $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); }); // Adjust sticky content margin $$$1(Selector.STICKY_CONTENT).each(function (index, element) { var actualMargin = $$$1(element)[0].style.marginRight; var calculatedMargin = $$$1(element).css('margin-right'); $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); }); // Adjust navbar-toggler margin $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) { var actualMargin = $$$1(element)[0].style.marginRight; var calculatedMargin = $$$1(element).css('margin-right'); $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px"); }); // Adjust body padding var actualPadding = document.body.style.paddingRight; var calculatedPadding = $$$1('body').css('padding-right'); $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } }; _proto._resetScrollbar = function _resetScrollbar() { // Restore fixed content padding $$$1(Selector.FIXED_CONTENT).each(function (index, element) { var padding = $$$1(element).data('padding-right'); if (typeof padding !== 'undefined') { $$$1(element).css('padding-right', padding).removeData('padding-right'); } }); // Restore sticky content and navbar-toggler margin $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) { var margin = $$$1(element).data('margin-right'); if (typeof margin !== 'undefined') { $$$1(element).css('margin-right', margin).removeData('margin-right'); } }); // Restore body padding var padding = $$$1('body').data('padding-right'); if (typeof padding !== 'undefined') { $$$1('body').css('padding-right', padding).removeData('padding-right'); } }; _proto._getScrollbarWidth = function _getScrollbarWidth() { // thx d.walsh var scrollDiv = document.createElement('div'); scrollDiv.className = ClassName.SCROLLBAR_MEASURER; document.body.appendChild(scrollDiv); var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; document.body.removeChild(scrollDiv); return scrollbarWidth; }; // Static Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); if (!data) { data = new Modal(this, _config); $$$1(this).data(DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](relatedTarget); } else if (_config.show) { data.show(relatedTarget); } }); }; _createClass(Modal, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }]); return Modal; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { var _this10 = this; var target; var selector = Util.getSelectorFromElement(this); if (selector) { target = $$$1(selector)[0]; } var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data()); if (this.tagName === 'A' || this.tagName === 'AREA') { event.preventDefault(); } var $target = $$$1(target).one(Event.SHOW, function (showEvent) { if (showEvent.isDefaultPrevented()) { // Only register focus restorer if modal will actually get shown return; } $target.one(Event.HIDDEN, function () { if ($$$1(_this10).is(':visible')) { _this10.focus(); } }); }); Modal._jQueryInterface.call($$$1(target), config, this); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Modal._jQueryInterface; $$$1.fn[NAME].Constructor = Modal; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Modal._jQueryInterface; }; return Modal; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): tooltip.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Tooltip = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'tooltip'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.tooltip'; var EVENT_KEY = "." + DATA_KEY; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var TRANSITION_DURATION = 150; var CLASS_PREFIX = 'bs-tooltip'; var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var DefaultType = { animation: 'boolean', template: 'string', title: '(string|element|function)', trigger: 'string', delay: '(number|object)', html: 'boolean', selector: '(string|boolean)', placement: '(string|function)', offset: '(number|string)', container: '(string|element|boolean)', fallbackPlacement: '(string|array)', boundary: '(string|element)' }; var AttachmentMap = { AUTO: 'auto', TOP: 'top', RIGHT: 'right', BOTTOM: 'bottom', LEFT: 'left' }; var Default = { animation: true, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, selector: false, placement: 'top', offset: 0, container: false, fallbackPlacement: 'flip', boundary: 'scrollParent' }; var HoverState = { SHOW: 'show', OUT: 'out' }; var Event = { HIDE: "hide" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY, SHOW: "show" + EVENT_KEY, SHOWN: "shown" + EVENT_KEY, INSERTED: "inserted" + EVENT_KEY, CLICK: "click" + EVENT_KEY, FOCUSIN: "focusin" + EVENT_KEY, FOCUSOUT: "focusout" + EVENT_KEY, MOUSEENTER: "mouseenter" + EVENT_KEY, MOUSELEAVE: "mouseleave" + EVENT_KEY }; var ClassName = { FADE: 'fade', SHOW: 'show' }; var Selector = { TOOLTIP: '.tooltip', TOOLTIP_INNER: '.tooltip-inner', ARROW: '.arrow' }; var Trigger = { HOVER: 'hover', FOCUS: 'focus', CLICK: 'click', MANUAL: 'manual' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Tooltip = /*#__PURE__*/ function () { function Tooltip(element, config) { /** * Check for Popper dependency * Popper - https://popper.js.org */ if (typeof Popper === 'undefined') { throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)'); } // private this._isEnabled = true; this._timeout = 0; this._hoverState = ''; this._activeTrigger = {}; this._popper = null; // Protected this.element = element; this.config = this._getConfig(config); this.tip = null; this._setListeners(); } // Getters var _proto = Tooltip.prototype; // Public _proto.enable = function enable() { this._isEnabled = true; }; _proto.disable = function disable() { this._isEnabled = false; }; _proto.toggleEnabled = function toggleEnabled() { this._isEnabled = !this._isEnabled; }; _proto.toggle = function toggle(event) { if (!this._isEnabled) { return; } if (event) { var dataKey = this.constructor.DATA_KEY; var context = $$$1(event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $$$1(event.currentTarget).data(dataKey, context); } context._activeTrigger.click = !context._activeTrigger.click; if (context._isWithActiveTrigger()) { context._enter(null, context); } else { context._leave(null, context); } } else { if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) { this._leave(null, this); return; } this._enter(null, this); } }; _proto.dispose = function dispose() { clearTimeout(this._timeout); $$$1.removeData(this.element, this.constructor.DATA_KEY); $$$1(this.element).off(this.constructor.EVENT_KEY); $$$1(this.element).closest('.modal').off('hide.bs.modal'); if (this.tip) { $$$1(this.tip).remove(); } this._isEnabled = null; this._timeout = null; this._hoverState = null; this._activeTrigger = null; if (this._popper !== null) { this._popper.destroy(); } this._popper = null; this.element = null; this.config = null; this.tip = null; }; _proto.show = function show() { var _this = this; if ($$$1(this.element).css('display') === 'none') { throw new Error('Please use show on visible elements'); } var showEvent = $$$1.Event(this.constructor.Event.SHOW); if (this.isWithContent() && this._isEnabled) { $$$1(this.element).trigger(showEvent); var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element); if (showEvent.isDefaultPrevented() || !isInTheDom) { return; } var tip = this.getTipElement(); var tipId = Util.getUID(this.constructor.NAME); tip.setAttribute('id', tipId); this.element.setAttribute('aria-describedby', tipId); this.setContent(); if (this.config.animation) { $$$1(tip).addClass(ClassName.FADE); } var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; var attachment = this._getAttachment(placement); this.addAttachmentClass(attachment); var container = this.config.container === false ? document.body : $$$1(this.config.container); $$$1(tip).data(this.constructor.DATA_KEY, this); if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) { $$$1(tip).appendTo(container); } $$$1(this.element).trigger(this.constructor.Event.INSERTED); this._popper = new Popper(this.element, tip, { placement: attachment, modifiers: { offset: { offset: this.config.offset }, flip: { behavior: this.config.fallbackPlacement }, arrow: { element: Selector.ARROW }, preventOverflow: { boundariesElement: this.config.boundary } }, onCreate: function onCreate(data) { if (data.originalPlacement !== data.placement) { _this._handlePopperPlacementChange(data); } }, onUpdate: function onUpdate(data) { _this._handlePopperPlacementChange(data); } }); $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentElement) { $$$1('body').children().on('mouseover', null, $$$1.noop); } var complete = function complete() { if (_this.config.animation) { _this._fixTransition(); } var prevHoverState = _this._hoverState; _this._hoverState = null; $$$1(_this.element).trigger(_this.constructor.Event.SHOWN); if (prevHoverState === HoverState.OUT) { _this._leave(null, _this); } }; if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); } else { complete(); } } }; _proto.hide = function hide(callback) { var _this2 = this; var tip = this.getTipElement(); var hideEvent = $$$1.Event(this.constructor.Event.HIDE); var complete = function complete() { if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { tip.parentNode.removeChild(tip); } _this2._cleanTipClass(); _this2.element.removeAttribute('aria-describedby'); $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN); if (_this2._popper !== null) { _this2._popper.destroy(); } if (callback) { callback(); } }; $$$1(this.element).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { return; } $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra // empty mouseover listeners we added for iOS support if ('ontouchstart' in document.documentElement) { $$$1('body').children().off('mouseover', null, $$$1.noop); } this._activeTrigger[Trigger.CLICK] = false; this._activeTrigger[Trigger.FOCUS] = false; this._activeTrigger[Trigger.HOVER] = false; if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); } else { complete(); } this._hoverState = ''; }; _proto.update = function update() { if (this._popper !== null) { this._popper.scheduleUpdate(); } }; // Protected _proto.isWithContent = function isWithContent() { return Boolean(this.getTitle()); }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); }; _proto.getTipElement = function getTipElement() { this.tip = this.tip || $$$1(this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { var $tip = $$$1(this.getTipElement()); this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); }; _proto.setElementContent = function setElementContent($element, content) { var html = this.config.html; if (typeof content === 'object' && (content.nodeType || content.jquery)) { // Content is a DOM node or a jQuery if (html) { if (!$$$1(content).parent().is($element)) { $element.empty().append(content); } } else { $element.text($$$1(content).text()); } } else { $element[html ? 'html' : 'text'](content); } }; _proto.getTitle = function getTitle() { var title = this.element.getAttribute('data-original-title'); if (!title) { title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; } return title; }; // Private _proto._getAttachment = function _getAttachment(placement) { return AttachmentMap[placement.toUpperCase()]; }; _proto._setListeners = function _setListeners() { var _this3 = this; var triggers = this.config.trigger.split(' '); triggers.forEach(function (trigger) { if (trigger === 'click') { $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { return _this3.toggle(event); }); } else if (trigger !== Trigger.MANUAL) { var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) { return _this3._enter(event); }).on(eventOut, _this3.config.selector, function (event) { return _this3._leave(event); }); } $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () { return _this3.hide(); }); }); if (this.config.selector) { this.config = _extends({}, this.config, { trigger: 'manual', selector: '' }); } else { this._fixTitle(); } }; _proto._fixTitle = function _fixTitle() { var titleType = typeof this.element.getAttribute('data-original-title'); if (this.element.getAttribute('title') || titleType !== 'string') { this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); this.element.setAttribute('title', ''); } }; _proto._enter = function _enter(event, context) { var dataKey = this.constructor.DATA_KEY; context = context || $$$1(event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $$$1(event.currentTarget).data(dataKey, context); } if (event) { context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; } if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { context._hoverState = HoverState.SHOW; return; } clearTimeout(context._timeout); context._hoverState = HoverState.SHOW; if (!context.config.delay || !context.config.delay.show) { context.show(); return; } context._timeout = setTimeout(function () { if (context._hoverState === HoverState.SHOW) { context.show(); } }, context.config.delay.show); }; _proto._leave = function _leave(event, context) { var dataKey = this.constructor.DATA_KEY; context = context || $$$1(event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $$$1(event.currentTarget).data(dataKey, context); } if (event) { context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; } if (context._isWithActiveTrigger()) { return; } clearTimeout(context._timeout); context._hoverState = HoverState.OUT; if (!context.config.delay || !context.config.delay.hide) { context.hide(); return; } context._timeout = setTimeout(function () { if (context._hoverState === HoverState.OUT) { context.hide(); } }, context.config.delay.hide); }; _proto._isWithActiveTrigger = function _isWithActiveTrigger() { for (var trigger in this._activeTrigger) { if (this._activeTrigger[trigger]) { return true; } } return false; }; _proto._getConfig = function _getConfig(config) { config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config); if (typeof config.delay === 'number') { config.delay = { show: config.delay, hide: config.delay }; } if (typeof config.title === 'number') { config.title = config.title.toString(); } if (typeof config.content === 'number') { config.content = config.content.toString(); } Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); return config; }; _proto._getDelegateConfig = function _getDelegateConfig() { var config = {}; if (this.config) { for (var key in this.config) { if (this.constructor.Default[key] !== this.config[key]) { config[key] = this.config[key]; } } } return config; }; _proto._cleanTipClass = function _cleanTipClass() { var $tip = $$$1(this.getTipElement()); var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); if (tabClass !== null && tabClass.length > 0) { $tip.removeClass(tabClass.join('')); } }; _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { this._cleanTipClass(); this.addAttachmentClass(this._getAttachment(data.placement)); }; _proto._fixTransition = function _fixTransition() { var tip = this.getTipElement(); var initConfigAnimation = this.config.animation; if (tip.getAttribute('x-placement') !== null) { return; } $$$1(tip).removeClass(ClassName.FADE); this.config.animation = false; this.hide(); this.show(); this.config.animation = initConfigAnimation; }; // Static Tooltip._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = typeof config === 'object' && config; if (!data && /dispose|hide/.test(config)) { return; } if (!data) { data = new Tooltip(this, _config); $$$1(this).data(DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Tooltip, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }, { key: "NAME", get: function get() { return NAME; } }, { key: "DATA_KEY", get: function get() { return DATA_KEY; } }, { key: "Event", get: function get() { return Event; } }, { key: "EVENT_KEY", get: function get() { return EVENT_KEY; } }, { key: "DefaultType", get: function get() { return DefaultType; } }]); return Tooltip; }(); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Tooltip._jQueryInterface; $$$1.fn[NAME].Constructor = Tooltip; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Tooltip._jQueryInterface; }; return Tooltip; }($, Popper); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Popover = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'popover'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.popover'; var EVENT_KEY = "." + DATA_KEY; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var CLASS_PREFIX = 'bs-popover'; var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var Default = _extends({}, Tooltip.Default, { placement: 'right', trigger: 'click', content: '', template: '' }); var DefaultType = _extends({}, Tooltip.DefaultType, { content: '(string|element|function)' }); var ClassName = { FADE: 'fade', SHOW: 'show' }; var Selector = { TITLE: '.popover-header', CONTENT: '.popover-body' }; var Event = { HIDE: "hide" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY, SHOW: "show" + EVENT_KEY, SHOWN: "shown" + EVENT_KEY, INSERTED: "inserted" + EVENT_KEY, CLICK: "click" + EVENT_KEY, FOCUSIN: "focusin" + EVENT_KEY, FOCUSOUT: "focusout" + EVENT_KEY, MOUSEENTER: "mouseenter" + EVENT_KEY, MOUSELEAVE: "mouseleave" + EVENT_KEY /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var Popover = /*#__PURE__*/ function (_Tooltip) { _inheritsLoose(Popover, _Tooltip); function Popover() { return _Tooltip.apply(this, arguments) || this; } var _proto = Popover.prototype; // Overrides _proto.isWithContent = function isWithContent() { return this.getTitle() || this._getContent(); }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); }; _proto.getTipElement = function getTipElement() { this.tip = this.tip || $$$1(this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); var content = this._getContent(); if (typeof content === 'function') { content = content.call(this.element); } this.setElementContent($tip.find(Selector.CONTENT), content); $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); }; // Private _proto._getContent = function _getContent() { return this.element.getAttribute('data-content') || this.config.content; }; _proto._cleanTipClass = function _cleanTipClass() { var $tip = $$$1(this.getTipElement()); var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); if (tabClass !== null && tabClass.length > 0) { $tip.removeClass(tabClass.join('')); } }; // Static Popover._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = typeof config === 'object' ? config : null; if (!data && /destroy|hide/.test(config)) { return; } if (!data) { data = new Popover(this, _config); $$$1(this).data(DATA_KEY, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Popover, null, [{ key: "VERSION", // Getters get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }, { key: "NAME", get: function get() { return NAME; } }, { key: "DATA_KEY", get: function get() { return DATA_KEY; } }, { key: "Event", get: function get() { return Event; } }, { key: "EVENT_KEY", get: function get() { return EVENT_KEY; } }, { key: "DefaultType", get: function get() { return DefaultType; } }]); return Popover; }(Tooltip); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Popover._jQueryInterface; $$$1.fn[NAME].Constructor = Popover; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Popover._jQueryInterface; }; return Popover; }($); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): scrollspy.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var ScrollSpy = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'scrollspy'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.scrollspy'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var Default = { offset: 10, method: 'auto', target: '' }; var DefaultType = { offset: 'number', method: 'string', target: '(string|element)' }; var Event = { ACTIVATE: "activate" + EVENT_KEY, SCROLL: "scroll" + EVENT_KEY, LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY }; var ClassName = { DROPDOWN_ITEM: 'dropdown-item', DROPDOWN_MENU: 'dropdown-menu', ACTIVE: 'active' }; var Selector = { DATA_SPY: '[data-spy="scroll"]', ACTIVE: '.active', NAV_LIST_GROUP: '.nav, .list-group', NAV_LINKS: '.nav-link', NAV_ITEMS: '.nav-item', LIST_ITEMS: '.list-group-item', DROPDOWN: '.dropdown', DROPDOWN_ITEMS: '.dropdown-item', DROPDOWN_TOGGLE: '.dropdown-toggle' }; var OffsetMethod = { OFFSET: 'offset', POSITION: 'position' /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ }; var ScrollSpy = /*#__PURE__*/ function () { function ScrollSpy(element, config) { var _this = this; this._element = element; this._scrollElement = element.tagName === 'BODY' ? window : element; this._config = this._getConfig(config); this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); this._offsets = []; this._targets = []; this._activeTarget = null; this._scrollHeight = 0; $$$1(this._scrollElement).on(Event.SCROLL, function (event) { return _this._process(event); }); this.refresh(); this._process(); } // Getters var _proto = ScrollSpy.prototype; // Public _proto.refresh = function refresh() { var _this2 = this; var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; this._offsets = []; this._targets = []; this._scrollHeight = this._getScrollHeight(); var targets = $$$1.makeArray($$$1(this._selector)); targets.map(function (element) { var target; var targetSelector = Util.getSelectorFromElement(element); if (targetSelector) { target = $$$1(targetSelector)[0]; } if (target) { var targetBCR = target.getBoundingClientRect(); if (targetBCR.width || targetBCR.height) { // TODO (fat): remove sketch reliance on jQuery position/offset return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector]; } } return null; }).filter(function (item) { return item; }).sort(function (a, b) { return a[0] - b[0]; }).forEach(function (item) { _this2._offsets.push(item[0]); _this2._targets.push(item[1]); }); }; _proto.dispose = function dispose() { $$$1.removeData(this._element, DATA_KEY); $$$1(this._scrollElement).off(EVENT_KEY); this._element = null; this._scrollElement = null; this._config = null; this._selector = null; this._offsets = null; this._targets = null; this._activeTarget = null; this._scrollHeight = null; }; // Private _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); if (typeof config.target !== 'string') { var id = $$$1(config.target).attr('id'); if (!id) { id = Util.getUID(NAME); $$$1(config.target).attr('id', id); } config.target = "#" + id; } Util.typeCheckConfig(NAME, config, DefaultType); return config; }; _proto._getScrollTop = function _getScrollTop() { return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; }; _proto._getScrollHeight = function _getScrollHeight() { return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); }; _proto._getOffsetHeight = function _getOffsetHeight() { return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; }; _proto._process = function _process() { var scrollTop = this._getScrollTop() + this._config.offset; var scrollHeight = this._getScrollHeight(); var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); if (this._scrollHeight !== scrollHeight) { this.refresh(); } if (scrollTop >= maxScroll) { var target = this._targets[this._targets.length - 1]; if (this._activeTarget !== target) { this._activate(target); } return; } if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { this._activeTarget = null; this._clear(); return; } for (var i = this._offsets.length; i--;) { var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); if (isActiveTarget) { this._activate(this._targets[i]); } } }; _proto._activate = function _activate(target) { this._activeTarget = target; this._clear(); var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style queries = queries.map(function (selector) { return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); }); var $link = $$$1(queries.join(',')); if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); $link.addClass(ClassName.ACTIVE); } else { // Set triggered link as active $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active // With both
    page-templates/frontpage.php000064400000000300146726735170012165 0ustar00
    page.php000064400000006234146726735170006220 0ustar00
    '; } else{ echo '
    '; } } else{ echo '
    '; } else: if ( class_exists( 'WooCommerce' ) ) { if( is_account_page() || is_cart() || is_checkout() ) { echo '
    '; } else{ echo '
    '; } } else{ echo '
    '; } endif; if ( class_exists( 'WooCommerce' ) ) { if( is_account_page() || is_cart() || is_checkout() ) { while ( have_posts() ) : the_post(); // Include the page get_template_part( 'template-parts/content', 'page' ); comments_template( '', true ); // show comments endwhile; } else { while ( have_posts() ) : the_post(); // Include the page get_template_part( 'template-parts/content', 'page' ); comments_template( '', true ); // show comments endwhile; } } else { while ( have_posts() ) : the_post(); // Include the page get_template_part( 'template-parts/content', 'page' ); comments_template( '', true ); // show comments endwhile; } ?>
    tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support( 'post-thumbnails' ); // This theme uses wp_nav_menu() in one location. // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => esc_html__( 'Primary', 'consultstreet' ), ) ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); // woocommerce support add_theme_support( 'woocommerce' ); // Woocommerce Gallery Support add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); /** * Add support for core custom logo. * * @link https://codex.wordpress.org/Theme_Logo */ add_theme_support( 'custom-logo', array( 'height' => 42, 'width' => 257, 'flex-height' => true, 'flex-width' => true, 'header-text' => array( 'site-title', 'site-description' ), ) ); /** * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link', 'gallery', 'status', 'audio', 'chat', ) ); /** * Custom background support. */ add_theme_support( 'custom-background', apply_filters( 'consultstreet_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); /** * Set default content width. */ if ( ! isset( $content_width ) ) { $content_width = 800; } } endif; add_action( 'after_setup_theme', 'consultstreet_setup' ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function consultstreet_widgets_init() { $sidebars = apply_filters( 'consultstreet_sidebars_data', array( 'sidebar-main' => esc_html__( 'Sidebar', 'consultstreet' ), 'footer-sidebar-one' => esc_html__( 'Footer Sidebar One', 'consultstreet' ), 'footer-sidebar-two' => esc_html__( 'Footer Sidebar Two', 'consultstreet' ), 'footer-sidebar-three' => esc_html__( 'Footer Sidebar Three', 'consultstreet' ), 'footer-sidebar-four' => esc_html__( 'Footer Sidebar Four', 'consultstreet' ), ) ); if ( class_exists( 'WooCommerce' ) ) { $sidebars['woocommerce'] = esc_html__( 'WooCommerce Sidebar', 'consultstreet' ); } foreach ( $sidebars as $id => $name ) : register_sidebar( array( 'id' => $id, 'name' => $name, 'description' => esc_html__( 'Add widgets here.', 'consultstreet' ), 'before_widget' => '', 'before_title' => '

    ', 'after_title' => '

    ', ) ); endforeach; } add_action( 'widgets_init', 'consultstreet_widgets_init'); add_filter('woocommerce_show_page_title', '__return_false'); /** * Enqueue scripts and styles. */ function consultstreet_scripts() { $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; /** * Styles. */ wp_enqueue_style('bootstrap', get_template_directory_uri() . '/assets/css/bootstrap.css'); // Fontawesome. wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/assets/css/font-awesome/css/font-awesome.css', false, '4.7.0' ); // Theme style. wp_enqueue_style( 'consultstreet-style', get_stylesheet_uri() ); wp_enqueue_style('consultstreet-theme-default', get_template_directory_uri() . '/assets/css/theme-default.css'); wp_enqueue_style('animate-css', get_template_directory_uri() . '/assets/css/animate.css'); wp_enqueue_style('owl.carousel-css', get_template_directory_uri() . '/assets/css/owl.carousel.css'); wp_enqueue_style('bootstrap-smartmenus-css', get_template_directory_uri() . '/assets/css/bootstrap-smartmenus.css'); /** * Scripts. */ wp_enqueue_script('bootstrap-js', get_template_directory_uri() . '/assets/js/bootstrap.js', array('jquery')); // Theme JavaScript. wp_enqueue_script('consultstreet-smartmenus-js', get_template_directory_uri() . '/assets/js/smartmenus/jquery.smartmenus.js'); wp_enqueue_script( 'consultstreet-skip-link-focus-fix', get_template_directory_uri() . '/assets/js/skip-link-focus-fix.js', array(), '20151215', true ); wp_enqueue_script('consultstreet-custom-js', get_template_directory_uri() . '/assets/js/custom.js'); wp_enqueue_script('bootstrap-smartmenus-js', get_template_directory_uri() . '/assets/js/smartmenus/bootstrap-smartmenus.js'); wp_enqueue_script('owl-carousel-js', get_template_directory_uri() . '/assets/js/owl.carousel.js'); if(get_theme_mod('consultstreet_animation_disabled', true) == true): wp_enqueue_script('animate-js', get_template_directory_uri() . '/assets/js/animation/animate.js'); wp_enqueue_script('wow-js', get_template_directory_uri() . '/assets/js/wow.js'); endif; if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'consultstreet_scripts' ); /** * Enqueue admin scripts and styles. */ function consultstreet_admin_enqueue_scripts(){ wp_enqueue_style('consultstreet-admin-style', get_template_directory_uri() . '/assets/css/admin.css'); wp_enqueue_script( 'consultstreet-admin-script', get_template_directory_uri() . '/assets/js/consultstreet-admin-script.js', array( 'jquery' ), '', true ); wp_localize_script( 'consultstreet-admin-script', 'consultstreet_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'admin_enqueue_scripts', 'consultstreet_admin_enqueue_scripts' ); /** * Enqueue customizer scripts and styles. */ function consultstreet_customizer_script() { wp_enqueue_style( 'consultstreet-customize',get_template_directory_uri().'/inc/customizer/assets/css/customize.css', CONSULTSTREET_THEME_VERSION, 'screen' ); wp_enqueue_script( 'consultstreet-customizer-script', get_template_directory_uri() .'/inc/customizer/assets/js/customizer-section.js', array("jquery"),'', true ); } add_action( 'customize_controls_enqueue_scripts', 'consultstreet_customizer_script' ); /** * Define constants */ // Root path/URI. define( 'CONSULTSTREET_PARENT_DIR', get_template_directory() ); define( 'CONSULTSTREET_PARENT_URI', get_template_directory_uri() ); // Include path/URI. define( 'CONSULTSTREET_PARENT_INC_DIR', CONSULTSTREET_PARENT_DIR . '/inc' ); define( 'CONSULTSTREET_PARENT_INC_URI', CONSULTSTREET_PARENT_URI . '/inc' ); // Icons path. define( 'CONSULTSTREET_PARENT_INC_ICON_URI', CONSULTSTREET_PARENT_URI . '/assets/img/icons' ); // Customizer path. define( 'CONSULTSTREET_PARENT_CUSTOMIZER_DIR', CONSULTSTREET_PARENT_INC_DIR . '/customizer' ); // Theme version. $consultstreet_theme = wp_get_theme(); define( 'CONSULTSTREET_THEME_VERSION', $consultstreet_theme->get( 'Version' ) ); define ( 'CONSULTSTREET_THEME_NAME', $consultstreet_theme->get( 'Name' ) ); /** * Implement the Custom Header feature. */ require CONSULTSTREET_PARENT_INC_DIR . '/custom-header.php'; /** * Custom template tags for this theme. */ require CONSULTSTREET_PARENT_INC_DIR . '/template-tags.php'; /** * Customizer additions. */ require CONSULTSTREET_PARENT_INC_DIR . '/customizer/consultstreet-customizer.php'; require CONSULTSTREET_PARENT_INC_DIR . '/customizer/consultstreet-customizer-options.php'; /** * Pgge layout setting. */ require CONSULTSTREET_PARENT_INC_DIR . '/metabox.php'; /** * Pgge layout setting. */ require CONSULTSTREET_PARENT_INC_DIR . '/theme-custom-typography.php'; /** * Bootstrap class navwalker. */ require CONSULTSTREET_PARENT_INC_DIR . '/consultstreet-class-bootstrap-navwalker.php';woocommerce.php000064400000001757146726735170007630 0ustar00
    '; endif; echo '
    '; woocommerce_content(); echo '
    '; if($page_sidebar_layout == 'right-sidebar' || empty($page_sidebar_layout)): get_sidebar('woocommerce'); endif; ?>
    sidebar.php000064400000000636146726735170006715 0ustar00
    index.php000064400000003341146726735170006407 0ustar00
    col-sm-12"> '', 'next_text' => '' ) ); else : // If no content, include the "No posts found" template. get_template_part( 'template-parts/content', 'none' ); endif; ?>
    '', 'next_text' => '' ) ); // If no content, include the "No posts found" template. else : get_template_part( 'template-parts/content', 'none' ); endif; ?>