From 834d7ee94b8dad7c69b81299d82f6de268efadb7 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 7 May 2023 01:29:59 -0500 Subject: [PATCH] initial push --- README.md | 22 +- images/pic1.png | Bin 0 -> 345613 bytes plugins/README.txt | 2 - plugins/template/__init__.py | 3 - plugins/template/__main__.py | 3 - plugins/template/manifest.json | 13 - plugins/template/plugin.py | 51 - src/__builtins__.py | 2 +- src/core/containers/base_container.py | 104 +- src/core/controller.py | 34 +- src/core/controller_data.py | 2 - src/core/mixins/__init__.py | 3 - src/core/mixins/dummy_mixin.py | 13 - src/core/mixins/signals/__init__.py | 3 - src/core/mixins/signals/ipc_signals_mixin.py | 20 - .../mixins/signals/keyboard_signals_mixin.py | 94 -- src/core/mixins/signals_mixins.py | 13 - src/core/widgets/audio_sink.py | 120 +++ src/plugins/__init__.py | 3 - src/plugins/manifest.py | 64 -- src/plugins/plugin_base.py | 61 -- src/plugins/plugins_controller.py | 118 --- src/utils/debugging.py | 19 +- src/utils/pulsectl/__init__.py | 16 + src/utils/pulsectl/_pulsectl.py | 688 ++++++++++++ src/utils/pulsectl/lookup.py | 93 ++ src/utils/pulsectl/pulsectl.py | 992 ++++++++++++++++++ src/utils/settings/settings.py | 23 - src/utils/settings/start_check_mixin.py | 1 + user_config/bin/{ => pulstar} | 8 +- .../usr/applications/.desktop | 11 - user_config/usr/applications/pulstar.desktop | 10 + .../usr/share/app_name/Main_Window.glade | 28 - .../share/app_name/icons/app_name-64x64.png | Bin 11833 -> 0 bytes .../usr/share/app_name/icons/app_name.png | Bin 21361 -> 0 bytes .../usr/share/app_name/icons/archive.png | Bin 1670 -> 0 bytes user_config/usr/share/app_name/icons/dir.png | Bin 850 -> 0 bytes user_config/usr/share/app_name/icons/doc.png | Bin 702 -> 0 bytes .../usr/share/app_name/icons/image.png | Bin 6591 -> 0 bytes user_config/usr/share/app_name/icons/pdf.png | Bin 925 -> 0 bytes .../usr/share/app_name/icons/presentation.png | Bin 882 -> 0 bytes .../usr/share/app_name/icons/spreadsheet.png | Bin 707 -> 0 bytes user_config/usr/share/app_name/icons/text.png | Bin 798 -> 0 bytes .../usr/share/app_name/icons/trash.png | Bin 989 -> 0 bytes user_config/usr/share/app_name/icons/web.png | Bin 1845 -> 0 bytes .../{app_name => pulstar}/contexct_menu.json | 0 .../{app_name => pulstar}/icons/audio.png | Bin .../share/{app_name => pulstar}/icons/bin.png | Bin .../usr/share/pulstar/icons/pulstar-64x64.png | Bin 0 -> 17677 bytes .../usr/share/pulstar/icons/pulstar.png | Bin 0 -> 10774 bytes .../{app_name => pulstar}/icons/video.png | Bin .../{app_name => pulstar}/key-bindings.json | 0 .../share/{app_name => pulstar}/settings.json | 2 +- .../{app_name => pulstar}/stylesheet.css | 0 54 files changed, 2046 insertions(+), 593 deletions(-) create mode 100644 images/pic1.png delete mode 100644 plugins/README.txt delete mode 100644 plugins/template/__init__.py delete mode 100644 plugins/template/__main__.py delete mode 100644 plugins/template/manifest.json delete mode 100644 plugins/template/plugin.py delete mode 100644 src/core/mixins/__init__.py delete mode 100644 src/core/mixins/dummy_mixin.py delete mode 100644 src/core/mixins/signals/__init__.py delete mode 100644 src/core/mixins/signals/ipc_signals_mixin.py delete mode 100644 src/core/mixins/signals/keyboard_signals_mixin.py delete mode 100644 src/core/mixins/signals_mixins.py create mode 100644 src/core/widgets/audio_sink.py delete mode 100644 src/plugins/__init__.py delete mode 100644 src/plugins/manifest.py delete mode 100644 src/plugins/plugin_base.py delete mode 100644 src/plugins/plugins_controller.py create mode 100644 src/utils/pulsectl/__init__.py create mode 100644 src/utils/pulsectl/_pulsectl.py create mode 100644 src/utils/pulsectl/lookup.py create mode 100644 src/utils/pulsectl/pulsectl.py rename user_config/bin/{ => pulstar} (62%) delete mode 100755 user_config/usr/applications/.desktop create mode 100755 user_config/usr/applications/pulstar.desktop delete mode 100644 user_config/usr/share/app_name/Main_Window.glade delete mode 100644 user_config/usr/share/app_name/icons/app_name-64x64.png delete mode 100644 user_config/usr/share/app_name/icons/app_name.png delete mode 100644 user_config/usr/share/app_name/icons/archive.png delete mode 100644 user_config/usr/share/app_name/icons/dir.png delete mode 100644 user_config/usr/share/app_name/icons/doc.png delete mode 100644 user_config/usr/share/app_name/icons/image.png delete mode 100644 user_config/usr/share/app_name/icons/pdf.png delete mode 100644 user_config/usr/share/app_name/icons/presentation.png delete mode 100644 user_config/usr/share/app_name/icons/spreadsheet.png delete mode 100644 user_config/usr/share/app_name/icons/text.png delete mode 100644 user_config/usr/share/app_name/icons/trash.png delete mode 100644 user_config/usr/share/app_name/icons/web.png rename user_config/usr/share/{app_name => pulstar}/contexct_menu.json (100%) rename user_config/usr/share/{app_name => pulstar}/icons/audio.png (100%) rename user_config/usr/share/{app_name => pulstar}/icons/bin.png (100%) create mode 100644 user_config/usr/share/pulstar/icons/pulstar-64x64.png create mode 100644 user_config/usr/share/pulstar/icons/pulstar.png rename user_config/usr/share/{app_name => pulstar}/icons/video.png (100%) rename user_config/usr/share/{app_name => pulstar}/key-bindings.json (100%) rename user_config/usr/share/{app_name => pulstar}/settings.json (98%) rename user_config/usr/share/{app_name => pulstar}/stylesheet.css (100%) diff --git a/README.md b/README.md index 4896ce9..922409a 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,12 @@ -# Python-With-Gtk-Template -A template project for Python with Gtk applications. +# Pulstar +Pulstar is a Python + Gtk app to control the volume levels. -### Requirements +# Requirements * PyGObject * setproctitle -* pyxdg -### Note -There are a "\" strings and files that need to be set according to your app's name located at: -* \_\_builtins\_\_.py -* user_config/bin/app_name -* user_config/usr/share/app_name -* user_config/usr/share/app_name/icons/app_name.png -* user_config/usr/share/app_name/icons/app_name-64x64.png -* user_config/usr/share/applications/app_name.desktop +# Notes +Still Work in progress! Use at own risk! - -For the user_config, after changing names and files, copy all content to their respective destinations. -The logic follows Debian Dpkg packaging and its placement logic. +# Images +![1 Pulstar with sound sinks. ](images/pic1.png) diff --git a/images/pic1.png b/images/pic1.png new file mode 100644 index 0000000000000000000000000000000000000000..2dbc23f0321d6f2c87282145a2d582705c40aa7e GIT binary patch literal 345613 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

