From 52372055169182a28670683adbd888b982ddcc1b Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 10:09:18 +0300 Subject: [PATCH 1/8] [B2B-4469] Drop unused files --- phpcbf.phar | Bin 1280257 -> 0 bytes phpcs.phar | Bin 1280253 -> 0 bytes phpunit.xml | 0 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 phpcbf.phar delete mode 100644 phpcs.phar mode change 100755 => 100644 phpunit.xml diff --git a/phpcbf.phar b/phpcbf.phar deleted file mode 100644 index c943b68579012ab1f60397364ee2e1a8a17937c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280257 zcmeEv2Y{SMb-$>_HkbgR8H3mI*(b?5oorJjOV;UbWu1Mx6SpfjNgS)Ym9+NW?s<1l z#fA2#gk}N(f(bRo5V`?VLMWlw0Sp8PCWVp^S}?_641^N+zuznK&3t9QU0Ejf|4)cD zx8FDO=FOYe=FOY=PCQ|FvE3TpRcj1a8~X|idl!y6<4pX!b#JA$X3czM0e>tTq(`&6 zcCT8XAA`%+9@VN|vRG?XXPS-KYGEm!t{EQo>I_#FJI#8tGDj^ImaaW&ptaa&R9l60 zg+_IMVe96tGo#J9YN=7%y}R1lG0iWR5!`|5fm#QzsHV0VT2E~SG-{y2GFOcr%*<>a znJCYUPHovbK2e;eI)yXW-|wiQmn>QG?z=5n@_;2vmfUU0(e$r}9{pN!EdAGR%?@v> z)jQQzd$@R@GTYfw>CEm0&M&&hk|mG*(&`zMyY`ho@&*Eh|9d$7=eIhm)+u!=d#XIp zi|#IsP`>Fy?USw1Ba)4_H0Nr&YtpQv%}~zPM?YlE9ujLNm;$@;`$r;=r5M)PB{cX+MH--d%u`=@oHaNu*}%0$yDMHG?NIJ|#W(-V+8Oa&<@WGs zbAGmg*=Mj%{3?UcEM7YwSVw({%b#UOREzbFKOVedwc=*}YZN zzKG}!WdlxRV+5s-0PqTsQ8y+UrQBHmF+9z9eBM+laT-BJXwB{K5=TN`s0Og;) z{;z*#E$*-AOfS}}?JCp$hfkKOD8ISn2d}fLCu-H=f!XRpr`Bw=he_-@wfU-h0^Eo{ zxF?ik8zdBay)@3SU0Pf-UGwKfxf$x+e?%6DIL{3onM*vUk5woq-Wc&%fWbU$%BOC|9{XT&^BqI($zR0Lp6~aMi8WgnqL2oUSf3TcmXX z{)wbgffmZQyytxft*%YD7zfmR(-Wj7%E#UI_{UpKqMYjF0|N5%LsAjt<8Rx%+A98O z(0zM&ys^6pz;94uqWsFvxBfV*J`5A;KSEJPIr;M6Uzk;YjLaMAkKbGHL3!SDU-Xl# z`e(OALA>u?QXl2%cfb4TR-g2RN51wj8J}JC$~@y#xTmy1S$p79S6Lg=K|*p;(`>~T zK68Jmj&jq1Tb5dNQ|wlKve~KaKG?1{*ub5rghF}5@z369t>T@WKVQeVUvq?X!sU_& zzSXLmnX*ob^OafFbK}ZtD9?T7zV+7NQL%xaOO}mP80msetI1vcgH8#`r~mdLud$Z# z@r>@R&R*Q^92BMS1|>Ag%a$GI%v+q$rF{)Y=x?gEM)}@j{;Xm>nO3ktm70sKS)Q5? zsd+&8p`U*8-PXbc$h9ElQ)wLp$X-AYpZuyi})Zm?{Sp+gi;sf(a${B z+1$7oZd$DK9KM+Z8G}Z-@QxQe#=5Zj>@K#4xd2LUC$2z!l;0h{?tiTQ3Cb;6e`Hs? z(<0xlG}~MdmlKV@s4|K2UeCStPjecNv|5#euIG=bo=5qnzg_ViYdnzN^SPB)t+J~g zb$+x?FUphG-|%{Ce`0$3t(6Wb%ZBT|c)AQ6W&4ZQyx5wXm^j~Icx!QFdbp+D!GZbu zBX!g$7e9Q&sI@%9IySFET8=emNn_M2?KW9bF2|~~^$OV|l0NHY6~R4Hg#zVGPrTPP z26sajxaaMyb*iO>%4~I*r)IR?Y?J%7k>;xE!yZxCC_nYxkA2)=ujvE!cw>%yQy=PE z6e`MVK2|=?ppNzib!yi|)!EL}g4pIH_;0BuLwUF9D<5d!H+BKPso9#RnI;+xZ&|E& zY7@0ab)?;{?Pzkpn}n+|#%5b9(d2Fhmr`){x=#`^Dq6;~YoyL2K@KIn#r z6b=3%48hcUyo;lC2q^Ej|I2nST>AN! z8qkfs0!_6y27O*pMtS}Rzk88E&(O6QCO2r|IioUl2t9v)9CE3gjAEf2r)nYXKlz~ER9kJ2%q-1_fNd$aYh zt}BT=%V2n$sx`pZEf>^L{_~F7S_7P;XR~aBfo-V6iSnBly!JE$n_(Rt*Km{>CMU3D z2K8mSz(IM;>8D&}P`hhyp9-GUHK6ZP3ZVRlpYNPApvm>tg%l|9*IVc6q@eut#y36D zS|+_}ZprH{2`j2LE?4&W#{WhYHIzpleWMH8Btx z8{bvNLAkbdjEfK_h1Cbw3l*$~V`y}v}6X_Qtj+*&QZLWOW)Xd)BI*d3FRXmaM42z zaEj010Gsc$wMCJXR_9;_=)XEba7Ovef4F7JK&QBp3DDd{2HYEzGf^&IeaR^Xw;L^> zgxiQQw1>B~s~LcO)p_GzO}p)t(Zqc7^e~YP@)csgi{9-tV~ZfWgjS_ZaM?kQ&@Ub-htO^15HY+~8(NXbi5y*^jCj=r1bDDA%6z zlXDGpin9p`RnXnU-yk2a`wA#u^YHh6*dV7k3n`Ej(r;j|JXPiov7&%I1%6 z$o;LY%m3;cw=bV`cU^1c2a5ZVPNqzbW{qO*{5QWru;MFf5>eiE>1_`(oHk_RWWro3 z4R35U_qWMcTd2-bGRkZT+hT18`!xz1EW3HGdpq306>;vQ@2gs^`___EbCN zg9}xxs&`dpFLqrFsPw$(V3P}`bg&HErNcq0 zKco;*zT(>@x7RwFPlde|%CoDthmD0x)%xxc*;H}UcR=@wQJ#KOXPqIO&upUxUbc~{ zrGxEGb>0EK_E_O!l<(d0E~n%2B`*$mYJVdJ`!}k6QNH^(KXFcUzT`RB+Zv1Q>Rb%& zHkf1f^xzuKTrGBg~$5Bq)`XZ-lk{o4?ZGqOR(a!252^OjLiR!*; z-S@d~q`sjIP+oD%O;0hLlJlPmcJ$zEy-7QXwOJ^HIx;2?`rv=4;8A|}rc3_Cz;B}8 z$ZfQ`lwgA7BN{SeZFXoIaTu+q+LWpwk4PY9E5ZKcG0MOwzyH|t-2PC`0L;OpZPfdW|ry@&kBqKJZf%ILZ@Fxxm?^ zjoqo^f*L&04O`%{^zzB}3GD{ubr-&}WsKF& zaJDsOZOgP$AKy*jlU(p}GH(!Yln3tre{QsXawIU|v9lNFDWznNG;xc$EM$PIbtEXy z+;xoGexK@t&vatWt9AC4NmCia@!p6xH#cinD9^n9u`cCvypOJ;G>36ybtQM4H)$s* z-|_9wx^#^kO$#SxvRNXIqD1w%Vyi`Yl>UUDs9;f^`tLt=YwTovHjop5Esbm)-`1wo zZy%noJnr+2^S^EroAj9z@W@OdOR3u0Sl!)hRjCVAgRv0skJRR%yms+jE^eMQgo!S; zEl}8Qw9=-1+D4mZFwof-D=AQ3`_HfYZ$rJ=M3qjCz^mcR$XXSVFl)lu>;PyMX^Qs z&`V}qK4lNsYRsA_6PvmRDv42k`&mEyhGCm@#*^6A+Ow2UNbGi2v(xlR@H(0w=n|AC zUH=Og!bpaR(tz?hhg5G1xlD~1zV}xepnUUd?{~A|+k?<;q-7pCAQux<&R+I0{-|P% z@}i@j|LZ=$Iz~9BdT@WUHRpro>tC{7a_Hk_Oql-QWWZ!D-8+jo{^eWN zK{D1I(8udwgs4P0psj=CERjRDmkvv`Ekxyw>J^u zPI${11~^C65R+P7BhN6?gA&VqCMqaNP+q>_*KW@!$Mf<)8%a2efL1*OT^z4~S?{Y; zjPe&>eydZ#8@iL;>n9olS<+w(zfeIy`Ks3szR}3Dv1i!is$j2*2^5F^bA^s_%lCfm zvZH&aP=Yce^_1Mwk7{rS1+1QiO!4jQhlxOb$ z1~(ai5A=h;l?*u?#_>TOuc)GY!`QG}*d)WkDIhl<>{O>(bJZ432Ki9$t%#zW_}9OC zwIP}(s5IX8FdM^J@)CLPu@PGyUq#FecLU|N=bSNQpnIh)uenob`#D7!h>>q+Q9njvevqM_PxQd+iWw?lPU#+)76= zHXfX=(y3{zXni_erG22>blXiQSRZ-z!41krgT6*udlor#l}rfmmt03&{jcX)Ka;(V zC5?C++jArJ`g|ogRPufu5z3HnHTAxP@eU$$N#1El*4t& zo_JLR!Ed(WefWoSe(>-M+y-RdqZuVTQy;A?w2ckpJ&o#UP;Pq4SH5neNp7vtYm9sw+&-&SS{@ozvXciCRrrLopc>Ewm66L=4|DD_C&WR^!>R72n`YLcK|5Z&4 z%J={F<1SpB%peE`E%44RZH|GvNx`9f$k7k|rj0nq+feiN!~Hy1hwQoh;0RaPd9u}zI*uZD~9XFOg$5Wnz{{Q&>wRzabr;KnZC*`!Lof& zg`T$yVjYy#jYj#!qmO@;p}!#y{Vux{275taqdfhu|J7yW=90!>s|pS`SPc3O%AJRY zhjRU`qb}tzJ8Gb$3BuD^n-tc|r!>bBW$X1{JIUzNXD=Bsee2~fHSY`MMZdXmx%HC0 zZ;(C~x8oJ=gjhEh=;{?^{fg^X9$GiF$V}e|v2Na^-JpEPH?FzCy2)kQU}jP_4y=P$ zsZ^j``L$JJ)$!42zPO;n^)^xpnU6!FZ5ve(nzIKp1Q?iJsq!#5apkDetNVGXrzCF zC8^~nT-^AKl`f={y`0lwAns4t$D@yi^aeeWg!1b@e$V#|=}mb^18&!?5bNP{IsqvE z>*b$x`?PeyONJBgVP2A;gu!YkER@f`@spbk+iXw3gXMz9yg6YY_uW^tD9RhozL$%g z_XINBK`@a1mc&gTTKX2lvZuMi-VEihzHC4Xdwd1zj*5ND%-y`PdyCyL1N$2# z2+BYG<_~_@7ubYb?!extU{RJvp6tT$+3^AoTcU=)0c5B?SA8#(Z~y4WUTdiKMd6g~ z34{MnYNk=X>f6u%w877IKs}tJEm8ybP$dD%hcEx5ca`!R%E8^w zaOWCwbzH{og&}^!m7@H$sDnrFze+)wcRKeZ@uo`HileI^2RVxY3x~~ z-D(#)hFv(CEY zY6G5Y|2^Q*z7;n14DtsQZIplV)C-*o&EAJlsY`{-J7Na<6-s!Nk2~hsFEFGx^g$6u zTGDL-*jJIK&3hbF-ul+1?>5-|Olo2>qs=xO!X?K^Hz=R~(WBiEa{U3_3F9Kh_McM) zjq*XCf7#y{>bYW-v%6+EH@M=Nm@B?Q?IX&;<42KUj*yeOad(!aUZ2#~Lin73$WII$gQp#9CSZ~yA) zj>+6hMna?z&d!Myn%hka8vv&Uck6dIq*ArJ7hx>H~_2bI5C@=fv zubh9_E7b73t3mx&B>~FoSG@EyMuKv#u6LVTX`4=o9Xspqf%g}Uf%0#EeVW@C$k+d_ zKikDf+f1`=zN9V+%5_iw=0|NRlTC?9_A_kU?!Z0Ws=G|ENWb=J|% z>i43oz4^6QT1VOYK&oWPLBt)7Zetm@a@I+S$Dea`9FE!dNSPdz&%gBU|9CrkGRG^n zFKA;rOXmmW6_ej8T2HyeOYWd0f&#p|WgQ)*z6{F0T{vO4b(G5p$&Q@Aty^{0#e3B+ zKzZO#p7>tt;t*l^2rsnT{5 z4d_}0igN!0FL9|a$0r6{qEP0g{yD7KKNapkdHNe)=nkGG&5kq;&NCHf_crNRn4YZl za)-V{;UqYYC|6zlt)JT{H)J5hP;HA12k*92=XX_Gso5H9bg(G*t@_D~!5-}ew#(4s z&NOZnK{>l zL3#hr{{CKu`dGI)^bXIoj$+3h)#n2s?r7J@4xri_ZeN1?z{(9*Na^EcPn`G=x8(y<=z_({DZ+wy7L)u zvHyK>wUaWHLrMvhmoAU4Z%uB5dZ2CoqHE;bNkf-U<)MEs?E~dAzIy26UAv*EPm#W zj{If!g#)9%v+;~~6M^J-sG}~OT&TJk<;icJKhZi#x?{m;+{I)zA?hiV_tG^Bv6D5= zQG%gt9{AeD)RC!i!H?4IA+~yoBAs-72;JFS zqbuogzb{wCitYE>2g`opLC}qu%;EiV#T(`KrvGQaVD=yr&Z&s;g@fHxRzrE;uWojGQaKtLY@inx z1cL0~ep%%h<-_lN)&ax0SGZaDK2PDI{N0k_5rf+U+it1R{rE_WhDUBZak_m$@9WJ9Kvf`{20LG(3#t!dRm4k9y z<#EoB%<+_v=eL>8GR-w--GINO;R2M^moEQ=4S2M>{Q4<_=8{I4$dSkJdWz=5V?gpmzX%oNhj9+3GHWcrRrulz(~B2VAPj%6x=zBb*y}LkEuXna5q@4k6{t zG%!1hZ`-i2mrcqA$~q`7o0$5DQ8LF6`jp(*q^r*OSXL~}`f~~!<#R^=(gmY(^oqjP zR7UUW4a0e_5&`8G_Ey}AEk}d^SJ&Isxv53|hNvU#{Z&_?yym!j{>12zqpJYZSp)i! zocUwbGNL@`wCBIZ0FUL*yse(#3^>5!4TL2k&U%_k70Qz~fA>)azXxI%eA!K-dx(s{ zuTuh}Y~TI;>kMWeI7f@(NWdKYXDQAozj@}p+$MXD^8sQPNdeMj7IRzoE;w)xST5p< za`FD}{Gg$mqpbjLve_uQZE75Wa6pezhCum~GatU!faa(eFIH<_$3$fp-Q5;jHu_02 z$6r46Lj%95J6m|*;~}ef4>vtZsDkoGA8eJZhh(}zpv1f$jOXHzPkMwvM)|1?7rn_K z=a^p)a%9J1Wci|oGEi<9`ssp!&haBX(0+i~`1xejz9_$U;61AiYR(GKgKDJ6UI9K_ zV_qnKd+RG)*s*tVTjV89?*F7+Y*-_d2jBmVBMti;Y4orcZzK!;g{q-Y{`8p28w`Gq z%j3b1g^uC_IH)lKlq-I_bD4FJV`IDy*s%y`Z&Q1{!bbU{n_m1KgWWrE_$sR1^~L65 zn|o{r3w!^b|EKl<_7!rdJ7-W5XTI`t$Cte|}SO<%g+h?65$UUI0hz3t=}+0Rt5 zLV5Y8U-dDAoVAn1mZ3eIwdrJFUsn=JqkPjFJ~nS)a}f5y8m2KSk14C8{P5Keb8?y! zYLjFv{98Og0ef81QWeb$IExo66bVs_gg=s@?7t8zRqfug&dJ!l;{i=7kFIwcd ze-Uu;Snan%`nBp-qWtRD|K(jq;jOm=X}9?nqxqkmD6@(32P408mt^LMzv1i=$SxFh zJsFwKQ{#m4&({vU(}vS?7ta5*UK0U{3$+WBH-Gt&&Z?f>E5&%RgnUu!!ryzdfxLxc z60lP!@6lX-vJE6hkH!5MqFHk5&HA|EQPKy>$Gr1f?&DoKBT4q*h?X{zL8TYUr{3@= zmr0c4oF#j)C+;(kHjZZpdQsD@g>xp|;6?XVWZ!mQKTf(pdBiE-bdx^bebSR% z*zzEaQb*F~x-sV{H{4^^<-bhy+X>Bi+P<#Q>uC>@eo)?Y?ay34ebX!Z?*9K)b%pY{ zqYt{!bxs!)NsC>&!NE)ulpxUd6Xh$EC*EVJOI$g$E`qN!8KGXTp$nA1{o-#{nh=iW zO^Dl?-rD3V%VaID>t&~VKd&n{l&!gm%?3Wlx+xeU6n%tFK6D(1{BuPdPGtI8m33N|CY7)G}`3qCN~1yS4Q$D zSKI1v;$wK8(h21kKXkztte4(rz*sX5`MK*v#!$ZR`=2?_Am`X?k2;o?%L8&e^B=0~ zP`>axt>+lr97oH8%VFy{y5Co~8ReD(AO5w0UDGqC!zYSE{iQDZQQq*DpS{wcZs-{* z?~jdE=z^y>Y~OLY?-yV4HiMmORvd%Grp~2}7z^&v{2F=3dW8DN?nw%+4`Pi4Amq% z`j9h;U|?6P-p}_U6!tBs?`28*}avojDJ`?0&7X6w3F$Yo!Z%ckRKH8-4VGK2(Ey{%~7H zh7>$RMIPnjf4$Z%1V+1!!4^ityw8pp0eY~fzK}gY2Y~W^e|wKpjYMP`Q#6YE{F%*X za%PR!{CL$9{^PHP4RA764c>Kt`BYuzC(3?AbOi&W{GSiBTrfGQQv;w8w=|IUf%eBn7SuNu&FZRt2pfa2fHbX_&w z=4SAIpzBJM+kW(B=YXEtodN=n1cYypH(=*0IZ;00s^_>9EJ-IW;9LPFtc4pcV?+K9 zh4df~D6jtTxmVbbbGRU10U6rwQ<|cD^0TgSiKwGFG;nACxnQqR|*arQ1Iv*&X_1Y)8Fdgm1EU7GZDD|r{hcwgW>K~(=yXOne zH!NtywuJ5&!F{Q#ItM!cqgn*z3vN2+7gp_zGYQ5~g@&2J0&OAAxLw0)YX|WqU3}PH zTcEERxypJI&FU01V z=sil`MVh0*@?;Ot4a5A42xOBU)LC0_Rf5?ynmeR}iVhzFs}y#R*4hXhU?A!^exXGf z{q*^oxrjLlp^e7enAe=T=NY#%4;&706e*;;hRBNSAnLg z>>)Yx%{ls{CiS_lfK~&u^Z0XcPpwm+7rP5XL$h?!h29ShLE{WH8})P=qv37s%Y(K7WIJ%$qa#7X0>8$ zYmcch)dF%+O$>iGeVm9;FDx@eD(%7mWRf)o{-Bl_Ld(?z32wr|=mch#j)K=3A}w=G zpNiYL_D%vU(xia= zO&9RfSAO>40)Fyy#_7KbUHDC67->ioCK5z*RZMvfkn|Gtv^On5D(w~Rosl{jtF^XP zI@DpKon490s&=a-J`W|2kp==7Xver2otYsl$wi~9%$E(2Z^a`d&8g~fWkE

Y4|$ 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%0DHudp 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 hF4P2?pd-D7#7-R2= zg4#t!$QsCrN0|y{OPRchd&Bch6y6ssISnR0>TA>};|N|dHY)2G8<=2g7!q+LbRatG zb!oO~{6M*;kjpHCR^yVi%AcvXQ1$fZj+m9Ly`9J->R-%46@o8w!|Bm{_KoC zNv9-zD1cWYAD9`_GIybF%nBtpCo75+=0Ji)5r@7tP0%)M$wc4fM$8j5J3}2H{C8?W zh7z?>Xrj!=+&DYyogHRP)vix8+~Alp+S#E?dj`o00|hij?bDH1S6k7)+@O(r;*)rb z#<+*W7(VB;DJn))vfZYOaOp;Pe#3V&mDXvS#TkH#QeEJyF?sfM8iJ67v=q=`zX`Wh zT)4V47X;NVs0)WJD}7Y~0hI{;GT){fUl3Va9`CPFpAR#Nn=8!4SO!$@%7}GB2wHs9 zD_T^hU8pvz*&-`ahtnRYs^v8xnvB=1I){EN5f@6c6Rs-FOoS7gx zy%6QU){XF3WtcdOT)t2gEf{2)aY7W6xf8Ct+t7$K)QSP|&gEx>wft z*(XlB!rg2{13u(A1v zt)s$tZEC_Khpm&M&8@5|r_F9n)i45Y)cl~B+ENI{w$D)=rh!hmXR5~XoRh^Z8(X_L z4t=IlQxJmT$^e`gZU?`tfh%nc{Lr7ceXdoqoBh5&*e5>{xdU` z2^3hupH+&REtmKac*viliW(i#N1{Eq%S~-q5mdtT3J{5=%yZhcT-B+ti9p!Xgu75z z9KkmrxOt0zNOn|Zm9D9&NteW}D)qJP+Qj^mdCX&q>g#G_*1Bp+45n{5ze{Ym)HD){ zP4AOxOpdUU*>qxRQJ}ek?@|Kqj0nl{b^Ycu<>>(8>;*#(bj2}qIe0xlN|qY@f<*|Z zAjs)Z*#&Y@48wbf(^BOy`0kRWtbJvQsB@FN1H_$y1qf44^4-zV0^2^^S#s_vYcJ1H z7Vq_*94%v(Z0giKi6vy@P^BK}o)e#M!dUeCG&>WMj$t#JhWW^xqDw6IaVtArAWZY~ zpVj@9CPo4&_f%S|47(@{LEC8nEvgdP4J03W_daGRQI9NrdFrnBrgLr66?Hi^$fb(@ zl$KXrC_*jMr&d^|_6PQumN5e+8+muw5xBij`Elmu9I#Ngs?3~vSA(;GibU4wGc3!0 zE)p4KKItvmsHSE+0$$tPbpp;jHccv6q0F`M_XHLPpUZZ_wh`A~B8}joYapl9^mO!eu!NxP(*dhW$R`A>`P=!w9L?S5 zM82HN99_J3bwE+z3&l2iJm3kwlFPNz*O$I-!a5o(ZFysqHusL6F46CV2zCb#<;T+{ zJSx_K3o|YMGiU9Lnc&f|VxEpyre%eYYG`TE^RnUesCh#&5=fJ$Ck!z{zxJEK zbqRDME2gXu=^ukUs5%O3$Hx!{NRJs653=KqZyRs8T^?iM`rY$=-4W=>?1JU~c!vkL z^+H*yP}BueVMqoXNTI{?v&V7N0D~F?e!sSX4eIW*cCW^o*4Nink*h&r+xK+TL*<=A zD24`LLKfMIh8YP)#DqQ%fXGgYK&nFcIiJHX@nz>TbAOdkKnZ3zkTP$j&^j}kRfY%U zcIs@YBFGw-<8Y-{#4W;H1(tQi@mWov4C{NPSx9M!iOm5s1Xrd)lP>~c2vBM(? z1|BaBTi!un$OXukJUJMMr6g3WeDdl@Z-IU=kg6-%6MduU+xdD2ji>%(q$FNPN==Gu zQBjSoL-Lf8ylm@4^8f`MO#`;*gGU_%DKhPJ8 zoLR1PDd?oLD}s1S@t>(*CtY7E2xa6sm*#w&xHuC3t|bDu?K6_O>?WSV0I7iMb#N48 z6;~ob<7LG}?8fz#uO2|L5vM9hM84NOOa}v7R`cP~Cz>5>*CXgtTw@1uW^p%t#8Ri9 ziG=mtLGlJUSC~MN{htyty^U6oKt?t#Wsxq@J5@6MA-RS2wFdPxeuNLy)!y`hIiReP zg(KR>B(iac=H114hlfK^Q0vR3yX&7Wef8j@`=d(~gzrr{csUr~dpGWXxx|yu_wL+z z`}Xbn+t1gBqnCF+`}EVhcmCgZJBO#QdKcZb{s4P!aN1k)3#GO;4wgD-dv7q@MZ)ly zWq0-49lL|!%cb@8JNiE{Qr6#%&z2s1gwo-i`$*9~9rfSv1nL78z}rW6h|`@x=0bJt z4$iuxv-SIT;%6Ue%YRy1>ue8B&o7a!I38Xg!y1Lg*$;}MjitI`ha5u+x_!esLH*Oz zV`pv6#wQ9uoG-pyvTxS?KAWA-~$9qe#GajU$*|_ z&70n66D$Z1Ij0HnG^GcS_xjH8ZP{kV_mBExKskIX6_)6{I_gdX@`qQr6HIE+u6xU) z?(=Qbg&9nyjAZU=%y0eC@YMcl`2O%Om;JxuW-&>oDZk!0hfPgPvRPiq9puQ5S%{C7 z4*%m{JEu@|$DQ-x;N|Vkb6lx8;L+v|OZM9BWK)+A$?M~FcBz%Vjo5_XU@2fVCjH)6 zSC9|+&wYFG-sqZM<(>XTf3nn(t@q{9fBdV@R9n>B!1}>`NE5WHw*53Vy?>_)#Qi&@ z!-$V35LizJ{deSd1Z6zmd{GDn=pJ8X!j?6YrV9($h+NP!2h2xs26e2MG<>3R0Akbw zDU4u=LMsy101i3AUL~#KDNUlTQ^eFM+A;O1yK?<#IQ;JN^pz0y#tR(1APIIOHvD3) z2cO=*lYT21Hm-qJI2K6z11^Q65sZf5GVpSoPA*Y5VjASw^b>r2m_ALLkye^PldPXg*lV{O2VVhdWaPW1MfV4 z-|0`rz4I6A(&@8jHq@QU&=iiyNWXyH-XBAN$k#%xeABU+d=COUyVoI83}7h?s8h## zZ*U|B1+wD`q**EGkB7sL?)NSp{B-{g{{7L@g|BUBrZjS5QL#?Dm`pMqfJN$2Y4kXqd)@)3!xwK zg^8@bA^}YPoLE3EF9_vje;_Lc65<2Vk#CYBD30ZbB`%82)9RcH6y!`gVk23I!Nt2Q zp(YD4pb#3>)4N|>i#WJ{P--WkjBGTa>c!;t4K1#Lt zF`J;TPC$oJHe^A<*%-XHV#s7CP+W0u(rNF_MEJ0odTH*BgmqUJa=p_Lxztxx5jqAL zTMv;vKYD|o&@&sj`fr8S98k=CxO(fOpM(>or7M=$7d5@jWa+PjgZ+FhDh+Gta-L;8 zb#1uX&BWL^4*{n(2YFh;J~!M~r_{aYf2J^iq=3l7{txqNP38Q3^WGAa7h8Pofug+jaIVSJ;LG|;1wtNk zUKmOti3nkOFc)+UsGd`sks5t#J5=L0#$z`{O~0(Dmq`aCGPEJ72?~lgbcN^YU-(W&A$%m;smj-YIUz*f3b0bl3t})XL``{$)XJ5qxx(d} znJ@;3rjVD=1a|b7vRJr*wL7}b-faQS_O5ck>AP1{V1-7IHXlR{#FMCfZfl|m__UTo z5Q%7!Q;=C~OT@=N05apwoB@ff=)6!gAaKszr~Wz$wM|$`^T<@_fsmf?7`z`|ist}+ z0MAr~69I;z=ymMU&CD0@{@i9=aUlydt5Iq zx20b6Ca;EPV^ntb0Zq}218(6`0Z4q6NPz2YAD3(5)GS;FU=i4mYGe{{b&psd5Ml#N zk)W?bi|s)rhFeV8iWp360X{NDLFn;NP;@rrRThID)DRqd#8p(d(Y5=WO2HF?W=sGmiNyqgmPv>D3mR9iD-65`a5u`NsEUG%+ z)Yes~Bbx+>20$>m$~j)|q%a6@Y<4KWz#@z!u|fFYr3yFVhSe`_(gF|-nO-or*c$E1 zIIRw^h`Pg_B6XsAqjk8?SFXcy9R^3sOc03aRoOO;u<-RQc|9Adt8)#J)`cf`s?T8? z`p6hQeK>~TXT||5?u6I9-W!p)*kHJU;0-)%@A|0X*~9)acQbZ0?M(Wd#gcj6V`&5i zBN!p*o^_x1&-;`2?KCkb6MWQr(S`2cfnVwpw1{o=*lTbu>TdI>1WXL>U%1euXK`4M zJ1>W>xd(l?Yk>@58|`yhTq359>!1(}10ndg8i~&-ljit9E(|&w4{i&WS%wDV{u;}R z5z?bYOmLCCaxJTN#ssi$5r+m3Uw8`KC2hbXIRO(~YzkN3NmnK`2p`Cu?7o8>Je^?c z+*PN3C%bXe0;1p&Z$cD??VrJv?R62Pm;1NOK%?BWZ{e$bsd2dbhbO$Bzd++Sw;iEen=jRu2qe**=8`OJm z78g2oku-hyoFO2{ASi!>mo6!Px+e)dGY2Sp(FRUWsZ&5(pzFaMup5hqK%jPQ4vtw& zjeS6WkM3(VZXMK{+{c^d5@)nV)G8H^K9t}(tl79-vxGa;TX73?WVf!~%D>S~{$rIY zaCrICM?cRNDv3?Gvp<=syF)?Xjm{uUKzJu{&$f2dtItWNHF+`H)GR`%iG zCRvpQlzqwxa7U_ares~1JDKDygg~47uaLigxx9RLEhl75JYn|BST40{RBtj2f$`;^ zHMsJtz!_(=#j6wNrbeqfDO}w-gfFWrQEr>jROQ>-huClFi?kvn%Mo;!&Dzo-X8KYY~^+PH861OsfAPukI@S zw_%APJ_JTmu)6|*#HE-F&dzTHm(#&X3Y}P)Gk_~(%}n4LkUFQR3A(}d3;5jp#)x@#a%hY2 zT%zSDf$9!Vkr<-liw2%HB0~8psJfl!!{K=knzuWoZI^S4CQbnRJvFT$_5*BPorWkK z)7Pz3ftZ*L#poku09o_$zZRrfq3tC`ag z-rFb_B>;?VE2~Sk_%Ht=Gr1WIw*glb3sXT8hGJj|ml9-IqPdVr42-7iJ$a>)t^}hdc1cVILYjx&=c&hvS0z z$w{$??#ianyN&?1B;z5M`dr2VO-TWrdtb=s(BZS>e%VJ3JltrO;*S_P$p`ecA#|u)r28DFOn&TZjww@R z;AlkQp>ZGA&#l8Bh-kYu^NzdcZ@ceFwOOecba3N?5}(nl(y*Q;kS^dd9Cb&huMjZ= z4chKI*Hg0CNFr_1Shv+pshNOA`MHBJ&lMwdV77O1*x`6AJk(IVZzgUOi9`um!-Rsv zMp3mheEHEX?)`lX*3%n(^z9Mo^~sy_VfXB0i-oCYYMP{_A}b}r;DkC0igSe`0I{Y( ztj!0+)d|+`sF|Oa@7rag7jp9w_=R43SP~q3Ez0K7ii6(LT8k9W`&yVIKT(ou?g z$~Px=v@3sd9pyOVS-mRMj9Zbd5}9fUJhKd*r(x>kb*IK9CXebFT#riX(yspQu|o;dUcIm~0$8hAW{ zVTrQ?)0O1@kWu8;d+uS2F`!yw8J3Qm=jYwQYadWlNHBYNf;G+~x`%>+CwW+JCx)ke zPp&@czLX%VaCn`Bd6q(Ro1G4#}F>da2#A#(%i6FRlC9(`IOS<(m!zfaR76?7*?rt2WbksN#^ z;urlJQrnEBZD?MK(F$cXw{kNx z(_3=Mm(*5-`h^%1T}}9}gzfDFNDK-ET4r=13x15zx$g>LM^Bfw^j$kkp~J;3wo-LV)OK&v+>24JI%DV$5+}~vT3|8nZ(spr z%r*2EAT%!MR%Mou0NJs;Q1>@H!wLhsso5>s?Nw)m=s2uXJGv(vlzC^i6|b;P-{GLS zgkoW`3Re{tI%~dcT3 zmiTbyzq9bzxOFy7dZ_-YGEapKaWj6494Y8f5I7=iKG=+8tvI3^VHUZVZ`8(_!J!)E z)%lrtV7`$hS;*FC zomh46+dO?WIvbr=y>s}QleBmU0v85B86Y@G-+m3dx`X!=4mY-nid>iEc~IP{@Mk}O0h+1F5HV{`=D!2R`I zc+rqMD;y54bXGN)yc(g1S+aRG*g}6T%bSoHx-tO);q-dVQ{XwbAX;nFed}56uB*C? z(No(IW@{5Hpaps;9A;pCBucrog3#4u!t(EOh?lI)${68Z{UJ>G}lGBageV^wR zO)aM>YG>W$15OY5AkS`EP*&`li|?vF;0i*$Mg}FABQDH<0{^`>S-ve ze&C&5Uzz@4L`@>WBPc^4tT$%q7@QSGa+WLBND8vke>a9k&TB60{pIrA)v(7Au86b` zLWmN|Ml9V3vh4u&e9Z6v21$DK|0??9;+t_HoPPM7+dzbMR~~Oa_(-`O&m8kkgpuxu9HVzMOy(bmD^jm<6oadfb;ePlNr zSk7`{QOLbT>cn_eQeN|Ab~xFM6DOyy_i-ObRtB&1a#jo+B`b> z;oI$_t;2m;+STPS5O1+6fR$_H(6zY4c368cz!Js-ILs@Q`(*?r)o=44;Zr$u7(U0{ zEO{iMnLsJ5Cp9|5Suxxrk*|3NK4nW)4ymW3!a(p!s_(r53@f_1+>L&4cY463-c{&80zPkS;3#M@6Th*B1Ne=Nq1Dx?!7Jwy_6h+$z|r+g>Aa{?5R(|h z{1l`0gs8MKyBI7a)U5K0{P2_rS{?J6*kv9j12G*pZgrfF(@T!AIU6`Zc#X;$tokq8 z4;M`4+342h{ZH4XT2Wt}ZV9(zQhHvLWNDW2GB;kPSD`Qf+xPpvjj{2OUN;p_}T$y;e7nxZMZR zOoAXDS?Cn#K-{8hM>YKN29gzT8r>ZZDJHPsZKg0m&^XU|T56O8LmenHi_)sk5CpGm!$^R&pgLWj|zrmJKe) zq5AQdrH%FmWE-m`ttBlHC!~36EvVLSJr$RfX4PYuK)dCg32ee{d zCyQ%9S64csIM{8m6;zN7>b;F&!A-7%P>q=C(iwp0SVFfAlGpku7-Wqq%3hTIuzBK6`0=r>ZLJff-Hk~BI2P5vI2 z312?P*|yH|1us?5W83NK+^W6UXn7u;>^=Oitxf!Af9qi5XzxJSNww+CnVK*U^;XMb zdkoGF`F!sM{-f8rWK)BTiQE(uj!d*-TUBPkYkA!gHLaO{k0!odrN?y5D|uG10YPmI zqiqe&S^=aiZfIg6ej0Ep<(Dy}gQk6fk0e_;gBG4B0& zR5)SW{o<-j2$ttKlAwf%`QdU>k;*z+hm}>lul@{CTJ%%2D&$!B3^yX%^~-(XAE1LF za#6^*U-#f)!JU|w=jRGhyAwk1JUxML0rt6+Aaz$nvhXUsCg7ZaFtes!MDDUJn7ZD; zI4?}6sX-$wMSo4u#P)=u(8&YTrkX#vu8Yp}zl zX|ajK44Sn%Y}SI)@*39ITf)PX)&hD)&NK?KUh>DamB_ESv7O8t+NBjJ>4-WJbsND3 zcS@C1_(2{-74(^WE-R>HafBwYH*ryAbxyZUfIc(;n=hz_3!XTE+C-Hp8!>Sv+VSxU zGY8G|i@Ifpb5TAa8`l|(*oak32Hqq3U!pi@T;L2aQLPW4N{#VCLn_;VKm810*f$k` zQ!gnQJmjMLE{#!t>k4Q4CyF*)`MCBVN?ojGVki*+3~>>zq}^l+#u=nj>kw31ix2CI@rA9cVIKzhe5 zWflNYYcj=Bc&^FZ((&%y zTORYaK>D?D5QLlWgBe`p>g~$0fN{d0T0?{`TOA6n?2n*LBm)b(TRWmlhaG|XuE!s_7y?rqNp6^yv zy7a9K*r=%q{{c!y2w++-uAhbZisxQBQ4b&qRyb-3-_o$cMN6INxD@eoNw zNhMOoIe*T;kaObH3W^rkAytm6172&q>e{ALQaKyfJfXOy4|Nu|jM2>-1xBPPs>&Mh zPx#@VaK!AM9Bq69wMM)cwhfY+&%cFIRnaG>E!QE3qp@b3hpFhkvT1Lo*MiL?dW{3l z7wA|(%=+epINMoJ#@3~rcP8j>-^USozukRIGqLVuX(q+?eO&gEw$+r4EHw37+0EAl zAA7peMcS&39BRs*PIv*wRRR}LQ`u->Kb{j(7{Z$yhg+poYWeWd*5i#QJ4YglDhfH6 zqe!8|m@77)K`0wP&RX1irEXu@+;Hb<1eQ^9OhMhPH~?n%lA|b_R-!q7-(;iV20*#M zV5Wf8pA6aE;qa!wgQQ>CEnqJl8H z!$=zaX3^A$A)yYT-{_oJ)R>LfS}eMiWGJ*89aXrsFI-T38ttCYd@e-+okwNL`m6`t zLcb9#($rOBLyz^YA#ACeiw#MIEegtf_iRG$28}-lc}LQM)WTo*ouI1Ft-mJaHCW z<&#j&kRFIY-yp(DwuM6g7PrNYc-ssYo1TZD&d_fNmKOV}1ing#uyg9yv!&$d#L76xYx+D@h>LWP`=RTRx5~YBiu$ zkjSi{Rl`IQ3U6Z_vnfkN#X)ul&z60S`#?$^ zBz0k`ve0>c4TtW$+ow_VU73+1uyrF@;&Zy3;DbKDJcHa|_P{LmKGn5EyK;MXbLYvU zt&_c7%^p7hbKgFw{jEl)d@8Eh2XsG4gzAX;cLNvO6}Pe|=WvNh$z}NzNj`JP0p}oO z^U@6avCzZCklx=o*xEh%cI$Bau;lSe|BOp1a5x=R?2{5KMLbff{ujIgF2#*|TIa)y zgU0YgVhPTD1roC_=nPXEA~JCZgvX5u%ie{kz8XA4e%yhTBn>LC?&hnwrz0GVidPe6 z6CV2Gt!{<9&dystu2P?aICEMFVa+7Hq5)pBTmGg zf=f=41x-g&w)8yKPo;sA(%?>iu<1d4P&x%}1h#x@#-zsW+nuvbIR|BY9DxR@=g|mh zQ*&0NTR!i-K&}b`cv9Gd>%b{j;NVACytwScx8WQ|iglJ#^NCAffdY|91Pxn%-(IZ> zsf?#=e<}bmvH&8;;HK7DPU@rMv?m>iM2T27Dl;=CpzV3Eh|o{WgHR9xJu&7ID3B03 zmrW{-wI|sFkt>%xNlx;BCq3`cI8Xj=)D=Q*u}F&E*%uwM9#vJ>;R>aoS+bWWLsV1; zR~w8cxVM|%U5)cRVag8$Q*RF)radm5h1oT1s3Inr_6>G#giyC*&4*k^(amD#MiFz9 zNO625=GI6yQMgY-3~pIfQxBF0yR{rY{ z{{~O?tXQ>Dz`#SMtQ2Vz!v;q+H%2cn^|+?XY;S7#J(G;_@x}{Os%E$reZi7#{zwDx zjGjxJZxjF%H;3efoamV0+`?&Q|sL=FZ;X*2(6R zgPlK~JUrOg{KM8!^CyS!_P`*R`b|)o-523tP^Y z;-_>JK1}EVUZWhtg=dQT>ao5g%#tD@Y6K7N)^OiJl3Ycf3Yvp>w^32c6iJU}Qz5BF zr5R9vs5yicIOzqt8T%=Wk*B8GdXoi}-8@+hb0S?X`-;k=hx%3dYH-~xk5Mrh6&S*P z2o@ohOW)f@c({G^!!}5MWA_nWxsKO>qoinB`@*zr(Jj+-yx)u$YK})IkDu&r9&PXK zQp{w0;M5z{ubLLI;%|89P*x-$J zW*7jCRym!>6s%2?wWuk$B@fAavwGw^5=fhW+o^`OZ7yktF}<`fGcrng>yFlaI_VH1MX#D5x1KG>YJmlI9x$vME8dwt~exScxwUb z^3;A2di`+<2~llATCgYVF}`Ll3j8dH*?3vS=2a`*6^veE`Xh=- z=Q8Cyg7`>YK67z|4@L1YwlWeoU!E3cunyivM zm2ZRQhuPzOvb8H8Moqs_*-RhI7^AUq0D~ZionHc)x|hj*N=?$&YBlccoRim{5Y))c ziSG}`%`+PcoP6(UibCN_s!u*i_vlD!Lng8`MSB`EF+Sj!q>#NWRiqYDOMe@+3<_R8;UMub5{Bh4~^x) z1U8`DNGuq#0F+MOqGzgb|0O5yLGVjXm7K~R%`oqckc&$ zN?c}>CvF{?LlSfivT&4M=ABbw0>><+cn!>xxT$Rxg~X}OrfFN2o#%}yl39^QkWzr$ z7_#ii*tTI;hSxLq<#WBmm7`V|?|d6GjD@wXLU--W8M-&yb#|0--t8IsE;eX*KIazI z7ES_{y_NmJRqRObiL6=}LER!16$Fcgn4TSpg4zy&uUbfLo9;q6shy89D!aCsSA~T^ zpDzGRw3@?MfD$${Sjm+Q8Ypn&0boatZp${cW54Rznrd@8FF2J0q7^HXOe04uo7m0f z-gn<2YJZE`4>R+Na}=q81=yhne0&E70=P>}IpjL0QxgKq+L|b)1$*_1S+>Y}%raBf zdIj;~698UjmG#+Aq0J`i-+4BVt|wj{my**fhad%|Rn?W|pEuzJse3f$OwKGQBjZdY zrb@aNH*slfUd@WRiCQ;>varherq7yWf;5xxzw6 zVpSrwwpT8sJ8X);Z);BvrjPnrH8gH->YBvkSO=&vantIF@YjYp9BTV&9z{k@_sN`>UvpoQ#>z@4?wILa$i`2w4#tIrmO>>X8 z0#WK_v_q+Z!AP}J4{(uRuyT&(`g&XSmNOYlp@=1no6bZ`Nptir6&x_i1}rSB!O6lx z?Ad&@@0m(lfk!Myxmu`5&;Xjqymn=;>;oU`PH$Kn@{svY!P^9{W`{{*(O4Sf(sT{3 zkuNq`c7^mVLJHbjzUo;bFu-zHO>9!N8AB&e`@HqI#q#@B*EhSyx zz$TK^okDNLsy?2TfoPghGN;`>NGm-%{V*8W6+1PGK0Elj4(?P`S!?DR)f{N>XKHs4 zL82X9F#@OZtS&jH>vKNXJfXz2>Lp!7pwlNMVQkiI$2ke3r9R~X^bo-V(;+AxZs0@uU)Q+LBUziYWoQC1nrv2Ou%*NY6cXUDltA?ZQEe zH4K1>;^=Hby7WJ|&wV522CC;&+#tM^47UubTOd0%`VznhHM$Hr_t3uss(=xJyplD6E=o`;9 zXN8Mu^~lBGqC@EeBrc#{Y^MeSApjd?6?Sos%v`*gyqB6pwVPqdlH2SJDR{MjSSEkn z;!ukU;ga>_B$=NJewVFHM+)}>IBR7a`P+;#s`_cu#EqRkk;Sa+&Zfg}4F(BTG#G@U z_W5>iI6c?Wfo3YGZP(CY8%>g+;|Z3weW%|cR&ru~%-{zUCfGKBCYM>G*n55VmY)hj z%{{Rr;S4O6S^AZu)4H?WPXPofFzOBPwr;FN9;N1?+M4LS=4~iDh5%VE04kPB)+Kc% z(fCYn<;z4#!hWlvn)oe*LWKmxV^rCzg4W7+!l^=6=I=>6T6~rt%tcTF<1PZl&cdz% zZf9*e(;rZ9Q1OM=wJo>6m7EIGtb%N(q<}^d9rGLg0NsbP&MGOiqyWvGr8LO}tAvw- zHAmyY)T~pvq=Pc!;rZ~?>PTQWVJPSMxmV#;s9uGa<(dfXCIX#n_sWj6%aO@AEuy?W zbvHuusV_>6U88~=$|oUNn!MPV-#qPNRGX71(Mujf$#_#p_Wm-e{Ye@jBODjDSU!Vs z1$Rg3pQ*@FeVR?$aYlNFztgYePU`R}CZXN|3Qdy?0fo@PL%geC;;sERnq{RZE^>+X;!-w6+PF zbbpRm3jM@V_Xar9hHE7{K(JY>(3Z}5?bKNZ<Dle=*)1IqwMJmL%y$8yz`f$cA~hkST&f(W5vFT~ zkF<=8D^=e7$ug{XurTEfB~5Eq_aS|t;=7Q+0ny4pVBabB$RhNSw}m0m6(li1Nh> zLgc3A74r5B995hefxruYRKg_llG^ukn~@@WGN`aPYlwRlUk!0bBrKZIq~AliSReb= z@d|E9KY2bpdvEnSLvm9|hrzj)9k(}1>5U^SMC=VcEKcugOxEfB)0V5H0*Aawq7QQc z84BHNJZlfKeV-SN%%c3rdYU2vWz1P)i&g{NNcGxe1V#rnt<}yrNk`3Kz(sZrC9I@A z_L9N{H%fIy&kIpoX!+r&Y}~u(pW>$6!A;T@ATMd^&_}sGO*vLD0IeQnd~>os)3QY1 zu;d7YdLY5zf`4)dRjkqD-lRWNSf$Yx2cUdQS!X51@wK@srkGKvb2E53;eq0O+-FKZ zk#d)wPL^b*sf(4T6WE*Cv5;Q)q*j*$RFURnNc((#nGGyvaVd+Jx!7^qS&Rt(yh2)sSyVnd0s)~ltqNvEa$+{Z5}GXN`IbKQb0bS{yL&!k&b)fWKCla;S_wBj{)R5J+ zZa!B!7PIe@s#XJFWIo`ZC1tR&jqZR4M^r&N#X0jJ1v!} zi2%NPPVaMjCh1uZ7un-#T4e3T3(uJ#I7W>s3DPVWhT+IPob6xP)uW!-aORArWs}Z2 zFw+tl(*aGZC@k3&9?P3OoegdZg~tG3%h|D&&QG+g7EUFe2S^DowVGYo-AK`6{b{CC zd&((K@FWUiR$bHuBK?Ib1QNN)jl$icI%s}Hc~m{wCUzSTBw2r)5r2nlKL1?cNA>;^lo+WLfHoVOPUS+Woqzyy~`@N`}L{62aW81?J zn0ghn#JCHWdursd$!_|I1!K*Swv-|vZ+2vclgQ?1CpOr*;7FrhVj?KI4EBRNWW||{ zB36^PJrvg?W4T$j#bdHKDa705)o;ESyDHEKTB!K?lx5xS9J@6ROb8w%j}L_5sVNaT z^BK`@Mmvo&e-`Fbk-cO+h1Wl`R@u)UZ?a64u=|B+g%q_y+O((v z!9^V^?#vV*MIvI&-=>S6`F`z=utvkI)H0kCS3ZsKDv7N;%giv!iBh-}Y_ig)nT~?p znwc+061Buthh|c#LP<37dN)sfq3P}-8X{}iSsN}L&l25VBNeVqY?+#wK zALb}d<~B;A#q>?FRc`oHhg%3G7L&Kys?1lZ}Ie zjXxGCWMPl$C*tuw{C4lazE0e(wbP~+;9eC4`ni_74$5#ga%&$qYYdPcvk(wdpNX;G zL`Er`ZR2t0`|f%F>{0JU7lkSC`||qNLV4O!ku8ZT*1OlsnLJY%AB%x)!FupctV#Dm zGTj2@=2R!X?IEQzraFlzwwr9MIWMY_pNX#Iuj7>;yQ6;h`FZceBdsF&+|Z8eN)qpm zM&0)(NPIi#y@OMIyt-mgbKhJ4q-SrxT$z+csARL)__TIUUZGe$va-k*S5_#8W6q*| z=mS~xs}-7KdT(`QjC4M=3Va2a2xbycZmN$vZ~I7gu&z5ll5p(C!sp1cpNMaT2_Uea z=w?CUwdUQQ11%I%VX7Al-dM>FBlD5&uWqR_;*|77|*51zg`ufiutC@!1x4ytL zkljjnB;WCwI6nAMdP15j9^ez*BE?fji2)0Q`c73 ztNDwD6m`))b|BZV>}OJ7K-ar}fm0rOw}(E+YkULOh`4eK;&0AS-+oMPyR~z;#b3YS z)O7OKyo0Z9b`_>akm)mw4R9V&UQ&%2=mXcR$xEUKcZfv;)sGwPJD7oFw>U>92mS*0 zOR3=G?kTKShq9g>{!_zTT+eQVz(p7pGE>Pa$RG@rtXClk~X7Y zYSMoj;n4KPIW_1hJ%}<53f6LA$>R$G{bfAW^f!Ew4}=+wpd<#Uf@+6TSN%9)_J|1* z>vJfYMnV+dGZ|{s%!7MmAqNT=L1YZr?a_l`j*<99F{`FgOD}acYLr%HxC*PDLM>g= zaJ^u{&J-_pW$dJqZ8iknt6uB+CWV$JwVId~Bc2N2Y5|Kj;t(5=FnE z;}OtdXL;P6Jxrax0~hWhqKjGDG=$e1xYb;#1m!93h-56LrW8y`Kk#57p~Clz-7wPN z3lREK^Cocv?k^!9U))UorF%01pLm7r&Z&qleE4)~)X7TPi!UmUAzfD-R`fqsSzfhj z+*J2vwY5rUra*`PY6a7|L>g-gS8(>pIlwlO|k6K_M z{`_9Rf}w_L&7epk)c_N9DoD}{r933x%h8anE-vV!aH!Q5EcT=oCB-#w>XhnsY$aG$ zP?iD?Ct(3;G_V;NPw}5cUELL>u&*4lLgNo`c|FucE;WAi3p_`>v_|=-^yeTJ9>#^} ztZCVjtFc(M)&e{k7noFUwDzD>6*$7;Dneq+2|zQ2kw(#?ZPb&`Od6^sq!k(2ou~Lo zDMn%!imX**j0@5@n|C%9amkBO4Dw^A)8tr#0#gW9E!!@XMQ|#F5st29n~5r(msF|i zA+7PQtsDxBbkU5_xNB^mdLP1%uUK>k zw^_p_2=Dxl(1&r7pe3-gSa2YON;erb<(1j9{Qfh2_M1B!hlh0AZ|@#$9X#IH+~OZc z2OHZ*AKHZvFPY7vT|B8A1Kl`dhP!2Xz;hT>Df<^WX()9jd?jaT>t21-opia!FHfal zbZ+MT7OfDvAT2@&zdX6_5IW6KC^b!G6h`=&qX zo_EfBjNQ$QJvvmN=tEcfHnj@^Ae)p^0yeNU5%}z%ks1UktlcaiKI~5z%!8qKj=i_K za*|-j2Z9ECfe$oZJbu-Gfdg2CpAFG-3cjU>9Y&~enKI>qY*zdhJRl$p6P~Y*KUE(J zOuNYtSJ$JCkv-Pp-4RyPwnJ*NbQ(U1QZYkOnUm510SCHHR#-T1p6SV084VZ;PA59w z6La_F>|oV@2;aC_j+8>~}Rab7~ zrjr2lm&qAD@tNFr4s}bAgJ;2LsM|(is|0+r8`&Jc9WL%c_`_3ZPP5{@bP2P_2D4lD zzuiCC#157=z0uQ#fbjR^0FSML7)eUy0(A8v{-1{io#*iW@|^W_6kSFzS-z4|j=vL3(T-&m4K|1>^D-a!0wT>dG#e0+a7sC+R#@AclqFWz=v z_b!VkxEit#Ec~?>KVwG?k0(P+1OhsK+8_J~FHU>{7*05q;vp0UgcS;;Jimn1|6&*( zLVi@S>x(1!UFlx3+81_#cf=N#&(Hg(IoIOkBrSsETBz}K?_PYKyfVX~tgZfy!#T)w zda}EDw7s{B%oVdXaP*~~(Sb*&z42HY(zVbZNJpzvZz(&y9F62N;g@Qka3hC}TAq8s zOf*k{(|3J7$#j*y_Q48J0iuOwm)ek_pMd~CeljZhKz38*3t{KQSK?ePKn+Si^082a z%D8U@@Nk@&AB6f;X0pY`V6U{6iHXpC(njiNsr8;g)b7o+OI`9rQjf~fXgdV|ln z5T)jHa&r8q6IGo;hvJ1(1xonOKAc+|-UMF$a_97R=QHcr&3-A05!u$UGBI`%f&!IQ zNn+|dS$$R3mi~FXghGW7Od_qnKu8j417Nxx>A$0Z;4Iy%;pO=m&h23v_2|htb5Gyd z5L>s`!I?Xx_?;qUX%QtsL3t!yJjp%ObOxdCh!j!0;+m9`ZT=pb1Mhe=y?f`hY-8)a zkJ4SniMam3^k1%xuzzcjSarnWgLeJgS*tRBnFPXQ@~g%Hh5aZ{!h3$*-rX zP|4tm^kL)d4%>+%vM*%4pxhyrYScf?j0?iM0&fXjAYFVq7?z&pKn6F_{rlcn`)^tY zu8;&ngq{MuV2#qdybZWK%w?@D4>V2vs=6}N5|-=@M(4tLLR4t0sjWufYk_-nH=zg;P8-a2AQ~N)--Ap65X(x%IGzG+6?o& zOId|L27DBa4k%XD>{&cYy4K$1geH+pXNs~Vi{MV2D{3oc^G1DzbYSEbzgB`X3!k6_ z4JXYQto%3~d?JX(x?6RCID%eb+@J;Idbq9-#AZ|oS~Y^lUh#S{oxqy~hVkoZ1rE$? zy#N{gr?0y&d!|0EaOY)qjtj`BQ%y#i8d~CzOw+_{r9~8o%d)x2U~GtDv7_&}grs@h zKE-w|1_K1O5t^H#x>VASI4`Cmv2{7Dk#TtFY}3R|cw>hdNZG;(BYIjTi!aSIIx*d3 zw(eM!JM;1%2jWS>NZl{kI3*fIqT!owt}^Ay4SPOJIoDEm=ynXF`qA^tN#|_XQsZ0As|D1L7(+hkw zpHG{6zq(P(ODY1nwm9Uv)4Q%N=wd$DrWFWobK`7*j3NUUK2QZ2A5^@;u*j-J6`4EU z8HHvaaG+3Svh+-^H+G{Q2`tTuZ;Nv4CF`3`FYy(tUH;*`#SRB&6}D*7CE+>#O+^3P zZ~VO-0yNjL81Z^=(%*0<&5mFHLf=N;?+d?n!j#kRdKb@oBYZzgDV@XXcOiX=?T&?y zd{d4_av;8J@FtLCCDDv7DF1G(tegz8qKoP`MxK@HraV3n1AHLXWl8xF(}%EyQIeYh zETw81HGSCVv`8?g-aeSqLagPC0q0#ci#R&~2pr^`o+<6fKAY2N;U=Boix{VGXI_ce z;>)ltmj$A5tinB$O#kYNfRCkjB@)`*0&VlB_`jBGAOmn?j)9DnY3_U9-!nGtJY8%L z4kb1+v#YCeN2(;uiWt0X4sR`%6ftLj%$dCnu6(flxMbprjYl0raD@`G8n`h|Is<_g z1*tPejp49>D}uf_yo_XYPcK$i(7w8#ky9ccNVGKOtK&J;RpNL{n#b+Q9?@Ql2uX9M z{W*`cijnQvf4N^_ry&Q>GWkV4f_*Txcu^WRch@?y^hI4v^iJV*DtV42Z4hAC!3}Qr z6j{n0rw;_O{9N!3IJtnPK6$_SqdZAMaC8#yH)Uz&t&^jTZwi>&+xk%lfg{mZO)S=; zL%ueohbBIYV*&_@U^l_)I>q@0S$Ha=Igg@I1 z)WK~naaeR`&g0Cs+$9%azf!-+Yb?TH+FFqk^lrhe-6JK)28(UwkHbr?%}5rqbm!xb zmtYvbM;ym+D6UN0CZE>Io>wsW!)Q2odB}#;DDu49!8C#;Nj2sn*?ShW6X=sOvrIM| z3_H(brJfhCb>x_94d8NB>o#j9TC86@&Z=&D=O%~DMB=__LB3F4x(O^AM3n~8k?bvP zGU>h?qp}2(i|~_kE|7<3^0DP~sUr3DxM!gsSe>N)awmnv+_-5|IvM)JhR74g(#e?K z8P-M_4%3<(e0`ZXikOJ$r9!D|S1#M8p1JN^*goanB={XP;h}DnSfdYiir%Wihz%i?&CvM#Hy=D5PCmun$LEb6dD0Pz+_>w$pSHo5A#4 z1m$=N3L|v7S`~UI(-Cq=rT*De2HYP@M5=qPff}@qF>;GU<-85eii@Lxu2xP?QX&oU zt}FvxQS5%`U893ZC{yU&1}87_EQV~U%Y~(PJ73#JLazD7Qn{$~inROa@(prb5WPJR z8Z9|z#t7L#5YRR31M0dp*g7wG7Fhd$OKv-Q)ra~7@r1}@lpB}@YVET18H+^Ky9hV5 z)LBo-8Fcm?me(n{L&W$M7=$*@VqV8N!Z6Cwb8I}x7FQyQ#lFJO&MPB#39Mf7t>wOH zS3wjuhYPH$Eo!D5>85!>_S(&W9Hh92km8P7`FbKi%XT9b`5_h*-#hKSkrMO1?W4ql zRshM6XfkNoEd(Vw%5b?O5(je}DsxI(zO#D#r>Em*pWIsg>fY1wC#&lp-@5hH9jY*C z3lw9SjKzEFlN>5S>(7txVkA?X!}~@)vXy3Ar*y^8HASJh?^I|xDNPeBCZcYdnBbAN zI$&G}pz0m>9F_$~XZRP)bp7KhREOFw%odzWMN;Y$XzIi#i$M1;fZ}gzd=4bMLV!?S z;b(kf8`|Gy)ybx3501oE#WP~ygAp~TdG)J*I$mCX_P2jo{p!o7%eQW=-};zDzDh!0 z=l|XMia(eC_Aj^c7Ffj|xTTw5;cdXlxKEO20($0;%!zqK<_=1_ON0$abD$gOhuAEl zVJR_akgER5v5oC-9j!4`Cmr#L1Uvmz9z$L^uB{=+#E4G>P9{X}I!jf{sB>^Wt7Ok1 z@*uZ)pN_%spYYeXIeT(^nXXKJ5iY;qJS_C`W9D6@|^F zGDC2Q#CyzKlETU6fdc7X**;p}0k)UE#}E8z>!FYAkNo%qq*A=vlAAW|yAxgZ;sa&h zHZUR^EM=93m#wHU#8-gC-iS&7ow|E2Yet16uCqja~8mx*8doDBqHYGw{#Cxu&L6M_MN0uFxW?JbxqKh5cf?5F_S$N2| zpTg0eEx&0Sset<4?%J0AWqY%u=8IwBd?YQ6p;!iRe9(pKjd&l}EUe5)@`DdZO0eyd zwvM>HFqTD@WU_LAHCT+!-GtZ5#vw;No#of~!0$ha#EXEMlYribp=gWvFW=_xyzEPWe#Gd&dh0 zeFLGRZbOV$tX)PcXD2fL{PJQT==6j$ZABQb46FvGTHQ` zJY!yK;w*cxtybfDnu1Ixzi%uu5%GrZ9Jj(?lcEtnlI%Kw3yp(JoSTZ(Bh_I`u|fhi z9V9~6I6BJ%xlHwNi>YT-PMf_f!hQIf5}8C+{nXjEDW2(5@Hu2gg^s}>VwnN3>OPoB$Xi`I3({BD*DqjYws_S3|B^46z zSQ!%kF^W5Sm7ZbD8yBA3 z9KWjYbjk~ANriJ3+gtX-Jfb*rR9R>fDxmBvQ~n`62V+>V5halS|B#-ULVj)O8QGff zX5~4yXKdlb@Pmo)Q=7^Ne}{^6?ZSM`t{?>sv9JxYJ{kB=T|ZNyU zxa+ufvee#jd>NHe$$JUFup!mE6l)Ok5+K(qjK?0aR(CZ5))H;V)tQ8ZgKK-fsU;jOxE1|W9(1)K*XY8 zP`}5$R{n|1pirSURRnCL5|)J6eN0ooWNf2%)?+;jXkB7s7E}hk>ai9<+$yh^h}f^G zR|+=^`bC4a-Db&CGiBJQrg>R7A&{Kr$wU`nWs!@`Qm@0;&^abzKw{Hn4AwgWS~k^u z_By^5e8g_3Z1Vq-I_{CK?1;&>f$XI8r!2K=)MIt8q?g%%K;LJ2L%W_F;2(_as_{Xu zg%FWYZdn>fnsM_Egbd^h88nf5yRo2|x9TK~W=QOdW>!F7T}?N<9g?BK%(6JHz;OiC z9iRu5{kM^`sj2JR118JZ&bw|xre)UwTOTkVv*5>Ixn3#Itm&0!>CD*g)ZPgT*P8RD zXmHQCrl4WfR({tJvkA+eC~3bpI$x{gsNpIDW1loG&(=G*tPt63cRGgH^(9i4c0p^f zgTMlk-O_j;-$C&MJ!G-YFBjlojsXB$Cc!mxFCH#YHVa`iUy}asv@mDUas_jCMdW#q2pFjAw)b+&h_wD(H_z;(tbD#?HKX*1(pHQbAb|E)}e4o||aiW%ep^wOaE}eVbIKq@Hb@MjN0$ zBjXa&@`t`hp&yj>EXEMc5r!bf7Ot=3U~9$IDDqIV`pQOa`Oi(+VDOM!B1I3BAv-jjM+hYV zm%PW$eMIe8x!}YaK1iBKp$r==bw&7x?q~oRk#Fn+76Gw=V@pI@iVE2Wyg!y1I{u{)&kUE%c9t9GGeuEwKz z#bLXKtCX5#u5@0Nx{tP?d>(8GBOdoI`f!orCaqG|1PBhdzT4j1+u6hIx5;axKzk7t zlZK1UBn{j!mF7crjgtu~1QFmus3NFyQM5k*$n-rn8V;SVG!9qFeV51~|VY@!Z6Pm}H*%8&g6tn9(j zA5(atKR6N1Kc@{P45WPpO4mvF1w^G=zsYLy^Ege!F*esD_ROzB8iCcc+Nv{lrux&d zros;!(~wjYDQDHhXCpok3i!&x`OnY>$S_mcoH|eBaEM=<)5L zJ(zq#vB(vm%I%^kr<5ybU`o%h)o(ntx6Xw`w290B)>c@a*6l5pt;mH_Yb>{BCS^2c z0&;6f1YPAQ=rm(G@&mM;kGD)Y3H;u=ALj`e-Qi$)7drM4Hk38PniglkBCX9WIUJMQ1}O2xsg-G?BrN# zYgJX7=z&nJrrO}RYOAQnT$lm3m=EL=EXJWtQ|<;isEWGmyk7udv6{2kwg@N7Db?Uw z!uH59V@{g>0b4}j=~0nNvN|a&=pCCT9ba8p_xiA2vQWE3p6L3@Q6>DQJP%JT4#`ge z4!YD;v`MN@5>N3CJO;E^q41#B$KdU6=4`t!!hp+R3?h1Tv{Ktu@V<5NX7YXkoJT_Z z8GbmX=ra!@Y?MTq?tb$#c65}J%1FRVjfsa`3)`;rZhv%f_tyH2w%;AdkCV=aa( z!#U(+X7F{aNwUSr-cm46iI4*$Kr)6$0Z;CiU z?Tyh150S4TB7wC?-!kPi=^6NqL423sr}}5rX0pXe+)+<#M0aJB`m#!uZ#9Do-IiPh zc;&%;*c;nzB`+o>eAvmC>}a-6-<8T{86 zI5|BD4R2I``-+yC({cp`d1=Ug1E*qZC1EasAjtaDoQ!r^zG)uFV4B|6!i=(-f45F@ zDgna*D{trGtGi(3$!o6uh_vG+dM#oUy9W%NhYikg7G@Pk@324RRwnat)4-!tuqu|w zSBf_`F@7%n@H4*;2z_eGO8x#O#<~d@K5;3Pn%%@5La9@f#cZ7 z+Re2dLnTX8c;Gc(HWxt{=bweR;SMC9TFtZLVywUcE%puP(oWs`8oT&ENZiqOCGJzA z;i80|=oz$<7THKVt#i?-R5nQ4=g#q;a3x!J?XM@#SkYjGtCv3qkqEEPPqaLX>h0N( z(sgVh(a6`Kx6AIU2covh%s%1A9)>bH`M!I88I$U>k?=wGyV#~);n{8uLkdeS!t3lK zU-XrAq687s+PJq(3*v7Pm6gJ=dg!To+gnl(&?=8oG6+LX3-V*oQ0{2SwP4dukEBCh zm+0n3`Gdi^0DCx0k*|Mnh^upm4m>NW1jhkdW^Grme9IFAz@I zLF;*X29X58w080d#fLoqu77q0|5XHKg-$>;UP`A*Dxa?X=d+)F|MRWY)%Bn5;y=g! z;MP~2)%8zq70V3e$a+-!L>62$Bzt`PxgP$pJ3+CpZy6mOdDCo-T!t)6dVJrJuil_H;=Psst@2wEF$Cwe;;> zerq|{OSSpe-1mignGlh3Zqu<92OqgWzCZH*<=*d#Z&W75Rp7F4)B2vztzHe!=~SqJ z)}r@fv&&r>4Y0LKgdI(=`Cq()tGie0vRP5K$dJQMRS|JIyd270QIxzL*wG`roveWG+x0@xSEffvvIm{b7+ANv2Z&>hSyB zIllU4`)H1@zWt{Bs3ZgDR2~|%J2W~HMK-r^U`R`ZzjOce$MH%34C$9V8$w_^_s2gD z@*_glx&N|1$&Ua==l-jg`k;QLGp-zMGnS|GGmk@J4i3^c{`%cZ;P zpDum%;G_Ga%kv)Y>Fwa78h;B2Xbw)X}@>MwG9U%%afQb)hl0*kg_5if#Jl?b0p86;Yv~LKoNTHI~=a_m`5N{|KoMF z!Fp#G6)?e!yA%8ifvnUMeh+c_5gHjV(_6oPCl36P!tzgRYn|=E>G|bZuQMKkmyZWH z$%abSqu~WZV(=A$mng3nCuC=B&89(2B7Xbg%cXCa0^L7df9&_DrC*!qVq^63lC|Xz z-$>1!r8{%9-$Pb4;#l6{!x7w{565R4=jRvQ!IT~lq+N$*iBX4d50L{pVMj;Zms6Vj z@Tx!2iiWA>QTO>auE`oq8k#ZKyDoY4y|Ml`r2n^m5856L&ky0^MQx1{TiO$3d35=t zt)*jNT%h!D{$}ta_0JylUUZSPD?X*Rkpdp%j={}ygfIp#1@#SW4v`)F*96pf{hRaQ z^X|EW%LbXic5rMDfjtm3F3b3jPdlftct;lU4`1G9aO7=AG!KMeC!M>W`Ri$PhPcFd zoxN(69NSp3xgcZgei$V)KIA|5?ZtcB!#qm3)4%9XmUw~JW$(+S|M=9WsV(Yly3fZr zSUy3!YFmIE8{fZE1>^o5ZkPYh-n(|UaU^NN-~B79b?7107AZ^Zo|z-b@y-Q3t40S3qdeG8u2lvv1$J5$=~p zWbqBUXJ1~SSIu}h2wVPyzZiJJ1CJml{qPu?)FzGvq?>bEsr0sD%zA+JT$*cb`QUK@ zfQl#gIS2lYr*iuAQ31i8E=6yQ7D?N!pSyTsa~3kEw9bS_hdH10E}wq)^vQkvBS_(< z8Dew;1s-KPfi1xd#DBbXbzAv^b^Q^=W-6c^g9YpclWkYoqfVZ@q%p$ zBNwQxU5^i~1A+@yNi{hNaCVOsq z01Eh}lw_AZUS3Q2SVJ$^B)MGo;F@;_$)?FJ&fGcK$r_5P1t=f@LKFz>50HFDaLHYu z*#Akmbqc6$xYH+d!>SyRP?-n6@~!`+#FZ^RmU{-4{$bmzn2#v1Skm*BMX(_Kdn zuF{aiz#rKf2EPhfEJqXV_dOh`X9XE0kp!+hD9}rg6_9l+0{LNMcpDMMcTlrmh(RPS z3=v#Y<49_;8b{IG`4efg&#cMIQX82cA$t^CEKwL1GJKIc($?ev_OErw2LWyzuRsAQ zPxwS3jm@XwoCUk*AUq}yJ(X_n{Bv{DQm2~Uw%SVm78h5#K6w&E_2tQ>10nvM_~@-& zL6rspf~`Wk2$W273|2I(W1PM!87m!OLz+qq2+h&`fdC-_0&f*=99vH?FeD*Z83bj^ zz5*r+=(_d{B2~BFcLwk1y~|x^)rVZ7U&_9810VvT$D9F7#3Qyg^~NzR9eea>O&YlC zC!YG@BBb?EeA>s>VcW&QLuI%g_3#I(B#b=mNjT2-0X+gb?89S?%f*Sq~SvXq9roif9qk+I$LJPyd1F&!{tjI7S{dqB&m=eH#sh-#OYll67M#KluIkX9Wyse^y{^i1XHc7>?1y;Z;==R=pa& zzgK+CLLn{FI?Z+}cF&L92Ho9_Scsjxgn8?g5? zT0UxH1Ym4ET?m8n$ogS9;>V5)w$qa+GpvMeA9w3skI;~T&Ftn_kB{iPc>xy!4ALA6 z3!|dqoa&BBJCroCk5yEu1xTTkNlC?hSwkmNq{B<-$Ub@vZ%mO8G~pJM5YG>Byl@9+ z1aZJxHlRO{kTN!af-F7~6n=>%7*4PPOg>G*P$#GJW#OS}@%6%5Y>7{)E|pOjnb75s}8 zUfUiBXbue@-=Gevh^ZR~@D#k4KA0bf+-W1bSgFBf@2&#`eKC#NaM*GAo^|mcy-Q;6 zM0_F%UDvqWlYLbId6n=|ebREEDBPY-FUtv7+!~9nIg$trvAjg6x*2CGhlt=6fbToe zv4ccW_>$r&E2C<+i{a%ab!?R{3O_vVkfXWgcyYpC|3kw=u zJQ%)4N^gXrMrm0!EX4}_`iZ!7RVgczeoEOPqP&2?umCOStUo|W-hvd&F3D~0e5OO~ z%BGtPesxfaQ*4KNX$ZuK`PT3*`-TUJg8_DejP%C(|KMJ^H*em)S=(^cl_zgL|J(WI zo6qOxZ{0U2$cw)G<6SY@ELvc^Eta>loxv7KnU7TIh0^>`p(e)_9e!zZEb3u#U+n}3 z$5YYt(5F1qIm#+NFt?Y zmu$&`s-w%*u2@_+^j&gr5JKe9#`5Gz1! z+a(SSuc6TB>Kfr)w7{Og=XFZ6KR$uu$l4(E+;cCgB~3R+qMG(~fhc$oOV%MphYhcY zvvfJ;0r!6l`-6@3Hv{o%Wp+&Z3!GEjL(ZCtqD&$icXm6#3bUghhabTEQdkue%snir zKRM&-KH(_Sv4H-gEQt`Nwr5-DVRQIReY>z`Gf*&h4Vou2h0>yVI>dBU_2~DM3I=*M{S9Qb22Gn+TSgNG|$o0{w~UfL8Opp0C(&6Th=67L=P7Kg1)Vt0j_a?bk^do5;jRimMZz~sgz&~N>Ma3 zbV)ZUz@z|XM+`A)x%b1t1!h5!W58-X2-{kKguH2K`iEP8D#*!Nau!I9V2y|86RZ+Y zum)8&QZMDuO$UTlqK9k3;7>g+aMEW8GZPqao#q7}DDaadF~lcPL-}-Y*w$h{ODcxx zq9tW2ONoe;SNxT#_JkhbBd~tZ$^`36{^lI3>=rWxi#WAO{gTxEnZuYJtN@@xp>({CDN?k zQHBls*$mb#h`7;&>=Q#h?xC2wKe>7O^^^PlZzWz=T)Eg}j#Gb?so0K2Q5i7*#4o0H zVF`XYo1{sQq`o`1ytF?u$Lpk;Y{W z@eL}*SshKvO?8kMhC<=YYXT$~G=v3|{EfQ;79Bl6+MWye9CV}PMcmT_CWyBx%rT`i zFyumjsfeyb!4g6d zf{t{UTOAqL(SnGaXaX$&ta&es6%KZa6U-l)V*;B~kArWv3U^fF9tw;_u|w%O5!BwQ4DI`;bl1B`jaq3uXFZZ((&jjPmLgk zB~pK?AOtgKkQzd?U3m8IV2BDc;UpT)&|!7GONtl*b^%Cq*ADbK)a zCM)(4G##B2lNs%pV>w4Xm4iMdUi)SX?pq+R(yu@C$Nf_ndN3+YV8sMM)(jde!gw2N zMPSpjm%L018cPDF;851Ea04NK7CIf*9vAThk0Trx~MWQhtoL(NyGf?d%O)MMg-iv|o&N7xKDb_1Lk_{MsX zCGQ09Oa~mw5;nLEz+y7`8xpb;vkL$5o`N6DjvAIk;rtLM!ts0P&P9czV_e%XcciDQ zhf;M_kuh31mS^wDMrU_J4&@qMjkkWtop}v%#5P98!^Hn&MvO;Cuwle(qR{cbiH!vN zYN~0*H!|WwWRD4@Nale{lH~GjFkAn$V#ft;XqLZCF80I2r-1s@}_pp$g%`sSJ`5b}}#&n2xJ9hY%CqXx#=O?fNDNqNjRd!qb%L(U3vW z`+VA}q%9lFdZ?~>HT*bFJonFtPz;9iqg*ZHVc2Y_Wmdpr%-8hiJ%@xgm6x z!1w-TUhs>sf?A{FM?z^_U2KbH3?5Mi<Dpbws+RR;_WB zCO$;9CBp_Ziuvx{^(0D>zG3<^)srsHzj1_E5^%lG+JHz7mLT#z#*q?= zFa#B0!gel3D2={}^X#Tma+!pAcq>m)Tdgr_0%i5{=@5|&QnV3PgtP$cC|MGgBGKL( znCVzwby*s%QW>0)04CyNBsM3a4C_RSQ>4Ld5K#?^xrW}t1RM}e-6#?jfoXBsy(09& zyNC8xunMF=L!>kUZSA;GR{tj`Q??oZ`>tck;Rg|AG!aauGMqs?#)nF~h*RaqOJE_bvRHNGw>Q0W~a!;L#!IDau}sPbLN51ZxBOR=m($; z2tbjHWDp}iubGtC0nB^nk(4O`{%3~Q#|ZA7y}u{v#nSIw7$ZyAJj;GdkPgdAG`Ds& zvw@t$p!a)u#B9LZ8DgW51K|O9bm!vMx)tB`MCHeIU4%5Fg9?QU$K(o7B?t(RI>4h` zf`@zvk|K}^_wS?7!@=>1*+kUjU2L+F@%r6+?Hh!I6f=ad0FeagNL`4O_Qlh9qH2cq zBSC0A*8i2sv*DQS%1Ze5UmKRYlEaKL08t=~MDN{4hezeAQhbj45o}1N0^QS*hs~W% z%s1T-&46(xpIOr>_!YUIdl*@0;rU>pWumu+q zw35~R6G#1G>hTf4uyTpukmiuVCe=$Ia060>+sROl(IRrWfeuj|{QC_S#^MapZ=Q&u z2(Fp!>omHM)Oa|^u^NZc?5=TdukGOo@zaR~ z5`ig@WWE)WRzU1lx_5ci!NyJK+awK;Htq_+YoD)Qmh0%1?2Yc5&#ptuYtlN}r`RR% zeefDVf3h(6nPyI6`17d3+?#7MIn8$YlT;uFV4;3Rwqkc<>E5C*|2AuRXxlts{D&96IMU?ijC-gyK+@Z z$a5B`a1*1Ng{o9fQDF;2pTCdOy>Sx_ni!X2{c?Y#CMy-1`k-c6NUSny6T=HC^jgg_|~3oCnej<Y58J?)4?O z2=80PG&YD4@iB&F@Day+DpkZZ9`cCt1Hzb<7#T)0zc_^da5(P)TC5;G=a!j9gL6-)G+&1AbN>DnN+51X(>S zB!0qkuXqDkgehhNlp!&Jc`lFqb-Xh?=j+2dB?8C;?^o>5xe|OHcn(maqimK)6Y!Y_ zBkbZAWr&Cp{;zIZSAxZsC7&AeK-M6VWt7O0q#*?Hh04}vouAN6d>QG8J1ABU=6t|q zklxV73A8b;_ zOOUx#SMfZ4lcT9LudlT1=t= z1G#yl^x(tg;yp(_PzH|_7L~9iAn8-h*XcCJ7hh1 zSVAhTKKYg=7~~lo`wuf=mcyyyeW7}p_YaD5ovc=!cSHirlnBK%zHo*fvDMDVFw`DW z9)wTa>XhT$D9jaM^t(}lyK`^A4|#K z5~$p{3fbh@DF?0aj^H+ev@w(!*6~JB^R#9{APE(_C|a}SaAvMVHbK@EEr~xiUKStD z8+IAw$6U8Cyi0+*nq5#aL2`1*CVNO|=?&Kr!koX<{C*-;Ub}GZVgfJsmf$##j^MSgO9oTl& zp_iSJoWo;)+loKq!qEA|TC7UQGEvQ`tWiw-TV*L;zj^CRTfqu4n^<)%o8O$qqJFzM z%^hP~tTQgsW^zOH_zjOc+mLo5Zv4jnO3ub<4_u@Z`A+>4d5AK1vDFXZo8e5KiMI}E zs&NfP&cja@zqN`@c0HArq>t^nb31$5AN#|>T;r6hiIBdf@67{7I0%SO+Cdv`NwFps zzv+Dgh?92@koVfq{$JHwzoNlr-j2iZ(V&~LiuJbz`{(;>ZxDr-OHTaH1W4QY`g=dt z7!0r@jKGC|If4Q2dtVtXcIA!HI-BA%a#CFzf-;BaARkQu;EtPs8(Gd{HXwvoxZx+m zIMQT1zB>**&RPp&kbvpELdgP=-bQ0D*Q?fTP27{#A;%F!>4v*0m{$084{}H*IJ5D@ z38bIzLPXPi$s`h4Vsg*h;>#;zZJsO8Rwu5~i_zrZ-;}=K8Cj#!G72@TFtY@8%bnj3 zBL~^yWyT5o2n1AkICg`CpnUV_QT)B<`eA%&&b0vBSuqBpC#5GCTT7o3(UpLzbS0OoY2oMrl0{X(qaEV|m8)BD3k&-S z=*uAeYGZQ&COmcg^;^5+iyY$ag^PZF5ZwYNJe2$wIdXBEm-lIvOm0M)xn{9P6T3$&AMBpPVfTvD`P>J^#Na6Gv)FLNUnM*$uIfnTN9HgXlE z`>}L8AHdW5w>)qu*qqjltdk0~clBOW5v61;?_Da39lKY&X5%wr^tVrr+O789_M-@| z?%~JI@3#kA&v3n7YrBm{Bdpgvyt{YM+Q*Z&A?3%MwTdT_{VhMn%Nj7oXQU6lEsjA@ z!XMEqWYw>Q@O7rA@qi*^JlP`?=MDr!fjkYT0iiQ`osh(<8;0|ZyZz6+$zW$R8jjHF zpZ|ca1sD+ZE~}MV%p(8btA_nO2QnVu7efFWq6Ri~$Bhehsq=VcKo>gY@qrP9+N4JC(?&20$(pA4=iT;wZ40lqi zOy4A2T%rKVNMu2Z3wJ4oFm(Br!bA~$?u|B|R&}#Q5;by!@c&}t@sxF>)2jo zPIbWanrgu3Zoc%diG@{t4`yBIUglq-64$IrdU!oydUcjfN=^hJ~}Ys z-+8B~7%)2E6TSB*EI9g&_bJP*K;c(4E&#^5QAz25cd2@pUbL3tRu6bTMz)A+`V#lr z`rAG5w>H<5^Wqe;{-R!an)W={zJ%CX8z|t2qE{Juto#=C-^dDoLv{xXrKT=GLGf} zAbw&ta!XAmWgi&SONBCz=7i&-0&V*OmGZrs3*V(u=?(vz51NWx8qa+pd|PhrwQI~? zx?4yhS6by=IrxD?N76{ZOGAI;p{x)59f_-vYo0zLiRRSa`deHEWe&TDO7DHxx}-+< z7Tj(l<{VID+=!dPwN}AlvDZLob&fbCC>Tw*3z1@x;xBMB(|KQR!+~rVbdPB!wNHL% zz1nNxqGyp9@we$0M>{X}6 zCCn{20H^TwZd(@BzDG2!Dhp955tD`?8EtAjwianYGXVuwqT&`lSKsw{aAD~aMaE=w zgWUs>z_P#{Mtg(vVM$NHK2bs7I1y*(0wx?1oOv9NlHR}<$m17;MbMR}*m&b_Vnh-m zLqhRj$LqXb#U)1|(FroY5uOrwBlz{<6NvW{pZ6eh~k=z@f$(cHNZ%W9K68&{?OZm&%}UsNUe+c z5<_@_NGs|qBl+ZVvNr#;RWZU_Ab*qSr{i^GurUpi8E)}D5G4y6|=cw zhb8)*83L#_mok|(pi2ehMi9#PP=QVrZj4CU4_Yzo8jT@+C{{kYgSQmqbHSv!!+cfh z&IZ1`qv`QLElKP$oI&I&UIYw$UFT{#Gb*Q4SL6|<&ZB|nL`6za;#UVjq5iqpMIcM8 z3F&ln1KjxkAOf^CF?WAZa|Adb)uEDE7E(g-+n`&(mc9wMjGq%sF5A5kcI8hdu1f@n& zN$|}bTV$P24~0SXu|;;=-F)i6ImF{gtG>TF8#BC71}T12Vpp}#f=ac-t4!rG1ILb7 zCZ0w-0g>p_mhM$q8>TWIM0v*q<;S>Q1}a$IKK75q+75_K?O)Sw67G~IBY!x=M%Azh z!A!#D<_W%27{h1$WU?rHrbe#E@8;9q@B#sSQ66g&fMk47R&>qmn54KZf_jh3yc)t= zi$|UJ8VSrP{cWCGj?0)jxS{~l@_>e*vOMBCemaH~hXjRk} ztrX4fPH#}EKPWPI%WPGGLN~2LAs6C9M?0TkB(ax=d3n~`0*)Nd1mPb$6O=f2-V&k= z_W|jM>PSWWC>WEJz&!C?qakOcyPn2>)7vp4J4vnP+0orZYbCgOfUDMnJC}9n3>Xk& zw1F>d3xScZ@8Ir#^?=gz^^;DsusYnv5N@IBiOuWss*Jz z$SwvW%OwXzy3m>`o=Wvke{+-E6^paAx&Xed4h$U%BI}~}Oe3UW4~-6%q+tqlpeFxv z>}v;mPF{0GW32kZisbfm$|WA#(khTtOsAq;1hg8Bt%Jh@Wb#@^M>^ zul5f960tr6OmLs+bW*fO5;b}^ARzG!h^t(bLkFX?pV3HSi=LQv7Qtyx@jbs$*zDZv zF4Lx~=4I;veZElExn(JK0ggFWG37*3Cf)j+alZDha|JAcPNz$tuT%m#SUFPtQe-7M zu8$`8@qaGdl=glV+?d#8VH`_zkc?cfLNrhqG)JA{FcxyE0>dw@CnVO_P{8;#kryQ& zni6TreF+E(3Zroh!;hPnwB+W#$dGM2r6($S@WvjDMbLOn6FQJ!nHRkV)ny1ivD)7=#jtish{ZKXzvK zr0O3+R;no|=S<|-j$%?AhoiwZYekw^AtGKaG)-tVt@lN!_l1 zF9TA1(7_~TnvJLcIb#&bL+fz~Tb^43f1w(R=1gMDrN^DQDUbX@wXH=#$Lo;c@c+ly z&-GBSg6J0OgxpJ%Btog~bDiRWo(9ebla2NE$@-R<&(~K-?rbCjK?Sj#JK8JNOUa%) zyWd_E0qFycu|BXT0&6DXJD$fsk_uXey-deb8^g6)H#X>OS;A1l2&Fj?lJCSZEukadr;cf_9ruvd)uH|1!A2`d)CSoCr4#sSF#eoY+ec(=s=` za}9zEnv09Cv2Mesp=M~V7(ezJG2wEOw$xHY11N-W@+d5wW{PZDXO1MQ$i0@3GB<%1 z$W&-8OsMPIBC8{zzJaxZiaexZV`j$5MF>qxt1V;_+7qh97=pbcMAFpSIn}zRI>yXv zJsMw&GMdyoIgfaKE6aBC^IOS5cDpC2F@n)-3;&xik;#rSFYO()cV6wH2rd@LqVgzZ zKw0gRo&RX>96UdYjZ!yp`rO`&m-{R`_8&O?kSNOV5Kl9IGT`64l4u1?Lu$}&p^yoGXYmsDs}*jDIDyzMe*O1v4!!mOzJ zD;HDdh5{pVFo_pr86|qan*b5|OnoG&w}T^;MZIjjYPAnv#X3KIFODXXK8*YBhTvd^ z7QIvvevM~h7&+J)U|14~$F&pY5zbV=6xe^+9ZD7nQAUsGhDV-g7|+WX5kej{A`HWC zq)fm6WtrjvqD~LUZu_tTtzB){*~bZMbj(2eB-x)$nj1dFBscMtj9+;mElhUKgPF_B z<-@8fVHdf|-RzMok3;Cf-Tr7i*->9)4>sWF965m__-RxfS}$P+N7J$F5QbpNv4Lz-B9$7JPmA*mw7a@#7l7awHD%KYLj|%X03r5Sg(R_L#7dr4 z#Nr~;n*X67tPWUfQYIp;s+I#sc=8EsA=MKm7Uy9Lf2RixC~-+#IF#t0smjN+j#+e71~N}A zqjE$FSvWF8%>ki(>0h>S<1)pbWj$FeC*0{$MPDI+CmDIIN-!98P^#!Pdo@*7K8=bn zi_6wJzc8@rv>2$33de2v_@^iBA4fx2bdm&{9fE=KW0X#E+b0mBy$-@-;&dBuDK?r$ z&53_3>q^JR7$G-Qm9?qx&b(?)sHoUj0GDYkSe9y8#dgyC7MU1i&88z>a2AezT{w@| z0`&mu8wr4s!Ii!jn~c#+&SLZiho{Go)~B&9b&QX3s9lJRqTh!AjSXX6Mf+LKSMNF7<0Awn2k$mEbTab-$v3d}A?A(LTDP`NG$6tG_ed7onE%TYjk_mV0`kaht%DjFUNPJN{V6WPCn8*n;Eh&3dSrV zy?i!QgX-G^bG9WgJ@HW9S@ zC4d;WJyN9v;2GxywJn{0jPs50u24#W1Zt0iXT)+U#hK_*4&shO6-zy;?Q=9$j3HXo zflqzOD^0>EEfJo`rVs=DWry4HK2&%xhC%o?2E$EK)jBg%MkLAhNm{|M)_*sE&Dyrg zW&Hz(Qe@$jWw1^4OX5Fz*c}uOIz9ip%l77f^ru?$KZ_p1Pb#i*R+_JJOF+|ztY>?* z*ceUECwrpdW6W#Xr%C_`@2BrFChCp?<+s&6Ai8g&89FJ9XjTFq>_ze)g#^Tc%84kN zS-!q46$q~QAX*k|lAW~qRiMO#)qVUmaJusp7wo=5A4MJc{80#M88nBT)vrJr2;@h| z9Hzke>&hvODDdUG5tNPrWP7u;PhKDGz;CP7mNO1jsKqR?5N+YNCkzG(BRm6szpb}v#VIdjhs($WA6Jo(G3!`CnQ z4LkAdoU~hiS;3Kf70q58Rz!?!QB*+e=dKzM(MIw1h-gnFWSs_fW2z9mgo%>C$IozM zn`d&O-F(4(|J6mza^u=fEjK+(Hqkj0&Um2&)u!igr^l0Z^dUUO4G16^?CknA{?YH# z9*FC9sweZj|H;1+S{$ZBL!f3I!Gr(>n;^T#s9Eu>><_wZ8MLC_L$HpL7reE7J;H^H z^~SwWUPO!}t@I%A%JNDhl zCEHqTtpC@49={pA8NB^!?Z0T6tA;=uN={G_`>I&906D_1TR}qD(Fh=KwW+&92D)VA zI-(WLQ*A)tp#g|7$)=W?jvNzlNKOtG-AWlWvxQ-Iu+(Jm*bCv?VV@{RXCvPgBYF`= z5i2-nNYENmWhf}Yf0S*_OK&&4r2W~&6Vfq`#mhD&DxY8k$tbpIl?FoO%4!FR0Z;&C zEvevkwm*Z7I!IthGo^BY5cq~dMfwC?Iq6O252CC23jO;c_LUS9$Iu%O-gZcMB%x~) z&oT_PesCoD739*+<<+EK_Akvweg;2z#n`Y%KqNVbhH(0ylv)s(!Apxt)MVMpjzUVQ z1fYjrngYm^2Wtp6Wg5;>tBq$6M$Jg1`79MBDGJ;3g5v`_LwQcKy8rER8`_D&r= zgUA~Q0mcwdWHw!$yy!v36C%2wYC^&uS9RfCeKi<>F@mP%dOTVrO93B^IFBl~E~8*A zA(-kmyD3tyx$(pXU>TnRbS$~OE#e|@_M(@tq~yq12NBinDcny_|G~$MEd54qr%Vt- z7$#3l20T~s_fprw^PuU3I>3G0uvC0aP>8@%(lr5t__FcK@OW$pBo1@&3ls(>4)kXn zfWRLhQhr27mxxve*Oxw)iC;raoYqa}7IAErGl%ogmHSe75=a(iZ(Lko4qRAJ%sv0~ zF9mXxcuEC8NEg_PQBMaKN2T~I0W0fEBDGUt)?>8DUyNO+2Im?0^*Q_TUh(xk6kn?u zdH;{=G!tgNvWXW+_UnJVzb>H(Tc2b2TJlNK^yq3ig>1O{K}=53CoY0vVVV*bqV455 zzzIm_xZbXz+n6H8nL@NsoV=D1xLVm%*?IZOwFO>tGf3rB5WC3nltMJ2fo~K`lfnjy zXvjak{3xV8A15JQPBUNah?l9b3_`eVAAT`p+pIiJSSRs2RB)r4>@-?aT!Aag&dR$i+L#CW-h9%C*LgNOWyZWY5Wa5;R4HK28;VzjL%F-40Y2$#DS6 zZXu^gM8EHhx9$3$p!}tgi!@B2R>UnPd+pK%8Kq&}N3o$A&szrZM0cIm&TtKJ}_uOyW7&8v}dBr!TWwdVa|aouO^)3lEisAO+y zqx|zK5Q{hU7gQp00HqI#%Jkqx zi;F4FsUi?|PIW9O%p{+hPn6zDs&!kl8STzH&8jY*W)(%kR2yY^O=Z%ITx$dA7GxD{ zHZ3-ZHrNY+DZ(i!cicPJ-#gej`M&*PpT_gFk3y}tF4n~ur z@{l%O;-8`SQVI=!1Bp{^N-eUp;-!GqQ+uhv#J>}JDY3B~Y~GfyYMON3!G9^(TO6$* zF8dRJs3_}yq;CttP6*WJcBq@-{@F-PTKR& ze8(72^UV>(In0Ehyf18htf8J5KebXVeh62&4M$zvaX9Lq#TMW?$-+e(3(^tD#*qwu z*&Gg#G8L);4czo3%bX3Fu44SbP!~6oSAT0strq9b0B0^QdQRK?4uo;p>JOgDNhCF^ z;lC(k?PF?n5>PEo1Rj)YN@i>7ERpNl9tl|%&|cRczebVCPrKQa4q{CTwk8{M$`aqU1*LuDRvHb5s|> zL%HK7F+Ds$vjzxU5GVIQqQygjV-jkL2TY!Sez+|qMDTedpF-s(U)n~al@cwI`d>n% z%ZU|)fWwsZcJl*D(UAutr!j)?i>LLkkRavo3IWQYi{D4s(l)Goki8r9FpRwB&cOI# zoQD_bh=sO1nh#qqd?$f2h2W{WMp?Fq<7r++C}-qO(nJ%@8Ada_fZ{Hy^1ieD~XAT*lk-d<$%3l*y_IVnb;E-IuQ8>%Vqx3lSTl`@TprJn@d*hxcSsA zIp_K`695a}odxT6G`u*1m3TI}9xZu`)_hf|h;9+od>yaN0*=4!x8QU+uKEzjuG~pQ9i5 z+WN)LK9hH7K7@buwe6Ptw3GuUg|hW4-oP>7yAb))9s_;neot{SWuWLm4kbo>Nt!2? z1?5(=raWnfKnYxiWRKTl7FmN}&b8#xbdA1Tibu)gqz&lUNHNw7XwYDh@*-XNMlaGp zXXAFf$hZmVT076DLc-m0mFhYuc64kUI3TGQqRu-FOPQTk4da#6*t|~1OPH7%M)xfdL;VtGgh8zh||3nZykycTaoDn_|EYpRL za$7ni2nU?Lagjv*s*99?r-~%m|5#Sd5)-G|xv?rIL{Ve~MFe_6!qNBj!XkQTrnoTJ zG)%pSyohEqiIIFYpF>gI5GONS5tWd@t;mcB=vtIFlN&lxvXY$i_&L!vQ$#~V_N8%@ zvGLypV{8<3zm>Uv^r?>`{WRhay*X zsD<6zZcx>}7Q5uPpnG#GR|M|{t>-D~NQFbRu z*WH07IiF*nDvbks(W$mN~hl+K6FnZ&dGDOt`4Kkigx+ZSv0)`z&IVESqmJOqZG4|I9+BU zGizXKh-E${6`XLSw)=%wsZM}z!y=r@JxoZUCamEQTNBYp$N-4HK#aZIMZoW)`!QyG z0j0cQi`5I0to%qxg`Kbqe{Q;Fc{a0RlVoCA92@LzSrk=XpgBef7~yECEJ86YZd}Oe z54J*4=>+;hBWZVK1LuLdV0{2X1SHTE&>#Ds91aeEoqg_I6`(rmi}|mF3UaEajMDb2 z>{5?hb#Bs35KV6&E`yCzGG~O80Z~f2rJH!nj^{Sg@D6&*MW=AAxf~MsIeE?*_0__P zI2#dh1^|-&E}W5n|8B~Axu=GXx$3kkyQ|I&2-+EdR_JQn&ZSe+>Hf-bpb|=>L}9Gb zy|Jl^!UZgBxVfVh@}dmonXklmtlb%)w=Hafh+r; z&4ix2OXI2&Vyl$lC>OQVK4{*lTY!u*yc^hKlc5SZoa8DldLMfiyvm1SPs})L7`4>a z>}m5;16alayryA=3uG0jLsQBQ!X)gIi#r;l1)RwBp^1ExlNCJU7E;`id~!o-p@n1t z(7G`U=M*^(x9Bjsc@|8tO*Ay;REsBgcVrGNQQ&z&NOX&9>B`elqlflP1Q%#=C+)K% zK!M#s<7$K$+0aFP=qn{L@Mn6%=aGF0bF2m%j3JxGpa8NK5d@c#@ zs&VFvEXpYHLp7G1KFuDj)NC%nO0>E$7_sfxb;!GMjs9zP1K5jWB_+|DoF5{oNqP&n zVIc1UEL?0(-j9aY@7}Y{l8uo;DZ@eMLQU|&aIh&y^t5}5@xO;?^XXJFwN*gwyAx-0 z%8Yq3M_OvP*GFVPf=Knt8r2;t8JI~r)rVoggK|xK>0z60gMED9r!oia=#PJDf*Q%e z^6b+hFg8_S0Cl2tFag{i5wdoMt$l~r(r{0DWrnY=wNgTRk7%u&5YqKcp{Me~SUNTv zt!qe|i9R2WeWvB^{WFS?HSVif8!t9hX?JwgV%!8_V=$2f8>`t|FPHB_=&G9 z%Irxkavgv%4t%0E-yqD-Z$?AO`#2zh2)8e>UqKLSKHP9W`E;N0@X z@azMYB7)^{p)F2iCsjR=9a2f+S6}Qpo zu>^IL=oW5D$dR>wCy(pWVJ{KJegU@ZcnnF5!5$g+$0x&2a_4(ce6!}<+vRo&Eu_0P zZ8^qharAZyMuVna(};uu^&QW>XwRx1awJd?e+ zW0{^|Q~fd%dP844{xtlpB~&{PVS1cQXZakNR8S~=^DIf zN$TK}XUbcX6D__%m8LHN5ik<6@Pej1UV6|y$m0xtj~LK6JjXv8H*=lImCeZT&OoYG z%7kJ4^w5Rj+p&|qNrcSvi`Nl~<6o>E*9(f@RVL0=zC)7lozIbIn^^@{E^WL0{F=A0 zO+)(4bHzt0QiLNSL#{S6&juE#vKHa8w_8A-=m4yc=PGPi-1<(DtwM<{q?x>E?GCs<8B|)@p^!@8fS#2U`{qh@B`^Q^@}l_I8;#+B ze0%4?*4KBwd-}zb(KWid_9g{>9E=}*9{0b!^L{e9dUXH(r%#`@KK*HHIC^*g;n!b3 zxc?t7_K(mC|FW~m4e1QddUpz*S^f6Ti<=|t8$aXyM}wh1QmxPL56|S@rEl+SZQa-Z zFO0GEdECA8^os)jd(!QV&qn<#I!8|#Mz$g0P{|!FoUq#&A)|HOzvzxFfP92{+n>tM zY!%yTQQ`;^$fzp?*M7hk{XriQ0>oa1SIjwYJ-HuG{)NKR`+RnB-R*5&b#NwbGQ z`|aL%GQR)EC-=)g)xB`|u{W6KdA94G=lOs9_jPY{v-OX0bCBFCf1K;3kA0jCY!2A- z);@wq=Ue^3Sq3mg)*m)Ei@kwhSfXE_-Vf2hRyWh{H1OQJniRX&gENwa^KkFcXgGUc ze1h}h@vgqD8)Cx{B@nd9}p9?|FpX|Mv2WGVB3*cy)4OtX-okR&fU;!=J!NqC&14##VMx)LRVr6r$>@qxNHfo-af)5&9ql4f`F_Hu5ZTCY9c=y4L_k|{|H4j z{qz3W(c}g^zcA|pG~wORaMC+t0s`fz@xbqUy@|${)-Q)Yt@93BdP~4mzn6acxAfz` z#~(lSPCxX~*VMl~kGS~z{xUt=aUvb1v`nXfY9lH@oRZR#zexWb3GAVH1HE;SonAO$ z?_#+pzMLgInfRf0QZ&4?`HgGGwRJYe`DVuU47r@d_45kPZ>)u(HE@9uv_Qnpq(~IO z2GOmT9Xj?SCshEk7=dG;Oj|{Si1V?aftd=}JbcDj+_*y+*U3*;w&I>X{`#%BHtU|meqtkvD*)mzZ4`(mIorkCY0O|jlI(Hix z(n;^fewV>=WQ(?ehf@g9g}Hbx1+2>Eb`>z1=(@{nOVq}Qc+jQ(X7$iGz^WanKOBpI z9V<18e*Bm!asFuY0dkh)%k@u!UZ&>CD*jB+p8?Ey$S+@^eZs5u-xCip#}20TECOuD zpVoB-FEMPwYM4$;4j;ovB~+Xoi8F$(9!yRYyOA?>JF)&>Z zJsK1!jI0yzrd%Z->VTpFB%0~10&{7ZMTiTBDlZs9g&5%Wc1G{&w=2d?7KkKf ztvTDbGvghYGA1oc=qjU@#2o!my_OqqT}z!Z0yZ>8bbmJP7MH!r`=RTXqLf*XG<^-m z8AJfI?;ZY2Q6QDEk-DlHEtrbpkT-9)M(<#8y`kyvT7tz2x-)dT?`QkA-B>9WJ8WY%_qP2MN1%-5le1MK1=eJq^xZUhm_rgR zZXzjR!3w~d-t&lbs(AwySY-Wx1a&9U;I!AqB-3UDIY7T37f0?CA3GP<(%WY$IidyI z`l}w!VGn+g=Oxb)?_V{z9<9>BEv{jbYtd&CugzFQ+b_ja#4@iAHzijqo=jg!FD?mu zpLFHdNB>m8e7S?7Pz=G!P?^%vNhF=t%YAC&#UV!6>maU?5`S(GmJGp^6pzeErZm6% z6@(K_Zwb9X@O;}~*mx*g3NupYe95!FbPW>n&%pyJ0a@`(0m2LTzzQD<0Ud;aUk4F> zMy-1F=UHxfI6qwKXl&z_{ouk`)*gD!P+=q?$QTP6BPfedOCVK*uKpl&S(dx8F))vU zBg=o2J8A7#l2u(yKuS~K>5q+j7w5`YArzlcZ@L((Rx^$atx@fMvpbyj4s#ZFIPwBo z?T7$5%A1YHgwAZG5wphBZt|U5ssVTg*-6l06cDC-$*W%Qt@{{CU6rlWe@bsl2~C|j zfG4byduGf<7-H!qv-+1@-YA#Dj2N_T30<`yE@L>r7b+^FgmM;kJh*-RId z`t4w-8ZMznIm{Hysf4Z5)rs3N%N8UrDS*xr^h`AqMAhwp)1Yxip?21jFxKzGP1ZnG zYdprOzBUBJujBW&zu!B$Wv^Gb1UwR1O5Ter*DzX4W2PsPW1+;t%L$Gg)7y**%Pap- zcKiakX9d4YrKvWeD-fA4=)HsZ@;;?b0AX$b1mLo2pHH)g*%Lf^b0D!jRXxUKwE5>w zgDFol_*LC=2Kmis}?4D&x-9 zq6A9h)g)G*^VEBk6H_Y;k}3B;?~k#%;V0DlYancv5U?Nt$mLxhw&Mtr)M%$b{pi8Y zkGIU-KITLlVWlkYM-D1K_K3nlO~)@98KbvZj*P8oJc5BpEX=~vW+|kgIcAW{CKzgi zLF9ED8me8RZdtSt(y^>ragmOpMp&toPdft?-fK2Q_x;f$L_zh>jW_FGj^9YwEL3zb z>kYV$BQUYgG5)Ku5tB>c0d0$jP@cQ&dRaAy6wWGgIk{|5COf+W=UZ8Cw{wP+*3Gh9 zvhzc0|CZT=Il$oT#Tymr!m^{x(t6u9(TF51vCyNTj3%QQz%Y569;0dQ5TrwTfl!q^ z7XFT_ZK9!MT0EKFS}q-ltnP*yqGa;xH0l8an?Hm$N(R4yb&SgeDMoBbNt}aRJ~dpT zY1$uJul8Ec_IE_haD6ie6-UQK5dP96u>VGbf@uQBatq_=2E9g7z>bjOOt5&2<)TCRc!@;uJ!lLQ7tTE2?OjMrgUj{)Fx7O8Q2<{k&vUH*|bgUznl`8X4&1lvy zoh%hWBVx?wy5-=O0BK@PqQ~xeH>3STiVm)Y4O+4s{b8xr_(&+;&n}}?ps``(SF0Nb zuUrks{!K8=AB+Ffx$1*!s3*Mqji8a3#ScLv${E909gSTzQ%Sv2Te@zMqMIAM5~6Ie zc;Y}+eVYoWl5UiPdl|*&*HYHLPD)eFT6|W6Y!V^f&{!>zkjA?sGyw~e+Vqe_Xh}1h zfE*#U8g!)Lu~bg$6cpels4>oLJg9eIikD>Q0{kgM_9m9GjKqz$5kW{UPp6>o9i8kwN6+oO?UvlO;ZZ#0g@Z#hwe>HN!4lvZeURJ} zx1nTQWTCgIW=CLbf?RA>FAH+iMVcn&{rS$$;; zam)J3nS3?u?(IXz3idP!e|-%nHUIDHoujtqVoJaLWhejr%fp%%cG2AVD87e=+l%IN z+bq8Ud@ku9OfR!#BS{8$yM0m^RQWX7=Ud0Vl4C$h!qtm=a8DYsr24o-$JtRbrodaJrv(8Rlo z;c4f>O&+1r;ysQMd50)B2Nrer2PuYJXWjv#a<)&Ox@|^bGo@=Zc95^C=*29{)FC$u z47k+qNiad8WyKnzYKCdWvV|VByb2Z;Px{)IxJMy^+{)H~X{qZ0s~=rMn=0B{XJ z5&?4yaQ@hzyvJ4t*!bm_I9sUEI2-m@;uUTnHYYih7$Ogid zgzJ{bS*_H)dL`8@yRJS;l>4&!O3Qj~SzA$bP`sPq$(u$ds7hftv+YEY*av6mxe$@h z1j_`ZFz<3iRUI+EMRCAXW+b30*VX5g9D4_up_XMivgif%JUFNYB!`E*^+)!`r4-i} zXlBM+(rie{>X_kIpZjqw`A&O02cfcE@IYJ26j5rT1*HgQ zuzwPY*Ky8a&=q+cCz|m+oC;Q?O5CF27x{3Ayv}%oN#dC)-7s#M1G8ZovSBb$4638D zhg}*~K=<{-SPfbTw66NNqH>yX>jsg*1vniBm(ZDsi$5#2Exwb7ExJn+WZeZ)epWRa z&F+jvkuHf!=Noe0ozy@96srw(g(v>^3uH0j%O#>g_lhbvW%H7{1gP-nfC#X-Q~^5j-a; z)`7od79P&GL04aNP9a7=A0JJsHlQiZ2$wZ2I}(Yb3$7N%k$fQa1&@OLfAAlY6o`eX##>cR8u14aEsIOrKZmhs- zi32{f&ea464CQQz+x9+!t+!0#H04%F-D-gPs6Y~2b!KC7fUETk`k}Qg{RU!x!Ggu& z0A&EoW_XOEvJ~%mjH8(io$7_Kr4MzT+8xVb&nVIFWPWNmF}J3VGX zWP8(M>-y}RN2gH+;!uCAyldG<$|S6?2gtc=nv(+A_c`3$(t#0JhPz@;(BNu z-JoFpQvEv%cUETwA6Wz6lU=}pHMCMe2?XR~K$-JV_aP~e_LjWc+#>D#+}=5OeuN)g`iA|g zt?Lh&KnfyVs9MA?6N6|DM%_Fm&<%EB=T&)3LVF_BXw}5gpEQ^)5`lax^OPP)9O4FYbg57a1h(wb*oH=io!9LFlf4|=y$ z4IWL5Zg}h`*xja1fv|LC>+B9hMB#HhVkGH+SqcU!xD83&Uv_X;p&x{f*=Qy#MyAyWc_lumXfl`PTl2Q8=3zf4TwH%GE0&O3)tLGsh3# zhI%{2TWNOz?zR=2glvQKE2noui!cfWq(nr@a2CqmidU~?}P}MhFJvVB`~9@EM652l|m`+XEw>mr!-ScKNv_NQOY{lYPSX?D;Lh&TD-REbm8eb!w5m!p=*v-9|aCb+;OJS1a z)&$2$*eMqNh{Y?zlr|(Ds0V9@&%`i$izem-kK_ccYSB0xsq_to4bfV^-DsPC)NUQ1 zRsO+t>*dkTb04sby%x%HHx3GSFQasa`ymGBUU8>bzavCbT4S;j_a?4WjPyl}fM1x+ zL!^nPH6p3&P#Vbu1k9&0nV?710CfI*#bF)*92eo=Z9r{StN)^092TdZqhktR8=bj9 z1DTOVOsb0O$D=J}A6VnEwhWf71(98SIz5K*ThcMM5q(0huXau8TB{x5jNkD#dZa}# z<^-kNP7=KEd9*LW)2szf+&U9p{1pQ4-(AH0HLNXm)m7F-l0M#HH%WymFsZj@FmWDK zGnGVXIF{0S6V`D9@N#WS=>Uo?D?hr|7zT(*Jrh=CEU35wQM|s=wU+6_FX=I^y~g!g zQfOtP*UPeanf~cyo$d&WW!lntDW6$?Bl;4CSEfJZ)WfzYN7yqBhn1AFxij32!|TZy&6;QV8x4I7k)_6O<}`>>j+}s<{}7)@ zhV%;-`=y?zjJbpHDwIxP=Z8q-lm&@oT!FyLK39hPbM$K6?6pxvTU*5;DhnMCT>vCP zg_X_|7m-`yUuwRjh&le*JR)_5R_+u%h@7Hda`unyA!sNH(g&lm5_gwOP~5vr%%dcc zvUkwld9~Zx-kJWGsffjT;r-LtT>tAkEU&cY7O560Uf-q+^o5rH?5b@?3q}*|CiDe4 z?w9=kBfXvtB-Yzxj8;V^#XWR`M$dI~-4G-&X-HK>noFEy=MCC3u|9QPgEM?wq*-*k z{!MG9UawE{`)xL_>5~D|06_RDhRufnRJSIFWE7p@M`E4z!8ks-Ht**S1CGr7cqmuSyW}Wd{{i zwT|Fi2w+UqhMPD-wD01zLygi}iV1{DsDWMnl zyF2Q)WO09!d{x5~m6(opi_77s!BLci3Q@{Jvr^R(`0AcJYgB z2C!>!ZEPdE$WR*18%*!lMbjD6m1ufoZsSTt)s-Mv7j{QT9dIbQmFO72Doe--0pqID zL-TX{L*HH0opx~vBT3gfoXsHs#&9&*w>BfrNe6UzN6CfAEcFp`~< ziKQl^S_IWcNs<9nGB$ZXl}j$-l8ohI%FPCg!nqzYTtVHz*`P;}vnBRbSQ^M9UYwCe zT0ej1@55_ecFMH+poh=_67g<`;>{g&)4EffBPK6(rKo0R*4^O|S7d!cd9&ty(7ybl zcL#Ll{ePQoPWPV&5)n`6CdSd620|m_K$;i)zD3{b0kZVn-@|-#9-Z=pab9D?t|ou{Rq-b;=bV5O22}RYk<6b10j+5@U&#Ov{?dx7surU^-Ji!lNo{;3Tv!@HFGA{dM5m$K8p~UV3)u6 zk*|hVZ0lpAxH0@x{3Vc}7G%0BIg_}Idv44^j`%RV;9zqzO^h+T?Nba1a-twqwN$i- zd!kmJbaB?{4~3L|r7?|}5Ps=l24YP#Gf%9AiWe9O6uucc^ioXAF=IY61cx^v03wR! zT!Hgqvw#>TXT2+e^Hs0aMW zwCr78UG#Wrv|PsH!AF6STd|zkdAW0NviTdGGC99~NQWF;E;>m=xW>L#@_5tH{d*zE*<106>>^p4*4^LvhvV(%t#<2J?j7BA8Tq6!)BDaxG~|eQvM<835Zel z-NBW0us%-xvIje6bWS23@MY6CRF;E2ItuD}b(C4~Ld&fJYPNS{ z4-LdN!J}P+qq|B3c{QQxb646lqY_lqjfNLgm^dbI4F#j;ZPa=JyYwio z*k1#-hh3F3V8IQUfb#5g*u7aLNr3urf&|80r#dC)gEAI~p)nQW{H~}E3gZj*zDO~4 z*@j+x@OUY*0d!Re3KY&Flp5e2H-w4A0imLSSgM5EmnRxs3r~J>E?9g&FbO>&8%o9QE+!^iMwQA5CL%q24iOuib zKHE?D^R`XY)eE`l)GH^dYHFPxq$pe4!kog0INj$Yj|f)?E3u!r+3Axjr7pXLRol7< zAS&D4mR)v69}L7AdW&9y{&EynKCgA!!R0g}tCRwNSxQp1rh(nL7!T1wWGT4G8L}-x zTtT8NvW&&a4lbTXOE(XBE7C6NRriO(t47j{4`1+MB_q*!a<>vxPY-&g8~I$thEqN| z+ucaS;YkE=a4jX{4q5>&qpp?+84TmFRE=J!7AThm@Q`2;s5RP0qG=+|80P(2MS@1e zAK*xZ{_@pV^1Ufd@hR{8yw?Ba&EU>*Qm-X(`N|50*Aq5N;-OmB8beRuuB%zDu3w5S zVvPqdA9Dc-@bWd5+8rLDotn5@$aptks>P}CH4eSPM=uUR5TkyVrlb>W%g8`*8HtOo zqL3%cz41{L9-^&|(N{}uL>O+KmPzgGuc=Lh24HB?x24LBAjmp(D!Nr-HWz+$EOqcl zk3^z`V1ZC7wiBl&qpjV!7~>@4W1#>MqDzWT+(Z>NF~)}90*VdWgH_6X@u@+~>GJ1W z*b*c>pyZR-1vKv7`J4^~Uhtkmq@Ft$pE@_F#-6Cct^!fyPQ|9irHD2Fd|>ku~iXTY|GI2s~bQm(7ScEfPyU#~B5 zwIgFWxTc6HwuTN{{5;(?y+7MoJudM8=0mga^K0OR4VOHXb)DI2bcRv zvtqGnvp2j)B%1FZ$>|XzUG$8ro>o z4P&_0DMH!6g}=b;!7GTX+~z7#(2$U7lT~H}LPHYWHPgHJQMwV@F;#6`G|^d3ocd_t2%%c)#m0qI?k8wjI^1l)=v znIt!vT5P5+V=9+0+yE!?;XKahHI4&82tnR}svAve%yv;geEnMta6Mq_nc>jv9L~wy zxRSUOx8PAwyVkOZMim>LFYz$+)}2)v^0LxvpLgrS0b|Nb^ecD5(f%;T~H z1?wVao@B=a ziYv6C^)Ll4<8bi?=w>i*{~T2c^hBczr%_eFTdAz=_UMLwFCM31(Vt8w8`rLZGEGQE zioN*Bh3z#0A^GE_C6_}P!-ecg%xwBB0?zZbwt}0^E6Id1@X@X`-0gG)i5?1C}X0 z+?`&6PNFi`7#-C2B^?R<<^nRE5_?5nyX09JKNv{?mQ}u#;L7h2%>>yH?f0wIFuTJc zYU%)8p_s+LvHu$B7M^6#Hrn7EUexQwSrst=pm<_+Hxf8~hR(YKsTOf>D`^NQMJ*_m z;ub)elyPC2)O8F{ShX#nSdLtFWeI}}W)Zm_c41TQ?tndl8@X%$LEOEJE z7oK2p&)`@k75G8D46}uaZD4r+f`*4Cby2ZOfOlK_M>`5J4+2Pt#{Isw7i!}aC~^{?)UM^`o+S^+ykeHm=O1sSmY1~vhEak=7e9xPyd*u`Xdfs$?y zKZTdg#I(AE9$Z+koR5GTFP6sxGrZ#89<`+jf9Z*80xGm?Bl&Woay zo;taF=B4=pkJvdQitde1`pOT&Z!X!)2VEvpTqK_k1+RJfS|zWAg;l5K7Ue~)x!}d+ z&93wEQ9Coi@m1Pwk08LMnDOVO%>4s&vhizHOlgkSVP-z?$mpnpQt4oD@=GlW*YBGE zoZ%#H^&)g2D2EgmT^Dq%U-T_*bUpHj8-x=!PKQG@a9Zn+r9?F(Urf`>q8pWvW;Sx> z^xT<^XNQOT&M9aPM`nK-GWqi!JOWnQbqk~FMqD1fXN=+b_O{X+(&wog0Je#zo3UBK3+p|m82^HR8Qo) zr?j`ay^B7s78lB=H-xJN5JBR;Jo&D`BTz*ngm@4i*Aq7`nQ=KpjQt8fb&!cFFfzx| zl3BS#5i4a?=)mQ8NcPxg#(MFW9%j-jj-;30lz?VKbUf>veZaw%55=L(G8{GBI|-GQ zcka{%Q;=b$(Nfc3D69ApE*ZbaAqJYCmq5+(;0M#|Z@n8d8}ByUQZ*@E_j@mWZr?!E zb~|p~DYcc6l95+b#Vn;+QVU`MKw4}S)EJP(B}mv)<<;NHFTWKN(hsU44Y5U|Sc>DI zD1Q?NS3t;yc7E64gvCj%b%8t@54Pcy;q55~*CK=(g!-X%^s;#JW$`6+#N-A_KyEw4 zjSs3k#%H7c6;Ifx=KJ;z;)r)(O6d1cJy2V}Z-eX~^0jRC{&d4zL+Kd805A+%kyD%cb1{ zo3ycOqA$!f`{HbLbbX4X77tYxFGtk{28uhMVpHGI!cf0Kt z_kcV!{y2E#wKoo3aZWtdg9V1;o2_eCWZgKo>E+tt|z>hDKOOXH7o!v?dBd3(?Q=6(`S<%A{AJ+%6P(C>A{6VafiJPl%6 z=8&~wPwt2NwQv~W21gxHrii!P6cl z#$vGr@QtZUm^e5{jAkmUlpTI_mh%WEB^*Ut11hrua9&S}ugc<4QZFe@1cy+cq>q<9 zF8uF?f|Ucg5TJ`wywI-GN(YB+7ujnTbKCihc9AFzl~d&80lEUNU@hvI5f8gcLTMH8 z$RKAel`Bpoi0Y~14?-1A(BT*v3OL!;FaG+on6(|$@*VQbiQdHqg8F3{d!__6BeXH( zIA#d4B{FA#o`+n&{WSoOfo3-(wbGcSzvNAkj57zqn6Vbpyy=|MR*2MJdR2?_#|!He zfx;_olYm2jJRo<3=r;KVbZBJ0u6*Dv>HZR{UwPM^Nm%A^Z6w9LVeZV_v?;crM`z=JLk7)#*w@`Y z_!_#})pGObiuf;$D4+p;J)l;~7?og7rNvnaFSF;WDjEQ__@=imaEOC@^z34I_CcaY z;c!SJzL$1OiO24_j^eh5qg1e-t?dQd!2S0%x;IF#6>s+Hc?f6)*((MTLv{WZJ3 z2YMw@-6>89EF)c`-UYUswRZk6%01P~Vp`xR3Mql+jqh)Ou;V4J|HZ4FZs)Ymli(|n zNIPL!G!CVuV_ufSe;Q3_hPnSy?tCl!U2HsH_dEF1YdmVSKODTna|b+x7d?cFs41_| zeNKu%Z5W}+^HYPEkGvmCv;$GuvXIB<5H#vyAF(q;+>C`qz%H_)==Hf* zkzoZ{*t9aoqWF=A?XIQLaY|9=@a<<1FO^zLoBm z;AB=^tkh_csgYBuB%QzEx!8-bW5($YQFvYmZ0@l-~Znb%@y_T4cFh8C>P)VL-e6* zk2tb9;*_z@6(2*(ss%j? zMlql-?7CD98uI_r;8d6o#>m^_cx_y;tS&tY_8m(CYUT@HKkJNyxvO9-d?IXb!01Qu zef!0J6B*9UcHMaxDetgK1dxmQI@a8wY^_u+_+OYNbiY#NX~py4rnuAB+22ntFYc^z zzgq$o@vPO&0+R;^K-Zlv){S>Qp-B42dJIp#LL2JS&QA>w26DOp0hdVH2Bo8ghq+}m zWci#_IHeQ;+8ZNQ3By;;#4tOnd#@F_^MSZ9c|5y;%XTO($P0A+Yvh@h-(jp4y~f}Y zvc~-ym0mZfg4WD1j!m$HCL#`J4rn`JIG$E0{PpMF`RVB?&hEW#@8Zh#d&SqE&wJcMJ2Jk4bc@XZk8y{Oh{3zU*Cc#-hq^ac}fZ^4tk#` zmz#@Z$3g7(qNkskG7-^!h7bbsXwxnpXvhYnw$KxNB@~C#f3C%Nv@y4+|HFK9P+oXx zQR?#}%te6yEp#W+ExQ%3k@!k@X;7jRmbDNlGS-o$%q; zw5x}@E*LA?Tb-s3jT`E{ysNz`6T3X~TpX6M?r&GbOA|>6KT^y$;x2ixWFhJKB92pU zH8&LM!tDFK!Mn-(Cfa6i!ek%LyGl`27krJl&4*s^$`w(v!4Ep*3_tgAdk_;s|Nb?u zRB{?F1w}X4-^DuI#(QIIe6ka<@4{azGA5?t4V%BXcq|-P$n~U3+3i~@GiTSE?o+T zOX)cY*$89SVKuJ@?N>-eO&r=i61A{XL;Z^_waF?LCrsmD#QNV|OW#5k9>BP3LYDqz zu)VzOYdj?YL|mzS)3g(+RCq+zU2TUs;0DR>caLn#Epe z;=om5IXDtP8*Zo6A-m!;5*;XWc7?GQ&y{Kit9*x~mr8$!wRwOEq|*qN4E1>M8f%Xd z9%VP7tCF1r<9KF>HQ{XLC#z__oxGvQ{xg^mn{{*-Bz2sm%q6pe{vFQt*4UC9Ie|P<47_OpQ`+YT<6s>q}%6Tx(@(aL3=X z^tOtcfU?o_8=57aSu3){8%--Q=_GwIw@J4+*`k|<6t)(BA9g7Pp&l4ZZe-h+UXe&e z*NwN@W~jcf3g#A!GcAXbYaQRQPDLns1SbM!S#&oVG$D-o{9X&_#gccIJDzyi{|qJ0!qeH%4~HkVb@M_GmkSoGZo9lY z5A=)69RZhtQZNORf(^xuvNt+@8?`~|^7U?UqO0JL+LK9r17SFB+bU_Rtpdk@kpM#( zh&)eglp3VusK^^%B&28wvJ)%3(2fufaZkFoKTs%$H_FX;85FAvK#m112JzwqbOz`z zwmZ0g&imMng_gbHsfg+-49HS6#BiOw?kjOgB#PX z+2bn+x`O$i{^wN^U@KVd@EFUG=Ql7Rwdn3I+qmU?@)V-+pz{GGsw|pUWHtingvB0m z)!aNVElxu1AzJio>&fUw%C3F*{1AC71oe}px|3{h+tIPKHHI9nhn9ISSBFTLIMP+bdXL3jVKgY9%+BP zL9f?kX9SwhV3J<<56c0$I5q6{KSLhQLk_!p|M6nycR&xoTiw;)zZpRYOpPc)u=x8V ziS45!qy`(^xrBgDafZt)ne6onfvE^F`A<7zs0;j#SPps>;S9z~?GcHz6oA%MqSGL$ z*W_C;`5vK);#0pndH)FadVNiqAv^Hp<6;>(Kr4e#@JjCv+fK8`Wo?~d9uAFMHUeaE zUjOUS_jBy)KRO>fu0LCKdv$Adz}wo{zc$-gZX=HN$WAhq0!#kSvuohRdyLOs`TP#I z^RHp;LR5@EB5+CTMsHTNvqX8R?IE!y8n-cS66j`>{sG%vDw!!A61OLXG41Bx2 zJw`hDp-1rBrFI(S=MYWkxyJjBg@jjce$PY#T^6J8wg8IeJg}ax0jdw)?q4Kcsq5lPaX%LK`^y1<01g}>t zUur(W%_t}p!_DRp*Y28wx1p~-r>PpNbAZws5?Q7Y`np>6>C7=*_eMKHH65{ z*@u^t5eHkF3}LX2F>iQe^Xa?Zq%Gg$E@0jPyWuXF(ua@z2yc(q5yH9Zo#6j~^YyoP zB?c>(aRg8a9bduW9tJyQ;3;F^S~`}VO?#BZ9-I!3mhcPY(OuK){5IUIUlk9q4&3nf zM26;{UwtL3mxem=RDCQ-zU1H%Bupm20P?H6ocscC^@tMVki|8()s^q9ya0nA?bru@VAaEJ~EF<=EAi zW0dr-$vq+87RTvAKs)sS+$*>pp3XL(cDh};D{Ny;z={YDA+;Bs&pQG{ugkXioDW;{ zOVPsx)ET_{rN?-cC4cIm?g#>_`J%ssC}6Y$DTWc4=^XXILpfG3ftoYtxB(JkP;!g^ zQ6bw{b0DS&Xb*?qBh`^C9+ab%fWHedw|xUPL;RzE244vB?K4iP&lGpi8}3o;NF>VE zjAp}Fc;Mmx%DQ=E9SkkX#p9xVvfVn`;Q>tM#P8wr^PSz+>-~28)po1B{eAq!-fsM9 z_wZHe<4!Am{>Sh4_R~oY<2QD2QB*u6*+1R>xnyyqX1LB{uP7*zX_l_Pb?Qax0I0jd zY^ZAzxhq05d|i0CQ6;~6fqCW$pJtGe^SpvHyjl^P+kVuX+*n3vhDpQH!*|mJW`jj9 zAUMO^9trVRRgLj03(X@rP_`1=FlSx9Mx%x|YDt;#_}X9ed!v&h0fK{HGX*Q}+Qjkb zURQ=gPi&+k9rU02Gd@BlHPGrK$?_mHj)%@?K{h$^z1}DUf zUi8Ea8Kev4&ddGRM>6j%8=zhqnDOd`f>@j-$VliS3L`vmX&HKUReoWwuPpUz! z0z~YOMlTcZ<+s-m;r|G%#%2(O*-L!gA6}0)+9wdI?VY2St?iwAuu^R`V)G$gh2n*K zBGYNFN}Wt~umkiVt{;fDZfPLJgg}OB1KDwQ-*e;JSLs@UG* z`giMF>rdBZ$I>63;D_%jG$_06%ygRf5w~MBiUYYFxP(-SgY~!CNZNjKD{w!h^r1FA zu(YmHj21P-n3Y)j5`7-kRnOXY+fzD1Y(Wk`!O)H%c2dg$$|+-3n(9&PvM6>vI1!as zy=uw0Bhkxr-$SxQZKZI&vCC@&fe!}@_USn2 zhUrqieRBA6=isE>`U~E;MXA2Vw6oScgNo>HQBta~AiOkk_ghEMF71=OgZ9p=U6GmX zllH6Dp6H%~)(exQeD?5Yhfu3Y!M zBTex8{)!qlGzHowC2G27y|N`gAXpS(g8&-^TJ0r0Xb>opWdT)aR6!zFkN^9=Z(K4X z^PE!`0F)@TrsuK1I(dzZdqhSm!Z!UFs->DhN((9pXQjSrXF>s!8L#wpY(xOHH#`~+ zo^2g$9qu0xUMi;fR}?pYZ|pP*3RI4VNC;;Fc7MJZ$uD_@wq{E7n*l&7ci`uc#lpdn zPJr$V!ZiPatw^(E@Pk%4vmAccM)R)HK)zyjNleSfiIT#2Ox_)jvoEYuCguR?c--m-Q zZiD-MO~mAWm(28{&z9mMGgWVeF3RdLi))Yl#Cv+5z>`D}-1%g72R=417npbBOXNOz z1OVP*G(sMyOjtXTxK|hf90UL1;_x4~Y_oxu^J;W1okqZ+WiSEUpfC$uXvkK${TNH) z>NcT2^#u~rsO3NuOs4h%L;S3GEoH{xQ}H#@olwLhxG9N5kqNZm2XrAmehzo|{eBOu zBsHP0Jg*~?HXsn$NK>{f^s{GreKtiEN~RqlWg4DTS@jnr%X4rj`bp`jm;d6vsXc!w z`Kc7Z0e7KlEuz7vI+~yeU6=_v097`pHf%C!MyMx1SOfwPDEEa$AV+U5Y75cskbr18 zuTF!in30kPi*xeKmQ^uFTv+izCdU$$+_5wP6qgmd#2I5__If0tDY<)ymt;bJ$j4$T zlOnba!w2n5Fo+}s}kJUpP|Ek|=kts*j8BPU-=?LfV;V4vbR3Hgb#a&YWeTIf!S ziSRv=$3B5^2tNTv^-J`WyCTf8L!^fEL#vbL>6b@@QgQZzF$D^&ijIaLTf9#ws7c_i ziiMcOYSolTf+2YNGEBu5jKcHQrIA6t97TLY0GwGFRAHljFN^{j3~Cnua0sl#VA_%a zO68cWaPgT|>jS$5Yn8JN zz4QhJqY2PDADW)wUeA#yy@L(ke}>)Go`8mzIM&%`_9aKR4* znQXDiOEMSI2}|IS3n@Lf@QOBWRCYH%qK_e()Fv9gn#S!<8& za^o{xY(zfr=<>!&s3%O&GNyh0{9wR8AMbr=7q(JLR2vc}Y$|@WQWTOZh-YqUk_Er$ zhk6$)WMK%!@leTIAB)EfgcH(NQbd5S-9dyg$Y3#ojT5lk8S+NBjeys13xI3tg~OWBn5VC6Y@>hpde0@6%I3{FdAtXn+2dWC3V6 zHW3=J?>3H@SvUHiY4OR=rKLGJ8o5`NO5}{kCvTy{#^$_6tP59OCtHA@p8tK(r!9?` zEwROyM^WH<%5Q(GL{Vcq&r{r8_wJPqTvb2=b+DN1&j^Zpnd8!f_+)S}c(lJwL;mo{ z{y~c0+y5s0tbg;@!QLZpq&>n9{yp~O=iK|z{_}^sgQI_czJEA)WG*-zrtOP*J>rT{ zFkBSO8DcG?^Naa={g(yNv1?JM{s?daK7Z%|e*8foFXEkmHaRa}h)2{F((kT1M2^!o zBVAUfqsmuBO$&wS#U-XPk=(=7B~ctw)|Y(NnSn`g*giSf|E7m{P$c$(QZk~|eGdkQ z&ky!=ljj%QO5i-n!P2%1Iy(hoo$4*e!vZxRw#M=t$n*1ytd4OcI1mO;ceeL;_xD!Z z?gqwKcT?=LXio{UvW8n+EVYT6^fbI&pW0uy4tBOc3|xVUE9Gw%HzX#S&RL<^6<*1J zdDh)JDWdh9kM?(Ww+;kTc++Pm_agXedrP|*?xYo`?sTq2V2{J85~}J z6}s%s<6X8Cb^OcpNXSjp+3RlvH&gGJjUWFEE2PUTCpR zvMQyb!>xnFuG>Ev8V*(e-O0|F7NP}u+uFcX?_3lV`7bL$ElqA^Qu_DEGRHSieY3A%p)yL zh*BepnL-A`4h#)r%wABdAyl|@62#wMFoGVf+R!{t>Aa^oMcki_B`Xj6A@A(>Ti8}^ za~(>MX-cI96L~D&lr!adcagZIPQPRw^ZJFVUG(azDMXhp%b6hu{Zg*@_%THN%(OpD zCH8hk5}himZ`6z>*dY(Dqi~1-FPYfVoNcI51o;b7w&5i95!@-f4OJpr)Bg-QrHYbW zxN)BImGi8|(X+FIdnI%!mI|kCNb{rBg}F0%&Fd|UZf8mt@1Bexg#MMdL!eHMxvhK_ zY3d{~{d*;|B1~Uwkg!d+Rm+U$C;*caL1I8d!lH4`i?|S=5id^G_RNAMZ^AY^08y4qWbHD0kGGa7CZ6TB~PWk#o!rn05r!%S2(??)_Lw}Mf<&^nb3UK~x{W!A`Zb8oW z0p`mw>mWZB%k^e{oFD7ni%N3PYZB>h#)7~CRf({!t=QnRA(~_Z$2fy>+=81z+&{`? zS=pep>-oCe@thai62CK>Jg{U8qA-5uk|KHsG9nA^rV(F=l`d@Fc^f6I+D~87)NI`( zxa%@gU6?Z3iRzU!u4uceZkU10mPx~ofELxbGLDy;s;xR`HY%fDlk_o>5VBz;9Tv-x z{5T}NZXFEvM9B~5Dmw(Sgu}R*eX0XOc&mZRjLk)hGR0b~&kE&!lBJpEt0{#l*@)90 z!_s({z>ZREH$BfMgW--Srr}V9B*e!?qU%dK4Sqw&>Fo$EaZ|8RNR`@n;cC;PQq{b- zX$YSP!J3y|oE0d+96CS>OVg{Cj(O_kl`6B&A^kN$tr`GY(&7Q?uVS)25LZJSd;jUv zE#Wa}k5i|YQkV=A{elXwipf&S&KgM=Zqr14{^_oU$O)+YihCct3gx4k`-VHv!eE)ci=-$)msU$|-R4OY1O zwm{=ik6c=pno0mwKU`$$$!ENItZ2lt0s4ys>A>+LTmuE_U?43r=>}Q-4CB_1rBUeUe|tFkhFRqD18Wp4s1mR^dlClE{=r8@R$#ZT0<92qHuV$YN|d7Zm^F~3wk6^$ zA^3-%@t`{0D4*foGx`4j4h(4Z7PrRCXRf3^j9X$cKaGoCQj3xEi)dt z7N7#pfLbZw!170_c}Zs-yUGTjDkQ}`GD(*!Y9VHAkjdB`13FYBQu&24u#igfYeQV_ zOTaH$@t`MEBB3l_ZO@=U9h&+nEp5m1t`ODM6+U6J0E*PeVI zlF)FFHAz@`;~&IL=3mRhbh=ijLie}-V>+H}LgS>;DZ`V!1-C+*1jQbtrc08d?CV7} zsHH*!vzuW_*w8&upo8q&y$pDJLLN0X)Ufj~Px1mr-inRlpoh62paz69;zTCTbU!QW zvZ5?V@U`pEgw$+wK1P{)RQSL|E)86Z(iNc92a^qX`a(by%Yr`md2KQmajUp5be`8^}$wj)$VG05Zp`1wdxSI;jnlBN zrqi?0@dQcGc-jHQjzcpHk+c$eZ^J*!R<(yq8`r<0k1n+XNNIU~zeDaF?mU*XC@BQO zzo2#SKf`Z!P>gmOh(0d-3G0!OC6TWN{oy6<2-c5_1Y+!w{lxc z)7?}{GrCF(#7=`h(E(SSFp<#piSmd`t)=_;0+3A30!Ddxc3S0VXKf}UH6&vxNP2fs9biH@w8VlZ@Utw!&_ zShV^p-UE?`BXiO~$+rY)Y!}%2@mWq$9-8i2lVS4pEMSD(Lb=F%#Z30)J84c>{BQ zC-hud+oi}aLRMW?MZcYi_<6SdNF~A%u`B57y?#R7tP|M17Fq;Sa5J6i{obSTDIbW3 zXBuWa40lkWJaPuo<%2lAKhZ`gPy_##Bm!BYFh>>LM$ScBqFAVOpp=Ochsq43^G9Ud zuc$x{m^zJmE}(NQ&)%&(E>ik5${|`#(z8UPDe6po!1@?7;Dcn`J5fPF6cZ1$#k=$@ zwu!_%me%hF<*)w*6byKl_ofqp1bIiW9jS06PS?g9R`zP=3EKH|rX?_hxT4G($P>fT z#Uk?EF6tr5D@uK=-Qfs|>64?u_LKcy$tG2AXfD*e7KyYi`7gyIb1ZDpc1y)TBjRy? zEAK;DUQVR^%ivHpl9#a|bM1fcJ`hV7?tp4zd+BU6@uC<_4vQz?47jgRU8|Jhr3kJ0ljdwr#DFglbZF;17l zm0zHE6>P@WXICgXhPRc@$M?h|a=(gW4qeUv2C@fEE((oD9`a;C7{O|}O^X9ghf(m8 zj{Db(=;0*VUx}Dwf=i^18fM<1g_s>Va^jR_4*R89)kbnr91-buyIY=gm0~PN43zuc zo47{_hZ=!q2i!KWIbr~=@qp!hgw#?Z1u#?ZSJm9I_XG{Zg>y$nyxNO^Wth?Do*6VVHC$7SJY zTp8L&cVUHx$8To0MB%|WiL(l}(x30=!XK>Mc9U@w^l?pWLj57Wc>D#fiKiPCKR>X&C}q+r$(`Ip zc!bhv@{sY0ariyo)r_-fJ_y-MAuO$uTpLHB#V!z9c575KO)AfpC^uCSaLpA`#P|gG z&WFX}gh~k}e8h_P(pV!Vt~q$UbUdiLt`a~q*_+O{^z{j7N$kUe zziIHyqG*y#w=2Ir+UFOR-uM5ic(=$K{=+K%{HDL>P~686f{W(%>UU;L@<;Sak+asK z38V=z+3Gp!=$Uyy>^&JXAwNI7#E(#UbM{MfINnN;e8RHb#qk_TKa;1&^ui|XaAA4<#3zgL`4&%VY{TbO&(yc0 z_sqw#s;>2p9U1j|xwPP!!5nratYaXZlh?u#RDw%^2qG%vqV|mE5P3hfs<`+2pN=KS zp@h(5D#GEx&Yl*GW;o)BM6=E>fFMl8GR+$7pZB>rl-^{=AZx7H*Q!*Bg^MlUKRSAg z+3@JIPN!wJnrm>K*e>7uT6klh1K;nXXrOE=2ad{J1Tcrr_4GapJUjY=0(Q$Z6!XyF zU&5Bs-F_Pi=c{NidpmxOgfnS0!><88n$^Oyldn8Bf?_=L>-+XIeO%nF`L=W!A&Cg7 zrPO!eXk2vYSgEc^u5)DeBF?aOEEVL!n!Cm&k?ELL$G#KaWh8pt+9x7l4EJ=rtI7Dk zu5ew_fsXGVFfy}&JR=YqPZn}E-n%1B5%iS5`w#y-*p^#bQkFY@@-k%cH+ghE{_qUd zgm$EIk&pQ7VCSz}hl8Tg0g4T6qux;bacda=wKw=C{&NR!+Yh!L?H6wW#rokz~s_; zg_E>7#cJ0slOSEMHoD10ASEy2nEs|bq*G+VBGY@Dus3l(O=La>z=6F@=s=XMH4q9AnX;bMaEc{C_1e;e@YIqVOb9_>2jhmxJuz29*tpDTwNZ& z!P|yuHSBg;d~lb8;~eHr+X`nN-W%{e3M9kg({dhL#Y_e?bXdLT%yE@4I|ORgzRwPQ ziCJvOuDE(SzqWW;bAq_TcO!0%&^OIu>A(df)S%F#NbkTHK$Kux4kTgU;dktrlZ5v;(agft_wkDiPhrtLgb8KG-aU zN5tyEO}@j&_kOQ-)adoASFc{vkm8RI{&#Ql;oz=*dOdnweArDNUcYADZV+A_R&aH! zdbZZ%X`+VKeOA0FI`WFa;wThaaJiIjM5!3BR1_4*5TOSyP-xeJzZG<-YvU&}OKL@^ zGpc2ZA5PDojNS?V!RLqX=c8S(yG%nIb%0S)rfU0Xj|_X`?fm>qyJKAl;eGyg^lsDn zyDk{|d8m&k_uIINJPiwe$&TY-;2w=Rf5<p=PvHQ|lKi5!9|6l%x8dbif;<3d9 zb-GB>3IsL<8)g8L#vc|SDo)~h@j$Ap-fhyMkJ#v;JnvrK5QCxqv_5&31buK_1|G1r{U)CFMOX*Tu=`3YbG-mrnJe2VV22m;c;%~g@7yteGYoM)T1(`Bet2o z`UkEvhhIb@Tuv{znW!!0DsuQZx}1+kv5Fk{m2!T<0X@%D20?Sbn7!!hr=vN(v9KXu zC@ne&mqjn3SVPl19NG$wy%sYOz92}^IMgHgCY8|K`4aI#fDD4qFk73C$OOQggAuA7 zPKac;!$xe}uryihEwc);2-ZC7rYU}vN>@1_*wB8&yDMJ(T(v!Q(Zy`~91^m5Xr{`a zf}A}6Ctw$WFgc-K8acuZBgCW=S$bn7jglz+o0Fvfdl5l;8yT;a9E%ou6~cc?r0731 z2+=>>{fNm>PJ+jK+mu+HVk;dwfSd~b-`A$WXPou$)=ALU^8p%uc>$x=K-lk%a8q$vq&5-d3N&N(!MNOM8-7k^wi_ALhGbWxAgeQJ>uoh!Oh z&7Fx3I2%z=XX@BgLrSwI)NZg)gnej7b$bI9=O#yfN{u!R95t|Y@Y)7_l=Zi0fD~tw zJT0>158%@LAWjwp$6)_VzekO{%Q<5g*Jg_wxX2GfMGdjc8zuL`Ua-#>a8v-|dDAp0 z`)$(hq9<<5gq+R3e3y!LN90G&^r~(JI@ls43dV=(cX##%M^6r)?($TObNfp9(>3EA zD^RdBA#FJoIJ-1gr2gKP{##t74Y3E&zmThC?ti-8F@9f;E^&DhG=L?KP(&|r*99+>}vLbh@KNcI^{x|h6eH^ABmZ%`uK>ttn>z9R>n1ss{W{~ zz*qMS$)y^Pb5`>+rphQZ4TdcB+TM6f92cCi90V9zc3 zL7X?)r2vz$#awg?uzkR8NQ1 zip0fsA|0fnBTI5%#2;a*3b=CG6|t9Vy>pTz*5x!ixD@+5@4RCKawB>y2X|Tppm- z?C^t^8S%v$#Kd;fBaXurOUlIjER^tOmQTr%W+}Ozp?*A9_=P@v-G|#1Cd7@`|@33E}0+!8r$F{;QU!ln+=9wvL21IW_sooH{}_p-qD-bYw@G)UrID^fR8c z#0ZiPA-|y?H{viP*Y@r2xKVTJJx6a=|| z@iWr*adCC#QVl1@^r-~?d5Hf7melr1t5*WLEpH^#)RJ4s{A2I=?yijRA@K~iWWJwX zGS_1Xo~2AA@|X~iwgH@h`FJATJi(UZ`M>E@$eU z9Z%j|;j#lC35JxsI+^o&1(Gb&B?#bHgYADXbqZ|pRugeuHxE}IG?=#_vU6$4xyQ2$ zxVNcjnRSbooKxEFU!j5_KLa0E$lMj#m@;ZpS12azEQ(0;YfQOSusp(r4N12>!W&nd zJ=y=w-b=;?5RU#jI2i7r=HJdEHSF3~`N!V>{TcpWSY(Dv?SaP^y57wpX(k)5S$gQR z%e`Ot-aoh=O4kNXwp9;>V*r%E%m4grEgMDs$eLOcqtBY%Fm?vy; z2iXU}rm)5z@&lojLk~hh?qhb`fz2j};)etT5N0EdOBUW~;^xUPF((l2?5fPQVlr(* z$~qegzH%N&m|QC`d)Ba?7K|z?6a#Ux*I)&j$x#OhfG$QGwkA-WPWhX??%I9@aP&&@v?v)ugC7cc(LSGZL2C)d%weDSh> z=kI?4w&@?a#aDO#b4+(}K6klOqRi)kUIo2HUTaR+EK}P3*s=z@)#6yHw_)((0$+S5 zr|Y+H;>`1|19~I3q|!wGOFU_jWuK7AbcivJ6!^X6EV^@S!vy$^!y8;jAb;o$UtTxB z@$~rptI=vi*#(sAz$BW}$LV zw5KfW+QoA!U)+$+Agd_j60J8h4mAT@KI?>qc;-UP3^J{UQo?>oG1Hda7Yfyay_1BX z#XrNNb4XgI1Yj|=;unVSzsyP{dmLzmY^#~AVR}oX*^r2TQH7}PA*nBHCV@GDlz{-Z z9*gy?l2_9@x{Qoe|2Ly|5HkJ$?B5p|`CnIf25++k>UqN@`0t}DEjj|F+_a2m7nP*+ z(C8iFCAMK`K{8h(H%rA^03(UBnRDLRqC>MHAK@FxD@umLi{wYM`;FtVy7MxW&#N>=TW^X2HLz!77z{(ytP}yd~8KnV%YejxsLD< z(YN{dll+2YRs_%TD_bWWR{Kj!)W z$)op3Q4sv2Uq?Vcx_tS3K1SUJO$14C{l93S`)0=jx9QeHE!dTCzCYNwz2z@B?rsgGIh36}ZK6-WNY8y#le0e#clI?Sa!V1^o=^eIj7O)*WeRe2|8|*y_Bj8_F+E)Ma>bCfo)wSPylxy7LS1WUi zDgL^J_y_*`A3L&u!G9d$vus7`>GE4BtowLRe$WRjLm6Gaq|dKk@9sa;K|R!>YuHI; z^4Mx;Z+rLoBLS8Dd9=T`ZT}t~ZsG5Jc{eka;?rJ-gM-Ig)^0dt{>tIe?vBEDcmL}h z9MjR(-XrizD{6p#v@-OD) z?C{1%`ZI0hU~u^SKp-|8?8;`aG4KJl&Bt;01dp5YC!nAnf>kztzGwS;u62x&rNn0G z?Ebbh*p-dSA4iW5_Md)mm%hi3m!_7O{W`}J!$=RvA!JRFv|%XVL_VcqA)Z9GRncqF z5Q1n~m_y=&G1$wboei*my~Qn7WHy_dVW5geDMVYJMK8*PVVKt zltRf6fRIeQ98$Jt%e~eOWcT(I3PHIrsfT)o4L70Y z^dt<52KnX(8Q1py)2CZz^P}`v(bCdXCF$ud6Tgeuh5U0tYc5LBn76ga5tIO=yL4C#uAO+GY<~2@B_6 zP#mzIvo?5prdR`r`-Uo}(q@2BPX07uxr)>^KC7o{)6Xl0y1?Apo=_+ zUeVbRN@rW%hTJ?&#u(EUfKx|!UJ2EoPLJHusw(HDpI`LFgETol!`s@dN#I|Y87z42 zKVaa===2eAqsLebYygM0PNFkG#2dLCLJ|CrD+B>XwZB+?wc=gH>VxFan zH{G^ZE~g0(5bRUd$H9T|O@i+xU%1vIb$0q&S9n?RvbS^EJ3w7*Nx1<}WxLVz?4D#R zXv2wCRTUMcb~LqSZswero5(^SFrPPw-VG2vVMrH>Tn#TanWM`YQmj}qe{1p&#lbU7 zAQn77$z0YUTjbtX>Ee^Pc}23p|B?sB!q7gC_gfD;=ie|ZNZwvOC_9q};V`6h=Xb|v zS`nXgWFD(L$P2a$?kT$I{XVEjx%Q@_xm2Oi=ZLXep{|Tne1C#?@?NTSVOOl-MN&^% zE*C&{lJ=@gQiXO!>h9;c>4WCjfDQ%!cyfgbVtR9K;pTNmtL>ihzS_KBiND6qE&uFB z`?u*AY`y_tG1`ctJo5IhhVk{$R9j!NWxU*Nbuc8Py#@kwOursx>`kAtG-ZGcrQd2K ziH*-8rAMc^hBi3Fvvg8M{V;d~{KyW);|#_iyfOVlZpxpIQAHZ;MHvSk6uA$M_$fg= z!z&}NVBQv=`Sl(yetavAKMuKMlzSYab0mJ`NTSrT0x4E&R!HV0WN9W4xJi9?b=Fw0xqy+Gs8bO2XgJ6 zU8zWOe$upGd%{Wdny3ePg#FFmUQWLkO{*51FfceOxI=mX{x#mx*|fE)VwKnO>Ix;E zc`sYyX0I_PHm|ErwTQh9HqnQlO?>a^im0;T-fQq_lx5YPDCTE(|FrAxP#~Gi9HXP4 zs*Mit`M@2M+xoc*b1XXBrd`aezL3fGOMK{%f^Pn?j(~SYCrIK$gll z9Qd`w)xvH_b#mqbPvWr~MY@7&{|t1+QEy;ltfFvTM}PWyJb#KSiz8@qug_2frCWD0 zyKo+v+u`z?#mxwidXOXnSNI}xi5r@T}AX_ zAY;u|fbM0HOJ42%E%+K1SEhgz-yhsfAyQ#df*MpuidGnXm%idmmEAN+i(L(Wex`jW{VXjh%hj`<(p9*t`ShU|rzU@cLhO z;dUxF|F7$V@IW-WWgu*6h3P9me~m~PqBBQ_Pqy}&qhf7U`<%Ah+1hF_s8E8BO=SMk z^VnuOiPo5q^APb8&jX&!`aB{lxrLKi6O-fYO<*)}8X+feyaw_&&twsdt#yPkU79Nb z`O)ZXe9m&Zk0o+UyvM78`cpvt|J4L_2ebXc`G#@t^zSC?PM-o(PQMvPPXAVRtY_-V zkKwzO3^54E8xjxvIR`KS{y${|tKr=OK9F=g@xM~HS-zCt8$0?+{~s@P{7`rxvIkB? zEw}->(E{vGs}SX?1VXqr(*!tYZs`+Irw_%E|F7Rf%O>ZJGXxY}ZG%fOFKsjFtV`B@ zN0Y2pKn=FJj1MI@YdO#^8tPX6w!XAz;W}~;}dxI+M-}|tlZA?Qf;G4e$Szpv7U)IJb|&dGr>#Ux8%%$cfi708_1^6+tDyr z{I}6NJZlHfi1}gtXFL+6iwK|m4n4koGd^v;eP!?SYCm}cLAOS~3s>R&HR(DuOAXxN zy)l_i^gDd70ulFRr$J6fuda9xyj-_Oh~Z)nMV-mFESkQ_x=ZleJQ@u5b{;>5ak;a1 zbciZg^g}rJ7A~uSk!qTRk+)P7+=o{*lQ+8b&qq=)0Hqu*Mn_{gHsk|f$ILzw-BWwg zyWxR83t0G&cEcYfozab|hN`R*R?8GAjy z3)iQ=s@e%@6FB1ys-)+L{iJ7JbWS8yaDYNL^&|!Ffivx^X?JpkqVE&i6NbwEHP5P$ zfz0#AVu*yUA4{V*QkLM;&x16Vf~2d|NSC9zcLDbdKTS~*QnPo{ToX!gz~cCcZ=T5A zraMEHSJeC80*-v{={+}ngbnV*x42#)>~5pj$DR9R0E2z06U}AW+aHR94c64k6dJ7n zS}=s*J8e!8k`b z&Ml&^J15#%9>dC>@3HWvFFQHHG13T>JTz^m=y5fZGMMuRk-u~Z;0Ai$ZG zL``GJ&`KKhzozSVd~!c)D))nqP&h~OG!`X(4}U&|T3=4gyqz9xOXM~NoyoM`>#t1O zAk_&ttUZSzCMaj|K^!-dg04Y0omJplwl{H|nT!wQI3oWJi0QcI!97`$qSy+Ygj;hK z5_;O8kq7xYbdQk@rZ2i3`NXQ!cYf0|CN!?N55x$bjiX-m`V8V}KDE$f?>7ba0rBPF z3dqDHmHd`y$9_y;C}>T$q+yUILQ1h3y@Bv#Fx(k-;3bpFC%B+B8_$lCV>=_LaOkEO zJU@Q7xl#R`{Xw#r)`4AE36og!1U*A9VQw`)4x6FBEH9`aFnS+WqA|kqz{07hoOwA% zKu!mjELu5B6DM*!{FO;@XGr&{Gz5r8tl@4Llblmdszf^>eF@c7LkPtEz!Sl=oVCeq zQn)@&+Nm^<4k!|E(Bewh!5Rt!f9`O1EMQqmV1hAzGV06_pND;wO%>?wZCsy9D4!Gz zZy}4Xl$6Xtia|HV&Eb+pQV@y*qf2GcGefDU6hJO>mW1|EBs_nYWd_fUUQ=I8fJN_s zrt%nug!~dE-le{sVACY`Ri+~zEStski?Fk_b2&vBKz&T$TA^9wnpGnlOJRYmN%=~a zoO3;L28)%2kP%2GjU%Z3tefb7iE}E$ny?{sFs!EiRSu~$r4|`rG%2j~cS&N^QYI)w zjjV5(PPuZeFSy3qy0GrAcZpguB>HM z_O62@aJi!Ya_+*Fx!Ss%f{Xj?sN=_@(3g^17^g=b-e>jJ;NC` zf~z3SZMmX`qYg#b#>@GLR-@L?db+kbE{xy~b%y!T9Bwq!#p| z$CqcF+Em~b+1%7h;)Vnug=WHC8GjEBCa4Jx=3x9OIa9x|SrDpBxut0?$D|=4m{UY9Cw9MPG2XiGN*5=t1T28>)V}0e<7p8h9_-swS z-k?6I-yl^T4q~IbQau6>G>E!1EjgZWWbICyGO-E)X;Kd5U*<1x!XvqPbKE7A70{iW zl!C%KOg`*r8%n2p_m;6S(e}dHq+6Qi+JFLRSfeKFO~e9hh6ti8nQ@5%-ep|P2*7TF zw*-G2NxZ2n)zgC9;^hvPq79(+g=b`^qq|rjvWlfrQC;H!b{t?4=Ut2p{Y7REg(3;L7?$^=@`Bqy)1c9~ z?%+hH()UENV{3!S*+C-qvavD*h0IdS&2*<7WF5TKe%zB$QN@P|x&^JOyP-0*tA)Ex z7S}F#B%>|bER2}cmLvuFGCV!$Vw-iw?0oSj(;En@V)TZ- zsZ(SWH5bE*o503SB)%bBNguR+elQS-mWm-{Fk)MGdz&Yt@fmz<#i~AqC=vgGDxPOq7Uu85hXK_QB&%o{Rme>Y`OLs_Gt!O+_^U?aO!uq0@4^T{kx+Kc z*#)Sq7p|TKB=n)a985*IhFAJ>ih#+646Ir_$=ZQk&S#?~U%At}ajmkk>6(SdHq4Ti zFW^)3T8q(#u`)BS{4R<(s{&U^(tXX>R&7hwtf{1y*ey%6?MEA+1ZEBS3^Z!+|5Qzf z2UiKoPSqCbpA_?(d>RH%5JIamb$H~^|u7N>u4-ZO}mSQ zHVldzVC-#Zs@a9){K6MxYKijGY-eP&ZNb$&6#dyOPs&Z(mWLpK^TK4!lXvSvJ$RuO zh;)+5VwLw}(bYlLZzfZg%M#_iOHeeKlWni5{?%@oLJa~vHG8P&+#hi5C~i^$4?TELRw2GFzi&mS?CoyLS9BkdNEv zofGL^(}I}!14eA>OGEp3OlMunz0G0(?xi$D(%k|pEdn_zQp$tCTjDKkP;^kj7plFQ zU|>`-awf~_XzOm#kD@#47#7_vDD1U1+?KT2P`IgO<_!L!3&bDo>sdEBB#)gG_Z9`YXjQr~Z9lpi z?3lqT10stlw0JcOE?;gV%tKUd+2RsW)6k^ChzksWqE)#+Nnyi%-d_HuMS z{SF+E3o<}uai|Ml4!9sK9bW=O+D{6rwf-xgOuL!P zxqbp*OM&I{tF!r7J-NvLg?agh-fg%TO6?26{$udnM@pmqQD}(EG>@7e$H6jl5By@R z*Q#1A;gInY#&HdzV70#A(g2{) z+Y?kzOuDmJM;E8}#L2g%gl7>>s;S%wt9Dm6h>&zz zP{Q8jgP40kyF!!7yZTwDrI#B|YTUB4^kv-wu+x~77*6Be{nvKmD1Yy8tu|OeT210_ zZRWgFCmJ=CEZGB-LVg};F4Q_4`A?*J3Srw3 z(nZNjDhX(Q!9nG5avI+9QdbX#Em;{uX=-+>Rtu(6Lb;_ut#}51byyb$E=E#+Ky=;m z1aFiCRl~R#EG%V(e5#h<7{x-hgT*YpHYD6stvU5=UoB9c1Pp7rR3IzPs$mhrQD5Pq zB#V6Uh3b?0a*+Ubwo_;B3z?&OesHykH*Rtyxe*z~Tl&E7t!UOPY-1EI9=;SxTJFcB zx2C%C&|(&)yDD<|QLQ1u#B{abgUa)B7`f^fzJf0N28WDfh@r0r55=Pk-OFsO&@$Ri z)t+)IKvwjQw%g|+uRN@PO2X*75g)vv-PV3u-lB7ea?%AORSgBs1!?r|HTg&kH;28h zO;)rN*~u|78chusRG6q%k%n(^k?_SvX+`U5j z^St8Gg@+|MJu*XD!~oAncroYn*(IKxddC2bBV6v?#R9!);WlB8OzI%>rp&JGeY|O^ zCx};DSbZ$V4ex!$glf&ban>x{>QMg07vJ-Or0mP@#5#SM24ZzO`1g4iR86Zf{#N8oI(p-qZ>wD7lpfbYwE+ckAR(u z&U7S^uw*<)S%Dx)g4E-$sXLaZBH5K7AD?UIdnswt?cD@SDBtdE-lUQ=mLV`fn}fF4 zpf!M?GR3At;0Gs}f-z|3SZPNuDpSF2oo8N`+!ETf&|76d)ariqxe%|iAR~|!#Oq?p zPREtESyL(>u5Q`EjmK3#_z_vs*5SUsN?@u0sEABY z%3M(OcP1xO6dpvyM3x=EQ$P7>(p_q^V-Y)0M#tXp>^(d*{(c)eh!D>!(^;5{q)))y zN2~_A&)EoEp~vyf_RKTmM>`|6yHH#*oKs3|%ENtv3!ulZX1_B*`3WC#%Fo2TKATSQ z#DlFo*1)z(~6=c#;UV)3l(E^j?Mqk?vJS}Tfh!~EFkVS!~OjweigOo-=m%(QEg znKo|`WEI7&xDoY3vl82vNHktrq|RN&t`qnHbs`Dnz92|go9Y5U+xi5m%5K<3c?|pT z;&i3HFE-HywX5MvO^!fo?2f)2$&0$}5_iVV!r)NrSb~(>Lvp1p)#@US)$oubXM?qB z={chd2T&jfa$#`w&fn1zieKE+-q#{33Rr)fvwt$W9DO>Oet$YWX|v8sRw@({xM4Dq zkrRby|9rQ+KE;3Pj&Q5kOX!iOs!?1p)ijLAff?MOm94E$Yqgo!B7PdyuiAKWl`B&= zC(bmzDvw*}=;Ftclo;BXeLKFmFocu!@hvp-3@;4e7_O$rS`!OxaGuUwtA%)GSK9vl z`Til^gtP3d44}4yZCOG-&gwum#=Lg7`X=H-0&WB6)%eNk-cf~mGEc7Ab!PFA3uC+i zP;ZrO@N_|;TT(A#!pefkS$inSE5)A{v(l){3mpg_O}hLwVxD+4NmNV_U7`9zZfw@o zC_PNV)6?>txgzCR@i0wD{`00$_ZT3gb8wZh>`Nfd6 z8Oc(>RCb-b zF4CYdqN`|W%oZq5o^+L#8wbRWs%jbT6#o^=r8xeNf#r0pFO-g3d;5FvZ*C2TieL>l z9ucby!a1!6#m-Q-3<#F)JPyB@)Qm@fNgrK~F3w<$Z}yMy=3~Ey|G}^G>Dl!A(Pisn zd#aDfd&*R|mdmJ)$`fiuEX+4igGn~mCXttLz#nIKB7s}>Qt->`WX@#iy7(;X18_;J zh=LQU1%fxwgN!*tsspG>`D+6IS1Wjz9G2Gs_K%yupCyN{xeytMF`6E#Mk`61afhMZ zV{e><$k^4~dJ!QjZE+H?)YwHzF3QLP$Uwf3PU-Bf=x`OE#(h31r8 z(1yS*^|W9nLz|ulY1#;|{S1|FkEArVm5zAH{n1R*r1&b`N*uP0p}nE{;>MPzBKX%1 zVnxHu3&MzJK&D2DlMIz8XSqhhLF$=x;1&tU4VU!w0d$ni9^$&1$QMot%TgDg>3!*w zfcfx<=@!dWyBZM7CUhVvp9ye4=z98nFFiGPeML?2Q+NwqZ$fg^nnsrl?>S59%r{Ie z*2*qiA5cUJ2S!6@S_Z`uo4C8xFXNV$W=ksWQl9jyqz>%FR0hW@vYd=%yA_*A$R+3* zF(7~W*ku>h#OQ`wDQwmuNEyLHMa8j#-KCcl1ArIGy{y(3iK4{$(r$At5xQhP z?uA1qO~^DK&s>cTwzUR`&bQ^dfkA$457M$F>B+6(JKH8VGZ#*wffa}6#S|rhh=#jf zD^4#l#RL;sVuQab>vWk}yqUz~Ou`U1Gyl;0_Hu?=r?59u```73tOL9E{ORCeXB)l) z6c@7RKy#z~_9x#B&Arocq^5T0%GPCRX-6sq!kg(HCT}4k!Ak4Nq%eJ?x8{Y~Ac%gq zxczOWeAhDbM+b3nCKa=W{TiSNH&biH}~@m|OCz zDv7zhaR6t)&eDgFJ_vCLB-2lHqosd90LX3a^aH*UE4tOO8dp=#fUXT&B{r%>MH8n} z>$p%Xsr3BFLdu+ZSKa*KE++{(4AQ;Hy!k}sU1=wo?3TYx)&BlLP9qm{pqb`j%hG}^ zjC|(+c49CHzvV^a#Bw-Jj>_73(K`PpMZ0suwRdWRl;CxqZeYc#5^gcs=Sd{C5DOb& zMAvn>XEEWqi)fj8gXZp3$jhAdW*tB+OWWbN245|3&nn z>9$j9uAK8eV`(3iib+z}+8e7er4U()YMF6qheYs8pOne+OeWL<2+oC*3;_Glt)zee z?or58!m(=5w^+rD^GIgbLjI8Vk?Lv7ynfMl`JoqO1B#(Vw zro+^Mh}*H|nf`M*nqOT`iaglK)%l^QMg;oB<#dkAD~Kp2AAfNV;4w?`Wy=xX_t_lJ zT0EOy;?Gp)_T=sHN;Ls%ry21uBYF1y&FdIy_f1OFb% z9Tp6Mr$0xNH}khpLN@t9Mow?}q>-?FXh^n^V=mE>m(`1Io|cInnlQ&)Y#H^&exxt$}VLiMU4gkGF zdF;f{3nyLi|0RFGu1iGEv17tq$(Ka4b8&1ZrUym+d4(G>{)8ot2*~_mP zBp#oW$AY&PKdFFze|LKlCoHUY(6kATYHZuoWh||EPCe z_eS6IEJOw!pUtphTtocscn*=P4RjUg`U2!i68jN$x0iijMpyn9FsV5KT5D$av#o={-rS5;9%foQ{y1zmnEa*r_72W^3PrUpAQGx1Alb2c{D)g?}4?me{{7ye8MN8QV+R){EM&4gudtk8xG*z}MZFrq)L za-rGSMfDBeu*6^@AIjx*;Gxi-N!_m#erB+-vS}XMo3ZTvRnKMu< zNd+U3{w_?iXw-rmCS&a96)AA}K~`Yq6U#x#T+e%dE3pc)0|8ugA}Lz(H3`D9ESLj^+v z!N#IWMTsgnQC*f)hk);C<%$XpNMQGntJvZq$fSt+U8NOtC%%E;gHRpGLFbNwRPCe1 zTqt^o(IDK*&kE4X?u;~!z`if5D0sWr5g_z!yYv5*ZDv-nXhx4BnBv;4Gvd0%_Jbd0@tPJ+L<5Qcx02jyC>%|}6(*w$Z|8USa7Yb) z#}I;?Q9Hkr(Tv}vrnkrMWJw=_--We)MEvg6hzT<4y#5I}-a}c2}X`)VcF$JUc$aRaf}z z)zh`yrE_(0f#kQ*sqjkX(b0wTqSuEP3pB*HRq(&tL;i=38+Yn>8~}}(rm)1NWBN6` zEM7O_2G+FVplE1$70@oc^aH<}`4dDoe9W)MZ}5K1@vCpfr}MXJ@~F+lEX)N>HDD-; zgz7jx1~&h%l+CV|Hoh(z)y)UdBPgW83JTXiD6ynx6E$(B9@3(v(;`Hg;?L2|pWWnL zEv(8(7?x#W;1kOoaCTW)66Ua)dSr)^D@NhI%-jsr%u7s?CkH|d4uqqP9q}OXn^gnJz6?z_fCCI8Ryw_Ha30(ytu*KO*sOM z+{Cb>AX^IZb3_bJ1I)p&J?8+1xFoq)PD3~dTX$PbRaTcqxD718iq<*Lupw6yO+Cmc z?8qyeVj+=J&K{q^1;UdIPX{Tt;K?T6;75;Q9Dc*?B>Kr^y)umAwf&N#-KFwI2TI8sUAq7STV;WH zdRY|@AbFWX|Kv%^F6EEKq-YCCw*-_?HW&{Z06ia#><^OXO5x;HY!4b88h-Y`FW?xW z#coK@q?BQg~a3l-8YMmcrx zVHBtdWwfMNN)Ew@^4yGi`MiQtOG7bv;NFzSfoRL2!!ISDAqDIfWC`sxQ?9UP~Vghb8T z0%_d-DH;@TmRaXcQJu+DqdK#M5{Sezl!N%rf) zLpUwtGr)!yCUy98kU$k|lfXk01)nfH74VL9IR93a3_+DaS&G{a7NezA<8KQY1?(2# zUceuNJ#H=Uy?9JtsqjNr72>&KCMI029Ho)mM2XTwPywzMooN}nOy;CD&>3iH#!3QE z=#gI#D}S~uMZqCeT>251n66z+a6@Jt$GTN!y=dSjvyQC=2LjF0-TE;wYg=Prsii_d zX8kN3ZWqH==W%g2PmsSkx-jern4crV=5{|qh7D#-xn1$?G9I5;AJ}jRps&cV;mV9> zC$wc2gY$9Y>Ay1UOJQ|j&JkjCsg237HPCe13|nmRkKVG{h6*;Ftenfci@PdU$8Sck zb79V2oy@6ctYCR9wWJ1kQ;Vk5vxA+zL;j&RSIxTGeg0?={yf^>+m?SH;G*l!LHsj) z+8cbs9+K9X{*aVS{!6k#`N!VY)4}lBmJWyP(+_UPQCm2q6?LncxQ!S!u&gi$`!}6B zh`sXRJvwI&kA{P%JM!utML{0H9r|2zi*lZ{L-*BLh{Y9+TJ9&Hi@=HcQzuYv-|kEs ziSsvBIs{0Nl*>1tN|3CWaU%F9Xh#zkG~uf}T%kIt2~j(r@^qG9LOH6GO{#kQp?5lExJ%rmJv_CPAgX~Q6Go~M)BgJYEic3^ zh}?uZ#kLgzi4F9f?J(S>d?$w{UQZc+MtA}x*KsEk%m|Z+$O}(JJ+L%6H?d`=9uvAX zJ+61>li3~Ep~)&zzWBu#5Ex7leLTI~znWiMA!Z`mW#-~FGv(5wSAXM?Kjw*N)2G!; z!5UJi?NdRNPsi*dE5U!|Czy0aJEBtAjK9$E3&w1x(bLkXv|gOFefk%l{rx_IE%!G# z3;uzLI#9Tc?Sz9TMm196XlyC6H5Xs5%dIM!Vb{XB<^+puu{HLX1L4B;j3xs|t;j1X zbOucCL&cquEyC&p(8v`^Ge~LW)rrDZb{k|d6bfEO6Uz{^0;UI|G(eJLZOf!0A>F*M zam#=wn0v1}p`Q7w6J10NrMdyuxtvTq~U*NJPx!YD9r)(aec^ zl#MfZlrPSs-_GQa)`RJtA_?q&>>dQrSQGSgG5}Xn6J#{*G;`1ZPlvat@7e8bojiWf zyN6TIW1}{rM#H+%X&3vIhFwOqIlRSCT;DGt8Fr$|wOzq5{sge4_A&mk5yMtF(P?8c zofM8rFD0=+y}zwIvrQ(N-My7evjEzdW#(yXNKFG!fDr44^7C*cNxwi+0Nbg!Xj-6% zfB8Hlh>7x1Lq9F}a|uI-MC}sUQtnu|e|O!4vkbdSeSXY-U^dz1%ZcQZHP+drAV8-^ zF%u-DPgH)Belzi21f}gRyqiOBe2=qQ!Ld!qjJ2UrzJ>9 z+iGhVvn}`(TP?{Gt5>st-fo--X>gNx34q*8f&}MmPwOfmE)OCJOHDuX$Rb_Xu@&i8 zEi}`Xf0byAP)W!tsPmzF9kNU4Rs7vM{3p}*A_ znYjLK4ZdXa^0_+q6e1Mf6i9q2UWeQ@7hdah$2ttO?vASv67Wm1IZ{qwkTv(YE{TS% zfN>?WT+VfI8m*#8TO#cm;cq%V6hkBdFJU)ta~4~IH3bVhi?vWe$;pOmCUttH7Wno| z2Ik~7Z);e|){AfPNfMonc)wI1Fc)Y_%cWa>u8*6)Tw=1Q)=sT$ANm zZm;^uDmiN?vAMgu^Nh7d2=hA6?beD*lsAllZ0&c{i*zBXpW)uOE#4_@WAhy zBPLG(jW%%|MM2E)dI022ffA`10SM^2D9NeMXae$8A5(Fx9bkq#ZGN{< zDy8xshlxuWy9PG7J>Q(!tykg8OXcz!QxZv>&x;YNer8EtR7z|{4p*i#IdvZ}kqW0- z-QTNG&42y#pi*Yh1YY)S^6<%Wa%;;~tU4>DnFPuBLTSYj=Zey{^D%1S4RME43*s#c8!XPN3Hcl!Slt6El!@oi zU8G1oPF^bBrueP>UZ7D(Ys7`^l!L>z4=%9R`D^@xWgY6YFb*^e5Am7g_V9G&rkhe$kX zdsF5IX9izL$hMW^rbGgTO2c$4$)(mz!&o{}c#I|o4@u$#p1etuFIaP0uCsJIhIk2} z-S&V=_D6CAunBwo#x?6aL&pHJ4tu1mV-fZh1H_tN(^%auSqRZtupv#zvwSrRM{@RQ zs*H55aqMw3oyemDX%agZ(|@R$q)$#&7*;>aX$P9R5#GI5e^t;Yj!)jQ$Y@5^bTJq> zdn^dc^qcW~HadGvErJP309bzreBR{)1O}AEC!8AVg)dU0Wz>Qqt|`K~x};k*93%}l zM)OWUByp31Sh$&v%7J|Rq~7y5=e3gdR%o) z*nFJ@xBjctI@-=8ZlEQZVL((M|KlZ>a@0BbSS(F?Aw^FcWqT}Xo(xB_aNP6wW7$`z2)f|HJ-NKbv-Zq)LW*7hb{PoAVa>e`{&lqwKU z$_^V*tb*4hu_Vc_LRqzXYElUUZX+uIF5N7E3!g`;vSpoH)Jcf7UmY>@-Zh^j7eouk|1+%V%crD4l!i!O_~tnKyoBezhu`L%H~=H0U-Xdis`8T@z)UEYSf zuyvEMjaLkwtUp_*{IoMTa)=>V>(<;9Q+WkXwn69P3+gC#*BAvZwbL=MH+ z*P9Uo55NL~HU?w4Z78zJkQg2N`_f+`$jF-)aPO<)?&n6vW*#~p$CONtv>}dVN6gTD z2V&?!qFq5>)^|3aUR*$e`cnr(iZj&QVRj8}ecv;gg1tU--Bc9;`?VK%3cHp3jkhgo8BRkUnkg z?eF2O&#mFG?d$%-KM%GK`2~0mD?v}Ef|LD-L`Q5KaMORcJOia4NN1z(MrZJ&F*j1x zqy+c;m1L1#h6?myOHV!1sOrxPml5g6tB5K!mQjvSva)(TvT**T*1lkRG1A12DtXD0 zVO6X-L5v+8eZ+6?|46u0+^v+8Pcx-;6kALVzzm#(55c>bAC*`z47Z&x>!pUq5bxzp zlQWQ3xM`-&0Nh{o9^4FSRG%_904Y*Z3oIR1(()7>=E2qHvkteuZXiw<9Id0I)D81H zu#3>fa;uK=TZ}{rxrtGqYID}QGns*Kki{E=+}`@zqD2)Fq7|bnDrn5tHUdsK{=CkP zZ!*3EMVEZo;x1naq2)9jS;?>zX{s=3J0_(ZPY%*`K$BB>T3}}3fOOh{D;DHQlVY^o?1gy$Za@SVl#dPA~g-0r9#lSUtpjJY-@Es%mHKeVIEvT zsc%_23_93?@C_k85xtb-+)*4?px!oQf@1^6oJRvv{>|5sx61B`C!^s~?MT-E0a$1W z`YWC6`Sx`Ng-@@o^5kpCyF6H8jE)!O7QnPu+yj&`AM37Hob(@(5L&v+ENc>!(>B}G z@iKL`MV(*R+ra+pwv_oanai#~M@>yWwQk$k?d$PE(VKi`&aCO)1}dwQcO`ZG-d9u% zo`G46r&qJhtp5dh&uF5qyir2AM?A)us>1pKZpt*&^MR^fIt2}NkXd3Nx)yAU_i#PgJnAcAyCN^s5EDH8YPgZ>*N zlfUtV!#Cvt_?(bMKH34{cUhA5kUuq|O5Kxc9AVd#6r%3|%c25)=-aJtR~f z>5B*&Rl`&zn;J9~poeK>aZ7~OTOb09{BR~5XF!6mc%#5mlNz3g^JjfW<%Px4ST2&~43P1sXI`W3{70Rh~K%sa_69al8DwvPUqBZRY6M;% z$^QY{3V&jXF-m?B)jDs1Nm%q&rZ8oIA}`=r8S#6D*RdHdi(wP4 z1pH39BzbvJFA}3=XSR$F{SlhZ)wvpE4`@Fq5-P}nXIU9A5UCcA6M5%!Xk;se7031=+&fGuv6 z2j5twa8iJ;FVxcecJyAf2p$V=NOYP=s3HbD>XAD$hFs&Hhk3rIb{KeFevVJhCvA=;@uE`#c7rgaHe+0pUJ@W(~-zH^X0u}sf= zb?Oh>{t; ze&7qrLC@;64~B22&<*4?dNbJ>)!<+nWER-c)L9<8^yX8rL#S&b9gapfc~uo~hAtt6 zcED$2Ou02B zO>m~<8}q&$@Bqiu-L25a!GJzt<3@kY+nlmOUl3Soau78;7nW_%x%)5vPN-$S(HdRZ zv1Og*RJuHz(2JFtD+JKomen#oOfS4YFnKd#V&uomZiLuwk>AvrEjM93;gGMxR~lt| zS{TcCW-dN?GK(%cpfO1x%$?m-D-d=&IVxYN#w~49Cy-W(^)w!B#0cnOYW4POQfl0F zn>gJ_WFm}wb3IzQ+tK`%DMf^DyVqnrx!mTaY4N*IUq*ZbL6v2)dV@Ca?)ZF6f6MQ4 z-t`8`OT$wzm&#E79huoFG23dDSk+W!VT$ZY-rFA zfr>&ts#h`;T5*wEJfcF+hPwBI-!22XbV2C|bTk>8jrl1nbuvF+81~**X}yviK-mL# z*c|?UXdnsRl99Z03KzZZrxDfS-aRw1901-50y-Hc0tazhx3uy|p7>BcljOy$qZhDk z8(JbLT|?8-hquBL&B8I7rKg4cd|d7Y=Ja%O_TF$bqbL_rCDvI%;X}*AZP{9pbeh5v z^c>-xZ>ei67rZb_$+AMCijMxp7aLWcim!R84et$;p{|K$zS_oOQad^35*8YeNRH~_ zBT${6c@!0#1ndUTb%0f&g0daqPykqVdW8)pgrk$vjwO6fm`1;cqpjqJz`u{ugqbmQ zZ{`|@F8dHfZUY#>obf$wl5Y$x*adM_Miq9fa6wkg?;8%OPNjns-!q^<3H<$MJ+QvB z(ahdn5aYCEh6kTte~Jh9(3=7@CNY#7c<^u69{$1S82{hm_&*eswJIbY{M!S9;v6`k zYh8GHHHcDDjO>eYQc3CTROKtM7Y-)Cy#t4hX8}lzfYp7@^iiG`#7Nu@FZF!-FE8i4 zJMtEbdT&TF9rI=9{#^)(&5dbVDAI${3S=z2`|}VbJimo&FRg1aj!LZ*Myavo@cvfE zbA`Y{xfCZL6<4xwtK_=n`x4axKqa_YCpBjL!VP9xhzCN2mTSX?67OWHdr33>iG*^Q&{@ zAy5f}cNOvb6TA|Kh@0GEAtoG;arvwGon}E0feS7Cr^oLGGMV@`+@Ib-v}xl7FoVy( z0(Hwizt_llW2eOiG;4U3jio@mjf)vw4gke)os;ez)AL7kC23y0;8_3p;p2P1mvp24==G~tuU<2J%^x59@80Ia z!Cn3Idi1*Zu$w--emz1DsM>WnwWE+=cm?hT`neLm`MiYoMHpnlG;V`EMqDmz&>W9c zysMydJnIo)do0N;_XsTj`fz&wL?f2`%ri(VZqxa-#{s@a@p#4 zd4+vJwgI`oMJ~Vn9bfN872xyZ_mUWNbusU~pI%+|jxR3G#wQY~S%+_^XApZzOCx*& z*Xb0&&oy3DE{`~C{*R0T|GeRVp2P9+5d8jRwEyZKFv^Bdp-<*lm!oH+OCDV}@vrhK z5GuvW{X`a7-`P7H96a9I9`GNB2U|ObLfoC144Z;E`Q!oz6=BArTH8oolnch;e3^f+ zhi|}p5ptPZG-`D@qUWJ#%w<`hka!;k8LFrQZv{wHB@{}qG?1L5&%}>evHCS&wiI2{ zd_XS0$DTaeAD1Mc)JJ#|>eg%-Dy(*|zP~*j7HplbnDT*HaFG7X31GJ(yT1)zj70t` zPHxKq)9|l2?eI+JU?!DMYJFM#Bu$Pd$i^AtMzhPyUdLPL>3a=R$}oT5DWztdA-KQE zH6;}AHpBw|8vrU%CLn^hVf(C(`>&2u>!zVVhWB@L%RnAd6LF_42ZbJz6;FJI99jrw z=c57FP{nH`H1GvBov4>^N!M7c$z{K4a@lMG9IP9~kr1Lh#`7gblM?;Yr2n+5?sT2P z>8mfmw9x~<j5*y+0Bb15E@rBoNCVB6=d~CVOMH8~z zPN}rTG-b!+&-lR>)6pxDS90EzbAY#?_Ib7RkOvFM+M~R&U-2?;%9-sUk=*gaon2%L zzBCHkFtng$IIY&e30|X&UAPPWpXz2^e96u7k4oP)n?bNktTURUYo$OT+SLT?v3YOLb!*ihx0`TLQ0W z3s8Y2(yxZsNDxyUl*9j~cMosRnzj+fqN>p{Apo9HpNFnk&zw_aQ}pB(ncTQ5O$=K2 zA0)peEYZ}TW*S&d4+ubpu8V*GmNmY2PZTMHO8E~Ug~#>59zWraG^OYAdM3*GrWF=3f&F>difd_;w>q4$zgU=#V#!jBvpd{TAs2z z+%j+3*dcO#B`;0(GjNqnzaL%F?iJ}Vfp>qI;P^2lz-uryuBAGA=n!Og{KBM4^$Vq@ zB;4WQqn*84O$ejC!cL_-IH3+ip9Wo_0t6pj8UB1KA9#x-wJqlqW3bU%SXuUycyAbi zjiyz&GR-fJpVR4RHhI~fBg{ab2A}74pNnWa0wK0s>brHx2Ykde57ln6uO*UKr+;tP zVU(tZx8_4i`t0}J zpOE1xy@XpP=lGV`Yh;&0NgAzC6P_tn)=k*XN z#E|^drjE}pE+N=oZ}vZ#(#tIC$3@k9|9Y2!-=N+#>_WP!^T7uf_0Q3T=T_pcHX@5W zw}gINQg+yg$#}7(*I>j+`~-SJK|LSbMidPsps!Cz8!`OcDb~$f&^w;@2K$e*NN+PR zKa6pi6q2mb;SL7)Ns9V}eVBa-BDIC*^6=5I}x8ed?@v_1` zYPBLL{@A9LYrlUPq4>%hSh5EUoQ;=CHGRC?hoIcxIi&!&e%{6nQ>0^vR6#YJ{CTnQ zfEv+QYh8syQ74>Avgc{`tN9SrskpA3dOL#~5Eae540t|>r>H>qrJoMbzY$jq)? zjDr)T!GB^G%wV|>HL;` zP^_>T?5X!d$6dnG)f<f6p*nWiG(CubJbi~k&M;3Nu%TE?8wtY0tJ)0EsH1) zpBvQpX4@>5-k5>RY}p1#<=5JPb+ipo^IEcnZdlwyVsGARsPcVluuxtmuuul+4~wu; zu~dL*bIh-y6s}6=iDdPvi(S$L2_;GqgfA{|fg|XZsTZuG8EZ`83$qzoC~!}*LbV&k zON6AznMKu>IA%VNQ4w`6E+0-;0W&|R5@{7+|kQDkPk8# zCXrm$Y%*pkhzfw=yeoLYEO@LX1qWpjh6prJk};I6*NA-xgG{_Z#w_?^1HYo}5yu5< zB}NMPxWuNI$?6sxl`3a-utt+*x>S{C#oIfO@q|G;OKTm3t8{W$b%c~ykmTsX3GMW$ zPemLT&Ibb-ccrmrg#F^Zn6wmhy7O{=r)=DRITso33s0kXu7Y)!Gtd*zdAJ6>N}NRT zz!M}NXbIGwy#!}xsUq5aOrz;-E#APEynNEEMN5AjvV6br?hcDAmKNmC3w^ zJBQ!w4DmSJ-XoHcojEGeeUIxk)oOSvB59x|I(4SvR)pdq3(F*JQ;0@)_@bVqR+5rY z9tByou)2>#X-IS>Pj^O~+=R`3``CMNv{WriSrB`xxe5lX54*&|kF_`@X_KRvHD1uN zTdW;gyzf>HT5acUaE5vE_LSL6_D{gjCWNY;mSeRU!YcHVU7q1>>D1ylF_I0gS1?t_ zR{R;J5fM>`)`~$G+X>Fo?vdzYRUE7EwxpuS|Jl&dGAs&kY}-2sgbLMggpbE_sWlh3 zLiz!PU`+Cx?fs`ux14>5+w2fT=8vuMgPcxycS;;^5SnjQyT)wge1PQwYgj3 zPVweK;ZP|kvgn|k!fMF2w}6tSKet~YWs(jm7D@rs#8cX*E%uT!r8LA_ zxUEj7C;IRF_!pOuP|phRCcc!78SzPrbT}O>94jihR z%%f@@jm+b9Y?x+#UOXQ0vtXy@5fE%}rd6yWwb3JLGnGvJOun1nahc^QHtV*Q6l|`K zY_=3Q(CpoYU1^M#soNX|X2;pC>k&&|k&3ofNmziX>6`7Si#5PPXNog-D zho9-VVJ9v+x<9aHgq$#`+H=3Oz{Z;9VzEC!Kfas6IgV#hjP{!jD-!7+b z$FIgHO-bD&01i4`6$c3`fo6fst1T@9qF!K;_&+aczpo+O$EIk|(j7gVonl+($CG6; z|JPKeknoZnYZQdPrZVBme_3s>UC0(%gL@nkl}mgkd9=hz{xy{;x(R}RU%6(}gF{v4 z*Hk8Xv;!%X5(X8dt76O&8Wapmt_Nd|ZAnMPgN*BVq2g&kgb2gkpYVml-G%u@Z;xlJ z9f3u^*_z;{sy=38{6`+cGN&?!fj&~j!|8E>aHGy44Uk$A1YNk2otorIDTUJPm;@5V zT9~oZaBp#f^qCM%7eNX4O6toh=xssZP%$_=41KkU9aKVpqYEgSQA=?gcZt9-UpQ*| z?yNj#ix&4dJZbjg?-mGg5V+0Lu?iS(;@uQKyl+JqT5@_8%n!yYV377|tgmv5g+sIL zWXF?gb>+ch$)dCH{%;=NE&*c$wVy7crzmb~ucz{oGzJ9HtG3i~G}w!!rMK-xmb+r4 zy-4%1DOZ}%4~o>X3b4IB=8&wq4|Ak>mSxA;itUGd8PCt{nIwgDA3is!Wmv z{8e(7$jQ`cSfzC4?2_KAv*XFPlKQzhyBmFnn^M#^OfNwa@%UUf?Maw5!v^30;U1G5 zd7X8V@9Vd!f^Eu>_z31-%uJTd2p62@B! zTHY8Z(iP6CDRp3)N%3g%a;{uzod1#%_6Xjr?PqJVMCV^#79It?P;l5hNqp#UXBH^8 z=6j$}{V(U+^5Q4uunVm;zQ`dh84jdk@O88!0xha0uqAvl`<+ER%Y->(z}uQ2$YuIISNYLOK-939U$5#hj6d{uyoazD9HnpNlm6GZD;s-`HQFklXoHAg8JQmN^9@_ZPl zRse4*=;GA`jD3Ai4}-dw)3YJ;R4KdrW8PuY%4GElmb!XoR~Hv}gKne&mGS?Fg72Wb z7rj18M*$=Hf3EAh+S`uBWCSB=)-aMXH=Fz?1f5IR=KX#I-57voMoSE zKTkVLlFsdnm|9k_E_OOu;*!mx`XzRoBXIeZc!z6I(y}T^;G$pd!wozfZ%H0gBX}B8 z|4dTN7`73Lg$bDDn1e9e=~}BQe7c>N+gp1(d%LplZoh97`xe?(9(!>U5x|j==&>~{ znoLBd%Ur5wqry(asLJ69$v+)l7Vb|O&8FS{#Q=Bm;J8B_)m;w}M5T@d+F>447SxpI z67mu1?=W$ASF*2k4*>c88BB*|rk8bRi&X*avg%85~o{e%0Bbn-s&PP&I zx0v|noD4Ilz=fPz?i5sk9}uo80VF3eLw+|%7Fm9_m#;^BS-9^C`I&V@*p*}(6DJOn z=qfY4hWt`H$o9Dcp7<4r(6gKZe40L$I5j}&0hBN1YRIcF(~?9}BH;AidV`57WR(fp z%gX%nL8GXOea^|+$lqmNxLvGs@qY5D5!wwbR0q@?*m~MDL6&+p)XssEp@(l!Ws8v| zsssfGaU3bSL4zg!bISqUrT}D@`5KCZn(V6XV0ICV;t|L=9(3U6{&*FtcT=oOW@sk& zH7*G+uU#`ho!d4MN`>41uLS^o_0V%8$N9gP~dIB8HT5gupzIAZmx_~6k6#iA)K~kE13#rP4R21 za4s{!w&96h=Nb{lcM7^Kz$zTG5w{%?owBfkwc3d$*qa=w3WowkfQ_8L#u1jRv}U5A z0(mqKWF)vc(YgY~1%~Z%^x`|zeT|u-+L1{1XM2j{(zQIIYslso zl{A=Jqav>TVJa~^6LChQTd1xOp}_AW%Bk3et9SN#?r^tNkZYH+dbd_~TzPXx$lE8m zC>p2H08c7Zm9}CmdqmC{L^S*&7ojFBa0p6}>Gx?IK)*E5)+VfQKag?H0Hx|l5h|J~ zP~e~z3bEYY4rhv7c{4-kEkebwi|Z*Ew2JhZHrm;JcJiWg(0R7EB@i=+G<>?d_Z`3F zSP}1v%DA@odZtlX#k3`|*XXj;uE3_zHa|nt%r;e1PqIs(?O}hMQha*TYt?8MM#-kZVdcS8 zVa_j-K+naXtWvrVeaQvebP0<4O#5s+-Gmov3;ydz+CP2XLDm3FznSalyK? zkzjK84#iZD;v-J?|49J7tg8uc0nHNY4%4mr_Vcm@c zT7;Dai!_6bQad^s6COya7K$5y``Q{a8o=60ol`!8&Zcd+qH+CbNY;H=m}XUB8fxnV z|3joTLFdBcGk2a)&C#sQ)g6+}Rikef-zo06<3D04C3xl<1r!`T%-3qa8Y8^LD}*VH z8GQ@lm=_kgpxf82a2YPMkCE|)dfdDxL9el|MC6{!g?A)@y6nw4X}vm=v$a@x1m zHOG04^^TvyhqC+#w6F_j|*=dA`LJS>b%o z)E-qMXzgN)C)DtyW|F>=pL|BmP#ZUA>8QBm2cD*wzn_0ycew|5sK>x`K8hXGU64uGsgO~#QQ2a| z{A-v|s4D@4hY|B56pqh)0mG~Jz_l&hL5AT0li`F#E@tJfPPL-)N|Ry`e2y&ADB-b+ z(;xOHmvJjiwWn#K>RniBMIy|McUaGjK@SK%fnk$KUzHE6jL5`l3yLXmE$wy?UAC@KX%&4NIYbt+Jj-W72nY_DOCA*9C~MUS@T zIalu;oT=7Uf@n5C%``Ff+h)R!s|2_A^iQ2Fsorw1dAN6wSt+IOgBX&8vWnsI89-C#%v)_|!rvWyDge4kC@8tkm^1V5TH6uMQ8<0Vvc0gG#hNVxkeq<^5>v7za@P(Ieua*eUVL%+N~R*$u-oEcu(<_l*=# z8{sa>98&1V4>;!4YYdx>S#Lp=(mIi8*5`SAe3SDG*QAgE1x7tLkCv+96G8)e|BcMMp&k$^G>>n<#2d9GdPESHOp zYhTNu4vf1&O>mR+)jOSZnN%n`9n@jUvDOwhjYp+Mmqc>a_h5QK9Ur&q&494DtnkO) z1XYMnuP*5qQ#q}SB)&7fa0f?`K;TDE|Eq5ElM_L8jx9%()VzH3$Un!W?NWw~Rz|9% zi==qGu-a|-D<*Ql6+h{p;v`keCcp|rr*JMDQpNfXzQ@5(fH38zQi^*lO+FJXQQ0$= z;mI%e8el2r=)h;j&kb8tDu)l4u?Of1w+oNR56}9z;1cI6xI-A~hyJI^7s7tCuOvd1 zO*JVBa1dd8jc-wV3>t$|bFhSGeS8ON6t)Jx#gK93#_>}}GM?sS`@L5fiG%5U)H{0~ z>K(B^_)8Vq333^9vF>_*1aur!1RMOt??z{fFUH^>&m8!UL>o3B87Ge3?6yNgDt0g`d~) zk7ia!SPe2_?DG-|)_QEv%|KR$eIag9q{Vz8RDbBEi!E%)U$b} zqq0k= zN!Nu=BOk1Ls1w6QX9YHcl~8&HnL^&^5HAx#-oIuNDE1D-QM9K$!h>bvxI3LcJSx{!o%ngFD8|D~zh{@v9X1$4Z@O zu79qG@hex_C@esZCtIj>E4o_$^7z$caDL1(Pov@2t;P=y#m5xYJ_zUYt={{w@kQTH4Ko1~NT^QbQfjKVyB!>fhj$2p9OL*na;fj_CP6 zW&8aDIZx&vjL)G``3E0*KlHD%C%9W-fM~$q`u;O^RCqiYVIk1T{ilQBj{vKGf?1w$ zDcM615l)zAKzV)jb})Q1au2B@M^3^E9ij4!pNZgkg?x}pkS|mRsS9w1U;lFjz`Evb zfa`QL`eD!?SDu>EQhg4IJ1O_$-n@evg0U-I>IdWZFdnjXVGjOPxiL>9WE}!#I&(h? z9-fa*MKi5D9*=tO3qA931+gk1CBhoM3(B^8SJaE4XxZMd1w{Sel%gBge$sd$BFD!D z%vPqcf!USBoYEX(!=q7`%9H;6|Ew3Wai&@?PG_x2yqe8o3Y%FhzA-dKhH)z@YBVqE z^0d}_6rrK}Aa`OH6-79iF6g^`v^g9NKV2X(s3jWi_mb|dR>Cv*ib>C@#RffX8-e!8 zktz7oYIaWXInXlNa_JQ<$T*|gckxYF0-S$uPcC}6Q+uub_y0OMIr^`Y@BdCK$8{+3 zTyLNiPQR~_Y;%F7FLzGAgiBA|gC>*381w?-NW}#^afJry2+o_7xn4u-%BDtr^`-Qp zewmfuk6})YVNv}EMvoBVXn6jKBD5vbYw0@1t#s|JdPdvTbeIcoB_4(+b6)DxY;|Wc^kL8z@u}~ zyxcR)_Jn$Lc(i{xdM^i0-BQ8cbwPaDznnnUq{ICI1ym7v^k^{NG96Q6^&=?D&2Ebns??h!Jio1$~S6hstwA0EB}SHaQN^?8Zemr<@o5#qyvs zgABN#b}dHh>Qs{1ZO(pVlo0S6cXS`FCsL?`&{Sj)835m71Pt+@7BPyeP*Bgmgn6e? zok5O?el>Z-%As{w0hCb(XRM}HLT6?eY@SZT8Fn6VdmlBVD2VYWI`|f_+ww~n78f!$ zzIvs~VkSaX*t~B6v>|#oGGhO&+A#%IoFsv9W#5ckxsfeDx7$z3thK^8B1&4b94UVx z-fEMX&0VW|9e7_3E#-dPl_CqvKc1V3C8lK4&0#l`8PQ2phfalp-XDkrz7C#BG#U> zvRIlH;HDWPTA~7l?!3=CaTOpg{A{vxs<|@lMHJKyiwaTgOQ4iN5Z+ZrIt>Rs5j7x8fSU?afUyN!zOc-C{|>MK&0^dF2>h>Ku4N^)f^K z96pa7>r3q-cmh-M_`i9k;oaW3tE3%n;%oIL3<5Jz9=CZK5J|Y2mE*Ak^M3A2TPcNM zd($)kn@~GjP=67qyhgduVTN`-jv&}a{)CxHq#%vSCn;Okn8F%93xTQ<%Sg>5I|5SRo=@FNhx+u57h@$nh9P#ZlzU$g z52fdXf=ZroY0LB9gou%o85+uvWek)|@e=OU07h6*{4`&y%qUT@t4u21G6t(Y5rhd; z5+gNzF4&y%`UEgR(+NOIV1&#P9A1Q=1)SLtlU(UBddU#C0yl@W93Rt5aOGSCX=Q4* zN}kj=ImOPnO`=9(&;1eyj&vduF-{KV72TZo{_FVtPdn#7-@BsI#gC<4r^@vSa}W;D z3G5&^3E@o|Ou*>R`xB@hvlTFcffU34ia$o0D<@b*wCFAO*)fxn`WQeNa?qJABx)cx zU**3S`qC#Eh*++f7S2}!Vpr&4jy(>|%Dkzt&G1H4)kDOyj0g2UB0UYBSp>?Qv~0cZ zPd@aaLOQNXU#_@imld0wxaU?f!p(`yh@PIxIOd}4stUt}*;OLDe6NTdx6HH14VuZ% zC_79m68B6}WCM>2iayt&MD_?|*uj6QbZBfuY^nsyKxSQ%zmSdE%P?-nR%6yY(#fXM z3NVK-fE;6++7rCXKp4@#>a1WNs=M5PnY4eA-W*^q-QT`Wd^lGwIBt5!ob8Ndgx8H~ zR9^Zex({Iy&O`DLSbfn*2-E9QyRFnyJO==%#y3awvQM7iZP*2g-kL?&FHNV&t)p2j z0mBpM(CLB+qdun(p`!QI#SrLAl=FAsRjMKBd2I+#_fe>#vk^=8e1RZT{e8LXlE%J@ zZU6QXr=285PbzrJzXm)sd!G|T!s>;5AdmEvF1NII`p)UcQ>m-f8>1s0cz6OuqxY6z z77d2aP^XE1&m_L0?Lf~CIy5pgU{9UR5#Wk(Nx7(;6U=l$DaN-_a;ZK_n$g^yQcKDd zv_QZ`;f>ix^piOWFv1?(y<4!9wMAs(;=61AtL&4UJ5tE{Z6mkg#tB!+Hk5DThRev2 zeIR;_&>i%v76wcQ!enNM*G@)=PlCe~Ifg^Xx?zUyz#gP~!7J6n>a*rU|QUfLm)bWt*1R+n+RpCCF5J{T=q5XS4nNNuxr!cA_Egc zYT7!~4|cl;{uHCCgm(m8Wt4LPX{w+bzXVT+5U;^M^~imcG@)j7z2sfM^e`#>8^{+5 zyU{%3;OLAHuj}dhGLfciV7_Te&obrrfE7^$N18#;KoncNvM0(ab`?QDZAWS`b59L3 zP}gQO<{pH~n4YgklO$gw!WU$LOao(2cUxc46IowsETCCuZ;nl?eoK*fi~0+}f_*P|_!|8y86=5=(IC&!Ms$isuikH0Z}Cjss83iiH=lY&cqrt_ z#LK}YI3-c-K1(P&GYZij}uE9og zeb{EsYzcBfv-@%hKV4%{g)xG^K~u3Sr$ozNN=*^62TvE#Dt`>%OJgFEsxPo%pR?Ae zYA{-j381Vi3da62Bfwj-B_)D58BSp}VS=J)2ro-XCJrw`ND>;=#E<)CVj_vB=<0=Z z3Vizn!@{=qT5_NSTSe$bngmCoQb(9@jW}*zd*m_!ec2N$Wz8h%I%9 z>O&#!>KW7<%c+2ZqhahOL{9E&$-C_vMMA|$KI*kUK04m~`;oY+fBydNoe4m^7XMt^ z_~OprkN@+|y{iHFVHgp=LXSbS3GOO;D8^XQvGh6sM#=?cw6+!mJ%@UUbF!@7MXbcB z9P9V!f%pYVU$|%BKj)=%XyTz5`C|c2Q3Zp&I)G6xnAIGa?3l zV-$%fu^r<1O!-Uy|079g9ylibd1z9`nog9(PyEA$$nyF2f4uC}>C*RSgz2B%1Z8%3 z$rtK3^FN@%+oH>7eH^?h3(2j~@Xes%-C_b%GVohl-R{m{I9XOiw$YxhiK@tINFy|l zJ6bHAI(RxB!wjD6_r%Yn@ObnHPPNX*{^`|(w^H%lT049g&CjeM)N=EYW$};mzNwCm zC!=%1b_l=T8syjN=>;t!q*(NDM(kbx{2UJu*-R6=vw>TZH{1uk%eQNYu4wOk`|!y> zJpk|TW6o%Kfx6tQqpQjLE5uu2q)cEH1wlC&+wD^NzH=yat&bOp8UY?Rnpg-7HYwVDQ%=q+`~RULFs62?U7Z?CU|Z-9JT z9M-(gHd0)Ab)>8x2_>K-U4DTfI=F}$T;!`&E}Aw_xh$1PoHMt3=>>XWAczqEQo`wF(fEu^uoJw|3{oz=k>5yAAUU8P zxN(9UkT9?Btyw2X^bXK$9%X#AL(&j;f(JH1?8P9tMOs$c*TL{c%`+{ ztdQo6P&GKPDexOrMDgpb-1X7^@Bdo+CRB06_S8$Xp3K=r6IzSDsspG1|~T6t#FR)J9n71WfyDdG}Aa| zBM1K9#WHzlh7`Gthqqj7i!5h3CBHyR4Q-$%ozCOeTU0n1oKgsXO0NVQc`qgmo@#KOE+Z5Y- z7OQJ!1<^gNY8W-vo8k)Xd;dkh`J=VKK_7vye(^{9>-Y{|u8MWNJlhaW78+q-H%DK= zl9R>8Ta5Sx_>mSnaLAh*El}F$GS`JHphM_wIf8@L}V_R~w_txAz|2 zzyILgf4to3!l`r7TW96Q-te@)A}6T7S?MCo|F@ME8b2D2sN0O+_fAn*jvw!Y`bOWZ zY;4@q{}V^Z#>es5%9G!<@IQ}T;`bQ}t2oVLb81ksRhxE==KLK&a=X64&Hio*>~H#T`c)p*0MR%3d!JnDWL zPI@0#?lm?fPu_%+=MyeV+UW3bX_wWoc$9i-D+^$593l`k-q`m`E?Srd5Gxii z-mqURbGUi=_KJ`UXZ@y(2~5L$u}Hf}VgtXC`49{JF4Xo_>1v26J)peK#a5n142Yng}oUzlpP$Z-))+ zLh&(_GJu}@5J>C zNCkHIxBex2Oq`j(lFV7A%|3W|zjgYqhw!+bN8x1_L%MW$==4KNMDJ97tt()kn(P|H zhlmg)IfPLl8c^Z(z_S^+vtdW1JnBP@}Ij z&YC{HSDnS6Dl z#mx(eZzwJHad2^U(Smet_0B&)lIlJp!F!IatYEztGn?mz{Anv~8&QlaJuK}nX0;Cm z4Zw;Ep1r>^-}pUk_C-PTv^P}s!(3cb_mzSG0{8U**Q5_k_ARx!upp|vw3y@Z&5C3# zIDCn?jSEuASy+7io0T!jf{xzArAzG3uf5#r41G+X{RIk=qNKB1p>95eku~a{zKbf5 zjUpSG%@1A`MuuW5`NN^FwS1hlf<%B!KC!)++By>Lr-WGXSwy!wA%E8g)}x%SRwKdb z00ca#tEw6}b^9Z~tgDaED73aeF8SPg;kNIwIlrIWe|#_gR!&=EGML*LqAobN3-RB2 zJN_#;%>;+dE=M0g7)GAJ9XumjX?@^g0JO7D;L!ckAEs%|f#-W4ho5Ja1;!n!Fk+!O zLIR}=J;oY-+<*8WW3GZ5l|G!2+0Y5>mM`x=cyRyA`w#z+b=SPbGEm)EC@g!!2YWj- z^gJMfk^1EK4_C*J@7Z4sJGRGyjXV~NNWW;mEl4wUN8&`u1vT+?ii>pR1FOImv8#P%VzxD^b7D@KwI`pt`llPvs*%zvLZ@#Qso+4QvPO!lpvv@dL^=B`BT3O1 zUh&lb+{5)hP(||CH5-Tt8x(#{$!{_dSOn@UnqDPlHFsCb&UGK>btpxVA_hV|MMN9* zlzBN@`h%=iaCxJ7hQYSSr_p2=CxM?<|D(D$7<3N47O33Omtdy8JlF_UkeJ__6C-}8 zk4BnxNwy#Ey3smzBq%EWh zjNu~MSBvS>b-|ZO%E6pd<|ijADdfGwXVniaJ2Po z^KkP>cAzVny{rN)+6m0VtMfBM$v&)V6vg5JpHPn+iDs~)KD z{r6#ndzBGSp?lzVCcFODX@7iUlNZc=)Osbwk=U;kLqQPFkGVX+6G& ze^*{0(QmZ!_3vy#g24AUR>RQSTFtpO`1~WU`H?x5JMy4;4v%F%8C2kP^_$wX$=&|> zo7T(z#cOcG117;^n@kW)-D~=L$7~FHgx)Pzq#CLLcUf);Vi7T%dxokY_i=@by~q;3 zbS>n14PKl1rI@7-ao*8}9n&+3TQvJ%(BV>mzgC2BT&O2bYv-5nu0SmYwD7z5dY>lv8kc)&oDYF?G0trAQOpd^jpG$)U z-nWGZS5kfSD3R@q;co;;LOX)&@SVsB5)w}tX*BKn`DpaJpM<@Ij7b`vxX-~X-q!2h z<=P$jKtKCgopOy||1JAk_BqE+>F{gm@#o+Dyabjq4upc_6h2xUc%cPzL$GMUh|jTd z8|%@dITv0)ggH59;uj*BTfxh3?x2~>6VWu|op7}hzF&fABJr9(_6EpG#7Sp3 zcKIq6{RNKP-tT^OgO?8VKlTVf2 z18m8BQ(Ydvy2=_3aa{$}7zAAA(!jKlnFLOdf^0R$f0LM?>J>%6qepUh?v&9eai@W+ z0V_o(Za@s(k;D>-8Oje8w2e%WY%b))N}D8$c{B(7RP~wba6MgE$cgxTD|4%ou>}z8 zPZnI(@;GOPd%AhGC1$-SVDsP~wL&sB;X@4QBB%g$`b!w3;B8-qZ6l)-+c^F>LEI8d zFPwIdKf+^jHpE?wuZd1br<+VGD1%TkFK!aG#bzKnsn}z#ZU0eiHOn3yQ0ZfrJI>8uT<*RZH7JRrnH?XwN zf&-gYG)4FO&4_^ms>8HsY~tnJ*Hw@`scsq=Tl_mRw>LB&mXvnp)incY$qCkGs1FvH z;x+K6e=$IsE~@-4fID4l6t6}aqQX`XuxpeTOi|*&*d|j(1R-EjA8|oQaT!~Y zz(MUEHGmf#RkyQw*yVTcc}QnyF(ZbAA>QjHWCoG|r2T7pzr`DC*cZ1L+AOf7CxSpi zD#DV%3sXfSdmwcqf9)Jwt?fCJojpTsG;1e|Y%y@<85n z^Gce9Topn5mfc@qS~?M@uwrskHopMdIjzyX*MFtI1~`HX)8QdofSVoyWk%W@(AVZ` z>rd{Ox)phAZ}`a+45%Kq(_8%U$o26Q0N){4`etEaM;>-%m^h+#i^h7h8jqYZcj{Y%Y zKFe>dguYuY-ZQ6<2|@~LrzBy+AY%qOQ(r(`NS{U=7WOxY9ZBWzF5#dTQnis$4!Ncd zdz?pNOn{~rLu`C383XWDA;GeTaIpp#5zQf4NT)L}!zNP-9gzufXQdyZV^gqW74}>4 zWhpR%E}z_G<^9)>ztP36wE>R@$m!>QAL5XVI9Z8xi}M?;xu*5`qwfjd2Yp8<~Ex5keI5$EYucGyT2xp{$82IjO7 z8rt|FaCQD^o-Irm#$~GrnYyj{XSaiqvUlY99?Z5pIPEktx6A_D!qle`8rK)UsxEI1 zI$IWNQT_pm8)WLp3LSsCcs)XbUKO<((3ctUxavO0RIF~JwP|V4sgKil17sbYA&N>2 z7Ts!mlWZ{VT9D9T!xqCr;ev;_mQL^t5>+M<;qw5KFvG z^|hPCGZ`yb#ZpT|X12smEGcXSMZa>Q_$$G^FJ(UyKfM;J!J*`riSXY<0r`tBQwegR zWft&mPJhCt7zuRe{eVNJ3wRU0V>*{5Ll7SYhsUi?qbu)FK*=*?enm^uTl~%y$g$zf zaDGoy1L%ms+ndDhXp3UX(f<&}X$WCvj)x;MPC>;stbD;t`Rn^-Y*a!VDNhT}M3F?M z5>yJCi~c!fGRq@NN`-iOH8`KFZx5pnaxPPqx+BikptLtz!=5k?X7o<@R0i0c#4#q) z-)ypAT851;gOptpJdDl_muk|oe_8u9KbAyM)B^T{-SU$exMZY6b6*U7>o$p9|$ zqBNs!f3ob1ZUPCOTU6lRG&OK89H5S$rNr1C6e5B#8mPfRsP0Un`fOP*HZ${3lo5o; zVPDE_geZWbM~L+E%-V7YBFCO3d(Z}%J)P&TcDD|<_jZ?_&P`y)mY&aLUa_8fx9IV5 zXfk+%B&l;|j`Cmr#UxSOwj@8k#DOX#nj%!h2M{>tl3MjCWJ~GcFHKYSEaoP~O5!RY zP-yB*mTktEfu@zB>?D~<;3ccz;ZjoL`p7cR9JV#nbg4Nkk0H;)C0RS8(fcKwoxHp) zaR6L*5+bI0MWbk|cGeKyhMr*wm@0-7FDDofm~7Y~*H>b@!q{)dWiWq&Z9r$|1UIci zC3a^t_x%!YgR6C zOnd;=oH7Cz$}*MSs6JyH_k(-JYz}gU2cZx3Y{z_$8+G9<#1A|#7(g)a;z1U8ejq>Y z-fbZC!Of95k9ROMXs~Rg0-b6g>!!Ju=y~d73rH8qV{U3*5ae1)JAyWXJbNN{&O7~o z>MG)tYyPehXEls;_*XOoz-z7UxA0e??`*aTZa!LQy1yLIzfKD=Joir)TE&7uuhIN0 zn9E#MS_P7f2y%UR&&gSNLHL%QG)3$LZtZc4#b82cqY~+e=iUgJZBdQPev`@ra6%yO z1BY4rS|(bUED}MY)@Awb3?8njI41eGIU9_hlx+OJ}fRQyx?pf?^t^Ew8kouSZz}W9HhZW#( zvN-})vM8#hIu;cwn@O3whNa&2{0n5i1RBPu$UIm`UjY2BDE2n~p?=4*p`HW<)R3!+ z{S;}mJKDMJ)};!5T#0p)=(!o^i%c0{nnWa*iLmvd&chtpJW<*J|;Ic~U;C3_t1 zKg+wogkq^&x}xn8#>x`q8bnzF3!WdIeD`Aeu+!b&#I+WjRtWV7a>Saejom$zYl4yR z1BkFY8#6+cw+PGYyz_Rb;+9n@k3(B8^_f?0BnF+Hj!9GNPjFfqemxYjK!MWK4#{DG zETZ-i>ZmAqoL_>T`jE?2XFyH0)VYAhi-IFm<^h`ZU4)svEP$+hiSr^L z3%Yj|V)8hYO~=hY86E=%h{-|>wx5C*I7PYs#IXABe+PQH*Kuib6@a3;_M13T=o#@H zTt~jP8W!HrcY3>6*Thm)M-x6|Gbh>Wb*`?Kva(_3sB7}JBnnXY!=-HpA~aoq0O)6B zmW5e{I{iv!*?3QI6F13n)@Zenevi61`SHWh@h)~l--N%I8?aF zJXDypWoNJufpuTk9Hdm%fiR_P$~(KSUOw#{c)2#C#WQVjrzI%6$n+oL8u&IYVJfh( zb>){}*idvP?e90*cUTY~lCnMkj)i9+42WN(E2ZLkAHXfpGsjxXmivG=)h7tYd!Uuo zEQ~+R=o9#MwimaHJ{&PyTmfLh_?pls$h2(A)6u8YVp;TIUybM!2m1Wz6P2J0wsLnY z(07rG>u$@;&(c?uW-Uw>Kx3nAj~TQN%?j_s~b0Gnb>R{L8XKl&^_GTrFy)z zx!>(PJ5l=pS1_ME+k5qNr*rb}ul5ez^V>BUh|b~CaZ}Ju^gt6ET@K#DXC3gPa(w}U z#Xr!fQXQzQ;N~5WHQBv8^R$j53r}OZn+|qJONg@6rb>S?{&q}B??5c9Zt#7+42ip= zrCdVkSYEnL5jvIeUfdwb%hjWm6QA2e(rXif72vXi94Ps8R&%)EQsy{Dy=gN%tLU&UU3uu{geB9hkNJn=f1IP}xKttjK-T z!Mz#A!O>-sB6!srja2fOgnA0j*GmNEsfTSHZdg)LAv zPD_n3sq+0FZev!%JfTG3tQM}6YPFB=^Mui{oHIJc$rJqkO8)(W{QJ-H@4v{u|405s zmNvfOSncCC@-NNI_VJJM???Ifwfx(cf3M`^PEradyy;BHIoQ;wwE);SD_!Y1#ICI@|7rgGUo10ZKu56NlJta}e| zvBM=%2YMh7p@GsL2(go^R6cj>Zy&F4hxt$T8Avkwo1onzr)37KW! z(0`?!HEyqgsv{OBcA`_qNm|mTs#0 zfD7K(j#ST7QW{@RiGu31^vb% zqS)byTvxfjdC=KCe9`G{cdNM8=*xSmN#`*woB2~wh>S@t!x1qsxo}p2W1y_!+KvuS zx}BHXTYEcuyHriLcJ{iRlf%t#$(fP_(KRX~CGEitT*cI(bL$+#xCTaig1-$Y!6jz*%HoJlKygvT5EwB3 z9gbtW?I#8ym9>ZDR`?#N_C%SQd8VeG$x~PFxgSKS}4A_8<3QQo5+6HL@ zEOB}11^BVNc)GW@)7jkR;@JTkw4QJ7bUTEmf_0gW(UjBH%S&haR<@sWjvb7uzqWUG zws#@5UUWo;f%iR;k@Jo4aluGJIKXCn;-8d)a6%`mb`XqQp(vd~2dhkmZ4m4_Z$o+P6Ab zU*~*1ldL*WoSMN;U*mMd4`guSC7RyQF7{ruoi1hT)xpkRPM#iYZv9*5&}Lci)r?Oe z`cClwuz7GVu?RU6D{;2-&v&t5O{ci_uoYE_fGw=Gq|T(FlaFJ3B->c}oLe6i1c`Mx zAVF?{ouZ^dP7-x(qk^~t2{V7$%9OYI3%m)zm|91|D8kfC36V2Wi8n;m-^hR#e^8X9CasyAfb8 zqe0pN5K(YH1$BgZ^>274SjBk!^XX`G-tP@5rudBhh~3dpZk8p!2)M+nCeH8lgr0Ex zg?XWsW?=)nSY`=NZJNmst};xyi56RiSH-lYBW*xA_&t83lL`w>X2PCj2*A+>G5l`u z8V9g31v(h;sNnLf&L%`DaHLLZK2M*9C;(nC*Bzw;=q+%bZK{73ij4WrBDmFG9%WSq z1P6k`vTeh(2NiSzVjyeX2|(7n6u;I+ho%si2E~hD^kLW_aCDC!k%770(!lkgiUgi* zB_z#yW0L{W^59Jw3~@>jyi*q(y!;85g6I73;8n+m*6T`xsFtK>-3mi>2TjMH1ZRnY zRJkaL zI+NDXO}&j8{Dad0uH<8m5z0hhX9i;wP^(ds2ql8p(Ub#Moe+#2f*x#?LkvPwv_cBH zvlXm!(mdkS=@FD}rp+50r-g$@9;mwMu3HCDL!z*azc65ba|Sswlq;7f z&t;GsOKJ?5i>*nkZGY!gFiH8>%k5qN=l1RvpFZp0Key`|&RCaGMr4?QgJC)u*J%0< z^A#%AbfjQ?0+Ohw=p1t1{EWsCcwg3PGv4n!r6nxhSgbrkex6~;YK7dUTD=}NE*77= z!c-@==qSMy+3<`unkhjVHa#S3P*2m^d-|u&mWb1X&BMr`Me~7Ba*Z{p9aX}p$7P>9 z1i$;awK|0FpCZjMq8S#9c2}`q1XkKtSwZCo6;29{K6!`xGX|$s>CKKJ5<00}kr76t za>@jUQ2YPz`xxCnL}T)SKkTDeQfNe`a5qr=vzfpRg`E`7Zj5^YAG#Cecy8sn2cM)$3NrCLs*23Q@ zX28EF1o>YPfBaF67h>#;X-W2?2SR>;!%vNHj5=8Yp=avkWO5>;3Vo5%LIC7MyS3E zCM;#{)f=dSTf^@X!fDxhOEa^ExDsjfFK~IoDfbMDq=Ms2r52k#g^`D#I9~*iB6-9KSG$9r4L1<9eh7{Z^??xIb z^+SS})ye$aX1J$~Tah}{WRMSqI&y*WY*1~+A2|uknR_9DxFmKK+8B!1RZg` z05_xE*ln4$#IQ2a&(J8e@eA`xFWicHk|bpwS<8&}qc`aOmlBqk$tSqOh#oQ078u!E zg#K{DXIrtNz4avlVt3A%fA-n zFaX$`MAfoYCOg}d(`>2nHB2JaR^@f@8zRkh#c8kU+`lMMD8+~4&d3BD4{*eWzE0lU zaJ-_+JYGRfzX^&51fb!${XSkMF^4Nx7MG#$+*QGMh&gks`W%~94 z*<3UE3KX)l_bsE|C-96>0kJ;Hu~QR%Q5YOrc;?(*`Tcms zyW)7f3nX}yW)J(nVIFgMv2Be_&g^TT>{hp1K90Ru#z#15F&Il;uiYEgoqRg)Kf_J& zyfqVU%vni;O_?2S%(6Xi5&^=|hkx1W+^z>nG^q-cjgmIZpr*we52cWuMByc$L)vsEW;{IrfdBe=Oft!TZmI z_F_inMl9h|&AbV&!W+ns0b7zpfVz350ns9p4xW;fYiSuLLxCD-ir%1kgPIxI*Md-W zh=^8L3xHMUv`C;!n2mNDR}iU9XB5;}ZpQTa#&CJ1KZQtWJ+NV@W;$Lle{4>stWI0& zjOr{$@s8PgKusNM7F;o4w{gQ_F`K0AkwKEr$=iA{;l239$|K>jLY%fiT{KB9{)&&$;E)KqjA=a?898Qik! z=nXM9M(?ZnpoQZBTZlf7ldxxex;t;lmaF&gN0+dA4r#zL%qzO#f?~f;?YFA~aGQgQ zX$WPC8iaP0r!*&=3~{1K4L)bBIAx-~u9{}yaC+JlqBl+k%uHD4P6G3meNg>8xF<8Y z!Zgs*bJ`Mx)I9yX@FF@taVWv{iNBN>(@gHduD1*bUY`K-LH~yOK`%=|6-x%bHFQDj z41xuZwVIdd@Q7$?80!@Ge`4$%>Ojul!6{(RRipB<%ZWylbA`;xfJJe+DWgL<6wj(w z0zxq*uO?A+5~}sN=~ATBz75A<)oqfz)FOU_izWzAIim!tiJAO6$dRbk&fb~KGrkHA zNEwuSw`F%Ds!~2RLn~~9uF4yDn$;1d%G2}S@CUibi$`tx*%3}F5~dc-5L`^;h$GFK zBY_8x)q&QQo{1e}kqqilhQs3Sb7| zyij|j>#i7Pp@0y$MPy)(4}qm<36>)qIVShyVJ$pV6EX8&MTrnvWGqb4uTDL=shI`p zWel+{UA3%GqasrSqZR7D3xO_G1)c0b#vC%29A}J;qY|7!Gro?;@naAzGA!+rETDZ~ zQoeYQ1Ea_j^^_-tF(9AaB^l$heXY}eU!vv@XthqGXn_sXyHF?B9D}Zo5nNFy*0rWn zxr3aruY_qv7E_vsTp%7R4(TGayb7yFB9uS4=$*sYiHd0RP7oedHiE1>9gG>$7tJwd zGX_XWOyT|ppvTHTVUGyU2Y5DR-i6cBev;D?J9QMCq^ApS0i~J<0l@DQ2*^1&SpL*= zu3c-taaKXWt^mpo{87L90H?>(x4f`nQu5yA$+`%I`f5gn9aHjGw(t>36-<=w`5X;ga? zrcBF+nIIhe!RovNxMC-2PHt^4YHS5Sm`LeKwsZ7B?p%U3$XRQV`;3X5sR_7oby z8m<((BkGD~hDpXVFiwq&8gfa~&REVgbvbno?1;8((s46ZL-A=1A{$vK;u3^KAgUDo zrb@{39Aa?8%J6q!FHc_CHY`G6b#y9hS&Gsm4rEkZXM5a)>1?wwM22-~6tlk@QLuzf zfq!yCZ^Dl!#82C&gpv*Zvf2uag~!YjK&a|UY#B_$h-EyL6B&C$IwLqKqj>X95x4X$ zs673_!xmwyVw1uYvNm!*MlOO=hlwh@5MJ{`21HOr3=CW+of$DlvCl*_XVDy$VI zNmB^OQMQha;f1~%U@4F$DCrbUajii9X>w_`$e}5~G3X=e3smXG%oFW-x;T0romSz7 z+?qJ1BU#dov2;|rit*d8dHAj-nl5@D*N|7GJ}H^No#n;U<{Q*W+|}`C+9XmGV{gb^ zPVSyYE!l&~UwJ6`jpn9|*U1Hoi`TDX z=aE{5dylGVIm>H-iyK%?YM0vXLGusNy0D{U^)&%)tfx^toBSjruEH~>N@VAIieEAt zjLd50zU2xjrE!(trG2Z}$m+)9B(2ZwM5f?qy+J1m&DAK zhucSz&IgfPp-SMz^X%FJ84l|*ssxhAT7zD)2+qyF)?ePkt1hhPqs!NWv$MXYR$V_& zH6GA~cAfQ%T|m*@^^4Kp)?ed37bu>Wy|cm9SaY89N7#Y&5B=9a3?}n^TkCXvGJ1dB ze>2HC$Fp@lw1GKFu_elezpFQur_>0k4YrccCD3&^lvO+T_ zs#;W5Ts|BF&ymFj?Ok5>KAqs+XjDViuV`HA-EO|C52r)~mMJu_cy4;J7#!Adc zkAyRjnGckj#UbTmR*(Wdx9=f##IHBn_Xf~Os93A0ZLtFBXUN4?SzAs+Gl){r@KeXJ zZ4IMhB4R!!HO9@s3OI+kOE>F!*xh@%hF1GrKsJ3siZ;|<3r#~yJ~sU1mAFx?_B*5KIywdSradvCQEs&>t0XW5Gofr&VXvEy>$LyBTx zM08-3a0fMi!uRR~iMzt^gKByY;tctPv&&QyBR52_=p0mZlWG|4va3sBwW@;k{^zQv zs)GE2k^uke=?_7Bke~7lC6ZKCK*kZUwf*Mm^xb$6n%W~>eD8hNu}uw0WoEGC|JaHEEIVBr8xDqllgv2oMqr zP$!>m7LFZ=LK(s}tfyb`K!$;)h4$`*=!%S~JxvSi@gnhBU@z20ot9@)@@-`Sy=%ns z!l@nc{*Zhq_e|N)WmVOs5UugSyoh}fhVCPQe{<}P{Y15Qxwsu>?6CZXLv>r4_id?0 zZehh?MFliV!ObdYmi5dEaCO9(c}g+dM-Za;8a38j9g`g3=rc-mm;Bg~G(41wn(l&m zJ+olZ5G^fCqbX*m@oF-<43xvO7&R&%Ldx=gG;9%3(|`%Qv|I}Y*I6yRl50U=7MR}b zlP(2bSeOy*x5Dw41|vMoy2O zd(5au`HOiv#PXYNhe2nlM9Qt}U}^pGii#RCYQv=Ske}%|48yjs4sKc1P_>pcXadqU zK{$Ji62Eqle#% zUKL(`mB0K$_VSc-i9f&kKK}gY%nOHO$ocM3lSiWC0--@vX-C2PJw&Vb=>ljX^SEk3IyCj)5Rv2ny-YB2%e+hFPS5QTy*l$K&tsvf9-=A0Lmu zxOe=;#uvx<&-e>zRT#lfgdOw$s-H2Q2|06)n~>MCw_|W-T^b{cwzdIk)90VYxFeSr zkIwz89-Xs2k>(`km<|~nWQhcEX%a8!!Q~R{$hiV!bH$<{8a6h-9HTB9*;nmsiY7w< z9eBZ;CdWd1KyDQ^W`r$BjWLvDYK?phJXEcke8Le!-F-%E0;r!$F}Y+kCl7t&8n{5k zMIx`bSF*93pQg-(q?8U{;EbZp2|aaHJ1a6d9PqirccQE(@KJS2_7kN}EbX)^Q}I-ylwJ{c`G4 zrYzjDA~ls&&GLC@?pxjGp`Dti#m8nU-rGjKAjd@6i~m)aC~~Cr5~38bjV(zI9}eEU z`QLZMm?o`7)C8Tf8y3x3M~8X3+OOoF<6)qkaMq-ee}ON->qt>t_@p`(KIVCw>lbdq zkl=4(yN3>=VoWqn=Dm78Ww$X$StTYR{_(EfGZ3G8o!7XjM03!fa5b0=Zfj0eXS7P2 zfsT`r4`swKjYy=t(8Et9TSL;%c1N`|c2&$w6GQ2}cm2~JL~FlL{1)fI?8_?L=(*rn z0B&+Bt%@fJATcQ6VHIj9DKD}Lc|YaQ07?xqB{*W3J75#I87sgD|MGAS?SBoLo${Wj zX#X*1kl?gU)Cedvtut32$Tbr*5=|U1dYaw-BoNOqC~F@Q^rpQ={BGb^ zzpx=$n>(cz!J^h*gGWeS{wmVEqR+L9YLC}8_)^+-|KsWT)mgtwi&97od0j~BdV5Ke zd>!>Sq!6{HE|p$Da=4^$&HVC7;_V6Yti}+p7waP=vcrid-_)L>AIsgZy^|J=Z`tx< zyx!2N^k%W#tJ^P)Ew~AMgcEAMgeTR0OwH4zT)&Uh`LLfA&yZ7$0>gAhrSq3WyEcor z23LvjF==j^OhxD7E{BLENz4sVzf-|wj;U#5S8B&(6>*D#y{_insx#3&0}?!9-qoz{ z_z5{B>qB66t_OvwrGH}ynBx>Nb!ZHCR%VR3Bs!jtU;Py@Ib{0O3AO`bivvmA06Fa|G(egy~AI< z^}lVd|L6BVJ^UHH{{8p-2mgPE{Tn1UbRa2bHU6@-f6)0Bml~s9>A|zkL5%0)CKuE? zcv#tP8Ci7t;5rT`CbY8_k4I>kEJ|Jbm=0rk3MVKbAxLHLq#~@q3ZLUzAg|TS$D9mz zB@~gf`a9M#^u>jRGF@W?_%IsxB#NxaQ(NOt!%6RBR@RcoOluk1XdPXi7ILJMQ{wO$ zvcuQ;eAaO>cST(CeaiCYi0jw0VA#@7(INIU9JV#kh2L&D3>W+~-NVtaV-u-hQ-x1F zyivJJJ*eG!>5vX7l zN>zUT!iOx=%D`X#QfMjb!3YYRERhtn6X!Sz)yLXHw$5m z9Pi&CQ13ejmCvQ7@*Lt85EG-N4KWg}w6FG^~^nHYb!e=%U%#AmK3@i_u6WU*bl zE|MxyhC)N+j-e2Nw}?x5+9h06?wR)v237Jk&ItNQPu~8G^Q}c>ta3pfCwlp6=Wu&} z=Px4E!14Fq971P~y%bixZv{16>EIkvnh;rc#oIjV!=%YlXy8;w=jFCgvS^cugHm&^ zvrzQc3T0ErhK)1hLiI_2{Hb+JI(m6mMc9SOixyr55*J)uLQ(;870v2gHr1Sq;5}@J zc+@9e%8yV#CAV*miKl{&89qUMX3b2QX^hLM?47!m8sC$x6SpH~k(IwpBC%u2>HXH2 z<+yO=hTO>0iu=fvJhcHOM^7y7atSJ3@q!wsUn2Hj>UKS^MBD`?OKF`s!w?nB%bd#K zUyG5J@tA_vR^NWin=QSYzWz}-Nuc@OeqiW~zg*5Y=2=lOe=~A#dw2#z83#`x`EDj$ zwupW+6SQrQtmc}F!`PSkNtCe zgetl)Or(OGdz4W00b8&3bp?VA&r+WJG+Mrc(H^j9cb&ckYz?eZH+66WcG$!gXh(RX1^cT{qDKKrle-?Nz`8L^s%ED}_qz$_Zv^2Q|pm zcXayqB}j7>^P_UEoS3f*bnA2dyz~l(o+xTy6#6XJik|B1Gc|dtD^P590 z$%_r7BUnV+m`ABxCxB4anS(W7DyIO&jM7RDO`MK!k9^3SCv@-kCTr^Ft*qLh%moDCkef`Yyt$>g{xn=HiFpMa z&amHMU(xATX~wOR|6MxV#ssqdSbetD>(>^$oV76*lahBdM9KxnYW=x)J~-RrPX?%G zX-L!697)&S>~hO=lgU#(j!IfLQnX(|zExZn)B-zF%cEGP9)svyK zAMTuPz3*M(z=|-9N33sRX(?8J7wL{nKw{-xO7FgR^F_Yv#*gfmhL1xl@R2DsJK7=J z>!}O@91Z0^oEoA_0*#bL%~wrbkDDBB@buG|$0z>a4kn<(#p8<7VMp_)+^QP7OT)*W zj6rf@(vSDA)N=rA`l4n8DM86@{$F+jSg4QJO{gBX^K;R}cMgwJ-VsE1G_9KM=m8VN zlyDwB8jQCv%K29BJ!*6DYlVjWtKOl&kwV*SQK4?o)u|+!M-3{*3;o&vo`jr0Ls_3* zJdHna84V=Xes7F>!nbfMCT&XuoIEZ9El`68;MR%Ov9F_roCMSHnV~HBG@LAPp^jC1 zw1G51LA#fI!22`>LebXEN%;(iMfW+?Gc^k@Zt^#R4x)l{NeXkyNcFU_v^7u0F#t==Hr;u*BbxF+8t$^M2ORKtRAYw`O7x zn-H2BQ=J#3WScZcBf@+-I{oT(xkK?>m@XHuA{Tw`-};|EfH}`Bs8!bKR-q(7Xp*LN zkVlVJN24y!Y}ugpNw~$Z^B;$u-Dh3!gwQlR-+sBj)1fP<{%Z3nQfD`}4r^_mZ|`pI z)Smu%^Pu)@Yj3xU_QBI;L*FhJ47waK(MaCmQPlJ>*YJDi6yN&HsPG&dOZbd+Cyfx+dko^JT*vwH3P*V9)mY)n zM~_w{l6F4A_~5Mw@SL_Tgq$D@0zEOj7rYr%NL4-Jm`)sf?~St5#2z_|Nc=%HXzCF#lR?3) znnz_iYcjPPx?nZy->skWEkIOH+c;u&zdykbfpuxVahsh&kEy8$&oZVT@7V0LoO2u&tS z*~pFims(6CxFqAq$fq{bgK=z72?0B~lw!XPeK{*P#(Qq2JMK0v56j1eG36r79_@<} zfV?p{0e7y@DTvEaP_e6|Ns0J-q=y0Ot)Luc$rzsb2b2%HTG{pLu2!OpDk~Fl)mx|h zqvVuqObt34p^{Hu&vD*dCQxNk0J!7=X&h$>8Cxfwl>AT`3#4t-QVR_yP~xi_xjwbJ z%k)Kfy~|CGK8@w~Hng5^Z}k?M&$_izlJxd=mdl@iXXi}WM_h1`e0}aMEUs`3Np#3~ zBW&+#G9KWJ+YBp=EUnmAUDoD`kXTcO;LfZQi8zG5w2vF;rt#5^ZI|1#VRis zgg_=)B2dGX4W_KuC2CY?3SC03#E!5J6{9%50*b4ckZKW9(upMH-#4Mnt|`l=ur~Vu zBC?2bO%+NMOBqHUIkk~UlgT!3zn<)FzU*}OC43xF%Tyvxy4G7XB4iF=o_lZN#HWwC z3xA7bhg&XlAPV$m7LzP#e+BxW&79Qiwl{{#o5ztXL6WXd~Rqy z{PhIE#7#j&;WB=`Sp_tS_Is0e*tgfP(YcTAPMh^7*cdKCo=cIuH(^O=V8_&~k1ty| zG6_$d<};nxo}N>|t( zOZf_;Er$2Bzltm{RNfmR!pYkE0|?a1H@sC`vUr#Vg)(LE|BOCJnjEfOCBo5`cM_@` zxs(xsYcH?PCj(r;B7di}ga#Pyq0snZaFiBlIu%$d`BVUzagGMlAwLnroVnWVr*y<^ zX|@~(2$br~kJv}lQ)DpTP8{0~mNAv{C)6F~73X5ap?hPhuCXvx$q~&SCRnULvF<2~ zMKhqH3RVmrwdVRaOernlp|hYk+rtwJPPSZfbhhex6A4>JCxuOg-DxIb$o#>~=B<%1 zhn<}QgJmllTc#O63YqJK^<Q$6JGdTkKM;44_Of3ucorYHBo1Tu5rj&mf^W z1S%(8IR#+M1tMrnYwKiop)vVFa`YU9M7_1vk(~h&juj~jzE4&(({6%Q>c2qlilZQZ z9>aZAIGN$zVkVlFA^L}rvKu#j0HinPI4bIpwdzFiMRuAXIX*JK;FK0yd&?XQDRt;P zgV2g0d%S(+8D4n-O6F++?4cTFmptAoYe`*UEs|cqDy$()?P$0?L zI2RXSdr?1`esddVUXQYK7FEK2{%UvYa9it9Chr7^c3r7I$p5cHfOKR6W#Ax(P+af|$s)DbXhiy;*d zImh|Xi%Rm}BtCB=dlhF$26I(th@sJjG7Gz%@1S}#It{MxFIWv;LZwU)lm5t4Ex}8( z&q5;n)9u6Ww!58^&E04Cf;(4`|ND467+v9HS=Pm@?9KdZ5;;6roqvC|xx?&Mq7%KS zA@z6j;9&1N|NQVp<-tMc@YTVt|73f2XM4AEa`>WCdfeIRcGB0_0%CLUt7Pj)_8Zq9 zNikURv9MB7HK4i%`U`c~Kzwl6qTCW(wUZGPj30ZK170IGQzbSoL4_FggF+{fbe26p zc7uZ8l*zrVXM?f8Ogru(<#70xhnhcr9)2%X4!S^{gU-oQoX+^S&TXG6<1ufz4d>H^ zZ5JE0UE}rAYs4^#aUl<$$3-@GK^wbUoBQ3)vv4sv`G3-NMH!iQLOOdYKc!4pn@z50 zQyI6rt#VLTCK6m5n2TnfT6bx2!IlP6uN>oSe2^q?F^kJQw8vXSAq57J#?o>{^u&=c zwKfz7T&+-<%PfvnwOZm%(K?<6n~W8NYal>A@I35qbT-v0|F7F@Pwfr3HAC4!cRKRe*7YN`%U5Tt$}!ul&m3|o|+GS{JwuW zU{WWWQ2ni|t{ZUYcrWl0(ixW?l>8`^!ts4)To$uzuwI_Fu??KDEAw=*Jyf|dv#X_3Ms5z_6H1rqqi}W#C(hrE&Qik| z&o&}*uj+wpe>RFZWFc$+{7_7<>Y+zDKxO`s-`3$NunIWA;(;p=Ad*S??@{|pUsyPW>6Ph5bRoSR z#i~$Xh)#|5b#@~wF{)^D#q&F9WMVLcAYC17%s1>L(Ns zH@*Z&4!%w!g!JC@+Cd@d!+#!(2d@X`gUP2DF+oNT4!G#4ZG~c;p(W_jHG3WQHI4fS z(JYjy`rBkbT{&)ch!aMy#=W< zG?k2nd5AI0*KT_K{89-qfIrPcvA@vTUfiE>J?bf$dEk zl_vdVWT#cgg8>?*EdnOrT*?nxRmG~6`DSaZC=J4<^8?OyA@r&Ejr||W^?29uKf})>gLW?EG@B6&aJH9&S@WJ_TUSonw*VJ)ez(@&3%Rf z$1QzOS9y#6Qs6b5AqR&iFFFSu1S*N>`e1kOJNf%M&eUj*;XEU;fR~YA$}Qxmg#)(gN>Q8IT%twYrQypxr5)hjcEt3zaAO{NAY#`S~<`(j*A1g!&4Sv zu6&fGDt$%cB8OAxw4#R+>%UY~@!S^>=|i7a&5KRa=gMMYPU+%aaP zpZFQuP*`QDy;xGAQbuUZDj8t~td60x=1dE!m3~)+;0KjHacVw|HiB|mQ*>C(G~DS( znxBW3!b`NU6rFbKO%|`gDQY;*8g2lVZ;X=;OIpwsi!rOBlnh31jK`%{w$?9PkEz0i zbx2hd3rLEd*}(DT6D{;@eYL2uvXoBL<#Qa|gNiR2!dlu2@U|dn0SZB)O2wG;0r;{SBCrueM>yEt{Wg2; zD{|;Z{z>*}R)0wP^G~u*HR*tPQ&Q?fJFYy;8fFzWA(*DXmdA7H+vw5H&=omV;0UUi=}Y~cy@uv=xV;tH%5S`mdj|R8^w~`6**4IAjNf}PC!9TqmH2@Q z7HqmZo)DWSl+;L*#PoE|FFM`r?);7N=#;SEI0`mT5sy~eT8cmA$KyW$`fHF z@|4pk&{d&zfT4XXtrMu!2z#z2WfE=8xiq8PEK}Nct2&6l0oOsy^|24Vdw)Sw=iz&a z$*rKO z2~2yUzr|SkZu@ZSg?`tS-=el|YBB^ASp4D>;FNxZACkS8DwEx+z7^J8TVmRvND3n2 zfu;qjiO5^sJO^+V5!xPZRbYutaYF3pj0M(BdehqI3gVeP?xdLSzYddodkBs8d9Y%Z ztg5M8g;n^>&iQ4mE;z%mS6X^5>5YP_mi!xdr5QV-+eFnlaYvX2%vs6BTXXlx#f9qz zdgo(qut*N=CYo!(R$|vMKWq}@`EKaXnvfvLRFw%t7snyk6U}(Ar2)|-`Yz>UDX9JR z;OwkF{4IMabb~r5Xnt*P!=E>Iu7maw>cO$p$DC0665gY;0eqiVmk7xe975B|?8CPb z8~%z|&bQ~I*S+&_)bhGu|8{5Z>Gc4w!lF*=hY}2tik@`K{<)XAODbybF1}#74bzvH z8E>5b4$y+yWe6d|<#!U&UDw*HNTQHSZNd=r4g_~Jb}VTR0V$|3th^QYt;E8)K#@p` z>Rwz~Rj_oAj@!Qi_h;54|S-pPL-5Xkl9HfR8`>hAPR>Vf+uVJCudg|@7*(S7wg?b zoTx~kjvHqhosXye_jJdPkA*6EHY7f~i7?fiK@FZ`LEx%?hO80l`?L5<(~%b3IPzkj z5@M^{#eWargf#43WsnsjJRy>-??o9<8gHanzn`p3R4z2WkaPsD50|*Eo=C4da<{VI6=QU*} zF^)qxmG&>CuN9orIoz=wx|Ou2)^dzsh6-KD5ie4|{JOgB3W1<;fzZ-^iz6oo+oH25 zPJ%)+cB`}8Qk4(LQb~swAB9r~r5!#C3{*|b496pAOg3jk7zPredl-pM2(CJlay#C& zs-DC0d(;X8_(?DAe_WtjE&mW}OK@F{{eNZi{(_|WQ-E;-VY%T~vnL(_vPi$P0J3hq zesOPs*#eAc2nJ>wPU@K(@{7#hAkU~Ft4*|66k8Z}far#2O`#&u6fT^oEqoOCL(UQh z!95a|2Xry^5Gg~k48D-JCsLbjt^MEsbv*v!UynA||FgILx3xRR8z<}E-^HWV|7Ie3 zn7<;2oMjIZPx(WA8e|m0xNYU%@XDaK$uzrnwEoRMe)0WJ55N5R9%b;l9|o&yY>f3rLlj6-TBH^sw36oB7Uc^EXlxxD?baWk zs3;qq>upAKfDML&6F9!sf(i)36-RH8vLZ)v@NQgs2L=P!PA)%1`s94Jf=>fQ|A=FhB%7CHs*$HWiCtVh3T5UGf$ z&uQ-ejNC00*lVrHqfCc{l_HF_dEu)Oc<5=~9h|efbX_&3AMU~Si^7P44F1{C{pjcp zhs7*P!-dQ_!Eiud%dn2$4c<)XUQN)%z$oJC6c?r5;HdXs9wEyx-sUa!MU-MiqDiD? z`qwdgLL-10wqeL=+10!sy`O6>9?v3n)+vneuc%2bm-Z-wS{)X)x~ldz=Qh}rDpFs#0?oFnCHy;0mY2P|`bHI;gQkj**I+yv>JH5{0?Dt^5BiwA zLt5+LbisadM0YC+i1+Q@;oiy4=F`rO2Hzdf-O7Fn+jG{}hjj$^Ju6E{SV)N7z03W~ z_KR>+{#1KK!vPB0+?PJYxw@DDqTCKoe!?Z_Wph zalSVkkbt&-IqaPyeUS7}byGLEjzYRrsYN*Kd40#W>7$swYG^oqW-b(O4+ANKHaqV< zgfvT2n?&YZPLkV!6syq0r7)_X@0^yUGkb|g5*)cODN3S4$_MhA8cQ6m$>+U_k`cHM z4!|mP4;bnD7+<*CUduwlJ zZD(PtU=K1$g9fz>QFg7|WSol|2oMa1fPGuamt^2eY9Usk z9%PN*p%Im>LZNbvFp1_;)hmK0K-Kqp=siT!xar?lBWpncasC0-9t>%%T!rmR7Uv3X z!iYMm#(*fulV_H2^Nt<@dC*v&kits(PToD64__r5QOms`Td0y)1TyAJhPAb|fZ+yQ z*nZXAtFXgfw%a_@pt>6i4a$7rwL9u0k9wNRl0@xbp4Bl3$nn*_Ly%+iz}8=2UXD8jN3eU;(gPn%6tl6*KLSWX{xt7IN{yluYBV zWIZvQWb8F=l`ynldVl8hoR|UucWZD?ZVC}diiX?~zwD9kU(Z?JlmbuIXxo)>NMVNm z+m83HimR!jn?%-26)h6N*m*Lk%Xp4o=v&_8V>Kiq#OkAB;b!amAQJ@&WU& z3X50!mie|#(+y6O#@R}++6z&*sMudkw(NIyPn?g!`w~L64GDo&f-=EKtSl88M%Q>l zVd5R$4H!R2s0TP!G?&vK_9vHBr6x`&^ytzKd?hPttdjORbyby3;p+1^0HfbARe^X~iJMeY zfvf5p)jXyt7G-TPSzglSJ@12DKC5qrLlHlXBFp=Wsd57XfTF+>h~Zz~@~=4usJ zF%zdD82?PI;r*`b;U=NLx-@H2XfyiJtaW@X7J?cq5>t=zu(A1d&`ZQF^z~9FkscD@sA(I%v-V`Yod$CQZFn2iwx@8$a znSt;2*^9Nr;Y%fh#qwpc%XQEuw9jO($hie4N+b$>sm%BO3q)rX*W=|80x*ixI7}I6 z@?8!%3Gl?x1XrV()?vOvs~^Z;yo<=4hH$(Z%CRabQlCK{>iP4*M;76(SV~4T(88rx z$%TRtz=fVO?}?jsqeavgDTF17HGwY4We+_J*uPwVl2^~CA;&2p9_5UU@F~=Yt#`fQ z+ddPwvH@C9eumpVBr03a!fF^SD z2?uQ64Lxd|`_D*T&)uCSx$+oyBx2|4d(4SzLTM6pHYTsX^bb&+Dj~Bp%Q`cTd12#u zp4wagRNPzj{i@?jVN)?BRFo$VPHX{tTmCY@D}5 z(uE?9$Wp_g0FKsi6Txzs6|c#(z^RQ?M)^-fFA|2JEd2)F9lRfJp6&8tw`s z6$EA)Pu%*iQGc7l0?s|sloe#NZm6y~(K)k!Y)j-xPkBkGUJECDsMSMFXYr6iq0Ly8 zp%hv#Kqce^ym$)us<&h{)5biQH`9>tK*vm*+@S$nRPW<%_@)V>RlT^>vc8YpLjo*% z4(p4%7RLl*mFX5Vvgfl|iD_n`3oqQ}>^4|LtQ41PSF0?bk0kEf;7yUl-5|DmlzgmW zLGdp9@BHdwh)_LMAdy1>eYZw@!Rc8`ZJ6lvRKAE!g{1SwR7b)Ta$zH&S7NGD4_vY) zd=y5o2jQ*Nd)=CDnAI-<;%o*B$HxUWVTmBfZP_Do*^nU>6q%~(5akRcNY0&gUWP~6 zphf&D|MZ2vX_~RDMLcLsIEdJhBefS-n~B^Gp#V*&b?8iPNzE&^#dKL>H3q8h zf5ashI0_4{kL>BXjwWNf@Te1R^q0;#+d!9TteaQP!&c5-L1JGjpxmTvD`(5dgZ0H1ii=y3kytJ8iXb12`9$9GBc59$udqRPmohJ+O?@`q5#QPfSJtj z6wW3*lj*#yaC1GYc>Dj@dlTlmj^s@AuOJxo1KDb^mw6E{o@C30K+u941ZV(MPY)@> zAb3gMX%L`sK`n0UzrXLxt+MLWxf=jA`;EghE#jV9vvSX@th7dTmYAfw6~~KS++R<2 zmX!tvs!?j&o=;_xB0VdvZ{6J3FH-{}D&~x+$GAze4D)Kt{XCNcKJk1*s%35RYN?uy zqJFTU#T^n$72=ktM-1^|_q#$@HUN2Eb8V4sqo#Ys){^%v4!d^zlzF1TUlSX|`SWQb zLpW#(==w)gwDh|`nH~bnPg{=%p6T5#i&t-nNpy{-W>dDXMq-x5$6WknZVCKZ&Lvc9 z=5-(S2&EPesXL5JXHJB_PgZEzR-m(p2vsY@9aNfxL+JC*S8@oI5$Z{Z26J6PI5U>I zxm|~lkjyyqT!!mqe^7$GUEd9uvXv^K5M`%t^ zYT4Kpos8;Lgrb*u_ie-j-Efu=pxb)x!*qqK08G3r{+SS+Knsh{jqW3Y)`VTNbQ%l$ zh~+$}1?@n~(Ns;$5jKQsvB`^Dt6qg-{$>L^1Zg3PeBeFhRr2#ludu0x#5rW^g#q73 ztuux!=n3Xcq2JYJSaTLQWV>ji=@*SP(~K2*%WxFSt^Ur~fvM6}e`1-`YDlN)X2HfB|`mEf`=t9Zi};;i{`TfoIHmEwE8hkD~mtg&%X#$%7$a0W0c0LsrY+p(e&*c`TS zrOGTAWG2mwwU?{auk@1Xk0Sm(uSuxZI4~Xxw>4jO(4gChod+z4ad9?@p$`+gL{nxC{InA znxG)E+L(cRY?m!f=nvPRW2US%A@r);(hManD%KwZY~oSA0h5i(V+SfADYsoZ^wmt|{Vn2k>*X!) zq@Dq4W9e_-M@D!d%;?mw5u0uFbMpC95{7aslm z=J4Q;{KwA!+&$)hSqnsb#B1NFP@dH&Qnl4YvDP%8ZSo91YZBjxrseX%uxZ?b+7rin z2midgy|s6OhZ3^o+H2}bzU@05U3sl>br{(5UjweCz}~^pPR>Rb6+v7ZZs$?H_iqPg z+c^SBjWDSS+TAU#m&|xLe7s=qn&o zUst2QEobG9V-E*y=d87>Ri>4;YHO@ErPkBhetx+3Cy?>h_8)eRWzT~bX>7gbh4Wi( z@l2c_fB!8Se~f`z@DHa~V%Q}!`1^obO^#v|rsBqNUP`NdRbf1gJOCu-og$ciq28gcu zK7>lHrQqU5qY?)yVhpy}1dyb-XF`3-UGsGCswXp(+z4T^tjvZV&rUDwGRH(jwmt~q zHJboQ3=iCQfF?ZD#cL#XA?+}2@cG3R-%g}bkW|jtFM-1`X^`;$GC8g7)$sL>$=ZfK zO^j9&Yq|Hd#(NT>yrK@N0Ma5#%jtVb?ccct6#c|Ubf9wer>5e{kjkNCxP|cA2i&Pv z#U7y6I!=F{{DhL3ox=_GGLv#nT!IK=T%pecJuLnlLD%ROGf3&bx=*zupF4U6YZOhm zcIj}Af)+wGz5bPwqI{%^-8fQUs;a4InT;q{r%l8yevXQWR&d(L~ z^-5{iVpIEsp8(HBtQhJQ)wIlV9P>L>%N^avXRKuD{5kyz&voakw8?;sqEEwEb-fL{ zD5P8ofp(87Xa;n&s9eU{qMLeB)7c<(TsyQZ9iF9ghl&w!Og0Fk88Ogr)d zZW(mxX}wa_{KeTj(z3L&oP|s%bg*=w11qrRUNvg}w{o;8<(F-nrLD;yBb* zlO#$Z=_oY>j#sY5d&EXN({5>mlQ8PY*uX7xxP?924cU@%sQ@>w#a&EwUI&sO1`0w6 z^nY_s@Nc}H;85_$5$e7=l{iD6fS zCxMeA`6TQBiK0>ONxWku4$HA!@qqY;AwT-=w@7 z%8SHPxR2qkR%6irtIz2k9|~(jRdegOyT7%!hu^>>@6fm15&q848eJ8I|St(uGY= zr&HlgU0Qs5`XNo$?OtN7LhsT8Y;F)iLz?{M)$6AdL?6!z4+Sxbz@C{qhe{*R8~z-B zpN=5dNEQU#D|oL@Zts%u-q$6@PZ9F1nZYg2&KWWB&nXLW$Fp#LYggo&G#pd0M}nUi zZ?%x;@Ei<`2((5T4(s@3UzD8A>cXx?7|i7It`qmWMKJS86tmVH*V9^nw`w}6^;pOV+Cy*9{;qQ+$2cYgq^nSsM=HjIgET-d~uGd z7BYQg__*!I&ftJu4~KJ!YM+GF*&?zmzsaiKl6(;8LTenEsQatZ7TwZvvYJYvW zPLkJtdvELLD7)=<_m6iDpKNXKAI_m=X^k zf$mrNntT_!pYgF0QNmPbD8Yedev>SpFE}krD@gXrDAOsGE1>A4q7?&mhruJ&FN!QF zo$UtU{1JrCa67&-h7k3A(l5?asI;R*kgqSRICQRg(NWf81Ph9S1d(*lg(oO$a-mO` zp&c0w?C9M?0@cCiCm`q4ajRmIB@1*Y77>Eeyr~Sdns6wmx)>#rE|fu{Ili(@W!SR2 zbQ7dOf+~YYt+(Tyqi3LOsl-K0sKk0nhG1-3{Mbx?Vr3}fjq@iM%Mn^M(b>C6dJs14 zN0G5H!1%pc77#+9asvADOoC#F36$zN9F>+F%QaJ5NgKH=V`CxY&r!W_$js923L4{G zrNW%j`IZ)+2QL%H+A%@R!$^%?Fef5Rr;GDsK9n4)9VUP3T%%9q1(EHLN)yGZ1hDmb zrd9OKwCRO=i&?tRS)cDRyoZ}%YjfSv{;Toa0;0lllbU`rrdwseHI%m2p%2v-MWgE2 z2~xi;HpZN*fqExP{3(h`lB>pYtIXBRrH4&#nLCdjyguDYM`Gl<8#Q%U<34Y8&E>mo z5?bU0IoWxlv`vCDQ2t^{?OM6S?aE`&tZE8vGi<(Xns^0s%jfI9s?^Gsg?sc_VjZ@* zLBis^hE4Y45Nnua!eI(t0?M0KG4%tA#JoQx&47VaI3Nw7~i3BHRovy24T` z@NWI-g>nW-k7G*!BXy0%RBtE!Iv>ht!VS0@N2;Ui_VZ{sEzYdmzB`?Pwde}6m-a=j z)UG9TpC9gI1`&w`A-oetUrc7GX>*d@xT&vNWlLjT()AZ;5@a<3{)j#nt=nxWxi1N* z*KX%k!;3}GLZt5@(@*@cA}DVr&Y`7+4Q1+^I#ZUlp@xX2@DsRHOnew?3mNOx95bqz zP=;k0wHgxtq`@#8y(gBB%!ke z>Z<4o+}*$2cr~bic?ambf4M9IH(oSx9^RH)w7*hi1v3_LGknXH4o?I+(3RT7hrBk93;*%p*YnObw|g zQed<9T^REod$lcX4`<+G`FKX{| z5=+)P#(uGRgqt(}`KVCAqXsv<26K}QaKkZ?BdeKCz`JS&VIAW;%OZB2z0~v8?zKM5 zp(-n#u-${ZUjiN-k|#hQ${-ymJVu*QA1B{ec7S? zj)o8LK=i{w^SXQ5^+=D@0@_nGcV1O*viM$~;n>xzvntWP0AGLau#|neE~@7O ztI7awwj?XSEIpf>;JiOYc~DmJH10wN)y$Z)tcpMQ1(OFbLP~iR#+LHmESz%e9_ROy z>vxyDtxAD86J2z{h1T99MszfKAt2H_#;LSaavIq@Ww@8fat zYMgYHBSSOBDL|=$VhzN&>~Oh)9{uL%QD|5-9|Ap!Jz`$KP2oE*mW3{S`;f{)E*N{^ zfQfN+MkXu3=vbJPM&;(Hmw6eH3LtVel{2HhL?b6u4bv`;6M0e-hc+kc7$s!xgRpJ2 zm>%1xhID;uwN+KiFBVc7xg2{6Usp?u7Q(m<+j~csb(*o{J=cyT?~QdnPQ@Ulcb}o` zvR;|YfxG_5ok0cl%0%jfYw%d09ENlxXW@=$v8Wx3o31imuDZonO=pUfIwF6teZMh7 zrl09IpoR)UdfOBNtHHO?(7lo}#t4eUzvmap9|XRKLHiOvsxg|9SRUC)$j09~d?-Z> ztC&yfS&)!SBH=@^aEsbp}OuUltE1(Eizk7iD-0fY+INfSKIXF z4hoMv`-tM#7lVuGgH_u&W#sxSa#@k2;Nd*0*?TP2C0|-NU{%FW)^iW_2F&^i8On&m zy4Th8hOTm0={j}ibI3b9?m?V@&XAx@1yH?%sYAmzs%(#1Ru##Sx(nczQ8epgky#7g zB%HyQv59PB7Rfgkw_hrev?EEoq>2)*&yV#6}~SK z5gPPSL!~keDy(!cvEv|IH@1MrkyGJs0(}t{rbT852sd>2aPPs+GZ4~a<%U?$q4O}w z{lvCZyRm9(izJxTb}@j93Cgxf#qkn;WbtH^YpByI>|7HG%WM^ex^^OjY5;8COrJ1C zX2PS1iv#`cmEO~nG_;N~b|Vc>$L@^!X{dO<^f=Z<#!44WOQ;6w>Z!S7mfx=~uk}?TH*opW*FYH-T?t8FS&L!y3S9aCbb@ z|V;wR>8TiJFx%&(M4I+vL3R`?K$bDQtXydIb(IK<>MulFVG~ z?y0O9IZooYwOYv3*lz51s)Ue%xiW0bkXK|FII?PA4*UOlqpoG^(5B>r*8-NI$o%52 zF(fgkygIwuVzaG+2VE>@CU_ti`mulG%rJYEUqF%9k26hh0In0kz!wPWwI1qn%EW)?s2Q27I`RNs@)>N{F6@ z3OKaRD9`Y-*66LAY2LrHpbDm4(i_IR=pSetFxGS6AQ;Q0ty$`zTYIkV*l7F;3l~2O zdzQ6_v>2&I<%lx2wOC`4R_d1%cKvk5htD_r@rDPphhFtYPqy&xnrBxw{1cMiuD?4- zGkzAKx?W;H(&aK%ue7|S7Pi8gxR4}(0HPu{1r)(1mlBo?yJe$DXvmnJxF98LhK9!>K`QaHf_}`_60y(#!xp6n!1MzNN7@C znuNc0AUhL(cl(dCoddsqd)%Yd) zImEEHZC%T(xRnT+6)mdTVkn~rT!ou_3T`iRbEy~00}R{93S{;+s}_+c)ETxhegENn zLSMmbLun*=us(kHaCwDmMS}9v|D0SgHR#3K70q0~WRWtv9`)BPMOLRvsump%B)b!uA8o1GFo>3u8x(!g2>~i)J)%T9IBa1SD5@AQ=bhrJIEQ3T6Kgdg?@Znl zMeTzP=f=iPUQIS$+_#B=q2B{zT99j_>D`HV7vlbdGz+tucOljS@+LmC#$CV z$Pt5Gn9TTka{a?(a&fckWm%;f1+5=~fD8+dmr5tHB>pn0*3@iit|McpqEz~--XU~; z0lXDjFj0{3?yqu%QH{RA5lKO9PR3PK3~v4)yn~vvE6<04YGnDcJ0VT;aj4gVwT%(|&jFByG&1U#j%@viejGa%v$J@EMA8^USyH`*wkHzzi5qUAOHPb5# z-!5Nty6PARjzc*UFwB6XdSz_T`m+>EM^ph-7^bt!3msv(Uau}M@e;MJA0S_HE@UYf zIF^`;&j;zVaeA|>ynwi~{mp^?#(&W~dv=JLg!+^GlfV6GcW3Xh{wDuagM1t!@@Ut= z)2Cb7htb6?jw9iMXIqCm`^Vqx9PJ+I=l0iVdGxQ((bivoOO5LfrTsSthsP&dhlg8# z%8kpfZ29=$`PX|pY<2KQZIypv3n|5~pR6iB9$(tu+uh&6gONM?`X&9qKK7>+Pms%V z=?58e3-74O2fnDrUpk=^`9A!88EDI61lgl7Yn2JHqT9~* z9`R^1%jZa^OCs)l<573M9UX7&Z|@vD`7#0p*85J~hAI{1;_P(h%o}Q#hw_t8Y}D70 zC2M%lT8aAg?(rXY@p$Lf{$q;N+$W{gQ2Q)Bsi<oWv3X}9_lTy#)bE>8(p#l*EfB0 z@JDJ5%C3gvTYxt5`;=HMZrN*#@_L&vUj@Rh19!`}`$zWP`KM6A_q#!5|YPNHBKwaEK$z%Y{mgp(1Do<+-ZD=Kf5be9v|a-Lm`R{-lFP9FRS zeRH(6>056x-VJ$6=G5BMT|i%;p255T^>t$_k~Iq_2i?~BaE@g0`9@@IXSOC;5BB!g zq3Ry)+#yj1I^7;koA<+{25CA)8yt5?-W}$C=Gk?|ORY&kTj$+o1h;}$7;d=lN4qgK zJv3U;c&j@;j+Ti7R6VE|RZ2$1sqZBp%#0G*#o^0)VQ#&=7XlyuTE&;|YXkjO0{>H$ z_T;Zk{%)(AmPcECbHRBnF-mObfy^8?o}JZ;Uwwqb|F^b*pcK*CoSYR7kL#=mX7?S2 zcu3cDS+Ek(LDa@sAx`DT-|8G|C>%pCVbaaG>rlmH-&63Tid*o_Xax6hDIvH?dec(i zHcoJ7U=)b=TwAWwVYAD;Y1kEvM9;VOFQ*mgx|LKaQXE|1Z?NmANW21yI9Ja(-0FxGj5WI5L$imB1jnMwVA; z=0%VX1_@GbF~|-$b7Vz}#2OKV*txp8yn3K`-SMD3Gba4!2|Wg>d_o%895c;Atrrk8H9e7X*MqVT z5im_w%iR98`EuX;2Njq=^Q5r~>|>3+=r&4aJ2xC1`0)n8b!4eaEi(<{i_IiCogGfz;Mw2{> ziIo!afj9?gPx{&3^CM0q*)=qN6ML((=KKOrb@8dJTMXdNeNsOi@hP@3yuz57i4ki{ zht>yzp^m3Wd?FEEP5nH0^}mrccVIS$*@BBQp%;Z^o%Wz34l|`0^RoaDLRg1e#|MWD z@_01qVDDgGOrASTp3Yd=;6$9NxY!29iRB+j`J0f9qr)w)!wFKy;9*r|9WK5)+ZwJs zD{(96vyw@rB}Fa;9U`7WlTqgd_qWKlJgihX4IF#=aily1A>|~dF^RMZu{xBYgr{Oo z<4~iuaUs2%`J+{}U+REYcFFqK-ShR2o#Qoo>;}iHgLh6>KJ*WFi&X>{o~;kiRlnxo z%D6gK5XMBNp`cLYZ)q?g)l$)wI&}bZ;MrOn4I&y(>=6nZvV{@wem&pI*RsTM^Hf!{ zMu^qL7*G=F*(FuFL?xO|S_{6BVkWKUMTaXKPPK;;2vW)Fq2Lksiw*+So;&;ebCzww z8cB1VH4XhKts2$H#*PY~ai~VgxhSM~=@=w`Wdtfe+!p@mh_{A5Tco~Q#~yMLV05K6 z{nfDNv(IiBdp;4(YRTNWz00@Lv(t0uu*>RRvs=7!bL?vJFt_ZJRKMKOIO$#=~ ztKw5`eFOqq_>5A-HZU{b_;pnTPCUix~{=iKa`l(RtQSO6hpFdMM60 z3-yiu{2MDeB@y4Y_+)2)d+XWJ&ST32u47`+y-8Y8 z>t%EdVW6ciBvi$;>N-i)qb9>WKDb{7QvPnKaWHzY{VP0DaQ^YVy#4GfDLTle`IQ-x z`ZRPv-5Way(YC%H>pgam`B-FZfIQm!X`?->{`(E8;ijK?T_Wr_og=qg>_Gk{+2wdO z3MUMPPJ-bYbn|H!ap>6xme+tK5)@WIJG2fTF+SJwj`y6({l4mYBS+hK_0z`mdNw(K zv#MHW8v*~SRI?S;I&&Sz+GRhq}+ohMt*_l`5^Wi+eW@@9fGWbkHU%b+W!B8GVP3{!e@dkv zAQD9_oZ-f{Wc~gf-+CyeA4J6ns#B!2>$kQV{f!j2it{Gmys5)1%$Rvixnb^^w4QuE zKnghkY3kQpD^}!{XDW$&S?@1c_oDFQTso$Gt_u4iF$)?eJQJ=HwI#$A z`|O)%o6*#`Qn3f*(z387nSnjB*kMO?2NEaS*&;)WMS39(vvuZ7t;1*cq5Gq%Yld*M zpe71PTF4hH%Gj7us(_X?nj4xrAEw>}kII*5qbHdWI1yeDkg&q&>m%2w(P6bSHY@Qg zFzru^cW>elrvh6mtm!a>egF34{pt1Dy9b;9{%qn5bIt26=#-)Zqdld_?7mZroJ_@GvQ{K%LK} zNM#J4gn!>vT?|1J!BZE&K5Id8(^92&<5G0Q4x5>d=7hi^VW6kqi;F-mjL*YOT5}Gw zMBDLdSAk!(QKH(?=$ck?GjuHjji9SbLq7+;0a2~nKa>Mnf(s2987X>vh;b##Xj8aX zwnyxWd&=HWvAl%#vWWZ;f*Bz`DD-nlPXL#2Vh+E*Rqtgm2;gm14jAkxEyo1HJZ{i% z`sMJvGe?z%7VoilmjiI)9W0dbz%#}VOu0(pWIi#wtyHpVGAcE@0sc{`8(3CFlH2E+ zrz<%~ev4k7&uWhe)jVsQM!|RGX+@;w=4p{eB(@5%4?29ZyGRvj#f)u=NLN&BGzGzu zkfYR$;C>|u$P%M%(3EFTD=a=K*PEyHer&xASr)Ceh(e=9*>WuiL5q7lOkj*0(5epT zIHkJawlDfoA2zD@55(B;4A1;Rk!T4SEVCDLT33&^58K(%6P-ebNk^M7<8}bvtN{AQ zO~F1Gae2@fZ{TUCyqV9xTDx-Aa=^ypFXKemca7IqeDY~E+bGP_dFcT9bg7>JWNA5F&cK$+l{GG3T2}U%Oz)-<);tr4g6(FPTN-R{M z6&y+|-Q;~=7E{Tm%9Qz>br{y(nPPLDhCsN1=>DWUBV&05{us?3^p20GZztQA7x4Ui zJiC>`w)Af7sErIX8x zFTQ}kfj0r3TwWb~y#DaOCCR2Nu0GID zBq^+}v`m*;?rK}vGz+d&WLQbLRc%i?11Y8qq52 zaUkibRX`*c z&rSWF=Yx1Q9O0fcm3pGp!W13S15zO_qUu8LVJj|=Vc9?~2>|vlvTJ78icBH)4-#g2 z7A9LaePyVX7BBIGghbf^nxG1}FZ0F}d+=;{xT}{?U7)X~Wv-;Lej0JSF>SSZK~c=T zKTLl5;qvOW9r+?&80c4BFT$gwdf5nca_o7nLV`~(5$T*tR!%gs`fbQRIo{p=(o{D- zjH+YMmiPtpcZ%%N7}+@YW4fm7j@+POWs%$w+ZX##|Ej7ykqKL!QR#iGPd&?(KPof?Iy@+sykfLlEV5@q!CtnSW@1nq@P-VVA_OQAN8Zc|SzzoqB z-20llc(r9MZO5&~(-0y-S5Bi=SDrj7WoPYZcr|l(3$-RybzJA2$^eR>kK67rXw%C> z5_ISVip1IQ>@Q*M5KB?sE_qjzJPkFn$8TtR3DWa zlFHb{ToiV^@n_}7`UZ=qU(K@?-6K_{>G+yz!Y}@MTgFWa+=OMg$aJXoO}3*CdR82? zNyI65Pz(wO{IK7AeZ#R_%70L|*nlH84KfmMZM5a7T{RwZMGgHYv$S?A+>&Zi`Q8e6 zgy}ep@~+GSH|kjX+fq~}@25zrySzA3qFbb;++QjgX<3U6RdU_cgf4feoT$)~*J8pe zkdC^Fe5?OSkyM!U47IS6cA$^z^68n3xHa!(Np3<^%$r0Jt6t~-{Xn6Cz7MlcLl9uk zLNs~BJ@(Wsj!`EYX_IFxxxv7|vZH|L#S)Z`QL6)_L1~KD#9r%&COR9!Z+k+J(aB~t zKSs)JND+>_!sSLWr{c9KZ8A!$u{=3A6yeu^SSuVXccNn{S&TL{s;N5Rg@gO59BJBx z1(8qzWX;%&0^s^wp@ge_08Pd4VSTd|aAEY~CMGbLLpBHF!(bg^YMju5)z%a;F`Z8^ z+FsY;pIfao-Ve*i>5T;j;qm)Y0zqQj*Q#7xE#8_P=}UfbP>pR6zdwBVXtNp*4&-=0 z?%vA_z6tm8f}&UCKaEuPK-4X-q~+BTE#;lLm*t^Pjv3Ag$l|UV*9H23 zB7kJja4E=K(^+}@1@kp}>3F?dA1-#x?1%f)+0K7_JUyR^Pox=ZVqcWx>bg)|SUVDe zqfjaM;LC7b?Nb#CMiWe_cj}4;-DG*y_3wEN_JvU6cu+wVlMpO${7)ISMF8(#+S?1K z9yr$b4>#UVFL1_uX=a0uHtKNHL=urec>qln12sZx2*%$lnT5HOi*I z*D*q8X|U|#dtgO+KZpS|f5V0fpG4GH#)|K__z!KEc<`-$s%G$c`}yJCpYjVg)xbyP z>6+YAE^5UhU^jAerom40HikGSJ5Oj_*+7L)FUdTeQy(0XQ8zlYV;p9iZ+=O7v_!KY zT358acrDU|GO#99IAjQm!vWnAbgs?%N!_r#$}IR{o}RyS{{XQ7n6KO%Z+|n)19y7k z+q%ce6?=SQY?(-Be3$>!7j*cqECY^D_K)C4K(>NcT|53}_ek3B>^;$bjEC@F3rn=w z9nl(Z*;DU74S#=n@c23E_pu2Q_9QRJ@nZkrSaopU=h!1X={#_Zw`J0&a}DHxh(W{% zr4Icl7ocgR48rD=hi8%1Sxoee(^;yp3Dq2`uAyUyNg=saSel`(-RP@g)WRpXFXbi4 z*a5kkOcF?Ewmv^-V+aP^JUYUAOI%jC4TCABR*GVx4mACb{cP_ubu6v`0aX9ZdX5d$iiDOr9NmzEFk6&HK~l=!1wY7&+;fD*so z6iU??2BlVraU-&r3?%EAf#fL=bAZHNlE9XBTER(ySulc7B{qVc2(O0SBOVx7U@XAU z!-yJ-c_Ltxfvde^OX%L)y9`)PhCY4g5?p)6z@PPIzR^746-eJsT=6(8GGcaCfDwAs zQ;1L)wl><#)T+?6Kp3$Ok8KC+Wzmk&X)Yj4@66gw-OeI_H@1Ju@wh=d6dHYD!nBeZ zbnvT50%&ZXmFq5EKLdhLQ`C#$6!Dc2q#;^;U#Z zgba=rEPEe>FtTK_1Ycxlto}-e4cq1RKrHLkcN5W)4GELOYs<@IF7AwEJR+Y} zez(#?>kqXsw=&tC8jaRbNo_2{;$NR19G6-x>3dN%^ITcw%)e9h%zqz21+D&;)SUcF zqmt%NIr$_1ZaQcFNwk~%L%aj(CKa{Q+#qSGR-YerLr_Y?d>> z{~3r2Lt7EFeA71K01Era5ocj(nIiu?fqhZmu_J z@e>HUTYJX9H^=dsYmu*uAnPF^#js7>@kA<7$xUw@!B8RAFXP!0^1Ud>D^i*C4yrIT zS)0h}(dN@ghsIXv-XpOk`VT2=ywh9)tGi`Is5PpjWu`9gnu)7e45N7N-OgYH*d^$$ zOF|HRbW$g*n@!k|)ta*vqKW~MCeYWF5_2bAX~$lAX9Q7UAc2{qUdM(fb{PyNui>y2 zuIX%nHmiV%?mOAZMAIezYEaQ;^+E)8*7H1-=sjw4a7<(!eCFPKe7(YxIeiw zrff|{!%9VGq}G)dY3WLxsO+#&9okgTAh7wM+_%Xh)}r%N;T8=gz=X!@vPb?FjuavO zhrdMlbnEKs^e5CY{KZ12GU4M1?#U>6E{dJ@v%nQ`#G(|vPF$HR&Xio_zr@wUI6tR| zR;bA8S~3}bIQHEois*0f(Vg<3c<#zL7Os#28B9Fm@5wUe)=PT2eAE| zvP_gxjb zE84hhrOQ6;VhvS-n!n<>fl&HcIET8Gts1u8=-}qMOs7`K>KiZ3KNiJ%f zCA$QPOlK!9ap$@P|6 zLvGajQ?Lc7*p}F&HZ8*g8!{TJ?=a+cKKY!eJY+8`@{B1|E}2zC;~wT&g;UhlC&yB$ zYDrRrF39Qf2eRsdAt{l#YSCxr=2C~9a)4qjdgo6ERpuSX0b`*8f5x=jt-3lQU2=Ac z99#&2;33@s%%s85hT0YP)}vgBDO{2aP7UkzfQ*UnD^@IlQnjt}R!2*Kz(i57#JS&$S7`R+sTCf&vFOxEvP8&; z<2e>Nr`(UHsMi4(or64VXpN+H*V^ZRB36=uPxA4D2u*_`pzLeqEd6{kw{|WS>9z39 zCsSvgAXPuEaEV@Dul@CPa8i> zuiwFnvC@D7)fxO!7t~wer&3!7)x6-^k7`~r95%S7IU^d+9##yu)0V16tLQ09xzZu& z>_H7P^Tc1_c2h_)IS$&6wH`6N|MZu}Je6zR4c1nJLCho-sFaTFTH^rZ5ydV&OTAv5KhBE#6d2_$X^AN!qo*_%3CGLq{~D8^OGxE#H6pOjr+%m!RdI zE~-;lVcIN(le(A$fT4nOj-mi`?1$gl(=*_x*FQ|~utOLSGHJiq)op34)tM+`*MI}+Tj zMWcUPO|K%Zm+)(awBEMYtCG8fCHQ3>CZ+2Dya?=z$q!QKcST2n?+$#9^GZVO1oD(Z zdlgZ=K%ki{%rqPh0Fgub#F?1&_w%u;BJ<;i$r;~!Vn$E?DrZ9V#4fCtu%z!R4^H$& zU+ocVgtTU|1^sJmKevPUEyqr@ybRv*t%6 ziA~QY?$x~i{`ALiV8G{Dp;`(}RQWz7icYFMW`;%*bQFjZvvsYbG5U4E3Idb*e)<?;+9 zXQ(Yc=NFq|s%Z|u+OU%+12K5Z6$2=UsTuV79E40 zejV13!T9jd2yclMvITY5?j^NoRlqz%HFAdVA&mBj<>krlpM8XEytv-ExV~c1KgN|7 z?N*U4h6^n%1*$ki!>XK}U?V-}i)L&@I-a-oG0zwTD_Vhn9vh4>RlCmzFiFxZDg$eY zRf%5iBQ{G~I8+1Jw1tYN6=E*4DH<6&C_nSgqz@yjBCX}qm6Hr93>E$xCt@6LZD3kh-Nc(qB5JP5K87wT>>DWC-(mz zCO;kdEL2{Lhh(rL5pLXf##(g|D>*M=TFT8#u->%7+LG`DnI_9N7HvAwfM*nhE=(ul;=3Q-S zgSLN=88Y9ioA|1FYmcB5$T#pVVtUCYr>6|44#!U463@$8BakPk15^~J$gLXSEzTq( z{JuHJ1?rS_4Lmur?>A5O&;3LnbY*0mhPep%G2+Y<2ED%`B-`1V1BEFNRvr_P4 zQ$Fcdy%jK|)8>S-2i#xVUJKWJ5hDu<6i;)nzkB2etWJ0ToOw%Un6y;c;1Y}Fo2}g) z`IJ}@G>DQQn81&o$iPY<E|0aEq09(4z;_vf;y;0Vs9+^>+hRJ{PTnu5}7VggzH2Aa^5`{3IcrxL$} z@|ka$T!r*4mXzWSY^fuHMa7q2q8l?l>*+0gQ)NRmc z3`#O`7btOr4vrY9g2-Bd;Id~7UhG;O%jhU;Ekiwj7Oy!qV~J3bfij|0Vod_B!%%Wz z$~kT<>;-TfNsg82u3bVEf>h1C++ZhnEcfw-%c-2CQ99GTg()}FBi6Dc*loi0Ts%$F zb?`e}R6d#|qR~dhP@&Xe>-a;a*5j0gD+n(H>NY$PdnXUvr7A+ic0R785UeSLdaij6}aE+o>sAL z$PMtGBT5NQ!S6Osc|~G_U@8fxvV|NmS}``%Y)MRPnO4HRdzfp*2$7u!%-i~aF!HZC z6s4?t@74s9-CPh#vYZG*7pb8oIP&arCNIv5M^%1ttJcs{ehV2_%X2b*ce$zM_3UyA z^;GI;)*XR~w8^E^B+xePsB#m$sP%X&2lySiv@KW1SEYWytZI>4CUmkBMXmf?TtA|d z`G?(EdU3d@iJc`B%vO`EFulf8F$D+6(Kx;8`h#2nD*s}OFC`Z+*5pSy`D(X73;7b# z!O*5|lzDF!7$j#4CDL!Y-sNd7 zDJ~2H%y*a1N?2YhcTz;R05XZOK5^znxn7()xqCm`cCJ14ikeX%98+5M4D#K?J)rQw+-aMb#iG7&;L~pBi5EpjyLT_2btUj~|7vRk04@I<$@LA6{ zgdZVgB&p~bB67q72B=(S8)9hr2FMtw%-w$C?pe;iV2MoR8pG`F!frfSLlxDHmSt6` zJ5Ib4cz$~m3)QPt@%LtdT4pAkIw|U1TsvE9SQx)F zS$wPZ>zYCStjmii&G;}(f z8eR#CsFL$_7!^w;|K<(fGV57=Xc4#4&Dl+5+2cSoutW!_8BO?&-qIlw!GB)Gv&*o~ zvZP-&zH~BlNDjUx9*k`R}r_ElO#acX1;aO<(Uzu1~> zTKOdK>Hue-A=l$M3s@N46Lnh5){Qoqa2zbv+W7|;5A#UC)!MNRL-KsyNoW%d)AuSL zE@w%x{Gc=RdF?$@%3;X0umprfG}5{qU#J5YVG#{tv1)F_#`Gn%P=mx^75fzBAx`oC zgz*oG&JY#Yz=8q5^%V?BncIv&s5ASQ;=vzvIOeEW?wZ&ms6rMB48u~4H&#T!${l)G zOf@XK&p|PqcSRB-Y`W8^Xiau^5-PBfiiQznEpZkFMMt!-iZK_~0$^!OqO$~?$o9L_ zi?qY}QN|n!Bc<8xnU*BdtNcNHC6&ZrQtXkV-mMCq>Cu7NLe(rkqUFV{H@F z&}_Hpv(a0<j?lCn|2vW*aiz*Y<4TaxWY&tiY*P0{->+*5QsnT{Zqd5ahz>UBm}`rZMpw1V3h$ zP#`=(akUYURq1>ZP2uz2xloRV!a55k^*71msdsyQp>hLPq9t{z#9Z(7h2`e-N{Q8+ z1V_o5mhdItUnXdRpnWOAa{~nC2Pc!z9uSdPaTh@Qqn{0^t8i%U#29FrZt%2kglN(N ztkUYI=u^d<8X~I`Y@$QPamJ&G<-wb|AcHaCG@~ z5m56-J|X;*9FyBeKecF5_B^EMx-wLr0KSb9*D69e+|G~CpJu48ezWq`R>}T&>!0sd zEW!{upX{H$7Xgvfd2mkd<^o^j;TaH*ZVP;R_VE=Wx_DgOy2@4Ks}GlWX{r3Q`Djy| zcA{K~f&mGXCZNO+l0@>%_TJW!JPWwHf4p<}WNTaA20T98+C4@RP2j)V`(;R~yAg8D zqmSlgaZ?**Gc=a;?6~ro-jcSR`gEl=b%f1F*u3p1R*F9>eecoq z;_P0UGi8!G_y2e%2@OR*i7jSM@{sp45(r^N?bMg43I{tEGY}CjKopo|APQ8=Q6wNP3lSL3go(>7Rg%DJQ-3^L zdn^{28Ot|eEgvt=_{hSDhA!M;_Hv7qbb5CE3=fr0u9RosR*lfh6C2@iDPgNTMWFB+ z8hfWRv_BM9z1Ct2p`U}AZHC!{q9CG3{$?~eeRcNW(W6HXzhtW7;8*^5YSV2DzOs+7 zsr4E0d}xtsmw&2V!S~PSm#NIS8H}c^2lG=#@LJLy zXP$1ty9mOH{7CwoJYf(U6ph?jT-_a9j{b&%DB(Y=+L8Hgo}8S1}Znwe$z74kbAOTSD|Poh?O05hnW$=b7lySnMjP2}NYX;7W@K+pF_B1cIUOU@eeUFQl}>_}3*8RNke z_@HNHE3`krN#vTh5oKb>5^yL|nOUnk(xu-AMt+q>x=+F#jOY>XyJGi2Cst;a7f z%Sa%DJc6L&JJNx1JYmVHuQvCf8zc?dfA(QCn2=75b=X2+r8wP4F#$Wl2YGU#Dq@Y* zETCqxLO3sN!#s5m0<9*QCMbmMeX*fv3=*o^Qd{qrYHP_ZB z9JZig!KXCB5)4X@#|N7?%79Ddt~W(UqdB{Q$+FV2jhP^1PndZS5^nBWLQ#RiEnujO z^9vxTo!L_OnVHlrV5Vux8Nt;A%lg+fg83)!V9q=5ZR|yU{|291_FMWP^~w8!{f_8i z^)O3de5;Ig2N)o`Yh=pIgT;nM);{LLQ8&1IdBCLNw|xyhBu8-0bu_VRGmR`JuouZ; zIY5EXl6cilXwUsD&F`xIF4p7CAmMjsEI;5_BBqxofKX{SGXT$ZFc(F|@9c${3-&Sc z-!PD4RD+GxB+HKy;yLvvFRU!Y!c|kNSW`;pZOn!tmJPDcD#Q|0lPTt+*a&n2??iQB zqv2|uELLWdWvE(^Z}V&yA!T+B^iw{{@Fq3GK)8SQZgTc#nFhj=rhp+&^2p%4!bX_u zJQ&G=OtTwj%pQT-hhV^!+|O|62rfF7B(O&V(d(+67#)y6gl6-{w4eD5xw;6vNUvyi zxxnPj%0Y23RXAn5+HopKsp=YRXh;k#%asN8*lq6xwMtE0(J@jW0c5ToQbXKh4P-8Q zWQGsM4n8RCRL(L3hm2-fc{B=~<-7uE+MCn9xRL1CSr1%|##~OLBR*UXi6kDl8AYhf zO3Iy^Vy)%^FSQAj7n>AVs@5d+gkHa~&JSf-Zd^FtA&MfN3J%9=fQe@B+hRBW5xOn^ z9hA}I%(cctl*m5L+8`X&Rtk1-J*u~izn#N1-5SY!vxHXC5dcfl3=Hp9-)r!NJT_{& zhWfJ}X|=%X(-y(ErlYN_z36so5w8ixRcJ|7e3LhQ@tN{@73>4IX_ky4s~5f%d&+8MH}T6N{faK60IACkuy^@xn%S_)ve zTWu9DeW&|sm?jqb0m7mS@$6Jes&T>_pjk|}CX%K7795K~ZyUp6;MMV~3LdTN&Pcm8 zy`e%-V|Huj>)w8v*b~pP`}pB}dUkqE?MahtE~anZY)s#OIG-@*X11Z}Hps8TGr~w$ ziYQ_??WJVBK%|cb(QkgOr3y?Iiy#8KkOPUmriX7THUjnf)jQOe8C8i9iu~TR6@(J%@(wg)0dhJ^G*tbUX`jp6O$@I3p%O56JXQ#7?6Cf(t zuz1{TQC3^PyrMfpUm%8BA76ZNA2|-pc0i01FLpw+a13Wb=|Z0E@AgJe`}321e~iM% zxm&Ux-owl!ZC`~N?caN6*cOtBnT!d@(&QDIa5>-uiUJpXY7q+E%S!m6P$TM);!Rl@ zjK`G1SCYB;>f^QDd>UM3l2v>J(WF&?0Atef@0E>SXHHHn&p8X1w^)w8`*1d6qUPsc z^_*P+-Lkm7Gr;a{DeLGOF_}{!{mW-NTZb_3K(hI~>6mn`Lh=3#=YDyGm;Qtdr~ip8Bj6VHskXn*AT`S`lO{ zLB?MtIWSLEi(wb0t|E0-uu6U)cA2G1O3Rv;80egV%WT~C4HRE6nNaHRv#k?F$suZ* zOEQrkRtt22;yUi&1Wg0m_@#J`k5lZW{`tD%GZ$ocLDY}^GgwtJu?Sp0pR@+_&x)0w zDC7nlSe*meY08+Sp=3K>Zv5~L+$p6oVw?dc9z1=zwKfE~u!WxVVKyH5HtQun_`UGM zie%;hT9j1#|~u26pP~gmvEP#_xjuW*>Nf&3N6R8 z?B*kwrsor~;AQxpE{qtU$oIt;HyH-VN;IV7SlMRA^+YHc(b-|5b^t-TQr|=*yk)+B zc_AgMkC*|}!3C&pQhK{7609DOG_jV*Xtq+Hu^;GQ+F%1su&CNvG!oJaD*@G~VGxL> z#M*bzmQFXU9+*$b6muAVfWz__%=XQD-ffN~3`3m*_Bl}ytj(ylw)Zy%BmoNt~6_iMeUhqGB5 z#DI+w^a#e;f!B(7T6j9H`;624Lpn4_DZQHqMlSS>Ty#H3#={7gO<6#v<#Q~In&ypk zu?lI@s)L~qxxT!gjwnbpSzFyo^R1z@5T!u3qp^G4q}_o=O>J^#St8 zG)-bAY<;}JKzT)#&0ZtnpWFrnm6tT3drJ>9n;dXxJ?TE0Kn)5wA~I9a;L)bk|9{3s zQu1T$pzoIJSLatNV?>@1e+ks}xg}|bu_srbe}$FWlMR)hQglogYQtV*vPK?{NV5Yt zKW^aNHLjKa?szzVj1>w2EZl>u-z0_#9%BPla3YSxGe)4M;ntvs4=SNi2+4an+ww+@ z-UrUF;8n0Q`(=@jx4BqFzpWXL;g)Xl$mvZE_~iD^j)xCWb|%SuoJU1IzG$M{XMD11 zZM7hBLoJ`)S|-eNMcz@-1z}b!Fr`AkR39yy!xG@@rvDG=!{h~*`2U5cz~Lq=;uaXe z!No+_z_ZDfYnFoHEgR@yZ6@QX5bq5=b=$CVuP)DzpeUbRf4ri@n0iBdQTuMLdS71c zU0!}j2H+wm_-)?bzK_cZh-?^Fq`S^+R#OSq_UTm)dULU$+RKxJ!yCoKz*KE#l;lanZH%zQ z&Ffu&P4zjh3cUFz4ghG9vMJ>%o05N^&gCM5%(+|}q2Mj@N9?OcUebwq&AQ%*+XwZ= z8()NMrzJW+#;OPaMR~QV;O9f#p=`J`s&OK{4<-RcQ}P@mOc+yXBr=?XBdy5eYgoX5 zGyN{eb5zmG_-2aQn95Z`%w@*|4WxVmE-#2PtLa!ywNjZn3#*d5(#wyXrhVN?)XXI? z8_D;-AZ}`+avT-dS(9bfpnAbF2`RcoJdU!m7s&w2lSCnT>bD6p!c&ngU*nVp6u*iJjY84Z(L+}-EXs2@FQ08ls zW(wOvTZUWIrW(*xVQP!kunvEM?KkizH`+~8jiOK>MPe=dJiV~R7x74ABd?@z>NXv0 z;QY+q##|bStIXZOl13O%J$q>sWqgls?nzfl?XEoHJ);ahDUXV?IpoxZ-Z;Z!*QFSb zv*$TbtSrY7D7HLmpi(GIBIeQ8DFie<=(!RkqM}wocj|npdVPiaB;cxF(+OH^%2uy^ z()C#_IkxOVhQ+db@fCcd$7#MIQ&0A{6{kqzx+5LaQ6TD~oLN|Q{xH-sYJe2_t+b4B zG%i|3Jxz$&5j~@xR?cCZ?8YW3nnr)Pfu^y@3YAR{fVM2r4?1$V07Og69ev}K7PYp` zxC?j{g(Dq;s~pu&o`a(^ZC6s@cDX^(MoO)vTV@JniV@xbQyL;3@(n3+y}}8#!jk}1 zsXXcTC6ylS(aM%PRed@HP|cTBpFvwweOQC2%@d&Nqv6`SQGKBN%qH)rcm?qCVp|@k z7Zz21q$X7BGFTE`Jch$(e==jK%k#AnB*L{V@;L%Gd6+7@tcZU7!AMl9G z$BXMaK2#LPc0jVb*Ov^i#kRPEBwSOv*wN0@-R*2Z7>Ie>#g-M1xiLUDiEUn zkUd7wfuzuYAVzK%E9gv7O1-Ap=6ENdNe56|ME1Ua_F37H94wCQ-N*N*7l)J6*HkHuvem9%5^v@D1(zu*TfOjtqS`B1j3K3Q9#=CfEJ{e4f!ot89?ms1Y0Bfsrg}y`THS`CL_XPbRx-Ede zsJ2q#a(v#RZD(FoqyVPS;Aou%GC;a$SJZya9EvoVz2dQyGLzAMx3pz$J6TROUlz%L zetj%E(u|9FSVkG7SB!LNp9qVrRhC}u%bI{4OS7VxTl^K>Yd=S>cPvP?i@z7AA0pZ7 zUXZ+#D7Mzqj|*EXgsDA&Z?rV{?h_UT-`QhTW&N-If&kRc*7i625&z_W9v|?3kN&uO ztUtr$xM$CV{E1(-x8%c(BFl^8xKt>?3@HoUqn1(t?dyME%lg!>W!(vx^wLE-SFU_+ z1b|POXtH9ehZ+AgPl1KMi}7sL{jY131Cd+s+A z0Z8E=PgBjw)Ja$_rnKfO#OfRxrGU8{SJ`^2>5Jy(gTOD-4K+I_FJsxQa?$9h^O~gr z@14AMRaDQ6G_nfoNtahK|0b8`NVUAu>gC}niI)p2g)-t6@+MM|H^VI#HJ2%HqKN8F z34}OWfj}76179y+pAXB$E&-4EdHo3G-LLCQyXo6O%#eo<0S8&r%28%N6N~UnL~*sN z;*0M5CQy(RmWd6Q=>{HJ-!)$~D<0%@x)$zfLcl(v@skC^`U#FRiE;9Czu9=-no*P- zSTkt{OyKtEn3g-M%XihM-qv7z(6uz$r`{4;8_qRsKeF+nDw(<^Fs^$kY#Njtvqkb+ znK?PHucq(OL6tv+8%iNI+`vBH9?1h&K-*LmE#MeKcOcJY6z5i-yg6oJgxM^% zt&$ROWKya{seym#6^72F6{AaeCK*YG>~S8P%0sF;eU_wL*>JRa4cZGB5_yI$lw!P| z!$-G|$x^C3wY-Lhq&P{P@1lbnBN-};z6K5%lhiJ!W_jc+`Fzp@em)#*?bCtAHw0xr zS5bMy>LNwd4O@4g+qaxsH*9bZiZh&)pK-4yEj!+71Q__)@RXT>S-$X-;1LS~J84TB z5O(DZme;zqyL{T+-`m~aIr--J=^m9@rN`zljiGwrjzWPu=g+({A3V0{W>`qx;;O8P zxq={=(rks}j;Znjy!`bf-D44dd0M?bD~|VLhbyW=b1}aGYKf)E*@h}<_XgnN`Hzp& ztI6w5Rxxk#trBKYya65C*rN0uSeCimS5%J1yT<@w*cJ&pmdd?ZNLPgq`vF$frc{wv zO(1}pakQrrCQjLDn%Sd+Avbdq0stNEwok$-OGgl?6hsNS5HJccSfMQ!eg!>Uk42vm zJ&g#2h|yYBcalJQskKg-uZE_kQcO)hnB1h@SHx}vb6s(2(wi%VupOZ=d=5dhfc{Y1 zfN2ZT`wlI@daAkhpBgy@HZ|#w zJZ!sIRV#LLkBqA0GLcWsga0So!4V@NF4?111y0D$){6w3LY!@yg?*bu5Mogby8f4@nhlTR#?j<@)p@{Labt^TWMAoqT<`wf%>k3zF3_feY>;Fd1Z8+oI71qKwf=qBtIquGEExF zVvgFn;T)V-CTMueK16P*48tXfpYcTe@NfiiHaslzE3opNVV-s2;i8Cb)9C)1 zD^5H-qs6)sVtjN3Zlmrch?C1Kk2tA>~EPcL3;p!ENa5Y_x>um^YVHa0}0StRUh{;#U$+{d6zc#3b+#fEmP zndtqQfIXY1!Nkmp-9{}-e)r$;Gs|0Uog-XG;>I^b0Av{6f;<2C9?#(cFa7eFK%Kr4 z_VSEIa93p`kM;3B3?j>mnsX1tg7 YOt%xxVOE%rBV9FJ5RQr?;V$LJl?lV1E@bW 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 diff --git a/phpunit.xml b/phpunit.xml old mode 100755 new mode 100644 From 77db25185064e7343e14614782fde2e0d903d5c2 Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 10:11:50 +0300 Subject: [PATCH 2/8] [B2B-4469] Add new apis --- src/AbstractApi.php | 26 ++++++ src/Api/AccountsApi.php | 40 +++++++++ src/Api/ChannelsApi.php | 118 +++++++++++++++++++++++++++ src/Api/CoinWithdrawalsApi.php | 96 ++++++++++++++++++++++ src/Api/CoinsApi.php | 24 ++++++ src/Api/CustomersApi.php | 68 ++++++++++++++++ src/Api/ExchangeTransfersApi.php | 56 +++++++++++++ src/Api/InvoicesApi.php | 134 +++++++++++++++++++++++++++++++ src/Api/RatesApi.php | 42 ++++++++++ src/Api/RisksApi.php | 24 ++++++ src/Api/TransactionsApi.php | 24 ++++++ 11 files changed, 652 insertions(+) create mode 100644 src/AbstractApi.php create mode 100644 src/Api/AccountsApi.php create mode 100644 src/Api/ChannelsApi.php create mode 100644 src/Api/CoinWithdrawalsApi.php create mode 100644 src/Api/CoinsApi.php create mode 100644 src/Api/CustomersApi.php create mode 100644 src/Api/ExchangeTransfersApi.php create mode 100644 src/Api/InvoicesApi.php create mode 100644 src/Api/RatesApi.php create mode 100644 src/Api/RisksApi.php create mode 100644 src/Api/TransactionsApi.php diff --git a/src/AbstractApi.php b/src/AbstractApi.php new file mode 100644 index 0000000..2f588d5 --- /dev/null +++ b/src/AbstractApi.php @@ -0,0 +1,26 @@ +connector = $connector; + } + + protected function request(string $method, $string path, array $params = null) { + return $this->connector->request($method, $path, $params); + } +} diff --git a/src/Api/AccountsApi.php b/src/Api/AccountsApi.php new file mode 100644 index 0000000..3060f13 --- /dev/null +++ b/src/Api/AccountsApi.php @@ -0,0 +1,40 @@ +request('GET', '/api/accounts', $params); + } + + /** + * List account transactions + * + * @param string $accountId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allTransactions(string $accountId, array $params = null) { + $path = '/api/accounts/{account_id}/transactions'; + $path = str_replace('{account_id}', rawurlencode($accountId), $path); + + return $this->request('GET', $path, $params); + } + +} diff --git a/src/Api/ChannelsApi.php b/src/Api/ChannelsApi.php new file mode 100644 index 0000000..6b90fe7 --- /dev/null +++ b/src/Api/ChannelsApi.php @@ -0,0 +1,118 @@ +request('GET', '/api/channels', $params); + } + + /** + * Create a channel + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) { + return $this->request('POST', '/api/channels', $params); + } + + /** + * List channel payments + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allPayments(string $channelId, array $params = null) { + $path = '/api/channels/{channel_id}/payments'; + $path = str_replace('{channel_id}', rawurlencode($channelId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve a channel + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $channelId, array $params = null) { + $path = '/api/channels/{channel_id}'; + $path = str_replace('{channel_id}', rawurlencode($channelId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve a channel by custom id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) { + $path = '/api/channels/custom_id/{custom_id}'; + $path = str_replace('{custom_id}', rawurlencode($customId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve a channel payment + * + * @param string $channelId + * @param string $channelPaymentId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrievePayment(string $channelId, string $channelPaymentId, array $params = null) { + $path = '/api/channels/{channel_id}/payments/{channel_payment_id}'; + $path = str_replace('{channel_id}', rawurlencode($channelId), $path); + $path = str_replace('{channel_payment_id}', rawurlencode($channelPaymentId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Update a channel + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function update(string $channelId, array $params = null) { + $path = '/api/channels/{channel_id}'; + $path = str_replace('{channel_id}', rawurlencode($channelId), $path); + + return $this->request('PATCH', $path, $params); + } + +} diff --git a/src/Api/CoinWithdrawalsApi.php b/src/Api/CoinWithdrawalsApi.php new file mode 100644 index 0000000..8f42e07 --- /dev/null +++ b/src/Api/CoinWithdrawalsApi.php @@ -0,0 +1,96 @@ +request('GET', '/api/coin_withdrawals', $params); + } + + /** + * Commit a withdrawal + * + * @param string $coinWithdrawalId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function commit(string $coinWithdrawalId, array $params = null) { + $path = '/api/coin_withdrawals/{coin_withdrawal_id}/commit'; + $path = str_replace('{coin_withdrawal_id}', rawurlencode($coinWithdrawalId), $path); + + return $this->request('POST', $path, $params); + } + + /** + * Create a withdrawal + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) { + return $this->request('POST', '/api/coin_withdrawals', $params); + } + + /** + * List network fees + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allNetworkFees(array $params = null) { + return $this->request('GET', '/api/coin_withdrawals/network_fees', $params); + } + + /** + * Retrieve a withdrawal + * + * @param string $coinWithdrawalId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $coinWithdrawalId, array $params = null) { + $path = '/api/coin_withdrawals/{coin_withdrawal_id}'; + $path = str_replace('{coin_withdrawal_id}', rawurlencode($coinWithdrawalId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve a withdrawal by custom id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) { + $path = '/api/coin_withdrawals/custom_id/{custom_id}'; + $path = str_replace('{custom_id}', rawurlencode($customId), $path); + + return $this->request('GET', $path, $params); + } + +} diff --git a/src/Api/CoinsApi.php b/src/Api/CoinsApi.php new file mode 100644 index 0000000..3d78c60 --- /dev/null +++ b/src/Api/CoinsApi.php @@ -0,0 +1,24 @@ +request('GET', '/api/coins', $params); + } + +} diff --git a/src/Api/CustomersApi.php b/src/Api/CustomersApi.php new file mode 100644 index 0000000..705bb26 --- /dev/null +++ b/src/Api/CustomersApi.php @@ -0,0 +1,68 @@ +request('GET', '/api/customers', $params); + } + + /** + * Create a customer + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) { + return $this->request('POST', '/api/customers', $params); + } + + /** + * Retrieve a customer + * + * @param string $customerId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $customerId, array $params = null) { + $path = '/api/customers/{customer_id}'; + $path = str_replace('{customer_id}', rawurlencode($customerId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Update a customer + * + * @param string $customerId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function update(string $customerId, array $params = null) { + $path = '/api/customers/{customer_id}'; + $path = str_replace('{customer_id}', rawurlencode($customerId), $path); + + return $this->request('PATCH', $path, $params); + } + +} diff --git a/src/Api/ExchangeTransfersApi.php b/src/Api/ExchangeTransfersApi.php new file mode 100644 index 0000000..528cd96 --- /dev/null +++ b/src/Api/ExchangeTransfersApi.php @@ -0,0 +1,56 @@ +request('POST', $path, $params); + } + + /** + * Create an exchange transfer + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) { + return $this->request('POST', '/api/exchange_transfers', $params); + } + + /** + * Retrieve an exchange transfer + * + * @param string $exchangeTransferId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $exchangeTransferId, array $params = null) { + $path = '/api/exchange_transfers/{exchange_transfer_id}'; + $path = str_replace('{exchange_transfer_id}', rawurlencode($exchangeTransferId), $path); + + return $this->request('GET', $path, $params); + } + +} diff --git a/src/Api/InvoicesApi.php b/src/Api/InvoicesApi.php new file mode 100644 index 0000000..27087f1 --- /dev/null +++ b/src/Api/InvoicesApi.php @@ -0,0 +1,134 @@ +request('GET', '/api/invoices', $params); + } + + /** + * Commit invoice recalculation + * + * @param string $invoiceId + * @param string $recalculationId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function commitRecalculation(string $invoiceId, string $recalculationId, array $params = null) { + $path = '/api/invoices/{invoice_id}/recalculations/{recalculation_id}/commit'; + $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); + $path = str_replace('{recalculation_id}', rawurlencode($recalculationId), $path); + + return $this->request('POST', $path, $params); + } + + /** + * Create an invoice + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) { + return $this->request('POST', '/api/invoices', $params); + } + + /** + * Create invoice recalculation + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function createRecalculation(string $invoiceId, array $params = null) { + $path = '/api/invoices/{invoice_id}/recalculations'; + $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); + + return $this->request('POST', $path, $params); + } + + /** + * Create invoice refund + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function createRefund(string $invoiceId, array $params = null) { + $path = '/api/invoices/{invoice_id}/refunds'; + $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); + + return $this->request('POST', $path, $params); + } + + /** + * List invoice refunds + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allRefunds(string $invoiceId, array $params = null) { + $path = '/api/invoices/{invoice_id}/refunds'; + $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve an invoice + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $invoiceId, array $params = null) { + $path = '/api/invoices/{invoice_id}'; + $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); + + return $this->request('GET', $path, $params); + } + + /** + * Retrieve an invoice by custom_id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) { + $path = '/api/invoices/custom_id/{custom_id}'; + $path = str_replace('{custom_id}', rawurlencode($customId), $path); + + return $this->request('GET', $path, $params); + } + +} diff --git a/src/Api/RatesApi.php b/src/Api/RatesApi.php new file mode 100644 index 0000000..be3ada6 --- /dev/null +++ b/src/Api/RatesApi.php @@ -0,0 +1,42 @@ +request('GET', '/api/rates', $params); + } + + /** + * Retrieve a pair rate + * + * @param string $baseCurrency + * @param string $quoteCurrency + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $baseCurrency, string $quoteCurrency, array $params = null) { + $path = '/api/rates/{base_currency}/{quote_currency}'; + $path = str_replace('{base_currency}', rawurlencode($baseCurrency), $path); + $path = str_replace('{quote_currency}', rawurlencode($quoteCurrency), $path); + + return $this->request('GET', $path, $params); + } + +} diff --git a/src/Api/RisksApi.php b/src/Api/RisksApi.php new file mode 100644 index 0000000..bb34677 --- /dev/null +++ b/src/Api/RisksApi.php @@ -0,0 +1,24 @@ +request('POST', '/api/risks/score', $params); + } + +} diff --git a/src/Api/TransactionsApi.php b/src/Api/TransactionsApi.php new file mode 100644 index 0000000..47c3858 --- /dev/null +++ b/src/Api/TransactionsApi.php @@ -0,0 +1,24 @@ +request('GET', '/api/transactions', $params); + } + +} From e3be6bfd3b4c854a31b5a45f6d6de69a81fb3501 Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 10:14:29 +0300 Subject: [PATCH 3/8] [B2B-4469] Fix ConnectorInteface typo --- src/AbstractApi.php | 8 ++++---- src/Connector/AbstractConnector.php | 2 +- src/Connector/ConnectorInteface.php | 2 +- src/Service/AbstractService.php | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/AbstractApi.php b/src/AbstractApi.php index 2f588d5..c3cbc7d 100644 --- a/src/AbstractApi.php +++ b/src/AbstractApi.php @@ -2,20 +2,20 @@ namespace Cryptopay; -use Cryptopay\Connector\ConnectorInteface; +use Cryptopay\Connector\ConnectorInterface; abstract class AbstractApi { /** - * @var \Cryptopay\Connector\ConnectorInteface + * @var \Cryptopay\Connector\ConnectorInterface */ private $connector; /** - * @param \Cryptopay\Connector\ConnectorInteface $connector + * @param \Cryptopay\Connector\ConnectorInterface $connector */ - public function __construct(ConnectorInteface $connector) + public function __construct(ConnectorInterface $connector) { $this->connector = $connector; } diff --git a/src/Connector/AbstractConnector.php b/src/Connector/AbstractConnector.php index cded7f0..3f27dfa 100644 --- a/src/Connector/AbstractConnector.php +++ b/src/Connector/AbstractConnector.php @@ -11,7 +11,7 @@ use Psr\Http\Message\ResponseInterface; use Cryptopay\Exceptions\RequestException; -abstract class AbstractConnector implements ConnectorInteface +abstract class AbstractConnector implements ConnectorInterface { protected ConfigInterface $config; diff --git a/src/Connector/ConnectorInteface.php b/src/Connector/ConnectorInteface.php index 55b91b8..b5b7a67 100644 --- a/src/Connector/ConnectorInteface.php +++ b/src/Connector/ConnectorInteface.php @@ -5,7 +5,7 @@ use Cryptopay\Exceptions\RequestException; use Psr\Http\Message\ResponseInterface; -interface ConnectorInteface +interface ConnectorInterface { /** * @param string $method diff --git a/src/Service/AbstractService.php b/src/Service/AbstractService.php index b7a3ad5..e95a089 100644 --- a/src/Service/AbstractService.php +++ b/src/Service/AbstractService.php @@ -3,14 +3,14 @@ namespace Cryptopay\Service; use Cryptopay\AbstractResponse; -use Cryptopay\Connector\ConnectorInteface; +use Cryptopay\Connector\ConnectorInterface; use Cryptopay\Exceptions\UuidException; abstract class AbstractService { - protected ConnectorInteface $connector; + protected ConnectorInterface $connector; - public function __construct(ConnectorInteface $connector) + public function __construct(ConnectorInterface $connector) { $this->connector = $connector; } From 46ee2b81a8a60653c062281306841634404262df Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 11:02:02 +0300 Subject: [PATCH 4/8] [B2B-4469] Add new apis --- examples/Init.php | 4 +- src/AbstractApi.php | 2 +- ...torInteface.php => ConnectorInterface.php} | 0 src/Cryptopay.php | 63 ++++++++++++++++++- 4 files changed, 65 insertions(+), 4 deletions(-) rename src/Connector/{ConnectorInteface.php => ConnectorInterface.php} (100%) diff --git a/examples/Init.php b/examples/Init.php index 7e77f2b..f85621e 100644 --- a/examples/Init.php +++ b/examples/Init.php @@ -7,8 +7,8 @@ use Cryptopay\Cryptopay; $config = (new Config()) - ->withApiKey('API_KEY_VALUE') - ->withApiSecret('YOUR_SECRET_VALUE') + ->withApiKey(getenv('CRYPTOPAY_API_KEY')) + ->withApiSecret(getenv('CRYPTOPAY_API_SECRET')) ->withBaseUrl('https://business-sandbox.cryptopay.me') ->withCallbackSecret('YOUR_CALLBACK_SECRET_VALUE') ->withTimeout(10); diff --git a/src/AbstractApi.php b/src/AbstractApi.php index c3cbc7d..c66bd53 100644 --- a/src/AbstractApi.php +++ b/src/AbstractApi.php @@ -20,7 +20,7 @@ public function __construct(ConnectorInterface $connector) $this->connector = $connector; } - protected function request(string $method, $string path, array $params = null) { + protected function request(string $method, string $path, array $params = null) { return $this->connector->request($method, $path, $params); } } diff --git a/src/Connector/ConnectorInteface.php b/src/Connector/ConnectorInterface.php similarity index 100% rename from src/Connector/ConnectorInteface.php rename to src/Connector/ConnectorInterface.php diff --git a/src/Cryptopay.php b/src/Cryptopay.php index 6ef39e2..aad8cc7 100644 --- a/src/Cryptopay.php +++ b/src/Cryptopay.php @@ -1,5 +1,8 @@ accountService = new AccountsService($connector); + $this->accounts = new AccountsApi($connector); + $this->channels = new ChannelsApi($connector); + $this->coinWithdrawals = new CoinWithdrawalsApi($connector); + $this->coins = new CoinsApi($connector); + $this->customers = new CustomersApi($connector); + $this->exchangeTransfers = new ExchangeTransfersApi($connector); + $this->invoices = new InvoicesApi($connector); + $this->rates = new RatesApi($connector); + $this->risks = new RisksApi($connector); + $this->transactions = new TransactionsApi($connector); + $this->callbackService = new CallbackService($config->getCallbackSecret()); + + // Deprecated services + $this->accountService = new AccountsService($connector); $this->channelService = new ChannelService($connector); $this->coinWithdrawalService = new CoinWithdrawalService($connector); $this->invoiceService = new InvoiceService($connector); @@ -43,6 +82,7 @@ public function __construct(ConfigInterface $config) } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\InvoicesApi} * @param array $invoiceData * @return object * @throws RequestException @@ -53,6 +93,7 @@ public function createInvoice(array $invoiceData): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\InvoicesApi} * @param string $staringAfter * @return object * @throws RequestException @@ -64,6 +105,7 @@ public function getInvoices(string $staringAfter = null): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\InvoicesApi} * @param string $invoiceId * @return object * @throws RequestException @@ -75,6 +117,7 @@ public function getInvoice(string $invoiceId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\InvoicesApi} * @param string $customId * @return object * @throws RequestException @@ -85,6 +128,7 @@ public function getCustomInvoice(string $customId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param array $channelData * @return mixed * @throws Exceptions\ChannelException @@ -96,6 +140,7 @@ public function createChannel(array $channelData): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $channelId * @param array $channelData * @return mixed @@ -108,6 +153,7 @@ public function updateChannel(string $channelId, array $channelData): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $staringAfter * @return object * @throws RequestException @@ -119,6 +165,7 @@ public function getChannels(string $staringAfter = null): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $channelId * @return object * @throws RequestException @@ -130,6 +177,7 @@ public function getChannel(string $channelId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $customId * @return object * @throws RequestException @@ -140,6 +188,7 @@ public function getCustomChannel(string $customId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $channelId * @return object * @throws RequestException @@ -151,6 +200,7 @@ public function getChannelPayments(string $channelId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\ChannelsApi} * @param string $channelId * @param string $paymentId * @return object @@ -163,6 +213,7 @@ public function getChannelPayment(string $channelId, string $paymentId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\CoinWithdrawalsApi} * @param array $data * @return object * @throws CoinWithdrawalException @@ -174,6 +225,7 @@ public function createCoinWithdrawal(array $data): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\CoinWithdrawalsApi} * @param string $id * @return object * @throws RequestException @@ -185,6 +237,7 @@ public function commitCoinWithdrawal(string $id): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\CoinWithdrawalsApi} * @param string $staringAfter * @return object * @throws RequestException @@ -196,6 +249,7 @@ public function getCoinWithdrawals(string $staringAfter = null): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\CoinWithdrawalsApi} * @param string $id * @return object * @throws RequestException @@ -207,6 +261,7 @@ public function getCoinWithdrawal(string $id): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\CoinWithdrawalsApi} * @param int $customId * @return object * @throws RequestException @@ -217,6 +272,7 @@ public function getCustomCoinWithdrawal(int $customId): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\TransactionsApi} * @param array $data * @return object * @throws RequestException @@ -228,6 +284,7 @@ public function getTransactions(array $data = []) } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\AccountsApi} * @return object * @throws RequestException */ @@ -237,6 +294,7 @@ public function getAccounts() } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\AccountsApi} * @param string $accountId * @param string|null $startingAfter * @return object @@ -249,6 +307,7 @@ public function getAccountTransactions(string $accountId, ?string $startingAfter } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\RisksApi} * @param array $request * @return object * @throws RiskException @@ -260,6 +319,7 @@ public function getRisks(array $request): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\RatesApi} * @return object * @throws RequestException */ @@ -269,6 +329,7 @@ public function getRates(): object } /** + * @deprecated 2.0.0 {@see \Cryptopay\Api\RatesApi} * @param string $pair * @return object * @throws RequestException From 3ab24a802642f77ef79b58326543c85a39b7e499 Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 11:22:14 +0300 Subject: [PATCH 5/8] [B2B-4469] Deprecate old examples --- README.md | 4 +++- examples/Invoices.php | 18 ++++++++++++++++++ examples/Transactions.php | 16 ++++++++++++++++ examples/{ => deprecated}/Account/list.php | 0 .../{ => deprecated}/Account/transactions.php | 0 .../{ => deprecated}/Callback/callback.php | 0 .../Channel/channel_payment.php | 0 .../Channel/channel_payments.php | 0 examples/{ => deprecated}/Channel/create.php | 0 examples/{ => deprecated}/Channel/custom.php | 0 examples/{ => deprecated}/Channel/get.php | 0 examples/{ => deprecated}/Channel/list.php | 0 examples/{ => deprecated}/Channel/update.php | 0 .../{ => deprecated}/CoinWithdrawal/commit.php | 0 .../{ => deprecated}/CoinWithdrawal/create.php | 0 .../{ => deprecated}/CoinWithdrawal/custom.php | 0 .../{ => deprecated}/CoinWithdrawal/get.php | 0 .../{ => deprecated}/CoinWithdrawal/list.php | 0 examples/deprecated/Init.php | 16 ++++++++++++++++ examples/{ => deprecated}/Invoice/create.php | 0 examples/{ => deprecated}/Invoice/custom.php | 0 examples/{ => deprecated}/Invoice/get.php | 0 examples/{ => deprecated}/Invoice/list.php | 0 examples/{ => deprecated}/Rates/list.php | 0 examples/{ => deprecated}/Rates/pair.php | 0 examples/{ => deprecated}/Risk/get.php | 0 examples/{ => deprecated}/Transaction/get.php | 0 27 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 examples/Invoices.php create mode 100644 examples/Transactions.php rename examples/{ => deprecated}/Account/list.php (100%) rename examples/{ => deprecated}/Account/transactions.php (100%) rename examples/{ => deprecated}/Callback/callback.php (100%) rename examples/{ => deprecated}/Channel/channel_payment.php (100%) rename examples/{ => deprecated}/Channel/channel_payments.php (100%) rename examples/{ => deprecated}/Channel/create.php (100%) rename examples/{ => deprecated}/Channel/custom.php (100%) rename examples/{ => deprecated}/Channel/get.php (100%) rename examples/{ => deprecated}/Channel/list.php (100%) rename examples/{ => deprecated}/Channel/update.php (100%) rename examples/{ => deprecated}/CoinWithdrawal/commit.php (100%) rename examples/{ => deprecated}/CoinWithdrawal/create.php (100%) rename examples/{ => deprecated}/CoinWithdrawal/custom.php (100%) rename examples/{ => deprecated}/CoinWithdrawal/get.php (100%) rename examples/{ => deprecated}/CoinWithdrawal/list.php (100%) create mode 100644 examples/deprecated/Init.php rename examples/{ => deprecated}/Invoice/create.php (100%) rename examples/{ => deprecated}/Invoice/custom.php (100%) rename examples/{ => deprecated}/Invoice/get.php (100%) rename examples/{ => deprecated}/Invoice/list.php (100%) rename examples/{ => deprecated}/Rates/list.php (100%) rename examples/{ => deprecated}/Rates/pair.php (100%) rename examples/{ => deprecated}/Risk/get.php (100%) rename examples/{ => deprecated}/Transaction/get.php (100%) diff --git a/README.md b/README.md index cc394d8..00918d4 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,9 @@ DirectoryException | 422 $cryptopay = new Cryptopay($config); try { - $response = $cryptopay->getInvoices('366fcd88-2d90-47b3-bdfb-5d3e3e8d8550'); + $response = $cryptopay->invoices->all([ + 'starting_after' => '366fcd88-2d90-47b3-bdfb-5d3e3e8d8550' + ]); } catch (CryptopayException $e) { echo sprintf("Cant get invoices list. Error: %s \n", $exception->getMessage()); die(); diff --git a/examples/Invoices.php b/examples/Invoices.php new file mode 100644 index 0000000..00527a6 --- /dev/null +++ b/examples/Invoices.php @@ -0,0 +1,18 @@ +invoices->create([ + 'price_amount' => '100', + 'price_currency' => 'EUR', + 'pay_currency' => 'BTC' + ]); +} catch (CryptopayException $exception) { + echo sprintf("Unable to create Invoice. %s \n", $exception->getMessage()); + die(); +} + +print_r($response); diff --git a/examples/Transactions.php b/examples/Transactions.php new file mode 100644 index 0000000..93cdd73 --- /dev/null +++ b/examples/Transactions.php @@ -0,0 +1,16 @@ +transactions->all([ + 'status' => 'unresolved' + ]); +} catch (CryptopayException $exception) { + echo sprintf("Unable to get transactions list. %s \n", $exception->getMessage()); + die(); +} + +print_r($response); diff --git a/examples/Account/list.php b/examples/deprecated/Account/list.php similarity index 100% rename from examples/Account/list.php rename to examples/deprecated/Account/list.php diff --git a/examples/Account/transactions.php b/examples/deprecated/Account/transactions.php similarity index 100% rename from examples/Account/transactions.php rename to examples/deprecated/Account/transactions.php diff --git a/examples/Callback/callback.php b/examples/deprecated/Callback/callback.php similarity index 100% rename from examples/Callback/callback.php rename to examples/deprecated/Callback/callback.php diff --git a/examples/Channel/channel_payment.php b/examples/deprecated/Channel/channel_payment.php similarity index 100% rename from examples/Channel/channel_payment.php rename to examples/deprecated/Channel/channel_payment.php diff --git a/examples/Channel/channel_payments.php b/examples/deprecated/Channel/channel_payments.php similarity index 100% rename from examples/Channel/channel_payments.php rename to examples/deprecated/Channel/channel_payments.php diff --git a/examples/Channel/create.php b/examples/deprecated/Channel/create.php similarity index 100% rename from examples/Channel/create.php rename to examples/deprecated/Channel/create.php diff --git a/examples/Channel/custom.php b/examples/deprecated/Channel/custom.php similarity index 100% rename from examples/Channel/custom.php rename to examples/deprecated/Channel/custom.php diff --git a/examples/Channel/get.php b/examples/deprecated/Channel/get.php similarity index 100% rename from examples/Channel/get.php rename to examples/deprecated/Channel/get.php diff --git a/examples/Channel/list.php b/examples/deprecated/Channel/list.php similarity index 100% rename from examples/Channel/list.php rename to examples/deprecated/Channel/list.php diff --git a/examples/Channel/update.php b/examples/deprecated/Channel/update.php similarity index 100% rename from examples/Channel/update.php rename to examples/deprecated/Channel/update.php diff --git a/examples/CoinWithdrawal/commit.php b/examples/deprecated/CoinWithdrawal/commit.php similarity index 100% rename from examples/CoinWithdrawal/commit.php rename to examples/deprecated/CoinWithdrawal/commit.php diff --git a/examples/CoinWithdrawal/create.php b/examples/deprecated/CoinWithdrawal/create.php similarity index 100% rename from examples/CoinWithdrawal/create.php rename to examples/deprecated/CoinWithdrawal/create.php diff --git a/examples/CoinWithdrawal/custom.php b/examples/deprecated/CoinWithdrawal/custom.php similarity index 100% rename from examples/CoinWithdrawal/custom.php rename to examples/deprecated/CoinWithdrawal/custom.php diff --git a/examples/CoinWithdrawal/get.php b/examples/deprecated/CoinWithdrawal/get.php similarity index 100% rename from examples/CoinWithdrawal/get.php rename to examples/deprecated/CoinWithdrawal/get.php diff --git a/examples/CoinWithdrawal/list.php b/examples/deprecated/CoinWithdrawal/list.php similarity index 100% rename from examples/CoinWithdrawal/list.php rename to examples/deprecated/CoinWithdrawal/list.php diff --git a/examples/deprecated/Init.php b/examples/deprecated/Init.php new file mode 100644 index 0000000..3b44d0e --- /dev/null +++ b/examples/deprecated/Init.php @@ -0,0 +1,16 @@ +withApiKey(getenv('CRYPTOPAY_API_KEY')) + ->withApiSecret(getenv('CRYPTOPAY_API_SECRET')) + ->withBaseUrl('https://business-sandbox.cryptopay.me') + ->withCallbackSecret('YOUR_CALLBACK_SECRET_VALUE') + ->withTimeout(10); + +$cryptopay = new Cryptopay($config); diff --git a/examples/Invoice/create.php b/examples/deprecated/Invoice/create.php similarity index 100% rename from examples/Invoice/create.php rename to examples/deprecated/Invoice/create.php diff --git a/examples/Invoice/custom.php b/examples/deprecated/Invoice/custom.php similarity index 100% rename from examples/Invoice/custom.php rename to examples/deprecated/Invoice/custom.php diff --git a/examples/Invoice/get.php b/examples/deprecated/Invoice/get.php similarity index 100% rename from examples/Invoice/get.php rename to examples/deprecated/Invoice/get.php diff --git a/examples/Invoice/list.php b/examples/deprecated/Invoice/list.php similarity index 100% rename from examples/Invoice/list.php rename to examples/deprecated/Invoice/list.php diff --git a/examples/Rates/list.php b/examples/deprecated/Rates/list.php similarity index 100% rename from examples/Rates/list.php rename to examples/deprecated/Rates/list.php diff --git a/examples/Rates/pair.php b/examples/deprecated/Rates/pair.php similarity index 100% rename from examples/Rates/pair.php rename to examples/deprecated/Rates/pair.php diff --git a/examples/Risk/get.php b/examples/deprecated/Risk/get.php similarity index 100% rename from examples/Risk/get.php rename to examples/deprecated/Risk/get.php diff --git a/examples/Transaction/get.php b/examples/deprecated/Transaction/get.php similarity index 100% rename from examples/Transaction/get.php rename to examples/deprecated/Transaction/get.php From 35dbf83dbfb1a8f39e5279e35253c4fb836e2a9f Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Mon, 10 Jul 2023 11:35:23 +0300 Subject: [PATCH 6/8] [B2B-4469] Fix lint issues --- src/AbstractApi.php | 6 +- src/Api/AccountsApi.php | 41 +++---- src/Api/ChannelsApi.php | 146 ++++++++++++----------- src/Api/CoinWithdrawalsApi.php | 121 +++++++++---------- src/Api/CoinsApi.php | 20 ++-- src/Api/CustomersApi.php | 81 ++++++------- src/Api/ExchangeTransfersApi.php | 62 +++++----- src/Api/InvoicesApi.php | 167 ++++++++++++++------------- src/Api/RatesApi.php | 43 +++---- src/Api/RisksApi.php | 20 ++-- src/Api/TransactionsApi.php | 20 ++-- src/Connector/AbstractConnector.php | 4 +- src/Connector/ConnectorInterface.php | 4 +- src/Cryptopay.php | 1 - 14 files changed, 380 insertions(+), 356 deletions(-) diff --git a/src/AbstractApi.php b/src/AbstractApi.php index c66bd53..9ab01c7 100644 --- a/src/AbstractApi.php +++ b/src/AbstractApi.php @@ -6,7 +6,6 @@ abstract class AbstractApi { - /** * @var \Cryptopay\Connector\ConnectorInterface */ @@ -20,7 +19,8 @@ public function __construct(ConnectorInterface $connector) $this->connector = $connector; } - protected function request(string $method, string $path, array $params = null) { - return $this->connector->request($method, $path, $params); + protected function request(string $method, string $path, array $params = null) + { + return $this->connector->request($method, $path, $params); } } diff --git a/src/Api/AccountsApi.php b/src/Api/AccountsApi.php index 3060f13..fde23ed 100644 --- a/src/Api/AccountsApi.php +++ b/src/Api/AccountsApi.php @@ -9,32 +9,33 @@ class AccountsApi extends AbstractApi { - /** - * List accounts - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List accounts + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/accounts', $params); } - /** - * List account transactions - * - * @param string $accountId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function allTransactions(string $accountId, array $params = null) { + /** + * List account transactions + * + * @param string $accountId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allTransactions(string $accountId, array $params = null) + { $path = '/api/accounts/{account_id}/transactions'; $path = str_replace('{account_id}', rawurlencode($accountId), $path); return $this->request('GET', $path, $params); } - } diff --git a/src/Api/ChannelsApi.php b/src/Api/ChannelsApi.php index 6b90fe7..8535177 100644 --- a/src/Api/ChannelsApi.php +++ b/src/Api/ChannelsApi.php @@ -9,89 +9,95 @@ class ChannelsApi extends AbstractApi { - /** - * List channels - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List channels + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/channels', $params); } - /** - * Create a channel - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function create(array $params = null) { + /** + * Create a channel + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) + { return $this->request('POST', '/api/channels', $params); } - /** - * List channel payments - * - * @param string $channelId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function allPayments(string $channelId, array $params = null) { + /** + * List channel payments + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allPayments(string $channelId, array $params = null) + { $path = '/api/channels/{channel_id}/payments'; $path = str_replace('{channel_id}', rawurlencode($channelId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve a channel - * - * @param string $channelId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $channelId, array $params = null) { + /** + * Retrieve a channel + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $channelId, array $params = null) + { $path = '/api/channels/{channel_id}'; $path = str_replace('{channel_id}', rawurlencode($channelId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve a channel by custom id - * - * @param string $customId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieveByCustomId(string $customId, array $params = null) { + /** + * Retrieve a channel by custom id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) + { $path = '/api/channels/custom_id/{custom_id}'; $path = str_replace('{custom_id}', rawurlencode($customId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve a channel payment - * - * @param string $channelId - * @param string $channelPaymentId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrievePayment(string $channelId, string $channelPaymentId, array $params = null) { + /** + * Retrieve a channel payment + * + * @param string $channelId + * @param string $channelPaymentId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrievePayment(string $channelId, string $channelPaymentId, array $params = null) + { $path = '/api/channels/{channel_id}/payments/{channel_payment_id}'; $path = str_replace('{channel_id}', rawurlencode($channelId), $path); $path = str_replace('{channel_payment_id}', rawurlencode($channelPaymentId), $path); @@ -99,20 +105,20 @@ public function retrievePayment(string $channelId, string $channelPaymentId, arr return $this->request('GET', $path, $params); } - /** - * Update a channel - * - * @param string $channelId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function update(string $channelId, array $params = null) { + /** + * Update a channel + * + * @param string $channelId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function update(string $channelId, array $params = null) + { $path = '/api/channels/{channel_id}'; $path = str_replace('{channel_id}', rawurlencode($channelId), $path); return $this->request('PATCH', $path, $params); } - } diff --git a/src/Api/CoinWithdrawalsApi.php b/src/Api/CoinWithdrawalsApi.php index 8f42e07..d6ca82a 100644 --- a/src/Api/CoinWithdrawalsApi.php +++ b/src/Api/CoinWithdrawalsApi.php @@ -9,88 +9,93 @@ class CoinWithdrawalsApi extends AbstractApi { - /** - * List withdrawals - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List withdrawals + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/coin_withdrawals', $params); } - /** - * Commit a withdrawal - * - * @param string $coinWithdrawalId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function commit(string $coinWithdrawalId, array $params = null) { + /** + * Commit a withdrawal + * + * @param string $coinWithdrawalId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function commit(string $coinWithdrawalId, array $params = null) + { $path = '/api/coin_withdrawals/{coin_withdrawal_id}/commit'; $path = str_replace('{coin_withdrawal_id}', rawurlencode($coinWithdrawalId), $path); return $this->request('POST', $path, $params); } - /** - * Create a withdrawal - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function create(array $params = null) { + /** + * Create a withdrawal + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) + { return $this->request('POST', '/api/coin_withdrawals', $params); } - /** - * List network fees - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function allNetworkFees(array $params = null) { + /** + * List network fees + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allNetworkFees(array $params = null) + { return $this->request('GET', '/api/coin_withdrawals/network_fees', $params); } - /** - * Retrieve a withdrawal - * - * @param string $coinWithdrawalId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $coinWithdrawalId, array $params = null) { + /** + * Retrieve a withdrawal + * + * @param string $coinWithdrawalId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $coinWithdrawalId, array $params = null) + { $path = '/api/coin_withdrawals/{coin_withdrawal_id}'; $path = str_replace('{coin_withdrawal_id}', rawurlencode($coinWithdrawalId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve a withdrawal by custom id - * - * @param string $customId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieveByCustomId(string $customId, array $params = null) { + /** + * Retrieve a withdrawal by custom id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) + { $path = '/api/coin_withdrawals/custom_id/{custom_id}'; $path = str_replace('{custom_id}', rawurlencode($customId), $path); return $this->request('GET', $path, $params); } - } diff --git a/src/Api/CoinsApi.php b/src/Api/CoinsApi.php index 3d78c60..02dd9b3 100644 --- a/src/Api/CoinsApi.php +++ b/src/Api/CoinsApi.php @@ -9,16 +9,16 @@ class CoinsApi extends AbstractApi { - /** - * List supported coins - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List supported coins + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/coins', $params); } - } diff --git a/src/Api/CustomersApi.php b/src/Api/CustomersApi.php index 705bb26..7227106 100644 --- a/src/Api/CustomersApi.php +++ b/src/Api/CustomersApi.php @@ -9,60 +9,63 @@ class CustomersApi extends AbstractApi { - /** - * List customers - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List customers + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/customers', $params); } - /** - * Create a customer - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function create(array $params = null) { + /** + * Create a customer + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) + { return $this->request('POST', '/api/customers', $params); } - /** - * Retrieve a customer - * - * @param string $customerId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $customerId, array $params = null) { + /** + * Retrieve a customer + * + * @param string $customerId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $customerId, array $params = null) + { $path = '/api/customers/{customer_id}'; $path = str_replace('{customer_id}', rawurlencode($customerId), $path); return $this->request('GET', $path, $params); } - /** - * Update a customer - * - * @param string $customerId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function update(string $customerId, array $params = null) { + /** + * Update a customer + * + * @param string $customerId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function update(string $customerId, array $params = null) + { $path = '/api/customers/{customer_id}'; $path = str_replace('{customer_id}', rawurlencode($customerId), $path); return $this->request('PATCH', $path, $params); } - } diff --git a/src/Api/ExchangeTransfersApi.php b/src/Api/ExchangeTransfersApi.php index 528cd96..899c6b1 100644 --- a/src/Api/ExchangeTransfersApi.php +++ b/src/Api/ExchangeTransfersApi.php @@ -9,48 +9,50 @@ class ExchangeTransfersApi extends AbstractApi { - /** - * Commit an exchange transfer - * - * @param string $exchangeTransferId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function commit(string $exchangeTransferId, array $params = null) { + /** + * Commit an exchange transfer + * + * @param string $exchangeTransferId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function commit(string $exchangeTransferId, array $params = null) + { $path = '/api/exchange_transfers/{exchange_transfer_id}/commit'; $path = str_replace('{exchange_transfer_id}', rawurlencode($exchangeTransferId), $path); return $this->request('POST', $path, $params); } - /** - * Create an exchange transfer - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function create(array $params = null) { + /** + * Create an exchange transfer + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) + { return $this->request('POST', '/api/exchange_transfers', $params); } - /** - * Retrieve an exchange transfer - * - * @param string $exchangeTransferId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $exchangeTransferId, array $params = null) { + /** + * Retrieve an exchange transfer + * + * @param string $exchangeTransferId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $exchangeTransferId, array $params = null) + { $path = '/api/exchange_transfers/{exchange_transfer_id}'; $path = str_replace('{exchange_transfer_id}', rawurlencode($exchangeTransferId), $path); return $this->request('GET', $path, $params); } - } diff --git a/src/Api/InvoicesApi.php b/src/Api/InvoicesApi.php index 27087f1..fe747c8 100644 --- a/src/Api/InvoicesApi.php +++ b/src/Api/InvoicesApi.php @@ -9,29 +9,31 @@ class InvoicesApi extends AbstractApi { - /** - * List invoices - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List invoices + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/invoices', $params); } - /** - * Commit invoice recalculation - * - * @param string $invoiceId - * @param string $recalculationId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function commitRecalculation(string $invoiceId, string $recalculationId, array $params = null) { + /** + * Commit invoice recalculation + * + * @param string $invoiceId + * @param string $recalculationId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function commitRecalculation(string $invoiceId, string $recalculationId, array $params = null) + { $path = '/api/invoices/{invoice_id}/recalculations/{recalculation_id}/commit'; $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); $path = str_replace('{recalculation_id}', rawurlencode($recalculationId), $path); @@ -39,96 +41,101 @@ public function commitRecalculation(string $invoiceId, string $recalculationId, return $this->request('POST', $path, $params); } - /** - * Create an invoice - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function create(array $params = null) { + /** + * Create an invoice + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function create(array $params = null) + { return $this->request('POST', '/api/invoices', $params); } - /** - * Create invoice recalculation - * - * @param string $invoiceId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function createRecalculation(string $invoiceId, array $params = null) { + /** + * Create invoice recalculation + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function createRecalculation(string $invoiceId, array $params = null) + { $path = '/api/invoices/{invoice_id}/recalculations'; $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); return $this->request('POST', $path, $params); } - /** - * Create invoice refund - * - * @param string $invoiceId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function createRefund(string $invoiceId, array $params = null) { + /** + * Create invoice refund + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function createRefund(string $invoiceId, array $params = null) + { $path = '/api/invoices/{invoice_id}/refunds'; $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); return $this->request('POST', $path, $params); } - /** - * List invoice refunds - * - * @param string $invoiceId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function allRefunds(string $invoiceId, array $params = null) { + /** + * List invoice refunds + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function allRefunds(string $invoiceId, array $params = null) + { $path = '/api/invoices/{invoice_id}/refunds'; $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve an invoice - * - * @param string $invoiceId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $invoiceId, array $params = null) { + /** + * Retrieve an invoice + * + * @param string $invoiceId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $invoiceId, array $params = null) + { $path = '/api/invoices/{invoice_id}'; $path = str_replace('{invoice_id}', rawurlencode($invoiceId), $path); return $this->request('GET', $path, $params); } - /** - * Retrieve an invoice by custom_id - * - * @param string $customId - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieveByCustomId(string $customId, array $params = null) { + /** + * Retrieve an invoice by custom_id + * + * @param string $customId + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieveByCustomId(string $customId, array $params = null) + { $path = '/api/invoices/custom_id/{custom_id}'; $path = str_replace('{custom_id}', rawurlencode($customId), $path); return $this->request('GET', $path, $params); } - } diff --git a/src/Api/RatesApi.php b/src/Api/RatesApi.php index be3ada6..e2bfcc5 100644 --- a/src/Api/RatesApi.php +++ b/src/Api/RatesApi.php @@ -9,34 +9,35 @@ class RatesApi extends AbstractApi { - /** - * Retrieve all rates - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * Retrieve all rates + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/rates', $params); } - /** - * Retrieve a pair rate - * - * @param string $baseCurrency - * @param string $quoteCurrency - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function retrieve(string $baseCurrency, string $quoteCurrency, array $params = null) { + /** + * Retrieve a pair rate + * + * @param string $baseCurrency + * @param string $quoteCurrency + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function retrieve(string $baseCurrency, string $quoteCurrency, array $params = null) + { $path = '/api/rates/{base_currency}/{quote_currency}'; $path = str_replace('{base_currency}', rawurlencode($baseCurrency), $path); $path = str_replace('{quote_currency}', rawurlencode($quoteCurrency), $path); return $this->request('GET', $path, $params); } - } diff --git a/src/Api/RisksApi.php b/src/Api/RisksApi.php index bb34677..0f8526e 100644 --- a/src/Api/RisksApi.php +++ b/src/Api/RisksApi.php @@ -9,16 +9,16 @@ class RisksApi extends AbstractApi { - /** - * Score a coin address - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function score(array $params = null) { + /** + * Score a coin address + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function score(array $params = null) + { return $this->request('POST', '/api/risks/score', $params); } - } diff --git a/src/Api/TransactionsApi.php b/src/Api/TransactionsApi.php index 47c3858..2236c2f 100644 --- a/src/Api/TransactionsApi.php +++ b/src/Api/TransactionsApi.php @@ -9,16 +9,16 @@ class TransactionsApi extends AbstractApi { - /** - * List transactions - * - * @param null|array $params - * - * @throws \Cryptopay\Exceptions\RequestException - * @return object - */ - public function all(array $params = null) { + /** + * List transactions + * + * @param null|array $params + * + * @throws \Cryptopay\Exceptions\RequestException + * @return object + */ + public function all(array $params = null) + { return $this->request('GET', '/api/transactions', $params); } - } diff --git a/src/Connector/AbstractConnector.php b/src/Connector/AbstractConnector.php index 3f27dfa..4a108c5 100644 --- a/src/Connector/AbstractConnector.php +++ b/src/Connector/AbstractConnector.php @@ -20,11 +20,11 @@ abstract class AbstractConnector implements ConnectorInterface /** * @param string $method * @param string $path - * @param array $params + * @param null|array $params * @return object * @throws RequestException */ - public function request(string $method, string $path, array $params = []): object + public function request(string $method, string $path, array $params = null): object { $body = $params ? json_encode($params) : ''; diff --git a/src/Connector/ConnectorInterface.php b/src/Connector/ConnectorInterface.php index b5b7a67..c742d21 100644 --- a/src/Connector/ConnectorInterface.php +++ b/src/Connector/ConnectorInterface.php @@ -10,11 +10,11 @@ interface ConnectorInterface /** * @param string $method * @param string $path - * @param array $params + * @param null|array $params * @return object * @throws RequestException */ - public function request(string $method, string $path, array $params = []): object; + public function request(string $method, string $path, array $params = null): object; /** * @param ResponseInterface $response diff --git a/src/Cryptopay.php b/src/Cryptopay.php index aad8cc7..b5dc4c2 100644 --- a/src/Cryptopay.php +++ b/src/Cryptopay.php @@ -19,7 +19,6 @@ use Cryptopay\Exceptions\RequestException; use Cryptopay\Service\RiskService; use Cryptopay\Service\TransactionService; - use Cryptopay\Api\AccountsApi; use Cryptopay\Api\ChannelsApi; use Cryptopay\Api\CoinWithdrawalsApi; From e95f9d4672c25a1580cb424ca1d621c6b4352f05 Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Tue, 11 Jul 2023 12:25:51 +0300 Subject: [PATCH 7/8] [B2B-4469] Add VCR tests --- composer.json | 3 +- src/Config/AbstractConfig.php | 2 +- tests/Api/AccountsApiTest.php | 36 +++++ tests/Api/ChannelsApiTest.php | 107 +++++++++++++ tests/Api/CoinWithdrawalsApiTest.php | 98 ++++++++++++ tests/Api/CoinsApiTest.php | 23 +++ tests/Api/CustomersApiTest.php | 74 +++++++++ tests/Api/ExchangeTransfersApiTest.php | 63 ++++++++ tests/Api/InvoicesApiTest.php | 121 ++++++++++++++ tests/Api/RatesApiTest.php | 34 ++++ tests/Api/RisksApiTest.php | 29 ++++ tests/Api/TransactionsApiTest.php | 23 +++ tests/ApiTest.php | 35 +++++ tests/BaseTest.php | 6 +- tests/cassettes/accounts/all.yml | 73 +++++++++ tests/cassettes/accounts/allTransactions.yml | 71 +++++++++ tests/cassettes/channels/all.yml | 73 +++++++++ tests/cassettes/channels/allPayments.yml | 73 +++++++++ tests/cassettes/channels/create.yml | 74 +++++++++ tests/cassettes/channels/retrieve.yml | 73 +++++++++ .../cassettes/channels/retrieveByCustomId.yml | 73 +++++++++ tests/cassettes/channels/retrievePayment.yml | 73 +++++++++ tests/cassettes/channels/update.yml | 75 +++++++++ tests/cassettes/coinWithdrawals/all.yml | 73 +++++++++ .../coinWithdrawals/allNetworkFees.yml | 73 +++++++++ tests/cassettes/coinWithdrawals/commit.yml | 147 ++++++++++++++++++ tests/cassettes/coinWithdrawals/create.yml | 74 +++++++++ tests/cassettes/coinWithdrawals/retrieve.yml | 73 +++++++++ .../coinWithdrawals/retrieveByCustomId.yml | 73 +++++++++ tests/cassettes/coins/all.yml | 73 +++++++++ tests/cassettes/customers/all.yml | 73 +++++++++ tests/cassettes/customers/create.yml | 74 +++++++++ tests/cassettes/customers/retrieve.yml | 73 +++++++++ tests/cassettes/customers/update.yml | 75 +++++++++ tests/cassettes/exchangeTransfers/commit.yml | 147 ++++++++++++++++++ tests/cassettes/exchangeTransfers/create.yml | 74 +++++++++ .../cassettes/exchangeTransfers/retrieve.yml | 73 +++++++++ tests/cassettes/invoices/all.yml | 73 +++++++++ tests/cassettes/invoices/allRefunds.yml | 73 +++++++++ .../invoices/commitRecalculation.yml | 146 +++++++++++++++++ tests/cassettes/invoices/create.yml | 74 +++++++++ .../invoices/createRecalculation.yml | 74 +++++++++ tests/cassettes/invoices/createRefund.yml | 74 +++++++++ tests/cassettes/invoices/retrieve.yml | 73 +++++++++ .../cassettes/invoices/retrieveByCustomId.yml | 73 +++++++++ tests/cassettes/rates/all.yml | 73 +++++++++ tests/cassettes/rates/retrieve.yml | 73 +++++++++ tests/cassettes/risks/score.yml | 74 +++++++++ tests/cassettes/transactions/all.yml | 73 +++++++++ 49 files changed, 3434 insertions(+), 6 deletions(-) create mode 100644 tests/Api/AccountsApiTest.php create mode 100644 tests/Api/ChannelsApiTest.php create mode 100644 tests/Api/CoinWithdrawalsApiTest.php create mode 100644 tests/Api/CoinsApiTest.php create mode 100644 tests/Api/CustomersApiTest.php create mode 100644 tests/Api/ExchangeTransfersApiTest.php create mode 100644 tests/Api/InvoicesApiTest.php create mode 100644 tests/Api/RatesApiTest.php create mode 100644 tests/Api/RisksApiTest.php create mode 100644 tests/Api/TransactionsApiTest.php create mode 100644 tests/ApiTest.php create mode 100644 tests/cassettes/accounts/all.yml create mode 100644 tests/cassettes/accounts/allTransactions.yml create mode 100644 tests/cassettes/channels/all.yml create mode 100644 tests/cassettes/channels/allPayments.yml create mode 100644 tests/cassettes/channels/create.yml create mode 100644 tests/cassettes/channels/retrieve.yml create mode 100644 tests/cassettes/channels/retrieveByCustomId.yml create mode 100644 tests/cassettes/channels/retrievePayment.yml create mode 100644 tests/cassettes/channels/update.yml create mode 100644 tests/cassettes/coinWithdrawals/all.yml create mode 100644 tests/cassettes/coinWithdrawals/allNetworkFees.yml create mode 100644 tests/cassettes/coinWithdrawals/commit.yml create mode 100644 tests/cassettes/coinWithdrawals/create.yml create mode 100644 tests/cassettes/coinWithdrawals/retrieve.yml create mode 100644 tests/cassettes/coinWithdrawals/retrieveByCustomId.yml create mode 100644 tests/cassettes/coins/all.yml create mode 100644 tests/cassettes/customers/all.yml create mode 100644 tests/cassettes/customers/create.yml create mode 100644 tests/cassettes/customers/retrieve.yml create mode 100644 tests/cassettes/customers/update.yml create mode 100644 tests/cassettes/exchangeTransfers/commit.yml create mode 100644 tests/cassettes/exchangeTransfers/create.yml create mode 100644 tests/cassettes/exchangeTransfers/retrieve.yml create mode 100644 tests/cassettes/invoices/all.yml create mode 100644 tests/cassettes/invoices/allRefunds.yml create mode 100644 tests/cassettes/invoices/commitRecalculation.yml create mode 100644 tests/cassettes/invoices/create.yml create mode 100644 tests/cassettes/invoices/createRecalculation.yml create mode 100644 tests/cassettes/invoices/createRefund.yml create mode 100644 tests/cassettes/invoices/retrieve.yml create mode 100644 tests/cassettes/invoices/retrieveByCustomId.yml create mode 100644 tests/cassettes/rates/all.yml create mode 100644 tests/cassettes/rates/retrieve.yml create mode 100644 tests/cassettes/risks/score.yml create mode 100644 tests/cassettes/transactions/all.yml diff --git a/composer.json b/composer.json index 674e4a9..4587f05 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,8 @@ "require-dev": { "phpunit/phpunit": "^9", "mockery/mockery": "^1.4", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^3.5", + "php-vcr/php-vcr": "^1.5" }, "scripts": { "lint": "./vendor/bin/phpcs .", diff --git a/src/Config/AbstractConfig.php b/src/Config/AbstractConfig.php index f786818..2bc7a13 100644 --- a/src/Config/AbstractConfig.php +++ b/src/Config/AbstractConfig.php @@ -16,7 +16,7 @@ class AbstractConfig implements ConfigInterface protected int $timeout = 10; - protected ?string $callbackSecret; + protected string $callbackSecret = ''; /** * @param string $baseUrl diff --git a/tests/Api/AccountsApiTest.php b/tests/Api/AccountsApiTest.php new file mode 100644 index 0000000..c98ba65 --- /dev/null +++ b/tests/Api/AccountsApiTest.php @@ -0,0 +1,36 @@ +config); + + $result = $cryptopay->accounts->all(); + + $this->assertNotNull($result); + } + + public function testallTransactions() + { + VCR::insertCassette('accounts/allTransactions.yml'); + + $cryptopay = new Cryptopay($this->config); + + $accountId = '31804390-d44e-49e9-8698-ca781e0eb806'; + + $result = $cryptopay->accounts->allTransactions($accountId); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/ChannelsApiTest.php b/tests/Api/ChannelsApiTest.php new file mode 100644 index 0000000..fe01822 --- /dev/null +++ b/tests/Api/ChannelsApiTest.php @@ -0,0 +1,107 @@ +config); + + $result = $cryptopay->channels->all(); + + $this->assertNotNull($result); + } + + public function testcreate() + { + VCR::insertCassette('channels/create.yml'); + + $cryptopay = new Cryptopay($this->config); + + $params = [ + 'name' => 'Channel name', + 'pay_currency' => 'BTC', + 'receiver_currency' => 'EUR' + ]; + + $result = $cryptopay->channels->create($params); + + $this->assertNotNull($result); + } + + public function testallPayments() + { + VCR::insertCassette('channels/allPayments.yml'); + + $cryptopay = new Cryptopay($this->config); + + $channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + + $result = $cryptopay->channels->allPayments($channelId); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('channels/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + + $result = $cryptopay->channels->retrieve($channelId); + + $this->assertNotNull($result); + } + + public function testretrieveByCustomId() + { + VCR::insertCassette('channels/retrieveByCustomId.yml'); + + $cryptopay = new Cryptopay($this->config); + + $customId = 'CHANNEL-123'; + + $result = $cryptopay->channels->retrieveByCustomId($customId); + + $this->assertNotNull($result); + } + + public function testretrievePayment() + { + VCR::insertCassette('channels/retrievePayment.yml'); + + $cryptopay = new Cryptopay($this->config); + + $channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + $channelPaymentId = '704291ec-0b90-4118-89aa-0c9681c3213c'; + + $result = $cryptopay->channels->retrievePayment($channelId, $channelPaymentId); + + $this->assertNotNull($result); + } + + public function testupdate() + { + VCR::insertCassette('channels/update.yml'); + + $cryptopay = new Cryptopay($this->config); + + $channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + $params = ['status' => 'disabled']; + + $result = $cryptopay->channels->update($channelId, $params); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/CoinWithdrawalsApiTest.php b/tests/Api/CoinWithdrawalsApiTest.php new file mode 100644 index 0000000..568c8fa --- /dev/null +++ b/tests/Api/CoinWithdrawalsApiTest.php @@ -0,0 +1,98 @@ +config); + + $result = $cryptopay->coinWithdrawals->all(); + + $this->assertNotNull($result); + } + + public function testcommit() + { + VCR::insertCassette('coinWithdrawals/commit.yml'); + + $cryptopay = new Cryptopay($this->config); + + $coinWithdrawal = $cryptopay->coinWithdrawals->create([ + 'address' => '2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ', + 'charged_amount' => '100.0', + 'charged_currency' => 'EUR', + 'received_currency' => 'BTC', + 'force_commit' => false + ])->data; + + $result = $cryptopay->coinWithdrawals->commit($coinWithdrawal->id); + + $this->assertNotNull($result); + } + + public function testcreate() + { + VCR::insertCassette('coinWithdrawals/create.yml'); + + $cryptopay = new Cryptopay($this->config); + + $params = [ + 'address' => '2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ', + 'charged_amount' => '100.0', + 'charged_currency' => 'EUR', + 'received_currency' => 'BTC', + 'force_commit' => true + ]; + + $result = $cryptopay->coinWithdrawals->create($params); + + $this->assertNotNull($result); + } + + public function testallNetworkFees() + { + VCR::insertCassette('coinWithdrawals/allNetworkFees.yml'); + + $cryptopay = new Cryptopay($this->config); + + $result = $cryptopay->coinWithdrawals->allNetworkFees(); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('coinWithdrawals/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $coinWithdrawalId = '3cf9d1c4-6191-4826-8cae-2c717810c7e9'; + + $result = $cryptopay->coinWithdrawals->retrieve($coinWithdrawalId); + + $this->assertNotNull($result); + } + + public function testretrieveByCustomId() + { + VCR::insertCassette('coinWithdrawals/retrieveByCustomId.yml'); + + $cryptopay = new Cryptopay($this->config); + + $customId = 'PAYMENT-123'; + + $result = $cryptopay->coinWithdrawals->retrieveByCustomId($customId); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/CoinsApiTest.php b/tests/Api/CoinsApiTest.php new file mode 100644 index 0000000..f284fa9 --- /dev/null +++ b/tests/Api/CoinsApiTest.php @@ -0,0 +1,23 @@ +config); + + $result = $cryptopay->coins->all(); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/CustomersApiTest.php b/tests/Api/CustomersApiTest.php new file mode 100644 index 0000000..1cf77fa --- /dev/null +++ b/tests/Api/CustomersApiTest.php @@ -0,0 +1,74 @@ +config); + + $result = $cryptopay->customers->all(); + + $this->assertNotNull($result); + } + + public function testcreate() + { + VCR::insertCassette('customers/create.yml'); + + $cryptopay = new Cryptopay($this->config); + + $params = [ + 'id' => '56c8cb4112bc7df178ae804fa75f712b', + 'currency' => 'EUR' + ]; + + $result = $cryptopay->customers->create($params); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('customers/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $customerId = "CUSTOMER-123"; + + $result = $cryptopay->customers->retrieve($customerId); + + $this->assertNotNull($result); + } + + public function testupdate() + { + VCR::insertCassette('customers/update.yml'); + + $cryptopay = new Cryptopay($this->config); + + $customerId = 'CUSTOMER-123'; + $params = [ + 'addresses' => [ + [ + 'address' => '2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ', + 'currency' => 'BTC', + 'network' => 'bitcoin' + ] + ] + ]; + + $result = $cryptopay->customers->update($customerId, $params); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/ExchangeTransfersApiTest.php b/tests/Api/ExchangeTransfersApiTest.php new file mode 100644 index 0000000..2f9fc55 --- /dev/null +++ b/tests/Api/ExchangeTransfersApiTest.php @@ -0,0 +1,63 @@ +config); + + $exchangeTransfer = $cryptopay->exchangeTransfers->create([ + 'charged_currency' => 'EUR', + 'charged_amount' => '100.0', + 'received_currency' => 'BTC', + 'received_amount' => null, + 'force_commit' => false + ])->data; + + $result = $cryptopay->exchangeTransfers->commit($exchangeTransfer->id); + + $this->assertNotNull($result); + } + + public function testcreate() + { + VCR::insertCassette('exchangeTransfers/create.yml'); + + $cryptopay = new Cryptopay($this->config); + + $params = [ + 'charged_currency' => 'EUR', + 'charged_amount' => '100.0', + 'received_currency' => 'BTC', + 'received_amount' => null, + 'force_commit' => true + ]; + + $result = $cryptopay->exchangeTransfers->create($params); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('exchangeTransfers/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $exchangeTransferId = '2c090f99-7cc1-40da-9bca-7caa57b4ebfb'; + + $result = $cryptopay->exchangeTransfers->retrieve($exchangeTransferId); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/InvoicesApiTest.php b/tests/Api/InvoicesApiTest.php new file mode 100644 index 0000000..1954a0c --- /dev/null +++ b/tests/Api/InvoicesApiTest.php @@ -0,0 +1,121 @@ +config); + + $result = $cryptopay->invoices->all(); + + $this->assertNotNull($result); + } + + public function testcommitRecalculation() + { + VCR::insertCassette('invoices/commitRecalculation.yml'); + + $cryptopay = new Cryptopay($this->config); + + $invoiceId = '8dd53e0f-0725-48b4-b0a7-1840aa67b5bb'; + $recalculation = $cryptopay->invoices->createRecalculation($invoiceId)->data; + + $result = $cryptopay->invoices->commitRecalculation($invoiceId, $recalculation->id); + + $this->assertNotNull($result); + } + + public function testcreate() + { + VCR::insertCassette('invoices/create.yml'); + + $cryptopay = new Cryptopay($this->config); + + $params = [ + 'price_amount' => '100.0', + 'price_currency' => 'EUR', + 'pay_currency' => 'BTC' + ]; + + $result = $cryptopay->invoices->create($params); + + $this->assertNotNull($result); + } + + public function testcreateRecalculation() + { + VCR::insertCassette('invoices/createRecalculation.yml'); + + $cryptopay = new Cryptopay($this->config); + + $invoiceId = '29a563ad-b417-445c-b8f6-b6c806bb039b'; + $params = ['force_commit' => true]; + + $result = $cryptopay->invoices->createRecalculation($invoiceId, $params); + + $this->assertNotNull($result); + } + + public function testcreateRefund() + { + VCR::insertCassette('invoices/createRefund.yml'); + + $cryptopay = new Cryptopay($this->config); + + $invoiceId = '331646a6-c8b5-430d-adfb-021d11ff6cd0'; + $params = ['address' => '0xf3532c1fd002665ec54d46a50787e0c69c76cd44']; + + $result = $cryptopay->invoices->createRefund($invoiceId, $params); + + $this->assertNotNull($result); + } + + public function testallRefunds() + { + VCR::insertCassette('invoices/allRefunds.yml'); + + $cryptopay = new Cryptopay($this->config); + + $invoiceId = '7e274430-e20f-4321-8748-20824287ae44'; + + $result = $cryptopay->invoices->allRefunds($invoiceId); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('invoices/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $invoiceId = 'c8233d57-78c8-4c36-b35e-940ae9067c78'; + + $result = $cryptopay->invoices->retrieve($invoiceId); + + $this->assertNotNull($result); + } + + public function testretrieveByCustomId() + { + VCR::insertCassette('invoices/retrieveByCustomId.yml'); + + $cryptopay = new Cryptopay($this->config); + + $customId = 'PAYMENT-123'; + + $result = $cryptopay->invoices->retrieveByCustomId($customId); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/RatesApiTest.php b/tests/Api/RatesApiTest.php new file mode 100644 index 0000000..0dba204 --- /dev/null +++ b/tests/Api/RatesApiTest.php @@ -0,0 +1,34 @@ +config); + + $result = $cryptopay->rates->all(); + + $this->assertNotNull($result); + } + + public function testretrieve() + { + VCR::insertCassette('rates/retrieve.yml'); + + $cryptopay = new Cryptopay($this->config); + + $result = $cryptopay->rates->retrieve('BTC', 'EUR'); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/RisksApiTest.php b/tests/Api/RisksApiTest.php new file mode 100644 index 0000000..daeeb60 --- /dev/null +++ b/tests/Api/RisksApiTest.php @@ -0,0 +1,29 @@ +config); + + $params = [ + 'address' => '2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ', + 'currency' => 'BTC', + 'type' => 'source_of_funds' + ]; + + $result = $cryptopay->risks->score($params); + + $this->assertNotNull($result); + } +} diff --git a/tests/Api/TransactionsApiTest.php b/tests/Api/TransactionsApiTest.php new file mode 100644 index 0000000..8ad2210 --- /dev/null +++ b/tests/Api/TransactionsApiTest.php @@ -0,0 +1,23 @@ +config); + + $result = $cryptopay->transactions->all(); + + $this->assertNotNull($result); + } +} diff --git a/tests/ApiTest.php b/tests/ApiTest.php new file mode 100644 index 0000000..8da03b8 --- /dev/null +++ b/tests/ApiTest.php @@ -0,0 +1,35 @@ +isVCRSupported()) { + VCR::configure() + ->setCassettePath('tests/cassettes') + ->enableLibraryHooks(['curl']) + ->enableRequestMatchers(['method', 'url', 'query_string', 'body']) + ->setMode('once'); + VCR::turnOn(); + } + + parent::__construct($name, $data, $dataName); + } + + protected function setUp(): void + { + if (!$this->isVCRSupported()) { + $this->markTestSkipped('VCR tests are not supported for this PHP version'); + } + } + + // https://github.com/php-vcr/php-vcr/issues/373 + private function isVCRSupported(): bool + { + return version_compare(PHP_VERSION, '8.2.0', '<'); + } +} diff --git a/tests/BaseTest.php b/tests/BaseTest.php index 04eb229..87d03ff 100644 --- a/tests/BaseTest.php +++ b/tests/BaseTest.php @@ -13,8 +13,6 @@ abstract class BaseTest extends TestCase { - private string $apiKey = ''; - private string $apiSecret = ''; private string $baseUrl = 'https://business-sandbox.cryptopay.me'; private int $timeout = 10; @@ -25,8 +23,8 @@ abstract class BaseTest extends TestCase public function __construct(?string $name = null, array $data = [], $dataName = '') { $this->config = (new Config()) - ->withApiKey($this->apiKey) - ->withApiSecret($this->apiSecret) + ->withApiKey(getenv('CRYPTOPAY_API_KEY')) + ->withApiSecret(getenv('CRYPTOPAY_API_SECRET')) ->withBaseUrl($this->baseUrl) ->withTimeout($this->timeout); diff --git a/tests/cassettes/accounts/all.yml b/tests/cassettes/accounts/all.yml new file mode 100644 index 0000000..6d17c27 --- /dev/null +++ b/tests/cassettes/accounts/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/accounts' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 11:06:54 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:140jf/FIiyDnhHkL1pBoF43J0Lw=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 11:06:54 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e50946c18ca9d34-DME + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"31b457fb-5ae2-4937-af4d-9f5793dec795","balance":"0.0","currency":"UAH","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"2b140928-9082-4928-add2-704c38a68eb5","balance":"0.0","currency":"DOGE","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"37c205d0-4cee-4660-bcf0-ce14d4f4ab56","balance":"0.0","currency":"TRX","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"abd956a3-a922-4245-a89c-a0d43aa03d84","balance":"0.0","currency":"SOL","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"67744d2e-fc69-4b61-9d25-6f851a72dd78","balance":"0.0","currency":"SHIB","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"bd6fb8da-c06b-4bd5-9a3f-f3d3988ee57f","balance":"0.0","currency":"BUSD","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"a4fe3930-260a-46f4-a544-e8b5fd343996","balance":"0.0","currency":"BNB","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"b048402c-6334-4cbe-b794-458c7ad147a9","balance":"0.0","currency":"ADA","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"3af0488d-59ba-41f2-99e0-474736e1d65a","balance":"2339.5837963","currency":"XLM","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"7ba4f479-9bd5-4615-9503-6ffcfaab7ed1","balance":"0.0","currency":"USDC","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"aabfb17b-2e88-4576-900f-fb2bf75b6f40","balance":"100.0","currency":"DAI","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"cfc56990-121b-4908-8c77-7250cd29a1ff","balance":"0.0","currency":"RUB","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"85eb3f0a-bf2c-4527-b54e-8a30897bea8f","balance":"116.431002","currency":"USDT","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"e98d0424-8b37-48ca-ac07-6552eb7fe5e9","balance":"0.0","currency":"TRY","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"9ecdbae0-e756-4e7f-99f3-13b7339041f1","balance":"3.1","currency":"BCH","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"4eaf42f0-8fce-42b1-9fad-0f48d243e20f","balance":"5428660.0","currency":"JPY","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"6bb10af3-de19-44ad-872d-6dd333df0359","balance":"10000.0","currency":"CNY","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"e1a24f9c-382f-494d-87cc-47707682b83a","balance":"4099.52","currency":"USD","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"31804390-d44e-49e9-8698-ca781e0eb806","balance":"8119.4","currency":"EUR","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"2d52b969-b8de-4a4e-9941-8f5cc9002279","balance":"0.0","currency":"GBP","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"551a50ae-b71d-4442-b786-0205a0927fd6","balance":"10.39743866","currency":"ETH","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"13d71aeb-400c-478b-87f5-f9c12e934984","balance":"145.851873","currency":"XRP","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"5ae8bd09-376a-4222-885b-a33b06501cad","balance":"0.59119371","currency":"LTC","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"},{"id":"56bc90b6-cd46-422e-8b72-73eda0886d9e","balance":"0.0","currency":"BTC","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006"}],"meta":{"total":24,"has_more":false}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/accounts' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 237 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.282132 + namelookup_time: 0.043638 + connect_time: 0.06363 + pretransfer_time: 0.123471 + size_upload: 0.0 + size_download: 3253.0 + speed_download: 11535.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.282067 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 188.114.99.234 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 44898 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 123421 + connect_time_us: 63630 + namelookup_time_us: 43638 + pretransfer_time_us: 123471 + redirect_time_us: 0 + starttransfer_time_us: 282067 + total_time_us: 282132 + index: 0 diff --git a/tests/cassettes/accounts/allTransactions.yml b/tests/cassettes/accounts/allTransactions.yml new file mode 100644 index 0000000..e8f2c2a --- /dev/null +++ b/tests/cassettes/accounts/allTransactions.yml @@ -0,0 +1,71 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/accounts/31804390-d44e-49e9-8698-ca781e0eb806/transactions' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 11:02:58 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:0RJq0cStSZKWZxDV/YzWlbmHxaA=' + Accept: '' + response: + status: + code: 200 + message: OK + headers: + Date: 'Tue, 11 Jul 2023 11:02:58 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e508ea63fae16bf-DME + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"61447653-0e3e-48ca-bbd5-864ff9feff36","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8119.4","fee":"1.0","fee_currency":"EUR","reference_id":"db5f552c-7c0a-4761-8d05-1332440a23ae","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T09:08:11+00:00"},{"id":"5633bf6d-0e51-42ac-ae6e-8bacf5c76150","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8219.4","fee":"1.0","fee_currency":"EUR","reference_id":"009aae9d-5c64-4d98-ac86-1ad782c24459","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T09:08:10+00:00"},{"id":"930f4c0e-4ea8-4856-a216-c2f7bc7470a1","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8319.4","fee":"1.0","fee_currency":"EUR","reference_id":"b2ae4a34-e605-488e-85c1-fe88b4b1fc43","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T09:07:49+00:00"},{"id":"3eb9c018-a1f0-4293-b036-b50fa6d3c7ef","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8419.4","fee":"1.0","fee_currency":"EUR","reference_id":"ecf06edd-78ad-48d6-b74c-efe07f71bea7","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T09:07:31+00:00"},{"id":"21ce564b-3e38-43bf-91ff-c5e4e0a17792","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8519.4","fee":"1.0","fee_currency":"EUR","reference_id":"48290146-a902-49a1-bc4d-562c7d3021c3","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T09:07:12+00:00"},{"id":"6bb1015d-ef84-4afe-af67-499634f6e02d","custom_id":null,"customer_id":null,"amount":"0.0","currency":"EUR","balance":"8619.4","fee":"0.0","fee_currency":"EUR","reference_id":"9ae0624b-8c64-49c8-a388-76ecdb9979fc","reference_type":"ChannelPayment","description":null,"status":"on_hold","status_context":"channel_disabled","risk":null,"created_at":"2023-07-11T09:01:26+00:00"},{"id":"0310f07d-0577-4559-933a-90a1d39069d7","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8619.4","fee":"1.0","fee_currency":"EUR","reference_id":"4e79ee49-f3dd-4941-a6cc-ed0d86087cff","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-11T08:57:57+00:00"},{"id":"401b8f05-d61f-4be6-b8bb-2dd92214287a","custom_id":null,"customer_id":null,"amount":"0.0","currency":"EUR","balance":"8619.4","fee":"0.0","fee_currency":"EUR","reference_id":"1f87483d-8dbc-4052-9066-ac6543047f8b","reference_type":"ChannelPayment","description":null,"status":"on_hold","status_context":"channel_disabled","risk":null,"created_at":"2023-07-11T08:56:30+00:00"},{"id":"be24e8b1-fdf1-4331-a5ae-f92ed11ecd87","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8619.4","fee":"1.0","fee_currency":"EUR","reference_id":"86a94c44-2b0e-40d1-b40e-c5818b303e09","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:55:53+00:00"},{"id":"b68b74c3-f4ca-4e1a-a44e-935112c80d9c","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8719.4","fee":"1.0","fee_currency":"EUR","reference_id":"06a54ccb-889f-4c1f-8a59-086a84a1e2dd","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:55:53+00:00"},{"id":"58892385-6b25-4b02-9188-0f350a7a8b3f","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8819.4","fee":"0.1","fee_currency":"EUR","reference_id":"165b5234-7695-4f3c-acf0-94cb1f2f5973","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:41:52+00:00"},{"id":"bef5de85-7ee1-4f7a-a62e-22b24d7b1e42","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8829.4","fee":"0.5","fee_currency":"EUR","reference_id":"331646a6-c8b5-430d-adfb-021d11ff6cd0","reference_type":"Invoice","description":null,"status":"refunded","status_context":null,"risk":null,"created_at":"2023-07-11T08:41:50+00:00"},{"id":"7b9b5478-ba01-4978-a47c-fb9e942bf414","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8829.4","fee":"0.1","fee_currency":"EUR","reference_id":"31eb604a-4039-4dd6-8df2-1c1c7fb002fb","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:40:50+00:00"},{"id":"c071ba6f-a6fd-4d38-ae3e-241f6238b01a","custom_id":null,"customer_id":null,"amount":"9.07","currency":"EUR","balance":"8839.4","fee":"0.1","fee_currency":"EUR","reference_id":"8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:40:47+00:00"},{"id":"fbd9a04b-639e-4169-9a51-dfca37a0ad3a","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8830.33","fee":"0.1","fee_currency":"EUR","reference_id":"64b622a6-522c-4636-ae3a-e7805982288e","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:38:09+00:00"},{"id":"100e399d-ea73-4c9d-ae71-4e1e6b39b000","custom_id":null,"customer_id":null,"amount":"9.07","currency":"EUR","balance":"8840.33","fee":"0.1","fee_currency":"EUR","reference_id":"29a563ad-b417-445c-b8f6-b6c806bb039b","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:37:32+00:00"},{"id":"ee8ea16a-14ba-4fe9-9848-7f41708ba497","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"c9e75e23-8664-4f26-9098-3c304c7b6e31","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T10:15:08+00:00"},{"id":"301ab069-62e7-4c51-a270-ec56256b52c8","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"8b7cecef-e220-4619-b95e-47caea862c8f","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T09:08:10+00:00"},{"id":"27361825-4757-4bce-a38a-feaeaf9c360e","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"46c48574-66e3-4838-8ab4-99a3d0f0a368","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T09:07:20+00:00"},{"id":"05809f17-a849-46b3-9fc0-08322f80f195","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"03ff86bb-4da0-4950-954f-5b7a2ee75298","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:21:36+00:00"},{"id":"48518e6f-9762-409b-91cb-33385f5d3821","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"f5959728-2eab-439c-9c1a-a1b8d2cc5712","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:20:16+00:00"},{"id":"67ade6e5-3aae-46f5-8f91-248a68e506d9","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"40b271ac-085a-4714-8c8b-48fcaea1cd57","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:19:55+00:00"},{"id":"5524b339-81c3-420c-a6b7-81f409559a12","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"cbc1b67e-becd-4b1b-b55d-60d64f8d5bcd","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:19:42+00:00"},{"id":"1c793abc-60e3-4bc7-b68e-201eca13ad76","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"45e3db3a-c823-40a4-9cd5-05a292b2282d","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:43:32+00:00"},{"id":"a42f9e1c-5a16-4751-86fd-612736135abb","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"5c916a9a-f26c-417f-b067-f4b36821076b","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:43:27+00:00"},{"id":"5956391d-a77e-43cf-b495-a0f4b533c9e1","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"bd1837e4-22dd-4017-8b1d-27e49ebd6193","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:33:44+00:00"},{"id":"6e7f3698-b19f-4e47-ac70-a4945eb7758f","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"8da1e0f0-e08f-4250-bb8c-e04a5b29eeba","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:32:33+00:00"},{"id":"ab5f7aac-e460-47bb-a460-9427139b4d86","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"cb2a09b5-4667-4eb2-aacd-6fac008551cd","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:30:32+00:00"},{"id":"a8c6ff6b-914e-4033-8aaf-c01de05b4c50","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"209f350a-591f-44e7-9eb5-e9b4f1974996","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-06T10:28:05+00:00"},{"id":"510869cb-860b-4cc2-9512-62c5227c3e1c","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"a581ec0e-a426-4a4e-9767-fa09e4cfb88e","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:11:45+00:00"},{"id":"6bdeb0f9-c7ba-437a-8612-bb719a856db9","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"54801abb-88cb-4e4f-9c27-6b147fd443fd","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-22T14:43:59+00:00"},{"id":"6c1dec38-b1bf-4fb5-990c-1c16dfc2874c","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"ffc68d65-5012-48e9-8ea7-7cc8fc7ee9f5","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-22T14:43:41+00:00"},{"id":"27f08f82-ef8c-435f-8b01-c1af2a6c04db","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"41e094fa-9671-49b2-8f4e-75aab15674d0","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-05T18:36:45+00:00"},{"id":"10bcebaa-f2db-435e-a37b-f18b576c99cb","custom_id":null,"customer_id":null,"amount":"-56.05","currency":"EUR","balance":"8781.76","fee":"0.57","fee_currency":"EUR","reference_id":"b4261912-d8ae-4d77-b595-833ac4a9e359","reference_type":"CoinWithdrawal","description":null,"status":"on_hold","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:46+00:00"},{"id":"773b825e-492d-4f88-94bf-60b4a2c0a01b","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8837.81","fee":"0.5","fee_currency":"EUR","reference_id":"aef56529-39f1-4b31-9662-b7005784ca48","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:42+00:00"},{"id":"2d573cc9-e352-4090-8297-d25fe0f205bf","custom_id":null,"customer_id":null,"amount":"19.8","currency":"EUR","balance":"8837.81","fee":"0.2","fee_currency":"EUR","reference_id":"b80940cb-f586-4412-82ab-703d37a6c1b0","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:32+00:00"},{"id":"d99f100a-d1ec-4b5f-84a6-63fce0dd3b4e","custom_id":null,"customer_id":null,"amount":"2342.23","currency":"EUR","balance":"8837.81","fee":"23.66","fee_currency":"EUR","reference_id":"8e69abcf-9065-4ac3-a998-bfde90d5b59d","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-16T11:53:38+00:00"},{"id":"bccb6f7f-fde6-4a0f-9043-770f2079e6b5","custom_id":null,"customer_id":null,"amount":"23.24","currency":"EUR","balance":"8837.81","fee":"0.24","fee_currency":"EUR","reference_id":"d1fa210c-8eb9-4649-9f3c-ac372e83dc0c","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-16T11:52:52+00:00"},{"id":"0e8e0be7-87fc-4c2c-84d1-8cc574ad6443","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8837.81","fee":"1.0","fee_currency":"EUR","reference_id":"70b79b0c-7c94-413d-8364-e0103fd58bca","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-04-20T09:58:57+00:00"},{"id":"5320bfae-ba79-4c1f-aa67-d1590466a51d","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8837.81","fee":"1.0","fee_currency":"EUR","reference_id":"d3872cfe-4fc3-4012-942e-43178684a129","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-04-14T08:38:39+00:00"},{"id":"f9fe752a-c298-402a-9f48-e9af21b83cc2","custom_id":null,"customer_id":null,"amount":"9.9","currency":"EUR","balance":"8837.81","fee":"0.1","fee_currency":"EUR","reference_id":"4f19aee9-b211-475b-bdda-c2bb44946869","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-03-17T13:57:09+00:00"},{"id":"497c4a33-102d-4d4b-a47f-f0fa88f47c73","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8837.81","fee":"1.0","fee_currency":"EUR","reference_id":"00635f8b-bde8-4fa1-97b3-53ae2958a877","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-03-10T12:17:36+00:00"},{"id":"8bcf7008-5d50-4532-b08f-945857bc320f","custom_id":null,"customer_id":null,"amount":"-200.0","currency":"EUR","balance":"8837.81","fee":"2.0","fee_currency":"EUR","reference_id":"12966217-7507-4f3c-832b-517487a52495","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-03-08T07:19:47+00:00"},{"id":"dced288f-51e8-4ae0-9905-0080793fbbc9","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"fa31b05b-9b16-4ead-bd12-0827e08568fe","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-03-02T10:54:23+00:00"},{"id":"3145538c-47d8-42a8-aa08-62eacfecc84c","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"25a827fd-0dc3-43fd-9bba-f9bb5f31f66a","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-03-02T10:53:44+00:00"},{"id":"ac70f9e2-4f73-41a8-aad9-151cc043cb44","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"2b33d5d7-7dc3-458e-8626-1a241ece4d40","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-02-23T02:32:21+00:00"},{"id":"7ef5d239-b903-4484-a06a-94a6f6c554b6","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"5cf50ed0-5e89-41c1-b5f0-e9f716a09851","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-02-16T10:18:06+00:00"},{"id":"4aaa37e0-a2ef-4f53-be9e-e517aa3f8ca6","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"af341b60-ec2c-449a-ba9a-b64a1bbc6081","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-02-16T10:06:35+00:00"},{"id":"ae3b7a35-ae69-4901-b204-e99d5c1dd2f5","custom_id":null,"customer_id":null,"amount":"990.0","currency":"EUR","balance":"9037.81","fee":"10.0","fee_currency":"EUR","reference_id":"97447c3a-0279-49c0-bce9-3421378d3c02","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-02-09T14:09:16+00:00"},{"id":"4d301a32-e9d9-40fa-b66f-53a7debef13e","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"9037.81","fee":"1.0","fee_currency":"EUR","reference_id":"d0b0062a-ded6-457c-97f0-fe5ed03209b2","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-02-09T12:10:42+00:00"}],"meta":{"total":926,"has_more":true}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/accounts/31804390-d44e-49e9-8698-ca781e0eb806/transactions' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 287 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.251357 + namelookup_time: 0.006467 + connect_time: 0.027601 + pretransfer_time: 0.085783 + size_upload: 0.0 + size_download: 18266.0 + speed_download: 72772.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.248162 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 188.114.98.234 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60990 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 85738 + connect_time_us: 27601 + namelookup_time_us: 6467 + pretransfer_time_us: 85783 + redirect_time_us: 0 + starttransfer_time_us: 248162 + total_time_us: 251357 diff --git a/tests/cassettes/channels/all.yml b/tests/cassettes/channels/all.yml new file mode 100644 index 0000000..f12a73f --- /dev/null +++ b/tests/cassettes/channels/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/channels' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:56 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:JYxKgbIi8KLpTHf/7+MfjRVFuys=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:02:56 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fded538750b7c-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"5930ec9b-df73-4b20-b776-29cd3451e790","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"USDT","address":"0x0c3e84c181fe35f1df1fe41300f650fb07895197","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x0c3e84c181fe35f1df1fe41300f650fb07895197","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/5930ec9b-df73-4b20-b776-29cd3451e790"},{"id":"1bc5830f-2f2f-47ad-931a-f5a757e76faa","status":"enabled","name":"Channel name","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N5BHwYvYx2jQu16CnY5cdgsmvduFrfB2Pg","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2N5BHwYvYx2jQu16CnY5cdgsmvduFrfB2Pg","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/1bc5830f-2f2f-47ad-931a-f5a757e76faa"},{"id":"9e091d04-dbf8-46a5-a8ad-f6c3da54548b","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"XRP","address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=4185706124","network":"ripple","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ripple:rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=4185706124","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/9e091d04-dbf8-46a5-a8ad-f6c3da54548b"},{"id":"b6b5c621-3305-478e-b510-1b73f9f7becb","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"XRP","address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=1562880701","network":"ripple","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ripple:rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=1562880701","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/b6b5c621-3305-478e-b510-1b73f9f7becb"},{"id":"5889291b-1f16-42f2-be9a-d1f57500e40a","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0x30639272137ad1bd4db3dff3fda842230597c637","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"vW2ICk1OrqRSOXkx","customer_id":null,"uri":"ethereum:0x30639272137ad1bd4db3dff3fda842230597c637@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/5889291b-1f16-42f2-be9a-d1f57500e40a"},{"id":"1a780375-7c80-4772-be7a-e9aa461fa881","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0x412137ae7cbaf8574fe9fb35d184bfea76422ce0","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"0YQm4zmg32yZEuRT","customer_id":null,"uri":"ethereum:0x412137ae7cbaf8574fe9fb35d184bfea76422ce0@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/1a780375-7c80-4772-be7a-e9aa461fa881"},{"id":"afc1ab16-d065-4658-828e-22255ef96dd7","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0x1e1229b18e478492a6872d85ecb1f6146cb02fc1","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"n5fzkClSOdZpPsrV","customer_id":null,"uri":"ethereum:0x1e1229b18e478492a6872d85ecb1f6146cb02fc1@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/afc1ab16-d065-4658-828e-22255ef96dd7"},{"id":"2814eb16-b955-40ba-815b-6b684b10f2d9","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0x2b2fb1ee9e46b76b38dd98c54eeb00dd0825677d","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"SlCmTSlfa684Wiea","customer_id":null,"uri":"ethereum:0x2b2fb1ee9e46b76b38dd98c54eeb00dd0825677d@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/2814eb16-b955-40ba-815b-6b684b10f2d9"},{"id":"28f8f90a-0c46-4696-b184-4cc874a28ecb","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0xc0525220eabafdb51a54faaecd3bf7de9e4916d9","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"pjt3wSiqwVX5tWuH","customer_id":null,"uri":"ethereum:0xc0525220eabafdb51a54faaecd3bf7de9e4916d9@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/28f8f90a-0c46-4696-b184-4cc874a28ecb"},{"id":"c6030ffc-1f6e-4485-90e8-8634ec82149b","status":"disabled","name":"channel-1-modified","description":"This is a simple channel","receiver_currency":"BTC","pay_currency":"ETH","address":"0x2f6ceaf77697ddf702d5620375e6ca9316370440","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"fKN8dGbSux1SHQ5j","customer_id":null,"uri":"ethereum:0x2f6ceaf77697ddf702d5620375e6ca9316370440@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/c6030ffc-1f6e-4485-90e8-8634ec82149b"},{"id":"35477d21-efca-4a0f-96d4-09f18b5006f7","status":"enabled","name":"User 3763649","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"tb1qaysss4a4xesrk5v24yyc0r3pvvq2lr3q8vyf05prl48q0xqd32rq2aq5vt","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"123","customer_id":null,"uri":"bitcoin:tb1qaysss4a4xesrk5v24yyc0r3pvvq2lr3q8vyf05prl48q0xqd32rq2aq5vt","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/35477d21-efca-4a0f-96d4-09f18b5006f7"},{"id":"9d9fe5a1-f2d7-4dde-ac06-aaa0579626ec","status":"enabled","name":"User 3763649","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"tb1ql6k0jew8g56sk3vuvhz7h55dlrl3z5cd7dhxq003nq3qacrdqecqhqlygz","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"123456789qwertyx2","customer_id":null,"uri":"bitcoin:tb1ql6k0jew8g56sk3vuvhz7h55dlrl3z5cd7dhxq003nq3qacrdqecqhqlygz","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/9d9fe5a1-f2d7-4dde-ac06-aaa0579626ec"},{"id":"298b9604-bcb8-4d4f-abca-c994d69b3cd8","status":"enabled","name":"User 3763649","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2MzpHxuRH3vQemfjggzcWT9kRDN6S2pgTqu","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"123456789qwertyx1","customer_id":null,"uri":"bitcoin:2MzpHxuRH3vQemfjggzcWT9kRDN6S2pgTqu","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/298b9604-bcb8-4d4f-abca-c994d69b3cd8"},{"id":"7c168eaf-17e5-445b-a0f8-bd3aca744620","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2NEWL2EnPDWdWjw2iAApjKcbbELDhrK4PJa","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"123456789qwertyx","customer_id":null,"uri":"bitcoin:2NEWL2EnPDWdWjw2iAApjKcbbELDhrK4PJa","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/7c168eaf-17e5-445b-a0f8-bd3aca744620"},{"id":"9be2c199-e588-429b-b7ca-a484b2e97da0","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"tb1q9l2ru0tqjfa5qfuvptg69gwvqfnzmumf8nlj248zcxs4vk5cnzxqa6flhk","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:tb1q9l2ru0tqjfa5qfuvptg69gwvqfnzmumf8nlj248zcxs4vk5cnzxqa6flhk","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/9be2c199-e588-429b-b7ca-a484b2e97da0"},{"id":"0ec10193-19dc-4aec-98c7-050ea3c96db9","status":"enabled","name":"Channel name","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2NC4ymtetv3Ls8ZHoeNditLUeVcTXi1w6dM","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2NC4ymtetv3Ls8ZHoeNditLUeVcTXi1w6dM","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/0ec10193-19dc-4aec-98c7-050ea3c96db9"},{"id":"350aa936-63f1-4590-ba4a-cb7a43cb696e","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"CHANNEL-123","customer_id":null,"uri":"bitcoin:2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/350aa936-63f1-4590-ba4a-cb7a43cb696e"},{"id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","status":"disabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1"},{"id":"096b0350-8499-4537-b585-346f6a8c8e6e","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"ETH","address":"0x7d00c40f923f1cdb99a5a8e692db8a8804e06715","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x7d00c40f923f1cdb99a5a8e692db8a8804e06715@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/096b0350-8499-4537-b585-346f6a8c8e6e"},{"id":"bb5152b3-6489-4077-81d2-e8a91a926281","status":"enabled","name":"whatever","description":"whatever","receiver_currency":"BTC","pay_currency":"BTC","address":"2N6aZhFp4tWni1c66g1tP8WAVjNMKAigcTh","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"fc28c4231a49c3fa2af2956d9064e569","customer_id":null,"uri":"bitcoin:2N6aZhFp4tWni1c66g1tP8WAVjNMKAigcTh","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/bb5152b3-6489-4077-81d2-e8a91a926281"},{"id":"781c6e27-44b6-4751-96d7-2f3aa5578c3b","status":"enabled","name":"whatever","description":"whatever","receiver_currency":"BTC","pay_currency":"BTC","address":"2Mu6jGVPAFt5ohZF5kFVv6gzsS8KDirZynp","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"cc3b7057ad46a891e690f303533d97af","customer_id":null,"uri":"bitcoin:2Mu6jGVPAFt5ohZF5kFVv6gzsS8KDirZynp","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/781c6e27-44b6-4751-96d7-2f3aa5578c3b"},{"id":"6ffc1519-4f48-4f00-b865-0aea5335aa84","status":"enabled","name":"Music & Computers","description":"Quibusdam eaque omnis qui.","receiver_currency":"USD","pay_currency":"USDT","address":"0x69af682f3b063100419db0edca52df603d231467","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x69af682f3b063100419db0edca52df603d231467","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/6ffc1519-4f48-4f00-b865-0aea5335aa84"},{"id":"cac7c75b-eeb7-467d-89a8-bca43b258101","status":"enabled","name":"0","description":null,"receiver_currency":"USD","pay_currency":"USDT","address":"0xad08af95489a23e273c06fab30714a81acca8c7c","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0xad08af95489a23e273c06fab30714a81acca8c7c","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/cac7c75b-eeb7-467d-89a8-bca43b258101"},{"id":"b5d7e762-26ee-4d48-b111-f5a6ea16551b","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"ETH","address":"0x106c51fc398ba2430bdc1312f3a3b3ccf0708a50","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x106c51fc398ba2430bdc1312f3a3b3ccf0708a50@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/b5d7e762-26ee-4d48-b111-f5a6ea16551b"},{"id":"3644c9cf-0f7a-47c3-b26d-8a0f911ce9fe","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"ETH","address":"0x02f8a6fba75a080d66a32ac5d23875d74788db66","network":"ethereum","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ethereum:0x02f8a6fba75a080d66a32ac5d23875d74788db66@5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/3644c9cf-0f7a-47c3-b26d-8a0f911ce9fe"},{"id":"39bb413c-40cc-4c08-9326-d64c03208030","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2MvuMAbKPQweE9YM5ZApib4KJMa55o79E2f","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2MvuMAbKPQweE9YM5ZApib4KJMa55o79E2f","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/39bb413c-40cc-4c08-9326-d64c03208030"},{"id":"b8f3d590-9f88-4c36-a62f-33d523ac07bc","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N6oDdKWQea6Zk5DURwRXsFZ2JkpqW4Waf3","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2N6oDdKWQea6Zk5DURwRXsFZ2JkpqW4Waf3","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/b8f3d590-9f88-4c36-a62f-33d523ac07bc"},{"id":"d36a5489-768d-4d1a-9bb0-5fd3b6360074","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N3wn9vhhngW6CHAooKhkpMd1mEsxiVoSUA","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2N3wn9vhhngW6CHAooKhkpMd1mEsxiVoSUA","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/d36a5489-768d-4d1a-9bb0-5fd3b6360074"},{"id":"27ebb06c-57ef-4e9d-9aa4-fd24273c140f","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N1mvz6Y43DxyQFJxZuVd59b15TxkstDaBB","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2N1mvz6Y43DxyQFJxZuVd59b15TxkstDaBB","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/27ebb06c-57ef-4e9d-9aa4-fd24273c140f"},{"id":"e23ad6d2-57b1-4f78-92bb-8019c04735c4","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2MyrLjhsjTrb14i15yytUmXHCQMBaKDjYja","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2MyrLjhsjTrb14i15yytUmXHCQMBaKDjYja","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/e23ad6d2-57b1-4f78-92bb-8019c04735c4"},{"id":"556b340a-9231-4dd7-9dec-b7d27de163d1","status":"enabled","name":"ff","description":null,"receiver_currency":"XRP","pay_currency":"XRP","address":"rpEGTQEjfyg5bB67L1BWf7eLWgUfdMNVKd?dt=405","network":"ripple","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ripple:rpEGTQEjfyg5bB67L1BWf7eLWgUfdMNVKd?dt=405","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/556b340a-9231-4dd7-9dec-b7d27de163d1"},{"id":"531efb45-adeb-41d0-82c5-814e811efabb","status":"enabled","name":"ff","description":null,"receiver_currency":"XRP","pay_currency":"XRP","address":"rpEGTQEjfyg5bB67L1BWf7eLWgUfdMNVKd?dt=414","network":"ripple","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"ripple:rpEGTQEjfyg5bB67L1BWf7eLWgUfdMNVKd?dt=414","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/531efb45-adeb-41d0-82c5-814e811efabb"},{"id":"f31d486b-8802-4823-8a98-17cbc531e465","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N7ZsAoAxJ8scCfXg6pAKzEmsTeV4uCYVS2","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"44899262005146527358348980576115","customer_id":null,"uri":"bitcoin:2N7ZsAoAxJ8scCfXg6pAKzEmsTeV4uCYVS2","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/f31d486b-8802-4823-8a98-17cbc531e465"},{"id":"14db0836-b1cc-4358-9515-184d0bcffe15","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N5d2FJJQ51E4mpZXi6cRQSZL65RVoDSBo5","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"ademidov4","customer_id":null,"uri":"bitcoin:2N5d2FJJQ51E4mpZXi6cRQSZL65RVoDSBo5","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/14db0836-b1cc-4358-9515-184d0bcffe15"},{"id":"4362fe47-1684-470d-b379-6a63046d5b9b","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2Mz1DvURMaVBYbqba4Q7Nn6DGWYovoHwYcm","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2Mz1DvURMaVBYbqba4Q7Nn6DGWYovoHwYcm","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/4362fe47-1684-470d-b379-6a63046d5b9b"},{"id":"ae4940d0-7a9d-401c-be8d-715e3674bb39","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N7xjpb7MSyUGCmrk4bMacuBiietnsihs7J","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2N7xjpb7MSyUGCmrk4bMacuBiietnsihs7J","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/ae4940d0-7a9d-401c-be8d-715e3674bb39"},{"id":"628b0b90-28ad-48e5-b874-181e2f25bdb0","status":"enabled","name":"ff","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2Mvzx8m6xVvv351KZ7khZVz21ipHhsXQCYf","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2Mvzx8m6xVvv351KZ7khZVz21ipHhsXQCYf","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/628b0b90-28ad-48e5-b874-181e2f25bdb0"}],"meta":{"total":37,"has_more":false}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 237 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.653207 + namelookup_time: 0.156094 + connect_time: 0.254426 + pretransfer_time: 0.381847 + size_upload: 0.0 + size_download: 18344.0 + speed_download: 28091.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.603533 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60578 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 381743 + connect_time_us: 254426 + namelookup_time_us: 156094 + pretransfer_time_us: 381847 + redirect_time_us: 0 + starttransfer_time_us: 603533 + total_time_us: 653207 + index: 0 diff --git a/tests/cassettes/channels/allPayments.yml b/tests/cassettes/channels/allPayments.yml new file mode 100644 index 0000000..8981367 --- /dev/null +++ b/tests/cassettes/channels/allPayments.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1/payments' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:57 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:PANDehQdPXSccSq05u6Mroqm0qs=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:02:57 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fdedbde4d0b63-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"9ae0624b-8c64-49c8-a388-76ecdb9979fc","paid_amount":"0.00331433","paid_currency":"BTC","received_amount":"0.0","received_currency":"EUR","fee":"0.0","fee_currency":"EUR","txid":"71e2ba2d1689456659e6064ed0a25d4de610bf91d30d1c0d50dfc624876a91ee","status":"on_hold","status_context":"channel_disabled","refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":null,"created_at":"2023-07-11T09:01:26+00:00"},{"id":"1f87483d-8dbc-4052-9066-ac6543047f8b","paid_amount":"0.00331433","paid_currency":"BTC","received_amount":"0.0","received_currency":"EUR","fee":"0.0","fee_currency":"EUR","txid":"4eb4f5d0ef88966b7c2b4bb1e1318ebc43d5679c4e7bae125fbfc02b3f2432f7","status":"on_hold","status_context":"channel_disabled","refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":null,"created_at":"2023-07-11T08:56:30+00:00"},{"id":"58b305a9-4682-4c16-bd77-a8427a6cc7e2","paid_amount":"0.00523078","paid_currency":"BTC","received_amount":"0.0","received_currency":"EUR","fee":"0.0","fee_currency":"EUR","txid":"de91aa36ba106c7901d1bda23f0370906d2f268036f5e578e8e4f21c47b4f4da","status":"on_hold","status_context":"channel_disabled","refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":0.0,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2022-09-19T09:23:36+00:00"},{"id":"704291ec-0b90-4118-89aa-0c9681c3213c","paid_amount":"0.00184519","paid_currency":"BTC","received_amount":"104.47","received_currency":"EUR","fee":"1.06","fee_currency":"EUR","txid":"4a46a2071635b6c504b72e6ecad8229e4c2efb1b2b10ac05da72b9c306ac36a2","exchange":{"pair":"BTCEUR","rate":"57192.7353","fee":"0.0","fee_currency":"EUR"},"status":"completed","status_context":null,"refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":3.78,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T07:09:54+00:00"},{"id":"839ed785-07e5-4b58-b235-2cbac6ece9e1","paid_amount":"0.00184519","paid_currency":"BTC","received_amount":"104.77","received_currency":"EUR","fee":"1.06","fee_currency":"EUR","txid":"bf2690d53564e6b1fa510ecddf7472d6e6c679fd9a22d82d198d8d4b88f78448","exchange":{"pair":"BTCEUR","rate":"57356.375","fee":"0.0","fee_currency":"EUR"},"status":"completed","status_context":null,"refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":7.25,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T07:09:54+00:00"},{"id":"d93bd627-f825-4ff5-bc3f-64f1fc572e86","paid_amount":"0.00184519","paid_currency":"BTC","received_amount":"0.0","received_currency":"EUR","fee":"0.0","fee_currency":"EUR","txid":"91b56ef2164ae37e95ce82723ff46c83a3e211b1a2cd1afcc21bee8f6c663d64","status":"on_hold","status_context":"illicit_resource","refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":4.96,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:49:39+00:00"},{"id":"6ceb11a5-22e9-43d7-9809-36ca70ae88e5","paid_amount":"0.00184519","paid_currency":"BTC","received_amount":"104.47","received_currency":"EUR","fee":"1.06","fee_currency":"EUR","txid":"31114ad287628c2a462f6cbce89035460a56af156b14b396165f26151dd8c762","exchange":{"pair":"BTCEUR","rate":"57192.7353","fee":"0.0","fee_currency":"EUR"},"status":"completed","status_context":null,"refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":7.19,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:48:30+00:00"}],"meta":{"total":7,"has_more":false}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1/payments' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 283 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.499889 + namelookup_time: 0.005067 + connect_time: 0.077706 + pretransfer_time: 0.223674 + size_upload: 0.0 + size_download: 4621.0 + speed_download: 9260.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.45615 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60588 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 223586 + connect_time_us: 77706 + namelookup_time_us: 5067 + pretransfer_time_us: 223674 + redirect_time_us: 0 + starttransfer_time_us: 456150 + total_time_us: 499889 + index: 0 diff --git a/tests/cassettes/channels/create.yml b/tests/cassettes/channels/create.yml new file mode 100644 index 0000000..7dc27e5 --- /dev/null +++ b/tests/cassettes/channels/create.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/channels' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:56 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:CDbMAx+jLFevELRhlLbJHe7IZ+Q=' + Accept: '' + body: '{"name":"Channel name","pay_currency":"BTC","receiver_currency":"EUR"}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 09:02:57 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fded89cc6b956-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"d37e9302-2dc4-45b4-8bea-8b82523102e4","status":"enabled","name":"Channel name","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2MuWwP9vdNtvxyMgpxYbzt9eyhpALwFrQuW","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2MuWwP9vdNtvxyMgpxYbzt9eyhpALwFrQuW","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/d37e9302-2dc4-45b4-8bea-8b82523102e4"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 328 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.506523 + namelookup_time: 0.004394 + connect_time: 0.101193 + pretransfer_time: 0.247706 + size_upload: 70.0 + size_download: 480.0 + speed_download: 948.0 + speed_upload: 138.0 + download_content_length: -1.0 + upload_content_length: 70.0 + starttransfer_time: 0.506481 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60584 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 247654 + connect_time_us: 101193 + namelookup_time_us: 4394 + pretransfer_time_us: 247706 + redirect_time_us: 0 + starttransfer_time_us: 506481 + total_time_us: 506523 + index: 0 diff --git a/tests/cassettes/channels/retrieve.yml b/tests/cassettes/channels/retrieve.yml new file mode 100644 index 0000000..11fe9ae --- /dev/null +++ b/tests/cassettes/channels/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:57 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:VVn2snSpPdiliyK+8FWHCjMhUgs=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:02:58 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fdedf1962b966-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","status":"disabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 274 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.467561 + namelookup_time: 0.004172 + connect_time: 0.135313 + pretransfer_time: 0.277427 + size_upload: 0.0 + size_download: 470.0 + speed_download: 1006.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.467514 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60598 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 277359 + connect_time_us: 135313 + namelookup_time_us: 4172 + pretransfer_time_us: 277427 + redirect_time_us: 0 + starttransfer_time_us: 467514 + total_time_us: 467561 + index: 0 diff --git a/tests/cassettes/channels/retrieveByCustomId.yml b/tests/cassettes/channels/retrieveByCustomId.yml new file mode 100644 index 0000000..1fc3650 --- /dev/null +++ b/tests/cassettes/channels/retrieveByCustomId.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/channels/custom_id/CHANNEL-123' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:58 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:RmWU0FeuiqqMeRlFFrE8vJuXwrE=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:02:58 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fdee1da8c1c8c-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"350aa936-63f1-4590-ba4a-cb7a43cb696e","status":"enabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":"CHANNEL-123","customer_id":null,"uri":"bitcoin:2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/350aa936-63f1-4590-ba4a-cb7a43cb696e"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels/custom_id/CHANNEL-123' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 259 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.443793 + namelookup_time: 0.004897 + connect_time: 0.066222 + pretransfer_time: 0.206234 + size_upload: 0.0 + size_download: 478.0 + speed_download: 1079.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.443753 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60604 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 206180 + connect_time_us: 66222 + namelookup_time_us: 4897 + pretransfer_time_us: 206234 + redirect_time_us: 0 + starttransfer_time_us: 443753 + total_time_us: 443793 + index: 0 diff --git a/tests/cassettes/channels/retrievePayment.yml b/tests/cassettes/channels/retrievePayment.yml new file mode 100644 index 0000000..7778191 --- /dev/null +++ b/tests/cassettes/channels/retrievePayment.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1/payments/704291ec-0b90-4118-89aa-0c9681c3213c' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:58 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:kReNrMlPmX/m2/+l//MgTDCS7rg=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:02:59 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fdee55de20e58-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"704291ec-0b90-4118-89aa-0c9681c3213c","paid_amount":"0.00184519","paid_currency":"BTC","received_amount":"104.47","received_currency":"EUR","fee":"1.06","fee_currency":"EUR","txid":"4a46a2071635b6c504b72e6ecad8229e4c2efb1b2b10ac05da72b9c306ac36a2","exchange":{"pair":"BTCEUR","rate":"57192.7353","fee":"0.0","fee_currency":"EUR"},"status":"completed","status_context":null,"refund_address":null,"coin_withdrawal_id":null,"custom_id":null,"customer_id":null,"channel_id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","risk":{"score":3.78,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T07:09:54+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1/payments/704291ec-0b90-4118-89aa-0c9681c3213c' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 320 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.552453 + namelookup_time: 0.004832 + connect_time: 0.146976 + pretransfer_time: 0.349619 + size_upload: 0.0 + size_download: 729.0 + speed_download: 1320.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.552416 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60618 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 349556 + connect_time_us: 146976 + namelookup_time_us: 4832 + pretransfer_time_us: 349619 + redirect_time_us: 0 + starttransfer_time_us: 552416 + total_time_us: 552453 + index: 0 diff --git a/tests/cassettes/channels/update.yml b/tests/cassettes/channels/update.yml new file mode 100644 index 0000000..010540a --- /dev/null +++ b/tests/cassettes/channels/update.yml @@ -0,0 +1,75 @@ + +- + request: + method: PATCH + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:02:59 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:AquBXg77sZQ4tEerEyATtG7LYK8=' + Accept: '' + body: '{"status":"disabled"}' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:03:00 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fdee8b85ab8b4-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"15d0bb11-1e9f-4295-bec5-abd9d5a906a1","status":"disabled","name":"0","description":null,"receiver_currency":"EUR","pay_currency":"BTC","address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","project_id":"cfc93c44-fef3-4ccc-ac8f-090f8e702006","custom_id":null,"customer_id":null,"uri":"bitcoin:2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/channels/15d0bb11-1e9f-4295-bec5-abd9d5a906a1' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 317 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.938067 + namelookup_time: 0.006788 + connect_time: 0.139913 + pretransfer_time: 0.289704 + size_upload: 21.0 + size_download: 470.0 + speed_download: 501.0 + speed_upload: 22.0 + download_content_length: -1.0 + upload_content_length: 21.0 + starttransfer_time: 0.938036 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60632 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 289653 + connect_time_us: 139913 + namelookup_time_us: 6788 + pretransfer_time_us: 289704 + redirect_time_us: 0 + starttransfer_time_us: 938036 + total_time_us: 938067 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/all.yml b/tests/cassettes/coinWithdrawals/all.yml new file mode 100644 index 0000000..b4d16ce --- /dev/null +++ b/tests/cassettes/coinWithdrawals/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:55:51 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:p90JRleM0/bZksF3DlJxRRp4BwQ=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:55:52 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd474cec30e37-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"165b5234-7695-4f3c-acf0-94cb1f2f5973","custom_id":null,"customer_id":null,"address":"0x25bd1f6fa8ebe01f62c53d59a1a712067bbe3ce1","network":"ethereum","txid":"0x786763120991ac60241a38e9116ccced9720b2c66092f61324b3653dd5755766","status":"completed","charged_amount":"10.0","charged_currency":"EUR","received_amount":"0.0051138","received_currency":"ETH","network_fee":"0.00029184","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHEUR","rate":"1831.4174","fee":"0.1","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:41:52+00:00"},{"id":"31eb604a-4039-4dd6-8df2-1c1c7fb002fb","custom_id":null,"customer_id":null,"address":"0x1a2f9873ff98c476373d0cbc3f4ca89e3413f3f3","network":"ethereum","txid":"0x21d8cd05df602c8b4a93b50073de338e57b6cf1997098257d708ec715d0a8ec0","status":"completed","charged_amount":"10.0","charged_currency":"EUR","received_amount":"0.0052326","received_currency":"ETH","network_fee":"0.00017304","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHEUR","rate":"1831.4174","fee":"0.1","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:40:50+00:00"},{"id":"64b622a6-522c-4636-ae3a-e7805982288e","custom_id":null,"customer_id":null,"address":"0x01e19ff9d2b4f8008d7ea286bbf31f4147b2b7fa","network":"ethereum","txid":"0xfd6c42f88e0a614672bfec91681c81e1cb7e3d14cb9437955c0e2e1476c441ea","status":"completed","charged_amount":"10.0","charged_currency":"EUR","received_amount":"0.0052326","received_currency":"ETH","network_fee":"0.00017304","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHEUR","rate":"1831.4174","fee":"0.1","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:38:09+00:00"},{"id":"b4261912-d8ae-4d77-b595-833ac4a9e359","custom_id":null,"customer_id":null,"address":"2N4khsMvEYuGb8FVYmk8TC2KupCca71xCFW","network":"bitcoin","txid":null,"status":"on_hold","charged_amount":"56.05","charged_currency":"EUR","received_amount":"0.002009","received_currency":"BTC","network_fee":"0.00012528","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"25991.6518","fee":"0.57","fee_currency":"EUR"},"risk":null,"created_at":"2023-05-24T16:16:46+00:00"},{"id":"d1be11a3-141b-41ea-8109-5d98a2f30b0c","custom_id":null,"customer_id":null,"address":"GBZQNLHMCQKTKAZXOXEDVKCD7MLXKGPGCE6XD67N4235IGU6ZBLZF5SQ?dt=3857700176","network":"stellar","txid":null,"status":"on_hold","charged_amount":"30.0045","charged_currency":"XLM","received_amount":"30.0","received_currency":"XLM","network_fee":"0.0045","network_fee_level":"average","fee":"0.0","fee_currency":"XLM","description":null,"risk":null,"created_at":"2023-03-08T07:21:56+00:00"},{"id":"bcdf332f-7ec0-44b6-9174-267530230f4c","custom_id":null,"customer_id":null,"address":"GBZQNLHMCQKTKAZXOXEDVKCD7MLXKGPGCE6XD67N4235IGU6ZBLZF5SQ","network":"stellar","txid":null,"status":"on_hold","charged_amount":"30.0045","charged_currency":"XLM","received_amount":"30.0","received_currency":"XLM","network_fee":"0.0045","network_fee_level":"average","fee":"0.0","fee_currency":"XLM","description":null,"risk":null,"created_at":"2023-03-08T07:20:10+00:00"},{"id":"0a4b5ce5-bca9-409b-bce1-77293db70bd1","custom_id":null,"customer_id":null,"address":"QjCoNeYXna8CsGwYjhyMbnaecdmNeMwvfG","network":"litecoin","txid":"1b5ba120539781873719cfee4735def4d37119752d7c6908052fffa8a8f88d06","status":"completed","charged_amount":"10.66","charged_currency":"EUR","received_amount":"0.10598891","received_currency":"LTC","network_fee":"0.001","network_fee_level":"average","fee":"0.0","fee_currency":"LTC","description":null,"exchange":{"pair":"LTCEUR","rate":"98.5193","fee":"0.11","fee_currency":"EUR"},"risk":null,"created_at":"2023-02-07T07:20:03+00:00"},{"id":"ea655c2c-e89b-499b-b8a3-0afa415b75c1","custom_id":null,"customer_id":null,"address":"GBZQNLHMCQKTKAZXOXEDVKCD7MLXKGPGCE6XD67N4235IGU6ZBLZF5SQ?dt=1195149642","network":"stellar","txid":"a5718d26e8815af00e99ffd0c9d3d4c6c3271b35cda8bd190fdb41dde91dfcf3","status":"completed","charged_amount":"10.55","charged_currency":"USD","received_amount":"88.6336241","received_currency":"XLM","network_fee":"0.1","network_fee_level":"average","fee":"0.0","fee_currency":"XLM","description":null,"exchange":{"pair":"XLMUSD","rate":"0.117636","fee":"0.11","fee_currency":"USD"},"risk":null,"created_at":"2022-11-07T11:30:27+00:00"},{"id":"e6098b93-19ab-4e1e-8b2f-e9211f9c5c74","custom_id":null,"customer_id":null,"address":"2NFG499W6AXevwqUZAHkvsTkyDsGnNy4vp2","network":"bitcoin","txid":"e6101b55f5dc860b077481342e3f0e01fe417bc3e8220d23080f961ad8aea187","status":"completed","charged_amount":"0.0001","charged_currency":"BTC","received_amount":"0.00009784","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"risk":{"score":0.0,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2022-09-23T13:29:11+00:00"},{"id":"ad79f2ab-de32-45cc-8585-77ad3ab171d8","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"de91aa36ba106c7901d1bda23f0370906d2f268036f5e578e8e4f21c47b4f4da","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00523078","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"18918.6091","fee":"1.0","fee_currency":"EUR"},"risk":{"score":0.0,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2022-09-19T09:23:13+00:00"},{"id":"3dc7d189-527f-424c-ab14-e647d441d8c4","custom_id":null,"customer_id":null,"address":"rnFHDVPsrvGNcnvtw9gPb6juHBEaavETqm?dt=1964894044","network":"ripple","txid":"31F10A082B09B534C2CAE8DBE444F8D4B512C3A4EC79B101FF8E2D6252C14DC7","status":"completed","charged_amount":"52.062646","charged_currency":"XRP","received_amount":"52.062631","received_currency":"XRP","network_fee":"0.000015","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":7.19,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-08-04T14:52:20+00:00"},{"id":"766ef132-4894-412a-aba8-cc0dff724e63","custom_id":null,"customer_id":null,"address":"rnFHDVPsrvGNcnvtw9gPb6juHBEaavETqm?dt=1503163132","network":"ripple","txid":"A7A8770159C5B3BEE3C34328A2A6927F30DB14B333F224E6B6BF2F6F0D75056E","status":"completed","charged_amount":"52.000015","charged_currency":"XRP","received_amount":"52.0","received_currency":"XRP","network_fee":"0.000015","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":7.47,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-08-04T14:19:16+00:00"},{"id":"79b575b2-2a4b-4da8-9ab7-219a8bd91c13","custom_id":null,"customer_id":null,"address":"rnFHDVPsrvGNcnvtw9gPb6juHBEaavETqm?dt=2901789765","network":"ripple","txid":"26FB2ECD7EC5CB16F9DDCE2C658988E9C297AF20773E234C0C03DB872C6D67D6","status":"completed","charged_amount":"20.000015","charged_currency":"XRP","received_amount":"20.0","received_currency":"XRP","network_fee":"0.000015","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":5.91,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2022-08-04T12:42:23+00:00"},{"id":"adc95b8b-4b4d-4b96-a9d8-0e90a8a7628c","custom_id":null,"customer_id":null,"address":"rnFHDVPsrvGNcnvtw9gPb6juHBEaavETqm?dt=2150440832","network":"ripple","txid":"5DAC0CAEF3FE3DADCF74685082A0122C7275014D5051B718AC25DE3D26781F50","status":"completed","charged_amount":"51.204866","charged_currency":"XRP","received_amount":"51.204851","received_currency":"XRP","network_fee":"0.000015","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":6.7,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-08-04T12:40:23+00:00"},{"id":"0642ae43-573f-416e-8907-a4662ab75d3a","custom_id":null,"customer_id":null,"address":"0x14244541894de837595c22dde02731063d0efa65","network":"ethereum","txid":"0x4df32c8ff9b34fe400d3ad19fc9f5eb83200b5f4d7941372f647879b2fb9dad8","status":"completed","charged_amount":"43.03","charged_currency":"USD","received_amount":"41.749503","received_currency":"USDT","network_fee":"0.103733","network_fee_level":"average","fee":"0.0","fee_currency":"USDT","description":null,"exchange":{"pair":"USDTUSD","rate":"1.0176","fee":"0.44","fee_currency":"USD"},"risk":{"score":7.27,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2022-07-21T11:48:27+00:00"},{"id":"73ad0979-edbd-4af6-92cb-e6bb53a4fe65","custom_id":null,"customer_id":null,"address":"rPEp3tRawgxeQoJwt15raAZZNF6cjbSw5t?dt=19534810","network":"ripple","txid":"D8424FC2ABB5471172ADCFD8912BBDFEACB94FD2FC9386F7AB18290C98B55985","status":"completed","charged_amount":"67.421615","charged_currency":"XRP","received_amount":"67.4216","received_currency":"XRP","network_fee":"0.000015","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":7.87,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-07-07T12:41:31+00:00"},{"id":"612cb2bb-76cf-4c2b-b340-b455101afaac","custom_id":null,"customer_id":null,"address":"QZGRYeQVTz1CKrk1KT1WMrUUEoSvMAxRaZ","network":"litecoin","txid":"15f73b303f871b20e89f5688b95282646bbe2d197234ab377882a2b8670b1fd7","status":"completed","charged_amount":"0.44374955","charged_currency":"LTC","received_amount":"0.44274955","received_currency":"LTC","network_fee":"0.001","network_fee_level":"average","fee":"0.0","fee_currency":"LTC","description":null,"risk":{"score":5.65,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-07-07T09:40:56+00:00"},{"id":"c76f41ab-0363-4884-af2d-a43043ad088f","custom_id":null,"customer_id":null,"address":"0x872b50b2a5751b6aa701186ae6801f9422018abe","network":"ethereum","txid":"0x05338a53891e2173a73da5f5907d7f3fc9b21441eb028fa0d5973152a823ab3e","status":"completed","charged_amount":"42.62","charged_currency":"EUR","received_amount":"43.541365","received_currency":"USDT","network_fee":"0.124957","network_fee_level":"average","fee":"0.0","fee_currency":"USDT","description":null,"exchange":{"pair":"USDTEUR","rate":"0.966","fee":"0.43","fee_currency":"EUR"},"risk":{"score":5.5,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-06-10T10:20:38+00:00"},{"id":"ae37aa48-8bf2-481b-81fd-eb8ebb165484","custom_id":null,"customer_id":null,"address":"0x69e9ba97b94199c356818863ca8315599cc58192","network":"ethereum","txid":"0x69711fb75fffa0a4f7563f7b5385038761e1dabca281a48618f2c510a9497bc9","status":"completed","charged_amount":"40.94","charged_currency":"EUR","received_amount":"41.945471","received_currency":"USDC","network_fee":"0.122456","network_fee_level":"average","fee":"0.0","fee_currency":"USDC","description":null,"exchange":{"pair":"USDCEUR","rate":"0.9634","fee":"0.41","fee_currency":"EUR"},"risk":{"score":5.19,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-06-10T10:20:32+00:00"},{"id":"325e4d1b-7faa-4ff5-8b89-f8385ce95469","custom_id":null,"customer_id":null,"address":"0xb73561c944dd1286acee961cd52e15c89602a437","network":"ethereum","txid":"0xd1b0b800f02277ddbe650752ec10bbfd85b1795eb55963a69858f4c90233864d","status":"completed","charged_amount":"43.13","charged_currency":"EUR","received_amount":"43.5007768","received_currency":"DAI","network_fee":"0.12034694","network_fee_level":"average","fee":"0.0","fee_currency":"DAI","description":null,"exchange":{"pair":"DAIEUR","rate":"0.9786","fee":"0.44","fee_currency":"EUR"},"risk":{"score":7.56,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-06-10T10:20:26+00:00"},{"id":"6b0644a6-6693-4fdd-98b6-97afe41ba94c","custom_id":null,"customer_id":null,"address":"0x80c71660106c4f6456a3bcfecea86197c7f39cb4","network":"ethereum","txid":"0x2cc63c3693b871cd54f6015ca17734141499a4720aa0c23dc4d86f37c9072bae","status":"completed","charged_amount":"9.68","charged_currency":"EUR","received_amount":"0.00371874","received_currency":"ETH","network_fee":"0.0000315","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHEUR","rate":"2553.5432","fee":"0.1","fee_currency":"EUR"},"risk":{"score":8.57,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2022-03-09T10:24:45+00:00"},{"id":"681817dc-50bb-41d6-af01-2589ac05b19b","custom_id":null,"customer_id":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=1562880701","network":"ripple","txid":"2E024352EBEFCD61360CBF352A81841FEFCB85ABA130C59E367DF19404CEB16E","status":"completed","charged_amount":"20.0","charged_currency":"EUR","received_amount":"24.266207","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPEUR","rate":"0.815948","fee":"0.2","fee_currency":"EUR"},"risk":{"score":4.12,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-02-10T06:41:56+00:00"},{"id":"c052f7c7-3188-4533-a3d6-c29c870aabe2","custom_id":null,"customer_id":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=2751702755","network":"ripple","txid":"4B650B63758F926CC64D32D7128064F0BC97BD15423FC34DFF1E07C03F18C273","status":"completed","charged_amount":"10.12","charged_currency":"EUR","received_amount":"12.271023","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPEUR","rate":"0.81568","fee":"0.11","fee_currency":"EUR"},"risk":{"score":8.25,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-02-10T05:50:41+00:00"},{"id":"feecb44a-0f56-4e07-8437-d2924b710a42","custom_id":null,"customer_id":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=2766784623","network":"ripple","txid":"82AB085002568A99060E05811F6B51A5313413198B7C70D350A25D28EF98EEA3","status":"completed","charged_amount":"11.47","charged_currency":"USD","received_amount":"14.321683","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPUSD","rate":"0.792251","fee":"0.12","fee_currency":"USD"},"risk":{"score":5.69,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2022-01-10T12:17:06+00:00"},{"id":"809ed831-b7ea-45a6-a722-ba208077af93","custom_id":null,"customer_id":null,"address":"tb1q9l2ru0tqjfa5qfuvptg69gwvqfnzmumf8nlj248zcxs4vk5cnzxqa6flhk","network":"bitcoin","txid":"c42b2d9effe85709405373d3133a5c7e26b3c736e991ab4f34fd867e7fb6b419","status":"completed","charged_amount":"20.0","charged_currency":"EUR","received_amount":"0.00046378","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"42494.1323","fee":"0.2","fee_currency":"EUR"},"risk":{"score":4.25,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-12-30T08:31:16+00:00"},{"id":"df8584e6-62ab-4f31-86b3-f6f1c4c91193","custom_id":null,"customer_id":null,"address":"QMfu6mumNiU57aVJyVampSPPjosUpunukF","network":"litecoin","txid":"795e9e61e72f51b5067f57e345c19dc230794d3752a12cba2cc3bc3d6718e039","status":"completed","charged_amount":"0.02408231","charged_currency":"LTC","received_amount":"0.02308231","received_currency":"LTC","network_fee":"0.001","network_fee_level":"average","fee":"0.0","fee_currency":"LTC","description":null,"risk":{"score":6.89,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-11-08T14:13:22+00:00"},{"id":"f5c0607a-1ea0-4df5-9cd3-fc28c544bc43","custom_id":null,"customer_id":null,"address":"QQjk33VGTkFrghs9XWDbLNybooUQN2Tkun","network":"litecoin","txid":"31f5ed753aadb966f1c60068248a8b5d0d5b4ed8fc08680ab91d6156aad9dc15","status":"completed","charged_amount":"0.11515141","charged_currency":"LTC","received_amount":"0.11415141","received_currency":"LTC","network_fee":"0.001","network_fee_level":"average","fee":"0.0","fee_currency":"LTC","description":null,"risk":{"score":6.51,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-11-08T13:17:35+00:00"},{"id":"18a7bf85-fc94-4718-b1c1-4a9c85584fb3","custom_id":null,"customer_id":null,"address":"QQDJx9VfBESXtsweX8ceuM1kHd4sjAoSDK","network":"litecoin","txid":"71b206a13eba696e1e758f919ed0414e9bff66cf5c1aba0de62bcfe48f70061b","status":"completed","charged_amount":"0.02382302","charged_currency":"LTC","received_amount":"0.02282302","received_currency":"LTC","network_fee":"0.001","network_fee_level":"average","fee":"0.0","fee_currency":"LTC","description":null,"risk":{"score":6.79,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-11-08T13:11:30+00:00"},{"id":"b476bc3a-f8a0-4814-89b0-e17b7b1f8c56","custom_id":null,"customer_id":null,"address":"0xfd76db4b3a6f056bb83fa207a957eea02d31783f","network":"ethereum","txid":null,"status":"on_hold","charged_amount":"6.424155","charged_currency":"USDT","received_amount":"5.002151","received_currency":"USDT","network_fee":"1.422004","network_fee_level":"average","fee":"0.0","fee_currency":"USDT","description":null,"risk":null,"created_at":"2021-11-08T12:47:07+00:00"},{"id":"a24cb36d-de6d-4f35-950c-c2dc9d5bc6cf","custom_id":null,"customer_id":null,"address":"rsBo3TPkdQxuEaWPa3tyDjZA9kC9rarYfj?dt=1","network":"ripple","txid":null,"status":"on_hold","charged_amount":"6.08","charged_currency":"EUR","received_amount":"6.0","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPEUR","rate":"1.000823","fee":"0.07","fee_currency":"EUR"},"risk":null,"created_at":"2021-10-25T11:55:04+00:00"},{"id":"aece80de-f83b-404e-b418-34d43a4b81cf","custom_id":null,"customer_id":null,"address":"rPuA9uR22U249RQsiGpLWrL4HcJFxCZaXR?dt=10101","network":"ripple","txid":"43B90F51235F131277661ED5D0B52DCC05DADD0EC50FF61C95E3AE2279C65606","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"99.043435","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPEUR","rate":"0.999561","fee":"1.0","fee_currency":"EUR"},"risk":{"score":8.59,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-19T17:51:14+00:00"},{"id":"7bfd4b5d-e96f-487a-869f-04ee5d6eae13","custom_id":null,"customer_id":null,"address":"r4Mi6wvVWDEZzbghQt6ETRuN1AygGHcb6E?dt=99999","network":"ripple","txid":"E1D2464B5AFFCFF7E6427F9B33681D1E35AAE7648DAF522A1ECFA774EF75AB9A","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"98.95127","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"exchange":{"pair":"XRPEUR","rate":"1.000492","fee":"1.0","fee_currency":"EUR"},"risk":{"score":6.58,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-19T13:09:58+00:00"},{"id":"fca45482-3b31-45dc-a31a-026f3bafa774","custom_id":null,"customer_id":null,"address":"rPuA9uR22U249RQsiGpLWrL4HcJFxCZaXR?dt=1","network":"ripple","txid":null,"status":"on_hold","charged_amount":"1.000045","charged_currency":"XRP","received_amount":"1.0","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":null,"created_at":"2021-10-18T16:59:22+00:00"},{"id":"1b9010bd-cb28-4ffe-a7ef-3a24ce3d2971","custom_id":null,"customer_id":null,"address":"rHc3ugWV3BsdDAkV8ZcYHKXg8wj9q9ogcm?dt=123","network":"ripple","txid":"C0B3F6F6E1FE8C39AB16154CE50C48AE90509E610B35993B8615E1238C4EC086","status":"completed","charged_amount":"25.000045","charged_currency":"XRP","received_amount":"25.0","received_currency":"XRP","network_fee":"0.000045","network_fee_level":"average","fee":"0.0","fee_currency":"XRP","description":null,"risk":{"score":3.15,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T16:56:12+00:00"},{"id":"ef329f6f-c8b1-49d1-be07-a83ce60252b9","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"bf2690d53564e6b1fa510ecddf7472d6e6c679fd9a22d82d198d8d4b88f78448","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":3.23,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T07:09:30+00:00"},{"id":"3e877d2f-1232-4ab6-868e-372e2b91afaa","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"4a46a2071635b6c504b72e6ecad8229e4c2efb1b2b10ac05da72b9c306ac36a2","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":6.59,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T07:09:29+00:00"},{"id":"cdb4faf8-5956-4d01-a00c-7c1b3267a126","custom_id":"PAYMENT-123","customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"91b56ef2164ae37e95ce82723ff46c83a3e211b1a2cd1afcc21bee8f6c663d64","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":8.44,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:49:21+00:00"},{"id":"3cf9d1c4-6191-4826-8cae-2c717810c7e9","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"31114ad287628c2a462f6cbce89035460a56af156b14b396165f26151dd8c762","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":5.73,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:48:04+00:00"},{"id":"464da305-0a23-4152-be2c-19757b348437","custom_id":null,"customer_id":null,"address":"0x7d00c40f923f1cdb99a5a8e692db8a8804e06715","network":"ethereum","txid":"0x938d502017772080ff6ed86c65f01bdada0bb8e950056f0c4d4ed9d4c62aeb29","status":"completed","charged_amount":"10.0","charged_currency":"EUR","received_amount":"0.00275953","received_currency":"ETH","network_fee":"0.00020992","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHEUR","rate":"3333.9458","fee":"0.1","fee_currency":"EUR"},"risk":{"score":7.79,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-15T07:42:46+00:00"},{"id":"8af236e5-7f0c-4839-903c-421cca60bcd1","custom_id":null,"customer_id":null,"address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44","network":"ethereum","txid":"0x08603fd0442c133486fa33d6e0141250d3892be5b31cc99fc8c83055ecb5e96c","status":"completed","charged_amount":"0.02957117","charged_currency":"ETH","received_amount":"0.02928366","received_currency":"ETH","network_fee":"0.00028751","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"risk":{"score":8.25,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-14T11:41:33+00:00"},{"id":"6ef100ed-40a8-425b-9da7-c42901a8ec5d","custom_id":null,"customer_id":null,"address":"0x201ec58a0c18853404df6aa788121fd05379a7c9","network":"ethereum","txid":"0x6bcccef868e16aad9c9573fc62722bfd16bcdf33f972b86d87db29a07a3735e2","status":"completed","charged_amount":"100.0","charged_currency":"USD","received_amount":"0.02623524","received_currency":"ETH","network_fee":"0.00028751","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHUSD","rate":"3732.6446","fee":"1.0","fee_currency":"USD"},"risk":{"score":8.83,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-14T11:14:54+00:00"},{"id":"ec1129a2-1cba-4a6f-9e4f-f70b9e32340d","custom_id":null,"customer_id":null,"address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44","network":"ethereum","txid":"0x85bb90edc4633bd65a988048d4332189e75bde1af5ef0936dd3629223272213b","status":"completed","charged_amount":"113.3","charged_currency":"USD","received_amount":"0.02986987","received_currency":"ETH","network_fee":"0.00028751","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHUSD","rate":"3718.9619","fee":"1.14","fee_currency":"USD"},"risk":{"score":6.93,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-14T11:04:06+00:00"},{"id":"6ab237c3-76ea-4cb0-84ef-531b5d5f9156","custom_id":null,"customer_id":null,"address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44","network":"ethereum","txid":"0xb3138681d98c1762201e45f656c1200b3a638009433d546d62005e6d684b23d5","status":"completed","charged_amount":"113.3","charged_currency":"USD","received_amount":"0.02986987","received_currency":"ETH","network_fee":"0.00028751","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHUSD","rate":"3718.9619","fee":"1.14","fee_currency":"USD"},"risk":{"score":7.33,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-14T11:04:04+00:00"},{"id":"dcbde4fa-cbf0-4378-aa1f-e72117717085","custom_id":null,"customer_id":null,"address":"0xb584feaebc60ed969d472d16813b64d7822a1bb9","network":"ethereum","txid":"0xbc61a697c85c8d28bb719d7f8805b85ff60466ad80f2e9db5444cc553a992ca5","status":"completed","charged_amount":"0.00035645","charged_currency":"ETH","received_amount":"0.0001","received_currency":"ETH","network_fee":"0.00025645","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"risk":{"score":7.2,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-06T10:31:21+00:00"},{"id":"44187405-875c-436a-a585-922a55340465","custom_id":null,"customer_id":null,"address":"0xb584feaebc60ed969d472d16813b64d7822a1bb9","network":"ethereum","txid":"0x8f15c32644fd21a9d40da6f1658f5768f16c69adf7795ce1e5a524bb737b9168","status":"completed","charged_amount":"0.01024689","charged_currency":"ETH","received_amount":"0.01","received_currency":"ETH","network_fee":"0.00024689","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"risk":{"score":4.44,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-04T15:05:59+00:00"},{"id":"dd1fcf44-3065-4d2f-9c73-ce485e8add9e","custom_id":null,"customer_id":null,"address":"0xb584feaebc60ed969d472d16813b64d7822a1bb9","network":"ethereum","txid":"0xb2274e82241172d786865dde9a9fc819bb0aaf0fee8bbf4c4ea528c991ce4601","status":"completed","charged_amount":"0.10024689","charged_currency":"ETH","received_amount":"0.1","received_currency":"ETH","network_fee":"0.00024689","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"risk":{"score":4.33,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-04T15:05:40+00:00"},{"id":"6c2c4f5c-5a2f-4425-b0b3-0caec5f217ae","custom_id":"224b7fb453a0df9ea35def7d82354297","customer_id":null,"address":"mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn","network":"bitcoin","txid":"8a4fedea857f20afb1de451324812bd1e6a8716e7a7434a2018ab4c8b2a0f63e","status":"completed","charged_amount":"0.01","charged_currency":"BTC","received_amount":"0.0098946","received_currency":"BTC","network_fee":"0.0000054","network_fee_level":"average","fee":"0.0001","fee_currency":"BTC","description":null,"risk":{"score":8.36,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-04T08:36:08+00:00"},{"id":"6901d0ca-c6aa-4979-919f-a18b2e905b72","custom_id":"cc3b7057ad46a891e690f303533d97af","customer_id":null,"address":"mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn","network":"bitcoin","txid":"5a6e301c46a514c6bb6e0448d16e3e3e3b1d8550b91323088693d87fb93b41c9","status":"completed","charged_amount":"0.01","charged_currency":"BTC","received_amount":"0.0098946","received_currency":"BTC","network_fee":"0.0000054","network_fee_level":"average","fee":"0.0001","fee_currency":"BTC","description":null,"risk":{"score":3.47,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-03T16:01:13+00:00"},{"id":"cddd8f08-1e40-465b-98ef-60cc8b7f006a","custom_id":null,"customer_id":null,"address":"2Mt3iUZz87SMPWRXDMUdFRTqeT4GyKv3WiH","network":"bitcoin","txid":"8b4777fb0fcff6e71c86637e8f1ab26747fab4bc2fa170b7a30522f93e9b5384","status":"completed","charged_amount":"0.0000554","charged_currency":"BTC","received_amount":"0.00005","received_currency":"BTC","network_fee":"0.0000054","network_fee_level":"fast","fee":"0.0","fee_currency":"BTC","description":null,"risk":{"score":8.06,"level":"medium","resource_name":"default","resource_category":"unknown"},"created_at":"2021-09-28T14:45:04+00:00"},{"id":"8b755824-4679-4e77-83a0-34182f663c75","custom_id":null,"customer_id":null,"address":"0x35ae4c76b50f6e0f2c8630695633e989cafcf77c","network":"ethereum","txid":"0xce98330b3699af5431a51159f5c415e06abc156d7aa648b2b5273119692ec434","status":"completed","charged_amount":"118.42","charged_currency":"USD","received_amount":"0.03945872","received_currency":"ETH","network_fee":"0.000042","network_fee_level":"average","fee":"0.0","fee_currency":"ETH","description":null,"exchange":{"pair":"ETHUSD","rate":"2967.6184","fee":"1.19","fee_currency":"USD"},"risk":{"score":3.57,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-09-22T12:10:46+00:00"}],"meta":{"total":417,"has_more":true}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 245 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.710371 + namelookup_time: 0.115615 + connect_time: 0.177344 + pretransfer_time: 0.290356 + size_upload: 0.0 + size_download: 31205.0 + speed_download: 43950.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.658793 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 47852 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 290228 + connect_time_us: 177344 + namelookup_time_us: 115615 + pretransfer_time_us: 290356 + redirect_time_us: 0 + starttransfer_time_us: 658793 + total_time_us: 710371 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/allNetworkFees.yml b/tests/cassettes/coinWithdrawals/allNetworkFees.yml new file mode 100644 index 0000000..eabd03f --- /dev/null +++ b/tests/cassettes/coinWithdrawals/allNetworkFees.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/network_fees' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:56:20 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:OvIZpoWqXNBLtJOATLP43tSTZB8=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:56:21 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd52eab4c0bc6-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"level":"fast","fee":"0.00002582","currency":"BTC","network":"bitcoin"},{"level":"average","fee":"0.00001602","currency":"BTC","network":"bitcoin"},{"level":"slow","fee":"0.00001296","currency":"BTC","network":"bitcoin"},{"level":"average","fee":"0.001","currency":"LTC","network":"litecoin"},{"level":"average","fee":"0.000015","currency":"XRP","network":"ripple"},{"level":"average","fee":"0.00037292","currency":"ETH","network":"ethereum"},{"level":"average","fee":"0.0001","currency":"BCH","network":"bitcoin_cash"},{"level":"average","fee":"2.140056","currency":"USDT","network":"ethereum"},{"level":"average","fee":"2.140504","currency":"USDC","network":"ethereum"},{"level":"average","fee":"2.13990292","currency":"DAI","network":"ethereum"},{"level":"average","fee":"283103.0","currency":"SHIB","network":"ethereum"},{"level":"average","fee":"0.1","currency":"XLM","network":"stellar"},{"level":"average","fee":"0.155381","currency":"ADA","network":"cardano"},{"level":"average","fee":"0.00037836","currency":"BNB","network":"bnb_smart_chain"},{"level":"average","fee":"0.34597953","currency":"BUSD","network":"bnb_smart_chain"},{"level":"average","fee":"1.0","currency":"TRX","network":"tron"},{"level":"average","fee":"0.45","currency":"DOGE","network":"dogecoin"},{"level":"average","fee":"0.00001","currency":"SOL","network":"solana"}]}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/network_fees' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 258 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.676328 + namelookup_time: 0.10751 + connect_time: 0.251186 + pretransfer_time: 0.40055 + size_upload: 0.0 + size_download: 1358.0 + speed_download: 2008.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.676284 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 57130 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 400496 + connect_time_us: 251186 + namelookup_time_us: 107510 + pretransfer_time_us: 400550 + redirect_time_us: 0 + starttransfer_time_us: 676284 + total_time_us: 676328 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/commit.yml b/tests/cassettes/coinWithdrawals/commit.yml new file mode 100644 index 0000000..881e1c5 --- /dev/null +++ b/tests/cassettes/coinWithdrawals/commit.yml @@ -0,0 +1,147 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:55:52 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:7nusvhQwJlKNKuq0bC2eaI6h6wM=' + Accept: '' + body: '{"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","charged_amount":"100.0","charged_currency":"EUR","received_currency":"BTC","force_commit":false}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:55:52 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd4794ca60e2f-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"06a54ccb-889f-4c1f-8a59-086a84a1e2dd","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":null,"status":"new","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00331433","received_currency":"BTC","network_fee":"0.00001944","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:55:52Z"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 413 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.593633 + namelookup_time: 0.005009 + connect_time: 0.084079 + pretransfer_time: 0.221188 + size_upload: 146.0 + size_download: 531.0 + speed_download: 895.0 + speed_upload: 246.0 + download_content_length: -1.0 + upload_content_length: 146.0 + starttransfer_time: 0.593592 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 47866 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 221121 + connect_time_us: 84079 + namelookup_time_us: 5009 + pretransfer_time_us: 221188 + redirect_time_us: 0 + starttransfer_time_us: 593592 + total_time_us: 593633 + index: 0 +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/06a54ccb-889f-4c1f-8a59-086a84a1e2dd/commit' + headers: + Host: business-sandbox.cryptopay.me + Content-Length: '0' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:55:52 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:orRU/UT3mYtgqfSXzMnVyk1oTOo=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:55:53 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd47d4f5cb75b-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"06a54ccb-889f-4c1f-8a59-086a84a1e2dd","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":null,"status":"pending","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00331433","received_currency":"BTC","network_fee":"0.00001944","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:55:52+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/06a54ccb-889f-4c1f-8a59-086a84a1e2dd/commit' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 309 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.635269 + namelookup_time: 0.00549 + connect_time: 0.115835 + pretransfer_time: 0.302343 + size_upload: 0.0 + size_download: 540.0 + speed_download: 850.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.63522 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 47874 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 302271 + connect_time_us: 115835 + namelookup_time_us: 5490 + pretransfer_time_us: 302343 + redirect_time_us: 0 + starttransfer_time_us: 635220 + total_time_us: 635269 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/create.yml b/tests/cassettes/coinWithdrawals/create.yml new file mode 100644 index 0000000..0b80403 --- /dev/null +++ b/tests/cassettes/coinWithdrawals/create.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:55:53 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:7698BLCw3+oLBa1+0aCM7hMm3XQ=' + Accept: '' + body: '{"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","charged_amount":"100.0","charged_currency":"EUR","received_currency":"BTC","force_commit":true}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:55:54 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd4811d740b70-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"86a94c44-2b0e-40d1-b40e-c5818b303e09","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":null,"status":"pending","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00331433","received_currency":"BTC","network_fee":"0.00001944","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"},"risk":null,"created_at":"2023-07-11T08:55:53+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 412 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.744159 + namelookup_time: 0.004717 + connect_time: 0.09356 + pretransfer_time: 0.243336 + size_upload: 145.0 + size_download: 540.0 + speed_download: 725.0 + speed_upload: 194.0 + download_content_length: -1.0 + upload_content_length: 145.0 + starttransfer_time: 0.74412 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 47882 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 243272 + connect_time_us: 93560 + namelookup_time_us: 4717 + pretransfer_time_us: 243336 + redirect_time_us: 0 + starttransfer_time_us: 744120 + total_time_us: 744159 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/retrieve.yml b/tests/cassettes/coinWithdrawals/retrieve.yml new file mode 100644 index 0000000..2b82755 --- /dev/null +++ b/tests/cassettes/coinWithdrawals/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/3cf9d1c4-6191-4826-8cae-2c717810c7e9' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:56:21 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:lbuniTrwfSPcoTBHJ6FcKEKFNTw=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:56:22 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd5327c8bb8d2-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"3cf9d1c4-6191-4826-8cae-2c717810c7e9","custom_id":null,"customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"31114ad287628c2a462f6cbce89035460a56af156b14b396165f26151dd8c762","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":5.73,"level":"high","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:48:04+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/3cf9d1c4-6191-4826-8cae-2c717810c7e9' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 282 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.567412 + namelookup_time: 0.004792 + connect_time: 0.121166 + pretransfer_time: 0.318868 + size_upload: 0.0 + size_download: 685.0 + speed_download: 1208.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.567367 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 57136 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 318811 + connect_time_us: 121166 + namelookup_time_us: 4792 + pretransfer_time_us: 318868 + redirect_time_us: 0 + starttransfer_time_us: 567367 + total_time_us: 567412 + index: 0 diff --git a/tests/cassettes/coinWithdrawals/retrieveByCustomId.yml b/tests/cassettes/coinWithdrawals/retrieveByCustomId.yml new file mode 100644 index 0000000..ab7fb96 --- /dev/null +++ b/tests/cassettes/coinWithdrawals/retrieveByCustomId.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/custom_id/PAYMENT-123' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:12 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:Pdlo3lmI4aBd3taCbIhqCV5ac9g=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:57:13 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd670e936b74c-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"cdb4faf8-5956-4d01-a00c-7c1b3267a126","custom_id":"PAYMENT-123","customer_id":null,"address":"2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ","network":"bitcoin","txid":"91b56ef2164ae37e95ce82723ff46c83a3e211b1a2cd1afcc21bee8f6c663d64","status":"completed","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00184519","received_currency":"BTC","network_fee":"0.00000216","network_fee_level":"average","fee":"0.0","fee_currency":"BTC","description":null,"exchange":{"pair":"BTCEUR","rate":"53590.0452","fee":"1.0","fee_currency":"EUR"},"risk":{"score":8.44,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-18T06:49:21+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coin_withdrawals/custom_id/PAYMENT-123' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 267 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.465996 + namelookup_time: 0.008722 + connect_time: 0.087279 + pretransfer_time: 0.270363 + size_upload: 0.0 + size_download: 693.0 + speed_download: 1490.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.465944 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 47244 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 270307 + connect_time_us: 87279 + namelookup_time_us: 8722 + pretransfer_time_us: 270363 + redirect_time_us: 0 + starttransfer_time_us: 465944 + total_time_us: 465996 + index: 0 diff --git a/tests/cassettes/coins/all.yml b/tests/cassettes/coins/all.yml new file mode 100644 index 0000000..dd6e0bf --- /dev/null +++ b/tests/cassettes/coins/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/coins' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:14:34 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:dKinvbQc9tY5rqSdtsFKQoiFOfE=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:14:35 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fefe2cdbe0e60-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"currency":"BTC","name":"Bitcoin","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/BTC.svg","networks":[{"network":"bitcoin","name":"Bitcoin","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"LTC","name":"Litecoin","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/LTC.svg","networks":[{"network":"litecoin","name":"Litecoin","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"BCH","name":"Bitcoin Cash","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/BCH.svg","networks":[{"network":"bitcoin_cash","name":"Bitcoin Cash","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"XRP","name":"XRP","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/XRP.svg","networks":[{"network":"ripple","name":"Ripple","precision":6,"destination_tag":{"required":true,"name":"Destination tag"},"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"ETH","name":"Ethereum","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/ETH.svg","networks":[{"network":"ethereum","name":"Ethereum (ERC20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"USDT","name":"Tether","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/USDT.svg","networks":[{"network":"ethereum","name":"Ethereum (ERC20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"tron","name":"Tron (TRC20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"DAI","name":"Dai","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/DAI.svg","networks":[{"network":"ethereum","name":"Ethereum (ERC20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"USDC","name":"USD Coin","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/USDC.svg","networks":[{"network":"ethereum","name":"Ethereum (ERC20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"tron","name":"Tron (TRC20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"SHIB","name":"Shiba Inu","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/SHIB.svg","networks":[{"network":"ethereum","name":"Ethereum (ERC20)","precision":0,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":0,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"XLM","name":"Stellar Lumens","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/XLM.svg","networks":[{"network":"stellar","name":"Stellar","precision":7,"destination_tag":{"required":false,"name":"Memo ID"},"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":7,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"ADA","name":"Cardano","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/ADA.svg","networks":[{"network":"cardano","name":"Cardano","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"BNB","name":"BNB","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/BNB.svg","networks":[{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"BUSD","name":"Binance USD","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/BUSD.svg","networks":[{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"TRX","name":"TRON","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/TRX.svg","networks":[{"network":"tron","name":"Tron (TRC20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":6,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"DOGE","name":"Dogecoin","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/DOGE.svg","networks":[{"network":"dogecoin","name":"Dogecoin","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":8,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]},{"currency":"SOL","name":"Solana","logo_url":"https://ledger-development.s3.eu-west-1.amazonaws.com/public/currencies/SOL.svg","networks":[{"network":"solana","name":"Solana","precision":9,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}},{"network":"bnb_smart_chain","name":"BNB Smart Chain (BEP20)","precision":9,"destination_tag":null,"invoices":{"enabled":true},"channels":{"enabled":true},"coin_withdrawals":{"enabled":true}}]}]}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/coins' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 234 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.652246 + namelookup_time: 0.004701 + connect_time: 0.145305 + pretransfer_time: 0.294647 + size_upload: 0.0 + size_download: 8192.0 + speed_download: 12564.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.607186 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 52236 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 294534 + connect_time_us: 145305 + namelookup_time_us: 4701 + pretransfer_time_us: 294647 + redirect_time_us: 0 + starttransfer_time_us: 607186 + total_time_us: 652246 + index: 0 diff --git a/tests/cassettes/customers/all.yml b/tests/cassettes/customers/all.yml new file mode 100644 index 0000000..ceb3e39 --- /dev/null +++ b/tests/cassettes/customers/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/customers' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:11:00 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:IpQzIlxZUw30ymN5++butJDBPeg=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:11:01 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4feaa76ddbb77f-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"500b71259c48d4e212693a21e0d10c60","currency":"EUR","refund_addresses":{},"addresses":[]},{"id":"EGTEm6T5DKSA9LPrTTqysgwUvSEVw9YE","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"h1dzncjuDElMwzipgDY9Pzc2HHdEyy4Y","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"WGacXfxtyh5UDelCbn8V0KMKhWtjPjBc","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"jQAgaUonN6ZAUfig0ssbN7LJ1lTmIQQI","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"XyeCSUyxvbGDEdPaQXasynVsqK2H3kDm","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"fJr4U7OymXcXl965dP5qw2fsomdtz43b","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"f9oz55DGYyuKP2e3BQAWVhfM5sEFId4s","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"X80927fJJtmUzd8vYRtqVAwlYBEC5Sg2","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"19U5Hx3siuitI0dxhTwLPh6owQvDSu1H","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"gJeOunQocjLsG9W80cRo1ATHT0Bvgoiw","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"a7anGQXPVOzO3sj1Sbba0TNjG25zkALp","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"x0Ww2ZJufCk9XIA8rm8Xamfjofds2SQz","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"cg9go54aewast4dp8G1MITPUekCptWfL","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"5kOezal5ZiiSaqV16i7Zu3ekrYMpGFhT","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"O59plpoHRGVYGGrdYGzE545VNjVELTLN","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"oo4nVVsnktKWNtg6Y8Hi5qC8DD5Fxu3T","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"HqedpHnYO0hF8bt0QEUlLrFxNetSulxJ","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"wVyjFxhENDP2nRJq3PY5wDTmOw4HJTuU","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"boM9veKkgKkvwL5tlSxnmve8DDofGfHW","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"5m0WEaVDQy2ln61BDRhFFTp5pbd8NAOX","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"zOMlFF5BUzv6QgpQpl0KxSaNVSyXBm4t","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"oYNMwRNicGm912MX4hajVQ1XYfOawFlp","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"jFIYqqzcRhXj1iLCHqLChhLgtFQbHHIm","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"tOyVlI4oJm1nciAYBdTkFjsSSXaWeYU2","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"BDUhzNzlfjnNf3ouE18NyaY4uTvuCIPo","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"Kp1zamWm6bkVTLrjIaq5HojrJW7zL5ZN","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"G2fkSIFNImpYjalmRHZFZgDHoFdvJuey","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"AP4BGavhhza9cx0eRYskI0mYHYoKmczK","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"5jew6YuaIvcnwEp7I4FIBcL1wfYMGmys","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"g0rnLUvFyFLl6o7IpzHUI9t0ivCbokTf","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"EN5afFEL70J1PHVIbI5BzbIeSaf2AfS1","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"ZmLHM7YH4uEi1QXeg6OJbXgnQPPy8AiX","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"jrgQLky0UZtphPG3hF56zqVP9GkVq9hz","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"755ZXSZqzo6XQNJ1151UqXIw3JMoI0Tj","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"0j4yqjxfphp61RL1mtuzVA64EqO8pWCv","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"Ra8k2XYtJJlWqXtNG2ByyzcmWDXc18QT","currency":"BTC","refund_addresses":{"BTC":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","ETH":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2"},"addresses":[{"address":"2NGPwyaRTrKpjf9njHQDfXAReb2iwbYkZrg","currency":"BTC","network":"bitcoin"},{"address":"0x54baa6f4ff2374b2f8f3a32c0c3dad0acbdb42b2","currency":"ETH","network":"ethereum"}]},{"id":"GEMUmyao1Dw7u6pb3OaLWaDb6vYijJ7D","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"TCJ1Oe8AMdDsiD2s3CahB1KBSznszE3u","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"4ZdQnBAH2v7dTBTsvR8eqgSEJGfW4GNq","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"vjY43z0kceKtY0gphcl6S1ea0oygbH7p","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"igkbWirx2yoxH0mV2Drtwq6U8WsKCXnN","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"UgmG8xrT99IhpPyyxNDfsGT8BG7ts7Jf","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"N83SQX8plMVjNaoDRi2Kqlj5NT1wTQIi","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"SFo7ujCoA4zPqvkf21ues1rq3PZC4ySA","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"bZCULJInNajReXL9zdYHevuWZBfewtg5","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"32vymrrOYwFoYnuNHWK3NwXmBSnP1Atk","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"zcOIx8jtHUvydD3HYI45EHnaNi3z7BeV","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"I9Rw8ON2ygUoq2wKjM8MGALkcUvxtO8M","currency":"BTC","refund_addresses":{},"addresses":[]},{"id":"sI0isarI8EK4dh3rlR7RoxoIhvxoHfiA","currency":"BTC","refund_addresses":{},"addresses":[]}],"meta":{"total":107,"has_more":true}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/customers' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 238 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.789099 + namelookup_time: 0.166358 + connect_time: 0.298233 + pretransfer_time: 0.527771 + size_upload: 0.0 + size_download: 14747.0 + speed_download: 18690.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.740575 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 57942 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 527679 + connect_time_us: 298233 + namelookup_time_us: 166358 + pretransfer_time_us: 527771 + redirect_time_us: 0 + starttransfer_time_us: 740575 + total_time_us: 789099 + index: 0 diff --git a/tests/cassettes/customers/create.yml b/tests/cassettes/customers/create.yml new file mode 100644 index 0000000..291f4b4 --- /dev/null +++ b/tests/cassettes/customers/create.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/customers' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:11:51 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:lX6sU5JKCLrd3JdumgpNqX/w7xI=' + Accept: '' + body: '{"id":"56c8cb4112bc7df178ae804fa75f712b","currency":"EUR"}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 09:11:51 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4febe36c81b764-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"56c8cb4112bc7df178ae804fa75f712b","currency":"EUR","refund_addresses":{},"addresses":[]}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/customers' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 317 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.399036 + namelookup_time: 0.006163 + connect_time: 0.058001 + pretransfer_time: 0.244547 + size_upload: 58.0 + size_download: 104.0 + speed_download: 260.0 + speed_upload: 145.0 + download_content_length: -1.0 + upload_content_length: 58.0 + starttransfer_time: 0.398991 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 58876 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 244454 + connect_time_us: 58001 + namelookup_time_us: 6163 + pretransfer_time_us: 244547 + redirect_time_us: 0 + starttransfer_time_us: 398991 + total_time_us: 399036 + index: 0 diff --git a/tests/cassettes/customers/retrieve.yml b/tests/cassettes/customers/retrieve.yml new file mode 100644 index 0000000..14fb21a --- /dev/null +++ b/tests/cassettes/customers/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/customers/CUSTOMER-123' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:11:51 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:w+6AMmmG1KNaRWZ5WIYVibug1Sk=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:11:52 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4febe66fdf0bb9-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"CUSTOMER-123","currency":"EUR","refund_addresses":{"BTC":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ"},"addresses":[{"address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","currency":"BTC","network":"bitcoin"}]}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/customers/CUSTOMER-123' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 251 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.4647 + namelookup_time: 0.005497 + connect_time: 0.138299 + pretransfer_time: 0.288339 + size_upload: 0.0 + size_download: 213.0 + speed_download: 459.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.463244 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 58884 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 288267 + connect_time_us: 138299 + namelookup_time_us: 5497 + pretransfer_time_us: 288339 + redirect_time_us: 0 + starttransfer_time_us: 463244 + total_time_us: 464700 + index: 0 diff --git a/tests/cassettes/customers/update.yml b/tests/cassettes/customers/update.yml new file mode 100644 index 0000000..91440e2 --- /dev/null +++ b/tests/cassettes/customers/update.yml @@ -0,0 +1,75 @@ + +- + request: + method: PATCH + url: 'https://business-sandbox.cryptopay.me/api/customers/CUSTOMER-123' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:11:52 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:M5/Emg7p2PuCtd+R3JPlrZeDJ/I=' + Accept: '' + body: '{"addresses":[{"address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","currency":"BTC","network":"bitcoin"}]}' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:11:52 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4febe9ee970c59-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"CUSTOMER-123","currency":"EUR","refund_addresses":{"BTC":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ"},"addresses":[{"address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","currency":"BTC","network":"bitcoin"}]}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/customers/CUSTOMER-123' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 376 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.639209 + namelookup_time: 0.005248 + connect_time: 0.176692 + pretransfer_time: 0.333065 + size_upload: 102.0 + size_download: 213.0 + speed_download: 333.0 + speed_upload: 159.0 + download_content_length: -1.0 + upload_content_length: 102.0 + starttransfer_time: 0.593815 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 58894 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 332989 + connect_time_us: 176692 + namelookup_time_us: 5248 + pretransfer_time_us: 333065 + redirect_time_us: 0 + starttransfer_time_us: 593815 + total_time_us: 639209 + index: 0 diff --git a/tests/cassettes/exchangeTransfers/commit.yml b/tests/cassettes/exchangeTransfers/commit.yml new file mode 100644 index 0000000..08fdfae --- /dev/null +++ b/tests/cassettes/exchangeTransfers/commit.yml @@ -0,0 +1,147 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:08:09 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:E6up4bES9DbWP0kB9exlHMkcl50=' + Accept: '' + body: '{"charged_currency":"EUR","charged_amount":"100.0","received_currency":"BTC","received_amount":null,"force_commit":false}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 09:08:09 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fe6771a730bb6-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"009aae9d-5c64-4d98-ac86-1ad782c24459","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00333377","received_currency":"BTC","custom_id":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"}}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 390 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.459339 + namelookup_time: 0.00427 + connect_time: 0.072039 + pretransfer_time: 0.224627 + size_upload: 121.0 + size_download: 260.0 + speed_download: 566.0 + speed_upload: 263.0 + download_content_length: -1.0 + upload_content_length: 121.0 + starttransfer_time: 0.459305 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51712 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 224560 + connect_time_us: 72039 + namelookup_time_us: 4270 + pretransfer_time_us: 224627 + redirect_time_us: 0 + starttransfer_time_us: 459305 + total_time_us: 459339 + index: 0 +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers/009aae9d-5c64-4d98-ac86-1ad782c24459/commit' + headers: + Host: business-sandbox.cryptopay.me + Content-Length: '0' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:08:09 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:5QcUp8l2bbpJvCyJ+Fe8U1HyEbE=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:08:10 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fe67acf5c0b34-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"009aae9d-5c64-4d98-ac86-1ad782c24459","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00333377","received_currency":"BTC","custom_id":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"}}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers/009aae9d-5c64-4d98-ac86-1ad782c24459/commit' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 311 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.800044 + namelookup_time: 0.004695 + connect_time: 0.12396 + pretransfer_time: 0.321143 + size_upload: 0.0 + size_download: 260.0 + speed_download: 325.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.754529 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51716 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 321088 + connect_time_us: 123960 + namelookup_time_us: 4695 + pretransfer_time_us: 321143 + redirect_time_us: 0 + starttransfer_time_us: 754529 + total_time_us: 800044 + index: 0 diff --git a/tests/cassettes/exchangeTransfers/create.yml b/tests/cassettes/exchangeTransfers/create.yml new file mode 100644 index 0000000..de2e165 --- /dev/null +++ b/tests/cassettes/exchangeTransfers/create.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:08:10 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:pz596Q466+wth6P2Ui+WwBDzd8k=' + Accept: '' + body: '{"charged_currency":"EUR","charged_amount":"100.0","received_currency":"BTC","received_amount":null,"force_commit":true}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 09:08:11 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fe67fbad1b704-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"db5f552c-7c0a-4761-8d05-1332440a23ae","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00333377","received_currency":"BTC","custom_id":null,"exchange":{"pair":"BTCEUR","rate":"29696.0269","fee":"1.0","fee_currency":"EUR"}}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 389 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.909822 + namelookup_time: 0.004765 + connect_time: 0.115037 + pretransfer_time: 0.25911 + size_upload: 120.0 + size_download: 260.0 + speed_download: 286.0 + speed_upload: 132.0 + download_content_length: -1.0 + upload_content_length: 120.0 + starttransfer_time: 0.864516 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51728 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 259035 + connect_time_us: 115037 + namelookup_time_us: 4765 + pretransfer_time_us: 259110 + redirect_time_us: 0 + starttransfer_time_us: 864516 + total_time_us: 909822 + index: 0 diff --git a/tests/cassettes/exchangeTransfers/retrieve.yml b/tests/cassettes/exchangeTransfers/retrieve.yml new file mode 100644 index 0000000..0796916 --- /dev/null +++ b/tests/cassettes/exchangeTransfers/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers/2c090f99-7cc1-40da-9bca-7caa57b4ebfb' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:08:11 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:1Nc14U3ramNL/rupO9IOxuv7O64=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:08:11 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fe6859fbb0b54-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"2c090f99-7cc1-40da-9bca-7caa57b4ebfb","charged_amount":"100.0","charged_currency":"EUR","received_amount":"0.00182068","received_currency":"BTC","custom_id":null,"exchange":{"pair":"BTCEUR","rate":"54375.2576","fee":"1.0","fee_currency":"EUR"}}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/exchange_transfers/2c090f99-7cc1-40da-9bca-7caa57b4ebfb' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 284 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.535651 + namelookup_time: 0.006115 + connect_time: 0.140046 + pretransfer_time: 0.286646 + size_upload: 0.0 + size_download: 260.0 + speed_download: 485.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.498516 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51732 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 286566 + connect_time_us: 140046 + namelookup_time_us: 6115 + pretransfer_time_us: 286646 + redirect_time_us: 0 + starttransfer_time_us: 498516 + total_time_us: 535651 + index: 0 diff --git a/tests/cassettes/invoices/all.yml b/tests/cassettes/invoices/all.yml new file mode 100644 index 0000000..664f063 --- /dev/null +++ b/tests/cassettes/invoices/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/invoices' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:22 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:FtQf0YtaWu4PyeMwv1kQrdWwJ8Y=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:57:22 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd6ac78770c15-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"331646a6-c8b5-430d-adfb-021d11ff6cd0","custom_id":null,"customer_id":null,"subscription_id":null,"status":"unresolved","status_context":"underpaid","address":"0x25bd1f6fa8ebe01f62c53d59a1a712067bbe3ce1","network":"ethereum","uri":"ethereum:0x25bd1f6fa8ebe01f62c53d59a1a712067bbe3ce1@5?value=0.2850781e17","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.02850781","pay_currency":"ETH","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0051138","exchange":{"pair":"ETHEUR","rate":"1753.9057","fee":"0.0","fee_currency":"EUR"},"transactions":[{"txid":"0x786763120991ac60241a38e9116ccced9720b2c66092f61324b3653dd5755766","risk":null}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/331646a6-c8b5-430d-adfb-021d11ff6cd0","created_at":"2023-07-11T08:41:50+00:00","expires_at":"2023-07-11T08:51:50+00:00"},{"id":"8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","custom_id":null,"customer_id":null,"subscription_id":null,"status":"unresolved","status_context":"underpaid","address":"0x1a2f9873ff98c476373d0cbc3f4ca89e3413f3f3","network":"ethereum","uri":"ethereum:0x1a2f9873ff98c476373d0cbc3f4ca89e3413f3f3@5?value=0.2850781e17","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.02850781","pay_currency":"ETH","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0052326","exchange":{"pair":"ETHEUR","rate":"1753.9057","fee":"0.0","fee_currency":"EUR"},"transactions":[{"txid":"0x21d8cd05df602c8b4a93b50073de338e57b6cf1997098257d708ec715d0a8ec0","risk":null}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","created_at":"2023-07-11T08:40:47+00:00","expires_at":"2023-07-11T08:50:47+00:00"},{"id":"29a563ad-b417-445c-b8f6-b6c806bb039b","custom_id":null,"customer_id":null,"subscription_id":null,"status":"unresolved","status_context":"underpaid","address":"0x01e19ff9d2b4f8008d7ea286bbf31f4147b2b7fa","network":"ethereum","uri":"ethereum:0x01e19ff9d2b4f8008d7ea286bbf31f4147b2b7fa@5?value=0.2850781e17","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.02850781","pay_currency":"ETH","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0052326","exchange":{"pair":"ETHEUR","rate":"1753.9057","fee":"0.0","fee_currency":"EUR"},"transactions":[{"txid":"0xfd6c42f88e0a614672bfec91681c81e1cb7e3d14cb9437955c0e2e1476c441ea","risk":null}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/29a563ad-b417-445c-b8f6-b6c806bb039b","created_at":"2023-07-11T08:37:31+00:00","expires_at":"2023-07-11T08:47:31+00:00"},{"id":"c9e75e23-8664-4f26-9098-3c304c7b6e31","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N6jUcreGRfcx94LnysDGn8FDa13yTj5tsM","network":"bitcoin","uri":"bitcoin:2N6jUcreGRfcx94LnysDGn8FDa13yTj5tsM?amount=0.003546","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003546","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28202.345","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/c9e75e23-8664-4f26-9098-3c304c7b6e31","created_at":"2023-07-10T10:15:08+00:00","expires_at":"2023-07-10T10:25:08+00:00"},{"id":"8b7cecef-e220-4619-b95e-47caea862c8f","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2Mwpgd4H1MzUkxr9CbvtxKahswxyjKRdeqU","network":"bitcoin","uri":"bitcoin:2Mwpgd4H1MzUkxr9CbvtxKahswxyjKRdeqU?amount=0.003554","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003554","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28140.826","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8b7cecef-e220-4619-b95e-47caea862c8f","created_at":"2023-07-10T09:08:10+00:00","expires_at":"2023-07-10T09:18:10+00:00"},{"id":"46c48574-66e3-4838-8ab4-99a3d0f0a368","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N2ghTxRcHHWQGeCAuJZwL5Q3FYNxYsY8Z4","network":"bitcoin","uri":"bitcoin:2N2ghTxRcHHWQGeCAuJZwL5Q3FYNxYsY8Z4?amount=0.003554","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003554","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28140.826","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/46c48574-66e3-4838-8ab4-99a3d0f0a368","created_at":"2023-07-10T09:07:19+00:00","expires_at":"2023-07-10T09:17:19+00:00"},{"id":"03ff86bb-4da0-4950-954f-5b7a2ee75298","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N6oXh8QLon1LPPsS99XgMvnQCBqB8x5htJ","network":"bitcoin","uri":"bitcoin:2N6oXh8QLon1LPPsS99XgMvnQCBqB8x5htJ?amount=0.003547","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003547","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28200.2943","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/03ff86bb-4da0-4950-954f-5b7a2ee75298","created_at":"2023-07-10T08:21:35+00:00","expires_at":"2023-07-10T08:31:35+00:00"},{"id":"f5959728-2eab-439c-9c1a-a1b8d2cc5712","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N3fc4No7zXxVroLMwXnumJwrZeHXbEysZz","network":"bitcoin","uri":"bitcoin:2N3fc4No7zXxVroLMwXnumJwrZeHXbEysZz?amount=0.003547","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003547","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28200.2943","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/f5959728-2eab-439c-9c1a-a1b8d2cc5712","created_at":"2023-07-10T08:20:16+00:00","expires_at":"2023-07-10T08:30:16+00:00"},{"id":"40b271ac-085a-4714-8c8b-48fcaea1cd57","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MwTmYw5RjhrYs6vwmrcQrF8eV4sYm3r7fj","network":"bitcoin","uri":"bitcoin:2MwTmYw5RjhrYs6vwmrcQrF8eV4sYm3r7fj?amount=0.003547","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003547","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28200.2943","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/40b271ac-085a-4714-8c8b-48fcaea1cd57","created_at":"2023-07-10T08:19:55+00:00","expires_at":"2023-07-10T08:29:55+00:00"},{"id":"cbc1b67e-becd-4b1b-b55d-60d64f8d5bcd","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2NCfY5DkQDss1zAiuhEYdkWUqubDgBCFTSL","network":"bitcoin","uri":"bitcoin:2NCfY5DkQDss1zAiuhEYdkWUqubDgBCFTSL?amount=0.003547","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003547","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28200.2943","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/cbc1b67e-becd-4b1b-b55d-60d64f8d5bcd","created_at":"2023-07-10T08:19:42+00:00","expires_at":"2023-07-10T08:29:42+00:00"},{"id":"a3769873-b891-4771-930d-6b0e98fe42b4","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MyetnSkjtRHzmWAiqnakn6wxaT3CZ5tfJW","network":"bitcoin","uri":"bitcoin:2MyetnSkjtRHzmWAiqnakn6wxaT3CZ5tfJW?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/a3769873-b891-4771-930d-6b0e98fe42b4","created_at":"2023-07-10T08:10:41+00:00","expires_at":"2023-07-10T10:10:41+00:00"},{"id":"b9ef4d50-502c-4739-abd4-4bd1fa9ba116","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2NEG8r4W1eDUkyJz2VFML9E5yxRpqyd8RTQ","network":"bitcoin","uri":"bitcoin:2NEG8r4W1eDUkyJz2VFML9E5yxRpqyd8RTQ?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/b9ef4d50-502c-4739-abd4-4bd1fa9ba116","created_at":"2023-07-06T13:29:54+00:00","expires_at":"2023-07-06T15:29:54+00:00"},{"id":"a304c0fe-4553-477d-a9a1-ed7b42c5fcc4","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N8SuqqNDwahZzYKDYvAJMqsaRKysVKLKrc","network":"bitcoin","uri":"bitcoin:2N8SuqqNDwahZzYKDYvAJMqsaRKysVKLKrc?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/a304c0fe-4553-477d-a9a1-ed7b42c5fcc4","created_at":"2023-07-06T13:06:09+00:00","expires_at":"2023-07-06T15:06:09+00:00"},{"id":"fe2cc363-71a2-4aba-9c2b-aff69d391e3b","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MsiWs6FS3xtLxViRipBVd8eEnS581Yq3m2","network":"bitcoin","uri":"bitcoin:2MsiWs6FS3xtLxViRipBVd8eEnS581Yq3m2?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/fe2cc363-71a2-4aba-9c2b-aff69d391e3b","created_at":"2023-07-06T13:06:03+00:00","expires_at":"2023-07-06T15:06:03+00:00"},{"id":"5bab7667-20c3-40a6-b989-99fead86f10b","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2N6bEsCFQdtbj4MjVxy31DhnsQyL77zqxzQ","network":"bitcoin","uri":"bitcoin:2N6bEsCFQdtbj4MjVxy31DhnsQyL77zqxzQ?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/5bab7667-20c3-40a6-b989-99fead86f10b","created_at":"2023-07-06T13:05:55+00:00","expires_at":"2023-07-06T15:05:55+00:00"},{"id":"d655d1fe-e5b0-4551-85ec-a7ddb4fd7272","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2NB7wnkbAvZKiVpeaC2sDY4LS72eKDYsrZJ","network":"bitcoin","uri":"bitcoin:2NB7wnkbAvZKiVpeaC2sDY4LS72eKDYsrZJ?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/d655d1fe-e5b0-4551-85ec-a7ddb4fd7272","created_at":"2023-07-06T13:05:50+00:00","expires_at":"2023-07-06T15:05:50+00:00"},{"id":"8a815d50-0cf9-40cb-869e-806b90788dc9","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MyxUzL4f6oJhwbyD7nuPrTBqZbz9fcU8Vp","network":"bitcoin","uri":"bitcoin:2MyxUzL4f6oJhwbyD7nuPrTBqZbz9fcU8Vp?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8a815d50-0cf9-40cb-869e-806b90788dc9","created_at":"2023-07-06T13:05:37+00:00","expires_at":"2023-07-06T15:05:37+00:00"},{"id":"8c8bc640-72c7-4b26-bac9-f7f6abef7014","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2Mt7hRZmDmfdSLxVTj6ez8tDFjeaF6by3J1","network":"bitcoin","uri":"bitcoin:2Mt7hRZmDmfdSLxVTj6ez8tDFjeaF6by3J1?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8c8bc640-72c7-4b26-bac9-f7f6abef7014","created_at":"2023-07-06T13:05:30+00:00","expires_at":"2023-07-06T15:05:30+00:00"},{"id":"6f8527a8-6873-4fd3-9e29-6d9795f1a841","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MwXtWAkM1CSTSKh7X2q3BXd54BYXWLykzn","network":"bitcoin","uri":"bitcoin:2MwXtWAkM1CSTSKh7X2q3BXd54BYXWLykzn?amount=0.00018704","price_amount":"0.00018704","price_currency":"BTC","pay_amount":"0.00018704","pay_currency":"BTC","fee":"0.00000188","fee_currency":"BTC","paid_amount":"0.0","transactions":[],"name":"Test","description":"#1","metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/6f8527a8-6873-4fd3-9e29-6d9795f1a841","created_at":"2023-07-06T13:05:14+00:00","expires_at":"2023-07-06T15:05:14+00:00"},{"id":"45e3db3a-c823-40a4-9cd5-05a292b2282d","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0x25bd1f6fa8ebe01f62c53d59a1a712067bbe3ce1","network":"ethereum","uri":"ethereum:0x25bd1f6fa8ebe01f62c53d59a1a712067bbe3ce1@5?value=0.2738555e17","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.02738555","pay_currency":"ETH","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ETHEUR","rate":"1825.7804","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/45e3db3a-c823-40a4-9cd5-05a292b2282d","created_at":"2023-07-06T10:43:32+00:00","expires_at":"2023-07-06T10:53:32+00:00"},{"id":"5c916a9a-f26c-417f-b067-f4b36821076b","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0x42550Dfb88B0678D31e23055fd793C50Ddb21df4","network":"bnb_smart_chain","uri":"0x42550Dfb88B0678D31e23055fd793C50Ddb21df4","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.17694286","pay_currency":"BNB","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BNBEUR","rate":"282.5771","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/5c916a9a-f26c-417f-b067-f4b36821076b","created_at":"2023-07-06T10:43:27+00:00","expires_at":"2023-07-06T10:53:27+00:00"},{"id":"bd1837e4-22dd-4017-8b1d-27e49ebd6193","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0x2CfaDbE87D1eF12A3a233A669B40ec3dfC183188","network":"bnb_smart_chain","uri":"0x2CfaDbE87D1eF12A3a233A669B40ec3dfC183188","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.17697261","pay_currency":"BNB","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BNBEUR","rate":"282.5296","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/bd1837e4-22dd-4017-8b1d-27e49ebd6193","created_at":"2023-07-06T10:33:44+00:00","expires_at":"2023-07-06T10:43:44+00:00"},{"id":"8da1e0f0-e08f-4250-bb8c-e04a5b29eeba","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0x1a2f9873ff98c476373d0cbc3f4ca89e3413f3f3","network":"ethereum","uri":"ethereum:0x1a2f9873ff98c476373d0cbc3f4ca89e3413f3f3@5?value=0.2732724e17","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.02732724","pay_currency":"ETH","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ETHEUR","rate":"1829.6766","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8da1e0f0-e08f-4250-bb8c-e04a5b29eeba","created_at":"2023-07-06T10:32:32+00:00","expires_at":"2023-07-06T10:42:32+00:00"},{"id":"cb2a09b5-4667-4eb2-aacd-6fac008551cd","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0xb89e8eb06fa7696dd78f49359fa3b595f470ff9f","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0xb89e8eb06fa7696dd78f49359fa3b595f470ff9f&uint256=0.53027893e8","price_amount":"50.0","price_currency":"EUR","pay_amount":"53.027893","pay_currency":"USDT","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.9429","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/cb2a09b5-4667-4eb2-aacd-6fac008551cd","created_at":"2023-07-06T10:30:32+00:00","expires_at":"2023-07-06T10:40:32+00:00"},{"id":"209f350a-591f-44e7-9eb5-e9b4f1974996","custom_id":null,"customer_id":null,"subscription_id":null,"status":"completed","status_context":null,"address":"0xe1bdb1c31635ea44227c4b8d97ef67a5cb9b20f9","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0xe1bdb1c31635ea44227c4b8d97ef67a5cb9b20f9&uint256=0.53027893e8","price_amount":"50.0","price_currency":"EUR","pay_amount":"53.027893","pay_currency":"USDT","fee":"0.5","fee_currency":"EUR","paid_amount":"53.027893","exchange":{"pair":"USDTEUR","rate":"0.9429","fee":"0.0","fee_currency":"EUR"},"transactions":[{"txid":"0x8ad409f21b533ab88cd257266ef5ff2f2236c4a5ba5f9e35154676d02cf944e1","risk":null}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/209f350a-591f-44e7-9eb5-e9b4f1974996","created_at":"2023-07-06T10:28:05+00:00","expires_at":"2023-07-06T10:38:05+00:00"},{"id":"a581ec0e-a426-4a4e-9767-fa09e4cfb88e","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"0x544cc2b8f501e29cbe513368fd81376ff1431875","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x544cc2b8f501e29cbe513368fd81376ff1431875&uint256=0.5302227e8","price_amount":"50.0","price_currency":"EUR","pay_amount":"53.02227","pay_currency":"USDT","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.943","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/a581ec0e-a426-4a4e-9767-fa09e4cfb88e","created_at":"2023-07-06T10:11:44+00:00","expires_at":"2023-07-06T10:21:44+00:00"},{"id":"54801abb-88cb-4e4f-9c27-6b147fd443fd","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=2911025034","network":"ripple","uri":"ripple:rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?amount=108.01259&dt=2911025034","price_amount":"50.0","price_currency":"EUR","pay_amount":"108.01259","pay_currency":"XRP","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"XRPEUR","rate":"0.462909","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/54801abb-88cb-4e4f-9c27-6b147fd443fd","created_at":"2023-06-22T14:43:59+00:00","expires_at":"2023-06-22T14:53:59+00:00"},{"id":"ffc68d65-5012-48e9-8ea7-7cc8fc7ee9f5","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=1813013935","network":"ripple","uri":"ripple:rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?amount=108.01259&dt=1813013935","price_amount":"50.0","price_currency":"EUR","pay_amount":"108.01259","pay_currency":"XRP","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"XRPEUR","rate":"0.462909","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/ffc68d65-5012-48e9-8ea7-7cc8fc7ee9f5","created_at":"2023-06-22T14:43:41+00:00","expires_at":"2023-06-22T14:53:41+00:00"},{"id":"41e094fa-9671-49b2-8f4e-75aab15674d0","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"GBZQNLHMCQKTKAZXOXEDVKCD7MLXKGPGCE6XD67N4235IGU6ZBLZF5SQ?dt=3544462702","network":"stellar","uri":"web+stellar:pay?destination=GBZQNLHMCQKTKAZXOXEDVKCD7MLXKGPGCE6XD67N4235IGU6ZBLZF5SQ&memo=3544462702&memo_type=MEMO_ID&amount=596.7441639","price_amount":"50.0","price_currency":"EUR","pay_amount":"596.7441639","pay_currency":"XLM","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"XLMEUR","rate":"0.083788","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/41e094fa-9671-49b2-8f4e-75aab15674d0","created_at":"2023-06-05T18:36:45+00:00","expires_at":"2023-06-05T18:46:45+00:00"},{"id":"aef56529-39f1-4b31-9662-b7005784ca48","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"2N4khsMvEYuGb8FVYmk8TC2KupCca71xCFW","network":"bitcoin","uri":"bitcoin:2N4khsMvEYuGb8FVYmk8TC2KupCca71xCFW?amount=0.002009","price_amount":"50.0","price_currency":"EUR","pay_amount":"0.002009","pay_currency":"BTC","fee":"0.5","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"24891.5992","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/aef56529-39f1-4b31-9662-b7005784ca48","created_at":"2023-05-24T16:16:42+00:00","expires_at":"2023-05-24T16:26:42+00:00"},{"id":"b80940cb-f586-4412-82ab-703d37a6c1b0","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"2NFxAg6RxWWZxYC1j3JH8mmdyiWEGu7pkkT","network":"bitcoin","uri":"bitcoin:2NFxAg6RxWWZxYC1j3JH8mmdyiWEGu7pkkT?amount=0.000804","price_amount":"20.0","price_currency":"EUR","pay_amount":"0.000804","pay_currency":"BTC","fee":"0.2","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"24891.5992","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/b80940cb-f586-4412-82ab-703d37a6c1b0","created_at":"2023-05-24T16:16:32+00:00","expires_at":"2023-05-24T16:26:32+00:00"},{"id":"5a87bf44-7fe2-4081-915b-2bd864414190","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"2N2WZvKV1zuHoWfdCVCBGSSgrh6XaLAdNXi","network":"bitcoin","uri":"bitcoin:2N2WZvKV1zuHoWfdCVCBGSSgrh6XaLAdNXi?amount=0.000051","price_amount":"50.0","price_currency":"UAH","pay_amount":"0.000051","pay_currency":"BTC","fee":"0.5","fee_currency":"UAH","paid_amount":"0.0","exchange":{"pair":"BTCUAH","rate":"987030.3197","fee":"0.0","fee_currency":"UAH"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/5a87bf44-7fe2-4081-915b-2bd864414190","created_at":"2023-05-24T16:16:20+00:00","expires_at":"2023-05-24T16:26:20+00:00"},{"id":"b7bdc7c4-43d6-47cd-ace4-bdd0ead8327f","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"QPFidd2LS3HGwFgmC76DfxBN3ZFJNVjUaR","network":"litecoin","uri":"litecoin:QPFidd2LS3HGwFgmC76DfxBN3ZFJNVjUaR?amount=1.0","price_amount":"1.0","price_currency":"LTC","pay_amount":"1.0","pay_currency":"LTC","fee":"0.01","fee_currency":"LTC","paid_amount":"0.0","transactions":[],"name":"test item","description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/b7bdc7c4-43d6-47cd-ace4-bdd0ead8327f","created_at":"2023-05-16T11:54:30+00:00","expires_at":"2023-05-16T13:54:30+00:00"},{"id":"8e69abcf-9065-4ac3-a998-bfde90d5b59d","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"2N76xAZuswWhXKXG9mGPMTE9Tadnd3bZTNG","network":"bitcoin","uri":"bitcoin:2N76xAZuswWhXKXG9mGPMTE9Tadnd3bZTNG?amount=0.092795","price_amount":"2365.89","price_currency":"EUR","pay_amount":"0.092795","pay_currency":"BTC","fee":"23.66","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"25496.1295","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/8e69abcf-9065-4ac3-a998-bfde90d5b59d","created_at":"2023-05-16T11:53:38+00:00","expires_at":"2023-05-16T12:03:38+00:00"},{"id":"d1fa210c-8eb9-4649-9f3c-ac372e83dc0c","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"QRcZKen6dbkmB8vgdTU3XaimiiLPPiG9We","network":"litecoin","uri":"litecoin:QRcZKen6dbkmB8vgdTU3XaimiiLPPiG9We?amount=0.27933958","price_amount":"23.48","price_currency":"EUR","pay_amount":"0.27933958","pay_currency":"LTC","fee":"0.24","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"LTCEUR","rate":"84.0554","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/d1fa210c-8eb9-4649-9f3c-ac372e83dc0c","created_at":"2023-05-16T11:52:52+00:00","expires_at":"2023-05-16T12:02:52+00:00"},{"id":"70b79b0c-7c94-413d-8364-e0103fd58bca","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0x227e19d7d7abDf06Ec7233dD33Bd33E27a06Ee81","network":"bnb_smart_chain","uri":"0x227e19d7d7abDf06Ec7233dD33Bd33E27a06Ee81","price_amount":"100.0","price_currency":"EUR","pay_amount":"106.940435","pay_currency":"USDT","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.9351","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/70b79b0c-7c94-413d-8364-e0103fd58bca","created_at":"2023-04-20T09:58:57+00:00","expires_at":"2023-04-20T10:08:57+00:00"},{"id":"d3872cfe-4fc3-4012-942e-43178684a129","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0x8910f0d28a9a63189e851e5fdd74ba210e9a8ed9","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x8910f0d28a9a63189e851e5fdd74ba210e9a8ed9&uint256=0.107909788e9","price_amount":"100.0","price_currency":"EUR","pay_amount":"107.909788","pay_currency":"USDT","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.9267","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/d3872cfe-4fc3-4012-942e-43178684a129","created_at":"2023-04-14T08:38:39+00:00","expires_at":"2023-04-14T08:48:39+00:00"},{"id":"d4ee7889-bcdf-4769-830c-027ec0db9679","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0xa37f560c81ceca29c9c64390a815d66804ebcbdc","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0xa37f560c81ceca29c9c64390a815d66804ebcbdc&uint256=0.1327609e7","price_amount":"50.0","price_currency":"UAH","pay_amount":"1.327609","pay_currency":"USDT","fee":"0.5","fee_currency":"UAH","paid_amount":"0.0","exchange":{"pair":"USDTUAH","rate":"37.6617","fee":"0.0","fee_currency":"UAH"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/d4ee7889-bcdf-4769-830c-027ec0db9679","created_at":"2023-04-13T11:29:29+00:00","expires_at":"2023-04-13T11:39:29+00:00"},{"id":"73d48f20-4692-4662-8c9b-763a46d00b88","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"6R5BDanX2YjhCqHVtMkLVUgPMncXUbrSTfADw9DkDS2z","network":"solana","uri":"solana:6R5BDanX2YjhCqHVtMkLVUgPMncXUbrSTfADw9DkDS2z?amount=0.062124095","price_amount":"50.0","price_currency":"UAH","pay_amount":"0.062124095","pay_currency":"SOL","fee":"0.5","fee_currency":"UAH","paid_amount":"0.0","exchange":{"pair":"SOLUAH","rate":"804.84071","fee":"0.0","fee_currency":"UAH"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/73d48f20-4692-4662-8c9b-763a46d00b88","created_at":"2023-03-29T10:08:30+00:00","expires_at":"2023-03-29T10:18:30+00:00"},{"id":"4f19aee9-b211-475b-bdda-c2bb44946869","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?dt=3486824376","network":"ripple","uri":"ripple:rn7bUErRCFBHhLpjmx3XhR89exwgwFFjMs?amount=27.66137&dt=3486824376","price_amount":"10.0","price_currency":"EUR","pay_amount":"27.66137","pay_currency":"XRP","fee":"0.1","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"XRPEUR","rate":"0.361515","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/4f19aee9-b211-475b-bdda-c2bb44946869","created_at":"2023-03-17T13:57:09+00:00","expires_at":"2023-03-17T14:07:09+00:00"},{"id":"00635f8b-bde8-4fa1-97b3-53ae2958a877","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"addr_test1qqx0cp0kh27ctlwy3775as7mt6whslwutse0vhefxxn0tqgrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqgmckps","network":"cardano","uri":"web+cardano:addr_test1qqx0cp0kh27ctlwy3775as7mt6whslwutse0vhefxxn0tqgrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqgmckps?amount=328.44282","price_amount":"100.0","price_currency":"EUR","pay_amount":"328.44282","pay_currency":"ADA","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ADAEUR","rate":"0.304467","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/00635f8b-bde8-4fa1-97b3-53ae2958a877","created_at":"2023-03-10T12:17:36+00:00","expires_at":"2023-03-10T12:27:36+00:00"},{"id":"fa31b05b-9b16-4ead-bd12-0827e08568fe","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"addr_test1qpnp8zumurg52z96ut36vec3g8g8d982nqlr0lz6y0hehygrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqagjajs","network":"cardano","uri":"web+cardano:addr_test1qpnp8zumurg52z96ut36vec3g8g8d982nqlr0lz6y0hehygrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqagjajs?amount=284.339707","price_amount":"100.0","price_currency":"EUR","pay_amount":"284.339707","pay_currency":"ADA","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ADAEUR","rate":"0.351692","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/fa31b05b-9b16-4ead-bd12-0827e08568fe","created_at":"2023-03-02T10:54:23+00:00","expires_at":"2023-03-02T11:04:23+00:00"},{"id":"25a827fd-0dc3-43fd-9bba-f9bb5f31f66a","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"addr_test1qqnz85c8htjy96jmj5g6gzr6yrkuvxse9u3wv5k2xgaearcrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqyr0epm","network":"cardano","uri":"web+cardano:addr_test1qqnz85c8htjy96jmj5g6gzr6yrkuvxse9u3wv5k2xgaearcrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqyr0epm?amount=284.339707","price_amount":"100.0","price_currency":"EUR","pay_amount":"284.339707","pay_currency":"ADA","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ADAEUR","rate":"0.351692","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/25a827fd-0dc3-43fd-9bba-f9bb5f31f66a","created_at":"2023-03-02T10:53:44+00:00","expires_at":"2023-03-02T11:03:44+00:00"},{"id":"2b33d5d7-7dc3-458e-8626-1a241ece4d40","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"addr_test1qzjuuq3k8ky4p9rxjsxwxap0s32fuuxcjah3ghzpqx9pepgrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqvxmatj","network":"cardano","uri":"web+cardano:addr_test1qzjuuq3k8ky4p9rxjsxwxap0s32fuuxcjah3ghzpqx9pepgrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqvxmatj?amount=256.309705","price_amount":"100.0","price_currency":"EUR","pay_amount":"256.309705","pay_currency":"ADA","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ADAEUR","rate":"0.390153","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/2b33d5d7-7dc3-458e-8626-1a241ece4d40","created_at":"2023-02-23T02:32:21+00:00","expires_at":"2023-02-23T02:42:21+00:00"},{"id":"5cf50ed0-5e89-41c1-b5f0-e9f716a09851","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0xe369B4ECf62DB701F3f034e3d84CA87d28D2543F","network":"bnb_smart_chain","uri":"0xe369B4ECf62DB701F3f034e3d84CA87d28D2543F","price_amount":"100.0","price_currency":"EUR","pay_amount":"104.416832","pay_currency":"BUSD","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BUSDEUR","rate":"0.9577","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/5cf50ed0-5e89-41c1-b5f0-e9f716a09851","created_at":"2023-02-16T10:18:06+00:00","expires_at":"2023-02-16T10:28:06+00:00"},{"id":"af341b60-ec2c-449a-ba9a-b64a1bbc6081","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0xcf4168070cb1a0a6911953ffe65203ea87db9fa4","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0xcf4168070cb1a0a6911953ffe65203ea87db9fa4&uint256=0.104395031e9","price_amount":"100.0","price_currency":"EUR","pay_amount":"104.395031","pay_currency":"USDT","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.9579","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/af341b60-ec2c-449a-ba9a-b64a1bbc6081","created_at":"2023-02-16T10:06:35+00:00","expires_at":"2023-02-16T10:16:35+00:00"},{"id":"97447c3a-0279-49c0-bce9-3421378d3c02","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0xe05e2a1e708c0bef3f59e4c33c3f715d5e3894f8","network":"ethereum","uri":"ethereum:0x849017d2ec55573aca70f78c42c4b83b782f2b55@5/transfer?address=0xe05e2a1e708c0bef3f59e4c33c3f715d5e3894f8&uint256=0.79936052e26","price_amount":"1000.0","price_currency":"EUR","pay_amount":"79936052.0","pay_currency":"SHIB","fee":"10.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"SHIBEUR","rate":"0.00001251","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/97447c3a-0279-49c0-bce9-3421378d3c02","created_at":"2023-02-09T14:09:16+00:00","expires_at":"2023-02-09T14:19:16+00:00"},{"id":"d0b0062a-ded6-457c-97f0-fe5ed03209b2","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0x986c3c54279319b9a9fe4c4d4752e30a0039dc3c","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x986c3c54279319b9a9fe4c4d4752e30a0039dc3c&uint256=0.105042017e9","price_amount":"100.0","price_currency":"EUR","pay_amount":"105.042017","pay_currency":"USDT","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"USDTEUR","rate":"0.952","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/d0b0062a-ded6-457c-97f0-fe5ed03209b2","created_at":"2023-02-09T12:10:42+00:00","expires_at":"2023-02-09T12:20:42+00:00"},{"id":"e1e975e4-1fca-4d0a-a888-c7cd6afad088","custom_id":null,"customer_id":null,"subscription_id":null,"status":"completed","status_context":null,"address":"QjCoNeYXna8CsGwYjhyMbnaecdmNeMwvfG","network":"litecoin","uri":"litecoin:QjCoNeYXna8CsGwYjhyMbnaecdmNeMwvfG?amount=0.10598891","price_amount":"10.0","price_currency":"EUR","pay_amount":"0.10598891","pay_currency":"LTC","fee":"0.1","fee_currency":"EUR","paid_amount":"0.10598891","exchange":{"pair":"LTCEUR","rate":"94.3495","fee":"0.0","fee_currency":"EUR"},"transactions":[{"txid":"1b5ba120539781873719cfee4735def4d37119752d7c6908052fffa8a8f88d06","risk":null}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/e1e975e4-1fca-4d0a-a888-c7cd6afad088","created_at":"2023-02-07T07:20:00+00:00","expires_at":"2023-02-07T07:30:00+00:00"},{"id":"61beb6ab-87bc-4d36-aab6-c0a166de865c","custom_id":null,"customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"addr_test1qz0ctp038amw9wvphzht7w4wrwtj32cyad0qvgkl05zjaegrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqdh7jxw","network":"cardano","uri":"web+cardano:addr_test1qz0ctp038amw9wvphzht7w4wrwtj32cyad0qvgkl05zjaegrxwn8e3r3r3236dpdudet3kxe468x9gmae05v9l404nnqdh7jxw?amount=258.915765","price_amount":"100.0","price_currency":"EUR","pay_amount":"258.915765","pay_currency":"ADA","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ADAEUR","rate":"0.386226","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/61beb6ab-87bc-4d36-aab6-c0a166de865c","created_at":"2023-02-06T12:50:32+00:00","expires_at":"2023-02-06T13:00:32+00:00"}],"meta":{"total":570,"has_more":true}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 237 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.669216 + namelookup_time: 0.004259 + connect_time: 0.067631 + pretransfer_time: 0.263741 + size_upload: 0.0 + size_download: 42770.0 + speed_download: 63931.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.571775 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 41860 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 263698 + connect_time_us: 67631 + namelookup_time_us: 4259 + pretransfer_time_us: 263741 + redirect_time_us: 0 + starttransfer_time_us: 571775 + total_time_us: 669216 + index: 0 diff --git a/tests/cassettes/invoices/allRefunds.yml b/tests/cassettes/invoices/allRefunds.yml new file mode 100644 index 0000000..d0e0c0d --- /dev/null +++ b/tests/cassettes/invoices/allRefunds.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/invoices/7e274430-e20f-4321-8748-20824287ae44/refunds' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:59 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:7qYI3opUvYGaI2se3bMAm6MNKOQ=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:57:59 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd792edd606ca-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"2734762e-2ee8-4830-9144-f8f260039f00","custom_id":null,"invoice_id":"7e274430-e20f-4321-8748-20824287ae44","amount":"0.02986987","amount_currency":"ETH","fee":"0.0002987","fee_currency":"ETH","address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44","txid":"0x08603fd0442c133486fa33d6e0141250d3892be5b31cc99fc8c83055ecb5e96c","risk":{"score":8.25,"level":"low","resource_name":"default","resource_category":"unknown"},"created_at":"2021-10-14T11:41:33+00:00","network":"ethereum"}]}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/7e274430-e20f-4321-8748-20824287ae44/refunds' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 282 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.49436 + namelookup_time: 0.006027 + connect_time: 0.145648 + pretransfer_time: 0.295134 + size_upload: 0.0 + size_download: 495.0 + speed_download: 1002.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.494313 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60958 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 295080 + connect_time_us: 145648 + namelookup_time_us: 6027 + pretransfer_time_us: 295134 + redirect_time_us: 0 + starttransfer_time_us: 494313 + total_time_us: 494360 + index: 0 diff --git a/tests/cassettes/invoices/commitRecalculation.yml b/tests/cassettes/invoices/commitRecalculation.yml new file mode 100644 index 0000000..d29c06d --- /dev/null +++ b/tests/cassettes/invoices/commitRecalculation.yml @@ -0,0 +1,146 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/invoices/8dd53e0f-0725-48b4-b0a7-1840aa67b5bb/recalculations' + headers: + Host: business-sandbox.cryptopay.me + Content-Length: '0' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:55 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:OWlJrY6lEi7TVNPmweHe2OtF5kI=' + Accept: '' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:57:56 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd77e2a561c89-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"72fcd931-7d39-44f3-9c3c-8a1e887c3ec2","invoice_id":"8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","pay_amount":"0.0052326","pay_currency":"ETH","price_amount":"9.17","price_currency":"EUR","fee":"0.1","fee_currency":"EUR","previous_pay_amount":"0.02850781","previous_price_amount":"50.0","previous_exchange_rate":"1753.9057","exchange":{"pair":"ETHEUR","rate":"1753.8032","fee":"0.0","fee_currency":"EUR"},"created_at":"2023-07-11T08:57:56Z"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/8dd53e0f-0725-48b4-b0a7-1840aa67b5bb/recalculations' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 309 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.500213 + namelookup_time: 0.007121 + connect_time: 0.08017 + pretransfer_time: 0.277769 + size_upload: 0.0 + size_download: 450.0 + speed_download: 900.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.500162 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60916 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 277707 + connect_time_us: 80170 + namelookup_time_us: 7121 + pretransfer_time_us: 277769 + redirect_time_us: 0 + starttransfer_time_us: 500162 + total_time_us: 500213 + index: 0 +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/invoices/8dd53e0f-0725-48b4-b0a7-1840aa67b5bb/recalculations/72fcd931-7d39-44f3-9c3c-8a1e887c3ec2/commit' + headers: + Host: business-sandbox.cryptopay.me + Content-Length: '0' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:56 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:97mN3zPTCSOO2H/y37c0D1c/tHE=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:57:56 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd781d9640eb3-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"72fcd931-7d39-44f3-9c3c-8a1e887c3ec2","invoice_id":"8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","pay_amount":"0.0052326","pay_currency":"ETH","price_amount":"9.17","price_currency":"EUR","fee":"0.1","fee_currency":"EUR","previous_pay_amount":"0.02850781","previous_price_amount":"50.0","previous_exchange_rate":"1753.9057","exchange":{"pair":"ETHEUR","rate":"1753.8032","fee":"0.0","fee_currency":"EUR"},"created_at":"2023-07-11T08:57:56+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/8dd53e0f-0725-48b4-b0a7-1840aa67b5bb/recalculations/72fcd931-7d39-44f3-9c3c-8a1e887c3ec2/commit' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 353 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.635323 + namelookup_time: 0.004996 + connect_time: 0.153582 + pretransfer_time: 0.343457 + size_upload: 0.0 + size_download: 455.0 + speed_download: 716.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.635286 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60926 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 343402 + connect_time_us: 153582 + namelookup_time_us: 4996 + pretransfer_time_us: 343457 + redirect_time_us: 0 + starttransfer_time_us: 635286 + total_time_us: 635323 + index: 0 diff --git a/tests/cassettes/invoices/create.yml b/tests/cassettes/invoices/create.yml new file mode 100644 index 0000000..b4754f8 --- /dev/null +++ b/tests/cassettes/invoices/create.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/invoices' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:56 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:B5I1lECdbL+vZfBAksMr0q2iUt0=' + Accept: '' + body: '{"price_amount":"100.0","price_currency":"EUR","pay_currency":"BTC"}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:57:57 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd7857b21b790-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"4e79ee49-f3dd-4941-a6cc-ed0d86087cff","custom_id":null,"customer_id":null,"subscription_id":null,"status":"new","status_context":null,"address":"2MwvfYSivVfn1XEsHJmyvhbrg6qf1CqznZL","network":"bitcoin","uri":"bitcoin:2MwvfYSivVfn1XEsHJmyvhbrg6qf1CqznZL?amount=0.003517","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.003517","pay_currency":"BTC","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"BTCEUR","rate":"28439.193","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/4e79ee49-f3dd-4941-a6cc-ed0d86087cff","created_at":"2023-07-11T08:57:57+00:00","expires_at":"2023-07-11T09:07:57+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 326 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.579051 + namelookup_time: 0.005323 + connect_time: 0.144666 + pretransfer_time: 0.329312 + size_upload: 68.0 + size_download: 827.0 + speed_download: 1428.0 + speed_upload: 117.0 + download_content_length: -1.0 + upload_content_length: 68.0 + starttransfer_time: 0.578988 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60932 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 329271 + connect_time_us: 144666 + namelookup_time_us: 5323 + pretransfer_time_us: 329312 + redirect_time_us: 0 + starttransfer_time_us: 578988 + total_time_us: 579051 + index: 0 diff --git a/tests/cassettes/invoices/createRecalculation.yml b/tests/cassettes/invoices/createRecalculation.yml new file mode 100644 index 0000000..9b65e4f --- /dev/null +++ b/tests/cassettes/invoices/createRecalculation.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/invoices/29a563ad-b417-445c-b8f6-b6c806bb039b/recalculations' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:57 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:C33PUxUsZtxKtQZvFrpnyUMWFqo=' + Accept: '' + body: '{"force_commit":true}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:57:58 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd7890d75b8f1-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"5da48baf-a6bc-48ed-af80-af12baec33b5","invoice_id":"29a563ad-b417-445c-b8f6-b6c806bb039b","pay_amount":"0.0052326","pay_currency":"ETH","price_amount":"9.17","price_currency":"EUR","fee":"0.1","fee_currency":"EUR","previous_pay_amount":"0.02850781","previous_price_amount":"50.0","previous_exchange_rate":"1753.9057","exchange":{"pair":"ETHEUR","rate":"1753.8032","fee":"0.0","fee_currency":"EUR"},"created_at":"2023-07-11T08:57:57+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/29a563ad-b417-445c-b8f6-b6c806bb039b/recalculations' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 331 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.662157 + namelookup_time: 0.004281 + connect_time: 0.143861 + pretransfer_time: 0.267885 + size_upload: 21.0 + size_download: 455.0 + speed_download: 687.0 + speed_upload: 31.0 + download_content_length: -1.0 + upload_content_length: 21.0 + starttransfer_time: 0.662118 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60936 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 267825 + connect_time_us: 143861 + namelookup_time_us: 4281 + pretransfer_time_us: 267885 + redirect_time_us: 0 + starttransfer_time_us: 662118 + total_time_us: 662157 + index: 0 diff --git a/tests/cassettes/invoices/createRefund.yml b/tests/cassettes/invoices/createRefund.yml new file mode 100644 index 0000000..ff45c6a --- /dev/null +++ b/tests/cassettes/invoices/createRefund.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/invoices/331646a6-c8b5-430d-adfb-021d11ff6cd0/refunds' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:58 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:vX9KX+FHukiTSGNOWl5mAFn360g=' + Accept: '' + body: '{"address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44"}' + response: + status: + http_version: '1.1' + code: '201' + message: Created + headers: + Date: 'Tue, 11 Jul 2023 08:57:59 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd78d9fb0b8a9-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"fb3fdf05-ee2e-43d7-b423-9e6b69ffca8f","custom_id":null,"invoice_id":"331646a6-c8b5-430d-adfb-021d11ff6cd0","amount":"0.0051138","amount_currency":"ETH","fee":"0.00005114","fee_currency":"ETH","address":"0xf3532c1fd002665ec54d46a50787e0c69c76cd44","txid":null,"risk":null,"created_at":"2023-07-11T08:57:58+00:00","network":"ethereum"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/331646a6-c8b5-430d-adfb-021d11ff6cd0/refunds' + content_type: 'application/json; charset=utf-8' + http_code: 201 + header_size: 460 + request_size: 359 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.875757 + namelookup_time: 0.005091 + connect_time: 0.143401 + pretransfer_time: 0.334529 + size_upload: 56.0 + size_download: 349.0 + speed_download: 398.0 + speed_upload: 64.0 + download_content_length: -1.0 + upload_content_length: 56.0 + starttransfer_time: 0.825989 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60948 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 334470 + connect_time_us: 143401 + namelookup_time_us: 5091 + pretransfer_time_us: 334529 + redirect_time_us: 0 + starttransfer_time_us: 825989 + total_time_us: 875757 + index: 0 diff --git a/tests/cassettes/invoices/retrieve.yml b/tests/cassettes/invoices/retrieve.yml new file mode 100644 index 0000000..8b4a764 --- /dev/null +++ b/tests/cassettes/invoices/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/invoices/c8233d57-78c8-4c36-b35e-940ae9067c78' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:57:59 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:+tpmpQ+G2B0Z3DrYJ3ud0qMxXBU=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:58:00 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd795cf12b78b-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"c8233d57-78c8-4c36-b35e-940ae9067c78","custom_id":null,"customer_id":null,"subscription_id":null,"status":"completed","status_context":null,"address":"0x516cf64763b17893f9defa60e35d6bee26535ef9","network":"ethereum","uri":"ethereum:0x23a2e5f75cdfe03763d929379f5dc3f14f7045cd@5/transfer?address=0x516cf64763b17893f9defa60e35d6bee26535ef9&uint256=0.5e2","price_amount":"0.00005","price_currency":"USDT","pay_amount":"0.00005","pay_currency":"USDT","fee":"0.000001","fee_currency":"USDT","paid_amount":"0.00005","transactions":[{"txid":"0x549ae0eade6c33f087eceb0f2b586486b0442775fe8ab90c56c211e774ce27b1","risk":{"score":7.3,"level":"medium","resource_name":"default","resource_category":"unknown"}}],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/c8233d57-78c8-4c36-b35e-940ae9067c78","created_at":"2021-06-16T08:20:13+00:00","expires_at":"2021-06-16T10:20:13+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/c8233d57-78c8-4c36-b35e-940ae9067c78' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 274 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.646043 + namelookup_time: 0.005707 + connect_time: 0.093911 + pretransfer_time: 0.24635 + size_upload: 0.0 + size_download: 1012.0 + speed_download: 1566.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.645977 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60964 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 246278 + connect_time_us: 93911 + namelookup_time_us: 5707 + pretransfer_time_us: 246350 + redirect_time_us: 0 + starttransfer_time_us: 645977 + total_time_us: 646043 + index: 0 diff --git a/tests/cassettes/invoices/retrieveByCustomId.yml b/tests/cassettes/invoices/retrieveByCustomId.yml new file mode 100644 index 0000000..0a841c0 --- /dev/null +++ b/tests/cassettes/invoices/retrieveByCustomId.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/invoices/custom_id/PAYMENT-123' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:58:00 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:CI2/sNTomFE6OmDWZvRXyCOGXQk=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:58:00 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fd799ef8d0bda-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"id":"e177d55b-96cd-472f-be3c-e9b43f4345e2","custom_id":"PAYMENT-123","customer_id":null,"subscription_id":null,"status":"cancelled","status_context":null,"address":"0x145af124eaf0415c055632352c08e2efb2c6cf5c","network":"ethereum","uri":"ethereum:0x145af124eaf0415c055632352c08e2efb2c6cf5c@5?value=0.2922619e17","price_amount":"100.0","price_currency":"EUR","pay_amount":"0.02922619","pay_currency":"ETH","fee":"1.0","fee_currency":"EUR","paid_amount":"0.0","exchange":{"pair":"ETHEUR","rate":"3421.5898","fee":"0.0","fee_currency":"EUR"},"transactions":[],"name":null,"description":null,"metadata":null,"success_redirect_url":null,"unsuccess_redirect_url":null,"hosted_page_url":"https://hosted-business-sandbox.cryptopay.me/invoices/e177d55b-96cd-472f-be3c-e9b43f4345e2","created_at":"2021-10-14T11:34:30+00:00","expires_at":"2021-10-14T11:44:30+00:00"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/invoices/custom_id/PAYMENT-123' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 259 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.505875 + namelookup_time: 0.005011 + connect_time: 0.092181 + pretransfer_time: 0.224174 + size_upload: 0.0 + size_download: 865.0 + speed_download: 1712.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.505842 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60968 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 224074 + connect_time_us: 92181 + namelookup_time_us: 5011 + pretransfer_time_us: 224174 + redirect_time_us: 0 + starttransfer_time_us: 505842 + total_time_us: 505875 + index: 0 diff --git a/tests/cassettes/rates/all.yml b/tests/cassettes/rates/all.yml new file mode 100644 index 0000000..908166f --- /dev/null +++ b/tests/cassettes/rates/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/rates' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:49:57 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:L/gpYPAtYvZAWIPhDZl/TeMtntE=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:49:57 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fcbce98cd0a63-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"ADAAUD":{"buy_rate":"0.496814","sell_rate":"0.466741"},"ADA/AUD":{"buy_rate":"0.496814","sell_rate":"0.466741"},"ADABUSD":{"buy_rate":"0.319044","sell_rate":"0.294248"},"ADA/BUSD":{"buy_rate":"0.319044","sell_rate":"0.294248"},"USDCNZD":{"buy_rate":"1.7305","sell_rate":"1.6571"},"USDC/NZD":{"buy_rate":"1.7305","sell_rate":"1.6571"},"ADACLP":{"buy_rate":"269.249092","sell_rate":"252.951301"},"ADA/CLP":{"buy_rate":"269.249092","sell_rate":"252.951301"},"ADACNY":{"buy_rate":"2.386638","sell_rate":"2.242174"},"ADA/CNY":{"buy_rate":"2.386638","sell_rate":"2.242174"},"ADAGBP":{"buy_rate":"0.256995","sell_rate":"0.241439"},"ADA/GBP":{"buy_rate":"0.256995","sell_rate":"0.241439"},"USDCPLN":{"buy_rate":"4.321","sell_rate":"4.1379"},"USDC/PLN":{"buy_rate":"4.321","sell_rate":"4.1379"},"USDTTWD":{"buy_rate":"33.5145","sell_rate":"32.0932"},"USDT/TWD":{"buy_rate":"33.5145","sell_rate":"32.0932"},"XLMSGD":{"buy_rate":"0.144729","sell_rate":"0.138519"},"XLM/SGD":{"buy_rate":"0.144729","sell_rate":"0.138519"},"XRPCHF":{"buy_rate":"0.448578","sell_rate":"0.429487"},"XRP/CHF":{"buy_rate":"0.448578","sell_rate":"0.429487"},"ADAMXN":{"buy_rate":"5.659756","sell_rate":"5.317168"},"ADA/MXN":{"buy_rate":"5.659756","sell_rate":"5.317168"},"ADASHIB":{"buy_rate":"42548.13","sell_rate":"38290.37"},"ADA/SHIB":{"buy_rate":"42548.13","sell_rate":"38290.37"},"BCHAUD":{"buy_rate":"440.0022","sell_rate":"421.3799"},"BCH/AUD":{"buy_rate":"440.0022","sell_rate":"421.3799"},"BCHBUSD":{"buy_rate":"282.5473","sell_rate":"265.6542"},"BCH/BUSD":{"buy_rate":"282.5473","sell_rate":"265.6542"},"BCHCHF":{"buy_rate":"258.5994","sell_rate":"247.6547"},"BCH/CHF":{"buy_rate":"258.5994","sell_rate":"247.6547"},"BCHTRY":{"buy_rate":"7659.9353","sell_rate":"7335.7416"},"BCH/TRY":{"buy_rate":"7659.9353","sell_rate":"7335.7416"},"BCHUAH":{"buy_rate":"10788.0369","sell_rate":"10331.4516"},"BCH/UAH":{"buy_rate":"10788.0369","sell_rate":"10331.4516"},"BNBJPY":{"buy_rate":"45145.7739","sell_rate":"43235.0557"},"BNB/JPY":{"buy_rate":"45145.7739","sell_rate":"43235.0557"},"BNBKRW":{"buy_rate":"415538.4849","sell_rate":"397951.5251"},"BNB/KRW":{"buy_rate":"415538.4849","sell_rate":"397951.5251"},"BNBMXN":{"buy_rate":"5488.2708","sell_rate":"5255.9891"},"BNB/MXN":{"buy_rate":"5488.2708","sell_rate":"5255.9891"},"BTCUAH":{"buy_rate":"1202138.7972","sell_rate":"1150991.8747"},"BTC/UAH":{"buy_rate":"1202138.7972","sell_rate":"1150991.8747"},"BUSDAUD":{"buy_rate":"1.6061","sell_rate":"1.5378"},"BUSD/AUD":{"buy_rate":"1.6061","sell_rate":"1.5378"},"EURCHF":{"buy_rate":"0.9825","sell_rate":"0.9582"},"EUR/CHF":{"buy_rate":"0.9825","sell_rate":"0.9582"},"EURIDR":{"buy_rate":"16905.4003","sell_rate":"16487.983"},"EUR/IDR":{"buy_rate":"16905.4003","sell_rate":"16487.983"},"SOLINR":{"buy_rate":"1949.212229","sell_rate":"1866.713813"},"SOL/INR":{"buy_rate":"1949.212229","sell_rate":"1866.713813"},"TRXCNY":{"buy_rate":"0.595556","sell_rate":"0.569541"},"TRX/CNY":{"buy_rate":"0.595556","sell_rate":"0.569541"},"TRXDKK":{"buy_rate":"0.559573","sell_rate":"0.53513"},"TRX/DKK":{"buy_rate":"0.559573","sell_rate":"0.53513"},"TRXSHIB":{"buy_rate":"10617.36","sell_rate":"9726.26"},"TRX/SHIB":{"buy_rate":"10617.36","sell_rate":"9726.26"},"USDCMYR":{"buy_rate":"4.9883","sell_rate":"4.7769"},"USDC/MYR":{"buy_rate":"4.9883","sell_rate":"4.7769"},"ADABCH":{"buy_rate":"0.00116428","sell_rate":"0.00107404"},"ADA/BCH":{"buy_rate":"0.00116428","sell_rate":"0.00107404"},"SOLJPY":{"buy_rate":"3324.441197","sell_rate":"3183.737619"},"SOL/JPY":{"buy_rate":"3324.441197","sell_rate":"3183.737619"},"SOLKZT":{"buy_rate":"10435.21624","sell_rate":"9993.556369"},"SOL/KZT":{"buy_rate":"10435.21624","sell_rate":"9993.556369"},"USDRUB":{"buy_rate":"91.9427","sell_rate":"89.6725"},"USD/RUB":{"buy_rate":"91.9427","sell_rate":"89.6725"},"ADABNB":{"buy_rate":"0.001064","sell_rate":"0.000981"},"ADA/BNB":{"buy_rate":"0.001064","sell_rate":"0.000981"},"ADABTC":{"buy_rate":"0.00001026","sell_rate":"0.00000982"},"ADA/BTC":{"buy_rate":"0.00001026","sell_rate":"0.00000982"},"ADACAD":{"buy_rate":"0.439752","sell_rate":"0.413133"},"ADA/CAD":{"buy_rate":"0.439752","sell_rate":"0.413133"},"ADACHF":{"buy_rate":"0.291989","sell_rate":"0.274315"},"ADA/CHF":{"buy_rate":"0.291989","sell_rate":"0.274315"},"USDCCLP":{"buy_rate":"870.152","sell_rate":"833.2692"},"USDC/CLP":{"buy_rate":"870.152","sell_rate":"833.2692"},"XRPBUSD":{"buy_rate":"0.490123","sell_rate":"0.4607"},"XRP/BUSD":{"buy_rate":"0.490123","sell_rate":"0.4607"},"ADACZK":{"buy_rate":"7.176708","sell_rate":"6.742298"},"ADA/CZK":{"buy_rate":"7.176708","sell_rate":"6.742298"},"ADADKK":{"buy_rate":"2.242438","sell_rate":"2.106702"},"ADA/DKK":{"buy_rate":"2.242438","sell_rate":"2.106702"},"ADAEUR":{"buy_rate":"0.300935","sell_rate":"0.282719"},"ADA/EUR":{"buy_rate":"0.300935","sell_rate":"0.282719"},"ADAHUF":{"buy_rate":"114.223798","sell_rate":"107.30977"},"ADA/HUF":{"buy_rate":"114.223798","sell_rate":"107.30977"},"ADAKRW":{"buy_rate":"428.522296","sell_rate":"402.583612"},"ADA/KRW":{"buy_rate":"428.522296","sell_rate":"402.583612"},"BCHGBP":{"buy_rate":"227.6074","sell_rate":"217.9743"},"BCH/GBP":{"buy_rate":"227.6074","sell_rate":"217.9743"},"BCHSHIB":{"buy_rate":"37682642.38","sell_rate":"34568985.02"},"BCH/SHIB":{"buy_rate":"37682642.38","sell_rate":"34568985.02"},"DOGEUAH":{"buy_rate":"2.571259","sell_rate":"2.458987"},"DOGE/UAH":{"buy_rate":"2.571259","sell_rate":"2.458987"},"DOGEXRP":{"buy_rate":"0.14171","sell_rate":"0.133047"},"DOGE/XRP":{"buy_rate":"0.14171","sell_rate":"0.133047"},"ETHUSDC":{"buy_rate":"1942.2788","sell_rate":"1825.3624"},"ETH/USDC":{"buy_rate":"1942.2788","sell_rate":"1825.3624"},"EURBRL":{"buy_rate":"5.4605","sell_rate":"5.3257"},"EUR/BRL":{"buy_rate":"5.4605","sell_rate":"5.3257"},"EURCZK":{"buy_rate":"24.1462","sell_rate":"23.55"},"EUR/CZK":{"buy_rate":"24.1462","sell_rate":"23.55"},"EURNZD":{"buy_rate":"1.8015","sell_rate":"1.7571"},"EUR/NZD":{"buy_rate":"1.8015","sell_rate":"1.7571"},"EURPLN":{"buy_rate":"4.4985","sell_rate":"4.3874"},"EUR/PLN":{"buy_rate":"4.4985","sell_rate":"4.3874"},"EURSEK":{"buy_rate":"11.945","sell_rate":"11.6501"},"EUR/SEK":{"buy_rate":"11.945","sell_rate":"11.6501"},"EURTWD":{"buy_rate":"34.885","sell_rate":"34.0236"},"EUR/TWD":{"buy_rate":"34.885","sell_rate":"34.0236"},"LTCCOP":{"buy_rate":"433435.073","sell_rate":"415090.6704"},"LTC/COP":{"buy_rate":"433435.073","sell_rate":"415090.6704"},"LTCINR":{"buy_rate":"8636.4298","sell_rate":"8270.9076"},"LTC/INR":{"buy_rate":"8636.4298","sell_rate":"8270.9076"},"LTCJPY":{"buy_rate":"14729.6956","sell_rate":"14106.2863"},"LTC/JPY":{"buy_rate":"14729.6956","sell_rate":"14106.2863"},"ADACOP":{"buy_rate":"1369.965253","sell_rate":"1287.040524"},"ADA/COP":{"buy_rate":"1369.965253","sell_rate":"1287.040524"},"ADAETH":{"buy_rate":"0.00016945","sell_rate":"0.00015632"},"ADA/ETH":{"buy_rate":"0.00016945","sell_rate":"0.00015632"},"ADAMYR":{"buy_rate":"1.543506","sell_rate":"1.450077"},"ADA/MYR":{"buy_rate":"1.543506","sell_rate":"1.450077"},"ADATRY":{"buy_rate":"8.648967","sell_rate":"8.12544"},"ADA/TRY":{"buy_rate":"8.648967","sell_rate":"8.12544"},"ADAUAH":{"buy_rate":"12.180961","sell_rate":"11.44364"},"ADA/UAH":{"buy_rate":"12.180961","sell_rate":"11.44364"},"ADAUSDC":{"buy_rate":"0.3191","sell_rate":"0.294322"},"ADA/USDC":{"buy_rate":"0.3191","sell_rate":"0.294322"},"ADAVND":{"buy_rate":"7845.052546","sell_rate":"7370.187329"},"ADA/VND":{"buy_rate":"7845.052546","sell_rate":"7370.187329"},"ADAZAR":{"buy_rate":"6.188625","sell_rate":"5.814025"},"ADA/ZAR":{"buy_rate":"6.188625","sell_rate":"5.814025"},"BCHCAD":{"buy_rate":"389.4648","sell_rate":"372.9814"},"BCH/CAD":{"buy_rate":"389.4648","sell_rate":"372.9814"},"BCHCLP":{"buy_rate":"238459.781","sell_rate":"228367.3762"},"BCH/CLP":{"buy_rate":"238459.781","sell_rate":"228367.3762"},"BCHCOP":{"buy_rate":"1213306.2752","sell_rate":"1161955.1499"},"BCH/COP":{"buy_rate":"1213306.2752","sell_rate":"1161955.1499"},"BCHEUR":{"buy_rate":"266.5223","sell_rate":"255.2422"},"BCH/EUR":{"buy_rate":"266.5223","sell_rate":"255.2422"},"BCHUSDC":{"buy_rate":"282.5921","sell_rate":"265.7322"},"BCH/USDC":{"buy_rate":"282.5921","sell_rate":"265.7322"},"BNBAUD":{"buy_rate":"481.7612","sell_rate":"461.3715"},"BNB/AUD":{"buy_rate":"481.7612","sell_rate":"461.3715"},"BNBDAI":{"buy_rate":"309.4085","sell_rate":"290.8517"},"BNB/DAI":{"buy_rate":"309.4085","sell_rate":"290.8517"},"BNBHUF":{"buy_rate":"110762.927","sell_rate":"106075.0744"},"BNB/HUF":{"buy_rate":"110762.927","sell_rate":"106075.0744"},"DOGEAUD":{"buy_rate":"0.104872","sell_rate":"0.100293"},"DOGE/AUD":{"buy_rate":"0.104872","sell_rate":"0.100293"},"DOGEBTC":{"buy_rate":"0.00000221","sell_rate":"0.00000208"},"DOGE/BTC":{"buy_rate":"0.00000221","sell_rate":"0.00000208"},"DOGEZAR":{"buy_rate":"1.306347","sell_rate":"1.249306"},"DOGE/ZAR":{"buy_rate":"1.306347","sell_rate":"1.249306"},"ETHSHIB":{"buy_rate":"258922470.36","sell_rate":"237528114.68"},"ETH/SHIB":{"buy_rate":"258922470.36","sell_rate":"237528114.68"},"LTCKRW":{"buy_rate":"135577.5939","sell_rate":"129839.5027"},"LTC/KRW":{"buy_rate":"135577.5939","sell_rate":"129839.5027"},"LTCPEN":{"buy_rate":"380.2569","sell_rate":"364.1632"},"LTC/PEN":{"buy_rate":"380.2569","sell_rate":"364.1632"},"SHIBTHB":{"buy_rate":"0.00028654","sell_rate":"0.0002677"},"SHIB/THB":{"buy_rate":"0.00028654","sell_rate":"0.0002677"},"SHIBTWD":{"buy_rate":"0.00025758","sell_rate":"0.00024065"},"SHIB/TWD":{"buy_rate":"0.00025758","sell_rate":"0.00024065"},"USDCKZT":{"buy_rate":"472.2837","sell_rate":"452.2652"},"USDC/KZT":{"buy_rate":"472.2837","sell_rate":"452.2652"},"XRPCNY":{"buy_rate":"3.66656","sell_rate":"3.510507"},"XRP/CNY":{"buy_rate":"3.66656","sell_rate":"3.510507"},"ADADAI":{"buy_rate":"0.319043","sell_rate":"0.294265"},"ADA/DAI":{"buy_rate":"0.319043","sell_rate":"0.294265"},"ADAINR":{"buy_rate":"27.297303","sell_rate":"25.644982"},"ADA/INR":{"buy_rate":"27.297303","sell_rate":"25.644982"},"SHIBGBP":{"buy_rate":"0.00000639","sell_rate":"0.00000597"},"SHIB/GBP":{"buy_rate":"0.00000639","sell_rate":"0.00000597"},"ADAJPY":{"buy_rate":"46.556388","sell_rate":"43.738304"},"ADA/JPY":{"buy_rate":"46.556388","sell_rate":"43.738304"},"ADANZD":{"buy_rate":"0.535437","sell_rate":"0.503027"},"ADA/NZD":{"buy_rate":"0.535437","sell_rate":"0.503027"},"ADAPLN":{"buy_rate":"1.337029","sell_rate":"1.256099"},"ADA/PLN":{"buy_rate":"1.337029","sell_rate":"1.256099"},"ADATHB":{"buy_rate":"11.534231","sell_rate":"10.836058"},"ADA/THB":{"buy_rate":"11.534231","sell_rate":"10.836058"},"ADAUSD":{"buy_rate":"0.331225","sell_rate":"0.311176"},"ADA/USD":{"buy_rate":"0.331225","sell_rate":"0.311176"},"ADAUSDT":{"buy_rate":"0.31904","sell_rate":"0.294269"},"ADA/USDT":{"buy_rate":"0.31904","sell_rate":"0.294269"},"ADAXLM":{"buy_rate":"3.172242","sell_rate":"2.919756"},"ADA/XLM":{"buy_rate":"3.172242","sell_rate":"2.919756"},"BCHCZK":{"buy_rate":"6356.0331","sell_rate":"6087.0248"},"BCH/CZK":{"buy_rate":"6356.0331","sell_rate":"6087.0248"},"BNBBTC":{"buy_rate":"0.010135","sell_rate":"0.009528"},"BNB/BTC":{"buy_rate":"0.010135","sell_rate":"0.009528"},"BNBETH":{"buy_rate":"0.1644","sell_rate":"0.1546"},"BNB/ETH":{"buy_rate":"0.1644","sell_rate":"0.1546"},"BNBPEN":{"buy_rate":"1165.4681","sell_rate":"1116.1417"},"BNB/PEN":{"buy_rate":"1165.4681","sell_rate":"1116.1417"},"BNBSEK":{"buy_rate":"3442.703","sell_rate":"3296.9964"},"BNB/SEK":{"buy_rate":"3442.703","sell_rate":"3296.9964"},"BNBSGD":{"buy_rate":"431.133","sell_rate":"412.886"},"BNB/SGD":{"buy_rate":"431.133","sell_rate":"412.886"},"BNBUSDT":{"buy_rate":"309.3931","sell_rate":"290.8442"},"BNB/USDT":{"buy_rate":"309.3931","sell_rate":"290.8442"},"BTCPEN":{"buy_rate":"118613.9149","sell_rate":"113567.2957"},"BTC/PEN":{"buy_rate":"118613.9149","sell_rate":"113567.2957"},"BTCSHIB":{"buy_rate":"4199074125.6","sell_rate":"3851213042.6"},"BTC/SHIB":{"buy_rate":"4199074125.6","sell_rate":"3851213042.6"},"BTCTRY":{"buy_rate":"853566.3642","sell_rate":"817250.0147"},"BTC/TRY":{"buy_rate":"853566.3642","sell_rate":"817250.0147"},"DAISGD":{"buy_rate":"1.4372","sell_rate":"1.3762"},"DAI/SGD":{"buy_rate":"1.4372","sell_rate":"1.3762"},"ETHDAI":{"buy_rate":"1941.9311","sell_rate":"1825.0348"},"ETH/DAI":{"buy_rate":"1941.9311","sell_rate":"1825.0348"},"EURHKD":{"buy_rate":"8.7241","sell_rate":"8.5087"},"EUR/HKD":{"buy_rate":"8.7241","sell_rate":"8.5087"},"LTCKZT":{"buy_rate":"46235.6076","sell_rate":"44278.7641"},"LTC/KZT":{"buy_rate":"46235.6076","sell_rate":"44278.7641"},"LTCMYR":{"buy_rate":"488.3407","sell_rate":"467.6725"},"LTC/MYR":{"buy_rate":"488.3407","sell_rate":"467.6725"},"LTCNOK":{"buy_rate":"1097.2363","sell_rate":"1050.7977"},"LTC/NOK":{"buy_rate":"1097.2363","sell_rate":"1050.7977"},"SHIBCOP":{"buy_rate":"0.03403276","sell_rate":"0.03179553"},"SHIB/COP":{"buy_rate":"0.03403276","sell_rate":"0.03179553"},"ADABRL":{"buy_rate":"1.622967","sell_rate":"1.524728"},"ADA/BRL":{"buy_rate":"1.622967","sell_rate":"1.524728"},"ADAHKD":{"buy_rate":"2.592953","sell_rate":"2.436"},"ADA/HKD":{"buy_rate":"2.592953","sell_rate":"2.436"},"ADALTC":{"buy_rate":"0.00325914","sell_rate":"0.00300652"},"ADA/LTC":{"buy_rate":"0.00325914","sell_rate":"0.00300652"},"ADAPEN":{"buy_rate":"1.201884","sell_rate":"1.129134"},"ADA/PEN":{"buy_rate":"1.201884","sell_rate":"1.129134"},"ADASEK":{"buy_rate":"3.550273","sell_rate":"3.335373"},"ADA/SEK":{"buy_rate":"3.550273","sell_rate":"3.335373"},"ADASGD":{"buy_rate":"0.444604","sell_rate":"0.417692"},"ADA/SGD":{"buy_rate":"0.444604","sell_rate":"0.417692"},"ADATWD":{"buy_rate":"10.368486","sell_rate":"9.740876"},"ADA/TWD":{"buy_rate":"10.368486","sell_rate":"9.740876"},"ADAXRP":{"buy_rate":"0.671408","sell_rate":"0.619103"},"ADA/XRP":{"buy_rate":"0.671408","sell_rate":"0.619103"},"BCHBNB":{"buy_rate":"0.9418","sell_rate":"0.8856"},"BCH/BNB":{"buy_rate":"0.9418","sell_rate":"0.8856"},"BCHBTC":{"buy_rate":"0.00925529","sell_rate":"0.00870261"},"BCH/BTC":{"buy_rate":"0.00925529","sell_rate":"0.00870261"},"BCHDAI":{"buy_rate":"282.5468","sell_rate":"265.6793"},"BCH/DAI":{"buy_rate":"282.5468","sell_rate":"265.6793"},"BCHDKK":{"buy_rate":"1986.0099","sell_rate":"1901.9554"},"BCH/DKK":{"buy_rate":"1986.0099","sell_rate":"1901.9554"},"BCHETH":{"buy_rate":"0.15006769","sell_rate":"0.14111869"},"BCH/ETH":{"buy_rate":"0.15006769","sell_rate":"0.14111869"},"BNBBRL":{"buy_rate":"1573.7927","sell_rate":"1507.1846"},"BNB/BRL":{"buy_rate":"1573.7927","sell_rate":"1507.1846"},"BNBBUSD":{"buy_rate":"309.4014","sell_rate":"290.8283"},"BNB/BUSD":{"buy_rate":"309.4014","sell_rate":"290.8283"},"BNBGBP":{"buy_rate":"249.2088","sell_rate":"238.6615"},"BNB/GBP":{"buy_rate":"249.2088","sell_rate":"238.6615"},"BNBINR":{"buy_rate":"26470.2214","sell_rate":"25349.9143"},"BNB/INR":{"buy_rate":"26470.2214","sell_rate":"25349.9143"},"BNBNOK":{"buy_rate":"3362.9739","sell_rate":"3220.6418"},"BNB/NOK":{"buy_rate":"3362.9739","sell_rate":"3220.6418"},"DOGEUSDT":{"buy_rate":"0.067344","sell_rate":"0.063235"},"DOGE/USDT":{"buy_rate":"0.067344","sell_rate":"0.063235"},"ETHCLP":{"buy_rate":"1638489.0144","sell_rate":"1569142.7528"},"ETH/CLP":{"buy_rate":"1638489.0144","sell_rate":"1569142.7528"},"EURJPY":{"buy_rate":"156.6397","sell_rate":"152.772"},"EUR/JPY":{"buy_rate":"156.6397","sell_rate":"152.772"},"EURKZT":{"buy_rate":"491.6822","sell_rate":"479.5419"},"EUR/KZT":{"buy_rate":"491.6822","sell_rate":"479.5419"},"EURMYR":{"buy_rate":"5.1932","sell_rate":"5.065"},"EUR/MYR":{"buy_rate":"5.1932","sell_rate":"5.065"},"SHIBCLP":{"buy_rate":"0.00668871","sell_rate":"0.006249"},"SHIB/CLP":{"buy_rate":"0.00668871","sell_rate":"0.006249"},"SHIBUSD":{"buy_rate":"0.00000823","sell_rate":"0.00000769"},"SHIB/USD":{"buy_rate":"0.00000823","sell_rate":"0.00000769"},"SHIBUSDC":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SHIB/USDC":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SHIBVND":{"buy_rate":"0.19488702","sell_rate":"0.18207585"},"SHIB/VND":{"buy_rate":"0.19488702","sell_rate":"0.18207585"},"ADAIDR":{"buy_rate":"5024.618352","sell_rate":"4720.475522"},"ADA/IDR":{"buy_rate":"5024.618352","sell_rate":"4720.475522"},"ADAKZT":{"buy_rate":"146.137634","sell_rate":"137.291844"},"ADA/KZT":{"buy_rate":"146.137634","sell_rate":"137.291844"},"SHIBUSDT":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SHIB/USDT":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SOLAUD":{"buy_rate":"35.475892","sell_rate":"33.974412"},"SOL/AUD":{"buy_rate":"35.475892","sell_rate":"33.974412"},"ADANOK":{"buy_rate":"3.468053","sell_rate":"3.258129"},"ADA/NOK":{"buy_rate":"3.468053","sell_rate":"3.258129"},"ADARUB":{"buy_rate":"30.077674","sell_rate":"28.257056"},"ADA/RUB":{"buy_rate":"30.077674","sell_rate":"28.257056"},"BCHBRL":{"buy_rate":"1437.3766","sell_rate":"1376.5421"},"BCH/BRL":{"buy_rate":"1437.3766","sell_rate":"1376.5421"},"BCHHUF":{"buy_rate":"101162.0186","sell_rate":"96880.5082"},"BCH/HUF":{"buy_rate":"101162.0186","sell_rate":"96880.5082"},"BCHIDR":{"buy_rate":"4450040.5872","sell_rate":"4261700.1851"},"BCH/IDR":{"buy_rate":"4450040.5872","sell_rate":"4261700.1851"},"BCHKZT":{"buy_rate":"129426.427","sell_rate":"123948.6735"},"BCH/KZT":{"buy_rate":"129426.427","sell_rate":"123948.6735"},"BCHTWD":{"buy_rate":"9182.824","sell_rate":"8794.1766"},"BCH/TWD":{"buy_rate":"9182.824","sell_rate":"8794.1766"},"BNBKZT":{"buy_rate":"141709.8045","sell_rate":"135712.178"},"BNB/KZT":{"buy_rate":"141709.8045","sell_rate":"135712.178"},"BNBRUB":{"buy_rate":"29166.3492","sell_rate":"27931.9331"},"BNB/RUB":{"buy_rate":"29166.3492","sell_rate":"27931.9331"},"BNBSHIB":{"buy_rate":"41258960.86","sell_rate":"37849797.94"},"BNB/SHIB":{"buy_rate":"41258960.86","sell_rate":"37849797.94"},"BNBTRY":{"buy_rate":"8386.9111","sell_rate":"8031.9494"},"BNB/TRY":{"buy_rate":"8386.9111","sell_rate":"8031.9494"},"BNBUAH":{"buy_rate":"11811.8891","sell_rate":"11311.971"},"BNB/UAH":{"buy_rate":"11811.8891","sell_rate":"11311.971"},"BNBUSDC":{"buy_rate":"309.4672","sell_rate":"290.9043"},"BNB/USDC":{"buy_rate":"309.4672","sell_rate":"290.9043"},"BNBVND":{"buy_rate":"7607355.0426","sell_rate":"7285386.6748"},"BNB/VND":{"buy_rate":"7607355.0426","sell_rate":"7285386.6748"},"BNBZAR":{"buy_rate":"6001.1163","sell_rate":"5747.1292"},"BNB/ZAR":{"buy_rate":"6001.1163","sell_rate":"5747.1292"},"BTCBUSD":{"buy_rate":"31488.9929","sell_rate":"29591.651"},"BTC/BUSD":{"buy_rate":"31488.9929","sell_rate":"29591.651"},"BTCCOP":{"buy_rate":"135201850.6609","sell_rate":"129449471.1522"},"BTC/COP":{"buy_rate":"135201850.6609","sell_rate":"129449471.1522"},"ETHCNY":{"buy_rate":"14523.6533","sell_rate":"13908.9643"},"ETH/CNY":{"buy_rate":"14523.6533","sell_rate":"13908.9643"},"ETHHUF":{"buy_rate":"695097.7455","sell_rate":"665678.9153"},"ETH/HUF":{"buy_rate":"695097.7455","sell_rate":"665678.9153"},"ETHUAH":{"buy_rate":"74126.0425","sell_rate":"70988.7838"},"ETH/UAH":{"buy_rate":"74126.0425","sell_rate":"70988.7838"},"LTCPLN":{"buy_rate":"423.0147","sell_rate":"405.1114"},"LTC/PLN":{"buy_rate":"423.0147","sell_rate":"405.1114"},"SHIBPEN":{"buy_rate":"0.00002986","sell_rate":"0.0000279"},"SHIB/PEN":{"buy_rate":"0.00002986","sell_rate":"0.0000279"},"SHIBTRY":{"buy_rate":"0.00021486","sell_rate":"0.00020074"},"SHIB/TRY":{"buy_rate":"0.00021486","sell_rate":"0.00020074"},"DAIPEN":{"buy_rate":"3.885","sell_rate":"3.7202"},"DAI/PEN":{"buy_rate":"3.885","sell_rate":"3.7202"},"DAIRUB":{"buy_rate":"97.2235","sell_rate":"93.0995"},"DAI/RUB":{"buy_rate":"97.2235","sell_rate":"93.0995"},"SHIBUAH":{"buy_rate":"0.0003026","sell_rate":"0.00028271"},"SHIB/UAH":{"buy_rate":"0.0003026","sell_rate":"0.00028271"},"BCHINR":{"buy_rate":"24175.7879","sell_rate":"23152.5888"},"BCH/INR":{"buy_rate":"24175.7879","sell_rate":"23152.5888"},"BCHLTC":{"buy_rate":"2.88645323","sell_rate":"2.71431558"},"BCH/LTC":{"buy_rate":"2.88645323","sell_rate":"2.71431558"},"SOLCZK":{"buy_rate":"512.465505","sell_rate":"490.775926"},"SOL/CZK":{"buy_rate":"512.465505","sell_rate":"490.775926"},"SOLMXN":{"buy_rate":"404.144879","sell_rate":"387.039861"},"SOL/MXN":{"buy_rate":"404.144879","sell_rate":"387.039861"},"BCHMXN":{"buy_rate":"5012.5486","sell_rate":"4800.401"},"BCH/MXN":{"buy_rate":"5012.5486","sell_rate":"4800.401"},"BCHMYR":{"buy_rate":"1367.0025","sell_rate":"1309.1464"},"BCH/MYR":{"buy_rate":"1367.0025","sell_rate":"1309.1464"},"BCHNZD":{"buy_rate":"474.2085","sell_rate":"454.1384"},"BCH/NZD":{"buy_rate":"474.2085","sell_rate":"454.1384"},"BCHPEN":{"buy_rate":"1064.4456","sell_rate":"1019.3947"},"BCH/PEN":{"buy_rate":"1064.4456","sell_rate":"1019.3947"},"BCHPLN":{"buy_rate":"1184.1368","sell_rate":"1134.0202"},"BCH/PLN":{"buy_rate":"1184.1368","sell_rate":"1134.0202"},"BCHRUB":{"buy_rate":"26638.2159","sell_rate":"25510.7987"},"BCH/RUB":{"buy_rate":"26638.2159","sell_rate":"25510.7987"},"BCHSEK":{"buy_rate":"3144.2902","sell_rate":"3011.2134"},"BCH/SEK":{"buy_rate":"3144.2902","sell_rate":"3011.2134"},"BCHTHB":{"buy_rate":"10215.2629","sell_rate":"9782.9193"},"BCH/THB":{"buy_rate":"10215.2629","sell_rate":"9782.9193"},"BNBCAD":{"buy_rate":"426.4275","sell_rate":"408.3796"},"BNB/CAD":{"buy_rate":"426.4275","sell_rate":"408.3796"},"BNBCLP":{"buy_rate":"261091.1059","sell_rate":"250040.8687"},"BNB/CLP":{"buy_rate":"261091.1059","sell_rate":"250040.8687"},"BNBCOP":{"buy_rate":"1328456.6305","sell_rate":"1272231.9623"},"BNB/COP":{"buy_rate":"1328456.6305","sell_rate":"1272231.9623"},"BTCEUR":{"buy_rate":"29699.2676","sell_rate":"28435.6646"},"BTC/EUR":{"buy_rate":"29699.2676","sell_rate":"28435.6646"},"BTCMXN":{"buy_rate":"558561.2231","sell_rate":"534796.3403"},"BTC/MXN":{"buy_rate":"558561.2231","sell_rate":"534796.3403"},"BTCRUB":{"buy_rate":"2968365.168","sell_rate":"2842071.3127"},"BTC/RUB":{"buy_rate":"2968365.168","sell_rate":"2842071.3127"},"BTCSGD":{"buy_rate":"43877.9652","sell_rate":"42011.1068"},"BTC/SGD":{"buy_rate":"43877.9652","sell_rate":"42011.1068"},"BTCTHB":{"buy_rate":"1138313.1111","sell_rate":"1089881.7547"},"BTC/THB":{"buy_rate":"1138313.1111","sell_rate":"1089881.7547"},"BTCUSDT":{"buy_rate":"31488.1705","sell_rate":"29593.2444"},"BTC/USDT":{"buy_rate":"31488.1705","sell_rate":"29593.2444"},"BUSDBRL":{"buy_rate":"5.2466","sell_rate":"5.0236"},"BUSD/BRL":{"buy_rate":"5.2466","sell_rate":"5.0236"},"BUSDCHF":{"buy_rate":"0.944","sell_rate":"0.9038"},"BUSD/CHF":{"buy_rate":"0.944","sell_rate":"0.9038"},"BUSDKZT":{"buy_rate":"472.4145","sell_rate":"452.3403"},"BUSD/KZT":{"buy_rate":"472.4145","sell_rate":"452.3403"},"BUSDUSDT":{"buy_rate":"1.0314","sell_rate":"0.9696"},"BUSD/USDT":{"buy_rate":"1.0314","sell_rate":"0.9696"},"DAINOK":{"buy_rate":"11.2102","sell_rate":"10.7347"},"DAI/NOK":{"buy_rate":"11.2102","sell_rate":"10.7347"},"LTCEUR":{"buy_rate":"95.2111","sell_rate":"91.1814"},"LTC/EUR":{"buy_rate":"95.2111","sell_rate":"91.1814"},"BCHKRW":{"buy_rate":"379519.6921","sell_rate":"363457.1664"},"BCH/KRW":{"buy_rate":"379519.6921","sell_rate":"363457.1664"},"BCHXRP":{"buy_rate":"594.5785965","sell_rate":"558.99488242"},"BCH/XRP":{"buy_rate":"594.5785965","sell_rate":"558.99488242"},"BNBCHF":{"buy_rate":"283.1421","sell_rate":"271.1586"},"BNB/CHF":{"buy_rate":"283.1421","sell_rate":"271.1586"},"BNBCNY":{"buy_rate":"2314.3254","sell_rate":"2216.3755"},"BNB/CNY":{"buy_rate":"2314.3254","sell_rate":"2216.3755"},"BNBCZK":{"buy_rate":"6959.2604","sell_rate":"6664.7215"},"BNB/CZK":{"buy_rate":"6959.2604","sell_rate":"6664.7215"},"LTCHKD":{"buy_rate":"820.3689","sell_rate":"785.6482"},"LTC/HKD":{"buy_rate":"820.3689","sell_rate":"785.6482"},"LTCIDR":{"buy_rate":"1589708.8032","sell_rate":"1522427.0807"},"LTC/IDR":{"buy_rate":"1589708.8032","sell_rate":"1522427.0807"},"SHIBZAR":{"buy_rate":"0.00015374","sell_rate":"0.00014364"},"SHIB/ZAR":{"buy_rate":"0.00015374","sell_rate":"0.00014364"},"SOLBNB":{"buy_rate":"0.075932","sell_rate":"0.071403"},"SOL/BNB":{"buy_rate":"0.075932","sell_rate":"0.071403"},"BNBDKK":{"buy_rate":"2174.4946","sell_rate":"2082.4628"},"BNB/DKK":{"buy_rate":"2174.4946","sell_rate":"2082.4628"},"BNBEUR":{"buy_rate":"291.817","sell_rate":"279.4663"},"BNB/EUR":{"buy_rate":"291.817","sell_rate":"279.4663"},"BNBHKD":{"buy_rate":"2514.3893","sell_rate":"2407.972"},"BNB/HKD":{"buy_rate":"2514.3893","sell_rate":"2407.972"},"BNBIDR":{"buy_rate":"4872377.2759","sell_rate":"4666162.1919"},"BNB/IDR":{"buy_rate":"4872377.2759","sell_rate":"4666162.1919"},"BNBMYR":{"buy_rate":"1496.7396","sell_rate":"1433.3926"},"BNB/MYR":{"buy_rate":"1496.7396","sell_rate":"1433.3926"},"BNBNZD":{"buy_rate":"519.2139","sell_rate":"497.239"},"BNB/NZD":{"buy_rate":"519.2139","sell_rate":"497.239"},"BNBPLN":{"buy_rate":"1296.5187","sell_rate":"1241.6458"},"BNB/PLN":{"buy_rate":"1296.5187","sell_rate":"1241.6458"},"BNBTHB":{"buy_rate":"11184.7552","sell_rate":"10711.3795"},"BNB/THB":{"buy_rate":"11184.7552","sell_rate":"10711.3795"},"BNBTWD":{"buy_rate":"10054.3314","sell_rate":"9628.799"},"BNB/TWD":{"buy_rate":"10054.3314","sell_rate":"9628.799"},"BNBUSD":{"buy_rate":"321.1886","sell_rate":"307.5949"},"BNB/USD":{"buy_rate":"321.1886","sell_rate":"307.5949"},"BTCTWD":{"buy_rate":"1023265.7813","sell_rate":"979729.298"},"BTC/TWD":{"buy_rate":"1023265.7813","sell_rate":"979729.298"},"BTCUSD":{"buy_rate":"32688.5286","sell_rate":"31297.7427"},"BTC/USD":{"buy_rate":"32688.5286","sell_rate":"31297.7427"},"BTCUSDC":{"buy_rate":"31495.6809","sell_rate":"29599.3611"},"BTC/USDC":{"buy_rate":"31495.6809","sell_rate":"29599.3611"},"BUSDCOP":{"buy_rate":"4428.6426","sell_rate":"4240.4577"},"BUSD/COP":{"buy_rate":"4428.6426","sell_rate":"4240.4577"},"BUSDPLN":{"buy_rate":"4.3222","sell_rate":"4.1386"},"BUSD/PLN":{"buy_rate":"4.3222","sell_rate":"4.1386"},"DAIPLN":{"buy_rate":"4.3219","sell_rate":"4.1386"},"DAI/PLN":{"buy_rate":"4.3219","sell_rate":"4.1386"},"ETHHKD":{"buy_rate":"15779.163","sell_rate":"15111.3368"},"ETH/HKD":{"buy_rate":"15779.163","sell_rate":"15111.3368"},"EURCNY":{"buy_rate":"8.0299","sell_rate":"7.8317"},"EUR/CNY":{"buy_rate":"8.0299","sell_rate":"7.8317"},"LTCDAI":{"buy_rate":"100.9367","sell_rate":"94.9082"},"LTC/DAI":{"buy_rate":"100.9367","sell_rate":"94.9082"},"BCHCNY":{"buy_rate":"2113.7202","sell_rate":"2024.2605"},"BCH/CNY":{"buy_rate":"2113.7202","sell_rate":"2024.2605"},"BCHHKD":{"buy_rate":"2296.4425","sell_rate":"2199.2495"},"BCH/HKD":{"buy_rate":"2296.4425","sell_rate":"2199.2495"},"BCHJPY":{"buy_rate":"41232.5472","sell_rate":"39487.4498"},"BCH/JPY":{"buy_rate":"41232.5472","sell_rate":"39487.4498"},"SOLEUR":{"buy_rate":"21.488794","sell_rate":"20.579303"},"SOL/EUR":{"buy_rate":"21.488794","sell_rate":"20.579303"},"SOLGBP":{"buy_rate":"18.351215","sell_rate":"17.574518"},"SOL/GBP":{"buy_rate":"18.351215","sell_rate":"17.574518"},"SOLIDR":{"buy_rate":"358791.762314","sell_rate":"343606.267392"},"SOL/IDR":{"buy_rate":"358791.762314","sell_rate":"343606.267392"},"BCHNOK":{"buy_rate":"3071.472","sell_rate":"2941.4772"},"BCH/NOK":{"buy_rate":"3071.472","sell_rate":"2941.4772"},"BCHSGD":{"buy_rate":"393.7625","sell_rate":"377.0972"},"BCH/SGD":{"buy_rate":"393.7625","sell_rate":"377.0972"},"BCHUSD":{"buy_rate":"293.3481","sell_rate":"280.9326"},"BCH/USD":{"buy_rate":"293.3481","sell_rate":"280.9326"},"BCHUSDT":{"buy_rate":"282.5519","sell_rate":"265.6808"},"BCH/USDT":{"buy_rate":"282.5519","sell_rate":"265.6808"},"BTCCLP":{"buy_rate":"26572189.0253","sell_rate":"25441632.6394"},"BTC/CLP":{"buy_rate":"26572189.0253","sell_rate":"25441632.6394"},"BTCCNY":{"buy_rate":"235537.288","sell_rate":"225515.9765"},"BTC/CNY":{"buy_rate":"235537.288","sell_rate":"225515.9765"},"BTCDAI":{"buy_rate":"31489.7169","sell_rate":"29594.0045"},"BTC/DAI":{"buy_rate":"31489.7169","sell_rate":"29594.0045"},"BTCHKD":{"buy_rate":"255898.5119","sell_rate":"245010.8994"},"BTC/HKD":{"buy_rate":"255898.5119","sell_rate":"245010.8994"},"BTCHUF":{"buy_rate":"11272744.9024","sell_rate":"10793127.8966"},"BTC/HUF":{"buy_rate":"11272744.9024","sell_rate":"10793127.8966"},"BTCNOK":{"buy_rate":"342262.0515","sell_rate":"327699.9637"},"BTC/NOK":{"buy_rate":"342262.0515","sell_rate":"327699.9637"},"BUSDCAD":{"buy_rate":"1.4216","sell_rate":"1.3612"},"BUSD/CAD":{"buy_rate":"1.4216","sell_rate":"1.3612"},"BUSDCLP":{"buy_rate":"870.3929","sell_rate":"833.4076"},"BUSD/CLP":{"buy_rate":"870.3929","sell_rate":"833.4076"},"BUSDDAI":{"buy_rate":"1.0314","sell_rate":"0.9696"},"BUSD/DAI":{"buy_rate":"1.0314","sell_rate":"0.9696"},"BUSDDKK":{"buy_rate":"7.2491","sell_rate":"6.9411"},"BUSD/DKK":{"buy_rate":"7.2491","sell_rate":"6.9411"},"BUSDGBP":{"buy_rate":"0.8308","sell_rate":"0.7955"},"BUSD/GBP":{"buy_rate":"0.8308","sell_rate":"0.7955"},"DOGETWD":{"buy_rate":"2.188667","sell_rate":"2.093101"},"DOGE/TWD":{"buy_rate":"2.188667","sell_rate":"2.093101"},"DOGEUSD":{"buy_rate":"0.069918","sell_rate":"0.066865"},"DOGE/USD":{"buy_rate":"0.069918","sell_rate":"0.066865"},"SOLBTC":{"buy_rate":"0.00074624","sell_rate":"0.00070161"},"SOL/BTC":{"buy_rate":"0.00074624","sell_rate":"0.00070161"},"SOLCHF":{"buy_rate":"20.849997","sell_rate":"19.967542"},"SOL/CHF":{"buy_rate":"20.849997","sell_rate":"19.967542"},"SOLCNY":{"buy_rate":"170.422122","sell_rate":"163.20918"},"SOL/CNY":{"buy_rate":"170.422122","sell_rate":"163.20918"},"SOLDKK":{"buy_rate":"160.125273","sell_rate":"153.348134"},"SOL/DKK":{"buy_rate":"160.125273","sell_rate":"153.348134"},"SOLETH":{"buy_rate":"0.01209952","sell_rate":"0.01137794"},"SOL/ETH":{"buy_rate":"0.01209952","sell_rate":"0.01137794"},"SOLCAD":{"buy_rate":"31.40123","sell_rate":"30.072206"},"SOL/CAD":{"buy_rate":"31.40123","sell_rate":"30.072206"},"BCHVND":{"buy_rate":"6947951.0276","sell_rate":"6653890.813"},"BCH/VND":{"buy_rate":"6947951.0276","sell_rate":"6653890.813"},"BTCCZK":{"buy_rate":"708269.1722","sell_rate":"678134.7246"},"BTC/CZK":{"buy_rate":"708269.1722","sell_rate":"678134.7246"},"BTCGBP":{"buy_rate":"25362.8775","sell_rate":"24283.7733"},"BTC/GBP":{"buy_rate":"25362.8775","sell_rate":"24283.7733"},"BTCMYR":{"buy_rate":"152328.6125","sell_rate":"145847.5475"},"BTC/MYR":{"buy_rate":"152328.6125","sell_rate":"145847.5475"},"SOLCLP":{"buy_rate":"19226.207799","sell_rate":"18412.478188"},"SOL/CLP":{"buy_rate":"19226.207799","sell_rate":"18412.478188"},"SOLCOP":{"buy_rate":"97824.792419","sell_rate":"93684.457984"},"SOL/COP":{"buy_rate":"97824.792419","sell_rate":"93684.457984"},"SOLHUF":{"buy_rate":"8156.352333","sell_rate":"7811.14305"},"SOL/HUF":{"buy_rate":"8156.352333","sell_rate":"7811.14305"},"BTCPLN":{"buy_rate":"131951.4105","sell_rate":"126337.3261"},"BTC/PLN":{"buy_rate":"131951.4105","sell_rate":"126337.3261"},"BUSDCNY":{"buy_rate":"7.7153","sell_rate":"7.3874"},"BUSD/CNY":{"buy_rate":"7.7153","sell_rate":"7.3874"},"BUSDCZK":{"buy_rate":"23.2","sell_rate":"22.2141"},"BUSD/CZK":{"buy_rate":"23.2","sell_rate":"22.2141"},"BUSDEUR":{"buy_rate":"0.9729","sell_rate":"0.9315"},"BUSD/EUR":{"buy_rate":"0.9729","sell_rate":"0.9315"},"BUSDHUF":{"buy_rate":"369.2476","sell_rate":"353.5573"},"BUSD/HUF":{"buy_rate":"369.2476","sell_rate":"353.5573"},"BUSDINR":{"buy_rate":"88.2432","sell_rate":"84.4935"},"BUSD/INR":{"buy_rate":"88.2432","sell_rate":"84.4935"},"BUSDKRW":{"buy_rate":"1385.2703","sell_rate":"1326.4064"},"BUSD/KRW":{"buy_rate":"1385.2703","sell_rate":"1326.4064"},"BUSDMXN":{"buy_rate":"18.2962","sell_rate":"17.5187"},"BUSD/MXN":{"buy_rate":"18.2962","sell_rate":"17.5187"},"BUSDNOK":{"buy_rate":"11.2111","sell_rate":"10.7347"},"BUSD/NOK":{"buy_rate":"11.2111","sell_rate":"10.7347"},"BUSDPEN":{"buy_rate":"3.8853","sell_rate":"3.7202"},"BUSD/PEN":{"buy_rate":"3.8853","sell_rate":"3.7202"},"BUSDSGD":{"buy_rate":"1.4373","sell_rate":"1.3762"},"BUSD/SGD":{"buy_rate":"1.4373","sell_rate":"1.3762"},"BUSDTHB":{"buy_rate":"37.2864","sell_rate":"35.702"},"BUSD/THB":{"buy_rate":"37.2864","sell_rate":"35.702"},"BUSDTRY":{"buy_rate":"27.9593","sell_rate":"26.7712"},"BUSD/TRY":{"buy_rate":"27.9593","sell_rate":"26.7712"},"BUSDTWD":{"buy_rate":"33.5179","sell_rate":"32.0937"},"BUSD/TWD":{"buy_rate":"33.5179","sell_rate":"32.0937"},"DAIDKK":{"buy_rate":"7.2485","sell_rate":"6.9411"},"DAI/DKK":{"buy_rate":"7.2485","sell_rate":"6.9411"},"DAIGBP":{"buy_rate":"0.8308","sell_rate":"0.7955"},"DAI/GBP":{"buy_rate":"0.8308","sell_rate":"0.7955"},"DAIHUF":{"buy_rate":"369.2184","sell_rate":"353.557"},"DAI/HUF":{"buy_rate":"369.2184","sell_rate":"353.557"},"DAIINR":{"buy_rate":"88.2362","sell_rate":"84.4934"},"DAI/INR":{"buy_rate":"88.2362","sell_rate":"84.4934"},"DAIKRW":{"buy_rate":"1385.1605","sell_rate":"1326.4051"},"DAI/KRW":{"buy_rate":"1385.1605","sell_rate":"1326.4051"},"EURTHB":{"buy_rate":"38.8071","sell_rate":"37.8489"},"EUR/THB":{"buy_rate":"38.8071","sell_rate":"37.8489"},"LTCHUF":{"buy_rate":"36138.5809","sell_rate":"34609.0769"},"LTC/HUF":{"buy_rate":"36138.5809","sell_rate":"34609.0769"},"BCHZAR":{"buy_rate":"5480.9407","sell_rate":"5248.9692"},"BCH/ZAR":{"buy_rate":"5480.9407","sell_rate":"5248.9692"},"BTCDKK":{"buy_rate":"221306.2009","sell_rate":"211890.3737"},"BTC/DKK":{"buy_rate":"221306.2009","sell_rate":"211890.3737"},"BTCIDR":{"buy_rate":"495879511.3942","sell_rate":"474781522.5266"},"BTC/IDR":{"buy_rate":"495879511.3942","sell_rate":"474781522.5266"},"BTCINR":{"buy_rate":"2693970.4572","sell_rate":"2579351.1648"},"BTC/INR":{"buy_rate":"2693970.4572","sell_rate":"2579351.1648"},"BTCJPY":{"buy_rate":"4594649.181","sell_rate":"4399162.4649"},"BTC/JPY":{"buy_rate":"4594649.181","sell_rate":"4399162.4649"},"SOLDOGE":{"buy_rate":"350.365555","sell_rate":"327.042821"},"SOL/DOGE":{"buy_rate":"350.365555","sell_rate":"327.042821"},"SOLHKD":{"buy_rate":"185.154409","sell_rate":"177.317938"},"SOL/HKD":{"buy_rate":"185.154409","sell_rate":"177.317938"},"SOLLTC":{"buy_rate":"0.23272414","sell_rate":"0.2188458"},"SOL/LTC":{"buy_rate":"0.23272414","sell_rate":"0.2188458"},"SOLNZD":{"buy_rate":"38.233829","sell_rate":"36.615621"},"SOL/NZD":{"buy_rate":"38.233829","sell_rate":"36.615621"},"TRXPLN":{"buy_rate":"0.333639","sell_rate":"0.319066"},"TRX/PLN":{"buy_rate":"0.333639","sell_rate":"0.319066"},"BTCKRW":{"buy_rate":"42290859.0992","sell_rate":"40491526.6929"},"BTC/KRW":{"buy_rate":"42290859.0992","sell_rate":"40491526.6929"},"BTCKZT":{"buy_rate":"14422320.8937","sell_rate":"13808700.1277"},"BTC/KZT":{"buy_rate":"14422320.8937","sell_rate":"13808700.1277"},"BTCNZD":{"buy_rate":"52842.2733","sell_rate":"50594.0141"},"BTC/NZD":{"buy_rate":"52842.2733","sell_rate":"50594.0141"},"BTCSEK":{"buy_rate":"350376.3665","sell_rate":"335469.0423"},"BTC/SEK":{"buy_rate":"350376.3665","sell_rate":"335469.0423"},"BUSDHKD":{"buy_rate":"8.3822","sell_rate":"8.026"},"BUSD/HKD":{"buy_rate":"8.3822","sell_rate":"8.026"},"BUSDIDR":{"buy_rate":"16242.9221","sell_rate":"15552.7168"},"BUSD/IDR":{"buy_rate":"16242.9221","sell_rate":"15552.7168"},"BUSDJPY":{"buy_rate":"150.5014","sell_rate":"144.1062"},"BUSD/JPY":{"buy_rate":"150.5014","sell_rate":"144.1062"},"BUSDMYR":{"buy_rate":"4.9897","sell_rate":"4.7777"},"BUSD/MYR":{"buy_rate":"4.9897","sell_rate":"4.7777"},"BUSDSEK":{"buy_rate":"11.4769","sell_rate":"10.9892"},"BUSD/SEK":{"buy_rate":"11.4769","sell_rate":"10.9892"},"BUSDUAH":{"buy_rate":"39.377","sell_rate":"37.7038"},"BUSD/UAH":{"buy_rate":"39.377","sell_rate":"37.7038"},"BUSDVND":{"buy_rate":"25360.4489","sell_rate":"24282.8155"},"BUSD/VND":{"buy_rate":"25360.4489","sell_rate":"24282.8155"},"BUSDZAR":{"buy_rate":"20.0058","sell_rate":"19.1557"},"BUSD/ZAR":{"buy_rate":"20.0058","sell_rate":"19.1557"},"DAICZK":{"buy_rate":"23.1981","sell_rate":"22.2141"},"DAI/CZK":{"buy_rate":"23.1981","sell_rate":"22.2141"},"DAIEUR":{"buy_rate":"0.9728","sell_rate":"0.9315"},"DAI/EUR":{"buy_rate":"0.9728","sell_rate":"0.9315"},"DAIHKD":{"buy_rate":"8.3815","sell_rate":"8.026"},"DAI/HKD":{"buy_rate":"8.3815","sell_rate":"8.026"},"DAIIDR":{"buy_rate":"16241.6345","sell_rate":"15552.7008"},"DAI/IDR":{"buy_rate":"16241.6345","sell_rate":"15552.7008"},"DAIMXN":{"buy_rate":"18.2947","sell_rate":"17.5187"},"DAI/MXN":{"buy_rate":"18.2947","sell_rate":"17.5187"},"DAINZD":{"buy_rate":"1.7308","sell_rate":"1.6574"},"DAI/NZD":{"buy_rate":"1.7308","sell_rate":"1.6574"},"SOLDAI":{"buy_rate":"22.782835","sell_rate":"21.418767"},"SOL/DAI":{"buy_rate":"22.782835","sell_rate":"21.418767"},"DOGEIDR":{"buy_rate":"1060.638679","sell_rate":"1014.326397"},"DOGE/IDR":{"buy_rate":"1060.638679","sell_rate":"1014.326397"},"BTCVND":{"buy_rate":"774228120.683","sell_rate":"741287343.9503"},"BTC/VND":{"buy_rate":"774228120.683","sell_rate":"741287343.9503"},"DOGEJPY":{"buy_rate":"9.827514","sell_rate":"9.398399"},"DOGE/JPY":{"buy_rate":"9.827514","sell_rate":"9.398399"},"SOLKRW":{"buy_rate":"30599.392629","sell_rate":"29304.304586"},"SOL/KRW":{"buy_rate":"30599.392629","sell_rate":"29304.304586"},"SOLMYR":{"buy_rate":"110.216797","sell_rate":"105.551983"},"SOL/MYR":{"buy_rate":"110.216797","sell_rate":"105.551983"},"BTCZAR":{"buy_rate":"610755.3692","sell_rate":"584769.8028"},"BTC/ZAR":{"buy_rate":"610755.3692","sell_rate":"584769.8028"},"BUSDNZD":{"buy_rate":"1.7309","sell_rate":"1.6574"},"BUSD/NZD":{"buy_rate":"1.7309","sell_rate":"1.6574"},"BUSDRUB":{"buy_rate":"97.2312","sell_rate":"93.0996"},"BUSD/RUB":{"buy_rate":"97.2312","sell_rate":"93.0996"},"BUSDUSD":{"buy_rate":"1.0708","sell_rate":"1.0253"},"BUSD/USD":{"buy_rate":"1.0708","sell_rate":"1.0253"},"DAIAUD":{"buy_rate":"1.606","sell_rate":"1.5378"},"DAI/AUD":{"buy_rate":"1.606","sell_rate":"1.5378"},"DAIBRL":{"buy_rate":"5.2461","sell_rate":"5.0236"},"DAI/BRL":{"buy_rate":"5.2461","sell_rate":"5.0236"},"DAICAD":{"buy_rate":"1.4215","sell_rate":"1.3612"},"DAI/CAD":{"buy_rate":"1.4215","sell_rate":"1.3612"},"DAICHF":{"buy_rate":"0.9439","sell_rate":"0.9038"},"DAI/CHF":{"buy_rate":"0.9439","sell_rate":"0.9038"},"DAICLP":{"buy_rate":"870.3239","sell_rate":"833.4067"},"DAI/CLP":{"buy_rate":"870.3239","sell_rate":"833.4067"},"DAICNY":{"buy_rate":"7.7146","sell_rate":"7.3874"},"DAI/CNY":{"buy_rate":"7.7146","sell_rate":"7.3874"},"DAICOP":{"buy_rate":"4428.2916","sell_rate":"4240.4534"},"DAI/COP":{"buy_rate":"4428.2916","sell_rate":"4240.4534"},"DAIJPY":{"buy_rate":"150.4895","sell_rate":"144.106"},"DAI/JPY":{"buy_rate":"150.4895","sell_rate":"144.106"},"DAIKZT":{"buy_rate":"472.377","sell_rate":"452.3399"},"DAI/KZT":{"buy_rate":"472.377","sell_rate":"452.3399"},"DAIMYR":{"buy_rate":"4.9893","sell_rate":"4.7777"},"DAI/MYR":{"buy_rate":"4.9893","sell_rate":"4.7777"},"DOGEADA":{"buy_rate":"0.221813","sell_rate":"0.204472"},"DOGE/ADA":{"buy_rate":"0.221813","sell_rate":"0.204472"},"DOGEBCH":{"buy_rate":"0.00024577","sell_rate":"0.00023079"},"DOGE/BCH":{"buy_rate":"0.00024577","sell_rate":"0.00023079"},"DOGEBRL":{"buy_rate":"0.34259","sell_rate":"0.32763"},"DOGE/BRL":{"buy_rate":"0.34259","sell_rate":"0.32763"},"DOGECAD":{"buy_rate":"0.092827","sell_rate":"0.088774"},"DOGE/CAD":{"buy_rate":"0.092827","sell_rate":"0.088774"},"DOGECLP":{"buy_rate":"56.835362","sell_rate":"54.353673"},"DOGE/CLP":{"buy_rate":"56.835362","sell_rate":"54.353673"},"DOGECNY":{"buy_rate":"0.503792","sell_rate":"0.481794"},"DOGE/CNY":{"buy_rate":"0.503792","sell_rate":"0.481794"},"DOGECZK":{"buy_rate":"1.51492","sell_rate":"1.448772"},"DOGE/CZK":{"buy_rate":"1.51492","sell_rate":"1.448772"},"DOGEDKK":{"buy_rate":"0.473352","sell_rate":"0.452684"},"DOGE/DKK":{"buy_rate":"0.473352","sell_rate":"0.452684"},"DOGEEUR":{"buy_rate":"0.063524","sell_rate":"0.060751"},"DOGE/EUR":{"buy_rate":"0.063524","sell_rate":"0.060751"},"DOGEHKD":{"buy_rate":"0.547343","sell_rate":"0.523443"},"DOGE/HKD":{"buy_rate":"0.547343","sell_rate":"0.523443"},"DAISEK":{"buy_rate":"11.476","sell_rate":"10.9892"},"DAI/SEK":{"buy_rate":"11.476","sell_rate":"10.9892"},"DAITHB":{"buy_rate":"37.2834","sell_rate":"35.702"},"DAI/THB":{"buy_rate":"37.2834","sell_rate":"35.702"},"DOGETRX":{"buy_rate":"0.873419","sell_rate":"0.819211"},"DOGE/TRX":{"buy_rate":"0.873419","sell_rate":"0.819211"},"DOGETRY":{"buy_rate":"1.825697","sell_rate":"1.745979"},"DOGE/TRY":{"buy_rate":"1.825697","sell_rate":"1.745979"},"SOLNOK":{"buy_rate":"247.642424","sell_rate":"237.161212"},"SOL/NOK":{"buy_rate":"247.642424","sell_rate":"237.161212"},"SOLPEN":{"buy_rate":"85.822653","sell_rate":"82.190297"},"SOL/PEN":{"buy_rate":"85.822653","sell_rate":"82.190297"},"DAITRY":{"buy_rate":"27.9571","sell_rate":"26.7712"},"DAI/TRY":{"buy_rate":"27.9571","sell_rate":"26.7712"},"DAITWD":{"buy_rate":"33.5153","sell_rate":"32.0936"},"DAI/TWD":{"buy_rate":"33.5153","sell_rate":"32.0936"},"DAIUAH":{"buy_rate":"39.3739","sell_rate":"37.7038"},"DAI/UAH":{"buy_rate":"39.3739","sell_rate":"37.7038"},"DAIUSD":{"buy_rate":"1.0707","sell_rate":"1.0253"},"DAI/USD":{"buy_rate":"1.0707","sell_rate":"1.0253"},"DAIUSDC":{"buy_rate":"1.0315","sell_rate":"0.9698"},"DAI/USDC":{"buy_rate":"1.0315","sell_rate":"0.9698"},"DAIUSDT":{"buy_rate":"1.0313","sell_rate":"0.9696"},"DAI/USDT":{"buy_rate":"1.0313","sell_rate":"0.9696"},"DAIVND":{"buy_rate":"25358.4387","sell_rate":"24282.7906"},"DAI/VND":{"buy_rate":"25358.4387","sell_rate":"24282.7906"},"DAIZAR":{"buy_rate":"20.0042","sell_rate":"19.1557"},"DAI/ZAR":{"buy_rate":"20.0042","sell_rate":"19.1557"},"DOGEBNB":{"buy_rate":"0.00022447","sell_rate":"0.00021079"},"DOGE/BNB":{"buy_rate":"0.00022447","sell_rate":"0.00021079"},"DOGEBUSD":{"buy_rate":"0.067343","sell_rate":"0.063229"},"DOGE/BUSD":{"buy_rate":"0.067343","sell_rate":"0.063229"},"DOGECHF":{"buy_rate":"0.061636","sell_rate":"0.058945"},"DOGE/CHF":{"buy_rate":"0.061636","sell_rate":"0.058945"},"DOGECOP":{"buy_rate":"289.183782","sell_rate":"276.55671"},"DOGE/COP":{"buy_rate":"289.183782","sell_rate":"276.55671"},"DOGEDAI":{"buy_rate":"0.067342","sell_rate":"0.063236"},"DOGE/DAI":{"buy_rate":"0.067342","sell_rate":"0.063236"},"DOGEETH":{"buy_rate":"0.00003577","sell_rate":"0.00003359"},"DOGE/ETH":{"buy_rate":"0.00003577","sell_rate":"0.00003359"},"DOGEGBP":{"buy_rate":"0.054249","sell_rate":"0.05188"},"DOGE/GBP":{"buy_rate":"0.054249","sell_rate":"0.05188"},"DOGEHUF":{"buy_rate":"24.111319","sell_rate":"23.05851"},"DOGE/HUF":{"buy_rate":"24.111319","sell_rate":"23.05851"},"DOGEKZT":{"buy_rate":"30.847961","sell_rate":"29.500998"},"DOGE/KZT":{"buy_rate":"30.847961","sell_rate":"29.500998"},"DOGEMXN":{"buy_rate":"1.194709","sell_rate":"1.142543"},"DOGE/MXN":{"buy_rate":"1.194709","sell_rate":"1.142543"},"DOGENOK":{"buy_rate":"0.732065","sell_rate":"0.7001"},"DOGE/NOK":{"buy_rate":"0.732065","sell_rate":"0.7001"},"DOGEPEN":{"buy_rate":"0.253704","sell_rate":"0.242626"},"DOGE/PEN":{"buy_rate":"0.253704","sell_rate":"0.242626"},"DOGERUB":{"buy_rate":"6.349048","sell_rate":"6.07182"},"DOGE/RUB":{"buy_rate":"6.349048","sell_rate":"6.07182"},"DOGESGD":{"buy_rate":"0.093851","sell_rate":"0.089753"},"DOGE/SGD":{"buy_rate":"0.093851","sell_rate":"0.089753"},"DOGETHB":{"buy_rate":"2.434742","sell_rate":"2.328431"},"DOGE/THB":{"buy_rate":"2.434742","sell_rate":"2.328431"},"LTCCLP":{"buy_rate":"85186.1024","sell_rate":"81580.7454"},"LTC/CLP":{"buy_rate":"85186.1024","sell_rate":"81580.7454"},"SOLRUB":{"buy_rate":"2147.749494","sell_rate":"2056.84819"},"SOL/RUB":{"buy_rate":"2147.749494","sell_rate":"2056.84819"},"TRXBRL":{"buy_rate":"0.404991","sell_rate":"0.387301"},"TRX/BRL":{"buy_rate":"0.404991","sell_rate":"0.387301"},"DOGEINR":{"buy_rate":"5.762144","sell_rate":"5.510543"},"DOGE/INR":{"buy_rate":"5.762144","sell_rate":"5.510543"},"DOGEKRW":{"buy_rate":"90.456088","sell_rate":"86.506366"},"DOGE/KRW":{"buy_rate":"90.456088","sell_rate":"86.506366"},"TRXCHF":{"buy_rate":"0.072863","sell_rate":"0.06968"},"TRX/CHF":{"buy_rate":"0.072863","sell_rate":"0.06968"},"DOGELTC":{"buy_rate":"0.00068797","sell_rate":"0.00064604"},"DOGE/LTC":{"buy_rate":"0.00068797","sell_rate":"0.00064604"},"DOGEMYR":{"buy_rate":"0.325816","sell_rate":"0.311589"},"DOGE/MYR":{"buy_rate":"0.325816","sell_rate":"0.311589"},"DOGENZD":{"buy_rate":"0.113025","sell_rate":"0.10809"},"DOGE/NZD":{"buy_rate":"0.113025","sell_rate":"0.10809"},"DOGEPLN":{"buy_rate":"0.282232","sell_rate":"0.269908"},"DOGE/PLN":{"buy_rate":"0.282232","sell_rate":"0.269908"},"DOGESEK":{"buy_rate":"0.749422","sell_rate":"0.716698"},"DOGE/SEK":{"buy_rate":"0.749422","sell_rate":"0.716698"},"DOGESHIB":{"buy_rate":"8981.42","sell_rate":"8227.76"},"DOGE/SHIB":{"buy_rate":"8981.42","sell_rate":"8227.76"},"DOGEUSDC":{"buy_rate":"0.067353","sell_rate":"0.063248"},"DOGE/USDC":{"buy_rate":"0.067353","sell_rate":"0.063248"},"DOGEXLM":{"buy_rate":"0.669133","sell_rate":"0.627825"},"DOGE/XLM":{"buy_rate":"0.669133","sell_rate":"0.627825"},"ETHAUD":{"buy_rate":"3023.3139","sell_rate":"2895.3573"},"ETH/AUD":{"buy_rate":"3023.3139","sell_rate":"2895.3573"},"ETHBRL":{"buy_rate":"9876.4067","sell_rate":"9458.4046"},"ETH/BRL":{"buy_rate":"9876.4067","sell_rate":"9458.4046"},"ETHBTC":{"buy_rate":"0.063601","sell_rate":"0.05978562"},"ETH/BTC":{"buy_rate":"0.063601","sell_rate":"0.05978562"},"ETHBUSD":{"buy_rate":"1941.87","sell_rate":"1824.9487"},"ETH/BUSD":{"buy_rate":"1941.87","sell_rate":"1824.9487"},"ETHCAD":{"buy_rate":"2676.0645","sell_rate":"2562.8046"},"ETH/CAD":{"buy_rate":"2676.0645","sell_rate":"2562.8046"},"ETHCHF":{"buy_rate":"1776.871","sell_rate":"1701.668"},"ETH/CHF":{"buy_rate":"1776.871","sell_rate":"1701.668"},"ETHCOP":{"buy_rate":"8336789.5213","sell_rate":"7983949.0802"},"ETH/COP":{"buy_rate":"8336789.5213","sell_rate":"7983949.0802"},"ETHEUR":{"buy_rate":"1831.3104","sell_rate":"1753.8033"},"ETH/EUR":{"buy_rate":"1831.3104","sell_rate":"1753.8033"},"ETHIDR":{"buy_rate":"30576823.4251","sell_rate":"29282711.3646"},"ETH/IDR":{"buy_rate":"30576823.4251","sell_rate":"29282711.3646"},"ETHINR":{"buy_rate":"166115.0685","sell_rate":"159084.5307"},"ETH/INR":{"buy_rate":"166115.0685","sell_rate":"159084.5307"},"ETHKRW":{"buy_rate":"2607730.5101","sell_rate":"2497362.7503"},"ETH/KRW":{"buy_rate":"2607730.5101","sell_rate":"2497362.7503"},"ETHLTC":{"buy_rate":"19.83320742","sell_rate":"18.65042468"},"ETH/LTC":{"buy_rate":"19.83320742","sell_rate":"18.65042468"},"LTCBNB":{"buy_rate":"0.3365","sell_rate":"0.3164"},"LTC/BNB":{"buy_rate":"0.3365","sell_rate":"0.3164"},"LTCBTC":{"buy_rate":"0.00330633","sell_rate":"0.00310882"},"LTC/BTC":{"buy_rate":"0.00330633","sell_rate":"0.00310882"},"LTCCAD":{"buy_rate":"139.1304","sell_rate":"133.2419"},"LTC/CAD":{"buy_rate":"139.1304","sell_rate":"133.2419"},"USDCLP":{"buy_rate":"823.0515","sell_rate":"802.7293"},"USD/CLP":{"buy_rate":"823.0515","sell_rate":"802.7293"},"USDIDR":{"buy_rate":"15359.4557","sell_rate":"14980.2099"},"USD/IDR":{"buy_rate":"15359.4557","sell_rate":"14980.2099"},"USDMXN":{"buy_rate":"17.301","sell_rate":"16.8738"},"USD/MXN":{"buy_rate":"17.301","sell_rate":"16.8738"},"DOGEVND":{"buy_rate":"1655.999637","sell_rate":"1583.691202"},"DOGE/VND":{"buy_rate":"1655.999637","sell_rate":"1583.691202"},"ETHCZK":{"buy_rate":"43673.1523","sell_rate":"41824.7604"},"ETH/CZK":{"buy_rate":"43673.1523","sell_rate":"41824.7604"},"ETHDKK":{"buy_rate":"13646.1388","sell_rate":"13068.5892"},"ETH/DKK":{"buy_rate":"13646.1388","sell_rate":"13068.5892"},"ETHGBP":{"buy_rate":"1563.9207","sell_rate":"1497.7305"},"ETH/GBP":{"buy_rate":"1563.9207","sell_rate":"1497.7305"},"ETHJPY":{"buy_rate":"283314.3405","sell_rate":"271323.5428"},"ETH/JPY":{"buy_rate":"283314.3405","sell_rate":"271323.5428"},"ETHKZT":{"buy_rate":"889306.2715","sell_rate":"851667.8956"},"ETH/KZT":{"buy_rate":"889306.2715","sell_rate":"851667.8956"},"ETHMXN":{"buy_rate":"34441.8907","sell_rate":"32984.1962"},"ETH/MXN":{"buy_rate":"34441.8907","sell_rate":"32984.1962"},"ETHUSDT":{"buy_rate":"1941.8512","sell_rate":"1825.0009"},"ETH/USDT":{"buy_rate":"1941.8512","sell_rate":"1825.0009"},"ETHVND":{"buy_rate":"47740299.7964","sell_rate":"45719772.7822"},"ETH/VND":{"buy_rate":"47740299.7964","sell_rate":"45719772.7822"},"ETHXRP":{"buy_rate":"4087.69737064","sell_rate":"3838.58516635"},"ETH/XRP":{"buy_rate":"4087.69737064","sell_rate":"3838.58516635"},"ETHZAR":{"buy_rate":"37660.2757","sell_rate":"36066.3686"},"ETH/ZAR":{"buy_rate":"37660.2757","sell_rate":"36066.3686"},"EURPEN":{"buy_rate":"4.0438","sell_rate":"3.944"},"EUR/PEN":{"buy_rate":"4.0438","sell_rate":"3.944"},"EURRUB":{"buy_rate":"101.1968","sell_rate":"98.6981"},"EUR/RUB":{"buy_rate":"101.1968","sell_rate":"98.6981"},"EURSGD":{"buy_rate":"1.4959","sell_rate":"1.459"},"EUR/SGD":{"buy_rate":"1.4959","sell_rate":"1.459"},"LTCCNY":{"buy_rate":"755.0942","sell_rate":"723.1361"},"LTC/CNY":{"buy_rate":"755.0942","sell_rate":"723.1361"},"LTCCZK":{"buy_rate":"2270.5954","sell_rate":"2174.4964"},"LTC/CZK":{"buy_rate":"2270.5954","sell_rate":"2174.4964"},"LTCDKK":{"buy_rate":"709.4716","sell_rate":"679.4444"},"LTC/DKK":{"buy_rate":"709.4716","sell_rate":"679.4444"},"LTCGBP":{"buy_rate":"81.3093","sell_rate":"77.868"},"LTC/GBP":{"buy_rate":"81.3093","sell_rate":"77.868"},"LTCMXN":{"buy_rate":"1790.6562","sell_rate":"1714.8697"},"LTC/MXN":{"buy_rate":"1790.6562","sell_rate":"1714.8697"},"SHIBHUF":{"buy_rate":"0.00283756","sell_rate":"0.00265102"},"SHIB/HUF":{"buy_rate":"0.00283756","sell_rate":"0.00265102"},"SHIBINR":{"buy_rate":"0.00067813","sell_rate":"0.00063355"},"SHIB/INR":{"buy_rate":"0.00067813","sell_rate":"0.00063355"},"TRXBUSD":{"buy_rate":"0.07961","sell_rate":"0.074744"},"TRX/BUSD":{"buy_rate":"0.07961","sell_rate":"0.074744"},"TRXEUR":{"buy_rate":"0.075095","sell_rate":"0.071815"},"TRX/EUR":{"buy_rate":"0.075095","sell_rate":"0.071815"},"USDAUD":{"buy_rate":"1.5187","sell_rate":"1.4812"},"USD/AUD":{"buy_rate":"1.5187","sell_rate":"1.4812"},"USDCAD":{"buy_rate":"1.3443","sell_rate":"1.3111"},"USD/CAD":{"buy_rate":"1.3443","sell_rate":"1.3111"},"TRXCZK":{"buy_rate":"1.790858","sell_rate":"1.712632"},"TRX/CZK":{"buy_rate":"1.790858","sell_rate":"1.712632"},"TRXTRY":{"buy_rate":"2.158241","sell_rate":"2.063968"},"TRX/TRY":{"buy_rate":"2.158241","sell_rate":"2.063968"},"ETHMYR":{"buy_rate":"9392.8565","sell_rate":"8995.3199"},"ETH/MYR":{"buy_rate":"9392.8565","sell_rate":"8995.3199"},"ETHNZD":{"buy_rate":"3258.3498","sell_rate":"3120.4456"},"ETH/NZD":{"buy_rate":"3258.3498","sell_rate":"3120.4456"},"ETHPEN":{"buy_rate":"7313.9476","sell_rate":"7004.3972"},"ETH/PEN":{"buy_rate":"7313.9476","sell_rate":"7004.3972"},"ETHPLN":{"buy_rate":"8136.3616","sell_rate":"7792.0039"},"ETH/PLN":{"buy_rate":"8136.3616","sell_rate":"7792.0039"},"ETHRUB":{"buy_rate":"183034.7404","sell_rate":"175288.1062"},"ETH/RUB":{"buy_rate":"183034.7404","sell_rate":"175288.1062"},"ETHSEK":{"buy_rate":"21604.8376","sell_rate":"20690.4496"},"ETH/SEK":{"buy_rate":"21604.8376","sell_rate":"20690.4496"},"ETHTHB":{"buy_rate":"70190.4358","sell_rate":"67219.745"},"ETH/THB":{"buy_rate":"70190.4358","sell_rate":"67219.745"},"ETHTRY":{"buy_rate":"52632.4388","sell_rate":"50404.8603"},"ETH/TRY":{"buy_rate":"52632.4388","sell_rate":"50404.8603"},"ETHTWD":{"buy_rate":"63096.4103","sell_rate":"60425.9621"},"ETH/TWD":{"buy_rate":"63096.4103","sell_rate":"60425.9621"},"EURAUD":{"buy_rate":"1.6716","sell_rate":"1.6303"},"EUR/AUD":{"buy_rate":"1.6716","sell_rate":"1.6303"},"EURCAD":{"buy_rate":"1.4796","sell_rate":"1.4431"},"EUR/CAD":{"buy_rate":"1.4796","sell_rate":"1.4431"},"EURCLP":{"buy_rate":"905.8925","sell_rate":"883.5248"},"EUR/CLP":{"buy_rate":"905.8925","sell_rate":"883.5248"},"EURCOP":{"buy_rate":"4609.2677","sell_rate":"4495.4586"},"EUR/COP":{"buy_rate":"4609.2677","sell_rate":"4495.4586"},"EURDKK":{"buy_rate":"7.5448","sell_rate":"7.3585"},"EUR/DKK":{"buy_rate":"7.5448","sell_rate":"7.3585"},"EURHUF":{"buy_rate":"384.3076","sell_rate":"374.8186"},"EUR/HUF":{"buy_rate":"384.3076","sell_rate":"374.8186"},"EURINR":{"buy_rate":"91.8422","sell_rate":"89.5745"},"EUR/INR":{"buy_rate":"91.8422","sell_rate":"89.5745"},"EURKRW":{"buy_rate":"1441.7694","sell_rate":"1406.1702"},"EUR/KRW":{"buy_rate":"1441.7694","sell_rate":"1406.1702"},"EURMXN":{"buy_rate":"19.0424","sell_rate":"18.5722"},"EUR/MXN":{"buy_rate":"19.0424","sell_rate":"18.5722"},"EURNOK":{"buy_rate":"11.6684","sell_rate":"11.3803"},"EUR/NOK":{"buy_rate":"11.6684","sell_rate":"11.3803"},"EURTRY":{"buy_rate":"29.0996","sell_rate":"28.3811"},"EUR/TRY":{"buy_rate":"29.0996","sell_rate":"28.3811"},"LTCBRL":{"buy_rate":"513.4808","sell_rate":"491.7486"},"LTC/BRL":{"buy_rate":"513.4808","sell_rate":"491.7486"},"LTCBUSD":{"buy_rate":"100.9366","sell_rate":"94.9004"},"LTC/BUSD":{"buy_rate":"100.9366","sell_rate":"94.9004"},"LTCCHF":{"buy_rate":"92.3807","sell_rate":"88.4709"},"LTC/CHF":{"buy_rate":"92.3807","sell_rate":"88.4709"},"SHIBKRW":{"buy_rate":"0.01064539","sell_rate":"0.00994558"},"SHIB/KRW":{"buy_rate":"0.01064539","sell_rate":"0.00994558"},"SHIBMXN":{"buy_rate":"0.00014061","sell_rate":"0.00013136"},"SHIB/MXN":{"buy_rate":"0.00014061","sell_rate":"0.00013136"},"SHIBNOK":{"buy_rate":"0.00008616","sell_rate":"0.0000805"},"SHIB/NOK":{"buy_rate":"0.00008616","sell_rate":"0.0000805"},"EURUAH":{"buy_rate":"40.9831","sell_rate":"39.9711"},"EUR/UAH":{"buy_rate":"40.9831","sell_rate":"39.9711"},"EURUSD":{"buy_rate":"1.1145","sell_rate":"1.0869"},"EUR/USD":{"buy_rate":"1.1145","sell_rate":"1.0869"},"EURVND":{"buy_rate":"26394.7915","sell_rate":"25743.0682"},"EUR/VND":{"buy_rate":"26394.7915","sell_rate":"25743.0682"},"EURZAR":{"buy_rate":"20.8218","sell_rate":"20.3077"},"EUR/ZAR":{"buy_rate":"20.8218","sell_rate":"20.3077"},"GBPEUR":{"buy_rate":"1.1857","sell_rate":"1.1564"},"GBP/EUR":{"buy_rate":"1.1857","sell_rate":"1.1564"},"GBPUSD":{"buy_rate":"1.305","sell_rate":"1.2728"},"GBP/USD":{"buy_rate":"1.305","sell_rate":"1.2728"},"LTCAUD":{"buy_rate":"157.1841","sell_rate":"150.5315"},"LTC/AUD":{"buy_rate":"157.1841","sell_rate":"150.5315"},"LTCNZD":{"buy_rate":"169.4038","sell_rate":"162.234"},"LTC/NZD":{"buy_rate":"169.4038","sell_rate":"162.234"},"LTCSEK":{"buy_rate":"1123.2495","sell_rate":"1075.7099"},"LTC/SEK":{"buy_rate":"1123.2495","sell_rate":"1075.7099"},"LTCSHIB":{"buy_rate":"13461546.51","sell_rate":"12349240.13"},"LTC/SHIB":{"buy_rate":"13461546.51","sell_rate":"12349240.13"},"LTCTRY":{"buy_rate":"2736.3945","sell_rate":"2620.5813"},"LTC/TRY":{"buy_rate":"2736.3945","sell_rate":"2620.5813"},"LTCUAH":{"buy_rate":"3853.8609","sell_rate":"3690.7528"},"LTC/UAH":{"buy_rate":"3853.8609","sell_rate":"3690.7528"},"LTCUSDC":{"buy_rate":"100.9533","sell_rate":"94.927"},"LTC/USDC":{"buy_rate":"100.9533","sell_rate":"94.927"},"LTCVND":{"buy_rate":"2482049.0278","sell_rate":"2377000.5222"},"LTC/VND":{"buy_rate":"2482049.0278","sell_rate":"2377000.5222"},"SHIBAUD":{"buy_rate":"0.00001235","sell_rate":"0.00001154"},"SHIB/AUD":{"buy_rate":"0.00001235","sell_rate":"0.00001154"},"SHIBBUSD":{"buy_rate":"0.00000793","sell_rate":"0.00000727"},"SHIB/BUSD":{"buy_rate":"0.00000793","sell_rate":"0.00000727"},"SHIBCHF":{"buy_rate":"0.00000726","sell_rate":"0.00000678"},"SHIB/CHF":{"buy_rate":"0.00000726","sell_rate":"0.00000678"},"SHIBCNY":{"buy_rate":"0.00005929","sell_rate":"0.0000554"},"SHIB/CNY":{"buy_rate":"0.00005929","sell_rate":"0.0000554"},"SHIBCZK":{"buy_rate":"0.00017829","sell_rate":"0.00016657"},"SHIB/CZK":{"buy_rate":"0.00017829","sell_rate":"0.00016657"},"SHIBDKK":{"buy_rate":"0.00005571","sell_rate":"0.00005205"},"SHIB/DKK":{"buy_rate":"0.00005571","sell_rate":"0.00005205"},"SHIBRUB":{"buy_rate":"0.0007472","sell_rate":"0.00069808"},"SHIB/RUB":{"buy_rate":"0.0007472","sell_rate":"0.00069808"},"SHIBSGD":{"buy_rate":"0.00001105","sell_rate":"0.00001032"},"SHIB/SGD":{"buy_rate":"0.00001105","sell_rate":"0.00001032"},"TRXSEK":{"buy_rate":"0.885926","sell_rate":"0.847228"},"TRX/SEK":{"buy_rate":"0.885926","sell_rate":"0.847228"},"XRPCOP":{"buy_rate":"2104.658843","sell_rate":"2015.082102"},"XRP/COP":{"buy_rate":"2104.658843","sell_rate":"2015.082102"},"XRPCZK":{"buy_rate":"11.025477","sell_rate":"10.55622"},"XRP/CZK":{"buy_rate":"11.025477","sell_rate":"10.55622"},"XRPDKK":{"buy_rate":"3.445027","sell_rate":"3.298403"},"XRP/DKK":{"buy_rate":"3.445027","sell_rate":"3.298403"},"XRPGBP":{"buy_rate":"0.394819","sell_rate":"0.378015"},"XRP/GBP":{"buy_rate":"0.394819","sell_rate":"0.378015"},"LTCRUB":{"buy_rate":"9516.0944","sell_rate":"9113.3419"},"LTC/RUB":{"buy_rate":"9516.0944","sell_rate":"9113.3419"},"LTCSGD":{"buy_rate":"140.6656","sell_rate":"134.7122"},"LTC/SGD":{"buy_rate":"140.6656","sell_rate":"134.7122"},"LTCTHB":{"buy_rate":"3649.2461","sell_rate":"3494.798"},"LTC/THB":{"buy_rate":"3649.2461","sell_rate":"3494.798"},"LTCTWD":{"buy_rate":"3280.4232","sell_rate":"3141.5849"},"LTC/TWD":{"buy_rate":"3280.4232","sell_rate":"3141.5849"},"LTCUSD":{"buy_rate":"104.7941","sell_rate":"100.3589"},"LTC/USD":{"buy_rate":"104.7941","sell_rate":"100.3589"},"LTCUSDT":{"buy_rate":"100.938","sell_rate":"94.9104"},"LTC/USDT":{"buy_rate":"100.938","sell_rate":"94.9104"},"LTCZAR":{"buy_rate":"1957.9821","sell_rate":"1875.1138"},"LTC/ZAR":{"buy_rate":"1957.9821","sell_rate":"1875.1138"},"SHIBBRL":{"buy_rate":"0.00004032","sell_rate":"0.00003767"},"SHIB/BRL":{"buy_rate":"0.00004032","sell_rate":"0.00003767"},"SHIBCAD":{"buy_rate":"0.00001093","sell_rate":"0.00001021"},"SHIB/CAD":{"buy_rate":"0.00001093","sell_rate":"0.00001021"},"SHIBDAI":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SHIB/DAI":{"buy_rate":"0.00000793","sell_rate":"0.00000728"},"SHIBEUR":{"buy_rate":"0.00000748","sell_rate":"0.00000699"},"SHIB/EUR":{"buy_rate":"0.00000748","sell_rate":"0.00000699"},"SHIBHKD":{"buy_rate":"0.00006442","sell_rate":"0.00006018"},"SHIB/HKD":{"buy_rate":"0.00006442","sell_rate":"0.00006018"},"SHIBIDR":{"buy_rate":"0.12482202","sell_rate":"0.11661635"},"SHIB/IDR":{"buy_rate":"0.12482202","sell_rate":"0.11661635"},"SHIBJPY":{"buy_rate":"0.00115656","sell_rate":"0.00108053"},"SHIB/JPY":{"buy_rate":"0.00115656","sell_rate":"0.00108053"},"SHIBKZT":{"buy_rate":"0.00363036","sell_rate":"0.00339171"},"SHIB/KZT":{"buy_rate":"0.00363036","sell_rate":"0.00339171"},"SHIBMYR":{"buy_rate":"0.00003835","sell_rate":"0.00003583"},"SHIB/MYR":{"buy_rate":"0.00003835","sell_rate":"0.00003583"},"SHIBNZD":{"buy_rate":"0.00001331","sell_rate":"0.00001243"},"SHIB/NZD":{"buy_rate":"0.00001331","sell_rate":"0.00001243"},"SHIBPLN":{"buy_rate":"0.00003322","sell_rate":"0.00003104"},"SHIB/PLN":{"buy_rate":"0.00003322","sell_rate":"0.00003104"},"SHIBSEK":{"buy_rate":"0.0000882","sell_rate":"0.0000824"},"SHIB/SEK":{"buy_rate":"0.0000882","sell_rate":"0.0000824"},"TRXUAH":{"buy_rate":"3.039606","sell_rate":"2.906834"},"TRX/UAH":{"buy_rate":"3.039606","sell_rate":"2.906834"},"TRXVND":{"buy_rate":"1957.635032","sell_rate":"1872.123934"},"TRX/VND":{"buy_rate":"1957.635032","sell_rate":"1872.123934"},"TRXXRP":{"buy_rate":"0.167526","sell_rate":"0.157278"},"TRX/XRP":{"buy_rate":"0.167526","sell_rate":"0.157278"},"USDTWD":{"buy_rate":"31.6949","sell_rate":"30.9123"},"USD/TWD":{"buy_rate":"31.6949","sell_rate":"30.9123"},"USDCJPY":{"buy_rate":"150.4597","sell_rate":"144.0822"},"USDC/JPY":{"buy_rate":"150.4597","sell_rate":"144.0822"},"SOLADA":{"buy_rate":"75.063269","sell_rate":"69.224738"},"SOL/ADA":{"buy_rate":"75.063269","sell_rate":"69.224738"},"SOLBCH":{"buy_rate":"0.08313739","sell_rate":"0.07817929"},"SOL/BCH":{"buy_rate":"0.08313739","sell_rate":"0.07817929"},"SOLBRL":{"buy_rate":"115.890826","sell_rate":"110.985866"},"SOL/BRL":{"buy_rate":"115.890826","sell_rate":"110.985866"},"SOLBUSD":{"buy_rate":"22.782797","sell_rate":"21.417313"},"SOL/BUSD":{"buy_rate":"22.782797","sell_rate":"21.417313"},"SOLSGD":{"buy_rate":"31.747737","sell_rate":"30.404047"},"SOL/SGD":{"buy_rate":"31.747737","sell_rate":"30.404047"},"SOLTHB":{"buy_rate":"823.622186","sell_rate":"788.763218"},"SOL/THB":{"buy_rate":"823.622186","sell_rate":"788.763218"},"SOLTRY":{"buy_rate":"617.594744","sell_rate":"591.455678"},"SOL/TRY":{"buy_rate":"617.594744","sell_rate":"591.455678"},"SOLUAH":{"buy_rate":"869.803022","sell_rate":"832.989498"},"SOL/UAH":{"buy_rate":"869.803022","sell_rate":"832.989498"},"SOLUSDC":{"buy_rate":"22.787168","sell_rate":"21.422671"},"SOL/USDC":{"buy_rate":"22.787168","sell_rate":"21.422671"},"SOLXRP":{"buy_rate":"47.947176","sell_rate":"45.060152"},"SOL/XRP":{"buy_rate":"47.947176","sell_rate":"45.060152"},"TRXADA":{"buy_rate":"0.262237","sell_rate":"0.241712"},"TRX/ADA":{"buy_rate":"0.262237","sell_rate":"0.241712"},"TRXBCH":{"buy_rate":"0.00029054","sell_rate":"0.00027282"},"TRX/BCH":{"buy_rate":"0.00029054","sell_rate":"0.00027282"},"TRXUSDC":{"buy_rate":"0.079622","sell_rate":"0.074767"},"TRX/USDC":{"buy_rate":"0.079622","sell_rate":"0.074767"},"USDCHF":{"buy_rate":"0.8926","sell_rate":"0.8706"},"USD/CHF":{"buy_rate":"0.8926","sell_rate":"0.8706"},"USDHKD":{"buy_rate":"7.9263","sell_rate":"7.7306"},"USD/HKD":{"buy_rate":"7.9263","sell_rate":"7.7306"},"USDTAUD":{"buy_rate":"1.6059","sell_rate":"1.5378"},"USDT/AUD":{"buy_rate":"1.6059","sell_rate":"1.5378"},"USDTCAD":{"buy_rate":"1.4215","sell_rate":"1.3612"},"USDT/CAD":{"buy_rate":"1.4215","sell_rate":"1.3612"},"USDTCLP":{"buy_rate":"870.3038","sell_rate":"833.3955"},"USDT/CLP":{"buy_rate":"870.3038","sell_rate":"833.3955"},"USDTZAR":{"buy_rate":"20.0038","sell_rate":"19.1554"},"USDT/ZAR":{"buy_rate":"20.0038","sell_rate":"19.1554"},"XLMZAR":{"buy_rate":"2.014534","sell_rate":"1.9281"},"XLM/ZAR":{"buy_rate":"2.014534","sell_rate":"1.9281"},"XRPBNB":{"buy_rate":"0.001634","sell_rate":"0.001536"},"XRP/BNB":{"buy_rate":"0.001634","sell_rate":"0.001536"},"XRPBTC":{"buy_rate":"0.00001606","sell_rate":"0.0000151"},"XRP/BTC":{"buy_rate":"0.00001606","sell_rate":"0.0000151"},"XRPDAI":{"buy_rate":"0.490123","sell_rate":"0.460738"},"XRP/DAI":{"buy_rate":"0.490123","sell_rate":"0.460738"},"XRPKZT":{"buy_rate":"224.509244","sell_rate":"214.953867"},"XRP/KZT":{"buy_rate":"224.509244","sell_rate":"214.953867"},"XRPMXN":{"buy_rate":"8.695005","sell_rate":"8.324936"},"XRP/MXN":{"buy_rate":"8.695005","sell_rate":"8.324936"},"XRPNOK":{"buy_rate":"5.327921","sell_rate":"5.101159"},"XRP/NOK":{"buy_rate":"5.327921","sell_rate":"5.101159"},"USDZAR":{"buy_rate":"18.9177","sell_rate":"18.4506"},"USD/ZAR":{"buy_rate":"18.9177","sell_rate":"18.4506"},"USDCBRL":{"buy_rate":"5.2451","sell_rate":"5.0228"},"USDC/BRL":{"buy_rate":"5.2451","sell_rate":"5.0228"},"ETHNOK":{"buy_rate":"21104.4943","sell_rate":"20211.2825"},"ETH/NOK":{"buy_rate":"21104.4943","sell_rate":"20211.2825"},"ETHSGD":{"buy_rate":"2705.5944","sell_rate":"2591.0847"},"ETH/SGD":{"buy_rate":"2705.5944","sell_rate":"2591.0847"},"USDCCAD":{"buy_rate":"1.4212","sell_rate":"1.361"},"USDC/CAD":{"buy_rate":"1.4212","sell_rate":"1.361"},"USDCCOP":{"buy_rate":"4427.4166","sell_rate":"4239.7534"},"USDC/COP":{"buy_rate":"4427.4166","sell_rate":"4239.7534"},"ETHUSD":{"buy_rate":"2015.6336","sell_rate":"1930.3253"},"ETH/USD":{"buy_rate":"2015.6336","sell_rate":"1930.3253"},"SOLPLN":{"buy_rate":"95.472949","sell_rate":"91.432153"},"SOL/PLN":{"buy_rate":"95.472949","sell_rate":"91.432153"},"SOLSEK":{"buy_rate":"253.513507","sell_rate":"242.783807"},"SOL/SEK":{"buy_rate":"253.513507","sell_rate":"242.783807"},"SOLSHIB":{"buy_rate":"3038224.35","sell_rate":"2787178.69"},"SOL/SHIB":{"buy_rate":"3038224.35","sell_rate":"2787178.69"},"SOLTRX":{"buy_rate":"296.101721","sell_rate":"276.902649"},"SOL/TRX":{"buy_rate":"296.101721","sell_rate":"276.902649"},"SOLTWD":{"buy_rate":"740.380122","sell_rate":"709.044289"},"SOL/TWD":{"buy_rate":"740.380122","sell_rate":"709.044289"},"SOLUSD":{"buy_rate":"23.651662","sell_rate":"22.65063"},"SOL/USD":{"buy_rate":"23.651662","sell_rate":"22.65063"},"SOLVND":{"buy_rate":"560189.855541","sell_rate":"536480.392"},"SOL/VND":{"buy_rate":"560189.855541","sell_rate":"536480.392"},"TRXTHB":{"buy_rate":"2.878223","sell_rate":"2.752501"},"TRX/THB":{"buy_rate":"2.878223","sell_rate":"2.752501"},"TRXTWD":{"buy_rate":"2.587327","sell_rate":"2.47431"},"TRX/TWD":{"buy_rate":"2.587327","sell_rate":"2.47431"},"TRXUSD":{"buy_rate":"0.082653","sell_rate":"0.079043"},"TRX/USD":{"buy_rate":"0.082653","sell_rate":"0.079043"},"TRXUSDT":{"buy_rate":"0.079611","sell_rate":"0.074752"},"TRX/USDT":{"buy_rate":"0.079611","sell_rate":"0.074752"},"TRXXLM":{"buy_rate":"0.79109","sell_rate":"0.742098"},"TRX/XLM":{"buy_rate":"0.79109","sell_rate":"0.742098"},"TRXZAR":{"buy_rate":"1.544294","sell_rate":"1.476838"},"TRX/ZAR":{"buy_rate":"1.544294","sell_rate":"1.476838"},"USDCZK":{"buy_rate":"21.9381","sell_rate":"21.3964"},"USD/CZK":{"buy_rate":"21.9381","sell_rate":"21.3964"},"USDDKK":{"buy_rate":"6.8548","sell_rate":"6.6856"},"USD/DKK":{"buy_rate":"6.8548","sell_rate":"6.6856"},"USDINR":{"buy_rate":"83.4435","sell_rate":"81.3832"},"USD/INR":{"buy_rate":"83.4435","sell_rate":"81.3832"},"USDKRW":{"buy_rate":"1309.9243","sell_rate":"1277.5804"},"USD/KRW":{"buy_rate":"1309.9243","sell_rate":"1277.5804"},"USDNOK":{"buy_rate":"10.6013","sell_rate":"10.3396"},"USD/NOK":{"buy_rate":"10.6013","sell_rate":"10.3396"},"USDPEN":{"buy_rate":"3.674","sell_rate":"3.5833"},"USD/PEN":{"buy_rate":"3.674","sell_rate":"3.5833"},"USDSGD":{"buy_rate":"1.3591","sell_rate":"1.3256"},"USD/SGD":{"buy_rate":"1.3591","sell_rate":"1.3256"},"USDTRY":{"buy_rate":"26.4386","sell_rate":"25.7858"},"USD/TRY":{"buy_rate":"26.4386","sell_rate":"25.7858"},"USDUAH":{"buy_rate":"37.2353","sell_rate":"36.3159"},"USD/UAH":{"buy_rate":"37.2353","sell_rate":"36.3159"},"USDTHUF":{"buy_rate":"369.2098","sell_rate":"353.5522"},"USDT/HUF":{"buy_rate":"369.2098","sell_rate":"353.5522"},"SOLUSDT":{"buy_rate":"22.782261","sell_rate":"21.418592"},"SOL/USDT":{"buy_rate":"22.782261","sell_rate":"21.418592"},"USDTUSD":{"buy_rate":"1.0575","sell_rate":"1.0383"},"USDT/USD":{"buy_rate":"1.0575","sell_rate":"1.0383"},"XLMMXN":{"buy_rate":"1.842376","sell_rate":"1.763328"},"XLM/MXN":{"buy_rate":"1.842376","sell_rate":"1.763328"},"XLMPEN":{"buy_rate":"0.39124","sell_rate":"0.374454"},"XLM/PEN":{"buy_rate":"0.39124","sell_rate":"0.374454"},"XLMRUB":{"buy_rate":"9.790949","sell_rate":"9.370862"},"XLM/RUB":{"buy_rate":"9.790949","sell_rate":"9.370862"},"SOLXLM":{"buy_rate":"226.674693","sell_rate":"212.373074"},"SOL/XLM":{"buy_rate":"226.674693","sell_rate":"212.373074"},"TRXAUD":{"buy_rate":"0.123974","sell_rate":"0.118559"},"TRX/AUD":{"buy_rate":"0.123974","sell_rate":"0.118559"},"TRXBNB":{"buy_rate":"0.00026535","sell_rate":"0.00024917"},"TRX/BNB":{"buy_rate":"0.00026535","sell_rate":"0.00024917"},"XRPHKD":{"buy_rate":"3.983519","sell_rate":"3.813975"},"XRP/HKD":{"buy_rate":"3.983519","sell_rate":"3.813975"},"TRXBTC":{"buy_rate":"0.00000261","sell_rate":"0.00000245"},"TRX/BTC":{"buy_rate":"0.00000261","sell_rate":"0.00000245"},"TRXCAD":{"buy_rate":"0.109735","sell_rate":"0.104942"},"TRX/CAD":{"buy_rate":"0.109735","sell_rate":"0.104942"},"TRXCLP":{"buy_rate":"67.187754","sell_rate":"64.252937"},"TRX/CLP":{"buy_rate":"67.187754","sell_rate":"64.252937"},"TRXCOP":{"buy_rate":"341.857744","sell_rate":"326.925119"},"TRX/COP":{"buy_rate":"341.857744","sell_rate":"326.925119"},"TRXDAI":{"buy_rate":"0.07961","sell_rate":"0.074752"},"TRX/DAI":{"buy_rate":"0.07961","sell_rate":"0.074752"},"TRXETH":{"buy_rate":"0.00004229","sell_rate":"0.00003971"},"TRX/ETH":{"buy_rate":"0.00004229","sell_rate":"0.00003971"},"TRXGBP":{"buy_rate":"0.06413","sell_rate":"0.061329"},"TRX/GBP":{"buy_rate":"0.06413","sell_rate":"0.061329"},"TRXHUF":{"buy_rate":"28.503124","sell_rate":"27.258084"},"TRX/HUF":{"buy_rate":"28.503124","sell_rate":"27.258084"},"TRXINR":{"buy_rate":"6.811702","sell_rate":"6.514161"},"TRX/INR":{"buy_rate":"6.811702","sell_rate":"6.514161"},"TRXKRW":{"buy_rate":"106.932396","sell_rate":"102.261501"},"TRX/KRW":{"buy_rate":"106.932396","sell_rate":"102.261501"},"TRXLTC":{"buy_rate":"0.00081328","sell_rate":"0.0007637"},"TRX/LTC":{"buy_rate":"0.00081328","sell_rate":"0.0007637"},"TRXMYR":{"buy_rate":"0.385163","sell_rate":"0.368339"},"TRX/MYR":{"buy_rate":"0.385163","sell_rate":"0.368339"},"TRXNZD":{"buy_rate":"0.133612","sell_rate":"0.127776"},"TRX/NZD":{"buy_rate":"0.133612","sell_rate":"0.127776"},"USDCDKK":{"buy_rate":"7.2471","sell_rate":"6.9399"},"USDC/DKK":{"buy_rate":"7.2471","sell_rate":"6.9399"},"USDCUAH":{"buy_rate":"39.3661","sell_rate":"37.6976"},"USDC/UAH":{"buy_rate":"39.3661","sell_rate":"37.6976"},"USDTCHF":{"buy_rate":"0.9439","sell_rate":"0.9038"},"USDT/CHF":{"buy_rate":"0.9439","sell_rate":"0.9038"},"USDTCZK":{"buy_rate":"23.1976","sell_rate":"22.2138"},"USDT/CZK":{"buy_rate":"23.1976","sell_rate":"22.2138"},"USDTEUR":{"buy_rate":"0.9728","sell_rate":"0.9315"},"USDT/EUR":{"buy_rate":"0.9728","sell_rate":"0.9315"},"USDTGBP":{"buy_rate":"0.8307","sell_rate":"0.7955"},"USDT/GBP":{"buy_rate":"0.8307","sell_rate":"0.7955"},"USDTHKD":{"buy_rate":"8.3813","sell_rate":"8.0259"},"USDT/HKD":{"buy_rate":"8.3813","sell_rate":"8.0259"},"USDTDKK":{"buy_rate":"7.2484","sell_rate":"6.941"},"USDT/DKK":{"buy_rate":"7.2484","sell_rate":"6.941"},"SOLZAR":{"buy_rate":"441.909759","sell_rate":"423.20638"},"SOL/ZAR":{"buy_rate":"441.909759","sell_rate":"423.20638"},"USDTPLN":{"buy_rate":"4.3218","sell_rate":"4.1385"},"USDT/PLN":{"buy_rate":"4.3218","sell_rate":"4.1385"},"USDTRUB":{"buy_rate":"97.2212","sell_rate":"93.0982"},"USDT/RUB":{"buy_rate":"97.2212","sell_rate":"93.0982"},"USDTSEK":{"buy_rate":"11.4757","sell_rate":"10.9891"},"USDT/SEK":{"buy_rate":"11.4757","sell_rate":"10.9891"},"USDTTHB":{"buy_rate":"37.2826","sell_rate":"35.7015"},"USDT/THB":{"buy_rate":"37.2826","sell_rate":"35.7015"},"USDTTRY":{"buy_rate":"27.9564","sell_rate":"26.7708"},"USDT/TRY":{"buy_rate":"27.9564","sell_rate":"26.7708"},"USDCOP":{"buy_rate":"4187.765","sell_rate":"4084.3634"},"USD/COP":{"buy_rate":"4187.765","sell_rate":"4084.3634"},"USDJPY":{"buy_rate":"142.3155","sell_rate":"138.8015"},"USD/JPY":{"buy_rate":"142.3155","sell_rate":"138.8015"},"USDKZT":{"buy_rate":"446.7195","sell_rate":"435.6893"},"USD/KZT":{"buy_rate":"446.7195","sell_rate":"435.6893"},"USDMYR":{"buy_rate":"4.7183","sell_rate":"4.6018"},"USD/MYR":{"buy_rate":"4.7183","sell_rate":"4.6018"},"USDNZD":{"buy_rate":"1.6368","sell_rate":"1.5964"},"USD/NZD":{"buy_rate":"1.6368","sell_rate":"1.5964"},"USDPLN":{"buy_rate":"4.0871","sell_rate":"3.9862"},"USD/PLN":{"buy_rate":"4.0871","sell_rate":"3.9862"},"USDSEK":{"buy_rate":"10.8527","sell_rate":"10.5847"},"USD/SEK":{"buy_rate":"10.8527","sell_rate":"10.5847"},"USDTHB":{"buy_rate":"35.2584","sell_rate":"34.3878"},"USD/THB":{"buy_rate":"35.2584","sell_rate":"34.3878"},"USDVND":{"buy_rate":"23981.0725","sell_rate":"23388.9473"},"USD/VND":{"buy_rate":"23981.0725","sell_rate":"23388.9473"},"USDCAUD":{"buy_rate":"1.6056","sell_rate":"1.5376"},"USDC/AUD":{"buy_rate":"1.6056","sell_rate":"1.5376"},"USDCBUSD":{"buy_rate":"1.0311","sell_rate":"0.9694"},"USDC/BUSD":{"buy_rate":"1.0311","sell_rate":"0.9694"},"USDCCHF":{"buy_rate":"0.9437","sell_rate":"0.9037"},"USDC/CHF":{"buy_rate":"0.9437","sell_rate":"0.9037"},"USDCCNY":{"buy_rate":"7.7131","sell_rate":"7.3862"},"USDC/CNY":{"buy_rate":"7.7131","sell_rate":"7.3862"},"USDCCZK":{"buy_rate":"23.1935","sell_rate":"22.2104"},"USDC/CZK":{"buy_rate":"23.1935","sell_rate":"22.2104"},"USDCEUR":{"buy_rate":"0.9726","sell_rate":"0.9314"},"USDC/EUR":{"buy_rate":"0.9726","sell_rate":"0.9314"},"USDCHKD":{"buy_rate":"8.3799","sell_rate":"8.0247"},"USDC/HKD":{"buy_rate":"8.3799","sell_rate":"8.0247"},"USDCIDR":{"buy_rate":"16238.4253","sell_rate":"15550.1335"},"USDC/IDR":{"buy_rate":"16238.4253","sell_rate":"15550.1335"},"USDCSEK":{"buy_rate":"11.4737","sell_rate":"10.9874"},"USDC/SEK":{"buy_rate":"11.4737","sell_rate":"10.9874"},"USDCTHB":{"buy_rate":"37.2761","sell_rate":"35.6961"},"USDC/THB":{"buy_rate":"37.2761","sell_rate":"35.6961"},"USDCTWD":{"buy_rate":"33.5086","sell_rate":"32.0883"},"USDC/TWD":{"buy_rate":"33.5086","sell_rate":"32.0883"},"USDCUSD":{"buy_rate":"1.0705","sell_rate":"1.0251"},"USDC/USD":{"buy_rate":"1.0705","sell_rate":"1.0251"},"USDCVND":{"buy_rate":"25353.428","sell_rate":"24278.7821"},"USDC/VND":{"buy_rate":"25353.428","sell_rate":"24278.7821"},"USDTCOP":{"buy_rate":"4428.1891","sell_rate":"4240.3963"},"USDT/COP":{"buy_rate":"4428.1891","sell_rate":"4240.3963"},"XRPAUD":{"buy_rate":"0.763248","sell_rate":"0.730764"},"XRP/AUD":{"buy_rate":"0.763248","sell_rate":"0.730764"},"XRPBRL":{"buy_rate":"2.493341","sell_rate":"2.387222"},"XRP/BRL":{"buy_rate":"2.493341","sell_rate":"2.387222"},"TRXHKD":{"buy_rate":"0.647039","sell_rate":"0.618776"},"TRX/HKD":{"buy_rate":"0.647039","sell_rate":"0.618776"},"TRXIDR":{"buy_rate":"1253.830851","sell_rate":"1199.062494"},"TRX/IDR":{"buy_rate":"1253.830851","sell_rate":"1199.062494"},"TRXJPY":{"buy_rate":"11.617566","sell_rate":"11.110101"},"TRX/JPY":{"buy_rate":"11.617566","sell_rate":"11.110101"},"TRXKZT":{"buy_rate":"36.466824","sell_rate":"34.873923"},"TRX/KZT":{"buy_rate":"36.466824","sell_rate":"34.873923"},"TRXMXN":{"buy_rate":"1.412322","sell_rate":"1.35063"},"TRX/MXN":{"buy_rate":"1.412322","sell_rate":"1.35063"},"TRXNOK":{"buy_rate":"0.86541","sell_rate":"0.827607"},"TRX/NOK":{"buy_rate":"0.86541","sell_rate":"0.827607"},"TRXPEN":{"buy_rate":"0.299915","sell_rate":"0.286815"},"TRX/PEN":{"buy_rate":"0.299915","sell_rate":"0.286815"},"TRXRUB":{"buy_rate":"7.505508","sell_rate":"7.177662"},"TRX/RUB":{"buy_rate":"7.505508","sell_rate":"7.177662"},"TRXSGD":{"buy_rate":"0.110946","sell_rate":"0.1061"},"TRX/SGD":{"buy_rate":"0.110946","sell_rate":"0.1061"},"USDBRL":{"buy_rate":"4.9612","sell_rate":"4.8387"},"USD/BRL":{"buy_rate":"4.9612","sell_rate":"4.8387"},"USDCNY":{"buy_rate":"7.2956","sell_rate":"7.1155"},"USD/CNY":{"buy_rate":"7.2956","sell_rate":"7.1155"},"USDHUF":{"buy_rate":"349.164","sell_rate":"340.5426"},"USD/HUF":{"buy_rate":"349.164","sell_rate":"340.5426"},"USDCUSDT":{"buy_rate":"1.0311","sell_rate":"0.9695"},"USDC/USDT":{"buy_rate":"1.0311","sell_rate":"0.9695"},"USDCZAR":{"buy_rate":"20.0003","sell_rate":"19.1525"},"USDC/ZAR":{"buy_rate":"20.0003","sell_rate":"19.1525"},"USDTBRL":{"buy_rate":"5.246","sell_rate":"5.0236"},"USDT/BRL":{"buy_rate":"5.246","sell_rate":"5.0236"},"USDTCNY":{"buy_rate":"7.7145","sell_rate":"7.3873"},"USDT/CNY":{"buy_rate":"7.7145","sell_rate":"7.3873"},"USDTNZD":{"buy_rate":"1.7308","sell_rate":"1.6574"},"USDT/NZD":{"buy_rate":"1.7308","sell_rate":"1.6574"},"USDTPEN":{"buy_rate":"3.8849","sell_rate":"3.7202"},"USDT/PEN":{"buy_rate":"3.8849","sell_rate":"3.7202"},"USDTUAH":{"buy_rate":"39.373","sell_rate":"37.7033"},"USDT/UAH":{"buy_rate":"39.373","sell_rate":"37.7033"},"USDTVND":{"buy_rate":"25357.8519","sell_rate":"24282.4639"},"USDT/VND":{"buy_rate":"25357.8519","sell_rate":"24282.4639"},"XLMETH":{"buy_rate":"0.00005516","sell_rate":"0.00005184"},"XLM/ETH":{"buy_rate":"0.00005516","sell_rate":"0.00005184"},"XLMTHB":{"buy_rate":"3.754648","sell_rate":"3.593552"},"XLM/THB":{"buy_rate":"3.754648","sell_rate":"3.593552"},"XLMTWD":{"buy_rate":"3.375172","sell_rate":"3.230358"},"XLM/TWD":{"buy_rate":"3.375172","sell_rate":"3.230358"},"XLMUSD":{"buy_rate":"0.107821","sell_rate":"0.103195"},"XLM/USD":{"buy_rate":"0.107821","sell_rate":"0.103195"},"XLMUSDT":{"buy_rate":"0.10385","sell_rate":"0.097593"},"XLM/USDT":{"buy_rate":"0.10385","sell_rate":"0.097593"},"XLMXRP":{"buy_rate":"0.218527","sell_rate":"0.20534"},"XLM/XRP":{"buy_rate":"0.218527","sell_rate":"0.20534"},"USDCGBP":{"buy_rate":"0.8306","sell_rate":"0.7954"},"USDC/GBP":{"buy_rate":"0.8306","sell_rate":"0.7954"},"USDCHUF":{"buy_rate":"369.1454","sell_rate":"353.4986"},"USDC/HUF":{"buy_rate":"369.1454","sell_rate":"353.4986"},"USDCINR":{"buy_rate":"88.2187","sell_rate":"84.4794"},"USDC/INR":{"buy_rate":"88.2187","sell_rate":"84.4794"},"USDCKRW":{"buy_rate":"1384.8868","sell_rate":"1326.1861"},"USDC/KRW":{"buy_rate":"1384.8868","sell_rate":"1326.1861"},"USDCMXN":{"buy_rate":"18.2911","sell_rate":"17.5158"},"USDC/MXN":{"buy_rate":"18.2911","sell_rate":"17.5158"},"USDCNOK":{"buy_rate":"11.208","sell_rate":"10.7329"},"USDC/NOK":{"buy_rate":"11.208","sell_rate":"10.7329"},"USDCPEN":{"buy_rate":"3.8843","sell_rate":"3.7196"},"USDC/PEN":{"buy_rate":"3.8843","sell_rate":"3.7196"},"USDCRUB":{"buy_rate":"97.2043","sell_rate":"93.0841"},"USDC/RUB":{"buy_rate":"97.2043","sell_rate":"93.0841"},"USDCSGD":{"buy_rate":"1.4369","sell_rate":"1.376"},"USDC/SGD":{"buy_rate":"1.4369","sell_rate":"1.376"},"USDCTRY":{"buy_rate":"27.9515","sell_rate":"26.7668"},"USDC/TRY":{"buy_rate":"27.9515","sell_rate":"26.7668"},"USDTIDR":{"buy_rate":"16241.2587","sell_rate":"15552.4916"},"USDT/IDR":{"buy_rate":"16241.2587","sell_rate":"15552.4916"},"USDTJPY":{"buy_rate":"150.486","sell_rate":"144.1041"},"USDT/JPY":{"buy_rate":"150.486","sell_rate":"144.1041"},"USDTKZT":{"buy_rate":"472.3661","sell_rate":"452.3338"},"USDT/KZT":{"buy_rate":"472.3661","sell_rate":"452.3338"},"USDTMYR":{"buy_rate":"4.9892","sell_rate":"4.7776"},"USDT/MYR":{"buy_rate":"4.9892","sell_rate":"4.7776"},"XLMBCH":{"buy_rate":"0.000379","sell_rate":"0.00035618"},"XLM/BCH":{"buy_rate":"0.000379","sell_rate":"0.00035618"},"XLMBRL":{"buy_rate":"0.528312","sell_rate":"0.505644"},"XLM/BRL":{"buy_rate":"0.528312","sell_rate":"0.505644"},"XLMBUSD":{"buy_rate":"0.103848","sell_rate":"0.097585"},"XLM/BUSD":{"buy_rate":"0.103848","sell_rate":"0.097585"},"XLMCHF":{"buy_rate":"0.095049","sell_rate":"0.090971"},"XLM/CHF":{"buy_rate":"0.095049","sell_rate":"0.090971"},"XLMCNY":{"buy_rate":"0.776904","sell_rate":"0.74357"},"XLM/CNY":{"buy_rate":"0.776904","sell_rate":"0.74357"},"XLMCZK":{"buy_rate":"2.336177","sell_rate":"2.235942"},"XLM/CZK":{"buy_rate":"2.336177","sell_rate":"2.235942"},"XLMDKK":{"buy_rate":"0.729963","sell_rate":"0.698644"},"XLM/DKK":{"buy_rate":"0.729963","sell_rate":"0.698644"},"XLMEUR":{"buy_rate":"0.097961","sell_rate":"0.093758"},"XLM/EUR":{"buy_rate":"0.097961","sell_rate":"0.093758"},"XLMHKD":{"buy_rate":"0.844064","sell_rate":"0.807849"},"XLM/HKD":{"buy_rate":"0.844064","sell_rate":"0.807849"},"XLMIDR":{"buy_rate":"1635.624602","sell_rate":"1565.447048"},"XLM/IDR":{"buy_rate":"1635.624602","sell_rate":"1565.447048"},"XLMJPY":{"buy_rate":"15.155136","sell_rate":"14.504894"},"XLM/JPY":{"buy_rate":"15.155136","sell_rate":"14.504894"},"XLMKZT":{"buy_rate":"47.571037","sell_rate":"45.529971"},"XLM/KZT":{"buy_rate":"47.571037","sell_rate":"45.529971"},"XLMNOK":{"buy_rate":"1.128928","sell_rate":"1.08049"},"XLM/NOK":{"buy_rate":"1.128928","sell_rate":"1.08049"},"XRPCAD":{"buy_rate":"0.675584","sell_rate":"0.646831"},"XRP/CAD":{"buy_rate":"0.675584","sell_rate":"0.646831"},"XRPCLP":{"buy_rate":"413.643692","sell_rate":"396.038533"},"XRP/CLP":{"buy_rate":"413.643692","sell_rate":"396.038533"},"USDTINR":{"buy_rate":"88.2341","sell_rate":"84.4923"},"USDT/INR":{"buy_rate":"88.2341","sell_rate":"84.4923"},"USDTKRW":{"buy_rate":"1385.1284","sell_rate":"1326.3872"},"USDT/KRW":{"buy_rate":"1385.1284","sell_rate":"1326.3872"},"USDTMXN":{"buy_rate":"18.2943","sell_rate":"17.5185"},"USDT/MXN":{"buy_rate":"18.2943","sell_rate":"17.5185"},"USDTNOK":{"buy_rate":"11.21","sell_rate":"10.7346"},"USDT/NOK":{"buy_rate":"11.21","sell_rate":"10.7346"},"USDTSGD":{"buy_rate":"1.4372","sell_rate":"1.3762"},"USDT/SGD":{"buy_rate":"1.4372","sell_rate":"1.3762"},"XLMAUD":{"buy_rate":"0.161724","sell_rate":"0.154785"},"XLM/AUD":{"buy_rate":"0.161724","sell_rate":"0.154785"},"XLMBNB":{"buy_rate":"0.000347","sell_rate":"0.000326"},"XLM/BNB":{"buy_rate":"0.000347","sell_rate":"0.000326"},"XLMBTC":{"buy_rate":"0.00000341","sell_rate":"0.0000032"},"XLM/BTC":{"buy_rate":"0.00000341","sell_rate":"0.0000032"},"XLMCAD":{"buy_rate":"0.143149","sell_rate":"0.137007"},"XLM/CAD":{"buy_rate":"0.143149","sell_rate":"0.137007"},"XLMCLP":{"buy_rate":"87.646546","sell_rate":"83.886012"},"XLM/CLP":{"buy_rate":"87.646546","sell_rate":"83.886012"},"XLMCOP":{"buy_rate":"445.954043","sell_rate":"426.820091"},"XLM/COP":{"buy_rate":"445.954043","sell_rate":"426.820091"},"XLMDAI":{"buy_rate":"0.103847","sell_rate":"0.097594"},"XLM/DAI":{"buy_rate":"0.103847","sell_rate":"0.097594"},"XLMGBP":{"buy_rate":"0.083658","sell_rate":"0.080069"},"XLM/GBP":{"buy_rate":"0.083658","sell_rate":"0.080069"},"XLMHUF":{"buy_rate":"37.182377","sell_rate":"35.587043"},"XLM/HUF":{"buy_rate":"37.182377","sell_rate":"35.587043"},"XLMINR":{"buy_rate":"8.885877","sell_rate":"8.504623"},"XLM/INR":{"buy_rate":"8.885877","sell_rate":"8.504623"},"XLMKRW":{"buy_rate":"139.493501","sell_rate":"133.508441"},"XLM/KRW":{"buy_rate":"139.493501","sell_rate":"133.508441"},"XLMLTC":{"buy_rate":"0.00106093","sell_rate":"0.00099705"},"XLM/LTC":{"buy_rate":"0.00106093","sell_rate":"0.00099705"},"XLMMYR":{"buy_rate":"0.502446","sell_rate":"0.480887"},"XLM/MYR":{"buy_rate":"0.502446","sell_rate":"0.480887"},"XLMNZD":{"buy_rate":"0.174297","sell_rate":"0.166818"},"XLM/NZD":{"buy_rate":"0.174297","sell_rate":"0.166818"},"XLMPLN":{"buy_rate":"0.435233","sell_rate":"0.416559"},"XLM/PLN":{"buy_rate":"0.435233","sell_rate":"0.416559"},"XLMSEK":{"buy_rate":"1.155692","sell_rate":"1.106107"},"XLM/SEK":{"buy_rate":"1.155692","sell_rate":"1.106107"},"XLMSHIB":{"buy_rate":"13850.36","sell_rate":"12698.2"},"XLM/SHIB":{"buy_rate":"13850.36","sell_rate":"12698.2"},"XLMTRY":{"buy_rate":"2.81543","sell_rate":"2.694632"},"XLM/TRY":{"buy_rate":"2.81543","sell_rate":"2.694632"},"XLMUAH":{"buy_rate":"3.965172","sell_rate":"3.795044"},"XLM/UAH":{"buy_rate":"3.965172","sell_rate":"3.795044"},"XLMUSDC":{"buy_rate":"0.103865","sell_rate":"0.097612"},"XLM/USDC":{"buy_rate":"0.103865","sell_rate":"0.097612"},"XLMVND":{"buy_rate":"2553.738422","sell_rate":"2444.16859"},"XLM/VND":{"buy_rate":"2553.738422","sell_rate":"2444.16859"},"XRPEUR":{"buy_rate":"0.462322","sell_rate":"0.442645"},"XRP/EUR":{"buy_rate":"0.462322","sell_rate":"0.442645"},"XRPIDR":{"buy_rate":"7719.252314","sell_rate":"7390.711911"},"XRP/IDR":{"buy_rate":"7719.252314","sell_rate":"7390.711911"},"XRPJPY":{"buy_rate":"71.52394","sell_rate":"68.479798"},"XRP/JPY":{"buy_rate":"71.52394","sell_rate":"68.479798"},"XRPPEN":{"buy_rate":"1.846438","sell_rate":"1.767852"},"XRP/PEN":{"buy_rate":"1.846438","sell_rate":"1.767852"},"XRPRUB":{"buy_rate":"46.207918","sell_rate":"44.241255"},"XRP/RUB":{"buy_rate":"46.207918","sell_rate":"44.241255"},"XRPSGD":{"buy_rate":"0.683039","sell_rate":"0.653968"},"XRP/SGD":{"buy_rate":"0.683039","sell_rate":"0.653968"},"XRPHUF":{"buy_rate":"175.480455","sell_rate":"168.011802"},"XRP/HUF":{"buy_rate":"175.480455","sell_rate":"168.011802"},"XRPINR":{"buy_rate":"41.936473","sell_rate":"40.151607"},"XRP/INR":{"buy_rate":"41.936473","sell_rate":"40.151607"},"XRPKRW":{"buy_rate":"658.332931","sell_rate":"630.313511"},"XRP/KRW":{"buy_rate":"658.332931","sell_rate":"630.313511"},"XRPLTC":{"buy_rate":"0.00500698","sell_rate":"0.00470721"},"XRP/LTC":{"buy_rate":"0.00500698","sell_rate":"0.00470721"},"XRPMYR":{"buy_rate":"2.371267","sell_rate":"2.270344"},"XRP/MYR":{"buy_rate":"2.371267","sell_rate":"2.270344"},"XRPNZD":{"buy_rate":"0.822585","sell_rate":"0.787574"},"XRP/NZD":{"buy_rate":"0.822585","sell_rate":"0.787574"},"XRPPLN":{"buy_rate":"2.05406","sell_rate":"1.966636"},"XRP/PLN":{"buy_rate":"2.05406","sell_rate":"1.966636"},"XRPSEK":{"buy_rate":"5.454236","sell_rate":"5.222097"},"XRP/SEK":{"buy_rate":"5.454236","sell_rate":"5.222097"},"XRPSHIB":{"buy_rate":"65366.11","sell_rate":"59950.12"},"XRP/SHIB":{"buy_rate":"65366.11","sell_rate":"59950.12"},"XRPTRY":{"buy_rate":"13.287288","sell_rate":"12.721765"},"XRP/TRY":{"buy_rate":"13.287288","sell_rate":"12.721765"},"XRPUAH":{"buy_rate":"18.713443","sell_rate":"17.916976"},"XRP/UAH":{"buy_rate":"18.713443","sell_rate":"17.916976"},"XRPUSDC":{"buy_rate":"0.490204","sell_rate":"0.460829"},"XRP/USDC":{"buy_rate":"0.490204","sell_rate":"0.460829"},"XRPVND":{"buy_rate":"12052.246714","sell_rate":"11539.289004"},"XRP/VND":{"buy_rate":"12052.246714","sell_rate":"11539.289004"},"XRPTHB":{"buy_rate":"17.719881","sell_rate":"16.965703"},"XRP/THB":{"buy_rate":"17.719881","sell_rate":"16.965703"},"XRPTWD":{"buy_rate":"15.928963","sell_rate":"15.251009"},"XRP/TWD":{"buy_rate":"15.928963","sell_rate":"15.251009"},"XRPUSD":{"buy_rate":"0.508856","sell_rate":"0.487198"},"XRP/USD":{"buy_rate":"0.508856","sell_rate":"0.487198"},"XRPUSDT":{"buy_rate":"0.49013","sell_rate":"0.460748"},"XRP/USDT":{"buy_rate":"0.49013","sell_rate":"0.460748"},"XRPZAR":{"buy_rate":"9.507501","sell_rate":"9.102851"},"XRP/ZAR":{"buy_rate":"9.507501","sell_rate":"9.102851"},"BTCAUD":{"buy_rate":"49030.5803","sell_rate":"46944.4956"},"BTC/AUD":{"buy_rate":"49030.5803","sell_rate":"46944.4956"},"BTCBRL":{"buy_rate":"160170.5853","sell_rate":"153355.871"},"BTC/BRL":{"buy_rate":"160170.5853","sell_rate":"153355.871"},"BTCCAD":{"buy_rate":"43399.0645","sell_rate":"41552.5818"},"BTC/CAD":{"buy_rate":"43399.0645","sell_rate":"41552.5818"},"BTCCHF":{"buy_rate":"28816.3975","sell_rate":"27590.3576"},"BTC/CHF":{"buy_rate":"28816.3975","sell_rate":"27590.3576"}}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/rates' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 234 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.900475 + namelookup_time: 0.100348 + connect_time: 0.218446 + pretransfer_time: 0.357425 + size_upload: 0.0 + size_download: 84343.0 + speed_download: 93714.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.75503 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51920 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 357351 + connect_time_us: 218446 + namelookup_time_us: 100348 + pretransfer_time_us: 357425 + redirect_time_us: 0 + starttransfer_time_us: 755030 + total_time_us: 900475 + index: 0 diff --git a/tests/cassettes/rates/retrieve.yml b/tests/cassettes/rates/retrieve.yml new file mode 100644 index 0000000..bcc494f --- /dev/null +++ b/tests/cassettes/rates/retrieve.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/rates/BTC/EUR' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 08:49:57 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:FC0BZBXX++M7g9E8YsRN0qX0eC0=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 08:49:58 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fcbd40d91b96f-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"buy_rate":"29699.2676","sell_rate":"28435.6646"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/rates/BTC/EUR' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 242 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.518427 + namelookup_time: 0.004814 + connect_time: 0.178699 + pretransfer_time: 0.313399 + size_upload: 0.0 + size_download: 59.0 + speed_download: 113.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.472826 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 51932 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 313272 + connect_time_us: 178699 + namelookup_time_us: 4814 + pretransfer_time_us: 313399 + redirect_time_us: 0 + starttransfer_time_us: 472826 + total_time_us: 518427 + index: 0 diff --git a/tests/cassettes/risks/score.yml b/tests/cassettes/risks/score.yml new file mode 100644 index 0000000..2f5ed38 --- /dev/null +++ b/tests/cassettes/risks/score.yml @@ -0,0 +1,74 @@ + +- + request: + method: POST + url: 'https://business-sandbox.cryptopay.me/api/risks/score' + headers: + Host: business-sandbox.cryptopay.me + Expect: '' + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:12:54 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:7OIIR8GqzHfHKsa948cy+ZIhcuI=' + Accept: '' + body: '{"address":"2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ","currency":"BTC","type":"source_of_funds"}' + response: + status: + http_version: '1.1' + code: '200' + message: 'OK' + headers: + Date: 'Tue, 11 Jul 2023 09:12:55 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fed725d091caa-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":{"score":7.5,"level":"medium","resource_name":"default","resource_category":"unknown"}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/risks/score' + content_type: 'application/json; charset=utf-8' + http_code: 422 + header_size: 473 + request_size: 352 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.499164 + namelookup_time: 0.00594 + connect_time: 0.075467 + pretransfer_time: 0.273382 + size_upload: 91.0 + size_download: 160.0 + speed_download: 320.0 + speed_upload: 182.0 + download_content_length: -1.0 + upload_content_length: 91.0 + starttransfer_time: 0.454643 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.40.240 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 40172 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 273287 + connect_time_us: 75467 + namelookup_time_us: 5940 + pretransfer_time_us: 273382 + redirect_time_us: 0 + starttransfer_time_us: 454643 + total_time_us: 499164 + index: 0 diff --git a/tests/cassettes/transactions/all.yml b/tests/cassettes/transactions/all.yml new file mode 100644 index 0000000..7790da6 --- /dev/null +++ b/tests/cassettes/transactions/all.yml @@ -0,0 +1,73 @@ + +- + request: + method: GET + url: 'https://business-sandbox.cryptopay.me/api/transactions' + headers: + Host: business-sandbox.cryptopay.me + Accept-Encoding: '' + User-Agent: GuzzleHttp/7 + Content-Type: application/json + date: 'Tue, 11 Jul 2023 09:03:45 +0000' + Authorization: 'HMAC OtzdZAvAkmw4vAYniZ4ljw:limGOaRqrQRyUdcLqdeF0Ohzqxo=' + Accept: '' + response: + status: + http_version: '1.1' + code: '200' + message: OK + headers: + Date: 'Tue, 11 Jul 2023 09:03:46 GMT' + Content-Type: 'application/json; charset=utf-8' + Transfer-Encoding: chunked + Connection: keep-alive + CF-Ray: 7e4fe00af8790a6f-AMS + CF-Cache-Status: DYNAMIC + Cache-Control: no-store + Strict-Transport-Security: 'max-age=15552000; includeSubDomains' + Vary: Accept-Encoding + content-security-policy: 'frame-ancestors ''none''' + x-content-type-options: nosniff + x-frame-options: DENY + Server: cloudflare + alt-svc: 'h3=":443"; ma=86400' + body: '{"data":[{"id":"6bb1015d-ef84-4afe-af67-499634f6e02d","custom_id":null,"customer_id":null,"amount":"0.0","currency":"EUR","balance":"8619.4","fee":"0.0","fee_currency":"EUR","reference_id":"9ae0624b-8c64-49c8-a388-76ecdb9979fc","reference_type":"ChannelPayment","description":null,"status":"on_hold","status_context":"channel_disabled","risk":null,"created_at":"2023-07-11T09:01:26+00:00"},{"id":"a2ca81f5-6d39-4142-b80d-27bb07aee606","custom_id":null,"customer_id":null,"amount":"-0.00506266","currency":"ETH","balance":"10.10377505","fee":"0.0","fee_currency":"ETH","reference_id":"ef5f7729-b1d0-4685-833f-ccda0604393b","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:57:58+00:00"},{"id":"4953d0bf-8dbc-4463-96bd-6d11cd8458cc","custom_id":null,"customer_id":null,"amount":"0.00506266","currency":"ETH","balance":"10.10883771","fee":"0.00005114","fee_currency":"ETH","reference_id":"fb3fdf05-ee2e-43d7-b423-9e6b69ffca8f","reference_type":"InvoiceRefund","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-07-11T08:57:58+00:00"},{"id":"0310f07d-0577-4559-933a-90a1d39069d7","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8619.4","fee":"1.0","fee_currency":"EUR","reference_id":"4e79ee49-f3dd-4941-a6cc-ed0d86087cff","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-11T08:57:57+00:00"},{"id":"401b8f05-d61f-4be6-b8bb-2dd92214287a","custom_id":null,"customer_id":null,"amount":"0.0","currency":"EUR","balance":"8619.4","fee":"0.0","fee_currency":"EUR","reference_id":"1f87483d-8dbc-4052-9066-ac6543047f8b","reference_type":"ChannelPayment","description":null,"status":"on_hold","status_context":"channel_disabled","risk":null,"created_at":"2023-07-11T08:56:30+00:00"},{"id":"be24e8b1-fdf1-4331-a5ae-f92ed11ecd87","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8619.4","fee":"1.0","fee_currency":"EUR","reference_id":"86a94c44-2b0e-40d1-b40e-c5818b303e09","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:55:53+00:00"},{"id":"b68b74c3-f4ca-4e1a-a44e-935112c80d9c","custom_id":null,"customer_id":null,"amount":"-100.0","currency":"EUR","balance":"8719.4","fee":"1.0","fee_currency":"EUR","reference_id":"06a54ccb-889f-4c1f-8a59-086a84a1e2dd","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:55:53+00:00"},{"id":"58892385-6b25-4b02-9188-0f350a7a8b3f","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8819.4","fee":"0.1","fee_currency":"EUR","reference_id":"165b5234-7695-4f3c-acf0-94cb1f2f5973","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:41:52+00:00"},{"id":"bef5de85-7ee1-4f7a-a62e-22b24d7b1e42","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8829.4","fee":"0.5","fee_currency":"EUR","reference_id":"331646a6-c8b5-430d-adfb-021d11ff6cd0","reference_type":"Invoice","description":null,"status":"refunded","status_context":null,"risk":null,"created_at":"2023-07-11T08:41:50+00:00"},{"id":"7b9b5478-ba01-4978-a47c-fb9e942bf414","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8829.4","fee":"0.1","fee_currency":"EUR","reference_id":"31eb604a-4039-4dd6-8df2-1c1c7fb002fb","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:40:50+00:00"},{"id":"c071ba6f-a6fd-4d38-ae3e-241f6238b01a","custom_id":null,"customer_id":null,"amount":"9.07","currency":"EUR","balance":"8839.4","fee":"0.1","fee_currency":"EUR","reference_id":"8dd53e0f-0725-48b4-b0a7-1840aa67b5bb","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:40:47+00:00"},{"id":"fbd9a04b-639e-4169-9a51-dfca37a0ad3a","custom_id":null,"customer_id":null,"amount":"-10.0","currency":"EUR","balance":"8830.33","fee":"0.1","fee_currency":"EUR","reference_id":"64b622a6-522c-4636-ae3a-e7805982288e","reference_type":"CoinWithdrawal","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:38:09+00:00"},{"id":"100e399d-ea73-4c9d-ae71-4e1e6b39b000","custom_id":null,"customer_id":null,"amount":"9.07","currency":"EUR","balance":"8840.33","fee":"0.1","fee_currency":"EUR","reference_id":"29a563ad-b417-445c-b8f6-b6c806bb039b","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-11T08:37:32+00:00"},{"id":"ee8ea16a-14ba-4fe9-9848-7f41708ba497","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"c9e75e23-8664-4f26-9098-3c304c7b6e31","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T10:15:08+00:00"},{"id":"301ab069-62e7-4c51-a270-ec56256b52c8","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"8b7cecef-e220-4619-b95e-47caea862c8f","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T09:08:10+00:00"},{"id":"27361825-4757-4bce-a38a-feaeaf9c360e","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"46c48574-66e3-4838-8ab4-99a3d0f0a368","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T09:07:20+00:00"},{"id":"05809f17-a849-46b3-9fc0-08322f80f195","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"03ff86bb-4da0-4950-954f-5b7a2ee75298","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:21:36+00:00"},{"id":"48518e6f-9762-409b-91cb-33385f5d3821","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"f5959728-2eab-439c-9c1a-a1b8d2cc5712","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:20:16+00:00"},{"id":"67ade6e5-3aae-46f5-8f91-248a68e506d9","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"40b271ac-085a-4714-8c8b-48fcaea1cd57","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:19:55+00:00"},{"id":"5524b339-81c3-420c-a6b7-81f409559a12","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8831.26","fee":"1.0","fee_currency":"EUR","reference_id":"cbc1b67e-becd-4b1b-b55d-60d64f8d5bcd","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:19:42+00:00"},{"id":"1eb24ad7-087d-45ac-b7b2-826c1a7a7e66","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"a3769873-b891-4771-930d-6b0e98fe42b4","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-10T08:10:41+00:00"},{"id":"0283f217-bd1b-413e-b8e9-bdca8e8caec6","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"b9ef4d50-502c-4739-abd4-4bd1fa9ba116","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:29:54+00:00"},{"id":"64dbd3ec-dccf-4d8f-86b5-237f572c98ea","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"a304c0fe-4553-477d-a9a1-ed7b42c5fcc4","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:06:09+00:00"},{"id":"a455f056-4438-4230-8d87-bda47d7a2a62","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"fe2cc363-71a2-4aba-9c2b-aff69d391e3b","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:06:04+00:00"},{"id":"c8b598a3-3978-45f2-b610-1fab61231181","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"5bab7667-20c3-40a6-b989-99fead86f10b","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:05:55+00:00"},{"id":"325fd6a6-d88d-4b04-9edd-c9a5e274e4dc","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"d655d1fe-e5b0-4551-85ec-a7ddb4fd7272","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:05:50+00:00"},{"id":"95e0b02e-39eb-4160-a015-b3da45f8df7a","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"8a815d50-0cf9-40cb-869e-806b90788dc9","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:05:37+00:00"},{"id":"908a3281-e240-41a2-84a9-1105b04fee96","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"8c8bc640-72c7-4b26-bac9-f7f6abef7014","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:05:30+00:00"},{"id":"d504f088-3c4b-4a24-a197-3db0c9664744","custom_id":null,"customer_id":null,"amount":"0.00018516","currency":"BTC","balance":"0.0","fee":"0.00000188","fee_currency":"BTC","reference_id":"6f8527a8-6873-4fd3-9e29-6d9795f1a841","reference_type":"Invoice","description":"#1","status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T13:05:14+00:00"},{"id":"1c793abc-60e3-4bc7-b68e-201eca13ad76","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"45e3db3a-c823-40a4-9cd5-05a292b2282d","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:43:32+00:00"},{"id":"a42f9e1c-5a16-4751-86fd-612736135abb","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"5c916a9a-f26c-417f-b067-f4b36821076b","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:43:27+00:00"},{"id":"5956391d-a77e-43cf-b495-a0f4b533c9e1","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"bd1837e4-22dd-4017-8b1d-27e49ebd6193","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:33:44+00:00"},{"id":"6e7f3698-b19f-4e47-ac70-a4945eb7758f","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"8da1e0f0-e08f-4250-bb8c-e04a5b29eeba","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:32:33+00:00"},{"id":"ab5f7aac-e460-47bb-a460-9427139b4d86","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"cb2a09b5-4667-4eb2-aacd-6fac008551cd","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:30:32+00:00"},{"id":"a8c6ff6b-914e-4033-8aaf-c01de05b4c50","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8831.26","fee":"0.5","fee_currency":"EUR","reference_id":"209f350a-591f-44e7-9eb5-e9b4f1974996","reference_type":"Invoice","description":null,"status":"completed","status_context":null,"risk":null,"created_at":"2023-07-06T10:28:05+00:00"},{"id":"510869cb-860b-4cc2-9512-62c5227c3e1c","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"a581ec0e-a426-4a4e-9767-fa09e4cfb88e","reference_type":"Invoice","description":null,"status":"new","status_context":null,"risk":null,"created_at":"2023-07-06T10:11:45+00:00"},{"id":"6bdeb0f9-c7ba-437a-8612-bb719a856db9","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"54801abb-88cb-4e4f-9c27-6b147fd443fd","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-22T14:43:59+00:00"},{"id":"6c1dec38-b1bf-4fb5-990c-1c16dfc2874c","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"ffc68d65-5012-48e9-8ea7-7cc8fc7ee9f5","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-22T14:43:41+00:00"},{"id":"27f08f82-ef8c-435f-8b01-c1af2a6c04db","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8781.76","fee":"0.5","fee_currency":"EUR","reference_id":"41e094fa-9671-49b2-8f4e-75aab15674d0","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-06-05T18:36:45+00:00"},{"id":"8f8fdebe-5640-45e6-b4cb-bc9e603eefd0","custom_id":null,"customer_id":null,"amount":"1.18246833","currency":"ETH","balance":"10.10377505","fee":"0.00086055","fee_currency":"BTC","reference_id":"7b6fefe1-30e4-4688-9033-f8787b66a636","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-06-02T11:53:23+00:00"},{"id":"4f0d989e-f9e0-4499-8d13-dcc0dba2c1e5","custom_id":null,"customer_id":null,"amount":"-0.08605465","currency":"BTC","balance":"0.0","fee":"0.00086055","fee_currency":"BTC","reference_id":"7b6fefe1-30e4-4688-9033-f8787b66a636","reference_type":"ExchangeTransfer","description":null,"status":null,"status_context":null,"risk":null,"created_at":"2023-06-02T11:53:23+00:00"},{"id":"10bcebaa-f2db-435e-a37b-f18b576c99cb","custom_id":null,"customer_id":null,"amount":"-56.05","currency":"EUR","balance":"8781.76","fee":"0.57","fee_currency":"EUR","reference_id":"b4261912-d8ae-4d77-b595-833ac4a9e359","reference_type":"CoinWithdrawal","description":null,"status":"on_hold","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:46+00:00"},{"id":"773b825e-492d-4f88-94bf-60b4a2c0a01b","custom_id":null,"customer_id":null,"amount":"49.5","currency":"EUR","balance":"8837.81","fee":"0.5","fee_currency":"EUR","reference_id":"aef56529-39f1-4b31-9662-b7005784ca48","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:42+00:00"},{"id":"2d573cc9-e352-4090-8297-d25fe0f205bf","custom_id":null,"customer_id":null,"amount":"19.8","currency":"EUR","balance":"8837.81","fee":"0.2","fee_currency":"EUR","reference_id":"b80940cb-f586-4412-82ab-703d37a6c1b0","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:32+00:00"},{"id":"dbf2730c-f8a3-446f-b088-d9658d3f0a67","custom_id":null,"customer_id":null,"amount":"49.5","currency":"UAH","balance":"0.0","fee":"0.5","fee_currency":"UAH","reference_id":"5a87bf44-7fe2-4081-915b-2bd864414190","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-24T16:16:20+00:00"},{"id":"8cd769bf-8885-4952-b669-228706e9a06c","custom_id":null,"customer_id":null,"amount":"0.99","currency":"LTC","balance":"0.59119371","fee":"0.01","fee_currency":"LTC","reference_id":"b7bdc7c4-43d6-47cd-ace4-bdd0ead8327f","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-16T11:54:30+00:00"},{"id":"d99f100a-d1ec-4b5f-84a6-63fce0dd3b4e","custom_id":null,"customer_id":null,"amount":"2342.23","currency":"EUR","balance":"8837.81","fee":"23.66","fee_currency":"EUR","reference_id":"8e69abcf-9065-4ac3-a998-bfde90d5b59d","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-16T11:53:38+00:00"},{"id":"bccb6f7f-fde6-4a0f-9043-770f2079e6b5","custom_id":null,"customer_id":null,"amount":"23.24","currency":"EUR","balance":"8837.81","fee":"0.24","fee_currency":"EUR","reference_id":"d1fa210c-8eb9-4649-9f3c-ac372e83dc0c","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-05-16T11:52:52+00:00"},{"id":"0e8e0be7-87fc-4c2c-84d1-8cc574ad6443","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8837.81","fee":"1.0","fee_currency":"EUR","reference_id":"70b79b0c-7c94-413d-8364-e0103fd58bca","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-04-20T09:58:57+00:00"},{"id":"5320bfae-ba79-4c1f-aa67-d1590466a51d","custom_id":null,"customer_id":null,"amount":"99.0","currency":"EUR","balance":"8837.81","fee":"1.0","fee_currency":"EUR","reference_id":"d3872cfe-4fc3-4012-942e-43178684a129","reference_type":"Invoice","description":null,"status":"cancelled","status_context":null,"risk":null,"created_at":"2023-04-14T08:38:39+00:00"}],"meta":{"total":1134,"has_more":true}}' + curl_info: + url: 'https://business-sandbox.cryptopay.me/api/transactions' + content_type: 'application/json; charset=utf-8' + http_code: 200 + header_size: 478 + request_size: 241 + filetime: -1 + ssl_verify_result: 0 + redirect_count: 0 + total_time: 0.623636 + namelookup_time: 0.004836 + connect_time: 0.119775 + pretransfer_time: 0.270163 + size_upload: 0.0 + size_download: 18339.0 + speed_download: 29436.0 + speed_upload: 0.0 + download_content_length: -1.0 + upload_content_length: -1.0 + starttransfer_time: 0.587869 + redirect_time: 0.0 + redirect_url: '' + primary_ip: 172.66.43.16 + certinfo: { } + primary_port: 443 + local_ip: 192.168.208.2 + local_port: 60854 + http_version: 2 + protocol: 2 + ssl_verifyresult: 0 + scheme: HTTPS + appconnect_time_us: 270065 + connect_time_us: 119775 + namelookup_time_us: 4836 + pretransfer_time_us: 270163 + redirect_time_us: 0 + starttransfer_time_us: 587869 + total_time_us: 623636 + index: 0 From 93a8fe10d7a634a18c7c81f9663c2bf56d7b417c Mon Sep 17 00:00:00 2001 From: Aleksey Demidov Date: Tue, 11 Jul 2023 16:09:37 +0300 Subject: [PATCH 8/8] [B2B-4469] Update readme --- README.md | 571 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 430 insertions(+), 141 deletions(-) diff --git a/README.md b/README.md index 00918d4..4eb4c4d 100644 --- a/README.md +++ b/README.md @@ -1,197 +1,486 @@ -# Cryptopay API # +# Cryptopay PHP Library -The official PHP library for Cryptopay API. +The official PHP library for the Cryptopay API. -### Table of Сontents ### +Cryptopay is a payment gateway and business wallet that allows merchants to automate the processes of accepting cryptocurrency payments and payouts from their customers, as well as making currency exchange transactions and receiving data on the transaction history and account balance statuses for reporting. -* [Versions](#versions) -* [Documentation](#documentation) -* [Setup](#setup) -* [Request / Response](#request--response) -* [Exception](#exceptions) +For more information, please visit [Cryptopay API docs](https://developers.cryptopay.me). + +# Table of contents + +* [Installation](#installation) +* [Configuration](#configuration) * [Usage](#usage) -* [Examples](#examples) -* [Webhooks](#webhooks) -* [Testing and Contributing](#testing) + * [Accounts](#accountsapi) + * [Channels](#channelsapi) + * [CoinWithdrawals](#coinwithdrawalsapi) + * [Coins](#coinsapi) + * [Customers](#customersapi) + * [ExchangeTransfers](#exchangetransfersapi) + * [Invoices](#invoicesapi) + * [Rates](#ratesapi) + * [Risks](#risksapi) + * [Transactions](#transactionsapi) +* [Callbacks](#callbacks) +# Installation - -### VERSIONS ### +## Requirements -Client works with PHP version 7.4 or higher and depends on: -* "guzzlehttp/guzzle": 7.2 or higher -* "vlucas/phpdotenv": "5.2" or higher -* "squizlabs/php_codesniffer": 3.5 or higher +* PHP 7.4+ - -### Documentation ### -For more details visit [CryptopayAPI](https://developers.cryptopay.me) +## Composer -To start using this library, register an account on - [Cryptopay Sandbox](https://business-sandbox.cryptopay.me/) - [Guide](https://developers.cryptopay.me/guides/creating-a-test-account) -or - [Cryptopay Live](https://business.cryptopay.me/) +You can install the library via [Composer](https://getcomposer.org). Run the following command: -You should have the following 3 parameters: -~~~~ -ApiKey, ApiSecret, CallbackApiSecret -~~~~ +``` +composer require cryptopay-dev/cryptopay +``` - -### Setup ### +To use the library, use Composer's autoload: -1. Make sure you have [composer](https://getcomposer.org/download/) installed +```php +require_once 'vendor/autoload.php'; +``` -2. Go to project folder
- cd ~/projects/your_project_name +# Configuration -3. Run composer require "cryptopay-dev/cryptopay" +## Create API credentials - (3) Or you can add it manually. +Learn mode about API credentials at [Developers guide](https://developers.cryptopay.me/guides/api-credentials). - Open your composer.json file and add a line in the end of "require" section
+## Configure library - "require": { - ..., - "cryptopay-dev/cryptopay": "master" - }, +```php +require_once 'vendor/autoload.php'; -4. After the package is successful installed, you need to configure it. +use Cryptopay\Config\Config; +use Cryptopay\Cryptopay; - If you use a PHP framework such as Laravel, composer packages will be included automatically. - Otherwise, you need to require a path to "vendor/autoload.php" in a file that your code is located. +$config = (new Config()) + ->withApiKey('API_KEY_VALUE') + ->withApiSecret('YOUR_SECRET_VALUE') + ->withBaseUrl('https://business-sandbox.cryptopay.me') + ->withCallbackSecret('YOUR_CALLBACK_SECRET_VALUE') + ->withTimeout(10); - After that initialize the package with the following parameters: +$cryptopay = new Cryptopay($config); +``` - $config = (new Config()) - ->withApiKey('API_KEY_VALUE') - ->withApiSecret('YOUR_SECRET_VALUE') - ->withBaseUrl('https://business-sandbox.cryptopay.me') - ->withCallbackSecret('YOUR_CALLBACK_SECRET_VALUE') - ->withTimeout(10); +Example: [examples/Init.php](https://github.com/cryptopay-dev/cryptopay-php/blob/master/examples/Init.php) - $cryptopay = new Cryptopay($config); +# Usage - You can also pass: baseUrl, CallbackApiSecret, timeout values. +## Accounts - Example: [examples/Init.php](https://github.com/cryptopay-dev/cryptopay-php/blob/master/examples/Init.php) - Well done - you're good to go. +### List accounts -5. Alternatively, you can use a .env file with parameters to configure it. - To do so, you should omit initialization in Step 4. +```php +$result = $cryptopay->accounts->all(); +``` - Create a new "config" folder in the Project folder. If the "config" folder already exists, open it and create a new 'cryptopay.env' file. +### List account transactions - The structure of config/cryptopay.env: - CRYPTOPAY_API_KEY=API_KEY_VALUE - CRYPTOPAY_API_SECRET=YOUR_SECRET_VALUE - CRYPTOPAY_BASE_URL=https://business-sandbox.cryptopay.me - CRYPTOPAY_TIMEOUT=10 - CRYPTOPAY_CALLBACK_SECRET=YOUR_CALLBACK_SECRET_VALUE +```php +$accountId = '31804390-d44e-49e9-8698-ca781e0eb806'; - Then init Cryptopay library in your project: +$result = $cryptopay->accounts->allTransactions($accountId); +``` - $config = (new ConfigEnv())->init(); - $cryptopay = new Cryptopay($config); +## Channels - Example: [examples/InitWithEnv.php](https://github.com/cryptopay-dev/cryptopay-php/blob/master/examples/InitWithEnv.php) +A channel is a static cryptocurrency address that may be assigned to each one of your customers. - -### Request / Response ### -All requests are signed with [Authorization](https://developers.cryptopay.me/guides/api-basics/authentication) -algorythm and then sent to the API through GuzzleClient. +[Channels API docs](https://developers.cryptopay.me/guides/channels) -By default, Cryptopay API returns JSON response. This package transforms json response to object and return it to the client. +### List channels - -### Exceptions ### -Exception Structure -~~~~ -\Exception - \Cryptopay\CryptopayException - \Cryptopay\Exceptions\ConfigException - \Cryptopay\Exceptions\CallbackExceptions - \Cryptopay\Exceptions\ForbiddenException - \Cryptopay\Exceptions\RequestException - \Cryptopay\Exceptions\UuidException - \Cryptopay\Exceptions\DirectoryException -~~~~ -Exception class | Response Code ------------------------ | ------------- -RequestException | * -ConfigException | 422 -CallbackException | 422 -ForbiddenException | 403 -UuidException | 422 -DirectoryException | 422 +```php +$result = $cryptopay->channels->all(); +``` - -### Usage ### +### Create a channel -~~~ - 'Channel name', + 'pay_currency' => 'BTC', + 'receiver_currency' => 'EUR' +]; + +$result = $cryptopay->channels->create($params); +``` + +### List channel payments + + +```php +$channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + +$result = $cryptopay->channels->allPayments($channelId); +``` + +### Retrieve a channel + + +```php +$channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; + +$result = $cryptopay->channels->retrieve($channelId); +``` + +### Retrieve a channel by custom id + + +```php +$customId = 'CHANNEL-123'; + +$result = $cryptopay->channels->retrieveByCustomId($customId); +``` + +### Retrieve a channel payment + + +```php +$channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; +$channelPaymentId = '704291ec-0b90-4118-89aa-0c9681c3213c'; + +$result = $cryptopay->channels->retrievePayment($channelId, $channelPaymentId); +``` + +### Update a channel + + +```php +$channelId = '15d0bb11-1e9f-4295-bec5-abd9d5a906a1'; +$params = ['status' => 'disabled']; + +$result = $cryptopay->channels->update($channelId, $params); +``` + +## CoinWithdrawals + +In addition to accepting payments through the Cryptopay payment gateway, it is also possible to make payments to your customers in any of the cryptocurrency currently supported by Cryptopay. In Cryptopay, these payments are called “Coin Withdrawal”. The process of requesting coin withdrawal is almost the same for a customer in Cashier as the process of making a deposit with one exception - the customer will need to specify the address of the wallet he wants to send the cryptocurrency to. + +[Coin withdrawals API docs](https://developers.cryptopay.me/guides/payouts) + +### List withdrawals + + +```php +$result = $cryptopay->coinWithdrawals->all(); +``` + +### Commit a withdrawal + + +```php +$coinWithdrawal = $cryptopay->coinWithdrawals->create([ + 'address' => '2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ', + 'charged_amount' => '100.0', + 'charged_currency' => 'EUR', + 'received_currency' => 'BTC', + 'force_commit' => false +])->data; + +$result = $cryptopay->coinWithdrawals->commit($coinWithdrawal->id); +``` + +### Create a withdrawal + +[Documentation](https://developers.cryptopay.me/guides/payouts/create-a-coin-withdrawal) + +```php +$params = [ + 'address' => '2Mz3bcjSVHG8uQJpNjmCxp24VdTjwaqmFcJ', + 'charged_amount' => '100.0', + 'charged_currency' => 'EUR', + 'received_currency' => 'BTC', + 'force_commit' => true +]; + +$result = $cryptopay->coinWithdrawals->create($params); +``` + +### List network fees + + +```php +$result = $cryptopay->coinWithdrawals->allNetworkFees(); +``` + +### Retrieve a withdrawal + + +```php +$coinWithdrawalId = '3cf9d1c4-6191-4826-8cae-2c717810c7e9'; + +$result = $cryptopay->coinWithdrawals->retrieve($coinWithdrawalId); +``` + +### Retrieve a withdrawal by custom id + + +```php +$customId = 'PAYMENT-123'; + +$result = $cryptopay->coinWithdrawals->retrieveByCustomId($customId); +``` + +## Coins + + +### List supported coins + + +```php +$result = $cryptopay->coins->all(); +``` + +## Customers + +Customer objects allow you to reject High-Risk transactions automatically, and to track multiple transactions, that are associated with the same customer. + + +### List customers + + +```php +$result = $cryptopay->customers->all(); +``` + +### Create a customer + + +```php +$params = [ + 'id' => '56c8cb4112bc7df178ae804fa75f712b', + 'currency' => 'EUR' +]; + +$result = $cryptopay->customers->create($params); +``` + +### Retrieve a customer + + +```php +$customerId = "CUSTOMER-123"; + +$result = $cryptopay->customers->retrieve($customerId); +``` - use Cryptopay\Config\Config; - use Cryptopay\Cryptopay; +### Update a customer - //Configuration for Cryptopay - $config = (new Config()) - ->withApiKey('API_KEY_VALUE') - ->withApiSecret('YOUR_SECRET_VALUE') - ->withBaseUrl('https://business-sandbox.cryptopay.me') - ->withCallbackSecret('YOUR_CALLBACK_SECRET_VALUE') - ->withTimeout(10); - $cryptopay = new Cryptopay($config); +```php +$customerId = 'CUSTOMER-123'; +$params = [ + 'addresses' => [ + [ + 'address' => '2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ', + 'currency' => 'BTC', + 'network' => 'bitcoin' + ] + ] +]; - try { - $response = $cryptopay->invoices->all([ - 'starting_after' => '366fcd88-2d90-47b3-bdfb-5d3e3e8d8550' - ]); - } catch (CryptopayException $e) { - echo sprintf("Cant get invoices list. Error: %s \n", $exception->getMessage()); - die(); - } - print_r($response); -~~~ +$result = $cryptopay->customers->update($customerId, $params); +``` - -### Examples ### +## ExchangeTransfers -You can find more examples in `examples` folder. - -### Callbacks ### +### Commit an exchange transfer + + +```php +$exchangeTransfer = $cryptopay->exchangeTransfers->create([ + 'charged_currency' => 'EUR', + 'charged_amount' => '100.0', + 'received_currency' => 'BTC', + 'received_amount' => null, + 'force_commit' => false +])->data; + +$result = $cryptopay->exchangeTransfers->commit($exchangeTransfer->id); +``` + +### Create an exchange transfer + + +```php +$params = [ + 'charged_currency' => 'EUR', + 'charged_amount' => '100.0', + 'received_currency' => 'BTC', + 'received_amount' => null, + 'force_commit' => true +]; + +$result = $cryptopay->exchangeTransfers->create($params); +``` + +### Retrieve an exchange transfer + + +```php +$exchangeTransferId = '2c090f99-7cc1-40da-9bca-7caa57b4ebfb'; + +$result = $cryptopay->exchangeTransfers->retrieve($exchangeTransferId); +``` + +## Invoices + +An invoice is a request for a cryptocurrency payment which contains a unique BTC, LTC, ETH or XRP address and the amount that has to be paid while the invoice is valid. + +[Invoices API docs](https://developers.cryptopay.me/guides/invoices) + +### List invoices + + +```php +$result = $cryptopay->invoices->all(); +``` + +### Commit invoice recalculation + + +```php +$invoiceId = '8dd53e0f-0725-48b4-b0a7-1840aa67b5bb'; +$recalculation = $cryptopay->invoices->createRecalculation($invoiceId)->data; + +$result = $cryptopay->invoices->commitRecalculation($invoiceId, $recalculation->id); +``` + +### Create an invoice + + +```php +$params = [ + 'price_amount' => '100.0', + 'price_currency' => 'EUR', + 'pay_currency' => 'BTC' +]; + +$result = $cryptopay->invoices->create($params); +``` + +### Create invoice recalculation + + +```php +$invoiceId = '29a563ad-b417-445c-b8f6-b6c806bb039b'; +$params = ['force_commit' => true]; + +$result = $cryptopay->invoices->createRecalculation($invoiceId, $params); +``` + +### Create invoice refund + + +```php +$invoiceId = '331646a6-c8b5-430d-adfb-021d11ff6cd0'; +$params = ['address' => '0xf3532c1fd002665ec54d46a50787e0c69c76cd44']; + +$result = $cryptopay->invoices->createRefund($invoiceId, $params); +``` + +### List invoice refunds + + +```php +$invoiceId = '7e274430-e20f-4321-8748-20824287ae44'; + +$result = $cryptopay->invoices->allRefunds($invoiceId); +``` + +### Retrieve an invoice + + +```php +$invoiceId = 'c8233d57-78c8-4c36-b35e-940ae9067c78'; + +$result = $cryptopay->invoices->retrieve($invoiceId); +``` + +### Retrieve an invoice by custom_id + + +```php +$customId = 'PAYMENT-123'; + +$result = $cryptopay->invoices->retrieveByCustomId($customId); +``` + +## Rates + + +### Retrieve all rates + + +```php +$result = $cryptopay->rates->all(); +``` + +### Retrieve a pair rate + + +```php +$result = $cryptopay->rates->retrieve('BTC', 'EUR'); +``` + +## Risks + +[Risks API docs](https://developers.cryptopay.me/guides/risks) + +### Score a coin address + + +```php +$params = [ + 'address' => '2N9wPGx67zdSeAbXi15qHgoZ9Hb9Uxhd2uQ', + 'currency' => 'BTC', + 'type' => 'source_of_funds' +]; + +$result = $cryptopay->risks->score($params); +``` + +## Transactions + +[Transactions API docs](https://developers.cryptopay.me/guides/transactions) + +### List transactions + + +```php +$result = $cryptopay->transactions->all(); +``` + + +# Callbacks [Documentation](https://developers.cryptopay.me/guides/api-basics/callbacks) -All callbacks need to be validated with -[signature](https://developers.cryptopay.me/guides/api-basics/authentication/signature) +All callbacks needs to be validated with [signature](https://developers.cryptopay.me/guides/api-basics/authentication/signature) - validateCallback($callbackJson, $headers); - ?> +// Get CallbackJson +$callbackJson = file_get_contents('php://input'); -If the signature is wrong, the package validation will throw ForbiddenException. -Otherwise, it will return object +// Get headers +$headers = getallheaders(); - -### Testing ### -To run test type in terminal +$cryptopay->validateCallback($callbackJson, $headers); +``` -composer test +If the signature is wrong, the package validation will throw ForbiddenException. Otherwise, it will return object.