From 558545e4694936a78e343f3813a4e690d6cf125b Mon Sep 17 00:00:00 2001 From: Gabriel Pastori <58153955+gabrielpastori1@users.noreply.github.com> Date: Sun, 5 Nov 2023 00:41:04 -0300 Subject: [PATCH] muita coisa --- index.html | 2 +- public/favicon.ico | Bin 15406 -> 269374 bytes src/App.vue | 17 +- src/assets/logo.png | Bin 11955 -> 17605 bytes src/assets/logo.svg | 6 - src/components/instance/InstanceBody.vue | 59 + src/components/instance/InstanceHeader.vue | 99 + src/components/instance/settings/Chatwoot.vue | 220 + src/components/instance/settings/Rabbitmq.vue | 154 + src/components/instance/settings/Typebot.vue | 252 + src/components/instance/settings/Webhook.vue | 204 + .../instance/settings/Websocket.vue | 157 + src/components/modal/ConnectPhone.vue | 99 + src/components/modal/CreateInstance.vue | 12 +- .../{ConnnectPhone.vue => InstanceApiKey.vue} | 48 +- src/helpers/mappers/status.js | 9 +- src/http-common.js | 21 + src/layouts/default/AppBar.vue | 11 +- src/services/instanceController.js | 34 +- src/services/instanceSettingsController.js | 139 + src/store/app.js | 79 +- src/views/Instance.vue | 59 +- yarn.lock | 4148 ++++++----------- 23 files changed, 3005 insertions(+), 2824 deletions(-) delete mode 100644 src/assets/logo.svg create mode 100644 src/components/instance/InstanceBody.vue create mode 100644 src/components/instance/InstanceHeader.vue create mode 100644 src/components/instance/settings/Chatwoot.vue create mode 100644 src/components/instance/settings/Rabbitmq.vue create mode 100644 src/components/instance/settings/Typebot.vue create mode 100644 src/components/instance/settings/Webhook.vue create mode 100644 src/components/instance/settings/Websocket.vue create mode 100644 src/components/modal/ConnectPhone.vue rename src/components/modal/{ConnnectPhone.vue => InstanceApiKey.vue} (56%) create mode 100644 src/services/instanceSettingsController.js diff --git a/index.html b/index.html index 0b4e17c..8750778 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ -
E3!`^Ryb;#~-`;^$wpSfUc`!(tF+( zy}xr^&_@RBP*q?+G2w7H>7yVYJ27p`zWtoNh0*WpC;cn148+7y-j<(X-?pI8{<1J< zS;Z|G@bN&p04PTCaTDA2t=KpQ3XfxF!w#f>0I~5D+N0~FtHIBzWj(Y_oy13nf= zUkGB4Va2oNtu-%Ecnmumbj^P%h cfEi@30-|FF|banzu*SBtw06uUj-Y z{>m^eY2F^akK!D#K8S{6*#g!8XM>pUje0&W!p`)%pL{f2 znjwQ{K>l`Ejr1RZ?wR}8h&9#PSv_BvT rQT}59&xE_=>5ShAXfgoT@Pd9`+z;) z*PDwg^(*}DwXZS14A=RJ+iSs&-u74=;_V^TdH)r_Yb@4O=O&sr*&ZZu5DS-P$KV-o zK3Bhg0?;@RYn*z!be*a>37uO<6|deNQmvc&G>G~6N6+U2*m(?C6-347;G@63HF#f> zz8qW)d_2UQDps{7-Jh>S<-ou$U6b4mV&>A@b~$!#9oQZfr)Erl83_EW>r*`s6YJmI z@bT%>?_ld@f&Kj@W|l__?9%$)OM$mL=2YiW{{=PyHuldl24dgc`B?XN-U`aFhR(Q+HRu41+?^ey=fz{SA(KlbzvY~2S$HNT(t zH}?7Kk>`;A1&Ezj*{6BGpMaMFZ-2gNwq0Td0>7?9ei6|1a~Wb&HvR@|3ZfpDynUpa zkNjUy7Jg;t=fN|9>A%D}&zm0lll&fF87NC!uE18E@9X_IWzoLQ``-ZW17+d)R&0GU zSOrAQb3VRpyEOyekEA+Z*7Muvg0jr-NjI94cqJ%BJbF7xweI-)pe)*#o!0?9%V}eO zYdMwb+rW>ykNa7makNbF_yz1O)mVhRUOVq3U#4p-&HJ4MHVoQOs(3eJGk-Tqaj0|9 z{lN90OuBy@dyfNNOQmpaV6W~;mhHM;bl5B=7f9TkKOV2IMmbo$G78iRR17q S@|33v*2T2^2iTgU+>iy-?SCMKRe3@cTwmt+F0X=I} zy7+T8>wN3A;AT)Z{x$cfbxH~MO6?Oj1EH_TYc0&lplop`do||kIipg>USRk7 RnmfNg+pOTL-5T`&WoZ^*9+J^=m*LSL38e+hQK03`8NFtszT-rG;A^;D;T zr$JeK;O*4?;BNxmA2$8ZI2s1CW9Sp|x;{Pv+zGt@%9Lsyyq?w7vqq)XzP#<*K)M$w z 2syM@(}CqXp7g1*7+_5 zWgPqEAKk0C06Z7?HpNPNipm4{|XFD_zz=BS~&!i_4?k&m+nPw@7q=&y?w3Pw}({oFnVT2bD6%)WlJ^w zYyMBqDuyxGSI+EU%?#xEW?SnoG~SneJkdR{j{~hmYHoPRzfqeUHYL3fluh%Yy}JJY zI(Q!N?Ml*;yD3`p^E|UH-M=4{eY{s(={b^gElIRan1x}qPx_b()K`~zPDcLH_1Sm9 zTfqh(?E_{(k?q=ofskAB8XI>3CxEh#_ll$Y!6$*{DqFO^8egex4hu-jKK9FRnz!`6 zOV|IpHde!F1-HU;8KhdLdnM4hmwZrW=v-fG54HZS(&vr7eWbd7xi`29l-YOQc0H?j zEYN(0@82rz%VBg0IWDz6Tyw?00G{` WYVend19YH&F?yt3rWqGe(w>Xpj z&jx=Bo(XE<&q2gd$eqh;Uge*Fu8X_*p)BQ^GyWV%&ld;5Wo*Z!y 6Y-=6UX<%ot8VK86H@Bzl&GW#vu8(w`bQri1RKfSH+HeJJ zOV@>`gw!kp2VMvB$iEfb3N&7};;hWy>74a;a4L8WXzBy_t`^=`J9E%Duk~I>fS&^O zm1XvIC)@9)ZJOUsuLEo0^frxz2OkTX_dgu`8Fb>W>}9vmzSDu`0@eV&{b|~Us?vVl zs*QXne`}n754aRm<$h1Q_|&<+*6^f0FRerSXgGZMxYxY@MPLPJ$6*z|f0Fjy3_c6? z1Z#oJJpr~8PWnjm&=2L?kV`er>s=@x0GENP&GWX4P(ct3m1g+V4PeoGAWx0$R7# zj>9T_uWJEa=jd8s7tpjei0?`lE8gZ@D$S3A_kkaQhe4Hm*{Lnp&{p;F;-GZ??6=nQ z$Mc+!t^z&{G&XkPvr1)} X?wdizm$CRQ7CRh28v8c}UjlW~zhdPHa1YQpaXdH_NIS`M9;9jf#NspA5!yw5 zWw1JU6*wCFH@FjM-J{n-T~hVwdfsa@knj|f-(s@G^W)NIk)91SM^cwq$+z=C+Wup( z7%T)^gQk9f?=t%9w@>rOZ?nBA-|qm91K$HTfP8!Ew*3P*Nbl#7@3(6zcRX?Aur2Ae zpl&gfZ?D!p-2rr6p!0#Zf&IZoKz)Ir`-XFX=Pr}>5+v>R4ZhdCDb=IvGR?~#3}nk8 z;6ktz)ag1t? ld7KM?`ohEyz3^|p$(%zf#*PGc1J7&SQ=JFt8uBi1F8BgC#ie_Z zYW!UgK>b3dALwyg*BUxk)v$_iENSHp9XdJjc>oM+YSIJ@22bC z83=gO{jZ}y71wwASm{S9?cD?}aackseQM3jE2e>+`R%?yYichAI*yL{OJHMq_x?>B zY0g%2R*Cj|k9zy181THgRC7n~2R8n9kG*_9qOn=m3%z2Q<5|}k`D593XHK*x@l#+u zkjAhndio56{E^qS=6ivS|DEH{^jQo)j}n{G{d|z>UU~b>jDZ}F{`&t zI?w+MSUZf@nMJ(q6*3U=NnZE zU|_oMUAlewC7h@IEO|Zqvn%)-M9dG+`2_3TtS z)+=wHVj0N!L(i^g{qKFiv}zp8HU_j_??kXJNOfOq#9Qql1EF8YOaDiLKZDu&-uACA zhtmDOfOUZBJ``MJ`OrV)rT?SB?Lf~{n}&^pUSnVd@p2c?^}Rip6PeE2nS-y={+aw* zK=%N@3iRB2ufDh6)t4*XE4~oC4ru*&8c*$F&c2U_fzV$rzXj=;Ky$UGYvZ6@3}|is zcR>2S9rB6x ^*e#(Yo)~HShatpmkt&|E`p3p1#reI_=xZ&jZ^4y>sOuVAlcF z?*|^k&*y*_0lfz@jECt5l m4lnfNOxx4^8{! &IVei zqw9J-@11JDlmTl-_nm<-CdliZAUlHNf!+(KH6PXol!pVY&07jS3o>hR+3tJn*a54- zfMO%Sn&e*&P6E1Cv_2qi{p-06_0^|=*8rQtuZAp#)(T=K)W7npfR}=ggByW88x&U` zpl5IN%$Dxgi~*a!ADUXKSrIXm?*sInrk%j&fcgNPTiUfiu^dd`gT-Jsuo}qtteTN& ztr`{s`FLVm>w;bkJ_)oI6N~tACw${T`?fel^hitZ9B&f~a9V`S@a6e np3!Dtj1Da#jHK<(=%$@^XSN##_{`~1c z_vmd7ugKuHx-;Vq@u+QGZ>|si2AlzwgZqK?0n_I|Ypm}EUjqk#XMv`3d%m+sGzJP| zK=IcCy05JJOoxKYz=Od0fX*CfjMwwDmxCk09$-_@#BX8Fwu+5`77VnCQNGi&q0a{D z1HJ&R0FME^2hyG$XuL~J t2|1D^@uZ)4{81V5Lq*_z@LZEZl zgTc3f=Bw*=U7+{f-wG}Q?*h6;S_|0t9$gfhK{I8bRXhjZ>3m>&@ILTO@GYR{h;+}e z3il0l-{W!cB+z?rHD9N8ejL0AY!2oC)BH>W%=U|(fmZPye5dyatP3 d}@-v!Nco(c4x^kczWz{WuBTn#koUEkTq7^pG>?czT8Ue^YiC(t_L zeZbz}AHdJRwLs4n{2$PmT4aB)jQX!}_%*54(d+zOSP1l91Zh0;{G9tPqx~xT+uCLf zbYh^D9&+D3gY5-ibFdkB0XPn5Y&|2um&jiU`qd}g%dyS@rvqP)>No}L1!T)8kX>to zjHX*{cjCdyjDfl{&`L8czSFg``h+~xFT5EXI7{d}UHV=V=sYA}Pgk9@Pu*QX8(fH7bU7z4(DF<=ZB1IB X8(fH7bU7z4(D zF<=ZB1IB X8(fH7bU7y~t8V6yY)>CVNIRzCUo$Y^_#;AdiFUdQq! zBXc{J6O7%;$J_qk>B* RSd|$p|Bxg)xe{bMKB8+kWYtl@)s^XI#EiHEqSdtWH z%xUcJ40OdIU#>hk zB z=(K;gauJx{e_qf_iNIVryG;E+1m?=e`D&^oX(~@BpX!L3$`hAPbz~eZdwjm&lU6X6 zEBBi9TFRF=UG@O(vZ#c&tpiw>^9)Hvo zB}t=vtZjK?EX|aUhx<3mN5lOy<&7A~l!v>!7?~gJpJ`s#@(KBm0GQ%0)BMRs`MjV! z^sXPw=LY4Y8T%Uhhvj3lEFW*N|4KpqnPS)eZsj9W`)8uZ$4A%l@sz(T{azJQ }ep7j46ie%GQ$E+* z->rN!@4rR>r~8+$e8~u(4)#~Qd{LM7$6hY;r~KC~e%q9H(??o9XnnWuUm8MgQ%?WX zC~x2Y&9J=DKkN8OAT%Anw{rS#H`3+%kF@`9Q|?Z%*nf!}olXe& O@iXQE+$qugzb z`9jhqjq ~rPL8G(nL`B<#uI|onA?D`6G<*5gpd5!C5_Fv?VH?D*6nQ+@M zmK@)gk0zy4zh^rsU*dl681(ky-bVR^D|ZI?>NP==?4N$Y4t)IKGy|5Dd%E4cu0L9H zdE%n<*J-)uV?^J0cQZ-BMsobAax6@ZnJV`LQ}Mjuw^B^9e^8# oh->9)GG$X(5^Mw0w%Pu$*FNU(o2OA0%Wq?C(~dM#R+K?nXpo z|CR)bK39Jlq2d0Cp56XS!UC5c4fbzEz<5yJiU1Y+`dc(GX}&LS(ZGfnoP8}Cm^9Dt z-=cv@^V0H(rUs6M_61Sve>k2gZ)!lp{Pg%u4ak)@HK1XBy8mR}z|o}o_T^)_^1KHc z#Z&v|40K)1RC&%oXI@ag#1oUGqxs|K7#wdZ&oJoNN#jGmUKCW&a2{WJ|C3$Pr96z$ zaekkCg8c&n((1$G2NjIEy)*R(E*fuHp1NS_@R{SM6nk 0)P^RNdzT8oilG9Y4 X)DRYDkDppSmC4jU^>v!7efj?b>*nTw literal 15406 zcmeHO3v5%@8NNVarCoU?zSqezmT6npu}xxXJJhY(x=s~hQ>SSYYSncU&|(|9Y?QVX z@}TB1G8mASM;tRKYgJkrAW)&g7${B%c>oE7;)O>NNO_bu4G-IdNB({Pb TkJL{ZGDJe2DLL+vq#sL?l$jZPe_*I2y@|4sBRjso zUy`aUlJo$60})6B%aMKN&yMG1 Qvjth%4dDy{HM^34) z&_TyGJg3UC{J|n2-wr)LDYwhNWBH4VL-JgYz;erTEKiMF20`|$Cf~GysBU40j@&)u zboK>@(yL25%R|RmS~6@99bG>PviV`j>&k~M@~J%cn{`uCzUOyY^23rlWt6DH=aut3 zlZo^g63 xIXwP(4)hgT<|I>hSGqh7YbLP$jL+%p0>vM2Su?wmOV;-uyLFww=KN5Ox{j<% zmi}mZc22bZyxbmI!x+Ch3+qsk+#YbHJ{C dQjDh~;LRJB63Pq&~p *N){PEn7FA;EAwj=|b_AUGw z{Eb1Zt8`N8chL?vjkw~yAvg~N+W_qV|N7U7a3HGfPY0GBqUxOaLJzPO2|Qz7H&yF{ z!Y@7SbxH$-Y
lpxgCaImE$Fk6T4dUMU!=a+u##*PZb&m9d@{VbA<&v z;n*Hvm#Nt5zF}Ud{=9#v%+3;8${f~WV?Q`CFATe5JXp$wT(q1TOU7#0jK6PDXZ)(1 zOSF4N3hStRA?+K$*ZctH(lRF!KFSL%W20hM6%Rz+k9We?_C36J>PVG2%Y`27X;nW+ z*x`6oe7S`dXABgw#vFYvuM;-c|L9ua=7z9?9B!c L=Fyiz34xz{6kpCd?PeyG2V7mkg!!m@d$btKgDK_Ib zt|Qt#$Am-fZ&{xA0GOAnn8Ue+QQBY3NiO*vfvd{5lsp3L_K5f@hhj{}^Nk#us4?p+ ztOM)g! 1L3Ff(Tk8KQe4khoQS4_&0;4zo|FQr(iM%k4L+U*z zff0J2FQWxM*K?>u4d$6_8R>l`cK 8U+!w`A!D@A2^2+L%A~GSv8* z(uV!wgk D)YqY(1-;X}j zv4?n }%=LOp! z;8GgCC~I2q%*#5{$kpuKJ6-ET *}o#)Z>p>vQsxF25{?c6CQ5()gsGtn{ Ul`*ykb!bDMnnlGUdfYdn+9lsY%+pJ_Z_xHs+imH? z!L`+luUT1yv*4C1Z&<#Qlui*r2~lxBI`sAm+}oX{s=OcRf9A0%Q^56>8DC==kKtgy z>D-TeE@f3uu4&Y?ZVVlM3wLg~Z>Y}xfNE|1MIAijELQN`Y2<45F5=t5>wtYuk>yuH zXEJj-vN;uZD0|537U$Eq5Oek?f#JlNGq{dN(qiDuxO185eWG@Tuk1zKUsCs)MAVm# zZTvIN+Wl0&MDXYQF#3{qXA$(Ft>uw;>&qkE2f#n|`-?1D`gl8Gqj+=j77qvaV7#CH z-mDV$x0TsBRP5B|jZ%mFQ}FDv4Rn5l$yl(|`Q7Oe;~u+P58Qvv*6uy)7U=EIpPM-5 zPv}(pkwc!Zx3$@4;Y){)0d 2tO5v#db 4**wJ~;d2`ShTX zw|GaKwMoD4ydIzqSN(;l&j_8}$q^eYga7tU+}ZvgxyO*m1UDkuojePFZ zG`-$PpE1`DpyrLMO}R7wCfu3t6Y|B7d%f_n+{8^32;HSdS9&hVGwt*sUYr-!%%`a~|XP)!GJa zaPfvq9vz7{ms4}`U~qpQ+@r?~G$CeSuOWUWWPj8xrxoKsi%ALkMoN~Re@yeI<`b#& zQakqh?^Bfdlv*~90r${a#kP)=j;z5r;Qua|_8~6ciamnnhpFd84r{fjgNVx%{UgRa z5XnEKlf}cZ&elidYgP}Qi}Z0^o$C^y%G~k#_Qp8=1^BDy6=xQN&GlMeiCUK;x&F$^ zjA44c!M?-)Y1kOO--Oix|DE7=F!d?WE|oc-P;ICUYO&YsIA3qS68`^+SoxzLDfxQ- z)V%&7_{XQaWqV^?8s0=b5Yxwfs(L2+kBDu`F4FIF*gxGfML8AK#-01US-npCiqalZ z?M~DOWA<^ZR|~P;79^A!*A-C1sshAC6<~Z9P|a%vs7IcNOJh792S@Vc$sCItcXG)K z1Fn?E#hswKujQD~WT#qpf3`ix0(EL{#By^?PeQ2& + + diff --git a/src/assets/logo.png b/src/assets/logo.png index a5f23ae7bff64954cf3537377a9f99306baf083d..bd9b3850a53b5524e9c04f1d2cec3a290bcd34d5 100644 GIT binary patch literal 17605 zcmch<2UJu|*CyHlnhc`koKbSlK}AA~fFeP%NCOhP$sh>b27C>qMnSSl5)e>w=751l zp?M`rK1!0@k~4Go()wrC%-nlttvfDR9?sddYgg?GyPo}&kFS~=Gtu+V!(cEbw8 B}Sm>6!r#aXSHxD;Ou-Ci;C|c7 pbf}T%a%Zmv8LnPQoSLDJ;g+e#X zt_m4o1Kou* !*MQ#TN )Q$ za9RH#(SK{W QR^S{udaeRO+MTeC$A`{ zaMG-Q2x8p+BZmtK^!-QW7&m!$Uw1!u|KK1 74VpR1?4 zJkH-!MCd;qsbzrm#RftZL)Iz(!wNGqEwq17u&ckDJNlBY2-IphFE5N1M$^Mh$=yv& zR>=*cBCB%imWQl{in^PuhN`;SEq6B!54T(H|1N(C>lSk2+kcnG{C_NO5$FZYFIV6H zV?8Ic?qpDCnRo?3?uz)=oVe~D@UJIdFQI>o11(p#lku%9;&$R#cZ|rtUVHr?_rO2Z zhTV3Dl>Tqr{ZFwVtVeK|YoPlDPpG&4UkoUD$b9*ex%khP$p4Rx{KvQdGH?Ga4lM>J zkN;VTpkMy8mbv>w3s@kuQZa?f Xno0obDEgJH5J7FlzMMBtJ zDTrLJKeJm`7UXV%SoiQCM`SfNuM+ F3rtNscN~VD>ls1}ZPytUrHt&o5iuKr zsk5Z%;%i}%a9+v7Bd)Yied2@T?8CF~V`oDIM%Qmttb!717W*tofPQM!@{s@3WRRar zsRv+sU7bOLxlT0ATu>Zdq0jxgXKGe-$4+ca_3l1V{hHg@LH9rwo*j@>-(+vq85-=|HVa}4F6Z$L zf2@S_p39*jsQT7diKyO#m#d}g^zu@3Aj44p>hnD-#_?rEEvVtGvZK$yif{H;eNK&J z-$7mxQ)xF7RZpPAk0YsQ>oF%q74Rc)!dPy4ciUNEJ3<7`L^DOv?y$edU)gpsQrkpV zyF;=o$jnc(-8eVQUg){lNQZH{aP5q+`Er_U)WHYLwcab-6z>Kaq=lGM-ypnJ(z7q0 z?jt7VGiDVbC# 5`0W{YZuZCtbNSaxGz1N zFK?X!FPFG+g?t&iaIpRu= @=8#Stv;pI~4FK_7!)Ny+0t@)-0xHP0=!vbrfE8wRosW6wN zg9!=85?dB-N-^<*(s;CwQr50-1zB!joG!~HhUFmc;N9_yrKYe2XI)pI VSDu;Ezha))%xNevFUOY z8Px)FM7{e$4j*AgI*%)`aEbdYZi{9$2@up9(Bn#1JU%fa 2ul^Ao;M8e`4U@7@%JbLe3a1-(j}i8Y zh*W(48gp%d3F(Z)>>ZvDG@PmIe2UNWXb74MK-R1OVhhakr@}_~vLRc>XNfkI`-x^6 z7UCD=i*{3pqYJaJ9MsW8qcxw)9QiAX;OKHR@EGHHP)aJr5=UI|OVtqw9L-Jc`k uWARPwSz3y>;trKvhB#IeJNr`whS{P1ekOL>&)i1 z8N<-m75~@=&{8f2zS~-#*2wY(@Yrn4JkNs(;7sR0S*;w@aShsdzM?FKC{*3EXA8?- zF0QDkO2))E#YaeEWCAs_tX*Q>mmi$rT6SCe?DG${4IDGdWsog)%v8=7E=IpG9Y6p5 ziI{3
~z2pmkyu&Sa2n~DW |BSr4gPwmn>4a$@&;GewwJh2yQ zSB%zp@hmX?w)wp`j5~MI%tGJkrEa`X9}~Cklvx{5X S;|tJB~vf*-}kTrL&N z%%#X06KfV-r(dp|;_l>KqvoOvsDFPu8=oh*k^3jx13jPy8*5!()S$TCbenVAd<=K- zW57@0H-Qp7ja!{*@uOj&8I6q(042b3pj!N?_Zei%hybeTG#7jY)+O%{FSbmK0LD85 zCRjl$a9o49%7AQ1M|B!1%8MFXh!vH^; O(9^P0$(I~+u>(jj;UG%$z_ z3$$Pyrf-}DzxXw!&sVLXC}kWU314l)rS@OhhpkGQCO-X^((8+g3h9#2o<4rMk(!!U zV1LPI&7z~(P XAIK7QJ!m+!vEWRJ;~%PE21Mw5f1@30P^lSlgn zP(>_fFhnucQE|!IU%Rhi=t346zP5J>6o&@&$b1SkH#mYqf7 ;!EgGCtoqfp4F zdBiP=+})qO4^^OkA^U<<;9x#OQeJy3{*YvrCdVIk@>&=W*!d`f{+P#2&cIJG4E1uw znsV1lHqUS-rNkk%j~0pjw+#U2tPY>f#a|XrZ2DoSsAGPk(75cY4X4n>uV{$)RsoGd zoNV DMJs8o){nEU6WkNN;)jZs!Y2+Nf z{rQM#A;CCtCG;a8Pl$8>R>XpA37bvi{pn1l!~M~zPo4fCtLeSpYX4^;oEilMqHaEz z==wVju} 9WQ`X^!0=nV^P6+j53maE7p}|>pzn85$Z(gBx8xgBMBvueaV}GHBA?Mo7T5k zmhAJrpBMrcfHvUsL!TlYWXpa^Vz=>AhN0KqKY&?E17El{ce6Rw0S~ASR2vpAHV1$e z%Ll`2 Mw;fyza3it+3{DXb; z!^Nwb>WQqo3TY`vVidb#&1Pqs^6ZU2KLH<7)zKJvRrXU_g<2$ggy 9XXJww$GJ>%ZU^wG!wAVMiAyu9Q+`qjc(y^NU`I1IncO9Sfq_yZBjc z#+~^Lv(TW4Gdp37+XW7EnTAF)24W=ri=mH8o(26_tNGw#!rA(m`}s#wtgXvjx*sd| z&AZGW?=l>L7Lzhy8ODAPhb=4V)S65nY$vm}D-83;^f4dlZcchlj~$-Ue6n*M9EO76 zd2;Wq7ezyZ$y=SNiRuyU_?*W9N`ALRGdy@Cd1oeQWkfpy$e!P(9E(%TeCy|a8c*N; zB}*7hzBZw=^lIo511VqS7#_uGyoQJCp9!PR#(M^3{I&(;P0pm26It7g7`Gej3{$R> zB~vL~BG|8jmk}=AiWyNBE@sZjt)I8FWolyKt&1GQkZn&m3sCNQee68BPY$WalxglP zr1Q%Lo1v9pN;>`Rte4aVTj1Er*{I|Rwn}vQgYV=Heep;Sd)|%MzOszEqs`ZOvZV_? zqINE=h#h9`Y8T`5zISprQtwQyk;`2qOyw8|g~YiH%eAPQ$L7u5sCdcA4n=!CqB YNlAM y^c*9^yhM4S(G6Fg7;yS3tmArt`i=1j9rcONto zT%b_~Lq^ZVBaXPkFU()8G94s}T5=|Z7D&3f@tBQ&k`3EWHuqX5XcLE!106cxAIv#2 zeyCd~T^3tyxmhYK|M#je@4Q54|K-L7o(egAqru-Um(+emRF&xsCb|#kl0MWA;tGGq zGbM(t6hHbyp4x}va+lEPN!(DdS@63DeC66{U5sW2?~3+jkv%lo=x+^NTK6VDbii58 zIXx(twy!{YCsq~foVo8bULDWZXm1cdxQuSFlasQ09_pQ#`6OIz*y-54rs>7|4~#n* zys#~axp9|!va*XH3UmV=b#AZTv5(ra)(zoL6W){6G^%9{*P1|I3o!taFl@)W?bRD` z@R%SZP>PSCUU919@S8k4%->44Lr)jJddpV-o%?#6`>N#6qpNGm^ WxUv1c09dyMnA?vxUbFNvs5oxC$))NJEIFw zNrAWK3xga$Y3E^k(6^LaKQ3xALXRr*$@M={tIx=8@ZE?gsWfV<%`VYGVVItYvnkI$ z&o8+>S^i6dx3d$PXG=V8b*ynu?~K;orkuH6T@|}jam<#XU0C1Ok}g2g^zzD(dWz_d zY^kXBtyCz|QC~L)`FiVS6Mj?~4OH>%2!dgND}Y4jvRi+<7)XEX?)=3&o%lI*O2z zZuvqT-43JXP_*?=`@Eu;Q4Zs~)AW6helGeA@WFJ5j_h|8?T&odVnDUY)7v*dc9p2F z1s*nu{A= QU&B^`JoCAXuHC8o8J_niPo|OyZT`<)oCg&CzXN0rR<5td*Ff9*-S( z)RmNdAux2tdFZ#R?iLUK9ig(;e;=NMT@eV6uJ+b5FPIs6E_W&Y^|e6B-HgtVs^a*& zX!Z6--+_JV5k13J+B#00L+^{r?oL<81!bafK4f|OxPIN-y#4V iC~JBuXq|L%e3n;_&2Rx#=$9yA!Atew@H$7a!>N;sk{7AixRz! zAlUmb*fhhK(nI5HVzlZPoqN4^0EkH%t+(MQGnD$NR56LsrHEAgv~^!%K2Y|$cJ!;g zI@pjG8LdXS6R1MYTAw+H%e;_P=i=a=X@cDDHu_^=K|w1iFYk}CXEkEWPO^~ zZ3D*&S3c`OZk=;5_ZjEcNaxEb+iZEI76;OF2Go^95&Cgla=f#kywhJ+*QTbKD2?wI zozNv-fT4;X{f=TU01Az49y_rQC7Z=fo(Ki_pe_E2k%ugih3j1*cMRD$-1C>?uGVMb z9eIv}Q`Eqqyv|2?{Ee|=(#HZ( b4{MOs?Y+q8@Omwvx)qzl&zveT(r#>H#gV>+JV#IzPaWjT_X_bkm z%H3^P|FF1rxGAPYbh+A)IDgyVhph1O?F4A|efliXYd3)??PAMTYE)eNt@BHNPf}5& z_QYn-ci)z01)(FSD8|TRsxjyYA{z)nHwWyF`p+AFp6>m#q6}2DS66l43KYJ&yoIe6 z1|M~1wK~&`3UVTj>7%liGQ%!kORv8M%45Wio!7=JWB3@F?sZZ1$T@zK^9lrd;44fz zPpSm1Ru3O;q#R3arKH~ZDRO#EGHL$K=EMXhc}p+vjJKbPCg_>m&D!(&LM_s|Ut?bO z*rtNp#Bx;zd6bdar#8LsCOUubjz$`L*+U7MgHzmwWoI3Yd3~vz=?^UCFXp9i2@4;u z^ggWm)RxCEXG$VsW&78BC)xPuGih})m)_W7yM@EfnJ(mn0I|J>RivoEd#}~XL(KTw zR;hJp>zGv2&5J% 4>uhGTVwBFIdFUwD(^sEuj|GX-p+>iPK$RIjlf6%ny#tD zy+z-OZFj|CtFiu}4XKy3;rMlY3H_jwxEWtt4~m00U-G@ZT4ngMQee2~@UYK1Q_=At zvK8sfa==*LzEWL}q1(CYt)M;j39ru a#y$)v8?yJJbs8Viv56ag`NR-7m8LFk5 z6c-FnqZ$|j)_uymM4Xo6^V+d_>1-6_kD3p*Um(o29Ij^(-+?YJfF>PmRro^rN(Pe- z_l`(fS$SRo)qx+0T5?;?$;9Ap>R7>scCXuc%j!~zAyw!+Q;Cx`Q@ir8{FDD>0CEr8 zXz$k7YC!(avr;Qb^+cx$pUa%RH%-y Q6|!b@JMQ6Im9}z{+OtmIk{3KxBaY 2j+6yW$rt+w%kLdNVIH(?>85=xsJih(QR>Q^lf9WA!HqaOPvZbpnb8DRPX z#1lkqD&9INFw`+ne7*lxd+$*uD$kfhRVL^7G;e+wc94CguLqg^r10h)SHpQkP5z2# zIH{kM`}R2FMR7gd&MCW?R4Xhea<%=4y*bbV p{Lm;T+TrK8 zm$-m^;M)+SR;CUGyZk?zgN2g^G(i@WxzK86zpf~dKuEA$&0#@1@Q8BuX4*C+qO`c` zknBDcHgjIfA58#32k4cZY5d15s;ENWbHoN;?qL;ehHzFK)g~EVT%XhwYh#pUeB0+k zu6^wxcer$HV?Ra^F=1q=9y{=Z?`HJ8h(t*cATP?>)~_3xlvP7a_Y>CqSh^A+=EV}l z$DYPr l$O+@np~lJ;T{;^2tcfQ`B zBdUrI7nIda r@EJ~RZ$ zJ}M+qRA`f&Pv-rj;akf{oJsg>CFJsyQ-Nt}nkEq1xp{7BQdB{jX*&5L{xb30ot$6M z1^$|U1=}>sv;V-^*5W6b>aNdycn=Mj08xrTFS&R0SKihQC|s7y4FLN283_CE?Kg<+ zPeZaGi*UxGz&-dR(-iO`Z}otu>9334$%=um``H22orBfb3%%X`nJP@u#s2VCm (PxGqhCZFz-M?0!@%*x#{-O~{ zHeFUhWHLli*S&%)Qp~6-mDMwIDZEC3y{F>+5d2L;Q=n3E7=qcFQxes8r@{k ?}K4rES=DH^=e!PckE$D}sfIQtq%FhT-5jy}~pHi=Rh` z5S}*df{u!^I;^}sd!1NQ#j#^EH+222t)A6)h4<>3ht&m_;E+(l&wSc(1>U;9o@`uB zu{tMB3aDp#xOn?sF5VN-kt+2{4jv=3D>6LhvG;|f_|oF%mA~?q9Sr5N8)|}uRcmSM zSa3a-)cxXMj#)fE+v>7|+x vFG^lbKOwJm~4KOI rV`XnA-*t&vql=klPE&}Ti3$SIDg{L-l{Xx4*Tn~sw9f1g~n*kU2~ zx}J+SuKN=g^~kY}F4%!Pyesj= T{b|fR(H74ho&W= +i8}oWV~r)X6IpLj7C)SfxZG=c2ZTxN3XcbZmXe zxu`?0xMdcdoQ=ZOjAGP*OmFKpI{=}IMJ0=Pd6>)V9#463)vqsrM|eTEu*UgxBp;*9 z%A91WH^7qQlo6J{r+rxBtw~V^Wyao~_1YVR=~EwF`nliD`>H(hYcUTcSEE$t`Z}p9 zadDOC;jQ;xvL(C!vNh6Kc`lX Z-bPu)<$MS1rSQ5l1E|M=KBE`c4+YSR(lii{$BI zjmz0)_WgH`_cxYNGSK-b?~C2}5SrK!%4sld!;7x^$>iI+cur&w6xYNt{q%s0P&awq zvcRO2p?8<5MB| *aVnTmvE%;{YIlZy@j87G_9 Bba#M(6ldW)f40aLh5pEE)^kWWM)(^hI2_xY13lr7kQRve zvyP_xrBr%w$9tmT=;lfujjS<+q12+;SWUKY#Ct(qGAKoTz_&)8bs^+33|Sgil9mIA z{iY>&c?9;$qFbSlX1!KT;r$Pg6jcHVZCP!ts9p7<_-?YJcD7#OjQHj^Seoj_ji86t zvf%z;dpUt)%Bh>U*MTdqE2eHL@RY^LW$PvO3nDS+T^;_=D}xz7djJ}fr}pTDYIsFn z1COVZ^fx> OZ)0N-(+zZe{ZifSIdaM_YQoLG2|F&s_g zAwff?i17dWV|V}Uc?48_lbBZnN~@K8&i-MIm(4svMN|~{+G}XyU1|qt<0Vs}WAq$t z%fuEe8>#ai>PCC7Q+2%WUH)adEG(N=2MVN!BR<#X5mkPuC}kNLCw!g_kEH3tVj;+} zgU=yegq18*50q|W>?(Ye0g(>S#62IrI*vN{j~^u#w*XUOzl$wg5N?jNf&3QE>`cr% zYCvdE*EOW(d}2MZ@QW$u)$8l{`@jDPjY9onHY9QL?z~8qpZRz7k7kg|`lapzKY{Cn zQD_++{Yl%x?T;M0e`VjqvYZKCi*QCRxj@LqBhej?aG0jWZZP<@z1qb45!~^9xr#BR zTj9!tS&tmFMc8mjh5?Z*Q4gUcjN+5k0`birfPDPqvJ#l##+HL4?zvIjfInj|Gtj;X zsCQ_*hXP=tz3a=dTl24O-9gP895r;7*+r?#77fiJI^YS2S+=tLvM-$(x!Elj0;wkX z&hRelNJ$o@ZXvQ6n@+i43l^nr%IZ$2yF=P0@@oI&lDMtW3lFbl%4R;6hsz`6UUd|n z%6x;3ABKPny*fFGqFNmR^}9o`)UByAn)k5Tap8{UmaFfmY+lH{`7-;xu$ciBweAaq z4H56SF{g=-K>_3llsC%o44FrWsSYLql?2Hba+kCrmqtJlCe@9TWI c9^ z@RhOWiU0c29s;ejszCLRHvfXX21jo|eMrIX=_F0zytvt<0*>M4IcJRO^}F4U$d-C$ zYUm&sGyV7+x-US1QVvX!Dsl?S%dv@k!>U8RAP%g-+ 1G)J=k!hj^fs6 z%*p9zjjHUHFgrI0b(p1Jspwn{|0(kx4V)@P5v+)gz6GTdzmWEZop;C%y=58HOQsjU zI!F~_b#Ziey>ZHIcx;U;cmo0q`OS!-pZ)NXNSdEQt_>*CpSl+L7g{sDzLf;+MAidM zARoeFtdv IkKA zRR36lRHv_me#*?Q29Du^BHQ;iUYv+fjq!$Gh1Q~hFMW7zSM#n mtWlAS2xBBPD?*7iShjF2FSC+)2kL{S^|S4GY^p1$5U4hBv_X{M zg{34C0K!Wa<&bk}vWMnHhyzqj4@~nYums9p7C#>boCtHNP{iyHBUAg!SmWW7dXb1@ z+OdCzr*d{-F&bW_#c634ZTuTIf!YDs@Qz~bN$Bdvn)ar)$Skbu4emHP?0fA{WhZZw z1yY(}NTleUD8Unv0HHqj+2-~2(?oZ+v|``Y4(B@eUhG}&ZPrv)M;y>;u-DaLgi%qA z-PFvIK8EJs(96mu1vA?nU)07c;5%A4CET^ni;O#=kunr>kQ_c#*>4m?=zt&7jWzq8 zi&Nr+CJil=9Y>iI=38Uz(Uy(xmJb^8ZnJkQ3I2FW|E{gE(|kWUP8A76{FpKKe) MojXn!()VPmpLY@eydw23Vt#mG$yJ>pu20-aq1P$ zOGg ~HU*CA*3T96u(o67t-%>=2I#yVko?PjRyjKueCcH?Q%4dKhofXed zbgstfzRg#A`D5M>72LxD(XQsMCfTtT{#G510>1-(CtJAZ3Y`w@hD$?YtY&Igv|I;k zlhp6?AoVn 5GD zM`9~u^+kZx;MypDsHRI8j;%B84$$Oww~>0l^D7s4R0IrfcRJo5+FD|1qFQ~Hntsy) zWZ#Kec`*s|glAmlR7w*K_v?WJt;A~w+iy*#Q0PVsGsI501geH#E*Kq5W_|@BzZeI; zHlIk3EU~~-5r;^NbNH)#cRW-V;<8ZZGYoSWQ%2Gp5XL`$I~C_r1Iwh0 zkdR4w&;gia82Vt=lF?^1c3PtXTHy Lseh*gfqO9 z^kP?#d-`R!OrXrC#;JU79vc58os$JJ=?lIOpTJq>_DD**`qkGv2#Pnj1;rXw26Ba) zWLW*(%3i2xwoHlhMFS_Vo$h0%Tk3qd
to&p3u{l&I`;*zQ8d86p+$0}CJrbk z^uS`I9WGCenWUU8mvbVKHSP@s^D*l@3jVyOfwLP96!UXGgOhll!WX1lbz8N&LR7}@Jw*o4v_8G+FIW|=rvCf8<``@6~5e&Zp ztyO-m$YHjEGzTU}21lA_Y-R438N)-q$(l$zpa%l@Db!$NK0{Ic3}A~Fyq1e{foMhZ zLZJC{u^oD*6xKo))q>*>3Dc#xuNiqk@cjuzNnIBeu8;H4xp&U`vqHVaMdiu|d`x8! z>t$T!yb(n**;G!fXvJJ~xjyC!5A8rKWK0Ir*ds^zeUr?x)XTgg9WyGrK6rg%_mgUk zW4$&ntIe+lq<-+!@XK43OhwNiOmli^>-$batF#<-v_-ek%9#VBlGGJrBT6M{_W9R| z3>noQ5GFWH8k3|T(wzdNaP;%EH?&brca~Q$REp-I>w~`z-u5e~6Tf+?y^zcEAm@Hb z-Q=PyKqzV%W_#Wqe8jb8Nyk7T|5apfTrlhN{eyqx7^X1#rRl{ZGvGe`kVy4_j<18Z zwdnNb!cu!k*Iy8^D^26#_GOR&aSTRoKj#T?mG-5kDEGFN)nvZ0Z5=OPUz7sFrVWiP zS4*i{n04soV@HytNkd+&?^|%P%D-rx#m6``=rrgH8S|s-iH^$$AA28KjfD|XleVg= zJ%Ex2aA-pl1r*&)lkD9y(^Y-W-3;SdQ#~Q2DL~l T0to~Jf_hNz}uFdEQ@r6z5*B@;?+lT_03F7qPE z!X3Y&?dnp>AkEYtvpP=SOdzjjQ8_vl3!zIDjmXWDHyRTCgJg}YgM=tD6{BIRC*fR8 z2!QSE`UyeO!CCO~Vs5eA9Z$F $Q*kV(97<#7c zo9RL}FQFBY`dluL6QbY^w*e)jx6!(3m$hj|{Vu21FQT z90(Ti#Xo|tE-; @g %lnjf-RdiUJ?%%9 z!)Kq%y?GUfdAxdhE#$}5n#>8PPmDhT9|@7kl1tini$v{AaX&BE4cL+~qO=>{%DfW> z4prSOYF7;(7&!I*rOL+$P0F)3111Bim&$G*!P0iUE6o7aDxtA9)~0mV7*MdQiUo z(jAA+dwKNS!uz)I`Qzog(xi+`>xYZKGt^=#2l$WxKcQJmP>?E$Poo@j%{#Lm5C$xj z2AX;5xVU8P`q}uX#^N$J{c{y79FC*`W3QVX4a 7TA^XSkEV49{5e|N*Z`00gS#u=fC*FhYV+u)JIVRJRGiZ`70^hrGE${N_MB%ou$ zo=w!+XYWLP1YTpXUn}u &+{v9~QIfku>@~@nC7yAU;{|e(0lpqti jyd4I?q5PjE?*&1Xb9`ze?d*bDRi;Yd{NV@aI1q65(w9w_rgTM(1y zdtvTFwJmZxePc4qFkR(t`ik$t9X5(Q#vlu9#3X!5C^|ACWh;OKYNiCwP(1-uJXINj z{KY@qFIWs`3er|&2Biu_m$_*rbgr0fJvn&XT`Q5@)*sD*os4)Vs!UamS{cc*^zq}y zX;EBHuarUr+wN?b4r?84xITry!e%>+XQI7gW;Quw;UVyp(2*F6Zk~YE%F@8gB}KdJ zraf29@=`x;rJ%l`myc08X_-NSqSzbMoQZSm^Z5+tpia*)Yr+dKHa+X+UDKmIcyrZk zq4`nLO+kr$Wr@L}u&Tic)BC>8B`)+$55_X Y2mcvJjAs%^y_{Eo{}b>?jw$YS+kec4EGH>dw#_)@Q5`FR^_h~u&|hO zj>h6#6w52m-gqQC{T(LSm;VhvBgT~ik15bHyHe$b#Kaxq)=(=C^LWPvtRl4{6GL5S zm7O?=MY~wo& (zb+1W6G{bZ-kl1_$|NxXa#Q$&dtOUA5Khr;lCwM&Cl2`B;M z_;<2!W@+2>JGUP=9`Bj=-hVaJjPm}7PYqqFLkmtm%#=Tp#c9sRhru&)jCs#hUMnd@ znY>L%KHsW5ucCg%!!91V^06l2U6E#)$i9ajG#!c+!Th2OL&TIGX5&Z?v{IVUrach2 zVfVI1ZG@&ymb+~ncA%V*aNhjw$X-LkYE =Mo&)-l1piQiog2ixhvwr#8%S)ht @bg^HgXbOM%9B%ZppGFWtK< zJIoX#GK>_CgHMW@5ss|tQobsI`4jcL4qMd6qV*-wst)GjEWy!O&E 1tEoDUtf2$svZU9)D;Yc+SEl+PXz)_Z}H z;ydhc^Ud`P&$jC7>S-gAIx%Q<1d3`Ga$LbdUrqZgu1 L?*1?!SBBDpUtHgf@i z8y8o^^zS(iX}gNzWN LBnhp3fr0ZQL9hE-`-cRm>u`FUs7% zapVQzwTY@7yq#=EHK9*djf_-0LrQzI8nwMpRnfdLYDV6zvJ|TdPS>@wcONuG1UxS* zvNv4$O9RP!#q2R$-nzrzH?n(I1DqTVm}}ad_TLX9W>D^^HgHQSGd?1^-7|iFh|ghK zGM%6@QC7U{Q7hMh%TYo)7q Dg}FY59?L`l5g_xKPd7tGhOu z=Tubyp+@O$inxn{`Z;Fq{XU|Y=0i;HC2yzUzy%0{O#l41b+V&jN@4VqpDo`YY{`<{ ziN5JCKH<$LvtA0IINCZ$j^Yn$Ls6D8(wS%_ZkxnW <{~mUwSL22$^^oC`Yk52?V{6CmL96iC(+%P|ij6q;z>HP4=Vanf t&zVq%G%7xz7 G#T8TrzEsRqB}3LN6vP3;nCT;S#_d~< z_aTXIwDVWDUBQeWuglJ!Xz ^sD%98f24B8QTcS99IJ zeXr5D2LW0GcPhw7{tyiXf>XuO*8@cBWo9v8S9|qs`V$>nz9Jd(gNR8 DiO1j zibk@72!cs*!TLgRzE)>WfINpXq#k|Li>g;ps$!#<4(g_=YU^p={i1NjvYHb$n4!cB zP%k$1bALLdz@EvG(UI !0A3WWh7}eQG&Ar`G~E|uy-SKG(tvlae3(0`&wul^&6(mG$*%D&^p4J zPHDWtT!T(tO!G!z=P2A@DuAlkDoarSRfjd^9YeGz0^m^Ar2fN$cRCC|IA30Wqk+C2 z$OI9?yj!0?*#AnTE`qkw#LDti1Sc`8+Jz=sXTAqYJD)e&s-^b-z8iveDS2L{EKQnG zSQY7UuYL)a$1f5rk~ixYe{AiIO%je*qM~fUO~7E!5=uRBi;8ZD1E~b{ l3;bCK=y%z#J}GueFw>TXLn>>QEF%J $n_W zQ3@}}4`2zdU_Q_;H+0r(zl9|#wdv21{uuYk)rI8>#18wg*mfxBsl0=YOP&~Lg`o($ z5K*h}kl({9KaYR-e0CTX742NdVf_+5DIiUdhnFKc;He>hT6IxPFCHBI0US&~c?1Ux z>2%;|$s3pGhJ{Ws$#bLfPi^wPDubiYMAWRP42_ukzC7RLE=IDTalX)gC=3`7ni~%4 z^J?l7`R?wEddWwcfA_Y6z{H@q#Gv MMGb z f6 Z2jub9!$Y<3~4Q0MYQFu+D8paBuI@(^&9B xf06YqC3;@yHHJt6Ro$P>^+%wP024t%PStb{)6B{@m(*I@iHo-A&W#_jU}Oe zY;%;FltRS*4zs+~jeXLceJ=Mf(snNo#H~GE&+UAShp!#$2;R8jER!!~Z#)q$FFE&P z(ohRc7T52ybm5|GDzdJ$=IPH3n>zIEZgK)agyHGWf3g8Opp =JyfrsoL{wQ zGF6m;LuT!f@Z~j&gr3Ce-}1y+RX^J8&J?7+`#SBBQXq070B8a3<4T>~vkd(`9WQyL zK>5v(^dI8-BfF8YjeB45 bBq#>2 5u#;ig_w-)bkWYcy`(3V4tqPXezG 0F;%=ix>r$rrdeC%jBLYj>JQgm83SDN@CJ!tscH=UUOPydnj#WGVr3 zW?a2 puPY#wXh#R~LFDJD n}V3 z+mC5^xuXdtv|f7>4bvC46r)}^{!qMRgkfn5B8_|)02WEUBc~!h-W7NLUYxE7e!C+% z4~8;R9MU7pn)6;{bv&5Cd<_vzi*1&qSYYlyADO?^OLKHlX}^+r$HkYwBwZQYUzHc@ zQcuLUmicOyR`Tuq$cs5*(j*6KaPP{C7*kR *q>~DXOp4tFV71QZ)D|hD8 z_PA<@YCL>WUz*e~!Kr=hTW8xb9kO3y;`9CbaMSD^(X=ly!fFFW$xlgU5A}sJW{f%m zxpoe&GjLIwtK*+>L|?f0Yrl@{9O8zd-wsrJbVN(hR6 MA_H4< km)*tKub*FtkceO!e!2ODtlubY%bC1+z@KK^zWjLFGsZYl o7*^C^9R?+4|jS=tj#0c4TyBRq!E4TJbRp_**afD1#&iUIVAi`L_~M#Re`z-`kCp zRP_=Z|AdP*mv0+^9RLeDH@^H Pp7>Ief~DHzPV1l3z? z03;+om59Z2CfZ~*e$V=*`Nc%C^qLa;u`9^(BhH*?6%+zd|JVV}PItM;WZs7CPhI-~ z$4uecnv>BN=6+TaiFqR>rhtKe*50+bsrAl)Y9xtg_fzm59ni~vpl$ j7u}8nf@PH4s%$hk=wg;W$QW{z1$XpG6;tg3cIt*DpesvD vOD!H~BD9@CSy!f$khTB(|E HdMBj2_-WU zNeh(_F{45yOO~6)1Q=?HBxq?7z}sB>)eS zX_8$O02XYpTeH$Nn$X+k6gjP_RPeX^z|cl2Yy0C`%k3^z#7&pBl;8Ed>bUL7pLv7R z6W014JxNhW@JjXCeXZg}#GXB2moGgZ_(`#Ou?&nUCg$zmsv3Xoj7bwQKX%vaiyIO? z86DLj?XyWG9Ns%o7xRAn*ge ^bgdgipfcE@<^A+f`+mR>sKJ-efbO9(E zUaqO#{4M!gQ>Emm+h|>u3SJs1DO?hNToWIvqpIOS`jT%Uk7n0;wKs3);uG&)iMaiW z42@3$1li}%73SD=>Gs3DkumeZ(hj})J_6P`bPG8mIUj{f#s@0AbH4E`#H@}=-la`W z*u-6V5+J4|1lMME>4E(_7k=r-a@s6UON w$AHLHXEdyf4jQ(1c*F zHX0VCGG13c_-7ZhVu;e1xZ~-O*zV`wu73WG?8he3+^K-fpOZbBGjhjX!#qkpY$}^2 z4DKV~SN+$Aj>^@wcz4v@ZyvOj2#vbRjlahsRjv5BL?s}SnD`cA&Y<(5bo6RrO`Jvx znD!<=I9mzuY3JM~`gZl}NmlSWoZubDU0tboo)y#DPzA~P3Y5;^TRwUm8zx+<*< Lup&B 5dj3P;M2pm*yn?)%cf z*jta-^OmWv_5}lD61#!eu~1K9rlYlQ_q%3GH}RsGO}p3iEeCx6>e|ZecI;X;6&>VB zykbrS%t6 FrbVSFgrVUEtVt>TR8qf{Wd+$-?>Wp`X>I{2#LbG~P}J-H+N z;0nz?@he1Q{Kuw>g(h-=q2ku)A9~n*3%N=Fl1p2%Eb~4P_~C3;&>lBbxzzgTs1Qex zq`Z%A?^Y*;;_JE0)|41Jb$vXMP`>b?bobG_f0sLcC$Yvg?K;_DdRPzky Yjke4!FGRLEZC_p=-#}d@k>7aa6%OS8+zy zn>xzCrbsR?JYNZPdK;S}_0F_4-_Hpq+9 F+aEHx0D$onB;5~u wypWanbFKNY&1vgk7*t?{kcTW Nt+PUAcde2^Cz<5|&5#cei;2B5J8-OEgrc*Y@tsfPlItbJ5t(>);7UJuPnU*TcLc zQhNR*4kP1F_8ooa9{)1c+iuHODte#&A!)wd#qtBU9}zft6b~Xhw{J|eqI|S&eQykY zuo27dSOk{VAL ^X#KWItbVl4{@?n3A``TNL9G`s**Qn-Gsj6<$?0O znVV=8JT+>=ruvd#ynUn7@{V^v7|342<^TLUP?+4(BB(YT9q_*V wc^l##+^;FSJ8nomv2*=A+c%V>FpWlpU!Ky zoELOoWUZhJERCmp-=X*F8Nnyo(}2xSD0w7( 0>;~pBYp=(obXy#QCE5-?M`NonC^pUh@_-k%~bVtg9 z3j~&0g!o2sD1Pp$Y>)B>b@$GZZ`5ag-^TOM{uQKzU4EJ?b$G!*565g3>vs17;nbiG ztCi=y+WP%0+_-b=#5tm3n+TA5Ayl>&6;R0%78n@!J!2l^9airdia!&C*#0Fi0S(nP zPyV~a@!~^@{Oj OyC hGa0#>@zRF6YnN{< z9_xlao2Coq&l$2Ev)%}|Im`)lJTh9CMZ@TuU9=^S8YN!KkBH4K5co6mwjR8de-DN# zXN4=4-Vuj*2(YA@qkpv>z}u?HNIg6A9u@ez(`GSpU+R~36du~s>$Gp6?it*`BUJvh z$7FonU0ndvRiA=0e>SGloZI+b>A>|Q7bmncss8+!y^v4)j xz7+wCgVLf{^bGDqxSnc@K`}*9>L_Z-Snf z>$T_#mub?pR@Va9oc-7$uo)qtt4-@w8ZaH7+l33q+%|6(FJlux&KpsG{_rfYQVHy* znb#cDJEyAHj_LYzvU)=h-Q=&8$X3gn)PyZ1Em`E52?Tz}b#(t 9}&AH4cz-A=^iO!jXZV4tFUS(QjRWMrDio84Hv^_8gY5XJ4xIX^` zls`flCbfjPOL M=d?h!D5F*T#J9%dCG6?8XdobvFYeNDr?Mm-nZ z;qqvsQ44bOrG%U}E6VQ=J>flqA!XA*%y^ZCk3by57zwp?82&19qi6%AldfW2%|C!; zTC|-MJ1o^7371{LeDK7GuuusYrybh>qoYC@I9|LWOPX|>=#68Aj`!-sbq5z~ppQ;y zNp#hR|4SMiZT-ma-uY9TumZW5R{d_UrmkgqjZl!wkpuqGPQVk@IqD(_mJFJ#+>tn} z-h?%@iQE*jfbZ2ibLbXh*7L?-WcWyPvCo@eR+#Y_L#Hel)0}AKsY!sa!~>Gr1OvOD zEM9YG@!0xam0h)~l(D2Uz91~(jRr@#VAN@>P;bGQ^@g>b=^s4Qw!tmaMgux660%q6 zO|oy5(^uo{r*pywoQ_&HVTlRtt=K&S5@YTsd`MjQXXC7!+F)9xErAx^hC6M*o8nsZ zg<16wb2oKBE@eUWLEI(9YyX*5dj`y2w& d0vBn~sjPJdBL zlE-G)f9Z%wh538VQv&}pG15eZyePZ}p`wQa@})aGkg10TR6ay-dB?5P+PXV_!d>)t zd$*X&|KcpYfBLe+^9rW!p@Gn;rfBM#EpUT6fzX+j2^r|@B-oyB|6@E>Jnw?gf)hQ< zcmIalH>ZPB#S~TfyaYP`+tjR4-o^oyT^7=2nSs+m<_Qm<*?k>#P#Cm+@(@32JTi;r zlgE{N@ENOKYYQ%olAUSG)q3zMTWcs_*ZoKb?1fcSo33KS=(mjUwv9V1R *^?YL%XQ>Z;h?QjUu0TU#g%59b^#Z z7Dj}*b!t$x%I9{Ge~1%Wul3~|S7d#T;A3p}g=qg`6d$KJi%D@Q?v*RURx5$kowkGq zqSIJhKOPB #vPKadD!OG>_wG$I+lWP2)`bh0nP742O=sV?g=BfBE9nO|nX8ldb89^~ zNsAa8K-l6ySuTxdxrmqPlK9&DcUVcaNbF#+*Jn=(1g&}?qHYdc&$pJWnnecpBP)1y zSJ!r@|CM3J=ClSHxcFVD;`^7tnJv>sziy??QIU%~ *YiB$BA{k+lH7g<70OEB+)m-x{Yq5g|Cy@gBROfAc27MDdtKPx4EWt{XHs7oj_ zVFg4yvm202Ybyn@)5v|=0=zDJxC~dV;61uPs5frq6@OH7tp?_#Vv5#}P6hVL?+nf& z_a)Ar|5XA+@~I)r{}nL5Ro|~*0Nh`%uIiTZj9Ag4T zpL@oM31x@A0^@pOi$EfqYb25+N$V+LPrFaQ2S1BMQ4Y>K(iNxH^v0J->yimRgyMF~ ziqAy3ZRQGGUdiola{Db&u>lpOoZLqHp~kmc0Jq)DA{dmd?+p!C0yM>ZjScbxvu-^T zHL1NlM@I#T!CS (yMeeG>USmB881jn*(t9$sMm^>ba|Kh!4*y`O7=z$>25J;8fm^X>l%dd+rB)Aufz zcnt-Gl^@7WyHC-%5aJSWp7z6dEN7&bH}*WryGUyus%IgUJ~Nqz6ig%%I0|+#o}8yF z;S3VrMW$YoTf7~bL3F&(dyy8 QVXn&)BiRLu(D=kdcmQAZxeX#bHX44+u!OPwCnwpKpAVD~j4Dol?OhpKkGf1fM$m z=>A^MEvDwbBSBv9Z#uRe8vHPmB%}o*bUzS~+U4Oh-)o?MXwNk+Z`VNRR+JBkQ(mVE z)E9Mxu-oN`ek(})&)Ab=yBoNRYgZ%k*ym&=RL-WKM^^%-8$J%2zUz^*&+`XR44)p) z=NwZ4*KUcLl&Pr3B!3Qn Jh$CF=cyCeru=`zIdY3oKi5sH_V^TmvsNaP`LZ(k z(Go6`ybpTw8NBhz?WM`-bUSTH?D}6B>lWDh{fOgCx#9$_*}eQa_3;@3XAdM$#X$Cq zNLT p!`XUbU9Bqb65+@Hl}(+GBcNFmO#v>)Pld z*lLMG-hEeN_1Hg{(%H+?RRYsx>Q~h;Hcn&=(^v^FlHKCHtVE7;@XM>Hs|WQervoag zOs9U;Xx7k_K-LyFemc>LwXC9Yw!&9KXU_;^_x`WK2$0i8HPTjadHWZF1Hm%Q+idW; zTiU%;mlk+|5J0cs^}&g}JW7NU>(&_p%YPu$uX`z%r}1|nG>N;Uf~jH-q79a~wXdzy z;3&Yh*^$=Zv+J(3VjgQjk?Hop&2fmH4;Wx=r#&VUGdQ9$BoL9mM8p1y`sJv=>Fd+L z2{JKg@189oGKlurP)pRcE0_p;=&a%szP~q5R+Ot6bpnwc5PDt XL03n8%ojk224^3 z8wM7P4W?lWOLNP%Jyyb8#68M6V6jng1{s&l-k8)9?>FGbv$U>7&1Xn@G_pYY#pw$o z+j+@aVEK &f`j>V^EIFqxRBTw3kIf+lHaZj@2yLi zJ=S#R&YqQqxzd 5Q?aCCY@rxL<0LAzc#Mea4jKRAMBY9}9`6F+G{w28rP^SA@1? z;m|_2Mxy70?yo&}JnOsHh4vP@KlM^OkWAog%Wn1>6!kNyfU^JjzFdl<-=sLdDe9&x z6Ygz&f`r~N8qg!5sv$77Zx%hfvAo~A=YNE`P;M2 V&$%T7SlDhHH&M@ zW?tDwK5KGna7Q3=*c=#Ny!~!J!E!nkwgcK1FLl!VUWV`nMBW*$O2yK-F94_JoynX> zF_9*r4&6W|#mb&XCbeYw+mLhTG+>W+0q4EZPAo$%%gUOl^D8J{dPjlF6u2)22VsEx zsstSS6fVm&3qW@L8iL67Y!pA~BK~xmz?$Jk3x YOqOMY(^zKl>`m znL V1sd*09ty7LjAIIX3Z5&yacDQt@R?}9 zhJ8W({JEjDJS)b}9)@!xc8Ln7W6mk@zsh63ssX3DNW;A+gk8Rk@QyQ{!pInSzHC|l zX7P}gI=^hMHu{IRdK`f+{7w?9capc{j26?iclws(#024`}w_F?;UXDPVJ70Zt|) z)+dsw&Sx7c9|35<+$(gx7Zf?gh*S#@2OzsXEAZe%X# y8R zJi3$y&0gWH@vd767q(X$?A`lGl5HTb1lU^b8YN){^*MC(zBEKyV;S)$Jf*f6i9?o# zQTd7X`0Hy!v2h0GfIQ3YP4WAada32X0IKu6*<(3Wb$*(&m_{S9ShcZ4jXcW4LxPr8 z=?ukEVb+uwHzBhTfAqR{P6e+B-rm*d+4&$dZ9Zpc2J2T0K06LM45ifCNnFV*l2|Bp z+&8}Kz+tWPmq}bMFKK;W2XCG;ThZrW=BWN0DhlW%_A`r|&i&RvMLla2zs^!wL2%{5 zTy76nvGL=0G1zgGX#B6%B%Kx#53A2eVTPWOGECYE(2~R`<*2A#N?i`B^D@VaEqX$LaA6 zoU1gD?SNC=U?$$J1!it;B!+NV92#Nq7qYXi AFl&MgURP2`xqpBfL3!x@dSd4~g32$(Rn8nWi{OZfGML2O%CZrK}0lv?fDxR+GfK zeGk&hUGc-mUamV$JY>Oil1=5Gl_^#;*vXrs+em!04=Hb4Mwl$-(tbG-Lm3j9Tqu6) z;Vip}xPXOV&0DDc#(xzLJm0)UnHALA|8WB96hem>x6YM9???EzsX1>_udmH+7iP^K z(^S;~uVfP-r-`U(JEceodwy$p?}J-H!94@5U~mq$*VA6DgbFOIjFPG)?`0{UJ5q)Z z*6YV19lHR-O&lB1UG{#ta$preH(T7%C=p)Z$HLU@d(1?hMn_e-%xQjrb+^pOr&i@u z43o6n8Y aQCQJgja}^tp6|16%3>go-B6^0%zf^(BR}KN?@Lff)Y_8P=2FLA zGvx=@KtPD&fXZcaz`6L{LrC)khEnhHkSA*m--I9!io&OZOLykX9*f_o1)S}mJQ?({ zl>4Vo!cYHH0-BQVz4}`h0?tEEHwV1)K(rHj*@0WZ3`D|DcPpWZLjAoJ08J|!w0;=# zeuHTI;ZLtcda`65o{)=Yz438CwY3O)hrO{61?9MG%ZA(;^w_@_o0|mZ2huQ1yh#b9 z!j|z{`|p*!HN9plE)3&$rMvW$K*B0*7_pkyjOU>;O&%X(4h)pZ__wLYDCWz&y2_BZ z@dQu-n}i8NnBUZjR-UX!m_{PNnhWK~XgSuKaZSDv>iQxE6`V+F@h&6k1DU*V2P6=; zwGorY)|&jGqfks#-qZq&`SAEDE}EhP9yjVicAE}|W=) zkcUoJ0g5&06ZpOpf8V(daD~aR4M|GO#>=P zyGY>kxppkX2^i(}<1$`~@kCD*5zze&nEA}x{Wuw~x1@sHk$=g$GS|luyzQOCWm+Z? zK;Z0Z$wt&=*AZgP#aX{-_2w49`E-lEW0(r=iYHqJA^|iKXn?V07pye`ArU~&0-QQ{ zHn WP74U1cf{cR3g$`e zbiN*!c>snI2A}Y$Y p-1Ss5o{$U;9sI(;McnxfC8zH H;P zAP^aVzAGF2>~>L|x0{$*^<0|My+#2JE6c8|=Y< F3!=}Mg7=)=r1Njk24>ky0L-Mnc EPBLp5x7(R(tWFQbOg6n@nAv*Z#E1Iuci!)_qz~o@> zuPx#J+5W`DL7d9}6P5;1Z4Ivtfko1qlc6P{_;m!2npFJVCeaWy?ItAlx%+p;kRA5fPzPh |o3n|E4@}J7%DFLnJrS3=BXpVO4kQIOHD&5e8UyAbZ =}c nR1ZU_{P{h8JCbCOZsU@Z{4c97 &3+<>Wm?A&yy1ogY(^#av>Hu``bT`_M z>wtMM1%sVTn}xt&qf=I`h9|%e3`n6fZbD}m(?e;ydwVjjSc3&)uUeVDYv~M^XJrqb z8A5gQ)NQ$B=sxq325js#Kwm^mQ~q(bF&XCuqYM}-Yx3bS^CsyVQZE%aAb4Nx6EMXO z0M$N)pI&cX;i?i6{M1z-TQ6XwcQWb#6>xsQ^C`15j+$vB{;;yM)0Dsmzy@x)nqrUR zrXIviyv%*kkv;-cE@LfNVQ6rq6HD&OmDZ)0HLNm)usy=3 21O3NNAT`4#Ag}__MX2i3S{T+yMg)V+j1aRLDERnZdc=La3~>p_#_LGjKVd6 zc~$2~+p8+G`*GDj1iYDpEo=8Nx}~HoMFfz&@Q_1&UUn0H`j-NFS_`0aVSSWKS)9`` zk){6Sj!4e_6#$vAPT!J_VOeK7@MXfO(3rVjZ3$I5K=lVb;0XqEm<=SuFlv M3o)rOZtZPiKR@Fhji!i1rkcD&FeEh@I?V{poWE8nDELmbv3tr|E^mi$DX0E_pxz zUF%H4_F9F4;B>)M5V;FXwr=z99NKm{b}Xm+_KN?Kp1CF!_z;{_I#;myfrCxuCI@ed z iio!4?E(#-EqHu+e*zQ)iI#KCu_L2YXtmB_qn&U2gw{& zX*f;*xr9-2W eNE`s54Js ziP6cN47vLGfhddi-|nj_{HGz8xQIy}@Dx5^t(PZwRx^scxu(d{h5M;d;=xh>az(4; zGyd_++gGv^?U#RfYV`|Ybj_}AmRm?BYL-gkh5Ge+vXKIffQtj6w9Hs(R;xoC!itqW zqSV9Z@1{97B6{%g-^iDa!NDsafDR442@gXDI#@#m_>SIwpLbzN7WFfsadNBjDP3;u z>D?3F5Ug^|09=y~qn*zlS}r-OzpCpL2$&9UW)D7L1s#9dxxf5AvZP=Cry?A?0FyEE zwudl}gidC>`svUn!vzd2SJSX+z E5%_2Rtk~|YI1eZUzyOc-F?T*fx-J$mD<_!h zw~l=$oPcH706#_WwfWJ_MU2$C10q 5W^vD=!R&)ho&wJ|vA51nv*;W`(CqHhzBN`?AV zz+V&?$iCb(nFR+_NI*FISy!w ~ylxlh5yPzq_I9@fat{0tA__MXW^ zOgi8Lz@;!Q|Jzmjr3b1fnExVj9>n{`5)YsK%gT*}mquXnBRz#fXa3+5)rZ_h$<1zN znNKhQ K$deIX5-Hg=C8W2b|yzl z7qAxjHQnCz=>^h&fi}3fD#*(^1(X)Mcw7s%VB~&Q1CZM!)ZmX`M$@nq_fNg-H9!Ln z8h7_81l-dIX#0X2!BfyxF!PW(cRhqBMj$K<7!X>(%hdT}x|4in(Ld+2&7DbP;=hzE zXlS}k6@8oippdt4!VCr{5tg^|2@6NsG@^Z_f)R%k05%T*`SueJ;m3%-uWD;}J`>_7 zwqISe^rGj}bC9rFOwUpt^857EKUa-(^TT}M9*c<;A{4uWk6KpY;v8~pA$C9Dl; z0yY si$Nz%X_E{!ik#^umnao2C}_hPwKFnOI=a2FQ6@Dnt0P_(ng zpppEo`IKWvhoHbPfK6Z)88+d^W-sd%_$4djuO~|t)&RUr9s=W7%XVzPl=m1m@X4&H zaBzbR8luOs#KAZC#=M%ol#x5N?3LgtWILC%&9vosh+S2l0vZ5uFeRMJGVx>c2Y(7e zp(AI)LTXLdmq(gG5JOE+AF<&1AzGu - - - - - diff --git a/src/components/instance/InstanceBody.vue b/src/components/instance/InstanceBody.vue new file mode 100644 index 0000000..0a4ff20 --- /dev/null +++ b/src/components/instance/InstanceBody.vue @@ -0,0 +1,59 @@ + + + + ++ +{{ tab.icon }} + {{ tab.title }} ++ + + + + + diff --git a/src/components/instance/InstanceHeader.vue b/src/components/instance/InstanceHeader.vue new file mode 100644 index 0000000..7d69c24 --- /dev/null +++ b/src/components/instance/InstanceHeader.vue @@ -0,0 +1,99 @@ + ++ ++ +++ + + + + + + diff --git a/src/components/instance/settings/Chatwoot.vue b/src/components/instance/settings/Chatwoot.vue new file mode 100644 index 0000000..374a065 --- /dev/null +++ b/src/components/instance/settings/Chatwoot.vue @@ -0,0 +1,220 @@ + ++ ++ {{ statusMapper[instance.instance.status].icon }} + ++ + + {{ owner }} + ++{{ instance.instance.instanceName }}
+ {{ instance.instance.profileStatus }} ++ + +mdi-cellphone-nfc-off + {{ disconnect.confirm ? "Tem Certeza?" : "Desconectar" }} ++ + + + + + diff --git a/src/components/instance/settings/Rabbitmq.vue b/src/components/instance/settings/Rabbitmq.vue new file mode 100644 index 0000000..88458e5 --- /dev/null +++ b/src/components/instance/settings/Rabbitmq.vue @@ -0,0 +1,154 @@ + ++ +mdi-chat + Chatwoot ++ + +mdi-chevron-down ++ ++ {{ error }} + + ++ ++ + +++++ +++ +++++ ++ ++ +++ + ++ + + Salvar + ++ + + + + + diff --git a/src/components/instance/settings/Typebot.vue b/src/components/instance/settings/Typebot.vue new file mode 100644 index 0000000..e94577a --- /dev/null +++ b/src/components/instance/settings/Typebot.vue @@ -0,0 +1,252 @@ + ++ +mdi-rabbit + RabbitMQ + ++ + +mdi-chevron-down ++ ++ {{ error }} + + ++ ++ + ++ + + Salvar + ++ + + + + + diff --git a/src/components/instance/settings/Webhook.vue b/src/components/instance/settings/Webhook.vue new file mode 100644 index 0000000..25a6099 --- /dev/null +++ b/src/components/instance/settings/Webhook.vue @@ -0,0 +1,204 @@ + ++ +mdi-robot-happy + Typebot ++ + +mdi-chevron-down ++ ++ {{ error }} + + ++ ++ + ++ ++++ +++ ++ ++++ +++ + + ++ + + Salvar + ++ + + + + + diff --git a/src/components/instance/settings/Websocket.vue b/src/components/instance/settings/Websocket.vue new file mode 100644 index 0000000..4089dbf --- /dev/null +++ b/src/components/instance/settings/Websocket.vue @@ -0,0 +1,157 @@ + ++ +mdi-webhook + Webhook ++ + +mdi-chevron-down ++ ++ {{ error }} + + ++ ++ + + + +++++ +++ + ++ + + Salvar + ++ + + + + + diff --git a/src/components/modal/ConnectPhone.vue b/src/components/modal/ConnectPhone.vue new file mode 100644 index 0000000..da4dc87 --- /dev/null +++ b/src/components/modal/ConnectPhone.vue @@ -0,0 +1,99 @@ + ++ +mdi-email-fast + Websocket ++ + +mdi-chevron-down ++ ++ {{ error }} + + ++ ++ + ++ + + Salvar + ++ ++ Telefone não conectado ++Conectar ++ + + + diff --git a/src/components/modal/CreateInstance.vue b/src/components/modal/CreateInstance.vue index fde57fa..b0bf5d5 100644 --- a/src/components/modal/CreateInstance.vue +++ b/src/components/modal/CreateInstance.vue @@ -5,7 +5,7 @@ :persistent="!AppStore.validConnection" >+ ++ ++ + + ++ ++ + {{ Array.isArray(error) ? error.join(", ") : error }} + ++ ++ Cancel ++ - @@ -80,7 +80,7 @@ export default { valid: false, instance: { instanceName: "", - apiKey: "", + token: "", }, loading: false, error: false, @@ -88,7 +88,7 @@ export default { }), methods: { generateApiKey() { - this.instance.apiKey = + this.instance.token = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); }, diff --git a/src/components/modal/ConnnectPhone.vue b/src/components/modal/InstanceApiKey.vue similarity index 56% rename from src/components/modal/ConnnectPhone.vue rename to src/components/modal/InstanceApiKey.vue index ee6c80e..29d4fc0 100644 --- a/src/components/modal/ConnnectPhone.vue +++ b/src/components/modal/InstanceApiKey.vue @@ -1,25 +1,28 @@ -+ @@ -62,7 +62,7 @@ :disabled="!valid" :loading="loading" > - Conectar + Criar Criar instancia
- + {{ Array.isArray(error) ? error.join(", ") : error }} + + + +Configurar conexão
+ ++ {{ Array.isArray(error) ? error.join(", ") : error }} - - Cancel - +Cancel diff --git a/src/services/instanceController.js b/src/services/instanceController.js index 0c7e2d2..db56b90 100644 --- a/src/services/instanceController.js +++ b/src/services/instanceController.js @@ -19,8 +19,40 @@ const create = async (data) => { }); } +const connect = async (instanceName) => { + return await http + .get("/instance/connect/:instance", { + params: { + instance: instanceName + } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const logout = async (instanceName) => { + return await http + .delete("/instance/logout/:instance", { + params: { + instance: instanceName + } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +import settings from "./instanceSettingsController.js"; + export default { fetchAll, - create + create, + connect, + logout, + ...settings + }; diff --git a/src/services/instanceSettingsController.js b/src/services/instanceSettingsController.js new file mode 100644 index 0000000..e876320 --- /dev/null +++ b/src/services/instanceSettingsController.js @@ -0,0 +1,139 @@ + +import http from "../http-common"; + +const findWebhook = async (instanceName) => { + return await http + .get("/webhook/find/:instance", { + params: { + instance: instanceName + } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const setWebhook = async (instanceName, data) => { + return await http + .post("/webhook/set/:instance", data, { + params: { + instance: instanceName + } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const findWebsocket = async (instanceName) => { + return await http + .get("/websocket/find/:instance", { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const setWebsocket = async (instanceName, data) => { + return await http + .post("/websocket/set/:instance", data, { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const findRabbitmq = async (instanceName) => { + return await http + .get("/rabbitmq/find/:instance", { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const setRabbitmq = async (instanceName, data) => { + return await http + .post("/rabbitmq/set/:instance", data, { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const findChatwoot = async (instanceName) => { + return await http + .get("/chatwoot/find/:instance", { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const setChatwoot = async (instanceName, data) => { + return await http + .post("/chatwoot/set/:instance", data, { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const findTypebot = async (instanceName) => { + return await http + .get("/typebot/find/:instance", { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +const setTypebot = async (instanceName, data) => { + return await http + .post("/typebot/set/:instance", data, { + params: { instance: instanceName } + }) + .then((r) => r.data) + .catch((error) => { + throw error.response?.data || error.response || error; + }); +} + +export default { + webhook: { + get: findWebhook, + set: setWebhook, + }, + websocket: { + get: findWebsocket, + set: setWebsocket, + }, + rabbitmq: { + get: findRabbitmq, + set: setRabbitmq, + }, + chatwoot: { + get: findChatwoot, + set: setChatwoot, + }, + typebot: { + get: findTypebot, + set: setTypebot, + } +} \ No newline at end of file diff --git a/src/store/app.js b/src/store/app.js index 67cd588..c7e36c6 100644 --- a/src/store/app.js +++ b/src/store/app.js @@ -2,10 +2,18 @@ import axios from 'axios' import { defineStore } from 'pinia' + export const useAppStore = defineStore('app', { getters: { validConnection: (state) => state.connection.valid, instances: (state) => state.instancesList, + getInstance: (state) => (instanceName) => state.instancesList.find( + (instance) => instance.instance.instanceName === instanceName + ), + getInstanceApiKey: (state) => (instance) => { + return state.getInstance(instance).instance.apiKey || + state.instancesKeys[instance] + }, }, state: () => ({ connection: { @@ -13,6 +21,7 @@ export const useAppStore = defineStore('app', { host: null, globalApiKey: null, }, + instancesKeys: {}, instancesList: [], }), @@ -29,9 +38,8 @@ export const useAppStore = defineStore('app', { url: '/instance/fetchInstances' }) - this.connection.valid = true - this.connection.host = host - this.connection.globalApiKey = globalApiKey + this.saveConnection({ host, globalApiKey }) + this.instancesList = responde.data } catch (e) { this.connection.valid = false @@ -39,10 +47,31 @@ export const useAppStore = defineStore('app', { } }, + + async loadInstance(instanceName) { + try { + const { host, globalApiKey } = this.connection; + + const response = await axios({ + method: 'GET', + baseURL: host, + headers: { + 'Content-Type': 'application/json', + 'apikey': globalApiKey + }, + url: `/instance/fetchInstances?instanceName=${instanceName}` + }) + + } catch (e) { + this.connection.valid = false + throw e.response?.data?.response?.message || e.response || e + } + }, + async reconnect() { try { const { host, globalApiKey } = this.connection - const responde = await axios({ + const response = await axios({ method: 'GET', baseURL: host, headers: { @@ -52,14 +81,48 @@ export const useAppStore = defineStore('app', { url: '/instance/fetchInstances' }) - this.connection.valid = true - this.connection.host = host - this.connection.globalApiKey = globalApiKey - this.instancesList = responde.data + this.saveConnection({ host, globalApiKey }) + + this.instancesList = response.data } catch (e) { this.connection.valid = false throw e.response?.data?.response?.message || e.response || e } + }, + + setInstanceStatus(instance, status) { + const index = this.instancesList.findIndex( + (instance) => instance.instance.instanceName === instance + ) + this.instancesList[index].instance.status = status + }, + + addInstanceKey({ instance, key }) { + this.instancesKeys[instance] = key + }, + + + saveConnection({ host, globalApiKey }) { + this.connection = { + valid: true, + host, + globalApiKey, + } + if (typeof window !== 'undefined') { + window.localStorage.setItem('connection', JSON.stringify({ + host, + globalApiKey, + })) + } + }, + async loadConnection() { + if (typeof window !== 'undefined') { + const connection = window.localStorage.getItem('connection') + if (connection) { + this.connection = JSON.parse(connection) + return this.reconnect() + } + } } } }) diff --git a/src/views/Instance.vue b/src/views/Instance.vue index d8589a8..a3189e6 100644 --- a/src/views/Instance.vue +++ b/src/views/Instance.vue @@ -3,33 +3,21 @@ {{ error }} - ; -