From d9d548747b47ca7b0c1db6e94dd43f8aef228fc4 Mon Sep 17 00:00:00 2001 From: MikeTheWatchGuy Date: Tue, 24 Jul 2018 15:52:14 -0400 Subject: [PATCH] Readme update for version 2.4 features. Button images --- ButtonGraphics/Exit.png | Bin 0 -> 8167 bytes ButtonGraphics/Loop.png | Bin 0 -> 3441 bytes ButtonGraphics/Next.png | Bin 0 -> 8065 bytes ButtonGraphics/Pause.png | Bin 0 -> 7586 bytes ButtonGraphics/Restart.png | Bin 0 -> 8013 bytes ButtonGraphics/Rewind.png | Bin 0 -> 7902 bytes ButtonGraphics/Stop.png | Bin 0 -> 7747 bytes Demo High Level APIs.py | 11 - Demo Media Player.py | 60 ++++ Demo NonBlocking Form.py | 59 ++++ __pycache__/PySimpleGUI.cpython-36.pyc | Bin 0 -> 54552 bytes readme.md | 366 +++++++++++++++---------- 12 files changed, 338 insertions(+), 158 deletions(-) create mode 100644 ButtonGraphics/Exit.png create mode 100644 ButtonGraphics/Loop.png create mode 100644 ButtonGraphics/Next.png create mode 100644 ButtonGraphics/Pause.png create mode 100644 ButtonGraphics/Restart.png create mode 100644 ButtonGraphics/Rewind.png create mode 100644 ButtonGraphics/Stop.png delete mode 100644 Demo High Level APIs.py create mode 100644 Demo Media Player.py create mode 100644 Demo NonBlocking Form.py create mode 100644 __pycache__/PySimpleGUI.cpython-36.pyc diff --git a/ButtonGraphics/Exit.png b/ButtonGraphics/Exit.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ef87d2f17a082ab91e6a4f57dbd5ecd588ecde GIT binary patch literal 8167 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 KN+pVx!T$p@`L*x> literal 0 HcmV?d00001 diff --git a/ButtonGraphics/Loop.png b/ButtonGraphics/Loop.png new file mode 100644 index 0000000000000000000000000000000000000000..cb303d8f8e843c5536deb921ece9bd38e3a63370 GIT binary patch literal 3441 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 P00000NkvXXu0mjfUC#0B literal 0 HcmV?d00001 diff --git a/ButtonGraphics/Pause.png b/ButtonGraphics/Pause.png new file mode 100644 index 0000000000000000000000000000000000000000..284b1e52eb8e64c911dcb5375ed0201b613cc660 GIT binary patch literal 7586 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

*{m&S7}@ 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 literal 0 HcmV?d00001 diff --git a/ButtonGraphics/Restart.png b/ButtonGraphics/Restart.png new file mode 100644 index 0000000000000000000000000000000000000000..8f30e7cb62104fd585793cdb22699acffb689f8a GIT binary patch literal 8013 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 P00000NkvXXu0mjfIJlGQ literal 0 HcmV?d00001 diff --git a/ButtonGraphics/Rewind.png b/ButtonGraphics/Rewind.png new file mode 100644 index 0000000000000000000000000000000000000000..af18729733d6fd0caa2577f5fd999cfbe5fac9d0 GIT binary patch literal 7902 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 literal 0 HcmV?d00001 diff --git a/ButtonGraphics/Stop.png b/ButtonGraphics/Stop.png new file mode 100644 index 0000000000000000000000000000000000000000..28c7a0d1adda3b28c63f4974e69f9a9034e5e36b GIT binary patch literal 7747 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 i6uYp4Ip^!UA#kRryYA?hmHhzcdE(EkCoMd_3P literal 0 HcmV?d00001 diff --git a/Demo High Level APIs.py b/Demo High Level APIs.py deleted file mode 100644 index 92bd53ed..00000000 --- a/Demo High Level APIs.py +++ /dev/null @@ -1,11 +0,0 @@ -import PySimpleGUI as sg - -sg.MsgBox('Title', 'My first message... Is the length the same?') -rc, number = sg.GetTextBox('Title goes here', 'Enter a number') -if not rc: - sg.MsgBoxError('You have cancelled') - exit(0) - -msg = '\n'.join([f'{i}' for i in range(0,int(number))]) - -sg.ScrolledTextBox(msg, height=10) \ No newline at end of file diff --git a/Demo Media Player.py b/Demo Media Player.py new file mode 100644 index 00000000..4770c90e --- /dev/null +++ b/Demo Media Player.py @@ -0,0 +1,60 @@ +import PySimpleGUI as sg + +# +# An Async Demonstration of a media player +# Uses button images for a super snazzy look +# See how it looks here: +# https://user-images.githubusercontent.com/13696193/43159403-45c9726e-8f50-11e8-9da0-0d272e20c579.jpg +# + + +def MediaPlayerGUI(): + + # Images are located in a subfolder in the Demo Media Player.py folder + image_pause = './ButtonGraphics/Pause.png' + image_restart = './ButtonGraphics/Restart.png' + image_next = './ButtonGraphics/Next.png' + image_exit = './ButtonGraphics/Exit.png' + + # A text element that will be changed to display messages in the GUI + TextElem = sg.Text('', size=(20, 3), font=("Helvetica", 14)) + + # Open a form, note that context manager can't be used generally speaking for async forms + form = sg.FlexForm('Media File Player', auto_size_text=True, default_element_size=(20, 1), + font=("Helvetica", 25)) + # define layout of the rows + layout= [[sg.Text('Media File Player', size=(20, 1), font=("Helvetica", 25))], + [TextElem], + [sg.ReadFormButton('Restart Song', button_color=sg.TRANSPARENT_BUTTON, + image_filename=image_restart, image_size=(50, 50), image_subsample=2, border_width=0, + size=(10, 2), font=("Helvetica", 15)), sg.Text(' ' * 2), + sg.ReadFormButton('Pause', button_color=sg.TRANSPARENT_BUTTON, + image_filename=image_pause, image_size=(50, 50), image_subsample=2, border_width=0, + font=("Helvetica", 15), size=(10, 2)), sg.Text(' ' * 2), + sg.ReadFormButton('Next', button_color=sg.TRANSPARENT_BUTTON, + image_filename=image_next, image_size=(50, 50), image_subsample=2, border_width=0, + size=(10, 2), font=("Helvetica", 15)), sg.Text(' ' * 2), + sg.Text(' ' * 2), sg.SimpleButton('Exit', button_color=sg.TRANSPARENT_BUTTON, + image_filename=image_exit, image_size=(50, 50), image_subsample=2, border_width=0, + size=(10, 2), font=("Helvetica", 15))], + [sg.Text('Treble', font=("Helvetica", 15), size=(6, 1)), + sg.Slider(range=(-10, 10), default_value=0, size=(10, 20), orientation='vertical', font=("Helvetica", 15)), + sg.Text(' ' * 5), + sg.Text('Volume', font=("Helvetica", 15), size=(7, 1)), + sg.Slider(range=(-10, 10), default_value=0, size=(10, 20), orientation='vertical', font=("Helvetica", 15))], + ] + + # Call the same LayoutAndRead but indicate the form is non-blocking + form.LayoutAndRead(layout, non_blocking=True) + # Our event loop + while(True): + # Read the form (this call will not block) + button, values = form.ReadNonBlocking() + if button == 'Exit': + break + # If a button was pressed, display it on the GUI by updating the text element + if button: + TextElem.Update(button) + +MediaPlayerGUI() + diff --git a/Demo NonBlocking Form.py b/Demo NonBlocking Form.py new file mode 100644 index 00000000..8e43d6dd --- /dev/null +++ b/Demo NonBlocking Form.py @@ -0,0 +1,59 @@ +import PySimpleGUI as sg +import time + +def main(): + StatusOutputExample() + +# form that doen't block +def StatusOutputExample_context_manager(): + with sg.FlexForm('Running Timer', auto_size_text=True) as form: + output_element = sg.Text('', size=(8, 2), font=('Helvetica', 20)) + form_rows = [[sg.Text('Non-blocking GUI with updates')], + [output_element], + [sg.SimpleButton('Quit')]] + + form.LayoutAndRead(form_rows, non_blocking=True) + + for i in range(1, 1000): + output_element.Update('{:02d}:{:02d}.{:02d}'.format(*divmod(int(i/100), 60), i%100)) + button, values = form.ReadNonBlocking() + if values is None or button == 'Quit': + break + time.sleep(.01) + else: + form.CloseNonBlockingForm() + + +# form that doen't block +def StatusOutputExample(): + # Make a form, but don't use context manager + form = sg.FlexForm('Running Timer', auto_size_text=True) + # Create a text element that will be updated with status information on the GUI itself + output_element = sg.Text('', size=(8, 2), font=('Helvetica', 20)) + # Create the rows + form_rows = [[sg.Text('Non-blocking GUI with updates')], + [output_element], + [sg.SimpleButton('Quit')]] + # Layout the rows of the form and perform a read. Indicate the form is non-blocking! + form.LayoutAndRead(form_rows, non_blocking=True) + + # + # Some place later in your code... + # You need to perform a ReadNonBlocking on your form every now and then or + # else it won't refresh + # + + for i in range(1, 1000): + output_element.Update('{:02d}:{:02d}.{:02d}'.format(*divmod(int(i / 100), 60), i % 100)) + button, values = form.ReadNonBlocking() + if values is None or button == 'Quit': + break + time.sleep(.01) + else: + form.CloseNonBlockingForm() + + + +if __name__ == '__main__': + + main() diff --git a/__pycache__/PySimpleGUI.cpython-36.pyc b/__pycache__/PySimpleGUI.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19cd01373e01921ea2254dae97571284e134e56e GIT binary patch literal 54552 zcmdtL37j0qRX;xWwX?IQR;T5$t7CgSyEQA#Xm@5+ z(<^D$Gr8o%x#Tz(IWQp!A;jT^{7ncU3FIII2zP+~1u#hnm?J>o7lMK0_x--=={dBL zWrHD~|4LI`U0q#W_3G8DSMR-gwY|MPanH%4FSB0n_kGRR@YjX-UHFxEM|?izQ~p_> z<;OKJ>zfN$0YB4%hzG5p#Qn3OLfDE(&Zxzwq1o76+={zT6IMc=wOMU)O{@szi2$`c}42by_RcKU=HRzgVl)|FzbrZ(D2C zzgp{ZYgA&jFSkzlR{LfG>O1P+a%&mStyWQ{xObAvyIZ9;^4UzpxwOu2;`m zS2mYtrQLh?ed{Xq@74zOAJ#_H?dqJraE*1X>bI^_o2={A4cUIAZenWo285ff8xd}? zZc>}At%%)hZBsW|+Y#Gg-J-TwJ0;Jp>LzQK+G^dVZnkb$+pL$U?bdF!!+NQ@#kxc7 zwC+^@Y2Bq>n%%R{r|wX9KH^h%o(oueb9>MEvIFWawdWC^HK?N2klJVstGKmK?X~vf zenfRxcdG&G0MZU3?T{L@M%9otrV`d+HEi9ZV%E6YXHBU6)}$J-j;On>d-2{;lye{Q z98(7@OZlvq;kyUbA$<1`zI#9JM%5VZ#&Y+c3tA80{;;|S_xH&CgSa186S$v{`wZ?U z)e+nuk^6^mf3G@<`=fH7#r=Ki819eB{S@vk^)lSQOzx*~f4_PF_YcUu!u^9PgZm6> zlf&IZDvP@;U^#>O97oEOnnudB$$cL8GwL|*kIQ`l_a{^y_j$QLiTi>& ziTjgsKa2ZWHHZ5-d~XhSMODIG33o-@&8t(mJB7Q_;~W`Ul^^k2^N0tPtrieJg?L1r zR%Z~`h{x4gwTO5b@uXT(4JA8qd$j^S+q?o~)8Qs}Wlxd7|ny>b1yo7AaS#*QrMlUqn2u-k@HO_!8n9)tl5C z5q}u*Yt>`wJmM9^`_<#>&4^bK->lxM-h%kc5x+^jUA+zQS0KJ!y+i!~;;h-N>YeIc zh`&m`TfGPP_-gfo>Iq!WsUK4B#q|;O!|HvwzDB)YeE`?jsy2H?u3i1e6G8Ps^`nmj ztVh*{)Q{oG>(qzUleoTK`ExH*Z3x@h8ugJUqUy)hPax+TaQBlo;qX&Wgw#)~pF!Fi zb5}C2oA$Hn=aBZMT)H9c=ha7%b{=)z)sXs>`URvuhWF}ke@y)%(%#&Z_Hp$~NPAp; zLj5x8_7>FYD*QI0wA+yHlTSp{r_`sBFuc@yi{z3JZ>KiEGN0D|w{gwJ_ zqo3wHzMCNc)|Bffn zx^e5SZMW>am61K$Z{4$t;k`R0vUT{D+iqdX@bGPe64@~{ zJTQ!u!NI{@d-up&Tk&V|AlowmRMQEcIgz(>l307Xbr}Di*~pfxW|pYR&14s5Z7Z?A zr1MLqqMe;}VyAPOji0q*b9k1YpUqj3DP1~K&RMbCSvyx$Ib}u4`Qq`}T>jW^t-s2O z=xn~6Q%6{fVmuB&=2KnS9W*8-!Onfe1xYII?4Y(7_X%W%3D z$~m0@u=2&6%H*d@Mc`7XoSU6_(x-Rgoo8P%aQpp-7wr?JA}-S>vU={YE){aqcKQB& zd3*oD6p|`ER)F>^L8e4lywUs@cASDrEaegTWT3b(Kh5RX6JI5 zjFZS@=1OW|mhogJb7~<6{&@AU;Xd3{g2VURi|z8z=W+a4)4usCpLLtq-Zl1nLHpR zMJEpo6>Ys}Au=+TJ)UzChqD@B7%u5Kr;~X`it`KhpdkWI>~N`^xAQ>mh`t3NaY8n$ z7cNVMLS@!Cl|@}MjAm@sHZ+5ZwDh)M-&;_CbPiG3`xj`9Ep@tGO`Sf|qy}TK<`IpMSJJtVaorXa*EuHj~j~ zxYL{y^gRgr{Q|637+84pLHx>T1U`SjpAsl6e_iURLqWdrWMFiZzy6SZ8D7`-Bfwo) z-^RP!8N7snjB|df;q#Z=PC#(p@R?>+J4iT9&3u_)?ObN314G3g#`D7^h?Z7!-frBf6 zffqU#;@S)1l`1Q6d+4OKz}!^wbNgIL&( zoD7tAODyW9#fa_%&Z#v=eWy}KJwV0vI7)XyV)?S ztw{_V9Ge)L$Q&IRb>ibgdj>PZW8;UM)ZPW#E)@r|v$K1%(;~v;pIYY)P1G&Zh;IU?N`d5%z<}3oR1(N=xKjH87$NWoc>cDG# zrD^PQE*9Kj8MY7jA|t%;=7NGze5#@c#+ z#2NmTHzDvwVoXLIXElsOiF0O)aWrBChGlk3NUH`)b5o_!>Dqwib(zs8)6*qKU*z5_ zCh)S8m^>gw?k$})kmgWuR@4#8jJJWYLwm<+_!2oS@3suJ8Z4Se)$g;dO{1!(-j4dP zA{OwESMmsg5d_htW&@!vP1q9D3wTHROj>hEl=%~6Ept^+r`zt37l@#8%|tq=&$94E z1f!rm7p2jfxt2!}GDg3PpCQ#i5zUk)1gZ7x^GA^ALGaX5rL&{cWV-mrD}MsbSwswN zHrP=K*Z~lqbv9X|P;n>j!?@pUN96um+>oB_=?grtL!|m2=iD_b#S~q0zyiL8rIzZ7+4%cMgFM8##P%sQDc) zb=f*jfLFsCO?7nB*49|NW$M>3)K<0*H8(qG5{a`ugTQLTA_VQ_Iv}?!NH3s?9LC?k zue=6EfcpSoJeC9&jv4g-Gkfa*cG|%vUGo?q&l%90g zbV7SL!Sid)tmOquxrxIgqc!Z2$*!GJGSIh-u$h-ngtpYX%E%uuy|uFfF9HU=2cWu4 z47#OWt(sV1Dd|?L1$##I6D;?K5WHaQc^6*3!NZ|a#C48ff$hh@sHPK79=8Nt1n1|S!@yq=m+tllY}HIrzaMs=JIyA zf$XeqB|E~E9UK`Qa)khT3a?x3SjIwvTXx@X<~^5RpWH=I$uuqV7FYdV+v<4pzqIPt z3a!#P2KyPzFgVWO1cN+-0s?norcW|~e7>GzP-H-EqhYPgHSI9lyxfw#-tzy6CHrAk zLm&%kU;lLLvdb*lhxPl}kPjdrwODTPOyKn#g^EG+ojG$e?=ci~sw zfxwenK^;f=F=fZO;7n9eZtRCXCaw~gJ;G23CvlCac1W;NPW$8msLP-~Dwp?Wb^dXD zQU-*@hGf>V%c2cV$I&(2yQJA1sWH{i)L*CTLqJ$)zS z_mP9S;&Jm^OrT;$$Pa$xU zrbQXk_BM2Stu{^!2qL7bWk8BLphRTtLkZr3LFVpG|0@5c;41%8UlX1!Pd~Wc5M25> zL`XjhzLOy>x;(^z3BVgDF9dJY;!epCJQ>uJCbkN)e&mBJA7O;}SBT>0TkAv5`_ExL z3@QGHjp~ZZ>f+$yF0YLDELR3_MM?qgx#gHriivtDd=D5N!f1jJ1W@p4R)3h(nCc7t z2?n2J@XHK7jlc@cK`k$0di`>`}n(OAW7#C8_`b2qnd~DzN(8NS$@1F6@z}UgDaifK+Q`9WC4N%8XrES!4VIip`p@yVJRU0}# z$#FQgU_-0hqzT|x1;AY3+5j%5LLm1!h$CA1XvZ3@HgF z8iPz4qJAE4%2SfaC`e@VJSJ92i76}#R6@0#2eR93g(Ti>#}(S!Oh*MN8KfYjHrG>b z^(RMxe?kU6iYhvRDW&@n0R@Yg;SUp$(%c+WOAhQxNDBRnByZ(BNZ-ep({H5~%hS3v zJL_iD9LlgqDA^|_QTXrRPI5Yt+}U{))ZeK;g)}ETtYJ@KdXZBez9=Yx>ztr#0W_XGmXqrtERm+@FM#6QGyf67hxM?8%PErS_dF(ZGoN2 z^#=?)6||unZf*&tH4WpWpKctHy=VnSWXh|*WNBie*Z`?~FCwg_?Z@m+MY2B=s#Pqk z{}@m8ml^yK1Bbz%AXuI@IN^cWQaSe&>q42Yk4nmVE#%?SISH zVQJt_mvt%B@~fB6)PV`)?l2Xr4^2FkKVCTtN(DC|@_f~sU&A{F<_{s}V)}(uVz2yK z4fqY}&6HQM=G8<%|0N6l2FrY5`joHY)nBav0gH%`X38{v-e0>LD^DU)TSDZ53T9NW zSoW(!0KX!+UTrY)PMx!B+zuikom9yh{Rf$7KG-r6eMSbP}X#A$OaJIr!h%)nS6?F3=EL#r^cL`#|I z!c;j+BSkBA1XO)63roy;v18+dL*uX<8JygYVr9)CYliwL5jj+U%CPxuQ({w+5hJn) zSV>mcOJt43L|2}dom8H6$zZi&>XtC~VszHw#%s0HpF_{o2cFpTV9j7YCxQhddtO%e z`Fq60H7KBQjbMzkC>-vl?z6)H?ZRQoA=-i80Dk4)L`j^4s($cFSQglREG37L0=dm< zV2%o`_8kw%Q^b`2q|bedJM(m$MMd4}yi;EA{?BY&+=ssT&)1oX$V7z!TrayWdDJU@l!z1u*b__NCI~z;fLfbiC zH4LH?0KXPqZr(3`Mc!yXiG2XNTi!`wSsOg>uVR^lw<3J2_>|=8kX%22c;Nm(HChGN zhcBTHRR{MALiuY;CsF_!gb^8uz2(XNwfgUn2yN<# zd>IB;nv}}eU-jeCXiF(6AF37l|j> zo~#}^I}f_4>dc4JS653kzTDqt_>njSj;`kT^Z1gGwpJ!0j>mYNa0l^*_?_OJ0&kBcUOK^lNX{~vrT4nSVV=BfY3NT>~xsvV$jSC zfGvAYe~*F8XCmhi)yrhb)hCG%OaBzJz!V8n#e%3sT;;3PKE0s1;{Y&)OwoY64f!L!A1n5`f7$3Ro$eSQC8QNP~CJQ)Ag(p(F?1tj#!UoS`*28 z;S22W2)XrUYh!*Xh@b5GFhtH&kW$bZhQ*C9^FsM7~gL>r9o_#|#fmzJs zi0)-49c6GIg5`(ly){sf>8JUb)W1F$0U7z@l|N|*7lSX{?)+u^Bz`DxslE2O=EZdo z+YV6eO$c77wc<5+_XxklzC=HVHB*{;nbRKsn#Cx_TJchbR8+rA* zc@{TDjDqC~4TQTDRMyh*5U0p;<7yQ|3M6!p(gpRl3hsH=Ni`proKquZKep4I_JvsgX(>qKbzNn}^+komR?|V(SPI3ob)OMme z{`3yQi3U(F6!B@vlx;x#gl0+;;&Tw+g`eoEYGNfQCy4ZodjyR|Q`p@r7{u~!)LS#) z3s_USvoir~2-|VY%BCYIU#s^Gzr?=_ zzbZUIv-LtiKIlZU^H?9M+J}pHz2(DBVvkbp67^wzU+6v;Oeuc7{?MB^nSraN0sP8a z5h#DvfA(6N{0PJi*txU{%lZH~5GsiR$JB0(36GKHfZahvCBnr(V3)}&iO5B&|*)}M?(TT;p46;L;}*z6y%s~@OjXo zI)R``wSzKG#M;#@sz>!AmV$4FKIH09E7dAoJJo8n2G=gNR;|Oe8(tXJ)gh^zYH}qiO@U)+DVbK!pK5zrj3;BN{K>}im5}Uqd4rP zhQ(e=7D#yx)g_ei`~;w!{(q_4uI)k;ZO zB~Kx3LdqIRSu1gPh5^zCMu+>a5Ly8JLEgsFN1-uJw`=?A4nfLW_1%0B^Tb8p#I61Z z20s_WVcr>;E)|_P_Z5r! zN=KQ247y&&@?n3wX9mM>WYFqt;8Bf9SeN(O-~t9IO}{V$`<$L}m~D*aa;oeu5V%YX zPn;;7DLP3bb&zExq*AVUYVSgR)~<p4C3ct*J`azfn1-%12XpdTX< z*oH`>c-SoHY9ZB>%l%vGs*MznqJtYHQ!0cNFcd>2PD}gnEAvT>q;fG=4Z*^X(%kUb zO<yS4?-KMa>GYtCQykI`wL+hmPEP4JC!E6t%OB4??MRVme z6w4T^kl*FAQ?t1=XfLFM>C#Nv#m91*dq;whyBmoW$)3KAfe1NssHMJ@x18i^)_ttI z6M{^?>_p)#0Tj4wbq<)t9&V6?k64L%ioTsiEH^tvFahC}j}Y*}!a%eaf;PJw;yteO zmO4DJnw;L`Oi1!KfM0nXg0p=U!Ym~cZ(k+w7?}A}k@}Wdzn(-bT+N*m(x|mDh^|tdp576W9^eQjfA%5fU%{q#|54aOK@RTl@9B{IpSt>mvk4%SR&zvx}Gl zKf!OZFsvKuEjQ1m*;@Yb%Ab6YEw6u&Q#9CbziW>X5V{0ucCuJ1W~N;6FF9va0d5E| zeDz2jD5hrjEmOUAQ-wW6#dki%S{govLfEA~4>nEN{tFe>tb|)neT)@)p4A-BWz}b& zyPC|_)R7)scLT0M-J#h5R52bw^kL z>H$_+Bu)uZ@~ON%mz}STF4~W`j;`oL&gQK6WmeKirXxm>1SYj!MU%;^B{7_Em0G5y zmM-JV0S=x|#BVU>L<~+sYP}~=mEJR+H1t8#2+oH}XEGqav}BrP9^v;w7G$f|sm)gTN&kJdL< z;KHn44Vc~Q+(FzdQYGipB9W~6se+_hRBsjJM`byfU~Yt%47kv;Mn?e{mxqNHF=i&h z&qUbQ``9Sg+9+alS*`uw=W#WAW-%>NIWz?`uD@jKdZl#%OzKoSVeS!d!(8J^uf5B^ z?KPMn=Xys#&S_Jco1mB#F@Jdt8_4E~ZW3Z!#*r4*2N4EohzxyZ6#7gUCexG{=A|`# zCIlj+Dnd_;XoFu99Z5piIWwGvM9PSW&1Lh&*-~j<;G$!MkZ_39?m0`wJiOw-9|>E& zzNz_o2Ddc^AbJP}=a6ISE19QdG<2|K4I0z$)-i?PAePj2ZDB*gDi2dyUi&@*i$1|- zJ_k^Ao|%>d2$aqzB6M0$K+#z=8G+13V}Vfy6|lo2WWC2h*bFp?i_R+AB3`z*Mf)H?lnq3RtwK zVft9^4X>YA0sdtClKFMH5&_#q>d-Y-WSLkI)(C4qE5I(tw6Vqm-UZn%{?&?^vM%*i zc8tG~ zev;r3d(p$h#|9DljWIcgE$6U%64(af;qRd=3J%tz_}-}#tI0gH?Tpju1e;ZfUA%912*Qr z@r>g)mvt>FdU2CgnubR@&v1+y9C|RD7_o*NPj0^F$mAGP#AB1wR}-f*S$q^_CPxkp zIX$&>I4l|*JDM387#lT~+FZ%WB1UtAn6?2a1OZJ0S430A>FgVHJX#haa zF-F6D&AlV~6a#@~eKwGo2nl!N=^KDTqDhGbL;fx6QYqN31{2{#B$13o@Glr^k0lfB zxZ`~g|3aGYO%vX=KceAX_?5ZDXcQzW?ve7tm@xpueq-<-bq)SwuAyVxHFU(TB%o}Y z6Qj`&hdcyo_>TPX%5MzdCktZ{qG8()7Aduj|FW2IN$9XB-%tiUYdD=Otx=$3h!JPj z<%hp?$Pls0u&YKmveZ?pnI{hMCPP-vtDuP0F%GeA70$q=HyDFw@kxWA49R{i2b?F_QqRcjda|K^_zsf6a!X`#I+gjcR|2JjO&P^N~}B-9ez&mwdk z)N%@s8+2)8Oo7dG!?paw7En8Zk>W%3_Up?3LKVW|Ad4~;7tM9`1=QlqvVfpm0)SZN zVJjf89}u3#jyKfe<^Kz{hz;t}{2*k{g@%f7XWH|{i)C62ytsUDgjkWehDyAWl^`p} zKVH3+F!{?mavJL_plH;fXru)@MfR;ff_L5tq!{TG8aN7`~diooT4^BPi^G9R`gELB4zdKam64B3%Tv z^0ptN_LLrCCqTqh{5!1TC2Eh!33y>@FL^K4+}0)}XmDd1@Nh!|9z}UD{t#ywP1^`L zy-UR@F>xy{gcgS2{`2$)ib{u{6WS;6_9e2l)Kb3=)pM!1qC|UXNOxYpT`B z?}J*s0kwLxp;p|U4eQPqHgqnEM#k303?1oA7g3kNQA3b+5`!hUm9aOXmTzpRW#}H* zr+=T-@lB}Xn;YsFJeDheA9V0}RO@XG)e4N3z7J~k7;5#-dab5K@_?S^mAktJ@Dsa0 zAsU8ca95SMN`RIf?i9{*|1!u&LjM~w>t`AKI|ISO&oOo}^r}&DLB)i5p{0;ZzTZM{ zoTTy8ZtT^cs5eW$8O^+`wn4ysS#6VQUDhzm0|0=HWGe1rqDKqV-g0x$&*%p(nInN5ACr=0E$P13hSV=z z@Vz8bzvY(JUi%)tEphkFldEn8o7m%^aq_740X&N z3%1P(LgCj+WV!}(({S1<7CqyoGtj#J5u3%8EG3FKn}Pl+Jc&tDRgA<$`FqjdD_M;T zt6+foHUjmn44P+Pr)#L#^7XIq>$0W>SoAv@!9YPNh1{$|`Q;FxP%u)3AgLO_s1H6K zI6GO>kYnTr9vB2g2!R>|&hA2bn0^E#{d(H6yx#XZ@frv`E+8f%6xg>!!T*M^H!y;| zfk8OqG4?GxBriw(dk{-d+_GF=?*0=Ijmgi^{>NVa7`Dd1dgff98s|)N68jM^`8Bh{ zF;S}zHeLiy#vTW~LW!^}QQR%=*7TJ5o*DhS@ceRGW9YzHBxq6a z9Q6YQz)r|dET-z;gNzu){YHOQjT$Z4CEM7GG6EXP3Y6hO^?8@E0#M$uxEUq%6{0F) zuPm$rjOit0_2YpuA=6h_qoO8VbosS9q7N@!N65d|fqIEyX|+vk^w!EIsdW`{2{Gg1 zX0k5utO@mch@oo`P^kAnch!$taD9cjV72cpfm4tMnIRf5ZYhIM6M}oVAJ`6)FgrJg zRd$^Q-HL*qP3)e9P!ujj=I?-h)<|9=Ftcb>qc&Jsc$tsmW&Hi)olC)+w`_%7pislx zI2K#TZWh^GCuGSm!jtaEoYiCyJEdDf%0oeY8+4cooQL#mi4^zhn?_DfpWO~aLGGXcE43#Ig^ z?egZ!y*HWG`X+l_%)cPdMh23&dLhRT#3T9@TC;3uB@yqT!;Fs!u9$}A8e#osU)0=wbRcM z()#h{l`2KMzf-3HqfMwq2>t^il{mP+MCJyRw7I$(;f>WbF3bY@EA@6ui*QyZY?(SM zs~h0gaS`|>3R~0;^kNW}*ofOV)#KH*MJiObs9PkBRxY*Y636q9eN%O9Wv$|T7%VHq z$o~d)!QP5iu0@GA!y-0O*am2<7HA|2+u26sB&MxpO(A&dJ|C~HtE@u{cU0E75K0to zLEG7bJ5dg-=i#N`3dC+zJEcB<&A7o8#CGAU&sMG|+{QRC+&-~fqJ zD0_G13f4pQ3dFCdtjoLCf@ILZG?P<0mh_H2k}l=uR^||>Uy*e_$j!VD69i^ zt{3b~6o%3EpFy5sco1Dvy%PEM0fx2lxehoLtX!$q!gXOHvmg2Pw|sm5rCacLqFk%> zep5@S+lbWd!x(St1YZ(`yK5uP#kR1%yN+!fW%U-=2MPyKM~K}~JBED63KME0`W#=CI~o6oEr)f9f(2N7N%A$~8D=7{FON0!<;zf;C|2lg zc+~4V4XroVo_1b0bRL*z2oaZF;AA4a%LVUW@R!(2{8R=Oj*Q z64f6UYI0qXW9GQJ6{9~Ya5!GQ4ixA_^*TEb_$CU4%GH%?D%V!7L;Pm^PO59qBR!J` zX3paK*CQ=on0wCp7p4AR2IOLT+l7!rDWz(^Jx{6(Zh2FsAC&Rb$p~_vV64)QR^L$U zHW04fP`SaR0{=n3GY?j-Le96M6heKI3w3<~)Hey-uag#(k-Pky^|n#(xW2!Jc~bvx zHP#zn0lk>Rq035gLO#F5Z~2isd)vp ze!0xUTO`Jja8nUn2vQk0shp>8LWw=n7c+SJU}a0?rpo5Zjfe{l1NJwbPgJ*7wi=k# zxC2nASm6~olP9^7qxO~dtK{ojWQGDy`*>R!5=#G767F$nQkwa@jH+MAn5b660FO!7&zDE&j7ciih)ObF<~mwdE!3 zS2hiliadvvwrrE7$piHj<^``ACk|pf==c-f(uK9AI7ezueVr_clV;1oIe+6~*e`nl zYU^NstEfu93#+@STII0z-FVT;)z`}6eA9_ci-BH$#7Wxl_*L74RCjafM2!dVMe%p( z1ZIxw4X7(bXb~u`;O<$#=|s=yEZmae*i~`k`Co3N{vg-9^=^^XC!6`odNVC7WZ@NQ z4t|#9imgwNqiXfK>)+z-kKrvV0lTCekH{&)iwf<^O zfbvVh0oit9gd)v&5HNc}{tOviWVk4tezFcHRQBibhL)PJ5@JO1KTwBXXsAO-f0SQl zMXZF8g2<6rtdAAq`H@gKOEsAfDZr;X*gRPcH11Clpk7DgG-P+hv3Y)ph&V;04#9Pe}hHU-v36sgD0N_VN5C zKh7^$;Tc_;%UD4i&Z3@j*Pr@t^avd0X}?3BJNjZ|xA=x|@c78S z{gYN;^r+(>#bw9}AIwhWX7!IUZwmWHW&pk1De*e4|ByBL0|uh_xRW*cd)^XR%wFAZ zBIa~s*Nh<)5aE~Lel4%XlabMm7nu2P8T=yxD{=Tl$u5aE5dBX~{T5T>IG4ouU99&q zNT>K0Hl2Tvc~3BJXbP^{#PJoJt(B(fVK`^g2^*uJLetn-&&;%J)ET}J9^xUua#pPo z9NK(DS-uq$Q!WY*;U+`kR@C*_V-z||%=&T$?_vAD!WadJR=X!@mG)3w^n(Mck66hkKqhXORFiRS5jtcB2+_cQhh z7APa|*BKLcJzadT5&=%f6c0|H<|C1!o@Y!%seAamO>{3t%&FhRXB3)RQ69kqnCSN~ z>D>&z&ftp-zQ#bbW7qOKB4FK&m=ijV)6O0LQKzG3v3zLH_`Z?R34Is8)n%{?5W*SR zf?!s6W0G<2Z*>~?NjPT>l3BR^D_d=ZrseV;bJvP{*BlmL!Sl8`NP<=1xdtgOL15^_jk`t4 z$k(C-$6vMrBZG!S{}798FN@ck+WSfO*7QI^JhlK{r8z5R;&#ab?1g4&Zs64SdDIrF!axL$zv&ta z!t8J;xGKaQS`qxXjV*#bTfE9I5JFDIL)f0V1@CN@d!})37oCWw5Q9!tgyG!n74mPw zzctv%*(-h*nTGs6*`kg2_zu5>AKs%dJ>tI}KPoVdNFG;g<;F&C5+|X%gx5^ysD`whn21D0zdtAA`rp6!OHReDgk)0TlSBnFsBl z>VUN|5P^L(>d7~*MhRjmjVqJ|l9RQkdZAm&rzLelzF@w`dw!Q+>_vXGHqeP{3Z*fX zY6-R=;lDP}9bALdHU4#YZlGbl!J2g9AK$?b=h?A#`m^Xt@KK|<=rIINY$kg;!=0_d zN0C@};zy%L&XDC@$V1mu)vztA5t>@S4FI-FiJ1Rd7%^Z0C*pxHj@R~=w{c-(Lp@11 zt<~t+$Dmw5I)qrS#v&{R)oA?wU^P)~gRnnQh*#R=-AExpMJz<_Q79(bv5fVLh!biF zSiAcR?Qs8!B_ULe3ApobM~FQO2s==lM1~#+6SBCX*sL3h;GWuj0d80EojyK2HH>AW zUw;*KUWtwCVJNi|R3$=q8K|c0)rB?Xe}w0#5M$L2Y!HS*xv;jT**5l1ys1GA_u`C=OphymA4j29NxS13se*cwXU~XL62PRJ%PDhxW zdyvVUI^ioZH&rT~H2e*B(`&LePB5#K{y1-c34xWIJOB@^7`||}IxF5iWI~W0H+xyd z8h(*4i0K8jaZWf(_Z(*1N}P{&u!lKiwyJ*4PG)k_!yJM(~nIJ)>8O=h@7u|vNBVYtu<)jyQ>=X?~oiV`bK1wI6y z?w46N74o*La@%5${#ALmm-!UEo%M)_A!2s>3BFl9M-TBpcJ6N)9GaLMA3HWQD2{T5 z`&ZO=?i%$iiM|z^EMYZ#8mz1AtRVH!4>1^EFvwt-!2$ysZy8J)VoX%OF-(efiB>5^ zrV*#=n}z#BRuVpeg-HNMIcEjnBSNqzR`Z|If)4sY6mWt#aJ7pAz36Xl|4(9ufs-cm zD~^c)ZRE_vSxMgTj9a)2#@j~CI*$k)U_*=sDkB@H;ja=@2o%Toy|e>#ssxo@z*R7a z@!8oeynox1(4WN4+}!>QYk`rv03hEg=P5SkzWH(M}&1g-Hf zFo5b13n%cCZLgOpN4e8T4-uy*|@yGY2- zXYi_!3Y@gDFy~4ooRr6U38SJv$^4&Y@F@gVLKw6RJT`$zJ!o~?B^&2xn#7`fx1~#+ z?hC8-C~Mw}&(lCDgns0V$m_M7!@h*?VEs$8di{SH)JYL3h$B@ne2=j3(<~^8-%9*C z@ROM>2FO&RWz00k{nZ#oCY*=EpdZ`ep%e&LJh`S>yd_MZP z|IMGSCR88hG|XgYUss6%BVJi;hhrTW^-*;UxgGFA7b@-5R58g7=9srAicdjhEYDOF zCRH7FgvZzb$J%M!!kLn;KA;qiK`qPtU7#&(P$c6^m5ypRXH9tIg<4o8&cjs*X2oQs z8$QvJr$#ZqwW&6oBK1{XSNSlrMXNphRs43FsIIq~_p!4K=`#V9q*|9geJQfFq44MR zTu@X!sdGNGuNO+?UIo)5ZmYLDq!g-SP>YsQIu-mb;QfHmt;dnOOL9MUk=$KsCGz*2 z4@&-rkiT2Vt%_5?#WiW@1m|y0WV*lUIm8;wJ#u#X;EKw1zhz6?(vQL z?(qS7&&btU2{UHu7qUNA(vF zI593+MUwb2rU_vtoyOUA`J%X*5=n-WIyA9QiaItlkr^G+(vZhk*JI4xReLkAz|}ZAOaD2VJqdxVpig~#P{btjQ;q-RJSFqfDnwxZ&Ur_+ zF)05Np~pb&$*J@Qm;OTNMcqYW8Al+htX65$1h_@a+UYa!i&b=if}0d;QjSRjK&jjs(DF_c3ratmVU7b)Qyy3n~T5Y z%>r2QWLrb+?{g^EF#3;((UFUiUmh3CLxWn$aH)!KDGM{}Rtzq3jZ9G_UvY;}Eiy_cw5m6C{Wg+^gLM&Ac zoqe$4!-Do+h<&lY5X(`Be~p_Mh&&)V^_Hm-c+QI0us#%_3B@KjhYVKfVTs`w>Pi$# zQ#tNhg;&ybcZgnxz}9fj1-#bv!`VJ628SdFUc9BjFhSwULT-eRlqN5Gz^P7_CS-as zn%(7A3z`cTh|HyuUI6?T_WU!fx`<4EAJ6pfGWZe#NK42L>py1j6$XET!09oQnPF62 zW)_af@%aDnaq?1flGPWj_8n|oA8LYglF5gHM>RVcC^+f#>%T$SsPN}mSE{1S(3NG+ zy-fQY0uhm+9A6iHp7?(Ya?{5v#Ft4M;)DwKHbv!ro$bec6gvgrkj6c#I>?4^kG+vii3F4rKtkWr!z~J ze3|at#ko6RCe>{?Z``c0U6d9?7Q7a0{&o$eC*6gPcK5SQ3lrpIW@$jzbRvcb_~W z66eAMUFV(Hx`ezq4xE~hR=piJ_Z1=_CCr1vQO$a~LXRSmrS}P%nd6-V^=cY@$O8c< zbMk zqJt9=NhqNI0UwgZ3}53PnSi_SD_@VG?ypW^Gpq{D_-4Z5qmE~)n8SFn@c}&-ch(GL z%Zp7&%_C(8*eAkR7^rcnG}`3-gB-yCzqbW}U?Qdb)an`B#AF5Bq&5xP+z?_LJwj}? z!&l)NF=~v_1nxouj3etwNKoM0!Oq%;j3ldUjy;1LSfJ6!Am-v*@I4^}j(2jIAc-bj zfMFs1VP`0bft3i#$+)~ixn(4aL%bg(V9 z8l{$n)3Ug2fOh2^beS+Qk3!D@eFj_-*HU5?=vr&}p(}|aN4zNq#yzHd(hhv-99RMP z#iRZeUt`J|=u)U%aq|S%@}5=)QfvJ;%n4@2FX=JWh9}V6swA#aT**$ruHZP2{D2M@ zeV#Jf)PBDeg`22SQI#G47GVvSVh>j-J$tyi6hiD8JqTb5?k%lPKYaVnE!$?Q=@E3l zoH!DkGZIH zlPvVxh%-@gL?xV=XHOTQV*Mv{uhVWsu5L55hr`0xT5-OBZM(oja<@)|R4!}lZ{fy0 z=g zG1Ku>^oo*4^0y2Orx#X+*g>4D5e1IM@{e+)Y$Lvd9+4u^t3z$GuCbP(1rcYvUP)ht z&{!BP-E@i3wA{BKf4Ge(a65ySFxbW5S-_~Ft~;4_D}#T;gZHq0luW|rCm|`*LEIr# zHV1ob`OhG4C033JOCGBxYJ1Zw9U}zMcnR^R2;p4?X76(V?HchoJxq0@Ankv?+*r&pz6gQ1z2 zrVc%wH4Mp?^k~T>V00qU3^n<}%tCRRC+dK$fC^wLhYUGWDE+l>NgpdMTz5K`J`Tns zS1c_YKVd$GFQ3sEw^vCau6oieMnFz*td3DBVD-WUO;MIIIDZMog{pL>@g3K=*KFXw zJ?*l__=u}ykoJ*4lpEiwFLKg{vS*<;#Ww#MDEOl2GXxY^SxujSt`$4~!B#0KH*6?f z^ET_XFbmN;)>qVYsK(;WYAJp1p7D`Adk+q^teM0FwG75f;0*KZ1*nuz4qVPgd%&WdHp84hYC zD=#vSCSeT8kQk( zw9gPk!)TeWGa2fHrm<6|sdbpJR>4Fz1qlxw5z!!)6BvK=K|w>=l$fl-j1?Nk+B3~E zy}qnXC$do6i*L|R8Xd*U)ZxdeGkzF78lMh#P+=qYH2w^7LQ%mPkU=4V;tNRFZ=7aN zs4n%SH*MOKc6G}mqx*Qfw0c0q9MFf!coO1emO6B&|DS{bE7;mOggJz60%Tc}ECVfP zu>-_s)ydJ z2rDF&;bN3>2<3YX570p;l%g!sRW-qzXL&NjtDE09Wm1xoeIN1xr7en_4)2G+!L`Brq({L+KgZz_Kw8Tef5c zVp>?T!KM*K1{B4xXnls~<6^yZ9vuXJF|4rOIgWTCbR4`QI6?n$=Hgl^04G^kg^5^| zcM#gD7{#5kB5E65N=j|gs1BHb$!FUJz`NuzJC5egJd;FCfPMGjVz!3)MFNN8I%UBQ ziAZ{E!3Lx5$>DekfTnStjw9$#)DMUs9NK$iU(J4%9{r6NZV8>Ezlsl7DV%CXuR-p1 z5+i=2drj_O(sSH^QZ}CaMG_Y@t8mUKR*d^2DB5i8QBsHN*`wWv_+VNLiUPEw2#l`W zmf&5@bcMI1#z9&^oRbQp$=tjkCYm8EJiBKfe&st50QmIRldRDE+>g_pfTp-#$L@j# zhI$vHH3>cupsE~Q;5v&Ju!lyU^{0($BB0v|tt6opG)J!pNKO)IT}cBUnrtMdT)fV6 zD~lCHMHy*nwG%$fb8U98-Da?{-JQ{;l-F9x;Eg*Jip7FE?hK_f(gUeDutwGruGA!G zM3i%Q!3dz1JtaycS9h@nVyc1pt>Nq9X8y?laK*1X+3@9$V(nnFpGLhJ+E<@!qj-89 zKS0t3qn%`DQZo%u6h6ZPnv7fyFxG^br5F1UkzS(U2z~fOP)r)wNO%`*Ed!f#;~vh# zw59nA%h|1H)_#!n!xi9_d#MU<`R75L)P}n>+%XBsl;25tUlU+02LUG`y(rK3HGHTC zAN=oWv+g21FQ>ImBqt2^-3|5VZLNnlf(FrGa4i@UC!;v&2_id+lx&`w#|`r|x8K~F z3Lz0SQlPMAM7iV0>BxZ;8FRG^kBDdKMEfA;a8>_r4laV zY+NkL5mWGlM{zqfz1Y4JhRO7nYD9J4AF9ICnm)$h2deFCp%TWTd&NCtA z)NSz3;|TQe`Y!^jxh z>fa%?M>)+Fx5h$MtZ7?qY=Ot5Z!G~vW!=WMqrp!0GtB!@exz9u@2oqt=f2Fu!1x&L zUF8fQv5?(A#68-^cJ{q|_l*pi4Q9nUw!g=y%U5zd)eSc}4h+?n$@Y)=<=PmlO9qY6$@PL*Q?PS&!0C55;?U2{K^`Eu*y(^fT{-HY|;7y z{0S^T&IiCAf|rM8J#-!{Bp5}Uod>KBGj=>ETVk+9@SGo*&kYqgR0vGyq{2A^*hmot z8x9ZL^bi{3)grq+(Ozn%PVWs1Eyo!E=@M9*U zbF~nICu>fFC?&VIgE6m z{_EHQ!WIfs2#qP^##nZf;lG05C9A+c>Q+4Pp2m#}UL5cW@IF|LTmW7i=1%aU1H$M1 zEg;6uN^>kTK+OG=F%Pfd^u}j(fzP&u9Bz?XT(iAdLsH z02hMO1=~?3Ox>MOX&#&NyV#f5!#Yf#HKNL{pCXUZeV8LH&W$J;`mSk3hIX8$yKlBM zm7N_ymS1FBMAI1zuqC2b#!k+SY>BiH6{i6c3kwDnMV^^TFdG3$j3KTop)7PDdZ`l5#;{k+hqTvLB3YVEG5*#{ zGz$hr;_t1rWyz{A{UeoR7RE#pf2z`+Z3n(F{Z}ioYzi6`#=lfaWIHg%8Fwo2Y$tYs zG5(E8D%%CKC9L-!hfK24k?j`2T*CB)nL+_N^a__ut-l_f2K@9@48%x)lZyT(gEGhY zCm0;yt<%fi~4`UMJh2=p`VcT{d34jsD1b%b#nMFj)YDOO5xxsNSUuC!nSfz~?sfU{%s z%wGNi5%wTj;#)~YqldDXBDkTSQ-%438sfFI<*u~v(^uo8-oOPsMeq~ERjhby`aOqu zQBl1GnZcvJ847-akHqXCp2%i=Bg4dS4UJwX>nBm&&eFL2fXFgkbLFM5gVK~<0dG$! zXp;ytn0{#**oEWnv6Peb2gWzm0pdmjOVS_=ybQ2zMai0S%rurBH96*nv8e*=F~u)M z21gz(C&&yN8T>Tgr!>=vl%XunDf2nMzP8pMn8_s0FF748C9mgKjaUKZk=Ns$XG3ZH zdD1kb)PcGMH)yuM8K{p!tm%POPVTFThA#qE4nP6xVMGAd{d5`*8q2OCVEy<4tf8=I z@}CRno#-t0{&iSJVK;FAyGU6J$wT0K;D?5>KeR;f3mBH9Ej+lB`U)p{B3q_PM4mZq z4WMZ1o`4gk|D0?cghnsTUb@=rrQp)~h5|09hxB#q60Sz^Iq8zkOyHP7g2cU!(l_AI z27XLfC$d#RNkdMi$N~a!9slU+js7p}UO z!3rjXbsys^8LVQkngNB`C}=I?>lhE}D;QtT;7TS0bei$2Oq>@PCmM;_0bzx@E$(e+x#eESpES%8k9$kHKq($5AoS> z%d@aq^6lfZ{qn4#B9HO45k9)R=@GN^$4B)6N!16LaT8cv%^AXu^sfJ~DpzAR>`{ z<3mHENH~T~tz$R(4?tnSHilzw>6IFA}OrCY0OZyg>VLuDo=GJE%o%Q?it8d;HvBclg~Ms*(> z+{>VcfiO$LHj!gOE@({;4(ZqMGqFQQ4o;4sefre|!K;`S**lKr4e2UVDw1pHzR97{ zLG0vxCDUHP;1LGr7=I?A{^o;l$X%kwL4cxuuiG&=F?)!!~|d_{iOiK}ZQ94uccC%`^BggDiv74BpJ( zeGJ~gKu(mHVeC4-ww1wadHZz+t8r^}@Tlj^43gV!^78-sT-sEdEZuiNi2?TZY)%HXdUbh4;x7~H^MCj${aoMEiOpvvIo z3|_(Dl?-0Z;2Z-HP1IM-LgIv&y^&9aKGkJUZ)V!#4Bo=v?F`<*V1~hG8GMn!gABgJ z;LjO6&EPK>$WB3SU(?)IrMdIRmDne`u6WKM(wSrbVZdas!FRf(;^f%0&mf$ zP&=S0nm2N0ii<^>Br*@pWx1>@Wl<)qsud}VXkQpDna&$H=A8tuFln*faHP2~o8x@o zE03aTMto(&Sk(2#f?$&`{1>RFrTytp61h49osp2_j(GX$y^MDazmUn}z8?q$Lcvrx z5{|{)lu*6o3u5)UBvbvJt2%o+*LU`IuE1|)=c?4r-5WbQI*)eV*qQ9?N%f^(;kz}J zP6m^xo%=784qY9>ef?iJiGQ)1W8qjdwmh0=9!F`>$cEozt zY>Hi(>R + abc = abc + attr12 = 12 + c = + b = + a = + attr1 = 1 + attr2 = 2 + attr3 = three + attr10 = 10 + attrx = x + +You'll quickly wonder how you ever coded without it. + + + --- # Known Issues @@ -1154,18 +1234,18 @@ A MikeTheWatchGuy production... entirely responsible for this code.... unless it | 2.1.1 | July 18, 2018 - Global settings exposed, fixes | 2.2.0| July 20, 2018 - Image Elements, Print output | 2.3.0 | July 23, 2018 - Changed form.Read return codes, Slider Elements, Listbox element. Renamed some methods but left legacy calls in place for now. -| 2.4.0 | July XX, 2018 - Planned release. Button images. +| 2.4.0 | July 24, 2018 - Button images. Fixes so can run on Raspberry Pi ### Release Notes 2.3 - Sliders, Listbox's and Image elements (oh my!) If using Progress Meters, avoid cancelling them when you have another window open. It could lead to future windows being blank. It's being worked on. +New debug printing capability. `sg.Print` + ### Upcoming Make suggestions people! Future release features -Button images. Ability to replace boring rectangular buttons with your own images. - Columns. How multiple columns would be specified in the SDK interface are still being designed. Progress Meters - Replace custom meter with tkinter meter. @@ -1216,11 +1296,3 @@ For Python questions, I simply start my query with 'Python'. Let's say you forg In the hands of a competent programmer, this tool is **amazing**. It's a must-try kind of program that has completely changed my programming process. I'm not afraid of asking for help! You just have to be smart about using what you find. The PySimpleGUI window that the results are shown in is an 'input' field which means you can copy and paste the results right into your code. - - - - - - - -