From c2084f07d10f37e4fff1ec4abedfae79835d6e36 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sun, 19 Apr 2020 03:02:07 +0300 Subject: [PATCH 01/13] v1.21 bug-fix version :beetle: --- CHANGELOG.md | 3 +++ TODO.md | 16 ---------------- stm32pio/app.py | 2 +- stm32pio_gui/app.py | 12 ++++++------ stm32pio_gui/main.qml | 8 ++++---- 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af4fced..203580e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -228,3 +228,6 @@ - Changed: exclude screenshots from the setuptools bundle - Changed: restructure TODO.md into sections - Changed: remove `from __future__ import annotations` statements + +## ver. 1.21 (19.04.20) + - Fixed: GUI. All paths are now reliably treated both for QML and Python \ No newline at end of file diff --git a/TODO.md b/TODO.md index 26797ab..d37f2c0 100644 --- a/TODO.md +++ b/TODO.md @@ -35,22 +35,6 @@ - [ ] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - [ ] Linux: - Not a monospace font in the log area - - [ ] Relative resource paths: - - ``` - ⌘ python3 Documents/GitHub/stm32pio/stm32pio_gui/app.py - INFO main Starting stm32pio_gui... - qt.svg: Cannot open file '/Users/chufyrev/stm32pio_gui/icons/icon.svg', because: No such file or directory - qt.svg: Cannot open file '/Users/chufyrev/stm32pio_gui/icons/icon.svg', because: No such file or directory - QQmlApplicationEngine failed to load component - file:///Users/chufyrev/stm32pio_gui/main.qml: No such file or directory - Traceback (most recent call last): - File "Documents/GitHub/stm32pio/stm32pio_gui/app.py", line 629, in - sys.exit(main()) - File "Documents/GitHub/stm32pio/stm32pio_gui/app.py", line 590, in main - main_window = engine.rootObjects()[0] - IndexError: list index out of range - ``` ## Core library - [ ] Add more checks, for example when updating the project (`generate` command), check for boards matching and so on... diff --git a/stm32pio/app.py b/stm32pio/app.py index 55b1fe8..d804308 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -__version__ = '1.20' +__version__ = '1.21' import argparse import logging diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 54868f0..5d76db7 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -30,12 +30,14 @@ "or manually install its dependencies by yourself") sys.exit(-1) +ROOT_PATH = pathlib.Path(sys.path[0]).parent +MODULE_PATH = pathlib.Path(__file__).parent try: import stm32pio.settings import stm32pio.lib import stm32pio.util except ModuleNotFoundError: - sys.path.insert(0, str(pathlib.Path(sys.path[0]).parent)) + sys.path.insert(0, str(ROOT_PATH)) import stm32pio.settings import stm32pio.lib import stm32pio.util @@ -609,7 +611,7 @@ def qt_message_handler(mode, context, message): # Used as a settings identifier too app.setOrganizationName('ussserrr') app.setApplicationName('stm32pio') - app.setWindowIcon(QIcon('stm32pio_gui/icons/icon.svg')) + app.setWindowIcon(QIcon(str(MODULE_PATH.joinpath('icons/icon.svg')))) global settings @@ -663,11 +665,12 @@ def verbose_setter(value): logging.getLevelName(logging.DEBUG): logging.DEBUG, logging.getLevelName(logging.NOTSET): logging.NOTSET }) + engine.rootContext().setContextProperty('resourcesPath', str(MODULE_PATH)) engine.rootContext().setContextProperty('projectsModel', projects_model) engine.rootContext().setContextProperty('boardsModel', boards_model) engine.rootContext().setContextProperty('appSettings', settings) - engine.load(QUrl.fromLocalFile('stm32pio_gui/main.qml')) + engine.load(QUrl.fromLocalFile(str(MODULE_PATH.joinpath('main.qml')))) main_window = engine.rootObjects()[0] @@ -704,7 +707,4 @@ def loaded(_, success): if __name__ == '__main__': - # import os - # os.chdir(str(pathlib.Path(sys.path[0]))) - # print(pathlib.Path.cwd()) sys.exit(main()) diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 3cacbde..057fa8a 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -193,7 +193,7 @@ ApplicationWindow { Labs.SystemTrayIcon { id: sysTrayIcon - icon.source: 'icons/icon.svg' + icon.source: resourcesPath + '/icons/icon.svg' visible: settings.get('notifications') } @@ -212,7 +212,7 @@ ApplicationWindow { Image { id: dropPopupContent anchors.horizontalCenter: parent.horizontalCenter - source: 'icons/drop-here.svg' + source: resourcesPath + '/icons/drop-here.svg' fillMode: Image.PreserveAspectFit sourceSize.width: 64 } @@ -418,7 +418,7 @@ ApplicationWindow { text: 'Add' Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter display: AbstractButton.TextBesideIcon - icon.source: 'icons/add.svg' + icon.source: resourcesPath + '/icons/add.svg' onClicked: addProjectFolderDialog.open() ToolTip.visible: projectsListView.count === 0 && !loadingOverlay.visible // show when there is no items in the list ToolTip.text: "Hint: add your project using this button or drag'n'drop it into the window" @@ -428,7 +428,7 @@ ApplicationWindow { visible: projectsListView.currentIndex !== -1 // show only if any item is selected Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter display: AbstractButton.TextBesideIcon - icon.source: 'icons/remove.svg' + icon.source: resourcesPath + '/icons/remove.svg' onClicked: removeCurrentProject() } } From 4bc3ef2592664c3b7b0280279d79d4dd1e5f5ab7 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sun, 19 Apr 2020 03:46:10 +0300 Subject: [PATCH 02/13] v1.21 bug-fix version :beetle: --- CHANGELOG.md | 3 ++- README.md | 6 ++++-- stm32pio_gui/app.py | 1 - stm32pio_gui/main.qml | 8 ++++---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 203580e..4dbe252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -230,4 +230,5 @@ - Changed: remove `from __future__ import annotations` statements ## ver. 1.21 (19.04.20) - - Fixed: GUI. All paths are now reliably treated both for QML and Python \ No newline at end of file + - Fixed: GUI. All paths are now reliably treated both for QML and Python + - Changed: README installation process actualized \ No newline at end of file diff --git a/README.md b/README.md index 2caa647..5cccc82 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,11 @@ any-path/ $ python3 path/to/stm32pio-repo/stm32pio/app.py However, it's handier to install the utility to be able to run stm32pio from anywhere. Use ```shell script -stm32pio-repo/ $ pip install . +stm32pio-repo/ $ pip install wheel +stm32pio-repo/ $ python setup.py sdist bdist_wheel +stm32pio-repo/ $ pip install dist/stm32pio-X.XX-py3-none-any.whl ``` -command to launch the setup process. Now you can simply type `stm32pio` in the terminal to run the utility in any directory. +commands to launch the setup process. Now you can simply type `stm32pio` in the terminal to run the utility in any directory. Finally, the PyPI distribution (starting from v0.95) is available: ```shell script diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 5d76db7..629f187 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -665,7 +665,6 @@ def verbose_setter(value): logging.getLevelName(logging.DEBUG): logging.DEBUG, logging.getLevelName(logging.NOTSET): logging.NOTSET }) - engine.rootContext().setContextProperty('resourcesPath', str(MODULE_PATH)) engine.rootContext().setContextProperty('projectsModel', projects_model) engine.rootContext().setContextProperty('boardsModel', boards_model) engine.rootContext().setContextProperty('appSettings', settings) diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 057fa8a..5e08c4f 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -193,7 +193,7 @@ ApplicationWindow { Labs.SystemTrayIcon { id: sysTrayIcon - icon.source: resourcesPath + '/icons/icon.svg' + icon.source: './icons/icon.svg' visible: settings.get('notifications') } @@ -212,7 +212,7 @@ ApplicationWindow { Image { id: dropPopupContent anchors.horizontalCenter: parent.horizontalCenter - source: resourcesPath + '/icons/drop-here.svg' + source: './icons/drop-here.svg' fillMode: Image.PreserveAspectFit sourceSize.width: 64 } @@ -418,7 +418,7 @@ ApplicationWindow { text: 'Add' Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter display: AbstractButton.TextBesideIcon - icon.source: resourcesPath + '/icons/add.svg' + icon.source: './icons/add.svg' onClicked: addProjectFolderDialog.open() ToolTip.visible: projectsListView.count === 0 && !loadingOverlay.visible // show when there is no items in the list ToolTip.text: "Hint: add your project using this button or drag'n'drop it into the window" @@ -428,7 +428,7 @@ ApplicationWindow { visible: projectsListView.currentIndex !== -1 // show only if any item is selected Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter display: AbstractButton.TextBesideIcon - icon.source: resourcesPath + '/icons/remove.svg' + icon.source: './icons/remove.svg' onClicked: removeCurrentProject() } } From 3f4cbec06b818d458c5ece745671d04bf04d405e Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sat, 25 Apr 2020 16:15:05 +0300 Subject: [PATCH 03/13] new logo, add logo source, fix CubeMX log parsing, expose the app version to the GUI --- CHANGELOG.md | 2 +- README.md | 2 +- TODO.md | 9 +++++++-- screenshots/logo.png | Bin 265059 -> 164436 bytes screenshots/stm32pio.drawio | 1 + stm32pio/lib.py | 18 ++++++++++++------ stm32pio_gui/README.md | 2 +- stm32pio_gui/app.py | 3 +++ stm32pio_gui/main.qml | 17 +++++++++++------ 9 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 screenshots/stm32pio.drawio diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dbe252..3ba1fcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -230,5 +230,5 @@ - Changed: remove `from __future__ import annotations` statements ## ver. 1.21 (19.04.20) - - Fixed: GUI. All paths are now reliably treated both for QML and Python + - Fixed: GUI. All resorce paths are now reliably treated both for QML and Python - Changed: README installation process actualized \ No newline at end of file diff --git a/README.md b/README.md index 5cccc82..caf1838 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ stm32pio-repo/ $ python3 stm32pio/app.py # or stm32pio-repo/ $ python3 -m stm32pio # or any-path/ $ python3 path/to/stm32pio-repo/stm32pio/app.py ``` -(we assume python3 and pip3 hereinafter). It is possible to run the app like this from anywhere. +(we assume `python3` and `pip3` hereinafter). It is possible to run the app like this from anywhere. However, it's handier to install the utility to be able to run stm32pio from anywhere. Use ```shell script diff --git a/TODO.md b/TODO.md index d37f2c0..495eced 100644 --- a/TODO.md +++ b/TODO.md @@ -8,7 +8,8 @@ - [ ] Create VSCode plugin ## GUI version - - [ ] Handle the initialization error (when boards are receiving) + - [x] Expose version to the About dialog + - [ ] Handle a theoretical initialization error (when boards are receiving) - [ ] Maybe `data()` `QAbstractListModel` method can be used instead of custom `get()` - [ ] Can probably detect Ctrl and Shift clicks without moving the mouse first - [ ] Notify the user that the 'board' parameter is empty @@ -21,7 +22,7 @@ Note: Delegates are instantiated as needed and may be destroyed at any time. They are parented to ListView's contentItem, not to the view itself. State should never be stored in a delegate. - Use `id()` in `setInitInfo()`. Or do not use ListView at all (replace by Repeater, for example) as it can reset our "notifications" + Use `id()` in `setInitInfo()`. Or do not use ListView at all (replace by Repeater, for example) as it can reset our "notifications" when reloading 2. Some projects show OK even after its deletion (only the app restart helps) - [ ] Test with different timings - [ ] Divide on multiple modules (both Python and QML) @@ -35,8 +36,10 @@ - [ ] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - [ ] Linux: - Not a monospace font in the log area + - [ ] Currently running projects can be temporarily pinned to the top (and stays there on scrolling). See QML Package type ## Core library + - [x] https://github.com/ussserrr/stm32pio/issues/13 - [ ] Add more checks, for example when updating the project (`generate` command), check for boards matching and so on... - [x] Remove casts to string where we can use path-like objects (related to Python version as new ones receive path-like objects arguments while old ones aren't) - [ ] We look for some snippets of strings in logs and output for the testing code but we hard-code them and this is not good, probably (e.g. 'DEBUG') @@ -62,3 +65,5 @@ - [x] check if `.ioc` file is a text file on project initialization. Let `_find_ioc_file()` method to use explicitly provided file (useful for GUI). Maybe let user specify it via CLI - [ ] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv + - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually + - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini diff --git a/screenshots/logo.png b/screenshots/logo.png index 5bd4ddede3e9c6c46428830908a0581f501c3cef..facb38916679aa00c0b810ee844d1fb918a2191e 100644 GIT binary patch literal 164436 zcmZ6zbzD^c^9CviNJ%5zCAE~&E!`pAARw@GgMffYO0#sAbT2KTuuoi%dz@iE z;GET@#h;ZAk?uTuCi+ZPLhQW<++I40vA#y@qhAd}oRC#bt!(N+E#4e_Ko+vbC#H}P zRHg%g@a@y<4Esx?*!WqT3MO&u<>KPBUx$F%*t2+8v?% z7J|=%^r<5%L-?{Kr+PWQrP;T2`8n=3GEbj6R0|_-tncya^3?aF_4#3b9qfD&?(j@@ zJ-1|I4~+k_k4AiX&Kq#=Vv=?B!rs6|wrY5dB8Iyzrth6G`yvA-u*HWmCL-hZ{Br)R zcfFCb6^AZb1YzQl-tVB!u;@Rxwa_^%^eZdkJ3cO-HExwu4no@k-Whphw@E0apAKd9 z>_6^@Eg9t5i(q_{uV?ailojpTZ)jniWBkuca>leMA84;8lhp~l_`sTRIJ|`ZbJfXe zuS%I-x;D3YRQl8!!XD4DJnX`&R-QSo|GV%Da>K9lV;yw@f(RAoxdB>w_6j#06CI6N z28Ym%xGT={vH12p+N@PKwMEU=*Z;e&9Y_0kgaJ*hNTLoYx>}-E5YN9qhxiy#u%>dD z`h$Oa3{AxI^O4&b_Y3!-S-OE;L<+Hv9>dBMjzn)7ag zPRX^DyKN?H)ZpV1K8Hd3ye!X~{uf+NE{_Zl{n~RBxC)MBPJ#U*i4gW!l_GBQTHpWg z_OOo$z2POz{N#jkVg8kVI`U}j_}c&HKJ)@`=jNGv?%EahYS>3g#U-QR|7RfVFWC{i zn%;}i#dW{aROFlg?XU3TqvXU%v$D*;>&r|zdWr`%xCuTIg@7kB? zoCL>QS!UJ&tf7BSg9<}6U-KEFJNC_mnIs~)xqWrF?`0vft35R`_l z;FkIC?L%;8&Jx2xUOpZ5jja#$d9la&$?sjf=;LNDC4_P;$GcBrLMM1v3HuctzNBv~KyHB$ZCvMkkw(fo11l%e6mkX|$pZ3P0FerG`&>+TT ztQD`h1~rt5NQ*4$$Y77-Bm@?9f=#ntMSl))EMfdph(aG$D(&68Kgr86ZN0*epO6!C zEJFxT|FxmklXL7+LGNXR6vxqcxU&>FV@|t@vh#75UAzL_G(vn}gSfTf9bVdCb85bY z?l(u9%^;U|ESTu%GWP>FS_T9?#NF!ESR0F$Bbvb}Uzk5^gvx=XoV#OES2;^ShYZDEnfM9*@2R_(rRoUvn!LfMM@ zP2KhTX$`c~QTiq|_d0iZ4cGkm1WU=2QE+|_tZK1ypnPvgPr6j}E_8ex!Sjdp6xV&F_Wp8WMvePF9%g z!LGjLwDmBWmCY{3Hnl!=U!9V4*z=Ol>EL#;u0n|A?U3!f{X+SOP)aALsKCvS>Uw3^ zSDXCDCAN<5!HJ29O_cmb#DcjH;-2!uZeg|au2Oah*LYuHCT+9(9!Lwk$G&@)B_q5M z5w{ULY{1Dfv@fL_?RSx$*(YzDqEG;=YnTUIKa?%uR$Pum6@REXiA>ncI70la`10Gi z)8dPvI4)48Nl7iNm{4LOlim=}U_RTXWBMDxGdLbQi1*pPp)~HQ}1~Gm0r= zvwJ%`bs2QKmxCS6e5n7nWhiI}taLrd=1VhO`cJJpUnu5)dTt15a+I(Er zUa$|4;xrm7*_oC~82@`(q}ldrZVQlRM zWN@sJEaW$JBuqx=clYa^GDgK=ee`+hVnu(Wc=^&zy*<(KVd>UMM!KTYTD{-b*P{j} z8JHQF%{tQwu;9o;a8VeiZLRXs`I`@U)&a(MQ zg~^3|u^Xz=p4U%Q|Kcp&#F^=}S)_(Ru!U7XD@Tii)AOU2v~6SG5<{F zYxstk49sG5l#TXlpYI3@5fy6F=2mv*V$QmXzx?TDwvfc};Pf^E%6luuF}%`)rmWvP z`BSdQMGahAE-QTIH@xum`RgioiYfo5I9S>5N&Bp87j?}#g7K%|!YWPS^7LD-VV3m< zT}3%#YHZ}-&YufHhtIeAJ8@qToAg)Z;YDlRuTA2hBN@H*W9b5Ll@+!<%vLCpWH#)r zInAT=ysY2S&k8?fsJKEXO;%2_4x4$rI(+<0c-9|>X~~*~E_HtRcy6zztrc! z@fuLp?lN`gXuQqu(~O@g?&n;q-G>cn_zxvTi_zFT505S|Kixh52@wfOJ&lVJeB0t%85GQ6mvnl} zneNohcyjG`HSb$KF)Vlyad#)cgVJ>^kX!dK9Xx*H(Lm^STr^Q3aBV6nfNnLV|HBs{w1vjn(C zuh~g+jt22)zvl%KSwOisGC*dZY$ev;rAKvMc(>h@?=7@yxrvQDtoS_|>wot)R=gj2 zyp8;{YdKAE7y)pB~88GwKi9 zcvp9-3!M_mtfL(_O=Sjp?iJY!Yv^9oCKV;dhUT@j9Gmm4pn+UqAN9Gtmrexwf^Bwej=#HbOigu_A|^n)+I}?HE(*B^s1kLeL_s z6bAN?g>#MFw4p80qE|5)vl!}IyJ=hXn0C;?=IV~zSEOymBH?AH^Da=Z6(st6w%n!& zX5#u2sdHM?YGryNBJB+{(Q<{ufa0Xwez*ArqWzH-tnGt6(52s*Pxsh$W5p-UMgQ+z zwFpjWuW`%1M?|#T*hi5mIrji5A{{r9v{J$Lo?U>Hlj9c@iS`e>=cYX)N@dARkJtN; z?57I{^=o398Q!aWYp7|>ot+}!ufEmJo?mS8s{~j!@0Z54iBRP0ge#mB0Y_2pUW-Fpp0~0vn4*1B!_M7E?x7(i|peD z1H(H&KVA|T(MN_GJPg$go^%M`U>P&AKEugoN?rr8g}B{Bv44{{mGJg5<)uI?Y)oc)$wx&-L9Jg&t7%XBOG`I?r<4&Q8ZnytbB){VYh@& z7t6w0m_B6~pI>k5@e2BbNoGov>1P&#zoS1590s~AZzCh1ULc09*1k=vN#Nsg1lriK z(=}rj=4AJ-dyLW#@Ij6nU&!HQ?Pd-l$*;OahMGSsp|hW{^xOj;#v9E$gtPFu8X0Iw zC(b+lWE(sa6?}oq+VKKyab5CkBV5EWW;TjKR;ed0Zc3z$s*t|&6kaRzxi-++~SueBmYFL>3YpG+XDvgiflQAw0hSVXAy8AP#mb(!J zcMnmm!`kxc=WeqS=nune5XGfdSzhT9F4e2IZ@AlWZY@k|O;Cj`<5%;M$9{1X%tsyk zObghOK#*r*WnQR=go|flVqPEfy9>CxcE9Z1e3@F~+{>^0b%UtJqSvzRgvcswoVTUx z8yJ&^u6@~f=k)Q&lM($@(zW>xF==~C!#MjPTP}efbCnRdv_*l}?~q>Gz|$aDE=}Ny zSD|fPA&n%74gKKiJYC#|Te4h{lzHHpF~!|_*XpqsuvI)_jD>Ew>}U*!A_wcw2%y+wGmdJ8!_;drmrm`a`_Pm<^9H zIfVG)q7qO)WAN669K?Qnh@NYUIi9fqr#R>;m3vhk`8bx^2fIP>kUK{(ZV34~$D~pT znInM#QcU&fyx~n$VyC$G4K@~8vH|Wff__WAd;<@Qb5yGL%;lP>WfViM(=Zy3^yBFr z$x_h%8>F8NQ3cq+fD*vmc z=Pfrm^fHHasdAK=DBm}@GY@|lHvbovf|Se7-gL=IGDwg5SA|v|klEqSCVBMDH%A6- zNB1)tF5*5g(U(W;E>mSYvuQrjNf^Y_AFvHKh<%5_`hOO5bHPGl`-*|fM z%E{)r@S2k^-2D78(czIP*lMeB*5^HCxUfW`h(R{vH}i5k5_S!#GfXr3Ki>Bzug%1a zW%oZ7p~XYqrTXTs+4sO-A@EB}H^`FDICuklx(oC)7thw4vdarqzzSKAk#Z*g7KW_R z*wY7PQMkX+_8F&_0-gY12yhoVtrWZ&BU95`e623Oo8R(XR}QV@*Z!FM!}Uob4AS%5 zE8ltDK=bpr5!>o*Wva;v;<=DaBWPEZJjdc6g zX@BY#Afb5Qe2n}zsC7lLS~4R>rr3xx`K&ixMvr(2fwR1pd4E9wE7I0(arEv^h)4KA z#a*6vbNfxuet7SV^vdU)a5>`^Top%w#lz?e<^L&rgsSkaZ`JcEDvUnu8_MQ?twk$r zn`Cs5jz9IVVfj`y)y#9x@lfRFbCfyCvv_s>VuvPZA7gz)3~W;evkj)^+$=?mljJU_ z{V$ZHqT25oxy%pJkd8fIm9Thjltw69x8S=X<+v&IO}1Bgx(2*lJC+Kh?1Ab(C&J_y z+0U=$851_f7DriyT77Ur(Pda(1$#RguJ%rcZ!Sbq2gi6v3q&(IJ*6%?+*9}bnMbj? z^shSkjAE-edb`Y@{ZD-JRHV#(u6}y+u-o+~vb$;E z$eabp55q2C2>JIK4qB{lbaceSy~Zpw$6w@eihy6}+IVOXePd#?^ia`06$J0N=;{L! z`+6!NUe^C9Q8}xckI4Uh`#Oie1Sj37HnF(ohi81m?(YUxkJ~rmM8*6YsPwtWW6&Qs z@__b63cB8=YIq_26HbZouU>qCPyDK%uEr4c7=1SOCvVn1!!XU!0k;+n=7m4jbq72{ z+@>t8em?r9T80IVD)mB+9~UcXm`%7sS${FFffGgc*BU3`H?dla%JfxGhq*~Uem%k` zI3fj5A9yoFf$^KnJ6mi7z{NXKUHk?!M}~9KzqfXvgt-w@LUQ-NBPhVbS9#!=z7luq zr6!RdW7-XVb}lbQNl8SpR~6boYsL{OMHAaEnl9ek*_VV!KpVJCYDc4QAhkXwM zes(GU%(nI`s`2$p$UG5UteomI@Au0}0c~Wh2!B|q#1n<4UVOV>^Y5Yhlfuh35tyZw zR`qx5>y!ZdU&P2=u0BI3BoTj$vSy=iTJ;?r{p?+-1#4A&wZ%NkB+Gm>m1Wo3&nqXx*7Q$x_H)tr>r1Ij zn0H4lOD+Gh1z3pYAbiv?A7McHl;iFA<{*~0yRU%igAjQecA5(t=*@h197^Z~2I{x! zBc6f?bFq6_6jWBUQHTao&`HCuUH^^A4KY0{ZRcE^eB^HOjsWpvL{!@SFxfCOpgKy3 zA@c8!IClNMR=;IrbsR;ymrW^vmd$trPmKMK0TKAHnrSAfJDmG3KbBvk{8}+24FZvd za0XQAnKIVXny})B%o>}(nTaGjR?9XJN}Ju|WM7e{6bFlQzYAn}S$V{>na3JA*WF^G}V2y2b-h$*vqQTTB8FUN%4C+AV zm*OTb!r{lpuoJ3d#m%tY*7S>QU-IAoqf;DD=oulpYxSSWq!@5b=bT=SA_2lLJEoBlw+ zQd7IsO{q)cBQ!QUOSiwjKQ_8Z)!J$j+JiLU)^Tmz{&vbBY)wTuO7L`Ve2nBbi08-g zx7CaGRkSq+R1z+%CROC419k+bN6PuEdk6n+9ZKIxFK=FVgUi1_=^sN0Gn)3bHOYS| z6dCYr!T*~#2Wzz>pgDLxoI`4AH@KN?KH}a=mfFdY6XSB#gAIY^ErK75(5kbH zs0C|&sUs$ePW=mzP6+gUEOu<}7&(S4g9Ol9FW9A%Nnm7&fun)7dCabX<{j$0@7*g0 z^Aw>n(%}`?{)Kq0DL`t%e1Yig69J%gJf+v^Vjg-ELD7($Y^VyyJN8|GduO??G*zL!jP^fr02FSFmD;-nQD=DUL0I zKp(_1AC7zf94A|H>gqwQch!X@+A5;UPwE#efjfv#^*%?YR}yp3bc1*{N)!=zu(O?>n5=C7haV4aVBf%JkFMGRP0?&7#u$2UUYPw-;c+cz=Ib-*7ku>f3~A9RjI&n$gjUHulmE@Pj9HMsH;|$A zdtv-NRj&ZN?3$qhM|hSpR<-H?W2)(yDKezgo1?V&Y&So8Lt95%lhJsG6R0*-NU%D> z%3f+}gsOWN*fsU;()7Dj)U-{((n?jU!GZ&aUE+mOM8f{wmvF~6i8v0@7aWlL>^EGM zV;5ANj_y1QF^ztOU#J3hauncpFK@r~mKPPp#Kz*(q{-0c<>w==Hb_rZ7%^C;`?$HW z05;prMVZ_ZI||jX2GdA*CZy|s^Oj?m_kHB@CMtF~JwVGM_=8@&NH88s{(Rd@?(cb$ zJ|X0A*d%Q5>NH%^QwehU9$&%Z9KHAjajeD)bKxk+`a)BI?e`S{pHi`CBn&ScuZkU# zLa9O?qTNKKo;8Nvzuki^!CoM08>j)UX;o}$7Ux7p1Ev7FyXj`l^n-A*l3TOMfrlUf z@~j>51oCEKKJvzdC?X=F)Gwt>;e~ifNlA+XT{a1>u9}x}8k(B)B-}vJtRgqA`>38n zNj<8f;_vL`15#0I#H$TIe9zh{{4yIhCO`g10N7u_juVM!E)@K?6e%#lyRb!eV;`aT zfBEL^IQE>1rALW z?_`2ldCbEi?JG~WVIZ$C&hH?IgC+Nox>oR+$$|t&w-|Yd4yw$MGo;bRo6<#qJp(ia zRbi801Z3(G)u{Z5VeUP?&1s;c!>FjJ*ge=- zT-q72kj`%&w!;NL5zAL2M2$dn7xlW`PC*an>Rwp226E~C6`)}RS_1}e()bnJFoEf* z-r}Y|Lo|9bbp2t)4lNvr{z@k@t_xXR0ug{^-_9Tm3rPQHMape;!hkVtbHxz`yyXJF`L*)p+CVmQs7gm*idK2z9uJ z9MK$$s@hL;*6LaFQ&~kcIGOt%K8qdGy_|3k2_x#rs_N_z7dKZT4ru6cbu04S2mJ`_ zoY31b1HPcDM%4j2=sPq3OMSWlp*mXqvKa0aW6+Q5yoLtt-@kuK39^8(8$klkud+ltQYF=H}*1zD2Ih(cpAk-y>6ZQED^l3-w%fSCPVp zFaCflVqqiV&p@x|0N$G0*=E5*%wK-XJVPWnLyHmE-RGI zl>Y55Nvv-U1WL424wr~NtM3JCrBd3Jk9zXu0UBj!nmWA#z}(Mob1ha3_uiVB^VurX zqd@Fkp7|#)a|1UMB=O87xG-qi)#;U{O^}U^rh<6FTqD1|G-?Qo1z)>vK^Z0yAbqSa!VJIl~$f>B{dN}+_Yta@^Cl3q(gBbi?pIM`U3SvR1I?M*3WQ?FyQ=Pw7g+*MqA zN8zGaF8Zv<4f%8v)XM3+set>o5gR_Wqx@5)5`&4!kjl2#{MaN(qK@$gLxe23m-R|1 zP5+vKTrn8PeN>s`{ujLZSXq^;EhRpxA+rcQeK&*pr9mC=jCnEGZmbT$jGWk4YLQXtqa&1Wksl-=EDI6ofNs2^M$OrG zC|b?mc!D5q3t`%peLhaO^;`)c5HZ0v7^La!s~cx!Ua-rhb3{B|IZwYlM}}%?+)5^j zx49gxUC>S^t@t1DkP3d{n=8d-|E6Lbw4$u9#D6Ugv9qKu$}zGs;uKY{;9^7 zFK6sa9+uc;6^$dhE7@Ms5TA&TS(n`jLVs%Xo)npFSlcB4Q>)DXW+)6Uvu5)eX#mfQ zoEXJa@?UTI<(tPVb-nqiR-Novvqz#y*q$_{?OSPF$#9BUUU!zC-w-a|aDL{J>S?H_ zH>c`G&EynS)h|wzy5sHf2~`u~8C6caq;Wy#IZ9xU_~nxw58&U`CV!r5i3=N&$w zSdl=EeE0iz5!RWZtTDidz>wN_y$bulAiLqs)aim4m~}kM_rLa+knRalP)fN={vwK* zGUdz5C82$k&;n-cE*?tkhC!!tjn{8ztcmK9AeyDB(Yn*71O_%$8DAvdj)@pkE?tumelq;HRD&Ylzq=n8o)18!tVD;ho5L{D;pMCEQju25Q4b*hF40r+_w0;Sd;f{ ztwH(nAUR}BtBZ7XJk^Yzj+qv=&m)JZbd(pl$U{MVpH+(t`#|77DjBR1B7WinNE){4 z|GLh!XI<(qy56_EM@9ANHkCi_Z&#KAW=jK*)p))XVb@j;SWtfDo2nxLfcMMFs_W|z zPaD8;n5AWS-x-0IrXri~17Z?PI=aAiL(EVV0<*O+!Ozb+WRGv}EpF01Pd8ip~bK(IWF z*(fUe7pxrASju_%Wl+|x{2;7Sju1v|V0Qk;ZyTSg3~_aM&2q4~LdF+cS;yw*Kjb`K zeC0smeq|YLbbMpwe`X8>=tt0)n0?#d+ljT4;M}}Y<08XUhz`Q?&_F(`-M*3>`@F17 z$|cVse=J>6il3k)mdY$#)?Rx)G={1)wE+;APVbrVv29jju2>kh6VUF1_Sg=s>ldnQ z)xIn9Kxs!F(MZ5Io?xZ>#&wM24{~f#k#R0{Lh5L~8=J&Uyx~V$=r`;UE@?bP|F4qD zEuX^_quU!I>wltwLj;P0f~A%{j%l$1l38G7Z-G^fWW{$o*f_q)eEJ~$WP)qBBi$|P z>}LWm3L1^%cNAhoR%u75$jA#DV7-gG8;LvAS3<=Civg7%$us4x4XCQu$yXT z-xVeQ7&;g#e(#q6k`A@p7-F&M)dC=(o{o4$0 z?M=a&SahLb1HQX!Fcu{vt+RW0{z4Iz3h80;o}h8cjhro+ntWjl6(OJQ-eu-MrFn zgYlL{F$DP`)R_imDu5CSg1jvY>I?HUrg?&dB8~i^0+)aB7vCQ8r0K27)QSBqkAybx zcq*d}^6=ym#9t*rUf()$32DOsy_mvxuM5^te$F)zoQ{|p>L7?!YwEDEgt^dJv@=Mt zg8|)XdLT1-KH+K9cVXg@qptLJHSnWhQg&O_3!8$AjlfGjl|KGd&j|eS7Xph1yFduw zl+ZiP08Dplov1Unu5XcEw-^gM0;1jPFW>uY_tmgogA5T4i@W1R$&vLi(d&70jo(xv z%){-#^jKS0zH)zsi#qe+{QUnUoBv;P?Vx~?$8O0Qq>k#JUL6ow-ixKWJsFuUu(83) z*5Bm1OFKru0qAxqDeK|YLDk*-{o9%=a-xY)eWr>`*F3qjYpirR5Nex_@6Tep>8oUt z+&ti#y3gUZpyQP4ywJEOID~4{yg+Vw+u_yx=r4EBEN%ktCeo(kY_sWb-v8PEM6=elt>ym(R4Fp0 zM@$u70Y^TD1VEBC_uNa62)Po&(`1mCru-E^|8-%eZ<8ZOfd)uZuh1jBXU$?^Y8Fz} zIn+4BpPDY7xEjT%rQ)<;;Y}*9m#DXCx7LJTb>Y#R;mtC9D7biV$l@8XFwBDP<3N$R z=c+?K6}GUnB=Tk81SDsTHwxs1eyqv#~PrTjodncNYfPw24g1mpbg^WvUn`c2mAi6*plX7O5dM6}=b9AFZ5mP;egKTu9 zK;7^j38dEo#5$IDw|ARoW!NeP1tkc-dgWB-yYPwq6n#|QU1TGDg%?Rh15)&+Wx6^ z0`T$KU5EgbOByv!{W!*UUZH5(1+|x>T^w~($ZV*3ktO-BYv6}Kc)%C(N>mne-Ny== zc>MB(4YiOVA078BAY!TQQu)?__iJomRNZ~mmZjCLvHU??DhpahU`x~2(pvp`Xd27j z$&i7-#uvJ9x(R6DXTz6RZH5uxAXm~U=S>ezdIKsRmgYc0sD6^S?!VRnhThaqae*vl zEAbcaBI)45N^`_{s3|e2jpGT%NAiB9_kp@3yPhbz=gm&xH{;x(7(m_B%}2@9eUV)q zOUV5G{4lBsGqH{(Vm^M7ruLjyGaF=H;kb9b)H2;R95Qbq4=q@*i>f(yOShfl*Q*|) zpW>L^%{K?-fSa53kT^7O>h+W^2raFmY;0_PzL&$+2KsFBDkZLm^+fX>fHcqIX^jW- zZJcy;u!}zuxr6f{ap~=oQFnJCY%yl_&kaR#vTpNxjVS3Js2NcZ@>{Ybm{8^NXDHr4 z(JGbwc_!({m!|#6pYoFR1o-#^*@zwsn@dzm+T*WjiqVRxwYNyOF)k=!oPcJl{4L;|s5Rx^Z z06+iNvP`^EJTJ{&r`a$a=HD|IJzLd_k>loV4Hfv=ER72w&4@96;AIWnWfe5N2ii1$ zzt@CcC%7r=f6m7P9l9`CtG5YAVp~Wz z;C#6XI$fY|ndP&0M8lHhqe>S-iCFn&x>vJwHtYnpwc_(cQD7^3rO@;?hk!7s+1m&x zdb4_8ut$t8Ym*0Af4KU*w{6Ag`51@voZ|LI;J`S&XMaDaUJTc81*lxG%0|c4w;$_v z_)E*!GP$SiR(|V&9sF3;1X~Pg_h5jzq-BX}Kl5+4lD>i?CJGO<3;jy<3|ob%FPHNB zDwfXq`8al0{rfp6bg)5B2~Hwr6VF-mqmHANiV9^o0UP%%w8;MBWZuX8nRQ=aVCRqp zs;>~Y;Nt8_Q*YRPq7Pry1a#Y z4}16^g85X9lV~a0%^bXP=qBJx41R<_{T6M8v!7sc?Wt)!c4n((_*<`!_>ol@67W3D z?X}YShZ-0x*-js+#YQnt_)B`WO?GXjf^e#DiehOT>-Zm+vpOhNbb>w9Kmp=mvH=1{E+$keRa z-nGt&$3?nW&WzE)T8rJm&!$}2mPM8C1Z}o{F)e6ssd%bXFh+PYX5Yd1qd( zw+eBA2KjkoWPzX8z!jCl*x1_9Ng!Kjwcn%codE`0Zsh5EXMQ$Ip~5IRT6Q}UKH{#+ z=EI|kVAJ~V-&Mk5c0XyvBD>Oy+{83Lps@Y|Tqp8~c+V4|ZFO4uQazk0J2V^Ef1WW2 z;aJ6&e5m#p_ha8a#bY`5`Xq0%(dt2oy%Qzj%^6rFvr^~RC>Yj6_R;b=d_n8yrOZLb zMDNoa{~-ecqq|!lqlce|#RpIOWXMm77CcrR%D;a30^#*U7@81P5(n2KQ|CoWNFSb` zu!Ky8kR`aK!73NqosN#K0>^!RxQV>xgF`+D^oquAmOGb)E77c&#B$XU4~+K%uW7|$ z2Ep9anBF4HcuG}YSIZm#9au|;=-01KH13twoR`)l`&6InTL|3_g3I!!7_Ik(S&Zyg zJwN8#SzE^vy&N~eKZq$VW>P@>l8E$CFnN>V7vH9(bx#9STaZdP1jE{jyoAvYIUa;} z%sLTb$lm3M&X&1))tock-foQNcj}-er9>Nhg>hp39>ITewc6V~$nCRlkDfi$f{kjdHXqC_C8)eOmVde>#r#KB+YF}7 zVeEsphpc_=*6O0ntugP^+AK~f>L=&Pgl6{sPqx(fK1}IOWy2mqB${cLahkPdPg_r_ z^srhG4`*}wk2P^4e2+mzYYoW=E7S}r<^?hUBzDd}2(AW&rHHtfV>hR#r*oQhqthVF zaus$>m8*ZL&RD(pf~&;4j_A;4%>I!RF`Y~GNcBkg;cD$JkdX!@fL$2Q#0z8BaWj&1Rf)LXS zO2tB=6==U@sRycY)lHmv(%xpkdjdBN$|ib;LiUmc=UiiPp>_73OiBaK*t|?GcV(c@;s>MNk~Yje9?kd zr--m;!h~T^KigEMS8r-fm02Y|W~vwF*bEGOHUCpq5Cj;hu^a|jX8KH#ijP{c)+sqc zoU0c>^HGoi&0lj(^J5oX2l8mP<+oM%V7H|hmRW8|UrWp2FP&7!rh*?3I-6i`me^@e z%oAQlT%xP2$ZAjCk1YzZ)7rVt@5?N{u-#ooxZ>$QZp6=r3)2gedyt%iYfpRkIz+({ zqR&|yiREe`f=;1)b@AP!h$}ncOIleGu16!x~v&ZGZ{$|bYHU}$cR<*txpZoc!wt+gU zdZE%=kV2RUQpD=>3a+g%DO3qv13r6ZuBhw;kli3&6J85mMORlBz51Ej`e@lKeYx{I zK$2r2FufB55iA_koZq|%%t`1AGtirJu3YDElcUH8-o2PhyZtuBIV^d(*Xo^`PyA|6 z#XWH)zT=G9N&)Rd!SjGLna(ii+#*}}ro}Cf?)|7+LOV8A)<`~n;%xGjWWfxp6hN|I zJ3pVG?G5$5x7V8cy~DXK3+Iw9U)ez0U2Gia4SD_Az)2CErAJGKskZC*d4e-)3B;oR zEDZMYmJt6!sjxzUCXcXC*n#8L5NQmpqNfzq{S zz}6USc-X%3w7=m28^8Z8j7iTBUfV&!e5#x20=9ZeH(otd(eu8P+==*#lCMz(E3Z8eqTk7-Sn4!YMs zciBocIW+bc_9h7fMZ(!haZZ@s$I!9qmKK_M7b%;=a&2k7Uw-$kMuv$p-479?r7fbN>hA7_eWZjHI1PK z`1Sgh1(kK;u1hhu-Op==E=KLP_!mkTCuX_J3KaHAY=;j7Ugd90O-%tz5KbJkDO3?= zPhxR%*H%}^w8FmkZGXcA3^*tjG{C0C^n`Ff9Dh^vbIahdw$$!XOEkQvR=+DS@^IKS zTyL)W`-s-#V z=f-MUEM-Y5x66#FSBtHsZ);C8`R6+QceQ-1UUu&9#DSl=Fla zd&{01|6ZV!GgiaO^5@cCPUw8LsjDbfE56p*ikZX2nCv38Igs&O>^Fz0!&Iq`l*$}h z{pzTWTBTz;on$UPSn%sPUfaBsnD?AjArXN&lw2Ok#cMrAdOegOgPl6wG`@#jK(b8e zt1aj3>D-T_c`(Ji)Un*OwUkK#b9J3K6m08lW>9S(^CQHi7A!04h+WP{TQ~VOpva!e zZItBe_VJjxAPuX7qT%PuXK$1+4KB3ZwT253q{5yV&7Pr~OBrq&36wQy^r}a?xEzGqTl>oIN1SgN+b#5e?e{G2{vGtdD0$Aldg9JN%9E2L?vSi%QFFU=IZo7~zS)Z;? zwTS@25a~SD+TFW?3|k2F_QIpW$kiOJMdLumGS;0Tyilml^g1k0NLQXNn(YY?An8-P zf7Fq66gbq)KI+p`!MJ6mPEFwQH zVB`rSYV)ye-{r*hv|JC`bKCX0ya0!4sv|`-9samo-$*p#Hl5P7VFWS?Hez-$L354G zhwy6z8Cd(#KTA?U_&hB;f>JbfrMxXB%u{C;b0otR-ka*?dX^5lWmW+^ZK*+;{2PoWdnzG3ulp)z)PT@EI>HvfPjSU6H9 zcJUHrL9go5E{qkwIb3(vJ*}M&d&H31=g&gKwfwUv&m@fA;9wDt^~M%LoA6)}iETykd9|>y-?IL)CDt!D=dwieC~Nz| z-W~jufU~aWp`1Hu+{&=|Rj`mr7qrV2(s{QWh?!!nfmfqBGo}j}I90jQ$p!|o%IlgF zsV3iB0fBFl0TT%c37dCA&Km%AptCMDQUWns=yY>oqpbCAfxmRrdrb|~0an(@H^M7l zjj71xNgM@u34@K7E@O>b^aC&6p+sQA>Ap{Pr#v0R4+7lBJde7w8-(=gh4-WSdMpww zx_E8%?Gqq|eL`EV-s3MnpfysZTGJXOfJgbsHb8(L&VEFFAR0PQr1LvPy|ork9ZlAG zJ7J@l-$*dO)qVKjB1-(f{{=8?GU~$#3V9SHB)l3IXU}{{XJwSufKx;Ygu-~OU;=)h$jmv^~mm!ct^$Um2@o$#0)Jpt(QayPS zc@8UFL3!x z+w)M%;R*v^$IDwVPpJqdNOyYm>o}?ngm}>X#nPv>)3k1TN+dJFa661l zF@fCF*-R6gK}ePjf(HSclifPu5V`()evGe})rf$FNi z?4V#pLcy@pz3M}}ttoNfaF;JvlzH`5O+Lx<=TN9X-U~J?kA>&=&qKCJKkIRlH+JBN zN*XJ=Ukin#kjC8bV~9;WZL$SE3pyCeR+!$f>Yd!BSRDIuhpWKqa*CLk>8i9f28zN% z3czO=;BC!v>=)NUT4cJrhlsAM>RI?cYL9p(_wAzemNKH{S6QpdzTu#3Zssv+XtllP z(=&KDgXsi!Qxfz(r(y0(4WoOd6mrJ!u%&$gIQta0e^Vn27&_IqOhkpWcnJUEBHPk( zr7?9v4PYWn`} zFig*mVlW=^TXf55Wo1qu?aS4~iP~DR0cJQ~?h2(uA}uFlM62u1VvOkzAy5fU#9cLR z>U00Oaelh!Erf0Gz;}pVOd;j8nRRyTqfXTcIZK7$#)cnqORFcnTc%yf|^w(SR0d3g3!sfpFvgL?%3<+OfG=K2!DS)`U0IygI2&@B` zPha*)?75L;qN$|N<2~&^{dTjm{JTQ3?0`JNuB}P>IeMU5apldM;0Z%!A4 zFJ{)pU?cVbjtx}tW+ez?&}&KNvI1Bm3U);NaeL7G4Kd+X^%q|*)hVF>8K!)g80rTQ zFgze0(DgL`A-aT)jhW6Bn1f#F>RQic;P(hd?mH}4WYF+9Q+Nv(J`*A}44&%&n?v61 z@6LDM^Br6?tPxPRzn8I)Y4zasC9}*tYGYv2EM7osH30ZET~l8tZP__kZp=_kPO9>~D7P%rno-zL3LK!q_5F zYZ`@XcU`a?mojc+-4wy9HCgSecNMX$Z(AO(0rf18m)|T7*Dmo}>1w2kclht`9DSNU zcUSOeB%oq1yiW>_R|>Ke|IU>B3WxK%JmY0$2&wa&!k|nxUg9kK@)IzWWNAe3BNU zxDnf7f=f#e+a9_$+SksZtLv7pcyHN5d#`)lT~8&cMejz+c{kG3Q-0?^xuoBMpf9ow zIBc0-p6cTVqI@kB-`Qw%f0Ue?nc|F1Y4jxY(vMe0K}mFg`bx9H*3~-0kdf7to63UJ zB1y&ujO-J(6+3w81Ll^~^-j&(lO>jp9Nxj^I2sdVG6U<4#cbYnTD;z&W6s+q8DaaC z1+2K+NhH9J=Z-u%wQ|O!xK_h>|2?(<^YjbiGFORo&Hj2jL1G_hYcut!&a2(WMiayX+Y{0^7}Xc4b4DV!che#7 z#4dD7qITS!n8)LQM!Z38wiT8Z6VJ`!?3I&nIxsq@KN6<#2WO?c0u1lr<#$+OViJFxUT8^h*pytoHd{K z5#cm7tfNlnAELuZux}J2aE(U&ANBAAOPiZ*?l;G*r?kN=&zeP;y`{@r&#E!TRE>NV zYilUT?P%XegvozyR{vufEug4GXe1z}XW`Fz!-ZhW&_$F#(~tV~<$js8NW{|h{1s_? z^YrqKV|h{z?8-Hxb$r}C1Hh98w2^G@#>jKl_23DjtLi{+Zk}AK#;9*@9BR;}Cls%L zTDcO7#t-uXEMJ1aq4i*9v;5&XBB_Cs77t$snb`dn1=8Iq*;!afGf69>%Pp?`*lT>) zd)P#$_kcxv!ll`av81;+&%fM{b$8<=uWoeTN!oTAxh#xfO;%}d^W|+xcY#65B8F*t zqcw#2rwCzb-nX+W$zE!1(!`^EUjMDGtJ|tJ{Y!Pd)35@_3)86GKTz#S>*KLi_k-csqk9yR2`p1inZElK_ZWM~fSXSBgIdNF&#Ei4 zXtydhQG<4bUva|NisN`a2!Ud)vf<&9jAza$*K6BBkh*M}Ok4p^)3d0_L5>xo+l|Y? zAmpJAkvZ&vdnL2`LBqke_4&=4`5ckO$EVl$CC97Cx?dBEJ@ZTxcEK)TFJJ$J8FXL1nMc+Y>Z<%T^``<)othY<)6} z){-rKCrXF;Ayhs8+zYjgUC#j!OJbHJmBU5ZuO^F80?`Mj`o1Rj7V62OcQ2TV>=sn0 zX2j22$r0^`tI+6}rxj5(&1+~nv^Om;@0>C<)6LH)NPe1NYt3%2sWNoq7y%Je+?j^a z1AHfhHJ$b43Kqu}1Lv0pZt(eJhO2Zs%w$X`ToVr*IGi|`H|mIcD7{^Vzm$1R2~dWK zV%1e=8b$~=nlIV3=)0}juQ%)6!aQk2Q}#NCtIs++*D23*?p(>f+?(|_8tu^V;!;Z> z&~)wvWg5fkQ8|R5o;L3r4PaR5&$Ye-;ax<*|H$fi#N;<+>9z0=$ zg+&M-fo%69@xubvPus~)8iE$k)B|abX~!z#_3QN9Ad$j~ri{I50nJJqDPXBtTFbe5 z&GWD4O@Smu{(M$7bkyB6HJg%+TKQJX3ME zEu*EmgrL)K!mF40d@OAGj6C&mNK<=$6Y(B?B0|s+rGw$(M&vVUlTvg4*s8A+I(jEx zE60NB_$4S(jwFi`B0N55*0`>S%4WdCJ#~a@G0%R%g!;`_^B>{%e*UTFptgP*jO0(B z&KSn{c!GprZJz`-Eqy#l0q$R#)4x3fuM*DKE@fFUG3nlJHBi~mXs{rI_MOas7G7;7 zTbnzVayx7&?B}o@`CD%t_nOoyhBr`r+j(s(O35IFb z`oqq1d~GSh;06Vny!mmcucqhkJa-c9qFZG+DKQAVgm#<<;On~C!Bn^Vfpv?n&-u_o zN2B|i_S6RYX?SA~!I-L?*nYsRx)_Xwy3tM-kJ9wlC9B*c)}uah@X%FbmZ{tByFy8X z11a9EgzcMde1;=($6%>CAzRMd*qu&~S=O?kA_^55)M$;_~c|Uk;qV-|&w+*IC##zoX zkkG<}?;?VvY#cs^rv6SC4PEJCNvBHNGmcOT@^FzFMdWwqF*B8P&W=+eoGNdE&jO*nURa9PWnd_QT!}RZxnwX z2kHC>{zO)fw%fezzudiD@xML)YGUAj=+m~e33nFVbn_E|q&KE7I=MjY+Hj7-9ajn0 zYQbnhsX2Io|u22leg!B-JN~vWb71-JW~0 zP2r1DR5e=`lomi6#m=vYZ*xXm#CsSR3aXlhA^^G;^imm+fL}~~%GlK5Y|NP3hc4yx z_15*k{-IUMZ)IVHM*CFTj$cNim7UBcN0SGqm1jG<@DgSG2`yx<9moqoLr?qleOAVS z33V^rg8PtmYI%3kdK<6%yn_&9d%xa!?9JP1Ka~)w)^kqX{8?};MIoAALqCFA#ncSQ zx^g$7-=&wSz$`tfeRa4!bI@g(J*8cH^q8djdYIl$Z)?|B7$LD)`VKQJzPsoCb4DpB z2+t1{Q~;Dkn=Jx_UxAr20&=~G^XJzi<7o}Skl)mqMwwM}mz|R5gO)U00aofMG`^G& zIlqnyjKy`N>_wv1XJ(qn>u8k9n61jjrYUC)@RvNI)9uG}_q!cQAS}(q(9hY_I3ZKz}vDkVAR#ezVoA zkz?(dC(xpt&B9w@!&)fDINn?eg)e0I(lI@Z3F5=v}Rf$|40 zyqSCGe_t6M1iG?u5wvUUc0no(Gd!l28nWUD6m5{W6wEA9P*Bhy>k>er%C4xki6p8> zd%x?!qN)kcA*j;WF}E8De)a6k2JY^Um;ob*01N$TyvlQ9fZLOv3ARw2TniM1u@HUV z;>C7^h%E0Q=yu7leICtvyKdRwdD#I}`YbN02pRsENKj~z?i6|a zI}gwUMcQ*vkuOvOg>cc$6L~$}Gb+$7^nt$CTuPY5X;i7KwDimNd~}PkIbFTVu=>{E zv`vc>+Q*SkP77`?K!aPc&)bkzU%03|G&wp$CEHL~myU06#}L15q`TReE64PC0cp^a z-!#3tIOg)1RSMfg0)U02|MQLVhUmrBFBY*oKyw4q_I|owuYR5eEbJLpH zqu*4Dt8ZCW0+omd%^^R{T>3|Z%&CsY-DP>I|9Vb0K6h|~)U0{EF3Mp!Cl8697lP}+ z1ThIUU&UJfds`r7&!M+O1Z3!V#1KO?&{zO~jhGPnQ&SB+G5GPYU$Cgsl{ePT7$2Ho z;M7Q3Wqcog3G$Ky^@FFY@pkJ9x^{woue4tY%v~UO!ox+zpl8b&$6CTCR$$S>Nev+= zsv>D1@FJds#%`lis-J!{bT?l`;Ihpu(q>}K${oZ3|>qs&+-C&E>)vj$;UX?;RC*XQREy>_AolEI7Xx!67M zLgJL5Dxe*AFd54DuhF|#8eY@8wI0cp8Ze|KHgn%o1A3Irf2+tNLcV?Fcsn)?2FVHX zn|1Jn05y2Uw8AfJY<*wnEotk~UD?#-Ex*<{W~`Z#B&oD6AJ-ilIw58*uuT)j%{Q}2 zjRg)5Z!!8y^yVY|vMeZ_w&p=fxxAeW4I~XPoMYvU0R^h4jIV8OHt;P)miPA9Qq}7@ z$hyLXulAB1BoJ0-;ld;=-lasR)71cm(6%h~DBQ0bCZr*y%=qKDn4E-f_!1XIOw$dq zXYRY*#ZRFNp6EPPDXa3;ZBOOo*zao3kzNIXLdX+1l>Yhj%0hIVCKHVgBPH%riFnQ z-=iG&@?*91;-}q_$3;rwja6B18O|y5)_~p;B1#mt#@6xtXY!!?CGG8@Zyukay32Bc zAs_OR?|D)I*oPY7&w!m4H9BCb;%gUEiOb?dSAw}MS*<^0OpwrYE#anL)ZsBw5{|Wy zV;{b;v+{i+hv8*-%SrZblpQ1txjv0PzWFzWi3KAp4-fDL`1LsHKU=2@o9MUgrB0C* zLzPp}BrT_ZW;siS_?gzq_bIRnqgrKr+3BDO@7TDFoTa7tBuR}Hp2nt|%mB{*iD`q* z-^=at3cSE(0+NA_tsUfKbzR2p-sEn6grDv`xiC3Gm@wUmt45<`4~8o?T<370}b|) ziuUzDu_6p|vZEaTe@S{58a!qQ(q7X{OOLk}zBraM>g#7kh=&(&^GsGt{uUz|i=l$r zroOo)QBC%BTZ(gGTU#}EA#D@tVliD22=AQxi_LVQVsV%nG_o*|xE}u#PNV}S>iagB z6d1(!CRfZE=(Xp*Bdi*orn7l7$0_F@9E|B0grUV!N$^`1O%-v~YI#5RI$ET@p_pPt z1+mlEPGCA}8OtM*Q0r>Uav1+=e~w@Boa4>mUBUy^7%-^d*YAlz|2{kD)|0evuT=Rc zLZl^qA=+qV20dMiIqg*Tni-hdSP9(_BnFL^bU_nowHYGUP*Yy4juDQ^o?+J)6aZZOz+pR?O=bu;$r%hVW6> zd`&O1{#hpjdZ%1!Bs_2fG6Bd#<}mU2^Hcw2K`X9vo?RY_Gbzeu#zANM=J>iov1&b>v_wzE|Gk_62_9a4RqtCj-=?i2#ob?;Rl7=(s|3FzfO}*rp)a^~(Yj)2 zT;~L@a&Tn?6zxF%&ajGLpTWaP*IBz-Oyt1pIlPxZ6F_N5`~8E#0;$f@3|_oCqH@CC z)eTpo03XUGZh6Yt(;Ul7=URYQ+SF)F{z&iiz)cC0g_6p6`kjNb2;D8gbgRiVO5RDL z&?-J|9Y3VB{NhzghENK4DQMR5T^VEU1L5MI4BI|wH#b_0x8LE{KGg|E$V}ryLUb(; zt_wHme;H^uG2basazT;(8v`lI!8M0+xDV_GUs)waTlcF9K}{r3|dp=Exae!i}Dwmcv#z%yb(*8xkNQjnk9Y(jr!@B`Lf?2eCiNM2oY~ zV|==^a!ha9;59yL;ru$wW}4H?ZyA$fwsqnUqG-D5(x>jIOY3h@7Y zcufeM7)@#ked1k3R8-S!af7RYFZDwQaq11GxW70Rw&%l_w1~MCPGx6tM?y!w^IKW0 z2S^U<@vZRj6l{ZIaVGfbIxHJ%A=$I&P23Du7iWjLmo3|Znj(=t2L7g)@(Y}-n%XVZ?w&R1!#YXG)ii<4-=3WgKNcF za3ZoY;ydHt)W8^(W8o~m8&y`u8mG~i#8eiIbh|i95T!KsI^g1B$KLBHZC^sI4tNE3 zBN*oM;-N+1Ci{-vug~kS(7RtH{Gw5UNJ#GKnP+W(d-PeTdOShkCOBSiJs3%h7{%PU z^fLIdXd7k38a*1CZ3RUSDJMT>;#1$i&}FBjvYbva?u@0A&LmBfL4K}&3)J%~xe#4g za~xQsa%KhsdhgBgwuXW`$^akyUA7*#+vV09~E^%Zfq_vw86B9d% zTX_>>CtNB{dS9C(Gl&U|F2T|#2;fLll`KIs(Ogl+v*w?o_G2Y#JVV=l$;nwFw1BL< z(m#K02`kO3K>N{p1}LFjf5xj}UM~V*`0k#gL;4t6s-V88PC%B@uuSR+Btg-A z``PSq4m7?glC@E1Z7uPzR9W1fktQCK>^=WNO59MWRs;hhnLzygVQSH1;@eq_mtAGX zic~HD$<|IhuSI0N;m^$1RIEG5l?cl-jm!3kXSDD{=iAcvUW3}oJ@#KIkP?CL#DvGZ zFRJ7qvH{_@zLi&Wg3x$7;b>Bl8szPA`~C5)&=KI-fJGATh4vIiJ$m&MZKHbKsF#|l zWc|LoqazyaVQ4B|6j6_=M#sJyPpLyX1<&af@q851uL(Qp`FELKArXqtQFW9{6$nyn z@V6c!|Ehj%t`sPeC>oeg)dPk)dA7@R9253|aBUm(wqBI%-L+JvK2?0wvQg~6! zAH|kJwdvChNd_yyGvGt0gMYLu zHLwDN>c*WBL{9Aazw_c0kbd`G-L6MI?0j{n=}E_Llw2t1gz)(v%^|$nY(=c+Z&H)h zNzL!PKC&<>tFh!`J;{Gm+`O2>?yHVi*o$jnc(o&jI?H$@cdXH{3;88I3Jp@FTs0qk z{cpjv7xrSn+t`h`vZ?kXvrt&wI*A3dmLAS*ss6VBbaeEN{nnL$CjO-(#{t@^DwSLf z$x4jc=Ef&G{){Xqof<5~H`jslJIODY32W`QsW6%{klUYX>;b#u&5es~#I6qvAF%e- zXqlESj&7*@JSk9~x{qJ^JvP9JRF#`wWO7bt;5vuVAW%p_YT-j zd63q^>-kXbvhaG4$Nq{Vd4=#TUabeoqa4_8?~#RrugrB>Yj!#8VZz6RrfaP6IT{ulh#ze`mpy{Q2=x(MST6$Bu0cuX zn?pv=AlwyrD3k)MdxjKc;)RN;s^r(N118Qbns|2D$|$%5WcksN`};f#6BOBQmZx}m zYYJzBO22*ii(0&Yl+jYr{z!pmvQh$g>kEkyc^k-#1C5)EV6h?k;r*g9P`iw|;i>RGXJ z=ZMoQ1}K%6J40LO8RW@`JB_UVN1?PUt^IKdq8g4hfG}g=nA>{8`dnQ{JFatcR#vz@ zl=Dy0Z_!F23R!inl&qpC1`-a6a)4dUix~oTvz281=VP;&<_wabi&PUaYdpu5&=saF zbZZyQqMQJ)J^ts*ic>mRx>rEm4fU|@Qex0El-nNXXF!^HAY%pl64!DaV9(I>KdQ*IBi!?_m_iq$w);2cD zh`4N}jm?luHWA_By8(neDiku@GX(u-;j9S$`bbPb~XAn2V-+oUW7 z9faw0byzWnPD0AOn|Z`$`5DbCZ9doAezcERf$+P#FOzgVZy!`&{+uy%rbyEwB14U* zy1RCWdcgnZmZt)~9)%K%YmW-j5N}^&(cQBY<>XD&a(@+wN{ZXpeHWNcJr5I!HqpaXFPsWw2=%6X&RL3y$h9 z;Q41+!@!=VD_5YHVzW)vdPMKw2YSY?9${kcVy;)IR%y_j^P2gu$Ly^xv;j@v=~zIa zqVL;tqFzB?jxF!}{LES-lgjrwrPuz;Dnlr_ z?9#!I62;rKdm^PcgwK~GNGM5(ilIOa6%}~gpP#PI+9MJ>_R!)S9G4W%P!6lSC5=0i z9PyG52yCq4=hbMNani^~iePp}M%i-#BOcYIx-3v2&K;D;>i(3_iE zC36(*%fZMJnQ~Ap3xrTf56Qy2k)bC$9WRWzi+LVX;C(b_>?k|RT$Q3_2U%b%uqR=G zA19+rcR;;C2$_$m&cVHqNCDyr$}=yh36drrUM~xgZiH66B7P}TcGzmfK)rHX6IFxo zdpfUw#4XNtga(c-tMV=G+j{;&3f~Oo%eh7O7}%@bhwE800c7qBBEsP3LMh?`j^90g*9$0%GY^DU< zra|58gY5@Lm94ZMS)KHQyf~N?;#Z+oN4@^Y;n>kev`poCzlVsZL{i$eP{NRV(jWH{ zoU2iHbTjo}2*aoaXR=;;`_mr}m$0AyoTpSjk0aZ>oV>kkM|N+VmeUcszgJ!N^Klca ze>t8J3|5X=9lU+zCTeYQ)z@7=0S)StWRIdP{87!$ptMpMS(rK)KV+7}2-VP;+v(Xt z1J7OCf!mqW6qDnz>lx^1zlVfz8Jm};xAV88b`DKYNn zbfe4dfuq3iJRgckx)k$-ApyiTgdc4`S85DEN9t<-)^l{fw46@9+o*0Y)b)h(t{X*B zsqhb*Td83_cje)g7DKoTb>rlkzuo(r55LSM)M1;G)ES$i1N!F_XZ1d6iS~WH%JZ6x zUgv)b_VIqZWsrK>h|y`_n)y{v9PAsnLVVk2)dnhqdLTaPFb~YKW+U1Y?)P)R?3NB-ZDbh;L}v#e^M6l~OcOK=WE_ zOUT*?dI8#PQsfn32qGZf=+owmI`ezRiS9AZd0Oz|2cAYW?9+PPmIhexqbT8O#>;~` z40iXv8j7T5YVo;RK?&Qk;>adgOJrf#qSnC%UTrFmh_L9wG5GM-@F+l**wf1Ildn_j zQ4}HhycKkaOz&}4hh;Lu`Y+CY^Fv77GD-nvBsApz0a`esqVe zb%sV0=}jw6!lG~m&7ERiE?`hlQ&WW^8 z58bjT9qemPh2Fy}ggT(sC5J-x*$8uokxb6e5bY#u5)`u&)Ja-1K+Knh zL>tpiGc4As5i=CG0%{rmXx0dJ3L(ABq1Zi7`{TE{jd*?AwVQLGMSB%9#>|?GNc?WF zycA=_{|tsL09E@704P>00~^Ne`$<;U0N$IgSZ0J5*uv-^%i44`JyuitNT>YWLo!-y zfB%f9rIY5EZi;Tl?TmHkHwb!+O=NY_&P6(g(N3ko!^0cx4#z2|s+JJDQOKs#lIk;P ze&p7$xo#6QX-Czbo?k|yTGk`Q4GEw-fy=WP=OxC&-SNL|7zV>)k0dKvm4ZUKqC|lc z=;WXlEX5I?r?X$&U~6d}9xYZ5wOt{>$3H#N3g>wG#fd>gJm?yGPmzZt1Bbw#ZX8=m z*my32!%~i?@I6*L5OOsBcHHaNbUY}AJ~~2qzh2^EO?8|iEOgzU3Fo|RMzWBQ6=Vxw zfNsyxDJKGL><%~Ew#8jKo5Dm=j?-0pn}6pUpTNgg7N%z5oM+-_KJ5v6hgjjqk?vZYeZ_b4djLe+NFg7 ztCYQl4prq-TqO#faZ>AJN$pQ<$5nekC*T2ar;g`NFYDT1+yPbiU}P~)UBX1%W~mw* zbrBAY0yc|JI*VEQ=!l}P;Sx4htJJW;)&;_djXsJfn_wi67E>fyL4DNFygC``^3TpD za!cSWPcjjEVpnCS6)dXWt)6S{{yv4dP2aESkK9@u$9-C!7Ei(6i-M?<>jk*Ct*#EA>{c4&%hJTWr8Fpf;VK!q`6iMv6i;A+~a(BVJ?_ni3)G)j55n!RY| z@a8&t73SxDh>^CCc=E1Sq!rUbO$Dg$L1SUq4ook$tdj)Tqy=mBx5n4v;d81iA4g6% zDq%(?LQ)XmhYt~S;~;|Wt4j*QfRnZeA80R0A--2hMyL=xSyk0dCcktV^$vwh>`}P{Vvg{E%=cIHf^vIdNRX-DLXgFz5?o!$t7^u(MklBu-HM&$-wZk8fNj@h zFBKVocgqtbSS^QD)(MvL`{x>6t^1#MGK=RkwdB3ig}SMN)A0UBRb5&?#iRjV;%Y)7Yd3&(Y&+ack%yK0xOU{%5NXrrL1>fV@_m%@eeNU-(3shhGvDxkF}H(g6Zg@p9m>@aALZIsuKHpQa|R?EzL^ zejc1w*$4=IM0KA|r?jcb8=+h21HY$n#xU-G3WQ3zyI`vt|DT`A%b&Q=eBO9*RvdDd zKcq_mt7Ko-2&)(>=!Lw$9VPl`D_Js(4SQ*F?|f7 zi`l-1nMQL(FtJt| z0K^alUa)b2D6m$k@d_Y7yl943*woOe$X2OME-gJVJ--UiELk)BF+(It;Ji~{vf|DF zmV8u5O{z#R$6Z!NOkZAPRKSF06hY7gK|q7_$Y_+8#U){amSwrO#@FSfB+7y?e{H)LG_S`mkpUH=H!iOuo%8WI0A8ubbC z@=PNTBy@B+eQf9?Z6K@RF{?Q`F;>@AQzI)7jfoRaIGRnc$3HOve5LnSq_XKV8%u{; zva+&Pkd8DXIq-Gv2xfK$Vpe{$NJZ+=)gK zGg+ugpm1fj5f&o|e$n3!jxAs23pZmDOD`Wsfp)YUvE#?n$dbwHf;DPJ*Tq&+HX61{ zoZhH47&6@##KTiJmdVgS)s!$R;GqHry?~0&;V*UamQ=%i4=9|VcEr@LEJmzDdIu|P~`1%@*jj{A@IsiV1Ap^wK?#cO@o!N%ogUT(UwX~ad! z#jCC(gN?_%=(kA{!OYGh^$T@plhH$>vpxk4zM{VLnlz*RXy!&@H7uvRR<}cr7R6x; zV;-^6*m-t+;`9E5(&H7r8C&u3Xh7LG2)0TIOz3E!uE?79$#F(ZD^ycfNRnG4W|7MQ z!5a82( zm`)cql0TXA|Lwp^`Y^zsDyE0OvpjM`HuH_MJ~|M&(p(}++}mD7MUGBU^c2gCqj>Lt zsKqodc6LF5fD}aQ#OOv#PyE;Ro01BwD0DCTRO=8bk`#M$2wueNg?)tkl3%YuO-)_c z)ulrz3|Al-ZFMuQzL62m1V;x)KSagAa2I-#2(SZVRUVAV@qJ2^Bt!S3)Gx&*?Xq%l zky;ky!l9e-!=%k>bTKxm_wzoR-Xvp2Du=NPQIWwg{e)%uUh6(WedT3`? z?f!n2mk@(+CCM#|IW`b(l$b-{HitlWAx3LC3v?*XzQu8RAk-X8 zl4iPv-=SY_u^x*?;nsJR8l9@Zq#uc>iZ-5^O3BxbM#)g~W!Q=mV-6D1G{iw`xcY9z z(peM-RMx7F*bH z36lia(PQ{dSTQ-2e|8kbgiN!xF!!h2`DXsLG)K+jqfDM&_ZVGPyMVg8;9MbQ%Wg0W+ApOD1daMDAvW4H~orlAfUNDJ%fPGQF& z!)#HZl<~#o`y$xPCG>I1VKQ-IN(lKFAISEl<_=&5s2C81%e9~~mPiH$;?!*+#m#ua zDoGn?tYkvwRS+a3fsrUvt5F=31l!RTn*2 zqMu3O+P8!C>OL7<7H25)0 zL)BW`$kp5w9eOt>GsXCf&V&9-G`ga7MLb`7hOM)^urreX_Upkt)q=i8jZo#y3u0)&{l&wMyr0f!a_;Yk_L^60QDE0l=u92Q=mI_RRqfXxqU*T$QN$fA+E?n=36A;2k7KDs2jLsm3!BJf;QF(W8`= z*-_|~h9vY+iqT89A~nR!n+*PBX1%d<0zALTflrMjc%5?}^X5PUUyv*|xz-i_ zKe8N)WOF99oYWHD_%IwvHY&BZ3%>$H|bbh3QVhPVs zLoPpUS16%^QYp6Z1a`17QNFmj<#{aY4Ozp5kyIE%rX)FIHKC%kzN+X_4e}|r3mdpO zLk-ZeU{+O}St*C~s~ppZw4!u-V>j>Ub6KGtQnkevU%O}=W!iIE^F$(^ z8|VJCgq+}(``he{&rnCd*b*qE<8eIB;Dq2klsJU)!|8;tz6;_5J3BF~#ppkgCLfLe z(fMeof|%4Fg*tedU}bWvDITu;DVcIJfL)J60lva?6J^*M%&;#G9rk2-&aw!at-(4A zA2nn*MM3YZtM;vr01=n|M@7+RC-{~fuU6CkSTmuO)yDYSaQIR&Rlo6MOk!tRE0a$K zlp^?6WHuX0eG>Wb+Y-#jp_TEfJO!k!RtJ-SUZ=uj&SQr#TKf_5no84Y-lF~W;$Ji? zu9KFMe*usc0=QZKv*GKJsw}tO^DlB7q;gAER>js^hZp;24CvN<4Jio8{5JdVEsth0 zadfh3HP*n?Hi(=^Kutiir2Hiezt{aGvKG4~lg2NAe-Y2SDYH9KGNS)y%CEi|MD8R6 z+KL~{_o>ZK{g)ZUsON%ax}atg1y_48+EHvM;Ye0K`F>A%qLgCEQ&7+BCuUOiQM9W& zk?cRioCdea$M(P!Qj&Gft>z+5L-Z%>lSwA_?z^}ZKUda{?Q3pqGV@#lo!>eXh+HBg z>puJXUi|$CVAZ38WpS23 zRi1_&q1`@=pLGbBor9Adj6$6L`IBto!e|vE!Vj-s2h%8(dURF$kOI-UZtW*`@sDH$ zJt=t?ZTnJe7^aZ=ZK1MidVizlAEXULE%J-w@ultx3i0N$qY`12sH!OQS_iUZRXVt` z?vi-3muL?2)E?f~>mj)iS;?szJFBWiW4cz(4X1lZzWN@G9FZKBK8;#>)PN*Wx8u|;VB zYs0@V((2X^_|o&BC`r?IMI}x-m_sh6f@;ndp7nzT*_u zDbEckC>{=5p=YO&N(glFWp`R751Y(JWw~ruDzTBqtz{1H$1dTawgb}U4vodDT=uL# zuL1Y|H6m6}ZEf5(x*cZ|h9;4mt&0r}H=(8JKEEGFaExSX=Z`pR9-s^3b+y}gCq82y z$A}u3Kjtk^nNEKcMi-SR>Zqk~TQx=E{WD3ElfPi(3fGt@``$yAwCFoB{ntb8!BW}x zYqO3cu`zg@Gs*0CU!!h!3>xp2{yJ&}MBmr0ettN_hA;0cw~SniCfsELW5)d$_@&E= z3NIE)==6tx$>H~MxXB!i<&|9L)uQszqi29G9a<-uqe$ba0sum^L@kKPm+o(yC|ACg*^bM}Ev}j`A!^_|d9r z*Q>-#9;t?L96bIuA2H+2*!+=j=0GPkmTibctJVBgj~vS5LX1E_jN9}NX--wH^7xW8F(c>T9G+hP}{cX_(0xn44l6V z{+;5etE@k%F(81qEUj-L6QiKL0O5Lcqkc8hFVC z@i_B^qIunI-8L^duSO$|w^GYQs4dHj8cVTtqWWWxC{WN^(5MF|K)(tFC#tws-Zg&y zDjo~)D#9{ET}6+y&x5W+DsP1}*f8U$WHPR>lrSPYF|HuWa+=H$)8VZ@oCv!fNgCak zFcP=pRXB@NmHoWJP9oX3=Jf&Dt-axInc$8F>l)8!DmFeW!ysxQtB%fRu0)sgdQh;Xpv0~^g3F;C^BN*x^YqT8X`3 z`QE)D$<@9;2FJV@r5J-#=*z{!ZowQaFJ*t3l0P?@gsGqru~d>mDfZ0a%HEcQ-Lx9<)4lYrW(jCr#yVWFho4;w^ zPOv9MW>S5nqjK!vT69FIb1%k{NS%sBOskIVnx|ip*ME!zRYRp#o8nGIHnE=RRUhNF zW3K^vK?~LNOS&9ylb+RSCZwDvgNNoQ;d^T~)n1$SSN;N;S&%@G`IBXkwM05*h+$G~ zRrQ$c$3hklCoad;J6I=FsxQz^(BY#-1WXH^azJD(l5qGKSS@{GEgH@<&{D{~t;d`C zBo))TFJ|aC8|A1RA#T(nW5BY)U}R&}m+Zk8%D7zh_X}Dyh7~~Nt|@aA{$W_Eg=>x{ zgc`2sSu4T|IBsI6i`SMFI>tDn{OoQq#7L?Sj`k{>yTfm5{q@Xg+Ee6^13<@+?x#{X z3C+P}uQm$#{)S%3TEPF_zz4C~6RR}sr$~)4Y2{r?jpuu}L!WdMT?!D@mS}6=QiI3E zU*JOx6UgE$T<}DV-pk~X|11Sp8NWiH6Om=4a$bd0+|kvs?rQZT*x2Sds>s>oui?+a zdXQz>ZBD1oyTNqXoI%^Iu+z%5(y@vXI)IeD@G`AAO)lP8JwBmt5?AHks6WGh%%fdw zYsoTO(iOFH3|QpgEOOUS6O1t06>L_m=ZKMwGN#9ABCiR)eR1IaUDHGHK6eFWjaXz@ zs$QiVqsvfg=PzV6#IZAGWKgVoP<_um&6vAv+JRot^QK}ng;nZF2H7-eH)OTIc(vwV zPuOu2A*wcx?@3+XSAYsdXKi^&PWAtg^_F2#c3s#orJyuQNq4t&3(^e((nv~omo!Ls zcMn}dmx6Tn4Bd@%!#8^0_v`b$?=e5FKO9{9+I#JFu63@0K|dcfJ(Vi}zUP!SLNz<< zeuhobRpdinm&F>6mSbX>M+uWl>Y0~S`$!FIsxrW2$*O>$HQr=v_%k+MqVsgq-?>CD zKl0FM{CA$o|E`h+DaOqM;Vl7v#ojrO0M^=elalv^R z>*`c3I*smW@s`Lsb@&G{dm(zBJ>0GWuLBl3>#HaA)pgYZW~*-j9c8);OOvZ)2AeLw zsvG$U{vkLw>ENPP*+FE0cz9T=>}s~NsK|I|_$!|>DV@spM-PsG>)$KVLj|- z{}UW_)u5KB0NrN*9iv)&vjqQgsWBjx4p|VZ?BG2E?ZM3O!9hVizDh>vNcjP2+pY#q z1rlze1pZEvuC$#I48)U&$Qc%*xjk^z>BX-)z%{AG9fUHzZZ9OrrXSgA(Ad4aHXU)!EKqMXN7q~9 zufu5lGJNa6rc01g*42#Pw}${m1tZA*L87FfY8AP29=aIW?M}{&O67 zAf&E6RWpHwM3|4L1)qiBB$2WhX9U@p$%bYM)_m+xqkt%L6xGBFfDuBIM&b#oSd$EG z$uFFv6>$d9OD_X{#gV+i_M|A?R6qGl5)l5?b1r}%`M*~}L)79Jc0EZ`BZ4I4Q;p_- zu$;9V<0~a+R)H9T3_w(YPV=&$j6NDLz(Ca~BQ3ZLGp}v+(Ux+s1f~Fv6sCoJ_;# z=x&c~O4`Csgen}d+$hGm21kp5K`-T?4$5l2z}eGpTZE!xzjB#aV{;Ow#TD;vGxamk z`ur<$rC{=lzOkwGAAIF6p6nfPA~Z2a@JH@Ri_@j*fNr}%41qJxJ)Rv@6Qc1HaOM1S zF28yAe|6#^5?rYA{e6z`O+fth<1{Q?_3#&3`Za^Mr$0osyBIbGn(F(~emXfd$|3-} zU#yXr(!Z;4mXQ}c4%6NUM8FPIA4=>x3&7HpG8arL8(9>1Brf|XT=j|0Iv7cnK7w`! zoY0uUwvBE+~ubvdY$g`LFo?dy%0J14Im|Huf``TrmQndZ7D4cZdRClpLF^xZo=*8DO}? zZa*;q>e0L^+-P_^?y-o?RmX@ZIx=XhyhkHXwFh_#*O9K~){O4RYeid6FX@$F%>SHcDrVI_5GLR z8qd3szHxg)^HmI}#>CQcel!Hll#t#V-lty$&u8KXJTtHQuJHtDQii^^JYY7!`huL2vY<1Y)k zJ)%^qDm2E%h}xe6p4&?;p&2q`&yR@L%RlVdUs>tu{a8D-)UdeyN(z+{5rcZs|MxIp zFr`?sJI~6WE8R*RrGG&1l2D+59$^_|QKN*M{Sb{R>rc@xK3s+*qoE{+d!-cT!wjl5 zy)S6UJ)^3cF)QCz0!BZTlY0SbXUl>}D1(=e!QC^beGlC9xKK?PFH8z^|aT z?$WCqaLnH$`1fj!3nNr!-*%;8Bdce+u4E7xE`_=D^9c^_^%h(rWM|1U^?xb)cBWL= zl?tLPPMEZ4@B1d0S{i?2LFB=@gMP=r`?ERQI4LBm+mC~LBBe>Y;~7{~cy55PuA1>xYKHnW2i6PKF6G z*A5rm!^FPjhlNAQ?W&(Jau-mq(g>S{@kjuwUycQ=td0NSPX0mjKWDN_19vi->bqRq zaKh-jwj}vR1~4EH+pj3CBUr3dkXt^2p^=rpyiuJaATR;S>D?V8s~7C+m-@2M{pdy< zzwncvUA>u*Gymry>caWcb*H_m)yUZ;`m+0NJWCG48(ZujY}vR;F3fN^&?#T*mihl; zE>yXRkYMia9>z7>G9>}Zxch}Ts0Rwb6U#-M#lEfrWQu~^l4y&rX=;EZi;=v-G85vv z_6CF0LpJBOjECGGR2bDKCyoYns$vFG6m|z&b$oC3#?7B{o(pTX8hYOVi%haY)TSx2 zq0!yz%C=ASGKK)-a6T0|X5{7`b#2e~gw@)2$wE$Mm4Wj{-T3Uo6ALiTXrXyYgNgM?hTfH8S%N9Opdbr_)yo7AK!pr`7fG)qC_+_bbP$_RyM=Twx#GB?4LEb z?du=5zS+u{xJ$cymCSZ~Vf~DT#V`7F1F0H%*1J-4KcwR$UP@8-C)EGdJjI1Gp9)p< zDDDWyZR>lDuVr7eG%?&XS_->vQcbM;J19~E6(vB@`1C0yS#eG(KffiA)n~2FBIAm$ z%d8*Rt6iO$6*kL+>XH!gi#e@%r=l#V+PavezQilVKeZxBb+x<};}*Kk-wt-!Vg2R; zvRyaWC6R4~f$iY?huHkj>V6H!R6%sMWvg3>z?nSnz#dK(`?%j&^)^mFdDi;NqP=r2VvjAkJ-9qZ=M>LAA`NV?VHEin(@+0{q4OYiJv;AFj*TmGtp|6 z{zvV4h#81^*DYSJo@)Vg0o1-7hXm}VYKeNC*VXM?Kg@jewIF<(-IDqV@lpJ0L-7NV z7DL?zB9#wYLA57(@%6{2#b%azS}G;Y-p~W=`Xy#CfE6a_e4W8TZWg4Msl?mt@pE3R zpM~=_moFo@yIfLH)Op~8s2$z7JlmXQlIKx-gv>zHyiJrw5~3wdl&Cb*7gmLoDr;Rb z7DkVP`y>XEtW+t=MYxZpM>>SZ9_M})#>J!taga>7GE|HItP(sp$cNPdvmGQNakfm4 z@0gl~LkG~z58n0hb~k$2M$)kMU&zH~VN4LB>!*ONuE(MQ_iUlCuF(12Q-m#exJxhx=p)?%S}0wGb>esST_)|49vm7UE)n0YvJwi< z-rPCHJ}RTFvzHO>LnMNd#EQLJQ5uzzBi=S^wkuvPryfz^;)bmVh;Zjx;F;g5eMW5UF=t`~nr@?#u&eAt+s_`m|jBHe?FVF#4L+B>O_>(dn$nH$;z}fS(3j5e* zQ%6CnniobYr7V3vqt8q>6-PVEJb&EXCEIpf#L_sy>EXtKu~RLFT-cz(4!v9w( z|HAmxxa^3w6+&s!=}m3>5_u*n)dTt9hjj@R^pED-F+W}SRy~fj{KO{MuJS>Zo6YBx zQ5XFnSS#a2>%H}D4NXNIL(K#v6S5!$sm2E+*mvU$voelOeC#vPATH6J_*L0fa~M7=H%!BXtzX z-nZK3Bf>hR`7p9-2>CDH=WB(z;LFGzq4y`ky3l|bRlW{EiI5!qL9E(lOb5MkP-MA> z+7G}u`HalrM8^B$78-@juAUuGsKaYOXJiW9o!$wbB zj4So9;&jZD!`{ge=9vK=zM^GFWps`n2!YlyXe1^iZd#xxFhPES+M3rBM-O}*R<=Ai zP6AXQx4d&Md{R&WC!$(%uRO{e-W(XCcmq-!WTNGnFJegsvvVY#*#f@-B(+yNGI*@B%#> zz25{puR^WPXQFwO|1O{35{{qasDPf3$NogS&~peT@vd)&=P|W&u7OgO7}?muGCMo)94&2**>P(>R~We;Fa|I82k76E6cg#jSM-$IXG^{9^RqK}-B0Xg@~ z<`1KHoMu;|mK~6E?(Cao61|v-5$=TZG+Lx1PAZ zDpAj?WM|)pYzOx_FWEmoAn_Vxmpc4{O%Flzcvik2I^@O~#0+s`vvak*INbYv^kl5i zzCP2}Hheo%=wq#0rvoz_c@uUuSf3KxYB4n#n;67k3IS=d_KYc2eP)`u5gP6lNwNDy zoG8p&jpyoZ2|k`P2TZ=tr@9)=p5(>TE}usmGSU8TE&#e|BAZ>_#rri(jMOtxvBD4A zdDfhD9=~+}DrVEgq3`hB+Q`oHr7(-W_cHIvqsw%Bo2hXfFbYK}ri?XNMf1TbVR8NS za$Mqu>Aq5hxftY~yWR1KF1pV1qU&7MmoSqYsv7S%A*B>%FasgO({bl(O!I{Qoz?#_ z4|7(K+Po#tKbFlhW#9KNYPZZ7Cc$aS7^DW&TMTPwSZ4Ma+bdQ~%YAI7U$_Lj&={Sa zBtPMK9u&G(xjl`};hIrPIU9RO6onYex(9xhwmIK5nOFON-eS;)*>pLp9iIsZ@ukFj zHB79nr`HSj!mG{ywQT-AM4mC5PR8og?;dg$Zy%pKEXDUy{9{et2;RwrF^*WN z4!Vl!{SoIn?yyJ%uL1oZ@ zhAif3XBg3^(_#;-{d~Tj&9AC3{`zVoP*_xHT_{{OSo6h z`*1{m*vBgu*9j6oUD>BIcUW)>u7>{#^-5r2CW8OxGjbzEW?$NV5e^>tZS8V>B(>i_ zC%zjTnsctl-&RG2bV!2ZwSgdTJ7k&ybJZ#CY_?(iAPcBB?L>94Odv7w8`WDQYqe{is}_)qoy!}UZNv)6E{k!OL3AO&;h70IoK7No$Yb`Qw7C4`U z_nWiT7JQsHQgn*|Bpj=&sY$(mw^dk3Bm#p+jr{sGPO(afGG5Xg`tF!;NU+4ro`_S#Hx|yza{@bW_2*pe}EgCC0{1 zhYGLl{*%x=^tk~$mKQeZNp3)G8{Z?oQe+}p#B5LCGNQhC|L#P-$z*}_W6R0$GHqf9q|2>ycAjl zGKv=G0vy=dg3=P@d>G0{xuH&oXQ~voc_Z) zE_%qt31JB(t^|23(YqgfsDyCc22u(c_Mo%1SIF-*;ZS8lc_$Lq= zPYxMtv*DCA-ps)yu(U7c>I&>L@r`SDXY^ClTwP}@Br9~j;jcsR=OdxTVO^tk+jPYl zDh5|+@G#pjsBC!-^@M!;2msOJ&_-EFjj~0KotLS!h#~;q0#~w{Oz05qd0Z@b1dr&? zH`iUA$Wl(ek@Ob9=%3gf_zjf6BL9Ec3ht6XXlZSYUi3U^M|3*xuy^8zC?lX{`4mJT zDI~P&J(exrf-hAPiCL&R=!v4x3JlQcIXOA``PwcI;Nc!xzp6F_OgLGPq+K_M#X^L{ zOi=%`B>q*mejOAsQk1V{Wn}J_yS0wl5fu1VATW|mpy zu6qmx8~b3tmi$U4n=^KO67tNQ^C68zE4|>ZBn&)dL7AV?S)`N= z0(g0)^-f)Zq1r7KiMCN93)>(0)eY@!Tv50WO#VuM7@nWFN&!P`uvUhYtfZEd6~!;A zH)uBqxhzx&njd&}6g0(`@%>i28=t1252mIwy(nl5y9Om}$Y= z%gORj2|WP)oZ%L>z=kBE=lWjKtD!W7h>T zcyxm~`0cR32g49awO_ZN5LKUA<#a=n?~Yd2ZC(E@vxI6RKixnP4FM)pYje#OW~$7Z zgaQssS}7~tJcQ)UWW+aAP0hyK?_7*=c`4f|fBbe~emiq#@KDe6_LSHP=dYMlzrox+ zlo{IpnNVJ?C@s)Ua2c8SGZ(Ztoi!WKo|hY`vP6D!8?mZI)tZ`N&G_evia>q;a|Lrt zOI6k=;U_nIHp4*Jx_D^7rZpZGwDwm*4D2v-D2fsZRBAyBm=L0DMU+W>;>(I%+Dk?DpGtyr_32ghJ&3^SoOUQ__fDO#pI5>khryHCZ@*h72F^q1X zZ;!7xyQbfgkNr=_rlGoMMby)Gf9?-UJr-F`{OoEO;UT_=} z1T?trPs5^Ww(LcQtj-8O-zsW$`m~RFRkdFY@;g8l7U<^mJS!3s69>$M&Qr-ke{HLB zIkfUps~i56iysKEKz!~-Pb^45v3c7-{B6J2TscNqFQuU2d#9Li?$VXnkDiQ70tNW= zgVjq+E>|t2Z7)XklB0kIRk9F0*lgS;F&~Eux)bgfdSxlWzmsKWPgNX}gLCCm+<(hSy!2~ujV?I}P z9*Q2spoC|nwuiGJ2Z(j!o_I9>G0!DV=5yWh9ZKY)4G~G%zol=#g@r5vW+ry-{dWcj zMZ@&3)4&>0FGXQWl}-gO`AG7}%Q#|gW#eZts)o5I@~uS3I<<#Zk@y^@ z9`OARkaY(M0y+@lZ)G#a zaB}Q%T4C!gd%AP3m?gk_V(_WaM%P6_z>KyaHw&sTF1f#)|IZy@A{WV9NFz&MkeCm> zUruG|FeAZUiE|ZiX{`lxY{`m)Aw7My*F-FPK2kYfAP@vZb%B)K2>Rqh5AnJ9{WAgm zI82C_`(VbRE!DalY2B`&`<6V?Hs9a$30Lk=@=}g7H#9a54X1L{ z^|(NVGx5Z0hoAlPcZAPN(E1{ZIUUEy<>>RfE<_>H6VH`=q!PB@@CE$L0MO^85J_b}xBmk78xHdG#IhZ%hSW`QJku zZ*P8U7kGiLLNNR7xw(%Do9Qj@;g?W0#NcClVu5`QxJI44bX491<l!5#aNm3hdJc&%E6@}KlS+@9C{zzoQb7Sigto2im9H#Y}m(4Y(5=ZahRsnaiwo;c3i`N{jQ7lebiW9vmqZoePs`GnLm`|ydZLqw#m@VB>2Di9fM?2 zkv>Ht()cjq2f%Fk+m+UN%4`o^zhA=P6A7Ig~;SK_0U_t5f8R4SkxMCJ4HtXqA9NnXM^!OBfA zk6}6_y2g;M!h658_;-=UOuX4}*UFd+HP$Jvp4;bmJtu=14rQV=$|P&)uB&;YXsb7% zF{;Ayn-NCr?~nX$;QYt!(oe9c_aT;>OvhW9sH+V#M%EnE@$?QYmdC?$);OcRYi0&DJM% zC|g&Qf>4lJsf(_L4t_BkYrGEJA5t)sfotMy9X5&QD!5`6P&KWP#kU7-3^ zO(F2w=l-aeevWboEui(JLwor=>$;>q&B%VV^QM=jwg(D|4-S4+)}Y$HD-+L;AeaM$dNlT~!%bm9zTT+gZSYlt$qMenu1u_||0`(;(8fKXn7 zIGngwSVdj6%3JWGloQh6ThKs;?4>5Jof{KE_d9X z?>nE%yrH1$TS{Y5Tq~>6OeLvBSk@@+?=b_=Fe%$zO2e96>|vo>#Klh5b%7TClAn6r ztc4`X)iJFg1M(a8)8qzSQNh4ccYPm^n*H{=-MD&JZY3v&HDLVa4vYIO1RsnDH=lia{{;f`Vj zq5;~fnP*;B9ZrQC4yLEEDw}=YFG(j3IHFORvWyexhdsXj0=CU2 zX0eV;e6Q-VO{}9Al2j%aH>cg`Y971MeMl36w~MYjpC4s#_JYy^v*Tu%7QSy^K_+>_ zcmeskdGEpQAQzKn-Z1W0yq(oK3G-Co(`_v6qftB?~$~XE(x^2Rh!x;cbvolGR2&7RRNJX6muAg zk(HyY(N=jblHojxZoFWGw9F}$b35?AT}c~R_)F`7zQGiNmIMnyhko+zEwwT#C;Xxh z=u33z1X~`~yW;fDtDg-b3EBs0JsE>oiNZ##_dg}4gQs+B-*@Pl2KI%c3pWoyzr!F; zlOAj;UGLeP;M76&il@MWX;CBX+X@9y>=DI_S4c7GkSUK}LiJltS{kM^$?2lmL~FX@AEhzENUv-^d>3LJ zw33mv-|;H7@lhLu=m&2mEo+N5ooZrv$`11D#RC$}q#V~o=3azxMh8b2sRNmI zWLyNbb?fFvI^sUtsp#o-sLm(|pT$O(j}*83s{cL!A(eQM1{aTnX*e)dIW zU#w0TQcaUxlI3i@*gfZ#M)5wqo|T20$(q@^F`=@kLR#sfM|-Fg&MFGs7O>)+CD5sQ zSmv2De-6~40NblBr8jK`M><^IrVuob^fekfLR*jg=Z+IeeD%qbvhhq@Y*9A%Y{mVq zod5_e*P%8C&q8P2V)tDjNGUJ?b%(4J!pv~{ErL4T(h-uc8cm+Qj}(Bqjmsh|np9=@ zx20gvO4<-O6*F#BbX6AFG=7q|DYbxEMn0l+PWbX#B3e1Sm)pMd?XznZ=O)m{<^Rq~ z*?}T$Ob2Bw4=P&&Mypfl>M9c%1-w00g8cbS74u0Jxf z64q`TK`X&H?83G-~n%tQ*Y#_SVij*9#m+%Ec#SO72<2Q^Ff9@Ji};d9Q@_ySa#`k9&)U0Nx3 zuLDeZ-eU1pCeQ*}OijGq5i`@Oe=f{tl!=#4+Cz#kVd;FRRVc2hQTDkV(zju6(2-`# zcD+5@x+`xZ0aPxXz!Mp=AxtVsLB;&Lb}jF}O$wmQk4QG=e4dQM80I%oW1%45 zM=T_k_c38y{T0KUWc;iaDo>bLW4TW4EH~#K;jN^B5VCum7>RhDC&w>2tSt z%$}}_)t6G;P6dQ)0~aS-ZEQ*iutc#Wu!OK`BuTv0q8DpQu;fpAu(59@zt9xw7|NQ{ zyrLTb)xl?RS|;g0X~guU%&V?uu5K%l=wYY@Yz$&5EXoiTJB*>^2voHF?DfTrU&%PS z>5Mob<}3?ZVH;yglf=7*i|i%o)#>c)ynkV_J)BBEaddR+aDT4pN$q1UTH0C1J(?J} z19F~RU##^K9MiQwcaGv>`RlPj(>NnU%mhg7rI8 z#L~k@%A4W+qOk+)d6MPYGS=aSCpL-m4urx2Ovw#nNex?Bl=QBLenQdkMbz^LX9juR z#}WgTW}RimxLdZIumn6Lv>Y;ay^V-gj z;**J9JX;>66D)e|;EP3-CQx!V#DZBeDLdIlfmYxE$agdv*&dA^le{#JQ(BkV^J2tN zZLk9hop)$|Po6X-KJ4>U<{JY&kOz1>8lmqjPi3Ar+q9iZcqglQo37&`3fvu-Lzav* zwxNM)DzM8xLKKVyhpT(K+pos%whvel*anlao1_$3jE+?D(l1kpU|# zu-<<&ZWrYD%f;1J(_#jfmIhH$x`dS!xm80J{yTh7t`A|{R}aZ7tanU)dZBb;Pd8Ib z@2)~_XH^&l)M@u3uVbEUD#k`j@{icj{o0w2?CVr?F_z&7v()BPjkr9QGEZNgIm*T9 zfVa-@M#GGqo*%DQ)+7t2xs$(e=$*`BL9>~Yv@Pefi3(=~TqsXF5`LZG?L(W*DftF) z`Tn^OE^u&R^|s|>$sOD4Wm&vUf;zuuEIZuno>RIMQu0yFkuHKoG}z0RB|T@AFRSv} zFvW?3gWdhfW zj{8T~5geoa9w;uCw=r{bb3;U~i?M){EnEwy-OcGnI?j{Q{Y><8VrbI11OMW3iD2{} zBN*OKgtlF6J&ss7Z&Q_FuAyz`AX(V^3>%lE-Gek3#D?OR879Jr?-yuqi7?gb`BqQH zT}{J%%?AwOSIaw)cHwSxhk!Gro!qS$3ZcX$aV90fV6+%*PG1k=*id_+TeZr*Y?MDo zY3(xbyeMM1q!l`3GBltRX0*g%z@}0yc_#_QuY>d#*s{vJDR&W6@4Y2z+n1m)Is1ME zD~xHz(^Hlbv~s_EJ^f0}_EMe84(ZUtD9SIrHS$j#9JGyRJO&b_SYq#sHISm$m+bFi zSH!K{fy$1Z9=97OOVW*XpHcmw#f1#7whT(&1Pg4|-AYR< z3GLGB+;Tq5CT3Dz7M>&@8`w0Fby7aQn1nS03|WlEe{v&SU$l94v^sG_H@+V|uDALk zJuvAk?e3`gVOcXVq0myb7AQn@kS0(JK#@+ESJ2mo=anR2c*eBbuTk?pPTeJQ(+0K+ z-X8)jWlTJS_47s!257R&qne-;?u{;I;?kYal_1#W@$Tp!26vapubyQlRjRK_jdZ)*LUK+@~}NQ@f}=1xQHt~!b-1b$&ag(R!?}H z$z}bAC}J!^5Vv0PMA63^=X`37-$iQ__gpgl11Y*T%ElCHCSFUlA5f-jxT9}}>^zy= z9|gn`@z7@6cP?3exX9VuRAfO;f6Y$+;{zBVBXy;#vEt2-gO{mLHU^Hqe3X8RaNU(R zumMz{KW6rP^dBP0tPfgNw?aaB4d+C?brR5S?MtJ95&6NSSq54~U-J5VQ~C{{u(_n# zt~EsAE?mt&9Vr2L;lhIjSr*xoXd(meGq1$N-7>`08kndgi3Bxwa0bm+v|r+-nb;Z6 zPJq+G%HF>x={B`SI(&<8;|lvG&M$l-DYY;bl6lr*rSwPZ1Pj51iPyFiVC21>7rbp+ zkmIN<)K~CaA$}oA@`<1B9nx6yuQQslcXx^wimW;qyJZ}uem=|VdF1$?LV8`H|zMCzLR1aS4ex>G4}%|mhQuF~WTYe(8A57t3S>|>*u{H}Ntmk+&QQ?7c9 z)s>IzsTus^bzBbop7t zf&yBHBkreP7rMAQcXA&=lL{z)(9&D_0U;@CPsa~+48>w*>Lw@LH!sY2GZhrHh3 zA_(}k1~G#}*FqVsiTvJACm(1}(f1Y_yOzk>Lu0aL%dRWllU+bshb{4ZaT-t?g3?|1W=I)8b#@y~ zs8c^zfJq}Bu7cco2BC>2co}UI%_@%hs{nK>Nlexp4;*}*%Hvah*s$|Hm9J1iBKjR2 zRc~*ALeKdnptySWeM6x!RU6|J{JD~XFVyrj?d~3jW_e#}1*!+9hCp>Qx8zq}#0SqW zR#sj&y}0@r$$my%UL`v#&v31`$c=q}7<5t+j1miI(Z9*Sm)C}G6|r8XA%8fKR<2$c z)=`qbZTe9pQKVQBws?M_?drX8t++CcW8Tr9A;0xQd$E06#1kSy`z*He7UwNeG$tqD z#?zns^UpbJ%enmgI>&1db8UAmz8tNU4F3?5So;~+6mhFU`z#HBy1HJILAQTe_R~c% zO{U%VR})~c)=CPSkqfOcAWIl1KZdc34O>Do1O${BL&L>;h$LRDv*Y8x=9wB7&+apR zj_~e0@{K67AI$O0{_8{=q>$O2CMq_1-A0JXyhgqeEU60dAVp$!O2lNBI{1WtpfDIP z#S2m96es%XCOfvGBzqoDoXC#VK+<#@)!i5hFZ%+i%!#s6LKe zxDFrf>U%&LAzu$DA6|@ujeV3TMJcf{ggTY8hz3)!H~#S}aY1SC_i76@>1|w3=2PSg z<$MWgV??jF!x_Ae9L!KEEu?(w-|$>I=~t!PFyq%*vZ7X^)&Q*`ffpOvPquMzH8bzj z*J%8|CKeNO17+kea+hUDq5e?06)?K^MF3?)m)vy&s9SK&|tYXRZ9i_ciFwZ<0KU~Vas&Gn(l{*> z5L$zO6Z!m0l-v%juL%F7NI~1`1#}IkDk7xIw#pcF7&Pm9ZTYF?Fz&@W`10w#bhmPM z70~QHQ76lW7VUE-?V;3cC0Fj|D-^XoQfqrqx_MY9+FFf>23-qsJg+x&fTlXU7Ty$x z>nv5@lUgdalwm4)YGX`wP{)C1XI;$AE#uKJ`dBGnCeXh%c8HVX^IcyHIlVO~l%hm2 ze`)1XCg5vLM3gxxgT0NiKveF2G!STtd`0I-V7)D`Lz4&8;T2#k@Hq$)-j7sd8WB)$y3WHty-|vm%PR z6ejJX|2dCmH(K(C9|C37-WQ%-7Dl8OuPJiv+|5N>3P|&mzY4T!AF?+$2By<}Q<5^f z&29E{h||BIrH|;RQJAmVZQ#}zbu+zM=jCP=xR%^eXdP&%UBtjsLil1!5NLMNLFslG z`}3!%xs`=FHt*G5(WW}M!ISoF!WT;Vi7yE5;vaG`q$(v{G`Ukst1+%xcqC*R3Ray5 zVs*ANGk?qx*lIJPa>jLw`*aFaSXf9O zWFj>v0N!Q^q>elwA0xS||e{Y>fGN;;-(I@4n)w18Ne=j3xuYK#yCiU7Y9d%zajesjySR4* z=^|FzwLKs+5+H5ghILE~$Q+xhI6ZEO6p01>VGkuQi;-%ukgC_iE-%A1>F`4f1Uf%; zEv{vi%^m6HHH5fnPr&RAA|G_JvIDd^kj)t0>@3E71xAjpjecA#q$9`J`VZHF2Z!Xf z#!?kXPQ*m=El_NS3aj)Da0q#0ibgGIISiPZs_T`a3EN@)}*)FdFntB9-1`l zwRP5q7J(q9FVn|2S`K8CCgJgR8i;6lM=~9bEKvC>S!p%h31N#0LzSw0{ty_5Q`oPG ze4w?NQ<@4Iv{$a|0T6ttNcw`95w=pJr$=gX7l&Z^omBMKMm|~wweyC=U}v_c>{V(^ z+!T5cz4;1{v?=Kjir)z4Jh7R|g-DxV4`^peDhj_c1Tj+}l9=~{45{EHdLBaK4&hP* z5Fpmj(gIWo2V*+)FC3hC(H4HDZdf9}2*+Up8)gE2vnnglbXN#>MtR~N40aFt3Lba4 zA43cBT0y&e%wOR!k~8i!&-cgf#bj50{rOaM&tjV}-Ij!TT8B&4xSK~*K-yq|{s5QP zv0~#_MnH8Z$PgkoSns%X0hG&1|M|6iz3FhUW3#pGc|O+UY)=&}Nz$~Psk6QKWiwe!xCrA5$h;8vdt3~f+P=TB(-9ceB3X83%S#cO$?#pQK%%foArIOv zOUC`2xBDbQ{KKul55H6hEFvK*EBpd2G{N<27c@XTb)fpL`3M__;ZJuGQen)SNt5VE zCY0cgM1=w&;m=m7gf%Bkc>_j*11JlW%>_PgR_tOr91m{+QT?U^#aN29N=OFw3L_um z06bYL>@oyeaq84mKo1G_!C=Pg{rT)0PW;G%@9j13~Ya~~!UQDr<=#Kti@eT{oiM)tyh z_sB6Ul9;sh-8;I*AEa4Rnw)tN(w_@#PuwtyEgHF?nFsg@{)2H=$bKx( z$EBxsIuEKbV~U5|-UZM7-hGmT&=8J*pwOPQ0l*v&K}C}hiHf(7#%<;URn4Ge0~+Id zF+OQAfJ6F%u*%?m1B8d;3^59h0umX>?Z{9u!CX+sXw3g0Ry=Yt=I2$rLY!~nB%iu? zI;`VvCNJ|uGM#|P)wew-h)Jaz$ZsKJC8CtiFE-rwwhBb2K|% z!}rHxeu?jQ^02=UCoXD1y;+RgW){unM}dwfJ$GkRcs$qeLye`s>lX&GUq z7mU}57O+&kn3-?BAyfu1nq@o12s}J^-7X1Q1B-Mt+1=8;GPAu=@DZk$llaQKrQn$w zwwR>v;BF*>DU;a?|X+BQy%u`-Uaw|X)t>})VtB%&I!`Y zzRj|`Dezzaz{CI3RIAb5AnR=ly**V0LRbNP4YiI^Vl)$A9j>xuv>+jYekRz&F z+#?MxcE%B{AL~r69n*7d{QmrB!ZN$bahMHou$-!7U@<##(x4IJ%3^5vki&aHI8xqQ zNx^+(nf<;Z@hsglX;4!#*kmQ_YURyDO}z=iO{=(r_I%$Bh(BP_!3FXLix%y2g*pZt z94rBNp%C!a(^pcd9hGAf<1nP|)R}0)WSM)t&7}TLLsdtIQa~c|ZQ}bkvO5{yvI<;H zUqAa^b-;Ih+rPW7ZlCbPMR7r)>1zf-$V;ownh7 z`YSvJS{GQ%7;107LMBoaxSSG6L})I{x0yYI`hrw9IR}eE2xhOjQPt z4LUnWbKm*IV^AKRK}DEbqN36fZVIVs&s+7=WxW>|T6+&UuV&qBL~+NI(6mt;Q+ zAGL5CJ<;)azusLOijVmUMB`ML=cuBC%IJPP1evD<@wCrIw<8ydC+1w>w zM~bB;eKU9anzFl}de@^Hu*f#9StpZvVV7SoyA)RahK^Ic6eL21L(qs9Xs%NNT!sd= zmx)*nQ6T$p2D$K9yfh*z*UvhiUuMFjho-F$)3c$DHjBLFS`+B!(8bl%f;B|p+1><8 z;*hFq2cXG{e8L)3K+`lM(didcWMu`BJMw2z za~8Xqr#^tKLR49RD*?8o`5E0&sD{=`L;?+W9n3ZHXC$l;x6jsdm;~yxcQy=tbx~a~ zw>Z0PEJx=?wm_RML%GLGErYm$)^T#xWqJ0AmvPKQ8Ws-Bu4%2RS^8v zFOF7a;)+jOS^16G391r;1Z$oZVy1%VseJ-=0&^Up;ZB>%k9#S17wt`<<2nq6g5#9v zpX{I!2TiI2Sm@91!eez3arq!?F6I2~iM;2@P z>;q#|lschPs=p9(cM8k-B!c(}CwpD#12Z~@p!@Lhd)ooNyMuJu-JZwVyn?K}2uxg}>N>0JjFJzG>GG3<0L`n?umH z*OLE(*Y}AsGxS^CvY=8B^6HCU@>By}+WeHf*vV80OjW?b455IMO1605ZH<24n3-Oi z9`RN~M&GV$8_LX7-@y%jhF=!T~MrHG|l zmp^3oS4+i|N7wJ)uP$ugTLT?aqYzxQ#X7}_un^Rdk@XiAFv8f?2yRw(%DtKtNO?RV-Hc0~zU?Z+SmI+HqF*YR;68s^Dq`csM_n z^e8*@d=@2#Z}GuH7^~0+S4{WdI4<33+HH<6PiJeW`s~!*zIQd@d~~uxb7nT6N_TNb zpFWS&9fH7M8;hrhgAG^J$r~qHROV%IFxAVW78e5(vn?BE2HG^{KU_>Bw0hjs3UN1f z6z#(syE4+p!E>=1Yv#2Gc;P#`u%YlPtDIY(o>|W+Kr__^nDpvtr(gXDMlY@#o<{jma!D?7og?Bv2ctHZs@pq}kl;XoR zu-c2Iei>d}^l_@f3?hsd|V`LcCJ z`gC2p59lvlbye-X_F89oUR%aS zu&mB#!alg2%xWMtMcA-14gKsaAPCZfFVvWu9n8`R*?;JHo%9wJp=8<(I zKb$SiF)+0F`8*d8&hY2>q`%%@NOyyrbLQvEb@{*SHhEs>ay~`IUbv8W&l$O{I_}Kp zOBHvZ>4rRV{}6$TUwrPD;x4w(2~q>^y_;bu1Mr-}W{p^r?WREEI>g@)n+^PwxY&2!63N2|lidwa^=`q}(k zh)EmEs8z6e`jPe-BbTf6%61aaSXyO&^RN1oh{G^$si_z*#_&KU;*dFiq(ftf00@va z%oq_b*P;kK->ei)?7Efvn~L=LT{)3U2MY5=ZD=^8!YttOP zyPxkAsgX}D4EV#gs{^Q^U7bu+Oc7oGVhc9?*na#)UFe4i$t z25IMZ*d#7a59#jNw=byleKd*2Vl_o?_QGvl@T%($X~TO-hrXrr1lc$D69Re~R059!oIrASJdhD{5PG6 z)S(}$JEK0Gohx)H1L$y^0@wcm^OX`L2i;=}5hwDXZrgSXY8Oh;rz@$d162(CzwSe21SvIXYR7I`PV$DRI%dw>6{YHL`54l+bjFk4! zsY}K;CE6!^JjD6Z(etCpV=!8ZBzzb6Tnu$`Y(80&F1mdt$|m?4X6-hIg!2ga)o6*Z z5Rbz%$A%TqvDHQIM=xM!MbQE1>E%XJbU9!<&HU@{B%4vPp1w4L>Ou(IkNcHVkYmz8 zl_s~*=2F09GrOzX~)cy--a#AQnQ0%kq4+Gazwa>XMs@*i=L6k+%^MUtM z2Y8jZq5izd61}kmz9vENS7_n^pqsnxvj=nL-SU-gHFc_m+yI5F{hBgDd1UPNe1BgM z`t-W#7IH8gD<Q_*_p37_~{G^DZo&& z6vFu>6gVV>q}bf-?wJeRqAx-Vp)D|Y*_sUjJ!C%QbLmJ>YBRjsgNh6j&0$$dez>-~ zsS>w#tgnDPa)awZMsY8r0aTjM0xex)GQMf*7FuhSb*TMuN-Q|(rs=qz1mYfAT6~irv902e2WbP z1X>px;WHq>UTynrg)JwCAmLNH5Uob4bXH*XOs4W>g&<&)^kB%myUw`6TMwu_l1>nW zy(?eFCUF|@M;E(XB<37as5>n}?0}Xb<{8~UiB&J+Gso$gkP}i=hTBRl78}(p^RidTTl>vfE1FA&~E`PJ5v^;W zO88t>Eest=-D^{nCE?l&0s)5~n;lqKW$uNS@0csUB4UFd-eKqNHpPe?_EPeca4^{B zLb9+1PqX?(9qvQ0kW3u-FJ)X-YgMcx9AYV8!B4*V3yIcLN2lDl}JM- z5~{$dv~#_WZ>mHon8}7Xy4j0&PP_?Ulf#yyfPMu_!&Q){vb3c|{nBM!PlD>{WKR6D zjv~F$auMPl7;uzQn{59!z$Zo z^iT<-IS0|*>U-+aF)(rE>-~BhaG3?Ctb|nx*7LIvc6u0}Q=A7*4Ye1h zZ2n!dftBaeu-GRdEYaZqF7PQ6KJOzU97mgbA4%!I)lPm@(OBv(cBbjP>BYmDwSc&o zX-src0Z$Ei$>yEs;gxMZ(&>j-=zvl%{WnmkNn#1lP=eFQ+Ks*5oyCPQ($(mKuxkm- zCw<&ed0RE)-~31OEu(2RYv}5`u&4u(fr*YbO^E(pB=NZAb3J(bts%`ul)fioM~e)*k6#Y*d3X~g2#(Qyx0%bo%MrK6v1hs$#28kC9`j#XRZhQ-juS}ee->j~@-cN_} z6t{?=8$rN*Dx3G@^X;lc@AEe0SK84!AIQ#n|B7p;Zhz*MOjmO1pYaYC*K29xExa@- z%4T`ymP^;%0b{?l!0y^}%H%HE`Ukl(-XP&Yp#7%D?u+Z;@csRKOV?}A2PzBB32N9N zj8P!-RODM`LcO2ZM}YQ@B(xvx5D*}E&tV@xuw5DkIPs@uThPF8*sTYM#|4!q8!6D# zm+E1wHfccSqCXU%qNqK_ilgKx#J#?dHmU#kk(h2-N&W9s&Bosg!mT{0`ht;8m4D6b z(`$3@u^&6)*e|=H)J`#Yc@Ty~90=t6<&m>f4_7%>o2D}e5w?CPy0O(1HQxN-%ZVjb z9-08Iu(*JJttjt;a0-evn5f&Uu;#Zd)O$zk`HCljb)md0&RpS*FFp9_fWWd>bs5#J zlKX6H0c%9QhM?@M@8{icghU$K_4!24T}sZKIX-rZbsh-HU~H$a5FzsPyiEeO(|pIQS+Y8PqVzAd5gZ zAA^y%+GVW#sIcYzeh#+R)xYP?&W8ahty%scuyzOVvk?@Wv}5?#@d*wFuE71fkwvtp z(nl#p`f?};{I*P~0T3rIf$R~|m}^Z47&AdXha@BP5>vGygv4m0CmG1X2fBlF^4nAFdi+I?6LM_6X^R`Z*5t}@)*;b1F`ldzp--r-lmjcYGkT&a7F)~nd;cLf?uImPn1*)Oju`D+<%R-LMc9%7~WYfQErApaw z7Us9XU9-825d#OEOA9i`R~OsH+4LClb7eu%&%>G6=uT*vhS$X_+of786u+O+!fah-%949Qlj z(8FrpgNPhCS8tP-9FfMFcRHM)1vJR}BtX#utdVTiqWB@Q7-W(<2W&3mhU8SUY_pCHasis7qrEXaEIhYGtrmPO zjc{s~!FZs^}1*GClT}88T(+)*{Oa_KoXgu*QsEwl;*TbfLm+Gr$>8mvYP*> zN(?$o7lD1aRvd^c`>98tpJXLv@ugc)rsiJ<_`cSsd+K??nb_ubM$2|SRDA}vvV~zp zMOv5~wwk|sINlsJea?Zx8Dkt!bq}`*Mo}?XXc3l$|<=}!x4O3iW#guw% zs$jFzbL4$jc{S*zNnK{N_}+87Gb)wnesCyo&cf z5kzMbqQhkYgoVUzW~x2lY~n=4hYAx$r9DM>>?6SsJ7iW7Ag@OyR*8Qva|e%1gCHJI ztALGQDw+rnud)6aOWmKoB1S5o4*nd}VF^R>&pI0Z83sR7`6C`((|W-e221*5`k>w@ z1}e!W38k%m#Mu_jdY7xnXR_io4VnuRqk36DsY_krBZ6(NE^tvP8Kr7s+tuu@E8{I1 zr`J=j9Gy)uO18Zi#{Nl-b^o`)Jm|u*@3L_f@!LS%N=)Axh3Bnv;Nd@ogU32vlyt_N zIUOyhE+1qxH$^g}%WZ_B1f#c{q5rq?i?;&p5Y0|UoM2=D24EN zC#DnA$;9()laobD4hxS5pNUsl+NsK^L9frmpxqKk=zdOaeqNCnLZCfZ;J}Bz16Vpl zt{YJ?5Cn_P+SC&$5R}H#`Q;-@iru3sjysnmgJg&GN9c*Asw$fJ;4((LCGAu=CpRsw zGJ`qwn^wMAX=?2F4tP5-dpCd zyho9bOObl)-LW!QdM;nApkt@|E9dc4+k53IZ#kgI9g;~t?)*Ajet>M3&T=I5X+ z=;uE2a;pgt?BuQ^5@*W_BhSSJ6a^G$#~%bhi4O`;1@-I-3lKX)1qbZxbC!J1hmINV zpEjlRig2$y?)gq>_px0blsVsTC=|%KpEoF8>GMM*9jAqW2_Bm)ZV!28L7%J3=h*0y z0VC3Kn-_ypUQ0w8NWM?{imsHRUEnmqoT|0fuI9GtJq!SADJOZe;LYVBy0a;;1)B%2 zAS*zBSw2e&9c@l2JUY8w*0*r9G4Qc=pf>BJ>x6TX?m!SQ#`ePzE-NVX7;kRW0*E@O zWF+)%wjUfETuPIBJ+*wbIiCo9ygpd56yUFB?pX)UUiw#tmJ~=Q@Jyt=3OW+g#9<)M z&nwRr9py+$V}@S2v$#D*Hq5i?Puns#*oz~nSX%b`zFjB&oW^(9o{?oW09Du8$lC7T zzYb)T+771(-72T7QoY`Z+g;YJ?2!k7}qGR4VKI=4)arhNVABzx6rpHuVx& z5tSUveaK)iVeLg)idE80-z-k?+ys^Tjx|wxnB2-_Q>stW5Z6R&!D4HL>CcqP;a_xx zKGR#@dgOM+!BnvAUwfk=lG#`h+pi@K)2VU~UT-7#lm!ozYO;W(TG>ZKZGG2RpkZ2i zZo(64&&Yb#h)e1l1Ekqy*d490tzA{=1A1H;YX+?;5Q1Sqo6Hy%5uZ!Br+TCrc;=sc z?bqRh$C5~>e;kU%dd$PcDB)CG?qualqPg~0jnG0Yrwc-}os;hOR|ltFdk;o`%v85M z4_?g@S|IvpBkN4Mo&h%=$igJB z3}~=d=pFiS&Te`SU_-Dk?aK^Pg#(DfU(?+JJmm?2INK^%hcOYxm*|+x4Jn{Kj|8N zUx?u-6IBH(+2-`i7ULR{W zf4@4u|Lb#@oM4i^n?u0si54yAWg{!u*vQ&oebbyc5n+u$z}%q{lI?z}L7ywkFfw5- zbZ&i0_T9-BmjJtJT!a*t<#Hdi{71;W6d@SLbsowi!cK4m>56JHOFaYzUVrJ?hSdj4 zwRF@{J9A$LP%8Crd4QJ^CzElZwhg3k8?Bks9@>1k@b?VVl18huHtQ3e?fZldgEOSJ zkcNFQ9Yu11kpqb4ke(W2Bcji%`QFujBx|VMH?yGhDXT7@g99J|Cn(@syka*%MI zGEMG-N>z195mDT>+=`=KIpP>K#o@3Z{0@pI(P6%JleS#JeLTlH1|C0Cf~8vgd~e)F zhzxt}TOLrUOZzvs)lPXhR1VMG&<7IzCt4hMvj_RUq9<~KT-Ow0lR5A9jR19oB$xuY zdNFqqYNP0fR#WoaX*{d)RR7IHgUOg`pMOv^UymLN5_D&o2&Zhu$?%@262(?$~fj*Bp{7OSah zh+2=MJ3)3h_PG*=P=jG{7URG9WGRoCLKRnMxG~$N;qHz&1qy-LlIZk@#i=yO2GsB^ zA!jmaSB^~Z>A7z0qXDI3w=%yz6rs}aZW6h^qd@ft!+vF14UR$lQm1?T=S68vZQKeC z9WjYnEI{Ujrvrl|jqSRj63NNHDyY0rdMc0zl9)rd7mG4z%=ZqZG__Q9+p8NoJob{M zsJC=8rWO`&J{uRjs`p{*k{%Er&=Fl4(cd%aYO1PNHJ3ZTPC)9=i2g?1&_&$q!7ImY zc*$5Z?g*)}POAO%(;vWJ{Wb5CU#T+g~S11+{*H znS189QL1Rzz2ThrkSv^96LI8fAc$}ddPRLCS-4&RJx~V#nKf;CKLuFyd^{(>W*j#B z?FvtHG3W|J^56_i5%QqF3_~G>+y?i1E$BFD*#?Dt6DB$K5Zbl_;7Kypy1cog2>G-5 zzTTa%h43|I;F>g$zqN?!{mYpinjIOooJHcTq1F|vk$rX3&uS~c8#dn6`@Hw`c&>5# zS4TtBJU2GQFRLf}mYD5vgMYf@8!HZdr!&QWMurW2ZeX7m9jYsn_1+X~HkB#X-TE1G zsbJAgL?9ug6TygRz^eRG0Sj)`o z23E)Zam4v?ilH#$i-$?BxD3*pa2G)!Rti;T$nQ7=Yucs9HSC+)rONF!B1t_#HmO}0 z#}5}&V9xK3N>uv+JTNesu2*gB0$nJM$X7f9x$2Gthq35LjpPnN#(D?WNNOGp^gqf3 z;dAV;1a!SF?{5nKIG8AUFjueAV~$ewU^<)&$3EZXx--YezuwRHJK?zw_MkG9+8g>u zq}!Es{WT}Y`WM2A;k1?MgtQL0lN2ZFlEK+XQOm1g#1>pQW0kyW&KPP+i%rNgEEI1B z%MZviaGTYZOw1HELdq}DrN^X}=r)^x8>5IcnCJ{?tR^NaAu5|6ZeG!?yPH2t=GlK4 zAJ~g8R1(q&Yq3nbF5n%#szfALt%!hxS*^}u_np5}n{Frktw(Dd))L|xuUP#*LJ=;- zAzq&z7fd4-A$tF(jOz&`k82<%U;oxJ?4s+zY5EI$+Tm%XMlNDgQC=X*F8gtjloVvd z3t_}V6Op+y2Iv5ERV7Vhj7JO!CXU73h=J8`)khF7VGTy+mBoS-b%|A6U^ElI0uHV_ z(@)%1o2r@?(Nj@E{F!N!v1G|F3@1Af+(KWo)v-v#eop5E*RF&3Nw4if)AM2sB72yQ zi}v$}$lX|jGq$h|1CB3#U~x=q;DSH|=41(7##p?n=UdQM0VM%QNZ>wAy_y~Nek^#f zl0M!;-poThTbd0wi8#q5#FL%s;0k_4#-gpq>hhX6IBM@{%B>BPd)_>mZuF=^Q7= zS(N+oi2bIL@wk*kt{v#u4n!s-MNT})@s&|O!9H0jAt)vtB9I@-@zR7_Eco+!C4Ffo zE|)(>SRI{llRoVdREsZQujJ7a+VK5gO5Sa3`@D# zu8g#plrWjDj0f5zZ}6A}^b{M>-~9Bi26xkSX_nK|YEX`iK4g7}1U9X~-Ra@9fB6M$ zyt%5*NU?=nAzvf0gBg}n8%X4Xdp~WH?pF<*LXrR^#^4UL)4^K6uo9#B8Ix58Ld>FM*@+C9$TA~t=cGF5bmz(qO5AWZ>)vav)U`R;E@4Yp`Gtt{J$tm-CIP|= zV8!c&-S4gCbV*W-t`9=h?n{j!npXEy^mMH9OMn zfxT~F{W6cmD+SwPnO&^1{897+oR9DAoTUwfHU!@HLv!8yLlfNv<#P*3qd5Y6K%?SW z5FS9v7sPnk4<2nj%9h5|EqxsTnZ2RBK~M}#e31wcsKYd!%cUG4@bf0dR|Zqh%Yo|I z`{f|z1Qe7`>G&7WsU*+Knro6gPr$SN*~myJ_>(8bb(!_^uuW^D&By7c^?q<{s`Vfj zp{HbXmx6&Ihrr_%oolz$NJkOjBRDID-#tZ26?3l8ET@p>^NM1po9zT!NCd;;X@~UW z=Bq=}`wcOXnGZxbIBD2Ja>eu>otSU}PK>;tr=*}EiImlJ-J2Pno}SsE>1U1GmVZi` zGDOA@Pd9Ho27XKS8M$}s?+>lkA+3bw(CYw|J@`mR*ookKW`mayc z+|M!ypgjVv#Pv27Fx2mkyAVG>Qhp~DA$k213HS{{!O=gBNw3$ACnWW#pI*H#&eU70 z-g{v6*18;Y-LzZ2z(^l?-wrf9<>*98{M3?6oMuFHXIfNBnYo)5$Dew;h)w&mn5QwR zZ*Gwj+hT!~w5Fk`A)T<9p`=n@?RwfqW(UsNs;QJf) z21FT%^NFgc)$l`@rT|H@y7C@rF3P9q4>{Al+ub3ZqX250F|AY)MhUfboI&;*(aT^yd*DR(ysOmW*d5;Zi+Aq0Q?YcjXL5Qnd(5{Kw^f;qi1rfYV zp1GUwJl=1HPTacR@afcR{RrH*!Eo4Z@eGFV2BUC+Qjs35pt!00%zCR6)ONK_doqPw zrbH;7<2QWgX+c4iS&*VkS+D2)fWF~4M&}HIH%ZTPDlDU}HNfnC54|tTq^O{m&9L<~ z-{bo@_I4vURzZlA)rT*l*J+>gM&_3u!f%3^%G#ic(?+y4^DXkD+qZ2$LP4&DLezg* zg>{=9ILZ=iM_v=gC;|6YlaR)svp=HS^Wgt-XU+oNqU5DSA3x8MZ{4o%cM6$k1{iF% zk9fS4>g~VuC%LfHEm~xN(V~EF^*jB5tbGPXuW;ZO!%qxdW2pSU?xE>mJ~-hTk(iX` z_y3N${*cLZz!C%H0RXocZ}WIiKx^F1piS{~0IF{*`^q1EqREn5mRHZ`$_CcX2m@AMzCKl+rgW)QZ1SwM!V=#~iZrRi_@GZwwP`+><8hfeTGNAWB1FJReG)Jw`A><L>(x@v#-<-Vk8gFxdq>J0BmVL}i>dv375)-vQX@B4NC$w>)tl_YRo7+K{E6xg=u0?mti zs^)BN8Ws!FfH4ZV^jeOV1d`Nxk-mzten=X;);;cF#m5S z9Hs-mW#rCG-Qgts#`}q|JqXL(+hDg?LFf4_6C~enu1UFYmo~+pllGVI=tZgPucz*k z9FV>g>U&a~LYe0sM~`Yxd4K4SFE!s~u>0>LD!*K6{-8h7I6ENXo8K);y*f{puVUXV zvCS*1(dxA6AJXJ}JjKPZRq22!;3NWQXHX02y!3;)#tQ(k3(k`iaxII43yJ>TqIqOb z>A#R;b(O;SvKl)s|JJA}PrdF(!4h`3PdWEf2i1-u5a5({;}U{=V1@f&A~xLDykT1+ ziSwvEsQvy-km}-D@r?zUYF4&UK|9MFi;88|6-9#dAj>QVm{czXW$A=_{r<4 z-TC;d)gUC`aI&C>sLA_d?QDG-62~^6nZx7W94!Bk9=Kq2cm z_K85!E%BW7biR^64ZLiZy_f^lQ8v?C(dNE#tD6JJI6VJs=EF^-zugIazzSQd)o2s% z+irNm)r#gxV=ll{l$8}z>$<}^*#@E>j$B$wPDw8=;Wy1T9PVW%owQEKs3zQgdNMoO zWm&Pfpq;cjW}>tL4Cv5$9M2qp(Y4`=1Ei6RTF`>$-)nrxgAcs+swpA&lSdO zrji&^8G6jAZ`O4^EN+;?R3NpZ)>KjLn6}8 zO}wlB?2Ty!p!_t4;mZx2!Skz4`|S7ok+@|fwhah%SOo2cV~O+GosSjNY(c0*rU7do z$_Kv)uEM>uLS_8BTY?kw`}yz8#x7 z@8+}&Y(;bC(TiPAi&pjWpiV(9_sq6S>o3nynbKx)v#zHiXn|YZ&M#uc%_(Wl>z1g} z_#>)(uU*d;+X)gm8wFD|CUCp^r!3xl9=uDZN)tUdO=pOqSSh269{@b4jex-yHQs?a}Po&yUfx12^TG9%brn)IhHqn;(_gLlIencnZ&!8nI`I;YS<29vvx zB-DewKtCO0dvIyia4?2ZF9F>%{cO#V5S#nSqlk*+Wa~0Lt&Z!~r!Vg#Y1~D6DDwwO zM01oZoiUgm6Kj5?Zs*a1@%PF|q=(d}if!&@w3I%J5o%q;m;Tm;B61pC@6SzXf~xXz z0WD`CA9TX87yDlvW*}<;8jm0GNE%8gS<2lbH(lIs(5TL4dg^boxwMjv;aRpUj~-~P zLo`V9D~`?#S&tW`n8{Wqn{DWxnp-{UWEHM9J5S0hs`Cj!jJW$zni}_}bfG{HCz$w8 zH3`=nD8D)^r1%NnTWd1jj?ZlT4FsGV&RkuyZI}I5TXS)HFs8K1JZ!g>yjBgPZC{Z= zmBmm(1Wd>cp0yuzWm407bXu*oMa;TM$eE*a`{bRcegwrY!2*qbd$j_-o@bk5E1y+=y5D%T>%S0u;lIs4d}R!1KB>rO?j z`zN;cni1MnG1Q&u+$g%V4jS?en^?^)xSGWC-ruP%m}v%v*44iPN=ok#o)s@#**@oB zx>-Q%@a)zGyRRp5%{uL>W$mzqe0jdCXzmkbu=4JfYibYYU7h;V4fO7JCVa<#iVa_a zp-#?TLF0Pa{BCT%;(FH+flxep`F<3g4;uRW+SE3ep+H}*jbp&?KF$15VbJij@}=#3 zH6(`iVesZ(EQIr}EG*!5&Ebpwe#@RCad1|KT5?T;TVL7WZ8 z=eLwc3%V__y%Y1p@G?7*xR(9JQmcLP(`h4V@@cd$q~C~haX)ZC;92E(n~5{550x3gxy>YO^TTGST<>6 zp{=Qj#D;$tA!c}|dm?I7*!LBPk)@;Kn=XX@Qy59(B3E;o(xs%Ch69bY2pdtIh{ea? zP|J$5VC*x@o|nT_r0Ia;bh{~=H3)Fq8Kwuy1mnXG zM_D@lyZt~OGWXU}{-=A=`ri&Q*`0giNw(_ZOFA!O)9iUy-5+h@C11I{;GY6sw=c~n zyE!@Z0zckr_&&FJ2{e9uSLt}#@txZ-igo~|5_%j#$j>Hq^J$%am_Dink<#M3AG`Ib z$DI&%yipKKoy!A`IGjD+qEgKFOFvFZ9Vp?-I6r}>aow{CG3zz5o|AxOieaCl3AN)2 zQ4{dmnzl!b^qYgB4)JTVpu9Er8$VJi8=5Vtfw7b(ycSlPhpkei>1mQpu_+mqgimMxssh?(D7DJ`%u@pwUU7#MwPA}eSa*wt@_gnO^mkFQ;15oIrD1hF>?s<8yN8KszH*Q z4)QSd2#P;l$NYa)$riG(dx02RbK|Vn+TkX-J5#PMlJ&O1Hn!y$arC(%mD7HwWybWk z6~0nox}`Eg2U$i#6<2CxWfhef5C~KDY0H=2>6jNtk_vq_m>ubi& z_e~4i;7=Sn7w=sp9CY4#vz?yD9PCL zeEgN==CB<;6iUF9ob9!P&-M6ENgF?l^CXdQCQ!bUc1BP3F6RlSk#NJ|i~o2jMQ6{f zNSnZWn;6pb&*l%w{p5m~u+7tXyf6K&EwI24bEUka_W+^SUgRl3G^R#tV>Kief%vX3j&7C%w-gjP=Z3zrvm&AK!ry3Lzbmbt{sj z7oy4n57bUS_Sos?M|Ta4sn6@=Ma<`pcrzqm4OO)VR{-8R>FnGL=f6R5R-DGjxXsak zUc3!M{J7Y6{v?(7v(r-`Zv12SH_$uS;`Jt0oK^H1((sscc`xvoGovcx%!RGVIWQ+O zsdgDwM{C7%MOCI_kTD}TaS|B%=n+y`z{9j4^vJrYi{Us@*b0gaSic3xCW@(XqfZ+J zZ_}Lq#O9aBD=;_p`unNOGp0K_mp^7-??PPL+oT-j%|X$4ZUOL_0jHkttzS@aq%)3= zjwi+3pA;}81A0@>LVlN}AIOfFv2ZLw9~uso>P@Lqs_1j8tQGD9|Fru^q(Ev)u76-? zNLjJWQ0$S~rb>UIl8SA)Z#2)Vd-^;1>u4F}xt8arsM?6v-Y&Yd`?p&mA?FUath!bByKwor`j_}fc3u@n;#hN;&1b?CLX(DsYOZ+Y#FX#H5POj@n)IKIa( zF^s1RDL#_RPBeKq|i7~lS$oI)=<0;6^QGEp%6&c@9XLdso!&heh7+#j4Hw>n8hUZc9*PQ3lYcpxX=MXH*fyT5fgb`EfR(!MfIDoBq{Z^5tA%H$#P> zE+&uJAG;vJH@R%g8%vL@-({m3y(TMZ?z+Z?fG6QQy61h)RLCS{S);gSyrin6ByGZ) zQD%*X!AqHKn|MSow-8s*J^=>n3ZHAdX~*v+A^;*nZxk}5U3>P`?uwjTwqF(hhtUlm zQqu(%jb{Y&VN?_)}gvgTh8Ci(n;TJ)d=>?Iw}42D?_8Y`lT@zJmSY7$eANR!aFlV?*Iw) z){|V!Z5C5m%%o^U5!=CBzCW88skO-VY`u5@(-NJUsjb6~wwF%ELYTnlC<%q2L1|T< z3Z%1W;*OmPICQb>G(H-;^73{2G-Tj)8Nc@W({aim@xwrIp_mUiT<0X-T0!JgHQNL| zzO{1@NON{vgp8repx%{d_;~cyZZzt98EsQug#*#^t)J$(Cv#O5%t-&b_y4m18ntUO zsI4sRGTr+vavWj?GM~d-ZT2Cg)r;8^_ZF>L+UsFXaadjkM~m?Ypni}y{);u9&yd=0 zDq8)1@ak45V`74Cm+)H@SBhOqKVK_la=y_D6RfigTnDTf#CIp{?!u_Bn$8srBGrLi z`+9B$^p*DLc6t<5z*(7rnh8HG=W(79&>rK>Z_?+TR^`>-Z1(RFgXfUZW4f*gvc;> zrN>_y85Nw-ierNE=3_dW$HXiyco~^&4PNo(KlJNe$$|&|0M}y_sED4V)+yc@9l);V zjx}asPMu^#x7oF5y4^L}31{|r%xYc0T|)o5DiW^-4zs^wRYTV5^ba}mtwQR1ZL{y$ zLrI8VgV{&8f-lqWLuetb81qh(5X7p)lTJ1dNOvWNr5g^DHUYxnmR-^9t$cQte>>bQ zR?YY53Dsn8{7h+<4NnJHJGtAfAxug4m#(T#{x9A}v<&K#t1brw=Eq?w{xiA0-S~Co z$TA)_Z4TX|>o8^g>60f9hxg2Ou;cYEF5UQ^VVmXA5p>HAH@%NuqRkbCBMmy1^LiBSo z@Kmcvx)4XldZ1@A0fOp*Wa|AX;}+YNm<_K_`SK=n{~2%6asVhzdI^Tyl4NyY7XPBo ze8=6&aDLE;hWvabiOeYDh*)f!31Ub_I5^7T|9S2M8IK;Y0aN0RzE1QTC~yfb2hLgw zDWKf~7Civ5E>eAa3KM8)@oULqH2p>7F&I;E`3L;iS(}W&#ViNfeZAlv#1vls#M|2t za<=PySU@E$LWD80)IkX0%j!(t;f9nUy5C@wAC*^^gB3dO&EWYctJUHZ@FdU5R!6M^ zp!IwVsSp7%_AA-K5SNePs0qD!=W(U@LWH14YNWLlrPoIK!VYxvh;O z3j5b5!zb7LcB3Q10q5|q(JG@TXoNHF+Ty%yV1ggTbn-hPW}623&oETF%O8c|A(JOB zd(|TXD2ONA8MLTav2r?#g$QsW9sgEsCTk(F0UM^F86jj)B0w zx9S%bK5M~&=_b)y<%2-RqaSc9-JGOyMw3r&Q6FnXfaTBgHk2q*FoFJrup7u8Qh+95 zMBK>ZR7_Ws$#(E^#t*z8 zKL033n+G$k>#NoDP(O}guz6y%SOzJ9QGLK+W@8Iz99;b5$oQM zCwLkJlh060n9gJ-p;~#5ttqoXv&zJ(YFN?fg=o2|clT9n6?ZU7XE#HIDI_7FwqlI5 z)}PphA)kR)KqC6nHWaONJ)J2PVD9tv&scf#KS>PFbnZK7(41m%JMNX4n-eRbKB1)o zSDd;p3m)+tp8rGK2viF%Wp`YlA3dEZE?fNbtM1zgj#e>*tRNjB+75>DtLibO)YMYa zl9%t~EP4H4z(DVQT)vum0@L!-1gtV-vgBC*=V`q5BuWAqY7L2hHi+jpbw#&zXSGFk z+MEGDkE^p!fmfFS0q+vFwV?maQK=oR&!_${&z}~MMp>W z>*LCIgLu}*M;!=)o+|(TjXKzL@45>%MZ>lc3UBFoMIhQ>nYA&>ILw~BSWnR7z0}Ak zEC73{*edTrF(YgBiw50+&Z@McvR6Xc=C`h&0AK{Z56{2QvDh~fKJ26{Q_B@pFwZcJ znG#t4JwMEf)OsAl27PXS2mT3gofG}YAcArTR1VmGH>H$u=L_B1+jtBl4aFF#HL^vo z@gFzDD>*=qof$>|YseG~TZc{PcQrAg?FJHM!_IZiX^6{v%lUKj@O1WdoKz>V( z&C&;b->ERQsmfyilH#>2Icme#Jz$!H8=H#&uIk=4NxJF^-!WU^ttz6{Lx9EJb9JFr zUp;nZ9UYlXx8r*E+)d+9H*Vam0UPA=EZo8OV_W;aD;ko zWM3k^CKK)t?^!jK3RPO*%SpS>ODR(~Ms@E*MBd2bMec3+M+3pP2S9!kHg;9}2NKs& zYsamfY4OpAuX)Brtnop5etv)gVOpfvCLdLxD6oKIvD-jsYBf#O89CbxL+Fzt2K{x?|7F&4kbs z;~7dlqYt!$(Lz}A$6(`t zc=*JDLef~}=wQ*o@4xEP&l-NCcfPwLd}Az0h(nLpKpL~!nEqQfEMz+4g^}iLLlbNI z-9?z1nbG}}Ma;8=5%0B~f56W-|E|e;hoP@GQKQrDfV=UObFu(`DC2v4 zvNq-U56~30Xs8!z;iaxWCimZkoCeD5vRTeI6*X;1l3PX~c}k1MB)pVY-9&`Lk+MqW zH-XA!i7v}4q31Q;u%i`Fk=*qQB<^!<`$4#;YZQw(_E+1047K-xN^*Ha1fG$D_};&= zK&nlH`wU6j?I_JjDU;DL2<@3f#dx1`ffb*@;}`Bst=C4|z- zQ=a$X2fo{Ro#7S8VunzW9S&SL`VUm+Jl^8qe3az|M}&;t6v=i12G+c8}sl5R_j7n+vjW9@s-E#?JQ~JuZ6}9&Z?b&H9Z;zr9`ql^4N|ks+D=2 z$nQL6eS5eAZXT3d@38U$yLxa5!>uF-$oSE^fMKivG1ZpMdeSS^A9`%KyG!VefP6_f zh+%>>kq2BJW6>$)#a}tviH33mO-^r5w4;RUB?;l9jwR^D3p`p#JtWX$kcsHawuK94 zV-~v+dMXncdoc{nhD)9D}A+FsQ))opY8P_CC7R&OK<2N_Vui zD%m}!v!W=Ue8QR_$-eBuuz~ObxO5G`$n4viYHPbL<#k_HH78&Ya5>U(liYtg|2tJ2 z=XojV=J0Y>(_Q>Cfij~1vSklx#phHJy02e6GPir(yLsBc=wh{TzNY}Pq0<7v%g*ej zQ!Ki$eML^)hOTXhE0__8@JEHCf_HUXXs^RJq5&W0^jXM<*76&6a z|FNf>SfUUbfSjzgp4clE!UTb&UQmTBpQdNO>X*dk|2&#Teex07a{5Zm^l@}4L)f%< zc>6GQdvKN&gPdT;EZYCi|Cf~q1 zij<%`_wN^~ShOn$)%|RkgBAYiuj`!l1$8(%`P{_9ni;`@qFRxb%Y8v=Ww$JdJJqt*PZG--h8F+>c zfeN*n;?Iw_h^`lhzCV=VHq(5m%)xv+oGnH}(X67@T~VGr5VnC_-llK8R~zl@QCP}C zAMMFXE;giuF4=OG*l9Os=_V{!HA{MICggVCur&CkUyFUZwvxx(SbShr634J}pc0HtF-mgrDRzW=mn(BY(RVE;+bOWL~V> zc5AA`Ww$CPGS`voWHD6GwN*mZJQn89^O@yO1E^lD!B~uQXJkHHB^g3eSAx^${%iSY zhG6}L4`ZEDo2p}rV*3|#_CO&QGLvDO(rEr4PuCb-R~Kz>oW@CGqe)}4vDK)t-PpEm z+YOrJ#x@!>Mq}GH`%b?%-W&O!ALs71_gZsJ7`)`@td|5Id=~Sy*!VWRgSk3SB}RcN zZCh4aiL}m21$6-e#18NeLK|H^ArWbEYi+JBFtv8)--%tLgRv4w{tgM6$X63D;WRlu zO%;fWm(s2D(N3t6RdAx3T~>TtuK7NWuiJ0{Jp8CFb2ccE%a+8Rl@#~OVf&Nsnd+$E z!fbl$6L01(-H6SW<#M#})J; zw`6C22k&{LdID(tAQOJ}(#?X9xh^1S8E6@L<4Q_O+OdQoVD_i2}1BQ_%(!!TBQMMwL}|3zKwi{l3^(`zU9y?Uh= z5-BUS>OzhRHOFKqQAzYAcus@FalRk?rV72IPMQGj?8VT6eA!G%brJc?0`~W>A2Ec8 zu)kra^Y;q85JJb}t-m=)lK#~3e=9kJPIr)!Ys7~Bn=Fl_G{{GcBzrVjaZE;%JeJuH z9AM)C-_sM_=OFPgIzhkGHf4{kDU`ugEL%0?T5z{xD>3{wUC>K zv#5v7D(py3q^y5Ua}2u_E7ShUL~@>&uw)qb7W$C9HE1t*U+qHC9KN_sL`+awSycq5 zm#x%j{XQnS?(NtIH=}kJ!2HWwKn6JzxHL3Se{2Snd#+QkeP&CPAPV|Hs5jkG$J&YB zqjKNecw;lC9x`Wt^919Z{0SgPoU%eId7GMIc!AKh2zA?Cl3>c;1ssfwLeS0u_XsA@ zoQDI|Y@1~szRf^wAD-WZOX)~cms4tHy)d5(v3*kw2lPG z2HN%&e1tBDq*5y>iOQXHZu}mvC?6@u2bg#D_1($V9B;-Od|q6iuM~W@p_dz=A3iLp zk$ZuL>^iPsU5@`mfNbA{lTDr@mMuKM2S8U)yFxmTmNbv?q#;L(qXyT~#|9%t8H;8o zrL--eE64Tm^LF4T)UZ9EAvd3LIs&dV2LD~wk5>)T!K_u3DbnKe75LS73Rjk543zan zJ&N(kq0$jntQnY{w|fNN6LU=rH542NboG;9!t?OS=n_T6ifF()u3 zwd2{)tfwwfE3b~XXQamr^UQNp53z>`a=&khQ0XtAOU%AjoO@IdprSqYZWTRWV#FRl z_w>6(gMEdR@0|1fx_P@j2g)1kb6a;_;Ti?{CO_x<9Swb2rDRuyVN))PpmTDm>i%cE7?{ z_VyCApXXK>#ncK-&e_O@>i(Yi$veL&&HPh+_(Yw&gj$jj{~)gT^RG7ZW2;PomorLw zHa4=nm^N=N<0}3Qc0~#_Kgw)EYWPjm=f~X_zk%rJVajmUY+Ya!Im2shswz4 z;j>-5fjg%z2F<@?oj7a1RuB$DU_sVt*MxZAmX^RhflMLoQvuJd`WLt3 zVG!5Tz5NGdyfKyi6*X1WoA)$VUV;{;l&2<8Gv`@0anI##84cEw31@v>9rPkq65`HF zQKO+_>bfr<8W;W2hI753Ik0aOHcfC#{;JD%aS`I_zHFY2EPgpE!AJnKn+yAPiMPoV zzj?5AG`Wg!y9%{QSR>psGZY7FuvO)Mx)*mAQxR}rQhe{H<`Y3Ahc$&Q*suwm~wYz9K1MaXI8*p*}qv0}an^9gRZxLC+j zX7*uUGu_DH*<_l^`@_*n^?IAHTw@WUK@=sXI@~xF+k05=I#5_D{L^Xg`lu zO1ZFh4?Z^S{`~oKi=SbRk1x*Pmx!=1@f90cVnfU_Etg>|>%3t^BA|iIg=tpuo+CD` ziM%@D`-Sr|LL~z#>JLLz_+;cU4>f-6|C07AdbzOZK>91QMQ(=@a~-iq9D_btLhR*N zh-p=5!6lNEtD7}T+e*%1T#u|uh>v`kP#B5 zytF5FVNmQlzo{reG5BY5i4n!gkR~6IRk6DaSH=df2mxGK3882d8Er-b*?fb6k*lJl zSljY&SwRMOb$?d%<>ANrs>SUJDid8S(1z90LP{~t?iSNs;B&FMe?Kbt{heRyQ~aP9 z@-L>&hoJr&$GSF@qlJu!sXjPRl_Mv13hhoxLY}vi{M{|;=d~L5c}$`L@m*I$64^&! zGVAfo&mdmZTa$8$$xzW%m0c3Y6-VcX(6~EXk3sOrQx#LL@PL^+KGy0BR6aCWU|k%D z9}xR6i2>S^C;Tu7H2;Y?b`>3eYN@q$b#mvBJK!}+Vq7I#yO)cQu>b!0=SX4Y)dSNk zj4XUmqxqY~VEJlyJg}Nva8&<3{IdzIba!|+(ob&ukK5+Lj^&Z*l?uProqx>HBp)z~ zJcXuEv%W7wx&U8M+=k4mX&U66dD??fR2&*F4BVnS#`xmuC>bCpGLu@gAt!hT=h80H zwkaf7&{-*A!CUeq7GbSi@_w?~4AVM8iL%?p*S~ggRVwK@TdmM+$H$GvD(U$)TAx?t zp-sbosh7$jGVL9LCv&T*n{Mja82KDG-kBSbd4I)qJ-f_}3^?VzKJG=- z=fG~E^sJLOJ;ApS5Yqg2D#K3$5QtHgbd?n{Ixap5l|R+-N1_i?ct$~e$j25^@3C#f z7eK0s0(+q?%`pv-(zU@n{plpQ@WEq&{J>Ap8iM04#maR2k@C05H%(4Uf&q24!GAxG z2Qiwx)jL^2SB}N3By&_bMOiSvv*^YTg54JD{A|(aD-}ky?`%4k$ymRQH}=}`P_+>p z=z$vw(%MQEc(;`Z^_8MVd6I{s6>|;ABBL#66b0hVRWMjqRM^Hv;Jz2f7Pu#t1TQ4( zi10u-VhkWNrwoT4X81Y--&2w*JXY$ooo?g_sKX)nQ(WQCVdJ2!Q}``9mJna`(gI%CW+>n49E2Ka3=cb5Ndej`{j-KOPu!j6i;?Z;3Yi4Ll@3AJhxQ(HMhd>oH-|h_9BN zlXKbWHG|J`T3ZGm2C0WzWgWQoMUN~6CvnG25(*0&b9i-4NAD}G<#Jc&3=sr|s+n2J ztbn|$k88@V3Gp}Y)wuuuEBho=fuHac&7a?6R$4Po{)y780ks>cG&nmn<#{-**6{e6 zEEh~cxGDPycQj9t-_qXU_gE;BOH-b*b*QM&M|ohk;X}7REqyP8)si<+fQl6o7o29_ zrM66@^_2B>NhV9EluwX0pdFJSTqFB6of8_+wFuD=K2^1n>y8ptlzJIVeZhvv`C*tp z4C1^t=u2crH*&2beJPBbJwhgp;l8-QT$~tey4ie=)E}EPg<%HAl8(yg=R4~13$0|j z92Jh+Y&^7Wb~_6i9~QT}`?Po8aWLWWbTbU-jLZAbqZtj*^#f-HkGLm}j;#m^Vsrkc zW2s8ls;qT$euEH+XTCqS7itQ8fTPpe%2OAf@)WpHO`uZs6TGLIQg0G#hvuhVfaQ?P ze{96Zy1}^sWb5pE6#?!*_gUb*4LA&6b=>`pVp*Kyg=+m>FH^Jogw7_S9bnvXd3LGI z^ntE74^&3wF9E+qz*2Hs9k*kku*8>!V6Zl#Si!s3?>BnzTv0CMW+}0D6;|L% zEZ89J@nR=ljW6$*?7-XBL$c9C!Y!MlOzU?`;7Z$Aic9ut-=@AcVK}8U&;@-JDiRsK z#`5|_B&8Q-g$Dc)@~HmZaxBDL)GQ2HqB~wqt*tP0KHFSW88L?JX!?jqTU}P**TvE7 z`J9YntE1jwkW~a_(4HMPF29sp30Da>vjy=!Zfe3@v*$#CO0cfjmJo(>&}c4+8%4_T zd2iRmsg(bDWMceh1;YuDiOhK&6^yiv1Bo~8C%uyTR$I{w22fI1RN_+yQLM>;|Ccwj zUuV0_#zOy1J5XAt5B(Otkcl_X1g^0OUoj0%=;^O zhz>c_7$VeQTPXJ(H{|3{gy2eT=9QTi>zml&)wnewUNsJ zI#OycTOF}Kw!{N`?Qcb%G&33KW(bw;WNlYA7TugEV-~VlYy*Pls_ZN!H6L+t_C4Lm zBtsx-kpaQi2#*r|GmhjGcBdIbsFRm8O|vH5B@Di1DW>O6KKv_#k`-ZwI6n#HMnG$_|`d==}pls2-r=`mX*=|+4^XoHxoV%?0R zDOOecsGe*B?D(!`Cdh)`tj7DH>lWY5fUvsPZ)J6=Oij_Hlt%@#@1ZIxmm)ddk01BX z{BEZuZ|@fLy)>*As%&acGFXgZ!Frv`%KCMX*t1?QXU(G3Oc}mTkBHdx`CJ>`Y!hP2 zRTL9ak~83>rn1uOI6T3)uqzw;>hQ^AS(c^PiiJ_*goXqkX(J@eDLMaAH25nk zb|7Sa=h2Oe^YY2)Q57D67V^|Hqf+GG{ihb34)w3q4C3*u0<8<%-;G!ye&Di=x0<-X zT*)ohZO1roUK0PBedTs&n8!k95caj4$R{xSOdq%fE6OnjU7MS{Qb*QsGeXg#avwOw5su4a2o`<`CRuNNf2A z8w@^x>2S2(ZL;xpU|2;M6MrD_@bF;8!O3_06^`EExF^&4IdcZnzjUeoZXf2SCWx8; zAlvEiaVM@6fS$8`0V!2GEaz4I_t(cOcGpu4e75gMx*mHe#QyF;MDpyv>~Nbf455RE zt_S`vPrFG+@uDaN-LHF0RbXe+f9e>BKR*`%O=`Q2B$|-IfP8r!Q`aMT4iJpU?zBI~ zJy)V5nVo?7ft6nKuW&%s>;@u75<6{?4LA1Jm2>?n&7@8zYcOsx#89DWpNz6%b&F50mEp^mqy*XqZFKgZAXhbzK6@E|z1-)f}Q zVMaVYm$f7)EY5E0jm(*;8rEraIs_1HtM z_AxGG&4AUcLBj?7(tj7q4WIvpcQqqkgQ*uks+?L=jrr^|GJyq!qd8NK$z?v0KP z5}Yj^O&;$Vu0SUcSdUw%qpf^m%N1-Bb}MskQ`~uEE%^tq3zDMcEed7j{n0hz_hrS( zrZE=ol0fK_+ftqBwO7yTN)W1mhLDl+{V$)h#s%o~f6ECP{V5>zOjwf80s8GG@9!si zUzb5VvnhumB1s@#k)0n9Dgo+v>`YeENHHV7*Bz2s05xZ14Zrq%e>wzY1G+1OOF= zU7(&=dJfIZeFTPTfri9hasKlKT^qikGdpSWf%)fsx+=**W&5nn?>+M5+anUc&Aon4 zlz>g@7^Vg4-&;Ct(b$ZZG$xoxCX^C4Ww(+1Pjd(}_){nv{5FB$Bv4b^6L4dqGyxvL**!SgLzU!%@v$Jd7*oRKEA+MAv8=?TVjGyV>h>d!$ zS+z7e3XEog76fRJ?gCg6Mx*Qg1GXCc;g}-}jfLTk=UKXB165Q!w{w9d*pX;RgoX}E^=NswnE*8?B0dIOA&xb{e#7N)*kmek(a=Sqf*Kmjrn1=4cSnvBdnD|MVd&H7+Of!Jz=;pbC)+WLSP$bKi-< zIO^Qbv^tzs5Tq1?1f1jYq6EmxKYo_~apC*Wj^X076T@|wAW2+s;eEjCJg;ds-C!{* zhEgQV*s=);`04sm-UNmr;fZv5-jO5GNgS_t^1khJbr-}E@glqd3d&@%;Vdq@R4FD2 z5>nPDKnjaNK9%Qv{Xy69H>D9`KUjf#3mT%Il9JMS=HEVQo7@K|b>|V9(n~gLHeJ^x zQ;atlB1D^iY`|L}Vmco;Q>{{iY#~7E#-@2~ziKKr4H}f_u5=lt|0>esR)$VuOd!a+ zB`cQgcMCZG0y??_nXwEu$>qik-czc8jPo#-n-7tm*kve=$*= z`SzskSG8EDr*J*npTO}xmu56M4>b?Puo>V@oVnU;1&ej{s_iE-gt79Fd}E}X)oi`@ z)MC0yqpMJ%mNEsHTC6Uuis8nFJ+*-|&WmLIvCcKs$0ub!Ph3kni=V;WWZwMR(} z4U4WT5g-l5Mn*6%!_8>{WD}g>SX<6YvMRVA>rBBEuS!WuBt(Sx$KcRWSGO};n;^Y( zyR=M6d+g2JysSuvcY_n_;T)sxy?b_F9Lir!yf0ux~x4=@#IIquuEoXn!0M?9Q7?DI6v1i$sgMGQ9#(r<=kdejt1!89;&nWgdhsvmZ@H5`IB?^}#)CFU;Z zsLV0zHMkSJ$%)x}-AwsH9xZiS-PJ@QIagHPf(K`RS=$mc`kFgsN5uhWL<^48b-Oag zdE#&6(L%@a)sF#fS4)G6YJwYw+QREcRP|YtbqaNi_92H1?3?UyoNpyMKRRf3Ye!)A zDUC!|C#$!Adz)s_S(tarAD_V}JcAeYL@&N->v8R+NS?Em_t5R_Nh|?Nc7TZy4~O7k z__Mc@^{3 z04+xn4-_PIOC#g<$yX^Bym8h zLEpy_zZgR>=Gfw9xE;7XsACPsOL=NcoY$ zhwS7Hp5|QU{h`SH(%#WHP;LAoUoX*Ji9V=g4n%qoe#hWb7&imcP)h-WZICNC&ZEQzQtLQ*!upc6wN6 z>!!S%t2ksZSV!x&V|H?A4co|cPVUcn$UAUpf~4G)D16RUeD%UN=#Bm3tVkS_b6~8a z30rKIFS}R2^*bUmfRd6d%CtdA+HSmBYmV>F%w3GVydsNPCR{EUl97OUyU-bG0iQ&i zThRW7>mL01<$DHur5)AXR!B*Ws-i9D-`J$LsU`jJU~<+run{k+A!8at$o#eUnkt{S z$J{Xnqg`^R^GD>URdid)WW1c=b3Q>FCl?ko_3;H&(eyiSU8GWLD;nAsaI?}%)BRjy z)_u0yx(6#X&ZZNPD;V6G`z0g)+iYSE%O5;ZcMcG=zW{K#^E;`cM~EdqPD_%ckaZh! zLa;)3v*>7*0*(w4^a_N!|HpxVjCVg|}Ea%#9(K(=3!x?-J|Z&$7Zwf8gqc*i>QYk!)~mSn^& zDXXAPDu+uSXOFtFWq$NU!LUI==72d0!j*E%#GX(lMBPxn)YFDcRi7%u`SSCalA|Q1 z#1Vx(6JJR^EmBQ{C@7**hUm}@?(PT0%g<)5%(jZ$+NnRt9h;c3$Pu9?LxhK|8%T9w zxsif$1X@g|HYeqYa_o-HRXS-iv~<;l7Jx{(<6)IQj<*e-$si?))n+vJzq$kX@J2Uv z9w@fWNchWKL7}%3`4DStWo`#3NZt_$9t{r3WsF~x7G>b+@Y2%Mr>OMOEk!Nxz*_@K zYOGTXn)PZ;1bvo6V19bs8;v>dHDY#q1Ha=1;5Ry(1|zy00Um(+QtYNfeiXI%wMH&~ zVCw#OuV_f}d>`1agzMw?KQpN@K*wf*-0bU9NS}-iE~6(e1i1sGWQ76R-|0b71sxil zPvGYD#Bj<}gGPP&#o)65v;^o&oo-(r1FZD0sI$PD8Z5PMuszTk1AR(Tpr$FGtq>gZ ztL*{S&$!NGbDe+RUrbj>$414)+Gsw2h~T^f!da|K5^rn1pUSq|Z;4oNc}KRk0EvRoz`b!SEh^B}?eBv;vH8W=~CvH;S)s7tjvjG$;66fOL z;9%-F8?JF(?-XcDp;!>nG+P^SW&Y z#J7!#z!VTYoLoDJ2QK^v&W7SJ20^?9d=*ivjk?mgE}I>;si5^5iJiXIH7Wt4>E-!j z-ujh{p4BstmDpHU`GH9#8v3d5qClpq;@P3ZW(_juS3=()g%V6&x%l<}SQ0_tWb z@DA&I0<;bP!)*XdJ=}H4F4eedhyD@>`V`BjYxxG1EQ&*Vi0##nw@&Z-GnBPM@=s^h zUP09a@(EMr?{v7TE!UTt#E;;nmLb8DLvA-Dugxu*_}^YPYvNhfD$hP0B@SJ#nCX}H zw9+)sdjx}Cw6r9+$S%XlkaKm-N@q#dp`2B?$9hywS=Hxs?znQQ)8=#E8*N*OR~d$= zXT0CK0>3OPyB;DKpoAZtM-O^Y_h-9rtf|WS>FNus$BY)q zN?a*p?~rD9!u044^{6LFLb*fOL%`)cPoxv}BSIBuR|l%{zl`Wyri8e@;iqh3GeGdg z?(nTX`q}t=>}0oN;C~EK4&FR&qw?JRxfk>IeKfAy$6y6k!)hxuIva$)ihwNs*NFjis}^}5efs5-!n2~G5V4GybMOcPuD zn=ZrK23|*%zOaHsHSTvRfp@58LTm8^dj1j`5@5*w0$nYqwXxD`(l=E9Ql9kWk)5V! ze;H8tbvEsw;TkJ#gBDlwPBCU>mV)3L`yx`XfxOh*j@TnF2v6;$3=GBs&GG4_MBOxp zLm9y4;Rc0I*C>X`YNVyC+V3sJi2gGBVZ%E87TQl(0K!UHs5byzFj_Al-D zT1*9= zTsvnCQ7T;1a`xsVHLtSP0T#7PEmHIs$DBgPk!H| zlgsV!@pt*^_YQxbwKln)7umuRrH9pE*POtLl5nx@7mYY&X8%$R5?!r>+X<1qZhLB9 z;&1gYL6X8sU8Q+@nYL3;`}hs&&ILa=g}$=6rM<*J<^ci0fQ=))+z4|Sg%D7RiC!A_ zqINLYG#Dx4G5DTDq;(h>Hm*&k$qyc?hId&Y--;psxa85*@yN)X>$lNtV_x9G)lGkz z^r!fJ)5cwo*w?Q`UP_o~z(q-!F^lq~i~{4d;*?F_C$C{^Z))nniQ-S!%Q%5kZh$jg z+)s9jYOs7JFyOI*`R0WiTjh0}J~s9>0TPZWJR80T@qm{jp(fk+CTkWZD66y~v&SfUCx|hL~ z`pC(Vi0W8|d}aOEghg!Y&$@cXA9ZzGcskb~OfGttLswwJ0`LugaWs2>msr?={2nbYs_9b!YKm`aERQ(XQj>5a5{%zZcGvHv zn=P}td!rwf&<|qmQGu>N~}r)(NtJY=X%}Y~-)T)+@q! zl`ErgU~g32>q>CbvP{TP`@9g-AJ8`>vSKvGrhW|i<~!u~o3@z!o3`t?^cY5aUlbgN zSY5?$K0)^S*k-OFh-`4B*MVzNI@C5LZfn``XbKh<7TbNK8inY|GFq+sI;ecD50^H3H*UX986nK~uvY z88JEmsKY!&l5_A!pb3zEQvZze+zW0N#K?gTX9j9o#kCB`*cmgC72&hl&}Se%H)vHg zkNY++4u${+2;>KRdMAiaLZ3`CtLM%;aWVux7I!yY5%UglwALclM;z*0lH5(t5BYQx zCv~GWmP;IYorqMtnQt{cRFtOS)FtsNzcvYN$L#fCH?f2k5LZ_g>k#SevD>py4)YG4 z33IsZvMPIRxbw96CA;T-04)_-1}t>TK!5(HM*5Z2RpcEctf=XA-_K2o&to0?Z374@ z-e#w+EQ>Hv!X+HtrE?1hbhx3*)yjtTc;)u)Q3yrfkakZ3vD@p*K`lp3Vo; ziae5WzQ&S`K!zMWrL-?+Sw)+(aw_ZTc{vgtaSIjHDhksWM&3=`B&wpG1YOE}l&ayA zl6B?UXp4Qo5-@xxsp4yeD1(Tdu$Cf02!8d)Xyg1~ zDGdj(`yb9$F5uR|N*UFF%_8u(A~e+vDt2Azqe7R%>n-6+)j{E$3sQzfHgYotE!Rh~ ziKA$H*s56?cxdwbw3Mc%rfGIN#D1zteqQQH`o-6*19eVYy{xCFB)e0J`JrMY)F#Z_ z$RP~6S!i?FvVvANtr4i5VAvUDp1e=`q}fA2u1g$&lW6#Xi^F*%7_8~ZT+e}Hu#jX6 zpQ_7&;Dn&<(H;qsc)pXx!kPEq5RZdht%g@y*?s)pr1zq4-$nxF@v4K3pZ{J-qo^V( z8gz-V*yci)f<$6V@YeGALc6;2#i9p$^~<}k(`m!T58QpClTUp=C+XM5tg5n}l$!Ty z&uS94ZFX2(`%jly`u?4`gBlA?=GLt%1(R<1pecCTs(Ir?CSl4zDRAR&9K=mtH{B5K zAS--Z?E$SH)&)@d1D@dl8<_(xbk`f?i+|<_F;B{koqTA5a^J7v`RhM~_T>uO^S=*< z(`PCjqMlN!qm0s5HX!osq0%?W2d_56-bo5CL6Cn%w!AYC&#{+XuQ{ucBIwieNUXW+ z!h4go6x#Ur$pS6?Wzm`zPPS(KReD+;g1NH zR$kZLBfuQWITIj1lH9mU7rc@wdmx)OVmN0JfA2>FS`xVu+XKAxr7^oIQK3&Z6Noj( zs{UZr=5f!lN;NCaOKK#U=^hMeN-fr6Lf%oZ4h1>Q1b%*Q{qy`>sV!u0F z6htsy`xCv5pq3d_k6dNpGdq-~hGPONd~ZqB_k1q|sDTZaon&E9;pZ#-YHq3pKY6w3 z(E~z0ME`rJraz$~<+h>>a9NTmX8T~?V~6U|aVhj8KgVZ}wPJ1|gpV_S&1dkZfIoO? zsNWF|$=T?Vt?M^!$j2VK$|D6pjmFS~W%AL4ad%fWoc2*_z_jb;2(qRZ{_@byfuv5) z^t9>Ly=4C}g+Byx+Zl{uPj~7kSCvzrPN0ws=2)@>-`(YM)9e%0gtNXcm8&NA9!!3g z%iPs|?hS(Dfl*icdS7pHWrQza1dUA0x5$;JYX~S}*v+R%X=!QejE|Jhgi)0?dzBKk zQf=hjQuGb)S?SS@hUNW=+$h522#)XM%vc?Se6^HMp13xn~+h*_2pyk zUDlk(7wH*(aKPQ&|4KWt(YD2=U_2F2V6^XC`nN~vo`G97+CZ7x3sGbwUvPr9FiO(F zHqutip1;dw8RYq#ZPey+3=+}BsB8e$FEA{Mx-s&jvDTzG>TJm6C1{0M)qTupMV;zc+4VETHAU^FzwF^I2zKJZ zwso%y{^#u|raoNh2E%^Xwtp+Vz-qso3GO%N=e@Uwm)(D!EN9Id@&`Fyj5$vCOU^?? zZuXbblcV;`Yp+RpQ$W%d&hn5I91*v@KjZs+^PzTjk?Vb>CcE3Y&NT7(U;gW1iUt5& zA#)^Xcj;!a%LP9Uk$6R?GU!^aY%F|vRj3)6AR-|hSBM*F$rry^v=>hw$~f773c3s0 zK#tR_D!UPCuXQ~OeWFjN&x9;N87X3>9su#!;*%3ye2-Oh2U&}{D5PHR>3OT^z#WzjBAkN`IocarQXf zI6(&RXAU71w1iOGm769dMMwW|f7n9Nlsk53p)WqQ;J^SILTz!rQCT@0C1YUr>Mt#( z`}cTFPYJ>1%?-d{9JnlHY7e!#Y>lk;__=J(BSkSns=$m^pYT?nAj^{Jq<1Ey8zL(g zF}pRkn`v7i0((orDWaH3l~H&FDEBQ0#G{EEUVw$6AyoP`hgK>OkZl#q;2-`6&3K z!Vh2p7W^d{@cR;+LLz>N^Lq_Kdp*9s@J*8!+(F9ZaiZ$He7#Xo)|I>2@JX|me|%Bb zlfK#T2xEL5RA_I2T2rVgDFEj*ww)6FO|GAS15%x?WfnnnQ%S)csvgM zWYMC_#KOXum_K;4k3#OS)mG1}$6?4w&bzry(av+Er|!7$rUd%cmc0}RKlwB4r+MiO zt1ag-F%*;dbi^s5;4F$zt!7h7Kb3`P{nu&m{SImxp}14|BN#Mq%`diOVPmA1{b2+z zU)SwN?yW8`8<4utXiM|ZY=4W${9H^XUoEBsx{_?{C zzsF~!hSs-*o9n2%C6||5{oKApr==4VdqGK_>3V}}@l8KoY{c-e;?2^^Jf@+P4_cX+ z_j1ccH5-X~%4X2<_^goo6;MikWPGUE{W7g>*GbuPplOyP-u=AC6jJ=)cixqi%A_w} z^X+{BnJav&rtJLA~NfTdgzP2So93RhBz>vK2>$uFRI&)~- zULh%d`z8VfiMq+IfvxV1Z>z@{-WA;B)kKD#L&(A z08pV)2~j5zi!W|=?R~+F%gDe`Y^Udp-YbXO5UHEN)VYg6b}+APSKRH+&~e%Exc<;3 zN#cDOuv!1S0j$fZ=$nDXmB3p}0F zDHM2C7+8*TH2KMzi*(r^AC|8?2(Ow#*1Th$%peRLeBB7Ni5#k}Y*FD=VC=a{KPCCH z7k5iG#AIMUE4G(}y6?|-*#1Gc{)bggtF9X;Yao7u?Q8>UL1#r4W4V1Qy$DFTw~qCs zmp;EBtv~j(^W>x5I2&Kvkx-y?19@-thfOQ}4C~^_7 zQA%6)ypenM6MRNbVZqHA7JAY?#X#yC%?A9ia?U$W7`5uZBd>W)^0WIqJ9{2BcNhON z{e1`6OwOwgLm#+~*cN3FmriiqAyu~Fdoqx6g*Qy;sy?+SRGTOwESO}MzU`3wl~UL7 z<>Bv{Uk2V_1Q4Atn2^nL4EOo5C{ApILL-RedED-hrwR6N?821`?2uHL^P0=TbR$yL z!B~bUKwCrmOI%CETV7fD19rj-$wQqPO>fxP_w7VKDQDnioNGNFaNEjY^%zI3IhQw~ zyE|Q~Kl}A?d=Ij(=;Has_9FliAE|Q!>q4WMeDzvW-jZdp@Hd;vkz%Akt(r}jymD{m z!tC+M4c2QAL*{Fa4#GSWUf?y}k7v5A*c;jK4(FxAQxKZvXBUR{hxfxBD98@RR_7lr z-5rgY*ca7qd)tVhCxjacZmdAD4{y@RW|^36wMVQDp=#oPOj>9*SbY59IYZc5YBtwj zEbz3`ie8$K4eqlI3897Ci0KFdN3R0;UHb008;HaLc)#v_LD`w$UMFb^hwG-8Lsn5; z5PN%~gdh5Zb*9O~qtf3>!12GYxN{@ybFuw1QP;B*F07a)Y|kBN&6Ty3@E@q{F>%sV zKQIWzd=L+!N;lZ@04o&Bnb3H{H?ENa*ymDM9uzmsJCi zcZ5wkenH?tQqWnkH*9ltp!OD9c-Vlw6j5p5_GTR)#oQG}K2IzM(xp>o*0_scY4>jE z&?Gq7-Js0a=d~+PKUX}dJ4v?pnNn0yAV@_4#<&m9jEr`h3N%h4D{F~nQ8T<9ICnE) zYU(^5=mYJxrwGo)y`X>-=XQPy4O14{-TQ0AwO352gclq>;wR`7UUM8up+FSmuc+?m zyl*ziP_hzBU|`Q5n#EGtpx)UX=G(e$@HK#8=EKkDs2`Q*3aP3d00L5BML)DayL(NH(@jTJSDWs=MnDNwrVUgE;+DuD-^v1+S&s zxUplo`HQfH=MMDdt#3QE+tnjp;k#;vBG$|J0SuO39-DAWA_xXn;ym;uJU*&R9H-xN z`k5w#HQ;p8xhnOU{HyS{UL|aYo{atFTi7I%B;Z>%jPU zFy!r2ucNRb;Qs2ZGQLCniNn>n%$P57SSGgg-Nr>_VA}a?g9JZCO-jt|_zg=eT)0Z=42Q36*D>Gx-}u#ie*kn)>KRKX+!sI|Cck7R?EB)>NLm;Cu((d zX}tzXjzPv(7v&A^jd&6Oy{34mVa5+`|`n9_R;C4Y#BON9vHZG-YM6W3nRw z%hGaJfpw)()JI8fM<-of{=FYA%*+d$^YZ#_{Orh^e6%_t4z5^?U6Xt_NN>TD3xO(% zM{2aI2@b>$E7m*%ZUms`hFSR{EJA9TnZFM9)MB4}BN@u=DViuilCLjM069h6lj725 zo3P7rgm}1*@UQ0W}t6Fq^bMo=Gq6E!jJu?9(Z^`?F}P=RbxKNEWyRw+DL8?WPbGOuC3tPV?WJR!}P zLkxd0lT2DHq!#?ze?U5&Fu)pmlQBmjHx1jI8?pR|^*B;j6ztTQfz$M;)y=?s;bIG5Xl8sjcnC!mxgaaS*OfQJs+%pocK z>>FVRg4tZcF`QB^OLK-j%0sfUJbD0_cwa~X@X}AQhsquO87Ks53PT|(JiuGj8)2Ni zdHl+}8p3k$SKyiYErsc_hdic^0Pw}TSZ|aa9>}!6f0T}Wj%I5*vM!i6`Qs0<8v3?~ zKC{7wT5lL$V5F1Z`u#hy8du!I+&GjEQLae5EmSi{wUe{S35#!S?A!XpIf5mdkG&pSuIesgXxz3Z+G%{^Ab1JYkz>7G(r6axDDG)GAURkY0(4L(5T| zii;h;p*AHQ>R47@`6??L_l*roHDy!HhhE!4^4ep@WIz&G$DUtr(st4d50|UCHg;!8 zw>0T4y0OIcp(uM5lQ$*u4CJhppjuxb_mf&YudHZX^0C8)4ViANa4eehs;RlfgxmCB ze|8Hcc2gt0dvvH0k!3;1Nz}4ChnKJ$fki(k7Xb9REJ$M}kGJuAB&dAVzhdmpJ1rL! zoz_w)qx6;&0QEU>!s!4Sq`L4}6Kk@i{4`%1LaQehIk5E09px<=z7k^!@^HJAg{@e0 z_a>xRGihGv2fmPsY0IMCU=P~HD2;MSxW7#N3&(_#*I%E92&oaN7-Lr=30)VcR4d_? zGeXki>F#&cACQptAyL-~xP*c44|aYZY5dOHZsd7_2V;q3nYwNh?ND5*^4?w#ZvWc0 zMac6!nOt2!`9J-mr$Jup&k!D3atCSO#r*nI<6AZ2_sZV){+{ocKi8ji zY0fdual-zKOIxa>Rnzrv908_g#besX*~cl|z3)iXHVm4o_S^nXjV3WxL!hqljFM_j zT+#{LZo~{cq{NEY@tK9M;CO)r&XXtX-80^DYsQFe_sqUlfSbo{)%1KL8{j~zrK%`n zm$-YaAieK*B`E!qWs?)d$}m%u2V}s3iYjk9Vf#gicHK93=RVi^uwL{C69(*h!1DdY_C`#s|bOw3DHyx#YXyTg)N+ zR0VMfvK%<>T&nO8mS~thzJzQ-GL!fu9;{*^Ji+6HIDE}9gXQCtX{QysOm{jZws4Dn zlXc!`ctwQ{0d{;6oOb1y8E;?-TF(l~>)~%3tX&*cSInb0K>V=vRDsmw*mW$u@?TQ{ z&?Z@iQGIrK)$_yJl~Nzs_B=c-kO(Gu(SkjT*0#!^AFL>2L5}N)@`$chRmot}7Sv}c z184K%DSj??W6w|J{$Z`i7P*9_C-H0Spk`=R)!<4~mauC@x+Du&ykw-!dfKT*nIvXe zYIR4qh2Q-lqa5wBHaiX{Z10$rI|)rNK3LH&OcGfgX$+Ej)7vdlT;dGrKqJ$7n+KKQ zfB%Z{0HG+b0G8RjP&Z{x@Af}rnjzM%KQ(mTK290M-Zgb&y~iNjVDJs&QQZ#~PQ_gn zp0*$qLm>WVm;j6ukDq`_EHvqYBbVcWl{j?Q}fzwbwEpD4cT1 zLIp`b?SQR=GYoxNUa&xoy(MESQ3Yn_OX<*<5HjzslHkEM8opUH^x*QGrm z6dHA$I?#z{3Ol6J{w%B5L~oqhcbx?EGBRDrm+UBv28p#w7{h0Rz?9!ok*v1W*(*e` zX4LAb{mv5GMH?u+7p_FSuD+LmA?=U8$QK;jrA)R|^j}^W0FxhNSG!m>u6KyyRDV~w zcsNWbT^eNo)Z(8l5Y&-w0HS(>_cfei42sJr+Ze=EjPf2h?y$zv9G&jRVL-LgD*T0l25-ml;3NQKhgAWYi0-C+rJ%!ntB zCExx}sq89bC*djaLK*Fhy%fP*r2RDM&uAVmGB4Sk5I8A;6)9jIDwaY1YOj)++-9+q82~;=(-N;^gj$V99$V z)p=0fDGZzc)jp=TY{&}2mO5Q6Rqb!XqeeZ+q7;%Qklt=yH_|$D@~DB&uBCA5VktzKv@%naR?sAS)OkSQh>ICoKwwrq9xBg}rAaAakW%Bdm=~%{!iaCA< z`sf~15{6$MXVK!Q-_h-&RDT>1Vt2Cienbe|yN}K)ss?p;ffGJ?LQ#$rh+miSbc6w0 zCxV0X_5J+(s!av-v%tT9jj$8~$-?cbch)p?waOS}dS)i%UGHy*T7)!#8Mb}tZ#zPU1iIEcN*0XVd~VLdCmK_at@dM4>*H)%Y2~V9z2gC3Hc=6xOE>m zpS)NnJ~$+_95}v#;cx2-2?;cZjK@AyKHt+L24Piay(CFHhaY4I@!fLqbb1icq! zy~76%^YF(XrrfRUbG&|1<{cOAw;?P@9+oSOEBGW!Xf`jF$u0p zqK>aD-9emzr7gt_SJntcoQ%;(Z$j!GFlV!_Gw*`Kia4}Nu*$i_Djlgl)d`<-w6E&r z<0{2Vts`JF!x&Cv2_*Eml6%+!(!wuyhDk@4-`vs%4X!mG&iDJ@24DX!4YPLYSGtK; zi}^}X5k)bCl#}mo@WI4{d=kHhtFu;~R&qG((+<;zFMr#6iQ5$_Oqhpp#iof_!_HSo zAoS`Iz=k`kc|en&7y7-W*yZbAMGKB;}= z7#Quc%8g?Sk4=dcL|?i&ob~W^Sd+SO*-aH^F&@bQlFnv3?c64%IL3d%e>kemUi`oR z+Smg7t82zRH!m-wsy;3*j@4-B<3f`&V@*xNs3%&el>W<`Eqw07gRA8ESAGc(&J zqmy`B+d0r_4US7H_1fQ)ZDH>B6;%!^){-=H@n_LCM=mbx8ZSq9OgnsGuJ-fOCuUo3 z*d72Dp#+iF6H`syp^hPwavRp4H?CtZ+n5jmdmFBY1{2eqCtTn{0GspfNGjx1nR<-` zNCUrjU&74NGPl8gH{=dmvjLgU*@9K)hdj#NEa6xNU1y<;uD!yN-12vAMOIl4a~{ir zwJo#nr~;%siN7fAQJadT4_0NCh9_Z*5p|iK(<>o!KiiN`ehpOgm?ZX{V4Z`UsRYP!{@uX``CdV<}_m)4o^fCz{5bQu}` zdvZ(+jCY}L@jtXH=wulfbWJT$8z1BsxEB_(9wRF`Xe3U*0dG995$+zU?Z=H{B0@cO z`&Epvp#JXe?hRkqobKAZp39AS3ECh@2zlK_ffO(dt^LVE}qUl1lsRJMeLeR0=nY=#9hk&X_GITlcYt@|p zwjzW~c-66@o>bS8bihRrhH0tOUX0#;!Xa)nIp6*DP*-NRxwfm7MS_n=led#{KanwV zY%-a~<66gGV3fhmQVGb#f-|8PM`xduf#sOkh;N6xHSgU`QX@D71sOi6;qTyAGOIHQ ze&YvIU2-m1R%^JSoqvQ#`}L4ty^{U_2a)wz#a20*Bq(+=3$0-9Df;`uaG@tLq9FE9 zM=~NSh_?6r20DvhK4(lSTRslpd$$~C5H6rG>q`2IoB4egUnFL#_hv0PngPXtjC7WjbRdHl}~q{f<-0)z!5g zF|wbt+47|W#gljimQ0=5^Rw4QOnQ(Y-aDGIvD%p%A-;|H1ouv-&iva6O|_Cm6;ug@ZTScUzL;N*iK?;osume2zj}(h9}cCR zx~KgC7s0aBEYHij&h*vd=38hEWZ!0aEL~_7eNi~KC>HYUmEkQKssYO-{$?_b)cE)cpKf^cw$+EWetiWfID-VkDN`NL z`2eW}tV}`Xm%xB#Sip1ALI_Y!LF<$j8k@9VeB*1(XlF#i0&9#Dd$;mn5oH*U&?8gd znzHUF8{RqR*K#M+DK}O1hz*+2&c4fd7%5YC61ovD^m{zHYgY6FmphQG^u=rThd%P~ znD0NWCvH)AQG*V$o?oaO%0ZF3l8<{S80#l=Y|yiMM+)j8;|#rp)ZXM?1uic%D2fNh4c`jH-)3uTBck+%nAegomn+CP!+pzLs^3*|{gc_eO$P5$p?`}E5Zj*> z7XN8YDr>%w@LfD(^tzWsYul*bjK~J`f#8$|0v@LllSe?}I+R6L6liW4VIt4RNrwbo zvlQ@YS`U@3#zr)P0%DE7wu7-MpO;!q-Jm5@<+hxDAbx+_P#n-cq(ilDijq~CxO;}I zH`BHkA1OdkfKDzZvV{bMQ+(n;m_s%!FBGFt3Hm9UO7K?Q?_L~~Z38%2XdgdoL7LC! zoq7mD9SC?6FCz6M?Sxw_FSpZ^l5TcJa%6qoI4*x;LaE%=8rS4J33$a{s;RHpHxd0a z7rFBDt=GJr6?~3LEni??I)Ci8Zz=W%r@TT`K3Zpvme>H={n*r0DPXro2M+G>%}9Zh zMIK0Dl6O-8#Y6P7STlLgDU}xbW&}t+ncWgy-@}g%VQsjt549tg+{EKp4Z+RT3cc;ToRg!NH53jU`+4JP)47uN+;*WE0%jmF)-LZlLvM|F*ia|(EDvzoN` z6=qeAQpyw>gD34#(N6_t$%{xQt)P@D*nGH}PG2}<-A^5)ctc9K#OmmDwV<+h_}e0& zhToE(iUrlp+7>IPe88T=*aS$NYIn!{ADV75Xe&Pk@z!N*ZN+AE@x+jDajA)j1zg{} ziAgzoSpZT>r$4d6yQJ}C1<2g(NP(1JZU=5n{9d`39h$8F&WZlYLm{y}nvN#?;oyHv z4|n#e%@jtOJd9KaJS|M-NlZay?eCzkfzkdKXz784AoR*?{zY*a+I0fSKjXhi+4i9HV5NSYn|K|7LHZ(L;ySNJI8Sh;! ze~580#5p!k=W~?pAA+u@>g~oM;&<)hzb1SuZ5ySbj*sabOlB){3eKovoqIbD!c{FKt(*0y{0P>XQm*Z>6(yJXdopwd7DOtxY;XCAhfA<4l2d6b**}cx zc6F#e-9=TeAlyTVd+s?oM-$1*buuJcuj>Sv-PSgXHdkawAMsi>$?;O)xSdg|+X}$$ zb+l1K0~LO!&ACbTDP1sDQl8bVJy8eHrnF3mL+kMF1*Hswae}d&iv*639r=m(mLb*|eCw*@^>H#-9wsn0{8S(3 zTx=WkgAQJKM7FeSXNtc=BV${`>SP^6&SA$Ub35ZbjiPg_WxJ|MkgsNv$oYJ@n82W^ zo|^cB%1hAEQdfB)K&bFs@^XXcV4@)V%QMbCp2T?56mZ@L2}0Rg(jWI5vN>9UYmduR zUth8ainZO{7WrcYL10yzXX_`a_l>w|u*@thZ~efANq7u2XhuJRt0!0#V0Ve+K#1Gm z&BXY3XN=M=xp=C+zqYhOZ=$re`L)S9LrFg5n{Cl6J^C|y4%f7N%C4$@CE&nSKaHORD65GqJxU}p_^a81XtTM|o+ zkfa_kob1{Cz+Xj^d7aJUO|ZWs#4je)1>88#zZXN>qQ)|)tz3Y(RUKMRWM0oJ^}QQO zY04j(j!WljU8eapEkx3ITW8ey6W$RJV@m;zlkIC!QIP@i5n8f<>@pb1)$xsPQ85V; zJVtA+y~v$>{VP4HUO6LJHzpX?QQE|JBCD`6$2+sc$+Sv5a-Co|N0P5gr7m_ zTF}@|0_=LsP4M!%0@!n+McbB|*+~)vOd|Fexh=H6+-a*dPTW@0=D*gE;VEVDbDI%gtPo zdQQi@4oW8RU7PX{x$d-ntix~vvwYDkmzyN zp#pkZ>J|xZz3d_+&6)rGxuAGhW!oEX4y@x%2h!swQY+(^UE38gP3+Q`4_Ob=OEA(iDX9!QCC@HC9E{JtOcN?@U zN~}>hz(aYAENGwp@o_gR9JA2W`*UDw9B1@>_Vu!F=v_+mci+W2ifq^=)um&8xF)B~ z_k49TD<_c}T8fGyHVR_N3oG`{`6^`qB=EMzG}+F2vX)t0e=q?uwah4>;rgZ9WkR0d zRd*9)XqI}?h|&VUj+98M0&zTin%vi1L#)}vsihj6FKgcsZ>P{1a$Xxu4A`X(R@uCz z%O-4_B2wjjcO&fUB$21^@ETxe4WNVN`$y~$ag>d1rz=S4z7ZIKR|b@~*tTCxW+}09 z{8LtXmFqy~@WTKU3LC(_pvbpFK@KQCWlD9!!xb4577 z=O??FY49#-I-1@ggUbGtn%{mHyH}$)9el4D=SO0|jUC*ap$T}ArP_~hIqZ#*(9qI; z(2|f-Z^X)GTT_RcS(~}GxeZGoiaA7Bk_hGu3^hk>y3zvbK55-@yrBo$UZ-B3CCBti z)sMasi5;bw-fWkuK_O-zGzvHft#TMKijPY=_K%|RzZ6?qhW0;mQRfMACn4~}ImYxd zOub{x4Q|}A?@CUkN}UehHh%MP`5;&lmy2a=^*>_I8zT9e?ab>>v#>FX&CtjQyK_U? zEPJi2oe)!v6S?dMs6}Nba^W5Rp4z{W94OqYkX=`1IO;_Ve;GyCM%r;4n6zb z0S%mcM9ZFwmRIML>F+*2w*T=I#fL~&_PW7oc|2*lx}{9}e0CTzBWP>_;F~7k#}X|5 zUqUpXleSi2R;OENY{Pn*SHAu7@~t$@ly82GQ%J15mTC>3z98;o$QNzPPfsX*l8sp) z3}>c`IB?N{j+7sr>vRnfl;h;Vr!BIu$QHGDj)e{_z)g{;b>4lfZ^r0se6%AsYz|B6 z<0?Eq)r1@-^yT6?F7}7M`H}4ro2{1yi07*<7unToEpUdD*osGCqYqfO4};+$8)F=$qUkq&g`b;pUMa z1lE6d=r2p@{GtWS0~84DhnT95CS~CFZ$WQ&+#wD&rL9m%Ik%Iy#)9Lh$-;*(w8NAW z`t15?hsDG*7A4&OzSsfUI*7H4RoksQ2r5k5m$4qHzM7^{FmH8@8B?)**5 zJ?L|!K^WepxSw2bo6G|7Ea$_umfW?M`2t=N}`Auz<(2E!v7>r4K>fB?tozJ{!ZT?+4`93r8ShhLaL>6evBaC8Sa+TSq zYng4r^>4SZU^9<{Y`WU9=DQc~3Df(qq1K!{UnIAfPcGV!cbrJ2SH*Tm6Te7FrE$`q zNdrVX&o5Q?-Nzh^jY07&XMmt*3{f-4TOiXI!Zz6zR#Yzya1A+o4{skCJudCg@E;zI*CbL-aC;vE zJuwnmV3e7$yXUM(K!k(9$4Fw;gou%dZ=Xv{N*I%v$qQi0k&w;0o)bO*G@}+e@5Sh7 zblsY6GXw;Ly?C%yCgA%Nd|9X2Cfow~&(s0vcuz`v1_mS^Zrfg^Y?R8%%A8uJuwYZd zRB+la&Pmt@d(H{khVY4E5Z?Hhl zSHGDYP8mJdSvB5@CMl@QM^+Kt18bWMD(Em*gJY71=1!s#Dva^+t(De0fL6Bz;_fv- zx_RMwFRGD$rmkki!~`nkRWLVf@CVz_mHvK*4)crpT6uA4#HydZI(f7ma&5y`$=O+o zB~>7$H2Q*3^QXEW?ZslAM#a|(zp56#)C@8ad9e)Yy^6Xh2Z0_<1ryx%hJ~FSBilk_ zi}ColILxHa!=?Xw`eVjyAeHTw$D8pufL{Ilc#Bd57l9;d@f$P20CvnjHx#L{6NW4J z)b?o-`EznRG4^P{+I~C45-OF?a{78yY+9Q1WCV}2s!g5MvP8CcB(hM5(KPNmO(@M9 z0|eU9FZmb~5eG&|b=m47Uy(iTMNt0m{}sxQHnGDNS8}Ryg4Y>tK8($f*F^h{;4S~D zrxE&)8pJpO>Nn}{6F{UjX9Y2U(&sU8>_@1!`rSURqqI$@yMvZk0*uD=BBCv?C$a)9 z73i>aoT7OZ7W?taC+#U2$u{=I!afT1IX=$mM~=r*EBti3fFp7zCjDNd!?6)u4f^k) zYnA%Qy~h~kf3yGyX^wTH%1_aDYgDkM!%u6SY5lQ%eOOlg@IQX7^LSgKCjgWfPhJss zgOqV3w8aS^g%hTHd;RBXZB(|{IQPh5SqD997Ii%C90px!loOUVi+1%P$k-;gC&{p! z60}rf(d}Qup#iBA&{QP>s%`1eD?a%aZ;X{|FOf~IUIIN7?O}E5Xd!hff!qHojYd^O zDNc7P@my%XyS*J;cl3_*8qh%mXAr;Hmsxupf@zW&-c-;3E>$yPN=k7NX=F^QT4p<` zPA+xNoSBYd2oH6R_xHC6# zJBxP`A%81h>5R^ghOTj%;VZ6cJh)R$fZ$!vqr0pp_NiJrnST=gdtCqZp1dH=>iiC33L_Dg9mt3PASa%;z#oUVX$vsY>INU% zkZOz7qVuW$H_Dgy%VE9)g za#=>YhNq7V?PaqEhd3Bdui@e0Z?ca@zzu63lOHeadPB5~qSQy#+`DaHIdbjc&M)}> zYKW_Q!=fx1lYvL48oCi@5|dY1Srtc7!dK(6QEb=2!{(E{dfGBuW-6I~=;h&}`TKS( zfH%=&{KJi>JTBdsY4_a;byO^bS=&Az9-~j`Qedlip3etqPM^2g7n+GavUq&+ZkpR3 zi*&L#h=dtc+<;|o{9husI#i1kl#Nj9dH|jY5HO|-0p80_P4C{g_Z^4v$>v-x?b8o! zu1$geT2H!pWXYS{8r=Xvj9oTJe3k@n>P6mP*}Pe2)q8V%RdYF-@6~pNz6{upaWAJT z#<%t=LM`{$nb%0x3$D0r5WD&)fJl&jedusq{P0eBE}sqyK?m5UYIyR^Nl5dgK%AV( zKtnrrvS2ie7G6q9I@m53M7NaiRZKo@)TbI%wzvsRkbY#!>~?d`gZbS3m+3^#x2s)& z*F<0xvIh(S@_A016;!RY-HzF8BbSeW9_fwx0RVC`Q|*Qcnpo$Rp>_(UKk{bFy0O%* zsiC8ybZgt^!FS*7YKd)M;)_Y=6u-D;1QN*4mu`Q3jW)OkV{3n}7ref{p8BILfMk&y zeZ{wfyN6-(c(3b)i}T7u7}*Qu#L4vaa{(=<0K>!!XKJ@5(FWJ@Z*%2Dkk`kp)>67U z9Z^~8VjcPH#;7KSEOtqo!x^a=ggN06wQd}_(8iL2MsW;7@@-7_leq(bF%=78Z*^-c z-Svnm%+Ni3ds4&B$I~_$TIG@q;1I$U@N9lLKhTg`edIu3n)Ui^Tk0)b+Ea8NY_0<=v?~35^WNVJ>}GmE1bxJ&lgDA zR`uidXr2sxu??v2SVLnLwe5%5NX?j6yaVk6imGNxcgO$NyX?*5);F#SnI)wW%uqzf z3<5i+s{S=`sSj|q`9LvfVIordXrEt{%Zh6+4u&21ozy`;vaBx0I|aNO>}pJ zCHWCseWk~L)Kmwt`1SfnX9nwlq!h-z4O!f_6R+TLg$p%n{Bn%!%v1wzK_TF`_9buv z@YW=!t4-x;N_&&d|3fqRV+I<304lL7C#0Y6t(HOJ9K7So7RInG!46&ubMgT!2^|IA z%g(l<66I+U!a4;eBHGBXA-{T+!$V4ZN}r%1PlIy8PEP|I;B2+Q86_dUuf;-PYSHqs|({s?|CiD z?d#woxy5%0aC{9_QUL??Y&9Y)DqLmokRMA~uGXN9rTyOSr!Dm;-Pg2>FO%Qo38{Vsxe_;bB>_R+}OsBV3NNi5qqn8F9FAz!dqv!P#qjk52o;y9sbSq<(1{X zR~mqoB%wkV7xrr+o$L#?oRGH`gudCHrwrEmoe1cY=Q=L)oR!~X!I>h>nYMFR{+j%f zrI0>M$AXa35Lbav(5f7eZjgWXQPBX&VMGJ0wC`+q{Zwba}xhMnNVKUwU>g>~xxybH8I%r4N0bR^>5SYg{DB?Y0 z(fhNXJam7YK+|+^PZvWB4-{LA;C|=Xhf(Ft5=-amg&Pb|AU5&XYBZGiFi~(OGT{#f zhhqC(hFFVUy;-X{2gcI&PdGxk?A9xEC*@nDqGR>8nT3iv(9?v;XZgW0$P5i*v&LFx^uNQG!zMEx`9tDXWoH z=FDh>qduBEKm*@hUb-}rKTMUI9S#iil(}Ec^`Y3G0UObY)z=qi+n=zE2Da`y9dJZB zPwuH7I0V%iGZk1-z4_0|KO*u5dCPEo@5=`!xfnI!QhMfRGLd*|5?UoU+h%r%6rc|v zZ2MMlzgg{)Sfi(^we5{sxL(-BOc4caaUp3|rGtKVqQ=&;Xu4U2f7220CF3t^PTMzV zfBxKqNv+Aj?-YOkb#?}4(|#V(69O(t9{!{keX8iVB`b{4jVKcdkA3Xz0G*zm2Fwn= z0>r6|SuHoIdZI{NHi;>(o2vBjtNqExAh9d<|1g{(+&f@`FAA=;VB&Z@(C-P$9As=; zQmLaQC;!XhEu|w#k7t7Oml?~DbxSQzW> z;2DjqTdtKK-gJX+u1M3fvy*QG0su*+S_ZUjo?@E7Cn53=ggD|s0T+(@w;l0ljcW>#%a`ci=F`FO^SqC z((o0A)p!IS$>N!2^3%U11%IIrz&wd`I+_!@v;6$wA~Smxsiv}!-N%PEZA<-*1Z%Vc zRBuVuTj9o>fU_Xavl>%hn&`FUZ_Iq@h?=eY0b+=qjSc=ZYidd{s`li~>=>|}Ko}tc zgu0zj@H5N7A1EgPgYxeHXbiLL_4=$QK$-5&tm*Z9&FXSt5M!VTw13)AsR&jTL-5ZE zrYELf-l0XW&dCv=_r>{SGvFpl!Dt>_gowL5eG3Y+$+LSY6LeNMqE~)|YWKH*j*B+7 zNp*rSryrT?#8gvvO1*nD(6$zKYB6P8ei{rSy7PFv3AV5PdhZ8^AtD~{lT-fW>+5UP zirB*YUt6bYPRz&{34+F^SI77~{f#nJWY75vJ^mzwToi;}%sq0QK5`13Mht`=*gMt7 zeg5ZQ+Mutvp!!LbD{ng!?hmYIzzZ2Ge)DovAYBZ=!8xU&iV6x)A<%S}`2gjqD4x~< zG68q2Rnsy1dV>RCmpl1%e>snd`vKS>gEXKb*08j<`iN7+ebuD7!I`ZcAWRi5@FS{8 zQFEpeNOS5F#L$MYAPw}OoB~XuA#AZ^V!c;-X=}Y;z_V?)EH=K-OYaA5J_Z$y=*iMB zt}bTygcQ~}&Lgyw0Z9geZ;Q27ndACL^s`1DeKqUI*oG-}sdB$5iBf_J$e2D0o-}MR{#b_Q?0Bf!vx` zU&4x%eGdWKK-FUNZXBg889vP7+yWsDnOGOm6(AVx11{59fT&Zho-EzA2M4l#<2TZ~ zsFydglU#r(HkQd5sp`ggFA*b%LF>TCXyNZD8rk)0HSCgkJD;5`?T6K89V)4)PoR>W zMQG3eya3QqCEj00pa_MLGWli=FIXmhNuyG?6Hc2m0?}1WDB+AJyYUFUF8k=D($dpk zGj=z99vxn$p)7YB-A(s8Nzj#J{>rS#JM^YE7IUI3DlDw{X!#tk{Mps;TNLMEb{b6d zv9hp-N2_mOvB8gE&=1QLKbcP-l2sK2lbt~tS$6lwY>+J9(3|rh3Qjoj#qqF95-b89 zom(#nT=#Pm-dkoW10o7qK^nR$Y3M;Zy4pKkYYPjE3@qn*@@$l2P{X?k5_rd73lxw4 zXt@6=RGrO0@xZp$cGij5ij+kd-CZ?(X^`3{KxV^bBx4}4m5yEiiE^zs>h!MW+eYQx zysj)_%!iUj_PO|piHW^8ulU*gbWaHszN=q-gD=1kJ;)IY8#|QeB`_lx)B>s{eu`*t zEX0Dk0`9GbNjqEpwdbz?*P4=%%-UkZIPqqLi>F0qR_BC}<3{}k!PA`aG@gYEy+Yqs zayNkR=>Y6%u*lVRWS#jt-v?DZh4gy~B@qRFq*4&=t|M`W;3%eLUyI}#vi!wcdlK^Z z%*gpn-R%w2-x@aN0?_(DVxO(~yZ3qt&X8Q|TFxD&=7s68!VJYuE_fqkZEe_UmW! z*TJ#fT1bwP>0%Yc@|Oo_WRM;=qvfwIpWdq0IEiehExFC!MQCC%0na;oJG;O4G~SvZ zXK!^E2vl<$^Rb+=f3c7&SEMjPzN9Tg!zDQse|4M&iV9~!ji}B0w00TTALPBKdZgIg zsH!36K?Ku1eH=btK5bIIM~hu#>J#B{KFI+XhCj<%AI!#~u=nw-o8?4q#dT;{-kiIg zPFLu)b~c=mesV+794I;)S?;^m-LVO9=<2G80S-&T6o+C!a{QHEjAit zBCdhg9Tl7$jP1{>nl~P`?ujOY>-HREVlG(v=Wac`X=rvSGN{;VA++E6WPitI8JtU8 zD2YP2gX%JTvpQIR^vTNA5~Smab9GHXM?SP|OJW7n(B&Ja@rWPWX|7b6V|%ok6$ZX) z@UtWj$iO1U)-i^*^8BD^aXvCrul#|Q>#4lU^G8u$o^*t6U7QFTR0>;*JTRsCFFetr z0afk*i5j4P{?l0z&Tod3eUgH#7bVCm3)*Vijr7$!Tj?ocb3KhwLLxI;loMvxzSKSIYtz7uN>28gB;07H_ko{d&=wrl3iu58fa z4i}b{%AWI@+QKSCHx$7wBU!0oT@EV)!!P{358H1lmFHBx^kUI#T?%)?RH0Nh87en; zM=6r?z`ytdMf!uuOGCS>gAxUC9)D+2HNJ%BhiCR6DOFqObJe`+bCte2)ReD4PD$v{ zme$pqA6i-n5Yhk3mdZoX zcw-4-yV%VCK7?pqGRnKUa%cpaY0)%r&TEI{902zS)qnDvMOa$_4Ak|8fD?$ZWDFo| z5eY>AfRl+SK*z}b^qI!)EW=E2fv}K$xK^QY-MPyTe(7SKfkHLV8It4DTRg@M$;6{! zO6hk9g8lD7QU6h+8iwN9GvgrltpYwZ*2I8uI2Ua>C7%4PqD@Np2$L004dn63C!3Cw zUYg(CVd!IKHh2v$HPHW-6KMqyssde^SxbtzY48Sve+4-D%xU4rW6;zwjIA3&>6<$X zXw$sVEQ(0@)GBdLur+KT)`6*4_R*0AkOP(e=XEY!prCi#WaUt3pKaUE~Jbg{1f(HN}0SRXkU z<^!(hLu(s6O6Iki5b2#4meS1kDb40~G=|14hpt2GyL{g*08PYwrTAV7`9uA-J?eO{ z=73q8UOCKM<$@D*%*SSdfGj_mGOnMnXE;|*2Z(NAGsbfRULFehTa(Rz1c^j z#@X*;HpugrPMVP56sULz&a4_(dh!1tj8l`fKrW>zR+i?c{r>*x5-OROh1P7Q zmdUgNpNutjbXfzQnOZV28pR!j5T+zLy9z$t@TgPf8}y7`lNg!2Kd8qzdSoc$QRa8f z!BAwOW3N#|=nperh;-{(_r6soXI?JgDS-E93onDEyHfJjl%MCHLtnWE1?4&QVTwxu z;mv<_l?|JBbA3`ZtZNgjuP;~$;zxNbtQv=*V~K)VoZ${Y{WVv}l}Y2P0>I!V9IbI0ICq|~Xgi#+%q?^B+gd!T#%-G@v%SvA$) zUGC^p=T3%1RZ>C(#$6No$+`{ySmeF+ePbM~vR+pvt8)b_xif z@4=^n4i~ErocXAvRM=Qp52Vkx)gJrTH@rx5zFFQN|Et23u!np&1a$ zvh;fyb%%WvrPxxHq5p|wu-OqtRHR<;?x^cieucD0*-ogcw-*+zoU-K$TB-_el)8w% zLg@Z;5}SkE$TtVq84NQ^>s%N%^ZoE5!_+!dzJGOy|G?3)tgQ9@!- zJX5hXFLXDp?Q3V;pfw zsY*JbyJOfUHxhB|IMf& zGj_;I+-^yQ5>E3cxe^>+Sm~}$hX-|@oj9y<+pmDYsUO-d*YU0_&j#Lc)2?|-kWbC$ zL;m&LKk6Aj`XxiJlISw_)K?4~*;}-q2Be0v zs_zudEUfdKi~03wPmEXo3XK0MGyLx(2h4q2VWXp?zqS}G1?Bt|d9!O9Jz0h}w<y*(->Z~JOe}zOpPP%YS?$?QOjP3OBDNd{J z@~Ync-zMjvfJDw5#HQUhss#p1vazwTdOrPFXtO4&A@Tq6{-5|Fe?;sa!Ah+87*B-kheA$Y-|sH!Z}K`FvOHSv@wzM=k=RO|F$yM-)D%pb5#vUE z=Ocz%;M6x)7ied9amPYqLqMl5xyk=<6QM0<=FW^siINjCgS#-PA>D*KxWp)I|Npz& z_DBwAEFjN6&XtnP12&Rr%#KAiN`#$lZR2^bZr4g^eKZSpHO*8r6L2l7J3XqCGI@fgzQ`CfS?C`J)hN; zbm3`voYFQKsNQ$jX|M-o6|{m8N?kir$$Qh->DjD1a8y>7*C~f-E<5wA9^AA`FdYO9 zL8FVls03V*qw}4BY4xHLYl6${p71ZD|AXoGdT<5*ZUK}}TiwLF=iWhGRl8J^?hwqY zML-S&7#DCKmQ+C>D#CVCj{Fvy)pjO$o<;E#jC?+}p8BhE&$D`utl4Xsv1rv44vbRC zdWhSn{}8$Vif7Oq7)5>FiwT9;SV=40eO=2opCuhcK`a8q11 z3@|GY%D;k;8M;mVMGmkWQCT=k#|veU9k%4KQS}qETkXwGuO>wKok-N*qDD$eDlediLdjilo-y2Hf;B6b=)-Wjcx*~% zyoU5VPx-ICpD`}K{Th{UjxFCeUR=QZNPgYn#bq*M4aesTn3%X*g+;ASoa&HR&12-x zPs~sM25wyv=@O5~(GXj4b2`om`4ULQ!!dgyE{4Mpf`pWE8@bCX@A7+gvNOX2w#lq+ zq8D*Be?7bB7w@D#p>Y9A{c@c%3R`7KXNO;519b$=y?7P!0Gjt~yCvA=a$3b?groIa zpv&{&jJueMmNV30T?AJ1ExS}AvsAtQJo1gx_ph{>`4U#xXwk`B5|t8Fbx*Mo(T^a5 z1J(bJVhPkGBe;U))W6)BEb3;opEj^rO()130d><}4KRy_0bpl+PIQ(YlI=13QGUs~ zm#h5h?czUs=e>m4^HoOU1>@O;m6g#g-FJyT`~JJ>`GBx5`s5}3HPa6cWnz`cDgJ zMnZ?FR(>n!p5gbWPz7mlJvkgAA?ABJH5e4%ri-SgqgBOc7pJJdh2LS>c=@L?Pq9c{2Qeymtx-j!HK9^}U*)p-#xm#+golrbe_ zJ3)H7L^hXA0>Qeyy<~ZHQCWYc$anTb2>Xr4^8A_8gCi$`eRdaX-AuMuo|y62n7QMR z)~o`rdU%*Mvy&D2feQN_U5en@c9)I0qk~+Xhp&eDJ}e_-!hg41Uj__!(ZSzb%3buR z$9B?EqJ=jpzGunlN1&};b=|HS-ewtaA2wgk*UaDMcNtaZH)yNlDya~xpE?DWujLsV zReWjbg;JNHzC#Ym@q!xLB){1Ggx z!5jebNcGUuz3OCH(~VzfTKKfNApIequ(zWz06t+Ww=IgW!?cMdu@GD-x#BU<+?oy#%iHLl3I~VUuXOyPnSLX|h$;e3kJe zj&X_*5Q>_cI~WgdQ_Sqqsb6N;?g~g*f{gk^lW~^bAbN*Rc*=L?pFa|L-svv1S|-y- zB)I*CeUd4-OLIwQi_0?R0gm0139>%o5n0=Kb0fCd;q1}}+m-*v)H}u39kpBAD{j!n zRvSBwjW%{;tk||~+cp~8Zmh1@wrzf^`+4^M-rqdRNe6#AN4@8Z+pu9W0m80lp&kP!RZg&RU)Hn0`oW;i4 zXYz&=NIHmVY1BG47Twn5{HHF$3Gm5)2saI<3^8Qp75Y!u zX8W_6^$e{9c}7F2`>z*2FG+;`O#qFhijNayAw2vqi6gU&Y(euCE7As{m=Sd|%M)Iw z%F>b4rD5IYpJKiin%R~DI3Fc6W0EONfBNo_s1>=h_RM~xIaHhEw31xC zsIV-oQ+wBR+v7c|tD55%Ad2(8&Pk70HTCjvR@B+6}`oW&{)`+O7ZpDOc zzx-Z)4fV`@&=Pg{4|pjF#dS3Neb5c(+@UL7)SoWW9uaYLgxwwqk* zrfZFnIy{pF3ebA`3kTtSx30X7D?t1U1D^PXfB~8efk3$PIkzC&Ty}jEyf%t)5x&F9 zmXI)Qvg_aFKRpPD=jlnpAx{h=yn~t`L&1!U9I-v522_APTuxR{gdIV9oIw^WGcs0I z_TXtI0p9oz(m)_fJ4&-XQHLY{>&a-+B9DZ%HPIN3q)^CbZ2K>^D3o-1lV9%}zxV-a zXh)G1e(0g*ND&DtDUaTju;ycil%Le_ z&6gxPXvW45W=-}ne~UAKgUK_SyYZGRg)B3KObvVna1-bo14Swp`&>MD+*tyJcL zo^VXW6-}Hu^zeRI&Yn%lpd_T+*GMJzoh%Vnt81nP$0v6@&aWxcGpjJvFXre|i&xpK zf&f2G1&y{GoJhNxQa^k4gBSVepN-xV=6ZHPFDN9KCdNiH;YL!2r(8NNM5kv#4D1y^ zp>|y8Vp|%3nwJ(Xf9K?P zn#ZkJu)1XjI&^ytC?6~MCzljO<>g>$N}CwT6u6YBOw+%-5Be3oGV=Q)Od|d7pbhLx zlZNUOi_8T>GNwU3_bktYBG_PXY!|Mr=)(vY_X~S_A*W-#E?urtiRPC-Zl3D3YCLB7*Zt|8B+%XRRSvfRp%z znn={fR*)RJ)BfaddrE-V#J>0+Td}Hx;h-H#nY>;43_b{A&ksTAgp9HfuFIL)9m={r zXB>K9$1u8CT7dkU&wUkCPuaFPv93B+U=cQiU8z3|2Ii^ORKK;Qe8J#viAW|2ruTI7 zNNT*9D0y@#>HM(T2Q-mdzi?mHqp#ELiI`ZAAeZy3R+Ihpm-Q7RYE&lh;2k2FB{iLrf{~iWJ7Y?oN$C**)FioPI4K#smIjWZV zYMTD+cCo>VCU$mDx#(vjW{as1G-V!e#E)U+F4@U-tfJmy*MTWxso9BTDaPDb2BPB{ z;eNn)q71U-C{1C5h`qg0?w%Qn%mChA8;G8)Y|^yzGEr_Yh$&SlL)~^pBm-$ngt#ycc`(!QfD_p`LfNOHBL z6g0;<*%5O(G%r0HdnO_ivx5Xq7E<_uZOIVsaNhYH`U42&Lvm60H!sS)elVMin70Nw zX9(KKyf$xWT#eBB=MSlP9RSW#&SxowC0-kgz3SW%FPM?z3RrGBU>~+kq_8eH} zV8-@Q&*cZp+ zSZZ&q!sqI}iYq1OW|9F-V)l@fim?!QX~BqovSj>t%L8g;sszmmsVzfY@cCnlrI5>#{qXbdCu8gaGj-nWQJcp8{i1VO{9Y(4!<2q%g zEQ!|aD1M+$x{dvQQmf06`t!%eO+z|pA)~&In$Ldht)tom7SxrkT}OM$+kNzWVi<-I zO_0jzo$1-yWHA(in4(r(nIokNY7cNva>?t{_>%vP{zdU4oM<+$0&}f<+vrL)zdRR< z1m(Z0Mn+gLU`U^krVz1)TkqACYt)2877`}69r2>{p9{te9HW|dDsAPd`Cu=9Ebkh9 z?B(+Q`E)BLxGsVud;;0iKv?H)paLs$LmK^oXNIwGbC%y`qgs)DR&=h}-Kn3QtFr*P zqHt=lLP>D7gY7FzCO=)DtpQhGFHRSvE~9lj#gmSVH}qMeB|JoKis>#e!tPin%CBP_%jLO18@+`ee>Y|AnM zltrHig;6i!z843M!Gq!Li2lW|rApL-_|I?87o$?~<%NvkYu>{9zYB3$8Y(!JOn-DmnJs=6bH{@WSV{pE(kpqt zN9YXO@h&QQ;1a(mDl3y859`0K-hfhGy@0=?zP_A_e!UC*88AC*WuW;Rww2oLo2X^R z$scsrxnTzimVzmTJ7#Gwl~LvJI5oqFy4En|H~FHbKwJ&t+;r{Ry@J^59(u=EXo(f9 zWsrIFG*j0b?ei8W6_2o+u#fRBJZ+)WJSKQUu74Cm2iDu`w3+SQZX&&N?)rzPB}y_R zGV#?HwjJEjvMiTELLQgR(-Fc_|C6@vWrhgtzD0{?j6zTh;4qM>f9L__j63#+wb%j) zh%p%wl*%4tB9UTCQYyJ@74t)BBrPT@-t3fF^*T-XLN1f4zRK%yg!cYyIbR9WY#{hC z)x>KkhOkd6Vg3sBrgpY8%6Yc>w}HU zF!RaV<0Kdp{=(ZWu!L-T{pv_#A*9L@yH;W(kS@;`W36!s;H%qKej2HNDtuBa3o6oc z&DTDjxt41K<-MW!{byBT`(-(AD}H_~=|YJ9xQYS%Q7Mfk?DUiNV#9g$G$x6a<}+N4 zC!#dx7Ha%juC(&gy~|SS1cpabdN}Ik3_rorn|)!?@(S~OheFb<^cR*cog9PGYvdn5 zo?DTZ>@{_P&f%##focQ!K(|=^1r~o6j-8Rz{R($ixFb$|vpP(D6QEnhRp?YAM<5aQ zd_BZOb72^_nK1@O#$ZS;$*WntNxehj0@Z{|^w~2X+4yRlvKnySKQ>|_yW_!F+o$#p z>>CSxz-<$_P^2zF-mfV@i?G)J(^6|sL~pEJa^u$QM13QWDP{G@nd|jbv1Tqi)t#7v zz0jm9a0;pYw_zwdfJQG$`Smlq*_BiLl1C0#;9EIRfKm9*zah^ms4hgofNOshG zP2un~Bbu(UGxy6JyqIyOA#+rXUe(j_nE=yW)_w^U2i}|qSMk}jX1nm@urrkU^kxeYOjPJmevUt-|9wh50^+5G(&EFr3 zv@7`oUotbx=$&>bYj5`dIxW)~mSfs!Yno__8XEgIR^V7IFZR?2pSh(up0HcN?B<_i z7o6N!5hA=c7eNVJ4b%#g4z@fP+=Zjiy5^j%zkJ!-)uca+S`fw1@=n^T@=s9nQmc;~ zR0id<(~3^RTjifdskf~lAa6ROf;75^mdJAs$o0gp?e3RM6uY^{y=`b8FrHEW=gm=5 zDFP6i3`7I}QDcN!v#HV^HsqJCjHfmJJsDeZ%%VcYx#E=4$Dhv|AxYofB4cY~cvDEv zv5&#MvOH_2B@mygX}4+8e(SEoQ3bpEeAJbiiqd|RwtS)eVAQf1zb28mdgbZp*jtOw(r_~xd2Wpk`{(~j;oe;i>^ zE06kjkn@_Xz=5tPt9eYICT@npX9MT)Sx7|d&?CAxULwHJ5U)_k39NIlx*~?J&>Os* ze%!D8VMg)tn8*=vilBn%vIP+qZ*dC0ijg7=*R>k&fLoZfbO>uEhtRj?z05GK3zvzD z&&D=-s(rnJ`-XbLC_dY^yQKsg~Eru#ROtK;~Tl*mRH9riJL@WB&*eR{UhVj(^TWwj~*$GS_KBo^NK z4v7Xf)cBIB!FVJVSmO@7(v`pK{F3t+W12j<9B01DwFWEtCz0zIFy?sJ z@4=PRmpk74o5fyHinioGyY5KO`nv7cpV0qV{EDc6nzb}g!2-+%E}(hl={88a(>>|+ z7x3kiW2m4NY3yffsZ0MK6}a|14M=39aOpW`%+t2FnUZ)t;ly&3D;y3|b7M}M2ny$^ zTc9uPSWe|d%cU6^XX|BR<@S_ZSjML0@|YJkY(@~E{bT>gsYbpHm6d}jxB4bg;;$a4 z0!WKaf{e1slgS$AzHhDj9OI@*&V-z)kDR!2DFRA8zEM(+OUVx{M6Sbn^YHu$#fjWI z2ybu5+=)J)8=ZDxOlGi-!M5O0rbwA*A$c+PGo~xVso%oMFyILOc!edkGg=4_ zovtWiNM+dtT`wJIrM6<=`c`A;A`SULl_T5;*zp7iPHq7 zI$f-589OR+pyGUk{Lfm^g8puB5`%oHb@l#oF$1=^ivHvET;j*0S-TKNReJY*X&Gn% zA#t*4RdF2$f zUe2_lAC1U|AVY=08}QeDWp#GZ=BkAX^_BI?jH1;j;4{Opi}~ zz>A-yuj-}d$+X7nHc^ZxONL2EnOIU!e_0#p0dF!!#P7*@w;6)i@-X5_2QHx?{3OOt z@MkHX5v=EYw`iyDP|rjD?{6UpjgX}ivEx&N@Ci4m*1hZ-Vv`Wx%W3_;W)eGvaZ`fn z*fW@o6&3Ia^2G6TK_5;UH8b9$d9XoZm8r7KOM3KpX@9_(KWx{pIX)ecUc}p-?KFgi zOKaTb#F|9b>eu_&D%RhmIm)95pW$tlU2fXyw62_Z$K{3Hk64Y(KetRQ+q4@*Jb#e> zHnI9wil9Ia8a;0)WQ)>hi7u|*OdKpjT4}}HX|X+fm^O&iTX(BfMDh*y&eG^5Y?l#ew)9 zRu!~hJO6k8boLceZD1Fh7l+NmE-nxS(9GcjN)MUu^7fiF8BhHo0B!;@1=GvGja|yb z3;{86^3c1Ap}jgI?en|$&v5v!Bs6gfGar&?cyoNjWb+iKG* z8xnS^k*41_4gOcaLn}$(Ty#KzZ?I!2aKHQK5cJ;NpVfrn9fWuTT-$ctUQc(QRZsJE z4#{hLn|aQ2XZ5vYEH=9W=3rv|O|g_{DGjif2_7Xn-NF6q@r-Nm2iu(Jm`dg0 zv|>yVACJ=HFInTe$=Rf3dN#A=&@bl&btLs;{T9+(9mA`C`h~e_(X;1j&O|JYdg9fT zk6i7Qqr|-OCqId;%aTC2*Eg~jIbY2bOvsx{) zKEED3A?Xk$ezi;FdWY-5f-i)uv08li=8F73+pR}BVZg>kDpwYlLor!u|N08}9IhIV zK7Wwb;#~oYgd+$>j#urjTpH!QFU1HRqap@78k<%hDN!LHC@v?^d82wq=A7_4r-}pr72{XOI(5aY$WaSU>yNiR z+9h@fy1kAgrv>MU-AZfq`P56Uv@S@o72$hgt3^7er`PYaSLq@mQ8+!uiRdyr^XC1X z;cxE4a;J&4Hbug<#QXiyZddDI!t|jOw6Iiug-p#Ub(KbfgXiDI zV&Whiz+g{;2$}dZ`xGr_vmPSoh5voW<|KXknnv2xxCsX{gp{vK{!3f^A1?$9r*J$j zEty_(*`OawwQ1Rc{fD2Vghv7cymX(hVtk}4-HgzCu5G+;@bSP{+_TytB1iaY$7P%D zH&a~V6_;hRk|`DtFDWHy&jvUnA_4w~C5G1T%L`qiVgz==Wr)L!ewfb2Jb$sfE@A$u z;0o@3wN_%e->-Xc7)ANQ6R#>Dgc|ouLP)Rky||)k;z-Md)*3Pz7p8`7lMM7;2OEA$ zzl=$EC2>=d)8tuoS8~ryeF=B>QC1dKXB2NKl*+nL<9$m~8bpFf3kbS*a;ZXLn_3Zoj$S(pOI^xuWsS!f#aU{HF1^4h`AE)&=Ke zN)!N$KsTc!#+}W0fWgla{-g86}oJoR$;Aob>gjmxbW=%(tQE_xe>H0WmK=^Oq&8 zxI)b(S1by@sk-FDRLdqT0m-&CKw?A?t0X7n-b7%{u5HsF5$`u#uT`kv|EwMpHb`S? z=IGQh+Ssi;8Wp6s>}K69IKhWb-&DuR&+hhQcf&p%k?ZG_IN z|GzA^#4D%IyQdqK#cSu&egorD1} zI2Dk(TZK+@906n5)#I4do5L92CK_IWe-(*(+=Y2VfTe1wWd_vV9-}cwH)E+hwO5jf zn|Jt9queR)LHFJds)3crQ6+ma9j@W`#GC zk)tEiUUe*7J~&=*H+Qm!xK02uTcyS0hG1=MC&Tzl3h`{2|Y0|0}iK6Odt2PF0EMH{$ceaQ;m*zpd0+%UH zueh!S4BDG)L~n36N8!fTFOBhrUu@`GqVS1_dcY%r;!i-QaevMblLos+yky*`U$FT` z+9Zt)m>%}hYJH`^ho3F^EyZa+ErQKdU*tP4l}K+w%|w{;DiT>zEUXfPHv$xVD-pTY z(tCTrFT6r}<+WtrN_YvU2j+CwFD95aQ%UC9Ia1~O^yt13h6;dYHQC@aO@}}vtz3)|lkwBr&!TALQFdIYaXD5ber^DqNKmmr|Y=Sdq5dOO!~o# z9^x#GR{pb1lszf|;VzC$Nj{)hef&_bxRxI=nGk9dLg~rquh>;gb+f&iB+>}~S)p$+C6j{swrd*%se5BXRx?OZWB$Fws9Y+>~$08v< zk$b=2V)F8EyC1UgXXm-2egIv;Nr7@!0>Gi_Sx*G}QwqaibUov&VLP?P+iL7| zgvM_KPj;=zkRHvgFm;v`v$I>Y9gW+&)>A4stEEOribd-1QRF6%u$HtcS;Q-xljVsj z7p?>;qzz+yxHv+exzxP2Y`fp^j|7#xiZXGBY#Q&<^Sx2A+#7A%OndvfXuK^FhJK`9}H1SAE8#~Bpg)r~O}5WjB1 z)hX|1I{ZZyG~d01&{**51`MTMiR>Hst}uEXNwK=$nsPtwCX`yOH2rfcLF=Btohklu zF}9x4L3%^*sW5j_g(1K~X??rI=qxJ-{^8TzIGf_rn7TpIzZrEA8!u3FZ*CHF`o{R# z+xo9L-igt~-B}0|l{111n1v;moz@GARhJEf#gUNq1F+)qw2p9=u-2-~429n~T)pb518ZF~L6e#VvnWKN zuV^cWp1gknJn#Kl-!&F}EWI4?Wi??iGV2fSrTYlrCCi0k$_4pM<_4QCPfzS@$Y)n$ zDt}Qi7uMZj*MrsiRcYC1$ZHqH9^K~_7d%mKX+t{3 znb^h8Cfy4!MK(>L1G4kd$((OA`9G4PVv=sAlO&{%8U8wEUd8i#B-rPwpwq>FAnzi3 zuFW$*_JJqObNoRhldd(b!doYZuU8W*O(q??gUTNqBUZT?4w>d3Eb-)~_! zN&!RYp~!v4o!fnMPHFI?Yg!LSYi3W{-F$$GyUgCk-Eg4X(Yc-Uuv#j+$cU|6xJxWT z8wmxSxLrkQ3f}6zfSj!yy;w}S!bUno=3I8o?dVDX`!!=;<;Lza?^Oh@GC&2&cmi{O z5g7(InMUBU2kKv=z%>8MDJeWp4f64%5ONZ^!DbXLOEByg0;&KwU-?r%@aH!<(=XIZ zQLD`{PmIV-_+IW?9Nh90jFazSNw$0VJ2)gg+OzMF^OE^WWYH-Y@?Wvulbh5RE;HdN zubLV>+o#(aO0@BLSqUzz_S~aoZV$hJ^+ev%E2AC^xj?q3Ghl~7R*|Xtw42-`q;%R1 z#xl0<;jh`gISTi{G~--Q2NssQHLMn68Lu{DSuB?gjvvOCehW~WYgAgh2)P)j&ROZE z@9dRIc-t#zl9T4;^(uNb)&7RZ;;4f+$*wpc@W3tw4_NSBrE_D-_K6v|g|NL+G>=;v zLNcN&`3u$ji+H5IUz}(zeCLLVQH-Hs0ZYoZU~dWcvlWCCX!ZVhDQcbYhM!)$&fnQo z{>PjYw&I7k*d!!u^CQ$kqKS38^O2wx&hFogZeb0pak-D!KV2db6tmTg7hIa`DP_2a z`PP!>6;?)&r%_d!PoMidu#zTt(N_b}v)T6G@J2lRLp~=YtB%n?7F9^F$8?Z&>Bk^U z4n&b*gPYm`!swWfPAA$@6&b&W68q4Rm-W);Ka>4M>#o%dvp;7)kDwA=o)7jSYgmCn z=Bb^8Q>^M@Glr1`M{!6+XQF=fMgGXz08KZXM+ijfF-@Y;3>TjLW(7dkNf8C zsgvq%hA{4$S46o%CY&G6Qb^2~{RFyL-9DFool4@Tamu#P;IuODw}4bIN}V5xzs?`S z^*?82AQz-ehOxBo?rk1>8y5qehm`6Wj;;kEvtGQSnRc!KA6U-73J~~Aq}Uu=kh|p8 z5J~5dX^~Ml5qdJ5DVc9ZMcWh@N2W^u=k%<|qoE{2j8PV&DYh;A;Yi=jtjxA=6Zv?t z<8a(&G#MA*v6ujq?B&}o`32!i$10Rz6jAiY?ZpD(_+i_F7TUJflFR0(&f10}yR)Bp zTfb!Mlc&Ljjh0cFJoWli&5JBuX`v(C?_Pd znnt#EWdRRBQGHa9mP;o2M2emguDM#lv;hI3q}7t967+KCbmnPE71>7-`f3Uri6#lK zO|qoa1R47MJ*>SY@Z{M_PEvmKuX=;`&sEq8cg5y-ihKdyOc(sx@vAXqqwSOO^bh&U z<3r=8q)3(~N}vL5BzKvoA1Mxoq7M^u7c&x8_Xi*at`~_9nNo%gVV}cmW>iMCO&P2> zE}wM>OD4pKqQO+I0d#v`4SEiX$HZw}mH^9LH{XY7$h}fb|hc zXQ|=uW8gXDLpUN!PY>pMJ%Tqegr^<0JY%`l zS`#L^T6!dYXWGM*wb>I96tI3_{vzekc>jsF{N*fjuifp8cx)__=|qjDW#XpbNvORc z7nOLQa(22c7a|y$`6bj#Pje&T2QKp~)^dG@f%%f!J(9p@Wyg6#Iu4?jbtQE$&tT#oTB!|Wt`=bE?srM5}-ugK&4=hROsigLB!(?`es*PmZsP9d~+B10s6YjhL=6No{VP zD6rLDyFerY3;vhaVO|Kd_yri{m*4K~1^s6V%lkVJQ8xlt|8(!)s06AfNjxa!KT~5l z2FOQ`=$v0aq4|$Kac*Kkb#YTBhhKp4jFZgsY@ti-7FG$N|8ouxGY+T8J&1^2FHIto zcphshYN#1z;w*Jeh4_Ab=XXY5!^Z8+vq>6p{lIB98)cIMTMS_tXLy_~@#Nto&5ok8ufX`P)=*L=uXGOW8)h-;xi`K%)91?-?4U5 z){vJrmJUKX7fU;vO4Wg|bsf8{Y{<8@IR;nT1FH zM+3<%eoO7J%^H#--?k!8(4@viRFWF2>vxszJi7=X#R11XhYNE%1BoW6;&L zZL~LD!U{1bw@~o;_f|_e-UA*6VpnKJvp{z1Z@v#_jfw`xnPnCO7t&IFv>e+fn!!%T$zxXMjes#J$4T> zuj#RE;Q0Hk)BT1W9JjAetnP8^Qn}e`{OPWElRSkxiy&`Oj2V|Ngci}|&5GaK_iXy$ z_Z%)nd+jHI4T^Rf?$%#a$*8E?;I@ZPkC#w`=_yWEXdo8D|D+Wk#_)Y`J@uw~J`V&q>SN#z-ekJh9Lu8;HXV$Oc$ zVFx;L{+EdY9lvnnJ=W7hDCo;=bhNYTJz-hi&~=LinrGt^(0R&}y0soeC7Xb*XXq|<3iG|4((61N%3fzsv=*9nK-J6d7?mEb1ND6JzLMk~Q5 zWSwX$gOLz!fQ%_70Yp6WwE?lKgj(`)@YghMv-W1yNSAOhEWD!HZS7D(Sr+g#SFgga zl&7ZFdPAJ?JlU5+>hlp_IqYQu&3;TUZxy_Uh#;dAkCToaF%`VLxw%Xor<>nnbGbX+ zx#HD3YwX7x4z-qjrARdrQK0sf_m!iQ7q$O=wKF7zM*Z8s8LPf&F(rb@EiOmW9!;i+z|oW2B_q(2BHfXzFL=YPPi}tJeC0}Q_{r$ zzEeD)=P%2W!S9rx&`orZ%p^UzAf&tgtf5Ke&kTfJ*KtEBam6#grroS|9K6zWO*#&rab;WI&ze1kgna*jT@zTGz7QnQo zZUrLO4=JuB|19{>a-~3n0TA`bT{Od727J()8BhfrR``32(Vo$anj-VtG^IoV(Pl(D zavJNDn?P&ajfGlIl+|Bl*`=IC;aCx&?r~>KF2~Qz(`pBD3F@oMTlvkl$?)t2;b?XY zLhm=2j>m>h%8y91`_DQzdX;+9UZhJaEM?A?U2=~)lrZ>dwv8s*=npBJisL1B2TRMt zh04P3ux}poi@wyzDCIX@j{5LcbdjUgUhPMC>RQlO=nD^9e5q+2dk*M~&3?gALA-Tk8`PbCwryeJbJ5A6UMS34VB?XfP{o4J#f?kanLZ_fU`C)In zguSRDlGs0rfI2J(U=J3u#UXTaz{Vkn`qViQKO_O~Ug^rT#vr7gSqy-tjw-QI20~ArqPAzCjpfRGi3+y zs^8p+MR+#^)sk{?`Y3aR3?2%C@e;}oMy9M-6x{GIwQ*vFl#17^H9_AQQc3pW^$2M# z-=w&RKRZtT2$>}EIQ`~fZfA*{jBfD66wm$bM9r*Ad5y6uA8DdDrW*O`{K>{HhtsmA+lR^{3B z6vT^3eYi49tr1^e6JIXH)74f7w^j$mGHWIJ`X;O8rjmK9W%+9DPSdUFsre64SRQfi zxp1qj#>ZM%Vwu17&1Yusye^_3&d}$_ z_+1C$xEBYReTVoHIFB}EGc&$1;(Lech6;L#fW@FQ6oYPhNNy1V)7oMyV*O%9hht4@ zcnlg+k>z5~d<;SZ11EY^iH(urPI0`?R$|CE+HXYAVZ-TIyqk$P$P@ z)jeh{gW#paiWM3=EW6{3ukoJhMX7Tdp_;;Uq^O14$b06W$G&#CkGHaq*#@_)tNXm2 z=)l7l$O_z&sf#w1wgs<)`}x$ZgZKJfKRK*9EiAp&->v&?e*dr5v#E&d*KuPJ*A0#Q z5SLhkf1qz#)ue89hOY&tn~hVL++mLJ%fC8U$60J!y%SlE3=wWM02HwpG^v1gc-!7! z%emI^YHR&&-uE-icKwsd%dNg6@I<7j;)T}uLp{#KAL!+PgO#q=EaU*gW%-MMe}Ux= zbAyRW7nHB2+zhbR0Cb+Yf+^?s*{TBF4JZ` zlT0O32R$1);%%3`)D*pMcsh`EKF*H`XNs5qqHdia5b3L;v-mN=o`U+%N z)WoCe_1CO^ue^SW>3e(=;`d zgr>C5KwIX@K*4Tt+=kpf>5vRVLn2+Toi1*#)%)%Zh}n`5zAsKY5&>C^I%Cj37nt!Y zzq-r`u4zxi@2-d$MM-HZE0Vzr1_AC;Rcu(w}k(4SP(P1RQE`r z&viW|Moj2y6(B6Y`T0LK0!Oj0w5`PP5dWf&o{8JA%T~>6(3|(WA%*XBHqtG>)3yaSTbF*ZZ5iHtvT;bx&ZChRF$HNg~uNY0Ss+P zb4|xpx`10Zi{y^`@dG2Nm-qu8skgTK)zNQ+VQu7LX$>7JUc>V9rxS=_G=rA020q51 zw25wDlj?K4?jaN#~{vGaq{OqrR~A=m?wY-qG7 z7UWS8+jHP5%;lG8BCEHZ;8 z`2x|A5ddJ1isSXvWVXac=NSZrJW1EpjL6X98~g?Lr_j#Ll7)xPk8W?$uZn8!`=n!? zgsOFudCDSjRnhjpoiKpI((3>D;67>>v{i2}hI2$Cn|$C)7E%mIiz^KvBpLUt9*M281+)cE4DCapTE&hN(+6bWKV{SJ6rf|%F$*3XnbUX@wre+T0#*2 zNnIt1-C;aNsw}s^Xfpg&tk>IIvv9k!a6!@o;j^mNR1(W~JB13VBlJqyuG{bsIh@aD&pGdj z?AEK|0-L0}>z+3)S8VsLeYTs(HSOhtJ|H@6JqgKGj&lpz>|?sx zJL%nhh>$tp1r~IfkDTgtzE*-vIC91}pz8__>!Gk5AyITE^$K zk2p|AOG^eU;WB`Waz7H>*T)E8w_0LIzX)VncU*~bg(J7IxDns{tDXq?{`~{*0dcc^ z_Ife^d0NiRVv2*IJ@U&wuK6VA@&!`%H&G<84axe1=ETbv#qNU<%A+5He-b+qy>1k2 zR}#zlSUosQHHgm3ux=|o^vD5^gga)RrTGrgHCW6~`1(}pZ+&N6D(}8V9P@M3UB4Mx zs8i}E7A5?O=3v){yt zjd`%;$2f1LDQhD{2^bTriuE+9*Bf_iG!<27Pa>xP+GEMp)3?p+4t1ZdfutL;{qp$i z6(+ernR=6nTss3%MHYU@Pf{ZC&~WPO9AP$B7gDcn<=PvK zGOzMk9ED6W9W{}74uh`a%aF6%;csjEhlIRd3ouY{um5LFMj?sChVcCXSpT_!t@i$M zgKwS7sN;zGwl@#_A0~hQPRtAkL$@aLL(ZV?RS38jm$laLNWpzKPVA7U1LMH~DcAe9 zk9Zo0bnE?8t~2s5m*w-4aj4hI%KU0Ta1Sex`?hqqFm}B|y5led+E>?P!AFW^5C1`J z9BOyF`p?63b;Xih$+tJF2-Ac2%i_GAky5o^!HB>uaA{NLeH$B6*k;$80JMoC709^# z@&pG$k=vP*b72AuNmAXG{&IV*9XdoT$r2UVd~px<;}K*V{Z~M0-p7BjsczcfbyMx5 zH5^6y650(yt$(}U$nhSu8-()v*H_wge^)&N!wcm#mh(;~$adl7%hLY_o>g_;erR|f z`WCIHzTG1lpZW|*^~!CBAct;%E7Ol`t~|C+=1sCfnB{xFq7t`s_+J&pakHvMruBiQ z9^MX?1mz4hengT6gBV(?Fffl?XiE>M_G$|F`<4|i%fdby%t-=JQ}o9YNh_5Sf(ff| zQA33?zK!VZ;q2C+QzF@N+%O;h?U(yh;w4UdK%YeEwTEPVHRMcB3>PSHE#vC!0;O~1 zhz5>&JVy0(gLkzEp;;gwPLqkuZ`by)jcaYr2L^%pq~+7OQ3A-a2h(`ex+jNXIh1DO z*YsOYSoABp`IuKl*&V~x!S}R$5m60RKTBS|czF4Qz4VVROj#jR#?jy~MN4lQ{tW9X zvxcvUT6WeMXyh;`Pj^Ua{%Pg)fi?TqKx2M$t%>)rO@#}+DMf^=V5`CcV9d7N8N+pY z1-xz}X#d|y>l>sSsyJV&O1K(UB&M}%Xd4Tt<~_pXUHV5pB^mpwSxFXBL=7dTR7A*S z-DdkmTSV7$WAz9f)AHjNQ1Y?ACK@0UOicKez{M3EgEK;s&vC zv^)xjVJ&~ANr?P+9=BJ#&*H008gd}@5& z$ zy>dsf2avB{#6+6-*Fr-9G+H%l+I=67gJ3eFqQrXe)_lTsqfI{K0ri2p@ztrH(!HBh zkkaZh!#@y-r%p>*nep9VL&_9x(fw_<2l>lem*{mMP)Wx_e0=x52#@DdI8M1R_Rv2Z zldT35=40S2HR<_{PR@2yR+}LSs+l_78Nn_i#8rwD- z+dR9^`@HY}oH5SGhkVF~-1pvV%{AAY*Zf_!x!Hl2xMaf+KPVGeOG`DtEVo5kP#34e zM;$FBDv}HhMqbf$<|OC+Bsg338IFHWoGU6!|LPnW%>?FCh;S6sC%|FH_Vl|rI>)Za z@v}6ZPHRmxYeX04!r7JKAz!twOd>7x2o(kYmGC!S0Rp0x#7e^-&lcLh!;G4K^|P(& z*S1D2%cGZv2%4=nR%l*r}a7K4DJ}L4kbhMm@0QmW0hNBYNCvL$6B#2~wTVEWcIaY@RfSdjBkY&67S* zH}rBtr~}S;Gq9j$rV45VcOn=x~3Jqq~Lq_!?-L*ubxc+@G90)fS)I8Rp5yrx4@%L&_gfv$=fgJBBSkYMV}wvf6U4dDT8&ebh60+iDU1=x=T-Dnj+^=tGG zh^!;fuuc&+J!lfX4hJXu4fxt?9gGoYHA=L z-+G9jfq{UcS(l@rr(H_KQY?b#D5Hv_fQ6TEbbh0rAfwxZRPlO~aNfBx?q@RC?Pf<7 z)7up@)@oPTW1VULgGwE#s)`i;G!NbUm8;>fJ0rzArYzxA4+=V)j?B~>h2Pd(cQFP1 zk6OL8JBJTZ?$|GhoL$o(1_vE1UU!~8R6gSdt?Ty08O@=4H7KcU6J#X{{!>>mGbWBr z-z~Bp|DKhwgA8k`l7j9|HETzFr$W+dG^mt~1kprob*3y}2{_gAHI3*?E9?XUY~3DB znAG>5FN6S(H)b-qQKvji_FAZqozSQK8? zl6i>lj>2}?tMN_#WJWT~gV-YAcB$sh8BjQ`x{7x=ZTZ~|+I7-&EzeS}*{w}UtMUwV z&ZxDzPZ_&!a9)K7>|SMnYgdQBhwsA|5(P>q+N_V)KSwk=Phqc!v!2Mn1j~P9sYQHX zzm)pq^-i_=Q8xh}B+<^`pC;I3^NqTpbV-|;!z@Lr@(5c_OM1c6Vht)7?qWo{%Y$t$ zA`L$Z^?alvHW{7zuS7nh;VhAa*HK>vvcLClT7lFSau19~00wfRy-&@Av<5*kCH-q0 zojNFJ9t;M`&OlqDwx~gouVI?zmiKTkF5CV7H04=l!1C^e+ldjf?%IX1(!j{@&UM_g zyo!%gz(R!1E!(OAUYaXU{r+r7N`u0wZHm5_92G z6grO67$Z*m&M?MG`oJjKKm-n60oNZ-^snHUT`&j9s!eiQ9Wt34+rv|*%XLRUs=Do^ zd$DP(rtf#}$n*5P6XYtQ6% zrDU$N9OJC5m;QD})Bsz^AwOf3>x43FhKs>cczh&ndaO{=bhj0;KIJ9kA;(NjVS*St zLk^zm(K5w7smQ}6ZpU-$_2tvl0h1OQ{D~zWnX7)n4`qrcmzt?7;yWSagrmBt%Fm_! z1hr><0e2RVowgzd<#ESdOQJIMWdSmuXZ?CZ`IyhC22HP(U~wUq+_Kc>(;a??XaJ-& zISkLkX6nT$>e)&_OhR+mSV|-Or#i{MSW8W^HLRyBrG%$*{F7VlBqD1Fs5K7w47mEa zMDLe}9GZhQ0jdTrAE*6bHdmv|Lv{z2#qmF5fOZmoJeFM(Bu^a)bWN z+^lVY>Iq_scj6_F(LMZ4Sk;lyjg@aspKr+mJcb*v4`?9`h2*_ZeGlvs=D0+2^HD

wZiB2}kdHbhQ|F>Gti-*z;{=?^s#{~#CX%E`Ouy79o z87j}Vdk#CK?p>$%TR4D6kaRT}PZgfz`{0%>7OE?%y0OzCw|pkN;OT$B@uA{3Q0@_2 z0!QZlfvT~MO)LecH+*T!z3m643%}~kSe-Eunnk#8%LErE{q~fkafsEfgDL65M5dMO z$3*V6a{a)BYTsibm>_Tgz9Pt6p8PaK;*n+GcLWjzJMt6i+y&d$4tw*Dm<(7DG`ys1 z*7;u~dei&UB&o#^7HE@ObrEz~Ns!v~v=W@#j|#_f2`GiSdLB#s6kAl5hOtGu0_(LS z5sxf2uYlx&AwPVl-;+OvbiZlQkjvt0#K*z3cfmg)Lm8{eF~a-l+(M=^AuVrT27`As zFYQICO{csanawsL zdUn4cB;9y*EHS)q`}fe6K@W zD+U581hKs><78z8zFY3091SOMqumNb=}(y{+UxMBl|srQ?P40G^OxH~(v_=GZdDoW zVzSonSKgLEeiTZ)k0F^Y>#Q6qY(&zV5Vtv@5x!r32{=}BxGLY2&kC#5H+dvgWT0D2 znvS{lVs)IS#cj|hHA&t9g>XiYO$N2RyZ+)MJ67ozy{YwjzH17NPZGf3PCnUv4EHJ{ zyYEW8FpDPoy+O_m)60YuLv};S&uZ*_ z)5uq>0cZHX!2cOc^&D<0^t40N{x_A!MLOCA@*4om8TI;szw4hnC|+3ERU{Ou)7^IL zzL|%m?eaZ|Gs}JA8}ohpj>aZxBHzsetj}@7>$=}q=i?J4RkZ+<)h`+sm5d%Btfmf`?DmAIFqott6OpOC?p5b-y;N1ER3ffl};Agwg zFHtqY7-~_$wov-C@$Ag&gWO$PFP#mQS4xMTKD?c)RWHM`0Kb7Y1%@lU>ho8*?d8YL zzcWTuH_q>}kKEh4Q9R0&`SiOtzId%)N8{cG7(cO&lH&Q%&uKHM&1L1Q!1gC;Ud1zh zyB4Ep<)HYHZ^auwC?!??L?MaAnS=}`42Xou#XB$)Odch_U1Ecf@47xQ&7>KmK=Gzy ztL`MLGaRv{I(>G&U=^bP8VN2po z(-{(w{2n2zISrMhXuw`X!vOjHv((pmZNl|RGaBvO7HIILfw_bc)47!gGrr7@vw2HV zCUj6|hKO!<2M=Uq{PPoa0#E8hA z1Q{iU=&coWN9th~3bVZl!g~T< zZ)7D-_q^OtOfnmNo<(cA^!}@>RWJX25aa`s>Y0GnD30d!9|r`69KMQi-`o2Y>f1J9 zWCaGOTB@lZwr#D(bl}qitktC9uF<`h8v{ntKsp9S6&*K&xxC^ z+|+}!mSa<3OSt^zo#ae);VCL(tve-jx7AoMKIpPmw)r5+LAn?8#@b9UKKRJ}Qoam6 zM&%QX?#^R4ZI5{RaQw{AU_aq~2qgZy*a2c8pYc=xLJu~LKE4?o2>Jb(U$kE$Z)-$U z^cE;`w|QS#l{(Y?>W<0w??5o_D*|IUWt@GC!;aCi2!|f<&0s<=Rb|ATHsoDHbPo>1 zKg&`qNCVAS$gXl91peB+gA1L>u6Nsj@{!qu`C*@23S_PI&`=s6+WU@Kr(Nt^*fp9e zOsRN$7>~#Nu3FBsxMeb^7&U0W9!Y3_0JVF3M)6mUc++SwHRoP6}hi2Ju70p#>s4O&f=NJZD3%t*IMcEWyak2 z`j?u94}37H!6ZrPXUcauI#)W%wDDnFU^JQ*|81#`K}EQ;w?p_I|wg%8&bCj-oJe zf#V&fIn^jaoLpV?4ZWiLSa%+>UT>Q|{bo;I(MI+;r?%a=;j~V;4UgSEX$L!~eH26w z$6wi}`ff~Tkk~nRV7$+uZb14dFY?5Ny@_S=v@y42o(L17DGeKI%%VN+JKb130f-A< zS_0el@)?1PnK+_}2-Kk!X*QXN?F^yzn7a)&7!prmIN9uF4T(>M_3R0fGv_u8hDt`J zT4qb#p*5PM!j)Pc7ztJD)wLUJc~lYl}mN-KRsUJij0CDa*=vn zj5#uDexjN1<03xAddxu=?_Cfq^)6vt!w-kl&#MJXLN@)(dt7s zHmaf9rk^kjW#HiM&+Hj(h!K|a*I2`Qm*F2o;AZ>@Qa#|$bowCtoeLORRTllV{ofAX z7FswzFby}|Bk#ZjHHHVBq@RTa6Tx*-W_U($_hNZ`V7@Z&@VQg4jxyrsm~2gMm$#=@ zy^>0oTIXx01p%TZ;--{p3g@$WahFI{XXV5p1@3iAC0iAFY9hkn=&Z9w2viN!lHQj2 zX-<)+YTK`rA)p&1n%Y@K>%B05x@`5ub_UV-xD)q#lC?xqPC^f}v0Wg3f8UqVlEqxO zSb85SFGl}sRt5ro2}cBV+a)%y9LDaxS%x9^+a>WNY+c4shr^|{=;ehZy1XLAQpfvQ zEgxEkpW4_ybPG!tgSxoHsP2YWl0FneAk{8*flf66psY}Jhv1owDa*vWL`}wC2*`C= zFQ*+GZ{ZJe3Gz}d*=@eQzu};o3lms=3ioKQIbKQ89nY5inGUtOFUoM~vXX^DBwLg! zTu$#BOrYexS#6-EirC3lTu*b#M&_W!_+h#C&UP$#8>Y545Si=bxET>SY2U3^jt<(< zM`}bC0W?YmD8tI;R1fP>XxiAzx0!(s`L-v!aB=hTV=p z?4upz4@hKLE4jf{{eJk)?r>r zrQluW(G%|Ozb*F)G*IqKk8~n)%vE~7i`Y)j7wZfetKAA#n~ijtuUCC;7e<0lYy@v; zS%Kl~jq^J`8tdXL@lb?Nen{C8O!Y>*bjCGSBv=%~cCU|(*rUdvKh`BJ3_>H^jln4z z515q?w!U74I_B)%^wfFrXMZk0P|nZOj*QZ8$yff-d6f@u;+*2gN55ndz9;tveOrW^ znc*3X)&&BhOJwP+eZCrEf*!qN$Y9`Fc!x3J7XeD06bPdF4EZ7+z0YF|PY9BiCB+%UqobgX`?ARX1UGGmS}!#f1O< z`&(W|V74vNl6!kr)l@viQd(_LGQp%~SGVGRtJw`8Ajxh>?Wv#-w@{v0YG5(7fkLQT zV95W5w*~=T%h05TrQWVbac8}dh`Ct)1;)C;#(!&%*I>$M@4Z9gun3|ube@r3o_}gS zdafMfrGZt*maFueUaMmno957xzO<&qzO zp6ekpqi7xw8bVDHGXl6n-u5OqlZUskNy0t^hWj;r9IO$nufzDKu{b#3RHs^gh_$8y znEyLU8&N=|5)N-nnj*CWwONHAs&maX=p(J&-ER)ap6zn+<|PGB%#3>dQ>TFTNc5X2 ze@cl0y!)#0>FPq_Zio~%Z2t-XEk}`b4Hqjj2(2ezP5gS*GbZJg>1AnVMZ4WB^@Whl z;8*r7QNM{51hnk=Tm%YFQ8`~FWu zmrX{G4@CXEN2I`A~ zU|j2^H@14iBJ%i5K87Xkqxx5Z2b~L6MSHAM=C&(89is56v7Q2VoK1~}YM?FM#psBVw6r*`OJ>V0 zh}UkP2swdYDg-Gr%Lb{==y8|1O4&?Q;W`A<8FkS)_Qvg!a1bVReV-*U?SxuUb6di*lp+2(UB(DuHvR=( zT`I?{67H|0mFSX;MxLBPYe+7oUpo=`@(?LT`jZy0V9?P(C|Oioh30H3o2M8VQH66r`M1gZ<~ znxyqx^7EqEnME^46-|S)ydNY;#kTclb7nC*h@S;S)O_CvQz|Y{8r4#hOhQTB*s)^; zyAa8OxDv{nIhp6J4N)4hOe`FJI=-6v%Hj!M)^YBgxI2>b9e-kAyBE5XrxO&>*WQpX z%e^Rx*%oE1cNG>%T@qmLlxipt)1hgyw&F%NeyS<(^IAx@h+7ER3oQz$rGK!w8?EtiyxzNT!Eeg+uLed}BO1hxlGwg-*pQa$`=uddQZ;GY zPZ!3PiZ1`GjQ4LWP1qpMszqC;R`}3Xf2K5q8cMr8ZMmYI8@ zv#2u=x=ib`3DKp7O?yLrj$a$>DMNwvyR+CW#a6n}DalGj)Yd$#u%237A3t=6QC$r> z4x!7CvbBYfhO=myFwb_vl}MBGUSReMyOrG28Y)g`qLraM)zPDYtMJL!DVH0Yh3MDy zaq6$MQk0t?6K;{o&sG(#ADWvlWKcx3A!s;~Noe8TT=XOsc?vsYJP2=(&_OniDB0x^ zewI4=dM%cE*yq@ZkhvO&gj*xK<7}bu$IH*k=FA=OEb!k6q&aFZkVe2ryv`t;jsrmc z6v-xYBNQBn*ro>n>w}Ig#z!Lp9HV-Ap4*4U%B-I>(gL8h7z4BxA%By3X&fm@o(0J{ zvM(ir75Ug^SyT1qNk6#f^+MzvvQCM!QjqxMr9B26J#AmVB?^sJqsg!r+|@qEniWK5 z|ESd~Ypt5B;?0#a`j{Ew#8mi<%9V89dDEMMjh(gy( zAq<(W`3B9TD!5D~UuS4EngXuzoQJ}Gg_w@UvY&+;m33+muEJGdFEEnS&*_9k48V^V zaENmaL%T}?S|E{lFSvb>#fXBzDDLC$J2Ztm@KN(UXjlKMi~&m4c^KV+1?Va<(np|z zFBvC~&jfpEQM+eT_JHzycNFd8qk#Z7{zG=Q-&*$MV1|~luBnr+CKR!O=hlG$T>eaO z)MGvFIJ1iuFSrO-kzCPoc#mZ^i<%v3N|ebq+I+ZdcM>q6YsisuuO7Al{=z;7*I<{6 z7(V5ChQTzu!;SSdsrW=jX)c9@{)J+4U~#kzt05YL*JF?5gmm;^7S1v+P2&7>4#Lks z5wq@vhWUoC4ouZi7T1FU765bOvY+1`gcD87>`l!wg@i={LB_rS=_ehOWu%~eLnI#5 zS?3>KhwTELy1NQ#O_u{Rjke*b{|=CJ7cqhb+U0EpAf;PGMT}(aF)@D)LoKo~ymK5+ zWkYquPcDIvs>1tbm%nt@@+VU{08Lc=1|=2ImJi_g*W&l2IBHj%@e?zX>6%zG?cKx+ z!7{Lqrgh9aMe)9>X%y~;Erj+ne+{%Nr0s=P?W~-`U?D{l5fDc5>`vdG-KK^Pi%9RU zO7Sp00M#7q+NCb-CJGCfC=q&X?Zj1CaMr>%qjIdNGD(wfo6RqWHBleu(`cjz$^cG5 z0#Gz{W>|yNKd~)DulqCvD9+0<;OP);%THH6BT`fwuI1ztHsqB@XrPe4HDNYt9r;zG zsR`7m>!&{&LRR>PDX6fGW2rw0uBKeh>5pn2jsz8q%BKceB5K}8#NagNpt269DV|c0 zeP}Sn6aR03`JFT-ahPyZ$C$yo%j*qLZJn=kv5jg-)MvUKQ-5Rd1Q0w0#ax^Qk7A>L z=U9#7YKX8!Ro+ic_|P);N0ZS^%90F@Vq!mH1d(Fv<`F>#mQO(Xb>6R&VYlu9yV!h5 z`j&u$$t(u<2!`e@u;&Tq&fWT^0*u?cIR)8*aQap;{U9Lv@iOI^l7CMU8Z)#9V#RjuhIIMv};U>(8+K zwf+cWu`tv5SOaEZR&nW3Rm(yli(}33wN4z-XIBdU{tNFhC4q+S<`CIhLC!;(dW2tOC zGST&CGo#(AXNVndPl_FbE+#}#1Z7O~1308PW07mIW`1HsX4b%Cs zoia4IB>V0wQ|GdGO4RnHyiUm$D}`Lk8-=lEq3zd6P3}xBpA9Mm64gyXRr2&Cb8JgHf z@wW=O)>yyeG`%40$C_fuYNc`Vd}z(tY_@)CI7_nddaW7L?EgaDfT*?( z12ptSqX`327QXvKO>g!17t{?=$Q5%xALcPjx&px0X=Lw5!IfrPGS3V5O*D|FBEGlK z3BC^xroo6~x~4VKy6Rv;x6h!THoRWW9JYL+X8=D35?$Odz%L059l(L;k}c`1Z`kTO*0UKe|qVX|@fZA#(!%tl$lvp*_YL0MDiLcml}cLtym3_3^je zi9ysik#0u*7vLTz`ge}yv0vU8ME~(=fTQz!7ob@Th!)ZS99ua78kW8Mq}$U02LN5? zeWB$6W?>+7qf%CZO_Ods_A6FC7~y^D0`Rcb>~@tf|hw z5=I2Am{KS}%Z_tDVr7_@!7^Az>8KMUhK|uDbyWDq`F45RVZO(jXG5xM)JHNoU^eJx z2fKt>>)g;(ZoD$mYMt_@-ccDZD0$)C@GHd~w1oC>9oo;sqqZ(8vq$V4y3>r?kM%;`GJo;S|4ivfJM{YDiQ-$v1agbs%bGN9&a3GmPn*$9v^1NSsyvy>FSN<{rtb4pAfznqYVA>;n zTdj#p?6}_Qczaw{H52W1OSYj`FV0Vm4k+NbLASDFUC?>&H@&@=W#Jhk{fvHt#DG*c zBm1Z;I4v7tsg*`3eEU0)|9m9tEwNM-ZZrv4Th|&!47{!VB~$ldgW!vj<;c21y6P`f zYDt1Ts@_KwtU0gQ2A`_kTUE9k;2sZ&IskngZ_Ft#;KmM1{BYNp40Nt7tg&}_+f>+t z*;`Xo&WHs;!KW%}KQOHZJ;hrSgoQKa-k8^A>Jh1M6i43;tKrWmjBS&UuLk_|-E9-y znXYuU@cP?zR0QkQ z0nnH0C?bvl_9%pej_2F>j^-HY6z-H(rwbVZPKRpFGN5}y5soPrU8=1(khT7;&iHC} z*Jv(|Z&s<}Ii}8XP#u!=|F}JRWLqAS?$V$>I}Y$Zy_wv-VMbkr#M5Z}_{RRy-vDUU zVRbJO8sjq%_>_$4A66_Fa3pmb6|rbJI=6%HOwZR^8~}|;5i>`g&My)|MqQsVD1!)7 ze%fch3sv&|-_F(abgq`BGQ0d~e;a`S{y+!y1Arkc8$|OQ0)Qq`Ezi68S|L2iltz2b z5s!rBPT#n2>~T@xz;!-9^E%O#QgII*d=H($da_HEM^dP<)LgoIbjLqszK|{AjM*wN z?n*~WHpMc_5WhGP7}Q!N+srq5RkUP6ejkkT3O1fh72kb|-r$x&1>yAqRvp>JYHlFB z*&JTgwL(kFG~R*eWIHG!Uof3I7&Q;1Vtg*Y$yfx4W_f>dai*$It#XXyMWn66xRoF* zEe?n7$wK02O~bFLvtwQneXj<$8o}M<#EdRFeanh+E&T#R*jX3*9kSHM^P> z*f#c(x=ObZy#Pm6F}vPkQKk~a%}olFGU=`p@O-}Q`goH~qBVe0N(MBZ;uCxQY{)K+ zR;x+MRoZ8d1I!kea#P44nzR<3r?sPoK@0W16ult10Q@Wfa$H1tk>>u>!|}YN51ogu z2=;JoqlzvK(^OAHum@~7PU@d2^SR?oJpvZ_*QGjU44J}AW8Ah!bNawn{=wD|SPfb7 zu&|C=`CP249}liEs+kn1Zy|O%JPkraU_*BMHRUmDUug~o53MFuUTbS4Rn{CGEAATOA>hWa^$%(9VgQ{ zP@)zh?|N=;t~^&?c@s(|br1Pg+S;vLrmHr8WRfLXlx5FL@N=l=b|jo(q_)&~(=|Mb z?@H0_Wqc8`Z)YIW<5ll?swDhPUTa*ZJ($3iHN#=$Xf7&?yX$HNrsd=EFFp7_KYww; zqd#jru(xgig?V8Y5PTcM-8^(tgkfkM-(NOAtdoI)4Uy|!Z0+mPuMO{yH)hF*f-b9- zdZyDk3|-uAtkDALo=g=_Lu8K}#QG9=-_ZwciNt_}9~h zcKFy@A#~2f(vN5~f>zzBxviN)GiBwp6t^H8od)D;4?gOanrO&S?r;fQ@%#Z_Jha{h zH)6|vlE_j`;MHKlCxiU7JkF3`s#>^{7VF1;5o9u90X&)78CKhsl)xny)ldG*q7aSy!cYw#BP&&mLBs zPxw@$Nf{wkY1@C#P-!FC&ED#N`$t@~xX>7_<7(um+xzg~QOO`-L2ndiP|qot`ha_s z)2hKI#5H@yNRKlkrk2}UnnS>9L+$5kcrx>u_mEyXw*jGEq4Nhg@lB(3dFh?Wgl5cU)b+x}x=J_iVWWdWe098>fAd1M0?Z8osjcvg(>I*@s)qH~H zd-SEHfV%7pD=PQ1xB3eo{H?8NC{M^?o$jL)FOJiV**G-B9jPL&C(8(TfBX(`m5S1A zI@Rv?^+j6e{9Z(|q_ciPpfIxoQn}H>SP1y#^crZK(fArgJkM3_aIGXuFkPs?;uGJT z*po8CfWlLK=+r7J;qrhmbheVgF{u>013!O5T?@r>&ylRerJm{D!b<$du z`94^MEt8R7p)bP;-v}kDx|5&kg!qA?Ge3y9(04`Z_2bzJvvUrHsK)}GM#~cJe!S+z zjk!c%O!Y`^KHlwNHPGpNndat)^e$87-cjI(bcCIwG7~3#6m7lovuDq6_yOqQIdQf>}2J0I(xoH&p*D*4KwNw*k{%= znm&_Yk?Uo|BabT4DeH~fbEF{ zGX-rO+j6Wd=MniZuH}ULT{2Q0l4qBXGmwZ%-0Pi+zx~GQBzD*BdRe~+J0^O+ga-95 zHW0z$69Wm8)dxuzl zxQE~XS&%Eh>7IPe2y>m#1H60ZRqOPre~gw{Viyzy?isu~YEJ>A31ng^tGy$M*?t$h z?cm&Ez$f;BJI!hm8&f?MaU5^!vOxwZvhl`}I3AV8l;`q9Q{{cDDE4~qB|vPG<5o`I z4TWpl9Zs8VA&S0*8IwPVKTVY@$gw;`)<`3(GjX*-=J`RX96a%L&uVJRvpm)H_q^|i zi=v%fiQ;!~+v@6w7U{IcdcpQAgR|BKuz(uZF4r5(6mQjvuI4;DTh22@A)epyq2JZP zvry<%aA8;3E9!TVRmf|VnS2`VmTJ*;Ev$Z3v#z$iDQNl9T2KB|a3u4ooH|xw({Blb zzU%8iWh^n@nRnIm`4vs46{=yt;0V%qsiz_J4V}a$JJc=2X!wr~y63W=zf^QQWkdnb z!*cLFc0Cs27KPa4b@_Qcb-dXnuOMmOBZjQ|hwCCid-@Y2E}+R#bp`Rx`9I?nOA8eK z87f2kfu-`?+}}>f#K`W(Y(m&0E}q+;-zpPrT*G!ZO6KB{`?N#^0ca}LHz6W#O=+8sD^A33 zTl{WsiQDxb--AEZ(qettnYpqc$z}`pQ7iAm66IN_RsK)i%u=s`z(ko!#IMnMMeLLQ z495@U={t+%T!KYSWAdxl=WgYM%ioQ$EpAHhv>XR&v81#(E#aCL#(gM1Qv(@E}8-?nO%u?Anh$F$f751M<(c(T5=tar$m4~Orh({&Y+Rn9Xjpwhhn6a`}N|* z6#Zg2gV~kz?QLT9C?qec0G{D3RT=ibqD(-VnL(zTgp|CKjjjdq9URItt6=Gcy)bI5 z_fF}SS7UefqOK&ZY#N-g-}4l`3ZKqEcBXwyGhV1wK|Iw zx@3p(k~!u;i`&9dYzl9`6rJFWOa_ex)X#0E)X~V#?IOYhJNWo$M5898;m|FY8Az$V zZYxmFKZLK|V9_2h;aT=`>-QN7kyjK18;e$l^Xi@xiZnuy`5up^YS0LrZkeLYaXx&% z9afW}W-gj`y|<~SV3JJF<)jxw?;q|)HF2s1G}J-VqkoNvBwb7XOrf|luU<1X6U!xM z2QVX1Rhgku8?9fq?RO@#jYPfDIBW>vNqfccX|DQ9@w!TbZD+^i)H5TeLs|8CWTELR z*5dmyC!}n{qw(zJgFn}iSSHhJhe`zM6s3C=R*)U_C#rbs94BjgL2gt1JIDVwy$lKg@xh4drgjLTTj?() zNr%US8!qiqkoiUtu=BCphRR=2c-A$NNFz>R7H3Q@9w?PaiAwq<(eU{0*`0^ENVK2q z_R=j#iiBKS9yRc@ylIj|fq0z6ac6$zn)S!s>Yvl?^o#V1i6(aot8?cCZ3`gYK6y61 zcy`qld5G}GYIr=&LO|(|Yvtk`BJ1ETPd`GfP~db3$NbRHF)|2z-Y;!1TUKdp{Fz?< z4ExCCTaHbUgMr1~@^C?&xUyI3*x6PjDu#}TAKr*%1lumutife>X)&z71m&9S;B6b5 zz8YpPUOM^3Yi8idYK%06cC2PusL5WeXmf_lZb1W$i=*1C-&!Qde{-zyKB3SWVt2%^ z$U&;Kj9;_hY889X(|pza(`x+j;?3$~R8F`V>cSwl{@n9@`W|?0DB*HuV&(f_J?dQj z$+yDs@uv0dhUxKovz83LU`?oV2tcWW571@;L`c8sV zena#%8$;S><=K50?z1!61#P>?IUQJKbzof^aRKrPoGk87t8={yM{_|`vm_MAa?2^d zN|QRUx?U{5LGN&3h_c#}I?74R`f+5#SfS@gk?f@MGYLA?*YMJRYano4F-^ONL)DPw zI?DK%nH!F;m(0;|K3h>c^pptx=QZL-z`Rc2DM+9|K=`(kWDlMFDeGV;afPR-fJgI1 z`_*$E#_LzcIQv=IlR*8Bm9xWO{Vnxosm4bBi0=8yf3TGm@M_weG#UtE^;90flC@iX zs&%wIhabsa4?P&1uX!zP{dzXVkJW{2*kjL9eD*YMHtu9ayP<-Anpwj^=7L7DV=i8H zfmthP;h8&JR@9)~gVdppUK3aV_^dkIjMr+j!?8@m{%6UdBSLt+UWqomRBa4nvwW)w zMV$z&kS~zfgAx-avmf5!7bGsQscR1HhF+;4RDEFaet*T0E}e=1KdFSfwR0NgCXqPVLEOR!OP+0yx6Kxh6vz;Vibk}<0L+R(zGx^xJvfS&C zPu8Xq?Uu1zkHc26a~$5peV1qEL4Rs3SxwH5G{MWFb)Ttzdz^8Fb* zo&}u5fLuv@;Cj1jycO;UM~>D|RL}y|QW4UzS)SF(pr#e0PCwjxmtNk$%iU6DbfFA8 zb=co+|IZf?BJn|4y|m@{`ti53;vf$gJFeFnIpEuH?q@RKVTd~T@oS@evP)BeDCi)L zfrkL&rYzKdEUbl2SBwUghPd*JzY1-r3qJaMEJB;uz7r=|BG6(dCnNDd8ozR(QgwG$ zXrd&0%4@n9s$P-U4&tTSxfD@8(TLn&ugQOIP>}kKb{Zorf|9L;^El8}`xYNC>{3$Yp+ zC(pej3Djv&rzyddnK#ZixSFqb#wV!5B713sn1p#Pk7iH{T+Fz^#Z=1BA-$m3!-p$N z8&UdiSov%RvxTsFDQj;2Y07_;xl3vEKP&<1Llz*?arx&ylm5U7gNm zu-~!fkkxk*8e2%;@=qZ4OsD-YNj6^+=TCnA^DwjiK1@;eP&&W)y%Hfui^TRlom-RT6`sWiFegv2Isr`4A~i6ld0{ridGc9jS; zhLEV@t7==2lpEtFWGeq%uzvhk-*t&DeuYl20cJL+?CI(N!=6po?*(9(UM!{!4Gm?R zWV(tBoq2g;!ByImG(iSe2=R7*0$JXIj@EllY->Yc#M1cBdUZzqyIvo0{_~6-3?Iyk zlVO9{nB`6kGrf;6QoAnkx@wNp=F!@aR~&OQ*$o9DME4E%9*oX_4r#ymSH1d$wjflg zOZesKq36dqrQ%=OY%2$jVc51#c(f8TXZCjE2~TaK~YMl{(!s4j)+}r1|#)&GD^l_2{8?ZXUNy_dJ;aOl+BdlX>|tRwyQvyYtu%= zm+$pbu=V-4tmN+L&+HV5;NhZ4 z1rc{^-d$V3L73~^OmMD)Z2Iea8Z>jY2kf*DUWj$GU$HD!Zb}v^&$sl$>zh!{%s+4Z zgg16FH<8)65{bpgrULoG59S{FXQ#1(`r!t?Oyi$RU)zV5V}@T%YD+7DRp` z1R6rpgbnyTGiRRzBu~bo#4brVm{EFbO*XwmVc6tBiARNp-SFj5?*EQ)_Z@w>q z;oSRt=b-gKa|l>`v%DD^8c(%<)0qw#B+SuzZwYPgy#H;_`qoQ5APe!|Q#HH#Q+JR8 zaXT@fzi*VDaE6a~&qaE>KU+Nl>iqd9HqE}71mEI1U(UHwUpL$n26Xm-F*~N?l>+$4 z$4PHfHXD7m?F?r{tS%x*x7s{?^j!+7hs@D9AFaK3Vbmbh{)*= z$C}Odeie+>=o@g;qwWXyJ+vwBCvzT_|1`t~rtv7X9GwF1VDkGoDM4OnS1qfj4=lim zF@A$x%I?oKERRVO@$pQ!=@n_N%>mloUZdyJY>gZ#^MMT;;4-yB|~BZPy~0J_Xb05moMjyPmo$ z%t61p?+#Ae%kq7Xj=&bb`Qt4e=>mU=Oeve6WVJ%w75(JzF;HKkm?I!O+aF+SV0Mqi zQhcMNf|mjFzfGY>2J$;K%};KT@BPvL{&ZPzaIsw6CW64?w+BGW zemY&Q|1-&_YT=g5*68#5x85g~L&~M{-(n(+ z*^G~dO@TKekqq4gmu%#Y{u}_3C3M|GF<-1C$e5gs6YY2;HR6Q8PVYt`m(k>fk#7p+0231ayve-a}lC!fCEgiP6mFUp~BVLEH#u;x^U_$Qmu24ZSquVL_#xz39Sf3I!EJ2UhBRB^1VJRF~RiE0V+U29G> zX`6;i>jH9_%FTr##k1Xk$=qqg!CbQ~8qkK#gN4sws&Z6sdw%he`SQONCno@6VaLQA zF1G@-JGu34sLSKeCM>LLzRmXn7}>+=yrcSAnLOkonF5n6_o(B=swxL;&vEIV<@N^i z`CI@MQ%s|;`$k`=m@H|BuW$Vv#}4W56SL~qqm+vY4w1_C=cr#wIm@F@hH3!Dk|EPN zA`&Rb4a~-xpnNdxQjfJuT_q^EM$%Qy^FUizh@x1nrfS%o_!>MGk}@KNU)8|>J^t4s zWXm&nq(r^8y8C}HQ2laR5)~!1C6~3T$i}EqX?l_8PS8R*?edW@FF7O&EyZ`Iy=yMD zNb1mktL~9@Z{yfH`RDwF?WdHu9L zXBxy8{3?j$E|Gs(IVMWv$x5fwsc8kG6l-M*$@MjvS|R9QEJcuj%SrLXM>GQaJDm$S z^{4%$3iZE)UYUlc1ekJ^0b@nMAS9*x=3luCoG<~w%3(6baiPRNU|<~DqD*Do^hJN! zc?dJ)4qtq#&^(vs8(3MPMhoHHj@5Wi6Wgyn@CfzwoB%SrQYzGxzd18W^}mT76NXSV z({HD$?YqTW7(CQtrgf^v{b2o*Myq;Q_`+U_H1Tr1>xY-~P5%nA6u0F%W3qD|IHD$w4h2L2{jxV;1}nUKe=n77UGtTeMV^O3Okq`wa+?t3|PftGIi92RnMqr#^oGtEr$ zq0AQxD+WUk@LPXJPt8oJBS+j+#HWlMf?!4IgYWn^56Zn}nHz;Ie6tjsjb?9AVW)J; z5>HFY*PA(DhwI?xYp!d3!e8Z<-S(4;a zdubKIveeSAM*5|~5|pVGW#S{}60qoiP0ko^xs15qL=&nO8cmfP5^2B5+Riwgc7oY9 zW>f9BcQ$fn_Z7c1B$zoqtC{qldsw9l{qGKZPXbC{LpC^;G+Zu=@B7Oxut)Af2i zdW^3r6}jNHs-B-40qoq|*K;vzNI#H5oVHO)^Et!cBYdC7C+{jW0RLU>{W(SgQ_RGQqVN#Yz0Q=v?ux=?Bz@YSn;%Iin!c9}y|KsV?*$TlL z6VCMg=~KK2_ZvQ9^AlyMdQ0s&vFxG)VXQ}VR(a}gadYkTR<;Z7cq3oHoQxKgzlwSWdw>*Te zp8$}n{=I*MlY_DFQL1<7dlw}Qse`4$>;y(c{*9Hie38xKf*t9)E92}!kJtOrxySAM zUiV?cWA+ba%@HncTNGr>>c-e@ak)FC|;eyHRAX zVki*z9Kd6Jc;F&_!@>nq(Q?FK+ur?gZ<6x5$qT#A#SKME+k+H1JpkP3uV+KB|E6a3 zX;#I(Dm!eM4HgS?NHvR@5l8Ut^!@03au;#KvOihO*7`!tqnx!Dw>oc+PqaDG^LzZ+ z&Rm`yz95mw$j1yO>)b3XJwp-b;L*giUrjyaqAx5jk^G84Jyq5tCv%~5B+g^^Gbzz% zqtx1{@pq!RJ$XNEo3c^nME~y{6~b3P64(OzZ};NY-@b1F?QVwk(X>yelk%aHRF0A% zgUys=cv&#|P*lR@w0vx5<+{ZxjUg3Q$qkBK)>g-xRSZ1euD_wJjxHKXtNMrkKa{;? zRF+%UHmr1rfOL0vmy}9(cO#ujr-XEOHy7RA-GX#?cXxg#Zuh?5@%;OK;~2s^SIl|T z{5*Z3-nvtzDJX4e$e=$}7;7-I1#utJ{=4@az$c_y%&MjO*s*@jV++iVC4~H#w(5!3 zinUJfM}!7?p`4}#1{I4%BB6hp)C^r@PU31T`HpMyF-R|Pl($56(Ay8xj%Z$QKp<)7 z8!@wmL90%bHRX&#vnzUzGoO#-vJ#hpghn>hF#5?+^4_Iw+h)<9l|LaYvljAL5Al1! zCe%H%SM>NguI#Wi7uX3`ErzD>-=BD143q0C)*ePGqHAay%Rw!6ENJ@&g>FkIXMSuk z6HP=SX)KY@l!7236wO!{Lddts{XT;~xdVF6OoK0*e>xBQIg@xv`Y$p802BiFNC5Nz zeVS817@+|{Yrh7AoP%KdXPaJ61X$j-0@-?B0C*+?ZN-y-JrT#*e9>vX;X6f*)fDj< z1r5SVVMo^)@0~A7frtAEC9X(nu8F}N&}G)XRzyBKeF1bXF!p!_WA6X!=lkivSZ<8Q zefRj0V*5AC5Fd6&KaiQOw7Roa+v8Dd5!cD(rV`3lBf;RA$yY~3TR?b$BYV9`3?wUk zPVJlL68Az{klc6ex@z!#V&*fh&EXapFg;$R?O%;S^E)gV9IGFBW4gAgmpb z;yR11Kcef8<3`7FM_?fDFIKEy{l9?mT6ezGiun;oRD%mnEmrqwys%VCocolG_l2df z_vP!B7A9L5$x#3d@}~^4vH;2;`#xRZJ7!dr0Cx}a^^f5bP5S@pLVD!>MHO%5vIj5b ze2Ca}m=El7Wgx%8zH@9xHy)WCz_hUeYp{12Jibl4s zURQ6Z8@iQWQBVw1sPn;eNnkCeTW45utwp9*lLK|lRuHhdVM}t{Sz+eKWI$0O%nYW! z5EL1bk?pFI8&(0yTUENHkWkF?0r8*Z_5u@H9p+g1b+H}Nmir>s7GEOSMxYk!L8B5n zKB&0iqBJiTw?$Go5q3Vc=UI;DjGL>HFU%8GC~c~_;yhV#IpU8z6m}cN4`kM=7l+Re zk%7^ul;!|){V3u~auW%Wz6c0g`8bIl5elq6iwKW>jjzrTM%XWGT56;V)pj?4vvyJp zYJKrY9mjLE5Nf>4y2uywnXlFz`{rW#>p?u6#CU}30M%@zmMgcCzrQOleI)Y=hh1TY zW}kWPOy^Lh{-{y7|wTA9nMbgp_aO*xmmG9GttGaC5p*Cy4HFn4Kt`Ind>`x zjn$Yp6GO6zBP$NOMUHi=*1n1A<=LK%-a`go7Q6K_*nIO{{1-D*Yqgs5!d7O(2|f6b zS?(vQu}LDQ*y?J_%W3oMyXl4znJJ*67q#TJQzTiP4ZMGX-6+^oGX}y1=P!IY&cS`r zR_HRnkC^9r)a|&jCAU6YYZR(Aq1RYMvpL+iZc+bp?8{$}Ra@P-O12fiM|f{Expz{& zS2~IdP#%4LPbEg>kK0L7^C-9O4iH=0{xP(IRAkr4P*xRCbzh8NuW<25J8+hGeVKWQ zP$MU;o{i6TWB`QdgTGc>`!Z-Nuy4}&?7Ou96QNZ6+T*%(Q|z%hhzt1+W3 zUB^W93$2_tzn2pR6?v`eUDUu#l$-h|G4l3Af5y45SSn8|d^;E7H?}*ej^nSnDg}9I zSwNvka}`A%Rab(n=8M5O^Xi$4gD|Aj!l}z%W0?%%wXwt0%y$ zZRgYg2iEXfla%U43-@4oy?tt$Q27pwTrM$v?BS2r_OK+@8X;+*qM|a(sdcXMvm1J` z&z9FrXR!{PCocGw3pZIT2Hu$eH0M@oj&W~zuQ^}w9Rr9*ip?7aQ7!CLwGE)rCbf67 z(T5;wTrPpWN)!&`NNlQfG|uaN_Mf+T4mHc-1g3$P(0%Ik@yXM1>QKkk*8o|ZBkQmN z>xIzrlIank$6a@(dR{%S@;23aeW%gV82B(a8cb2h#D{Nj4m-S|>DkPtLGv{S@;<_O z<9-MSrZU1%blUY1jaP?K2h+vt!&TGy!c|7nc_Uh7@+7sgv?=`Yo^?2*YCE+V42>Sg+HzlRW)GFmLu zhWfq3`UHSGK&HP-U>v=cIAjY4}KUHPE-P zSpiv_kx*D61zg?3N9C&lB@6JLVToV7@0+I+!VB=Q*nYEoVaoIR4Eui7zGaT#dHCn? zSP{3l$Yh07D=d2vW7KQU6JqF_p>^}M?5#-lh%PaY-lB$??{zTNM1lE@cC~32RGLpR-CzOeXj)1mU$Ws_p?0I>+{dy7W-p&`~jjYF9e59y#kz&E8 zS3x3i1)EdvbU6RBsOkssao6(!iiwq%XU8NK~65Kr4jAnUB=Y;6C(SIvWyRWi&s2 zCHL)<>p2X@3z;JvJ5Q(Lrg-cikGf2^;@6P<t?Rl@rj$!@ssIO#Uun)%ia`- z7tWuVj7008C-|`0EaQnL;@Uo3tu$=*>H{|W_s%W)c;AD+|5ny}C-=)}bjEqObY^rr zs8MC;USJpb>Zq0ciABNVQ1a_AjF@x!o-Y5nE6wT7LM%{^P@K;NgW`m&yK#M za=uxf8A~)ymoQf;%du=;n_grvmLrc|*=n{jJ(%t$!IMvX1f7VhygiczrO4R%@QO

~c?etciH2J%CN=&NEKp;(mZsUGE`2jDH76HAEeRi%TGwIa0K8u1736(y|Mx=fLDDF2q9LUh?Y3LG?wHlRW8BS!@hX+O#oW_M(m!@#ds1VIcjf#5o8#T z?BC9=rbIBP5)jyI#S$CjZk-A$GZRA$??9;^doVZ6DfqRzp%e%tQ>6}Oth1_;IkK?Q ze=Cqw5(04v7Hebkb@^Su0QWqWZH4Gwig6OeYZc5%?pA7E_I0+#h&*~@p_X?)=NP)D zTfa6wFn=9HV)q_A@usLY=nGYu74GSsG>E9pXO7QX@bi!H(#Q+LD*!wPa#CQ8C(3R+ zQwXzGQ!0KI+&_rcVIBUr(_viOL9ULaVR)Qu=F5wiESODSC0cWX8Jbd((wx~}!ax(d z7-`v4Ln`N=6IWfG)h9r#`we*o!;l!G>yQ`uU1X_}xX6FW?jQ^>z}b`cYH*O|T=T^x zOY0!0^JfmG>qw^~yK{k&VTW4kNuUil;${q@VBMzGu!p(EE{_56El6P9T3ebVpp8)W z9df>0HZ>b(1$(Nq%V#z?`1K!qy)C6pDv>4gY(*2Rg6{brqVp>yA3^T-vG-IerL^{q zIcQoF*(6JByJGvE3Xaq&wIQEY_wn&|OU?)ikQaerEWd-;2oRIh{7z}=kr#ADtZvLb zZzGQ}?X3Gdijv&$)NK)GFO+-N*yR3Gj?W+1su`}CWkTrbU!=`L~RUIpAC&*>& zzWH_*`NcFwda~V-*Q@=E4AISo&N00HK^Fs|vUEf7Q>49Od72KhV5uj&oFZj0;M9gV zT3jL8C~pEZ%wJ%7ajP$vsW0?X$$eP}i+|Rz(6)+YmccdIw&5v|_HPB_iQFEebr=(3 zUnsZ9RCIWKJiNKrD`|x|Cz6{`U)Z^+bf(-2VifzSY^zkR{oGMH7<71_-KtIU5cI@` zPN&{oH9J0~t|6%aFi^(3_XlNpKt^qW=|oxUJ@r~WLCAa9q>V_3yM^I?E#vED5jw$oZkrt~>zxcg-29q^ZvF4sY7M>PzY_J-N6 zHDu1D8{k)U9qOvxkA}~#Oz;RffgClsXG%xU37|h|C}59~_l>ug%T>seW;Gcltbu19 zX>I{Bi+2IiNdck`$dvPJAp#+t z#42_tbVbH3NXP>N(=hyAe4PYllL9R8*SPQvL5})Q8m#@TZ&WKC?2_*Y4CU44*kmr$ zAr}fqaATt*r6%h{=H1HT9yc3U!`Y4UIG5yV_LZFLR_Dc%rJi*Q=OGvD&-D|!HGzNH zYUMv@_S$^lTJ(qt2bAL^QzR7b4?TFV1(y4kv?|ck-_rZktjqs;2F$I?-G!<5QyiM^IU9OG~_ zUyu%9#`#o(r6)da;$R?>E{v*jJFdg>u3cajr2>w$VBDWQa|epXxXdXbjF5rB)JMbl zeI~lf(-SAX|n%_r%%dgLr2NIi>fHHPh3^tAqMX`%BU`t0^x(sHHzB z8w`xz>to@&G#i5St1CYgsa)bO03m<`bk%*Q^gZb#Pkz@-h;&{TKN1Fv&PU`Q5?bOm zdulLKo>&YR7F3PiKT;ehoTB;ckaL*WiH}=#HQ^c@St@e*`u{vbQSzM?&LnP3Atu~p z&kG3jtPsj@x!Py7n}vU50f{d85Gw;{+on-|{7|kN|HA0ncVs3ox8HUCFflp^K(ImI zs$q<7c=esOD$T<7V;q257}aWt4t9T}Y{kms*^*02KVNowsv)x0=-E~}Ikf}jN<4+; z%x?C;h*VkH@d?lbx)%Qh(Eq!0FYK?swW4%LR*}LD*j|zO}#;Fdpm*(JnWwJs4 zLRumjIt{G%8_mV>*I$-Q3*=u6?0YDqcOkrpe*#z$@s)!pGi2Z!5HRp!p_Z_zpZS`a zFMNb9NL9^aKgn%QmSK1jmtbM^1BqoV1Z-0AAs_rDLq{!jR`xgM@zlgcV$1p9XiBYZ z7_%O8vvqNGb?g$&8u2`Xr4QEa^KN^VeD6HAf2j$dZ(0K`A1 zwAToNQz+&O&ou4P$;v{&7a_9073eP{&ZL`?2x1uAUEnnEj;`o6@cXpyq~# z9?{I^$k_^ID5r8ymdkBCrM3REO$`2S6Goc#q}N|MTv;fB2GAxLUR?d7O=v%=sW7PN z)&302z2wXn_EbS3OqqJcl)B(V`zpqAV7;5yZ5^NvF@&g}1%L!3J;d2Z`jp`Bu3_wy z%EhXtZOoL6 z{`|?Jt2jU|i?_S_(M;6*!uFlCFzmHx^7T4t3Zwdg)@NAq+nHTIU-guDzkI{aEV^8$m5O0C_+tWz;R)gi;NY= zS!jmB={Ghr7|@3e6xsjh%%gx2)>5R}MFo0ALjjIti6+OB?GwbrOQ0b^LGOa;U_%O& z4M93ZY@!y%k|^|Ue;e{6lS_D%gQk1>b0;*pZ@5Zmttmt>c?H5^tn`#8Cvu~h!N2`0 zaHZgYVYW>1=ZeS5?~LGk+^z-90(ttXT8_`x8q3^~)86eK0szQz1HL=H^(^!z8EMVN z7L_m2PhMVJZf`tSjb5z$Xt6=T(j{jG8!FAfA;He+#g$&=6qKjF|&mD}syrQ6o6H=zNecgwAbX4x;U7<(&F2@ZTH z%tt#gWCDwnii80zEr=wH^Aj)E^5c+Ep>l3g)XS!U$MtFE$?TpjMVZ*Rr2-c^d#3tB zm-^tZ(+^V(kQ3~IO=fXN2si^UHZ=fhPSlBC-hof+Ai%vmc5!xe-#LiKGmg5~b7CjpljC*QLW4V`>n#^sJ{caB0{SjAb7 zBv!$I0|iFe2G({R8X7jU{r+wVOs$1m3&;({85+C4Iw;WdfvUE+`*!tqZhi5)DF#2K z$x|ujaaB-0EH$Q^hWXb7@p+ zQ(Ta|JWku++A_{J#V$Mp!?mfWfmww8*@+)3@$DJHq#^B6LIz+?%m17fD+?q^$gslM z8;Y@QE*qM!L3Q9Hk0Z+tC%WVfbSCRO8>r;)caAkm3)h!-Au?DymO+PBv*l^`*8~E? z()`h_iTpZGRu2XJ{}nHy0vTTdKlr8#hhkH$`>{2&p>1%;|U}#>{Samk}Nx=!R2mUhBRfaEhJ~Dc- zg`7s;e4@Nt?BG+!W1%DL+-NuO*zW1};#&^o+&^Yy0O_G}HcFFZ3Zd=FrJ9NCjCUof z6~t`(8}ELa!;>3fHbAO%MGvQY+>2=~oWn2#(5Inx`Q3>2Y4+560ux8f3^`*(elQ8S z$@Jn!8<6lV!&Vfkl!%ilH1nI2>+C$IKv)(=fbrGplafHB#?H@%WauAYAV}n+SUQxB z9o2xBx1Su&=(q`1-Tm4omm1M+t{n%3Chy{=T`R>CjQ@JNm-vZ?|0d@g)#VYtOrtI+ z&*I^Gtvw@v1pcKELfWSR3E5aA!)UQH{O+ELcHYCw6YEpOjttutdV1XeTpX^J%K#ZG zkU88~Zy@rj)Cpaeo6WC`BhW;|Wc;C?;)s9saG+y4lEP&MUL^hTThOdif*D#x zcP?(=y0v;%wyYYq(5C>}e5IsSC*$boV`T_cFXh0!?EB{-hu#BXe7W9ggQXcj{8C_< z%wAabo6`|>=C?I<{HIR>ATo>(qvKLzpWY~F_3_?Z0os93!)txU^L7myUP zpWDwD`bjeyFneRnU3_npGD4iSlW?u6!#UYiTR-B)#&2GAMDK28k~wMJJg2XAoBJ?d zX-eYGYaW+0&Fi1;kZvy`aV20R(1tS^;IbvI)Y7xX9ia*Nuijo*7vqHD{Gj%zTK`J@ z3S3s4AWggtWSQ56D3Ke4Hb|2qK+05zLyu|ybk;|(SEHhnt6|*~s(gOqwUg$q964%m zw^pkGJnDLdgNPYAy5o01{>_BJ%RNTR-Lytf!u8>p&#P0vkoV*Kc}SUM+p~DyDa<)Q zsg-^T(aUuAG)~>W`0{TeCr_5ZL7g>(;4?6lr==k|4rf#?$2j(KG$duAI?~s-TSdo zwf0bM@`ngmJgxSZ;SrOOgO57}6fOsI+D*@aAgN=>&n>u6x!Gu>6$r?bdHaSrC`=7P z^VJy7_2yh|HNT|Q)&okc{1D;(@NnNQ3d6>crEu~7Un&bpFT5i0W5^QBykRL(K!`TH z)sTFyJXl**`$1Fg%6W))l48X;lVYu=T2fbbeQzFHu2pl`NT>+QhyDYXB&RdsIu1lrPhN&^wCu;{x)Q5Wx#{~G#b+*k=JDe_j{aZoBJEJet) z%Z#iytOpSfwi-d4MNjvYVk=SSaZfPqe)?y*%BG%CIf}G z>W&r7k7(K>G9Xv28Ickq5#G=|dxjS)D$B)kukBOrZy|AY2cwaBW<%-sz8nImf37{; zO_-GFaxdb#c=qK^I2qpRBql(X_Q%&rtEF#}$wTGoAwxz({mOi;(%B%=;B|FA1{0Z4HjKcOX*A zk0v-K^RxvU~cERYWkU~nXgtm)g{Q+{kM$1`B`Znp=ko>UGta~g=hI1IQT?}q8W0XZ?$CW zKVWEcoRbif83{yn<}Vvq#siFyU6mNyrvnFnvUGPVq zgOb2b`gj$)gT1x(;R+8?y?&WZpX%9A+RA@gp!SZScH{#80*#fL2So6W!R4E;$!$7OyL!#KRIZcbSETjE=V;l(0L>N`r6k@58uha$xKyE4vvd37-`~sO09_6K>s$O~ z7M#5d`ey3exKrPo3VWP~Zwa%Xw4z?R5!qBQVN+yDa zA3N*aK7Ox_I!jDlVh)-a!|$31Xxqqsvon$^!Ep^MZQKh(=P`J(^T9#aV|y=8YWMRU z5j)>SMTeruatyVZrM1Mf6{FwH)|-JIF<2n9Esw|tIvMkhi1Yx^ZDZ|cx=M$=8w^h& z6+V9L$axlXVqdW)RsCd4M$rgb+wnBPrft(#cL0jW*Zz$6TeBpV^9<14=u2yYV0_i= zXHZ(r4`6t|Ng`AqyybeZ*$NfDE^C7EkQ!j$+Dbau_Q-vj^*W_UQx8skUonk^hyk$H zxb@J{QLRin&maE~8UNLW!l#XAI!6yEmMX}xR2FqtK%2Mw<$s!1J|Y|UIvP{Qdn@ct za|%5>5MeUOCrs<6<5FjT|;=$AzY(h^5Y#v_O?u^X$@vZKA&zYa6x{j=x zE28;aU{+8{>(9lp-B#Q$N%&8XZ#-X&EgJc8;e886w3_VX5QiAnGmxlHC3L5I_zWzYoUv z@BX#`XpbBq2Pr^%`)GbBhN@}B$^qrX!u2TB{pp#m0+PvPb=k}A1iZ^Fne3yi>iT9f zo<4}RwaF2-*8V7hWT42DU`!cOpsPPFjV&f4%saB1UPUu=o_-wxSHR5nnhxfKl#lz( z&ff4^c7lK=kJfmgBZp?^fvpE&acoBb{kq-{k;fie#WioXYWQ0xC`pNBov(9IJ!aq$$zgZ? z|7HO^O?k>4V)SWiej6bB9Heg*6%8C@R2c|>yR1C9<~gQ}*=*aHlXpoyEM3~$r_3P# z2#JLwp~s4mqjD1SPF}4}yQLpl>0@#4<$A-#_E{gBC-DYLvOzZ*EsuA&HrV$4)7?(G zT|be3zW;jZa%=@Vx+T-RhAdfWcs*V=JT+oqG8@=zVk1E3>-A+af5Y+nvJXuQ#<@_O zfe7&%u6ZMjXW0?@M*!|N>M$bzdI{_Ubk;6lpI{}846Kb^H8giY`K?o98g9RGv$=Cn_4 zMt~*6?)!9R!%_Q-S0F52Lcb_UV>>UKsRB_#lV?Dm3<7A%kp#-u_?UxAr+Ab8;-x?np3M|&y z0ae(rN@G1h>nq>Tb#^$vvck_Q9EnFjrYQU>QzW513q}RwxNHh6e>i)lZfSCYj>`6w z2+67vtM-S9(z&81O5Shp4J9oDxqs1Eiir-W`NvG;LzOsUFSGy0|2AeAGn?s9!3FL1 z3b_j?yecZNJGxbtfj0if(miQa--2EFca0hlAIDtYzPgU;%yGOUZEDmi;z#FktZ>P!M7P-n_$U zibURJP`VrGndq*}Kb67X`x^J~6^xzr1mApy$MgEKjFH0#)GbVxuS7($tzzWmD-Xen z{eS+?@YuzSwCOsbCYun>rdLf#_hs5ID+^&8g{fv18TCs=<$$YK4g3eL#ggN=Sls!Vbz~eyS5K>BlF?W zHk~FVjtFE4uUKIufRjS&yQm+aG2Wy7hfiAkgHP&S@Ho<6U$5iwrW;;=(Gci*3ud3^ ziTrQx;MGiAo)*5?;aoMFi3w?LR-s_q@NFxfnqbU-uNP3Tt_K0o`TG5c*z(VyALKZ9 z4?Ef-p-r(7OJy$c5eP)MN~FBZM|gcUGXnv!UmXgSKE*`vCVX(EU>*HG3m^NP5&EE* zRDsQVrq{Ek4#QG~7YZD5-u1e>R(QivcOSMyi0B_coDgOc?=8~8M)*t~htnA#bU8PM|{8$(PNtBWDN!_Kdy9M~ymHyMp6-3SE%0y_b7 z<&vyEKVE?+>!x67i&25QRnBC@yk?QF;haGurb|iZ{;N<_A!O3nDH&SP%rZEYnSt5V zQQgWbao-UZgQMFvI_tJ@{*j~-djC=0z3!Z3;SNcm_m`_mS*{eFcl|zAO^M7b%u^^= z`)p>iE6LUhGP89Sb6>g$aK%&0c7=^=Ome}7Q_iTQ(iqdIFYfA>T(3cckEGgvS&JWp zZy+ucE9tRwoy9MM&}eoyqh&xRfaf)G|Vf24@@7_nGi3#C_>g<7js0*oAF>ZU$t0)BEU$!0BG!Kt@cwG1f z4$s(^l$gUqc(JN27uc_Oc-DW$7Z@$wUv8f274CK3eJ`-vW4;`zuY*C_Qm7n z$+1($0Y0ocnblO@qWQ3w%E}|%^O@`Eb|V}z&OxqQso&D8W$8mbCCQu0auQ4E+%tj^ zKp`LtI7BU%Dt{`|>j<|zTq=-!O=h>0uaour-DBxFmJ9hUEE)LnB}hGIMat%6Q=J9a z%=w?!%;tH*O1193)Lu4!f+ha~JEz2nvSMe&I-Q0@wTZGcy@=$R3?p1V1}@L+8X`qu zV9l_aKfJ$x_j;|Ryzxq?U9bKs_cQ{s%m#YFgwZ%qYLmlw;nvVzkQFZ#35!o0om#Pn z42@!O4*sYG(4C0q4nmQk%S8TbnHPZjtqK3K+Jpq6^--KI)6t2{YH_{UhARisg?<2N zX-ZKor%xRa<~UiZ#l!s?@<#A->mOL<{@~Dfx1C(@btukm*?DISNNtRw>ufX{#%=@# z!R`Wr4d#k(#KoEoQNT}AQ&`1LA>)33ypRkNb^a8AOZ|LR<~bHarSNT*dN=K`4}7Ros2VsKFTP&<+~%3wZ*ami@9&rmIun6^U+h1*aCF) zyQ7iR%EbxRjsc!_WOw`$Df*utntPj8r<F^RUHa0CsA)TT~x-rR{cV-p^%L^U-GN zqZNj#T*V?gF!&j$lw1av?G#3atky`LN*Zyn!+^3ra{}>cQaoFMvstzfe%!T#1AEw; zXl+&2E!Wt9?kuwLrqzqxayB1-@X>lfxlpc(eK_e33t$?2PROHcPZhTT@Sf5@rV)WE z>R)~a$*Ub005BnVAhUCTw)&Tpg3Ilie}VJGHmmUnE;cZD zyXEEiffaD-p_yOqj=e^!g}*BK01iC&)m8MG4@LXHwU-mE$j4?r{cD_KP;ajCD|I}j zhJ$^A))g>^&YwTe(Wp)=?df%d`u&j3b5tJZ!17S@dQx7uJ~n(q=v(1QXm&8RM3~DX z{vY>ejXfT2J@37OG3YWTnF}tj;;T#$Wwf-bZTNI9k}(bC;a-X)wx*7AB`Vr|dq|Yu z2fw}am}>I12wOtgI1LNee$}A#O4qh3aA0b>qwGl3M>`8Fu3L2SD60K(8n+mBcDn zdK)69ERe?Scr5uk=6DHMH{Y=VAbvX92uL!M;k`lyaC8l}lbJGt*JMw-wVxP;ax(+b z6cewSIzXEG-X0ikDFBi?RdeV<;E+w{bDsn$zna^`W2w(VxUJcj0Ew~`kQ+;b2c)Wr zuT+~Vbc!+zdcHj9GyE)|T|{1!+wiy3M)`~cF$rW>qV@sQAJw95okl)xuV z-32^e%J=ygA#UC_3~H6WuR*AtCS-%aK-|LpUGvclK{H(l7q@M`({^w(L#&FvaDpn^7r-v;e^w3#nZ4)) z^8-xYeZjI$uF7aQUn-gX5^%KB@M_yww}U%fpRDNcvi{)PZ}HWRPg%vD@ehmDQ6Z|k z`+kvKs<0iDd?kiyFvnbM>yu)~}Rb7r7b`&{on>+0ci*KIRgBd0j_1%`eMl&yg zz(Qo3e#{P`camDd9WiD|pMSNwzT(P&vNXu9)9>LH=t71aOT56L<+lc7(bo9Rx=~;^ z8B2fE>$o1(DCSAyxd2;k7qG=-D?MTb^Vytq`5`D|{~|o3By0h`ELqF#dhlgk+f(SP ztvVK`pKmZboUah3rtnL%p*;cTpeZok+n1`3un=iV<)dnM=fmLGUqfZLsIB16Y{ z3r*;k*WHwgPRTNlZUETFFs^M(p^!7iwJ@GzSw!lrWr?YF&jHv{Tlf02^UrbCAMd=f zx+#@mba~eso=YpaZ6khG{Wcd<)d}`q`l?Z5DY4ho9J!$0+yK^Zt(^|F7VeNMjs~l7 zv=Pq0hk44%>^}G51U5;=tXTr0%U03v-F|ZWYu18R(|Mr9p0k=!-af3{CkM0<^MNwZ z_w0)6SC$=%%pqUP&Tb;qxcv2=SZIn28HOQmJ%0s={uayLOnzth7J-cGH|NYAm3Z_B z*z8&J&Gc}Ph^FdkE5f{qyn8tcCeMouiSOcxBpWck;Rs9b|7}C&1O>w12;X`C&?iMD ziN(~jpUJ_u?M4ow)niqSFDh*edR0yLQw9(S!^rR)v9b-qeAq>oCW4U zW}%Gi6W{U_y22tYkk($)g7?phsZb?@dnu`e{pA>45SD;pl?5XRe(#g@yz)1ow*dA} zUPbpO3il5kMID=5kkCnAD4!eD3DZ5}&ahOkF70Q2cfN&I5w;JW zeR`+nySPn}^r1+V@CSwbkrQ5thS@3hyT@H`{vgYFXHU|ME?dDnIfrwCAQ`^IksOC2 zm!JR&Z71TuP)`86rQe_5Fca5{`Y>RFJB}h2?gq#}DAGeze+Cpyq|R^~`j6k28`3m# z=xpH-A8P+?Oh_+}uM%Hd6GrDklm9hmmk~D2&>FbeB!#9IEu{x2{m^aMc=UUQc21{Y zl|>R&RmoKeH_*)7Y5x{*5N|QwhJ<+Q@?DO8HWNSp8m|Qcb$IuGi7kAtup_jhBy^&j zon?{CVtT^hCj?>Q^`II_icEjKJzX=)c%xv>l&g+`r2Zs;Au+-@*r?k9CZt`1IDPJo z=?%>BjlmWn)HAbF^GI-;(Q-6Z0h{X)HK`};Emo^C0g$di-^VL=9orr>vw0Sfh7YQK z(iPi`Cdzxk1by5Yl|}d6z4as${XUao=w7>TT7(8Mi*%=5yYwI#^X3Q^_NPv8xK*#4 zw~#(u$Kc=`(#%{~rA`dz+2Mvy=E)Hnp}v}sUY`Uq`1sF?6!Or^gzi2)o%IkPJu-D9 zA%1*XXnx`t>C9#GkPoAdYQ6_lBdulLq_vHRJNvnYAHLHnv)*yv?5Mp8fPVP@*F4OG zzL+_?R%;0PhUAcijwX!xA@`*5x>AqBf`wjXCTtfC0fCYQ!huY1Fyou(A?jH=NSsLA76CuUwCa9v zKA(0WnsuuYc==YjSJ2m!BiiY*vJ}?efHS{ahtnsZ@81KI)OATgA;_a0KF~#D@ z`M6F#chHRI!OMq0RPwhTH=z8`ekB5);F4y!xw0exxy`=jW6=Od$MCD_2ZxuCtm^eW zs#mA%X2*KYj9IkvLZ0?uP-kS=RB}?nO(y$~L53muK~+QOIJ*eb4YguUz&W6I<@;hYVkAl(_L?1wdSwEcg8=0pYyq)%_`gU<3MId?aHluyV6hi8O zdy4uDo$pvK9z~i{FxA_uCJ$3Cl~K<-=@V{RZ_$%&&yy~NX}6#brcy6R1w+d&GD#hQ zIe5;AuyPg|%Up{|JP09)F)D;**9!rPwOslZn7qzLl5fSY9@Z3|pB+*zhd#aJy$Qx( z!3-JF3CXpw1}@6h&o8{hL>*SJUQbcH_5@_4iv#H#6^+o{Z+q8n&ZA}c}%v1I?6Qm~Wt*1pr zT&2|$lu=0;=qI_L{~ji@NeJ!jtK>;SxR|y|VOiQy`yc{O{J?-UhN8TOnVtU(l$+2s2qeQ#YE9R%~haN$+M1-SbJ$_j;t|f9L)90J1?^-6LSR4et->+&gODg>32$#pS9T zwSqF<(04&70`ROn#s=p=cAPPJppVa zf#>X>$R73Ary5|zQeGjg^&S?7{|D0QFfZU?HUroQ0K05#Xq;aNt}O}}jQNFcJ%nDd zwSDU@Y7C~K@r1vN+EQ=2Fm3`{=09d`UR_gOHV`ICd8irm$uohuPY2%*^`|B&G=RZz zG9u|RS0HA4{FGzN3fhvLqnbPGIpZfxaS<=V!EoVCI@qrwG3b(VQyEte%(k$(L8giVCC5obiQnIE2E zg^@@_(Ec=^QY)&0A2gQyzhB8S2Xdj)B)O$NTonHSIlBIU98DEi9S6OhbT;}$53rZ} z%A5=wY%0@GI*wOLmZrBp98IC{N~OwuR>jKscoN2cOBzV;9}*sw`-D8Lgl6}<88*#_ z)rfUt_J^`56IrktxPtI~L$DP>8u7DPVGqGgeU$n|3#&=Ro0oh@G>ZfyB|SG%yk^A@ z;CtaT12*4J6m~E$D6mQg?gN73QCcDvQZmR|y#?MQsV*C0uxV%oIt(wHyeH^$xO39? z+vB<2i0W-3S8=QzP+7yvGU(4(D6CV?+`{59XNce zK?z%m4p$-N$3Ob*8*6>OqPvfQOf&e{e>7Et$eT^D18S!Agks$wnrS)oc<;S7&Y-;d z_{T;>$>H9l4WE)%WOUiKVdc|j!YT_my5oBPLZi6MC>@LJ)CGrp#19swKMDq&hzmI1 zXO#riNRvF5x5b3 zqjYX;89!(=zuePYd7U;9-T-_C7sNPC-srUS*8=&4M#V}+aotID9L&S{hTv<%LphQL zC-0=l0e-iheydMRixi!p)aX!5KmAt_2>Jg<{q#-9q6>?24Ug%N%>G|1@t;scFBl-Z zh8+x54(%Nnp@nTQ5bN0YM1Up}Zg!F{(2`u6IYtqiUA;gq4~bt>(hf9t5Ot(7cVa5$ zHZ7Lxf)*r9=ZRrhZ$levfGPv|$(bs#oA_h9|Hff!ng-SY49wSm8K5^53bfYYwOwNu zVn*S0dtvLZtA;1XF+6X@EA-(n-24XlHnj~A@czGs7Xtcj>sv8%0xz!b+xZAl^YlBuu&x%bh&SH%YkVN&_5TqcE6?#}y{9!IlsGai>P%TlG;6tz7*=A(TF z(Nw~Cu$EB;8IOZsSE8OOj<@A5$v~#nuNiTwt=;u+#?%P?Ga%lDz2H;{6Jw*s${L1+ z7|@Ys|Gnj4o^v8ffpCF=sYLI~tTj`3sjxgs9yCqdoLZ22?o@6~frg1(wx!#$B^Gy` z5Y4ix8O@R5H;vSAs87{Vk8tM%_!UYw>yE|&SqRo-)ipI4sDm6G42B{Gz&nQ6eOW!m zeq_R2+2I!bn%!Vi@mJ+}r^Sik>iWu`FuOKO+4sEtXQ?8Sq09qf^NH^DuZf>I)nTWLXcahCwAGS@D$=MtGWpA|0RT74Sn7txr36ootvaxEJo$<@W3&keD zXFXBAmTfw=zE$nfMUMTrdNJtP7q+q&NYOVMT-J;eWZfC~*UDmpMD#{KxJvH|kv+6f zqmCX3s|ppc@O-{Ao*xkD1a^B6$*ax%pCx~P+ABE6X_aR-Rk+W11Prb~5@mSb(knQH zsmHq!!h$;1bE$EN?gqrw7B+bumDDX~0pl!qY#eV5f+N*K9`)@28WFZ>z-v|C4r3Et zBh{GAtjNcDwklS8?!KZhPKrt@FSbB>F4Ew_9a1GgY9mrQrH+ZWU}9%Vm7RfSrXyX8kkMMhEsf9(h1vJYL@7;=Mo+cqWMSQSrDsY-2T2ja)BCM)X=HFz|WLk)#| zopc)K76+(Tb6Mkal7v(37bxC~L(Zi8ftktYM-~88t10gL91XvaE~MqMETrPVmrkux zh}kaoFU=240CrqK&sl}aPkAf-lf~xjsRVB3D}+i1F$0k1X&jJ``IW8!oeP3d3R59M z$MeaaP0I=BjqP4Fg!@xPdjQg}q7WxI4@6qY0L~31()S|k%|M*sCGZ2lV%R3h>v|p1 z%<%bo7EbM@+GMlFR$HGwyGCQJ|D4T+K!j zik?>{kHf=8uaz8ksGb*KnLW-{ptgr%s+q(w#ezxKSX(6t^)$LEla#>a?=ZEsmk~Nx zP%xoteUQquU7^maA51m3t&MPFiz!{73|z}=t@X!W^*;ok{*XyoTJ{GXGugjNk=kxW z+OlxROSh=G4a>$p07c^z7OB3$R@{$BTblitX|@$Kc~?1oxe}N@+IWRyx>bl^cQl3f z#J;TRNo}pF+~k0EZ*QJN+`_odLHqM%c(Oz*HLp8wT$sG?U-J^g+b1nJ6?bVm{PF`Z z@1`~pn>yl#im!_K%e)1v$ z;w&Jcjyf>vtyfxs5Lu3*t8!IW_)5R3Nr1+g+(mx=VFk#zr;F9H`{|J8D-57L_vlMN zl)!()w~*n51lUI{E3O^(CkyPxgfPA~xr+~=QfpMQS`N($`f!AS${gskJCs}t?CVri zOg_hoD`iv-r4&!Ev#-f5@uBgICRk3O&J9~pxQc%rmq0T@Q4$DNTnM>?n_gy)R@%gE zh*__Rc%A!1m%!0?!Lr%Q?qfKm4Cexo@1e;i@OWtl=*jK^+{Q-R);y=gVs@ z>K^kUjari|e9Q)i?xhA6t&*ZGof3h$1{$rSP6Th7{~FDJPj6h~Gk`imD13E#sONqG zaNEmDeFyZ-nL)A9@j!xNQLf2KnWh+-cuWRh5F2v`+H9m->AO`Q#BmiJkAhZ>w63aa zSx1qq?0fY(E4-&@V@zU#ca4U1x?+pDsoZiW%PrCD1Eo6Sg!;cQAOMsIKI8)gjBXWW zNLCmYi{JgtNtrMa6T%&UNr3?JM^0+_;~oHWs^|$Jj!K6#6%XB)F5c8+WeMPQZu+UAaehsHf2j_dJeeFy%Ht`ZEMCBtX28*X3 z|6h0471q?&Z2>`1sv;mD29Y8lAiYT!5Rf8>ln4YVp@mM6UKQz51QqE;dWX;^OqOd$1#OkL1?Bo`l2Cse z8F{Lvr=|KK?B|(je~K1uZ{Xs?A+673p|_MG2AjT1o`#KPE7J(sz%@y=+^%y3-4S2z zu8o$y?Fp14x>NMzM(f%)0lQ+Ch=WnSTE-Z*9ptV6g<*W2@Ut6coz1}&OTC^*wq3`O zGCq9nQ0?Vm>!0Z|9F${4J9Bq(?q}jpLo4&lLtRI9Xm1e&j^yTSrGHLi(i$z)&;2OE zoeck%+RsP`l=ULlocm=CIB^erYi!!DB`X{H$upNVzCLEt1Oy~;ZTn%SKD$as04+BE z62GEUTC-Rxpc*3l8cMo-ID2M&h01nw2AN#4HX4!Z^D~e&z2}Fy@vc2b`;kmMuD%A* z6*KTGdGn~QT#4@n@O0?NODnC*^b$K zOGe*+uKVUIpH#j_e)>`T4aX-(nvc{HP7322swB@o@355^E)zWhg z1aI-Vn(mcNy)0O-{5g#h@{bS;wHbi@wDer}_8x?b|Aus<9DgVNGNJrhfSg>abl#(% zUCoJPlb@6vqwv}qLa!CAlsTr|cl@nc&LF%nQa<1W)pC*u01|T72 z{aG{C`XCkWv&GORfLInb`D+P;olytQy>Od_3q8WLd(7svQA$N7VsecD5Fl%`v9lI{ zvfQK`UAzFwKIhaAprp@v)h=!IbtftcEs0k$7B5a@Q#~ibu*r36j{dr^=glE3nRlO_ z_X_T*OMXxTj|h-)nco6XzmV*l{T%+izTFk5;xMUUETF`|q*F(7dV}I(EFjDpE?_nt z0^VMb%|`LQ51O)hCx%o)d`J*Y{+UG36Ymf4o+t6K?jbo74-dD?uka_UVPXnzP3QAO?n6R0^oDwHI0nUls+YmU^$sB$);rN42) z=GdZ=l%sSO>2$LM8mP+Y1tc!2c06)nnkgkANe){N+KF;q?#}_BL*0D81>|!%CxIy3 zd?@IdiVh{SV93me`|`0?iy;PgS?0QgoKMk!lwNf$*2x6qzX=mAxOtoegb{-dXUAq! zZ2+&C^dVhk?lwp=!3bfK1y6yWOdYV&%K(~aWT0Qc6)F!-T*F}3NpGN1TD18icaP-YbcApcdR(a z)cF2vZ2e?sfN=PqFbsWqqkO+YHBOg+F#pdcTta1T5c+bGpNczS*-|H|#xaZN@zEg- zX&%tsek_HOyTf2gRD%3M3XG zzc7WJR-4L-6kNghpo%Y?&+sSf0Vg=ET> z@-@52@>W1=16OR6A4ub&!FOQWdNn@FQ&)GO9E1ojQ7-rRH_dD1xh(7jqdQEKU>42a*b@ENa?{Z*<4 zrQr1bG+EiNB46AO->4a%1CwgdApRWdbE29x5_HL3^w2zEbk)IxK;d`@!8@S-rV+8k zoUO5o`*=INbB+{nLQ3Af&bLZS7T3r`ckMW4L#WR)QGZK(ofD1H0zJ5#UTk3LrW?{q z0hB=WNaXjltc~>Kwj&rj^IO;OTE=-K7@Pc!x)TQ;E6kCa=tor8VL=>=fCNxNqf?I{ z5w5QQqD`dxs=VpI%%n}yYtP!<<>KV4%XZJoAzf}3_Y?uGk7U*qmhZ(c_x9~%ZYw4s zJZ*onnMmO=Jf+m6MPMgQ{-X|I+ncl@3z7HhH|Qc)OH7+hqQo}{uirHGG*4T+GwMJd z8^L!j&$#V<=fe_^l8Mh4w_J2xwGVC6?G-r=)lYhvnI}C}sOVL+DrtZcl+7X&y*wsN zFVx=z!H_X&Q@#2gPF(H4bf1{pIpa7{ezv7!Mk zhNnun{9}QNh`+#r#Y0r=oqU>|GYq$uROiU*B%tEM-#Gt{Z-0F>E6dZo09Zo8z4lh+ zcK}_${$|)vc9;u;z>5$@kxnbU{}8aGHz$6LS-x;i-X@np*CbFv1; z1AC58PT83%1lyhd?3+$Q$t$MKSK?pCo|g4Foc-YZ1KnQ=+-NZFk)q$pz1`SJryJ|e z;A7`su&Tu{R-eZMzg^Nb?ACxWGO`~Dadq}S`ubH8Gx^khIfOa zyKBj{V9*z{ z=g6_qCb1%s_&p!0z>S{*i(26wUTG>f76g7~Cb0-C~1Re?lcFnUc;0b*uV#A zcHWE(i;wlhnN2s?>y_Wko8rk*j(Mjq>PS%-H95)Sf?KH6$>RD&&&yBgZThRoMyuy) zpGB=ho3dfqOH~73R0A{#jTX`$C_wwpO_xoUMLfG_xJqfbQ!DTYgXszx)%5I91Ac^< zj82RKbAPeTYAVr`k?@`3^_;9(vQ&M8J&SV3GMx@8>Mlm`pJn0o8$m2Y2lSw6aE(`h zTc`s|fE+PtkqPqX4A|s1JmK3o!-83Ca~8zL7ahf5vCoZz?89>GMaP3?;fYy}jd zlHM2L(|8-g43baCzVDOR>39kEX1)nLP#XA4AHk(W%1ecg>Y2sOfYi@hcnYrC;>qlY zquqcYAD9J=G)SKT&rKsKcXp5gTlD!3Pzc)JsE=4_y6`Yy4j%A;v_9~kzhwz% zNueu4<{gArT?2tYHi|DEn30lSSzzRo|8vjZcZbMbzV9lPe(O@ozu&x34s;awbt5V! zMF3k#AcQy}S9ARjo6fECFbx0-h$p+M{N2F6n;Pgx$5Oim)&8jX-~Xl-PehFHnEfQh z`o}YW`Dm|_pcN(?JaqFveFijsnx3T=iC><&`i}#C-#PBSL%3Tc5E;A|w)_%)?Q;vrfb zUy_j_kG{cOUS2*U4b()hpWuikdu%ow z98ltL$trBO=dqSP^3e$iura^tp2#(tMSefw{pjhW*H_Q&yI3P$xs6h zpt^O;h{@PNXBGlL2fVdt5(0K+iwg6PxwfV(o{5 z=P!B{V{i4O>%AD-jV0U)hq^-Jtm}5QbJN4~?o!K70!VwD1ZZ{f@bKu{A$8K~N90); zfk&RTn=iCX$ORFK_^j!3S2tH9X^R%j&fnZZlGO0r3B}5lpKo$flfD;~cKWnaEA^gY zTwHd3`Cwn8%;8+H$vBujS-`>8HmgCot4{;+Cp1+?y7mN zY+b+{t`5ctJkX5>NwKE+ALWxXB`(uid#pZ&!!@Iynu_y>QZ=z_Y56`=j!C8-vajiT z@3{?R{}lf?8GsDVzegn#HZhOs{8u z{@nZKYMZ4Vio;OcKevBwS#A6tRxb#hT+sMu3@XsD)Kc_COp;DL34H(FfWF;`+N#w) zGnwM%^&!7+hOb-~V?amIPq$ILG^sDu_&&*U4qJV5Yt43C;Z?S?u^D4;WUePSgtEJH zmGe^65n#frXnVwc93A8&-b z9ZZwcl%Yz=EOUF5-Yy67IQo;g-j<)|+c?2JJ9pf_<9?1`&S}F@NrQMhFMz}kbw{}y z70B*a&nx(x50c}sN1{8E@bmeeAfyO~am{(~b@jDvk>$232l#Pq(LexAaSU2i!y@_q!V$&Wd>}YXXKp zPu$x@xb2kkLi>A|x$f+_>tT1tO!A#uYqXfGB$T1v*v+Z=pkFsAhDwb$-d63At7Pz2`|4Q?f=S|S!`?Hlue+7nuJoY>AX^sXAiju1zIZER zMwn1-+M3JaQN0mjO2TsDeko)dpQY^4cevhXpIiOx!q@n&Xw~?7i139)pJVx=l9$0rhsA;az zi+3}2^LFoJ6XQ39@06v>PJ3G&cS~Jbf}TB}x9UKb)~H5rR~I)qwVq(io|(m}Xg$Qw zvUC)R_Etf!j3`?C8k-i>37)e2sBL?;O<@AlzWiqintMhVga&IIUJUeRg;d6sIv8-$ z7xH&^Hwp;uqgJM3<#6U#6xIg`0&1T3A9a6}&t#EO)PLG}U8o6B1hL0X?R*!{$SCJ&l?2EKq3(WQ|e` zTRk5M4d+*gMx2Q51yw1XZiGPv2R^5@Kx9d$+_I7n)~^>YQDHW1MDZAn3`SGU$QH<3 zmp5#o@z@5@lJz({^~aXjG87h)Q_}QAF!XazjLCb}LN&3TJ)4E4(o>h{2a*MkKJGtC z&rtO2J@)bP%C%KYm`}0XH5mI&>xTbKB~r80Nr2rTjewN)k!^B-`w;n zDK6gP%O7bE+Sy=e*>W&-i>y)kGiy?lY6W~i|D3A566i<&W)xyKA7?qFZOWPEe~=H} zwq*#XvDf-+B^^ENTPxFH#Rikj-{PsxX%tB+a9?&Uj7+)Ty4ALCWB&eDRHajo&a}P} zXPPf2ELj6sJQB_Z4f~&bWST- z8jCe`FLl`O0`=rXj8-Vd>!KJMYgWb({G!1~zb!_@ikRj=ueASiWR3e1?CpVrwbzB_ z<+xn^u{BgxNUZ^GtR#vzhx+H?5 z?d1_s(C$~V3C{H+D9-!UAzJw#eR@q|Hm4mk~-`Kma z?4h@%HLybX`bqZ)5rgIe!_VGyXnK2w558(cZ(D)TsbveH!Ia2a4AXZ%+Y;{?AcOTF z29SBd=W`3SGm+j^G1iMAa%Y#H;!a>iXAY0lNm;&!2J{h3qN;Y7C0B!bGwXi28#<+W z?>nmkXHSYs#!f1jrYq1r^#ks4{YU+#wRz+9zP_kj!o?D1boSAdgz9)?SLMpLVR$OM zw5enbIOq#%EX6Qt=j#gc7a8fg=KC- zx~S{n{SV@P+5O*sr7di0Hmdv;@#sO0_SW={ijj8#qap$Z+Ew|Jc4>)7_YeVFm#Y_5 zU6=WtDih#7TH+o3xy+@NnFD=%39g?t->^TpQaz#bLh1-QSdnBLm%SjV%cxmS-Z3B} ztA3Ab>=fz!#YRCh?f83&QiBEVip|iSSN9g2^ExWn(;PrT2;{g9!YSk3KqV+_IHUIMk@bxOv-3ocHT)UOCO) zCv>8AveQ0Hbq{-MV0iql%{WBj(~EIw%xadyMG0dl*gp&Jr^v@RH7Pk)^y#Xg*Ay{5 zTj6Px{uaA<36_16)>{$7){Mk;( zy#zKM^L5U&L>`aQc?wG{=aCtK@g%t!7e5;_B>E>K_08+$q?%AZ(=Ea`s*d1}=q#pH zm2Tg1xUf`N%3GS%(CVv3LyIL%6Z`NH&6P9w{#Pq=MJ~}>8xfXll>QGSDebzpnM;b{ zlU^peV19PXQnmT1cZ_VNsL3-soK1cFt%M7WG` zF8X47zrrmertv@GMB<8iQhd~myj~w$Xsq=WY>Xw=Vc~Fx`Kh|?!{lVy%>@kwh0IUm zCpAzvL)UcTqYC(m^3G<<+GG-DXm+cdqH4D-Q$nzyg?|I1E$!8HaJD^Va&*tuEaFnsuQ@puSn;dlGG-8Zurj$A)greW|(9_$*$eM5{)u-g?G|AN`SM zU#DqXBt_aGR+UD%w*fC^L$~p?bkRtR@a12_^RFesDT1JNiMX|A8Qwe@{*{4Y_{XEQ6u`uX zZduSFKGJPDAe|VLK!AN>)^NFagZtK%2n6`Z`~h9d(Z%xFk=fH#b^nQ6HqNl~!S>JM zcETg)gltk57Q7$(@2X1bV>}mF>c2RA!s-MRVk?-MnkvBOH1E*>roFiy2#9ZorHa%^>U6e= z|4sqCxlUNYuF@NCar58S1MlRnlTlA8@3ui#|NF<;q`=4juYY}aVDK>k0b!!*L;0uY zj`;s?@&CP*?GJn9GGRBPqN4N;!fTv`On~VgLO}ZXCV_7{+20-PyCM){-D1HGb`{|B sO5JGBJ1kpZ!6Qa;^WT9Oiw^NA=>GhL!i)uWbpqg}s-*d_L;(`?U!o?5Jpcdz literal 265059 zcmYhjw+{SB+!%I{1;Y@a#-#z52grra%%LQgIW04}Yy{?>#zSROPu}JU;oR0{_C&*Wc_ddD=7JY|DWl9|LZ^f-~Z>v zhg*LYb(jD3H~RVa>Td+<$E+^uJo_8v{zec4g6aPb(f=LBTmu?HmrN&Ex-gHjOv4~)KZcH$yl>i=IiZ{d+IYdsGCt_6nwLH?osT}Hme z<-euLqaL5SgSc4sldrtn5&>rVHs0bP9u z9z3r9W1D4~o`uV6uQd(hMCO{Nss61#X^+J1p}f{EW`rp@vXMr#-wpraaZDkH^vDZ| z9!J(v9Os>%-t$EN=SVx*M>hTt0`)*0$?+Z$e1nXnKc{*VFm?Wous0>ky#&rmD6(ZY z>4}jq25(qg2!Sdc+*b{$IKQiB&{@1KuYx+}v(?d<4 zNKl;n>y;hg0*9S;2YV@izPHmO8*-ozI^Wj$eK;u&M;(9K<~|(!sU~1|tw`W9{0>b) zg9|FV?L`QR2K3>AZ~Xh>g|2;d3_MIsFQl%#NF$P_!LGA;ii6^VKIw!aw%z6E0o*^Q z0iH$Qud=^)JMvBrjmd#BvuZ%)^eqN8Fz_Rsg&n~@Xp2fj=%NJ?qRBj?2ilmYS=&-KX~wd>%!9&m2?$zc={4rw2bYfMUTEkIp%s zMC(8m*03`eevI0!915K7RtPk!z_xBvuy*au8<4`)jP*?#a&#x-LA76&+LM@M3f*U%^ z-?Ou`!w98g8f#qc0)BE}F<5d0f zb%saSwSc=UO~KBCP0P$2h6X9_1}Y^DP=rW&QWX!bWnqY$(N{;F1R*gW8w!%WR4@i> z&iRXS=>66o(uD&3vjP3o8knt66}lOkYHFMB;O$YXEgdY`*J2a34d20IElSdW#HD5c z+r^&rqId3luv4L^_LoP;uY)zqm;T)R4agAd$T9k5Xc$~BXu(diAJ=sgW!n=-)1Hj5 zx9ed?ENJ}?S@A? zOU6Bj%MrQzDEE*b8@dr!j`BPgy1wA2F9NP0_!PCA6v`du1i_sN{I4%dV>xEmF9U*wa z;0ho1j=%eAxo52GZ$C^~xs!2e$ybm;u?c%^?5$1xG-q3;LZIJ|uEPBpc|(rH7uUH< z#dy${_N6p+>l8ws2VFxZDjifcyVz*BcxS7*51tTJITbWdptUJ19iBQ5{QcfNI!G>9 zTo3PRRDO}`0llt9a&4P`HxuX@b|!lC?}OkG@@b^mh^yyC1?2Zt{lMJ~hGzsy`+3V= z9N?T_-)f#^7Vq>M^x{bt{+WsDX9N&6_g$-9M43{T;;c)I;`PgEe)gp@ zx_JaATN&Z^=KOYDv6uFxBBkLw!nf+CVU}Ynp=gc7s*((POAelZ!)GOUI$)AD1Mvca z*Cg#7`-f~ld-yqy2}jI$#`b;-6X>D4=UH0u>)Sq_!AKK^4)Kd3I5+i*#D3S9N5-1Y zOi6Z-%damF=;?<#!+`0mk7+@M zA)pfbA^~|4V&%ufucJH<6svOs$QyeGoYy$Fp3XVf5{c7grEoyJzq_%@VD97TqU_ao zWdqt4N4t=T)HLb-ac!0jnZKZ%kgW!y+!rZn(q7SY>CLt%@I%H&<(NnfVZdON-}^HT zV|~yJQhBr#UEKAJFPQTilC$p0aDrd5(`rt^%X`{w52ebkZ7d{ZG-c}_h4YK!U^-g+ z!|B(tW97(XOeZPod^ghi`K1mf`23$6Sbd3`a5nJW4p`W)_o#ObO;%Bb8ga+V_tn=B)2dHoCR62?;CF(+9fn?KR;1DpjAK_;mk9no;BW~e> zJKfF6?CyBDo!G5}9CsiXe&c+wA3ywbMM{0^i;-L_UBmHmuG)dv70WVe;A4OGAly3a zeStspjH!xU3Cb%JM#GCiPUR|m>D*Bo+XWQ)BET;8f-_VrgF2;wjspNfAY1W>zmQdO zuCEp_ID+uS%7~dS1lerJMjOa10{S2ryIe@?BoTjp*<1)_AZ6c(!O>JY(X{PGqN&8FO4mbY3}YZcy-8KrA{#Y;eE+>U>iv>109}I+~urNdRrAY!FXz zWFby$?hfh$9@2LnwSvn79k-6H;KF(qX&MdWW|YN(jH#H29(?FumGNQ%yKSmR2wns>=Ub>==MZHKj%2` z=kt-aI8@aJsCBv8x0{8e^}*h9buK2EGdOP`3JM$7xBNLUxqtrfIgRSoQw|7eRvlpv zOGRww!`~8NLv=7T{Y1#@9qNbWI^zO53G%t0HStP|mhc}nx<_gN77tU1Au?d@90enV z^=|*kmhTR-3ibrN+~f!1_jSgcK?;Z1P8V{vGOEi&@L?-MB)x>Dt8tF0JcA$HL*xu{{8SgCH7m zxQZk0d+yM5_RAXprt8BMR8KRJH$Y4Fw!yivE5caMhZ$m4#fDyKeU7AKF@q_Y9v_~0 zMd_)+REQwsZbqxnet8XRt6r3>E|%2USvAGU)vDZCcB*Iygzk@T&=LVObP16AGTqrs zIgZL-{1Y8w$vu1KEcGLA6T*3}1k8;PLn}xgnQBSQi=f9qkvnxaJm&5x=nL8w2A&L% z)~P;UZQ4o8&?WQ{0t6wBq-*mHs^h>XONLNbzuE2>kbSsk)e#^r_M+XBUXJo0a???37Y#vlb1Hm85xE&jlw8MFP?nLFYYI*3>2nZ-zke;A_3YUib$C)Nu4o$v@v{T zq^J*41?n_KMIY4C)H>G7JnF4m*s>?cy@W`W6hCMRRSdvD1p=C$#LaL35yHqXWfKbF ze&5qd^fyB#Kn%{DA!s#7zOrfhp*P{Zl#O)>x!M3m+{XUtQ2OW|J)o${4lD*w4(WKk%B?roDnvmwfG5TDITbz zEPQaL>q%AYyoYxwa+Or2bkC|Cq#V0N61XU0g?#+kCq0!>* zB|n~#@0PDA=k(U6+`ZZN5%+WN!cTe305>?}HCzc-tL3#e#0sq|L+zzp?usF?MG5~hl#0Vbg1wpI!UBYbY>`nog4 z;IrfVxQXuLtARFcLdpf|et<-D*I=ja(SOhzx+Jbw6=Nm4-GN@PDGd~x@lLwR2}l@> zvf}v)G*1on`0pEnQ9gZNr zaQ6mXUzJ6gDr^{5xJ$>!+J}dE@IGMwFn3GE_QRfe$Lg0o(FwsIv)K5P^e$vIr_;Dy@?}5U44%E zH7T8{vV9sNj6}Glw9hPmE5U(flKNOtYW!|yU(ZyYzg6yUH@(@2+;nYA0z+Cv`K!C} z$x>`oB7aC7NHk!g!6cbPz$E4OE2W)MV)b28*0{z%TWTf|SLsXOY}6UIouGo#_%2Sm zS0YNmjaM01XX~zH@#PtAA6$Vb^(ACIl|0xu`_>n-i+Y6xjh=B2_P)&tCr%sj_`DjtBW>vl#A&t<7?Q^`{?u64aV+vMO{E^P3*&g& z1J+7@{Jb=As%i-mWfkS%xl`(rhav74_m6?q=bOVT;GhPkg+N1NlhFK}8LM5V9@eKymRvIkZHzXI&b6nodka?jHVgqC4iuCZlu z%7y;4K(P{192YbC>$q~qe~A?zcQDD_$}6w+q>kJL#z9_fu)CFj(;dA#sC3T!k4xzj zQudeWQKPQGJW)h_48J_Xdw-7mjyWekU!KtJkPg$&Ou1XsE>~RKL>mAz{3}-yYhC9t zdPtLDdJ6G?~JqJnO){iN{K?3ZSIohcEOS;34It;J`=H-*=^p>o% zk(nqsQpFpa#&hOHjm%W4=FduqT20DdJCR2566_xRB@r-j$1eJ~Sz-cBt0J}E1ig%V zft9052ntqfYn$@#_h$|;P;Pp@qZ)Ut;AdSeo$`4x@Tf432vz+>RMcj0;1Bz6kEqSQ zGRV9A1jGLrxxAKsWGf9DXOZf6CuP(vCJ3%<_Y@p2eYYYF@gf1BxdC2>Rde3?%F|Qb z^+fZ>%lXwy%`qSAc~*_DbS2@V3+MTI6ovcsh2#|>xT7WJQ^**Oda($s1Jb4f1Y4>U zl1O7e8Zb1wtTueVx`8k`n$(omrds0`3$F`PxW#?@EY{W_Q+PIh=`Aph4Tu;_zZ!aR zhLh-*4y9WB+w5juQ)PC4LiBpW*a%TBMmeukX*a_D8ip^YIVRGT~PCX z6nPp#B`>>ip}V~#92cT2>E929ULH0J2x+wNOn27`8||-)&=8-sXmEoWIr#KWVFJk` zGpPW7WxZcCIjzb+>JN4U&>Vb1498b$VSS2)Uo`t%jX#~89Teb3fHM8jf+-DF%AOqH zD_DwoJu??h8}bewE&VwDaD7{<4BFRa^OMXhpuh!~!L%S3%;FZB$d9p zb$$FK;WO4mgkPUj_#hp8k*9lvg1IU$x)qY{*_et|4xwj1`X-DWI7(j`;oJwA#m$%( z=RLo*t`HNKM7+t52=12FEI@JvC|014s32*u2w{VbO?&M(8u$W}Mlk*kbVfFHoy$$X zG?!c}5~yO;I3Md-C5`;fAmc=C>c%9)eR`jwe9Wi!IDOL=WW8UaD^;h(cu>+6b_>eg zG1UVF$g8?G&qYKoUqK1L39&Ze2VVJ-KpGe;&`+eDjt``y|Efy1n>F0I+aorr@Q1E4Eb&31+A&R z9?vz!pwXu1wk5FbZVwvEVeC$m(Stk|)_ZLi=JxKo3Yf+G3xZZjVgyDqk(7l;R9>QwX7brn?MZrMYVM4NW%$&MQX{KmD*l$zQ0nF-;h;mt3W)B z)f&0yQT)P4`5+JUcl8t%Rm0o>nR;WzKwsh14aeAytnc`IWySN+hy?~$C#scnBKPE_ z2UfT-wTTAp7g&Tk`V`lYmUdwos@f`*Qlcr#j0jh1OTbLxE+Ac=rX)!bFz$z@WbZdq zvYq~&&M!>Su@1#>@v~2uXP^4>qh#~TI`1iycCxK3yQ#6`A633%UK@tC`;2{IQ1JRB z8-=bW&{cOnwle9(ygv5VdJ&$%SxT$cGy#aSE;1dVpLa#rS>sfj@OYqoW-`v)3~DX1 zOM0ev@tym_G$vqOseRV}0_{Lhh#!i46tiD8EeZy1LPHAQ9{Ck!`c6= zIoIQA;SxGuYlL4?w%J5W>#?(2Z42nCH8z%#6QKtLP@o0dOjpX^a~VC2ioF_XWwZsp zqHxMo;v6HQBL!P-D@K&}mu>GW?IWo3e7_a5=1*7fF94!F3W5>_vmqTh|8ryGG-}e(=vxF`$@e58TbSyunPfUrwmWp zIEOzpr$b&&1WQeyGg5?^*Pc$Ejke@DJ_(C{XB9((i3YQLg;G8zNM|oEA%%@O+KN5E z0i3b4deV57KiMVjqdl4R$rXSSzGM11Ac_kOGg~G(OK58-C(td+0hd=4Ay-76Q7i(Y zBv`Nh-!K8PwH4@an#+h_u zdJ-tDiEgn|q0-%Nh>L?n_t?)PchJKKM@Z zjdF5k^k4ciZtTtx4Nz3$y>X8pRfR<`qp2(n{3}7wTE=aAQII)cZJ8^U2Dv%d8Ixtg zQpM>o7l)sM*yxW~65nhI$&t@+wt3T}wrf{ETA${S?xkwKpZQIhN7Pf&curw~r zsQM)0m=P@uC>vOGVl2$#qK2;m{9s4n3lP{;8K!%IyaUvceFuBu*SN6mBS&M$04xLo z5vef+EbV-9($H^=;`P<9xMTG%FD>`4Ye3VoH=0n+-?0Etz%tzuzQQgxx<3T(%otyk zwD}eyGc31G5tf?ZI(O+el}V0g$ai1yhix1!?By?%*)tF?g)HFb5hZKeQ4arW^Pdz! zI%iOGVUlU}*0-BLZfIOlTEHzt9iPt8fXV1JfIf3O(UDAH7qF2ChQz4WJKt|U-feo$ zj}EL996n;Yn0yF=><&6mirh4|SFBA1+Af$42w1{>hxz&-eG;bn0uEEyQbxcpa52+A zs25;2H6tVsV#2)@D}!+AdN->0G(0*HQX2cyAXdkwcehLT3)_^(3e#R-;Vp=~%BiGv zrWvzQmS#BAU31YFaMk@pWFM#|%kohKXbelPoh)WK##Jyq?+37;K>mR6!FrRKVDzY{ zWDOLZSYQHE*+UVe1Pp@h(4`)TU3jrPq6VTDEI#{uWQY>@>?PuYNvPhTXcm1cGFLN) z5FFO_)vIPTIhQ8ySj>Ur(H{$%_4*0PhzTqlK$Y-fz$DtxOW2!M*vRInTZ!Ury;%Sr zuo6M2c|C)tE**1Rncsf`DtZ;fO9I%ee$o*sB)0}Ne0oi=K-=O%E$LNsyK_OsPzMU`K8XkN4V9TtTEl$oJ$c?<4UP3Omp5_S%4W9KJ9QE1bW-ZT!>Rw!=zIu*eQfjugjj)1sUmhqZe<(z?P-PCty zqc|iWvft{Xw-OZlAL>FA5L|jWNtMMUCdj~U8`#@v|pQYSVKzo2Ehm@5D-^-P3`nFBH2(+mXd*bto0l6iX| zVm5X84?Bjhc!|7KnZqJ6bx1l>``)m=Y83Y$gP#MA0EAOKQe0E z>4-b+n)0jtM~98g?JSTH=qRj6g(98?g5dtH>HhhbOP?){XCMyHY?KeHz_#p_bpgVj zxF_LVb}L!9ZxuR^3oxb2q@tx(mOzhC3u;#uzBOl!E!QZM*GpL^s)%5D#OtvZ;1KlH`P&4; z1sUATy&S_L#6Afk^zJM<l+B+<@DaZNOj6kLe1=M6 zCamxDD^3k=F>V0m%!9n_hy@;RMA2n)<-H&MX`+Y>>`muzQT#7=^yn5kOyXiuz5yk>2|^o$Sv%;Jh%QC|%X>lts<&^Y^b%v#FD~a*il+0ZT$q@{ z%AG@t=DAZETYzEZjROA=McaNAntAjJagnIY&Qyv0td#0_tgb?bc4;IjntnB~3Kjs2}HMPk52|SERUvDnwE0XM=%@0^`)8VC6 z`|ptb!rZX32X`(9en{Hq;u^Bh`^1Z}MT!)7aK>^}ZF5=pq{=P&*)N;uLlJ_N^((ht zT7_6YzTN5uGq` zxoWW=rZ3S1JO~6GnKLmdm~Y{syj}j87Yzs|zrVznff6h8m;p&EH5mp`UO&GSPi;KH zh09{6K=>FFc0%G)Xq^rWAvv49==p4B^)9h&O4UJ>>e|T5A{Mn!Zvj}+>jbPVxUg?` zW`)0Zz+mK>8~m8SP?uQ?Y_}I^EwI0YvADQU!^#I53rlt9;@_xaK+M4mUEvDppyVGo zF{#SAAODpM$qLK5gmO?lvBUBy*!EKct1|E|5{ZtKLdjyl@_(bI0s&NGtMVlbYmN=T z3LeSU%PkxrGqPrLKG$Pm_CX32CW{vJY!lKUS?b%q0zvo@gV#+@gQ z)v;)%k{y3Snk|)RTqRQ;ay|XR^Rp!T%OI$mGE~^1Uj9)WlY@ zWm)6|O5Qc>T%Cy)2RxIX=K5)-i1nBR0z;4c#bwrGE5H%Jve`cY9^GyI9JI9UsUS87 zEd5=L0K`&Z6@OQLEgv}dz4?b!6BXosXA+OcdE?itUa3sL0F(=!`$-KD{zGbRfy_X# za*=!l!nfc})r4ZA02S;SRkUw`zBTQ%e>N^Ytmk5M`!hCMjY-d8o1z2}FVqUp`UCO% z_u`+&^}I!{xZS6^xXGApS0`Y_9?RYZ@GB&11ddo}4CdND$aCF2wnY<&g;{{u>9NOy zSNuboA8)OI8Xd-ChSv_S3n&%fRjmL~mgSoG<;sv)P~Sa$xWl&8(134jDYwUbC|>?a z3x!BE6qseDunjQJY+t}V*ah%xvCNHHLYm3=?cxY6X^UB&_Vi&pfq(%C)Y?TEQdV@* z;;VHVAyDn7Q!IX4jINOu+6Y?0{`o+Qv%xK>uYoWV{3ZN^RNyK?2$$oM1y#P%-MqOomQg{2zLgi3C7q!doTuz%;g0Y4qgl%RLao|gA5AAqS_+AeH&C6 zW}aJ=z_-^A-5FRP&#XM2)h;lgM&V9$kUF=-08LMW~;J)XMU zvu2B8`4x~fcnU>5@(u&@I_H79an?er`K7gQS;`Yif&~kNbLat~0iNCM3kWWnHzSxd zO+IP{1G*+u#9-Tmda?RSgKZEx;JPFiOY}&f4n&mFn~vqCf#WOQ==~5FK_-q!afU3|vw= zSuQ_|ctIMgUv-i#^|sVpe95{|0QUlA{zSKR#c3y^2nd8A6bA;?`e}pJu+{uLBUNeC zagfVUgEL`SPl36BMla;!NmgxqLy!ZI-7sT;eG$H33m)cAV$knrvm{f|O5r5f8PL5u zOJjx{Bb#&9k*LjA!;2|s8lgb3aFbSjZ2R&D_%-uzK!v`u5NK9KBRQn)eEkUaeCnGx z6$k>aOt&q6W)Bxqk+D_ZRwn&T7fk4{%qu5;>Qq0+wmp&qGHo|d4l$m*=+a1u6Dm$k6p-7% z>zK}_$pP;t>~7+SO{oYysl0!_cPMyYp?2IB1W52A#LBCLv3g-^fXWEpg&^en1*nx8 z*)zcf2#Mb_GG(A;Cjy&t$fm1Y#dVP8JLiEBI1(T9#Bmxl^;|Qi8v0$tB|RiZ)S|s$ z6Bn9SF~x3jl=KD5F#BRHoPQ1yc9!S|z)RSJEgR+}&ev%&kFid35NFw@N2`zt=yZ+Z z>lF%bSsic|^%xBVGtGT}{eqWhU{{A>bC>C(b$=Vm3}1)^<>FkM&nf>NzA(uVy3bwY z5nwi_F!Pwe2(-<}QiqkAjO{KRAYpJ7@oi zcv&Hp9t5Z@Q+0xh)1d(5*Q{c01mV={pRj&Tc*Ht_;6jDd)`^e5TLt80SnpULZi*w2QrVlEqyw?U_MiK?cBHt#LHZ?61%3&<2{Zz`%BF)YzPm|oMx{?ICiT`=94Vauq4^|E>A?EL!0|eR zRKNT?6(KW|N~7GTiKh5{n9zq3OkVh8&n!G>FzOcC zJiK4wbYyoI7te|a%$sP#fOu92WLZv>fjS()n79TsB7q^NH~cQv{b1@MGTe*MRYot; z=2tqr&oMT!!>pR9UY^(HES#Z?tS%UoRRWhiG(e((ZC@2LpvDNxX1M(cQ7^cizXf=E z(!;4N>;(vp2K@XREdw|n!H@}&G0SE!fcLthfnp{?kfmhZB6H!7sDRr@auS6lmuevN zX0@h-R3_9jl91O=SSiVDGeZzvC2X-VZFYDkHkCd;1R^X7eewexN$fTKnK5VHwU{4H z<}~{<((3N{QxGj|Bmm39dp`1a0ZSErMGo9xsdEqQyEgExW3J(k*X9FHac+FO4=B`u z>M1gEjY#XS0O7Xj$uZy0%PxabcA8gj576Bwe`s8U<9>3#@6yjejCjXj54;w;`*RrX zIG^F`f?j=SLsfLki6WdoS^3l7sD{oys&7&W2vf<;$>`Y%dr3yswELK#%^?s; z5%+a#h`rTDpV{<|b;8kS2T9%;XwcF0yVX7qM=}EPnqvpn1rYQ{<9^FCCZ@{Ee z33Mlf%lZ7V-S8j>U1>jp?Uh^EKLF&|?_@9#NDaXh^R-ePD--lq)@$%$e^P%f51{0M zCJidb^VfI<^-jGMkLs}#Tzf?+0&3+>AXlg?0sZ`Kxjh5o2y!u1qHup0$X}qD5d_m( zV6f}j95s4j^UTOaDQgFi@HclF)r786#ftzc3g4_CxGtn-NyOa70d!9pKwRH_-6V*C!3)r>+b$myQuG_i&beYr3yEu927Y4A z4y6$_j$s;k%mQ&?-z|}$fu&Glds=H>sjvKSz;a26k=FsY0rsVcen!xCjzLz3s?buZ z#()J~;ww%-7c+<%cTwIr@D^oMVC=ECpeqMiXJ3{G{U4KJztUbc^UE`1u=Wgy-UT^M z#rLcBia_U|`f>CRI)RN4ej5JT9a##eHDR>jB-W3b|3AR+AtK$KV(=$uxVOups>4OFga+9VV=!LH&t+#t!%KuKni2GCKP z{?S;Bk^sS<-)aL0!?H5Set-^tOujE5WpQ@}>lt-u`Uf;N&%EejSuPuJFiNyP^!O)1 znJbL~wq}x(PzsoIGMh-K=r^3)(LfnpnOg(GiNAr6+N~l^(c$lLvdN1GIQa-nNJxFD z3y#2bfaiuwK+M#ET#90V>b$R3A;6lSROl{U62`M5|PpkQqx6&#JZDjkC*x8M@23R zBemYQTBGOu`UuQYAkjEPSp5ApOqI?|m5r>y+E> z2!*ZyX|pPZR^FPn^%D?45J+OgW6|_J{{@j?dR9WB^JPBW*J;Y zLC|;t{keJtC1y$Ws7?0`L`nq7Npe~L(qHEefHQId{FOygpshi&L3PEh15bDGeWG`p z(s>DK>ZPE>Ar}$Q;hA19ngMZ2@sA9*THMYkT&7o^y!CWEv@)4-D6YlpaYYygd?58v zXPq&ruiV_a_+DZ~>fxYE^NBk4RiZn^n1F$t-NE&St(XiSBpY~Ge=ql*NOcX1Wn;HX zmVsQLrPlG53qY=mjfWWMlcGi^GMYd8Hyp!@6ggp`-iN+hrr=dTM+FmhY11078dxZN*H5A3h83C>O>uew<(&4FpUd@`1PYa_#`pkLsW@sN^0N* z)HPY75)er!%GE24f99eF2?M~t2{$$3g5=0E$|DGpX`H{>Y`+7>Q>#5F&R=%SFP?kz z;+oNpM2v73$q{$3jP9G7nf7?$S}yh;yAvLcj;5C zk4u5hfI|EQEnWd&*VpJ*0r>{7?nM8Bkep>Je{13R_z5BfL5(2^Y1(<|f)!Hf%UWRI z5#K+{0le34VS}7a@ncaTcy)wTBo2tUY_)3LIq*^dT7k%+TMG-(0}!$%N>cIzLIekY z76_y#8(p8`Is{T17^!#A=JLQV_`IB;SnG;ykm!UZ;Q5njDqr-Jp*{+~ zI;%)o<#@?YTNO3Py92zPRV+OoQgdGw!dsbF4QLXpm3Cch4}h}ovQZGdKu~>%LnMew zCbHsS76H6O0?l5SICQOE z^)C&hq37Egh&=i8$^uK%)<*lZ)rt|s^a3CWaEyI5@hcicsK=Bj2dW&Z4#xZg$zv}; zX&Y}9TuWkDm3SqLaa*MUwboSV6^r0WI2}Pa2ykr<)zO66b9QD?6JovFoTFV9$u)hk zrq0^1YR0xJ9vJ}W{dQ_@R6{8+TlUF_R8m0DweY3Et0%T$e#b3tc6$*5e44|sUDT}& zx>&8`$uB8ypoaE4uP6SXGDs{Q{0->RB2A_=&FdO(v#tfa1vDoX48A6zktcby0iv(@ z$TaSl#J#K$$kaa-p`DzUKq^bmzV@1{wHR%%&hq+ne+Uf7$_=;^fB_pez`+5CfzY)E znfJRNE(pGUQd+7tRe+U2pOTZyNaBOC32}A-|M}x3DuJ2XpvxJ&dI2n68To2izzZf! z3q4BgYy7B>kMTLkcX88=mvs)f@P3s_QHP4lBV9Uen}cY)L_hfA3TZHYb~(J`OMtiE zXvZPI0C95P@K-TMJA0qJaLyD&kbrDFP`CDA4Z(rS?HZe$YUhfoJN$*56T95L0bhvx zl+@Yx4#;ImbjdP-3ZaG_NrP0H55W<{Y;q_YP&m`v^W#($$ddLYCDH_q(p8Xo&RgW5 z-Jw~$fw>^~r$1G4tTdu>Clb6w;Di4#*a#K6=uF-9@c?>q+>tynz-n%RO4X?8-(3V} z%oe~+S)@P(1^sy7H4{J8rGR^qg23*(sqztKY-2&TAQHzvyKx4^oKzxDfCrB4LB87# za;sjH0(Ka&wSld{G%L8)f1W5_Ee~wme=>Nj_(MtSqm)6+;9wx;>K6RKVmz;g!-dvF zo2#_|#Fx!>9SD8V&{Me^oL}KbjQz`&lnN^^ApZQ0%HdE5(?4e^r_hf+P+2@VU=R7m z7{YI-6tdc=%2LV=${eO8B;om7(!%dYT?ohv^pCCrkug$Y^C?Ia%||y4iJ6ANa`?3$ zmF{+ak3^YP+$Qtmhw_I~nHCMu`LCR#iGGXKb;ngeET76W9qq2ev&{;3EO@$bOOK5+ z_kAA(+vWU^`gX2BxN=?vZRn65DaF|z#h^8Y6$M^Y|6rwKdKQy z%{=}fo(j@Hk$Xt8>mnxwWRI-}G>F#!N78j|DT+nWUm}M`GLnPDH;{~=lHu$7P(5p= zr>jIzxZ#8yjy3^Md^|tiKVvLRT~?_29*)8TNb}rcEToY*Sil{Qyghc?a=S0{{NSX( zaFK7nkB2heJLKjR^GVQuP$j9>Ec4Y`*)nz2Pxxc@8E;-jyLH2 zuwxp}VvboepGC0z<}<^OY8HUj-d$&b3N#`T;cK+-3#~)Avkpbm?T@?~YQw+N zH0hP!L#Qb>scb`Ar!h;?Wow18U~p zQ?X3HcjU*!T#b+~QtE)Um9gf-^Z^$0k>o2-Do<_M9V_ck_hYRak0Xxgr^?bsY8CsB zD@+E}SWS1ElIe)LeHzFSjL@gwA%Vi96QH9Au5r1)`jKy8wH|V#@yph zROKNym(8o|xTW9k!U=Ca+!t6$=g$FDsS?N{6oPz_Mi=^{JkT4l6H@nG+?ILFIcQwP zz>Q?^Bu%;?Tz__svhJ_2Qvhwc2zTiKTD_p-o=U{l##Z>XiSo$Y(C&-&! zt?1lQLze$+EhrD8s?nTaaG&0Bu6>%~9a~t8BcdI({n`{jPbKvWYZV_%I2{Dw@H)c! z9%QI;`PfIZjzxmaAEs0@95t2u=LZr!d2`?J=Yhge^@T7N;5u^x5`&kf0G`UY?(v~( z`tWfu!Of$WXEj2SKXXg&K=A;2jw2o_1%gv#iTz?LclQj-~>JPQr!o!6Z0@n(t@ zCL;gvv^!x&HQvfujF^sR!PpC+`Q7I|?#AHY%xu=?n`k75P`Ye0 zEYSr~i{DZ1^H5U~fz^}~|LXN{o7Tjsq0`yi8jo@-K?=bCC~2pz0Dgd7YZviU?zP?%UIDcapX`$zd%cXlwn&Dp z1H4);Pr#CGx3j$PNe8+a_4zq4P)W1OH&TNDS!u9-k}h}~V1n10HCpZ1y?d<--S481 z>FRms^(x5?9U8yfp6+|czdz0y<)+-nxn0B$7{aq3vwo#mE9c zp(I5L^h7p+G6GmbWlns0{*z|ciPGsl|4m(lu`u-kfh2jKurBf59nUu?u^?1=Ij_fe zq&a?^#t|NijaM2}UzkMnx(hWnWUKohTzG>x8EO;D&8m5tq-{lyD3rfnKTNAP_ZmB! zj;kpQYkb_1_nBE&Y$E;v-MMQNr}OcNpa92fh=iTzRmr<7ze$7xUagq`aO?!8pW}wo zQ-m}`YRzBZv-7igfIbzBN@E`?K%=w$g&RLyU7Dh~SZLsM(Zhi_kB^NK8u8ar0X%?d zIhb0=eCM>v4E(SK8c%;O6&obLaG@ojHLnp85>IvJCXS z`Hm6n_g!6~4g{(#Vio9Ckc)s!)&S`Fl6uIA1T=EocfDtW6k)q9Hn^eVef5HcSf&r^8#c5u1l{sXfyyVP8g5`eg#73Q&HZu=l6 zG;ox(5uQY|(*yJt<@oc})O8=3bEyqeO*0dpCl3TuRBwMnkov23>p5Avg90kvWG|!i zDh(bTkqUbT50W6Y``u&0Vf#OQ8f=Z*jQbh8>FdrFXDf$m z_jqLHW55gU4RKld)DoFN9EGnIwuhL8XY-krMd@DBdhzF%goTSlWcbi&F;CfjSaxC* zlTeY(%F-~a`23;6P3$WfJNRQU;({(_fak@VY?bOfm<7le<_%Zv;w;&UV0E_nh=IXS7JCNTA zB^Q6`5JJ;4BI>xjV`oN+Oz*8b9P_s!IjdAu^P@N)JcuqKiK-};P*GeV&eKP>?r8GW zM+)IO1roMC4rj3CQdE>Xg?fEI41i_CZnyMS_Akh?C^5BvKwgT+pi)Z~w9*`UYMA6?Pg3>bJx63$!WAx>lCIri;{jXgOkbWxHXwi)7x;WzgpfZsI)@_P` zbM4r=YO}S76SMAH++$oB=8w&4&1G9RS&Y6f%(bHLkE=@D?VfcCMNKUJ?w zsev$fOPV(ju94f%11X{OA?LVlNL zzuQkzTtZ*NKOj3%?esWZO1Zy&3P8H77;yyTpnPdw0S052B+5D;&aU$AmCs4n^>JMz zZy+f3o#k3;ac_~zy&;vBV`_HA-YF{JsH^97#}T<;xFK*`1rsRoaHt+M&(kWOlLlqR z`PaP}BYuI-T}c)n4tvTC`qA41>QM%We=+KCNs9|X(#6;~F?lrBJ_Z`C*_T*=bcw|} zc1cORqJz447VZ5;Ddp#)avPC=+TG`+^b>2G4nF6dDN!!~>`+TF#p3vY?lv@O_`CHj zpDyXXk%N7N9}FaU7Aom)VrC9IJkQx4x$*VRuP!=mPL-nb#rs_Ql9y1LEF`JLnO^tL$}jtYAY~3@#I27PZq8 zeaz+Q5_8`IDCQ1SGI4k6nNG`EhaQYh2!RubF3^f#82UdhrgJ;QAJ7Umilp7+JjPl5 zQHF?~^3Bm|^9;|Q7tJE#`9?+fdz zeE{tYVEGxmEB5pY6G|5}T!H=jTb}x`8&!MXI!CP71Zcj^X+ewVh@{Gg3wa@h`amC5`UChbuI9ReG1~GMB#9qF^Q-C~Eq~m($eFe#~NTPYE zB;L;yTq;*!0pp>+bE(Yg5yZVL3hvHSJe=9ZV@dg(Qdt2d~|?cw>sHo z+bosRHd!)~9}ynv>eS5SfkKmYxj)5*3lG~>p0b8xUQZw(iKm3PCUAhy>(9?3%&h&v z#s`hp+xYf(6&NT;Ft-KpWL~C-R?7lN7MKq}aR6EJ87Ura&@_M-xdX5D`R#u|Gf}W=$_F^KCTWpk&t{L3{Tu zKq5amyj@2$1u_q`)eVEvhad(ft>ba#L4H`$ZEy+~k`6r;A%=)4M7X~?%f8s%GNmFV z=|>m>#NY>%AR{350N7^aDjP>5uyBceQQ7SQI!#%80;33eqICf2|2LFa@dXeA0$LxS zdRc?gVn7^-S|6AT&?p5fi_#Du`Qb$O=#`=tv62L8Y`~asgC}b)mZH`#IoX*Lx4kwF z(^^g*fs+A+fJUG!J$)HaLwq1+-xpGT6}kBo_&yDQu#D8Nn!*}PLh5p`L3WH0&)V@^ zpYl5r{~>u2^T@Q;6d;|(4?>!;3sS^OSpm9y8-b^(^O)W^RVYks!8ngz1IGhN8WOks z^6`WJ#!wL8p%DTLk4PuNtOzFcaMg;atk1`HP4p0fM`eHSp(5JS*JqVSHItUV&9=BP zl5MvtAsRP;mzQ!-5NgH(#FAanO{?v(@ivAhBr}%Gr1#W8>#Iih`U}-uu1&XnB*!$B zCWF38r7FE|o4$Hj)PSoC6g=7}LcrL&zb`K}FopP<++R=TE0^bmLGJw{2b0qp*FgbG z(7bk#H0AsIKqpQnEG;A*s)@t3pJ_ogY2B0#- zezM~HJtvHcL?t_Uvai~#a;4tW^c{#7uCi@0_NL-NC4r~af;1++j~gKUNP+QN`Of3! zEWY?wx@yKTlzZV#MHi%1i0-pW6be7j`iD(G7jKD4=%fCwhK+yf`0+TXpD9V^$s~KK zkc$Fwh)3y3`YIWtHtvr|Z>~{qo|lj0wG{qJj+vwzV<#hI{Vr`+&DKWzJn}mhQ{hs) z6~l|4K+A?h=k@yhQm!0GXHzZPdyi~v7+sFyj)MO5tw=Ho?!Od4$dS*p_vdTm?c{nZ z^8Rx}+q~J`a<&^Z$@_fIR{|jX#w)XDSna@G9a9^@NDlZT?}RV zARH+^u`lftq6Q5?raTd2X(2HYEgDcX>oz9d(p@s`f6?P!gg@KrZlVw!a_-r~H27Jql)seRVd&g*aH4yYr+YD07YcZCIa zJgB+;e$Q*)t(EFS9<*s?&>H@NjL9RNu;ryoY0NtnWu2TUn|sdA%8)w*ivBE(!3qZ| z>gPwD@|b+6u5B+XdSw?3mgAW<-)#f9KZ`2-P+TOpSz^!vRqhC7)g8{OL?A#on*cXK z&RE@51;zK+&hg2M{TPveEl2QQyzP0I6Q~Lc?8(RXl4S=LyvvKBr-{gRV*k zj$&QfLE04Fs2lIGP9Lvpd67fTeif$YLIbwl z)Odd!REX&A#_`EQC-esX{i^(~KxNfwKGO5$PKexW_C1n|dvSqEjrB=z&`TGdyo0Sr zZ$CbkX-2xG-*aATyRjT@Nf6LzxfNApl>l}mkaS_bt=3BkppZvpph~X*is20$sh5oR z32LH%@Cb}Mv(Nq_R#gCvsQp`ev8}f?bW>b{c1c|Imu-W^On$oo4lEdhHph*{J;s|P%^#Z`J$!a^;H~}s`0Uf;iy34)y8GeV>>Kr#LP}$K0BZGkzbB zlwsjQ_h;I1n-Mz68wqL8x=Ux3zqk{$KnKu;1PTrn8Fr%Wq;X=rEvL$(E;x3sKeTES-*08mfV`{Lvu+_MgXkx2 zriPIeferK76AsM@_s)vT0cF_H1Ea|hJFDEBwl0vq|F=J}Lj_W|n8 zHw2MSd&e#$B#cO=0L?AoJG&5k$!)6%r8h`%s!cYQv(8XNz7Pt_?-7&Wd-OJE8%T#w z>D=DRsD2mu7dFQ{c%1e6h;j##1ZFtJz{TqVoK=bfH9P>f&>*Pqd5Ue>duQI_Huu)4 zUk1XpJ<%?x^ei7%Xw& zhNzFveEIWNid#3li`Xm>>XJ6Aq}c2>#6FKHbWXD3m8c zrLp$BmwM%0KuR+(Q9`N#%^)#wFnQUcT2PP#ix2*D@4bt30KKdNHk%=r^T{&`vR?+8 zis3oFT;VIcqD}~>BpE=hQu$;Q;RKCc%+P~{OBC=Q9CsZ>kR5=GxUULT`&kb_gN{>F zt-`GCVY7hkVb$s5{B-C2ba7Dk$5iIP&aHTduf zjzKv4&~ucnI{3&uR(yqDQXQ{_UoeeYtP^di>Zr9}1(o>^+61IJ7`9$WjsGHM2Y+J#d@0RxRaYh% z`&Ace5F#IfzoDQEID`}M4sEP5(1rN0hx3ztcjf>s*+1GieSr)=k#XLh*9Na)zcF9=So-1E<$QtQ0Us>_-T&bLs+)~X zGhq~;#%{Aw{=!QfNrDv+V}ML^99EK_fif~Y_47&RV}?Ty`GBEa{*8Yf1)=S_7T=_~ zzMPtXRTwmQ1CtGkkYIkPr{ix*hld;E*3>!-}RhIGkJ#Pr?Bm^&u?kp;ycPwHA zFhhh0-`V36@nir|HU zzyA>9{ChiBnw-nlyk|9>d@ppr_@S=49ijeUn9vTj4Kp_wTuD#TiZ{gOUlw;q9 zw3%R=^p|(`P2L8TKkEB4Kouls#7x;h+VM^P-qqCEB{-;T>A-_(1vF{g86r*j4madi zWIssS_sg9Bj8m|P9kjnQil8234H7{U>J~3@@@ir^nVY!E`g@E9!WSOxvsbRGg zn{2cX706Ris{@2lf96TcT^rx$2_LQJH=c*Q*>qm&<~=%Exw~fgdD0;#B?nLVCXx z_kJ{+T_N_+TY$equ(W?X;D>uf!$W<#O{O_cP6x1rRP;rJ&9e&CQ(uZmBc4u5^Yur7 zY6QVKy!A)Go@N3IefJ+CE>_gNa4_)S0FZP&!1WNWA$#LJ$QlCvh~`I-?HLC5@aY?N7}9LLI*{s&ga1L0T>5vzbb+D-fm#(Extd zmUohKCHIU)zt6+i063WpoP_JHDX2j(kLMkRAl6s0 zO#EPg>Be6?)S3a)PB+g)^W1ZRIvU`D3kwP?%jYUZ|5D^&czFh2mWZQ*ygBvBj;n+D zHRJ&cXqdYc0;ereXd%Q%&KmbNnmJGU(>b0f9OJV^1~{P8VJ+p~WYO9K$W4LZ{==9m zbwD)SPr>8~0<}+*ppdqY;K=ZX7zpYCV7}SEp59RZ!AekUkv;T{#4oXQ5sFX%mN4Khd+U!d6ph^q)%Wu5r)Gu@@D=IbjYE=3wW`uA#B zg5gF5_M)d_*h9AhdX0!FhTdueU|@MTAnAF4-caGl=iZEYS8B7?8`3B{hX%#zF7uKN zV5gK-27p|qhb&>^akg~8S^`v2Fo2WXLp=|!G_h~D1RoXrZ_f8g|!%0J^=KH|D(!6ceLzS3$ zY@E-pG8ka5@KRcg)!yO59>pQ9Rq=SdjA64MKx&^frb02xsACkn*O>Fy zhi||lK(Uq;eoskJE>#)k1Vjw`7yrq$PRLsbTz>IqF(lrPULe*9EsP1AZ!8M{#W5I4 z6?WgK$^ETY{ulqw*X;We&{p1(nh*X4LWi!_?}@(LOPO{BedxkE6xJcL1<#c^nA^{i zM;WJ#>!1l_>{W3#D6pN8K$5HHmY@5h>Qt*Z@P*`efu{ENAqVUu>3V1y60Y{aQyq23 zy=ZrYrzNaA%4?=JHP>p;IPpj6`01<@y3@NeiMN905+Fm}Q02hwZo}ToMuflnc1)E6 z;EDH_u76q>kcVy7PGgF``^g}fgZ>jKy(%ERrTPOyAn*a+K4#z>q03vDdRb9;c>4^TlY^W?WI3!I0Zw$$n0kH6(fDP(x zZw%`T2u$U8x%}g+nyjPtEy##{%jLn`x;0??+Sy=*Wc7&ALG%Bvqb+XIAxw!fGOzuX z;!MO$dXLNQy?NsSUb_yPVRoo9Ek#0Bh9{Hzma~uBWSp_P4+)g1*3;Ox=Xfq!b&9zL zH)-U>&?rstez^n%Fz!${m%|OK0#LrofmeSoQ~<^BEanU-sbaHLYrwI=(>n42mPjqc$CBg7me4FRnkdJ$0Z(t%| zRe^m$ci;_Y)}PKc4 z*i!hmz@Gu)M>#P|_CEO=(Gv8c8=6~0AIdXy4@u+h5)(OjjcFRGqx3QKV9@maxdh6c zClwgv@J3=M;m?Mwp$oE&aZ!Mb5xxFC1xNwEsK9j*?XBM-$CNX|Rj1EG8pvx@o8b)# zpA{PZ04(+u-}8HcpbJj5+i?dKI1!T|A5}(E`qtUK{z~}*A^Bl`k^_>MuX9H#L7JUQ z$Wd)!&F_x`i&KZw(fwX3I?&NQ6aa4x+d=WE z+1gqIdjkplDG*T(zChgAu=Xp=UL1!xi`FpM{>tFG#*wh)@L{q(p!4aL)H@~*0B(Sk zX1KRgg;P5hP^MjT6(xhN4t$_~F4IONv=_qAyW>e#L$G(eBMQx6|8fsJ9!h4v_wZhZ z_<_H~3z>0ATNTbs-(TWY>iPTzVRjiPbmw3XJ@NeHn-nD)*zmZ*D{$_~cMrm+LOuo_ z`>H3%pVq~wF*p=Y6`Q<3yMBD2Z>#a^b9<7U?L(Tv46yIK+MQYC%`i?BU^+#Sx+zGl z@8~hLFQ;N=251F54MoBHW zUw@?f8QJ63?3g01$5uul8g@WET8=XUzHtTmIPgC`t4L-g*{cfSCyLLzSpZjBIP6z! ziE{*JH)z{!<-k7(UA)sc-&p5B^*^3h(yko?YSp>}^zTXjHjM#^A~g#b_n{O4zt^gCk(07r>YSe-vD0 z!DI)fIX1y*ZU<|~jal!!V$g*9Xs}t(D|>NO#xS=0Xut#D2BAgg_Vtel{@uXf4j2#8S((HJQWW!dxY&GQow%i_`ne(RI4 zotQ$*f>_~hkINe|+XB=xpw;|)y;8h`=_l8Bh_m!#Tb8r(P3XQoQE;GiipecOvw$MC zhHcEx2LtKnw0(Y4^I5?f#qW2sN{^8Q&H>`3nQuwSBOae`hTSvJP-pL|R!(-`jlZAA zhkh2zBw`sotZ!rVJkdrn+aG>Hh-Dycwg9LMU}WGGY#9vfa3B)!!WA1pc#9?~ku(>u zz{oB7;wBzOa`7hSbgnii#TL1c;n)}3zAxCESzMWM4Fmm(d}tiR{eW>{YV9yWW%d!L zZ}-9+8u(im-0-&fb&~YQVyu~nI|2f1X$?GNuZ#D^sAgdQ)gsp8U#V*P6SUlAhfJSm zyG=C7MZoEF93wVJ`fU^zb72g&Q-B7(__Yp2)CC`DAhNeTyDlvl#3#9zxR3IMOqtyS zrP2sEFb1Jtv!T9Uc24;K zYs~c2zqHlQ>Cd={iGfbMt1evxFT zWt^k;cuxE9DgqztdT&F6-|-GU;FA^^<~>lgg7O}D1J)iyBr^AEh`J7~!D8_PX>oz< z#Bhgk#8(+;=Pyz={b0c(1-zkryRN{ALDq*mBLdjLi`djwh3I6ZKB=_pLXJr*`K7?A z=aW7OGsoEH9mn7~zk^IUxS)dGQ|e`VvH~3diUl@$y?N-H00S(^aPaa{W9IEZ%og){ zzJRpSGod8&a}CC4QppRTv#DG6PJwH0_~5b^1*ZbQuvmZ=_}DuCB_(?`omiKlQ>L8Gvm@jzg<^q=_0sE2xb3eLvR zx(v1g9LT>k9$*)%+8@pGXE9C@)8*VS==BZAp1%XEdg!`tQ1C#jV5#B78=NnH;yQ=_ zB~K)psWQAZP@4G#`Y|DS{y}qNy!fcUJ9@=8{!-O@&n_*!p1UXMfV5WkEP7R6+7o(l z;C<%K*&R|8FwH98oM9nK6wOIJLQhaa-gY5IkaM385K$g_dNvK0}M8-l(*@Y(E=Na20R^DQ9eN) z7ko=K3E;HGxCoR`@>b&v;vBd*=trYOuE4AjNy7X7z(CKti(x_;K z?7)IL^iO&s&CB}?Z;)|B{2TkvWy0|b|}`Nbh9Cw=+qN)O(nMXYtVpo$zku=iDc{k7lvR7tGTN>?_!Qw8vV zD^*&DrD0Z!4Sf@0bpkXORVCDcS=b%R6Xi4==4quS3wg&~e^83|0m?=C0gxc>t3Ov< zJmHm^ctzlD;Ga-qlG8dqEV3yA^?S+lpkKB3YAq@UfvWHgw%=-{zY0pg3aq-m01S#6 zsu6ss>To}lpiT*;Oa7+g$-=4$&vr`jZT+Js;n5=`UWpW%b?_Fs$d*&f&aclVX7771 z6FmR3|54%4=Iwyoc+(J{e9Ez&YQ?8IreL$QLbxH<8JHp>yc`iHEcahF5a)*+4K$ES-vZMla*v;or@L{f$*5O)McHg7nTSVsu zx+o7V*P~KExUsBWz0$ z2j$l+q2fo}(V#dS?6GIA4Y&&bxd?lza(0{$TA}C6qCxy=bB5j;s;Dr_Y6cd3D}3?o z4(-x>y@La$p1=(W8_&EiNZ|Ec0d%=M7eK7wSBW|XQe8@CgjpMigomzP%f1@Lk_zx# z_yZFg&?*3m4_G*k)cR4uclbTNvJ12wzC+oIqAY<-SB|KL1-L|KU8u`Yd7u+t^=nu4 z^-fsuz3#c<6%(PeJR9r>0-Gr6&`rbtsjFVApqu;`;+7i9X0B&mAO(+~!4!YQ7f4qi zUmFSsg?c}W*2_*bob?!mYHUJ0S5a9B12j>1{s%P=h#ci`0o6^s>~>xnUOl;jJ=UPX zLy+sPXsra~(w?8mC>ybR8xJkknNKj7#^-TI;#}{ai@N+kmt=aj?fzWvdM?jFj05cE zzs_0p(L<$ufMXAvf=o&Zf>PrnehxvmHIh`<{TBSraV5>0t|QOE=k@cKD1QC2&+LH= z8!p=>wA)k)P`eN=uowWhH&D&&X!r4A`FQY6B3KB}{+(FAJkuFQI?rdZ1y0Ul4zT~C zbi@Qqv7i}-fJvwZX*ZzmE}|Gmdak~bBD{0?1KlglS|l3^5^a{lo?|LWQYel4&gNUd z85YEoeX{b0%5z}0zHG2TnI4D}9vsNo6N!O6^ALO)RI-{I-Zcop{el=Sphdjx4m9Aq z(Sdr{bL~|{9wsR`*dNVqG|RDiXc&LBJr>Jr#X$pJBG$#G0uNRk0bDrtvz;5Si!M;{ zV;}Am==HEqCad){&_#Z?)P}6Pqv<&g2+1KB9Umj)DU_Qn)=nCRX99sRue3KL? zf@yJ3k$~t-4m=SGtUvXs9)7`OU_B)t5h%ifIhjdvcNq_wa!2|V9*}F)?JZ;@2e<$f zrIrW7INx+!^id9*uEcX<6~9NkSzoFPp$0>kb77sA*!&ZMG@IkYM113L>JfhM|^N#=|l;Pv!Gov}5RiB{|fCN90 z1>|?~?K1bToe9Vas2Bne^S8zpsM7i=62WErg~MofJN6BnP0%}^0*7_NcgofM;?08I zQ}KNkEuL4~v)37rB>pXIJRQ;3 zU+MG#i6k0--yx&TTdcKe12BxklQ*)Db6Im&b@SROSqIJ!#PRt6vZ5ryI)eR?-%i-s zLE6w%)zgv4&K{ij{yq4X7OdXoY`Ez|S_z7{_ueS=0T$gGPN*jA9BpCF5UWt%e9 zyybg*DXXWDsQ}N5FY%+f#BnkwSp#EfM)V<1;R4TfWwSdmluHT-G_nHkPMJfa9CoKkiFSgk2+WFk%QDkSm{v3+V-}iRO z^)kmL?|gvWEK99@7ha-dEnm9FuAsXj#YO;vG`Qv^?WXGCTJ^A}1;W8x66 zcKCeYo`UaN%?-Jq!$Xzrk*L5Ywggw&hojIDV2wIL{hI0ty7Rv;_;5wJ^;Zpd^wC2m z{|Zp`eqB3Dt#Lz=x&o1z9wIN$9+k z3bA40*qVC%%bS(|2HOq5!@akenz0ju8CnVCA=CjGG`%(%;{Fh(P>>+oPO$Ym33!f^ z5gdDB&nzYGR6(;tu<^d1C-J(zVB!|{5&R@)*%`a?y6Vs81Q0-u2-?UV*atATQBb*# zFpz8UU&4ZDj9Z{XjuR}+Yr>UgI!PY)QMqG@&xkQ(qI%(YS70>6@m>Kcn`)_ zil23ypdTDCW&7GnXy1e%~g(WA)83Zc0ewcJ}MB$6L@W@UONGa{NLxFMQk_~4+!YJxj_5=?m#Alf!Xdg zymJPvB5}fHMWY#X&GA)6sWre_4D~I|oiq&}=PmmaJ!Sc4f0&8wT~d&N-&*~q&@b>S z3@MV|cT~{G!VDoP$PJ(S;%)bMnvFo*?`j($^Y4)k9J|k$VFO{iJu}_jSG>MuN0sXj z>H~TgYl0;JNP^~07lPj7t6I*rw~#FbJRlr9dOqdFJnd$F0kQ|<^Z87=VPO=q`~;&E zz?Y3@n-piC(|)J&8f71dh44mOP$Gp{sJ%GT3TT%x-0kBVzim8{T(AVKQo;CzZwN3f zMCEAs#Q ze370jnt?ixTVu_=af~Ru&2Frg_NNdkh1GC<0p4dvj)?=OBdh&_C8ogDea*aRCNZLnRF_AB|;-&i(MMIRlWFXc^CY z46V8HR~jB(2|&H#TmUj7xSmYzJWi}P3j*NSmq#5D2RbHaKq{_9f>at}YaiLmh(-Uz zIMUMOy$p)=^#mt$nwpw;cBt9qN*vfh4=^#`PLA$Akdbcsf+i|gN^+VL7{AKk=jYk>#!l`H<%n0Cf-4Eds z8fM|!qq)E5;DdPzqFrs1X;2A+QOqZcv6V0XO3JIEBDTEu+5-bOZz^6vj4z=&{$>Zs z@=S{TeBoaktgXQ#?Nfz!QVahY%omGZpcxtYmgUq89*qvp9!7@e{OB2IptLbhrlF%X9{CYCOoq zbCAn?luh%xQCY$rG}yk=gG3e_*!n4Z;^EJDNj_}_?2fKA@u*kiK z%a;LprvPv>)Lt8Mm&){Ia16G9yQe~s)O$pM58Ewi zh*ZxXps^e@JVCj!#=X23_eT>xWPt++9q>)v4$RKt4}!cGY+{E2_U2Cw=3a&^1(3is zwaGhK*D@NKA{GjAM6Lj1-Q^L|(-{C70*fz4Ofb$+jSCb3NMWptdqtlv#8VTo`eC!D ztY21q`z!X`f~f^fzULpD2DlkINWE?nxIH}mVEjc9Ni>sJ~&l1FP0VrNRq$)cH_g0|NzV@QlZBuB^mT`JqZY`meVS z>i#u|BXuLLP0WrrUC*tHUbye}>7vFly>sqtA}_OU}c3tyriF>a-)=3_6?u8dFIE8$j%4&Ozg z3Y@RD3GNC%4{+*&mAWN)Ok6aXFh&a11z*`kwN69N83!X^N%J0#{0{gZy(aR`DCZH6* zr_AY5)s7{WqCXdUP+;F&cY2_Jf4Z&wxI5@4$!`E*jNDaPuY4D#39&jMJ5*6Ku%fQ zFCBpAy6!80n3$jg>Yz$mW{cA(zzj0W9yENQbTZv{tOW?vtvysh)M_EwA(j2l6|H6|&tjQ?Y^OJn+8}?+`55q;la@j| zPr3Jn$z@Wr2*~%~8(=6OeC|8Z=oi+ZdC=0^WI&c!&h5T;t%+^VuwB6!5!yg;R@xfK zR5FJNvYJW=2+oggO;c@By3+uo%@Yu{xS(tF5UCnc3^@d~tvfib` z;OfjFD0K*hVT~?`_Rb=bFW&FH-Jkz(>t8V4l{H|$L~#{Ayfu57N;bMDBu4Vxp(eQM ztLhP`;4IZL>)6YxIz(7VU=VrVYdTc$8`Dx@DmD;SgZq=H=b0aHMtHBtB$@9}aeFnp`t^Jc@^8r+-vM!4Yq4gcV4YJ-t8 z`#QLd0O<-F$o!Jrs&kCzCL6%u3m&#@Kj_iQc4KUPmNFf61Yg6y(aeuZyE(cWD z0OsQ0wb$ZwI#|c1%f`K3O^e@>8=@kLl%o{F&uE7t2}n}HDM{yp0_x1rk$Tjv+D4CR zZBK~;TwV^^h}xG$wTUAG3ir*!b1v|}^`8w?LoH9yU}}NygHohY&Br@Q1kuJtkKrkB z={}~RKj{XGv1tC0iU-SW^u2>PsLq`fC|A)W`k>U2tpU#na`aLat6&7qk}3290#*Lm z666Je!s_2Ia_0hI$f>@LEF|~^zvpz-Rx7U*#6!m0(<|>okhH->9WY?el9WW91PdSK zU}umde8Q^_DnHrnN2`yN^*~90e-oVh9r3CXT!<{w(kq_Gr}&|$g|L6QH@kX+u6GA` zJ^~Tr@!Rqi`e;~f(;t^YDgOS{k9zGsRdyuJ_d&Vb9C|p2Q7L0 z8x>bTS3YupfN%Tt!BGOdL&3fe-ohd5*y|^b#yhnWYu+vP{ctS1zI!>IVQA|CIteZjvj zmp{lWtVD*dbK!Fs-%UC1NL)%@KT{^USA*-@dR(>%8lW=8FGVIXCj>MQhmUV{kgPSA zMnv72W(j(=)luiID5WAo5$`Z;PrbKE@)DkSJHPjDFIY+VYuFgJh6JlBG8Sde>?6Yl-R-&+7Gu}ST5UXLk;S05Po@7P( zs$(dKUUH?9=T)ledS+|tn(bp%sA~)6v)3q10U3XL#r>dn-wku4kc=UP93kVbu2 zi>amz+KhU@$(U`cj1N0Kvwz0z{FcWGSGw~y-bOFsd3jr~ZXM4ffWX~f5H4Mi9M_@6 z(RLcuigET2=-ZNtc=yr-xxm3eBkoT>xBp|l7t*Vj!hv&IUfVDCX_#X44XHh4X>P-N z@iJ5b)i0|40lg=};jNoc?f3C~?H9K5?%<_wA!NIj;DsLD{HQ0hRvBMX9D z*JS39&Uk&OE#ItU$bYPOskcJRw}R5B1C8}S6uCfvix6e|TqVks*Y=;i+;?C;)=yNe zv(|B|y5^_IWYBUCg`InN0`MahL7F4}jB-SAYiPf!;Lugm&C~%-aue!CvkX+Qd!=Er zu#8^~e0B{*g2or?1Q@&GbW5zWq(^jcPLA6hebOL)vY>-tEfU+Ve7KV=C4Z2MI}p`m za#*0tG^Muaz!6kGD{90DJJAH)EPmJUF7rbq`TYG)ae#~jA{psV!m7C)N+%f!o|%^u zSYyuO-n0$8!R@y@go3Lp$@BG59S#jwWnI&1#Z&4chMMWQNm6cpet)q0eQY$37-pEl zXWrGkfT$&Z*lmP9dHsbt5wWrg_uB-AjieISn0Q{+$DBmK}BbkZGY2S^AttM4zq zM^){G2y_n0L43L?=3?P-B*KMOY`PO(F?@M8Jz=yDDSWtkx(*68#(r)Owuea3MQD2RP{fWn&vXj*qCFuHiiRVmg|Xh1D3 z)*jTD5euP0{@FU}d#^fd2P~g=O-^F>Ub}z~$(&8N{`c*DO!rgpYZ+f?C>X!AW1CMD zG0N6hGiT#A&)w#N#l+L7|BtJ)AeT5 z2NOzP!OW3CijX8l^~`ib?T~aLQ=2^#Do_G+$sU5%`u%rL*2<%K-alVVxa&em>Z;6H ziwq381e$>F(+6K{|NKsnm#rvrRo%>aLoFH!NUDc|WO~HM3(*|C zB&|AB`preW+hQoopX!&5AzF>dtbc+q1}Sjva?T#es{Pv~Wti(ns$&oz8`%!nDgU5flTx5nR3B!_m(ag6~On z4}W0eadt>p+Q;9J`ND8uU)dE&)m_7x_y$heFJ$W?Z2s_X#_sPzadvrwOxv6v^*j^n zS|fcDlOIb1u>}>S7St@d6urTr$P=4dXd%N7%spGM1d7?M&Ag$lEphCc+bqF!gsqkn zi6b5#XCI;JT}eX!&@@uWdL7!#kpjz$M`*u=w?EgU&*$y7?Bf6cl0Me8-J)Uqe`JX?3bLNKsOe|g7^b#}JU3~tw}Z-I3PQw;dB z*7SA1+s&$aXTJfBK`zm$63#?OShIv^x-hOS)>#?u$a{5 zR73J7zIdaomKZ{0%W&VbL64zzt^YwvvwdF*V?NF&7cV#6K3?(29vpqS$o3=)p&;A> z)b3k@jO&Ep^1&5jgnDN);kP7->jG)%Lhkj2eHpTkUou^w5tr)qJ zJ^2MR%MGhVvuoJp?BHKUJPoZq3oZ+VD+7wJPvINMg#(><{FY?)4mAmK*1A!Hu(g0m znmbyhtv%ud@%us(WLpT&GI4^BbI4Em4=n|7Qh*$aJNQb#>42?nd%T-jb>31{0C>3Z z`Oz`|ES94R_>D(Dc4^YpF#Ip*WIwB}18AdOLYGb8xE`i}cd4=z11t5RLOKdA90?Nn z_?7rWxxmR+AjBnp7n9`M#^@hWfoHwr#?}0mD+7UmRaC3PH;%_69Lm{{xFl}Eo#lb^ zHY8k7n>7;7tWCx)_s_a*ogOeLE6t(wtL37<=EJstQ*`mxtM9vscRG(Rp1qC>mGn8s z5C_4%HCX&0as#KU$X=T}p$<7=k%R_mLY!qd@7<$&3gM)skgglEf)Ikwr|>DG`tcU^ zi&k_f2IHfXEV8y-25i@qirh#SD>p5{isl7u6Fd3d9ui9(pe5W$KsFq|#Y9DHwnZQs zD$i1Be@k>b=bd)n*4c6*SO|R%p*P6$GdmacULYGt2wDGF#>hBdb^w9vSp=28d^lk& zDbVoXaTwHID`cQ1O=C9RstzQ_THaSv>jY84CVRlP+C@hxIY4d#8=aA|;D372>Jq%k zG$3x>hP}EoNTS>(*N@G%f0=tEB0f2Q6a08ozu9MDj@}IwU1*)*{wjuM62vq$0dqyZ8piCpfl8OC2a{Ci3lBw0nu9bSSqXD1W^lG#4wIuVG%5gY2fK{ZX5^v2_2X-UxBJK%Yp((L^1U->r= zKaF)&A=ksv`?M&-JX45cuDf1-toC*J#X(4W@1rn<)?cyRC8z;9EU5MMkw+dXi!r^D z^SUjN4I=jE7Ut?jy^hAysEvcY`}@w3yowhRfK%ev+Ln z?nYac+9Rw_r04m2Eg*dTFxTkf?$LSwi9grsq}ueKAk?i48(AywpUI=gZ%c?#0;}P` zKZeIoa6eAmMNk6|S{G^hsadr{VZWu+z z?)lw8zCTl9j|E@Qv+V(NrzT0dW$IC4KG`k=42(sQ;(mM-C`-twF(@R3&&wzTwD-~M z@zwqER29VTIPMch3OgIXm}&3+lDiW)=_3};0g4hAbj%4J)}tZzNq zCvzI6K}u!USztLeaagpH{5*5w_&Bx9*`oy4yiPFXeM9`N=be^#d?2z=R1)my_u|`8 z6dta&a+hSF8AiBpMS-&^pUyI!x#@+H*st=ct0i+QEg~U%5-Sv1*n7KDKR_G|fr*34bGdS?ro?UFZxJQe7V_Yw^) zyM6EbqBHCIrSd;6Og&!mdwYBwNU>eG+1a~+G6#-o84zN2I?;ybL>C}W*{LXE(_eqdP=BBK_1-E*|TAU^)yBwF7RZWXyX?iXnu zF}_s%5mzPnqWX5QD(OUa1b;1?rhSY(wE@7|xUX!vES1r;cQPoO2iZ+?MT0CB9fhthB-wnC6VBN=deu-v! zaGG6j*%(8j>PH*a;h8Qee{oJ;y|B?nC$)0fOU>7Zpod2R!n3b9X8w+EYg8W205z0f zg8C^3diXhz=ap6hUX_DA7-n6pObOY;RVPM|0{r{D^3Z9?DJu0_R0c;E#H0OC#NpfD z!!{-CjktS94ObYi3ig>G$j@1L*sOWjUm-;MV~M}Kz!WP>PIY~i|DcWgx|xdP@SP9O z!8#iV$&N+WuBmOcm91bqtmY&V>Mc4;aH9G*Jq`+Ha74u3A8;g>dm zU$Zsd)7_?26bKvfiU>0HT|(cVM>CK)5yB?#%f*$ra@$q-+4%0w?xa0w9qWlzsOJm=I=* zk9yzKrkoR7fZQw%eJ1r!tpUpJuy2$PQUiU&{o3I{5uI__S08aaJ@KRa>)JQ-Mm1=3 z%MJ3^{e&Kg{S4w^>-*$jg!|s`2ZsbiEFbIS?zfPD|Ms^xYz|UP4^r6XITKzPn1Fa? z|4AA(*lUbkgJTDih4N(=@HBZ@zxZ&E(#w8Qg(S(I;Q`zdJo&z0ll*KM((Z?S)6l0| zvcF3Vi_VSx+x;tLx6^42D8)Volz`OLCHI@Fcc=q(P@5ShUI4j=`)C4q?eEMkWOI!8 z(6_(TQ)C^OWlCq4g1gylT^Ql4zGhD1e!sxZggRmV=7ig?QFFC4OhM_g?HXAwjmrRN z&9T3IUyU;b(cZ?MG2W;4Sg+QVH-kWO;qD2ijPqcC zFY$n?A|!>F`=1<&nagCz;%M)W9zp8b`Rc5>CWPV;YVkqXBptfFo=MM zqhCvi?&?7YMqWu=`5J;WZTg=PmTBt2aUXU`xHUHGzcmBKVZG%(y$Vsy^!?rrnSgU9 zPo#3lVMV>5dMk~2to73*zLwrvUN#iCUQbG{|f>m z;#{8>PaetPym&lCHw~OdfJoz%>qey*Lgfk4U zeMLUP@^h=ZxdTf`MVKAF9$n^7wk}uCTz*|qe2rHmQqtHALY}d7+gjE*PU_qVJj zxj-@E8e8jrONgxEYs9pPKwrCr5juAj{6C^=i-0+`{NjpSM;oo_CoZX5W0wJz@`TaV z_JtC&Vej)AxFnZ7lqh00A|WjIaohLtAV-diVE--xWgY4R`jk%BaC<2QrU*>-EWXKQ zEzR5TSV~c+s`byfO>ZE9NLY*t4ZjSNjyS#QSB9ln)Z~8Y?HoEq9`O^Kcp=%@w1#s~ zTc5TV474-seNxmjwZOz|*y__t2H*2zvE@Kr?Pc5 zN4R*u-(fYB-q7I}&~Euu9(!ASzY+g>XPUW=2H_BJwrg|dGwo;ZF0<1I%+?@YIPRSU z$1Up4Yt;?2&UHq(fhqo>+n&1{Dta0{6eA>bxHthp%67ZZ$JU%sYV3#MsxQBVz~vS% zooC!%?-vkobQ>vegK^c<6|*Z$zr(*Z4H30`i0#Kra=Fb^^(Q3vy!otEH$~2Ej8p3Q zNfP^f^_f7hUBZIMKl=3eS|~q;%l2DQ4$obOhioVSu>6&ZZYM4cv5`C6j;>tOXV3fk zrHtN^(>CD4A;0{}@j`skp(eZ)t8{ELrx9F5XS%5NJ}^#de|<7{jwjdmx-UvCLUD6| zt?7ZmjCNG^mkg2?&gK)ATrM*NY-E9?I}|h^L3pNY2`+n2=>s1s##dm3GztiTUk#EuzFzytXc?(XrGayFA z-Y1m7{BKU*6HEIcO@T{g|Ng*8@ZuK@i08Wh^qwgOU+dLA+Jc(=8O<1N&a>iRWe|h@ zYLAfK+JIX2?T^}%6`VDzh?CJW#``ckq5*`IGi%-WMPJ^*i?#%Yu!=B`O5PO62W;6*KBn;nXrqUlo3-+rBxK{st%5%r30++2g9V zw60Hb3MPrh*KneN88@@Gxd|b7Qu~(RsfTh4ia>b-iK&%qq~CrbMgXNRq6_M*c|jIn zg@v_A;-sBf)fJ-h3%Nomiyab^=TNNr>1z+(ev8O8;GW^<9D(NgYbax%araEyDo{YS z8yonqBRenP0VUbzIaLpODMQ)-j&T4;vArABRj z+~$_&ma8|*f2_hO;SDo4~wySlfWdkaZc!r{V zmaEH+j~)=G!SUg>LzP3zJAloN7(SN~c*Fgm?;&XA4~_*b`uK7U643J1^tR@$<@A)o zqqSJ}c`m$62MYdw$&)(_?I=ANs-+P3i+_r1tXaP8W8;i>Q16P%xg?%St1@aba-yZX zQ>>LsRfKmd_`<|z8k5$~2zb<^%!*BTPhctc2;$xut1kB^>Tq^0w~Gv}4c;ywIA%Vv z0;6(~gie)Zx5rl)vVH!0gHO)J{k5#v_%az(bgK4QL}k*4CR>~uK62FN_a?!&%M%bE zU)!4bASUSFCybFs`Y1(aM#6!G&tc}U*$ck_$j~G4Cx&)apb_=VT>gs= ztDe4Xt^aBSxt1l-?txi;`q6cp~2zZ z?IZWi>i%_EoZn_T^0KMf;T+%qcODuCA?7i?m${(BtyRZ??VImz39Y756rjcrW@jc$ouL zZze9T>!tlK7-q-srU2| z>(s%8t`^{bE%){H1(56f)|FoMI}7Ly6BX38eRna=4wG@pfJBTpx6j%+^CZX>Ya3eD zrpB8HPQXGo`)L5ZqB}kF<4Z>?fRhMZJXy&e6*^Y2Np$XZxo$^3<7_EaZ;AkYLNK!z zlGee-KIb%Rbv@ zruKnE@|JSpS@358!U5?KoNL=h!FV3Xi1dQ^|>UZ)Y&)Gzfse%bHXPxNby zI?D6W9Ss8S;Zb3r%W#~Am=|T{kTd!+7e%jaMKzA$y9#cDz@=TNMU79Vm_YXLEXqn( z%b|*7ox7xHe2m+v)MR_cye-H1ltt3RVeiJ5)5V^kHvI~x1l+qA;SFflO-cKkrQbKK z2))D4C)2hA4{@X6%+%a8Z1*k|j$e5V)a!#wUqFu9+yX6~WP>;5Qj zW!~75@Ohi_ufq1=XTAt0>3xQ#kV^yCtoVYNbAowOnQ2x;blMLuRwGN4X@=^?<-tXh znFOAw=lIg?X$>ADe4BgEBtEg(Hn7MH-EBJo-Su#}I#%{Xm~RtjA3>)AG#;T2xQe2_ zaC>}=&wgp#Q*s8T1o122h;Lzp-Eiv8-J>t5%A~LpSs`5P2bJSo1g;9D>+ErwH5!C{ zfTSR=)ZdP?xIhl-M&4r>?2Z1V$*$4$#758BiBNt@_4DfSV5LMLn_;DrxFC-(~Lv$8V+hURm{08qe@IA z!XqGu1TWs&`=<4)D4D;^C_GaPTGj}$pm$a563}u1EIdMQ(c@ADt|W zy6HFj{2M}tw0#50Zzjr*i!a$`KK1*^qZCrR#@_v@#zhVhrW5%^f{hTF;?YAo!wYtb z6!$ju#GQFAahC$#o1~3&I|x(EIsTTwd0wJd&NETf49*7-1^N9~=jyFCm0&#YjiLbx zCDe7$X{98%eGuURj=2*fc-mVN$L5;D_z!D6e4+h9t7MFB#(wGDPT*G~9)-38|Cv>W6=srmstqffKNT(A-!*%$Y!wfBKQmE~{w z8y;YpV7H%k^56UZ>tnMYW?Xhhkyk(76u-ykG98`b@VI|0<;`vOm^`5r>wQ_jE(XC- zQ`1)f>^_!vLm18mDnwZK#7%pZSqnJIXdOx=@d;h{rq(cxY2_Ql^_U?{ka_Q&txSco z>7M)_>Weto1Y6=(4F)PA7uZtIrpkR%UVr{dc~RhMNB?OxeY@#JXZChnMd&051hID+ za+oWb7j5kJw0bzlCN196p&HoE&D=@5M=yBhW-NPCN;0nSAu$9Q8?wiS(@@Emz0ti^ zbFPm!968v}HMX8(mj00VqNN0TG0_QJbSss=GiCE4M=kQFYYMJxi6t%e^|oeR#0Z1NLwp z6e1Y^t1lAZKY+Lfo1kfT_?o_i$td5DG5PTxLDl;z78j{0=w!SXBE_1+!Ct!ebD0xy z#V-KnWD#blso`BjuFzDw@tj{Qth0eZR`D&}R(Aea8SQt1=FMu_^mo#KtL&gJRy3ZW z@tsLrhG#Wu5}#z^Ju08qV-)r&x-uS4grFiG2$DJfDu!%{iC(@Qzr@fm;NoR!e<0n<;=Fz=I zi%hkZ*XO)2zhXWm8Kr;UPj^xJ9@P_pQe&n0+3)yeob>hJx96+LDqAjSDKj=R#p&)2FG_d+1l<` zk~;x*O!Dv_X7eTBeeNP1{b1&=DqlZj6?vS@TtFz%a}BvN5zlQA30-$AU|nK$?zA5j zcYE^UAAfccRI_0t(L~v>iQ(lTswCQh;fuZH?>n7%DwjIPoYgttah^~2yl0&6m*P_- z^Qq5X`-^_BZgtze;>%0=T%Cfw;UW?+K#KGI2H)#DSJ9dcJqGlG?9Evu|J-46#;;3% zgkYwY?sdFLr=et*kq-ZF$Uz(ox`Qqrf<)!|r2a*Zy8S&E< zeopMvshzRUB?~;5tkD$%xrzC#HkkZ6mOoV&>=CGZbaRUl5NfDO4bJIO2wam0KPXc^ z#u_n=^4Qye-FYuHwC85up2?0Bxw^jec&wx6L#3`ApTF=gw>looNrE?zXMAA)^Ji2^ z#R6n*s>mXEfeq67=qTd)*^_@E;y>lF$UlQ(`g2>0@g@>g_SrF?GO#8{jYZLoy#v$! z9H?O}o*GBy^s+frCmZ#-z25l;MNrtP`xP`r{(wrRg$}yG>F41aD$6Rd3#B_3VhADq zk_z9J!Z}dC;kh8s`zipBIm}M7lN&a7-6C|^_*avbLjlQXP~1P^5e(9=`eP|@yD|I9 z)z&>0fOS9C^Sai{>o;C!{WrO~{7l(-MuEZ=W%6OoiTnE*l^6+A76|oB`P$Ou$Q#7L zC4a^3vLe&zJx7`Jt!CB-bRX>OPaoUU=Kbo+?t500=oC_Y#WGl+@mjNfFhgh~&W!BC zD#{%_XF-`X*Y+P_sgH7-li9hvChn-F=M|8gc|zgTn4k^IlQFTn35y z7kB!2v)%mN&hCmtq+RtR$`Tb20i&upq1^T!%9*e3u&1g`!_nuh;i6d<#Xpr8QdPyVos6Opn$9^+BqNO zT;y4o@hV4kD)?hw9*O> zS5f|JxpAy$1zfu?wo0==utMCI9hm|y%*@GDu#`PM7lQWne!vaD`FYpUDam`e4(_Y* zvTPHCmby9f??>&8lt*__U+wR?3xI_ROVI z2Bom!=LWE@t?-LrdKz};jnT(9$eR$KfeKr&h=rG{+DnL-KzmqyQd{Pwb_hF8Y zvSjriG}ZIpZ0<8Cby2e^P+9}%Z~O!*G@Py-@7?|EzCp?BwBVbKu|2U|e*mtU^Hm2~)A(ikrq zN?e&+@FZPl+_gF$U3SrrT^HCx{E(A?`5}A)kcgaY0fuLz(roVC= zx6J`Ur#abnUDE9@mY1=htTVGM6ttEp=;MHN_fI@ z-Dk-@iWaqJ-{SOClN;P_YE810^fW=W1>b^1mdXf!G@`gVrv$&+v90pIKPu9MY$RHFv*`-(eHE6k^)= z8vwc}>+XQwTP+uokd%ZFr#kbF>cHGewaNG2Zan$$k&<>z&X1hz(;f{4%sYi*w&Ah& zjP+&;L4NHouxo`m#8?A}iG5T0>-=n4ua#ldzF<%XtdMTW`JD#d_|T5QbGJs5v&YhF zr;Bn~9%GJik8W=R5cTC7yx8A6EAJ)ue5Cd=C5QTy6Ll&O(S+}H<;K1T=ud4JBy#7u zpLbMzEA42dbW(VL{9u9n6*4JH{qX)4z=lN;Sv#rI(1b=tA z2wsBM(T^3oHt5)tRAW!}vPY6H(2%Yf5{AAFl^3WW1=1}S9K|nI!#nP1p)Wa8SQX{` zt*_xU?Iq=d+eayexGk- zILwa^Ij%#gns+B!QFG?h#)oVJ+uTJCZ?>8o+!%*UG+2Zx!Ob#%HOY{)3`@H!qjkFb9NK z?k!{a5%^jd+-T9yJeq_IoZ&Bj^+S8R20F?PptF5p!xEkDe2}=5P7md-ohgUm(3ayO0{^} zBvG^kPu?!-(1;*wx47Z?<0!+WtYG;B%TEl4f6KB#Hv9FSaX7jIs(py z#bDTfc%zudWQO0HQNaSIIDqn0@2dkv3f{2|N=dXHH&sYu$VsRKCAE=Xv7EB(%vH$Q z<9Oa`fMUz>Nb2lL8Q`zujjM})E~h^yw%L>GVS+-=FAzZJYVZE@JnrwS6U=gj?!2#; zdTmo? z2T^r#>+jbKJfQZOXP49#nf=5bM|7D#`GV^w($6AcwQNL$Bzo$)hiN4`EaaIC_anPR zsXP^z@*a{w6htB5-7Q{+!aZqtp;If72om_*1oJ1fUCI=$XfD1|`7?Kj+JB&_;90d^G2@g7yydP3^x8O4Ie2IE;JHVeCxE>rT9`|9??hKfP z=@%dnNNsERJ4n_GoIxD4n!CBy0~i=uDs0Oh>KyFhB7E7b(2!)O1heUwzp0dfAPl%= z&A23%?R;)93PLsogCNdFb0=%R^jv#X`8?mVcAI`a>V?@JwsX{+il#kr^h1$ISc#sB zzSKZG`G}XJ^}8LQ#r826{jj8iXQP7KD_8Dt4^z^F`&C7i*}hsJ2`0&NL3dE6Qm)~1 zy@Y@Mg_*ogEu4%2=tWJ~O`rO6_AwvHu)6fpLkH=SFPkfzz~mB$S)Y&3D=^ybxq3RD zoqALx34LCXxx7JS2>WXPsv40VQvHNfjODyfRa;vJe~u?&3Nzvd0K%8;jbbIw zh5cYt=@$->6>{M?aI`HvwaFO(SNRU2i6^yvRXvw*UM1(P%=2_xE55-(JU)4NGsW?AkP&f3QO6d*DwjQqy+D>pi)co2A2JjLq1WhLbCVOh9p@y{^p_8rR z5DzexGji75O0U1(dU^+=0L`Ju(ItjxzS&@djLgiiSCt;eYJz&>6(^1>-l1{uUhfm?Jps2GW?Quq46L7{5&bCiw_ZWCa9|Mcp(eMj@nibi{f^up)8r2qBa#RJs2s~HuN;+#<|_o z@=%u|+wi=OgAoN1M-dG3oV#|v>k21!_ApOZAcS~QxL+QV z%XX!{x5QlO!G>pBa-t`I%x5^TUJhM<_8UV|*7F4%yNnQ0OsP zN{nW9wcf^gG9DmRDSKT*#=GJTBGT`)?+^3&*f0AQ$J=Cw-aXjd;(gWCq8(3-kuWdk z$^Ryh_-dLeg7E`jZUf$2Ry3MuDH=`cr)Sy(;APRNIchfDlDYJ~jVG=Dad`_d_6nVZ>jvtjY!B9qq~caQjWD zXq}MqqvZK!(f~e#K zNB$ztLCt85LU&26`WKm9kii#mm@7Vej!QN&MCB4%P31sfNC^sq225W-V;E+oARcwD zITB4?+1x0q68hN4o(I{ zytOU#tS^_Y3SS~a)dYv8)0v%6mw-m?>zV+bhXXyH_e@C>Ua+v{rtW(BLEXc6fLk|v z(x9u1&tWlt(H=?qtNJmn3l}>cLP8?TT?%KNSm1Y zJ{bCg@Z};|1*BM+(jR0o3Ibu`@GkPh15q2)vA-)x^trgX&9uh^52jF(VO-|>XB%Sq zx{p{DTI~HdVA*K?xZ1Ct*G{>u8kil#e@14=RJft(`5cv{P-PJ z*l`xSoWm|AWT>NwX3=Hb-xcz>za zLYW8cePp)&%l_$dsM1wUY`CfYeP&G9VBw z%Dpb=)_f@_qXsL)qS7BWqL9f4Hr6HO4>Rb|?Q4n#NHZmnTTvigl7wy37Uz121ngSd z6CJlB#1m=o*B>NSwEeW3S6CqlciZ0&)$3SuH$u2{jWPRsM`LP(3ky!Wd-BFYqb zau8j!f&$wjj%z54G7wYjKH==gn5AztuvKlIe_Phjz3rT7NDLF6Mqx>{sN`UO`mK9i zYTjO1u=~%&`>Q-JUyH)Ge;JIHJNSZE zP6&hg41Np#&5@c!=(OT9qtnR8L;oUlKDy2lY&PM60rDl*BQd>A-Mcx2-|RT#mkR#J zkB5YZf6eE=CAS_mC#G2h338F#_h1Eo z^>uRuO#x*b&3iKd-39x3!yEIL1^U5$`-U}+bhQ0c^D<#P?{`0WQ13kVj(?LQ{S50` zS9E*Gh^Ki!o$BxkIv|u)8jg*zDNQqe+6KbFjb8#h7tZ>f;l7`*Pu>x_0aMUd zVl|A8B#V(FRb=!>ag0x@U-kh71xx2iyx*bxb?O-6>(58h)DULaZ-hU841htOH|`nQ zDPs4Hgtge^;iIoD23MtdiS5ih1k|=1=K-;?HyJqPODdXluUeJoLp$Z0x>m~Dgwcpp zB}u0W^Z9WXA&t9qN3XS}4`YZ+c!VGW{D$$ZfyEq=Y9sdxcOR`8FDdRkej=K@&oo%x zc%dq%c&i~?TX$fp@87D1_6sw(nk!rh067LjMyBD#WMPGd(XCMYYWNFV7#(uqf)$@{ zDXywp9T3TmDl_KO&uK1k;SoVz8W;2BART-RA zT=}81lA3p&*S`}mXlq7-#u1L^UM^R~Y#`fsfJ5zZ>U$ z;NjsOA`N%saMS6L*Fva`?sML7mCjoj;rGe?=Zk?NGr){T$8@^A>8GbQ-uWK6rvml_ zOqKjVdbqv%l|A$!56u4qE(COX${Le*o@U53jUf5 zF$6r^o4U_6KgNt-ia0P9`xI^D%#dEv&T%9@<5MTEkc(c4lW;}3TKWn(Yl8oJUp^c@ z7w|BH_#PYX;^>_wZUuFgrG@J(bdUbi3y?7f0WpD04O{hLGY@NkdGJsiHA0a|`pu1#PKaO?SVh1!a` zzLUtgarcELPm$*s&yJflMZCQu*c=HW$0R7{%t3~eEbq#}uyZl>q?o@qlE1$I?Is0^ zHyJLoiDN}~K&dM5$rLqk^QUfD0VLZF1n7=Ir#OJPUSeKb;iftZj0TeMi>OXVKTP&m z0G+(>{+#kef9l4ks-0V8?-j#d({JUkmC|?lE9?wlHFvwNYC)27x-`^ER8BC~l?BSGFPyTBGq#9l`fv{$n&79$8cfUQA+kVv+ zG5Wn({LwuxP*TH{FxZRtjn+_PnQQ28`D}qS;(Y~Z@HTUDx+eRGG5_G8DeR6b@O6IxJT>@4PX;x~1A;zQ0p?}qAOS34QutDGKJqwpL`Enam_ zS}dJTZ8@cc5`$_G*nO*y=^PIX^xx$RtpF z>nNY2_HrA|p<7R&a6_kU1}ASZVP56{TTSPWxi|ZfejR21&K!(=n!y}roCg$qelQU{ zC?DM-PX`^VgLuxKXERWN6-__T49PjgRm{1eP;~mjcf)9Igj&p2pE4$|>?NI$FzV>U zu3^u)C;HqU+&0QD#7{W^H8NjM9-Y4jYoHM~vR{7t?%$c6?$?7afIr#ku0F0e5^6FS z4x;k7ejdqf9~r($wSPX#=H+y+nn&}9Q6lX5TAOykGWqyQVrNEFfWMinRQmn8eugGw z{$RYydEkGmZXU^_`4W6)E%~bk*i{CDX#NteP?-?j?(h~o9d;}4sOkFe0^alE`-qO2 za#Sqh3+ecwOn=;cj}B1(MQKlL^=cliU)vPF2Cy3h(%$CRfc2llWNiknC1{JVU>eBG#zfraa z9D4j)txY)b!>FE%?{`n`$51_;r|+RtN;lJC9AV#XhZ?q8%vNQdco{RI)51NJI*KIx zD+66uw5WiEAw9y=EnitSpnW5IAE+wEY;I$loV{aR#R6(26r^Iy$o#%bPyGD3y-&~A zK1o~;H}Z=>e^R6$L4e@8Tz})1^m`;EZgC7PMN;6KN~amXG$2hT1F%rqNy4&LRzfc- zX&CRk@*EIT(y%g@kqoR{uDs~X zss3G$*HR@NdUWCF2-gK3LUrma#*kr{EKo<`Nmo& zy{L=1!IKv{jr*{~qs~^gH+|Fvso*-Cj5f8dM-c9saO~`N1U-2Xa&({5rb4s=ySe{~ z_dWJ+KOva}otEIULH|Ee(xdddVQ-=q#NMk{$}H&LnW4D#{kHr^(sgYq3Ix$#0ug~n z$&y77@r|q?QHfu_m)UdX?6?jfU{hUPb;BR69{WVgL{B4COUUlz`Nn6*12+?busuVD z;mh%IM#`c)mz0z-Yw=(n=7-b%xn1zbRsD5QoN4M0Pp*72qi55Y)@zM(|1;ZO zAY$7n{sxK{w!s_)tMzfh%j|b*C+(Vr>Re{~f_1DyiGyFHVJ97T3pmFqS?NKh$UE#xK==>TF3a1HZcLk+gQhX@Nyt;KNXErL-I zpLyyB>qbdk|9THcR4id!fFjIi^Wju2@lZ(_!wb)a9u^pcA;|KRoA*4k0 z5S&9be@SQJ6@Dqn;cJ-(=XjD4ePjxcHnOnw6Lxc>$?)PxHh47)P|rOCH`rBr;LH<^ zo^dC~oR@PBGI))z36cq~^<<)`LQ)r077p)mtdwgIX;8KcoF}~#Kls@z;M~0@M(|uv zONwdRc)P%^Z2B1+VDhqf3RU6(*^P*g<0X3@BJ9<5j4njx>@zB4WzO}=jF2T%Lr6E{ zNPq5llXXg6c+%KZtFa^fbl%C2rDmTM_GPVdOvGVWenn?pe*E(y-VRVvJ7AS|NXN7= zM8=@M0-rVPZPae|JO{J16k}-Y7gn~DD@M`5c^>I%8~j{Y%0XLVWm+CvW{H76SLvpn zRJqMy-7qiAaB8k7+xr;=ngGZlQF^lHgP%;86pCk?@X9y)EH9`xSa8uj0t=i_Tf8r@ z+weVJdt3h%-Xd2`K3a#wx z6>CFm+3@AC&w=g!jM=1jh7+dbl_<1}&hOLhBQ9|3`|9YKg58Ix0}xQo1Usmp&U( za#qz@Kl+j@my8+ikEQ|x$VwYj*o6?;{sw)6?IdKiuHnOZCP|RM-%(r}p zonUNE?wmPVhpRtuRTrf}P%YTMRpc@Ibgi};4*7xL1X~3i>A%4>7i?t(oRoc_wL@aR zVScIcLK5FsdvJ~10K(5Gs9*6l$%5IJ$TLMEwK~zt;}VMvp@gaa_^4P2F>H3H~t=72`4eWVI#@Yqo|Iuc9`0FgV;zgR-~?|OZC z^c6kRs`#j;`6OXk8R^TP^Bo9UDZS0`4NPtDPo%WWb<@9~l& zIq4bK2Jz?geVOvXH0Hm>RwpkPC|D@p_TD(dG{P6!OJnHOu62=}jHkvO8qud_Q9tU6 z0S|zSyf6k>YckYyFeh&GK8@g~7A)>jleYNMd<)=`5|Jm+_B>?1M+tb%!gh zUQVlz)?Y5Akjnb8ATzSrVSY4j!Twa|5Ap}d9e@7NMc~A>Pg56vl<)Ti5T|&STj#E68Ti#i@9QD&;fX1Ank@Uq*%Kgxk5><)an5t2V!oWzUk(d(ZjQsWk61 zbDz9)y;=Oc_}h;ZD}|b{^UV0qXV@f?taFgaKYqUl%c24xT6_<(q}bxT=a0?Rn5T=I zN^wVCl9-W%?y#qh<41u@>f6=6BDm+-Cn-eK$IiT|y#01>L3eLzN-BWFo|kk@xj8Ih z@j7RBjT4#nf(rGI`(?Ez^_zOzBEC+q=ERO+a(y)4mZF!tg|W9dL|A?Wzc`6 zT=eG;W;!S5)|S>lkQuxit2VE&v;bH$bdEHM$Omj9n)M3Q+q#qDppVk@94Q0vOrruL zLsF`$w=9Qa6;4!wQ5zfF+6N1@#u`pK4Rn3EBk@@b#j|!U%N}L;r+HB!NKqedO);V( zfjzl^q>DzrqRSAf@{v})Lmac?2D5JKN6-=WKKnh*JJNr4q^=*U;m(&M~+kA5jkAA&rNnS|pmM${M zz*g#uByYapT=nSDt@ULEkBU8YZh4AfRgrqiB>5lt{juQAfeU$NBs6klF4`3#>#XsfUDM(+ay$h#|3p7zP);XjyC0`t+S z=b|-RzOst-(U0uA2F+sQ3&U)&S}mY}3ri*4=H_3)aqDt7dO8*oxPjs!e0(Er9#_Mx zawSVZ)3^C%Q$)%BmX>s7&u4AVAlIXWB^PgG&nY`U!lZHq2vylg+!2tv2Ed0_O8nh_x%!c^MkrZO!r+X!50fT^sS>^l$Bb*h(rkL=RbQ^Ad(gD<0|844SKn zWqP~)b&rJZIWbNOdDk|A@haB#rEBJg`UTXbKk-3U4yS3XEoO_)OVuCGLw-EG=-E1i zWiJV0oITF!7YfgjwsCtFVbK!tPQ8S!w(t|bg=6limzUe30;6~Gce3kGO3Ru@>)DIp zp}u;5Uk<-=SCYu4W8PTIKAijoeP7OFCH)MsnPnSihpE+}}{GNla z1k%X_UJxslxIA6wY!Sks z(Jb$Je4;PxwIuvpOQkwyGVQil!^@E%N+2fQ;lYy`(l(BfE$f5OzUu6x z6`v=Inc)0Mv$Z`Rlh==i>|5w|!8Nv=hTMfL#!LUcZ}bcDd^k9q!EYsm4J5aH<^A!J z{c4>*OadbT2q8bt+Zmp|0iDE$K(N1$R+!JH?6HCYnXHH%^1UB2e$rhQk) zjN^5O$GZbt$Vb zop69uBd6x{dT2i6M)q5(-1&5+SO1rd{W0|iY@_o8`J@&rZuQ?w3JX@qU#V?$ySj}W zw_qTyqe3Prmec%QsD?lDV-+*YBUYsG^gK9Ms_rx(8?iL+9{UqqhS$sG+DiL;3C8Za z2lh%Cf=rOXxYw^DadeMB@T!Ek8cC;gOO+K!G>SnC(JHFGS}Dtuqb3^Ar+c^?ZX|b2 z_eA%*rK~XTfEM|EuB$V2KN6Qe^h`vml%CpBqL=k{AO%^s7GHp{?#}@w^3Bw`5qzJs z>Y4KO;O3XG0~3zAR?Y3S-zoR=YW6xu>XtLU%Xm_C9e$=VeO{~$(?Wu~!B@11THpTB z;!U^1{B3pSo#nIob~C)ygb*6-^S6yZ$NZmuAX{JUi!vEbvE7+gfw>b7aR75ho-e;yNj0DlCp>ApN63IAT4)i>r290Tt;i( z2W75gvsY`ls`Ld`#m|GK7%jLRknQuz{i_r_sJnzGCwboY#;YDc!k8QJN~jedzW|a_ zj<@{|ov#8Q3bAP`Kdf!a1V(Djd7C%;1uFd#0h4uXi3gr`YTW|s1D%QOSfuMHZJ&Bn z_j|eD$^EMSet3|G-v{H2UX-*>P@+9}lzML5mQguasIow|jIpq)KVg1!%=Zqp z;y3PBH14yrGuI!$_+5lH_vc=CR(CfELB)acDQqhn?E#uSWtn{^Rghw5vFl}NAu#6^ zz1l&u@=8vX1{t~fyuEHg-q7(AmTpJ)$*IiULH+gdrNd8JZlqP_ae%duoSda;qVGyr z->$z`aekx+iEOOU`K>~kpAskZlge=HmwWI3;G@zzg%E!Z1PrvvzV5S-(A8X@Y|Gv* z2WX_r6%nk>##mJ_!{*8sshm>gl#FO3L0rQE!^YsNgne^z^J3}t(9Y)V#1Zc!WbE2K5y zcZZasn)~$6Tm1eNQ<8V;Xh^2XePF(L4{MonM0do zvqNKDt|u4mygfh;G=#34eRA18*^Vm3Bqm=OLQ+of62t4)s!`Po0)mrmm|%Cf!D|fP zBJ%FmO|Q@$(}hH=b2GQ|xp;9gE${^i)n+S=hzlihP+cdXu(m+yu&wD~7rP3V{Xw!s z2!+hX0DB@=N8zEU7#dv^Sj&LhB`&oIc^C5-YySJ9-+n*)uBWCespsQKZ2fzlT(dkO z`vO9Yml5I^AT(v@X4f?_EqDGQ(rRC9?;B>hODc zI}5*8dE_$;p+hR?AKM^AFq8in@01?(^L7UsiFS?>{oVtFIITk(gz-M>O_MebEmdj4 zQy@D)DX)NaTot?M4;OJnyKb}7yLPf0AR}gCXrxHGQidq*VeFSd{@mrbv-rw8tiSp3 z%ot<7O#F5V_h#d)|4!?0Md_b44=U%`Nd6(c@_I{?56>dBK25-Lu_29ImtUlcfVR^6 zqTEJcSzqjNLsXM7|I25y>!#Q+!7T~ir|mucU9Km|u`%CHd;D9^%*9~1oL7M@7L#9I zo=om;*rITcwzCSOJaY5TxLy3|@_Z&PL+i)KMVb=A#C!15dc7gEd~dLhm(8i?7=Jt;ShS&z8D+;e@#N$FslXtpm`mKBejG>TF%1;2 z(fVSrpd7(*zFluA_v~RBN?Fn;e8EfgIQ2MSQaZ6sjIS~Nnu#bf1-<5KK*pq%QzD@{gX(cM^)nqE9L&KR$ z^(!P*e&?LwAsWl5VS!L!v+F(@&ny0!i_Rognf_AOWT5&36!fB4uy1aMp7^O@Sl=AY zeJH2!4-z$(NdnzImjsJ`Ynby&e9ene+p=cL1c3@`{(73P^+jOe-TE1>6TpBJa|E|O z%m}8>zoxJy%VGPKOoH+|1o~lGrd~#<>V3jTH0&SbDhW)3ruu1Iqqqft1*aK0+&#se z8tCfx^%2@`c_%a zF>bf6d&aatZwkh3vL*@NSx>X@GX5DJ8t1Zxr2wc+6U+y&VgEAkzxsNC!`Kx6N$KNF zK(z##Ov&1IJ7>#gjnj*h=f`}NeRRJZgGScgAH9h%*k!981CV2~O@9~RAUKl%RPfb& z?AK<$bPzAyKb(hwncF^lmt7csfAIHZh6nw(JyGbYQ*u<5k=AR;?UI`3^43+*Z>}OI zd3@Kj`gwb&5d&fLc<0*7@)dnodG$8xft>9E7a&-RQQdt^&+rMgj9vMQzX*gDUYl#l zD5#?lX!4dX2~3fOtCo-8e{Hhu-#Khhuq{fYBOeu?E2x~e(!B9z(n&;cJzw6}#WLdC zjX&Fa69=W%6#R>8awFMyvIuIU3YG)*-=={`Ma&IwojkFiNz;SRE>TeCSTK^I@^>#7zsSZO>^h6yUmW zEkCC)+-N`N(G=+CYqq8b%187QU`c40ee<8NLF4q!bM^}onfD*6x@R}e_zh(+_G~*B zQRxDzIE?G5vo%rfewXB!2p^A~zaB4dp|-i)-1$XvgG?BMCzpGQZ&}}m!xxRUALbZI z^tCM8ml45rc9|LTvTQ-(oOO->{n-dN$1>Ebk+8+M*1BdY>I#MfmK3L4BuD4phbE@< z94H=klxRQf-Z4a)ev7Ss95}(!A&g7`>A_Y1vEVmjT3du@B81Z5imw1`BGUvFa&Li? z;ocl7UMb8{PGAz}vvf*#3ZS6aF<&?Z!oyU|EgM7vAePvcs#DE>&U?RAQvYNi9f)*Y z&-qpVw(uRK4^g~A8G0WewZ(nU(g!7xbrubcGx*6G6sHHG8M~jPn6^Ks@Yko&D)bB% z&mPW(cTl6ouklH;dRxN5YkT`3uI!a0S}tc97`fscou&)kP=xQ#_LcB<0(AEiuJttq zkfq+6rg9Kj%;cg-YIL{c_mrK})hFc2H_hhABNpeHt`p4L?PRx&C#r2An z!+o3JP1)uXBpX_EpW#oK_JEtvsw#LrKsLVbvr_mf*GL|0ZVhXjpeW5uk(Hp2t(^Em z<_YO{H~G!uVQKqbQ-ed%^W4~HhZrPeGfUK@rKZTSo9(%9eV;-1Q@)I%Snm$dROJ-Z zQ(2s-^Nw-2i!Zn$-efzhu$<(d@j$x`iu^sW1p+LUSi6*q>j3VsoX7qlbhozo_Vo3^ zE=DsKA#lDO*SKz)SO?+A*$pwH(Mmm}U{76JpoJOn*7jpH?$wECQ!nAR_x1I9vwvw&``;t9F0>U;Ce0khKdkTjLeA;Os?|fHsy7#7Wq)Xrku{ z%8yA>y5D7>Wv%E45+#WT1+eUN`@lf2^-5Ys9z5!M#*J+t3XFdPSQ9eeOUahCmpwjp zb9gg*?BAAsG(if%+@zRqO3x>;PL^5LeMDFOc1$3`znG9_6I;TaPA`!MFnGK5m>c+h zzM!c28@Lj|Uur)pQ$nfvlb?^6A@J(Y)D`4k?vxnD;qE>%O z1Zv{r!Iz(r6uIx)alh*tHlT#-VADf<=&YjJ3jn8C8Z{Vv^xN<8tM7H|I-@Xv|H$o$ z9#On|^ihJE~kY_0DKTeV?Qk|QqDd7eGf*~JW@7edGOHr0jq@R&_|_)QBW^#htQiSknl zrCt$V`Kg1O`P&OOCq4@qP=nl4U7pbYi?<|_k6QJ>T0w-)AwG;^Viv;K$3!`-J=PD< zu8pdDpJb%|vd-uLco(rEx2H#^4xwKf;lOT(F#tov_}z;xlo#sI9jR~(K=-L;vum#f z+VFp?o6g|GbbWncnQ0%2<-&MQ`e~h@iNQg6>9j3HwKm8`k9M8o_!{w?hQja;BL!)S z%-L54Up1}55Yq>L`3WkWx2o_wTpv#?e#-vFj->sI^!dj&Ny%Vlz;^jl{k>lIJ=Y~d zl9NciC-e8V&)O?P_E|L$*hjKF;6Cr78g@ChKP9w)YcFBSoG7XE zHX#~whpo$?*X)p14DhSql5_qRGlf)Ag>H`OaNHg zQ(iZosk4uTAtqTtK5VefTw(It`oy8rGvj-Nw3#5J z?@j0v?{VsYks@)!N!10t|Gus8KfH%b1|U>;IHht(T(^q6<&Gs^^kBim3CCROp2(E& zTj!kJFN68)G*23xnc}5VPpCLf`!V5-j7*e2_rG*HsIpPxVU%ycTRxsy4uWXX!v?S7 zOzP^`O}Y~lFKon`%jIdpE^^5~;DmDwHA?wCq_PQEO_FfI;~O0|-#_(nuBKF8tguIv z(Vm;;HF8iL%A7NVm5$3h7d(?*r5cun7R6*{eBFfSHOysbyB_vgaVav@SZ2H;uFa!E z%z5vHNgmxn2Npx>k9+~a-;wLW4b7cBf2&}+XzQL%^cVAmnU5bFc@m)yeE9g}>Y3k( z6#iBd5DmP++mVk~%z^wxm!qk;Ld|}A((DcXQv0g@`PBDx+Ujrprmz;(7p0y0FWw)> z_cT?VIdlB`7`^8MwB-BO=Mm|$_MA*IzwP0!HS_bHLo<8Y(v62){CE`FTsG}o@y^3G z{eUx`B%#~{CX}CO5^Z1qFQ#1Izx%~IUCqX&{H&#;b#`s>L3I@e;a&9I!A*yK_4#e- zKMr-J?t6Ni{6iDptu=j3?Nr&QMSKbQW*21}CvfG|)*kq{#ywvDw8wD*#OD!w;SGi< z&MEqbbi20kb!J@BIpC}%F&HdY@n8LAY;ob5p>Fqdz0BmjhGIeo0Kc~0D=siR>?7GYc&=BXWSiZa_lY&#itDFB{Zr2o z-XKPiit`cn#Iao!gRP|pcYsAk17~YAVIYKm9=h#b*@t#yc(xE7sW(siq^;iKD0#Rx z1=^j8whkrzX7a^$rVOn!Zv)73WP@7I>!Y%(SkZ{Vpl+B!- zS#M>1a}{A8m6?=i4pwc+B`vCcUj|26_-6L3DF5l8sqdi$Kel_Lzhi%4)a*v|XVDh{l{#M?$=BOVjou8%kELhJ4;PlK5 z>z5gg$sVNoh2xj)(4>o+n!^`q_Fz*T$uqnU7t}TBO63qR>jt376 z<(7!a?KO`WHn0GID=oOM$JggPi_hS_Cs5b=bo)_f8Ui{}dQO36xFRXmC5A}$v1KHh zd`G33LCJu!jP1u(+|x>7s2C|vO!w93JC;4UQ7W)7WJ{V;(p|$3NOR&KKc2^1q(cwK zG2TF)9)YQvGh*&#I=xz&t~kthzD`?4??Ul2WZp_2qyGYHBQxGpavlMOKiPUf&0cf3 zUcU~`=tF5V{V7Fs@J4mP22TO^{a)K=>YYdAgC0U-Q`XULKF&zHRUKAsX-F@6?r%C|Gm80LS-^;?R9%*@g4QO@B$% z8E~C4xWsYa)_Stuk04w93e2~zyocMnuzpeZp%1xcjYVxY;eC9Kc9a{nx56Oq-R^TF zaWqvb8C7OqZ>&ei3ORoi5OA04N_$oJ=bt0Qjg}PoG#$`!Ci@ulg_kr}lXH@2+fF=m zG&f=zqWuf6?(6SLtp|h>e%$BJk9KJ(2%VPC9$M#a8fPu(b={x662>&|h9|53T%qrP^ad{`fn8Vm293vv>6`o9qd>U>;#=ix)4}7HJIzOp z`C})76VV83{H^lkMLf6SfyKP1Sz+?5)F~Wm8{fE`65z2thX|tJwzjV(Q4 z1q>~u|6>=dy3r%)^x!VZL;FcM`vI!LnCz;Rs~4FYvMhPrtZgIQ&AkM#+j(xPuJmU$ zZ|A1HFQ7W_u`Jx68`7X+un&&^KYzVba08B!zR}Hf1=&Lwm0Y>MpxKN~0LrH8DCLq1 z#y&q3^0gLD4{{T3Z0zBfyzEu|1iOMjj;n?t%a0f%Nmi?}3?sjRuX8+1)_Uj;$3G+j z9EY&7mg8Y7adg>Cje+4a{lP->8>IHsad=8J*8#}Nh?p9Az%TYqef=M|_Y864mC zU7f)JB+~p|M1rHhRE~XLM=kwGZ)5_*w-K!? zdxs$XZ)%G}GsJB0$hq&6DA5i#SNpHO@4n{_7S$oFqq}TVHBe=|=-}$gJ^`z&*4-`S zl=5}=C6k@^>F9~K;LG#;)XT&;(zW>uUBN(u3-}kLf$gJ;D&UAkx<6m#G3@#&IuL9c)WjT|k1O&<)A)Gl|DLdz1gVavOHj<<8e zLVxUcapYk6e7*HW!6nhcO0HTFM1E{MRmst7N0+Vv8#wX(x<3XgCXRaGOt1TKX}sf z0dZL1DU8#)KX_aw!%j9P@$Jdf1yaURuE12WI$sW#Z?`bcD2=5tzz>Pt>BoHF3!?!) zL*WE=P5y01fgi8ZD0yD@8NaV_`+cJ8yEILK*?4=g#q@VLm8hqYOEwTOCKi0qyst)& z&jbEt-usug{Yi6Hy+E1|5oYi+caQf6+<%}TaNEKdfc7PPX_xPvm7SyE0yM7gGu8mF zpl*I~W9nZI_ZE$jlrj#)h2xL1dU`fI@68?bF>l^8pD1Ho4Eu%g&|rbYQ#P-a`#Ipg z!Z8U?U3NTs*3$Xl&&bdwQb+4M_b)+&vZG|H+gEt1*OH|%RXq&;O4CDceW!i$w#Aa& zk97aI5tG0_`25R_0!bD`UDl+7;fa_YeMrYlx5qR;U{E)qT7PS^)m4TP$tMuvYfLNed#WRC44a~h?sMO+`;QP`>wX zCE1fOqCRP@p@^Ge_~F5$XHL8IN`Gu*RT6Kv2rRVzfvx#L=1A5y0AKrY{f9pv=lK;w zoqUL)c*LDw({=b#LZAtjg~rq4MX*>n1rHVO&Jv{dcDY5Oy~~e_oww|xf;uN6KM&?~ zy}_e8vUTQ@ZFw{b9J{&cdWP{BWSL8uwU9+X;{9iXC2CAu(@nSXgY-5BL|J^`I_emz zRBtPO-6c`AvLaTJ8Io~K=S#pR5Z|Npmqvdj<}L6J{kPB4TqVop6&q!&Pg}S23sz0% z8m3*}{=7B3IZ#Pk?^%&{*tI!#2YN~)^l56V%vs2YPu%)}}*R>tlA0?(cd% zS{+0J-oM9Ono#-9olp}yJ_0q~XL9xSh@fP%E>!+Zp2je_u|i_HbMFGhR{IRV|C$t? zw|umkZJ&LL@%0-ARQU0F=PJ&JBa~*H^4nXhQS7sf)F(1j@N?L}C@0_Af?m;|aYYnv zIV6w>CMA`lMmPRUkiKn13D_~azoXfGD)-&_ko}BGddk+CS*d1@!*4!}=Lb~RiFKd# zs7T#MyhWi1m&=N^aDfM#USWDgd;caNCw&W^@p61VBM)rxu{)o8BCF?izGm4ZOS5_= z!X!UK4X-+gzw+WSliIDZ=cWUDJ{T%H#0=dzs*jIDb7!UdeE}!t3?>En=Mq(|CWGiw zDM4>!db|%ZJUDY`tttoYLQjiEs;>hz)rwQ?PsN^#NR)W3(UG%P4<>WQYr4E?T?Le2 z;9t{u9B0%4TgmP|0A{_)MFxuS)veYB+m>UZHbh=oK?DEy{Q@DGf(AayIlad$@AL;S(ym{s@r?&3lE zskY~+5wdGz%)?;@_UDjYm6J)buS~yb8g!X|?~r|5Zx3kL0?ymh>hT+!uLk-yr6V1< zi_ZWE50=W7;|cC9*j{xiFW!-j^;g1;=^!-V;n_mP;~d^k+bLRL9&u`#l_SR(IKfGY zf8pi)4a6i4SQN4^@BFK(8<b;+fZbytn|^D^~KCT+H9kj5F}m8p;bZZVcZbb zSvnB}%?Fp3B_6__i%;g%{SK=NhrS@MR3Yp6DFWWsX9DL1?|}!hNmCUHwrh0o6|e^k zMahu8PVw>OYq$s<$cK}seJ2$vlREf0b z7z=`cE83nHSNjPc>QeG+XQ@IMp8z9HGq=5x_z=jz$3;fZcu zKi+R5`+{{|>D?f(t4lKkCI}hQ>hv)~=SI+uhc8XR=~TW#`g$0VP~qWOprhx2MBqeD z@3`n~ngX{ka{s1Y&^*8FSB}4NT6f3CUh|Y8W@xIhRgeJ}eDD?B_jTjiTmg9N+xX>^ zcF^Nd3z*C0{o9)5{x)OUxdS3HNfYc+UT7e7!Xen#@%~-B#;^p;6-_}{8I`+-gH?CR zeiPjUTmiJft@Ge}^B3=5SpM?}ZTa|39eMb<^X28`FOhrc%03~P7n5k=xsg1r0cMb| z7Z+Zhkk&*CvASKwB)C%#*)e(DD$O|eCF%m=n~!X1%;J%kvt2 zk#1k?!yY^F!|9URM{mMat)F3mKdxGWAM`MZ{tdP9BU`T4zt8Fv$iMG$U1B>5^7XeI zVuxSEaaDUb9&t@wKZqNxm}Q(N9gI6*lrkG%y>tnYO~3m0^-O#ACFD(+b>!zHX)9B` zes+^s;u#uXuwLn|N(pg>{v_<-;WbFNW5a)BW1rLZ@Zx!QlK;38A_(7Y;QGSpnxqI2 z?P8Qyysz3Qruq$~9NpW@Q4f_@8SKR@`*CEWR8gEO{AumHNz{t9Yvo(Dr#(Wsk6PSk zGTsg8(D}aRY0$lUWJ7Vhwy5d&1-(FE+`b(1%i6NO)YHs$L6gdv!cN!BC)NW%U^H7{ ztaMyO2@IwDJT~9Ws53Yi<%3;lhThEuA%(KL$Zk6D1Fgu^U>-={}fUVR_ z@258W(p#c)d*l{L)u2QQ+He&(2_x|8I!oz@ua9wMV{)&TteD>rnG`XhU{CvWl)QiO zwKtR;q3&5?Lh)_Thzb~%2TXi21S=TD2??@yxg2~HXPc-j4 z_JvbaqwW5gJGR*$Wr~8<-C>yTr1Mz#uVmha^-b0E!_^(v@dhwVor4Wj#(G^j1!^Vf z^<;_@SJNsp4bpZ!a?R;8-+3P~<18-1^%$lkK+l>Xn#KplF<0rGxRS7tw@)J7??$O> z2PkKwgnND3weMkJMkXThvsa9U7& zLD+-yA_r~B0>2t)mq(FV2X%I|3J$aQ+g_|WS7z1hAv2r{jez!ze4MqD1LVXcI+U2E zdiiX;4&GM~lfZZZRO+4HzszF^P7uFCCqCXkCLJeR7_B=S15)FB5B1se{+4LwSig#) z%5Q}qY-2g6!eQkeP0K%kp0~p%yU(!4rzvjU1-g_RrR*I>*bB=Y1WXr_?Yqr&eA4^? zN}o*@pu*x^s@VzH{M$r^B(|0}G3}2(IAx9SU9>B`ZKVNc&mqJfdAt1pnoS!U(>N@vg z%%^nI3I9D`s_(oBOMC*IPa6DJ_q`X}}@+<%LG5;@iTcl&-E4#RR@0C59{;3QnzqkJ8YhcKAPzx<-1_Eit=vMf{I zGfbdUxNFq#@&;v{5nxTzM>Zo2c!c*Lb#HEBD~#%?ZO)Rx{80atpT)+OyiO+*MvUwZ zpHbLDMyQ#0QrCZQ3KzfAp?dmP3_V`!hh3pZE+B7v>2Km~I}Q~R9lpJkd@q$;GK|7) zXwEqYdT5(y)S~9c21*K?30rATA`PyS6}!Lo#@+?@+OASvOnE$x$}b}h{q`;(<$0!i zvMwL5J+F#)N$v~3PpaHULZgNG4$jBf^eRA>)rnN`Xur2)Wr?#EU2n5ncv#=S9b{Lh zlY{r`Vyh<0>!7z-O)9AcQ)K&apImZA$<5nXpk^TQqx2MW&aUt}dZ9b9*Pyd5&x@to zvP~?5;qbmeYW(^JXw*AU`k(7{1WWT48>}Js&?%a=d~TL4guRE{9L0^WBS% zy>?rN5F!oB;gK7Xr^862d(vVVX)@sOY_hy}j5>cx1?uuF1Zay-*F#&(yr%Qr<5ZoG zaKo)s*w$tPRJ^BvVhH zI-{>yY1l+@Ucm`NlC-zV$Y*}|{$d|!_~VTq7C894?d~X2Fw2{C`AAv1%oUoQ=&Ew# zch8u)n!mB9qDaHKtoJ<`2FhX(V@H3BUuR*ExOYZry6rT-aO#uuo{Bco3beI< zD5%@L^}^zHoI@Y9jlfvZ^frmG7&aJSg3>=Jx{zvRo(#Ky1YgkNdAejF%ik^kEtx%KNfZqt2G(Sa&M9*a*FA%JY>{dXzX!)Vt@LVp7dyKeCKnAX!utQ?i zP@0Hd_486t#4t>ZP0dTa(ESlKD_xY}sRZYURnuZ7(GqCG`t+M(mJSmF z?EYwFpV)wKk-RL=sb$Px!u{urSC!uW)GN5Ug?-V|iCbv&)Vc9*#7J?#TH5dE>u&it+eU!`}3}$AiCruU^n(m``lA zX3uBEd~sm^nX=yay4;Aw4BaZ!x~|!Y$sN-3rX!E0VLV z)lXh3Uw^Ce0rIRL{qx7AHaYv`GW~;)yX~-H-c%b2kb4(o%shozv`^+PbVbHm{9ZiC z3>cK!u5m?!3b_Sod7 z@j15UOnW;RMjpfFRYQ|+g1b3Oou86%PWMU1fo&Mi%8-Wt=ucu_NNbC7^z`K0$7(%n zZ>kcSJsdz#TjpVWHH4e{iv6&)aHnN=&+8oL;9zj`viY5tH@ofmw$oQfYB`(tJ?%Fj z>>&^qp4GOOG>-dbqR-Va00C6}@pgD3uZS*t%FQX(!o}c}DvROza{5S=eZ5TXdL0!0 zMGFaZs+?U{8k(h7VoYLo|ew;L5Hh0#E@PeQkfqhDA?(N+EG?`_Q(6z2n@Cf)rzEDpa)1+lJl9MjI% z!_s)X>k5W;PLLi@KfBc*2(ou8iH`Z5ORMONBLcA&7Kh0)NWI#VL+35c|U^1}F(fKM0x+^C!c85r6NZZ+L zO-Ry)3DToBje7cdxSyEe4Zswh0#p4P7g9G4YY!=WmCUJs12~)VEoaI{y ze^a;Z>XX`5xlM?Bnf|(u=>gK8DBlYO8QH!O?Km)4c8u4A#EYi!V}bEilz{7IRP>&< zWa~o)KKr3>GfciNy1E|(KiFJ`&j?cajwJMhsKSnD8b(t>qx<++2wRej+eJP%H&E?I z#%h${&0@bpM>VA~Q!fZ}3mkcNsr!4D8*RWb{*iQLTZ$@6^p}{0M*$H;Wl#`!Q)UpE zl;_h%(7Q<6Yt7aD?EsNZ{=|6g<@G6506vQ%#Q>}iJ;$wopLgCjydk2b9B?Q2;)Mt&(;0)K8|`T)jAoJwnpag zN#X8+B0fAxJM^UJs`XLFE>=jUquK4*Acnli&w2x|4hTw;8Q}PA1-EGGk(@v_g<-la zfIWPcoyLTBYPbwS+nuh0Mid{lZp-IO8In9$!-OyOwblE#@r09}`ooGx@-c;(?ne9G z{PFl0><6yKC)o>1iS=54TdXGh@a|^L{qz761*!z`pHS*J?OX;o4 zud#5fZhKOzKay2<5u_lygIM5qu1gS0bpJe@KWhJ@g$)|&-kt>`#Xn*P|Nd~@!{p=^ z9+|?n*&_&VdfF=wlq^S5GA4^zL1VA5V~0~V-X@8D_2r;F(MLo5GWgn;v-z%rn^muIh7QE!+FhMSfde}INYpzn zoJ*rLY;d37FAGb>Z1@UZ(DNhaT;cVaLv-s^bY`y=RK%6fheY4Df(?-7K1rtOsAnjA zOVqUPP9HCWSwr1&ZFYzsst#YF8gd`7NTQ}Fe6~wer-v5!()SJZW)L@#6h`p`TW}a{YVuW*^pos6`wvHOegWyn{1ApYJN^<%D|R%)us{!9siSiwG6` znjIH;K8E=-YVLLkb^AxnJ%rdHn~BeNfzgz-;>Lee|Cy9ha7PoFlR#d@*SPzq<20r> zlq72wFUZAJfjb7wum-yOor((gVDfjkDf(Bb1D+ z&|4scbH!2?^}{`Qs~719wRaNyt%kqetq=QBx4mb6p(q+KQjcBvLMPYYJI$>0+l5D_ z4L^s)eNEYRbRny~O^Qwb_G@xUqnx2l^5WQQ}#W^+vBFp zn1wbJ01c)ws@BP~*ZJLP ze3m@V*;Vl^R3?EvUy^i!x%D@Prg{hO9X$G8pq6*0G)+2(d=H5o=6d3vqY+MRb-3gq z)u-tbxeL^{U47}%%9Phj_{F@`@*dV~?$&HKqN0KNd|V{1pJ!Wj6rSJn!?Zog5+3*T)C0B#!;EHoY3|+1;?V<`A+}HM zw4m$IjlfD_OgpzBN?<09Hc$jZ)b(5~`|Ax#Jf-dAHe2;e)Iz{IZMI$Ug%Si#p7@s+ zXjb_4@`v}0;-gNxm9Xixd+4Rvvla?ic*`QFoL_Y#V{e&A6`*XMWD%jSM{mbTm-CX% z-0Af&DKWqD%4WtbC)0wKC)3-3+puA(q!L<+W*yLgBMt0Wj_^A?B3;D-J_JxN&4Eqb z6l_7G0e01F!7$ua+E?@Yr!G!UWT~}Fn*PEY2^Zh>@oXl(-)G!#~2w?Jr|8seNHA#n-p!ixhy?LLo}-$G++P!#Q_> z>&11woh|Io!s$kygm!$;{uVS~da72rJ~xXru16cT(x|S!U&~cR8!o&zxHwtEDe<5+ zGfnrny0?B{H(A7WP8G82N{|KvSlA_>E4MGEvV^81XHQ+Et;61>KsJIqh$59Y6xT;J zmR4=L9<%HH7$2T&?jlys?qWfnQvLzIDqPhw)7gt}%xkHEVqJueYy@s&Ut1JbwDN(c z;Cu7+%KzzKC@?o&?#P@aDL^VaZFRN2!rC~2dj~$77lNdYy158bl&HdoA#%1f^?ekhWu%+Kxa8`OHO3-m!es%_fVK51nwW& zxv;M$Po#&%f+`oIc>v>Nds-rXn^hw%#AVDGC`^%c^dOzCYn-yryh33_jsYkIb)%5_ ze9urMY~Vu@%=U-_?2(M|sv~p5KRsF$&Gs}o$!TTY8h3!i%r3^E^jZIdo~&+gHGCVopT z(GO9hZ;60NcTb!Y{|d;iPA}GBV&b=K$oGxcdf|1rZe+pNmEXcpvQHpPrRFXs>;?B{|gKwo`!hJ~(Ky|EU z=;m+`&ITcK=VXI28R;&34%ysNjIev{dI6W*(^EFCkj$a3t0Qo$FOI&ZJ+B3}`9Lh+ zIHazk-=Gi?7aQdCEevuW{v+I42N=j}^1hH#=R27Q&j1n&XYSKj z6Zwpmn6a_*e!4@CY)Y2fB%iX^S;#i=5dSDA-BVsf9t^$9q>HnI7nu#4pQ5?pgk=Av zrswQl+!OT?C?RSV=Cg`_xuBbT-{vjbaE~+dhActd7$n;=1#iyoYP%HkA0wt5e7&?t z%S6laR(hl;M`$nvnC1a)pRsN%zg=s>^CJylOGF0y)i3S~*wc27J5P-zcyh|mrL2Yme2Bf#`gKgLj~M_zC8HDv@&LsET$Nk zMi^Y0PH_>7ITW|^=fPdi#g>Nfl(#Q0_n?lxzp_(r3*4sHY~B>_!Q(hW;niZt8qI}g zDV*)T?BR-X{2FkD#wu)-o5_<1k$i;_0)6qVe&MLMo6hGrZV#RP^uavcNoW(m_aOxZ z6F(f7lY}J7tKMJf&I&o?1V9m^rHFMBljchLQy4#(H|gJp_-MN%xT*0z0`b)1-I%CDsu z#n^Qf^vv?49;+riQuPN05S!ekU(IP@Kpyhl{Ytk4mB}vJQCIPUykGm(^&%wY$yUF- zu*Kai800tOc$Wl!eCw#i!?sH7%-j1!x6gWjJPpfVX*x}WMm-8RNbA ziZ&b)QA9zt~J@5p<)iNod^o2Ywfq8;IqQXS!+TIcU$j@_f22E{tl@ zX6pSOvgO&cnDlGT4%Q`=Cwm^(?CK{+MODM$R9xTXNQ!Bs1j=#q{u>97x`4*BL0i$0 z*4Daa^aGWL@2ifeBa`_Y56AaFi?68+?^DqRmm*;71P$qLeCQbmu&lre7+`X{AXl4h z-<@UmAk&@hE2?%RlU<|CWOAKL_qA+@bMFQ%t*Wd2w*FvJN{(oe+*>6smT8J?WI2Bh z1QRo-g$sxjJ|xbOy#IPYfSS-V8EMUV$4^_5eSVs2tS59&g1!ZD_8y+D!8sZDasfiq zsCx@~8rRQRHeaVTn>(l{iusNQl4}eW&u#PL*Ia;m-GAYea(>)JpiAc6DZ8JK$2!C+ z_%HzW5|tuqf~Lbtr15ZbhU|=MPZ1_wd$5nm!b*JK)gDkS9yl0c8`evD*>j~~+|{=q zv*{;^Q*p!X# z?c)d2rl~&gsCiz?X7q*W8&OFYtS`X%_q|$$&HAumB6PP(?^QL!ajiIh&H_t<0B@F^ zb;*nYzyWm1ItD@_HlnDXnWZVOSejvse0W*o`pew+{c6pnm&~)a?~a8z_p)-!ORAzC z?ZWLweeaJ2$>?0kS*#rkZ$OCzZ%Y4U@L#`WB)-JzjQ@4Io~hz|&3y%P@0)e`$}B%y z69BvwPG8W+P`FpwhrMSQ4^Hv0Et;9BdWF~y4E(0w6H@!~?%4BDryMTE zel^$&17UabGZUDj?6dxfiPL(>@eY5?IDkXXL2ra8Hj2wq`hX@}BB@Fyg8>Cz2)b(#X9&&$m2>&{2R9_v`3DiM}?NGNt22UMYER_ae9=okj8Y=o`g(8d8%LN05 z`oTIq=XA>5^k%Qdomu#^QS@jJ!R_bt+l&NC`v9mx??M6NR*F3gLhaWf9F@qJl{1Vu zFTnJ;iFlA~TFUR)64MhKH^0B8l8fA2d(yi#IaaZ(vSl9tlAc23`Bp z+?i(?4nxcqzrX79^EyCmP`=cK*2?E6S+^etcff$v(spDZess()%r&7N?)2nNi{RM% zsso9MJ|dUXEMZ_Ck!Dg+mL^+v4So@{Pr8d;`SAs*WHsJOKgAbRrOjS<&-mxlWTL)< z+x|PZQAOtGCn3pW8!Eemy`Kx-;pBTZMm!S?DXf`!xIUjhFQ|Xe5Q!ef#aBEcLRNURUdTa@zO_qC~0vL0OxdF;GoF-X0l@#E$z+s zu3zw*8jGolDZMBM?FjN#?%-`bvsY=FCsFUFYDU?sM^h3;nPdG9Zlthg#Calc;f3k8 zvL$;__Y(EiFLrR8o>Hsewkg+#M8}G;thPK)eEdvON)`ZY4g>jhnuv|k4cY3oI& zQ2>PH06clLFoQyc!7sLC1`ibL4i_H0`44lo#7VUd`nxSG!A}}eQMn7?oP9`A6EIhD zQ^)|4R2W`uPVkn|o@nCX@;vYF;TvYAhhsFP;7m(t_K1k~4xyOIIq2$;qJ0UO-CTqG z1L4c*yFs&)Jfk^uTX#4`4+nlg4qmYH)#d1oJ&(!F-c%Cu^Swq=*5@PaAAr(7Hr5I~azvT*v~zQq>W(b*AoocalJaf6eRpUVNcZ#mleMki ztY>lVaRiCaemnKI^-abv&;M<-ZfLVaGMg&T7R5L4@E5X~H``fxtFn8ftq#B9UkKoi zeo4;4WeM{GY8CPWufjL!xl0w}c=1k8yRxlAKI{En5}z4)(y&ZtClklrgzg-PR^h1 zalXYO`Tp7!Ts1Z7F!AgFz}Q@$UG`_!}yb_m>d7LQ8}D(fJug11zMEv(9&AX1ew)1nG1 zT~nyCvbYD$4|1R!9BrNwy}OOiG4t)OBl}=tQG3s!?U0W7S8P#?J{kfz&a%9$nTL>a zk~5ShKZVu0UJ1JNJzmW&&n>FzdT~3l-|h&c6V^q~kOl<{uLqD;4K+9J z0H=rYSJZkAi+bZgf6oTJPXtP(vDMC>7yeV&`KwDQ7(hV;Ae@dn?e;?R$6ekBFqLjE z{e9#lf4Dc?d;9+2ZGemJzugQcR`XRui}B1Q$38GmZz_M1nW?ley&H4h9L#9uohY5f zCY$gFyPS7tKO?uD*|woh_|8zdo3fW-zBx0}d=sV3FpQHi=(}a%mPpu8!sy>_5`<*N zS>NDuayJcK^X3S4rJn-S4BvFYhHHBwPksP_pTe6G(&YCofe0h`;$k}Ad7 za(efV5PE5MX!QzS2NKEmENA3GkkJ3a@)SS4NF7yX#Q7OofTfUu%a?{-6TfGz-F*da ze>=bkpqlVpj?hLy1yw8`HQ%1DSu#p)xXh;hB#Wk}fT5LF?k(Q6 zYK(6G$lmVURt3;|!%2_Lb9m9ScomK6hT1@O=9P}r_)fr_+dD9~^WjKQuXaTvT_2xz znUO4w8g2_0w=)j3&Tr=|K9Gd5$%RU!`}3z!v5+{fjDuT(z?YpXaNYZu(rq=jP*iUHm0RuXfxg7ZCjkqK` zG5hIJ{DF#T)EeCdo#9Oobmg~Ntp~E=KYm- z$@eTl_IPmS%a{1zp(xtTpJ=hpCObk3rp10s_P8&~QY0_Diu_^kWEDkkLWQo|k&TWf zRzaQ88^8{3kCXVC>BXlw`n?t8i4^;D`FT(m^N>yp1es?8jEozAvHb7x7@b{nT7`Tz zLk_|)C{i@C4TU7?74=dxamQ^1bg_NJ@eEyp6ZMIx8e!!Dy)EjAU}k1v0Z(oey-nXMau{S}0(ZXLKNFtt&rWN8#^1k-I_PCK5_4z0H6p8Q7 zEIqI+1Ep%t+YUUj)2Y0ioZ<@-oWM_!ZbW2}9408P7N^^}jE2WDW;yXHkgab1>xkk4 zlXKp{Z1#6O_jaTSmUhO+dR+NJp-=Ov`|Ttidsv9N*1*Vo&*wZVfB6E75#pNM_-_wu z?#cVvpDR*bnWS!BGcc6kT0-%sdV(E1!oNlx6t*K-@Jc4EzOQQ&Ms&kb!FWS$9E%KAPopJVxow=aVUEWhX}@n~pQ!A^Ij@I`hr?@C>AE8O1?QM>6C2|IBTb+3iP zi>H|SktHja)_!nJCWVpVLDV9rJ7t%p1wcGK{}fa@87^}nGnCY?;W}Q$lm|8@xE==n zk7IIuPw@1c{ja5nc}=G;UtPbjmzLu{T@#oD5?-0&1n^Nov-~V!d}0AEd1b$NP0hUaa?M#${gPykaVpd<`_yyF-IS1aptMTLu#naH~?;vcnQD z-=B?8>?PMcFc94>_~by=N)g5Yw^O!r)*5$H^BYe`?uo~!AzRvzYaDnxV2-)Nf_;AW zinW*Di*ad=hxyk9nZUY@>f`7i?1yK|dz5GKjyZPvli5S6!P-O2Bdca_`s~#+#Yggn z60|iR(8~|dS!*Y2e$hmfR5?EFeRSO)jpLCMydHWr=RUd0<^JuFeK6FE z(YNA4E4xqi4&<&KnyNlOf1cv>fgfJN?MYZ_x`~5qt#pzXmoXgqK=UQh4gqpGdz1MG zdyAOSZ~I@Lr_>#iNV|Y7^VcLeF2&uIaOGu-yYwheebw&oCv`p_UL*wUp>zKE zb_G}+)Vk4FqBV0=EGf`mR&$ZbcU=_q3461}xy2kHCgDd9VV-_z50d3~vF%dRrkBco zsWgMBwN~*%gR^j>ajG8*>(jAN%HRyu+5F-x$XRO89kh+TPs-itrlb`5Q!FnnkZ$fk zRu=jA1t9+t81elhwHB)l3F-*#kA~Y6dDfwSclYyl+$X#tp;EtdQaIVrP*bV)!V7m+ z7Tpg9msaMU-Rtb{v^x*G<;IXwg6t;IW}szPX8EujNwV=14-V6PBVh*ie$>rmIge2{*SJoR8tt^?JKILr)Q`ADb z<95ZB$|VnU-akx9bl&#yb*bNT-IMOZ@p%Yt@@{@Ysrm=qf3cr&{Cd8kXNEst4z@-s zqa~hfXcpoxO*u-9PBH?Xs>hqPgwZd6V)ThE&OiE)FYh;VJwN528gcfyAIK#bN9}K+ z<$dz|`_SI;(zG|0!xdA&s{rjgtGpT>4Wum zks=u5$^-$eU7j8J5B@pLTL*kxg;b*S{aCsYSXT|ZoFHU*%a7p6&j4Kt&<{xk?eH(@<*Xu~0h)_rdmq7nObA`&Ng- z19`~4$KbttSobcXmUTVoifJ@vY+iii7d7a@^3n^Q!v2C6R&@!sOE)WyOJhg;p`m>* zEqou`sufM7Q&nd;BW>H#4Uzi&_#n=_u0Q6piVH74LGukH96_Sc{>bhh=f(xJ`gXR@ zc%`GD4pPCXTZ9KeGLSEdvf-a!7u>sKf|_5DQ&asGJjRl43w|0eAV$$zuWBnT<2~kx0ueq0saJ9 z(>roVl>R13wxzN1$`s#gi?JKY-e!KAyZO2UXdNxudu!O)0f@R%e~qm(r7}MWUwK@#}BU; zczGD1bG%2KN5(8SJEtK*e;EL>#?Z(6M(ZEveZWSsj1MM#!!c^bx``ivN&;xvZOqSS z4&TC1cRrN8+{{~!@G#+sS-B=r_=V$Y8(iRZAb3tq!m$wN>*1~{n$H{OxxmO5tH%e< z8^~d0qAQRd=(7vUzwq}n7O2bVpg);iS(&zke)lQ5 z$1y*8?Px-kMz8@>!OeF&*;}oRB?0mY_0;&9a zR>c9AX)kaO?`bITy#^>oV0-q`-9FhrpS>h2I*EOs7aIUas~<31H3^hy5^(>z3!hxR zyiWrEsG>J|l1gkzUwpz@bhKCn*T#T4GD`zDRkq zMyz5S%p7Qa8v3x>nk{0eBAqgivqu4iwXUBy5gp`h5;@!kn4S^b>#_sV7h zzM;O}rryVIIBW%)QBAVnaxsNrn)6;Q;1v1%_=xgLseDH`q}5P?jl%%j-Jf8&H`xzU znKOAfkUZ!!GqO5Ny|!0#$7h7uNq*qRVqjYCP+F!vH9PhC3{<6pwilCaQ*}1vd~&Xw zrLbRJfPpS?Ig;DPQ%Uq0*-b4#Q?(uZQq={zQP}|k^X+qugq_-+;hYEFyHPBb@mVa6 zXY+DinsDikz4!iJ&}3zFX@7QVAv6YAeC;r^WyzKxUV8tsXReRo&5j7Yh94-MU2=-K zEcL0%SiUR{nPPj*VXxn0`#rRqjz*1KJ1{O~KE_Ls$j*UkW#v`xA+T~TNasvTvVq}>9kO64`zvn9ckh;0Qdwgz4($}>+`^Zo|15~Lw zX~Do#VwjEsnx*zafeP=KzFtcNZh= zv7cM#;P1xUqtl$Ksg*VPqtVcw4`(L!SS|IpYa%^%ZhiTN0O$P1^I8o4+ngn-;~8hO z*<@@ih~~eXLlGLEH6FKHeB$)t+BV(i>fElHbgF#CMZ$l}leoA3Oke~UxiEU^a0F{2 z#}#*E!mlyy>gnk1?LDX*P+^W>q_pN~^!vh67bNiyf88l(_4GokMn9OR`-=>89>!<; zX>6~8ANJ->KYqxf0~AH=`#*|1-eo5I)h=&R<8J5Q=<+kfCEaOFA8(TPGF_LQo2GC z3Re=zI{Ncnoql{>xA)XW>9^#*@D$j_cS}j7uk;3_m=K4q3k0WB&yDj2Q1a_Tx@GV@ z-Z0$Yk!u}-uY~kH@xK!5MZ4C{US+cSaR~PesJ);!$XU!Fuq!J;P}CFws8$i|^|0rl zkC-@c9DA_m^^4DA+>^nPV9inSVTy4J#16S45c*`bOvJg%H!-X$z{veAhI8e7dFCW9Hhcg9_7SnTl_5i|pWAv7 zpU-=HU!mM&|5%!HU1LKD>1XNIseGK`*|F47E3~f->!0S@o+u??NaQzJY1%)sXM2-UcKxw zRl+^=705L`xA`dj$X=0rV(>TlqHJT^rj|ZY+h*LsrIgBH+yk9d9Faf5QSdT`PkPEO zd=YGe%Df&~irh2&E14a9MFOYa`rN&;4YimspxX^Ix9F7+?v*DinNdu@;KrY< zxJ6OBsHtUbm7^$J`>4`Mwg4_06lr^>M*IE}`a9+e8gFn+zp|<=FY39e-uO$Zk9fBG z8%oa8J$XC)>14ak4{Bd$jsKyf?W*^c!P$711rrJv{e-aP77xxthBt)4k^R25vS34b z>n7*skU&b*`nDT^w`c`hTdMz)mYk=BZ}75JG&Wf(v{7!u8&x&``~aj>PxtM31;+8d z`lOtMMp?Gk({po3Gt#anRctMYi`}EpOtcPF{3`afqV_H(xyGQX2kC8!0oV;!pT9g0zWp)^n3UYC2o`$98nM{Rjb$(Ngz;32F# zYMSFEJwk7v7+OrII>NaTNW$pAyJ-c4Y10^kyCb&*T7<#lN3}KOE>rrw*W=^a@v~AG)ZPZ3~PX<&{2&7IhsFT=dy7&V`{54ujb> zWs@JbfFWgcts@CnHaM==RYT-c_we#P2lk$Rb|5B5=UQlD`g0ZzhxaY%FI}>fnlTRa zl91V}@xwKESK*}OVGjinYA;_!^(|{JdvAe%4tW|wH$PK#h=Z4Rzd;8Tb`7z}3WsXl z70EL(yoKCmY#o@Q{U%ZQ1>8A#V(x3|@{IHlA`V7%coY*^i_)m-V3y$T8=ovASVm#} z>&aQky^5k+is?PE@_FKc-A@(TGW^DG#rGrIWts)8&z~^|eJ5+8eM-@7I-QL5s6P(U znW=>hShHQz&<(HEwjp$`|3-_IPg%Z()+#P^mqI92&p{|tT`#rvhi+mB#*3*=+HKvR zdn2tyf_-J_Pyfl1i}DwSW+w-0&`So3`57I86VE=odz;gj+UFdP&fH2qeTRDIBc;?D zwfKN#Umqw}QZw(yP6DpIySy~-bHh&}cs6@3cx*WK8`BEBuD}-bBje-@h0wr5{?-T2 z7YzD}?<4IokmbF0j^bNSo;J!WXL93!pnQMN!tmMP7P%dBPKPwTT^*ZC@c!uCY)^@9 zl$SNl9Fpe(T7)-WfV%aImI>kQ_gw<*yxt*1j6b-BB}0h$(d6{Eh7(vdfVlODqGYH! zrBg%ZmNxOreFf4RP8KAlozCYMNt1)uim#`2?9P=8h&pW`7s({iz9Tu63(N=Y;hkQu zReOA{au6ZERf3b5*igP*rTy);UQs{;3O3YIa|_^9)QCB346PmufXo=m*_HpLTGB@O+~*UlKhIj@!b?n)B2`G(1PvM(YB$>oq=>iA=VnW>PEvtbi@ z6WmvKoP6q?{#(0Dg6Mv(xuD41{dHitF;e`6s+lk2+RA=@@)2<4=(XF)`ER3If zA%pbc-p)Cs8QZIv825`0P{vvUxL!f!{s^T*=E3`GS`@H^0Unkfvt(a0(o;DQqYT+f z0?Xe^uQ4r>Adp7Z==}bxs}t*p-*1M;RduEl3{dKUTRoQ^Z)-q}?XUqEUVBY~wT8S7 z^gv%KAZfVWxq2(Ma5?VEX%J6jZ5yE>er0^&>r=Gm=Y4--?*k=Y&xjFnO}d+v@h2@_ zXlD#uI69iTG^MRZ*c?HMMsmnMKyVlDE_b{Q@W*USGSg7ri5B+9g&D`#*)M^LOB$aeMKhH7%V zR3}Q&!YZKsJt+aOaAK?O)R6(vn*KAvf?7(Ix{4w{vG5|(?*7_ZZ!i53*#fQd4-(#p z;`1Rm+tXLyd|BH^`X)LzW*~8we%w2;EoZYkIgZ(>OQQ!Yl(2_7y2Q<#!OhaTW`K4| zT68AM)0bDI`kwFLtoS@V)#p1{^`zr-kpw4P(%(VV&%gejl_!Jp+WNHTsVDjg)u+l~ z9x>889Az=7>EI2)PA8F`)H<#77B^X+)c`~GJM}WG&%MoXphv5(CtN0hXM~AeJk=9- z_65?`l9Rvczha8V%jA)fd#c45;z?sS4`g%um4P+igUdsbUFq(5-T1KKEZjB8y|MW9 zp)H%fTW>7}UV0^g$aq$}kfOdF#y`ve?WSMUA~#qNz;#<6+G5Zk8kn7s5o!BV_3DOD zcs!~GK*?;h8r`K13p2tl_H!7Q-_jqXpOL-+f2j*6{f?2NR1K^R;f!oiyFZgf9SVId z%(?RhyHdF=bds$o8dL8c-You1Uinj^ghLJ;w2&+NIFcHl{CR6^Dt;XD@FkY)tb+Xu z95uDY%n*{OIqaxpC|<6UW+W9}p-%`KxLJA&&-nZV@6UB1_>3UI*QybrWVBR2({0o2 z7pxyyY*og6oVTXAq|4#4mwn?jSU?W2mL_k8CItf|)wRt%a>{bvwUh3-s9-}B@cT8| zGOqT3EHU}htKCipH_7P)D}En8VzBRp4SAP5BzAB0e&oQ6tB5HTeEZ)`V%t4$uR*X!tD}%|*Ewlx9=fKHj8PM$!E57`Y zK>+WBAn_IE4Jb7o6}@~?BxtEA-(3MC$Yc%Ml!JOKF1cU1q6B1T;Cw5FfF0%cA`Dlc z>R(Q>3CL$ZnR@U#dbiv+o|yH_ewz;(gm-?Y0uCBa+AA**)BkE zY8sYG7IY(;=X`RdP%*cr^znzeobB%M1v*bT4Hq)<{FvAO+NoS*!1`x~B~;FNPWlNIzAo;HV?*Hjozn4 z$5)cKGYMcmErys1jny`8Sof*7Hz`Z@Id|g~Zh;so8M{vSe9OqU>~jTopxd zB3GJ0Ah=!Qx4V2aE|Ig}O8UF*jtiNB+TbHV3(m6{^_8j^JQmY`Ty3noPceL0WD&k6 zr>tJQliIxbU5^U-0^z*$@w?pkPx2WfFK6!TgSs~k*e740%<+L<3TmtQ&`GCOFU~P< zT=hOJ%AGW7f4V>rsN?dEeWN^Eg+VpSNMF4E3t!s7km24T#7~C`+)&s0`+NU6jVeqO z)I-%-ypcj^{l%NdYvzqc*X#FTOnF7*bns934%%2X^kB&cudE4L0UXNgFX*_w82yp_ z^}CMxD1_;_|0evn2{6zNlP`#L*dGOM;l8i_4<%gK5}zla#4DE$BKqsf%j^C~R!^R3 z4{E(P{hI=;U>178O7$r^Onaw(zMT>)j|PE+-YhT1qlu97phd55K^S}hhWx-myErKQ zy}P1ZVd?{%cj03p$@jjdqreE!F3SY6v1aUj9NM*9h4{tf8(Q4&k5eTDQmZfF9@TY@ zzwW&ql$!(<>HrsYyuII|F>k08tgAuoOETQCT}M4*H7V*UT_Fk+ozDpjSZJ9A^=^r- zRqRa6EB(gmY03}{S&)}5=V~WM$w`~tXjPJ^e+mNZnjcs8!1;;fIyd}&3U#KW_oT8% zJ$;>aIC;p6G}H{^EjYhSj=wdpGqr0IU${A^6&pa-dLb2B&8S;C!9_{`P6Ew_9>wwS z(~9{0I@lz~8Q5^jb^z12?^$Gudx@jW5mF6f{-@t>!C_=LkI&;$bxJs|2Vp<5o}01I z;{HG`Z{c|mu&$hF4k)1eT`pmv$C4sF12_$IcljDsm@g2=v!<>T9jF6}CpbQ#=5$jS zGi^_0{u!qm0)VWp_yEcym#wL*q7LoZ6h}klFD`aI@ z%v56bQSArR>KvkPY}|yOM%I>T{L$ekKjIsye?V@#8cWf&>9e0OCS?#;@D>e&nUzGa*hwBX)wcMH9|YH`P36YdI3!kM&2BFO#lI-H|`h{GWd3)&i!w_$W@-$Z+_mcQdD(s1;LjbR8Kfzo z^B8NAUxC|g@2pRtO*B?48(gjc8K=uQI5pKNxK1WXRiA!hIL)4A_3#!BWR z!kIud*aP{30ZI*gB$1~`vjns?2+@}ngU(#D>X#Hdt^T8B9i(_(V;la9II@>Y&)Zdi z*QykEb-9k*g=fbvZmDdREs@1Q`8taI%1A)(GejM{^zqMawh)|^JY`$9T^VxKt!j3G zAvNKjO72)4?7x)hamQgQq`oy1Pf0GJXfT1#fgf>eq4bo!^(IOytRs#zFEsn*WRdGOU@8i*WKK5YR%18 zdY@iqyzdPOSeos=9{RQkzx}=Br~E&X&TL6hAc&&BgzP+uY|1Xk_9m+!2(pQO{akt? zCT4nUMTMd&EA!^L6vO!kpm8mQc)hP=!-(|TxqljL5J$>YkC@LGIj%ML0n0>ssr`~U zA=eq*F1So$)1b;3FQ3{r>ow#%^lDt%!f(QjsY3{3R~qAAJifn~a9r6_dwLw4@qudH zAJHJ^@E&~$L!duY3c0*5M>{9FqbCz0p<;_PvQ|9pmAZy!!a^3(PMSb*)f3W z$3f<91ux6Y4nlZfD|HKb_VNyhgkI41Bm^|sLyS~!m!FpU#VNzk6eGa6PA?T`Hpb36 z>3X3*+hI@p@q>L4IaqOm{$cf>1t9A9G-wu0egGuC0MvXY{mOQ*;UTQzc>?U^p+b=M z5^L%!G6{&5S`#R;#;Q_lbI1E9jPJv;AY5P3jC${|A>403Qmwy8y2>*!?Ty9DNj}F3 z#E-QcGjekV{oMuPg9=vb0n<&i7Wtdui$mZESHO@Vx{WdzA9jwp&PpBySb9Z_3WH9s z!(8e_yk>fWcE}>fdyOZQ55oPVt`xkU6fNkz15>ibEfb}X*JdB$`fC^}%x#3|kIvFJ zQri()9xht49`zCw=niQD^Xek)7RNtOl3;z~h+C;Tugz{iV}_ zZ&=WB=6&}is7H>fo^5ysPep&+lfv&Vvm%oyZ~1!A;Sy&WiVgzV`rcwPr9G!2WECL6y1SoEBE&t-1{uti-u)g2<_W_N|&Docy&#Dta(b-^m}p- zX6U@eErkRqhj)4NIgFfCxgtF8^`o|Cr25fLH?F)$i)X69)@KQuaS1Y%C#kw+Uq^cV zxbsVwP2EsrvO(do&4L5yX2NfT%U=Hgx^iDaNQ7OT)jzIr2b7E)+sQtSP)D?#C~YaJ z<-&oiVbrPNK}bg!x6>4;k!5=QH5FWRE5qe7_au$2RHO-dymtPiJr{wR%TwrcYAhwH z$*XZw({IL{%!Q)%kN|O5Xnm^z(t)Yj(i_S6>;aE2$vOWveENME!ag~nYu3RrRaCWK z<3hUJelvkwQnudvyhCNa0&4{pZb({z^*IL&C;12sGrd>U;SJSB_t>X%JMm^Evz9%m zF@MKCa09}E1$xHGVd}sj=*+~6m!ata374dk8S7n33LTa9k?@c2RqtK|9~*@=1H4$zHCx!8Jpc;daT z>w(LTFao**w=eW6=1~>ZfP=sGjxcCTO20huySvp!k@o7(v)=C^5-Jw?^;oh;1$!R! zdfrZKe#ea(G}d58x)fx;Qd%UVdV~N{%k~XEO!7LxTBEp-E`Mr=YP?O=0#x{%ZST25 zKV_5!&cw%@V`NHrMrZN6B^NKT53Q?Gdt4fRg%sXmbDS%}cFi&w9v0+cp6p9>iN3nR z4rGa#1D1a|T)^Hw`=k9^_q-W<-AZ)aJ(a3lj_z}tbn;uu505$gTd+mW3o;HTm_B*{q z_7k>+(R65&)rvCLV&Qq^(%~eQF9v%>q*h#+hvc$MZ<=#m^Rj3Dz$x%^S|!3mzd8T3 z_E;?QBJXDjFTPic^6^$i`uIz4b1n7oHIMY)u^rC5&l6?Ss5<|M@Djw1VsXI;xz~wi zKkkx%EJNKXkNyMU2V9YW8xkBV)-@Os4Cz#RBCN`Y$Zptxd+}=Fe*H$^n<`!|?}W#I^gw0KN(C z_#@f|IPx2oV=Kuk?}b2H1RMyojQMciRh%0~Oba$^d`0Iorr_zTI zPdH1zVgJ;WZ0`vFYy4JIbkj%E)+<{1LCZ;UowTmh-274RV9Mgnn)}B+pTPq&ULuSi zjrP0;v8T^Woc+TGHb%}*QGzL5Uj%=YU7;wHsBdqIHHH~n7B73KWl_@AKBT+B99%O! z+aL;hbSL@n>sIfRjruFww;4hU7lFwiYliA2ptnO_O*&ARZK9Ss%Kmcv9G>BO+P|sr zYV6aI!=Va{HN_-beW{JYasQk-=jO{C_ocT1J&Y6imuU+Oks1Lu7FzdyugfH8`^pqm z`938+X+Pn>XvL2yI9>&mtW%y_HK6_X!SpSsKXtzYQpTTJ82i%O1+Jn*PlVYtp|^jl z;mG|pQw`TSxgtgK7=gPLs#0t^ckBMfG!Ot!MvnqHKNeYkgL^2f&WUq0AHA5{hp%d( z-)r9&gzp(sGHC`I&xu)JZ=j5q&hiG!?ZIq#H_hPyt&2GP_*nqSs;o=(_vxPjd;)L7 z;cn6F$-9_G*qfn0qJ(Qq02BJS-<;uc?ze60Px~1UxAkZ`tfb>-9Bf{r^(V~|@qDAh z$d?S;oZR>z%LRV~5EN;&;|dY2c=SjZG-j`#i*-!-ptzD)b%>5AoKr~q zW6aPa2;BS3=B#X`Y>#C?k@vX=mrv=pJpSluD77A3Ax83iYnMqO0^HDIeDKwCjeQVM zW9rvw-yBbg;-bTwrl-zbeER;Vr4V4xi5~4`(8r&7DXuER@G3ZnZKb|*ghA+G^bM>9 zV%oCjgAjVMjjmN^a^4SgMyNU+2yBD`v|qB~mEn_%T*lpupqhWApAYN4V2gcR_DQbn z{qwqhFz)2#etW=Pn|VJCh?K>wntr=3RD}L%YP&*~^$*n@m1d7Gq*{M?-vgU!oMX0G z3HvnqH=EjfestkI-FtJ5RnZe;rW)0i(&keXU;1r4n^#!X-rtU7Jz-g&Vz`9X0{6F$ z!W=w?V3X&~GV%efrV;JjDq?fn#v`n~|Yo%jiL0q?5G@hP8;-!Bi|w&BC& zi7QP_g~u_TRqD;-826eo3I+!oI-Cw__h38EA!&bK@+p5jTHx&>vAOmeSM~S`j#YCybNwY0ANz3(I;mO1 zJ)AiBR(q{YywsKCXd1z6^}{9%rqD;94PPj*x3%jrL#iKYvc97){m^NCDQmXKHm8$g z0Z=}PZ#i@RAz6OB(}$_;EXI`%QSpY>OKYrT5XXbN;! zY^X&2@M0Nul&kaG{F#9UD2oo={Q+mwk!aM9S5v9tW(3~x{Iyp~fD$mLFuDv5-W5?t2@xX1brt~J1QUFqh z5`%?DG(etGR1KqycKZQr+`Hf$#b_TM6dAELJbB&o`ze7kOW~0Bg(LNim0R9rD@xo) z`#>6>KGgL>e#C-@9l zf=6yQ`!;Fs+ibk3*oif{^9^m=0iTqf^0Jr?KN)t{$rS$$xhyVe}8 z%a@rs7_LTqd>BMTFxVs_{JM0P;~sXc(!4sA`oxqN6NUu(pn z!HFJB3B-K|o7n;BG1}_~$Ipw0_F;Su!_U@n-y=@rCAf0IwHt36ENTedD&JYR^7}>s zAZ@u{+T~$JB_Fq1ysKcX9rPJr*bX&uw z4|3|{>QC>n=sq$#V|7~@&dWr{mls%LImGYu1L5+T9cKH@EF={KNs!u>#e?ia_e_ZlhxFN@Qv6SE2wxHh_qefL+m8cFrFTT zdY<6Le93=+V$pa)!Jc&eyY)>=7g>b3_|hBq?dHU;p*+9yA;xpmbw=UV43zqB;qf|+ zcT7eBeLKyAyC!b3y`8GJb@TnX45A}FvS;!H83#p|W^*}Swn0OR4R`1hdw%6krO4|_)*|#R>B0sCPl!s6IJ+!fNuc_Dhb-SE`dw^fVA(Z=<^0hQ;#G-OOm$@|| zc7C=hcn}YABk+bIBpAAo!PKQo(JR02q@Y}`Eo4kCM)iF^$o9Tou8qHNb)C=qjxWHS zI_x2)><6ZRACC;8az zAAvaXVu>$H)J0eVq6Y)&Ox!T;-o0IRstqwJs}{>twfEE`zlnDL%E z*ln@Jo7GV9Gew#(`+T?_$5NK}esj0Q?G=OuKikHaaQH8LYQ@RQ2=MDhWK^=xnQ2-= zXV0m4r^Ff&7G&MIalJZKjn-n2Mlb7Ykp_o*(O%qoWXxapctm40!TE&e;>pE~z;6@!@9-jioP8mfZq5$_4ePxoZxN#Q5!~b%w0+X7bE0{No$jUd zyBn}k`)Q!8mG9^{`R$p21;t4V3`@A~d$*DndKhygusL4+NYO42zO?=(x?_cjs^7sk z(C#|S@ldb!#R($@dHX70ItooU?BhH84s1$>vAPd)6jTp!sT@sCI)Y*^ajS;PDLogm z^R~!DaJ*8@1EyK55k4DquLa?wh8|XC(FYtn@m9+1IF+|*+YFsa7=S>v{rw$F6eae; zMmu-rS$8nlmH*lhMxo4#Zx*{Fld0&#o6`53`zSUtUB|7Li+e5O7^LiGx*OKHKOXt^ zy)UG^wp_}SfJ0Z3GT$&wc!OIt{?)Zr=Ij;LS=Lg381Yovcouwxp2BswMVUhnQW9Y| zVV$xgZJMvIp69B6QTk9@>X7+T`rH?y+d1mHtWP!w5xR1IGbqZQQ`{1YN|!%W>a*vy zDqj<15c3bKnV1xwdo&~DVo`nL`t>MUzR+~Lmw3x4R>}C^|Fdu zXOT>~Qc8s0i?jWw78V92IW+XLmjv5AC>|%p{TT?5V|c!FGG_D7AKl+4q#VP~68$&BaM|KY4S1LE1>+=nDC**>q;y@P367=)3Y> zUS!awb7$7OtvPyxz}9&%o?N_$eY1OoJ1d%nm?GHMmtH|Ms3csWsoFz%d-G*dzDYMz z0Bq!t44FB+@#^OD9uBkXIc_-FCJm;1U7ssZ(&0&oL;7X@bsSCyxZMBUOJ3v`iE@X) zdH(1;zKyl^Y~1k5ByYUe`B|Rk!Qd*v^UTQ9H#~-pMW)qjYod%*ij}boUy-;6T)0T$ zcsVxX>34KYzfUu3<(SHP6bI*WIB@Jkk@IY+YZ<*PA}?xOl-|o6FjaUC1dsbMoS)EA zEos0BexvA$!3wzkM(12unTYqj!EJ_o7!BWzUo+3<*K6J5cQ(C!-KyRk{3L4nuY+!_ zX#Y>C=Va)ZMg_2YsLW-b`Sp7?Sw$5313RjZziA6YaF8o z-XZHG?H}aI6wy_Jq45|QpR0*Z1%#rgge!bz8=ee#CNaT${+Cu%aJF? zZszS~vIc^~X!>$jwtkuQ?VH4$vGuq178wjK0K5YqFg`D%T}Jl`P&L-^^S`)o^|m{k_Vf>PfP^CcgGNP1_PD^8wa>(F9H( zLA2pmk!xxaXSE*zOrXQ-F@~4}aHJcCjM$0H<)GW!w~jRKbdJd5=_H{2ra3=Ou0MLq z`F=Tku0wxfhYcp(Xllhqu0X{uiQQNqou05oPB{efi$l&z`g(cJp?dRzO5 z*Vt>$HnJqKE?)XZV^>e4>+y9~?1j^S^mKy6=*Mb_ygPr6UUtzor{>B>%L)_bG?>=l zS26YQc4Q7-I;)7zU_ryWmJh+<0xgY=w?8F60-mVde7cpG0>$;yfpLo#DDev7m3HLa zcnXk=ARa_CFYFr)=uQ62y3|FgLD^&6C~+Uv(YrePWlRQJ@L2pXkg0zypvV}gdW zw<8}AyPfn3nX(|v$gGr=J1O7Bm!5ywNoUdRnRGdIfh4hQ9|AUY&1MDsJ?~j8YNSRlVg$$zRqkKs;((uo9dSK$*fd2lHhmX$MsbK77 z=$D&zkQQc;-PvEc>%pqsFErrc_@#05?pk|1hlW6r{;UF}Roo^$0&KZbHK;bpHw=5& z{vtsr6f@#rqP5>1%BXnaxijBaXxO}4GLo7K1kNW}ePEgP?nz{RG;t37Px*)#!IGzJ zb*j+m7AoUHnR~4zJi+$is;MlcJG$FerSoRQ3z-J?alhcb$Y(-PS9-&uZyf$KpFBuc zuAH z7eBNTtPhqn?XlwoS0@%G)7~sw+>kCO!Z{`zy{N>#g$bYQGe`JX5&H^3=E*8N%egv# zrxUyVumed(uH|y>aEsymp>5K!hDc9iFXy6zn_(H8jvRgZ!e@;bH@I>uigUVC*O;Z7 zmB>yOhsRtfjJ&fc!=y$MbH?Kj`}F>N0)2vi$II}GJip}orAy2*5se%5;mBoFA42m7 z(&>{r87v9a-`DL;Ehi~sX^IILW(5D>ND*>2%3q%QbUR>9T*j(O2q>)&mpXA3^eat5 zkipWi;?tQ)UvIkAI9AxuJG=#1mrX#Vji{*eBOE8Z_EYo~%+9+kN2 zj!IjHf`WBA(nEN+M{+^qB% zt8zRD^+^B0RScWoX`#jVeVRUzMEr8KEG-xl0N)%n2iw$hY;r=16=VwHOyS~bH z$Z=J_R?rdymyfJYnlE7G;V#8y0TWWR4f#!clw13p)-%$iq8O<3F%E#zvcJP6!e$qW z`D-$7RykTEt;g1sb6^s__Xx4`f|smBPq7VLtyTD!CCdxEJ0GuEBla8Jbq4b??m1#O zaWil{_1hC>flj&G-_^{>Nj;bIQAgr_F6+ZXqI%Qe6R4g}zLzhD4{l8{`v_6ACC4k% z%zPPtpj2^zVh`a7-jhqK+EG%*=d$fePIl1Hd+M7^FL-bg=JJgCnPpm?;nM5p6;-T@ zic>g`_Yi2#?~)w3fKjua4&er zuNqdXAYbm+8h-+$d(X5JCIYU@5+cOk<~gBL6n{zN3@4^nWp_P0djw^S;&2n=)4n3G z;}-s`4Rq;HOGQe(u%Ttt-ETXTUP-)|``J57k@&9p8@5*Sc@IGGhuo)1f8@}+uim=P zyWJOi08lRcC;qhk!77ZB?A#{AHUsa|LcT&E(pJ}?J_NI)Sel4p#L%Qmki*pvELplIP+Mkem|og zW%i7=4F0T^Lma@EdBg9&#nIpLFoJ@mab$3OM%V{kBC$A3?#>h0*Ae(~x)Ka)@#8IK zC?Uf%0F~=!j^P{zKWmCEuy>}5&%Q4LGm5V+0I5T@9pI;v>Q@@VH5`WkrX`cQ4Np~1P4Ex*BpSZpGzvapwRtXam%t>F= zm)^k6Gi!9A1@DWs))8LvW97FHVuzUiKE*qexIJ7gM4vI#fqFAS{5jHHZl@F?K0eLY zWkpxv5al|P!ngXFIBoClCmgN5`_i&aps?O(TSLkSn2uo=C+lMi?+VSFCxgal-1lOg z;H%R3`>cuvxMqVrL|fZmahOi&3SZ%oppYls=!Hn{8ToLZj{$bUCMn22*`KP5DFQYF z=ZnaQaj*fjXzQ`8;V*Q5A5wz!Uz;|+h>=SeT%ay2ZSnh|ZJ)`xpq?D00AGMEj|33jl%9=LTIvEBr(P5Y?xm^>s8#vl39C!@wLISOr4O4W zbhaxx0Dd9%gAh{g&u*~|nYSxE>B}Phrcrsgy_+c3uix9P9IR)5USTlNDi%5O^`YP1 zH{}WSkf6iy|tDw`-Vh&Cs$EDfC>+J*(J7_6NOO`*gn4XoC)xXTsNsyH*lld^~H#(Y@ zE!s3(J2y_cbJyS8`W!h9WrxiAfrp1Rtml23QJ+2&{;3><(mM6zh<#w;0p+m_6Y-+| zSmo3ejPw(5X7%*Z9!1zMs7Gnpx4teyV&v2PDWaS+T+6o~> zg;LGSfRk-ucM657gOJsKIx2R#LpvxN#!sN+#qrM^HtJUf=5(D4oB2Iqy%hpf!r2XV z!uW1}=02BC+h*>uVsh0zFI?;EDbJ?&VDG2bpF*Wo9e!b#Hny4k0?%P$NAjRe6xG>Hz>==BSr}W+y7fORS^_dG@`MrY?LCd*A5|h@h z=<$RGM7#$mZLjA?Zv=GB^}dJMWM2n9dl0Y>tK}rz@PF&pXjNHt`GqUDi=I6`q0Q~br+;(ep(S+zo2z@pA1PU#{0RHaaYI{` z*3vX45K##gOt9t~4Y%PGn|$VHkR;0j0}a*D-FL=fx}RW~t&?p(XBV4^d z%UF;6YuO<4=sO)xZT}4tVP*HJ9&K@0_s1%)Qh0WrX8GbS;==$!5s~`u8GHpg)U#~d!CmOu9JbTq`-wG)Ncem&gc_9iNG;uhpk94-25*k8uOgJ_F7HwKAgI!#0my^Jk?yKt8zD~Iq~ zB?mSaD&5Al&^Z=NEK2jGJM7o~axtRE&+xU4;ww=+I4b^WhIJ=3{iofeJD_xcI_5XY zeUAn(s{{@S-Cz!?UA_~T{KU$di{oQ5-hPVOdzadvrtMpR_Hy=))&_R2-}O!Kd@k5< zB4;Rw0m`2 zL6Hq@6g9z~H`K~MFHIAV>?eIn&b_4M)%gzkyYOAOE0+EVmq0nkx^rVdhWM4pYX?-K zoi4Ox+Ryp0pj?M%z+a?uADy2YTK`*pZ@r{K1V=e&?|&Y=&CRK_KgKt>-q6oer&D&Y zUU%*=oSWm@HFvw=8zN& zg2(N4>tS2ww5tal!>&%HA0J7exr;4sGG2s&I*TT+vqph&a$s{^{k;)=l)B=eWD#NbUqfMB6F%)H9BA z>>*%%xAlct0K2e1B0EEX6i6i*4lRRi_BG%i6wJu5k9>GFxer{`rxO{bz!*x75j)|9h-FBV>a(!yYdd?dW?JB=I z)B9WcUgUhrJPcIP2`z+k0O{UvU!FBSZ~F7)Q+~RJBsm{G;x7^65-?0tN* zG8pE>sC-Zv(=Mmljlx_;lTLJ;3txlW>X0nf3O&(-o1K(xmfwk|(r}ywn7W=*(9r$e zIRc#(4V={*FP!EPof6cNhTZiA_*$Yz{voXMd?|4P(LQHOST-RDDA&V-sSkpg1t%Y^ zHKE!?g?6S>9m#x}{F>k65BY2Xjn?A9yZwZ;jV^^6`nsKyUjuM3`u>yKSqJK$dD)X8 z+)#>8V}G9-X*V96e9;?DZ@pr2N$>te_xnwxW%s?u=>dH@{|FYrLu@|wz3QUB$4K~r zMvDE380_=BRmk8?Kg1Gq{EvFiu}=v6D1qf55e-%z<%*3c)Au(3SvQ?7s5L$78Lc1U zk6KaGDMY&I@@+zL(|zGy@$#%hAobOJS$;!p$P)mA)q? zF=04WUWdfuLU)^;V(B4h6jxP~o+32ES`M2BHbd%LCvxfcX(!Y86dzidsk7q!VpTZj z*)zTN8~S)@C)V>Lu&+|r`GRK6L3_6M?Z`3&MP$F`i;9^O5l$sE@Ms&nyol?`gCUy} zEq%*!0S(i?)4r=A%e=s3VRHBCTL5$3$7-w3x!iP~MeRx4gXoHm0LraEs0e1& zz{G@R@K%U}T7Is_;|~Vy>^;|hcLGEFXvuC7?zG^|!SpMt5AjOYR@U`iea{3`LxAo2 zGJk#2>h6nNp=MHzQBzi#lcu&b<5nxuY)OALf%91BEB6S35Vwg~{I*5yNdt6>4c0rT z`?uyf3SZnDP*(eR8M4iajS4B?=g}PQ1sTAA@6G$u1uNME6IW1eHG+c}Wk7At z@777;_+Hc_@-d>U4=Leo1-04BMqfFODi{l0KjV)N4^H}xzxEf$*YClBwbGBW#NqV| ziM>t|m2{$F$x7kTsCX$rkHMELE|2A2k%bw38L^)}a>zuJbqY&u(e?|CLk-{g@pqlp z?J~P%`{%BAmQ$;7RG=F)GAwI>yhtQpk~7!>M|b&b(qgJVGiwSkp6P2LehsG}7XD#> zm;10Y;T5EmHIyuS7Q1r1(Q`&@AfDv3NoMm}0=HXO&iAoBp_a}cK@6QKsb|MbkW=b+ zTc1(ru6^b?L&bV{Aq;!(vWH@i85?SF1KVfXI^o4BJ4r)q9jw84Pfe{FTK~a!KKV9m zb-7HiZ4z|qJ<-;5UhB5bYPm=U+-gdC0&UGM!Q>4g+@a!d#Nw$a(4#W$ol;4EXZ7`D z>c+uEK}G;?GiT5D6krM$XP(}_)Pc)4eg54p;R+ZS)5^y+uE^h=q)Jsq{a=4Q67^J` zB;)xkf}`mT9*-2o^r;gQQ?_4rkC5E=beDwtUsrlU;eiE7eiya`QGBos(if%I{Vc@QJ<8nEhz@9l3b^QT z*$PN_Ry(Lp)kNp+t9N+@-4?Pbbcezj&PXh%>O~M|c?=4Fu`H9m9&X~!`SY0lBuku`A3Mw<%-^QHL;g30`J8f18R>On;va8pjVB-WYjcTM z+c~cL`4RsRXC^F#h-^CPN;+od843BzkzG=gdWPDw<*^qXNJoAt#dR8-!}~HbOQP7g zZ{WsJNZ2Xi18^o%^Kgf>&_9E11so7YRJ$OhN{|DFmARzI_YE#`-NTYa={({FQ>L#0 zsIE2~q>N@!rAv;%LU-KrGeDh$Nm|!W-})GI;&M*cD2A$yF5io z8jr|T;=hIi`&9H=H|E3?Q*(;Y)@sDy>|+J^gFF=BkLSqzScZ7u`l+=x{2u(Vg){1B zqxl&UX+hr;%_GtYp~{_@B3DP#h*+il@fJWR5ad-yLT<3Ly}Zd4Pt92Q_q1VfC2J4; zkK=;G=p*4k+p$mQL&K{>aI4%alCpSqcUCxb@ALyRLRjO>LIdniq?Ay0_pA28mZe4a_iGpN+*G{kBlgTgdiE+Jn zI!WQLdb9xODn7&9Xp!EZ7@br}YZWr$ISd(|8)3m-`}ycY1C{KKtVeg=?LG$;)BeNM^Xf~ z3P|119&G8`ELHB<0-GlfCw%1<6vw04D(!P}u2D5oZ+I|U7fn83k3#v+wOfb>hfQwb;v9=ND58{uoDlnEhtI1mUC*dw z%b{Xwv7&*J_4WAo{UHjAqxyy0EyM9?1)7HzwW2{sWPuAP%P;GAe97VSL~-YDBsLc; zWg^}Gx!f(CQB36Mn96QVr8I{7OW&dDalQ~7D2ii1E?|G4FU%Iqk+yGg4L1alqWk)x zup5*Ddnx}H;h$}9GNVki(U#z_vzlXTp>qYu+_BH7qSK4{7TuX}=1y=c# zDFrxa*W#z%sc4#rU~UMI>f;TGfS;;FtGAm;?f+l4qm-F!O) z7~mxFI{2Poi^N>OGCcE_+5YR&Me{L^HcYHHfzfp^ z8LCqix?HLV##ksD*O>1VE8NoVUdnqERAO$xCqnwfJHX=%j}UBn4PS3<$avP-b6?^i zAUHC`rdRjxtpIB$rjqeP_dV^`r{Z7J1S~9$!hvXDoc0b3@zQqn1@75C}9H^ki`j}D$UO|21!>AGtgo% zv{iIQ=kl|%4%*_wweY;c(U9*?S7+WQfD3v&zaMt4_`vc>&(f-V6O>(Cg}i2_XL+C)Xdf<7`1Q!!X)s!yDs%!vPNAKB95MM~aU@t~=xN@U2xgnV zZzRs0=ws586_YpC1PRh91#IS?05w%mEPQneQ_H>jU6EfDi;o%;4olx4;(#SaxS-ES zYTBW-)EbuRqHh6C+E=W(=l9a@PyZdN)E%A!Gl680#fGUI(p5@{1A~e=n8Jge<;MLv z%xsDkNSr0UPL9MUS}!otCM7Bly9Iz=98>+PT? z&G;2_#Z2?xDj_^W%BEc9l2a#mf(}LnJ@gGXuQ;T=3;xP)-OLjda6V;`3%vF+V*b&U zkM@L?&?xn7RKMWCSxOKD7{=X~9}aCJkOx;g_~uqppQ9M5_V2LI2l`$MP>2PsC`?&= zsdS>dSvDjexPW~6SbQ0b*dXSoP}1)sn&G#bmv%Tk%JCI=e|6~nX7cVuc;}kDmM^cO z+|+&41zq98WJ__=hcQSmW%1>rJ%Irpw)`O<%|?%G0M{p8lgTQuD}9OB)-gbnwf>0hE8QCB6w_ z*m%F*^L1!3+LgsK1S1Jmx-LHtPcI*8+M2{x1~eLDKcmC&ClXka{yx9Fy`*)sPEP~C z#E3!1!0wPrX3k|J={p6hRgp!$IVdzqH2me~p#(nWu=y@r=gZPydwn(I=U%Ym2T~pC zO#hzU$8(dWXy3<2sjo47Shc2e{bcl?4?vli+b_Lx+fIsDqp~o$5t=3ws&AH zzW5rs*ItV8vd_BviEMp+LjT=sX}k|NB)`UgMd(mCh*_4y)j0|?Hp$lWBEGHnqwHX2 z(1$oNFI4ZJuMODg>KH&e8qnK5Osx<1+M^`bGZQ4OOxu5BT?1PkBr)J@cH)SluoGJ3 zf9?Hse0)kUwO^5GXvf^v#^}{h{;hb;l{;+48~rb7&ok3{zmIx(bFSMWKg@HCaSPF; zxSs}x>`z~EfO8HA(E7TXgJa}Zr1g*Ci_gP(dYQMfx6|HF?epPci>qxSKoa-OU~WPE zuvU4JjT1rMkxiN=aoT^|Nw(s0=cu7?YhZ*4xAB>x7BI@gFjA!P_7O?bn7o*B=diBq z-G)t!p>=So@9W+d*~1>F1GoloCAd@(ekl_VrPW>!YejxZ6S}+VIkN|u!e3eWg<{@7 z&GOF|#Ps}Jzx&6Fi1XKXwN$Vi_8tn<`eSbJV#C3N{o)zSucz-mIhv%#e*0+_l!jL5 zeZf`q>+V+1aH$~H-tx-FXb=6V9>NihpxSevW%XZ@?0Hifsg+QZ4T$iO^}0t~sLT9v zj|fBdm)L^gvhPRIvio^CaQDTQ%~#e3s&1!k-&k;ALvJMt1D*?y<^opAG_^-rtAxJR z3tMfjVcvau{PO9o%-0Kix||**JcEJe&W#XCh@g9)X;0(a6A;y|(N3Qjj9lHcqI%tD zlZiAnGza|^W|ilwW`wQ$giK8xeD_Ie zZmxyiC*t`E9rmr;`k0>JM!-D|XsT^wqAGn+3p2`Kmq*FfREh zL>7ZIm+`srA-P~ahCdu(dw8LdIIC*@ZjHWM$@2aoI({N{I*yWh1{wkRWLc#-74mp^ zTfk6`V$^q!{k{-15-{y)4bknGg5$;OmD32e70v78YeF9HST&HP%W0X+)qm)i;@mU713hTc^r zrYwg`J54H@Wwg6>>8xB+L}e-s@*7z`^xot78B^mnvR|>5eKD!C6Ivm*2hUTtcWj?~ zY?nDLQDI)zV%UKpy`M8gXn7Og32!#^zfQv&1FYq#@v0T|VgOjZ`*_E>7H`-CImKHJ z6CH@hU-HKqlb$JX7P2%2KYhJ)f_}5c;eD~S8@#&%M|9%!;9RBA!FInNs@w~v2M z>*`IQANfM?Y@O~0hX%R&QjPKFgcn@VU~hU!%Khsd4r(i3iT|+ zoT{6+FZ!zHzFHq#VcWkhV00%RJDHNd!k~Hls~N&PK;LIn@bCv4mNW`a@V%{hUn!Qi zJT8*2l|8`AT!;In80Wxl+a7 zJ||b`k;>!)@_V}vrV`Uc%^c0wEsm;d8N!g$?|k5>pJRV|T(0YLbC>*}f3sUgB-iFG z6!Rtd)FDX@b>|pv{rqZa=^FNdIk|rwif*FHIky;UmV7iD35h)tJi`3*o(}v%#LU^v zqMD#iU^#K$)8QES(w5oQGFv5{v45MvU)9Fr2$-d>bibV@xH@H0=1$I?mOErl9#+o9 zzd04MOPaTODw*Y)UKIPX1NfA0i)8orG{oo)`@vO6xbB}oI>d?h{UzP|jyqQ=grwS) zsbV)0_OW4K_SqWPsw(#Dsymmte7ctPMnhOJ@&RL-UWZr7T5=v-!RDw7v6$SWf$*Xe zWafq6-1Q{e=;Et091(RHsE zvVBrlc)ha*Zo#i_JSUj*mIAT^)F?Qo( zZ5qI@E%^zI#xVt7sS)h+D&SNyLD$~iyRWp^ZG#bpEstKXvNy26iD8iYQtqy+bslQ; z=vDw^9p7t)erxCSrp{JF&^|eRHC~#zA9}g-1*V`L-$Qm=?JH!W(z-0yS(F@g>lbG9 z@U9AE4Mo~XIrEET7JiPxPnxxGv;&2+NnYXQ8lsOa<;nTtlt`N6IJDp$mbyEf*^hUu zj{PS-1A3z9J|!I56Qxfuo3QA1clq2Z?DNE7O;7wwsh$@U?HS5fbH-E=>0*6Chi`^a z{TY7Uk9MD{NPV`acFvf?TsbJ>9NpisPz#DEg&@j0qBycQ4vdU&gMm5}e1>pYp^6vk zEeEsRvu^V6kE$<^cbqKupMe1f5Eul}%W@e+7Iok@OOuvSplO5nocqW1cRpv9bK0h9^1jde zywCGpJa;HUV-!V8=vBd4QLl?#fl10?5**`VYUGWjJTa(sCbVhI)L|O7g&KR)+^A;q-ljP zyS+qIng#H#x?&m;?FyKdCKU)T8Ti;@WWhC|ksa9TuvBUw*_z5Njqj~s#_6=_w}Uy` ziNl&+j8Q@#y;=ouYu%U?^YV&mT2&{MRvWin2opV$nv+FI=nXB&7{GmJI-_LObqF6E zXWdGRV=YQ<6FM@dHYA->v1l9_$tX|kJ2Ao=8qqQx8@n8lamJNducfzIf|I8pUe-WYFhO&e%Q&5?VgGa@+^!iRMgybXHHC?#UdL- z4mheYp#fpG2xDnJC>f}5FOyJTh_;YWa_kYc1*tWg6(Hd`Xy=KghPeVpp46708IAG~ z_>|_|Xm=7Txg#Rl8z{)ZE0Z$iS&cFpyJc35g`I_J!Y$mJr>1;g$PvZ@qf4+hCo1-%|?%*db=WPiiDv~HCe}Mxlt-c zF}_I~0u%-3X%dDOAR)BbeNw_*c ztwIDaiXrNlTeJy-KtI3C4Nxq&w&t`(g7 zil9X(W{m^VH`@L+t)es)t*JULml}xy%DAM;%*L(g2F~=P5!UO|5yZ8cL9g4fL2l1A z8Y8>pIXOb$^|{xLFM%wyG{}-Bvpz(?txmZOq=LeZy!fEnpk-KZj3E|>(=t1Sx(QYr z(k~;FvQfbjemA<6m|>r1qf1Oq2>^&FJKk&cCwUR(&>GFeW7b&E9ltz+jw(BGG#*Mp zD1$?NMG#6^w%UX;RwmRZIkL{RlcjDy?%1keS}-{dqU9jlO{FE;u+@2|LbRMhSLoQS zNqM0tW@lN@+x5Ah=X=5=R%(b!vKhj$2(Rj9SZOwjHBwAQ0=zS{l5rBG1+_;5MUU%g z73fy43ZCq2LHIcoLOJLTkwe^Jflr&=x|&Z$D_znYm0^(TCP%4UJM`e*Ay>y356Vu+7+^Yg93!AJtXFuAwq~;k1l$AmNT77vReuk zp6*vrIBGa%ADKX}Jjp;A)nTE1LF$P_8!8QBmDA#>P_Jtcr%yE9TN%?LY} z=!^&mYaWoIc*2No;4ZagCH5m+Z{b_3Gv0kU8PeTYaMbuobUx>{hu8sc+ z`6^|lCgHT?Rs`8$Dmeg_vu!>JfsrU_Dp^f`#ZMHkniS!VY*%5Oz%Z;?h@yg#oz_XK zFq>6%wyj{c0FeQ{c#tM6?3=Vfq6p-*Ka%U1=<$Iz^+#49GNyYFv{~ z0cMz}${^i)b`+6uB#_QKo@hY#QB79MgC=zC3`-M?0^v6sb5M>tPZmg0YY$&H11&&Ee6x1G^Jg$ zn2WY^qj?L?Gz=jAC1PS{u|10|p}QMlASS>w^K82_!0J8iMHhac=z3@sqN}QDX3PaJ z!DVPc@4<;zaV#%|A@;ur`Z84qW@)@^Reeyy1eIg8fGI)kmH_G(0Hv&(9JgoLp-5CA zSE(u^sWF?V1{+_*z*h?Uy{NM0n|ZubZ4fPswOOhe&jdY%h6at$p#x*msGu}}CzS1? zk}KeULaU@U!x;(0zTc0cW2aV@=mckotxl?F%o3wvN+Ocs*zKpMX*XI-(mvHz;5_Rq zm5??Di((N9ZqfB?C(LZxEqS6Mh<>J*#Qvc+iB`pO&0K0tK2h(EDgywanPRq?FXsSS zEP^D55mvJFEN22f!mQM;T4cFV)(aUsCF&z{lJ7>#x3XBVAdS*#vpQ1C?d8%c2x(#f z_L{8vb)U-Ub3QdoWGqAI#OroWF3?(bK~FpNTL+jVD36Cs%J!0>ga zPE}kG$d zt78%Z5+;ICA1!cpedeVTKrBd_*a4-pqvj>IG_OqhU4{_~)I5X`@3iSvlUmvaOhoPx zArwi_-n9pPb>1)tC+EcJC5W7Lw}Ph4BA=EfKm=9T&YbDB8ZMUgR6U&vwCUIj$1E8x z`aE6qdQzbRonN10;_3Q;gIS*EwmoS`!lkX3&HEu^#e!C&J|EP2N-MfeBH{GNG62Bw zeqvHDFL|$;om*M5uh9lloOE7;iot;BrXY>0(f$02O-Fsf2Xwya32Zq&=|W7rULm7U zHNaxsv&2keA}t!lL_p?pQ~Y|;A;WmbiKc?lCs?kS&0rtLX+dn+fzr4P>oYzeL6*a% zqf%s|4;|k|k+*nONNQnFp<_cGPNmanTxkTgNEnu@)a6mkPm=kpSQu1G)38{>Jrm+a zvXf~_1D4E;SR+2$V6u1 zF6C6C)=emQxSycgQQ|2pRjo)cUaHEZ5?)U2u2^`GZgNIJY=`FDakWa=c_t|?<50B* z52DN3yp`yyi3<8C+ zHMa^Qo`RQ;BCMd!465Y)C-70VwEKYYh@CXwzMo8qLDvoaY#Be}MokKfPL%KF^2ej%HQ&73|1ME%< zybi9Z-i)5uBvVo+Na@K`ZUk|BfUCSd2`x-b)yp9Pc`P!CD{1o;#jB-xeo0m0LuBBt z5T~V~#L>+W!B2Zj#j*xq!TPvt028#Plgu<|H^!n`gZuM5LnHFbG@mqucB;jcr}>#r zl763biwRC^EM-m=8xZ74sS-1-L7-#gPv=Svz5_0UnJ?69@lqj|^K8`_%+Liz(rV;8 zO|vqDb|+be=j*sr5$P~tdw^vYog7*bq3cXrjge3t4Si^N>5NfiH5{h}TN+yPHIY>N!^JO{iH& zD??CHRVxufZWK(%6gLiHt$w*vgpGZv+7bp>Y=x}5galB>DRCTC8&)_Ua=wivyr8p7 ze6renT8&oJ+R~$&X+kgiej`!B_73|~^s))cj}NS3vuhIz~vBq;Ua%ElI*QZ`ZM`$MW+W9n7Up9nL% zkPwGvLmoi@O^8+dX?g0(bibONWyD-AP{&0ulG4_6t_{Fswris66LLLUt%<=RnXH*; zRt|udzyQer^-1ems@}~>Y(Ex<6@y-w55;(og$x(Yl;hk5Et_05+WmH$MABmkOl)h> zbLCn|32kTWkgi&=MsdaFiGC?6Y|wQ%RWgQsGi9bmd5eX{ieTs@qzHownpfV;nayjH z}V$}7*7EyX~wHJm4^;4twO4v~hpa;k2lo|;n%hE{DB z8k5urYLn{JD-3N_Ob-Fd!rQ|u4Hipemdn-!r`Aw%6Sdur%{efg@MwZB+EO|Oxsx{8 z5y!N|E;KPqg+V~378z%bk-?JpMn0#vt)E5OHvykOgtjMugeC@td! z(}u3*`H`!5bf;QxjY4=Z53#DEM4>xrIF-(Vd|wBq+b+0t)ig+WA83KBaB8DEBZP5F z5uzcXtI^UYnW(S(rQs~iYgA39)3db728K!XIVzE5vau=-Y>&#zX=rKSst_Z|k{m6{ z@Pv9{F)n9N^hs-t>NIBL*_CI9u^P{o>Bb;C^Fn`#^Ksg;P@R^n5+za0FeA=7<5F=H zrP-t0Jcs_KF8K3YsZZnzc`|9XNAafYfvlf*O~aR$86FT)fc6>?c+0dBF&Tob9U2^v z$&~frYt_RC;aaSeEcdcnK{2N}tLcuaa?7x%UQl)?RlD42W@?ilKJ@y-_+Uk;4EY$j zP;xV`!?02A-yd|jY7}#GVN=2;zBZo7857qPdX7XI8)+di6-Z*H7NX0?k)}QyjhdEA zRg@MeJ-sqy+YOix*=--Sv;^7Dlq+e{g*JQxh7x6%W*Ty|211=a?-JRv5+A!kDvwZ9 zXwKL^i$uHKNjK<3ydpId1+A3t@Z%`65_Esuk=--~r*5?&P1%)~(W&wBF@@kY;2Et>!OirBUG+ip^7fL&yO)aaK z_$zMm+5Rluq5W8C%;w6%qy{DEnL(zFg)!w5FfR`4sp$f|>4C&EnnPmm6Sr3^Q7gd2 z=Gb;w>-$YODprxX8+>&rYr|f5MK`gN0~XK3i4VAu1fb6%*J6-BVb7$uA?>8b^JXQj z4>RRVY{=-N@wm}01w;&X&tpIC_nK@F2i0K4IT_!J0oBAqdL6Q;{x~&l^oaf z2gA8GqS?^%dt@|$%N11MfD%wdzLCJB8j(1N*ks*uw$wx@|DP3nTCv^fomob8lKbYV5phT42%rkV38 zlk9*3R25kC65|yDiapt!5z@6Fr|WcS-lABrVW_8*^pGJTqc}6a_)GRwU zhBSS!yLJolhN+EHcmAv(QuP1e$pdAJ`dXT6pgKAVI@~CTQw~gSJQq$ zY{>1hIUu7rskq}_Ed!t+Qy$hvZBQYqaN;(X4eXP+kRmD$>W3g&#g*PH(N;!qswbv^ zZPK<)R#Jc)3JLs4Q^V+BLKOw7=&E}X2iwn1722GL5KG;MMW_(Zqs1{SxHYFx6sbB( zL&HYN(nc3l*Lg*841$g}XFLQg#yufPb?xFZy3B#xO)0aSZBEPiPHW1|mR4UT=5;PL zWbwf{Gi;GVbUhX{#mWGYrD&2$1$iJ_=#~`C@y?{tT*S$)(x}v94Jt)-h9!BXQ^f|` z9CDF%4y1Zuq25SCRW%gi;1kp-M^4OYyw1OQZDp)LxF90 zvQOdy^{W|ah`pi>O<mn^%8z*{WK zYAlkr#N`7wQyb4ilcg%@XwzPRRwDjM(W%}Hivxul!a)Ha9~U4f!j$4VN>|FL*LI-n zXSs}%7N>$?R2FEJLwL34YdKKL8l95R(S?ODf!wbhC+dwBSn7 zu$`hKo>OA*N|nhHQ)60-P)~Qt^E8pBBq$)7-R5Kp+wKAHR|6U9wGPWwxMEW^>dgW? zF7p!^#P39V*nDxi(UTMNjy)GB9+Mrwzi>*S-X_?iNP(-E)n{pl3<--? zLy6@Jd_PM{odL@(mX)#;BDQqT5TuMU@+!VC^Z~*lYVEp;gNOxY(Cf0}=9p`P z0bA_a&fIW14G2zQoYQp32PTmbcxRrfm*^?QW!VzyjfO$d zIY0!p29)u#6D4|x8;bawVe60}O!lU+vK5+raU#-eWo|lho=a95Vj(E>0i^GXe9+Nn zMY&pRt2L>fAbHUm)Vjl1uUo6A{6eizSbA6d06O&+j@zr)N?|(X9C4W`bu2IXl}Vd! zv&Dn>-kj8%o-{LXeZYFQGZ7)YHV48Th=a1!$d0Lj!AMHG(2P7Ghq(!a->8CBVL5); zCFv!Xs23_@GBx4zCB+}imFkGC>x161DkZ@@T+XVQppuO@Q3>XPWOfPnnoinjTZ+M0 z=xjkYFz!xMT+NJ{5;Zlq68n@)GirNGnPIyuX+BSkwZ(#^iG)_n{DI?<Qlt+1$LNdr%nJT;$bMcBrb(3jc;5lig zw&STmtX;sq7u9#1Qyx2CEKsmSXu0VM0SIK471P}?UJaJLa2k&AVtJV*8zsA!<@))o zJny#|iZm0gQJ)y{UarPSLc)e7MmpWnoyw3W#6mhRLIxf2j%b0BF_3yaAIU@m%%r{| z^7WV(#RbC^sc_N+ve~k0P^IbQXZa`$76=~7c*(@v7Gr=DLY5$^Ie2oYR${S))Fukv zd^)WbCY2e-6bY+kN_<0)))8)j{ihK3GS0F`49h*xp1iJ5%>sVtGb#$MgCHteK}cR0 zq%tb@Z18OF3s#fK*Tsb!70z=G%F`496Y zT|U6}6$lg@42141RH-mI1aCQxQgE>en-}0a)oF1YScUGOlFtRUuH@08%~YMbogI;r z7@VD|nI#+<7GZLpY33Z$?}zr%g&6_BPlAPER7&~&G;BvHg)wYLr(7+_P*7`-Qz<_0 zMK!XR+nYoeFj`^+wTBoOod*-h%si%`VuYV`-||#Q(AdzePWN50Gy#{Q4y&R`kq;Nu zDYPO=#q`*b63f22$hUGJ=43dgX3T9B>F2%~jk}_`+OsN7b=o-i!bkq__=c(#o97F-F&z4HLuERN;m7Hlq zg?9**B?2ioW|g51!P97_MQ_NZ5qtzK6Xg#XCy&4m_w{yFbh97}c7sZrVN#(Gnt_)g zX(_>=mQ?ChtSD6AyGC?Fuac$WOb2SJ1iHTTm~kK}+wz3WybZ=qYo6>dBseXu)TKu$ zyVw(Rbgm>hoS4mmFC7iLmT00Rm(XT%GaU~yj67I$I_}t;&E%18FRLk`TY~PRD6gmn zx0O<1f;(!|utwLM<01OaT%k zq1ymhbfgUWdX`k01KePkk%={`opLHAYQl~BYN|1wVrfnyacOFh{^*pJZnYiZ>y4p> z@^UsbV)ZPJ$aP`!7h8mIv1Yw$O|gnTw0UZCG%gDKI2I-#@86l^%8FK+j8KZDN0>da zG%8=cL_^Cvv_1)<#d!%k(pVC!K2=QyW4Y*}bMMfh%j6*&8AXNYw&HuHObQcYk}tw! zQ-gSc$#?qRB*{%Ce6J4*cBPe%J|m~&&l0-uL+n%CLbBdYHNoS+`DY*&3?t?gQ_peT zsQ~GS22;v6pt41PHdS{rW2zC$l3MhB?Ot3^MOQ5{W4B6DrfKELp`t=;upZ4scr*7P z-P4BXZfaJo_T5}Q$8_{4*4Q~thJ9{ZPGoG6_%`{+v7k_$S!!}3#rSrdIzY!@uO(kX!WhW`hhNq<^$q6rY~xVke! zOQ4>mgIBqXhBjDcX16ia@ZXY}q%&&VlMHY+rD`_DYb~cP!j!|Nf+RT7Tyx3jc^G0N zArN5CN|gGOfJuO>T5gtwuCF(n0!(@sE6dH$3FMPPdH`;^oD%bWDF!V^iWiwMh27kk zWEdqcLg|pR>YXmnk@+|T?SkPHD4&`*@(0us-5)(34P?0q4a>1?7U2c2??HW|U; z$$?E!nMnwN&u(?ZLDG0XM< z${TIEAokLb;Lq{sh00ErZ~CO8WXd4c_)uEF@i4xGYDg&sOBv(_1m(4Sk6a2h2=f<> z#7rKi2SLtdyIGy5>j|UT?FQPoqZi3QYVul`B%3z0#|UQ;_Qw7B(&6DVNK?IOt6OMw zAU!)#38S5B6%$FX1%c*5tvc;Eomv8ow@zW2jEixG!D&znDV7DJpdhy(P$d_GWX`dr z49u4Nv6_O|U16fxpi&N(-3)wt1KUVRp$qLAdO4wrZR|}#Ud~P9axjUmTwxNDg&HZA zifpl2X()qwW@^Vr7_($0#M|Y1W{HQhC7lCmtEDUkK&a$1GYXCeVb!X`GY}zQ-es57 zQX?N3e>J*+88l}zRf7t|xSCj*uby4Wq6On>GTAVWMR30qQc{%~FMo0|P z-FB%=jAe@eWPH5PkCJK5?>T%_rdgz$vw@=Vbiu%E0qNb0@+Vc))N-j{4!xwEX{otRH4B`r z6%5@N#*Z-Xk0rOl=CJEa$s~k$=R-TUY|ID`?udDm@*s`VgxZw0j2Wq7O5l?qC3L#b z8dscJ5BUH+OcVtu$Pa4`vFF*cO*?)V7BX&HzMBdPe27#k>yNN<Fg3u%v95PGE)^jcjhh3B${CGADfGXF$CUIy(Ji5hBYL+!(`cHG?DIkn&4S; zl%2yF{3HNKZ@c|S0YVtnm1Rk{oMeLN4sA45kPZoznw{5B7cRB(%Tg1D5b((z`?*Oz zT2+fV3V*lB3QwidiB6=?wGgX$$%&+q1;kpw&zkLw4PiHG(sMGr+M=fozfwzRi!6|E z!%DnI^)jh?wJgA0F*$>sIO+bS%b2?8V6_=`6rdOsA4dsTtM+OI2!lgs;*fFUswxOpJWciDM#C(s)?TwuyE; zqf>UNCG(Jqj7>UXv6-KzM-7@KYFgdZoYr93cNk+zPit*<#z(3gg2yj=418VYbI38O z^8wwh*9V1paoleE=wyWb^opbv>SlOyF3B&;OAv@c%=a%kkySFWC=Dx^pdak>H|vV zC#|Z&Qbn8$>fSsIa&rw?Q|EptH#k^jz}r*Ro2rv&WGi$cXyq|!WnK}oTDLB+gVCTe zo>8iA>j^Un)CMr4scM)J;mj$kyjPkI(p<{15(FOSSR-p;s1;1XbxU@>TTM0lA(v>- zzB%&(i7B!Ps5W2?)T@oi9fK=(tY1iuN2D z7D0`Vwzkmp$@JS0{t%f_JC}@)hMAE~$Z<@6VVFVHz2z{Yh1`c0Q@sgCKQrY^Z8JG- zhKf`7sJSOiYlXaI^c$2M4`SZfA(n*N1$!4P1kEhM#j16i_Zai%Rt*xj`I0BI-3k(J0RGTg{s+YBtD2V!? zO!kV7m&af8lGzRe3NppnERjZQs9RLZF*v|Z;y#3*ECI6NZDOI9+JcfY+eJFoPSo>Q zn1y+es#nS|1lPNha;uCkcLNTwS&;}DdRqg~G+nc+sx^!f`l`l?6(Jx!LrIXS8JC(^ zAV2jAVI7(edT&&Yrh-^RVmXs@ytFX$quLb84bU8l;&TmJAfupbh9jz-R+Fk+j|#YL zg3FJnDZJgIZFXX8q6rPyMk^!ryp`0!sFbJTqzxM#dC6E!jmma~!aSeje6nU@yVqG3 zy*$i6RK_6~L(S%JV+)i>s*x+(EH;_Q<#;#O0FyZ0no5b}*cvVPu;`cr9B_~V9lcxZ zH0g#ame?ApK~9zzd}&k(feBzKV_9Crp(RM;Xzu0ZtZ0cbLetOL3}pR>){ekzVLAcWy9&I?ImY>1a>v7p)E;+3=*3`?-7y zg6-WUB~`hR%`=m>I+7bsKh~IuDWeswK?R7g&Z=pn&>y3puMUcqnx8EOE8A<4)EFhj zft0TBX(kN7qyw1RYCxNg6H5q0%MQ4z;V3qWS3`j;MS*sxXR6XzFH}7_&!>{4lZWHY zGKM@6`dfHEflIcW{?wclI&77n8~v#Gmv<=JnHfx@EbBrbg5*B!OOSboU!5?CJ{32F zI;u5Ae8F?AiB&PH%T9+~0*yJCmi$2KRWw=$*R4U$lBNk&G6nC&jO5;;m2D&aPewa< zAxfr&0x`1|iD6NWr7PumZ-wqGWCAl+iRJq>GgFOKWV4X>Yry+b!Jx>)vuQ}e0~fD_ zA7t0z6MVClpg|hyl*f$3N{pJ2s(AyAo0^K?7icsYW0M9P$27T1R*ThQzB#j_dBD-L zWf>SVB9gNeu=1F(N~Ir6MVuILx(*5uIU~a*qAOWgrrMCMC3{JVH-?lyrlgK!W5@|T zzmm_Yb2JtTS~6J%tAZ0_!09o7c2T1=11I|I2o&xGJ*#K6`ohUW@1H~Ji`T~5i2-Rc*wBS^hMmn_G8ThmQP=5U1IAVPfh+W>tTmo^&TQi6Dz?AK$Xy&1CHvfEL| zPOcs8%4xXlB>4<6a8W3x(PIiABdl3`eoW50F@D^pCNc{r0C$B9+~akkPocBZZ;zF3 znjGaDqSOvx&Q*<4eJ$Tropxv&_eS%j~qbU}tqMp1S$eY4kTr`i)=O?K^&hZe!C zU*ILbnp5I-P^7TF3yPS@FYCk7SOPjZrS(eD1rO>ou`h&bwhsAEZwY1j{7M$l;khgq zrICrO&>VUy+pUjNI1jE~ruA49>W4j)jDT6GZHurFp&az#^|D@Ss-F%)ZBQJ8O&npl+`51qabGO zqQ$=83pLT4P7G)=Gi8UZ#9*sO*5P#LsZf6;h=i5TiCH0mdSSM(Y|xZSkYM@Y{Af_s z@y}wBnR0#j9hU*F>2mUz%q9w4aooyGp~0%wT^OI5!3;%gXo2;jI+WvS#ymMIWt&s2 zMh%+DtZ0%MQXa&T(vsFY878cfJ=E8%vEIugA8sPiAILO>S$x_dU}d2w;1&c%gR1DQ5ecR8oD$s-FO2SXo*S5~5=~hG%HNEJ&*G#nF8_;ZO#H>bEtF>Bec`*taW)*8|g2*I8Xacwf z0x4H-bw>rh3hng6$s~B#z^kUZX;VjP5mTe#HZK5H)XH@e1A%XWanfin;0`_~*zA}w`8*&O zZV@=eK5!PHoL(?4l`>`->^b65UOq_8C;rrPq(MzG1H(YGuKR`)!m)4kk#)~@`AuY6DFSwy(%+m3|PC%W+3aU zD=zfc(D}2nnI+Z6rb!E-PoINIrR@RVF(ygdWoz-dk)XA7hnfscI-O*Ov3k(y6wT1} z$AV>K=2DT9mr4_;yt3bdN}1TQVq7F@2{Dg!s~RvIc6{i%#6d39qUlx-n{KL`C}pBG zp;}w6$Y;~>LYf^Lv4%?zHBe8m3#_AHT(9UrK*qa;M7c5J00$Y(h*<|#LoHr(i$pT# zdv1%ji|x4|o4HuD>zp}M+KXkb2WFSwuC=IWT_WXDC~*!E?+tXc#6m?h>NeW=s9?8X zEt*M_wJ^J+Rj!rF=d@`*7fe-%RZN?$Q2x((76j{H`APp1ZeG!FcW`-_7T`hS%5M`ulyF(B16+t4)+3tw0 zrrAcmpR5LbJqIzC%G8_9Gp&Ne4r8SSrwPMEH~}^dW+mAKGcC8Rg)!uXx-<=i#4s)v z{B*0x6ms>j@8@duCQWIO3?*5O1@jQg4i_rW`c@!Q4Uw*BL=6`0us4z*>dRD#w6@Hc ztb}wSF3)7%cH2B2pu%WFIq79FMb&j>0qeF2BTz*@!fpgnF-EF@uAw*Sv0+%H(4P)H={)}6$g6>Qd$t- zVuzVwq0c$)966bhY~;=UGMOqT)CD7g#IG!Av zEz6x+!>*Ph!%;$CHq2&rRLU<>;h+$O^KO$H+Mp|pN@KdimRxXU+7*q2Gs~bIrBoRX zc!-sI-9}ZR&}R^lv(FU*p`eK4?HV)NRE9e?o|Ae40+|jSOoU3I?gyA+YypYZKWY{{aoTk(F<@Qpz$ z@F(p;4E~hkOs2}_Os42DT*whpSYZJus`kgoSNK}bE;CJlZCegEE+v3iYm5?X+H|1D z6cu)rIGW0?1Iel}%%VV|fp2-((XbCx+9*;kfw}>=NG#-JG}XAALIH5(OC-x~T~1iDWJo+Jg0hd4I}-_IMr!@-JpXobG=*Zf2nB+%zDw*;yDA zY{s}OLV{5Aim-qvP0>KWyvHwSeKC|_ZMTR*^t=q2Kc`no&F8+{hzehLm}M|&gm6?@ zklpdJ!pil0l#J|6;g$>SzS*6bqrIuj|NcB$Sp8uKKblY0Ph7QX{VHtyDvQHkxoE4S zwd&s=DBVC8zk1^z1@=L8zn%8mNm;i#HGO=C2RwJDa`*oK$m|sS>#PGmeZZx^W6nD8 z^!;97&iLIepSXI{`mGs<$2(vD`D1_mSCY8q&dc&|eSM$N;eR>m;?nS(r;mE} z)@P48{SR-ymV8@Scfh(;tN-o$*lYJ*x5E!Umwh0$YRw`4_PzGFRpwudP~> z`uO$--L~Ck>sS5X_qsJ-+x*{uUcc`CHS5>jvv}hX@88~L^}0>#@7nGEf9Kdft5WOk zKmP2ik6*QR)Bk<1S^fL}`yqPZ1Y-5t<6{4Lw7dKNcZTcN#y<4#XMD)|GqyTp-3f0# zcj=%1zw=p@+LZj?^NoFN%}G0a>9KcTc=p}X=69~yc<<}Go_fj=_f+%zWd}X;v2CsH z(*QnJMHDoqjz7k$7=t*C!YV<;jg@S_PPuHW5*pYJ@w2pAGPUSZql!; zUiqkfUg10HX+Lv)|H*f+e`0vi`?o)8d+*a1{QR-6d}ZhPp@&{@pY(X0e&h5L*KD(< zw!;ob-+1H>(NRCVCqC1jC!Bp~^w|$NWrrhAKIXz-zxlCme4yF3ebwDZo^sk*XFYb` zz4yL+Q{(&c<-hKKbnDFae|WaGvvtF*mtK15kB8*>?|e)<^w2}Inx-A~`Okm;g8Q0( zbbs)(7Y@As!$ zZMD^PZ@&5FNiV%a{quKUbMCo2 z;oPpc^@bZXkWDYU^6IM}+i$0>Z|5#~`O}~J)FU_FeDjs>{5Q|@wJ;1T+3d-``{7R^ zfmW+!-~8u08$amZ@Wh4<>z>5d1s7a!=#^JqdBGJ|UU}$6%=G0Qu35jE`@v2p@3ZZJ z;?wJ*lRoLRRcr1pf9Zk$jz;7mcdkji-`#Qt>G{JpopHt)x8TnwFMZ_W*F65`zi~I8 zwEZ5>e0+~R(1b1y_BiP1#RI48u$QPP%5JY+I(zlNZ8pFCxBq$f!S8PT;PZ!_bl;{o z4xjw}-On9!z!!dT@vBeVu&_=B@|iC;1O%ZoqV_SRc(eRY>JPr6DU1jf3J|9Jm@ zj+nfE-@*U9yZXJ#_1d%hf5h1EMt8%St+(0c(uH@)b=MKsfA_ol-FDe!Liajjrwu#Z zBB$}y>2yZ;XlGLYb!=_>#Y=}Q-u*Fu~4bVe*ecOZ-29~VdwMSa4){-n9Em9-rwo% zQ!a9!|Kpu+y!g!D`agQ-hu0pr{>JBD`{A{>J$Kj^lcNsa^RK6z$YC_R`1eiU9qqDwO>B+ z%rpP_(@)%W&Z>3a_|@shY`5isKgh1z?!pV6lg~Y6^xpF)@A1OlUw?LwBUJSxzkTw_ zE39LGi7{1CRrL!m{^U!xV(hTZ<~y%_;nmWIE-l{jp_S=-0;a$r*M4i|UVSmXTHg5^ zKMOaz;}c)J;DU``KXDVr`p+*+-rzoVRsCqN)t0{*GJBuAN8fW&A&N@tu3xjb{g;{L4-fkNy*rk6`|20J z_{F!S_ z$Nu~XWBu^iJAeDe@6JAWpWQe5XZ-lIS1vsJFnoT!TrR)#%Cqt(8fQ;FkvxMLu35cq zl3jJ&s<$>Z-W`*JoK}l?fQ$K-h+vK=8xX}`FOi*CiAI9=8$!(xp%g` zX0x@WN7GyE_4b)39{a^r`=7G;4Nr)-`>&E$9r2@sj!&PqVdvrigYZp!(oeth2K|Yq zdDk_ET=;GtVp*3ic1*ynom2Uv>|C;H;E&Lw)}fe)Zi)?Ojjaa@+TR@Rvc# zNUk&9I4hGqYqv*^`P-wl{!1^tMEJM=wt;DOWA_)|_{0T2zdzjazhCaKhUvK#F zFE-nB#95yq2;$S9{&eBWM|z)#?{enXkH8JR-Rq*&%W~P`n#LBk}H?> zgl*4@7QglFwHr=5?X(Baj}IPeA5J%X=SUOtN4mn47njdRcapM8$L_$yy|?6OCCyLCUc_G1@6eVC%` zdEsw{*L?4Lr(SPtc-ngVdFQal+T{69KK0a7#`+ua#m3{;!ANB5EzFk=+3=C~@>|`9 z`2Hfd>bOG=*lUZ8QLMk~Uu$;eGa2b(02c4WX?^3U*KW-|{Mol2dhe{W&dPP~+;rL& zn}kcR+wv(V^+EReLr>@S`{;P^;8k01z4c!Qk6-=stFFBA*KdYf{sU3!h-&rGPu}>A z3oqR5qOX1J$DKb3zp-tsgX zD?#5L4C095k01K|$JQQn%-uugGf(K3|8l-|%Y*K_^^!|2x$cT9uDJ86tInux_s$E| z%^yDdxmWcQf3f9o$6cbVVLN0EcN5!PyE5Olyx^`UK7HPw&JExC{Y#i&nTzpRPJHY4 zKOemKZS$O;zWAH`DVbHLufA&Q#U8u-zH?J!_vFqG4Sx2O{og#|n16cvTzt}DSlYj* zU-{~m$KUZj(_gnr|vv$zVU=N=bu|8AN|Ht*R>w_)^>XwwA;@vPki;OU(Fu6VduYZf7{}w zORvBF`YUixZo}83`QvKau94}IOSKjgauMZM?>U*EETK>32Joom-lNZOoaxRtq!u8KS^2jB>xn4F zPhs8r?EU}oLqxh&tB+l^?={cFzVQA#k0fCQX?%D?Wl8+H3RMqv?++vpD&J%>4Hcoxjt^KK9kgKmYdl z>$@grpB!iZ_#1sEll$O92i&-y{44*UcVEA0vvs%J{*Py_U%$?{_u3t9Lu- z=!E^-+r0iqKl;%-Ub^Bt*I)macM#eOSW-7Ue9i@7u=ip3VC4E$srARFjypB_kn6v+ z>Gt$h_wM_ooR{T?FC<#`Z-s=fT03mI#leqO>l=2C-@A#w$2|Ou+GkJr?b#ncao+vT zcemY@`S6Y>-2LY79yt58r*1y`=BvNI{#yv@JDr$Jx_hiS?gA{(le4$KYV+te607}p zw)oHyue@A5=;!`xPv5E`o%+`6cf9rR=MX!0xRAZ;`Sp$Of92voy|CHppRPG!#|uxq z=se8-Z!yl(FR$D3)mLBL|EV90p1QBQ>ybAdLaIBhId;#zR;6O?m!~Zpd)>?DtlIZq zTkreC)(7AInU9}&|9+TUzy71!_`;j_UH-&h?)>{5H+|=Ki9=7k=hfAY*HeLMA+4DP%RoAYc9Cqrdr#>QFO5A^BjDO%>Zh}-}BAAkSc&ZmFp{8J83uYKg3AO4WD*=GOz#H!RU z|Ld^*J{)CWU)Xznlu_)r&pyHh$l`bX*vCG$e_0%^HUUTm~&s{LSGymj`eQkNv zQAhpbEBhbn`#`a$clzte`#gBuUC&{g_wn5xzGa(ekv(OrwVzpi^dTSr&SjU~k3ai- z5Adr9b4u9yI-}}MSC*j}6UtgTAn4b|p zy#3mDE?9L9_vTlwyzjpIlz)Bj_K$8rY~26ZWB&EeZ#?#xE;EN8d){Wp?3g`j{c{^v zuifm~Cob71dhfq}b=5YTZryFWZ$JL$y>7VShF|~cSHDuR5}vf{3m@I|J?(P+%>SS+ zi|@79kMG%d+bP?h-aPs6-@K>1fBTg?ye5DDrF+e1b`TEJzpp>_-czg3{m`)=ta~ne z@YYWwia&B??VA6@v6>%z@Q>HuzUk(hzq;ci&wf$++7oT&^Ip>{w?zx}Xd9`+#*gx&;vtOsr7wt>FeC^vCPha)H=ifPO^3I9; zk&h*VV-Qyz{=?<4)oT6Y=4Zcf`vcYuukQJ+W41W{zpq`r=AMf% zUvBxus=w}m)&GlYZaeXiLg6&?p|273>2xZbDYSluDE--2Z~XNYX9%r*FaF3w!YT5p zuU<#4Kjf|-zkUQWIy^2Ci~a-IOhE~V>|pX%kR2*c*Kp{ zZnpk8yvebFu;0oC^zxWI9{V{Vx_ZL@>N25otU$t(JKi#|E|0C`_gQDD`ZBb|%XoAp976}ao6iJGK zoCO30On{QJTacVHO=>_8MFb>CP*fx+5|j)gNJd0*&bbK+NP6?z_ncGb)UEgG-d~R@ zYqxIbUf)_Xj5)@fi@u#%v8sI^B#Qh^UzxKBmei$fRg^(41gW`$(>L;kAu{X=o}zIXUMs}}D$|4c9Phn<;goiwSjKwu*#e>Q)L_qC9X5&z!5Ss9vnamH zf95*LFh76(yl?Eg*06V6E#?_J8{2bS7oEy&brlI-3o^qStY}|8GQ}~vi$4*-AC!(E z@maV~o^zZ@vf+{Z{qxr1U3wBt-rmF=aycA_4cfFhP{9EuT0v48sST!X8!UB@S5|vfj5VohH92w{xM4&zx3tcJgea*mR$R zI)Z+mqXq?Uw1XRCCbGAt$x6#hNez$&M-SY!p`ghrJYSQGQs;U;`m%1KR$z<;t&xM@ z=EbdPkUJXYMga@%H8t-A-wr)@aNAn znb&yazd34+KKNY_FwG<3SX1S;_$y0glN@KDlc{UCJ4ZYH{sm5E zhwA-5se+b4P+rotF{ZgMR_Ima=D4e-U5h`HnZQjjKHCxfKJMZua$ z+&-IJ04^@0Zn4ldT-liINSA%^^UaLO{({~W$iW7W7F?yoqfnzSt_Wi>qNs}HxlxGB zXTlkIMTA5|>`!IJtK6nk#2RmqRUY|ouvkG3oiD~2-K`}xpZ$+bij%67zrR0o0mE1d z`3^l^2)-3EtLFZnL5FY$NHIQYYHB!~pQ?%wJ@z~cmooZn9T8$5$B|24AWV$0qoU5A zKd%LzFp(W4@?~xga+nlkjY{LkC)BIQt{fj%8Uqh$1|XNX6VB^DRuSZoI6BJ*A0h? zwQpac99@Ar#|&2!{`8`x2YX#fR;`$NA>Vtbc0+m`vx<yr(vE?*lBJSuP!IpVr`v{^nkP;+l`eKjL1r|iSY1pZ&wdA|-Yc5g-*4bo{VtNwTA`({rW$&W4 z6p$}kZBSZBK#ydlnPbhx@DD zvcr>m8y%ybi+QE?9{VHKMOXIbwF6#MLfPZ%;Rbl!gftbW?f<%aeouttzSL({0jFCq zv-_^+LCZj~tqJXkEYpX(8y)f;rsn{-mB=1}ul8kCulT?X>IV_TfPa$%5n?wL?vgzu z3M>;^72B10OG^^wY_2`}!x*q#&%=i1y2Qd%x$%J+YPc7<`Ck^O@~b@8CbSE_EWE3i zyEI)q0BJONuZDtgPs1>l+b*|<^UT3gjP%O(>Rp@EJAwyGE9I+l%Z7j931oi+^E|1C{VrL4Yu9!w*_HE!VrxP36W5_978JptLF1gQy*3G?WzB*F52Bg9-C?OoVBzt;#uJA~^ z3%LV<;Rd8zZ$ATq6*Bwnbkm%h&r~@0ZS_EXSwX6!bC_U+nEe2Gvdf{O@_*;D-d96( zq}$#X4cKWZFtXTQt=t+}=?MnxyfF;;B*AN;XxKgnHgfLoU+-lgJ&skbtu>m^(M3W! zZ_LTg{$vA7J;So3)-w43W}@;C@a5(8*&h7I2P#OfltWDw-&o!P22vEGz@kgq_pH)F zCiE20YYP4rR8deVhozCF>sDBPCE|9nRHK`hr41V^s};rs#0M9^hBDRZ5c~MFevDN4?W*{9Xs>T|A_%*dkh;vh};y zMEhKF8|S&WLHqLMEJ>FcQra$$Xvq!|eMf;K)xCQ4>T8|Yoiy)-x6;pr?tW}bHRbHP zMsj$_Mv<$V*PK^S(7QBHyr|&kCp(Mroj2q&C9hePq)BnXI3fs(9MMVwV+;_4g$^=X zx~!EdWYAvPwj)h;^6$sg&|1VMwnEM`%8+VOR;zZ~ z9}@CyrDq}JegpjfTo%x%-ey8ah1W*OkV}W`X!);6f!_rc>&;)mxI&=B>LU;cH z>DV>et;USPd3=^Ww1j*)-027~zQ95Mt09Wr1lYglr+P+UZp>Uq!um z@q#}8;gJ9C@}cZTtGLgU1hJ)1p?r6xyh9d9Z*}dh*%NaDX`YafbB{E0u_@ADxNzbA z*2=KYn=fBpl(Ov;h!O#Tepur(rfYpUVo#fSry)uCLVYoI?D9_(QYW7x(Y?AUDK9GO z;A?1TI0UhQQ>1e9N42;ZBU$p3k49h=ASY(wyh<@h1^Agft6onWvid#N)A(A#G^pSxL#y<6jo@clm^c z^Y$YI(h@&gwLF&@r;(Ol1^_Kz2EqQV5_gH&-_7~*%MS;pnyAM}=@7Eq!VfXi60UPq z@ZimEQZd}pC8V9%^h5pT3;XLWqT+}-M1_77NcUa;L(StE7-tmW@zv{ae=COv>d^38 z?SHPnxG?YN>iTKEGebE^Y4mfuRf5r<>Ed4Fa_#%8^^EddYhZh`C8eddUh!8Riu)v5-avaJZ ztUbS;3*u0lM zH0rK>Chvt)Jqg6{{9eB@qwMCds{*OFkNbXO*jD59`)RAk6LYm12<(92uC8&+JWhn| zUa71S~KT`w0OLxo@`0R zn7r8LqSZQB_APLzgv19=MxQdX)O~rpaBVM=$i@enC2~^WN_A z0y~z+j^&B;XUGW4%F0?HRmcU-Xt%l$8dk`G@1M0is6`k|1a>VNdKFrvzIbsjJ~`QE z?^Cyy^d;+7j#8(QrI#aqTf+>Bj(_@X9KP(#B=54IdyRdTr{m+}>mez14+040?A@*B zJ#Yl=qRY|v90HJbwbyKfFml^t6s3c%>;0(Rt<}fUo+Q%=;NPTkiivGvQqK@wg2(W*rzA1h>1<@*aTi4Q8lpvrfr*2sqGKYIa= z?dF_VjH#=tjTjddu_SN7+d_F@pc|%W6uiR(Lenj_K zfrZLf8)Y%}ky;w_m!qyX$k8ZeAV|dwy95E~dE$u2`Q1m_qaz}&a!9+|S=-sYmjfhak7w4oiMfK7;vsE3c$Px5%#lqb88!%#cpg1N=i5 z1%n_n%d9sY&#?!Ls{N*ATmo#eQ%^AdU2lx4p(<=GMA+Hkc!Lk-4PQM*{d%4B2Qsfj z{W5g#x2km3$fhOO=6{|MTnX0a`n($_1vZngK6_mC(P^)>2KGaC`T+L|shV=W<)P2w z#TgljHbwn*aG<{dgmNCbS6Dq@(-DrzJMJ z`{a*ZveO>|VdEC4=&A+1F4z3)9~~7JWMX34`%+q2Emd=F(V*1+I?rW$!}=f!>PJw( zXbFK}lMgb6sHo_w*1KueU^u2-)?Q)JyI3Sq#IO>I+ND|+X=~kjjb`=vKs;Lhprm7H zxTMeLxi#!ju7}wcH|Fz%Fm{rA>Nh~;-L0lY7cB@z*C1JS4t zTPd5UZ*)ljMI&y9nArxo*AM?n5vBDDqm2XH0g$_D# zGmp3-iNj?xv>Fm`qj5(|i^~ZK7u06fV>xd#7Z;bU7tnR+_RZwW%>c6vD)pr zy1K7KBC#FH01IkH9vSP>L9g(P-zqQ|){wjvYOV&x8F&>3 zGRJsHwrXmz3-MPlabYAr|bme-}s}np7xUSa{HeET3X4DxK5; zB$Nl#lok;7%+1Wqs0ye^9{2J}_91%ijz@`BN!-1^y4kHgx)(0LXEq3tNrXj(TE6&j zc-4Pv(#T`DM_47K!@g=~rbVLm^6}$YuE0J~f*5$pU21V*A=7Xqu{dNmB>3)COfB{_*=!JzDZP5mmCRIT(xdqDJwGrJo ziS_`HASUk_80;+3$~g)f!_dCAwrEsz^t8aVr5MLRyZqsvUz~vU%>MSm}`GKDK~P{W&P2Qo){y$VcK z7%_H|!C5imEfrz*-hVI08xe1W8u zblwVqD0}hcyP|hLS_YB64#fEZvT6fVUGenCV6rl6NMVD)>C#oS>#&fKA0j;*qS~LJ_9H`?qblyz zFr1D;jXZe5Z5Bf}TVEs*ma43<1pM>gva+)K3}+`a3wpQul;T{lh;Hc!42a`-YlVD0 z6F;{f0Qb&ErN1k8d9m})U%)_B(+jx;BOs?N|49jrjHDd~`X!;8j+R!nob!9k;?(yz zMk5HCKF>u>{1vZXkG7!Gt^#sbcc&4cR2ID3Q*AN#kQ$N~HRQzAMyPjMeS14JG&IcN zua(S?xus|R)QIHo?gB+c*PH6aCVcP2U92Jal`U-Q)0ONoB-rZNi3{k8!bS}v!7}Il zd!dZHyz8JGcV6(`oLiuzW8-ok&ff$!r2P=Et553QQggVTmIzqekpv_6ezP?XM4t%Q z9UPqj;?Ol@+tQMUQO?%v`_q%hfVz=Joj-%>d^2osV>YIL5dy~?(#yi+u{;p}>(?)9 zS=YJFsxM!pjD;oCRaTFe;>joiPbt<=AdDrj2%s*@kdIKsc_1AZhb!x}sKfTpR4IGS z)gD)XB(t`(JRty?@ig?J;nApdBf$Cr*qoB*}dW733S*!EdA9S>haeV=AfJY6vF<>Gf42C z>&yVo;agax&(_L^e!CR#G@L$|8Pc5KKf_)9dji$#7Nu2lLRzxY+3*jiw*sW~B<) zo`LjV0Nm3xXh-w{a%dMg4Pbp)i3HQ5XZmoFfX9`bZg&X)U1fS4m}|P*f_HubO`>)} zK)^;tO)Xhldihfw@j(aHR9~q0yFkRFs>)Qae;MxI@d^2DEB*b|`E6o1n z^~=MX%4LNd@BP;`5ZTuPF@=)K%HdA{HYySL=KJ>;Q#7?Li(|SYVhQ%gV-BFWr@s`0 z^R;IwpuLtTW~O9mnQagJ=_{b0MT-WPW0aHiF@?-0jF0H#_F(8Zm!7OU%4^LnFD)&t z9csS1`Q3|K(cEk(bZs$Y}R7=ai{ProU$TM{v%jh-O#2`!!y0-H%xe(%2 zMkrs7-b}Oluvd?d!8H{~sfkcj&yte4n^5RbP>>>LYl2!$ z%ed6u$Q_zY)_^21=l6~x778BcKCVFsJOL*5R4fDguLhY+<{<8^Y;JC@VQ;@O)z_!r z0=ca%6nm?Oi|W+hjplftpODsOm=$=m5xEX<)+-_`RPJxdfypq2ebo zLMS+NR5=R)7(b>lMwO>4?F$@vx2sg@1c*$-pz6-5b6iSpi_zg55yoUFCQ9HtFOwe_ zctKCV26SBR;ET9bz6u=OI7*2~Kzk}c=V{}+=>Jt}F^)`YtO6;Hb(YXv>C$hNuxxg& zMw;4*h)sxk^yt%s9eL|fY^>@SU}-1YU+OE)Zv+8w9BP*bHymc?ny;F;OrF#AiIjZ*R7_=)%W_3)9%ENUwi{R~(JT9&+>yUYq6c*nbP#Ifg&-tt8b`b%-& zv&~w7uBNo1LGN?a)!^VDqIcbfRxhTm zTPn9TRMeXoS2BX#{=3rukzefcxpQlE&^)?VQBlzhmEUaxq37ya_?d+F-Y5%2d=qAG zBmGe31Ek0m*q6qLIWPWq_{nY3>QNaBWIFQ;a_Z;4 z0k-46TBi?A7UBg37pC_1_L3kR3j-Rrt?{BbpnUYJE};g2l9lk#n-DW9rsrH#Ecr8; zrf?yvDGD9?P=waVb9K=oc7{Q}#&!{4Yf^y1EN2tacTCiyex_k1fCU5E)_Pf0WnAR_ zd*KY|ci~{NlGpB^#1%^`hv{>SAwKW~4)F1q&Jjdlm%$=B7vLNOK#Pk2F-&ph%o$;c z5c&;DG?nUDx3)aD-%{VXNyrMNZtm`EOkD{oKWFHVeWZWy_LC}zgfyRzOgU|xPRFDx$FGVsWFJ|oHrWLl{F4B{e? z5-H}aOhFJtKNr0RhL6!kO%mr`Kn{5fO;7EKvOezPAvDbI>X<3LkDw?7NI(=tiwFrl z8U)5xB)13di8hg_50$VacJS9AGB_E84~oF>cZipFQU|$!{3Z!}fUmjJ6bM7^9MP&@ zB`rWVm8W?Rh3i+y!8av5UcP?)I*2I8m&wWhfIpLse*$fR^zA@bzM>eJ=Nr(<$WVUR zF+;-O5vqD380dHCOMFPjCe)YPJ?|)S^z{*_^$H^WKV>%Y+W^ z*3He$ap?DXUeqDyBdFpg6<4oo*RDCc zyZ<>It(pam3J()6I~Zpe7pNJNzt-+!GUY>}(Ie=w<4A6^J}W9JZwz0{hLmH&AafAXf`9jy}bDR#mj;5KzPy^NsS~ydh3^Kp@DnyOjI`L|K5gt`pAI zMg2b^evClz^aI=rA}qh%=d;8>etsz!ShTs1l|Ce>&+%vK@;`9R$A;kCTv^dn2>?UJ z*1ruyEUQbb$ z0y!$Gs!}P1fRev~#r86mNQ?F@$t!th_s(3QZSs+(1PFX#u>c~eH;&=SoHTZ@A#g^wE)sPTSs{n z#vQ5#D60RSPSwhhn|vgWr_H7>qi;@JdNQwj(@MXMt>M?|r4v7Uf88G#XnUCIF5S4| zVX~Zez31Wei>#NDqc1AtG?;&QaqU!*IC-CuHsx$}43RTM^p!dpNrP-OI5e>5DBIU` zCw;6g+EUEJ)cihTpLuI44sZm7XEi@;diC0qo<4W%O0n}79GLvO`nSHMqgu9ayF*?? z;t6qk)XM#<3-SI1oYjYJ7MKG9;Nb)fy3i%=CGXz&s(W6DDmX({POeHAnn7Acp?|Eu z_m;2wU$9wexCZL(JZ2Z>C3+k`+Q59w@&331XlpKk=1@U8y;Q9wIiI?DM6<#u;N@YsT{8XJc z9~p>ttg?m+-}d>t{P5RA^XpaPvWEu^Dqjtrtv9qwhC5hFQz~)EUxisG97IyE^DggH zE%rQ^zuQ_5N55@DH2ZnQB;QKkJk(au1M&7l&F1q{7!ZZ zKMU;(w}qq6o}WvRdU(k>yHI6s>Qu$r+9mIeh|nBqJ=8tOl>QB(Y~*_*znM}3_~gk@ z3f3FwnJ{GRh{R#D$%Ixg#bAcEr+T|t1si5;655@1Ek{zXmdb2J58D@Y>K4Y^ZJ5p8q+OGy`$6RY+J_HR6Cob3bqh`D7nf{#_Y?}`*K;*f`Q%4GyXvd+%y`v_n&sf{ zIt6_|+S))3^4je3fP@^#R5m~F_Ggz}`>{H4dZQ`Z$gS;^_gs&#k*HAetRR2iRU5OK z_NuYBYt7^VA`+y0r@@Kjby|ujGB%pDgXP)P5D5pTGU|YKZFiWt>u}}&k`fTZan9Tm zYA}Lv!DV1Xv&6*3nfX+Hgn6rLu(GglK&Mqw!)JbI)?p1B7cg|aIdWQRGKDg`XZ}rY zZj`H(?AxCYBBP_T^eNQd;$#nhsd}6BSA5pWx=bIjR(1x!dJTYWG`%n<6_}t6>au)! z)pXt6EH{^p?p@~}!~FNEv)*q6N2^`y7?sj)I_W6fXdZNjijHDD2an$tsNNp+SZnEa z#PA2EFVIG$8S1M4naZgaLVq1y^ONk~;TjRV2&vg@n>1eU)$$Wc@Q?G|IdtD&kIPUJ z-mO*$g76#G1q6>15S=B^;cy&gJFdHkeDRt$Dm7Gtpvce9uU_z&KlJ9+wQnksk$=7Z zDq_(+j&&SZ64EbQef&x=lAg6p=UtBdnYKP!R8Ve8=&c~vet)nt&NEm$5k{D`Pf9-f zL|`<^q%JaOJ16JV_CM8lbV#3l@BWx<4=YnzBXidda3|k@FM0%{Ykq)=8h^gM6;*f- z?=*!nw3}^DeG43U>sa=BSXkHq2v`XS2Qs%m(Oho4JFzZ)>gml_{Hb!0&uCAcJaH;c zbGz%nzgn9dh1>U~qS&G$52b4_muRG6w|9W^i*5OR?B zXc-Fi&;FWAJ(06d@z0CFi7D&$vl8h<3E$Hq&}9`L_hNE#(f}~N1|K~Yp|A8y1wRm3 zBW92^uR<^3N0`!k5~=`Q&D6MMeCET7r>+eT4~L2!Yriv)za;ADn6HaPvP?5zJi_s$ zhg>>z|6_QCkXEyre(<+h{nf

Y)ocqh?BJQXYeJqptU)mU}BcEqy8_u#iQe*w87X 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%0D|<5@wleIL9JHw zqqRbXwLS|nLT}7ewWe-|Axgt=IsUw&8*gz!OpRdV#PLf`Hw`H#lR$bp2g0Ia>dH|a z+>C$+UYFrQsvCaUEtR;t{lUw{f51g(e78ThtKObp&3`@WN-cmQG`EE7%5|D!bRHkN za-Oo2eg3h6LB1;%NWmS$Ca8)q3&r5oTJ#Fg((gdKtAT6_(@=mK;G*6HgxlHlsi1|Q zVt__IJ-jl(2Sg>9v6ndS9#_5dwN6zLkWyv!v-oFNs!{$#{L7=zlXah+icB3xvmSf8DUj*< zY`1#9GWDSz>fEEXg8@&cXOT%@)Kf-FLnDBQEqCpqC?wsrQXkpzdt<1T+#FGb6>HE! zB&faY3bV#NnNN%=g#fzE5H8I6IOo4=2nc*V#q+#vGp*vh%J2jd312VNV}1*5<4415 zos2RUqk&h}7)Q6Kxpnc37VApFk{+rFuVPYk=|nPUrZnMx?n18mk-b?c7jpJ8sm#PS zU+#1%ji^JC--qCkRjuga{gs3`EWC*12VRA?X)4!%y$^|q^}DsqA2p>mmI80ZwVSzo z*66Mk>ys*ht&1XxozPSW6dLMg^MED=r*f`oBM#9nqRTJshY$=#$WxA7 z#oy)z$4W;n=S})?UTYHr1!XM)^{~-||xitS@tDr<(k# zU%|iA`7+{4gb~!WqHx{DF7AIJppwiN9Ti1zQ}0UVd;V_XASnn)fyZ%f9V27(KLl7F z^W6cK69oZ5(P<*qXS*X!ec>@(@kl0^ciW}c!5AleG~FD;{7a?M_@!{_GeY`QSx1Mi z)+vxQmhti1IVbtM5YRKG&gp?&hhvG6n2aLtPQ>=7^!Sk2J1KrNf;|u%lqs6%Mj`T6 zv<+>h&LKcR`opxJN7HZ!IKZJYX#$S7%X8ZX4E}z>DqWYnr8V2$B)W9k=WE6@Q5b-3 zGh~cF@QZ7ti=p1Xhfuyw&&-SoxF)uksU*IkaZr0Qvbt7M6=Vk>ROf?85uLonXs;76 zSjUTrF(@MX=8nFOs6RoQ#oJZNI)}^ zElW>L81yxxZQ0^l2&1VG%R^<9*2nSx9r5pzHNg6X^5A99hh&!xQ*}+?{CvkRG?Qk) z#BTinfa0=UbDoxR9nJfguSWDSDn!#9%{0BG%2&&X0g~|0?{0m)+fUyX>J*5?+#D0X zySRH+YTCe{SFGE++=Y4Mx%7_1*HnvObBVac^PrbkbSX+Tna}#@BiqGRL893X8H|;c z^@~#c*WqHhsh|;=v=D%DH%eMRLs*MKtn=l1V^-wA9Jx=5U&}wWwl!|J322nxc&xR! zE|8r0%yhjW7hIqlpr?3Uv(_}iY3|ud@^9PxnMe9@3)F3*cV@>`uH}oy z)=~%;g>WNiJGlq6yN2BGpCVS;`dxnw1Wpas{xnr+gcE}I#8E?8g;_^A80FB*26znyKkzPa|5UzrD%(t>Hbz+!vT<4DD3*1vn%ifW6l@#od$fN{?I z=1M(JvqEuyj{8xMnT}8Le%4@F|HSm@f)YlTu%Naj2kQv5Ez}Snn>hufNZ1r{p;$^dyR+t-CLa)5b{6tT- zCX(|+^)R~%wXCb`fU;Z<{@?hu{$OSc3zE!d-Ya={+*-OkNeC;nO*%kXg z^)atDhieCEa&-1=7is^lr`e4bbqx-vCGzI1WCE0=3f+?OB~adcHMl~s^DkX{hWf%- zDqb4}ulZ^I%KB!wPHlyk(g)}5a52!zX zb(X(Wwt_SGM#&IbeyYP&ZvOFKwo9~AL0f{+=RffZ9qBsiJ#NQYL@7A#( zX(G2VMl~CiBS6kxh<2XJ7xNBKHrwke+PtASO4w#w_POtzGX`mXNPlauFDA%f0Tc*~ zC{ruRrcj73BpaJd<rpA_3xO5JY{C)Qd z9w+j2U!h{b@N3QUYVx?AW#iWgp$T{?oTXqcIm0Samp(YP9p`vGX;ju09#=bWw@D~F zG&$SxXbg8-_z~PYuV{+_TjNETa@)bn{r$!%cLYr0cXDlxu~BGk_kcB%0A^6pgdL!P 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�>VM+!YT-kA+gAd}SyopW7Q~f|jD&{9 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 G_&)%Fo%0s} diff --git a/screenshots/stm32pio.drawio b/screenshots/stm32pio.drawio new file mode 100644 index 0000000..6f0c5e1 --- /dev/null +++ b/screenshots/stm32pio.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/stm32pio/lib.py b/stm32pio/lib.py index 8ca62ae..ce16a00 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -415,12 +415,18 @@ def generate_code(self) -> int: if result.returncode == 0: # CubeMX 0 return code doesn't necessarily means the correct generation (e.g. migration dialog has appeared # and 'Cancel' was chosen, or CubeMX_version < ioc_file_version), should analyze the output - error_lines = [line for line in result_output.splitlines() if '[ERROR]' in line] - if len(error_lines): - self.logger.error('\n'.join(error_lines)) - raise Exception(error_msg) - self.logger.info("successful code generation") - return result.returncode + if 'Code succesfully generated ' in result_output: + self.logger.info("successful code generation") + return result.returncode + else: + error_lines = [line for line in result_output.splitlines() if ' [ERROR] ' in line] + if len(error_lines): + self.logger.error('\n'.join(error_lines), 'from_subprocess') + raise Exception(error_msg) + else: + self.logger.warning("Undefined result from the CubeMX (neither error or success symptoms were " + "found in the logs). Keep going but there might be an error") + return result.returncode else: # Probably 'java' error (e.g. no CubeMX is present) self.logger.error(f"return code is {result.returncode}\n\n{result_output}") diff --git a/stm32pio_gui/README.md b/stm32pio_gui/README.md index dc2a15e..74e5ac4 100644 --- a/stm32pio_gui/README.md +++ b/stm32pio_gui/README.md @@ -63,4 +63,4 @@ See `docs` directory to see state machine diagram of the project action button. The number of added projects that can be correctly represented is currently limited to about 5 due to some architectural mistakes. It's planned to be fixed in the near future. -Right after the removing of the project from the list there are several errors on the terminal appears. It is most likely caused by the non proper destruction order of components and isn't something to be worried about. By a similar reasons the app itself sometimes crushes during the shutdown process (doesn't observed on the macOS, though). +Right after the removing of the project from the list there are several errors on the terminal appears. It is most likely caused by the non-proper (and tricky) destruction order of components and isn't something to be worried about. By a similar reasons the app itself sometimes crushes during the shutdown process (doesn't observed on the macOS, though). diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 629f187..d071033 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -36,11 +36,13 @@ import stm32pio.settings import stm32pio.lib import stm32pio.util + import stm32pio.app except ModuleNotFoundError: sys.path.insert(0, str(ROOT_PATH)) import stm32pio.settings import stm32pio.lib import stm32pio.util + import stm32pio.app @@ -657,6 +659,7 @@ def verbose_setter(value): boards = [] boards_model = QStringListModel(parent=engine) + engine.rootContext().setContextProperty('appVersion', stm32pio.app.__version__) engine.rootContext().setContextProperty('Logging', { logging.getLevelName(logging.CRITICAL): logging.CRITICAL, logging.getLevelName(logging.ERROR): logging.ERROR, diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 5e08c4f..186feab 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -122,18 +122,19 @@ ApplicationWindow { standardButtons: Dialogs.StandardButton.Close ColumnLayout { Rectangle { - width: 250 - height: 100 + width: 280 + height: aboutDialogTextArea.implicitHeight TextArea { + id: aboutDialogTextArea width: parent.width - height: parent.height readOnly: true selectByMouse: true wrapMode: Text.WordWrap textFormat: TextEdit.RichText horizontalAlignment: TextEdit.AlignHCenter verticalAlignment: TextEdit.AlignVCenter - text: `2018 - 2020 © ussserrr
+ text: `ver. ${appVersion}
+ 2018 - 2020 © ussserrr
GitHub

Powered by Python3, PlatformIO, Qt for Python, FlatIcons and other awesome technologies` onLinkActivated: { @@ -388,7 +389,7 @@ ApplicationWindow { y: parent.y width: parent.width height: parent.height - enabled: !parent.initLoading + // enabled: !parent.initLoading onClicked: projectsListView.currentIndex = index } } @@ -525,7 +526,11 @@ ApplicationWindow { // property bool projectIncorrectDialogIsOpen: false Dialogs.MessageDialog { id: projectIncorrectDialog - visible: Object.keys(stateCached).length && !stateCached['INIT_ERROR'] && !stateCached['EMPTY'] + visible: Object.keys(stateCached).length && [ + 'LOADING', // ignore transitional state + 'INIT_ERROR', // we have another view for this state, skip + 'EMPTY' // true if .ioc file is present, false otherwise + ].every(key => !stateCached[key]) text: `The project was modified outside of the stm32pio and .ioc file is no longer present.
The project will be removed from the app. It will not affect any real content` icon: Dialogs.StandardIcon.Critical From fc70dc5e1c9bacf20c1f45104774ead7b8661970 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sat, 25 Apr 2020 17:20:03 +0300 Subject: [PATCH 04/13] all list items are now persisted so a state can be stored in a delegate --- stm32pio_gui/main.qml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 186feab..1df3e05 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -1,5 +1,6 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 +import QtQml.Models 2.12 import QtQuick.Layouts 1.12 import QtGraphicalEffects 1.12 import QtQuick.Dialogs 1.3 as Dialogs @@ -265,15 +266,17 @@ ApplicationWindow { highlightMoveDuration: 0 // turn off animations highlightMoveVelocity: -1 - model: projectsModel // backend-side - delegate: Component { - /* - (See setInitInfo docs) One of the two main widgets representing the project. Use Loader component - as it can give us the relible timestamp of all its children loading completion (unlike Component.onCompleted) - */ - id: listViewDelegate - Loader { - onLoaded: setInitInfo(index) + model: DelegateModel { + model: projectsModel // backend-side + delegate: Loader { + /* + (See setInitInfo docs) One of the two main widgets representing the project. Use Loader component + as it can give us the relible timestamp of all its children loading completion (unlike Component.onCompleted) + */ + onLoaded: { + setInitInfo(index); + DelegateModel.inPersistedItems = 1; + } sourceComponent: RowLayout { property bool initLoading: true // initial waiting for the backend-side TODO: do not store state in the delegate! readonly property ProjectListItem project: projectsModel.get(index) @@ -389,7 +392,6 @@ ApplicationWindow { y: parent.y width: parent.width height: parent.height - // enabled: !parent.initLoading onClicked: projectsListView.currentIndex = index } } From dc6b706d131daf4ae00b61f1e90426aae3def552 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sun, 26 Apr 2020 01:44:55 +0300 Subject: [PATCH 05/13] check board presence in config on project initialization (GUI), handle theoretical Python backend loading errors --- TODO.md | 20 +- stm32pio/lib.py | 86 ++-- stm32pio/util.py | 10 +- stm32pio_gui/app.py | 26 +- stm32pio_gui/main.qml | 958 +++++++++++++++++++++--------------------- 5 files changed, 566 insertions(+), 534 deletions(-) diff --git a/TODO.md b/TODO.md index 495eced..a68075a 100644 --- a/TODO.md +++ b/TODO.md @@ -1,23 +1,26 @@ # TODOs -## Business logic, business features +## Business logic, features - [ ] Issues guide for the GitHub (OS, content of the config, project tree, enable verbose) - [ ] GitHub CHANGELOG - separate New, Fixed, Changed into paragraphs - [ ] Middleware support (FreeRTOS, etc.) - [ ] Arduino framework support (needs research to check if it is possible) - [ ] Create VSCode plugin + - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) + - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI ## GUI version + - [ ] Obtain boards on demand (not at the startup) - [x] Expose version to the About dialog - - [ ] Handle a theoretical initialization error (when boards are receiving) + - [x] Handle a theoretical initialization error (when boards are receiving) - [ ] Maybe `data()` `QAbstractListModel` method can be used instead of custom `get()` - [ ] Can probably detect Ctrl and Shift clicks without moving the mouse first - - [ ] Notify the user that the 'board' parameter is empty + - [x] Notify the user that the 'board' parameter is empty - [ ] Mac: sometimes auto turned off shift highlighting after action (hide-restore helps) - [ ] Some visual flaws when the window have got resized (e.g. 'Add' button position doesn't change until the list gets focus, 'Log' area crawls onto the status bar) - - [ ] Gray out "stage" line in all projects except current + - [x] Gray out "stage" line in all projects except current - [ ] Tests (research approaches and patterns) - - [ ] Test performance with a large number of projects in the model. First test was made: + - [x] Test performance with a large number of projects in the model. First test was made: 1. Some projects occasionally change `initLoading` by itself (probably Loader unloads the content) (hence cannot click on them, busy indicator appearing) Note: Delegates are instantiated as needed and may be destroyed at any time. They are parented to ListView's contentItem, not to the view itself. State should never be stored in a delegate. @@ -29,14 +32,14 @@ - [ ] Implement other methods for Qt abstract models - [ ] Warning on 'Clean' action (maybe the window with a checkbox "Do not ask in the future" (QSettings parameter)) - [ ] 2 types of logging formatters for 2 verbosity levels - - [ ] `TypeError: Cannot read property 'actionRunning' of null` (deconstruction order) (on project deletion only) + - [x] `TypeError: Cannot read property 'actionRunning' of null` (deconstruction order) (on project deletion only) - [ ] QML logging - pass to Python' `logging` and establish a similar format. Distinguish between `console.log()`, `console.error()` and so on - [ ] Lost log box autoscroll when manually scrolling between the actions - [ ] Crash on shutdown in Win and Linux (errors such as `[QML] CRITICAL QThread: Destroyed while thread is still running Process finished with exit code 1073741845`) - [ ] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - [ ] Linux: - Not a monospace font in the log area - - [ ] Currently running projects can be temporarily pinned to the top (and stays there on scrolling). See QML Package type + - [ ] Temporarily pin projects with currently running actions to the top (and stay there on scrolling). See QML Package type ## Core library - [x] https://github.com/ussserrr/stm32pio/issues/13 @@ -53,8 +56,6 @@ - [ ] Two words about a synchronous nature of the lib and user's responsibility of async wrapping (if needed). Also, maybe migrate to async/await approach in the future - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - [ ] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also modifies global settings (log message factory)) - - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) - - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI - [ ] Test preserving user files and folders on regeneration and mb other operations - [ ] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode). And, in general, we should show the error reason right off @@ -67,3 +68,4 @@ - [ ] test using virtualenv - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini + - [ ] cache boards for a small interval of time diff --git a/stm32pio/lib.py b/stm32pio/lib.py index ce16a00..daf6331 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -20,6 +20,16 @@ import stm32pio.util +_stages_string_representations = { + 'UNDEFINED': 'The project is messed up', + 'EMPTY': '.ioc file is present', + 'INITIALIZED': 'stm32pio initialized', + 'GENERATED': 'CubeMX code generated', + 'PIO_INITIALIZED': 'PlatformIO project initialized', + 'PATCHED': 'PlatformIO project patched', + 'BUILT': 'PlatformIO project built' +} + @enum.unique class ProjectStage(enum.IntEnum): """ @@ -47,16 +57,7 @@ class ProjectStage(enum.IntEnum): BUILT = enum.auto() def __str__(self): - string_representations = { - 'UNDEFINED': 'The project is messed up', - 'EMPTY': '.ioc file is present', - 'INITIALIZED': 'stm32pio initialized', - 'GENERATED': 'CubeMX code generated', - 'PIO_INITIALIZED': 'PlatformIO project initialized', - 'PATCHED': 'PlatformIO project patched', - 'BUILT': 'PlatformIO project built' - } - return string_representations[self.name] + return _stages_string_representations[self.name] class ProjectState(collections.OrderedDict): @@ -419,9 +420,9 @@ def generate_code(self) -> int: self.logger.info("successful code generation") return result.returncode else: - error_lines = [line for line in result_output.splitlines() if ' [ERROR] ' in line] + error_lines = [line for line in result_output.splitlines(keepends=True) if ' [ERROR] ' in line] if len(error_lines): - self.logger.error('\n'.join(error_lines), 'from_subprocess') + self.logger.error(error_lines, 'from_subprocess') raise Exception(error_msg) else: self.logger.warning("Undefined result from the CubeMX (neither error or success symptoms were " @@ -429,7 +430,7 @@ def generate_code(self) -> int: return result.returncode else: # Probably 'java' error (e.g. no CubeMX is present) - self.logger.error(f"return code is {result.returncode}\n\n{result_output}") + self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result_output}", 'from_subprocess') raise Exception(error_msg) @@ -460,13 +461,13 @@ def pio_init(self) -> int: if result.returncode == 0: # PlatformIO returns 0 even on some errors (e.g. no '--board' argument) if 'error' in result.stdout.lower(): - self.logger.error(result.stdout) + self.logger.error(result.stdout, 'from_subprocess') raise Exception(error_msg) self.logger.debug(result.stdout, 'from_subprocess') self.logger.info("successful PlatformIO project initialization") return result.returncode else: - self.logger.error(result.stdout) + self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result.stdout}", 'from_subprocess') raise Exception(error_msg) @@ -481,8 +482,7 @@ def platformio_ini_config(self) -> configparser.ConfigParser: """ platformio_ini = configparser.ConfigParser(interpolation=None) - if len(platformio_ini.read(self.path.joinpath('platformio.ini'))) == 0: - raise FileNotFoundError('platformio.ini') + platformio_ini.read(self.path.joinpath('platformio.ini').resolve(strict=True)) return platformio_ini @@ -573,6 +573,32 @@ def patch(self) -> None: self.logger.info("project has been patched") + def build(self) -> int: + """ + Initiate a build of the PlatformIO project by the PlatformIO ('run' command). PlatformIO prints warning and + error messages by itself to the STDERR so there is no need to catch it and output by us + + Returns: + passes a return code of the PlatformIO + """ + + self.logger.info("starting PlatformIO project build...") + + command_arr = [self.config.get('app', 'platformio_cmd'), 'run', '-d', str(self.path)] + if not self.logger.isEnabledFor(logging.DEBUG): + command_arr.append('--silent') + + log_level = logging.DEBUG if self.logger.isEnabledFor(logging.DEBUG) else logging.WARNING + with stm32pio.util.LogPipe(self.logger, log_level) as log: + result = subprocess.run(command_arr, stdout=log.pipe, stderr=log.pipe) + + if result.returncode == 0: + self.logger.info("successful PlatformIO build") + else: + self.logger.error("PlatformIO build error") + return result.returncode + + def start_editor(self, editor_command: str) -> int: """ Start the editor specified by 'editor_command' with the project opened (assuming that @@ -602,32 +628,6 @@ def start_editor(self, editor_command: str) -> int: return e.returncode - def build(self) -> int: - """ - Initiate a build of the PlatformIO project by the PlatformIO ('run' command). PlatformIO prints warning and - error messages by itself to the STDERR so there is no need to catch it and output by us - - Returns: - passes a return code of the PlatformIO - """ - - self.logger.info("starting PlatformIO project build...") - - command_arr = [self.config.get('app', 'platformio_cmd'), 'run', '-d', str(self.path)] - if not self.logger.isEnabledFor(logging.DEBUG): - command_arr.append('--silent') - - log_level = logging.DEBUG if self.logger.isEnabledFor(logging.DEBUG) else logging.WARNING - with stm32pio.util.LogPipe(self.logger, log_level) as log: - result = subprocess.run(command_arr, stdout=log.pipe, stderr=log.pipe) - - if result.returncode == 0: - self.logger.info("successful PlatformIO build") - else: - self.logger.error("PlatformIO build error") - return result.returncode - - def clean(self) -> None: """ Clean-up the project folder preserving only an '.ioc' file diff --git a/stm32pio/util.py b/stm32pio/util.py index d253168..e76ad33 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -25,13 +25,13 @@ def log_record_factory(*log_record_args, **log_record_kwargs): """ Replace the default factory of logging.LogRecord's instances so we can handle our special logging flags """ - args_idx = 5 # index of 'args' argument in the positional arguments list + ARGS_IDX = 5 # index of 'args' argument in the positional arguments list - if 'from_subprocess' in log_record_args[args_idx]: + if 'from_subprocess' in log_record_args[ARGS_IDX]: # Remove our custom flag from the tuple (it is inside a tuple that is inside a list) - new_log_record_args = log_record_args[:args_idx] + \ - (tuple(arg for arg in log_record_args[args_idx] if arg != 'from_subprocess'),) + \ - log_record_args[args_idx + 1:] + new_log_record_args = log_record_args[:ARGS_IDX] + \ + (tuple(arg for arg in log_record_args[ARGS_IDX] if arg != 'from_subprocess'),) + \ + log_record_args[ARGS_IDX + 1:] # Construct an ordinary LogRecord and append our flag as an attribute record = default_log_record_factory(*new_log_record_args, **log_record_kwargs) record.from_subprocess = True diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index d071033..39ae4e4 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -227,6 +227,15 @@ def fromStartup(self) -> bool: """Is this project is here from the beginning of the app life?""" return self._from_startup + @Property('QVariant') + def config(self) -> dict: + """Inner project's ConfigParser config converted to the dictionary (QML JS object)""" + return { + section: { + key: value for (key, value) in self.project.config.items(section) + } if self.project is not None else {} for section in ['app', 'project'] + } + @Property(str, notify=nameChanged) def name(self) -> str: """Human-readable name of the project. Will evaluate to the absolute path if it cannot be instantiated""" @@ -642,10 +651,10 @@ def verbose_setter(value): # module_logger.debug(f"{key}: {settings.value(key)} (type: {type(settings.value(key))})") settings.beginGroup('app') - projects_paths = [] + restored_projects_paths = [] for index in range(settings.beginReadArray('projects')): settings.setArrayIndex(index) - projects_paths.append(settings.value('path')) + restored_projects_paths.append(settings.value('path')) settings.endArray() settings.endGroup() @@ -656,7 +665,6 @@ def verbose_setter(value): qmlRegisterType(Settings, 'Settings', 1, 0, 'Settings') projects_model = ProjectsList(parent=engine) - boards = [] boards_model = QStringListModel(parent=engine) engine.rootContext().setContextProperty('appVersion', stm32pio.app.__version__) @@ -682,15 +690,15 @@ def verbose_setter(value): # start-up operations here if there will be need to. Use the same Worker to spawn the thread at pool. def loading(): - nonlocal boards boards = ['None'] + stm32pio.util.get_platformio_boards('platformio') + boards_model.setStringList(boards) def loaded(_, success): - boards_model.setStringList(boards) - projects = [ProjectListItem(project_args=[path], from_startup=True, parent=projects_model) for path in projects_paths] - for p in projects: - projects_model.addProject(p) - main_window.backendLoaded.emit() # inform the GUI + # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread + for path in restored_projects_paths: + projects_model.addProject(ProjectListItem(project_args=[path], from_startup=True, parent=projects_model)) + + main_window.backendLoaded.emit(success) # inform the GUI loader = Worker(loading, logger=module_logger) loader.finished.connect(loaded) diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 1df3e05..9fab40a 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -24,8 +24,19 @@ ApplicationWindow { /* Notify the front about the end of an initial loading */ - signal backendLoaded() - onBackendLoaded: loadingOverlay.close() + signal backendLoaded(bool success) + onBackendLoaded: { + loadingOverlay.close(); + if (!success) { + backendLoadingErrorDialog.open(); + } + } + Dialogs.MessageDialog { + id: backendLoadingErrorDialog + title: 'Warning' + text: "There was an error during the initialization of the Python backend. Please see the terminal output for more details" + icon: Dialogs.StandardIcon.Warning + } Popup { id: loadingOverlay visible: true @@ -179,6 +190,10 @@ ApplicationWindow { function removeCurrentProject() { const indexToRemove = projectsListView.currentIndex; indexToRemove === 0 ? projectsListView.incrementCurrentIndex() : projectsListView.decrementCurrentIndex(); + + // Need to manually unload the dynamic component to prevent annoying "TypeError: Cannot read property 'XXX' of null" messages + projectsWorkspaceView.children[indexToRemove].sourceComponent = undefined; + projectsModel.removeProject(indexToRemove); } @@ -327,6 +342,10 @@ ApplicationWindow { projectCurrentStage.color = 'black'; runningOrFinished.visible = false; } + } else { + if (Qt.colorEqual(projectCurrentStage.color, 'black')) { + projectCurrentStage.color = 'darkgray'; + } } } } @@ -459,553 +478,556 @@ ApplicationWindow { Repeater { // Use similar to ListView pattern (same projects model, Loader component) model: projectsModel - delegate: Component { - Loader { - property int projectIndex: index // binding so will be automatically updated on change - onLoaded: setInitInfo(index) - /* - Use another one StackLayout to separate Project initialization "screen" and Main one - */ - sourceComponent: StackLayout { - id: mainOrInitScreen - currentIndex: -1 // at widget creation we do not show main nor init screen + delegate: Loader { + property int projectIndex: index // binding so will be automatically updated on change + onLoaded: setInitInfo(index) + /* + Use another one StackLayout to separate Project initialization "screen" and Main one + */ + sourceComponent: StackLayout { + id: mainOrInitScreen + currentIndex: -1 // at widget creation we do not show main nor init screen - Layout.fillWidth: true - Layout.fillHeight: true + Layout.fillWidth: true + Layout.fillHeight: true - readonly property ProjectListItem project: projectsModel.get(index) + readonly property ProjectListItem project: projectsModel.get(index) - /* - State retrieving procedure is relatively expensive (many IO operations) so we optimize it by getting the state - only in certain situations (see Component.onCompleted below) and caching a value in the local varible. Then, all - widgets can pick up this value as many times as they want while not abusing the real property getter. Such a subscription - can be established by the creation of a local reference to the cache and listening to the change event like this: - - property var stateCachedNotifier: stateCached - onStateCachedNotifierChanged: { - // use stateCached there - } - */ - signal handleState() - property var stateCached: ({}) - onHandleState: { - if (mainWindow.active && // the app got foreground - projectIndex === projectsWorkspaceView.currentIndex && // only for the current list item - !projectIncorrectDialog.visible && // on macOS, there is an animation effect so this property isn't updated - // immediately and the state can be retrieved several times and some flaws - // may appear. Workaround - is to have a dedicated flag and update it - // manually but this isn't very elegant solution - project.currentAction === '' - ) { - const state = project.state; - stateCached = state; + /* + State retrieving procedure is relatively expensive (many IO operations) so we optimize it by getting the state + only in certain situations (see Component.onCompleted below) and caching a value in the local varible. Then, all + widgets can pick up this value as many times as they want while not abusing the real property getter. Such a subscription + can be established by the creation of a local reference to the cache and listening to the change event like this: - project.stageChanged(); // side-effect: update the stage at the same time + property var stateCachedNotifier: stateCached + onStateCachedNotifierChanged: { + // use stateCached there } + */ + signal handleState() + property var stateCached: ({}) + onHandleState: { + if (mainWindow.active && // the app got foreground + projectIndex === projectsWorkspaceView.currentIndex && // only for the current list item + !projectIncorrectDialog.visible && // on macOS, there is an animation effect so this property isn't updated + // immediately and the state can be retrieved several times and some flaws + // may appear. Workaround - is to have a dedicated flag and update it + // manually but this isn't very elegant solution + project.currentAction === '' + ) { + const state = project.state; + stateCached = state; + + project.stageChanged(); // side-effect: update the stage at the same time } - Component.onCompleted: { - // Several events lead to a single handler - project.stateChanged.connect(handleState); // the model has notified about the change - projectsWorkspaceView.currentIndexChanged.connect(handleState); // the project was selected in the list - mainWindow.activeChanged.connect(handleState); // the app window has got (or lost, filter in the handler) the focus - } + } + Component.onCompleted: { + // Several events lead to a single handler + project.stateChanged.connect(handleState); // the model has notified about the change + projectsWorkspaceView.currentIndexChanged.connect(handleState); // the project was selected in the list + mainWindow.activeChanged.connect(handleState); // the app window has got (or lost, filter in the handler) the focus + } - Connections { - target: project - // Currently, this event is equivalent to the complete initialization of the backend side of the project - onNameChanged: { - const state = project.state; - const completedStages = Object.keys(state).filter(stateName => state[stateName]); - if (completedStages.length === 1 && completedStages[0] === 'EMPTY') { - setupScreenLoader.active = true; - mainOrInitScreen.currentIndex = 0; // show init dialog - } else { - mainOrInitScreen.currentIndex = 1; // show main view + Connections { + target: project + // Currently, this event is equivalent to the complete initialization of the backend side of the project + onNameChanged: { + const state = project.state; + const completedStages = Object.keys(state).filter(stateName => state[stateName]); + if (completedStages.length === 1 && completedStages[0] === 'EMPTY') { + setupScreenLoader.active = true; + mainOrInitScreen.currentIndex = 0; // show init dialog + } else { + const config = project.config; + if (Object.keys(config['project']).length && !config['project']['board']) { + project.logAdded('WARNING STM32 PlatformIO board is not specified, it will be needed on PlatformIO ' + + 'project creation. You can set it in "stm32pio.ini" file in the project directory', + Logging.WARNING); } + mainOrInitScreen.currentIndex = 1; // show main view } } + } - // property bool projectIncorrectDialogIsOpen: false - Dialogs.MessageDialog { - id: projectIncorrectDialog - visible: Object.keys(stateCached).length && [ - 'LOADING', // ignore transitional state - 'INIT_ERROR', // we have another view for this state, skip - 'EMPTY' // true if .ioc file is present, false otherwise - ].every(key => !stateCached[key]) - text: `The project was modified outside of the stm32pio and .ioc file is no longer present.
- The project will be removed from the app. It will not affect any real content` - icon: Dialogs.StandardIcon.Critical - onAccepted: removeCurrentProject() - } + Dialogs.MessageDialog { + id: projectIncorrectDialog + visible: Object.keys(stateCached).length && [ + 'LOADING', // ignore transitional state + 'INIT_ERROR', // we have another view for this state, skip + 'EMPTY' // true if .ioc file is present, false otherwise + ].every(key => !stateCached[key]) + text: `The project was modified outside of the stm32pio and .ioc file is no longer present.
+ The project will be removed from the app. It will not affect any real content` + icon: Dialogs.StandardIcon.Warning + onAccepted: removeCurrentProject() + } - /* - Index: 0. Project initialization "screen" + /* + Index: 0. Project initialization "screen" - Prompt a user to perform initial setup - */ - Loader { - id: setupScreenLoader - active: false - sourceComponent: Column { - Text { - text: "To complete initialization you can provide the PlatformIO name of the board" - padding: 10 - } - Row { - padding: 10 - spacing: 10 - ComboBox { - id: board - width: 200 - editable: true - model: boardsModel // backend-side (simple string model) - textRole: 'display' - onAccepted: focus = false - onActivated: focus = false - onFocusChanged: { - if (focus) { - selectAll(); - } else { - if (find(editText) === -1) { - editText = textAt(0); // should be 'None' at index 0 - } + Prompt a user to perform initial setup + */ + Loader { + id: setupScreenLoader + active: false + sourceComponent: Column { + Text { + text: "To complete initialization you can provide the PlatformIO name of the board" + padding: 10 + } + Row { + padding: 10 + spacing: 10 + ComboBox { + id: board + width: 200 + editable: true + model: boardsModel // backend-side (simple string model) + textRole: 'display' + onAccepted: focus = false + onActivated: focus = false + onFocusChanged: { + if (focus) { + selectAll(); + } else { + if (find(editText) === -1) { + editText = textAt(0); // should be 'None' at index 0 } } } - /* - Trigger full run - */ - CheckBox { - id: runCheckBox - text: 'Run' - enabled: false - ToolTip { - visible: runCheckBox.hovered // not working on Linux (Manjaro LXQt) - Component.onCompleted: { - // Form the tool tip text using action names - const actions = []; - for (let i = projActionsModel.statefulActionsStartIndex; i < projActionsModel.count; ++i) { - actions.push(`${projActionsModel.get(i).name}`); - } - text = `Do: ${actions.join(' → ')}`; + } + /* + Trigger full run + */ + CheckBox { + id: runCheckBox + text: 'Run' + enabled: false + ToolTip { + visible: runCheckBox.hovered // not working on Linux (Manjaro LXQt) + Component.onCompleted: { + // Form the tool tip text using action names + const actions = []; + for (let i = projActionsModel.statefulActionsStartIndex; i < projActionsModel.count; ++i) { + actions.push(`${projActionsModel.get(i).name}`); } + text = `Do: ${actions.join(' → ')}`; } - Connections { - target: board - onFocusChanged: { - if (!board.focus) { - if (board.editText === board.textAt(0)) { // should be 'None' at index 0 - runCheckBox.checked = false; - runCheckBox.enabled = false; - } else { - runCheckBox.enabled = true; - } + } + Connections { + target: board + onFocusChanged: { + if (!board.focus) { + if (board.editText === board.textAt(0)) { // should be 'None' at index 0 + runCheckBox.checked = false; + runCheckBox.enabled = false; + } else { + runCheckBox.enabled = true; } } } } - CheckBox { - id: openEditor - text: 'Open editor' - ToolTip { - text: "Start the editor specified in the Settings after the completion" - visible: openEditor.hovered // not working on Linux (Manjaro LXQt) - } + } + CheckBox { + id: openEditor + text: 'Open editor' + ToolTip { + text: "Start the editor specified in the Settings after the completion" + visible: openEditor.hovered // not working on Linux (Manjaro LXQt) } } - Button { - text: 'OK' - topInset: 15 - leftInset: 10 - topPadding: 20 - leftPadding: 18 - onClicked: { - // All 'run' operations will be queued by the backend - project.run('save_config', [{ - 'project': { - 'board': board.editText === board.textAt(0) ? '' : board.editText - } - }]); - if (board.editText === board.textAt(0)) { - project.logAdded('WARNING STM32 PlatformIO board is not specified, it will be needed on PlatformIO ' + - 'project creation. You can set it in "stm32pio.ini" file in the project directory', - Logging.WARNING); - } - - if (runCheckBox.checked) { - for (let i = projActionsModel.statefulActionsStartIndex + 1; i < projActionsModel.count; ++i) { - project.run(projActionsModel.get(i).action, []); - } + } + Button { + text: 'OK' + topInset: 15 + leftInset: 10 + topPadding: 20 + leftPadding: 18 + onClicked: { + // All 'run' operations will be queued by the backend + project.run('save_config', [{ + 'project': { + 'board': board.editText === board.textAt(0) ? '' : board.editText } + }]); + if (board.editText === board.textAt(0)) { + project.logAdded('WARNING STM32 PlatformIO board is not specified, it will be needed on PlatformIO ' + + 'project creation. You can set it in "stm32pio.ini" file in the project directory', + Logging.WARNING); + } - if (openEditor.checked) { - project.run('start_editor', [settings.get('editor')]); + if (runCheckBox.checked) { + for (let i = projActionsModel.statefulActionsStartIndex + 1; i < projActionsModel.count; ++i) { + project.run(projActionsModel.get(i).action, []); } + } - mainOrInitScreen.currentIndex = 1; // go to main screen - setupScreenLoader.sourceComponent = undefined; // destroy init screen + if (openEditor.checked) { + project.run('start_editor', [settings.get('editor')]); } + + mainOrInitScreen.currentIndex = 1; // go to main screen + setupScreenLoader.sourceComponent = undefined; // destroy init screen } } } + } + + /* + Index: 1. Main "screen" + */ + ColumnLayout { + Layout.fillWidth: true + Layout.fillHeight: true + + /* + Show this or action buttons + */ + Text { + id: initErrorMessage + visible: stateCached['INIT_ERROR'] ? true : false // explicitly convert to boolean + padding: 10 + text: "The project cannot be initialized" + color: 'indianred' + } /* - Index: 1. Main "screen" + The core widget - a group of buttons mapping all main actions that can be performed on the given project. + They also serve the project state displaying - each button indicates a stage associated with it: + - green (and green glow): done + - yellow: in progress right now + - red glow: an error has occured during the last execution */ - ColumnLayout { + RowLayout { + id: projActionsRow + visible: stateCached['INIT_ERROR'] ? false : true Layout.fillWidth: true - Layout.fillHeight: true - - /* - Show this or action buttons - */ - Text { - id: initErrorMessage - visible: stateCached['INIT_ERROR'] ? true : false // explicitly convert to boolean - padding: 10 - text: "The project cannot be initialized" - color: 'indianred' - } - - /* - The core widget - a group of buttons mapping all main actions that can be performed on the given project. - They also serve the project state displaying - each button indicates a stage associated with it: - - green (and green glow): done - - yellow: in progress right now - - red glow: an error has occured during the last execution - */ - RowLayout { - id: projActionsRow - visible: stateCached['INIT_ERROR'] ? false : true - Layout.fillWidth: true - Layout.bottomMargin: 7 - z: 1 // for the glowing animation - Repeater { - model: ListModel { - id: projActionsModel - readonly property int statefulActionsStartIndex: 2 - ListElement { - name: 'Clean' - action: 'clean' - tooltip: "WARNING: this will delete ALL content of the project folder \ - except the current .ioc file and clear all logs" - } - ListElement { - name: 'Open editor' - action: 'start_editor' - margin: 15 // margin to visually separate first 2 actions as they don't represent any stage - } - ListElement { - name: 'Initialize' - stageRepresented: 'INITIALIZED' // the project stage this button is representing - action: 'save_config' - } - ListElement { - name: 'Generate' - stageRepresented: 'GENERATED' - action: 'generate_code' - } - ListElement { - name: 'Init PlatformIO' - stageRepresented: 'PIO_INITIALIZED' - action: 'pio_init' - } - ListElement { - name: 'Patch' - stageRepresented: 'PATCHED' - action: 'patch' - } - ListElement { - name: 'Build' - stageRepresented: 'BUILT' - action: 'build' - } + Layout.bottomMargin: 7 + z: 1 // for the glowing animation + Repeater { + model: ListModel { + id: projActionsModel + readonly property int statefulActionsStartIndex: 2 + ListElement { + name: 'Clean' + action: 'clean' + tooltip: "WARNING: this will delete ALL content of the project folder \ + except the current .ioc file and clear all logs" + } + ListElement { + name: 'Open editor' + action: 'start_editor' + margin: 15 // margin to visually separate first 2 actions as they don't represent any stage + } + ListElement { + name: 'Initialize' + stageRepresented: 'INITIALIZED' // the project stage this button is representing + action: 'save_config' } - delegate: Button { - text: model.name - Layout.rightMargin: model.margin - property bool shouldBeHighlighted: false // highlight on mouse over - property bool shouldBeHighlightedWhileRunning: false // distinguish actions picked out for the batch run - property int buttonIndex: -1 + ListElement { + name: 'Generate' + stageRepresented: 'GENERATED' + action: 'generate_code' + } + ListElement { + name: 'Init PlatformIO' + stageRepresented: 'PIO_INITIALIZED' + action: 'pio_init' + } + ListElement { + name: 'Patch' + stageRepresented: 'PATCHED' + action: 'patch' + } + ListElement { + name: 'Build' + stageRepresented: 'BUILT' + action: 'build' + } + } + delegate: Button { + text: model.name + Layout.rightMargin: model.margin + property bool shouldBeHighlighted: false // highlight on mouse over + property bool shouldBeHighlightedWhileRunning: false // distinguish actions picked out for the batch run + property int buttonIndex: -1 + Component.onCompleted: { + buttonIndex = index; + background.border.color = 'dimgray'; + } + ToolTip { + visible: mouseArea.containsMouse Component.onCompleted: { - buttonIndex = index; - background.border.color = 'dimgray'; - } - ToolTip { - visible: mouseArea.containsMouse - Component.onCompleted: { - if (model.tooltip) { - text = model.tooltip; - } else { - this.destroy(); - } + if (model.tooltip) { + text = model.tooltip; + } else { + this.destroy(); } } - onClicked: { - // JS array cannot be attached to a ListElement (at least in a non-hacky manner) so we fill arguments here - const args = []; - switch (model.action) { - case 'start_editor': - args.push(settings.get('editor')); - break; - case 'clean': - log.clear(); - break; - default: - break; - } - project.run(model.action, args); + } + onClicked: { + // JS array cannot be attached to a ListElement (at least in a non-hacky manner) so we fill arguments here + const args = []; + switch (model.action) { + case 'start_editor': + args.push(settings.get('editor')); + break; + case 'clean': + log.clear(); + break; + default: + break; } - /* - As the button reflects relatively complex logic it's easier to maintain using the state machine technique. - We define states and allowed transitions between them, all other stuff is managed by the DSM framework. - You can find the graphical diagram somewhere in the docs - */ - DSM.StateMachine { - initialState: main // start position - running: true // run immediately - DSM.State { - id: main - initialState: normal - DSM.SignalTransition { - targetState: disabled - signal: project.actionStarted - } - DSM.SignalTransition { - targetState: highlighted - signal: shouldBeHighlightedChanged - guard: shouldBeHighlighted // go only if... - } - onEntered: { - enabled = true; - palette.buttonText = 'black'; - } - DSM.State { - id: normal - DSM.SignalTransition { - targetState: stageFulfilled - signal: stateCachedChanged - guard: stateCached[model.stageRepresented] ? true : false // explicitly convert to boolean - } - onEntered: { - palette.button = 'lightgray'; - } - } - DSM.State { - id: stageFulfilled - DSM.SignalTransition { - targetState: normal - signal: stateCachedChanged - guard: stateCached[model.stageRepresented] ? false : true - } - onEntered: { - palette.button = 'lightgreen'; - } - } - DSM.HistoryState { - id: mainHistory - defaultState: normal - } + project.run(model.action, args); + } + /* + As the button reflects relatively complex logic it's easier to maintain using the state machine technique. + We define states and allowed transitions between them, all other stuff is managed by the DSM framework. + You can find the graphical diagram somewhere in the docs + */ + DSM.StateMachine { + initialState: main // start position + running: true // run immediately + DSM.State { + id: main + initialState: normal + DSM.SignalTransition { + targetState: disabled + signal: project.actionStarted + } + DSM.SignalTransition { + targetState: highlighted + signal: shouldBeHighlightedChanged + guard: shouldBeHighlighted // go only if... + } + onEntered: { + enabled = true; + palette.buttonText = 'black'; } DSM.State { - // Activates/deactivates additional properties (such as color or border) on some conditions - // (e.g. some action is currently running), see onEntered, onExited - id: disabled + id: normal DSM.SignalTransition { - targetState: mainHistory - signal: project.actionFinished + targetState: stageFulfilled + signal: stateCachedChanged + guard: stateCached[model.stageRepresented] ? true : false // explicitly convert to boolean } onEntered: { - enabled = false; - palette.buttonText = 'darkgray'; - if (project.currentAction === model.action) { - palette.button = 'gold'; - } - if (shouldBeHighlightedWhileRunning) { - background.border.width = 2; - } - } - onExited: { - // Erase highlighting if this action is last in the series or at all - if (project.currentAction === model.action && - shouldBeHighlightedWhileRunning && - (buttonIndex === (projActionsModel.count - 1) || - projActionsRow.children[buttonIndex + 1].shouldBeHighlightedWhileRunning === false) - ) { - for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { - projActionsRow.children[i].shouldBeHighlightedWhileRunning = false; - projActionsRow.children[i].background.border.width = 0; - } - } + palette.button = 'lightgray'; } } DSM.State { - id: highlighted + id: stageFulfilled DSM.SignalTransition { - targetState: mainHistory - signal: shouldBeHighlightedChanged - guard: !shouldBeHighlighted + targetState: normal + signal: stateCachedChanged + guard: stateCached[model.stageRepresented] ? false : true } onEntered: { - palette.button = Qt.lighter('lightgreen', 1.2); - palette.buttonText = 'dimgray'; + palette.button = 'lightgreen'; } } + DSM.HistoryState { + id: mainHistory + defaultState: normal + } } - /* - Detect modifier keys using overlayed MouseArea: - - Ctrl (Cmd): start the editor after the action(s) - - Shift: batch actions run - */ - MouseArea { - id: mouseArea - anchors.fill: parent - hoverEnabled: true - property bool ctrlPressed: false - property bool ctrlPressedLastState: false - property bool shiftPressed: false - property bool shiftPressedLastState: false - function shiftHandler() { - // manage the appearance of all [stateful] buttons prior this one - for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { - projActionsRow.children[i].shouldBeHighlighted = shiftPressed; + DSM.State { + // Activates/deactivates additional properties (such as color or border) on some conditions + // (e.g. some action is currently running), see onEntered, onExited + id: disabled + DSM.SignalTransition { + targetState: mainHistory + signal: project.actionFinished + } + onEntered: { + enabled = false; + palette.buttonText = 'darkgray'; + if (project.currentAction === model.action) { + palette.button = 'gold'; + } + if (shouldBeHighlightedWhileRunning) { + background.border.width = 2; } } - onClicked: { - if (shiftPressed && buttonIndex >= projActionsModel.statefulActionsStartIndex) { + onExited: { + // Erase highlighting if this action is last in the series or at all + if (project.currentAction === model.action && + shouldBeHighlightedWhileRunning && + (buttonIndex === (projActionsModel.count - 1) || + projActionsRow.children[buttonIndex + 1].shouldBeHighlightedWhileRunning === false) + ) { for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { - projActionsRow.children[i].shouldBeHighlighted = false; - projActionsRow.children[i].shouldBeHighlightedWhileRunning = true; + projActionsRow.children[i].shouldBeHighlightedWhileRunning = false; + projActionsRow.children[i].background.border.width = 0; } - for (let i = projActionsModel.statefulActionsStartIndex; i < buttonIndex; ++i) { - project.run(projActionsModel.get(i).action, []); - } - } - parent.clicked(); // pass the event to the underlying button though all work can be done in-place - if (ctrlPressed && model.action !== 'start_editor') { - project.run('start_editor', [settings.get('editor')]); } } - onPositionChanged: { - ctrlPressed = mouse.modifiers & Qt.ControlModifier; // bitwise AND - if (ctrlPressedLastState !== ctrlPressed) { - ctrlPressedLastState = ctrlPressed; - } - - shiftPressed = mouse.modifiers & Qt.ShiftModifier; // bitwise AND - if (shiftPressedLastState !== shiftPressed) { // reduce a number of unnecessary shiftHandler() calls - shiftPressedLastState = shiftPressed; - shiftHandler(); - } + } + DSM.State { + id: highlighted + DSM.SignalTransition { + targetState: mainHistory + signal: shouldBeHighlightedChanged + guard: !shouldBeHighlighted } onEntered: { - if (model.action !== 'start_editor') { - let preparedText = `Ctrl-click to open the editor specified in the Settings - after the operation`; - if (buttonIndex >= projActionsModel.statefulActionsStartIndex) { - preparedText += - `, Shift-click to perform all actions prior this one (including). - Ctrl-Shift-click for both`; - } - statusBar.text = preparedText; - } + palette.button = Qt.lighter('lightgreen', 1.2); + palette.buttonText = 'dimgray'; } - onExited: { - statusBar.text = ''; - - ctrlPressed = false; - ctrlPressedLastState = false; - - if (shiftPressed || shiftPressedLastState) { - shiftPressed = false; - shiftPressedLastState = false; - shiftHandler(); + } + } + /* + Detect modifier keys using overlayed MouseArea: + - Ctrl (Cmd): start the editor after the action(s) + - Shift: batch actions run + */ + MouseArea { + id: mouseArea + anchors.fill: parent + hoverEnabled: true + property bool ctrlPressed: false + property bool ctrlPressedLastState: false + property bool shiftPressed: false + property bool shiftPressedLastState: false + function shiftHandler() { + // manage the appearance of all [stateful] buttons prior this one + for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { + projActionsRow.children[i].shouldBeHighlighted = shiftPressed; + } + } + onClicked: { + if (shiftPressed && buttonIndex >= projActionsModel.statefulActionsStartIndex) { + for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { + projActionsRow.children[i].shouldBeHighlighted = false; + projActionsRow.children[i].shouldBeHighlightedWhileRunning = true; + } + for (let i = projActionsModel.statefulActionsStartIndex; i < buttonIndex; ++i) { + project.run(projActionsModel.get(i).action, []); } } + parent.clicked(); // pass the event to the underlying button though all work can be done in-place + if (ctrlPressed && model.action !== 'start_editor') { + project.run('start_editor', [settings.get('editor')]); + } } - Connections { - target: project - onActionStarted: { - glow.visible = false; + onPositionChanged: { + ctrlPressed = mouse.modifiers & Qt.ControlModifier; // bitwise AND + if (ctrlPressedLastState !== ctrlPressed) { + ctrlPressedLastState = ctrlPressed; } - onActionFinished: { - if (action === model.action) { - if (success) { - glow.color = 'lightgreen'; - } else { - glow.color = 'lightcoral'; - } - glow.visible = true; - if (settings.get('notifications') && !mainWindow.active) { - sysTrayIcon.showMessage( - success ? 'Success' : 'Error', // title - `${project.name} - ${model.name}`, // text - success ? Labs.SystemTrayIcon.Information : Labs.SystemTrayIcon.Warning, // icon - 5000 // ms - ); - } + shiftPressed = mouse.modifiers & Qt.ShiftModifier; // bitwise AND + if (shiftPressedLastState !== shiftPressed) { // reduce a number of unnecessary shiftHandler() calls + shiftPressedLastState = shiftPressed; + shiftHandler(); + } + } + onEntered: { + if (model.action !== 'start_editor') { + let preparedText = `Ctrl-click to open the editor specified in the Settings + after the operation`; + if (buttonIndex >= projActionsModel.statefulActionsStartIndex) { + preparedText += + `, Shift-click to perform all actions prior this one (including). + Ctrl-Shift-click for both`; } + statusBar.text = preparedText; } } - /* - Blinky glowing - */ - RectangularGlow { - id: glow - visible: false - anchors.fill: parent - cornerRadius: 25 - glowRadius: 20 - spread: 0.25 - onVisibleChanged: visible ? glowAnimation.start() : glowAnimation.complete() - SequentialAnimation { - id: glowAnimation - loops: 3 - onStopped: glow.visible = false - OpacityAnimator { - target: glow - from: 0 - to: 1 - duration: 1000 + onExited: { + statusBar.text = ''; + + ctrlPressed = false; + ctrlPressedLastState = false; + + if (shiftPressed || shiftPressedLastState) { + shiftPressed = false; + shiftPressedLastState = false; + shiftHandler(); + } + } + } + Connections { + target: project + onActionStarted: { + glow.visible = false; + } + onActionFinished: { + if (action === model.action) { + if (success) { + glow.color = 'lightgreen'; + } else { + glow.color = 'lightcoral'; } - OpacityAnimator { - target: glow - from: 1 - to: 0 - duration: 1000 + glow.visible = true; + + if (settings.get('notifications') && !mainWindow.active) { + sysTrayIcon.showMessage( + success ? 'Success' : 'Error', // title + `${project.name} - ${model.name}`, // text + success ? Labs.SystemTrayIcon.Information : Labs.SystemTrayIcon.Warning, // icon + 5000 // ms + ); } } } } + /* + Blinky glowing + */ + RectangularGlow { + id: glow + visible: false + anchors.fill: parent + cornerRadius: 25 + glowRadius: 20 + spread: 0.25 + onVisibleChanged: visible ? glowAnimation.start() : glowAnimation.complete() + SequentialAnimation { + id: glowAnimation + loops: 3 + onStopped: glow.visible = false + OpacityAnimator { + target: glow + from: 0 + to: 1 + duration: 1000 + } + OpacityAnimator { + target: glow + from: 1 + to: 0 + duration: 1000 + } + } + } } } + } - Rectangle { - Layout.fillWidth: true - Layout.fillHeight: true + Rectangle { + Layout.fillWidth: true + Layout.fillHeight: true - ScrollView { - anchors.fill: parent - TextArea { - id: log - readOnly: true - selectByMouse: true - wrapMode: Text.WordWrap - font.pointSize: 10 // different on different platforms, Qt's bug - font.weight: Font.DemiBold - textFormat: TextEdit.RichText - Connections { - target: project - onLogAdded: { - if (level === Logging.WARNING) { - log.append('

' + message + '
'); - } else if (level >= Logging.ERROR) { - log.append('
' + message + '
'); - } else { - log.append('
' + message + '
'); - } + ScrollView { + anchors.fill: parent + TextArea { + id: log + readOnly: true + selectByMouse: true + wrapMode: Text.WordWrap + font.pointSize: 10 // different on different platforms, Qt's bug + font.weight: Font.DemiBold + textFormat: TextEdit.RichText + Connections { + target: project + onLogAdded: { + if (level === Logging.WARNING) { + log.append('
' + message + '
'); + } else if (level >= Logging.ERROR) { + log.append('
' + message + '
'); + } else { + log.append('
' + message + '
'); } } } From df6b4a089cbc469c71da284f45875b3c2eb8dbed Mon Sep 17 00:00:00 2001 From: ussserrr Date: Thu, 30 Apr 2020 00:50:14 +0300 Subject: [PATCH 06/13] logging redesigned --- TODO.md | 16 ++++-- stm32pio/app.py | 86 ++++++++++++++-------------- stm32pio/lib.py | 59 +++++++++++-------- stm32pio/settings.py | 2 + stm32pio/util.py | 129 ++++++++++++++++++++++++++++-------------- stm32pio_gui/app.py | 121 +++++++++++++++++++-------------------- stm32pio_gui/main.qml | 90 +++++++++++++++-------------- 7 files changed, 287 insertions(+), 216 deletions(-) diff --git a/TODO.md b/TODO.md index a68075a..c4611cb 100644 --- a/TODO.md +++ b/TODO.md @@ -8,12 +8,13 @@ - [ ] Create VSCode plugin - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI + - [ ] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function ## GUI version - [ ] Obtain boards on demand (not at the startup) - [x] Expose version to the About dialog - [x] Handle a theoretical initialization error (when boards are receiving) - - [ ] Maybe `data()` `QAbstractListModel` method can be used instead of custom `get()` + - [x] Maybe `data()` `QAbstractListModel` method can be used instead of custom `get()` (no, at least without any tweaking (`QModelIndex` vs `int`)) - [ ] Can probably detect Ctrl and Shift clicks without moving the mouse first - [x] Notify the user that the 'board' parameter is empty - [ ] Mac: sometimes auto turned off shift highlighting after action (hide-restore helps) @@ -31,14 +32,14 @@ - [ ] Divide on multiple modules (both Python and QML) - [ ] Implement other methods for Qt abstract models - [ ] Warning on 'Clean' action (maybe the window with a checkbox "Do not ask in the future" (QSettings parameter)) - - [ ] 2 types of logging formatters for 2 verbosity levels + - [x] 2 types of logging formatters for 2 verbosity levels - [x] `TypeError: Cannot read property 'actionRunning' of null` (deconstruction order) (on project deletion only) - [ ] QML logging - pass to Python' `logging` and establish a similar format. Distinguish between `console.log()`, `console.error()` and so on - [ ] Lost log box autoscroll when manually scrolling between the actions - [ ] Crash on shutdown in Win and Linux (errors such as `[QML] CRITICAL QThread: Destroyed while thread is still running Process finished with exit code 1073741845`) - [ ] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - [ ] Linux: - - Not a monospace font in the log area + - Not a monospaced font in the log area - [ ] Temporarily pin projects with currently running actions to the top (and stay there on scrolling). See QML Package type ## Core library @@ -55,7 +56,7 @@ - [ ] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) - [ ] Two words about a synchronous nature of the lib and user's responsibility of async wrapping (if needed). Also, maybe migrate to async/await approach in the future - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - - [ ] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also modifies global settings (log message factory)) + - [ ] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) - [ ] Test preserving user files and folders on regeneration and mb other operations - [ ] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode). And, in general, we should show the error reason right off @@ -67,5 +68,10 @@ - [ ] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually - - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini + - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini (shell=True or a list of args) - [ ] cache boards for a small interval of time + - [ ] use warnings.warn() (https://docs.python.org/3/howto/logging.html#logging-basic-tutorial) + - [ ] count another '-v' as '-v' for PlatformIO calls + - [ ] move GUI-related stuff from the `util.py` + - [ ] typing (`Mapping` instead of `dict` and so on) + - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI diff --git a/stm32pio/app.py b/stm32pio/app.py index d804308..2e4c771 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -7,9 +7,18 @@ import logging import pathlib import sys -import traceback from typing import Optional +try: + import stm32pio.settings + import stm32pio.lib + import stm32pio.util +except ModuleNotFoundError: + sys.path.append(str(pathlib.Path(sys.path[0]).parent)) # hack to be able to run the app as 'python app.py' + import stm32pio.settings + import stm32pio.lib + import stm32pio.util + def parse_args(args: list) -> Optional[argparse.Namespace]: """ @@ -22,15 +31,15 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: argparse.Namespace or None if no arguments were given """ - parser = argparse.ArgumentParser(description="Automation of creating and updating STM32CubeMX-PlatformIO projects. " + root_parser = argparse.ArgumentParser(description="Automation of creating and updating STM32CubeMX-PlatformIO projects. " "Requirements: Python 3.6+, STM32CubeMX, Java, PlatformIO CLI. Visit " "https://github.com/ussserrr/stm32pio for more information. Use " "'help' command to take a glimpse on the available functionality") # Global arguments (there is also an automatically added '-h, --help' option) - parser.add_argument('--version', action='version', version=f"stm32pio v{__version__}") - parser.add_argument('-v', '--verbose', help="enable verbose output (default: INFO)", action='count') + root_parser.add_argument('--version', action='version', version=f"stm32pio v{__version__}") + root_parser.add_argument('-v', '--verbose', help="enable verbose output (default: INFO)", action='count', default=0) - subparsers = parser.add_subparsers(dest='subcommand', title='subcommands', description="valid subcommands", + subparsers = root_parser.add_subparsers(dest='subcommand', title='subcommands', description="valid subcommands", help="modes of operation") parser_init = subparsers.add_parser('init', help="create config .ini file so you can tweak parameters before " @@ -42,25 +51,25 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: "except the .ioc file)") # Common subparsers options - for p in [parser_init, parser_new, parser_generate, parser_status, parser_clean]: - p.add_argument('-d', '--directory', dest='project_path', default=pathlib.Path.cwd(), - help="path to the project (current directory, if not given)") - for p in [parser_init, parser_new]: - p.add_argument('-b', '--board', dest='board', default='', help="PlatformIO name of the board") - for p in [parser_init, parser_new, parser_generate]: - p.add_argument('--start-editor', dest='editor', - help="use specified editor to open the PlatformIO project (e.g. subl, code, atom, etc.)") - for p in [parser_new, parser_generate]: - p.add_argument('--with-build', action='store_true', help="build the project after generation") + for parser in [parser_init, parser_new, parser_generate, parser_status, parser_clean]: + parser.add_argument('-d', '--directory', dest='project_path', default=pathlib.Path.cwd(), + help="path to the project (current directory, if not given)") + for parser in [parser_init, parser_new]: + parser.add_argument('-b', '--board', dest='board', default='', help="PlatformIO name of the board") + for parser in [parser_init, parser_new, parser_generate]: + parser.add_argument('--start-editor', dest='editor', + help="use specified editor to open the PlatformIO project (e.g. subl, code, atom, etc.)") + for parser in [parser_new, parser_generate]: + parser.add_argument('--with-build', action='store_true', help="build the project after generation") parser_clean.add_argument('-q', '--quiet', action='store_true', help="suppress the caution about the content removal (be sure of what you are doing!)") if len(args) == 0: - parser.print_help() + root_parser.print_help() return None - return parser.parse_args(args) + return root_parser.parse_args(args) def main(sys_argv: Optional[list] = None) -> int: @@ -80,27 +89,21 @@ def main(sys_argv: Optional[list] = None) -> int: if sys_argv is None: sys_argv = sys.argv[1:] - # Import modules after sys.path modification - import stm32pio.settings - import stm32pio.lib - import stm32pio.util - args = parse_args(sys_argv) - logger = logging.getLogger('stm32pio') # the root (relatively to the possible outer scope) logger instance - handler = logging.StreamHandler() - logger.addHandler(handler) - # Currently only 2 levels of verbosity through the '-v' option are counted (INFO (default) and DEBUG (-v)) - if args is not None and args.subcommand is not None and args.verbose: - logger.setLevel(logging.DEBUG) - handler.setFormatter(stm32pio.util.DispatchingFormatter( - f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s", - special=stm32pio.util.special_formatters)) + if args is not None and args.subcommand is not None: + logger = logging.getLogger('stm32pio') + logger.setLevel(logging.DEBUG if args.verbose else logging.INFO) + handler = logging.StreamHandler() + formatter = stm32pio.util.DispatchingFormatter(verbosity=args.verbose, + general={ + stm32pio.util.verbosity_levels['normal']: logging.Formatter("%(levelname)-8s %(message)s"), + stm32pio.util.verbosity_levels['verbose']: logging.Formatter( + f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") + }) + handler.setFormatter(formatter) + logger.addHandler(handler) logger.debug("debug logging enabled") - elif args is not None and args.subcommand is not None: - logger.setLevel(logging.INFO) - handler.setFormatter(stm32pio.util.DispatchingFormatter("%(levelname)-8s %(message)s", - special=stm32pio.util.special_formatters)) else: print("\nNo arguments were given, exiting...") return 0 @@ -108,8 +111,8 @@ def main(sys_argv: Optional[list] = None) -> int: # Main routine try: if args.subcommand == 'init': - project = stm32pio.lib.Stm32pio(args.project_path, parameters={'project': {'board': args.board}}, - instance_options={'save_on_destruction': True}) + project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, + instance_options={ 'save_on_destruction': True }) if not args.board: logger.warning("STM32 PlatformIO board is not specified, it will be needed on PlatformIO project " "creation") @@ -118,8 +121,8 @@ def main(sys_argv: Optional[list] = None) -> int: project.start_editor(args.editor) elif args.subcommand == 'new': - project = stm32pio.lib.Stm32pio(args.project_path, parameters={'project': {'board': args.board}}, - instance_options={'save_on_destruction': True}) + project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, + instance_options={ 'save_on_destruction': True }) if project.config.get('project', 'board') == '': raise Exception("STM32 PlatformIO board is not specified, it is needed for PlatformIO project creation") project.generate_code() @@ -159,14 +162,11 @@ def main(sys_argv: Optional[list] = None) -> int: # Library is designed to throw the exception in bad cases so we catch here globally except Exception: - # Print format is: "ExceptionName: message" - logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], - exc_info=logger.isEnabledFor(logging.DEBUG)) + stm32pio.util.log_current_exception(logger) return -1 return 0 if __name__ == '__main__': - sys.path.append(str(pathlib.Path(sys.path[0]).parent)) # hack to be able to run the app as 'python app.py' sys.exit(main()) diff --git a/stm32pio/lib.py b/stm32pio/lib.py index daf6331..d60406e 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -92,24 +92,24 @@ def __str__(self): @property def current_stage(self) -> ProjectStage: last_consistent_stage = ProjectStage.UNDEFINED - zero_found = False + not_fulfilled_stage_found = False # Search for a consecutive sequence of True's and find the last of them. For example, if the array is # [1,1,1,0,0,0,0] # ^ # we should consider 2 as the last index - for name, value in self.items(): - if value: - if zero_found: + for stage_name, stage_fulfilled in self.items(): + if stage_fulfilled: + if not_fulfilled_stage_found: # Fall back to the UNDEFINED stage if we have breaks in conditions results array. E.g., for # [1,1,1,0,1,0,0] # we should return UNDEFINED as it doesn't look like a correct set of files actually last_consistent_stage = ProjectStage.UNDEFINED break else: - last_consistent_stage = name + last_consistent_stage = stage_name else: - zero_found = True + not_fulfilled_stage_found = True return last_consistent_stage @@ -148,23 +148,31 @@ class Stm32pio: (unique for every instance) """ + INSTANCE_OPTIONS_DEFAULTS = { # TODO: use Python 3.8 TypedDict + 'save_on_destruction': False, + 'logger': None + } + def __init__(self, dirty_path: str, parameters: dict = None, instance_options: dict = None): if parameters is None: parameters = {} - if instance_options is None: # TODO: use Python 3.8 TypedDict - instance_options = { - 'save_on_destruction': False, - 'logger': None - } + if instance_options is None: + instance_options = copy.copy(self.INSTANCE_OPTIONS_DEFAULTS) + else: + # Insert missing pairs but do not touch any extra ones if there is some + for key, value in copy.copy(self.INSTANCE_OPTIONS_DEFAULTS).items(): + if key not in instance_options: + instance_options[key] = value # The individual loggers for every single project allow to fine-tune the output when multiple projects are # created by the third-party code. - if 'logger' in instance_options and instance_options['logger'] is not None: + if instance_options['logger'] is not None: self.logger = instance_options['logger'] else: - self.logger = logging.getLogger(f"{__name__}.{id(self)}") # use id() as uniqueness guarantee + underlying_logger = logging.getLogger('stm32pio.projects') + self.logger = stm32pio.util.ProjectLoggerAdapter(underlying_logger, { 'project_id': id(self) }) # The path is a primary entity of the project so we process it first and foremost. Handle 'path/to/proj', # 'path/to/proj/', '.', '../proj', etc., make the path absolute and check for existence. Also, the .ioc file can @@ -193,7 +201,7 @@ def __init__(self, dirty_path: str, parameters: dict = None, instance_options: d self.logger.warning(f"'{parameters['board']}' was not found in PlatformIO. " "Run 'platformio boards' for possible names") - if 'save_on_destruction' in instance_options and instance_options['save_on_destruction']: + if instance_options['save_on_destruction']: # Save the config on an instance destruction self._finalizer = weakref.finalize(self, self._save_config, self.config, self.path, self.logger) @@ -218,7 +226,7 @@ def state(self) -> ProjectState: platformio_ini_is_patched = False if pio_is_initialized: # make no sense to proceed if there is something happened in the first place with contextlib.suppress(Exception): # we just want to know the information and don't care about details - platformio_ini_is_patched = self.platformio_ini_is_patched() + platformio_ini_is_patched = self.platformio_ini_is_patched # Create the temporary ordered dictionary and fill it with the conditions results arrays stages_conditions = collections.OrderedDict() @@ -416,13 +424,13 @@ def generate_code(self) -> int: if result.returncode == 0: # CubeMX 0 return code doesn't necessarily means the correct generation (e.g. migration dialog has appeared # and 'Cancel' was chosen, or CubeMX_version < ioc_file_version), should analyze the output - if 'Code succesfully generated ' in result_output: + if 'Code succesfully generated' in result_output: self.logger.info("successful code generation") return result.returncode else: - error_lines = [line for line in result_output.splitlines(keepends=True) if ' [ERROR] ' in line] + error_lines = [line for line in result_output.splitlines(keepends=True) if '[ERROR]' in line] if len(error_lines): - self.logger.error(error_lines, 'from_subprocess') + self.logger.error(error_lines, extra={ 'from_subprocess': True }) raise Exception(error_msg) else: self.logger.warning("Undefined result from the CubeMX (neither error or success symptoms were " @@ -430,7 +438,8 @@ def generate_code(self) -> int: return result.returncode else: # Probably 'java' error (e.g. no CubeMX is present) - self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result_output}", 'from_subprocess') + self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result_output}", + extra={ 'from_subprocess': True }) raise Exception(error_msg) @@ -461,13 +470,14 @@ def pio_init(self) -> int: if result.returncode == 0: # PlatformIO returns 0 even on some errors (e.g. no '--board' argument) if 'error' in result.stdout.lower(): - self.logger.error(result.stdout, 'from_subprocess') + self.logger.error(result.stdout, extra={ 'from_subprocess': True }) raise Exception(error_msg) - self.logger.debug(result.stdout, 'from_subprocess') + self.logger.debug(result.stdout, extra={ 'from_subprocess': True }) self.logger.info("successful PlatformIO project initialization") return result.returncode else: - self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result.stdout}", 'from_subprocess') + self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result.stdout}", + extra={ 'from_subprocess': True }) raise Exception(error_msg) @@ -486,6 +496,7 @@ def platformio_ini_config(self) -> configparser.ConfigParser: return platformio_ini + @property def platformio_ini_is_patched(self) -> bool: """ Check whether 'platformio.ini' config file is patched or not. It doesn't check for complete project patching @@ -532,7 +543,7 @@ def patch(self) -> None: self.logger.debug("patching 'platformio.ini' file...") - if self.platformio_ini_is_patched(): + if self.platformio_ini_is_patched: self.logger.info("'platformio.ini' has been already patched") else: # Existing .ini file @@ -620,7 +631,7 @@ def start_editor(self, editor_command: str) -> int: # result = subprocess.run([editor_command, str(self.path)], check=True) result = subprocess.run(f"{sanitized_input} {str(self.path)}", shell=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - self.logger.debug(result.stdout, 'from_subprocess') + self.logger.debug(result.stdout, extra={ 'from_subprocess': True }) return result.returncode except subprocess.CalledProcessError as e: diff --git a/stm32pio/settings.py b/stm32pio/settings.py index 5ad21d3..51eb6eb 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -3,6 +3,8 @@ import pathlib import platform +import stm32pio.lib + my_os = platform.system() diff --git a/stm32pio/util.py b/stm32pio/util.py index e76ad33..45013f9 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -2,45 +2,56 @@ Some auxiliary entities not falling into other categories """ +import collections import json import logging import os import subprocess +import sys import threading -from typing import List - +import traceback +import warnings +from typing import Any, List, Mapping, MutableMapping, Tuple, Optional module_logger = logging.getLogger(__name__) +def log_current_exception(logger: logging.Logger, show_traceback_threshold_level=logging.DEBUG): + """Print format is: ExceptionName: message""" + logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], + exc_info=logger.isEnabledFor(show_traceback_threshold_level)) -# Do not add or remove any information from the message and simply pass it "as-is" -special_formatters = { - 'subprocess': logging.Formatter('%(message)s') -} -default_log_record_factory = logging.getLogRecordFactory() +class ProjectLoggerAdapter(logging.LoggerAdapter): + def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> Tuple[Any, MutableMapping[str, Any]]: + if 'extra' in kwargs: + kwargs['extra'].update(self.extra) + else: + kwargs['extra'] = self.extra + return msg, kwargs -def log_record_factory(*log_record_args, **log_record_kwargs): - """ - Replace the default factory of logging.LogRecord's instances so we can handle our special logging flags - """ - ARGS_IDX = 5 # index of 'args' argument in the positional arguments list - if 'from_subprocess' in log_record_args[ARGS_IDX]: - # Remove our custom flag from the tuple (it is inside a tuple that is inside a list) - new_log_record_args = log_record_args[:ARGS_IDX] + \ - (tuple(arg for arg in log_record_args[ARGS_IDX] if arg != 'from_subprocess'),) + \ - log_record_args[ARGS_IDX + 1:] - # Construct an ordinary LogRecord and append our flag as an attribute - record = default_log_record_factory(*new_log_record_args, **log_record_kwargs) - record.from_subprocess = True - else: - record = default_log_record_factory(*log_record_args, **log_record_kwargs) +logging_levels = { + logging.getLevelName(logging.CRITICAL): logging.CRITICAL, + logging.getLevelName(logging.ERROR): logging.ERROR, + logging.getLevelName(logging.WARNING): logging.WARNING, + logging.getLevelName(logging.INFO): logging.INFO, + logging.getLevelName(logging.DEBUG): logging.DEBUG, + logging.getLevelName(logging.NOTSET): logging.NOTSET +} - return record +verbosity_levels = collections.OrderedDict( + normal=0, + verbose=1 +) -logging.setLogRecordFactory(log_record_factory) +# Do not add or remove any information from the message and simply pass it "as-is" +as_is_formatter = logging.Formatter('%(message)s') +special_formatters = { + 'from_subprocess': { + level: as_is_formatter for level in verbosity_levels.values() + } +} class DispatchingFormatter(logging.Formatter): @@ -49,29 +60,66 @@ class DispatchingFormatter(logging.Formatter): 'extra' argument of the log() function has a similar intention but different mechanics """ - def __init__(self, *args, special: dict = None, **kwargs): - super().__init__(*args, **kwargs) + def __init__(self, *args, general: Mapping[int, logging.Formatter] = None, + special: Mapping[str, Mapping[int, logging.Formatter]] = None, verbosity: int = 0, **kwargs): - # Store all provided formatters in an internal variable - if isinstance(special, dict) and all(isinstance(value, logging.Formatter) for value in special.values()): - self._formatters = special + super().__init__(*args, **kwargs) # will be '%(message)s' if no arguments were given + + self.verbosity = verbosity + + if general is not None: + self.general = general + else: + warnings.warn("'general' argument is for providing the custom formatters for all the logging events except " + "special ones and should be a dict with verbosity levels keys and logging.Formatter values") + self.general = {} + + if special is not None: + self.special = special + else: + # warnings.warn("'special' argument is for providing the custom formatters for the special logging events " + # "and should be a dict with cases names keys and described above dict values") + self.special = special_formatters + + self._warn_was_shown = False + + @property + def verbosity(self): + return self._verbosity + + @verbosity.setter + def verbosity(self, value): + verbosity_levels_values = list(verbosity_levels.values()) + if value < verbosity_levels_values[0]: + self._verbosity = verbosity_levels_values[0] + elif value > verbosity_levels_values[-1]: + self._verbosity = verbosity_levels_values[-1] + else: + self._verbosity = value + + + def find_formatter_for(self, record: logging.LogRecord, verbosity: int) -> Optional[logging.Formatter]: + special_formatter = next((self.special[case] for case in self.special.keys() if hasattr(record, case)), None) + if special_formatter is not None: + return special_formatter.get(verbosity) else: - module_logger.warning(f"'special' argument is for providing custom formatters for special logging events " - "and should be a dictionary with logging.Formatter values") - self._formatters = {} + return self.general.get(verbosity) - self.warn_was_shown = False def format(self, record: logging.LogRecord) -> str: """ Use suitable formatter based on the LogRecord attributes """ - if hasattr(record, 'from_subprocess') and record.from_subprocess: - if 'subprocess' in self._formatters: - return self._formatters['subprocess'].format(record) - elif not self.warn_was_shown: - module_logger.warning("No formatter found for the 'subprocess' case, use default hereinafter") - return super().format(record) + + formatter = self.find_formatter_for(record, record.verbosity if hasattr(record, 'verbosity') else self.verbosity) + + if formatter is not None: + return formatter.format(record) + else: + if not self._warn_was_shown: + self._warn_was_shown = True + module_logger.warning("No formatter found, use default one hereinafter") + return super().format(record) class LogPipeRC: @@ -118,7 +166,7 @@ def run(self): """ for line in iter(self.pipe_reader.readline, ''): # stops the iterator when empty string will occur self.rc.value += line # accumulate the string - self.logger.log(self.level, line.strip('\n'), 'from_subprocess') # mark the message origin + self.logger.log(self.level, line.strip('\n'), extra={ 'from_subprocess': True }) # mark the message origin self.pipe_reader.close() def __exit__(self, exc_type, exc_val, exc_tb): @@ -129,7 +177,6 @@ def __exit__(self, exc_type, exc_val, exc_tb): os.close(self.fd_write) - def get_platformio_boards(platformio_cmd) -> List[str]: """ Obtain the PlatformIO boards list. As we interested only in STM32 ones, cut off all the others. diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 39ae4e4..315285c 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -8,9 +8,8 @@ import sys import threading import time -import traceback import weakref -from typing import List, Callable, Optional, Dict, Any +from typing import List, Callable, Optional, Dict, Any, Mapping try: from PySide2.QtCore import QUrl, Property, QAbstractListModel, QModelIndex, QObject, Qt, Slot, Signal, QThread,\ @@ -30,8 +29,8 @@ "or manually install its dependencies by yourself") sys.exit(-1) -ROOT_PATH = pathlib.Path(sys.path[0]).parent -MODULE_PATH = pathlib.Path(__file__).parent +ROOT_PATH = pathlib.Path(sys.path[0]).parent # repo's or the site-package's root +MODULE_PATH = pathlib.Path(__file__).parent # module path, e.g. stm32pio-repo/stm32pio_gui/ try: import stm32pio.settings import stm32pio.lib @@ -46,17 +45,24 @@ -class BufferedLoggingHandler(logging.Handler): +class BuffersDispatchingHandler(logging.Handler): """ Simple logging.Handler subclass putting all incoming records into the given buffer """ - def __init__(self, buffer: collections.deque): - super().__init__() - self.buffer = buffer + buffers: Mapping[int, collections.deque] = {} def emit(self, record: logging.LogRecord) -> None: - self.buffer.append(record) + if hasattr(record, 'project_id'): + buffer = self.buffers.get(record.project_id) + if buffer is not None: + buffer.append(record) + else: + module_logger.warning(f"Logging buffer for the project id {record.project_id} not found. The message " + f"was:\n{record.msg}") + else: + module_logger.warning(f"LogRecord doesn't have a project_id attribute. Perhaps this is a result " + f"of the logging setup misconfiguration. The message was:\n{record.msg}") class LoggingWorker(QObject): @@ -74,18 +80,15 @@ class LoggingWorker(QObject): sendLog = Signal(str, int) - def __init__(self, logger: logging.Logger, parent: QObject = None): + def __init__(self, project_id: int, parent: QObject = None): super().__init__(parent=parent) + self.project_id = project_id self.buffer = collections.deque() + projects_logger_handler.buffers[project_id] = self.buffer + self.stopped = threading.Event() self.can_flush_log = threading.Event() - self.logging_handler = BufferedLoggingHandler(self.buffer) - - logger.addHandler(self.logging_handler) - self.logging_handler.setFormatter(stm32pio.util.DispatchingFormatter( - f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s", - special=stm32pio.util.special_formatters)) self.thread = QThread() self.moveToThread(self.thread) @@ -100,8 +103,9 @@ def routine(self) -> None: while not self.stopped.wait(timeout=0.050): if self.can_flush_log.is_set() and len(self.buffer): record = self.buffer.popleft() - self.sendLog.emit(self.logging_handler.format(record), record.levelno) + self.sendLog.emit(projects_logger_handler.format(record), record.levelno) module_logger.debug('exit logging worker') + projects_logger_handler.buffers.pop(self.project_id) self.thread.quit() @@ -141,9 +145,9 @@ def __init__(self, project_args: list = None, project_kwargs: dict = None, from_ self._from_startup = from_startup - self.logger = logging.getLogger(f"{stm32pio.lib.__name__}.{id(self)}") - self.logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) - self.logging_worker = LoggingWorker(self.logger) + underlying_logger = logging.getLogger('stm32pio.gui.projects') + self.logger = stm32pio.util.ProjectLoggerAdapter(underlying_logger, { 'project_id': id(self) }) + self.logging_worker = LoggingWorker(id(self)) self.logging_worker.sendLog.connect(self.logAdded) # QThreadPool can automatically queue new incoming tasks if a number of them are larger than maxThreadCount @@ -185,9 +189,7 @@ def init_project(self, *args, **kwargs) -> None: try: self.project = stm32pio.lib.Stm32pio(*args, **kwargs) except Exception: - # Error during the initialization. Print format is: "ExceptionName: message" - self.logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], - exc_info=self.logger.isEnabledFor(logging.DEBUG)) + stm32pio.util.log_current_exception(self.logger) if len(args): self._name = args[0] # use a project path string (as it should be a first argument) as a name else: @@ -362,9 +364,7 @@ def run(self): result = self.func(*self.args) except Exception: if self.logger is not None: - # Print format is: "ExceptionName: message" - self.logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], - exc_info=self.logger.isEnabledFor(logging.DEBUG)) + stm32pio.util.log_current_exception(self.logger) result = -1 if result is None or (type(result) == int and result == 0): @@ -578,16 +578,15 @@ def set(self, key, value): def main(): - global module_logger module_log_handler = logging.StreamHandler() module_log_handler.setFormatter(logging.Formatter("%(levelname)s %(funcName)s %(message)s")) module_logger.addHandler(module_log_handler) - module_logger.setLevel(logging.INFO) + module_logger.setLevel(logging.INFO) # set again after getting QSettings module_logger.info('Starting stm32pio_gui...') def qt_message_handler(mode, context, message): """ - Register this logging handler for the Qt stuff if your plarform doesn't provide the built-in one or if you want to + Register this logging handler for the Qt stuff if your platform doesn't provide the built-in one or if you want to customize it """ if mode == QtInfoMsg: @@ -604,7 +603,7 @@ def qt_message_handler(mode, context, message): # Apparently Windows version of PySide2 doesn't have QML logging feature turn on so we fill this gap # TODO: set up for other platforms too (separate console.debug, console.warn, etc.) - qml_logger = logging.getLogger('qml') + qml_logger = logging.getLogger('stm32pio.gui.qml') if platform.system() == 'Windows': qml_log_handler = logging.StreamHandler() qml_log_handler.setFormatter(logging.Formatter("[QML] %(levelname)s %(message)s")) @@ -629,22 +628,25 @@ def qt_message_handler(mode, context, message): def verbose_setter(value): module_logger.setLevel(logging.DEBUG if value else logging.INFO) - for project in projects_model.projects: - project.logger.setLevel(logging.DEBUG if value else logging.INFO) - - settings = Settings(prefix='app/settings/', - qs_kwargs={ - 'parent': app - }, - external_triggers={ - 'verbose': verbose_setter - }) - # settings.clear() # clear all - # settings.remove('app/settings') - # settings.remove('app/projects') - - module_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) - qml_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) + qml_logger.setLevel(logging.DEBUG if value else logging.INFO) + projects_logger.setLevel(logging.DEBUG if value else logging.INFO) + formatter.verbosity = stm32pio.util.verbosity_levels['verbose'] if value else stm32pio.util.verbosity_levels['normal'] + + settings = Settings(prefix='app/settings/', qs_kwargs={ 'parent': app }, + external_triggers={ 'verbose': verbose_setter }) + + projects_logger = logging.getLogger('stm32pio.gui.projects') + projects_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) + formatter = stm32pio.util.DispatchingFormatter( + general={ + stm32pio.util.verbosity_levels['normal']: logging.Formatter("%(levelname)-8s %(message)s"), + stm32pio.util.verbosity_levels['verbose']: logging.Formatter( + f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") + }) + projects_logger_handler.setFormatter(formatter) + projects_logger.addHandler(projects_logger_handler) + + verbose_setter(settings.get('verbose')) # if module_logger.isEnabledFor(logging.DEBUG): # module_logger.debug("App QSettings:") # for key in settings.allKeys(): @@ -668,14 +670,7 @@ def verbose_setter(value): boards_model = QStringListModel(parent=engine) engine.rootContext().setContextProperty('appVersion', stm32pio.app.__version__) - engine.rootContext().setContextProperty('Logging', { - logging.getLevelName(logging.CRITICAL): logging.CRITICAL, - logging.getLevelName(logging.ERROR): logging.ERROR, - logging.getLevelName(logging.WARNING): logging.WARNING, - logging.getLevelName(logging.INFO): logging.INFO, - logging.getLevelName(logging.DEBUG): logging.DEBUG, - logging.getLevelName(logging.NOTSET): logging.NOTSET - }) + engine.rootContext().setContextProperty('Logging', stm32pio.util.logging_levels) engine.rootContext().setContextProperty('projectsModel', projects_model) engine.rootContext().setContextProperty('boardsModel', boards_model) engine.rootContext().setContextProperty('appSettings', settings) @@ -693,10 +688,14 @@ def loading(): boards = ['None'] + stm32pio.util.get_platformio_boards('platformio') boards_model.setStringList(boards) - def loaded(_, success): + def loaded(_: str, success: bool): # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread - for path in restored_projects_paths: - projects_model.addProject(ProjectListItem(project_args=[path], from_startup=True, parent=projects_model)) + try: + for path in restored_projects_paths: + projects_model.addProject(ProjectListItem(project_args=[path], from_startup=True, parent=projects_model)) + except Exception: + stm32pio.util.log_current_exception(module_logger) + success = False main_window.backendLoaded.emit(success) # inform the GUI @@ -709,9 +708,11 @@ def loaded(_, success): -# Globals -module_logger = logging.getLogger(__name__) # use it as a console logger for whatever you want to, typically not - # related to the concrete project +# [necessary] globals +module_logger = logging.getLogger(f'stm32pio.gui.{__name__}') # use it as a console logger for whatever you want to, + # typically not related to the concrete project +projects_logger_handler = BuffersDispatchingHandler() # a storage of the buffers for the logging messages of all + # current projects (see its docs for more info) settings = QSettings() # placeholder, will be replaced in main() diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 9fab40a..875146b 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -91,7 +91,7 @@ ApplicationWindow { } Item { Layout.preferredWidth: 140 } // spacer Text { - Layout.preferredWidth: 250 // Detected recursive rearrange. Aborting after two iterations + Layout.preferredWidth: 250 // TODO: a cause of "Detected recursive rearrange. Aborting after two iterations" wrapMode: Text.Wrap color: 'dimgray' text: "Get messages about completed project actions when the app is in the background" @@ -170,8 +170,6 @@ ApplicationWindow { QML-side implementation details to the backend we define this helper function that counts and stores a number of widgets currently loaded for each project in model and informs the Qt-side right after all necessary components become ready. - - TODO: should be remade to use Python id() as a unique identifier, see TODO.md */ readonly property var initInfo: ({}) function setInitInfo(projectIndex) { @@ -242,10 +240,10 @@ ApplicationWindow { } onDropped: { if (drop.urls.length) { - // We need to convert to the array of strings as typeof(drop.urls) === 'object' + // We need to convert to an array of strings till typeof(drop.urls) === 'object' projectsModel.addProjectByPath(Object.keys(drop.urls).map(u => drop.urls[u])); } else if (drop.text) { - // Wrap into the array for consistency + // Wrap into an array for consistency projectsModel.addProjectByPath([drop.text]); } else { console.log("Incorrect drag'n'drop event"); @@ -282,18 +280,22 @@ ApplicationWindow { highlightMoveVelocity: -1 model: DelegateModel { + /* + Use DelegateModel as it has a feature to always preserve specified list items in memory so we can store an actual state + directly in the delegate + */ model: projectsModel // backend-side delegate: Loader { /* - (See setInitInfo docs) One of the two main widgets representing the project. Use Loader component - as it can give us the relible timestamp of all its children loading completion (unlike Component.onCompleted) + (See setInitInfo docs) One of the two main widgets representing the project. Use Loader component + as it can give us the relible timestamp of all its children loading completion (unlike Component.onCompleted) */ onLoaded: { setInitInfo(index); DelegateModel.inPersistedItems = 1; } sourceComponent: RowLayout { - property bool initLoading: true // initial waiting for the backend-side TODO: do not store state in the delegate! + property bool initLoading: true // initial waiting for the backend-side readonly property ProjectListItem project: projectsModel.get(index) Connections { target: project @@ -340,6 +342,8 @@ ApplicationWindow { } if (Qt.colorEqual(projectCurrentStage.color, 'darkgray')) { projectCurrentStage.color = 'black'; + } + if (runningOrFinished.currentIndex === 1) { // TODO: ugly runningOrFinished.visible = false; } } else { @@ -482,7 +486,7 @@ ApplicationWindow { property int projectIndex: index // binding so will be automatically updated on change onLoaded: setInitInfo(index) /* - Use another one StackLayout to separate Project initialization "screen" and Main one + Use another one StackLayout to separate Project initialization "screen" and Main one */ sourceComponent: StackLayout { id: mainOrInitScreen @@ -494,15 +498,15 @@ ApplicationWindow { readonly property ProjectListItem project: projectsModel.get(index) /* - State retrieving procedure is relatively expensive (many IO operations) so we optimize it by getting the state - only in certain situations (see Component.onCompleted below) and caching a value in the local varible. Then, all - widgets can pick up this value as many times as they want while not abusing the real property getter. Such a subscription - can be established by the creation of a local reference to the cache and listening to the change event like this: + State retrieving procedure is relatively expensive (many IO operations) so we optimize it by getting the state + only in certain situations (see Component.onCompleted below) and caching a value in the local varible. Then, all + widgets can pick up this value as many times as they want while not abusing the real property getter. Such a subscription + can be established by the creation of a local reference to the cache and listening to the change event like this: - property var stateCachedNotifier: stateCached - onStateCachedNotifierChanged: { - // use stateCached there - } + property var stateCachedNotifier: stateCached + onStateCachedNotifierChanged: { + // use stateCached there + } */ signal handleState() property var stateCached: ({}) @@ -541,8 +545,8 @@ ApplicationWindow { const config = project.config; if (Object.keys(config['project']).length && !config['project']['board']) { project.logAdded('WARNING STM32 PlatformIO board is not specified, it will be needed on PlatformIO ' + - 'project creation. You can set it in "stm32pio.ini" file in the project directory', - Logging.WARNING); + 'project creation. You can set it in "stm32pio.ini" file in the project directory', + Logging.WARNING); } mainOrInitScreen.currentIndex = 1; // show main view } @@ -555,17 +559,17 @@ ApplicationWindow { 'LOADING', // ignore transitional state 'INIT_ERROR', // we have another view for this state, skip 'EMPTY' // true if .ioc file is present, false otherwise - ].every(key => !stateCached[key]) + ].every(key => !stateCached[key]) text: `The project was modified outside of the stm32pio and .ioc file is no longer present.
- The project will be removed from the app. It will not affect any real content` + The project will be removed from the app. It will not affect any real content` icon: Dialogs.StandardIcon.Warning onAccepted: removeCurrentProject() } /* - Index: 0. Project initialization "screen" + Index: 0. Project initialization "screen" - Prompt a user to perform initial setup + Prompt a user to perform initial setup */ Loader { id: setupScreenLoader @@ -597,7 +601,7 @@ ApplicationWindow { } } /* - Trigger full run + Trigger full run */ CheckBox { id: runCheckBox @@ -652,8 +656,8 @@ ApplicationWindow { }]); if (board.editText === board.textAt(0)) { project.logAdded('WARNING STM32 PlatformIO board is not specified, it will be needed on PlatformIO ' + - 'project creation. You can set it in "stm32pio.ini" file in the project directory', - Logging.WARNING); + 'project creation. You can set it in "stm32pio.ini" file in the project directory', + Logging.WARNING); } if (runCheckBox.checked) { @@ -674,14 +678,14 @@ ApplicationWindow { } /* - Index: 1. Main "screen" + Index: 1. Main "screen" */ ColumnLayout { Layout.fillWidth: true Layout.fillHeight: true /* - Show this or action buttons + Show this or action buttons */ Text { id: initErrorMessage @@ -692,11 +696,11 @@ ApplicationWindow { } /* - The core widget - a group of buttons mapping all main actions that can be performed on the given project. - They also serve the project state displaying - each button indicates a stage associated with it: - - green (and green glow): done - - yellow: in progress right now - - red glow: an error has occured during the last execution + The core widget - a group of buttons mapping all main actions that can be performed on the given project. + They also serve the project state displaying - each button indicates a stage associated with it: + - green (and green glow): done + - yellow: in progress right now + - red glow: an error has occured during the last execution */ RowLayout { id: projActionsRow @@ -712,7 +716,7 @@ ApplicationWindow { name: 'Clean' action: 'clean' tooltip: "WARNING: this will delete ALL content of the project folder \ - except the current .ioc file and clear all logs" + except the current .ioc file and clear all logs" } ListElement { name: 'Open editor' @@ -781,9 +785,9 @@ ApplicationWindow { project.run(model.action, args); } /* - As the button reflects relatively complex logic it's easier to maintain using the state machine technique. - We define states and allowed transitions between them, all other stuff is managed by the DSM framework. - You can find the graphical diagram somewhere in the docs + As the button reflects relatively complex logic it's easier to maintain using the state machine technique. + We define states and allowed transitions between them, all other stuff is managed by the DSM framework. + You can find the graphical diagram somewhere in the docs */ DSM.StateMachine { initialState: main // start position @@ -854,7 +858,7 @@ ApplicationWindow { if (project.currentAction === model.action && shouldBeHighlightedWhileRunning && (buttonIndex === (projActionsModel.count - 1) || - projActionsRow.children[buttonIndex + 1].shouldBeHighlightedWhileRunning === false) + projActionsRow.children[buttonIndex + 1].shouldBeHighlightedWhileRunning === false) ) { for (let i = projActionsModel.statefulActionsStartIndex; i <= buttonIndex; ++i) { projActionsRow.children[i].shouldBeHighlightedWhileRunning = false; @@ -877,9 +881,9 @@ ApplicationWindow { } } /* - Detect modifier keys using overlayed MouseArea: - - Ctrl (Cmd): start the editor after the action(s) - - Shift: batch actions run + Detect modifier keys using overlayed MouseArea: + - Ctrl (Cmd): start the editor after the action(s) + - Shift: batch actions run */ MouseArea { id: mouseArea @@ -929,7 +933,7 @@ ApplicationWindow { if (buttonIndex >= projActionsModel.statefulActionsStartIndex) { preparedText += `, Shift-click to perform all actions prior this one (including). - Ctrl-Shift-click for both`; + Ctrl-Shift-click for both`; } statusBar.text = preparedText; } @@ -973,7 +977,7 @@ ApplicationWindow { } } /* - Blinky glowing + Blinky glowing */ RectangularGlow { id: glow From 1731d3df154f7bdadcfa978108a9eeaaa0b539fa Mon Sep 17 00:00:00 2001 From: ussserrr Date: Thu, 30 Apr 2020 21:42:41 +0300 Subject: [PATCH 07/13] use enum for verbosity levels, clean up the code --- TODO.md | 6 +- stm32pio/app.py | 30 +++++---- stm32pio/lib.py | 153 ++++++++++++++++++++++++------------------- stm32pio/settings.py | 6 +- stm32pio/util.py | 122 +++++++++++++++++++--------------- stm32pio_gui/app.py | 6 +- 6 files changed, 182 insertions(+), 141 deletions(-) diff --git a/TODO.md b/TODO.md index c4611cb..03b0d4a 100644 --- a/TODO.md +++ b/TODO.md @@ -6,7 +6,7 @@ - [ ] Middleware support (FreeRTOS, etc.) - [ ] Arduino framework support (needs research to check if it is possible) - [ ] Create VSCode plugin - - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) + - [ ] UML diagrams (core, logging (logger vs adapter vs handler vs formatter etc), GUI back- and front-ends, thread flows, events, etc.) - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI - [ ] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function @@ -56,14 +56,14 @@ - [ ] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) - [ ] Two words about a synchronous nature of the lib and user's responsibility of async wrapping (if needed). Also, maybe migrate to async/await approach in the future - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - - [ ] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) + - [x] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) - [ ] Test preserving user files and folders on regeneration and mb other operations - [ ] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode). And, in general, we should show the error reason right off - [ ] 'verbose' and 'non-verbose' tests as `subTest` (also `should_log_error_...`) - [ ] the lib sometimes raising, sometimes returning the code and it is not consistent. While the reasons behind such behavior are clear, would be great to always return a result code and raise the exceptions in the outer scope, if there is need to - [ ] check board (no sense to go further on 'new' if the board in config.ini is not correct) - - [ ] check if `platformio.ini` config will be successfully parsed when there are interpolation and/or empty parameters + - [x] check if `platformio.ini` config will be successfully parsed when there are interpolation and/or empty parameters - [x] check if `.ioc` file is a text file on project initialization. Let `_find_ioc_file()` method to use explicitly provided file (useful for GUI). Maybe let user specify it via CLI - [ ] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv diff --git a/stm32pio/app.py b/stm32pio/app.py index 2e4c771..9d6cfb9 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -4,6 +4,7 @@ __version__ = '1.21' import argparse +import inspect import logging import pathlib import sys @@ -22,7 +23,7 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: """ - Dedicated function to parse the arguments given via the CLI + Dedicated function to parse the arguments given via CLI Args: args: list of strings CLI arguments @@ -31,16 +32,17 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: argparse.Namespace or None if no arguments were given """ - root_parser = argparse.ArgumentParser(description="Automation of creating and updating STM32CubeMX-PlatformIO projects. " - "Requirements: Python 3.6+, STM32CubeMX, Java, PlatformIO CLI. Visit " - "https://github.com/ussserrr/stm32pio for more information. Use " - "'help' command to take a glimpse on the available functionality") + root_parser = argparse.ArgumentParser(description=inspect.cleandoc(''' + Automation of creating and updating STM32CubeMX-PlatformIO projects. Requirements: Python 3.6+, STM32CubeMX, + Java, PlatformIO CLI. Visit https://github.com/ussserrr/stm32pio for more information. Use 'help' command to + take a glimpse on the available functionality''')) + # Global arguments (there is also an automatically added '-h, --help' option) root_parser.add_argument('--version', action='version', version=f"stm32pio v{__version__}") root_parser.add_argument('-v', '--verbose', help="enable verbose output (default: INFO)", action='count', default=0) subparsers = root_parser.add_subparsers(dest='subcommand', title='subcommands', description="valid subcommands", - help="modes of operation") + help="modes of operation") parser_init = subparsers.add_parser('init', help="create config .ini file so you can tweak parameters before " "proceeding") @@ -95,10 +97,11 @@ def main(sys_argv: Optional[list] = None) -> int: logger = logging.getLogger('stm32pio') logger.setLevel(logging.DEBUG if args.verbose else logging.INFO) handler = logging.StreamHandler() - formatter = stm32pio.util.DispatchingFormatter(verbosity=args.verbose, + formatter = stm32pio.util.DispatchingFormatter( + verbosity=stm32pio.util.Verbosity.VERBOSE if args.verbose else stm32pio.util.Verbosity.NORMAL, general={ - stm32pio.util.verbosity_levels['normal']: logging.Formatter("%(levelname)-8s %(message)s"), - stm32pio.util.verbosity_levels['verbose']: logging.Formatter( + stm32pio.util.Verbosity.NORMAL: logging.Formatter("%(levelname)-8s %(message)s"), + stm32pio.util.Verbosity.VERBOSE: logging.Formatter( f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") }) handler.setFormatter(formatter) @@ -114,8 +117,9 @@ def main(sys_argv: Optional[list] = None) -> int: project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, instance_options={ 'save_on_destruction': True }) if not args.board: - logger.warning("STM32 PlatformIO board is not specified, it will be needed on PlatformIO project " - "creation") + logger.warning("PlatformIO board identifier is not specified, it will be needed on PlatformIO project " + "creation. Type 'pio boards' or go to https://platformio.org to find an appropriate " + "identifier") logger.info("project has been initialized. You can now edit stm32pio.ini config file") if args.editor: project.start_editor(args.editor) @@ -124,7 +128,9 @@ def main(sys_argv: Optional[list] = None) -> int: project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, instance_options={ 'save_on_destruction': True }) if project.config.get('project', 'board') == '': - raise Exception("STM32 PlatformIO board is not specified, it is needed for PlatformIO project creation") + raise Exception("PlatformIO board identifier is not specified, it is needed for PlatformIO project " + "creation. Type 'pio boards' or go to https://platformio.org to find an appropriate " + "identifier") project.generate_code() project.pio_init() project.patch() diff --git a/stm32pio/lib.py b/stm32pio/lib.py index d60406e..7454410 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -15,6 +15,7 @@ import subprocess import tempfile import weakref +from typing import Mapping, Any import stm32pio.settings import stm32pio.util @@ -115,9 +116,7 @@ def current_stage(self) -> ProjectStage: @property def is_consistent(self) -> bool: - """ - Whether the state has been went through the stages consequentially or not (the method is currently unused) - """ + """Whether the state has been went through the stages consequentially or not""" return self.current_stage != ProjectStage.UNDEFINED @@ -128,24 +127,16 @@ class Stm32pio: Represents a single project, encapsulating file system path to the project (main mandatory identifier) and some parameters in a configparser .ini file. As stm32pio can be installed via pip and has no global config we also storing global parameters (such as Java or STM32CubeMX invoking commands) in this config .ini file so the user can - specify settings on a per-project base. The config can be saved in a non-disturbing way automatically on the + specify settings on a per-project basis. The config can be saved in a non-disturbing way automatically on the instance destruction (e.g. by garbage collecting it) (use save_on_destruction=True flag), otherwise a user should explicitly save the config if he wants to (using config.save() method). The typical life cycle consists of project creation, passing mandatory 'dirty_path' argument. If also 'parameters' - dictionary is specified also these settings are processed (white-list approach is used so we set only those - parameters that are listed in the constructor code) (currently only 'board' parameter is included). Then it is - possible to perform API operations. WARNING. Please be careful with the 'clean' method as it deletes all the content - of the project directory except the main .ioc file. - - Args: - dirty_path (str): path to the project (required) - parameters (dict): additional parameters to set on initialization stage (format is same as for project' config - configparser.ConfigParser (see settings.py), values are merging) - instance_options (dict): some parameters, related more to the instance itself than to the project: - save_on_destruction (bool=True): register or not the finalizer that saves the config to file - logger (logging.Logger=None): if an external logger is given, it will be used, otherwise the new one will be created - (unique for every instance) + dictionary is specified these settings are processed (see _load_config method). Then it is possible to perform API + operations. + + WARNING. Please be careful with the 'clean' method as it deletes all the content of the project directory except + the main .ioc file. """ INSTANCE_OPTIONS_DEFAULTS = { # TODO: use Python 3.8 TypedDict @@ -153,21 +144,34 @@ class Stm32pio: 'logger': None } - def __init__(self, dirty_path: str, parameters: dict = None, instance_options: dict = None): + def __init__(self, dirty_path: str, parameters: Mapping[str, Any] = None, + instance_options: Mapping[str, Any] = None): + """ + Args: + dirty_path: path to the project (required) + parameters: additional parameters to set on initialization stage (format is same as for project' config + configparser.ConfigParser (see settings.py), values are merging via _load_config method) + instance_options: some parameters, related more to the instance itself than to the project: + save_on_destruction (bool=True): register or not the finalizer that saves the config to file + logger (logging.Logger=None): if an external logger is given, it will be used, otherwise the new one + will be created (unique for every instance) + """ if parameters is None: parameters = {} if instance_options is None: - instance_options = copy.copy(self.INSTANCE_OPTIONS_DEFAULTS) + instance_options = copy.copy(Stm32pio.INSTANCE_OPTIONS_DEFAULTS) else: - # Insert missing pairs but do not touch any extra ones if there is some - for key, value in copy.copy(self.INSTANCE_OPTIONS_DEFAULTS).items(): + # Create a shallow copy of the argument, a mutable mapping, as we probably going to add some pairs to it + instance_options = dict(instance_options) + # Insert missing pairs but do not touch any extra ones if there is any + for key, value in copy.copy(Stm32pio.INSTANCE_OPTIONS_DEFAULTS).items(): if key not in instance_options: instance_options[key] = value - # The individual loggers for every single project allow to fine-tune the output when multiple projects are - # created by the third-party code. + # The individual loggers for every single project allows to fine-tune the output when the multiple projects are + # created by the third-party code if instance_options['logger'] is not None: self.logger = instance_options['logger'] else: @@ -190,6 +194,7 @@ def __init__(self, dirty_path: str, parameters: dict = None, instance_options: d self.ioc_file = self._find_ioc_file(explicit_file=ioc_file) self.config.set('project', 'ioc_file', self.ioc_file.name) + # Notify the caller about the board presence if 'board' in parameters and parameters['board'] is not None: try: boards = stm32pio.util.get_platformio_boards(self.config.get('app', 'platformio_cmd')) @@ -201,31 +206,28 @@ def __init__(self, dirty_path: str, parameters: dict = None, instance_options: d self.logger.warning(f"'{parameters['board']}' was not found in PlatformIO. " "Run 'platformio boards' for possible names") + # Save the config on an instance destruction if instance_options['save_on_destruction']: - # Save the config on an instance destruction self._finalizer = weakref.finalize(self, self._save_config, self.config, self.path, self.logger) def __repr__(self): + """String representation of the project (use an absolute path for this)""" return f"Stm32pio project: {str(self.path)}" @property def state(self) -> ProjectState: - """ - Constructing and returning the current state of the project (tweaked dict, see ProjectState docs) - """ - - # self.logger.debug(f"project content: {[item.name for item in self.path.iterdir()]}") + """Constructing and returning the current state of the project (tweaked dict, see ProjectState docs)""" pio_is_initialized = False - with contextlib.suppress(Exception): # we just want to know the information and don't care about details + with contextlib.suppress(Exception): # we just want to know the status and don't care about the details # Is present, is correct and is not empty pio_is_initialized = len(self.platformio_ini_config.sections()) != 0 platformio_ini_is_patched = False if pio_is_initialized: # make no sense to proceed if there is something happened in the first place - with contextlib.suppress(Exception): # we just want to know the information and don't care about details + with contextlib.suppress(Exception): # we just want to know the status and don't care about the details platformio_ini_is_patched = self.platformio_ini_is_patched # Create the temporary ordered dictionary and fill it with the conditions results arrays @@ -240,7 +242,7 @@ def state(self) -> ProjectState: stages_conditions[ProjectStage.PIO_INITIALIZED] = [pio_is_initialized] stages_conditions[ProjectStage.PATCHED] = [platformio_ini_is_patched, not self.path.joinpath('include').is_dir()] - # Hidden folder! Can be not visible in your familiar file manager and cause a confusion + # Hidden folder! Can be not visible in your file manager and cause a confusion stages_conditions[ProjectStage.BUILT] = [ self.path.joinpath('.pio').is_dir() and any([item.is_file() for item in self.path.joinpath('.pio').rglob('*firmware*')])] @@ -255,8 +257,8 @@ def state(self) -> ProjectState: def _find_ioc_file(self, explicit_file: pathlib.Path = None) -> pathlib.Path: """ - Find, check (that this is a non-empty text file) and return an .ioc file. If there are more than one return - first. If no .ioc file is present raise FileNotFoundError exception. Use explicit_file if it was provided + Find, check (that this is a non-empty text file) and return an .ioc file. If there are more than one - return + first. If no .ioc file is present - raise the FileNotFoundError exception. Use explicit_file if it was provided. Returns: absolute path to the .ioc file @@ -293,13 +295,14 @@ def _find_ioc_file(self, explicit_file: pathlib.Path = None) -> pathlib.Path: # Check for the file correctness try: content = result_file.read_text() # should be a text file - assert len(content) > 0 + if len(content) == 0: + raise ValueError("the file is empty") return result_file except Exception as e: raise Exception(f"{result_file.name} is incorrect") from e - def _load_config(self, runtime_parameters: dict = None) -> configparser.ConfigParser: + def _load_config(self, runtime_parameters: Mapping[str, Any] = None) -> configparser.ConfigParser: """ Prepare ConfigParser config for the project. Order of getting values (masking) (higher levels overwrites lower): @@ -320,16 +323,16 @@ def _load_config(self, runtime_parameters: dict = None) -> configparser.ConfigPa # ... then merge with user's config file values (if exist) ... self.logger.debug(f"searching for {stm32pio.settings.config_file_name}...") - if len(config.read(str(self.path.joinpath(stm32pio.settings.config_file_name)))) == 0: + if len(config.read(self.path.joinpath(stm32pio.settings.config_file_name))) == 0: self.logger.debug(f"no or empty {stm32pio.settings.config_file_name} config file, will use the default one") # ... finally merge with the given in this session CLI parameters config.read_dict(runtime_parameters) - # Put away unnecessary processing as the string still will be formed even if the logging level doesn't allow + # Put away unnecessary processing as the string still will be formed even if the logging level doesn't allow a # propagation of this message if self.logger.isEnabledFor(logging.DEBUG): - debug_str = 'resolved config (merged):' + debug_str = 'resolved config:' for section in config.sections(): debug_str += f"\n========== {section} ==========\n" for value in config.items(section): @@ -341,7 +344,7 @@ def _load_config(self, runtime_parameters: dict = None) -> configparser.ConfigPa @staticmethod def _save_config(config: configparser.ConfigParser, path: pathlib.Path, logger: logging.Logger) -> int: """ - Writes ConfigParser config to the file path and logs using Logger logger. + Writes the ConfigParser 'config' to the file 'path' and logs using the Logger 'logger'. We declare this helper function which can be safely invoked by both internal methods and outer code. The latter case is suitable for using in weakref' finalizer objects as one of its main requirement is to not keep @@ -385,13 +388,15 @@ def save_config(self, parameters: dict = None) -> int: def generate_code(self) -> int: """ - Call STM32CubeMX app as 'java -jar' file to generate the code from the .ioc file. Pass commands to the - STM32CubeMX in a temp file + Call STM32CubeMX app as 'java -jar' file to generate the code from the .ioc file. Pass the commands to the + STM32CubeMX in a temp file. Returns: return code on success, raises an exception otherwise """ + self.logger.info("starting to generate a code from the CubeMX .ioc file...") + # Use mkstemp() instead of the higher-level API for the compatibility with the Windows (see tempfile docs for # more details) cubemx_script_file, cubemx_script_name = tempfile.mkstemp() @@ -403,11 +408,8 @@ def generate_code(self) -> int: cubemx_script_template = string.Template(self.config.get('project', 'cubemx_script_content')) cubemx_script_content = cubemx_script_template.substitute(ioc_file_absolute_path=self.ioc_file, project_dir_absolute_path=self.path) + cubemx_script.write(cubemx_script_content.encode()) # should encode, since mode='w+b' - # should encode, since mode='w+b' - cubemx_script.write(cubemx_script_content.encode()) - - self.logger.info("starting to generate a code from the CubeMX .ioc file...") command_arr = [self.config.get('app', 'java_cmd'), '-jar', self.config.get('app', 'cubemx_cmd'), '-q', cubemx_script_name, '-s'] # -q: read the commands from the file, -s: silent performance # Redirect the output of the subprocess into the logging module (with DEBUG level) @@ -428,6 +430,7 @@ def generate_code(self) -> int: self.logger.info("successful code generation") return result.returncode else: + # GUESSING error_lines = [line for line in result_output.splitlines(keepends=True) if '[ERROR]' in line] if len(error_lines): self.logger.error(error_lines, extra={ 'from_subprocess': True }) @@ -437,7 +440,7 @@ def generate_code(self) -> int: "found in the logs). Keep going but there might be an error") return result.returncode else: - # Probably 'java' error (e.g. no CubeMX is present) + # Most likely the 'java' error (e.g. no CubeMX is present) self.logger.error(f"Return code is {result.returncode}. Output:\n\n{result_output}", extra={ 'from_subprocess': True }) raise Exception(error_msg) @@ -446,7 +449,7 @@ def generate_code(self) -> int: def pio_init(self) -> int: """ Call PlatformIO CLI to initialize a new project. It uses parameters (path, board) collected before so the - confirmation about the data presence is lying on the invoking code + confirmation about the data presence is lying on the invoking code. Returns: return code of the PlatformIO on success, raises an exception otherwise @@ -454,10 +457,14 @@ def pio_init(self) -> int: self.logger.info("starting PlatformIO project initialization...") - platformio_ini_file = self.path.joinpath('platformio.ini') - # If size is 0, PlatformIO will overwrite it - if platformio_ini_file.is_file() and platformio_ini_file.stat().st_size > 0: - self.logger.warning("'platformio.ini' file is already exist") + try: + if len(self.platformio_ini_config.sections()): + self.logger.warning("'platformio.ini' file is already exist") + # else: file is empty (PlatformIO should overwrite it) + except FileNotFoundError: + pass # no file + except Exception: + self.logger.warning("'platformio.ini' file is already exist and incorrect") command_arr = [self.config.get('app', 'platformio_cmd'), 'init', '-d', str(self.path), '-b', self.config.get('project', 'board'), '-O', 'framework=stm32cube'] @@ -469,7 +476,7 @@ def pio_init(self) -> int: error_msg = "PlatformIO project initialization error" if result.returncode == 0: # PlatformIO returns 0 even on some errors (e.g. no '--board' argument) - if 'error' in result.stdout.lower(): + if 'error' in result.stdout.lower(): # GUESSING self.logger.error(result.stdout, extra={ 'from_subprocess': True }) raise Exception(error_msg) self.logger.debug(result.stdout, extra={ 'from_subprocess': True }) @@ -484,11 +491,18 @@ def pio_init(self) -> int: @property def platformio_ini_config(self) -> configparser.ConfigParser: """ - Reads and parses 'platformio.ini' PlatformIO config file into newly created configparser.ConfigParser instance. - Note, that the file may change over time and subsequent calls may produce different results because of this. + Reads and parses the 'platformio.ini' PlatformIO config file into a newly created configparser.ConfigParser + instance. Note, that the file may change over time and subsequent calls may produce different results because + of this. Raises FileNotFoundError if no 'platformio.ini' file is present. Passes out all other exceptions, most likely - caused by parsing errors (i.e. corrupted .INI format). + caused by parsing errors (i.e. corrupted .INI format), e.g. + + configparser.MissingSectionHeaderError: File contains no section headers. + + It doesn't use any interpolation as we do not interested in the particular values, just presence and correctness + When using this property for comparing, make sure your other config doesn't use the interpolation either so we + just can match raw unprocessed strings. """ platformio_ini = configparser.ConfigParser(interpolation=None) @@ -500,20 +514,20 @@ def platformio_ini_config(self) -> configparser.ConfigParser: def platformio_ini_is_patched(self) -> bool: """ Check whether 'platformio.ini' config file is patched or not. It doesn't check for complete project patching - (e.g. unnecessary folders deletion). Throws errors on non-existing file and on incorrect patch or file + (e.g. unnecessary folders deletion). Throws errors on non-existing file and on incorrect patch or file. Returns: boolean indicating a result """ try: - platformio_ini = self.platformio_ini_config + platformio_ini = self.platformio_ini_config # existing .ini file except FileNotFoundError as e: raise Exception("Cannot determine is project patched: 'platformio.ini' file not found") from e except Exception as e: raise Exception("Cannot determine is project patched: 'platformio.ini' file is incorrect") from e - patch_config = configparser.ConfigParser(interpolation=None) + patch_config = configparser.ConfigParser(interpolation=None) # our patch has the INI config format, too try: patch_config.read_string(self.config.get('project', 'platformio_ini_patch_content')) except Exception as e: @@ -536,9 +550,10 @@ def platformio_ini_is_patched(self) -> bool: def patch(self) -> None: """ - Patch platformio.ini file by a user's patch. By default, it sets the created earlier (by CubeMX 'Src' and 'Inc') - folders as sources. configparser doesn't preserve any comments unfortunately so keep in mind that all of them - will be lost at this stage. Also, the order may be violated. In the end, remove old empty folders + Patch the 'platformio.ini' config file by a user's patch. By default, it sets the created earlier (by CubeMX + 'Src' and 'Inc') folders as sources specifying it in the [platformio] INI section. configparser doesn't preserve + any comments unfortunately so keep in mind that all of them will be lost at this stage. Also, the order may be + violated. In the end, removes an old empty folders. """ self.logger.debug("patching 'platformio.ini' file...") @@ -546,12 +561,9 @@ def patch(self) -> None: if self.platformio_ini_is_patched: self.logger.info("'platformio.ini' has been already patched") else: - # Existing .ini file - platformio_ini_config = configparser.ConfigParser(interpolation=None) - platformio_ini_config.read(self.path.joinpath('platformio.ini')) + platformio_ini_config = self.platformio_ini_config # existing .ini file - # Our patch has the config format too - patch_config = configparser.ConfigParser(interpolation=None) + patch_config = configparser.ConfigParser(interpolation=None) # our patch has the INI config format, too patch_config.read_string(self.config.get('project', 'platformio_ini_patch_content')) # Merge 2 configs @@ -563,7 +575,7 @@ def patch(self) -> None: self.logger.debug(f"set [{patch_section}]{patch_key} = {patch_value}") platformio_ini_config.set(patch_section, patch_key, patch_value) - # Save, overwriting the original file (deletes all comments!) + # Save, overwriting (node='w') the original file (deletes all comments!) with self.path.joinpath('platformio.ini').open(mode='w') as platformio_ini_file: platformio_ini_config.write(platformio_ini_file) self.logger.debug("'platformio.ini' has been patched") @@ -573,6 +585,7 @@ def patch(self) -> None: self.logger.debug("'include' folder has been removed") except Exception: self.logger.info("cannot delete 'include' folder", exc_info=self.logger.isEnabledFor(logging.DEBUG)) + # Remove 'src' directory too but on case-sensitive file systems 'Src' == 'src' == 'SRC' so we need to check if not self.path.joinpath('SRC').is_dir(): try: @@ -599,6 +612,8 @@ def build(self) -> int: if not self.logger.isEnabledFor(logging.DEBUG): command_arr.append('--silent') + # In the non-verbose mode (logging.INFO) there would be a '--silent' option so if the PlatformIO will decide to + # output something then it's really important and we use logging.WARNING as a level log_level = logging.DEBUG if self.logger.isEnabledFor(logging.DEBUG) else logging.WARNING with stm32pio.util.LogPipe(self.logger, log_level) as log: result = subprocess.run(command_arr, stdout=log.pipe, stderr=log.pipe) @@ -612,7 +627,7 @@ def build(self) -> int: def start_editor(self, editor_command: str) -> int: """ - Start the editor specified by 'editor_command' with the project opened (assuming that + Start the editor specified by the 'editor_command' with a project opened (assuming that $ [editor] [folder] format works) diff --git a/stm32pio/settings.py b/stm32pio/settings.py index 51eb6eb..5f80754 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -56,6 +56,6 @@ config_file_name = 'stm32pio.ini' -# Longest name (not necessarily method so a little bit tricky...) -# log_fieldwidth_function = max([len(member) for member in dir(stm32pio.lib.Stm32pio)]) + 1 -log_fieldwidth_function = 25 + 1 +# Longest name (not necessarily ф method so a little bit tricky...) +log_fieldwidth_function = max([len(member) for member in dir(stm32pio.lib.Stm32pio)]) + 1 +# log_fieldwidth_function = 25 + 1 diff --git a/stm32pio/util.py b/stm32pio/util.py index 45013f9..aa5b613 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -2,7 +2,7 @@ Some auxiliary entities not falling into other categories """ -import collections +import enum import json import logging import os @@ -13,16 +13,40 @@ import warnings from typing import Any, List, Mapping, MutableMapping, Tuple, Optional -module_logger = logging.getLogger(__name__) +module_logger = logging.getLogger(__name__) # this file logger + + +logging_levels = { # for exposing the levels to the GUI + logging.getLevelName(logging.CRITICAL): logging.CRITICAL, + logging.getLevelName(logging.ERROR): logging.ERROR, + logging.getLevelName(logging.WARNING): logging.WARNING, + logging.getLevelName(logging.INFO): logging.INFO, + logging.getLevelName(logging.DEBUG): logging.DEBUG, + logging.getLevelName(logging.NOTSET): logging.NOTSET +} def log_current_exception(logger: logging.Logger, show_traceback_threshold_level=logging.DEBUG): - """Print format is: ExceptionName: message""" + """ + Print format is: + + ExceptionName: message + [optional] traceback + """ logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], exc_info=logger.isEnabledFor(show_traceback_threshold_level)) class ProjectLoggerAdapter(logging.LoggerAdapter): + """ + Use this as a logger for every project: + + self.logger = stm32pio.util.ProjectLoggerAdapter(logging.getLogger('some_singleton_projects_logger'), + { 'project_id': id(self) }) + + It will automatically mix in 'project_id' (and any other property) to every LogRecord (whether you supply 'extra' in + your log call or not) + """ def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> Tuple[Any, MutableMapping[str, Any]]: if 'extra' in kwargs: kwargs['extra'].update(self.extra) @@ -31,41 +55,56 @@ def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> Tuple[Any, Muta return msg, kwargs -logging_levels = { - logging.getLevelName(logging.CRITICAL): logging.CRITICAL, - logging.getLevelName(logging.ERROR): logging.ERROR, - logging.getLevelName(logging.WARNING): logging.WARNING, - logging.getLevelName(logging.INFO): logging.INFO, - logging.getLevelName(logging.DEBUG): logging.DEBUG, - logging.getLevelName(logging.NOTSET): logging.NOTSET -} +# Currently available verbosity levels. Verbosity determines how every LogRecord will be formatted (regardless its +# logging level) +@enum.unique +class Verbosity(enum.IntEnum): + NORMAL = enum.auto() + VERBOSE = enum.auto() -verbosity_levels = collections.OrderedDict( - normal=0, - verbose=1 -) # Do not add or remove any information from the message and simply pass it "as-is" as_is_formatter = logging.Formatter('%(message)s') -special_formatters = { - 'from_subprocess': { - level: as_is_formatter for level in verbosity_levels.values() - } -} class DispatchingFormatter(logging.Formatter): """ The wrapper around the ordinary logging.Formatter allowing to have multiple formatters for different purposes. - 'extra' argument of the log() function has a similar intention but different mechanics + General arguments schema: + + { + verbosity=Verbosity.NORMAL, + general={ + Verbosity.NORMAL: logging.Formatter(...) + Verbosity.VERBOSE: logging.Formatter(...) + ... + }, + special={ + 'case_1': { + Verbosity.NORMAL: logging.Formatter(...) + ... + }, + ... + } + } """ - def __init__(self, *args, general: Mapping[int, logging.Formatter] = None, - special: Mapping[str, Mapping[int, logging.Formatter]] = None, verbosity: int = 0, **kwargs): + # Mapping of logging formatters for "special". Currently, only "from_subprocess" is defined. It's good to hide such + # implementation details as much as possible though they are still tweakable from the outer code + special_formatters = { + 'from_subprocess': { # TODO: maybe remade as enum, too? To have an IDE hints and more safety in general + level: as_is_formatter for level in Verbosity + } + } + + def __init__(self, *args, general: Mapping[Verbosity, logging.Formatter] = None, + special: Mapping[str, Mapping[Verbosity, logging.Formatter]] = None, + verbosity: Verbosity = Verbosity.NORMAL, **kwargs): super().__init__(*args, **kwargs) # will be '%(message)s' if no arguments were given self.verbosity = verbosity + self._warn_was_shown = False if general is not None: self.general = general @@ -77,28 +116,11 @@ def __init__(self, *args, general: Mapping[int, logging.Formatter] = None, if special is not None: self.special = special else: - # warnings.warn("'special' argument is for providing the custom formatters for the special logging events " - # "and should be a dict with cases names keys and described above dict values") - self.special = special_formatters + self.special = DispatchingFormatter.special_formatters # use defaults - self._warn_was_shown = False - @property - def verbosity(self): - return self._verbosity - - @verbosity.setter - def verbosity(self, value): - verbosity_levels_values = list(verbosity_levels.values()) - if value < verbosity_levels_values[0]: - self._verbosity = verbosity_levels_values[0] - elif value > verbosity_levels_values[-1]: - self._verbosity = verbosity_levels_values[-1] - else: - self._verbosity = value - - - def find_formatter_for(self, record: logging.LogRecord, verbosity: int) -> Optional[logging.Formatter]: + def find_formatter_for(self, record: logging.LogRecord, verbosity: Verbosity) -> Optional[logging.Formatter]: + """Determine and return the appropriate formatter""" special_formatter = next((self.special[case] for case in self.special.keys() if hasattr(record, case)), None) if special_formatter is not None: return special_formatter.get(verbosity) @@ -107,12 +129,11 @@ def find_formatter_for(self, record: logging.LogRecord, verbosity: int) -> Optio def format(self, record: logging.LogRecord) -> str: - """ - Use suitable formatter based on the LogRecord attributes - """ - - formatter = self.find_formatter_for(record, record.verbosity if hasattr(record, 'verbosity') else self.verbosity) + """Overridden method""" + # Allows to specify a verbosity level on the per-record basis, not only globally + formatter = self.find_formatter_for(record, + record.verbosity if hasattr(record, 'verbosity') else self.verbosity) if formatter is not None: return formatter.format(record) else: @@ -122,10 +143,9 @@ def format(self, record: logging.LogRecord) -> str: return super().format(record) + class LogPipeRC: - """ - Small class suitable for passing to the caller when the LogPipe context manager is invoked - """ + """Small class suitable for passing to the caller when the LogPipe context manager is invoked""" value = '' # string accumulating all incoming messages diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 315285c..60302ee 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -630,7 +630,7 @@ def verbose_setter(value): module_logger.setLevel(logging.DEBUG if value else logging.INFO) qml_logger.setLevel(logging.DEBUG if value else logging.INFO) projects_logger.setLevel(logging.DEBUG if value else logging.INFO) - formatter.verbosity = stm32pio.util.verbosity_levels['verbose'] if value else stm32pio.util.verbosity_levels['normal'] + formatter.verbosity = stm32pio.util.Verbosity.VERBOSE if value else stm32pio.util.Verbosity.NORMAL settings = Settings(prefix='app/settings/', qs_kwargs={ 'parent': app }, external_triggers={ 'verbose': verbose_setter }) @@ -639,8 +639,8 @@ def verbose_setter(value): projects_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) formatter = stm32pio.util.DispatchingFormatter( general={ - stm32pio.util.verbosity_levels['normal']: logging.Formatter("%(levelname)-8s %(message)s"), - stm32pio.util.verbosity_levels['verbose']: logging.Formatter( + stm32pio.util.Verbosity.NORMAL: logging.Formatter("%(levelname)-8s %(message)s"), + stm32pio.util.Verbosity.VERBOSE: logging.Formatter( f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") }) projects_logger_handler.setFormatter(formatter) From f253180aa5bde29293d76d9dc66f212eb3fbd372 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Fri, 1 May 2020 22:54:33 +0300 Subject: [PATCH 08/13] add GUI option to CLI, add CLI arguments to GUI --- TODO.md | 16 ++-- stm32pio/app.py | 45 ++++++---- stm32pio/lib.py | 2 +- stm32pio/settings.py | 2 +- stm32pio/util.py | 5 +- stm32pio_gui/README.md | 27 +++--- stm32pio_gui/app.py | 191 ++++++++++++++++++++++++++--------------- stm32pio_gui/main.qml | 23 +++-- 8 files changed, 185 insertions(+), 126 deletions(-) diff --git a/TODO.md b/TODO.md index 03b0d4a..998da97 100644 --- a/TODO.md +++ b/TODO.md @@ -1,7 +1,7 @@ # TODOs -## Business logic, features - - [ ] Issues guide for the GitHub (OS, content of the config, project tree, enable verbose) +## Business logic, general features + - [x] Issues guide for the GitHub (OS, content of the config, project tree, enable verbose) - [ ] GitHub CHANGELOG - separate New, Fixed, Changed into paragraphs - [ ] Middleware support (FreeRTOS, etc.) - [ ] Arduino framework support (needs research to check if it is possible) @@ -54,7 +54,7 @@ - [ ] check logging work when embed stm32pio lib in a third-party stuff (no logging setup at all) - [ ] merge subprocess pipes to one where suitable (i.e. `stdout` and `stderr`) - [ ] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) - - [ ] Two words about a synchronous nature of the lib and user's responsibility of async wrapping (if needed). Also, maybe migrate to async/await approach in the future + - [ ] maybe migrate to async/await approach in the future (return some kind of a "remote controller" to control the running action) - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - [x] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) - [ ] Test preserving user files and folders on regeneration and mb other operations @@ -68,10 +68,10 @@ - [ ] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually - - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini (shell=True or a list of args) + - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini (shell=True or a list of args (split a string)) - [ ] cache boards for a small interval of time - - [ ] use warnings.warn() (https://docs.python.org/3/howto/logging.html#logging-basic-tutorial) - - [ ] count another '-v' as '-v' for PlatformIO calls - - [ ] move GUI-related stuff from the `util.py` - - [ ] typing (`Mapping` instead of `dict` and so on) + - [x] use warnings.warn() (https://docs.python.org/3/howto/logging.html#logging-basic-tutorial) + - [ ] count another '-v' as '-v' for PlatformIO calls (slider in GUI settings window) + - [x] move GUI-related stuff from the `util.py` + - [x] typing (`Mapping` instead of `dict` and so on) - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI diff --git a/stm32pio/app.py b/stm32pio/app.py index 9d6cfb9..0d8ba36 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -8,7 +8,7 @@ import logging import pathlib import sys -from typing import Optional +from typing import Optional, List try: import stm32pio.settings @@ -21,7 +21,7 @@ import stm32pio.util -def parse_args(args: list) -> Optional[argparse.Namespace]: +def parse_args(args: List[str]) -> Optional[argparse.Namespace]: """ Dedicated function to parse the arguments given via CLI @@ -42,21 +42,24 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: root_parser.add_argument('-v', '--verbose', help="enable verbose output (default: INFO)", action='count', default=0) subparsers = root_parser.add_subparsers(dest='subcommand', title='subcommands', description="valid subcommands", - help="modes of operation") - - parser_init = subparsers.add_parser('init', help="create config .ini file so you can tweak parameters before " - "proceeding") - parser_new = subparsers.add_parser('new', help="generate CubeMX code, create PlatformIO project, glue them") + help="available actions") + + parser_init = subparsers.add_parser('init', + help="create config .ini file to check and tweak parameters before proceeding") + parser_new = subparsers.add_parser('new', + help="generate CubeMX code, create PlatformIO project, glue them together") + parser_gui = subparsers.add_parser('gui', help="start the graphical version of the application. " + "All arguments will be passed forward") parser_generate = subparsers.add_parser('generate', help="generate CubeMX code only") parser_status = subparsers.add_parser('status', help="get the description of the current project state") - parser_clean = subparsers.add_parser('clean', help="clean-up the project (delete ALL content of 'path' " - "except the .ioc file)") + parser_clean = subparsers.add_parser('clean', + help="clean-up the project (delete ALL content of 'path' except an .ioc file)") # Common subparsers options - for parser in [parser_init, parser_new, parser_generate, parser_status, parser_clean]: - parser.add_argument('-d', '--directory', dest='project_path', default=pathlib.Path.cwd(), + for parser in [parser_init, parser_new, parser_gui, parser_generate, parser_status, parser_clean]: + parser.add_argument('-d', '--directory', dest='path', default=pathlib.Path.cwd(), help="path to the project (current directory, if not given)") - for parser in [parser_init, parser_new]: + for parser in [parser_init, parser_new, parser_gui]: parser.add_argument('-b', '--board', dest='board', default='', help="PlatformIO name of the board") for parser in [parser_init, parser_new, parser_generate]: parser.add_argument('--start-editor', dest='editor', @@ -74,7 +77,7 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: return root_parser.parse_args(args) -def main(sys_argv: Optional[list] = None) -> int: +def main(sys_argv: List[str] = None) -> int: """ Can be used as a high-level wrapper to do complete tasks @@ -93,7 +96,11 @@ def main(sys_argv: Optional[list] = None) -> int: args = parse_args(sys_argv) - if args is not None and args.subcommand is not None: + if args is not None and args.subcommand == 'gui': + import stm32pio_gui.app + gui_args = [arg for arg in sys_argv if arg != 'gui'] + return stm32pio_gui.app.main(sys_argv=gui_args) + elif args is not None and args.subcommand is not None: logger = logging.getLogger('stm32pio') logger.setLevel(logging.DEBUG if args.verbose else logging.INFO) handler = logging.StreamHandler() @@ -114,7 +121,7 @@ def main(sys_argv: Optional[list] = None) -> int: # Main routine try: if args.subcommand == 'init': - project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, + project = stm32pio.lib.Stm32pio(args.path, parameters={ 'project': { 'board': args.board } }, instance_options={ 'save_on_destruction': True }) if not args.board: logger.warning("PlatformIO board identifier is not specified, it will be needed on PlatformIO project " @@ -125,7 +132,7 @@ def main(sys_argv: Optional[list] = None) -> int: project.start_editor(args.editor) elif args.subcommand == 'new': - project = stm32pio.lib.Stm32pio(args.project_path, parameters={ 'project': { 'board': args.board } }, + project = stm32pio.lib.Stm32pio(args.path, parameters={ 'project': { 'board': args.board } }, instance_options={ 'save_on_destruction': True }) if project.config.get('project', 'board') == '': raise Exception("PlatformIO board identifier is not specified, it is needed for PlatformIO project " @@ -140,7 +147,7 @@ def main(sys_argv: Optional[list] = None) -> int: project.start_editor(args.editor) elif args.subcommand == 'generate': - project = stm32pio.lib.Stm32pio(args.project_path) + project = stm32pio.lib.Stm32pio(args.path) project.generate_code() if args.with_build: project.build() @@ -148,11 +155,11 @@ def main(sys_argv: Optional[list] = None) -> int: project.start_editor(args.editor) elif args.subcommand == 'status': - project = stm32pio.lib.Stm32pio(args.project_path) + project = stm32pio.lib.Stm32pio(args.path) print(project.state) elif args.subcommand == 'clean': - project = stm32pio.lib.Stm32pio(args.project_path) + project = stm32pio.lib.Stm32pio(args.path) if args.quiet: project.clean() else: diff --git a/stm32pio/lib.py b/stm32pio/lib.py index 7454410..50b794e 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -192,7 +192,7 @@ def __init__(self, dirty_path: str, parameters: Mapping[str, Any] = None, self.config = self._load_config(parameters) self.ioc_file = self._find_ioc_file(explicit_file=ioc_file) - self.config.set('project', 'ioc_file', self.ioc_file.name) + self.config.set('project', 'ioc_file', self.ioc_file.name) # save only the name of file to the config # Notify the caller about the board presence if 'board' in parameters and parameters['board'] is not None: diff --git a/stm32pio/settings.py b/stm32pio/settings.py index 5f80754..7b4e9de 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -50,7 +50,7 @@ # Runtime-determined values 'board': '', - 'ioc_file': '' # required + 'ioc_file': '' # required, the file name (not a full path) } ) diff --git a/stm32pio/util.py b/stm32pio/util.py index aa5b613..444042b 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -109,8 +109,9 @@ def __init__(self, *args, general: Mapping[Verbosity, logging.Formatter] = None, if general is not None: self.general = general else: - warnings.warn("'general' argument is for providing the custom formatters for all the logging events except " - "special ones and should be a dict with verbosity levels keys and logging.Formatter values") + warnings.warn("'general' argument for DispatchingFormatter was not provided. It contains formatters for " + "all the logging events except special ones and should be a dict with verbosity levels keys " + "and logging.Formatter values") self.general = {} if special is not None: diff --git a/stm32pio_gui/README.md b/stm32pio_gui/README.md index 74e5ac4..c388d42 100644 --- a/stm32pio_gui/README.md +++ b/stm32pio_gui/README.md @@ -2,7 +2,7 @@ ![Main](screenshots/main.png) -The cross-platform GUI version of the stm32pio. It wraps the core library functionality into the Qt-QML skin using the PySide2 (aka "Qt for Python" project) and adding the projects management feature allowing you to store and manipulate multiple stm32pio projects at one place. +The cross-platform GUI version of the stm32pio. It wraps the core library functionality into the Qt5-QML skin using the PySide2 (aka "Qt for Python" project) and adding the projects management feature allowing you to store and manipulate on multiple stm32pio projects at one place. ## Installation @@ -18,11 +18,11 @@ Then it can be started as ```shell script $ stm32pio_gui ``` -from anywhere. If you have already installed the latest basic CLI version this script and sources are already on your machine so you can reinstall using the command above or to supplement the setup installing the PySide2 manually. +from anywhere. If you have already installed the latest basic CLI version, this script and sources are already on your machine so you can reinstall it using the command above or just supplement the setup installing the PySide2 manually. -If you rather want to launch completely from the sources, currently it's possible only from the repository root point: +If you rather want to launch completely from sources, it is possible like this: ```shell script -stm32pio-repo/ $ python stm32pio_gui/app.py +$ python path/to/stm32pio_gui/app.py ``` or ```shell script @@ -33,23 +33,23 @@ stm32pio-repo/ $ python -m stm32pio_gui ## Usage -Add a folder with the `.ioc` file to begin with. You can also drag-and-drop it into the main window, in this case you can add multiple projects simultaneously. If the project is empty the initialization screen will be shown to help in setup: +Add a folder with the `.ioc` file to begin with. You can either use an "Add" button or drag-and-drop it into the main window, in te latter case you can add multiple projects simultaneously. If the project is empty the initialization screen will be shown to help in setup: ![Init](screenshots/init_screen.png) -You can skip it or enter one of the available PlatformIO STM32 boards. Select "Run" to apply all actions to the project (analog of the `new` CLI command). +Skip it or enter one of the available PlatformIO STM32 boards identifier. Select "Run" to apply all actions to the project (analog of the `new` CLI command). -In the main screen the buttons row allows you to run specific actions while represents the state of the project at the same time. Green color means that this stage is fulfilled. The active project is monitored automatically while all the others refresh only when you click on them so the "stage" line at the projects list item can be outdated. +In the main screen the buttons row allows you to run specific actions while, at the same time, represents the state of the project. Green color means that this stage is fulfilled. The active project is monitored automatically while all the others refreshes only when you click on them so the "stage" line at the projects list item can be outdated. -Let's assume you've worked on the project for some time and need to re-generate and rebuild the configuration. To schedule all the necessary actions to run one after another navigate to the last desired action pressing the Shift key. All the projects prior this one should be colored light-green now: +Let's assume you've worked on the project for some time and need to re-generate and rebuild the configuration. To schedule all the necessary actions to run one after another navigate to the last desired action pressing the Shift key. All the actions prior this one should be colored light-green now: ![Highlighting](screenshots/highlighting.png) -Shift-click on it to execute the series. The picked actions will be framed with border around each of them: +Shift-click on it to execute the series. The picked actions will be framed with the border around each of them: ![Group](screenshots/group.png) -Add Ctrl to the mouse click to start the editor specified in the settings after the action. It can be combined with Shift. **Hint:** specify a `start` as an "Editor" command to open the folder in the new Explorer window under the Windows, `open` for the Finder on the macOS. +Add Ctrl to the mouse click to start the editor specified in the settings after the action. It can be combined with Shift as well. **Hint:** specify a `start` as an "Editor" command to open the folder in the new Explorer window under the Windows, `open` for the Finder on the macOS. ## Architecture notes @@ -57,10 +57,3 @@ Add Ctrl to the mouse click to start the editor specified in the settings after Projects list (not the projects themself) and settings are stored by `QSettings` so refer to its docs if you bother about the actual location. See `docs` directory to see state machine diagram of the project action button. - - -## Known issues - -The number of added projects that can be correctly represented is currently limited to about 5 due to some architectural mistakes. It's planned to be fixed in the near future. - -Right after the removing of the project from the list there are several errors on the terminal appears. It is most likely caused by the non-proper (and tricky) destruction order of components and isn't something to be worried about. By a similar reasons the app itself sometimes crushes during the shutdown process (doesn't observed on the macOS, though). diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 60302ee..5655e64 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -1,7 +1,10 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- +import argparse import collections +import gc +import inspect import logging import pathlib import platform @@ -145,7 +148,7 @@ def __init__(self, project_args: list = None, project_kwargs: dict = None, from_ self._from_startup = from_startup - underlying_logger = logging.getLogger('stm32pio.gui.projects') + underlying_logger = logging.getLogger('stm32pio_gui.projects') self.logger = stm32pio.util.ProjectLoggerAdapter(underlying_logger, { 'project_id': id(self) }) self.logging_worker = LoggingWorker(id(self)) self.logging_worker.sendLog.connect(self.logAdded) @@ -188,8 +191,9 @@ def init_project(self, *args, **kwargs) -> None: """ try: self.project = stm32pio.lib.Stm32pio(*args, **kwargs) - except Exception: + except Exception as e: stm32pio.util.log_current_exception(self.logger) + # self.logger.debug('error') if len(args): self._name = args[0] # use a project path string (as it should be a first argument) as a name else: @@ -219,7 +223,10 @@ def at_exit(workers_pool: QThreadPool, logging_worker: LoggingWorker, name: str) """ module_logger.info(f"destroy {name}") # Wait forever for all the jobs to complete. Currently, we cannot abort them gracefully - workers_pool.waitForDone(msecs=-1) + try: + workers_pool.waitForDone(msecs=-1) + except Exception as e: + print(e) logging_worker.stopped.set() # post the event in the logging worker to inform it... logging_worker.thread.wait() # ...and wait for it to exit, too @@ -389,7 +396,7 @@ class ProjectsList(QAbstractListModel): ProjectListItem. """ - duplicateFound = Signal(int, arguments=['duplicateIndex']) + goToProject = Signal(int, arguments=['indexToGo']) def __init__(self, projects: List[ProjectListItem] = None, parent: QObject = None): """ @@ -416,36 +423,17 @@ def data(self, index: QModelIndex, role=None): if role == Qt.DisplayRole or role is None: return self.projects[index.row()] - def addProject(self, project: ProjectListItem): - """ - Append already formed ProjectListItem to the projects list - """ - self.beginInsertRows(QModelIndex(), self.rowCount(), self.rowCount()) - self.projects.append(project) - self.endInsertRows() - - @Slot('QStringList') - def addProjectByPath(self, str_list: list): - """ - Create, append to the end and save in QSettings a new ProjectListItem instance with a given QUrl path (typically - is sent from the QML GUI). - """ - - if len(str_list) > 1: - for path_str in str_list: - self.addProjectByPath([path_str]) - return - elif len(str_list) == 0: - module_logger.warning("No path were given") + def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=True, go_to_this=False): + path_qurl = QUrl(path_str) + if path_qurl.isEmpty(): + # TODO: error return - - path_qurl = QUrl(str_list[0]) - if path_qurl.isLocalFile(): + elif path_qurl.isLocalFile(): # file://... path = path_qurl.toLocalFile() elif path_qurl.isRelative(): # this means that the path string is not starting with 'file://' prefix - path = str_list[0] # just use a source string + path = path_str # just use a source string else: - module_logger.error(f"Incorrect path: {str_list[0]}") + module_logger.error(f"Incorrect path: {path_str}") return # When we add a bunch of projects (or in the general case, too) recently added ones can be not instantiated yet @@ -453,60 +441,93 @@ def addProjectByPath(self, str_list: list): duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if list_item.project is not None and list_item.project.path.samefile(pathlib.Path(path))), -1) if duplicate_index > -1: + # Just added project is already in the list so abort the addition and jump to the existing one module_logger.warning(f"This project is already in the list: {path}") - self.duplicateFound.emit(duplicate_index) # notify the GUI + self.goToProject.emit(duplicate_index) return + if list_item_kwargs is None: + list_item_kwargs = { 'project_args': [path] } + elif 'project_args' not in list_item_kwargs or len(list_item_kwargs['project_args']) == 0: + list_item_kwargs['project_args'] = [path] + else: + list_item_kwargs['project_args'][0] = path + self.beginInsertRows(QModelIndex(), self.rowCount(), self.rowCount()) - project = ProjectListItem(project_args=[path], parent=self) + project = ProjectListItem(**list_item_kwargs) self.projects.append(project) + index_of_added = len(self.projects) - 1 self.endInsertRows() - settings.beginGroup('app') - settings.beginWriteArray('projects') - settings.setArrayIndex(len(self.projects) - 1) - settings.setValue('path', path) - settings.endArray() - settings.endGroup() + if go_to_this: + self.goToProject.emit(index_of_added) + + if save_in_settings: + settings.beginGroup('app') + settings.beginWriteArray('projects') + settings.setArrayIndex(index_of_added) + settings.setValue('path', path) + settings.endArray() + settings.endGroup() + + + @Slot('QStringList') + def addProjectsByPaths(self, paths: List[str]): + """ + Create, append to the end and save in QSettings a new ProjectListItem instance with a given QUrl path (typically + is sent from the QML GUI). + """ + + if len(paths) == 0: + module_logger.warning("No path were given") + return + else: + for path in paths: + self.addListItem(path, save_in_settings=True, list_item_kwargs={ 'parent': self }) + @Slot(int) def removeProject(self, index: int): """ Remove the project residing on the index both from the runtime list and QSettings """ - if index in range(len(self.projects)): - self.beginRemoveRows(QModelIndex(), index, index) - project = self.projects.pop(index) - # It allows the project to be deconstructed (i.e. GC'ed) very soon, not at the app shutdown time - project.deleteLater() + if index not in range(len(self.projects)): + return - self.endRemoveRows() + self.beginRemoveRows(QModelIndex(), index, index) - settings.beginGroup('app') + project = self.projects.pop(index) + print([(type(obj), obj) for obj in gc.get_referrers(project)]) + # It allows the project to be deconstructed (i.e. GC'ed) very soon, not at the app shutdown time + project.deleteLater() - # Get current settings ... - settings_projects_list = [] - for idx in range(settings.beginReadArray('projects')): - settings.setArrayIndex(idx) - settings_projects_list.append(settings.value('path')) - settings.endArray() + self.endRemoveRows() - # ... drop the index ... - settings_projects_list.pop(index) + settings.beginGroup('app') - # ... and overwrite the list. We don't use self.projects[i].project.path as there is a chance that 'path' - # doesn't exist (e.g. not initialized for some reason project) but reuse the current values - settings.remove('projects') - settings.beginWriteArray('projects') - for idx, path in enumerate(settings_projects_list): - settings.setArrayIndex(idx) - settings.setValue('path', path) - settings.endArray() + # Get current settings ... + settings_projects_list = [] + for idx in range(settings.beginReadArray('projects')): + settings.setArrayIndex(idx) + settings_projects_list.append(settings.value('path')) + settings.endArray() - settings.endGroup() + # ... drop the index ... + settings_projects_list.pop(index) + + # ... and overwrite the list. We don't use self.projects[i].project.path as there is a chance that 'path' + # doesn't exist (e.g. not initialized for some reason project) but reuse the current values + settings.remove('projects') + settings.beginWriteArray('projects') + for idx, path in enumerate(settings_projects_list): + settings.setArrayIndex(idx) + settings.setValue('path', path) + settings.endArray() + + settings.endGroup() @@ -561,7 +582,7 @@ def clear(self): @Slot(str, result='QVariant') def get(self, key): value = self.value(self.prefix + key) - # Windows registry storage is case insensitive so 'False' is saved as 'false' and we need to handle this + # On case insensitive file systems 'False' is saved as 'false' so we need to handle this if value == 'false': value = False elif value == 'true': @@ -577,7 +598,26 @@ def set(self, key, value): self.external_triggers[key](value) -def main(): +def parse_args(args: list) -> Optional[argparse.Namespace]: + parser = argparse.ArgumentParser(description=inspect.cleandoc('''lala''')) + + # Global arguments (there is also an automatically added '-h, --help' option) + parser.add_argument('--version', action='version', version=f"stm32pio v{stm32pio.app.__version__}") + + parser.add_argument('-d', '--directory', dest='path', default=str(pathlib.Path.cwd()), + help="path to the project (current directory, if not given)") + parser.add_argument('-b', '--board', dest='board', default='', help="PlatformIO name of the board") + + return parser.parse_args(args) if len(args) else None + + +def main(sys_argv: List[str] = None) -> int: + + if sys_argv is None: + sys_argv = sys.argv[1:] + + args = parse_args(sys_argv) + module_log_handler = logging.StreamHandler() module_log_handler.setFormatter(logging.Formatter("%(levelname)s %(funcName)s %(message)s")) module_logger.addHandler(module_log_handler) @@ -586,7 +626,7 @@ def main(): def qt_message_handler(mode, context, message): """ - Register this logging handler for the Qt stuff if your platform doesn't provide the built-in one or if you want to + Register this logging handler for the Qt stuff if your platform doesn't provide a built-in one or if you want to customize it """ if mode == QtInfoMsg: @@ -603,7 +643,7 @@ def qt_message_handler(mode, context, message): # Apparently Windows version of PySide2 doesn't have QML logging feature turn on so we fill this gap # TODO: set up for other platforms too (separate console.debug, console.warn, etc.) - qml_logger = logging.getLogger('stm32pio.gui.qml') + qml_logger = logging.getLogger('stm32pio_gui.qml') if platform.system() == 'Windows': qml_log_handler = logging.StreamHandler() qml_log_handler.setFormatter(logging.Formatter("[QML] %(levelname)s %(message)s")) @@ -635,7 +675,7 @@ def verbose_setter(value): settings = Settings(prefix='app/settings/', qs_kwargs={ 'parent': app }, external_triggers={ 'verbose': verbose_setter }) - projects_logger = logging.getLogger('stm32pio.gui.projects') + projects_logger = logging.getLogger('stm32pio_gui.projects') projects_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) formatter = stm32pio.util.DispatchingFormatter( general={ @@ -683,7 +723,6 @@ def verbose_setter(value): # Getting PlatformIO boards can take long time when the PlatformIO cache is outdated but it is important to have # them before the projects list restoring, so we start a dedicated loading thread. We actually can add other # start-up operations here if there will be need to. Use the same Worker to spawn the thread at pool. - def loading(): boards = ['None'] + stm32pio.util.get_platformio_boards('platformio') boards_model.setStringList(boards) @@ -692,7 +731,19 @@ def loaded(_: str, success: bool): # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread try: for path in restored_projects_paths: - projects_model.addProject(ProjectListItem(project_args=[path], from_startup=True, parent=projects_model)) + projects_model.addListItem(path, save_in_settings=False, list_item_kwargs={ + 'from_startup': True, + 'parent': projects_model + }) + + if args is not None: + list_item_kwargs = { + 'from_startup': True, + 'parent': projects_model + } + if args.board: + list_item_kwargs['project_kwargs'] = { 'parameters': { 'project': { 'board': args.board } } } # pizdec konechno... + projects_model.addListItem(args.path, save_in_settings=True, go_to_this=True, list_item_kwargs=list_item_kwargs) except Exception: stm32pio.util.log_current_exception(module_logger) success = False @@ -709,7 +760,7 @@ def loaded(_: str, success: bool): # [necessary] globals -module_logger = logging.getLogger(f'stm32pio.gui.{__name__}') # use it as a console logger for whatever you want to, +module_logger = logging.getLogger(f'stm32pio_gui.{__name__}') # use it as a console logger for whatever you want to, # typically not related to the concrete project projects_logger_handler = BuffersDispatchingHandler() # a storage of the buffers for the logging messages of all # current projects (see its docs for more info) diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index 875146b..e867729 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -185,6 +185,10 @@ ApplicationWindow { } } + Connections { + target: projectsModel + onGoToProject: projectsListView.currentIndex = indexToGo + } function removeCurrentProject() { const indexToRemove = projectsListView.currentIndex; indexToRemove === 0 ? projectsListView.incrementCurrentIndex() : projectsListView.decrementCurrentIndex(); @@ -241,10 +245,10 @@ ApplicationWindow { onDropped: { if (drop.urls.length) { // We need to convert to an array of strings till typeof(drop.urls) === 'object' - projectsModel.addProjectByPath(Object.keys(drop.urls).map(u => drop.urls[u])); + projectsModel.addProjectsByPaths(Object.keys(drop.urls).map(u => drop.urls[u])); } else if (drop.text) { // Wrap into an array for consistency - projectsModel.addProjectByPath([drop.text]); + projectsModel.addProjectsByPaths([drop.text]); } else { console.log("Incorrect drag'n'drop event"); } @@ -424,7 +428,7 @@ ApplicationWindow { Labs.FolderDialog { id: addProjectFolderDialog currentFolder: Labs.StandardPaths.standardLocations(Labs.StandardPaths.HomeLocation)[0] - onAccepted: projectsModel.addProjectByPath([folder]) + onAccepted: projectsModel.addProjectsByPaths([folder]) } footerPositioning: ListView.OverlayFooter footer: Rectangle { // Probably should use Pane but need to override default window color then @@ -435,11 +439,6 @@ ApplicationWindow { RowLayout { id: listFooter anchors.centerIn: parent - Connections { - target: projectsModel - // Just added project is already in the list so abort the addition and jump to the existing one - onDuplicateFound: projectsListView.currentIndex = duplicateIndex - } Button { text: 'Add' Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter @@ -599,6 +598,14 @@ ApplicationWindow { } } } + Component.onCompleted: { + // Board can be already specified in the config, in this case we should paste it + const config = project.config; + if (Object.keys(config['project']).length && config['project']['board']) { + editText = config['project']['board']; + } + forceActiveFocus(); + } } /* Trigger full run From d8f59e3452b1b07a9d8cbb74c44f36b9de83615d Mon Sep 17 00:00:00 2001 From: ussserrr Date: Sat, 2 May 2020 22:25:47 +0300 Subject: [PATCH 09/13] renovate tests, fix "traceback reference cycle problem", improve logging work while running the tests --- README.md | 4 +- TODO.md | 26 +++---- stm32pio/app.py | 63 +++++++++++----- stm32pio/lib.py | 2 +- stm32pio/settings.py | 2 +- stm32pio/util.py | 17 +++-- stm32pio_gui/app.py | 8 +- tests/test.py | 18 ++--- tests/test_cli.py | 154 +++++++++++++++++++------------------- tests/test_integration.py | 71 +++++++++++------- tests/test_unit.py | 42 +++++++---- 11 files changed, 229 insertions(+), 178 deletions(-) diff --git a/README.md b/README.md index caf1838..f6acf1d 100644 --- a/README.md +++ b/README.md @@ -146,8 +146,8 @@ to test the app. It uses STM32F0 framework to generate and build a code from the For the specific test suite or case you can use ```shell script -stm32pio-repo/ $ python -m unittest stm32pio.tests.test.TestIntegration -b -v -stm32pio-repo/ $ python -m unittest stm32pio.tests.test.TestCLI.test_verbose -b -v +stm32pio-repo/ $ python -m unittest tests.test_integration.TestIntegration -b -v +stm32pio-repo/ $ python -m unittest tests.test_cli.TestCLI.test_verbosity -b -v ``` diff --git a/TODO.md b/TODO.md index 998da97..8c20920 100644 --- a/TODO.md +++ b/TODO.md @@ -8,7 +8,7 @@ - [ ] Create VSCode plugin - [ ] UML diagrams (core, logging (logger vs adapter vs handler vs formatter etc), GUI back- and front-ends, thread flows, events, etc.) - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI - - [ ] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function + - [x] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function ## GUI version - [ ] Obtain boards on demand (not at the startup) @@ -37,35 +37,35 @@ - [ ] QML logging - pass to Python' `logging` and establish a similar format. Distinguish between `console.log()`, `console.error()` and so on - [ ] Lost log box autoscroll when manually scrolling between the actions - [ ] Crash on shutdown in Win and Linux (errors such as `[QML] CRITICAL QThread: Destroyed while thread is still running Process finished with exit code 1073741845`) - - [ ] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) + - [x] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - [ ] Linux: - Not a monospaced font in the log area - [ ] Temporarily pin projects with currently running actions to the top (and stay there on scrolling). See QML Package type ## Core library - [x] https://github.com/ussserrr/stm32pio/issues/13 - - [ ] Add more checks, for example when updating the project (`generate` command), check for boards matching and so on... + - [ ] when updating the project (`generate` command), check for boards match - [x] Remove casts to string where we can use path-like objects (related to Python version as new ones receive path-like objects arguments while old ones aren't) - [ ] We look for some snippets of strings in logs and output for the testing code but we hard-code them and this is not good, probably (e.g. 'DEBUG') - - [ ] Store a folder initial content in .ini config and ignore it on clean-up process. Allow the user to modify such list (i.e. list of exclusion) in the config file. Mb some integration with `.gitignore` + - [ ] Store an initial content of the folder in .ini config and ignore it on clean-up process. Allow the user to modify such list (i.e. list of exclusion) in the config file. Mb some integration with `.gitignore` - [ ] at some point check for all tools (CubeMX, ...) to be present in the system (both CLI and GUI) (global `--check` command (as `--version`), also before execution of the full cycle (no sense to start if some tool doesn't exist)) - [ ] generate code docs (help user to understand an internal mechanics, e.g. for embedding). Can be uploaded to the GitHub Wiki - - [ ] colored logs, maybe (brakes zero-dependency principle) - - [ ] check logging work when embed stm32pio lib in a third-party stuff (no logging setup at all) - - [ ] merge subprocess pipes to one where suitable (i.e. `stdout` and `stderr`) - - [ ] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) + - [ ] colored logs, maybe (breaks zero-dependency principle) + - [x] check logging work when embed stm32pio lib in a third-party stuff (no logging setup at all) + - [x] merge subprocess pipes to one where suitable (i.e. `stdout` and `stderr`) + - [x] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) - [ ] maybe migrate to async/await approach in the future (return some kind of a "remote controller" to control the running action) - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - [x] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) - - [ ] Test preserving user files and folders on regeneration and mb other operations - - [ ] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on - - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode). And, in general, we should show the error reason right off - - [ ] 'verbose' and 'non-verbose' tests as `subTest` (also `should_log_error_...`) + - [x] Test preserving user files and folders on regeneration and mb other operations + - [x] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on + - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode and repeat this action). And, in general, we should show the error reason right off + - [x] 'verbose' and 'non-verbose' tests as `subTest` (also `should_log_error_...`) - [ ] the lib sometimes raising, sometimes returning the code and it is not consistent. While the reasons behind such behavior are clear, would be great to always return a result code and raise the exceptions in the outer scope, if there is need to - [ ] check board (no sense to go further on 'new' if the board in config.ini is not correct) - [x] check if `platformio.ini` config will be successfully parsed when there are interpolation and/or empty parameters - [x] check if `.ioc` file is a text file on project initialization. Let `_find_ioc_file()` method to use explicitly provided file (useful for GUI). Maybe let user specify it via CLI - - [ ] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) + - [x] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini (shell=True or a list of args (split a string)) diff --git a/stm32pio/app.py b/stm32pio/app.py index 0d8ba36..7542a6c 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -23,7 +23,7 @@ def parse_args(args: List[str]) -> Optional[argparse.Namespace]: """ - Dedicated function to parse the arguments given via CLI + Dedicated function to parse the arguments given via CLI. Args: args: list of strings CLI arguments @@ -77,15 +77,50 @@ def parse_args(args: List[str]) -> Optional[argparse.Namespace]: return root_parser.parse_args(args) -def main(sys_argv: List[str] = None) -> int: +def setup_logging(args_verbose_counter: int = 0, dummy: bool = False) -> logging.Logger: """ - Can be used as a high-level wrapper to do complete tasks + Configure some root logger. The corresponding adapters for every project will be dependent on this. + + Args: + args_verbose_counter: verbosity level (currently only 2 levels are supported: NORMAL, VERBOSE) + dummy: create a NullHandler logger if true + + Returns: + logging.Logger instance + """ + if dummy: + logger = logging.getLogger(__name__) + logger.addHandler(logging.NullHandler()) + else: + logger = logging.getLogger('stm32pio') + logger.setLevel(logging.DEBUG if args_verbose_counter else logging.INFO) + handler = logging.StreamHandler() + formatter = stm32pio.util.DispatchingFormatter( + verbosity=stm32pio.util.Verbosity.VERBOSE if args_verbose_counter else stm32pio.util.Verbosity.NORMAL, + general={ + stm32pio.util.Verbosity.NORMAL: logging.Formatter("%(levelname)-8s %(message)s"), + stm32pio.util.Verbosity.VERBOSE: logging.Formatter( + f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") + }) + handler.setFormatter(formatter) + logger.addHandler(handler) + logger.debug("debug logging enabled") + return logger + + +def main(sys_argv: List[str] = None, should_setup_logging: bool = True) -> int: + """ + Can be used as a high-level wrapper to do complete tasks. Example: ret_code = stm32pio.app.main(sys_argv=['new', '-d', '~/path/to/project', '-b', 'nucleo_f031k6', '--with-build']) Args: sys_argv: list of strings CLI arguments + should_setup_logging: if this is true, the preferable default logging schema would be applied, otherwise it is a + caller responsibility to provide (or do not) some logging configuration. The latter can be useful when the + outer code makes sequential calls to this API so it is unwanted to append the logging handlers every time + (e.g. when unit-testing) Returns: 0 on success, -1 otherwise @@ -101,19 +136,7 @@ def main(sys_argv: List[str] = None) -> int: gui_args = [arg for arg in sys_argv if arg != 'gui'] return stm32pio_gui.app.main(sys_argv=gui_args) elif args is not None and args.subcommand is not None: - logger = logging.getLogger('stm32pio') - logger.setLevel(logging.DEBUG if args.verbose else logging.INFO) - handler = logging.StreamHandler() - formatter = stm32pio.util.DispatchingFormatter( - verbosity=stm32pio.util.Verbosity.VERBOSE if args.verbose else stm32pio.util.Verbosity.NORMAL, - general={ - stm32pio.util.Verbosity.NORMAL: logging.Formatter("%(levelname)-8s %(message)s"), - stm32pio.util.Verbosity.VERBOSE: logging.Formatter( - f"%(levelname)-8s %(funcName)-{stm32pio.settings.log_fieldwidth_function}s %(message)s") - }) - handler.setFormatter(formatter) - logger.addHandler(handler) - logger.debug("debug logging enabled") + logger = setup_logging(args_verbose_counter=args.verbose, dummy=not should_setup_logging) else: print("\nNo arguments were given, exiting...") return 0 @@ -121,8 +144,8 @@ def main(sys_argv: List[str] = None) -> int: # Main routine try: if args.subcommand == 'init': - project = stm32pio.lib.Stm32pio(args.path, parameters={ 'project': { 'board': args.board } }, - instance_options={ 'save_on_destruction': True }) + project = stm32pio.lib.Stm32pio(args.path, parameters={'project': {'board': args.board}}, + instance_options={'save_on_destruction': True}) if not args.board: logger.warning("PlatformIO board identifier is not specified, it will be needed on PlatformIO project " "creation. Type 'pio boards' or go to https://platformio.org to find an appropriate " @@ -132,8 +155,8 @@ def main(sys_argv: List[str] = None) -> int: project.start_editor(args.editor) elif args.subcommand == 'new': - project = stm32pio.lib.Stm32pio(args.path, parameters={ 'project': { 'board': args.board } }, - instance_options={ 'save_on_destruction': True }) + project = stm32pio.lib.Stm32pio(args.path, parameters={'project': {'board': args.board}}, + instance_options={'save_on_destruction': True}) if project.config.get('project', 'board') == '': raise Exception("PlatformIO board identifier is not specified, it is needed for PlatformIO project " "creation. Type 'pio boards' or go to https://platformio.org to find an appropriate " diff --git a/stm32pio/lib.py b/stm32pio/lib.py index 50b794e..f08e4b7 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -363,7 +363,7 @@ def _save_config(config: configparser.ConfigParser, path: pathlib.Path, logger: logger.warning(f"cannot save the config: {e}", exc_info=logger.isEnabledFor(logging.DEBUG)) return -1 - def save_config(self, parameters: dict = None) -> int: + def save_config(self, parameters: Mapping[str, Mapping[str, Any]] = None) -> int: """ Invokes base _save_config function. Preliminarily, updates the config with the given 'parameters' dictionary. It should has the following format: diff --git a/stm32pio/settings.py b/stm32pio/settings.py index 7b4e9de..e316306 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -56,6 +56,6 @@ config_file_name = 'stm32pio.ini' -# Longest name (not necessarily ф method so a little bit tricky...) +# Longest name (not necessarily a method so a little bit tricky...) log_fieldwidth_function = max([len(member) for member in dir(stm32pio.lib.Stm32pio)]) + 1 # log_fieldwidth_function = 25 + 1 diff --git a/stm32pio/util.py b/stm32pio/util.py index 444042b..303a3e7 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -7,7 +7,6 @@ import logging import os import subprocess -import sys import threading import traceback import warnings @@ -26,15 +25,21 @@ } -def log_current_exception(logger: logging.Logger, show_traceback_threshold_level=logging.DEBUG): +def log_current_exception(logger: logging.Logger, show_traceback_threshold_level: int = logging.DEBUG): """ Print format is: ExceptionName: message [optional] traceback + + We do not explicitly retrieve an exception info via sys.exc_info() as it immediately stores a reference to the + current Python frame and/or variables causing some possible weird errors (objects are not GC'ed) and memory leaks. + See https://cosmicpercolator.com/2016/01/13/exception-leaks-in-python-2-and-3/ for more information """ - logger.exception(traceback.format_exception_only(*(sys.exc_info()[:2]))[-1], - exc_info=logger.isEnabledFor(show_traceback_threshold_level)) + exc_full_str = traceback.format_exc() + exc_str = exc_full_str.splitlines()[-1] + exc_tb = ''.join(exc_full_str.splitlines(keepends=True)[:-1]) + logger.error(f'{exc_str}\n{exc_tb}' if logger.isEnabledFor(show_traceback_threshold_level) else exc_str) class ProjectLoggerAdapter(logging.LoggerAdapter): @@ -157,8 +162,8 @@ def __init__(self, fd: int): class LogPipe(threading.Thread): """ The thread combined with a context manager to provide a nice way to temporarily redirect something's stream output - into logging module. The most straightforward application is to suppress subprocess STDOUT and/or STDERR streams and - wrap them in the logging mechanism as it is now for any other message in your app. Also, store the incoming messages + into the logging module. One straightforward application is to suppress subprocess STDOUT and/or STDERR streams and + wrap them into the logging mechanism as it is now for any other message in your app. Also, store the incoming messages in the string """ diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 5655e64..74025da 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -191,9 +191,8 @@ def init_project(self, *args, **kwargs) -> None: """ try: self.project = stm32pio.lib.Stm32pio(*args, **kwargs) - except Exception as e: + except Exception: stm32pio.util.log_current_exception(self.logger) - # self.logger.debug('error') if len(args): self._name = args[0] # use a project path string (as it should be a first argument) as a name else: @@ -438,8 +437,8 @@ def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=Tru # When we add a bunch of projects (or in the general case, too) recently added ones can be not instantiated yet # so we need to check - duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if list_item.project is not None and - list_item.project.path.samefile(pathlib.Path(path))), -1) + duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if (list_item.project is not None and + list_item.project.path.samefile(pathlib.Path(path))) or path == list_item.name), -1) if duplicate_index > -1: # Just added project is already in the list so abort the addition and jump to the existing one module_logger.warning(f"This project is already in the list: {path}") @@ -754,7 +753,6 @@ def loaded(_: str, success: bool): loader.finished.connect(loaded) QThreadPool.globalInstance().start(loader) - return app.exec_() diff --git a/tests/test.py b/tests/test.py index d449e18..91270e1 100755 --- a/tests/test.py +++ b/tests/test.py @@ -1,6 +1,6 @@ """ -Common preparations for all test suites. Use this as a source of constants for test cases. Find the tests themself at -concrete files +Common preparations for all test suites. Use this as a source of constants for test cases. Find the tests themselfs at +the concrete files NOTE: make sure the test project tree is clean before running the tests! @@ -14,6 +14,7 @@ """ import inspect +import logging import pathlib import shutil import sys @@ -27,13 +28,14 @@ if not TEST_PROJECT_PATH.joinpath('stm32pio-test-project.ioc').is_file(): raise FileNotFoundError("No test project is present") -# Gently ask a user running tests to remove all irrelevant files from the TEST_PROJECT_PATH +# Gently ask a user running tests to remove all irrelevant files from the TEST_PROJECT_PATH as they can interfere with +# execution if len(list(TEST_PROJECT_PATH.iterdir())) > 1: raise Warning(f"There are extrinsic files in the test project directory '{TEST_PROJECT_PATH}'. Please persist only " - "the .ioc file") + "the .ioc file and restart") -# Make sure you have F0 framework installed (try to run code generation from STM32CubeMX manually at least once before -# proceeding) +# Make sure you have F0 framework installed (both for PlatformIO and CubeMX) (try to run a code generation and build +# manually at least once before proceeding) TEST_PROJECT_BOARD = 'nucleo_f031k6' # Instantiate a temporary folder on every test suite run. It is used across all the tests and is deleted on shutdown @@ -53,9 +55,7 @@ class CustomTestCase(unittest.TestCase): - """ - These pre- and post-tasks are common for all test cases - """ + """These pre- and post-tasks are common for all test cases""" def setUp(self): """ diff --git a/tests/test_cli.py b/tests/test_cli.py index d95a5cc..7e672b7 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -9,6 +9,7 @@ import stm32pio.app import stm32pio.lib import stm32pio.settings +import stm32pio.util # Provides test constants from tests.test import * @@ -16,8 +17,8 @@ class TestCLI(CustomTestCase): """ - Some tests to mimic the behavior of end-user tasks (CLI commands such as 'new', 'clean', etc.). Run main function - passing the arguments to it but sometimes even run as subprocess (to capture actual STDOUT/STDERR output) + Some tests to mimic the behavior of end-user tasks (CLI commands such as 'new', 'clean', etc.). Run the main + function passing the arguments to it but sometimes even run as subprocess (to capture actual STDOUT/STDERR output) """ def test_clean(self): @@ -31,10 +32,12 @@ def test_clean(self): # Clean ... if case == '--quiet': - return_code = stm32pio.app.main(sys_argv=['clean', case, '-d', str(FIXTURE_PATH)]) + return_code = stm32pio.app.main(sys_argv=['clean', case, '-d', str(FIXTURE_PATH)], + should_setup_logging=False) else: with unittest.mock.patch('builtins.input', return_value=case): - return_code = stm32pio.app.main(sys_argv=['clean', '-d', str(FIXTURE_PATH)]) + return_code = stm32pio.app.main(sys_argv=['clean', '-d', str(FIXTURE_PATH)], + should_setup_logging=False) self.assertEqual(return_code, 0, msg="Non-zero return code") @@ -59,15 +62,16 @@ def test_new(self): """ Successful build is the best indicator that all went right so we use '--with-build' option here """ - return_code = stm32pio.app.main(sys_argv=['new', '-d', str(FIXTURE_PATH), '-b', TEST_PROJECT_BOARD, - '--with-build']) + return_code = stm32pio.app.main( + sys_argv=['new', '-d', str(FIXTURE_PATH), '-b', TEST_PROJECT_BOARD, '--with-build'], + should_setup_logging=False) self.assertEqual(return_code, 0, msg="Non-zero return code") # .ioc file should be preserved self.assertTrue(FIXTURE_PATH.joinpath(f"{FIXTURE_PATH.name}.ioc").is_file(), msg="Missing .ioc file") def test_generate(self): - return_code = stm32pio.app.main(sys_argv=['generate', '-d', str(FIXTURE_PATH)]) + return_code = stm32pio.app.main(sys_argv=['generate', '-d', str(FIXTURE_PATH)], should_setup_logging=False) self.assertEqual(return_code, 0, msg="Non-zero return code") for directory in ['Inc', 'Src']: @@ -79,94 +83,87 @@ def test_generate(self): # .ioc file should be preserved self.assertTrue(FIXTURE_PATH.joinpath(f"{FIXTURE_PATH.name}.ioc").is_file(), msg="Missing .ioc file") - def test_incorrect_path_should_log_error(self): + def test_should_log_error(self): """ - We should see an error log message and non-zero return code + We should see an error log message and a non-zero return code """ - path_not_exist = pathlib.Path('path_some_uniq_name/does/not/exist') - - with self.assertLogs(level='ERROR') as logs: - return_code = stm32pio.app.main(sys_argv=['init', '-d', str(path_not_exist)]) - self.assertNotEqual(return_code, 0, msg="Return code should be non-zero") - # Actual text may vary and depends on OS and system language so we check only for a part of path string - self.assertTrue(next((True for message in logs.output if 'path_some_uniq_name' in message.lower()), False), - msg="'ERROR' logging message hasn't been printed") - - def test_no_ioc_file_should_log_error(self): + with self.subTest(error="Incorrect path"): + path_not_exist = pathlib.Path('path_some_uniq_name/does/not/exist') + with self.assertLogs(level='ERROR') as logs: + return_code = stm32pio.app.main(sys_argv=['init', '-d', str(path_not_exist)], + should_setup_logging=False) + self.assertNotEqual(return_code, 0, msg="Return code should be non-zero") + # Actual text varies for different OSes and system languages so we check only for a part of the string + self.assertTrue(next((True for msg in logs.output if 'path_some_uniq_name' in msg.lower()), False), + msg="'ERROR' logging message hasn't been printed") + + with self.subTest(error="No .ioc file"): + dir_with_no_ioc_file = FIXTURE_PATH.joinpath('dir.with.no.ioc.file') + dir_with_no_ioc_file.mkdir(exist_ok=False) + with self.assertLogs(level='ERROR') as logs: + return_code = stm32pio.app.main(sys_argv=['init', '-d', str(dir_with_no_ioc_file)], + should_setup_logging=False) + self.assertNotEqual(return_code, 0, msg="Return code should be non-zero") + self.assertTrue(next((True for msg in logs.output if FileNotFoundError.__name__ in msg), False), + msg="'ERROR' logging message hasn't been printed") + + def test_verbosity(self): """ - We should see an error log message and non-zero return code - """ - dir_with_no_ioc_file = FIXTURE_PATH.joinpath('dir.with.no.ioc.file') - dir_with_no_ioc_file.mkdir(exist_ok=False) - - with self.assertLogs(level='ERROR') as logs: - return_code = stm32pio.app.main(sys_argv=['init', '-d', str(dir_with_no_ioc_file)]) - self.assertNotEqual(return_code, 0, msg="Return code should be non-zero") - self.assertTrue(next((True for message in logs.output if FileNotFoundError.__name__ in message), False), - msg="'ERROR' logging message hasn't been printed") - - def test_verbose(self): - """ - Capture the full output. Check for both 'DEBUG' logging messages and STM32CubeMX CLI output. Verbose logs format - should match such a regex: + Capture the full output. Check both the app logging messages and STM32CubeMX CLI output. Completely isolate + runs by using subprocess + Verbose logs format should match such a regex: ^(?=(DEBUG|INFO|WARNING|ERROR|CRITICAL) {0,4})(?=.{8} (?=(build|pio_init|...) {0,26})(?=.{26} [^ ])) + + Non-verbose: + ^(?=(INFO) {0,4})(?=.{8} ((?!( |build|pio_init|...)))) """ # inspect.getmembers() is great but it triggers class properties to execute leading to the unwanted code # execution methods = dir(stm32pio.lib.Stm32pio) + ['main'] - buffer_stdout, buffer_stderr = io.StringIO(), io.StringIO() - with contextlib.redirect_stdout(buffer_stdout), contextlib.redirect_stderr(buffer_stderr): - return_code = stm32pio.app.main(sys_argv=['-v', 'new', '-d', str(FIXTURE_PATH), '-b', TEST_PROJECT_BOARD]) + with self.subTest(verbosity_level=stm32pio.util.Verbosity.NORMAL): + result = subprocess.run([PYTHON_EXEC, STM32PIO_MAIN_SCRIPT, 'generate', '-d', str(FIXTURE_PATH)], + stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='utf-8') - self.assertEqual(return_code, 0, msg="Non-zero return code") - # stderr and not stdout contains the actual output (by default for the logging module) - self.assertEqual(len(buffer_stdout.getvalue()), 0, - msg="Process has printed something directly into STDOUT bypassing logging") - self.assertIn('DEBUG', buffer_stderr.getvalue(), msg="Verbose logging output hasn't been enabled on STDERR") - - # Inject all methods' names in the regex. Inject the width of field in a log format string - regex = re.compile("^(?=(DEBUG) {0,4})(?=.{8} (?=(" + '|'.join(methods) + ") {0," + - str(stm32pio.settings.log_fieldwidth_function) + "})(?=.{" + - str(stm32pio.settings.log_fieldwidth_function) + "} [^ ]))", flags=re.MULTILINE) - self.assertGreaterEqual(len(re.findall(regex, buffer_stderr.getvalue())), 1, - msg="Logs messages doesn't match the format") - - # The snippet of the actual STM32CubeMX output - self.assertIn("Starting STM32CubeMX", buffer_stderr.getvalue(), msg="STM32CubeMX has not printed its logs") - - def test_non_verbose(self): - """ - Capture the full output. We should not see any 'DEBUG' logging messages or STM32CubeMX CLI output. Logs format - should match such a regex: + self.assertEqual(result.returncode, 0, msg="Non-zero return code") + # stderr and not stdout contains the actual output (by default for the logging module) + self.assertNotIn('DEBUG', result.stderr, msg="Verbose logging output has been enabled on stderr") + self.assertEqual(len(result.stdout), 0, + msg="Entire app output should flow through the logging module") - ^(?=(INFO) {0,4})(?=.{8} ((?!( |build|pio_init|...)))) - """ + regex = re.compile("^(?=(INFO) {0,4})(?=.{8} ((?!( |" + '|'.join(methods) + "))))", flags=re.MULTILINE) + self.assertGreaterEqual(len(re.findall(regex, result.stderr)), 1, + msg="Logs messages doesn't match the format") - # inspect.getmembers is great but it triggers class properties leading to the unacceptable code execution - methods = dir(stm32pio.lib.Stm32pio) + ['main'] + # The snippet of the actual STM32CubeMX output + self.assertNotIn('Starting STM32CubeMX', result.stderr, msg="STM32CubeMX has printed its logs") - buffer_stdout, buffer_stderr = io.StringIO(), io.StringIO() - with contextlib.redirect_stdout(buffer_stdout), contextlib.redirect_stderr(buffer_stderr): - return_code = stm32pio.app.main(sys_argv=['generate', '-d', str(FIXTURE_PATH)]) + with self.subTest(verbosity_level=stm32pio.util.Verbosity.VERBOSE): + result = subprocess.run([PYTHON_EXEC, STM32PIO_MAIN_SCRIPT, '-v', 'new', '-d', str(FIXTURE_PATH), + '-b', TEST_PROJECT_BOARD], stdout=subprocess.PIPE, stderr=subprocess.PIPE, + encoding='utf-8') - self.assertEqual(return_code, 0, msg="Non-zero return code") - # stderr and not stdout contains the actual output (by default for the logging module) - self.assertNotIn('DEBUG', buffer_stderr.getvalue(), msg="Verbose logging output has been enabled on stderr") - self.assertEqual(len(buffer_stdout.getvalue()), 0, msg="All app output should flow through the logging module") + self.assertEqual(result.returncode, 0, msg="Non-zero return code") + # stderr and not stdout contains the actual output (by default for the logging module) + self.assertEqual(len(result.stdout), 0, + msg="Process has printed something directly into STDOUT bypassing logging") + self.assertIn('DEBUG', result.stderr, msg="Verbose logging output hasn't been enabled on STDERR") - regex = re.compile("^(?=(INFO) {0,4})(?=.{8} ((?!( |" + '|'.join(methods) + "))))", flags=re.MULTILINE) - self.assertGreaterEqual(len(re.findall(regex, buffer_stderr.getvalue())), 1, - msg="Logs messages doesn't match the format") + # Inject all methods' names in the regex. Inject the width of field in a log format string + regex = re.compile("^(?=(DEBUG) {0,4})(?=.{8} (?=(" + '|'.join(methods) + ") {0," + + str(stm32pio.settings.log_fieldwidth_function) + "})(?=.{" + + str(stm32pio.settings.log_fieldwidth_function) + "} [^ ]))", flags=re.MULTILINE) + self.assertGreaterEqual(len(re.findall(regex, result.stderr)), 1, + msg="Logs messages doesn't match the format") - # The snippet of the actual STM32CubeMX output - self.assertNotIn('Starting STM32CubeMX', buffer_stderr.getvalue(), msg="STM32CubeMX has printed its logs") + # The snippet of the actual STM32CubeMX output + self.assertIn("Starting STM32CubeMX", result.stderr, msg="STM32CubeMX has not printed its logs") def test_init(self): """ - Check for config creation and parameters presence + Check for the config creation and parameters presence """ result = subprocess.run([PYTHON_EXEC, STM32PIO_MAIN_SCRIPT, 'init', '-d', str(FIXTURE_PATH), '-b', TEST_PROJECT_BOARD], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) @@ -179,19 +176,20 @@ def test_init(self): config.read(str(FIXTURE_PATH.joinpath(stm32pio.settings.config_file_name))) for section, parameters in stm32pio.settings.config_default.items(): for option, value in parameters.items(): - with self.subTest(section=section, option=option, msg="Section/key is not found in saved config file"): + with self.subTest(section=section, option=option, + msg="Section/key is not found in the saved config file"): self.assertIsNotNone(config.get(section, option, fallback=None)) self.assertEqual(config.get('project', 'board', fallback="Not found"), TEST_PROJECT_BOARD, msg="'board' has not been set") def test_status(self): """ - Test the output returning by the app on a request to the 'status' command + Test the app output returned as a response to the 'status' command """ buffer_stdout = io.StringIO() with contextlib.redirect_stdout(buffer_stdout), contextlib.redirect_stderr(None): - return_code = stm32pio.app.main(sys_argv=['status', '-d', str(FIXTURE_PATH)]) + return_code = stm32pio.app.main(sys_argv=['status', '-d', str(FIXTURE_PATH)], should_setup_logging=False) self.assertEqual(return_code, 0, msg="Non-zero return code") @@ -206,4 +204,4 @@ def test_status(self): self.assertGreater(match.start(), last_stage_pos, msg="The order of stages is messed up") last_stage_pos = match.start() - self.assertEqual(matches_counter, len(stm32pio.lib.ProjectStage) - 1) + self.assertEqual(matches_counter, len(stm32pio.lib.ProjectStage) - 1) # UNDEFINED stage should not be printed diff --git a/tests/test_integration.py b/tests/test_integration.py index eaf98ac..390bac6 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -17,7 +17,7 @@ class TestIntegration(CustomTestCase): def test_rebase_project(self): """ Test the portability of projects: they should stay totally valid after moving to another path (same as renaming - the parent part of the path). If we will not meet any exceptions, we should consider the test passed. + the parent part of the path). If we will not meet any exceptions, we should consider the test passed """ project_before = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) project_before.save_config() @@ -26,14 +26,14 @@ def test_rebase_project(self): shutil.move(str(project_before.path), new_path) project_after = stm32pio.lib.Stm32pio(new_path, parameters={'project': {'board': TEST_PROJECT_BOARD}}) - project_after.generate_code() - project_after.pio_init() - project_after.patch() - project_after.build() + self.assertEqual(project_after.generate_code(), 0) + self.assertEqual(project_after.pio_init(), 0) + self.assertEqual(project_after.patch(), None) + self.assertEqual(project_after.build(), 0) def test_config_priorities(self): """ - Test the compliance with priorities when reading the parameters + Test the compliance with the priorities when reading the parameters """ # Sample user's custom patch value config_parameter_user_value = inspect.cleandoc(''' @@ -61,7 +61,7 @@ def test_config_priorities(self): project.pio_init() project.patch() - # Actually, we can parse platformio.ini via configparser but this is simpler in our case + # Actually, we can parse the platformio.ini via the configparser but this is simpler in our case after_patch_content = FIXTURE_PATH.joinpath('platformio.ini').read_text() self.assertIn(config_parameter_user_value, after_patch_content, msg="User config parameter has not been prioritized over the default one") @@ -77,9 +77,7 @@ def test_build(self): project.pio_init() project.patch() - result = project.build() - - self.assertEqual(result, 0, msg="Build failed") + self.assertEqual(project.build(), 0, msg="Build failed") def test_regenerate_code(self): """ @@ -119,28 +117,43 @@ def test_current_stage(self): """ Go through the sequence of states emulating the real-life project lifecycle """ - project = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.EMPTY) - - project.save_config() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.INITIALIZED) - project.generate_code() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.GENERATED) + project = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) - project.pio_init() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.PIO_INITIALIZED) + for method, expected_stage in [(None, stm32pio.lib.ProjectStage.EMPTY), + ('save_config', stm32pio.lib.ProjectStage.INITIALIZED), + ('generate_code', stm32pio.lib.ProjectStage.GENERATED), + ('pio_init', stm32pio.lib.ProjectStage.PIO_INITIALIZED), + ('patch', stm32pio.lib.ProjectStage.PATCHED), + ('build', stm32pio.lib.ProjectStage.BUILT), + ('clean', stm32pio.lib.ProjectStage.EMPTY), + ('pio_init', stm32pio.lib.ProjectStage.UNDEFINED)]: + if method is not None: + getattr(project, method)() + self.assertEqual(project.state.current_stage, expected_stage) + if expected_stage != stm32pio.lib.ProjectStage.UNDEFINED: + self.assertTrue(project.state.is_consistent) + else: + # Should be UNDEFINED when the project is messed up (pio_init() after clean()) + self.assertFalse(project.state.is_consistent) + + def test_users_files_preservation(self): + """ + Check that custom user's files and folders will remain untouched throughout all the steps of the project + """ - project.patch() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.PATCHED) + users_file = FIXTURE_PATH.joinpath('some_users_file.txt') + users_file_content = "Sample content that any human can put into a text file" + users_file.write_text(users_file_content) + users_dir = FIXTURE_PATH.joinpath('some_users_directory') + users_dir.mkdir() - project.build() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.BUILT) + def check_preservation(): + self.assertTrue(all(item in FIXTURE_PATH.iterdir() for item in [users_file, users_dir])) + self.assertIn(users_file_content, users_file.read_text()) - project.clean() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.EMPTY) + project = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) - # Should be UNDEFINED when the project is messed up - project.pio_init() - self.assertEqual(project.state.current_stage, stm32pio.lib.ProjectStage.UNDEFINED) - self.assertFalse(project.state.is_consistent) + for method in ['save_config', 'generate_code', 'pio_init', 'patch', 'build']: + getattr(project, method)() + check_preservation() diff --git a/tests/test_unit.py b/tests/test_unit.py index 03c93bf..52dd9ad 100644 --- a/tests/test_unit.py +++ b/tests/test_unit.py @@ -1,3 +1,4 @@ +import collections import configparser import inspect import platform @@ -34,9 +35,9 @@ def test_generate_code(self): def test_pio_init(self): """ - Consider that existence of 'platformio.ini' file showing a successful PlatformIO project initialization. The - last one has another traces that can be checked too but we are interested only in a 'platformio.ini' anyway. - Also, check that it is a correct configparser file and is not empty + Consider that the existence of a 'platformio.ini' file showing a successful PlatformIO project initialization. + There are other artifacts that can be checked too but we are interested only in a 'platformio.ini' anyway. Also, + check that it is a correct configparser.ConfigParser file and is not empty """ project = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) result = project.pio_init() @@ -50,8 +51,8 @@ def test_pio_init(self): def test_patch(self): """ - Check that new parameters were added, modified were updated and existing parameters didn't gone. Also, check for - unnecessary folders deletion + Check that the new parameters have been added, modified ones have been updated and existing parameters didn't + gone. Also, check for unnecessary folders deletion """ project = stm32pio.lib.Stm32pio(FIXTURE_PATH) @@ -111,7 +112,7 @@ def test_build_should_handle_error(self): with self.assertLogs(level='ERROR') as logs: self.assertNotEqual(project.build(), 0, msg="Build error was not indicated") - # next() - Technique to find something in array, string, etc. (or to indicate that there is no) + # next() - Technique to find something in array, string, etc. (or to indicate that there is no of such) self.assertTrue(next((True for item in logs.output if "PlatformIO build error" in item), False), msg="Error message does not match") @@ -121,7 +122,7 @@ def test_start_editor(self): """ project = stm32pio.lib.Stm32pio(FIXTURE_PATH) - editors = { + editors = { # some edotors to check 'atom': { 'Windows': 'atom.exe', 'Darwin': 'Atom', @@ -168,24 +169,31 @@ def test_start_editor(self): def test_init_path_not_found_should_raise(self): """ - Pass non-existing path and expect the error + Pass a non-existing path and expect the error """ path_does_not_exist_name = 'does_not_exist' path_does_not_exist = FIXTURE_PATH.joinpath(path_does_not_exist_name) with self.assertRaisesRegex(FileNotFoundError, path_does_not_exist_name, - msg="FileNotFoundError was not raised or doesn't contain a description"): + msg="FileNotFoundError has not been raised or doesn't contain a description"): stm32pio.lib.Stm32pio(path_does_not_exist) def test_save_config(self): """ - Explicitly save the config to file and look did that actually happen and whether all the information was + Explicitly save the config to a file and look did that actually happen and whether all the information was preserved """ # 'board' is non-default, 'project'-section parameter project = stm32pio.lib.Stm32pio(FIXTURE_PATH, parameters={'project': {'board': TEST_PROJECT_BOARD}}) - project.save_config() + # Merge additional parameters + retcode = project.save_config({ + 'project': { + 'additional_test_key': 'test_value' + } + }) + + self.assertEqual(retcode, 0, msg="Return code of the method is non-zero") self.assertTrue(FIXTURE_PATH.joinpath(stm32pio.settings.config_file_name).is_file(), msg=f"{stm32pio.settings.config_file_name} file hasn't been created") @@ -200,12 +208,18 @@ def test_save_config(self): self.assertEqual(config.get('project', 'board', fallback="Not found"), TEST_PROJECT_BOARD, msg="'board' has not been set") + self.assertEqual(config.get('project', 'additional_test_key', fallback="Not found"), 'test_value', + msg="Merged config is not present in the saved file") def test_get_platformio_boards(self): """ PlatformIO identifiers of boards are requested using PlatformIO CLI in JSON format """ - self.assertIsInstance(stm32pio.util.get_platformio_boards(platformio_cmd='platformio'), list) + boards = stm32pio.util.get_platformio_boards(platformio_cmd='platformio') + + self.assertIsInstance(boards, collections.abc.MutableSequence) + self.assertGreater(len(boards), 0, msg="boards list is empty") + self.assertTrue(all(isinstance(item, str) for item in boards), msg="some list items are not strings") def test_ioc_file_provided(self): """ @@ -216,8 +230,8 @@ def test_ioc_file_provided(self): shutil.copy(FIXTURE_PATH.joinpath('stm32pio-test-project.ioc'), FIXTURE_PATH.joinpath('42.ioc')) shutil.copy(FIXTURE_PATH.joinpath('stm32pio-test-project.ioc'), FIXTURE_PATH.joinpath('Abracadabra.ioc')) - project = stm32pio.lib.Stm32pio(FIXTURE_PATH.joinpath('42.ioc')) + project = stm32pio.lib.Stm32pio(FIXTURE_PATH.joinpath('42.ioc')) # pick just one self.assertTrue(project.ioc_file.samefile(FIXTURE_PATH.joinpath('42.ioc')), - msg="Provided .ioc file wasn't chosen") + msg="Provided .ioc file hasn't been chosen") self.assertEqual(project.config.get('project', 'ioc_file'), '42.ioc', msg="Provided .ioc file is not in the config") From b45ee0174f07a54dcb0ebd05064b24b338b205a7 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Mon, 4 May 2020 01:42:14 +0300 Subject: [PATCH 10/13] place the embedding example into the repository, clean up and docs GUI version --- TODO.md | 15 ++++ examples/README.md | 8 ++ examples/embedding.py | 59 ++++++++++++++ stm32pio/app.py | 2 +- stm32pio_gui/app.py | 185 +++++++++++++++++++++++------------------- 5 files changed, 184 insertions(+), 85 deletions(-) create mode 100644 examples/README.md create mode 100644 examples/embedding.py diff --git a/TODO.md b/TODO.md index 8c20920..d91a68f 100644 --- a/TODO.md +++ b/TODO.md @@ -21,6 +21,19 @@ - [ ] Some visual flaws when the window have got resized (e.g. 'Add' button position doesn't change until the list gets focus, 'Log' area crawls onto the status bar) - [x] Gray out "stage" line in all projects except current - [ ] Tests (research approaches and patterns) + - [ ] Remade the list item to use States, too. Probably, such properties need to be implemented: + ``` + state: { + loaded, + + visitedAfterInstantiating, + + actionRunning, + lastActionStatus, + visitedAfterAction, + ... + } + ``` - [x] Test performance with a large number of projects in the model. First test was made: 1. Some projects occasionally change `initLoading` by itself (probably Loader unloads the content) (hence cannot click on them, busy indicator appearing) @@ -75,3 +88,5 @@ - [x] move GUI-related stuff from the `util.py` - [x] typing (`Mapping` instead of `dict` and so on) - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI + - [ ] Update embedding example (and maybe move to the repo itself) + - [ ] Project' name (path) can be reused so cannot bu used as a unique identifier but so is id(self)? Probably it is better to use a path (human-readable) diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..587b4a7 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,8 @@ +# Examples +This directory contains some useful examples related to the project. + +## Table of contents +> - [embedding](#embedding) + +## Embedding +Refer to this script to see a minimal basic setup enough to perform the most of tasks with stm32pio projects in your code (i.e. how to establish a core library (`stm32pio` folder) in a 3rd party tools). diff --git a/examples/embedding.py b/examples/embedding.py new file mode 100644 index 0000000..a8e0fd9 --- /dev/null +++ b/examples/embedding.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +# Import the core library containing the main class - Stm32pio - representing the single project +import stm32pio.lib + +# Instantiate the project. We can pass parameters at the creation stage ... +project = stm32pio.lib.Stm32pio('./stm32pio-test-project', + parameters={ 'project': { 'board': 'nucleo_f429zi' } }) +# ... or later when there will be a need to do so +project.config.set('project', 'board', 'nucleo_f031k6') + +# Now we can apply any actions by invoking the methods and properties +project.save_config() # this will save the configuration file stm32pio.ini to the project folder + +# The state can be tracked at any point +print(project.state) # or ... +# Will output: +# [*] .ioc file is present +# [*] stm32pio initialized +# [ ] CubeMX code generated +# [ ] PlatformIO project initialized +# [ ] PlatformIO project patched +# [ ] PlatformIO project built +print(project.state[stm32pio.lib.ProjectStage.INITIALIZED] is True) # or ... +# True +print(project.state.current_stage) +# stm32pio initialized + +# If we do not setup logging in our code the inner logging.Logger instance is not allowed +# to propagate its messages though +project.generate_code() # we do not see any output here + +# But we can help it by configuring some logging schema +import logging +logger = logging.getLogger('stm32pio') # you can also provide a logger to the project instance itself +logger.setLevel(logging.INFO) # use logging.DEBUG for the verbose output +handler = logging.StreamHandler() # default STDERR stream +handler.setFormatter(logging.Formatter('%(levelname)s %(message)s')) +logger.addHandler(handler) + +# Or you can just use built-in logging schema which is basically doing the same stuff for you. Note though, that only a +# single option should be either picked at a time, otherwise records duplication will occur +import stm32pio.app +# logger = stm32pio.app.setup_logging() + +# Let's try again +project.pio_init() # now there should be handful logging records! +# INFO starting PlatformIO project initialization... +# INFO successful PlatformIO project initialization + +# Finally, you can use the high-level API - same as in the CLI version of the application - to perform complete tasks +project.clean() # clean up the previous results first +# Again, disabling the default logging to prevent interference +return_code = stm32pio.app.main(sys_argv=['new', '-d', './stm32pio-test-project', '-b', 'nucleo_f031k6'], + should_setup_logging=False) +print(return_code) +# 0 +project.clean() # clean up after yourself diff --git a/stm32pio/app.py b/stm32pio/app.py index 7542a6c..d43184d 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -__version__ = '1.21' +__version__ = '1.30' import argparse import inspect diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 74025da..34efb09 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -3,7 +3,7 @@ import argparse import collections -import gc +import copy import inspect import logging import pathlib @@ -12,7 +12,7 @@ import threading import time import weakref -from typing import List, Callable, Optional, Dict, Any, Mapping +from typing import List, Callable, Optional, Any, Mapping, MutableMapping try: from PySide2.QtCore import QUrl, Property, QAbstractListModel, QModelIndex, QObject, Qt, Slot, Signal, QThread,\ @@ -47,16 +47,21 @@ import stm32pio.app +ProjectID = int + class BuffersDispatchingHandler(logging.Handler): """ - Simple logging.Handler subclass putting all incoming records into the given buffer + Every user's project using its own buffer (collections.deque) to store logs. This simple logging.Handler subclass + finds and puts an incoming record into the corresponding buffer """ - buffers: Mapping[int, collections.deque] = {} + buffers: MutableMapping[ProjectID, collections.deque] = {} # the dictionary of projects' ids and theirs buffers def emit(self, record: logging.LogRecord) -> None: if hasattr(record, 'project_id'): + # As we exist in the asynchronous environment there is always a risk of some "desynchronization" when the + # project (and its buffer) has already been gone but some late message has arrived. Hence, we need to check buffer = self.buffers.get(record.project_id) if buffer is not None: buffer.append(record) @@ -64,16 +69,17 @@ def emit(self, record: logging.LogRecord) -> None: module_logger.warning(f"Logging buffer for the project id {record.project_id} not found. The message " f"was:\n{record.msg}") else: - module_logger.warning(f"LogRecord doesn't have a project_id attribute. Perhaps this is a result " - f"of the logging setup misconfiguration. The message was:\n{record.msg}") + module_logger.warning("LogRecord doesn't have a project_id attribute. Perhaps this is a result of the " + f"logging setup misconfiguration. Anyway, the message was:\n{record.msg}") class LoggingWorker(QObject): """ - QObject living in a separate QThread, logging everything it receiving. Intended to be an attached ProjectListItem - property. Stringifies log records using DispatchingFormatter and passes them via Signal interface so they can be - conveniently received by any Qt entity. Also, the level of the message is attaching so the reader can interpret them - differently. + QObject living in a separate QThread, logging everything it receiving. Intended to be an attached + ProjectListItem property. Stringifies log records using global BuffersDispatchingHandler instance (its + stm32pio.util.DispatchingFormatter, to be precise) and passes them via Qt Signal interface so they can be + conveniently received by any Qt entity. Also, the level of the message is attaching so the reader can + interpret them differently. Can be controlled by two threading.Event's: stopped - on activation, leads to thread termination @@ -83,54 +89,55 @@ class LoggingWorker(QObject): sendLog = Signal(str, int) - def __init__(self, project_id: int, parent: QObject = None): + def __init__(self, project_id: ProjectID, parent: QObject = None): super().__init__(parent=parent) self.project_id = project_id self.buffer = collections.deque() - projects_logger_handler.buffers[project_id] = self.buffer + projects_logger_handler.buffers[project_id] = self.buffer # register our buffer self.stopped = threading.Event() self.can_flush_log = threading.Event() self.thread = QThread() self.moveToThread(self.thread) - self.thread.started.connect(self.routine) self.thread.start() def routine(self) -> None: """ - The worker constantly querying the buffer on the new log messages availability. + The worker constantly querying the buffer on the new log messages availability """ while not self.stopped.wait(timeout=0.050): if self.can_flush_log.is_set() and len(self.buffer): record = self.buffer.popleft() self.sendLog.emit(projects_logger_handler.format(record), record.levelno) - module_logger.debug('exit logging worker') - projects_logger_handler.buffers.pop(self.project_id) + # TODO: maybe we should flush all remaining logs before termination + projects_logger_handler.buffers.pop(self.project_id) # unregister our buffer + module_logger.debug(f"exit LoggingWorker of project id {self.project_id}") self.thread.quit() class ProjectListItem(QObject): """ - The core functionality class - wrapper around Stm32pio class suitable for the project GUI representation + The core functionality class - the wrapper around the Stm32pio class suitable for the project GUI representation """ - nameChanged = Signal() # properties notifiers - stateChanged = Signal() - stageChanged = Signal() - logAdded = Signal(str, int, arguments=['message', 'level']) # send the log message to the front-end actionStarted = Signal(str, arguments=['action']) actionFinished = Signal(str, bool, arguments=['action', 'success']) - def __init__(self, project_args: list = None, project_kwargs: dict = None, from_startup: bool = False, - parent: QObject = None): + def __init__(self, project_args: List[any] = None, project_kwargs: Mapping[str, Any] = None, + from_startup: bool = False, parent: QObject = None): """ + Instance construction is split into 2 phases: the wrapper setup and inner Stm32pio class initialization. The + latter one is taken out to the separated thread as it is, potentially, a time-consuming operation. This thread + starts right after the main constructor so the wrapper is already built at that moment and therefore can be used + from GUI, be referenced and so on. + Args: project_args: list of positional arguments that will be passed to the Stm32pio constructor project_kwargs: dictionary of keyword arguments that will be passed to the Stm32pio constructor @@ -150,24 +157,24 @@ def __init__(self, project_args: list = None, project_kwargs: dict = None, from_ underlying_logger = logging.getLogger('stm32pio_gui.projects') self.logger = stm32pio.util.ProjectLoggerAdapter(underlying_logger, { 'project_id': id(self) }) - self.logging_worker = LoggingWorker(id(self)) + self.logging_worker = LoggingWorker(project_id=id(self)) self.logging_worker.sendLog.connect(self.logAdded) # QThreadPool can automatically queue new incoming tasks if a number of them are larger than maxThreadCount self.workers_pool = QThreadPool(parent=self) self.workers_pool.setMaxThreadCount(1) - self.workers_pool.setExpiryTimeout(-1) # tasks forever wait for the available spot + self.workers_pool.setExpiryTimeout(-1) # tasks wait forever for the available spot self._current_action = '' - # These values are valid till the Stm32pio project does not initialize itself (or failed to) + # These values are valid only until the Stm32pio project initialize itself (or failed to) (see init_project) self.project = None self._name = 'Loading...' - self._state = { 'LOADING': True } # pseudo-stage (isn't present in ProjectStage enum) + self._state = { 'LOADING': True } # pseudo-stage (not present in the ProjectStage enum but is used from QML) self._current_stage = 'Loading...' self.qml_ready = threading.Event() # the front and the back both should know when each other is initialized - # Register some kind of the deconstruction handler (later, after the project initialization) + # Register some kind of the deconstruction handler (later, after the project initialization, see init_project) self._finalizer = None if 'instance_options' not in project_kwargs: @@ -197,7 +204,7 @@ def init_project(self, *args, **kwargs) -> None: self._name = args[0] # use a project path string (as it should be a first argument) as a name else: self._name = 'Undefined' - self._state = { 'INIT_ERROR': True } # pseudo-stage (isn't present in ProjectStage enum) + self._state = { 'INIT_ERROR': True } # pseudo-stage self._current_stage = 'Initializing error' else: # Successful initialization. These values should not be used anymore but we "reset" them anyway @@ -217,17 +224,15 @@ def init_project(self, *args, **kwargs) -> None: @staticmethod def at_exit(workers_pool: QThreadPool, logging_worker: LoggingWorker, name: str): """ - Instance deconstruction handler meant to be used with weakref.finalize() conforming with the requirement to have - no reference to the target object (so it is decorated as 'staticmethod') + The instance deconstruction handler is meant to be used with weakref.finalize() conforming with the requirement + to have no reference to the target object (so it doesn't contain any instance reference and also is decorated as + 'staticmethod') """ - module_logger.info(f"destroy {name}") # Wait forever for all the jobs to complete. Currently, we cannot abort them gracefully - try: - workers_pool.waitForDone(msecs=-1) - except Exception as e: - print(e) + workers_pool.waitForDone(msecs=-1) logging_worker.stopped.set() # post the event in the logging worker to inform it... logging_worker.thread.wait() # ...and wait for it to exit, too + module_logger.info(f"destroyed {name} ProjectListItem") @Property(bool) @@ -240,10 +245,11 @@ def config(self) -> dict: """Inner project's ConfigParser config converted to the dictionary (QML JS object)""" return { section: { - key: value for (key, value) in self.project.config.items(section) + key: value for key, value in self.project.config.items(section) } if self.project is not None else {} for section in ['app', 'project'] } + nameChanged = Signal() @Property(str, notify=nameChanged) def name(self) -> str: """Human-readable name of the project. Will evaluate to the absolute path if it cannot be instantiated""" @@ -252,6 +258,7 @@ def name(self) -> str: else: return self._name + stateChanged = Signal() @Property('QVariant', notify=stateChanged) def state(self) -> dict: """ @@ -272,6 +279,7 @@ def state(self) -> dict: else: return self._state + stageChanged = Signal() @Property(str, notify=stageChanged) def currentStage(self) -> str: """ @@ -301,7 +309,8 @@ def actionStartedSlot(self, action: str): def actionFinishedSlot(self, action: str, success: bool): """Pass the corresponding signal from the worker, perform related tasks""" if not success: - self.workers_pool.clear() # clear the queue - stop further execution + # Clear the queue - stop further execution (cancel planned tasks if an error had happened) + self.workers_pool.clear() self.actionFinished.emit(action, success) # Currently, this property should be reset AFTER emitting the 'actionFinished' signal (because QML will query it # when the signal will be handled in StateMachine) (probably, should be resolved later as it is bad to be bound @@ -316,7 +325,7 @@ def qmlLoaded(self): @Slot(str, 'QVariantList') - def run(self, action: str, args: list): + def run(self, action: str, args: List[Any]): """ Asynchronously perform Stm32pio actions (generate, build, etc.) (dispatch all business logic). @@ -338,18 +347,18 @@ def run(self, action: str, args: list): class Worker(QObject, QRunnable): """ Generic worker for asynchronous processes: QObject + QRunnable combination. First allows to attach Qt signals, - second is compatible with QThreadPool. + second is compatible with the QThreadPool """ started = Signal(str, arguments=['action']) finished = Signal(str, bool, arguments=['action', 'success']) - def __init__(self, func: Callable[[list], Optional[int]], args: list = None, logger: logging.Logger = None, - parent: QObject = None): + def __init__(self, func: Callable[[List[Any]], Optional[int]], args: List[Any] = None, + logger: logging.Logger = None, parent: QObject = None): """ Args: - func: function to run. It should return 0 or None to call to be considered successful + func: function to run. It should return 0 or None for the call to be considered successful args: the list of positional arguments. They will be unpacked and passed to the function logger: optional logger to report about the occurred exception parent: Qt object @@ -392,7 +401,7 @@ def run(self): class ProjectsList(QAbstractListModel): """ QAbstractListModel implementation - describe basic operations and delegate all main functionality to the - ProjectListItem. + ProjectListItem """ goToProject = Signal(int, arguments=['indexToGo']) @@ -410,7 +419,7 @@ def __init__(self, projects: List[ProjectListItem] = None, parent: QObject = Non def get(self, index: int): """ Expose the ProjectListItem to the GUI QML side. You should firstly register the returning type using - qmlRegisterType or similar. + qmlRegisterType or similar """ if index in range(len(self.projects)): return self.projects[index] @@ -422,10 +431,24 @@ def data(self, index: QModelIndex, role=None): if role == Qt.DisplayRole or role is None: return self.projects[index.row()] - def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=True, go_to_this=False): + def addListItem(self, path_str: str, list_item_kwargs: Mapping[str, Any] = None, save_in_settings: bool = True, + go_to_this: bool = False): + """ + Create, append to the end and save in QSettings a new ProjectListItem instance with a given path. + + Args: + path_str: path as string + list_item_kwargs: keyword arguments passed to the ProjectListItem constructor + save_in_settings: whether to save added project to the Settings + go_to_this: should we jump to the new project in GUI + """ + + if list_item_kwargs is not None: + list_item_kwargs = dict(copy.deepcopy(list_item_kwargs)) # dict makes it mutable + path_qurl = QUrl(path_str) if path_qurl.isEmpty(): - # TODO: error + module_logger.warning(f"Given path is empty: {path_str}") return elif path_qurl.isLocalFile(): # file://... path = path_qurl.toLocalFile() @@ -436,15 +459,18 @@ def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=Tru return # When we add a bunch of projects (or in the general case, too) recently added ones can be not instantiated yet - # so we need to check - duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if (list_item.project is not None and - list_item.project.path.samefile(pathlib.Path(path))) or path == list_item.name), -1) + # so we cannot extract their properties and need to check before + duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if + (list_item.project is not None and list_item.project.path.samefile(pathlib.Path(path))) or + path == list_item.name # simply check strings if paths aren't available + ), -1) if duplicate_index > -1: # Just added project is already in the list so abort the addition and jump to the existing one module_logger.warning(f"This project is already in the list: {path}") self.goToProject.emit(duplicate_index) return + # Insert given path into the constructor args if list_item_kwargs is None: list_item_kwargs = { 'project_args': [path] } elif 'project_args' not in list_item_kwargs or len(list_item_kwargs['project_args']) == 0: @@ -454,6 +480,8 @@ def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=Tru self.beginInsertRows(QModelIndex(), self.rowCount(), self.rowCount()) + # The project is ready to be appended to the model right after the main constructor (wrapper) finished. The + # underlying Stm32pio class will be initialized soon later in the dedicated thread project = ProjectListItem(**list_item_kwargs) self.projects.append(project) index_of_added = len(self.projects) - 1 @@ -474,13 +502,9 @@ def addListItem(self, path_str: str, list_item_kwargs=None, save_in_settings=Tru @Slot('QStringList') def addProjectsByPaths(self, paths: List[str]): - """ - Create, append to the end and save in QSettings a new ProjectListItem instance with a given QUrl path (typically - is sent from the QML GUI). - """ - + """QUrl path (typically is sent from the QML GUI)""" if len(paths) == 0: - module_logger.warning("No path were given") + module_logger.warning("No paths were given") return else: for path in paths: @@ -499,7 +523,6 @@ def removeProject(self, index: int): self.beginRemoveRows(QModelIndex(), index, index) project = self.projects.pop(index) - print([(type(obj), obj) for obj in gc.get_referrers(project)]) # It allows the project to be deconstructed (i.e. GC'ed) very soon, not at the app shutdown time project.deleteLater() @@ -530,7 +553,6 @@ def removeProject(self, index: int): - class Settings(QSettings): """ Extend the class by useful get/set methods allowing to avoid redundant code lines and also are callable from the @@ -543,20 +565,20 @@ class Settings(QSettings): 'notifications': True } - def __init__(self, prefix: str, defaults: dict = None, qs_args: list = None, qs_kwargs: dict = None, - external_triggers: Dict[str, Callable[[str], Any]] = None): + def __init__(self, prefix: str, defaults: Mapping[str, Any] = None, qs_args: List[Any] = None, + qs_kwargs: Mapping[str, Any] = None, external_triggers: Mapping[str, Callable[[str], Any]] = None): """ Args: prefix: this prefix will always be added when get/set methods will be called so use it to group some most - needed preferences under a single name. For example, prefix='app/params' while the list of users is + important preferences under a single name. For example, prefix='app/params' while the list of users is located in 'app/users' - defaults: dictionary of fallback values (under the prefix mentioned above) that will be used if there is no + defaults: mapping of fallback values (under the prefix mentioned above) that will be used if there is no matching key in the storage qs_args: positional arguments that will be passed to the QSettings constructor qs_kwargs: keyword arguments that will be passed to the QSettings constructor - external_triggers: dictionary where the keys are parameters names (under the prefix) and the values are + external_triggers: mapping where the keys are parameters names (under the prefix) and the values are functions that will be called with the corresponding parameter value as the argument when the parameter - is going to be set. Itis useful for a setup of the additional actions needed to be performed right after + is going to be set. It's useful to setup the additional actions needed to be performed right after a certain parameter gets an update """ @@ -566,7 +588,7 @@ def __init__(self, prefix: str, defaults: dict = None, qs_args: list = None, qs_ super().__init__(*qs_args, **qs_kwargs) self.prefix = prefix - defaults = defaults if defaults is not None else self.DEFAULTS + defaults = defaults if defaults is not None else Settings.DEFAULTS self.external_triggers = external_triggers if external_triggers is not None else {} for key, value in defaults.items(): @@ -577,18 +599,16 @@ def __init__(self, prefix: str, defaults: dict = None, qs_args: list = None, qs_ def clear(self): super().clear() - @Slot(str, result='QVariant') def get(self, key): value = self.value(self.prefix + key) - # On case insensitive file systems 'False' is saved as 'false' so we need to handle this + # On case insensitive file systems 'False' is saved as 'false' so we need to workaround this if value == 'false': value = False elif value == 'true': value = True return value - @Slot(str, 'QVariant') def set(self, key, value): self.setValue(self.prefix + key, value) @@ -620,7 +640,7 @@ def main(sys_argv: List[str] = None) -> int: module_log_handler = logging.StreamHandler() module_log_handler.setFormatter(logging.Formatter("%(levelname)s %(funcName)s %(message)s")) module_logger.addHandler(module_log_handler) - module_logger.setLevel(logging.INFO) # set again after getting QSettings + module_logger.setLevel(logging.INFO) # set this again later after getting QSettings module_logger.info('Starting stm32pio_gui...') def qt_message_handler(mode, context, message): @@ -649,23 +669,21 @@ def qt_message_handler(mode, context, message): qml_logger.addHandler(qml_log_handler) qInstallMessageHandler(qt_message_handler) - - # Most Linux distros should be linked with the QWidgets' QApplication instead of the QGuiApplication to enable - # QtDialogs + # Most Linux distros should be "linked" with QWidgets' QApplication instead of QGuiApplication to enable QtDialogs if platform.system() == 'Linux': app = QApplication(sys.argv) else: app = QGuiApplication(sys.argv) - # Used as a settings identifier too + # These are used as a settings identifier too app.setOrganizationName('ussserrr') app.setApplicationName('stm32pio') app.setWindowIcon(QIcon(str(MODULE_PATH.joinpath('icons/icon.svg')))) - global settings def verbose_setter(value): + """Use this to toggle the verbosity of all loggers at once""" module_logger.setLevel(logging.DEBUG if value else logging.INFO) qml_logger.setLevel(logging.DEBUG if value else logging.INFO) projects_logger.setLevel(logging.DEBUG if value else logging.INFO) @@ -674,6 +692,7 @@ def verbose_setter(value): settings = Settings(prefix='app/settings/', qs_kwargs={ 'parent': app }, external_triggers={ 'verbose': verbose_setter }) + # Use "singleton" real logger for all projects just wrapping it into the LoggingAdapter for every project projects_logger = logging.getLogger('stm32pio_gui.projects') projects_logger.setLevel(logging.DEBUG if settings.get('verbose') else logging.INFO) formatter = stm32pio.util.DispatchingFormatter( @@ -685,11 +704,7 @@ def verbose_setter(value): projects_logger_handler.setFormatter(formatter) projects_logger.addHandler(projects_logger_handler) - verbose_setter(settings.get('verbose')) - # if module_logger.isEnabledFor(logging.DEBUG): - # module_logger.debug("App QSettings:") - # for key in settings.allKeys(): - # module_logger.debug(f"{key}: {settings.value(key)} (type: {type(settings.value(key))})") + verbose_setter(settings.get('verbose')) # set initial verbosity settings based on the saved state settings.beginGroup('app') restored_projects_paths = [] @@ -719,22 +734,23 @@ def verbose_setter(value): main_window = engine.rootObjects()[0] - # Getting PlatformIO boards can take long time when the PlatformIO cache is outdated but it is important to have - # them before the projects list restoring, so we start a dedicated loading thread. We actually can add other - # start-up operations here if there will be need to. Use the same Worker to spawn the thread at pool. + # Getting PlatformIO boards can take a long time when the PlatformIO cache is outdated but it is important to have + # them before the projects list is restored, so we start a dedicated loading thread. We actually can add other + # start-up operations here if there will be a need to. Use the same Worker class to spawn the thread at pool. def loading(): boards = ['None'] + stm32pio.util.get_platformio_boards('platformio') boards_model.setStringList(boards) def loaded(_: str, success: bool): - # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread try: + # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread for path in restored_projects_paths: projects_model.addListItem(path, save_in_settings=False, list_item_kwargs={ 'from_startup': True, 'parent': projects_model }) + # At the end, append a CLI-given project, if there is one if args is not None: list_item_kwargs = { 'from_startup': True, @@ -742,7 +758,8 @@ def loaded(_: str, success: bool): } if args.board: list_item_kwargs['project_kwargs'] = { 'parameters': { 'project': { 'board': args.board } } } # pizdec konechno... - projects_model.addListItem(args.path, save_in_settings=True, go_to_this=True, list_item_kwargs=list_item_kwargs) + projects_model.addListItem(args.path, save_in_settings=True, go_to_this=True, + list_item_kwargs=list_item_kwargs) except Exception: stm32pio.util.log_current_exception(module_logger) success = False From 973840cd1bdd700ac308b4d0300315702a111786 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Mon, 4 May 2020 20:54:45 +0300 Subject: [PATCH 11/13] add logging diagram --- TODO.md | 6 +++--- docs/logging/logging.drawio | 1 + docs/logging/logging.png | Bin 0 -> 328779 bytes screenshots/logo.drawio | 1 + screenshots/stm32pio.drawio | 1 - stm32pio/util.py | 14 +++++++------- stm32pio_gui/app.py | 21 ++++++++++----------- 7 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 docs/logging/logging.drawio create mode 100644 docs/logging/logging.png create mode 100644 screenshots/logo.drawio delete mode 100644 screenshots/stm32pio.drawio diff --git a/TODO.md b/TODO.md index d91a68f..33426ef 100644 --- a/TODO.md +++ b/TODO.md @@ -6,7 +6,7 @@ - [ ] Middleware support (FreeRTOS, etc.) - [ ] Arduino framework support (needs research to check if it is possible) - [ ] Create VSCode plugin - - [ ] UML diagrams (core, logging (logger vs adapter vs handler vs formatter etc), GUI back- and front-ends, thread flows, events, etc.) + - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI - [x] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function @@ -88,5 +88,5 @@ - [x] move GUI-related stuff from the `util.py` - [x] typing (`Mapping` instead of `dict` and so on) - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI - - [ ] Update embedding example (and maybe move to the repo itself) - - [ ] Project' name (path) can be reused so cannot bu used as a unique identifier but so is id(self)? Probably it is better to use a path (human-readable) + - [x] Update embedding example (and maybe move to the repo itself) + - [ ] Project' name (path) can be reused so cannot be used as a unique identifier but so is id(self)? Probably it is better to use a path (human-readable) diff --git a/docs/logging/logging.drawio b/docs/logging/logging.drawio new file mode 100644 index 0000000..14707c8 --- /dev/null +++ b/docs/logging/logging.drawio @@ -0,0 +1 @@ +7V1bl9o2EP41nLYPcGzLNx4XNiQ5Jc02254kTxwBwrhrW44sskt/fSVfwLYEOAVf2JA8rDWWbFkz82k0MxI9MPZf3hIYrj/gJfJ6mrJ86YH7nqYBdaixP5yyTSiaZVoJxSHuMqGpe8Kj+y9KiUpK3bhLFBUqUow96oZF4gIHAVrQAg0Sgp+L1VbYK741hA4SCI8L6InUz+6SrhOqrVl7+jvkOuvszao5TO74MKucfkm0hkv8nCOBNz0wJhjT5Mp/GSOPj142Lkm7yYG7u44RFNAqDTbr6fDTw8PceTv85v/+bXtH/GF/1zm6zb4YLdkApEVM6Bo7OIDemz11RPAmWCL+WIWV9nWmGIeMqDLiP4jSbcpNuKGYkdbU99K76MWlX3jzgZGWvubu3L+kT44L27SwwgGdQN/1OGGMN8RFhHX8D8SGdJR8BO/5wcFJSRFruUhrDZ+ev9w/WZOvH/8e9eH97DNxJ7sRoZA4iB6rqO6YyMQfYR9RsmUNCfIgdb8XewJTMXR29facYhcps+SMO/J2TfkOvU36KoqI7zI2CBzFG+q5ARrvVCQbzzH2MInrAPZ/wl8/cghcumh/L8AB53lECX5CuQar+B9/kOt5sgctYbTeCcl3RKjLtGoK58h7wJFLXRywe767XMYylVW481yH35hjSrHPbsCUsGB9YhwvyNHz2qXoMYQxQ58ZAqXflQqeqmXldCx4m4hVdwOHlQAvrWHI7/gvDgewAXyO9EFI8HKzoO8XvIujkCQXxToL7PswWM74wM5c3rVV3I3RQcnjX4heciRRdDLYtFMZ3GagkpafcwiUktZ58FGU86VNChOqeS0wwUadbHONePFr/t6+WVxqHF5AVXjRzoSXuOkdIXCbqxBiJqtR7skPnJATPcMoiF5fNUqzSqmBrilHG7CLpA974dt9zBnoBwT0i6gPtNDFgw11vcEDwf8wrJtix0HkbglDpqC//tbTTI+N+WjOWGs6NFbuuN4sfpsqCPlehA/BTU5cK4jQWbCglodaU0Rc0C0JMOi14QLoDi4oA1s/Dg2s8ICIyz6dTyRluNDaxgv5CFeFC9AGXKhmWSTBcbhgc9vRBmfDxbFBzKGFHznxhfltw+3v0cff99eCSJ/Q+7INMYeRuxhg9rYZM2g8Zn2dkpey8bOzig5AhESUfgA1bBE1hhLQAEZdoKG3Chp5yMjjhWrYAwMYedTQQY5yBDo6iRyVDY1WkEMwNLShWT8QiGZDGQge3n/kD4m4z4KvfHKoULYdVgT7s2gzZzbEAkX8u/8i7LEXQY9Y3D8xy2S8Q5DYqQK4BMXOFJULXZRIO7+cJwoynf+AOXIWsOysj4yDQBeBZTdB5JHFrM0cMbqJLPb/Rhark9Cii9AirWe2gSyGWTIxgHLcJjE042iDeqBIPwlF480cffjCnxNwPqUocwOkqm6TPjAlgCQzdeoDJHFJ2X2/STcxx2zKnDmL4aag1UW/xBQ7D26IuCuiZlfDeao0rLBoUGU+yNpcDdqRoYVhKIxnBmOLDfG2IwIXT1xsTg1skQtHh9krubI9tKK9Cp7uzKFNkkGrdfFXRkRL5KImcyTXBohZ3EzGRc+dDx7Two2dVdgpcwBK+alegJ9StFVtgZ8edhw3cAYMphP366+/ZCz+pX7Yu6yHVaIvplIT6snHd3hwfB8pQdB/BwMmXqSBCeWyIysJadU2snLTzL5C06xty+woBpw0zRJhbi1irpywze7dKIR0sWbKNcHEh5Ren14ZravV8KZWF1KrYUW1ymUTtbDiUa0bwy+UGqBVxVG7VRzVfsTkG6QR9ujqbD8VtI2loEPR9Sv3HoGqupVId9M+a9MCJeE7kXZjWGVpvXDazdFRzKn+YDDoxc7pOI3mD0FgmfbRkn+5kEmYphfmkwhTkpD4d3BlLUOOohrU7S8z1VLMYedmzvvLVAl4gLrAw2g3Fnad87Jc6quGu5KMibYMMSBGlMR5ebWbmGfOxh30rNFsFkAfzWY9676BKfo891cFd+YuCN3IDG3c8mIvpWRGVSU7N6h8npIZB5WsaX/cZVVJ4o9rWJWuZh3ZmEpIQp7yilarKiEG5jKVaNKNdlF1kLjRmtUGIMbJbtt7urO957yMXEUtSlv7+3uMWzDkUqAtCYbIKzYVDDnazWpOvHit8M33ur5AUHeAfCzhodG0FeMWD7mUZkniIfLMylbjIVk3r32FIOqSZJZqVpeyrKTu61JjidiSzeryik1tVj/azWteIgj6IFkjNKsO+u0IgNe7RgB619YI9tWgb9ctGV2yNU9eUW8VtcXdcqfWCA0G+89TL6PCQkGX7V2rDc3ta9wq0k31qhqv01uN1+livK6gSzAMB6PNaoVIlMtMvJbVg6BgkvmrYQXT2lUw7RVpWNVgnd7KDlDVKm1NHjaQG2O3e6pBmnf1c4mX3c6hJ0PdaFy8dDHw3Ins9cvOEpI1dcOTxC2h41JKXDV6rbcavdbF6PU0WeR8xuTpClVI5igAsk2B9fmlxNj1nx+mjPD27/fCYGbeF9ePD2LND13ZH0S5Nh10I+28RfFGzhFcPDkxo2T+qvhld1G4d4XBrLByXzhrR2l/7teU8pNm7/iQaJPFMlAG7gIHK5eJAOEuIEZdQgrZH05n08Yk8qHn9YP+iskvK2rMMJiYlq0qZv+ZNcPPfQ9u8Yb2Vc0ehNwPVZSSd8j7jvg3SlxXJZedoqhDAC4kSWbpMC9VsiaWuZzsugTJusaodDePkdOrhqX1ls6RKx8HNTQasKnEIPhVnCJ56ZV5ltTY2oxhdcjqep3HSOqVg+fn7i37n/ov7L4yGzgOLhuVn/NgSBEIhiIQNHoypHWNe1a6ueHN0JpS+PPSozRBA69k3SVYLPLDWIwGp1Gz3RT6/CSaVx61cPKhWWEO7aZGVY3aJjLdvNM720GxE0itAb+kcfpI1ds5hj8KLeXNvdLT1xo9yDD7VZsuzMxnWugFbMmZ623DS9WodUvwYoLyfKcXLPQKLdQmAiXG6YNVX7NNb5a5ZLVs05vaq0GObtolploROECr2WRZN39OvVSUMhZKTpdpVi9bzld4/XpZdb0AWl2Bm6cN+Fesl0CwUdrWS6tDlvaV+8Csyomg7QS9bLsc9GrAPrZE+/h2hlPCjvKh56om2s7NHuJki+B8Y5aUWaraOq/EtJfx9H3yoRHPUTnAqarsKTm3UyjX9J6YJXKQcQKLL8AKUPZW6ZIpVG304ERbDOzHuUevnRWq8GucdfKCFfe/Xp1MT/sfAQdv/gM= \ No newline at end of file diff --git a/docs/logging/logging.png b/docs/logging/logging.png new file mode 100644 index 0000000000000000000000000000000000000000..14e8a63281a80486a8674f3d58b428881ae63f34 GIT binary patch literal 328779 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

2)HzTzf!A=o2b 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⎚^jk+z&?TezoPDly@%u+}S5epn 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⪙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 \ No newline at end of file diff --git a/screenshots/stm32pio.drawio b/screenshots/stm32pio.drawio deleted file mode 100644 index 6f0c5e1..0000000 --- a/screenshots/stm32pio.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/stm32pio/util.py b/stm32pio/util.py index 303a3e7..7533cd8 100644 --- a/stm32pio/util.py +++ b/stm32pio/util.py @@ -2,6 +2,7 @@ Some auxiliary entities not falling into other categories """ +import contextlib import enum import json import logging @@ -53,6 +54,7 @@ class ProjectLoggerAdapter(logging.LoggerAdapter): your log call or not) """ def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> Tuple[Any, MutableMapping[str, Any]]: + """Inject context data (both from the adapter and the log call)""" if 'extra' in kwargs: kwargs['extra'].update(self.extra) else: @@ -136,7 +138,6 @@ def find_formatter_for(self, record: logging.LogRecord, verbosity: Verbosity) -> def format(self, record: logging.LogRecord) -> str: """Overridden method""" - # Allows to specify a verbosity level on the per-record basis, not only globally formatter = self.find_formatter_for(record, record.verbosity if hasattr(record, 'verbosity') else self.verbosity) @@ -152,19 +153,18 @@ def format(self, record: logging.LogRecord) -> str: class LogPipeRC: """Small class suitable for passing to the caller when the LogPipe context manager is invoked""" - value = '' # string accumulating all incoming messages def __init__(self, fd: int): self.pipe = fd # writable half of os.pipe -class LogPipe(threading.Thread): +class LogPipe(threading.Thread, contextlib.AbstractContextManager): """ The thread combined with a context manager to provide a nice way to temporarily redirect something's stream output into the logging module. One straightforward application is to suppress subprocess STDOUT and/or STDERR streams and - wrap them into the logging mechanism as it is now for any other message in your app. Also, store the incoming messages - in the string + wrap them into the logging mechanism as it is now for any other message in your app. Also, store the incoming + messages in the string for using it after an execution """ def __init__(self, logger: logging.Logger, level: int, *args, **kwargs): @@ -207,8 +207,8 @@ def get_platformio_boards(platformio_cmd) -> List[str]: """ Obtain the PlatformIO boards list. As we interested only in STM32 ones, cut off all the others. - IMPORTANT NOTE: The inner implementation can go to the Internet from time to time when it decides that its cache is - out of date. So it can take a long time to execute. + IMPORTANT NOTE: PlatformIO can go to the Internet from time to time when it decides that its cache is out of date. + So it can take a long time to execute. """ # Windows 7, as usual, correctly works only with shell=True... diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 34efb09..815d3f3 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -3,7 +3,6 @@ import argparse import collections -import copy import inspect import logging import pathlib @@ -444,7 +443,7 @@ def addListItem(self, path_str: str, list_item_kwargs: Mapping[str, Any] = None, """ if list_item_kwargs is not None: - list_item_kwargs = dict(copy.deepcopy(list_item_kwargs)) # dict makes it mutable + list_item_kwargs = dict(list_item_kwargs) # shallow copy, dict makes it mutable path_qurl = QUrl(path_str) if path_qurl.isEmpty(): @@ -631,7 +630,6 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: def main(sys_argv: List[str] = None) -> int: - if sys_argv is None: sys_argv = sys.argv[1:] @@ -707,7 +705,7 @@ def verbose_setter(value): verbose_setter(settings.get('verbose')) # set initial verbosity settings based on the saved state settings.beginGroup('app') - restored_projects_paths = [] + restored_projects_paths: List[str] = [] for index in range(settings.beginReadArray('projects')): settings.setArrayIndex(index) restored_projects_paths.append(settings.value('path')) @@ -736,7 +734,7 @@ def verbose_setter(value): # Getting PlatformIO boards can take a long time when the PlatformIO cache is outdated but it is important to have # them before the projects list is restored, so we start a dedicated loading thread. We actually can add other - # start-up operations here if there will be a need to. Use the same Worker class to spawn the thread at pool. + # start-up operations here if there will be a need to. Use the same Worker class to spawn the thread at the pool def loading(): boards = ['None'] + stm32pio.util.get_platformio_boards('platformio') boards_model.setStringList(boards) @@ -745,12 +743,13 @@ def loaded(_: str, success: bool): try: # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread for path in restored_projects_paths: - projects_model.addListItem(path, save_in_settings=False, list_item_kwargs={ - 'from_startup': True, - 'parent': projects_model - }) + projects_model.addListItem(path if platform.system() != 'Windows' else 'file:///' + path, + save_in_settings=False, list_item_kwargs={ + 'from_startup': True, + 'parent': projects_model + }) - # At the end, append a CLI-given project, if there is one + # At the end, append a CLI-provided project, if there is one if args is not None: list_item_kwargs = { 'from_startup': True, @@ -758,7 +757,7 @@ def loaded(_: str, success: bool): } if args.board: list_item_kwargs['project_kwargs'] = { 'parameters': { 'project': { 'board': args.board } } } # pizdec konechno... - projects_model.addListItem(args.path, save_in_settings=True, go_to_this=True, + projects_model.addListItem(args.path if platform.system() != 'Windows' else str(pathlib.Path(args.path)), save_in_settings=True, go_to_this=True, list_item_kwargs=list_item_kwargs) except Exception: stm32pio.util.log_current_exception(module_logger) From 684a0de72df466a922950f124523a5926c8bc009 Mon Sep 17 00:00:00 2001 From: ussserrr Date: Tue, 5 May 2020 15:53:34 +0300 Subject: [PATCH 12/13] improved projects manipulating in the model, add icons to action buttons --- TODO.md | 3 + stm32pio/lib.py | 20 +++- stm32pio/settings.py | 2 +- stm32pio_gui/app.py | 161 +++++++++++++++++-------------- stm32pio_gui/icons/LICENSE | 1 + stm32pio_gui/icons/edit.svg | 49 ++++++++++ stm32pio_gui/icons/trash-bin.svg | 1 + stm32pio_gui/main.qml | 15 ++- 8 files changed, 175 insertions(+), 77 deletions(-) create mode 100644 stm32pio_gui/icons/edit.svg create mode 100644 stm32pio_gui/icons/trash-bin.svg diff --git a/TODO.md b/TODO.md index 33426ef..82a515e 100644 --- a/TODO.md +++ b/TODO.md @@ -54,6 +54,7 @@ - [ ] Linux: - Not a monospaced font in the log area - [ ] Temporarily pin projects with currently running actions to the top (and stay there on scrolling). See QML Package type + - [x] Icons instead of text for "Clean", "Open editor" ## Core library - [x] https://github.com/ussserrr/stm32pio/issues/13 @@ -90,3 +91,5 @@ - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI - [x] Update embedding example (and maybe move to the repo itself) - [ ] Project' name (path) can be reused so cannot be used as a unique identifier but so is id(self)? Probably it is better to use a path (human-readable) + - [x] Inform user that given parameters have overridden the config + - [ ] Analyze `.ioc` file for the wrong framework/parameters diff --git a/stm32pio/lib.py b/stm32pio/lib.py index f08e4b7..45ca8b5 100644 --- a/stm32pio/lib.py +++ b/stm32pio/lib.py @@ -15,7 +15,7 @@ import subprocess import tempfile import weakref -from typing import Mapping, Any +from typing import Mapping, Any, Union import stm32pio.settings import stm32pio.util @@ -144,7 +144,7 @@ class Stm32pio: 'logger': None } - def __init__(self, dirty_path: str, parameters: Mapping[str, Any] = None, + def __init__(self, dirty_path: Union[str, pathlib.Path], parameters: Mapping[str, Any] = None, instance_options: Mapping[str, Any] = None): """ Args: @@ -323,7 +323,21 @@ def _load_config(self, runtime_parameters: Mapping[str, Any] = None) -> configpa # ... then merge with user's config file values (if exist) ... self.logger.debug(f"searching for {stm32pio.settings.config_file_name}...") - if len(config.read(self.path.joinpath(stm32pio.settings.config_file_name))) == 0: + config.read(self.path.joinpath(stm32pio.settings.config_file_name)) + + ini_config = configparser.ConfigParser(interpolation=None) + ini_config.read(self.path.joinpath(stm32pio.settings.config_file_name)) + runtime_config = configparser.ConfigParser(interpolation=None) + runtime_config.read_dict(runtime_parameters) + + if len(ini_config.sections()): + if len(runtime_config.sections()): + for ini_sect in ini_config.sections(): + if runtime_config.has_section(ini_sect): + for ini_key, ini_value in ini_config.items(ini_sect): + if runtime_config.get(ini_sect, ini_key, fallback=None) not in [None, ini_value]: + self.logger.info(f"given '{ini_key}' has taken a precedence over the .ini one") + else: self.logger.debug(f"no or empty {stm32pio.settings.config_file_name} config file, will use the default one") # ... finally merge with the given in this session CLI parameters diff --git a/stm32pio/settings.py b/stm32pio/settings.py index e316306..23aa0c2 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -23,7 +23,7 @@ # macOS default: 'Applications' folder "/Applications/STMicroelectronics/STM32CubeMX.app/Contents/Resources/STM32CubeMX" if my_os == 'Darwin' else # Linux (Ubuntu) default: home directory - pathlib.Path.home().joinpath("STM32CubeMX/STM32CubeMX") if my_os == 'Linux' else + str(pathlib.Path.home().joinpath("STM32CubeMX/STM32CubeMX")) if my_os == 'Linux' else # Windows default: Program Files "C:/Program Files/STMicroelectronics/STM32Cube/STM32CubeMX/STM32CubeMX.exe" if my_os == 'Windows' else None }, diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 815d3f3..6f82818 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -412,8 +412,13 @@ def __init__(self, projects: List[ProjectListItem] = None, parent: QObject = Non parent: QObject to be parented to """ super().__init__(parent=parent) + self.projects = projects if projects is not None else [] + self.workers_pool = QThreadPool(parent=self) + self.workers_pool.setMaxThreadCount(1) # only 1 active worker at a time + self.workers_pool.setExpiryTimeout(-1) # tasks wait forever for the available spot + @Slot(int, result=ProjectListItem) def get(self, index: int): """ @@ -430,47 +435,79 @@ def data(self, index: QModelIndex, role=None): if role == Qt.DisplayRole or role is None: return self.projects[index.row()] - def addListItem(self, path_str: str, list_item_kwargs: Mapping[str, Any] = None, save_in_settings: bool = True, - go_to_this: bool = False): + def _saveInSettings(self) -> None: + """ + Get correct projects and save them to Settings. Intended to be run in a thread """ - Create, append to the end and save in QSettings a new ProjectListItem instance with a given path. + + # Wait for all projects to be loaded (project.init_project is finished), whether successful or not + while not all(project.name != 'Loading...' for project in self.projects): + pass + + settings.beginGroup('app') + settings.remove('projects') # clear the current saved list + + settings.beginWriteArray('projects') + # Only correct ones (inner Stm32pio instance has been successfully constructed) + projects_to_save = [project for project in self.projects if project.project is not None] + for idx, project in enumerate(projects_to_save): + settings.setArrayIndex(idx) + # This ensures that we always save paths in pathlib form + settings.setValue('path', str(project.project.path)) + settings.endArray() + + settings.endGroup() + module_logger.info(f"{len(projects_to_save)} projects have been saved to Settings") # total amount + + def saveInSettings(self): + """Spawn a thread to wait for all projects and save them in background""" + w = Worker(self._saveInSettings, logger=module_logger) + self.workers_pool.start(w) + + def duplicates(self, path: str): + """ + When we add a bunch of projects (or in general case, too) recently added ones can be not instantiated yet so we + cannot extract their properties and need to check before. samefile will raise, if the path doesn't exist, though + """ + for list_item in self.projects: + try: + yield (list_item.project is not None and list_item.project.path.samefile(pathlib.Path(path))) or \ + path == list_item.name # simply check strings if a path isn't available + except OSError: + yield False + + def addListItem(self, path: str, list_item_kwargs: Mapping[str, Any] = None, go_to_this: bool = False): + """ + Create and append to the list tail a new ProjectListItem instance. This doesn't save in QSettings, it's an up to + the caller task (e.g. if we adding a bunch of projects, it make sense to store them once in the end). Args: - path_str: path as string + path: path as string list_item_kwargs: keyword arguments passed to the ProjectListItem constructor - save_in_settings: whether to save added project to the Settings go_to_this: should we jump to the new project in GUI """ if list_item_kwargs is not None: list_item_kwargs = dict(list_item_kwargs) # shallow copy, dict makes it mutable - - path_qurl = QUrl(path_str) - if path_qurl.isEmpty(): - module_logger.warning(f"Given path is empty: {path_str}") - return - elif path_qurl.isLocalFile(): # file://... - path = path_qurl.toLocalFile() - elif path_qurl.isRelative(): # this means that the path string is not starting with 'file://' prefix - path = path_str # just use a source string else: - module_logger.error(f"Incorrect path: {path_str}") - return + list_item_kwargs = {} - # When we add a bunch of projects (or in the general case, too) recently added ones can be not instantiated yet - # so we cannot extract their properties and need to check before - duplicate_index = next((idx for idx, list_item in enumerate(self.projects) if - (list_item.project is not None and list_item.project.path.samefile(pathlib.Path(path))) or - path == list_item.name # simply check strings if paths aren't available - ), -1) + duplicate_index = next((idx for idx, is_duplicated in enumerate(self.duplicates(path)) if is_duplicated), -1) if duplicate_index > -1: - # Just added project is already in the list so abort the addition and jump to the existing one + # Just added project is already in the list so abort the addition module_logger.warning(f"This project is already in the list: {path}") - self.goToProject.emit(duplicate_index) + + # If some parameters were provided, merge them + proj_params = list_item_kwargs.get('project_kwargs', {}).get('parameters', {}) + if len(proj_params): + self.projects[duplicate_index].logger.info(f"updating parameters from the CLI... {proj_params}") + self.projects[duplicate_index].run('save_config', [proj_params]) + + self.goToProject.emit(duplicate_index) # jump to the existing one return - # Insert given path into the constructor args - if list_item_kwargs is None: + # Insert given path into the constructor args (do not use dict.update() as we have list value) + if len(list_item_kwargs) == 0: list_item_kwargs = { 'project_args': [path] } elif 'project_args' not in list_item_kwargs or len(list_item_kwargs['project_args']) == 0: list_item_kwargs['project_args'] = [path] @@ -483,20 +520,11 @@ def addListItem(self, path_str: str, list_item_kwargs: Mapping[str, Any] = None, # underlying Stm32pio class will be initialized soon later in the dedicated thread project = ProjectListItem(**list_item_kwargs) self.projects.append(project) - index_of_added = len(self.projects) - 1 self.endInsertRows() if go_to_this: - self.goToProject.emit(index_of_added) - - if save_in_settings: - settings.beginGroup('app') - settings.beginWriteArray('projects') - settings.setArrayIndex(index_of_added) - settings.setValue('path', path) - settings.endArray() - settings.endGroup() + self.goToProject.emit(len(self.projects) - 1) @Slot('QStringList') @@ -506,8 +534,20 @@ def addProjectsByPaths(self, paths: List[str]): module_logger.warning("No paths were given") return else: - for path in paths: - self.addListItem(path, save_in_settings=True, list_item_kwargs={ 'parent': self }) + for path_str in paths: # convert to strings + path_qurl = QUrl(path_str) + if path_qurl.isEmpty(): + module_logger.warning(f"Given path is empty: {path_str}") + continue + elif path_qurl.isLocalFile(): # file://... + path: str = path_qurl.toLocalFile() + elif path_qurl.isRelative(): # this means that the path string is not starting with 'file://' prefix + path: str = path_str # just use a source string + else: + module_logger.error(f"Incorrect path: {path_str}") + continue + self.addListItem(path, list_item_kwargs={ 'parent': self }) + self.saveInSettings() @Slot(int) @@ -515,40 +555,19 @@ def removeProject(self, index: int): """ Remove the project residing on the index both from the runtime list and QSettings """ - if index not in range(len(self.projects)): return self.beginRemoveRows(QModelIndex(), index, index) - project = self.projects.pop(index) - # It allows the project to be deconstructed (i.e. GC'ed) very soon, not at the app shutdown time - project.deleteLater() - self.endRemoveRows() - settings.beginGroup('app') + if project.project is not None: + # Re-save the settings only if this project was correct and therefore is saved in the settings + self.saveInSettings() - # Get current settings ... - settings_projects_list = [] - for idx in range(settings.beginReadArray('projects')): - settings.setArrayIndex(idx) - settings_projects_list.append(settings.value('path')) - settings.endArray() - - # ... drop the index ... - settings_projects_list.pop(index) - - # ... and overwrite the list. We don't use self.projects[i].project.path as there is a chance that 'path' - # doesn't exist (e.g. not initialized for some reason project) but reuse the current values - settings.remove('projects') - settings.beginWriteArray('projects') - for idx, path in enumerate(settings_projects_list): - settings.setArrayIndex(idx) - settings.setValue('path', path) - settings.endArray() - - settings.endGroup() + # It allows the project to be deconstructed (i.e. GC'ed) very soon, not at the app shutdown time + project.deleteLater() @@ -743,13 +762,12 @@ def loaded(_: str, success: bool): try: # Qt objects cannot be parented from the different thread so we restore the projects list in the main thread for path in restored_projects_paths: - projects_model.addListItem(path if platform.system() != 'Windows' else 'file:///' + path, - save_in_settings=False, list_item_kwargs={ - 'from_startup': True, - 'parent': projects_model - }) + projects_model.addListItem(path, go_to_this=False, list_item_kwargs={ + 'from_startup': True, + 'parent': projects_model + }) - # At the end, append a CLI-provided project, if there is one + # At the end, append (or jump to) a CLI-provided project, if there is one if args is not None: list_item_kwargs = { 'from_startup': True, @@ -757,8 +775,9 @@ def loaded(_: str, success: bool): } if args.board: list_item_kwargs['project_kwargs'] = { 'parameters': { 'project': { 'board': args.board } } } # pizdec konechno... - projects_model.addListItem(args.path if platform.system() != 'Windows' else str(pathlib.Path(args.path)), save_in_settings=True, go_to_this=True, + projects_model.addListItem(str(pathlib.Path(args.path)), go_to_this=True, list_item_kwargs=list_item_kwargs) + projects_model.saveInSettings() except Exception: stm32pio.util.log_current_exception(module_logger) success = False diff --git a/stm32pio_gui/icons/LICENSE b/stm32pio_gui/icons/LICENSE index 17ec736..5e98f5c 100644 --- a/stm32pio_gui/icons/LICENSE +++ b/stm32pio_gui/icons/LICENSE @@ -3,5 +3,6 @@ Icons by - Flat Icons - Google - Pixel Perfect + - Freepik from www.flaticon.com diff --git a/stm32pio_gui/icons/edit.svg b/stm32pio_gui/icons/edit.svg new file mode 100644 index 0000000..8f94ea6 --- /dev/null +++ b/stm32pio_gui/icons/edit.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/stm32pio_gui/icons/trash-bin.svg b/stm32pio_gui/icons/trash-bin.svg new file mode 100644 index 0000000..3a6c3a0 --- /dev/null +++ b/stm32pio_gui/icons/trash-bin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/stm32pio_gui/main.qml b/stm32pio_gui/main.qml index e867729..fa5ca46 100644 --- a/stm32pio_gui/main.qml +++ b/stm32pio_gui/main.qml @@ -536,6 +536,7 @@ ApplicationWindow { // Currently, this event is equivalent to the complete initialization of the backend side of the project onNameChanged: { const state = project.state; + stateCached = state; const completedStages = Object.keys(state).filter(stateName => state[stateName]); if (completedStages.length === 1 && completedStages[0] === 'EMPTY') { setupScreenLoader.active = true; @@ -722,18 +723,21 @@ ApplicationWindow { ListElement { name: 'Clean' action: 'clean' + icon: './icons/trash-bin.svg' tooltip: "WARNING: this will delete ALL content of the project folder \ except the current .ioc file and clear all logs" } ListElement { name: 'Open editor' action: 'start_editor' + icon: './icons/edit.svg' margin: 15 // margin to visually separate first 2 actions as they don't represent any stage } ListElement { name: 'Initialize' stageRepresented: 'INITIALIZED' // the project stage this button is representing action: 'save_config' + tooltip: "Saves the current configuration to the config file stm32pio.ini" } ListElement { name: 'Generate' @@ -766,12 +770,19 @@ ApplicationWindow { buttonIndex = index; background.border.color = 'dimgray'; } + display: model.icon ? AbstractButton.IconOnly : AbstractButton.TextOnly + icon.source: model.icon || '' ToolTip { visible: mouseArea.containsMouse Component.onCompleted: { + text = ''; + if (model.icon) { + text += model.name; + } if (model.tooltip) { - text = model.tooltip; - } else { + text += text ? `
${model.tooltip}` : model.tooltip; + } + if (!model.icon && !model.tooltip) { this.destroy(); } } From 79924f158a9066d2c9157aeffe51e88761060d0d Mon Sep 17 00:00:00 2001 From: ussserrr Date: Tue, 5 May 2020 23:03:50 +0300 Subject: [PATCH 13/13] prepare release 1.30 --- CHANGELOG.md | 42 +++++++++++++++++++++++++++++++++++++++- README.md | 13 ++++++++----- TODO.md | 44 ++++-------------------------------------- stm32pio/app.py | 4 ++-- stm32pio/settings.py | 4 ++-- stm32pio_gui/README.md | 20 +++++++++++++++++-- stm32pio_gui/app.py | 24 ++++++++++++++--------- 7 files changed, 90 insertions(+), 61 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ba1fcb..54a8f7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -231,4 +231,44 @@ ## ver. 1.21 (19.04.20) - Fixed: GUI. All resorce paths are now reliably treated both for QML and Python - - Changed: README installation process actualized \ No newline at end of file + - Changed: README installation process actualized + +## ver. 1.30 (05.05.20) + - New: `examples` folder (currently, only an embedding one (updated and moved from the wiki page)) + - New: `docs` folder with some useful internal descriptions (currently, only a logging schematic (with sources)) + - New: issues guide for GitHub (OS, content of the config, project tree, enable verbose, etc.) + - New: GUI. Show the app version in "About" dialog + - New: GUI. Handle a theoretical app loading error + - New: GUI. Notify a user that the "board" parameter is empty + - New: GUI. The app can be started from CLI + - New: GUI. `ProjectListItem.fromStartup` property + - New: GUI. Expose projects' `config` to QML + - New: Tests. Preserving user files and folders on regeneration + - New: Tests. 'verbose' and 'non-verbose' tests as `subTest` (also `should_log_error_...`) + - New: Inform a user that given parameters have overridden the config ones + - Fixed: GUI. `TypeError: Cannot read property 'actionRunning' of null` (deconstruction order) (on project deletion only) + - Fixed: GUI. The app now can handle as many projects as needed (use QML `DelegateModel` to store state in the `ListView` delegate) + - Fixed: #13 (new parsing algo to analyze the CubeMX output) + - Changed: improved `typing` annotations + - Changed: wrap imports into `try...except` + - Changed: new README logo, add sources (draw.io) + - Changed: GUI. Icons instead of a text for "Clean", "Open editor" + - Changed: GUI. Gray out "stage" line in all projects except current + - Changed: GUI. 2 types of logging formatters for 2 verbosity levels + - Changed: GUI. More general `goToProject` signal instead of `duplicateFound` + - Changed: GUI. Projects list is now saves to `Settings` in a separate thread using `QThreadPool` and `saveInSettings()` method + - Changed: GUI. `ProjectsList.each_project_is_duplicate_of` generator + - Changed: GUI. Optimized project' `state` handling + - Changed: GUI. Insert board ID from config, if there is one, focus on that input field by default + - Changed: logging mechanics is remade from scratch: + - add `stm32pio.app.setup_logging()`, `should_setup_logging` argument fo `stm32pio.app.setup_main()`. This also fixes annoying logging errors on testing because the loggers interfere with each other + - `stm32pio.util.ProjectLoggerAdapter()` subclass as an individual logger for every project + - add `stm32pio.util.log_current_exception()` + - get rid of `log_record_factory` substitution + - add `stm32pio.util.Verbosity` entity (enum). Acts like an additional degree of freedom for the logging setup + - rewritten `stm32pio.util.DispatchingFormatter` + - GUI. New `BuffersDispatchingHandler()` class + - and some others (see block schema) + - Changed: better parameters and configs merging + - Changed: make `platformio_ini_is_patched` a property instead of function + - Changed: improved in-code docs diff --git a/README.md b/README.md index f6acf1d..669d78c 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ The [GUI version](/stm32pio_gui) is available, too. > - [Requirements](#requirements) > - [Installation](#installation) > - [Usage](#usage) +> - [GUI from CLI](#gui-from-cli) > - [Project patching](#project-patching) > - [Embedding](#embedding) > - [Example](#example) @@ -94,6 +95,12 @@ $ python app.py --help ``` to see help on available commands. Find the copy of its output on the [project wiki](https://github.com/ussserrr/stm32pio/wiki/stm32pio-help) page, also. +### GUI from CLI +You can start the [GUI version](/stm32pio_gui) using `gui` subcommand and pass some of the arguments to it: +```shell script +$ stm32pio gui -d ./sample-project -b discovery_f4 +``` + ### Project patching Note, that the patch operation (which takes the CubeMX code and PlatformIO project to the compliance) erases all the comments (lines starting with `;`) inside the `platformio.ini` file. They are not required anyway, in general, but if you need them for some reason please consider to save the information somewhere else. @@ -102,7 +109,7 @@ For those who want to modify the patch (default one is at [`settings.py`](/stm32 ### Embedding -You can also use stm32pio as an ordinary Python package and embed it in your own application. Find the minimal example at the [project wiki](https://github.com/ussserrr/stm32pio/wiki/Embedding-example) page to see some possible ways of implementing this. Basically, you need to import `stm32pio.lib` module (where the main `Stm32pio` class resides), (optionally) set up a logger and you are good to go. If you prefer higher-level API similar to the CLI version, use `main()` function in `app.py` passing the same CLI arguments to it (except the actual script name). Also, take a look at the CLI ([`app.py`](/stm32pio/app.py)) or GUI versions. +You can also use stm32pio as an ordinary Python package and embed it in your own application. Find the minimal example at the [examples](/examples) to see some possible ways of implementing this. Basically, you need to import `stm32pio.lib` module (where the main `Stm32pio` class resides), (optionally) set up a logger and you are good to go. If you prefer higher-level API similar to the CLI version, use `main()` function in `app.py` passing the same CLI arguments to it (except the actual script name). Also, take a look at the CLI ([`app.py`](/stm32pio/app.py)) or GUI versions. ## Example @@ -138,10 +145,6 @@ There are some tests in file [`test.py`](/stm32pio/tests/test.py) (based on the ```shell script stm32pio-repo/ $ python -m unittest -b -v ``` -or -```shell script -stm32pio-repo/ $ python -m stm32pio.tests.test -b -v -``` to test the app. It uses STM32F0 framework to generate and build a code from the test [`stm32pio-test-project.ioc`](/stm32pio-test-project/stm32pio-test-project.ioc) project file. Please make sure that the test project folder is clean (i.e. contains only an .ioc file) before running the test otherwise it can lead to some cases failing. Tests automatically create temporary directory (using `tempfile` Python standard module) where all actions are performed. For the specific test suite or case you can use diff --git a/TODO.md b/TODO.md index 82a515e..07ca4b3 100644 --- a/TODO.md +++ b/TODO.md @@ -1,95 +1,59 @@ # TODOs ## Business logic, general features - - [x] Issues guide for the GitHub (OS, content of the config, project tree, enable verbose) - [ ] GitHub CHANGELOG - separate New, Fixed, Changed into paragraphs - [ ] Middleware support (FreeRTOS, etc.) - [ ] Arduino framework support (needs research to check if it is possible) - [ ] Create VSCode plugin - [ ] UML diagrams (core, GUI back- and front-ends, thread flows, events, etc.) - [ ] CI is possible (Arch's AUR has the STM32CubeMX package, also there is a direct link). Deploy Docker one in Azure Pipelines, basic at Travis CI - - [x] We can hide almost all logging setup behind the scene. Think of it as of a default implementation that can be changed though. Also, can make a `setup_logging()` function ## GUI version - [ ] Obtain boards on demand (not at the startup) - - [x] Expose version to the About dialog - - [x] Handle a theoretical initialization error (when boards are receiving) - - [x] Maybe `data()` `QAbstractListModel` method can be used instead of custom `get()` (no, at least without any tweaking (`QModelIndex` vs `int`)) - [ ] Can probably detect Ctrl and Shift clicks without moving the mouse first - - [x] Notify the user that the 'board' parameter is empty - [ ] Mac: sometimes auto turned off shift highlighting after action (hide-restore helps) - [ ] Some visual flaws when the window have got resized (e.g. 'Add' button position doesn't change until the list gets focus, 'Log' area crawls onto the status bar) - - [x] Gray out "stage" line in all projects except current - [ ] Tests (research approaches and patterns) - [ ] Remade the list item to use States, too. Probably, such properties need to be implemented: ``` state: { loaded, - + visitedAfterInstantiating, - + actionRunning, lastActionStatus, visitedAfterAction, ... } ``` - - [x] Test performance with a large number of projects in the model. First test was made: - 1. Some projects occasionally change `initLoading` by itself (probably Loader unloads the content) (hence cannot click on them, busy indicator appearing) - - Note: Delegates are instantiated as needed and may be destroyed at any time. They are parented to ListView's contentItem, not to the view itself. State should never be stored in a delegate. - - Use `id()` in `setInitInfo()`. Or do not use ListView at all (replace by Repeater, for example) as it can reset our "notifications" when reloading - 2. Some projects show OK even after its deletion (only the app restart helps) - [ ] Test with different timings - [ ] Divide on multiple modules (both Python and QML) - [ ] Implement other methods for Qt abstract models - [ ] Warning on 'Clean' action (maybe the window with a checkbox "Do not ask in the future" (QSettings parameter)) - - [x] 2 types of logging formatters for 2 verbosity levels - - [x] `TypeError: Cannot read property 'actionRunning' of null` (deconstruction order) (on project deletion only) - [ ] QML logging - pass to Python' `logging` and establish a similar format. Distinguish between `console.log()`, `console.error()` and so on - [ ] Lost log box autoscroll when manually scrolling between the actions - [ ] Crash on shutdown in Win and Linux (errors such as `[QML] CRITICAL QThread: Destroyed while thread is still running Process finished with exit code 1073741845`) - - [x] Start with a folder opened if it was provided on CLI (for example, `stm32pio_gui .`) - - [ ] Linux: - - Not a monospaced font in the log area + - [ ] Linux: Not a monospaced font in the log area - [ ] Temporarily pin projects with currently running actions to the top (and stay there on scrolling). See QML Package type - - [x] Icons instead of text for "Clean", "Open editor" ## Core library - - [x] https://github.com/ussserrr/stm32pio/issues/13 - [ ] when updating the project (`generate` command), check for boards match - - [x] Remove casts to string where we can use path-like objects (related to Python version as new ones receive path-like objects arguments while old ones aren't) + - [ ] Remove casts to string where we can use path-like objects (related to a Python version as new ones receives path-like objects arguments while old ones aren't) - [ ] We look for some snippets of strings in logs and output for the testing code but we hard-code them and this is not good, probably (e.g. 'DEBUG') - [ ] Store an initial content of the folder in .ini config and ignore it on clean-up process. Allow the user to modify such list (i.e. list of exclusion) in the config file. Mb some integration with `.gitignore` - [ ] at some point check for all tools (CubeMX, ...) to be present in the system (both CLI and GUI) (global `--check` command (as `--version`), also before execution of the full cycle (no sense to start if some tool doesn't exist)) - [ ] generate code docs (help user to understand an internal mechanics, e.g. for embedding). Can be uploaded to the GitHub Wiki - [ ] colored logs, maybe (breaks zero-dependency principle) - - [x] check logging work when embed stm32pio lib in a third-party stuff (no logging setup at all) - - [x] merge subprocess pipes to one where suitable (i.e. `stdout` and `stderr`) - - [x] redirect subprocess pipes to `DEVNULL` where suitable to suppress output (tests) - [ ] maybe migrate to async/await approach in the future (return some kind of a "remote controller" to control the running action) - [ ] `__init__`' `parameters` dict argument schema (Python 3.8 feature). - - [x] See https://docs.python.org/3/howto/logging-cookbook.html#context-info to maybe remade current logging schema (current is, perhaps, a cause of the strange error while testing (in the logging thread), also it modifies a global settings (log message factory)) - - [x] Test preserving user files and folders on regeneration and mb other operations - - [x] Move special formatters inside the library. It is an implementation detail actually that we use subprocesses and so on - [ ] Mb store the last occurred exception traceback in .ini file and show on some CLI command (so we don't necessarily need to turn on the verbose mode and repeat this action). And, in general, we should show the error reason right off - - [x] 'verbose' and 'non-verbose' tests as `subTest` (also `should_log_error_...`) - [ ] the lib sometimes raising, sometimes returning the code and it is not consistent. While the reasons behind such behavior are clear, would be great to always return a result code and raise the exceptions in the outer scope, if there is need to - [ ] check board (no sense to go further on 'new' if the board in config.ini is not correct) - - [x] check if `platformio.ini` config will be successfully parsed when there are interpolation and/or empty parameters - - [x] check if `.ioc` file is a text file on project initialization. Let `_find_ioc_file()` method to use explicitly provided file (useful for GUI). Maybe let user specify it via CLI - - [x] mb add CLI command for starting the GUI version (for example, `stm32pio --gui`) - [ ] test using virtualenv - [ ] test for different `.ioc` files (i.e. F0, F1, F4 and so on) as it is not the same actually - [ ] mb allow to use an arbitrary strings (arrays of str) to specify tools commands in stm32pio.ini (shell=True or a list of args (split a string)) - [ ] cache boards for a small interval of time - - [x] use warnings.warn() (https://docs.python.org/3/howto/logging.html#logging-basic-tutorial) - [ ] count another '-v' as '-v' for PlatformIO calls (slider in GUI settings window) - - [x] move GUI-related stuff from the `util.py` - - [x] typing (`Mapping` instead of `dict` and so on) - - [ ] check imports from 3rd-party code when the stm32pio installed from PyPI - - [x] Update embedding example (and maybe move to the repo itself) - [ ] Project' name (path) can be reused so cannot be used as a unique identifier but so is id(self)? Probably it is better to use a path (human-readable) - - [x] Inform user that given parameters have overridden the config - [ ] Analyze `.ioc` file for the wrong framework/parameters diff --git a/stm32pio/app.py b/stm32pio/app.py index d43184d..325a546 100755 --- a/stm32pio/app.py +++ b/stm32pio/app.py @@ -48,8 +48,8 @@ def parse_args(args: List[str]) -> Optional[argparse.Namespace]: help="create config .ini file to check and tweak parameters before proceeding") parser_new = subparsers.add_parser('new', help="generate CubeMX code, create PlatformIO project, glue them together") - parser_gui = subparsers.add_parser('gui', help="start the graphical version of the application. " - "All arguments will be passed forward") + parser_gui = subparsers.add_parser('gui', help="start the graphical version of the application. All arguments will " + "be passed forward, see its --help for more information") parser_generate = subparsers.add_parser('generate', help="generate CubeMX code only") parser_status = subparsers.add_parser('status', help="get the description of the current project state") parser_clean = subparsers.add_parser('clean', diff --git a/stm32pio/settings.py b/stm32pio/settings.py index 23aa0c2..4e66c3c 100644 --- a/stm32pio/settings.py +++ b/stm32pio/settings.py @@ -57,5 +57,5 @@ config_file_name = 'stm32pio.ini' # Longest name (not necessarily a method so a little bit tricky...) -log_fieldwidth_function = max([len(member) for member in dir(stm32pio.lib.Stm32pio)]) + 1 -# log_fieldwidth_function = 25 + 1 +# log_fieldwidth_function = max([len(member) for member in dir(stm32pio.lib.Stm32pio)]) + 1 +log_fieldwidth_function = 25 + 1 diff --git a/stm32pio_gui/README.md b/stm32pio_gui/README.md index c388d42..8fbbd14 100644 --- a/stm32pio_gui/README.md +++ b/stm32pio_gui/README.md @@ -5,7 +5,13 @@ The cross-platform GUI version of the stm32pio. It wraps the core library functionality into the Qt5-QML skin using the PySide2 (aka "Qt for Python" project) and adding the projects management feature allowing you to store and manipulate on multiple stm32pio projects at one place. -## Installation +## Table of contents +> - [Install and run](#install-and-run) +> - [Usage](#usage) +> - [Architecture notes](#architecture-notes) + + +## Install and run The app requires PySide2 5.12+ package (Qt 5.12 respectively). It is available in all major package managers including pip, apt, brew and so on. @@ -18,6 +24,10 @@ Then it can be started as ```shell script $ stm32pio_gui ``` +or +```shell script +$ stm32pio gui +``` from anywhere. If you have already installed the latest basic CLI version, this script and sources are already on your machine so you can reinstall it using the command above or just supplement the setup installing the PySide2 manually. If you rather want to launch completely from sources, it is possible like this: @@ -29,11 +39,15 @@ or stm32pio-repo/ $ python -m stm32pio_gui ``` +Either way, you can additionally specify the project (and board ID) to open with: +```shell script +$ stm32pio_gui -d ./sample-project -b discovery_f4 +``` ## Usage -Add a folder with the `.ioc` file to begin with. You can either use an "Add" button or drag-and-drop it into the main window, in te latter case you can add multiple projects simultaneously. If the project is empty the initialization screen will be shown to help in setup: +Add a folder with the `.ioc` file to begin with. You can either use an "Add" button or drag-and-drop it into the main window, in the latter case you can also have an ability to add multiple projects simultaneously. If the project is empty the initialization screen will be shown to help in setup: ![Init](screenshots/init_screen.png) @@ -51,6 +65,8 @@ Shift-click on it to execute the series. The picked actions will be framed with Add Ctrl to the mouse click to start the editor specified in the settings after the action. It can be combined with Shift as well. **Hint:** specify a `start` as an "Editor" command to open the folder in the new Explorer window under the Windows, `open` for the Finder on the macOS. +Currently, the project config (stm32pio.ini) is not live-reloaded so any changes you do to it will not be reflected until the next start. + ## Architecture notes diff --git a/stm32pio_gui/app.py b/stm32pio_gui/app.py index 6f82818..1487985 100644 --- a/stm32pio_gui/app.py +++ b/stm32pio_gui/app.py @@ -11,7 +11,7 @@ import threading import time import weakref -from typing import List, Callable, Optional, Any, Mapping, MutableMapping +from typing import List, Callable, Optional, Any, Mapping, MutableMapping, Iterator try: from PySide2.QtCore import QUrl, Property, QAbstractListModel, QModelIndex, QObject, Qt, Slot, Signal, QThread,\ @@ -459,15 +459,19 @@ def _saveInSettings(self) -> None: settings.endGroup() module_logger.info(f"{len(projects_to_save)} projects have been saved to Settings") # total amount - def saveInSettings(self): + def saveInSettings(self) -> None: """Spawn a thread to wait for all projects and save them in background""" w = Worker(self._saveInSettings, logger=module_logger) self.workers_pool.start(w) - def duplicates(self, path: str): + def each_project_is_duplicate_of(self, path: str) -> Iterator[bool]: """ - When we add a bunch of projects (or in general case, too) recently added ones can be not instantiated yet so we - cannot extract their properties and need to check before. samefile will raise, if the path doesn't exist, though + Returns generator yielding an answer to the question "Is current project is a duplicate of one represented by a + given path?" for every project in this model, one by one. + + Logic explanation: At a given time some projects (e.g., when we add a bunch of projects, recently added ones) + can be not instantiated yet so we cannot extract their project.path property and need to check before comparing. + In this case, simply evaluate strings. Also, samefile will even raise, if the given path doesn't exist. """ for list_item in self.projects: try: @@ -476,7 +480,7 @@ def duplicates(self, path: str): except OSError: yield False - def addListItem(self, path: str, list_item_kwargs: Mapping[str, Any] = None, go_to_this: bool = False): + def addListItem(self, path: str, list_item_kwargs: Mapping[str, Any] = None, go_to_this: bool = False) -> None: """ Create and append to the list tail a new ProjectListItem instance. This doesn't save in QSettings, it's an up to the caller task (e.g. if we adding a bunch of projects, it make sense to store them once in the end). @@ -492,7 +496,8 @@ def addListItem(self, path: str, list_item_kwargs: Mapping[str, Any] = None, go_ else: list_item_kwargs = {} - duplicate_index = next((idx for idx, is_duplicated in enumerate(self.duplicates(path)) if is_duplicated), -1) + duplicate_index = next((idx for idx, is_duplicated in enumerate(self.each_project_is_duplicate_of(path)) + if is_duplicated), -1) if duplicate_index > -1: # Just added project is already in the list so abort the addition module_logger.warning(f"This project is already in the list: {path}") @@ -506,7 +511,8 @@ def addListItem(self, path: str, list_item_kwargs: Mapping[str, Any] = None, go_ self.goToProject.emit(duplicate_index) # jump to the existing one return - # Insert given path into the constructor args (do not use dict.update() as we have list value) + # Insert given path into the constructor args (do not use dict.update() as we have list value that we also want + # to "merge") if len(list_item_kwargs) == 0: list_item_kwargs = { 'project_args': [path] } elif 'project_args' not in list_item_kwargs or len(list_item_kwargs['project_args']) == 0: @@ -642,7 +648,7 @@ def parse_args(args: list) -> Optional[argparse.Namespace]: parser.add_argument('--version', action='version', version=f"stm32pio v{stm32pio.app.__version__}") parser.add_argument('-d', '--directory', dest='path', default=str(pathlib.Path.cwd()), - help="path to the project (current directory, if not given)") + help="path to the project (current directory, if not given, but any other option should be specified then)") parser.add_argument('-b', '--board', dest='board', default='', help="PlatformIO name of the board") return parser.parse_args(args) if len(args) else None