From 0ba56982a579855488291f3e9435e6d7fac00a5a Mon Sep 17 00:00:00 2001 From: Mikko Nieminen Date: Tue, 10 Sep 2024 09:34:33 +0200 Subject: [PATCH] upgrade to django-sodar-core v1.0.2 (#1922) --- .github/ISSUE_TEMPLATE/release_cleanup.md | 3 +- .github/workflows/build.yml | 24 +- .readthedocs.yaml | 2 +- Makefile | 6 + config/settings/base.py | 118 +++----- config/urls.py | 6 +- .../source/_static/sodar_ui/timeline.png | Bin 170404 -> 164028 bytes .../source/_static/sodar_ui/user_profile.png | Bin 63989 -> 100294 bytes .../sodar_ui/user_profile_settings.png | Bin 0 -> 75421 bytes docs_manual/source/admin_commands.rst | 3 + docs_manual/source/admin_install.rst | 30 +- docs_manual/source/api_documentation.rst | 43 ++- docs_manual/source/api_documentation.rst.orig | 106 +++++++ docs_manual/source/api_examples.rst | 37 +-- docs_manual/source/api_examples.rst.orig | 223 ++++++++++++++ docs_manual/source/api_projectroles.rst | 60 +++- docs_manual/source/dev_install.rst | 6 +- docs_manual/source/index.rst | 2 +- docs_manual/source/introduction.rst | 3 +- docs_manual/source/ui_project_timeline.rst | 18 +- docs_manual/source/ui_project_update.rst | 25 +- docs_manual/source/ui_user_profile.rst | 60 +++- irodsinfo/tests/test_permissions.py | 4 +- irodsinfo/tests/test_permissions_api.py | 4 +- isatemplates/plugins.py | 20 +- isatemplates/tests/test_permissions.py | 4 +- isatemplates/tests/test_ui.py | 8 +- isatemplates/tests/test_views.py | 29 +- isatemplates/views.py | 5 +- .../configapps/bih_proteomics_smb/urls.py | 6 +- landingzones/plugins.py | 24 +- landingzones/tests/test_permissions.py | 4 +- landingzones/tests/test_permissions_api.py | 4 +- landingzones/tests/test_ui.py | 6 +- landingzones/tests/test_views_api.py | 4 +- landingzones/tests/test_views_taskflow.py | 22 +- ontologyaccess/tests/test_permissions.py | 4 +- requirements/base.txt | 54 ++-- requirements/local.txt | 9 +- requirements/test.txt | 16 +- samplesheets/plugins.py | 76 ++--- samplesheets/studyapps/cancer/urls.py | 6 +- samplesheets/studyapps/germline/urls.py | 6 +- samplesheets/tests/test_commands.py | 4 +- samplesheets/tests/test_permissions.py | 6 +- samplesheets/tests/test_permissions_ajax.py | 4 +- samplesheets/tests/test_permissions_api.py | 24 +- .../tests/test_tasks_celery_taskflow.py | 14 +- samplesheets/tests/test_ui.py | 8 +- samplesheets/tests/test_views.py | 4 +- samplesheets/tests/test_views_ajax.py | 6 +- samplesheets/tests/test_views_api.py | 10 +- samplesheets/tests/test_views_api_taskflow.py | 6 +- samplesheets/tests/test_views_taskflow.py | 38 +-- samplesheets/views.py | 25 +- setup.cfg | 2 +- setup.py | 4 +- sodar/_version.py | 83 ++++-- taskflowbackend/api.py | 8 +- taskflowbackend/tests/base.py | 17 +- taskflowbackend/tests/test_plugins.py | 36 +-- .../tests/test_project_api_views.py | 9 +- taskflowbackend/tests/test_project_views.py | 14 +- utility/install_postgres.sh | 4 +- utility/install_python.sh | 6 +- utility/install_python_dependencies.sh | 2 +- versioneer.py | 276 +++++++++++------- 67 files changed, 1130 insertions(+), 570 deletions(-) create mode 100644 docs_manual/source/_static/sodar_ui/user_profile_settings.png create mode 100644 docs_manual/source/api_documentation.rst.orig create mode 100644 docs_manual/source/api_examples.rst.orig diff --git a/.github/ISSUE_TEMPLATE/release_cleanup.md b/.github/ISSUE_TEMPLATE/release_cleanup.md index 16284f830..a5e57f0a3 100644 --- a/.github/ISSUE_TEMPLATE/release_cleanup.md +++ b/.github/ISSUE_TEMPLATE/release_cleanup.md @@ -19,13 +19,14 @@ TBA - [ ] Review code style and cleanup - [ ] Review and update docs entries -- [ ] Update `SODAR_API_DEFAULT_VERSION` and `SODAR_API_ALLOWED_VERSIONS` +- [ ] Ensure REST API versions are up to date and documented - [ ] Run `npx update-browserslist-db@latest` for Vue app - [ ] Update Vue app version with `npm version` - [ ] Update version in CHANGELOG and SODAR Release Notes doc - [ ] Update version in docs conf.py - [ ] Ensure both SODAR and SODAR Core API versioning is correct in API docs - [ ] Ensure docs can be built without errors +- [ ] Ensure `generateschema` runs without errors or warnings (until in CI) ## Notes diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ebb71544..f7b5cd5dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,12 +7,12 @@ jobs: strategy: matrix: python-version: - - '3.8' - '3.9' - '3.10' + - '3.11' services: postgres: - image: postgres:11 + image: postgres:16 env: POSTGRES_DB: sodar POSTGRES_USER: postgres @@ -24,6 +24,17 @@ jobs: --health-retries 10 ports: - 5432:5432 + # TODO: Remove temporary iRODS postgres server once on iRODS 4.3 + postgres-irods: + image: postgres:11 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 10s + --health-timeout 5s + --health-retries 10 redis: image: redis options: >- @@ -39,7 +50,7 @@ jobs: env: IRODS_AUTHENTICATION_SCHEME: native IRODS_DEFAULT_HASH_SCHEME: MD5 - IRODS_ICAT_DBSERVER: postgres + IRODS_ICAT_DBSERVER: postgres-irods # TODO: Use main postgres on 4.3 IRODS_ICAT_DBUSER: postgres IRODS_ICAT_DBPASS: postgres IRODS_ZONE_NAME: sodarZone @@ -64,7 +75,7 @@ jobs: uses: actions/checkout@v3 - name: Install project Python dependencies run: | - pip install wheel==0.40.0 + pip install wheel==0.42.0 pip install -r requirements/local.txt pip install -r requirements/test.txt - name: Setup Node.js @@ -86,14 +97,15 @@ jobs: coverage report - name: Run Vue app tests run: make test_samplesheets_vue - if: ${{ matrix.python-version == '3.8' }} + if: ${{ matrix.python-version == '3.11' }} - name: Check Python linting run: flake8 . - name: Check Python formatting run: make black arg=--check + if: ${{ matrix.python-version == '3.11' }} - name: Report coverage with Coveralls uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: './coverage.lcov' - if: ${{ matrix.python-version == '3.8' }} + if: ${{ matrix.python-version == '3.11' }} diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e72d09389..2c8ba6f42 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-20.04 tools: - python: '3.8' + python: '3.11' # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/Makefile b/Makefile index a0996e68b..c919238a5 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ define USAGE= @echo -e "Usage:" @echo -e "\tmake black [arg=--] -- format python with black" @echo -e "\tmake serve [arg=sync] -- start server" +@echo -e "\tmake flake -- run flake8" @echo -e "\tmake celery -- start celery & celerybeat" @echo -e "\tmake demo -- start demo server" @echo -e "\tmake samplesheets_vue -- start samplesheet vue.js app" @@ -39,6 +40,11 @@ endif $(MANAGE) runserver 0.0.0.0:8000 --settings=config.settings.local +.PHONY: flake +flake: + flake8 . + + .PHONY: celery celery: celery -A config worker -l info --beat diff --git a/config/settings/base.py b/config/settings/base.py index 02694f2b6..5411a9906 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -8,6 +8,7 @@ https://docs.djangoproject.com/en/3.2/ref/settings/ """ +import itertools import os import re @@ -61,6 +62,7 @@ 'markupfield', # For markdown 'rest_framework', # For API views 'knox', # For token auth + 'social_django', # For OIDC authentication 'docs', # For the online user documentation/manual 'dal', # For user search combo box 'dal_select2', @@ -304,7 +306,7 @@ AUTOSLUG_SLUGIFY_FUNCTION = 'slugify.slugify' # Location of root django.contrib.admin URL, use {% url 'admin:index' %} -ADMIN_URL = r'^admin/' +ADMIN_URL = 'admin/' # Celery @@ -326,6 +328,8 @@ CELERYD_TASK_TIME_LIMIT = 5 * 60 # http://docs.celeryproject.org/en/latest/userguide/configuration.html#task-soft-time-limit CELERYD_TASK_SOFT_TIME_LIMIT = 60 +# https://docs.celeryq.dev/en/latest/userguide/configuration.html#broker-connection-retry-on-startup +CELERY_BROKER_CONNECTION_RETRY_ON_STARTUP = False CELERY_IMPORTS = [ 'landingzones.tasks_celery', 'samplesheets.tasks_celery', @@ -355,7 +359,6 @@ LDAP_ALT_DOMAINS = env.list('LDAP_ALT_DOMAINS', None, default=[]) if ENABLE_LDAP: - import itertools import ldap from django_auth_ldap.config import LDAPSearch @@ -384,8 +387,9 @@ AUTH_LDAP_USER_FILTER = env.str( 'AUTH_LDAP_USER_FILTER', '(sAMAccountName=%(user)s)' ) + AUTH_LDAP_USER_SEARCH_BASE = env.str('AUTH_LDAP_USER_SEARCH_BASE', None) AUTH_LDAP_USER_SEARCH = LDAPSearch( - env.str('AUTH_LDAP_USER_SEARCH_BASE', None), + AUTH_LDAP_USER_SEARCH_BASE, ldap.SCOPE_SUBTREE, AUTH_LDAP_USER_FILTER, ) @@ -417,8 +421,11 @@ AUTH_LDAP2_USER_FILTER = env.str( 'AUTH_LDAP2_USER_FILTER', '(sAMAccountName=%(user)s)' ) + AUTH_LDAP2_USER_SEARCH_BASE = env.str( + 'AUTH_LDAP2_USER_SEARCH_BASE', None + ) AUTH_LDAP2_USER_SEARCH = LDAPSearch( - env.str('AUTH_LDAP2_USER_SEARCH_BASE', None), + AUTH_LDAP2_USER_SEARCH_BASE, ldap.SCOPE_SUBTREE, AUTH_LDAP2_USER_FILTER, ) @@ -435,79 +442,40 @@ ) -# SAML configuration +# OpenID Connect (OIDC) configuration # ------------------------------------------------------------------------------ -ENABLE_SAML = env.bool('ENABLE_SAML', False) -SAML2_AUTH = { - # Required setting - # Pysaml2 Saml client settings - # See: https://pysaml2.readthedocs.io/en/latest/howto/config.html - 'SAML_CLIENT_SETTINGS': { - # Optional entity ID string to be passed in the 'Issuer' element of - # authn request, if required by the IDP. - 'entityid': env.str('SAML_CLIENT_ENTITY_ID', 'SODAR'), - 'entitybaseurl': env.str( - 'SAML_CLIENT_ENTITY_URL', 'https://localhost:8000' - ), - # The auto(dynamic) metadata configuration URL of SAML2 - 'metadata': { - 'local': [ - env.str('SAML_CLIENT_METADATA_FILE', 'metadata.xml'), - ], - }, - 'service': { - 'sp': { - 'idp': env.str( - 'SAML_CLIENT_IPD', - 'https://sso.hpc.bihealth.org/auth/realms/cubi', - ), - # Keycloak expects client signature - 'authn_requests_signed': 'true', - # Enforce POST binding which is required by keycloak - 'binding': 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST', - }, - }, - 'key_file': env.str('SAML_CLIENT_KEY_FILE', 'key.pem'), - 'cert_file': env.str('SAML_CLIENT_CERT_FILE', 'cert.pem'), - 'xmlsec_binary': env.str('SAML_CLIENT_XMLSEC1', '/usr/bin/xmlsec1'), - 'encryption_keypairs': [ - { - 'key_file': env.str('SAML_CLIENT_KEY_FILE', 'key.pem'), - 'cert_file': env.str('SAML_CLIENT_CERT_FILE', 'cert.pem'), - } - ], - }, - # Custom target redirect URL after the user get logged in. - # Defaults to /admin if not set. This setting will be overwritten if you - # have parameter ?next= specificed in the login URL. - 'DEFAULT_NEXT_URL': '/', - # # Optional settings below - # 'NEW_USER_PROFILE': { - # 'USER_GROUPS': [], # The default group name when a new user logs in - # 'ACTIVE_STATUS': True, # The default active status for new users - # 'STAFF_STATUS': True, # The staff status for new users - # 'SUPERUSER_STATUS': False, # The superuser status for new users - # }, - 'ATTRIBUTES_MAP': env.dict( - 'SAML_ATTRIBUTES_MAP', - default={ - # Change values to corresponding SAML2 userprofile attributes. - 'email': 'Email', - 'username': 'UserName', - 'first_name': 'FirstName', - 'last_name': 'LastName', - }, - ), - # 'TRIGGER': { - # 'FIND_USER': 'path.to.your.find.user.hook.method', - # 'NEW_USER': 'path.to.your.new.user.hook.method', - # 'CREATE_USER': 'path.to.your.create.user.hook.method', - # 'BEFORE_LOGIN': 'path.to.your.login.hook.method', - # }, - # Custom URL to validate incoming SAML requests against - # 'ASSERTION_URL': 'https://your.url.here', -} +ENABLE_OIDC = env.bool('ENABLE_OIDC', False) + +if ENABLE_OIDC: + AUTHENTICATION_BACKENDS = tuple( + itertools.chain( + ('social_core.backends.open_id_connect.OpenIdConnectAuth',), + AUTHENTICATION_BACKENDS, + ) + ) + TEMPLATES[0]['OPTIONS']['context_processors'] += [ + 'social_django.context_processors.backends', + 'social_django.context_processors.login_redirect', + ] + SOCIAL_AUTH_JSONFIELD_ENABLED = True + SOCIAL_AUTH_JSONFIELD_CUSTOM = 'django.db.models.JSONField' + SOCIAL_AUTH_USER_MODEL = AUTH_USER_MODEL + SOCIAL_AUTH_ADMIN_USER_SEARCH_FIELDS = [ + 'username', + 'name', + 'first_name', + 'last_name', + 'email', + ] + SOCIAL_AUTH_OIDC_OIDC_ENDPOINT = env.str( + 'SOCIAL_AUTH_OIDC_OIDC_ENDPOINT', None + ) + SOCIAL_AUTH_OIDC_KEY = env.str('SOCIAL_AUTH_OIDC_KEY', 'CHANGEME') + SOCIAL_AUTH_OIDC_SECRET = env.str('SOCIAL_AUTH_OIDC_SECRET', 'CHANGEME') + SOCIAL_AUTH_OIDC_USERNAME_KEY = env.str( + 'SOCIAL_AUTH_OIDC_USERNAME_KEY', 'username' + ) # Logging diff --git a/config/urls.py b/config/urls.py index 0ab844bf9..feee7eb8d 100644 --- a/config/urls.py +++ b/config/urls.py @@ -1,5 +1,5 @@ from django.conf import settings -from django.conf.urls import include, url +from django.conf.urls import include from django.conf.urls.static import static from django.contrib import admin from django.contrib.auth import views as auth_views @@ -26,7 +26,7 @@ def handler500(request, *args, **argv): urlpatterns = [ path(route='', view=HomeView.as_view(), name='home'), # Django Admin, use {% url 'admin:index' %} - url(settings.ADMIN_URL, admin.site.urls), + path(settings.ADMIN_URL, admin.site.urls), # Login and logout path( route='login/', @@ -40,6 +40,8 @@ def handler500(request, *args, **argv): path('api/auth/', include('knox.urls')), # Iconify SVG icons path('icons/', include('dj_iconify.urls')), + # Social auth for OIDC support + path('social/', include('social_django.urls')), # General site apps path('alerts/adm/', include('adminalerts.urls')), path('alerts/app/', include('appalerts.urls')), diff --git a/docs_manual/source/_static/sodar_ui/timeline.png b/docs_manual/source/_static/sodar_ui/timeline.png index 7df999756b9df54ab97b7c62d1de03f2325ed80f..b54b1d619614327ce5978871beaf8fb68ed8d1d7 100644 GIT binary patch literal 164028 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Ôugz+s#(AiYu46*w|$%6lp&Auu5v<2UGZd*gA6$ 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≥+S59$t4i2BG$pl=vn?C;|5@BJUFIK@kaW-$GH$RTd~5$3#iJVU zP8*)Zt$!Hm0}dYe892E)qSb3)*(pJ9Nb_Y+8k=f(efkQ(+Pu#mmnKB#B79~NSn$ZO z7@~~jNW1<{erlw4CA%5C1W;5OAaop7KWNer64Cx9Jjs(Wc6mKnAk?i4i{w1_6eJPsmFGIh7{5}5fF>wd6%_`!B$ zaMwFxi9aKBlL4KCh2<2w45`vMW(*lnpjk4d~5>saM#-u&S9*#CMe_AG&XN} zrpq7Aw3&WKqF%ETl|v-e$<9DUHJCzpo3D_w)$5_&l5x!HS<>%eT+hJQZZ(@WJON{9 z??pgVP8-S5xsKh#9!YometmKr=B#cXHmxBoBQ~aD1T)a_f{KqiTtV99@P4Yr>hCo_ zXb=0}!0O{UY2idXtc;ZeUHIx$mDP|%L z9rF-nWpdSp`Pz2P_O_kx{3%UTI-cIbE7^eF5RMX6STIY<Wl1^nt>zmR z-%BoUUSi_8)99orSUP*4r>a*mI>-#aeK~6DjI?3rI}{hRV9(SXcfjHpu9Pj_be7Ke zb;wN<6-@Hs;dAbVV40P9Nf$Ut;PIL>HNFc#fsZg_0+P}gmn!PJvMs`5 z4Ur=f&f;kC!px9Kb>iF+-DF+Vqq2v>sd7jK2&yJmbd|uW?u~-+yiypn1cPDFT5tTf zi6+~+Ku3Cml8u%&v4H%G#P&pd3scDEc6(eae)BQaQOMc=lB~X_-OC){id*`2AW_jT zRiw!wHXZBD5&5gn9{P$?v>ObTK_q}g=2P+BHIr?&|)iF2%Twt*?zCRiZvuAP)OJe&q7P9h9!e0x# zY9oyKyveiD=h9Y<-Y-;r*rmW#mI(viTwKN{)IGUta;)WJh^9d2L{^u{&xdzBrDxI_ zyph8H6}9tubFGtW7}eO;oBw45{YlO%6fnMN1~~OM7L_<(u`n8m>*?yhG5x8*f2jG= zykMIMmtyF@HyQf#>8MMr^Y)~{gNL%$jk2bP9}FuL>=E{-#!Vy3aG08lzY&@=Cc|!l zDZGdCu3)CjspXTd5>=vuD^XuYWLhgz6P64W}_Z+1DM+QKk% zDIwN=N4RAQ$!2wrb1*h$)uyN3e(6)mhPN;poygboEQDO32AxC-4nF2+GfR~Q5k8T%^Nyc;x*_=i* zS@JjEvC=rKzI^{m;^DEJ*p{=snQDd2i=2_-wp$H%y$(6uSNR-(7kgRqm3>kWI zxZ_c{uZ`~#^0)|m8k&<%4M4TYu>XaU|G^rZK4Ha+GkG#0^PaOMk@8FK2VWw?)a%Wq zY~I8}d$eyE4MnC{!(!axeU4AFFHv}Njj7ubD}UCP(PSAAHl}gC{UJn4kEylMZX&mv zmGP_yZT=+n77K8hCLf7%8mX`V2S#7~T{EF&g~`^KcI3RfHu`deydyA(>|j-vTnA8y z=8)cVSA8D$EYJ+hE0w0~K@Pk1_6z5Y-es7Fx4g$}4B?2drF@mRxNmY{2;BOg*~qiqKsr>b)8M!BGsoEZ@BcjA1?s ztg&;B+{T;#L@hYe63pP}eE>aHZU zR}4;UjW(=Ai`{;yn1CKOQ*z0i!2WH5`>MUn9N}t*L5D97(MTKfjwXXR@A1$N)$rUJ zhVG5ZQJ(G`d-;kZp0VgieyicEuw8+5$i0LP4d?nVq~v$zXXySUe!lqHeh&LdJ5z-O zPrvN_yCY1u%we&YvuVOxZvJRW_~a0b!4D{VntL-px~SwbllkhuPz2i~1^nusD`xuY zg6r*0!Mq09d?_P(jNY$ptg8qXgAV5Tyia1(PyO@g?M>_9naZ(oA%xCCu2YtYjq-Vdf5z@9sWwRaLHr= z!`^vDc7mKS?S*cA;Ktx1BYH6Pxz00>$TumVg2rBV+GynuEqy^@Ly=idb7O7qjT^LA zC0eFZ!o4=V#oV{-8<5dMCpG>?*WUJ+MnXJo>%=0vMDW%!3h* zjGzeq^l52=lNEo{IIXRl$$J7)^r??{B>IH3nJrE4b&A`|Xu@xQU=@}c-qfTT*wdX? zM$x3L;b|q!TzwB0^=Eize!Cc)sed4pUvkcqz0;c4XtP*EF=S7rPoK3K&}E668yZ9I zi(Xl3;9f9<-zL`-XH@Nl2yRM6kZm_G?!KGt=g|6as;s{h!*gZrpkJKHI0F3|NUSKfuLlzm7y!%I z@v`0i^3lr>wvfk2q0Qppte-IU80;2!N}Q^+hNvONC{&STx0KL+!mv1D^2H1)Lmwg* zGcFaxxjQ^9xwafWU8QAq?2atSF1N6{o{pp!5-i`KiFBeid@vzhb3kQ2!K;{}Bpc-% z0w=}L7Xtw?^!;O7MPx+`uu7bS)A>oOku*?k0fP{lNrhtK|9D<@j$O_z5`a?)7v4Q> z0Y=v0A8^l=TR&sJec4eQ5VChAhd=mU=G={K6=Uza%M6NlHUE5iI1kQl?H^D*4PiqA zbi$;H^eonXfH??21+8i|?BDyxr~Ac6NvANevJMtx@Wed06&9P%x9h_8-h1@7TpY?! zEh7>B_$f(st+*qaMH@5+r_&x?;;qhMgM6A;;4u8I=se0hxY=sLjHo*JnFD_j%VX@r zyb}XXO$L&J{>0Co)_61icH^(dd%hj=(~_1f>x_|pn%HXEP;S5X3lGOSw3Q!mO6Jz| zm^+f9l1FsE5>IB>{YaTAo))_F*uvM`#GpzOrE1D6H|to-V@RW~=$r{TGBUrgK6G^) zSCb}i_@-)j%=W`dGUP1t=PU5i5y;6bIVsHdbl|UGj3=nvLc0r)KZ;r zN@{Xnu9a6zYN?WBv<|X5WJqmMTNe6Wo#mR1+ru(8KhUGcY^;~x892CHgqT`_`2!C_ zG4ckhGUTc)g}_Qa0;WiL%kPks-Oh!~`@g^Nb*w&0=RCO1R_^Uac1&G3`SCdGW^xt z4Z@EPjl+7-MZ@xgF zy=dw~c_SCrSmUkJoN&5jdNhHPz8)QD(Olm-i9Js`?p6nNJakcS#p8Z617%mG@N8W% z?g+|W5=&AwMS)>`6r#>8jS(0tx9Y*TS-6@ak=0rb5^AZow*xbMxtsbT9N`TJJCG{x zbX5tVmdRzl6?v6&AGvt*Vb8pK=%#)8$xu=-V12IY(gWOz&rpWjZuKQXr0yUKaR-}~ ztEA(Ft_ur3T3Y3i50xg_t%`y|_#svNWV7VhbFphS@(Z{>K-nmHFoUoU;Q9jl6n6DN zn_4CD-bO(}3BC!GU3M^8YVIY2;RI>u5WL{OimG1sS=WGJS-Na^jtvc&WHhfbn=#k+ zhPkMb+^e?=Xhcm)GGjF7wub6>&_TYOXD)3xH5kR#x$o*GAbAw1<;MgYu~uq=v;J;8 zMg^AGgkYze7h@a&7nB{GXm4=j)QiGP7`|f12-F{GtoQx~khtOj@#{|Cj;?}rfI91* zw|~`Po2h@uRjtO2oMqdiP*p@~T!cW&0Q%HiSFmuzuu|kWxf=^o%-#QTi;Ewa`f)oY z3j8{iJQ|+{NKplVNlQEDMs!-Q>SF?yo*G~n*+x_zm+`a>Ea4ilM>}&r(pxYDX=rG7 zE}(wVw~HHcrMqDy2IVmoQ!8Vb!BI|9$Y%^^rKm$#cuO_97!E$=-JKW|S(dN^?lHqK zQ`4yhcP8`?8H{KH^1#NbEPQLGZ9{)0t9n(GDx?Q%Rf+o&+(-#os@+d0r&B3z`luyM z#yl%)zGXne2e~unr34p`$k#F$H!rDKqMir@D#IV|wAY^GGb^}_&8>f5sBbDVZ88xk zLL(b0g{Nk(7c?zyXws6^qteh)S(}piQ3N)7QxRTqXPIM0P*ecWE%DjtU&)ExdK?g% z^Vsc49l;Ctt|k7az!Jd%g2~xz2|hCWU0LK%3pYMJ843=%^8Of3J6U{|tM<&)SDL%1 z=qHwZyT|puNiK0T!Fchtmj!W!xVR-$b@hb`jPgetYSE`sbM<{*LlfHkj?5*OJRW|f z{pWE@XSeex&^O6b#a{mcyoE2lC3&a_(}nQnt36$sl>X^U%93=Avou~IQ$y>kv)D>7 zWQOo@ry;m@x879ob||H7S1O}53H)28BIbS`y|nS%*7~x``0&&|AQz~X{6J79WJhJ7 zc-~$Gv7wFJRr51UwPj8M%X-;aTw5OL?gLw#w;YFawRm*~*AxKsB8c;QWhB9nh=MC& znf>w~2w|tg4{TtoF`37-CNsf0dBCMU5bgK*`0%E-b((nYJjB>^l?Q|>QxJ}33jrM! zAfjO+y_PWP2n`jFl$MCq79-<-Bs+e0!QuRMM6AcudCOG^)vs60UZBc#CKa-d?@;jp zj>pIeX)hO=CNC_I1rnw#J=uJ}kmCdvsj{t7W!;eQC0F+OcnK?igC?cP3K8Svd1Zpc zf*RsL2x{A;O!APr{K4hCIZ@aI%m7)$Hu65)(x5kwM;Xl$Eno0R7#WFQDR@A-INjuGdFc2KcITp)>CGkc?Z?O|F8@Vt_# z^xpNfi%;S$#%yr>O~64KaNs~Lp3Ccb1%yZBp9r||alK;@RxF9DiO^~3pDmZJP> zB`FYNW#w($;bhEI9O0xqE82-VmEI&Lc&!YY+|Ibpd|^sT$WX{+x&R{!-v*vMuty=% z>kAd(iD5uUcJuD>lAc+FqwM{mvW5m+5f+SoL&{U+w2IzfQW!o_d2zN_k<~{fn(J@U zOI%8VBuec7B~VXD4Y;wrzgYm)>6^}=&M`dnd!`5csS)27UcHk&g*G`kU2mOGQ|a7K z9XEP>kMUUJqBP$ufz;cZ^5iOdg@ka}vDMj{M7B3d=+U`%)Eb_#O8)b4i50Z@rBfuW z4b&pGEJF7#u8Ne`w>Ht&DI?8V2H)ULdnn8GR}TXmw}?yQ1%#XGGRWWfyopgajy>gF zW>$IpgngSbWZ8PYtT`pLIrB0OjWx+&W(U0q4R6onv=N2-Hb-*@$@RY;B;w}#!($Jh z)u76pZbqrAmetFFAE)>6d!Fz_&KDT~Urt%>6gfY0)V8}wYIiLns`XoKwYw+Z9e0b1 zwl8$~<4gTTUx+7(Oe(bJq4D#_9Do)nGpv4&AG5Jh)N;Q!B+1(2xb6fp&0r3cQ~&)v zy-6wem@Zn5u@nW)b+K*j)JQkmDYR{CpnA(N5&rFx3tMG;h@V!EW#Mh^B?c5oP&^9v z!TNP0p|3rRP+i+Z^Lf$Qc>mcr;ubI^Q*G-8U|E8RtdxBMswB9t{}eQ6{9?&?M&8yC zV%BIR2AIQeA_Yz_p+JCHRHfNkxeG63L~eW$LO3T_Xuc#ah3VHTB?&NqaV8h)r&0av z+5**T6I@3~ox`*_&$SO9^KXWGKWVXs#1I^7vdW=@uAM<>tgJ8BYOZMe$T?q@Tuw%! zmX<|{P+InZ%Or%1<$1?U5;;Oj^=w_8TqTA;pKDfQu zU3xy8|IN#`8h+LFddeV3!@?iPG6bgs^~_wDfwyT4wQHs{mWB?i>iwKZj_%(KW21Al z(ifC`&g=QIavkN;P|8AA`Hd&M)5&7ZmUwf67iVn?N7+seuGDaWK%Yq73kh3DADU89 znxv>UA~6v`3gP^Ua3Lp~FPu4F+fSp2)7rjs$B0Lx*n0QQ~F8MCP#J$5lU+iEemhZhd0n^_J4vCu<60SmppQ4Y;~ zXQ_|3u1i47l+2kGVYuiHkMpSm!;}~j!Gvhd|KN+C zuYXBiYME;dcCMh8N;Hde*LBzGHrY*})~}c|UcuAks>m^gW+11{9FD-$9L)I*eMsm* z-O!q8U)CU>d2C}EG%GcyEw3+Em3PGa?WB;wB)f*Y_jW@M>-5IL8v7Dy&Rx(==v*il zzKziuOXem3$<>Vq6SyC&JY(I;=80Y%OL?Zxvh$5FT#bd)eKGvil2XHLoq>ABEs&$t zSHh(hb(1uvEP)2eC(%K{iq!ZO1omof>zObiFd|&Um!mzD?!hw%pY^1}C&9{qc zNb>kPHAQgOx@M*cBd7XKZqxN7^S1ifrLREHl$thz&UXiz@KRem za0EWJ<|=ucT76PyYLFd^*CF*k&2e6_Gr4M$W(F4g^DrGGw}D8AD`V{jX$HnJ3IJev2zU`^Dc!)&2Sn{k;Ceq?u* z+}543C&F$nW^(xn&2@ZNloGxp*>zTN@jub@IahwZ=zyrkZew&R}M0eT{tAw!1Tg5y(bD1 zM`>__vN0(b(J3Zan>D z8T4&Q3qEX+>DK$OvuIc}B5OO1Kfb9sp z+@^@a$>E&V$Cm>2&3dB`ef*9wxhncA6-&lEDV_#qdc-}-7I!hT`*zt6eoAED(bEhg z$;mPDdk^fNDd7bdY(EaIvHgMnFM7uKBTb*8(jp-Mw#!6!zb@Xqj4>+lcv%cLS>_dz zS&B*!P*8EbRtpQq_}zN6Sz~4d@qeq%CoaN*SDWbPV@bpsku|$+XM7MBcVy&E+}8Yv z(#QO{H%Poms7j}y94EdWuVEB3h=%^9FWFTHf|o7L^|*TC!+_p*5+o79%M;gk0k!kv zjW(!76vg?C)3Haq&R7J6VQRV8RNY^%x{d;k)9bF6nI@8{#6DeHNOkZisSFBIWycS3eFaTr^N5+mJUbPKiX7j z3glWlC?z9dmLML+ZhmNE^*^p~zdqS;{xp-_TR>DC%#kO(_xTFV5r$gOJkn4BsqxJC zXF5GKt_?!s+pqLA+1VOH+HBS^Cg*|Htd)gupv&AE<*Dl+aJmj6^_ph6Z;~*>-CMVE zdbKWH?*}-4s4*J?jXNdeOC=qoJr&{y%OXQ;F8nTARpA$qj{vg{zeX=8MYXIIn1cmzUtunT&o_2}3vn5+ zAQ`8KBzI171$$M)pWAGg)=?27S!lh!JeJn`71L|K zhe!L93rvV9-8K?qdzH}asTX5|;u;7M(QD)sN;;n|K?Y@qbblc_VO<(w9CwcGO)3k7<0#5?D_gU7&2k%XhAD!g^u45ZTP^e z{=kbB;sjv&*aQCyHu_@o+q=Ts!QdGRDf_pC$F^{!zwK;N$hW@q4KEO~;uRbZ1f5xGpxxD8Qwx`2`bPke`lv`og zO<;9RkQXB4w~MpCJ+#1nTjSggnyoL1UF-R8L@x}6R~f97@ciJ(K~6^Uc#$!B;Psz$ z`(pYU-ryW&hNA1cn(}xGh57zUgG64Or^dZ~%#+k|@M<}mH~*tDgFR`x;90|K()5)3 zQ`_snA|{ZH=(9Z&Rou#L;%K14a&EcB_hfRuHX~>I32vAdE7D1elE++?-%O!IqV9MP z(I!@kn2H97r6Xo_-0zefmR$deZJ0urw0%ZZ6;YD1Hs|dcxw@H)W&`FC{?XJ$lgTVP@j)@AyRy;mP>Sk_|e%)pO%ci z=wOkjzVTYq{a!K6G!|ua-(kJ%#2G)&%O*u*&Kv$@9n+CSIBt#7Fqjcw49Y!Hn(Yj~ z{F)9u$8v!7n&h8#Y<9BGh}nbM|FCtVsKqnKVL&*oqdj(4%5=8QpEOnaW2-*MRR4_h z!iL?7w$|-4m0v_d^%t4P_ON!;^^8>GTl#nd9MV{8@X}BzHR#bH8o=JDy`42y-~%2^` zcM_uW-jW^K%Q6%>M6BD9uLs+T|45BHa}lCSOW7J6H zfXWPG?Se9nmOVKB1)Q%7{0F*329bDm`wNgr>m^{~-31a?5lMGQ|046HlfGCmR+mS;qdNnP%*^FC z-AZL96X>Lt3+1NhP5+{^`JNq@V1HQyM4jeaWy(};_R$OehD86eSuyyP9A$soU>aD^ zcj=zd5Ag6-$ASaROI7MG^88G2&bOG+>%#xy_y_0RFc4ha%Ph0zrR;Pzl!pw3PK+ld zT1)C>DlV?>_Jf#k|0HJhpX5i`KQfqx$;rdUwMw_zswOB9M<4~Pd*=H^R=alG-~pl+ zME^-2@haSa1kvQ~Qi=vqJ~K5Hqc{*ApXidDlW%OdLJy25avYIkRb%;^y@esUfS+VX z**DmV*%=612j(#_Hy=kY5O+9`QA#qH$?^0&d+{RzqOZ{lD*vYv1PHF>7UTUZ!zQRe z>PB1Z0br&p2_fr!0zlUO0N+13`D zuRnaloAl{D_FLr7pO=pC|7Dr{WVwWbw?z0F9GEJwgTUg5f%4}6I~YU>(q)N(8f4|Z zGP$cJ=K3T)(|S1Q|ANQ)gp*%UTuOv;E7YA~wi?vE!2TuRkMe$l3sq?~nFxORxnn@A zw!M18{`ceGx#m4W9O><-AaJ2zJZsHSxI4<1?Oa@KXX{Pj`DXk)%M9VjtX95Rar?i;5tVlQFSDB+Zp6X&6RIlUeIJJ9*vC zRz(yQ75CUx{+S-Tpfe_c#3CXhHfyWvK2=I(Aj`M!{1e)Zf~Mv95-rsnTPgq5f`c2D z^?mtks~QCgD#LlSbaY3H3k0{Abgg;{qrbOy+tL%@1@-j!dE76Ha&v3T(rNxS6UK4N zx}H$z;e1uq6IjU+FdS!c>6G0^NJt2DsYc)Y@Zz$~@7>Fo0d*To5(Zx_5Nv7VODxri2thp+yCXy;{^X5l7k}ol2AV} zg<<|&&9cy=;(U=+y5W+NlFn%7dgL<>4Vs!Fz}ekE_U>qw-N64JD{%i4(X$I0m+kmN zo;^$oq!ctMG5MDV`46CCHgN6lfe8MOwZQL1c5xU^8-no|r~Il)*-*rk$XnXX+RMWj zFjB?Y|6GKppna*~Xa=%Gtz`o^QCn-o#KojhjtHr!=*XCX}pp9JjsXpbRs-4##`d{_rg!olNzt_4wr zN42R`cl-hs_%s?zWjk1|tlj=2KjCr9K^p0zPNi}s=>hNcE}<;9G(F+LvRQk=-A+$~ zgJ~1ECuhuuTPE@DkK6FI5>i)Srr~3as$)IQH=O!W5tvxROT4FM`WfQOz=v_5Y^o!o zEz|a)zDm@ysB+6>I30F_^6%-TQ_8FSNIe?b+Bf$me;TbTNk4#<7}qfEdybpGkHJ*! zxfIfZD*cf=LJiH6MTuLMfwPxy(XPKHl-K#sVW(p(7Mmd16-Bs2n$(7|AVUHEWq+(+ zzovoVPlOir{`Xg}xY-wc>F%*xo~RVU*~J}OxN<398b0qqT|N(yZcew(s!ja)f-k@^ z>w3-z)m?fbv<5%#{eILi2tO=(J;#dgcA4;?EzpRANKtk!XoApWvWH6c};CwDu<>wZ9>V5+I*aAo6Psf~#8sbM3QO;ZP zp1l8fY{BA{$r5n{`x*yYc$lfeb0lSsT z_}nhI1$F~Rrq-ZU!?_V_(k8!9<@DZ<_vYaWZj|8Ya}KUzuXU&`$B;MHv9Fv9sr>ms zjbE_pu0B^fZl6-CKLYo1G?`f>qrS<;4PpwhlTpGd%`45Tl{J;pAB9<2u1b_y*}f}g zk1Up-7**w~M6xfEKPZGmiju;k!AdqD{GKpL-Xda29sDM4U3Kf%b@SDEn(uJk`_Syd z=khsQdt7FR3sU*94ErlvT|pJ#gkjI!{AF132rbXpnSf=*{EN)nLYgo@6%#78@0)R- zmU*!r8`?ry$b%hP3T&m!)AcOr1(1SBbq*CchXZq)s zEQDM7J7=EByc!l>grux`>MJiuHdGd_Jir}H%JP6Lt<#@`L{`YtlV{*O-C9_9PzN5oRu-ZJJxMUrj_mu+1Z3eVK1JL*xL=#VDIp|969;M zh24iW4{lNQ{kcysHx3C~LtX2upZlS`Vkfmi2c_aDI%Tp{vKU#UcJ1TLstsod)gC&; zM!$yR<*On*4`WD9UQ@es$|mhF$>e!sdS)KIsfKNzXpB;+*a?_aC|F5jV&tZ*WLA&i z*^7Xf|0m|gndioY-j?f&7A#(Br^8KTh@`D+w54WbW72`v?k~N8cMnKsL~4#)TH}## zzuP!eeR7C^Tzc!q4X^OoFM>=yAiGDF#I1rD85UCUXNCS7O#-8T%q&7a&t+t z{0J-B;1F_81%)M{Kq6mhEe~8XY|oGqO&^I0-OaVwBuww-f=QPw!-+r5cj>-6!d}XF zZ~Zu5{XWR)i-GNWF8F4arh()C@@e-NEJA-Yk)#Bsjeh6)Um}o$P z(kT@;bq7ytpim7;1*Avpc_IZR99;zRxZHa>f-G$k{!Cvene`a$(3+fNA>&vCu<$YN z7ctIJYV@fJK4>-evZLn9!a3`gntd$94DMxhvTLhZEgceTSf;CyNMmj&06E7me!4uC z;jbi>RA+?AXV_$yl`t?-Gs(3-q@7UGwo>_)81#Y_J?SARKZdBj*W}C$4RMc zifO*kg33HCVOb}l5G&eK^;X~Vf`v?ntuoK=Zp=9ln6`wRsKw6s>`MJy<{DTh#r>L& zfUNMsWUF)TKkZ{&EahhWO3X<3XpU}I8&(#&RU-Q)cYHE`D+u3`4r5)_yOq;c>tm&2 zE?^?RzOkXv>c|Z8LE=4MuZy#6w?6qhTl%XD#S?EGAN8O_DGT|vSavZryjj~O`P;q_7m)C}{%=;M8d6E&9s9bF?5f zHNM<72A_b`mSn3;s}z17jIJ9rdA5@6N?kgW9_{HF*Tu1ZL?teII|FUDQkYL|56{Lx zcFLVi7%PrcM?Sbm@@Vt-l{>b)u{DicxAcsQ!tZl7-$&ei`}I1XUU@u9S46~kQ>W&^ z8(#{Jx1Mx&K_w6t;xqhUc?ISmnW7dK%S#1xi?HeZbqOEf3_66gRz+QwuWDYIJ2gM< z3>)qRPRJT=@7q)=lxp+VQXqR6iAwZ4yUI9E&<2$R-{HWW^*hF2)mrv? zrrNl{p=c;%bEAc^nJ;iOf-#nvEIj??B*1(m=(G?_H@m_kn{2ZBJNo_WZ)CU#*d@=#4ISg<&WbdbFNmXqYq2iN{9^XM)WgFom&td*e!%cH&Dr zw1xlI-&BA1)>Au6{8tXN;h0?;EvN;v84AW1dDNsYlhyN=;vDXo5XT~m<>I-I%fs$H z6sZw&Vwh@+^i8~c&h|)HAemBwD~DkY6qA!1e8uuv_&RG5%o$%+HMbdaow9bv46mi8 z!KBd))|a7yyL9GMlCKzp>C_mLrDEn@W%})^K&}mroP~xq7lL1SXlL~a$M8n9x6}8D znX{EUM{^-=S@Sp)0r}I~I{Ag+^0*;z3_fUhOSQ>A#(45&91VP;T`tUjrt~q^Gs5%?}$bA>9O1x%6VQ z6|UOkLo4U(XE!jmYZ;?|N*l>i@@)(fXBc<(FlL1M z4%*|Q2_$`=N@j=FYOUo4-_o6wTce@%<-#$KYj|YMuA>77a585u8f}l-a6M$m2Yr${ zzlNYa+QE06#++<+A_y`mEL#hk{25;CqEbj2$=unA*2#l5?V|Ea|FKUiycKbIs4W;KE0`J$0+{ zubQNn<~k>Udtra_qOcnu0_@o(FR}Z`{yaJ?E+c(eaO9Lfnr*SoRBSlF(Vr;Jwj@1P)ya5Okq^WpQy2(&(()OWoQ!z4zl;rSa<3U(=n`e5tVPZl8(sO2o zHs7`)CB>uWM|jb{u>kZi_C`1+iKyMul0vq4++dSKstzCOE%?x@Pjsf~WoQ#fl*b#& z^5sfGVueA?FXT`zRiq_@2_3b%;HjO%&hCuCa#CWj23Ph!=R*c(zB2{3s7MWqayCAW zm7^3NXj*&MtcM=9`1g@5jh9Ae_ay-+&;54dDCLla}5OY z9z$N$K&LzrZ8T>(_Fe)a1ExQYw^j-4)hWmMgePAgh5)N~pKBKtWROrYW>Obd={;0= z@#eW?4Wf8FDNqebkM&-otY zOSpzBspRmly(JKD%i#AzGkCv`Em(ue>5S~qSlh#UOvkI-)AMzv2PE`o&&`IPUr3vN z8eO{EmQyXnH(9a~$mYr{ElC5^I>DL!qm6v>R*r{lP3(~97nw#k7-JHWp7y?OMN;{3 ze(t{8VajDqj)Fn*%U&7qAB^Y`JWymXANu+!JerLM$-~|)I&+!fEA#m!5vLKPuk0LV ze#)(#VhX3v4%~ia=IERAfOy3RUXHTUxDZUN=kb-4@?{((i8J1Pcs_q2i>60`mB71D zoxKQdW>HBOUO$1)t20_n8nNIFGd&HmEs{p@>dTlPW+f@se9|YdmppPg(99z9Tchu} zy)k+X9J$;sCDhrmF>iSi97LADzuRzTvWM4CKB4(#&O$YJLu;U)9~Rx*Nm|@jkvB_bNfwi~NXyb}xz>?6qgvG%#t?u=+C+{+>HIygD zvME_T$NKL63umI&1K{7hTK{4DgxjWh3u-Qw9b&i<2~eJpk?RPmfHtwPZECTJ}RGg7yn-P&hW_w{W{9djO{L+q4LOV!K^|uqF*N5{O0#bAIZWLJn zHYprB9KZmgf*FqN`-7JYDhU$>V3{o6NlX%!ut+cp=Je#L-qINAH#y*e3$ge>Hs*|q zZZ64xN1Y9qzRR*g0R{HPk@^rT)1x+x>_D>X1!At?wJl4G!&?yKu#j8|RO9xo0Cz|Q8o_UEo@Xx|{$x1~&hTe^W@=?vFZMCJjkci zs^7T?6DhQtMaYvBJ4AoRnaORm(Py^Tx@%pzxcNWL_hC1}=lq!wo zxgM_sH(ye+nXm=4VoGIMa5n+cMtXQ&J&VDZw<2tQcyUDUny*jZsoBw29M>8YQ0}mO zCqtN+c@AY~0Wh!k9zn|b1g00UtI;RBGoc$lR=($nE-eRtpYK8Rd|PhZwz2g>JROSC zoo4n`ruH}IYA;5p{ONu&rGE85E&~by#Z5p5gwuMWR=)Ts&70lA66p+2ijCE_RJ6b+1OpDVyCm%kOI1 zF-p}?07~7(@+COJsOlfav%nADAr9U(*frk3h_U?bWO(J@^rb*Uw?hu))srH-CoZT@O%8qc2@n&DnNUSHZ28RthC+_>wb9hGo+6%Zb5Mwl`mZp}*_pNY z)On=QrWp2P3JCxVhJ?iHY=L5U@dnJTS@A_#Tq?r07Q~ zI-|+LrTALE#{C=>)V-5JS+#dd)@D*^xQik_MK4dwQg4i?EjzSWzCDddLsG7nFLaT` z=+MO{I$pR{eq%j*$p^A2{c3PO49)rE&g;D0VCBkC_8@$+LUl&E*G51%Z$ zLd~we=nAttnv9=|nQCjaut#emjR>SWTaz2;wk$JEUKVo&=m`~E4#y2%oSD-6RBIS( zPp-|QH=B_rtFo~r{$$6vD%Ch+l$c#ztZtS)`Bi1t92f{BwM44WNF)PI3fWhtF3nBI z2TOL}runs|G7%f7rN(F4$Ezwj69dOYEy1~v*@pldI$a`jr95!hqXkuNBC~Nkxyb!6 zn+g|O@GCbka9SzVMjf>h^j@juqtwWgsJu8<_WdJnjEpo#Y2Lq{jJ4|YtD@qyC>vM6 zd*a2Xgmhn`e?de!i@{?B(Vv-ya! ztVXS1Ztqj&FFPc3p=!>_lzpIZIiL zI34DU`!{7YgWrfV-l&h6GTqDnj7<`MB&ji9kg%U^%ij7C=-m`=KI?nGjh>=lnnHT6y zV44Q8oDS2%u#r3S)F;k;J9te`O^zNWi!U`5t9(Yq-jAXq%UHaXPkE)VRUe{{CtPcb z%p>@;kl?jv#;0VUew`0Fm@B(tP5)T~D9$zD6;rv(}NQLVlTS z!f^ZG zuLB0ic-FI^Pb#IHT#JlvUPL{8}f4k$?5p zMP>qxMK>cIA@pD~&b1OS5$)rqX4p<%zU{20dima4n0BpLMMgWhwRf1JlQa39V2J7# z0{AZ^YBq6CKCT_jsn8cQiFEd(pjmiKW=*E634wrTF3Ia_7g~6814Xa|i?i*HkajR@ z)>eR9rx<9J0NhQ_^x{g5%j=A9qpZ(&GFuLd)RY{}c_BOuQfM66%YkY$h^3(|0nV0K za~|U$yq0BOq;;-HVaxPlNlz3bvF6Bg4G0(XzvGiNWzv57-K*G}-$exDy2RywID;oh z_LsN!?eK=G+@mjwXG%)l*G@-sf!B(qUKf1DGzyil6p2_#N;c$VYkY%DcWmsY{*l1! zTFopig+PO+By@GAu7|q&M6G%G%X|b4Lzh-k^E&tkS}i1VF?nfR+xU0rReB(6a8IG)yW*3mv0S7MaC>4uQ4`tda`{F#htw= zu9Mj@pGS)`tTYawq5wommF0b|o=~;`zuc;Z!9ukh+O{PztZ^cR0Te%VPQ`sYo}Y&W zavuP)uTrfAIjiLI8{3gtw?3C!)uDy=QO@cY7kJHur+udBp%De=_NAa|xdE{yr>d^1 z=_!48@;J&F&vI(*y4LM&HA$pSjw5LHVEC;+E$tb%WZ=lJz$|FpH`hW_T_ow=;(+di zZY9>~X{Y$N1^)q)R}hHnD`}zA(oN3iWr72O|V8JW^lA_*wdKT4o`Qz%Xm?M>XF? z-MQc>Y}fV$8BI}8vdpZvYx&ihpRTAUI59sIM+MZ4l+zk7hK8|OuoXJe`0-N{=sQpm z*h7nOIWd1@yHF~829J!MO0neA@WVD@*RH`qXl~k*${mf>otR<)1U2P@5z7HD{_op8 zk+p1}Zh*6cb52ptBPhO?tn{ zTa_>oew5~v0Wg$Os~k*~+D}zlJ^7$LGXLgUtwcr(QOVOf7bx?BhllBxWJ<5hm=*zI zO(#57^@~IQwP3oCtyoOLb?I1xn_plhF6C#UI!W7zBb-P|WcO8$9o>xA4m4m6W~?0Z z(0?Xe*Wvrkaa79}SJWp!I} z&$u64>?EKm2#)2^f>P%Iz;p8aW~r?zD@hY(8UeTnVHq)ur^T)~*(~d0Fdy~Ppri@$@p%eDR z=I1s&t>zV!j6eoC+2~_;7MpDuEXUrow@#8N7ukERxp;(XeqonPrcE<{PSj-`hAS#m zvlY{=$o`UsK8(GH{A%Vec)@mxNom?E6sr!&4~$A*xjPj1R)28efy=Kd3@}2-bdvX& z2bz$U@0}07d))<2%*nXkPmHr!oPuA@E6euhNUTc7B#?R4^rB_OT^tj+{vt1kv}o{yRaOUuN6seHdejNjG@lqbe+TiH5w{LC^E1~i?FYBB+{+R|y(_7q7W+1w7z zn?(hIlAS3-*(rBTy@3b5QWn}HpSDA?V@|iyr1x-b2k|QZgy8ikhTg5n4=trlRuS_ zmuBRUVfqGdn<~N43GDINzmK@=luj zru0X0)1*8mCYb)nYE)bEi&>50S#N10Buk7@GFNnl04-dlUZ$zaiFtL=mT-3I##UNF z1v!USu!K!f-4-f1x_M0L^fhhM%V{?f=zy=4?rsd;HV8&fFeL__T6qf+!q$6d1Mscy zRM0_kqR~7R1_wiMkT1K7@GgM}kI zUYCLJ(tE3qcKc=cl+N=vmi)bcvOP*dQnuGpQ_6~q`G{`!Z-g>?t%dkwg~;^r0R+!d zQmm|y#h*%EA~nL9tZ(V zIoefRP-@%V%&SPvbJGzsnePj{Nq9YPP# zm&2BSKT}0l>2Twbb6R)X!pbJx;elX<>*D-**jN9LTRKj&EB|+Y7hC>zDT^e%Zm#}) zJ=4`k5wkeK#G8c4k^iP8kgx=sjEjZsiVSXEqO&KKqMyhwJ|(=SMOOdAr-E8}PgNMy zLLzcacA(i6Jr}~&FT?Qze6EZ%$#X9P7xAIf$=}#tUBr%f7JxN^vHx{tSSX(#=-yH>`XfQ*J4A;9>A?pcbr=g>iJNKy4mnKFwEzQo zJtHq{j<`HI#A5GD<48LK0YtN)BKqLd3I;FAIrWYI2X|_uLhCU$|6H8VCpVd=f zV3ic=G$7d@omfQ6vu$^9zGFbun0g!uX@yhBfUPzgs4l#*L~PP0k&wqKiC)o8vFRiw zD^n0VzoITJ74X=bkIXYU5ZC}Qm;3R(zCQ!fe4kXu!Kih;+_4on~;J{aqPNU&ZJx#aA*(9Ws}GL_d>~?HM2JdwjQ~4xgP>TD8pi z{#6K&xGhgCuwVjWiSw!Ijhu#V=(S1GLH~)1CD$idv*IDUuV<-AD4x z-4ip6Z@w)A1!SEWoW8u?s7aE4KWLRPMUynkBr`mN#~rTv@;CK{{DHenok?SpVLtUR-!#kM2fgw`K2Ln(SBh)&m83&nML``s(|-!NEIU6Yr-?4&S{Ji}y)vvRSig<%ArVCyeVC>GCBx z2XgmKm@cAk6emT?o3#eKiwg0lm~slV3m$gdQI8e#RQV3hdt+tSBr}w zdH>|q1-Z&(V9E-4;kRp!oxeQ#LLqu2g^oM~ggu)k0Ur8&TJYs5m?@$b_ZZ*nco9S; z&?dT6Yv6t*ioW+G6_*};6zyEKcK7}uW}WBm6ETbolB75wJsSJTTV*6zIwdiUEhbc= zROs(ctVu$~DLVFZ19kNe=&k9H{)agl_vBfrC=v65Yf6;qWt-DuZrYq<=(i=E$;r!i zdl_tGV942{OGNON?>C|`A!11Njmac+Ky7+UNn;^pdBtXE zaJGbOI!XKQ`KvRXxpRgC*VlbBFkggdn_A=ai=Q<@6lPZnbvzr1hnSlJGvT`TA-dn9 z$~YDrilRZmYZ!vd#H5s-uDt$bbGKL+^Qe$ZgT2-by^SGUPn$q!XY5gz0%}`~utwqSDksfEu zG<}22c-tu}RH7`(qMO}R`C6B&}=>=oK+1eS?lrkIklX73{i)W1Dl|F2|J|ZbT zuoAcsw+IK~($;3U1fB4?kL1jzhe`Iwd0?%c;0Qz>#9Eyoic-rIAKJefSgGTmL$4U@ zRGBkO z!Ro;<#Ns`_j}e#YpU0vie29QRa_x*+^zFyB7WtXwCvHZ;JFaisrFTmW8>9!v3gIrs z_aT(T)fAW05w?Id-qalZryog|#lQ`J&M)nm*dZDgC;9g*U@qw2`af^+oo47cn4U~e zt@6jD!1xWwt4j-A_K12fK2dXD13gqsjFCy(0W*jDlZ%+&`;QDJdSd>S(U6~6t<>yx zd}xPaN%1AZ8-zhvBM(5F0cA^z&iHcqFo?-z?o@I+)^i$DQ9%fi zwuwl$SBm-uA!mPvqW6CGtf20d(&kxVk#s>~E3Z- z5ge~Ff(?P;)#`qjP)>-VwyH>80@}Xmz{JWeAgdxFUXAdeWLAmqqImGPq>j`#AbN|| zQ2X_>8-ol#4DY8kcEZxW!6r0AMjGLg!=yeZfA{$0@D$NA1M$|2=fK^!|(6t2{TnIod>^U zCCX|&=jY=*qAVotmfz1NXqTR)?Et7Q28LTd_dOI>T4eO!(=%85*=(2@)?%~130E-! zv%G~17PCK=QpM}QkDr)#GTcXf97!g^H-?V^J2h+0a>E5OfRP4MO4Hfmu!Kj~7?wNC zI06(1!M3$eH^O6-TX!%)clQR13Y;k~(fQkY9D2Y5q{*jewC@c7ga2d*QFBTS-U7TH z2Ql%1ozH#AHTarZhIndIBsz!?2B|&vVl_T7^V1*>j!Bo?P#hlisgs~}Op>n5xRb4w zj*`dZe!rBW@koKI4SMqiM7adcD1FwQNs_iO{niS{YW()6K4)CcE9Ujrp8CJB0MTcJ zK>|pbEw0fR(`ckX_#6yUQRn9(14E+gH8fjZ%le_JioM9lG>Qni&h8&(GWJNx3Ku7S z<3~j{+uw(lfY!kbuKt+o_dWS}xFP6v;3V_0`dVF|N(ZlCw0`v?!SIr1?>k{Xzs&*R zTUM`&Z4Yn*gTK=!8(PKdcxKY%jNj0_ki@}vHdEq`_L+?Pf%uV}7${a&@HK|lUSojD z8~&p(aCtxu5ufLUfk-LoO%~a0CtQ6|5qDD)8xa&dR*GJ<1X^Ag-usIN8dn(f9vM4` zSA*Oo$>Y8L_C~gOZ43;PdV!t?MD=Mq2{VAQCwZucw``OOGE^Ros|9g*4d9|q=VWvx zczfnrTGEQW?oGsxJxI3(l1vCQ&?_RFhfVA&`HZDB`|L50UXx?#~&a z>jKf_yVt0%mG1u)afKHN0+cWzc#Mf@Ns&C0#J>xy>iIPPSnOIsH&EJnz|_6|&_|y0U{L1V;R|0e330MT@x{b1nA$ zGJT{(l`_1@=e&qc!hh|O{G+RXj%$mKk+`_D9VL>V@vHGkuCOEl?dj*y-_WxHMtrW_ zIz*&SF+igIbI2|tDOjy2#}^gL)LbLy<(z9E81#s!9#HA{njN2hiOQBu6c_7)M(^WB z89ua-!r`w&fBbule@0qoelie=hu=~Q_H4!oKq-N+qz|kq4MJbu1%jGYu)l`aRF-)!B$HX&W`^ZjAw+elbPf zT^&OK!(aa`B~LPbRXvj@)+kN2T(_4hh=R(ue7zKD6Wt~R2*B8QM@W=DNDmwcq+VQW z(cWGh(L|>}X%80yb{mm!n0gW7z2#n9)FRBNBK6fE+yCm9@N&jv4uer||GHFH}|PY_P-}hunlLR<-U7M*JJx*-U`;w&#$$4IyePe4K`yOP%`%OrT|9! ze?5lBKi|PBJqU1OAIkAIff^6=uK!FP%)r*I!4!%LsPQVFTIogS*2ce;^Ur`D<-F)5 zLH|)0&?5ciApTbaJ_<4NzrG;s00;8}Or7?vf7#go6(Gdl#(JpXZ6g#qPtkp?@~6OTuT1wU-%}@W0r_|D z*Kv@wCr-Vc*L`m#ONncG;z0I=|C}Y{`G1d%0)zTLp4UU<=Ra%6e|IrJBJ}_N6<<2hiB^i{QTQSjz1m+1w|0{GO%V%UZI=p*4qZ&f9c{``(M+( zqrdHAhWYjJZjA!c5hW!p&6$xdGM{Jec{H^{{QbWa$&>u=Ytt@zBM4`Cm9(_R>DT=C zmeQcMu4;fo^C&##1-H3yB*HpTu{;DKej@9g`8~-1)mle(2!q-O(dj0XrMb-m;4$lu zzlgV`);{m^J7yVC8b0d1zEqrD#iR@qJtH#7EQ$UC^LX-TXKJAn%A(q?U#_>?Z20g= z??HX%cdYwZt5}23Zr%DT{`t*7snGaCjvLgrH1JO9&6l%|fa~LrQtci5aT6w@PDSy+ z9WoPuG->=pCQMY6J<{^dVBYEM^BH2bDo{6N>02zppiz3`x{{evsc`2`?)WCsw6Z}k zC`13Te8JT8+eT&QkCT~3;L8-33~l89#gw|eou=vd;^)4P$b`RJ^b^^OR;s&fN>A^G z=~H%#WEdul+w9bCxn6*l&GEMBsbGt=K0uVa!URn99%4{rb#5wXA5lDh-mJB~9; znTlHb_V5)a9BtED0x;=;ScC$P2IFWegYEC9%f}a$tB~$&XdW6!>T^k+fFx3}F8E=!r;ant( zG}pN_+`0l~B$n9jQ#*Eq$UOsDc+V%qAioGZDz58IDv?x>S>I1a9*eu1GFG9@2dEMB}&z zjms^7_EUgw@&%)#HmImpkk|Xi2~A+e4S0U%1pz5lh|Zg?JuFzYQy^z>elDzQSJ0((I0IuzD-n7=arAkXuO739vs#bw!o!Jot$A|pG8mn=3eco zpB;};DhU1=^85;@MxFAfj|U4CyzQS9o8^1ACl@}=9@xUu7SAtle=H1W_3z(!^gJ)5 zaG-qWSwp-9}AaD-Vp16C^E} z8~h!SxmJsJV+=F3G#_K3E>~ksmU9hf9HEFVfu?A@zFm?!`;N($U^ot8c9}Cm|NE)t z?I{Qbg7@^k?wS%pyzkfJ@}JY7Q>Ob5@L1OXv%W&#?FFzNJNu7YeVjIU;m5uqb{vCHRl^78#9ut#=xWW~*pvY)v;>Ru$sG7asdMgZnr1Hn4UY;nVN1lWhX$+*UW^Ven-Q zRiUldTnpOqeb@$+kKU2{__1Z@wfdyXqM) zxf@&B-MM#K&-C!D?Yh3o<_x{jX5Pr^*TS9IZ`@cy@oc4u)^<;3-zaYv}?BgCT?+A1bZiBF6O|#>I zx?%SK{*OHDP&0PMo~wptEm1}yjfS{e50Ks$dgNZ$GK~?@UNl)H&}MhSbG`NwMG^?! zi&O@4lt8k)^9g*qfc{KW7r-Ny&`5p*i2xTA2$rEb<2E$+NFR%T7MRnuqM+YPQYFmh z1|)B8AY1G@hEuWcSxy-fiAwP{4YaE1m6P~s4}2NI?68|hEP4lYARAt6s&qkT4YrL3 z0+hN-krEu*R>0!X_`@1@Zujz)v9=)7@61C8i--J_AaSxcJAXI}-~8|ktYE9zxj|q8 z0_k-<-tEQFU&iylI4v$9S8pCSKIbs^>CpH|v{VLDy@5-d80alY*lO{hBs~y$RH-gq z_;aboKE9sh(VxQ|?`Rf1s4bgUqr?2ylM8ruaA2T7G_n`(-M#Pe9QY7Pa_o!<@~N-; zWmL94*Y__>g4?XQ!{3wkCs?@CYn@f5J$TXnL*XJ2x z^FElawpxfeEC9*Jo@k+24zL$=3C)(z?ybxv3E&W~gnD5sIZdaer852`m0tZWn0QY0 z>nHlNU>W)Oobc7Po>Uq`dm_^Ebw-ZlO)OXs} z8ecr|bg^7d<6QIKzp&eZc=|$}$iv4gTb47HXmw+M<+zka)RDGtOu{~t_==46pIDo5 zFRA6t#VQo7AlVklU_!zDb!bM zJaM9hlJV)5K^_&7494O!+26zV(|#bKVqa40xh;);eRjqEXwInhYY-!M_3HG6vberA zYN?L-#R8*p|JM3$t|6bv)?Av*`^M$m0{rPvYx~00^{X^4mNvauOgllHga0zHj@(El zkfd^R@C3A1dGLi0RXXoXrn$hv6#Pl6SikKyl^y$r|3=a~g(Ks!XZB~NpDEh$y-XD5 zBQ|PS_+=(? zk9{8E2amX&TjflZwlBHa74(rjExYTgOmO_vGNdSjFYB|uG<2Rh1?wlKTba;g-nHiy zjv!$`oV&2iYs?mSw}BhGh8uk1r|d};(C_jvDG+&G3h!c_l;rilGq+BVaBexB2)e8W%_49Rm7seH&<9wj?Oze^a0?S*xi;UK}zT2(JGu-!Tem z;S+{?E%j|Y;-w&U(g|mAnf_U;!-#$9Z<3mC9(O4I$Ykiku8IvcUjC8ZgjPq56vpxq z?yCRoKKYxEM;n-yM5RS~J{%Az_h|!GjVV{wSH7`*$8le6bRq5PK?mYf_0}TrZS;ry zgwzDIJJNNFucFn;bW?9WhyVf}j=*(uuRkKb@YS2oAI&T{-=e?~!$038aAAdu8GK^M zmabE84Mv$bv=G!{LOy&0_-U|~SFI;{L#yF59>PjKd%TW2aou=}*}>h0FPq;wR&31P zE_ol-6T`1}#q$`RQflsf?!XUw0D%O<>Dq(XUjVP`BI}mXO z?*YJz_uRkV$@I}Gt7qe1jZ|soG1OE)OzD^XK;!=iiRiZ4Gr5=vV)vfCD`A|>yn%Jz zB9Kz&Kg-C!F4&s|wlHRBULh8`BCN?(z#Q`=M-a%F^_L}Od_EGcE+q!LQ*8S8{s492 zjQIz}U(7G3ge2tMHIy7j-e@okErYw9>owha{LEjR_+zKmc2cvz{I9!X_NOto{(WFG z+NRNtrF2H}Z(~pY3sWt5t*I8;tsBQm6-+$E7>yi^jS?MXd7j%p60ISTIe9H;2%#R`3@1;e(swXnNDZ1A^{mQ0%;`6LF7%}Kr}FoV z#K*NLHgB=`ZK8~{(CZiVXZ-HET}>=^zA=1)MM1ks$ z+=%Ma!+2yoydl<~lKDe#Y6H^%XUS^KJjLWc?SEShhi?t{G^O-rj2UA&7u;z3G+N@+ zXZ4u)?0xfLbwjmo1a-kpzk#du@eVw^@*Qcx>xa$^hQD_`7Wd3@ z=f>wkKu63f(>4}(k@_uI5}bxgUaR`RXt4X8wPv89t8cSf3Y=yYrjy4YO;$@zFwqoZ ze29Gic~fI*kyu({iq&jWz0P9Yt@3!+f^$++l9gdwGM1Vq zBm8a3+bW%^JODW;k`gYA0gica^7_qK4B!AI*6{GyrC;lr;ymq{d!!TQJpIHo^K`Dz ze^@Z94*EQZ$~!q8%7bR1Y!D8w78lTy3TGA@@DXKT33Xrnqs}Az)^i9Vz3O9{$dpsL{PGbs!#sMvk;=~hLjAl-0KOcNk~gd4#CWF0a7p_@IZ zgmbpLB2Z*B?k znXuq|#tSXzPSN!uQdT^q0z^AE6s-7868awi=zT|@wrx%6+QdT{Erx^-a8!+USEh}y z3R^aHu<@X9W>=Fo&OR)j>%l)2UP2W3Qfyjhm*wtIRbSr3WaAdGU;m0BlAO!2`BeBp^ISFTF9^bDk_C zBMq0JXyJEDzuM3Fiw%7yyjt>5ZqKrMI(mGI_xEcdk#A{8ydkt7-x}Zd8WHzr;bxbZ zKg1HPjqmDdp85vGW1!ns^4;U3ijNrFaY0W$ z|5OW(ve<=8w%OZzFptQNAL4dAv}*w+F~5-$gERhY%)Q@9ifDSlX;<_;s&asyj-UqN zbvcLIqxmDU3je&1Dw7FPM2k}1?`vSi*5!tL$hZC1RSQU9^Co;DSEj1U4i&7EP1M0@ zf<*$1HHRnYbXlAiQ&g{SI)L`M1cLFpC@%2;%6&fvP`~I{mM_fjIB~ioE{TAlz{NTe zz%XtABZ;Ba#ePTZBf-Mpyog8j-|V*btcKUO_AH_<_UJ};(9-Y;wQeqKO?U5#N1SVWYsT&b zo3QBd32=9agF8x;pqIk} z3d#g#y*Jb^kVhQ;JH$*G(TEqsu-Eote*K=E6RKc3vJ{pZZVd?AYe#}Y$x!o8r1eMT zm~xabmh3_0Ehx{Ijnv{OGA20gl?s)PxPGgPLe6@Lv@I$Bh={!)Ht2pJ8`pHB)tmgqTd|M+f4F2z${9jjy8$&78=?vB&3ZQJbF?ASB5edbzwuf5M+=ehUqJ^BXB3S0~!AQ1AG!@^HE_4)cUxN@RfB7Y;9GD5#eHfw;aJ=u|Q> zNzujzTx;#@zH9xw`&<+buW%{bwfXe>eG|;(7hmqVZgrsNkN(KURUhyHv+Et^4mo#O zpb<kpc>sUUSJup)8l0)9v#)OFYXcv@ zbN;po1n#R{VsLx0e5MinI#(J&FB)EA`y80Wf4ZkPRSy^A%tD!2YP28sRGBb3d&p987 z2ju&RtpSXYF4wyu{od6E#zZJ=v`#3ld?_nL9QM{NBRq8S$anAULYkRp&RYWwDle~m z!d&@ys1lBYI?roA{2-$=fEp!RHa}MkpN;2_qmh5Y20+Z67bF&*kOf}!?y(xoS)^Jg zv8xoZ!tya{fGsJg&`pR$;cB5~P={;f3@CTCA>J0KW9h*91t_c=`fI#SYCh3)y4iwt zBW-3NsSuQY-YBJd6K-ZGXW?^q(l~$*orRPcI(X8#tm}6@6$}`3br_$1_rf-*3|kgp zrSg5a4-e&^7-;RZ>#O~el)|0HRy8?V&Fcqodq(bxatV3(y6{%5L#+FO<&yx>ARdr{ zKx>0!OgjsakhQO}~~i&jlohO9-8RxrCR4_`afTMdNVcr3!JS9B@s8b!nY^%y6}kxWOW zwp<6b0AZ0dQ*3vwv~RU{zps!CXCnMuERRj?N=!#ikxi_0b-(7q0qc(KS&)Q^!4k1H z{qKaVLPN}>H)(0f-Di$nj;ep8fs-$%OJwiUlIZ!Xt4$OiGhIE@p-gB#F_3kzb3Q(4 zVGqYeKhQ4b(?Q4dNWEThTFbKrEtF6AkeHfVqQ+_mzmvnm^S9qvBbF((X){#KE17|z zx>gsAJ&=5zxRnGa?C~C1Mh=p=-SHlDw;ar)b>89MNZ&% zz;O8(xZA+XdInpXz#~*cMLg%-Bg!Uadu%y}QZPcBJ`n2Lq@u3jhP9-E_K-{V^jL`_$U>$&;c(E1Pqsj|o5BMUdLS`)0D%-U5Ng8rTk+C` z(k}9j=FNd7a!1=6US^8$AV^7u`O;Yvp)yDDG+LeVZzg<-3~~Mg^7m~Qe6wyaCgjiy zb?_)+h1+_NAA=MaZA_>|+pvWgOp8yH%AT~7DZSBMGP;9H@%a8It3 zCB%NbRh=O)URE&wBWtym^0Feio()kgX}HIragB+~RsE-z$$-H6dO9ICzIDt1@XU>C7f6H}$oALDf3X0H zX7BrL$|73OitVuqOZY{1tB>vIy!A5g4sMR%)!S!zLuxP_%8R8N*NVLqiMaOe z(5bZ4^Xfuv;9sry*1`Ba^e^R0iR&MO2b;_Hd(AHsJoLjR`<$jScdWFV$T#Fu)aRs^mNSicb;hdqq|7GqY8?mnJY}l*N}`vouXX)q>sr zy*sZm^L%Z@5wADAW>^ijOnQu(Rd-Fj+^bpteV%|fj2r@{vv&)&6Rh26&b`unC+JV- zlbLZd173_m*Zk?uOr7b*2~6q6>39i0nZEwS$a3D93&NKF8>9Vndc=Yi9UC8i-2Nm^ zn+49Eh&5JWp_I(F%lV~k#bu@|+o9;`0iG7DPi2ts1BB=UA3Dl>cle~%l_FfFFN7ED zO18Ui`?K2Zbqp}#E0nNB#0@(NAhb@-8|}B}oLMYklRZ}czQ%JMb;;1PTmc7c*w5R~ zNnU@eKd`oxY#k=F^Ot?P!lYV_LYu{i^8+ zY}3~KY>WmALIQZhumY-|J!>e~5dsGix0{N$*O1zqDnFiR@hf_?$a3*-su#3d(1mQ} z8!KH ziSIJ~ht`b_g>dQbqdp{myEsax2Fy--w4iH?7H-7Zc~92E-QlYG_$sGgg4|rKs?L?d z;q#+j@B51{*rV>DB_ODkC(2D568*8NHMU(=Q+!8 zWcv|B`ujkkikF_^e^b}e{gDQr-h3)%(-DJo`Xvf+Ss%dyh$*%n5aV*e9bq?_cVk27 zi3!q@no^;$7C#f=KU!}i3SL!nH&x-H12flMl#4i742}?oQS_YcjO0at#8%wKTZ$|N zBFwQ(DVALo_=cN#e76!ltNjuciQKEcKJtZD1K!1yBW(Yup3Po1%4TBwilriLOu^|b z%Cj|zyeYqlY2U;|n?HWe@kudEEsw`#NSm{hV(rPwTyK;M7vouoIg>$rnKgB(Z&~2O zV~oF=N~D?U(_-kJlNx;AJV%tODL=Yvr>y$?cmc*K#$*8w?j)utLByGq%nFtj-%{V0 zbRa{-3?aOVG)!!(b2NhLn{zIYvie~=*Pu0+3e~W3yB{N>e>vl{ajylTC17I69ix0J zUA@a~ztSrumJN^1;w<7t-x-iR*8eF(zU9t^L8uJL<2LD)3LrDD8y(6>c7cY@6pN0H zJ?9hV$s*L{zpC{*OKEWAKVFXQd1=mpoIl-=z@2lqVMBF$|EPOQ+}nz)sppoo;w zim$R+in*%mwwccESVm3ZsNsJsNGqBcL6xcqFTD{i6Et1Ou(JS)YGSZep~e>`>TdR zsIa|<&O~^^99`#r%rB%TN_^y366z@!AY*-098AEio})|64#w(HhNW8A-@4&IOoZOj zyMUj%FucAe>Wyng5Z-+r;LI`3t!N-Ma%M|dZTfBrgec7wQL!+o@lS`me-!`=R%5;d zSx+WJkTDomU_OO%xiq;joS&)h%fzslu+mHgmypl6{lZWg(B@xlJP!zhOty{F0N1VB zq)gKQqmVs;@C-MYaQo|s>xLi7qAvn6Y~285bAvMAP|@NK)z+Kb#cYOnHWCiG0(=vy zK-Tq#lrC^%9z`^(3LLcIa)21B3BCkxn~!m$UC14>^P$O;00lo>N+)k-Ei*Vz z#QaDHJh3|vQVht`d=_#+)JqSWv%P8gK=c;Mxe4e^ILN89oBy`t*O2xo`0{&sD|@<6 z-=-^RIOf-@c!O%%E@6rD7BQYHQ3segysvIR;Vm;Qg*)Gg0|r zRv(s%;%9*(@T zUUBrttbrn9e2iffQsw07Y$CRki&0hBoCr7wB*AOBgy&)3)Le%bF`9jSWl4uqc6`1?D2HwMh6Yu|1kUR0gr&7BMuGkknR%ez~zBXU)k@juKs zI^?ku{eAFmOUUzo+M-fWNePw-n?sGNAd5+GT{%;7L*tSX5y`bAh<<#x<_~xNMMFDc zvMiAp`O7;jv}b{U@0wb3`YrY$PDNApLm`J%kOd>B+tIaitdl!7iXfoz)pt`f>4%>Z z%X8VO=j#T!i(d8)4c>DLXpR{EqA+uP@_jQqX{35D4S)0Di#@%zf}a7bGXRehUSX=< zUxAjp?N1LK`B&yQSIR~Pqs8?{Zl5Y*nlK#r#7KJC{Wgi5gLBMNsm;1@J*i0gOuqCl zw<>VhyeXgFrRufCZ}j2*(mTBhH28lTqB-b*tiX74EhV(61%LU147vc(OL&aq; z1v#^wbX$B$xq~Yv@4t7)y4e|bG*|-?Y<*@5RnS?tfWWh zh~{jpBTVy)9q%U@fKLJ1gWlnq+w}@~n-_|dxBiCxw}ioRhBnFb)p>2emW#y0#3Yf9 z+o;YL9Mbp(hEe>#Y*t*IMl4%cI<|X>Qk@*0r2g+NsK+JK3I05ZdO1~x0aH0Kwu{>w z0d)huT(us!h%KfG`kJy+OrTm!BSA`Q&d%`k_5w+A!m=^cNPsO>jB>1kN3`^T3~M`G zx6H-X{30XP&lag|%SO|&I}y>1&KuPkwG9X1Q+D4+rRE8Gy7-++Gpil zYzX!Nm=_Qj6`eVB=v#apM;cueuHo2N9gaMdSjlxqBAA|^x?qYwi|kA55$<%d-u1|z z{&Dp1>bW)bY3W-cpGC^dd&c?fV&DDU|PH2PJDuvRsJzL@{*yg@ea0n%S?yUEdc2Wb9EoI!@}I+{f@kz!R|awQO%ma1J@7WecFqaI?-T*(JWvCb!pwiy z$}@v&{l4*8!6y?u!2=1InF`cWw{Tf4!J-=c(Dfm1zYkDx0}bsq1`I9~kKAmF z8QjsJkj5Q8HYRx2rQVW48ZtYdQ@B=SV)p61bve%Fg2=_o+hDPoaX%dq2KlSx+RX@o zn}-7YJdFAN-l5yuh;c5T?9CeNYn4}WYAE5GucfzJ_bW|DJ%?oXxu?kq{$^wY((T+q zz1b9fGG$SMf-$K#|9BL5+nei)6yQZ5zT{2VoiD!U!M{uw82BH-Y~2TWHSBd!FtXl9f+?2kXrrOId=M^#@uU z6%XDAEtFW@iI95HZ+5a2`X!Y0mkph4hgv*dU~NP!`#X!G)qe-Jyfv9B$$WhwZUsM* z2TC}$XES3Uvkgy93ns_)=)7Ifx8zx=Wtsq3Q zB}LOyM_Ljqh}e!09%@ep6joZPf-^~xdCFL-)?5$bODI|WglZQtq-37gtilS(a}0Qf zPz?KJrf1fA%nT$zb1YplMZKdw%(ED-3j#dRrvncP_M{BPZbT!V4;`gvA3M-Lsb5UY znDkYCKTB(1)|V&!PerW`XY) z2fZ$MC=)TJ6Y(tSucg_>h?3cJfmqWDWCuM3r}%co<9gF;{yGyw#<-yGYLE8JQqllk z?PinsbX-Gg7m)eNLELKC9bAnXxs+bRACHk?l(6iPjPu}4*IP?LATEE3%E!a-1s!u4 zu(JV(Y&Z4Y{K+`WZ!-^ixv%*d*k$T7F{;8FQu;c{$6bTK(>X$CyC&?BAh-Ek-q2nI zjJxGa8=|$bA31!oz`w}#4kr*D+0bOZAyc}9`J=$J@E#vvfS5zf{vQ0lwa{6e5h#9{ zb%A;jPWC^wt0hz%11EmzXr(=K2x{NEB>4dLPqQIMUroOsb_7iJ4`KoQlg7^pSrTDx}Hljg5C zX9v4&0}#TtWc?l=X|pYbmFdC}I?DS*MQs7RApkO<*1AROinI9Nkq&#

iVta|7mqciFqMUGSTlODU{~zu2P_0v@*we1uz3?@;P10{**Z;d*rLfIBT6@a~Xb29(LPO2MwZy9y{@ z`~+oUbN%j2vQVe5tQKp7k~WBBS?^IT9hRWR>L(D|2T{W0#*YB3mrotJL?{mMPdDRr zJ9Ea=N^_^(?P*3NEucIo*fzO?^)?m1>Yg4GA(^Ue_CO!#wE8iely+R7eyiC*J?o#B z9$=qEU{MHppTd(^yBXd5=~DZVL9<3~e0p(WyYL`bJu&KbcIeC_BKGNDW?8?vBCeCk z_0;f_WPH+<({n4DWJ?;qQ(GeNP}N0Baql`-I|qt0*}B|(KADTnyvo%3Z9eM*kHT$P zjghMxmF}xg?NSycyxjziiv`=8g5J|g5+$PEUlTA{1b|L{@h9N<+-`}8mg;fg+^(Nr z&PE^Bgn>-Jiy2WF4yaPEv=^c@{lMvkem_RZe$VvK@ztL@vNYSi4#fHjE;SrP zXN$g@V*CLc5~0V&9w@~uv2*UAXV37UX{S=@ULF`V9h4Yun7LpnCb9iP4)YjAQohCa zuu1oNm;W;x{$hep<+IY1hib^b!l)Ok+Q&h0w8)8yQP*)dI9U3n+UbBvNA=#FW(D2?@-FZT#$enm#nIutTFrNm=@A{z_P6PsI=Pi)dk@=SG_XA>=%>syka z<#t5N6VkTYdoeUT=cncSU~n?rTA4W@ea_$J>iwKdp8!-|_cL|PVwk^apA1S8cJv2g z6^<<|tx5PTSgvo-2q3FIiAT%foZG&~260=fRXUcLe30>Ir<+u+kX`TdJnhgB< zqFfBjHJ~Scr;$=g$6s}C$(k4(0q_|4%HB_VV>uUcDy~H^@9x2X*OJhr8RJlW9GPvf zUBqmvdo}m4q$2ZwuQe%sapNo&Ua*rU*MKk5jZ{vEi$WiJ!Fu&|b;B7rqmk~nGpua& z*dP}tAQ*V~JoP(8u!Y+r`G%wu_SvJs{JnQmRyv8x3^Ci3T>*FN|%E-Oe(Ycg=?o2Y2D1p!;1

35sfU_q(D=Qux>1k%=@)+7EqyaZb?dn)g%Bm}!_m^4 zA=a>4(xR!XI;`U4NjD@uZBqGrD2NE_R`2<<`uP(Pa=h91qV3h$@-N>XU3Sa4Nyq= z@8w*2+x^8z+_wjL>*q9$ET zJ(GhdNRp75bV|10jagU4QW^>qXY1|6rGKq^aQ;ct*rmH}RC^GkxXj^T{iNZ?6l}d- zMRpxu`At!vWCBgsu5)5%m)ivp&mj6rZtcQnf4Zu5IcQoAhs-)NKK17+RF;AcWaj)a zBzc(LRMeX%{w0l#X#YfOZguESj>zjwWEIVn#hS*Ih%>aK{sywf3T6J0SU4@xk z1~aQbjCeGkRtE`u!0_(g5#CxB2VMf`R(bcbM)XVn(XqnZxiV|RXIHFDPtTxW1aCaQ z@zu!MRA56(2Ls5sxtbuEF=3e&&ynM=u?_%ZOLg>p+;1xfwLS2!9n?zsb{@SeeQq*U z?HF6-c}aisso3}tH>&9C^QKJWwU9pUCxAq3zjXwzuGI-*o#0V5C=%$lX-Pm%LYk}$;I92WI*oUeA13|n65Cp)`y3A%@7M+3xRmG%>Z~!N^(s<7%n8Uy zX^(rxl4x`&lKFN0b1Xq?O^1?Z#;B}i@&0gQnJj;ry{r7@*jQ(d78-B#HNj9q`<{qj z<8$TouW+6TleruOEl1+Onz4&6Z+I5=Grtn{+M~3J%2TTi|Ms8ai~-=cvA~4PuX31O z+B!j)$(~-&8Qb}p8<;}Q1X9yUw`PbHV8Q(%HBc$hP3^?inQ3hbL%H2NM)+;=&V_!V z&%80t)o%0 z-r56oePQY6-OY^2`sS-BoP5>D&Jc}B@<%3W?Df3)Q<1+_oLuCPkm^y$J@JkXEVE&R zVi0XBJJNX@Q7a+{G^g4xVA406dkEzVi^{O;`m+L{IOM*y&)@dYE`3``+ZdXuookQ= zXdlRDgaUUw$eMW)OpTM1!15VGwL23ZmjopE1QQVt*@= z(wjWP62CsoW)T&8EZjQM(5k=9G=0vJeZJLH2cE9H%KKLsvUoZ5_~)dEqfoAjd)w5l z4I#chKSkFeU2M$jevW8p)jq2dfX8OktdZrTUf1Q7f`2lKM8;l2-r0CIQO(v=?QNg* zuvq05eUxnOjw8L_w>Nh#B_45puX`N0zB^q?Joc_^&M@^Cy+2cUL%e-rE$|xOWM-cT z^bNemU&HE=e!Fjei;hLrgJ8TqK;-wdOoW*PYDE4d{F8vhOXt0VM%2TS?APUuzUa(+ zUBhU6$$ff!Z*!TL!&<&Zom{9ncD#~Ux_KRyl_4AWh3mIakKtuvvEWd@A&Y2Fa@3SZ z#0sQ0tKq$$dN;0uON*3EtFE=hUyh{1zx5XA*Y95Fi?*O-eaHI7lPz&B*|>PJLzhm? zCX7a}uy3!Ghp#=1L?AH2P$_wM!jAkvxjfUr)`-Q}HYw~$+|A^PazZcU-Qn>>)QW#^ zHXq}AL6+U#ZZZtz-(p=Zhv8fW;3aqU524+AopFQC%DR-9Oh%=EzQ*7m!`IvaO^H+6I7*LByV4uLG;L=Thh=CVQ@VihQtc*&YfU zFGV_gGNK{YBVv5QS3YVFQd&+gI9#wW_=7II)jYh^7SCpl5*l8kFtR73fFztpf~+~^PQEw6+vI-y+~U~esWt0Sw6EHDSK0m<1{7B;uyX}CX*VP zZzFmT=EqSJKn!8{!BFM?oWQ7vAGEHkL+9zal8a$ms?wOx+eJ#@sfF;BP?UF{uA)=y zElKObE!G(Y#EY9E0DWqVLcsk9btB6~M_ZXF>LKnbv2~;jk}^5gD6(}cjLzA#z20Z{ zRP9){Cyt@Zy-Tgv|kGleQpb; z%z?~UuKV5urTAseA1c-racCKN452{^&=SKR2I#zA2C%1qlWiHf^_owtY5o`#iACFL zgWgOC?8kVO)a}UV{0U=s_2w$;>522_y`=8wUXgF=+mviDuKLYnr$BQ!#EMnH2R5RCm>+NlQpk+ZQBa+%JC zC(=A`#^+Ygr)V)mE=YwJHkZ<_nTk1H11-xHDMI%jZ;xp5gZLxlxj${USM2?5eS z>|dUbC3P}-gEY2;w3~vIE~`XuQ|f#!9{qjTx_GU0gb|Iu$pCzlnDhvZhkDG==>`7) zL*ZrL=_=nYMf;;rZ0xxWItP;}P9t(&6q?@#@Fu&VC_8ylpb6R=_WMSCI1~nITjZ~w z%w;@z6r%@O$V0P(qAR2bo)Cx>;QIBEVQty#491PV-+9KYjF*sPJ!gkHr?8j?5^cR3 zE53`2?7PJb%h}rmWY+wP1z_>(Q_9y*|C91A63=+Px5o|Nd8hGo(_juSUO(F{gsYHk zLDR|*t6*>4F*P;+WF|+Pn5`+kr?qt@PsCx>7S`oV#bO#ugke@?pcH~TS?4;D^U4XB ztJxl>v5o(VE^W-RCb%`4L-m%JWcz0Gm|K3h9!PdbDTb*!<|()_^4IWS&?Buk*I-J6 zHhG**i@iQblap$0j-uG_(ui=C5cv11YCjRdN4LVGRc_LnP)8;K z;5q!rv=TYlQ=ManxWT*^Oz~pmW!6&B{KK9Fb}5IFb9blJ`^C-FoFlXG2liQXs+jDW zXJ>9DauI9$cYEa}0B8E!cr>GRQl?!V#qrL`ju}HiqtBNbvQ_1-<~jJd>qU2UsVqVF zonYN@BuXmAQ=y{Du1z&|We6{-TNQDA{v1B_K20Lt==ug!5Db_TLzK;Q_$xa})HB24 zSZ8!RE6O8zWJN{$^TtvlbA?Qe)jc;G&@G<-!-f7#LyBEK^Sf5@IMT$g`PuPd(Q(Qo z*{kn1ME@7 zW1~n)Nu!%0rQRy7g|~(YDVH#4qhaDaXS=g_kJsE2-O8XH75HS$?{N|Yo}=vLJ1}^6 zzZiA(wy6n@_tl2;?&$fXatQ7#!|$KJ1x-I@4iv1BMIA2&{akSM ziF-oCBzgDnGGLA=tZg|MT(00g;`x1Cg9@^r_PbVKn$`CPE}y!11P)!=w!I41j^ljU@cqhbh@PAo?o}D zfU7Zo%-OGTUahvG)T2XlmOKTWAQ4`S&lh^i!51avUw_2E=h$8XgecsYsJT`k&uT?Nuj-Jkz=e}Dz?3^BT4M)G6CqQ zO}I^_TuI6(&?gtN1Y6;y5kk0YI50()?7vr3V7@HU#?=a7qACvxy21SOhWT_@j}|st-){sh02^fkD9){yRT02-0!Ne3Q$|S^X>9 zsB;r@;xo}5@jx=FE(xdW{JO;Kpc|f#pmavXT-c_uilJqzoSxeKKoIq8TK}9Gy(#*L zHcKX1yE}NHR~_{UEsk8aeX#oI76V{9I-uX$?yp2AlgXJu_hlH#*SNYsMflO7XIeQ4 zvJt)+sa%2hO=0we$aS$M<+hJ9GMX{T=SGy`TsL#%MQwCKj~1Ykatk=6W#-D`aC(Pj z;O5nAUhOS4px9GZrGKp1_S7F4`<f@y;YT-tz(DP*sk@c#qFy%fgAR``|NmGkBe58ZKveq|{ zA)S}co}zcrC1J^yY7MO0mylf4lGs-P-8;r=CnPA&jV!_nFYvPab`g;_DAHyRCA33I zAX6q!R_rB5B*KRn`>+7#@95vqOUN%!G)RS)TT_7r+L?$PMj#^>F1 zTrFOy!<{>Gfx&0*94XRzF#JRjB($=BvU6HM7if00bk&N67UGJZgist-QJggU@5Rta zzp)My+@*wVL=kn7%(-gGf^Fm&VV#Vy3BJkC0Cnr_y)^VmIZp8#Q7G0=IQKrU*uU}H zeE1^=@I{m|SKv6sB$VA2_#X;Y)c+QBg%?|Oh*}s&16CE%8)G1TCQkHaI$Kmi%*=Z6 z&RY0>E2APgYMWwje$n1&X4@J1Q)qUCb83D#tXC23NmW178aCJ6bT8{C8v2~KmMm5s zkL&tY-F^;_L^07$Cv8C7XE8F_1Lcv?g9z7z``smSqS6^{DfwZE+jJo>1hzkx>SpGP zW&?`EgBajjTKfuP)NYEx z;?(06KfyUlwty&@%-Zc8;U|)qcA6N_^N0#o5&avEs)R7eWj$D0@F8Vdq?=qtjbQ!M zIJH`8gr$*QPUM4J1+mT$JO&CsmkLeqOU%K~&Bzc)X}^gSwx+e{7FN3{HSEhwb3TwT zxJ5qcc{)#Z`c{WRHTJF62LluBPhX5wD0%%0-509khBFhqkt3m-r4h8_LfGNe}; z=6i7Vr&>asjwM@}v&Cb@oA#*~`|M-|wcbwu*ua$RFSa>Jh^p=feLXqU zvx@=Vf#a`O+3T>ecQpoLh4IDG#2R85_c8q685bc5)!Z;#47&m0-A@JK%2U zQgl}iDvQ)TH%5%%^q!TIE$iBhNt*R$t!>)~t%H1{g6*j(?#bZ(H{c2&n`K85Dain! z+bEb0zqjfC2}L6#T%F8V3*D$JzZcWB;f}t@x9SE@dBiZ~#O{panW2a}<%c2`f6IIf5~UEZY2~dD~WEW^KwutsJ>@Q zTu%Z*b+y#ndDBZ3R?wv=jtOfRswMw&Ma4(PMV5@VxG$L!mZBI~^$ImI3G_ zRuAKx2ylOM_}d4#*y@e-;U_6)Y)Pw!zf2KuI@>wboj8@wa|hl=qb8A;A<$;caAQ}( zUw^M-SnfnAkukmdSWog3hEX2U`!n1GYznDEi1|8(gGL_)GSKaCIjiIkwOQRH%z2Z92i&KD=gN~q3Sho z53}=3hwf?Hl=Q1iH-5#Ya}fnA<48GN$3qrCz8@DWS!EQ8r z?E9inLp#IMYG;?!`K(GY&(6xIC??~IspY*f5-zDOf$#*p+*K~Z~m5V|s(Jl(`3>Bl%);=7Qz-s=@gd?uO5@{i$8 zl%Z2_2HVhyox=3&l|erq zbq1=pLa?dnIw05w2K2zOdshe)ICHNMOqUco={SC?ffcZl78~9|%3~*lS)JyM9*>E)E$9R6tuRPk_wnlG%l4+AWdI zt*P27lM)dN1xGTM)J~RtX>w(@Y+J~EC4(<&=jq+PTC3(;kaQA!nf|0Q)>+Oj9i#$t zO1UIoZbJPfl{|xb*II0yS6Wc5(e;efJHmnbC*$c!T)q_94WpCOnE$qmL zZF(8XWNE3rI2m){U>Y2AJ&NAmQEqrRInNWfb@pFCLR+Ms5A+p|#D(YQfen{j$$wB> zThCrz-Z5)=BocCNT0%H+0fMC>0y(V>@Abj%j-vjSG@?9dp8H3;1{}HDsOl_OIro-4 zl>a`R$!-38V8J^Pa38TdSvPslxc^5)=-@Nxh%?XD=s+!AiUb8(Y&08#gIWZy=Grci z?`AaAWe!G?BO4n7YG_b>#s5#(@bJ3#$W52HH3|~u;b(^X$HGt4RarB)QPtwD;I^Q_ zZG*sh30>?QlzH*La1h`gXq(b>?pSve7aZK6_gP~v?LZLxz4m|sX;~YPe9*8^}^{2h$_wkCoj5J z(ZaEg8FwV+M>8O;EQ4npk*aH-?TNei@u^1Zh9@h^!6saW!J~kYx4A5!#-1RolJUAf z<;Hc+h4_tu0(2ROJn!VBP-if!9D^^{<0y=WFwZu!L*jkxZdm-TGcaPZzPxFkB1 zR>3?00I^v`3iq6dy9N8g0=yP>d4LIRfN&U6+XyKI@JCpffF)r~X0#SC2Y^F&8)ijV zRTJ~?AtfOQuDV-Tpr zL~$WGkAHD0KG_e2hW+=|YG0I&=A&y#OuU(|NKT>{rE8qu(1)8<1;Y(g@s zVSFAZ%q;$2EYOxrmuI-IK;5`7YWV4iX)o=<;D+ooPH5p^SaPx+&;t@g0oByaI1Id( z%M7~&ezMhD?fZ>Q3WSOykp4xDTaY}O(Ihz3og%BL4*6bfYq^Dc6Jxdr_joiH8~=;Q zFb^3HWr>RVw?ms}ht@c6dZ;{sq-HeYOy#?jt;Tv7f>F04-kMvgG}ZUx7K25Bi7ZcGi3p>c zR!B|kcPzYu_xn74X^&-Uc3?tg2m`tf(^#t_t@$GpEpT5*c1`-nc~uXjDWr)xEzV~X zB9RH5B=6}2>{j`ckoEQ?7+Nrp@@1&^;X`( zakt-dobM3-GU?WPkiFtZ%H_ncxv4I-Qtg8`X2t?czQgVyH%`$#-*!|?Ir&hj0nlCA z4Qq_s3S9W+*FRHKHFswzbt$cwjM&Hgq84wm%3&Bo=A&(Buo!!SD<_wZXR#(Iwx z|EH&0(Vst=lvI5p4{|8}5pr^Yth)Bcm)x%{!$t+pv4F^2liK7`S7Nt2Uz^Q}yU~$g zlpBqEUy4!yH}dq)fQ_K4cenP`Iq?4yB&G0^GEsdt zsFf$lw7LEhXbl zLMm=ynWm+-Dx>Lca-jlkaZyp58cbSjDo%pMZj20q1;R;iF1VcmHTC*9@G`b-#B{ib z`MF!42{1-~n92Q!!gib0fW61(zy+90SgEIoIemG!JKhVioRc!DIhemn+w|aHPMr`D z#BjPor>q7<;jQ3Nb(uU6L{u2LHT>j8#Se0xvIF|pN4`6nbJuwjG^E&5+>e^eMB%Ca z2qr`#nu#dTpEOyyXeb19$s3)i1A9244B3)sx-$6JzBSxYf4AY6d09ln-(XH$G0z5m zrVE{5{c@JN%c~nVui+6h?_x*hD->1>L7@f90Y0$-d>(k!Aw|9*wxDJRPB zLAlR#Tycx&hslpBTbQNRA>1ikURS8-Ou990^KQrnzdMsWx5VN-?s>|FgS0xY>7&=Z z=NFM`{nEdiEpxZqavnnqEkXNfwCFh^HI}}8H z4}4x8IFb<3V}BVt`P-ElOFm;Amy(()DzdENE8AF_I}WbCo1^>8%Ck`IK2LR` z*PoD~Q?eeLu_%vgi2GkC^aiXtkbLDWws*NP-=~wbOEgCE9a}sHkkT6`4OOat25d!N zuhu}hia$&n{&W+st|)uar4MOP8akuSk{IB7&@k7&lvYg=H1n(^L~(Yx7*TT8rZqE7I;c`@NCLQ(@T5!QMP>Ljb z3U|q+eIS-o4(@64E5^XuL@9k>SewtKUifiGw1=xN0ee_zYl~9DsEGG~ZTxup4zqg; zN%vN1t2W#u-T_;EPdd#ak@+)`xrKoc!0$k*HnC*d;pQ&wgd){HCa#SQo~G&PrA)7q ztEuAbA+)G@nn&XAs&j}MQ%k;Vo0ARRuUK2U2H?x4T4z_wetjk)tX9{)!HUTT-^kBr zij*9I=HrV`k#D}byP(1HhCJ+7-DwgAv)HNId}aEK#cVIdJpaZRUt#sr`SQ3jeIe~9 zZ#VYr&iet>;%lZUBGr|i*SFNB-nMYTig#G*V2H;n^Qo&eC!Qt3qK+T`}T|XuK%`6CXzS z{Fg;)F|+fsZ)Ym1zckS9fc{dGVd7OC%y07tvMzLjdE%&am!t})JFY1WP+d(yY#JP? z+z*BiC3_ClXNH?@aKCyM&>Bq$FggWE#&b#B82M8_lLX(#Yy*^|ry;8i)FN$ zo*242@)rJ_{wij!hZYiP@8$#R;Qln7)9LU$-pff{DsuU*z;^vh!Egs5xr;O5&WG)c z2gTq6>(V0jaPzc7HwF@W(~omJx%b3i z?*!lcOOb!1xtSUDqM0#$gk*nmCW_0g&D-Y-4ybJHuH|P~6*zUrGWkuM1QkK~zLGF8 zOhGghbAf8K?K3W%jmrhc%q6Qm^N$(gv)2?{@&;G~rNaDu({w6(d*(O8q_W*rr7Y`t zs)HhH#onkCXXX#NKX*hYP8>w(?6d|ZpEhQHH+1M!5%+k{d>Jy}cZOWviy3WkG3Q1^ zrN}rcP^38Tun#ha{k^Q1Io=+d958=GSal>$#7b;Zj@ogN>F`ZkPXSVo4-=A{lb$M0 z)3AHA(zxqsTilp=mjdlKVAv`)JOQu13fyc(AH0i}TWuY>@E?>tMCU6>{$2NiAEIwj_w>Zw7(I!Vow>KKo5McpCNIr3vD_W)lM&kd`C+4OLeNZndKoaJr40#B z5`vbW99M1VPj-w;8S;L<#_TW1ytO-{nt!-wcXoEBGfwrS=jD;uW?PAE0XFJv zml}(Ik^QqZ2Sv#K(V8Ae>}T@ajATk_1140z}YUF>o~l>^b3Fp!f2T>kU1*=mjCA+6-*r zgFAj0@MhV%=!H$uk!*fp4O7>fpuL?AP-yN;7j4bdkAAzPIR62+1s%vDO`xR{q@V!j zQrW&PMb+m{H`o{ur7@m-p!gLEKd=<37n`Rgtk-X*46tYkNlpN>%zVTL*6d0RsFn{M z-9bx7;6%!8AfrElWyDky|6km_Q+RDb*R~nk*|B$w9ox2T+qRP(?AW$#+g`D4+y3)@ zU%v-^)P350v<~W;ST$?b997Rfo$2ErYRJN9yv9_)qWO@s2#FPfrZT^rupq<;vN1 zoEsA;dp!VWBGAWs#RC_INz$gcrhj8N;A-F_jdu-R>NCD#K0374+6L3haKG&-1!B_1 z{%j>8uV93sF-zk%P)JnPG@RuMrmTD7`g5kl4p$P`ZqtEIFtYU(p3sBfsmJW#M zeY@WQgnfDT?zfn5SHJ;(c0_-JU4-;`4q@CE4$Rm=KAZ!`x!S+tN^gO%MH(~_%R>ol z3-Y6bJ%GkQAo;+7u!277E1WB)p$pEahEZ1P-sFydI2qirA!#Eny#!QH3X278o3m!Kuf@eVRi|0(+BYMWeT1y}pLW0l`!WcL3y z*OmlRrg?{`JxEd=f_0o1U%?r#&z*fK{(Cdg=vw+?PUYFfXLNKKm!6v0TUF0@Pa7Jy=`97|Uu=+}G z@uaM6qioOgSBS4hf3;D8^=@m!%hEjH;qQBL&pM}m`mEM@C@u8k;bPoke@JsFb;Mizb_9K%x#|53Srn{#|OsH z(;v3>gHXLClx4Fq07r`u-urpLS|AFB|hHZeylzqx3Hl01pTGS zf2Vw0T|MgKJ9r9fhYReDMalJi8T3Q8|4u0hEU-MG85>q8Q^Cu+*?yl2>?(AO zcP6*9k!~PA0_lP5z&a@W@SuwWfo4s>9?@oNs*eSua)6KQ6?1*lBN8GAD3z8PSf*O~cHR2&{NJ zRG&i=A(Amn5SMb-YC&;?mRAV;m0T95izH2t(=o#KcWYX~EIB?mDyWxtahGJtIr8M! z9pN$ow}^W^+x+$!2&7uwPKq%V+{iDR7C*EcYpH7Hv5;xkf&^V$gE|Yug5dmi7=Ong z`XY7q8L!d-p(#!#+U(#!)g)V^^`VS82A_S=Xy>z)>cO9S7+vO7r+@9tp}aoUXV-tR zHw8W)T@I{xfoFhh)^&C?ae;Q~4et98Y-Qo}o;?voHdRpgu(dxwng-iJ?dw4wY+4{( zs2>+-N4tig#9adXy5aOoMP|1U*j=3S>P&xC7#d38SQaGM*~ChivZ}YY&Tk6j^9za* zp#j1#8jx*|`^(&Ni=MRqbwDJ$B;~B)-;6g%T0KJd^s;SztC#&nLe$78`S93Y3j-x5 zV>tC@Oz*IAz0sMwo^;FUS5Ju>6!jen__$N7&8?YmCgXPayBLaoXJl&Yf%920_Hf&j zg-nwJw5uaU+e{CB*VOlyxo9F$EF-?kjr$^C0x1o?(O<_-DEI0!6<8fdNc1#8YW?5g zQ1?t5r=3=LLeEo_Z1~cT;fEp6aFWkNMS?5#;IWX|rYfW7ObvV~9lx^yxP?~#5nEqL zeuooJDla|?WC~RaE4P;NRjPd{6Ao)i`3R1gzTYEvfRspLUdjCEiv4U&YLV8(f-X26nNw>TK1Pv6gCYOTs zl_X)a!dkOFcJ58>TB~C~tUrA`?7xOd?(S$rz1u<^EwPKWwp|WKh;um;V0+F{Sgw{b z;Y81%q|PN00@AxMun$K2Z)jdh_s#ElK9`l4NlLMS@B$%QE~ z)9SnY72ovOa@>K0GTHTFUhcK3AK48L3i5GUO)&9BU{oQy2?&+@+}yE;!jYq#SipwQ z4Pay|kHV~FkJLNzQb7Tmv*%<+(xY?3#l@|&IuAKM;cq6hl(be-_*C)oQQ6Lm;7Vfy z;IuqNuW+=^RHq;kRLA_0Ehv8^MWBqlwdsQT7upy*yRz!Vc)IN(1KBGsidLWLg z&zALNSfP3|9O;(t#gX3u2}&PeyW*Ai@?3(`*Ux)n1D6^13@-S=b;@S zEoDsCF(&_?MtD3bQ!` zf+s)3pweBxMq`c(5s3~YTy7C5^USBH3BNJ6GwtG_pHnNNuB^-OGNok6_(w)S4r%bk zUrd|%)WQTLZ#?hyB-tDMdD`}H%174qeA?WQ!hh+|*g+~T8E6=Rn((*K^agC|e4txv z41w6pA$?E!Raz}=Ln-N+^C*uM2W-ULHhJfO%OhMY*-ALZawH~c8&~W(~nno5Z z8>9Zct9k-BYIe<*FQQ}?)RtC&8R4Bxm=~V+W3OG%++wXc&Ne;02SolSQ6stV6%|$^ z(-P;57bLr zD@{zGju&EL#|I#b>tds;=OYUa*TZIMga&^er>2G1@K#I59E#cbVyyMKr2d7Epuv4< zy>s(h13MW5jJcuUd9>x#cx!|v`ySu!xv6HDoosl;E85U?M;d(^d)mroO0ts0V=iiW zYxaoe(?!=-4Up24e+hTt{u*@q&#Y+PS9=2jG2e@zT!)+7n3@+qd2A8tY)Qm{}K?N8Cr1XE#(sH!x>0%ll?t<>>dKa3j&4< zs0;D&w=!?cctvHjSdUZ{J}b;R=3u%Jb|8(5G@g*#JnZ&qD1(tJJ*e!ZxJH7HTP-B5 zCsBApmf+h0)7tfg4AMNVm3JXRpL!t=H)X=mMnA9l{^C6@FM^{1^!n3dq~yrDgP9El z?^@EVrF~yQ_h5MDdxOh9;>t&l8(L*(3`GGG2_x8C!no2@8s*E)Q{`EVjd~oO?7s)w zF|qP}WTdRmCx21HasMfRfHmuEm}mI~d)NW=eT=y+lE6R9JMK^4@Gd_8B-ZHKi97_lrM59uV4q7V zc+?r|K^a~4&3RFZMF%sM*}NX>svM8{XYvL2J&+-&7-?r^?T2iX%t;n!$icRBUFbA{2spko248F)ZcJ_Yr{XfoSzK}MbT z_bUELx!$1cxTKyA%;Wud>v`v6B@%`&KaXsHCeiuKDs%)m_*YK!IQ{OS1w`RezMdF~ zPpB%Tntg-yd^1FR7pgL?ebJHV3t6q7;tjsPkXWGkiqrd`wtMHcgI(&wzYLn=dl)I_Tw}qeI(!x`0iKRw zhvFu(`WymLdejR*3*QEh_5$WPSwL`wr@FFTs^Pv@@UNIc? zs{iC|ouO%DvY5*C*R9q25xXp~$!$!iM&~=gyU9$oVGH{1#~HR+ zO3TcR(RYUDpxtsd{2ruZ;qE|Z#ag_}ZI2WbVjSCQjY0X0HL7$fRG-GREq79MX_?r6 z=3-#%3a20LM^|(x+A!>-8^NoP5tsllgl+W<#&(kGPSxvUaV%J@WG&a*{xYe) zCu5Q@2-T`XwO!OLG zt%ZR%Msnc!yH(nP6i)0Z*Iy0?uhZ|K<_eWEZCOaa0U{r|?sUHNtD|uS*;KyhQeD_r z+fcqNh|PoJYuEf+_3@H|%_PryL}Ne`P_uDiu0qp*HaKP}ygea~c+|G;tLWRT~K<&7V32fsI4vT;!iD zX;TMU0sx}HQmee_X@Ki@s^JS&-Ckhvh(%z--;|n^z|6kxpKX96y?d4vGSQ;nYxHZ z(J7moo~fvAVB1Z3nNLq6;de0&RDGfRo0_K}+d#b_=#L>c*9J0-H1)xUoIJT!g^rT19E&E+LoAuNiN?~iPvne zg#Kx<%MpMmL>PGBx;M^mU7Jt>(;&{@-2=DAgI{I{oDSEyT_wUpq+tp|;;^SgBkk#l zn-~fdaJFTRc5B{>{#BEh`gXYaENStx`Jn&q+Q5;s(gTeX3yltOL)C#gIp4;%G{Ubu%a0b!CRknx3LkV9m9P;9 zcMSn`+Pq~<4TMj`qQZsXfl6u}*ZY#lk$^@H0)~he9b_+&U${tTy1dN9D-0Vv&!=|} z_W>@T@E^XglEEB9>O~Q}V`4!9Ec-^F|K&KG?HL@@8r-a>zP7>(8zOz+gyjtmP@FH) z3QV&N&XC>&ugqU$SvZvxWGA28)(mFEF{Acwje!`QjOE?J<3S6yiI(k319y?Os( z((_|m*cL@xoHOeJ5F;h~g|;+n{b0seSMVW*W(ow5fVn0BraYhEKCBi?o$(Xo_3r6z zw8;Q@t)-zvk1o&4OTn{+xxy8cn*UwW&XYwy>*a4o*0eX-=oOqpCtE$tciG{(>y)6u zL(G}_Dx+{L2!`5$(=t!{LlWfK@XRfOsnhjGd(YwOIa&>PEuQcsUEX5^>*JX*^Jd}U zO`9acnGN8Q5PP00iudo7(QY3HZ3cIgV^-4847N)9pJ>}N!kUndE2uCL4x4k$$SC({ zBd#lx*DpRSbpn&MX{2oSbI}P|ODts%l39j(WLn@n8c)i3o59UtfRZnJpWMZkA$@iB z%yyv<^WHPp(xBwN)-1Y>(%ja{-&uB~#9xR@+l9b)63=580c8(RFzcqTuLn8zbV;na z{zmLEA}gEWW+czn;6<&4Wy;>%M1AXZu9_U1E-tC?jPWr!yj$pv_TgkH zY+kQxAocZp#gjd55(KSzy0M^%RHdc|k`&N&mPsr!ado=UAt&cj;C26NsfR6HgIZ`6 zH78oM2U&KSg95m;p)PZ2WoJ#{xl?iX?8yJjkY?6T#W_=D^zR9?eeIuD!I4%_90}0YVC|>x7~JL^q1feoZ!-4j&$33in{mCm5ou zKDrTRR;uC6*MN2b^53u z$0uDb`o$(IxMQOJ!24o;t%{cpq?W{ck+9Yqg|~yP()qq4fTUUDIda4VwHIh`CuuTc zR$+>?AaXivlIQjDJhlSDsR2}#)K{&u+)I9}?{eCg0!u^zw{U5o_}A_XSPSZ^gt?}f z3l5V~sq@`Lz}-W~0QiECHuoT3cB*d={RKZLm3AlpzV>=XyDj{|9<0Jne^2(tN+&7} zfG*Z_RDJVr=adW7C&~hTHOBryJOU zEL;vR^wN(12F(osKa$_&pF1iZCY_t^ND^_K1#hp0F7^*!uke2BRKyqJ*@2dt!J{j# zzm%l!?W|_dkG!9WQRn_O!vxf&#cXX1w0!k_Dr!=W>N^S$E(n;H>a5jLv>X6ANsJrX zWF>zquWz6@QzA>v$*TI52 z%#udavDVP~Bp%7LjAZQ+MwYqIdY}65% zy(PpYu4y7=PPqyhw#{d`bOqD*L08>F`h=R%zx2qGoBM|{Yi~nbJ-{-a`WlKBb(pve zQGzR4Ba9^Zt0cNQ%YbN3d5~aPc%ixS%1ZLtaIsy;rIT)?J0Jr2E4QsaCfDsl1Fto< z8(->FNA_s!e9K@m-q~~dHKe8!x0V?k0nl4z9-CZ#R+D~C{f)qq|NJop)}qtr##gl; z`R`F>Atf5+SeIoQc?W;G>%Gu&MC@G1yvr63hmA(xX9iAL z)fVnCr%!ClwX~jT_E%x;mx|a@%Ia$LB-{?PjbiaL(%ynBn1SM(ph=}Rae^aI(;Ul2 zett=yc4{ZS;2-@d_nTVftE}Xj;ITzI39LU{{K`B~oG<|y`i4ZUD+BogI|_0Z4pp)$ z!%Q@JNam$X5+T6K559HcI8rZOc0~A5jk(`elI+xSOg%ZJA*i!#HLM7KsWmcI)p9+mva`vRUplS`ZS1 z;y`QNyJm#;&K$rYA>*Kab1sM9BDNpkDUZ&Y$_M@A+x?D&508p6&aehros7kiMyIfx z^2fiV{ZPpe`~jRnV9k{^7g{P`66A@e6I#h<|K{gF#FaIdov*+YWQWeNnZX>(J**!I zZ)BiGgD3cLmG+WT5e;ceT z-^_r9Mk6ib$J+*q_?XL=P6i(-wil_P;nD;Mw`xQEp%Ze4cFD7&4JJOUY!Z3IHCTqT@WAENfMn-nTuG(!JoY4_o2e`%i@L>GDw9Y&n_0 zI)(Y9=w~_%snU7B$wvBWY`O(f$xvekbP!~~bG8g#z42R#%{D$o#1z5)p3sUl`@nS8 zQATuV9{|L$`buH9pY#Baqpn{LxeCw9BrL5&`#Tr+Jx#L1zT#&RJTpyOWHGV2pp2|pDRMl755#8=va=GkxJGFT0hvt;jV zn5_Rufp1lAq%p5$JznP=FQAP>gB3NHxzRYMO^gUdXg!!SGDb`bDcz5s*I=JlJmSsS z36~%PJ7XgQVTE6;)(3h-l-zBh=2>G~sXe~ED^58bTq|>)n5{UK-EaQK@!#LOMOsSk$n3TV!lyfB)A??k^`vexW7#JteHb(O4U9k(8 zs!s1$`elGxK$BJ@Ygm%fCuV<;I%S&=VaUBQaT%e^;}6sY7Fwkeo>IIFQ-J~{ua6fJ zxvTTLYmbFq-sBU8JV|zXz=D+%Jv2GKS)BJBC?Gw%j^&6<jsrD6hPRdJVHOhf1{Smud~$UFQa73P2DHsF`e6CPlaU{QR&;9&M9DIr03 zs`mk*smTUhi?S=9VX;%8l_LIuC)~$23Q53JSkb{4z$HRo5I6mlThM`7O zfbPUH6gebLSPZG=GmDBS+z4Huk{0BpOcY+%`>Mm`jxK`8)j{K5a?nj>#5`+_!B6Cx zdoRwC=^_DYE=@IMzbagNMscDyB;HK-05U7Zfh9PtZq-$QilbFe&IO)9m=e@hD(=?B@g zO%W}aFYxPZ`ipV$*>Pxpm^PHZRSdsT^$4YfUqEvya_=Yq#oH8{*003LjONn&c@tGP zoem7-^BDh5uD2@ygk{NpeOF8H2nrkTZML)7T@BA*?VsqdMa>`A_g3RomorzJq@8;& z|Hvx_!Q=f$_#-WI24K}PguHDBE{a(ov*sN^8kEnB3K-6;6v1*!f!7LzdeA%SC))0d zW3?J?f>Dan%HzJ4Sza)Yhw+ySV$pPm0VE9N1{6!jIypJ4Yyw9MTSShE>*cZR8MmDQd{vaHuq z8M8=6;+I`X5vIV+qm#0~mE-@B*nWv_J%6qhNP!46WnuFscH3_Lmj!r*m(~;_k78_k z*~}4cjYmA`8?=o@h4uB?m1hhN9w-D$oe{#~SMxyzkqsDW=q-vr#g$w{7~PQnDa7?| zRON$uI48XRuYh}Tbo&hJ#0)OSI^<@;o)q*qqEIi^$w%f~|BtQ@5yl7I-G}rGk^v*> zHZ0JQ@aCJUZ0+1$TnkcyqxW);GrR{Jlak4X6c6;LEVu{qZ@Iv0Q}OZ|xNNA{U+`NZ zOopcd6N)Y;`c)ghuresw#E1Rsu+eS6x2urS;NnJl*>E*o1N%g(iWLnmo@+(df6tAB z?CmG6wy=^@jI^1;g8i%vXeIHQy%8XAC}jpyM*8w1YRROr2uAl`CC^@o&Nko{F!WzV zS{?BOn|n>2?1A^`O)~tK^pfOPmgTYYuEt4 z7VG`{r1MlxD}1q-?SVwPWdxLZ1G;0F%iB9FKyJzI#+6JkF3sml#nH-iMwmEI$yW`d zZ7pi?a{j7I>ePH>ZaE zz4EVj+Qfg_s?9n8j_4ti*yWX^6y4gA-J&kAZ``RzQ5|=iN&B~zBm1jf1zEm@Vk1^K z+*R1c8d#4XSrA2WUV_&x_)$r>?>?zbn47<_f6?q$mTf45oh!v`*=ZpuzJW`x|$S$cdaA&?CtG^249c|(J_PFc_2q_xgCTB1MVA7cJP9uXb;{b>+$7+{p7=PTB;J8JF}$j@V!If%RA_$|^NW#1Wl@i1N$uy8 zKX|);;qWpAb2!uXYfcfBF@sI*4>lt*i5dXj8$}2lu|L0JI;}+LJHYWu+%KG@M$vOP$&Dw(fWU| zA%UBfA~2Va5JCTDm$5^>q!zZ@4x&zH{A8rhC(y>syt5C6(4AQ%Bw$oE0mW{Vm7AyF zUI1b$>o}%BN=yHp43a$5pPXQp0t0)}+1(f7nKtF;DvTb5FFbDXH0a49HfyF3x%}Os zt{+FX6#;X*n;BP*4hL}79ED=m8dtnE!5hNVP7Gach~dXXeOYw10{Wyzd_2-wy8iw>g!b@Y>4H7S zM6Ebr+x}w)`i5W?Ie%w#>30d8dEu6p=r>{2l`La#M#6q5Ko1YJmXtxnj!SfH(=k+quB~PZdzTH`e9I}#n$CyR*59B? zUB}uBTR+j8u~1|;zo|0wj(#`{D4i%T1!HQlrH*Yin{r%XZ8pFfS)WAQFZn7KHZwO(-na(_&= zC~<}X4qoCW4TaOfcFK85C*Qumv6Z+uqjbhggs9K6O+=rutX{{tV@>8eq2FL9t8h=g z-e8J*Gz88gO?kZ^qyBjaoMSTCL!`Z$s&hIUpX{MYd&;g3IL?3sI)SFOPyua|YLr&4 z&H9{4@;<4K&$Y)OcCmriTW@4s`1+7$ka6?d_l;-74F8?uqlnE7=%E+mBG$CZK?~-= z>#tYIvxb8q<`4=R?}sRf-l9ok3IRqiG3$|hXF=N5Yw9_vpl@-=eLn&Ber?C7a?xDW z^!!6QX^1zm^taB_6>1C%o8Bh4stdNutkP(2=HDZx&moV8QoXB>h|m?2|FR%olc+ zO^jHH49W*X_%=`!d5Rl2J{K+9t(3-m!@d7}NVSQu0jkbrM0DQ`t3UelSW*ovw&Ma| zRq4lo`9(@%mhO^X1p|+w4P7+RQ`dLbtYG?-x~LIqRfANx!X`t<-uoQ5^x?AB`Q3Z= z96q@r_-m2DLIh&5D>Hfz)FQ|cG!DRhdjhOz8m%FKgL3sCgl&TR&WS!A71LNlO>_+Q z5Ne^8ujV1+RRyA-IJtMxT9F|F&WUuZq?cw^@mZheUC(XRz3tfC+WVH)b<29s&l1C)JdGfxQzm}XUbNXgdpWa< zetw#i`k3lgZJCL|mkF}ILN-K;D;4j&x5YLnZSjh`=CeC=#6+-<^ODPru4FmW9n+Vu z^_^hqy8kb1qxtL}!ITozt@+Da2GUm;m(pVhi^MdF8KT<7IF3%o4MZJROsw)OCK^j= zl@ZPlwXHNi?Yq_3g`^h1w>o@~|cIs6=+&l=0{KWEWjucW;0Iuz3y zVMW|XlAr+2ZH~5azy8B#oxxIdy0-umn%o_DU4OrVfIa2^o<$+~KQy$mM0?0*)X&oE z|3b;39Q+Ec)EBQxtWq2Qf5?mfKhe~CyONUK+Vdj+?F}M)b@vpz|DfXCAX7ZozXNhd zqzfP(E!&~~3&9V9p4U!w6i3{QzBlbJKX=AB!=wJU?f*-deSdB-EaA^++!gQgP8#)5 zAR*Buq~q%;j<~Ne{Yf3N>OlWVZ7BXpOh~7V{@>m~jQS7!zsC^k`AVhdhx!{hH!mhBXRP`Bco@#WKf z#y*DCCq}uDHaHkNU&g?f8R!envp>+fGXF3XihSwF)+br#O%YZUM!LbfiO$CpwqujL zTLCBT=VtI1_1Ua@9+sSs&G-Y~gTlFOyixD6fs2Q4c)aX-Q?WE(m6{`t&a!eRl5xl- zUC1JZG0R<##c2Obd*f$i`s=pT+F#F$6)kNso8@%IXYEJXoCt^E&f3Aq;k=N;#3BSS zKepoUWy!55z8a}-J!RZ3ovOm5hnNh*_cAOY!?Q&7>TbiqgPnG6G-J_y(#I15+d*g< zQfM@6Mu%{$qnzZ=+X!k|tt^Aljra0n>|~R{*uSPPSswn()mZZ`20X>zuQQU5Ge5mn zditBY8Nbms25=qPFwKcl(J`=!*13>JaBoCFvF;~NyG!6a^jcL_xNV2>ZhGg3H(bAq zQfQa%@3fqD@z#+;L{Q}Ubt%N@oZ1_5zPQo7gL%)hiP`+tzpYUodVsPW z(;>gRbo!3YIM+Z8$O@^Wxyqq75o!MVxqX7j)>p(Mk4HBpY{<0QN934GGs`pjCk!J` zAG>i3v8dK;ozRMwvzs9WV(z7kJJnW(RS%bP*`M^0FN7a(e8!S{!n4xk+dn7F=al^E zS*LILGIVx+vUISRYU0)!=L2;jJw-b@j_LaOBb+!}>BQ;{G5M3=XC}1l;>3+&-aSN} z>4`|kVs&eMEkSld#NMw^8@1C(;<}9(k-6DYgPf+t?$7QVNV*r5-nQ+RS+q%B-3}1+ z>0UAK-&hBiK1~y9d2q%cW(J;tX06f!u)(|&u_^kqRR&7T%v@7$SPz%xD^DPEnz|rEth<@J zXPv+u*tw`~f>TSVI24=7g?j@i*pQ|D8>B%ozd_{xHNS_eH+3wTmDTZ|-ke-r1&B$W}Pl`jPLPaz6bIblQX>-t&!e0G>&%ZBo zgj_c68OrGuvGN#Is-HxQMN>1BA5L|TTkO~z^26ySx-tEQCPG!rZ);6T&u8|zlxVlh zh4|Ir?f7y+!}A;w?YUYIatK&{pVT7PsXe^f2(uQ4#Jqk6{CuSIxBnU79nnvXhZRmB zduKRjFMtr!Ol6&}dXoq&;i>z$lTFM~dAwI||BJ&bW>Rzse1%NDvwGrF`|t|{3$*Oe z237sa8=1ds(3n?ve_JdD+CO*kc&sEMZ~wIu39R>B9h2mQFu`?X1UJ(N^i@8wLM$p> zw>#I;`5q zBfJpLvfD;Q*ZYfn1LICgy&M+(G@q@{k}8Isd%g$vW+B#zZ0Z?&Env3!v-+JdqU+8? zvCq4?ZqvbIO7KaXI4OXgOPV&BolkT2VnKisLIs!Aee+m}PBp&VrzyX1atIrh56axn z2>ORQb$28EXLapFIFji7;ZB1`eF_MTAJ_`+!Th@cd0S_~NOIpXexhPvO3>UkORfd| z@VHc#kx)>n_m>_EaTDZb-_g$>l3sC_{r+C>cy2AN__*D#Y4bJp-$kJaqZA*CrHwA` zx6I3{Zr}PRGc-5EN_Sp-T3oj+&7{TRYSgr7eP7aCRheAefu2@TZ6dCjpJYxofSvLy zK3D|TfOhimc_fmt*M7FCo_l&EXe0;=kU9ODIZf}xdp-T0iRjmU4{6{3(KEw|x&9uS za<)a;NsOu}ii(Rn*o?;ojG4oj-UkYKvlN}>t#do|-HmKQ6GM|K{awyO^Ex50ma#HZ zUOk}k^3r8*&qLSkm5lxsfir$sZT9MArd7q*cue>~9SG;Z?(tC+U zLR=Dh3~|9Xo{QeO%Z0=L35+7}5l&)O?^@OSt&bqowe`tIxdYT&lZAo=g)$FD27C4m%diWnxU5sYQQbxeq(=%h#LIGY}wsVTOax14ZqI{Hbbf;Hi8CB(p6@# z{+G;z_gVT-E3aUCo5fhi{6n<#Wg#ZoirF|tTzYFK4gE#!&pBX%K6{4Vw94yDt7i)P zNw-aX#@JH*2>}n!t#p*H%pz5@wJ#>6r`F(B{DnXk>wBPn za`Bg+OY%>{Y=>FQbw}DZya)LkBA(!PD?+20;F(Jq`(Qdp*~T(oT(Cjeq}QYT{i&jg z*qA1FRGd&e{R6@Hs2;89=kAiA8S6jS8q=rXIFbiB5(9Cnd8TLi1FVE!UFqXK5r_sn z9chih!gH)Cp!%FiQ}H94HVhsp;wUI65}5IVYyHb(R#jum?J;=!SRAfE4luFp@PsDr+*xS7Wle=7h4qHp_^KbA zLz^{1ifLVzd?sqV@ljS1r#ZvvpQ|+P<`mE|p2fSX;~svC35C(pzln&#-$jcV>|_#_ zS<a%+JNdwjmS>E@ZiF@LfQ@K>@ttE4YeFH zmqIfxL|LP;WK`xqM^!vFbSrh4jSLbb|I;OA^%JR6onI1@>z5u(I+qQ3@FQ=pm%rRu zH}-g&Jv&`Ce6H0+pWr|R!{1lcuR7*OR1ntjj~?YrqGp+RYUN<4Wmi@nl~JI-Q)I3x z<}v5^!oeZA-@UAvq>78(pWG-YdvpQGO7J|&Z9eGG1IhPayUS^8ee*G>*`^V*!n0m! zg;5TCY9Ufk-M5AKDC{}pO)Ggta=8yM?uOoZrLhb+M&m)imxGt0=u}A zBZ<37bEI{EYRLvRcLIj5Ub9u+cZVAM8iQJcW73fY3hX8{2!$ZaCTwogB_qLPOm*u; zP{bgK{SXOkmn)w>7R3ir*~UO5&JAg_;7UlB-33aCpOG@_(?@wnPB7+JV-CyJ=S}-u zLx@lRH}OgG@o$R3MfQTBGQwkOEP*WClSBR}Tw+>$^Y|x}Uwb4QWx0*mVa~{l%sUDN zB*#6mEAw2V2V;h(h9-KI5uoI2vx868eEHdp@@N_a6Jwxm); zJT7`z`^;DaVDD|cR3!^=FK=*hncXG&uX|upU72$=NuBQU0`8fAA-P>3LOC&U_J8+# zy|a?i`Q{35_arwGdNf!QH^e;UJ0s@>c4D`A1py;Khz99;70F^@0GILfar7D{7_dx? z{YVL_RS6tj-5J(|6KW_4&s4MD3*&$*gurt&<74qjPcfkjBXl@Nw=|3QMB#_J*!2RBg@o(ifNW1@$KG-hrk-rH1loqNGUMG0P4uqIk=|<7C2muqPSv5xDQt9KYqOP^ zqxX`ypu@`aB265>wN32lO4)zfyu`e4u_z)`^;pfKut?KQs{R zKF;0m;Rto$29!h@=&M23-Yoy|dBjA0QynN)RQ;F;SpSZJyO7lX1iy=61+2}w${67sYOp-AMB-L+Jie)^&Yd;DXMto*)AsH~AP?fWM}60AA4 zoje9B#{-R1pL#_sP~^DHSWL$&JXwPt|LBkZxcXVC(VTjUvDn$got9dLqwdEMbqWbl zdt}FSS~M^4>UzYJEupZ@VQei)HmuuUtump0(;CiVSD3Kll-&_r*r@OXFpY-K7iCz{PgLbzb9wfm(UB7hF??y()S%~82oM$_(EW9f-PdJGCx3y{uN}H^&vfwh#X{a^ z7%WdbWn9D0dTGL zkp$n~ei$0ykP9SF`~Gfpzb z{ZmAwg=@}(=!rG@fNlrTWNIXh51p;g;-9@!T$~&Kz!^5V6GUqXw?-vnWh;~=Hle%_ zJ)@p7koftvgw_q%|R@x6e(~f%Z#u z)!>$2nclbb{A*(z%s|FK24PxDJk-V$dfA|KXT8G z2*@`Df@X){e+f#I`SDC|>BaDlhV!lsk9Px(U^TgP;G`PkbHP6@xsfjW70(SXay|1G za-r+)`OPS*VwH9)7#w>~jfZzUA5aK6#NWeFEe{SddWK|M5!(HM$mGNgwkl5xr_;s? zZxQohZ_xTW`w?X2hcLrFuMJ%B-~P2nKi`cK2Za@dwQR5Suj{RxCO;4=#d9)yRE2aK z4KuWN#P|DsMJ@Ao@}~$O#?LA3J4vaz;0?a?F@UM!o2^F=EQk!Tg7GIYMEbh_@^R6t zyKm~bb+rHj9pTwQxNx^B%dF1az=PyC26O7e*WLQUQb7(%y^HV)d$~5y)%s>7Kiu@N z-ypQ@*|HnH6T0ApfsQF+s#7D$>NvsTa6=FZ#Nj2W%&|5rV2Dfvj}SjayQFLgqtuDC zUUhAJRiPeVZL&Zt?q(W$kzsU*iyI`7-Fs~tQ|DWmjCSO&B9@QxT9c_o$in_%lF8&4 zGR?9xgy-<$oR<*w-<)C$N=Hp6zLM`H7hovn;q|{7jo~&6pp_D9jn;jwp8*H2jlhG# zA#)tQG_Xg}{AQD;6*2l>P1i7QFS;aduDa`&AB+Pj)b zV0IvaoqPMOLo;%=&(6G0Uw^JAx)5Ymub-F=h?~V!oRg4xpmK8H(^x$mlzHWW6+Jn{ z#R?}P%>p-aIj|is?j5;Uc*4Ez-1MS|z@7M5y?R#I2;(r0gesb==uTZoS*iOZJwjYW zohOY??cPs~$CWsoE%?QC^QzksH=+fzgk0)uM^2-DjBrE|VD}pNs$|aoil~IE8m|?aPf_&@r3DG4@{mT?O$?)y$GvUmlVnv2 z`ju{RE1UOSn3iTA@=Wi;T3EEerljX`KZRSC`|t1(@&hwTFehowclUacpGD%SB~=iT z$rlrlc1cSAPWS(tVDxlzoM~*LO?e;5P=)sSjh9)5UVoA17*O7W8%Uqc5MrQ z8Mn@zXT}#lir-V4t=bv$)zS;H)S z3Qgo&Le_8_6YY-cuM{5)`A9x|;w+_Dd}(5_EQRE_+HDu_99oCFH9mGe+2ggvq^~Y) zOKgQ=XLIhCjnEG4sk97nh0JMga&nb1&^jVmsjJa~mcZ>xz)QiJm;;?cd|-$?*4NT4 z_7}fjf?-%-b_vN?NGSmT6&_>+M<0`CfR#I!F6k-LqJ+$2q|f#L%O5} zhLYBy89IldMG%x`keZSzA@^fj=OL&VK#Ql~S7Gl(1Ev)GCTxo0g8Xw3mODX`ZF!1PNdf2%S4}GT zBt2HDYV3~nBT4*>CbDtmK#7-5%3k0njV{%?>VaQ(F{mXe2{!M2{2mi1Yb67PyqpUR zpNH=)-paEu$!hB-VtT*qQ!}H7-mDc%{lO>!Ge7#q9{iND)umTSY{UL_<8>Bn(mS*` zCS}H`n3&sJFT=@ql2EBSxKABgk4Q`m>tA3&wq_|6#P8~(a zjsaFp_tGp0_ln!SOU;(BNm+@X4Ej9glPT&Y7y`tkX> z%-efJ30Cb1jfOz48lr8WoR>AdWj58d#LyNmH*|lp@S%41I5&k#uBt&D>YIbxGsHnZ ziw8^V)_ao9qr4B3{oXOL#pzH71aNF=Lf=wR~6d()^HTW zZT9u@MFW!IGrU)wP9Awe41E>MkTmiK5T-~Y&+SG;L!HJ!)k6eEpoWsz&f9* zR@foDse9*IEIWDDy6E6&niO|B7y8`qh1w`gnzn`N?><@g^jAE*OMkleOAHzmRBbXz zS(eR&9Dy(dp1BLu5rfq~WIEb1-13Q~kPu0W(|(oJ zMPt)>QLKkBJDAj-2ng)%?7L>zIqXe`CvwO3E%(dkn(*jM|7|iC+HTh1p zj}9GieoxosRU7;+>M-X`b>~|g!3)v-yew`^z4u`_i>3y{sL4P=^Dx)l*&YIZ$X-r; zV`ww6j1xdim{_tIg)4hZh9Y!kAIg^#QzD~`V0vUVRt-!#DasoD6gVT+L6UCx?fadH zt#}6PNjKCAOVxZ%*tCBghhbG=I(&Wzt;*=!KpFJcoDkQq!E?PSK3A)G3FzsDHF-3> zetw*@v#uQ029OheI-_)95|)Dk!D*KgWV8P!YLUBS20vnc3~^8)A7gEL(PMSj>@C4w z&`*Xt9)K#CkE-H7Z|vll=kTbNm`;q}eq!v8#rfvVgYYQrbUBdVrv2C*5X<~PF-c1! zkM<8s??KwqZm1R!ZuBEU0YMJHR;Su7cg%}7d-Tmh9Olfz?or()C z8&q=GrW`#=UhY6ex&kV_WVB+lI#*sdDSK#C=|C6GF@$$2QVv|Ct4SUCZs}*;vkofkR$2bph819eSck~F+p|Bfssfc(jG;3sel@0 zy{81mI$u0=cC>shJ26Z}p^N{34R{hT^ZgK&Q&O5{$aan@spc6B*8VQDGbc9G&3aJh zUW}BB@`gaBPQJTl301LGE9zbexnw?D)LEUbiHLm)_~jaO%~@<`%1Ho5 z!>t6QF(g+RBb)U$8;!b^;7&!Acq)%b@}61yitvxF(Aas|Z2gK9TKvm&DzHh9k!By5 zpGF=1Bz3FK_-&2jM5mO`$K59(3^lcx0G6Rk-`bv-)HM#w{ye(J)2i zGVNeNMy4M4<#vp`OJtZKt3?PZzBqrUWzMJZvZ`XP#mMCW|9yL)Oq+H`PF4G;uV6zY z17kXau52y1b&sZ!a7xKjM0;k$HFVc4YP3VKR#E{VL$qq}ip|#d*y!`u@ggNwETU|( z7s#HOE0%yUMD zkINVH+Nz*uF+u)VHpV=HME82t+=-I|&+?1Q^FpyqUDCJ1ihz_SDfvR}s`J^peEO65 zbNiSDpLV|Fsn>N9MA+7qy^)SYd<$M@011k7wB?U02|EL;R`fjO^m6~ z;YB?)>y<<|nUeJbmIED|11ylXeWfr1&0}MKiKSP|NxG0UkjnROX0OUCxpKE}{eR#u zXfi$&pVs<$X=<}#O{xTdz)aSjm|~vz#bs^-vIqj7n4^BUe=BL*L2 z=4BREb{>>mCV(^>%=$CX2r*rgN0BVKt-(hSHh~-K*6iCKn=(qRF`B}HVQ90lroz!c{M9x42QO=`IOanMD~1nzUu&V-$<%ClmVoMm>P*=`H5 z%cJ)E|>-j%ef+LTfKcLZrfusG}q}Yt9oLJjXB(nM7kS5ZS29Vg|=cbgb0nXFQqy zACg)c`s;FqI!psGnAS9p2joUHbfDixltIgc_-9({->z+maE-z{PQ-^>+`3=B59po*(E$r*O68#O*u>N2_LeZ-4bNp2eDh;9o&^x z1@H4yun)Ek$k+#f637()P7A$^Qlyre*s}>z1wcInyGI3)OZeq<5l~jN$4Hgkfg127 zQZtCA+z_RtL@g~9ifnQkINU(Ec2yS$S}?y6wkJ%_1q$YWwkYo#;ah2XOg0 ztM|w?nu`jLyQ8?y*y~D%(|32qyGT<~4$6lbQkc6Kz2}vPH}#w76(=dGFBqE&3|xB9 zm&F19u20tn2zKF`D}{B$Gw?H0YrIvP{9B>&q~t=m)r1V-$6lSzKa{w{sf@Q`OwQwXM#i9EJe6D-MWok&a{d)xP* z#0oda>VtTWkymry0XH4PXKwU*gKoj>C-pQ4=bR%0#*&uWhTAP8o*>oxNDfLN{?tA- z!)i+Pys)*A?BX6FIEihAMbznbqsY+AIkn+m{Q+0}N+MCP6Yxdr}MxF4S@;zqdp znb2gm5Q|Nma-gZ#Q=c-1b{gn|3D(IRPN1))OTjbTyho^yuGfk^qMX2@n_Vb;61#QHeIee{$~@1|Z|XDG|d~ltEp|hM)r0 zO+!-cF-4nTxlVV3$)Bwci1o@c&-4U@=y-<|idTO_#oJwLj$IX&-?Ct7H$*(wV@Wj+ zm$|Q`B*r&{x8`hjAX7J7GSbSPY$8*ThLncT(x=nYaN0F8bn1Oo?GiB5kx{UyW)#i! z7d@dF!&HbxaHY@9plEAc8(5WA8Z^D0$~QPPE4&|q2Rb*U_u+KeY0sLw8&CSJnMFwc zu3K5W?q~9#ASfves5av+pxx#DtUR}kykONW4#Z>HY}M1M%n92xvfH1mt;fY@FyG!} zd|Cr1*)^lt9UCewF{yQHdgq!Az!4!v{hmUDUqfXv zKFM

z6Yg!EZ@E8e5i>+bk{rd_6ti)tEy%H6=*^v(+Yx8Z}i{5J@ID)o%`y^T*U|EiQ+u0A5r%CfX~uRyjW6%>CdJqRG@QL!Zw7y}>6=7MPag$$Vy zgE4{*#0sdj_0ysRKTQXx=j(sP;Q|`kPp^+~WkpO5lXaou*Q!_BQd~Q+bIo?*ZNOAR zGZ63=Gd&!{@ezj54mM&K8jOY~-*#l-A;>{S)@pO<8gsP)3_Oz}uw|+ceS)359Vu8Y zBM+}6#d+)@hvi~_iv8Srx)I3Co#XuUj@_?&tz6n)poKCy4w(^m^~*eG!8^6~3oi<2 z2d{xh&isUDY^|wl&vqudfqa~o%}w?s4NQ!Iw+Y5}fT%)>q55W|p_52y!IPooX5=Y> zc1byJ@#}MlH5vq5Y}O=onT0vGjXj~4mZv}Eb}>7;3O$Nf_ip01{oP239n?Il4+&(- z0&UTYi!n?RxC{--D@~ZO!z|Kj4x3xSc?`(m-Wu?FM{9=ob$qI^5y+Px5jS9{X@%VP z0j)JIR2IEF!s;G%cT}4Jec(m$pqsKdSuz+z{Cxu-F0qDfN_dZ%fczl}d^vLoz8=qw z()IOix_6v96D4m0nnr{}DTy|g%7+KJy4pXWQVQ$@g0d~$M5r__o6F`&KfSL>rsZ{9 z>Jqohg(ixhZ9q)_#>Y;{V-U}sKDiY}4Gzthv6ZPR-QH6~VvLU~r!{RJZ?R|NPV-)d zaZ?**tgkao92rHueRivFo}c$=`v#{4o&)%L@%aPN{3{Rl0o8kGyF&4oRQ|<$`x!9J z<+L~N7n;2h!(>}%3VMjhTy`=@N;;{GtxjL5R5Rg_Ph8LK(9x-J{(R)od^IEzuc5o| z&qyfdwILNtwz2TVL8$K^pJeHi0jW~uN0A7#!?4?7ls6-hoCx~Ioup1|XKpT(Ufn#= zSAwhf*vDSJD)>wcO`-s`Yp-tCjf`YWbXGtl${+YuMxj9Z6dt$BZ*Ut;V9+Pg7Gw^Hloj>1x zV`E}v4k;CQJ5>BwvW%xezJ1 zLep+?h9CNnsw4&+)PL}@SjuI!)v$Dce~VfP6#_ zSMl)X9FaPnKW^pY>Z`%H{5Pf}7s2!?U2rgwgZ1NIPNriUwGnb^#1U68W(`wx&g%X5 z9M0pr{Gx6m5SZ+Ty4i~ZO#A#;)$@m$EMH)ka>gnO@Wnb)dp?nB@R7RL;&zQWQW7g-pVSEp*9N(+PS;dQd5YNY{ z1q;27dzT`7jhkftWqwDJWSZbcJeS_fkVAQwu7EBW%n^Q6r0jp&kd(c@kTqZr>}<-3 zI)KSFbgd|b3@J(6T)sX|4{3=0ttVNoXX9RqtjkK2?C2f%IR*$te2iXpZ!qSy59;D& z*R;3_66CiS$>KIJ+osd)Zf+T7Z253`U4do_R~|c2=!&d|2)N{+)y)7~Pfj^>Vec=U zC*)m78Czpc&l<{ac15@d9+jQqu>sBoaP` zf$D5V9314@ncylK8J$8rLhZeK*0V_zxRLQ!a*Rx6rZtDo1}0gGbnn?pzS+3J$| zrd{-ag!$L;ZQJBpI{1|ikwljh<&WFJl+>9b$L$waOMK;1_O+PHSG5~Ywz}oqE{sX& z*^}MQ&Cn&wb>Gs4KE!{|y!}Gt7w}xu=hbRv4W>~{fo!B_%}ewiBlf##u5>&gl2YgvxzW-6A$+=g2&rcBnaFqIamr>b7-PEpt;)aNDjf;z_eg`+Y-<|K zX!hRtG97Oua=YyCo-eh;aJhkGiqp&OZ&eT==(aX$FN%LF6nl5VzWj2;W~!>ASC!>D zz%~&o>q|d?>M}Ju+?>rk9rxBj>DvTy!w+{X)vY(nJN!X10siguBl7Q~JgyAE(SL*q zoNadkW_%9&t@Vo7f!ayy>%A=3Q=L zF2J;~`L>N?0Rkg2cMh58rzVEeXk#gLCxpHsMA7upIwCqWtkae zyd|<7F4Vwkek?XM%%!>77ZPeWgPj6@b8jc#JA-L!4kVdq9?UctD7Rurx!usS%zz75 zw2`B9L_P?iU{m^IEbmMY4gX$r`rMb-hFV5zPybL+59n|Rw6YjJESTVN%^0RZR$j=~ z>D^6k0#p$#?dhBY7zf)`p@7QSbRFp#v1Z%xscMy5VvTpPC-`(Qfn1qDRqS=@@R;ByE>dk!* z**~$sNO|5pvkUg+^;yzgNYffaNvak;In$pINtNbrIzg((j&CGh2_o z)ni)6Ec4r(jXU{rv0Iqf8PdxofR+|QJ6P*EO3MoR{33Ag;Sq2`T%rip8$w?U^=O<1 z%gS4vX!qOjaq@7j()G~{r~4%oH-WRFUdqjxzbmr)_s&@zjAYmgx(;T7B@26ft0{{Tvr6fg_0f2AZ003wL6vS7{4X;TL0Dv*- zsj3N7HgqF&aI!bEv@s0RZl+)ftvfCY7!spDZxnL6#f)^JA{yc)k6i zR9$}G>2cbm3QH&7?18v8U~^u)E&1s^61^I@m+(M9}x^Rgs*-TK&QU+X;7{rg8UWI3sJ zFvRWk@tvNOc~oy6MnCy-;_}|dr7MHLH)QYkZIpxj$D9bK4AQcrDBjcH;BCKCN4y zw|>trr{a(FAv9$vFdo`!T#;j#bBfJ(iItMVE&AnS{4KSJVY%gZ-DtS!6xPont#v)y zhll7aVG8PM5GCu}dd&Kxe#-bKA8jB+MrRWyf$<>vf%}SqwM>hM;l?BaLFp1Qju5|v zN4V_FuoAV1xah2G_*MGb*$>&ruNps`75ie;bYMQiU_>-UqK>01v{yzmF5 zsasJ`w0$@$7F3<-nikc)@FumbT9egvtUF`y+qqs?AOBd}cRn&<0v!%}OCdF)nRXk~ z&2mf^SIlyamH26@JH{$1tGk9`*Vg5EF6&S2+AkgZ@{{DbpOaJ+c;2IB%5~e14`jeL zU0?A88qmAAFXO7-S)4!lt+#2cugS)61x}``t`D{S)`_9i>z%}hj9^SUsKHQys#D&u zRAQ!ff7lTI=F>Qtq-c$<2w{-~9S5h`Kc%(>HypZSDxL9457W#!YY)Ul63f z^4M>g*uq*ZjW3@HKL(z}JhVe>R=bkW#O;f=rP|=8IAQ$e%-JRnFhBV1eA^~%#ok-i zCGEm0O1K`y)o`QsR`rfZjXq;f>hpKQ#151l#yrdOJq>GQ-0+-xYER@1Na1E3(s7m~ zLo!MS^0aZ$0XWuUwWRnJ#WSe`$)ZG}qPKY4)^)*j2vykf=X`H=iP|tGL1&{A&AvER z`TWkM0>*+yoOWvh;}04vCA{d%YAih=pWT^rRTYXc&f${?Db2A=S9VM03LBsq@wmah zwiNW(PcevGxAgGwf z+DyHnOu9>*G0m~H!`dyD=Yk!tpaVCXkIIRiMILWE=UoxQsJCoTNu zJD`468fr)PX?91)y%Ef1IfE%(eY_F-DIG8I2$VmG)JicH{BM&Z9x*~OrVN6OKC(3Q zG9{bi-LQ#Vbfw?Q!<9hBvkyv&d81ssY9teu_)4GqckCl>H|q7B+`l*Siu2gc-H|Zq z`xTsY&q8l1cl*}(_{Uq){eg|nT8qBBIzN?X*vwvyZDm`oL;)l72Q zrk@EQ@h(zFbC!~=WnIs+k{3(2(90kqg7=`bHeMm?Rc%rW%`q=Nli=dxIyIEXZkUq` z@D|PNBivc@FHv*OnE`5i-_Q+>BpmX1Pscv1XZ5TPJG~fdy%{G!c{al)jgKJ3Hv5B3 zrI(~y>GG^|0PWJYQ9fs88Ky0WuU(scveZQ>yxjJO+O!6`2e;nRRT|EJX0uZHF!3nx zn`&Yqup5iZJGEV03B$+>rVNg=%JIbx@`vp(k6p^qB9Md((-Jm8bd(MSejmj4Qs^5t z7l?s>0n6>wV{KB4y|XeVZVv&DD%W3!6>9~vKmF2;&}69~%VT_kMIByRvr4H=)8U>Z zN<9-;UJ5^B*JJPHR=XG9)*=J!Q=st!5@Uoru3|IzeQ_EF4i#PBLFTe}id&)jv*yVN zn`&T-&Rmlj==f1!4wTEC_havl@;5EL@+qLzyD6D=#5;e3E(kkK_-N|WnVC1NKVxk5_NH;PKaCNWa-1Kb)1`IbbOu-6#+Q}@$PXyA0NK*G{UKh4nP(7Q z@$KM)(26O5fXvqZhjB-Yr}A)>-_w%jm~`afBmrA7Ybt#rPF7o7Do$jx^Y)nF=R^oWOk{@Vz*_CZ%td(eIRTCPsMjd#v5LY>IIMYe z#z8|+8p-Kp)u}0iW6pF5EWE{bH)`NeJ`Q+n2%_dEuyjD2l}EY!tjPa)0e{A z;IwmNtd;0xh@o*uXT}3wIf(MZNBg8@eI5l}T?{9J|Ek*QUh%c0eUlM?>j^<|1Tx0j zwt$uO)^1--iDN4EV!4Wf7d(^zl_kpt0qjh$;5?0M3ZMlJf-zde!IZS$OOd^e_6(Oh zZv1UCnZuDena$scX|^@)cwb=d*c_)L%DgiQK#OgJA3;6$B#ra#Y= z+a;xXN^>u}fv9cP8nKT*LBb8*@6Q*tCBC;Q6L{n=SjSP%Y>6_mN5>!zdff>PlKR=903mDdBeO^MHt+W_2m(n_Yt?GG6H^8Khsc=-D0MWpG@Y&Ay@2&ohyYGBhS{`?)D zH#_-Df_G+3T-3yX1HxlKltwplAx4BgKZ}NiGad@$1G2T5;0~D|qAAK*G~WfaGL>o> z?S~9Fv~73{5g;k1GJ$18eSTglF5@RHA~bbXJkVDq_zD1I`Uy2LFL!4ljS6BrVUQ=K z6Z;Z0#fD-gv#S)fYtp7mErc8w8Oj7ZPD`mrrRpReuacWH@aG7xFDP~dj?lJ3Cx+qm z7OUF>p!o-I9KHQF86qU(7m~1ROIYMb$5y{%gj!G|P_ZKqNj`K)I7u%QdN20VvqnV;-^i1n5H(t!pd7La25VF?ZZTa-k>|!HyVL#6b ziU9hO7z6Cr@-ssv+J6HYAtNi)s3;|g^{j%qXQyOWRiSu6Iv;n6oQ3=Lr9g?;a5Mp% z1|FKT6HxTv*kjw1Pz}EUax9+M{!k1hq4EQ!7*M6I(|d+gcYPo?orL`seQcEeVP<5+ zh_I#;)tSLT>##fMVlm1^&baOz#TOKvp>!5V7_u02NZ#^s;0wloWXSn~*V{(Gd5Mw1 z2qw%olQuG)59qjsPQc{-apFhF24@B!RhDC`T31WREQ4bb{5>u30vf?7O2h?;td#Gl zPY4=FS2!bF9`g)~)kfX8QeWBvZfJOByA?Uc2208m`ru)Onqa&_d3{uDMer4kg{9CS zK-8(btz{sn?N$Y!(EN5h#8s7AI2h!{yS!fgK5AY$?Bh~qK++gjF_A-WmI#+=(TO2> ztWvkcrHNPqPn`xO9NgIrZ2($=KTdici2G{ae5#BHrUax6mdY>P=HY%AH#piwswTg+8|>j0526 z(y$E_3+gF3w$}k90PGKoT1yFFQeRARvdv$|p0z!0Vy1zaMo|yWM!88T%aCu@EQEH* ztwKtJ!EnO2Kn$f4cXC+wLTJpCm{u>BT19KUcCPOx-e+~3M-UFsh7VV_ z)wpPA%$AG^66;&1AH49IhJS|;zLA5(DDO-TpgV%H>C4)0rjfJ?X9Q=J;dbv-R2Ia& z3`=&=qe3sS$0q58Q35_&M}ShRzZb0cI`#?QAU7ul101rEt{|xtDy^m}~KUkKlPfRQI8x>dQ%|`wLh4nvC8|%Rg2j;|I ziH8gS99a~s7eNT0C4GX<6Bx^)l?B<|Qp-juioGi}$|t%5wPj7}j0_hdcs!tF-W0gm zqa!2LSQ5vzjks7~$J#=xJtzm-<{A(xs;nxAPehZ*{p}UCM`!_a5xxDXkObC?3R1bP z5eJgn_^@OHlR=JG?@F2t5gNQK)S~DLHsDXbgOT_Xnx-bkr%^qQl1-%a55=tux{;&u zrU0^o52h@5a|_`fHms(oQi2KiLe==DtHSr5cFVnYJ5b8PuMn;_)BuGLvbe!z?m$XF zKB>=6v(V(%h%gIr?*0-6z7gG#a9fD9@SBLb69OV4uHlY z?o5nJLJVPXoVj>{gY`{xku3GtdwLmlgjM)hQ@|VsQ%*0yXCEMNiDw^SCnF+~5;h!D zQqs<^Y8|-H{=y7OQqD7|31}TnJNIhN4RhXPtEPy;T2g-L9{4fFwz4@7QuUI=GWir zzkY%`UL4%?J{-ZE$kCCU71Vg8N8XvrE0#;>h~I^#!O!5O#D?aHf$~9(;=L)FWh6RM zqDMp^{QUb>Oi5+!va-PM; zK1~d*2~`OX#)t=R{`#rYq#IgRd&dSgnX#6ntt@3I-ys_E7Fj_7wD@$Z!yd1a)m^5) zo;J7_!Zloha1Vtz{4U9%_v{y2#Zk>um#W|cewH{1(nqrF^DEYqEb|o=%7yC@liU(M zCQwx88Iaj$v%%qw#z32yO~_7v4HL2|8q0=7>%#9EisdgbqDW-J636c1ioq0%IvId! zx?j266v7^aap^kbOIOSQd@^`{_dUc7_KLe|QMFN9P-iTE7yU2Ge+ zHc(VW;EY9PzBMAsLVVi%=*OogJE0Klqm0SW1}@}?aCf#UV&TdeC?hE` zj7by@1X{VST^&)Cv%ewFTY=QPI*?Ym_CB&t3izn-o8RH_Taj#~#4L#FNy`zAZ!ZYH#>0m6S+LZD616(<>A3*GSWB@;g5-@0(ym zyvxz--9CCM9;pCd^)9Z%%)lTRTAKj7_`{EE2pES5Ps9$1b#$sdY>NnX)3-E0^`!Tx z%{4cvxVDvyxw;nDktnj)(Oy>obkev-)}T=UCULuChEI#IdjVuK)zfoxW|>+MKZ1yP zAkc(Qp+R)U?RGe^q?NNN!MH7D*()T0_Yf!*2s13Zx!d2in$zP?D<W_V_6^VsbOJdm=Od!*fqggPlmKp7bM1&J}q4PplxQ(vZ$B8 z6{_AuY3n1R+G;YCG8N(u3&sO~co7giHUX|kWvO(Y}(2e9z}6IKNa${BW9Q86&PV(&z1&~F|7m6*Cj6HO(3+1}Q%;dk#NNr2kd>a5o{>(> z-O`nrm>-6a*U7|;TUk{6-zvVY_=qilKnHFH1~)f1dN&q&dna=SCN3^621aHEW@frC z2|8yFJD{OEot-nuKPvu9hp4Huv6H0((9+(H@E@IqM)od1zONXS@ay<5`;48O|F?2G z=YM1Hg$9GMp{=QtA)S+<8=bQ$5NK&tAMg4fxc*xR{I`Vv$GiUj z1sBZ!iKR^Kz5*z>uSm&wl56oR%7S)~)N%#@5C;A^L6T_@Z~y>8fRw0^s(aSihT9Ld z$M@muC9X#&t<-88a8y(zw5%3KnpjL@RxdW&Io4yl#K!KaM!D4@%LFr4skJjvlo+o| zBuKm7K}4aSJ}akve20&afrMq80eiRJyf+q?+gZ*6kL%8Hhh3L$lp^9o$52GUh{FH= z5XC5Q1%mvqtAE-Z3rUYq|DyrufeeKCj~;Ej(A**ayMHjEZVq_%e~5?ED+J2_hq!1e zg;42#h!>0}=BfOL1+)87GgSY_p5UXK|M%^OV(A6{)gj!zVT}Ks3XdNlGqJT$#xgO# z0`#}fnj?Sqa?QPnuy8sTOU}nTWFF-hU5$LWeJRIOr-HDsute(Y^TG+H3TyNVo^Cke zj%)nC4G2e2UMUqwxn{w}r-V8397YFHiS-_s*i~Fx8JbH@ib{m$SNsW( z4cFQEA%QU?woEfGfd$A6&KCBT0aozD4dLW#==;VW`h8}ikN?*{c`Es`@?s}w3f)OK zDnonT6N|-sNF^xPOvWtfec)Ix z*_#~SsL9ds{^yh3v9dcg5w)FcTgJ5bxQZAqFR$Ky#`uWsH4t37S3i|G{lA{Gj-B<) zin^j@!wTT)=4MZG$MNLk#NJ%$KYhdAe+?a2Q4v`hCULqCfi_uU$cpLc$TZuTi4nQ_ z>r6Ri$LM&9{y)6IV!!!Y_GQ;I_In|5Ky&*q4tkx=vvGAlYa8f{G+^Mc-_;#mmGXbO z6WT^|p7URS%8#eiZpW)DBve$^$;F+^)euINPEv3+H85`OAmf7Pcl(@H-TnW|uYay_ ziyx*bk%UJd1$B1vWz;mS)HiVHE-9g*RW3x9nxEQTYM2f1kmq<^MjN}ED1f%L{>@ud z(Nz`{zcFmCc}ie#HB(*~dJ{+Z5J_X>$cgBGK|=o<5hYbxLYmu98dvY!50hfUFXuR( zg#qeW-4Y zd}NZP;W3SX;M}>m$8{z9M~L`x4=#k7tGQ!EdCU^&{{ed7zTH;nP^PwHiox%Jq`rPS z(c=O)vY>ClOi2S3s7t~~=#MWH(D63y*L1rQ9lUw3@$sHW)RLTS_!!${GfH0~?lw>< zp)Vd2bvU{VJ<$0nlk;{7U6Ik;Kmj~p@OUmoIWp8&xLy%`uwNBXs*YS~r(g;yx$a!H zTz6i=czam7tSdeG(<0yRWW!e(o16z$kquU}5p=|3!1@T6+4J_A_;knMw=>BXk_!Ez z3Q9i6vMwbt2Y;8tpFA?XNp|dX%W|xiwb~fy*@cnTqpcWbCW8UoOsb#N^=G;n8vHA6?iz?>q{_f(pX)ot>%T#&`i9V|+;qm^RQ z_3`=FMCPblz^e<8tWR=tAp6Igk0|NQSOEKIXm~$H&t296rx;RbO*hwhG~0~Oav8L} z<<_Rs`4YnjT2jTLx~-O8B2PJUo;DHJVL7hXcNyyU69jK2A1Q81fBQ`qy><iQ6oS9bz`{6t#vN5ZO%SH9;zbvB7%l~c;aFlSqchl= zw#Dy~kq+jR);1b7O{=k?L=$OD=F?e2L4@|Nv3=f@rvdQ8Mh59oaHXh!_~8qwG4Jc? zf&i`4+(1JWl$Bt0g32?2&mVjrXZkWg>3z=K*5`?g@e%WxEW78n6*ss$mOU4I)F@jK z!TD(@>J~Myu@_lUrfDU^srqwZ@z$&E7;o$IqU&nKeYySG?9VWs?ik%14{!8d(tIp^ z;rQ*%&A`?Y1_OfvATp9RYkIP{?1(!s${tEUK>sB;Y?g-?&VMgSRlc++Au(~SH+cj9 zx69)F&JHp$$xB`ZHAGNkbxis~CJQ#){F+TL_+wsM8-$wL8rx~x35IYP$^6;IXpMR` zeLlY%O)a0jL8=OUgegWJNBidb=N{|ZsM+PO$%$v+?a~i$I>CAdq+P@|K<02}H>y9k> zRP_EN*cw&)V)QTmTw9sucs>vQ&cZ%N!b+|21?xhMwmKRWLo-#pjY)3JjEw~>D=a4N zC`cpe@VknBA(o$+r$YyP0p1St5ioe5!=%?@-dwH#$B45S70xC@!teGjqADj5m`Rhy z{j_j*bvtIkV@?vW_>cP=a+_Hdty2a6n*X~@a|p0|-ADp6@w*8y`r9d3o;Cth@HEwU zEWg>jUiqk_J{s)owXPo@21->D3)~Z0b1)phNA)aX>1dmsFn|A$MQz48;!FunHt;Yy`nMkAMSyZG}1Ejg{LbQ8%eQs`j^OmO{r7GWg@_+wYhcZgy6Enkd zYZX*9J(_0fKl->gI(X|)bym@wK#vAPP*({#jVOaQT9ZxcdX8{>E4w5uxqAt8Q_k=U z&%$Ez;^o)Wtg{nHAsMt8OCRklEMeJnh8(Xg?QWS3N1Cx&jfsgUUqsv~4qAwq6O)eG zZ@A={s(n4m;yvkKPJKO~U>YeTP_S_+xf1>EYdf;NLN#bX;dymKBq4n( zcXSjS%Rks%s-c*4N{<6XuNf8C3932q#*)Z^m42a`UT% z{&do()}B!*hn~0XoUwRuJSJ@Zy0L@w!4wno?yt9*xE}5SB_n09V7vAvPllAZ3#pR4 zE+hH;%_y%vB+@@&*x%jdn9YlPZwF6ksg%8vee>~#vL#!%tLUDhRl|i7?q6dy`(0&5?Z|~k%yp%5)UfOPCzg?IMZn?PNa1p=#;M=pAn(GIXadd27T7qf5 zIbLm#$l*&&-MZ{uO~zU7x`dKYnNnFixYsWB%H?;jWLN%o~CVBLETv47OD)dG(~Rr*Sjw-jchIm*_3y* zG<&I%D@a(J>3;!o;gWZ~=y5KjP>(M#G`Bm&bT0@_6ZK;y*)CrjQYV0BO(6}3e##0y zeiH`k(EI5UGXKoNrn9x1hia(512tQwBaY*857>*N{m*I`zGhGqM{zkk_}8rM&GucA zKmqvzcUTt(h5NiE+cO)DhTF4}=}oOeLZHW9oI_t-Vsn;`b}d2D%9o5C^1J8Yfa6jl z$dlfPWYZs2_L|kP&G{dZl`gV&U7|zs2Q@7-q3Zd~z%KV|-x(F6AHq0Mjn4EUlZbJ}%m)&J5EHo3?uU6WEinLE0&+x_9vv|_h=gM8I zCtr5oF5RLye|)F)3?Qh*pGfR(4T6&9>@wxE{+_k%t%c`$0U{cgJ%m>W!l~Qb^^KGM z6^Fp;`t6rFcGU0E1byg>P9rTwhK!SJ8Z95rr~+-2k69IWizz@Gj@^q6SsQ2Js)I6S z(jvuh^X==htFL~P>8zd))}a6{!LZ%Dm3k~HuDRTS>&acHy`LEmh1oX+(g`|Dib9g& zCeyPqzLA=BFuB*K-Jb*vR9+mN8^X|Tum|5E^-71-$A4bDV-X-mm3H!^tRgp?UK;!L z)|H&I%8`sUaIknr5BG1z^kKtBDQh^_FdwSpX5bv`?~m#_oBh^YT&|z8YP#ti&SeY9 zn%rnNz?Vs>ZV}e7j_KTk~UQ0+pycQK0fuXj;qfqHAxz1lndS!~QF&zUK%k1@SJyju+D;jruPZuQ~H4i_k}hg1a7_ zj^>g)AEI*Q;l^i)G}lq1jgy|5$?Z3`-eV(!ig^|z18BPp*!DkgEv>8yKjBHUT!+wq z42>Az&?M43hZS@E@{|%#=h*sFW++HhIucwmzjIg<^zWRvTK4s3f{G3Zt%>GvV9!De?)q;bGEpGrykQpe(=)Eu@wUWn{~@EkpWmXIfoJ z3sG*fuZJp7t&Jwe;E(S{$l`&|K$v88erDcv#nMKSA?QSril5CB)QOlI7O~Oq_CMBU@{!M9q3`h*v4FQqY#$jD28N zR>ywi_@r&oq&UZe>Ow^OgNG`V%KzrQ2a&^!S)6dohk&$I@0G|<~kM|D;MQbWqfr(f?%cNz& zbN=9V^Si%iC#GjKEk7yCHZWZefu1=!!x+%;TtPu@r2S!c`4Su$XYlM5QO;8Qjd4Ng zXdH_Tcg!6fygF_gkgk_901KoeA(8Q^ueE8t1KLBCg%1M3P|;qXBP)7d12rM1G1rFz z)^Y0ynPCj#{Fl8taJ)y_md-U zTCa!%r~A_g{Q0L@d$o|cyd8dQEJ90Li{cMur-gf*AbE@iESc+tCHr3WfnG7c!#aj7 zQc5etAjk&_PXj-rmpC&aSzK8BY4fcxzx_{sPU-T^rynpC6$L%X!%B*RO4y5kYRV;A z1AAwFeWKH8!*`}J6*9QqQ&s8aF3zLsj;~H+41^tH@TF_L3+xj}&|9XKb0TrQ3lZz^ z#ffX3EO|eSX?S|3jw_*f|@w{>e2GR};XPaF6U%WjR=GaiH3zm~L zW`-KkZes}W^f1uhdUo=iD7L;Sj7IvPB@UT6yQyOF@truZolwRo)Z#Eo4*iR2nl0Jz zK!4cN!rY!~JJr+DtBhF@4_e58e7R;lA4R zAEfyC>uOWuAg>G=6fOu=H>B#KUW+| zRom{RVH_y%5p(hvpTu&S6Fwa|Zhr{R2l8+iFIyeM2C5*9(d|;{Y~h7j?}!5~z}uX; z)(H)gM!Kw!=xE-$jm1h27c3hsk7rIC*X&S(%S7WixDi`)-ajaj4??iXZD3^-JXvBT zLor%^{d*e6G7j3+LsoCc8B0g&F5zLQY=MN%J)18cdoZKb4@P>3JTHP5Py3x{{HY|N z4Mr*hmhL@ZDj{^$xBxkLj2!MYC>VN} zyo~%Bd+f)pV3_#m{vzVsY=B6Xe7?@|QCZ?#|EN>ysXKg@986~jefv#0`Q+F_H_}3h z7<1sDGJDB_e@%Y*)E(A(6p4QA;jJ(Y`Bv{l7QT#)9{Z{CDwkGhIV1@=d@sW#Ku5z| z#jK&f@{w_9Fecw~g*#!)?j!%|@!rMN{T((3;JC({6Q?*!2 z&?IbYW>oe>vY_5ktxEE=7rOlP8l})_ukwD?? z$Wb-5YEN*x8mqF_uY06qX}w$jbpA-26(T(~G&`GVFL(_Xcz}WWm62|=c_{x-4lJOw z1u9sMTCncexR&JQUA^R}R_?9WWoPj;Cz=v~L0||Qo8QhW5ExDvcki2*$K8ZwC!?Zk z&Oi+;O+zL#*DP<&&){|2!Dzc6ecNA309HJGdor3ir5a(ddvWRaHQ>D_qHdlS!CiWT zg0cCbzkL@lH$N!Kf>@ zzdLv!W2SqU#}Jk9$K!MMhcDlFazBAvspPD~FR+c1Aurf>skRA_N=jB;epYr>=V_7Q zXDP}e+=s&^_^GT~MuUZ33i23%@1H5}yJY_`QI7D^)%WYIh63G~m_rN@cUIaTVyhm$ zUVlwW@e>>9$a4eM-%U`jpRuyIvxmwXfe9$=PVP(WpyCs|kZyOqP5i0RxOiL8L@n$a z_0*gYVTe8AQ)Wv+rFgMJFv#q-J5dwDku=ujOTd!~TZ zR{%lAst~pOT_$&~ub}ZvnI|ODI;(nF;OHn4kMtLfzIap5rEw_@WT-VGD#GjK17jjL ziPy@X>u-&D!OorSkFtw7heAa`cz}U$=IEF|7|*MzvF`lbd7vt*yAuC1?9Stfw7r?g z_#4s4rvPi0BMI*iMKit*>l+mFYu(5C6#808vROgi-@`qTh$h@h_2FQDP0v;c<7Q`J zCDbf91XT6kxSsTd#Fc})g68^*I@%ZQ9*8iCinf-stBnOUhPZ5A3m_p2pvSJ zIH}Ilo1y60Bt~IPUYSv6M_9l8b5frx&)-5mcV~h=e11^!HwSJ|ky!{@KI^%9Ju~rD zaBL_eD9tP)pweIsCyZ1t0%*PsCrZX;NKPv%AfTadCZyDoWXR0}@0a{s{uv!?{~8_I zkx}KfwZlupVM+5W=P=yaS-6hBe%oun&bZbkCw|t9V5C%RjI_`Eq?Amsc2UX112@+23#8Jj!eKi<>k zcjxo0u_ljc_lWI#xAAz@7`p=7f8yf9RhP2XaVXF|?Ci+Ql^@f|as7*7sUaVm3rUSD zaava%vMzja{`!h@r9j?4?yCgrOT*ujODN9r!<9Kt(p}VH`FpmJ*t^Mx#R~znMherQ z+e_@M)ZFUExP7xKZ?eo6aa|E}UOJNs_Tn;B9$&eg z^|GDBdv^D)hG)9k z8pF9xs@nP9Ru>;Rh0^8=hT@9qHCxw;h*YuCBz;{`Ul$}Erw8NOjFyH&)S;K}yOOie zPL+|0XvyV5#%Z`;ub4L1kekCrj=8z#sgEu|*1{tc;Yev`UN9l0@J) zVzoj)BIP$*Qxa|Hkip3Wtm>=;Cn#r^-kwQlZXAks&e{j%tEQd(;}upZ_1(6m zLXTf7S|ai-lS1aErf6R*@sn;zxubIoQCVgtPDO=LU86HI@nCv@n?Ub73H+J+wW<1k zv(K0&4RyI#uZ_i1-dX}j9lZ;`g6PElb<6#mYgF-hCfGviQ&`Ei0+-IxS;2c^J`PmI zGp2K(D)nQH;ciG9>NL{?);UBmbjRx$_Ee)ZnHngCz-Xdz7?YQ<8@qS1U-EY$cnSU| zj?*Clg||Wl=iylM=L(;>KK+o;plpQ5*a|=fnB_NWca7O;edGJ|6b_9F5xyyPl6?(# zs|E==yGUW>(DeF)VWo0o14($R)9v+tx$(faty7$d+)&Y9lysQ{m-57x3wD6OiCEfn z-sqb)Zaw~#AxeVpn{iRcjl0gE29^0OKZYka>cljx2lvD#_6*PXe}%5UQ6Fvl2MLi` z%!BcAjx;T76pRi=yV_xdMNSO(a^xWKF?esxQkVbMdmhrQYZ#u*Q_<9kiXEqGM^QV& z`=!Ab-g?PD^!fu?ks2b4uc)E5#RV=hGAcVA*?OFRuqh+iC4CL+Pp80#JbzZ@NN>r? za(a7i@SAbKBpSk^}>`U6+O%xsbBzb8`&6#ca+-dpTi36jz*YHoi%y^GU zl)a-Sts=8E%q<%5)ID6!dtfQA&-W1QMoCS$O}K3Kcu5^>uLt}cZ!P%yHWVN7sXVb^ z=H&I5? z;rqjxoW+9Nr;Ru{`M>r8%v9Q( zjg-7VAey*A$t06(ZeoC`byfru|6s(~E&+}r7r-}&kR#7k6ZrAG(I?;2L5TOS&BFTM zv`GW8hbHeD-6*=-$}I7M3U=(AidWTxlq|!)HY_uc^Yqe#xUaS+YWeP`&o)rs9v!a+ zO|Ggv}*nsEo-GMeL%)*?S$QmnjWQt(sjA1r5UG=B~VYtZ;qUVJ2PHN(jktf zYq0?m1U*-k&^0ArfeuUQvnJr44$Y@hRlALrlT#tZofo+f7|VO8>C1iK^=4rM+P$`zqqrzO|4TNFN_B)X?R`Fc|616dgmN3=$*+s7N{~S{EN{=&v4W6^D#kn zvs+e33WFV{Go>3kdgHEb8RX2#j>1FQ-8u5{hR=Ol8+v8}gT7@l{$oWs#ywec4oP{B zGv2aEu6TyYOrAiOTf5r;;3;{09LjI@FRHH8@+JQn=I2TA?gIwJO6p`WZ3!U{<=;WN zXhTm#IUoDhhdZSfJlkIv!>p=- zQ)%}s-Gmto^!hHA&~C(abMp$#dQt@w{U~_SDfFCX$!Uf+#+(2zcsK@Eo~Xv)^%)$( zUF-@tA7nEvMOfPgg%(2CK;ZaMmsLBlt15*JSev@s?cH=^?)3wYNSRy4I!pU25U6J- z)Zu=F_f?|$n*OoQd4glK+OJ$rnmOJ)9CyWaKL9EytRs%5&Iapv~)`y4Q{S-^eq zQQ+<1jAL#Nb2b-Ss$caY($XTm$A`t+V-xM&aLluCXG?7JNVXQ>7!wbPxK(+1CuSQ~ z$5+Cmp;%)oDwqkMX;d_5f&Xyf&dtWJ_^Y8Is14i71|zjKH280|ApUQ0rTCDqTBkZo zZ5-~Vr;WS?=K+WHkV|#T&%PIjA7|A`DXMIyw2_@y7!}yDB04cQYTv!vu%xECt}g4d zA@yn$b97zjh7M)rrA)8#EWXwTVLhRi z8Rc<{Myq7M8q`>mvU~`Bm}Lq7u1>ktnzW#$!P(ga%1-;9aS4w-eTOysb|}h|0kc-G zc~d($;e9An!uzhfNZ^^SYpTJu85t8Ea2R3XT@_@;qWEKHAfU60cJsJ@bH^-Kdoo}@ zS1ewDIttR5mY197JLHC-UJXrD3iwSg(P7DGV&fmXj`oed%i$!)=^|<7N3Ob~777L* z1W?%58nc8uIzvBt`XH)%o(Tn3Vd=1kZ13n z6hw%_Z-7Lj%CVWFBY`;|XUA16HDFechTe~1H8yMYaUz*1_2pIQnO1#g+ak+7zZ&kjw&GgPEU7?k{16wyODm(fPs%=4;H4r;0n8HzQ{k;y&gsjV};6l1^>ijNwf8 zMga1cnq$_bB(0a`ZY(B4BD@DJIW9Dt<|>wWk%<)f@8mZ@$4u4a1jsvP_46q=wF7bC zw{fOfpAPG?W`g-G&C$VcBsNo9R6@pObqh|-yivd7{KTux ziq#wHDP7R6dv~#R@Wj-`=)cMo+h$JN0askSNFD+V1U|Ks+{kpLT25woyKiAEn*u32 ztIR3I_InQ7YC88o%dd)DFVn2MhljGBl91Rl8-#-kSCQEw^5$@QK@gVaYB&;5hDc0X z!BZUE@xX$}J($@fFTLOg&P9zL(3w}ktHg70j83x(0X!7qZ<1H6RS?g%NdNUON207b zN;=vCdg`BDoywHsHN#|O0wV9!BQ+PXVHzA0u3W#1Ob;(Qq1`<^o6}56tD)V#YK~`J zj8e05N|{p1V}O$H_>*}VK}D#Gd2LTfY~Gli6^{)j#xS;Bg>Aw;{zSn#i6b@a+Z+yr zy%4Zrb5ZsuqM|tLw%ava4G}mzZEBU(0kGH1#87>^xSUeP_BO@(q$OPpTktLSA z4wv2+-ERDI=F`?oFI#?ZN+ojX1KGEi-FT+|wNuG)Ez4_XC9|1|44 zgT1{k7hQtjE@8g;sFbA;mznz{Kfh$c6;E{T;#=J?S!J zmDiE~9s+^tdwwDyU<0Tw^s~iO`6YHZ%HBOoYzSM3A?nFc=1)HDLUBlnjduDF^YEB$ zpWw&9ri6pUt}G6k!ZA$Ov+#G;w(oVYc$JY%c$!Uw;4;1mc(Wu9Zg0SKvur!zpV7Fy z`bYNA<&$9pztvrs$0~oyIvZtYe#0XF3O!(o~l`NuS#A z%2eFXW371R8;{EmfhO5(2^piECoVg`>MAR_gRlQX2UzN=`?Kj=2^oULe+7)*<&qy* zra9Z0q)WT%Mxok>Qj=99VjSW!&o54Qt6qPA8_S!K1b->u*S`AT%1bnEKG-+P-Ti== z-&cmDBqYw1;CI;{`$0e zVB4(Y&0u%pgh3X3bE6-SrRA%clraR6tt&eN*N4kCy@60Zzyo;FOZ$p+8&A3(s0vXv zt1^*aA7Ce4{6jaQ?BZ%4#^6nMU?Wl=qxXS}ETw=8C=2UDg)oEaSIZRvdL=IkDsS0h z2^O#RkTI}fut54)&JxO(90j3sJv}|mE$FjfWYhCr0FV*vaCc!UtLi#*jZC(^;Sl$r z0ZHUA7SJqK{VQewN#zytrbiE^fl&7oV&KWEwIhvKk;(B90RQdc;zCJTRoA(tM|iSx zkxcTqZf*E4j}vD6zGmk1pdVvNAaPtDVnLPd>h)RItD3I@5sdRO&?fC9IC#+CLe*Ss z)>u+z+*(X5&PLj2R!2+>U!_DnAOwOj_T}U9!WKZO2wStm$H&hyBaWu-vD+L{S5nR_ z$>haDvP=?>$PmUN<8jwZ#89L9hp5(dt`-v~omdmTnCe>m5A_gAx?Jm1HExB?D>*pO zKOi_-=5?{=Y}0f!_>SQ}bLm&_Y%#jw;)n{+7rN^FWH$QG?=B4`W{>yn7n({nOH>XT zx7v5-ReHAm&3UaB+uwfrPpAL+fQkRVu~h#{k{yr2&CRB-Z*-n1*li32GXV_*Vp08< z0!!8Uxe5 zX*zR)3&l#}E6k^f8{KXz^#-xbAhdql?4h*w0Avxy00b}Ha}l1lh^R};9?p$OAx&AtJjX9 zq*}|ttot`#S2DVE_aC0u-;e+O{NDf0++X4U-%c+k;%oG=X`GWc;B9>Nw~K$)wDmYg z?EfDx`Ty{9|9=&@|4dsmBaUNF7@0J5Zk$Zp|KAIU!wN9G_g`{3vjYYyiQHzP0*nZL z`L88)1uoN@Pdy7Fy0T0$$ zr88B*^7U8~c{5o5b=fDANm@-ucQ?0JT*mAGfk#!#MCFdXb{{GxAGN`$GV3Hz{*7^) zH{G-1EU8uzk>(hx*x7$`W#j4E+`2)5$CllC%66bKdmM22>ixKletTUgSxf$qiPp67 zLlZqgiGZf-nZ6_Rxxe@`*uH**hUym)XJQnW{cj6FZ;0pd!Ox^YzjQ^rg?a@&6xj#~TkTN@Dk=IDoEh(avTnQskiGn^vjO?3i z_up-izcw6Qu=32CZ;FVU#nqlIC@ab077CdRLV?uMBzjs%Xyr&_xLv7}AGlm=hBtOG zxo)n#-LW=M<_anFcpFXK{c3VB!rGWG=EgkubR??YhQ#7BJzryMv$?Hgj%AxzQ1`DO zdXhLcW>m5Kwv@FP?r~BrRj1M0QsxJQq!UGgOQ3b8{FJ17MY=p)X6B;983d`uCLY9z zkbYf%@WI2S%mk!^)R@iHf`Vx<-w6tuzj|q7J&<+L7(7lZsWm9kbUOB=d;9a{7$J37 zO9)M>`PD8A*SyrC?FriE6Cr3wRbP?y=nb-G0Mkl}8WL_IR`Bp!vArO<7LcW@O>+rRn&G>|XocY@MU|TT9w{9^HE;iF1-srh~e* z5O3=hOB1Z-(wvqpYiYXM2vybsZ|{zow2i4;coeMX_x3joh$c^@3srAR_&O#!B+?Ep z=vZB;WjWUeZAxMaOPqr4yy%G=jvM8)%PPT^0@141U7YQFO43zS+Dp+oM&Fm*>+&Gt zym~?LXoDvqIq%JEy}2b$&)u~(h(l|=rZqO;u<(4HPpI4KHTL~CtV}o5;%jrZt*_?o z?Y?6P6fV@7gv7-{T61TtGuiO=a%fS{kS#06z98n zSLSJ#0?Yfb&W>_PVRCaxZZx05Lh5NG0H0M1*OB(>QCFZN4*9ay_d?>_Dcd>zg``5{FcyaQ53#vjVDSr z?pF)#h2e~!{vLbL%$|If3fN?T^LW!(YlXpAw?8Ll|8+;Yw0PIv(Q!p$**jGDab_*W z{}OHE&yU&V>*Zl=zA&9nvWWvz+b=w|LZ@OkqU}vd202r+#*hg=*54+g950*`-8Ra8 zbC1C;^`~RKDBD=uSMeWC?C49=;f8#8YjqPmda7-7`Wtm9aV(wL#sq_-JBMtk z=a*A&QlqPG>JN_$Ax1H?6blI)ser&$j6;>~cI;YqbRMQL@MoPzqQ^PS;cL&ZWUloR z@fK-`I*r1XsG**bfN$x%Bk$Db$L*(ux63o1Eht=BP6ruNZXwNBa(dn9zOq6xoJQob zaE0EuTbinsoO8XfCnj=ztl}>&-K>cgf$~s3^;X3>k7KjcZB4;6o4%6u`k^a*A%^7j z(D8girMbtV>8sojW!G>*-}ZBFelqrf5t=H8VGYiF<&4Y~L71KwS7zj>%C=Mj-}75U zij!FM2Pptjz1=<0@N-x#KU7veSSFDesIXc&ehF88S!@?IGOk| zSMJY2^R>Qp?`D2v@g_8zl#Y0yZ=0D^Hf=>eTL&*4;U2X%w~Dy}V{!Y-S&W%f5LVCZ z^t0()L(=8p3FX`V;&BA3acurx-vQ!>WUfe$UN?uE==kg6W&sY}i5h%~kK$4r;qsvE zRd}F=s)+Tx{7lLGz<5?qxsrs-b3>@WWCC=VVC%-7HQX9jh1c8H7DeqHjQG+aZRHlE zaD52|^Jr%yBH#50^)SKA)h}*n_C8FM-Lw|A+TESNy+|Jo>75Oz+1UH=6s-gUX1%(D zf9ODYJf49-shMw6OC($M4cs{zDMLNH9Vi6(2rAkZ)Tkxg*Yu0CnT;qy+UCbU+}X%8 zhky4?-~hcHZ%^Zv7qcFqR4IdsXKl=nW;EW3eptfow%P1rWnFnqU&SuBhf2sF#A85( z3f~M(RS|24yqzhV>-+9Wf?(xk{nf4!zI9R4EJ0l4!L4W&iAO$MBGEl-Cx{;~|;Q|moxfhg6ueOCaIW}@x>MOr5`Eh&DZ%WpG} z?Lta-eZH(*P-0ctw<-J5T0R z+%Kn_*Wg)CY5T;U>9UI0?Sgv$2;+mP_Oo+`ZUp*np29u#w(v084X#3P>t9r+I!jAU z)fg2C>{L}`!^y~d;1 z>hC}gH+5XD2Gc}Z;v-u@SCQz~3I5WG$0R&xZELzm@j@-XPX|ZW*mkheybPbuFdUu+ z2tA~Fds*c^hSFl#DL+ASn6mV8m1W1upE>CnEIYlFy;Q{E37}Yl5S-@fvN8=u{eHsr zwaTI1y^{$MLBL~0DOm=VSR4JWB`?syO_}RzLq|keSxLG38!OJ3_nXNZk%5Cw!{y&~ zqM|O|Pp3Uu9TwzMcfOR#sa6jurqr{KwPdt%2NYM5>}nNhxuzDi2S%GbH-H7K+VBjG zD9+9vw?!FGviOBkEgiB`+@HSlIuEE*Q^)N(YZ8B1Y`$)J>r>~VUao#|Jafu)JhG(V z=!+dq?&gyyl52T;w#@%{g7QJq#bko&lBK^)ue#Sg85v6;k$I@EbaZL!e$mY|Z0m6Q z%cnHm&OvX`cinp{A~PM}B*8ljoD6Pp+u2UVZAB-ah$XLRp~q9vxEyYl&DMs{WAn>? z_aF-%7X(eL+X&p17c4%X^NmLfolWGbnQHPQY>Pj(+w3j!vrqi2o=!iSkhD39kiC?{ z=S=Ng^Uzy%^yI+s>Lgm;$4zg$W!Wv$OPSl0T8+LQ8T$5Nf#769vh29Sd&a&)?*;ZE zR~AGqUEEzZuu}*`_2_j^_Rw<7pVnz?XHuO=Pr-xaJ07S_@<^m4T()}FIQ{lTC-fL$ z4k1_q!==ZG3Up7`$~ZB9*=ojVSwzxFbN0pozHqmBS$6dBg~or_%_pClyK2jK*6je> zrlP0-Wzqz*TjFPrh0gD}W51ja8$Y)mJF3cxVa2kf5sO4WB}tg1j!Cham6lN`LL~r4E{7ZDN1uN^w`o3AD`o2zmIBZ;t2j^rW+Q#^>{VhrtLbcVbfsST(+ zZEGx+w=^f&ZNp!Cg$gtYd8X<Li=5V1X!y5q(w{lJ1v}Mg_bl$h$ zNO-)~t{ytGQR|tH_G8N`GPosJ9=}((rZ4m@l(mkWmU;Kge~_gXbVcc0EWJ#k`3EX> z)$AVOr*iS7gp%+P17`_p_vf4@FCf$G$O!<;a$o22+~q-H=9=E=p6jKBAf|iw(~v09?WTth5>`*pdiFYtg|xq>V!g}%#gi|# zlG+--ug+mAJkrmOMveIn@ zS?{`NxeLPDMM3H0SPgFxxTv7^yLS4^E+nO+bB{rYU7p^H!7L8?BUFzcc2uH} z#L^jKN3e@u8*gd;w(+*4NZMX62#y-W?8o{jl^a-uOf zyHt$4=-UN6yy1d00Q*tM!-WiA`2yMYj*pG~z0qqumyi+*m%4?;)r-c(#nl6wMSE?h zuo}K{oELJ>aFjkaCLRc(Z3+EVOy~D4+l;X9q&Il zVjx9Xs!{Ynn|fH*=g=l3FtXL5n1PO=NpB_9y-8vrz*3 zrV)tz(!YG$e1^@>PS|8_0rQ36CTX~j7^d_vy$)~9ZW?PBOc53<)|H-YMKm+v?oX%3 zdZqL2$poa;oT)^YsJmR|mdCsJ#$bckzN+to{CIU54qfFK4f$p~g>Rpv)H?~3$dQB2 zml$nzNLE@(U3rPRT!iLc))vkFr#ljz!zSC4bJvsnGrc?X0^+q+x6B!O$S7X(B4fD| zRg?yY;&<}`gE3xY>fWq@P-4>Tx3^dryK7%NmeSSnQbNf;%PbGkmBsN3)YAxx@C8-a zuEJs1M+?g{P?kapHj2G&DQyJW_$(fe3tSNqnubW_CJ0X592XsEg2Q0}XkW)8MA6Hs{Gl+~rYSxt}%o z4$ezOoJRlU0^BOpN+b%xA>(cxmi}643S1XmlBv?RQqBzlwgO-5f^Z?6J%ifPrmQ~S zi>Dk7W-WbHLhuF5XjOlBAeY2_EUu`1TFh^{S@_0I6&KQjNAf-}{7tw#`(-8UWO7zn z-OY8?=(D~_EHZU7)LguzFiSa5l4w5jWsv{f-GWY55tN~g zG?q$G=lpYo%AC4%Fi5wD|Kiya_`z`exY&X? zdonUkiI|^$Aw@+J6>Cndd9cuIW%5}7O!8A#%xxrakawG3oa;32`wc(Olg77MYf_^O zh>2hNgEPuiH2vD=i7lRJQ;O9tg(mWZtAuG4nArRjH~N{1%&4ZRJi$6%xs%!yZ;?nY zzS6xawLAWDYbD!|n4NuhDbb%NUky*5Se>4ZePzbwZL|qTrU(edvP8+$l2mR>Q?b=9 zN$~ttg)xGersttMrfwBOJQBg+r43i4li;s<7SV<^c`_8=5nJjv!3m*;j9P+UB+J+s zSjPKRpCrj}sLIBqclV?7npzH>y=u=Rj4&YM$t-YfiT z(Ag|DA~`N*ir!#=IJnx>N&Ri?u2&huhmMTe4h_Uyg1YZRS6%icc9@1aIhoV0<9*6V z8_R5kq{kP|?Jryc(Kjl&i7K;s(u*>^t9l9|w2MU~?eWaJ)1Q+HFDBu3EZhj2L}{CLu+2Lh;+RrRD(^g~_o&#HK7)#yFco z>%LV5Ev%hVa@T^)vlh+s@TkTL0znlBsgUjik|N7E0i*mxZ*ratoqi<)h>Z+RbAPoA zzh^g{PYSovoTzn@bPu;2wdxFb)$Gn9`Ei1Qf*yo++`qAjYc@_irKV{iY$Utpf3b}N z3uI%=qS=SK{p#VYsP_h+kx6;W7V{sOVf53$@Gh%%ymzRDc_Q+_58dSVgj^{%Z-Mgy14=SUfVMz)+r7lral3^dAlVCZ}J0ekuPZ94W2Ho_;dML&e&h--+M;r0cCU*26PKx0u>6HH}# zw_P7{S3?h94viux6JyBtkNDLEOsR^g4Fwl}W0t#7W(e?^ zHs_!_%f0QqB4U7}9(NH^3D{|cHVZc{l9H2f`S|K-@_1t!JRx*+uln`_q1=;MX$~@< zRk=STO5v!qM-{8#OV^7^1Dx%a2_DB!Ja~b~o4Qop_j%Fvb%X#fX|JMJv4(Sa7bycT z7z=uSQct|(2=+LLo2CsIi#(M|T>5FvD6%(b_O*<0BqzZCl{!Yj9-Mz4fqW;jf9ae= z9VhyW7mF(v$cLsep}45vdDWsYi%Bh`-h$X^@$OGJgiy-4mC;M+@s=n0r7sB1@qpE{ zK++eEY0!IPMH<*biomt~ew=pJh*`;&5HAGpmoxm8eC+uy*Sf>aHtmV~S@sg-{#m|G zp$DKrnP=U?4Ri_@mBR9dAHfU?aRl*lp&XofB4V+a7qxWkOE}jnYp4V2#F&k^C{uF# z!uj(h2$<~dtZZK+!YoD;hZ4vA3R07=JgnX%{(M)U8NM3JN37f&ZoyrLDW=}l-J_Bg zTF_yT(=ju0VJ|Fqj8HwVUtZHabA_YWVvti=)2XuG5!t(J7ZVNTySu7lWkmIaqUp>Ee!b)^ZErCzUpA;03uQ)TJQiD&GExa_)F>vwCS#VQ~ zyYIBMn8Va}(E6w1H?)clc))pfTa4_}sm7~GR4J{Vm4#YUa|Hzu+h@~)E`x-90(b+3 zU)Z)G-LX`tsc;RUSSreR#9ftP_%tNQ4-^8i<-fLHWM{9aE%|1ZceYO5YcE)ob9P~N`C`Qp6SO~4ekXf5gi@_)nd)7`eFO1`>>0c7TOEvVj2x9gC_Q_qs*OTxj;X)bfQ zAkJzuqaBkoY+!}id;YiVLsp}8u;C}zvS>PC?>lXQBrYe$OX0HiszjO@B-E~)=_C32 zw^7^A5UopV4S|qF>4K@m=NC+?5{*u`Y@ppYkCCUVNBy~)im(S`Bo!^EBROAMS}Acf z9`A$~6xSGIUyLMwLZWM^@3d=8`YOtvhu?*w*t|S+ zh>1n+`$QANiFZ{d^>SwHJ^s{b2L)(V{mpr}r^-2WU~t-$>?<^>-YKAoD+u0R`Vt1aodz>}4g71z&^+n#HN(s;wIBSV<|?p*(Ua&7wS&eoUG zDK=fBQAs_B)GR#=Kb!_t%J1Y}w&aKBw1D7TCHrf}jaI4@Or`5a@{@g4ES&Gm-XZTX){PSez2L453Gk+-6tAd^J z8clRdsfd=HfvNLFiQHZA6(RgfLyYkEFdBxWm?jEvirJ=O#4o?A0nHE<;dDX?%L*K8 zETp&bw_#sK7)0XZrAu=?66Zru9duUC`8-yPoo|ZlEVlh)1p|gsh@ny#4LLb@nPz+P zjPmhlm$fBKG_sAghu`>f-l2Y?`M74h6f>%Byua_8PZuJ2tW1JF(^JB;xWLs)>N67+ z@0lh_a`93}i$WIrR--lk@7}h21+T2QQet(rV>Pw*sFjtat&0mdn>Yx}vYu+J+b2g( z!5cMB%lABZ7B<$*#0Gd8TU(B;;D(f;+(!D5x7)vI{g-*-nqa{Y;y9^HD^XtTu9?k2TN#zu{Wy#15 zRyIebYa^{nBh}S#>aC$_4WYt(Ra4pHmeGgo8u_6*GJG%F4X{XG5P*g zJ$TP-s+h-$vF@p&CLe6P7CYNx?nTq-`>0ulRYls8+ULpwO!Hiq!pUi0^bMcf;*jfg z?TzQyaDO%AtY<$pI*DmjqqvH-xy+fel|)w1U!x_R3jZz;9_20*;t|j;WtrIBKuW>S zFJM=}C#%9Sqn7P3TM+2bPSfw^`XriI9cP2U-!4Jc>M2V6{^B(TM?@7wG1yN)|hvuD^>#uWyO; zO$+%8BD%S+wG=l4x|;t4miWQ9dR_ z-Z-Q+Pj+{$-WghHwJJ>C8KoeR(Iuy0PoAqMEpEJFEl}qdfrMALSmA<#8Gn6p;BV0? zmmOwpvQ_|>N3fzX=nm2GxoFf{`6mBNP7+BU&h2}90xfe69Z|Gp^bzgHW^o<(tUpV( zpMe_aSb}Az^P7c74UJ>03K>jq;KR)rGWB!nuU%-?^ltY*Q;W_NZH(Bfn;|X`=nL z4UKGhoriB(Ymx=m{ImK=RiOaK#|12xBwVla^kuDIrfMQ(5!;hEhU?DEM z{o`Cr2upiHK2``%8MBGyz7<~!+DOzkNxKdvJ=&X3c2+SXZB)ANQvbVUJ2fRuvCU8V z!gL0&g|n&gF}Y-^9LdAO;|UrX8XZF!p8rP~8?`Ro`HIlQ2j;aDcGD^tPtBIi%zj8V zZzp|xLL8n$Xvx2!x=Z__*d zw-uFjw)dg@)l6M`#xN!A4#uw6VsCp$gQ|u$F~WdG6`w17KOjwWvnRNDc(&!(aCUlA{q5n3HefXydBWpNNu1C8{m7sH zlW!jKcbHA8m=iOJLmyvLJ;6Z!TJ2_-)8pW|_^}qbOSiK@9?$)kDB|;djx@UneyKVE z@8gYd$-OHF)NUMc=7-FsdWeXg_|yCgCWFog!!r(RU&GgrITVB8QYJU+y}(wREEG;v ztd1AxmBAN*ojQ!}Z{)eHJAFQV2W3zs#ryhM+(vvV!q7miA(P^)e@}fsV5?Y!|6)Km zm`$I%5ky6w)lzOQnAk5n^6{~gb;6=n9fvo|h0!F)9V0sr+M960DHkKDFhv{31nq8s zSy*Bh92;&gUb0S2@Pnvty)-|;%2(OLmOJCy<8gHHbPNacm>Z#NQ9*ib*M;!`JQcZUqWxXNfu{p)dNsmiy_+j{J`WS zRH8wYD?%)9c6emqa{ShUiXoh$$a>6|k77r!V#Ys<`Qhpt&3T@RedwFDxsxsXuhbYO zJJ}$+T1HB~fV!~)|QuEpOFl3qs+{sz@Y zOw6>nqAtVEMsYH_I$Nrr*VKE@_?nF;?kLQ=Lf|!V6{(K0e#Xif=L1x4uz2AB7WT3` z=M!?3U8lT1zu+r$Q7zSdz8J0bqgC#C%(NbdeVK~0uzwPL z3OHQx)xjP)+OjFxT z+cZ`tCK8gTwObj_Nw^D2!LR*ZWHFj)u-=|~n0l?7w9dyWco?V$dvnF&U4(OPpPYn= znwchrZ-&wE+Uh?5xwpQ=|I~jgOm6+lgzEARv)Z+5evtEk-E)>-e?sdHPdg)9#+i+I z@-Zhi=kM+n{+GYi6JgZZVbJz63rs08{-0YCJQ<85l&g30_@#5Q#cx>%{xK09Z&3d! z9XT6)@buC1OhkM3Bh(y2gAvIZ*85x9NgLL` z*z7qF=)mavVsw<09ES)0=G6W+@UW=Vf{ej2<@D}h_y&_yX;%4P{3n>MY-8!aueNr3 z^*;(+LQmfQj|!Ca8~+*Ne|onYj28YkQw$bI^ZnnI54#v-pZ<>un3`$N{zrw(x@HpM zZ6)wD|HTm^H!m;UK$GK6-*!}|jiK^?#`{lCk8dWj{#_Z7Hp^ofe2;q@$p4RH-zZ%cXsaMAq)d~u5vNr*RNMvS}6@y!rlNc zV{G?qkIyy|I6lz$VE*6f1bPkJUC*-^hg6C=BypVU?cYe>Rk`Bs%s{`YkUoe>dlaUkwiS#7_RDNO%VX3`$PwegO z`}+GS`S?hD_EJbmN%!oWOCzcrK)`h&A8(L|Fa(#`|1HagxpUC*m_vFIa85bX)cni~;3c%M*xgk&`YX!+bo_~|30_&MTTl2C3`U>KmwJl#mYUk( z?vq;0OohdvATlPYFq5wC8M1)hYCdj>_&-N6|079{j72(#{={^;Qd3joq8>YqX#ZOD zyWK@c?b&}{p4Iq&TK4(>pPKxCTlxO4Kfn?L&bFhAOXuQZNh$bWtLj&esy^+6M5j2~ zAM|j4GuEuG_#`XKfEz~fS;pF$Y*y-Tl=IIWc2)Ieh^d^MoM&hIGVwBGcpJmX9Jy{) zdCvk!Y4+A>gM)*23jF^rE!6NUtK_4_hChg$T{jV(b2IY^V_IMVDA_1(ghA;kqLIR zVDlHhUuf&awqYvMSe_~7JD}u#+r=$lFt5~lcNeX(9A57P?K_oyZnw6$GkaB{<1H^U zku~wi*;;13i=Y)OyAp8itstjn`k|_>Y7Ig|-nCHmg>2@ZaXzYWDTj<~4kt~t=~C?Q z@DL5!+dH6Q@r*PCett4vYbGtbd@$u;-_g_K|7Wfm93(Cdgg$@#sIRSjpLe{ua9Cm4 zEficSy*oQrA$m&(@;a$b^ovI)ZE9?MWot^IqQdo{^hHWa|M!aCY<2kKfarYVIf>hG ztZJDV8P>&xUjXu~LRi!aiS67z`_wxKavB}m=ePiQ9p#e&x%kDrui-GA}c{^tD z#_(1R*Yak1EEu@A(;sU!Lf5-AmpI4*4~Jy%f{YKaVqMqh1fQj)vokWDSXfv92JGnK zBuBfc7K4aAa6DUls{b(a#q_K5ml=(#-$$xLrC3>6@r*)Li&>C)H0vy7)_=Z7Lqosb zFEfIA+&XqwmX0EEX3R!yZ7lE0C^EH5DbLPij}RRR{2`H*bQ1!!srG z!yVz!mn0-4z$~(u-KoKFUh%woVQP7Qt;=pOk6R_YRlCnugu5LY5~BKy2Z36alnLAE z;~fef0YP+9lDN4!@ynM{#hPtV*g_AXEZGt#H&9iefNwM9dEd}Lmh7WQOiauQP+RP~ z0G~~tb9bArmzUrn=!(T+)=D^kGI4ko?g&`fUukJ0LFKk8r5e8R@ie+#7pV6)7lppW zk4=3wpj5+sM603LM;CH?QO+jUZsMoD5vtse2aw6_Suo0jNbl8cdQFar;mQ3SlJVgA z{*Po~XfEGL#RGA;B%C~V@ z+Y(52Wj5F`91;6uKPPk~#N(A;W`mu?Wh1VnR9#_tizTGv`2hJU)C3AhSBIRLDgLQJ zP$+R}ZK=^FE3 z+$Y1paepeUG?jO1;O395K3-PL|2_ibYw3ER#nvH1DNwCH5u6@jI#$Q%{;x! zsTJ?OyayZu8me2?y%yzqbHY!+sFPz9g0FfH<%||K*;QeHPc)o56&gsNA52FJwsx$pD&RGOf87OM#<$cj@ZRsW%_f-(yx%8#q<1^ij04o)9lr zjgyHffm8O8m&161Uj!CM+F~VeS0Jee=E+C<^i^{xJwi8-*qX`Xi#XhMIax{qaJ;R>#3 z(>jxacyqbdz#}{B#9@tEWik?Z5SumN+1%m=|GD*HgzqK(NN>8=$an_5LH*9TyN>I% zva|JW=$6yh_fbGQE8`ivl?U@m<6byiWgNRR^mz+4R)a~ggB5jkiZKxgx9YkDPQqbW_dWY;~>T}CFjbT=yo&?3<7S&z``F*RU^d<2Zl>#_&^sZ+)! z1D-a|i?di%Ha>hnw1ieC;?Q(_k@}idUj9Nt0woDJ8TuOmvHo^sfgZ!%659N8OUD($ zy;x)TK6%YuH0^ z0-((gV3jh;_g9206)fwUn|c-&AtpH3?l(8~z57+$Gc_UIyvmLbPb?Q}eSe1F11R#T z5B_kn!|0+5tJBF_gAnlDkEi$y56Mm>oc3@9QUJ#S81Q5a@ltt?Zk%0jl+UK69r1Ee zRA2v9$b-(nfq+L)gzWEc%wxrc*f_lrYu|4VyGKSwU^hinfQHell)|>hzv=56^bHR7 zPEY>?+!TxZ)boP`0dxt8UW+9eWyk%A#M}^qlMYD-NVO5TqPe_0vaIz!+@|#o3fn?M zM~9T#v3WH)JKPKr0mlA4BV#+HL2!S*)@VI&btsKzaj&`T{i>{%7C*y+GrJ553Temm zv~tBz4K#bFW6(iY_1PleMdn)Fe7jlX9<98Q|H}nXEz|C$FKf+we|rIDN?>)%f>Z(p z7~8a)j!zfF`YP6Pa`U6ob$voY*vQGr&kh#?zTnV|H7H6{jm8o27(WG!2dc{5(c-KW zsZe-V&fCq$6F!g2LmFDz#GWvc@j6+XG`Ag8Ks~|+14#KsY`pKjm~Nv^u(6ts{Z5VQ z3^?6mlZ9*0MPB5Lq)B(Jp2%^RmmmLdW%2SBoAfOY50VETpGLK1 zdv$+w{n~}PDLZjbX!@s5>uzf%tygCT#v=vSYJnUL654|`n7K^aoR;&UZQf6UzVsWK z#HSHp64$ToF8In*`LlV>$*tLx7Vg$OVpANOOm3E>JV#$s&?0qnyPlgIlOyndOayA@41X=rLj$D|AiTnhX_ zFSw^8sUa)ShUc8t^BpH`1mhXsJxW0FNl82g#J5v-?l@y^h*qdg1o)^p8Geq8x6O%nq~l zEkNjeUnHvMVr$s6T_SihX_qFr@Sph|FQXi`N?Thqx-2;e(a5H%d~jiZpO7um-h2cl z-Q>T|fpC)T#Uj*)hGGD=_UJ5StAA)fVTjM^1|wf49SC4C?^;at!XgZSa4a2kjE7FZ zz_Or9OIw(elVcCGB!qw0eYxxvrMU*Rf20nl z=*_3_{&xH>BsKLUEj2b#3=r6Z`ddL()>231u%MuK)YSMwZQ8{*CbSHi)!)wNotkfM zG=m9DkB?D5Xq<2X)}_LD;{>g@Obf8HhoGaE*GNdgCqu;_SgR_z0h5aUs4=u#);iSU zvTS5W7E7zk zY#^?6JrAq<5dKcbS?3QR5TaL|Y;d4yecY7PV7IZZwX`~X+}k5f1FgQhpx`#;EXxp< zaCF2NA7`;#stl{OS~vncg)(obT-dt*$9eHFqr}lkBN1rCiXduAqxNau({TTCr!Ac) zn;^Z1k5y7_Is&2E6aU1s)^D9QLZ&bQ^x}TwY|>NRAB>+2peSSD8xTSg`7jx zcVqUw;@FZl*Vk>Y0^72RJ?oqRyw@2aV1_SjI#o_NoW!AAEeC9zuXn5JthsKZR_!N{ zmo+zg&RESAJhz{z$yj-z<7!r_9y!_HkIKcx)$KA3cl5mMjJUgLa+{G;ytr`Y7ua&E zdTrtc*xL0HmnE>>qQyclMRVEn(EOa7ljHmW;lX9ec=|>*O-;?y`#RmkRF8D;YfNv3 z2hC$Stuh?}jT*}!;0+Y|5G3!1?nCqkc5npzS}{`hcOHZ0@Q;)YhHDQZgzpm9M?fJ~ z;3r7vkOoj*X8O7sWotG;!S5!zuKgeS)O7%XO7qOy)K1)LeW3P!s8OpZOJYCH03dHY zHy_F1tLR^@M^U{zPB&6vb;{a6GJ^kZ$~@rOe-h}VfuGwap`l@|X3GlE0PhY^C$QKxpJ|-}d~%V8l_=be!{8zn(C9e7fONy2 zVm`bQ)xoKYhxF6C5MvP;Ant=ME)IDu{IR2Hw-j&a>6^YTi&ApoW(obMiuky_J>iY8 z|E*0M-WJ)KdrJT6ULMYBG>B5&RGC&45jQf5S>o05PZG!aBbQZ1m6QMtjXzdv7?4C` z1EQKgUjb<7q+ODn=IiUL?g9-af91Tt1n%?PSy}m=z@jSHWH*UlmGN7GqB-C(6SQ}{ z&|}?J5^Sx_n;L$&b#Gcr2Gldw)F_F2=goweVYR?1mBjsBPc&fVK*xoF_>t>TwY&3r zh-mUTcXc`r<@aaT6mQwNed?B6rK5acw{Akf%M%=?&kvw20g(p1aQN<^i>`P3kL68= zt^KOuxYLE21%34TM!7aGf!6ySbg?JK(@8a?{7Umhv@9$^qir|h$BBPllOsbGi~0-( zgI%ANi3L{@P3GC3^&$L$rbm4U{#ZoC2||bY*TxJDCB-pYvLbqvx}Z}s!KI}?*81+| zRQBwQ!^ZA(nrpereVBK?)~fT*Q;Z6E*~Bq_Dw{nWr8_-{A*MIVz66#$IxVf;!69w) z=t01bjBmi^)SDH32`Ru&={mEySz5EU(yKG}(<=ZhQncPCiQYO_-J~0lo(uKiLg)Hsd(9ajpGL*Hrp1h5&Z(SH2-rfe#<*me5Jw?z-ho|YS5YZxg_K-j%m_?NCnwv zd1TQN(zwVin>~K?#~L`Hj|>lQByQ=vW?~vu+XOngJ!}<=d=z;j6R=um6%Dx>T&0mc zh7;%}O-p9Wr#;fEmTdrz`=HT)6W#0a=j>*y!bI8c0>coU~qA{al<_H@edfXJ&LrOpYHzI zhJV*nh(k##U>|uj_N~@hLt<+r6?gY~KVm>PJjrec*;$&>jKy%D={`TK^uc|=G`p;r z#>@`hXpvcC;`S&1p!e|O>*F;F8F+gCpENEsMthdwnu&&>s1Oj*O6z;^HAgwy=VoSb z|2c6t`gZaMdxdmmV4QEX^0#9^!6mJ$s+LY&=t zDll|NYG)d(y6SGAuTR8!#p(69VY22sGe+rK;ZknWp6*Q)&qj!Gh4PHm!F{+_n*MaO zXquGQGiP8>^J~FGld3Eb5X*brEqfY3NNidLYZ*vf0hoe|5Zmr+z1EI$z^2*T-Wg!$ zq#TaPxs^y0){cgPg0k6q_tfKZpKD~azkhY^SnlQmuB`{cL`DP#e`U33NNSv^ySx-i z%omljZn$ROPDu%jzz5HpiPO34V7iK?Q#?$$`V9se7R!P^+6IpWGhqTS%3wb=Du3YZ z3xm-?ipKAMtOMDj0%!3PH=zev7SJIO$JyO+uT_g@>m5iky>Mj@jEtNJ=mY?*pC4)G z>}8MROG`)=(#*^Z5R#G%4xsp9AR|&z_Tpat$ykl&I+(1T{YJPa;_*z#ioJe7L~(;v zNSG_-&o@d;Pt7iS>24T-np+scMee!`B5YSyD4#x!c$)h?2>`T_K=L8dWl7N)8+3fl zgWp?u?*T!Bt>NGr2|XM!h@xP#%G8-dewDRe#r)`aT5H`j5p2~h1a`fE=a=%Xe*|(% z`ldmdz9^Xrg;!^%^dbtr?ZSYh07pog?XvYzq4Bs(aXsNg!=0=7SJ&|qrS}aD4aHh5{`qMIt{CQ$oQ|qhp!AW>e*QHMNR~33F=v#9YRUMc$!p!@eks;=3v( zu6tjMU;^Hc!p2g`<|*M3vdk9Uo(sPbJTHy|df+3eyp^`?Hlaj9LG|@l7Nv(_tr9=e zo_E@8S&Kn%A_O|1@w)6XT;_9;G~^!7P*6OUZdVKpt^p~XYw*A}5DzQ1y`Qao?35Zw z1w0A!cJ24zN@uHu6SxG$(Ft@`@=?bWItROIQl7YKov`B^<$u~pT#Z)qNs(gy5$j;n zpi&onc7_qsA0VY{MEbWF*-pLD)6}e+|Hai;$3^*V-J^)82#9o>pmcYL2q@h>Al-~~ zgN1;UNXHN&Il@SHcX!9oLpKaC#P4wL{k`}5zW?}9)F;k!&OUpuwe~ultrINNN=k^a zA`_INlw9NI&##N@v$!*rH01sE*4orF6*e@#uK_M;aByhPa=QGpl75bf%jYCqLRys& zTn}CY1A}QF)Ru+;|3~RO+pPlk4lVjk1}{5|7sf`-`tMP1l!#z89Fnl9DKd%}K5kx`Jtl+jKsK!3h0z7&14} z+05wF8=Rb&*lU+0jEgRVj)mR0z)~2sHZ+_oVwTwoKlK7SCvKhue z(bQZvPxD|)%aFr_BHiGXwIXPLlu+vhFo|pNfQ#Jc%+3-}T)u6JuwMS1GJ`zG9 z7L}Fa{W%{Zq^DoYknDa=R7C#c>2>!?QRW+&Hi|BQzL0j&9HaR+tgn7_^gqM`sQt9x z&W!hdya#+{Jv-QIIH9D|3EU!i~~_``4A z`mjH2Rb+q<6LNjO!LY1M!n-0yS$Qh4nr%bqYP}wt50BAvjEOLPb4{pZGe2BCCui6is@v6dyei;|=Mc;r1XBV?L%Kazwz zRHJL<;^%%m_$=A2H>)!^G*&kGsTYu{FLlc=Yv+_S^9-6k-niJ^nuXcVRQ8w1#afr$ zw3(?S1<(*LGy2f>GaL?oazib-L%`Za0b~SQV}=|Ko%c=f+V>?Cqh(uSQ~Y!@mV`kX z=R`!*+|m+hsH{9s;fv)z`MoWP*<^B=Hnqe*buIN1c6X;dwjmB#t0DJDi5%*l-uCg~ zR@xnBa|_gus3d)(MpCsjveuCE(^#Z-wP}uyNA)}9UF*eg1Hzbx%^J@hKaOxBx&~fU z)$>VLEAA}EWouLzs!Q1+)9s%ThPQg}&*O?*Y#y{0?vEwFgYgXgPUBnV3^g_RA{ZpH zFE20}<#~!Qp@sKQ1clq~$zDGIFolbu7GxBzPEJidJtN~ibk~)L`OLZ=4>T+~I{H_l zi|=K$9b?w-A3st>5N_L(l5gJp))AHOt1CkFrVXv-!UiU1XT$o$PXjHIJwNl>j1}4R z8GxHW=6&8F#um$*_^Z&Hi!)`jbIDaZe@2g)xU3r8gO|ZqSH3kV-!?Ad*6WQt%zYF$ zUT4^XdaW_iBFgkaK$~+0;A87!W!{9NmOO{6qoFkzLW-_VgMNsD0@^QpyA#Xk_3I~* zSv|ki+6WGJ#$wqZLPK3+T6#@=1rpMiQIuGtx?9aXzvq(J_dO@{_jR#&c-@DQ5Tgz0G({$ zHE$Js5UDnJvfH&2&+BsY3+`dw0N+aO!Cf5EkQ-YI`YD7+@A!)VZ0#B&W~AS-LGki6*=FeOSfR!>Bh#qHy8&~CpDbRVgF2Pj z_EeR4Ybp`7fz3S&NoZo%R3R^+uP+}?rLw(c1-1Foe^n}JKa9lQq#-(2!EY56k+o7 zPuHNBVU<1hfgfhZICb5#+yI?TZ3kR*x zbtVxJk@63FvRDF~YwLO0qKP~O+S}{7_nrBU_Dai>f`f~UEB4Wq&UiX~0NNw{H2a-| zlr$nL>d#wE_3Ls*gdb%E@^Kz;p#4`Gyk&RG7a*U#dq>2YY;JJPx%%KTz#ZeR<+%e7 zNl#CosL2kgO59(L@W?#jX>q- zGs5Oa5t}WtBs@*@9pv6#M=eo|2K7SxdcdO;2k{9^Tz| z9o>e1zoHHO3ikb_VB>xQALGUawkv$jc=Ot>Ebjn-Rpg@G2PCqo`-JK$NCQ#rYHwbL zyYJk2Ij^SXRtuDQsPJnl-D)zooHwQ;BrbZW8?<#|zY$FqTQ_W45hJXqqX*WUZ6`~E zeQP{9+~-Q_%HjAWF1~jh^77kwPoM&I&%qQN1Jp*P%a(Dst%0g)BiN7Ph0GoTvTk#> zNUPxd&}wCo#}0r?C_~TX%3Fj<8^T(({rJO~F3g&2hK&LAeyv1TSixO@!gO5SCAy}) z!>DqTMbVaR7Ev zyYX{8-9Yppz%vx&pU%a*$Fn>YDjEXgTGRLHRqLlz88*HHn++|k{C9JEo)d9==Hx@&iz(wka&^4>*#LsK_q&7vrEQJHB*I5{H)=o?G}^v!y*p$*aHB$@R_r5M;wUk7g$3Le73OY&vO+19KCbM zE4-j@)gq#CoD+`BlQsqDIU@TFWMaY70IIHpQ}=;#73@ociZHpoARg$t0){V-$)E$D z#A|J`t($aA%Z@g^`uyg!KE&EbWO5rKwBI+WK!bm`#ir4+=v3lyn)BK?9mqlPQu2kg z$So!z%avAxu3P9wudgLioY-7intw+8@MaCbz;edZh-3z_ze2FWc!q-Bv zdTV#8BsfQnf#`v|dIV*KO>A$m^@Qr)1gNtNybkQ7uo{Mn?(WoFkkxpesseBkAX}F= zK25vqV2|V{>Z;ZJL73&)=Vt+KX%GEN9ANQb$X>_^F3ocmk?B8G&!QNinu85SM#8GgBR0lkG3&~>ud10lj^hZe}U!zeLonbMsQg#-JvS4GI0?s^5`lh z#dWYJ)7nskS|Qa@;c`RywOGPs&`iMgY8bSI&XqaE>P&oeg#0F?6S5^++C(DQ*+s8d z?50XNO9e2#vr66oJFx*tV6DuIC8*Y}!-)AZ4vv5INhcgk;C^GcmmKRU6JBv*Z`t9( zoOFTnrQczLm)4f7-&4@7!sXb^@$G(X=+sVS?Ba4I6gPkdt`d7X2~TuvzhkG;BFQ-{ zEq7K~E;Hif2$;k!0f=^w)8y!Aspi8ljW;0E1WfV4+y%POql=FKgCTb3X}6`g{o;Za za*kF7S~QZ5sC*qG-a-UG7a??`j>zikHNLJT#IToCvBTjrDDVw`z0W_Jg3tEo z>58fdQ}lOpF#~x@@dR_R4Ayu;n!Bc5VWJ|Jb2EQ*>->L5k^!SN&mJTLM0S9Tbm&% z@{A#CcTelU{VW2rJLUBwPR;=+**HC>Ur_OVFj=nb$-s>DLNB zrP=u48WD~0IU@bqr(qpnjGif zG7hk1{fJ*TDHR!Q5DX4-TMhTafO;i82OT|oCwc^WnIebfzR=(mk|Id;u=Ce4{B%9N z>~Bdyjx#-KX{Eq^h_6@L;E{M87CE`axBIJIKc@1}YYaxbkm5G{V1|FLN(56_GugCc z^9)bO_a;nHDV&XVZ7>JB?xG}0Y1Sj!Q!z}VG9Rv52cSMaJEYX^9*3jjLAGIE&}{8Y z9EYcXbxCC_nzsB*lqT0TIkpT{Z&bQ9+4jY)$M~o<59E0BORM$3hI?(ONLYE#MSJ36 zM0M<_a~(0XHeP5#_~~(52T(mu4SmTWmLB@0GjwmquZ-$nF%{s);bN!LanDb|b^}yG ze=T;zS{wnP$%)y_hj?}CI-G<0<>YuZ|3z14e#ZS&{s>U-Q4=cy5C;(BI_KCoCkmWm zpLDzi*d7oQES*}UaVIb$q>c5aFsm&vPjzi8M84 zFjMl{J|LVH4UUT9iODlivNsSz&v1T;kc2+1OZ`YZpB0apjs%P2N7B#M@H)2NHYo5m zx>O=F)js40zL0i3_P&Oe3Ne7Ve{OsYCSli8^voxx3(xCFv~0sSSZimapR`frv?CGr zjRsXKY~BxKyze?*vgno2*)TIRgmNo&n{iN_AnAi&vby6tN(nMRDX?5P^?E8)QwSuEb)zNKUr|>p}Uq9mg53$(rD>qW?_K zjVW?wOYp<3I#Jy6oiNH1cizW9tyy=a6AWO_)+Gm#<9bLp#^rG+RXMj)=PjDet-!F* zMT8j~geZ=holWU9&8{<6;S-+$M^N#-40iEYNb}ML`v&7UnQDM#ewjZ&XY%8Un9_j&mKN}^yuE?fd?J^{7RT18$Y?Dqc7^b zB`P*WGEMotscHMsxIk2=H-oq+0l(JFgzlDZ*<61Cv3~W#AiqW74knon$qMO;Y|&P2PZM**#p%Rd*hJGP$6m2zf05MDQD2#@X+Sg z$pko1qv#fpd3ot2;P9%X)P3Lf5v-`_zA$;5ylpRk+IIk|i@&amnuD?zVnb%AS?o=5 z?+_Kq+x_Kf{4$M-g`ScQr)57;S$!Log?l$xbV`!dEP6RTS6@|&%mh`EH7!JMwD+;U zAFuZvsoha`B^*NwvG?@%|CpW@DcupQ@9I;mZ){BRbKRUrWWaa#_J1cAMfQ%RiJ`{| znW)9@}2slBqA9!Gn$h&H4>3KBdvfxH&W2TLZarBqg-q9Gk z8Oaf(g}M1d*C$D$UOUcu{9Ihdb68uy8VAOT#V?=_Q!hSGmdMo!K?s?Ef;fQ}-+Yi; zsmOcpbutZNLgnQA6t9G*&}(P<6wmu&i{%LY?c29=&K--;`@J(>$DD>TlJ_9cd=~?8 z&ruJ!9pJLox;I&U<%`z*BO{*@5S-Nv+_a?o1(95Hk2@}|oBRogxDB;TYn+S}PseKM zR(0q2l!~(0Sj`_rKy)SQh1T-8Z)T%RM!z#(A;YR){3bmqFfoz2uJ=M^kq`+r_fdM& zOqmC|MgQF09sA?qotm^yt*k#(Y)j@i#g_*c+^<5-&82Gi?HTA_Nl8gLuRfGTUSfOf zi6i!BHU+&em&ZJ#MPKO24EOgd!#=4{Q}GTa%errtZ=3r7rCjC4;!KxURQ?#BrD3E+ zA8hQ7cT7xTqTG1U?!B@)!*xO7gST~J-aJmXsmJmM?^pxnf%Oa{oE5%rE~h)V-B5{fLJ3tfpb_IlE;zNYYE+_lPP!+(&LgL0knZ<}$mJbQ#Nny872};i z#?e-)r%#_I@Z&$@%Ri|Ay1@ceJ(1@(*GxP3ih!_Ce}xbAWQld}C~VoVEg(E#h~>q{ z<2=2&&DB@21a?*nh>7e%g{}v)p35G(-)=2#F1`H-eF}c(bmqsZEI`u?{HHZ+N5Q_%Cgw*~0>zu zp$9Ki)0dYOK;58luJVGUxDwJ-{Hcr_zj`BG`Gw_7HRb8)>9bjRCNxU-_zdf9U%P3e z$y3XvMTMvI&`Ou}SFaZo9HIPm!*1TB11K6o`r(w=WS^g4s%4`#-(vV!_dYnypG);* zMw22jY(HVJ>j78*6Du|gcTt)U?p)eGZ_6-|;;p4TSoGUM{VK7D-%FZmD z__VEQZHzlA=5d37pinmTR%2kxfT6y^qf3iI+~^6w zzlXH9mzLU_vluK{)N*+IR`~6oS=V&v|NRglO-%Cwg@UX^ZY?d5=IqKHhq@j zeO%F67;e#Y2$ zxUS=%xmcsg2j8!6kQ5SU(W!MLg;b)A+jmvulXxm*pFaR=b#+LN8@>kaflxYy`nx<+ z`kJzYs3W&x!MkgvX)`o>W3p_>o?vf^{-7kr%-o!-?zZ*H=&Gn}_!wV(e?!8UvxLMa z=`SsVD;Jkpny`uarecfS;jiH7YR}Jvucg{&gfz02h}vb}J1g_^`6E&Jt=3LiF~pmk zM@*Mm(ROqnG8tMV8pDx^jpZtmdv?Pg56BT5=y3n;WQ?%K^0_xwUV? zT4M3`EL9u+z1?)Pw;WDa+U*ku#Rp!0Tg4Ysi`01%H2U2wpz$KO$&pj-=3CN9604>Wnp>tQV?f{OJUEulP9CN zuy}6sRL)xzWig96Vb1J1|LhYG77-2cjVI*hR{IH^SpaEP+}=c)eBvn%Ud*3c%7*OG zF9~Fk^;z;xT|aYrI5T>+L@nB6n^pF@<%sOsG740pTJQ=VwRAF2V!FP~*eRUm+L*@Ss!CMn0#-OUS%Lmg1iFaHmlY2Q%si52jZhK z4G)MGPwja5EzmJyIhS{;i{5vZ$x;8QZSAVAu`PTyeH~C-a&{anGK1369``B|Ov?}2 zvgw?;Xh&n1SJA>R*d9j!jd|$Ldmxzs+Ud;R;e!0TB|N!_k?9T54607T2&bOaN_}u^V#8chCNTZYL0-5&}TvM z^WOzP#We{Pu$dZMW*+yOd%w&a^KkGFWsN6*i?2>&4Q-rzj`wpB$-j_S5w(Z9Q!u-! z;4ExVbndNhKnp!vR9(Iqn$S|pi1%FhGu*i30X+W@5s`e#-eW*P3n5Y%TSfCreC#kM zLwyB>#Y+*sEiOrH`qk}z23~5+Pi>q3rfJNgo%$4)t}AFidRm{*SVIpOFF5qF9*L&d3*y(-tIdcgdZMP4^c81t}>hr^BFW?d3iL%Dtr%2LWN>h!2amgUQ&J{lt4m z#w{$z*rNHm;A|i~5zq_%azJ>kMUT0=P5SLIkt)BFle1`OtP2YHuFCG@?3^lrosvNL zb|N(+4d1=?{_GB^AN|GSW^aUGjcCbt$RynISgCI2NUYmM9y1hM5={yU!Bofw8KA!k zcKTIf@@DI2v1L|CCv{MKmFwj()ssbqMI+D*sp zX5|ZOCB%m@{19sM!dwn#n%yxs&)gLJ@bxrUQ(0U6O;IYAG(K&1(WQ~SJsl1XPW5G& zx!o#QIC*={*2si(BgVV;c86Zz|42*>$O#G>E!I<0BX&IC`4Ul?;2rI}GwLozf*XKk zesNgUS}T`q<0;M1YbHyw^fEeIohhViv&dFq(G1T2foJnsdI0`!kdd~ww%SgW#F{X6 zLN`fWxjrMw*)pJg_8~O;FU-x&^@BoI%IadGsuXl&&BU0ZW#N?XJ5KgxVeC%a7n#AO zHZz|Urd%D?yFGMyp`8PNBLQ-mofxTZHeDGu@k{52v|Zc77$GWWDhi6-Nj&0-QX6_) z0(z6J%sc@7a-|xwPtN8u-T~bys^)T1CF|&zWKQ*HCphzl;#gs4VMEuTr$L6nLk&tp zDJJ1Ie}Dh;-Hj9yGEz=sWk3COL6i6I>-+pH`>Nrqv$2V>0YPD7<`ZM8R?lzD6r#Ha z8<4rx`OMVxmi)#n9(~ENv00b#n#;B6eWLovjcOME*J-48csV&AGiq^rq#bVjWkPEm z()e|_SmhoGd6y3dQNcPoUIJ}6CFt(}fSBHL&U?!E_|3^8MB|yql`DXz?^E@sh_8^7 z3$VcijX)c9c)z_+*~Ub=Fc5c99c3JE&d6A@_uL$5`gT9lK-9wb>{RQhkWlRGtAB6| zhiiAc5anMcxExB+nQ$vJACeFs-@%MfYG`l2BP^^JazFH~oYGL|Z|m{YPnB$15Y@r0a#5!aQFH6WBzhuwAAKF6s&TM?d37Q%Uv>^YThM-A3M z?kocXU(9@ZtMz7?O4GOM(=%py-!;;s!qCLaG*rc9vF$(-yZF`b&c0;>5aXkt%7pDt zCPMdChRaH*%%WB&(yOGu(D~p~34COoDlKvt5??pdE48!eD%}E&B$4s)8PU%%>wX5g z5mX)y4tu(vKJSB{Un_N1??1UuD-vkdrDe^6vD#+W)zRk8tm{Gs$65}H& zo-`3!(hY_@qJ^~jC1JS5doL(I;`nvLiP0~7`t+>8=CS??5U7rYK8Kpe5?&Z0^J*CE*zzM1FjDFlCV`O9`0TMLLQT^Cn7zJmwH9ZrMM{#1N z5bpEKTD-@x0DrB-r#6yY#!!el-oic;SItfv1tWnwIfW>nrTXdO; z_L}3O%dfuMu@M}*EJY5r`7IipRXJH=)zRyN+tJfAH1RQ;sk>XAx6tnpX!_nNR%B?z z4%OFx%%`0y0LWxbQAQ`|=z5(q+^fsR{-v*ZoB{w&pg_rzOw`m3*VD7XrA`xg9|?cz z#lp`{t~a&Mo$YKzMe%B=9xF=rIT4Dj(0GR7(x5g0#b9}r%+1f;G7d}_TYo-y8MvVV0BoCNdfOIQ;ne ze5*p~&crnm_5qHP_v!P};y*P=no9V+b3*b$Ir=VU1!dFgp1n%LjJF>YTGs%NWE{+H zfTidGct4Eb42f0bm=@{?NmZS=WMnK z?gWFYGeyZ}NWT){=O@I)?EA54)YPqWUnahLS%y~G6Wx)}%3_$7kuo$H__<6Y;{1F1 z<*SUB(Xs?|LXE$kcRg><2{1CtM8r~Xr217r-U0OI^gNP~`8>TEnlkHs(tx>7b&}m0 zmDt$$`Z}Wl4qa~iyO>ps4${&Lmz0F$M^u!2V<@#QKl-|p5NI4$S%l6XRYfOsM&%6g z%%+CY34SKnnzH(XT3=|?gIb!eN7?BguE}saI1Y-M-K#HicrhQevpoDIw7N5JUXqgU4R<6^(cl zucUHUnz$-*%+wFK`1s60Y7@te(W|*Pha_C2qwkX8w#XKbV2^;o@{ZgZel%dmW17$- zxwOOSUN5@H*@t!93ZDSVulj0M*n58fS3_*2roR@VXI_m~^jBLI27PnXh#J-HMGcMX zC}lA9eACuWr^2?Nw;KYH=$)L1hjB9H(TG1O#g*g)G)j%h+Upv`5qBL1U6ABlcHjtw$9F9(|<&8 zy@d1Xk5A>?WSM~$2^2LvTwT|2htKiNsJk4|muz*ZSY2Fd9dgzi(fIPwZTHof z7>^%5KccLGd(>XzV*Vh;IIQ27Vj|5;M4rxQ5-*NwId-xt!UPeQvm-6>04X7S$RZC(#Fnd~bb~_UKW)Aw1a( zVs2#L3&cS^dw)4b^N`I!yOCf`|BQ(EB%9GV*?CV%iSYI7gaII}&8tT?8BbR2L~7?Q zI*3|WxWt(2gp2cim}98%-6FPQbT7o@Sl;bpO{>SvQNhRXHn7nu2-oi=FQ zRmbcFrow~!E}oN?ZDUPC)EERf!a^tM2yKt^U}YG!6R z(6X>LT!0-ON|{GWk#7akR{??X#jRy2(ABa!l~vX{44fb^$LhLewhf>Cg9W^{X(lEF z%PY(Kt3B>0i3%Ff>Qe!!bD64|POUMR?R(?edc+S0@As)f*RLPi&`&tHN3YcJ!2IFL z$_ltP@nG@GBk0(ir}B;pm`K%^E9#-|6+i`YpN{7h>Wq8VEA|4HAU6xi$e6V|I<>>G zW6|T8c$UxN7l6NfE4#YvZq0EME%obr79dqsF)~4;A z-E`dJFSohCaEIDvKD_;XeJ0C#oi3x#rs`{69=`Y`ln->Xn)gh)fP6FR>(^UcT*27d zz~G}8Iu`Q@n=a3B_ssrqa{vaJD*NlXrF*rznjlBU~W+npw&KFU7-dn&* zT2YT@YtiSUT2zHrI5$Rm<2mpT#Z@K62KhYo;f= zK{^@affsY#X!-gxw#o{s$OT2mW*BOGriXZMZT-E%pAv{sL7CG!+Z)41J6VXHQz2v1 zQ>aT$BOxLCYraU<-6L-`rhA1{sXC^8lhbX{p6>Ivtmyf&CX-RtlU-JgFGW08t@wL~ zA51QPE#IdfrU&utNjjp)dBpSVa81O zGmd(4p#QowDEJ0Kl#!KHLqk(r1sQRhTwlypgM}GL-qwcmd8x}b0e1gz=Zx<6w5(an zq{8^b#O}FTWmiD4{cOmV*Rj*wt^<|(7;3sjj!NPtNa93hAcEd3Neq{@AdA$gHOH2? zQA>j-uCUPa3^Y3e+<}pSFFCIK*5;NiAla7Y1~`7@x4bv8YXKnF$k9DSOY^)XRLg$h zt(9n%%SxYA*94$BdJ=E{OmYk+1@v}#no{)V$&3<9vgX1OYV9%)Y6Wa;9&4|4?(GCe zX5LT_JTmTbKj`Pg6YP6oFoB@gY5mz*9*F5+C%xptF&TwWL~VdDqay4v-{tM?{3C&# z_XqP$YWpG3Fc<_vOK0Up~yVnM<#gz#Qu!#!I-QK8V!NYSB zDz@r~q4m0M^sfz|j?I5lh^{vRY)dU1Z5%z*1owhbQ&3z_8ZiC^rNs*=TUA(=kOpV4 zaTqdF*Tu)b+?pyj?K&0(uH*}veepg4;f`CLEaBlSiXqHiKCxpD^4Qdhw<&b9zLbn= zY677up!61$(!f^eu-i|>#bimP97{7(S5zAC=xcUngh^`-cDb^?+d*)jSbhu9-N$c6 z0ATc65~Un!7EIoYD9K;?b$hz!@Stkk)g-6V5b4KRnK|ts=>R!9L`w}^N!k1U$bV{4A*dd;$!TyTpLz80mme% zt}%{{BFc6CJrCLE&{_eq_)Y<#1d0DHEWds@?(cN!NF z-?Dy`DCl(gP&VTs&@Bj++DM_%aR zmN+oq4>}HWwDoizQm526n!(?_eG9xp!T=vMzqs7-haMFX5#3WfX7~(L9xLny5&+lh z6XCoKRU!oOrUm3LoV?r_PF16a8>F3tb-gG@Q=Ua>{0t4JEyB5Lq$z_rLf&if`BC8) zna1&23wki(9Q@qrI?7m*bX)MtM_XWxzN?7tv|$%f>m@~OA)Ye}dW$5XQmAB;(keqEr~s? zzdleV!+#Wa=+P4$9Ut8@Mep6(yq9h@%ac8QvFc>+Vu#+>8@eW=Xs5`OjuaH+P&MIo z#{12Cx6U^5mwk`VpNDQNw(ot&OVMer!0W#7c}!n>kSQbyqyaAv4s?pW@hy4{n_n5d z0$K_lJnKfNAM1Qq{LXuGbKNyTF*@IblEhNb;OQTm1zb!C9`Ulm06x_+I~rpJt^PgM zHxKxUKiWkR&A&~7!i3`RE!1^e^kYCGbNaXSOJxH9XIr-Df*deBsDLO>@9W(1S}!1= zPu82o3#gyrEs#TCz;l^zqVUGn_1dZ~NNo85PEfcITo9uF@Zbh{F|@oU{i z@8sFbYaO4lO--*#D5J1p&uO5BfrPs0kAacg-W(J4Dvg-)TUZV`FpSJtp0U4~3V+uL zI{qldjefNj&Ip$(BZt&%Adi_;h5B_2V%}>22fok8WmS@68X$9_NTh%xvB*hCIF2rq zD9ERKOehs(8zRb*mt^fK(vK+lwGf!EbzF`uit5`n_W3}y-)wd<4}D56fb zhtM|ONWwxPK^I6YE^GbE>!xi7_8RmhZjz{5GHAm4`SYj8VT5n@<+e@U5$O1V@6`kZ zRNWGkDj7CieEbR~s;afTvckDo1l>d1y{$8t;Z%MxUg|}E4;$OXJRW#68tb`kn_=>O zM8vFL0Om3%Sm{0bQnDDnNN*{cZO`!BX-)QbC5?ai;-~+Z>jet$??)xw5zo2wy=YYc zje2{BUl}>LxSoiMr=0q+nvPKQyh0H#7FV(3rG@`&l@vzPsq@!VP!kaFYL^|-ad2}l zw^*dS?`h5R#xx-)C|>M-a9Yl=NU3kFT+np^W>wIkG8wIV`*_+VzTA}YIv|Ai7ueaH z9TDVhrHMwZobNLN>Fa&kene@2DoTVyZH!)>%LNjM8!HbXe?4qgP~dQ%hAU~fm?w1k zd1$l!^xNUph5IctjaSK6!VC-yXs7J|c-fJUKxLl)s}0^dG$242@A4cU!37a>a&ig^ z4j#Mbc)T@~=;7oS_2}P@obHw#!!FnEc7eF+%I}Fm>u(=`oF)p*sDT!PQSdos1{Xb0 zj){nhTF#1m1r{B)0-qgy^IS1 zVZnhSFMcw1J(WBM_wuU9gcxby5?NA;Ac(JI``07>>z8KWufZkcwlmWQNLZ{7V0-kd zoBf@cK}1XpM~nSbQ`N4qmn>;}Kr{T6m{DnF?0YC<|!UvcCW)*|I=b-^UO@DDbRX4KUMx1KALYa zFi5JctNVat{MN^0(bs}RzTfM}Sf8Jrxd^%0DxKsE{m!xg1r6O@$A36u?)}J#ew7uO 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 diff --git a/docs_manual/source/_static/sodar_ui/user_profile.png b/docs_manual/source/_static/sodar_ui/user_profile.png index 42d00fdecd12766708d568a31daaed44889f7947..7679620fcb853ce0873b1994f65e820df45dca0d 100644 GIT binary patch literal 100294 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 V#_AQc8ACz-{|^cfHuC@g diff --git a/docs_manual/source/_static/sodar_ui/user_profile_settings.png b/docs_manual/source/_static/sodar_ui/user_profile_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..2a33e011ba73380943c7b288824434bea5555423 GIT binary patch literal 75421 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Ú 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 UJL!t@cmQMQU%jbQb_E{sFK<_x!2kdN literal 0 HcmV?d00001 diff --git a/docs_manual/source/admin_commands.rst b/docs_manual/source/admin_commands.rst index cc59b7026..5c90c9972 100644 --- a/docs_manual/source/admin_commands.rst +++ b/docs_manual/source/admin_commands.rst @@ -19,6 +19,9 @@ These commands originate in SODAR Core. More information can be found in the Add remote site for remote project synchronization. ``batchupdateroles`` Batch update project roles and send invites. +``checkusers`` + Check the status of LDAP users. Returns info on users whose accounts are + disabled or removed on an LDAP server. ``cleanappsettings`` Clean up unused application settings. ``deletecache`` diff --git a/docs_manual/source/admin_install.rst b/docs_manual/source/admin_install.rst index d92ce0254..cd5003a3a 100644 --- a/docs_manual/source/admin_install.rst +++ b/docs_manual/source/admin_install.rst @@ -17,26 +17,22 @@ environment. All these components are required for running the complete feature set of SODAR. However, it is also possible to run some of these outside of the Docker Compose network if e.g. you already have a separate iRODS server running. -- Essential SODAR Components +Essential SODAR Components - ``sodar-web``: The SODAR web server for main program logic and UIs. - ``sodar-celeryd-default``: Celery daemon for background jobs. - ``sodar-celerybeat``: Celery service for periodic tasks. -- Database Servers - - ``postgres``: PostgreSQL server for SODAR and iRODS databases. +Database Servers + - ``postgres``: PostgreSQL server for SODAR and iRODS databases. Minimum + supported version is v12, recommended version is v16. - ``redis``: In-memory database for Celery jobs and caching. -- iRODS Servers - - ``irods``: An iRODS iCAT server for file storage. +iRODS Servers + - ``irods``: An iRODS iCAT server for file storage. The minimum supported + version is v4.3. - ``davrods``: iRODS WebDAV server for web access and IGV/UCSC integration. -- Networking +Networking - ``traefik``: Reverse proxy for TLS/SSL routing. - ``sssd``: System Security Service Daemon for LDAP/AD authentication. -.. note:: - - Currently the sodar-docker-compose environment only supports iRODS v4.2. - Support for v4.3 is being worked on. iRODS v4.3 will be the default - supported version from SODAR v1.0 onwards. - Quickstart Guide ================ @@ -60,15 +56,15 @@ Prerequisites Ensure your system matches the following operating system and software requirements. -- Hardware +Hardware - ~10 GB of disk space for the Docker images -- Operating System +Operating System - A modern Linux distribution that is `supported by Docker `_. - Outgoing HTTPS connections to the internet are allowed to download data and Docker images. - Server ports 80 and 443 are open and free on the host. -- Software +Software - `Docker `_ - `Docker Compose `_ - `OpenSSL `_ @@ -279,7 +275,7 @@ production is generally recommended only for experienced SODAR admins. .. note:: - SODAR v1.0 will be upgraded to use iRODS 4.3 and Postgres v16. This version + SODAR v1.0 has been upgraded to use iRODS 4.3 and Postgres v16. This version may require special steps for upgrading an existing environment. Make sure to refer to the sodar-docker-compose README for instructions. @@ -348,7 +344,7 @@ Production Prerequisites In addition to the :ref:`general prerequisites `, we recommend the following for a production deployment of SODAR: -- Recommended Hardware +Recommended Hardware - Memory: 64 GB of RAM - CPU: 16 cores - Disk: 600+ GB of free and **fast** disk space diff --git a/docs_manual/source/api_documentation.rst b/docs_manual/source/api_documentation.rst index 958920d93..c209e2351 100644 --- a/docs_manual/source/api_documentation.rst +++ b/docs_manual/source/api_documentation.rst @@ -20,7 +20,7 @@ The API supports authentication through Knox authentication tokens as well as logging in using your SODAR username and password. Tokens are the recommended method for security purposes. -For token access, first retrieve your token using the **API Tokens** site app +For token access, first retrieve your token using the :ref:`ui_api_tokens` app on the SODAR web UI. Note that you can you only see the token once when creating it. @@ -34,22 +34,32 @@ follows: Versioning ---------- +.. note:: + + API versioning has had a major overhaul in SODAR v1.0. Some changes are + breaking with no backwards compatibility. Please review this part of the + document carefully and adjust your clients accordingly. + The SODAR REST API uses accept header versioning. While specifying the desired API version in your HTTP requests is optional, it is **strongly recommended**. This ensures you will get the appropriate return data and avoid running into unexpected incompatibility issues. To enable versioning, add the ``Accept`` header to your request with the -following media type and version syntax. Replace the version number with your -expected version. +appropriate media type of your API and the expected version. From SODAR v1.0 +onwards, both the media type and the version are specific for a SODAR Server or +SODAR Core application, as each provides their independent API which may +introduce new versions independent of other APIs. + +Example for the SODAR Server samplesheets API: .. code-block:: console - Accept: application/vnd.bihealth.sodar+json; version=0.15.1 + Accept: application/vnd.bihealth.sodar.samplesheets+json; version=1.0 + +For detailed media types and versioning information of each API, see the +respective application API documentation. -Specific sections of the SODAR API may require their own accept header. See the -exact header requirement in the respective documentation on each section of the -API. Model Access and Permissions ---------------------------- @@ -71,3 +81,22 @@ specified. If return data is not specified in the documentation of an API view, it will return the appropriate HTTP status code along with an optional ``detail`` JSON field upon a successfully processed request. + +Pagination +---------- + +From SODAR V1.0 onwards, list views support pagination unless otherwise +specified. Pagination can be enabled by providing the ``?page=x`` query string +in the API request. This will change the return data into a paginated format. +Example: + +.. code-block:: python + + { + 'count' 170, + 'next': 'api/url?page=3', + 'previous': 'api/url?page=1', + 'results': [ + # ... + ] + } diff --git a/docs_manual/source/api_documentation.rst.orig b/docs_manual/source/api_documentation.rst.orig new file mode 100644 index 000000000..6dcdcb531 --- /dev/null +++ b/docs_manual/source/api_documentation.rst.orig @@ -0,0 +1,106 @@ +.. _api_documentation: + +API Documentation +^^^^^^^^^^^^^^^^^ + +This document describes the REST API functionality in SODAR. This is intended +for users who want to access and modify data programmatically from e.g. scripts. + + +Using the API +============= + +Usage of the REST API is detailed in this section. Basic knowledge of HTTP APIs +is assumed. + +Authentication +-------------- + +The API supports authentication through Knox authentication tokens as well as +logging in using your SODAR username and password. Tokens are the recommended +method for security purposes. + +For token access, first retrieve your token using the :ref:`ui_api_tokens` app +on the SODAR web UI. Note that you can you only see the token once when creating +it. + +Add the token in the ``Authorization`` header of your HTTP request as +follows: + +.. code-block:: console + + Authorization: token 90c2483172515bc8f6d52fd608e5031db3fcdc06d5a83b24bec1688f39b72bcd + +Versioning +---------- + +.. note:: + + API versioning has had a major overhaul in SODAR v1.0. Some changes are + breaking with no backwards compatibility. Please review this part of the + document carefully and adjust your clients accordingly. + +The SODAR REST API uses accept header versioning. While specifying the desired +API version in your HTTP requests is optional, it is **strongly recommended**. +This ensures you will get the appropriate return data and avoid running into +unexpected incompatibility issues. + +To enable versioning, add the ``Accept`` header to your request with the +appropriate media type of your API and the expected version. From SODAR v1.0 +onwards, both the media type and the version are specific for a SODAR Server or +SODAR Core application, as each provides their independent API which may +introduce new versions independent of other APIs. + +Example for the SODAR Server samplesheets API: + +.. code-block:: console + +<<<<<<< HEAD + Accept: application/vnd.bihealth.sodar+json; version=0.15.1 +======= + Accept: application/vnd.bihealth.sodar.samplesheets+json; version=1.0 + +For detailed media types and versioning information of each API, see the +respective application API documentation. +>>>>>>> upgrade to django-sodar-core v1.0.2 (#1922) + + +Model Access and Permissions +---------------------------- + +Objects in SODAR API views are accessed through their ``sodar_uuid`` field. + +In the REST API documentation, *"UUID"* refers to the ``sodar_uuid`` field of +each model unless otherwise noted. + +For permissions the API uses the same rules which are in effect in the SODAR +GUI. That means you need to have appropriate project access for each operation. + +Return Data +----------- + +The return data for each request will be a JSON document unless otherwise +specified. + +If return data is not specified in the documentation of an API view, it will +return the appropriate HTTP status code along with an optional ``detail`` JSON +field upon a successfully processed request. + +Pagination +---------- + +From SODAR V1.0 onwards, list views support pagination unless otherwise +specified. Pagination can be enabled by providing the ``?page=x`` query string +in the API request. This will change the return data into a paginated format. +Example: + +.. code-block:: python + + { + 'count' 170, + 'next': 'api/url?page=3', + 'previous': 'api/url?page=1', + 'results': [ + # ... + ] + } diff --git a/docs_manual/source/api_examples.rst b/docs_manual/source/api_examples.rst index 15b32fc68..53601d3b4 100644 --- a/docs_manual/source/api_examples.rst +++ b/docs_manual/source/api_examples.rst @@ -40,10 +40,12 @@ the SODAR API: # Headers for requests: # Token authorization header (required) auth_header = {'Authorization': 'token {}'.format(api_token)} - # Use core_headers for project management API endpoints - core_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar-core+json; version=0.13.4'} - # Use sodar_headers for sample sheet and landing zone API endpoints - sodar_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar+json; version=0.15.1'} + # Use project_headers for project management API endpoints + project_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar-core.projectroles+json; version=1.0'} + # Use the following headers for sample sheet and landing zone API endpoints + sheet_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar.samplesheets+json; version=1.0'} + zone_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar.landingzones+json; version=1.0'} + .. note:: @@ -58,7 +60,7 @@ categories and projects available to you with the following request: .. code-block:: python url = sodar_url + '/project/api/list' - projects = requests.get(url, headers=core_headers).json() + projects = requests.get(url, headers=project_headers).json() Create Project @@ -72,14 +74,15 @@ required for most subsequent operations you wish to perform on that project. url = sodar_url + '/project/api/create' data = {'title': 'New Project via API', 'type': 'PROJECT', 'parent': category_uuid, 'owner': user_uuid} - project = requests.post(url, data=data, headers=core_headers).json() + project = requests.post(url, data=data, headers=project_headers).json() project_uuid = project['sodar_uuid'] .. note:: - Note the use of ``core_headers`` here, as the project management API comes + Note the use of ``project_headers`` here, as the project management API comes from the `SODAR Core `_ package, which - has its own API and versioning. + has its own API and versioning. See the related + `SODAR Core API documentation `_. Assign a Member Role @@ -94,7 +97,7 @@ including its UUID for future updates. other_user_uuid = '33333333-3333-3333-3333-333333333333' url = sodar_url + '/project/api/roles/create/' + project_uuid data = {'role': 'project contributor', 'user': other_user_uuid} - response_data = requests.post(url, data=data, headers=core_headers).json() + response_data = requests.post(url, data=data, headers=project_headers).json() role_uuid = response_data.get('role_uuid') @@ -111,7 +114,7 @@ archived ISA-Tab. url = sodar_url + '/samplesheets/api/import/' + project_uuid sheet_path = '/tmp/your_isa_tab.zip' files = {'file': ('your_isa_tab.zip', open(sheet_path, 'rb'), 'application/zip')} - response = requests.post(url, files=files, headers=sodar_headers) + response = requests.post(url, files=files, headers=sheet_headers) To ensure your import was successful, you can retrieve investigation information via the API. This also returns e.g. the UUIDs for studies and assays: @@ -119,7 +122,7 @@ via the API. This also returns e.g. the UUIDs for studies and assays: .. code-block:: python url = sodar_url + '/samplesheets/api/investigation/retrieve/' + project_uuid - inv_info = requests.get(url, headers=sodar_headers).json() + inv_info = requests.get(url, headers=sheet_headers).json() Export Sample Sheets @@ -132,7 +135,7 @@ providing the TSV data to e.g. parsers for further editing. .. code-block:: python url = sodar_url + '/samplesheets/api/export/json/' + project_uuid - response_data = requests.get(url, headers=sodar_headers).json() + response_data = requests.get(url, headers=sheet_headers).json() print(response_data.keys()) # dict_keys(['investigation', 'studies', 'assays', 'date_modified']) @@ -167,7 +170,7 @@ the path to the sample repository collection in your project. .. code-block:: python url = sodar_url + '/samplesheets/api/irods/collections/create/' + project_uuid - response = requests.post(url, headers=sodar_headers) + response = requests.post(url, headers=sheet_headers) irods_path = response.json().get('path') The API request below initiates the process for creating a landing zone. You @@ -178,7 +181,7 @@ investigation information API endpoint as detailed above. url = sodar_url + '/landingzones/api/create/' + project_uuid data = {'assay': assay_uuid} - response = requests.post(url, data=data, headers=sodar_headers) + response = requests.post(url, data=data, headers=zone_headers) zone_uuid = response.json().get('sodar_uuid') As with most landing zone operations, the landing zone creation process is @@ -188,7 +191,7 @@ before proceeding with file uploads: .. code-block:: python url = sodar_url + '/landingzones/api/retrieve/' + zone_uuid - response_data = requests.get(url, headers=sodar_headers).json() + response_data = requests.get(url, headers=zone_headers).json() if response_data.get('status') == 'ACTIVE': pass # OK to proceed @@ -199,7 +202,7 @@ moving process as follows: .. code-block:: python url = sodar_url + '/landingzones/api/submit/move/' + zone_uuid - response = requests.post(url, headers=sodar_headers) + response = requests.post(url, headers=zone_headers) Once the landing zone status is returned as ``MOVED``, the landing zone files have been moved into the project sample data repository and the zone has been @@ -208,6 +211,6 @@ deleted. .. code-block:: python url = sodar_url + '/landingzones/api/retrieve/' + zone_uuid - response_data = requests.get(url, headers=sodar_headers).json() + response_data = requests.get(url, headers=zone_headers).json() if response_data.get('status') == 'MOVED': pass # Moving was successful diff --git a/docs_manual/source/api_examples.rst.orig b/docs_manual/source/api_examples.rst.orig new file mode 100644 index 000000000..6a70b5f93 --- /dev/null +++ b/docs_manual/source/api_examples.rst.orig @@ -0,0 +1,223 @@ +.. _api_examples: + +API Examples +^^^^^^^^^^^^ + +In this document we present examples of using SODAR via the REST API. It is +possible to adapt these examples to automate activity via scripts, command line +tools, notebooks or other external software. In these examples, we call the API +using the Python ``requests`` package. + +.. code-block:: python + + import requests + +The rest of these examples assume you have access to an existing SODAR server. +You also need contributor access or above to at least one existing category. + +The examples show basic functionality with default options unless otherwise +stated. For all parameters and options for requests, see the detailed API +documentation of the relevant API endpoints. + + +Setup +===== + +To get started, you need to retrieve and set up certain variables for accssing +the SODAR API: + +.. code-block:: python + + # URL of your SODAR server + sodar_url = 'https://YOUR-URL-HERE' + # API token: create yourself a token in the API Tokens app + # Your user UUID: see the User Profile app for this value + user_uuid = '11111111-1111-1111-1111-111111111111' + api_token = 'YOUR-API-TOKEN-HERE' + # UUID for a category in which you have at least contributor access + category_uuid = '22222222-2222-2222-2222-222222222222' + + # Headers for requests: + # Token authorization header (required) + auth_header = {'Authorization': 'token {}'.format(api_token)} +<<<<<<< HEAD + # Use core_headers for project management API endpoints + core_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar-core+json; version=0.13.4'} + # Use sodar_headers for sample sheet and landing zone API endpoints + sodar_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar+json; version=0.15.1'} +======= + # Use project_headers for project management API endpoints + project_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar-core.projectroles+json; version=1.0'} + # Use the following headers for sample sheet and landing zone API endpoints + sheet_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar.samplesheets+json; version=1.0'} + zone_headers = {**auth_header, 'Accept': 'application/vnd.bihealth.sodar.landingzones+json; version=1.0'} + +>>>>>>> upgrade to django-sodar-core v1.0.2 (#1922) + +.. note:: + + Providing accept headers is not explicitly required, but strongly + recommended. Including the accept header helps ensure you are calling a + version of the API which is compatible with your requests and returns + expected results. + +To ensure you can properly connect to SODAR, you can retrieve a list of +categories and projects available to you with the following request: + +.. code-block:: python + + url = sodar_url + '/project/api/list' + projects = requests.get(url, headers=project_headers).json() + + +Create Project +============== + +To create a project, issue a request as displayed in the following example. +Response data for the request will contain the project UUID, which will be +required for most subsequent operations you wish to perform on that project. + +.. code-block:: python + + url = sodar_url + '/project/api/create' + data = {'title': 'New Project via API', 'type': 'PROJECT', 'parent': category_uuid, 'owner': user_uuid} + project = requests.post(url, data=data, headers=project_headers).json() + project_uuid = project['sodar_uuid'] + +.. note:: + + Note the use of ``project_headers`` here, as the project management API comes + from the `SODAR Core `_ package, which + has its own API and versioning. See the related + `SODAR Core API documentation `_. + + +Assign a Member Role +==================== + +If you need to provide access to the project to another user account, see the +following example. A successful request returns details of the role assignment +including its UUID for future updates. + +.. code-block:: python + + other_user_uuid = '33333333-3333-3333-3333-333333333333' + url = sodar_url + '/project/api/roles/create/' + project_uuid + data = {'role': 'project contributor', 'user': other_user_uuid} + response_data = requests.post(url, data=data, headers=project_headers).json() + role_uuid = response_data.get('role_uuid') + + +Import Sample Sheet +=================== + +The following example demonstrates how you can programmatically import an +existing ISA-Tab into your project. The import API endpoint accepts both ZIP +archives and individual files. In this example, we will be providing a ZIP +archived ISA-Tab. + +.. code-block:: python + + url = sodar_url + '/samplesheets/api/import/' + project_uuid + sheet_path = '/tmp/your_isa_tab.zip' + files = {'file': ('your_isa_tab.zip', open(sheet_path, 'rb'), 'application/zip')} + response = requests.post(url, files=files, headers=sheet_headers) + +To ensure your import was successful, you can retrieve investigation information +via the API. This also returns e.g. the UUIDs for studies and assays: + +.. code-block:: python + + url = sodar_url + '/samplesheets/api/investigation/retrieve/' + project_uuid + inv_info = requests.get(url, headers=sheet_headers).json() + + +Export Sample Sheets +==================== + +There are several ways to export sample sheets from SODAR. In this example, we +export them as ISA-Tab TSV data wrapped in a JSON structure. This enables +providing the TSV data to e.g. parsers for further editing. + +.. code-block:: python + + url = sodar_url + '/samplesheets/api/export/json/' + project_uuid + response_data = requests.get(url, headers=sheet_headers).json() + print(response_data.keys()) + # dict_keys(['investigation', 'studies', 'assays', 'date_modified']) + + +Edit and Replace Sample Sheets +============================== + +At the moment, editing sample sheets via the REST API is done as follows: + +1. Export the ISA-Tab as JSON-wrapped TSV or Zip archive (see "Export Sample + Sheets"). +2. Edit the ISA-Tab TSV data with the tool of your choosing +3. Replace ISA-Tab in iRODS by re-importing the TSV files into your project (see + "Import Sample Sheets"). + +If working on Python, we recommend using the +`AltamISA `_ parser for editing and +validating your ISA-Tab. Using AltamISA is beyond the scope of this manual. It +is recommended to read further in the +`AltamISA documentation `_ and go through the +`example of ISA-Tab processing `_ +included in its source code. + + +Upload Files via Landing Zones +============================== + +To enable file uploads, you first have to create sample data repositories for +your sample sheets in iRODS. This can be done as follows. The response returns +the path to the sample repository collection in your project. + +.. code-block:: python + + url = sodar_url + '/samplesheets/api/irods/collections/create/' + project_uuid + response = requests.post(url, headers=sheet_headers) + irods_path = response.json().get('path') + +The API request below initiates the process for creating a landing zone. You +will need to provide an assay UUID, which you can retrieve from the +investigation information API endpoint as detailed above. + +.. code-block:: python + + url = sodar_url + '/landingzones/api/create/' + project_uuid + data = {'assay': assay_uuid} + response = requests.post(url, data=data, headers=zone_headers) + zone_uuid = response.json().get('sodar_uuid') + +As with most landing zone operations, the landing zone creation process is +asynchronous. You need to ensure the zone status has been changed to ``ACTIVE`` +before proceeding with file uploads: + +.. code-block:: python + + url = sodar_url + '/landingzones/api/retrieve/' + zone_uuid + response_data = requests.get(url, headers=zone_headers).json() + if response_data.get('status') == 'ACTIVE': + pass # OK to proceed + +At this point you can upload files using iRODS iCommands or file uploading +scripts. After uploading, you can trigger the asynchronous validation and +moving process as follows: + +.. code-block:: python + + url = sodar_url + '/landingzones/api/submit/move/' + zone_uuid + response = requests.post(url, headers=zone_headers) + +Once the landing zone status is returned as ``MOVED``, the landing zone files +have been moved into the project sample data repository and the zone has been +deleted. + +.. code-block:: python + + url = sodar_url + '/landingzones/api/retrieve/' + zone_uuid + response_data = requests.get(url, headers=zone_headers).json() + if response_data.get('status') == 'MOVED': + pass # Moving was successful diff --git a/docs_manual/source/api_projectroles.rst b/docs_manual/source/api_projectroles.rst index da9bd8de8..5e2017329 100644 --- a/docs_manual/source/api_projectroles.rst +++ b/docs_manual/source/api_projectroles.rst @@ -1,26 +1,60 @@ .. _api_projectroles: -Project Management API -^^^^^^^^^^^^^^^^^^^^^^ +Project Management APIs +^^^^^^^^^^^^^^^^^^^^^^^ -The REST API for project access and management operations is described in this -document. +The REST APIs for project access and management operations is described in this +document. These APIs are provided by the SODAR Core package. Thus, detailed +documentation can be found in the +`SODAR Core documentation `_. +Projectroles API +================ + +This API handles the management of projects, project members and app settings. + +Versioning +---------- + +Media Type + ``application/vnd.bihealth.sodar-core.projectroles+json`` +Current Version + ``1.0`` +Accepted Versions + ``1.0`` +Header Example + ``Accept: application/vnd.bihealth.sodar-core.projectroles+json; version=1.0`` + API Views -========= +--------- + +The projectoles API is provided by the SODAR Core package. Documentation for the +API views can be found in the +`Projectroles REST API documentation `_. -The project management API is provided by the SODAR Core package. The -documentation for the REST API views can be found in the -`SODAR Core Documentation `_. +Timeline API +============ + +This API can be used to query events in the +:ref:`timeline ` audit trail logs. Versioning -========== +---------- -For accept header versioning, the following media type and version are expected -in the current SODAR version: +Media Type + ``application/vnd.bihealth.sodar-core.timeline+json`` +Current Version + ``1.0`` +Accepted Versions + ``1.0`` +Header Example + ``Accept: application/vnd.bihealth.sodar-core.timeline+json; version=1.0`` -.. code-block:: console +API Views +--------- - Accept: application/vnd.bihealth.sodar-core+json; version=0.13.3 +The timeline API is provided by the SODAR Core package. Documentation for the +API views can be found in the +`Timeline REST API documentation `_. diff --git a/docs_manual/source/dev_install.rst b/docs_manual/source/dev_install.rst index 0915ad1f4..cfe4b44e5 100644 --- a/docs_manual/source/dev_install.rst +++ b/docs_manual/source/dev_install.rst @@ -21,8 +21,8 @@ System requirements for SODAR development are as follows: - Other Ubuntu versions and Linux distributions may work but are not supported. The instructions in this section assume the use of Ubuntu 20.04. -- Python 3.8, 3.9 or 3.10 - - 3.8 recommended. +- Python 3.9, 3.10 or 3.11 + - 3.11 is recommended. - `Docker `_ - `Docker Compose `_ - `OpenSSL `_ @@ -34,7 +34,7 @@ SODAR Docker Compose Setup In addition to the ``sodar-server`` repository, the following components are required for SODAR development: -- PostgreSQL +- PostgreSQL v12+ (v16 recommended) - Redis - Main iRODS server - Test iRODS server diff --git a/docs_manual/source/index.rst b/docs_manual/source/index.rst index a6cfd4bc6..026b09f5f 100644 --- a/docs_manual/source/index.rst +++ b/docs_manual/source/index.rst @@ -116,7 +116,7 @@ Table of Contents :name: api_docs api_documentation - Project Management API + Project Management APIs Sample Sheets API Landing Zones API iRODS Info API diff --git a/docs_manual/source/introduction.rst b/docs_manual/source/introduction.rst index 2bc1cee66..d09c4f4e8 100644 --- a/docs_manual/source/introduction.rst +++ b/docs_manual/source/introduction.rst @@ -68,8 +68,7 @@ Notable Features ================ - Accessibility - * User access via one or multiple LDAP/AD services, Single Sign-On via SAML - and/or local accounts + * User access via one or multiple LDAP/AD services and/or local accounts * Access tokens can be can be generated for REST API use * UUIDs and permanent URLs for all relevant objects in the system - iRODS Integration diff --git a/docs_manual/source/ui_project_timeline.rst b/docs_manual/source/ui_project_timeline.rst index 5a7545599..eeedf3f4f 100644 --- a/docs_manual/source/ui_project_timeline.rst +++ b/docs_manual/source/ui_project_timeline.rst @@ -9,7 +9,7 @@ and changes to the sample sheets. The activity is displayed as a list of events. .. figure:: _static/sodar_ui/timeline.png :align: center - :scale: 45% + :scale: 55% Project timeline @@ -19,17 +19,17 @@ Timestamp Time of the event's creation. This doubles as a link to a modal which displays the event status history. This can be useful information e.g. in case of asynchronous background events. -Event - Type of the event along with the SODAR application which created the event. User User initiating the event. Description - Description of the event. Objects included in the description have a link - displayed as a clock notation. Clicking this opens a list of all events - related to the object. The title of the object also often works as a link - to the related application. Possible extra JSON data is displayed as a link - in the right hand side of the field. The link opens a modal displaying the - JSON data. + Description of the event. The description is preceded by a badge displaying + the event type. Objects included in the description are linked to the + respective application. Objects also have a history link displayed as a + clock icon. Clicking on the icon opens a list of all events related to the + object within the project. The title of the object also often works as a + link to the related application. Possible extra JSON data is displayed as a + link in the right hand side of the field. The link opens a modal displaying + the JSON data. Status Current status of the event. diff --git a/docs_manual/source/ui_project_update.rst b/docs_manual/source/ui_project_update.rst index 24f0ab5b4..55754c13e 100644 --- a/docs_manual/source/ui_project_update.rst +++ b/docs_manual/source/ui_project_update.rst @@ -23,7 +23,8 @@ Project Metadata The following project metadata and settings are available for updating: Title - Update the project title. + Update the project title. The title must be unique within the parent + category. Parent Move the project to another category. Options only contain categories for which you have sufficient access. @@ -32,23 +33,29 @@ Description ReadMe Set an optional ReadMe document with for the project. MarkDown notation can be used. -Public Guest Access +Public guest access Enable public guest access to the project for anyone using SODAR. This should be used with caution and is generally intended for demonstration projects. If your SODAR server allows anonymous users, this will grant guest access to anyone browsing the site. -Notify Members of Landing Zone Uploads +Enable project on {target remote site} + Enable access to project for project members on the selected target site. + Target sites for which project owner/delegation modifying is enabled by an + administrator are listed here. Deselecting a previously selected site will + revoke access on the target site. For more information, see + `Remote Site Access documentation `_. +Notify members of landing zone uploads Send project members email updates for file uploads using landing zones. For more information, see the :ref:`Landing Zones app documentation `. -Allow Sample Sheet Editing +Allow sample sheet editing Enable or disable editability of sample sheets in the project. -Enable Sheet Synchronization +Enable sheet synchronization Enable sample sheet synchronization. For more information, see :ref:`app_samplesheets_sync`. -URL for Sheet Synchronization +URL for sheet synchronization REST API URL of remote project for sample sheet synchronization. -Token for Sheet Synchronization +Token for sheet synchronization Token string for sample sheet synchronization. IGV session genome Genome used in generating IGV session files for the project. The name needs @@ -69,9 +76,9 @@ VCF paths to omit from IGV sessions cancer and germline projects. Behaves similarly to the related BAM/CRAM setting. You need to run :guilabel:`Update Sheet Cache` in the Sample Sheet application for changes to take effect. -IP Restrict +IP restrict Restrict project access to specific IP addresses if this is set. -IP Allow List +IP allow list List of accepted IP addresses for the IP Restrict setting. When creating a new project, the following fields are included: diff --git a/docs_manual/source/ui_user_profile.rst b/docs_manual/source/ui_user_profile.rst index 94a72b4b3..5d54cf732 100644 --- a/docs_manual/source/ui_user_profile.rst +++ b/docs_manual/source/ui_user_profile.rst @@ -3,38 +3,76 @@ User Profile ^^^^^^^^^^^^ -The user profile screen displays information regarding your account. +The user profile screen displays information regarding your account. The user +profile displays your information and provides functionality for managing your +user details. .. figure:: _static/sodar_ui/user_profile.png :align: center - :scale: 65% + :scale: 60% User profile view + +User Settings +============= + Through the user profile, you can modify global user-specific settings for your account by clicking the :guilabel:`Update Settings` button. The following user settings are available: -Sample Sheet Table Height +Sample sheet table height Choose the maximum height of study and assay tables in the sample sheets app from a set of options. In browsing mode, table height will fit the table content if the height of content is lower than the setting. In edit mode, the chosen table height will be maintained regardless of content. -Display Template Output Directory Field +Display template output directory field Display or hide the "output directory" field in sample sheet template creation form. This can be enabled if there is need to control the output directory in sample sheet ISA-Tab exports. Defaults to false. -Display Project UUID Copying Link +Receive email for admin alerts + Receive email notifications for admin alerts where the admin has enabled + email alering. If unchecked, you can still see the alerts in the SODAR GUI. +Display project UUID copying link Enabling this will add an icon next to the project title on each project view. Clicking it will copy the project identifier (UUID) into the clipboard. -Additional Email - Additional email addresses for the user can be input here. If email sending - is enabled on the server, notification emails will be sent to these - addresses in addition to the default user email. Separate multiple addresses - with the semicolon character (``;``). +Receive email for project updates + Receive email notifications for category or project creation, updating, + moving and archiving. +Receive email for project membership updates + Receive email notifications for category or project membership updates and + member invitation activity. + + +.. figure:: _static/sodar_ui/user_profile_settings.png + :align: center + :scale: 60% + + User settings view + + +Additional Emails +================= + +You can configure additional emails for your user account in case you want to +receive automated emails to addresses other than your account's primary +address. The user profile view displays additional emails and provides controls +for managing these addresses. + +A new email address can be added with by clicking on the :guilabel:`Add Email` +button. After creation, a verification email will be sent to the specified +address. Opening a link contained in the email will verify the email. Only +verified email addresses will receive automated emails from SODAR. + +For each email address displayed in the list, there are controls to re-send the +verification email in case of an unverified email and deleting the address. + + +Update User Details +=================== If local users are enabled on the site and you have a local SODAR account, the profile also includes the :guilabel:`Update User` button. This opens a form in which you can update your details and password. This form is **not** available -for users authenticating with an existing user account via LDAP or SAML. +for users authenticating with an existing user account via LDAP. diff --git a/irodsinfo/tests/test_permissions.py b/irodsinfo/tests/test_permissions.py index 12d3f246a..0436638c1 100644 --- a/irodsinfo/tests/test_permissions.py +++ b/irodsinfo/tests/test_permissions.py @@ -3,10 +3,10 @@ from django.urls import reverse # Projectroles dependency -from projectroles.tests.test_permissions import TestSiteAppPermissionBase +from projectroles.tests.test_permissions import SiteAppPermissionTestBase -class TestIrodsinfoPermissions(TestSiteAppPermissionBase): +class TestIrodsinfoPermissions(SiteAppPermissionTestBase): """Tests for irodsinfo UI view permissions""" def test_get_irods_info(self): diff --git a/irodsinfo/tests/test_permissions_api.py b/irodsinfo/tests/test_permissions_api.py index ba42883c9..03a04da1d 100644 --- a/irodsinfo/tests/test_permissions_api.py +++ b/irodsinfo/tests/test_permissions_api.py @@ -3,10 +3,10 @@ from django.urls import reverse # Projectroles dependency -from projectroles.tests.test_permissions import TestSiteAppPermissionBase +from projectroles.tests.test_permissions import SiteAppPermissionTestBase -class TestIrodsConfigRetrieveAPIView(TestSiteAppPermissionBase): +class TestIrodsConfigRetrieveAPIView(SiteAppPermissionTestBase): """Tests for irodsinfo API""" def test_get_irods_config(self): diff --git a/isatemplates/plugins.py b/isatemplates/plugins.py index 0f012cd43..a0cc4eb41 100644 --- a/isatemplates/plugins.py +++ b/isatemplates/plugins.py @@ -3,7 +3,11 @@ from django.urls import reverse # Projectroles dependency -from projectroles.plugins import SiteAppPluginPoint, BackendPluginPoint +from projectroles.plugins import ( + SiteAppPluginPoint, + BackendPluginPoint, + PluginObjectLink, +) from isatemplates.api import ISATemplateAPI from isatemplates.models import CookiecutterISATemplate @@ -43,24 +47,24 @@ class SiteAppPlugin(SiteAppPluginPoint): def get_object_link(self, model_str, uuid): """ - Return URL for referring to a object used by the app, along with a - label to be shown to the user for linking. + Return URL referring to an object used by the app, along with a name to + be shown to the user for linking. :param model_str: Object class (string) :param uuid: sodar_uuid of the referred object - :return: Dict or None if not found + :return: PluginObjectLink or None if not found """ obj = self.get_object(eval(model_str), uuid) if not obj: return None if obj.__class__ == CookiecutterISATemplate: - return { - 'url': reverse( + return PluginObjectLink( + url=reverse( 'isatemplates:detail', kwargs={'cookiecutterisatemplate': obj.sodar_uuid}, ), - 'label': obj.description, - } + name=obj.description, + ) def get_statistics(self): """ diff --git a/isatemplates/tests/test_permissions.py b/isatemplates/tests/test_permissions.py index d154ad952..9f17e8ece 100644 --- a/isatemplates/tests/test_permissions.py +++ b/isatemplates/tests/test_permissions.py @@ -6,7 +6,7 @@ from django.urls import reverse # Projectroles dependency -from projectroles.tests.test_permissions import TestSiteAppPermissionBase +from projectroles.tests.test_permissions import SiteAppPermissionTestBase from isatemplates.tests.test_models import ( CookiecutterISATemplateMixin, @@ -16,7 +16,7 @@ class TestISATemplatesPermissions( - CookiecutterISATemplateMixin, TestSiteAppPermissionBase + CookiecutterISATemplateMixin, SiteAppPermissionTestBase ): """Tests for isatemplates UI view permissions""" diff --git a/isatemplates/tests/test_ui.py b/isatemplates/tests/test_ui.py index 244538199..a27345277 100644 --- a/isatemplates/tests/test_ui.py +++ b/isatemplates/tests/test_ui.py @@ -12,7 +12,7 @@ from selenium.webdriver.common.by import By # Projectroles dependency -from projectroles.tests.test_ui import TestUIBase +from projectroles.tests.test_ui import UITestBase from isatemplates.models import ISA_FILE_PREFIXES from isatemplates.tests.test_models import ( @@ -29,7 +29,7 @@ BACKEND_PLUGINS_NO_TPL.remove('isatemplates_backend') -class TestISATemplateListView(CookiecutterISATemplateMixin, TestUIBase): +class TestISATemplateListView(CookiecutterISATemplateMixin, UITestBase): """Tests for ISATemplateListView UI""" def setUp(self): @@ -106,7 +106,7 @@ def test_get_disable_backend(self): class TestISATemplateDetailView( - CookiecutterISATemplateMixin, CookiecutterISAFileMixin, TestUIBase + CookiecutterISATemplateMixin, CookiecutterISAFileMixin, UITestBase ): """Tests for ISATemplateDetailView UI""" @@ -156,7 +156,7 @@ def test_get(self): class TestCUBIISATemplateDetailView( - CookiecutterISATemplateMixin, CookiecutterISAFileMixin, TestUIBase + CookiecutterISATemplateMixin, CookiecutterISAFileMixin, UITestBase ): """Tests for CUBIISATemplateDetailView UI""" diff --git a/isatemplates/tests/test_views.py b/isatemplates/tests/test_views.py index da6ea28a5..b2819f2d9 100644 --- a/isatemplates/tests/test_views.py +++ b/isatemplates/tests/test_views.py @@ -16,7 +16,7 @@ from test_plus.test import TestCase # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from isatemplates.forms import ( NO_JSON_MSG, @@ -250,7 +250,8 @@ def test_post_zip(self): self.assertEqual(CookiecutterISATemplate.objects.count(), 0) self.assertEqual(CookiecutterISAFile.objects.count(), 0) self.assertEqual( - ProjectEvent.objects.filter(event_name='template_create').count(), 0 + TimelineEvent.objects.filter(event_name='template_create').count(), + 0, ) data = { @@ -290,7 +291,8 @@ def test_post_zip(self): } self.assertEqual(model_to_dict(file_obj), expected) self.assertEqual( - ProjectEvent.objects.filter(event_name='template_create').count(), 1 + TimelineEvent.objects.filter(event_name='template_create').count(), + 1, ) def test_post_zip_no_json(self): @@ -615,7 +617,8 @@ def test_post(self): for f in self._get_files(): self.assertEqual(f.content, '') self.assertEqual( - ProjectEvent.objects.filter(event_name='template_update').count(), 0 + TimelineEvent.objects.filter(event_name='template_update').count(), + 0, ) data = { @@ -642,7 +645,8 @@ def test_post(self): with open(fp, 'rb') as f: self.assertEqual(file_obj.content, f.read().decode('utf-8')) self.assertEqual( - ProjectEvent.objects.filter(event_name='template_update').count(), 1 + TimelineEvent.objects.filter(event_name='template_update').count(), + 1, ) def test_post_no_file(self): @@ -655,7 +659,8 @@ def test_post_no_file(self): for f in self._get_files(): self.assertEqual(f.content, '') self.assertEqual( - ProjectEvent.objects.filter(event_name='template_update').count(), 0 + TimelineEvent.objects.filter(event_name='template_update').count(), + 0, ) data = { 'description': TEMPLATE_DESC_UPDATE, @@ -673,7 +678,8 @@ def test_post_no_file(self): for f in self._get_files(): self.assertEqual(f.content, '') self.assertEqual( - ProjectEvent.objects.filter(event_name='template_update').count(), 1 + TimelineEvent.objects.filter(event_name='template_update').count(), + 1, ) def test_post_no_name(self): @@ -712,7 +718,8 @@ def test_post_no_json(self): for f in self._get_files(): self.assertEqual(f.content, '') self.assertEqual( - ProjectEvent.objects.filter(event_name='template_update').count(), 0 + TimelineEvent.objects.filter(event_name='template_update').count(), + 0, ) def test_post_no_investigation(self): @@ -817,7 +824,8 @@ def test_get(self): def test_post(self): """Test POST""" self.assertEqual( - ProjectEvent.objects.filter(event_name='template_delete').count(), 0 + TimelineEvent.objects.filter(event_name='template_delete').count(), + 0, ) self.assertEqual(CookiecutterISATemplate.objects.count(), 1) self.assertEqual(CookiecutterISAFile.objects.count(), 3) @@ -827,7 +835,8 @@ def test_post(self): self.assertEqual(CookiecutterISATemplate.objects.count(), 0) self.assertEqual(CookiecutterISAFile.objects.count(), 0) self.assertEqual( - ProjectEvent.objects.filter(event_name='template_delete').count(), 1 + TimelineEvent.objects.filter(event_name='template_delete').count(), + 1, ) diff --git a/isatemplates/views.py b/isatemplates/views.py index 71d2b12cb..bf70cc856 100644 --- a/isatemplates/views.py +++ b/isatemplates/views.py @@ -203,8 +203,9 @@ class ISATemplateDeleteView( slug_field = 'sodar_uuid' template_name = 'isatemplates/template_confirm_delete.html' - def get_success_url(self): - return self.handle_modify(self.object, 'delete') + def form_valid(self, form): + self.object.delete() + return redirect(self.handle_modify(self.object, 'delete')) class ISATemplateExportView(LoggedInPermissionMixin, View): diff --git a/landingzones/configapps/bih_proteomics_smb/urls.py b/landingzones/configapps/bih_proteomics_smb/urls.py index 8c6581432..a86e75996 100644 --- a/landingzones/configapps/bih_proteomics_smb/urls.py +++ b/landingzones/configapps/bih_proteomics_smb/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import url +from django.urls import path from . import views @@ -6,8 +6,8 @@ app_name = 'landingzones.configapps.bih_proteomics_smb' urlpatterns = [ - url( - regex=r'^(?P[0-9a-f-]+)$', + path( + route='', view=views.ZoneTicketGetView.as_view(), name='ticket_get', ) diff --git a/landingzones/plugins.py b/landingzones/plugins.py index 1c0e5e014..482a2e5e9 100644 --- a/landingzones/plugins.py +++ b/landingzones/plugins.py @@ -11,6 +11,7 @@ from projectroles.plugins import ( ProjectAppPluginPoint, ProjectModifyPluginMixin, + PluginObjectLink, get_backend_api, ) @@ -123,31 +124,30 @@ class ProjectAppPlugin( def get_object_link(self, model_str, uuid): """ - Return URL for referring to a object used by the app, along with a - label to be shown to the user for linking. + Return URL referring to an object used by the app, along with a name to + be shown to the user for linking. :param model_str: Object class (string) :param uuid: sodar_uuid of the referred object - :return: Dict or None if not found + :return: PluginObjectLink or None if not found """ obj = self.get_object(eval(model_str), uuid) if not obj: return None if obj.__class__ == LandingZone and obj.status != ZONE_STATUS_MOVED: - return { - 'url': reverse( + return PluginObjectLink( + url=reverse( 'landingzones:list', kwargs={'project': obj.project.sodar_uuid}, ) + '#' + str(obj.sodar_uuid), - 'label': obj.title, - } - elif obj.__class__ == Assay: - return { - 'url': obj.get_url(), - 'label': obj.get_display_name(), - } + name=obj.title, + ) + if obj.__class__ == Assay: + return PluginObjectLink( + url=obj.get_url(), name=obj.get_display_name() + ) def get_statistics(self): """ diff --git a/landingzones/tests/test_permissions.py b/landingzones/tests/test_permissions.py index 09b40926a..cba66844c 100644 --- a/landingzones/tests/test_permissions.py +++ b/landingzones/tests/test_permissions.py @@ -5,7 +5,7 @@ # Projectroles dependency from projectroles.models import SODAR_CONSTANTS -from projectroles.tests.test_permissions import TestProjectPermissionBase +from projectroles.tests.test_permissions import ProjectPermissionTestBase # Samplesheets dependency from samplesheets.tests.test_io import SampleSheetIOMixin, SHEET_DIR @@ -33,7 +33,7 @@ class LandingzonesPermissionTestBase( LandingZoneMixin, SampleSheetIOMixin, - TestProjectPermissionBase, + ProjectPermissionTestBase, ): """Base class for landingzones permissions tests""" diff --git a/landingzones/tests/test_permissions_api.py b/landingzones/tests/test_permissions_api.py index 5b8a612a3..2a6c08513 100644 --- a/landingzones/tests/test_permissions_api.py +++ b/landingzones/tests/test_permissions_api.py @@ -5,7 +5,7 @@ # Projectroles dependency from projectroles.models import SODAR_CONSTANTS -from projectroles.tests.test_permissions_api import TestProjectAPIPermissionBase +from projectroles.tests.test_permissions_api import ProjectAPIPermissionTestBase # Samplesheets dependency from samplesheets.tests.test_io import SampleSheetIOMixin, SHEET_DIR @@ -32,7 +32,7 @@ class ZoneAPIPermissionTestBase( LandingZoneMixin, SampleSheetIOMixin, - TestProjectAPIPermissionBase, + ProjectAPIPermissionTestBase, ): """Base class for landingzones REST API view permission tests""" diff --git a/landingzones/tests/test_ui.py b/landingzones/tests/test_ui.py index 9925feb29..56e0d927f 100644 --- a/landingzones/tests/test_ui.py +++ b/landingzones/tests/test_ui.py @@ -12,7 +12,7 @@ # Projectroles dependency from projectroles.app_settings import AppSettingAPI -from projectroles.tests.test_ui import TestUIBase +from projectroles.tests.test_ui import UITestBase # Samplesheets dependency from samplesheets.tests.test_io import SampleSheetIOMixin, SHEET_DIR @@ -36,7 +36,7 @@ class LandingZoneUITestBase( - SampleSheetIOMixin, SheetConfigMixin, LandingZoneMixin, TestUIBase + SampleSheetIOMixin, SheetConfigMixin, LandingZoneMixin, UITestBase ): """Base class for landingzones UI tests""" @@ -51,7 +51,7 @@ def _setup_investigation(self): def _assert_element(self, by, element, expected=True): """Assert element existence for an already logged in user""" - # TODO: Add this into TestUIBase (see bihealth/sodar-core#1104) + # TODO: Add this into UITestBase (see bihealth/sodar-core#1104) if expected: self.assertIsNotNone(self.selenium.find_element(by, element)) else: diff --git a/landingzones/tests/test_views_api.py b/landingzones/tests/test_views_api.py index cf068201d..5dab0c546 100644 --- a/landingzones/tests/test_views_api.py +++ b/landingzones/tests/test_views_api.py @@ -7,7 +7,7 @@ # Projectroles dependency from projectroles.models import SODAR_CONSTANTS from projectroles.plugins import get_backend_api -from projectroles.tests.test_views_api import TestAPIViewsBase +from projectroles.tests.test_views_api import APIViewTestBase # Samplesheets dependency from samplesheets.tests.test_io import SampleSheetIOMixin, SHEET_DIR @@ -38,7 +38,7 @@ class TestLandingZoneAPIViewsBase( - LandingZoneMixin, SampleSheetIOMixin, TestAPIViewsBase + LandingZoneMixin, SampleSheetIOMixin, APIViewTestBase ): """Base class for Landingzones API view testing""" diff --git a/landingzones/tests/test_views_taskflow.py b/landingzones/tests/test_views_taskflow.py index 0826c638a..d8ae22702 100644 --- a/landingzones/tests/test_views_taskflow.py +++ b/landingzones/tests/test_views_taskflow.py @@ -28,7 +28,7 @@ # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from landingzones.constants import ( ZONE_STATUS_CREATING, @@ -188,7 +188,7 @@ def test_create_zone(self): """Test landingzones creation with taskflow""" self.assertEqual(LandingZone.objects.count(), 0) self.assertEqual( - ProjectEvent.objects.filter(event_name='zone_create').count(), 0 + TimelineEvent.objects.filter(event_name='zone_create').count(), 0 ) self.assertEqual(len(mail.outbox), 1) @@ -210,7 +210,9 @@ def test_create_zone(self): self.assert_irods_coll(zone) for c in ZONE_BASE_COLLS: self.assert_irods_coll(zone, c, False) - tl_event = ProjectEvent.objects.filter(event_name='zone_create').first() + tl_event = TimelineEvent.objects.filter( + event_name='zone_create' + ).first() expected_extra = { 'title': zone.title, 'assay': str(zone.assay.sodar_uuid), @@ -246,7 +248,9 @@ def test_create_zone_colls(self): self.assert_zone_count(1) zone = LandingZone.objects.first() self.assert_zone_status(zone, ZONE_STATUS_ACTIVE) - tl_event = ProjectEvent.objects.filter(event_name='zone_create').first() + tl_event = TimelineEvent.objects.filter( + event_name='zone_create' + ).first() self.assertEqual(tl_event.extra_data['create_colls'], True) self.assertEqual(tl_event.extra_data['restrict_colls'], False) self.assert_irods_coll(zone) @@ -660,7 +664,7 @@ def test_move_invalid_status(self): self.assertEqual(len(self.assay_coll.data_objects), 0) self.assertEqual(len(mail.outbox), 1) self.assertEqual( - ProjectEvent.objects.filter(event_name='zone_move').count(), 0 + TimelineEvent.objects.filter(event_name='zone_move').count(), 0 ) self.assertEqual( AppAlert.objects.filter(alert_name='zone_move').count(), 0 @@ -678,7 +682,7 @@ def test_move_invalid_status(self): self.assertEqual(len(self.zone_coll.data_objects), 2) self.assertEqual(len(self.assay_coll.data_objects), 0) self.assertEqual(len(mail.outbox), 1) - tl_event = ProjectEvent.objects.filter(event_name='zone_move').first() + tl_event = TimelineEvent.objects.filter(event_name='zone_move').first() self.assertIsNone(tl_event) self.assertEqual( AppAlert.objects.filter(alert_name='zone_move').count(), 0 @@ -695,7 +699,7 @@ def test_move_lock_failure(self): self.assertEqual(len(self.assay_coll.data_objects), 0) self.assertEqual(len(mail.outbox), 1) self.assertEqual( - ProjectEvent.objects.filter(event_name='zone_move').count(), 0 + TimelineEvent.objects.filter(event_name='zone_move').count(), 0 ) self.assertEqual( AppAlert.objects.filter(alert_name='zone_move').count(), 0 @@ -709,8 +713,8 @@ def test_move_lock_failure(self): self.assertEqual(len(self.zone_coll.data_objects), 2) self.assertEqual(len(self.assay_coll.data_objects), 0) self.assertEqual(len(mail.outbox), 1) # TODO: Should this send email? - tl_event = ProjectEvent.objects.filter(event_name='zone_move').first() - self.assertIsInstance(tl_event, ProjectEvent) + tl_event = TimelineEvent.objects.filter(event_name='zone_move').first() + self.assertIsInstance(tl_event, TimelineEvent) self.assertEqual(tl_event.get_status().status_type, ZONE_STATUS_FAILED) # TODO: Create app alerts for async failures (see #1499) self.assertEqual( diff --git a/ontologyaccess/tests/test_permissions.py b/ontologyaccess/tests/test_permissions.py index 1b0acce8c..b244654f0 100644 --- a/ontologyaccess/tests/test_permissions.py +++ b/ontologyaccess/tests/test_permissions.py @@ -3,7 +3,7 @@ from django.urls import reverse # Projectroles dependency -from projectroles.tests.test_permissions import TestSiteAppPermissionBase +from projectroles.tests.test_permissions import SiteAppPermissionTestBase from ontologyaccess.models import DEFAULT_TERM_URL from ontologyaccess.tests.test_models import OBOFormatOntologyModelMixin @@ -29,7 +29,7 @@ class OntologyAccessPermissionTestBase( - OBOFormatOntologyModelMixin, TestSiteAppPermissionBase + OBOFormatOntologyModelMixin, SiteAppPermissionTestBase ): """Base class for ontologyaccess UI view permission tests""" diff --git a/requirements/base.txt b/requirements/base.txt index a77640a9c..b1bf87435 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,50 +1,56 @@ # Wheel # NOTE: For best results wheel should be installed separately before other deps -wheel==0.40.0 +wheel==0.42.0 # Setuptools -setuptools==67.6.0 +setuptools==70.0.0 # Django -django==3.2.25 +django==4.2.16 # Configuration -django-environ==0.10.0 +django-environ==0.11.2 # Forms -django-crispy-forms==2.0 -crispy-bootstrap4==2022.1 +django-crispy-forms==2.1 +crispy-bootstrap4==2024.1 # Models -django-model-utils==4.3.1 +django-model-utils==4.4.0 # Password storage argon2-cffi==21.3.0 # Python-PostgreSQL Database Adapter -psycopg2-binary==2.9.5 +psycopg2-binary==2.9.9 # Unicode slugification awesome-slugify==1.6.5 # Time zones support -pytz==2022.7.1 +pytz==2024.1 + +# SVG icon support +django-iconify==0.3 + +# OpenID Connect (OIDC) authentication support +social-auth-app-django==5.4.0 # Redis support -redis>=4.5.4, <4.6 +redis>=5.0.2, <5.1 # Profiling django-cprofile-middleware==1.0.5 -# Versioning -versioneer==0.28 - # Online documentation via django-docs -docutils==0.18.1 -Sphinx==6.2.1 # NOTE: sphinx-rtd-theme v1.2.2 forces <7 +docutils==0.20.1 +Sphinx==7.2.6 django-docs==0.3.3 -sphinx-rtd-theme==1.2.2 -sphinxcontrib-youtube==1.2.0 +sphinx-rtd-theme==2.0.0 +sphinxcontrib-youtube==1.4.1 + +# Versioning +versioneer==0.29 ##################### # SODAR Core imports @@ -54,27 +60,27 @@ sphinxcontrib-youtube==1.2.0 rules==3.3 # REST framework -djangorestframework==3.14.0 +djangorestframework==3.15.2 # Token authentication django-rest-knox==4.2.0 # Markdown field support -markdown==3.4.1 +markdown==3.5.2 django-markupfield==2.0.1 django-pagedown==2.2.1 -mistune==2.0.5 +mistune==3.0.2 # Pin to avoid issue with v3.9.5 # See issue #166 and bihealth/sodar-core#1225 -django-autocomplete-light==3.9.4 +django-autocomplete-light==3.11.0 # SODAR Core -django-sodar-core==0.13.4 -# -e git+https://github.com/bihealth/sodar-core.git@be012e5536bacf8bfbfe95e3c930324edae0309b#egg=django-sodar-core +django-sodar-core==1.0.2 +# -e git+https://github.com/bihealth/sodar-core.git@dac0069d08bb7d2d6e68a30b607eaa86e5cc4425#egg=django-sodar-core # Celery -celery==5.2.7 +celery==5.3.6 #################### # SODAR app imports diff --git a/requirements/local.txt b/requirements/local.txt index 35d2a276f..73bf77dbe 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -1,9 +1,14 @@ # Local development dependencies go here -r base.txt -django-extensions==3.2.1 +django-extensions==3.2.3 Werkzeug==3.0.3 -django-debug-toolbar==3.8.1 +django-debug-toolbar==4.3.0 # improved REPL ipdb==0.13.13 + +# OpenAPI support +inflection>=0.5.1, <0.6 +pyyaml>=6.0.1, <6.1 +uritemplate>=4.1.1, <4.2 diff --git a/requirements/test.txt b/requirements/test.txt index 896b65109..a9945a904 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,21 +1,21 @@ # Test dependencies go here. -r base.txt -flake8==6.0.0 -django-test-plus==2.2.1 -factory-boy==3.2.1 +flake8==7.0.0 +django-test-plus==2.2.3 +factory-boy==3.3.0 coverage==6.5.0 # NOTE: coveralls 3.3.1 requires <7.0 -django-coverage-plugin==3.0.0 +django-coverage-plugin==3.1.0 # pytest -pytest-django==4.5.2 -pytest-sugar==0.9.6 +pytest-django==4.8.0 +pytest-sugar==1.0.0 # Selenium for UI testing -selenium==4.8.2 +selenium==4.18.1 # BeautifulSoup for HTML testing -beautifulsoup4==4.11.2 +beautifulsoup4==4.12.3 # Black for formatting black==24.3.0 diff --git a/samplesheets/plugins.py b/samplesheets/plugins.py index 52baed0fe..1c547a048 100644 --- a/samplesheets/plugins.py +++ b/samplesheets/plugins.py @@ -20,6 +20,8 @@ from projectroles.plugins import ( ProjectAppPluginPoint, ProjectModifyPluginMixin, + PluginObjectLink, + PluginSearchResult, get_backend_api, ) from projectroles.utils import build_secret @@ -300,46 +302,44 @@ class ProjectAppPlugin( def get_object_link(self, model_str, uuid): """ - Return URL for referring to a object used by the app, along with a - label to be shown to the user for linking. + Return URL referring to an object used by the app, along with a name to + be shown to the user for linking. :param model_str: Object class (string) :param uuid: sodar_uuid of the referred object - :return: Dict or None if not found + :return: PluginObjectLink or None if not found """ obj = self.get_object(eval(model_str), uuid) if not obj: return None if obj.__class__ == IrodsAccessTicket: - return { - 'url': reverse( + return PluginObjectLink( + url=reverse( 'samplesheets:irods_tickets', kwargs={'project': obj.get_project().sodar_uuid}, ), - 'label': obj.get_display_name(), - } + name=obj.get_display_name(), + ) if obj.__class__ in [Investigation, Study, Assay]: - return { - 'url': obj.get_url(), - 'label': ( + return PluginObjectLink( + url=obj.get_url(), + name=( obj.title if obj.__class__ == Investigation else obj.get_display_name() ), - } + ) url_kwargs = {'project': obj.project.sodar_uuid} if obj.__class__ == ISATab: - return { - 'url': reverse('samplesheets:versions', kwargs=url_kwargs), - 'label': obj.get_full_name(), - } - elif obj.__class__ == IrodsDataRequest: - return { - 'url': reverse( - 'samplesheets:irods_requests', kwargs=url_kwargs - ), - 'label': obj.get_display_name(), - } + return PluginObjectLink( + url=reverse('samplesheets:versions', kwargs=url_kwargs), + name=obj.get_full_name(), + ) + if obj.__class__ == IrodsDataRequest: + return PluginObjectLink( + url=reverse('samplesheets:versions', kwargs=url_kwargs), + name=obj.get_full_name(), + ) @classmethod def _get_search_materials(cls, search_terms, user, keywords, item_types): @@ -449,32 +449,34 @@ def search(self, search_terms, user, search_type=None, keywords=None): :param user: User object for user initiating the search :param search_type: String :param keywords: List (optional) - :return: Dict + :return: List of PluginSearchResult objects """ irods_backend = get_backend_api('omics_irods') - results = {} + ret = [] # Materials if not search_type or search_type in MATERIAL_SEARCH_TYPES: item_types = ['SOURCE', 'SAMPLE'] if search_type in MATERIAL_SEARCH_TYPES: item_types = [search_type.upper()] - results['materials'] = { - 'title': 'Sources and Samples', - 'search_types': ['source', 'sample'], - 'items': self._get_search_materials( + r = PluginSearchResult( + category='materials', + title='Sources and Samples', + search_types=['source', 'sample'], + items=self._get_search_materials( search_terms, user, keywords, item_types ), - } + ) + ret.append(r) # iRODS files if irods_backend and (not search_type or search_type == 'file'): - results['files'] = { - 'title': 'Sample Files in iRODS', - 'search_types': ['file'], - 'items': self._get_search_files( - search_terms, user, irods_backend - ), - } - return results + r = PluginSearchResult( + category='files', + title='Sample Files in iRODS', + search_types=['file'], + items=self._get_search_files(search_terms, user, irods_backend), + ) + ret.append(r) + return ret def get_project_list_value(self, column_id, project, user): """ diff --git a/samplesheets/studyapps/cancer/urls.py b/samplesheets/studyapps/cancer/urls.py index 03e80db17..1684c39a5 100644 --- a/samplesheets/studyapps/cancer/urls.py +++ b/samplesheets/studyapps/cancer/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import url +from django.urls import path from . import views @@ -6,8 +6,8 @@ app_name = 'samplesheets.studyapps.cancer' urlpatterns = [ - url( - regex=r'^render/igv/(?P[0-9a-f-]+)(\..*)?$', + path( + route='render/igv/', view=views.IGVSessionFileRenderView.as_view(), name='igv', ) diff --git a/samplesheets/studyapps/germline/urls.py b/samplesheets/studyapps/germline/urls.py index 844e6dc12..1f7445a23 100644 --- a/samplesheets/studyapps/germline/urls.py +++ b/samplesheets/studyapps/germline/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import url +from django.urls import path from . import views @@ -6,8 +6,8 @@ app_name = 'samplesheets.studyapps.germline' urlpatterns = [ - url( - regex=r'^render/igv/(?P[0-9a-f-]+)(\..*)?$', + path( + route='render/igv/', view=views.IGVSessionFileRenderView.as_view(), name='igv', ) diff --git a/samplesheets/tests/test_commands.py b/samplesheets/tests/test_commands.py index 18835784d..72acad22b 100644 --- a/samplesheets/tests/test_commands.py +++ b/samplesheets/tests/test_commands.py @@ -19,7 +19,7 @@ from sodarcache.models import JSONCacheItem # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from samplesheets.management.commands.normalizesheets import ( LIB_NAME, @@ -80,7 +80,7 @@ def _assert_study_table_header(self, study_tables, assay, header, expected): def _assert_tl_event(self, expected): self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( event_name='sheet_normalize', project=self.project ).count(), expected, diff --git a/samplesheets/tests/test_permissions.py b/samplesheets/tests/test_permissions.py index 9fdb4ac8b..68eb2c0b2 100644 --- a/samplesheets/tests/test_permissions.py +++ b/samplesheets/tests/test_permissions.py @@ -7,7 +7,7 @@ # Projectroles dependency from projectroles.app_settings import AppSettingAPI -from projectroles.tests.test_permissions import TestProjectPermissionBase +from projectroles.tests.test_permissions import ProjectPermissionTestBase from projectroles.utils import build_secret from samplesheets.models import ( @@ -37,7 +37,7 @@ class SamplesheetsPermissionTestBase( - SampleSheetIOMixin, TestProjectPermissionBase + SampleSheetIOMixin, ProjectPermissionTestBase ): """Base test class for samplesheets UI view permissions""" @@ -307,7 +307,7 @@ def test_get_sync(self): self.assert_response(self.url, bad_users, 302) -class TestSheetTemplateCreateView(TestProjectPermissionBase): +class TestSheetTemplateCreateView(ProjectPermissionTestBase): """Permission tests for SheetTemplateCreateView""" def setUp(self): diff --git a/samplesheets/tests/test_permissions_ajax.py b/samplesheets/tests/test_permissions_ajax.py index c8b76b718..593388733 100644 --- a/samplesheets/tests/test_permissions_ajax.py +++ b/samplesheets/tests/test_permissions_ajax.py @@ -5,7 +5,7 @@ # Projectroles dependency from projectroles.app_settings import AppSettingAPI -from projectroles.tests.test_permissions import TestProjectPermissionBase +from projectroles.tests.test_permissions import ProjectPermissionTestBase from projectroles.utils import build_secret from samplesheets.models import ( @@ -31,7 +31,7 @@ class SampleSheetsAjaxPermissionTestBase( - SampleSheetIOMixin, TestProjectPermissionBase + SampleSheetIOMixin, ProjectPermissionTestBase ): """Base test class for samplesheets Ajax view permissions""" diff --git a/samplesheets/tests/test_permissions_api.py b/samplesheets/tests/test_permissions_api.py index 96f65084c..fb815a7c2 100644 --- a/samplesheets/tests/test_permissions_api.py +++ b/samplesheets/tests/test_permissions_api.py @@ -11,8 +11,8 @@ # Projectroles dependency from projectroles.models import SODAR_CONSTANTS from projectroles.tests.test_models import RemoteSiteMixin, RemoteProjectMixin -from projectroles.tests.test_permissions import TestProjectPermissionBase -from projectroles.tests.test_permissions_api import TestProjectAPIPermissionBase +from projectroles.tests.test_permissions import ProjectPermissionTestBase +from projectroles.tests.test_permissions_api import ProjectAPIPermissionTestBase from samplesheets.models import ( Investigation, @@ -40,7 +40,7 @@ class TestInvestigationRetrieveAPIView( SampleSheetIOMixin, - TestProjectAPIPermissionBase, + ProjectAPIPermissionTestBase, ): """Tests for InvestigationRetrieveAPIView permissions""" @@ -120,7 +120,7 @@ def test_get_archive(self): self.assert_response_api(url, self.anonymous, 401) -class TestSheetImportAPIView(SampleSheetIOMixin, TestProjectAPIPermissionBase): +class TestSheetImportAPIView(SampleSheetIOMixin, ProjectAPIPermissionTestBase): """Tests for SheetImportAPIView permissions""" def _cleanup_import(self): @@ -291,7 +291,7 @@ def test_post_archive(self): class TestSheetISAExportAPIView( SampleSheetIOMixin, - TestProjectAPIPermissionBase, + ProjectAPIPermissionTestBase, ): """Tests for SheetISAExportAPIView permissions""" @@ -364,7 +364,7 @@ def test_get_archive(self): class TestIrodsAccessTicketListAPIView( - SampleSheetIOMixin, IrodsAccessTicketMixin, TestProjectAPIPermissionBase + SampleSheetIOMixin, IrodsAccessTicketMixin, ProjectAPIPermissionTestBase ): """Test permissions for IrodsAccessTicketListAPIView""" @@ -438,7 +438,7 @@ def test_get_archive(self): class TestIrodsAccessTicketRetrieveAPIView( - SampleSheetIOMixin, IrodsAccessTicketMixin, TestProjectAPIPermissionBase + SampleSheetIOMixin, IrodsAccessTicketMixin, ProjectAPIPermissionTestBase ): """Test permissions for IrodsAccessTicketRetrieveAPIView""" @@ -509,7 +509,7 @@ def test_get_archive(self): class TestIrodsDataRequestRetrieveAPIView( - IrodsDataRequestMixin, TestProjectAPIPermissionBase + IrodsDataRequestMixin, ProjectAPIPermissionTestBase ): """Tests for TestIrodsDataRequestRetrieveAPIView permissions""" @@ -581,7 +581,7 @@ def test_get_archive(self): self.assert_response_api(self.url, self.anonymous, 401) -class TestIrodsDataRequestListAPIView(TestProjectAPIPermissionBase): +class TestIrodsDataRequestListAPIView(ProjectAPIPermissionTestBase): """Tests for TestIrodsDataRequestListAPIView permissions""" def setUp(self): @@ -646,7 +646,7 @@ def test_get_archive(self): class TestIrodsDataRequestRejectAPIView( - IrodsDataRequestMixin, TestProjectAPIPermissionBase + IrodsDataRequestMixin, ProjectAPIPermissionTestBase ): """Test permissions for TestIrodsDataRequestRejectAPIView""" @@ -728,7 +728,7 @@ def test_reject_archive(self): class TestIrodsDataRequestDestroyAPIView( - SampleSheetIOMixin, IrodsDataRequestMixin, TestProjectAPIPermissionBase + SampleSheetIOMixin, IrodsDataRequestMixin, ProjectAPIPermissionTestBase ): """Test permissions for IrodsDataRequestDestroyAPIView""" @@ -816,7 +816,7 @@ class TestRemoteSheetGetAPIView( SampleSheetIOMixin, RemoteSiteMixin, RemoteProjectMixin, - TestProjectPermissionBase, + ProjectPermissionTestBase, ): """Tests for RemoteSheetGetAPIView permissions""" diff --git a/samplesheets/tests/test_tasks_celery_taskflow.py b/samplesheets/tests/test_tasks_celery_taskflow.py index ba97509ca..03ae778b6 100644 --- a/samplesheets/tests/test_tasks_celery_taskflow.py +++ b/samplesheets/tests/test_tasks_celery_taskflow.py @@ -18,7 +18,7 @@ from taskflowbackend.tests.base import TaskflowViewTestBase # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from samplesheets.models import ISATab from samplesheets.tasks_celery import ( @@ -79,7 +79,7 @@ def test_update_cache(self): self.assertEqual( AppAlert.objects.filter(alert_name=CACHE_UPDATE_EVENT).count(), 0 ) - self.assertEqual(ProjectEvent.objects.count(), 2) + self.assertEqual(TimelineEvent.objects.count(), 2) update_project_cache_task( self.project.sodar_uuid, @@ -109,7 +109,7 @@ def test_update_cache(self): ) alert = AppAlert.objects.order_by('-pk').first() self.assertTrue(alert.message.endswith(CACHE_ALERT_MESSAGE)) - self.assertEqual(ProjectEvent.objects.count(), 3) + self.assertEqual(TimelineEvent.objects.count(), 3) def test_update_cache_no_alert(self): """Test cache update with app alert disabled""" @@ -119,7 +119,7 @@ def test_update_cache_no_alert(self): self.assertEqual( AppAlert.objects.filter(alert_name=CACHE_UPDATE_EVENT).count(), 0 ) - self.assertEqual(ProjectEvent.objects.count(), 2) + self.assertEqual(TimelineEvent.objects.count(), 2) update_project_cache_task( self.project.sodar_uuid, self.user.sodar_uuid, add_alert=False @@ -131,7 +131,7 @@ def test_update_cache_no_alert(self): self.assertEqual( AppAlert.objects.filter(alert_name=CACHE_UPDATE_EVENT).count(), 0 ) - self.assertEqual(ProjectEvent.objects.count(), 3) + self.assertEqual(TimelineEvent.objects.count(), 3) def test_update_cache_no_user(self): """Test cache update with no user""" @@ -141,7 +141,7 @@ def test_update_cache_no_user(self): self.assertEqual( AppAlert.objects.filter(alert_name=CACHE_UPDATE_EVENT).count(), 0 ) - self.assertEqual(ProjectEvent.objects.count(), 2) + self.assertEqual(TimelineEvent.objects.count(), 2) update_project_cache_task(self.project.sodar_uuid, None, add_alert=True) @@ -151,7 +151,7 @@ def test_update_cache_no_user(self): self.assertEqual( AppAlert.objects.filter(alert_name=CACHE_UPDATE_EVENT).count(), 0 ) - self.assertEqual(ProjectEvent.objects.count(), 3) + self.assertEqual(TimelineEvent.objects.count(), 3) class TestSheetRemoteSyncTask(SheetRemoteSyncTestBase): diff --git a/samplesheets/tests/test_ui.py b/samplesheets/tests/test_ui.py index f3b5222ba..72b5b09bf 100644 --- a/samplesheets/tests/test_ui.py +++ b/samplesheets/tests/test_ui.py @@ -18,7 +18,7 @@ # Projectroles dependency from projectroles.app_settings import AppSettingAPI from projectroles.plugins import get_backend_api -from projectroles.tests.test_ui import TestUIBase +from projectroles.tests.test_ui import UITestBase from samplesheets.forms import TPL_DIR_FIELD, TPL_DIR_LABEL from samplesheets.models import ( @@ -59,7 +59,7 @@ CONFIG_DATA_UPDATED = json.load(fp) -class SamplesheetsUITestBase(SampleSheetIOMixin, SheetConfigMixin, TestUIBase): +class SamplesheetsUITestBase(SampleSheetIOMixin, SheetConfigMixin, UITestBase): """Base view samplesheets view UI tests""" def setup_investigation(self, config_data=None): @@ -609,7 +609,7 @@ def test_render_davrods_button(self): class TestSheetVersionCompareView( - SampleSheetIOMixin, SheetConfigMixin, TestUIBase + SampleSheetIOMixin, SheetConfigMixin, UITestBase ): """Tests for sheet version compare view UI""" @@ -647,7 +647,7 @@ def test_render(self): class TestSheetVersionCompareFileView( - SampleSheetIOMixin, SheetConfigMixin, TestUIBase + SampleSheetIOMixin, SheetConfigMixin, UITestBase ): """Tests for sheet version compare file view UI""" diff --git a/samplesheets/tests/test_views.py b/samplesheets/tests/test_views.py index 3c57c9adc..08c1e1259 100644 --- a/samplesheets/tests/test_views.py +++ b/samplesheets/tests/test_views.py @@ -1497,9 +1497,7 @@ class TestProjectSearchResultsView(SamplesheetsViewTestBase): """Tests for ProjectSearchResultsView view with sample sheet input""" def _get_items(self, response): - return response.context['app_results'][0]['results']['materials'][ - 'items' - ] + return response.context['app_results'][0]['results']['materials'].items def setUp(self): super().setUp() diff --git a/samplesheets/tests/test_views_ajax.py b/samplesheets/tests/test_views_ajax.py index 2e5e8e5b0..e17be5e18 100644 --- a/samplesheets/tests/test_views_ajax.py +++ b/samplesheets/tests/test_views_ajax.py @@ -17,7 +17,7 @@ from sodarcache.models import JSONCacheItem # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent # Ontologyaccess dependency from ontologyaccess.io import OBOFormatOntologyIO @@ -1834,7 +1834,7 @@ def test_post_study_column(self): ) self.assertEqual(sheet_config, CONFIG_DATA_DEFAULT) self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( project=self.project, app=APP_NAME, event_name='field_update', @@ -1871,7 +1871,7 @@ def test_post_study_column(self): expected, ) self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( project=self.project, app=APP_NAME, event_name='field_update', diff --git a/samplesheets/tests/test_views_api.py b/samplesheets/tests/test_views_api.py index 061619aa7..0fd345db9 100644 --- a/samplesheets/tests/test_views_api.py +++ b/samplesheets/tests/test_views_api.py @@ -14,13 +14,13 @@ from projectroles.models import SODAR_CONSTANTS from projectroles.plugins import get_backend_api from projectroles.tests.test_models import RemoteSiteMixin, RemoteProjectMixin -from projectroles.tests.test_views_api import TestAPIViewsBase +from projectroles.tests.test_views_api import APIViewTestBase # Sodarcache dependency from sodarcache.models import JSONCacheItem # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent # Landingzones dependency from landingzones.models import LandingZone @@ -93,7 +93,7 @@ # TODO: Add testing for study table cache updates -class SampleSheetAPIViewTestBase(SampleSheetIOMixin, TestAPIViewsBase): +class SampleSheetAPIViewTestBase(SampleSheetIOMixin, APIViewTestBase): """Base view for samplesheets API views tests""" @@ -923,9 +923,9 @@ class TestIrodsDataRequestDestroyAPIView( """Tests for IrodsDataRequestDestroyAPIView""" def _assert_tl_count(self, count): - """Assert timeline ProjectEvent count""" + """Assert timeline TimelineEvent count""" self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( event_name='irods_request_delete' ).count(), count, diff --git a/samplesheets/tests/test_views_api_taskflow.py b/samplesheets/tests/test_views_api_taskflow.py index da68980ab..38e17b9d9 100644 --- a/samplesheets/tests/test_views_api_taskflow.py +++ b/samplesheets/tests/test_views_api_taskflow.py @@ -20,7 +20,7 @@ from projectroles.plugins import get_backend_api # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent # Taskflowbackend dependency from taskflowbackend.tests.base import ( @@ -830,9 +830,9 @@ class TestIrodsDataRequestUpdateAPIView( """Tests for IrodsDataRequestUpdateAPIView""" def _assert_tl_count(self, count): - """Assert timeline ProjectEvent count""" + """Assert timeline TimelineEvent count""" self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( event_name='irods_request_update' ).count(), count, diff --git a/samplesheets/tests/test_views_taskflow.py b/samplesheets/tests/test_views_taskflow.py index 179882775..07a82300f 100644 --- a/samplesheets/tests/test_views_taskflow.py +++ b/samplesheets/tests/test_views_taskflow.py @@ -20,13 +20,13 @@ from projectroles.app_settings import AppSettingAPI from projectroles.models import SODAR_CONSTANTS from projectroles.plugins import get_backend_api -from projectroles.views import MSG_NO_AUTH +from projectroles.views import NO_AUTH_MSG # Appalerts dependency from appalerts.models import AppAlert # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent # Taskflowbackend dependency from taskflowbackend.tests.base import TaskflowViewTestBase @@ -185,7 +185,7 @@ def get_tl_event_count(cls, action): :param action: "create", "update" or "delete" (string) :return: Integer """ - return ProjectEvent.objects.filter( + return TimelineEvent.objects.filter( event_name='irods_ticket_' + action ).count() @@ -1099,9 +1099,9 @@ def _assert_tl_count(self, event_name, count, **kwargs): :param kwargs: Extra kwargs for query (dict, optional) """ timeline = get_backend_api('timeline_backend') - ProjectEvent, _ = timeline.get_models() + TimelineEvent, _ = timeline.get_models() self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( event_name=event_name, **kwargs ).count(), count, @@ -1196,7 +1196,7 @@ def test_post(self): self.assertEqual(obj.description, IRODS_REQUEST_DESC) self._assert_tl_count(EVENT_CREATE, 1) self.assertEqual( - ProjectEvent.objects.get(event_name=EVENT_CREATE).extra_data, + TimelineEvent.objects.get(event_name=EVENT_CREATE).extra_data, { 'action': IRODS_REQUEST_ACTION_DELETE, 'path': obj.path, @@ -1368,7 +1368,7 @@ def test_post(self): self.assertEqual(self.request.description, IRODS_REQUEST_DESC_UPDATE) self._assert_tl_count(EVENT_UPDATE, 1) self.assertEqual( - ProjectEvent.objects.get(event_name=EVENT_UPDATE).extra_data, + TimelineEvent.objects.get(event_name=EVENT_UPDATE).extra_data, { 'action': IRODS_REQUEST_ACTION_DELETE, 'path': self.request.path, @@ -1466,7 +1466,7 @@ def test_post(self): self.assert_irods_obj(self.obj_path) self._assert_tl_count(EVENT_DELETE, 1) self.assertEqual( - ProjectEvent.objects.get(event_name=EVENT_DELETE).extra_data, {} + TimelineEvent.objects.get(event_name=EVENT_DELETE).extra_data, {} ) # Create alerts should be deleted self._assert_alert_count(EVENT_CREATE, self.user, 0) @@ -2268,7 +2268,7 @@ def test_get_contributor(self): self.assertRedirects(response, reverse('home')) self.assertEqual( - list(get_messages(response.wsgi_request))[-1].message, MSG_NO_AUTH + list(get_messages(response.wsgi_request))[-1].message, NO_AUTH_MSG ) request.refresh_from_db() self.assertEqual(request.status, IRODS_REQUEST_STATUS_ACTIVE) @@ -2552,13 +2552,13 @@ def test_search(self): self.assertEqual(response.status_code, 200) data = response.context['app_results'][0] self.assertEqual(len(data['results']), 2) - self.assertEqual(len(data['results']['materials']['items']), 1) + self.assertEqual(len(data['results']['materials'].items), 1) self.assertEqual( - data['results']['materials']['items'][0]['name'], SAMPLE_ID + data['results']['materials'].items[0]['name'], SAMPLE_ID ) - self.assertEqual(len(data['results']['files']['items']), 1) + self.assertEqual(len(data['results']['files'].items), 1) self.assertEqual( - data['results']['files']['items'][0]['name'], self.file_name + data['results']['files'].items[0]['name'], self.file_name ) def test_search_limit_source(self): @@ -2572,9 +2572,9 @@ def test_search_limit_source(self): self.assertEqual(response.status_code, 200) data = response.context['app_results'][0] self.assertEqual(len(data['results']), 1) - self.assertEqual(len(data['results']['materials']['items']), 1) + self.assertEqual(len(data['results']['materials'].items), 1) self.assertEqual( - data['results']['materials']['items'][0]['name'], SOURCE_ID + data['results']['materials'].items[0]['name'], SOURCE_ID ) def test_search_limit_sample(self): @@ -2588,9 +2588,9 @@ def test_search_limit_sample(self): self.assertEqual(response.status_code, 200) data = response.context['app_results'][0] self.assertEqual(len(data['results']), 1) - self.assertEqual(len(data['results']['materials']['items']), 1) + self.assertEqual(len(data['results']['materials'].items), 1) self.assertEqual( - data['results']['materials']['items'][0]['name'], SAMPLE_ID + data['results']['materials'].items[0]['name'], SAMPLE_ID ) def test_search_limit_file(self): @@ -2604,9 +2604,9 @@ def test_search_limit_file(self): self.assertEqual(response.status_code, 200) data = response.context['app_results'][0] self.assertEqual(len(data['results']), 1) - self.assertEqual(len(data['results']['files']['items']), 1) + self.assertEqual(len(data['results']['files'].items), 1) self.assertEqual( - data['results']['files']['items'][0]['name'], self.file_name + data['results']['files'].items[0]['name'], self.file_name ) diff --git a/samplesheets/views.py b/samplesheets/views.py index b69186297..72bcf4398 100644 --- a/samplesheets/views.py +++ b/samplesheets/views.py @@ -182,7 +182,7 @@ def add_tl_event(self, project, action, tpl_name=None): :param project: Project object :param action: "import", "create" or "replace" (string) :param tpl_name: Optional template name (string) - :return: ProjectEvent object + :return: TimelineEvent object """ if action not in ['create', 'import', 'replace']: raise ValueError('Invalid action "{}"'.format(action)) @@ -2326,13 +2326,7 @@ class IrodsAccessTicketDeleteView( slug_url_kwarg = 'irodsaccessticket' slug_field = 'sodar_uuid' - def get_success_url(self): - return reverse( - 'samplesheets:irods_tickets', - kwargs={'project': self.object.get_project().sodar_uuid}, - ) - - def delete(self, request, *args, **kwargs): + def form_valid(self, form): obj = self.get_object() irods_backend = get_backend_api('omics_irods') try: @@ -2340,7 +2334,8 @@ def delete(self, request, *args, **kwargs): irods_backend.delete_ticket(irods, obj.ticket) except Exception as ex: messages.error( - request, 'Error deleting iRODS access ticket: {}'.format(ex) + self.request, + 'Error deleting iRODS access ticket: {}'.format(ex), ) return redirect( reverse( @@ -2349,12 +2344,18 @@ def delete(self, request, *args, **kwargs): ) ) self.add_tl_event(obj, 'delete') - self.create_app_alerts(obj, 'delete', request.user) + self.create_app_alerts(obj, 'delete', self.request.user) + obj.delete() messages.success( - request, + self.request, 'iRODS access ticket "{}" deleted.'.format(obj.get_display_name()), ) - return super().delete(request, *args, **kwargs) + return redirect( + reverse( + 'samplesheets:irods_tickets', + kwargs={'project': self.object.get_project().sodar_uuid}, + ) + ) class IrodsDataRequestListView( diff --git a/setup.cfg b/setup.cfg index 23abd30b6..b1cfce7d5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,7 +2,7 @@ max-line-length = 80 exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs_manual, node_modules,src/*,config/*,versioneer.py,env/*,.venv,_version.py -ignore = E203, E266, E501, F405, W503, W504, C901 +ignore = E203, E266, E501, F405, W503, W504, C901, E721 max-complexity = 18 select = B,C,E,F,W,T4,B9 diff --git a/setup.py b/setup.py index 414ed0cc8..357dae221 100644 --- a/setup.py +++ b/setup.py @@ -25,14 +25,14 @@ classifiers=[ 'Environment :: Web Environment', 'Framework :: Django', - 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', ], diff --git a/sodar/_version.py b/sodar/_version.py index 462976ecd..c6c35e766 100644 --- a/sodar/_version.py +++ b/sodar/_version.py @@ -6,7 +6,7 @@ # that just contains the computed version number. # This file is released into the public domain. -# Generated by versioneer-0.28 +# Generated by versioneer-0.29 # https://github.com/python-versioneer/python-versioneer """Git implementation of _version.py.""" @@ -16,11 +16,11 @@ import re import subprocess import sys -from typing import Callable, Dict +from typing import Any, Callable, Dict, List, Optional, Tuple import functools -def get_keywords(): +def get_keywords() -> Dict[str, str]: """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must @@ -36,8 +36,15 @@ def get_keywords(): class VersioneerConfig: """Container for Versioneer configuration parameters.""" + VCS: str + style: str + tag_prefix: str + parentdir_prefix: str + versionfile_source: str + verbose: bool -def get_config(): + +def get_config() -> VersioneerConfig: """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py @@ -59,9 +66,9 @@ class NotThisMethod(Exception): HANDLERS: Dict[str, Dict[str, Callable]] = {} -def register_vcs_handler(vcs, method): # decorator +def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): + def decorate(f: Callable) -> Callable: """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} @@ -70,13 +77,19 @@ def decorate(f): return decorate -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): +def run_command( + commands: List[str], + args: List[str], + cwd: Optional[str] = None, + verbose: bool = False, + hide_stderr: bool = False, + env: Optional[Dict[str, str]] = None, +) -> Tuple[Optional[str], Optional[int]]: """Call the given command(s).""" assert isinstance(commands, list) process = None - popen_kwargs = {} + popen_kwargs: Dict[str, Any] = {} if sys.platform == "win32": # This hides the console window if pythonw.exe is used startupinfo = subprocess.STARTUPINFO() @@ -92,8 +105,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, stderr=(subprocess.PIPE if hide_stderr else None), **popen_kwargs) break - except OSError: - e = sys.exc_info()[1] + except OSError as e: if e.errno == errno.ENOENT: continue if verbose: @@ -113,7 +125,11 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, return stdout, process.returncode -def versions_from_parentdir(parentdir_prefix, root, verbose): +def versions_from_parentdir( + parentdir_prefix: str, + root: str, + verbose: bool, +) -> Dict[str, Any]: """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both @@ -138,13 +154,13 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): @register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): +def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. - keywords = {} + keywords: Dict[str, str] = {} try: with open(versionfile_abs, "r") as fobj: for line in fobj: @@ -166,7 +182,11 @@ def git_get_keywords(versionfile_abs): @register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): +def git_versions_from_keywords( + keywords: Dict[str, str], + tag_prefix: str, + verbose: bool, +) -> Dict[str, Any]: """Get version information from git keywords.""" if "refnames" not in keywords: raise NotThisMethod("Short version file found") @@ -230,7 +250,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): @register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): +def git_pieces_from_vcs( + tag_prefix: str, + root: str, + verbose: bool, + runner: Callable = run_command +) -> Dict[str, Any]: """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* @@ -270,7 +295,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() - pieces = {} + pieces: Dict[str, Any] = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None @@ -362,14 +387,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): return pieces -def plus_or_dot(pieces): +def plus_or_dot(pieces: Dict[str, Any]) -> str: """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" -def render_pep440(pieces): +def render_pep440(pieces: Dict[str, Any]) -> str: """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you @@ -394,7 +419,7 @@ def render_pep440(pieces): return rendered -def render_pep440_branch(pieces): +def render_pep440_branch(pieces: Dict[str, Any]) -> str: """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . The ".dev0" means not master branch. Note that .dev0 sorts backwards @@ -424,7 +449,7 @@ def render_pep440_branch(pieces): return rendered -def pep440_split_post(ver): +def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: """Split pep440 version string at the post-release segment. Returns the release segments before the post-release and the @@ -434,7 +459,7 @@ def pep440_split_post(ver): return vc[0], int(vc[1] or 0) if len(vc) == 2 else None -def render_pep440_pre(pieces): +def render_pep440_pre(pieces: Dict[str, Any]) -> str: """TAG[.postN.devDISTANCE] -- No -dirty. Exceptions: @@ -458,7 +483,7 @@ def render_pep440_pre(pieces): return rendered -def render_pep440_post(pieces): +def render_pep440_post(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards @@ -485,7 +510,7 @@ def render_pep440_post(pieces): return rendered -def render_pep440_post_branch(pieces): +def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . The ".dev0" means not master branch. @@ -514,7 +539,7 @@ def render_pep440_post_branch(pieces): return rendered -def render_pep440_old(pieces): +def render_pep440_old(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. @@ -536,7 +561,7 @@ def render_pep440_old(pieces): return rendered -def render_git_describe(pieces): +def render_git_describe(pieces: Dict[str, Any]) -> str: """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. @@ -556,7 +581,7 @@ def render_git_describe(pieces): return rendered -def render_git_describe_long(pieces): +def render_git_describe_long(pieces: Dict[str, Any]) -> str: """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. @@ -576,7 +601,7 @@ def render_git_describe_long(pieces): return rendered -def render(pieces, style): +def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", @@ -612,7 +637,7 @@ def render(pieces, style): "date": pieces.get("date")} -def get_versions(): +def get_versions() -> Dict[str, Any]: """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some diff --git a/taskflowbackend/api.py b/taskflowbackend/api.py index 990858ad5..89a4d0b3a 100644 --- a/taskflowbackend/api.py +++ b/taskflowbackend/api.py @@ -105,7 +105,7 @@ def get_flow( :param flow_name: Name of flow (string) :param flow_data: Flow parameters (dict) :param async_mode: Set up flow asynchronously if True (boolean) - :param tl_event: ProjectEvent object for timeline updating or None + :param tl_event: TimelineEvent object for timeline updating or None """ flow_cls = flows.get_flow(flow_name) if not flow_cls: @@ -142,8 +142,8 @@ def run_flow( :param project: Project object :param force_fail: Force failure (boolean, for testing) :param async_mode: Submit in async mode (boolean, default=False) - :param tl_event: Timeline ProjectEvent object or None. Event status will - be updated if the flow is run in async mode + :param tl_event: TimelineEvent object or None. Event status will be + updated if the flow is run in async mode :return: Dict """ flow_result = None @@ -235,7 +235,7 @@ def submit( :param flow_data: Input data for flow execution (dict, must be JSON serializable) :param async_mode: Run flow asynchronously (boolean, default False) - :param tl_event: Corresponding timeline ProjectEvent (optional) + :param tl_event: Corresponding TimelineEvent (optional) :param force_fail: Make flow fail on purpose (boolean, default False) :return: Boolean :raise: FlowSubmitException if submission fails diff --git a/taskflowbackend/tests/base.py b/taskflowbackend/tests/base.py index 2686ee9e9..c5cbf9b7c 100644 --- a/taskflowbackend/tests/base.py +++ b/taskflowbackend/tests/base.py @@ -37,10 +37,13 @@ RoleMixin, RoleAssignmentMixin, ) -from projectroles.tests.test_permissions import TestPermissionMixin +from projectroles.tests.test_permissions import PermissionTestMixin from projectroles.tests.test_permissions_api import SODARAPIPermissionTestMixin from projectroles.tests.test_views_api import SODARAPIViewTestMixin -from projectroles.views_api import CORE_API_MEDIA_TYPE, CORE_API_DEFAULT_VERSION +from projectroles.views_api import ( + PROJECTROLES_API_MEDIA_TYPE, + PROJECTROLES_API_DEFAULT_VERSION, +) app_settings = AppSettingAPI() @@ -433,8 +436,8 @@ def make_project_taskflow( reverse('projectroles:api_project_create'), method='POST', data=post_data, - media_type=CORE_API_MEDIA_TYPE, - version=CORE_API_DEFAULT_VERSION, + media_type=PROJECTROLES_API_MEDIA_TYPE, + version=PROJECTROLES_API_DEFAULT_VERSION, ) # Assert response and object status self.assertEqual(response.status_code, 201, msg=response.content) @@ -452,8 +455,8 @@ def make_assignment_taskflow(self, project, user, role): url, method='POST', data=request_data, - media_type=CORE_API_MEDIA_TYPE, - version=CORE_API_DEFAULT_VERSION, + media_type=PROJECTROLES_API_MEDIA_TYPE, + version=PROJECTROLES_API_DEFAULT_VERSION, ) self.assertEqual(response.status_code, 201, msg=response.content) return RoleAssignment.objects.get(project=project, user=user, role=role) @@ -485,7 +488,7 @@ def setUp(self): class TaskflowPermissionTestBase( TaskflowProjectTestMixin, TaskflowPermissionTestMixin, - TestPermissionMixin, + PermissionTestMixin, TestCase, ): """Base class for testing UI and Ajax view permissions with taskflow""" diff --git a/taskflowbackend/tests/test_plugins.py b/taskflowbackend/tests/test_plugins.py index d6a471008..c75a65f31 100644 --- a/taskflowbackend/tests/test_plugins.py +++ b/taskflowbackend/tests/test_plugins.py @@ -14,7 +14,7 @@ from irodsbackend.api import USER_GROUP_TEMPLATE # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from taskflowbackend.tests.base import TaskflowViewTestBase @@ -97,7 +97,7 @@ def test_create(self): self.irods.users.get(self.user_owner_cat.username), iRODSUser ) self.assert_group_member(project, self.user_owner_cat, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=project, plugin='taskflow', user=self.user, @@ -256,7 +256,7 @@ def test_create_category(self): with self.assertRaises(UserGroupDoesNotExist): self.irods.user_groups.get(group_name) self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( project=category, plugin='taskflow', user=self.user, @@ -446,7 +446,7 @@ def test_revert_create(self): self.assert_irods_coll(self.project, expected=False) with self.assertRaises(UserGroupDoesNotExist): self.irods.user_groups.get(self.group_name) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -485,7 +485,7 @@ def test_create(self): ) self.assert_group_member(self.project, self.user_new, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -508,7 +508,7 @@ def test_create_parent(self): ) self.assert_group_member(self.project, self.user_new, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -532,7 +532,7 @@ def test_create_parent_finder(self): # Should still be False self.assert_group_member(self.project, self.user_new, False) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -595,7 +595,7 @@ def test_update(self): self.assert_group_member(self.project, self.user_new, True) self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -698,7 +698,7 @@ def test_revert_create(self): ) self.assert_group_member(self.project, self.user_new, False) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -721,7 +721,7 @@ def test_revert_create_parent(self): ) self.assert_group_member(self.project, self.user_new, False) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -816,7 +816,7 @@ def test_revert_update(self): ) self.assert_group_member(self.project, self.user_new, True) self.assertEqual( - ProjectEvent.objects.filter( + TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -900,7 +900,7 @@ def test_delete(self): self.assert_group_member(self.project, self.user_new, True) self.plugin.perform_role_delete(self.role_as, self.request) self.assert_group_member(self.project, self.user_new, False) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -917,7 +917,7 @@ def test_delete_parent(self): self.assert_group_member(self.project, self.user_new, True) self.plugin.perform_role_delete(self.role_as, self.request) self.assert_group_member(self.project, self.user_new, False) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -984,7 +984,7 @@ def test_revert(self): self.plugin.revert_role_delete(self.role_as, self.request) self.assert_group_member(self.project, self.user_new, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -1004,7 +1004,7 @@ def test_revert_parent(self): self.plugin.revert_role_delete(self.role_as, self.request) self.assert_group_member(self.project, self.user_new, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -1102,7 +1102,7 @@ def test_transfer_category(self): self.assert_group_member(self.project, self.user, True) self.assert_group_member(self.project, self.user_new, True) self.assert_group_member(self.project, self.user_owner_cat, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.category, plugin='taskflow', user=self.user, @@ -1241,7 +1241,7 @@ def test_sync_new_project(self): self.irods.users.get(self.user_owner_cat.username), iRODSUser ) self.assert_group_member(project, self.user_owner_cat, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=project, plugin='taskflow', user=None, @@ -1276,7 +1276,7 @@ def test_sync_existing(self): ) self.assert_group_member(project, self.user, True) self.assert_group_member(project, self.user_owner_cat, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=project, plugin='taskflow', user=None, diff --git a/taskflowbackend/tests/test_project_api_views.py b/taskflowbackend/tests/test_project_api_views.py index 06c63a500..a05e86aa6 100644 --- a/taskflowbackend/tests/test_project_api_views.py +++ b/taskflowbackend/tests/test_project_api_views.py @@ -12,7 +12,10 @@ from projectroles.app_settings import AppSettingAPI from projectroles.models import Project, RoleAssignment, SODAR_CONSTANTS -from projectroles.views_api import CORE_API_MEDIA_TYPE, CORE_API_DEFAULT_VERSION +from projectroles.views_api import ( + PROJECTROLES_API_MEDIA_TYPE, + PROJECTROLES_API_DEFAULT_VERSION, +) from taskflowbackend.tests.base import TaskflowAPIViewTestBase @@ -47,8 +50,8 @@ class CoreTaskflowAPITestBase(TaskflowAPIViewTestBase): """Override of TestTaskflowAPIBase for SODAR Core API views""" - media_type = CORE_API_MEDIA_TYPE - api_version = CORE_API_DEFAULT_VERSION + media_type = PROJECTROLES_API_MEDIA_TYPE + api_version = PROJECTROLES_API_DEFAULT_VERSION class TestProjectCreateAPIView(CoreTaskflowAPITestBase): diff --git a/taskflowbackend/tests/test_project_views.py b/taskflowbackend/tests/test_project_views.py index 0c9334c48..df8c16b55 100644 --- a/taskflowbackend/tests/test_project_views.py +++ b/taskflowbackend/tests/test_project_views.py @@ -20,7 +20,7 @@ from projectroles.tests.test_models import ProjectInviteMixin # Timeline dependency -from timeline.models import ProjectEvent +from timeline.models import TimelineEvent from taskflowbackend.tests.base import TaskflowViewTestBase @@ -137,7 +137,7 @@ def test_create_project(self): ) self.assertEqual(group.hasmember(self.user_owner_cat.username), True) # Assert timeline event - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=project, plugin='taskflow', user=self.user, @@ -233,7 +233,7 @@ def test_update(self): ) self.assert_group_member(self.project, self.user, True) self.assert_group_member(self.project, self.user_owner_cat, True) - tl_events = ProjectEvent.objects.filter( + tl_events = TimelineEvent.objects.filter( project=self.project, plugin='taskflow', user=self.user, @@ -771,7 +771,7 @@ def test_accept_invite_ldap(self): [ ( reverse( - 'projectroles:invite_process_ldap', + 'projectroles:invite_process_login', kwargs={'secret': invite.secret}, ), 302, @@ -823,7 +823,7 @@ def test_accept_invite_ldap_category(self): [ ( reverse( - 'projectroles:invite_process_ldap', + 'projectroles:invite_process_login', kwargs={'secret': invite.secret}, ), 302, @@ -862,7 +862,7 @@ def test_accept_invite_local(self): [ ( reverse( - 'projectroles:invite_process_local', + 'projectroles:invite_process_new_user', kwargs={'secret': invite.secret}, ), 302, @@ -904,7 +904,7 @@ def test_accept_invite_local_category(self): [ ( reverse( - 'projectroles:invite_process_local', + 'projectroles:invite_process_new_user', kwargs={'secret': invite.secret}, ), 302, diff --git a/utility/install_postgres.sh b/utility/install_postgres.sh index b052f00e3..cf0f8188f 100755 --- a/utility/install_postgres.sh +++ b/utility/install_postgres.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash echo "***********************************************" -echo "Installing PostgreSQL v11" +echo "Installing PostgreSQL v16" echo "***********************************************" add-apt-repository -y "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - apt-get -y update -apt-get -y install postgresql-11 +apt-get -y install postgresql-16 diff --git a/utility/install_python.sh b/utility/install_python.sh index d74cf5546..863ad020b 100755 --- a/utility/install_python.sh +++ b/utility/install_python.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash echo "***********************************************" -echo "Installing Python 3.8" +echo "Installing Python 3.11" echo "***********************************************" add-apt-repository -y ppa:deadsnakes/ppa apt-get -y update -apt-get -y install python3.8 python3.8-dev python3.8-venv -curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.8 +apt-get -y install python3.11 python3.11-dev python3.11-venv python3.11-gdbm +curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.11 diff --git a/utility/install_python_dependencies.sh b/utility/install_python_dependencies.sh index dfbd1f857..ceff0f44e 100755 --- a/utility/install_python_dependencies.sh +++ b/utility/install_python_dependencies.sh @@ -25,7 +25,7 @@ if [ -z "$VIRTUAL_ENV" ]; then exit 1; else - pip install wheel==0.40.0 + pip install "wheel>=0.42.0, <0.43" pip install -r $PROJECT_DIR/requirements/local.txt pip install -r $PROJECT_DIR/requirements/test.txt pip install -r $PROJECT_DIR/requirements.txt diff --git a/versioneer.py b/versioneer.py index 18e34c2f5..1e3753e63 100644 --- a/versioneer.py +++ b/versioneer.py @@ -1,5 +1,5 @@ -# Version: 0.28 +# Version: 0.29 """The Versioneer - like a rocketeer, but for versions. @@ -10,7 +10,7 @@ * https://github.com/python-versioneer/python-versioneer * Brian Warner * License: Public Domain (Unlicense) -* Compatible with: Python 3.7, 3.8, 3.9, 3.10 and pypy3 +* Compatible with: Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3 * [![Latest Version][pypi-image]][pypi-url] * [![Build Status][travis-image]][travis-url] @@ -316,7 +316,8 @@ import subprocess import sys from pathlib import Path -from typing import Callable, Dict +from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Union +from typing import NoReturn import functools have_tomllib = True @@ -332,8 +333,16 @@ class VersioneerConfig: """Container for Versioneer configuration parameters.""" + VCS: str + style: str + tag_prefix: str + versionfile_source: str + versionfile_build: Optional[str] + parentdir_prefix: Optional[str] + verbose: Optional[bool] -def get_root(): + +def get_root() -> str: """Get the project root directory. We require that all commands are run from the project root, i.e. the @@ -341,13 +350,23 @@ def get_root(): """ root = os.path.realpath(os.path.abspath(os.getcwd())) setup_py = os.path.join(root, "setup.py") + pyproject_toml = os.path.join(root, "pyproject.toml") versioneer_py = os.path.join(root, "versioneer.py") - if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): + if not ( + os.path.exists(setup_py) + or os.path.exists(pyproject_toml) + or os.path.exists(versioneer_py) + ): # allow 'python path/to/setup.py COMMAND' root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) setup_py = os.path.join(root, "setup.py") + pyproject_toml = os.path.join(root, "pyproject.toml") versioneer_py = os.path.join(root, "versioneer.py") - if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): + if not ( + os.path.exists(setup_py) + or os.path.exists(pyproject_toml) + or os.path.exists(versioneer_py) + ): err = ("Versioneer was unable to run the project root directory. " "Versioneer requires setup.py to be executed from " "its immediate directory (like 'python setup.py COMMAND'), " @@ -372,23 +391,24 @@ def get_root(): return root -def get_config_from_root(root): +def get_config_from_root(root: str) -> VersioneerConfig: """Read the project setup.cfg file to determine Versioneer config.""" # This might raise OSError (if setup.cfg is missing), or # configparser.NoSectionError (if it lacks a [versioneer] section), or # configparser.NoOptionError (if it lacks "VCS="). See the docstring at # the top of versioneer.py for instructions on writing your setup.cfg . - root = Path(root) - pyproject_toml = root / "pyproject.toml" - setup_cfg = root / "setup.cfg" - section = None + root_pth = Path(root) + pyproject_toml = root_pth / "pyproject.toml" + setup_cfg = root_pth / "setup.cfg" + section: Union[Dict[str, Any], configparser.SectionProxy, None] = None if pyproject_toml.exists() and have_tomllib: try: with open(pyproject_toml, 'rb') as fobj: pp = tomllib.load(fobj) section = pp['tool']['versioneer'] - except (tomllib.TOMLDecodeError, KeyError): - pass + except (tomllib.TOMLDecodeError, KeyError) as e: + print(f"Failed to load config from {pyproject_toml}: {e}") + print("Try to load it from setup.cfg") if not section: parser = configparser.ConfigParser() with open(setup_cfg) as cfg_file: @@ -397,16 +417,25 @@ def get_config_from_root(root): section = parser["versioneer"] + # `cast`` really shouldn't be used, but its simplest for the + # common VersioneerConfig users at the moment. We verify against + # `None` values elsewhere where it matters + cfg = VersioneerConfig() cfg.VCS = section['VCS'] cfg.style = section.get("style", "") - cfg.versionfile_source = section.get("versionfile_source") + cfg.versionfile_source = cast(str, section.get("versionfile_source")) cfg.versionfile_build = section.get("versionfile_build") - cfg.tag_prefix = section.get("tag_prefix") + cfg.tag_prefix = cast(str, section.get("tag_prefix")) if cfg.tag_prefix in ("''", '""', None): cfg.tag_prefix = "" cfg.parentdir_prefix = section.get("parentdir_prefix") - cfg.verbose = section.get("verbose") + if isinstance(section, configparser.SectionProxy): + # Make sure configparser translates to bool + cfg.verbose = section.getboolean("verbose") + else: + cfg.verbose = section.get("verbose") + return cfg @@ -419,22 +448,28 @@ class NotThisMethod(Exception): HANDLERS: Dict[str, Dict[str, Callable]] = {} -def register_vcs_handler(vcs, method): # decorator +def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): + def decorate(f: Callable) -> Callable: """Store f in HANDLERS[vcs][method].""" HANDLERS.setdefault(vcs, {})[method] = f return f return decorate -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): +def run_command( + commands: List[str], + args: List[str], + cwd: Optional[str] = None, + verbose: bool = False, + hide_stderr: bool = False, + env: Optional[Dict[str, str]] = None, +) -> Tuple[Optional[str], Optional[int]]: """Call the given command(s).""" assert isinstance(commands, list) process = None - popen_kwargs = {} + popen_kwargs: Dict[str, Any] = {} if sys.platform == "win32": # This hides the console window if pythonw.exe is used startupinfo = subprocess.STARTUPINFO() @@ -450,8 +485,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, stderr=(subprocess.PIPE if hide_stderr else None), **popen_kwargs) break - except OSError: - e = sys.exc_info()[1] + except OSError as e: if e.errno == errno.ENOENT: continue if verbose: @@ -479,7 +513,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, # that just contains the computed version number. # This file is released into the public domain. -# Generated by versioneer-0.28 +# Generated by versioneer-0.29 # https://github.com/python-versioneer/python-versioneer """Git implementation of _version.py.""" @@ -489,11 +523,11 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, import re import subprocess import sys -from typing import Callable, Dict +from typing import Any, Callable, Dict, List, Optional, Tuple import functools -def get_keywords(): +def get_keywords() -> Dict[str, str]: """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must @@ -509,8 +543,15 @@ def get_keywords(): class VersioneerConfig: """Container for Versioneer configuration parameters.""" + VCS: str + style: str + tag_prefix: str + parentdir_prefix: str + versionfile_source: str + verbose: bool + -def get_config(): +def get_config() -> VersioneerConfig: """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py @@ -532,9 +573,9 @@ class NotThisMethod(Exception): HANDLERS: Dict[str, Dict[str, Callable]] = {} -def register_vcs_handler(vcs, method): # decorator +def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator """Create decorator to mark a method as the handler of a VCS.""" - def decorate(f): + def decorate(f: Callable) -> Callable: """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} @@ -543,13 +584,19 @@ def decorate(f): return decorate -def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, - env=None): +def run_command( + commands: List[str], + args: List[str], + cwd: Optional[str] = None, + verbose: bool = False, + hide_stderr: bool = False, + env: Optional[Dict[str, str]] = None, +) -> Tuple[Optional[str], Optional[int]]: """Call the given command(s).""" assert isinstance(commands, list) process = None - popen_kwargs = {} + popen_kwargs: Dict[str, Any] = {} if sys.platform == "win32": # This hides the console window if pythonw.exe is used startupinfo = subprocess.STARTUPINFO() @@ -565,8 +612,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, stderr=(subprocess.PIPE if hide_stderr else None), **popen_kwargs) break - except OSError: - e = sys.exc_info()[1] + except OSError as e: if e.errno == errno.ENOENT: continue if verbose: @@ -586,7 +632,11 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, return stdout, process.returncode -def versions_from_parentdir(parentdir_prefix, root, verbose): +def versions_from_parentdir( + parentdir_prefix: str, + root: str, + verbose: bool, +) -> Dict[str, Any]: """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both @@ -611,13 +661,13 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): @register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): +def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. - keywords = {} + keywords: Dict[str, str] = {} try: with open(versionfile_abs, "r") as fobj: for line in fobj: @@ -639,7 +689,11 @@ def git_get_keywords(versionfile_abs): @register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): +def git_versions_from_keywords( + keywords: Dict[str, str], + tag_prefix: str, + verbose: bool, +) -> Dict[str, Any]: """Get version information from git keywords.""" if "refnames" not in keywords: raise NotThisMethod("Short version file found") @@ -703,7 +757,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): @register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): +def git_pieces_from_vcs( + tag_prefix: str, + root: str, + verbose: bool, + runner: Callable = run_command +) -> Dict[str, Any]: """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* @@ -743,7 +802,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() - pieces = {} + pieces: Dict[str, Any] = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None @@ -835,14 +894,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): return pieces -def plus_or_dot(pieces): +def plus_or_dot(pieces: Dict[str, Any]) -> str: """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" -def render_pep440(pieces): +def render_pep440(pieces: Dict[str, Any]) -> str: """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you @@ -867,7 +926,7 @@ def render_pep440(pieces): return rendered -def render_pep440_branch(pieces): +def render_pep440_branch(pieces: Dict[str, Any]) -> str: """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . The ".dev0" means not master branch. Note that .dev0 sorts backwards @@ -897,7 +956,7 @@ def render_pep440_branch(pieces): return rendered -def pep440_split_post(ver): +def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: """Split pep440 version string at the post-release segment. Returns the release segments before the post-release and the @@ -907,7 +966,7 @@ def pep440_split_post(ver): return vc[0], int(vc[1] or 0) if len(vc) == 2 else None -def render_pep440_pre(pieces): +def render_pep440_pre(pieces: Dict[str, Any]) -> str: """TAG[.postN.devDISTANCE] -- No -dirty. Exceptions: @@ -931,7 +990,7 @@ def render_pep440_pre(pieces): return rendered -def render_pep440_post(pieces): +def render_pep440_post(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards @@ -958,7 +1017,7 @@ def render_pep440_post(pieces): return rendered -def render_pep440_post_branch(pieces): +def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . The ".dev0" means not master branch. @@ -987,7 +1046,7 @@ def render_pep440_post_branch(pieces): return rendered -def render_pep440_old(pieces): +def render_pep440_old(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. @@ -1009,7 +1068,7 @@ def render_pep440_old(pieces): return rendered -def render_git_describe(pieces): +def render_git_describe(pieces: Dict[str, Any]) -> str: """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. @@ -1029,7 +1088,7 @@ def render_git_describe(pieces): return rendered -def render_git_describe_long(pieces): +def render_git_describe_long(pieces: Dict[str, Any]) -> str: """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. @@ -1049,7 +1108,7 @@ def render_git_describe_long(pieces): return rendered -def render(pieces, style): +def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", @@ -1085,7 +1144,7 @@ def render(pieces, style): "date": pieces.get("date")} -def get_versions(): +def get_versions() -> Dict[str, Any]: """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some @@ -1133,13 +1192,13 @@ def get_versions(): @register_vcs_handler("git", "get_keywords") -def git_get_keywords(versionfile_abs): +def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. - keywords = {} + keywords: Dict[str, str] = {} try: with open(versionfile_abs, "r") as fobj: for line in fobj: @@ -1161,7 +1220,11 @@ def git_get_keywords(versionfile_abs): @register_vcs_handler("git", "keywords") -def git_versions_from_keywords(keywords, tag_prefix, verbose): +def git_versions_from_keywords( + keywords: Dict[str, str], + tag_prefix: str, + verbose: bool, +) -> Dict[str, Any]: """Get version information from git keywords.""" if "refnames" not in keywords: raise NotThisMethod("Short version file found") @@ -1225,7 +1288,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): @register_vcs_handler("git", "pieces_from_vcs") -def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): +def git_pieces_from_vcs( + tag_prefix: str, + root: str, + verbose: bool, + runner: Callable = run_command +) -> Dict[str, Any]: """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* @@ -1265,7 +1333,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() - pieces = {} + pieces: Dict[str, Any] = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None @@ -1357,7 +1425,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, runner=run_command): return pieces -def do_vcs_install(versionfile_source, ipy): +def do_vcs_install(versionfile_source: str, ipy: Optional[str]) -> None: """Git-specific installation logic for Versioneer. For Git, this means creating/changing .gitattributes to mark _version.py @@ -1395,7 +1463,11 @@ def do_vcs_install(versionfile_source, ipy): run_command(GITS, ["add", "--"] + files) -def versions_from_parentdir(parentdir_prefix, root, verbose): +def versions_from_parentdir( + parentdir_prefix: str, + root: str, + verbose: bool, +) -> Dict[str, Any]: """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both @@ -1420,7 +1492,7 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): SHORT_VERSION_PY = """ -# This file was generated by 'versioneer.py' (0.28) from +# This file was generated by 'versioneer.py' (0.29) from # revision-control system data, or from the parent directory name of an # unpacked source archive. Distribution tarballs contain a pre-generated copy # of this file. @@ -1437,7 +1509,7 @@ def get_versions(): """ -def versions_from_file(filename): +def versions_from_file(filename: str) -> Dict[str, Any]: """Try to determine the version from _version.py if present.""" try: with open(filename) as f: @@ -1454,9 +1526,8 @@ def versions_from_file(filename): return json.loads(mo.group(1)) -def write_to_version_file(filename, versions): +def write_to_version_file(filename: str, versions: Dict[str, Any]) -> None: """Write the given version number to the given _version.py file.""" - os.unlink(filename) contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) with open(filename, "w") as f: @@ -1465,14 +1536,14 @@ def write_to_version_file(filename, versions): print("set %s to '%s'" % (filename, versions["version"])) -def plus_or_dot(pieces): +def plus_or_dot(pieces: Dict[str, Any]) -> str: """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" -def render_pep440(pieces): +def render_pep440(pieces: Dict[str, Any]) -> str: """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you @@ -1497,7 +1568,7 @@ def render_pep440(pieces): return rendered -def render_pep440_branch(pieces): +def render_pep440_branch(pieces: Dict[str, Any]) -> str: """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . The ".dev0" means not master branch. Note that .dev0 sorts backwards @@ -1527,7 +1598,7 @@ def render_pep440_branch(pieces): return rendered -def pep440_split_post(ver): +def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: """Split pep440 version string at the post-release segment. Returns the release segments before the post-release and the @@ -1537,7 +1608,7 @@ def pep440_split_post(ver): return vc[0], int(vc[1] or 0) if len(vc) == 2 else None -def render_pep440_pre(pieces): +def render_pep440_pre(pieces: Dict[str, Any]) -> str: """TAG[.postN.devDISTANCE] -- No -dirty. Exceptions: @@ -1561,7 +1632,7 @@ def render_pep440_pre(pieces): return rendered -def render_pep440_post(pieces): +def render_pep440_post(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards @@ -1588,7 +1659,7 @@ def render_pep440_post(pieces): return rendered -def render_pep440_post_branch(pieces): +def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . The ".dev0" means not master branch. @@ -1617,7 +1688,7 @@ def render_pep440_post_branch(pieces): return rendered -def render_pep440_old(pieces): +def render_pep440_old(pieces: Dict[str, Any]) -> str: """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. @@ -1639,7 +1710,7 @@ def render_pep440_old(pieces): return rendered -def render_git_describe(pieces): +def render_git_describe(pieces: Dict[str, Any]) -> str: """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. @@ -1659,7 +1730,7 @@ def render_git_describe(pieces): return rendered -def render_git_describe_long(pieces): +def render_git_describe_long(pieces: Dict[str, Any]) -> str: """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. @@ -1679,7 +1750,7 @@ def render_git_describe_long(pieces): return rendered -def render(pieces, style): +def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", @@ -1719,7 +1790,7 @@ class VersioneerBadRootError(Exception): """The project root directory is unknown or missing key files.""" -def get_versions(verbose=False): +def get_versions(verbose: bool = False) -> Dict[str, Any]: """Get the project version from whatever source is available. Returns dict with two keys: 'version' and 'full'. @@ -1734,7 +1805,7 @@ def get_versions(verbose=False): assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" handlers = HANDLERS.get(cfg.VCS) assert handlers, "unrecognized VCS '%s'" % cfg.VCS - verbose = verbose or cfg.verbose + verbose = verbose or bool(cfg.verbose) # `bool()` used to avoid `None` assert cfg.versionfile_source is not None, \ "please set versioneer.versionfile_source" assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" @@ -1795,12 +1866,12 @@ def get_versions(verbose=False): "date": None} -def get_version(): +def get_version() -> str: """Get the short version string for this project.""" return get_versions()["version"] -def get_cmdclass(cmdclass=None): +def get_cmdclass(cmdclass: Optional[Dict[str, Any]] = None): """Get the custom setuptools subclasses used by Versioneer. If the package uses a different cmdclass (e.g. one from numpy), it @@ -1828,16 +1899,16 @@ def get_cmdclass(cmdclass=None): class cmd_version(Command): description = "report generated version string" - user_options = [] - boolean_options = [] + user_options: List[Tuple[str, str, str]] = [] + boolean_options: List[str] = [] - def initialize_options(self): + def initialize_options(self) -> None: pass - def finalize_options(self): + def finalize_options(self) -> None: pass - def run(self): + def run(self) -> None: vers = get_versions(verbose=True) print("Version: %s" % vers["version"]) print(" full-revisionid: %s" % vers.get("full-revisionid")) @@ -1867,12 +1938,12 @@ def run(self): # we override different "build_py" commands for both environments if 'build_py' in cmds: - _build_py = cmds['build_py'] + _build_py: Any = cmds['build_py'] else: from setuptools.command.build_py import build_py as _build_py class cmd_build_py(_build_py): - def run(self): + def run(self) -> None: root = get_root() cfg = get_config_from_root(root) versions = get_versions() @@ -1891,12 +1962,12 @@ def run(self): cmds["build_py"] = cmd_build_py if 'build_ext' in cmds: - _build_ext = cmds['build_ext'] + _build_ext: Any = cmds['build_ext'] else: from setuptools.command.build_ext import build_ext as _build_ext class cmd_build_ext(_build_ext): - def run(self): + def run(self) -> None: root = get_root() cfg = get_config_from_root(root) versions = get_versions() @@ -1923,7 +1994,7 @@ def run(self): cmds["build_ext"] = cmd_build_ext if "cx_Freeze" in sys.modules: # cx_freeze enabled? - from cx_Freeze.dist import build_exe as _build_exe + from cx_Freeze.dist import build_exe as _build_exe # type: ignore # nczeczulin reports that py2exe won't like the pep440-style string # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. # setup(console=[{ @@ -1932,7 +2003,7 @@ def run(self): # ... class cmd_build_exe(_build_exe): - def run(self): + def run(self) -> None: root = get_root() cfg = get_config_from_root(root) versions = get_versions() @@ -1956,12 +2027,12 @@ def run(self): if 'py2exe' in sys.modules: # py2exe enabled? try: - from py2exe.setuptools_buildexe import py2exe as _py2exe + from py2exe.setuptools_buildexe import py2exe as _py2exe # type: ignore except ImportError: - from py2exe.distutils_buildexe import py2exe as _py2exe + from py2exe.distutils_buildexe import py2exe as _py2exe # type: ignore class cmd_py2exe(_py2exe): - def run(self): + def run(self) -> None: root = get_root() cfg = get_config_from_root(root) versions = get_versions() @@ -1984,12 +2055,12 @@ def run(self): # sdist farms its file list building out to egg_info if 'egg_info' in cmds: - _egg_info = cmds['egg_info'] + _egg_info: Any = cmds['egg_info'] else: from setuptools.command.egg_info import egg_info as _egg_info class cmd_egg_info(_egg_info): - def find_sources(self): + def find_sources(self) -> None: # egg_info.find_sources builds the manifest list and writes it # in one shot super().find_sources() @@ -2021,12 +2092,12 @@ def find_sources(self): # we override different "sdist" commands for both environments if 'sdist' in cmds: - _sdist = cmds['sdist'] + _sdist: Any = cmds['sdist'] else: from setuptools.command.sdist import sdist as _sdist class cmd_sdist(_sdist): - def run(self): + def run(self) -> None: versions = get_versions() self._versioneer_generated_versions = versions # unless we update this, the command will keep using the old @@ -2034,7 +2105,7 @@ def run(self): self.distribution.metadata.version = versions["version"] return _sdist.run(self) - def make_release_tree(self, base_dir, files): + def make_release_tree(self, base_dir: str, files: List[str]) -> None: root = get_root() cfg = get_config_from_root(root) _sdist.make_release_tree(self, base_dir, files) @@ -2099,7 +2170,7 @@ def make_release_tree(self, base_dir, files): """ -def do_setup(): +def do_setup() -> int: """Do main VCS-independent setup function for installing Versioneer.""" root = get_root() try: @@ -2126,6 +2197,7 @@ def do_setup(): ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") + maybe_ipy: Optional[str] = ipy if os.path.exists(ipy): try: with open(ipy, "r") as f: @@ -2146,16 +2218,16 @@ def do_setup(): print(" %s unmodified" % ipy) else: print(" %s doesn't exist, ok" % ipy) - ipy = None + maybe_ipy = None # Make VCS-specific changes. For git, this means creating/changing # .gitattributes to mark _version.py for export-subst keyword # substitution. - do_vcs_install(cfg.versionfile_source, ipy) + do_vcs_install(cfg.versionfile_source, maybe_ipy) return 0 -def scan_setup_py(): +def scan_setup_py() -> int: """Validate the contents of setup.py against Versioneer's expectations.""" found = set() setters = False @@ -2192,7 +2264,7 @@ def scan_setup_py(): return errors -def setup_command(): +def setup_command() -> NoReturn: """Set up Versioneer and exit with appropriate error code.""" errors = do_setup() errors += scan_setup_py()