From b2820f1cb2411a0a2d9c472f6ed956f24badf93c Mon Sep 17 00:00:00 2001
From: jofemodo Wz*45lJrZk^U_zh6E3akw}~YS&>(KpGS83b
zg&ZRf2Xm}{jkNh?5P^<{&GBTE{-#_DCP*ro=-ljd3VJ_Bh=RG{AVz--aZv7~kFWGa
z5GRYARzO57*MZu(x)O3K|CCB5P8rruQ>);+lQ+leCIY{_rbJO6*Fn~usI%jKkZr}?
z+n__Zy_jsq)N}lw!q(*|Crt&Q7PzUiG`^$+X}fzr13!medlq0HA%_@!6rySrxEXNL
z;O2@$8s#GE=K3axYT1n1x4Gw_lTwIy4Px90g_&%*iXaH+5|j(U+lX8M3JUWY3flEH
z*&BdZU~i{V5F1YHyn9gDcGTXDsOEQceN^)bRHhAK#KDO6%R~`XhapBCf!{Ez+P6g$
zq^F-(4zliK9l7#*i91$-%26S;U2)(Csbu0Qpra%NNhK4VYtSwWyko8$
-mA+wMBY&C
zd_Lf6EflFj)J{W=pG{=;Rfw_2mh7J7-o7vBgRjR#2wQCZumdrC0&>*hrTsk-6FKSQ
z$Vng9zc#fK+P9(FcW9FA+k$G_ic0N5W%hxa0VEWz*45lJrZk^U_zh6E3akw}~YS&>(KpGS83b
zg&ZRf2Xm}{jkNh?5P^<{&GBTE{-#_DCP*ro=-ljd3VJ_Bh=RG{AVz--aZv7~kFWGa
z5GRYARzO57*MZu(x)O3K|CCB5P8rruQ>);+lQ+leCIY{_rbJO6*Fn~usI%jKkZr}?
z+n__Zy_jsq)N}lw!q(*|Crt&Q7PzUiG`^$+X}fzr13!medlq0HA%_@!6rySrxEXNL
z;O2@$8s#GE=K3axYT1n1x4Gw_lTwIy4Px90g_&%*iXaH+5|j(U+lX8M3JUWY3flEH
z*&BdZU~i{V5F1YHyn9gDcGTXDsOEQceN^)bRHhAK#KDO6%R~`XhapBCf!{Ez+P6g$
zq^F-(4zliK9l7#*i91$-%26S;U2)(Csbu0Qpra%NNhK4VYtSwWyko8$
-mA+wMBY&C
zd_Lf6EflFj)J{W=pG{=;Rfw_2mh7J7-o7vBgRjR#2wQCZumdrC0&>*hrTsk-6FKSQ
z$Vng9zc#fK+P9(FcW9FA+k$G_ic0N5W%hxa0VE
You will be redirected to BTCPay website after clicking on the payment button.
Wz*45lJrZk^U_zh6E3akw}~YS&>(KpGS83b zg&ZRf2Xm}{jkNh?5P^<{&GBTE{-#_DCP*ro=-ljd3VJ_Bh=RG{AVz--aZv7~kFWGa z5GRYARzO57*MZu(x)O3K|CCB5P8rruQ>);+lQ+leCIY{_rbJO6*Fn~usI%jKkZr}? z+n__Zy_jsq)N}lw!q(*|Crt&Q7PzUiG`^$+X}fzr13!medlq0HA%_@!6rySrxEXNL z;O2@$8s#GE=K3axYT1n1x4Gw_lTwIy4Px90g_&%*iXaH+5|j(U+lX8M3JUWY3flEH z*&BdZU~i{V5F1YHyn9gDcGTXDsOEQceN^)bRHhAK#KDO6%R~`XhapBCf!{Ez+P6g$ zq^F-(4zliK9l7#*i91$-%26S;U2)(Csbu0Qpra%NNhK4VYtSwWyko8$^8`*tK}HeL;fU$yBd4G5 zz1=tAHavr~elcq2`>0%pcBc1-PsK<0A!;TesweskHKlR4F7G}6Ar0jC d!^ zS7_60pN&dw_kP#_89|OZQWMS>K{B{aZ}k$6RfrJ@M9n1s3bJJ*s%@M9AVHu^EpZ31 zplBvmp7xlD-clNHcmh{FsqnAL2r@AbnV6?dqgGq{4|_MFw!e$p{0{D}50T^j*V3uI z8&LbUK&-k)i%nEd^skZJENbi9R7hP`cepf_Oe9UqUhPMV^huDs16)rf>?HRD4!;7| zqiT@{1UE4cW`05YFisXxK#7ODVQKHlJOQF+a+iLRzD%}dK~E6&hFaj;z*T-sEMFlQ zZzWn~jO`I1Y9}MiQN=y3j6!rcqUx}MOdF@+X&o)=@whQWAsQ*0!rl6IrT3GZ>$Qa+ znu(QHt@~+UT1DJC8AFbnJ#_eLjzx~0r6W)6+Yb0L!qDA?MhrQ@|0Gvszlm~E2&1Nw z2{IkHAeBt~4TRg-@Yi1_eHdU>%&jX>;7X0?g%4?8rq$Nbr{;HYx2@1xAiWo2)dl%9 zPQwzN!wF#l_k!Enhe6S&d371^K&9L@VU8w#<-0@o1l_C-BRd(?ws&z`H)9 Cl4 z|L0Mtj=f=DyT&(6%YN{XoOIxpin(3N8B*G#M_;DXpP4+LLOcnzcLS=mIp}>Lh2U1; z!GfLiy!lq2_UyIF;Yh9ncm30-=C@I8&4Ic$cl}>{Clf0KQ&Y*r1^F`XOM~Qvziz3h z+a(O#4NJ*vSc({4hp4VcRM#WN9*d|u5t%sIe}Zo)lD~DUHql&1m#v6!#ujih@KjGB zU(t*2aU$>>P+gh#O&$2dh=37C$S88+X&AFEM@}rmxp=u0s(l-|l@H*od{8_2MwAL4 zMz;^W197=;6U)OT!0^hwZ$f{B&~MyqJ1V^wXYHTKJa!?OKVFP#Z7Q!zikOI+DMU}d znX0SS5Iy%UMD4UnEIG-?a8K6#YmihjF&cOhm=|i`p5MmQP9=WvpAa<@%lcB>^-tq` z@H^biucA^rJi=6zR(S*XjA_|B{c4cofLS36dVd?UZ!_7Y-zxh{k<-s7dj5SxFMJT= z*vquW4DK+8?l7w-d6(U24+A~pDvSm8DOpk6?JIR}cL1(MPB@w9ng34wlEug|$9f%< z6@g*Ed{6d!CP>FUiOwJXTqym1?UNj8&zj&|j}b$RKY`fSo+EOirMnbWMO6M?1Pp7t zXJXF;sk+7nNB}2 C8r63`fmy mUHym6qrCj~?c5{fD$rwjmh%xhGP0Xk{ zpxOQGv)AFg|7eg)R;HMi-FT3Rl~;%IwNUB{dEMub1*|Xd#kmbjKH4B9q|Qx5hv`iC zihJo;^a;|Bo DKNDng>nr)3=<0)997=tGHu{t^i|X(@ zTVC(|?JOijsu1xSR7)ey+xL-q>T 3kmTuo&5)g`@r=Wo9u z`@+BUJ} thbI$4i|{kG&ORKm=wA`(PSJ-fJvYz*vxEr@*lRz0&gScrSd0tbaOt*xE^FbfD*r}{EyT*Qca#9>A3C2MWMZEL1z zMS?~gm1!lr#KKv%s5Jgp{i!+! bL!&& ONl0D(60B%e z1ely!SdUZ?1!jhV@0%YbAjlRd^*RC>MQwS#1Qwh`RMir|Vc0VfDk{+gIWm-d->*z$ z?X;e!t@nd*YS$V)%&o-dt=hJh!o~4w!2(B+BY>#%)X9uc^8MTMVnPuYY~|8Af;AAs zq)SnStMGygf$L#E9EeDC+;>_i`Thw~)ai?E)+0!XT|ng&H*d55xGt(=PY?+*6)+@v z>`7Q+;@6^xjzEkoo<*wKno+yglzvvOn?u&0R(yUa2i4XT#36JhFieKpqYxo;FeaT* z+(T}BeqaVkD;ML)&lmr=**0%Qbs&dfPY(%FkdWn&ljj$gAPq}OKe)}wU`#s?Q9HHx zw`A*bL~v(lO_ji;Q1X4-6UZsWEl_l}yjEiWLqWV2WA;`3E2Ho0{5L)q ^zH-o5xkUoh`uBti=0~A zHI1VFRI09Sz+Lww&blX2J6EG}X>ilJrBðYB@eye~$oh@5yWkrS^g%`MsVvL<*W zurZ#x2rwp;em_2L7CH5tq90cbAAexadM<_Av<$a-1!~9pdhJ@
-mA+wMBY&C zd_Lf6EflFj)J{W=pG{=;Rfw_2mh7J7-o7vBgRjR#2wQCZumdrC0&>*hrTsk-6FKSQ z$Vng9zc#fK+P9(FcW9FA+k$G_ic0N5W%hxa0VEzbqRg2SGkRf05u^4`jQ3*IbrUA&w~=?XfQ`3Mjs$5%JKemyJ!@to&5n4*xcK{glv1z zpL}%$7!fj{FJrs-{U7~fj2segY`5_RoQ5Tp@Z_r{VHVwo=@UneomIU4k8)O~ZO!Cf z`!^_capllJl_VV0(3eOQy}Z3_;dGE){7u}gD?U2hE|`c#2nRLv#Sg@YdZ=)MsPta4 zkAE3=+sYt^b-Tg{y9oQV`vu~#sfc)m#xj(P+VLKl#aE+tuM2wA>Z8^*;DlPFw|7Vk zIeu OuS zta}o7^J}PGAL{US<&gs*69GCxg7jix#fBk9A5}atY-uF@@R^7a6OeUtbz*SxnTVRn zgMFpAAN-EY3;(Q%lIzf `j4Q_ew7JWcn!8}R|%!y%9QJ7R}TC%5!^+}-QK=MVcLKudTZdXnZGa$0c< z6y1g;Aiad6Fu*Xth@m?6;QZ~kIIA88BaW<_gPe2*a>6{s$Qh++m+g)ub#sY*WeK@A z@5EX8Yu!#OBNa`MT_F>C(jYEIkqZ=^Ew6STJQPxE3?mLG+~&7+uX-eoIBW)T)J){m zPa 0OBtvl1m>rv!F{Oz2*Fh;he3ba?UjX1@X14*D)% z7y7LosR9IQ&pMp-Pmz7`2V@>Po!s-^MYV4$y*8;omDm@5kDT<0AkN?QgB=ps8nU4~ zf@Cp@-2dS;Ea|7Y;uR!18C1tEaw{Js{r_f>d;WXS)?CsR&7BK8WnvxyoPE_7nk8U| zZ0OEE&myN4*SvBYpD)h*D;WV9A@|q&>3HB|a&P BT@ z32X}K@KN7G3?Gjy;&>n0x8d%yDeC;FNEJ9)a&O*2=6}A5v-Z!WBgtWh6FV;%)V+i~ zVUq+JLPmT HQz>z}WA(ckaho^-yUJ9;qU7{FRm9i==>di7r+Qwa5Yc%Ip6q-ncN;(z*X* zAkJTa%8`BbHq_pYB{;l9Bu?@AV*>4uGysl7uelBD3J&lCQC$x;#Tyr<_HBli67T;w zNQe#S*sVMNN&q=>h8_wLY=3<%kd;6d_%LL~fful-or;JbRy4+`-D^?l-2-eU#>uUI zOpgmHx|wAn51Ssufz|m~1LP!1WP#Pe)d)^urhtqg$ImX_?{_jff;9;J>_QkgYo931 z!AH#udI|i8pt91ub_+nGXKDqE9IjVJE>Y p%iJbC%jH50t>S?%*&kvp;DFv|-RsIHh1X7dt z(F8FqyE&CiYzdI+fJhAEgsZxLwj&QGGWT$pdyW2!^xmRQZ9j-0`TZY*VPcl5wb$tg za@omd)3TcZWXHn&=EO>LPNe+dWH4r2sKd2>P$F^wIGbM?yx}o!208WY(r~Y1Pf(ME zj>iR3$pq3pp#5J*4{#`dM5>T8zc}clLRHh7kWDct3ocy;G4{BUY?T5~txZ8KH%WV3 zK%kJr7VIyReuF@ioG9ejm4S+Lx;x&s;nkt zrz$Zmdlx~-s0#x*c|KzJxIsS^w_)+1nV53=r;sx~U7`!i>gs@C`XFmf%if(z)&bBp zyz=| cqLevl z 9183t>+{PDmrLUXQq;azcO5#7l8?oQV%5%3g!HgIpR!wBiH}y8#lAgRvZpA(1 zUcM!WlTJ36mOZVL3veJ&xc@JJ2Y?@zBRPzz=MH&t0EomqB8ho$>J3`M?064%=W1Ql z*s=+g-UFF^s7$M#aOk8DM2uuqH*&?Q5#}gl%_PLcGcaacFfbdioHXwG#X+sZ`c)S$ z&|Qe-(efjReyc|2-&TH)#E2ut&%wx#x@Fr@nHI>lp|Ty`*4s{kL=cfGO^~Wl5FOa5 zv8tsJ*M2>y%R3+KNpAztk(_`+R0A&oCzKaQ6msIJ7*o$hPCIYFCJ|N|a?gE_+`IP& zac1w^z 16eA=qYDu!qlIliv?w@QZ^%%2HAad z+&d$v=GCphZKh>AJ!+6VlAHznnR1@`u3YW(I$7OgKJIwrgp&|;vk|q^5Y_cXt=g>! zemws@oRtp*aaM0T@LAKcpYQq)JzeR$=z5fSWqZk8XWedJg}dz?cn8Grak}rkW+GzD zvB<>9$O$J0)vhki`)23gaM%1PsDrFmdNPkMf|!=QGnGud1f0Z2lZoZX7O%NSCx29W zuZ|RLUj+@%YGOoU$T7!aO#c*e+WGzq9V>zzirlihP?>!}ygC }#aDZk0D;3k;4IU!mv{G%J!%K< z3-4EyBnatg6BE_eg!A^j R_T6z)j$*>12&+yJ6C(J8III_=u7qxvAqGlq-jL#rvT%enl zWE3LtvgzYiZOvpCe-n4>ilFaB|6!koL?7A%Ub6rvqSs6u<0doul`7Dj$m)NZ3K=1TJvkK`lCVG zfxCg9RFre-W((R+=r+B1V7-Bm5UJ8NQ%(+d)62LUmLi6a9kK*bEsf-sEyP{>1S++w z64pQ8?a4O%HnBWrxv6C0FTmB5YZ-ju>_FB`fg1k mF^<%QG>e$okX#pTg#s$^G>| zA(ukA4kBKwhicbM)^%jV>tOgeM0_M7TBXlbMm(olc!bD6E{)3UL$x-c_N+(k`T%#^ zN>q9e!l(kHiV8yu@Ut$m-G733U51#Jy*ialECQ|x{4I A9J1~t z{}UEFcA@re*f0N`H(w_&doZh {L9#l;+si5dF>D;7)_(v{wQSOp3qyt!6U%{z3L!^91o4zSre&vr+X>2;(ylOK z$U6U18CCl>Jt4lwh?3HMCw|N4T?cpDN v5Cx7|Du^Ie2blK+ur!zi zi6iSy^zTe>deMi;R_~u6P8zj!StW&C2LjJ}GE3EhEu|v}><^7)f!lz+LA#S8R;{NY z`h=dp+e?qOj3CC$@~@Gc4$r4CLa{Cm_5wdLEj!ycojvVp=xs3lo@@{W|c=K;23= zhcV@>!oITU<=zKD7%}7o{~C#%AK `r2av#bWcs89xCtrRVtoy5UZI#M_ka}#;wDT~go}+z~ST*TK&Oz;Xzh`sE%@RHR zW{kN$Q%9K=I_{Y=;L{QVitnP!qg=C} &CPIE^p% zzC ge`9G%N|zJrhY`f@hEh?o$o zMx|SD)<4}lIh2bSKEXFR0Gx&;LEb$+P-q9fV_KM~XuSXc1y@N#K~(mx{zR>cPLNKR zmc4>XC}ad(R?_GAO$D(Lo)6>iz2Vw#hT+{q$2FcT7UxkH>p*$?MeYZ#2%i(W>ekJG z5PEN7rw=pg2ycx+Y(F8?_En_+a4}?C!~52M{FiCjSEl+I(k&@L@|^ZKI&*nO_`G`X zVTO;_J?eEQBF7zzsGW}6@HE-ie|n&8H$q8+s8^$ezEr&Gzq)xeWf z+MtKNd>F5ML}glWHar9CpN2>rQ8QVGl7qQ5b|BCQTx~9})2X|QJCM9&>Dp8>@p<64 zK)7$9Z(EG8a<|{e0$(;Q`|*;z*GfbVyc7P{@c9kud#Vy}n`zmP7b9Xd&>BRTmaS6B z#Lt22!si&G1h~tz>~D3-TG?ojJi7sOM)UsgS%xSw?)PLXU)IV?x95d^Yk yVaEyWD!4vO)cN0M6LHQ?y*`Gz NEf zdF0qUkmML}f^;FtSaex(=#zx#%jY #ui4Y;W!!w>kJ}BfE6oPc) zxPOT-PZHvzxE~$L-8)$17&L-(AxR5*_sCtLOoZ@o7jX4J 8edq$;7e1 zeZc9V+*AZ!1+MZonK2ZIF(e7ng)DL47liG*LC3E=e`81vLzhF88~|z4vabaGo*++4 zsa&)Jmz$P-1&}UPKSy9SNEef9HhKuynW0<-0xtsBo0h#|sF_q{MUXCJ83kMk{QFSV zd?EUT3;Z*B`pB+wIAKu+!~pi^O(bvx@Gvkpl((|N3gBzN8q>1f)WQTvy}4{CW5~aW zP0P+#!LDi9tATmIj|t#@k^o{a@Dt!<@7cKk=C$^aCr4SCSY7=R@4rt0ZUoLD(3^M5 z5*hS-wA;L0G7NQpBM=19H@Y5hF|8(2$wU;m5WNQ?G`ofdmZSGrK4DsRwmq3ZLcdoK zgaj#$Hi-k50m)FC464>x06b(`c1O8tjldA36CKF}>VP931MUF+4^TrmbZVgdj78|F z>N=+(1ZIH?Ged$5tVWp$d>cJUWqK&XB|!taXX8%K0WW)v5om&RJ|H}8;{E?Izy+S_ z4+|iRgH6EQz*DAWuj=l;hXg4vZ6bkT=z$Tp0@Fen?-$ksKSa+HX!mwh22N{K1VQrA zes==tLe;hV3G-=m-^nq+aKg-dPjG=YbYJ+bre*&n$l9V}3DS#}nFCw`%m-$9S|)@p zBwPu+3_NOD_VP--5u!qganRc@l}wEG2r?h|95AOs<>4LRf6&E*@0ymqv!{C&5~MPT zV|ZGm-qS4Kr~rRuBf2N!QNZ?m3n!F@kRaWY ?S90x?8eR?NZ*wpew`f(K}e8(n_?r;g_84t RqgK2H;N}%x`IqHB(z)avsU 6@gx$=<2X9v}z=NCJdS1G0!HqT+}PKOA7r3`j009-R?c zWN h8LAzvt8mBwe@f@_g^JKaU_pK}g?ShocOJSz8YJ`_#gE5Go2pfe2s#!+~kQRA4fY z0P27-z$l;w7y(oPaql|-4v+>qfL5Rd*ahqWwgNV=325*>?Lf}^WPz+{*$1CrG66u> zzYoznM0gAOMo+?(N+!m8LO MgsGIQ-E2(#5}DK8DgiO%hNVnfR(`Oz#FDz@9OCqLxcqB z746CTgUqK?GBFYO8t^4gGjuhF$_4pm+dAO)z$2z*H-=;h3F22{7{D-K0`OJfGGKbZ zFM9*<0Pv`%Y1&Q8c0y^WV1jgGI*kU71Lgyt17=sKJiG(^33vf`*R<@Nm9AYXT7#sL ziMhZfz$ZMPVp#aj)VBtB7kC-?jcM7-LJbmdjR6OuP^o0%eBc(~7<4FBhMedYF3<+N z58P^6_FuZYpCLiY+>A;k6VlTTU+{=ABb5Dqp#k_I@JFD{v}`x%=9dT}F}i4rV}VZt z3(&cW5QmOUz}>)8re&`RvY!$tf}|EEFt6QDjG4f tGcEgrAd*A` zg%}8}HBt)`F$8x4m!eBK!ccbUu@_hbe8;rxbbB&^fgs+c9492m;QAR==)A>3bRsXr zz#|PT5U{AqvO9vHQOc4a9mxbPFwC+^B@ ! zAnnNn5?z|@ ^`>RF3?@m$ zAd{mO_#JR=C=VgJ!85?$nU=kGut*{XksM>u(=(0^ ?bL DJO4i9)N@d~*P~iDqjs&q z-MS37=`Gxys}V8+Mhs*m)G$5cRp4wOUChw0C?+|)h{Asnb^`i;0Pz~)m%ak#=zMz% zav5;bsP-MW8 N9OTpj(nC%L zcjpJalS8RIAEqLAao*#};?Qu?O{=MMsN0={qj?G>NETz-dH#QV eXaBjOcmy zU>x;jM9pMWW*=nRG-3MqZa^>$_*p8M7*z~2D^difT%so)o*7DfVdfPP6H(`Xf~woF z1Vk^7OgYGjr(hiYRg9Tm1Sf+^?Zn;qyywHb2)PdJ>`Noa4*z`M%2YCO2jCtGQRJbJ z!~4ZYpvQrRC j=P-LMUPOmz$SLdVj?G9 zhZub{L<6nxe+(RPsHG_VB1p% Wz*45lJrZk^U_zh6E3akw}~YS&>(KpGS83b zg&ZRf2Xm}{jkNh?5P^<{&GBTE{-#_DCP*ro=-ljd3VJ_Bh=RG{AVz--aZv7~kFWGa z5GRYARzO57*MZu(x)O3K|CCB5P8rruQ>);+lQ+leCIY{_rbJO6*Fn~usI%jKkZr}? z+n__Zy_jsq)N}lw!q(*|Crt&Q7PzUiG`^$+X}fzr13!medlq0HA%_@!6rySrxEXNL z;O2@$8s#GE=K3axYT1n1x4Gw_lTwIy4Px90g_&%*iXaH+5|j(U+lX8M3JUWY3flEH z*&BdZU~i{V5F1YHyn9gDcGTXDsOEQceN^)bRHhAK#KDO6%R~`XhapBCf!{Ez+P6g$ zq^F-(4zliK9l7#*i91$-%26S;U2)(Csbu0Qpra%NNhK4VYtSwWyko8$^8`*tK}HeL;fU$yBd4G5 zz1=tAHavr~elcq2`>0%pcBc1-PsK<0A!;TesweskHKlR4F7G}6Ar0jC d!^ zS7_60pN&dw_kP#_89|OZQWMS>K{B{aZ}k$6RfrJ@M9n1s3bJJ*s%@M9AVHu^EpZ31 zplBvmp7xlD-clNHcmh{FsqnAL2r@AbnV6?dqgGq{4|_MFw!e$p{0{D}50T^j*V3uI z8&LbUK&-k)i%nEd^skZJENbi9R7hP`cepf_Oe9UqUhPMV^huDs16)rf>?HRD4!;7| zqiT@{1UE4cW`05YFisXxK#7ODVQKHlJOQF+a+iLRzD%}dK~E6&hFaj;z*T-sEMFlQ zZzWn~jO`I1Y9}MiQN=y3j6!rcqUx}MOdF@+X&o)=@whQWAsQ*0!rl6IrT3GZ>$Qa+ znu(QHt@~+UT1DJC8AFbnJ#_eLjzx~0r6W)6+Yb0L!qDA?MhrQ@|0Gvszlm~E2&1Nw z2{IkHAeBt~4TRg-@Yi1_eHdU>%&jX>;7X0?g%4?8rq$Nbr{;HYx2@1xAiWo2)dl%9 zPQwzN!wF#l_k!Enhe6S&d371^K&9L@VU8w#<-0@o1l_C-BRd(?ws&z`H)9 Cl4 z|L0Mtj=f=DyT&(6%YN{XoOIxpin(3N8B*G#M_;DXpP4+LLOcnzcLS=mIp}>Lh2U1; z!GfLiy!lq2_UyIF;Yh9ncm30-=C@I8&4Ic$cl}>{Clf0KQ&Y*r1^F`XOM~Qvziz3h z+a(O#4NJ*vSc({4hp4VcRM#WN9*d|u5t%sIe}Zo)lD~DUHql&1m#v6!#ujih@KjGB zU(t*2aU$>>P+gh#O&$2dh=37C$S88+X&AFEM@}rmxp=u0s(l-|l@H*od{8_2MwAL4 zMz;^W197=;6U)OT!0^hwZ$f{B&~MyqJ1V^wXYHTKJa!?OKVFP#Z7Q!zikOI+DMU}d znX0SS5Iy%UMD4UnEIG-?a8K6#YmihjF&cOhm=|i`p5MmQP9=WvpAa<@%lcB>^-tq` z@H^biucA^rJi=6zR(S*XjA_|B{c4cofLS36dVd?UZ!_7Y-zxh{k<-s7dj5SxFMJT= z*vquW4DK+8?l7w-d6(U24+A~pDvSm8DOpk6?JIR}cL1(MPB@w9ng34wlEug|$9f%< z6@g*Ed{6d!CP>FUiOwJXTqym1?UNj8&zj&|j}b$RKY`fSo+EOirMnbWMO6M?1Pp7t zXJXF;sk+7nNB}2 C8r63`fmy mUHym6qrCj~?c5{fD$rwjmh%xhGP0Xk{ zpxOQGv)AFg|7eg)R;HMi-FT3Rl~;%IwNUB{dEMub1*|Xd#kmbjKH4B9q|Qx5hv`iC zihJo;^a;|Bo DKNDng>nr)3=<0)997=tGHu{t^i|X(@ zTVC(|?JOijsu1xSR7)ey+xL-q>T 3kmTuo&5)g`@r=Wo9u z`@+BUJ} thbI$4i|{kG&ORKm=wA`(PSJ-fJvYz*vxEr@*lRz0&gScrSd0tbaOt*xE^FbfD*r}{EyT*Qca#9>A3C2MWMZEL1z zMS?~gm1!lr#KKv%s5Jgp{i!+! bL!&& ONl0D(60B%e z1ely!SdUZ?1!jhV@0%YbAjlRd^*RC>MQwS#1Qwh`RMir|Vc0VfDk{+gIWm-d->*z$ z?X;e!t@nd*YS$V)%&o-dt=hJh!o~4w!2(B+BY>#%)X9uc^8MTMVnPuYY~|8Af;AAs zq)SnStMGygf$L#E9EeDC+;>_i`Thw~)ai?E)+0!XT|ng&H*d55xGt(=PY?+*6)+@v z>`7Q+;@6^xjzEkoo<*wKno+yglzvvOn?u&0R(yUa2i4XT#36JhFieKpqYxo;FeaT* z+(T}BeqaVkD;ML)&lmr=**0%Qbs&dfPY(%FkdWn&ljj$gAPq}OKe)}wU`#s?Q9HHx zw`A*bL~v(lO_ji;Q1X4-6UZsWEl_l}yjEiWLqWV2WA;`3E2Ho0{5L)q ^zH-o5xkUoh`uBti=0~A zHI1VFRI09Sz+Lww&blX2J6EG}X>ilJrBðYB@eye~$oh@5yWkrS^g%`MsVvL<*W zurZ#x2rwp;em_2L7CH5tq90cbAAexadM<_Av<$a-1!~9pdhJ@
-mA+wMBY&C zd_Lf6EflFj)J{W=pG{=;Rfw_2mh7J7-o7vBgRjR#2wQCZumdrC0&>*hrTsk-6FKSQ z$Vng9zc#fK+P9(FcW9FA+k$G_ic0N5W%hxa0VEzbqRg2SGkRf05u^4`jQ3*IbrUA&w~=?XfQ`3Mjs$5%JKemyJ!@to&5n4*xcK{glv1z zpL}%$7!fj{FJrs-{U7~fj2segY`5_RoQ5Tp@Z_r{VHVwo=@UneomIU4k8)O~ZO!Cf z`!^_capllJl_VV0(3eOQy}Z3_;dGE){7u}gD?U2hE|`c#2nRLv#Sg@YdZ=)MsPta4 zkAE3=+sYt^b-Tg{y9oQV`vu~#sfc)m#xj(P+VLKl#aE+tuM2wA>Z8^*;DlPFw|7Vk zIeu OuS zta}o7^J}PGAL{US<&gs*69GCxg7jix#fBk9A5}atY-uF@@R^7a6OeUtbz*SxnTVRn zgMFpAAN-EY3;(Q%lIzf `j4Q_ew7JWcn!8}R|%!y%9QJ7R}TC%5!^+}-QK=MVcLKudTZdXnZGa$0c< z6y1g;Aiad6Fu*Xth@m?6;QZ~kIIA88BaW<_gPe2*a>6{s$Qh++m+g)ub#sY*WeK@A z@5EX8Yu!#OBNa`MT_F>C(jYEIkqZ=^Ew6STJQPxE3?mLG+~&7+uX-eoIBW)T)J){m zPa 0OBtvl1m>rv!F{Oz2*Fh;he3ba?UjX1@X14*D)% z7y7LosR9IQ&pMp-Pmz7`2V@>Po!s-^MYV4$y*8;omDm@5kDT<0AkN?QgB=ps8nU4~ zf@Cp@-2dS;Ea|7Y;uR!18C1tEaw{Js{r_f>d;WXS)?CsR&7BK8WnvxyoPE_7nk8U| zZ0OEE&myN4*SvBYpD)h*D;WV9A@|q&>3HB|a&P BT@ z32X}K@KN7G3?Gjy;&>n0x8d%yDeC;FNEJ9)a&O*2=6}A5v-Z!WBgtWh6FV;%)V+i~ zVUq+JLPmT HQz>z}WA(ckaho^-yUJ9;qU7{FRm9i==>di7r+Qwa5Yc%Ip6q-ncN;(z*X* zAkJTa%8`BbHq_pYB{;l9Bu?@AV*>4uGysl7uelBD3J&lCQC$x;#Tyr<_HBli67T;w zNQe#S*sVMNN&q=>h8_wLY=3<%kd;6d_%LL~fful-or;JbRy4+`-D^?l-2-eU#>uUI zOpgmHx|wAn51Ssufz|m~1LP!1WP#Pe)d)^urhtqg$ImX_?{_jff;9;J>_QkgYo931 z!AH#udI|i8pt91ub_+nGXKDqE9IjVJE>Y p%iJbC%jH50t>S?%*&kvp;DFv|-RsIHh1X7dt z(F8FqyE&CiYzdI+fJhAEgsZxLwj&QGGWT$pdyW2!^xmRQZ9j-0`TZY*VPcl5wb$tg za@omd)3TcZWXHn&=EO>LPNe+dWH4r2sKd2>P$F^wIGbM?yx}o!208WY(r~Y1Pf(ME zj>iR3$pq3pp#5J*4{#`dM5>T8zc}clLRHh7kWDct3ocy;G4{BUY?T5~txZ8KH%WV3 zK%kJr7VIyReuF@ioG9ejm4S+Lx;x&s;nkt zrz$Zmdlx~-s0#x*c|KzJxIsS^w_)+1nV53=r;sx~U7`!i>gs@C`XFmf%if(z)&bBp zyz=| cqLevl z 9183t>+{PDmrLUXQq;azcO5#7l8?oQV%5%3g!HgIpR!wBiH}y8#lAgRvZpA(1 zUcM!WlTJ36mOZVL3veJ&xc@JJ2Y?@zBRPzz=MH&t0EomqB8ho$>J3`M?064%=W1Ql z*s=+g-UFF^s7$M#aOk8DM2uuqH*&?Q5#}gl%_PLcGcaacFfbdioHXwG#X+sZ`c)S$ z&|Qe-(efjReyc|2-&TH)#E2ut&%wx#x@Fr@nHI>lp|Ty`*4s{kL=cfGO^~Wl5FOa5 zv8tsJ*M2>y%R3+KNpAztk(_`+R0A&oCzKaQ6msIJ7*o$hPCIYFCJ|N|a?gE_+`IP& zac1w^z 16eA=qYDu!qlIliv?w@QZ^%%2HAad z+&d$v=GCphZKh>AJ!+6VlAHznnR1@`u3YW(I$7OgKJIwrgp&|;vk|q^5Y_cXt=g>! zemws@oRtp*aaM0T@LAKcpYQq)JzeR$=z5fSWqZk8XWedJg}dz?cn8Grak}rkW+GzD zvB<>9$O$J0)vhki`)23gaM%1PsDrFmdNPkMf|!=QGnGud1f0Z2lZoZX7O%NSCx29W zuZ|RLUj+@%YGOoU$T7!aO#c*e+WGzq9V>zzirlihP?>!}ygC }#aDZk0D;3k;4IU!mv{G%J!%K< z3-4EyBnatg6BE_eg!A^j R_T6z)j$*>12&+yJ6C(J8III_=u7qxvAqGlq-jL#rvT%enl zWE3LtvgzYiZOvpCe-n4>ilFaB|6!koL?7A%Ub6rvqSs6u<0doul`7Dj$m)NZ3K=1TJvkK`lCVG zfxCg9RFre-W((R+=r+B1V7-Bm5UJ8NQ%(+d)62LUmLi6a9kK*bEsf-sEyP{>1S++w z64pQ8?a4O%HnBWrxv6C0FTmB5YZ-ju>_FB`fg1k mF^<%QG>e$okX#pTg#s$^G>| zA(ukA4kBKwhicbM)^%jV>tOgeM0_M7TBXlbMm(olc!bD6E{)3UL$x-c_N+(k`T%#^ zN>q9e!l(kHiV8yu@Ut$m-G733U51#Jy*ialECQ|x{4I A9J1~t z{}UEFcA@re*f0N`H(w_&doZh {L9#l;+si5dF>D;7)_(v{wQSOp3qyt!6U%{z3L!^91o4zSre&vr+X>2;(ylOK z$U6U18CCl>Jt4lwh?3HMCw|N4T?cpDN v5Cx7|Du^Ie2blK+ur!zi zi6iSy^zTe>deMi;R_~u6P8zj!StW&C2LjJ}GE3EhEu|v}><^7)f!lz+LA#S8R;{NY z`h=dp+e?qOj3CC$@~@Gc4$r4CLa{Cm_5wdLEj!ycojvVp=xs3lo@@{W|c=K;23= zhcV@>!oITU<=zKD7%}7o{~C#%AK `r2av#bWcs89xCtrRVtoy5UZI#M_ka}#;wDT~go}+z~ST*TK&Oz;Xzh`sE%@RHR zW{kN$Q%9K=I_{Y=;L{QVitnP!qg=C} &CPIE^p% zzC ge`9G%N|zJrhY`f@hEh?o$o zMx|SD)<4}lIh2bSKEXFR0Gx&;LEb$+P-q9fV_KM~XuSXc1y@N#K~(mx{zR>cPLNKR zmc4>XC}ad(R?_GAO$D(Lo)6>iz2Vw#hT+{q$2FcT7UxkH>p*$?MeYZ#2%i(W>ekJG z5PEN7rw=pg2ycx+Y(F8?_En_+a4}?C!~52M{FiCjSEl+I(k&@L@|^ZKI&*nO_`G`X zVTO;_J?eEQBF7zzsGW}6@HE-ie|n&8H$q8+s8^$ezEr&Gzq)xeWf z+MtKNd>F5ML}glWHar9CpN2>rQ8QVGl7qQ5b|BCQTx~9})2X|QJCM9&>Dp8>@p<64 zK)7$9Z(EG8a<|{e0$(;Q`|*;z*GfbVyc7P{@c9kud#Vy}n`zmP7b9Xd&>BRTmaS6B z#Lt22!si&G1h~tz>~D3-TG?ojJi7sOM)UsgS%xSw?)PLXU)IV?x95d^Yk yVaEyWD!4vO)cN0M6LHQ?y*`Gz NEf zdF0qUkmML}f^;FtSaex(=#zx#%jY #ui4Y;W!!w>kJ}BfE6oPc) zxPOT-PZHvzxE~$L-8)$17&L-(AxR5*_sCtLOoZ@o7jX4J 8edq$;7e1 zeZc9V+*AZ!1+MZonK2ZIF(e7ng)DL47liG*LC3E=e`81vLzhF88~|z4vabaGo*++4 zsa&)Jmz$P-1&}UPKSy9SNEef9HhKuynW0<-0xtsBo0h#|sF_q{MUXCJ83kMk{QFSV zd?EUT3;Z*B`pB+wIAKu+!~pi^O(bvx@Gvkpl((|N3gBzN8q>1f)WQTvy}4{CW5~aW zP0P+#!LDi9tATmIj|t#@k^o{a@Dt!<@7cKk=C$^aCr4SCSY7=R@4rt0ZUoLD(3^M5 z5*hS-wA;L0G7NQpBM=19H@Y5hF|8(2$wU;m5WNQ?G`ofdmZSGrK4DsRwmq3ZLcdoK zgaj#$Hi-k50m)FC464>x06b(`c1O8tjldA36CKF}>VP931MUF+4^TrmbZVgdj78|F z>N=+(1ZIH?Ged$5tVWp$d>cJUWqK&XB|!taXX8%K0WW)v5om&RJ|H}8;{E?Izy+S_ z4+|iRgH6EQz*DAWuj=l;hXg4vZ6bkT=z$Tp0@Fen?-$ksKSa+HX!mwh22N{K1VQrA zes==tLe;hV3G-=m-^nq+aKg-dPjG=YbYJ+bre*&n$l9V}3DS#}nFCw`%m-$9S|)@p zBwPu+3_NOD_VP--5u!qganRc@l}wEG2r?h|95AOs<>4LRf6&E*@0ymqv!{C&5~MPT zV|ZGm-qS4Kr~rRuBf2N!QNZ?m3n!F@kRaWY ?S90x?8eR?NZ*wpew`f(K}e8(n_?r;g_84t RqgK2H;N}%x`IqHB(z)avsU HtKl|@SfWNLy7txW|`-@_S9|DL?g)IE4VSpb& +phyg*U?(C<)X9p>JpY3V8g~Xmyr@-(j^#ZSJ*NO12k@4I}fCVwyb! zCXN_EpDukB>xMzkZ;B8BQvv2eQ>Rby%7nHU@c`5Wq!tf)@WF3u@MtOdJ`w((%x!my zPjPvT(r;h^9X>K>nm8+(S^Tu^M@B6$w<4 OA!}dBV5 &<8{ ze+-z}cO$-(2zf}rtIdFRM1sv{B-(1v4HKJX*WpT10DX7=O}oR}tL)>1wsbDj4Vo=R zE>HOyg}#+`S*Rn>+zFF17s9vRr^Fg=GDJf6*{Qp)(VT;+WN9*1Z$nwfyM-(E=}|(| z+l>9IsC2~sSNLj9-brWId)~*Cd>>^t%O9OW>dCD6Uf3|eUZ6aBA48(PFS)%oO4on= zRd@|M>N)A2NG(Rm$9L !ZMN=aAEQY5McQRbalO7eFDlO>ZG_dt zR&s+?mNNFU;+zCz=Mk86XQzS!De& M3zE%A2WL=#9yOcXy|gAG222 znIvwyIu7-M@aNKA|7;qJxv{UWE!?5o(pUC@=q9PAqmD#(ze;AX+#I(G{j3;pR?I22 zncDU6ctNa*zudl~stW!vf%Jf Ytq&$nH#XmWs|uok&`>6;rZ9+?GM`!m_MSfRc)7AyIdN@R>|s*n&^G6l z?Tnn3uYvq}72Ch8LMnV|%h|=5u|tVMxgY*?4gI$*AhypZ$sI}gwg#d+_sxHzUp~|P zOdV@p{5P<7BPZ9ou|#h1N68KAO$jkTfB0F|LGA;@nwKv2d0|VYyW3}{sq2y_P?%DS z+izxYCrx1ohxmD6M}tdkdAsW7De9bF@Vl+j-}68KE%4=a5_SYlK6<4 o#xs@vRL zuz;1#H0yy_ ZH|<~527T~I}*Q~z0Bt<5b3 nHhWLvz@y zj$Dh7c57|xTs2JqG6GV%T5efU>`zFg;?K4LE2_bG?~P5>U}kzqR7Q*r63!?%ER~d8 zWAbvaF4^^?YsAAI*6@5A;@aYCL)b?IEVXb`HN!I1o|N@L59{ZWeyQ`w^?8coZyJ#{ zBhUu~_z=*CQlxfq?Qk3_nlM_wjHXXVPZ1zS$P!t4%Zbdgy=j-jYI%DLQG>pcSjvB3 z2DAHzXrAu{m~O;CNn=3ABW(fpP6hZqy_0+EHqJrmyOb~&jk!AKJKz^?Mi)cegl8Vv zr7M_%0iEcMI`C7N*1hk?&^8P)?qG?{ZId!f@G1o}No5ap{n=4~Tqo}KMGYK#)b9$) z=RTtW=)}6pd#;ZU-+M7aqMnWU0N1b#CmuRW%rvDoNZ0`{mzsQy_Q6SZx%kv6W=76{ zx&oM$cIC+=MNbQfB5`YiiWr(Jb`kMtj?Ka|IQ!p&jA_LIwD_`%s}`Z $Mv$b5P$dqj> zc|#x0&yqao(gDGI2jbOHOR9w)%t!(?EWuP74lD6`6IwiE?A6uUzkLO`ek>H*8;;mj zklJT}oEJWdYrV<|KqfeM3@(9RWR?Hmv{*g|WfvHyW?|$bp?8F&kaH2aF+o@>b|x{m zwpB1pEPOW`2XDNKdJ^ NU6w1v4EcK6c8}`aS868a& zRd 5r3ok>Ue zpKV*0JXT#3xcVSp6KH{WBG=68GdChpz2qdu%E@Wm%_)K?mTkMB;{)hZNaSuFMWCWg zc@C?mn?npnL&cdx?DEWRNNEXpnM;jRPn+$6-5zgQ`bw$Y_?xW`;e(5bNpSo_o@hT{ zFoI@^yCmv(kp@mpN;#1?y0x;boFyQH&^*P=iL7$ul{QNRl8+Ya{g@IRO;&moC!zC# zFPeN;Bp@Et^n32?AzgK#KB49pUGFJ?TN)=fZZwL!U+!XE)^=C+ZjFfg4R*}0J}q{R z%z^3h3s*x;?15WXMpyNs%$;Fi$c apP<6v$KP3y^sH~r+;qe3 z?8}KYe6#; Kd9fiVBkn`NRy) zPl>sD(7Kt5l^M9bqS`!g2*MuSPUzkL_J6?0$cXb-jFp~qj|CLd+^*{(a~Y-=7PfT+ z@lE7#P60gv=yTWo6Wn?on*4W^YySgSOJMzS`I28HW{L*4Vo$Pqi~Pe5;!L@FOgr#% zGrZVZeN*nVDKBnXG1Wc7f>6HH@|5T%b@gp`=up(e6l1o_f#aaGz7oWOFtX$-`?1@_ zTRDDW)bEzngi|eaUg*CFUgts(H%=j>3Jb`=N;Qk^rBdO5jnJiXCjCmu Wrt1s$OdS*A^(b^jJz$BLsZCq)Uq-XAj_3ryA5C1K9hL&b#Hy%)(*ZMQ9p`o zV*N?G#SAt`2h!IE9;94L8nWD7w7+E9H}%6*86@1TAV3|5K}F#frac?iioSBKUEE>4 zPK7Y~lrLE2b8G(3w5UAa$v|Mh?(hQ~U1oka62fYs)4CWdVs4J_V|TnlFUNZ=r+5cq zrYdS%j58Q>Z$_>uqS~+zdoUnZtL;(|gEunUCoUgJ=LS1u15K-aDOY_Nrd-NQy8jL< z$XDOLtqHyOHBBXL2c=K_$9*6ytMXmQPxpz)Y$6^Kgq=XFl(l57JFJ0e9G1^d?@P(| zj^9RKEB6x9ze|E>%tbvB`6fp@9_rd(Q9Judu#;$Ts}U;Eb`=rZs9<#e<-)==?}rYy zUz$3aATV)rx@e2n?e6Axq~$Qzb*1lI{pY;~fX$ssgY!zA`_!jTb0PBxN#Ng#C$Gc& zU1sB?^c1wA|HPyfil9=bzmXt$7!jc(Vu?P99tPi7CDp07)7z6H_5%8i)jmi4ysM&J zGw$hfRK53l%um|tU~_{IPZV_X%2KR$7qu21)TEa&5J2^{%P8GIdpDnz(ccdKIqyrE zabv*5*9Omo4 ^Y!md~JIiKX&hR6imzpGHzX2sk!#`bxK@i#1=jy6uN}V)Gal>=whA!7=d~-SGGsq-R461qANz ztGL^CFMHcCVGS~VP7R<994T+eAYIzb5P2T3JC_b8y?k?_=rnEccR0erlEs!ik#;=5 z^{N6mkCc01b`y)Hg-YM)i?78u2^-;LWAuSaWrxq55Am>g-qskhNkCF!Y$oKI1(^I0 zN9^x&YyOs`=@PxSw(plac%*VTHiRX0(Tv1NOQF{yJm} ukM1}G_4XL1e9P@Zs-Y*n Y6M0CD55o@-Wdm>r-K?I^x$Pv;?G?qZcB^6=PlEOq?rc$+wy8YlP%DT)!+98kdg^ zqX$CFCnJ`)3c@JKaOw;iyw+jo l|1gR-%s-hi}UflT36^wOM7U0;^{ZE>}v<5FZr+Kuz@F4 zK@TB5{3X?UE(`P*K)>4HUqte33c6?f4$T=m? 4}9}%O6xKg~;>17pRsVv_;at^HdMZI1B0x8Hp>f2moWu4~2#* z9qD*kVRwT&y-yS!%uHmj7cHr1dOR`T(Un3&E{=jKn4j#?R>~zX9V_nm@wMY4D*qa1 zvtz0_Op)otNs%0L-1Fm{OgLKnmPIF@YhCIIKn!e~xZ`fD5v4dneV?Vy`Hk*8@3pL5 zoib3p#b<}oqK0o{+iiUHG{ RkSUPDi$rF~-|RALpyZukFN_@$S9E>BYt-uB>goS#%lZ zR@|Vj@UO1`T;L#M>${@RhvaIvcS?#p(N&m8MdlvQ>&%x#;abSE37*0@vSP_qncGf` zSU5q&CP!bOVR(M#nlOrIl3!D=6pmzN$0tsoh(ppRznTrIYX$7)Ab>xcmS6ce`__JlywZUFVM($mE}wQ*%`Q?E z7~$4Dpx_#xeroz%tfc>ysCtT`V?!BRnT5{N-9N4&==l>i{?cmy&JUy7%{J>n-CLHO z!W;~9AgX*qB-cLQ=Zojv5;K9rD4RPOemW1e*cKhc Date: Sat, 2 Apr 2022 20:31:06 +0200 Subject: [PATCH 3/4] + Improve BTCPay IPN controller handler for avoiding uneeded API call to BTCPay. + Add some logging/error messages. --- payment_btcpay/controller/main.py | 57 +++++++++++++++++-------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/payment_btcpay/controller/main.py b/payment_btcpay/controller/main.py index 7752f57..0577e99 100644 --- a/payment_btcpay/controller/main.py +++ b/payment_btcpay/controller/main.py @@ -45,41 +45,47 @@ _logger = logging.getLogger(__name__) class BtcpayController(http.Controller): _notify_url = '/payment/btcpay/ipn' - - @http.route('/payment/btcpay/ipn', type='json', auth='none') + @http.route('/payment/btcpay/ipn', type='json', auth='public', methods=['POST'], csrf=False) def btcpay_ipn(self, **post): """ BTCPay IPN. """ + _logger.info('BTCPAY IPN RECEIVED...') cr, uid, context, env = request.cr, SUPERUSER_ID, request.context, request.env - acquirer = request.env['payment.acquirer'].search([('provider', '=', 'btcpay')]) + acquirer = env['payment.acquirer'].search([('provider', '=', 'btcpay')]) try: - #_logger.info('REQUEST JSONREQUEST %s',pprint.pformat(request.jsonrequest)) + #for k in request.jsonrequest['data']: + # _logger.info('\t%s => %s', k, request.jsonrequest['data'][k]) invoiceId = request.jsonrequest['data']['id'] - client = BTCPayClient(host=acquirer.location, pem=acquirer.privateKey, tokens=acquirer.token) - self.invoice = client.get_invoice(invoiceId) - #_logger.info('SELF INVOICE IPN %s',pprint.pformat(self.invoice)) + invoiceStatus = request.jsonrequest['data']['status'] + orderId = request.jsonrequest['data']['orderId'] + _logger.info('Invoice ID %s => %s (Order ID %s)', invoiceId, invoiceStatus, orderId) + + #client = BTCPayClient(host=acquirer.location, pem=acquirer.privateKey, tokens=acquirer.token) + #self.invoice = client.get_invoice(invoiceId) + #_logger.info('SELF INVOICE IPN %s',self.invoice) - tx = None - if self.invoice['orderId']: - tx_ids = request.registry['payment.transaction'].search(cr, uid, [('reference', '=', self.invoice['orderId'])], context=context) + if invoiceId and orderId: + tx_ids = request.registry['payment.transaction'].search(cr, uid, [('reference', '=', orderId)], context=context) if tx_ids: tx = request.registry['payment.transaction'].browse(cr, uid, tx_ids[0], context=context) - tx.btcpay_status = self.invoice['status'] - if self.invoice['status'] in ['confirmed']: - tx.state = 'done' - tx.sale_order_id.state = 'sale' - if not tx.btcpay_buyerMailNotification and acquirer.buyerNotification: - tx.sale_order_id.force_quotation_send() - tx.btcpay_buyerMailNotification = "Send" - tx.sale_order_id.order_line._action_procurement_create() - elif self.invoice['status'] in ['paid']: - tx.state = 'pending' - tx.btcpay_invoiceId =self.invoice['id'] - tx.btcpay_txid =((((self.invoice['cryptoInfo'])[0])['payments'])[0])['id'] - except: - pass + tx.btcpay_status = invoiceStatus + if invoiceStatus in ['confirmed']: + tx.state = 'done' + tx.sale_order_id.state = 'sale' + if not tx.btcpay_buyerMailNotification and acquirer.buyerNotification: + tx.sale_order_id.force_quotation_send() + tx.btcpay_buyerMailNotification = "Send" + tx.sale_order_id.order_line._action_procurement_create() + elif invoiceStatus in ['paid']: + tx.state = 'pending' + tx.btcpay_invoiceId = invoiceId + tx.btcpay_txid = request.jsonrequest['data']['url'] + + except Exception as e: + _logger.error(e) return '' + @http.route(['/btcpay/checkout'], type='http', auth='none', csrf=None, website=True) def checkout(self, **post): cr, uid, context, env = request.cr, SUPERUSER_ID, request.context, request.env @@ -107,4 +113,5 @@ class BtcpayController(http.Controller): "notify": False}}) invoiceId = dict(acquirer.invoice)['id'] self.invoice = client.get_invoice(invoiceId) - return werkzeug.utils.redirect(self.invoice['url']) \ No newline at end of file + return werkzeug.utils.redirect(self.invoice['url']) + \ No newline at end of file From 2e832d5b180acb420d3df8b9de2c301eb0722883 Mon Sep 17 00:00:00 2001 From: jofemodo Date: Sat, 2 Apr 2022 20:32:24 +0200 Subject: [PATCH 4/4] Add alternate icons for the payment acquirer. --- .../src/img/Bitcoin-Lightning-Network.png | Bin 0 -> 23674 bytes payment_btcpay/static/src/img/btc_logo.png | Bin 0 -> 10567 bytes payment_btcpay/static/src/img/btcpay_icon.png | Bin 9686 -> 29 bytes payment_btcpay/static/src/img/btcpay_logo.png | Bin 0 -> 4780 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 payment_btcpay/static/src/img/Bitcoin-Lightning-Network.png create mode 100644 payment_btcpay/static/src/img/btc_logo.png mode change 100644 => 120000 payment_btcpay/static/src/img/btcpay_icon.png create mode 100644 payment_btcpay/static/src/img/btcpay_logo.png diff --git a/payment_btcpay/static/src/img/Bitcoin-Lightning-Network.png b/payment_btcpay/static/src/img/Bitcoin-Lightning-Network.png new file mode 100644 index 0000000000000000000000000000000000000000..354eb85be4d598f536447243b7fc5db3ba774a07 GIT binary patch literal 23674 zcmV)gK%~EkP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3;uvK+T^h5us}UIOM}IT#WV-hr3z@1UC$De2iy z4)cn)n>|#aayUbx Kj zUw6BFzZ7{X@t8jUZ1eLNCa;%2zVPE5Vg3HP>)&@`{~jp(Jn;LIbY?w2zb=y3 82VT4Flt_wMwFvAV@9(UL*F-MDy#~3%6&}%)lIN~NhWKloi#+F7p zsgtZ7&85W4@#k8?JMVbs+g#-FC-Bi2I9Pb;{}(^*e|qzu{J49!LKGCtkzTC$9aYyX zLz&ZWK1D*p{pPK_0RQ;;rr-ZkSd=OmEHBKR3!Hv^4zWu3qqfq^bK-M_$4?6d*Ut9< zgotw&784Q~@HM0oYVa+_76NhXBxthom~vcXAe0ghi;Ov?8eNM$>fC&%h4 ij+D$j#a_eok-*M;9tbMckm!E%-weZbae3{bc z+Rv= X=7XP=*Ii>FZBXf?_{WWiYleHtB+y2vy>O#fTC%TW%%-9`&fyLOr zk0Xp8C(J9#I(bZMw}4jlOcrP?Gu+yTZ^RLly1T7YQ&|CEn>{zKC#}GG32mHfk+W^R za^Py!_jFI);9k3HZ&-WSF=Dk!uIQK0!im4#TRVm9BHM+^?2pj}{-qT&n zB$>tDxUSt8E)}^iakM-dq2O>Vf$F-(CHPF$!Vg_18#aO-`M_aCvshW@<`~J#C^hF~ z TY-hb3#y|s zWA OCijRw=(zm$iBdEpq1}%vR=A1@#fyH5!d#?TKLfnEIrB zXp?*z#ke@ V&4cP$>0pEE+x!Zc~+)iq5_525 KdJM5U4fic-4o|IH!eEEs$Jla%8)<=sBok zFF23t;6mw2(%(I$!q;{wCz7)>yv@9BC1GjPv}u4qv|^>ZZkh%h9IDM*N7UrLAx6tC z%uA?3FY^cssj_~$l|cmq*&|XiC7|jPPv0{s;_oAuSN!3EZa!``AbgXCyMU6p!p$L9 z@UrhTYZ <@BU0*ua zdv3}rQ~amW%(ony{q|bP2xU%lCAS+jvC3$yx7-LL%x&Nj{baVUia8q;lZY*S__?fF zi&{AmkGZKmfXP+lgptFQV4>Y|7<8JgJcSj=4WNZH#%{!L1FfWF&O$LXTA+YRBa#~2 z(Hb;Zp6#897dX!m9_-Th1`ir!m8jHl{H1pvGXY#9^|f|6FcE#n5*^W@&5br`1^F4q zsuUo_ezvOO;iaEvLoK=_^zfz&;B+v_V538Qr()OH@qKfx`;{Q<8R&sayIdfI)Rr|= z`anymw^P@q&t0EYHD^EvoYV+5H9t+U;bL0ftSyvDH+donXYMsmUNhuP$p>1xEm~j4 z?8N{eR5zHtj}DY5nK{UBr;j(-EyxWln`46gya7#Z&UPbJx%tx`#{ec=af=}T9>syC ziUL@6 xX@$4#9woC$_P_;;QN3hN* zBi8Q$@a*-k%|QZtf%VcP4wMyEbW(Yh3IY5o<;0}{ESC;|fwoADC?iTKEjXH!B6z4p zWxSmPKUNTe&vPI+m@djYoJJi7SQ%*Zogjl|0 fTm`X>6g{A|x13@R^1-;c0RM|!Kd(cTN*xPW6{B};RXs{N9 z`=owL&S)+Ql#D_V3)&zAl=7unN2rx`aS8~vLOs+|b}GCYD0HYUWcr8pP2dDstjI18 z9g;%0nC6>&bp!Arb4f|^3D&JEX%UV^SHdyK)*Abw_RwI+ygD}OBK=Gq54$XyUiGy( z`SEGbC dmp2tfIQ)(APZzgR9>0=-ATE1b6v{-`Xs$!P4T%z`&D!+cKCinjtr_ FFp(W7@$JHl4SO5+HY5?m)r7PQ0ZHES;dsVG`d%y%R1|DM?t6<3h;5bNA z$^(Mj0`QajgM5GwC(;dJ0Cg_Dldu?){Ym-_;YWmRZ8(h{gsH3mgD7pc!nhv_Bqp{M z`cvc{2oLBEZXfh@Lb0`j5N%fkS5V&)bFBIxSEL5Gw2cVbonjPr()64(Bcd7}W`l}b zY+*)YHl!_0{8Vq=h-!#p)BtVKE{=MpJwPy$D(yr_C%$P@i%lg;o2Uyf+HZgzX#4&_ zB>=3vXA+~ih(#Jw+E~mXwOtAUyn$2Go%AnPSRaO#+wc=RTf{z56*M8LV_@gta6g@G zPzANygZySm5K;z{QlS$3X`Te^7ezYPQ!9(lX8ebExRQ^c;R^=L`3$iUt+>$Cf(cp^ ze58(`v|0)rhRruhYS+%?M6ie=5}94_NLMdh&JNzAqB(IQqognnN)X+8Mns1qjxtVi zc6bk9e?b8R2T+0%X`SxpB9Iew|DtI-s131%XdxYGV&p%W{{h%kW R2u|{O z=R$&oShb{noW?&WX^ Ho1nY z!b4LPiY1mKWr?zl1E~Wke^C?tO1t@IJ|=h+(I-^35C L+ zVHRsemtn9i+*83sRtiyq5`aQwAytjZx~UNtP!+<0jN5?wN&RW?y^%vS(+m* 5Ps=! 2vribiJ2(1VKrzu{(Z&wp!Aj6c@vt2={2g8J}sE} z<_zIWIS&72h=fM|L7^ZEN(3y$9HlB$83!eWJb79LS;w07Q+9B0SfqOuBCI#sD!@M~ zQXwPlLdZqb8I^{_mhiw@Nx|V)u##LKrCjcC$S43g36^D}3SA0@> )lk``LV&n zL5?rT?J?7^NM+;qTdpW0s->r#HLyxG1bjPP1gGYj6?)0> 2hyIhasHdDPN@(aoQwAqB2!?b_GNenuTU;IeefZn9Q;)7D^N$xHO*7 zq$1$^?h~g{tGo6OjxH!$pZLD7QN`zd?4Zes70umYufFQJLy(I$M0u;ADv8i$Lr*P> zX%nhoui2NzBe7(-1cmKUoJo@*u92)uhut?3T=00;JP(@^JwBhR$`*!$Zx5#PmVOe- zIb!$+a_sOn#+PQLT$`>}l9MvJxcATO;=ZZuk2l bk 11!f zn5+UNc4BKk${RaO5dz?-v`Qik;KXo_W_S^>s!_50(j*t R|s^XH0#|2>r zW&lx(He3*SxN0JixGq2gnaXQ>qYH|I`TU}5x7XzKpi*&RG+jQL7K61BtKDvtE!~hZ zHt}ta(bSN*s(VZPEC-6x;Pe=0y%NAwRTv%O(X$#f76L#)PbvU?3GxAQh||n^c0-uS ztJrZKsG*vN2As1hRj5d>sR3f|E(L&eVE`%Og;Z)UTdFxEE_?tlzHWCoAJRkckwKbf zHCRmIF+ w0LUb05E#8g zuPm-@z`ZaAnz`?{3DuSE6#m$TLMarE#wVm(G*(+0ccQ<7r@p3SAZDF{K9HcWw&CVn zl6Bx;=th4C0lnJ}HXF?`ctf);8cX^N{Jz>!)t1X05kqg|b55y6H_Q2)6o->xxa=jE zI?+8_qAtfAHM#{qHL0U>IXGlVk#9{=5TsW|P2GR5rVd1JY3B+iS#Os_G`H|B7rmp2 z-GFwcEI*(t^h8=flz=}pIkQXH)20oyjH-|8qxY9e`HFz6=7vqS{S9&ok)rKTMhK|- zWO-~XqeP9N@0wE4aXeqbB9wZh04iQMI)4l`mk8jeSz6kD@&(}G>>hKBx1a_Q%vjZ> z@d*p0xrp?p2(S`KhH+u?hIVj-w4+L^YRrOX1C9~x(;>uo=(Ic7tnRxYYq^4LT>7=% zJU+B6+}3F%6H!S6v1o!j0bYb_BGc9NkK&oEo2r@92An@MKfvZRZ9ifV56%>GqrE(% zjaL9IunXG!fyN0u2TH7%<`u|jPyEK6p>QId(Vhz{z``{qr+Icl%_OuN+AA$wVaBqz z4n%>bE??cvL9 L}F_VL#v+gx5NmxY|?aLh8~i)(=DkEe){_ zTpI#Q1B6raRedfp3TC3=b<3B`7ZMEd3kJfZq2r{-0!@MMyWR4dQs~OGgQCe{ph-nm z8e~b_qQbtrGfH#GQQP}dHX9Lvr6};522p}7lqpoQa|{d2fYA+PmquA9H6aD55D{sc zM3Wl$7(1=j>Tp1=WYSR%8lY$pJnc+tMVscDR;nio*0ypjSEW%zW7?n1nlh1R>fgY{ z4JUio305J+eXWQw$BdwEfe7Qkd;*ePVvSxgqFy`M@T!60ASI-ON*j>9!L+k$*k<_+ zcG8?x#7a~VPgaqu(0~SDH-jWnPjt CGvAd-ZQ3kL)vyFa z^xW*U?FJttz>M^ESpsc!5imNB7|nNMhO`2zuymZ`so(_sp_{~nnzYlo-RXXwNft*# zaMQDMw52<;V1^KZgtWm-8qkAKSdV@i!objjI4I&cfH~TvMt3kN$U-GnH_2&p@DaMz znmU!xF* 0Kvipj4`ATCq4S(=JX@cxYTr9;N#d25s zJ6(f7e?WANQl*Duk;BHuQjiolc>Y09>+z4llXi@%Zu(KYP`1eJmZNrCATutyJu@>v zV0xyx>DxxU_@nLjDL031yigH=qZf$@xX|jwUS9e~`w$~w86dNG2^>XvCc?lWU9nR% z#@5{?x}^v|fJ6Y9`6LCbF }qEd-AL~M8lryRgOAy1Zvatr>jFy_%o;OVQ5$4uZMYWp zBT!klLHP^xM3F2a6iKc<+@M`j^ug2sp_0F(G&Bi93+bavsQs(L@+V=(i^MKLq%sR4 z0s5v%=of8{ JB z0Yi_|tWnZ)ex|fE?fT`Oq`y9DM_4zYMKp}sTX!F7Jo`kHhBF;D^yCWr6Lh;ql5iF# z;!EmIqmK;l04bO5huo28fJQa!x-_R{_+W=#J91oGN0-yw_Sp_00XMd>wVT6fg3vEb zSzKz2;)}A5$L;=^@ll+Z#oxBf1gR2$O>(~#PQ}-?3rAaC{0+_oz(~3+CV)qcHYIGE zv^OqWf_`fcB b7t2-yoyR{E-p}Xx)&b@-1s8(&L$-+VaxV$&1L5ri8V0DL7pQ=Ut#?ZZx8rICV zUVyzeqjIf}>X%v>sMDXNv2sRT%y-K>ZC_kGZ#3uM{_7q!A`nsh8f)SuNjY+a{`BO$ z(}saS^VtfklbV!abR_Hb*R3w9h;%#O+Dd}9A)nHKq`gLdWKwqvzPoA$WkIE5+X~=^ zG+6I;tCQU*56pF+qY5x--zPxG11%I0f#Gey9hBgeT`yaAPvM9VCN%va0Rd-igG AaYOCw&ULpYJjs2*Zjk3|LfwcyA wrvh67Cx#J*czaB!|;-q9Awh!C-JVoI=^uLcmj$;Fdp z-Qx$K>K0nvK6T?gbR%H$29vsZ^12;RdtPBJ_zgoeK{L8dXUE04HJ2ofP5YdIsv4RO zRJ2K6njY(}x8o(^9H_aHc9(Up$7+!m$sEQN8bd==xy7NIO~NATC|8~&6aq>VT)Eg( zD3a{C_4KZ`eT!~OMAd={v0%ZZ CjQ{fKuHc{`X5j57ATjC z^n;`6w>UI1!)+c-(uCqe%eeXc-0{#H`%eH!W&inw|LfyFJP=;-(xCqh6-)%US3X)X z0004mX+uL$Nkc;*P*P7uNlZlm0C=2zkv&MmKpe$i)0T=<1nnT=kfAzR5ET(zv 4rtTK|Hl->74h8BdjFnh|h^f4Z0xlBi9v|-#8Z?7I sE{2$_#gc4)+|hnyGh|V5PY%ik6|FR3pDGt{e5iP%@e@? z3|wh#f3*Qjf0ABrYtbX1cN@64ZfnXOaJd5vJn6C_JCdKKP$&TJXY@^3p#K)=UUPeE z?c?+TNK;qI8{ps&7%5Wry2rb_I(z%~Osl^iN~3a@JNke400006VoOIv0A2uI0A7@l zwVVI|010qNS#tmY3ljhU3ljkVnw%H_000McNliru<^%!~2NiC9IYs~gAOJ~3K~#9! z?VWdcT-CMqe|w)Zqh2govLyFjFz$4Wae^r(K!8v}OCc8s2}wx#LUPjx2?;mJB{vWP z1OlNYkkCu$)flkB1q?RsRgz^j%c^tE+3Wj5hJ*xLBk7E!nc462_~8M@XXdQE_Pf_w zdle-jf`x^Jg+-{)Rs QBaU94gMrGt#A*Tu2nuI-d3O|7QoxUu2q8? z_nx*2l<;xdB%NnD2#5&A2qUH#nS5Bb(h4#%guG(J&9vusBA{#$K?rEt4tsVXdv=T2 z_MBpOHKw^5>DYt>)nIl51qc~ETO OmY(gL=MYr9;7Pa0 Z2 z@`W+;6s4ma2A9F0VRk(%x%R0!Dqwt(+O>*Z+ay?bpQ3IFK}QoJK|lXEjpIa6#j~OO zXxy@?$jCXOB3TM$L+b+#CV-}0BHPy}wQ-rxrYE3&gAjPZKi!x9A_Yeg$#57p7p9)B zW$0+7hKyC>L{L_hEV+gUza44X3EP(u>{uqUyWEys_qh=Q zq56G-)sL%S+w(}%lZYC~)@d(H5mSrG9EVeO0(!#nqK8jY #=X9*`$wR>U6Nk8IMVqiXRN~!muNX~zQdrQ z=}offNv?s1)NK^A{BGs1|35@>u(^MLwBh7W#F_Jb(PNHOWDT-1>4H$2>qS;RFD(9b zpc*#>s0=F>1XPFOz)KxwpX|uU=}Ng#ORlL6uNB$0T>Q6gA*i}tp)2f0_*gTn9i3T( zGv#vh)RRRO4znlEzmdnTEh29|W_as5U$r$z(uU&`4Zjjbp5w?7pLf;7!#eL%ExD!? zskUG?EFxI(CxTsn166LdJ}we5D7OP={CC8eaVBc;*t93vs&&ZXdwo{^Do{bT*a%9z z&SEu`F4P=(kt@^YYn2Wpo7&`RJdq8r;4l5X3hG}49INF$6C}#X!x?+7xO2{jqA_Vl zvNao!7jN@<_ufGH&6ZSqd|tP~po28?zTz@tfhLk=$u-GVFhI6075~*=sGxo+Hl7-y z!Z=af$(M?A$d@2%P|6For5<_iCZ8qO`O2zMn0pjT57Hd_orsJ-R4FF~FaJ`ETm`Ay zNbtrV#b1Aojj1LuT%e;7+{1q-dg1~_3YOfqH^bXc8~MlOo{Gh+rJAsC!A=-^fg>kg z;Zi OZc|{a zcJ}ijr!$5SnSZUQar2U@XQ&9g{gjc%zVE5FYOx{u{w5_CCVa+~)Bf8frzm+>BRR=c z0%YqF@t*&dGA&!IHV!Dax(RpuW#S(Fous(%YH2_o{U4vVZ}gSUw#zq=kUL!S>EF0A z;ZUt~5+?d2AGx;g7JuoV@mG9Zq3ng#fVE-^4<>T-4@C`|JzxoT!%~q)f99#$rN&yT z167l%;E-QLIObwUvI~=Im6D2FrDnDG&;M8jyPg4M&5QvLCx^(K{}yNF+2Cdjn2q6g zATQq)@Zyg>Wn-&J;0$%Zuuo`C`AI~EPD!4r3CTgOVleBU7w?5Dl*B5rW=2wN4V+OI zNMynH6&VHn{%hJAk$ZpOsr3&8R*jO&86sM&IPvFEnRTL4Dha{_1D{-j7{QW1iTBp` z6j*CDS)ubM6FL4mQKggnjncNR61nd(Pc^Q!m!C A(#W3|w;Ey }VAE1+yofYfpCDv8d$SM;>g6gu%WkAVlT|1FTm&-Iio*h?Wb zGEg#GbKdWxGI->`4Dbv{a+TV3#2)(^(!3HI7)wPHR)|cwT%38|Q0T<<>N7q(cC9Z< zf9or2ucjiyLjGjM1vf@18?OeSnh!8?m90x9_K$Ovc&%1>QXKB2uZny0 +cLBP Oa@7H3gW@G>HYyXgI(+-I} z{9j1xhV)!{2~fpHqY7q0PznCd&N3nkP(^qvu2jL>_s1oWSMN6R$~Qcv@~r4AK8igX zgxmisM#B#JWpnj?%(bmvyoWDULG8<=ZGnKPB>I_E=+bdWOC4tC8qD_Pn9cVhdzJ!4 zJ&HS~7COlI)WfJzN9^+xE1x#}{qr%zIzJZsG-ROsD2Ffn!IkVmeVYf{x8!Pk{HL$P zUw;c}9UO~}AmhBpP}%=BpveSC(++~2>ya&sG25O*+P09cQx;UTl<3KKiYlA>ADd$H zTOzlg+o5c@-lA*XfoWfI`OJ^qzNonF2XYldu m_CNrI(-ogv9O0WUX7J5dqRjn;L(r7m@8!3_eP8ob zdvoG~ObH{`VDSx@J!`CX{wpFe^x(1ag#>EX!u~2iopN;X@c1@JeHG%ZOG2yF@ZuXk zqOqpX>Q4VSS`0f*aq%5dCLQLGTdc?%teAU_OC$wsriS+n&)kr>PJ9U=SJ|;byj8za zNnPwM8pJ2e+Y?>(C5Yz6N3NBtL6`2Ec=D&93gSy^Guz(;lI=oE*s=3-y!PzjXvd~q z^)-wS2YgZU#Tzon8~oAGWZ*-P0!yM?c>PzN+PpF`;eqhU)oT@R(X|SqN$kE?5 Md8Wccq-N!es~~s)6%^2h%&pL zN >gOIssS z`vB}~T&eNVBM*=7S*?vo&GRHv9|uP_@anQVsH-kUYiqUkDLnY}oi2x*;(n~kwC@p~ z{fUp0pE|F+{b|F}M~yn-tZ;43P{~#HRExLb29?aj3W6GS)<+4`$wU YQ zRSdyfcOxxpK_xM{`ZYMiW_2O8EL2_=PTnVQ#?Objmmn=Qn4Rkg);*2c@dUJP@05em zoo;;j=TLDD;WOJ;f;)KMo1kDeDz`koXH~8OH7IGsuXQD_Ed4gIwx~_L>O*7=Q(SmY zgtD>ww%%GB;klpssYR@N(X>{0`R;&EUG5TA?}5 qlRe&y?(4D^k z+Ck-& QqalL zzEG&%^>vmlnvQZUvG$3?Jt$wGIPW)63d{Cyv@LnmC)NNe1zS8S2bTUQPzRmtNZI&s z-Y^_;6(Lx1s}hs^DKo0*1XNBh6YiCZDjJJZG!|#lCp)tag7`Y?OLH~SxP0G)=+~l$ z#o3#{@4!^v24p3P^ffQN{snM4t$mBc!nDJbi!`TS5h1H!|9sM1CoH gtM7tzbfTd3aw60Bkxvct?&-Qo2NzDp_TqRg? zv)bp)c2XT(JJA&f(4RN!x@0u&F@HsmJ|C4)06`TP@1Hz9_|yN=PoRs}sagxp;N-Ab zwa@d5K8KraQ?C+Etd(%`UtJbn7Qu}pe%e$kEV|ZDp6F6<^soY6_+y|%dha^*IxHYn zZ{u%!BsC=KfEqHnf5Q?5Lvarr3J0DD=4Y73ElAB~%+|%2?JuH7o)mxVcJq^ uVdM>=ua5N|#n(7G9%tn`r4x<`DrUg$7#dhd*^UXrWe zzje1lyp#~CDmV?5JAiK1wTmtq3m?XAzt=fOIv#i}n5w&hfuAYhIF-D(_)C^p6A6Kw z@rrY=k1*oE_#M_gb;3*E_0xt}q4Sb&(cQipIW5vFC$?8%0ol0*v-OUY(LPl$YA<;W z(3qccA(9iH)mpm|yyS>oR@Z!)4Xejn0!)-<8z?zK@n3gFyG5)3Z#?MZrD3}9`*#_( zukPLc>6PVbR{sMDBt?d}D$Le<=(zJ0bkS^7#SHYYgV4o8Q8`1B?rqGrm7oT`x#2jK zEP3a=&hyMpaSa_oJ4`%ZbH-01 &Kz)dy6i$4g^Y1lC|Fv9XD48tZnJ=V(}Pa=@! z8u9L$pp2iBn$i^m7|=zi!ihLzKaC!92)bk
jQQYL38UY zet*;5c 9dPc5+C&Al) z0G*RQl2!`ba-{Y}V)sqKY+IHz;SOCkg~&1ABjeo1aSy#7l|2E1{?C8){h_@1){$t} zreB4M7@ToOgim}f(qo5Z@%=u2ZF-AQIk5ElAnrTlaL9G%YJ$3_(^u-c0`JL7z)P-< z!78^D_n>o#e)d7!qwa)AUT5RZ{;{p7u04sWbwjWS4;iI!;WJTYEa-U{sD6jA^bbK& zw+IOf_3s31T;8+LX^+U&f9LN>)nzFm)X=&fvtw0qp2%5+xHC^D GA4Ho2PB z4_K=ez%-(Vj0@*c+m{o2@H_ag--g-x7P6-o<79ej#YS_8eDYhkM?V0jGNIq)x(%#& z=UCi`J*0a@td+3fR+rPi7bO}(!bSZK;nmB7ftt0~uULAY={E0muZW CY#Msx5$Mt}sN6od_)!k-w3ASo&*MF{090bW zv$d^^b?;5EI@BB6KL%$!;WG2M@R~cnc)O1-x3c{>RKFRpyV|9oEJ5UIs@5Q}%_L8M z&;+{DL(d3p)`i*l(B5V&E>I3ZBU1MqLEW PzswC|cVTtR7kZ1#s?dQN|w t$qe`wz ^w$eb3;&S&snxR8!N4I%c}6_{;r z?Z5A9Z#VGNg*XRX5&9*U<5aO`-Qkv4d!j1= h10ocAd`*!NGVC|yr z6%@q3La}Co>Lu6$aKJR6hlJB;#MEp6DTs5mBA_cUo9`rc{~S8*y?|i-D PMecjb^! z-*hp%YjUj;bw@|q;J~kHKKI)w`6b~RH)7z`djm|1m2+3vy+o+n5r0Zn{N%cIDMG20 zun20{S)q-BF FqQWcyYFOzwa #$HFqi=YGM z{?y^jA4SQ^58rFtxykU>e+MYn%DO8!rNXA=5^~H{0!;NP> SZo~IwhXlc2)ksx&WwQb?u&5P8HqD!YBm{`{xC>}4w?f7>wnXEZx9-}nq6y2 z>Gp!%;ji2yQF-BnN6faRgx(!PSKvK&1$g1L7F3zJ=(2Nqe=N1lrD40R%Ib<(bH*$F z>%l0Kk4$X% grDyv4JwY8T1Ll@fNkSiR{xjIT_UgEdf)>Vdef4A$< zQ>?x*zVx0hqvhhYVs d^+8dFB)rXmLH zWZnKE)+RXNW|t$+a{J_BNdkEB&prg$dY~Snd6S`|Maaley|i5GH)5pFN)*t8r=l`K zh_?nY%#JrnWYbI)$q#k+NUR0uc`t>w_F?SVW%cMI#99gGJ`rK=*>0cR*l&H$u;zb_ zCDz{Tg+jxwIBIsfTvD~CF)2ng_kl>!BaaT}Ngd5d%}ojYwW@S(xNqOmKyUg=G&PSP zkPNFvdl4;$OW%ufz+9)#h|c)%@*RGnnw_N$R2J-R?0V6 xvuhPbvTE?R@Y)C*13_eV8>0=oTo7}evrrXyTR{h%8&R4x9 zR|Qq;yUv{Hnp`(MXqN&Yl7}uH70w2$S`AJDQ`;gL=#dA7_dLG?sa@XVsx+kxb&aFY zPI{B8>434H(frrVQ3j9b+ifKVp8bQ(YYhukZ-o#Rprg@B63}G}I`c3>(DGpOli@t; zW3ARo+{1p4$_g*ODQ$a@#)o2kji_&Dc##3J52K=h92|(a1Z=cxUXNes`GZa z$3NFlUz<<5W(xR~aKfD~N1pBC^iz9|t?w8Py{7-`T*WBr)(D&LGpIqyyQX{MpvC GCsF~pmH^4!_%0ZuR+HSP{CeDqK8(EfHUcGB1c~i zZbq29fneQp;P%{~6baZ}pPpr}Dih9rI>L-&oPNE!n0LXzYPwYO6XAE0JD?~z*R`V& zYIZc4(xLgfN95Z2{u0Ubw)VzkNeyHbqKig{wA&n1(HPvKF);N+@LDkqTRTVS>{yDa zTZ=Tm3*KtL0rEgaJBe4Ry~dyE9HJx*5E+jyKOSe+`8Z+5SwA4gmRih)t3mgMT!rS{ z`Dv#%85Qu^8={Om$l53Wj@%;94kT-!qJ67j)sj~E#Hsl`vs|+?qlno1EIsVv@WyEW zJ0jWW(n;vjNihA>5VRw$jY#Wmq;VUvXD8Cu1RX69_?-kB%|hiAp^C?#2aiVOmysy5 z$Y1$juLl*zVnqaAG!bnS1|-Bl(JaMz*F_jI#uDqt$>)XJef-QMRtY6!Mzeb!7KpeG zlI|5XK?{2L!Sq>{x08v=D?{a#!H|jly9svhAXxD~z3$xQ`GW|IgH8jUF&!}KG|gv! z5h1VG8YcfCp8%e}-Q(5o2k3$%ei0FzF78bB`+ptBQE7j_D7(?+2c+S9`*<&23)0@} zNBRCBjB(K^J^@dBnD%AOY2S+ywM|j}Qx7`e(cgN!d2Nyt>j&iNx~j+Is ZkBuJqJSS;Tr_0J&;h^;M6-@4*Ha3)sMsO8sVOA zdu)3ub%<2}t$IPOD&6bkOiO3~)^wSJVSM~$f5%^ZL1@I W31 zrZVlqceRuOlpU@3{Pj`t23unN&%+endpY1QXL@PPFqT~RN3Mfsp)y0L(K8<2v%i4M zQuL7VsL~1OoFY1}l>1?G#+vcpdkVAmVNBJXpvw{(`cNu$dI|&$F!dXn)4vz#lc@p8 zc<{XOh|hzkr9qPz=>@rpq;Za`81%4%!+BKu9)b kE)p5EOglcn9Z;5WxvG6l(qI!gIF8k(4RS+_?1Yg6~?Io 4^Z3g9`a*sxpABr>f6X@~@sNAx|y_$B= zWs``WbPd7U 3g<_foWB2bhH2f9wSLaK~&$=ocPrUt{q_epUzM# zJorB`R$gy<(}p66*a1uz{J4M1)ueBWI3lI!qT%6?Yt?Gd#UHam8dUyXvV8|x|2Agb zA3ztO%a6jDdKP-*98^YvELtamGx=C_*&(e+y|`oRBbuqnnfdLL*WFCthZW_2bae zAl&_3k1dZFbQ)Rori&r4`}GHdz)xG#RhJwDVUU{fF ~O^@#B6iSI-ZKq~nMe3DBdD4d+p@R;2nCdNe)P$ppzHc>CuBE53#vcLnb3 z3(#eg!nZIpa*2NGm&6`dm~Hof3a^=WBvOx~eT3xQeRV5^r*HI_`U!`u0@d$f4gqrV zAtSs0_UHE1hChGaqiwsS-{=^n@B_c+VS$bgk7zo!ZV75boR_r@e0rCcp&W23FdJ_t zw(++(lYWAG_=TvPkVkVzvWT4UGh+AeMCxA-kz5;aA~F0Ri3eR8c=7uI&o=}E!rX|I zz&Dm R~flP7F UpMKxh0*8Fhp=enD(EQRzeIEX@PdYcu%NVYhGBb0(3$WjqYyOatTDj@hL0(s! z50P+oQLypR&NynQ4Co;3>+v2r2LGMMI vHgrkh@jmWOY6ZczH9{%$u z;jex+{0%(qQ>e^IVf|2w2JgX+Xb*?r4!z8wu)J?&>9xbdzwvnbTR!d}yAHX ~Q2@T#5$m#2DM$q}Qm2 zBhTtvtF^UJ`0I~iEctnWlVz6xAfD@vuF17{R$2*7We-Ocg>#^oZOb}u{1YF?z ^yO4(W`q1Q7 z1RGxoIpmOuE}jz-xo$zzVK-(^RkIC_y1MVI)=eu6HyqzV%O v}-(nmbEmL;PNqU9`6sZSOi~ zIl7vP(e-S2uh8z!?yjp3hkn_mU`T>ZNP$=X=JUkGKFSVQ+$VB|>$uuY#&;ABzf^et zx+HTB1U>3 JI4u0f z##%#qk0|AXS7TxeQf5e9pRB5Z!!LEoPoUM>(E|5h9pl|wjlH<)%53sr)C?!C#fZ;L zD;R<@yOJv|QhYkju<8A?AsTi-`^rB4(f~E=;P4;YQWeSoBoT*_;`h*ac87K+oZ`Y^ zrzOs6ZEg_m{8o%rH>F=!s~(Z-F2$fBaXNi*5mm|L@Vvu5kw7cX)N>)yKmJWn`8KGc zJ`M>C#u+gqd~&USC$wkfWiO&|Xp`Nc@v3nQ=3nKKTbvlHwQiem%a>woe9&5~@gjnz zVsd=z5ufGiMqudW$s>V`2{_}A?57>!BRk%tPkmnraA$lAm0cX}bNyDNX?19ii$>pP z*vLvmY;I3n^2&sRPf3h9x%C~xjc3QGeJ%AyUMCV`zYdW&4bAw-Rl7J9GZWHCIRQ+A zGvO>$PD%fKdq)eV@;dsi@Ip|<^Ks^UHvDs UdCX*56ui9*ZIFK_|G3$hI ztyVGc);|L7IMySu(V6Zacr}XAGgRE0IBthP52{cqXBN_4J)i}kM}8JnG`jzOfD=Ji zOhZ>pgM%+XT56E`N`f8Bk*Zb5t|ySTH6RW+gL{@b73_gXKF+M);LbS<70pe|Ikn+w z!fi3HC@Q#t{E{nas?D{#bzgFCgCoA~kQZXC)%ftzJw8u;&QFU0f{8%>EXCkq@o$Lu zqb*s3aE6_XS$`7))|c=rac5sJpnj6dDMjU!qKD4_@sW-nA$xWqbsI5t+mW41k%lEm z%QE<|Eo&5r?3J?*w14=Y^^l9u<4(XCa~LXbNWy-%G}mBuz8d;-qfr<=`h8Z`&bGUC zUsmfRIA~#bR;$+zk6at$%^w>}tUcZkFzzIWoNlz*=vF9OjXWIIT?=Ypw#QK=pGH?4 zIB*w8xv0znRAvE`jO&~zWj@#GulemrYaP S0q+(UFK(I}n{IRAxEB#@En8CUoAMJ1zr0Vy_**0VjgW$U_Z;M#RP^ zSp7KY+ysz^VtCojIPRs0(RSDVyJcSl2cI0y_5JRh!kyoUQT3vPQ+Sxh$Q+> bNW9`OM}1sFQCd2 z_7y=;%*+FyWA%yyaU-^3>jPvI!a*nXKIF6EEyG=(kKxtZOslYP(3!ehA%UKe>xh|3 zI}RpDf_Ry7_#lEW4T}isUm{qw2b^+L-ht@yIp~o`pi4)i3P)g75lqcG%==e@len7? z5yhxs_Y-x#guxzg06{aHaIH&LelK)TVC8cG_kY>Lv|5>l1; LONe1&%n1&8CEd5Ydc+>i zfoCd$%G8jYc0ehlc@4q4zs7s`lXTotLdRdvCRqPcS}Bpg{O`!lC;KM)Ad2Zz9>Z_7 z-9myUIQqK|*#$kbR{{^7yuss ?LoRT7bo%#*Tvgc=aRwcof}&L54g#kF zseKt#`V?K89V_u)|1N#kp+`|(@+d>b)TI3e&Yz>0aZJw+nT{6WzMsZ; q{KXhs z9+9N#VV_LU)ry(N_xwVj=j56
Is{go+EnExOL%zPKpunnQ{VE(sUvbq^3 z-SNKR`r~6XEVDVRiL_d0|I(E~Wj$}M(W|A=lTJWsKlLOVw4sN`H&R;KTacZPbT&9~ zGC)@#4a*4LyaMlm!|1rBF#M6%y;YpH2E12pB=+#ZVEXrP41x*{p7s|+r60Lw4N=TK zp?g;An#BP(9u>oDv>6r&wORw1wNR_x*c`ngS5 -pCs)nsd+sBNw zRt`ieKn+I?8ZkgfwH|-P1H}Gv2Ep?0C#(XiyQnDr9it~~NUP23H^H%2Ib_BgD;0R- zA)mWW_Ym9MI^h_9p2P41dUxRW(y355vo4TSyH!_33sBkdb-6HAYe4UNq>IX)gf5Ja z#DeWB2-dxfsacJ5G!jbx*VrD+*0=DU{Ux!xPR4)bLZo#y18Kx(U@AEJh}-aE>BAZY z2P&q=nIRwsp1sxM;V=2U-mw;O?0*;Lp6^O;LoU76W;JvM?$8qlXupA;1zYs!&&1cq zR07P_7xz2TMU~9~C%%y{!8;FO*4?o8*o&ZYMxzQ2K$T2G6^ue<=cBT6A)1YHGr-O4 z{GB3TJj82*_B}|;ZcOcZWXH>x+C|{E{c{TL03Ap_qT)_QPyQm?HjGO7%^TFiCvI@a z% cy5fNNc-U*l zRNesW!!k7idgM`YTbNS)#z*o@rDYS+vI%xP(rLa(8)EjLWUtSmKI%4pXy`gcprZe* zFiV0VNycbCIqxoRS@mPwtkiBrSag(P+WfAq)|Lk0zAHV}{nenOmh}2W4|l@+i(OH= z_cy$uI2o$^K;@46HhniYDuHl7mrjh2Tx&P5-$~KZiY|{Yc5C+3A$#^w9i?<9K{|P; zNCiYII(sHK|MJJJ=#243DmpFcB)mo*HslT_&3Qki2N;?*nEPd?%N_y^Rl;qT#aRCr z(--Y~E%svaWey{!g>$VCOhrg4O z)~gse>MITz`^ga4_?F=hC&t*bMtU?}&7$XPGy5t>$|r=E6BwTFs5H);3q)m)N@Aa_ z20e6Ye2Wol!t8u@-yaBCa7M)$Z}r=e?GIox!of%d^A7o6BAKa|KkY L9->hzDDjS#k}*KP`6;HyIJLztH`WxN#{_#B!pXpE*Tdexz=t5zkNR+*o__% z-?Pk~ok-IXtKoZ5T=)P-&U+S-)H-a&ovO+Hm@z&kfJOKD+ l@g%M*rqQ>t;?p>GybTsS$Wo3hFj}^gg1YQn>x{ z7_VL#^hJMii;vr?9kB4*5y{96zqv+2?jlwBbQPI(jd;thQb`j>R1U$~KO=3mIHQh6 z4;hCl7`C^W_DA1A+UhZNtM1dMJJqwj-*_4ES zX&XobDt9V+#5w4p)6nHpQMtts&Bau%BKG&W`z|3hm1LZ^1y$5_PXSZ6p4gq^Kb-Yt z@lmvQ9LSA-x{Kz<)UfQ02f-e23+?@7e %=4($yB`ZHME#VTEMVFDUA`7mQjz>;a zm?WF<>0|*}NP9iO`_~byZUEX*`SVf3j)RW+&I+h~omlzDLT*ufn{DTY{pZT2IkGaB z@Tn93%wO)j45gF5y`_%qw-tp&Uv2RSobmfe!iW_T+y+7oo1r4JzAq3 4^l9aC8vgkvdiox6~ zA~I%XV*6Ys*fCK!bIw;z>2ayEGD>$bTPr{$hSYEDoE*2mlHi~NseavRdshdLsbIko z7f~{_!A?K7=rx8N=P>UAM w>RQ?gDp$pL!Q_&R%Vz#Zof8`Qv0r~!j z)yEleE|G;-36UJt(SrQ-2cBAcPhiDn(LJ*B;Ou*&a=?7uC;m^Lkt<>dmfkMj>t9mn z@-!w31Ev9V2RNg^#H`lu2ReTWkyGywl~?}ZhG^I!a^q>9YT0hAfGpy(Z>nIyA0smV z3y$imERDWP22mPk_Ib)3_Z=XOH-*yR6oaa;#M-5HW)nH)e?CI20E31qb;j=^Vtbrg z#B0w?`;N=J^ZSli`<7e*oG8xx?}{FDs9kZ3F5nS8_GVPY%#U^9#vP*6Dc40)qJ^+U zVlm`U%}M{y5vPw2<33MgR#` sE5K7F6Nw)CJ5k#13X2bj)x(|e9h`aJP&m=J zHiVl23%};7sh2p2Z$)Uam)KeqXI>YT@`?SI7~QYc&1%F!Dze~yqa540!UCL8=i`3z zyU *d&bfCDt6pr>~310iV#izpMEML|+~~=>!#-_rFFt zwoOpl!8GHH`67|yuk10gen_x6aORZ}IpB*9#*Ru!KhH-gPPsN>rZ3b3qDZ>$iU_(k zUodN*G2XLhYB9F9F+D8SR-7>x6It-XPG$@V?alDORUYr&8lY^%DJ`Iz6=&WbF;hR; z{}$^2B-gzJyJ@j_|2S2NvBQK?oLO-vT`KO;-&VMpp+7y=3itiUW6eE*ZT6Dt7Hdp# z&O;HIaJW`#0Il@^BiFs#Zs)ti9=!-@-)uD}6`=%o;+Msp|6N4_GrNNr^3X4RR^03> zvBd@{iQMsu^KXbUbcz~)YAyp)?WA^{c#nTYnLY0?KtjV7q4;l^L=U}6^o%n>y9wVB zK@48LGmvM# q<-e$XLC9TD}8xH%KE5}~ss%ZAW{;dO_ zT%mJ9>N^ieZ1I09f>x_x$+aDDhMg{v IN|E3 z9DJ%)$uJoyImq>cZCbfPycd3`O#K_6Y&OBb*Di<1VZRh-+G*fs4jA{%YeSy9HQ?1> zdiJ6#8TP%`+1cuppGIWl43#vwA4x^7ou)^v_=~Ss{+geG8e%nXK<)+~T{wrxydR4i zaqz(03<7Hwi9CLFOf{?&o31rbRcR;8`k~9QUvVXGaB{6u@{ucm@x*L+1@GDOm00g? zU?Hf)oqmnD2Ymr@N(TI9XxfE5{Bxi8{^Tns&o19ULe^l#$=60?%3Q6SBy?1hlUzSI z)taj%c;-s{9S x zbEQLmsY=?7ozoxe$SvHBaNeevL9MYXI9Bsn4M`?xe5a9&({1gSEOZG*%%G|H4=6 zAM_EMP|y!v59CkM9Q$2YrXQ xltb0x5v8z0_>s5o3Z P_Dumb+I_J&qI|?OnXY%_O8e)cLr+BEdfD9tWy*x z%x)+=M03PNj?6mVQCVqF$(|nM`T=51$i~;iUw$jWuD>a4o1}e^Y6m)+jdS1+&=VJk zDjsd^w2vC{RIU|S@=(CrHwCJrMNqC4%g4d5grTQ79QHYfDf2YhY1AGhy~y>$6>mps z-j`tcohsP$8-#M}=K+{ToV+nOGk+|4+);|$QY(`#NVajO$nvL!#a9KYr6xezQE(t2 zRf;L!beMIjBV%VP6-~pYcIip3A1Z+$O*_P_ep&^qZ^pE2@6?QRQvw~q8Fq@ev(8hL z&j82vZRqxS-GOX)OVn$31+wvRUzs!=^Bu|39C?K!(~of|9*I(EY_p^{xqifI^M%TH zRIutnf*mhoTHgRQC^aowX+cGX;0&INo^-P45wjKfL#+;kgu1P;c1a*h|1N6R69Fb7 zsLT|6Q2}X%>~Wg0$2!dTlxEy4C2pp511-7k3+;^}HJdT-KdyqEOOVD#5Gf^T18ZVH zs?pI5RK-_tM$JW!m<@%)?OG>R>{7J>wRxqHcb^Z`j@yNpYtTu2pDI2CHHw1SiV3GW zOgvICVv;7`_E56q+HH6(NMj{zSxQi~Ld^DGDH8*9ISg2zM?eCUsX^zB!x?uulur>| zF;$U02%8b#4~~%s&5f}3HN%dLBCBsQs$q@6EgjgGVImMzK@`o<&uf`{j8 14q+OvKG{eqROg&S}u(3)F8IMFV zlyYoVgeBKL)yIZSsHPfZPm=^&9#ibuj y j33k)38P9j#e;+mbI^nu6i4- zmFf&9bfviRfnO%EK**eas)`IM1IIz~hlt7=WHmoc(9$5%xKk e>0ke;ttwe^wXm?TNKV+wXbTGq3rnsR78VwkTrDgtEG)TNSXfwCSaP+n du&@}=`2TMH#Or7DPci@i002ovPDHLkV1k=+`Hlbp literal 0 HcmV?d00001 diff --git a/payment_btcpay/static/src/img/btc_logo.png b/payment_btcpay/static/src/img/btc_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..84d59df437bf6f89fdfdda312a3d95093cdaf5ba GIT binary patch literal 10567 zcmV-NDY({&P) zd6->Ang2g;)wx^W-jZ}e64FU0h6G_0kWFzzKtNX66ai5gbaWgMlt&$Y&M@k4^chzM z=jXWKI3gg(qOuJL2#gF4ARvwcAqnXwA$!v6?Yo_-_xHy+x9?5pq`R~9y*=`Mo;>MO z_nbO)>aBX~t#>P7ia|lR63c<8ya%_ $~A^JM)WQT;8}y(A~E9U5uVJs1kW>8MEK z4~B*w0D3ouLlN1hI^*=#{W4_B$1&)SqR*e6FZlg3feA=yL{SfTAz$)%A3Y}~<{XNM z0kebe_MqwkK_&j%7!(LHNdrcs(P9LOkPm&BNt@-gncK;jM`@A!<>*zzBW?W %=(#Z_@V~RzVrrIpzJjJpSI+U8(W&jmrM}(dz zJg6wT4HXp$ERsqHWDTz0Vbd(5$^4q; B3yxyYU&64Sh)R}{k}G;87O-Rw&h9-052`vcyCs`4 zLQ+69N7~#=yZkfDdmfcf5W=?KTu;=s6ZKaZ`a#aY>(vCz>pF*C|DjUBzcZPEQqJR) z&{O}JK2bQu8}L>Ll37DB52>`dk7?#dtm(d4E+N#LF|>gkUq2b4E(1Un;d(?ah}ZaA zx=vsy{Ci*IC=) ^yc=@W&IWCyh%nXC~)AjP9J2Va!4yYB_i>oA;OANgR? zJ6Es8$b~WC@9ug7gW+c=^Ii&&8}cfG$6y+b#qTaWC?4+=)6#5&G?3&*nuD*&N!?Gu zwtX{Mn6yq-Mc9OqSvbA9tAlcQ1$jP<&^$cky((BUwb=Zw!h1XdO|8b@$dTduB!Vx? zIo+FeBbJ%?$>Ii+(&2hNMg)~vIK83kI0nOqDREgT@0*7Qy+e>c7vcjLgF%qte(y?o zpQXfQ42BQs4PD2{ESw0c*H2D=>~#*HHxtM?g!=RLc1kUuXP8eBddcO~iC~QR-^J=D z3a_Yod^T$=0ZK-`MSAc{^6tLAO5g3x_wTjN--hMixZqIo{=0}AmLCY!DH{A4&G_*k z^mr>srZo^$pCn`cO3v+ha&IpQdxZ#kZ4Jx+N#_NW-F-McEY}x0735XozY>ALs35t% z(Bbq@O71?rq4R=~CE?n=(`S2}185#A8Jym-Uxu*wWlH|iFy|?h@UIend 0ox}uL z14(lgiPRNx*7Cd-u#(=h%A-9>5WP4i{*U)>XRvT1MZI)rtJhNaD)A?Rz+g%tKG)|x zMZJ{%!cF=wOQuO0rx#=Q @m%`z*8@lA2Q^f%Q(c);FL*@-T&7h5 z;33+Y&X+TmudVd;o_NO|nU(tSnE1DJEv3Kk0G^|B{ptjQSBbytFoFmKxjuC`j;1gF zfZi~Fe@Wu><9mh^>^5=qVys+))1U448U}NBfmxc%`Opf%o@n5!h~Shkn>7LWWwd5b zmUEV`tn~fv)Vo^)Koui`*W0?5&>#MSvc5K#S7*(hU8i0}1m|(tj960gJT1ZLa%T4n z6&mbnox8jQ=nrDzUo(F`TT8d2yf&BD@KxgPJy?Uy4Qoiq{%kGXu0QOYFM`(}>^dEH zi36x2BB o^x9pT(0X{9kNvYJSj%W=hR`pgfF*!|32z-1=_VvI>d=fIyG|)A*lb z3^qULLu_y=$-+O%XYrgnae7XO1C(zkNSsEfw{%`WL4REA^XffTrVjT6KnK^7y6{n? zbw2Ld>u@~}p{wpebJ6e8)&%KkpxaL-L$qWljj&{B %F8jM_yr#SF=0y#K0G}R>j7$(3EKw{}R(Y5yw zM~77gf)1=k*F6i#mPk+(i{>_B_kA;&&lE_U{w?fZoC1Y@^rdceV-F0iXS=9@Nrg4o z+>mz!axjH~zmv=HtQj9|$Gl13kCjfG{&dmNSovgeP@POk!;Xb=4wC>`^v<}fW*P7i z0o|&5pa>+J0S6|4oDv-PJ}?2n;g^y+`wr57tE4~oBEfP00J9H)(h&8O3&dawL+S|R z68-6-qoot4?;m@T?v#*M-+|%nsNUH*i{a9DDEPo>BY5f>s!bmW7Z~Fa1H~;!dlS;} zx~R-nwAIn_0N~a<0;!rRHN=NtUh}T#x||=WQrZ`ic=MGcj{Gb-JTy{AJzxa!9--g^ zhD+bkJ3D9bcJ%5yc247+{`iRjkc;tb($8RcZEjedsk?u^fX{<3L`1b|2-4Bt!03ZP zK?E%nk$vA%b6Y%)Yq@v#gGeS7=>$v)hBjj7&VuZm==UHV9qJ<80T4d@-EH4hCm6xx zhSgzsEt~W+axwlB17ke1qaXAJjGT|xn-?F1=cC1(*SfQQW1-NCm=uI%bp0B1{VM#H zRZuQQ1Hq %RkI(Oi+B^X+jRK8iF&qJJii zF5mPgB$J61N%dupVlc&=S3Dopn-?D>=i~K;9n)=8i=Be-K6u{>3 )nDOb z@%_W3PP-Pn A^bf+W(?R$c$~m7yoP>h7pV!~!9d3upjlVMS=Hok-E&Zq08XB;r1PuR8FK z8zR_J&WFk7;Ee01&p%G&rC;d~mgZNQjz=eID_);}OOl6HehFt2WyRaN@AwUr29WmI zNM=S< nec?%%(@|4hjW$mr#^zqU7m~!R z+(6imnLZn7nH$}=&7g?}fc88TU)qRk)LT9#GHsL id07tiuujwlX$-xz_Jkq{Rwd}Fn!R*LsNUdw|he7I>J Q3ff5=xkoj+o{@%uNC(#U)#0X*VE}oHb^V98^ z>^`roGgjw@-4CF7(B4hxx|Oiy1>9Ce7QJhf_f?;D8`eU)J$_dMLBM;|BrFW*Mf&x( zBoTCb4dJ#NU~_Ek*uUq<;%eUEo%eN@{44MtLa>WZiLYHG7wpIqWh{)ytXdV&wpZK6 zd-q`fvkAV~i|bv9zVtBq;(y@&a6dukTdVK4@v}YzlfeJ+Cx{a5JQ{5P03s0=FjkLA z?cZ}G@JLMKk UU1$o#CL`le11$j%$-my=Q%%+~B$o;N zMmu(}1Z?^wRs_|XW*