From 63e211ae0e7fd20a3a4c62ccc0597c4146ad0212 Mon Sep 17 00:00:00 2001 From: Jinkun Jang Date: Wed, 13 Mar 2013 01:46:40 +0900 Subject: [PATCH] Tizen 2.1 base --- LICENSE.Flora | 206 +++++++++++++++ NOTICE | 4 + arm/bin/push_tool | Bin 0 -> 14248 bytes arm/bin/pushd | Bin 0 -> 160548 bytes arm/etc/init.d/pushd | 59 +++++ arm/etc/rc.d/rc3.d/S90pushd | 1 + arm/etc/rc.d/rc5.d/S90pushd | 1 + arm/include/push.h | 289 +++++++++++++++++++++ arm/lib/libpush.so | 1 + arm/lib/libpush.so.0 | 1 + arm/lib/libpush.so.0.2.12 | Bin 0 -> 45124 bytes arm/lib/pkgconfig/push.pc | 14 + arm/lib/systemd/user/pushd.service | 9 + .../tizen-middleware.target.wants/pushd.service | 1 + arm/share/push/PushServerTrust.cer | 19 ++ libpush.manifest | 5 + packaging/push.init | 59 +++++ packaging/push.spec | 192 ++++++++++++++ packaging/pushd.service | 9 + push-bin.manifest | 16 ++ push-tool.manifest | 5 + x86/bin/push_tool | Bin 0 -> 15168 bytes x86/bin/pushd | Bin 0 -> 199080 bytes x86/etc/init.d/pushd | 59 +++++ x86/etc/rc.d/rc3.d/S90pushd | 1 + x86/etc/rc.d/rc5.d/S90pushd | 1 + x86/include/push.h | 289 +++++++++++++++++++++ x86/lib/libpush.so | 1 + x86/lib/libpush.so.0 | 1 + x86/lib/libpush.so.0.2.12 | Bin 0 -> 55384 bytes x86/lib/pkgconfig/push.pc | 14 + x86/lib/systemd/user/pushd.service | 9 + .../tizen-middleware.target.wants/pushd.service | 1 + x86/share/push/PushServerTrust.cer | 19 ++ 34 files changed, 1286 insertions(+) create mode 100644 LICENSE.Flora create mode 100644 NOTICE create mode 100755 arm/bin/push_tool create mode 100755 arm/bin/pushd create mode 100755 arm/etc/init.d/pushd create mode 120000 arm/etc/rc.d/rc3.d/S90pushd create mode 120000 arm/etc/rc.d/rc5.d/S90pushd create mode 100644 arm/include/push.h create mode 120000 arm/lib/libpush.so create mode 120000 arm/lib/libpush.so.0 create mode 100644 arm/lib/libpush.so.0.2.12 create mode 100644 arm/lib/pkgconfig/push.pc create mode 100644 arm/lib/systemd/user/pushd.service create mode 120000 arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service create mode 100644 arm/share/push/PushServerTrust.cer create mode 100644 libpush.manifest create mode 100644 packaging/push.init create mode 100755 packaging/push.spec create mode 100644 packaging/pushd.service create mode 100644 push-bin.manifest create mode 100644 push-tool.manifest create mode 100755 x86/bin/push_tool create mode 100755 x86/bin/pushd create mode 100755 x86/etc/init.d/pushd create mode 120000 x86/etc/rc.d/rc3.d/S90pushd create mode 120000 x86/etc/rc.d/rc5.d/S90pushd create mode 100644 x86/include/push.h create mode 120000 x86/lib/libpush.so create mode 120000 x86/lib/libpush.so.0 create mode 100644 x86/lib/libpush.so.0.2.12 create mode 100644 x86/lib/pkgconfig/push.pc create mode 100644 x86/lib/systemd/user/pushd.service create mode 120000 x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service create mode 100644 x86/share/push/PushServerTrust.cer diff --git a/LICENSE.Flora b/LICENSE.Flora new file mode 100644 index 0000000..9c95663 --- /dev/null +++ b/LICENSE.Flora @@ -0,0 +1,206 @@ +Flora License + +Version 1.0, May, 2012 + +http://floralicense.org/license/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Compatibility Definition Document +and passes the Compatibility Test Suite as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work +solely as incorporated into a Tizen Certified Platform, where such +license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work solely +as incorporated into a Tizen Certified Platform to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent infringement, +then any patent licenses granted to You under this License for that +Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. + +You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text +from the Work, provided that such additional attribution notices +cannot be construed as modifying the License. You may add Your own +copyright statement to Your modifications and may provide additional or +different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works +as a whole, provided Your use, reproduction, and distribution of +the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Flora License to your work + +To apply the Flora License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://floralicense.org/license/ + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..4b8882d --- /dev/null +++ b/NOTICE @@ -0,0 +1,4 @@ +Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Flora License, Version 1. +Please, see the LICENSE.Flora file for Flora License terms and conditions. + diff --git a/arm/bin/push_tool b/arm/bin/push_tool new file mode 100755 index 0000000000000000000000000000000000000000..f51dc844d491981c5ccff907098ec9a2c46b4001 GIT binary patch literal 14248 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 Nd!5jms5CUI{{v!xSJVIi literal 0 HcmV?d00001 diff --git a/arm/bin/pushd b/arm/bin/pushd new file mode 100755 index 0000000000000000000000000000000000000000..22d867779d5a95afe1c9885f60e8337876b6d5b3 GIT binary patch literal 160548 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

