From 7ec304a3e280cb13b6381e474f693faaebc18bc1 Mon Sep 17 00:00:00 2001 From: chengkun Date: Thu, 17 Aug 2023 14:01:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B4=AD=E4=B9=B0=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E6=89=AB=E7=A0=81=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 2 +- .idea/gradle.xml | 5 +- .idea/jarRepositories.xml | 25 ++ .idea/misc.xml | 1 - app/build.gradle | 9 +- app/libs/mlkit-scanner-release.aar | Bin 99241 -> 102235 bytes scanCode/build.gradle | 58 --- .../cn/bnyer/scancode/MainScanActivity.java | 45 -- .../main/java/cn/bnyer/scancode/scanCode.java | 52 --- {scanCode => scan_code_plugin}/.gitignore | 0 scan_code_plugin/build.gradle | 120 ++++++ .../consumer-rules.pro | 0 scan_code_plugin/local.properties | 8 + .../proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 2 +- .../jiyi/jy_mlscansdk/JYMLScanSDKModule.java | 66 +++ settings.gradle | 2 + uniplugin_component/.gitignore | 1 - uniplugin_component/build.gradle | 46 --- uniplugin_component/proguard-rules.pro | 21 - .../src/main/AndroidManifest.xml | 2 - .../java/io/dcloud/uniplugin/TestText.java | 60 --- .../src/main/res/values/strings.xml | 3 - uniplugin_module/.gitignore | 1 - uniplugin_module/build.gradle | 45 -- uniplugin_module/proguard-rules.pro | 21 - uniplugin_module/src/main/AndroidManifest.xml | 7 - .../dcloud/uniplugin/NativePageActivity.java | 33 -- .../java/io/dcloud/uniplugin/TestModule.java | 55 --- .../src/main/res/values/strings.xml | 3 - uniplugin_richalert/.gitignore | 1 - uniplugin_richalert/build.gradle | 41 -- uniplugin_richalert/proguard-rules.pro | 21 - .../ExampleInstrumentedTest.java | 26 -- .../src/main/AndroidManifest.xml | 2 - .../io/uniplugin_richalert/Info/Person.java | 9 - .../uniplugin_richalert/Info/SaxHelper.java | 97 ----- .../io/uniplugin_richalert/RichAlert.java | 391 ------------------ .../uniplugin_richalert/RichAlertModule.java | 100 ----- .../RichAlert_AppProxy.java | 18 - .../src/main/res/values/strings.xml | 3 - .../uniplugin_richalert/ExampleUnitTest.java | 17 - 42 files changed, 230 insertions(+), 1189 deletions(-) delete mode 100644 scanCode/build.gradle delete mode 100644 scanCode/src/main/java/cn/bnyer/scancode/MainScanActivity.java delete mode 100644 scanCode/src/main/java/cn/bnyer/scancode/scanCode.java rename {scanCode => scan_code_plugin}/.gitignore (100%) create mode 100644 scan_code_plugin/build.gradle rename {scanCode => scan_code_plugin}/consumer-rules.pro (100%) create mode 100644 scan_code_plugin/local.properties rename {scanCode => scan_code_plugin}/proguard-rules.pro (100%) rename {scanCode => scan_code_plugin}/src/main/AndroidManifest.xml (67%) create mode 100644 scan_code_plugin/src/main/java/com/jiyi/jy_mlscansdk/JYMLScanSDKModule.java delete mode 100644 uniplugin_component/.gitignore delete mode 100644 uniplugin_component/build.gradle delete mode 100644 uniplugin_component/proguard-rules.pro delete mode 100644 uniplugin_component/src/main/AndroidManifest.xml delete mode 100644 uniplugin_component/src/main/java/io/dcloud/uniplugin/TestText.java delete mode 100644 uniplugin_component/src/main/res/values/strings.xml delete mode 100644 uniplugin_module/.gitignore delete mode 100644 uniplugin_module/build.gradle delete mode 100644 uniplugin_module/proguard-rules.pro delete mode 100644 uniplugin_module/src/main/AndroidManifest.xml delete mode 100644 uniplugin_module/src/main/java/io/dcloud/uniplugin/NativePageActivity.java delete mode 100644 uniplugin_module/src/main/java/io/dcloud/uniplugin/TestModule.java delete mode 100644 uniplugin_module/src/main/res/values/strings.xml delete mode 100644 uniplugin_richalert/.gitignore delete mode 100644 uniplugin_richalert/build.gradle delete mode 100644 uniplugin_richalert/proguard-rules.pro delete mode 100644 uniplugin_richalert/src/androidTest/java/uni/dcloud/io/uniplugin_richalert/ExampleInstrumentedTest.java delete mode 100644 uniplugin_richalert/src/main/AndroidManifest.xml delete mode 100644 uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/Person.java delete mode 100644 uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/SaxHelper.java delete mode 100644 uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert.java delete mode 100644 uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlertModule.java delete mode 100644 uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert_AppProxy.java delete mode 100644 uniplugin_richalert/src/main/res/values/strings.xml delete mode 100644 uniplugin_richalert/src/test/java/uni/dcloud/io/uniplugin_richalert/ExampleUnitTest.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml index b589d56..61a9130 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 21a162b..aab12fe 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,19 +1,22 @@ + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 7bb9736..826d4bc 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/app/build.gradle b/app/build.gradle index 5f2fa3e..a6939bd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 30 + compileSdkVersion 32 buildToolsVersion '30.0.3' defaultConfig { applicationId "com.android.UniPlugin" minSdkVersion 21 - targetSdkVersion 28 //建议此属性值设为21 io.dcloud.PandoraEntry 作为apk入口时 必须设置 targetSDKVersion>=21 沉浸式才生效 + targetSdkVersion 32 //建议此属性值设为21 io.dcloud.PandoraEntry 作为apk入口时 必须设置 targetSDKVersion>=21 沉浸式才生效 versionCode 1 versionName "1.0" @@ -77,10 +77,7 @@ dependencies { implementation 'androidx.webkit:webkit:1.3.0' // 添加uni-app插件 - implementation project(':uniplugin_component') - implementation project(':uniplugin_module') - implementation project(':uniplugin_richalert') - implementation project(':scanCode') + implementation project(':scan_code_plugin') diff --git a/app/libs/mlkit-scanner-release.aar b/app/libs/mlkit-scanner-release.aar index 31f597d1247c93969464f67f80f5fb41b2beb7fd..e08b6337518955e5fc5a4c0c72efd27bbf570436 100644 GIT binary patch delta 69376 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

V;9V9B}iSb+#Rv-2OkJqd&> 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 OUSvZc9>YZl#Qy=l>u}is delta 66327 zcmV(xKp?Lxq}uT$cT$0Km-wN}R2 z!ihl>O?IjTnBz4h?X3BEyA`A^7-e-CAJWSGon=pFr6!?43@$*RIzdCh_*unfwJ%O9KQ7000OG z0000%0QPNQgaYvZ0R0S;Pcj#Ow=EpowmP#tpNjWO1kYfWW2a0rmU7Yqm~3@O;wpBrIWP!N!;lcS}L6{DHGiJMzkqJmPtFbZ&gr%)M11Vv~r z`mTh?TE5Ff9!}k~M*2neRy3_)nW9udw)&GniIV6Y^ppCa1?TYCqG9IpZF+J#!2i1+ zSX-|N7M#bzs+?JVf-O#SK(a7$sNa^`38-5LsGDe=GzZMau|jRJC$PB1@YhoIa7F13 zZfFvZ#f-dLhMnD3FLs@O!Bm0#=<+LYWoSE`KD?-fB}<<`Zp(Rk+G8Y?hzi1xuoP@`t1G{dMER z2276(0SshjE=P4}h*@Gp_@TvLa55J=o!293j*za9^BOuGwD8z}q*rd?jXWbfXb~-? z1u^8Rt~OOA5c5fF+Ip^<_pfj#hml2n=Jca6SZoQrzR=x6NkuWXIqE-Y%p6IDVfCVS zA~pDgl>adsezSz#1%KmnI1muF|G(LAu(z`TxS5$aI$F3gsr`K`m^hkPS-Ae^)RbyE zXrW7C1Pnu9_218bW2jWMh!!G}*xR8p6rhOK&n3)4C||;Fk(=RcUJh>|&VPn}rUl%= zJ0Io*T=9IU2z0aQh(ho))DvG%c0Ww|XY+ZU+C&iUQtzvzAa4>p}eH+EHb~5Uf}ucTXRTk!Riz3X>prr>+}?vj?U^mM2q^ ztm+k3D3q$BV5!NKPszopL>ph$Iz_lpFW+f@=&!YUl*x&}s?XO=l{sPI=72*v(64tG zrt7^%<8pt0GxT;V&e@pa)7741AYX>7YZb=uE`?CII?5}?UHAkj51V3ZmJRBxw(Q%V zM=iJ3y(pt2Cx#jLOuNO20nAn6boK+rInGY;RcPIIDztxu-e4+h9M>h5yR0=$v3gqJ ztkdY!FD{moU17`C7^RDoo*jZ-BGBOEtmrw;)A@u{5W5uq=ow zys<||=vZlr-rFmUVSNv{)22=Fs;-;)X%uyTbg)AA^ph7j7R@aJNoJqFAvo|`(po|) zGA0ENWh#5XD?VRY#Fps5w!N%n`C33G2i5Uv7chVNtH8W;Wpw1!{F4k~@3sSm_59zwpn|_HeuvW7pAsjYYG$tp^QHU403E z46+hkN3 zt**226}8MMq)3yEtuX_+mjSUB7wSWNMc+vg(%mHcT%i19+jru+10O`*e}EDae|JXz zg1j>#d&=ucEc=b*^No3pC1RU2Qsi5I@lOi?@nvmr47!6xKao7j(gjFxfP@*Jdsb)P zF^|uHexgWB!%uL1o^2wPeNa`l3iZb&lNaE&sB)uk1{sCw+K2EOXuml`MEplsomeR6 z6Y92@+$%~gezEUtk;9wyOpFxY@Kb>hpZEz>`z8nBHFEsUn%FaSq;JujfFJ#T77Ps+ z6pgmBPk&09qwF{XoL`10*XS+=>G4=Q>~CQ;ApZ5x9mq~q#lg5r<}j(e8SoJ=!W0Wx z=H#12xVsvLTdd!<#T3E_!Z((W^iz;~?IbD1V~PPx+;oztG=Q%F%Nm~LmR z*L4{{)T|PWf&-oKj`|+$<8L8PL1Q7zhXgBnXJ;|CQkV)jE4`x4$2vCaz{q<`yFVipg32rGM&rO6VdOpTK3tMGad} zky68IjCy)6Y!q;aBudN(>fw>614?LII#&!I?z*gWdG@7@aOV{UP-8k_0TiG|?(CxRGft{7uR&%qD#%qvF}D z^op#Lng(0WSxI(G$K!5-V;xjv<$F#O)PQzXGUvAaPebW`Fl2oL?1$P1guO{wieet% zO6dbgtRr&?w#>k+UaD+=&0uU6%=TTDQkI`a=jP6C5c^3Qs{@*GJsp(S+=&VGDYqvQ z+7Qinxm2|U;|F&EidgA6*3MC!Q$ku+-D+fsCajj^aZsElaDPKvqJfmwRtuOkT6Y)7 zB~BjfT?!bC#aCfaZ?A&ZUCtgn)xN2*Zbo|(>@#0+CulR($+CZc``Y6*5ml>AOS!mE zroD-c;B?>WFNvk$Z*alw=5+OvC-h16LkMx`xKI)H#4hn=h3jhfwk~b z{1SqMqGP#IV~H+*^*A#)m+vLig6^+mZ=+fU+uD@#$)U~U81VE6tzt`2QW{VJwUV5v z(B&xo{Oz8B1iY3e=22CWv-+{nz3D=;Fa4^hk$fT@K1(>N?wm~oj=!i}uRlEr(v52H zc;Xz^*aASi+2O^0{~dSW#g$fkk6b+H_!0^dhjNWI5stjX znGLi}qCJSHfv-&t8xf~iKl$c=pj{Rk>J<1F?L1KbHriSL3+)E~fp&ofEZPZKINS9#BhYikdz1!Og(UBl&8%Y<7J5+5WbC&QCBLzxYDs+sR7SAW~W9g zEVF&dQWAIbBFT+z!fKciDBoxq8CcXW@?gF7U=LbxnK)M@t)lBrM8Goy zFJxf-kT}dN)4y29Dz9pi)x>=o{{S%<^Kwil)hfmSiW=Co&%xoduA{~V@)x@wL>g;} zkFOh8P1Bk?uQ(j(lI&|IwXZ`@%(KFJ#MEWpQYXMJWn4u(#omFBb>g)V5A&nmnM`_G zUn;kMat=&#^y3bHrMUS37;SFOA8kK`3E;P7)q5{!6|1n-R8!xzhsLe9Pb2uS+Z$w& z2WDIDo27M8Qy=OI>wfvPaFjkX5g;EgOCf;sMSCe+cB7h55C!VH65Cs-8cj9Z!akc}As zY@kU?zRp3(eS+jK4?jsbVLaNAqiLu+5v(OD@gv$to$}Um4#sM)dt;$o@P=Ece1^4T z&Z1NkQ#F1E`zOjL)m_N){>F=N|2E2h+5X$ps^M#31TaEir7x{MnkT=$4U_0mD2tsx?VBlhZ_p1;a zk#fjbxcwPtmSHQmo`|ek@hK;G}yU{WgU&W zOx2)E{>)~e7v_1Q?E$1_mQp)+fh{%bL#i1wKb7phL9W!Ta&hI%-U&2+(yFp4)wa+^ zb9N$UVVrIde|l7=1xJE6Bs1BwimjT-B{nUeSkOo=)c5bE=LAy~y9(b<_U#%$8645H zYd?{dThDmQ#!xzr31eN2B9#fu#G8w2K>4*SqwCSj$2u{-Y>TeBpB;~>8{|11FWXnE z0&kESF9C-8MTu#s!k@()5y}bJ15;Zor2rtyQFHk{$z}eo72ngQiav2wB zZe=`g>&u6bC3GC`_WL_XK{xw22a0d`lXqV?*!fO=zZotv)#07w&b6d%zHmRL*5ovdY?*zz z!)&8!$DRAOqxKVjDw1#a#hes+KIdQovmp}g?fSUUZ(&bRX4Ukm_DoF9r0y@T^^(mp zOZGAEaM1#47g4fIuja721l(YEF!=7J?G>^Q{${1#pcaY_TqC%4)5D1B3%RuoxSN0h z60m{Flg}!m&p-X%0g5?bLU^-_TeZi?y}1Js#B5XVLg6caUcPyY^jW5gT0W}!@DVhSW3Lq^A~;}C2b+3ctvrtqutCI$UKyXb zrq~P|4c^$bo?g|klgL6M*}cd(6myKX7_a?dgn$?-pBN*T%WE^h6X2@g4G=tm6n9f} zGOhIWsRPP?f5+!jjnPU;_QWa1lNUkw3nIjh=!)P6Z@C?l=AYD-;nfuvNJdryAl@ zU^C_yQqg9by~l*Y>F%;luuSE2%eBz<<9Md7Jw48Us^x5o?9840(6;^IqY^JEMJKsk zJYf5s_<+R|ELl2fo@Rx(GwuuIpX%pg6jk#M4FUp-1p*@cZ>isZYG19^nJ4-R=9d5i zkuN{!J_!sCC{%eO#Q+X?8H;hSLQX|$`s#38ZkYu=;(f2RWG=3WSh{`e2Bl30B|v5& ztmQ0!sf9Gw0=@jqLvhCD*R$`8%|q#zh!CLNi9IRUVGLhz>%s*wziOoX4i`0l zC>bmdZ7#4}f`0%uZ?6RUj-KixC*p)zFMj5K03NJ|+LS8~`wq+y&|$h!HRb%n=8+nANp%`8DqyJ$U1EhQ_0R&CCq6$p z%9dqX<`$KhR^F_x>wXv$pyPH~(rW&P_mG)7{6z7*p?iIV|-JM(UCB+KdZfhHE=zDLcVG_g0*r% zQLLZ5JeD?X_*eH-AX}*lvtn)ELDb2Ae$i;rgiM)rwc?mk(5UzXb-OH$Bm4ZB@R0Gd zV|2tyIFZv_uRfCoO1xGX2I`_VTxsWZ@s>= zV7Ma9U~_9-4O%Pa2A+{E(+CX&%quJFsPu@)=FcL@NM*o-!2nXJXnvBr+J?VZ56!OL zV@~3S7|*~QtL^5lGl0KByCk81Sl0@10D!@y)^FjTI^VPDg!jQ?aMD3LR${v`<>26e zV6~johRLJ=-%Z(**@A4^!p7f5GZ_hXn#g*JT6emTt@aqlKfGU`*_dSeW0*MiO3s|% z7?)}*1djzu3uoCqEc~@LM+)HL?{sA!1NZJehmwB62m>l_@)@F&3+-V;V ztkZs3U@Q4MloNbLa>59|z#x9S`h&`KBP3`mc~{8Llu5H&jVHxB){O(wDGc;$Zs^Vd zGD0pswCSp*$64uxd*#-_l5C+ldMPYJLR-K05vmgb}WkB=y59 z)x;Z)+L-;>?RM$+yBD8}_ayRic&wa5IUw}%7F)_hZWoc{l(d>k!OQPcyk;Q;UGtD& zuGz!IB>f-9D$ViO7&MwxG&Yq{#aJO6>b38~2NTF|7$ftRryR9^s_qm?C&#jzZPu#M z*fy1_=iG>Qm$ix_gm^(n-Wn%4SuN_@RINV(tX$*DHXsWg{A8q$X!%XC2wi-BQx@3r zHE`J301q_RP~~Li#d^LsTSlbHKuX|Y zWm{*B75NFXZo@BY#5xsoZ2ai(vI7{4o6|mU9Cpr;tP~DJ$|=a)8}RBiyC$<6W+F-fjb1ZAs9R6NK;)JxFbu>IYdo^_1qJ>d0l9Zm2Dz^<=-37bE{@7uy%D?ewv zB9*-DZ)hhA~kyj5;S-$}ryg_ELbyGedT)w=oKX7ZHSRa`Pg?J}tXjGZ$K zYyy2EeGy{qWir<94HaHz0VRfihmL1mzH?ek@)F)%`*1PVW3cfz39}k_9!|0{+i{qG z0roGE9m|jl94Bx8#wdzKcS~J`Zxy4i@2tl7&ITh*LCmlc%;4XpIU78^aLp~DMeryK zMPncKtDfuT`Iv;2`OIf0Jl&Q)2%FQGgd}P8G-~=pAAUoI#NHxSmPgxTj?!2?}iT?4tHDl{QFHb&d4Epe6E>b5}o{%5&c)4+LqlY<2 zqrV_N4N7)R-m4NEXLNRQ5_cwdMtyn+l&^t9=`=G070aFgzCS33N1iVLX_$mh0+ z;pHv&SY>Pn43lJ!T2FTv@GMs|SH>#;F<(V)SgpqJ@CVC36WaHd?ZzP33^6)wgR@WE z`>9#VS%vD416j|a_w}kLRr>%S?9t6N7LBXcc(#mcpoFpBzVru6skc-Ao_N0%06vQ2zyRxt z)J;1K>7uRE(yPtSXn=?JMDZnSTroBu;=>3BLU>MW>z(^L27{CxoZB!Vg`N+$IIlA9 zVgX^6W5=!IXRRrJ4R*il%G&lZQCTiGc6;jYGH?hf6o|@RL{)j<(<_BeDT(AT?Gsf} zKB^9HWG1U>DHn0=h|WZDYL#(_YK9KNWzn~@ZIOKJR&5iqO;&P0kO*GaI%9F%Y;Blr%&@2xbq zF{lflT#V8sNFi)YMH_2;j8Etonm9M^;42b|J&v7~F`P2i+rjcIZ4#Rr|HcP?B|+(GyQU`J z-pQvlmR5-VczK|(XrO5O*g~)JFfLa1R29Z3a6%p@(_6kX z?M7^G@6W{Fq3VH_M36NWcOFD$+S!BNU1sbz$1*-l@y{+3eid0)9er>9N8w>^X`eB#fX|e$~0MRwQ#4G_NnLi=R5i3C6GLE?{o2x2mFZ$ zC=nhIiJH~v^#ZCaPPsbuDNNO9K4WsIvKt6pa%uZ+%}e%tzD4kTt|X0IEjoXv&~qsK zQ1qg9N4up)8%KtU5kzj1vqRUEIfF$#WW&=9lJs6BRgq zD`dtUhG?2dWq%8rpMy?9v-w=1_9&VX7DAK3JNFepJ?msWb0s8zX)g8Z6vK<6$Cl!t zXrs(C{Zj(wvcDr!tVvx(xtSUIEMDz6K@d^avdr`m%QC>eM%|5BEyy%rRbC)}LSRGo z`@*9#ud;%&2G%ABhcUjW;1P&|&^jYNsvMypV4-wwHE@VE@%xq95q&QO&8UoQ?!%*z zH@2*y&OdBnKWhO(O(JCAt;_CB;X%oAid!RSHL2`t<*Pf9YpTzgCEUAexPryQ1yurD z>*wV@QA@+B#~tc9qu?+VBVOBoO~2UC5cnmt`iwF?cK&`LsPEwI?RR2b;F<}rYvZ@l zlAKGE6pHT$+70YM&kFCIRa*i~@Up(-fKC}viV#;WZO%45-F8NM0uJ| z`dQg}PLj`ogxSVr5#h&P#QPaciX>4`$K8ao2o7V~1>N_dQc|rV^k@5jg5?hN&+y0r z)~!;=4!;p=3`S!pfc%wX8j-Ew71P>>1vmLZ+pKR8JN{?_1V)z`^9@yu0FUIcFZYh_ z1zPu1E zaK{fowWvv;Vha&6eg&!$lsE4)q-e$`a)rW6WxPUOGg#I0aGkuvc}~;Reg>W)Aovf@ z&zJ>ouOyWAT1A$LLrjR9>|$Rj&57oRs`eq)tSi&D$;@Y@`oS@OiG8Nqdm$N8IUrqf zdFgbCEIX|Oc3#2%DFhFv8ACt+M)QAfk^j9A{6~k$KV6Q3B8y|cFiH+&2zu4*L*Q(^ z0xvBF?3ikaG|3#(MY6l|rp(j2Oivma@@O%cy?7#xWmyL9)XmN_av(PU@u(X=N}lRw z#h>Yom1zzK=KlSEcCTdZ<+1b{nyl#IA%*1$aFZ4#hg!#rkZ+UEw09b!+);U2RA-^} z%YZ#4rb=51&G)^Daa^PRHNA!M;%c26L@bU^p*dnaNp6Ix=Yz3I1=vtjC}l~UZ}^Ir?U zt6%w}o3c~d%ObJeYUh6vxhNAgvDHWd3-`4lV2^ znP?ADp1P)}s=$&;eS@2KWu>J82D3mOz{x}60_(YK+Y%{(%b|`|rVCK53xcilKWVlD{dSHn4_lDL2}hiNxQ%0Ol1PVd@J%4aXjKa~apDG42z&Dqr){~5aoAnIk83>7TSCX>|faNc@BB!j4s=Qf>3QA5~pOj>r3f`htn zSb3y>2%`baQ2IZorA6%YN(NWQBH+$Cy0{IeB1NX8UG(J1MNtUU#XsLh_U4L+DqHHN zc%^8ikRjO4KM@)La7ADoZr6_0L%D3rF;?*?XKPHTJZvJy=XAK? z^bv{tfU9T*()eT{#}E1?16-3Ng5#Ug1LS3Y?DA%keLRRWyWWUQyZmAUWbZnG8$V$j z5t;TWDsL=+uVLLp?JWaZw^hOLc!mQPc-y_%2piZ~E4NtNY3ti6w{^hh+a4hDZ6PrJ zwh}mV+YV$Z8TmD+g`g+5kJv^wZBV#p=U2R^=QmPs2xPS!*FDQw9tyQuJ$zU`(nJ-1 za|f;W^on^GA5$aAy=9=&`c>+=n$DCFGO+dgi2?M6g zflr}Qb|A)K$Zv+(#{R750A?bZ0$~L`$i<-NgfBR%#^OwM@w>Gg0)9~^`cNME;J8Vq z7=n9Km$1}W_BOqOkUxAG_C?~0w?GJgkAXY^y=qoEN9&|_Boj=sgqtp~m z0u+lSTAGKmXv1+$y*PpYA8!1JV1N z6@*r_*NZ7KCSIz{AIJ}K|M&CqRJSI@ZA#zrM1oclNVfw$k>npu0g|qKZZj zhrM>C#{zu?KZ!xTHQ%oSCAc~# zliRebaPMaNrtsm?$5Yqxw)wL#-i{y%VJn;Zb6aof(&#m~*LYJdl?xkxKV*`-<{oADm%EzL8@K z^&!7E=ku#5j4WVXeiP7h4x)x04M#g6x&9Ul4%l%R`hby%pZfEE8|C9hd`Kg>Mt!zy zw>}segFxk$#5py1EP|F8IS6GvMB06}N0?e_F0z~5wy^C=_?k(cH?BC1an3H-6LCnT zC!gZgZI9MZ{z0i<?Fosq|eC5N&%<=Wyoxt#Qz z_GEl`SZTchxi+l~1&Ji{`#O(yLm z@(DI6U`+LzcjP7W8O{x)7yCVX)JGX#vaDvN2|aBruv~Bf8gC|Y9>NGtJ%b)ET7l=V zg2@6prGBpOtwJrZ5$|Ou*YUHPGMUn8>3qX4ed9_T%EMqdGE(3q!wJFcyTI`5#qB6X z9E1@sQa`hQYs!(~Mc|oB_yn++7#KjpJ9%k1IV@C(Eu_N8q+1RH?qgzPo zKa}hte*d7B{EnT^OFSgG8mE6Jo%Kp6^Sef}j8#b85oK8Q4?fu%TsOZZ!)ivOvUonE zoSY|f{z$L{qQbZUy)Jk7!(!Fea>l)*HRS86nw4IE8|=Wj&1`UQA$^%wbriHOi@SlX zrS>Hw8PG(4$L1W#7?%|@S@n{3NU6) zEwkz&OAqo$;!p%yLmHxP+6DWFc|PkMICp{n9@!%gW3~m$8ib5VoQMXF1|6a4Fec}K zX7^$a?9tM!#IVO*4DUfW5VFp(jmP}?fchtY?$NWXH*5dmp7Gzq{l6MEYX61%GKQMk zXpCDhYB1GihSb`?(V+=33A6ceu|#MhdEk{cR12TEr=H&(az@47+*faOB*|T$6!Cww z<82H(FBqF;=VkKbKIA%0`&k9NzrP~(vJ(xvK$)$VphX<`fEBkDPEA3~kCG=0wFTvW z1nEK113#fWRePog@5En3w$S6nNiK!G5zHj6HTfy%G{vGEs{Q)QAc51y2CtR;1NL*8 z92cpFRk|mROY3Q=RWLPKjWpo0yB+)NI@Q-27fklYC#XWGO= zCC;AnQ_}#gb*pLm9Q0lSY&n%)zklX8`JT=rlV>i-Y_=quE23%_A3Fmc+8~d5QZ&#e z4}VD|j+YqKIXTcUX=_wrY1;jNKCR7NELya!ebTo7yHtHV15bGs{}N!Qo8_$%Si3W*w|B%&yu=n43d8pu^O%?1MSLAKw1>S41;nKIpXAnKl-4TM>WeO5P`h%YF0M3E{jzv3baw*}J88T>B(ghJ)^c1F#QwUa`WC!;P z@}ERVblvnl`bz}De~$?4|4D>gjeilLHSEe26_tqun?@V1ff|!;$OlwbI*MGBdCy@L z$-=l(&Z9N(69ql>1>TQ;MFoR6MoI7`JLc}Pg-jg0?7zEGt!5?zzW)4y4`e^aLzVgk zhX{)aj-&2^xN;zEN*#v*)QH&y2G4Qh6}+{uKyqPjnnrlz&nv{Rn8N`LmY>O6VdR2Sq4(rQFe4h$+JV8rrR zZ5jZ3okh=*)g|!XInLct-z-C^5N0T+s}WSfedjHWy@5c}ss7n7;tiWdz1ZcZLl-l< zAg2{owe-seWD^{ur*4$*marJj)rlBP zqIb$Ro#S<+mtH{+otSm+@GcUxMc6CZar3vDH?yW3>`gj<(SUR)EvndL4!xk9Hv{3l;z^=k^i4&xY>jTvl9Mg1$%eSv9Vf1Of;=Z$JN`P@57fXX{FRGL+&DcG=M zi@oDi+pcKd`#3tg_(+I>Q{MkOpPq2wj(n}>`; zm%f&}pcLLzvgAxl*WkV5MAE^W7w(M*y_85AymI$-8| zi|@6-O#aJMvJ&bXQe3JEkN=AA%jZ zJwD{pSXDr znf+CXxV9wS@6qUS=jc)BQ7krq+_#5p=*#x;yI@t~8SU#&Nuj$rpVvxBp$8R)k4>px z1xBx@T90-#pGGe)u}uNdSm?Tw^R)LaEWRZgVERu!ctn)6q$f9|xbuGc;}%Dk2luXj z%ieMEC-?lZbmNtICvrc9vFKAw6KgsObFkegcD*Cx)9+bhwO&q1ek7STPu3w{FqxFu1@*}WH5_MuVVtIo zl+O|>*QTZ>q6zPAkkohdl64xOgBmdszDKLs#bO_(XodnllG&9=`DXu!!#h=}h+Knp z7Lh5I=G}rXRMxE4YtER_3>8s|y2@;VM3s?Nwj6zoR>bKkD}KXaO4>PNAAz^$=7Q>< zuliPRu?jBpjTeRA?l)paq%paF-@5Fe81O}D)>#YsS!ok7Snjgoo4akz989=x?5s`M zFh6zp=2G9LILK~tDN4Z(o^<=#B>6XEW`axk8?e}W!v+2YC>kj7{akMp)RAcDXRDSV zS&I?@xCWDl0$l79x16~cn@cO*9N#z_r**t>+qLMd$xvL`)t_0LzF{tZ%*#b_mN1Md zk4koHYX&8pOm-FBaSW`%zIcVIFN)Qe98PkQK2zH11R`aSwVW^4oTh1yTOv1tbhZ@d zndd(uw;XpVp%}z#1;X5VK;WO1o?d*u3wC7mourRUiN7^D?p*#t3Sin#2hOvffc#{; zAh?`{HX9c~DcVku>xWK%f_oBNojed?OwLNgqejQ)#DxWaWqO*>=jmcjlZNaKV-=EU z#AMC78gFCT=OGZJ+g1EdTX0$$qK(Pf_)dl{sP#&fWZj6KMkv4x!KD_QmN9Rx%lW~2 z+RO&}(LyR2eY3w*=)!=pV^tcLbL=#1#8Bjx=pqjndQxO)^SelYgLTvV_j9q}$>R2# zJ>R@Vv|x5vIO`cW8K|tCs}b&q8l5@<7cd@YS1C(#(ZMGahS^l{8OkEuk}oBOOZ;uU zpe6$|OhB%;GU+YGA##(W{Z191*Bq1C8|Rms@sgmKq+V^1i2d)deveIg_kGy67&8xk zhJwTlT+Uc-@_Sr=(spCJ7W=h+jH#Imx19O){yZd!0X8Rz|Ci2xWlpw)Y7`wqqB>q zt5d^VLn-8Q3<|w+oFVs)XvK2?*H*Dw1{rT|(E=}GQmGm; zsm-cJ1`O|((sz;}a4%I%$s$YWCpY18h}@;K=EuNce8Bc-Heg%+#2rc24qo>Wk9S6$ z<08m--7t`U7#>~E{guu~xEx*;;i0A9V!i6lBiHj*G1l{}EBkqO%Fye5@ek#;9yi+t zz=z_)M$&yjC|(@aJq+9-{o{?jN9V-HvA0p`R<*0{ za$|0P?V4FXl(8p3Vq9h2?I=`VtAW3>nh_f>^i`uPvqqA$ei8)R94hBDkC|Hz(>^1=^A%pX+cS(TT_{=Rgz@4yTw*YSm?KB)Y}+ z*luOFd!6ZzI1TH$(~Ail|MXuR2jWsmD$PxQj#%a@d-^PrPvIr*pYQkA*K6p{)n6H; zp-P73e1cXT)F5`2$;j#TvfG`P=GM#)pwQF2PV*!SvB|9RYesA~siK(qDt|Bxxja-A zzbT5ryVAz+slezEtdA^;H!hrIq7d-T1Q9iK{i&lk$~MWyMAB3I^v7AAq<3UP3n4*& z`^A-(px#*75^3`X0ofo&9EA5O%~~jF)b=Ze$xH|0#6VyIjgk-$Z{@nV^l3xXCsyVs zS21DfcFz9SXsYEGWMciX)1w-h?pVAdz>?<@(EO&!ZdZcS-k6QdB{w4+rI)A~=;bW(8hoH#D$H2Q${P1cS+v8hVm>K)nmg8bYp-nUGKvFb{J|( zDZjes$9Efjeg77)JM&CtsVl_sen?W;WAZqzG1cV48|gL+&Gak}o?z!5v`pjqYT!Z7 zPOT|uNRn%+jSEVKd(~XzkGNMq{Hz%8cm&4N5mqOyXyo?wf0hVGZfJ*bm|MRh=VK8M#^9 zuY}RIrfW!sKlznQK`dG5ZK7^}zOxxzqL@L5-_-F|xkW8-GQQIw)+3;ZyRSZ>V6?i($I{RIPYw)s0yWd7E9%@RiM4FVINhhlkDYj;3We1}H9nqIa(pteE+J zd8aw*t%N=u5DFARsOj3K1l>I;2OTfF1uwg^nL?{RG0l^Gjy5j~vX^@mUH;4uB-$`F z%hA-*vD7)E-gcZ~X%Yih&mc?{HFuCl+5EC`)QU$qhO@+L90tN52(u=HUq`qFL+3(T zox2~Ny`fvodn&g+^l}$}OE$G%7I^0+@EXMhj0;hy_l1yF`ZPU_3tPllOYYtuPB!LR=7)l%qk5lMrK)jR$;f) zm0wU)`}~T%Avzw_uAsEmf*%|ou?-s+^`atoe%!@19rY$DoIXTl4;5Sj=kM{)bh)xq zKYC{p+^}zBgz>d82?`lhod^pZf+m{$Lp}6M^uSG17+xHbDOd$0`LHj2PHUAHCGIiI z9wcfjPSr;{n*{GF(hd`qD-vOmT5tZBJ;uSy4yM|k5=CK)|9**t@cID zF=xhYdNTt11=7EIu=|1*!<9wx5!SR~Sg`WVl(`%9>ge$I58lc-{O@%8h0CW3RmVxR z_F{&Yy8HYYv*PdP?jOFgwzL8tzFnylsTAe3-KpDZ-N^cXW!>0<%wsSI_1nqyFPKBa zq*mXvVlf{z#Z5J9TMLhEf09BS3DxvoEze5R~g>WT|u`$W)j6Y+2Y=JnEPI{ehg{v0gPPF=}e4 zgj1)!sirS~X4LsmeBa~6?hzactZcYGz(c(iVKtC%F`G~|y}58I%iJG{D0-pvF|boX zI{Ti!$$~IvV)a0JTzEPti@wvL&?h0I)T#d%l8m$#k*W%G8%I)KiBWxUuu1zd+n1+c z2Cz=i9X`8-*v<`n;rIH2U?@`BckV8DK{WP56`g#4+odZyHqI(0;U8g7Z>aqCf@8Zgt9c#%u$KOS%b2{3&e@)GNljqKUwls7#QwPwTTrbi& z(tkwxN-|>1{vr3Lg+|YTM$h;zlA2%kEea8l@#cN0!#!5-2jGIdww%-nm+K0f z3N`G(LKmx~VM`0u$vINsFa}@kWYX#r?4276S8=Ug2gL~ePotUQkb7QqrKp%a9u2qz|xZ%LWPs2yj*^V4O`iT7^wQ$BLS z6m6#T_aC0EZKG{hGD(__WHOrFpY9{{f6n}U6=!gb!f$LLa5>`{L%(xA$5QrIEwiW) z3FBN2X4$d5yZ}~VRdqO)9$}Y=jd6K~+4Cy~L+V}C`;2bXyZH<$mrX1tvV?l^qpbB+ zPN#U&2Vh#(UdT7qFTw-iFA)KwjZ<}U&phb!F-j(yi;5GALjFJmRxu*ag zcbdy4)#wZHwCPy~NR-%Qu~Fw>;@^sRuQmbu?CdbUIQ7b;s&yYCha~1EWldMnxzw0* zGjpz-n36c+gK!qz3Aica4#QK|$)DsoJUqC4**w~S`*A09Ph@;@HKKYZe@KQrAD2vy8gT_X9?f7`ho7VF81+>5`UlT^5K1%Nv!)j5Sb`js#@Mb54Y2#odH z{=VRkP({Ues7l2qmS%9fd9)2U8l9DdwwX^)TAbc59DIfOcHk2PzfK?p?R@vgI!E8y zZqarBwlSo3^^K}xB}*cu3qU26@~o21s=iZ)4lLNlK$QY)htg7Ke`_>T$Qv8q*DQy= zm=&ceX3j}hB7Mt$*My*JCG~;=%r?8yJ|L*&&TeFiD|Yo=L3$5?Vj&LOrC*FvV1%1b z2#bIPH$Ee@J|p~g;sL(&Pw=30$F0hp+0WOacoxbxo9iDb4+;nD2uue0jj9%exA6oI zw>ks-#z$~*kptv6e~?GF+e7bnybOmJWgVaj@8I!Cg^+!Tyl{}g!}0@7Q!`aGo~j72 z#MS|NL3~dY?FSzv<)hDrbKmgk;xi0EKMWDLuhiAP2>*KmYiDWK{p8rt- zvvV*tv;BX1bN=0z=Rey~Qe&Bs2AL4V{R`%m6V6b98IeLgf5MOeaN|7)Vnkwcxe^M< z+0lMbE_4zMaMo7asc(b1`qx8PqA@NBJQJ}50^3c;UrO32vdB4^gIUQ*(NTI@?KOz2 zE7YX!gZXyYq~zlrwdZ=wv^wTwJ(bFE3O2qze-#=&2yy$)|N0RBZdUYP({oyv&bS&Ff~$;LjbBLyzqXg{4mldL#9F^(uZDl6P@q!9nm~q^ zg_@Gv9mSH@YSjYD6{X>u(Y5vI<6F@;!06|}e8nIZe+&IVRQAB{V)s>~u)`D(SbYMK zPHXB)Q(tbTjeir)cARc``<*(?^|-Tt&wQ@#LIqH_--K=MMT_-{9XXLGpuDpr)}y@B zB-W$8^CVJ6@`)eeiuFnz>4^2p9a)jgp?Ic^yGQW-IO-DX{c+?;!sua$)qNJmf9K2j z1>z@pe^jdO(ShN26h!E42;p}i@el>C?>eA>?Q*obJT+xgRmWfk2&DseOB1H09%}3! zD2NTKmKI5N$qeMpPx*<;UTlrv^DBChoH`@%=eeQoYKpE`ULbAa$x>cSN_tDXA315) zo(0v|Bn!9$TY7Q}48z2fCsg#Wk}O1fnxrfSf0QjV^3=3vLyo4pvm?}1s3vRaS%|~1 zzgv*x{MrMeecQ^)8VuAQsmZuM?WxO67ht2ap4{zdcvg|g;63$bMpsKxx~s<1O%^d) z3Vy^JN?XZEB}Qi?B{Rp1aA*|sG0>i~=L#dIl1rGxNUSc)N{r_8pkFzWm*=N(Iw`ej ze;t{fvs@lb{sAhaCkbkgn;uBXr8yr(2zMpLV{ve($_Z9iwNwAe%3(BpGQ&Weqx#Uc zrbWuPA}O-gtnhiZ-okd(6DTfuVqX|mS5;#Qt0JwJ@ggQnW2-x3ppBE<_<-F)f})3) zmR~?-wtR}OWwDF`Zpc?HZ-?57tjNp2e{MJ!$jV7)s!6Fxo=j5s$_-fR?FS`EDZOL1 zEvhbgL1ycgf6Ct!fBqzW zDl(t&QlbAScI{*V&#vnvR{e2h-xdBx30nSs%N(HmlV5X?IHDm*M!daq2j_bHWVj!J zgiy$34O}zmZlzeP{3c^BuKu@!UcGN=-Y?y!9(LZTeQ)dK($5~;mKH3Zu~2Qu%&hva z)^4o_$%&Gjx%jyFc$KbYl}Bcue?44|G1?5YLkeP3ObRK@y1DE#S|fP>sJk}zN7cK_ zKQ3!<<{LTh)6j~imXP)#$91O5~wcB@;AORnl2?N#<20>oit%(p6F9 zsu(gAG---zbi|~X3cB=`QtuTa^->n41fQ0Fdr-nQdm122^tohB6UT`&f9?i_N#Mm! ztR_H7KBaPs$yv$dlexsnggT{gLL*|(GRe1dQJ#YGCAuaKkVuNfNF0aZ1;Y#A^53{@x03e}!Vz4R}I9 zx9;-25va$_Obm;2N2V_fe{}NT_qCmwI}b2oBfuxBOOX4pJL*NcqVT3Gx^`>KQG1BH zW?{UAweM*lz`5ooUa!edFO{DNt=z1iVNs45TJz5CsedW8!22&=2S8m=;jt@vWBYKP zu6aNqJH~BWI$kLRhjZm0`9wWh&028H(zWFu`UvI=_Me_|8|-}qf9DV$_#|%PpZG*R zHW;;G0r8^%gc*bww2cLOQj=-c<*=Ry0z3EsdF1_*z3`VU_G z!8ZAXS3lL8{(>@pf97m{=fw;57ee@krM+Xs1NV@*A9Q*{`3Xfhx~|Ni5+UcD*JgN> z2hs)A)~)`sV?6z}8L~%BniJ5)JqTB4UxE?HOAR`m4oL&VAKmgV!2XV2xy99NOIdNI z!%=F&7K_oZ{ zmR|w)t-%V@%HRJ|gsr*qDPI6g1C>{(97)UqAu8zgmQ&kWK% ztLP!&%eE-NK$e`B^t9C6&KQBQ-F1}kCCmn+iwf0LlX|eF77pKTLIyj4?06{RNH*SjNLN;)N90m7o8z7M0PW1_OYSG zzP?hH0Q?$V(9C*3EH3@B7h0MbT4DA(H9-XY!(>3c93+4Q2`5X z156xuUe+CS9CvQkUXtmKC9T<4cz$=T$1kZur!Lk*1z6tc%jq{zqglJzpWn?)w(+cU z$Z$h$ysY0b^X%_sSifuLf7{nH?@vQ?ejnLZ3ox?TyO@7P%(o9@ z-WLzn8YBH2eP;wdF|UPxaeP7SfRi@7-Vw$9AcA|E`?b1<2n->aEpGY?`rol4j&k}- z9PA&yf&>8({lCKsStDn&pDHe%wr2m~Nupw>u%w9Yce7EeL%j*C7xfV?w+~Qt^usxD ze-RdK6q0p?y%acF%Pttff4>?z-TJC8hMz4{vySwFH`hFF1M%JKD0BL3 zE%v~I?v0>b`CRjEK4e_chu>*_k>IUIee2o5;=|q|Y!sH0GpgR!a~V?qUY8S!xnz6G zs(E|@DtJ^ziCsg5-m6oMAg5~y#qp}mhn`fgQ1#J$J-#LwvizELC*C~E&6*iigI=Rd@k!*e-X`dkt#w0elmw3t%WEm2DYpr;K^a4OHN(D3;7EE zAHEYv9%GWTpoxb^hSw&sWDc-8zl0D(%eUae$nNQV#BR6VU1aZxJ<&)DxN_$ zhmLfhmBf7~*X@_3#OW}b6Idnj?qW5H$BtXP^DgHGmE{om#>ifsSzpDFfB7erKUw~8 zUnY>KF=;67n=vy%RbeZ!GR`5pjX6e={?!w$y9Hv$Lo>b-?f)y+Lz(ddoz+mE{MBL%-Fg|o58+#V@6iZ((!l6Rlk z_dMsh*B$4%j@Q|TlTXHOSuwq*SFUL9!{)r3?4dKi2ose2;5WWuEFyx6az+t<*n=sj z4cW24Ua%*%f_hMXm?zf)2M}MhGl==NfL_EW{DSZR0w^ztGo^xLf1!9#U#v54p?Gk9 z&?mBa6`^vXUgSq;AqDVUs1M@dc%r<(JL0@huHb~zfIMg~&@=IfbYm9|3C6LrRA5h) zV$mEMJFi(qTroGZmt3J{eK{`VOx!{|MpU`lk0#a|BTJdWXytT6jTqKago?;jQs6cgx;mWEe0p0Ie;b!8e~E`0)#hVNDKb{N zwHWJi=r9%1h1TS^U7%Z-H3~g{mq`|PY@{#5-*rk8hF5uN2v&53yT@Cb$5*De(Cn(2 zbkh1Db|&9T{Gi{&Z>8J$F7i>Vl$D~lq|(slxAkP$K%c@GbJuTv22+;5EE^T5x0T4@ zW$)2E2+>jMe_>;~oo%5XnonrFv3*4#O>SeKfe2y#|Vd&6KuDG!ysirI~^ss=>*jwd1^ZcjPTqZwxX!4E~a9`Qhedf?l;*l-=naD#C78 z-3a%)49o%T#iLeZ*6O7oOSD>N5i`G~X3`?tZokG=e}>0mlReg?zh`%YBlnP$L7%fR z_LwG2M8}*3LnADhHPL#;L5I8xq}C^|EG@BmY}J}sf%Oj5_XI|u1%40}4Kbccls`Q# zl1!)gQ4IhuQ z1L9S-f9LM^O%-on$aW=i=ZO=+6@K6O*%;D+-x zC_dmpf8m-5&-e@a7B1mj{oW29*mHaY+)j}!J@G#JOLZn>?`VYul|3c9%9eOT8M41K ze^t&Nu=T72IIRWhxo4$s-ePti_9xDHn6}#&wCrkv7X+I^O9ZWkzw|Qxo*|s(pYw9( zO@CbEI=l&{v^)IljQ#EGP{qM9l)<|mXKaz#N?c8AT8pfOE3z`0&_Zn*`tuy& zcoBQDlr=?$@>FE%ef7)h;74NG-R`jqf8=59*KU@U3;9f;zBFXUZmEz1mRI=v7YSt6 zZn02#XpfAgpCs5e;}bz4G=w1Ol`v|b#+p`PxY(9JVLjTnQDHsS2h_kW<5R52F8W;> z%Yl2Qdz#6mdMo;h&Bok(&5L%vHIX&3dE4rnDl}?vg@Z%pp$eYk&ADMO-;`Tae^Ymu zHT49>hHUJzT&-@$W4rxSML5IJMf3ef`cDivyv&Lk37l=b>4E%6X^Ke`+Zp5CK0#HA z>+1aC5Cz2fSOIon&QCVv&XIEUvv&dd0R6KilCwu2ZG@iT^3r+2dn@dxAHF<bQ^IWj&E=B*E?+dy+njp=Y-47^uLW;*Ti)f0yK{ucW<(I$B&NC`JpC!KXc~# zVQ>CQ)xA>R^vq!hPF3d}=5-I%xOd>*I#GTLlYe00!|=2;EFvyY7XZ$;e`rI;ehi;W zL2)=?=M}y!q3Kk@=Nwms&0#K4nKt;-c;2X>KF}*SN~MM9Vv&0*KUAdPMJFN4OteW( zJS#mYQLm?A(qYrD*(o=YlDmsdxJypdHE$p;G~XsB@l$tDOAAnt6Q(4ciccU*PK1|u z+sEF#x2N!p(&tF)qmTwI`Po1FXSp~NH&u?dUPqdDn0 zH@lRttdwpA={$V${NyC)lA|oD_t?rK^Mkg(Zo)gG3+xg02EJh_e@m!tCjGqy0OtGe z)qAvJ=tEZ*%54mv+FPWI*LjK+87@CkuW4 zgm^TH&Bdb&FE#0=e_kW6j*x%MHzeA~RPg;ep&1`5Jq;Bqb9OGb^GVL_7OO#@?+3yj z&ja-uP_h^?*y_oIDweKJ6S&f~6onddaayEb57MgJjUDHB=u2E&u;xnn@q`V{*L5|Q`vo(kZS!`A@s zTZ}G4a|i$HGAg2=F_Z6g%7|!6p8Uv$b}=>wyRyoMKHY!TW-BuFDW^Lo<-WJW^adz@ zQ#m@Xd{8K(e+2OPv_}c6%XPA^vm5K&G~}O@Mp5Ncil3>Rkc8@8>UTH4@V1XK+=Pqj zs*d)l4NRjMkD61%1N^bw75(x%hHq1fv7~b%wOl>E8#A; zkat}(f8;m!#n#s~j4nmHEwFznelt?y zME6*&C>*-H(vfdP_}j|hBfj}Bl7ONZGC!DI0aO3R=JWFW=De6cG*6^=N(D8Kjl7rR z8UEUyH(L)g%b2Ad1vb&3lXlmIa&tZiLg@m~f0xoJ>V|EFmh23C6nZzvSBQkSIn*>* z-nNkY6BX0!j=hteHTx|hjlxIR8vY#F^0!;^s67_af;Q>y>Ow5ylQEi!ht=0vrOw;_ z7?=EE%)K+7g;N|Kw?gxu;3d%<{US6&lXgRqF3E5KQN2MklV(C}mXhEijiLU7fBE%S ze?S|xtNPE$juG;I8G8R|sG9umhN@w^RyOG?^ytG;U{TsF=w`G9_ux`6i6JF0zsj&i zv(H(qpj*4l-QhoYW!WT5y5~LY4m7&&px=sPPHj0c5l2hR8!1n7xF4sz-OPLczI`C} zgJH4&`zz^KGA4}y+M=i#Bd0o6Rpz z>MEh?o9hckhBB*ay}uXKW4GiCuB}_zY{R`Y!s8tPW=dT=x`1}I3qn>sEXi6A9cjag zDm~ZoC3~vBdA3|B*p*(bE*Fcdcw-aj(O68Yz^;RFB1LqD7y3f3A3ealt^*IyfBj_g zG%+VNPMt!bI!tMA3q66Dw(`uGG%PQ$^{mx?>h9biQCRsG@7Y3vGVLCcAj2DKcOwmC3iodN84|M%MJ@zF`bk++4Jp;S`O0ZA` zvCKHHrfycMRJHGa=ha*gsWu0EfBgMiZt>GW8NWk3%smfjT5MHAK|iHQ)n}R;@ZawH zngKb(#lWV!~zBVggu!7gU{d_fw(zk+Yh87c;D_4l;6gNN$PQfQ}fQ7{o zYUO)GE&9Tad_^Zupv*4A*@F$6!0c254p5e@ebcu3J8< z06j1lrtS4)(YRis?}^N1U9c-p$6b3wZzWBRN;9)#+DVl-86*BCN!ByPt$x0tG5gb9 z@GwvQ!4uTHrUd#|`HEWa5)^PmqA4A7-DmPfCUXI-q!bYk`cy=?bKhbAyJ8t-niT8* zQEWQY|5CC4F>BM3YWI&~e^JK%ZszfO5hyF7{}KpLlToUJA$cf~D~6RqCD{P(+SO+_ zI`+ui)IolUQGAH_2pzx+1`tkidDn`NP*LAAwDIzGJ#J>6U%hZ_IJ2%-BIZHH%>3>n$@ZEqB|QW4 z`Si7q6m58++K9gAe=8&kXuU8v@)dlaCV7QZ&e2;fsmb>>+V(YGh`X2yCCZ3+jjtI+ zibwGilkgFZWP|MWRVG`*dL?o$hcS@^SH;Po+a2`9Xika zS}o{1G%6;>pvdQxH++l;m4B$xX)g!M#tpu*u{sJO=89~^e7xn!-cz+mJMtkK44TTlUcHDhGr&inst4Qnm;=REV{aO(+App-cYH6pVHY28A|X!| z<_y(N3#^f(f22XB@8VJ}`&8a8cEJcJRle9;K*TMtho)Y9Noo!N_5>v2{y|9l3|d2q zH9jlm5Vi^6TyTl8r)^kf2Ib1SAaKmcm|}P1s%!5}bk_uslG%`+?nO z)j|Fwe?_sL*|eL(y=!+ex0~MwDr-~+p6ihn8g0y*$L*0PzAA~GYpZD%mgZ%<*#;NX_x*sF~GyAR3qh**zBQq z$BrTdn3>AeRCmUZi?@xC>Z3`BO-Wk~(Z`C=tG2_D& ze@JET2t`MX)q2y+S3QX0%c%J>PUj)%${H??;BUDmj*&ed*_kjs8H{$>k?`CxBpMNs zgl%GJrB5AmW7RVq8*Yr)bUQH}9)OykTW^&#BXr2zW_NuKav~h6|Eh9jN8iz6?zX0X zL5N2-c6j6~i;9U=Io@i6nB%-9zsq>Um zxP3;ESXl1zhbwm~_cR@d?S&yXy^mR^1JM*m>~+jgA!FE)V@JpT&GGSYMqz_oDE`rw zc6GMq-msw3>}%ubWi^WeZHwa@@|i{VWCCJIR4uWJ{py(iQnNx?f>R?R@C<*>e^}n0 zI+xRr%`41HPkHthcy%iCUPIo5jnKGG%K(SP0O#TfH6a|>V8YK&mM~Zx){jE4lqG?c zN3=R#5$ove!jbO(-<4e(XQ<5b50n(ZgMf(r@088*U)omJaYh$M|K?dY<;V^U0ojj( zrDN)n0t!LMijYMXL}!Dn>q3ZMe^19{6DMafv1TWD5LZx9?WEFB*8-+!s(k>k#6nW< zN5OrfL4CqgQ|Ie?fN^W3_1cY_rS0-Q=kr^axqAQIZbU;$hBPDaJoK4w6pjNS6a^^{ zo)7@>sF;5P-W(A_3DSZ~m?KR16v{{<3)LAMao`P#*F0@WFHv5qBU?x*e-}m8DH$K3 z2s;u?!r`$8C}Y$KIV@iY`x&wbJP9?CYvD^{zoZl}!BCQGfGFOPb!!fPM*f09)a(m_ zaNl}^RhHepT^~)flGCt#A0GfE#cQtBxn%!y^|u}@g{X{fQ~0t9RGW&Ged)3iY33ro z>o^`8pT?nxo*b@q(C|>4f51OEt~Sde2Dqc?Vc`)T;J`sQWMjltgbwvwaGIzeCd3;$ zqKL{#*Tc%cT+h4Ry<3u5)n4n=l+GIlw4ekhQ4aHkd`I1p7slYViq;l?Qxw6L|D^DR zmIKYa!yA%LEJ~5%7aeZPYP?RVw6Lut4YOHG%TiO?Wa(KuKC|C=e;Qvsb}q7a#S=*5 zZ@&0E#KoN*0Zz0PdiL7TLo`zDJJ~e^BY%2FS^~m=BCx#ImLH&^{k7A{p|xN!Nxi#^ zvYX@$NZYs#$t-khEUg9dqZGDjO7Xb}GLIlkH6HW%t<6RhuHi6QhZpLrz|~aA;uxcx zl)Z7s{YYW$Q5XsGf1D)dFemK#JvHq5eOK6WGugeE5KhzX$TriQkxhgaRs%ml=kJ$X zXTdMG$H8r#WcNM+R_B|8TQm!c-cFy>atF)th8P{GF^(i|8kfy2a-G|~oR~*Hbk8K3 zL%r@F*vU?yw^MH*ge>dM5Gj2iRW)@y>0=j|Hg!OdI8q1JnDJ^C z^HdZjFv<}`98)wYeUAycyfh?6Xe<6y{{y_%p1d-5bYxjW?6NLU{Ib4~$_sx)!$&-I zLs=O@e<#q6Oye_~wgI0P!~l?h&P-5xD@2&!ilz%&t5*xRB{H#aNmZLvh7u!RbOtpE zEJMi>d1pK7^;St&{K1kvTqH%8Cn0VKm+DNJrmBXaV6u*$X3!C89i)poccnKmujCJ2 z4eaf=2dJ}t#jxihs%UNkE40&_`tq*oN#+Y2f8G*%d6+BCKX394%xjnBiq#?T?}B$i z#nC6NmmAqF4Q&<%R|>Ohe;`*6IH^ZFwSuDAk}~{aVrY_kOS2n|x9!R=p)!&!z>G(g z202VA+Fm<6eY56p8e51STabjcDN2;}H80C7>0xVv81XMUWu!}-C)tk_v@8UEexX^3 ze`nvCrXVqhELv+TCA^C_{RxwO{g?e4?I>2LzyF~PQ0V_PZLs|Jn;IxMnM<(Lv}me- zKP`4t!pI>4)HwiYw`?R@Xqk|+SVn7MDN!^~}wf(NkcGG2?hy!YAH z+)UQb)7y9h5OXD2l1NJGk_3gp;fz2Le>m8f@;mf71lf|a7Bj=e{**u~a8`tqM&&`B zpY6Bs`Gu@&Nq+WGg_^C~oh^(VI`AD;THcM?Xn|_(Zl-&ix(baVR%+wAkHdB7-qCJE z?q-e&*?L4dMXD@R%-yqXU~H`e37S8vg9_W|QZ->Ovj=rfvynVMChKN$5pSgae{4BY zG=qdG!)rM&krAC&Nn36XQZ~r;cF(wXU_dSYnp{LC(bvn~YKp{xEXm$wMbIU4zk5#E z6H&3%J3z zX9&Jr_1l+r?>o++HZMnsz$1QX)Ix|GKLZ2cg2Ih3%|^cN+Yz;$igq?@im)rL2! zZHHR2*Lg=I!Bdu`%_XG1a*xisatAdcyTx8=q$f&SUi6|Yf^oz~T`FEPe`+@EER$19 z66>@q&1((I;wglKf z*Jz47taL^RpIEv8)N3|_e^D{<75;&qN{<(aU-*X-kPm-IdB!DiYLvo_Hd6xRh(O5Z z4$t8iojt$|gMH;#FEdB+yh&gOFn2|Jv*GYOQ&DS?fxS-D!cMadlffVM8Q~RQ{-kHN zZcM!A!|^RYAVa=m!g2OM_mtz4;M5u-8x;GJ;TRR;`}!A06tba`e}OP?5D;P5|K)j= z?Y}RmqmWwfw1=b8Zr(7)y{4dwu80VtDls-0iiWtqUTVM|I=i8>Ffe|H|IW@+NnCOM zw;h5Cw^t;pIvXfWl+LHeJD+^4kJDGZ-hWSZK+^AzP(BnFMj9ghayXqpNh$DRvKpKg zhJg&3NAAZ=qfWp3e?wr=R%La^N&>0TMrxdf`kMo@q3oG8*-OPVpFPkcBa8}WdX!b# zg;l0&JdM>y1$GU&luoO#p&HMdMS6cRY>!WbQDA!=xMHVDVAri~_q+S0@>!DWw&Y+n zt^)MY`aq>cNTYL}9Vo(`~ZsENhjOB;B(Oe^qV!X8CHRX<);tWuc2Y z=+XR2c(WnV-DeXIBYo~a-l0J*wZC=2e5wJKbyBEw$~H}gM;0y0-{~3;ZH+KOU0|O4GBjKm1l(Y2 zw$As%(f@d@R>D~dctxzy_6P{iProb*{ox^-bSVHWny*hiwiFm`GZ%uJjQ-M@hE~c# zE$ad=f)e;KuZgL2fI4i|rM~&Q61PILBBNC^TeZyJf8_UCjPX9}(?6`b_yz}SsqdAC zNnsTgqI#prQ<76|wCB$??|$VwCtd5qB>Zy~LrE2fu#}eQJ7!4dhG_Y?7p6l+ZiY`o zjF=4Ra9e!QFL{>^dFfK#$$@n-cgc-X^)0UNQR>U|N7WW%7KeAdGO4pUu<3O-xn+9w zohwW;e+G{(XkZNnyeAbw<^`1O4z)#3={*tc@yzq6Mp4Sv-mM;?Q|ftu>#>jN>EmGL zq{y1AlI$`mPJyTC^Tpr!>xX1`^5ou0`%{u49>h&@Lfjsc*zF&`1k1$B%Oy@Op|m>Z z503E#e-ui~C$isF%d^SXwFrG+)j9s5y2tDfe|@EKyNc_gafaeKMIZNU?O5ga^a(32 z(q2mYyg}1|Ua>#|Lu1@foz&gLDTl*o$f^drC) zjtSc|&?JyRJUo#AGbv35RKy}9Ek|-H`Gmn0^vof{|xghPaahAavRxf1L#1 z3Mkgzm8}O({Nc(ypZY!s@~jaGa@z^deDvenr4OpFn{Gb@t#}Qi9OYFoc|Bj^q`>s|sC z*qU{|J*e&G#l0Qy?&uO7{zM@&V5+br=)*&zHM$6+)h4;nW^XK1*NSB7{@K#4?)G_X zn60Ct-kFW=iRi1yM!r^*e?n@yT4^WDy;w*MBlE)Pu5KnnwWnV{S=fq{*C20ar$TZQ z;2(+IGNETn+D%ye^!lOz&=^oV9KK%auUWLWsO;gp~g27h}e`93Yspb0oyG1OZ z9D{TXT#TfsCY}ggb#g$RzNEEN$Ab#!l${?j<7eHzUf)_9#TFhkyrGN(+aSqiQo0ew z)Pt-I6QYgL$NMYF@Uv|kR6M!*s9>wi5{C5?#DvbtyM`9qy0lxOGI~BO^mH78or(eR za%)=>awZAvgu;=~f5^pl@dH>Ru+9>`g0S}@&AwJ;Ia*cx(QlSxX-q79Y%SeBL}+D? zTsa{5sEuFC2vt)2>%{u`nZ0`}WIAyoM`Yk60C2^GI)x1NOT<85yjrf`FRL$;DZ526 zBF5NMH@~G)ml+&4OO$y^7#Qy zF!o3-Oxx7IxTbQ86PlHzTJ`6w3DS1tc!;QQeAzf^(3Jb=I%4RyGfz;hUujOqB>a?3 zs(Sv7EPZDtl{%V~EQP4C6I~b^6P`_eK?8I`@e>ofC@Om+1vC|dpb&>SzA$ie6Xn#V zFzy9#$;Q#de}%6wPPnLP6xpDHwXj@p!z|WjCYQQZN2^%Q8Gv1<)Et0=RDG3)M8NbF z+?s6I;xYGT%45gjol?d2l` zT%k36dx`?iIB1nN*HlJ_uxZ;I$4!R}{xFKLeP2c*f4AM|v(@CJUOU%W(Rniy*qQLl z`Zdkecnk?B|udFj3^Q0j5+o-*Bz+9plFHzhl;e`=BM-*35U3N^F_L83~y<|ZIH$o{2 z!`dS?e_S@jcj#(1Sxs;b@8F6a@6k+yjlM)Jbdw9}g7$((TN@_tMT*r7ttI106d@rl z;=*0SGON2#8S!%S_YyB>^BA9tNEKw0SJPnlI+KO8%Sj{Kad`^Y2SavaweY$^B`_b| zHrWe=$lI7dspsOv^8C?a$rgI}G#h-~TGK(Te<^spGf0|3Aupz3$MbB!VsL-N-ssN} z1glC$=Eaa9MT;lQWjUFptQpQ2L0o?NNR-RDchhfutj)ZMq@!7Uh7< ze?0xblU)Zi>JDPjs8_M7t0kj?(xj><78H0>hUQ!qN z)o?|GH<=GatJGSoQb^Gs({(Wxb52SDey*q|6)q;#^_Acq&}cq!b-e++Th zGa&cKdx~>7*p-yAvegNKHY$&Bka~0X(HV5V)0=!kO0}LqZw-`%ecks4^u`ksrQidj z0}tAw3wuMKcS4_M;JalkH?d|PXB_H^w(C>wM89B+E(Q#YKFAavijvw zCz@UwLVcqC7P*-Ad2-JAXb$=he{qB;L3a*Cyb;0*jxmyb0s4%+wi`)8uPR!l-z;YoJB%Ep~4PmXlfRUrn4?%}~qa)Y<`lu{s|6TOhaK^lR4oPw@6 zQd$nv3b7DgNlxzB!>fK$4Y1gz0GiVc`*bo>IP9bZ@`#k6(z}~7ZG)b+fAy~R9i6U* zA{MvGAC6@iI+wK>*~S;czF2nKZN5vrGIhRx!}xEv-^P14-TfLqXh-S2;Y5^PHfeKK?pi~ZRP zyz#}dmlsLhbM+7nYTL($fA8JexrqzMDaUpC79ijFZUola$=SQKqZF^q7WMZ!Wu(5dg@$~m=KDS6#KK@A}F!o!~s4d z$+br1D>|!+TDw=ZwY7DrA;v~rdfLi48%azeKq;f1*U3((_%R&~e@fWm5K=NDHWeJw z6v;tN`&hIGaieZBSt4XC-NE4y?i!1hB$|!mh{C-WxA>jtNLsj37?Tf2m6njt5*g&< zwGy4fwQ{Xl*i`C=z=sgD5=k^kTxx+u{2%sqxu@xy5nf@*b%8~S5~wW4D=TSluJ-5X z@$6yaWeGFg$1~TXe-e+eI*}d-$m}9g@wDpCQNN|569o}v(&ZBRD70OjvDlWv?vrH~ zp9I9UTLT(+ziZ}&^cG2eX)3I)I(Er=Dw^s`Mpu>)-7gzG0}oq*`!ACW=%aG2oabR( zNM}jV$t7#jN;@rHa99-TevUq0-!}0BqRjAub9*S$be2m$e}&8<%t?+b4^{3GgIJAy zi6S?b#KtIb4K_5=Yt+iTpu&=cb7lpM8U~>&_uG3 zzV-_KAkmsr9?$HK#cNB45Tb2FR2o)ub5nBLklngDc3iu$_N zBK{oFv*|$?e~lJyH%N+qb(;2061$XeE`SRz6O6Lg3sNs;E#v=Am(i?0wOvt0C02t* z{E8~L+C@=ki@$oUFR&BISjF1HbnfJ3kCLa*(a6qJ;qo?MIIMRJUOz*ZOZ{_U^_6$1 zN4Rexq~S%VA!>gKHi)7z{O}ulwwH=~gx6m}TEy4HnV>S`_8#2eUYCGSnim8E_24lV{C&{4-S zO2yZ(e{!OP`Z{+ItX_k9#wyqU1@SoW8*~Vwo}Xf$|7mK#|9Q=u#N-DgV=rvt4w{moO1w3fB$g8$VUxIyhR`9?11NEJN<-(Qtn=T zq;Ra^kKMh@mC@pi4Sxit$EDcMuISZW!$3VNP8qN~+m(<;p0QOKxrSa)vi;FOn{{C$ zN71fUef!gy9}-(U#iOu{-bWISF;oTMXxPo?xVpwieKgJ3ZmXf~5#OLvQ%II#Bp--O ze+oqHyUYloT?EMc&C4ou8C2h^L^<(rA(&z3exXm~FnFik%LF^Aj=Ift>64o%f|raI zvHid@(*R{bFUA>HdyG;H(e2jib4EuolT*=2#gVR(!sL(CKqQ=V`EXgCQpnYRaIm1Z zB3b^vH4zjU`b%y*gvx|i2OR*qx96@Sf7G7n1!fy6(hl3I^w+${AO6{)<;kJ=`#S9# z|H+-wc6HNzVB5MrcTb?Fmylro@}Huhe;XA3w7Zfz^TnqoQ~VlZ&1YH|127Wor@?WyCqe=bsQ zehveY8jC~1D8L2_Ax0!_>Nl(i=Me)ji6`;^Q5DqEF3QJLd0*iZC!Mex;Hmh5Ydqx8 zh)7jPU^Cj*qSpLuUdYl?F`yT<9V?GA#O@(#RXfDDO}g7s_@ zyQ_f6VxFF;>qRKhh7-oSz(alKf6gBGs{~%+BsOXgRa^;(AIj`qP!dTI6Fb;mwOAw% zoXcIL;;PI;fm}65fi)>wpw$~Un0gV?LZ`3`H#!-djO1|M7t=#xewsG@xr6V%LNmql6?AAy5vTJ4P|Qf4eL$8EXGc zv1j{{SZxl` z$1%qy+{yKBbMgJP5bEP|Tt6CW$>7A2Rw>7_(9X>ghC7>Hsh?24zh-7LlrnO!5OIY= zoaulsT%+)qt#%)6P7DtrhYvJGOs7tFE`t!}?uf0j&ztihX)6HE*N zg^t8Aq0w|HqgpQFZzhpP(N0MQ*;$4 z?6L0ul&O_76--wV`qzsmeP2p8$9kn(c2^M&dWW;Hk(y(2B~9t=D|^k+?PDdb$j+8g zx14E%082o$zZi4Y`u!6IE`M^kpCXy8;~yX#N*>)1QTxh(8> zjEljSdgznhdB715UVn|8$K4C*(>ij0Cc7>fShY$L{*Y_5cSGzr)93GGTzSPG#X64) zz8_JYV`!4wC?YgLk12D~oU>`W2Bn8H($M$D5^EiDbe2ZvXLr+a}9q0_X zh!H*0W0`$5Wb=_M-=j2b{u`imM~!{ncMklB8GKAf&*>```hN;$h@3KH@q?MT)8MCa zzLZN+pVx61*o}mmq82g##U_?yxxRT9M}4W&Y*AB#qoKt7tGPFVpSk=xa4CL*YJ3e|dFQU1^{wJSfrF)+wQIkIeB1E_pdl=QWqTFmT;ymk(p*{c zQ%E{(0V8Puyk(3u#yM={{hkZm@c*@Glz41W@H>E{buE%Wf#4<{(|?0bC{ zpBD?Uqav{k93gm+YAH4Ld1Ndtp;C{xcdoc&=3vJ<+NGy?DqYzCK?SH9Xjoh#Xk7Y$ z4yS&F@o5C1RP)WXQMrHeRkvJ~B2HJB_464b#_D33=k~S9pUUYbb|=0B5DYFu96gPusi(${*TnU5@JcwEiI4$Vd)=7Y1x? z(tPz2%*;`($QY2h*Ox$Hv9F}B{$TT?$TNqLa(^-N4J9WiXK>L8E412Jy(xQE+xN)2 ziJNu7cF!EW&MEVJlCf3jg`wSzSDd7nF!VAB3>k_DJeW)^g03`I)tg4DG%-BPh(%(Y zm3NOz7k*Yh#RNQxOh^3@ou+EObtaTsxOv+g?2&17K<2U4(x-_7(A@lO-g71M1!?&i{O4M}cR(0OUA4=@$&~FZ* zI_UWr<#M+}NSAE1x#3OWgxsIm5;~vs*bSzSZ|S`s%rfX7N#7Ktkl9%J-}d=+l=os{6F@MDb2ml}i1OTA(-@C~DNAL~3pskUmshx|ArMZR6 ze?}O~+x^>8+0@S2-s#`ofReFvb}_a4zu~NkU2=mAD7>L8mXk##Ji+Oh6GCX|Tm_L* z62IU?QH`9Hs9haxC>^Ev1M>_`_kiChhFT^ekOu~RbG&Ce)W6?+yulrQ4Sz!PK>UHh zEg~0EFU6VZm>G^HJd2wtJqk4=gOD#qb9YUMe8??}r0N+m(UJ9})cw|lxzbUCAvew$ z^RZh^UX?DeC8DNoroe2qXL&C;P$eyYB^;MQtRrFflwG)Q%03<#3Gqs7ooK&|v8Gl< z)km#(k{R-uWStfD{OFnsD1WHHNnN4_V>7aN!vB)Ij;NTFi7wuJdjns21l50l0Eb!p zS&u2WBr!Uc7(Evl1F3_uq#iCZDaTzeRN z;$8!U#u={7JM-8S&GNyPGlQ?GfBu)G>7SGmAtz7(08^O%?z=qy&wsP}j{{NDbw*aj z@M~Qsvu*r>nuE7!kO*Nx4Ga%xMOmbWC=QUNXc2Wxq8V=;2V>7t60m=wFK3SRx{hI= zQuu6l=r+RmiB+Frh@Iu^A|YH9Gsj>`;`QEfo_XZE{lj;f{q>l)>j&-tl?UE{zY46O zW-bSqV=)NpdQ$PH6@Te>7;Za?2tXBJHRR$n03Q@lc%0~Is)r9zXQzir;206PjTraV zuJU}>b_5R;A}pCxB*cZwX%47CDM^K@!WWRdnvqh2)@-@c;YsDF;n`9saoGwO_{0z$T? zlumoP8?2UG8+-AjiL11r`$+07tFXE#ljagFFFi*znJcw<+O$q}{$@v4r|pnZ3^N&O zaO5)t3e0tD05dm6WD=V+ScI-p{c1G}nEiQ1VZz~DWgu{gT7;&g*<{IDYDLh{Fw zO=d^;{*cr#?0;f~iEBcO#xi46ibi)bIGN~AvSr3hbKt%NZM@C;K|OL7 z>UAnJXK%GY4(%z1nEXO>H1)F5Nd019Z=geC_Hxu@r)^}fxk^spI8?4T<_-z^SSJit z)0RxEW@}70M0mu5D9CDUa*;VZ+A}v^mceqR{5hqz9eFIu}Jn3?~4@W;0{Yu^-_XF;|%lhT4_oij( z`zc44Z4A4%w@FGEDBOMQHoP7dg8REQ#_=CQy%1ZEoYiZ?=;aT-mtBjqwnus2$=4!1 z>3@`oRHCF{*5w$P7Z+kq zfIRGG#ych$VisBHrA>&)VB7TuYSZGM9x!~T-yB<+i}_ar`0t4P_+w7*d&7RvixBh` zK#5*_qORy6M#bNIN7tfy^nKx<4P9KYy)DlD1K%UWG466Wsv>U!KB&Pq83?#8*njyY ztiCGi;ok3vLyrP}E^p_E!F+ZEa_%f$?lTNn=?H@-F+`Ar+Xp^$j7|CSQBozihaDEK zbVspL-)-BdfTI$h8P!PS2rG1albT}3Gf}NrsSQ#s6-?H2?|28}KVZx^zDM}5P8;?} z4KgQ(g#4cvN>tJ$6|`K*$QKD9{eNM1=yRYYb=EK^ccV>_tiSl{>6i%VRy;E(1S$sK zOgSf!jFxb#1u3Quf^pQ-ClxC)52wnZ(USHAy2>BqWdq!T)HZkpK%;0xomIf~)+Fpy zUOP_u=@fOJarBJ=vl_@+=Xax@K^uCvK&>Op0cVMzgsLT#$!^9Orgp;n9)I=!Syi@MlgwW&hg_%dm# zLL_5Hd_xnAWt5`}p1_Lk^O$KDdFu@PEha6vlAwIP+%ivM92c3ypw}%2GnUGjmsm!x zlXE36VkvVcrSiDVPk&IeBg?LAT-KMa*8}aQ#nPsps`tg3GC&un%UmXzvMu^qncvGH zY(?6hG&2+k?Aym%Abblb5e0Z%4^v1kpgUOPM{$iq{kjPa8;JKWDnbx>)!~d@wPql@ z3`)FfTtFKwI}OYhh?i0MdSpK~(RSI5q0Doz_1vRPMC3vtjddRTA+Cc9C@oV5e;Exsw*t!E&RC@~#=pw3}l{>f{)%)Dg*ZW_g z@b?L!al;Rge9L#3eCl&A1RC~)wi~GK`g_u_`uo+Pb)r-KvYo~I*oxVXjyohLzu<2cvZhO%eU)|Ca#ff5ui`gSU#eJmwS>oJ|J3LR?Ik6>qD zinfZ)4SyM!2jhl=6?)>XTlHq!oN#y-;4bR)+YDql8&Gx{YCRb**jT$g)2RCL*}1GJ z`H7 z1C!*tw(kp+wKWKN=L|lP=5i-yi#tZA7_e zSF`DpbKK{Ge#qP+G5mxD!in4zmbQ`$-O#b3);e|^@w?{Y&|r-CLnT7YD{XuioTW2E;x0%~|w2qV^=z5xe|Eq<;}>iV})MuTJdY{k@|sqJpE=(C^V52?omX zB2n%gj#el{yPTpNS{CN}oeZ|iPd{i{h^xmaI=IB#Vv}gl*Y_a7((|85tlc71B_;yo znKB68w?<96dG3t^C_P0zQdV>+l%+h7w_e7EwDLb?f$Jg(QRS;>0t$&nkl>kvm48Z= zlZh4qnm9-(uKyGaq=B6uQO(vNzIDQo=`_}Iz!Au~M{dP15XNoAIG&c|-Ahq3o66l# zKG!!a4Z3+I^@h>=X&Zs8ceE(AFe(zrK43(fgqoAdpVnhPs`_pzFOO<@1o;vPdUaAX zrT<1UZNh<=)_98gNz)(ATKfb4&wtf|gzar@?d|?+Ua6Y(-)e!t z3xxd(Aub(60s=BV8SBwOIlHM;zNR(#8AJUR6Vuf9rg?Q3-Wy-115uw zImhoN?&3*D69bCPM_5Y5~g~ovUC!BlJ`wMUGyj+VV_PY`8NtJ-YRmEUfmM7+-I4n!Tz| z*?~8x?Q00}CpeVWA#xTJ5p=C7^_e8(sGl00&E`&LL(Zuj&2grf-{M`c4;(wOpIkD^ zmUM<4p(bi*7A>|Mn#%705z$Y<`Ibm=}vYZ}cTB7G^k_K?6!o3THfM%slO+SODT zv1Kr$4?2dVva9#Dqh;i)mHcfy4TS=%*78ubY_7#=s#`1%rVmP~s3H+GoMO_fFfA@7 z*K7L;GSeGs)ia5p)5BI4u})P(Id&)UjJ%s}t-;5qC_45tN{KcVD1T?l?(67oq#dL< zlQqS#qhlL*lvZ}@@|(TnG81e%uPFy4=%N+r>~KQNIjD&pi5sjhF(!Hwohq!?h4eaM zt+mni>E4z_7%G9F>iJ2xT;stuWryUkW*Cd(Gs}QYxr$SWq#afeWn%nF$Q*7j$;l#} zlo&Q>0i(Q|#iPG9<9}GONDkw7khM*mpO%>H)|szO2`A^g3mMHw0C86tiVwlNmF|mT z^M2>pMqe^8$|aMz8t_v8I^d#VxN12WR$y?6{orzoS4~(XtgkYL_XPEYr79>2AXKX` zT%fXWS5&!gf`f;-C@L?4VO!1lVPs4`Pak-^-WG7sd}i%Jv44<^n|~Y1AbYkMCwDO< z4V`sWaEKuMp$-eoB0pfeQCn`zNxXyCI5&8x9xgi7Izbh&)7qv`yby!4`op`M#&{B z=iu^(T7N93%=MQf4brvaZ^~Z~*T8QO_>Vp?yy?TZL~)KkbT^=khlGdnR=y_XZ^<(J z#%8Rgb!*az=X=~kV|Dbr85SjUX_9wPeP5%IF5rIh8TOIuW%A`r5`Q}cRWL_rZU4I4 z|Dstb8s0uQs;J*&U0LIDWOV}zcKFE)ky-IBlG?;}PzxlmHnJO;#WA)ZT;IhJDH`Bq)bZht3`YUqI)1%J&F)Xbz*G%ph@_?!p6k z1O4Onc7y0CJy7B(-l`x=zC-B!%rv$ze+7~)$VA0 zv{`l$7k!~}`UWoGroXr&2kK1tsEgIfn~L-Cz)buzYRn#muYD+ z7-@NX7WQjsXPrR0XlZwhMUeWRtR_^%OrR-*^-BYo5wzKpHncyHf^k#x<8XD&q zAR7K4IiyI+UzX8A?3qV!Ej4Mjqd^l=MLU0$OlR#3LY0A+zA`8=&3{OZ)Y1|ED+qkK z>i0l?0s-Z3gs~MKi2MgDr6AS89mp1N1@q16+f;f;LV9S^OgQHGrNhkzAB?(;f+kUT z4WRerRC@jLs@cD*sQf~Wnfz)G&^=@arYNbxBlQo|huR~P-dMlN4p97v58J5x!d6Lj z91YWz@4Y_-hw<-2BY*k#XPLeW4`jQCG0N8h!BDkDkx^you}nTyhj$&cL~;Dp@8R!{ z>LZznAkbwK5vaa7rLf`{AfV+MKEP_Kyy@Hn7jip~K3wR0VQn3J|RtpT!-~LbwNJu8HK6Nq7{gn!*0g%i%cgD^r>I?j-L$Ygo|Th1VvH^>j# z85HXJL_qzpCa^t*jpV{rlw&liRkg%wCrs9b7 z1}~@FJP{n#KADK+R-znb`t)hLH0~020_pe4?;KIDxs($e)jW9X_I{#3ZG7SNr6mKI zU&+O>znd`P{&El6)z%UV3E?4y6CyEXU}l`B=cGdO)AXlrePc(m%Fh4dE=zxTJT&|J@yb zp&nAF6I-X{z_@AUWdNxUkY>bo*c`4`LC}(k*PW?npZ}`1=#PEQ4@_MT?79}>#S@dl zF@N+rUDTed9*ccPHQ)g)8@ubiP(;74$XHn>qNag&LES+V=Ou55$|n+K z_Lw+7l#s=SBg`z0r{$EqfsHX}g)@W|YhvYrX3a^pcPr_W-gUQ7Y1dpB^R^xWS3T&3 zvd}qfF)AJ&2n$zQ+{98ZF(M`@78V^>+JBcgbRNTGm+06OEql5rB5aP;R;#AP5tQs+ zY-Z^y3YDgpG4Q!e+#W5bkKpuY`{t{?Tk2tP5_(foKY74g2(Ql^LLGteYDapgJq)3o z5<%B9W>uZxY!W|u+aCax+ZrX$eU9ARJcMsp-2*^CPdS3Cc?s} z@aDK$e+2J)lZxmqP&{=sW7bftw(+(gQUA&+Zv-(Jk za%qgh4v-^J2N_^-Y_(`f?#fsWHdKtan<&)RIFke;(u2(@Ya^( zmgQfzxU>;m^{|hS^fkfi+;&GZSP6fuZnE3d?&(OS(HcNiN0-%e$k*HPgZ!Z zeBqam!@EN8j1N2i`t0?z3hOx0Ur(n%0sz4MKk#+RE`~0y&O(Mx|L}JI(T-|C`{dtj29x0@=Bes8(avmk8stzP5uFv=q*jJl_LXMa+aul5AXuySS66-fQI zqzu$Q2nKy}oV4Q!%l_$s4FCDj%pwB2yL)&r?V~)2K54Lq$@=M@t#@luRKIqg4zXITVC%%Di~?C&ylpR&Db2cH<(U)$}haIpPRF zULH%1U`Vo8HfAHT%ygWTOYrn;+WGkY=JLU44Bezd@Mw)bKZ0mne{q)bFz}~zN^9@M z3=HN&8Evk>`TGyzQas$8CE}vzu<5z-gmQd%d?w`ke1E(MjE0Z#V9eOnSJI~;6Q3}= z%^*|aBz8Lzt-^ha=!)t_;kaNUMP`*cd6^}4aO9KZ42}&9gx2oP9uuuZ+~{%CW;!a# zemJa;0zKoQaLfdP^qMn{a{2RT!+i#`=%raMyW}WyNe>qy(&Ljh;jPr195Nk^-gpry zk~F+rjDJPLfI%}76keF##X03t$96vj+rvyB3R;hHFC@c~#Er;2_u@nFVJPVzPYs z59|Q#2*^z}m?YTVfVzvC0u9=pQn7{HN=+j*B|4oW)vxty4m)Op9J<8$__m{;kr}5E zU|ppGTMr&MIz58#xHz@&5X~`OxC!WH|K!}HX)>O{SgY3|62bM&NQ{RI6B-N9VsN#r z^t!atqA5}_$3nYEGE)eqSGE@%qJK~Nkos-=?zat6q26a-Wr5i0JS~>~^dMfZ*dZ{= zqXPnBULj)4>TP=P$_h;L^9yKaSEzQU_U1=ClX(p<4C88#aGogPJc1=LR-92j`nfk& z-1x##P{m@#LQ^w}$}JXhvGY{?h#}r8$ADrCpBTP4rGLh6J}lqB zn+!p7mQwlXjDC-v>v_>fj5!aXwXRfStWnN_dlEyo;V{+@%CDpmafZVpCY+>wUY{JX zvNL8ZUg24*r{t;Jq;+8?Zv@~z^}X6t?DR@oD_5bK+Qn=ZbhYe}(RW`N>dlvzS2p-I zca~e6n@jtf-9`59q7L`=mVXZSR|oRyg8LXBWTog4_D5PZM{8+QLC7-Bh>5{At53g= z#u5BIWQfoy$Jbv$5^-3&BW=XGmY;&Xz#-hyULqDHIZ*5pLQn#i+UhZ9ckl6Gw@YV= z-|-{(CvgEkGp)aSdC`6%&oPBSv^u+3dZX+Y-imzMM(_{gtUn=p#eWZzo`8rXNgMZX zdiQ0qb|>?e-jo}4^IO$jUu!n{&O4_e5=tT^9o>T$${mY)#pOw&HAD{oy!pl8=cBWH zv*bN6*xYM+p*5s23A5;#mjvc&xD14o%1~~@i7e1eYh)n07|nM&u2sYFyTw*VogFR| z-Q-~b5EtK{zCB|3|9_IV{uK37ICzuB;vXWGLGKOn6WH6gHpe*e)X2W0KH$_xmG>8U za#jl!e`jpB)zLI~3&6w1Yf4I{4o-x-^ste_^V2yb$y@Zu>;qFagIr6#IYC!58CW495k7@04CJeEui_-I_WKv_Do2y ztds~j*dBlCkzt4GSbBS0{{%9%ZMp!n63~jM$%n~BGIa$oCx>zV3G>>Zv6l~-eW7uA zoi%2~CO_X<-%UF>xseVT)QW_50RX>)mD zf1^O(bAJ!HjIv@nZ!i)5Se35P#X7gTIL{Nj-ku8)8=-Hjlm675#YI~@LQ~Sn?3$mC9u|6_<*6v!Apl*W)*7{x{7!a@0 z8^3+WZYG_3OL0H$`w+NZ01h8>z=72G*z4gO#eYMoRqY;3-(ojn)NrKNyyJ|A_ONCR znT7l{@3N5eFmKI|4&W$=)^VR%E*~WD5!nV>&jB6mU~n*wlZAW-ok`oJNP^rZg-^IG z8|OI$@tQFTQ^f{$2IRD;_DtQw)R}7ZHqtOr0P@Z_+68uKc(rsGoEIuaqFd0HBuQY=|=istJGXBoeF@d{yl(30&(Fz3W zO6ahv09m8jR@=yM?$s&y1>^#Wt8R0m#McvN2ZGPO-dvND)j-^A-(cAX>Vw|9T5RFI ztks-!w0*%N-4Q}sW+7U!SVu~UpBG3%OMm5>N}pFcK!Tc6N(D&CCt5{|kWD)N!-5Ju zWb}vXlqDq`MUGSy_n0!|cmYhpkx_MyG~S$8b&;$ynQhU{DnF+=ddA%k*LMBK`5Bz3J_O=W@KuhdFkhCL6t~@83f1w1gb6U7fKe!2g0k@S-uYbXH zo^=&&E`(H7y~f`%G1b;Jl`F4oOAE1eDfCx`)YUmlie}Tpg{4+*f=)SNi-AoDcgwt$ zRhesiODa(Ov(yIQ40nZb=#Z{uMAwPt^+@_!WWvSkLh?PJ<1Mbj#Wfg{8Ty^~_1T5hS)=8Gq* zpKNp=6|oiSJHt!R5}uX}a5D~>hO9T?4FZkDI2I)gFkT?ce6z?q z!=>a0N;^2d3;uSU%(`9HL$DP1Cz*oN`LAYCu>cB)$wm#3gl0cGJ`SL(qGlA&Aa@rtKw`R zd|$jKo+}@~A35-|sJ&CcJLB^`y8I{`)&mA<`FT-Qhi8&yeLcU#=6_?+s&P zdHETA{|+2laTt?yZ9%-~*Wa{qN`%|cCwvi8ZupJQz+*OL3v`MS$4{gw4FZ(YR?{$Q zzDIAss`Zz!TW3l7l^UP-ju3P#fdst;i~jd4x`8gujFMR-xP;4gb`HyL*gEp_sf44N zoz3=Rl*Wm4n-_Gh>VJm*m+`=j9@08xgDOZP=a`Z8+_31qk!)eg&&Mu0;kF4JqjXt3+tF4Ou=+w3*HzS za(gU5%%R?FLacEBo3K3e_4vvY@TICq&8i1Np&mGG8khn$HhDi}< z(s;!{FLTWw?^tH?@zB6-yiX*48s8%6pkuty5DI=yYYM^pv)u~)%9hs60o@wHVXT?l zU!LE%l2+#fZK%67Gg>O4tx9FlE!8s07u5-M*l1()j%n?&?Ck|k8OK{5zCqZdq&Flj z>VQ_{a9rjaLVrx>1U7~p8*m(m^X!CQ%wr6*Lgcf8b+bk4?`WzEZHj980)Ag`tn*P6 zbpC?dPriFUq;_wBOn2~#O!`urVnMzdOWKYyop(s0#5+Iz7Ie%(r%zL{~eZCiB&EV#iY5eiU z)VC$7=9X=|wD<16mAht?+!MVLU6v&uIEJHU6)Kk-krpS%ApFAuKN=5)V#>OVyNYv8 z7hL>;bl-)2vii^wo4Y1V1FNsvdz*-P$|?r-_Q}>F;U)~DGpJS>(%EMKYQk1!hw9+N3<;q1)IpSK!E3z^9K6M#dbUQdHMTNir zn$OnHxDoqSt@oO5--LwL#(@E2QGb{3kJ3h=x=a?1$)!~l|GC2_O;hrX`D`n$1vB=Z9FqRY1o7o%pTQG3B>_xwNJYv-;gvFv*__Cjm? z1n{4T-F+b=r`<|2Ny9l-cM{Wfsx^9m&%e|9;8kft%Dx3CPk_q5!qOwk*nSTVE6Y<% zTz`SB|24ywMcP8QEm^YvfI88`nrP}k+8USrhL|24GUl5}!oLrNy(UHN` z5mLWL!a8bfUaPsw=@aVO3#c>%zPQ7`6Mw zRs1@xk9=iw+}fo2x;3+6Phu&8r7a$m96t}H4hi!Iv$C32@CGYs;vSZYPx4#I-7|4Y zsjc}%lFOqhNj~rAK6@qgo@Jj^Wy0E$S6>AEktng!#Ud1G4%GHf|<)_*{4 zk$T+x`m&uv{kzcck4PH}=o?*#E&Ti7x1&Fa%|`rYK#n452HNGKwH4l?*N19ZfRGq*6{+8=_zA-j$_We0to?gZn4n&wmJ2g85R~ zH8Q{MWO(0XWH3K|ji%KB;0;V0A+Fk(IBbhSvZpqL*g|uo*=bQQn;hguPJqLN z33uYTkqXZ!YvIL!;d1iq=YIqcUFuPI%$*3Eep)ivo-uRK!`SieDUyu)Iyu4}gEwPQ zFFgxH@Cg?jIBw&HR&q;nl#P$TVEbblYgi8JJYj!6Cl_u*i3=0vQ6Hk1Q{Uu0FqVPx zFA_lzmwbgrdmF9};DWm=I@SkQ18-_{tu;B!_WP=w{XWqk7T!^D1%FOjzsiu;zbTK4@krrb|W>#gywss~o5lQ4BP_$!v&Xeqm?9Gw3aE3V2 zPd+<~`{B1D5|e-LNjJ1TajBPW;|9(INu9+mnJdxH-yLBR#ci}YB2T#30k6Lhr|FhH zsaCLN`bAu=q@8|pTz?Nnk}61CV2q2cT&=#8r8#`zT`w=;D{N=wE0)<0P=>Updhsg_ z#7X8ic^@i8E;_{l5*@Mu;kXf~RU~AStWE)+Y~8Zz(Kyxo7!g@sh<1C<_yVz-5Np!c zzogE>IusfG|3QxFKarcXLuN$bwOf#3&SA5JmV~TB11hF;p??|zLnSJJASrH6fPg}Z z3pv!N$cl(zN=n|{Q;rwlL8H;UQw+ZxFAo693QZX4ecgE7GXAr+>+kapwFmb}bK=-9 z3Wlzm>|lwQ*067|*pCWs8Y<&bKJY*{s3)BM>qpFS5!-S5F;2COoY?;_b0|=Mnfov% zjr&65gcm7}-hWB^2XlD+TgqCZ|6mR*yXG%*cAbfYs|s3p(SMoqncxN#Rl^p$%byOL z_>g3+7T;8Yul1MZe$$hm<4jkK=o4G*J?+4E+l+GvTr!I}+a&fho zPY$K+Z+`%_uka4{`)pDxTe3Tt$tASJZXC6MwMGjPmue&0elN+M9M$Sx@IS#z>_kBvW#Y}vCd0n=Pg`uJes6f8KXze z4ydb4nqEUv3`dbmZ)^eJ`Jl#!pskWL?R9Do*>bfWn zwwS98#|E4Iu|Y(_R2LQX9={zlkj?h`6t`T&b=<#{m(M50@Iic0LjtX7!@f1fmHQ-T zjDHa+i!PPov{1N6(!->x$_ErEr++nV8cC?hiZhv5Nlg~b=hKGKdvfQGc}+v$HNPon z`eVsxeZcH6M`^=)U`RRP=i~|B9~iAxspMev#h5Z9?~1bP)~

