From 9d8eefcc490b5cee2af2565207edbb001a59bfd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BF=9C=E6=96=B9=E5=A4=95=E9=98=B3?= Date: Fri, 20 Mar 2020 17:05:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8B=BC=E5=86=99=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cim-boot-server/cim-boot-server.iws | 34 +++++++-------- .../cim/sdk/android/CIMConnectorManager.java | 40 +++++------------- .../.idea/caches/build_file_checksums.ser | Bin 536 -> 536 bytes .../app/libs/cim-android-sdk-3.8.0.jar | Bin 74288 -> 73974 bytes .../app/src/main/AndroidManifest.xml | 2 +- .../farsunset/ichat/example/app/Constant.java | 2 +- ...lanshActivity.java => SplashActivity.java} | 11 ++--- 7 files changed, 33 insertions(+), 56 deletions(-) rename cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/{SplanshActivity.java => SplashActivity.java} (84%) diff --git a/cim-boot-server/cim-boot-server.iws b/cim-boot-server/cim-boot-server.iws index 444f09b..6c1a6ca 100644 --- a/cim-boot-server/cim-boot-server.iws +++ b/cim-boot-server/cim-boot-server.iws @@ -103,7 +103,7 @@ - + @@ -127,46 +127,46 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + diff --git a/cim-client-sdk/cim-android-sdk/src/main/java/com/farsunset/cim/sdk/android/CIMConnectorManager.java b/cim-client-sdk/cim-android-sdk/src/main/java/com/farsunset/cim/sdk/android/CIMConnectorManager.java index e3c070a..6439f67 100644 --- a/cim-client-sdk/cim-android-sdk/src/main/java/com/farsunset/cim/sdk/android/CIMConnectorManager.java +++ b/cim-client-sdk/cim-android-sdk/src/main/java/com/farsunset/cim/sdk/android/CIMConnectorManager.java @@ -41,7 +41,6 @@ import java.nio.channels.SocketChannel; import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import java.util.concurrent.atomic.AtomicLong; /* * 连接服务端管理,cim核心处理类,管理连接,以及消息处理 @@ -54,14 +53,13 @@ class CIMConnectorManager { private static final int WRITE_BUFFER_SIZE = 1024; - private static final int READ_IDLE_TIME = 120 * 1000; - private static final int CONNECT_TIME_OUT = 10 * 1000; + /* + 服务端在连接写空闲120秒的时候发送心跳请求给客户端,所以客户端在空闲150秒后都没有收到任何数据,则关闭链接,并重新创建 + */ private static final int CONNECT_ALIVE_TIME_OUT = 150 * 1000; - private static final AtomicLong LAST_READ_TIME = new AtomicLong(0); - private static final CIMLogger LOGGER = CIMLogger.getLogger(); private static final HandlerThread IDLE_HANDLER_THREAD = new HandlerThread("READ-IDLE", Process.THREAD_PRIORITY_BACKGROUND); @@ -72,7 +70,6 @@ class CIMConnectorManager { private final ByteBuffer headerBuffer = ByteBuffer.allocate(CIMConstant.DATA_HEADER_LENGTH); - private final ExecutorService workerExecutor = Executors.newFixedThreadPool(1, r -> new Thread(r, "worker-")); private final ExecutorService bossExecutor = Executors.newFixedThreadPool(1, r -> new Thread(r, "boss-")); @@ -88,7 +85,6 @@ class CIMConnectorManager { this.context = context; } - public synchronized static CIMConnectorManager getManager(Context context) { if (manager == null) { @@ -214,8 +210,6 @@ class CIMConnectorManager { private void sessionCreated() { LOGGER.sessionCreated(socketChannel); - LAST_READ_TIME.set(System.currentTimeMillis()); - Intent intent = new Intent(); intent.setPackage(context.getPackageName()); intent.setAction(CIMConstant.IntentAction.ACTION_CONNECT_FINISHED); @@ -227,8 +221,6 @@ class CIMConnectorManager { idleHandler.removeMessages(0); - LAST_READ_TIME.set(0); - LOGGER.sessionClosed(socketChannel); Intent intent = new Intent(); @@ -242,12 +234,7 @@ class CIMConnectorManager { LOGGER.sessionIdle(socketChannel); - /* - * 用于解决,wifi情况下。偶而路由器与服务器断开连接时,客户端并没及时收到关闭事件 导致这样的情况下当前连接无效也不会重连的问题 - */ - if (System.currentTimeMillis() - LAST_READ_TIME.get() >= CONNECT_ALIVE_TIME_OUT) { - closeSession(); - } + closeSession(); } @@ -313,20 +300,17 @@ class CIMConnectorManager { private void handleConnectedEvent() { + closeCountDown(); + sessionCreated(); - idleHandler.sendEmptyMessageDelayed(0, READ_IDLE_TIME); } private void handleSocketReadEvent() throws IOException { - onMessageDecodeFinished(messageDecoder.doDecode(headerBuffer,socketChannel)); + closeCountDown(); - markLastReadTime(); - - } - - private void onMessageDecodeFinished(Object message){ + Object message = messageDecoder.doDecode(headerBuffer,socketChannel); LOGGER.messageReceived(socketChannel, message); @@ -336,17 +320,15 @@ class CIMConnectorManager { } this.messageReceived(message); + } - private void markLastReadTime() { - - LAST_READ_TIME.set(System.currentTimeMillis()); + private void closeCountDown() { idleHandler.removeMessages(0); - idleHandler.sendEmptyMessageDelayed(0, READ_IDLE_TIME); - + idleHandler.sendEmptyMessageDelayed(0, CONNECT_ALIVE_TIME_OUT); } } diff --git a/cim-use-examples/cim-client-android/.idea/caches/build_file_checksums.ser b/cim-use-examples/cim-client-android/.idea/caches/build_file_checksums.ser index 71096f63a6c3cfaef30c6207d46b57148825d864..6d8bd5d155de6c3481938ce6984c3728eab6aceb 100644 GIT binary patch delta 15 XcmbQiGJ|Ep43_WOxA`{CsbK^FF*yc0 delta 15 XcmbQiGJ|Ep43>5ADi1c!sbK^FFf9f^ diff --git a/cim-use-examples/cim-client-android/app/libs/cim-android-sdk-3.8.0.jar b/cim-use-examples/cim-client-android/app/libs/cim-android-sdk-3.8.0.jar index 6d74da3d1857e43b981de534ae62f2ac8760f5ee..15e36c671031d9ae0598cfb220e0754e80d8663d 100644 GIT binary patch delta 34688 zcmZ6yb97)a*FIX?wr$(CZQJ&#ZQHinscmyQQ`>H*?X)v@-uL@meD|!g^6c#F>||x- zkDVtw&0`R+!w`rn^576~ApiM5K?K?5z-#V|~4ak3^_H5t!k=-A9kbxoM^>al;;PKFrGe8=2PqX{(J%yb2 zJ(ZqF$rA2ercjyVq4q)pPz=bYsW(_&*9%dulr7PY4NzkU;>@|tKwDp2vZ&OS3uKeG za!1Z7n>J`luc?sd$T`c9uNwNmHL9ErAm*Z3=9&VFaLK{0!k8E9u>EF-rRu0#zmaK! zb}t*DLFbZTm-!>!O>9tAOk-6~O?*_YA=N);M5l2YPO?`mP18shxDoHFSB=Z6vudzw zyr1T)QJ>GK)osfCW!pL&g>O-oyGAdB2-l&SkjnvUw^AROr?FZpJ4K%t_?=w8Z>5&Y zezkmuUY~PI3OWTgua4sa<-EjaTZUs|WV$>B!zS#&$EPa=rQRVSJFKI3B<9#fz_#3u ze0lhX#h!>G&u$hAP!`ycP|_)t)}E4{W78IM2_Z>1{83pLS(ld=MkrWNQXm=<4go2l zSUK{b;myP4a13S?sqyfdsG`k+o&!(Bgu&_L=#0$e_2LonBUDho>6R=&HpRpW&u9Wr{~irL)vSEr8aTAU*#h8c}}3%c?Y4DlYpWy@i=F z`=+&1B_hK}{Ds<>L*P#m? zp1J|~XiT^nkS}%4fkwU@UBY$FnKtd(V;d&LCi@ri2(?Z5rrQY(T+gN>p@n9vt3XPh zd!b>v+s6rs@!N^Ct;ghZXet8|soHMFvJc0Lkf^SSSeupyygP3LoojqoHCfbD4n$ESWUC8F;$wWT2$J!0An z?chBz^03oUP$R)H(92ZbJ{6~j4{udKDL-{NwXy0?ZU zU&Y}?W=;XGz(Zs$p1s3vrDm?kBb@7lVXUBB8P8Qo3z|yRCwU@q-AO*1w$0loOKs6h ztZ8c!P}DZy;WVeWjoX}Jw~^IIhN9WxUGzRJ5we^UqsHKmk47a_y<%re=;`oA#%v3p z;q?EN@5E%C!azt>kU7t3O+|Clb=X9k8(+?dLD1r2^^-pF;L_jL$$P#oKMMzz-E_(d z>e;rMX#)Y@p(+W<3LM_)#NOD&cnn8QReItS;Fz^eICT+Nx42DMC2F}haW?KY_*NZ2 zX#`Gp4q9QktkdB7-zJH4w**-qtias#+Hi0rzdkm7R4Vw1%dgGcDqFX)K}t zWEL_+f!!Nn@~HC{d$1E8=9P~1uu#DTn;lW2gw5xpj4Kc73Jc2x(guo;%wr zHi}tb&8qxke!#-C(1Cfx{(84*7HO+ynzP4%e)FOm9vY_KXmW>#M906yS9emd`yH&g{HZ-s@_GS#>xP{+Hgj`D&rk(CylEwyLM;<_Sw3@kq{#$MSDNYj_STmPrzx zxXIaxRSycNg*0mxDp}pxxd<0-Wh!Z-boD|Z%66%1loeFcn(>N@ZgVn%_0`fIz;K1kPH9=_j5Agy<(T%9zp5J7hsJtaxT*P9RHeL%SHW~`ji6$}Z*555IIz5!; z$mH~!+uDNEo2$sb<5(<9sR|X(LTBg;Q4nKk6e0gbGNS@0NRc^G@-v`dmKxjU>OQg5o_0O*B()x^piUrqd&?L zF4D7V6(r#>O7Wyzo+NCTZu88^>!$tm_-1&!^uSO^PTp5MTi}+(1bysecstDAvrYd? zRkbfUF@4p&hw0bRvaDkrnIORh_x7RHM&^DZk(fVQXh~b$0Dbjr)$wYN06RjA#h|;T;i>q#IV1%(MPTdh#8$4^)}}fRz#mkVkD01 z_*Jg$pu=cdG&~2o=@e=#_Egbe+>Nvc$AM#R!3W`&@YbuH2JMzTExa?B;2uzKo}LSp zEmm$@Gef-Ce5;6%cK;);)hBaP_LZ;kGk`2y zdbOFPwtc}!$g8&oFd5fPnUe#H%qgj4uH6vZ6|yjIMb zDdR=m$6OlCi0qVy{1~wk1?LZyqp@8u_Z@a&J`0|(V>oV zr%x9De6Ab{u#mnys;Wh;jZVDEx%1%RYat^mo3x45FOZ!Ar|vSxH|#fXTFt!4oV`j; z4-QEq>)1X`)KNO>YS95dge)|(=nk7;6keB2z@*ZPH3(n#_f_l$^=l?aerpcoqQN+7 z#n3KB|IAg+RiQ?@XcOYQ_&TtNV#PVVq8-TdzfqL9nWd*6aH~*qM6a26wnij2Ph2d@ zMzuPuDd6b<3UAH|Ha5X4z0jBtG!!m*L|JogV{ffMIPWtFn<-c zfrF!+o7>Y363>e?PNY^ems)zZH7C6R6;b=?di1_=mdH!Hrd8g@VQ z;c*D>T8KhWdieZrP3p2+#-RdUq$(+#hF0ICdRDQ4<^m@z1-u~Lfpn#o?V4%#o&ep% z%QqyW)rVTUfd;$Y!6EkmsCZ|>grsb6DaX2()H8eTzS&0n`a8N?g|xHvU;3*AI7DcD zxiv|nLqRk@x0rOD%&k;i$wnH##3#lXf9MzHbsk=?OJR8x2;h0`$7=4t}cfdZd z5Vs`*U@9<0egf_s(7&6BL-W@52wd3Dh^MlF2f^!mH_yNJjp_!Gf9VSry(Dj$tf>G|sRdYn&DY zpYc>`_$iSg^MKy)^x3hk=e*G=lLC`C&qp-Cz6)Md#H8w&=|kd-`F)bv2aa5#xs>I) z>zsg{?LEoQ@mTPl{b8ze7*noJl#R#}o5>8dkyks9Qhewb&ecq4WZeyQ@(Suj6rzbU zf|@SUEOL_x*7SjR+bR}&=#!!^0XbNnkq86(pSIT_1#2gG7)O3_{Z8n76aHf(8D?Mr z@_}m9@3{2U(SeFb$T@)!US!j0+PR8G%bRsLj#zmqR%ibX;13O!gLd+zs)1L#8wNb` zho`tNAQ_+jE$Ol_mTouH7lW$xXipjCLPi7noW2RtTIney+u=VrAp8E5z>RMl#oQI zG8stJX>viIRK9BJgdoC-hj?Mw*R_X8wC{mFa}kcnq?ClshwQMu(NP z&XB&YCz|}?W7A%2o+=%$6s0m7_NSwi!lG9{H@@+N_S7z{FmqN?Hx}`MLdhn9ct?X| z0(ww`ChmduNt0rfaR!|5W|up#wl(g3adfBp?~qa}Tr6p9o&3cjo{cA+?coEPPG*bi zttq-7=S9>FcGdWszk`qzL*MJ@KY}`>a0m%Kq_mmVSbb@M>%|)i#l0trRIR zY2bUwtKLZGaiZhvC-PJJOIzb(lVC9AU`H&Lkpu0Z?kr=z9D(Q?g*?}+Dsd43R1$h^;`u3BJ#%5u zPg;lKM*O%(EL8y@MNrdMvXGFyS0UbXK(m_>jZhA{zMiFs`E2!>%y zG?9J{5(>@6*Yu&3#&o%Yks{TB@jjMoiK4QBeqOXqUOHvVP{hZs_xS8Az1n^PBi)>m z4-M@X>}i@wGmpWv2`$}tqy2_2up66#3dM#a)1?s>7($7l6IchL@yxOeO>-N;)$uI% zMS2x7&u)zk^=07K@;JTetFP~`_{?Lb6nd!bja{!grvYO_r%I{cW1KM!Tp-hx}0Dyxn+&wHBC zss@!BXWd7UFHw8`W!I=idk9UV3PEfAPb_vn+&7ZM&-j5Q-7A43ktWFen*+$HQ7K35 zRwvcKsn{Q!TEu4S=x&T#3s=Y<{g0|bjt5nor$?4h!(A#7+SxEhlqcLaqk|M*vpUi~ zf(P^AQ9OGyzT9V|047QFmObVI_F6^X*UEM2ox#KOYfBGf>IOK^_g{R~xi=AvI9lgKN4 zwSnQMO8mz{dY71=oZbTGi5fQHO)cGnk}{zpj9y2sC8x8orI#p?(4 z(7LMj;LT{+{|5al-MJYICfgtE;Y>9U?iA^-N{TZ=%-KQLE}HDP8XH_4qJ`n2g&Stz znkaqH;*ZDQ&jq#kZn{T5g|pl~wRSb$V+rWe$Qe5SjDKSXB;JyAV?Mv*evJ^R!WuO% z&=}wU{l5vJ|1vjiOPF~O|Dkr;obXP;{wrt`?tuQ6?BOQ<^IruI$sqK9g%9e{|1lY& zi~6rgn;e4#+<%)=xZeIp6VGG!Kf*h2*8d1;{KEeutP2Q&BK?OgqTslHE&n%s7k*lZ z9ZQ;u5Cx#?fqsVh$BM$YS>U@ByD2NEf|@UAj!CA;=CC{nK0f+&cJflYxi7;6QIdwO zgiCI?hpgDjKT?Rnu&tegk%B^TI1*xovPAKh`^Uz>OM|mxQBQv1Ei5Pg91{GKX`fK+Lr@%bv>Ve7XWRwtsf zQ&=Y@_a_Q&W!EQNC!xvtvv2QU+{VYJ^4kLQ^I6~C;kb=YPIKS_5EtcqnBqBoqWKq} z?%_XQJ)H)ID~n){^4_q#2N@6e(Tos|u>4=-xBD0lFk$!7T%<&F^Q>&FdV@vEgLFii z=~;nVxa!MQgclPlHwi^VT5`Swh8y`Yj6fY(+ih>Cuv1q?Mv^th!__nyzqHtO|Fm2wUaBTqSx}r7Z_*FTR_cOvdc%OAp|W z9TiKtVy&%uj)LA~$tKr1t^mpfV~G$LZgsnjuL4Vg)3`uxwCald6jPxwXRrdV*}AJmdF(g+Rr8E_x_V^b5|~@F z(9;G2mHDutHvMBjg+d!@VP;r@3RC@;T>xFyN#pLwG-(-Zp5-Tq@Nrig+rj}SY!keV zF%B#)f3x}o(>BwQfW8m7^9=BYx|{l7Zjih@-nJv)pF&;fYZgiU`Xqs@Y;YJeEAYUj z{Crd#@9iQvp-F^4%-X|j(HBPwde!P1#8P$@g_dhtTf?tBu|~01$`%w_H1mcV#B?M` z^(53N`xX&zdd4DuImFa>zf|5O^o8(_ zBDp2viAl@YU!k*kdJ9|%l&qd(sJ8rf1Pn;Sh@MI)v~;Kt{)33J z1Y<%d@#j$08UDpfMY;H_G}1O28`URlS5l$|aTR@}hy)gpVt=vpCp2}esv0uphBoIH z^ldCXV1(F{JO`Uu=w-1Kp!^&MS3MA0>U!uwQ4<<74kYy|TMs#}S|7ua$74$7=2AG~ zn89xq$$(iZ90W*dJ_$8Pgc*kL{L{dvoE_hq$14fFd6o*0dhL*(IYuC-{!$zRC2DV7 zQFa~jp2&Qsm3k@2G_f$Tpc*m5S85$Kp7W^iyvi~yBid89yk;#t#AY?jV+G@8s=E98 zbZ#!3yxo;D46j%*lA558P-45$axDwoSifV(OM5_?LjVx`7(4Y8o$DfUEcwTX?NfS- zMS>QcT;!IY*ri=M44Ifb-$jwUQo{@-&0LFR7&5U*exbNAj~@m*GknC3n@NK1n}QKg z)QU@*iDI_VmuFL3%zqOgy?erR1Bo*50_7?ky*;(9XE3Qk=|wfe?q%xjW$=oMgYi`d zZIzljq5zJ=o07wD-0r=4ecE;#bBFCft)C2(J`T4NOrg($s7X2!HdS14?Gug0e$?sC zP2jG@V%d=Vo<>m?!>ST!-0W%GJdDl||E0qZ(doaoZc;SrE13v&W#z)2(eN%Npdcm? zYI#VT1Ws=Nee0QK>`hQT>q;^S!rNjrhB_O5GXbbUOpl=-PuOb2DVv48rB4>{Z5H&1 zdEbt*{+P=wOXMeQ?Iis>Cv;On=yoq;X1eR#@JS2jjz;;ap-N}X@Ve2rL zb*3wG=nk{WZeO+1!fqczrx(x1)-OkX%%1yo6yVZEcyXpW@9atTb++vRHB8ls|7`P0 zW(&NcMVwgHV;HwMaDVS^w3<(}`m9{Zi_XxAU>%G3l-*5uPy-o}RWSr~91L$Q~7&@$dvC<_*vzQ&NXQL%LX9;7l#^Tzy$>vxOptJ3h8X zJV6+fmw01yLff0rdmwZ`ZStA=xZ1J02uwQZrqN!qK_m8lv|Hn);e?DLCmS*UxzP0M z{H;If28m=VOe4c^ilvUcIA<(L8h)13E>m^Tz`51LOYgKf#82(u25d1mWJ@fCh>ApT#6N;>*@7K^vjSDK{9(Hoq&t+AO;A>g;l1U zlgl237)8jC-sv2z#*+}xB6K!R*cMzz+E(#t>`_j8S=ZZHW7ldsLa-GqW@CEu!gz=# zRqtwT?U*gdHvI_Q!W7_#6*A&|S)8dk)BE;1$e)YsI7lbBkPz>L#gy%xS<+kWn4Z8% z&uzRknf&hflEiN`IHZJKd)GCpmQtz8cN z$==UYm7bNO;i}S!)dNq@R+j!uo?dFJT~2R-q*p#y(`fDSTSutpjFX&K)2Uo#JTY(6 z%N$6-lowwK!z#UZi34ejk_W0W*>aea9q8R)C}E&-pwuX}FL#hASqtz88gr8CK((cj z1vh=#qmZg`*&1Qd%A`)gUM1Bf7ij0BcX{+cJgo=c;|i&GK28!D9d)s-fTm0uC259O z#}dQX7b<>z2!iSw-{m8{E%PAKmXGl}g2;}0$vvmAcgle#{pTAr#v+*IMT6vPNfA#- zU5Ag#7G8C+hh^&Xl^+Sni{zg3|K7rG@fEx^m>?iNav&gL|7Qy$q!kAvWGSM9A^$RJ=B98+h+3<`+LVX$i9iIk*`+hRCvrZIPAi2KHnXwI569)NYi zfYn@W(vmDm8F!@1VCD)IH_njRTyy~p&W<*pP zVb^i+KFWEs#9UN+peL%HY-)YOi)+)(FFX83S9lg;C9nt1=o1plFVKuNxR48vd&8~K zHw9jGNJ(dO8G>jU)!YQ zIF>`xeSI$rQAwt=+9sv5Qb6^_lIg&QMLbXuiw-XsVP@3mN&r)Be3(nmodWz9mo#Vd zsD)9=<6oZbZzG@!`f`*#v?8PH>y6U(dWh&89|oxGRTxbsag7ZEQZW!f)GfSwNM0>7 zYa}UR_u)mUYc^4nT8H3_u>|Nk`glm(QNwmh(5UV>_zhdWYJzGJ@FZuPbt0AvO20uT zn7Za{`k=DY3M}`PwD?YyRh&Xg9NaAGeEE=dn#~Wb8S|$a?CzD-U%GgXHzeT zg*APAS)3xW26VZxsqS8%P8}>HPqKWj=U}1>hN||D(y^;?@mC6ls*+-8@?+hwU7~1- z(Vu`lZ6!H0r<8JM9E&*)2uf}2re*?8WP2lANg6|7;Q+V3yD5o=9(sF1f65O}$k2)I zd9++<9{ugRvkSjU*5|sHL=oyOd(Od-PUSbgB%9z$-Ye(>xTt8M#Uovy z?5yXHp5Hbux&^M!acDo8+HWK;xeFVAmx0Yc|BJuWI-$ryY@%^g^v!D6&RFWXJ{uxS z^Ri|5o`VTqI-WQP;Zn7I*aV*o>D%SrY;|op!OoFAH9WgIE)L!f+gJ{MHg#R8^CbW< zBn)qBqU6y7F2AqG%H#yt47j3@g2ysqwO57}$Lr=sb6r_}mK=7~P%= zWv{H43iHyE>E)*g^OE!OlKGiPxtU41g-NvwljVohGJ`7^K;?D8GFu@SEMawK5EyDQ z{vchAtec&ND`Y@eW@4foO!^FRr9Tvc3kRQa%Z;u~3Vf||E&KeKI z>zk^<=JkZ}Zs|52-RXud`H(?iLHux{jQR_oo|=^R z*3n~7{eCgrMm}f-{RCKN@Q4lG{^c9yanbpI&!0PcgeRA#xWrKIYnR#kjGRwcSy z-HSD_QfKoOh#sy9Eu?DTsLs~f9=)!UV*Y0wWomOt596GN1;EssQa`)J_9Dg3ngt5Z z2Cm`yl9&l*j@2BSE3}4h-P7vyQXckMCCX`FPfCo-6RL#3by$n|*#-i*`L*9v z$;DHo5Mae`gC0jzp zMLU{pJeUtYl*GSl)Qh|ma)(@v;dbJE+tuULO+3Dke=jqwY|Lj>Bp;^1wP8c#-j05T znmV8|U>$j@`At24G8p_jbfIHEyTOhX9S1p#7t7IW3V{rrg+i@}5{# zir#q7j5{ICPL02hXnxEObMXa9agFo5`pizoGxGEY){?_zzpN%rMlYLq^Lu|hmU zw_ycp*tv^l#SW;Rz}i;3bek@&uM>0mna->suEaxlRX~G8Y$9Bf5%WkyE>_=-5r?e& z&K0CD8~~Uf&!m3mJT~W}T!G<*)fIQ07hNlD^D9NBtIkzt3i5v~^ZqdS4VYaF+N}Z! zg>8&qyj)-3p7X6Q7P~H(i>;$V0J0*>i~i6>D2<>N)gajR2K|ZM<7tf#K(-chh@RC-sK9 z0@{_=N^U1=A@neNA$NKSv-J}-+djk!icUaAL!g}i#^xxZ)^E>r^Wq%#!pQb77Dq>7 zg1}-6sFs<=smKb2L%3??2*34xDI9R_t&ucbWM!%dYxu4HWt$j0%sq^xRj|0`_S8U? zZTQs&qU+(Fuw6l}K3ms5?or0f94>fgpp)<}K2SxCtqdE@G^r{WbX&UF8+7l%Vu&ak z#NTnL?P#eD_M^e;d}@;cEYvL(yw6x>=|(Kn4FW=tiQ+u51a?N2>Rg(lh*Ul*y7(*~ zZH*mAl>OgO5d9)|MewjatE{5D(-2>gCW8`C#-yP^(hy&}w4&ayurrEC_jzJK=q(mn zIz7obu~_IWZf^0mMd&W+JCp85Fbv;yda*w=xlQJJSOQ7lUrP`tl&InA)2p_}7allaluEFE zCM=30agK0A=Y%t-cNX!1Li0mRsmWeR)ppkwk;Dm-Hq~m%b1iEh88qo? z5?M9hBkk7W5u9}GF5%4hocMmOVNQ5#dnMM;n_HB-x#t4KFYbEK=F@S)!T81z3IT{z zM^`MEd%qh~fN2v_1e#pa;OSj(VHX_oDP4z`K!! z+a-gv1s;3%ZQn{bu~vo(rUCQG#QAbZHkCJ&jg=<^0sB-j<38LKY?$l58QGPD{alYG z16+8Q4}gMv=(ouq+l&X4DrGjYKI9oh%ft$fPy+Q+Jvs6@R?ET)4lqLX+!7+eX#`IN zeUw$a;Y3?_b3O8H)&^7;H9S!65+y&FQ^g)`qBnQaBx(F^3JAqiQbVheBQ@{?(d&%&{QiJ?fWDe6!RHswjjahrfE{cNF|fz^{X#;bjG|K~4`Qo_50iQ`z=Jb24%U_+9vtARk}MCg zvB3xB8;#T`maGZZc9kYFz(JDAj11;h0}SOBLOfQ8iVlDcc3>5Nl{xEKOgS-Y5JTKK znX6uO`Sqy&_15}|$W%8!e6g+6wc>0GyJ-K$6^V5BDVh`}JY-)I5DY(6%h-Yz<6Vsztf%NUPvsk<_}DFHq?RU7CtJ8hA>1M> zq&@vFt;96=VEDkLcf7V!jViTlZdCFvCu7GZw*J@oe0&Kp+X5qfW z%XeQ%;c*GNU{UAMsmZsh+bTSZL(Wi`X;Dizj*c{QXyEh2hM);9!iw$u!#K{ zjCIvpe^xdssG^n9O02hG^@L^WNnFosa{5c0{lf3ySV#w(+10ui`JTHCTFDnrj*Wgp zizW&GBL2(eQjhK;?8P7V9zYjN);cKh?u^3A7c2S>^|7zS4??T<&4ALsWXp$p6)AX+ z^n<4V5$h;$pijMWe`a&G>;C7q7itgy@~}yzCd~yQPn65ab_)J78vTT=ntJ1+KqpW^i)+k=O;ZAK08~GL!g2UMPJR zcd~hp^zM0G@vH2y=zjAN|Bb4DFLN&)?s!m!@^P;`=kcdn&L^|jr?G9xXJWffkhUJv zAoUIvK=LvbRndErR1STTR3VL#^&Fl`CRov3AugBu%r2Q0R1%+Qq%|SaM3=L2C71b} z>6ZS?Y#I7&{Esp#0oWunGYEJkr?aGKBOY}sWQdvw7?o8kXCvfd1Qc^97uDoW%rmwg z1uPo_Ld96sv1W}dL;4JAlJhbm9_=dBUTNcwlifo5B4$cw)ZP&+a{>lh4F+U*RR^SW zN%tDpX1r-%CXW4*J7?!ThI|Nji*o`A|3K`P+ip-2me#y10vzY+6Gyq5z@sy_ZxqO)+mJBSJ;FYt`@F+0$GN6MaxFF zk6w~vH|-18XIhnq+!y?x`8xE9KjO4GzdUDv;#z|Y))(_^2wJ*N?FerTpUt;B!I@Bt z^WERs+E}73fCJXiWcy6?3}&4H?p!dvR)~TEE^g?YvPAL7Z*kLNI^*IuuyJgfND0>W zzrKw)zlipwlN(2%=?Er9n_&&hR;BWQJMqik9&c&~qkfn|dUYd{cgvZlEXT>D%qP3h znx}s+1WG$<3LP9rFpaX%yY^=IYH3Rx2*KSNa%)?@fLBWG*Bs%6vecAVChAjD@^yuh z>|9RzkEXT{lHR{?Gqv`EGb3x?HL-f$>Ef<^SR98ctcev+@>*`!6xi2vMpa!=PAN^~ zrsIWpW_Y6+p`txVqaPMT;wKPLqZ!UfoH#||QTf@Ox)&_q3UIIHa$3x+*`luIcv{%a zBd-)Pfu$S->xFo1es;g^1p-Phs=)3A1r$E^nH=^lGwb#PK6ce>g&!^jITRifM{_yT zX4c!Io>sBnbJh;{(#SoeJWmxGzvra?t5ADQa2i-YMl8@QjGl*bY&e&4Y^f4?!L@TaRQSH8rZaD~lMET59R>uAmXWSl5@bC8YpHjXL8 z@oG-FFvySp?;XZ}o)5)gA>*J!gMc98gMi5WF9Nt99TWp-$gZRISv$Muz$K8>a#a5y)G$XIw7N;ku z{L=8T(KVoH-0J>1vAw++92Ldxe%klszsUR7d$-`*{awu}hzf`>9|NqghZtPeI9LR#6oAPZ}uFy1rg;FPR``C19@A)91@#yvTy2~x5?d`GDXW9yta_Jr#m5bNXLqB-3ynp=g`Q z=vIjp{OYTv&XLwS{~X=+{G{AU?x4dQ^+W0pyYxRuMF408imew2=>=yG!q z-Wf8yL9`T%|NO{+X)IHGuxs<`#NS_Ia zU566xo|shn7u(YfhI5I_OA|q}LoEzFUXEMEXpfLy$I-W{*o(&)KEz)^7;&CrJm zL)Bqnk`DC9L%+nQBg~_7*}LRRfS>c$BS(r0m57ylrd1H}M|9#)D@1@%6GSobU3rc8 z-wzNfxv21EL*%odTk#%%ixq_vQ9lD>Md+uZ5$LC*VAT1c$OZSPhQD!?_)8MO;%HnV z!K`Ur62atYmqbF8Y3^wug~~+8A+^-@-Qfa6LzrosW5McZT?)aBRrkRlKQT~f?l~a` zN`|^HP-vSo!S+=5$sn0jMM}|_)L-|+iJ{%2#B}*TheUV(8m1A<;isMqi9P@##2f}P zeTz|9txu2lF$IEC#P$Z+Y4bqi+y}}Qt(qik7vXf&EYGhWcgMvxCcZ01xDHqK8JQ8u ztHwb>8OB`uhRk|_n3x#Uela}O$r79{bf8zzupGYMR25Z4)W-_M+}?&4CjGos=Z(q> z19N}SYVog5%ie7&-kjJAG)(|`wGVI{MkN#UD?Y0nMlBPo$A|0x`%gGN9N3Ts74CYx zF9K%{ictiEclCe{G20JbV z&2&sQ+d{(4Bt+e(nL%we6XDAPw~Rh6CODl~QY9u)kGPHC0QaR%^$wYB)z7fABGdc? zmDiZPsP*)?sNJ#FWBl`Jh?&wTO~4|lA*NYsnrU-WTTAs4x~j54%5cTPbv>nt@8wOA zXD0=WM&eIRrff$bUU50&MPR(d)r)6I2E-m0tH+ru^%zWTT?;_p=)r(d4Zzx_g(C)w z{3YRYv^@n;w!PaZ>1`FGCB9;uMmz*C4FLf2kiRVLItxpOP~h)y<@>{yCkh=p!z*U( zL^g_&CU_P)gb0jyX*R4|xM44FJxNrn&K6y{d5p>WsJMwytrY*-=9Q3hT2=W}0Y>PV3xmJ^vg~FPqg9vHrvuZfnP}254M_ zu)0Cu>n&`S$Ck|cLJZ=L`PR%*YOsVdvCt8QPGAf|YPi_i@2Qs$xdO?3SEb-&+ov|j z^%PL;b@aBKXjq~lJ558baP>I;O<`1IH~1K7t#nl*4(nfc#G!eZ?a&%0OB+(E<&g&G zW3N@IM#WOeM52~|YmitW*;oP$3F_<{F}M(m$AO5)$wEB_Q4otTBIVjG&#W9Of#0)$ zC7IMpRb)39{Y&JBklGUxWQm(XyAizyDpd`lcfe@ycQ_l^VGfl8N-jjq*?nh-J z%H4MtI?XDKFE)0SP*5TY_Y;M`n%e#a{omKAa2w57X}i`w;EoN|X}UIYKn8-EPKV3R z2wvDt3={FkX$_m-So4NQ*uW}$Xd!cc2$I4Qu2+Gh5Ka?!1uABwg8VB6w>TqCr;uWl+jAQadVU^{G}4HwtqN<@94XreuTibpa=n!fOm$ zY*^h9#qFT{cclNdW^G<}TwtjGNfAxt(PO3hmrk+s?-{e+e?pNg5=>A5phM%Q6FMu3 z;DTdX^D|m;I+h$QXex+da-WO* z`w(X$`m!hlc~92G zCW1x*LYc)2Nsr$(yoe=pWkdKvarI^d)jWk+kJB3lK)UJxDndK`hGpO1J)O)lz3_lIa@9@>D^&G;O-wU;~W#{L(*) zGHMIQx&qSWz5ZrT4mIE3H5?%A0C7ankz3XMGH26r`xsv_)u^yJBx9tC{m~vL=--X{ zEK)6~p!UpS%lijGR%U6#L9?XsTq2Z}Q7~s9Q|S zixZ+u`wSPnxs3aC3&{l~%e-Qzu87=3r$PU}?3^-rvyPH~k*ySVnzJ`cRwFJbdX^I! zC=$@1t?Pm@iTlS78Bq^0b%-QBA)aMS7j_tqp_x@j6xw7OjVzPF;fSDYXPJ$KzpXF_ zG8~<{rC_Y3VAPAr1&LZIR8}FeHa#W3_Peheoii_yyC#u)Kc%m1#iO_K-Szb?O0<`K zo!`gjpS!;wceeoWP{a+unV@K^eUDG0r2tIJm%`K=)&v@ghx{3gz6Xe49dkO z*1m^@T%>u!5T6AdW$Po2^y%?VBxSWb^N3889bHMvgnQ~?ubaqNTym1m0tZu}tMBTSjPcDt9>@nD!Zat*h z+!7s+*&qjm)IA&)7v|10xy{b7k{&j=Li!ZJZm4^FcY2MDEp)PO3j`_(mf0$;PT1KC z&2@b7oS!D8u>=?Py>iDG&m8%kFM)xO_Z6{7WN3Lk16W@&!=&#&IZmh9b9K?gq?U{_ zIR7OTGEA(_w{4w9uCuIcqL=w*`ZqT9%IS03V|Z+?!bze6=xY~Ro=WA^xsx%dLA@w^ z79njos{)Q|O#c^IZvhuqulx_QxVuB~;ts{#Dems>#hu07p-6Fer+9I9_u}3br#QS@ zp8I?5?fc&k3)##!lgZ54$suPZ(aJVtk-XvF;y1Jw~5$Vp>HS$#HwgWE+`V($vYs9E(d%S!ZXHN8^z@Sm}?DcC=el z5tmx1Y_f^P6A+W+3@>o^eF$HzHCxF(z-tokna0vqt{eB1N-+)3Q{gDiV(}HGOD~-M zj%F;Dl@U&@;Vdwm2}Iw4vd=G&kElMWFt5|>1ls?ul!Aepntd;&Lwv{TJzF=$x{l_# zLGD2}khtE`i^Q{8884TxZ!~uuBbZ#BQ10ob-M=qpbRp&?j?Wnt5qO9jI!h<9_BBV) zxXu{@@sR*5&k(JnIO`H)&^Q5S6)lU1&+k*Q%hJN-L*e$ZnFTU?@yO`Ch78X53LFi}d~-3~^Mp{YADWc|1gQYI${&W*`uKnK1QglspN>y z&xWfMi@o0``f!}h?jDq>{j?XN4~*nVYD73D;CERTf3@`Pt_^wlSR)$U#WKGtQT1)! z_*!qFIe1yEA1HQ%yCH5C*=b0XTPx`Z^HmKtCsxu&k z7@C>EC)`XF)eZp3FS!(~XiX|FE`k{EAkdFFK{=>7cMI*g+h=PaVq*YR3Vi3NeT9oY zE)3%gWtiF}1%A0|zfQA^2(M1)C073fQJ9HTEv!Ro_;6;D2u0}^V(ICC-fM=n&bzH7 z$U96W--j=%XV~*c_sGG~3$SJSWoVbJQlz)LLfwp$F&cGi9l;B(KlMr6n9$o(t4B`t zd+d*RM4FaJ4M_H)DE7t@M1Y+zFz+|`0s1Rzv1Tr;9s0YMbO~I2fha?sUF-3uzs_=h zQE6VCt5y0|1h)F(aSlLQ^0~0<2aPg@>7F6$o(-0U=dsiUI<|*_BgINh{-|KrY>vLU zj$MRz3<6IhI1azT!$8Y`efm#5;1(?#e=V z#p@t8lrsz#Vaaybd2OL@M9LKgH?Ev_`DTf40?Nk6pp1J6%0S}K%} z8sE2D7((Oi1Up}Zht6^|hhDIFaP$Hu7~43_VZYHwZC;TqJS{&8Q5_X66cRli5n#aV z(`xRg-=K`z4hymJGspMy)w2_&`txA-bH?eTIY~dHOR3=66>Agw3J#~bR+D)OM0ASL z@!wH8F;u-m{r7eev|!a>>b?m;`g6ND4)DUx1b~4VBq@4I0QD3wgfaQub=vG06qV)! zANnCa_6GO&<4%i(Q&8@ci+JRmBD;R#5j8iDd7{se^*M(*F9>&Umiv5enq_+6m+gGE zzWyU4rwgp3_lm>XBQZbK`27HF-qnou{%tg(a0sRXoHGog2IT--uSgNm{dbWJT~84c zNu76_Xx2ZNCV{Xw{IM9=kE`W<#_WnOs>q1mDG!WE2eMvzs~8siev1L;#W}4BT&V(> z9HrE({OF{wWQ7yo=2~$-e;6oopNYUQ+pQj}iIuU*sQtO17*_h^Z6e?kH46QU-r2rd zqfqoPR3fG>Xh&C8ML>-ixUi&Tmzu@-+%LL(2SW|v&I)8p7k=!=5>R<;d$_1l=VaQ` zSP>?;g{`r8V$9R2hb8}|NQlI!itXvamRMznwlNu5)#P9MYH)XqZG-^FWaMdGc@f=h zGn`^5O@FBW0_JP+zK5?XW;ES6U~`fS5Oq{2`Z`JsTC9eL%SJyC zXp>EcoPtFt^7@H_V8^--cjIg4>L*lc-vQ(!pO3xEu3er}_oWT>-R~OiG@4SLDw@rd zt|{PmT)eE|L3Q&kBZzc97BvbQ6)z7XGu;esOn2wO=u1=4^-AS+EN7fJnl>v)vOGmo z|Av1QPxm^Q)~wN5FU&hus6+7nM|W$0lF6qoE}XgeIrIZb{;Y~`nqGYhe8Ceye^%fp z!4FB4jRNhxB_~<2H99X1i&Y5sdQCIEd`1?FFc>@u61Y|{J1xMx*~~{yy0s{~-k$L- zCrsG0*EmBSnPrI(NtS9_n{}#l=KA-V=wq!KoVhmYv>x3S-&`m)w;K47yUBRyGd#kJ z;5?GtJ0201ACQKDAy_F$mGTX4Ec$HkQiJ`|2|eZ+ob3nsYx;xSC9C;IOq%vER78 zElKA9fbuJ?9XgJzy%#}$+!;E~J;Vl%p9}plleDggt?+1 zaZ82GGyIRk#e3Soe}dp6sQv`Oo1de`v09391P$SiDV7c5J(z}{tO<)Vz&D)yWb|Bj z|H_PM1dZXeTo_CPH-~Oc@h1izw-0ea@_XHXV&Kn&V%B~CiGlYLY5>K+Z_i)pJICR& zdI^Q-p8ulWK@)8{HFNcj<7Mfa7oVf^0FE-#6ewUTJb&{z5oFN+k@HSYvdQ2xdbDOL8 zW-wqidphsZp87qPXImsXTF>u9Jc_MsDGB396=Bb=h~V*v_j7IOT9QIwxP2QVab&?= zs(RiOV`Q*RRf=Q5EV58Jb%H|0HJvh@pY0)W-XawAZy(-kcIAfx1dZu%B1FS@k8t@( zt_#RZO^U@@=%nRd8Loatb!0TOA&(f&ek4p3_7Um#ez_T|a9)ga&NwS_Ax;FqfE~|V zdj7A&`qyYwj$g4+XmtYNKWcD@18ZOub8cV2|GuixZEBD+KrTru$-!S7s3$`JnoBq% zRw(2?Xn&1)_BaWu+9F9-W`?E3hObKjg^jMfYc`=`Gc#{Kn!1!e3KGl}EcdX$$e%7L zhG4tB%Je>T0>0k6LTn-FyC@DNK|VtgfV@x}ai!YJ^f0Qb)OmF6r=P55=zLW4>L(F` z)L%!Esn}swPmJRfH+@`zA1w);GHcoA)qUxQ$oIQO6O5)tr$HX+BgiAUazr}tpl%?k zaAI4`hRs5&g{#Ji4|gJ1v7Nb44%QXlZR>6K*TD-PoT#w7!P)5V^I(pi5jeXjQ4=&a z$hLmday*#amypXXxRf1N7SLb@a?gjX#>6x~&5JHSfTj|dvUFfEHwo9I686&)9se_bvLTsL;+L6;LFE&nP}kg3H1&OHA23 zHhjeA;BW3IWN9gvPTksL*rCCRQgg4FSGpVBi+)XWa1^s+fOGH#-0c(q7gsx4AM#ae zL4dLZeD+-}dji{p*V|M=ux?Lo{#!d!X&1EFfvRZxO6ULF4E&i&9Exbs+CWQ2U{Fa4 z-pqgU7Jw8ij3%~5&dx=udJ1!jxPFryi*|^(u<&;wtVVaj;(Idjnz`giYa})SVvOcX zDN0A$vu++X#!n3T6%j0hpK1h0@3I3{*!59uR}ZZ z#c=H3m$_z)p#j`mTE>i$MN|6tkxd8(x%VJtVSygqwTWs5Yk7`}^KlKK8dHmWH3yn2 zCYuP~tW5;l?ORi7!cw#v1BGg|pm-bW#p(FYWhYeDG0ujK!++8sM!fH<)8o}O4?m!E z!!@qRmS*yXZ?gG}e^b71QB#W=WoK-9`!Hjr?Iy3YAi{|Bg zsAGIH!%(vC=G9!))au z-kjgQvGdhqKu1hYNLAC7Uqg>+-j)AC-*xHcc1}&}{+q`4Ip;!AO33FQLt$mRY6}%- zyyYiquGz2q2}1xwLcc?Q8m`Qw0`8GRQ%EYPOiU*rYhsd8X7oW}coIuyv|QdEE=*;w z$vZCOA!k<+R-z$K7Ag#G8pkb)%*riHm_0?weA)dy5BXw89h%fpuJp<0v2+b6Dz-F^ zB$)=Tvb_^qn8}{jGR=_Bnd2(8+CBHkxOoi%J%Ia`?tl-PV(K1}z z(mh2$nysNEm2FMk!4W5zY9XqrZ;3FiT#jsVCMzdcwtMS+Bee2gxGtP#$DJRzE}XxH zBrWJ7QRBLF(<2rc(p5WlYqX?{h$#GM$&>3*QO?5$4vmy$W~Ky|?BYf5$U-gAd89yK z??B5>9_$gyPnxM7(s*BRWI;@l6K$? zsHZu`rtDy2KW9%P#vQoEX~p_~hP860#b(M;(qd`$x$g*3Gs8kaeUQ6-3?waKQa!u| zHd(WB6Ob)`Y2?69WO4uO9MdrTULNGXyK_5l%_3^?!7K^M$yqKaMh)l`LOcggq)K~s3vNS3e-UWCl86;FCJ zDiLwbBD-x{HOWmO%(!m zGvHMNYw8E?%@c>#+05LIU#FP#6#F>vjU!wHE*8P(9aj9lP~BodM_J_jyzmrJ0ix|a zp}Fq8n=6Ad>eh`@$XHtKP)3;N(eV248>egRxXKxtPnR>iNwFY|Z*e0x^ctEtYU z##E~!ZOTIq72ln80ah?kh*g+|-1(B04B^Z_YCa62pRD&EXyEq-7KMSbf3ONt^DAE@h-u{X9Y zAfF~+>AW{u9{h+_){Tp7e>yUb{f=}coxq_e!?r}qCOH$Qf7QH{(D^SDngEzU+9+Ap~eC}P}oZQ*tPIXi*Uy4@S1EVl_YV&#W zZvF=@fi_msHYZ&dU=ddvYXV&v8b-8RwCw4WLlY2|sHC?)06jz>14zXx&vr6aybt6Yn^4@$z#*Ta|777O{}_ zZ6d5we*#s@!;@d1V&I!U-I!O~ADrCiev7TpaK739u*j82M!MP#oK6PgYFwzWGJ-)F< zl6SDm&HI{u3RFcSIS0EK^uADsI#apuThHHtXi*!0xgdoiRWT?=CztZkrrlpn6Asy=W(gBzFhnt}s$zJ4ek2KS#-kQ=nqY8CK=d+|T@) zkBaHjC62uQ-rjqx-=C~dQr&jPGN052G|oQ+3Obe^MP#z&p3NYmGFh zh4F)PFS|o|itJ6>7$SfTBC|K|$Q8T4U%Er8*v~QQia`44p)_;ZhRT>lv$JB+65@-4)S9Km9X3EBPqqN2Puj=X%f6A zFG0{3xy!SIOQRuq55|#M3^^5EK4_C}AFQj3VatH5r41^gep$I1DtyAb5i%VX${pFO zl}jZU@Z})}ob3WWVKvz7l)U*b$9}7MdV@Bz{_4c(%PLIz*TH$nQ*j6|ZJ{u%A&ZVR zE|1>^JOZ&Qje-l%y;#Z9`w8?lzjNPzUQ8$zb*Z=xp^Pq|llLnM|C~4=s*gk-?c4Ky zwh$NCh3T8fU(9*X?}Fk@gD`!BI61edFI41fVKA55m}y zZ-{FtO`j#}V$()iP7baRei!A1j>l9FaHkT88j0ePBev{=%5wWaLoIwE{}XEPe9khk zlJh$9rsln&ibM4D^AD@Q2EB!)6+ea#nX4KGKM#7?dydyo9Ownjq#Blm>DIRsVckFx^ayThNO`9a2&!Bw) zgjpxbnUk@wYiN+Ju(d}HV;Z{ME;Fv=%26H&vgBf>9x<4`0jnp`^5d07t2}r}Pe|-C z{hhe-gvY0)C{8jzffJN=w#t7ib+mieuixJjDwuxOW2GlOk|4-aCy|C~gY07&(Q0$w z%JqJE4{m6v>FFbyvQt6zB-HAOx`GfJ5L~^OKsfzHJdyUrKJGO8W~JnVf_##Ab^$0 zdtx^qR~O@MevicmiKio5>?Uj*4aCnhMeaneW`!m;L6kq}StH@~>kzc|sb|sO;S@A^ zl2%Qko}%`FR(2Pf+>z%pwGbwa7~L5ORDoWm))PI}-fHf4VTE^|n32TSZFOO|5n85@ z$p1L8l+Kf7dBpztn!6UlDF)A_61m5Uf8RoUTkgY!J_;wU?Fmvx>x>6NGq5K&uooGZ z5P~-h6WY{)fJJF!)yi}`AeaiAeGcG@5g|DtQC?={y73ozgltqn&LU)g;ss;=95{3CT42(tmYI~ouGXl|8Dj{xz_&?L2%bG{jO!->{Sb(FZI%z+hH=V@M3D}S@8ysg_-bcF647OZ z8&rZW_(GuL-D8B(H|>!CEMyTBC#}y2{~2t_e-VFI5Z+@$Xo3OkP;R>vdEwQM7BS(R zS(of&a=rN4$YszYi=cE(ZjSIw#GFpge$5h|?$T|Pag;U_6?O$$0A7rl&IuV3?GAt- zC4dp1U>;8EQS@vA?Jc72Q5)s$-i!8*`DZrQuqeYi!8WPKGOmF|i;P>eHwM#X3i%m} z(g{2vGA+?NvuIo39PUcvG@`JqP+EIZ_?q2754CXuwU&3GGJ6hIx;)x} zdhwgcO$mGj4D}FO7lk=i(1;>4em#S=0C!7Y|OKvD>W>?`;r z<+L;GwJx|GRFESPVZ;^GU7zbI<=qVQolB$_ZapT{y&^yhJzhnKY?vD|9d;`HcVvq& z73N@jPriLB5S!rGbF~->gHWWZau$gY)wO$AE*E=sxWo^DMDA1z@}VXeubU5I1INI_GdM`UAjA0)*G z!lll$Uof)bDe*%9#-a~Ctfpj8AuZscyB~KB10za>fq093gx5kC)qxAkkR{4~&|cg0 zwj5aBA+^qNJfur~g32zD&RL&6W1^}zZv4RNqEi!E>27{mwKpe3%KP2jQKt{dgH5Z9V>=dh`g%~EAqhRx**hyJM8uJAkvk%U+@sH?M2w4 z?3kXv^ZG(wc`*?>m_&{3E2_)Vi@)R@@*x`z-U>+ITwl-Hr_DqG+?0dqJl)&vE4foY zl7zY6(_?d4?4(t*iqD>3cp-uZ{$DAS2a4As1%Er@IqW!6z$68Pw$zJz?phNUm zozJU1(xnGN)6!6YPcy>sZ5x1lB5;ktk!15b%J6NKaEf;AH*)Abm~$h{VXVLv$?yL3 z4O>7rAfi;3jz;{ryMjAOiB7F=DNMX~8qpjA;Y9ERjDD@?UWzUZq17kIjLr>9jFMGlu$+ z=nPr;I{F7%=O}j)7N)?Y<>J}+isoKhAiUQ>bf?T#{3OPl^Dr25sNcYKhHMx7!$d*x z{k#R>`NXXolgIebo|HuAnz{zQ`KP~DR2{~F9bPL!xr}Xrl+1f+s8$Z=IW=2M;bGkg zxyYi32e-5w$R{$=P}4!=kv+zAM^V-o()5S;%4Jfm_4jo4QYkDHGQ?y}&d&Xcz*97F z^o3ua0!1J~PatNUk}Uf+kr7Pui}qKWL?(X4>(}0qmhNwSwGcr33RM{pA_C$1UiuQ! zyU7>h=lECG?tHk9O-{{n%HieqKeuGsi0B@)~Kp z&6qmRR=?ad^$A`2)lTAG;JWFoK9H9_yxO8kRLh0G;$19_VJ|v**}G7k&>t?Qa7uQq z((gVgKX$U>s~T?tsF)`A`#xz=(QlS5xpyn)yZSd^sDELgX{F&^VQUKffk!=@R^QV9 zJD9rU7uc<_^)V>U?$iEiwr$uvI?R46GX54BN;y@t^)j5Bi_E<;X_ifWQ>Lby{n(W{bt9O2R!8yuHwf2R?^;zaV)c*2 z-Bz<lEf(2wO3^Np)>8S`iB{teuOm#MX?!pQgOKtFGK3 zY9;ogE!kdjg7%}b*txwVZBZbimcBHU{v0M1HY{3Hut#3#;~A_E`m>4n-WL5Vvj{Ricg(KPC&g)iik;%7AL9*h%^9{mN8;_!ssjl zJ*4$f(3nM_uJ=g5esRZ~rrd2eKelPWERueF%rNL+{bnj!j191@Wqhb_Iy z1h1ojYs;971(HP+k#_mGz<2S`sD`W`Vp>>6)LG5tC2}v@jk)r=o@o#i>l%; zDn(PNZNXV~`7zSLW9!{2>fgGb$I40|RAR24nF~tDCKm?pCL3;mI(X$)Bg;%^ziY$2 zeh&d8rqFl4_2?@u!&&cz3?30Y&jwj-rxM8?dQ)ADbjyYVF@6TC+Hee-DO-pJH88Ki z2a`LZa>Ao>FZLE*tEY+5he*rIrUfkaQh&puT++t%b_l^UrIA%O?nP|E9$eHh3f;=1 zB)(Fr!`SP;uf*{IhHAr;zo#5G@@N?_j0UZJsFQd2pgu%k9eZ}` z8tkOY2oMoovP&h&loi)Zkh3W4NeZ)_tMOnJPm>;m=%zubbW678Tw+I-#}3eX%z$zQ zdT8&wv>8=ZUYOe9<(B>X!cRlhT=di~)bbx~Xq`Su$Vw(^r|G&uNhVBf_f1+sl zdFd+iF~GnGdBMO$|1XM`82Haak#E{?KC1g)1rNYemwKBy?%I$gH>&ouL zBHY=r;;6LnECk@}G_q&Ls%b3x9>UsbUCghw5>Fkb@4bc^|x!5&Z`5{q@svSc6mQjF=DsT4CTeyFy)7sHf`#1A+F^49>Pf>c zs6C4n_9ZkxEu@T0oy_<8C0*@>Y6xCW-({@6Hnk0|E;fx0s<9+{6pP7N6Xkro_VMj7 zkn4*z$* z5^UshSUQO;MFGOw^Avcp3?-HJj{0wTcD{NTj`ON|z^G5@xf}b4p}jBh<)2&lIuqmD zoBNO5VIYXyBjRrIm~>{#AHJ6Rdq2`vW5LRyDLs~trl@28qL9h02yetMbo?PdrzaqR zIiC4#efQQ93syRWjaRBR|Xs7+lAc7GU)k7SQDRJ*jP`W zUF%m{cMzk&OTx?Ty9%%2e8x`Q=1H6H}1H=*g1-GA?*^8_pBfyJ(Ym zI`d1IF6IUH2Q$kL`fEZG2s0@hv=hR8|92)Mua5<2V_`TlTw?q4Grmf5$TY$wkLna&UD2`cYKg4p2rrVuHRt(NwPj+ zRK-+@M!Il3*IY148j}6>fsHDq2z+Mzk%z>bOgEFnF}O&*5IqHrWvBG}f$}5bqhYp= znsUIBbIgf-QJ|ZR6rb|ras?v_G_^L5WA7f?rRG&f!%HK?as|PP@Z)#X+v!1%IKY<4LzszIBSN(^FhQ>eE{1b1Mc1} z4`qLNQuQeVe9f>OoOjC$PZZwz+#d*zAB-jhV7fC!q-%jXc476jjAIY^wxI@a#QpFt z51hD<3Vt22nYtwgyZhHQv~R6ekIlI@RE&=I!<+K&@(yOTyg$k13sQjLmb(ldRnZ0-=L8-Vfz8{TSWiIg4aVJf z@TdK}$BKDddWZ-19WX|L0~caF-WLKp;AcwbejSn$`S&COg+DqliD%WkeA>U9^DLT&?|ha>LEp$~WjC-cEx3de{$-{#Z&%X5uL{CxF-*N<;)X}Vq||C*6ZsVKr#b#INf!H)xhjt z+Kz(_iRcy4^s`^b7&xd)Kaon^+%@K4y8o8vl{NVE>7nI_{;Cd_s<6ZeZ6J!$(V)Np zAouQ`5j=FDtG{mJSj$&D;@?T3{CYbF zveeerM!KfNM8`?g88PihyuW&SFv`u~$aRya7ceg2I7bky78C)*HP1<3pV&OFR=>M1=Kx9!W{avB}Xyx6SB-*P6B)3Y7>OI9n= ze2XJ7hlWK2;2|qC!o-nDh+8S$*b(dRrVTC4G+d!CUGFb~&W@zrcM1_TT(RxZx9gl? z@1vRY(f3Zv*}8FCfkCqI*Ao_E4`ar)x3bC1m*QrD75rR_3!U^Vx}54dgrKFap8dzE z`%8nAT;;F+_c5R#Tz5(ONX>|Scu~!i4&%Aj^10uLlP{SZgiO=I()=? zFoCxThD$i84C6>^kEyXx5&f1eUf>uokm@3WqG_P}XRWN6KMUsD5@ubBSX!tw*E(rN~ ztj(`Umk72gf(a^O6AV`${Giuo84Oll3Myji87v-#$cxN&N02m7|G~3|YV}#^7vSNh z$9#q;+8Sj>A&7aQIs8FAZ5T)WT7OE?uHl)7y4VRu7pTC%2@0uLh|ks%4~kcI0aLyW zDxjvb6QrJsyx>$$M;KA91|#rE-5?5JFAb8-_r^HiPfbHIz_20Rw82Z3IU4aD5uXaG zU!pL_iD6JmN}3ok2y?(qI>bv-@wf!w;s|!JS^Gt@80^^an7rVZOCwg^eURdXJkAPY zevwkD1NNvV<|d0H0?K+MtQEWE=*t4Fs|DtAM;$gP#7TT)#>GO~960xz`{NDpM;J}O zSWO@gQIoxnk7If>%y+&)xZ#_&A$EAqctoMZYe&KuiXhtR5eNsqBMUSdCeh1LXd?>D zwh);jKXR84m25#c<-npyhadIhk?-czrk2{V0VjBUm2ZQkBCI^c&rMCu0K zd+(5()iFB+>z%(d@e4Czd{!DAX8D{TO0bG!L$q1&Y!{Vu z3?>_$dTfM{Et4Tu!gPih`BiStbvC3RhvEr?f--`PGa&^H6^TJ;NyykLojE3Q#g4>QHlB_2BDbi5E+Hsix@np1+#5T@g93xhBT4doZ}a{*_s7$ zuyN!Dj1hJ(*!Zd7&1pk%c;xUU5bz?jAI1z22$Vi&(S-yCYu_QN_vTnW`bePdP1Rz* z3}I?9nDz;*($ROg7N0N9OyZHKlab9yB7M89&n13( z$z8+;duJ>~%Hnz8Th4)3P#2fL#!Y#}tveuVb`o1=n*U@nw z=24$2Y(Zc0;^#dXve{K@DZ2E)S<-|=vBILbNGUpuL}~RjUQ)6;Y5bXKlp#VNN{CL3z=+@ytTO-6_jqR`0@$UkcrzF8z zmjkt>LFqy!SG2?6EVC%;NwY7RlQ2GcKNr0)^@!#l?_cHn@?xWCz zQgjq`h+r-!(1c$SjZ=seizB|$tYUlzv|LlGGOI=Bw<$*h$8fvm4Qb~H6zlhzC=rYa)+xiBQGo=%r3Tq~a*~Rj$36y$+vqtgc zgn1F^0eAgMnT&1epqfJK_X36QAm z+Lu8Sr&?d&9Xt6bX$MG_o|%;a3_gFku(QJIB-aZ#lc~C+Dtq@zruV*SoFN&nvMBkL zcxwr03Q2I>e}in7ZE9PBbjA4IgoZ2j4j5-#6zxOyh*ad@=HpLx=|B_Fu)B+y3PgAn zaeB_wMe_y_3>;|$<49qnvt43%J!;%>)@dp9oNaBcI83jd9n1CWR)!(qj7ihblu*Oe zkDYfSzLNFm)h*1Wt(&qh0g&Z|#7$FThJ@e8mEzNz5?pe#ZM&LS;*OEwRKYQ+ync4TrJ@}9t84_2 z4u6Q|nZlBZmI(53dSwNdz#010;0o~tM*s~qYl;Rdx~mE=*wltKf!!cJZ)AujtP#ve zhOj>iydQ2p>xsARy>DL=w9KMS}<8%kqi&Yps4H$n)=BhnGw%DVW@E!PJT5nH>JHa zX{~MN->ObI1Y2h*`%1ds!Coyjx+7Ba#eP*7LAa?DKbu&)uPM_!Id4h#a99HY$z6Yk zuQ$-uZ~k*g6VlfjsJFA3y4nQZ3iaLV|4=r2JE8wjl5$6G;QoY8yF-v;H6&$^Dg$%# z;LfJa6QF}tE|&dKl_ALz`=FDb=ZU@mETAX2!Z$_012oS8KA1aRQsOv9GxR?n1)Qg{ zc)R>w@8Gro$Q(+23#bGw*gNpmFfC|XlzIB&$v=?bZjoJmsryNvq?>99f_#3!9d| z4%!JU8T)k1CxS;GGaJP{((L0OMHZ%Tl82#WKW|>0fq7CYlv)@jl(oY#-D_4|?NnH4RnS*I7>Crd z^}|!cm-6NB^!A2=@s)p$*aA*UA->ssbhYZu#0_5C`~R#3oAkuO%0YvHIirGsaU|7^ zQzZHQMrkP6)B6Vp@#81pZRZ6Jw#mUK&>d~AIGhZ)>qK@7|zZz5M?&jN7a9;HiGNK&@tT*JKAtZ>{Ht% z;P`;H<^X_WLcoJ000RR_rwIC!It2@0{xh6Za5#V<1Sp>{RSXWm^j2_#18~0;>fr$V zZ-q-Zfbbib10Ep#RtSU#D83aI-~q~S1zH4v!dt-y0igDOH3X?=2mtoCbI-h0uBv>{ zz`%T|QdtlI8gGawL;wN!3T6`E7j^11A^`ub^4FhAcf3@zcL1tX0}=pCQUyL~sumIe zk>tM!VLiiCj2&}e|{AP7!oEq?vW&&17K2t$N;#cly?}Zx>)~dwq15p zSp`DggWeo}H4`HGt63@qG63^U5ME@EAi~7|OC@+CWc?vPP=N@nsXvhc6mN1Zt{M1p zf#l)=Wnr-Y)xii22uYr*f&w6ZL$2s^t^b4r14F<81LOY-sY3S$ndC!H_%`0R&bClM zoqhR`dVv5SOC?4Hu)OhDO3_h+2ldtfdW-+X<1^>KP>iH$E_C|;TL10PJH=o6=dEI( zX5k<~x&CSj&i!vw^i&))0Q#E%^k^UfGI{dXtNcazu+V0 z{}oga3qbQWWGhV2kj<_Bl@TKeB@^Yp-2U3Sy7Kb8Ns0M$lq5OjmN)Sk&;01y{WDLr-y%& zQ9*44{*r{m>yI9IQi*Xu8vbLfKdFzsAOWC3o>J&9D51|EsQer1-&8UXL%zRIe84|K zaHZaY7`|EmPxewO8ZOBCECGK=-2XNFzX=~=U|^u1e_w?GlEH80Nu9<8;JlgU1Q%qQ zurL1_?QhHc^*HcfHeg_d0Xv!h>g4^K+L zl^GxKHr=EO;)D7fYIvih27*4kNt64h*0c4W+Fg7A-dpYKpW3$0|Koy?B-D+Ns!8yl zYf*`U=gbi_P2r({fwBJE?H?J_d;VcmP5`);chnvc zz`(Nc|NpXbP5fyp^wz=L48)8oXhglB3H9%*DrhCu@f|?+O)K5+Kw4qj`cuJ{ic0h! zUC|SPY6*5hE|DwM2k}43j{j5Har{5R3H|tgh5KtB|4We-KR_Dz@W$^=Kz6rZbnT$g zcYtjDw+8Mm{@Y1vHZcJ64ew54_fiMq2o2KO-`*4I=FfzX6!RN4l^*#&(h`sWK(DhG#ot1w+LC~Xe{LJRK}2v>h}1L^z&n!v%*+4E`tIKnD%k6507NPYDS-HY zjPUPF{x6Q<-_oBJ9d9kPKyxAS|2IWQn}cQgIz>i)uqRL&C2(z^bheufWRX6ojlwrw ON{LZ`t%)7zQw9L@D5Ajt delta 34932 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

=vMB5byX{P|v^SFW;L&XG16UjVHips)3e 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 diff --git a/cim-use-examples/cim-client-android/app/src/main/AndroidManifest.xml b/cim-use-examples/cim-client-android/app/src/main/AndroidManifest.xml index b6c498c..e761826 100644 --- a/cim-use-examples/cim-client-android/app/src/main/AndroidManifest.xml +++ b/cim-use-examples/cim-client-android/app/src/main/AndroidManifest.xml @@ -15,7 +15,7 @@ android:label="@string/app_name" android:theme="@style/GlobeTheme"> diff --git a/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/app/Constant.java b/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/app/Constant.java index e51a5d8..3c8ad51 100644 --- a/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/app/Constant.java +++ b/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/app/Constant.java @@ -24,7 +24,7 @@ package com.farsunset.ichat.example.app; public interface Constant { //服务端IP地址 - String CIM_SERVER_HOST = "192.168.2.103"; + String CIM_SERVER_HOST = "192.168.22.103"; //注意,这里的端口不是tomcat的端口,没改动就使用默认的23456 int CIM_SERVER_PORT = 23456; diff --git a/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplanshActivity.java b/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplashActivity.java similarity index 84% rename from cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplanshActivity.java rename to cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplashActivity.java index 21cfa87..f62872e 100644 --- a/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplanshActivity.java +++ b/cim-use-examples/cim-client-android/app/src/main/java/com/farsunset/ichat/example/ui/SplashActivity.java @@ -22,11 +22,7 @@ package com.farsunset.ichat.example.ui; -import android.content.Context; import android.content.Intent; -import android.net.ConnectivityManager; -import android.net.Network; -import android.net.NetworkRequest; import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; @@ -35,13 +31,12 @@ import android.view.animation.AlphaAnimation; import android.widget.Toast; import com.farsunset.cim.sdk.android.CIMPushManager; -import com.farsunset.cim.sdk.android.constant.CIMConstant; import com.farsunset.ichat.example.BuildConfig; import com.farsunset.ichat.example.R; import com.farsunset.ichat.example.app.CIMMonitorActivity; import com.farsunset.ichat.example.app.Constant; -public class SplanshActivity extends CIMMonitorActivity { +public class SplashActivity extends CIMMonitorActivity { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @@ -53,7 +48,7 @@ public class SplanshActivity extends CIMMonitorActivity { CIMPushManager.setLoggerEnable(this, BuildConfig.DEBUG); //连接服务端 - CIMPushManager.connect(SplanshActivity.this, Constant.CIM_SERVER_HOST, Constant.CIM_SERVER_PORT); + CIMPushManager.connect(SplashActivity.this, Constant.CIM_SERVER_HOST, Constant.CIM_SERVER_PORT); final View view = View.inflate(this, R.layout.activity_splansh, null); @@ -68,7 +63,7 @@ public class SplanshActivity extends CIMMonitorActivity { @Override public void onConnectFinished(boolean autoBind) { - Intent intent = new Intent(SplanshActivity.this, LoginActivity.class); + Intent intent = new Intent(SplashActivity.this, LoginActivity.class); startActivity(intent); finish(); }