4wtXqOT-f_=1ob%ia5 z>a18!HU&!5BYkPRI1c&Gggh!3k=1+_{9&yj{*XLOY2}^xW5x(XKe!(lR<&a$VXl%e z(=yBk-2t=xpvBGheX&jQ{5bKdgxQa*oxa3Q64A}%!|Y4chBL~6SrjmXzoBIDGk>7>2?#oh5H?zDdmfpS%(z?|&(I;n$UQHrx zemwC@cD@7snz-5InVR1YYYM`xW?3q%53Y*;ZJ%ecADk(?*=RnAZ*lnA4Rp{QwSVaV!Vz2V`Hcnzi@d#TS-p1W;^xjahz!6w7+zimNS z`3!2*^5kEh)v-B;AJ2~rt~_TAric#)E=F^N)5$$p??c*EHY!Qo$g8KOOcNZHXJJzk zC)^_lLM~>ZrYgeAWsBNDkuWwl4pE)*MuFEkb)t7j6n3{tv7?1cgDV_YL@Cw$-W3Cw z#6IzAXmPtZ(XEJX7pK;Tv9+CVmW7tcg#O8(@}t*iS9rdLr;gDsaaYN*!R@QA4BOs6V1PQfFmz+DH46P% zZ(P+|-eO~~jhU`KnQFt2sMTBE4aQHsB~=Q~k!$2%gnp`{TuKs?&;0J)6kuv<(*N!) z?uYB%c5#85aKBm?TJQp_m{NyjHD`byZQqeysO_>GJCrnL`^B&+HOxhSA4V|@<{xTef}-T=)@7vm()n(wur zImjNsXjgh3ZYLa3e*>f`3?!QO^@`EgUs7)n>z@Md@j5n|qnhxpaxoFy^bEnzw z@7{=^h!AlPdMsqzAXlYVXQWh1@=1~_5tE2|>+s8von?nmLyZF*86I7J+8e>(j_1=e zNw!N%P1v2K^}TWS4(yR(_Zc8>W(Ry4JSBM

5+bkWJt$F z`rXQY|H0m5U5wjq%K4yioV*fsssx^c3m}(_PgvAwIUQH&9fG$px?;;I%Vz9S#_6;| ze{2UHZHLqh4;%r_G8&NpE|!2>OAfVT{!e_7oew==ibDUv+#$wx%---cL(>?ep|_l2 zh!I%mS3#DyBa%c}OZ$tqrcZ3p9Z+w?ltoO4Glzh~*zcXkp#7%wfp6&Mp3?nu^H11q zA#Frm^W(+Cfcp?|$8UivGk@!YYptGt@f-6I@ZMGi72&7jd}KcCgF0V5;1aZ*&8DWm z#H0Uy&7-I1o=55MLuC;?FbdNenx+amm_1}oS^9cdWYd`ZUG?dU#js_9XXq{Yzir;? z%YRRGr}&>kTg=6Pi@F8d<>nF}+NxI4TobQ> zN>Z*S&t=F@S^+S5=0Y+^dO)Br?+31Riq{X3f8JWdq%@P6dY=@-g=(^8?qIVrURgLH zy$$osLddk8ET1A9$>C1%+@aCt3PVI1)f+u`HKZD^fafyJHzP{XpNwJVfWkPW{;a`z z$zcA`5R^(V4Ejbt4=@h}#MTDoMc^Dh|I)Ve(%h^R|Fqt?6LYJTxSx-IFaE1tSTntV zHJ3W9tKdJp7V9Z}WSm_gGDw(z@DURect`QjCa2JS5_{s%%)I7GI5&?$~NL{g87oz&d#(^SagcJbhKNgf{~sSSBN{f0bFg*;C6lgDv8!p9@Vz#4xE zEc0CGBndpJxqc`0S&BHMg#wq0ns&(N?#42dVx|GJk+z%OH^f&9v@!T zhJC91%WiWEWWge&>f#HM{X{=SA@%zIqU;MObzS{cNT!t+$R9oxm{wqQ|I=V8_r(`} zyCrwxzc%q@%#1q4MTnstvZgf;l*@{PVv$~O<|k(QG;e9@sjnE`H0Arv|wH; z#cqbB4t%E&zd2f7pcVdLeg*k{hI}7Ags5C!O%deLv&=82XElHLcdY8DlAtw~vbRs0 z|Ae>yVQ&-gcI8(lz&>t%32!Ue+fjJClf9j4o{zWN*jv4m{J3ZL`Q2+gM_klJccM?K zc{b4pZTIK8{7W+tCGznFGt*`Qqki=>A@iOc`*hkfcnYmgGq)Kg^pH)I!+qv#e1EL2 z;^O0gKdpZx?J+#J*0mwB!gRc8(LbE_2;S7=%^*hQhdvpD^~P@(#vnJTH*qXNgVdKo ziw)rD$w(0gn#6+EGL~xer%6b)7X8p_?@A|WL7~O{%n$flxp!UUB}s3a)ZF(|ST`QJ z4>(-X$E6vO5wex!X#(zNK&B4CMY4Gx zU>%UR9MV?dek<-v0ZVea81UP0zXb1(qFj>ORrucoSd!Bd0ece9CxN34uvWkx#xvPk zy}_a=wu!U?aIfQG7GXRi)6_I6k@!G$WDsO++*cH3+}tA)dsIHf92fi|u_pmGJRk82 z1G^%zt1vbN6;3jni0(G|dL{N9wU7u=kjqnQ5rsXh?~N$zlFhlY(Wn@KHFCsVyhc0G zO%=prl8<*R_%FQPxYyu|gTBfRy)IFIOC0pU8PO~by6!e{(4)-ot;H^;6bBz1TZp4hK)y3d?p;G{QZOFP|?4V+|MOmSe;<~GrTeL{+JO!jXv7zcaC z53dF7X>F8v;~3hp8CR62JKeWoMt!ft%xaVdx>sNYZ-|fXI!5=&J?I|J=$_Pr?uy&c zeWJwgJ?LKKCc0~Hp}WpUcN5}IOLTt{xQ&DLr`)sTI;V3v(PnkVy@P$!UkvL1ckIAh zs6QYhicvr6Hq@tx#{SgLbSoQmpneAO|J)f0`E$+}5lEu9WV;dqdIy2t*h{=)toEyZ zv`zqx=ipi;(K=-{_Ie=y*oOOzTNHQ2DIn}J3Ejg<*(JO4QGO-1q zj|@Q{iLnQ-4q2nYE>cCiDJ2jq64f>Z=6*|9zu-I{+Yaqf=tH-^K$(kHoWD%ACSwgEwqkhE8g$h%CQE`c{bXnU`BqV{WVyC{1fZXl}8p>WoH*yPed-T zgzql5#>}1URs2!rnchhjFmlhm*FHmS7dWUtK8f{K|zIOQNxlBrL`3o5S`i zW}}^Eqn+lsGGJ-<7lS{&Z-Oz5OCnH@zH1=HABqQArS0BiUtMDo(PnAL4ASJ5_?7Jcs0&;_u zGQ7e&X{Nf`8CHPycQ1xVE@F6fN_@#(qi@Tc@u^mQd|Est{(CO+X^88V>kwA{DC9Z> zxn8U}>qMc!Aa2F8!<*ef7e{>z9*B4XCtmS zd_RLe(WT#8@NPQZ(YP=K_cTV(xUo~}HxIpyCugn%rc3Ke`Q=8 ziJed`W~zgDSOXq5S|lER%R9y*@$p!2u>R^i>qv0$;xM%?=y|1&Bs=WwGr&vu`T7*wkiJmoK0_gG=| zQzZA~v(rG*;laU2KMLuPkCJA)xjHv&3TI+=R6Z7w+`+BDb|k}gTSW}o`Ex{sxEp1DmpCGAG|G&rp(r(T5{EHOM_)s6 zY33*D8Rzz|iNVuziG$My12Up!7@n3S4oHi_lLissWuCfgC!uAU;O!L-Z_Hl6?0Ck& z+wOw4VKzZj9^veVTs}xtr}afHu4?W`wpzx`2VeT{FFy33#OGZ+Y{z$s@v({c7ks=5 z|D@XxFOx1r{Ja=EPVqnX;Tv?G$%BPS>2H^DLzIYJULfFnoFY|GP?5SQxJXkJQUngD z(H-0mzZ%9nuiXROFC@YG@`kjNs5%CeA7l2Cwdkm7hb!kqm$g3pFUi*{xSSh$#<>o& zpVL_FPQcm;r{?Zf9Wi6JL;H-pV<7x)dQ)Es`oxNr&uGm$KK>KxFNMKa?Hy;6dtSK8 z!DD;yuK@!|mVCxMoA)@j?BNGu*Sb`uqcv!2ZYq4~dne5U{M@Uhh{XJ$rPM)Z^ju}} zQQ8olot_#J0}%-yv*~JYu#9tn7XEbI2^x_uS&jEwasNM|llc}psi)nUPTBtt>9nRB zo%B8Eq_~AnZ+D}UVJe+v3yp1Vu6IWDMW7MLUG;Q!zRvlCbqO(sbt%PUT`(Pz1P1h$~R-h<| zAuB^W?D#ZF=5eX9d&Rfw&pF}Kp;N)OLAjPIO!2c5QkVlkhb6EL;Ep`og#Ls2k}hk- zy$VQ~F87Nq)@9{Yhz>xWaASlRYn%8(^=vEoEq02f zh~?=Omp8ba^3)l6d71)cG}X_Ctv~_tG~zlg@n1@o%dz-P=x*7rip6wZ)L=p3AZi9P zErc8Ch5bx8G=v#7v@_EPn#pu}A?b!MdYgE(T8Rh=Ua`4Bb!ZAoO>Lm`zd2d2jTuo9 zw2_N#atzFPM8NKb@dvNUGTW-NJ{dL3@&neDfADH@vC;rvIND=1SiW{fnC~-SP2z?m zkYezV)q6PXG`!;Fx_>!?%@bg)4H@Xuje<5(gnM{tzyea09$*eA^5P`1uRv3(b0z9Z zv@OO(w1qt}&ddmXIM%usCuHcYOA)<2Qt0JKv%XZWVb5*wuWS?bH|Xhwzpht2Q=jlf zq|oT3JahMRx{;YH%Jy4B%8B!M!$J%3^RQIRt*aFnue>;8Lb8skrxgN7>1f#Zzys6s zq9&Sjja%${l)!p1^P2yUGZH6ppswIP?ZLfPK7Oy|U!W+(|N9U2coRr-L2jYQ?N1sy z4FQ@9*_%SA#o1Pvd(qieUd$z^Eq3|n;6c4TK3WhRym-zxLoc~Pe5TIaYyBJeOeah) zA8NHCI`S*mafS@+|L0h_xRwf|)hmWJYvfHIEmAfHQ1AglEEFJcw2#hZlb+p z*ifZhkIDQ6ejdL-7hjbUca}Wka)p^#O=`aug5Q5!BkR`*f(~o)oSi41OdWLA>ReFK zQ6GMg&iwEo($RMY|K5BTYh@|U5mBqE*5%|YR;2t?c}y3YHeS$x&mXJLwfqhaIovHJ z`5+=D3%E#y@#JXjr=ZDV)Fbj?o@>d(x&dhLw`TYp<09J7nrrUoOcx z`ZV^-$y^a;-m6usgI3$|mMkX2H%j(s5%z@#N2aH?zAih~x>82xpl!@q+9B_K>aL%) zU%6-Z2`aP-FF?Ec7`vZJVa%@zqs%iIkpi@PKY@l8y#3}31LK(HQ}1YF0A?9+_P4yF z0GWw1YV^?4!p?pGJx$}VBB$c^R}=eGaHC{rXIr0+e9nS>N${dN^-;Z=Nn3BNIyDv1 zfl1aj)v8jn^@=nl?rUq0g~>RoKaKGjsBs*b|LhnykBb`x z>%J$ial^UwIC)11fE|e*e!89F{7$kD8{>$dmv2q9B1)gf>81HwlEau8xJ~By?m9)A z*_*?4$UPn62UowVQKS$z{8A(1JH&7CEaM}qyyD5a#pOfIfAm@TN*bgdt%g2>R*Ocf zxe#w(gMDX12aVLFSU(`|Caw7ozLu8K^u56&5lG{3zvm<@mR`LB_>yaZ{6=5%!avz^Ff4-`N+$vpU$a<;TEZc72Gu@ip;0Qxe5xD&``b%< zae@|&c~rM!zPyRwS^g~VP<9IA0BbN#RXWxgh)6O)=F9(!{G!}WUw&0R@}n3OkYlwg z5BAEyd3K$go--V+k>OGpu8Fd?(wUHv&7Or@W>VydAalcQN|7Q@p#5EEoP@KtM;W9? ztpvx0f%BlYVZ=r*b1Eq2?k+^wH5QN^++*PX(;dXQf#7{Unp@o|)?Xvu&u~oe z@jma#Vf*s%ph1*j;=9S$PJ+LsGO{`nane|Lc4RdXBu0zhr!Xas316DGz{)r@LOkXc1Ri z%x1*rocEj8b))N82HmAyKj?ZLBb2==RTvEoP7Vb zgoCNVTFgd@_5ITNp{H%dd>oc3h$}-UVP<(g)-WI7TkJW(OEsy&V#WvI=zAoyyLdMS z_tZy?=p$Wy(}d@2JcCEFC>AuG`QsJeb6XGo(#QuQdc<%#!;{Wc`Iu>u?3~JXE<#(o z$ZV@K{dBb|^EqJpQO!Ac_H(gL#1Ek;CY@t3YS&73E35M{=J}!(&&W5Sq@#!?K>z*f z_F7d1v(ZB>pqt4vA-^1}Q(l}sNpn{dY@%a?AJU}Ueq$c$IPDTvmpP80MuqYiw8|j` zA7JhG>K+wj<%7sWsMzMSxt$K1Ta5LHIY1|?B`!{e)orbV8>SNm^^!|D6rc|7x&T2!Gb_KGF7Q-t8{ka_H#$@8s^ zXlKLP(l95B*cGoAU@;8eG3cMQ>S&@P;tk-LayC&-M(=QV#m$)ef8_Y9nbXZnhc3R3 zhc^>fI1#!eohNI>u8tSJ#A}@|nT^71cu^?V^J`uNM4S)8V*X<~>6TlopL3#&ct`=9 zRVS6JsijhbQS-0SJ6=FZlbT2Ge#Wd5rl2f-&C|$dgfE{=^9+=URK&~yWrWcyO&ZTQr#@S zlw-|_NNKJTSv=8?sNj+q~_FJ>Qvex zjj^jSf6CSkV)G}8x+Kk?NZS%c51UQIU%r4oyc`#eQPkhb=6PEy`Z=yDTpnCkaTNfD z?4L~{)+=zo4VMb{JMoQdpmT9=!hIC3CAjwCxfU=aA2`FC6jO#p-`apVK1JUOgpcEJ zSn+5M1~2Y&kj;wTQL$cs4t+pXLso}Z9052zjPnf34=hrmkLDI~jS9tCZ&ayKpq{xL zd$6zsv?VPTqG%QGA2!Y)&qdUjvJ+|9pp4yBiPP8|$dBS#a-J$1VnyI-AA353r+?vT zC!SPT;gGA*|3SgOR!|Pv!ngSL9`oDhJX>u;h3U)=|LckXCU?9pS_j$eIDj>f;k<~` z&1gm5`+oplC}BL72VMyGMN6EJvk5%5 zDP6>AVh3>Ek|>_`d7o|u2EVY~?yTKwkoHZMc9~z=x6SV$ovZ#qj8idR!{#dbb@M8= z&zR*&!9K6bjvbw^!8rxA`=!B(KfMhH|2XRBfkQuHxxcjgZy4JW@I?Wgi&7C+{|)(s z+y7*i7sgtZg^N+nXZ24xjfioe)?>Y*Ca}PZ**|gYBfICpKSv%t7vod9luO|}q^8J` z;dVJ}Xq4+j?EX)LY~aY~M8rw4^8t zT;XeeDJC$_r}0RYSicUbw17@WstA@UU^l$1b?}Wqs@afMibB;!YD4)NWnmoRZi_gb z`O4)HpaXPspG@d#;UVyO60wu`>t#`_XFJ7z*oB=y$OVF&>xV;scsz-S0Pxu5exL$Q ze!zE<8(lf|#`$+5{Qrxcp(qJ+dweH(*7aR&?uYN^>$W&a4m6_=XLvErhTRFks3ij7B9Uq;bR(r4U1%99ZhNLd9wYvAu$5xF}t#Gx1$ScE<}5pf;M2S88o zU@bxV)>vUg?^@2dKHd>vv3V7x-+MU=<#pFyZWxE?MP)djR$-{n2ChDV)yEIZrwG)4 zBON7P_zRVb@C1JZ<4w#!F1EiAYmuE5#pCs{Rz-ZBmcREOiB)G1`Iz*?$?~$?$=_l> zxXCHvlu7c&2?C{qn1o&cN~(OlQi=5^5p#+2(BJ2v?gmcA6o6a}$_5wn2gh^zzKAK7(Rwy1(egv>2nWC_lFRC9=-(m{-YsKq_gqR%JY+Zd3#uh1PVJJ3y^E@~H5e<8g0*jT=hoD$mk> z3-x^JJr#~b0nm_QQ|k{s!RcMok2$69r|T)g|GoH*$dmYPktBjWr&ov_MD zWvl_+wt`+nH{vxT{yqCOK8lH=owc^kF{cN`E86~U@$BL#QT#L8 z4{dae_toULx=*Z}zG-?ja7+e{lJ8i>Q&|XQmJ2N zslrQJA{{+arTbDvuvFi4OO?q|X-oUL1JyJ)rShacR_^O#2`mEMjvIZfwDt+(74Ih2eoxH2ilDEBhbH=vedCcwjsVCbphZyVJZN1<5s1S#~thj!&FURmwyK8T>dnJpp$a$8-TkLicP$jkd(4lDW z=Wc25dvCP2yGP62->toW>(+7;eeF#xH;1K@+U-YQyUoDvC`AkGl8r~*QoDV@D3)1E z?Izr4x6j;N?RLP|Diaw^zx1`rM=Z6}Zu?jcaqRnHU#qNh`?pFtDDK4^@^zo&?4tMf zJJMSPdM^OI{|b7~2fd^G=$-AOch`6$iaJK`KRD#KrS|{3@n#Q;GJbQs>F@47-fTvU zIREiR?WVDS>o(pLxc$eQc31cD<{40}=Xf*Wj^oXI#OA*_-i-63S%HscQ8##Wg)h>` zcAMWATbv6F7MaQUp zQ?{(E=_y-688y3P%VL(=U$$IlyNX@1#aiP}ZIUfNU|!l&wk*AaY-z=Ovb$`V<45nS zpf~L!(+Z$^(>h_3Fr%E;MPmmz7Ap?e$HA&Yr>JPBy*yET8|Ak7G_7EaA;FmOt<;b< z6MoCCT`M90=mgTAm-v-ulu_L8*UDB2N+Ec|nMOX8Sto=>Aa-ZOkz64Y_CN0lwu76n zJ~pp>Hde)A>@wX*fh_l=UA#{5i#A%x7sb>Y*l;>E)<>cDc?u83sA%MQtanCJq{4?hJWr8PUMpKC%p@Fi=5oZs$Ik9-MvYD}&sVnkHf6te$FjAo z?880E?xKVGj&!gvI;58?K!Mpl8X#_j4~JuznM$p3v;N!fh{G@SRR1$QaG>>_wPm9+ z-VpTf1{N5s0c*~BmzVV^@IU0?2R;bA(bDh%sgZpmA{OIwXyNg&df?XK zjPuSAU%N8frMFte#lVT$H397!f_8<*>AB3};@_@aS0Dm7wX3ndt6f+1!0+Z60D&Wl z*(&4;%)k2~_WYO%Zsgq#x%JJ&UKO&xJ~HV0J#$7RRt`^l#5>lc6XFmxC{ie$tSXQF zYrI8josm9z*)UoS#_WGEd=Z+L49=uT$z76$TPJ66l3T?DM1emK+(MD+H`FK4aU@JGN5x-Kdp{g{*16?USIG(TPiKBBpD zHvSLe^6U?U6zVLewS@6jT1zNN>|gOW>yv}#j2u@PZI-#ekw0TqJ@}a_$nn5HZU~}` zgz@84<*hhj@}orYOoGq~dv(cLpcOGMC5sCY>x3D=y$@>K2dDQ2#P!C0mg<)MtX9!Z ztM8&_TjP^IVBUcnMP9>Mt3QBPwzF&#G%GiUgVnKZ??0|TK!9sA==<^g;%T_M8 zE-cTshNH&04F+p5yQ``){c zb9O!GsR1bAH_R5MlxLN5`uhO|FNqkrBL-_&t%%hZ`2KU2C9w6F09)i%abJDl#sij3 zc#d}%@jR}chtB|dU~S;WVrwf_BWRaD${{@!Au3v6@eiP*2ea)qM=wO+^xvPP)7>EP zus<1UZWR@^fyMirnshDlSx^_aty6rx6OpxGB}H%MvNtx^Fl}~fK`Ww}7Z>r519YLe zxI%afwe5#f+t7aZB?xTa?p4kTIig}Ct%@T0rh0f4X{faoPU~HJVHaLH1vMxFhJixr z*;d5=qc(rg+-Nw5SfSFM{6w?=j{NTnj7Q^{wJI_xCu*QN2E-F@~L8fL`37 z-ndkVMe8i8%RXpA?wR$pVkajH)BA$gA9n`7{{zl5UXQg@SRMExVyibwmJQsRjn-(a ziW|ToFS~!oz7Dm@f?8$FQlX!tRWt*?PaIL^e;Xu=D9K_U5u!j#Eoj-BJX%Xz#To8m zP<|Ysi;yb2mID=s)P|amqtvc4$pQeH3{oj@b`)Wn=zhgH#YbPF?LMW9GvRp&{*Cxg z#lH^M{~5gp-=O#NjNWOW_j%0Ds~nRcP4XAsiQ?nCQQYG?)`Q{^bzKxcTq{w0U7bJ0 zVIB7V_np}6C0bK}+ zzvm{3&v%EJ&)!0D4JeND;26bMx|Tqmtn{OKZUF3X@SK5vEB>|kuLaGi@5dm9vkqs^ zkhHsuNO`R|*Ih(gLXvKuu)PuYZyor;Cc%d(|-lP7W00}nDXCoj**B!?w zFb?>PLmy0ZU2w{Ev1~7k8_KP1MYPRriNB+j!cnUSusX@bop#8P^ULf+41=W=QNlTW zFF}X8zKk=yx#(7$+Xve=JKf)}pMdd^^rKen=34+=i#hH=#}F%dSz2)-Rzy}-^T$j2 zvQtf9!*w%;FdKakQMU-%L=C5VpLwY~)JL+imU!O(3=&|9GyAwBr9L`t!+s#~@4y$} z1B7?mKtu5C0z3D%*7t>R{2G!wppoSp~ej`_|P<2-w9LA$u<7Z5?d z6{o7qk1mUP&78#I5`2m?Oi}OJ7xc7yjy7g#I8Uj~B$%2ydqJYQNe=$Wp^hf$IE%$f z)q3KQMXh!+@@cVxJVWRxw zM0rIvd~CW#e#xqXWJtieR-8J=>3(o#A?JsDIZL#k%yOQLoF^maVKr;P`PVTIeifXr zcM<2;*N{ixdPGs}vdEOYK(GUa*qKV~wzXpS|Bpy_p61Wst#!CR<0=DZb1a8{*TkdT z;W#&-D~FM+&vl)3M>)7Kmu?kDx@g4yGtwVMUM;`@`^mszXAPogHgE95K|1T4;w?w| za5#oj>xurYI9slFCZ$?a1Ha@diaUQ7^n`&?uzFG5w4{V4ZzF9SD{ML?ddN0la6db9 z=V~C%j{?6{_Ta%T{`2B}6kx7`7ftxDlz8%?!NTJYe}vvkR`EF76FixXT1>5Y!JsPS z;{J+}HfXzQ2c$PU2QNU#LH$wzF%5f17?W`pfn1=Th)ChSp17|@>WSg7piz7!^+af@ z)Vu7UO*QqzVJ=7cN$dtuPrQhpct6e;`glnK;}j$^C<3(xaOc;NKPn)ce8liwz4-MCwKv;K-g(b2%hxz z7Q_Oe-itegg3wF0sJb5c&VFnL3bM&v}hOn{w&rjLb2I(1kCaL7t<9&Hv{>qAT{s zpf}8^mLyaQB5q3(szsdBKvJm%d!fI3vwafk<|qg1%oTbw$zChki@m$O%hdgJ1b%3?lIT7vK;FDaE zKjl4)TPglyJR)k7#A^``)V<&weG6aHNQBe0067AD{ZZXYwEo{4v^X#5Bit=+AU=Ap zp7>yHy&kEZexn$jH5?F4vJYpjGCrdDe+zb_X%t(5^l|mbt)3)ai)gNwBwiTKp}_em z(r9!;PwFZ0W+A8Ne0+2}nYR-BqEkt7FBShBF48Nr5vw`1d>Kxc)B=;-dL3~v&Z4B5 zWWs*vg7AmpPsa!eU+_8&WZpCI@Ze%vF)O6LFBi61RONA&dYor85O1c`*8qnEI>(8f z#zpfk^2$*NeTDdg+(^Z*NmkB!LR*l?olf|o)H+hIYg^z|AX%)pAT8lkfO#%i8^7wc zSdIA4YqtO^J+PW>*#b-{svG&W(A+qDpQ+WVfbW4~xe#`IXLT4?gn0C;aM4Mp+!4eH zu^aa(gv0nUR0#Wa6aHVtWyDt-Xz;)KUdq1fkY35s#|dFaDW9;Tn~?u@{IpOxNN|w_D|9CX)QQeQuT$6rPJEOee}3lzCSy)g?Q)ZkqEUY2Km4 z!piy5hxb@F`8wKfgZGDC%I{mi5Wwe0@i_4_SU9;D}Fl^?>V+_h7(M zd4zWWlM^ye3h-87j<9@zf^o{*I9sqMP7*BVnTGTP`vzc1sw}2+2;u8A-4FjR*qTm) zH8l3vBm#!~&km z^{>YxtRAMO-%;LH#jI8(X)^{9hfq<*f3x8-5vaqlg8+^k23ug?7dOZCtJ_CN&Y zdAF&@YE}=dQUTTqSoIxYd5_!26G5o+%J^n@XZOsvdp%|Yp33#F$Lqd&+=KG=ArH)^ zyWysZS#<;v7pu&gZTpd7x0^iGEL z3~z-zeSnoOC`Lf^Cd>nhk5Zb9CI>rZBC%Cx;-h=%2UsaOeKX?ow}|I!;E8Kj?LUJ! zo~u$+r#N>$k0`wMUP6CCwy|n5jiaX4lHT$(d3v+>GVmQ2hjkuYF(a|Y-sH$gY%NXX z_9I8lvNAa$rO0H^h&g_BV(Xj?KAPUsYE28gRR~jdR^sFU!DbB;7FkydA=(cUi;s|x z*N{_lxDOLYu-~hdh^$>24G;DR#E(@Nizky6(jZ48B9=76<03w1LV2V0eu{pJ?<#!f zt9V2F%rfhD$Z3(ql$?g$8k~Ezg zTIDqElfyb;jN@ofQb^#4ELXuqiziPx2f54#&a;t6-`wfBOT9At&$$7W@-U??$;J2T z^%BjHcu%053j;j&y~^a0hbs-?F9qoGMyO6H4KwL&kYhR@pEtr=nH^Oz{gRW{<;4y> zg*^FRgL>uC%1B;pU*Gd1xpJKh&mq3&)wzhIjAtc#R_ZEpe+^PZPn-TVc(JUJdsZ!| z_A7pVD9nzT=ero2zTvp&{~P(ALjGvYtjyN7+2H5WuUmJ>$$K6V5OlQ0|H@KCvNUmV ziyYk0tk%xlI7AAU!RjAz3uN}D!H8cVm-7WUeE<{uR+R5%V&g`3 zB7V3|hxls;RUJWX6vHnZ=NG(dqw@>)@T>W^`RRN;cZ~ZNM|a2YdyI?3(|g=cd=zgG z9u>x66)K|iK|%3;vA}IiD(4Lc8uP;Br(}i$Ew-%LCpIJ>OHNLvc%A&c#(VZAmQ=oC z9k>^D{qrGMyJKHv3F;W|qUZ0EL#k$`3^`Svn0V@7;;JLcXhn38mLEGu8y>$SQGFs3 z`{7|D>MAJ;QV`zF(e6lW{+Z%*ki`w^%K`gv&U3yEtGcB_wBI^q(Z4zAT{x_;$jhF* z`$Mr}k%51T#U1YOW=|>q713ae6JeZyDANiKC$;&~f9RA)f9Xufrr2#mwC_33!r$>g zqwU$aBT9q9P?@r(Qf}CgT;PPia9$kpR|aKy6hV)}6Npp2?BomztmQ}^jCQ~V)I7UR`R|#t(A&RD}|9xtfQ}kw`x=8gwcYc=xVjhz{T2|dgm8uliYG8#dNE; z1&%T`Df6FBL3FZw*`^PXe`NlPp1j1hxQoi?M(sPIHsGA4F?Q|Bl(Uuh2#QV0_iVz| z%bB5X++R8sx(||RR!VT0pFH^Z)<-hx|^D|+RARUInUBvs9Y($aXHJi zQuP{2rnXS~+9ITCS>g+)_)S|9mz;Wv+5v4WrO9he-i?-+Kp4E}N|Hat<;7N4@`eUq zYpR7Xq<#7<@z_%-e>h8R`&7ztzZ{NIOCtTfzvji(oZ$^uq?CUPM(fS+#$#m88>u-Z z(><9I1PtW5&56oW$R&9*@tRJdTdI{fqFQSI%cyHyUTgGjnPDGl+u0non=jdSqozfP zlUn=imK(yIYQvXKnf||*m4?|)r9tJC8P{NBxdi>JffHf|0FX^#G= z9Hu}@+ui3+$cI%q`&je98K2npqONv$PVSXz3cBoV;Rfq|Hfp&lF#4y>$uoD(A{+94Jn7FWh{rCjIxx&Z>QxtqxLsvxRr~c7B+DvE-z-m zDdMF0KcfbN>wos~5y~`bzh{uMa4vh})x4O;7~C@qZV`jCdtS3CjYjQ$=QJzwjIDG8 z#?Cwi>|dPuGs>GZ=V!*tx*#2DlK1`z74m%Fc>! zR2Na}S3wyX<%n~LHmaYIA4xbLWw;Zt3D6p~F9F}|@@8>rZC=c_N*aU6$f@z?JvVaNgZg(izp&e=eb}i4tl1fW-^ornQY1SAasQBW zYT|5nlAJhejh1+eYS23}$*n{^Hdg%XQ~-7~#?ss$5Q`Fgk_#S@TQRE6qS1Aw5NXB8 zDx+8?t1+q;FWr>G#oY`02rhV!a7v(&l}1yN838zNQDr-mGb4Fs&WBdDo0sWwxKXb- z=)Az!Y-i!&sh@j1`ALkXw3qgzm$z^uInO5Mu`{M3McAIq6$dvOgG+LFBUi9A@f6P7 zP}wqs$ApDecR4qFk97jCaw~%P`_hE}XdT&|;!hn~uR=G^nh32+1(~zMT4P-*q$Wel zcI~h(v`$ansy&o=zEUUo^SxuS&O{86eI3dIzF59E$s?1?b1ztBu@OgL%b*X0O>d%y zml0Om;hUoBkTvCv;%P!|FU|4IlAfC5^q4oBo+ddX1)?Z{%Gv z)Znp-)YgQtbU$~mN>7^0q~^@s+;HS12lfRIK+1=gt%io7KzwdRX^9XFjurfkiUuNAT&gpq>0xEWRv@(mA1 z$~W+aKlaZXg+6WA&-!#g$^ILXeQhGl7!072eN#%XL(_yYQa8gQ zp5MqtL#wmrjgq@HvRGljDZbbp^c*y84*C@7*}a(_{Ymg6xuj(Wv!{6>t8)o^1wF|X z(Ld+LhE1FPN+h+%?8~6Qkf5ppl1=G-Jb5yjlh9n_Rp`tkbBRB9=El4(Luokk?kzC^0G)okn0Oc z^=un#?1k{yr!YeI@yz62=+OQ;l+IDdCC#UtM4^VpNBn3xiA`I66q$YpM81>#-x21NoY*c3#Q}|X!nHb3qfc{ z+2@b)df(hnwk3F_7rhG4tQW~{p1S$O0V2#2(v_~yfULrYm0ogYBOrz zuKyryGipD*A=Wxx%f;H7+HIA+HucGJ&7LvvF5(p8>O+rqMo-CA>(CeEU9;LgFBRqT zhNa*mTV$^V6)&xR>5-SFEf`l7YrP-&bZLC3S8OEp4B4+i627bt;mMp!*s?x^r#Es5 zSJsC(h5px|W4ZjjZ%!}MYN{qIR%}nuD)dPnB`6nbrPJB3V0Yd)P{C|FsJwqUW33pM zCeTSyhaPQmGFq!8S|f&pFJ8?aShVp&n{mo$7qxY#z6nAdWwN0XZd!)vvfwvBOZia3 zFO0oO3V8$6R175?16V&-4t)dkROsblYS2^dR&oy^63Z1>0>nhxBFlk6f>tU&&YBmO zeyXd*WW)X2EHPI;+`rA1<|>BYY%}HXZ*moSL)fzEdchu)v z7L>!*jIZw4RupL3{bpiycpRIm;7XK9?Ik z&k;M9VwM!xtX4J74_(;lwvztPkLeG``PXwzr-@C4w??K*qj?MWHdv%TBz%=zJlSP6Sarg7#KT-@-C;eHxH|c_O41gH zPJK#p;jZOqL5L=?WhG{jj zWjE{f604VdLy%U!y2$CahR2S$K`W?06X-GF zWnV*&i7F@*Hel_~YE2Ui&|XqIXl^T{Je#~Une>+^rn?aJwmH!z&|QvHdcXXaI%@{-YcS_PN8>T^!rY&-u|vP#;DeE(Vt_*h5FcAc%CNcPDOk&7o%LHHp_Lo z5ATgResg6k%T*FDjoFfpk>z@Fnlx(rq$5V{ELZ=9ym8uelU4!mDOme#Q12+7Eb+oi zOG(CW=bzy%vJtYo`9ETDm+t;3v*1d{)9>CQrK#y3IPajKFYfQTBJQl+BWwf4E7Tv- z>WF%R@CdCuJcyZjYTv5Bk*213OBZ0y{+FfjumXRWnqFR-h~IaXaw9Qg*9YnOF>8|l zKla`QJgVy4|KBqSFbNTYL=6z_1_A~M5F}_o#1N8!XoQ#qi;7J`GB5*^i^&9orOgmh zMH_q2Vo#);Hulh-sE9$a1x1O9l`8fGiyD-+QMm_gK!gD){J-y7d(FI)>$dm)S=vK;?{WTx=7c9|qrcc~8MY0vKEBsFY#Z(pU;d@n+BLAV ztah91>!4Tmh43x>$!&h$=HfXCHPj!2f}@mHruk zwdub|t2veM!kt}a01k;607{X`_S`NmQ7U}0f>PnciVFXn&J*dsf=glKk}<1uvRg=^ zDHLD-H+tkTUWDZ9wiT8BnFJYgvfo3!){&#_HDiW~JHV$AsExXH}jw$ zVRMfD?K-Qt0w0p_rj;<=e?82&ehaQ!!(#l`!;S0Ha2=yxalO|Fge-|%!y8`0R^o}= zKbYnUmA-}cv*`Jc#`h9F_||e0<+i*J*pb^?Gdfu+4sPFK@Bh4ZJ?2s0Lwgsi+cC!* z6^n76C5r6PJ)~jg>uF!L^=kjUM)9A3*0^Ejiy5xn;cKbgeImVM|0(VGp=9(12jwJZ z-iY4d?4x)C)d89rtT}c5c{w+D;pCa;dp#AH7hHwevd-tjhJSe=a(LE3>#)(73k$=H z*?|MShCO}2Y*e%3fOYsy2YU~D;y~E&uMYGc-g+QxSpS24hCO| zD@Tv;{(Q_B>;=M)`tzOWXG}%kJ_}6!`qpN=0h@|MMFp|iK}|1C>zP^@Jk`uTWnKHjo11>XkNB5Qk1{_(3Qsw5vlHRA(zxOF71_@; z477Aa_L+0^i|c6oaGihr(8m`$^}^8A7(pyVjiUNXp&odDt&i3TX$(=D9vDO1+AdtR z1llATMO?c#yNS{PHD3EP0%;IMJ?TpwO;B8an)gKdfOgEDw?{mOoOuHw$5>;K{ViO{ z>g*NuL^|^1jjvDF9-$PFY0@xr&f07|$FLUj1=p|079$QBy3L2OpPTFqLx{+2Z8F9l zL!~{+A4<=LneB&e#k+8{&hvPqs z)cPQutYN;`#MBeN^uE-WQmkf7JyI+6#2#(Qd*H7`4E9{s~W1Abr*ybh*uNPyRK9>JP2v(lA4o^9Ra1Nzhf89RKp4Mr# z-i%f`VQAu^6Q>(7=RkYpEsx^e?J!k)<(BQzbb8~j&0gWshJJl|)sc_TPn=djYj{Ij zwfGVCuU$h1?R9P4wAN`I9n*S`>r>~J*yu6+F&`1u84(c?6B9%KBJh83%wUxCuTNin znB1^TN=n|4@%J{YAg-|CYNWXO^`WiV$Ai~xSJS%fO03&P*>R^3E4Q1x__Ae-HsYS! zdlfu`H%P|O{ic6n>o|L4`zOwRqtjdakDk*SJ^JoeTKC+X@x8tDmE?N|Q5e74eUEDp zLix(Peq+Axvou^d_D~uE7N|}Iuz}4^#uw?!y$V9 zazpFSMSta9eE)fX5en*&y_xY%+pmPiFKO=GW?5_P*co=WGg#;AwtAuSNGr|jk{;aY zJ5==PE}Txk@FwQ>et75==f5Aq&YDxRutF4m`-#)5zFLQJLH8`0|F4(jV$Sp5g#8FR z)?dKb?{RN(@LjOj zn{y(tvt;`^`#ZSugl0Y7FKjsWAUxj@cEvlsM7(wVYdm}PA^OoYGkxXmcYH}+_>=Xq zFMJsMib`36)x#ue4_DRo`6ldv*J$6wznyWPb=zFi?E{euDMfT&n^xDcxXpQ+R zcq50_c~x!75`4=6UjV9G+2jY;k7_s|brSPz)^!@_E}t+S8qlk|6d zv%K&4rZ&FUp+#;v-mAZM;u_2u#C9In4r4a(D$7+ET)%QWtbgi>n^&S8v}r?^6+gIy zLjAEXwPoP7eKCG6%FsHW^;R$G^Nn@+6n9jIH_X~m+t+eKuFtb>&e5Otol^V`R&S8@ zEx2zr(~k3qj=oVJ`=&PU!U+2d`*XOm)t%zp<+Eki<15Gyx-)%R>Mo4<>wUfSYd1ZI z6%>4reZ?ysw#avU>5W?FuU34!Bn-sU^VXB|UZ{5WN=U#Om?hzwy=#3I%xzIf2O`D$ z?jG`a814XreSMQ2PwjI<)C{_+b^5%tl0Ogq(XB3v{s!(8fA?*RJ#l*eKO*%L_$K_X z+FwDcByZo1TGK0n-Y~9p-nHV)61-;?_TeHrV!dkX?Rcxy(7x?)*uR5(vqeK@J8SW! z9kp4*TKi0}OneGHJcV>hSz(zN)?r0`Yw6r1N@q!{OwUhWq!j&Ou}agLlXtyvHD-sL zwLW*uu#fSkv{uXp^}{=A`l0WQ64kyomA=}ob#Cwuuxl>MuqnlDGojaleE4DCj`}dX z-&~)8JV+@>MXl|FJX~0->3G)7R$Uy2E0KuTo%YC~G>%?adv?haXS5`3%r?9ymTGqR zr%!%1@Qh`=HahGRY9Xd)oNk+r7~EM)1dS-qzar zrDz{o+pvz_SN~$uOU{*Bw=A)s-Y2$9!pzI}tTQ48oVA{q?;9RH9kVrAzTx^)2PfJ8 z{ooiE-T>b`dhxyKk(;ceGFk^aEjJ78&TvZ2Wm@+>DzK((K%wwbbeiuv3e%&ljzoEohjzY{^;Y z3Omxd9DCcsD2-*wNUyaFrLsP`_~C;I_Q^{woc{5-LkB)aIvsWH>aba^7(EhqHf!hA zS4Urcbszle6Wu53>H(d|o6f}AKiLL5b7BVWv%y!>!;$rcYOC>jJdan zy?^&@?j>ionlVq*Jn6*gh7Ouf>w7lp9L-)*I}wH4nX;AE2>|1*e+F+!4``?h-e?zKMil24f=CfjE4g20# zG`Th&q7qRU5snfu-#0XR0?NddotFN;!BgXZ_vu$H#?xdcPCqDO{7^^Ak~406ar;}J zdnH!nQKMFB!=@CS+Hb=?yX<*?iM4iEqUzG_rZ2wh7fzKvzjE-svFp;dpK?8~5BA2s zaPSo>F=+4f7Hz1{m3}lV2IXecF61+MjeRWz0}Ade7=h8E#a4;k8T}7dyBatB&=qG1 z-%e%nJ)bT0wN@%aL;Yo_Vdmr|s|qMKH>`w?x6e24R%k=Rr)(`cyWq9rSC;&6$=Wos zO?Qr|&0(zrueA(Yn|ij$xA@GGY+v|)`xa2$+r7y_H5K2?qFC+lu5;e)vLsGVzpHi3 z2l#fU+cI41^nOdew0V6?B92=kVkXVXIMlXv$%9KQ6SfvTp7y7`fm&H}vUCH&QDuq$ z0a8D?r8wi(Q;rRIlgsx8Y^ro7xv(EH`NSb>;(e`OVto2>#j(tP;NHIW=<>p;#mkF6 zJXpPid}^(gZg}lKp!eRxZj!4KwcnDAwZ9MWdc=YKVLk8JUK!>e+%1_&!Qz5-sB4VHvH?p?f9}=?Bh=BD9iSgC0Dvqeb&`Y zF32a=r5*oE*1=CO!yDa5>G_Z6d3qu(J2jDlH?@WjpXZBgely+XEM1o9I^tYEsPDI7 z+RuhuG5Q9yi&u6&sikO-TZ%CY5rsVubQXpGQIyd80! zdSrrK8>x-TX^k9}ygd?c64!=X+bt7+o)-Q=%$YFkpV0cB{`BW*<67^DOKcrpZ5fUG zeb|uJHJGQcj*i0Uf5y>W0|$bwEnx=NPwWd0YY8_vD>rWY8r)N69F3|Rh!!dadyI0! z?zLHNTp#<$;8e`ezK#|;A@eodGlz*B8F!@fpfq2=SOT0DM<}jE$rLgCx+Tj;2ro#g`{5&qOX#zIj|Y;1=L15?7Qr{G2^`jtzr_sYMa;^IW~Fw z7<=S!w2rp0cIvM*WP~A4ZMgHC{9Yc8YMR?OhcxNAu zJ~+{yhHy35Z^!tW?rM7L7SY?9PQ5K1Wh`k$TKL|WGn!GxR;0zWT9U5BXzgsl&4ux? zEgd%7KTo&$EH~clI_o@wdDKr2t;QPEg@eDh(QH7v@GnyMclF`61G3HSZC|#e9y6M& zyR_P0W0!jBseS|gdHPOY^?qtAkWP5_-O{ZSQS*;m>3gon@eYOCcB96$7$TQEPG5rw;NR5ZOK{T*kkFWTFCS@fu@(CQ56jMW~| z256hLH?$A6SaJ3t{(q=NSYowXwJ$W6)(hW_u&to?mtmav6K&j?-3=&zmhqxJ*xP^^ zBU^QPIrNZnSJcKxC{KnixriQ zNXzllkK(;!*kz{QGxs^T*|fWK8QhA_-K0BHH?2tP-8#T-dE)%(3arrDS}bd~53zOh z4x?UetTqL61ULG^>{<%u|McMnKRu+4TlFuAA#d>>hO0Fv?|UHyYr*GEFTOzE8nWm+ zFbkF|B-w`Kz6(?fwK4a!W>P)WT4wxd2DB^|{nkSkxG?nv+py_&YtwP8|Nj+VWJ6mt0{cgalG5V z*DopE{&CQ9{qaLG)W5~IDX=f6@Z9NtKc8a%{9qEkZuJRhHR#iWwwE(cy)|(+#v5;( zxM~L8bDD9*?%P}%)|@Q`w#*iMjqeFGSvPHn)mPT{DhpMR-sfBX>( z9!-~J{T#}=?d6py6SmiA9bkq1ZPzNhWo*jcK8v-H*7n~Hv5XzCw|B?f@agvN`;xUj z9XleApI(o52S&Dbe)9aFFJ^ohyD-i&_RF>e``oQ4-w)H%F_-b}MuJ1XzY14{b4cf?u zUER{gYwMV0`@Sy$MrTA*p>*NV&XD?NoC2gyU6L!?a(vuIo4&vDJ7J%-ej(4-{{`>f#BVcxTkvbaZwG$6@Y{pmKK$s|4>PF~ z-$`|siGcde!s6omBDafl^7(mDSry{sSn9#`Q0JA7(&GHG%JTdQN4a~MmT$_%6^nx8 zUAe*$EN8s1!r?Fim(S0IKcwfVsGxA0GWo;h0cKgCg*vC0=R2y)T@?rcGWKG8f0d)k zA(IPbprWiOU&izPd{?Q*QBhjxh8v--I}0nF`9+0p_kzNrCHV`MQNf~kUGnt>Ri&;{ z6fw8kQEX z!jBN=6%J2@Oe<-MLY7}zR_-VjVKZk@SY`Vl3$AgF%C*#JH>e`{&x_n;mDHptSy!&8 zf^W)=Zs-0wBQq{ghk9a@GA-P>$aRrc)K;)O<@QJ}+ZYszF6T0>%3Y<4R9u42mj>dG zl<~)x3WL%Qb&mQ{f!57$C%~l+(VFKQW=Ww-b&BPcb1hn#uqNAa=DAgSCp5?leD>+ zS?S};t16vilg8aJZer5-;zCDBS?T!7^73&-@J5?aRx09=>nSTIuEc*czvq@NDJ^@T zR2TOm3J-M6^m6H5rBj$G$RjGrO+6zgN0_tbW(zZOwx-X%YkC&RvU4)&nweW!b9B|P z=|xU`L^+Z~{au0`L)+Z#jM;e^Ir_9|(=P7!6di42S&@!9Rz}TR&tY8>tbUPrLAj{N zQSR|Oeo_5OSD8{a)14t&RHT)T8?vK#icC23Fju-Bq{38uUx+x(sBlnbA{*x9W*eTG z`I(FA8LVaQU% zmY3(diba*jGMRZ;+$H&o93FjPp$i`9Q}hx90__CaiwX)%kLf(8%A=Ppgq4yqy6u>T zA>vNzpy;BfIz{&^D|ev&>#kz@UsAb<3L7;^rgqUAp{8o~+$?;K+N4dZQe6+7G*!!1 zQs^mihD`gVMP;Q6jp$N3n!BqyH7J|pw4>Tp>8Ui;MPByU(3rW;?My*S>?|xTrqovr zma2FcwMz|Jh&V*pE6PgrB2gj(>F#!v%I4QJF2Q!FuSL1EV425Z9`}fB6xu0zPR309 z?le!!%+jTWZe+JnuFz(cms9p5UmYdo9?@sYpc5g;q}vyjaVoCnVU&KRXZU^XQ7?0L zW}XO~Sz1z1GSg+jky)IG6hr4mMbtrs5k`L zolM-&{Z-5~zN+ovnr3k^@`4)Mka;28Lbp@*l<6ZX^@I`SqfGsrTUuFFUS3v#7EIJw z%V8?MqnB)^kw*s-%Ka_E~J`l>Qr-P>XryUQ&u-sGdDA6XiTk(YI0B&fEx9m zOU6!75*6IOXaR;q(bPEYDwX;1rFU=xYVI9aG;hImz6rE$fnISE=CzJdvp{0%Yl$48sfH5axYDbPQ@=FR!(S4}Mm!&shlyR$7T}5;M zy4bD6Fi1^pb#=kiZxLP^9J@-<=|sm>3^6pbxCd)RYO?b(z8KBac>EqHt5|{|Vd+8_ z`eC_w({u7rxF`#$jAh@2U*_zYbe=PJwl*VcPHqOBXOKkGFjSdCgO%BHvNL8A&y)82 zd4g;FJpX|Tm&Z}=qK+Lu9}hN*XOXkmRe=Oi?cQaM+p0V+w-~sYxxEk(R}PO~T39h2 zqj-_$<7D_A2oWaSM`(IMS;hPZ<|bTa!KUosi1Ck*Gd2rLxeL8Ss(*&7ml;olK#osC zx-HV(A7sq2RXb=v>o+m{0g8D^VTw6G+}Nph()BJ}yny=9$Xmmd1U+$8)2K^ORbDJ6 zV)?ncs7#WP*UHStFhcmxOq%vo*VH-9B#}L3n#DUk4ZTR?kSIFuLS^=xJTZ<))DiDWVJ%VTvy*xz2K6&D zaz@>(Ycp~(rsrkodDGLfGW1NlPL@%ZbMta_>OCc(uV-j;ul4D3^X6pEhUGgjL6FD; z==YsQJR)R}qC6Bzpj#8#Jlu(D=oD4k>;9L9-q3uoZUuVwUtY^$lzd2Ny z3A7z_Bc*usCrIqM16kEpypQSbgAb7LrDA#~5#7P%6G^db)pWH17_XejlCG(tmR4i%1aOu80U_p<{y1t%@(wMYd-mTXHk`741im5hQ*(Traqd*4eekce?^%?BQ2_hoC1NuHyT;*7oqTq&* z(?DKogtT8Nx<5VH7aC^eNsU=l|He!w0s|&Jk49E%L~P!cMPz161+?r4G*YYBG;Qyi zL34P>YpRg`NlH5i472{%m|mpozI4aq6vCQMEVm4_&2`81Is=f*HSHZhdHdFbCD zVM@x-K+2ilP;Sa{L2Fm$;alp!3~(7OK$*p_vaD!{!{Z;FC5)&Xr8zv#kn?t~vLcV$ zXq#whDpdGs4z#Su@2)n5{IA9@>4tfs?4TO^`;%s2^*G$Pe_^K0$gmJPvKeqy7Uh>X zM77VaTvl3SSTeIiO@s2-JPj$|WUFQ_rzJ(%V4;S3uu|(0?N0DH*7Qk`kJcD%s#r^A zOjA6DMY)zL9TAbCj$omf#uQ@_(J@p^>*+{Pv98Wda-Z1D%r9R`E5WqVEyK~3DV3Fm z(lNUx;%&I3^vtfIcVIXt{bMX_Lx@p~R58v)`pETOu{WeEOM6i8+mq))&qzDdb7O7X zFEg0#5tzTAc3p;1LeP2TQcQ?o--9xdY+`SRVTvpiNqN5(>YOGeN|FBXhSsbD=Y|Dw zou5;)pCg1Y5b7oeWwV?qcO) zcIIMqH@4V;g@4S^2L%x6W|meFvk?om+7U{JVrwjjQ2Lv?lY_?8z0@7*-W-u9m-s^3 z&qaIXs8G$OxgU2Ji;y%)kf>wPN=_e|hKIr|1_xb~Lxn#Ntv1boVzfQN?GAbGk3b)z zRHxa((EaU*T!d3j*^225v+%L9F}D;I1OqS(jRJW_ci7POkY`i$*_h^*E6Y^x<+9Yp z>=@H0hCM1E#(?i4eo>WEzWK*vBSWR7noGjuAy!@G89?8;w&x7(Y`UmjHwIJ2f-5hWC{bO zB2Dc_%)MphUWC`opj!N1XZ1h$UHn`536`xqJ0rvRB5rmfn`Hu zvqH!)3AZusFL6~0fLWj{!? z0jmC2mXDoQj)96a$4(QY(Q^zo_;`(Ma4#VpG3z@5%}6flw6aJ3nAyvuxtT5=gxYtNi*hGbRWS}E64{Y+AavjEa!vzIV~T+WmjOK^->5;5 z3X}{ca@r0d6d(&aFT(_^;U9K#8t1~RO1Uw*+c}Cptrr`?37iXejqAp_3} zs!0Xx_kRF0o@#p1G_Dmc+;f*KLULfUY>2cDa+AUh3#ElvuIjQ2$1E>1XcA)R&~f9& zAy*evVLz%ERpT`s=6R2m4H1?^8hsg|Ds*GXInU*BW1d=^8{>Eiui(rQ>#eqRfrw6g-9UZi0&hA>z=@ zAKD>N<#FU=PXfl}U6ai;UoO=Rkp{B7EhsFeRPdKMKVN3~685NoiIX`Z%vih3!+s^& z!63FKVI47WZkF$N(Mov&b@KADeIh??diu&I*5MeQLnP?l-@7NL{hJ*l>HOdHGdd=NDl)sE0LG z5mvD;L)jQ=S`K8KWG~hqz!2q*>aw9v+ZUDhJ-ADi`4ZzU8ZZC0NGfL9eG4skOMs^R zw%DS@!Mwl7qQ$_pERfeD3M`rqF3GoOQ80J^K$Xem}czoYM^iDJ z*C+#de9f4LPiDA$MoPGiQXov)0ZQp2OtbsYbn)1qnlX?=%1gb!7nPOJbCy^KFLdW) z5}NMuW`2k=gY5`aMV^GLJM#1L@$^T2w(9KZ_s*u>Tcu@Hi=4(YS|Og%Fm>n7%Xeoc z#%7r`mc!gGEn9T)-82r&&i$8T2d;~ykxTVMJ_{HkU??|c=}Tc#_DloUgS{N=YYXLD zD8Hl~bDzxY@V&fMC3xPYhw#W^614qSSqT~Uu6B&lY^tx8g5)k0^Ym0Y(%q^G>ICN( z%Q~-2Y&j9j&zRfM_<4S%n32NR+c3NAUm#uMlCY=FpL31`AUTqah-EM1AfljCa<_(A=wyw`@_Z=k@Dm( zbQjVl?{4QF+Mf?OO!C*T7j$k`-e}(F0a~y?&z>6A%WThFWoXFE+`Y?D;U5bd<2+Nn z+}teWv3e|k*4oV1uDa>b1w5S5)4n5mXd%A{4tKlj|5gFQhB-SN)6hiouCF)&3 z$;_SU@{#!-!;&k*yAVS|w-IF1Fry05HaN@{7^PN}67w{eVa!)6kIlj+{SBR8n4_wY zlP+R=q*%EzbI0&YI5ZERi7-17`YV?(FP;X?p9T zFHO%m;L`Mz{}(f-UfJC}+raME$eq>@*OebzV$AI+c~9ndLG5eiFho>ZQEJ9Dls9SveG9H^yZUo1M;<65L*oI##i%U4dzYXDEevOPvJ~!~71;TBv-#x!V>+zUg%-!G^YZ}G56LF0iY1MT6s7xjxzP<2Uhj`Y<$~ZT| z{N_^Qe9?UD5*L4-@q7xU!()3f{ovSAT&GeT@$(pQ)e%q1-)6+Ge2|Q*7v{A;4pslK zGwG6Yn1?NtovvlLC%sVd4rQl%+}9w^oAKLe#68}K`)b5Dd$5dq0nA%2J?^GC9Vmm{ z!p3sC$Mo^*@mOEX-QXC@vV9nF)vibR#!r=PYMaUtPi=^da}-QR$T-tV)}_?rV7>13 zx4YatZoztHaf(M=Qt(Uf5~n!CV}lW=EifOuSe#6AkLQaK7JqK^B;&COr579w!(ZlWL#*BnvbXZXpr4gI~%OmJ%75(d5i*OFIX=) zMzYMUL0p>f+ib*1%;zIchY^q1>tvaWgZXyPaavSSR#o0TMm%jrSPZ?cZAn)dk4-2y zf@4GZvlDUHhu>i%E~>whi161NaajZNK+kcZy+dYEVf_pdUa4nfPM0(f$XHZNb%LWI z?s4Z3{@4V(!yG?q2Xy2I-Q(6H>}$R!^P~x8FMQgZ9|8BVFJ`F=Qxc`28v|JEQNLTf zOxz?L)A*U_n#6M!;#YuQxe?E)2$K!JEr?snP#Mp8Fh^WcJk1*j^Ed_?iHpct>_VlN zaH~t~G_4+SqTEqAMC)PE_=P$epig~k((h*|QC;lm;O>(i*}q(Wo0z}k2Kh<#Ce*PR z`gBj?;iR>|o(|GgaZ`Ha#^r|fa?_~AB&pIsPe4* zQStjfG0)A)w5|di!u(gpZy)kQ)qP5@i?uJuSpHG)bo?$>=2UpeR0sKWxn=Eg!|MAN zhE*FCxL>GpOZSXW2eoY~U6p=M_ZJ)7=jHWc`Ot<>SMmBwZM+^TFt{EI_b;cd*bMi3 z!ye_C3O|kILmfKY?*k#%PYk7u>xt0sYv@zFlkiKyFVv9&eM)athEj2!9!eS4XF>l8 zm^?hQdeB#KrTz`26CJ9JjKDd?jpq-AovzVAV~lz5kNhG#l+UU^(bN2+iVM_*U203| z8V_?%Wy}db$v^s09+AKQlRk;ZaOYC}t%JTw3sp9HD%-1}uga>@?PYj5=o$ZG{)fH8Sss1K+(+XUm`yACHUdDQ=@1#e0N_j)+ zN(bc^r2&PLuB(H>VXRrxhPz6~xMDooRpBbfdl~5Ql#zi!gxFN#pGXa;UGf^Ie6QPh z?AE9(cNAe?h@46vSH57Zc+mLr!Xd^cEEJa<5A$h5=F%mGql-KL4aBPPfGL zS0LI@lp|L-s9tll``4@Z)xdb4^t-qNf0P^IRO{*nUG>|^VUzGI3}%-D?wCngID*9@ z5GI#cxVlUI;Y$x%Ch&(a#AW8DxkgBLWm0KfZPDdGyv?L6-r1Pq_J2=`qsudCW>nfUPFY+73PJu&m+t`~sd3uH zj=bu(ldY!v0tsVsiMi2TYUUQD1Je|V6^L_J37$is_uSx>b(BtcmJ{#6#q=58)DRxh2CNI@RRc5c2&mHZtNWBCg_1FIiI8>2+jywN^=C#j<=C{8s0*`-0rVXD zuwzTS#TPCvMeaz4#rJ*613JbntlN@3()s=>d{d|x-wJWKi@VEB+z>O#cm$R{A`5@=MqW;eOCOEjHKYlQMiOFI?s>!zL_jqFUr} z!cDqvY#ivKL;iIOW01Qh;R%wPgst1Wu!)Y`p&-Imf!$w5$o+xAn}zA28NZxyAiq?e zE^?GQu$+&WQ%@9j=-Uc&7V3A1Zz~KPI+VteC3wMB8EF(ds`aUOn}H|~^!&Bz)sCH3 zikDZB78UqQ-JfUlT~!oChxPl@b7qUTA>iW@W6KtfmG4Q$qnETRnV#9v3-tv!UqWAi zkgv_CqFr)RMpTWWuqGrJMR61l9{`Vlxr(Uwom728N@1bHu~59H1F!O^!ft1o-(s7I z@c=opUtm67FshHyC%|pIj+%t5jA+{ED*2H1SW&)5YYCJnA-ogY;{0E@@Dwf@{{X56 z?OfII7L&4t3$d|FA5o>@*&P2nrSX^>Ui*e;Pq_kxrL0V^bfQ5po|n8ac>y*+o4Xh6 zuZ*gWcc;)+K}2&bUgWvZRgK+-M#CpI*LC$ENS6{H0W}H7#2Z3~1K-UEyx+eN-{7bU zjuv@|_joVUMOs$UbNvXOUV`Vb@p5})Jl<{Rah2l{L3p1mVj#jj)=->y!&vg15>&Li zJ=#y{ZvV#QVEcGhik=u3?cmrVz5>{g&vEahcUABvaP zCM+$(TO&q~N*aYUG)k;^T`9hV;u4=@(N*gqQ$xMWRD?;iResO$CLqtm8|2$)=(#x~ z2mv`hs1i_se`Y$4(y9_2MWX5wbjiINlMN3;xF=M`lWPG@Gk+J9mAM^-rGCeP%c^X< z^bvU3HwqkOs;FObC>>nOCL~XoGO zSixTpv$?64H|n|bHHqgg)WpGTezuRd6J~y0ly~PwaC4KllT7GkzX0P48azZvFp&`)|v+S>w?+>74~^O@e>ePlu}{biWX zMS0i!9wyvv{)3b!Zh^V6zt`I$`5c+B-|_~r&Aa1G$+ov(KHJN?lT65ycEEfg%IkYq za^8DV9tQxO6X`v6 z2<8jP-iBlHdMivyCuisRn)Ps}8Ya233TE>QS9{}6p08=Z^}0S6M7RnfFCc!=-qlwS zU*Ro?hPm+yZ_|}9kuEUc_e-ElCHpLIH!k>2|F3pK~i zT&SrZLH_slZW)Q|aKA1=a%vJ7;cX%l?k3(q_F}x}$OIQml=97Ff@6~})cn2f3U4z^ zvbSauOt?4eMwkdk9hoSnJIF-1n{Fb15S}UWdIOobzWHXD8%KCkr@`DX!n^BM;_JQ3 z(_p^P&$}UArbkK!815Cor2L4Pd7&l&@kxf62s0065=;-wWSDg@Q(&%#IThv(n5i)L z!%T-6KI=lwESNDcvtTB}%!ZiwU3^N{P zIm~339+-JBt6_RzE{C}WrWfXBm~}9Bz+44$Kg@cV;kR9=Sq(ED<{FskFdJaz!CVKk z8fGKRbuib%Y=PMXb3e=tFi*m4h8cT1{D3(X<`$R*Ft@?1gV_Re4a^-dx4_&9b05rI zFtw};HLWn?VeWyM46_a9Jed1nE{E9;vk~Tgm^)w|hPemkF_=D>oiO9>Kv-a=!t}u` zhItOA2d0L4(*QFZ<~Eo%nC&p5V201WP!kO^24)P*6qvCv=fjMH>4mAoTn{rI=4O}) zFxy~Kc{m4CtFwCJ=1Bcyn56H7N!QoFM1RX0lWmlr1ysIbyvr9~sM&aHe{WQoyuKVJ zZUf$!`(?bUYh?Whua)vFn3N7=lE2>_-=)BJDezqie3t^3p8}Kru4$w2ql4N~_3MKZ zIv;14y|BnlJi;)oSm-96Y?u{>`EQ1~!!X+n^Ph$piA8g=H`6fJ80JyK9D~s{$yZ|0 zoXk%QGa8HY#94-^V}lFrdD!`pCic-JwOF)4V6DZf4S_*x@q@_((_RE(`qi({v~SK| zC~NwuT&r)`DA)0~{6g-N8T~y??E8s^?p65FfhcS1-;jG*QV|c@H!%ReYw%mOTb`H0 zyb?@%BnIL~YyRgiTqtX4)wByRVNL6V`R4mLxy&O9aZtw|#P_@3cWLl{Y8g=FRGF*( zVxjUc4!TBlxTmAtP`LjQiw%^WZHJW8 z&LoVZ(Z823riryL76*lM`1Gr8~|ZM8h2gngCX8q%BOtzG2FEiykyPWKjdgloqy3H&A<&6b-hZypWvym&YLO8RLu$iZA(>&D?tdd?&aZrt+_e$=|^B zy&c%=4TqI{gHc{7zsbE8rvEYc4KS5N(*FwPKaXi*vQ^nv<)7~GSHRu9(BEh1Q}|c4 zmpetCwdG{{i_kVD4Y)!C?RL7{3nvx#0QCzeXmf z_%t)#3H>8r?*2I@Cw=V@{i8#+Ctk)RU&FW!?)?c|hwCam(+`tfI%N7}F+KqOJHYcG zRr>3goZMf}80uQm5&RQ}bT6CnaVXpgZh>66cbLh^y=bJjJY;;z8I#=07>;Nw!1Lg) za&I&0o3c;(ZHy^=ZKzN3kl{PWnB;Dhe=hejCVA2~!Sa2KNuG}KFAwQ{0b@MQuN8vb zP*CA*W^xMeF2>|u+-d2W%AZ8Wc#KdR3yy-Kaxcagte?Vo9P}rHv!J5%Jxosi*D;<9 z{hxq$GX3N;!R}`<&Vc?MVBQ|CXL53X8{-`4zXopY9SBdLHzw1sUbM>OXFu&e=syN7 z2C4A3Gda26$=C(`<6s{CMhm4X9n$?Rj4PqP73^i{85I_+pTf8X`jf#4Og}X|SigWV zNzO5*@W%8C=+jvo4RXaH%m36C#nDEBMtdZa5>|T!OIyR z1+N0r9&~cA6TFS_X>cdFk0I|JhW-iTL166-i?K&NT1x;&F}@ib3#OhRxjz>i&$t+z z#P|X5R511Q=>J3DEXGfP=QC~syBWU0X_+iFzn}mwKoIo07o&d0mp*-8~RUy6BsvvQy9Mro&{Fn{}7x9 zzQ(Y>AM9p)8e9jy+K~6|h4?cb1l|n(o*_>F?_qp1_$1h7$mfF3F)jv&zZH-_0FDBy z@I3^MW&9L49<0hk6F7j@l8(@2A1BjGMvnjNbw$fmM2a0G`VD z0C*PT3*bDks*n9}GN18Ka50!hR+N58U=QON;5x8M{~YjY#t!g0aFk)+18!pcFnBXq zx&I6B4#v-b_kflATfps%-vb|Gd;shNtMt48w!IzTekgdcjE8~~z^c3_fm0dJ0MBFk z_ko>^-Qa4*HQ-fX72cnL*D!t>+z3|b(G1?e_$}}jus{F6I~X4Tw=(^c;C+nyprJU- zcqsTJSfy_gIQ)+Ro&k;l!x@pkIp8?P4sbje)j-HS;6%m`gOkB1Mne7z@KnanfYTXo z0cSC$J5hmud=v{eP#z(dN3`}H^wpupOU^F$vn-p^m-n|FlW>y}ha3-8caf(?1oY{C zIg2q#j$tlG9?{wd@Sj-aM?2WZ_yjn7Pe4wJ(TvHZIIwc>N^;0JRD85ZCGV%jLT&-m zoUZDR>|ya43Hh~<*D-lLvrqA9WIPV~PlNgR;4qVu{yD}JlGeU~@R0l%W0Fjz&Y?JD zekrZ%fqokp zw=I;dLE0MdKE}TSw=@17SRE>VoGgCNLGA*R|0;hvjrk)QKa>CGSbn_>{rjPRjOnM- zAX^+V{pK@%75evq=P~{DOiuZ+neh(jzYL}#uENvUFWCKUjQ<4v*T8P(er*3>{RGA& znLi*{zM3&frVb327ceGCc}%d}%a|nduL_oX7?WfjO)`i>rq>R}B&mxHmNzmcN&SaP z9<6L7Rx<1^rOVAbB)(2%cZJOsP}tnM$P!P^+$0^SA2ZAY|+S>Qd4^TGST z%KcLCe#R@n$G|Xz{na?}G5$|*_(y^I^ddNl@!Q}S#(ThVj1Ph1!OH(r;6%m|xG^Pz zsoACbeJnVY@fdIxSk>n#;5^2Z(!Bk?19Ek!`n0D@{=^Sf`6Ju!;v0k8@2oEJ^>G1x zst@gqNivltox~x_OF3hbvEi(JXIu^LWc)Dr z9OJcM+g}6y!Dqm6jJJW4z{>siz*8Cj4LpnSm*70c)Q}c{)p(~rxSa7YuotZIcLKPc zaXPpGto+XfuV+jt(F~SHw6+j(b*TJpVd+-_`5WMLjDuABv~8raFY|j{m;4UDJ|KSp z_IrV8yrJx;Pf+D!fc6u}uZ29;kUs&Q1YXbl^NtRjPB7p&U<0`MxvW#H9}YrzeS z*MS=uKL>7N{5rT9tiu03xP@^$xD~9%gZ}{UXKaNf-NMcO) zhg7giAG$weF^-3O^O*ibu#>SJT+Q_7g6kMN!K)cR0A9!VQE(F&hRC0%aI%H*2JlX> z%Ktxt_b~e(g4-D%1|I{f`^{#h;v|dza0b)-yh&aa1Y=Ydul{qEzdD#+EL@++3b zXF249z*OEfXdLPrTgZ?+OF<*>;kUpi?IVOJs@_&M92|>Bn27P%*{gaG^ zBs*B1z?dY<8Iyl&7?XS-W0H3=CVAqW!S1IrCdq2XWPd$lk~icA?9p-vuXtRrvOTlNlcar!uCLt7hf5H#V&i>$pz6 zLXz|Ls4s15GY(aLcjl_}m+i@_?+5ezF6FoG8zqm{u7rEUDm{jRS2IoquVXv|+{CzR z`0j#S9V&c>yM(9lUgf_rUg{FQlc$wDTKfUqBStq$+WnYG8KI@;8#LdD-^+CHYpuYz0(f7cTaY@zh_#Xu1q@T?A*U+c$h^@nQ zrQgEjq~FT;S?JUE^|=20{9yOpjDHV(`Ys>W_c1xSZz~Ace-rxjJwGI=KRlg<0lA3p zf&lM=K79wUoaq-71>~e(&iG^K)As{;`m8Aq)?d%~bLi7|2e&Zyvla&H&u9E4^yzzr zJUrVL1?%r(Op-)ruzV_Gl5Am2@!83k;tB#d9F zmv6lhCMuLrC4Itkp&I1RjwaW;4-;|1V7VAbB1gWDO`f{!s?4fZkq z4LJOKp#5tGM>BpC90yk6YXv7T{v4dlxD%Yp*ouLF7UO8}JjTPo#f+1{<&4w7%faYo zi}cI}*E3!KUdOl`yn%5ocpKx@;9ZP=1K!8D8GMZKo8WWc{)Ydp;HV1${u~?!rfx8W zvJ;%d*ouXzbjH!(d5njF-Cz~JB=B;^Y2bRs+2D1I7l1c_)%d9#yqR$=cpF%azgB~H zFs72r@2|gsTpjBE701f^e?fjNI2}r={my1`a&J$U`$a()c{O9If6Ez@eQ%knPqKfw zhA~Onsj(A>l!xCRU^>gI2r#){&6p(XDud-)7?UJsX|OztF-e*q2$r`qCdvElxa3dJq zMp3`s2XAKF4&Dh?{{I8q%Gf#x<14W0Zw~+;W*iUpfmQo95gZ;KU^_S(tnAMP>x`Y? zB*wMiRIq9<9tUSLUJot+tN!LoU^nAGf~&zQJ|BX;j1PlXfmME=2CrdE<%id2;=?;s zc^afeVqub4jo+`Ng-YX4^?l8c0_Bs=l2ep@IsR*9a;jf@7?XY{W0Id_O!C+t2izxl z9AlECFedp_#w0IbO!8vJBwxjt5%cWF(yeoW3r#bnB-ZENj{G;$vuoo?qy8!b&N^g#F*sU7?Zq(G0FEaCi!8; zBoALn|LHLDk1UO!5N8B=;~Tc{O8_H!vpodd4K*!I4U9>?g)zx@Fedqa#w71#O!DZ5=|3GZ{Bev) zGL5$=%W=xWJ#$-Q% zG0A5!CV3uXl6x4F+{>8cjf_dYficN8}OPWBe@G z3(hv&dj;GI#x#it&%5CLU=_Ykz~{iaAwLR^!#7!{8hjQ^-{mYYI35pC(>FR*e>sO9 zs>XLA)p)uZyax7F_#Ovu17B;{e-^wCe7(VMfy4V+wUGwz1JgG%R~sB2hx7ug{&y0X zzN4x9%L6-^{SxqMFq{$beTekIBMkmEcn>(<;4NVKu4RkCN5S-sOXa?ffYY}w70(7I zW)z$(8y;BxQ;L;e_eJvhnW-+}2{iY*4Wf$6)7%Kd&i+9SqO!O{43uChNDoC;Ry zSqgT7ReC-QZUC$FXav)D3|DJL`3BQB4OMyZf$7_Z%Kz(zqP*c7ysCWO1Wp7a8$^C( zgR{UYzAmr_JkpTYg6SKB%D-p9^u0ml-$!8j?x6DTEVzx?A2GmpFaT8cL3WhGJLDR^i4n&{@;V?+kmP*?*p%geI@?}ybG-2*AE5f7+A&cdT3esb2FJr8`u3fwf8PhwH}I5ywcsdx?^xBZUxKHCk*vbK&ENvCs&DUu>%n6T`9Uy! zcg}0%-#{cZeS=On52cAC zTH6h|I@EkaT$lS-`V^%v=NnSG$WM+^@@TCC?hz-$QEK1FKYDMpJfgLeCjL$3?xEn( zv-?zE)O=3fn@c;x=#7N$@3cQL*h_TL9n zd#C)Xdz4~DhwQ(sVmuG}kASy9O8O3P#!oHUiw55hJ_G)N!Q@i(W5Mp-!1zJvKlZpq zi${=^|6Z^>r2qAdNwS_X#pjQVh5YBi_L~`#7i@nuW0G9=AHnh|j9)`|EWfpA4dH?CjQ(}7zMU~i_N@<=Yp^d5 z*!22EsYTLo;{S5R5qYuFJ&LcYLDX_y}_5Kdpb$lGG-akS6 zNhmz@P8xY!0Xw+=GbZ_A#^+)Gq~{J20P4 z{Y~PJ!6%LIQh1JlkD-4*73bvtm2~6(7(W~&j|VTq{GW0^2OP!Zi@>prJ!IcF$o?8| zJd-~IehTwBD*QXZf3jJ`yR0aDyTD0I|1=@>2C(B_pOlouY&*j4ekkse>=d>U_J7f!L8s?Nbe~I z{}sH#8wlT7u$#Fbg^t-e)E{aO1|Sxrz*j7h`xnW-Dd0_Lf8G6L{PMs@kX{r6lHUg| z47X^T4R(M(i?fLSFv&e&b%^``FT?sK)pwHr3Y=urw=1yfHp zWBfPpV?PPxXD<}A)l41(UdMO@xQX#Z@MgwYU|-)r{yqS1Ve)$LCiDlYd&%&v2S=bj zsq)zh-o^9}fZG_K0PkmPMT6hTI0j7Lkyq|b0H0&>x!|`k--T=x>GL4?Nvt>15;LXO zO7K*S4^;VF54N?*9H8`n4xHhV&-0P~tKb+W-wB?}-2W1+Gx@jRM8^G+(0^q-2At0L zR`5Kdea6#0S{C@eS%{wz-g)3`re6x4&-h1RC*z-iGtho}jreZ|N3i_=0_r@%Y> z{vW?!#lYLk9&kJ3zk-jW{fjmHx88vK&JNViE5OH?{;6>nM=6@Yn9Xd{a4xYg3>)YV1 zEPW1vvzYxe;CYPuBqO}2pX3&mhhgAiCZ7f#aTI0Pkk0~_GkGp}Ib#QS732HCYZ$Kr zKl8dpTWh%23@*g|SEcvI;1w)Bwn^weGy5aK)IXy3l-l=O!5f%-4){;bK>p{0Uq<@t zhJO!&w=n(3z$GldUIIt3{M`$l#OkBvM$|uMe*l=ijjGzGWN<5!-v-{txCnfhu?KvT zaV=Q;1V0>C;`casE~}5*z@K5i%NC5FDp)Q_KlpL)=ur5Ne|IQT=fr`1OL|7$RBpMMA5%-s7kxP@^$co*Zd;1RNBF+{yH-z)!ROXaiUsI!-o#&oTX% z!B4_HR8x^2uYo7c4BY?z1m^Mo7;O7gx=7{u5P15X@_j+n-kbmzmdN=N;dK0+Ys=#QNMK~{bIlkOg_`Yw#fy4I!1Z!F@nBLc+?qB&}dN;9@NBw`5T@9=x$5EcU*v{Dw ziBECtB(foKjFhwD)$YvfpA_JJ?Yq;Rf9{UhCqahU-Ff?#x4Sbpv-|EI*isBZaui#_ zfFoPBP^37*pnxtRA_y5_CpL-+1{>K3p%{p;gAs`o12PCDn6IjPW~!%W?;b17dt2Q# z-CaLjRbAaX<3xaeB>c^10beEVe;DwCe_Hy_KLPv@@@L5|rGMWB{FD1&pOCMk@xK9h zkBEQY@iWjDL5~OcI??_Sz#kRxX~4dKXMlGLdLIY8SJa;ed`!Sk1AYbZ)#pJVjps$c zTS9){2mG&h!T)G|`5(Yve8X|zwiy4iy@*#td+!1KCg$@Uy8Z)z!}mfS+WvkR@JQhA z0et!O&_7+@2mJ8AIGo?5@$3hj2>d$$??68Hen<7606zY~Qa|ql{HEaNV}M^hy2JUQ z#{VMV?+E(71^6D({;Pmrx(DNRRQs<3zF*Y;JK*Cu?@B3H8lSTd`cdf12b}8x|CYe- z0N!(ahx4*-Zy(_A0sn5myYak^gMdFT@IMLo(lhYqJ5>8)z*|E99|rs-f&V1n*F`+} zGT>)~y}4vR;wgcD4dCZNe{QeafZs%XmBS|hKP&Lp0KX{U1>ipPE60Bf@Z;Do`#95c zmGczfZwvgF0e|_aQXk#|{D!E%>;U2`0ly#c@_l7K=fi;aARhgc=HH!womX+;L;flR z{EV0{4*`B?H{z`wihqv-&eww{}kzUlFQ4e-YW{tJMw z7xI1+@L^GZ#UaFR!oJ-E_{-mgPu2AF0iP21M*$yt7woOBKLPj^5s#k*{0jpAGk{+h z!=7pUM*+VM|8<3izX15r-`(MCYWN#~&x5|J0n>Wm9|1oE`%U^n^JnKR&_B$#+@4$x zcq;n42Jkrn-wgQE0=@-sDC9Q;{QWD{^JS?04Zsfyemz1k;)jpw{{Im0uZ#A+0r>S@ zWj^RzfLmfdeHZYZ!hXE_R_MRD|2n`=3b+aQQE~q%z+V;h8-Sk{@V$VapTK|X@jU=| z5BNp=BYOS_@Lvl2KL;Frq>LY51^joS{@(yUckK>--Ywn#AAnyI^_L$u*Sl8(ei-uq zaot}F@NU?joL`>+d>`~bpZ^))ABgsT6YviO{M&$c{R0}~_8jLcfUg$tbAY$N?+z@q+Izz-weccY#^Hvv8<>h}^X@}Y+T-y!Nx z1O7PyuLIuwd+?9Cz0Uw%7xkY5yb$mcfIlVRrvSe$;?=(e{D7!`1Mu_0U%&4t;y+P; z1K=kF>;XP6;GYKklz@){eo@53Dd2mt-ndEg_m=_x=!zY@pHBMltAH96NIIR1i2fE&z|>U_6Znc-`t~ z5vN%YF3;h;nKQi56EC1`w0q5FJrdp>Jf8&on%^LrFH(Bjc8FIqkCwC97H$y`zsA-; z&60!$lWdHG**FdGw&(dG7!I6ZJtwlGZkJw*E!%D7xNQe4i-0+u=&l$oz`HlW0KATq z*t7_ynl3bqR|9jA=mIZB9R_NMXTWv5v6kKmjaTN5)eEu}Pl9=z;Dz2A;0|(@B%66L z$j-nzU9l|C={?qYaf!_@D%QwK>7W5iyhuD~w7h1^gF@W$v$q{Mb>#NjbP*UD+;QU2 zsZ*zo8n=%mPkArEZslGS^&B1+2wMd6nMCh)AqTU;ZWm%G2IF?yeG8*QI$k%JZl9XV z330pqDj_H$LJEvF-ylhK+kK<|PK)R>Fgh)wv1p^yq$W*_Ce)+EX!{mM+cz*euHB1k z_Tt$Xo`KQtTD|nU)Jq+w`dw1U_blo5 z`y|~0qt~%y*y|9Xbz|=$gD>vwwn>ym|6P;1E;HH0aC=4@%w!V-c{JIJHC^0pi$++` z(BT0aZFD-O{Ck${Iz1DE71wN|Z(zXoSE+6HOnx*iUUpe|>v-8W@9p<2UiN#2rnH+D zMw>gVYrW0=798q(*2wyv!Nb05aj5Sa^!HmN7K20m7O7X!ORs5ZTd!qm8w<{8qt`Ne z>2;bMu(rlCB-6uIPG#&pW=T1A-{Me@%}QD;>5^C^A5cW1$!P#sr2$1U zeCKz`b2u=GRamed&PUTI6(eePu`OY=)IyQuU9)FtHHt7iiZhZ)g0O+UoedYm^}Lr% ze?!S=Ktmc05Y=#q5uJ+^tfG=|G|~e`tTdUgVW0)K+?F*q6v?r97`rxuDN$6ePN zJ&KGu>Dv13n)>b99@sTKu-mofm&*<{m%QuRR@^nMxXZ4~q{WO#TqeGPVb~~-O_qV- zxrUAMY@g-9XAR@|n$n(<{mT9rjrC0C_IedHY`H!5$pzUxTZBDRguRa4M#mtkX9ohk zN+7^?z!+)O0N4hw&r&T$+IKAxlGmUhn^!L>qR)7Na6Op?ix}V28AaQ)dZI8sm_U&^ zA}6dMq%}{zmPn)FCZ@(_$}59plmC@`_B_k=dZvN*Yy<0=2G(P5W^lk`TT{^Iaj0!# zaJXG(K7AHSaj$Q?Eq|rk^35R0Z(FX{Hyw=2HqscG%fcx7cP-Nk1ZjF**OsrEwM83P zm{bg%3)?HrjmxpSIS%$)MH@bg#lY~{_ZAqQ%_(m+r_Aud=b37@&K{*`z0H=(z-aRd zqrmX(kk~gv;{%YM+doLUB+8T4&)V7Vbigjx5-?Mbj_gVMq?)7=H7x(&ZHMsPBHo7H-Wnq9J zEeybFpoAhBjQGA^wJ<1>7RL9jB_)c;?Udu7)RGMRT4(mcN!V4+0bkL3xZVe~KklBZ_5Q7@O@o;A5pVzgg1?;fU> zkiU=BPo;l$CI$V~^_1t!^%Pga#FvZLq^K$I%fsf|?{Dm>5iHIZ~b`CWa?w z9@?lT7OBX<=u{&TES6Z`%3i7qAG9H32i#CqKq?Y56gO0-2o)I^oobQ@ZLpTwwwG!Q zUUsSq1`MfT0IMljDl)j;sV*~tA(xo|tIJF(g65JvjYeb{vm_cK0T5$1U_NRjgPUpb z!sd1}oGzmVLN4efnPLUIO{j?h!*Lie+Lv$(cFBO@M-3P%W5D3CglRo)z_7yx+%?;y z&_&kMswSr|P8qMg~#sz(B9p-BKOzdq)&*g}=ju1{O)K;vpOfFUz6$-~`yiB%1pMiG~>NM_l zXyf&I9SJKkV2EBZ6uD2q=<9bMpmy(pj5eB5*b*w<%9Zf`Ob+rL*77A-kETh4^Ht7)lXsmuaJb>pZp-XvW)}j{c7G zV)3xR3WhMD3qTvO5ERE1sPw^lfHzqMkxev`9NHBB{Fm}kg?*7kJ%^3ZJuar{!R zRr4d1*eq0wS5=@-(cOCN_Wk>g1-IXF%gIBhf>ZnUA3KCQ51zhl-|-^{aK|W%aSoF9 z@EuCB(nh~Cz?|N@_ts-a_8$mboLnpoh7~^QfO|P-EiMsxeO;`-N`oTWGMzQu;7n(f z;uSb%I9BPy8Vnm5ZfF)x=E#+)bB_)Vi2}wc&N#s#&@@^TJyaGD+=LwN*%Wz@dS=w! zTA8>`c4mtEJ?!aDm$NzKLlz(}R0kJ=FbW3~4D2k}9t;y?y3-bVJa8cJ8f^@okEt%g z!88iiVkE_J1fpcL4F8xv=pb-snRy>5TBPw73W+I@_Z(Y6blenX0hS4CJ=f<9xUd$zz$(36(kVd%))+)PWj(IHgAZ zO(Fk6jrqhhh@Vad!(f;#6}*5XN$X~lYzU_mOlHv}$hPM2Sr{ZljiIPx%q0WNsb_i$ z=twq24kegI^YLQcu_nMK9qiyPiTw(ijB$7&3O1rG-Q`G#vNBJ!NQFM(uunLojLi!E z=Nzrf|4O?oPClqqD9VIb4uKgB^LCULABZhY!#q0ctnq}9<0!di8Y8wd*$C1=$S@Dq zM%muIu$U)LpFDNw_`%@dzC*`xRv9~DWdqE1xMc*+mYsl<`AkOzTZj9CSz~3ROASUmE_0>kQ`wj=EGScDJOhVrJKmBibSl^`Dn2o zk7|;w(khxNfm1Zu=1}o}W6U{PWq_0!VFQU1Wa{u4woj&09{qt+cVqsZGo2FmK8Mz69i!f($E~@MoD@=Oho)PT;H(j42OU*sX@{mkYETC zv%VplBKyF)T8^r2;^ekFTfj*Y`$#v*JYk=76`fl?i8!WBVgH1KUvi^2YFpR=A@LY1NdJ%(<}P5A_6IaPVA&4;3heor!w5lcbUDi#}EEF=C24C&k`;u|2^Y+^){&?`7= ztaotM4VFKeC5tU!Ngm{DGR*wk_Lmlr=PvKdh=E$nkE zj={XIlm^rr2a4!NSjtT314e|tHc>jljsriqVqGZoaY(pw=1w1Y)lK)#E;Rw+8IKJ}`u zvm6wPDi=+Ay18-JakQkg)M*+e4PPuz3Qu8_CDU*iIfh1%gTSpLq&$WTZh-|xKM8b% zAXThPl2)N|#DP45E_hoNvBMut&aDW%!r?GVj45UCnxv_cBUn;!Ov`SIqzH4k>0;3~ zolt^$#!-flhNX)Y&#;_NCv(G#(V~R4kyZnAKwTL@Vv}gM&X2Ic4vuaHCwONwN)Jpa zX2{q^VKGQs^npvON@5eqga{BJ4f&8bHAbTq0t}#q49kLLk3|&@%#X1g6oaye)zc#n zI1`w$FePcKWdk=?DxamfJb8uQLf7ycQyp?div`v%@!BXfCZ3GaktdTG0;_$k=FIJK z7;L^&=q>st=E?|HA338rgv{BQ#KC!N*nO%0;5tdTM& zDymbCSn^%dq&Z)Y!>wtHx7b2}R^dQJxr8-fRl=e&4Ux}OEkKoq%QRrM%4eza*hGK6 zyv|jiOm5(}8AQ0lXE>=TZ4?D_cs)r54`(Tgm88aRPvrIgI;dI!VlMB zK4kT9eHI&$M#-prC@N2}n&+hb7>hy^iUOLFY7`@AA|u4h1D;u|&~gSDtIUOjV%M~1qUI_AOCC;I`0aBx=VX=0g~_aHy$mYj&+RJ$1N^cc^I*PF#$M#h zkXkC8vpO(a(rHfsM_V~ghd3irdL6wJ>)DEHZN}1t{0g}(s-k5uPh6#-(QHYP3i5OG z)Y86FKBPel9qAH4r zHIA9iKr)c2V%G~UPG)ccm5I3vH70l`WVIx80F4bUaUV zr4b(D@e4?HU~=fk5l{>)XsI9H1$z-DniC*3`46Fkc@}9L%_AHUg9TXr7Y*gS0Xe)=fZRT%*Vn2_TxnQaZ?jqIvRM3)xiGW<+b|nTnWNNN#cES>Q)iaR zvSCD6O@U*EyB~$f8_vncU}7RYIbXz~6k27ZD)_5R4xC`P7@2a0@etV@!M|az2EWmR zr13Moa1f`)oIygIe#0sRUa#G(fS_*?8~MM|kdp>rSxFj10a={}GXGeoC&os#+`#5t ziyCoH=9}>b8DIUV4;aZj%}FUwlB>CLBY8|_2%5EgSk_xBGXJLTG2>_^nT(MP){|hh zHtVGe3xat^k1>%_rv(=6wv^JB>ZN2?Y+vcB6}{qVFtno9i-O$$D#AzdRX`pUNGwL zixVH5hR5C*cC>Y}pB$&k93UBqjXpFjRVFxcJ6M905be`3M;5WMUKT+D<`lMkVsk7c zRlSu-kpL~YAqd$;9u~ud;Y5AiBsP^MPm1v`+O-~z5L=FDoh=p~lmO6csZtcoWo7PI zNQU*L<0L|FD^{rxnn;G`V`p11iHGJU4M$T{wdv?_GF~~Fn&~Z!JjFzO1IdW&g0N95 zqy1vThc?mqQ-c>Yz&r@>F8#dbyc))|B;(OW7kDfP}e{#G53NFP(?L7dz2Y`3o6^?V6MkGACK8fqC zx8IHl@5#^Nx)RS|#Z|?-7xgIS_Wt;Dcn;<@cvkJTYAk4)+qw$>zlQ4_8t;)m!1LGe z&V-wO0tNa*xb*ooTyN`szy5;beEm3{b%#OZ{nB{o`U0;1)p$?8i0Au(QRh)cJRtgV zdVd4oFULjqBroB*6VH;w_q;vA+lA}zapidT1Mhy|?L|X`_hYznJbK0`jg`vjnYG{i z1fE@q@A)V1mmU|F&hK!ZCIRVB-rj!!243KoMDzD>#rhOK8_vA>rj=+D$MeQ{Sz=!a5tFQbw@9)n5p{+tvuK=%A z!6T4(Cx-3pdJgYR_<2096y_AL-#rXaE2J literal 0 HcmV?d00001 diff --git a/arm/etc/init.d/pushd b/arm/etc/init.d/pushd new file mode 100755 index 0000000..09f9681 --- /dev/null +++ b/arm/etc/init.d/pushd @@ -0,0 +1,59 @@ +#!/bin/sh + +DESC="Push service daemon" +NAME=pushd +DAEMON=/usr/bin/$NAME +SCRIPTNAME=/etc/init.d/$NAME + +[ -x "$DAEMON" ] || exit 0 + +do_start() { + PID=`pidof $NAME` + [ -z "$PID" ] || return 1 + $DAEMON + RETVAL=$? + return "$RETVAL" +} + +do_stop() { + PID=`pidof $NAME` + if [ -n "$PID" ]; then + kill $PID + fi + return 0 +} + +prt_res() { + RETVAL=$1 + + case "$RETVAL" in + 0|1) + echo "... done." + RETVAL=0 + ;; + *) + echo "... failed!" + RETVAL=1 + ;; + esac + + return $RETVAL +} + +case "$1" in + start) + echo "Starting $DESC" "$NAME" + do_start + prt_res $? + ;; + stop) + echo "Stopping $DESC" "$NAME" + do_stop + prt_res $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop}" >&2 + exit 3 + ;; +esac + diff --git a/arm/etc/rc.d/rc3.d/S90pushd b/arm/etc/rc.d/rc3.d/S90pushd new file mode 120000 index 0000000..70c8ff9 --- /dev/null +++ b/arm/etc/rc.d/rc3.d/S90pushd @@ -0,0 +1 @@ +/etc/init.d/pushd \ No newline at end of file diff --git a/arm/etc/rc.d/rc5.d/S90pushd b/arm/etc/rc.d/rc5.d/S90pushd new file mode 120000 index 0000000..70c8ff9 --- /dev/null +++ b/arm/etc/rc.d/rc5.d/S90pushd @@ -0,0 +1 @@ +/etc/init.d/pushd \ No newline at end of file diff --git a/arm/include/push.h b/arm/include/push.h new file mode 100644 index 0000000..4f688d0 --- /dev/null +++ b/arm/include/push.h @@ -0,0 +1,289 @@ +// +// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://floralicense.org/license/ +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an AS IS BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef __PUSH_LIB_H__ +#define __PUSH_LIB_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup CAPI_MESSAGING_PUSH_MODULE + * @{ + */ + +/** + * @file push.h + * @ingroup CAPI_MESSAGING_FRAMEWORK + * @brief Support to receive push notifications + */ + +/** + * @brief Enumerations of error codes for push API + */ +typedef enum { + PUSH_ERROR_NONE = 0, /**< Successful */ + PUSH_ERROR_OUT_OF_MEMORY = -ENOMEM, /**< Out of memory */ + PUSH_ERROR_INVALID_PARAMETER = -EINVAL, /**< Invalid parameter */ + PUSH_ERROR_NOT_CONNECTED = -ENOTCONN, /**< Not connected */ + PUSH_ERROR_NO_DATA = -ENODATA, /**< No data available */ + PUSH_ERROR_OPERATION_FAILED = -0x00004300, /**< Internal operation failed */ +} push_error_e; + +/** + * @brief Enumerations of registration state + */ +typedef enum { + PUSH_STATE_REGISTERED, /**< Registred */ + PUSH_STATE_UNREGISTERED, /**< Unregistered */ + PUSH_STATE_ERROR, /**< Error */ +} push_state_e; + +/** + * @brief Enumerations of result + */ +typedef enum { + PUSH_RESULT_SUCCESS, /**< Successful */ + PUSH_RESULT_TIMEOUT, /**< Request timed out */ + PUSH_RESULT_SERVER_ERROR, /**< Push server error */ + PUSH_RESULT_SYSTEM_ERROR, /**< System error */ +} push_result_e; + +/** + * @brief Handle of a connection to the push service + */ +typedef struct push_connection_s *push_connection_h; + +/** + * @brief Handle of a notification delivered from the push server + */ +typedef struct push_notification_s *push_notification_h; + +/** + * @brief State callback + * @remarks This callback will be invoked when the regisration state is + * refreshed. If the registration or degistration has been succeeded, + * then this state callback must be called. In addition, the state + * can be changed if the push server deregisters the application. + * @param[in] state Registration state + * @param[in] err Error message + * @param[in] user_data User data passed to this callback + * @see push_connect() + */ +typedef void (*push_state_cb)( + push_state_e state, const char *err, void *user_data); + +/** + * @brief Notifcation callback + * @param[in] notification A handle of notification containing its payload. + * The handle is available inside this callback only. + * @param[in] user_data User data passed to this callback + * @see push_connect(), push_get_notification_data() + */ +typedef void (*push_notify_cb)( + push_notification_h noti, void *user_data); + +/** + * @brief Result callback + * @param[in] result Registration/deregistration result + * @param[in] msg Result message from the push server or NULL + * @param[in] user_data User data passed to this callback + * @see push_register(), push_deregister() + */ +typedef void (*push_result_cb)(push_result_e result, const char *msg, void *user_data); + +/** + * @brief Connects to the push service and sets callback functions + * @remarks If there is a connection between an application and the push service, + * the notify callback passes the notification upon its arrival. + * Otherwise, the push service posts a UI notification to alert users. + * Connection should be freed with @ref push_disconnect() by you. + * @param[in] app_id The application ID + * @param[in] state_cb State callback function + * @param[in] notify_cb Notify callback function + * @param[in] user_data User data to pass to state_cb and notify_cb + * @param[out] connection The connection handle to the push service + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre There is no connection for the app_id to the push service + * @post The state callback will be called to let you know the current + * registration state immediately. + * @see push_disconnect() + */ +int push_connect(const char *app_id, push_state_cb state_callback, + push_notify_cb notify_callback, void *user_data, + push_connection_h *connection); + +/** + * @brief Closes the connection and releases all its resources + * @remarks If you call this function in the push callback functions, + * it may cause your application crash. + * @param[in] connection Handle of a connection to the push service + * @see push_connect() + */ +void push_disconnect(push_connection_h connection); + +/** + * @brief Registers an application to the push server + * @param[in] connection The connection handle to the push service + * @param[in] service A @ref Service handle to launch an application by + * an posted UI notification + * @param[in] result_cb Result callback function + * @param[in] user_data User data to pass to result_cb + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NOT_CONNECTED No connection to the push service + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre The application should be connected to the push service + * @post For successful result, the state callback should be invoked + * @see push_deregister() + */ +int push_register(push_connection_h connection, service_h service, + push_result_cb result_callback, void *user_data); + +/** + * @brief Deregisters an application from the Push server + * @param[in] connection The connection handle to the push service + * @param[in] result_cb Result callback function + * @param[in] user_data User data to pass to result_cb + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NOT_CONNECTED No connection to the push service + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre The application should be connected to the push service + * @post In result, the state callback will be invoked + * @see push_register() + */ +int push_deregister(push_connection_h connection, push_result_cb callback, + void *user_data); + +/** + * @brief Gets notification data which its server sent + * @remark The data must be released with free() by you + * @param[in] notification The notification handle + * @param[out] data The notification data\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_data(push_notification_h notification, char **data); + + +/** + * @brief Gets the notification message which its server sent + * @remark The msg must be released with free() by you + * @param[in] notification The notification handle + * @param[out] data The notification message\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_message(push_notification_h notification, + char **msg); + +/** + * @brief Gets the received time of the notification message + * + * @param[in] notification The notification handle + * @param[out] received_time The received time of the notification message. \n + * The @a received_time is based on UTC. + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_NO_DATA No data available + * + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_time(push_notification_h notification, long long int *received_time); + +/** + * @brief Gets an unread notification message from the push server + * + * @remark This method will be deprecated. + * @remark @a noti must be released with push_free_notification() by you + * + * @details If an application receives an unread message with this method, the message is removed from the system. \n + * This method can be called repeatedly until it returns PUSH_ERROR_NO_DATA \n + * But, this method does NOT guarantee order and reliability of notification messages. \n + * Some notification messages can be dropped when the system message queue is full. + * + * @param[in] connection The connection handle to the push service + * @param[out] noti The notification handle + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * + * @see push_get_notification_message() + * @see push_get_notification_time() + * @see push_get_notification_data() + */ +int push_get_unread_notification(push_connection_h connection, + push_notification_h *noti); + + +/** + * @brief Gets the registration ID in PUSH_STATE_REGISTERED state + * @remark The reg_id must be released with free() by you + * @param[in] connection The connection handle to the push service + * @param[out] reg_id The registration ID\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No registration ID available + */ +int push_get_registration_id(push_connection_h connection, char **reg_id); + + +/** + * @brief Frees the notification handle + * @param[in] noti The notification handle + */ +void push_free_notification(push_notification_h noti); +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PUSH_LIB_H__ */ diff --git a/arm/lib/libpush.so b/arm/lib/libpush.so new file mode 120000 index 0000000..42d3ebb --- /dev/null +++ b/arm/lib/libpush.so @@ -0,0 +1 @@ +libpush.so.0 \ No newline at end of file diff --git a/arm/lib/libpush.so.0 b/arm/lib/libpush.so.0 new file mode 120000 index 0000000..e8cbc23 --- /dev/null +++ b/arm/lib/libpush.so.0 @@ -0,0 +1 @@ +libpush.so.0.2.12 \ No newline at end of file diff --git a/arm/lib/libpush.so.0.2.12 b/arm/lib/libpush.so.0.2.12 new file mode 100644 index 0000000000000000000000000000000000000000..6c1a2436afeea2bc4289601e10f800e88559277f GIT binary patch literal 45124 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 wU^48T0&1IbEO-&N1l?B-gOA5Z?wbpQYW literal 0 HcmV?d00001 diff --git a/arm/lib/pkgconfig/push.pc b/arm/lib/pkgconfig/push.pc new file mode 100644 index 0000000..b7919a2 --- /dev/null +++ b/arm/lib/pkgconfig/push.pc @@ -0,0 +1,14 @@ +# Package Information for pkg-config + +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: push +Description: Push service client library +Version: 0.2.12 +Requires: capi-appfw-application +Libs: -L${libdir} -lpush +Cflags: -I${includedir} + diff --git a/arm/lib/systemd/user/pushd.service b/arm/lib/systemd/user/pushd.service new file mode 100644 index 0000000..0603ebf --- /dev/null +++ b/arm/lib/systemd/user/pushd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Pushd service + +[Service] +Type=forking +ExecStart=/usr/bin/pushd + +[Install] +WantedBy=tizen-middleware.target diff --git a/arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service b/arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service new file mode 120000 index 0000000..21d0bfc --- /dev/null +++ b/arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service @@ -0,0 +1 @@ +../pushd.service \ No newline at end of file diff --git a/arm/share/push/PushServerTrust.cer b/arm/share/push/PushServerTrust.cer new file mode 100644 index 0000000..7fb8bb2 --- /dev/null +++ b/arm/share/push/PushServerTrust.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAoGgAwIBAgIJAPMld7YDENSnMA0GCSqGSIb3DQEBBQUAMIGkMQswCQYD +VQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2kgZG8xDjAMBgNVBAcMBVN1d29uMSUw +IwYDVQQKDBxTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFREMR4wHAYDVQQDDBUq +LnB1c2guc2Ftc3VuZ29zcC5jb20xKDAmBgkqhkiG9w0BCQEWGWFkbWluQHB1c2gu +c2Ftc3VuZ29zcC5jb20wHhcNOTkxMjMxMTUwMjEwWhcNNDkxMjE4MTUwMjEwWjCB +pDELMAkGA1UEBhMCS1IxFDASBgNVBAgMC0d5ZW9uZ2dpIGRvMQ4wDAYDVQQHDAVT +dXdvbjElMCMGA1UECgwcU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURDEeMBwG +A1UEAwwVKi5wdXNoLnNhbXN1bmdvc3AuY29tMSgwJgYJKoZIhvcNAQkBFhlhZG1p +bkBwdXNoLnNhbXN1bmdvc3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB +gQDS/wx087bX6AA7bz/rPd/AOtm8g1ebRfENevGCnMrnU43PlryjjQjgKxwMO1R5 +Mdvv9IsSdoGIKj5h5VZlWbuiCx5pPqf62Owu3DjVLLuHWmlFkb7y6mKfshAcGCVq +azjayWF9NpmOPnJDlFOZHTu+5X0+KEyx/W7kS6gcB5WIRwIDAQABo1AwTjAdBgNV +HQ4EFgQUWMjZPBPgzaBussvwASa64F2DMFEwHwYDVR0jBBgwFoAUWMjZPBPgzaBu +ssvwASa64F2DMFEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBpsXfr +Fyd3rdKRzyBh/aJgY+XLZf5/TZYhtv2OLv5kMK0EkS0CEduPK5LeZwOhWgLIGpsl +m8F2WNFttqP6fsAHExLTUlyqt4HT0CdzUtypjgsUPK5GBqEvz6+iQP+hZ4NKuxNB +kci9Q85y89ANKtHvKxN1vu7gqArGFyIOJDVC8w== +-----END CERTIFICATE----- diff --git a/libpush.manifest b/libpush.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/libpush.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/push.init b/packaging/push.init new file mode 100644 index 0000000..09f9681 --- /dev/null +++ b/packaging/push.init @@ -0,0 +1,59 @@ +#!/bin/sh + +DESC="Push service daemon" +NAME=pushd +DAEMON=/usr/bin/$NAME +SCRIPTNAME=/etc/init.d/$NAME + +[ -x "$DAEMON" ] || exit 0 + +do_start() { + PID=`pidof $NAME` + [ -z "$PID" ] || return 1 + $DAEMON + RETVAL=$? + return "$RETVAL" +} + +do_stop() { + PID=`pidof $NAME` + if [ -n "$PID" ]; then + kill $PID + fi + return 0 +} + +prt_res() { + RETVAL=$1 + + case "$RETVAL" in + 0|1) + echo "... done." + RETVAL=0 + ;; + *) + echo "... failed!" + RETVAL=1 + ;; + esac + + return $RETVAL +} + +case "$1" in + start) + echo "Starting $DESC" "$NAME" + do_start + prt_res $? + ;; + stop) + echo "Stopping $DESC" "$NAME" + do_stop + prt_res $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop}" >&2 + exit 3 + ;; +esac + diff --git a/packaging/push.spec b/packaging/push.spec new file mode 100755 index 0000000..c6f49b4 --- /dev/null +++ b/packaging/push.spec @@ -0,0 +1,192 @@ +Name: push +Summary: Push services and client library. +Version: 0.2.32 +Release: 1 +Group: TO_BE_FILLED +License: TO_BE_FILLED +Source0: %{name}-%{version}.tar.gz + + +%description +Push services and client library. + +%package -n libpush +Summary: Push service client library +Group: TO_BE_FILLED +Provides: libpush.so.0 + +%description -n libpush +Push service client library + + +%package -n libpush-devel +Summary: Push service client library (DEV) +Group: devel +Requires: libpush = %{version}-%{release} +Requires: capi-appfw-application-devel + +%description -n libpush-devel +Push service client library (DEV) + + +%package bin +Summary: Push service daemon +Group: TO_BE_FILLED +Requires: badge + +%description bin +Push service daemon + + +%package tool +Summary: Push service tool +Group: devel +Requires: libpush = %{version}-%{release} +Requires: %{name}-bin = %{version}-%{release} + +%description tool +Push service tool + + + +%prep +%setup -q + +%build + +%install +rm -rf %{buildroot} + + +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_libdir}/pkgconfig +mkdir -p %{buildroot}%{_includedir} +mkdir -p %{buildroot}/usr/share/push +mkdir -p %{buildroot}%{_sysconfdir}/init.d +mkdir -p %{buildroot}%{_sysconfdir}/rc.d/{rc3.d,rc5.d} +mkdir -p %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants + + +%ifarch %{arm} +#libpush +cp -a arm/lib/libpush.so.* %{buildroot}%{_libdir} +#libpush-devel +cp -a arm/include/push.h %{buildroot}%{_includedir} +cp -a arm/lib/pkgconfig/push.pc %{buildroot}%{_libdir}/pkgconfig/push.pc +cp -a arm/lib/libpush.so %{buildroot}%{_libdir} +#push-bin +cp -a arm/bin/pushd %{buildroot}%{_bindir} +cp -a arm/share/push/PushServerTrust.cer %{buildroot}/usr/share/push/PushServerTrust.cer +cp -a arm/etc/init.d/pushd %{buildroot}%{_sysconfdir}/init.d/pushd +cp -a arm/etc/rc.d/rc3.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S90pushd +cp -a arm/etc/rc.d/rc5.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S90pushd +cp -a arm/lib/systemd/user/pushd.service %{buildroot}%{_libdir}/systemd/user/pushd.service +cp -a arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/pushd.service +#push-tool +cp -a arm/bin/push_tool %{buildroot}%{_bindir} +%else +#libpush +cp -a x86/lib/libpush.so.* %{buildroot}%{_libdir} +#libpush-devel +cp -a x86/include/push.h %{buildroot}%{_includedir} +cp -a x86/lib/pkgconfig/push.pc %{buildroot}%{_libdir}/pkgconfig/push.pc +cp -a x86/lib/libpush.so %{buildroot}%{_libdir} +#push-bin +cp -a x86/bin/pushd %{buildroot}%{_bindir} +cp -a x86/share/push/PushServerTrust.cer %{buildroot}/usr/share/push/PushServerTrust.cer +cp -a x86/etc/init.d/pushd %{buildroot}%{_sysconfdir}/init.d/pushd +cp -a x86/etc/rc.d/rc3.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S90pushd +cp -a x86/etc/rc.d/rc5.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S90pushd +cp -a x86/lib/systemd/user/pushd.service %{buildroot}%{_libdir}/systemd/user/pushd.service +cp -a x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/pushd.service +#push-tool +cp -a x86/bin/push_tool %{buildroot}%{_bindir} +%endif + +if [ -f /usr/lib/rpm-plugins/msm.so ] +then + chsmack -a "_" -e "_" %{buildroot}/etc/init.d/pushd + chsmack -a "_" -e "_" %{buildroot}/etc/rc.d/rc3.d/S90pushd + chsmack -a "_" -e "_" %{buildroot}/etc/rc.d/rc5.d/S90pushd +fi + +%post bin +mkdir -p /opt/dbspace +sqlite3 /opt/dbspace/.push.db "PRAGMA journal_mode = PERSIST; create table a(a); drop table a;" > /dev/null +chown root:5000 /opt/dbspace/.push.db +chown root:5000 /opt/dbspace/.push.db-journal +chmod 660 /opt/dbspace/.push.db +chmod 660 /opt/dbspace/.push.db-journal + +chsmack -a 'push-service::db' /opt/dbspace/.push.db +chsmack -a 'push-service::db' /opt/dbspace/.push.db-journal + +_VER="1" +_DEV_TYPE="00000000" +_DEV_INFO="device.model=ssltest" +_IP_PV="gld.push.samsungosp.com" +_PORT_PV=5223 +#ping interval {120,240,480,960,1920} +_PING_INT=480 +_GRP="-g 5000" + +vconftool set -t string file/private/push-bin/version ${_VER} ${_GRP} -f +vconftool set -t string file/private/push-bin/dev_type ${_DEV_TYPE} ${_GRP} -f +vconftool set -t string file/private/push-bin/dev_info ${_DEV_INFO} ${_GRP} -f +vconftool set -t string file/private/push-bin/ip_pv ${_IP_PV} ${_GRP} -f +vconftool set -t int file/private/push-bin/port_pv ${_PORT_PV} ${_GRP} -f +vconftool set -t int file/private/push-bin/ping_int ${_PING_INT} ${_GRP} -f + +vconftool unset file/private/push-bin/devtk + +%post -n libpush +/sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files -n libpush +%manifest libpush.manifest +%attr(644,-,-) %{_libdir}/libpush.so.* + +%files -n libpush-devel +%{_includedir}/*.h +%{_libdir}/pkgconfig/*.pc +%{_libdir}/libpush.so + +%files bin +%manifest push-bin.manifest +%{_bindir}/pushd +/usr/share/push/*.cer +/etc/init.d/pushd +/etc/rc.d/rc3.d/S90pushd +/etc/rc.d/rc5.d/S90pushd +/usr/lib/systemd/user/pushd.service +/usr/lib/systemd/user/tizen-middleware.target.wants/pushd.service + +%files tool +%manifest push-tool.manifest +%{_bindir}/push_tool + +%changelog +* Mon Oct 22 2012 Jooseok Park - 0.2.25 +- bundle null check added & protobuf null check added +* Wed Sep 19 2012 Jooseok Park - 0.2.24 +- when pkg is uninstlled, db process is added +* Fri Sep 7 2012 Jooseok Park - 0.2.23 +- emul check logic is changed(using capi-system-info) +* Tue Sep 4 2012 Jooseok Park - 0.2.22 +- decoding of message with space character which is urlencoded to "+" +* Wed Aug 29 2012 Jooseok Park - 0.2.21 +- package uninstalled event added +* Fri Aug 17 2012 Jooseok Park - 0.2.20 +- debug msg added & some internal function name changed +* Wed Aug 8 2012 Jooseok Park - 0.2.19 +- push noti default action is silent, and old key is deleted +* Wed Aug 8 2012 Jooseok Park - 0.2.18 +- tapi imei api is changed for new tapi +* Tue Aug 7 2012 Jooseok Park - 0.2.17 +- emulator check func is added +* Wed Jul 25 2012 Jooseok Park - 0.2.16 +- OSP Push noti support(alertMessage,..) + diff --git a/packaging/pushd.service b/packaging/pushd.service new file mode 100644 index 0000000..0603ebf --- /dev/null +++ b/packaging/pushd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Pushd service + +[Service] +Type=forking +ExecStart=/usr/bin/pushd + +[Install] +WantedBy=tizen-middleware.target diff --git a/push-bin.manifest b/push-bin.manifest new file mode 100644 index 0000000..730b11b --- /dev/null +++ b/push-bin.manifest @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/push-tool.manifest b/push-tool.manifest new file mode 100644 index 0000000..367275f --- /dev/null +++ b/push-tool.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/x86/bin/push_tool b/x86/bin/push_tool new file mode 100755 index 0000000000000000000000000000000000000000..f224ae2056bfcb146aa23fba6a6163307103e47a GIT binary patch literal 15168 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�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 + exit 3 + ;; +esac + diff --git a/x86/etc/rc.d/rc3.d/S90pushd b/x86/etc/rc.d/rc3.d/S90pushd new file mode 120000 index 0000000..70c8ff9 --- /dev/null +++ b/x86/etc/rc.d/rc3.d/S90pushd @@ -0,0 +1 @@ +/etc/init.d/pushd \ No newline at end of file diff --git a/x86/etc/rc.d/rc5.d/S90pushd b/x86/etc/rc.d/rc5.d/S90pushd new file mode 120000 index 0000000..70c8ff9 --- /dev/null +++ b/x86/etc/rc.d/rc5.d/S90pushd @@ -0,0 +1 @@ +/etc/init.d/pushd \ No newline at end of file diff --git a/x86/include/push.h b/x86/include/push.h new file mode 100644 index 0000000..4f688d0 --- /dev/null +++ b/x86/include/push.h @@ -0,0 +1,289 @@ +// +// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://floralicense.org/license/ +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an AS IS BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef __PUSH_LIB_H__ +#define __PUSH_LIB_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup CAPI_MESSAGING_PUSH_MODULE + * @{ + */ + +/** + * @file push.h + * @ingroup CAPI_MESSAGING_FRAMEWORK + * @brief Support to receive push notifications + */ + +/** + * @brief Enumerations of error codes for push API + */ +typedef enum { + PUSH_ERROR_NONE = 0, /**< Successful */ + PUSH_ERROR_OUT_OF_MEMORY = -ENOMEM, /**< Out of memory */ + PUSH_ERROR_INVALID_PARAMETER = -EINVAL, /**< Invalid parameter */ + PUSH_ERROR_NOT_CONNECTED = -ENOTCONN, /**< Not connected */ + PUSH_ERROR_NO_DATA = -ENODATA, /**< No data available */ + PUSH_ERROR_OPERATION_FAILED = -0x00004300, /**< Internal operation failed */ +} push_error_e; + +/** + * @brief Enumerations of registration state + */ +typedef enum { + PUSH_STATE_REGISTERED, /**< Registred */ + PUSH_STATE_UNREGISTERED, /**< Unregistered */ + PUSH_STATE_ERROR, /**< Error */ +} push_state_e; + +/** + * @brief Enumerations of result + */ +typedef enum { + PUSH_RESULT_SUCCESS, /**< Successful */ + PUSH_RESULT_TIMEOUT, /**< Request timed out */ + PUSH_RESULT_SERVER_ERROR, /**< Push server error */ + PUSH_RESULT_SYSTEM_ERROR, /**< System error */ +} push_result_e; + +/** + * @brief Handle of a connection to the push service + */ +typedef struct push_connection_s *push_connection_h; + +/** + * @brief Handle of a notification delivered from the push server + */ +typedef struct push_notification_s *push_notification_h; + +/** + * @brief State callback + * @remarks This callback will be invoked when the regisration state is + * refreshed. If the registration or degistration has been succeeded, + * then this state callback must be called. In addition, the state + * can be changed if the push server deregisters the application. + * @param[in] state Registration state + * @param[in] err Error message + * @param[in] user_data User data passed to this callback + * @see push_connect() + */ +typedef void (*push_state_cb)( + push_state_e state, const char *err, void *user_data); + +/** + * @brief Notifcation callback + * @param[in] notification A handle of notification containing its payload. + * The handle is available inside this callback only. + * @param[in] user_data User data passed to this callback + * @see push_connect(), push_get_notification_data() + */ +typedef void (*push_notify_cb)( + push_notification_h noti, void *user_data); + +/** + * @brief Result callback + * @param[in] result Registration/deregistration result + * @param[in] msg Result message from the push server or NULL + * @param[in] user_data User data passed to this callback + * @see push_register(), push_deregister() + */ +typedef void (*push_result_cb)(push_result_e result, const char *msg, void *user_data); + +/** + * @brief Connects to the push service and sets callback functions + * @remarks If there is a connection between an application and the push service, + * the notify callback passes the notification upon its arrival. + * Otherwise, the push service posts a UI notification to alert users. + * Connection should be freed with @ref push_disconnect() by you. + * @param[in] app_id The application ID + * @param[in] state_cb State callback function + * @param[in] notify_cb Notify callback function + * @param[in] user_data User data to pass to state_cb and notify_cb + * @param[out] connection The connection handle to the push service + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre There is no connection for the app_id to the push service + * @post The state callback will be called to let you know the current + * registration state immediately. + * @see push_disconnect() + */ +int push_connect(const char *app_id, push_state_cb state_callback, + push_notify_cb notify_callback, void *user_data, + push_connection_h *connection); + +/** + * @brief Closes the connection and releases all its resources + * @remarks If you call this function in the push callback functions, + * it may cause your application crash. + * @param[in] connection Handle of a connection to the push service + * @see push_connect() + */ +void push_disconnect(push_connection_h connection); + +/** + * @brief Registers an application to the push server + * @param[in] connection The connection handle to the push service + * @param[in] service A @ref Service handle to launch an application by + * an posted UI notification + * @param[in] result_cb Result callback function + * @param[in] user_data User data to pass to result_cb + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NOT_CONNECTED No connection to the push service + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre The application should be connected to the push service + * @post For successful result, the state callback should be invoked + * @see push_deregister() + */ +int push_register(push_connection_h connection, service_h service, + push_result_cb result_callback, void *user_data); + +/** + * @brief Deregisters an application from the Push server + * @param[in] connection The connection handle to the push service + * @param[in] result_cb Result callback function + * @param[in] user_data User data to pass to result_cb + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NOT_CONNECTED No connection to the push service + * @retval PUSH_ERROR_OPERATION_FAILED Operation failed + * @pre The application should be connected to the push service + * @post In result, the state callback will be invoked + * @see push_register() + */ +int push_deregister(push_connection_h connection, push_result_cb callback, + void *user_data); + +/** + * @brief Gets notification data which its server sent + * @remark The data must be released with free() by you + * @param[in] notification The notification handle + * @param[out] data The notification data\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_data(push_notification_h notification, char **data); + + +/** + * @brief Gets the notification message which its server sent + * @remark The msg must be released with free() by you + * @param[in] notification The notification handle + * @param[out] data The notification message\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_message(push_notification_h notification, + char **msg); + +/** + * @brief Gets the received time of the notification message + * + * @param[in] notification The notification handle + * @param[out] received_time The received time of the notification message. \n + * The @a received_time is based on UTC. + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_NO_DATA No data available + * + * @see push_notify_cb() + * @see push_get_unread_notification() + */ +int push_get_notification_time(push_notification_h notification, long long int *received_time); + +/** + * @brief Gets an unread notification message from the push server + * + * @remark This method will be deprecated. + * @remark @a noti must be released with push_free_notification() by you + * + * @details If an application receives an unread message with this method, the message is removed from the system. \n + * This method can be called repeatedly until it returns PUSH_ERROR_NO_DATA \n + * But, this method does NOT guarantee order and reliability of notification messages. \n + * Some notification messages can be dropped when the system message queue is full. + * + * @param[in] connection The connection handle to the push service + * @param[out] noti The notification handle + * @return 0 on success, otherwise a negative error value. + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No data available + * + * @see push_get_notification_message() + * @see push_get_notification_time() + * @see push_get_notification_data() + */ +int push_get_unread_notification(push_connection_h connection, + push_notification_h *noti); + + +/** + * @brief Gets the registration ID in PUSH_STATE_REGISTERED state + * @remark The reg_id must be released with free() by you + * @param[in] connection The connection handle to the push service + * @param[out] reg_id The registration ID\n + * Set NULL if error but PUSH_ERROR_INVALID_PARAMETER + * @return 0 on success, otherwise a negative error value + * @retval PUSH_ERROR_NONE Successful + * @retval PUSH_ERROR_INVALID_PARAMETER Invalid parameter + * @retval PUSH_ERROR_OUT_OF_MEMORY Out of memory + * @retval PUSH_ERROR_NO_DATA No registration ID available + */ +int push_get_registration_id(push_connection_h connection, char **reg_id); + + +/** + * @brief Frees the notification handle + * @param[in] noti The notification handle + */ +void push_free_notification(push_notification_h noti); +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PUSH_LIB_H__ */ diff --git a/x86/lib/libpush.so b/x86/lib/libpush.so new file mode 120000 index 0000000..42d3ebb --- /dev/null +++ b/x86/lib/libpush.so @@ -0,0 +1 @@ +libpush.so.0 \ No newline at end of file diff --git a/x86/lib/libpush.so.0 b/x86/lib/libpush.so.0 new file mode 120000 index 0000000..e8cbc23 --- /dev/null +++ b/x86/lib/libpush.so.0 @@ -0,0 +1 @@ +libpush.so.0.2.12 \ No newline at end of file diff --git a/x86/lib/libpush.so.0.2.12 b/x86/lib/libpush.so.0.2.12 new file mode 100644 index 0000000000000000000000000000000000000000..5622ae5860f0308bb792d9ad294327acffbc1d77 GIT binary patch literal 55384 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 KNS66CZ~qsig1w{w literal 0 HcmV?d00001 diff --git a/x86/lib/pkgconfig/push.pc b/x86/lib/pkgconfig/push.pc new file mode 100644 index 0000000..b7919a2 --- /dev/null +++ b/x86/lib/pkgconfig/push.pc @@ -0,0 +1,14 @@ +# Package Information for pkg-config + +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: push +Description: Push service client library +Version: 0.2.12 +Requires: capi-appfw-application +Libs: -L${libdir} -lpush +Cflags: -I${includedir} + diff --git a/x86/lib/systemd/user/pushd.service b/x86/lib/systemd/user/pushd.service new file mode 100644 index 0000000..0603ebf --- /dev/null +++ b/x86/lib/systemd/user/pushd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Pushd service + +[Service] +Type=forking +ExecStart=/usr/bin/pushd + +[Install] +WantedBy=tizen-middleware.target diff --git a/x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service b/x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service new file mode 120000 index 0000000..21d0bfc --- /dev/null +++ b/x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service @@ -0,0 +1 @@ +../pushd.service \ No newline at end of file diff --git a/x86/share/push/PushServerTrust.cer b/x86/share/push/PushServerTrust.cer new file mode 100644 index 0000000..7fb8bb2 --- /dev/null +++ b/x86/share/push/PushServerTrust.cer @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAoGgAwIBAgIJAPMld7YDENSnMA0GCSqGSIb3DQEBBQUAMIGkMQswCQYD +VQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2kgZG8xDjAMBgNVBAcMBVN1d29uMSUw +IwYDVQQKDBxTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFREMR4wHAYDVQQDDBUq +LnB1c2guc2Ftc3VuZ29zcC5jb20xKDAmBgkqhkiG9w0BCQEWGWFkbWluQHB1c2gu +c2Ftc3VuZ29zcC5jb20wHhcNOTkxMjMxMTUwMjEwWhcNNDkxMjE4MTUwMjEwWjCB +pDELMAkGA1UEBhMCS1IxFDASBgNVBAgMC0d5ZW9uZ2dpIGRvMQ4wDAYDVQQHDAVT +dXdvbjElMCMGA1UECgwcU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURDEeMBwG +A1UEAwwVKi5wdXNoLnNhbXN1bmdvc3AuY29tMSgwJgYJKoZIhvcNAQkBFhlhZG1p +bkBwdXNoLnNhbXN1bmdvc3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB +gQDS/wx087bX6AA7bz/rPd/AOtm8g1ebRfENevGCnMrnU43PlryjjQjgKxwMO1R5 +Mdvv9IsSdoGIKj5h5VZlWbuiCx5pPqf62Owu3DjVLLuHWmlFkb7y6mKfshAcGCVq +azjayWF9NpmOPnJDlFOZHTu+5X0+KEyx/W7kS6gcB5WIRwIDAQABo1AwTjAdBgNV +HQ4EFgQUWMjZPBPgzaBussvwASa64F2DMFEwHwYDVR0jBBgwFoAUWMjZPBPgzaBu +ssvwASa64F2DMFEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBpsXfr +Fyd3rdKRzyBh/aJgY+XLZf5/TZYhtv2OLv5kMK0EkS0CEduPK5LeZwOhWgLIGpsl +m8F2WNFttqP6fsAHExLTUlyqt4HT0CdzUtypjgsUPK5GBqEvz6+iQP+hZ4NKuxNB +kci9Q85y89ANKtHvKxN1vu7gqArGFyIOJDVC8w== +-----END CERTIFICATE----- -- 2.7.4