A>*pJMnF@@I8CP3U!H^svDP&FnKQ$YuH*sZVL?-QO zphFi5B^d`sIyMvj$#|+d+w2Ht3lsPjjfnjo{t=HEe(N?T8mwn?=2|P<%mI=GntwE_ zQ94_opSv~6D8$o5eK?fxyam>HCq~;Dc2+BI$@ooOt(28@VpRBL500eMy7wTvh>c|lg9g+dvya9*xJ$;>wPBE`|^@6F< z1l7U>F=@6Rc1xz@9FaOdTj~eopMQxPiPR%o`@6CN1OU+ZUlAv7_s^UEJO-AdFexX* zh`@{5oFPc3Z{S)|sR(I6%+IwD380$IF404In--~<=T0a}h~!5Fdstr0QPZG~d4E5XMA+{T zpPu^WKK;v_)OMuwjCw`zDq&S?{fZvnDvF92?>0)N=|#2c^!)Fa_Kc6+{)m`}bOMG? z{$=kO-ch+x3B~+8bVa(jT)I`0x5&{Xb}A5%nfQ|Blh=G$1~co&~P*%u>?O049RsQ4;UI7@JnUCGj#HskGC}SH}MzpGF=lKrtEo4$eVYO_8+1mcV zJ}>_C%k%S|&Rm7k(8vZo4ECIEdEdO|uJW3v!hb)Wa09#?=&P;)Q-6yHM}l*UShFd^ z!6Osmh<8F^w#%4SF+@=Aq^mIulFQ#sxT9_jPSG&GQnklr{K@bPsJLZ(CQycFbXDqq z&G1amz-Mrk>L(^-Idp-blB4!u36|v;oPtN?K^s8JR=o3o&~^+Ro(*+?lfQdOs=6co zOkXeac#}lU9bqP1I)5k={Gb?f4+vM%C>T)$0niG?S zxmq979I#=&h||<8GcpFT6y5&f5NZ-e>uj@yY7t}Y#&n%NewLhp!@Om&)eK9EyK0tQ zy-BHHE2l@=*Q?P>UlM~ERLVF!aI-uxJv;zB(tJ6o)V9Y4hXJ}c=X^E0t-B4}Fo8_3ZbVpK8h^G7Q0=Ns$({s7$cOEGrRXeUaLc-t;FK6jN`EhhC?-APAT91h@u_LC z!$*M-oy}lHlfHx;bqg4^d-Dw7EWtrsZ&$t(xl`NUFS_hk<O`aj%DPrnOarZB~CM4de{kwJq3)?#zc29@}=Ew182NbY~b#WnnjDyS}QdH zx&6KK?#~-giWBGlj0TuJWH{e1f-F9Y$7Y@>re&1Zp?|<9PDk1Vy=4AXhtNRF7>kbv z3mHDNm4emgBu0NtFOp*P7myW{sicA_aQRnM+oiN2#Bg7z2?!R?y9h^GO6us>oj-P@ zJxqr)D%nvmqlDKQXnhEd=opvTnw%qPFC>&jZ zZOiN5>whZAjh0F@$qtQ{+Z+~+w6alvZd*07R#Zmqs>9c3r~BoRb%%1O{G;?JpGw1Z z4to7{s-I}WRDNO5P=0j>W@dW*q7$E{7yOgg>W%=yDoWDJzB{)nj?mDoDdn%-U!thG zKGx{MZp_QmOKER9myM{oAzms^4;gw_=o&o~)PJfv163-?wfsn3YwmRw>4TTl1M5A7 zi{2_enBb`01qZS^YWHY6YIm`b{0FwEw+Fna{sZ1n-_-|oS23^aXB+VHy&tz_bUrQ@ zPowfPzCQcek$wBORNwuvHD6~-$oRdk{)X}fKd#i`(|r^&;EP%laR~xHWj|09Kaj+! z_J4r1`!A-M0+Xte`>Rmi$w(2ufQl^1TWm<}8ipOilUhh`(C@>W`lF2?~}9EV9yF+Cf<&wo+Ak(=tz7ygFbAC7E6m6ROY{_zJd{yegw zTxKp`ReDryHd&B986j0kP=Bp%cURoua;w8f{sqRIq*1A#Ahy(S(Y;Ol`Mzl!V?rs- zo(kc?R3qzYOY0G0!{SOmOYs+qowC<@V`K(VQMGeFV&X0cO?heHZ|z9u%Wy3pL4O+^ zY4Yep&A}De^T1M4Mse|uWBQ8B-zPtq>NchNT;Av8TBsB44G5|uJ;F0f_(xmEb?$$d zRsA?$KX_cZIF(b9C4j>2P_h1mUlu+yWl|I4IwPQ$Y}vAe9$mPp7=ZUmsT7fiaKHg4 z8mWBv<-<9I#VyA;QI?2s4e?Aw_J6xA7Vtv@8xz~M zZQJG>Pi!YMv2EM7Z6^~6I@bPkGdnD;~lc2j)g3dcSl>xmGvE7*DAmngm+O{<>1RP3edd`P=Mj4~_IiU^{bH z@9WjfPvbDgce&@5ry4&L33F7Fm=o}Jof2cdKnn*sYDd>!6QS;ssAZNwStW@(Q!B0m4^c~C)14YR*EjLlfsfu0F;n6BEl zxwI9XVg2O|cWVc?GAya zI68R&P>fNL$T>el;C$WCo}HG9*?=mgEURG}C5RmHTF`Xx?M=f5=HN+eze4Ufh`BPs zq-vI<5fk+D;u9+q-@Dsl;!?-}lv3eM8L$osI*OMe6WY0_&RcV1w~@K%M={2CZYZQW zBIE_CP%SDFtv*5uF(JD^Zg^MsLiYKeKg3$03aKQF)sRv7Wk6D>=NspoY+&~8RKD93 zcT69(Mxsd0PHowj*hQ>wf$KZD69Jabiaq@nEHVNIx>M91|NLJZJ}eL|==y!j=Dk?3 zdtz-HYQ{so?INIm_tprFFRd?+i1+U-%pCU`7&Mh#eKr4u-mUfpcH}gRU`S9{eb@cn z!4!Zq8re59qn*d~5^!a^S^G75U3IfJ`)}MR=DAkb+0XGHez6uO8su)0u-DJbVin8Lp_7y9Hw2T2?j#5-k}i8Kd!#A9Pfa3;bpr9US3uPTJk= zgQGL~=*Ii)ef!?&(gJj= zx(mXHjvTa$si-%K@3Yr~m59nO9*=mqG=a1QO(UF@BW-+4MGR?jyHa%Vxb@$$bPuz| z+dw+CR-dadDQ}7}BA3tRr_u4MdL|QN~u2%TP|=&}Yf95gr_@ zWm&IPG?l_w@CS8=f_Trj1;~p@W^LqDb>Fx7Eq4@@cBY>esb3lJ`@S~{(VjkW{9PR3 zq93mSdB<2iAYOdl*BCqpEfF_$8$~?98_x_iZB#?9DW(&f*Da;!iFjZD3#Xh*EHxzW z?hhS@VD@Z2Acm2YDXFC7#>)9X5ue7(IvE4Hf+5G`{*sX6Fj_5HM_=wK=wcQ&>QZ0S z&dUG!1?-aB^$QRbD1fTdEu%$bFp>7ox$+FnKRhRqZ^PiM`Eiphrs&+Y3~4$6aTrvt zx-V@kNhO`lA+0sXh^t0eK0`owmO+7VY?8Ki!rrC9i^aitfEe2S1LpG%qoR%@i5@9A zt4g*5i+Y=Y^aoqMxpcw{u}bwc0;xX4*>^ka4KNDZ6ql3zr&x{lb`-0pv1SexyWK$8 z00SCcK>YHIDM|HCcf4xbRKgH$dT!s=1s^<9u!Yz*5ArAlh3eCrV6#7jn*MkL$BlxM zrzclGOn*qH@7&%E^42zgTW4n{xM%C0gYZ4;bI3Q{ zh(d7$>+AQD|55Hn%frz8c*9420l&hIPw#vDa~X8ryBR}6FP(pHDsY-=!?>`z_oPy| z?57lu&V%$AHk_COJwk6Y&6S9IQMTY&#$>+sC=EaL)7*-mHQh*m_^lqqOHp=bkqUTj z^y25udoxmSy?+PYq98ywJEldrH%e%e09GrCGvx=kRA+1S(3%;5o`*O7s^( zhESm~vz2qrz>kfqQwzu-6Vy48n*&w;-;RZ?TJw13PW{79Tn&c9P#DpYx`&nrMMM6& zvpgP)G+W^j*(nQtcL}x{Gq8otCosUpk%~yKI{J+GgU{hBxmHhN@P;~DRhi+Uc6n&6 z&w$XL<(!m^I0F5kw&_?P_C0^(wHuwV#@rCp!wn9_Ta61%F4QyKM#mlh?+WL98nM1!&g zSZTis49gWBd9=;FGU?I~?lps+bdu3;o=|a_5XHuAH_vIQBXr7Ym%!moT|>UB@Gsbr z+KrXzzw~xmJv;N%l6{4{n-D#J);g-I$U@oFcn~mpD`)crxEq0gtU2Om-s>8<0Q_VL`S$^WpHLDN`Xi3-!D#3E^QTW4 zUb`f5a_(S4AG>GlB{vH_roswCj-!4HL=hHfG$n*h3N>+)7-iTU#0$}`@ODU}*PMwF zl-#1C<^*V0YN>OBh-wGqy55GVK61*e)CW-#_UrXBE^)*6p_JO%vjIRDz6k5*EA&fg z*-x^oUy_0~P!9DUzbtyvZET(n`OW{Fg<>#8ES^3a7~$jcJIXK#u=x8Y(9P{jO>EfS z@!;nKqAnG7!KdUN1-suo$QnMus0CFFedoCON4X5KjY)p( zU!*2U&KhW!tFp7cqjfrJo&MpDAj>iT`-V)XdEB2CxuK=N`X6 ziE$i)626oKuR+u2>9rd(ql~x+F3BNeZS6Uz1fMLbUxkgx&Zii&;8w$t(I?O`m2#DF zY&?b4>(EiG&w{Z!hGkmnpsM0G!&r8Htc=o-ga9>rEwfyZPS^?jNqqljhsAT6XV(7{ zFLCIh)XUlmp~|0dwPwe8crw#We84=IgTh#(O^Sa+DOjPX&sI*oeN5NV@I)IK?dKeJ zqvXpjo#(ap#x@8FbXnF>?UU~d>+zT7o>GX1N=73vuB;GRR+36Q7>pT?{Xsk!G)(Ds zKn(T{>?iDjaqkbHMeGO>2_e$;x><6P(!g*%_(M%D73{iB&d7}sXC}B*@v_#?RAmWB z)pE>Lx;6vlIP>$1g7-jZr+8s_>=u>ovxdGR?(>4@hT~>Y^Q%KTTA-Eb!~RxOP{dYR z2PeW=(~Nu9eB_pxh=Tr%*VabR3lH*P&ukE%$miPiP=FmU&8H09>!O-2OOST&V^06H zl3x+h3%ll)Vdqu2~>g ztdMeI->CG2r2wKv&-9~Uh76Wgb<1|ZpwExX(sgZ z8X&8vH&_S#*PgNd?26@)T)ix}6WPYcX_L$PK$*pbd}$z%yL=P>0;%Df)JCj~1uK_F zR0;tE{f%r6*=8AV>A@gLCP$wB+XW5 zBL|!7?m*_KDg&mcd2yiJ%7tA4qY#wAKA9G1kueP40HaE>s?J2dYoF(;qBaV~7~A*DZp^hf3Zkl7zl0{|io0D078j55G7Tgo*V8!8sPjN zKv9CE%e&a^{XtoQ26r)D?86)Pi(rLEIHD zcjtg25=sreyuEjV8hK);Cr7qI#Uy=2p-pwVbQm7`Y1d1X452#H+F6o1yS*n~Y#qL` z)a|Wy8b`Dz2CmX|g9;?=N=~*k-q97DYhVctk<)A5NL-yKDTq-4Df9gwC=vU(y~xK{1Xh^|Siu=D;~MU!@hotRRvqB~I6SBcm;pwrQ$mJ^F} zOYwBOEpnlb$!&NelG{XfoIz!fzW=wf1GD60QQkyPl(syZGRoK=Ka(3MnvJOcDiu(u zN_b?m97jkTxk*E3h-pgwBU`N)qOU3|0s_CgSp&>Sona^~3jqX^o+J0BD_H2X7$KB9 z|BA?ejN#}ZSjwrDdpj${p?svZu!z9}w}b5NUPlZ+2~UY=4^PvSK!zca+)1V0&9jy& z4r4jh=5lRHeMJM$%`*xJa=S`-!w7{5 zF71ec%q}Ye#Ez)S6WOtBMC5iFe@fM2R92!^i-*J1jXPdO=$0=>ZSSwajrVVegmK}N zmrt}qZ!p?~9IHJca+T(41vdM4_D->@PChnA=FthUsGp?eiFyE^i;Uu^5@Kl!J zlV)Vgc1sRY4!c*QZ!Gz(YH#M^hD@M)@%iRfH02=ZhIODE)Kj1KTNOTMqA5cekH6@1 z83$_g8nQ;QbyVzt9k`71$EH2L~y-{LBbnIgXdCIH{kd@ zMr@XB)%|D_?PN&HoCSIE zSko+8$1Zb*8pm-?Y?l67#PYH}HzSU2_{p%wB40HcX#Zr^VhXT9%@zqXju20GKy_pg z%Y?>)yI>utazt~RTTU8VI&1BcXw-A>MEG}6t@MNCVE>opk0|B5qO@KE2+N8L+isz* zRR>=)H4JmM+TDMi!0LY<7*wj7@CU(MOIE=lv2yrm9X5FS8c*2wGE}H^tZ&2$JB3J^ zIB)>*{EX9m>E*k^Akvy9GQlBlNkWT>?G1;CeS#5zlB$yYv5jfpjNxr14Mc?)j2O*yeOu_&)`vSlQ~K-TPuIa4>=a6gFV#^-1P{YbaAe=4 zx+#@y1*zsw$G1iAq6-JM1hs)%b_PEFnJWS=W|iQ5ShM8 zSfY&|Yvj5fwv=}zsA7HAII65@b9;zI8nIg~P&*XiWQkzPu%oT#QMgx}Azlw9Iaesa zDhe=(*kHER7Ry}@!$s{jtV%;0+}ZYRhB}lYp0-oh*yU3jgBwqF@cM7DBLv zjBJzwL{StSa1Pu@!lKVD?Y3!LMvIp~X77BDAX3`!ot&w%CR)vhvlx2MQg4DC@L#%ZVM19okhDgnjYHWw!D@b6yCsi8+ntn>XT0>&)c4L(_jT{ zvW5r9ns5`By=qRZg-nC`*Vu5*Ima<~WEOF#zXi=IqbJs@3{Vjj{?VYzp@aV?@bYEs1b7oMA_rpo4k*Yda&jc;}@#% z#d-Z4C)YIQxMPh~Jr{Yh*|0+@VZKRkt5{yZ!y->H@8J6_RJZ@ez*kNH)GtFA$_lE;KJ@KWpRiGzNBJc?*P<3yzmS1>iG1iMic8_+LGCl&=@a(80?-#RkQ(E@<{Znw zL~m*`cD5CIy0%ZqIA z&cAq~bW7`u9DFnqF9;Ac9g%kO-BxDQ6nHT4p~bj6Bb!=4ts!U#Sp!ZW17cY!OOjI; z#*Sztz0Q`kmG9ocw&SvU#%Kf4N9Nv6hmI8r84xblB+pTYu)D3NF6EKGuF4 z15=5Q0wMM-XLCBoEKc$F6z7Vc2ovvvXaD9u--^@-h-|+M*Z6QF%5sq5ru-1z+yvq|NIL5{NU&<``b) zt#CQ+8kxcCDx4_@G$Gp^`Q(A5ZBmBR&`eBYX}g**7;Doj-do|Y0q z4)4{^)AXC?u`2R15#3J|269s#WC+mvO*2n+=EVa!iW#?#HooRF@<9=$ak}Yx#nIbN zE;)(7R>3$5)Jtg2NN|0Y;Ode3)5+BI3x#{k@2=TXm>n+)P8g>j{MZDZ@TkVJB{uIm zQNXi(60i|67H_kU=g73iZ$&*L#^p!tVYOzB&2gSH|J1VX@s1eDqz6@KS15Swc`-5( z)6d_qJ@NYXgUU#;pe|X1)hB3PyBwQze!ET!O$@662&Zf+H8~>>GvZWwQSk71Xw0CP z^V>Pyben0`zk`esJd?o?t9Q`ZhPt%xYVm~1rHLeRW07K28Kf##MW&Il2=*i;EN7d? z%uXh0$SlNO*$59se@WgF(T)1qqfewMF&)`XUD#^bt3|i!P$(t5X^A!HP(VdDfAFNi z;>rge_yp->g1k0WC8g?y8k<`r5!A=NgJWzY@Vw9(E$*diMJ9VniozQLeCROKrkQr^ zvQWWD7~ukAt>wda1GVS062FVt`M!X$MJ+yR68zaS_jkJ|>`d+KAypwG>fzaimIto} zQ!zqQSCEftX(tF2;4TaTxcm6~uh;&29YLNRD1f{6am$I?9`$X<6T266-1niKq@>~G zyT~j4LwX?^nLZju#Jpd|&!D85gkjt%DzP%l9=1cAW3>4M zo}Hb5u#{4@M#F|Ob=9AKyro)i!?|nY;T5r2)Gm{QRS6Rcy-}xy38Zh+96=W|Ty}dD zXg5y=EoaP*L(N1VWZykDqiea0Wg|wFKjF~SFRxZpMXVW0&c3Qr*H|HEr-P|i-%EQ- z;;0kfQZ?qy7{Sd}O9M=-aWJdCS;fSKJS)bfOIhbU*Qtx#Ll*eM&$5Ym%Of4W9+{n4 z4Lf|+d>(PDwuv}Vw92|Be@^#GZ>=r{?6H)^UqxDxhAQX(c93JDQ7AJK(kT>+2J93OHSS_xFc@2*3Fsc!=G3J~3(8{iv{iBEwCOQlPkM*?{42u|kiL`m)$^Yv$as?v+SmWiS zHA+ur<2m`O?J-8yjh&Tc&^zA?m)|TQ$^q|ks^qNG3-?!4f@?kkCjTGuGYqg49neOE za0T$y2jbgm>nBT(Hp)^zsOfpxnxm&{nR}%(Tw%9c^1)+o9_cuNC2)gy>iRltx%M*N zV%aSKjmr0rw|$zC9gx~G@gE$?K=KjGct12IlQ+?1d-Vj_`aK4il6?NFn&cqPL-^@2 zVP_KVtraT5G&Da!(GBq|k~?$!F0vq(_eSC&d)E)4f_RU`qfH-H+>Qgnf6GuxR!E{7 zw1@G=m0*26ZFrab$e-G>bM1n*4!VNF?4)l&=zf(-eZlR{3(7n9ihDNm0)5{9Zl3#@ z`xs7AKX9p19{GKH(!pjdy2}sXzy$UZl_gV5=3KKnxAuHtJaW>WcnnxXpUb?&3-0I! z?wo24{X8kq&=VPSYQkbl1-d$-Yj`xlg!I0lY@Jl~t~tBty9(hOqPRq)qCHGgOLp?k z-dB!oP$u{aJz*&B3Ycx?151tYzbH>p-vl78!N*-RzV+*Vs-f;sI&{xK?o$Cjul6Tq zx3Bb@D;J)_cXQw2jmAYAugE~h?#9ZX!_BFn;U;J<=#u4d@QZ#205jm53UO}T$S&aR2y^A# zqws~D|4`@^5}JPujC0(L_2|Yw%Jd_^-~u~wF!S2RyyN~j4mm^g?>BEiC-~Wl&;3-g z>7&CfXBS(&DR%79vc-LG&a+PR*X9vwyi39Zsxd=|vCsJ#mj2_>D`m$&4qlug@tkY5 zU`7PO7fd#?D&>;EgBQmPD^~ap1D-BSB^Oj9((iXuGCn3TP|bKT6ROdc?lwJv(-=3JPQA>lSi-AbLsp)AD%*ap zX5*5F4%J{1cvI=Lre*g_35t8z?Hk?wlDg&9TVqV?aSe0~+vVhjOzPLU+wUsPlN`fV zCxllIF-K~P(+Y`7&mxcavkhbJEq_jfoTGN;Ll<+iA|6_|?~}&VY^2?$fI(ss-v`xF z^@>zoIwFU>y64mUKfzBHY2J?}2)JpOHs{nDR}*eHKu%X-?N#f{i^u>f8tm)gvLz9* z@1nQ%-&B-IBx=*Aui0kG6O2!p5Ag;5#eEVri?-ctKL7`4BkaObHt5SGL8s8M){Tgb zHhgetKh8g!G^I+bLD1I(a;ZmVGJios)!p<{^+)~C(REj`3#3ChYF=DJW#JPmC~Ug_ z5QeGb1R88`TTAV1YaL-}*KCS4|0) z6&KtuVh*q5cpHJ`{|8=` zn~IXoJjpwjM=6cOt;NNW=wPOI8{Dc1PQxFw-1IZU64dE;EUr;E1tc=e9j)GY!EYX} z4Pbq{mco*}1BVo1uhqeA98*#8d!n8sy|H5(_PLT)d)2yj>r0}6&-{W&fOmCGv+MNM z5QdC`l-7g*Y zUPv7AUQnNPNUu?zn$&(`B+D7${=LXUjz5a4p?OI8xJ~ako|Y|fvf^t5e+HR~$b#$> zf;j3iekDaS{i>&(>Q}ZbeOc6~>Sp#9@U~4<=^Sy5q-j?Q-eoykdBA2X+X6f+#i@po z^Rf-zaHn&&-n}|gEH(>~-TeI~N+MvDc2)2}3<`Goa1G6QKjV<>_R%%gfM^G8v%gRlgoF~$ zNT%-+1Zdr15oM|G*feKn>&?Y$wFk;RPBx@9mGd;Cu^fYOsU^vil!=@tzKIi)g z0Y5vWGFr86N5b-8Yb;M$3>dcE3h0l1)6RtHak8t4i-JT&<0(rs#yy}bXJ!qW7Oni{ zsxEt$78i!;Gb0`sLa_wzE|snB9<7E9PtjPxdj=ZQY=m~y-KW`#n)}KdA$IHIhC!b& zsb{`6;SDDFscMnrxLO1u1K6W}f~LeDDFJ~B56uIPIz4uWWI@<%&t{h%QBA|d**6Gj zg`Z@{a@HZJDL9PvxC6j-nCIfcC7CyAt3=XP@BNkiO{|_|@+scT7ID`%9dGn10*KUJvpgwL|Flr0&5@g_l?vlf1|du(#M%j`54HNCs&H|VgH zQkrmH(aL!JK(qwiWVe|p#9}QR>V z?-+kjb>lkMSm6Ulb7U7EX5wf0Jhr4YNOIMF^qe=i6q$t1Y`ygCLJ*D2m>*87FI@cV zX|ZNeHgh6fu8S~s9>h6dj@~Zg;Viw^RVue`XI9yY=)6kz}u#x2^OQY_1!hXRm zf?omIT5O?ADD8^D{#M-!ji0EpSDB?pVQiX$g-BF2=gYG~M&@U?yOl?yyz*o;a6+!C zQ)R)r#pMhnJ*K8vVoh`F=B|rUixgzlV+KCmd=jd$Qeh6MoLN-1uTk9dQU9@6Uqc)P z6Hb(DeF;WT5g~>Zl~ni1%JR07S|_NkGMt>CXGw#WHb=Ov61?hEIMd+2pW-Cbo63+J zyA#Q_mr3CQyC#L&B%Lu@TM33~@^1;Z)QjY#CxHTj5IwxI_$bC^2 zQ1JkXNvvAeLFa94e}U9nw1ELu_;86=XSs>p9PU0YeXA3>gnAot7zW#Eg#Ne$$02z> z?&iZ=5tTNfJSH>qfCTyeoWuhfzc@pEoDd3ArQJ0CmR1R=^*Ki>LP9FbfPX_;@gYW+ z3q0}=ypMHU_b!n0kt4Gm;ye6bZAo|CKR~-u$WnbgIMRHj@(fc&A%$U0$<7@H%9 z)($H1MydlyI5=4=8gAWYdRKj)z_2#m+G)$>%NTWB`-;EMS8x|t5BL3W2R(voreXp= z5)mSyzO2S7-IZ8*cY2hnkSAR|GGBq=94_48rRq=NB>SK?hZ`@006I~>WJGgrg@qjQ zaqUH^N8{sc7Y;Yb$p;L&wWooayN1p>`A0IzP&`DjS3gTE@0%48qO%B-Vf*dMJTgZL zt|mI8$4UjWx)lX<-kwL?($XV?B2tERcMZ_%dfd9M6lGe`*CIr&C3MTOi)5fZex$7^ z?8sM0(~+mMaG_VQ-9$s-GGlrfEsvp*^7^^VE^-7JXasdr{4XzpK3071VZ42zc)NT@ z13xob^M9%|ddi1-P2bMHP%|=U*Y@U^vK?{LNg4TD?kVtLR zo^k&ue|m>8{u@!@sZOjAvIk&BwUKfgSs6A^Y(fAkDAN#GP&D-{Px^713wX3Ryo$Ov zkK5Yu9M2z8Y7l!)x~=CUI@6>PUUyw>IJhAA2C0HU*oV?BzF?I1A@mbczH+%SV3~L6 zml8_e)SWPC;S^;%Wz6jv`senCMR;y{F z0ECv%sm+p=hR`5c_>94XQ>F}KXTfOVb7LQc6ho1$Jn#F{AmF%c3x%3CR#_Qq$*~g( z^7t9`Co02}3M>?4`4dhY8okh!f5(bfI;=?k+OXK|5*fQdRIzQD`0x)Dk8=FM z2tU}H$lt@M)g-D6b(ui)z6q63Rypmd%ZPO~9ZeR4SXwP+W`cC?A0Udi5#Xa0B5SsE z=T20gHSg4l3>pG4O_ZaxN2JxRP*;NHYzfLVMQNrIjUV1*6ipKO#Lr+! zsOqWoO+U#^BniyEKZ`<6=$qHL>d@ZHU5_a2uGzmI%e%xKIrxAksWmnpcLQ&Bh|-=M zH-YJ=62l0gm&V+@u9JHscbjVcX$D8JJ{Y&``VH#9U?S6y?cW+*oR10Bwz|FwIAOB} zah9YEpJDnNr|1sCe)o^Fx30IK4;+7!{Wqut+PV#SN_AlHza<_sS~h|Jfmh(*@Ofw) zM1`AEwkVYNmx@5bYihqGOybTU%^%HE@!UGb*N-4+RqelUySUlPeOTmXCXyUSRN{U^ zS4>%cTaa1K#}V}j_tY6wURxF!N$ThGvvA1}IW)O%U7*j1p$O(SsMg}uNVxj>116Ss zFRdWQXM7tny?zDI;}LHAwW6`^ffVNJi&q6*CpH3lBE5j=J{zgQv(V$3*D*mY_OcmH zc&-vx<=xO&b_BY-Tml6t=jX11M>G$yoK0yCQJ5_!Jh^w;HjUUuc-Dg6Cj_`TK%dro!VQYN6seWfs(?GVSqAM*-BTM*`HZ#y<Q z;(SgwNE1-bw3wXLqS;{o4Ga@$rCgl-BqDVF9ip{F90g6-2k9-Uym8nsea#af*w|HwyOObG$H6_ zX!DZFP1TBMjY`@{)HXX=-I{NKx3?w7RoY3V6GQN~VbeA^m#;UslFr?l5C(5Zey6Yl zw_VNWuz=;h2j9GE7|52tZpN_Bfs&-?nYUOg!ZZkBW){-X<1Q7TuTl7P6-uSdT7ig` zYuo{>@$iB~(Ooj}C6kjq=+C5kQCMSh4d!OkWMIRK<(K(4v#tfzXbsh@GdAI7bm?Z* z%dF_5kfF+xw=mmqTL-!2qVjjfR!;NH0?y-Z&|hB7OCX_uPt%$M)N&+=OC4~{SzUi- za@yS9*1VGcdN&fqT8XRN4Ugxl%5P7g6W$~WW@~qYKKmYD!?m_hK)=48!XL4_WUaY$kFc`6_*jpL!%;G6Gv9h=q_fO;9pfShTK}sq8y#5BwV!#0Twu~wbVZxqt5-MQQqrZjsr!dWoZ1Kd zh@2f0 ztpY8Ph$~S+6n<>+y$O|VQ&&sI`=e$7lUb|!aF0_%ZFi<|n3sv)e1??GET{sl(#Z39 zth`fVIOMiKV+8&ff?M}WqcC!LXICMRQBZVW-y6x0bRq&Q1O)K;ijyJ;!*ZLhP~?a3 z*n#;>h12>4MeAxf=v-1BS=0k`A}0huyex!|GGQv&3<71W=`AG z>{^+^sz)>m4ActviGlc`Sr?Fe;aMGF0LDg~Nj%%-6iD*jUjITxko{RK&hiQs9uwQ| zsPiEogh=TzQ&a_{oV)Cp%oSUIom9`L?Kg1D`<5mf{EobSti3bnEqw(_v*Pu>temhf zO?;krA~6+IcYP#*b(aW+`Zzk8JSq1r49pFk#n--etRE@jBE9w6^S}B~5)qU1y!JYA z5gRb&a6cMmj>A=DHeOE(GC7Ox-WLMCfwA9q`vrDs`kn?{Uf%}`V{*XFV(oA2OS4rQ znA>5gA>!|LqGu|Y@^4`9=x5}wJ+Iil&F;K&(QdtOPpiB(pgapJE5H7yB7Dc22RxI} z_aitrn5{3EZl_?l8FFnJ4RD`as0(vW;u#D4BiU+7rHI%p?g{l}-GGT8bbD9w-Lz_z zKmeFzI|j_#J+*CHy-f>9TApF*w)R0_D=?DJ`ARY`F*fMT<^ygqwQuHDW#;;!JDo-o zR-zczu2Y=vdbA2UgM_vePQ7Dk+KzhL$D$MfAtpb>2^)bKV}hbo=Yj)gxeV)eiYm5y`)jBW6{E1jUM{@TI>~~!s9<%LAYHR%ydh( zjTipkj@hYQk-*7s2d4+zN(}fWnkR~ytS+h2kM}Ujm)66Irr~d~6(G5!Fq$r%KCizi z7@jenKG_4-43Q!z`?^>AW0>eSlQmq_m*e|(I_b z`ut?EAxx|Iy<_K*An4cks>T3~1Ywu~7cmnZ^&j3g{mkA}Epj)*E7hHu^{G8Y%v*JY zGsP^tPoSb&XwQi6_SX}YwAiNz>(=Uz+IPw?^7K%{vw|1g6Zg`_+@XZG=l9>;65jqV z`-=AtFG%=dFHDMd6J(}Z&_Y7R=t4qUy&=h_pPev!@riZ58v2ihE(C;cwtvGWz6or< zP0{V$8?4i@W|-G{$ur}7(NVs|fago0!>>$*+QxaS(kGbjyRs}#Egoqny$s9m>Au(B zz&$Vju_46+f)7P}?mOK0Cf?G;?_-THqBnPR%9b~b;;(TmnJEODUUB1u^sebwUN&H2 zF9znfB&|~f(CczCeg%&>FRyb~;u|UbHWYxHZps7@hG80!@2Lj?0dYyMW&+RwDYx=7 zhl-odMiM}o?@$@>bVApN77#}cb&H0=s&ba6x;SrT!#SA>$5mf{aOnysvJy|UC?Gx= z^oMTm!^{7=_EM56SPoawI^QOyJ3|>wT9|v9h)5{)-{BD*e#tX{$nr?Ima1Y)b-4!> z>_Rg|Uc}0T<9{+aZ@nJ1`d;Q0yPYx@s5X+7NFM@){v4Qt!)p@yOZ3M>9rsje+2&1RDBZ-GxD3iC6oo|J`W;KtS-*>zM%9>4rZ6P{3bGlduCn zkh`$nkVy9C$uYobtfTi7z2N0-qP-LChG#jK(UG2xey3%wXBvAyv*GfqMI<*O)IbkP zt?!JF@8I$c)(P&{Fu)OF9+A44H~iwz;RTLN7ICay*=)U7#K z)YuKL&D7TClxQ|H{pYoKF#|}DEL-yv0RJB5@ZZS_0+K%S6Tk*cO_Wy{{DB%PuJ zC&pjwGwhJpm?CE2@2LLRAW4*Vdw3C%E7plTN9SJtp1OG!TF6tZhLGHUL&IfU6QKdw zzszvf`Ma-LHd}vo#-ENpziTF$FJn#MFd$J5;GE*k&U=LlDt zoPPub0clHbH3d)uryUlBkb5*QctejPR9Z2J(bpM3)s$(V)M#r~EV}D8^>1}LFN>}t z2|>gI6JC@l_8`iZT!f^E`!^H9dm!*OV-L)1dF}TH2uB~hEqh)q_*yhuMRhKXNMI}x zwRE(=*{6`7p&tm4D?L6jwe;(2moDWIe~$QqtK6(!(ml8WpRxi;90mvoE3*O+k`c!E z`Xf&Rh04o}wNW9sLS0B2nTQE>erz;=r)gM#J-D*_v-qK__pcaNc_Ef@l{O$}d6{KQ z?c_;cIi!2hItf8zz;6AEJeRW0+&6@zmQRHxhLHm&}HEuqYHY%ApG}Z~>bB#y0ilqLa8f3NHT-3~#rs z_k1+$kDfq+0uTIz9gRKfo3tD@$z@%n{CFaitzQ8gUlYo&Ql)J^;q;BLjE0;gmLNGA zwV)!fMPLu$R|A;Cn8Ma>_ORv&BWL#>cuVxIPuX6&(+OQXp7#_Y^u)#Y9pew)=KRluKwE0a$ey%iLk3S-?v)1e=M zZ;CxRS40LAkHRUFu+!f8{jP@%KHR}OPQq3PEwsOoGjAnu2NvpHux#EUzZkF<&A!vf z+<29{+R^q^X;(7If0y%cr?g)#4*ZtX4?)^}11cKoMRgPe#Gs(B=|6#_xQ;?eMPi;(mOj>@v=-T%{P$xGU5D zz2Em>yZ$z5W+RJQd6(WrOe_+&Dp1X3&55$k>4MQ{Gz38_ZDD_EEM@?L{7*xO^q-ax zHlhsU?q8!Zm%d>EU;=ImA&=Y!b%k{BV^(kdj;hc3YNtd-JyVy{Ftx60qVtf9a=ocm z^0}y_ zk^E0#d~JoPiD=n6Jm`AH06)$KiocwopgpVqbJW5ZCJePg6?0bz`me5|G?f`sWzb5# z^1gx{uoEfmnL@Mlel?uww);@}Xo`B(Ja!%J%ktD-EpUY2qjuMm*!zI`qN8xd?9W8+r2JiMZ&wwiIpYbYp zp-G&{O&g*+fjSl|OB<&TE(`Gl9^2?C)~3vuSVuX%RsulW>orhokImh}PrYYXL=jCE0FlJQat2 zYbknSG2S#EnZb%YO6JPv)}1vys?YEQmmphpH(>S2oHyKSN|O^r^#eHzf6&)LWQ;w+ zEMi2+ORsGtTsv$qVUBPRuQ!CN_}eTaoHnxf=(3enGigxp4kH%-HZ*g^*?=QZE)~W~ z$_q(V_Uom|0nrUTwNZ|ZcP`Qq<*E<;UWAIM>nwj{`;1<2mkE_rX==I^GEQeztmYBr zMeW^g#;z(n%l||c=&=0w!<6y)zu($_w7Zqx-ZJw~x$@~i8vs3UI91qT^9Qo{Gr$EZ zNFS5^7cn*HpiD42G;&{M+nENoY7^TJao8iN7T4gLj!R{q!YBM<>*9J9X%Ed~nF6Bm z?{BB0^Xn2NWrk|eLQ@ZB+(s!IW0fWCDO#O?Hj7ryQ_DrF^1!+@*0roC(q5TPn6o8Z zIny+>RJ562W99&$!_riIC=FK%okQ{AG(N9j^v7B)m1zo|9zleKJgeY3f!8yks)PE0 zXAL^V3bv1EIWe2Isf_m&EO8UVEyn%8rP0Bxv3I<%;#>Ze`7a7^`P(SpYJzvq=#>iiu#o3K@h#}57tfnBr6gPD zud%VPf;l0EEl(xQD}opO1+`1nX>czuPA$}JkVstPFWSKxo|^M+PwR>Fl;pl>kC%Sf zgb!&*ua}ZdSa%rwVzg;@HrlEiK8OU1>=%%R$J0-@90|gZ!Z&WA_yy)sTjLWlPQN6z znE}(A-Ndh~26KL6%9SjO8`Hl389H zv4gdJdPf*Q0>*z1d8Xo@#gwGOgaf$np6rc6LGM67KH&i%aQ_7V=O_viNZ0!(0AWoA z_y^3DV*zOC#PI<5bon>{B6sY6G0k0>{wrH1C0PI{I@tdO!v72B|CNIGKl%N;76rAC zrGJM581VlesQmv(tQrudXX@lrI*o>=}_5p_g+SGrnhC&8+sYlW#I`AXoV%r8X&!-aZUx} z^qdw(tLguG8D+ppgGr)tdTbw~Iw%pcOgHFf$?Wz@P+# O9h?jd+*QET#sC26W;S5} diff --git a/scanCode/build.gradle b/scanCode/build.gradle deleted file mode 100644 index 12e040d..0000000 --- a/scanCode/build.gradle +++ /dev/null @@ -1,58 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 29 - defaultConfig { - minSdkVersion 21 - targetSdkVersion 28 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -repositories { - flatDir { - dirs 'libs' - } -} - -dependencies { - compileOnly fileTree(dir: 'libs', include: ['*.jar']) - - compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar','mlkit-scanner-release.aar']) - - compileOnly 'androidx.recyclerview:recyclerview:1.0.0' - compileOnly 'androidx.legacy:legacy-support-v4:1.0.0' - compileOnly 'androidx.appcompat:appcompat:1.0.0' - implementation 'com.alibaba:fastjson:1.2.83' - implementation 'com.facebook.fresco:fresco:1.13.0' - //添加扫码识别库 - //Camera核心 (*必须) - implementation 'com.github.jenly1314.MLKit:mlkit-camera-core:1.4.0' - //公共库 (可选) (1.3.0新增:当使用到MLKit下面的子库时,需依赖公共库) - implementation 'com.github.jenly1314.MLKit:mlkit-common:1.4.0' - //条码识别 (可选) - implementation 'com.github.jenly1314.MLKit:mlkit-barcode-scanning:1.4.0' -// implementation 'com.github.ITxiaoguang:MLKitScanner:1.0.0' -// implementation 'com.google.mlkit:barcode-scanning:17.0.2' -// implementation "androidx.camera:camera-core:1.0.2" -// implementation "androidx.camera:camera-camera2:1.0.2" -// implementation "androidx.camera:camera-lifecycle:1.0.2" -// implementation "androidx.camera:camera-view:1.0.0-alpha25" - - /*implementation 'com.android.support:appcompat-v7:28.0.0' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'*/ -} diff --git a/scanCode/src/main/java/cn/bnyer/scancode/MainScanActivity.java b/scanCode/src/main/java/cn/bnyer/scancode/MainScanActivity.java deleted file mode 100644 index 6ba1ed3..0000000 --- a/scanCode/src/main/java/cn/bnyer/scancode/MainScanActivity.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bnyer.scancode; - -import android.util.Log; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.google.mlkit.vision.barcode.common.Barcode; -import com.king.mlkit.vision.barcode.BarcodeCameraScanActivity; -import com.king.mlkit.vision.camera.AnalyzeResult; -import com.king.mlkit.vision.camera.CameraScan; -import com.king.mlkit.vision.camera.analyze.Analyzer; - -import java.util.List; - -public class MainScanActivity extends BarcodeCameraScanActivity { - - @Override - public void initCameraScan(@NonNull CameraScan cameraScan) { - super.initCameraScan(cameraScan); - cameraScan.setPlayBeep(true).setVibrate(true); - } - - @Nullable - @Override - public Analyzer> createAnalyzer() { - Log.i("======", "开始分析数据结果:"); - return null; - } - - @Override - public void onScanResultCallback(@NonNull AnalyzeResult result) { - Log.i("======", "开始解析扫码结果:" + result); - Analyzer> analyzer = this.createAnalyzer(); - Log.i("======", "获取到的分析结果:" + analyzer); - } - - @Override - public void onScanResultFailure() { - Log.i("======", "扫码失败了:"); - super.onScanResultFailure(); - } - - -} diff --git a/scanCode/src/main/java/cn/bnyer/scancode/scanCode.java b/scanCode/src/main/java/cn/bnyer/scancode/scanCode.java deleted file mode 100644 index 104ff9d..0000000 --- a/scanCode/src/main/java/cn/bnyer/scancode/scanCode.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bnyer.scancode; - -import android.content.Intent; - -import com.google.mlkit.vision.barcode.BarcodeScannerOptions; -import com.google.mlkit.vision.barcode.common.Barcode; -import com.king.mlkit.vision.camera.analyze.Analyzer; -import com.xiaoguang.widget.mlkitscanner.ScanManager; -import com.xiaoguang.widget.mlkitscanner.callback.act.ScanCallback; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.List; - -import io.dcloud.feature.uniapp.annotation.UniJSMethod; -import io.dcloud.feature.uniapp.bridge.UniJSCallback; -import io.dcloud.feature.uniapp.common.UniModule; - -public class scanCode extends UniModule { - - @UniJSMethod(uiThread = false) - public void add(JSONObject json, UniJSCallback callback) throws JSONException { - final int a = json.getInt("a"); - final int b = json.getInt("b"); - callback.invoke(new JSONObject(){ - { - put("code",0); - put("result",a + b); - } - }); - } - -// @UniJSMethod(uiThread = false) -// public void startScan(){ -// MainScanActivity activity = new MainScanActivity(); -// activity.initCameraScan(); -// } -// -// @UniJSMethod(uiThread = false) -// public void createAnalyzer(){ -// MainScanActivity activity = new MainScanActivity(); -// -// } -// -// @UniJSMethod(uiThread = false) -// public void getScanResult(){ -// MainScanActivity activity = new MainScanActivity(); -// Analyzer> analyzer = activity.createAnalyzer(); -// activity.onScanResultCallback(analyzer); -// } -} diff --git a/scanCode/.gitignore b/scan_code_plugin/.gitignore similarity index 100% rename from scanCode/.gitignore rename to scan_code_plugin/.gitignore diff --git a/scan_code_plugin/build.gradle b/scan_code_plugin/build.gradle new file mode 100644 index 0000000..966c87c --- /dev/null +++ b/scan_code_plugin/build.gradle @@ -0,0 +1,120 @@ +//plugins { +// id 'com.android.library' +//} + +//android { +// namespace 'com.jiyi.jy_mlscansdk' +// compileSdk 32 //29 +// +// defaultConfig { +// minSdkVersion 21 +// targetSdkVersion 32 +// versionCode 1 +// versionName "1.0" +// +//// minSdk 21 +//// targetSdk 32 +// +// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" +// consumerProguardFiles "consumer-rules.pro" +// } +// +// buildTypes { +// release { +// minifyEnabled false +// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' +// } +// } +// compileOptions { +// sourceCompatibility JavaVersion.VERSION_1_8 +// targetCompatibility JavaVersion.VERSION_1_8 +// } +// buildToolsVersion '30.0.3' +//} +// +//dependencies { +// +//// implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) +//// implementation fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) +//// +//// implementation "com.android.support:recyclerview-v7:28.0.0" +//// implementation "com.android.support:support-v4:28.0.0" +//// implementation "com.android.support:appcompat-v7:28.0.0" +//// implementation 'com.alibaba:fastjson:1.1.46.android' +//// implementation 'com.facebook.fresco:fresco:1.13.0' +//// +//// implementation 'com.google.mlkit:barcode-scanning:16.2.0' +//// def camerax_version = '1.0.1'; +//// implementation "androidx.camera:camera-core:${camerax_version}" +//// implementation "androidx.camera:camera-camera2:${camerax_version}" +//// implementation "androidx.camera:camera-lifecycle:${camerax_version}" +//// implementation "androidx.camera:camera-view:1.0.0-alpha25" +// +// compileOnly fileTree(dir: 'libs', include: ['*.jar', '*.aar']) +// compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar','mlkit-scanner-release.aar']) +// +// compileOnly "com.android.support:recyclerview-v7:28.0.0" +// compileOnly "com.android.support:support-v4:28.0.0" +// compileOnly "com.android.support:appcompat-v7:28.0.0" +// compileOnly 'com.alibaba:fastjson:1.1.46.android' +// compileOnly 'com.facebook.fresco:fresco:1.13.0' +// +// compileOnly 'com.google.mlkit:barcode-scanning:16.2.0' +// def camerax_version = '1.0.1'; +// compileOnly "androidx.camera:camera-core:${camerax_version}" +// compileOnly "androidx.camera:camera-camera2:${camerax_version}" +// compileOnly "androidx.camera:camera-lifecycle:${camerax_version}" +// compileOnly "androidx.camera:camera-view:1.0.0-alpha25" +// +// +//} +apply plugin: 'com.android.library' + +android { + compileSdkVersion 32 + defaultConfig { + //applicationId 'com.jiyi.jy_mlscansdk' + minSdkVersion 21 + targetSdkVersion 32 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + +} + +repositories { + flatDir { + dirs 'libs' + } +} + +dependencies { + compileOnly fileTree(dir: 'libs', include: ['*.jar', '*.aar']) + compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar','mlkit-scanner-release.aar']) + + //noinspection GradleCompatible + compileOnly 'com.android.support:recyclerview-v7:28.0.0' + //noinspection GradleCompatible + compileOnly 'com.android.support:support-v4:28.0.0' + //noinspection GradleCompatible + compileOnly 'com.android.support:appcompat-v7:28.0.0' + compileOnly 'com.alibaba:fastjson:1.1.46.android' + compileOnly 'com.facebook.fresco:fresco:1.13.0' + + compileOnly 'com.google.mlkit:barcode-scanning:16.2.0' + def camerax_version = '1.0.1'; + compileOnly "androidx.camera:camera-core:${camerax_version}" + compileOnly "androidx.camera:camera-camera2:${camerax_version}" + compileOnly "androidx.camera:camera-lifecycle:${camerax_version}" + compileOnly "androidx.camera:camera-view:1.0.0-alpha25" +} \ No newline at end of file diff --git a/scanCode/consumer-rules.pro b/scan_code_plugin/consumer-rules.pro similarity index 100% rename from scanCode/consumer-rules.pro rename to scan_code_plugin/consumer-rules.pro diff --git a/scan_code_plugin/local.properties b/scan_code_plugin/local.properties new file mode 100644 index 0000000..47e6fab --- /dev/null +++ b/scan_code_plugin/local.properties @@ -0,0 +1,8 @@ +## This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. +# +# Location of the SDK. This is only used by Gradle. +# For customization when using a Version Control System, please read the +# header note. +#Thu Aug 17 09:37:12 CST 2023 +sdk.dir=D\:\\andoridSdk diff --git a/scanCode/proguard-rules.pro b/scan_code_plugin/proguard-rules.pro similarity index 100% rename from scanCode/proguard-rules.pro rename to scan_code_plugin/proguard-rules.pro diff --git a/scanCode/src/main/AndroidManifest.xml b/scan_code_plugin/src/main/AndroidManifest.xml similarity index 67% rename from scanCode/src/main/AndroidManifest.xml rename to scan_code_plugin/src/main/AndroidManifest.xml index ae17557..4652c4b 100644 --- a/scanCode/src/main/AndroidManifest.xml +++ b/scan_code_plugin/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/scan_code_plugin/src/main/java/com/jiyi/jy_mlscansdk/JYMLScanSDKModule.java b/scan_code_plugin/src/main/java/com/jiyi/jy_mlscansdk/JYMLScanSDKModule.java new file mode 100644 index 0000000..2f323b1 --- /dev/null +++ b/scan_code_plugin/src/main/java/com/jiyi/jy_mlscansdk/JYMLScanSDKModule.java @@ -0,0 +1,66 @@ +package com.jiyi.jy_mlscansdk; + +import android.app.Activity; +import android.content.Intent; +import android.util.Log; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.taobao.weex.annotation.JSMethod; +import com.taobao.weex.bridge.JSCallback; +import com.xiaoguang.widget.mlkitscanner.ScanManager; +import com.xiaoguang.widget.mlkitscanner.callback.act.ScanCallback; + +import java.io.IOException; +import java.util.ArrayList; + +import io.dcloud.feature.uniapp.common.UniModule; + +public class JYMLScanSDKModule extends UniModule { + + private String TAG = "JYMLScanSDKModule"; + + @JSMethod(uiThread = false) + public void startScan(final JSCallback callback) { + + (new Thread(new Runnable() { + public void run() { + try { + Activity activity = (Activity) mUniSDKInstance.getContext(); + ScanManager.startScan(activity, new ScanCallback() { + @Override + public void onActivityResult(int resultCode, Intent data) { +// handlerResult(i, intent); + if (resultCode == ScanManager.RESULT_SUCCESS) { + ArrayList results = data.getStringArrayListExtra(ScanManager.INTENT_KEY_RESULT_SUCCESS); + Log.d(TAG, "handlerResult: " + results.toString()); + + JSONObject result = new JSONObject(); + result.put("errorCode", "0"); + result.put("data", results.toString()); + + callback.invokeAndKeepAlive(result); + }else { + JSONObject result = new JSONObject(); + result.put("errorCode", "1"); + result.put("data", resultCode); + + callback.invokeAndKeepAlive(result); + } + } + }); + } catch (Exception err) { + + } + } + })).start(); + + } + + private void handlerResult(int resultCode, Intent data) { + if (resultCode == ScanManager.RESULT_SUCCESS) { + ArrayList results = data.getStringArrayListExtra(ScanManager.INTENT_KEY_RESULT_SUCCESS); + Log.d(TAG, "handlerResult: " + results.toString()); + } + } +} diff --git a/settings.gradle b/settings.gradle index 3877c85..1dd1688 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,3 +9,5 @@ include ':test' include ':mylibrary' include ':mylibrary' include ':scanCode' +include ':jy-mlscansdk' +include ':scan_code_plugin' diff --git a/uniplugin_component/.gitignore b/uniplugin_component/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/uniplugin_component/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/uniplugin_component/build.gradle b/uniplugin_component/build.gradle deleted file mode 100644 index b3d03cd..0000000 --- a/uniplugin_component/build.gradle +++ /dev/null @@ -1,46 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 29 - - defaultConfig { - minSdkVersion 16 - targetSdkVersion 28 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -repositories { - flatDir { - dirs 'libs' - } -} - -dependencies { - compileOnly fileTree(dir: 'libs', include: ['*.jar']) - - compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) - - compileOnly 'androidx.recyclerview:recyclerview:1.0.0' - compileOnly 'androidx.legacy:legacy-support-v4:1.0.0' - compileOnly 'androidx.appcompat:appcompat:1.0.0' - implementation 'com.alibaba:fastjson:1.2.83' - implementation 'com.facebook.fresco:fresco:1.13.0' - - /*implementation 'com.android.support:appcompat-v7:28.0.0' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'*/ -} diff --git a/uniplugin_component/proguard-rules.pro b/uniplugin_component/proguard-rules.pro deleted file mode 100644 index f1b4245..0000000 --- a/uniplugin_component/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/uniplugin_component/src/main/AndroidManifest.xml b/uniplugin_component/src/main/AndroidManifest.xml deleted file mode 100644 index dd8b4af..0000000 --- a/uniplugin_component/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/uniplugin_component/src/main/java/io/dcloud/uniplugin/TestText.java b/uniplugin_component/src/main/java/io/dcloud/uniplugin/TestText.java deleted file mode 100644 index 3c665de..0000000 --- a/uniplugin_component/src/main/java/io/dcloud/uniplugin/TestText.java +++ /dev/null @@ -1,60 +0,0 @@ -package io.dcloud.uniplugin; - -import android.content.Context; -import android.graphics.Color; -import android.widget.TextView; -import java.util.HashMap; -import java.util.Map; - -import io.dcloud.feature.uniapp.UniSDKInstance; -import io.dcloud.feature.uniapp.annotation.UniJSMethod; -import io.dcloud.feature.uniapp.ui.action.AbsComponentData; -import io.dcloud.feature.uniapp.ui.component.AbsVContainer; -import io.dcloud.feature.uniapp.ui.component.UniComponent; -import io.dcloud.feature.uniapp.ui.component.UniComponentProp; - -public class TestText extends UniComponent { - - public TestText(UniSDKInstance instance, AbsVContainer parent, AbsComponentData basicComponentData) { - super(instance, parent, basicComponentData); - } - - @Override - protected TextView initComponentHostView(Context context) { - TextView textView = new TextView(context); - textView.setTextSize(20); - textView.setTextColor(Color.BLACK); - return textView; - } - - @UniComponentProp(name = "tel") - public void setTel(String telNumber) { - getHostView().setText("tel: " + telNumber); - Map params = new HashMap<>(); - Map number = new HashMap<>(); - number.put("tel", telNumber); - //目前uni限制 参数需要放入到"detail"中 否则会被清理 - params.put("detail", number); - fireEvent("onTel", params); - } - - @UniJSMethod - public void clearTel() { - getHostView().setText(""); - } - - @Override - public void onActivityResume() { - super.onActivityResume(); - } - - @Override - public void onActivityPause() { - super.onActivityPause(); - } - - @Override - public void onActivityDestroy() { - super.onActivityDestroy(); - } -} diff --git a/uniplugin_component/src/main/res/values/strings.xml b/uniplugin_component/src/main/res/values/strings.xml deleted file mode 100644 index a8400dc..0000000 --- a/uniplugin_component/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - uniplugin_richAlert - diff --git a/uniplugin_module/.gitignore b/uniplugin_module/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/uniplugin_module/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/uniplugin_module/build.gradle b/uniplugin_module/build.gradle deleted file mode 100644 index f03dda1..0000000 --- a/uniplugin_module/build.gradle +++ /dev/null @@ -1,45 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 29 - defaultConfig { - minSdkVersion 16 - targetSdkVersion 28 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -repositories { - flatDir { - dirs 'libs' - } -} - -dependencies { - compileOnly fileTree(dir: 'libs', include: ['*.jar']) - - compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) - - compileOnly 'androidx.recyclerview:recyclerview:1.0.0' - compileOnly 'androidx.legacy:legacy-support-v4:1.0.0' - compileOnly 'androidx.appcompat:appcompat:1.0.0' - implementation 'com.alibaba:fastjson:1.2.83' - implementation 'com.facebook.fresco:fresco:1.13.0' - - /*implementation 'com.android.support:appcompat-v7:28.0.0' - testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'*/ -} diff --git a/uniplugin_module/proguard-rules.pro b/uniplugin_module/proguard-rules.pro deleted file mode 100644 index f1b4245..0000000 --- a/uniplugin_module/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/uniplugin_module/src/main/AndroidManifest.xml b/uniplugin_module/src/main/AndroidManifest.xml deleted file mode 100644 index 8656ea2..0000000 --- a/uniplugin_module/src/main/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/uniplugin_module/src/main/java/io/dcloud/uniplugin/NativePageActivity.java b/uniplugin_module/src/main/java/io/dcloud/uniplugin/NativePageActivity.java deleted file mode 100644 index 4374fa4..0000000 --- a/uniplugin_module/src/main/java/io/dcloud/uniplugin/NativePageActivity.java +++ /dev/null @@ -1,33 +0,0 @@ -package io.dcloud.uniplugin; - -import android.app.Activity; -import android.content.Intent; -import android.graphics.Color; -import android.os.Bundle; -import android.view.View; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.TextView; - -public class NativePageActivity extends Activity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - FrameLayout rootView = new FrameLayout(this); - TextView textView = new TextView(this); - textView.setTextColor(Color.BLACK); - textView.setTextSize(30); - textView.setText("点击我将返回 并携带参数返回"); - rootView.addView(textView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300)); - textView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent intent = new Intent(); - intent.putExtra("respond", "我是原生页面"); - setResult(TestModule.REQUEST_CODE, intent); - finish(); - } - }); - setContentView(rootView); - } -} diff --git a/uniplugin_module/src/main/java/io/dcloud/uniplugin/TestModule.java b/uniplugin_module/src/main/java/io/dcloud/uniplugin/TestModule.java deleted file mode 100644 index 098ef4b..0000000 --- a/uniplugin_module/src/main/java/io/dcloud/uniplugin/TestModule.java +++ /dev/null @@ -1,55 +0,0 @@ -package io.dcloud.uniplugin; - -import android.app.Activity; -import android.content.Intent; -import android.util.Log; - -import com.alibaba.fastjson.JSONObject; - -import io.dcloud.feature.uniapp.annotation.UniJSMethod; -import io.dcloud.feature.uniapp.bridge.UniJSCallback; -import io.dcloud.feature.uniapp.common.UniModule; - - -public class TestModule extends UniModule { - - String TAG = "TestModule"; - public static int REQUEST_CODE = 1000; - - //run ui thread - @UniJSMethod(uiThread = true) - public void testAsyncFunc(JSONObject options, UniJSCallback callback) { - Log.e(TAG, "testAsyncFunc--"+options); - if(callback != null) { - JSONObject data = new JSONObject(); - data.put("code", "success"); - callback.invoke(data); - //callback.invokeAndKeepAlive(data); - } - } - - //run JS thread - @UniJSMethod (uiThread = false) - public JSONObject testSyncFunc(){ - JSONObject data = new JSONObject(); - data.put("code", "success"); - return data; - } - - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if(requestCode == REQUEST_CODE && data.hasExtra("respond")) { - Log.e("TestModule", "原生页面返回----"+data.getStringExtra("respond")); - } else { - super.onActivityResult(requestCode, resultCode, data); - } - } - - @UniJSMethod (uiThread = true) - public void gotoNativePage(){ - if(mUniSDKInstance != null && mUniSDKInstance.getContext() instanceof Activity) { - Intent intent = new Intent(mUniSDKInstance.getContext(), NativePageActivity.class); - ((Activity)mUniSDKInstance.getContext()).startActivityForResult(intent, REQUEST_CODE); - } - } -} diff --git a/uniplugin_module/src/main/res/values/strings.xml b/uniplugin_module/src/main/res/values/strings.xml deleted file mode 100644 index a8400dc..0000000 --- a/uniplugin_module/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - uniplugin_richAlert - diff --git a/uniplugin_richalert/.gitignore b/uniplugin_richalert/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/uniplugin_richalert/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/uniplugin_richalert/build.gradle b/uniplugin_richalert/build.gradle deleted file mode 100644 index ff741bc..0000000 --- a/uniplugin_richalert/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 29 - defaultConfig { - minSdkVersion 16 - targetSdkVersion 28 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -repositories { - flatDir { - dirs 'libs' - } -} - -dependencies { - compileOnly fileTree(dir: 'libs', include: ['*.jar']) - - compileOnly 'androidx.recyclerview:recyclerview:1.0.0' - compileOnly 'androidx.legacy:legacy-support-v4:1.0.0' - compileOnly 'androidx.appcompat:appcompat:1.0.0' - compileOnly 'com.alibaba:fastjson:1.2.83' - - compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) - - compileOnly 'com.alibaba:fastjson:1.1.46.android' -} diff --git a/uniplugin_richalert/proguard-rules.pro b/uniplugin_richalert/proguard-rules.pro deleted file mode 100644 index f1b4245..0000000 --- a/uniplugin_richalert/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/uniplugin_richalert/src/androidTest/java/uni/dcloud/io/uniplugin_richalert/ExampleInstrumentedTest.java b/uniplugin_richalert/src/androidTest/java/uni/dcloud/io/uniplugin_richalert/ExampleInstrumentedTest.java deleted file mode 100644 index eca43f7..0000000 --- a/uniplugin_richalert/src/androidTest/java/uni/dcloud/io/uniplugin_richalert/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert; - -import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumented test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("uni.dcloud.io.uniplugin_richalert.test", appContext.getPackageName()); - } -} diff --git a/uniplugin_richalert/src/main/AndroidManifest.xml b/uniplugin_richalert/src/main/AndroidManifest.xml deleted file mode 100644 index 2c50730..0000000 --- a/uniplugin_richalert/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/Person.java b/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/Person.java deleted file mode 100644 index 55c9d87..0000000 --- a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/Person.java +++ /dev/null @@ -1,9 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert.Info; - -import com.alibaba.fastjson.JSONObject; - -public class Person { - public String label; - public String content; - public JSONObject attribute; -} diff --git a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/SaxHelper.java b/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/SaxHelper.java deleted file mode 100644 index a88648e..0000000 --- a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/Info/SaxHelper.java +++ /dev/null @@ -1,97 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert.Info; - -import android.text.TextUtils; - -import com.alibaba.fastjson.JSONObject; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -import java.util.ArrayList; - - -public class SaxHelper extends DefaultHandler { - private Person person; - private ArrayList persons; - //当前解析的元素标签 - private String tagName = null; - - /** - * 当读取到文档开始标志是触发,通常在这里完成一些初始化操作 - */ - @Override - public void startDocument() throws SAXException { - this.persons = new ArrayList(); - //Log.i("SAX", "读取到文档头,开始解析xml"); - } - - - /** - * 读到一个开始标签时调用,第二个参数为标签名,最后一个参数为属性数组 - */ - @Override - public void startElement(String uri, String localName, String qName, - Attributes attributes) throws SAXException { - this.person = new Person(); - this.persons.add(this.person); - person.label = localName; - if(attributes != null && attributes.getLength() > 0) { - JSONObject attr = new JSONObject(); - for(int i=0;i getPersons() { - return persons; - } - -} diff --git a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert.java b/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert.java deleted file mode 100644 index b16279e..0000000 --- a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert.java +++ /dev/null @@ -1,391 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.graphics.Color; -import androidx.annotation.NonNull; -import android.text.SpannableStringBuilder; -import android.text.Spanned; -import android.text.TextUtils; -import android.text.method.LinkMovementMethod; -import android.text.style.ClickableSpan; -import android.text.style.ForegroundColorSpan; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.View; -import android.view.ViewGroup; -import android.view.Window; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.LinearLayout; -import android.widget.ScrollView; -import android.widget.TextView; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.ArrayList; - -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; - -import io.dcloud.feature.uniapp.bridge.UniJSCallback; -import io.dcloud.feature.uniapp.utils.UniResourceUtils; -import uni.dcloud.io.uniplugin_richalert.Info.Person; -import uni.dcloud.io.uniplugin_richalert.Info.SaxHelper; - - -public class RichAlert { - - public static String TITLE = "title"; - public static String TITLE_COLOR = "titleColor"; - - int mPositiveColor = Color.BLACK; - int mNegativeColor = Color.BLACK; - int mNeutralColor = Color.BLACK; - int mPosition = Gravity.CENTER; - Context mContext; - LinearLayout mContentViewRootView; - CheckBox mCheckBox; - TextView mMessageView; - TextView mTitleView; - AlertDialog mAlertDialog; - AlertDialog.Builder mBuilder; - - String SELECTED = "isSelected"; - - public RichAlert(@NonNull Context context) { - mContext = context; - mBuilder = new AlertDialog.Builder(context); - } - - /** - * 显示弹窗 - */ - public void show() { - mAlertDialog = mBuilder.create(); - if(mContentViewRootView != null) { - mAlertDialog.setView(mContentViewRootView); - if(mCheckBox != null) { - LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - layoutParams.leftMargin = dip2px(mContext, 11); - mContentViewRootView.addView(mCheckBox, layoutParams); - } - } - - mAlertDialog.setCanceledOnTouchOutside(false); - mAlertDialog.show(); - - setButtonColor(AlertDialog.BUTTON_POSITIVE, mPositiveColor); - setButtonColor(AlertDialog.BUTTON_NEGATIVE, mNegativeColor); - setButtonColor(AlertDialog.BUTTON_NEUTRAL, mNeutralColor); - - Window dialogWindow = mAlertDialog.getWindow();//获取window对象 - dialogWindow.setGravity(mPosition); - } - - /** - * 设置弹窗标题 - * @param title - * @param Color - * @return - */ - public RichAlert setTitle(CharSequence title, int Color, String align) { -// mBuilder.setTitle(title); - initContentView(mContext); - if(mTitleView != null) { - mTitleView.setVisibility(View.VISIBLE); - mTitleView.setText(title); - mTitleView.setTextColor(Color); - mTitleView.setGravity(getAlign(align) | Gravity.CENTER_VERTICAL); - } - return this; - } - - /** - * 设置弹窗主显示内容 - * @param content - * @param Color - * @param jsCallback - * @return - */ - public RichAlert setContent(String content, int Color, String align, UniJSCallback jsCallback) { - try { - initContentView(mContext); - ArrayList data = readxmlForDom(content); - if(data != null && data.size() > 0) { - CharSequence ct = getContentCharSequence(data, jsCallback); - mMessageView.setText(ct); - } else { - mMessageView.setText(content); - } - mMessageView.setTextColor(Color); - mMessageView.setGravity(getAlign(align)); - - } catch (Exception e) { - e.printStackTrace(); - } - return this; - } - - - /** - * 生成自定义内容布局 - * 此处使用代码编写的布局,也可以使用XML布局方式加载 - * @param context - */ - private void initContentView(Context context) { - if(mContentViewRootView == null && context != null) { - mContentViewRootView = new LinearLayout(context); - mContentViewRootView.setOrientation(LinearLayout.VERTICAL); - LinearLayout titleLayout = new LinearLayout(context); - mTitleView = new TextView(context); - mTitleView.setGravity(Gravity.CENTER); - mTitleView.setPadding(dip2px(mContext, 16), 0, dip2px(mContext, 16), 0); - mTitleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17); - LinearLayout.LayoutParams titleParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dip2px(mContext, 45)); - titleLayout.addView(mTitleView, titleParams); - mTitleView.setVisibility(View.GONE); - mContentViewRootView.addView(titleLayout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - ScrollView scrollView = new ScrollView(context); - mMessageView = new TextView(context); - ScrollView.LayoutParams params = new ScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - params.topMargin = dip2px(context, 25); - params.bottomMargin = dip2px(context, 25); - params.leftMargin = dip2px(context, 16); - params.rightMargin = dip2px(context, 16); - mContentViewRootView.addView(scrollView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, 1)); - scrollView.addView(mMessageView, params); - mMessageView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); - mMessageView.setMovementMethod(LinkMovementMethod.getInstance()); - } - } - - /** - * 设置弹窗按钮 - * @param buttons - * @param jsCallback - * @return - */ - public RichAlert setButtons(JSONArray buttons, final UniJSCallback jsCallback) { - if(buttons != null && buttons.size() > 0) { - for(int i = 0; i < buttons.size();i++) { - JSONObject button = buttons.getJSONObject(i); - String title = button.getString(TITLE); - int color = UniResourceUtils.getColor(button.getString(TITLE_COLOR), RichAlertModule.defColor); - if(TextUtils.isEmpty(title)) { - continue; - } - if(i > 2) { //buttons 最多支持三个button - return this; - } - final int index = i; - DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int n) { - JSONObject result = new JSONObject(); - result.put("type", "button"); - result.put("index", index); - jsCallback.invoke(result); - } - }; - switch(i) { - case 0: { - mBuilder.setNegativeButton(title, listener); - mNegativeColor = color; - break; - } - case 1: { - mBuilder.setNeutralButton(title, listener); - mNeutralColor = color; - break; - } - case 2: { - mBuilder.setPositiveButton(title, listener); - mPositiveColor = color; - break; - } - } - } - } - return this; - } - - - /** - * 设置按钮文字颜色 - * 需要在show操作之后调用 - * @param type - * @param color - */ - private void setButtonColor(int type, int color) { - if(mAlertDialog != null) { - Button button = mAlertDialog.getButton(type); - if(button != null) { - button.setTextColor(color); - } - } - } - - /** - * 提示框位置 - * @param position - * @return - */ - public RichAlert setPosition(String position) { - mPosition = getAlign(position); - return this; - } - - /** - * 设置复选框提示 - * @param checkBox - * @param jsCallback - * @return - */ - public RichAlert setCheckBox(JSONObject checkBox, final UniJSCallback jsCallback) { - if(checkBox == null) { - return this; - } - mCheckBox = new CheckBox(mContext); - - mCheckBox.setText(checkBox.getString(TITLE)); - int color = UniResourceUtils.getColor(checkBox.getString(TITLE_COLOR), RichAlertModule.defColor); - mCheckBox.setTextColor(color); - boolean isSelected = false; - if(checkBox.containsKey(SELECTED)) { - isSelected = checkBox.getBoolean(SELECTED); - } - mCheckBox.setChecked(isSelected); - mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - JSONObject result = new JSONObject(); - result.put("type", "checkBox"); - result.put("isSelected", isChecked); - jsCallback.invokeAndKeepAlive(result); - } - }); - return this; - } - - - /** - * 将Person转换对应的Span - * @param data - * @param jsCallback - * @return - */ - private CharSequence getContentCharSequence(ArrayList data, UniJSCallback jsCallback) { - SpannableStringBuilder spannableString = new SpannableStringBuilder(); - for(Person person : data) { - if(TextUtils.isEmpty(person.content)) { - continue; - } - if(person.label.equalsIgnoreCase("a")) { - setASpan(spannableString, person, jsCallback); - } else { - spannableString.append(person.content); - } - } - - return spannableString; - } - - /** - * 设置A标签指定的Span 包含点击事件 - * @param spannableString - * @param person - * @param jsCallback - */ - private void setASpan(SpannableStringBuilder spannableString, final Person person, final UniJSCallback jsCallback) { - int start = spannableString.toString().length(); - spannableString.append(person.content); - int end = spannableString.toString().length(); - ClickableSpan clickableSpan = new ClickableSpan() { - - public void onClick(View view) { - //Do something with URL here. - JSONObject result = new JSONObject(); - result.put("type", "a"); - result.putAll(person.attribute); - jsCallback.invokeAndKeepAlive(result); - } - }; - spannableString.setSpan(clickableSpan, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - ForegroundColorSpan foregroundColorSpan=new ForegroundColorSpan(Color.BLUE); - spannableString.setSpan(foregroundColorSpan,start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } - - /** - * 解析XML 获取person数组 - * @param content - * @return - * @throws Exception - */ - private ArrayList readxmlForDom(String content) throws Exception { - content = "" + content + ""; - //获取文件资源建立输入流对象 - InputStream is = new ByteArrayInputStream(content.getBytes()); - //创建一个SAXParserFactory解析器工程 - SAXParserFactory factory = SAXParserFactory.newInstance(); - SaxHelper helper = new SaxHelper(); - //③创建SAX解析器 - SAXParser parser = factory.newSAXParser(); - parser.parse(is, helper); - return helper.getPersons(); - } - - public boolean isShowing() { - return mAlertDialog == null ? false : mAlertDialog.isShowing(); - } - - public void dismiss() { - if(mAlertDialog != null) { - mAlertDialog.dismiss(); - mAlertDialog = null; - mContentViewRootView.removeAllViews(); - mContentViewRootView = null; - mMessageView = null; - mTitleView = null; - mCheckBox = null; - } - } - - public void setOnDismissListener(DialogInterface.OnDismissListener listener) { - if(mAlertDialog != null) - mAlertDialog.setOnDismissListener(listener); - } - - public void setOnCancelListener(DialogInterface.OnCancelListener listener) { - if(mAlertDialog != null) - mAlertDialog.setOnCancelListener(listener); - } - - private int dip2px(Context context, float dipValue) { - float scale = context.getResources().getDisplayMetrics().density; - return (int) (dipValue * scale + 0.5f); - } - - private int getAlign(String alignString) { - int align = Gravity.CENTER; - if(!TextUtils.isEmpty(alignString)) { - switch (alignString) { - case "left": - align = Gravity.LEFT; - break; - case "right" : - align = Gravity.RIGHT; - break; - case "bottom": - align = Gravity.BOTTOM; - break; - } - } - return align; - } -} diff --git a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlertModule.java b/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlertModule.java deleted file mode 100644 index 3a331c6..0000000 --- a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlertModule.java +++ /dev/null @@ -1,100 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert; - -import android.app.Activity; -import android.content.DialogInterface; -import android.graphics.Color; -import android.text.TextUtils; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; - -import io.dcloud.feature.uniapp.annotation.UniJSMethod; -import io.dcloud.feature.uniapp.bridge.UniJSCallback; -import io.dcloud.feature.uniapp.common.UniDestroyableModule; -import io.dcloud.feature.uniapp.utils.UniLogUtils; -import io.dcloud.feature.uniapp.utils.UniResourceUtils; - -public class RichAlertModule extends UniDestroyableModule { - public String CONTENT = "content"; - public String CONTENT_COLOR = "contentColor"; - public String CONTENT_ALIGN = "contentAlign"; - public String POSITION = "position"; - public String BUTTONS = "buttons"; - public String CHECKBOX = "checkBox"; - public String TITLE_ALIGN = "titleAlign"; - //默认黑色 - public static int defColor = Color.BLACK; - - RichAlert alert; - - @UniJSMethod(uiThread = true) - public void show(JSONObject options, UniJSCallback jsCallback) { - if (mUniSDKInstance.getContext() instanceof Activity) { - String content = options.getString(CONTENT); - int contentColor = UniResourceUtils.getColor(options.getString(CONTENT_COLOR), defColor); - String contentAlign = options.getString(CONTENT_ALIGN); - - String title = options.getString(RichAlert.TITLE); - int titleColor = UniResourceUtils.getColor(options.getString(RichAlert.TITLE_COLOR), defColor); - String titleAlign = options.getString(TITLE_ALIGN); - - String postion = options.getString(POSITION); - - RichAlert richAlert = new RichAlert(mUniSDKInstance.getContext()); - - JSONArray buttons = options.getJSONArray(BUTTONS); - JSONObject checkBox = options.getJSONObject(CHECKBOX); - - if(!TextUtils.isEmpty(title)) { - richAlert.setTitle(title, titleColor, titleAlign); - } - if(!TextUtils.isEmpty(content)) { - richAlert.setContent(content, contentColor, contentAlign,jsCallback); - } - if(checkBox != null) { - richAlert.setCheckBox(checkBox, jsCallback); - } - if(buttons != null) { - richAlert.setButtons(buttons, jsCallback); - } - if(!TextUtils.isEmpty(postion)) { - richAlert.setPosition(postion); - } - - richAlert.show(); - tracking(richAlert, jsCallback); - } - } - - private void tracking(RichAlert dialog, final UniJSCallback jsCallback) { - alert = dialog; - dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - JSONObject result = new JSONObject(); - result.put("type", "backCancel"); - jsCallback.invoke(result); - } - }); - dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - alert = null; - } - }); - } - - @UniJSMethod(uiThread = true) - public void dismiss() { - destroy(); - } - - @Override - public void destroy() { - if (alert != null && alert.isShowing()) { - UniLogUtils.w("Dismiss the active dialog"); - alert.dismiss(); - } - } - -} diff --git a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert_AppProxy.java b/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert_AppProxy.java deleted file mode 100644 index 6e1ad10..0000000 --- a/uniplugin_richalert/src/main/java/uni/dcloud/io/uniplugin_richalert/RichAlert_AppProxy.java +++ /dev/null @@ -1,18 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert; - -import android.app.Application; - -import io.dcloud.feature.uniapp.UniAppHookProxy; - - -public class RichAlert_AppProxy implements UniAppHookProxy { - @Override - public void onCreate(Application application) { - //可写初始化触发逻辑 - } - - @Override - public void onSubProcessCreate(Application application) { - //子进程初始化回调 - } -} diff --git a/uniplugin_richalert/src/main/res/values/strings.xml b/uniplugin_richalert/src/main/res/values/strings.xml deleted file mode 100644 index a8400dc..0000000 --- a/uniplugin_richalert/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - uniplugin_richAlert - diff --git a/uniplugin_richalert/src/test/java/uni/dcloud/io/uniplugin_richalert/ExampleUnitTest.java b/uniplugin_richalert/src/test/java/uni/dcloud/io/uniplugin_richalert/ExampleUnitTest.java deleted file mode 100644 index 823af59..0000000 --- a/uniplugin_richalert/src/test/java/uni/dcloud/io/uniplugin_richalert/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package uni.dcloud.io.uniplugin_richalert; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file