From ba97e0cdc2131cdbcc9bb2739ec1670cd209be74 Mon Sep 17 00:00:00 2001 From: "Parth Gajjar (Open ERP)" Date: Thu, 23 May 2013 19:08:48 +0530 Subject: [PATCH] [IMP] Moved Google Authorization Code to General Setting bzr revid: pga@tinyerp.com-20130523133848-0i3j6h3rzj5a66pd --- addons/google_docs/google_docs.py | 15 ++++++++-- addons/google_docs/google_docs_data.xml | 4 +++ addons/google_docs/res_config_user_view.xml | 29 ++------------------ addons/google_docs/static/src/img/icon.png | Bin 0 -> 12538 bytes 4 files changed, 18 insertions(+), 30 deletions(-) create mode 100644 addons/google_docs/static/src/img/icon.png diff --git a/addons/google_docs/google_docs.py b/addons/google_docs/google_docs.py index 4059ed9117f..c570ac5dd33 100644 --- a/addons/google_docs/google_docs.py +++ b/addons/google_docs/google_docs.py @@ -202,8 +202,8 @@ class config(osv.osv): config() -class res_users(osv.osv): - _inherit = "res.users" +class base_config_settings(osv.osv): + _inherit = "base.config.settings" def onchange_authorization_code(self, cr, uid, ids, authorization_code, context=None): res = {} @@ -222,7 +222,16 @@ class res_users(osv.osv): if 'refresh_token' in content.keys(): ir_config.set_param(cr, uid, 'google_refresh_token', content['refresh_token']) return res + + def get_default_authorization_code(self, cr, uid, ids, context=None): + authorization_code = self.pool.get("ir.config_parameter").get_param(cr, uid, "authorization_code", context=context) + return {'authorization_code': authorization_code} + def set_authorization_code(self, cr, uid, ids, context=None): + config_parameters = self.pool.get("ir.config_parameter") + for record in self.browse(cr, uid, ids, context=context): + config_parameters.set_param(cr, uid, "authorization_code", record.authorization_code or '', context=context) + _columns = { - 'authorization_code': fields.char('Authorization Code', size=124), + 'authorization_code': fields.char('Google Authorization Code', size=124), } \ No newline at end of file diff --git a/addons/google_docs/google_docs_data.xml b/addons/google_docs/google_docs_data.xml index ea8d5dcd8ba..5ec29c12a7c 100644 --- a/addons/google_docs/google_docs_data.xml +++ b/addons/google_docs/google_docs_data.xml @@ -22,5 +22,9 @@ - + + authorization_code + - + \ No newline at end of file diff --git a/addons/google_docs/res_config_user_view.xml b/addons/google_docs/res_config_user_view.xml index ea796ee34b8..2e3d833814b 100644 --- a/addons/google_docs/res_config_user_view.xml +++ b/addons/google_docs/res_config_user_view.xml @@ -76,19 +76,7 @@
-
- - - - - res.users.google.form1 - res.users - - - - - + @@ -96,20 +84,7 @@ Generate Authorization Code - - - - - - res.users.google.form2 - res.users - - - - - - Generate Authorization Code - + diff --git a/addons/google_docs/static/src/img/icon.png b/addons/google_docs/static/src/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f64291ef99005d8c73c0f122116cb63b9454b8 GIT binary patch literal 12538 zcmW+-1yIz_`~KW!KSKk+c2+Wns( z_0zKp1ORgS|8)>h@Q&r5k~K)%Hps%)Jt)*AzzxuF^?mFH)%SMsa5HyvaSit$aZ>>R zsbqaE4a=~_gXr)kj-lvPUw4ntwbV^cRAd;SL5HqM;M3A#&`+(h6!Rj@{Ba5A??-_RPlnM7nmo7=9#8@ru8I#V?D6>6 zJ?nq?G7A#&fD{V3y;?8f{7>zlouLliJERBCc>#r^U1WH%$H7CfwQR482jH08aSW=2 zKI^CBN*L!y{q`kmX(vITS{eWFJ7|6-xTmsO`z^J#X7t3;n)cDk>$Tmn6eEX(XbODQ z@@GFp=Q@|-eW}&r0Z7xz3NdlS(tnw}1iapn=q>neyxO?DE1{Myk^2}xeDf~e@w_`M zqmjKdgF;RQ(L;Cvl#TBY94-bS+WjSTAsK)Y(@D{W=+xdtXf28sHUuCG-^DAb+?p^d zf`>V=kF;RddjF-MXc050NxBo6-Mf^0R<7v(DdbU|{f3QK^GZe0Pctz8G%x|wpSwe) z{|UkDW&E_zB+yV42ErZdO{M-noIHYwdxWib66F5D#PR~7h_%CPM14_A2Fa&)fGgnH zW6@MN0;Qx45+#LD;VzCSU8B|LVIu>3a}Cd+e(2661?R#X=c2g|zfv*UAo~AJIwMdw ztw06k#0fhf3xC1TDBon?Qj2TI-9)gq?zxW{K`cSc87ee4c8oUGg5c48fTuKI8c;6I z)yE(yXoGnE*}yx_0Zv=Xc0p%tWeq-6PJ%fwG@_BaO90k*$zk^zEXzs6u+aC@C=L~? z?u6)?cYae5 z{NbU{1zyLmC4$D)6$%FtJPFx0bRVLGW-2gR;d+9mzlk(Q7?%4bkXJ{m>rE-@~=mc05CS7|CKY()>O(HX05 zN*{l8AUIsO>-3B7Hv=6B2dICoV{^8ONnFp*!<49lpM2 z@>9ZmG+UhbyLvIKEw=MN$aOJX37G#J8M#+&BF%Rcrn$oACJ7(?IpJwT={;Ug$%H3qu+ze2lMHmkCn^MIGDHs=cjY z>u(6wqU&(FojD!-&+GNE#*qOyrZe8jV<@$R09otCJ&{lb*Ib-DV_H`~)XfJ?jjiwP ze!Bi9qY@K}G>@C9AX3VP;C+aZ6Awz-CKFfK-&-He`8^OqoeQR8|LididmNi%F7|Id zIVsLAj5gXdDF5*R*Zt?&y#TVDGdora=cCt@4cxEE&4h7S%=wjBLx_j><==In4?k7P z1nzhR;Q*1Wwuzw{Km9C<@Uw`X_gefWN<8f$X=Q-j9rBuLI4p^Ar|EbB8SSsI->LhP z-jS8CW{jSjW(~{yEH%xZcvBEkosM=sq{YuVsEJ7g3zAZtM2J)M*Z)H3Pa-M#&`VS| zVy^jAYpACxm$@&{r8H`Zmp8ldKwmquK=wCJMkZ}^Ze=4^PY-p-n(f5$tb*`qs{m*% z1Y3BQGAO8;yo819@b>XFj*m{LL4WNwK*z$C#veQ<<^M$=r~_6y`n=864e79)xYH0G zjKS1zUtX1V~5h+?w6 zC!?P+Jaa>O&-<#quo00P0U?+r-lVu_$KAp>!G5$xp&kAFA{J_~w!c%K4!+Kgljn`9 z%0c+j8z8A5%&*}e072S4u}q#advQbYG1b! zW<4os7`e(vx+TCkKYI^ce%Q2$84ygGtNhZj{gvJ*?!(&I^m7^%GJ;V5eIAKg9&I4> zUS;^fN45EAO}p>1qb()DZX!)SdrxwoN(JwK6FLl?`5~Bj=}(8s2EdYdXPGHA2dM>W z#PIC~l%YcyLB{|hvqCvbRK(1NHKhSTOWJp1;cky;C6=Xs#kn?W5Kz!zBhs`SQOA&* zuZAiiUA??!b^5e|pf5_o&v+A;e1-ZqL(hXNKKsT&>PskG*>SmBTMMQy&7WUG=seFr zUpg+dD-A})CJxM0auIENPCW3+%X|UpL4=q{cCsk_`SW)qZ8BdW z#GV1P0`6+LW>#Mzrss`)#h2v)N3_?VDt*W%!^0-zgV{syuSjH8c?}|YNb5}~Go}Y# zojGM*`2}>m{y_}|p8GH&%2lsZHr1E0&-)uy)k;fQb!QmNh z1^8wD@s7Qp7Zfug1$$oDs5(m>A6?wemnCR{D(D8nA-4w^AltXUy$0Y{P2yT$un2mu zlf0?doIrX~Wzzivl?D?jG#13|p97ZQu}4U%&6iwWEEs^hi^#L8X1v_EBcAj;>uyrI z9HK2qf>p4-)Rkjy}tq$Yu5Z`VdiX zA>yVq_Uq$IGdmmbtbI%a_c0FA+n(o4#fU{pGJR-*Hj+WFzz`#lh9Gw~6OQNtVhHrZ zd{-En>_&Gr2yu1lI&V8Z@9?D&%{m9dl;w=|wv^YU{>Q@}t;SNpMPAFBRUyMHA zq0O&Q6c31&M~|J%Q{6;WY~I5g+03XrD*_Zf7rvtLQalJ!0t=H;T#- zJVV^!#p*Rvg14DGIDl{QSeA?99aBkhT^_`82!C%0mPzbn>PJ$5<=i$Vw5zZSK+tR@jtVsDh}kwA;v9+nBxSc(7Jx0RN^qZVvjJNiLIF8IuJM1%9^@R_Foz z(43)RXclPvOI1wC0rh7K7fO7s_z^3uGH$~{S7Kq7ukgf75Q02elCnlDvz8ni?PtL*UQ57 zR&eMLVhLb;C78?4zaA=kT+cK?$GM^UVDO0gr$<2B!9epJ>OQQq=?fWS@q zaC0m4|gD@7=T#NE5K@LR&~3mGTYVI87J%d^yP)H?3C5B{9S_`e)0ZsJCX64P00 z?I$@!EqL_ovGAc9h!SdPQWwqwu6`}?hUTqbHY9#L7_=urRZcrqZDKZ73P}M|VlCk} zu&lo0VzSB8vDg9~x~w~3$1FoGnudGy=PEN*^-l8)tJcANV>U!B%#r_Bdi+uJrjUI%?(J2MdKuQ>*d7zR7|bAHok5qVS)9|30_B?G|OQ@+C3Mp;8O5RO1t_sP7HE?9DZ~NcR-XPBE)8v=Gdq7!rD845qMwg7`Qs=K_kbiF6P0yUB#!59=n|SkX%%E_MkP6Dqw{W}n!iP-#)X%aHd6 z{l2#{F4EM5S~SEJ&+ca_-;Gl>J@dr)h6gZ&B#>t9d^5&y#g2aZKxtd0a!0b+pvm)U zke)=qCWq-5aMOYjco*CzTvOI%3_WUYau%$1YJikp63u@>C?3rD;or~R=6ZnmdPJXW z=7~UKw!Ujq-&|yl>@pOL^6EnbC<)A2%(V#T%MrmGlDXUc-uLFZiHFMg`%=)lk5M|L zP?J{osyU_tBU7kPVM*_!6Amkw?#Jn2JH?b(%9i^mm*kgc*VNF()et??`{y!(ZqhFm z-)G`xXSPEj0+Kjs|2FVfgU=SdaJv4I&$bmp&|*7WWqF_6PpQ3UneL2J%>oEY-tI9q zi=Jc`w?{zgPg7b^v2UDGo69MiLgSDuuvfH&)qK<^rj@d9`|z7CvSULr`2@OeR_wz7 zsE&@-yX4W_h2NyO#-A9so&Ylg;O<)@nIQ)|r?|c9F`I#u7bKfRfhU=in1LO3Gw+_zz;pnPFMAdjvEy)%OQl!NiN!Pg`sCAJEcm_Vs)q7f`S?R= zN2KB8nmW-;lIlyLz6veM%*XE#bh*15{0|@bvYXgAZ_0%$KPTe2mzeYS zwPNMb>%Rt98~3>5R|@ZD48&2t3FKX}+8FC(9TTzhb8&!2+xg~jrwOnuIi>m)J!S zBw*+Fn$SuAPkw!rAl2M+$@f7#(5FK>22vZUdS2|RR+r2wKqosJpTtMWq=^I&W>Nr(xw!7{dxpD09&YCiuP1(>)p zFh6TL^nB&Dq>lS;pQ~vmv*Y`VRnOK|OGW{`t_<$-sZ))W-cO5bkr=hUQn#PIx{-FA zWNd!Y<^V~d3@PQOeyM$Z)=UvU`I}7I!tlM=9gSi+w11KreGNzz^-{|IYYyCelc>pKP~(nEjx|@ zn|lloGf%&FKR%@t%yP6=2b~Y8FZfd&vma?i<8(16cPFJ0`oc4&xN=1u?&QZWHa{Y= zU_e;9pQ6%z&iP3T&pfQj&fj(VFs6dYhSRR_P>>*M@$;i&!W4?HWHxxhj3;CzNxp+sB?lagG#F}5H}FH; zmY-{;SAJL;Nru|%IjU*8xZ!6||6;S&#nNg-cBXZyuWxV+Q1P^024u7fRXLJ0I(Y;#)Pe}PopuxbwnLdx#&GR%M>_*^nmxwbNuwM!xeee-;KV8uk<5r2DT8-dGR7>jw`lMpHUY-OT&VQ@^?Rv0&GviS3aj8808L9(hDh zihJ4l!KJ^q91@y9iuimZuVRt0^j)+YEM6x>^o;fxk2Vb=rs)v56kpQ0xM99fX3jh> znT=^;Mjzz0oy}341l2L}rzR$2gly#6!eC2blSgpsbUJ@{_;O=|oKQ zX%;qovsVVb(!U(x?c%^KR1mWBHLahJ)fes(bcpl>-qIpUJ{KV;BxDwU+Pch{tm)ZK z<*lIgi8tj%YGBN~E| z^{y=pT@>hSGan$5pwJR#k7v};)xCYfwww5;dz$Ae3j1ZYy_}mwxBoRKLt%mVtyXG? z@>5w_Y$vloT6D|9#OCOiU7k&XY3rmb456)N!T34%8}T&b#3; z!U}0@65L7f#eK|7Jvh+j0ubmzetg`h2F){660bC@as!5N6z1M z7czPysb8-zGsGR|iemq3PW&D0^Ng@oUW+64r`TWdAhGwm650H09g}V>OqL4)HGtnd zW~+=ILB_S4g7HrW|HrRRW5Lr#pwwI{G`^=Bk?Fjf-a6H4mfJTuPNi;l+ix%vpMSx& z9N~SfB=Vl_ZBgUELb_;Emt{H~QzTn3MX)nr{$lfIn>;Wg`;_Y-y6&|Xc(~$U`dag# z`jv{a}OvA_{KXyEjkx!)}AF`eXwc6(a&j zSJjlLxr=%zzJG70hzFilK=09*LJJ7PRl>WBhoy(4pTN2FICSKg-TXFoHrjUJrO2M7sATrR;~dVhkB5r)Zdh$V%OSw1@>9MEqZ~GBpviSa0b4KfwRa!#)s z*>`nx@h*ulPy-N+|C$BN5_lO%+=pRz>H>ux1X6Uxnr7pHF);5-)6QP$H*8zwn8vXf zBmZ~qR)6P^mKG{c0tA?}ZEHy5ip;ZxvbVM`sZ6Lw%Y?JY!HQQkwAGB)TiZ3lBg$J+ zPFLw{EL(?iFEBNU1~lT$p59mM=gbz#*Fkc0(j1r7Bv+ZWfobx(w5wNs{_<&N1pjR~ z_YyiWQm}=;6aT&R!{5`}q3%ABGrTBk=h&Y<#ZA9} zPhd!1 z=iWG9BKXrjGKaHCVb(qE5~qUAbxbk50`fDkn1$3((XBbvZ|Cu#mTg)T@u5K6f_uCq z;ygSs8DzJ%M?$+1b(^WCyjp-+o3HG9KhOD>4=dT?Z+@-ur9dMkWxcvcJwNs+O8!)p zaUr8>6Z@QATwaaR?`pyzEg5>|*HlKMOC^!;$5|L3ijFiBDd-Gfcj=G5M?!AD-`v#{ z`DEp7ubu0)#?2FeSZis!i70AkT(nQ6mzWGOGJ{#$-EG zmEMiJdDmryq4lM!R^~0U$oT(YIV>t|4l1ez577H5F98;qXqg5!9MAxoZrmkgxe)xa*T);&N_Wx zEl_C;Hn{NgMn*}S6LqDeO3=GxZfk2rFY%2o^c0HV0~%)2$CM+&XE|I!+=x%m-yKd9 z0g2aPMZuLR3GJK`+-JE8hY&E)%}C&PT3Ym&=8V9=$Nhr>aTd5qpEz^e(!~lp?-kNJ zhUxsr%7;M($@y3_7{gYqshwqcXbX5ym+6&ZG%F9yLh`QCIhWW#>T!t2$oSZvG_77A z;6Sw6AqDjj7>NFhk-|0~!ubz$8_u?~)$%;Ko+`c;Or2-fT1n!f>J4eMoi}x5XUD5} zR7Q1eCXvmrVoe9oL+f8g3{UsPiPRX#0?t`=39#_HNrcgi)DDD^>(j`JG3NF&BK|6y z7*Eq03j4LDbmD39w2f>hxq~;SzwbnN3r;YinUjy?U36ZhVlS@9M+f6Xu%3wm4)Z?< zWECi~vis{tvYUVu^Fr=wdg8a~Yb|8y^?kx(bI#ujk4F*iyg2s5Mn~cP0REDhpr3C^ zPTL6&dDYjFGU9Y^zmSRPAt-XJ3F(Ys#7gLeGS#{STmcVDv5zreq;rz=PPD7V;nLs1wH!Y4I(QeD-&zN{TUeAwMuASwhG%}U{#8cB9U5@x3pYb3WHOf0v)?85qoprMbbP`?96ao7q4t_&t6#>BP znJ`3~aPrN0N4rm$bZ>@@2}iQifzdHVA zUtNI27_yI|6HdEr4(M?7!KW#SxGa-A(k9cTnUbm65B%*iG_){@I8BX|W#>XC>gB~N# zjIhg(@1BFtDSpeNLr{gweDWp2Z;PZP&Ejekq)6^p`j8y5(eW^_tBDOL!EFRks57;g z;8Gvc;3BSl1!y~Z$omEbCumdg`Zd;341Ab=+5sN)9S_jIb-h0&!_D$#FlXxVt#9Fl z74LaVx5egkAN(ZA^JJ2L>cJxA12Q_;Ub=w-C!l=8M17rVCHH#?s>$a48zlw_Q&r3^ zxV^8hEUXeML!Kme@8%n|cTx-TYyD^L#S0ev;aOk!a^&ci@{a*2uKmdTuN9=q)qePz zZ{@z<6VVtyTR;4+1qGg5g;Z4yW}-}B-@=~WD$i1<@|XcXKe(pQOMt&W5|E!k!I2*5 ztqHnsTC6y`xRIegQ+IEKs(1F4C#y;`$#s=v?)dGO_Fki4+sk@QbBzzFnLhGtXQHQ> zu(hcfvZCl}0>wB%;&+0Jl4=H6r5mMh#96c5(q~6})7um8qLRasuI28kM?*?WK>etv z)H-MoZ<(EHw+H)4eTh_pT(g(l6Qa^zeCx5F_>KG=JOl7cRVC zf8P*R20Q`FE&lE^%r-4$JRAXqXKM@O1`y%oAnVXNZ`?eTV!&AET{J*DKSbl%8Wu?r^VQ(*hKVCLU6Oi$23xNU|TzT&I403_>cqBgImClSN0$N&rD_p|je zI=Zdb@g^}i>-;&q4vM*Rc|QMF;p!5zhm;j=ej57ztjV}n zvBnKLXQ$OB_tN>prD@v={p2~XB)kUxOU=y(-}_W2qP$wRy)#@p1G!uP)NWBxk#0;m z7ca^SVy2U1IOc|Oklq3%uUNZ8#)0w^wlJ93lE_a?|G<0onYiRJ5@;Ry7jOLb-ZBD? zwWOV8^qC7dh;Uy!eKFP-5;^l?S(o)VEiK!TllE-@z6Rx5DF9%oQ89?=Imw008@4zv zkK!KzzdZ$g)4bVto@h(7@%GnlHu z;q~x>4VPXbnQ13$>7i{)B_d_KaU)dz89tj6-a%PgLkcxyM6gS6Ja*Vu%{;!IvAV2z zbGZ0EgsqV_)yJH$ng?W+fn57eLH~5ZV~n)=&j){78c~p!J!St{ddY(jMU~t}c!EMJ z^#aHfQt*+H6&ib@)f9Bln3|!!qzf;Dl;)^>b1e2L63lX8S8CR<>r;;w;HLZXLPQoO z|8#haPEH#P)N;b_=HY+b2bAd8w0xL|Zl{(4^Vd`ka7!I|eN(!hpU<7TyC3CukmbDv zi|9ccHZzxZsPUmSFOc=pd7^}{OaH>NaaS&;<)8qMKTS>n0hw%DBZ7oagV3z<#6Mar zBNy%=`u`Beb=b4`@+ zHgiiS5Wnqq(rFG#!RsB+jERVKT_0T6oJmsq?7SWENYBtsI@9+eqtS!W)BfUwU%dd$ zC=q56I%J;};cCJerTkim?|xV+Km1p!c7%TGh-M2UYLVbKq=UWdNuk$R`Fnn~c-29w zVz);?bD=R$P4kLccIFw$$KpsWHvHab2dd6N24Si8*t+=_ptXsa-#&Rj%fIKxBNzJ}QgqbqUUK3=^y7t( z8BdjrVqNL5Z6>E~$6xRclX}Ld?cpa1wSZAJN`R88pOU*FzJJj~4a=TClFWD4rUuM+ z;7!O^s!Pd7eVe_B!M4sK)(i-p(-{U_G%AiE*0oL1e@XiSpLnbdXS~Rb%qrT|_;dH{ zh0&>Z0RF+_n~t}A-G4!E%|RmHlfCc75adlIxpK$;ZFzLJ8d#}2F6aM$662G#hMWXn z+}M-AY{V?Lt~~So30?X(7~+~2s}?w?w+f=zhWi~Y5Sfr5I*l#d()pE6zpuR;dnWj| zd*`>mWp3Yoj?q`&d8-I#mOYqzJ0j@V@tupY^p@=;2l1AThBxklU{Z@OOZ#@b0X!uR z5A!j5QYh!rANx~P%DyN5QuPdbJh`Q1U@_A^tMe7-i=4i+v)v^(eGe3u+OP zH>MK1PCZoGs8igaE4eg7DFXZ3u9pp{(++o3Y;Lf^?Jf!H`GFPnf?Ztd_ZLHlm)#=I zoqQTGzM%^e`P0m9&Sce4kiR@Sb@tzyz4tHuB}ieN#$O_1vfaKZlyp~&|MmE8q;~qw zWs$+m7|cVKoJsQUxMng9mDH+v*2y%*NFYSufayikj|;z^QBCm@`O%OCt8QI+AvYt? z3SX%;CAKX&vKPNzAGTN$LPxI6>k`Vna_-!@s7LO+ zP-jF>rUx{QLiF~j^%g4?9qveqhjfFLchqf=cM{DfJdSGa62hp5b7AQ}0Efr^nN~w3 zBG}yuscQK^kmX@X+c=F&F$$LqmmEDebt*$T7=swU2OQUj)ce)?S`;c{bxCs6P+{~vOUSr6bCV{iQS1F&OnA6yj15zcaA@On@XA` zPx@R@g*v)QQupGIrqpbOrWF!;v!0FHUnD>zXjf$MfZ61`xa57_(+`@rvm#R zHr}{*>;KQ;q9H47aLVzM@S(MhX6^ttd~kr`RL@>zp-hj=++Mij-ZV&DGqe-0&_;as%bs~3A0*HJ^TPXZ;UlX_2NSqmH8a%Bs~-16rvqU4mhBt|j<@B7xW!Ye{KP|`V8p^Kw3+X{|B@FF;JVT;+1k_RVU|3gv&!^e0)7hnw@ z_W6FbdzjTSlXj#dMumH10DPK3q&--%WRc1&Qb=bE{=|ysGz0`(`^X6vH4Qo#8G<2M znz>L>9%%4K69LF8SO6*%Qfj>8k$=9XpWtkvg^EQQlA`k1rrb7{?8(ODoH?+ZAlDB> zKWJhlnhJ_Z@)#AL7qM*ptNH!)&!LsJK}k%}{F&!J4<)P!MELrSZ}tgFM_wgyfP$LY z%-r@vm04Zy30E)0Vn|Rj4oLRN*9==i6xa8R%U4lAyWeTjlV6z48;EF|AWB%E7aD4{ps?N z$s*|c7o`x-A}V!eLch{b$dq<1qH{1*lK};Ck_1_D(9SoK{Q&N}#hF*p8@*{KBf3e& zwhykP<8w6xLBp}Dddlm`x99JAsCSftH@6FV)S23LRiavb|JBzsdJwrTExSVJjK1H- z6H_x?&nO`G{!3OZa}vymE4sM~nCBUbd`V1Oi*Iar Gxc>vgVX<-m literal 0 HcmV?d00001