From 38005cca1bef5811449e470d9eae0be2330cb79b Mon Sep 17 00:00:00 2001 From: Ak4zh Date: Fri, 26 May 2023 15:11:31 +0530 Subject: [PATCH] initial setup for autogpt --- public/v4/apps/autogpt.yml | 93 ++++++++++++++++++++++++++++++++++++ public/v4/logos/autogpt.png | Bin 0 -> 20090 bytes 2 files changed, 93 insertions(+) create mode 100644 public/v4/apps/autogpt.yml create mode 100644 public/v4/logos/autogpt.png diff --git a/public/v4/apps/autogpt.yml b/public/v4/apps/autogpt.yml new file mode 100644 index 000000000..0373afdbe --- /dev/null +++ b/public/v4/apps/autogpt.yml @@ -0,0 +1,93 @@ +captainVersion: 4 +services: + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + environment: + REDIS_PASSWORD: $$cap_redis_password + caproverExtra: + dockerfileLines: + - FROM redis:alpine + - CMD exec redis-server --requirepass "$$cap_redis_password" + notExposeAsWebApp: 'true' + $$cap_appname: + image: significantgravitas/auto-gpt:$$cap_app_version + environment: + # TODO: make all values configurable + EXECUTE_LOCAL_COMMANDS: False + RESTRICT_TO_WORKSPACE: True + USER_AGENT: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" + AI_SETTINGS_FILE: ai_settings.yaml + PROMPT_SETTINGS_FILE: prompt_settings.yaml + AUTHORISE_COMMAND_KEY: y + EXIT_KEY: n + DISABLED_COMMAND_CATEGORIES: autogpt.commands.analyze_code,autogpt.commands.execute_code,autogpt.commands.git_operations,autogpt.commands.improve_code,autogpt.commands.write_tests + DENY_COMMANDS: cd,nano,vim,vi,emacs,rm,sudo,top,ping,ssh,scp + ALLOW_COMMANDS: ls,git,cat,grep,find,echo,ps,curl,wget + OPENAI_API_KEY: your-openai-api-key + TEMPERATURE: 0 + USE_AZURE: False + SMART_LLM_MODEL: gpt-4 + FAST_LLM_MODEL: gpt-3.5-turbo + FAST_TOKEN_LIMIT: 4000 + SMART_TOKEN_LIMIT: 8000 + EMBEDDING_MODEL: text-embedding-ada-002 + MEMORY_BACKEND: json_file + MEMORY_INDEX: auto-gpt-memory + REDIS_HOST: srv-captain--$$cap_appname-redis + REDIS_PORT: 6379 + REDIS_PASSWORD: $$cap_redis_password + WIPE_REDIS_ON_START: True + IMAGE_PROVIDER: dalle + IMAGE_SIZE: 256 + HUGGINGFACE_IMAGE_MODEL: CompVis/stable-diffusion-v1-4 + HUGGINGFACE_API_TOKEN: your-huggingface-api-token + SD_WEBUI_AUTH: + SD_WEBUI_URL: http://127.0.0.1:7860 + HUGGINGFACE_AUDIO_TO_TEXT_MODEL: facebook/wav2vec2-base-960h + GITHUB_API_KEY: github_pat_123 + GITHUB_USERNAME: your-github-username + HEADLESS_BROWSER: True + USE_WEB_BROWSER: chrome + BROWSE_CHUNK_MAX_LENGTH: 3000 + BROWSE_SPACY_LANGUAGE_MODEL: en_core_web_sm + GOOGLE_API_KEY: your-google-api-key + CUSTOM_SEARCH_ENGINE_ID: your-custom-search-engine-id + USE_MAC_OS_TTS: False + USE_BRIAN_TTS: False + ELEVENLABS_API_KEY: your-elevenlabs-api-key + _ID: your-voice-id-1 + TW_CONSUMER_KEY: + TW_CONSUMER_SECRET: + TW_ACCESS_TOKEN: + TW_ACCESS_TOKEN_SECRET: + ALLOWLISTED_PLUGINS: + DENYLISTED_PLUGINS: + CHAT_MESSAGES_ENABLED: False + volumes: + - $$cap_appname-workspace:/app/autogpt/auto_gpt_workspace + - $$cap_appname-data:/app/data + - $$cap_appname-logs:/app/logs + depends_on: + - $$cap_appname-redis +caproverOneClickApp: + displayName: AutoGPT + description: An experimental open-source attempt to make GPT-4 fully autonomous. + documentation: https://docs.agpt.co/ + isOfficial: true + instructions: + start: An experimental open-source attempt to make GPT-4 fully autonomous. + end: |- + AutoGPT has been successfully deployed! It might take few moments before it's fully started. + You can access it at `http://$$cap_appname.$$cap_root_domain`. + variables: + - id: $$cap_app_version + label: AutoGPT Version + defaultValue: latest + validRegex: /.{1,}/ + - id: $$cap_REDIS_PASSWORD + label: Queue | Password + description: Password for Redis. + defaultValue: $$cap_gen_random_hex(16) + validRegex: /.{1,}/ diff --git a/public/v4/logos/autogpt.png b/public/v4/logos/autogpt.png new file mode 100644 index 0000000000000000000000000000000000000000..f8522af3413753ec184916899a94b7b830478249 GIT binary patch literal 20090 zcmeFZWmJ@J7&kaWN+T*=Du_sThkryG6r^kDhM^l~KmnyBq!DS6?uG$$kZu@yXpt0z zAqHk2-#zc1{j_KE+j0(v;d$=9`nrDiynm&wLP5$%3Ic&B)Kp*Sf2?SyXsl9mqCLm{jIXr~=4sV$dKb!K zX3DJ-C<`f4jQ?Tk$J9;eKw`2b^-n5;y;la0rb|+F`J?-`yq*?w$CC(|tbbW9`uLHJ zlSIu)ojd*2;KMJly*(w8v$Zy}-y(J9hG$8>oDau#utHvV1aW@;eh$Tf3T#wzF>WKn zDiizu@~1a{E+b<8|DXSNPGA~QN2$o+VwL}PqZ47>mquMfU%^x{^@q~C4G#JhIFk=X zuFr?3%x3mv2F&N#K)lYoh3q#D|HLt*eAfistH*Uod`l}8i7_nV;|6~utZuG>YnQa) z+tf12N%mWX$)W_-{Bkk{@Y6uKikSUy8T;;tc?FSc4*|N4{oo>BYsi&;_~*AtUWFJ^w$>@O1}f*S#rI;EmbL~h@^2!Wz@*@2io~Y>4zs8 z106LX%ZQ|mW#<5}9JW}F08vZt-!>myPx-RQ;5YbV6I~UP*}H4%8d}cE$K5(a%(n9+Bi`zp(26HiZlH8rm@K ze|*w5UHr_gv|4if{k*Rtc)3s*SAjq+F=(=7`?5cZE?@;Y@mS^GrzT(%Z=oGIPruw7 zA@Y#NZtAhF;Qq!uAyhY=T>R9Kj?fmx?7>$mlx*dKx9?DJD?}^Z7HPV@d$8=;dnmCbJh3`5J zSG{Pwv9lr}U-1~tG$wv@;;ath@V2VG4>|WtRu6wfrX_*21Nf6;Pw|C?HVLdD(hgDl z>%fw>sxc#%g;w3!yV&iQed>N|D7~ccp5TkDuXHW+^@kPsccoNGV7AZp1^D_dRA)V7 zL~}h$?o|&+lP5){f>fJ^4ZvLXEK#atJ`i}axf2sGtLbPktk^jE;UpDE} zUzm&>TT;c$oU3p9+*7wFzdoz5p>~opwaIX{P~8Sbe3C{RR*JuoQL#ZifJj1TT|CPK z1S?Z=xFoG`T_ITq&ctQQ@-~JBG!S!^oC=~HU{lcmb9w_yWU}vcyy@OdyYZU68w0GQ zf;aPqW`IqP3TCSV?6x;~SPaKY@SYIV)o>GZA~ReG9S?Gt|1Z1J(ibUEGB@z{LFY|OjP1W8{{DvW)k(#aoB<7QrY;`)qsbr^qJ_J!go_Cj>#Ury z9COmI@YorE4H~~@fDF`Y4~r78|7*zLxg7lH5rghy-bas;mDE8mUcB)7U&kW>#_JO! zc_mx|3{g<|igQd_D-S%7K?AybH;MV*9RK?cF)^x?++gavcLyGFf*w73Bn7CH7cV%X zQ$c`A-~9Ohcly715UN9GwBo|>pjFRZ?s;=pEbP(E{}4%bj_!YY zc~iy1N=Zcpigrd*y~bnrBDXL7TOqv_y6=WGRfohHyY*qG!iW z(JN6K?;hf9Uo1M@VbsRxnAua7Rez{#>9H>-2ry624FyAaFItH_h*z|3D7MKEeFzEW z&-8#5)87d!qIh?M-*1g&fSM4cC&C;&o4^W0pZyd4@nlMOS+D1QS5AStUm2~=|Ckp3 z(*MV1B*KOzY$k34_DM13$?zy$3c>&_<$nvtO6Aby1eAKCy3!?GSB-oh|C^X=N+V8^ zAkCVY?3~BGf*>LL=C`}=euBBRC-zeVW59rghgGPG;qhcyRQJ6Awwe!DL8}h114J{t z`_Va9fpcI%5(?1cX_)Y~d#8d30U{jx0F${1#RmPcEQL;CUAdL;2BlQ$_UANWb0zn@rJWOJK1D_1!&DEPdym2(fawMUee>7Cib1-EhTd=<}1 z=-$^N(59z^fBG75d#F(!_!9VXd@Y-&l9&jb@f&UrHzZ;2e@>k6Q0kVLO^Vlbjbs6L zFzueK&VSv0HS!9O^ESi0$w!Gt3&aLil{|+p+rKFVn?U)TB7m6;vg%jRvR|6tr+;dfK8I$l&Ec0$w$)Auq4}3Qq|n3`D8S~gzydk;1#%PS4dI1Z z0htWR(Fiw0=l8D1fZv!M(8*CNlt3sSGY=X#hHaBI%vzv(PzNs`hlMrhvU+U)0C*qq zi*V)rd@+JCD|=d72J5-s6W`90{TEL(@$VVcUq}cFtv-41P$88bMY6Pih>0^8^wwsk z$^`wbWHNI-%)_gC;`GaekBAk&s*1g*W|A~c??sT)e zpeUvszFKm2s>1GcubafrTr}kRyp{R5?H#Ol9a6m(4#IMw>2yhJ42YO1a#p-g7Q%l^ zU8dsXZ~vzJCULZ}@)Sfo#Y+c8i|q=VdUh|2h$k2f;--sSI`aSUJq`{ws0{pG%QbRg zCu&@idA^Q)9cO+ps#iF30_TmOUll&l9s4F0o;Ys_R)H`pc?ZG5M&m3^I-CzM=N^G4 zIFH^-PGu|4W5+%ZVt$Tx)*fYqDJ&&O+u|Ctp`*YsvIWb#OG`|b^2Vk8{zdB>rHV0K zGz&z5HT-IT&4DGZqwBN2OBl(9K{APeQ#QEk2s+?cj70;ktH~|Vg)^WpEf%`%Hrax; zO-}J^py!pZ)D*LFc9{A5=~wg_u9|O5UkXz=gbb<5cG+!OQd;^Bu7Yr`NEt`%!c_+( z?w6F)NFuU1F5up%0Qa5P$bMM(XWOXo*}TxlnT5?IJDZI-U+gXyRqMAy2O3z7WD5b- z87=&!ocrNyDRF@5*g$E=IB=kBi3&GG^3-njej!*KVn4LV(#~sg*weOh9r;}MQ}>|$A+`<*lzx7K+)sQh_7t!?!x<5$?PoW=yu9*}}Ka=D5A@ zRrVTX`5RHeCMmw9r?U~p0$n~FEGZd1*H#iW`%L6c+#O-d89VJx)H1g$knn7a#h6%x zj#8)Pno#j-;~rAk3Wp#m%QIx8ku=16SFsU*?_i8L10K3)>)xtSDH<`$GNK5u(L@6D z__&zUIRr+iEApC(WziWapB&eezd{)KSg3?j;WCwNKfFzDmHY%Cv)Ds>JM{5=9hr^M z<kGgrVz53%oEjnCq12jN@eYuc` zfDmpkB7wLm+7M?$tcbECMFSe>2WZ0BrW2>@7mXpVs_Y|ND?Q8DAMCub9STmq4151k@$^Fa+l`FJBXAE!_reaxg5SkJt4;;aB{Ylj zWNhqyRYAZ{PFAcC5@_s0Mpo=jwXdx)D=_;Tyj1=E*;ZSBXYYSyO!cRN?nUR{Jg=er z3D1bq+`IZ!3ume zC4jvN%OM?ksX^h)tWBuZskr2RVTpR>(OafQh4Lp*+>=rL*Nxbyy;CaB8`j~f{-+;# z6RVZqp3Z(1ZrDIu5@b{gOLijf{Xq29r}!{t{RN`tl#ErvuFtj(2oqi~{~@2NBL{)g z+q?83Z$arL^g8wThmd)Md%Q`Gpx$mSnbBgfGs z`dB!~0WU_-g5!Lr&{=ARBpUEpJuPvH^Jq5?Q->iQtw?hgeRrK3ktI_jHXor*=F<&w z)5Dk5oZd0^(DSxSvZ#ZYsHx=uhl(H`gbg6zbV9e@>ZNjw_4U%BSKO(ZO*u?M!!59d z5As@gcE>I+d3OIUz3AH_f!G-F`bL^7@txwut^Ten6A;eM@B^_`on0OFh!uX)DjOS* zmkW?YD8zd5c~@7m(ueT!rdCaz_f+m6jnh`@CY)*(k0l#PAVb#*%kaxO5Kd6Dlg#zq za{(kxGL;uhh+-fAoCbAj<%wphm!p;`9DMa`hN!f|#V}pV?el@#R2R7V?^92#stK1y zlXa*Q3H00L-)OkB8cjxFsZtl}!Dmx@SCCx%KE>*1^}0oXqVp`8H)6Xw898I;V7Az( z=&p3+0N_}Z_FYqS#}rAM@-1RUK^Sm$!J3cw+Ad!ORa?aFbB!qcN%|+*$Q#1~^~=lq zqcb%ty+qO(#!Ee#JWXn&so6IP3=-4OpZxyeV~&x1o6$71>MD0pRAp{q6M~27FFtvV zbT{xxuDWl}cD!zsr9Dq~@7d?wzJ(jVoA0#v>f5<%O{@*J^ zlA;Nrx;^u%Y*ufdf|iE1ixHyovTE(%J6QRPd4OaeB)4nLXOKbo$Zt%g*B|hk zjZbLvEnwgK0yZ=P`+U@MC-HxmaFA3sM=*GSe3nQvrQd$vDe14G#Sfv?AM`|7UWwc1!K6HNLPIn=$OH1zs0R6S zj^EuI*ETP;}0`-QzzXB64u} zS)%`zFnI-*4eP1FO-8kOj?8D?AD-mkhj3lo#OJV^`Evuj_;;Sdc=n@3PcbE0_Ben3 zSs8`r1`|ggi<41p2QJws)_tVslI$6FcWO!ccGKp>$#T845zQp6M9u65<#9@X99C>c zl=rX(DPHhlp0w+6?#Jy)&m0diuL!^+rLWIci*m|Bq6^&(?!=yPg>CP92E_RUg{8Fy z4}DO7_f8k~$12&mmMpB!l5y!qrLyC5Yy7LJPCFdy_Gi#A>}Kll_jcMrznls85x%Z@ zb~~c7XMf+oyrQ`#KjkkH$Hq{(^xD6P8OUUy4UkiD4 z?n(@zNSe+ed3eR0B+|P*qO6g^!1fw^`I-3Gnt5!xvqMBl+5f&6`QvfUd03nJaE~A zTTJap`rhY#kYOGSRPUd3Skx`y)zEWk-tz|Ey!RF_aAkhvX5M^8U|NBjA40fG@qA=P zr7fb&=C_=rx`9m58^w_Xby}k42prMxt7_%w=6(MZLE_&57Nd>ey`~~B6PHYJow5mC ze-AB*+{KBask1h+j@wpNZHePQ_t(EFgL0Uz3$B6{ z=}uyeYxX15i|1g)rK)p`3Rf3Lx!BA(AN0B2nriMvm4IU8j3~Xs)g&;ZX}Tu*Q`F<1a&V6riSLMqx%Lp;Ok$UAK%P zc;trf*}m))}~4jE&0Q(+^uItQiG>a845M}3r%eNF(=bPzrR9UyB{{iY*Q z3AT%Gk|dJnb){XP{t|uq6wupU*BM!+%(*n{f4)Z66%7-uI(?3so0zd50fE>U7-Xab z$=m0l6g|MFrq$3;YciW&?CyA|Q{5FL$GFrg*!Vv6RD1vV^1WSI?!ugz;{lF%&Ri4i zbSm)i>xd^9JOXAVU8=&g>)-M(y1i5!o7=BD((a$;IL0cHuPv^olCp$Jy`OLMP^`&hkdTp<0$W#EHGE z!1WbzP)}7slm4sgrORsKqcy~zYQ4pHpQ6m=g$Es}LG$_|qj>HwIJp)-+u&YGQ;a9G z-}#LTZCA+tkNnJ>@wN-z7yR?=MODk~3Kgc))=+7UL1(*inx}H%iSc>J05d}le4fI* zN23hmm_7eVu@>3a#3W0rKLqkYpVQIj6_rT;4r^P>zPch75K1ikYU2Lu`SEtIU5`}{ z+#8{wbYPC7(0=4X20pED8DH{G8kH{M6#aNC70W8N?lj4xA!{fSCHMNMht()?OA1_r zrbm|rQN|lLc;Eda($Gb#NRIv4ahuD`f>YKgRbP@fF}TAnCKS)9b5M}hRMK~xh~Ey( ztl+|WBzJLKX=sToQNq?0MagzBynS zq9NO|XnSYN1(7Hb^3UcHP*Ub=JCVtw$Ig%X3sV{Ew(4!x8p)M!UMO}%7a@aOqT_Q^ za<1m;QkM2w`F!jw!hKtpKWU`^-Y+ix&ubHzIGWbeV@G@e*=;{Fb$x4pYw>Q2kQ^06 zcVCDOUb4iINf3fA64%ARV}liDbd&({Mhx3?$sLz-SL=Tt9rg)?TOGxG+j?IUjwV8P zPT#()n;q@~JPvolF7168APuSAy|nd1gD#Sd3W&>T&pHX^3C!3yWr#;jf%G*|ec&e$ zgf_|cZ@f5SNH(*_#E>Qs26@6>WmL!MTK*(K+a_el+N0>AOm$yWvNg86*I+#02c3|8X4{$BX} zo#DjCl{B@7GBG=b#EAdaP!cSxRU6~5P494~i)B{S(Rn44?BSVT#y;Q|Uye_mS$Hu&OGzF|j$4@fiEaA{z=(!L_U%Z*J&4Y{E$xHARR4yFy614fSz zBymxm^e9~j=LIQbV4v}K&?;*wT-ehLGae~wAC=I_!W@v~qh9xU2FM1)=}XMc6lnc0 zf9)?A$b>S;cewHSR*ns_t@A`8_A4Y`={<6FE#RhG0Ow1_t ze$Az4@@u(5_K7fqO*G>j9 z*Dn_Q9>=n3Wc35>HaG?}IKh%#v1O0TyvwI+f4>9-t}EU%ky8d=+{H{1c`1$ReC_-7 z5GesfHjcMS<;(BT<#3ffx#yy0D=Tvf&>Pq6nU3#cfvhcMN%=^imWSMTD-xOa7eI|J z&x~;As5^@pbUr|r0bF1Z=kgV|vd6(dYDQGyJbCIxw8J`lnD|U#(Y~`FKW>@L4^!^6 zp{2ewPx<#=|E}w|hrS}JE-q8713#mouiF%Qg*`}<$#MMU+2K1)z-QZNwq(K7WAXE+SWXZJwdjGl@$@XLQovl;dv z?E0u{B+yKS4H60eGI5R^q4e7kA6`>-f!JCe{JISLl4{o6dTx zDGp3zQy>59pkdD4uKiz8;;M?M&5~0t?f%+)(qJpZ4c#UEPS5S(IYugk;kRY=jd03g z2m>~>Xkx=ENA={%({cFx10Xg3O87oSI%YlWlgwV3H~lW4x0+z#gOEO|)Z`xUm`+ zHH3N5=UpzuUMXbKY9kO3#3K~vEohp8EGrlsUjcGOiJmwyv=034_H3aT*wu4q0d-IW zJl1*1qqOU~=;9~)N_ESOtp9yRs9^j(<(U)BHw-~BsBnBt7#a*2W2RbN8#QEJ5ohqv zRWND2nSaTXg9qX5*%zK%#D_#%IgNBCr2^@Y1LE~e9Lo-s(@IFHgfLuBj(QAh4U)fQOo>H#%UFtA>H7NhIWTS zLfXZx8uxeV3kBQ#0i62}E$_U+iTvb{UocA*C0Q|{-V=XgTxmMQPpr{xF_R0745URx z%oEA-rc%1QS?E|b&eiwjB;6n5(h@dd2m)iyB-zxRqidr7294V!yM=bgd&}2aT8#Cv zIh%bDHSN1(fP@-7UH%0RT|!H!x}OB4K}SAz$jQU6o1v@#H7bxgMU=0LnE}*>LjQhY z(VO&T2nF1H#*n$i&nLjqVwK9OcAA1%KHmPeJ8Aql`|1P!SOO*0$hFuZE2=EbH8pMJ z_Wmda;N*nqQ7)|q`a>It$B4&3)|Oy+lq=Ans^stlBTFp%_S%0quwi1W%vYfM{kJW1 zz>By`kKBI>Aw_283X01qgSHjq9Pi>wMhW-}o8pyDoF72-0WVdo@YE+UasCslN>H7Gde*7j z6SzlFfV>k>Tw9@~RUg9}y5lN!SZd`*T9aJlP?NH0e0j37#W7&kQn`Jr#1$|YV;M3a z<9DlZc3SrLiD=WUxKl>IeRmUhl|Zrp`ez-cJOpRG-W9Wk%!%d(V+<5Zg(?Vb{p}n( zswJUJ9|v6zjWq<_eIn?B$(UHR{H+aKe2AvFK+XA8xYpl-7jFG8;kaa9!LwubUqV=M zjpjWzw7h0Y{!ab;!vn{27oJx{|E8IQDQocU@=0faG-YVDCK^2|+G?GY*0joAHnq0} zMx>H{|0%l`2a(lo6FW>4Kh;_m_XUrX9nOgYSrenOR zczq&1pemP0gyS7J5eP*(H~WYOs@JQOl>vOff;fVEu;0*?C(U2J=FT%X;m4f) z2rv`AB{+;sl4olw4}2Tnb=#vcveCcbtE~v29mXGMR)SVv)Oj>d3y8Le@lu|*T^rh` z8#d;y^ae>sX4*wrQr@-~Da_g6?L>Vw!D+vJRITE{m7E3S#OHENRs92>a$t7f+go^U z>^~-@YhDfoVyNf-g1#j^>8kcvo>q6WJGaInRX~=ZDd)xf$aFF+;0_k!IQnAj$ZEDK zd*r8V=}YxVJ6X~tvK*Bwl5J1>^G0Pq)QA;MkpUxT>>qnhD?ZMkiIEQb+@m$!%xqw> zYK_Lo)yx2A>%4w3@As8z@?WN!aB4@=%%&!7yF;@R6h>CtYv&vp zw30)_JUgEl>l`=2TlYY#4VmLB68HwTY6T?=x{%Ol?g{ScegUD2+9MJU^)&8sho~6} z$~i(yIa4gMrxK(w+Q?-cyWGve-eOjeTHf`&gk?u$rRWZ;DS1w;_e&$@3p|wldVos# zHW7!-&D6tyyYz}@H>P%CP_EJT-gU)yC^na^rWTd^#Ob`fV~Exy+Z(_7g)#a7`uedr z{j6pJ%@=Z@-+J&T|U=e`=lkYQQsdwm4*Ysg*|!NN+NhwtwWe@;&f0K0BbBT0?a#!*@wV zuDz27KaMmohKRw<8EA={wk@+;gX~Y!=U}tvw;Vkph?lfPbafoxA5#? z)C(8&HGV=;#I?}pJs!$9daT|4A3bnShAHzs;@Y)8_s#!w8+Z_+=}7l>ZH1w{H3r99R?-XU@2;HA8czlN9AKx7VuUb+hX0n`2v@T3Q7 z7XzDGCHOm_=Mbrq#q>qzIy42E#pIb z0V?uL()2YAyVp2tj!S9B>1_pm5*ENP@d2fUpFkmZ2ObOk{8O4WNn8-_Ep@nc*|OX? z91bk4ajE$Ss-Kw^|IOx$lV`oHq?q7Iqo$|2Q~*770qt@0ZRxhdh7JF45a>+aLEUaH zy=&gw+}A~vYzctv?zKmGtgapI!3FSa0O->sp3t%6ML*?5fk*kGWgUQf6BYq7n6Wne z{jGQz|K@*^)pIF+p*#V-oCq&lDT(g31;CKD&W65@%ou@4+>>MKEIM{Foz2k)LOs&f zpNFLBlOo^TQ5BYup}Y#PwED6dS1u^8ru)Ir*1|hrICl@qx}v{av}v&LAqZ6DMt_TU zv2}>0Rr7$^s|AsmOsQ#S5GPu*t0w;6YIAZy_idTC;J9mX&kob^b@DI4lU?U{81!v6nvVMPE$i*% zAs}3CJl|5m=Rjt82XWN5FAD)ll5$ojcV^h04TiRaQ|#meb-Xd@rvLyJkKIiG@cPk# z=)~Utc25!QB>N#~(PWlYA2to1c<|y<;Lnk+2A7NToq9^uB35TfJB!TFzBVAVVns-@ zx{4i>#NC7QV!YDdxgm28h%i5nC89h;9CjS-p6<20_zj%(cJcfRblH5h!1)7#%bL3( zk2h*;*RHxUEvYHWV=ZYZ;|m8PAQ@@o>LT%lZWVTLfIt2r5E=2P1B)4wo8?q#HX|)R zhFDnSitdR_2MH-$i_4$ZbthV$`^Ul$XWu;$4*&XxCa{&93CK?Ht(9%;^}|CobeUcg7noXr22W#DU(;ZTR}wQ9zbT2IJA zyi?y382!5E691122&qsEuOtATv~Z${;3`;KY@Q2(7%@Lh(#4~upfWc->H&&G{%Txc z)C`0f_db;d7PN8aT4N`&m^$KTZ=uxxCxFQX3aAwzsnI_slPmB6;A^HYLERTVVr{b6 z;(-eM0mLK#DBOO9S5w3LW1kjsMbYiOwmT{fG9K5)Z)b|Br{uu@2SpvpCxBRyylUc~ zBwv0ykV^Q{`+q`2|4$-5$0_4NjicG?6t`-jI>B|oq=tHU<3yC>wPZhS-cR^75U>BK zi2Uf&@@E48=(4MQzg2)d*;CvsO$9Z;m4`JW6jFSd@epK(RjiqWy(CS^W0R-@`=#Z) z*l%`cKO63Hf({Uw$b<5yGNTI|hpQ}=OG5utPXgk`7@{%jd1s9AJYe?uPabZtBYwT{ zpHM_oh0Q>#Lr+&8fVh2xxwA7iPHmcI5AC|IA5{S89YbBb@h5-}>P;z;AN7pqZjJmm z^0Mo2FyLv@W2}Gx(q^EHekbg>y^iulSQ-sXeBBeuHX4sGnyuX&Wc;n+7c<}0Ly$I!*6S=lAXlHDY{IL~s%i?01z><3 z95o3x!y#(3o_qwX^;9S+6F#2&&s={MoxFj9D#?Dv4NX$&KHvrtyN*axCRI36!v0Tk z$^Q`L{|$Zof4$RJ;9zX6NXd#VBxEMzwj_t@5=xb|N2Ote&Q2(W4_sa8rBd&f%1L_%Kjz3ifQixV#@4y3O&RE$PL=SgbMeM^Xna z!AxKJM<)vap1C0}x}K7qrHg`oNSgF+pc_EHg(0AZYs>QDS&qZ;yX4^*UfF*SRpPwa zjx}fDMGpaZB>dqt8T(|~zy8tmJFn4KUxh`JdG(`ZO`&@(aKy#A4i|A7EDS(!F!4H~>v@gl7O_%XETN zTF*u{4Wx+|5-2YGpd23UznKTrCY+utAvbe*#;b~S3&^S-0I?>^SL@m5?m-W4o(Mkp zlimbSX+fD>^W~?yC$W6c*NxCLZ zlWO5)TeLLn2X`({bMJp7Uqp(h2#3hg3J~e@+t1nS*wWq>7*d^?$UW0x4>qj0e(RkR#83jXvbWiw0_2%i1-h zA)P%kaJ!=GZF#UO@ghN(rKs%v;sEynz&;2&0D*=leL6lHahm9*R|*23Qo>~aG2k9b zTn3$L1BhblbN9GCm_A3}(~-ZA1mmt93e^KE2IjKTfm(+Y+#DQ2b0<5bl>to>?ZSJm zQs^95GBB4y_>u(Hk^lHg;DC}hOaa>2<0*=J?){2<->Ze<0t-ZKU9{%Sl>mC5z`SQ# z82u#D8(z%Ufo$GhIs*g48NMwS6lB$m^;>^6`k<1;;|8SXME1nc)BP4TqtnY$5tkL(lo*UpxbYRib002-rq8ly<665}p zXVKszQ1-5o@0Cr8DJ!M|-}%$$nNq9+TG~W`-1{jJ_7ReyJ}+saBjja~-@!5ML%04h zLehr0KHS#mckCd5BBaB3Sb9Rr*5;CYuA2*4<9L92yk0$Jkv@>KC`DI)8?;_?OYU$iKI&N(g; z=DYi9K^v;x;bitZp#Dh|Hp0PEo>o8Vvoo66jfeZh=19CHyC_3b&Kkmq0pLT+`$r?8 z0;soK14h+7wP=sNea+38&v6k5_dRWM6~b8hR_61V-E*f zu2*V*Bb7!;frP6I>_J9lza*1nU4ly$qNS?2W=#nQlF4fBe0WDB@e0?6BlJJ~fs)-? z9!t=dVEvunA;g=SX6;9bROZlUbz#9H6&&rmj9tOatlab?%~$=I!@IiuM)?Dh=*+Iu zijAYFW4}1(@~SZun`i5m_{ABRguCvkkCmi)=kSil`_laPVDXiquMdfn|I4xv!|5s( z*Es!(LPhSqG0}S6^!(I^v=ijYJJhl~Vo3)%-A6ZnI!oY_(7fxd)627u7qQnD^0i07 zs~F5_VED?>a6G2F_nJ@doHbIRppD6k`mD%!R9X~tcSWM+2C6&G9UAFFye?4>t6?2qHABa+D_5iX#IkInmbVS!6{Dd}dVx)pr{7wR4r$-${1H;DbNpLigJtxGL z|M1F8#{99aOeN?J{arP^yzxRMPJdRR(}^-HD#>}JZ3(hH0U!R^9)ogIv)2FFq$p9- z&Xc7;(4g}`)Q0ck?5$$eY29+27e!@61N8853iecAaR?+dj zbsq+DpHpiUw0GJ(KV{QU%t}WaOoT71zMa?S z*tt>4L9|Mp|EOKRFdBJqZ{$WOXAkm*;O8-dI;YZ-`asH10&w^Pg z%?Dm0+hJUzd;~=8L`-m=p@RZt5FrQ;h7)~QeRB6$@~}|vvbOLnOSx9i&v`;4585IF z{pB3FT0JM5meq;@9dYi*7!TwwdUjv8_TIL=+2Wx^u3O7viZpM$Duy7@1ufAktTO=xT!-l`=ZG^_hEbqtM|oS_PM!Gyq#Tf#n> zc8XvRbd3Y~b%u%oW?Odb!FgWY=Fq|7!wu%DLncPIch0V2-UVkI<&2*`z=;Lr=VB6| z+nR0Hl^m5>JdF$S%@~S!{%d_0S(LvY<2nBqE(l5#)i3n93KQ~~XFpG5=Lk-W7wzs} zF~LG=$M70d)9b6-_Hn#3+(E%}sYV;>y%IW|8%nSQCBKp}TAKVwB4+&7gKK{mcW0EV z6j{D_8qWD|3oGr1-T}N2qtc!xO4{_$SF>tmiA9GmwpP06563`xF1DxXnZ2ygu62R~xzgeN%FawCCb7zrUn5KO zU=K2SnvEs=>5l#oevx;boam!Fri7>n<3<&F(WVj)+&xX&QUSxT z1_+l@Pn`6j7I&MC+Iiqly4@fV(^*S*+RGnrAKYdlIuEah1svqHN6=WAt-*v(f@D=Z z6G6kxL>)m@A@QQNGTX&V2PDae3SF1simU?D$*B9F3ZKy^m?0fYaGepo%e1S-_xBD6 zHY)l_j};m>xpy`SNb=`ccf*Ezdt&e<|>Z7*yLw#VD1R zE`3ne$6=Sp(^&P|+bIp3SNad;QH3?S5^f*7mN#yiqo8Ca%YCIAU8?g8+jd}v}$Iy^A zsDn}pZdBYH6}=|%rt4WsK@*YLKvSW z)%MbsVItc8$LYNX-85I(fl)0XB{;*f5VermKALHhk7K%*ticjiB#~l!Bm0LO5X;rY zg6ApGK4SX^BTJ|TuKkr^cUA59H;e(pfm`K-liL7=0u27pHS}chZ)Y2ziep>dHQdEN zg=y<#1y7w@GWEKp4SKWc20;71WcdhnC&0e+b+81DFKQxU=X``#8*Kc{hgFD}?#zpO zRR@!J7=QjZ;B$wcQ}!b~`_^hNLsSWyoQAW!ZreQ9A3ap_LozW*q^AeU*f2eOpN15n z$kv&L|FCCwGwiZ@>H}tYZ9u zqeA+_W0{vmGMmkRfj5I)-a$_nzmVW~4)^rEG0Po$Ye7nktU;&)sp!XB6< z-s^FJmov@#aODmpvyOIAwmgBL@KE8S_s>O(pIHo^9dc34UjZnWS33zyZF+nu)wJhhC72fXy{6(08%{a> z5Vgt#iH-sI*#m~9j~{3mv%l<$lUiL89m=A<%>NWF0zux%bY^6MSt%K8YNR3(F%I&& zm`a$>6Q0qhk0WvbR9CbyB&56w;abW5FdY{OW^q|i*l|-t`fa%=;B|)@^rNf>kO#M`SP9-*zTUWuAJbZiV?-&zDG3@)_zx5EmNxQ z9YQ_cvdd=6HP0&4~#XcgrLU=CW%1ODx#F|F6@T z>q5}_J2p+;S>Z&0+`jgHOi;P;2Z9Z6PbC0j>@j_ETWRa(WnJYkHQR`=gXv51;#njb z>s&Hks_}WNT1sR|hfjHQ^$eeIv`T&&#ZPWp2$%ZA<`UUPt}9>yrrusZOjct3+VTuC z&xrPml$lg|tbgQR#c-8!dVEnBbwE5zOqu9;Tb%QC=6`AD%D<9Mv^W@Uqv&Y8)Z7|% z#xN|+Tv2EyGjR-in&X-a7FcFDnBdZL%}mAAOwD!bnd6#8n8;%kw9rb#XO=4}ii!*2 zf@b8xeE*2|VproA=^qjh!MymhD^_6SK ziEi!?SadTX5>GbIP3qgpd4d(Ftf2*3*pxPZT?Ae`h_KL8e>`wed0IpK(yR=28_|_u zAbrMJr(O+F_$q>`e~y1vCfA?&S<7talcvH>DjJIlfK#ese|V6w4@gL>Vbw|3Xb`XU5a8XVlQ;dC=lw2rdLTjy$#_vm2z z03w7|{#c^I3(A!RN3NMfW5B7Eg+}i~(#PyoB2&I;tFeV_vZ1`Zckqd#ckjSdMM@m5 z)jr2VzrThY_Lp9J`ZBYqA5_Cx=c6t;cGd#a^$?C8wyXGw?uY~%yh#|f+$X^>hRK~T zRy|Jz5pZO@j@k-*BRY(r++wEc(0JL<`JR-?xqaf6?X>`R{L4MpFP8QHfy8ECaolI# zPstnA;10!!#ZhzVTwXPAannt@*ssevOB8C3t)eCjVvh5wvB)}M%7)2zpg9UrX+NvK zJ!6>_b2MQb2ByA7ONrt7HO7nccuREDcsdcEKSMtxjfkG$0|dO~%iI022l}y=9%d<} zidn)1&jU?;DMdGzhkj~X>b*NMs7gr`@w6}W1`E<`A!h|< z4D>=tfD3*5l`;kwgW+zg-`u0>5q?yyZv02#?v#%bi$XmtR7fUCpW7PO-;t_jB;n1? z$G@Rz_?Q*z2jz0VixVOT6WJu|y9kib&%LGa&=$k3+HTaBoA2Ty94NG_1)T|*%Y2v3 z@Pl^F>}YjDg|@8=7K1(#yVJ!3nV0ZEZNEW7)>(#dWK>TvyQw4*d9r4X=i(#dpP$%U z&|K@Dd(++6WuIJ^!5Jy8hr>4>KP-9lV_FzH*(T*#f6(ggR@8yUT)?8Gli( zRaS6?z@0I0e-$;=VK0ycd9aOsjB|5Vo4wn2!`l!pKN)sGPl z^x1vI$=zD*KyZQIX{(2yZNeH(UR?BE2 zKYVp5{!?9@8u`RdpnS{9>fr^wT}K?VeqT5G6;^OjOo7LbJR!ldE%WL?XDlA@t|U3X zB$uvihW;WfMHF?zBxFZBB#@?7c!<`AvtzlFVx<2dYQo zxe%*-WYZ}6hpKmOk2($t69pFC<;Q$28a5Z_QkfI4-gK}v0feZlEE2X91#Ud|OmvvY zny5(A#0F!$d*~&;<&Vt1Pdfb7TTJruyfx>#Z!;d$at2V!jI*GEPO;2~L2hzz$L5;E=n6=2pjT%hMNM zXc=cuVov