*&6qq<-9%c>Hm&e{#R87jQ5lK6oAF;XKxs6#| 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 literal 0 HcmV?d00001 diff --git a/user_config/usr/share/pulstar/icons/pulstar.png b/user_config/usr/share/pulstar/icons/pulstar.png new file mode 100644 index 0000000000000000000000000000000000000000..9df056a5975675f3e60848e3b66040ac1890d2d6 GIT binary patch literal 10774 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 literal 0 HcmV?d00001 diff --git a/user_config/usr/share/app_name/icons/video.png b/user_config/usr/share/pulstar/icons/video.png similarity index 100% rename from user_config/usr/share/app_name/icons/video.png rename to user_config/usr/share/pulstar/icons/video.png diff --git a/user_config/usr/share/app_name/key-bindings.json b/user_config/usr/share/pulstar/key-bindings.json similarity index 100% rename from user_config/usr/share/app_name/key-bindings.json rename to user_config/usr/share/pulstar/key-bindings.json diff --git a/user_config/usr/share/app_name/settings.json b/user_config/usr/share/pulstar/settings.json similarity index 98% rename from user_config/usr/share/app_name/settings.json rename to user_config/usr/share/pulstar/settings.json index c11b4fd..9b0686d 100644 --- a/user_config/usr/share/app_name/settings.json +++ b/user_config/usr/share/pulstar/settings.json @@ -35,7 +35,7 @@ "error_color":"#ff0000" }, "debugging": { - "ch_log_lvl": 10, + "ch_log_lvl": 20, "fh_log_lvl": 20 } } diff --git a/user_config/usr/share/app_name/stylesheet.css b/user_config/usr/share/pulstar/stylesheet.css similarity index 100% rename from user_config/usr/share/app_name/stylesheet.css rename to user_config/usr/share/pulstar/stylesheet.css

nL9u4%U=H+8@j6xef(WN_ojD$+F7Dmbr81| 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%0AOHYEaq*d9}ipZ-#@&~UGPAtocmyZCFYPHvrXn; zYjk_$g3_r@erUlro*c8n^LZ7^%03)l?AW`vrv4jtrjP{2=g~fVHU$J2a4};KvCVs4U zujv__7%|A+W?sS=vZ&v)a(+bA%1g+2yWLJ_n&(L@wNulqQf9{jv!97(4`5brpO24^ z*Vor?-`+kxF3f$N=hhoD3(#%3iOBhUJ|2%{+bqnDI|CdJhjm?#$D_t|B4Vip5CHLX zId3YOI&F&~{OJ+lf8d`ES6%bxzkn6KTHBtnFeFc(L%B8Y0fDgZ)=>?lwHlRkr30PNU~n>ttBnIOXNTJ1-7 z?&@J$%e))oXJms@@P~+ch^Ju!rBoy$qG_5zpiXsN7b0v8i0F7c^v<AjUw zj>n@0X>Qx59%hKZ+|?*pN}16ADg1~ocUC7(x%E&ZP%gFk!U zpBCQ#LS**WoBEnzXJByO_CRR)rr5~i(fe0?p%gne2vlY-!UxU#z3XW!_~1|7hqIV1dD17|}GNX{6jy>f+D;-|LeUBEnT(X3CV@@Jt^ z6y}3g8S~drt%yja91jN(&=kqFmgTlkDf2vwK&^FImU)`DZ6hk@^NFam*0yccoaqq( zKt%IAmr}U%$K}!;Le*(%+Xi3`I{NB)p0{nCrrKJorS{ge&8FUwIy0Wc9}xslSXep$ z79zMiFao7R3|I`|AD}bgVId)@?0BW1u#}=9tL_bB=gS=J+QJ3GgWYTQzYhgq&))AD zy$mzVuDRBmQ`wO9LF-wTe_fEPr+i3p3aZ<0}~;IXg78^k}v_VXoxqN>L{Q| z;9zX7Sg#nt-SszYUV7?0HeXt>zp!QSi+Tlrrk$~QzkbR7Hg$55K)U(guNv946R+Oy zfb@r+jfD0NfC3t86>rAfBfE|MwNV(=%Qp+7{S^}3_JQ)-;Z+7^AOjr!kt1V7lqA1v z4Zseg*v&|(w@EA}9vFiX06-!y3Zj1ay|X6#KO6{2LnvO?nhz2YjmgAyHwLGF1U!7AmA) z5tUL30M7H=J5!paivy3W(g+^^Sb@11)$#oEg7rnxnPV#Hco{xTf+ zc9_Hzzm8QAb3@MO%khlfLxjjEUJQzbageQ5dicty=5%YoPBh`dt~5kgn$to*YRP^` zx)b-^9+dZKQ~lz)(*e+vygU^)k3W`&4(wTlxF6J`nR6>lnpcN1$r60`hOY*Dr%z{e z`_)sytDoPQ-z)cDF)$f_9FWOFJ3jaE)8AioFn{aGH38KA^r*$1L=3E^hZ+y*En(Qi zz2(v5@8E_6Ud0d-t$J4hwK4-jtd-^l>S7r!~*vH+UqVE38HRkz#XAP5tcU6L1c2FT0 zl&aaTW2>#^;W7e1Bz{))#~#o8EgO3ox z!ExUwD`oUSqg-|AtKL%(yB-MlUWiI9GtK(0LdBXELs5uC`<5l`=g*g02s{;>_lqo! zLlik_fn=f`Q}ns|rA!r(;U;C>L2&UO**C=TA|nz}p`9_)YQIo%)14)o#c7%VF?0ef zc)eVaka;~^~$QfphG^7{J1EWP)2U1Kbz)ZTk3Mcx0`b-iA%tR-ecHahey zg=#4Z?`o~;kD`cf){fNT*N5HY_9D8jtQ(4R;G5J*t_JXk@#S7ZnZ2=TTj1ap>v9r#IA z7N>Ga^Zu&;<6md}dOtG|vLxJ}`nAKI`j7eP|2f~Hq4hcYmo#hOd<3(?=cs>(K&>o} zqYEKO+-o?RcAffhE!5GgI6LvbhowXt6;Cl3Pm24J??~wrA^mBJesWiq8R_Ha0Ou(N z`$aeYb6z!E&;c~kn;yg{SZ*Lkv zAiy7&kJs1N-uhvh5%6}qa_8&yb~>GU?}x)tm~Xcm63Mdk-rR~I!KfdoA3Gw;3^FD< z^q5!=H|=9Q?*E`zUfkV_(5109;C6AVM1qJ#`c^|%tkYCHVAAl6=a&nS<}~E!U8JOi z_fV11g-kxrFk+PNx$QZQDvzZnvAhpOC(NdlLcXZCMr(QKv<+3QN=L z%Zq?qF4uKkxpykWIz8;kUWo*Ru&6D4nrd$i30rTPCD~_0Ol0^~OJP48@nr-NKq9YO zYVi)Xmzfcvl;Y;=Oqe?!H((7yDaD{53Lw;44LXUq6^~H!p*)jYE>pbKkVX{a2}ENj zUIHE&of=WQXf)}|ZzV*<4%L)TDX@OjnWvX{fhv9P*A8}e{Ei3^2^5SPAD&2tRDRgj zBkNi0uT0w+tKGNp@GD))qzOlZPiF^l$HjsJgtzD2gNczFcpM*!FcFB53lf0PC1uxX zJM)cXuXmE}$z`u{!@T~J)R=tZz++A)G2Y=h48E$~f54IG>WsHF~xjPw(_E@~4r6At+nW&Rf(c zn1#P&db#sH6?@a^r} z&!0a;MALaNbFKAwI$bW8I?vcpn1NYskl~U?7Q9-8x)ZYR8=#U3(@0N0yo%IX| ztcA2w;x}e?ebR#d5U~`}b&6N(yzF((v@6`-ARERUS%Fx!N^~e<B=Xo_BI>lk5VAXx&}7k^HjC^n z&fpsZ$F_3Y2cmf0)4=T_!ok%SqxYC4-9+D zxEoxCjm22zm<>lq&_2uLJy)#c!wV*YW+wCSIhxzdK_V)2{S#C?0PE5Dk?Q}k^>-zHY z^6~Les5BM307&I{K3}ibiXgqWwn?)&Mn8FZOfGStmOqPmck0;X-`O2Bx$F=qrGOvD zVUi#E$?0^|KdIE9C=scOU9?QqEYidCl++jAuphEnp2}3FK{^0zStXMgcCZ*rKBUut zQ}MYTBkHp%Hr92!55UZm(u4>RV8<$hQTyTM0B{P}{7(uqh6p3kG)+_rm2x~D z1%Qy2bs-`JeCPA2wXW7a^>#$WX_`)_6CqwMmu=e+p|z$)!QT5k&#$kqBBE(#2kS>f z1TAEteJ+Js>x59Nnk{APT{9!AU9S)UME?UP8?_Lkz(_2va}tLp7J@3m%u}tbaW~@e z7Z{Llcg&@qcRd7U2X_J@Jti~YAYhzwe#IjZH6@CcfAGX?dF}E)|yD+`SWl@v>Y)qux_Ym$a((#Cx135IInUrpClAxp8Ut|TiAi{KxYoC26`R5 zI8fTdzJzWt045509$*OutGkhVdiZV%z8>*^_Hxi{vm%Ci;4@J@hZhfS{)-n5dG>^u z2ZVN_eGWW+eeD|)_XjZnA}KAgfIAMj>=6Ml_iXF@4&M5RTwer$rwK~XFCU}7ArbA6 z`66tc5s@AD*da=RF5~>NCdqzGa)X^(pozmkLS~As`YZYZf!dr zj_b0{^R%wp%lUk}Exq&Ud|EVkQ}A#+Zd&kK@uW^*D1!l45;5r)!};TG@zOz|@u#F( z<|%*3Pyq+1OH}~k9S9)xa=idRp`s3FDq>5mWvWQ{{bg2PZxQLz)!=4}0RRAmH8I_^ z!uCnVWYN)}IRu1Si*^NxM5K33N1Hbu=7~{r7wnWL`^M}&>D6lA4fQh1m>@+xy>u{w zh*)Zw4+j9GQs%>>r@%`hYwM_#H06+oU zG)*rrF97oU@4s8<3J9>JjS=rM0?dblCe}j`w7RgoEDH#zK@mVaI#}_R&jVV*KLH4w zrEFg@29aj}59^_5Tr_EAch|v@P*XXN#tqd1AqrX&b0;B7-Vw$!7?GZ7vG0k~`pjTu zeGo`t)nE>pf}*uC-UplzT(}a@&`(16|1uNf{gqgvV^wSLF_+DK`ZE&4G4Q8*@zKmB zd3`qyk^AGFFW>s7faB*b;oUFrRWk!kg=IYtQv_I;ghtl`%cN=klv6CedhlXQ6DrvX zw9 z=pp#qr~QzjRBr6?C4R(}p8_>i$mrbo!qo-HuMeh(CiVbPG}7vUKWg0UO*t3`bfl34 zYe3A{n&zJ^V-C zcgs9wiJzE7-}^(ZEd^VZqqcse|#JcM*%pUPkr5} zY)!)`cUya!s|FORGg&Ex zs1TK^-u;Tq*pEe#dxct}){6BNJphn3=c?0!_H7TLVz;O)GvovQe*{D-=+7`Afkjh8$bOjN$kQ#~X~z*nVb%F%lh1{c(V-n-dWbr)jQr(t2S4P)oU9u8PlU zosP$YFl(^xRO_-Xgf!2yrkVZt_)y0~#pbnE1gO(=JRSkzKmPeoO%iKI+C*`);-C3& z*w*!Mn0xQFR$|VMuc_K6~vCtCqz>bA{CnS~h6BjWd z34p*XNM@6>dZ1=KcjFnLf>8?;cqUlfbZ3VWhzLSN2&v$DRz)*1ND8kf3?6i1q@YaI zPjCy7>1v#1NTSHcg5?QQdv;d4Lv4Eu^QD~llelVZHE(l|mp*q%YQQ_+2sU5nAP$_0has3DpwS>Ui+uQMY zY^`nU8p#-lkbD1l|2Q0uwbp<9;~zhM{8(2zwX z*IL8hNr4F!fr^)66W6LFuri>N#vlH_nZWUrd5@0J7V=;^(!c3)z z`HEmERl_q`fCY}H6A{hFBLHk$tCcR7i?Y|l@mNb~txeOkt_xAQElVLfoz9vEsryktVAdPw{+s~OH^aw@?<22gD6?t3+S;D)TyF5MwK-2Wo` z4+T6$jw>(^-!}Shb3bNoD2Wf4_yA*KAGoUILlr>~0O1ZGS|=kJt90E-gkjA5<2-CT z!;d@X?69*sw?&sI(deMAy}%AJ75K<1H;m|$gxkIb*8BWbHolR4+?)hhEbY?XvngJ0 zPw#ZGyIIIHtOW7kHcz>eWIO;(f_G68Js zQm1KImwB22u?r(23%Azh!@RX->HVl^Xkce1qEd)O-rwKf-rfjNtE86#B6i@zz{_$2 zm=A~J>+9>s$H#5Cihvf}b-zoIvO-ricw%-2E?Xd9 z>FKHGCh0dQ3U_hOwZJhz+^I%sYXrPCCGKz(t`l>%BAYtU@y0Ka2de&N-(Y5qO$){g zLM_$m6**R-C)8Y<&6AVQ?t5ePn@{Wrl2d$hZQ<=SI6-)HEac`=K}~Z$) z&pO%&V%6h867nn`!lJc@o2Kckxo~^%f0W-JglQud8k{h2BS zy~H$8(svINu@w`35gY6*Oe#6s$Uwtfb*Mz6cXX)6#mrT)d>Dp@fuX{>Yas1l8w_G% zkmM#h3siD0hurj- z5=U;&y>06`Ep?pCv}*cY^wV!Sn4bGwsw7y4bC9doBg3GwtSo>Y)?p5T2KLUUyd^Az|@xqVIZ0^^E(K&1JFt+Ej!`agM;Ym?`mg6 zr=eJxQvw3`{$Shg4c~Iz8uH-JLbA~1q=RP9=E-%$XP9fwLeEPqw2U92Qs56u{~Loy z2UMBd)*6yBe0_A|o0OT3-!zB6$9*j)r|`z2bHylwkS}ODC_{gI&xQ2m7c9)waIq=4 zibh>Vuw!>PuDuWIf&s-_9Q0of`|4j=_;+JpP>FydC0Bla&{;CNZn!;1&QD>9rLHU3 zQ`@X*jNlSZo}mp6_KzTMaJU2nA1DLJ1zFFrcNvDlO2OzLg~QC=RX^>dhr2-%ke~(P z=PRU74_^euPp9|>#_mK;=a8BGqD7}Ml?SK>BSUWY6hpLpWwP8)f&o7#zu$CsZ@v>X zLEmz-M-?y7-wn74l{z2U7P4=B>5uOg3E-hFU_9%LUEepmCVsL*v?s=98;&J=&{I)CDWBkh*SVN<2wG-pI98u^*S!)m$5J%kkHSHe+C%$mD7?vv`2@;;m3wq((m<= zG43hxpJi+?HO?!1^stFd?2iR!&m?}hkSlJBe_N@}yn!jr2O%A3J)F>-I1R>A9IUn4IQO|Ai?Ute)xmj20-X}K3ElmYNT17^Gf=Bwi zWs35H3fQ&H*_mU3Q3*D4!O$*Z9pCKYDdI0mKGva|FZiik4ewo20`u(YX#*f$^6s{5 zH=yo9BLL&+=PBA0aM)7j)R};_jNab=wmE>qzUw^3a@rx3(WMc|*Lf@Tm>zrds1aAU z6Z%+b&`L3Q%$&9We{rKmuM@|>i)-UhQ-0vf?qAWTj$?M_w~{tw7>bGGZ?@9NAqh(u z6jzpu{&AdH@h5#+i{WStZNl=>->H4Q=Xz*Q5#K3b% z0Y6@}5Y|sU?zf#IR%(qFG|H)!hcrby*Y>B#RQDB_!Cnc6YsopQN4VhI-}y~!+f~)m z)MLC`-XycT4d0iaZ$?~|i*gJ8*B$D?GKI?-bUMTVzj>{n zRipiV6Pq01MQzyb;N-o-bC!I%*9K>nUQ;d2YVW*>7SF{#a-DG7LH^u2{pcQ``hcGXcU$Xy>X_n5 zI2TWTWXrOYm&6)erW}O7kwPkag0=5UxibsV`u$b>zp?wb$t9q0rH$U z4@L_5a1|(Y-qnW2J~Loak?I{pc-iGF92U}O1jV9qLqh&9-xsTlbJ+UwLb@Hc6?Xx+k& z(F(j$wOwGlKuB7c5=+%sf)^k+oS8MQGVJsEwXMCk>&@QggWhx$XIxiWdI>REUyDqZ zV8DwE^_rvrP9~r0fK&bl`q&mo7V_av2D)ME(`=90Q2e^Gcb|HNs`*1KL>GXSvg^=m zHg^$s@Ns~qav)EqSP(0X5Jb#?HR*;ecB}>=dB9m zl7whTw&c(~Y?jlolaA5c=-<`u@CGjDiBesst2zlTU)(*VnF}i~2Xy`Yp{XPj_e_}9 zUwYw*h_cMnNP?Hr@xre_lgq;GS`-FfG^ov}=c)Iu{kzkI-YzgPIM^)EeE5D*TA)g} zb5k1Zf#QbL%)c!@RPyb%Hb))Ydv!aDDoB@1Pqa3ku7%j|%wKiE3fCNbJ%-0cD}YAz zT}FsJeL7?gq5WR{I5Ol?$)F}N3?BTvjgAF2hvy!c`u_#h_2aQOG0l;i3SErUHVw zj-_vgb@E3Hbe0eKY4H^ayc6&aV*dKYauYYe5OZ22&o961;D_BDG6X{;KrG$% z0b5t9T%PB0VX-`7$*xC%zV&G2Wg(@dNjj1$XbG#w*O76Tx$T{9H1Ie&%r5^tl&_tD z8%e7e5GQIMf5CM653@XJYe2A_Q|6uRm*~F`=KqLE_vuB)*+8plo=^h+SX=k#v8pBz zWt(tTzE9Zh-|aIl4s;tGl9Mab zle<77YQ|Z+*U4yH!(6Y^pp37dN@317KAUO*;jZWNIFdTAvAK!1saaBB~`r7@g5b+3__7AP@4iGK;J%_qg?mg#;m z$)236RES5yCK1_a7Sn`RY%y;)IUY7AsH1B3>syaL4S|54cQ z8?8>`T@%V%Dq;}PJZ|QP>dDcuTX9lfxj?eC-;ego*z;BK$f3j$800>+5{JRpEZ7RB zIVyQy!X5w_C;u{?$g=sf1JV!wGyTfa9~hjVP(Udipsfk)=>ZQc0(LEC0&E4F>+%^nt^4fB6+Yxnx%7FXV1~YR0*jI*O zE8;VTvqF4rP1m0QzYC<_wY`>8oZUb;S_dA8n+&9^Xq3#!;=Q*?7b$vIF-LO&$0{~B z;+Rw#j42AFardDb%FuwC7bM1DHF)Oj3f^u($|XhSo)SOhW-~3CRup&YXQ!B#+4Lr; zYlkKAz=@;YORwB(z~^^rk9DVxj6#q=edTz8?k!iek>TGl%c4CmIxPYLyf?6oXV7vw zM^`w|JVNEDK$r5!${T@(lQ>EjyoCq5}pCwLC;Mk*( zkN%$Ui;@nfN3TT$2A&8_K9YNR@af1!Q?IO8cO|U^W1Hj0n^!DZ{Yx4JMBkIHTJV46 z!8kNG)OZQQQP*tcFCAaFvXZIhe zf16{EqCz>q)st$H@sN*LjH60L8hsqHR(N&0$k4RB*sBGG~^Ud`AYA|?C=mn`qfp9ik)qQmE;2tbXf zUk^-xg#8y_&ucu*@s98p6tI0!gdYhQPh39-$c}$J?Cy}$o=2UcMn{39qRxF2H{^!L zAbM=oGe0in@}+{bmb)qBbQ`VSn+aEvs=Us18P29|U1Xn!DXe zX@U9&r5vi33~=A=5-z3-%)WS4yUePYrs@YfDoXs+@y%tetNoo&tM?d-QoG2NG>DU( zdEsT&P#`O4u6JyT%>5$+7*x}}_~BacUbq{Q9%j{qJe?5}7}p({r;*x+0ff?E)wjixbrMXaH>&N*r`- z(m5_p*NJVGnR;x4dX4d9+Ai;ZEF`}Jf%j^7YbFoZo~1}4vVQ6-X;rwN=e>87$;~l{ zejYSIIuSNXJYNE7oghL3702_Mrbp95TM3zM{nV65pUr-wFB=ntHgX+IvHlg@_==ZB zAGqCL^*Yx;ICAlJFneRUdO57<0=mmu+17iQzZXH~o$ll*fECa>95t(;F0_*A8I+L2 zE5hXST|l2%F62bOY6Lt?Wpx8rj+CdQ4xuZ6-;vjp$LAU-nLOTk9d6c3^=IM?*RHhi zhr2SO-MGtaV;vRm>xaP9f_rtzCN*Y!?>3qa|8)8~`aVhjA_%9g+7Hlk;T4LAn^ySH zcJ;CgeA#T(OX4(eiP~@;*=!A;(dAJVF zi`}}nyS|W?7stDq?UpmO{`YDQTFqrIs_(u;WqWL*`IXpTY?E03hKgJWqEM@kUN3aB z^z?f#-E-@6L)jY?A`eIDqzC|>OdX0qLjOIHz_W;%b0>hMv`WRFsl)4sQJjREC6enM z#Cq`MJA4r;h~JjMdijsI4D-{DoS~imNprWMnNYhRj>3;ZUw&4R8X6Y=4Fu$QvhRsr=OrAfM&-`^G#xJ8e~iOJuzTA!>| z+`5_e4PH}ZttV1XKMZV@$x?36aFDmSod!dh23km{*k6avxN70k&yq-y#4E!M-Ol}c zg$W>a)3Nwx2IE(OZw`PFzE|hjJ*2!oGQ7MlBe51{!H1>Cq3N-VLcr0wm13aK)@Vzz zNtIb}eQ$C1`-%(M!VFytH|np(@;cJ`u;(KsVXqog4B_L@Y(h!Op@lw|Q$n+9%ljz6V%0twYakrwEiJK-4*}VzQ=UFhL=gG!b!Q zWLoVkpmL0bV2W~%CmT0?tttc3(vBtV24(M!B>=qbY0Kk*m?Ou87|_2Geb*e|@JY(p z?NSkC{Yg&f?ek*1G|Oupo;+} zS1KGd+hHr0?;O#5i6si&c9THvwBo}1&%86*OMe8>{Cr}4F=xhO>{QM}rOtBMs!E0o zW0AKnF%>4zzOOObuUfYG!QVKA(vp6A;PTiPTyvUEDP1M!lgm|MO+_~oCI~bqYNN5A zOj4C1$eWvBWbp`th6oxC{+1;#j^J;idT7PzgJNQ8l3@zZjJdh z^?y944fB4+Jk{*QirU1bG9-UVXvy-H1oMa3O2@%z^3+}QBJ>sb?Ol2Htzcxs@Reum z0Gh&_3T*Ifj4$6#zfJ9)kz9C*#$HKxkfVtz)!6IhrM*u-@vh~1frh(t%H$F$CN-&$ zfow8~;(tPrR*=6lbBE3e=?h)MOC%s^)kaD*msIuTu|_#u0#><*hhOJ~CbF-W#pVe` zUi0VfUDXO<%11mcbXqkp2Nk1L1|Zf>;8fq*jVEbr+~64wcbK`XwElXo#@EH4NQDTd zuNC3k>L(qTFvItS2b&oaqx(Iff0zILxrBE{JdMf&khCGiSh4reIxNs<0Q4>=CwF2b zc9oN0DJPeK`)}gkpD)=;$m<<1XBc@799F;^lmGAG-~PX=e}De{{Sq@fA`qkLMXN=; zYuu80c2mO&@0uB4j1zvQ1Zl?+^ZbMH`8RG%aeoO0n|5e^76#3`bd5auyMgzhDFtN=-a@7MDbZL zpvK=<0b`Qhcyge@XWiq~#kz$^Zp$zdB*sKdX2#7*sa-M{14HSM36d|^ zXGuNh{={3XoW_||c0`(;rC52pX)(V)70$9t(44P=QIJyf@mz^`>jvk(yK?P5P_SYW z@v(52hbT2SGE*_u=A{yL%#BXAQpS_GNFIo6$zTa)=ss>&`zrkt*6=)8Pns=lG&Ymz zZtXy|X`_rVWu8AG7a9$CiMqoZcOcICFl^we1Ht8iSXvuGt(Vdh7 zzhmF=#tXCHmpZPt)wR8UooIfK#JeCKg(SX*7WXr#BnG$z zC{NBYw4@@>V_#(F$Z|*bB1_Mdqfq_ibmxmx8ZNxz}bO;Nq02;>lH_J;Z@@ zqEc0=&2#s~wdePLMzL$FTaBm0=ADYx=@X$X`Kb&WB(cjEUVIG;g9p@`HIN3gJtmsW%4U5%Q$&C(uR>I-Tr0JSwZ6LmX+q!WF)R`wR3t~u!LKVSXH=HIq!D^w&3 zD|-{Elp6Es!d6ztb)_WbYgDKK=`6(bYIcR-~Z_F#5+<$<^MOJ!kR3J0{w9bOjR z<)Ms$wt_NS?IQflgjdrShHu>>F-SjQj-4<@MbalqsX&K)mS_u)E|Tyl6$v5U7CA#Q z$#$BUq;DLP=M*qq?o!O0rd@>#)+-G(S$HuaD{BZCuAVE_^tT4%ZtUon=9-!owkk1_zk58M*pXF2?CqWQKKY6d&FlIjSpxZ9cX`L{~89>!qSY9+q;!M=xX`?v7z zd;keE1+N0~uFeGH3@}FU5^{ zcunYNV~j6hDO+(g<3D07BdV2c#bIy!- z)ZPt#=P$|FoJ&CXgBkjtvfAogy^vwqCJo-A-EwyWTD0adoPvAf9OiGMKGUhaVQ=o% zLFpg`D3>%f!!0+bYuXNWsd?te}AUS&0+cmVXSM zyb4^%eF}|mx)7bJcMrxi4f>!OlcNMf0sNT*KeIew&KS#i@!sj$C1psW%&u_9(8WUO z_2Kx*>qv)y+=OL-w1y7d%?#JzD6x2t9ag}8jWPD0tBTPw+A#WDNVA_#Q>-+__}!=E z{^2s@=OvqFym@J&74`VtM8+=CW5F3&jgGfj1I{-9?crU)4fT!2+x882Pjn+f)ie+)1dMjt+rz=VRXc-jH8X z-|~d0B1Wq1!Mk-kAI|2q;#*N=>Ax=@-w{V>quGFU%j!HOG-{Qxnc3o^vMNZ9uCegS zH+JSyXlJ}cjR$JjjiSo>s9LcdmO@+krZrV%(K>f3k27+s@m2FKJFBQMRy zBU)KN7q9p{|E(mGxmrg@laeuI{`$y;but3$2MxomI?sKj7R?ueN0d1cMPpcutXug;pn!sz^+9D%1>{T)IpNkizQX& zHK(_<*T!!9Q|35^sk|rD0g{ZtmlC?=XrJF}adqhUz~K@&+*PD4KYHLWx6vUq5TLhb zE#CrSan8?)z{{{YL%<9|0nT*h2e1&1TLK`-;xzkrzk-YM(jj^8Yv0#;PI0bA+1}&Y z-9DpJ71}X_K+yIY2Ql*Y8si(F=lQeb5X^ey?Wfv2GuVO-SoRwmch!w>wcAURl*i;0N|*pW#%{pk`u2)nd=z7EIWxFCIFXQR#;jGn;CYpz|RBQ9+VZgs6aZL&!I{p)s$+4Mi+_|)p$=z|}#=^1$L zorT?E*oWJUIMUvYhqzo1RZw6@?Q*yYTOe08l*j(GugkT z_oTHD4V8NSjjOgXL8(bn>igrybRqa}I6HHc28lV7NVb{_DQvO@{34prrw9c4u~hlY z+(V+{vVQNlmAAv>_H4GY!*=Uile;`Hsr=mMO11_=&6E#AA2XrfZ*Tnys?AT+ndB|p zsulnm0zEPE&fuie6S&CFOYm<=TNVb9Ztxp8tjAOvnGSM=pX{69YtOSmP7z!c?MBfF zw4yWS()0(3&ILQcNWY6dyvXh)uBl%5E6Ca(e6~sC0{%-vU@Dc;5kLeX1s`lmlh0lS z#tt6~t2g`2>5g=Aqp9v_iKHCozEGcUQTZ+)=%6Ja@s;Sh5DoU)(T&ZuB-ThMSV`;1 z3ERHlFdzSef$pIQnMV)zMD)qA?*9H?;2~XwJ9Zmv$Sk&ad<#&WavaQZur{7gOscAn z4uQcr`_*S8Xw=XNj87DCR0?_38mtmpLQ2O-zKQ5kW6GB@IPoNWvME@?&qf(0=*oWY zN=;t#>IPh3XrP-hb2JzVQZ%qDxFB0bq9U+V!7Q}3$Lx~{Ai0Hwq zTte}8O0t|zqPdj898d=Dq=aXDvJjG_;Mty!U}?pIH1wQ0T_Q+!55c<1uV^+3&)5aYwEKQUhA!e6=-LzUj4OziOqg+IHfo_s&1M8WG8;cof~SQ4HEy@h3;#`q z4hkG4<=9Ora*Y0+Kn1qjXJlZTCDPF;2AfGhyCK5TH1Q_}AQk-r&i^~5St=f#-4XyF zlCD<%^Vgq0Z@Zm~8&NR*UaJ31p@42X93ytB=#~HROK4T081Vu&OJ-a7vvXAzyFo;U zK~h#2+*o&I$w6PpUy?r9ZQ@+DDq&1UTdE=Vbacl{vY7ZZ*dk|t>*@SUZM2cVvKyC? zCfv{9SzWi2K<;U4BhWSfB6*3O2wnA9-8_~+SD+26&xRZ4De$7jPpA_N&l}N}RkSTL z;hNv>X>OY?&qkTPK?!0J{Mj^~R5Gm&GKtt+?tGK_j0W(so-q4^p-^WyMLA$kKZ84f zvN;z;gckk@4X;o_qz|6|@}%CxQgGuq{K?SE^H%M>DDkp?FIT}YZu0F>da2cQGaup@ zQ>41~OmlHoX>Z1-TUDrg=(?ReU%f))SCP&{AHqXhWWeY}g-=4M5GhSXndix;3_AV% zot*fh(GnqHlMyGKW(Bl@?uNJ7AsjsBDj>(_MAoGV^Sm0zUrf0!Qy60GzHd19!3yI- zArRlvXgjZn*TNz~qc3+A>4jcMZ<1WGbjAL_ehJB1(oDpMelPs&C@UUZ?s9dISRzRHIHSMu1|ai^((UFt$? z8QJolmXnYXr%+=%Ce!&LXNd#`1%)<`N*aI&y5`d7t7dM-qvu@DG!mK)yZ!O!EH1P8 zjdTA75!r*%rSLCBb>2RH9yvBFdR4i!hWK^;c!)YJ3Z( zHsGov&HCiKV{jx|BFCS*WPS=OsFu>^CKXs#$=iuQgVw$yj*r1lI=zj__nho_R#0tr z9e=#a=ObV8`XFc%QJs7`s)K7|?(!@)ttTmnuYW?@RH659n08H}KjuPOU1Jq!>tWh~&?Z@QLz^ zaN5GegaW2_34dz2_^Yymiu3pVdtE43KQ#@{@&TolYu$;xs4lt4vcZzy>JkOGBb&Od zhu5_FKoMalk6Bt8&DdsHDvU2&BcacntdPLV`PUbxTVYkh6f9u44Z~1!1xxbfSmLPo>E0z}l_KAn$qBykNkx&1yz*x4icy zxMMr7vG=s_Fa&dEINTi1{s%gjv8dooq~|X-m$k;nC=Uxt^q)yh@1d6-%Q{PH-NNqG@0Ib}LzIqe znU*|qe(vN~fmSYYqpt%RDZt?j_nQbYt7lXUR!RjE$=2pl>?P*}nZ(3StVe{RqDo|C~7cJfgzVr<(7ELgv+2GpcA9D8A z{m1%_h#OO1>Cbnxof+8?V!V7&=kPD7G5C8Lla+}I;qJJk*_=-(X68c1K~bZZuWh}- z)alOaveH^45B-b=XO4fOwI|AHXwkmtnGiT8uX^)GbS@v0cmZh~P6(kjN zeGG+GEnMHP2QM3cv23Qr2A0aC8oAg0y+RWRI3WJ1ubDT40=Aesm;FB1-tJf?VjNJH zrI@@Xo+P>l#2L=|%cV8z;5ni4?P7?uNRyG@AiduCP)9tiv|wnp75TS4wHs=UP&Nk3@vhQ zvSc{v(x-}pV>CY))~r_)P=#|t3aeL)SInV?T5{63Yo zb1F0+U-01vaCHdYNdkENl(I7jgp`a$Tp-GoLLJ#i8vK4Lf8)(1UcB-@+(*k0&Vnin zkbW>73juqastrySM+oM7CeXIaa1jSdvXy&>-cO=?@9J7-e%zrLu|aH53ynx}nhG9o zH!9|ytVPC~vhY*`3Uku@C814%2YiMb^yeX}MMe^MDQ~%743diNV1TT3mz=;e2Nr$w z>ya^Wj7;|kR0XYjQ&oRoOGxBzEt`XliGM6I{}+J`_RDpGe!Z-?6Gfk62g*tT!PQM7i`X>iswav zz&D)4)fZn`Nu}R(aZ1ph$?{F;Q8boBwSRavmg2lKU1c@Hl*V2W(Zl!=`5d&)eb|bF zW79_bNpRd*eZNeS8%nR{PBt|D(Gr5Ah}~w7L-Hew3PX6Zt?ASgDN*8zx%X1qqvYFH ze{rGq>S0sE;Cs+PtTmp^%|N()vtU`ubH`vdVru+7;xEMGKVC)Q{rDaGUvk2I>KKx> zpIz|Vdz}hwhFtTYjjlUMCQ`8MAY^d!&;HN1awTr?1YZjeP-HZI-U7*4FcJ`nc6KfU z;*By?tbMd& zWT)!Uf1o^6PZ@=5?7XiYMRKOVB@_J4r5Ko$i78P8U)Ibg=6Aw)s&1xEd(5TyOOy)j zzyW*8wrM{t6KZQYDIvrg?P2P<=ID!-R7n^lnT`z=ZIoKZxGm3K4TS2Vow#-AAPQ)S zfu7u;PM}#}a=ZYTMSw)W05*)&)-A05HW*2!f7w8pnRlq{1}HC_KdGjey8QB$!2^gn zWF9}?Xk7D|#nEPHmMxi=mD7LftOheVGEksp+Dd(?a3pV%UVNurwC3?W!e;c%E=fdlW(^_7A2hp>ZW$kUg4aWt1RN3s9*P?DQmG^$KF`A$X?r=} ztULeeVemW!P{vW{e3vG5^qlrBkf#E53HZXOxXRxe7?X8=J64@prva%W>}iDE2)+L9 zwR!&=h|&GKyQxf>79*l|&O-X4PV}873tt)z&DB%K#76sV!t2w{PoG%yAxiqqAd$YV ze7$t`kjsKb7gPZ^3k(=;y42(8mf<#^R^yX^68b~)2E?8NPpGCzUMrffr5PE2o;IbA zX?&z|v{JrZco4wHF+ZD4j0Kq0Hf`HsZV#BJV)j*sZr))VPG3rBnHQ}PM2S46#yO4@ z-ztt+UYz4@whS0u#*tDs=|P4a1N*i2HQ8N`n!3!A|PvQC*)3MT(m$RH8e7-+z`8B_OdsBNj?W;+iV?&m; z);WCodflAd@e?FGk{dyq$s2zCzhT#O&HR3_@vSxVxsnU4*AiHX&jaG&Y6Xl)KeOOV z0RezTd-?D8=;gn^Bvxi(wyKe}uBFwA;0xp}0!$H=**1cQ z^-WCuQ?@t2N_L){m-+H9^mR_h$ueqb(9?*OHm^HmH353=Z>CPDUnYFR5j7b^@zpVn z#v2cm7i5-G{(>XS{_@p05o0(;Fz9^7g?CAF`a|~Wj*PC6b1`rexz za|)1H$$#hmhE$@E1vW6U!@-JZ&_^w4Ph7HOYW?A1RP7SEG*=K@o~f2b8iRWsD)Xr( zAKroA#?rR5;2k%WkInjh7~3F6%S+%WTKb{_rObQiVWcqkm}1>B9*})W;;8sc+vhA< z+O_pSP=Rtb_zehM0snQW>8t2jdO#~e6)t;(OT4fsJ7s(&-_+dUy;Lq14Px_9U|z5ho}Le`_q*C0xt_wFC1 zz)ixlLvdd|k3{Leqa9U^g)VyA)+P?_;4au%Lkjl23ml(+*2#J1TkOPBilbhYv1rF~ z8_6z`tLP>xuBB7_Spdm76?nx@mmk4HydEIhctTAGQ+5hh;Qa9Nb15$9#aJM&Z{NS~ z-I}EYZ`CI4?_zb?AeBggCk@s3k>}BscOm|w$gRR7J}q~e$AvdVGVU^N(&E*Vx=Ll5 z&6HQ)y`rY&be9?Oru4+04nr=Q7eJW54Fz00%`Kq%pU{pYge_!hHU_p zStA3{F+AT;LQz9Ris622JlFrVUA8vUSG|#eR`RQHWBr9D+P9FqtW9!*IRaeJn*BJ3 z4rKB=_Ggdr zk)ak`Jw;Mo5p36I?P7KUlGr8aHsqbOyqurZL$UO!ot#ohN9pqfJpJ1<`p1#uS=3UF zJ@>KKHyE0((>mBv5$Tw*(%HuW`TagD-<3Q`R~W*PPFqpW=Ibwl3ux3C-!+k?My~X- z$f$n2Ck9jZXy69Dx@kA(vG|<^!lgvliaY+h(l}jd?BKw((H(M3zJ5@wS&GUSfb`8Q zvMauw4pL0<%JI;boV21wbAzK0e@1G|YkkxdW6>eVHha6pT+v1t`W6>9KEclCA(vMB z_XlRfKb(@y7WPy7J_HFs2|c%|_mcvKyKCBCa?COZvzlEA&Sh5SNGf-EGNHd*Gwjvo zeUON-7W*4(h>^50>qTs!Lud9=KroOVTkWNpSo!syqZcyx*|2Z4Zw7602OYK4D<-mm zsE+4CDm0=7Ci2=bQhS&vm_S+31#W6RZL~bs=|yQ-RUt5!f!7- zPhoPC9h8n-MhF;>5dy(d%FbcHU|pk=2oQ*b09%Sw$@Jyr<2T;`R!)>ve8Z^3tE7O2Y>A#p&HwrbB}#xLt35 zQh=4*wLvzhH9+*#%3ol%8{CTwdtkr3G}g+}HN1`SS#tiyY0RJRL3SVcFCmP-guZ9b zz*yJmMWdT_H2KH2?-JjQ8S5ht1X?H-E@(|K{1(;94R}D||2u+!vZW$tEqFeO2sC3p zzwi(61@KcT{Lj2FIEg}Vf404NYi{ml%=PdDoVvOl_3?5&s7ywR6a50g3N;k^*meS^G|O zpyiUDjg9@6jT_iemgLnzlmFf}*U?27_FAEow@{}lv_l6OGj{N!fUFM@L~wtBH~J|H;QtS-RoWSw^OJD>dh##76ZoiFObGc0?a!En zcQYl%*kg;Ml45U8hWc$BZ}%vF7m9fHdgF}QMtJPpL;XER@4B=9gjXPrg!GuYxPhBu z>}GFdLEQ&_BDaJbGF^rsFWEmzner6SfN?yWqA4OZS(AizJ_4MwR@$))BifjY%}JEIL;UVd<~Mt{1g({sE-^%u@_g zT7|?iEF|p38H(xWl2D-)TY5aXdCx{2T6Bf8NKwxzj(Ed(+(i7 ziLV)|+7CN}pEGeH*iBeVzNG3#i|?k22iT4p-{Y4y$>Jm0LC+Hw3>F9`To+22_2I*f ziRIrEfe5q%U`_o87$v2rYq=F3J3>G+Qd=Gpe5KYkYq_6!0bux#tG6#oh+$TM`t@m) z>C0%pE8n`=xj#$Kf*Pt-x2sIJ+VkVg#F)cLD<+yvF$d|vW+&`)(y!iCvUz+Qh>j`e z>UFL21L_m8!ouZ7!V?hHUypZ~dI3?Ar9R8wY)x)UTF8Q1DW8#U6P}aeqxpLqy&Fxq zTkzH<&PuG+ArH<;^RueUKD{;3oNe8w{jwG^55k4^g@%H50rD1Z`{v^B<}Q{`>OikN z*F)jKt)iI7F#-BM7UE%p-no<(ACq7y@ap+d9VJ72;KiAAOAw9%jPm9U%A8WqJw8F7 zT$2?+3eMbMYBSJ(U(6nfHO;A51YV?vMCi9lO!UWT6L(xmBp$Yw2)W zPny>ccxi2jfzQ`0)#@H1m0NjpM{q>F<~v=hm&XjRK5U$9>oqf31?l%AeqVfF#+0or zg;1db`HV^)5ua{xxiq}`r>O+JxZKa{$;`IF`MLgs#6F~YnUzf` z70JqCd)xi^IQx9vt!RpV&{9m?JqLka?43&LJZX%9dw!&`E%rkG35sb^j(k z433a~n;c9DWH?G=4QoQrI0A#;ZCd=|))I9hHu#+5?Af6RW>FBjcRh4N5OL<=`ji}+ zwcvm|5b)Fb=bJTOvu28Q)KceDpzKnYbLcB51Q*Xj%M7QB4OU8x)a{Zh9Nsx3 za|du@F%~~7BKWe}=$6KXDZbURX5DBpRjS0D76tdS4pqa!jqJX7nVPm2nwf7*)kyVu zjuwNKTyf6C(v?lH?L}Dw`#GVGvw5}-qUEOCX6V6AIpW%eT$N2pf81HPtGt~^wnhB; z9Dk~e)-j`-)2pg6DLucc?rV7QdyU~qT?P%Q-T-F&GfNRUtWiQdYd0Ow(MnhbsSl5x zNvc6NuM0Lvp(eYGR$DH@^!9h><46m_c_OTS6L^Rkf1@fmv!b}E?p~fppXh(*eZ-g^ zEUGN-bWtkU)rL{c^R;l})bdl@%|@c@E$g&oVCl;*1hQqR{L6bZ*cs|1bn}_5)j`{( zUz;w5M+V2qHS3_J00gLRDKWpd)qc2{hf4NLhwEMM1?;PwL{2KNB|+my@mxDHb+L^R z7z$y)L+a)P8h*wiuQ1DJ*j|~mc-a8#Uz-hW6)8n4xt#2=AZ?xDJZqaF=F2hA8;ue0H zA?LV6%fksbOXSdgTtg5+6GUP0xZ_LW9e4}}_Xu7<;Vq~uAF*!z`ZZ`fR0>Fqx&sn3 zbi?(Fo5KV;OwDN2y&>Ay{J(~Bm0KPVO;yjJQuM%`0gD?tJtbgXbvfwqxV&UKc_u&@ ze;+87xwMLj*GuAaIK^9h$@pk0x%8YvEOF5wnnIhY=Klb-KuW*8wfOcLA}u^pLx6>T z6Gme+FTy^KH4&*4GBBqpL%G&Tt&W=12i=`K9EmQME4rWAx~|Nu#{`=5Lb3c*D-kX0 z+O|#C-tk|U1#PCa=1;AqwKmUF03aBG6f`#8W^%u6M8=xgssp-R*RpEq{$W6n2>0M| zzx(zPAyUzb6S}+9O&Cypvjh=Kt(qmcl)`NIOgmtqE`S0;h+5uNH>&wUBF1(K5LXIK zdicn~%w6-o00P3cZIoC{f;AdCss^+E+2{q%#e5RPO&TK)IDj9BCQcVRx4GIF%@|8n z6!9e9!uqR_M&fVnhnD3D|!OY6?ZFk5i?;yWfMWWGz z1G0yL$}Lqcgj|_~&xaSjC_`4nSA&=C#}Z452-(yZoH`v>If2XYPm889)bsgF`tlw6 z#yigT=(45`DOWi#ki7ToR zt$+#230a~p-Eie)6J4H&Ml|=39d6WGsAzjEQc7_P2WTn{LS%ue&IaneS18F6L?A~Q z10U>Jx6LH_0bDqbyWF+C=EoI~iC+Zt&_&(Oi0wEDIb=sqLPyKqrn6 z1(3Cp6bJw+k`02;0k_ted#w|ef{1Ea5fQW;gRB(=bTI1NV3pf_2l;*w5k|rAuJUXG zMv1ZPmb}N=Ml6*B0<*-{T5GMn_tu)u9iT-Kf`HnAwsln-CZ&AA5NO7r0D3MGp65we zwsq~AiP3qnN@Lb4Mji8L|AUur5t;p_UAbHwIPYKb@4r zmS(lTn0cP3)>>c!5z)Lp!9?79%+MIPi=^@{(F(P!g2_0ty2dgKqD9vNux2tt#BQ1J z6b+LZ3kUCmXZ$*usW?DM@T1^b5gd?kB*f_M7+jV&xwSj1!$V%2`XhHu;qC+>Fq0u9 zv*1Wvft+anV1A2Pf}A`(x%4YqRMU4FqiWhnKM( zW?G&R5bg%iL@YkbE1-=d$gCFFcwAs0iimpOhKcKNoVRtmn?OwNjCqQK)H%u_JIhv| zQSFsFd7{gewlzZ1++!jlAk#EyF}-M0T@2VQ&>kWqy>HVz13>Rx?ZkdEr4wTC$<<(= zL5F3Tz(OH}5$O_ImRiv?sgVK4_$nF<+z_xVQ9>~6U}{4Xa0VaWg2NzyR0ur4jgC(1 zO6d?3#p>lJJO~h0fW&pZpaqPiNDz3`jr5Xwl6wWNnFMU|VJEPQh5}=|?RIfocNSR( zE&7Q2YbJRg79-mhk+uLbqJh!Met*TsBl2n3s;#%tLapIXeO_a{!>BOSd;9UnA8+5@ z3K7&Qt%-<=KLJ)BHSXQvLEBoZR8*7{DuqaeV=1JLp6FVySOE1%j2g?@JC~wPf@X3? zC!eTn(YEd5a-l*Ru=)P}aXKC?zNQtG;-i51IkeDQO5BPvQz-EWYzI(18f6iELz;)f$bx|_XikU`mh=5VjN3|j1-ltj-U|AMs=H5NZ z%++-L&rZmcXPFPZ3;)=~kX*2tg`Fd}t>Jz|>6gK> z!4pmfcSD42YXFkiC4`U=%Oz*9d-y#19NMYq@Z%pSg<#m~Egza4r$I3n1Piq8T}r(d zV9}RHNaB8gv4}pX;p-CuN$g-WYxbElVN%fZM>}k%|GGoD!5#P7gpgq|mVgj`X*a}_ z%+!m7^Wd{Mu~8v9T|o$>+{60^tU*juI_}IcDTJb0wIwqB0s!hc_zq^N_X=4CpNv+A z85K++v~QVt7b%@O>iPz{!=*V<%+u7l_ugY-nLAOT9lW-o^==hM2(74{7n6`#3y_P5 zK>J!-ey;Q$kgX!2#6Mua0!)s=@2rt=9$ftpO?UA2w~_*_NABfhU7o@ zY0n9W2m^@c%CO_UT!yLOGf7jQGAmCe^R-Ch=7PKlF~Qu zAW}m)V}1Zo%{j~#Na&tYnsY@>l}HqrPq9ny9S}=^07t6`u4SrAmY4${8gyW0Bp`*S zx+>~xtU8kppM~4jh-j*lfV9mlk);+bE3B|M)JomqDaa^T!`KE|Fd%eIL~3o*eMJ;* zg(!a9$!@O!=i{c%O9l;t87X_xM@+{WaCUgyd$Kp1{(Y{dhu~wkzJ6|-pTc}Yo)a9G z4lrvn_O5iMc5mnK{tV(_-Z8;Uej+(j|B#`OT){G)+j$!A#%W8r->|`g^D_eZRPwVJ zv4cI=LhR*ejM61JBD$wz2ZhpV()E`zvuq7u*vr{#X6Sk&jnFeEN^lc}#AX)&Eo&&k zYL#hCF&`j6t#w`3WTkL#hcwsPWnmFuAOXZeWFbTV%d!$_y-q2`68*DuGno?ziy)L@ zX^=E)fR+gko`8hvM_Z@}s1HL=bT!6ioXSMAp?2lOiHal;XE36`MnMdFdcLDE2rHU` zOV46B?%l&?V-EYq(ZM379tNF=_ngp=hQvua4jC~NARB@$2)dJla=~oWPko3E3@70I zc2l4q&+d#~k#{-~Lp+Y?Ch9%vz4QLGF#!b5vq+{q+lV-ZnAQQq-0uI4?l=evIT$YA zB4Hl^U$Pi)9+AV!y%SXiTlctA04O55(&wp>Xe_pEo*diG{+OjrCj`K)ZP<}Zo#qKb zT#ChMYNP6%sjNdI0zu^RanZzK$Ky#8kt!eoPkrwh2lW`&tnZ5T5kyZHHIWmj)2c?l z^)BMEdOmA!% z%VQH!&dbj(UjeWXQ7wQFj`_aLK$t;Lxmc{cvZFZaaf2jZ2i24orC79pZZ z%~ZV;VL{sb9I&?@A^}0&_C>SzXZps(gT(=Y?rdEJ9TSr|?NF}v%IxjwnF-iZ$T_IK+j_r0ldp`t>I^}Lf2pIsPm~O~pr`PABeZ-mbsK+QWGz`6K|5eCB)CNQZ z5eUt*#H|P-VoHLD^xisa1dPd<`7nc41~Z3W5G@FtMiD`#)=%%P4EHkx@rsK6tO%>0 z!!%8Y!(mw#6by3B$2wpM(vS+-CUq%=?tm3ul`KN8fazI;y8J64>!6Aj7qD8NRvB7- zD3#d@3y*AP_xZ7O_iF?$r|(zW$s@RZ5YnI-NbnR)FN%7#;<>?g1dtXd zh>6p?(EDSYp?CH@Wf@8Cnqn5;O5{14B*~N@#WA8x65bz#@s}ivuehfvCIAN+-}tjO zQZfIQn0fG-*-3@Fxt7sS@#sJRQ(w`U-X7@1c8cX0$kQ$wX%_4@L_jN(Z47XaiE$vm zKvWK}?28>B_FXVYD*fjuF`UWcMUg@l63)Yfo+EXt8z9J%KCEg9qFU>=ZQHh%Qgj=d zON?Mvy_y`{H81nRq`$r&8ABLEcwfu4$A*(oQHInaP06*Ij+ zHz}|4C(?TBt%Jz%Z~%aHS+EcSY}?j*+gdNR)Kcre|NFoH{@d>#+ehn7jfa-tweVsmf>dl)V&U=51@!R9o-d zyXFQge&7{bOn01!#F9SZg;Sn9)KcSA7tt+aQ>6`NW30 zufBIf;@)Wj185A%A%T|iUPwa%1bH|lM^Jglx{h}PcY5BP90p;C+ctKO#66;(Lk8-g zmWqTERRA-DcMVelQ_TyJX6u$hDvi;3?xW*YdH9#kisv`oL67cfceFV1wr=jWuf**+ zGs7(spyE=$pktOzix{>4Vcno#PVeeN^F1xPU261{Y1Ok2?_9FP;AKlKpqL-#Jjxz zWb;8%puIWuGQ5%cjTBd9axNh#vZRL#D_virAZJP!Qye2$}N5y+?d9Avkm9 z{Q24VIR-waA|uq1ja;w26X&CSnzXfydxASe#uMFR*`LJZnD^OT+INkoA^Xxk>_)ou zd`9HX%%;*4bmIM}BDfXCWCBEiLqSA^6ud0cJk?TbDGfl;h1O680KG?RDk>-0wpFC! zg0)U+VR2t@LgKcCr5sgWs2mMvYp1(}eZ@`(wEt~uh%imlx-|qSWa<5t3~H?)5!@-< zx=srq91n-qTkoy@@BjP%@%s9D`S?&_Ip#cQ)TdiuRMOM)RPMc$2@*3>u&nbEs^K)x zB9=srhzeB!(Hd2V&|2@PnNID5LS&E;Ga&Y~I{uaAF1Mm|AYvs#Owy!V4O}L2LR8ab zCKt3Qn9V;o>lAru4$b$bDetCfQZEo;UY12+p2<%Z84eJGEjkfPj1EVJg3zdp{?zgb zgn-yvV~UaPcN*JYY#1S|w?Yg^y6a4MLU3$u_G3(m-FI`|+W4rroO(VFJ7ja(b1 z{;CDL)~ZCPo{@-HN)?e$arlPn)OVIVi5!cxrsi11dA(o_H`Y>$pVY*{Jx!*NZ&tjRtufQUWLYLXdq3PW&fSX;104dmqr&d2mOXqiaaSYNN9MzT zW{+Bq$93T#EVgkQ>_Dz0U!@ohuv4bbhGyTh*s)TGO7WuR0H~=PwWf=xTY^S4+9Dby zV)i`SjVR#{B|l*)q^yrsnEImPvMkdym0A$7Z7p_s51^^O} z@lxxyKJJN5=t2l!HmZnb8}!c%5x{0Uoge}Z@}%iONZO?m zLz8>|ExYc7T^dN_6?Z8w5gl)z=Pn6@j048|D?SV_H}!t`d?%(&J?I34TLUi(WC969 zQlzjenBYz|CP}$>BwCjh4+x%G+;E5k!9qo|qk*SKYFk4<%|NUDCN-^T@M7->Km}Xt z9yy{p5zLPW-K?Uf>s*RZ#H=2zH4Vtq8UkeEm20iy^7?c--EOz7ZHQ{;C8D`AR}r{; zTnhS}DX1b}M5}$U2!S0gXcWUdPZ}A}dehbqhgow{=mP6#5mDpPTWbp1f`kCf zog$3G3T;IQKpdj!W>egSL`dL%NUi|-g!wjN5scJTP6W32QF3cUQH8{SL@R-+Fz+i6 z7SUWAwNza{MFWl%G`iS~I)iovj8=?zF%%RrC%jx>XHa<;1|F7ug$w4|tg)y7#=g}Q z48XnDQUGz(94(eaBQRR<77;Wr5`U^Axm^j=6Pii+Sv;>g;x7qcQEi(U0wKTYa1A*hp@E>!nr@ z(5ODfSRf9woG&K?>D^sv5%Y2e;22pjVirV#IT{t~3OLg=p`}17`01lJ274WY1wc(5 zlH`Q8U_lk811KedFf#0zzP(#r5kHR?44UuwY{QVZ6v&ZA;7y3P7P6gTYi=hebu@@M2HeM$h^Xv1u z(>=oPUe8I>yNqEGx!)m}w}|exzD4bJn-TAkjEaI~MLF|9-ZP=c1xytpEN zN46I#9JB#C7jX8JW;F3)`!crkouUPwE;sayw(*k^CPSf$6AbhY$36F8&IFN%YKFt* zr`v)B*xMi8mM3$JN)(5IW^ouve*{?CxHUCOh+@t~MR&xyZA4UR!H`Fq7qwKS74|s$Ug1gMf&T7Vz!B%+7F; zd+)7lwzAvx3W&$!aogIutioJsZEdUn?Z5py0Bq|v&vjWAjUF$hPPJ%&?&)--Qfg7R zr-pu*IhNvnp;c4Mqn35y6m z!}g+W>Us)bo*^eav`d#bu@-fQ_e^ZwTL$OUwYWzYGZOaRH3b@va-xR(m?4}##N$Jq z`$I+{%2U&pupTKpf@EP9_cJ5QCy5cVOGFwcG0g|%O}%%w4XAgEfLSkuS%`|RgJr>B zE>s5BRNojEKipYeM|Eh@B{rK5Ej$niY2DW3#0JTOP)Cg}W6%w&lA#i_rf4#}txKl_ zhJc;BC%FY23u{r*;mYnoaAsn5Kq?}()}bOhIxI+7$Vk_1kX)+TV>l7c(91umvk;`U zr>RU!Hs=X<3c4d&V!;3~TjsXv5TmlwK!;?tIeZF>Rs%c>Q>_C9TEL57 zK?aW9A$LPdTM_q$KuMcU^>3xF-db<%a5ylLNH8-nRv@e}g1NJR>NDDM@oXqIB z2fp1P=q)VDhVsohT0Dug`PGHdB`#T4URnlp6U z&JGdE;B5o_?kN}3MoOg3R*ic%r6Hi>m%#)+?bK|iP&!J7L8Fu8CaC<_=POVaqUVAU zH4`WlGuIruDUx>pfWannwcJ`qM5;wU3@=O&ExD%I&N@&OSDzy~Zw(WBLiG)}H3xEIq4-uZdn2BdJRjaFIB2`a`&Yfh^B|$xYvh)&> z6wYIq!FZV$I@LS~>Z)mR{JrzmHgl*~Nk(D`#O;so!Xji2l?ut8(v|_!Yt{l7rq+gyXyzELRY)O(@h- z^$4HNzMDJbJ#^qbc%I*YpR-nA`S(Z4mVvkfaC13{~fFdBGh7W zXVN=a-WJ2ys0M{XE3bu0Z{6Zj#R@Z_8vLAhii^*X69OJDtq7Q~P}Tf!+S^hK7~U-k zjb(Q_lh@}?z}OnXAgdkk)nvA6Y>zV40le7YFCZ4*?ZzVZtpyV_xT%j2VThA}6yB@g z9>V|t=5RSyfV{9bh#*-uyP?OVXtL2E5kL$$Yx~F#F~^HE#|mkIuhBvvRB);0aKUi7 z^5m^;R0;wLN^9MmyPc;K7EFaS5Rkc>cNd~^Nzh}OQUEOuOFC1jM7V7Y{oRQJXh7o- zS|L{Tt*S0-jY~ah1CY(KGZJczPRnTMxC2q;v|5!IH4UU7Kp~CWVnVdix4na#O}LxQ zn9wy0frwNEHzkS$4U=yI^Tmuc&RE2s&Ywe)sDU3OfdF&`57B0FfCfJ@v4B}M)`)1i zJe=wTi0UztiO_KsCJ<~YQKSf*t0CAhsYkm5J=5B;%NBr2k5GDV-Yr3*;K~6Xb^ZZLl1D)~5}S07+7ojP%CaJl}IAxJ`rj1{#xqs zbi7_~YHKJ&b(*v#U3kT6$K&zk_4RhU)!%;qk9nR;#pCfb&C|MVhr_%q3rkmKApos6 z0N6H7F{;9#N2YkS<4v{p)*NscN(cjQ1XJ145|JOU0{{wat)ZTrqU*$vn$az-g&GA! z4=@Q)6zVeofgedg3TqksMwD*cjU$=&A#vf}J0O8@XC@T|h#=6pP1Dp`LxjF{t-sEl z!F|}lbqN7G#to7+Ax%czIeN}%93EZ*5Y@3fh(Tj`yJI<%ou!NjWD_0~s8`4mf`mj5 z$qg)iQD2CEM zQbZ2q?{Li^(b&)tsy38P^gP`f&8~Nv<#snJ2HUX&;)`b z+gM8R;HFfgY#?dhV0oiuH97f}>*A=1v}v2dgt?HsWQ=Ru1aqG)UyMlC@i2F0E%l33 zhzNmW=>Y*tEfuN&v~BbA1tN_cV6#i9bXQN|Le#qjW{YXls0KE$bwUtLuMemv5QEk+OCZZIyIS#O!h25m!O@zQ>7I!<_L3wwsh#Wmu zz9QqWwDjP|Sm&Lh)UKq9sh>FB%OjrW9NWekd*Pk`AUC^4yXfH z%lZ%*V;XyS#GA$lpbBclc#&nHB*i@iN^iZlRdZ8;qiVGzFf$96TIR!{x2}R&tv7CP zqH#7CLd>Qu>CEotVeTA$o2eQgAYkjO98j|#2_qX{B3tnh)0#I$05AP8IFd%SBdT+> zsS9Rp3L~1qQbT&yH8DNe#iLfCtkT1bsb5df+-+o}~zTK*D&JBR>LnQG|_z4Njx8fT+9 zFM8{>PP(_c7i9|8W~24fD*c#9cU&a@@^vwGAR>SQ+qRhr8~^~e#sW}EnGf^zdedr( zdd#XXD%13GJYKKYQtP*G-_GarwymerslI*tb~>F@r|f=0r%66|q)it9nCH3HsweU8 zSYXGrfPjQlELlcoBH-C*e3soBDnT=d2#3R=x8AvP7mXuLIRTtaSh%j3EX2Lzj_xC6 zx{W0SEhaNV)_VX^BUIILsgD2YL00SmJO7EnD3dfrP;Z;Gn(9vt!sef-I(=xhL|PDC z1-de9od@)2M;AQc+}7%2YX3{AwZgh?dv)BlI%4SM;|vWEKs;dE{O~O53IsH@rY40F zPl2IpIxtJ@7BEkuj1+82EwCfloIz&XMP-UDXbD(0^kZk2@#mPf*s4B7DywAhXRirRJ9@RgX_fI(2$AM_ z)_C>a`&27~+3f8o8A*!eE-H2m!QeFK=6o&5s%B0M1+ zOl1BjV`|*J3EhlhAVUbo+e2OgqFF{mFoO$7MNZ)%u5V|y=&Mi?l7E$Qj1VYF1K}DK zOVJbU1f2&EAE|0mBLE=1Tda?H$D%Rnt+nv-1i%1l&HMt@t5`L8OaJTYX!eT3GR}qF zrA$PmCoo|cM1hB$4o84h)E&1#69h1m3IJ@Yo!eMNATivQjm&qKdI|>nbzo|;D9i;x zFKo3gcDo56c*rnVIu8`c^3vfKn2pAqN|gggYOZnlxeU_2|2|JzXeV~MGi33J6xZwW zQpfKSd@PQ|#e!Etw0Tiu1><8LGt27Qk1N!tlj(Z1-J5{{NiYSefrkY6W zqN#2zLBDRN9X%P74w8+K0u?m?BOqDsA4Hb~;5k8_yo-&NIs}m)djS=EN3hY6K$c6ywXDXVZAh1Fl-hoTF!2IID z2ZWYUMjQs|olz!bthGjLX%-R@3Go@S4el?KVPfa=BI3b-J}u5iGQI7kE{2E?F(!Gx zh)5w)hXJ(2J?IYCaogZlA(kLj7(~RRONg+!J&1@KJFK^a2&H8AQ!{7!NhNTIB4Fv* zP1n-dR~8OKUq{f>FYcfPRw{PgJX%avoU}A1fUQW0nvKQnnIb}noq-UWG$i8ADt%;l zZpAU2uQVcnmRpA8NT5gboNS_oOJEcovhAk(Lf0+U$@jAC5rRo^rJPbqEWLj+YstMV zs(sCO?(Is7K|F~&Wv())CDFi+eLB&_iHBvfAPYNQ0t-ot`7K08;ZbM>#9R$ z-8H-z^kosR6UwviEKvBW`Qdc+5mC<^h-jK8?##k|GHy=7N>sW5&9Mn^I9KUrNs^h& z>B5{q#M=QQmH=V4%L?sF9+?SroKD0Hhlgl)?H1cq zgcd&RCp@+gVeiq+D_)Jw*FPb$bWlhLRu(t+qCzkl-627(vws5uwf8x-J|$%TQ`mJ?!9woDzvq2=+{2$ z>WSg{59<7(9}PK!HTNoI&hG9xz!`V$+*pK45s`VG)d6E&7a~$1`~Ln80531+A3uJ) zoX-I8`|rPR+g4le=krTz9f_t==V?}x`#jI*(@9$gcT*4n-7W!F1!UVAX!IOv87X)1 z5m0}T@J3W>WOhTj2ncj&P8F(!P?%&{Bj+_(PgoeVV6YOFr^8Mn){)8xHW7}+);A&o z3-icaV5Fmw9h$O8!H*WOnx;uKQx0>tJSC!zhb&@MyP^w-!o#mT`jbWAj>YbAq)Hke zGK6VmkB5Lg!x=!REQ!93~ANo%U(~{nk2QA`38sH2{TIdpfZJDkK0@ESJ3=*m@c*>o^6$8^G19{X_c3 z@Jkt{P_fe-5rH%n2;fQlLjqXmMOavYG8m6k`4{97i{4n&AF-5Ds4#P9S5n22!Gy=I zQlYMy8oV)3oh>r3N0-~W?6NxVbT05iwAOkwtm{|`^{!!qpmjqu;g)g_8)3@D02+d7 zP8pJL#)tvuQP2VnXG}GeXC-E$;kg*fn@{aHgwi(dG}(Bg>9e*$5=S+wi*142vbQ#7 zMl?49SU%@CJQb_Y+e@j=msB4ZrNC;f0Ftw<>Llmw10&lAL-)$1x-8Q9cs#-xN-Zj|qZX4TzjohA z^zw`IJc$=W&1bIZ*jN;8MW}~q+hFDB)od1V=?Io#%VrV8-F{g>qSX3O*=d|>mLK9r)0Pjp} z#o&?{@G&S-L>-OmzBs8eBU4|LVj~_COlG5-rXoT7P>To44o1tvKMd@MQzK$M2u?BU zaH|?1$uT#QmyOCN8o|dMZ6FNVPwYumLpxivpaQ*J{L+ys4k)FtU=-9#hzDY@E<-Zc zK;28|8NAN#jEbN@{QI><(2t$aXZ;Qr zDZ)fhiXN-(Ik(D({kQhoyt|du-J>o%#*azmhd_M(D1a_J7z-FQ$or2+-l9j9#~8wC zhHhi#ev~wi2&Q#js`n0bM`=Pe%Myz4Bx2Gm2u3c2kZTE=IA-t69v~+sc3}b4EM$_1 z!pls%@)$fJvf;@ib2H%(uObSS6JELXeE3-1sS(X9l*B_BV@wcE9?$Q?`mZdMh}did z78r#K@FyR*aSyQs-;sESOU2QiYDW~g65Rz~R5aY%{J2QO@8x4q9(i8X%3vSPjMEY~ z#m7`5;Tg47IP_dfTH3iwQbgGd z)GSJxu=wuxR^0opUf|&*m*e3^)f@q=O_7H?6d5}+AY095-o1}L27#YrPQJ9L-2LU{ zEB1<+8oMzhfv)a-u%^?RInXr>Bd%Z`&p;C1*kuF6!>r>n$Zkd`3jQ_2AY` zW{EwBLgC`?n39Kw#&`fps*=F9N2Fy2@~?B08)kwV56{ip;wVIq63;X!5E>8VMvPoQ z(R0d^AUcc8Y|Q8ZpbinUjM1>sQ%aaOl}o}>$K3acubK~mcsOF06<7q!_rZ*=kLlxMi@>4252?PAu(HQKH|_D)|AE= z;brG=h{(z&c24)t4bCns6=Ptwt^7OW?ht?YO2B6|bH;xDxT-5STYv8#`#c^aatkW1eU$4`Yh?KQ0poLlFbNJ?=dv z2$iu9!GGt6I6e|4b0fbG8>Gv?PWR zW5!WDESTw(5^lVW7VGAuiV+WtU<(mjkE|&oRZS6x35!kA#ds*+`>IUCn@&?r5eYrA z;K@Dox7|%*=wJHt- zk!Yf&Gf4Gi*|7e;(uR3fu<{}JYZC>U8n$b;3QY&h#9JviQ~?k~EOtLrGjO;=VXgO2 z9SS%gBE*G0#NpzwbaP)#D|5%Wm!Gz|J~Ts5o`wkP%*)`o2Y7~XpU5@ohlPBw-tn+! zAmwu`=?8o9J08e-w6nM1AyQnY6;H?4<9^sbB$6Tkb*EX%*QA1$@OjHb#4MA3`XP8V zGn^VTb9Nf*XvDZ6V0*m}Q81=F=d`Hjz4yZ%TzMj>J1IIPi2yK12hW1e*KQORn$?#_ zTZ~Y4HT&KLWWt%`Q_!M zwLV(g_x*Oey*$033(tn-9AtkRHpW0RxmzeNz{$A>C5k9UF} z1VH3IM$rG~qcvO`iMu(JilPW>zI?CWC#J8*cem*@O~Tsz{DFqa)6)|i>WpRrVE(mhR6`C(U;r=j=X`;MgTc=$hpMftuboM=d&U(J< z>(*|0+)ED|j$o|k->lts-zvK5fNo~C6e*`&8_XoC9{uo-#%m%I%WBQ=Hx4wh*=YNL zpTrTpCdhLQDXD@v3K~O4TiF;A?dNL)W1VgOWdsBk1BE++vbEt?41rvC zjK0VTuzpCoa8f4q(9zdCr$Z8bup0!PG3u%?T<+uyF^fC+_pn9r??^zeX zuo=ymHQK7CwH!8hmb4xZn@=yhFw_)D{`AE3;RU#qor&*Zy1OrRUP?U9T*cv3@)3@VVqEJFphdme#_b5kIK{s5)1$;X_P?$f)mppHI8Ol4VzoOv} zu)_Qh4@_^TMOtE;3!(t zX(GGZ>BP(^1@c7xYOUq8@#Nr}S?^ue+z9hEAN@{uo9T>`gDgvaU-7%h?T6!he@u^Y z(nFU6J)}vCDE;uLrrh1!ocOl;2Y!tH;}`GDjr-m+3-0NM_dj^<1#;Z8pogRVXhT1k zpvOe^vyUFt4^>p9=Sk-o zY7?gIkUP_CC!)KIr9|_h5mCwsV~x!2^XBj<-9J33b(Valm1rYd;L(Hm>sa_%&5yGF zu#t2Aum8{g)&Kin{ufofUa!6Pr>7^hx0g~<98F;|A7-PqtjZ<3S*?}w6ZwbYC=e!; z`G`4-(tT6XgaK%{F(jpg#h7B?=-Nr)Zt)~2inl(@B6*qrbD&mn>UcHb-}gh91V#fW zG5MrJ(QMv~6Gc(Sn(%3GjXfBF4#X{DN1n49iBL4bC4jrIo=%jv5V3~I53?(=3u8CS zeXGG>uQr7x)X5W$S~W7C@Ps_Zbq}YDcuw{e5mi~UQ&#A}OsZ*&VfW<2R~R;3(cDY% z6@TkQndgI-r~0C;FcQ15HdcTi0W=7YX|o1@5JULPVlU_f#(|AWyNehZ-@hwZ)<=B+MhQe)Nd<)muxn zFwyzo)*xq__B<@wv~IEbAEW5?)A$x3E)OnwmXS0r$)c&4a?1D>#An;K0gkd}PM&iy zKe84uwKXLMgOlCJl4PQgxwm06q<*L)cQ-c;%YKhmr^{Ie_V=&V+^`bo zQLQ!SjIrM+9g0XPdGu}%dn|?%&rTN@lVN>2d}qQCBvO@93c0t|c~+pHmKj0Nv`c@t znnPsFY0|m)F&Dz+JSbT_`mpuv%$M1@KkE;n&j@M5_(0qvGV+IGMKkjIT{t**A@g$l z58KH<{(+Zqn7_2nFU^4&_YYa|P%Okl1OCHrA+X@P*>Kn{PwC#f@Tl+^ej(O}rpe+- zE&1I|p>uy4vxl52cG5jQn?XMaOjFHn8ZxMiJ_ct*E1-c*TH^leXM|;sZ zArOB&p-#S9XPDV+Ou}}Afc((f>JJuVnfn0&Vt1X`$Z;HF@;uhJB9K}^*xI0YAnx~Q zMHUTsZq3I8LZ=HS^vu%-Tj`Nh@wCx?|D^k^M_FOE0z5|LgNUKNIfC`PMzs1YUQ9#% z5I9AVmjeP>U*#*%BVWS}ADj!#%UHd{AT*#w>pmTCm4xQA;Q2W#USa$MQ-ydI0q-dt zF;q#zB_{zy94t|ulWp8mN`3U+ySZ(pn0f1MEbSSMm<2H_6s6aLV8H`IE82aH)@6JQ zyw(~lle*sG(~mlc=Wv|hXirbfkAc_RBokexhgE*SMIPU|e)X zJi(4j5_o%SjhIvvGqO@jP_Bpc0I-c_&caEPlaDb<&aHIT2q_u$uj z3^CX1?=5M>2|UwQHaJl50uu2-S}u1X?@yC+8^G}z{wr~ zCqSNnh#nr-TJyCCA9l-Jv=0|KZQ2T%V)uavJss*JCxqzUpmyI4$P=S$!~>FFoKjw%C^C+P@>Vtg9VQCjAAzE!{+?pDX?>lLMnVcvba-F;E5vBTPNMzt+#1c z?+RoeXq^w_vgkwz+ini8jU5al96%RBI$9O*d66F;$32I=CvF_^!+bEShsmeqU&jG9 znHgpiRdwlqCH%3xAHC#0a1|xA=*^#iQ=-N1; zV`^k%j~Qp&6@+ssYIpHlkwS5}QOUhEa&E2Xl3N|8(`n!LIf9cQi}>{PgoulXM6}kL zKE1r4H*LRN6=O}zfBg7yeR~^bKmWr|(Flu96WA&d8qry!lz2|MB91K>(F@0|N+3GZ z`nW7J?XiT;6weWrTHqP8!U*$W7K?+2y7D|ck+rkgA?8Rk`kNI5pqI;e@=W;f$*M|j z(D6HJB_gCCK26xNAONTVk%xH=p55xw;nv#StWVy_;*9@Y6Z3F*?k0LRf7uGcBIKPY zEAo3-|JE8Sk|q!tBQ6gDxa54!IlGxCrKCjE+ZZ;8 z+y>TDSe+IZo9-s#?o#iO*8NDX-HSarp^>{Z#^dI6r<_rnn1bWehpe(Dv#jspd%65~ zU;4MN`$Ji=FHdHlY6=N^i>WC#ESHQFXpGUk&GI@g7QCv~qk`(OqDZ_=MKGNV34PfL zVGfDf=pCI|s;X0}fFk0*d)2=mgndk1_l&_Vp1Uqtec?E6GeZW7>|I4b50SdLy7`4e_o~8qj z(pPNsNZFjNl)N^>$5mSAeI?3qRA_$h?{?}6H{;tMf3_%7c&92eD@y0<7Umy#S?qhZ80+(RdGu(RV3^UJ zvd*oC{OL@P9?ECIvBeMWc^Qq~X$G4?Edr+UHx)(^w&+5l-uvnV0?la3w#96#<%Skt zZGQQkw!c1~dEGTH!~PiV$KCrqPorqn!o5cB9oJ9pHX*q9=npLd;C8H4o!nKLYxsNT zwXS@=;$g*>U<&@*^njoxY^9`}AMAY42_RfJ;$=%h3{A}`Y407%g<+|tjK~;9cIWTX z1pEe*oA7LkFQvFSDws0$#%R`j_)hin<= zrIgxQ${F)^V|i8I-``8g0HZ)$zYr$tz2}_M%gYOZgq%~`k6znxy&lKG%-gmR(HvwX zlZ-i_t4kkUcI=x4Kk&->eF3K;%2Nq?b$+ckq4AnUJcgPPq951{1o01Bf@furXf;~! z^zHDSX0wsq5m3)PdcWiuOvFN)S*;b(G|PPx&g&Nn=L&+lB~3haam)raeFvpOjE2X zf`+?EU)J#N*QBs=izv+#i(a8s)M}SKWu^oQXYgXDiSYslu{{~hw;jgkj$Ge!1dgb^{b`O(aVIT||0FrS)d zOf=@ouJqRz{S%!|;~t~qU+7lG?}>0qW#&7WTDu-!l)!uz8Q_>n^hIqW?hngN!Gh$I0Kc7&W{jAS*lrQ9|*0G_+g!wx7B{%-97Y`uGsI-{Qz z7tWtL5l8$XkLYFq$@4u#!Q66RpyWLYj2I4XcN+d#QQ^qkA9vc?D6zX%q&PuACdiJg ztw@9@wblwK1P?bQ^e9CrC=pSJChfi9-tgg?Qc%{25YOeDnaIuXW@drK5deUSBNG-`#PR!mdeEm<6Ir}dm@zBU-C2W39UM3jP08JJN;U>^ly#eC z)>?D7_xJ0zZDaJDQ)?}i)An?E`tjpO&e?~({rK_v`g$CPk74^xpJ;(^HWesR$~FcP zD8OlcudO0=R;PFv-Q0(Zs;DqKGdftODV&_jc%*!%y}P^7aC7L3;{eIxB23;LhQP+A z5_otbaSBAyiP*`AiIiNNiCM{wSmyXP#9T`3Uh6?by;ou$-4-!?E2o@QG__ub4~M#& zn~<2b2=8ax9TVADhr#CzHK&k3yfelEAe!_l5t*M6^GwQ?d8SYleAU2RL=!Z%-5hcl z{b<-^A!LA9kbI0jBjo#syRGyYm-%qqoF23}c?KL#PQ&_&edlR(BJLyfY*NZ#Ymyr= zm=HE*bJBDq(H|;G?j)cln77f#)OQe3a4U_3B$twtX&!3k^*DO;jk9?-Hzs1^<7fwS z&bj1F%v(yWcXAUYVrs`BiAB=z&ca*S(w59@^wDY?-bF-{@|@!0_eKgKA}pxik=6*s zJ~nF1g3)Y0Tw(V7`@j@Mc$l@&3y|>l^JT-A1)uTO$^tcZ%t~q^cNbAH8#yH>C-=OS zK3dvD6QeP(*}=r+l*SlFT%@#K0fR|WCs)ac^}#_FVM#p3=)F6e2PVy$le@p~Z>o9F zD7k3Tl(Q=B``%h3C~MD@15U;f2|YN=$CpQXwY+{f!a**aSjc=>ABY#v=QA;@O7EkM z!9v5junwz7Jw%nmMZmvUZ9S*tWJJ^lx!Dr!GdCNk1euTU5F==*GiM9>sE`oP>Xk31 z2Qh`f{hg2Hq!7y^CrwE?k1<-S!v?dYtmtAkv)C%g&u9r8$0sq*=tkB~v)TJ1su%+^ zCPN+Mcd!IQ0B^469bXCmbdP3MT03JNy1aOkkz zvm=L@nG-A|behOq6e$GHU%5wwkR^*R6@Lgg7lIZ4N3zt~F@N>r{cuE!e*bK&(!8Bn z|C~R=BzwkAbqZ%cw+L3p$eGxMxwb<^%uR%cb$8pgjof=sB-P1>br@=UOta>m@;h)a zqr|9BLej?E9Rhd+0*RBV^wB9u%)%%XnSwaS@!U27Q^)( z(SzTu?ZSb4ZaiU`NBh1J%^^zrkV6m&v77Z;Q%+Od&H(x6EfdkHY;dKmH`s7alB4gE zBqa?YEixK;%N(-@&^P9cenEG?v&LDIl8FTY4KWM%F-plS3U;E6(Z@adUm-X=!#$KC z@8)f9?uKgN@(ZGBW3Z~PIVD&P_goSY-EP;HmzVc<&$$qhNJ%NbzP_fnxA)uib{t2q z)%tjSecShajJ~COLl@^{!B1S23Ek1HGI7%U(0ELki8*_xW7Yv7Yk$aSDAENI6;xPk zQ4S-WnxZk}9MTN;>e}xC9Bese3bGoTyUq)C@`0ls$uCZV5rv8Y69yZ*jp1g!b+}m( z1_4f@t{g#+OQ`jddD|;iW7#h=BX<=wiB??f1c|uQ`Y_B-Hd@dE!l$OgZOOTZtK(!o82><59F?UgVMpA|EW0e=rdrR`>qX3C!@rTjSbPRTx7# z2Xk~r_L#v4pSBp6L2_d0OG zvyY%24l@-Ikye`~lB7h`dLyTtbGZ~%IrgLXE-I(fNmY;i@TCrqLI6j+5gDE)f4qN+ z#hHldA|XWuOwv?gm^2mi6q6$F*bK8GQgXN5%ZLTUSUD3{Om3yii8*@2&vIf zm6TNVJVx)mA4jE7z`sXzM3hpRBUV>H^Kp@AfpHUOio+TH&!YkEcXWclrOZG`UwsUB z3~j}N6NQ>-)a)!?W?`mkD|x%4JCjIswF#;!GO#>Y~Vp7PZOp-?~8*UvsRne6;4)okO%D^(G(D9dbWzOjG)Pt~@{7ET*wL#+`gz87rl%JsQEj4R_ZeM07r1 zQ0@c}_V)IE9EYl=z8_Kw54-+&tH<&7{fC=*A6ibQvJpaNbTRDUy(am9|KZG z_s#*M-qElvbH7eAww#AkZ;b{J&bzu&Nr{+2BnO>DLbPJ^anSG)>I1`92~WsFSH>Nv zACpIwZO}5QxXox8Bzy$Vp4{lnH*2-wNza`Zr;bCMdcfAe3;~LUo(K`8L?YSd6lA&g z9^Ri?(1K>nO49?_WVx=aclwMWEO)d&zj^IBOu@w+SIC6P zsxhKimXY#c_u0eekZL+zM2K5!eROvck|3lrx7J4=xnwLQx`0{0Uhg47!{Y8IIYDyy zcDpTfk)q7%!TAVZbZ_IIsS^`ncwLCdnE4W{cPCX}7M94FMKjL`o=BL6&#D%*C!%%$ zm5O!3&73*L0@Ad1_Xxq=iG_HKxMd2cHvtCT4(A6KwdCSh7`5!M$P}5nvN*E7@QzOAl9b$YO77ID3qMvop}I~? zdfx}o`zEOAVbvGx9r+tM^*)57HP|WO5>@3{f5G-y741buMKi-=oVvDvyNTG$XWZR; zZ)0%IWxhXR43KS>Uzz3>5y|7<)B5`vqJ6~DkO>jsZIHnyibDbAxMM)2&!atm@BnC; z&nB%nFT9QeEoB*0oaZzP)h!Z8K+aRi1?O@FQ!{2misCDaTwx{CWAHdVC1M3f%9Pg5 z#B!{jp-DsI6(fpDQZ-fT-Fx?krk*={#C%w%n6V);``+BFOF@r$Cup}s^aB1y1ZrDP)N zBW7ER==pMXv*S2excAn3L!0O5!`w)q+dqiFHeOdmG|}C7AU3*_sEDw#v|3Bah!P$% zIyZ;R7T|MUDqtcE72>&cq1|)enKrspjsO~<08U9t={PD8_11AE?mqfJ=qxJf`t^rx z+wFSe(f4n!PvtcFa7lHq`*F}8p?M6zAV|$NLQ0#NiNvRZr?9l%DNv$2nmPJljiAHE z7=5Ial%@A>=4PFlQ4T}0jt6Knc#=EH;@!vnRL-=@hiOVguA(mHW~#}0mn3%dYp7mDmeG{-xj z)JQR3`7W5`$bmSJMUQ2Ud;*0(j&aeHQhFTj3;XLBwkj%9spO&E8b-lIW!s9o-)=Yj zVoItik-Ip>G>-^EU=T-6IcP&nQ-sI)NS%RINq0_s$qZ!*^qtb0+uJx+G;xQU}=p3?vG3NX$%f zyIsj?+lo8c7-XC@6H#x2nN$-K9hwYJ*OA-;IoG^LoCh%tUQx{N3+ zK8a1gvMz_11I5IQ!hn~eErWQ`q|k^@km{{Rm8p5-1kvW1@*!eaDYi%cVK_t+Zjo?M zF>f1Y$IOShFpi8c%H_mPbR2t1$sJv6HeoOpQDg!XwFGo-hO(<_f>tva00VeI$`F`WU0N20&c^9?yMdW1$`HZmJ2aFVTd{HFpgK z7J-GIh!N4;RCj|FL^TqX20riT2;4zXWtUmTQf79xDY0%G5q%_k7(Ui}501^!h7cas zfhU;{keY*RO)O+AJZy+W%-ebcI0E+en8_Pju)z+;_TIMA`!F^qlB6Y<)|-uSz1~y> z0?R5|woO&hoiHI%N9_xV5V?=uLDUGva$*L*Dl%S7H@wIF9tZ+b0(F{*t~=3yeu~XV zU6^Kx*~b{(9Zv$;4pPHm?qnqua&oeUPW&-W+XhJXI1X|Ll~9O7yu?C28g|u*HEC~s zAWfZy2xh1CF@YLq;W4_CZ+RPI^xjy+x`}ehWj}Tm#fV@uNWnO?-b9j_!K2w6m#!+U zH5RF@sfZ@M?R!#ft)WdVtyFxtu;i3`?_`v+s5%$X*SGgim#5d)*DOk+@AVz(lw*vw zcLU1?{4)$EXIcjmO=$`_y1QA&gOVlGw&YSfQ|_bpK2a;4{gomAJGD7va$u*8SCWXX zRD80bqu@KAqpbpNEDx=k)EI-=AsB`<2>EVrjb>nn_y8-soi+>)ULXJwu}EUR-EQae z8KZX3=S!>gIBL=~9x;_^mJm`8Ga~N2BjUtd6qz6@`d-`y>xBI{*bA`2tq&&>k(|@C z$~`BzNt)7dSE5{UR%O}D>^P2>l!<8H_xHCq5g~JCLhl~xQX&elV3B^YN1&?kAfpjG z2j!OEW4nRUIcj0d88C^aBS0d$--aw_aNn7EKB^Mal&(HK#1XtEfT|z0sof zfT8Y0DJ5hSW`=+mE{TXd8A)t?F|*z~Vl03iJZVnE3}@Q=nAs%|855Dyb{b~x1oaJ|?9SxGW~S~caI9K#b|Pg) z;D|EC<16Pp`bfY1`s-FoJL>g%O{!+rTYq_ZdB46#GZ#M`N(uvLvr$4+m*E>@tQKfy zffgK8gna73VkQiZ%H`?OM#scfoP0MkM|V}69uE$LGZCvAl-xyF1o^!=kqwO7>wVCg z6EL|2qj!8Yb~a+N(YuKV3pxPmQFYF7rwPr|iVEFXq}A$UfU#u5TJPSw&S8twQHI^e zZB7RqKX5mA(CO)7ltk|%=RDgm1J%ao`RJ;NZ2*Tu#Wn&jzgrw9^j?OQnJO>#2QFUlNS#xt@px6wMPnG^OC zu-(_zhCPK>AH#B@)9KWDXFl#*fAYZY#0&DtSBM(%0{)3vS)Gkp%q?m5fNcaJ$f^;H z(I?0s@CgyuR$&TTZ^&VcJgK^(S7MycXGp%eJGlJ#Pr!cU(po#8&%JdPLjsp_rkHvZ zst_q>A#S}LM-8BY*+W9?-tmC$Gn(~Y0H3sO`auNF%-pSa2eLX-wJ7J&-)MR<>Ol?# zBTFekCcF1uk7M-Fdc&@eDR}0y?sMO=k9gHXg>LSz`yOA0%yBvhQHaQ7}to77BfKTZa^m#GtAn zqQF@v2*t!?12U(qv;V=&TCe=jgvi27vm!j1i%bFbBbpHws34(CBPvX!K4tsowb3+E z-a3#Q{YXC`A{F*IxiaU>5=<;JL%pVt!J2ySHpdz^_`;M%A1UXQQ`VA+`sf^F4Bq$s zw3VdVS}&!fWSWw@rJTR~{PXR4-L~!Z^%eCNgbU2fvw6a7Apgab!w&@L_0&P^zuWP9 zZL_r|qA4ZdQmD|Gdp_L<lK91u!j+~1MrUV7VVD4lt%=gKRclbP} zk3#PNI&rGHZ5s;~pWS`mcOaAm1?C>$2m-;?n`z#eqq|>4q0R0MPSR1qWL8-I*}E_s zfoHsnl@F?n)|UZQE_Xrj+*mmUCt%lPQWuh+M<1$ma#?2!%?@h5t4Dn^nl=r z$Z;G1$L9XV8Fn{AiHaU{Tyjciq{k(QunU{9yAiXE$sPxVkVTlwRz`2V-(eC|E79Me zM8|Om^IeT*jyj^eI6iQ*VAg4tQ&4W*ejTUUE6=fz71_ zku%MlAefSRZ&qNG-gMPmn9ap8D1vF#Vthus$c>07mr`prw>Hd~L=$Q{=1w+Xp}^vT zL0LmQVe8TNkaI><3-UxtnI+-GnrSZ0rgw^~4Tyr6 zSVS3FGT*z?aXQSvGQv8J&}0s>2v%7{u%~m*$XkG!gD|lS%@|EYXV+3-MZ-++^i|5K zsA_NB%}FTdq?$mD@2#6z&Lt%^bUdZhTC*__VN+n$;fSyZ7DPD!AVTKR=rfGS`}q>0z@gEwXnNW#Lc3<_2VNCP31Ptp17qm3D#38J(SI=umg#U+hU-a)UI zh$YU!naf1Fgti}K;--PhWN^`BLaX`?_`jQk2w zpiXrXwiRBud&p2f#AeZp9O24L>h8s?S=^{cH@BRU5g|<~+qRuH?14hwdmp{yHU&BY zy-R=!vhTZ&R7x3RAY4NO%G3G0AIBJjMGzbH(al^_8l#_|E;j7)^mH5tI77#N^fAC^ zaB?y6C5IFd@O^X=N4PL^>v=;w)9%xDN;#`)?;ZZdeSoyOIFZr(gmqw9!JYH{xvUK- zGiC?Et0JPh=pvAVhS(JzP*-&LQf;mGE<-dafaF^1`FzG#v|7uy0c08XGErnTtu^!| zs0t7%;@P0%?zA(pYSN^=H7v{f`w*6CSCgCPl2!Gnhr74li8;w#$F$bUBDfwi6GMaK zF!*0#Hi0L)pWpdELswZ){@Kj>7%8Wm5{52f^0j+t#1TBW2$4Wx|6Xl>P~-+<$HI`R zyMukp5A~w3*+TH4Dhjo8pd7ezM}SXGL@DWrQ3v59iHM0q>oKL#d&)^gZ`Ye9MP4K< z2t1* ze^q630zlz|+=$`W$lL^Ken$5P=H6;$=2n|b!}pNQgq>eesf_^?6(k9pbyk@$^(>Ll zguZ)kOv^?W)zIYOD7^FtLcZ%w0sm!AdDPvRE)MVias>&66lmH+#&+aVjya8mSjtO3tnVKuB$#2)kBu4T0!nXcA(fE@D1c0Shn90ulsIy zr#`x<5_8U}_tDzUfz}{TWpZ2dTSSB&%9_3o8z9S%3ac|RqlfeO;Q>8HX6u(Y*pEa^ zD%!_Lnnv#&nz)P|h$;`=b?j#S1w|twW{S*V(r3+31DTZJJAs`a@*)O+(OSidjWJTn z@Do#dWUBBHH)kdVOc&^W}2vJI7E<#2^ZDiX3m+`AHUc^4SGK zM3hoEL5{gz%%URJJIb{Y(oW!fH8&7ZAcs*7j=CPK>N1RLQ6q#(fqeiZ3$xFBI-gfa z4PH%at!$gSQ%vX~kP+P}C3UCXyA9jhPID77kx@(>f*eVl17ac?qmR+t3B$oaYyci# zj|1C7RWFyzzVCt5ww7}qxSgQ!@Gt}WkU-zWpmC3TrwL5*!(n8mdv#{1oiX)3#2lgO zAVOLjomaE|z|7<`AD+{e<{eodeU)EPTXQHXm=j?jI@o#=q{C^~G{p{?nx~GP#v(dt zA&_){JEoK(tLM;x2fz&5&OGfT#S9^oHG69i#q){04zu1`N=b#ewZ=pQsmaz;PW!&= zM4O@($dBu|GSdZXJAA{yAX0MFV&pz3Uf0Ho|LmQaYzp=I#J4%dS_j5{x2Mdt9*TAk z7S)L8Ypv5l-1Rt|4E?A~Bq|E`OrhHmOKrY_5~iuJM-L}vRyl=YcJi3>h=`~UD1IYoE(Qxb7qDYNWL6V|#UyZP4mJ{! zJ)ejJoP;3V*~$igl#=v5h$N_i^N{46axQ55un^B&pnVYYnFu?1uDTPtA1nexRQgnP zI?>1Imx%c3>B-!Xc)2%R<+c@W9Hje6;Bco>w&U2Dc-RovXuNmF@WkFal1>($Q7=@m zU6Y>lZ1W(G-hB+2-n7;#!bGw_Y?_e6S`KC=zy$zr=J;@Z%>3M)Y4x69UZ@ZgqhJ)l z8JuMwoh^VC6`92KXjKD|eDW}O(jaL@6S(J)=bNSWFdB0}O{6_UG+CAN z?ueWW(Kb7}M;*Llb6Dz$Q?Ii4eNx$?X@;4406rd(;5+N=!41s!_zDo`!z2pA8K;yq zDP}{p)@Ni%M3hVJt>Xv)<6&l^c*;6ej?8Szz0xCUC6XsB=usPFCR!pyM8QyGG~1$0 z4`(@oLK!3x8QTQjaTtS;+odQaQt?s-x$LGETuWk~5m zVjfX!q!V~Kgytnis|DyTymA{R9=+dg*X?vd;s;&EvK5f}`{=@{_pT|inJ}AMYc)|O zcPRy&li@>HhYi&v%Fw?!B|{zTZmOYHc)vCVM)cw$t|Z_FhUppU>aEeRZP9 z#5`D=QG9Usdp`j)s{3=(9LG^83Qz9Ttg8sx*&uX0T@~6eHIN(PklVCbM=|&4*wB0S z3>|EE#ybIkx9#NQt+k_85h3#9IDloCyC|lvF@jw%7KRP8p_-JrwK%m&75Fy}0?#@N zP2>ejp($yM03WOpDvU^~5!5mhQR{s_>KsQ48XWcB$(=Y-bQqT2`?hVPU zFuO3>3@uuFd3i}lCYX7&b~#`6eP`z5IHI2gSu+T~9ICirhT&le3lX~`91eMUo&xbO zC9vibs2{afIMHBMsyflp(J&l9v(8y&hW=F|T39_aJ;>0VNk}EffcT`(u2!KaTHLSq z&Z#H&P@Ys3w5G)4q)DLT5Ie;GIHFx;-Gd)mJe&u#Z{9M8VrOIKqt=o$aYS6g;x4eU zDJdXy5vjGK9_@4f20k=F>?cS?%e%}-Q6;BB#AEc}QzvC&5uAKQjDjG889h)f=ZqcJ zhn1XrA4Iy9GS4u;*VI}ADrOY@t(a+hf+ zc^>AVb$blNpvl-ZGZ7ZX0CjS8=Xu7xtr^ScT~k6wJjC2b@05}-n@w#aa9C6B zy)l!y*VY&`ETT`JKHYBDZR6)ppCC1GyI#@nH`hN%w9$Gz1N3#{niBAjmGUBEsmGzB z)1LIz8FQ~(P_!dNv#s14W&s=+a{e(+r&DBNS=`9ndT)6vn{3eia--fmF{KPWJQkJS zhr4(50*_J3i5UtwQjdxbq&ljIxJ`gDk{HH90le^;S0@!$t+k#`Cv0_`Sb(TN<#SF* zZdEjwJVJs>RmjW`;jIxPunl~l48*JExWcnI%1}lWAx1O4YrtJ$*hOS3#oUv6tqpE{ zGE!)^c}2_Z?RF!g)9IusiCLNua;vqqo-^OghFCUOX2cQE!lP;Z^5siyH4)LL=TG0henn45 zF4@dZ`Gk0!W|Xo7U?@IUL@=RgaaCa3C-%VPZji(>8^o+4W1xd0F%b)CDu|#_dIx5P z0!=+CN8aw{5#i!7;!0G+Y1GyTG-@(1jSXoK6RQ&12;wZPkrM*~zR{nIxv0>Jl<3;~ zP!+LAcmZ<2gmDm#1kxEiKiZw#(cdA%24H>$^2TItVBM-}?^RTDNw?cAEHWlyxr?Cf zRSb1_>%(ZGk0K1jSkaqJ!EGWY66Mj&?kWOdMBR-=G`RLw`vF)UaSwnnC(1c(r_Ic- z*K5$^nTVpg2So-TXLMIqV;0sVwKk+cwKo_j6?JkTsojX3ld70oJcWeO)zSf-AQvv{4j!P+Y02T&CP}n>qk8>Qq0|s2xmQ| zlv7G6)!J_R)yz6%2!zc>bCb~0b2b!HCWt7E;uMD2nVFN_!*Fm57JxBr{XUI0d{(D?-BmSET6B&7Q9r4Mr_7PVB=i zAcqS|frz^jg-jsLqNGYRL?87aqC6>L2>tpL^&n!iPOP~kH@7iFSP?}HCvr^vG#h}K zQE3xRsN)QadJ3+sxoz9Y$slBa3PUNSoHo48-TR2{_};)yA)*k62kel4M?iF zq?FSbqtyzBs-k_gZat?o9!5gV=sO}>O`1|hclI#uy?ZxvZ$pZfvgK41@eMJZ?1U5A zdJ`YHWMXHPO$!T~xiF8>3uPui12lRs8}LQzy_T&Id)bOd!eF&^JQOERSzE0nnsU;t zh)am|{rXnQmU1emt+twTv0+;&B$xNMx4KuIzyU!77+k=}M<*qWXjrEX)^BL1kI~F* zJAt$B0g#)wR>v4ACoENLJYi4^n0eTMXciH(YD%ImW{Na0K~zvlNzD8>b|->N^!a=~ zjw9#f?75^`D+{qWD=||}snx!fO+=i%9(AvCU}7u)07aNdL_t)0PRT~MF_NkWGKJ$r z9OlZ_m|6?(Bt(?5LQ4V(5d{KDB+5d_Rfx!ZT(6axFPDqC^(97VBj;3GbFwHSQiRJX zbfhcI>bT7W$;mY-Hd;>Qd_LpR+-|q66j819h<~EVMWtC2&5X-)C}_CmTyi$+t@VaO zT1radPKjv@F}HocrJPdIoOAE3wg!grQ60=5%_-$vYa7RaR@8AE!S-=#`z@E8G>JzH zfO=rc^7i&7EJxjswx3UDO#+1(a|Z*GS-Mk*FV0aJ*iE?mXjaZNz6P+%dk*3FxQCSR78a-%KW|em1Y79vN5321iXwP`8{lmG3huW z!cj_NW@aZte|}V#uoVIuo=JJA2Mrb`!>~?XaaPjILhWd4DgcM&g^pj8OJ+6|Ha_Kq zA-(A43s``Hv;h}0`>Ke@TWw`4EPU)o9D5opZ0<=F*#Gf+x2Y%VKWP4rWn+#siK8pPt8NMUNg@@Q~xOu(F8C^?J2o!z`y{Zev)Kv*(Dz zoKmX|X;2{E!hH;UZ|fuFL`cIY4C=>Px?8_>^ ztlZztkA8qunp9~bP8L*~i3%g-BBIA!jvh*e6k%2r!l!k10^lU{SePU#xx}B4qdk!M zLXzMfTt%43>#t#gID)WQDw6dLk#)^WjB~-V>OD|GvOyD)cX#M1Oe9&NY!P85g*3+R zk~^H`uwx930KfpsLa3bLHzo~yxLd6)sY-L&L$dCeH)1=G^hKD(Ye8cG0x}p)DNmF8B8)iOQ?ZZYX zg^5y15JP``drdi=wi8CSz7jR;?GYKRz4eAw`2=NmOh4!!Nf@wQ!-V>$Xn|o zQZl3Nrz$qg$&Y>SwQ5Rh_GMCa^V{tPw;15D*%)Khj{6w6Lp1H7R)c0YB0BcNij`6l zLk|l+)R zhwP+qN-5=>QaWv0?=6mNYbj+=UJz;5TA{KgqT5z-&P2TLyF1ldOUdBaZDm6_r}vIv z1wuHg5ry#7wq}h)By2afK_5=h%-vg`UX~UX3x&3b1169|6AA*%K8LipJEf%9a%g`+ z8h5^&kK=$q2Dsb6V0vproKj*T;pmsf3fg35tge3iQ1srpNkpyIfo{RpQ24MpsTY*W zZQDRe1Qh|eHK4M|nTTDTQnF#!>-!jEO6J~8BNI7s%4wDIC&`^@s%^<#>4Ss7FfaWh zB(^^LUTvfmKrI~Y0qY89_JF0uFPbd?4Er$@D3}+ac%8Ta#CSGb&$1^zGi=bqmwRX- z-ru&aeAq}y0fG)&?|~GB&x`u-Sv+G_p1B)Hkf7n=Gb7_=vN3o{(kux84x!PxL=QFx zcsV=-P;(;cqa&+{rXaK6CiCNyxxbvFOF$q2g$|MwDjTP5E2SK@9{Y|IUxkT01U6d_ zc7N|U-LNx|e%?w^O+=nmp-PBeHb`EHpnYFN#LUt7R%=Z;Yf6jpS&xIrQ_4K$9&`%6 z_txL9?ggr;LkOw@bVoHS=p=yVnt&>?X;pP9J#etmyywP{QP z8&hh;iD=*V)9Hk>ucE{>dLJX^|1b;2$vp1phdjjN=*``W4ViLM5lx9%Ca;26q?EiK z*?!y2JteKRZs!x$d@CCU3fH5mYS{|%dDL?u`eno4uU8wRj}hcQHzo#Sk7jVjvywZ= zStTyn?>9k2IVV^lJh@@kTJ5cKH0~p(3STsD9qk}G9T^d{?;)KKg_=OM2?hN-j>F92 zViK(IU61A@g_9+yEoLc9^+q!f=!OmrTm+YRb@@^{7YA+01~nAv+mk z7^F26ogGk};G8qC!`^#J${ZC63>_mPRoyn^f@9&L#>O$b2K8mO89t&LCFO)wHS^oP zKV2^9HN$RjCm0Jz>Y*tlwmuQ7pyq>>DW!B9Xm3WjmR(epRi2+e5z{c+_uXuqPbX$_ zS7xrY5fP#;v$1U_5!v_M-H)TSx@c$r2XYTc=t@W~P z%PTigYArz_FN!sCxVGTM_4>vlTt(gl`jJ)(mKSW?39a?8kxKWj!RUY#81^i2qOk5+N~h z%|%W&M56t$0?JZRmOe&KdGwx3ZsrOUfhgzf%tt*=+v&7zU=#^-t(f26-Y=K4o1IQ) zAZ@+1?>~O1=o-Zf1dE(BMW1Tgq6lDSV^~s+zCLt!3l_AGi7c+w!kqBJ1 z9!JV0!0DWznSjEonQgfs0SC6HqG(1TCMc*-P%~MWNp#Z$k{O~gH@AT>k=&eVxxNXh zJX|?;oek^MnV6`hln`~voKpn-`Gvd3X8}91;Za_A2wLH&4ejcYKTtwq+%W({#8WBk zq2d&BbitUUl+tk=F@K069YXYru{1*_IhEPXkNt>46h|XQxd14|-(Wxy3FZn+>8QB` z!@3iZ3{~}EV9O-Xw#~HCVkUP<>NZ)c3nEUL$OB6N!E4qj%!1i^mntxK#Eur0 zn;-XvN5NuUhEr6$f#olUV zdWpge2?GP`9Aq`3)*2%HmEMiH_}BqN1ZBC{RkO~5A{&t}*;|_WqC|Asww!YX*sEG= zMK1`D+tGst*IHK~x|pdDc|5Y57_Xjl{^<`t*Vgvq5Y^N9lv1v(_IjMQf>Wfb$8q%D zFP94h%7q2tLht=@zND0TbdyMHt=5`zLd_hbuK|wMT4BO)8NsoAhyW0Rr%+w@<2Z;( zMYncHZpl$fd3 z+IvUO1d%V?aW2>jhXN<#B@cm3?oJ$IE3v(GZT@ut9ze&1{VZ4=$J6F%!jXq3pjjDx zfUd%GJcJz&i00Iyd$<93f*z z-Dv`#7|B9JBD#=r#55@-auQ*S9Ma7Ox+zglNjW{<>|7A!@WRBcH6*&|k<3#+&!#{F zO_-DZ=H*0VL2JQ(h$U5(vTbyS5=k|Q%>Tr&S_@tT3!~YM=4K$Gq$#JAQ?fDYU7tv{ zt<=_tsB9Zt0HTV~$Mtr_#QO933{Cmdw!OW*krNO{@F^W_l`+^#ZnvvUVXd4p*0$u_ zT0>c_9*3&-)(4|QM@o*`%k6rDzd+2*L}QX|RQ21pZ-L7a4Kt0tc!pTR(iNeZr*Q}y z1vcf+q(79nJDF)a_-joeiH7ZmhqUv*PstKvf4ZJh5uNiv{f{UHs&dZ zQ;QBQo2-KeL>V|Gz%wMG=3Y))G-LIlc=|-JMZkuEe*-E;Wou<=)B8p!5|8Vilfh#$ zQ4EG!N!m3NhcVS5ygYV2p>Od?~X9#C+tG zPuq!z{@s7^Z@*r@VL`rq|9-n(c@mk@`FtrkvD58#yIpVY4$-$h)>J?QG~#Zx0z`#( zG=};jz%VGFM!;hp9LZQIclSBlhZw^*nWK+S$*J|u#F~^iJY_B!Su;h>VL7MXYwu&W zHwqvPGHVeLgLx^WAbA_sVnt?5q3OF$1)&igbDEiQ*_?tP?lgyWyEC$LmB$mfYNWn! zJc>E-Q`4oZD!4Qvibyc$jfH#bDPtaqPCUkm8I`Hlpr7O*a-srjtwqa>FwY^6Gf3qz z=Hf&2>>e(Xo3VjSc`L&# zm!e7c<2d#sJ*TY{@2wukb~=ffik?rW>-E}Njg(70sT@bgs5^9k&v6-nW;2IU0P|`g zR_E`PAgI+vM2f0(6LDWb_ zZyzDLX{KlzTAl%y6UFR4S>m-Y#}W$6AHp(xQeP$A)unEZc=s`=omdo=6QYC#+z>N^ zZZ(Sr@q41|vk{DiR5Q6jw%~j|M`dM3!|QGURw1#B7BeC1-8wSS$aNV)%2P!8Z(mGz z)y>HYiZ~f`E{xeh58xPPbMzcE0#Zum*2jPl>*eW*Bh=B}TN1(fHMhFg%jE(_O4&-z z`8bZ=+UatJC=4-`tw7(Wwd#~@jN9$DZ5y0%HwU){mO+AENn6=!s~8xX61W^>X01XO zDrP}q%Za9151op1BGP&@v(t8}qXWEet&ZWR)ArL(KV7dk!jQCxSz~+xDh7ag7#ecH zrXV5=ACB7lO#C5@gf7}Xm{nbqs_LdX#%R4+t)*TbLw_)Qrj^ph{Op-O-Zr4`R zvF~KgM8H&u$a}Q^Je>3C+J-U3&{jmBFbZfhUD+EdK{N%cjL3UmQ7S*+ZNL@A7;OwE zPdQ`oHbHYm1Wnq#LzpU}6QX-#9kXoPMj@~{FrP7l9bI)?lYbXQLRvsTN$D6OA*g`D zXbEXVB%~yiZY4(JL<9*PF}h=bQqmv|qeODRl#mifjXB1)_xZj1lg~3?d!FyT=bn4- zIj+h@EGbMHhk%t*``0m@I2U1wfnwyqm!^j|RxY#a`8I7PTx+FJOG*fD2FMGzA`jw- z3Af?swsXC3^`4UyotdYRB^0!kY_E&dZ+t8Cv!SCar7z7|0N{anvfjzEnGH@p98n5$ zXQ5-aiB&FB8^U4Gjzw%&m6gS(>(`|rd6Jv&WMJbh-Z_ogs$eh%TR99AV}UZl=a8-z z8;h~BOcZuvC|WQ(V;gSkIagTrJA5q!MBg zy5ZMto|G-0+u-qgt-Zt7H4t~#$WJxJrpDxp%O72*6Cq^I?Q`=Z9eqykJ>f3`1gn;{ z>UW9eR6|X8KOFqKS!#n_G2a();~hHxCabEKeymP1+Y!-kc_tPmxBmRrR70L^(Dgb> zEu$EU+{^-8-}h)udWoaIIXwWG>$*G|V|Rb%jp1n*`ikGZ#Ckqb%`jL$%m(Fhp?tAV zzzac=FnJQHi+2?xSNq?i8@J_V&C)n#^z8*3FLhOVaN6i5YoP{JbAtVxs#S_-?Xt6z z-!Mz?m%zSYoshNbif;vfi?iM@4WG+)vfx;OrHtg4t0}nk4*SG!axwB0?f5<`gg(lQ zciWZA@9V}`yL0Nul!63;SzP{JSx;mCtT#Gc&vVyV`r#wenVVbJy`-dchx~jCa|r`w zhk6VvTphvp?vsV?QQnBfB;t--P!U`IfcD!2Azh8%Qs!eJ9jh&fURk9;U!#l^dAQIW z8Q95-uc5rA8iqpef5XNT-pbu-o#z?l#YUoq1lKiApx0TQp&#NBk|Z)Lvny2%cxISp z#J}okUu%NLpj{JLK}_kcLb=cv$IpwsHfZ^@IQ6w9+Quw%Je4Iy|`;MV1^z7D)Ie`MW{OCoA8)Y)t&-F5It9Mx6 zxngZ0>Cz~7!`ky!MQ1DT7e2NZUGI{hXEUhocY5XsM3vK_Lh~|wMRzVUesn^PsCz?v zev~7b6uDAmF$d4i?zMOQJ&;`jvv7O#2Z4JKrj}Q~a8q}Z$~ti&#VtV$F_649qHNzH zv3cYrLb@$>__`6OViWewUO;{vgxnOf=vAne@@NkV&9pWIH3Lc_o{{(SKBMIXO6EVM z&zDRFUNIMRuDUbv*6fZ)7j7PDlqhvGXHMtq9TQNQs72-#jmHDS{a(rbY7Rp?E=-{! zPkso-b00B}UG;I{zV1f*MW)(=($V?3G{UM_(5vWXG4_mf_Sb?Ke9ibpa+*P(oC%wg zHi3gN^&9K*mAY17Omo`c7P5=Rjv+cS*fw43mfHZZf7S942+msv*1Y{ z?lGS#3@}{_m#kwVg10i{aB7ZXl(t9F-vD4ULlHBS`{AQmvV&&6`#zIOpkkN{xUsNC z%dDCRExfN=2#F0abOxJTco8vzjQIE9I5d8T; zy~9aa1b$b76MwOFvcI1T9k68hS(i8pj9_dcJ~gKv^nDM@=6gZ?LbCn? z&|4FkFngAwTlm&7Sb;;`aMWdzDo%tp`I13do0!oxSFaBPV!cufPX2#5va{R8-_N)z zQjJXmKE4_BHp24v+EblUj!b7`Pc)4J64e!BqjD+cEY}OR(;tXe3FT8f9GIZZ7U%Cu z&yY`Jm48>6D}+n`^7$(JmbpimufqMaxcGE&`>P$BlW@aJ8A$hdsYd>{uZ`DBJixj+ zBGvQD_+5Zg`vc4(>Cbkf>soEcxEW(}L1L}T9+V=*?cQ4v-GTj#o$%;s{ zFCpJjKB^(r*tqL4lb>in6Xi7jyLBs6$g=ug^}|3M{B{JBrbKA#ObobRsvcn%P>0C= zY*IOu*c#&4?LPnQ5dxR4&>lG(w?Ugg`RYj zI!N<2a=xQIUCK@5b>ece`+8K&Uh2 zY?`FoWpv~N=ZTL`5ernGdVAizf0b7m&cLm;TRvy4r}%n$R$E)|FILUwl}y{PUnM?R zAnRq|xDh24onAzbWT+tJyXtFC10v*#YztQCnLLtd^AqK+PQPCIS=v_(trRs%7rgJx zb;3aRPFXs^CSgMQ{#$*-Q5>Mvk>J1-+|$jX9Y|)fV=Q0Bm6)&@I^SK``vgF#-LK{b_nz?GUVg@>5h9>$bhs*CZPRFDx zN$yuB0*bM`P-OOF(d|v+=6SU+j)W{_ze^HHZfxQ{U2N1gftqh-L=i&^{*po>3_m~g zXD9Z3r#xe`6obz zkwImOUV@tNkxTh9r%Nu6WN+{~OVc%M%$^bH&gB&T3aK>fNPnRoD2?gQ;ob{dR8paZ z;O1>o+h|M`e=6IuH&WWBJ`8Asdm9Wf3`1zX{R(YM8r{*F-f+`?adWX;5Vq1P4QzVg z)MCGWJ9$CsT3Eq#<_E(m1Dz?qz3Dis+-#^WhyNl^Z{P81vdR$Wz?{VWVK@F(yOds? z{HtpYel@m{mFl$8`&m6k-(rd3Wi8^4QP{HaZ%D_goLi6^xlc-K6BpD5pIHEz+tR>K zh$vjO!ud^=ti?H#kkuP?DJg~h#QelK=qedxG6b)@Y<=J@Bwn~isWhN}GlEzS{a+L39>>dFk9_PlPiT-YcXV6?i9!WQ znz9E5eHqimz-b96A>q znASTWZ5pmy!#4tdPW1f~m8IDb8&Z+`$yooDPvV||;ZCGRz_-|yX!oKk?zgynEvh`Q zpZl-rvnF9?epWv?e6BrsN#tJRjEcoTNzGS{up%iOS;>#aZPhRPz}83KD3Oed;Dqr8BJs3{O{vk|RACs4*$YwEGhPCq48KK;$lEwk* ztj$vjBUiu0BAxF-<%U~CU?LKa^+6kzn(I<@glp1u@ON?=LHTce2r2#ffj7Ej6+>+#Ax_F;_(O1i3daFgRe!L zuFd#(u8&Z5VMv49KRiTl(S37VgE_^EeV(z9nSK;K#NNK|vFa`TEzk9cZTN_jM7l@D zMxB6(Q{;_}mAi)zOROAhim(>~>?vf(AI`W%72MO=xe4F*PhK+|+l259w?^U5os^Zc`qfBLwS;e1q0mvw zufY~Y2NA-bP>@E5MBOe3tP1wtR#4dlI<(Nwh8n0qBtqq-k@CV?beR^V3#z4fIfY+r zG8?V6zxKg`azsNjP$jR$+ZIG55D0(`2rla1o2Y*$1>|Iw6&w-f0C~}TCJ!NE7b>{Eq)@BEccupF|Dyc2G@7CnD&U+%1-J8VP?=zh0IU9hG$popg=X1m`EgQRlAro87 zu)p?ej)4TWs~6wW6;WPB=$2b$inw%sta|@%`s>&M@qt+4~su6dltOkjuPuA5u6VziZ1+Z)p-OdDMqAiXP;(KQH^XoB>;^VosoYQ0#i=1_>7z&& z0qyX_rw7ajk5(cLbDU z8|Z^D1X4&O?|h)~2XMkqE5yOLi31(e2l@297Vqux!J);}v#pAPDBzYZEVL3si1>;E z^1nCWi{phJ(h2!&%3^csaXj)3v(xC<{7pt*R0t$&40RWIzSG>if6$U=vRxq|al71P zsz7mf*D^VJj5_VJ7iwmYK=>FBjv_^<J`PgwKX(w0O0@e z9cTN@^G(g4j8QYF@o_^y-6^8O-oXKFFk0Dlb><+1c!3AVuKN0VBpeE?o*vw1a+%yc zIOu8xKB+7MyN~VK40zpchpsO|^hzUv>i}c7j$Cil83cIy?A8~|{rErND13lQo-XEZ zW`NW0nPC*c))-H~`EH-k^zQ@b+2PqUYo&?{NF+FABSM93#xjA)b7}aiy)OZhYh`w{ zudR5lFdbKOUx0SrI5i)xNq|%r?nPl$V)Wfh~QY;JKB%D@xgo9AIhG5 z3;FXP1OR`i#JUoj8t(HO&(nQ^g+A_E$|w?3M2$S%Sb|1D_Tj^Gj&nMq+ZXr~chKt& zc#QDIv%`^Y;#qF?Q_Rk=2?%ulepP^@2OJS@P|ZXBx%A>5vOs1^JO0Q>AKQY_RvfBq zh7it~qf*_(ot&Ic^B-DV>E4q0{!VJ5Gm>$(-(uX)K7Gk!0ty|U+J>_?{;*kaxqO_> zSncTIowi1srHZ)s$R_Ay7JnMl_COVEE3g@&=3p6&#zo;_QGL|&AMCSV(){8#)K~6` zAYF{h_5h%yT3`O3)$Hua$@uuYrGMwB1t*agu^PT5xj+G<#5;L~;>5QbEpzLV($VEBRLH&XjFmYD^IAf5mzXTa1qGdq<+?lHmXkD1ug{0?6|)zB z`ks77^c0|)=jO|6&`?RJ_7p3&OG;u2%xA7}F(@cu%!8hDb=`SHRlQVO`{l1k7&R5|5i7Yv^Vj1?$xjVbRNI} z8>h_g-58f-r?~hC<5SH}D1wAV-Bal2gb)u}$7g4ERJU%o3n|^tGj^2TN-mlKXE;xBS%BS@w1Ik1_-1=!qt7M-A( zW63!KY@;I4tDTtv-SA&UGsCmtbj<~m60c%SGcf<%L)Z!TTvI7XvEXUS2Az#2<|iA> zJYZ74dG2Lo^k>0p{pK_Ou2sjh*T=tlfAwEW-{qA|U zGg+c@cJpT|nLkINJU>{<1vj#e35<8@W>f$}ql`JEAJ+#yb9|Hqli>l*pVpS~5xN1A z`u=^9Ob;A5+aB15?IW7ihG0`b+O`FjJ4CL4vX=(#xCuLtBM zP=JueFDrjb|AjwswF-ulZ)d9W0>`qmrc7Y1xX^2Db6SDM)xcLQTL9L$e~h06YHC~G zyLf20Ds*QYCOhoUhrrI8PgZn#0e&z{Tzq&)NjxK#SP zt=1l-YjuTbl&V${nuVB0L7JBH!I9=%roU0$9d8Q8l?e?eyVT}>o{tTGm0~cyvzNBb z4Icg81!M&fxH_rr6R`m0$2I)lIU6cLTUIrd5$C77U}8nosB%|lCv<0_zQ-H&yFVU( zaBypzsV1P??h}<;DXYs5n^y1ecDoh*JB^16Xvi$ccS*`kQRf#4kEb^d$pR){Z2Liu zzvWfdf7k%Ms2AM7;Lh#QPWc8woys+vnSsXADqc-h0qfe5X{&XZyIxyO3n*+rcl5{8 zi;HA9dKE|f5A;O57@kQ@dh_pq5E{=`l1c~5IGcZMyqj8H#kiF}x#0v&YJ(vqml7lbxSX zc$y{V)%MU*Nu-*4a1QvE{t8k*Ow&431D4g6011IuH&<@e00LGywQIx4c|E;&a>8FT z&i^y85aniec_)kv&9g zeH0CXR#SRB03R34JHK;d0;&cE;FKymF!D{nVg6pxj)A`P#Q+?pH@nBo_$+%E^cfm$ zVZ1%N3qwQL({THDDiqI_*KpV$$`52111pQ;zBmbGx{tXepUlo~Mf9B}Zz$OyW-<+^ z*`r528pcttOL}lgZzlTgCI33?Z^@J^XD==Um1Sm>Q$M5BvABetu|;g=8zcoNrIl0v zR$(ldyq;qcdGy&lz4m6}-5!<{3ig(EAf^IJmsy^kU-dY~*^2FDt}EOu`$GVx=4LqI zLp#I%4SLF)@1BMO*iW&dN?pkx9h$)4>ZvT|cEB!46L{tQwAA--KPkeFocyqVXE&*E zI{8;Z#K5aE^Q_lQLA(85p~~2qaDm0*irJ@@GTSHk2>({x{@lc`Ux(0#0-HtK)VuaU zOcWm|jtZcTCaD_@YVnUBgCox~10mtzajtKgnHgN-zm?|*E(tt}`n|oqJ)e_g=X-Cl z)|^3o!W+2b3q5L4VciE$RtPQykYKuPa##3rz?9fts6>?&X&}PlvO+UAWA&HqC_&Io!OrSUo>)Pc1u4a zf9iS@qOV4ypMKQZHxC&wSxt{Ota-fc#l2$hx%%RJMf62XlVZ`d9-YXOK*g}O5BWXn@Bu6JLk!`o5(iX!r3r9Pc0^#XJ@ys$8@FE z+IWVCM-GNeC@U~?LZYHP5l2DcTTOYgCh3+IVWiUsD>HMRZf=o1_7i^q{AW448$dcc zKyjVzp1frb2;f5(riG3!xn92BX?d7y{R)Kmf8>e2nTO_UfB} zE=g&9`kF)WLH5_uYTc8da1oqR-X!d#ttBb#E>?+k!_7!4HmLF}G4ZWU?#q$sh%gd| zk|{!)dQ@?7NOr2=42R1+M(ul2)9T-HD|QbhV_^<5Kq0Y3f5|RqBN3Rt{lxWU0LWG? z-rtfx(jF55oB@tHCttiFW6>8|=m_GuErx0?(HGtAgS!0H2aN-;C*?ip0Pyq?CqLIi+BRWvst6)Rtv8eT>R>M>3OvOPrha#3@Y#f@`Tm~zC@*zsRD5Q zyuiJB#JWpk`98|lm>Z_8-Ma6MYS}+XWO|AA-7j>au?$K-x%~Y}!@lkVtMGxj!}ZbZ zXDPhC7IWrb5VxOTYE?!8K!DB|Fmt0?0*q4ZH{YP;A!q&l%AtVkVRJtN6*1-AEqGO$ z1l`-2>AFG}4J|CBw?nVUZU>Gn0exqbZ_h=JDB^c#u&)bOBFfmJw??=x%k(0;RNY#1 z(-=aMB}oc@xbw!eW2#t)&0Yq!%u`y;r5Wg={HX-S%Tbf^6dN3c*C&~jID3;U0#ruNh7^#2odUYA~bA8$$1<<cjoXnX*Y=v$-P8@i+Cn z>d;zU^SNIDIB)W&$D8MuZN@Y>3q0Qi{A%$Ql#Zj$GY^A6fZ<#$b`B{6V?2vW)(~kw z00JOy{+}oun$+6=C!_<=Qr`edW&P@!8|SANE4JZ1&mIc=1)k#~f7&dXNtIsB&KB>R zv&7T+B6XC_K_oB{lllE1B;m72@d-Zpsr=nUuhD@NBI{u9P4{91hg;q7=a0-{kQGgH zRd1kPedd{f-9gMPpAp^u>a*AG?Zm|wvB%T^7=W7|7?LF%ZO|60`<@-2Y{N`s8#MP43KH{Y@8#bxRBabIMk(H${ z()gV3|4c1O{~GHUTHp1QKN$SMvG+xh2m{;U2A7yMQ=pb+>~#f0jwBjpThp|?5~`{|2s$ zK49k93sN~CTruUQnJ6<7sEsb|2L$70(nd~gZi*8D=aI3TtLYbOHV3KQ(m!@p#iZf;MAH*?_RzEwEuuFO@n9pCCaz8*PLkrJHadMwfdspLbC&mN2(>fC2w@H!tB1djr7U^3tIu_XV~28<%Wv!*>24I zK}gqoHQjrzZ0@e0s+F^@zjKKn4}zp5PHi0O!+D7<0w5S{%Hb{y;4Lt%@|SJ=CPvTc znnfiTZZ$+(lwF{4X!r7Ii}_ z6xi4ztTC!zJ#|Hc!c>IR#ETJy3QwNkIX;#H8;+R@uO6UUs_5=ta){W;ipyd+ys80e zG&-I>R+V($w);@m_6EX0c_s8liTsIGi`^Gd9lmKBsw^qwU(&(;6SGK2n9bWkp>-fe zIdb+VSGwP#5c(jzU?UU`9iPu^2^a(VQEWKed`ii;xRk20);c>&fMVGx2!n)?j%Q(O zKq*qjx|2Sxy5aw0Ii5RJ%RM0OUhnzEUoqht;!4VU|8n+B=;A@{379#ie_?F3G?%T6mrva5uD8 zG+JwV((hrjmFar)+ZNs164{^3wLR2)1Y9VRxx0dS06O&Kgxw}+m5;-OcOys*I}Z>i z@%Y`XvP|by+3oR@S%ptWVgH?#*kJ#TRRB>b>xD=10mV>O+YKyWt-7`cpf6p_=Cc+= zIM`=6Eft`sh#_&s?+wBLsE);A0TvH&_q6>}<`k^)%U8BRX+x1c7p|Jk^tXEHg^qiL zRc|MKYFQ~wuX4*<4foz@{1s=J{oZwNyRY*b<6puWN}W6CM~Z^6cJq8m^W%0JJuhQG z`1h9o6;X9eSB;N|*hG2&sQK}J2+Fq$2<)e))F1vusNvQCBZYMxuj!#4?b}V6tEU!7?kjtGrY# znAEqe!M4^r05XuXR?b|Fh*eNj*HUz?6#KsaN9*92?fw3g2(btQaqw zACoTmKh<(6;}sL(bQh>2VxwyTVKJYDeSm-l0-Jd8+Va-!t^oOBd!In)#-MgP^Csy^ z$6E3x-S3TqT5aCEw*p8pW7_i@G=| z0Dy$b`OW}n3w5A!{t8fC3kO1gKv45c1Q{)C@+;I9Nr` zBBR2?sWKUDV>aTNs^>#cp`lNVJQmgROn|Cx@ubF-{W&LRh)w#Z77sglv5@!tydhK1 zw1Y>T#ib;v;v}U+kf$cs}{OsDr2l1SykW&W*rM(>u^-{68Oh9;5;} zBnn7C^cPIY3MM(muoDPhe=WRa3QV@Nb>}o{&zmg$9v&Xmld^wAtnYcj!0-~&KM_ww z3^>VxuE&otSMg!hBm_j3(L^dx+H0lQ^WKxz4FyhdtZl zpTIzSW`J7W3SU|L{Bk!2K|>SoM$f`gV^hN{Qe+}q02Cd7j6!ddznl8DjmXHSaNe$k zjp*5gOX`oWSDo0@G%&l!9qqJ)s2wtK<#1iS6F%sl|8{40cQ>pnf66^#5__(em}guu z_qJ>KcEDtD#Ht2tl6<-i2C9u8FKO;^|0cCy9Mqy9JB5H$yt>b z2zfD#!(f&23-W=-teBVkl@p9R4E0ROWow`z1pVn86yu#xTKcSpZhVe z3iI){H!7s_M#YqSv}9y5JiXEeqnE9?3$W$z?xd_m>uigx6Qys+%F1@-T6i{a?dx{< z6s)$YbuA1SUk_LHAu#jYk~*I?amb%-e~|78oKPpKaL@KFN(wY`fLO1;4BP-X$3TE-btTwMgw#K&uCU zI|XBBXQU8dM1kOA(aV0HJ#=QzU(Gw`y8!9%O+ge1e|-AmA(I$D?qZ3EmUH4TOKE5% z6ORaef${c+(zKYBCk-2SBIU&q>VScLAtf;&YSI;T*V%l|d<+{xI6eM`#4G@56$iAO z05z}w8VbIvy2iVBJix-4{Iu+Js7Loix}*WoPHJQAtSgi9z6$az(xkeLgRxSitn}gL zt4?j^h{gR>0rgK2^K2dlU_k@k{G78^fu~KsQ7TW;X^@zD}~IbH*IGbO z-cDNQCI!3B!-*29=8lq#+Ic#8;MqRbmcq31>UpZ|Qj1-u%W7R?ZH<1EXrL;6vOXds z=rVYthL+Oz>jQhi@AQdNKsSn#lTCw*N;boyd(8(h-DDOhsmD?4`Syw0*1eJFGWZRv z%bi=o4IwX%VPNWeuVde&7Or#H5{RDXsq$Dm+RG$SBB5^#eT#fFobq<~`i(^l8jR+p zdKb@MdaoSlkpg$f(m_Z^BNN7-Vae+$i*buU;!&JYM#l`vX9e!fiQcS$Z% z4;rTn$j9z~>ay->%Co~H1Uhk7oEg}}-Z!xD=ak^g4M@5CS4i5vh;v&MAhf7c^mLv@U07d>kt|L2o7h1K7VAVwn^fomY!Xmm zUhK{WdUlltDLYKJU10YYBGEu=IZ4zAm~nkFZ_&1xnbXOhF%ba5Dmj*ZDDUa&R#9vc zukgF|k1LVgKO8KY7M#xUsRCCd_0Hk}e`@QRsnU)953l4-)~;OND*+B^MFrzup65Is z8cu^YsUmK7Eni_P8~}z06`Y)Jp-ijEo~fp;{cUWZtNCebv;1Xw5u7?BjRG0KAe+B| zWoSpRu2z_C-~}F5(0$QA6-8mUOz8Eai+=9gy1#`V<>xo(wqB_?!PmVXX`< z(^q81mJ|uAW3t-jJ{bZS>XnRAF0dkX(&D{P4N{Sx+JsFra&<(Q>0Ud3hL1b=aH5usM_ z(DUhkbUqp2DzDD$?|ULR;SwL*DJg0DKHu>?fHRtY&%B*;EslCg{^AsHH&`XIfXTlA z#=Q$J`{;*FM|Y3NFt0_%HLUZ4Fiwrv?by%W6+I+ueL+50sQi)}7zt3($)v39ZHdh9 zALLtXW{6Y)i&3O0a@%}Tz7$_bSS1uts|YZ7otzf1H=7(C&G+NElk#{`sSVgRBy5Rl+w$DD!XHLM@8X4>)@x)wMTN!P-|gYQK$ZVAkYVq ze38LV0s}ER7US43&*tvVPP=>=C`Zx2m6sb)7pdfxKsvGY8sQ#e(9{S+v hf"] - } - } -} diff --git a/plugins/template/plugin.py b/plugins/template/plugin.py deleted file mode 100644 index c52c0ff..0000000 --- a/plugins/template/plugin.py +++ /dev/null @@ -1,51 +0,0 @@ -# Python imports -import os -import threading -import subprocess -import time - -# Lib imports -import gi -gi.require_version('Gtk', '3.0') -from gi.repository import Gtk - -# Application imports -from plugins.plugin_base import PluginBase - - - - -# NOTE: Threads WILL NOT die with parent's destruction. -def threaded(fn): - def wrapper(*args, **kwargs): - threading.Thread(target=fn, args=args, kwargs=kwargs, daemon=False).start() - return wrapper - -# NOTE: Threads WILL die with parent's destruction. -def daemon_threaded(fn): - def wrapper(*args, **kwargs): - threading.Thread(target=fn, args=args, kwargs=kwargs, daemon=True).start() - return wrapper - - - - -class Plugin(PluginBase): - def __init__(self): - super().__init__() - - self.name = "Example Plugin" # NOTE: Need to remove after establishing private bidirectional 1-1 message bus - # where self.name should not be needed for message comms - - - def generate_reference_ui_element(self): - button = Gtk.Button(label=self.name) - button.connect("button-release-event", self.send_message) - return button - - def run(self): - ... - - def send_message(self, widget=None, eve=None): - message = "Hello, World!" - event_system.emit("display_message", ("warning", message, None)) diff --git a/src/__builtins__.py b/src/__builtins__.py index c7b3d32..e2c02ca 100644 --- a/src/__builtins__.py +++ b/src/__builtins__.py @@ -29,7 +29,7 @@ def daemon_threaded_wrapper(fn): # NOTE: Just reminding myself we can add to builtins two different ways... # __builtins__.update({"event_system": Builtins()}) -builtins.app_name = "" +builtins.app_name = "Pulstar" builtins.keybindings = Keybindings() builtins.event_system = EventSystem() builtins.endpoint_registry = EndpointRegistry() diff --git a/src/core/containers/base_container.py b/src/core/containers/base_container.py index 272f744..5268b9c 100644 --- a/src/core/containers/base_container.py +++ b/src/core/containers/base_container.py @@ -4,19 +4,28 @@ import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk +from gi.repository import GLib # Application imports - +from utils.pulsectl import pulsectl +from ..widgets.audio_sink import AudioSink class BaseContainer(Gtk.Box): def __init__(self): super(BaseContainer, self).__init__() - self._builder = settings.get_builder() + self._scroll = None + self._box = None + + self.pulse = None + self.pulse_events = None + self.sink_inputs = None + self.pause_sink = False self._setup_styling() self._setup_signals() + self._subscribe_to_events() self._load_widgets() self.show_all() @@ -24,20 +33,97 @@ class BaseContainer(Gtk.Box): def _setup_styling(self): self.set_orientation(Gtk.Orientation.VERTICAL) + self.set_margin_top(10) + self.set_margin_bottom(10) + self.set_margin_left(10) + self.set_margin_right(10) def _setup_signals(self): ... + def _subscribe_to_events(self): + event_system.subscribe("handle_new_sync_input", self._handle_new_sync_input) + event_system.subscribe("handle_del_sync_input", self._handle_del_sync_input) + event_system.subscribe("handle_cng_sync_input", self._handle_cng_sync_input) + def _load_widgets(self): - glade_box = self._builder.get_object("glade_box") - button = Gtk.Button(label="Click Me!") + scroll = Gtk.ScrolledWindow() + viewport = Gtk.Viewport() + box = Gtk.Box() + scroll.add(viewport) + viewport.add(box) - button.connect("clicked", self._hello_world) + try: + pulse = pulsectl.Pulse() + self.pulse_events = pulsectl.Pulse('event-printer') + si, sink_inputs, modules, clients, sink_list = pulse.server_info(), pulse.sink_input_list(), pulse.module_list(), pulse.client_list(), pulse.sink_list() - self.add(button) - self.add(glade_box) + logger.debug(f"\n\nServer Info\n{si}\n\nSink Inputs:") + for sink in sink_list: + self.add( AudioSink(pulse, sink) ) + self.pulse = pulse + self.sink_inputs = sink_inputs + for sink_input in sink_inputs: + box.add( AudioSink(pulse, sink_input) ) + except Exception as e: + logger.debug(f"{e}") + self._box = box + self._scroll = scroll.get_vadjustment() - def _hello_world(self, widget=None, eve=None): - logger.debug("Hello, World!") + self._scroll.connect("changed", self._scroll_to_bottom) + + scroll.set_vexpand(True) + scroll.set_overlay_scrolling(False) + scroll.set_margin_top(20) + scroll.set_margin_bottom(10) + box.set_orientation(Gtk.Orientation.VERTICAL) + self.add(scroll) + + self.set_pulse_event_listener() + + def _handle_new_sync_input(self, index): + sink_input = self.pulse.sink_input_list()[-1] + self._box.add( AudioSink(self.pulse, sink_input) ) + + def _handle_del_sync_input(self, index): + for sink_input in self.sink_inputs: + if index == sink_input.index: + self.sink_inputs.remove(sink_input) + + for child in self._box.get_children(): + if index == child.sink.index: + child.destroy() + + def _handle_cng_sync_input(self, index): + for child in self._box.get_children(): + if index == child.sink.index: + child.do_update() + + def _scroll_to_bottom(self, adjustment): + self._scroll.set_value( adjustment.get_upper() ) + + @daemon_threaded + def set_pulse_event_listener(self): + try: + self.pulse_events.event_mask_set('all') + self.pulse_events.event_callback_set(self._sub_threaded_event) + self.pulse_events.event_listen(timeout = 0) + except Exception as e: + logger.debug(f"{e}") + + def _sub_threaded_event(self, eve): + logger.debug(f"Pulse event: {eve}") + GLib.idle_add(self.handle_event, *(eve,)) + + def handle_event(self, eve): + if eve.facility == "sink_input": + if eve.t == "change": + event_system.emit("handle_cng_sync_input", (eve.index,)) + + if eve.t == "new": + event_system.emit("handle_new_sync_input", (eve.index,)) + + if eve.t == "remove": + event_system.emit("handle_del_sync_input", (eve.index,)) diff --git a/src/core/controller.py b/src/core/controller.py index 6d7c8c3..7909b69 100644 --- a/src/core/controller.py +++ b/src/core/controller.py @@ -4,20 +4,15 @@ import os # Lib imports import gi gi.require_version('Gtk', '3.0') -gi.require_version('Gdk', '3.0') from gi.repository import Gtk -from gi.repository import Gdk -from gi.repository import GLib # Application imports -from .mixins.signals_mixins import SignalsMixins -from .mixins.dummy_mixin import DummyMixin from .controller_data import ControllerData from .containers.base_container import BaseContainer -class Controller(DummyMixin, SignalsMixins, ControllerData): +class Controller(ControllerData): def __init__(self, args, unknownargs): self.setup_controller_data() @@ -25,44 +20,21 @@ class Controller(DummyMixin, SignalsMixins, ControllerData): self._setup_signals() self._subscribe_to_events() - self.print_hello_world() # A mixin method from the DummyMixin file - - if args.no_plugins == "false": - self.plugins.launch_plugins() - - for arg in unknownargs + [args.new_tab,]: - if os.path.isfile(arg): - message = f"FILE|{arg}" - event_system.emit("post_file_to_ipc", message) - - if os.path.isdir(arg): - message = f"DIR|{arg}" - event_system.emit("post_file_to_ipc", message) - - logger.info(f"Made it past {self.__class__} loading...") - def _setup_styling(self): ... def _setup_signals(self): - self.window.connect("focus-out-event", self.unset_keys_and_data) - self.window.connect("key-press-event", self.on_global_key_press_controller) - self.window.connect("key-release-event", self.on_global_key_release_controller) + ... def _subscribe_to_events(self): - event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) - event_system.subscribe("handle_dir_from_ipc", self.handle_dir_from_ipc) event_system.subscribe("tggl_top_main_menubar", self._tggl_top_main_menubar) def _tggl_top_main_menubar(self): logger.debug("_tggl_top_main_menubar > stub...") def setup_builder_and_container(self): - self.builder = Gtk.Builder() - self.builder.add_from_file(settings.get_glade_file()) - self.builder.expose_object("main_window", self.window) - + self.builder = Gtk.Builder() settings.set_builder(self.builder) self.base_container = BaseContainer() diff --git a/src/core/controller_data.py b/src/core/controller_data.py index 5e11284..52f01c5 100644 --- a/src/core/controller_data.py +++ b/src/core/controller_data.py @@ -5,7 +5,6 @@ import subprocess # Lib imports # Application imports -from plugins.plugins_controller import PluginsController @@ -22,7 +21,6 @@ class ControllerData: self.alt_down = False self.setup_builder_and_container() - self.plugins = PluginsController() def clear_console(self) -> None: diff --git a/src/core/mixins/__init__.py b/src/core/mixins/__init__.py deleted file mode 100644 index 4589fc7..0000000 --- a/src/core/mixins/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" - Generic Mixins Module -""" diff --git a/src/core/mixins/dummy_mixin.py b/src/core/mixins/dummy_mixin.py deleted file mode 100644 index ff09700..0000000 --- a/src/core/mixins/dummy_mixin.py +++ /dev/null @@ -1,13 +0,0 @@ -# Python imports - -# Lib imports - -# Application imports - - - -class DummyMixin: - """ DummyMixin is an example of how mixins are used and structured in a project. """ - - def print_hello_world(self) -> None: - logger.debug("Hello, World!") diff --git a/src/core/mixins/signals/__init__.py b/src/core/mixins/signals/__init__.py deleted file mode 100644 index 03c3ec2..0000000 --- a/src/core/mixins/signals/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" - Signals module -""" diff --git a/src/core/mixins/signals/ipc_signals_mixin.py b/src/core/mixins/signals/ipc_signals_mixin.py deleted file mode 100644 index bbabd1e..0000000 --- a/src/core/mixins/signals/ipc_signals_mixin.py +++ /dev/null @@ -1,20 +0,0 @@ -# Python imports - -# Lib imports - -# Application imports - - - - -class IPCSignalsMixin: - """ IPCSignalsMixin handle messages from another starting solarfm process. """ - - def print_to_console(self, message=None): - logger.debug(message) - - def handle_file_from_ipc(self, path: str) -> None: - logger.debug(f"File From IPC: {path}") - - def handle_dir_from_ipc(self, path: str) -> None: - logger.debug(f"Dir From IPC: {path}") \ No newline at end of file diff --git a/src/core/mixins/signals/keyboard_signals_mixin.py b/src/core/mixins/signals/keyboard_signals_mixin.py deleted file mode 100644 index 1a99277..0000000 --- a/src/core/mixins/signals/keyboard_signals_mixin.py +++ /dev/null @@ -1,94 +0,0 @@ -# Python imports -import re - -# Lib imports -import gi -gi.require_version('Gtk', '3.0') -gi.require_version('Gdk', '3.0') -from gi.repository import Gtk -from gi.repository import Gdk - -# Application imports - - - -valid_keyvalue_pat = re.compile(r"[a-z0-9A-Z-_\[\]\(\)\| ]") - - - -class KeyboardSignalsMixin: - """ KeyboardSignalsMixin keyboard hooks controller. """ - - # TODO: Need to set methods that use this to somehow check the keybindings state instead. - def unset_keys_and_data(self, widget=None, eve=None): - self.ctrl_down = False - self.shift_down = False - self.alt_down = False - - def on_global_key_press_controller(self, eve, user_data): - keyname = Gdk.keyval_name(user_data.keyval).lower() - modifiers = Gdk.ModifierType(user_data.get_state() & ~Gdk.ModifierType.LOCK_MASK) - - self.was_midified_key = True if modifiers != 0 else False - - if keyname.replace("_l", "").replace("_r", "") in ["control", "alt", "shift"]: - if "control" in keyname: - self.ctrl_down = True - if "shift" in keyname: - self.shift_down = True - if "alt" in keyname: - self.alt_down = True - - def on_global_key_release_controller(self, widget, event): - """ Handler for keyboard events """ - keyname = Gdk.keyval_name(event.keyval).lower() - modifiers = Gdk.ModifierType(event.get_state() & ~Gdk.ModifierType.LOCK_MASK) - - if keyname.replace("_l", "").replace("_r", "") in ["control", "alt", "shift"]: - should_return = self.was_midified_key and (self.ctrl_down or self.shift_down or self.alt_down) - - if "control" in keyname: - self.ctrl_down = False - if "shift" in keyname: - self.shift_down = False - if "alt" in keyname: - self.alt_down = False - - # NOTE: In effect a filter after releasing a modifier and we have a modifier mapped - if should_return: - self.was_midified_key = False - return - - mapping = keybindings.lookup(event) - logger.debug(f"on_global_key_release_controller > key > {keyname}") - logger.debug(f"on_global_key_release_controller > keyval > {event.keyval}") - logger.debug(f"on_global_key_release_controller > mapping > {mapping}") - - if mapping: - # See if in controller scope - try: - getattr(self, mapping)() - return True - except Exception: - # Must be plugins scope, event call, OR we forgot to add method to controller scope - if "||" in mapping: - sender, eve_type = mapping.split("||") - else: - sender = "" - eve_type = mapping - - self.handle_key_event_system(sender, eve_type) - else: - logger.debug(f"on_global_key_release_controller > key > {keyname}") - - if self.ctrl_down: - if not keyname in ["1", "kp_1", "2", "kp_2", "3", "kp_3", "4", "kp_4"]: - self.handle_key_event_system(None, mapping) - else: - ... - - def handle_key_event_system(self, sender, eve_type): - event_system.emit(eve_type) - - def keyboard_close_tab(self): - ... diff --git a/src/core/mixins/signals_mixins.py b/src/core/mixins/signals_mixins.py deleted file mode 100644 index 76515f6..0000000 --- a/src/core/mixins/signals_mixins.py +++ /dev/null @@ -1,13 +0,0 @@ -# Python imports - -# Lib imports -from .signals.ipc_signals_mixin import IPCSignalsMixin -from .signals.keyboard_signals_mixin import KeyboardSignalsMixin - -# Application imports - - - - -class SignalsMixins(KeyboardSignalsMixin, IPCSignalsMixin): - ... diff --git a/src/core/widgets/audio_sink.py b/src/core/widgets/audio_sink.py new file mode 100644 index 0000000..c71440f --- /dev/null +++ b/src/core/widgets/audio_sink.py @@ -0,0 +1,120 @@ +# Python imports + +# Lib imports +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk + +# Application imports + + + +class AudioSink(Gtk.Box): + """docstring for AudioSink.""" + + def __init__(self, pulse, sink): + super(AudioSink, self).__init__() + + self._scale = None + self._mute_btn = None + self.pulse = pulse + self.sink = sink + self.min_range = 0 + self.max_range = 150 + self.muted = False + self.block_update = False + + self._setup_styling() + self._setup_signals() + self._load_widgets() + + self.show_all() + + + def _setup_styling(self): + self.set_orientation(Gtk.Orientation.VERTICAL) + self.set_margin_top(10) + self.set_margin_bottom(10) + + def _setup_signals(self): + ... + + def _load_widgets(self): + current_lvl = self.sink.volume.values[0] * 100 + box = Gtk.Box() + label = Gtk.Label() + scale = Gtk.Scale.new_with_range(Gtk.Orientation.HORIZONTAL, self.min_range, self.max_range, 1) + mute_btn = Gtk.Button() + self.muted = False if self.sink.mute == 0 else True + + # logger.debug(f"{self.sink.proplist}") + try: + name = self.sink.description + except Exception as e: + name = self.sink.proplist["application.name"] + + label.set_text(name) + label.set_xalign(0.0) + scale.add_mark(0.0, Gtk.PositionType.BOTTOM, "Silence") + scale.add_mark(50.0, Gtk.PositionType.BOTTOM, "50%") + scale.add_mark(100.0, Gtk.PositionType.BOTTOM, "100%") + scale.set_value(current_lvl) + + scale.set_hexpand(True) + box.set_orientation(Gtk.Orientation.HORIZONTAL) + mute_btn.set_margin_left(10) + self.set_mute_image(mute_btn) + + scale.connect("value-changed", self.set_volume) + mute_btn.connect("clicked", self.toggle_mute) + mute_btn.set_tooltip_text("Mute...") + + self._scale = scale + self._mute_btn = mute_btn + + self.add(label) + box.add(scale) + box.add(mute_btn) + self.add(box) + + + def set_volume(self, range): + if self.block_update: + return + + value = range.get_value() / 100 + sink_vol_info = self.sink.volume + new_level = [] + + for level in sink_vol_info.values: + new_level.append(value) + + sink_vol_info.values = new_level + self.pulse.sink_input_volume_set(self.sink.index, sink_vol_info) + + def toggle_mute(self, widget = None, eve = None): + self.muted = not self.muted + self.set_mute_image(widget) + self.pulse.sink_input_mute(self.sink.index, mute=self.muted) + + def set_mute_image(self, mute_btn): + if self.muted: + mute_btn.set_image( Gtk.Image.new_from_icon_name("gtk-disconnect", 3) ) + else: + mute_btn.set_image( Gtk.Image.new_from_icon_name("gtk-connect", 3) ) + + def do_update(self): + self.block_update = True + + sink_inputs = self.pulse.sink_input_list() + for sink_input in sink_inputs: + if sink_input.index == self.sink.index: + self.sink = sink_input + + sink_vol_info = self.sink.volume.values + self.muted = False if self.sink.mute == 0 else True + + self.set_mute_image(self._mute_btn) + self._scale.set_value( sink_vol_info[0] * 100 ) + + self.block_update = False diff --git a/src/plugins/__init__.py b/src/plugins/__init__.py deleted file mode 100644 index 5624b32..0000000 --- a/src/plugins/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" - Gtk Bound Plugins Module -""" diff --git a/src/plugins/manifest.py b/src/plugins/manifest.py deleted file mode 100644 index 4088eed..0000000 --- a/src/plugins/manifest.py +++ /dev/null @@ -1,64 +0,0 @@ -# Python imports -import os -import json -from os.path import join - -# Lib imports - -# Application imports - - - - -class ManifestProcessor(Exception): - ... - - -class Plugin: - path: str = None - name: str = None - author: str = None - version: str = None - support: str = None - requests:{} = None - reference: type = None - - -class ManifestProcessor: - def __init__(self, path, builder): - manifest = join(path, "manifest.json") - if not os.path.exists(manifest): - raise Exception("Invalid Plugin Structure: Plugin doesn't have 'manifest.json'. Aboarting load...") - - self._path = path - self._builder = builder - with open(manifest) as f: - data = json.load(f) - self._manifest = data["manifest"] - self._plugin = self.collect_info() - - def collect_info(self) -> Plugin: - plugin = Plugin() - plugin.path = self._path - plugin.name = self._manifest["name"] - plugin.author = self._manifest["author"] - plugin.version = self._manifest["version"] - plugin.support = self._manifest["support"] - plugin.requests = self._manifest["requests"] - - return plugin - - def get_loading_data(self): - loading_data = {} - requests = self._plugin.requests - keys = requests.keys() - - if "pass_events" in keys: - if requests["pass_events"] in ["true"]: - loading_data["pass_events"] = True - - if "bind_keys" in keys: - if isinstance(requests["bind_keys"], list): - loading_data["bind_keys"] = requests["bind_keys"] - - return self._plugin, loading_data diff --git a/src/plugins/plugin_base.py b/src/plugins/plugin_base.py deleted file mode 100644 index 3130bb4..0000000 --- a/src/plugins/plugin_base.py +++ /dev/null @@ -1,61 +0,0 @@ -# Python imports -import os -import time - -# Lib imports - -# Application imports - - -class PluginBaseException(Exception): - ... - - -class PluginBase: - def __init__(self): - self.name = "Example Plugin" # NOTE: Need to remove after establishing private bidirectional 1-1 message bus - # where self.name should not be needed for message comms - - self._builder = None - self._ui_objects = None - self._event_system = None - - - def run(self): - """ - Must define regardless if needed and can 'pass' if plugin doesn't need it. - Is intended to be used to setup internal signals or custom Gtk Builders/UI logic. - """ - raise PluginBaseException("Method hasn't been overriden...") - - def generate_reference_ui_element(self): - """ - Requests Key: 'ui_target': "plugin_control_list", - Must define regardless if needed and can 'pass' if plugin doesn't use it. - Must return a widget if "ui_target" is set. - """ - raise PluginBaseException("Method hasn't been overriden...") - - def set_event_system(self, event_system): - """ - Requests Key: 'pass_events': "true" - Must define in plugin if "pass_events" is set to "true" string. - """ - self._event_system = event_system - - def set_ui_object_collection(self, ui_objects): - """ - Requests Key: "pass_ui_objects": [""] - Request reference to a UI component. Will be passed back as array to plugin. - Must define in plugin if set and an array of valid glade UI IDs is given. - """ - self._ui_objects = ui_objects - - def subscribe_to_events(self): - ... - - - def clear_children(self, widget: type) -> None: - """ Clear children of a gtk widget. """ - for child in widget.get_children(): - widget.remove(child) diff --git a/src/plugins/plugins_controller.py b/src/plugins/plugins_controller.py deleted file mode 100644 index 8e1fad2..0000000 --- a/src/plugins/plugins_controller.py +++ /dev/null @@ -1,118 +0,0 @@ -# Python imports -import os -import sys -import importlib -import traceback -from os.path import join -from os.path import isdir - -# Lib imports -import gi -gi.require_version('Gtk', '3.0') -from gi.repository import Gtk -from gi.repository import Gio - -# Application imports -from .manifest import Plugin -from .manifest import ManifestProcessor - - - - -class InvalidPluginException(Exception): - ... - - -class PluginsController: - """PluginsController controller""" - - def __init__(self): - path = os.path.dirname(os.path.realpath(__file__)) - sys.path.insert(0, path) # NOTE: I think I'm not using this correctly... - - self._builder = settings.get_builder() - self._plugins_path = settings.get_plugins_path() - - self._plugins_dir_watcher = None - self._plugin_collection = [] - - - def launch_plugins(self) -> None: - self._set_plugins_watcher() - self.load_plugins() - - def _set_plugins_watcher(self) -> None: - self._plugins_dir_watcher = Gio.File.new_for_path(self._plugins_path) \ - .monitor_directory(Gio.FileMonitorFlags.WATCH_MOVES, Gio.Cancellable()) - self._plugins_dir_watcher.connect("changed", self._on_plugins_changed, ()) - - def _on_plugins_changed(self, file_monitor, file, other_file=None, eve_type=None, data=None): - if eve_type in [Gio.FileMonitorEvent.CREATED, Gio.FileMonitorEvent.DELETED, - Gio.FileMonitorEvent.RENAMED, Gio.FileMonitorEvent.MOVED_IN, - Gio.FileMonitorEvent.MOVED_OUT]: - self.reload_plugins(file) - - def load_plugins(self, file: str = None) -> None: - logger.debug(f"Loading plugins...") - parent_path = os.getcwd() - - for path, folder in [[join(self._plugins_path, item), item] if os.path.isdir(join(self._plugins_path, item)) else None for item in os.listdir(self._plugins_path)]: - try: - target = join(path, "plugin.py") - manifest = ManifestProcessor(path, self._builder) - - if not os.path.exists(target): - raise InvalidPluginException("Invalid Plugin Structure: Plugin doesn't have 'plugin.py'. Aboarting load...") - - plugin, loading_data = manifest.get_loading_data() - module = self.load_plugin_module(path, folder, target) - self.execute_plugin(module, plugin, loading_data) - except Exception as e: - logger.debug(f"Malformed Plugin: Not loading -->: '{folder}' !\n{traceback.print_exc()}") - - os.chdir(parent_path) - - - def load_plugin_module(self, path, folder, target): - os.chdir(path) - - locations = [] - self.collect_search_locations(path, locations) - - spec = importlib.util.spec_from_file_location(folder, target, submodule_search_locations = locations) - module = importlib.util.module_from_spec(spec) - sys.modules[folder] = module - spec.loader.exec_module(module) - - return module - - def collect_search_locations(self, path, locations): - locations.append(path) - for file in os.listdir(path): - _path = os.path.join(path, file) - if os.path.isdir(_path): - self.collect_search_locations(_path, locations) - - def execute_plugin(self, module: type, plugin: Plugin, loading_data: []): - plugin.reference = module.Plugin() - keys = loading_data.keys() - - if "ui_target" in keys: - loading_data["ui_target"].add( plugin.reference.generate_reference_ui_element() ) - loading_data["ui_target"].show_all() - - if "pass_ui_objects" in keys: - plugin.reference.set_ui_object_collection( loading_data["pass_ui_objects"] ) - - if "pass_events" in keys: - plugin.reference.set_fm_event_system(event_system) - plugin.reference.subscribe_to_events() - - if "bind_keys" in keys: - keybindings.append_bindings( loading_data["bind_keys"] ) - - plugin.reference.run() - self._plugin_collection.append(plugin) - - def reload_plugins(self, file: str = None) -> None: - logger.debug(f"Reloading plugins... stub.") diff --git a/src/utils/debugging.py b/src/utils/debugging.py index 97faff0..b84193a 100644 --- a/src/utils/debugging.py +++ b/src/utils/debugging.py @@ -19,12 +19,29 @@ def debug_signal_handler(signal, frame): rpdb2.setbreak(depth=1) return except StandardError: - pass + ... try: from rfoo.utils import rconsole logger.debug("\n\nStarting embedded rconsole debugger...\n\n") rconsole.spawn_server() + return + except StandardError as ex: + ... + + try: + from pudb import set_trace + logger.debug("\n\nStarting PuDB debugger...\n\n") + set_trace(paused = True) + return + except StandardError as ex: + ... + + try: + import pdb + logger.debug("\n\nStarting embedded PDB debugger...\n\n") + pdb.Pdb(skip=['gi.*']).set_trace() + return except StandardError as ex: ... diff --git a/src/utils/pulsectl/__init__.py b/src/utils/pulsectl/__init__.py new file mode 100644 index 0000000..6586ad1 --- /dev/null +++ b/src/utils/pulsectl/__init__.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function + +from . import _pulsectl + +from .pulsectl import ( + PulsePortInfo, PulseClientInfo, PulseServerInfo, PulseModuleInfo, + PulseSinkInfo, PulseSinkInputInfo, PulseSourceInfo, PulseSourceOutputInfo, + PulseCardProfileInfo, PulseCardPortInfo, PulseCardInfo, PulseVolumeInfo, + PulseExtStreamRestoreInfo, PulseEventInfo, + + PulseEventTypeEnum, PulseEventFacilityEnum, PulseEventMaskEnum, + PulseStateEnum, PulseUpdateEnum, PulsePortAvailableEnum, PulseDirectionEnum, + + PulseError, PulseIndexError, PulseOperationFailed, PulseOperationInvalid, + PulseLoopStop, PulseDisconnected, PulseObject, Pulse, connect_to_cli ) diff --git a/src/utils/pulsectl/_pulsectl.py b/src/utils/pulsectl/_pulsectl.py new file mode 100644 index 0000000..036d410 --- /dev/null +++ b/src/utils/pulsectl/_pulsectl.py @@ -0,0 +1,688 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function + + +# C Bindings + +import os, sys, ctypes.util, functools as ft +from ctypes import * + + +force_str = lambda s, errors='strict': s.decode('utf-8', errors) if isinstance(s, bytes) else s +force_bytes = lambda s, errors='strict': s.encode('utf-8', errors) if isinstance(s, unicode) else s + +if sys.version_info.major >= 3: + class c_str_p_type(object): + c_type = c_char_p + def __call__(self, val): return force_str(val) + def from_param(self, val): + # int will be interpreted as pointer and segfault in py3 + if isinstance(val, int): raise ArgumentError(type(val)) + return force_bytes(val) + unicode, c_str_p = str, c_str_p_type() + + import time + mono_time = time.monotonic + +else: + c_str_p = c_char_p + + def mono_time(): + if not hasattr(mono_time, 'ts'): + class timespec(Structure): + _fields_ = [('tv_sec', c_long), ('tv_nsec', c_long)] + librt = CDLL('librt.so.1', use_errno=True) + mono_time.get = librt.clock_gettime + mono_time.get.argtypes = [c_int, POINTER(timespec)] + mono_time.ts = timespec + ts = mono_time.ts() + if mono_time.get(4, pointer(ts)) != 0: + err = get_errno() + raise OSError(err, os.strerror(err)) + return ts.tv_sec + ts.tv_nsec * 1e-9 + + +PA_INVALID = 2**32-1 + +PA_VOLUME_NORM = 0x10000 +PA_VOLUME_MAX = (2**32-1) // 2 # was different before pulseaudio-1.0, see 179b291b there +PA_VOLUME_INVALID = 2**32-1 + +pa_sw_volume_from_dB = lambda db:\ + min(PA_VOLUME_MAX, int(round(((10.0 ** (db / 20.0)) ** (1/3)) * PA_VOLUME_NORM))) +PA_VOLUME_UI_MAX = 99957 # pa_sw_volume_from_dB(+11.0) + +PA_CHANNELS_MAX = 32 +PA_USEC_T = c_uint64 + +PA_CONTEXT_NOAUTOSPAWN = 0x0001 +PA_CONTEXT_NOFAIL = 0x0002 + +PA_CONTEXT_UNCONNECTED = 0 +PA_CONTEXT_CONNECTING = 1 +PA_CONTEXT_AUTHORIZING = 2 +PA_CONTEXT_SETTING_NAME = 3 +PA_CONTEXT_READY = 4 +PA_CONTEXT_FAILED = 5 +PA_CONTEXT_TERMINATED = 6 + +PA_SUBSCRIPTION_MASK_NULL = 0x0000 +PA_SUBSCRIPTION_MASK_SINK = 0x0001 +PA_SUBSCRIPTION_MASK_SOURCE = 0x0002 +PA_SUBSCRIPTION_MASK_SINK_INPUT = 0x0004 +PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT = 0x0008 +PA_SUBSCRIPTION_MASK_MODULE = 0x0010 +PA_SUBSCRIPTION_MASK_CLIENT = 0x0020 +PA_SUBSCRIPTION_MASK_SAMPLE_CACHE = 0x0040 +PA_SUBSCRIPTION_MASK_SERVER = 0x0080 +PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100 +PA_SUBSCRIPTION_MASK_CARD = 0x0200 +PA_SUBSCRIPTION_MASK_ALL = 0x02ff + +PA_SUBSCRIPTION_EVENT_SINK = 0x0000 +PA_SUBSCRIPTION_EVENT_SOURCE = 0x0001 +PA_SUBSCRIPTION_EVENT_SINK_INPUT = 0x0002 +PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT = 0x0003 +PA_SUBSCRIPTION_EVENT_MODULE = 0x0004 +PA_SUBSCRIPTION_EVENT_CLIENT = 0x0005 +PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE = 0x0006 +PA_SUBSCRIPTION_EVENT_SERVER = 0x0007 +PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008 +PA_SUBSCRIPTION_EVENT_CARD = 0x0009 +PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 0x000F +PA_SUBSCRIPTION_EVENT_NEW = 0x0000 +PA_SUBSCRIPTION_EVENT_CHANGE = 0x0010 +PA_SUBSCRIPTION_EVENT_REMOVE = 0x0020 +PA_SUBSCRIPTION_EVENT_TYPE_MASK = 0x0030 + +PA_SAMPLE_FLOAT32LE = 5 +PA_SAMPLE_FLOAT32BE = 6 +PA_SAMPLE_FLOAT32NE = dict( + little=PA_SAMPLE_FLOAT32LE, + big=PA_SAMPLE_FLOAT32BE )[sys.byteorder] + +PA_STREAM_DONT_MOVE = 0x0200 +PA_STREAM_PEAK_DETECT = 0x0800 +PA_STREAM_ADJUST_LATENCY = 0x2000 +PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND = 0x8000 + +def c_enum_map(**values): + return dict((v, force_str(k)) for k,v in values.items()) + +_globals = globals().copy() +_pa_ev_type = dict( + (force_str(k), _globals['PA_SUBSCRIPTION_EVENT_{}'.format(k.upper())]) + for k in 'new change remove'.split() ) +_pa_ev_fac, _pa_ev_mask = dict(), dict() +for k, n in _globals.items(): + if k.startswith('PA_SUBSCRIPTION_EVENT_'): + if k.endswith('_MASK'): continue + k = force_str(k[22:].lower()) + if k in _pa_ev_type: continue + assert n & PA_SUBSCRIPTION_EVENT_FACILITY_MASK == n, [k, n] + _pa_ev_fac[k] = n + elif k.startswith('PA_SUBSCRIPTION_MASK_'): + _pa_ev_mask[force_str(k[21:].lower())] = n + +PA_EVENT_TYPE_MAP = c_enum_map(**_pa_ev_type) +PA_EVENT_FACILITY_MAP = c_enum_map(**_pa_ev_fac) +PA_EVENT_MASK_MAP = c_enum_map(**_pa_ev_mask) +del _globals, _pa_ev_type, _pa_ev_fac, _pa_ev_mask + +PA_UPDATE_MAP = c_enum_map(set=0, merge=1, replace=2) +PA_PORT_AVAILABLE_MAP = c_enum_map(unknown=0, no=1, yes=2) +PA_DIRECTION_MAP = c_enum_map(unknown=0, output=1, input=2) + +# These are defined separately as +# pa_sink_state / pa_source_state, but seem to match. +PA_OBJ_STATE_MAP = c_enum_map(invalid=-1, running=0, idle=1, suspended=2) + + +class PA_MAINLOOP(Structure): pass +class PA_STREAM(Structure): pass +class PA_MAINLOOP_API(Structure): pass +class PA_CONTEXT(Structure): pass +class PA_PROPLIST(Structure): pass +class PA_OPERATION(Structure): pass +class PA_SIGNAL_EVENT(Structure): pass +class PA_IO_EVENT(Structure): pass + + +class PA_SAMPLE_SPEC(Structure): + _fields_ = [ + ('format', c_int), + ('rate', c_uint32), + ('channels', c_uint32) + ] + +class PA_CHANNEL_MAP(Structure): + _fields_ = [ + ('channels', c_uint8), + ('map', c_int * PA_CHANNELS_MAX) + ] + +class PA_CVOLUME(Structure): + _fields_ = [ + ('channels', c_uint8), + ('values', c_uint32 * PA_CHANNELS_MAX) + ] + +class PA_PORT_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('description', c_char_p), + ('priority', c_uint32), + ('available', c_int), + ] + +class PA_SINK_INPUT_INFO(Structure): + _fields_ = [ + ('index', c_uint32), + ('name', c_char_p), + ('owner_module', c_uint32), + ('client', c_uint32), + ('sink', c_uint32), + ('sample_spec', PA_SAMPLE_SPEC), + ('channel_map', PA_CHANNEL_MAP), + ('volume', PA_CVOLUME), + ('buffer_usec', PA_USEC_T), + ('sink_usec', PA_USEC_T), + ('resample_method', c_char_p), + ('driver', c_char_p), + ('mute', c_int), + ('proplist', POINTER(PA_PROPLIST)), + ('corked', c_int), + ('has_volume', c_int), + ('volume_writable', c_int), + ] + +class PA_SINK_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('index', c_uint32), + ('description', c_char_p), + ('sample_spec', PA_SAMPLE_SPEC), + ('channel_map', PA_CHANNEL_MAP), + ('owner_module', c_uint32), + ('volume', PA_CVOLUME), + ('mute', c_int), + ('monitor_source', c_uint32), + ('monitor_source_name', c_char_p), + ('latency', PA_USEC_T), + ('driver', c_char_p), + ('flags', c_int), + ('proplist', POINTER(PA_PROPLIST)), + ('configured_latency', PA_USEC_T), + ('base_volume', c_uint32), + ('state', c_int), + ('n_volume_steps', c_int), + ('card', c_uint32), + ('n_ports', c_uint32), + ('ports', POINTER(POINTER(PA_PORT_INFO))), + ('active_port', POINTER(PA_PORT_INFO)), + ] + +class PA_SOURCE_OUTPUT_INFO(Structure): + _fields_ = [ + ('index', c_uint32), + ('name', c_char_p), + ('owner_module', c_uint32), + ('client', c_uint32), + ('source', c_uint32), + ('sample_spec', PA_SAMPLE_SPEC), + ('channel_map', PA_CHANNEL_MAP), + ('buffer_usec', PA_USEC_T), + ('source_usec', PA_USEC_T), + ('resample_method', c_char_p), + ('driver', c_char_p), + ('proplist', POINTER(PA_PROPLIST)), + ('corked', c_int), + ('volume', PA_CVOLUME), + ('mute', c_int), + ('has_volume', c_int), + ('volume_writable', c_int), + ] + +class PA_SOURCE_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('index', c_uint32), + ('description', c_char_p), + ('sample_spec', PA_SAMPLE_SPEC), + ('channel_map', PA_CHANNEL_MAP), + ('owner_module', c_uint32), + ('volume', PA_CVOLUME), + ('mute', c_int), + ('monitor_of_sink', c_uint32), + ('monitor_of_sink_name', c_char_p), + ('latency', PA_USEC_T), + ('driver', c_char_p), + ('flags', c_int), + ('proplist', POINTER(PA_PROPLIST)), + ('configured_latency', PA_USEC_T), + ('base_volume', c_uint32), + ('state', c_int), + ('n_volume_steps', c_int), + ('card', c_uint32), + ('n_ports', c_uint32), + ('ports', POINTER(POINTER(PA_PORT_INFO))), + ('active_port', POINTER(PA_PORT_INFO)), + ] + +class PA_CLIENT_INFO(Structure): + _fields_ = [ + ('index', c_uint32), + ('name', c_char_p), + ('owner_module', c_uint32), + ('driver', c_char_p), + ('proplist', POINTER(PA_PROPLIST)), + ] + +class PA_SERVER_INFO(Structure): + _fields_ = [ + ('user_name', c_char_p), + ('host_name', c_char_p), + ('server_version', c_char_p), + ('server_name', c_char_p), + ('sample_spec', PA_SAMPLE_SPEC), + ('default_sink_name', c_char_p), + ('default_source_name', c_char_p), + ('cookie', c_uint32), + ('channel_map', PA_CHANNEL_MAP), + ] + +class PA_CARD_PROFILE_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('description', c_char_p), + ('n_sinks', c_uint32), + ('n_sources', c_uint32), + ('priority', c_uint32), + ('available', c_int), + ] + +# Extends PA_PORT_INFO with a few card-specific things +class PA_CARD_PORT_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('description', c_char_p), + ('priority', c_uint32), + ('available', c_int), + ('direction', c_int), + ('n_profiles', c_uint32), + ('profiles', c_void_p), # use profiles2 + ('proplist', POINTER(PA_PROPLIST)), + ('latency_offset', c_int64), + ('profiles2', POINTER(POINTER(PA_CARD_PROFILE_INFO))), + ] + +class PA_CARD_INFO(Structure): + _fields_ = [ + ('index', c_uint32), + ('name', c_char_p), + ('owner_module', c_uint32), + ('driver', c_char_p), + ('n_profiles', c_uint32), + ('profiles', c_void_p), # use profiles2 / active_profile2 + ('active_profile', c_void_p), + ('proplist', POINTER(PA_PROPLIST)), + ('n_ports', c_uint32), + ('ports', POINTER(POINTER(PA_CARD_PORT_INFO))), + ('profiles2', POINTER(POINTER(PA_CARD_PROFILE_INFO))), + ('active_profile2', POINTER(PA_CARD_PROFILE_INFO)), + ] + +class PA_MODULE_INFO(Structure): + _fields_ = [ + ('index', c_uint32), + ('name', c_char_p), + ('argument', c_char_p), + ('n_used', c_uint32), + ('auto_unload', c_int), + ('proplist', POINTER(PA_PROPLIST)), + ] + +class PA_EXT_STREAM_RESTORE_INFO(Structure): + _fields_ = [ + ('name', c_char_p), + ('channel_map', PA_CHANNEL_MAP), + ('volume', PA_CVOLUME), + ('device', c_char_p), + ('mute', c_int), + ] + +class PA_BUFFER_ATTR(Structure): + _fields_ = [ + ('maxlength', c_uint32), + ('tlength', c_uint32), + ('prebuf', c_uint32), + ('minreq', c_uint32), + ('fragsize', c_uint32), + ] + + +class POLLFD(Structure): + _fields_ = [ + ('fd', c_int), + ('events', c_short), + ('revents', c_short), + ] + + +PA_POLL_FUNC_T = CFUNCTYPE(c_int, + POINTER(POLLFD), + c_ulong, + c_int, + c_void_p) + +PA_SIGNAL_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_MAINLOOP_API), + POINTER(c_int), + c_int, + c_void_p) + +PA_STATE_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_void_p) + +PA_CLIENT_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_CLIENT_INFO), + c_int, + c_void_p) + +PA_SERVER_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_SERVER_INFO), + c_void_p) + +PA_SINK_INPUT_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_SINK_INPUT_INFO), + c_int, + c_void_p) + +PA_SINK_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_SINK_INFO), + c_int, + c_void_p) + +PA_SOURCE_OUTPUT_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_SOURCE_OUTPUT_INFO), + c_int, + c_void_p) + +PA_SOURCE_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_SOURCE_INFO), + c_int, + c_void_p) + +PA_CONTEXT_DRAIN_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_void_p) + +PA_CONTEXT_INDEX_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_uint32, + c_void_p) + +PA_CONTEXT_SUCCESS_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_int, + c_void_p) + +PA_EXT_STREAM_RESTORE_TEST_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_uint32, + c_void_p) + +PA_EXT_STREAM_RESTORE_READ_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_EXT_STREAM_RESTORE_INFO), + c_int, + c_void_p) + +PA_CARD_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_CARD_INFO), + c_int, + c_void_p) + +PA_MODULE_INFO_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + POINTER(PA_MODULE_INFO), + c_int, + c_void_p) + +PA_SUBSCRIBE_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_CONTEXT), + c_int, + c_int, + c_void_p) + +PA_STREAM_REQUEST_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_STREAM), + c_int, + c_void_p) + +PA_STREAM_NOTIFY_CB_T = CFUNCTYPE(c_void_p, + POINTER(PA_STREAM), + c_void_p) + + +class LibPulse(object): + + # func_def ::= arg_types_list | (arg_types_list, res_spec) | (res_spec, arg_types_list) + # res_spec ::= ctypes_restype + # | res_proc_func | (ctypes_restype, res_proc_func) + # | res_spec_name_str | (ctypes_restype, res_spec_name_str) + # res_spec_name_str ::= 'int_check_ge0' | 'pa_op' | ... + func_defs = dict( + pa_strerror=([c_int], c_str_p), + pa_runtime_path=([c_str_p], (c_char_p, 'not_null')), + pa_operation_unref=[POINTER(PA_OPERATION)], + + pa_mainloop_new=(POINTER(PA_MAINLOOP)), + pa_mainloop_get_api=([POINTER(PA_MAINLOOP)], POINTER(PA_MAINLOOP_API)), + pa_mainloop_run=([POINTER(PA_MAINLOOP), POINTER(c_int)], c_int), + pa_mainloop_prepare=([POINTER(PA_MAINLOOP), c_int], 'int_check_ge0'), + pa_mainloop_poll=([POINTER(PA_MAINLOOP)], 'int_check_ge0'), + pa_mainloop_dispatch=([POINTER(PA_MAINLOOP)], 'int_check_ge0'), + pa_mainloop_iterate=([POINTER(PA_MAINLOOP), c_int, POINTER(c_int)], 'int_check_ge0'), + pa_mainloop_wakeup=[POINTER(PA_MAINLOOP)], + pa_mainloop_set_poll_func=[POINTER(PA_MAINLOOP), PA_POLL_FUNC_T, c_void_p], + pa_mainloop_quit=([POINTER(PA_MAINLOOP), c_int]), + pa_mainloop_free=[POINTER(PA_MAINLOOP)], + + pa_signal_init=([POINTER(PA_MAINLOOP_API)], 'int_check_ge0'), + pa_signal_new=([c_int, PA_SIGNAL_CB_T, POINTER(PA_SIGNAL_EVENT)]), + pa_signal_done=None, + + pa_context_errno=([POINTER(PA_CONTEXT)], c_int), + pa_context_new=([POINTER(PA_MAINLOOP_API), c_str_p], POINTER(PA_CONTEXT)), + pa_context_set_state_callback=([POINTER(PA_CONTEXT), PA_STATE_CB_T, c_void_p]), + pa_context_connect=([POINTER(PA_CONTEXT), c_str_p, c_int, POINTER(c_int)], 'int_check_ge0'), + pa_context_get_state=([POINTER(PA_CONTEXT)], c_int), + pa_context_disconnect=[POINTER(PA_CONTEXT)], + pa_context_unref=[POINTER(PA_CONTEXT)], + pa_context_drain=( 'pa_op', + [POINTER(PA_CONTEXT), PA_CONTEXT_DRAIN_CB_T, c_void_p] ), + pa_context_set_default_sink=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_default_source=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_get_sink_input_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_SINK_INPUT_INFO_CB_T, c_void_p] ), + pa_context_get_sink_input_info=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_SINK_INPUT_INFO_CB_T, c_void_p] ), + pa_context_get_sink_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_SINK_INFO_CB_T, c_void_p] ), + pa_context_get_sink_info_by_name=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, PA_SINK_INFO_CB_T, c_void_p] ), + pa_context_get_sink_info_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_SINK_INFO_CB_T, c_void_p] ), + pa_context_set_sink_mute_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_suspend_sink_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_sink_port_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_str_p, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_sink_input_mute=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_sink_volume_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, POINTER(PA_CVOLUME), PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_sink_input_volume=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, POINTER(PA_CVOLUME), PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_move_sink_input_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_uint32, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_get_source_output_info=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_SOURCE_OUTPUT_INFO_CB_T, c_void_p] ), + pa_context_get_source_output_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_SOURCE_OUTPUT_INFO_CB_T, c_void_p] ), + pa_context_move_source_output_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_uint32, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_source_output_volume=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, POINTER(PA_CVOLUME), PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_source_output_mute=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_kill_source_output=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_get_source_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_SOURCE_INFO_CB_T, c_void_p] ), + pa_context_get_source_info_by_name=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, PA_SOURCE_INFO_CB_T, c_void_p] ), + pa_context_get_source_info_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_SOURCE_INFO_CB_T, c_void_p] ), + pa_context_set_source_volume_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, POINTER(PA_CVOLUME), PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_source_mute_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_suspend_source_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_source_port_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_str_p, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_get_client_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_CLIENT_INFO_CB_T, c_void_p] ), + pa_context_get_client_info=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_CLIENT_INFO_CB_T, c_void_p] ), + pa_context_get_server_info=( 'pa_op', + [POINTER(PA_CONTEXT), PA_SERVER_INFO_CB_T, c_void_p] ), + pa_context_get_card_info_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_CARD_INFO_CB_T, c_void_p] ), + pa_context_get_card_info_by_name=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, PA_CARD_INFO_CB_T, c_void_p] ), + pa_context_get_card_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_CARD_INFO_CB_T, c_void_p] ), + pa_context_set_card_profile_by_index=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, c_str_p, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_get_module_info=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_MODULE_INFO_CB_T, c_void_p] ), + pa_context_get_module_info_list=( 'pa_op', + [POINTER(PA_CONTEXT), PA_MODULE_INFO_CB_T, c_void_p] ), + pa_context_load_module=( 'pa_op', + [POINTER(PA_CONTEXT), c_char_p, c_char_p, PA_CONTEXT_INDEX_CB_T, c_void_p] ), + pa_context_unload_module=( 'pa_op', + [POINTER(PA_CONTEXT), c_uint32, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_subscribe=( 'pa_op', + [POINTER(PA_CONTEXT), c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_set_subscribe_callback=[POINTER(PA_CONTEXT), PA_SUBSCRIBE_CB_T, c_void_p], + pa_context_play_sample=( 'pa_op', + [POINTER(PA_CONTEXT), c_str_p, c_str_p, c_uint32, PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + pa_context_play_sample_with_proplist=( 'pa_op', + [ POINTER(PA_CONTEXT), c_str_p, c_str_p, c_uint32, + POINTER(PA_PROPLIST), PA_CONTEXT_SUCCESS_CB_T, c_void_p ] ), + + pa_ext_stream_restore_test=( 'pa_op', + [POINTER(PA_CONTEXT), PA_EXT_STREAM_RESTORE_TEST_CB_T, c_void_p] ), + pa_ext_stream_restore_read=( 'pa_op', + [POINTER(PA_CONTEXT), PA_EXT_STREAM_RESTORE_READ_CB_T, c_void_p] ), + pa_ext_stream_restore_write=( 'pa_op', [ + POINTER(PA_CONTEXT), c_int, POINTER(PA_EXT_STREAM_RESTORE_INFO), + c_uint, c_int, PA_CONTEXT_SUCCESS_CB_T, c_void_p ] ), + pa_ext_stream_restore_delete=( 'pa_op', + [POINTER(PA_CONTEXT), POINTER(c_char_p), PA_CONTEXT_SUCCESS_CB_T, c_void_p] ), + + pa_proplist_from_string=([c_str_p], POINTER(PA_PROPLIST)), + pa_proplist_iterate=([POINTER(PA_PROPLIST), POINTER(c_void_p)], c_str_p), + pa_proplist_gets=([POINTER(PA_PROPLIST), c_str_p], c_str_p), + pa_proplist_free=[POINTER(PA_PROPLIST)], + + pa_channel_map_init_mono=( + [POINTER(PA_CHANNEL_MAP)], (POINTER(PA_CHANNEL_MAP), 'not_null') ), + pa_channel_map_init_stereo=( + [POINTER(PA_CHANNEL_MAP)], (POINTER(PA_CHANNEL_MAP), 'not_null') ), + pa_channel_map_snprint=([c_str_p, c_int, POINTER(PA_CHANNEL_MAP)], c_str_p), + pa_channel_map_parse=( + [POINTER(PA_CHANNEL_MAP), c_str_p], (POINTER(PA_CHANNEL_MAP), 'not_null') ), + pa_channel_position_to_string=([c_int], c_str_p), + + pa_stream_new_with_proplist=( + [ POINTER(PA_CONTEXT), c_str_p, + POINTER(PA_SAMPLE_SPEC), POINTER(PA_CHANNEL_MAP), POINTER(PA_PROPLIST) ], + POINTER(PA_STREAM) ), + pa_stream_set_monitor_stream=([POINTER(PA_STREAM), c_uint32], 'int_check_ge0'), + pa_stream_set_read_callback=[POINTER(PA_STREAM), PA_STREAM_REQUEST_CB_T, c_void_p], + pa_stream_connect_record=( + [POINTER(PA_STREAM), c_str_p, POINTER(PA_BUFFER_ATTR), c_int], 'int_check_ge0' ), + pa_stream_unref=[POINTER(PA_STREAM)], + pa_stream_peek=( + [POINTER(PA_STREAM), POINTER(c_void_p), POINTER(c_int)], 'int_check_ge0' ), + pa_stream_drop=([POINTER(PA_STREAM)], 'int_check_ge0'), + pa_stream_disconnect=([POINTER(PA_STREAM)], 'int_check_ge0') ) + + class CallError(Exception): pass + + + def __init__(self): + p = CDLL(ctypes.util.find_library('libpulse') or 'libpulse.so.0') + + self.funcs = dict() + for k, spec in self.func_defs.items(): + func, args, res_proc = getattr(p, k), None, None + if spec: + if not isinstance(spec, tuple): spec = (spec,) + for v in spec: + assert v, [k, spec, v] + if isinstance(v, list): args = v + else: res_proc = v + func_k = k if not k.startswith('pa_') else k[3:] + self.funcs[func_k] = self._func_wrapper(k, func, args, res_proc) + + def _func_wrapper(self, func_name, func, args=list(), res_proc=None): + func.restype, func.argtypes = None, args + if isinstance(res_proc, tuple): func.restype, res_proc = res_proc + if isinstance(res_proc, str): + if res_proc.startswith('int_check_'): func.restype = c_int + elif res_proc == 'pa_op': func.restype = POINTER(PA_OPERATION) + elif not func.restype and hasattr(res_proc, 'c_type'): func.restype = res_proc.c_type + elif not func.restype: func.restype, res_proc = res_proc, None + + def _wrapper(*args): + # print('libpulse call:', func_name, args, file=sys.stderr) + # sys.stderr.flush() + res = func(*args) + if isinstance(res_proc, str): + assert res_proc in ['int_check_ge0', 'pa_op', 'not_null'] + if (res_proc == 'int_check_ge0' and res < 0)\ + or (res_proc == 'pa_op' and not res)\ + or (res_proc == 'not_null' and not res): + err = [func_name, args, res] + if args and isinstance(getattr(args[0], 'contents', None), PA_CONTEXT): + errno_ = self.context_errno(args[0]) + err.append('{} [pulse errno {}]'.format(self.strerror(errno_), errno_)) + else: err.append('Return value check failed: {}'.format(res_proc)) + raise self.CallError(*err) + elif res_proc: res = res_proc(res) + return res + + _wrapper.__name__ = 'libpulse.{}'.format(func_name) + return _wrapper + + def __getattr__(self, k): return self.funcs[k] + + def return_value(self): return pointer(c_int()) + +pa = LibPulse() diff --git a/src/utils/pulsectl/lookup.py b/src/utils/pulsectl/lookup.py new file mode 100644 index 0000000..aceb11d --- /dev/null +++ b/src/utils/pulsectl/lookup.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function, unicode_literals + +import itertools as it, operator as op, functools as ft +import re + + +lookup_types = { + 'sink': 'sink_list', 'source': 'source_list', + 'sink-input': 'sink_input_list', 'source-output': 'source_output_list' } +lookup_types.update(it.chain.from_iterable( + ((v, lookup_types[k]) for v in v) for k,v in + { 'source': ['src'], 'sink-input': ['si', 'playback', 'play'], + 'source-output': ['so', 'record', 'rec', 'mic'] }.items() )) + +lookup_key_defaults = dict( + # No default keys for type = no implicit matches for that type + sink_input_list=[ # match sink_input_list objects with these keys by default + 'media.name', 'media.icon_name', 'media.role', + 'application.name', 'application.process.binary', 'application.icon_name' ] ) + + +def pulse_obj_lookup(pulse, obj_lookup, prop_default=None): + '''Return set of pulse object(s) with proplist values matching lookup-string. + + Pattern syntax: + [ { 'sink' | 'source' | 'sink-input' | 'source-output' } [ / ... ] ':' ] + [ proplist-key-name (non-empty) [ / ... ] ':' ] [ ':' (for regexp match) ] + [ proplist-key-value ] + + Examples: + - sink:alsa.driver_name:snd_hda_intel + Match sink(s) with alsa.driver_name=snd_hda_intel (exact match!). + - sink/source:device.bus:pci + Match all sinks and sources with device.bus=pci. + - myprop:somevalue + Match any object (of all 4 supported types) that has myprop=somevalue. + - mpv + Match any object with any of the "default lookup props" (!!!) being equal to "mpv". + "default lookup props" are specified per-type in lookup_key_defaults above. + For example, sink input will be looked-up by media.name, application.name, etc. + - sink-input/source-output:mpv + Same as above, but lookup streams only (not sinks/sources). + Note that "sink-input/source-output" matches type spec, and parsed as such, not as key. + - si/so:mpv + Same as above - see aliases for types in lookup_types. + - application.binary/application.icon:mpv + Lookup by multiple keys with "any match" logic, same as with multiple object types. + - key\/with\/slashes\:and\:colons:somevalue + Lookup by key that has slashes and colons in it. + "/" and ":" must only be escaped in the proplist key part, used as-is in values. + Backslash itself can be escaped as well, i.e. as "\\". + - module-stream-restore.id:sink-input-by-media-role:music + Value has ":" in it, but there's no need to escape it in any way. + - device.description::Analog + Value lookup starting with : is interpreted as a regexp, + i.e. any object with device.description *containing* "Analog" in this case. + - si/so:application.name::^mpv\b + Return all sink-inputs/source-outputs ("si/so") where + "application.name" proplist value matches regexp "^mpv\b". + - :^mpv\b + Regexp lookup (stuff starting with "mpv" word) without type or key specification. + + For python2, lookup string should be unicode type. + "prop_default" keyword arg can be used to specify + default proplist value for when key is not found there.''' + + # \ue000-\uf8ff - private use area, never assigned to symbols + obj_lookup = obj_lookup.replace('\\\\', '\ue000').replace('\\:', '\ue001') + obj_types_re = '({0})(/({0}))*'.format('|'.join(lookup_types)) + m = re.search( + ( r'^((?P{}):)?'.format(obj_types_re) + + r'((?P.+?):)?' r'(?P.*)$' ), obj_lookup, re.IGNORECASE ) + if not m: raise ValueError(obj_lookup) + lookup_type, lookup_keys, lookup_re = op.itemgetter('t', 'k', 'v')(m.groupdict()) + if lookup_keys: + lookup_keys = list( + v.replace('\ue000', '\\\\').replace('\ue001', ':').replace('\ue002', '/') + for v in lookup_keys.replace('\\/', '\ue002').split('/') ) + lookup_re = lookup_re.replace('\ue000', '\\\\').replace('\ue001', '\\:') + obj_list_res, lookup_re = list(), re.compile( lookup_re[1:] + if lookup_re.startswith(':') else '^{}$'.format(re.escape(lookup_re)) ) + for k in set( lookup_types[k] for k in + (lookup_type.split('/') if lookup_type else lookup_types.keys()) ): + if not lookup_keys: lookup_keys = lookup_key_defaults.get(k) + if not lookup_keys: continue + obj_list = getattr(pulse, k)() + if not obj_list: continue + for obj, k in it.product(obj_list, lookup_keys): + v = obj.proplist.get(k, prop_default) + if v is None: continue + if lookup_re.search(v): obj_list_res.append(obj) + return set(obj_list_res) diff --git a/src/utils/pulsectl/pulsectl.py b/src/utils/pulsectl/pulsectl.py new file mode 100644 index 0000000..8970008 --- /dev/null +++ b/src/utils/pulsectl/pulsectl.py @@ -0,0 +1,992 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function + +import itertools as it, operator as op, functools as ft +from collections import defaultdict +from contextlib import contextmanager +import os, sys, inspect, traceback + +from . import _pulsectl as c + + +if sys.version_info.major >= 3: + long, unicode = int, str + print_err = ft.partial(print, file=sys.stderr, flush=True) + def wrapper_with_sig_info(func, wrapper, index_arg=False): + sig = inspect.signature(func or (lambda: None)) + if index_arg: + sig = sig.replace(parameters=[inspect.Parameter( 'index', + inspect.Parameter.POSITIONAL_OR_KEYWORD )] + list(sig.parameters.values())) + wrapper.__name__, wrapper.__signature__, wrapper.__doc__ = '', sig, func.__doc__ + return wrapper + +else: + range, map = xrange, it.imap + def print_err(*args, **kws): + kws.setdefault('file', sys.stderr) + print(*args, **kws) + kws['file'].flush() + def wrapper_with_sig_info(func, wrapper, index_arg=False): + func_args = list(inspect.getargspec(func or (lambda: None))) + func_args[0] = list(func_args[0]) + if index_arg: func_args[0] = ['index'] + func_args[0] + wrapper.__name__ = '...' + wrapper.__doc__ = 'Signature: func' + inspect.formatargspec(*func_args) + if func.__doc__: wrapper.__doc__ += '\n\n' + func.__doc__ + return wrapper + + +is_str = lambda v,ext=None,native=False: ( + isinstance(v, ( (unicode, bytes) + if not native else (str,) ) + ((ext,) if ext else ())) ) +is_str_native = ft.partial(is_str, native=True) +is_num = lambda v: isinstance(v, (int, float, long)) +is_list = lambda v: isinstance(v, (tuple, list)) +is_dict = lambda v: isinstance(v, dict) + +def assert_pulse_object(obj): + if not isinstance(obj, PulseObject): + raise TypeError( 'PulseInfo' + ' object is required instead of value: [{}] {}', type(obj), obj ) + +class FakeLock(): + def __enter__(self): return self + def __exit__(self, *err): pass + + +@ft.total_ordering +class EnumValue(object): + 'String-based enum value, comparable to native strings.' + __slots__ = '_t', '_value', '_c_val' + def __init__(self, t, value, c_value=None): + self._t, self._value, self._c_val = t, value, c_value + def __repr__(self): return ''.format(self._t, self._value) + def __eq__(self, val): + if isinstance(val, EnumValue): val = val._value + return self._value == val + def __ne__(self, val): return not (self == val) + def __lt__(self, val): + if isinstance(val, EnumValue): val = val._value + return self._value < val + def __hash__(self): return hash(self._value) + +class Enum(object): + + def __init__(self, name, values_or_map): + vals = values_or_map + if is_str_native(vals): vals = vals.split() + if is_list(vals): vals = zip(it.repeat(None), vals) + if is_dict(vals): vals = vals.items() + self._name, self._values, self._c_vals = name, dict(), dict() + for c_val, k in vals: + v = EnumValue(name, k, c_val) + setattr(self, k.replace('-', '_'), v) + self._c_vals[c_val] = self._values[k] = v + + def __getitem__(self, k, *default): + if isinstance(k, EnumValue): + t, k, v = k._t, k._value, k + if t != self._name: raise KeyError(v) + try: return getattr(self, k.replace('-', '_'), *default) + except AttributeError: raise KeyError(k) + + def _get(self, k, default=None): return self.__getitem__(k, default) + def __contains__(self, k): return self._get(k) is not None + + def _c_val(self, c_val, default=KeyError): + v = self._c_vals.get(c_val) + if v is not None: return v + if default is not KeyError: + return EnumValue(self._name, default, c_val) + raise KeyError(c_val) + + def __repr__(self): + return ''.format(self._name, ' '.join(sorted(self._values.keys()))) + + +PulseEventTypeEnum = Enum('event-type', c.PA_EVENT_TYPE_MAP) +PulseEventFacilityEnum = Enum('event-facility', c.PA_EVENT_FACILITY_MAP) +PulseEventMaskEnum = Enum('event-mask', c.PA_EVENT_MASK_MAP) + +PulseStateEnum = Enum('sink/source-state', c.PA_OBJ_STATE_MAP) +PulseUpdateEnum = Enum('update-type', c.PA_UPDATE_MAP) +PulsePortAvailableEnum = Enum('available', c.PA_PORT_AVAILABLE_MAP) +PulseDirectionEnum = Enum('direction', c.PA_DIRECTION_MAP) + + +class PulseError(Exception): pass +class PulseOperationFailed(PulseError): pass +class PulseOperationInvalid(PulseOperationFailed): pass +class PulseIndexError(PulseError): pass + +class PulseLoopStop(Exception): pass +class PulseDisconnected(Exception): pass + +class PulseObject(object): + + c_struct_wrappers = dict() + + def __init__(self, struct=None, *field_data_list, **field_data_dict): + field_data, fields = dict(), getattr(self, 'c_struct_fields', list()) + if is_str_native(fields): fields = self.c_struct_fields = fields.split() + if field_data_list: field_data.update(zip(fields, field_data_list)) + if field_data_dict: field_data.update(field_data_dict) + if struct is None: field_data, struct = dict(), field_data + assert not set(field_data.keys()).difference(fields) + if field_data: self._copy_struct_fields(field_data, fields=field_data.keys()) + self._copy_struct_fields(struct, fields=set(fields).difference(field_data.keys())) + + if struct: + if hasattr(struct, 'proplist'): + self.proplist, state = dict(), c.c_void_p() + while True: + k = c.pa.proplist_iterate(struct.proplist, c.byref(state)) + if not k: break + self.proplist[c.force_str(k)] = c.force_str(c.pa.proplist_gets(struct.proplist, k)) + if hasattr(struct, 'volume'): + self.volume = self._get_wrapper(PulseVolumeInfo)(struct.volume) + if hasattr(struct, 'base_volume'): + self.base_volume = struct.base_volume / c.PA_VOLUME_NORM + if hasattr(struct, 'n_ports'): + cls_port = self._get_wrapper(PulsePortInfo) + self.port_list = list( + cls_port(struct.ports[n].contents) for n in range(struct.n_ports) ) + if hasattr(struct, 'active_port'): + cls_port = self._get_wrapper(PulsePortInfo) + self.port_active = ( + None if not struct.active_port else cls_port(struct.active_port.contents) ) + if hasattr(struct, 'channel_map'): + self.channel_count, self.channel_list = struct.channel_map.channels, list() + self.channel_list_raw = struct.channel_map.map[:self.channel_count] + if self.channel_count > 0: + s = c.create_string_buffer(b'\0' * 512) + c.pa.channel_map_snprint(s, len(s), struct.channel_map) + self.channel_list.extend(map(c.force_str, s.value.strip().split(b','))) + if hasattr(struct, 'state'): + self.state = PulseStateEnum._c_val( + struct.state, u'state.{}'.format(struct.state) ) + self.state_values = sorted(PulseStateEnum._values.values()) + if hasattr(struct, 'corked'): self.corked = bool(struct.corked) + self._init_from_struct(struct) + + def _get_wrapper(self, cls_base): + return self.c_struct_wrappers.get(cls_base, cls_base) + + def _copy_struct_fields(self, struct, fields=None, str_errors='strict'): + if not fields: fields = self.c_struct_fields + for k in fields: + setattr(self, k, c.force_str( getattr(struct, k) + if not is_dict(struct) else struct[k], str_errors )) + + def _init_from_struct(self, struct): pass # to parse fields in subclasses + + def _as_str(self, ext=None, fields=None, **kws): + kws = list(it.starmap('{}={}'.format, kws.items())) + if fields: + if is_str_native(fields): fields = fields.split() + kws.extend('{}={!r}'.format(k, getattr(self, k)) for k in fields) + kws = sorted(kws) + if ext: kws.append(str(ext)) + return ', '.join(kws) + + def __str__(self): + return self._as_str(fields=self.c_struct_fields) + + def __repr__(self): + return '<{} at {:x} - {}>'.format(self.__class__.__name__, id(self), str(self)) + + +class PulsePortInfo(PulseObject): + c_struct_fields = 'name description available priority' + + def _init_from_struct(self, struct): + self.available = PulsePortAvailableEnum._c_val(struct.available) + self.available_state = self.available # for compatibility with <=17.6.0 + + def __eq__(self, o): + if not isinstance(o, PulsePortInfo): raise TypeError(o) + return self.name == o.name + + def __hash__(self): return hash(self.name) + +class PulseClientInfo(PulseObject): + c_struct_fields = 'name index driver owner_module' + +class PulseServerInfo(PulseObject): + c_struct_fields = ( 'user_name host_name' + ' server_version server_name default_sink_name default_source_name cookie' ) + +class PulseModuleInfo(PulseObject): + c_struct_fields = 'index name argument n_used auto_unload' + +class PulseSinkInfo(PulseObject): + c_struct_fields = ( 'index name mute' + ' description sample_spec owner_module latency driver' + ' monitor_source monitor_source_name flags configured_latency card' ) + + def __str__(self): + return self._as_str(self.volume, fields='index name description mute') + +class PulseSinkInputInfo(PulseObject): + c_struct_fields = ( 'index name mute corked client' + ' owner_module sink sample_spec' + ' buffer_usec sink_usec resample_method driver' ) + + def __str__(self): + return self._as_str(fields='index name mute') + +class PulseSourceInfo(PulseObject): + c_struct_fields = ( 'index name mute' + ' description sample_spec owner_module latency driver monitor_of_sink' + ' monitor_of_sink_name flags configured_latency card' ) + + def __str__(self): + return self._as_str(self.volume, fields='index name description mute') + +class PulseSourceOutputInfo(PulseObject): + c_struct_fields = ( 'index name mute corked client' + ' owner_module source sample_spec' + ' buffer_usec source_usec resample_method driver' ) + + def __str__(self): + return self._as_str(fields='index name mute') + +class PulseCardProfileInfo(PulseObject): + c_struct_fields = 'name description n_sinks n_sources priority available' + +class PulseCardPortInfo(PulsePortInfo): + c_struct_fields = 'name description available priority direction latency_offset' + + def _init_from_struct(self, struct): + super(PulseCardPortInfo, self)._init_from_struct(struct) + self.direction = PulseDirectionEnum._c_val(struct.direction) + +class PulseCardInfo(PulseObject): + c_struct_fields = 'name index driver owner_module n_profiles' + c_struct_wrappers = {PulsePortInfo: PulseCardPortInfo} + + def __init__(self, struct): + super(PulseCardInfo, self).__init__(struct) + self.profile_list = list( + PulseCardProfileInfo(struct.profiles2[n][0]) for n in range(self.n_profiles) ) + self.profile_active = PulseCardProfileInfo(struct.active_profile2.contents) + + def __str__(self): + return self._as_str( + fields='name index driver n_profiles', + profile_active='[{}]'.format(self.profile_active.name) ) + +class PulseVolumeInfo(PulseObject): + + def __init__(self, struct_or_values=None, channels=None): + if is_num(struct_or_values): + assert channels is not None, 'Channel count specified if volume value is not a list.' + self.values = [struct_or_values] * channels + elif is_list(struct_or_values): self.values = struct_or_values + else: + self.values = list( (x / c.PA_VOLUME_NORM) + for x in map(float, struct_or_values.values[:struct_or_values.channels]) ) + + @property + def value_flat(self): return (sum(self.values) / float(len(self.values))) if self.values else 0 + @value_flat.setter + def value_flat(self, v): self.values = [v] * len(self.values) + + def to_struct(self): + return c.PA_CVOLUME( + len(self.values), tuple(min( c.PA_VOLUME_UI_MAX, + int(round(v * c.PA_VOLUME_NORM)) ) for v in self.values) ) + + def __str__(self): + return self._as_str( + channels=len(self.values), volumes='[{}]'.format( + ' '.join('{}%'.format(int(round(v*100))) for v in self.values) ) ) + +class PulseExtStreamRestoreInfo(PulseObject): + c_struct_fields = 'name channel_map volume mute device' + + @classmethod + def struct_from_value( cls, name, volume, + channel_list=None, mute=False, device=None ): + 'Same arguments as with class instance init.' + chan_map = c.PA_CHANNEL_MAP() + if not channel_list: c.pa.channel_map_init_mono(chan_map) + else: + if not is_str(channel_list): + channel_list = b','.join(map(c.force_bytes, channel_list)) + c.pa.channel_map_parse(chan_map, channel_list) + if not isinstance(volume, PulseVolumeInfo): + volume = PulseVolumeInfo(volume, chan_map.channels) + struct = c.PA_EXT_STREAM_RESTORE_INFO( + name=c.force_bytes(name), + mute=int(bool(mute)), device=c.force_bytes(device), + channel_map=chan_map, volume=volume.to_struct() ) + return struct + + def __init__( self, struct_or_name=None, + volume=None, channel_list=None, mute=False, device=None ): + '''If string name is passed instead of C struct, will be initialized from args/kws. + "volume" can be either a float number + (same level for all channels) or list (value per channel). + "channel_list" can be a pulse channel map string (comma-separated) or list + of channel names. Defaults to stereo map, should probably match volume channels. + "device" - name of sink/source or None (default).''' + if is_str(struct_or_name): + struct_or_name = self.struct_from_value( + struct_or_name, volume, channel_list, mute, device ) + super(PulseExtStreamRestoreInfo, self).__init__(struct_or_name) + + def to_struct(self): + return self.struct_from_value(**dict( + (k, getattr(self, k)) for k in 'name volume channel_list mute device'.split() )) + + def __str__(self): + return self._as_str(self.volume, fields='name mute device') + +class PulseEventInfo(PulseObject): + + def __init__(self, ev_t, facility, index): + self.t, self.facility, self.index = ev_t, facility, index + + def __str__(self): + return self._as_str(fields='t facility index'.split()) + + +class Pulse(object): + + _ctx = None + + def __init__(self, client_name=None, server=None, connect=True, threading_lock=False): + '''Connects to specified pulse server by default. + Specifying "connect=False" here prevents that, but be sure to call connect() later. + "connect=False" can also be used here to + have control over options passed to connect() method. + "threading_lock" option (either bool or lock instance) can be used to wrap + non-threadsafe eventloop polling (can only be done from one thread at a time) + into a mutex lock, and should only be needed if same-instance methods + will/should/might be called from different threads at the same time.''' + self.name = client_name or 'pulsectl' + self.server, self.connected = server, None + self._ret = self._ctx = self._loop = self._api = None + self._actions, self._action_ids = dict(),\ + it.chain.from_iterable(map(range, it.repeat(2**30))) + self.init() + if threading_lock: + if threading_lock is True: + import threading + threading_lock = threading.Lock() + self._loop_lock = threading_lock + if connect: + try: self.connect(autospawn=True) + except PulseError: + self.close() + raise + + def init(self): + self._pa_state_cb = c.PA_STATE_CB_T(self._pulse_state_cb) + self._pa_subscribe_cb = c.PA_SUBSCRIBE_CB_T(self._pulse_subscribe_cb) + + self._loop, self._loop_lock = c.pa.mainloop_new(), FakeLock() + self._loop_running = self._loop_closed = False + self._api = c.pa.mainloop_get_api(self._loop) + self._ret = c.pa.return_value() + + self._ctx_init() + self.event_types = sorted(PulseEventTypeEnum._values.values()) + self.event_facilities = sorted(PulseEventFacilityEnum._values.values()) + self.event_masks = sorted(PulseEventMaskEnum._values.values()) + self.event_callback = None + + chan_names = dict() + for n in range(256): + name = c.pa.channel_position_to_string(n) + if name is None: break + chan_names[n] = name + self.channel_list_enum = Enum('channel_pos', chan_names) + + def _ctx_init(self): + if self._ctx: + with self._loop_lock: + self.disconnect() + c.pa.context_unref(self._ctx) + self._ctx = c.pa.context_new(self._api, self.name) + c.pa.context_set_state_callback(self._ctx, self._pa_state_cb, None) + c.pa.context_set_subscribe_callback(self._ctx, self._pa_subscribe_cb, None) + + def connect(self, autospawn=False, wait=False, timeout=None): + '''Connect to pulseaudio server. + "autospawn" option will start new pulse daemon, if necessary. + Specifying "wait" option will make function block until pulseaudio server appears. + "timeout" (in seconds) will raise PulseError if connection not established within it.''' + if self._loop_closed: + raise PulseError('Eventloop object was already' + ' destroyed and cannot be reused from this instance.') + if self.connected is not None: self._ctx_init() + flags, self.connected = 0, None + if not autospawn: flags |= c.PA_CONTEXT_NOAUTOSPAWN + if wait: flags |= c.PA_CONTEXT_NOFAIL + try: c.pa.context_connect(self._ctx, self.server, flags, None) + except c.pa.CallError: self.connected = False + if not timeout: # simplier process + while self.connected is None: self._pulse_iterate() + else: + self._loop_stop, delta, ts_deadline = True, 1, c.mono_time() + timeout + while self.connected is None: + delta = ts_deadline - c.mono_time() + self._pulse_poll(delta) + if delta <= 0: break + self._loop_stop = False + if not self.connected: + c.pa.context_disconnect(self._ctx) + while self.connected is not False: self._pulse_iterate() + raise PulseError('Timed-out connecting to pulseaudio server [{:,.1f}s]'.format(timeout)) + if self.connected is False: raise PulseError('Failed to connect to pulseaudio server') + + def disconnect(self): + if not self._ctx or not self.connected: return + c.pa.context_disconnect(self._ctx) + + def close(self): + if not self._loop: return + if self._loop_running: # called from another thread + self._loop_closed = True + c.pa.mainloop_quit(self._loop, 0) + return # presumably will be closed in a thread that's running it + with self._loop_lock: + try: + self.disconnect() + c.pa.context_unref(self._ctx) + c.pa.mainloop_free(self._loop) + finally: self._ctx = self._loop = None + + def __enter__(self): return self + def __exit__(self, err_t, err, err_tb): self.close() + + + def _pulse_state_cb(self, ctx, userdata): + state = c.pa.context_get_state(ctx) + if state >= c.PA_CONTEXT_READY: + if state == c.PA_CONTEXT_READY: self.connected = True + elif state in [c.PA_CONTEXT_FAILED, c.PA_CONTEXT_TERMINATED]: + self.connected, self._loop_stop = False, True + + def _pulse_subscribe_cb(self, ctx, ev, idx, userdata): + if not self.event_callback: return + n = ev & c.PA_SUBSCRIPTION_EVENT_FACILITY_MASK + ev_fac = PulseEventFacilityEnum._c_val(n, 'ev.facility.{}'.format(n)) + n = ev & c.PA_SUBSCRIPTION_EVENT_TYPE_MASK + ev_t = PulseEventTypeEnum._c_val(n, 'ev.type.{}'.format(n)) + try: self.event_callback(PulseEventInfo(ev_t, ev_fac, idx)) + except PulseLoopStop: self._loop_stop = True + + def _pulse_poll_cb(self, func, func_err, ufds, nfds, timeout, userdata): + fd_list = list(ufds[n] for n in range(nfds)) + try: nfds = func(fd_list, timeout / 1000.0) + except Exception as err: + func_err(*sys.exc_info()) + return -1 + return nfds + + @contextmanager + def _pulse_loop(self): + with self._loop_lock: + if not self._loop: return + if self._loop_running: + raise PulseError( + 'Running blocking pulse operations from pulse eventloop callbacks' + ' or other threads while loop is running is not supported by this python module.' + ' Supporting this would require threads or proper asyncio/twisted-like async code.' + ' Workaround can be to stop the loop' + ' (raise PulseLoopStop in callback or event_loop_stop() from another thread),' + ' doing whatever pulse calls synchronously and then resuming event_listen() loop.' ) + self._loop_running, self._loop_stop = True, False + try: yield self._loop + finally: + self._loop_running = False + if self._loop_closed: self.close() # to free() after stopping it + + def _pulse_run(self): + with self._pulse_loop() as loop: c.pa.mainloop_run(loop, self._ret) + + def _pulse_iterate(self, block=True): + with self._pulse_loop() as loop: c.pa.mainloop_iterate(loop, int(block), self._ret) + + @contextmanager + def _pulse_op_cb(self, raw=False): + act_id = next(self._action_ids) + self._actions[act_id] = None + try: + cb = lambda s=True,k=act_id: self._actions.update({k: bool(s)}) + if not raw: cb = c.PA_CONTEXT_SUCCESS_CB_T(lambda ctx,s,d,cb=cb: cb(s)) + yield cb + while self.connected and self._actions[act_id] is None: self._pulse_iterate() + if not self._actions[act_id]: raise PulseOperationFailed(act_id) + finally: self._actions.pop(act_id, None) + + def _pulse_poll(self, timeout=None): + '''timeout should be in seconds (float), + 0 for non-blocking poll and None (default) for no timeout.''' + with self._pulse_loop() as loop: + ts = c.mono_time() + ts_deadline = timeout and (ts + timeout) + while True: + delay = max(0, int((ts_deadline - ts) * 1000000)) if ts_deadline else -1 + c.pa.mainloop_prepare(loop, delay) # delay in us + c.pa.mainloop_poll(loop) + if self._loop_closed: break # interrupted by close() or such + c.pa.mainloop_dispatch(loop) + if self._loop_stop: break + ts = c.mono_time() + if ts_deadline and ts >= ts_deadline: break + + + def _pulse_info_cb(self, info_cls, data_list, done_cb, ctx, info, eof, userdata): + # No idea where callbacks with "userdata != NULL" come from, + # but "info" pointer in them is always invalid, so they are discarded here. + # Looks like some kind of mixup or corruption in libpulse memory? + # See also: https://github.com/mk-fg/python-pulse-control/issues/35 + if userdata is not None: return + # Empty result list and conn issues are checked elsewhere. + # Errors here are non-descriptive (errno), so should not be useful anyway. + # if eof < 0: done_cb(s=False) + if eof: done_cb() + else: data_list.append(info_cls(info[0])) + + def _pulse_get_list(cb_t, pulse_func, info_cls, singleton=False, index_arg=True): + def _wrapper_method(self, index=None): + data = list() + with self._pulse_op_cb(raw=True) as cb: + cb = cb_t( + ft.partial(self._pulse_info_cb, info_cls, data, cb) if not singleton else + lambda ctx, info, userdata, cb=cb: data.append(info_cls(info[0])) or cb() ) + pa_op = pulse_func( self._ctx, + *([index, cb, None] if index is not None else [cb, None]) ) + c.pa.operation_unref(pa_op) + data = data or list() + if index is not None or singleton: + if not data: raise PulseIndexError(index) + data, = data + return data + return wrapper_with_sig_info( None, _wrapper_method, + not (pulse_func.__name__.endswith('_list') or singleton or not index_arg) ) + + get_sink_by_name = _pulse_get_list( + c.PA_SINK_INFO_CB_T, + c.pa.context_get_sink_info_by_name, PulseSinkInfo ) + get_source_by_name = _pulse_get_list( + c.PA_SOURCE_INFO_CB_T, + c.pa.context_get_source_info_by_name, PulseSourceInfo ) + get_card_by_name = _pulse_get_list( + c.PA_CARD_INFO_CB_T, + c.pa.context_get_card_info_by_name, PulseCardInfo ) + + sink_input_list = _pulse_get_list( + c.PA_SINK_INPUT_INFO_CB_T, + c.pa.context_get_sink_input_info_list, PulseSinkInputInfo ) + sink_input_info = _pulse_get_list( + c.PA_SINK_INPUT_INFO_CB_T, + c.pa.context_get_sink_input_info, PulseSinkInputInfo ) + source_output_list = _pulse_get_list( + c.PA_SOURCE_OUTPUT_INFO_CB_T, + c.pa.context_get_source_output_info_list, PulseSourceOutputInfo ) + source_output_info = _pulse_get_list( + c.PA_SOURCE_OUTPUT_INFO_CB_T, + c.pa.context_get_source_output_info, PulseSourceOutputInfo ) + + sink_list = _pulse_get_list( + c.PA_SINK_INFO_CB_T, c.pa.context_get_sink_info_list, PulseSinkInfo ) + sink_info = _pulse_get_list( + c.PA_SINK_INFO_CB_T, c.pa.context_get_sink_info_by_index, PulseSinkInfo ) + source_list = _pulse_get_list( + c.PA_SOURCE_INFO_CB_T, c.pa.context_get_source_info_list, PulseSourceInfo ) + source_info = _pulse_get_list( + c.PA_SOURCE_INFO_CB_T, c.pa.context_get_source_info_by_index, PulseSourceInfo ) + card_list = _pulse_get_list( + c.PA_CARD_INFO_CB_T, c.pa.context_get_card_info_list, PulseCardInfo ) + card_info = _pulse_get_list( + c.PA_CARD_INFO_CB_T, c.pa.context_get_card_info_by_index, PulseCardInfo ) + client_list = _pulse_get_list( + c.PA_CLIENT_INFO_CB_T, c.pa.context_get_client_info_list, PulseClientInfo ) + client_info = _pulse_get_list( + c.PA_CLIENT_INFO_CB_T, c.pa.context_get_client_info, PulseClientInfo ) + server_info = _pulse_get_list( + c.PA_SERVER_INFO_CB_T, c.pa.context_get_server_info, PulseServerInfo, singleton=True ) + module_info = _pulse_get_list( + c.PA_MODULE_INFO_CB_T, c.pa.context_get_module_info, PulseModuleInfo ) + module_list = _pulse_get_list( + c.PA_MODULE_INFO_CB_T, c.pa.context_get_module_info_list, PulseModuleInfo ) + + + def _pulse_method_call(pulse_op, func=None, index_arg=True): + '''Creates following synchronous wrapper for async pa_operation callable: + wrapper(index, ...) -> pulse_op(index, [*]args_func(...)) + index_arg=False: wrapper(...) -> pulse_op([*]args_func(...))''' + def _wrapper(self, *args, **kws): + if index_arg: + if 'index' in kws: index = kws.pop('index') + else: index, args = args[0], args[1:] + pulse_args = func(*args, **kws) if func else list() + if not is_list(pulse_args): pulse_args = [pulse_args] + if index_arg: pulse_args = [index] + list(pulse_args) + with self._pulse_op_cb() as cb: + try: pulse_op(self._ctx, *(list(pulse_args) + [cb, None])) + except c.ArgumentError as err: raise TypeError(err.args) + except c.pa.CallError as err: raise PulseOperationInvalid(err.args[-1]) + return wrapper_with_sig_info(func, _wrapper, index_arg) + + card_profile_set_by_index = _pulse_method_call( + c.pa.context_set_card_profile_by_index, lambda profile_name: profile_name ) + + sink_default_set = _pulse_method_call( + c.pa.context_set_default_sink, index_arg=False, + func=lambda sink: sink.name if isinstance(sink, PulseSinkInfo) else sink ) + source_default_set = _pulse_method_call( + c.pa.context_set_default_source, index_arg=False, + func=lambda source: source.name if isinstance(source, PulseSourceInfo) else source ) + + sink_input_mute = _pulse_method_call( + c.pa.context_set_sink_input_mute, lambda mute=True: mute ) + sink_input_move = _pulse_method_call( + c.pa.context_move_sink_input_by_index, lambda sink_index: sink_index ) + sink_mute = _pulse_method_call( + c.pa.context_set_sink_mute_by_index, lambda mute=True: mute ) + sink_input_volume_set = _pulse_method_call( + c.pa.context_set_sink_input_volume, lambda vol: vol.to_struct() ) + sink_volume_set = _pulse_method_call( + c.pa.context_set_sink_volume_by_index, lambda vol: vol.to_struct() ) + sink_suspend = _pulse_method_call( + c.pa.context_suspend_sink_by_index, lambda suspend=True: suspend ) + sink_port_set = _pulse_method_call( + c.pa.context_set_sink_port_by_index, + lambda port: port.name if isinstance(port, PulsePortInfo) else port ) + + source_output_mute = _pulse_method_call( + c.pa.context_set_source_output_mute, lambda mute=True: mute ) + source_output_move = _pulse_method_call( + c.pa.context_move_source_output_by_index, lambda sink_index: sink_index ) + source_mute = _pulse_method_call( + c.pa.context_set_source_mute_by_index, lambda mute=True: mute ) + source_output_volume_set = _pulse_method_call( + c.pa.context_set_source_output_volume, lambda vol: vol.to_struct() ) + source_volume_set = _pulse_method_call( + c.pa.context_set_source_volume_by_index, lambda vol: vol.to_struct() ) + source_suspend = _pulse_method_call( + c.pa.context_suspend_source_by_index, lambda suspend=True: suspend ) + source_port_set = _pulse_method_call( + c.pa.context_set_source_port_by_index, + lambda port: port.name if isinstance(port, PulsePortInfo) else port ) + + + def module_load(self, name, args=''): + if is_list(args): args = ' '.join(args) + name, args = map(c.force_bytes, [name, args]) + data = list() + with self._pulse_op_cb(raw=True) as cb: + cb = c.PA_CONTEXT_INDEX_CB_T( + lambda ctx, index, userdata, cb=cb: data.append(index) or cb() ) + try: c.pa.context_load_module(self._ctx, name, args, cb, None) + except c.pa.CallError as err: raise PulseOperationInvalid(err.args[-1]) + index, = data + if index == c.PA_INVALID: + raise PulseError('Failed to load module: {} {}'.format(name, args)) + return index + + module_unload = _pulse_method_call(c.pa.context_unload_module, None) + + + def stream_restore_test(self): + 'Returns module-stream-restore version int (e.g. 1) or None if it is unavailable.' + data = list() + with self._pulse_op_cb(raw=True) as cb: + cb = c.PA_EXT_STREAM_RESTORE_TEST_CB_T( + lambda ctx, version, userdata, cb=cb: data.append(version) or cb() ) + try: c.pa.ext_stream_restore_test(self._ctx, cb, None) + except c.pa.CallError as err: raise PulseOperationInvalid(err.args[-1]) + version, = data + return version if version != c.PA_INVALID else None + + stream_restore_read = _pulse_get_list( + c.PA_EXT_STREAM_RESTORE_READ_CB_T, + c.pa.ext_stream_restore_read, PulseExtStreamRestoreInfo, index_arg=False ) + stream_restore_list = stream_restore_read # for consistency with other *_list methods + + @ft.partial(_pulse_method_call, c.pa.ext_stream_restore_write, index_arg=False) + def stream_restore_write( obj_name_or_list, + mode='merge', apply_immediately=False, **obj_kws ): + '''Update module-stream-restore db entry for specified name. + Can be passed PulseExtStreamRestoreInfo object or list of them as argument, + or name string there and object init keywords (e.g. volume, mute, channel_list, etc). + "mode" is PulseUpdateEnum value of + 'merge' (default), 'replace' or 'set' (replaces ALL entries!!!).''' + mode = PulseUpdateEnum[mode]._c_val + if is_str(obj_name_or_list): + obj_name_or_list = PulseExtStreamRestoreInfo(obj_name_or_list, **obj_kws) + if isinstance(obj_name_or_list, PulseExtStreamRestoreInfo): + obj_name_or_list = [obj_name_or_list] + # obj_array is an array of structs, laid out contiguously in memory, not pointers + obj_array = (c.PA_EXT_STREAM_RESTORE_INFO * len(obj_name_or_list))() + for n, obj in enumerate(obj_name_or_list): + obj_struct, dst_struct = obj.to_struct(), obj_array[n] + for k,t in obj_struct._fields_: setattr(dst_struct, k, getattr(obj_struct, k)) + return mode, obj_array, len(obj_array), int(bool(apply_immediately)) + + @ft.partial(_pulse_method_call, c.pa.ext_stream_restore_delete, index_arg=False) + def stream_restore_delete(obj_name_or_list): + '''Can be passed string name, + PulseExtStreamRestoreInfo object or a list of any of these.''' + if is_str(obj_name_or_list, PulseExtStreamRestoreInfo): + obj_name_or_list = [obj_name_or_list] + name_list = list((obj.name if isinstance( obj, + PulseExtStreamRestoreInfo ) else obj) for obj in obj_name_or_list) + name_struct = (c.c_char_p * len(name_list))() + name_struct[:] = list(map(c.force_bytes, name_list)) + return [name_struct] + + + def default_set(self, obj): + 'Set passed sink or source to be used as default one by pulseaudio server.' + assert_pulse_object(obj) + method = { + PulseSinkInfo: self.sink_default_set, + PulseSourceInfo: self.source_default_set }.get(type(obj)) + if not method: raise NotImplementedError(type(obj)) + method(obj) + + def mute(self, obj, mute=True): + assert_pulse_object(obj) + method = { + PulseSinkInfo: self.sink_mute, + PulseSinkInputInfo: self.sink_input_mute, + PulseSourceInfo: self.source_mute, + PulseSourceOutputInfo: self.source_output_mute }.get(type(obj)) + if not method: raise NotImplementedError(type(obj)) + method(obj.index, mute) + obj.mute = mute + + def port_set(self, obj, port): + assert_pulse_object(obj) + method = { + PulseSinkInfo: self.sink_port_set, + PulseSourceInfo: self.source_port_set }.get(type(obj)) + if not method: raise NotImplementedError(type(obj)) + method(obj.index, port) + obj.port_active = port + + def card_profile_set(self, card, profile): + assert_pulse_object(card) + if is_str(profile): + profile_dict = dict((p.name, p) for p in card.profile_list) + if profile not in profile_dict: + raise PulseIndexError( 'Card does not have' + ' profile with specified name: {!r}'.format(profile) ) + profile = profile_dict[profile] + self.card_profile_set_by_index(card.index, profile.name) + card.profile_active = profile + + def volume_set(self, obj, vol): + assert_pulse_object(obj) + method = { + PulseSinkInfo: self.sink_volume_set, + PulseSinkInputInfo: self.sink_input_volume_set, + PulseSourceInfo: self.source_volume_set, + PulseSourceOutputInfo: self.source_output_volume_set }.get(type(obj)) + if not method: raise NotImplementedError(type(obj)) + method(obj.index, vol) + obj.volume = vol + + def volume_set_all_chans(self, obj, vol): + assert_pulse_object(obj) + obj.volume.value_flat = vol + self.volume_set(obj, obj.volume) + + def volume_change_all_chans(self, obj, inc): + assert_pulse_object(obj) + obj.volume.values = [max(0, v + inc) for v in obj.volume.values] + self.volume_set(obj, obj.volume) + + def volume_get_all_chans(self, obj): + # Purpose of this func can be a bit confusing, being here next to set/change ones + '''Get "flat" volume float value for info-object as a mean of all channel values. + Note that this DOES NOT query any kind of updated values from libpulse, + and simply returns value(s) stored in passed object, i.e. same ones for same object.''' + assert_pulse_object(obj) + return obj.volume.value_flat + + + def event_mask_set(self, *masks): + mask = 0 + for m in masks: mask |= PulseEventMaskEnum[m]._c_val + with self._pulse_op_cb() as cb: + c.pa.context_subscribe(self._ctx, mask, cb, None) + + def event_callback_set(self, func): + '''Call event_listen() to start receiving these, + and be sure to raise PulseLoopStop in a callback to stop the loop. + Callback should accept single argument - PulseEventInfo instance. + Passing None will disable the thing.''' + self.event_callback = func + + def event_listen(self, timeout=None, raise_on_disconnect=True): + '''Does not return until PulseLoopStop + gets raised in event callback or timeout passes. + timeout should be in seconds (float), + 0 for non-blocking poll and None (default) for no timeout. + raise_on_disconnect causes PulseDisconnected exceptions by default. + Do not run any pulse operations from these callbacks.''' + assert self.event_callback + try: self._pulse_poll(timeout) + except c.pa.CallError: pass # e.g. from mainloop_dispatch() on disconnect + if raise_on_disconnect and not self.connected: raise PulseDisconnected() + + def event_listen_stop(self): + '''Stop event_listen() loop from e.g. another thread. + Does nothing if libpulse poll is not running yet, so might be racey with + event_listen() - be sure to call it in a loop until event_listen returns or something.''' + self._loop_stop = True + c.pa.mainloop_wakeup(self._loop) + + + def set_poll_func(self, func, func_err_handler=None): + '''Can be used to integrate pulse client into existing eventloop. + Function will be passed a list of pollfd structs and timeout value (seconds, float), + which it is responsible to use and modify (set poll flags) accordingly, + returning int value >= 0 with number of fds that had any new events within timeout. + func_err_handler defaults to traceback.print_exception(), + and will be called on any exceptions from callback (to e.g. log these), + returning poll error code (-1) to libpulse after that.''' + if not func_err_handler: func_err_handler = traceback.print_exception + self._pa_poll_cb = c.PA_POLL_FUNC_T(ft.partial(self._pulse_poll_cb, func, func_err_handler)) + c.pa.mainloop_set_poll_func(self._loop, self._pa_poll_cb, None) + + + def get_peak_sample(self, source, timeout, stream_idx=None): + '''Returns peak (max) value in 0-1.0 range for samples in source/stream within timespan. + "source" can be either int index of pulseaudio source + (i.e. source.index), its name (source.name), or None to use default source. + Resulting value is what pulseaudio returns as + PA_SAMPLE_FLOAT32NE float after "timeout" seconds. + If specified source does not exist, 0 should be returned after timeout. + This can be used to detect if there's any sound + on the microphone or any sound played through a sink via its monitor_source index, + or same for any specific stream connected to these (if "stream_idx" is passed). + Sample stream masquerades as + application.id=org.PulseAudio.pavucontrol to avoid being listed in various mixer apps. + Example - get peak for specific sink input "si" for 0.8 seconds: + pulse.get_peak_sample(pulse.sink_info(si.sink).monitor_source, 0.8, si.index)''' + samples, proplist = [0], c.pa.proplist_from_string('application.id=org.PulseAudio.pavucontrol') + ss = c.PA_SAMPLE_SPEC(format=c.PA_SAMPLE_FLOAT32NE, rate=25, channels=1) + s = c.pa.stream_new_with_proplist(self._ctx, 'peak detect', c.byref(ss), None, proplist) + c.pa.proplist_free(proplist) + + @c.PA_STREAM_REQUEST_CB_T + def read_cb(s, bs, userdata): + buff, bs = c.c_void_p(), c.c_int(bs) + c.pa.stream_peek(s, buff, c.byref(bs)) + try: + if not buff or bs.value < 4: return + # This assumes that native byte order for floats is BE, same as pavucontrol + samples[0] = max(samples[0], c.cast(buff, c.POINTER(c.c_float))[0]) + finally: + # stream_drop() flushes buffered data (incl. buff=NULL "hole" data) + # stream.h: "should not be called if the buffer is empty" + if bs.value: c.pa.stream_drop(s) + + if stream_idx is not None: c.pa.stream_set_monitor_stream(s, stream_idx) + c.pa.stream_set_read_callback(s, read_cb, None) + if source is not None: source = unicode(source).encode('utf-8') + try: + c.pa.stream_connect_record( s, source, + c.PA_BUFFER_ATTR(fragsize=4, maxlength=2**32-1), + c.PA_STREAM_DONT_MOVE | c.PA_STREAM_PEAK_DETECT | + c.PA_STREAM_ADJUST_LATENCY | c.PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND ) + except c.pa.CallError: + c.pa.stream_unref(s) + raise + + try: self._pulse_poll(timeout) + finally: + try: c.pa.stream_disconnect(s) + except c.pa.CallError: pass # stream was removed + + c.pa.stream_unref(s) + return min(1.0, samples[0]) + + def play_sample(self, name, sink=None, volume=1.0, proplist_str=None): + '''Play specified sound sample, + with an optional sink object/name/index, volume and proplist string parameters. + Sample must be stored on the server in advance, see e.g. "pacmd list-samples". + See also libcanberra for an easy XDG theme sample loading, storage and playback API.''' + if isinstance(sink, PulseSinkInfo): sink = sink.index + sink = str(sink) if sink is not None else None + proplist = c.pa.proplist_from_string(proplist_str) if proplist_str else None + volume = int(round(volume*c.PA_VOLUME_NORM)) + with self._pulse_op_cb() as cb: + try: + if not proplist: + c.pa.context_play_sample(self._ctx, name, sink, volume, cb, None) + else: + c.pa.context_play_sample_with_proplist( + self._ctx, name, sink, volume, proplist, cb, None ) + except c.pa.CallError as err: raise PulseOperationInvalid(err.args[-1]) + + +def connect_to_cli(server=None, as_file=True, socket_timeout=1.0, attempts=5, retry_delay=0.3): + '''Returns connected CLI interface socket (as file object, unless as_file=False), + where one can send same commands (as lines) as to "pacmd" tool + or pulseaudio startup files (e.g. "default.pa"). + "server" option can be specified to use non-standard unix socket path + (when passed absolute path string) or remote tcp socket, + when passed remote host address (to use default port) or (host, port) tuple. + Be sure to adjust "socket_timeout" option for tcp sockets over laggy internet. + Returned file object has line-buffered output, + so there should be no need to use flush() after every command. + Be sure to read from the socket line-by-line until + "### EOF" or timeout for commands that have output (e.g. "dump\\n"). + If default server socket is used (i.e. not specified), + server pid will be signaled to load module-cli between connection attempts. + Completely separate protocol from the regular API, as wrapped by libpulse. + PulseError is raised on any failure.''' + import socket, errno, signal, time + s, n = None, attempts if attempts > 0 else None + try: + pid_path, sock_af, sock_t = None, socket.AF_UNIX, socket.SOCK_STREAM + if not server: server, pid_path = map(c.pa.runtime_path, ['cli', 'pid']) + else: + if not is_list(server): + server = c.force_str(server) + if not server.startswith('/'): server = server, 4712 # default port + if is_list(server): + try: + addrinfo = socket.getaddrinfo( + server[0], server[1], 0, sock_t, socket.IPPROTO_TCP ) + if not addrinfo: raise socket.gaierror('No addrinfo for socket: {}'.format(server)) + except (socket.gaierror, socket.error) as err: + raise PulseError( 'Failed to resolve socket parameters' + ' (address, family) via getaddrinfo: {!r} - {} {}'.format(server, type(err), err) ) + sock_af, sock_t, _, _, server = addrinfo[0] + + s = socket.socket(sock_af, sock_t) + s.settimeout(socket_timeout) + while True: + ts = c.mono_time() + try: s.connect(server) + except socket.error as err: + if err.errno not in [errno.ECONNREFUSED, errno.ENOENT, errno.ECONNABORTED]: raise + else: break + if n: + n -= 1 + if n <= 0: raise PulseError('Number of connection attempts ({}) exceeded'.format(attempts)) + if pid_path: + with open(pid_path) as src: os.kill(int(src.read().strip()), signal.SIGUSR2) + time.sleep(max(0, retry_delay - (c.mono_time() - ts))) + + if as_file: res = s.makefile('rw', 1) + else: res, s = s, None # to avoid closing this socket + return res + + except Exception as err: # CallError, socket.error, IOError (pidfile), OSError (os.kill) + raise PulseError( 'Failed to connect to pulse' + ' cli socket {!r}: {} {}'.format(server, type(err), err) ) + + finally: + if s: s.close() diff --git a/src/utils/settings/settings.py b/src/utils/settings/settings.py index f684373..d7bd8c8 100644 --- a/src/utils/settings/settings.py +++ b/src/utils/settings/settings.py @@ -28,7 +28,6 @@ class Settings(StartCheckMixin, Singleton): self._PLUGINS_PATH = f"{self._HOME_CONFIG_PATH}/plugins" self._DEFAULT_ICONS = f"{self._HOME_CONFIG_PATH}/icons" self._CONFIG_FILE = f"{self._HOME_CONFIG_PATH}/settings.json" - self._GLADE_FILE = f"{self._HOME_CONFIG_PATH}/Main_Window.glade" self._CSS_FILE = f"{self._HOME_CONFIG_PATH}/stylesheet.css" self._KEY_BINDINGS_FILE = f"{self._HOME_CONFIG_PATH}/key-bindings.json" self._PID_FILE = f"{self._HOME_CONFIG_PATH}/{app_name.lower()}.pid" @@ -36,23 +35,6 @@ class Settings(StartCheckMixin, Singleton): self._CONTEXT_MENU = f"{self._HOME_CONFIG_PATH}/contexct_menu.json" self._WINDOW_ICON = f"{self._DEFAULT_ICONS}/{app_name.lower()}.png" - # self._USR_CONFIG_FILE = f"{self._USR_PATH}/settings.json" - # self._PLUGINS_PATH = f"plugins" - # self._CONFIG_FILE = f"settings.json" - # self._GLADE_FILE = f"Main_Window.glade" - # self._CSS_FILE = f"stylesheet.css" - # self._KEY_BINDINGS_FILE = f"key-bindings.json" - # self._PID_FILE = f"{app_name.lower()}.pid" - # self._WINDOW_ICON = f"{app_name.lower()}.png" - # self._UI_WIDEGTS_PATH = f"ui_widgets" - # self._CONTEXT_MENU = f"contexct_menu.json" - # self._DEFAULT_ICONS = f"icons" - - - # with zipfile.ZipFile("files.zip", mode="r", allowZip64=True) as zf: - # with io.TextIOWrapper(zf.open("text1.txt"), encoding="utf-8") as f: - - if not os.path.exists(self._HOME_CONFIG_PATH): os.mkdir(self._HOME_CONFIG_PATH) if not os.path.exists(self._PLUGINS_PATH): @@ -69,10 +51,6 @@ class Settings(StartCheckMixin, Singleton): self._DEFAULT_ICONS = f"{self._USR_PATH}/icons" if not os.path.exists(self._DEFAULT_ICONS): raise MissingConfigError("Unable to find the application icons directory.") - if not os.path.exists(self._GLADE_FILE): - self._GLADE_FILE = f"{self._USR_PATH}/Main_Window.glade" - if not os.path.exists(self._GLADE_FILE): - raise MissingConfigError("Unable to find the application Glade file.") if not os.path.exists(self._KEY_BINDINGS_FILE): self._KEY_BINDINGS_FILE = f"{self._USR_PATH}/key-bindings.json" if not os.path.exists(self._KEY_BINDINGS_FILE): @@ -154,7 +132,6 @@ class Settings(StartCheckMixin, Singleton): def get_main_window_min_height(self) -> any: return self._main_window_mh def get_builder(self) -> any: return self._builder def get_paint_bg_color(self) -> any: return self.PAINT_BG_COLOR - def get_glade_file(self) -> str: return self._GLADE_FILE def get_ui_widgets_path(self) -> str: return self._UI_WIDEGTS_PATH def get_context_menu_data(self) -> str: return self._context_menu_data diff --git a/src/utils/settings/start_check_mixin.py b/src/utils/settings/start_check_mixin.py index 7fba503..688da36 100644 --- a/src/utils/settings/start_check_mixin.py +++ b/src/utils/settings/start_check_mixin.py @@ -41,6 +41,7 @@ class StartCheckMixin: def _write_new_pid(self): pid = os.getpid() self._write_pid(pid) + print(f"{app_name} PID: {pid}") def _clean_pid(self): os.unlink(self._PID_FILE) diff --git a/user_config/bin/ b/user_config/bin/pulstar similarity index 62% rename from user_config/bin/ rename to user_config/bin/pulstar index 7a3e523..c651cfd 100755 --- a/user_config/bin/ +++ b/user_config/bin/pulstar @@ -17,13 +17,7 @@ function main() { path="${1}" fi - # NOTE: Remove if you want to pass file(s) besides directories... - if [ ! -d "${path}" ]; then - echo ": Path given not a directory..." - exit 1 - fi - cd "/opt/" - python /opt/.zip "$@" + python /opt/pulstar.zip } main "$@"; diff --git a/user_config/usr/applications/.desktop b/user_config/usr/applications/.desktop deleted file mode 100755 index d459bfb..0000000 --- a/user_config/usr/applications/.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name= -GenericName= -Comment= -Exec=/bin/ %F -Icon=/usr/share//icons/.png -Type=Application -StartupNotify=true -Categories=System;FileTools;Utility;Core;GTK;FileManager; -MimeType= -Terminal=false diff --git a/user_config/usr/applications/pulstar.desktop b/user_config/usr/applications/pulstar.desktop new file mode 100755 index 0000000..9207f5d --- /dev/null +++ b/user_config/usr/applications/pulstar.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Pulstar +GenericName=Volume Controlls +Comment=Pulstar is a Python + Gtk app to control the volume levels +Exec=/bin/pulstar +Icon=/usr/share/pulstar/icons/pulstar.png +Type=Application +StartupNotify=true +Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings; +Terminal=false diff --git a/user_config/usr/share/app_name/Main_Window.glade b/user_config/usr/share/app_name/Main_Window.glade deleted file mode 100644 index c1a1964..0000000 --- a/user_config/usr/share/app_name/Main_Window.glade +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - True - False - vertical - - - True - False - Loaded Me From Glade! - - - False - True - 0 - - - - - - - - - - diff --git a/user_config/usr/share/app_name/icons/app_name-64x64.png b/user_config/usr/share/app_name/icons/app_name-64x64.png deleted file mode 100644 index 6105709cd12abc8d75074fa12ca5fe76b856f13f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11833 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 z 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 diff --git a/user_config/usr/share/app_name/icons/dir.png b/user_config/usr/share/app_name/icons/dir.png deleted file mode 100644 index a9b5e9f90847d5afe34fec63651ffebcd6c5b6e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ z$hLzpWB=2SsX#%=64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UVK#D># zOL9^f0)R3_3ZBXNc?uyJsky1DHrHsBfZYpno_di4|!2nE;;ZdJgpSz-K{;CN})=gZxe$uiHlb3Cnx_r~r6&t6n*feeBrs*p;&sep2 z#_G*8S8tiQdMnTtp!q-(xF)ho0G+E>666=mz{teP#m&ttEFvl4>6lif#XQ z8W13Ilv$zc>xRv19^Jh6-?ox*^G&|HnMr59#~t{-#It^DV2glL{i@!-kE4TcEV%OT z-p;}>w+z1?PA#6E70US!LfC%He;CD4G5_F<15KQ|YZz6wZP-1z`D{=_^8Ki6{avaJ zN7k*_@#bs#uBW^^zIST;wfe&9^4sO*Om&4j>bpKNANjrI3)7R|Q=T#KpZwhZ_*dum zPKyse-tD=U{igWAzqi#}eLQv9Y-+XEJ!hQx&W=4!!(c)y8wWhvU6w0CUnUvw{_K};>3gl1wceg9u(=*FzrTHMS*!j2>yL7`K8m_0?z;72 ikl~}S#Zrnb|3dd~^!AY~RX+CuWU8mDpUXO@geCx;cxYb$ diff --git a/user_config/usr/share/app_name/icons/doc.png b/user_config/usr/share/app_name/icons/doc.png deleted file mode 100644 index f8388267bc53ad5b95537b2977873701ac3de87b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&p zZ_9Puk?XiC-}6{u%6r8rAArhKrhnG%zo$Rxf&SbtZY#d}uKt>}<$cc94;{z8cOCoQ zef;}`Q$J^&|26ykuVq(%{r~^}l(nx4&>f;BL4LsuGV1!hQ>M<92A` za$u2V;P7(L&tTlTfNe{YTmTot0$~9MRfh(*0}QPUOht^WN18--M73=5e-P5pBywZE zqa&Bf?#D-!zU*O~{q@o;^8-1PL-!t-%^{%RaKQdUf!l(-hV)bR3I~jz$_qT0S@&69 z;D^cqV^xO-=8c(K|8@#XgfTm*UyupEDR0WO-Js**PYaPZ#^2g)85_AZEX$o=90q!r N!PC{xWt~$(69DZ(DkcB` diff --git a/user_config/usr/share/app_name/icons/image.png b/user_config/usr/share/app_name/icons/image.png deleted file mode 100644 index 46f1ae6db661c4c331704cf0c47134c5fc7673dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6591 zcmV;w89?TVP)uJ@VVD_UC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$Or zQF$}6R&?d%y_c8YA7_1QpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv z1)yUy0P^?0*fb9UASvow`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q z{wNRKos+;6rV8ldy0Owz(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E`vOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G4 z1dM~{UdP6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4E zs0sQWIt5*Tu0n&*J!lk~f_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+ zAA{TB3-ERLHar49hi4Ih5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=nat zP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+edD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVbnL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0 zWMyP6Wy582WNT#4$d1qunl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8d zZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iu ztvy=3T65Yu+7a4Yv^%sXb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i z^lS773}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*Z zvFf(^Xl-N7w{EeXveC4Ov)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx z)P8cQ&Qi|OhNWW;>JChYI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_W zICNY@+|jrX%s^&6b2i>5eqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!q zl}XcFH*PieWwLj2ZSq`7V9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I- z?$tAVKYn8-l({mqQ$Q8{O!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;c zwT88(J6|n-WB%w`m$h~4pmp)YIh_ z3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dl zbFb#!9eY1iCsp6Bajj|Hr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syT zu9enWavU5N9)I?I-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$m zU2Q)a|9JSc+Uc4zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;; zJuhGEb?H5K#o@~7t9DmUU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX z=)z6+o0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@ z>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHs zy69KwU-!MxeeuI@&cF4|M9z%AfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)00009a7bBm z000XU000XU0RWnu7ytkO2XskIMF-;r69pqOru|Td000ikNklc zlp2(J3qVSVl+vX*3n9$nSt&L6jk>O9=Wxyqa^~>fF+DBIlFtE@1Dn-ScjN_z~DXm6Krz9efZ-L8z_ZJN%pxwft8lj zF+r~sK;?|K2Hzy4l-QD}5reRTz>$bjlTyZLg@_G7D8yi$g-S~5+$y@#iV!1ZET?3Q zG1N^$NP#62iU4i!pZ#4(k*ca_nue6pV3l1Y6DJC&s;YSJk4{!8g{s!LU;R_W?lv~m zc()#bNZ|aAs4YopbQ6#z5$tL>89|})J8HL~2tieE3AQ2&Ih=z|0huGgt`RxonmyiL zA}0o9p2`8|cZBOVdE-aEi%LmC2uGo?hm7}L0O+v-rkn5aNs8E}Ml>E@opon;7{P6@ zVUJ3YA|;Jkb?Ozv2J7w_gdn&zMTnz0lD3p2abb@r1@AT|Cfdr`p>m`MNn_Wo#f%{2 zs|~K%GTtU=w2OfajdSFxRpii72ImLb(*# zSMgDD>XoMssl|=Ln~KI%*sz_14T1Grved2lmW*!viIZ}EORy_~U1P%zQI1bWr3M`X z!L4a@h4b5!#oDkVNky=0WX|a52cOWd#`+z>RQM2P_tQgQRsnTgAN@#cjZz99LT3T3 zc^?)hsQd-dIFiypA!H!i%+zf#VUNsd*nErUHIzb;l3>@JoB{}J zXz`yrIgP2h&-d+#mxA?sf?ExCQP(xrTBMZ2VRrZ*)}p6c?v+qVA?Mt3a$Ai|P~csA ziWEVx6-6A=-=qwMhzUCcdB8JAcs|31Z3h|AZKxc{32u$r??}q<3fEYPj2=aas4Xf* zOtVMkjCbo3Io|t$OO#Shav41zR?8hQB>IC{b|Zt6lN7`#yp8d!kU0^xIr(m%72o-F zFY^OWzQ|3syywORUwG|7KJ(Hy^L%}V6zzOjNK`3gDO$%mv*uFDkU&j`o@01@+_csr zgdmObG&Q1lqHdXCEP}s&-(T|d z_5XoQyjwycO(OZ1mwXa}ejklX2`V4YJ>l3P~BE~q--xwn~=K&HY3Yd}xpv&De zrtvtxo5iztXP8)bCs}6k>^tx8{Eo&{WO?j2qH$!YXhP;EAHD@eUK(?sdGKG^n$4-- zuxnh{;oR|Ij(N@aGdU#*b0g=1EU8Z zGIcgH>ktE_Sn^@x&rcvQ7dNdjc)KQQ)A0at!~;y&k);@`vEd;S5ba z;sMU@T8E4Pak`(L1dY>Xxx@qd+MDvWp(8k+oWN`9D9$Wn^sT@a(T-H2fe~U^y&wn+~P&KcTrJ}CRu%Skj+$jRA%>2<; zAEEl(_wkXNFY*2F`fqOCUU92_2Y>j=qgdIczd2)@J>G3vzENMCL@8@6r4;u2J=WT3 zRp?j&V-nQUNaq})Gx3%O?2m+aw;3GVO5Nh!t51>2`2uzg*Ujf?!sEOyKS)+|Vbh@- zk1m0zTl`zU2fO0WZ$HK#zwrcCWUSxeY@#5MDWQ|^a*RTeYTyCBYIBPIF#8RM5C$mp z)^NfDre^QGZ_C{=j2PgAw%Qw<=jV9$>eGvxKPW+S^Xzwc*ZLQUqi3UW6eOmpv7Ln# z(GqAQGG*jEbqwef2zJT?TK`mq-C(`bTI2Li;z~RqrHsyTmIvhGxM_c%hpzn!shnN0 zgr`}l=Xq-Ni6f|F)p7~C1Zk|aQrak!ltIU1zj3r4p~zjGad|)K?s-6M*CeUiEU=%b zT;q}Imw1QyEE#vVl}xmJmB-hggi;2Y9qeYrH$d_RPpyBLce>v|cc-~uowcDeH79en z>3Ma4@63MsYV;j>zz{ck9-uT)TWr{oOT}ZWpJuK8;a-c&Z2?2P%p=vOQ9%uO&QcML zL+n>PvH1xEf$Qd3Zo1#bs~dNtq!UM8YG`iwE z{vDNievumAjS?#L0*~H!2FV-4orVxwzVYUF5B0HJD$d*&d3^mzN)e-?2$-fmkf0eJ z;G7#W!7K5A7$aKiWgZ|U8T*!A%SrY;zWy0BU&YBU^W^3eq;hS7^VVXXSpRtE6Cf## z%!wl9Vm&g(c#;M$Dxj|h^>MSk>^ych&R?)v|2?I=wMr0p9$Wtuk5-=|m-V8>C~?74 zn;$}#SB9`02-V$%c2EBU;N_YzqZ-N7x7& z9(KP*au==NP`WFoUJQ`!Nl<_C-uugoqGJ*?@PN8Tc06Fr0Plxk^@}{Y`LQEt2D73H zd#tgucaGD(gDdfXCM9%g$Wp%vkN>q9shsom<_`v#X4UclwNL}>4|0Zr3jj9F|{N>Y)9 zzAsK)h(u~0B1^T%144IAHn$(S)J?J9w>PZ)wbGHV@LSfa=iYK2aBsa47PtAQL!L5o zx2cq3x7&?)&4L1^akDQcsgV)}oC$S5c|o#LG};~R1-iRUDdlkTbzP&iJ|aVMnkG); zW?k24B~h_i#MynL2Pp}#D0+0}7lzI(88eU4hdh}k3JxbnQd@o2S`8rbU7vBrfbo1t; z_mI1_^mmS1qBa8$nA^|zb3Mlc`Z(Fg&As=Wcja!C8f>WfU-41u@+2zOyte-k*RFkm zQWQc&E?)Z}*Up|LcMhlQZnBr(z-ILvrAR{a2%_F#uKhEhkR`CY_*UfVD_H%X2obrx z{Qw*BZ;16PE%y(GH|lTa{QPs2Vo7B~efwLue(leAJ->grqX>4@R;@=Nuy6gD;{mgM zf~(bPC?M8#4YuO^*Z+c2?+zCksi6o#7Mi5>NnU5eo}?r?HVb~EEnqa-VWOYCbLZs`xC(`22_gd*5}>z`l$mR%W?kpX%V#RJ*unD zKZX5CnY5?#{eGsr=E!#Y#>jEpbk5P_g8!4>qcnk)mRyV)BYi1UO0dsu7l;rNTOzk< z3n?Cf$_Z@@KDL`QT2W$PCp3aWK;TLuDoxIrQlL_jZA#>>)5I63B-Eup5P>6eyYEw= zYn;@ET1ZH7+88nLY=( z7dicj_o@Ay9BVBh1aV~^(EEh;bmn_-nx?tbZ}f9ZDQ6eeW3^ZIy~^p=sFYfivy|g7 z*KR&;L!WD(XVM-&*FMjvZGF_QzbI#}eV$3X`&|3{Sk6-W{OI$!%jPYx=TFvceDX(fbxL&VkCmRc1T6q6juh)wTx~d#&?cza< zcwX`w{i$ANC3o^0m+XhRP<67QsS&TmXjc>4aTeq%iEoWmW>dphofvp0k1-icj?=kXkKc)lC|v=p&=SY7G^ x?gh^aI6G0~Rq*^)_>DXHC*B@!kGBWF{{fcoVjdUa!N&jq002ovPDHLkV1kX8$|L{) diff --git a/user_config/usr/share/app_name/icons/pdf.png b/user_config/usr/share/app_name/icons/pdf.png deleted file mode 100644 index 9f40122a8e9ef281901e085651fa66de960cae4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 925 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pK?PTIAN%F-q_%-x$%8-V~{Ru^Jlh}&z$X_xi~y`b$XGV{4yf+ zWn?H&`^%{CSBbH&a#P=y6~8Sj`Mhk&=VePjFJJm)Mi|9-EZE1`1tA5moJqLU6Kq8j5VGvjv*QM-d>CJKja|7`e0Z0qDT7{ z@Ue=x9@zCTit+dV|C5)xEuOis`2EaGr$@H>bMLhORy~vHEa0IcWLx}nu9@QL5C7Jh zX&z=3(1Zr%7`Gi@ z+rcECz{PMtSfD}Gfx-O%LmLBA2_x$XCeaErj?Z?Dt0hEM9Jpw!5zzSR;LT>oh)-;D z-n^G8s(8a2u>7j+ zJjt8L#OQU^+W%$ol~c1VVm|%2De->yIiSp{$#TD@bqZhb;MWIIABs=S_AyQP;aJC9 z@7=`^``2qPQ>12fE92L^Z&7o_S!&dSSYtQ+%hYC)a9y}J+~C8l_ggjg7FAu;*!ziN zM)gzP8CSILH(b-+-*8WRe#6G_PuBw(7%L7eyZw(>d&4WXDQgbA*>(Eg)|m(N)`VR6 iI#nofzso27&zyp}+m6{Mw{HSQ6oaR$pUXO@geCx$l#&Sm diff --git a/user_config/usr/share/app_name/icons/presentation.png b/user_config/usr/share/app_name/icons/presentation.png deleted file mode 100644 index 3a339af593f4932996667370db88dbdc050f86b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 882 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pG({c6t+>by80{rP(O=NlPcPs@Hg1J-h0;pch9pXZf+o>%^PQTx|5 zr(f5ce_eC=b=?(Y$m7;ukK2AdZvXSF_s@$Ne_qZ6+WY6_>_4yO{&_X;&#U=B_xydm z2$g7u zy(C%^MBZ?E3;YYq@; zP29q_Hf(L_y2CGRR%D2_ugaMC>EHP$zLTdlCB8p;vvcF`{ZEo=ISURHn)rH$X~^?& zh(7%Ls^Ln8EX%38Wp@R3xwkT3+GD7vwS`yEq18%~fz_G)&hCqCIt-jT41yI53I>e( z4zS)}l77Hd)1b+~;P1dNje${yky(O?;{vOQ0(Zy*GuMdCoH08VIIx~u=h(<~#qWH6 zP>XN&fu|<}v#v1|hgwf#t@C7L6$x-?{LlGi@A>yXrfLN8E%<5_DY1cji=7a2S>tsN zu^0ZA7`pjycDFR@XDUo!JN7Z%Qf#;D<(k(Al4T^K>V2yp{_(l7vHrrm=jk?$lke2b zU%SUt#jfn^@|Uq(d)qEN-}U)cZ)+Sh vg(L2s-MoMEqZICF(UN^ZN^i1n34LRJ(>cXB_UJWGf@bh^^>bP0l+XkK!91hU diff --git a/user_config/usr/share/app_name/icons/spreadsheet.png b/user_config/usr/share/app_name/icons/spreadsheet.png deleted file mode 100644 index 710efa631bbe46a69e7d43808c675b0f5c2411c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pjHh&2juQ60FprD3nqb#g8ju=dvf#l z7rV~$aGeiCp6-jiz1R4Auk{DY`fUgbSP~q(B0PLcbk?3cpyJje?d?aq=3id8;PRq{ zmlrL)wtVfa_3LhJ*nV&4|NsBZl4mjk-62{MbP0l+XkKZ6g@< diff --git a/user_config/usr/share/app_name/icons/text.png b/user_config/usr/share/app_name/icons/text.png deleted file mode 100644 index 2546fcd90b78ab5752f74234520af202a6c3987b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmXAlYe-XJ7{}kuB}=C`tC3Uis2C#YEF(%oowrN5E?>zZM=u=!!)$Hk)mC9(O>wRa ztp}7FMumD>MN&vAS7Q~pfuQN{Z5`z>l!S*Rq_&wNlqwpPlwd-drieN{O^})_sR}Fz z8;E)wQ_-|GPasfGxSS>$aRsSXlNw#vk)VN4;2IsS6Vx?l>Ewdk>>NQ&YxNMQKNTO7 zl|i&xt#-TJ@AuEm&3V0Ehr zKmx%31Q;lRal74+_xJaM_|(*t&1RdPo}QVRnVp@TpPvUFFc5()%gf6EgXYT0%IfMW z7=Vpn07O6&L}2y7b9YXF(PUauDMg&vSYE>31A3#Wwe5Px?T3%Y#>cG-&Ly`u5Dfiv z4d-1#h`|??3T3JV|KwQ-Q^;v|mUFqm$Q!9Hd?=PZ8S}+wB(iH?XMS864LScrkDYpO zq(^b9EU(~AbKi*BvGM%Z;IrkV9%D!xcquds+dsF6t-bHn;)u?m3SshkMqElKD#~Ft zzKiPIl3TmOXR1P|+k|#8n7f&gJ6UlP(HXtG0n2bYC&ctdZXd8H6DQQ7=*u#$Gc`@j zOG)MYU~KvaIr^iozD2e@aiyOuz+~qGBf=|9EOs1rC%K82rd64gp9(Qc?ox7`qifS$ zhy@>^@%xDRdtjr6wV$w*vv`E1m^CWO4=K1F!8X=g-_0UrwK;PvXzd%yk7wArTRwcf nSXpJ**OfNuzE@@2Gn)FB={Hgt{G?7Rd?*r?RhF8IYp?zTm=%Df diff --git a/user_config/usr/share/app_name/icons/trash.png b/user_config/usr/share/app_name/icons/trash.png deleted file mode 100644 index c6514b98b5644a1398e5b94566627683bdf8313c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmV<310wv1P)15yzTLCe34-$-L*zeV%iVi<#7%{pXzDkMHky2mk=z;1Ymqjw*`_ z;l=cX!@yxS)3eMo)!7q(s1S;8XDeoIfk&q@7uoI?s zN^{=g#zud^U7~af3UN1l@tmQLOr|QHWPuroi5&@B4xE5LwSSN~G+$j==zSl}UMNQg zyH_50>t(Oi+-x&5w89uZw-ptSj&|nuPG2fiPCt#GwwmD#Jm6oxx$^wCcxirh-cQ9a ziluU6K|Pn5D~^E<4p7JT?N5^#IMVgKv(20OG$aWqB{-E1 z9oKKm#x_8Yf!EY3G??PhH00od3`|8Cr#dh|?Xc^Z-nF9>;EQ2fnv!5>XX9e5(~w%Q zWxxzw@&_hiR$9Lcoc|vHx!)lO6-mr}?nq6T47i&p1j1BE6+d+ySi293cx+=BS^bPd z2pc)RW6($#nyaDBQ#bUD)T*xo(~>w=@g&O4P0907%sO^H(WGl-(aW~-b3x1wa&{7m zuWn2M!9yrPfv)`{h@?zgx|KUDMpnH#&O}b58kogEan(fp3IGm{0yF@Eai?E1TUpQI zP%w=Iic?7KIfYR^3~mA204Ox%tPdgo9_IQMM*@lfDHI}T5|U27TT;IPe*mD6XwTM& zhIg`@LxX@qgMnb0tVSaItJ7O4fL$Dd0pPc<&*3~0q)-r0(BKH6aSoNuc<)UB0GrMp z6mp=g$)0LI{yHl_Lcst-1y5iV&y7F1{N=AVPXJ(u4pd6_>+}0v$EYsS1=O&N8hVrM zpZ|RC94JwwF%&23;_5K`+J-nN-|HR00000 LNkvXXu0mjfZ-lz6 diff --git a/user_config/usr/share/app_name/icons/web.png b/user_config/usr/share/app_name/icons/web.png deleted file mode 100644 index 17017ce3f5c04869fd808d91732939ea9b32b36d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1845 zcmX9-30PBC7JeZt0R&N&im4Vm5LuK(q#_nd0tCVUMu-({*@BToAxV=L*+e!GkXn@r ziUOk+5JanpgIGYI)*&h-ERqnyl7#n?m%Ok@b?nd&oyW}mzH{$?&iTLZo^$Vi%IPuT zRu-Er006L}MTEv;XY!g6@Yp_1EnQ3Cg%lctKp-eo`<0k$&W|`O1OVdwHNz!tzVs;; zbOgiV!8qPAFf&EK0x~l*JvrPH!qgN#%abQayT0({W{mXN8i~OH(^&u=%LtrksXVR| zgU!ldIWbrn{PYx%HMdbK!l)b8sALhy<_Unflnkc`Rwf4oXU~*Vv1II8GK9y^7I4zo zAP^GbLTopXZa#0EirfR|UQfRzGrPO?&Y85umTaIGS*bWSRZ zD`W}1nAtmpDPF#w-d>5tN4f#P=q^2q5r*9|K0dBcDCXzqr>3S*6jdsf7@nJ(TU=ax z^X84gV89~F%gakkOIT!KVF5u9wOXxGsW2B?7{Cbs2N(x)F^*QN#qdzr=R?%L4N;wk z!d-?UTqF@B32nP1(p3`aCW-QpM0-eLeI#+d!*tK#Sf62r@5n*Fk;8jOjs%P)QO1%f zW6aR8RO;B#@Yly8$2rmC=?Ab4>^;QlZta9Ma9XfOQ)x*il%Eyr)$clua!?v zPtV-AI9ppWTYp~JP^G+GgLR~8tyA6mhwA<qq?n0{jdpZeC|;T_Bc>935wYc z?RSIdZcyw_h~Wtx^oEXn0e#~Sb>4-#9zZ=0q23Ot{|WT03#PlnhkW70eQ_glMx^$_R@Y<)VrQXIbz5PntJ0g8Rbn*LUbxsP8jj*_-Z(cX zN{bSF%odkOt+)PVn?cJf{v^KG_!od*Z`y6_gfo9@lyz1e6<-f@N(DIgw^V+X{8VBDgh-5c#-s8%>=Ds{ zKfZ$B2p)baC-hl5^DPUkA4$M1z~aT=lsHFr2wwAQ^^hG?0?{1_9}F`e&AR*C-`<=x z*RYSBq9v~+{b;!tNT=fS*ot>s1gZ^;zlQsQ*$T>i*<;Y?y|^T*Id-^@z$QlD35-#i zJ2sI;MpjWp9kw)4zj?RIGhcdL7=G-=JU=#Yy(dm>A@;T}0CztyE+AaJ=M8AMMO$_| z7Id+bi9q0dam5HecC>c_tpmQK;`iVX>Wcn}ut+z3R7*7gNk8~2Q z1}q%HZJIat|JlfU$d-TD#L3I&q0rktK6eLt#iF1#&8Ilzqp1VwcF)ZjcT=&PXup+d zrtYX6^88blp$1-*%0m?Q_y0cl4qR{hAfh?`YOtxbIN6Bo?^I^~=S_`RJz#u_xuM8K zT55i|B_nE=rK5wevMuH?>Bb+{SGUyyyt<;S|E!pu1J}QO|8A5sa;v2BD^p^p&yHcv RE^NR6T3Afz&y?h%{{oe`z-j;h diff --git a/user_config/usr/share/app_name/contexct_menu.json b/user_config/usr/share/pulstar/contexct_menu.json similarity index 100% rename from user_config/usr/share/app_name/contexct_menu.json rename to user_config/usr/share/pulstar/contexct_menu.json diff --git a/user_config/usr/share/app_name/icons/audio.png b/user_config/usr/share/pulstar/icons/audio.png similarity index 100% rename from user_config/usr/share/app_name/icons/audio.png rename to user_config/usr/share/pulstar/icons/audio.png diff --git a/user_config/usr/share/app_name/icons/bin.png b/user_config/usr/share/pulstar/icons/bin.png similarity index 100% rename from user_config/usr/share/app_name/icons/bin.png rename to user_config/usr/share/pulstar/icons/bin.png diff --git a/user_config/usr/share/pulstar/icons/pulstar-64x64.png b/user_config/usr/share/pulstar/icons/pulstar-64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f9833d054a2d9b3559b2fb2dfbbdc5f3d1b856 GIT binary patch literal 17677 zcmeIZbx>SS6E?cIy95o3OK^wa?(PtLad&rz5Zql7+}(n^OK>L;WP`h1@_W7RS9R;H zy5E2A?w;KAbtKhx8D=G2@>B?U!NmOFs1Bub$%9kysccz^A zf+~J$T>CUv8fe6in3_QY+y$ed4kuq9{Hq`R?-o@U8Go+GF#X&%I4TYA3BKug{px$G zSa*8Es{XqeP=j&bL@5$fpg3FJBz{hXyK0;=Lt(4;^>CBR0tH z;|P&MkzUqlp4Ke*Uhx|JA8!ReQGW}4_+G1^fOPHB>($k8{XP9r67}2n=NHBF=f^Yq z^v51r=*Iqsy7kEsjKsv;ZhtBpKt(ea4o znqAV*ax?GG+YYhcdFyUR3n^)S&V4xY;rQX8{QgnfuxHQlHqf+9;2s?Q{bgzDCto}~ zZI+OW2#|4xDaYCrSDCEbNABT*ORb=Oqz*lm5)>tDQk(B#ehYT{{*%ysBPSJhYJkuF zp2WZPb$`JBrOn+k@@a0P(aAm_*ecwJ#_3^lEMoW_>~{R?+~VddZIv=}f^9k>7SWUs z6HEOod2;~_?**^QbDxgEtv5t5OY>xG&z%%}&W_2=fFMW65kJy0{IuaO(yz>s0aH9S zu=px5p-T;Ux|b*#`A8t8`Xc}4X}Q>%2!0o{ZIKdh zS;nv?DmXmM!xc+5)e#syE8PGVnaT$N zQmU=Va8IQ@**wK${CrN;tFc(8t#IMFeptPm(aB^mO2GeZ3}iN=!knyjU}GYW%e)}3 zar)7^7Q)Mms+YIyJ$yViw;f?~>g(+3=}LC*E|`PIvx8S$=EeI6)d9R~u=;Ei-? zn-6T-w+Q0KT&CC0-M$5%h>(fA~Ef=EIB+@Ah9d_D|KTIcY3U{Zav=tve@ z`tnXO465m%>ppy7EEp{re*~TJ*W()UNrnE6p`GVy(*7Y>AiDHWGs^J7z0A~txHL{J z`9lR&vFcz1#kE4>N4BnZcOxrjR&6^UcI~_$xu4LCRx1EV-`_>bKD!UDG4be^!iO!* z8k6;NfA&ka&{^9dRJGnxMiex8VDislFD-z*UzjGZ2BqBQ z)#069`DJyqt^Z?_0z8{Gkd#zyPZq=;PA@}tonxyE~RrcbcUkC@eypN^>< z0^Ti)FWGt8nG#J-`O^%nU^%$*@vv(}iv~HOs9l%A-Akj}{|Y9pnT&oiulgNO^I^!& zy$S0t!7NH z1|ETdB(KdRS!8;wG+v7%IN51& z&P}TyYvJu)mRj=K;U}xiEl=4PLG*T8Mhr8=ng})}!CRgrxKd_rv%bSE#+opNR_ukPWqS-VV=_nasKD)@?9z|%xj8=ZDT8W$J>oS zgtxoH%$>_LHcz+_S^}D`PR|VIV;cNIfjVc1*`e^0u9{ceDImXWuAW(kqZt@`f2B90 zIZ8|ys5LPTwbe`VQ!tPkxu`FXHIk*60ePLdUPz5cNJK!pNS`7a-ZLB6jpMh0GpN)u zIc8?`iEQWtK9#1hO2DrzseNCyu#eC@4&@?J6r_&0B(jD~e%}o+IK3coA;n{7hSNUz zmo1erFduD8Ot=cX0)dW1TBHrexaf8>NYrUkCBk5UtdyM0=-IIzYGlohM0((PYe`