From 3f8678a9be172719f9b493216b4028fbc3285cc0 Mon Sep 17 00:00:00 2001 From: ScorpioMiku <1056992492@qq.com> Date: Fri, 23 Aug 2019 16:59:47 +0800 Subject: [PATCH] step is ok --- android/OldPeopleHome/app/build.gradle | 4 + ...id-smartband-sdk-sxrblejy2aidl-release.aar | Bin 0 -> 36543 bytes ...smartband-sdk-sxrblejy2library-release.aar | Bin 0 -> 74657 bytes .../app/src/main/AndroidManifest.xml | 46 +- .../app/src/main/assets/JySDK.xml | 6 + .../oldpeoplehome/base/BaseActivity.java | 5 +- .../oldpeoplehome/bean/BleDeviceItem.java | 82 ++++ .../oldpeoplehome/bean/SportData.java | 118 +++++ .../children/activity/ChildMainActivity.java | 1 - .../modules/loginregister/LoginActivity.java | 10 +- .../activity/OldPeopleMainActivity.java | 444 +++++++++++++++++- .../service/SampleBleService.java | 11 + .../utils/ComparatorBleDeviceItem.java | 26 + .../oldpeoplehome/utils/LogUtils.java | 16 + .../res/layout/activity_old_people_main.xml | 40 +- android/OldPeopleHome/build.gradle | 1 + .../~$190110-JYSDK使用说明.docx | Bin 162 -> 0 bytes 17 files changed, 780 insertions(+), 30 deletions(-) create mode 100644 android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2aidl-release.aar create mode 100644 android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2library-release.aar create mode 100644 android/OldPeopleHome/app/src/main/assets/JySDK.xml create mode 100644 android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/BleDeviceItem.java create mode 100644 android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/SportData.java create mode 100644 android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/service/SampleBleService.java create mode 100644 android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/ComparatorBleDeviceItem.java delete mode 100644 android/handcircle/JYOU PRO SDK/android-sdk-jy/~$190110-JYSDK使用说明.docx diff --git a/android/OldPeopleHome/app/build.gradle b/android/OldPeopleHome/app/build.gradle index 9ab2185..b038e9d 100644 --- a/android/OldPeopleHome/app/build.gradle +++ b/android/OldPeopleHome/app/build.gradle @@ -53,4 +53,8 @@ dependencies { //drawer implementation 'com.mxn.soul:flowingdrawer-core:2.1.0' implementation 'com.nineoldandroids:library:2.4.0' + + //SDK + implementation(name: 'android-smartband-sdk-sxrblejy2library-release', ext: 'aar') + implementation(name: 'android-smartband-sdk-sxrblejy2aidl-release', ext: 'aar') } diff --git a/android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2aidl-release.aar b/android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2aidl-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..a1fab6c2d6328e807d83311ce5c6557c865e188c GIT binary patch literal 36543 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≈UKD^H`aR7-BL6YYdySqqoEN*7_=6@cd%<&a?8uVP``2%^ zlfyJ#Nvt&U+2JBR_|yl_G@+wo{@E48rNib9uQ`HcK-A$EDnObxwU~-R{=P1LVUI1)a&rd zj;Jz2H9zp}gEBl|rw8YT@V3F7@AcYIUIux$A!FJJF#y0CAwBh2Nr187dN4#mSc0%) z4>0~1@dETXLEPMc6c3czfu(w!xqciU%-RuW2Yf#u{8wVIa~=z7ZWkIojWVoyLF%v= zDQc1A1SHkbpKVIe&?PwR)JcX-i$K~bTn&`g ztP9?!u+~rA0=lcx1!%?z)URTCjmZpPxlnuU>BQevbMM!5rR=V{342-YxubL?{M6h* z^jAde*I&`&l=lV%c_HzuAP$H={Rr{`Q{;<`^nz1;0`pog8m8qv=p&Zt1U#?lKi?pAkw2p*k?QVQHvq&5W^X{7HRB}!x@NwKn5{ld4*

?CcA<0G3FH1>$? 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 F{{pM-Pk;ab literal 0 HcmV?d00001 diff --git a/android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2library-release.aar b/android/OldPeopleHome/app/libs/android-smartband-sdk-sxrblejy2library-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..19fad8b8506b993b60a80707973abe26fce468f2 GIT binary patch literal 74657 zcmV(@K-RxdO9KQ7000OG0000%03>4}3G@H}0PX<*022TJ06}hKa&Kv5O<`_nW@U49 zE_iKhrIEpIgD?z0?@0ZJDEB7oP89+wrlGA;S0u{1-B1RGMl>Oc)2g38DxjOTV|}yz z{AA0)>Y|S13>IalL%LuOlz=X~O6n%0Cs)sxbQO7l5?a=Pj`X-jU+BtqvI^l;lboxr_UDfVy>o4hl#tGYi`;9#=DB*wf2CR~J?cWBqQ2n0MNk0I4+Po)u zn&z)X{QS1w4zfE{_eegnb)FQ-XP#u+cvI~1G>c!7>BfLh&x^hRP)h>@3IG5I2mk;8 zK>)^-c>o~*0018V000F5002@hba-^j%qvkSE-A{)OIJuND2UHX%uQ7=s4!16G&L|V zFysONP)h>@3IG5I2mk;8K>&7COb}cj0RV+N0RRgC003ibVRLh3b1rIOaaAs}S zW|EHc#CFH#6Wg|J+qTV)ZJQl-^2D}nyF2d8`^}up$@|yTRDJtkAMC38=vo)nUh7tp z{RW8v1`7)d1_nj~_J2P#V3=U0j`mEhUM@_oX0}WwcIHgB=H^Zo)^1F$<}M!Arshn> zOva3+cE+x*>S~B!F#q@IzY}0!@kx_1ASINDuSMB~l_!(B<+YU^r488pa9ME_VQMvf zHN8&R#l;i@73swTQyLsdY=IzTikWC(?5-rIK0#m>5cs+)Xs`=LP*i22DNY6#!44-+ z%8;BqCUc|`^}Vbps3!u=4bj}rx>8EbTr0Iw)RMY&W4q}m>+6!6M9=BZb|8;MRQpB; zAfs+~mnU!c=a-q8;PH@$-R+M*{I0d)qv$Q7+M_7E1;~)!F6WTl>?QRWEdBR)GCyg| z9|IXOFQzlkr@pEl({#L(J0TNn}-Pd^>(sOsgoDrgx;=F z4xg?4H;LiL$-p=OBnIiaq$BFNQDK@=jd35A4Zm752L2GKxF<$U>H7#m%1CfxrSczC zAg#bb1kqy=j?Y%4%~?$15V|_69Xh@g3j0u!1RAbS^Ab=JeZ|^=$af$NP2A9xwlt2- zfsgF%Wm^I+Mf^aaapQzaNfrjSM#dJw3LFef90CkX>3_f!_5T4=lYhZ9Ud>i@Q3!({ zL8?Ow3WAgYc~aCnbwS0dteEdeUuoj(tiygys8HTEn>Aqmi#%%{H}4+iWuExRt3%D~ z3MN%>Ma-=*HPv{=1Jy$=J6c234tqta{}ZjpJWW#^nIpj^dasj z{OBWC`!_DwJ#iGgV)zIQ03D7pbM;jq3 zTJ)H*+2?*HJ5yh6gzt^Ri%p%xIZ+k<>u9k8cF|#3ca}NN#wN%Qub^xWe6IuyLwsR;|zj<%=NU3rsrEKhdQ`F>)X20W6ahTp}zoq1jAP1mX1c)RL{s%6JRl@lGgI--6!&u6P{wAW{9|E|7!?1@^h;$kx#1y z@-zEQktTu{tZf|;sm`2e!OBU|SBjqe#`Y|ZUmf+L!|FMO`OYg@ht+i;^{U8fLgR|_ zG?`AtL4nQt1WJ8zD03W#*j$3ZTk!8iE3nX~1S6coFd&X-%o-l0a}Z6>FdKQ*EpsgL zoORjn4cxlF(ElL^#>EGC+dsr`h5Db!!T0|_4iP(db2mpvH!C@F)&KK}oQ0g_U-*)z zVXKO-juU`XdeyAIfx>7Hj;UkwExf+huyR=>Gy=L3lBSh*+YV`buo>Tz6L#hOI!Evq zuH}>NXyVio%5@xZZd1uJ&*3)i?O&A9XYwf&NP2SMd;aquKC1T{Uq;WruP^9elK1Ix z2&|N5YD>*3)a}lANs6mZ3qGW{Opqr>f+0v>+!Lt;T##^e%9X7)wqhh*x zi440&)ntyQ(i#i~#b`q9+Ty6)^Sr6|M306?u{3H#OgN2#iTZbvan#M8XP0f#Fx+&P z=Uvc1j^f~f<`=A%{&>f9V>oCNQV;sHl&8^$eZycJTy=>R()TLFAaaFwC4w6TSZX|; z=ugYeSi!~G0&^|Px}65&%dE3Gm(6J@WJAZZu6rN}D{ z&2F=~b=~4Ndq@=8K73-#rEGA@Oh9*fxJWl7mxF9>iM~a+3^!aj#H5!S7iSogAckXR z947%oHh62MANrg_8m)|)?Z$h~W1-^8XCF4pBak?S&v%%UAfL7j#C1>=*9w_Pb4o!d z#amL=rG>5Quj|KLF3!bMxtcw@0@UJjx zQVtRFXDzGH3E%xz6h~8mWLuLukdAt7&Og{Rw|RKsQO&I21#eV$7Kk-dBRcax{JxTSeoEOefneswO}>asE0smn3>d zoqeAZ3FaI0zM3v+<85V#tOo}32PgdyeddJ?r;X(y*`zLVn@Pts4R2L>A>6yT?W6Yif;k2#2C+Qe+?b_~{6c$NWsNJmhi1!<_d!ih7|(HU`@ zJb>JpKzwdxJFF_w7T5FA(+7QEg?{Ir6FdB{V4z?ZT1vT6GA&5P!bJE4!8Q zp_2NqP5S6}4^n;gc(Z*~gIDbTNLtK%gOL^_7+5;o|0HQV|DTffFM?L51?Puxj2W0n z0PJ2*Y9tZr1dxp3rO;;t;U7zZ!I49vlcOQ?tP`fdrRKSNaD=GX^XnAt{4NeE-qTh> z(Mm6g*-(+aUD>JYMQ&5qwXNyh&B>Z(Sx;+J5BPiP>-hKfedoFFd51G+@r(NpAK27j zhPapH5H9Hq+C2m+c2uX*5Cv&HN|W%A1Zs|0kJu0vs%ETLRg|sR4{b~vw} zL7K2$WkH&7oeIAa;i%!(7>$&Ed^imv9^dIlXl^q@1>8os?$BAZGo@+^+x#ntH|WYXbT$UJyaITS{;RuA=OA zrfa9=u>7FAV*GMYi$f;d=oT|VJCJY4X$`Sup9VfS#iw1!VKs|Ub-$0iD$D;x7J6+_Nuzpk{EYW%xY>+P?(A28{ zERqElKosE@u@8U(gagQMdH}g|O2 zkp?Cn!51MCkqj^gfJg8ka{$Y-Xr|??M@S=R0NCD6{2#-igl86GrqpKNWw3MHo9ZXg zCUM71zTLWf>tFlDq=u!A)$N=M1LB$w#lI&&b_nt0_hN`V=Xr^Q;RHGY6`lAK9fAaX z?<9!qjn^jbaC0vQHeZIXua*gGyHocWBf9quiFy(xH@U6~Kq?XAL~?g{hC#@%C^&PW zOm}Kj_oR?QV-Io2m8RnKir zWAIp~y>xWQMl~H3m=;=g@J_Tvb!i_MZUyB-Effs+ls3Dq(j1l8E?$1lS4tn6`3QJ( zf>u$Mx<2RQy9Dtz_8c|Mzo4}fYX8B$G)yh9j&`*QUYlJUAdaxw2m;O;sqT_q^2;dI zr>eE(C5-Exg*-_p$12zkn~5&Q%|Nf`7x_h4^Kzo=E-ssAX_v#BMJSlv2$-Mr#L-XJ zPEhZ#Ye*Pm7S-j=A+U0GSSA6p_pg9I8Cu+-%_S$o-~z=`SCKW!?t+@lhb3G0j@t-w zrd%4XzgYBBe_HF7U|g0UGxel9~pO>opQa*te=?T7_LIr$cpr?cf4!MekiYd zKrCZ^yBV!Ie`OI>{+ukevMj-fHX z%PaSM=`Pk;>+dPEHosl@Ry8Kdu<1<`7m4$bO_E*yhi4hQ)Tt?8Os;xYR)s~CA#kJ? z@$LA*!*yn!=A<=6aMQB<%*)5`EK)1yH;KivPyKAYZbyS5;+vnnXuL$itWNKsCzkmS zV2O{1u+VC(GHZPE5>*6}@A5ZQ$dTr~ z3Teg4+%bDPeO2c7F&FXMv>{*g{mUp8mJ3Q_EzlJ74RP)rlW#WBwN{Z;4#Nj&Djhv4 zz;v4?C#&(1Lc5(2H=LvUE{cr0YDWW+-3j{IdPluMABJ+6<1+Z!%x#mQ4eLoYb}1HT zSz!(X?5lFFA9+6szsr5xbxCHrjTGQL@q0=rcxTIFQ8G+JuNJz`X-g-Mb$QIFZ*U}n z%wz;nz1GMsl@}Q^$hqa>2=J)=&M?BSJQ!M|BZR|TL)`paDqFR0R^pDben^C>cs1Ek zXf#cK&j6_flr`7e`hXe7)!iQc>BGzOqu4Bv>vb&m_mV-pgD`&6Zk(+9R?kzDTV_aZ zSHgSh0!KtW$6hEjp+~i(WVwG zYr0>ko+ww-LYX2uu41gCFXtF-)zzfMO1(q0a98QEXkwiz-Z<8lLULI;e!Hxt-=)~D zK_u;BD#!jKiuO5YRsMofw3!PejWZV`@kHaJt0=f2)1ufZW&B%XLm=G4rovdP7`)%G zB!Wczhm8PO9(0k7Kz7m=SSxkxx(0vgAP)Q^UvSTubMAdma8&W(UfYdzD}n)nRh z4Ft;#yi3Gd+R6RQ&z8!z_5SXyx|GzN8vFG1QZiiClYGOXoVH=!metUqr;g-_lPgKf zVEdkEmgrVG22&UA&BRcII8@QNc*8~DR+Y)%xfFDp9B}=UdN>k(TFStSRAcV?hF*fF zt+6M8w`mhk=Pd-*K6xf|tj0Y$m4*(jga+RIr)UxXg+IgOc0X@-rCv&g5K-bgPoNso zMee+~au?VN^>tU)9D|IcmP(e~hK4pP4|l0p--eq^X@0L%+LJ@7F+DuKOemJQq*e^> z2CMc$yaZ5FGNoE$xpj_KKS9E@%dYCNkiJxhg=;ldGqpYh}!!-wyev~ zy-F2(QGEf9Keti-()$PBF`utlI1i0BX8tm021CDuE<$gWMp-8r`zQu2OeGUq0PNSG z$lp+4Jgrn_G@}q-K`ASa#245W<{}cPIEG9qFlgP2#F+8>J_EV^C_!w2Iv6)Ifzg_o zW4fmsghM44WbBwru%}1~=W1GzF8bYgs#5@gfd1t)4MA#n)=IreEB zj=>r?=_PVr$5!_@%6rI2qX8Nm^Te0rpoo&YU(8%i1l6m}2e5WXN9jjCEr)maLBF!m z26$Bz(CRJeIKZDT?`B zGCHr5wXR}7y?nIyNGrcdE9rdy3R107T|QU`YO@2zq>>?UCB)4-yPXeZlLA3yfq!q6<+4P3&>DmXwSi z1f6@ZV5&IBb;N$F;(C*@;W9(*Q{W8@_4rF^T>!G%O-)LDR$^Pe@&rW&;*4 z_zvk8n9jX|()D10%_pACb;=E!0EqhA+ea(cF0R&lARRa{{+aJUk{_|`b>w?uklWWD zGmc`#MTwMQ94U(cTwn(w4Fy^U&3raVr>D{TpkIoJmO~3MRmUsjlYpm05^vf#LEnyt zx4Z2ZV%kRJ_pFTx$gw((+iGxLe1X!uv|uSwrnmvp%rLSdyjWw#gphD9XpKFsvq89_ zxJ=75lSsmMLSA~ZbM(8@r7LJlz8A0pnb8}U<{IfYKOT>cRQ}jfFP`=rGeaR2DvdR} zX@yEC|NSQwE}Hn8Mg@y44rcuCl(XQer_7Ar2F_YLnl|WFV_>JMnb=AX^re)oQ6jyW zBE66&hbku53a2(p=NIrP^$MdLxmW7s=XbX|_$xBpk1M#6_C@pKhN3EL+gB`9@9-%m z=WF~59=y`sJ_rFR`ge@Hb|h52simWh6Xl8}a%Fnqq?5nlhS!I=hkp)>KbtDI+DU>jf6JFUn z&9HCeJ@HEO0KTs6%NXBaG-CcBs5fN>QC6IPk`oruTly;P@ML9+46 zd!)1qZdVx|n%$C|C%aw6EBsL6iqC7Fk3eGg>`e%N@n0C69Cc`8$3;GSm~Ha+qLP^b><}gdpVzyR~QuPu?rHwBnqk z96XP{LI(HwhrLND!gQO$pG$JWf%7U6U|otx%Zl|KmNe7;k{ShHeEk>})tCO*AUC;r zPQTCz_!ruE5tiwvrnO*&5ch98>`#lVn6`DsOz=f#_4-&J&d;-7>tEmg)3fftV_NVc z{nM3F{ug>y)_?m6r>rjvA&kL)SY5K2o#Vg8i7JpOjDYo|^pr%7qmeW(>Uha>e!+wP zPV!k-NbPe5^HfsIi}y08ig?xQJDcl!i#v0=`VJH1Z|73$RO?dfTx*&9D-J2576}pe zn>P;hNiwi8P8$;oxAkF$0c8C1{6&<`4^Z0(Y~09igcjl3>Q2UtF*@QIA@tn^vDaS9WY`m#Soru z0V#z6V7`(?TXO0#GVU80Lhy6CaGuhMVG=64tBp#F-<}7^PjBVRXhW-r9K74FbTqH~ zoJb=EF}f1Ua-)_)v`k{R7RGAHGp%VI$L1jYy^mn?O8V`qF^e@l43nyRLIjnE8^u`U zaeEY;zl|XGi)AU9(auWslJJ{f+8{XwJ-Tjae-CR%>tgORJ!H7R7{!}%{12k&i~&5_ z;9y{e|Krr*{}WN*zagrkFDoL9!k=?;GQHH=dOPK#6v}9}Cps^xVw9OI5$w2nslnOc zdl(=UNY{w`e-K@V_ca>wm7A4xg~CJ1e?%0)!NrO9&@f0A3#Yo0jT1Mr^1`y ziOiWuk)eVJQdsE8%8U#K&_pYhdWUOx>0sz&uJo*DkTtCXMz0!LGQ2)j+ zmaQ(AVmK^w@F{u$t}=~J1zpZ=x+uiS&OF0>9h9&`S6m=gF(lJvv~uEp*d+#VOXKxg zmrNz8C9c|w8eCT7=^DQQstl`frCu4>j-b)FH+-W05JJmRF8iE&#wC}r$Y0Tmdrx4N zq;U|V((seL3E_eujKlc6LYWhX6#c`iqs80V#EzgoRJ_ea;{=TlI=B@=2WFWEa>nkk z%yCUX7mp-0&?=?SH7zd`wkPQSK|4B2t=Rn^wEO=XXtVtr+M2Jf7~&Xzd9)wWr(vaG z=cy-L9EG%?Fr-l^P}xX=l3>x)a;G@PleV+CfcQw5OiD?jO7%{mLOo!@u$RiT=?BVX z2luh+>E>x~$S*L34W3vKTmzQUza5)2TV&4_}SBM4ef0)E>eOe}OrrI#*~E91@AaM=;1?v;zdrpdY}x|6@h8B zat9zR0ql0ys)Ozd5H|zAm%iw4IJXN|59!g8$iHo zFO~<#za1n+>`uFNVBZQg$NMv=zGuBwv4=>`-V=?5=tv_%Wn{wzSGA9EfXCCM1+r#? zJCc~FUeqE}BA}_!ukARW?{r`nzvLTj&8A&Qb%lD9tY*r~Tkh1tGZ5$e6mI~#Jgu&m za7QO?i^z-WlFh5cw~gi)F>e*0SP?JBb}w7Bz+=_HRg{@+?>*7cKCPj}Xrt%n&b40m zej6a?2NKn>>tmXvV>Bao3-2Y=^4Y3wEo=Yu5CmOWvsJFOxF73NSsZs2s@Uu1*WHH5 z1kWcEEzHTQXR#f!oR`M-pSH%I3GaqdEE1wvzjPqVkWSTBT&nxHdPO_<@WFO3xXW+C z^DfAb^fn6ZkT0_KjzfrVlVNtYce})G2nng(``0y_+AVojn-AG%WE7C}TJTa9s_Uk^ zRUdRszBgUFIkZ8{2Trv+j2z5gOd+ZJ@ag zc;fLG7>xz~#8o~F)MiJ(z>^+LPS;a}>L51EEb?nFPZ6cWzqdai$yl~7@pkcKg=ma&yu5{R zN5gH$+#g4qsUgIR*%hVk6EXICP4dkcttt4JcK-2Y>or2*$S#{l^T^Pa;2OxN&c!C) zEEz=`m1{9m$amucEOxr(1oLyJMVhY`9dWZ7cR2I?7RJD+?11U-a_OuSqO&b9w`NXEqhxbgq5%+iql{ld7BE4mUkB*0jsn!!Bm!k~PQxkEZ~|M(p#*y)|Ji`=(( z8`%>}1Ci<-4i}8?QMj~S()#PjS>rrN7*1dW6Dhng(h5g5s8n}B|k+50z0M1 zt%R|DC7~}X$subs_#<|I-nQrmORqB`@yS zJXejC`6b4!C~0x|5-s+Ty{&}DIR}sRkp|nebGSP?E7fFfvy0bzCpP_53f4 zGv)R><^y6NdC&7ZV#_J)O zjqtWsd|fN1K(VV)2c96)Ct88RP%ha>rv#)!7@u$bb2+3!l48U>wDl#XCMbm1CFfz8 zQdGkj7Z}fT)-0(i2dHmCnNP`D3dFJQZW4C;0lfaCNORivNdAmFB}_xOZw7uchOx6} z`1ch4bbTeR2UKqg9}{o8XOaoe+zGV5c9DL`xYKbdFg(6Cv-o@F|Hc20D$|Tro_+7n z*C!tj&xwNIR->y1S_Xb+!xaX8C&TPa0?!AsOnoYMJt5ebJ*9i*Pz}^xvICp&j5J=7 z1KsdDs&{=M$QXL{BKw;6meF^ovO|WJF=C^28UA-A8K6j00s>!(tJFD${lYMCI7Ml$ zi6RrhQPHzxCm|8NL6U@JDHk`@Tc0BVvNm_OPZ1;J_MFcBPF0uMpDlh|M?S_D_f z+O%?_Feasf>>N1`ZF#Z^OQ2@v73z9nO3qM+wDmF>#IhL$QZEo7+WJF)sCcP$P!Z$8kIbd=w#uTc z!}(I%%M&kb(NBAindNw^L%#jFgNBBh;G2{e_=ds1^-LYb!_X*TV`cMs#Qs}O759D`eJ z-ii*B!qV24zi(!TnOG^c^88VTo3Wo>!K2i7A&q-C)2ycG&Y5R+MyuMf_PjFoP`~SF zz)|(&bmbJk{G8DgOPvnB$0npO*qRrH1 z;bqMct~OgrE@aolua!NS7_+3(VwUdjn2>1{&ABtKQ^nUh#JYKfL@XquF7FP^oLS6Z zhJS0Y-Db>Ut()&5z%`A^Z*$jtlC#3-p|f+Ts2FT&v<{bd)>tz>=ep7{#+BD{9hbYN z|I~qj(Oo>h8whQZqdeh)U5qcpQ)6t*#(Slb#ST}0%9KKX<}O~DH*oQCokX^>%9q?k z++aC^kd&Mve-Eg`}5c)LxT>Q3q2?rS!bc!Ce? zr@VR(ne-)b9_4`k;53L*C*BqFhhK%g^pBJ(h!f>FwEk#4Z3O-jF^K6;eR{O2ue!X0 z^5^VjAv(Zh-vxwwna`a{8xp0!KO|S3%x8{{pr_DpXnP9RfU>8Ck-myA)sNWE3P9*k zs|><{M9GkhczpLvU@7TB82{!bm3OMAwnI}EK1l22A&$U}EJDpjuid$5gZiSU^D z3G*Mhzx){V_kaQeqe1vD$UVou$-R24%c2Gfzoz$?hS?!kk+-nP1K23|5`?@C0mPbg zWsJ1dkMc4adGptUC|DY@aljp?9|V9)$np)`4+CT%=oIrvy;f4Pe6v2f-K**IwZGjD z#&~E9`4ct<^$vD|^=9Hld?XtnI?@$qX#T-?m>(x-W;g!A8$&%(qQp{Gh+qk+hf+v$ zHqr`#iwh2fn4vox2n)fXget`x3YR3Xgvv#~(??d=)5YXusX4HuuhAOr34#I_tXlhp z3{hY8B7ergQgNWDr{PSTq4p6@M=PhNX&enk@lk1_i(}_EJC~flf?K|@2(`%YnyoK{mQ;irg z^Ymnqu&<`$NOerxu6hul(dZ_eFLNn*j6kc9iP`hhZQy~(dH~%JL55fCcmwIQ8~I8J zp_3`bk)ixod{^~}_g4+ymt@P+bZ%52$@Wf630A-j*k5o|Y8S&$Z8&>Lx;5cm^p*nK z(?t6{k?AJi9gl0LV3PGdgNR^{WAWrj%Cu)0F|MW~odj$pXHT!r>ogpkYdUpL{hL!l zAgtFfr(;_m`6h(+Nln_sm@Pxj@mOIFEJw$4x=VmEh_Ty3>t4DB$6&bQrCGnkj=m1} z?E+r3mc;&86FUPy8&@shYNh&6euyD&8)Z{`)OfzJxsJFOm9OiLiL zuu0#szqxVIWa}7nI-ksuCVO$I7}w@`8U3l9J&Z#0$o$NPQIe3NB?!j`pRyYAt6Vv$ zwLkb0+5goar~?8)>7MNRN;7Md>AFvym3LH38ZuI0f(#uQ!XI+z^(- zZP1}hGzL}R*D`cq>Id(cK!(}Z_W(!aij+L{xCAxlu9zlH9PencgCkdfxk1shALi~H zyU?l;Ce^M{B_r&51-_el+3iZaS=yEZ$%zTij-8s#9p~6RLHsQ4y*a8?ZU@uf|@&=cH9Ew+zdula9>%qDoyX ze`k~~Iby1W_-DoU5X`6sYe-L6gtm{@#Q(kN;`!3+^$iRx9p=BVyvO-FLR?0MP@HNy|oAxg47MC}9kf?L->o|jjz_H(zo-tXy14m~B>EYE;f#*+*ur9EW%7j+bR@<(s#< z&yv%^rO1O_i?6p53q=n{T>iil*LH)YtI2 z0lAe!e5jS5-lKW^-sDhQ`3cdoPkQ3$c@#FDsZ&~`5Wo#T(wg9lbVvK3=T^TQ(b{=LP6-TM6McbyVDi|ZzL5ycx!f%OWnDQmsWz*!_W<=)OMO3a@3qIA? z-s_0KlwfL7KW!2J@Hj=6xn|P(7^4clq|bulqDZ$_v;0fA5@+($KW>4gr{PYp1Dc z6m=UE<@nO8R?}P~l-r9O_KR+co2~MT{*D{{5B{$YzjL3Vp&`X8kapjt;2S^{GnRi%;I z3FcqSV@^O2c*G{=kHbH9My*vQ11=sK$9H!yW zCa%EH-FJ|sI$we>j@1j|*0fMB)x8GhuGtHR0xMtf0ga#7u;-mK=C1j-T~Ll1-!xrc zB4>>kw4>@haK$%$9~;nb=7mJ8e$OXRelY7LG;EmpXm}rh83_8M{hNSX`2wR*`9gK0 ze$PapdGAQn7v)*`f}9|mG(jN*$ZRP8Oi@DM)t+QkIB5kZ~JBH0xZ04QlkboBeSIvpBKsGJRfVW(N#)n{`i|`UkwoZ-O^j}Tgg?@*Voon(KhxIky}e! zb6-$NUdGQAAZo{*y(J#V=UpHmm(cqGEbk(Wj*DY`Tg1us6C{26ZtWLpike z(w5p{g~5wqEEN*H?#cwqGuBo=BKTr4@U+k1O8s{3rAJ(JAM){NB;}i7(l>FcWSjB; zwsI(G64$k;I9oNX1z79EGuMehY1W$NaddZIQ}BLlXzLUrwk{o^YbHPbhud(KN*{^EE|0MS!;AL zl!cY^&akR}mjvCzDSE~%*=;N&ml4$C#H76nhh|JVrv4`9HW7tVuo#)iX_YV z7`vo}qY3RL!#M5Swfq!js*lH7)B*{zO-J)eGxKmh`Yrxt5#k+%#}6WzP%(8f<(u4c zmNX!Z#4IG{804zhD093+k!J;j&*`_)T!H|>gJ%gJN@oHz0r6gTEs?+=mEOO~YH9_d z)7C2^r*Ock@V$A2&e@d=2Qq8QHl&Qspyt1>Yu73VR!q?)(`{iqWlPZ|z~Ge>J!zis zhl`dyQ$6l}D}mhkmhEWEQ0>)QXVK8qaFMBGYtpSVDAKI2CKedukdQaUS!Rn@w zeKpyl8cf5vDGJdk3hzghj#_klC8qlt$;CVkN9sz$eLi{Kwb+QTz4=6NDuG>82}c4y zqqT)STZJCAp1%pc`mcC$Z=_p=Y~QGr$cG_w()LG^2X?HOXurU zwr02I2fRdmE%F8$kK78iIXI{G)gk3sZaX1j=tjQrO04yvN+`Nv1vPjkj+kvL6yG`W zjV4t$C8TcV?>sEje-4t)iqvNnVfF*y!CP(=n`U&VVHp z?%A2Q;je-`vv2UYqHhA=_r4#WSWHZlcnyPJVZqQyMm8B*mA?A+a7s5ZWmU-2#H_c> zF#O!LLgx;x=IWt3b7+L<+-!)G;Zb> zokipO5d2SW_^tpd>i@^o>CyiSxq<6nL#Mtix-bTRN0!GlPqzJ=`EtATm1MRMwwjWX zU!xjqEqwXQ-lhf6zGHnRVtaid@W?gR@MRDAPBPjvTZD*Is=G0RH_~+`pLgr?^YoMn zOmWUd$yLd7&Z+Un2sB`UtJCj#lKI( z-oDIoBi8~P2>fp8RYcJ%viIWWpL67+tTOOuuV;c)RL={V%McA4}hPO|;cvXal9dYwQq^0gjRnr7P#t<0R)X zk2~Y&-G+vC))?T1!p6|!U=Fi|mT;c< zh0}#GHz1$O$y|j2JYz{3#{I^f35c(nxu;c7yC)JQXD^mn)cmdd{#sEte4#sCF1s%kmbf)G6{*klsj{ zr`J}bpX=-tXQc%nG9cMmsQK|S^5&B@u#$7Uo2+$bT`4v*-hjw&6vvxHGG%-(IJ=@-t~Ou*8yDq=pMEKV6Jsl_l+Qj>o8DG$tou`cgSR z=cWXZ%cv2%`}9jeP!TPg{aFXweP>?8qVF24o2|GWo5$Z#@~5~dSk61^MWIa8fEq?t zJ65w}F%0QthrWP&L=PWh>9rKRHsR?X{0$m;UspEng=mbbspc9w9xT{ev>i(>dz++y zQ&DSa7Dw!{Tpmv1+HPr?m`SEdqKGG~@=xg|)FX|6_f#8kfIPSk%iUbrgVGM&6Tf82 zNg7f_o>gH6B>*L{##xlCF1Rn2OTNOt^`cq_tjTSacEFQBPErH)O9TUiDWXsKIBInO zWpY#KtN((4%C^v-`8USvh)gVmf)w+rW^eAhaud8x^tF9W-E$1qmCrLcq0Od-@MEnG zn?~cQz&W0jW{WKet#CQ!)!)`X+>5^vVa{^LJ_}ZM0*h))Gl#!r*R}0Mpj7PXiFw1Z z{Dqw66XHdl2T}NV8 zs`P0)wP`cR_zV6Y&NXX`3B5yrf$>8BPn_fZ|GW~z{I9JZf)~az=3mF=jBWaFVHCnr z;n0m;Mk(UL!Xi!5QiCQ^Y|({H_PJ9EDI__0<`(JDc68}By6??pb;BDnvYTxhb@Yw& zA&z!+bqC!_Z5oxZv^L8E{q2Uc>)U+aZIkExc0W&dTxZ{Nd0RLW|DN9Xf=>LNyAUV{E>V~bmF^1=qP#1WWmtOrA%2hB~Q zJettcGmR82$BKyIYOt&UYI<=JZF@>zRU(c7bU2Krow-Hv`|uHoK);avRKPVrll2Uc z2QY?C9WZ{u5G4lTMa;73T@G6-;db?A4vkQe9f-rdYeK}64BdG%352B?@@F~TRu|Ei9y&HdMIn~X zc_F8F-=O+I9k@}B#2hqhvy-2-ug{&@1CvrTT)&)>_7wpQ%mjlOm;@*5sO|4Oef4_` ze&Pe0c89ZT-;-_&aODnFf=R!oBGN8w*ikgd^nku#SUU^1N}vtXGTJEJ?$3n1xNa zl0O!!Dr36FITcPcFR>#=Tqm`6sjj4}vkeX<_L$j2JW7(|9@!W&v(9sPc$rybJb=R` zNV$38H{xr46u2F)7zDy^z`UCrsq=)(bu=xTd?j^e^JrY?jN|}6xeun@XC?$u4)@+` zxUdCrb2CHp9R^xl?2hV(E5jv*oUq`cXoIEI+3N<%NB&$yZ2U=Isb1OmlTD!>|GTXW z;;==RfqlBIE&f{G-5nx)bRJJywk^ofYX?#RU!m40QmQnLz zb$rykYtcR;O6ElDpPr13T8IKC`bMXu#2Wi_zT{@OEYlgL#M_Dfc>4&D3di5)FM*u#t#1jsr9$uoCArCN`O{ zDjoEx50pGm@Lg^dGLz(9Y|~X}ZT<=33f@-B2c_?hc0Lo^S=;E_t-Ey_pR%DNGQm}$ z(^HsjwK%`Utfb%&5^p_tHf|pec+$P&ug`i%lXSWn^vlL5k6vDdc9gQjGoj(&Sn1_r z2IH146;ez75Z6EeQ?8{=q89GsQv4INFRk0u7`v#l`J;y#V>VLD6KuH4zQGi>eyt^w zt&6Ock$_g@Y~1p;=w^i(uGvV77BcHRM+VDuI&AKhTL?wT7#5IJ^~ak{|5!@ZiqmYH zjNF%%HzozfEYc^ASl9*qx@OB!ur2qp%p$2u878dQD?>q)&+_hSbY2*SM< z`l=WxYoi^r}T`R8`J7Y;$nN)BF@HS95lnLS+g;EvHr-h-lvt)|8UO7TIp(jeKG zuYfoOHZ8RJ)SQS|*4S8&jp{DBw#Lku?I$L7EE*S3l+I+O8FEI3G)Y8VZ|W|7;!4cF zUZ47>9}J!!Y4k|kL>Kvtf{8Yo{Q4bh=_Yj|wo8C@T+x0-Q_=`Vxg}vAa{^jEWz%;u z069R$zb?V(6E2D2Wa3f6V}Y!8ANj0?@6qe{%F?Nj78J_PeX*|{MQp)Y!}WPql*6Y(G&BOULe&r4>X}M6 zt`*V-q{pb%2<{6ywIClkv~(_Nr1^NxMQIr30v>CGQaPjCt(b8ae2cMb>WaCOaY8L} z8eJDE#^i34^lsxx-$sp{NcRWf+KlHzoma5>3}oZbtB54=-P$p&luHRrytt; zkt)~sf|2eA+z(j+y7IBpA(NkqY-69r(gIBBlh{LP58_4R8DbTF+Bgq|jYo6`wBAyB zREC(G6CjgRK2nFYhUo62OOqNu(W`XHVX_DLCc{1oq>1MtlGg+-`dv&(>%Z+Eu`iJy zwg!D4y7{DE`JBRkQ)h;ms8z7HyMyh|V-}BD9*Lp0@&r6PKL7W1SQS>9p^$%kc@X8l z;r;(QBT(D^Cvc;DG3*&|E7XZA)6>F++ZN@2e+h@c5{_-7W~Us1aqX>la@tz%rc)+< zQoK*LM5CvUP8@l;eR0Sw8%k8d>@+*I4FqxmdAkk!13w`5&`wCDB%HWIaG}uQ9q2Mu znCtcuLb~Cb;csZhXvXL=?V%+Vff#O8Rw4y57u?c3>S9Ss^C3XmRy=Md=??O)7!aBt zq@}JCY%iX~9Md=j;vq9R?vJC02wj{cGbvH%5JeE8PvyCaBlHEX; zB-YW@>JiP9$Ugr+30Q$T*RaP@;^!^nd|*abHKtOmtQa1Ax%{12XQM9<)Ik`Q$OeZ%{2NT+ec;% z=G8I{a8r6FXeLvRwn$snMM5&sga=7H)`?PgS`sa)oOzFZ#?e{ngBH#tyJ@_!V7u1* zXQYvS|D+bJwNUGpyyxSb!3B%g>r)aRodU zbpF(!bY_APa)x5Q@rEL`@}H0a0AsMM2(FB5Ipc~vK2`{Pjuj!OM?Jh8^i$w(tcWgJ z5q-Uo;plSr@DcvH=F{Qh7suaeQ1W$qkUJ-(t=wu_GmD8yGmD8ie&=@ZagYOvEK(gTYULH(j*xh@wTx& zZr%s=E`%z)gSCdFVF@0CyJ=vgkXV2K$^$*@!>AXRaoUmusNW`0>Ee+T-ZhXY8X>=x zfGb^TYmqfV)s0ta)pCQp^-ZVZ4=>!DT5-_9(R+aJhf)R8i>D~XHiQOBmRA;)%0)0G ziQjh)7+FOws!BdR_KsGuG*3CIU~-RaRwB-+q>0u>f@A9C_75T}M^7{g6UNjDwR&lVu$4w|(AGTy+(1CN7AV`!EHpxroQe)$ z-5Aw-vs*9WtZqtuY2+8&=L_ZumfuG;!!R_S_Ghj8Y^U3sO+67A^nBME%<5wcK7vz) zn}=gFO=8|NLGF$vNuq;MD%+tcpW-8jUpn;;@~SG9&srr%037gYTcz0r?67Eu$`7)yq9YMgLjyLz zdz*Rjkb2_;-&qYgq^d0?=od~O2{M$B@Xn!vgsYIoU*)nGS$3wjis$HJXOHNg@ct=s zekzqzgypnum`HxRSj8sN?^63eJB!N>WI=eqE1fdfXDbybe-T=Wo8F>I$5m%BU1?&z z+c6I(jMxvr|9B9OTV_l7j|Z{;TOPRoAMx;ifMKEwT1!pxNzm^wCB1EYj*&5fAx$eD zV-S!GLgB@v&(kWTqmLjZrk9XcWbfiCq`~DN86@Ydr5IwDzv_B=E$KYr?{Pld(!(6E z@aXwEdO7lZpV(kCH=D{z|8+F6F@6}{^LP&Nw|h^N04cd*ipjeo&u(_6xWnMN zPN@tm**jEAecH+KBF{GVnz+N{xlWl3P1!qKOMSY@v!XVgjAdEpX!d29J1EO7>dDL^ z&j$8oY3D9>`}jjBOS_~)O3N+U$@L;_y2+0f4|AM zX)aku_zT}+QGBVuQ3g{6GX|3c(?F*7k%>p4 z`xYJ3iTl$)NyRe^hO1a-6>;lDuoZD@MkK3LChYOiFsAIW(lDm(${-!N$M5OTR3{oY zp)bqUNkrfkwMs{17Hd%rdePX$8waA}6|ayFR;g@IidUhx$U26iyURGHqGuMjN=A4W zuaFLM(lpD~iAM0yoEERp3^LNV$<`S}NEUGu51Od((G04p@X-xMs&tYM(y4UP4qB^p zk_=|5bW#kit8_AXWbNPppD;UPchZ4R81EinMPxqNYd_!RzT}I z5kN%h5wjx-NksYV0G5OiP`OqH#$xhmUdw<}Ve~0Hns!LQ)&K+AXBr?Anorvf9Y9e1 zdLAICcg+S6RK0Eh2>!ly1_)|iCj)Cx-}%7PSnof;Oz7{VU?$9WR4^09J1dw8>m3eU zgI>^tY#StnQc#6_5oEz622H{P=NN@tCgOs+r$rKjR?vW~7j#T3#zoTpb5=Brox}?+ zo-xQEOkd;=j534R2;itEz)s?8VlwP#L#_qDmFU|w7M1RIg&s+9qK$cGc;BK$;_z2MPduVHJpv6`B7MXYPmr0|0?AP-t0V%t6GVhSXqY;4Xj+Mgk>@a)bg~lsUx^ zAM61{7DfQ8099d9Q0S?&gdJ$XmVi>UEMW&qur|OPElbpa5c~qbLe`aXKmiW|Qjv9K z9B{w~08M0F>Dr7PFJKdZ3w1-xfep+9d;qi{+Yq-#=EdxM2SNa*kvoBgjbz*@f7NW_ z+@k4!%oPcjvq>2Z{Qz41m0R9N72r zK(cZFo)Kn<6lhAgGEJnL0J(iD?cHjd8fTMsH03<*arUX@vDovO< zbLS7R4e%Z42^a+2!D1pOq0*CUi783crsV3_`QZ=F z$zwSO#_u|jCtixcBYqpGCN5C}X(h#LTHtKr4m!}8&!*&)7Z|@|)Zk)c%DI?U)e~Zv zhkA6Hi|QkM-4Y6U&x8WM*?%~zbacW*8Yd)P6lh%jyRt{&8Vfj^lLy?n#a>!HM(uxp zMSvM{04f6tVVz)ykfSKDC7E-GV-0_R#emX)MA%zcIG7S-ISOj>GzsQxLnyEuP#e$y zt3a71%A86p#2lL!mX}5>DRK9%3fS&mB znhd0Td?W{}0;V&rJSMR`qLzK)cPM~YpdD`@5sV-C|M&)O!+r|w2<4%r0p@(R#~JRd znV!;WyglK^hWDfYQxDWm>1)gY+W+Q46vzbgDSFKSegX(0zl&W%gL7d@gbh*QDY?T9 z$-&gXI>0{65Skounv{|dbD$w2SQq#W%m*|E5`%q!kbq*qPZT9QzF8mexa}ClEcI`c zXP5+79kfO;><-Pq+|qmR_yVTx)yslD$w7&-9ZxlkK%f&_IOn)WlF)(DeuGp;gH-AN*IXMWP=QY{wS|A{ zLJezDr`hyH@{A@6aqq%BbF{^->A$lw6{U>BRI}#X-C9TYbiVVLl&02{v{#h1EULM4 zEb7UZcLby@quqHKYb#FHa5=*sBKyewW!N@0^L~*~Ij6Kb(9pew(c0H=rUc^wMl{V8 zC`YKM?{B@F^HQ&h1l&-!74FoTdZvk)z0u&WZ{Nzwe1{mB{QqjO*fM_-gGI@o$%gEh z{1-e3!T5Uz&=Z#Wels3@<3wziPq)KmLudd+mG*&$K=Pgaah zk!#xjvS|%kr|>l;_&2~F?LR$Z1bYLn(0mN}4iAWMuRLBPhlH8FR`CBFpgbT3G!#acdY!d zVk<{(BGQ~^R2WoP8z4DQ10b;PSR+-UTmM4yWAQ?M(Mwge%P}!*OYAK0QSFb4FeSzx z)VrI7VOR@*I3}XRec_y6YX?f4DRD9)>!oO~DIL^)2(qY>rZEgZB1uaA!ZC9>XO>~m zO|fPad#z#8O`T>Gr@(E5t}%{v=Ml#KOnDgW(2+jNtWX&ximbo^Toh8LF`Nz!OLE%J za8KNW60`~8G-(G`F#i8f(ZvB2|5r^nVyyv@kXTDy7auCsa1Y`iVw7fR>pS9NWSPBo z?aAGF0B7|bQ+|aQCTM2K7n`d#Ia9kMmfiX6yVtaSdkSqu{)lfKnYfOSjl$~MQ!#E! zO7aMX)vrt8>6v|ArMu+Re~hTIU>zV-IoEfw-4kFNrn@Y~eT%y4-23hvp~)AvuFdyn zr-;wy{S+e>_sVNf*!Y*!hk)JAZN4vg4&~ZBJH|A2kLRHC!m;!HGw|jIm<~{b;uCE6 zNQJGy9BJ6BIirEbRH%wtgD2=U$UDTOFPtgeDa*d5yvN^2y9Y7mYv?!e4ZBtiYHQ(s zp&;T`sg^G(Wh(tRyaO z0e%+pH1w-2#|mUr&ce7837ETG5P~pJaLi*ZdiE*1>l;{j2~eVL0#z39j0hD$Rg}|~ zD+Mi;MUp*8ph#M}T6xNA;{+Bh462p~s`txQDDT}GDpPAkk;Rp%gHJQ+<8bBFnblO) zb9B_ygJSubc+e{cqE?ID57|jwPUhR5ZU*7+FZrD?VvJ^*yki{$ZuiO~=Juk(Y;feo z1>=RM&2Ywn2%Y=D7xC{&QLVAO_*`{S^bF2x=eLTwFJL85qmLiQZL!2n+kA3-MS@u- zTtl82YlwPMYSL6q8C;MI-B^6hywNiybOoJNc?57l&k0>o+;zxeBDG8*1N|Q&0|S!= zWcLu{J}oURMih*3W%5Z;U)4vJ1zMieJtZm&LS7hGH{4h~nxpeQyK zu8i|5f@=ieu5=KEcQIqbFenu?iYx^O6bD4r3%$HY!QNr+!SMuT5tWN1leM{~>7vmx zjE|I+!_gCI>JT`&&M2|cD`Cj#<#koCsXn%#HWHu6OLCviE@PE=Vj(X>N<3U#hv(PnGRayRn!pz=VXJsk)|#4% zQ6KPC;bc;3ltO4V#W0Vn`z(!!VNmA3=f)k{NEZ#~x+C(m+(-D041&w+DeKeI(J3N7 zd9$aZ`Dn>of?u4Er>&Pod$-%O$c949Pe1 z`UIDKX+YD)!m1j^0R85`j>momcH9tY7JgO{WvK4#H z*_#FBl2qL2dW)9XuRhIrvIB*rq>6t1nu=;O)PnCi{U zHVcc(oI!uUPzl$!?!#wC)cK5jF6Y(V4a0Cu|Qmof{docvM$out9bgGEZ!ul3D8&4u`y4fi;w z059rnPMroX8?$-#ZLw#UbvZD0`;%QYaRg_zNE2W8uWn5J>Uh-pOzSHPlZ@R-H9KJ+ zCu8SH_J+ia+^s{iVjM?;VHftS(4L)NW7Q>u97pi&uY#xEGyPn+zTOI1i5dGg3cix} z_~JO=sXMjIs!YrIo3^eDreB?e(CnJK7IGd*0ZO8TgfIj{?&RVP;>LX^p-QpuKX!<; zaP>qGt=1lUJWxdHqc8l9b(?kNf6Z3W6nYNOWmEDtjE2QjM}zQm4<-K@cge<{vmgLy|5;p?p)*#F1aWlz<%xK(In2V=7Df%b)LYj zpde9(@;Nmswycp|g8|i*tqGjdWJFo>8BTszLV|HDtRv`(iW?|! z{CY#q7z+Nz&IHzpY2u;SuZK~5Ay|kicOsx1up2OpmL(J?J`u4l2lT^)phXEC z&u9MCIT5Y8&)0ZWqVokM3oOVGm9JBU{>42Ob$tW1lcBJd1;|+uC*qC_Kut_^uMX$# z6j3StPKN`5<*b+!2gb7k)`?nk+&k6z*`(4fC8!Z3-YPb+;2I8ALwUDS^ko?8WgG{K$>4&y1Qj26bS%x?`jf$40rnBeLSO1SECv}} z?aON6c;)n=+6d!6=G;I=g$)o7V;P8s=`tDjK|Sbg^2g(_QY;PGty4%09t)Mdi16je zhS4t>I#uT(c`z#rsr^Fh#{2AuG~FL^8khgsi68oBe?ihLSV*0^3GRa1O{0k$StdIn zQ*(yuC$Gi4kGB6Qp1bnfhW~p~f2M3MGd$f-HBIP>I;bHn8~RVY;XIRp2*@$Vq|-!T z6i{gK-H^Jp9vwkw8?$p+blSxQ>oz-P&+22O`IWlE^+DLc2|pMw@{s5KjRmTzz+jf$ zM`QMEdy}7a>Tl~1+cdGC zuB9h)joD47q5Ag=G!-SbQtpj{NzY6RV=%DXFfZ+W+eqK`-af`}KuFZrilz3YToTuj zm@Kb++OFG6cEA$V0$$^SN}Pj(M=6@F1+@$fu^93F$vozmNdXnncarTnuJ^*A(?ZRl zj@{Pqa0ZOPw*EYi$w~Niu-gOsY)@KU@?WOD8x2w{qnD5k9gu#uXU(v4@5d-*3|j%8 zFEAdHuk9wlB{L!(rZ6#7F^a!9k(x!(>j|uFz3-YF2lLJG1fuQgTder31% zL&KmP*o@{xrnn3&KLAOXZaIGBw;>dzKr6zod)aVuD4~@bI-H~6jB+Xp=L!}Z77^)j z7G6n}#H3}#`UMDAW@fV4^j)J+Q_v0g&tGr5yob)lm2_`dJ_=QpS-@_lU=m}Y5@Qh% zrxNB#5exb8|Iex^nIjC@g&D!vKh)g`g;A_X^NO-n8(Y(;?->YqR2DFeV`xd8;_`wF z1;9UmD!^bsB+M8LCYoWi{w3=QD>+;! z)MMcYQFltx9N|-2vU-0&^hw!|e)SxL=S%I`+KkK1BWYZ3*0}LcYpqfN@$LebP&Y#` z(ggiMk*Gs#)N#e01;^!i_=)WPF6`+DO?h2!wKwUDw2Y%77t0n zrKP6amIbrY4zCvKz5Ig&h`Uz~%aEq3A`w!Iv8rLZC+eXj#Q>YSR6z1xS^nu?jwfL^%Os_&<0^i2hg!`fH zV3sP79cdoADcLPLMve-nriMu#JXFSx!Qg6zgA1Xa*WIL`VR@RLVZGT%T+rd6&Pu;m zb-m$tpOYi}+5>AJyWm#H6oPaAjup=wxb?+pClUEpQ(y+Q8T)u=$`^ny?-4!w+2b!e zxby69P{t+!L)BQMbA`ENZRwxRP`TV z74K$e=Q44H-ts>6;j3L`Y8u^$(uRe-yfZ2j-EuToD$GSS_59^LK__ejoe%-UZ01wy z5^mHv<7}-;{!+eL?&D7s<*4}#(p^W&wS4c$!q0jbh|aKS*VKHchO&QN73RDf$)*7Z z{VW!}ej%-~%8pL1ZdR~R%w>0RK~+kFo(=P=Ck4PPjswMf%`di&`$1@QLdZSvEvajM zS`gV!jbe?$T%Y>#?Bw7qf||`{40`{spDRCk;AiE&hW51Rl1y>66mLw%=4UyqyRGZ=|)DF+}1hCAKni%oKe{t~$>0uX=f;ZrlsaiZ9<6@3N~-Er7O)778F``+w!{oI@H|#- zIX?pj4;T}ztSxKtvDRpeYF}rywh%z2CtiXm2WKg6n@c>wcrOH zIl;wbmCh`Ds|HBI!Kqb@CaL|JMyT1uzjVY7T?SZ8&Wc4YQ~EM_J_Ctl=Lk;hkLa*Pg*H^N9rlK?$c@t#5x1UrtrB#}g8iEhT6YnVpg>cf^3b->$DF@Fs=pIkm zpdLE@0vs|(M&WDYs#c5xPmu&Nl`O|en$%6Ko^9qaM^8sYhXq|YNo;uL{5lTd$kcH% zIDEeoXh0h4JK&_(Kt_g6)eK#FF~J1WHn6e&NG|Rg!O<`(X~k+EJ^$=_dm06mQzIo| zXg-g^VA7bxUhJY6q)03ki)(7Ct8*kb?#ph@J1A(M%;kBxagK3I^2eKVTyP8T9+ef} zl`lMiFiPV3WGn6*d1vWIRGyG9>fVAu?Pda6qKm<0Fu+SaHbD=VzE#^G zGrK>m`?%Ycp~X?{s`hFu@1+INv~$*8x|klIXzieNKBt@hnWnpXAy?{5W7H&9fs>rn zwn-gR?q8R)uJ;AEc%;V} zvuY4C@YT(7Y$l{;@Iut0EE=c3npYs=uv5=&GpJx9(TmMdO1eK;UM+mzEdj%n4+^=s zmAEkEU+p3E_$&`Ex>^((UU9iqqN6;LbHN43N?I*%t5In&qCCtGciVfP&(O2ZB-CNy zv`Z$v{Bj{OgRt>S%+;8i-D*nI6Xc=`$*}w9fv>T$pumGv90&s5$Ozw*=Y@~mB30DC zAF3}=mWy?XoVC1&Dg6s4ApoS%?POX3|8mpY~&eI@5W_{z(u?h_5~r znRTa$ME=!DO%5ox%Hr^8R9m_ss7FmkRl^+G|C7y@FI$rr2SQEVye1|*1D!p~IE8aB z6o^B5APX(cCdY^uEgLzPZ!9mCCFQ63Vx!L3tEy@2bjuXm#~p8|s_F#OO}*%sEd&j@$=&VK9BXIA%@@aKDY+ye{W8=iCX?$>_sTj_$j%E> zJ+rHEgg?;i%j6f~zY6nGsO*R0+sms`B|!lp%FVvZul&D z3vScA;dUIdDuM0N`6*Q467r=aS|Js+i0eT(-yUjs4W)Bfb`p*FlUov@->Oh@;RG41 z@aMQ^K_9iMbTC3lf=>ROtoh`h->MHs|vP^Axx9lPLGBlK#)|1gu zZ&J_pnKDFmwLKT8qYm#C(I5v7X{30}EF0Pb>qGSpWp|Z_+uMTK)<1OR3tc+;gES*x zr62rayo@27ef17ejG`F3HZmhG-K0LY*yRpa6%J%>e2r0C$nEe8eh5<{@-O+Em97X= zt_!?^%lLDpxU$N>WV2r|X|t6?+6>j3bktr|Flux9h(+~oe&v>xm`MgH+22qjGr}gR zL(i*5-b~c!FS1Bk>yo`fG3)vM4og9Q*kk6h%(+i(?^WJ0vLY|TmA`7y;Sd!+M4XHd zL{MmHvuf?(;gpQ2#;UkaEqNxnVDPO*z$tIe5W{;X|U&9B70@t{kJUC4_>}lRIPmW zD!lC8CYkj$TI|6mCR4xs)bjpLkJfjs>M1L;+oro}&VBQq|IQ@YFHZ&Oqq11Wy}~@u z&jDFA({D|Mf7K{sNbPVF;m-#JLC3~-D_ax z=W&T(#|e|&Ye(W-tUy%&yXE0;+KZDh ze#-J~rfbhiS)!}vMDy-~x$whG+U)a`qmB!V_UZYJqmzw_Ih@NoxfVX1I7WEqh^UaaDsmUjyUgqSj-fQhN?j(sfK=>34+z4 zU^0BJqLZfv8rO3PuC8#M)^tOH(WdTzyA*c3GQ6;Ml(In3YQ?D*!Hu1W2qnr?jY$jY zZgYrNQ~4Hw6n6kOW4Vbt>aZEGV}63i4e8*r*sVpy4$tY4YD)G@iyx(0YW{R38K8-x zEAN27ia=a4e!Aj1(1;8BORTjzMz1GXF7yRuPmvj>?i*DlGCjMlBQrsQA!TEL=gjwr zeBPwLM3_R9YQlmrU?ETdJ~yO9A1n6HaU;?!I8{RoK%dy&j&I8tPgRn6t9<72|;Q%YALe>yv`24C` zUBo0>P3=oP2VJ7=3Tk>^%2@Ncnj)`T_Y;d-_>-gIJ#WI4Q?T!U#Ywl?e%1M6v!k)e z@?ot{Z*9@CqY=T9cV#Ou4)~hMNpSbT+mvegK-#45%^<(*Zbg-^Gc6@LR@Kp%;bkjM za!VMR80q}vkx{3b*$}Nx^=ud5QDi=kud6?NX_XcTMvh(G?ltTYg@1#vd88t5=*bU+ zimPThuE1gb#;`>!FH~(N9B>$Ll7Zz)82KuI$Ys>&nZTQJkO!d=DE+w6WkWl5UF7T4 z^{A`(u36J11hEd*s0`4OQyBcHCzLaBhB&iithf*+PVu_1RKK9~br#$B!|WLA9?Yr3 zb)4@Snxlg&H{(@+eHMMB%kr9sTr@Xedmg~CBRuen^I=j#l+BTv#-fWv;|$_v?Zyhd zL^b=uT>>0Z2tTeo;X2bMJi>;*ni6VyhdDQY*qGyb&Ysm(lP#R%_7^8RPK@Vb|D;I^4|$|J#l=g$!L;Tj>>2WC=?MoZ>HECwA{X2r;eaV zz3qvh$bY)>f}m*WdJYUJwR5#G?N?pqam&A(`TW-C?EJ9y#wD6HzK{c-KIY1YOyX8) zf<-eZ#@>y*Rxor2F2oShw1rd9CAnWJ5f-$Cf?qQ0v#`aKTQn1`b7NJrbl#!2Wz;Q! z+>x*)+$e)I3f1_5WO=vy%l3O`VRD~;WAJrmbC`5h7D1tUExRo&uYQFwm8Gnse{yC< z2X_08E^e9*H*f6TxfsI_B>4t6T9^y=rf-KG>XbV_^1hfx9A6Fj$FFfNqW2KuX7Wp? zk9pm%WdavJKU@`yTwCk&j#8vdYy(V8%mYfYqbpAFErKn7+fum9X($VsEp$YuwtAEE zPWqXbavC#8>6~Uh1QcyVx}RlZ+X#uzi*{_jvf!SZZ@OFc!)dafKM@SB7ft^J&oKhI zFN`-DQiY&Os4P;;zT;d*_z{JYv0NmW`C}|n*)_NRgraD~-PjdKw>{P_nLe-mzNZSG zTZUE1Uf1(gg6$<@BOGBwy+y}jZp@g@iqB?CO~#xkf)k!jK1QyjT`;DcuXq4zY#P%} zvo3ZboS*>d!XMhGS#&MAA$Y{^aKKrC3!?PnQh;uiwa7pBFY3K6c5M>L54}>ZVJTRi zV3V|{!`pIZx`~5BDHLiO#3I_5z*{h=s$MgyttV(5jac(4+)clK=Gd?eRxV$84KglRWx7rNfWYgplib-vKtD`3mZSAFra=yGgbKMY737Hc|ZxQ2k0(w{%@gW*q2fl(6UnV||gYvrE0N?`?-_67zeE zs;>~?@S1fPf9rP*zrA<%dtsV;$*?W?As{ zw$G_6U0VypacxqnxA>qn^@7bkU~GEP+PoO&VeRCYWqXLnd0D8Bak4?Skf9qRy_u7R zXL?sF7rN$=l-!C*IO37jE=hAo>q6bdqNec41ER#z9*loss|D(U;8^qK{(aSdvKHzP z^N6Ag@`cy5$n9-fGq;Em2$f$;bqIaL*r@UilsM_Bm3%`aT=2`A*BB@xI`bl~{xMu7 z@AAc#w#Ec{gG+3C=ik7I97Mq<-hA2^-LkX-efAo?OTVo>_f={9TWdC1vo%M`GixRS z1SYj~ZQ5OEB3KC@zMM6sRYfpBsc30l7eE&;SUzj9{`7*xenkzNt>~@L6s_+@SGh-S zT(r(B^n-KbrrX=88R8&i&JNGs_)qS51$PlZ)wk1Ajt(+2@Pj8$$T!kuq^!nnTXJqCe~~Rx$dgHv6Z# ziB1Qi!-|Q2@w=aS#Kgk?arYpuav(k*w&_0*TSXX5j}ApjeWD+06BTVpAU$nrfkVkA z8AET2?kb1E31zL6jt8YH{(PVxH{ZRJf8*@!MPK{D^-?J}xWo`qWfZx)<;5s2Ap%Oq z)M@)@^3Rn}6_Pls>RamxJqt{#aViZ)zZlb!`DJb<woX{EU}I7wfNNg^s4_X-4pwAU6fLGWdiZ=VFUF0J2`_? zul>4j)BOpcTQo2-eXXbz@z2gK?*TIo-dlahy9It?{x0pAE4t~0;4KZ7k2`IMxw8Yl^}4%GJbccurZ@w(hf)e~UyV4vUc z3GwGxP$VVB{MUy$xAYeR#|v-N;+Kf+C&KXDS4zJt^Fb>Yi++G6wU!?>Lstxc7{SLy zW#j#IRv|XDP!SPe{nsY(IKD1l%-@rT^DaKY6cUa+AM`rV2VYzar{)ri)vn5WOEboA z-5OZ9X?qKs_%%s-6;j(I2z0E421Tnczv*3H-pO1E+1muKN0dz*VwA6olI)O8Mp6=l z)1?);=F6>Gcy1&@?(c-diz$$aYCJfEs%3@!P8O2xTCJ7<5BQ&Jcq}uM*TC(t!2M{C z5mwY)^8OGb3DhVS9k5tGbYe6*_v$fxWOTJd_$)#-TYEolA#^2|S0BFw&pFHcb>8ex zL|mNf)>*t9=GR^}3CbLcSjo-lh-1I3inq4{*W7`;_*;96{M+9}M*Fq6`p>brQ$TO! z!VjgEq{DuGT32@6A2gud@1R|qg=?W>L->%(A?ca%kpQ%){F!NNMA0Y|<_&CElW1k; zQEY^lAuSN=5ZH3agL{4?@GdIcA({o2gAd0l+NX7$`mc91P3>SB9B-7!!m~@(z;jrI z;CS?rcj3QMr67@jC}+lD5`rM?B6~?&TXnKOx%uh1q4_6WztyWuh!KhvgY9TtC1!u> zabPFpfs{X>|&F_lnwdlvPBY4QU~V@iHtCh9cQqUP6k)AQyJDQ85M2Gj27@HxMW|H}A{x=fbwWrPLS6RR(aj<6ITZ#E zeA?mE{G0|~F|mlUL5z+XX{Ewxi8T6!!#Njct5|{Yw>kTgUOZbPH{^=kIsagnrS3O| z^tXzA^`^TE#NEFosLnXjmzi(R+ihnXFEo6K{hGNO4KVI}uH2{D0F4k-Ax-rwQ}(z0 zHz;0oREI`$(JV*A=O|~ARjuGcJ|ql30mj@r!y-o%y9wF6nO5{e+*Gj0J{>^&4sIi{w33b)eg~tz8^6xCn_| zXIlE|hHODsI*a{c?%v*Y&}&Wf5<{d<<$PE^l+80GRWp@+q#<#|x|5aY4^xx{`ev{TfZ zVWXp<-MX&@I#Gzs{&y|o^HAJU-hU1$gF5(qo` zo=sqrhUCLWUb4QBSmk$AMNZXcj?uxhG?zq@9pGdrY%W?+oU8~>dI&XeqwKdb2PL^M zMtL5_v-;Z4kO~)o8fZaz5r5#SL`MKbCEr-Q?^^REX+FFJL`yfaGULVbi? zKk)m|8S{t-MAcd*bDsw^!+Hnvpa&9dl)+5>$G63ySO++}LAK~zqv9L7E~q{Y4tGn| zCWJNa43<^QVP>Chacw}ec(RO?*eHG0)IeC!=_U9Xjp~Z2R;fSSBdtyzAwhmKTvf>` z`qP~MlJZ#SOB6#+{@hTp|MXCdoxyc14b9bSZsDX%k6?ZN-~FEpOB3vP=wdSM2A@lnY zWG*FKE=xsN4bn{350gVXK^~>6gY0qRvsP=G{}hiNlV9e8ebql*EDf>+`2*IMiQ(RK z#4HU$EmkW~_#Yp_SRQf3YPv94mb$;QOm(9ai_I?Qi|y-BG6<^a*j!`s`MS=`#BtJx zQO&IWU4=59XpZ~S9N28;EyczwWFXft5i_%W4p=>`V;X2v0{`HumZ|32ibXYMq}5nlv+5u_Q!7O2;lu*S;=TMbhVd>$jHj9_B+4 zV218Yk27j5HivlvYww(HoYXF{-w9D zSAN7a_DyQ{POgG7e$A|9{Un(D=E8O)+^${Oj(hHw9Kad-S$cBgt=)0L?_S?CRGLr2 zQ=pPm+mi=C{ltb*>pSZ2REqKszhvJ|#I^w}j)EJf;pvh!KeyAtH^Q3it zZX2!wdrfHmq0R`K{a@od30(&+;SpVEx`~I{u};WpcCKE%LkZnKcsnf4XpFTw9{rtY zTb%a8;%?B4^&JZ~(XJT!VT=KnY66Wd|5neA`|`0{Cj4m}n#V6(AJ$@n)4WYmLmIAI z?~(=@_0}$ukk|^1&wFh2Fq}ICHYat%eor~vN=Hqx^KJmC=G-h>+Fz*LE%7$bRi(Q7 zFC1|$PKg!|K<(Vm%_LrJkWFVuSO4(vj?ZZ3MAW~~Y3@qXytNH@GV;H4CE*nRo*5!k z*Ha6ce5V~$Xv9DhnUBFX(@VUG09PZ}0Mhz)G;;M46x+vVAU zTXMj&+mWu#q3UPc!qwlSx&A(#H;qS{npt;DYVlMBcIB4MW^%J)n|BHPVX{EqbrGYRl)^rcaBuHrE_oL{V{&?hV zch>IP{m$yn5d=vjk_ZPvfDyj+9lqMK685-cubKcH=AAC+&}4^Q0CDOF(g7hCarqAC zzF6|#h|;A#@t-|nO+sZ3^Ny$9mh4kE{@eF zr9C;*-=>_^>-+BNTUw3ofS8G`?Dsw9MFjs!oV$7v#l%0v8y@ep)6f1ErBA_@WiSqj z@bA>|_k?4WLlUp8GI{V|67mCIdu>?^6J(+R6rta*fjhc9j2_en9}dK8T>PCT?zF|Y z{^gleUTiAf`bsBgHe&!qK)Sys>)4K@=t0vLxvmnU+sZ_~Bl2n9(a59~3^*)m-GbVL z+FcG{;WnP|ZKhIECP{itAfgX{gyYXs4+w<^iQ{3e-MLPT)I(dVHAx=QlW=V1A(Ne@ z(xdNrEj+Os@Mw;`?uKsLxY)CXO8QRKFPC{OeSGg;E1@&p`rd1H2N@*mE{Y!U4i)*q z*$h?zh=1H??nK|}H*uHevaf#!%Z%8J zkK8^VtNFf3c&ra!C9bk~r7RykIC}A7?%$n4(sdof_sECOqMZYiupB7#blslviaW4MZmKL+o5Auv&>LfCI|}+pPuJN>)9zsX zZal($?;X!>EQ0=zYyNE{{~Ks+QvWp9J!ma1zqp5^*t-08$CUBhKdR63HkAG$kS`53 zC?&GbcjxGzKX@a1My8IK8f0JS&S^hsJ92u4mTs0;_1+Ph1A9gvuUl3`-)$f9{ZqRJ z1r4umkycCJ(H-Oe@O z!N>4jD@(&Cffm(gO;5|lF8naArvj92{~yxcF*X+_>KZOjb=scVwr$((sokF1z3TR= zZQHhO+qP}n{qE=e|GfEGKYa(T12%-c$58u0Df)WYQqyc%*&^xLa%h?z z*yz`-9jWi6cne5Ao<=_3U<3lAq*EZ(J|=YdwO!IF=t>0ZD!qF@eH_Av7=fFHac@CB zM<)aGnHtl+;I|-NyiwA6#Xue^s78&aCGx)Z*l`?r*5zAMdqA~z=136ECXpEulIY;>~) zvLXu}yos(@#ntoYu(i3o6a|6eKwJ+e z#?@hZ75f9F4mL38iAjatYh3rIWq`O8+2k0YLGkON`?oA_j*KhqqrkHBiAxxcU6h@~ z;yBs@(tU~+8lY9!yR>`2D)ugBV4{@XSQK(x1BNOemOJ9l;~zFg9oixWr-E%cmY1zZ z`K!x*@)nwXYsMii>SX(!w|b^h?{@9aXdZRAi8D(BcwM^6DFT9SfX26v*G_DS8P>+C z@~K^LDIC;KH~ef%$&Q&Rw>mt$E8O$KTu$oNKVz&tp3o9YgV^%SYU&aW^|!PEwP!J4 zMqF%YI}mSb7w0eib}-q#u1@DoAJ@K@PAfsL%|1!1i0AK&I5i6X5U4?n+rn35epLNF zihZkBT#KF1n=`nx(KynrwkH2CCl)T{EyVda4;&9{#H|DObvDi!?Q=FtS&_F>n;SH% zrLVVS@Y?YB;Ew81Rb(o<{3@f*Cj&tk`lY;b$XmX) z94;3y*o)*tuUCEH1x?hAW9!x{S;8MyJz4p%Jo~`YxY~+(eP$bj$8KeuTs{CCZ4h z`|-*K6)h!;B}@FB6S40L-7;aB6c5-vkEwHJowv;13^VO1bS_&$O6?b*grLrxh5MO% zw&?5g_26ns1ARNr8R;wJC~r5okh0ZDcmp<7OWfQ)t`Ne_@b52+kT<3@9>lNKPU&5EZR_nxtYFQ?IC3oknoahx}Ylf^kiZ0z0vhA zjMQFTLE7#6hk648aY;l0y<&x(@u|Zf?enkIZbnjSFr`NuGzd!=s{{T_&FJ$lAdE4ItgYyXR0)una&iF1C94`%zm8r%P zYr7ujO}ZTiSE=0Tx;bk*>wktW?J+g4KB1@2$3)$XLZpDewx$al1$2O z;kQGTpnmjgy+uQuc*bfqe%9Qcg@JVFZ`UWMjPmY9EfFg`K5~A%{3Lm9UD`d-U3wRE zj~fNpHS{-jJzhG-d_8!2GkQH8$8Wb${|ZRP5K4go-Gk3$e*t9-z%rq zGy4V^0oOZmRAXr*10!CBE!B>tNdm7|_T@CZf~zqhM{xk2`+tl3wR~4C3&hqZ;;ZMX z0r1wCKT$EYStte_ol;h2?^oHD_MK7IFPsP?^lE4uoNT7b{kmSGFe>~rU%9M?bp;~X zwZ!MENlna2t7g>C-4+Ij;y#m0*0YO$pU$=Jm{hZ*Rflj4Y_X2g^G$O#w>p|VJyxRu zIXLY5i4kFkopCyq89Xz~g=4{5=Hjc}0K^R!OA?}ZnaIOS zN%}G=#C!`x;iub~@FFXN_O>?IAKkDKIoaxApOwlG(yhZAG}!Val1GtBs}fR%LWQD?-EkBUp0~%FP3+Q`r=wJ!2$apiJ<14Y*gLS zHny_a&pCjZsFn}qX8T+8hOZp&%*RzXQZ@rIuZK>y+Mr|04t?aUC;ndB^p(t=&S?vU zgd2Y3tx6kjc}?!lb%7f>;mj9Ob|*x}clMB-{P$xEPnM^t@cb`xnH?I;At%J#;xp-! z7@citW%clmvn08ywA~gs;*R@nyMp1G#J>Xw8Fy_v*LZONpTH|f*G#>A;3DAUzcWH_ zHxHtP?l$*ZI;gTox0Utncdl8mLzY&HV_s8Uuj&+0j3G9MRfvXvrc(}S(&3~RfP>3n z!^O6&UX5K;+V8T`wC*H5R2w2b#0^wD;+r#_3s0zN0$Y-G_azxr*`H^;WaR%b!;CA{ z{35siO00ozMbDw@Bq;t|neG=7S*CZ+UUI>Y0Kc@G7Yf-t7vpKgm&?a#|HGDnN2y)V z4nDSS>nvU~b>>xzLMT1%&2nU3KasbGmXiUXrI?y`8t|eXln|q4fD}T6w?r0VhucXNkpI@T&z!DImnxL*jwuab z$t+^&^(t&GNXV61b&s_t3s0AGy$VYvh~oVUYc7ayE4{q7V27V+Jd4?xN=T?}kZqzD zfEY;~1V{qgRC@gnD;3r76fv+?7WmvCO%0>aVUIXscDFfV-|?v}TGRj)P@RD&7pNSL zMMwtG_AwO6GY1iCRXF6O9b;OfI5o^3YpG`*YZ}&o2l=b%PN&Rry4RcP;M`ltlc4i2 zcz{xt0+C^vHC}*-7G#0Nfw(JiHk5DEry4Ki1Zqy}M zmx=l*MTd}2+Al6o^s_u;N?jc~r8$HcX8|T@{KE9h6r&Da;gz#yW71tJ z^m8=EN!==H7boMf-g%XCHL)^JO%83|89I48bP7wZqYIBvM_BJD_p)C=VDfi5ulA2d zc7YGw%#u$c&6B_(^+5ayRx|I8WE=)&*}d=p0|RsY;m|N4FpNn@&r&u%1&ihINL*0Q zfHqbgo9&+Z;5V?TPFl}MhrWhwdGsRk$)U-wp8P-z*l<^+V}?($ zk^z47%dvdZTy0!?>f*@en5RCOfCO+7bkEK&vpsY&I@Kw>J!N&+<(alQeiOg(%HEbG zK<9d!VvP5rxBQ@gD33()625%TKPPpKVsQ^TCvlDObrfJ2=&5lyCNYTmR+>tN7^?J^ zS{fe{adZ!3pX{lmL!E=XGFCDqcaK#k#ZS{belm#v*6H@Qn-D*aAw1_uCVnENNTHjU zXMDvt*i+YZoa0FFEg6@5Cz<7l=iczGy7Sk<(!Ez3!h~%S!Fb1^ghR%s#&ulIDEK|x zoBt=W)i;!tm&wpXO;z+g&IChGQ~jaqGUZzroA|dm+GtK?+PztY*0-TeVvkk^Qk>aA$+OtA#7>x zA<8-Ogo1`GSToD8(AiqHeu=9%VTsH%aEZ+{e~HdCd5Q0swnAcZNKI>!pN8*Pb%Nlb zXo==nfo7{h6H9O6{L04Y>8V(2!~;r$!fixbbDJxbq4^z%q50KCQ)zu8w;Z;8wJdmp zZx#FE%QpDYnsngRhkfp~g?;QbgMIzAj(zsEhJExkfsJRS)mGQcM&6vo#{R5frDKg~ zBppj>=MDl&T$HPuZEHRnxg8dTRXRTS5zCRW=n zXX#D6<@#2-<@?sGX88z@C2qcJzKh6Kg({YVZ>uc4ml9|BPJ=9*9CKaF zo#l4Q?gnRjPlk*5*YD+`JCUl11IH?weF`o0VGJ$xp&V;nJc7pRFoBVF_HSk@=TEJR z_gC#owma=Aoc$LKj$r}wE!3aLCi-txE3Z$UWx6|kEt~_NTK1tI+pToMs`Wt8i|0W0 zWjq+&$_`|A%?uRz+G}}C%dHH?<@I>Rq4jjek@e)imNp8d%`T*wwo7D{jprz8+8rqD zS{}&PjnCwlwbwGQi|qn?6ju7g8i=ILP0tkgW_*dM7JQkUi|(XMEAFiJ{?3H<;m(Zq z$xm+kh8JOju}{YPZ_6xUDVj6n+mTP~nhfO2S`1{ib$arfR$cM0u}_x!5z9DX08Ie7 zw|Q66Yt@tde$8?RyT;90-7=I*{Zrmn-}|V11ApCzR?hm`ve`4`1)N9zQ<1Lu*9d}^ z{>ITVhfCB`l~?ssmRHzQmsitMfLFp(!B^%}!dLZE!&lQ<AjnqSB zPyDfmVLZA!p+#H>nW}qZAq$`TymU;Qli!H!`YDo>E6{izJtj%z z;1l44xuh?)vvYXCI77GgSXWR0M8btT;NA33!-8BeZ~)HLFXOqE}zTMst_Q1 z&WyxP1Ha2|n_WinrB8i+L=_39fY!`@dldN_w7sx9l$kmE37eLG%dK6;)1 zkI!PW5SZeIemrdQ8_9R4YGOjN>g<`@>7ym42bkEP zXn6Pq;kI!oThKJRvPEdB_`u*3tJ0?6!C(}t(59&Jpi?@L>8#G|n<4ua)p2?N^9b|H zk#O?Ll9p>0{MACEFJbL~40YNVNgjAzBRRfUppjItEBF%<`#>-~;} zp%o7N?|kpqcs+_(;cg_U9QtA;$^DeeQ$5Ib5y2Pi*)9Yp0LWH`;LESst^nM7dbEg_ z(g;r3tszBj5l?f^x7vtnXju%fEEGf^9k{IMhO9n^m)UNvm{2cf!t;T*5hHGmx`sRM zJ{4BqBo97gB4cuXmajvPZ2ProV>nJ_$mqTHUAf7XqVsqUctLx zxM}ZjmPFCYII}MMR&J*pf8Sc1+FzsJBW~gdeFO=ABE&;|7Buciz}^H{RX=4Hh8V|mTI3WFsxO}NP|AyMvzn2;I>-$Ra^A~w+skq;r{odN2~@>WF6{;>4GyX$x&C6QG7DsOIq5Z(x`1_|6tCQg?pYIo(|Q3XE??L~K}(o*H3a{j zEIG1!+;dteWmh157X3^CKeHJ4(VJ5>uCT}vB&!la5!1bJyAncy)uCNFEzRjKAktJU zhH_D7plu4tDLq$w@~C2?j-K?(#9X7ip7_NP<~rrbJUdr(c4Eqc9uV>>L4AJWo|>C< zWI_Ah(p_IZx8NT8T}8f-;fVBIPrf+k5Y-XPEAT@5V@t#a8Rh)^l<;s4iA&xuIdF@4^21!avuyA znjW+V^KE*5$wk1p_D9qZm zMTn1qvk_7l>(bi+S{;8hn;%EO{MR(eJfZp@eG6Cxh?UxV%MCt$o#8jE&8|EJkmHNPUn4d(ujVxY}qE126anuYkZOJl-ddQXd`; z(5mvBcen-xL26MVGD-<4%TiP^74UIouKy|7Tq=eAi$ZMuuL`O$fTIo$@D(Ek_an6! z*9JC=+>VPr?^Beo@-C@&&x4V(lPa?>fVz{cz;=~4?8dIY+v~#nv45bpp&W%Tit`(5 z4}H$^C|%C+%F%)+|5x~_U{t#W8%m(qfdvv>mDiL$8(CTYq8eMlf@^*N=aTo2WFwesgidFNRZUzT$B zE!0-x3PybI0{r6sn1`GKl3EQoT@JHvH3cf>_gskPD6&;>vbaeUKT;(iajGb>LPKVL zLN{U`*i_=Fh97>pj}?F%A}}iL&mT5ZVaXr0N<<9kES>qE>%ZudoJtgFfd%vWWEDO% zOc#5B3%!+rDDu&oFcg`ak281`Z^-EkiFUY!LSG&tr2Xf2>t`#x23|EK@A+18C5@#` zOT7-v%bM~O1KcKd)ADxH({|JJcGC`=X6l?~T$v3}WJ_f#mF`Ne&e&Ob@+IEqzqz%u zq)saIYIOkZI!}3Fw`pe+!jr+rsQ~a%F`M?0Gu+!tEaL z_=WoJR8!Ce>woFsvW|Xb$f>rV#nS)Uqt?sb7FFqT7ZwR*zm&;CmI;(AeiB5Ma{P|y z|Fz+0T!SWy_10r*po2~@|7%N;UUWFmzh*h2uc+fa)cb|~?NQ4rljfDjaK@6C+$dK_ zhU9hz#mSGC@cXawgj&_FSvHV%bU^};S!a-ULf>le*$_}CzNB)A+*XOWF#G@pfFSw0 zsK}ye11*-O5mr&cO|9Fj`IQL_Aqj9@ud5;I)#*XD+w2UO6~!J^7lA^JItCHT7h71(i!?~BEGh06lr6Rja2rus0>ez4Eh z%TMj@wjJB;2@k_jkFj~kolozm>~m@McsX=EB=5!O6r(K8Jiov%%r0CstV4!f_k8>!vWa=l)HE1~FQc!lx%0`o^M^^z|2(#EoQ zyD#&V-WlSmd^;q@C-m>P)tIbwm%;0urR``^o_7hR?2lRkf&F z9IrOH{}}qlinXHX9Q(_1CFfJmq~QX@lA{UsQYB0byi<+zj87Khs>fOUp*G{MToDod zTZV1r0TK0#0#g~)Vt8Fc<-94@|J>ATn~gej2U<;%N+J`g!cDSevl5Pj1B>ElZa(*tPVMN^n*H9?d&#xK>OPT4Nm=^k%hryqn8uW-mft{Qjw#KPKqJ1&o@wq!-S}jXM+xb|dqoGpQt)V_X`oL}FmYZN~BjoDEk{@}^ zo8dt8Vk~?)Ox=zqrD@hn@Xum!+5PYRAR|!yffrBalt&uQ-UQ9wBhQvFZr=!G5KsCU z-M^mJOOOADQOBE4a&y1bKVExZi|`~+vBR@;tM?>=G|70G1 zQ}9c#+yLEDyMOv@%r3zzD{OW(5bJqz!f-FtWp%8Z)tIrHdrXs_aaS%lXqVA&FIudR zjf`GB)Veqv&cFO1?Ff2iEr+pQ4ZRz%YYvRvIbJY(I&24=JrOYOt{OynE9wa}llaDt zehm3@^v2Eb`2DYsIl!Y>@Jd9s2>^OWXJdEB7o65DZ7zyivi?-&j6E&36I8GM+<3~f z-mH$6RY@Jhus{yY4$G8$mXYF9ScpT_!#aKPFVdR2rJ>q{rM03g9j)W}XnHzli!hl8 z-Sw@aEuHnHq9gjN-T6ROT?6)@zbU8pzZK>3%gkvwi3YrPln7NwH`k36F|CIwarW(k%VrhV`v=LF{n=S*vF>uBp>>tt(x>v|MFuGw#v zYOy#W;&9x0MU7UZAwK*gtc6IZR-7S`VUl5^VU*x0N@nRu<^h9AX6i_;;D`%k!aN^0 zQWkv;s?jCkF5;7P_!hmqw5b6SAdFe?%1o7l0)59){X(uP565_km&*{^(tJa3mJ;od z+I@JoVmwyVHNI>i+C+T<#8jqc!cOy2rGa^QQ4#4Sj9lU4W_sH|UR$Q=v9s#Lm;AUD zc?s^1dU#cu>2e|?Dk-+6OipUuS#6?ip|vx$iS~P9a+jGDXPu&&_`>z6_+FJi^=cIOr@alL*5QI(p@S;M7@rB3%u z8JP+vm<<-&Ev95Eu@VEcaMkfJo5w#Lj@u3ehqA4iM04xW{rmaK3=3j$`J@K5hf9Y= zC-A_sPQnH8d;bI4>2^8bm_=nPnZz-UQa2?=dJrdG52dHe`2PT%3FWy&lONmaEJ=c}KePjJw$>>oj<2f&a$4^{$6Ut`lgZqkxO;nrU z{e5(0q?`Y4>AC6DYHX#xCc37fTg@}e>Z15rYPb|oTna>(Wn)9?&apOlk$9Zy9GT_0 z)Ek;hC9K@nfb$seR^PpW`-tn^A$V?q`1Y&aL3)K6@HX2efc?k-`>|WSLHO*e?cutO z>4fwlzy5P@O0+E;*e&-_27*!ch?TxK-{l*ou9D92*z_)oc!tAA=(i#HT6ABk(m5vx zkbtY({zi8Z)jBO%#oAczuhvk217|u@z%x?h_VY=t>N9x${1MB}ZNZDJgEX6qa$FVn zQDV~R1F2S;lPIG=e*BJ71db?%_@_wjv#C@P2i45p2DrS2v0j-r@2DUApP4~Uh*0oi z;2}Y%G7GArAedy>Sgl{YjQ*IV5HgS=NF4{M z%QoqRBUNs+^f=&%y&^=>1^y5+b;daxuJrr_Ie;4w`C4VMlJF~#-zG0A*sJ~G;5MvS z&mLcSl12$&Kg&;Ygu> z{K`)TvXXQbZtxe$hU?|Ot!t+9ZJMSAWscgL z|H7tG^9IEFNuN~d)CcWdAn3b%b_2GnV73D`p}+DLH7JEfr`#^B{|Hu{Qm5=T30A-8 z)-tF@?G-y{g<7Y|E~>u?mV>5KaZe7mg|bs~50PrKyteu_3wEdE793Wf^mYW5zv$K? zh(P((f(OvjFfxtja^3iVz~j0GEXk^Ad4PA>wmIQ*;s1An#1pgrmYW4=d?4cSS)Jxs zdo$%BXnsKA*@>4?eN>^ZDn5bG`{O3HYvMNp`&rd{0{N}Ds}1&FzGL{^z>=x;@!s`5%8vyomKdx3s4&^oAYs=M$|x+40{ zvs&+A0p(|i2<1qKmZvfZrf^3i$HNL(E_+kw9*^_biA@?ubEuKf=z?@YdXR_CJKz#+;OGQhcWBfClMN8kD&C?x9x93a^u%U^Ck^u+!a5%DS=0h# zu+w+ANjXT{4PZ0&Bn!AL9bB03ubbPTbd^AOzRMU)Z$MLqg}5PQe#py5SNrYdbv(GY z5l9!UD`f5DR^?lWQ_co-`#}4#<4aJ$fUOsVJJ@=xhXw&cu*4R>?(xLswxUQ3tyz6r zfLCgESE1Wb5(!}ns(ui8g)y)pj80ZYI=RIXRG;(oMfC|m%$Wp}^;h{hN|(5@3B2;% z(Gk04Fld=c?ESBh3SyGI@=(B^c=x5;>X7$O@ua5C@@?ul4wQJ0rZ26fSoG5xOU!v< zBs;UH1KX>u3Xdol>lmbGsQ13?tbY>lKYvx>{PVE-7=P&;{L(@?hnbw7P9DZ)f##9D zM0chuGt~kM-mZyg&%Xn=|9DdTiJif1Ho%m2n0L5s8gS~e+qa8YOD!NHOOS>_ z600S@^c*%Gogsyms2S_cDI5=v4?A;i!<(5Q?ICH%PCmLpBjln-Ibty%X41_Nsz14} zkik!AkALj+*(u0O=90bOZ;ejmH7x($ec-!;V4Bf?IdUQCC@j%K-VL9hSE@*K=WcOX zB!i`1Safi``8&&lc}KuHQK1ygjSK%fzd}nF3rtga&lc8vRN0l#{Pp8gZ|W8b9LZIm z@$$J*AdE4$G!y0g^o;`p+8ajX=&>DzZlBL-Uq0~TJ>vjrakY9J{! zN#_}zE;sK`Wn4>99owIuQ-5|*O?_v*vBSnnLdH=>L|0;Bxp|A{T#F|o7F{lk=AX>7dz^D1Q zk+NmaVHtdEySlxL|11$)^_9MikMJDwBw5IExbVBO)Vt$)>FXno<2bop`$DSBV51mY{H$yC6(yaB1aW%bAo z!EB^CrXDA6A7y;Y8iUZVOmgw)P(%qeom)=1Kk=8JCBgJq;RP;z-PjWAV)@G``=R~u z2AGh{??D2#KJP^|I#l7r+IzjvU8`nSN=(1^{TBrd8zrT#g!uH#A^ulreLQ|22rIbV zZZL3V$H_sVw8`azHs2cPaiJwaWdC07hIi*jQ;-FY5jH<4zHr7Pv9R$N+w)&sf)pG? zfXG@=zVE$1WET( zBe3L|X4Y2kWc<-+0tcfhFRkBp#Ut`SUCzoVcH(sReichLp;~hOWc%r1fkc!DEE=){ z(Zbk&QZyYlWT`^x`ai>rAKZEzAJpZ_w*SEScSS(!=eC zu+k&tvrz(AJBAye54izZ1QvSl1O0=WnGO+&Gy5IM-AXH3r6x-tHFydq_bmLXbq3v` z#_95rdwQ*rL?j|L)Bq4D9}x`N{ULN~Q^;+q(c_@TbD(M2-N&E5b(r|J4oggV4vb2uGcPMt99&H-qG1Mzan#Jdq!r^ z@ehRo;o6m3L0P+pefH1p6x66teRDMyvr;B3&foFKWt*|?m^EItd*t3;1ovWmgc&7o=JRN4i* zt&!iqUWL!yF(H-^L5p@!X0(q<@$I@ey8M#4I!k_+m3d1(C7w`<*03Z{zF}PiosH4b53{{&7Y)&xFkI{@`ZVDlSX8@X<{Nej z*AqFhFXlKMx6F|2k-msEcA=wfm|M6F`(%CrP({u@CRAe~O&5EogJ_H)R_Hfo%~RWW2; zb-v!(nCa5yK#!d|1mh3w}I7-sB-wh zw`Cd=W6x1Vj<^w8_OC00Ssb{J`)0*YGLcv_GNBc2}-fI>!RMvnPGfl=SZ=n5_uYm}L|jZOfXf zcq9-Wqx03BV2c>Z_$QS2l~d7k=Bg9jZp1q`s9{Hhb&2x$C6uQQh0GC)MH|vgL3%)a zx?u#m#Ujo&8gaFC#dnIN-|?&RZzl9t6bXF<_1=-rdt<2lQ8`5gii{pvGAmk6_1+;H z;YnA#`lS68sqC5Bo6xUZ4z)5nr}l#_Wo(pYl#@05pHPQS3+Ov4RkH@QUj9{SkHckE z4{A-AR2fash!vxJg`>W+QGWx>LBG&tKKY#I2x>D0lmx!QgdfeY^LqY?r#9@%q~;T2 z0v$m6yKFbI5A1UQ0{C_&S2hrPTvLAY`#kjXQ)S-_fiZV5_0STT@jyblovQL3yn+O6 zY1b}MzGl9y)|O?ns<`xd*Wmlfj>+a>HGY6eQ{u;UYc|iX~@h$X4gfnD>!FUKr6$GBf?fF&O7;ZQ9-5zVy!gb-l@4R zq2%s&_5{6NFAETBW*>I?qyot9(dz5!fOK;VbfaYGJ#Zl+*b}29H>tHIP3XW#BMNaX z0;VSyiw#ven^aSsIU_`z%F-Cdo)`|=eAf|31 z*3UPB)m6f8gYO2AVYG;xu}9*{yhntDoiPwQQi`{S@slR#>=DGVzJqb?uQ~1Gu4(DB z2C1S3G)d-(HA2{I&ME?n?I5tQ0OiXY@1?&;HqR+Nc$e3Q%@6FrE$tma?gmou7_ zz_x>MF6|toR+9`%6qZ$vwQz4n_s56n=)0M?O&kf1?m?!E1<>yFwE6>7`b3Ux;zQRJ zSK~7bNfs}8<(|x&rEDVS&Nxb4A}~j8Lfz_F&cw8XDpr46i2 zi*m|7a0w4t_l8kc9e*`uBmQNHF~m_ICr}hyo_a;=Y~t80%xV9pr?KI%n@A%dju=s8 z>K=O+MJyFnZry3&>NsuK<;{Zg61VwuM;vcW<+>;ciw)|l&TUU=#-2r+B zJZBT082sM9;EP0eL6W?zJpZ5%vxPSCoRLCRJ_3O07m!1kehb@+z%A>{OImbsZ>*Ki@Y#Jx0eq*H=aqAd`x)Y@1bk`0%>e-KBe}!3Ws*E4PKg zC2YJUdyw!uE4L!>3>L3N!5nO#x&s2NpUMM1tYUMCI&$_F;p)o47Si3tk&CD~;WZVn z!Qp`N*W_?Og`47#tIDV3P>gD4^jIGa8`uH6py{*Z}z&`PCSoyg-VO ze3m$NasbtOMg(U6KboKfrVgt^cI)kT0crc^HMCcvi&D4(<3_lvHwugcW|P(~0s~_g z9EQ-dS`SC zP^UgZ)2csmV^EmxlZKY~0QdiL;CbvQ1*} z#=268vBKE02`PefUyW1)!-h@y&aIqDBfCr6qEHDfO1vMsWHK;GR&!4b7M9DbW6l(! zK)jMjBSBiD?pL^%roGj8_^*|knsOcEn)<$Bx&N+RnInY;Q&(xp(OZ?)ggq7JJetR& zmq};aQjFyJHZ{H+lw6(`%Nj9aFhVMzLN#prkmz(RoGpMRo21RqdFyAZ{OU6OXUn=M z?KeebvI_5BD(;32Gp-q{Ar%iLQ^<9E{JC8xSE{uFL_!?-I%|Mj@tP8#$X|+O&NOK1 zpKk56nl3x)(r7+^h3aV2mS%N*p@c0oDBE$g8Vfo*20ZBvN5mK3RAu#sZLo#6G6PUt z8@9Aj;7zcRlJY{`Yq#)5q30a$GUcVhr{f z0kiNu4I`i_>$i{WhNIMB-<*Tfo;|?jl}BJW+sSnPEi>~_!=t~F(Kz0l&cz&B%PwBBB?53YwF}n z`sY#s(?Dh!SY$=6DSi~ziUflrMSVmzwaDxtcC0vWky>p$ZoT)Z!iyt_Q8Q&+8YOL$ zHd$9wk>)^BjT#ev0slj28a=o-Q7;u3p%8z|WDXF-fTNhJIcH~AjxJeuA6qoTU@XWiF=InS&$}Qn3afq{KxSZ)$ zyrK=^K~GJu$SWlbOJ@8^>IaK@?=*(k4Wl>a>gf%x&gzS2LtfU57v9MsyXqSW=mR?< zzVsP3j9XhGHsGqgnp!ofF7tt$`e+i0!$}}-kwqnMkg6ykpdKN8&S$m6VA#L^k1TbeODG?7rW(513mcC>FKZQ zuGHQTqLKRD2y-un8t?G}4-QP#yVuwSP=%O71Xf1+W*2QQVaVlq>mR z3UsT!S*1g|t+*exNG}E`4Q?z_+u*0)8sbTnq+5{v8%IsBy zn_)$i_IMc@b3~>S)3~4*yFxhh-ea-Oq7$I!HS{lBuSPPhXE#AxP+0ZAz13&j?ajb@ zGo0}#&kcO6i^XjwZmOK~mDljH`^urrrbbVYK5)_EjGi|?RoSD@OZ~=l8(ZPo+8PWp~gDPha-D4j&x_{pN^bW7oZ zpVwZP*Dsd=$LcSJCdsUHxh9eelIhCJ=?ntOz3G5N{VS=$WHKe5iVd5C3X$>A0g(5* zKgG3&{%)8JX&?``lpfne$=3$Y+Xb`}tO>;lFmpqwT;i4lCCey@nY{_0d=VwL#ARMs z3I}MJgBLnN2e03jXA(Dg`EL;XY7n%H@7KRo~Q+*j_M!jlnRl*o)WFS_$?4J&X z=BA4OkCk@{(rnwhwJUAgRcYI{ZQGe|+NkuKwr$&4Y1^o@ZCn4^-}!IXi4(EEyKyxm z=7{<9*2b8v_f3t8hF65s?FI^nZpI3KR9oLTc*M5E< z5IaAv&k#W>+-8I=i*^3mlS8o&_s|*SA?8QE%@2ze^`YHELlFpj zQ5tLt%N6~g-Afg=73L9v5}_Et0e%T5?Gy!r!b?+%B8k+3!)&7dEtCn23dI59h+|JP z@ebd#1tV}y&5qoZ1ry^Z*P)D%qVGeCG>Y;Q8d(}ynpv7~PCEqd!oU=B4ms!x;{Zu* z`}~8eIcfHZh2c$@Yi=%J`{A*$3*a4rQov&~U9q@d{m5n>F}r3s*TSi{ggME#{5r2m z0s=w5_MLgD_Te<)XGYtm8_zwIhBanQeGt@!Inv^8=@@*FRE81Q9l-XP&9Uw7j%y`H zU!r%}jX|HhYN%T1hC~!TFh1pzfwZ9oF%jC9yJAfbC$vZZ$w~CuIE@Mnp_v2TJJc`pt#v=Hi&W~ zUib5v8uH&qTzrXbSH9W^_boq#{AL|7^jC*(w1t`~<}4MLhCwS!Mqo7jmouGZr~W94 z1Ym$!;2my>Nz55*De19ghcpbq@%6#Arzmq~iSZ|dwCj@Qnb+Ip60l548vZG25$T#VfMppj34EB^8$fh61H0R8oB2J70B7p-6@r`!mW zVj$`ho`kV;v=yrRQ-Zlo1%0DlUnA`&GB4H{z}T8LSw`)tqa;Q8pjzC9A%%zGR32M8%&;H zyJGrq-^LaB&TQ7M+~G@i2LsgP&4p2W7n;Y$6}QX_jsgOTx^#1f_|Q-JES+6(F4riG zl>h+xr<;c(5&A`eE0UFJ;F$*&gTJKQbzmxS z8}zxPx`N&f|9oCIGr%a}uSYFHH+=+;V#0NMWCJN~$N6_(${Y9FT7u}pHl^HNKBRlP zw>hp8)}dfpsQoD0{!2wb?4H8wnhXKQHBIc=r*T9rdMM=;Tn<&5DeHmWC0a3TuK~jek#f$mXX!)F7F?fqo z#oE};lxzaE)dA!EDQ8zJOGQHBpF~kUF~7yY(o;3k<7C$edqg&wSH6R~<#7I-qvhgP z=6f68n$P>Pp3>xTUjZuw#Ve?>g{3G8vTCaOBYm=PsFX8=#4TvE2mI5`QQI>1u6*IO z*&JKz7VEs)^;)!62DutdfW*^v2d(**9e+Oltm8c-*V< zD(8MmV(w4tQE`LR!2sKbbd2ij8Sx%S9y~qSy`Ab}7wv9Y6GHu7n(3Ft@BauC*-Zc% z7vzs0eu)3QK$-oUK&fA<;2ooUXSn0kCz}JgN z8q1Hs5J6{qaid6XqoxklCvq~#XLC#831`g?Udi%BGpa1Vt{{EFy;X0&b$!mJPrGDX z@k{#GbE}v)b(P3Oycqk0X zLDW*W}bILuHI3BaE9eqVXWP8hTuT=$={jio%=-gOD^kUBHxsaVeyQR zVn|GseM^UD<{CKAA{W7B-)jO|^On!uIg{-io}lR zcHeD{n>N3tNE$D_{>A@zExmrA|0^muv@qMooyUTgpID+pyPZ_DfDeiAa&rAtX#zu? z?}Av+)*}s>7gY~tGjZ&Quc0++Y{1r;@$F}DivB`+)N#qChn)*?j;zit%*1$!EkjP@ z2Gx4g-WX@ls@l`VHxPr`LIK+?WiGY;f-2U{Bf5ft%Pw6X2N}JKn0sT4Uv-Z!342_| zOvi-zG7T*hmrNDoFzd5n$YzaY=9s0J?^o(mQ;Rr7^0-zGV^oi+DKlhos84IA6_1Ix z1m)|cm{5V>9olr6Sc&e-W>oYdcyaskv}WmDqSOQdE9Fd5K|@FaGOarapm(gJWJsRu zufa9Aeo7gDm)YRflxfF)4`lH0A0c!c+K?+@QPmoGD z&S^s`XjTfm)NArChRj)>`&#Q0=&moE#=5zXb7&s*;D6jUoVH}vq3SS_ozG(WYgHAD zXFr>1-t&ozUdZ76gmkf5uV##iuPu4<*;OG^{cmITr1quudi1lvDY*~vIA~%;DRZ77O-%Kl?b9o{a`urqmcN!XcP;)mOT83 znY2^3vefdBq?^nQYCG~3&NAW^b_LUh&d{0m34xtquO2kRJ~2Ev7ugpbq#!!Z>aPZ| ztU+@1!;odaIcwq&?Qld4Lmvaa00A6U9SiM@5z)I%io{nL=Im(A>2h0`uZ0P^w?@EE zACiZuhjr#Qe=nnN|3~U10&ssTh=QbQY~KuR7)d;-4hLvQ7bB#%dW~LOs($OA^eDAI z-Q`-W9e$2_xlw?MhfW&-UdaVcbx45hef%dfm_Se~m`mtB+}R3q!ECdm)tIs++{b`@@tTiAoCuY`zhD3an(6OJ7lOW5n z`|!k|;^%_f{pEgzunXTIoLtnGuxBa;o#`ziZT9u;0LAbzha)-B;b)2a17m|BF-=j0 zK|F)a1SXheFlft3=?Z*d=qy%+NKus~Qf3{?lz(jC!7geb*43D>|D2MZuTt)~+1#lz z(0-9Wmc7=T+U0a5FFW9ODTEyF$T#sp!}6H!?fVK~-QqsB_u0T;y#7YtBmH2lwQzYZ zCqVipq_sfs&jNGcRCn&dHE{IPZ*BYPI_xGh*B}QX-dBdx!FrkaiQ>RPvinB=y(*Ua zd)d&e{Fe1BKaX@O6e{q|$DsYAp=00r4d46W@<|XiL zR|c27aS>r6%?+zm6(un4rFvw+WT?>bxKI)(u>?)?Vu^nf~R&1ZX9rhp| z_$%g@gg)+|TI>xI2S3>E+(2X4$zL8sDKJDR{Nz5uH!!I%zkU%91_%FyPKZNg4kSJZ zrU_2A;)E1}A{1@~+eRToAw_{ys#jT1;p?8rGT1f(Hh6E&!#SE??no08sCY)a%5u>NSfO&nIh6R`g% zxSbeocU*0=w#Bn&-?G-_xMI8F*&pz)-KBoR<9$by8&T-Ir=k4>9eMShrg(|Em-@Zv znc{q`@}YOU@DX;8(>?P_`8lj3UbW#d)6~Yfy-d$nv=odsB`q0$KYULI`zfq z7|G8~kf&Rke+P9_+`DkpG43wZ*@hT^(B$SM2ZXYQ35E z0ql_IXaFOAR1HDWyBS`pBaSKuBqIB8n#WoWz#=ur$xEA@xWJ=_M&F_Ac8uIuRl^FDTre|LrJ~VR(Bv5Kj?au6z6W+wb}M`}@t_@8fv=`iE_=1$9h0qnd1) zhxU*shJEEf=2n85zP#;1Xf0@gFzay#2TA{NhYd;pc_&&q$)r-SvezwO1RN3e0U96E zLwBc4um{U*g?5&z&R{1_uoer~&5H?1r?Y9DyiUY0RWP*IE}#qa9UKul7=jSv1oh;} znE$O))1OcOg)|-s0D1{3!5Xz2+?$9yY-A-VgvD8G1gii&$jTei24pdIMTp}Aguo;k!E zHqm{(pIiTq3koa=Jc8iX`BVfpcBx|2Ax(^7z@mTU!fIgDF(|^4*wYwtaY`(r;jk3Q z?>5++*SvmsEl{oKxETTNq=MDK%1*$7C%BOi*#7#KA+VZ=Y>5A_dA( zB(YvJ;jjtED<0%mrOCyMR&4=RTFjjJCSiee-pUrPun6Pg@S#grnNGIs%F}w?pX;Dz zNu~+I9-z;@t}8oT%O0teMAChGP?IG4F^S|_!$nMgmL;FZ^i+)FQ9q=~Y-y}X6E_>B z{hUSSnNXRLtchJq?GDkyccl}73n;F#kuyOu7b|}l>)on&4k@i77G70z@UM64DNF0K zkPdjepI{>n9{0zG*oZ{-NZs+M7>H}3!7XO7q4fv){m*f&Yman7%aFd-N|-XOP`-A%Jb~S)yP0~AsY;k-GySpgx?DQ$v&U1$S~gNYBiRD%>rNnjz*sb|X{L-xo?W$UM~xR;dFL5A7__t? zUt=?y5*FpSg>gy6B+c`}xa{(x9M5z%+3XA)F(=-~)HE;=J_B&wF=?2wjmML59^%=| zW<^@4gTPFua9kKy_pDMf#p(ot9yk8V4rFT7?9_OvYmHqdbUL|05;n|U7|9ogYeHc> zmh~zV9x~V9YI=}>Y6diG4$<5e640%LF4>X?4`_}=>cq;d3>t*fy@2Z6vb7jN0@|b| zuIteR46*F;(FA@)<<5l|oV?N??s9m2#}vMR`M#iy++ac8aJ&$V zAn&u~4&1Jr7&%ZzjB#KzH)fC1IQ2%8;$Xxxj3J=TD%RKW1tq{5cmu>9(d8haQaYyij$se?=ht#8~9c6zXxfn`GBLyL?{Zp@dyc7bgzT7#dRI>NNvv;ks zhmgNPMPF=c>m*?kKmNxpNuD@cF+%+K!3OhR*JV+!wIkmfgZ1Fm4t4$(#lyF5TVcyf`sULsDVm-*CZGidc|0s>1`Rpd^Ua+VwBiB#Y7!9I%t6oKF=msS zjcAoII!Yk%h!&HZ-4`0;2LL}Y;0!2^dWzYqnv+)fS|Hk(B7_2g&e+|_PInfJyP8-x z5#5nmJ(FmpenjaeX-PU~P6vT|Y#P4FuapcT)kEbIZ>M%noisWIDxNhNhYLTr=|*q* zg(A#vrOq64pLwnYQ=gI1rv#=n9#)q6H1i;CB8_I($=fVT-JeXS8cBj9NfsTyB^O#% zn@%(=gEB#Zr=HYlF4c^x`TiR$V<{?*#ecfy$my2pbe@>W&P<~kX7@ZtR6>@L8(@!U ziD8N|FZ&K`O|$nMLAp+AAzRw77`0{vYY){xx6363lH8Xfh|0??S}Me1u9fQ4t4nxe z%4MfYy!=%0K?jKZ*1+X2@VE~x45oWuv1xVI>NOwKN{#Cv_k7anDnTy?E3^U%#%Fyg zDTm6DT045<`4CYr8MZs}iJjQHAabt;pAk=DK;785{xkusNii`3dN zABM5>q60;#hg$grTbcl;>e~%2^$VG9{%i2$VcDfyjGqFMEgar%1e>e*t}f=z=aLrQ zsOKl+c6*H)tTYa(b;-1nGPAH6EuY`{9F#&&&lff>%Z@K}h{^1?o^QR7Z}035ymVzO zq5v?8vy=1lK?4S+J4}M&d^vdZ(Mp!q02Nn!lK|a<7=>1Da4Ty)SA4AjL6Od9Hf6et z_VC1m1#I3o$Wk;-kqSX>J{!q~&%Gt}w3%D9t`1v++51&!<1Br7#cNhFicl`y!RI#M zds<1UV~+Au+znSw+%edP?Dy~dFF4-*T92r0!}u+_I|W5%r?g`I4E6chms3lT^5$rC zt|{m1AO9gfCwxjg;vXj_2L0a?&-`zVR_g02cxu?+1j4JPT7Qa$Ftw9g6hTAmimfXb zt%bCMK$5_zo7U{uL+k2R<=i=RI}Of0?{s~fhC}%m@{uoPeQ)$#7jK!h4SeTuzQISX zN%ItirP5cox!!$yuARECd9-T2?&mOmK;6_30f}bbZv(+)0!jLkccexo(~=m;jI{fs zf=fxW5^o}cHOM;2cU@uZ!4-idAd+nwg0220pfON8Bfg-7aY_+&vJGw^P~aO3J3=7Y zpzWsM4zchM?h|bg?l7E`g`n=^WrHNl6?F#UY=j9Y=p8?~!SOL?NlaK`QcTbY)g2&x zLB-LFkkK53d-p-*VLXI;6G7$SW+9@e>gE^>HHEa(iu)j`cojsZ z3+Rw#YaSM0`VL||dq}^L5Di?2f?LGYk>ZT>@4@L;TtqP!p5pd}m@{(n#kR2}nCXQ= zU}^hCI;%^~Fi!@@flCI?)oKd|=I&f)m=6){w0i*B71ekGqH7uU-Wqg&Q#tlR{1FOJ zFTWFNKs^?RoFU6er%W&n@1e8=+0T;TRg!*_?G7X1>xFZ<>o90D><{tZzo3&Jb&Eja zmPFMNy>(^pf=^$WD+wnw*OfZ>YiJRx)a)Jje(yeHIY6N;LtmBIj6fZZaj8iNc;YEECC+@+_PI` zb?GG)9Svgk|zUAAb-g40u+@A7R zrVOAZY8fL6FV)Yi9S{qn;z4UaI2|uVRXzS>?eoh2Wt%Rchsi@v!r2*?VmJn>ty4>D zcn!MNu#&vIwUr^Z?;^J*ZPcnbX|hh+ za!BPqX)+UF} znz~~x95wTlS0|h9K#{UvAHiQ(ujtV)@b9-=1uvkbHyE_KL-5@t44)jFvGz=n*Eb;D z5|{!zxW5O9USRxoEk2?R(vX%%&ueA-?W^#6RFL)#T9ZBqg#+D$#(QHw47f~-#zE6Y z*?d0!r~5u9Id|F&{GX%W|AKvC`L|-GqN9K&g#HC=vF*^y-|Kn=MR#0>EnL(IyzPUO zO{9hqLzDAanfM{o+BkKUbQ9|X{Hag)0rEwFhE{tU1=vfZx-jo%xt~gR?&e~-e|;WN z_;Kc8m}hP{_k+V>q89+>3g+%4xvPt4r911u6be6`VMv+5>Nre#)fw)XHEjZ)N-JAv zn$PWTgL_1`G3W{h*H(~kYa}(Gr`zIyLUcLQF=&( zZJFnJ5btgFqHXBaL_K)oKZQgPH*ca|f;3Mu`cv_Xncj;LD08W8saIf zNzMbUQ`Fn5VcdiAooL=|f+%3Pj|Gui{D<{ZWiXyrJF#!4@&m*E|HO=~xQ)N?K!5z0 z1N(0WK>Se*SOkovb|2QL2!s-2IF30zC->ye zr2ju&l>BIwl%0(nJCVGc4v=^W84d;{y}WXJw{!29xhlMN&n&T;w`;hxTX4S8bqF)b z0zc&W_WQce{r)%>IR1Fn?|wSQG61Pd$Wgy-kJv8v5E;s(PA+$8mR>GvQYpq$y{lNv zSC%X$OpYmc36*xQbcvM)qvorb$4SmnJ>93~E1qqJ^_9#=qG=M!kA?*(TQ&;opjW7s z$>&$YF3~LJDHaOL!2(n)JA`@At<}rK^2>yoLcB1}R8HcAKVb>fPr`&bs9YL_B{15> z@^vu01oNRVyeQ$06pk3G#HY)aMqM?dhYM^c`!v~MZ`lH_O-<;55c=pIVmtN_-IO zz;#v`QSnpUEaPsp<>iCVSWym9Ky(w|GGHXXiTArOAZ4yeuR1zf{@=Mc=B)-W2F1-W-VL!A7mR?eN1+3a2 zzo~n*sm*Sw>uX`ZDQ^G)ewZ&D0n1K|cmkL&;qrtZ;Q{C%YK9SlHNC0?hV8wy0U@A~;3?3wXbx~yvsQdtMn5wJyL<7oE5y{;=rA>Z)k&A)?k5KxMm4^xEwK&=c7D zJJw6&dN!!T?W&Y7|87|$5Asnf|2|f{0AdAkYXO;2ts#O z-@AH6NtP}c_n{?8{RoJFwvM0MMhnB@rnABc^OzU*3Cx8qJglDrzo_XbIVuO{kzfh!;*y zWex&j#6a_FOx^5hkslUAef3qKGUu#~dHU3KX;KbZq>7E?seilL|2*L!RtsOPs>o|& ze|(_DvBao6PZ&8LNV#i&R@bL+PDNk#7WtCo+_6x2#I1MWY?)Ev+gdXW>!}cRm=+T< z;6!H;W>Scr{YvBN{JI;k!j}jwH<7!=5Tl^20B zb^UJX-K^QCmkCL55fr7q<6!A}S-Q|qo+MMleflJ%x5L!q2@-TPTQsY8Dr1c~>0=)R zUHNgTmo*iM`BEyw3iVISJ~iIUMSG=MFsVgZnf)|oRxtV-?vB#0QWkCesJDdXb7mTt z&G_y(L{0j@ZM)&&;t#%ZcFj292K9{&_Mu*kuJe2B$WAqN2fw;gG_7xa&var?3ZG=_ z>+-JDvpV|3%JM*f0ykA3WHNeBZpDr?-DVDB8{cMEGI}Yi{l_@01mAgKs7N=a{lkw; zNwbfv`oCE4!JzdvuUsb8OLa@ZpO8q-xM$7zaVSi=$WfF6aHN%M{g-(--#HUG^&C4$ zUe?u>g~NF8ZXUi34;4sm_p;SU!BN9oSBNC@#B9MkvWMQyOp91y!6KVJefPMjb{UK`;eQ5B5J#e-KluwOFrh=TV^<&dJLo^I7&`#bAH@UjzJA5FZV84Z{?4f7 zK;0F!gmJ+`2ry*qlZ} zn7KTVx8R(=Jp33x<85L=MF%SCXBo`rx#2K1UOBWlIS0+1ULrKy*k0LQ#Nx!qajf9O zNp$KBL#m(d9~sqX@NzqDqLyfGijt8YIONJ`YB0}% zo-?HMntMW*N<3o?)>$t&N^}DEvg+LVF1T1B@$N}97Hju$#*?vSEk#LPy znXo6*Q!YD_KN2JE;$s@fEh2Zn_gWgxH@sTcXllBV$|HF^4H#GGlr)hG@Vk_*yxvrf~BHS zSuc(c#RJ&UP9A_bKwoK&k7ADi;j(H>Go53d0j=OJ~AFSN8^!YqYxLLN!%}q2mHZNoLHSsyJM-bhQJZ;fduH5E5o6_1;u&b|_ z+SbHp-3U82$d2cD2N%Mru{US2Q~QBpow6`@im+JYj7Ssp*s=F74E4A}WrNJ@?gVsl z*g_0K0n;v#9jYm~1Jr;0wkh34ZhN_GBli20zxYC0TOxjuW^`X72K_CcWtdBd2WI^TP5JGgONEFJUYy+PJN#mC<{m0oLf2o-YnRk!-*y zW(3_kF33ViR(M#UtLLxwva@i91{{5==C2kT^~F7PN+z~8%xM6GLwd>5cia^hVmR9} zgT+xs`kCuyXuexYgFwNR*zJA5lgpmzno_R^MnheoZx8J99oJ%hU~!F5RI%NVcGe)b zPl5#S_LmRT`7L#YmIT6=KV6j-+E>_=2b61(Ac-Kqy3i~BOT*OIn)HbwI;o(RrfZFd6z5aI&8mw{9+Q8 z&cL~ThR750xufBJ^$!J&vo4oB{{j!>Y`W!UqLzNSj+~C?A$n?#Ch;;G*_;DuEt}fk z@#OmiWGV;QD(yI(yeuEkCr15 z4ch6bjuvf=_nXc5??mQ2rj8kUrraTXvR|G>-7>T-yy~78Ma90Z0 ziM8lCL*wCUDOz;v2WoBgfFE!hWa%Vrj>t8OE%3y(^I0C!1=F^dID0H$hqG3y2|mnb z)=x9WDXSLNVsk869fDY@;B9%ABcS*@orq3Acju_!dIG*S5GXC;e(a$sd>!{fEQ;As z5PG)S9mehuk{9+^A1sMmu#|5cyJKh`ajv!?mkqhswovmueQp1D&VsAbY7hUX9U<

4#AymV7lehUyNiE?D5)Ng|Hq%zR6v@SYKj?&! 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 I*a86lAAA{~IRF3v literal 0 HcmV?d00001 diff --git a/android/OldPeopleHome/app/src/main/AndroidManifest.xml b/android/OldPeopleHome/app/src/main/AndroidManifest.xml index 3c4e381..9585b7f 100644 --- a/android/OldPeopleHome/app/src/main/AndroidManifest.xml +++ b/android/OldPeopleHome/app/src/main/AndroidManifest.xml @@ -2,12 +2,43 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/OldPeopleHome/app/src/main/assets/JySDK.xml b/android/OldPeopleHome/app/src/main/assets/JySDK.xml new file mode 100644 index 0000000..b6577c4 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/assets/JySDK.xml @@ -0,0 +1,6 @@ + + + 000001001101 + HUNEPX60P3KIDYH + b8FXJMzfELLOTM6BgGsFXmieePgqx1Ya50gPEUur + \ No newline at end of file diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/base/BaseActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/base/BaseActivity.java index 7bb62dd..0a45587 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/base/BaseActivity.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/base/BaseActivity.java @@ -10,6 +10,8 @@ import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; +import com.scorpiomiku.oldpeoplehome.modules.loginregister.LoginActivity; + import butterknife.ButterKnife; /** @@ -52,7 +54,8 @@ public abstract class BaseActivity extends AppCompatActivity { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.CAMERA, - Manifest.permission.SEND_SMS + Manifest.permission.SEND_SMS, + Manifest.permission.ACCESS_COARSE_LOCATION }, 1); } diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/BleDeviceItem.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/BleDeviceItem.java new file mode 100644 index 0000000..3732c20 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/BleDeviceItem.java @@ -0,0 +1,82 @@ +package com.scorpiomiku.oldpeoplehome.bean; + +public class BleDeviceItem { + private String bleDeviceName; + private String bleDeviceAddress; + private String nickname; + private String bindedDate; + private int rssi; + private String type; + + public BleDeviceItem() { + } + + public BleDeviceItem(String deviceName, String deviceAddress, String nickname, String bindedDate, int rssi, String type) { + setBleDeviceName(deviceName); + setBleDeviceAddress(deviceAddress); + setNickname(nickname); + setBindedDate(bindedDate); + setRssi(rssi); + setType(type); + } + + public String getBleDeviceName() { + return bleDeviceName; + } + + public void setBleDeviceName(String bleDeviceName) { + this.bleDeviceName = bleDeviceName; + } + + public String getBleDeviceAddress() { + return bleDeviceAddress; + } + + public void setBleDeviceAddress(String bleDeviceAddress) { + this.bleDeviceAddress = bleDeviceAddress; + } + + public int getRssi() { + return rssi; + } + + public void setRssi(int rssi) { + this.rssi = rssi; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public String getBindedDate() { + return bindedDate; + } + + public void setBindedDate(String bindedDate) { + this.bindedDate = bindedDate; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + @Override + public String toString() { + return "BleDeviceItem{" + + "bleDeviceName='" + bleDeviceName + '\'' + + ", bleDeviceAddress='" + bleDeviceAddress + '\'' + + ", nickname='" + nickname + '\'' + + ", bindedDate='" + bindedDate + '\'' + + ", rssi=" + rssi + + ", type='" + type + '\'' + + '}'; + } +} diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/SportData.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/SportData.java new file mode 100644 index 0000000..759add7 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/bean/SportData.java @@ -0,0 +1,118 @@ +package com.scorpiomiku.oldpeoplehome.bean; + +/** + * Created by ScorpioMiku on 2019/8/23. + */ + +public class SportData { + + private String oldPeopleId; + private int type; + private String time; + private int step; + private int distance; + private int cal; + private int cursleeptime; + private int totalrunningtime; + private int steptime; + + public SportData(int type, String time, int step, int distance, int cal, int cursleeptime, + int totalrunningtime, int steptime, String oldPeopleId) { + this.type = type; + this.time = time; + this.step = step; + this.distance = distance; + this.cal = cal; + this.cursleeptime = cursleeptime; + this.totalrunningtime = totalrunningtime; + this.steptime = steptime; + this.oldPeopleId = oldPeopleId; + } + + @Override + public String toString() { + return "SportData{" + + "oldPeopleId='" + oldPeopleId + '\'' + + ", type=" + type + + ", time='" + time + '\'' + + ", step=" + step + + ", distance=" + distance + + ", cal=" + cal + + ", cursleeptime=" + cursleeptime + + ", totalrunningtime=" + totalrunningtime + + ", steptime=" + steptime + + '}'; + } + + public String getOldPeopleId() { + return oldPeopleId; + } + + public void setOldPeopleId(String oldPeopleId) { + this.oldPeopleId = oldPeopleId; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public int getStep() { + return step; + } + + public void setStep(int step) { + this.step = step; + } + + public int getDistance() { + return distance; + } + + public void setDistance(int distance) { + this.distance = distance; + } + + public int getCal() { + return cal; + } + + public void setCal(int cal) { + this.cal = cal; + } + + public int getCursleeptime() { + return cursleeptime; + } + + public void setCursleeptime(int cursleeptime) { + this.cursleeptime = cursleeptime; + } + + public int getTotalrunningtime() { + return totalrunningtime; + } + + public void setTotalrunningtime(int totalrunningtime) { + this.totalrunningtime = totalrunningtime; + } + + public int getSteptime() { + return steptime; + } + + public void setSteptime(int steptime) { + this.steptime = steptime; + } +} diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/children/activity/ChildMainActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/children/activity/ChildMainActivity.java index 69b5146..5c5ec27 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/children/activity/ChildMainActivity.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/children/activity/ChildMainActivity.java @@ -110,7 +110,6 @@ public class ChildMainActivity extends BaseActivity { }; navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); initFragmentManager(); - checkPermission(); initToolbar(); } diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java index d7ad476..9906f08 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java @@ -1,8 +1,12 @@ package com.scorpiomiku.oldpeoplehome.modules.loginregister; +import android.Manifest; import android.content.Intent; +import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -39,7 +43,7 @@ public class LoginActivity extends BaseActivity { @Override public void iniview() { - + checkPermission(); } @Override @@ -63,7 +67,7 @@ public class LoginActivity extends BaseActivity { public void onViewClicked(View view) { switch (view.getId()) { case R.id.login_btn_login: - Intent intent = new Intent(LoginActivity.this, ChildMainActivity.class); + Intent intent = new Intent(LoginActivity.this, OldPeopleMainActivity.class); startActivity(intent); finish(); break; @@ -71,4 +75,6 @@ public class LoginActivity extends BaseActivity { break; } } + + } diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java index ed27d8c..14c1058 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java @@ -1,30 +1,47 @@ package com.scorpiomiku.oldpeoplehome.modules.oldpeople.activity; -import android.Manifest; -import android.content.pm.PackageManager; +import android.content.ComponentName; +import android.content.Intent; +import android.content.ServiceConnection; import android.os.Bundle; import android.os.Handler; +import android.os.IBinder; +import android.os.RemoteException; import android.support.annotation.NonNull; import android.support.design.widget.BottomNavigationView; -import android.support.v4.app.ActivityCompat; +import android.support.design.widget.FloatingActionButton; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.ContextCompat; import android.view.MenuItem; import android.widget.RelativeLayout; import com.scorpiomiku.oldpeoplehome.R; import com.scorpiomiku.oldpeoplehome.base.BaseActivity; import com.scorpiomiku.oldpeoplehome.base.BaseFragment; +import com.scorpiomiku.oldpeoplehome.bean.BleDeviceItem; +import com.scorpiomiku.oldpeoplehome.bean.SportData; import com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt.EnvironmentFragment; import com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt.HeartRateFragment; import com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt.MyInformationFragment; import com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt.SleepFragment; import com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt.StepFragment; +import com.scorpiomiku.oldpeoplehome.service.SampleBleService; +import com.scorpiomiku.oldpeoplehome.utils.ComparatorBleDeviceItem; +import com.scorpiomiku.oldpeoplehome.utils.LogUtils; import com.scorpiomiku.oldpeoplehome.utils.StatusBarUtils; +import com.sxr.sdk.ble.keepfit.aidl.IRemoteService; +import com.sxr.sdk.ble.keepfit.aidl.IServiceCallback; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.Iterator; +import java.util.Locale; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; /** * Created by ScorpioMiku on 2019/8/18. @@ -35,7 +52,8 @@ public class OldPeopleMainActivity extends BaseActivity { RelativeLayout container; @BindView(R.id.navigation) BottomNavigationView navigation; - + @BindView(R.id.floating_button) + FloatingActionButton floatingButton; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener; private FragmentManager fragmentManager; private BaseFragment[] fragments = { @@ -87,7 +105,7 @@ public class OldPeopleMainActivity extends BaseActivity { }; navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); initFragmentManager(); - checkPermission(); + initBlueSDK(); } @Override @@ -145,4 +163,418 @@ public class OldPeopleMainActivity extends BaseActivity { } + //-------------blue + private IRemoteService mService; + private ArrayList nearbyItemList = new ArrayList<>(); + private ServiceConnection mServiceConnection; + private String mac; + private boolean bStart = false; + private String pathLog = "/jyClient/log/"; + private boolean bSave = true; + private IServiceCallback mServiceCallback = new IServiceCallback.Stub() { + @Override + public void onAuthSdkResult(int i) throws RemoteException { + + } + + @Override + public void onScanCallback(String deviceName, String deviceMacAddress, int rssi) throws RemoteException { +// LogUtils.logd("扫描ing"); + Iterator iter = nearbyItemList.iterator(); + BleDeviceItem item = null; + boolean bExist = false; + while (iter.hasNext()) { + item = iter.next(); + if (item.getBleDeviceAddress().equalsIgnoreCase(deviceMacAddress)) { + bExist = true; + item.setRssi(rssi); + break; + } + } + if (!bExist) { + item = new BleDeviceItem(deviceName, deviceMacAddress, "", "", rssi, ""); + nearbyItemList.add(item); + Collections.sort(nearbyItemList, new ComparatorBleDeviceItem()); + LogUtils.logList(nearbyItemList); + if (item.getBleDeviceName().equals("Y1-4389")) { + callRemoteDisconnect(); + mac = item.getBleDeviceAddress(); + callRemoteConnect(item.getBleDeviceName(), item.getBleDeviceAddress()); + } + } + } + + @Override + public void onConnectStateChanged(int state) throws RemoteException { + if (state == 2) { + LogUtils.logd("连接手环成功"); + getNewHandData(); + } else { + LogUtils.loge("断开连接:" + state); + } + } + + @Override + public void onAuthDeviceResult(int i) throws RemoteException { + + } + + @Override + public void onGetDeviceTime(int i, String s) throws RemoteException { + + } + + @Override + public void onSetDeviceTime(int i) throws RemoteException { + + } + + @Override + public void onSetUserInfo(int i) throws RemoteException { + + } + + @Override + public void onGetCurSportData(int type, long timestamp, int step, int distance, + int cal, int cursleeptime, int totalrunningtime, int steptime) throws RemoteException { + Date date = new Date(timestamp * 1000); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); + String time = sdf.format(date); + SportData sportData = + new SportData(type, time, step, distance, cal, cursleeptime, totalrunningtime, steptime, "123"); + LogUtils.logd("获得新运动数据:" + sportData.toString()); + } + + @Override + public void onSendVibrationSignal(int i) throws RemoteException { + + } + + @Override + public void onSetPhontMode(int i) throws RemoteException { + + } + + @Override + public void onSetIdleTime(int i) throws RemoteException { + + } + + @Override + public void onSetSleepTime(int i) throws RemoteException { + + } + + @Override + public void onGetDeviceBatery(int i, int i1) throws RemoteException { + + } + + @Override + public void onGetDeviceInfo(int i, String s, String s1, String s2, int i1) throws RemoteException { + + } + + @Override + public void onSetAlarm(int i) throws RemoteException { + + } + + @Override + public void onSetDeviceMode(int i) throws RemoteException { + + } + + @Override + public void onSetNotify(int i) throws RemoteException { + + } + + @Override + public void onGetSenserData(int i, long l, int i1, int i2) throws RemoteException { + + } + + @Override + public void setAutoHeartMode(int i) throws RemoteException { + + } + + @Override + public void onSetDeviceInfo(int i) throws RemoteException { + + } + + @Override + public void onSetHourFormat(int i) throws RemoteException { + + } + + @Override + public void onGetDataByDay(int i, long l, int i1, int i2) throws RemoteException { + + } + + @Override + public void onGetDataByDayEnd(int i, long l) throws RemoteException { + + } + + @Override + public void onGetDeviceAction(int i) throws RemoteException { + + } + + @Override + public void onGetBandFunction(int i, boolean[] booleans) throws RemoteException { + + } + + @Override + public void onSetLanguage(int i) throws RemoteException { + + } + + @Override + public void onSendWeather(int i) throws RemoteException { + + } + + @Override + public void onSetAntiLost(int i) throws RemoteException { + + } + + @Override + public void onSetBloodPressureMode(int i) throws RemoteException { + + } + + @Override + public void onReceiveSensorData(int i, int i1, int i2, int i3, int i4) throws RemoteException { + + } + + @Override + public void onGetMultipleSportData(int i, String s, int i1, int i2) throws RemoteException { + + } + + @Override + public void onSetGoalStep(int i) throws RemoteException { + + } + + @Override + public void onSetDeviceHeartRateArea(int i) throws RemoteException { + + } + + @Override + public void onSensorStateChange(int i, int i1) throws RemoteException { + + } + + @Override + public void onReadCurrentSportData(int i, String s, int i1, int i2) throws RemoteException { + + } + + @Override + public void onGetOtaInfo(boolean b, String s, String s1) throws RemoteException { + + } + + @Override + public void onGetOtaUpdate(int i, int i1) throws RemoteException { + + } + + @Override + public void onSetDeviceCode(int i) throws RemoteException { + + } + + @Override + public void onGetDeviceCode(byte[] bytes) throws RemoteException { + + } + + @Override + public void onCharacteristicChanged(String s, byte[] bytes) throws RemoteException { + + } + + @Override + public void onCharacteristicWrite(String s, byte[] bytes, int i) throws RemoteException { + + } + }; + + /** + * SDK的绑定、扫描、蓝牙的选择 + */ + private void initBlueSDK() { + Intent gattServiceIntent = new Intent(this, + SampleBleService.class); + gattServiceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startService(gattServiceIntent); + mServiceConnection = new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName componentName, IBinder service) { + LogUtils.shortToast("Service connected"); + + mService = IRemoteService.Stub.asInterface(service); + try { + mService.registerCallback(mServiceCallback); + mService.openSDKLog(bSave, pathLog, "blue.log"); + boolean isConnected = callRemoteIsConnected(); + + callRemoteScanDevice(); + if (!isConnected) { + + } else { + + int authrize = callRemoteIsAuthrize(); + LogUtils.logd("authrize:" + authrize); + } + + } catch (RemoteException e) { + e.printStackTrace(); + } + } + + @Override + public void onServiceDisconnected(ComponentName componentName) { + LogUtils.loge("Service disconnected"); + } + }; + /** + * 自动绑定服务 + */ + Intent intent = new Intent(IRemoteService.class.getName()); + intent.setClassName("com.scorpiomiku.oldpeoplehome", + "com.scorpiomiku.oldpeoplehome.service.SampleBleService"); + bindService(intent, mServiceConnection, BIND_AUTO_CREATE); + } + + /** + * 是否连接SDK成功 + * + * @return + */ + private boolean callRemoteIsConnected() { + boolean isConnected = false; + if (mService != null) { + try { + isConnected = mService.isConnectBt(); + } catch (RemoteException e) { + e.printStackTrace(); + LogUtils.shortToast("Remote call error!"); + } + } else { + LogUtils.shortToast("Service is not available yet!"); + } + + return isConnected; + } + + /** + * 确定权限 + * + * @return + */ + private int callRemoteIsAuthrize() { + int isAuthrize = 0; + if (mService != null) { + try { + isAuthrize = mService.isAuthrize(); + } catch (RemoteException e) { + e.printStackTrace(); + LogUtils.shortToast("Remote call error!"); + } + } else { + LogUtils.shortToast("Service is not available yet!"); + } + + return isAuthrize; + } + + /** + * 扫描蓝牙设备,自动进入回调 onScanCallback + */ + private void callRemoteScanDevice() { +// LogUtils.logd("开始扫描"); + if (nearbyItemList != null) + nearbyItemList.clear(); + + if (mService != null) { + try { + bStart = !bStart; + mService.scanDevice(bStart); + } catch (RemoteException e) { + e.printStackTrace(); + LogUtils.shortToast("Remote call error!"); + } + } else { + LogUtils.loge("scan:Service is not available yet!"); + } + } + + /** + * 删除当前连接的设备 + */ + private void callRemoteDisconnect() { + + if (mService != null) { + try { + mService.disconnectBt(true); + } catch (RemoteException e) { + e.printStackTrace(); + LogUtils.logd("callRemoteDisconnect: Remote call error!"); + } + } else { + LogUtils.logd("callRemoteDisconnect: Service is not available yet!"); + } + } + + /** + * 连接设备 + * + * @param name + * @param mac + */ + private void callRemoteConnect(String name, String mac) { + if (mac == null || mac.length() == 0) { + LogUtils.logd("callRemoteConnect: ble device mac address is not correctly!"); + return; + } + + if (mService != null) { + try { + mService.connectBt(name, mac); + } catch (RemoteException e) { + e.printStackTrace(); + LogUtils.loge("callRemoteConnect: Remote call error!"); + } + } else { + LogUtils.loge("callRemoteConnect: Service is not available yet!"); + } + } + + /** + * 主动获取数据函数 + */ + private void getNewHandData() { + try { + mService.getCurSportData(); + } catch (RemoteException e) { + e.printStackTrace(); + } + } + + @OnClick(R.id.floating_button) + public void onViewClicked() { + getNewHandData(); + } } diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/service/SampleBleService.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/service/SampleBleService.java new file mode 100644 index 0000000..3b5454e --- /dev/null +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/service/SampleBleService.java @@ -0,0 +1,11 @@ +package com.scorpiomiku.oldpeoplehome.service; + + +import com.sxr.sdk.ble.keepfit.service.BluetoothLeService; + +public class SampleBleService extends BluetoothLeService { + @Override + public void onCreate() { + super.onCreate(); + } +} diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/ComparatorBleDeviceItem.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/ComparatorBleDeviceItem.java new file mode 100644 index 0000000..8971d71 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/ComparatorBleDeviceItem.java @@ -0,0 +1,26 @@ +package com.scorpiomiku.oldpeoplehome.utils; + +import com.scorpiomiku.oldpeoplehome.bean.BleDeviceItem; + +import java.util.Comparator; + +public class ComparatorBleDeviceItem implements Comparator { + + @Override + public int compare(BleDeviceItem arg0, BleDeviceItem arg1) { + int rssi0 = arg0.getRssi(); + int rssi1 = arg1.getRssi(); + int result = 0; + if(rssi0 < rssi1) + { + result=1; + } + if(rssi0 > rssi1) + { + result=-1; + } + + return result; + } + +} diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/LogUtils.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/LogUtils.java index 77b3929..edfc298 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/LogUtils.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/LogUtils.java @@ -5,6 +5,8 @@ import android.widget.Toast; import com.scorpiomiku.oldpeoplehome.OldPeopleHome; +import java.util.List; + /** * Created by ScorpioMiku on 2019/8/18. */ @@ -19,4 +21,18 @@ public class LogUtils { public static void shortToast(String message) { Toast.makeText(OldPeopleHome.mInstance, message, Toast.LENGTH_SHORT).show(); } + + public static void loge(String message) { + Log.e(TAG, message); + } + + public static void logList(List list) { + String log = "[\n"; + for (Object item : + list) { + log += item.toString() + ";\n"; + } + log += "]"; + Log.d(TAG, log); + } } diff --git a/android/OldPeopleHome/app/src/main/res/layout/activity_old_people_main.xml b/android/OldPeopleHome/app/src/main/res/layout/activity_old_people_main.xml index ef3f7e7..08e3d97 100644 --- a/android/OldPeopleHome/app/src/main/res/layout/activity_old_people_main.xml +++ b/android/OldPeopleHome/app/src/main/res/layout/activity_old_people_main.xml @@ -8,25 +8,25 @@ tools:context="com.scorpiomiku.oldpeoplehome.modules.oldpeople.activity.OldPeopleMainActivity"> - - - - + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + @@ -36,6 +36,12 @@ android:layout_height="0dp" android:layout_weight="1"> + diff --git a/android/OldPeopleHome/build.gradle b/android/OldPeopleHome/build.gradle index a4cf0ed..27ce60d 100644 --- a/android/OldPeopleHome/build.gradle +++ b/android/OldPeopleHome/build.gradle @@ -25,6 +25,7 @@ allprojects { jcenter() mavenCentral() maven { url "https://jitpack.io" } + flatDir { dirs 'libs' } } } diff --git a/android/handcircle/JYOU PRO SDK/android-sdk-jy/~$190110-JYSDK使用说明.docx b/android/handcircle/JYOU PRO SDK/android-sdk-jy/~$190110-JYSDK使用说明.docx deleted file mode 100644 index 2115497937d60b2b3b6b4a858d6360179439250d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmd-MPR=hX$jtZ6%r0dh8gMfNGbA(QGZZltFk}L0Um%&y05U*#-tB99T}zv}zWd;)E*rVR+y2; U$XIh~8vlPFSOR4CCx-C@01vY