From fd89b90ebd8c5f36398714da4a0e27224d00ecbe Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Thu, 4 Jun 2026 15:39:58 -0500 Subject: [PATCH 01/15] Add CONTEXT.md: the canonical glossary for the documentation refactor One Server, many Clients, and now one language. Written during the planning session of 2026-06-04, committed by special dispensation. Co-Authored-By: Claude Opus 4.8 (1M context) --- CONTEXT.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 CONTEXT.md diff --git a/CONTEXT.md b/CONTEXT.md new file mode 100644 index 0000000..915941b --- /dev/null +++ b/CONTEXT.md @@ -0,0 +1,71 @@ +# Instrumentserver + +Distributed control of QCoDeS instruments over ZMQ: one server owns the hardware, many clients talk to it through proxies. Part of the Tools For Experiments suite (sibling of labcore). + +## Language + +**Server**: +The single process that owns the QCoDeS Station and its instruments, serving requests over ZMQ. +_Avoid_: instrument server (two words), backend + +**Client**: +A Python object (or process using one) that sends requests to the Server and receives proxies back. + +**Proxy Instrument**: +A client-side object mirroring a server-side instrument, built dynamically from its Blueprint. +_Avoid_: remote instrument, instrument handle + +**Blueprint**: +A serializable description of an instrument, parameter, or method that lets clients reconstruct its interface without importing the driver. +_Avoid_: schema, spec + +**Broadcast**: +A parameter-change event published by the Server on its PUB socket for any subscriber. +_Avoid_: notification, event stream + +**Virtual Instrument**: +An instrument that lives entirely in the Server with no hardware behind it. +_Avoid_: soft instrument, fake instrument (that's a dummy instrument, for testing) + +**Parameter Manager**: +The flagship Virtual Instrument: a hierarchical, persistent, profile-aware store of experiment parameters. +_Avoid_: param store, PM + +**Client Station**: +A client-side grouping of Proxy Instruments giving one client a scoped view of a shared Server. +_Avoid_: sub-server (colloquial; useful as an explanation, not a name) + +**Listener**: +A standalone subscriber to Broadcasts that exports parameter changes to a sink (CSV, InfluxDB). +_Avoid_: monitor, logger + +**Detached GUI**: +The Server's GUI running in a separate process so UI failures cannot take down the Server. + +**Dummy Instrument**: +A hardware-free test instrument shipped in `instrumentserver.testing` for development and verified documentation. + +**Chained Servers**: +A Server acting as a Client of another Server, so instruments can be re-exported downstream. +_Avoid_: server-in-server, daisy-chaining (fine in prose, not as the term) + +## Relationships + +- The **Server** owns instruments; **Clients** reach them only through **Proxy Instruments** built from **Blueprints** +- Every parameter change on the **Server** produces a **Broadcast**; **Listeners** and GUIs consume Broadcasts +- A **Client Station** groups Proxy Instruments for one client; many Client Stations can share one Server +- A **Virtual Instrument** is served like any other instrument; the **Parameter Manager** is one +- **Chained Servers** compose: a downstream Server proxies an upstream Server's instruments + +## Example dialogue + +> **Dev:** "If I set a value on a **Proxy Instrument**, who finds out?" +> **Domain expert:** "The **Server** executes the set under that instrument's lock, then emits a **Broadcast** — every subscribed GUI and **Listener** sees it, no polling needed." +> **Dev:** "And a **Client Station** is a second server?" +> **Domain expert:** "No — it never owns instruments. It's a scoped view: one client's chosen set of **Proxy Instruments** over the same shared **Server**. If you actually need a second server re-exporting instruments, that's **Chained Servers**." + +## Flagged ambiguities + +- "apps" — the five console entry points are launchers, not five separate applications; they collapse into three features (Server, Client Station, Monitoring) plus two convenience launchers (Detached GUI, Parameter Manager GUI). Resolved: docs pages follow features, not entry points. +- "sub-server" — used colloquially for **Client Station**; resolved: explanation, not terminology. +- "virtual instrument" vs "dummy instrument" — distinct: virtual = production feature with no hardware; dummy = testing stand-in for hardware. From 835777d1ad1f8ce78c5a45671168886e6fdef21c Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Fri, 5 Jun 2026 13:23:50 -0500 Subject: [PATCH 02/15] sphinx warning fixes and initial skeleton. Phase 0 complete --- docs/about.md | 33 --- docs/conf.py | 11 +- docs/examples/index.md | 3 - docs/first_steps/index.md | 7 - docs/getting_started/how_it_works.md | 13 + docs/getting_started/index.md | 15 ++ docs/getting_started/installation.md | 12 + .../overview.md | 5 - docs/getting_started/quickstart.md | 14 ++ docs/index.md | 85 +++---- docs/technical_guide/architecture.md | 13 + .../technical_guide/blueprints_and_proxies.md | 13 + docs/technical_guide/broadcasts.md | 12 + docs/technical_guide/custom_widgets.md | 11 + docs/technical_guide/index.md | 17 ++ docs/user_guide/advanced/chaining_servers.md | 12 + .../advanced/virtual_instruments.md | 11 + docs/user_guide/basic_usage.md | 14 ++ docs/user_guide/client_station.md | 13 + docs/user_guide/gui_features.md | 13 + docs/user_guide/index.md | 8 + docs/user_guide/instrumentmonitoring.md | 3 +- docs/user_guide/monitoring.md | 14 ++ docs/user_guide/parameter_manager.md | 14 ++ docs/user_guide/server.md | 13 + pyproject.toml | 1 + src/instrumentserver/blueprints.py | 10 +- src/instrumentserver/server/application.py | 19 +- test/docs_verification/README.md | 33 +++ test/docs_verification/helpers.py | 224 ++++++++++++++++++ uv.lock | 15 ++ 31 files changed, 568 insertions(+), 113 deletions(-) delete mode 100644 docs/about.md delete mode 100644 docs/examples/index.md delete mode 100644 docs/first_steps/index.md create mode 100644 docs/getting_started/how_it_works.md create mode 100644 docs/getting_started/index.md create mode 100644 docs/getting_started/installation.md rename docs/{first_steps => getting_started}/overview.md (97%) create mode 100644 docs/getting_started/quickstart.md create mode 100644 docs/technical_guide/architecture.md create mode 100644 docs/technical_guide/blueprints_and_proxies.md create mode 100644 docs/technical_guide/broadcasts.md create mode 100644 docs/technical_guide/custom_widgets.md create mode 100644 docs/technical_guide/index.md create mode 100644 docs/user_guide/advanced/chaining_servers.md create mode 100644 docs/user_guide/advanced/virtual_instruments.md create mode 100644 docs/user_guide/basic_usage.md create mode 100644 docs/user_guide/client_station.md create mode 100644 docs/user_guide/gui_features.md create mode 100644 docs/user_guide/monitoring.md create mode 100644 docs/user_guide/parameter_manager.md create mode 100644 docs/user_guide/server.md create mode 100644 test/docs_verification/README.md create mode 100644 test/docs_verification/helpers.py diff --git a/docs/about.md b/docs/about.md deleted file mode 100644 index f45d7b3..0000000 --- a/docs/about.md +++ /dev/null @@ -1,33 +0,0 @@ -# About InstrumentServer - -InstrumentServer is part of the [Tools For Experiments](https://github.com/toolsforexperiments) initiative—a collection of software tools developed by the [Pfaff-lab at the University of Illinois at Urbana-Champaign](https://pfaff.physics.illinois.edu/). - -## Purpose - -InstrumentServer solves the problem of remote instrument access in modern laboratories. Whether you need to control laboratory equipment from a different machine, enable multiple researchers to access the same instruments simultaneously, or build distributed measurement systems, InstrumentServer provides a robust, scalable solution. - -## Design Philosophy - -InstrumentServer is built on practical experience with real laboratory needs: - -- **Simplicity**: Uses well-established ZMQ messaging patterns and QCoDeS integration -- **Reliability**: Per-instrument locking ensures thread-safe concurrent access -- **Performance**: Asynchronous request handling with concurrent instrument control -- **Transparency**: Proxy objects provide native Python interfaces to remote instruments - -## Contributing - -InstrumentServer is open source and welcomes contributions. Visit the [GitHub repository](https://github.com/toolsforexperiments/instrumentserver) to report issues, submit pull requests, or participate in development. - -## Citation - -If you use InstrumentServer in your research, please cite the project: - -``` -@software{instrumentserver, - title={InstrumentServer: Distributed QCoDeS Instrument Control}, - author={Pfaff, Wolfgang}, - url={https://github.com/toolsforexperiments/instrumentserver}, - year={2020} -} -``` \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 463f94b..22d2a3f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,8 +13,8 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = 'InstrumentServer' -copyright = '2020-2026, Wolfgang Pfaff' -author = 'Wolfgang Pfaff' +copyright = '2020-2026, Tools For Experiments' +author = 'Tools For Experiments' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration @@ -27,6 +27,7 @@ 'sphinx.ext.viewcode', # Add links to source code 'nbsphinx', # Jupyter notebook support 'sphinx.ext.intersphinx', # Link to other project docs + 'sphinx_design', # Tabs, cards, grids ] # MyST Parser configuration @@ -70,12 +71,12 @@ intersphinx_mapping = { 'python': ('https://docs.python.org/3', None), 'numpy': ('https://numpy.org/doc/stable/', None), - 'qcodes': ('https://qcodes.github.io/Qcodes/', None), - 'zmq': ('https://pyzmq.readthedocs.io/', None), + 'qcodes': ('https://microsoft.github.io/Qcodes/', None), + 'zmq': ('https://pyzmq.readthedocs.io/en/latest/', None), } templates_path = ['_templates'] -exclude_patterns = ['build', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints'] +exclude_patterns = ['build', 'agents', 'README.md', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints'] # -- Internationalization ---------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#internationalization diff --git a/docs/examples/index.md b/docs/examples/index.md deleted file mode 100644 index ee83549..0000000 --- a/docs/examples/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Code Examples - -This section contains practical examples demonstrating InstrumentServer usage patterns. diff --git a/docs/first_steps/index.md b/docs/first_steps/index.md deleted file mode 100644 index 4894947..0000000 --- a/docs/first_steps/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# First Steps - -The following pages will help you get familiar with InstrumentServer. They provide a quick introduction to installation, basic server setup, and your first client connection. - -```{toctree} -overview -``` \ No newline at end of file diff --git a/docs/getting_started/how_it_works.md b/docs/getting_started/how_it_works.md new file mode 100644 index 0000000..e201b17 --- /dev/null +++ b/docs/getting_started/how_it_works.md @@ -0,0 +1,13 @@ +# How It Works + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +A conceptual overview. This page will cover: + +- The server/client picture; what a Proxy Instrument is +- What a Broadcast is; why GUIs update live +- A message-flow animation +- A closing pointer to the Technical Guide's architecture page for the mechanical deep dive diff --git a/docs/getting_started/index.md b/docs/getting_started/index.md new file mode 100644 index 0000000..fa613ac --- /dev/null +++ b/docs/getting_started/index.md @@ -0,0 +1,15 @@ +# Getting Started + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +```{toctree} +:maxdepth: 1 + +overview +installation +quickstart +how_it_works +``` diff --git a/docs/getting_started/installation.md b/docs/getting_started/installation.md new file mode 100644 index 0000000..034c1a3 --- /dev/null +++ b/docs/getting_started/installation.md @@ -0,0 +1,12 @@ +# Installation + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Tabbed installation instructions: uv (recommended), pip, and conda +- Supported Python versions and environment advice +- A note on the PyPI upload (in progress) diff --git a/docs/first_steps/overview.md b/docs/getting_started/overview.md similarity index 97% rename from docs/first_steps/overview.md rename to docs/getting_started/overview.md index 5061a5d..3657531 100644 --- a/docs/first_steps/overview.md +++ b/docs/getting_started/overview.md @@ -8,11 +8,6 @@ Instrumentserver also includes a virtual instrument called Parameter Manager, wh single source of truth for various parameters values with a user-friendly graphical interface to facilitate changing parameters. -:::{warning} -This guide is not up to date. Some new core features are not currently documented like configuration files and -new features are in development. If you have questions on how to use these, please contact Marcos at: [marcosf2@illinois.edu](). -::: - ## Installation At the moment Instrumentserver is not on pip or conda so the only way of installing it is to install it from github directly. diff --git a/docs/getting_started/quickstart.md b/docs/getting_started/quickstart.md new file mode 100644 index 0000000..76fe7a2 --- /dev/null +++ b/docs/getting_started/quickstart.md @@ -0,0 +1,14 @@ +# Quickstart + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +Server + dummy instrument + first client call. This page will cover: + +- Starting the server bare (no config file) +- A first client connection; creating a Dummy Instrument via `find_or_create_instrument` +- Getting and setting a parameter; observing the Broadcast +- Starting with a config file (the same setup, declared in YAML) +- Where to go next (links into the User Guide) diff --git a/docs/index.md b/docs/index.md index 67b3774..82182a6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,68 +7,59 @@ html_theme.sidebar_secondary.remove: true # InstrumentServer -**Distributed instrument control system for QCoDeS instruments via ZMQ** +Distributed control of QCoDeS instruments over ZMQ: one server owns the hardware, many +clients talk to it through proxies. Part of the +[Tools for Experiments](https://toolsforexperiments.github.io/) suite. -[GitHub Repository](https://github.com/toolsforexperiments/instrumentserver) | [About](about.md) +[GitHub Repository](https://github.com/toolsforexperiments/instrumentserver) | [About Us](https://toolsforexperiments.github.io/about_us/organization.html) -:::{warning} -The documentation site is currently under construction. This site is still very early so not all information here is up to date. Expect more changes incoming 🏗️👷 +:::{note} +We are rewriting this site page by page. Pages marked 🚧 are planned but not yet +written, and show what they will cover. ::: -## Overview +::::{grid} 1 2 2 2 +:gutter: 3 -InstrumentServer is a distributed system for remote access to QCoDeS instruments. It enables multi-client instrument control through a ZMQ-based server-client architecture with real-time parameter broadcasting and concurrent request handling. +:::{grid-item-card} Getting Started +:link: getting_started/index +:link-type: doc -For more information on how the server works please see our [overview page](./first_steps/overview.md) +Installation, your first server and client connection, and a conceptual overview +of how it all works. +::: -### Key Features +:::{grid-item-card} User Guide +:link: user_guide/index +:link-type: doc -**Multi-Client Access** -- Multiple clients can simultaneously control the same server -- Thread-safe per-instrument locking prevents race conditions -- Concurrent access to different instruments +How to use each feature: the Python client, the Server, the Parameter Manager, +Client Stations, monitoring, and configuration. +::: -**Real-Time Monitoring** -- Broadcast parameter changes to all listening clients -- Asynchronous parameter updates via ZMQ PUB socket -- Real-time GUI updates across the network +:::{grid-item-card} Technical Guide +:link: technical_guide/index +:link-type: doc -**QCoDeS Integration** -- Native QCoDeS Station support -- Full instrument metadata and blueprint system -- Seamless proxy objects for remote instruments +How instrumentserver works inside: architecture, Blueprints and proxies, Broadcasts, +and custom widgets. +::: -**Robust Architecture** -- ZMQ ROUTER/DEALER pattern for reliable messaging -- ThreadPoolExecutor for concurrent request handling -- Automatic connection recovery with retry logic +:::{grid-item-card} API Reference +:link: api/index +:link-type: doc + +Reference documentation for all public modules, generated from the source code. +::: -## Documentation +:::: ```{toctree} :maxdepth: 2 -:caption: Contents +:hidden: -first_steps/index +getting_started/index user_guide/index -``` - -## Code Examples - -```{toctree} -:maxdepth: 1 -:caption: Examples - -examples/index -``` - -## API Reference - -The API documentation is automatically generated from the source code. - -```{toctree} -:maxdepth: 1 -:caption: API Reference - +technical_guide/index api/index -``` \ No newline at end of file +``` diff --git a/docs/technical_guide/architecture.md b/docs/technical_guide/architecture.md new file mode 100644 index 0000000..ced3fe7 --- /dev/null +++ b/docs/technical_guide/architecture.md @@ -0,0 +1,13 @@ +# Architecture + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +The deeper twin of the Getting Started "How It Works" page. This page will cover: + +- The ROUTER/DEALER request path; thread pool; per-instrument locks +- The PUB/SUB broadcast path; ports (request port, port+1) +- A request lifecycle walkthrough (set-parameter end to end) +- Process layout: server / detached GUI / clients / listeners diff --git a/docs/technical_guide/blueprints_and_proxies.md b/docs/technical_guide/blueprints_and_proxies.md new file mode 100644 index 0000000..cefa4d5 --- /dev/null +++ b/docs/technical_guide/blueprints_and_proxies.md @@ -0,0 +1,13 @@ +# Blueprints and Proxies + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +The round trip as one story. This page will cover: + +- Server side: introspection to Blueprint +- The wire: serialization of blueprints and values +- Client side: Blueprint to dynamic proxy (methods, signatures, submodules) +- Blueprint caching and invalidation diff --git a/docs/technical_guide/broadcasts.md b/docs/technical_guide/broadcasts.md new file mode 100644 index 0000000..4a6c58e --- /dev/null +++ b/docs/technical_guide/broadcasts.md @@ -0,0 +1,12 @@ +# Broadcasts + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- What triggers a Broadcast; the message format +- SubClient mechanics; how GUIs stay live +- External broadcast forwarding diff --git a/docs/technical_guide/custom_widgets.md b/docs/technical_guide/custom_widgets.md new file mode 100644 index 0000000..287beec --- /dev/null +++ b/docs/technical_guide/custom_widgets.md @@ -0,0 +1,11 @@ +# Custom Widgets + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- How `gui.type` resolves to a widget class; the widget contract +- Writing and registering your own (worked example) diff --git a/docs/technical_guide/index.md b/docs/technical_guide/index.md new file mode 100644 index 0000000..e4ce2d3 --- /dev/null +++ b/docs/technical_guide/index.md @@ -0,0 +1,17 @@ +# Technical Guide + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +How instrumentserver works inside, the deeper twin of the User Guide. + +```{toctree} +:maxdepth: 1 + +architecture +blueprints_and_proxies +broadcasts +custom_widgets +``` diff --git a/docs/user_guide/advanced/chaining_servers.md b/docs/user_guide/advanced/chaining_servers.md new file mode 100644 index 0000000..c4e9981 --- /dev/null +++ b/docs/user_guide/advanced/chaining_servers.md @@ -0,0 +1,12 @@ +# Chaining Servers + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Concept: a Server as a Client of another Server +- A working setup walkthrough +- Limits and gotchas diff --git a/docs/user_guide/advanced/virtual_instruments.md b/docs/user_guide/advanced/virtual_instruments.md new file mode 100644 index 0000000..9dff313 --- /dev/null +++ b/docs/user_guide/advanced/virtual_instruments.md @@ -0,0 +1,11 @@ +# Virtual Instruments + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- The concept (vs Dummy Instruments) +- Writing your own Virtual Instrument diff --git a/docs/user_guide/basic_usage.md b/docs/user_guide/basic_usage.md new file mode 100644 index 0000000..14daac1 --- /dev/null +++ b/docs/user_guide/basic_usage.md @@ -0,0 +1,14 @@ +# Basic Usage + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +The Python client, the most-used interface. This page will cover: + +- Client basics: connect, list, get instrument +- Proxy Instruments: parameters, methods, submodules +- Batch parameter operations: `getParamDict` / `setParameters` / to and from file +- Subscribing to Broadcasts (SubClient) +- Error handling, timeouts, reconnection behavior diff --git a/docs/user_guide/client_station.md b/docs/user_guide/client_station.md new file mode 100644 index 0000000..9da8dec --- /dev/null +++ b/docs/user_guide/client_station.md @@ -0,0 +1,13 @@ +# Client Station + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Concept: scoped views of one shared Server +- YAML config; parameter save/load paths +- The Client Station GUI and the `instrumentserver-client-station` launcher +- Auto-reconnect behavior diff --git a/docs/user_guide/gui_features.md b/docs/user_guide/gui_features.md new file mode 100644 index 0000000..918f20b --- /dev/null +++ b/docs/user_guide/gui_features.md @@ -0,0 +1,13 @@ +# GUI Features + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Shared concepts: star / trash / hide / filter patterns +- Keyboard shortcuts: defaults, customizing via config +- Detachable tabs +- Custom instrument widgets: the config hook, with a link to the Technical Guide diff --git a/docs/user_guide/index.md b/docs/user_guide/index.md index fde0222..c66f6b7 100644 --- a/docs/user_guide/index.md +++ b/docs/user_guide/index.md @@ -3,6 +3,14 @@ This user guide is organized by different topics, each having their own guides. Use the left menu to navigate through them. ```{toctree} +basic_usage +server +gui_features +parameter_manager +client_station +monitoring configuration instrumentmonitoring +advanced/virtual_instruments +advanced/chaining_servers ``` \ No newline at end of file diff --git a/docs/user_guide/instrumentmonitoring.md b/docs/user_guide/instrumentmonitoring.md index 9a31dfc..efb0c13 100644 --- a/docs/user_guide/instrumentmonitoring.md +++ b/docs/user_guide/instrumentmonitoring.md @@ -75,7 +75,7 @@ Install docker and start the docker engine. Follow the [docker section](#docker) On the same PC that Grafana and Influx were started on: - Keep track of the address and port that the instrumentserver is broadcasting to in the previous section. Use this information, the information you used to set up InfluxDB, plus the parameters you want to monitor to fill out the [config file](#config-file-1). + Keep track of the address and port that the instrumentserver is broadcasting to in the previous section. Use this information, the information you used to set up InfluxDB, plus the parameters you want to monitor to fill out the {ref}`config file `. You can then [start the listener](#starting-the-listener). @@ -170,6 +170,7 @@ The following portion assumes the user has: To use the dashboard, we will also need to run an instance of the listener on whichever computer you wish to host the dashboard on. (The computer with the listener and the computer with the instrumentserver must be on the same network). The listener can be used for writing data either in a CSV file or the InfluxDB database. +(listener-config-file)= ### Config File Below is an example listener configuration file that can be used for the dashboard. diff --git a/docs/user_guide/monitoring.md b/docs/user_guide/monitoring.md new file mode 100644 index 0000000..0b51800 --- /dev/null +++ b/docs/user_guide/monitoring.md @@ -0,0 +1,14 @@ +# Monitoring + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Concept: Broadcasts → Listener → sink → dashboard +- Polling: making the Server emit without client activity (`pollingRate`) +- The Listener app and listenerConfig; CSV sink; InfluxDB sink +- Writing a custom Listener +- The deployment stack: Docker compose, Grafana + InfluxDB, provisioning, dashboards, alerting diff --git a/docs/user_guide/parameter_manager.md b/docs/user_guide/parameter_manager.md new file mode 100644 index 0000000..4f664ed --- /dev/null +++ b/docs/user_guide/parameter_manager.md @@ -0,0 +1,14 @@ +# Parameter Manager + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Concept: the flagship Virtual Instrument; single source of truth +- Hierarchical parameters: add / remove / nesting +- Persistence: JSON files; profiles (refresh / switch) +- The Parameter Manager GUI and the `instrumentserver-param-manager` launcher +- Using it from measurement code diff --git a/docs/user_guide/server.md b/docs/user_guide/server.md new file mode 100644 index 0000000..916c917 --- /dev/null +++ b/docs/user_guide/server.md @@ -0,0 +1,13 @@ +# The Server + +:::{admonition} 🚧 This page is planned, not yet written +:class: warning +It will be replaced with verified content as the documentation refactor progresses. +::: + +This page will cover: + +- Starting the server: GUI, headless, CLI flags, addresses and ports +- The Detached GUI: what it's for (UI faults can't kill the Server) +- Instruments from config vs programmatic creation, and init scripts +- External broadcast: what it enables (live UIs), with a link to the Technical Guide diff --git a/pyproject.toml b/pyproject.toml index 377736a..5e26313 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,5 +110,6 @@ docs = [ "pydata-sphinx-theme", "myst-parser", "nbsphinx", + "sphinx-design", "linkify-it-py", ] diff --git a/src/instrumentserver/blueprints.py b/src/instrumentserver/blueprints.py index 8b7b3c1..7cbcd54 100644 --- a/src/instrumentserver/blueprints.py +++ b/src/instrumentserver/blueprints.py @@ -796,10 +796,12 @@ def iterable_to_serialized_dict( returns a list with the args as serialized dictionaries. The current rules: - - Any arbitrary object that is being serialized here must have a class attribute listing all the classes attributes that - the constructor needs to create an identical instance of that class - - The serialized dictionary need to have the field: '_class_type', to indicate what it is that needs to be - instantiated. + + - Any arbitrary object that is being serialized here must have a class attribute + listing all the class attributes that the constructor needs to create an + identical instance of that class. + - The serialized dictionary needs to have the field '_class_type', to indicate + what it is that needs to be instantiated. """ converted_iterable: list | dict | None = None if iterable is not None: diff --git a/src/instrumentserver/server/application.py b/src/instrumentserver/server/application.py index 608082b..86aff31 100644 --- a/src/instrumentserver/server/application.py +++ b/src/instrumentserver/server/application.py @@ -177,6 +177,8 @@ class CreateInstrumentDialog(BaseDialog): :param kwargsStr: Optional, String with te args and kwargs separated by commas. """ + #: Signal(str, str, tuple) -- emitted when the dialog is accepted. Arguments are + #: the instrument type path, the instrument name, and the constructor args. createInstrument = QtCore.Signal(str, str, tuple) def __init__( @@ -290,18 +292,18 @@ class PossibleInstrumentsDisplay(QtWidgets.QTreeWidget): the config or are the original args and kwargs passed when the instrument was created. """ - #: Signal(str, str, str) -- emitted when the one of the create buttons of the items gets pressed + #: Signal(str, str, str) -- emitted when the one of the create buttons of the items gets pressed. #: Arguments are in order: - # The name of the instrument in the config, - # the type of the instrument, - # the name in the line edit indicating what the actual name in the station should be. + #: the name of the instrument in the config, + #: the type of the instrument, + #: the name in the line edit indicating what the actual name in the station should be. createButtonPressed = QtCore.Signal(str, str, str) - #: Signal(str, str, str) -- emitted when the create instrument based on this instrument is triggered + #: Signal(str, str, str) -- emitted when the create instrument based on this instrument is triggered. #: Arguments are in order: - # The name of the instrument in the config, - # the type of the instrument, - # the name in the line edit indicating what the actual name in the station should be. + #: the name of the instrument in the config, + #: the type of the instrument, + #: the name in the line edit indicating what the actual name in the station should be. basedInstrumentRequested = QtCore.Signal(str, str, str) cols = ["Instrument Type & Preset", "Instrument Name", "Create Instrument"] @@ -591,6 +593,7 @@ def createNewInstrument( class ServerGui(QtWidgets.QMainWindow): """Main window of the qcodes station server.""" + #: Signal(int) -- declared but currently never emitted or connected. serverPortSet = QtCore.Signal(int) def __init__( diff --git a/test/docs_verification/README.md b/test/docs_verification/README.md new file mode 100644 index 0000000..1d0e616 --- /dev/null +++ b/test/docs_verification/README.md @@ -0,0 +1,33 @@ +# Docs verification scripts + +Scripts that back every behavioral claim on the documentation site +(see `PLAN_docs_refactor.md` at the repo root). Nothing is documented without +being executed: each docs page has one script here that exercises the behavior +the page describes, before a word of prose is written. + +These scripts are temporary. They live here for the duration of the docs +refactor and are deleted in the final cleanup phase, after the test audit in +`TEST_AUDIT.md` has been fully harvested. + +## Conventions + +- **One script per page**, named `verify_.py`, placed in a subdirectory + matching the page's docs area (for example + `getting_started/verify_quickstart.py`). +- **One clearly marked section per page section**, in the same order as the + page, with a comment header naming the section. +- **Runnable standalone**: each script asserts the documented behavior and + exits 0 on success. No pytest required, no arguments required. +- **Use the shared helpers** in `helpers.py` for server startup/shutdown, + client creation, and Broadcast capture. Scripts never hand-roll server + startup; if a script needs something the helpers lack, extend the helpers. +- **Terminology** in comments and assertions follows `CONTEXT.md` at the repo + root. + +## Relationship to the test suite + +These scripts verify behavior for documentation purposes; they are not the +test suite. At every page section's AUDIT step, the behavior verified here is +checked against the pytest suite under `test/`, and gaps are recorded in +`TEST_AUDIT.md`. Helpers that prove broadly useful are candidates to graduate +into pytest fixtures during the audit harvest. diff --git a/test/docs_verification/helpers.py b/test/docs_verification/helpers.py new file mode 100644 index 0000000..e596080 --- /dev/null +++ b/test/docs_verification/helpers.py @@ -0,0 +1,224 @@ +"""Shared helpers for docs verification scripts. + +The single canonical way verification scripts start servers, get clients, and +capture Broadcasts (see README.md in this directory). Mirrors the pytest +fixtures in test/pytest/conftest.py wherever one exists; helpers that prove +broadly useful are candidates to graduate into fixtures during the audit +harvest. + +Two ways to run a server: + +- ``server(...)``: in-process, wrapping ``startServer()`` on a QThread exactly + like the ``start_server`` pytest fixture. Fast, clean teardown, and the + yielded ``StationServer`` object can be inspected directly. +- ``server_process(...)``: the real ``instrumentserver`` CLI as a subprocess, + for sections whose claims are about launch behavior itself. + +Both default to port 5555 (the package's ``DEFAULT_PORT``, what every docs +example shows) and fail immediately with a clear message if the port is taken. +""" + +import socket +import subprocess +import time +from contextlib import contextmanager +from typing import Any, Iterator, List, Optional, Sequence + +import qcodes as qc + +from instrumentserver import DEFAULT_PORT, QtCore, QtWidgets +from instrumentserver.client.core import BaseClient +from instrumentserver.client.proxy import Client, SubClient +from instrumentserver.server.core import StationServer, startServer + +#: Import path of the standard test instrument, same as the pytest fixtures use. +DUMMY_INSTRUMENT = ( + "instrumentserver.testing.dummy_instruments.generic.DummyInstrumentWithSubmodule" +) + + +#: Keeps the QApplication alive for the whole script. Without a held +#: reference it gets garbage-collected, destroying every QObject with it. +_qapp: Any = None + + +def ensure_qapp() -> Any: + """Make sure a QApplication exists (QThread, used by startServer, needs one).""" + global _qapp + app = QtWidgets.QApplication.instance() + if app is None: + app = QtWidgets.QApplication([]) + _qapp = app + return app + + +def _require_port_free(port: int) -> None: + """Fail loudly if ``port`` is already bound (e.g. a leftover server).""" + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + try: + sock.bind(("127.0.0.1", port)) + except OSError as e: + raise RuntimeError( + f"Port {port} is already in use. Is another instrumentserver " + f"(or a leftover one) running? Stop it or pass a different port." + ) from e + + +@contextmanager +def server( + config: Optional[str] = None, port: int = DEFAULT_PORT, **kwargs: Any +) -> Iterator[StationServer]: + """Run an in-process server, shut down cleanly on exit. + + :param config: optional path to a station config YAML, passed to + ``startServer(stationConfig=...)``. + :param port: request port; Broadcasts go out on ``port + 1``. + :param kwargs: forwarded to ``startServer()``. + """ + _require_port_free(port) + _require_port_free(port + 1) + ensure_qapp() + srv, thread = startServer(port=port, stationConfig=config, **kwargs) + try: + yield srv + finally: + # The zmq loop in StationServer blocks on poll(); ask it to shut + # itself down via the SAFEWORD, then wait for the thread to exit. + # (Same dance as the start_server pytest fixture.) + try: + with BaseClient(port=port) as shutdown_cli: + shutdown_cli.ask(srv.SAFEWORD) + except Exception: + pass + thread.wait(5000) + thread.deleteLater() + # Clean the qcodes instrument registry so a script can start more + # than one server without name collisions. + qc.Instrument.close_all() + + +@contextmanager +def server_process( + config: Optional[str] = None, + port: int = DEFAULT_PORT, + extra_args: Sequence[str] = (), + startup_timeout: float = 15.0, +) -> Iterator["subprocess.Popen[str]"]: + """Run the real ``instrumentserver`` CLI (headless) as a subprocess. + + Waits until the request port accepts connections before yielding. The + server's SAFEWORD is randomized per process, so teardown terminates the + process instead of asking politely. + + :param config: optional config file path, passed as ``-c``. + :param port: request port, passed as ``-p``. + :param extra_args: additional CLI arguments, appended verbatim. + """ + _require_port_free(port) + _require_port_free(port + 1) + cmd = ["instrumentserver", "--gui", "False", "-p", str(port)] + if config is not None: + cmd += ["-c", config] + cmd += list(extra_args) + proc = subprocess.Popen( + cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True + ) + deadline = time.monotonic() + startup_timeout + while True: + if proc.poll() is not None: + out = proc.stdout.read() if proc.stdout else "" + raise RuntimeError( + f"instrumentserver exited during startup " + f"(code {proc.returncode}). Output:\n{out}" + ) + try: + with socket.create_connection(("127.0.0.1", port), timeout=0.2): + break + except OSError: + if time.monotonic() > deadline: + proc.terminate() + raise RuntimeError( + f"instrumentserver did not open port {port} " + f"within {startup_timeout}s" + ) + time.sleep(0.1) + try: + yield proc + finally: + proc.terminate() + try: + proc.wait(5) + except subprocess.TimeoutExpired: + proc.kill() + proc.wait(5) + + +@contextmanager +def client( + host: str = "localhost", port: int = DEFAULT_PORT, **kwargs: Any +) -> Iterator[Client]: + """Yield a connected ``Client``, disconnected on exit.""" + cli = Client(host=host, port=port, **kwargs) + try: + yield cli + finally: + cli.disconnect() + + +class BroadcastCapture: + """Collects everything a ``SubClient`` receives. Use via ``capture_broadcasts``.""" + + def __init__(self) -> None: + self.messages: List[Any] = [] + + def _collect(self, message: Any) -> None: + # Runs in the SubClient's thread (DirectConnection); list.append is + # atomic under the GIL, so no lock is needed. + self.messages.append(message) + + def wait_for(self, n: int = 1, timeout: float = 5.0) -> List[Any]: + """Block until at least ``n`` messages arrived; return them all.""" + deadline = time.monotonic() + timeout + while len(self.messages) < n: + if time.monotonic() > deadline: + raise TimeoutError( + f"Expected {n} Broadcast(s) within {timeout}s, " + f"got {len(self.messages)}: {self.messages!r}" + ) + time.sleep(0.05) + return list(self.messages) + + +@contextmanager +def capture_broadcasts( + instruments: Optional[List[str]] = None, + host: str = "localhost", + port: int = DEFAULT_PORT + 1, +) -> Iterator[BroadcastCapture]: + """Capture Broadcasts through a ``SubClient`` (the intended live-update path). + + Runs the SubClient on its own QThread, like real consumers do, and yields + a ``BroadcastCapture`` whose ``messages`` list fills up live. + + :param instruments: instrument names to subscribe to; None means all. + :param port: the Broadcast port (request port + 1). + """ + ensure_qapp() + capture = BroadcastCapture() + sub = SubClient(instruments=instruments, sub_host=host, sub_port=port) + sub.update.connect(capture._collect, QtCore.Qt.DirectConnection) + thread = QtCore.QThread() + sub.moveToThread(thread) + thread.started.connect(sub.connect) + sub.finished.connect(thread.quit) + thread.start() + # PUB/SUB slow-joiner: give the SUB socket a moment to connect before the + # caller triggers the Broadcasts it wants to observe. + time.sleep(0.3) + try: + yield capture + finally: + sub.stop() + thread.wait(2000) + thread.deleteLater() diff --git a/uv.lock b/uv.lock index 476f11b..fba690a 100644 --- a/uv.lock +++ b/uv.lock @@ -872,6 +872,7 @@ docs = [ { name = "pydata-sphinx-theme" }, { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "sphinx-design" }, ] [package.metadata] @@ -904,6 +905,7 @@ docs = [ { name = "nbsphinx" }, { name = "pydata-sphinx-theme" }, { name = "sphinx" }, + { name = "sphinx-design" }, ] [[package]] @@ -2765,6 +2767,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl", hash = "sha256:c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978", size = 3921742, upload-time = "2025-12-31T15:09:25.561Z" }, ] +[[package]] +name = "sphinx-design" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/13/7b/804f311da4663a4aecc6cf7abd83443f3d4ded970826d0c958edc77d4527/sphinx_design-0.7.0.tar.gz", hash = "sha256:d2a3f5b19c24b916adb52f97c5f00efab4009ca337812001109084a740ec9b7a", size = 2203582, upload-time = "2026-01-19T13:12:53.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/cf/45dd359f6ca0c3762ce0490f681da242f0530c49c81050c035c016bfdd3a/sphinx_design-0.7.0-py3-none-any.whl", hash = "sha256:f82bf179951d58f55dca78ab3706aeafa496b741a91b1911d371441127d64282", size = 2220350, upload-time = "2026-01-19T13:12:51.077Z" }, +] + [[package]] name = "sphinxcontrib-applehelp" version = "2.0.0" From ca51370a54bf1ad05f8045f249fac79675029ed7 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Fri, 5 Jun 2026 13:34:30 -0500 Subject: [PATCH 03/15] Added legacy page warning in legacy pages. --- docs/getting_started/overview.md | 6 ++++++ docs/user_guide/configuration.md | 6 +++++- docs/user_guide/instrumentmonitoring.md | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/getting_started/overview.md b/docs/getting_started/overview.md index 3657531..f1df070 100644 --- a/docs/getting_started/overview.md +++ b/docs/getting_started/overview.md @@ -1,5 +1,11 @@ # Instrumentserver Overview +:::{admonition} 🗃️ Legacy page +:class: caution +This page predates the documentation refactor and has not been re-verified; parts of +it may be out of date. It will be replaced by the new Getting Started pages. +::: + The aim of Instrumentserver is to facilitate [QCoDeS](https://qcodes.github.io/Qcodes/) access across a variety of process and devices. We communicate with the server through a TCP/IP connection allowing us to talk to it from any independent process or separate device in the same network. diff --git a/docs/user_guide/configuration.md b/docs/user_guide/configuration.md index 748604f..f17fc50 100644 --- a/docs/user_guide/configuration.md +++ b/docs/user_guide/configuration.md @@ -1,6 +1,10 @@ # Configuration Files -[//]: # (TODO: Make sure all of the comments are correct and up to date.) +:::{admonition} 🗃️ Legacy page +:class: caution +This page predates the documentation refactor and has not been re-verified; parts of +it may be out of date. It will be replaced by the new configuration reference. +::: This page covers the configuration files used by InstrumentServer: the **server configuration** file and the **listener configuration** file. diff --git a/docs/user_guide/instrumentmonitoring.md b/docs/user_guide/instrumentmonitoring.md index efb0c13..8d6ad80 100644 --- a/docs/user_guide/instrumentmonitoring.md +++ b/docs/user_guide/instrumentmonitoring.md @@ -1,5 +1,11 @@ # Instrument Monitoring +:::{admonition} 🗃️ Legacy page +:class: caution +This page predates the documentation refactor and has not been re-verified; parts of +it may be out of date. It will be replaced by the new monitoring guide. +::: + The following is a guide to set up a dashboard for the monitoring of instruments. It contains capabilities for data storage, data visualization, and real-time alerts. More information on the tool is provided in the next section. :::{note} From e1656c7ff331f03590e0f39a42972b2a7cbbbc01 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Fri, 5 Jun 2026 14:10:40 -0500 Subject: [PATCH 04/15] reviewed automatic API. Phase 1 done --- docs/api/index.md | 43 +++++++------------ src/instrumentserver/gui/base_instrument.py | 13 +++--- src/instrumentserver/gui/instruments.py | 4 +- src/instrumentserver/log.py | 1 + .../testing/create_instrument.py | 17 -------- .../testing/dummy_instruments/generic.py | 2 +- 6 files changed, 27 insertions(+), 53 deletions(-) delete mode 100644 src/instrumentserver/testing/create_instrument.py diff --git a/docs/api/index.md b/docs/api/index.md index 7bb817e..b30a5a9 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -1,38 +1,27 @@ # API Reference -Complete API documentation for InstrumentServer, automatically generated from source code docstrings. - -## Main Modules +This section is generated straight from the source code docstrings, so it always +reflects what the package actually ships. It's the place to look up exact signatures, +classes, and module contents. For narrative documentation, start with the +[User Guide](../user_guide/index.md) for how to use the package, or the +[Technical Guide](../technical_guide/index.md) for how it works inside. ```{eval-rst} .. autosummary:: :toctree: generated :recursive: - instrumentserver.server - instrumentserver.client + instrumentserver.apps + instrumentserver.base instrumentserver.blueprints + instrumentserver.client + instrumentserver.config + instrumentserver.gui + instrumentserver.helpers + instrumentserver.log instrumentserver.monitoring + instrumentserver.params + instrumentserver.serialize + instrumentserver.server + instrumentserver.testing ``` - -## Quick Navigation - -### Server API -- `instrumentserver.server.core.StationServer` - Main server class -- `instrumentserver.server.application` - Server GUI components - -### Client API -- `instrumentserver.client.proxy.Client` - High-level client API -- `instrumentserver.client.proxy.ProxyParameter` - Remote parameter interface -- `instrumentserver.client.proxy.ProxyInstrumentModule` - Remote instrument interface -- `instrumentserver.client.core.BaseClient` - Low-level ZMQ client - -### Messaging -- `instrumentserver.blueprints.ServerInstruction` - Client requests -- `instrumentserver.blueprints.ServerResponse` - Server responses -- `instrumentserver.blueprints.ParameterBluePrint` - Parameter metadata -- `instrumentserver.blueprints.InstrumentModuleBluePrint` - Instrument metadata - -### Monitoring -- `instrumentserver.monitoring.monitor.ParameterListener` - Real-time parameter updates -- `instrumentserver.monitoring.monitor.ParameterLogger` - Parameter logging \ No newline at end of file diff --git a/src/instrumentserver/gui/base_instrument.py b/src/instrumentserver/gui/base_instrument.py index 2e28793..f3e610e 100644 --- a/src/instrumentserver/gui/base_instrument.py +++ b/src/instrumentserver/gui/base_instrument.py @@ -50,11 +50,12 @@ **don't use insertItemTo** This should just be used to insert the correct number of items to the correct place. Things to pay attention when implementing your own: - * If your model is going to display more than one column (this is usually the case) you need to set the correct - number of columns and set the horizontal headers. - * Implement the function insertItemTo: This is the only function that actually adds items to the model. When the - model contains more than one column this function creates QStandardItems and adds them to the correct columns. - **don't forget** to emit the newItem signal if you are going to implement a view that utilizes delegates. + +* If your model is going to display more than one column (this is usually the case) you need to set the correct + number of columns and set the horizontal headers. +* Implement the function insertItemTo: This is the only function that actually adds items to the model. When the + model contains more than one column this function creates QStandardItems and adds them to the correct columns. + **don't forget** to emit the newItem signal if you are going to implement a view that utilizes delegates. InstrumentSortFilterProxyModel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -299,7 +300,7 @@ def insertItemTo( def addItem(self, fullName: str, **kwargs: Any) -> "ItemBase": """ - Adds an item to the model. The *args and **kwargs are whatever the specific item needs for a new item. + Adds an item to the model. The ``*args`` and ``**kwargs`` are whatever the specific item needs for a new item. :param fullName: The name of the parameter """ diff --git a/src/instrumentserver/gui/instruments.py b/src/instrumentserver/gui/instruments.py index b96805a..d8c0aec 100644 --- a/src/instrumentserver/gui/instruments.py +++ b/src/instrumentserver/gui/instruments.py @@ -313,8 +313,8 @@ def createEditor( # type: ignore[override] class ModelParameters(InstrumentModelBase): - # : Signal(item, object) : Emitted when an item in the model has received a new value, first object is the item's - # name, second object is its new value + #: Signal(item, object) : Emitted when an item in the model has received a new value, first object is the item's + #: name, second object is its new value itemNewValue = QtCore.Signal(object, object) def __init__(self, *args: Any, **kwargs: Any) -> None: diff --git a/src/instrumentserver/log.py b/src/instrumentserver/log.py index 2c0b5ca..9819b13 100644 --- a/src/instrumentserver/log.py +++ b/src/instrumentserver/log.py @@ -30,6 +30,7 @@ class QLogHandler(QtCore.QObject, logging.Handler): logging.DEBUG: QtGui.QColor("gray"), } + #: Signal(str) : Emitted with the html-formatted log record to append to the widget new_html = QtCore.Signal(str) def __init__(self, parent: Optional[QtWidgets.QWidget]) -> None: diff --git a/src/instrumentserver/testing/create_instrument.py b/src/instrumentserver/testing/create_instrument.py deleted file mode 100644 index bb7b366..0000000 --- a/src/instrumentserver/testing/create_instrument.py +++ /dev/null @@ -1,17 +0,0 @@ -from instrumentserver.client import Client as InstrumentClient - -""" -Script used to create an instrument in the instrument server used for developing the dashboard/logger. -""" - - -# used for testing, the instruments should be already created for the dashboard to work -cli = InstrumentClient() - -if "test" in cli.list_instruments(): - instrument = cli.get_instrument("test") -else: - instrument = cli.find_or_create_instrument( - "test" - "instrumentserver.testing.dummy_instruments.generic.DummyInstrumentRandomNumber", - ) diff --git a/src/instrumentserver/testing/dummy_instruments/generic.py b/src/instrumentserver/testing/dummy_instruments/generic.py index b0a89c3..bcb7696 100644 --- a/src/instrumentserver/testing/dummy_instruments/generic.py +++ b/src/instrumentserver/testing/dummy_instruments/generic.py @@ -91,7 +91,7 @@ def close(self) -> None: super().close() def ask_raw(self, cmd): - """Dummy ask_raw so *IDN? and similar SCPI queries don't explode the GUI.""" + """Dummy ask_raw so ``*IDN?`` and similar SCPI queries don't explode the GUI.""" if cmd.strip().upper().startswith("*IDN"): return f"dummy,{self.name},0,0" return "" From b56860b6ca2bad4172d2a375f45b2de92143428d Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Fri, 5 Jun 2026 14:41:09 -0500 Subject: [PATCH 05/15] installation.md drafted. --- docs/getting_started/installation.md | 109 +++++++++++++++++++++++++-- pyproject.toml | 7 ++ 2 files changed, 109 insertions(+), 7 deletions(-) diff --git a/docs/getting_started/installation.md b/docs/getting_started/installation.md index 034c1a3..5ae209e 100644 --- a/docs/getting_started/installation.md +++ b/docs/getting_started/installation.md @@ -1,12 +1,107 @@ # Installation -:::{admonition} 🚧 This page is planned, not yet written -:class: warning -It will be replaced with verified content as the documentation refactor progresses. +:::{admonition} Not on PyPI yet +:class: note +instrumentserver is not published on PyPI yet (a release is planned). For now, every +install comes straight from the +[GitHub repository](https://github.com/toolsforexperiments/instrumentserver). ::: -This page will cover: +## Requirements -- Tabbed installation instructions: uv (recommended), pip, and conda -- Supported Python versions and environment advice -- A note on the PyPI upload (in progress) +You need **Python 3.11 or newer**. That's the same floor as QCoDeS, which instrumentserver is built on. + +The recommended starting point is a local clone of the repository. In a terminal, `cd` +to the directory where you want the clone to live (the command below creates an +`instrumentserver` folder right where you run it), then: + +```bash +git clone https://github.com/toolsforexperiments/instrumentserver.git +``` + +We recommend an editable installation of that clone: updating to the latest version is then +just a `git pull` away, and you can read (or tweak) the code you're actually running. +(If you'd rather skip the clone, the uv tab below has a clone-free alternative.) + +## Installing + +Pick the tab that matches how you manage your Python environments. We recommend uv. + +::::{tab-set} + +:::{tab-item} uv (recommended) +With [uv](https://docs.astral.sh/uv/), instrumentserver becomes a dependency of the +project you run your measurements from. From inside that project, add your local clone +as an editable dependency: + +```bash +uv add --editable path/to/instrumentserver +``` + +This records the dependency in your project's `pyproject.toml` and installs it into the +project environment. After a `git pull` in the clone, your project picks up the new +version automatically. + +If you'd rather not keep a local clone, you can add it as a git dependency instead: + +```bash +uv add git+https://github.com/toolsforexperiments/instrumentserver.git +``` + +Updating then means running `uv lock --upgrade-package instrumentserver`. +::: + +:::{tab-item} conda +We recommend one conda environment per measurement setup, with instrumentserver +installed alongside the rest of your measurement stack. Conda doesn't ship +instrumentserver as a package, so the installation goes through pip, inside the right +environment: + +```bash +conda activate your-measurement-env +pip install -e path/to/instrumentserver +``` + +Double-check which environment is active before installing. A correct installation in the +wrong environment is the classic way to end up with "but I installed it!" confusion. +::: + +:::{tab-item} pip + venv +The standard-library route: create a virtual environment, activate it, and install the +clone in editable mode. + +```bash +python -m venv .venv +source .venv/bin/activate # on Windows: .venv\Scripts\activate +pip install -e path/to/instrumentserver +``` +::: + +:::: + +## Optional: monitoring extra + +If you plan to export instrument parameter changes to InfluxDB (see the +[monitoring guide](../user_guide/monitoring.md)), install the `monitoring` extra, which +adds the `influxdb-client` package: + +```bash +pip install -e "path/to/instrumentserver[monitoring]" +``` + +Or with uv: + +```bash +uv add --editable path/to/instrumentserver --extra monitoring +``` + +## Check that it worked + +The installation puts five command line tools on your path. Ask the main one for help: + +```bash +instrumentserver --help +``` + +If you see the usage message, you're done. Head to the [quickstart](quickstart.md) to +start a server and talk to your first instrument. diff --git a/pyproject.toml b/pyproject.toml index 5e26313..43bde0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,13 @@ instrumentserver-param-manager = "instrumentserver.apps:parameterManagerScript" [tool.setuptools] package-dir = {"" = "src"} +# Non-Python files inside the package are NOT picked up by packages.find and must be +# declared here, or wheels/sdists ship without them. instrumentserver/__init__.py opens +# schemas/parameters.json at import time, so a wheel without it cannot even be imported +# (editable installs hide this because they read straight from the source tree). +[tool.setuptools.package-data] +instrumentserver = ["schemas/*.json", "deployment/**/*"] + [tool.setuptools.packages.find] where = ["src"] From fee9261ec9a013369dc1bdab68fbef3ab42b6e50 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Fri, 5 Jun 2026 15:00:02 -0500 Subject: [PATCH 06/15] Fixed rf.py IDN traceback error and added first version of quickstart.md --- docs/getting_started/quickstart.md | 35 +++-- .../testing/dummy_instruments/rf.py | 21 +++ .../getting_started/verify_quickstart.py | 123 ++++++++++++++++++ 3 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 test/docs_verification/getting_started/verify_quickstart.py diff --git a/docs/getting_started/quickstart.md b/docs/getting_started/quickstart.md index 76fe7a2..fc71d90 100644 --- a/docs/getting_started/quickstart.md +++ b/docs/getting_started/quickstart.md @@ -1,14 +1,33 @@ # Quickstart -:::{admonition} 🚧 This page is planned, not yet written +:::{admonition} 🚧 Page in progress :class: warning -It will be replaced with verified content as the documentation refactor progresses. +The sections below are being written and verified one by one. Still to come: +first client connection, getting and setting a parameter, starting with a +config file, and where to go next. ::: -Server + dummy instrument + first client call. This page will cover: +In the next few minutes you'll start a server, give it an instrument, and talk to that +instrument from a separate Python session. All you need is a working +[installation](installation.md). No hardware required: we'll use a dummy instrument +that ships with the package. -- Starting the server bare (no config file) -- A first client connection; creating a Dummy Instrument via `find_or_create_instrument` -- Getting and setting a parameter; observing the Broadcast -- Starting with a config file (the same setup, declared in YAML) -- Where to go next (links into the User Guide) +## Start the server + +In a terminal (with your instrumentserver environment active), run: + +```bash +instrumentserver +``` + +A window opens: this is the Server, the process that will own all your instruments. +It's empty for now, and it's listening for clients. + +:::{admonition} 📸 SCREENSHOT NEEDED +:class: attention +The server GUI right after a bare `instrumentserver` launch: empty instrument +list, default window title. Capture the whole window. +::: + +Leave it running. Everything else in this guide happens from a second terminal, a +notebook, or wherever you like to run Python. diff --git a/src/instrumentserver/testing/dummy_instruments/rf.py b/src/instrumentserver/testing/dummy_instruments/rf.py index 5d4e7ea..b848caf 100644 --- a/src/instrumentserver/testing/dummy_instruments/rf.py +++ b/src/instrumentserver/testing/dummy_instruments/rf.py @@ -109,6 +109,13 @@ def __init__(self, name: str, f0: float = 5e9, df: float = 1e6, **kw: Any) -> No get_cmd=self._get_data, ) + def ask_raw(self, cmd: str) -> str: + """Dummy ``ask_raw`` so ``*IDN?`` and similar SCPI queries don't log a + scary traceback when qcodes asks for the IDN on instrument creation.""" + if cmd.strip().upper().startswith("*IDN"): + return f"dummy,{self.name},0,0" + return "" + def modulate_frequency(self, delta: float = 0, multiply: bool = False) -> None: """Add an offset to the resonance frequency. @@ -199,6 +206,13 @@ def __init__(self, name: str, *arg: Any, **kw: Any) -> None: "rf_on", set_cmd=None, vals=validators.Bool(), initial_value=False ) + def ask_raw(self, cmd: str) -> str: + """Dummy ``ask_raw`` so ``*IDN?`` and similar SCPI queries don't log a + scary traceback when qcodes asks for the IDN on instrument creation.""" + if cmd.strip().upper().startswith("*IDN"): + return f"dummy,{self.name},0,0" + return "" + class FluxControl(Instrument): """A dummy that hooks to :class:`.ResonatorResponse` and modifies its @@ -228,6 +242,13 @@ def __init__( initial_value=0, ) + def ask_raw(self, cmd: str) -> str: + """Dummy ``ask_raw`` so ``*IDN?`` and similar SCPI queries don't log a + scary traceback when qcodes asks for the IDN on instrument creation.""" + if cmd.strip().upper().startswith("*IDN"): + return f"dummy,{self.name},0,0" + return "" + def _set_flux(self, flux: float) -> None: mod = 1.0 / ( 1.0 + self.inductive_participation_ratio() / np.abs(np.cos(np.pi * flux)) diff --git a/test/docs_verification/getting_started/verify_quickstart.py b/test/docs_verification/getting_started/verify_quickstart.py new file mode 100644 index 0000000..548ed55 --- /dev/null +++ b/test/docs_verification/getting_started/verify_quickstart.py @@ -0,0 +1,123 @@ +"""Verification script for docs/getting_started/quickstart.md. + +One section below per page section, in page order (see +test/docs_verification/README.md for conventions). Asserts every behavioral +claim the quickstart makes; exits 0 on success. + +GUI claims (the server window opening, the live parameter update, the +Parameter Manager widget embedded in the server window) cannot be asserted +here; they are verified manually and captured in the page's screenshots. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from helpers import capture_broadcasts, client, server, server_process + +GENERATOR_CLASS = "instrumentserver.testing.dummy_instruments.rf.Generator" +CONFIG = str(Path(__file__).parent / "quickstartConfig.yml") + + +# --------------------------------------------------------------------------- +# Section: Start the server (bare, no config file) +# +# Page claim: running plain `instrumentserver` starts a Server with no +# instruments, ready to take client connections. (The page shows the GUI +# variant; the CLI subprocess here is the same launcher, headless.) +# --------------------------------------------------------------------------- +def section_start_bare() -> None: + with server_process(): + with client() as cli: + # NOTE: list_instruments() is annotated Dict[str, str] but the + # server actually answers with a list of names (audit entry). + instruments = cli.list_instruments() + assert instruments == [], ( + f"A bare server should start with no instruments, " + f"got {instruments!r}" + ) + print("section_start_bare: OK") + + +# --------------------------------------------------------------------------- +# Section: First client connection; create a Dummy Instrument +# +# Page claims: a Client connects to a running server on the default port; +# find_or_create_instrument creates the dummy RF generator on the Server and +# returns a Proxy Instrument; the generator comes up with its documented +# initial values; calling find_or_create_instrument again finds the existing +# instrument instead of failing. +# --------------------------------------------------------------------------- +def section_first_client() -> None: + with server(): + with client() as cli: + generator = cli.find_or_create_instrument("generator", GENERATOR_CLASS) + + assert "generator" in cli.list_instruments() + assert generator.frequency() == 10e9 + assert generator.power() == -100 + assert generator.rf_on() is False + + # Second call: finds, does not re-create or fail. + again = cli.find_or_create_instrument("generator", GENERATOR_CLASS) + assert again.frequency() == 10e9 + print("section_first_client: OK") + + +# --------------------------------------------------------------------------- +# Section: Get and set a parameter; the Server broadcasts the change +# +# Page claims: parameters are read by calling them and set by calling them +# with a value; every change on the Server goes out as a Broadcast (which is +# why the GUI follows along live without refreshing). +# --------------------------------------------------------------------------- +def section_get_set_broadcast() -> None: + with server(): + with client() as cli: + generator = cli.find_or_create_instrument("generator", GENERATOR_CLASS) + + with capture_broadcasts() as cap: + generator.frequency(5e9) + messages = cap.wait_for(1) + + assert generator.frequency() == 5e9 + text = repr(messages) + assert "frequency" in text, ( + f"Expected a Broadcast about 'frequency', got: {text}" + ) + print("section_get_set_broadcast: OK") + + +# --------------------------------------------------------------------------- +# Section: Starting with a config file +# +# Page claims: the same setup can be declared in YAML; instruments marked +# initialize: True exist as soon as the server is up, no client call needed. +# Uses the exact config file the page shows (quickstartConfig.yml). +# --------------------------------------------------------------------------- +def section_config_file() -> None: + with server_process(config=CONFIG): + with client() as cli: + instruments = cli.list_instruments() + assert "generator" in instruments, instruments + assert "parameter_manager" in instruments, instruments + + # The declared generator is the same instrument the page created + # programmatically earlier. + generator = cli.get_instrument("generator") + assert generator.frequency() == 10e9 + print("section_config_file: OK") + + +# --------------------------------------------------------------------------- +# Section: Where to go next — links only, nothing to verify. +# --------------------------------------------------------------------------- + + +if __name__ == "__main__": + section_start_bare() + section_first_client() + section_get_set_broadcast() + section_config_file() + print("verify_quickstart: all sections OK") From 632e5af4b811f1130c3bb0807b9374f240fc4adb Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Wed, 10 Jun 2026 17:32:46 -0500 Subject: [PATCH 07/15] Quikstart page --- .../quickstart/generator_widget_dark.png | Bin 0 -> 94987 bytes .../quickstart/generator_widget_light.png | Bin 0 -> 91144 bytes .../quickstart/generator_widget_set_dark.png | Bin 0 -> 64841 bytes .../quickstart/generator_widget_set_light.png | Bin 0 -> 64524 bytes .../quickstart/server_bare_dark.png | Bin 0 -> 51363 bytes .../quickstart/server_bare_light.png | Bin 0 -> 49827 bytes .../quickstart/server_generator_dark.png | Bin 0 -> 99958 bytes .../quickstart/server_generator_light.png | Bin 0 -> 67224 bytes docs/getting_started/quickstart.md | 178 ++++++++++++++++-- src/instrumentserver/config.py | 9 +- .../getting_started/verify_quickstart.py | 21 ++- 11 files changed, 185 insertions(+), 23 deletions(-) create mode 100644 docs/_static/getting_started/quickstart/generator_widget_dark.png create mode 100644 docs/_static/getting_started/quickstart/generator_widget_light.png create mode 100644 docs/_static/getting_started/quickstart/generator_widget_set_dark.png create mode 100644 docs/_static/getting_started/quickstart/generator_widget_set_light.png create mode 100644 docs/_static/getting_started/quickstart/server_bare_dark.png create mode 100644 docs/_static/getting_started/quickstart/server_bare_light.png create mode 100644 docs/_static/getting_started/quickstart/server_generator_dark.png create mode 100644 docs/_static/getting_started/quickstart/server_generator_light.png diff --git a/docs/_static/getting_started/quickstart/generator_widget_dark.png b/docs/_static/getting_started/quickstart/generator_widget_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..379feabaaec39d4a3520ef2ca4841ab407de104f GIT binary patch literal 94987 zcmcG#cRX8v*f(yqK`XSh+7h}HrRXveq@}H@8l^3*71gC`OJeWQq0!bXLe;7jL2HYk zm6jScn%L9`NyLm;iRbu!@85m@`8>b-xt~9HIVUIQe9rZ`#{2!gE-%eY3`B&F2=nmp zh!|eKV$Q?EhXQ{51$P5yTw90ad3Zv246j_i?PJHlg3{!!)^j%3dnLJl{X2O!7G{sW zIJ*D#m2*ZWuR_9v1%+RIs_VstWO}GCZe)pe;$9J8)_Ub~T z(_47cdozx+b>dO?6}ZGq!`#^wi%$B6x`P@Z715dHNoG`f>23cS23;j>~wBrqjW~66fK#)#_Jw zdU49XHhup8$4!e#IZ4!tz}W{&0jf%Js?O#1ig5F6Ty%3~>U($q0c%ap-gF-xbU2)3 zyg9iP2umuVtCspzL#yY^32xLSq|U}Xj*j#k%n2Cnn49F{r>lrAKI2zwe1Jn`c#E}4*r_*^-nLEo1!H}Ou9@j)#-GS zS3OxqdQ0kFz9Z>WXaDLAxnsVm)!J^I%U|nlIPc%qwcDguQr8FUa6yLGM;@zm4lW0{ zs9H9hJn42mi8|*?s7NaO?>uHC59bd#!!Ao(sd`r@;-ZoCB`CG-dfdqbnUjGZwM#NQ zll~ZV!_~L-e_sD)EmOQm1q9S05{|P9`$mx^pU_ z^~1a&`{ji=`GyZUQt5?B7PGu8&*1A`>)R1 zaSpojFcA8I8Sg)B&jkCiV*PR|zF?hZM+XZJxE7Kg*oDdh=>G{~(<9Ml3gLdy7k$Gg4){ zbao~fZ2t}(qF1>|>%KqD< z^om<08zYY`0{_P^s^0k3QTX)4J`V{qj~|Z1!Nar~S1f(b6-G{E@8eLHy=5(3M~6_jGxLsREAyLcDBQ29sT!R#OK6W-Z0or|(q_&1 zkn+%T0!aj1e!Oh{qoqA1lJ;cIsrBZMgXtwk!Jj{O^SAlgjnHGmjW`oe2UHRgX!S*S zJM(<3or^nMHI}>|0m1MjIy5!fu1_2=#dX?j7j$oySrQ1T>$pEiLbKPr|DBhT(vvr~8d=xR z#MxiTwG+$pt(N+kiqjZfUK#%#{bN}%7-1wzm|mBCTS7TF#SKbngvZ08z3a#>ZK@;^-GaLoO-ed@b) z(?{d;0?m9nKNXQTE$LL6UWY&mmGRbkdaPsl_#<;>*m{NC)B3TXaQB`Iqi$8B0fA}( zFgBj{o}L35Y|9*yO;E{KUpIbayg5Djh#!fP5deR1l%_fvx#vD#NA7H3^xz)wsh+*}f3E!Yl&h8oG z)?usq#_H(C@6pk8Zpb=6T{O^jmR{}hD)?J{YhbOSeVbpge>!u1uo{R)8%}o(74Q=m zU##8#?!Y*ao4RzA5NpL8%;5wCDO(}t*>U^@VlkZX&LtC_0aC=syU7Om%;Q6 zeAU9(;xW&QI==|T!8etA;A7pglwd3Dkna8I2U-J)eNR3l(t`-GZq$Lrz^v^h!tY@8 zAn+q)M>@bkyO~aN>#@0kUkL@h4YGMjPSv=ikysn_)Dnad08|W>>U4hXsofyx_ElHcIzNSK4s1>^#6>li}og)wvA1O9a}wB+zr- zFgSW+({kz~6_GdC$}8*#Mzi*v7hN;%Tdf!C>XX3=#`Lx3td-c8gZI0r|XtEi#C>mw#sTPhGdJR{Jjwbzmu{b?|phj?0hH;2Pug+6y4R4HK2icHp(N zU7ns6*T*sDj)ot;H{xFUK7Jh!Q*1bNUD(^?r(Y=NFBM_p_GuImsSzkBJrGbk8~RIU zA)WeHR-EpU8az|;W=g48S-!ZLWu89mylMBR7vn}J5LW7Df}aJg*sC}{BUNT?GdHR^ zb+I!IHaj18wsL@a%39|BR`-UhCU4aAT~n>@Jvi#H;kt}WY7qZG zeLx_%9oT(fbw!8yHYpqi(usxwo{CK|F;>enT&{bbc+>A(&Ym%|JjqT~oH$BoQla6e z$$Ee$P*oPDTXklt;V*J?UIlmAbOKo3b0b4$P|kOdFno6;!!2o&vyQU%4JO#WXHy4V zrhp?u;B;jIa3lwu{=dKIjz#d(@?PAuvkp#Us(LGsI)D8Rm`4a1AiC*4FkE-)heekc z%IwF9Cz`MwZqe>5`Kxp^MQscvaXT(=zVcCw>YA zyZ07eOZ-8qNutsc6K&kylYPHV`B%FEwY;*Bj{LM;x^BlD{5SfrGr`XZNt-Cc^Zwh) zovf^Nml62sKV)<&HGd^A-&by7nT_Ym(6bj>m0tQG*t#bI`dsOW!cg^4#OX%tv&5TP zr&;1{*g8I$JA5_L6s<1B9Hn3TW_lxgTmpThhitg`rOO>UTU<~S{Nc9aV?s$ejyd7t zzMk?9sp7Sn6|)5WwaiNMoEix>0rq$Y8vNc~SdC$3OpP?C8tGO4xiibzvl72p#50WH|6h?RGXtkT?3(*8U4r(WhShgu7d5@Mp^aXO9#4F99H4` z71*R`?P)LD<>@2)mIG?zJ6-zd=X`&W1Fb}Tt;n2!!Kt}5f?dWsL3Xh9>#b+eoAI>7 z)z{owwxe~m`i(jF4D;dcAYj!&&y~p6@*zx%0_y>w?2W{_ObsY}Z4SJFG}<)oi$_-&3Fj@--m2VMeF(M4AzAt55CPQm---ZD8egH>;(QF5uiu>bV* zn7It2Ig90boyo6(+f^$%c|5c8h6ETgzbnr*Bis(Wdf|EDDNGaAQ%`6iB@G7Bj#aPm zPYQ=F?IS9(ilG$*ssfoA%Jf2G5C)bV!&;GA$VrKjHL;~o7W@c#`_W2E z*vP}~y3AkiTV3cuTJ3Q^9fNQ&zW1k*f$-J&^&IVKYHM=dBRewtHFx>{{4lkDv$J0I z3$DQ+V3y^r!!}uFV;dyz$Q_Mbt@mx zkMCQX&c-yOP|Q+SVHnnKE6pg+1ajv7o8J?ct!lE)K%rGx<E^g7a1-23OYz_MctuZnleY<&nC8r?YJ!wy$9@q!U#hn>a zEU&Vr8YPv#S9ww}=}wh@9}e3EMbji`(lfo8SrXGTzitU5rO@6j(q6wjSbTew-TP^U zB|#mJQ(aJtf2`d&;VzZKs~UsAZ{tC?298d~<`9)TbWgYco-X;;&Qi=2E;#tPPGV!w z%Q`-m6aOy7CkZ_=n=~!VPl(57(Dek*sYM6a#M@A{KFBDNB zmDkeqFj)G>bRY1HCxWVCYeBgv>1kV+Rq{)Vng%EG;}=_`>?^q&^t`Ws?kg3SwVrnR ze!%i(+nGw6`>6g$J?Gk#;}Y%sX20~B8|BC)*_`{=L;`!}AJ(NVVp?jC%s;QIT?CVA zrRTlt2FW&F?OxL<&N$gIEPRP6KlW}9{&rRPP_+fSW86e5M*yi+X;Llt^Mg~aAsBgG zn^)&7a_07tAi1%8BTG-()64=RgMBlaL9W#p6|0BuuBr?@&3Y5W8DSGNit$atwxY%g z|1991rBCGqBo@v2^jgJ_cZ73d@5hP7p+<}F>&@lDKFono%PN7&&-ZeS5@2W>c6?hZ zP7&nk_g3p1E6(D_iNyl_JQYZy*2m?pLO#f>w8qjf#I~z?oa$ON9%UNJ;9M5`*Z7-) z^L};9Fgi7i_nOtECq3Qu78XCoO`6MSBh_Ac)3=2fo|mW{!x8e)HPS55H3PeT-t@TSlf=T1n(q4HJ z%%c$DYwE|!H7QO{?`E1nV7p+C@;@9`>^e5vI30p9((#CfiZt$@t~zO$)Y7fk>u`T1 zx5T&I85bfaWn%l!&Et%G*x|g>XV7c=p&dr#2&#MeQX$Z zk5g1wIw}|R5rpN}2Eot_Z2`Ipu$l#;n+MP_W z>;b#+10_D+O<~zVfj8s-G3`@N;k_aKWnRC|l1yRG@mqo?CdWFku&BpED4;mtd%BdX zqurALwjvLLj;1>p4r_s6I)`K7Fp6T=KAJnPVLKR^c5++=60G>3aD6&;-t%VgYAWNt zYkp4mxHB#hH|RdR!pN2S(*#{In`ZetRX<9+8SU2KvoZ1WbpLwLqg4i&8~?qh)Q`*1B~;H&O!?l;Sfn^OoJ4cl}Lk)?>bRzqV9bu3IgYV~ z?N#guYHaWlVhI99DCyYO~7^ zTQj^_JJxdX^02}XmSC0Vx~Iyz;xH|@X?ST?CtNc$)65{GW|6NpHh60SX>A}I=xy2m z3#S@5Ys4xIUMOC05wJ`u8;{+m|Kgn?C*_?wQus>Lh@;ERS0W;y;}}H$qroYmp{|6wdAziu3`ElBM>$GCnw47 zekDK1E!CwWpUfWdpI>2>1nbzkH|{z#Z%%~-t&L~RF&nnINIU9$#fUELa~5r`Gnl)~ zT58&(S~N%`(8Z9# zmvtq9bIw^VjJo9xq)Z|u>h%l9meTQ*iM#}>B=QroExNdbWZAIMhjRo+>NWH22@xXh zJ`uxnm*;#}eU=xf+RFg^8((zpb;o;_2TF_F(TLGY5hM1Pa6T%;Dp5az|9*F`#Kg(X zP!d{t$FI5HgkYgV_)JXD;JU%${Vhj^MskxT6jb%zjLb$mNMreJ3_sI1Yt=9vyttFS zERKGrx;ftZ2^M*+vJ*-#I`SSL)c+_cC*kgW#p3Ge6qY(sNDR5PNFoo0$no@hkRTeu z1|eyEmi9VxWo;^1F2`j<%K9It_6^Eoy}M^Tcy7K0kwphX4nF7qgwdK#{;kgQCIa$& zzGBc7$pI`|Inr{Lzrais$&*yyvFDhTo??hgN&PCV#)Ri){KT3EftnE2jjmhzvPcl3rgH?$T zOF`nuK_F4`sL#y2Il*^+vZ*WrhBdpK^|QI`2qx!Vj(gtp!T#&UY8OepYN^K*$(j7N z9mQ>zZF{PqNcy3$KDXY*PhOt{T!pdFk)lkDD{bgo>Vm&#P=t3CP5YA06xE)x?7>g)!nZezUu_ zNXqYy$Ol3fLk@FwcFG*mP6|Kaqf_NiIpyurz*%LjCN*qL4HQrK2CQVsUj31S8pewp zr6cVq%mc560dzw1l$QUvhxoz^)az0+n~OYbb905$C>rFx;=|)o?aTx5o5@7#O6%yI z=MkrRbzKJa4TeC!2%*IW?c9P}Nh4tUH<`R)onvLCLp>mf}mo zm_SyhF-&INQD$T8E+F_fcwxWdSsYtV2;^}qkN^loraUhyv+)YgEqr+4cTc`f0Cw4K zudO;nL)4+;d|}ori`{n1U)ZTT$LOv#*8>t$QsnYy) zv4T=!CwnPd)*0{&rLDnTr+B1d)cCA;-SZsof$6P*!dKzppUNL1bAh}klh`MiTZX{CTbw09yC6V!g*2MLo%Hg+=6PU^=LC!lW9S=PwSJ}BRwMb9 z*>iqT`-tvhd5Ip|vZ8+tmzQ|&Q0!3V;EW_G zv39pu2ZSlFS9Zuh8cH#U1qGHGL$j;tK&@~-pq6- zy;W|+D93p*dnuk|lT4EjuToSDrT$>PI7ULFVKqo7PKDa*bm(p)X3+(Tl(r={@cV;YWD(Z|ba491Vt{PsQ-f>KNWZo|6&w zS{N{?pI(Q5b2hxF`RAU~6{2X7I2E4&>*u9cMPjABqDzCG?s2#mv#eyxFRUWdX$!e& z=Nux70huUP@Wv{z|9SU+vnQn8-Z&D5=f}cCe(FhYT&?mVn_yw*L~LOf%Z5r%4BY~I zKP;S0m!NsNV)Y=682JfTY;3XPp}S9r-T4y{LVzu9@imDYE{JjiXS#-BxHUk6)1hiu zMw%v%S)2lU;H=?8t6uW+`S3@7#i%t?F{lh!qx{VUMe%4&vYzC3s)=5>QG+9!z^*T` zgD?L&Z_uU%-s@Pm&|pUt0&yJeBWzg~iif0jf8-si-{#EAMjpAT*%icV{~UCQpDaoj zwEdKZxaK}S`2wIN6(cBoc-C&KiEQC7B1FA=CCg3f9lYZ5?n8pA^wKhEYAb!0d-GSs zZNxB=T-+HtHM1x4ZhQic_sXFt?>|Zc?6)091$d@?t~Kapnti_aPu%ap;Q5ky89Y($ zRm&gBCiex^Q5rks&1X)&GS^Hr%bQMag2drsjXYo7&Nm|E$W+A^hu?@hHPbuwxRJKk z3afnibGQX)X?JA9*Q`qPih#YCF>O8cFL><@9rVgnc3xCMRaRC3-0nUe+~EEx<&^x_ zeNFMkqbbr?G}XWKPyR7|?cSk@?#x@5O-i_S>S;`pyRPy1E&WV0x6pr!pWR0)QydHNT!HuIOC^z~&~1uVMSyXy~X6JD&deXR!soEz-f4cPBWp!4b&_(qa7G z#=k8g1YV>&{UGjs7$idUfNbgXvsqKw`x-i%zeS!oKzzfw*_3@S<#bog18~Ktm-}D$ z(tk*;$$v-PQ$OQ9vg8yhTVl3{{^NCq1OSi#vsDT(4jy*crN&PQbtf&NB4A;VCqHSG za}tbzsG=}zGZuz=7NclstdZQ4jmU$*hN>M&amRW+X2nkdl+O$lcK5Rs;7&gR`qX?U zuGJT3T`klls{9AEKf?>#Nl3@;;rS1R;UJVS{d&!jj$l;GxK-4{z^J0wuUYZ25)1KJ zKkmv^c2t5)gps#@<~Mhf{`@WupZPPJEfnQ&QDDz3o3_$(N|*m`rfVi<Z+k z{VoQqnmPovIr+jY&lMXKap;QiXGg(AvuHI2tdOVH>>s9cVn3e$M92ZPKVbK~WBov; za8F9T{%*7S?2kqjNz5I*1<527_r_TR_Y)R2RB8d-;Gq1sxD`Wjs8pgEsT4{3GyXU1 zBeF?=h?$`ApsH@+tt3nM7(1L>Lio*fA~+_*1H}VGF&~q7P`{6IuWZ8wCPF%Ql8%Ek zmzp`HVavoDU862Tq#l82UDXz(M{(99Gk_4${=AFgq$0iPQ3U~l2Q>sWgb&j9-wFAb zpJnb7qJ-`v3L|zO(nAO)UqJ|00UH`rMX`lpkEKdElg1wdG!5TYjha;SOl%&mx|Gh3 zHJUB^S!#jz`n=qa-x!A4TndAb{^VPe#FUAcV^%{7Rz*grm52ZFgkw(y80pdu0(idT z0Rk}O91mLmPNg%|an5tx>N*4ls!emwd)&VlIcFn`ypgW;*$W@;!yC{Y!EL?bdP?~t zSQ4TU;s}6|@7Y4YeeVF(^B;R(JBa{Y^C1hKR~Twk;Ilq@T+{U8Dz)W;G(Ap1TN?Jl zF^M0R?E!-2U7fp~u;=^q#|{V#QylK@AwgSH5{HT(lssZ)PzjC@sRWiRwpI(fUn7kF z$G;UW9RJq`-9dPM{SdiB?{`r`FAAc!AosAx=(5Up@s8K;+QLAvS7vztfa>?=)sBSC z#auF&vVo-wj$!0y9IT+IYC~~pYY<+lAea06(2JB~Rx!oRZ+Lqfi}e`+A28_w?%B49J)cY%NNQgfY{=UCPTB z8A@ovYb(B3J!z6+20FX9Q1;|>wvf$D8%pLg#!V|U-96krOAKa@%aVsLy^GDhDrtM+ z-|#vqnauON>-Q260_O!8#Fr8guo@HsOvIXe>JmNZtO>kV5G&l>;NWo}Tz{KH!kVQ2 zyldITq`XkUo*LGR=*_pN@*Jh!}_V{4IZs4wOR5R(7y$`wA85>Og;0-?}x4sj|}C#oQS+=>W9+m@9_ z$JY~-%Q&X2s_ zBY+zD7!DB)17%k{P~2PSij8*ABH&i$pl{2=Ao9lUr<8w4owrp}@Jzs@18&?NlY$=c z?E(1sG;V7rT#VswLWV7NnAAsSl4-__6|4%_c0A}%wo@8pEpoKHr@z#jap>!>YQW2I z0=^UPE5elUpQSe8k3JvTE2iNJ9;#7<6yM)PVfBXX zQAxJj-XQ1gu(z+%>HbV;Cq1&obh#4_=Q`v^B2{Ho>&Hdhu5WWjx3S#0QSO=cvn1)+ z1}?p!MUW#ZB7&UTv3q&pjztc=7JZD+Jm?NM34V8SIBwYNV&B&u50p2f_p8#I@*W|H zho{hU614dG76_A)ygwU?(!#gBDP3Mfayfu+lIF?#7-N6NA2gqy0=-;+DQ;D8bm0K( zem#vBRaipsJJXr5_rA|~WKW?Tt6*b_+nq%C611qV>fhf+(~i#s)0%Ac2$jFH1;0=4 zdb>#u=8(^($hd<(`~NhuJ16YEy`HiCVHfNvFx|1UiCH^Kwz!te`;K6vnK;218>p{- z#_ksvCGBS%sy{h&nF$DSDi9!$L>OO=$&u7|jG1Mfmua;N2C)Yfic7{iScO1TR8%ey zF%DMP3!$m}d>~5kEfGP~yblT1ou|vn_nv%bkjoF&JX&1Ktg%Jz?h{rjdK#gwj%3j+uMXrP%u21rn*ZO4aZFCv$p2}sco z--bf0cz+SymEl%<$zTM@T^Rzy3lck;OXcuw#vjedCOhTs4DSf>XJ|*J3J4{PlzG*s z_PnEXqQv-8&LR?j#p9hvDKDyOP1>GhC~i?Oe)*mAT^*uI9-6R>oh>ND-ROjG2W&LU za^ErmonQq}CwAnHCttuJqGo?Lr+0WwwsT3n`k4yK1Avl)=S;G*c4>gkKu?#?34aU~ z8)>uWEkW7f3kM#l)!2Q$txF2e2qnJ3&4s_ zxYadc<{Tkx@JCRUMP_FRP}MJd*r_o*N+E}dV1yuEAQ`|TElc5AJ7J3dVRrEVu+!@T z!kF?Nv!WW5H{CB3GH%juRQ()44m7ho&;+2(H`CUj9JRBJz`h10`+Pof>QNXFyGV8A zW_+Rdm%A5vD1m>)Gd_p%UuvoAF@c@o0Gds4rs$xgeSk;J-&aaCtL?Kr8C>sS8JkP0 zse)(lM82ya($_A%JvrNJvD=^RHz=gG)ZRTdLMS8EdhhyrT0vp%d;k?TTTM+jGEy$R zV#(<@7Pjlr2cxuj6>fp6n$^cT2ZaDQ)Njc5Pt8dV9k<#$yX0PkDL+A(Wiw_dij;LW z;|2yY4(KasR~35|heQN?Ys&R(!AxnIAWB;8^90?!>}@#KG%dth*w8&hkY40`5WBV~QqnFt9oWd4j&M=k;=wyS+x5 zoz2TI30`lr@Ajo)lMdPkEUr{{2CD4vqKm|jOn~v-Z64)=~{D4dEK{pxYJv(a}F#hhg?NZ*ZK0BT2hHG5F zz?j!-=L!C{Y@K;u)4;ig)vqNvo6Oo0lwhpp-xn(Y!9J$5wb0C3-6d(G=GRWP^PgK; z&e*OakSOzX`|XX-gU}x=6{l-qwo)u>IFS4wUlpPh+rHTa!$S7p!+j%Wj@ke~+UjBY zGnyvsisUgQ<7m`_VCBzwQB;f3+jvU!DP2C~7MR z$dHUb`xx%;Sm))v>4GRFZ8F%rdw0GC#*>KsdvE-$`yVk|K zOYOJ*N;=iE{uDa!oAi_fu?oKc%@^{-ckXIsLk?$kQ1wjtuX9d2@`J;!t}r#_qXI&h zgGYDdt3vkot-Ss2YX3pU3Lj^1j=oXH1>c0&BFVw|{W6JrhL(U?OhXTR8Z0XqW1axg&04SV? zq7asz3_%o=!t$JxX0+^DkeKoOHxMeaOw))z6Nwmc`IY8xJTRNv5c@m?sWYv}N`&;w zI@H!_>Dvaq#6H@3(cB;`Za4eQRF0Xl4I#nOP75HTwqKhgv_-$4rts>$9UCYWAquC- z74b91_CAn(-W;&CPHB+8q0Zj8LDj^hd$}Hq??rlf--MtkH^Zg!a zkmLw)1<&)2hhO!1pdxBd;ZGP$5j%L@#wH)mxC32T6<;E>1t-MNBw)@zn5Bfi8nt(hlDtkJ10`T{V`#N?Y{3-V3r zMk>`0ZAZL~c~OF<2jPBI7`8@N8Vh)}#W(<;(ADSuBtC@fMHG)j_wC;d@1H z_{QB|m7;@qQ)Z$OI-lLK@<$k+aq@QSt(LoY=%Jz94(unIG?!L)rt>h=1olqvKOW6f zoB8ZCCG_5wKPo%~8};DMLzR;%c|r@`29dC6Xo4O#3}RAXsc;vLYz5xIoS`K$}YqZ2#ejjrotWWP0t#PX&exlf^D~H}@(0Q_}97!)F zg;60QCnKKrOSY`>j^K55h+y$!YRCA*Pt*-v?IK3(QBA!&rB`~p#F>VO_Kzw>Rl#|l zRz15O9s-G+2#XU$i)Pd^W%kdnh?eMk)Fq-O1QQS~oJx^wU_6g595MF8ZZfc*h^r z-o_Bd7?YQwX5!HrugH4%;xZ9zwg&W2@(B%^yCb~!VW<%aKomsM)A^Mw{~@Tx_COl8 z772&^BLQ^@N$|ih<>C1e9w@{+-$DmGf7WDBD4z|#$C5y@fxKB)sYMk(OmR%>3D8RC zmm9v1|C zhvNq5{*FY9i-Te3*&J110qE=lR?#>9#_!q}k? zErmi@EO7j}t6z zh|wjTP{JtPc(KNx;H=$wTB+X%>A!#hrTm>a#-!>Dp>d5K$WlfN)7>%1wB#2rMY=kff;OKFK%)$oaOs ziTgE1JP=yNcL1~?!6SOiN)u(b+d+&Fw0~FTU6K469%tjxvT(2O?k?7uIzg|p-i-Bn z+=K+1Gwiuj_Rn5Sn7-m&g_2!U@QC3l35h1g0#c9%ggpM{@|h-!GPvB7X2!aFR~*hvR^5XqT-l2-On>vxlR{FEo3`+o}m_pc(w=SXWu02q|`~XlwK@?&?KuKY0 zucIEU{}jJ=%IWFv(yZ}a?~>v(Jwpt*dgiC36coow`4jXZi4g$b1u#oG9)?QW_xkl! zJU^u2YYOzl!AvWg=Uo?wV1VWf-{@Otzx->fzHh?t<;o-c=JiX7W=Fgszu{K^*fi5E41x z5hN9dfiyDP@32WPg#fa+mM=aO-&atIki-lNDC(8&C`T#%7x+-7=r2J4d?$hd_a}v2 z90neTjON*czA!gAA+p{V7%!+;?H=?zfU z#d85+=U>h3$POQ}dJ=IMfcFf~(K3F2qRnwiqxX@5+@Lm`07_RW5reG(1}2`RR6FLG zX&Adx<9~pMzMgQImWB!vRjzo3B)jWDc>go;!k|nZe)5&?VxrT`-fhu0=pW89(l;a8OcQU4bBorJsTXD&!Di9+9mM&Zs21VQ2x_}Z3bxZlTY~(gBVXG49WZc{?a$&9_F8DgE)fBMbzdJ) zBm0U81H5zqimKxAW~@-ZMHQ4fG9(yd0K*%9Ty)=orpbmUQaC zuhVFTG{bv`jDXP{Hgb69UA|f$9kUo_`R0unz$&19G~n|kfqxLhBEnzAO2qzl)PsGS zj}_F}h2n8X0KLWqXan1B|A>mZ2x}O6LiLgo{m%MOn&MpPuYdjn7yY_T{;Ts71n91h z+eKsy#ES1`W5xk~=dMzHg@ejXW(+_iDs2mez|C(mdHL55!CvjnL4c;8@zsTj^Ts~N z5=Lns;se(A7K+l;>QXYf`{euI2cI1Q8OG*{$oGvyuy5b^8CTY_h69${Yq{@4M4VAU z)twzwb(vT6^NttEuIz}%=jvVaQo8{~Vu&@8tlSy`#QzlzaX$?Zh_xjO5hS<%eGG(o zwIdL_lxk-K)N!L~-|6WTJ==W?bwmfu&zEPZ6yHOMILJp#rWK~N+0g4+Q5bN5fvCvn zmnQE^oqwI<(wnZUqMQ>NK1^r4Tl>(V#lTb4H%r6ieIpfPNeml5O#T^kGU zNwjv=x{spe=jDo?SvGS-7p2y*^m$5-Q?upO0wkK)_K5q*-JXv^4-N#ymGbIJ4apDG1tTrd&vOVRfg~ z4)uS|A$Z$c+NGA=GqxOFdcHwi6a_39&&Rmdh{>c}EX?0Y)B?5WyA}|b$oHmzPmXyR zFy0>Gm%p8_JYsAu6x6Ad*_vjExhhdAuC9#FR){I+4HbLqV1;D(MFJ>ch9YvuLcg>s z*&E>LvlLziA~mec!(xVFOfzGA34svlqQPtW8;mD#Yd1GQdSI#Bn@7v|J@o_lv2}w4 zfmQ65BggC_@Hy>M}WizM`2@IU2Ot7cA-SQK~b7AkUB5 z#2VdW(b@_LT2X8(Zn8^m!wyJBbH`Y9Vsn47}Ep=tPauZ_fd*0lX!^v=J zJ1@&@%~04ydBa-^i07GBYM>pB4+0B;+*DB8vsZD4#sc-k-QZ*M`)MmhX(O(l=QZa9 zLG)=pNG32fd?OR6So;g39(awG_WTqVfKf7zyoz)rjlR4?0{22PDNa1K8Qhh;*;b_z z>A1=^mD+58sKRzel)i?CC-DuXS^%S&D1{E#e4RHi;FRY-UtftrqW~K12d|?r0ci^= z%R&Qls?b;r#7>#Q1`zXg^hp1@{oEbPH&N<~!#a#`H8P8AZ{KiT6_}aY7_@2y5>J9iT*}+Cz5)hyMKDCB1@cMzlzwH`a)=O8j7OQkaY_>$kC>LbiN&b8BwSacl zy)$XHAv0ko>rUj&LITq)s$^>9IpxL5?`1m@9qVl*APkYeD!mBWng_GMz#Ufr>9Wjq z0^P7V{8S1U!40%^1E#W$xGV$u`sa+2p;5Kgf8-_-oO^Z{JsOC#20^^LlD(vEdocs7 zv(%xpq5G=*5f@_3*qP$F(+L;Yu9bNf!HZWmmMv7X4WI)P-3HxfMBz!gK3g2*`YVH> zI2>WFAJ9Yz$uetnc=tO?-NfmEM?RxoLCX)JtMakrDN{JRa|J7vZc-?XoPRnfm9cec zqt7-n6>KNdnYz;6Bekwx%GNB z1(t4XB;$t;3}EZ7#;*K*t*EoHvIhx!>iCJQF^ahC!%Xt6S;B~n_rGbX_b zoSL5bpYY&MyPHh0EHkpNX(1n@C1OWzI7Zxms8Y0o2gtlcX<-1RUJ-9p*lAb%fz%G6 z8NJ0PD7V1KXSnL!H?#mSfQiq?VKLd?BlGL{pTbeuLm#b+fz%#^LVvN_)n%+Vvg=FDWpGNIE! z7iCn@pM@AH9dkr}(IR`wq1p;SGwkDe;l*L18wUGK8jh5BIs1W+618}E-FXp>)x3|* zqMXA5c@?VAJ9F7IIxk|38=@Vu>mzQoV#{jtw~wuC$h<9j_|7P7$TUnLa)PAOGP;Ke zr%eRh+MT@X67OU7kXNTSAf=NB1>b$zl83Jw*1vI%s2duE3|`u{GO$)K_$(cawxR~( zkJ`W$$Oo6iZtR}q-OU@a1EH!k{k)joMy4*_e>u(W>>WAR9` zy3Q1Lg^)FGOdjGs*VBXTVFvp9t^JgIHpebD=$2~;E>juY9*phXwDXwgnO&E(yP2Uw z&HTb7&lewK`a`Pp`&$i0uv~7eWKZMhrqTVm&;H#X8jeJf*4Z^W?d2pFB#h_B8`B#2 z8Q&k+*|;a#X5mwh^R(ao*%;87l|<{N;s~q{7swrz*^fkPl{m%x{+j{I@4kF%MCWb~ zPyO-k(eKR3K!teDnGDBbH!k^YeUR+F1rI1<`qz5N77W7K8m8GuOm(HMD16=t=#Yz` zr0zQEmlnRk3y>(YlR`j0^BXV{)&i94UrH}_+BZnX%)l*SREO<^Fwz(S0^}KK>CXu2 z1U(=In1ZPCN!HBFq?`iKb#!WE>fP{RpkjZx3wX*GU?e>k7;ty4AOnd%LQ?CJfGW5y zZNdDL_$}cH9;=1-M57~{XGir*g;DP1Cc5jBzt0i*2X-^W7(CaM4PXJ|rmtJ*QzHT> zV`|iLba)PHyyMqR1n8m;C`4k&dB{tU_-47;E5w;kkm_?@&^4oJHubyZx{_OQeT)OYw zFlf+*Zde=lW@mMh>4Vr!gkOz?tc&mFgj@i%cT}ppe1Qq#57~7NGrV~XVAG|41ufi{ z1f*f2-}x8_=st$nt2_7!(5v-o@f`pQZNXduIAs#>9|44s^XnKOgH&RU59M0}o#eQ` zhX4!%=)XKz?eX#leWlIcS!T-5Er#|2FxxN-GfdK5E&Z}O;G8#=WUqVXYp;2nUXL)U z7Z~)z5`eBjpTpg-7Yz~%P1g?FZTVDZ?tLI7hY$CU_Iql&8POIg2?Nju9GJpYDFA)m z^jIwfDt!_WN3I_CTaYv271(;D`vL%Wx4F^_TSu$zidBxUjiq#9%^irkkFW5bT&NrC zKm4Wm@7)SC9Oq8V>kVGAjc_Ri|1Z}5IxNaG{2zu%=>a4K z1_T2{Bvf(;0bNui6hV+?R8$bjA(So&$3Q|60R?H8kq${=6qSyVkd_(=0YUOPZ`}QT zzwi6}`TYLaWA|8hXYRS~E6(#%7eRaK^5?C2)Sdm;ev)WbSa5AnB%1Ho)BSNaQTw8r z`D1hQVP4Uvh}9lLhO+*tkb9NQZZGalCf+veH=U_*A_+PuY2OR?n|~sZ;>zSfjkB(t zX>a%KU2m3kes3F}cso-&=-ydT-;t-`ovM{X76k>k@uW8!)srbu?K$0hi~2*;oM37d zJUG4DJ8Pcg;{QHx@>d;pK5Mqdr8ltyH>vt~&X@8>Zer}1(v|J+34`=|sQwcJ15iMP z3&57TcC!IaU*{-Bmg5Gn;B#&6s0>u3-V$-pyGlkJ&Kr(Ts?G)&9uA5$sXTJ#}IKWroRs zF>j9g2G;X)<}{exu~1)-06&Uzq3qSFC_GNqgeB+@9WT+~nUE5&eu9g<;)8OoN_Uf~ zWH+Nb(1JM^B2tquF5MYbxbaSwF@GWED`euwmRBbEao@k|3EX1fqB50J?lu zj9RaC`^S@C)Fy7)|8UhY9-EC{pJhbUOl0P-6bz0Ss1<*TXo!(e*lZe{K0snGz)r8Y zR%FrIkhaF#+kdjD+}WS{HLta*#%gDn=$WBNxsS~&o%hxC>9;EF@+c@<%vvrM*}m>R zBwyodZ|Og$|Naf8*7JJCz(#Nwt}-jXw2#vh|HE>#QoN(sQzP*^aVT%)H)>MtvGBe1 z(Dq+GxdYRy-Lqu&={)Ny?;@cUxjh`S{rG^SRm`gw(KZZ$^b1bZf|naEs(Dgs_cG(k zKXCy-6J+TWy(4pX zxPMcE7oQZ2mZ;i;+0>p?^u!@MWi6A81Qky$t!}h8O>OFCl=Y_F)+6<8oky;$1O{?l zacu&+%b1}3k#WppSh!ZykkFvJ0L@MoiBt4LxH^F?{H6&thKi#lu|A6Py58g-9s1dt zt)F*i9ReM~N^Tq`%&rJo_)Mp-_?}U(&!FP$BB@E&@l(Zd-5TbQ^M72jr`yXyWHT{n ziK=YGYP4$jgWXGkr2NCs4C_XFG$?2!1>GGLufC-8OSql;&^x2cbB zZ(PQpxxt09A$*^i3zK7$`I^WCk>dD7H*ZVX8fsf#`dkPRXUKb<`~)E>_t=|Ki_OvZHJ@C zgDZ|c8&-;ASym`mxvaG>I&)j4L;k@`hs* z+&x0NPd?RJoo&A9dq`aS5Kt-f7%d=Ix`|7MxdyKc3HRLOe`9d0jew<3>hnj2KCCc- z<~|3|OcBW4D6D)-Pg!^xa4*1r?TF*-&Uen^TIv=oRc9A2H7Nw3MgV)MYBSvxJ>yV- zRjDq#vt?WbMmTST@w(TD61lED;d$*G?8s=hr2Vx5%`aNmf*K<3ZjMYmatU!Z`a2PZ zH>qS)H3F#ZeQBDUTi@$3PBKc2+FyQ~o~L=zs+XbgAL^G?3QFRq)Eg4@Y{KsZ@UN2g zJ|N8{WsQwVEaq4mR9yzT^RtKz!a?|bicb6v(4)~d=q={7CmajNs%0=19ZeoznjWVV1B zS+UDIN7%1_s`{uf&VfNPIcG`a-j7iC9vKlq>dKK{=+>GVr?I&39jm)zO8%a$h4Rm6 z6lBVNFQOLMR#^zN(d*v$jKe3$e?_S&cr-ta)DzlDt5nkqn;(RzlXzG%p~|))ojr`k zxEi4-&nml$wFUU+9y5Yr`TSEKSrjfrrRBjPge?FL_@*+cMH|7e6&Yg0537;&W(^|i z{$!o+C}w-ue`Z+ux<_+nS-o(zBEik5oJVl)D8-g~zK~|5_6{Xv3e3Tin{{ z_DY84pK3CEY;{u;dimIs-+LMK<+Tda?Q7!KJsM#t)(^ev4K^&e3}IqiDOKN#rizm{ zwBLMxzw^-2`%ZJFrA(C!dM%GZr&I&iv7l7mxGGpVFX&k<{k8D3hvi0TJB@Xj=zFJd z4cx@!$sOTdK1dIU(O8`%#f>C9p7+Se_%ZO~%CzOY&lLnY$)u*h#wLe*u(yMVg`;TD zFgBSd2ag_xmRP|05W%SFQms)TTNV%5`;gOQtv+>Y10h<_L4wyApm}|6@o1J5Xid65 zaUqD`9C@0*GB(Gy&xDYpO^o5BESM7ooyu%?vATz=pWj>8~1?QlBKaRGXL-sBG3#90`M*2jBq4i3N{Q1)NcZe@Ba!3v*V$hj}dpp!)`)6 z=%0m+53XuT!;A;u(KDLkwRqySmy9X-;HzK@j&$L4k#o7oms5eRSte^dg-E}Me@F!UZ;)zwhL+Hy#oi1RV~z8&PRVrV(wzz`&JUKaqiIlXuh9?c7;j1WF?P`592yg54<2rgIk)UdoykgYMpA;(x)!GsVf} zhu`1mchKgN7zpmYbN}`W&p#v9w!cx~2q~bHCXBHH-J(S(IK_ZMgO<5FK`B zI@gqNI#CW7BzD-$gI$v`M*`7*&cTp;vY^Arf4ka{bftwFP;sEF#sXm+Rd6q%XEOC8 zwTK&3rN2-)Y674eW(yC<0aw1Q#AlzD6pMC|;cljgmd0Cl3ixWVvi#ZWui|Af}r z)D(^tTHUpACe|HS66!4%|Cu^G7U39VISwSyVUEWHqraVJlc%q&rf&6218?wr`NRk7bGcSho3)0x)YW1N`%7_tX^iXfo*CtY7c23Djf2T2CohGq+7tb<#oG%j8(|FBKWtl)l zP~Ki1#8PYucJ&rO#t9g+!{P;%I-W>-uZ;+X0=*wuVR{nD2-yexY-bY@>?+>6f%;z+ zEqP;1+$RuuMw&s8WoNGG%OXVeNy{^d{NBBkliX2j-v7;ytMs7oS3+tIcvKATaVyf^ zEffop!OB(h^3%FLqScMnB8F5x#gY=-ZtZsK58NqA$ndH(Nelfe>Nnd*4&>>{f;y@@ zdm~<)5q`q?RPswK?A2a6;szWu5-K=mcMdb%Z@S*OG6XjPsX&ksgA91Mn~2SQj{FE( z)HJvefyuIog7=87OyCg&4jTCM%lk+uq<>7jG*O2~{sBx8&l}O0mdH?K=htKg?nqN0 zY~s?lFZ=R5E=i78c*Y_0z<%~dEoR(S2)rP`jUQr?Jt)3t?%_y^_jolH;6|%gQA9p+%z86!5 zuSsHz9Jr4g-WL{)k%dYXUFn@|%auJ&cKLO>1=0SK^0^~D3Lj?44@{)sFQqt)AxdF9 zT0brsBT5eRa&cKeSEgof#@I3AJ{ynxYrnXi8jWSRVR|n_)Fd1D_aWlgI1_B+mGs%R z3eQV#zfw)LnM}sCFM4pN0zVRaJfXo7R&n$B2x)puC`R~T#7X#F{FtDmM^Grjk_$rL zfL$f=(!;F*CdY1m?7zzG=;K4gB{>{SShoPR7h1%Zs?^i`7?heD37>Bn11~SP5|>~7 zbe>|ULuj}(sPf?C3pdIp26sn`$d8cg^MG!b`ar=MWwy&1gGo?=D{>;&R5m0C{pCQy z*>W@3lT>gIPF7$u3U`+o(CwKAz9^GLk8~B&s1BM1f)!YQ5P8Z^MZLMEPoXKWxd+uO zf92|BEQy?V`CkQis$uZ)RMTWtx%3%fECZpznGl+7d)S45mEdjHL1P)p4y;nm-H%3( z;GKY36^=YcZ8dacvWIhy5huWh1D5{)Inc`GU3zQM_>IQf5Up~_H2Nu;!V5qzP@WZ>? za1)<_`U8`!O1+Ny&l>TMLK7-?7z-2QkD-(h>^`0p4sW_v39_a;aOGvt$+_T~&BqDV zsV!WB?deYs2I{9fPhw$p=3pt#axb7TNQTivgarg6ml)?lyI-ew?K7ztuM1)DL@*bK z8?5ER64S|CYE8<-k{DsfasSCZ_3?^wuhagr&SvFOe9}#la9Fw!H14p5*T&Dy#f$St z-f^Xv6pWVIfuIdOk>}ZSRX9gH;hW7}DYa7S-Zb}(*6~UDDGP>|Zhl zCw)mUcDLw?;>|MxdQW&CVo;5(PYQ>{8G_jvVA6j!L=0xcrC4p@;qU>o3$k@gVQQUJ zZpY{;oI|9HmA~wH^T79rXj%1v=rivF8EmIQzhjKa)m!QLK3rMAV`!i~x-L#bj>S1d z!;Dz6pCSrc&u&Cz(6)AD360Fh^}s_=1A&$)#72jdpZtj{K;=9fOr#3)48sg9SEt$M zFFD+7!qc_TjdHjmVdW-$4MPeRPKky_TJ#C-eij%lK`iB;np4=HT< z%Zb)Bu&0+;`2%KRuVV9R-<&hZh;V%0Xd^}$=HA-)Sz1tM`}}$w z!e{B(c>bA)&&bKI$Ua&Vk0>gO23$XTOt6au4Fc(8akrqbMP-^nV@=a%`_E)2l7=zU zdUI>NwrY^U*Gn`)GuCkN41@7SDjG1)f-r8)G1UfAL2_ z1wx*BOW?wS2B8K{b^;ada%s)hv8{!0jSGBMUbaAW7XI_ubHIhP3}g=xcYQ$%WXT#< zlLcj?k<+Q+!skgsZWk&*g4~IHq!!nrwmQ)MSad)>WOA4A1eW0~!g8*tOY|cieo$Cm zS*0i0gHHFtY<{KF`m}-ni&uW@(-qs`4tf@6?f0h$c(^Woj=k#}VD-OL8pv@7&q8`w zVrcMaHZ4X!J6>bG{ZU0rIUVj}gE!;~`WLJYdW}7tJ%o?(PykK!GT5~b{RAFw8kDR# zkJvWgiQHDo@6VbKW!q--%Gd67x+Hyn+J<4o^s!+aMrYXr;h*o#m5U?lsIeHa4D z1S@p;l;SIPRoyQ~)i7l{A2r6JPjn#knmafg(!e-j<6iT2Hf%O(!*gq;Hv@(^HSE@M zupf1`(v<JZws%wvCx{4FhN|BCliIr%)u5;X9}$AQb&|b zbpik+?**tHQ~8jD?>Vxe&r&_H>ZKw@hPW+_LHC!>w6{gv6JN&5_(;s6aw5*WXEI=$ zO5J+BBYx%{ZCiudKk8KT2)Wg-**`UAl)QfVy`EP~1Sw46{e|vj%EC4X{Tn^@Z665S z2*3BxH!)wZX*qRnBwWNw<0zS7CyR~!=}!$J}R8y%RRKj?HbVGBk;}KIWbv%j`avzQe9{6T#R$;O*6GMfG{*)B3VnzEK~J#4^Gtw;bS`3;kT$ESb|K8y2!t zw0~%RvPd0+>~2q*m2ftDz=c4ANBf0;M|zqLC`;c4p~dh3-j(Z+dSh$#pEsj152V7z zZF&WManEqi4djjOWzebp916Uwi=n8v!SWcgwVjvO)Ht$7kybk92lbb=(GOAknDjY9 z5g!x2nrvFLNA|V;ITcMhFDUtGs7xWzh$}jCO^563M)0HOf29C-a2TEx-`TloMWH*^^pzD^7#FAsM(u3B)zQ7 zM!c-JRzZMRJ&R2f6ae?_UwPk%?|iWCT;fWan4!n1mqey&jcY)V%o}V6BaTYAhhAwv zg^3|+THxdnzDVPV7S3LyhBs95X$F43VpbHWghlmUGN`ZC`>-<6PCXg^;_WY~bob`i z+e9aUv9eKN8Vc1-vXc*Pa~rhyxr&yG44AU}{0`xdkJXAieh6mo|5>KRYXhI2W#5Yi z2p|T6O=1g=LXGIC|9VoPcQBfWwG2Y<`Gft!mqHzZy4WdSt1wVFFsZqR zx{^h@ETuZ0N(hw@(1g4mX=afToBlBy2>VJ1fWzDaJl-Mxpz20hcP znQc6hpu{M1?@J5a6cyDlWs3js1)ExyeN4`^e2UgVLJjnFE47Xna%qKRhm(es8u$r$ zrQa*08=}y%X(Vb{t+O0V*t+5DDaXqp%^Xg27i*i;VA%; zFt1+y-TvhR2D6Qok#1susGUYcoEM(25dcE@d>y`78HaMOR(nwt;5^ADc}4{U+{l>S zsfBLRLdxQ#p&ZhPua$GPMA93d;ARo@2=kkxn?q6A=N0#4mr@^G+oV&s9rd7QyfYxg z*JL9qHT6eXv?$z9HMyQ;=n-|H)O#x#m?j~zlJ<34Yj~l2mZr*EYC-6kvA$TLk`DO= zw|(p*0&xMd;uc0q(E*oERmUqbk#+*v@29+?dz#3o{q=!8!=#1E-J0aC{jK^4be1N7 zJe_PPqDcwQOl^&%^3sdP30$*}&bkAX?`usEL85Kg;hcdv@{E zpCsO(B!gG`$#oSU8iyGor^#Q99wzZ5vNS6A&e1I{O*7;8jS!Vock)s|L$I@imQ}*V zX%Bnx6&egrwaXp`##GxDx^$>dYs@qQE>_r;9kvoiu!-lo2z(;T&GNQQ4s608b_0@? z%^39G2^uLjy+^qdSsLuJnqJhSpXc(liQc+?=fNpZ7YAcH>^pZ6Jk>huS8boTP{82q zrP#zs8^wZV7lY#v5{%aAL!x^)Y+Al04DM##Y#)9#IT=y`fLr|wt1trxo3`r7R>}JJ zIuiWJ4$qB85a;^g7{_09AUmbPrC=G}Qjw2YKJ=jQW;Mafi#~oiwg$^U%Od#@K@%7$ zP-%b59`Ae7el-{!GdJAzQU9A9dowf(TEulU=B28%RwD9b?$GM6U_8P?|LqsQsvIYw z4s+CjwnN;YR&{io2~RX9NQT?h$p*kWb2X9DCJv`wf<3)2EA^k0&*dI!2>$1qk7hq* ziP`P=Ji+f(*Mdw(28{dSZ3=(ok#6!(WN02ZzUNZONLLEx13Yu8X@VBC4KP#*29Sk- zbcFVeaazQawV!tJ z{)PP7au2Y;Iema!2Q7(B0-q3I3=J2xRB*D-!5Pn$U|_@JH}}EcTTJn2Nj&y{Fu>|B zhley{gF#O(!50~N9t&IW#5j{DMd@gdxWWGIpEe96>A#|R=Fp1ER6vS@h@7g5PY3xRH5?l(w4Cv=2{LM{da`Jj)TGaFGfX&+b)ms6RIr1f;!o!-a=Y=7?kPg zoX`ifUzBki`Y4ETf(>GGg2@9A33o)NiH-g@8ABQ{<~E|aN5~;Y96V%&0a`rL)lNL{1W*|0O2=I|f8+v`$^-NCg*I`H+?f0C z40zKVVmE}TN5RK%Gvm~~wd$NQn}gBzjaqb=2Y7UvA)-{ku+>QpPw@YX`#q(Fwiu21 zs7-tvWC>s;7!{(?(kdFBPig-L>dCG{;3jD3ZF&tPdPwAUqEW9tjH$yU9{rs4+(^E$ ztH9-t5LM*>x_LlLxh^4C%dprKKW00PUs^y~SX!(O<>G`uCc1MB+C9MwS1irKlM@Q+kALAH-(c5*lF2dDDDJjR6oRsZ=sJsU@;|9`wmY*XnEd8KKmxM-1r50udU(rE#cnIH_wBDM*@R?6s zfUU}Lh1!tJh(h4-aaxi54-Tfk4gxQ5R~Uj}myYWki5z%FmHYEN%-bt3coN;<;b6hK zp>PPmPG#U}l5(JnXasaOx9;(u@<-#+K;E6CS|^8_&l<)2>#0~b6y=V(DT1y%V(c9~ zsMReSqXZ~H)YKb*#0Q?-qw-X5!aM7f>RSRv5=T`q|IBTc(UT7IkOh(_2jDDYtL&K6 z-#z-bXd8{Pod_)d?F#(YcXv!Gh%o6Q&Wa;2*nJZz`=-4!19?X9WXf$>R}T$kG0g#4 zrj^th+4$+tIMXRuIfB_uh*}#qnP@m(sC*gz3(tAO`xp3gyk!Eab+Jc?5c~lW8x;@p zxJBPPN~i}|X1fCwm!BSN%i;#y5@xDLv}LC!#hKIAfAsa}=uECDa2J%z0|y6k6I3~o z3AT%b!+Hj;;uDwpQ7D=@XEqV+Q7#B1*Om}r`^&hcSdek9$h9R8E8a&8w>`oDXcz3Z z>fWO@fbv0cL=wBf6m@>|W7eLJFBfc=<4ZS2vjtIe6T%~#Ini@uc;$lCCu#$LJrULW2pkAOToVA>2ca{s)WCddLBvUN+${e; zpsM~~BZ0biJqRbXfI#YPg_nU&2ObkUm}it}B&uAxazX!rG62@8c#xo7eFRP#SX6QV zTaJtd;`c@Vq=z4yG~Gn@U2715_(T}kj!#43TPi%LHfXDW8AeEjLH>GXJEzSLty5hd?yBIXof>uA#5R(~mRy$Of}BtHSN zg(44=fDZzk78XP)>i+2)Vj9W=h^e^1xFeF;yDu{cv1cGPO+Xis7Eow7awfCFWWH}2 zuZ}YzDB&Km{7t}4W}8`7s->y+4`?%_E$;1W(d;?Bg0L!MNBl+fpB+!eTqL2S0R279 z(0>6bp&k)CBe(>BDTZJFSAm3&P2%n@HYx?z61;veGB1DTVlg(-@OfZEyPAx-re?Gl>~`j-<>k_moz9R51H~IjiTs({@@!ds&0HrOoBb`h5q6 zWq62V``+k$L&T*U0J~Vqz##$1eJ^+9#D|Cyu!4CodpVUA2PqevJr2wON*>OY-Q1J2 z2#4tjg?LQr?U`KiAMn{81t`@F;h$V$gWHxnzI4be=YuB&3B0&fN6*I!^SL_2AG2_m zaYt=&b>wsw1k3HRi3kfY(M0}gwt{MW`iRlv8Eoa(q=V3A7h>)z9zLXnFh`I&1S}&E zMlbmxO=utjq`9U`CRjj_@aP+vZNy+pmGl>Ebtr%S0{^Yq&K&ElnX8a4;h8kKaw82f zh`)`m8b6e`@+-ckD(9hJ@j^XI@6M^B?*8w;OY#+(v{71}y1~CI*Z1nC`C@i-)jeJ* z_V!g4;#CW-JY8iu1_lJn9n)}Fk>(@+XT)HihLR3!v~>UMLpIzLn47@Cr5OTS^3lB6 zR=N26Rb>Wu6fEj)5DicVp(DBxY6RxdZvoH~6E1acp)1YyQmBp>_;lwi45!CeFQ?yv zoYBmcck%CYTeSDhq#yw*=9BjX^=5cn9Xrgw|B74o-&ys~lW$dBaxZQ#*q-#?&QPEC zTZY7k_c=*cGai;gAwJWEA{OetKWIODPOM(4*^=&T*G!rm{?=01q5MbAry|C)_Wn}0 z$9;|XRhHdgwOj2{dvG}>69|v%MnXMl0yGpx8ClIc$?sPKN^>MTcj7hDvQNsLjp3pZ z<&UOisuve^jtHS*N}@_N=jT3sih8<3id!>;diDX&=c!DIsoH3ILA$LeOH!B^t}aX| zcgMHqtJ~76$=pFFeOCi-zU0Zm)^GQIzHjXlU!};jZd5zOypbYb1YR>xf9R27WuS8g zLlJkDVfdj`eK*QX032v#re!x%?8c$8P#R>)vD54Z6TJ+r!fk54Q7GKR% za_GrjyyNxIBjCM9kD0i#k(UO@fyZ)hkFcAFN@q9)pz|ZPO`qNR@#Q(1G!@1jlD*vc zc{ReCKQ_PMQp}RH+US(m&UaKn(2p-tFANmdK^a*7-Gk3+Y~G<{HsW zwf2pXYgu$qs?!^hy`g4(AaL7Q%9Q>FH#yW8cJ>l4F$Ns(oU4uf9~Rw{9y83TEeeM~ z*)dCQS5I5hR5oC#(~klkn;`8Xr=%%|uFOh(FR8#6c`Om>7^`V8Wi9~~@0`W9O?x20 zg!{*7FNF&rvI{YdJi}& z%9;cmPVTA9evB%kgUf;*T?hdyBH*yb3h>Bw27#yvNROtehZ=rrp)3sqU?= zn1clAhce!ubX9s3dA7g1kvz+NEY(oBmveNxy|d!prdlVbo1T;#p}(i~YbEjwRUe^Q zr7|T*_(m=c@+TGCwH&cte6)!mg-k)6f2exI;0t>?LUQFMkx;>;Gnqz!ZR(IvB}b}R z?;jx;Z5-#0(g?~>oj8J?%_{+1o6c48XK8kb7>eq;rKqCeqxOPJ9PfMrY+S&A*Y zIkZJes;t!aKG%mE`Q7g+lrdFh$U~-9g6OU*jX*M;crQ*Cz04BMzVRLmfB4UF$8`Hw z!8--{UVKde-%EpkuzYNT`a?VW9B-U5zfXIV6?Za#xg-GEF^DApp$w!CjR6m*QH>^5 zLnz4@Fs>p9(dGr#J3e8-(*hyj>m=h5Hc~=iy$iVbbN`L%MNk4og9N zRr`N>LOgN0c+l`F%e?h!MQ?g*#Mo4^OSz9RygVDagj0yxz=k=^yH3?^kQ=A6lzxAk&Z<$j+Pt7n&Ar;bd->J3Scj{Z8@&2W zu(N(X!y_(3XEq)N4`Qr0-WCaOOu0n1u$U1F&$V&*6}co4?*xX}Q6JQem)7f-)jXnA za*smP3CbUPq@hlYPTAuee1|dVjZ6S*Kv)gWdrhj`Hij0--x@#}a-AGmQxc(KZKG?W zDN4QDPGnaa4(Jl0irlOPY<7R$z7|@l(>uUpDXEnS5yDpEEnLs3f|qX$v66nr`bj@X zy;b`ivZr2^jL7Gs_wS{OYJK1kO0;(SD$jHl2~hV!IAmYv@7nBYCx71SyOojdfX8B0 zO%YZ$-Hq$PN?)19`)qZpN(*Dk+01w>!%`NH3L1)5Gahs9$aLx(OS4jBv$6wSv2~Vj zZm^ru;duWyo?}dMx@{__DJSt9pLFaM{{wFd0Ig|eHxth)5%Jktc#n`oZpmvoAq(&3 zU;|P%+%mtSR3Q8YpPe5SWT@Y&?CiJM{cxi(T-|ZlX<5F9fap^o7F#XfoXoF4NG?q$$vD8WWB2N%ShmdA~(z6&hxIcI-swx*FQop_)VO zQeO)pvz z$|{$N+?uqAZ~mLJ4K>ym6wXt>ei499%15{Z3orI7(F^pZ9fGvIiA{E|6;8w;D}>5;UNS@=}mI>(#%soP!$e%ypi438-y<4xkh5A z7K1D!hyKM8H!;=Een<@8)6X|IV1nhs*%oHEib_IeNx-LTQQ{@2qqX`ucF(c)+QjS1 zI1?y(^h&Ot%J@o?wD-WRz3-eL$2pWs0jli=DrK7=h#VKNZz4kGeKu~CX7**pNrarT zx|%etqV)Bgq7X5HQBikbExSlk>vhZ_`qY<(LQh<$oxW*oFRpAH8j zmAPsl4O0+UocMt%Y+@BNhX}X+{sY3lhOkuNb|rmqzQO zz;INxG6_YMfenVzea1gYPmfWB|KSx`BztKzl1LdziXyhJ-8({xn^ zBU5zThD11+!V*C9u^z`Qwx5;h6wTCr(lG{W$sc4}{{U2djFRwgWnd#a9fVj?&xgrI z)uKW@U;^=g)l6*88S~`lD=oh2Vzblw6s^4+{)hu zK+>lgv6y3#8q}L1b<_~B@d8T{H!y{914)r2cfY4H?oINEa_6-`(s)Bc2>-kr7dP#U zY{X)AbDe|a{liJFAzD0nzvr(UVVrPp;=I=sFQRdrndN8?%%j~c>XY~4=?IZI6`8>P zPc z&*U8BLAAf^j;X<#U96+NQqMm7mrqVH`i@xD-D*(SJhopdYNZXlH(k`Y-{b)OQ`|jo znt57Y&|_-3Hzdg;30{w0s#KA@sKZnhwKCjks2>KX|0b;jnSWf6+0WL?=Sz*7av(*w ze&SGYhpUI8S3S$uHQ^kVf^NOkSy`8Z@)&C$C7!K?WKJQ)qcg{#N~E)WAWF;u#NP!D zis^M?ghFTgRNxXKy26lc3QDJhy}yi!yij@lLPCaojd)lx@X8+dA*BvO?E-(Zx$CZa z=MlI0V7=Z`(F~Orxvk}rY5R+^yOyhDlqRCrelAHr+Oe2t8k-Xe^&p3-S0tZrW#PPG z^3R&*snw{UoEuSeGmH?H#ZoYWo0b#Z-1tI$^NI7zx5;nLZkFcHK7VS{JEGQ-=NlE$ z<~m1~zEY6G4#_lxYs#25q9D^xn~X*-UdmNbc3f^`C?k#o&}OIsz~1_eBbUBP=uNj% z9P^*62LB?_(7->YuY|o=FtQsq7k7OGiLQ2`xYn~#kC>HNalA#?5FGX*U!{WUDK1pTf$9dUb6C63`AW_awyOYYo5AHVu&Sl@Ttj1E zlZvu&qpY2kvp8v?YH>OUJvsm}EV_n-4_M7YDyjggbEh>g&*m69)-d{Ke$2|rneNQ+ z6nbNwjtuwF$xt6AitHexdPcryxyAb&<7aLr6?cwHY14eNNX86ioiuVAuQGCrs+`%=M6 zzWU1trQ<&rA0M5M_|7h_OOGEMonR&Ij}AotAYvEk5*m07WVtcNxPz1OB8!)xZOt{; z;hZ59y)+*0Gt@rMTtFxuo+&1lT3}T_X0?sZTbT?6m#wYqFbKW5ym{p zm1b{C>G+()4(L>ma7A7Rt5E%4*{lMfa<5ZOTOb0+@}eAW7Ax8xlF%-qq!w63Kd&PX>h zkDljiV7txQqJx+cY za$lk(Q?lnTlFovIU4+HM;wqt274sPsv`vN?4;hHMx=-m;j6Xn(*AgdM6#au-W?ui%2iFX$FRdGP*~ z(P}x{VCge*qNR~Y_={z=W`9#WBQC^db#4&ZE)#$RT{yf!OU z+Z+T-H{0#a^Wj(g{m{b(hwy{-j~Ot&5UfYnep>eY(P%jq@)*=e9r+l3Wcum1(G8sEj*Qw zN|q!Prkb`A-F81zK7TKQpxazNASx1BYy)&9%l}5uRsJIA9(DQL3y$JPL9B}GS-D|Y zdG61uyJFQO5-3QZ3V$S0nAQnD-?eR0${0be;IMp-}du4e% z;<;_3ySSUyB*I#r8u{<_HyIC;;Wh@NfMb*xaX`*YKl~sUYi+oTBji3TEE82*WI2K2 zu8n){w&EdeU3?GmjUzu8ci=rq!j|M>c&c5XyXdk1U&S3;qcqA&bp#oM_@i$SN5Fn~ z+F|mD@-i~Vq|lWnrqs9xN1mpaGJYxnUAS1xE zQ)?qee2Sc^6^chwI-azN+pIpzP(6fTwYzI$B^ITzxljfjsA5ljC`;#igWYe%gWV~| zhM|)wx`P?G`AlHmpTmsEgqQm(4n#q><@*6IX2vOSJGfC~sQ@oFM)m-B4aUm2wY|I{ zE#5$a@2--WpfD;5Z`i0|?pLA_0@!8)zyt6A9QYsMXJkU^=gQsUsLvQFBok(V5D8 zrJFu!{nO>rrXQ~5hjo+*{UDJZg z3Y<^@S*r%FQ?tOTAY1VB>N?~?10T~(qjIwUoA85E_I1(>o@uS`kV-`A)o_fs<05!M z5ax%RwxlHoCrB^-G0TdR)xTm3D5mo>`S3`s-YssUka^9Yypn6*Snf92WbRacsO6Pf z<(r|I{~i)@J|=jNUF9BHeyi9BO7Nd|>Qx-yxb-&JkN~Lz3kL!K1q=?f&5^${|LjZ( zxOg?yOBlm%YIqTkjuPKbh=F%!awZ?WFHeC?{Dyue;C<;;g2;K;cv4LLesn`;dIDcos_z+t&rrbKU`&^)$IerC1UfI+J8ZT&v&j!k8al z6ZvG|YPhwM()Y)XI%0EO;_>K{0fs-#erD2pKH{)4sdstq0~se1azpK)A~~6I#d!@pBv>Lt&KuETZs5s z7vpBpp_mV?n^Zy0*C--|^#VO;;~Tt+IvB2TlJ}X5ZOd}^5jX;HX<*-zq2tUf`~Xtcl|f|7dMw$AA!(RW)$EZZUkdq zY^4s^Xn*9#jR@`EZoB>X5&@xP7Bj1mPj+G(ya9MnraP#t_5x<;{v8P|o8I|I*nyaj zSKDhY(a1>M+Cenhi;&-Bxd|d|!27T1H{#d(XHM+Ov&)2(q$+q4d=fpjP z{5_5+DnJ3JafyIj*821WhYF3&cVJ(DB^(xSY!X`q=uXOrPWJp0@r9*QZoo{~VW|I1e|?C2q4% z0-SPQHtbG7U@7E~9ZCEBG`{NKHkb&`+se<;p4EOQxqk*i)^0L4h?b53e|EbH5^g%= zsNC0RKm4J-k3=NxjUM@D=i`A#2NfqlvU#4Q4&Xf(M}6wOuMSo*zps!`9E;gk-b?!S zc)p*tTtxKZS08N$l)=(f*wRE?FOT4AiGoWt$R!AV5So8BS(BvkfaW7yaM} zH)TQN53`%(^0W(KOcjzX8F8`^wcKZyg0Q6y{88ZJ4*o<3VWhS9X>yz^xO{(|&X+7{ zCKmqnQr_g9aescNBG?!;BSqE(k@V$fh@dMzXaER z{nM@^qUX=*SqM@Uzrq_-w^6G-ZuaVgjpgMin$DA#@IFpWzC-(JL?vN!0>>est|Csv3y45zdkl-tZwCQiB+G72uF) z4#ymOMX-T7_Y1KQHdrA{4jc)G&5xyY-U!r>cyf}-tQ5Td^-O}1hsd@8Lb9;S>BD-2V7DgU1yV4U>IXde z0H{x2lu+mY9`fH=7O>G72Gf)T{uJ%7Ce;JvUIh4&o^XRh$qMaRgeYP!V|XMFP;({?-12vsS%(aG9sZ6hfL88)lKlvLcU~ z9+QYv)Ur{I#=B=A^gS7vcBJ|;QN}4}9&q6N(RIJ@bNvlWHaA>4g5~e2M=#ChVo5?6 zs3Va`lU?+UMJrj~5OQlF^#Ad9+PJAE(V7_~qQ2k>QnoOrsspk$E#%xZ{3}I;sedM5 z@QIG_bJtmpr;R?fBgi!s%K`!6ZX=Jl+x~=WY>K`D#_?AF(yP@fZpkJGdW>UmA;VOI z{Xg6L{rJlUyYq!Mg}@hcB)ZaTag@7pw9hkkKzTz@x;S`abBx~{u)j}|*G7cPLf5mTrX!yos!^eLk zrkv1gE=D(AV^WxHenTF&I_zCZp*G!d&J3(prA@@Fl7N(PJ6ZZ=zJZ_SyMHY4Yxk2M{p1$(8`>osW-Da${(?&?%w0sVi+ zRGcYzxL;yzaNe&J``)4K~L(TTV#Ps;tMLZCb zYF3uh{cO)Mu=?gAazAJVXx}0DaqSrbyz&1n_w#^1jI-%gOf`*X5xBOtZ?|$wq2BYq zL60lk5Z`E@fq|Xo@ViE?8M0X>Tz0F=;-2mtKYJ52{h3BkJEMXP;jdz4Tp9nzf}Z5FB&>(%ehoNi(Epuq@fRU>7bCO?SYs(SP?a2G_8lhMIw{6Gke7iS`#RyeLfpdvyX5~JNTV%di9F5L zIw7!UTCW~HJAMy0eD;~5M*ucSv=9^bH6@%zisjQHcOX6lKR{asm3}?kgEiZCOQM8v zL7?=dxeoY$zm*Y?P9q3CNjUmq?sSfwJa-Nt+ada3(r%fU5&iGe`TuhQ*Q?<4w1{W$ zNhXc&j>8Ry&=Y|Zm?p_M?=1$HDu87SVdv+6$qQZcNdyr>o&tf+K{;@02wvtD_H%dl z!ZNHm8L&j=nfSkoWEk)oO#M43cBUsc7QW@^c|P3En3UoA(MIu{PH0Zs`2EKHLXHtF z1rU9}8O&8vjfu$BXc+*?k?@=sK*?@_IMqqZO5p({L* zhmw%EQ~=7I`VvCv2vX;{&Poj%EBs6gu)jV6{0Eq40nZN#bQQ)t zfDjqL3_$}-05An=@oF^1B47CF_k&?)=qiPxJ=~Np610V%#nzv;bQ!An9C22|!KiIt z$s*1ime1MVcX;$`KN}{11PQb;958V5N5B_;v4>bVV(Kv~)n%4?q|{j9&<9Z8-b%&W z;n8_Iz^X7s$|JADLbXi}x=tH7U|(S;T~{6~AC{Av@gV7sXpX$j=f0L5$MwXo=WWUf z$FZL!u%bZhr!B?bjXLeskE( z)z6Kxer|UbC3eESLc)suj)l1dy$y4={bZN_TcFLAM-LRkzZKe({vYDrGpwm@efOnG zQ&gIbpjZHrW~BrHK}AIZiXbf-h>D7I2w13sC}^+(N(Tj`CelHq8x`p-H0eEnh!m;& z8R)zAy7u{>bN1PP*L6O;?}x>DA(?Z`F`w}~_x-y!?Y~lrA<@kU-V+4VTRTqojM~wx zfgNr6?0>!K35VKjHJG&DBEu(nF`hXTjmm@=$BQ?b(8YD2=%w68{Y;p%A(tiWK1nXc zXwSL7z#g@`t-<=#y+Gk)qGq#P65#*6Fz1lSG14RYV8S)g|QXVyZQE!J- zovreaJbvi#!~-4S4)TXwRR~JM1bY%V0zHVn1J#MBlyhVlo3YbHy8&nN^!5!msD6xM z&(e6e`$z4jH{4U^aS|G<2czOvvIm%}fX#GP6!v=sP}gC&mQL&qN{lNDDWQ1bc|S6K zOc%6^M11!aFTFexb? zEa^rZWsPgKJclzpMQCZ9?}IZKD8s*~Q>8-VN9aabl`P?#tuqKX?98( zfsjLV3y@M^n;60wn;p|<{FGZoItDt_uWC2yuIba z{8%gVDgHAxdtta7K-1jndH{vkJp_}i;d`)kW2f;(`kpIyA()4JvS6)dsMFC?mkLI^ zT5IQ=muAC0=hQ9bG6X5Cx;^v|>)dNzwFZeV8m|>t$L}6Y@|#Fl5g`p#qZFWQ2%~iT z`7-_$Ig5Lkl5*9RcMLWg)YStWG$Q-Ffma(m%~5o){=7p^b+2@}nPS8BOb6aU0Vs6d?|mIs!)AHIH)b}PtI-%p-{sTvjZY{uiR zYVF!yoDrmVWfX4=M3K(#hrWf> zu5lbY;?R>jlCs4@+4A^Yav`a=ZFIiP6*;HtXT#?^>Zqzg&(@GOs;bFIad7oonVq&w z&M+|cwHmzpK?ji4dRsxR1N)mbIqQTFBNB4IVk~W&F1??1zB|I(*SW^{_Grd4$HU&P z*{VyA%-h#_v=>9a2FkTzx@fJTpkD?WYC*G2@rxJc1$Y?-e=fSDZQ*pjrKa_S+sTj* z)dIZ8o8a%`ze@5r83rhIVH8QBb89FiLCjkk;;?V4TPsy1zuA8~gBcka255jEqI~xN z6QGq^(cp>#*}04%jj14W3gM8A14eUoWc}nX zgz!bFhdVK@ZaupY85-w<&IxQ-!=UVqp^?Gl_WJ4z$ix?@?d&z1b2qGJuPZsK~C5>J#Ir;hz~S)IayyL zUPD0Y?e>wUCDUL=+=dd~v~3BZk{qOCw9;jd_t0Ik9=Yqf+@rb_L+tpyI(_ykNcx7m zU8UW^M|VsF39BxN*v^bae1Nv)B`=Iy6O)t2q4wiu;i?`O;pn$|al8U_GX}gtoM^W= zb>&}zhx2B&)j2`B*+pR@1PU+;br~nFR#90U=(Lz^os?)h2o1>x6XypIKVxqWCRat=JI}HGk|pSD?P{WrVMcE2 zm#~p+TuQcd&p;}`M8O8-3g*%0dbkIuhrB$Oy8PIGOxBg9Q z^gYAWx5OSeGL@*_c6n>A)FRGwE+Qy)SAzNadzV$umG3)k86a;&@LkBM>1ggP9y%l_ z>3c?)WrlZta60xni&Fb$8=QyILvapgUee(;|2c8yVSzkT@vTmU*&0EP74hFPOM+rVD=b*N~6v1ns4eDWtR?r#azRv!&wQ z%p4D0$I4|3l-&RYa!P(wb#X{%0=gY$ccAgN-%a?AnD^}Ci&KapQ}u}ZGyJL@OVAlT z5fL&_IG~UdJz{3V{7@x7&ZqZ<#?wL1aktZJb?N@^lMLKtoy zN7SN3Y@!MB&SPya_)L|U5Cj+E$@sU$r(e`N$Q)+j-Ur{h6eT0kD;=cX*zHdqd zUtLS1cmP?lDj%Ubfsqfog*QvPx%%m&>-;pRgpGx8M13b27-jff_YCrk8fiRI3vw8d zWY$^njH-G#jdD6~_S@A42NEulQu_mTEIrCW{WhHauDTmY-O%>{hLEPyoE^tUo%h4p zE=?6NOfw(&Tb$}9u5FncbdzMNf^^A+Sp;2C+=C_zwR5trLt0#cE7`i?q?T*Dy;lu- zF$rZqh|cemwmJD7#Zf9N${@+=ow7X_p4h)-@=$1mW@Omh5Bj>!QAk@jojO5ej(=zlZGkzBjV$y%=AB~_7@ZR zwp~-ji~Q);c(*9V!x-j_a-8SPgn5CCpup9F-w&E>=*i+&+&Wep^9OdGuvosZDo?Vn z(7I3f61hoz555`_sJW5pdC7( z*8W*MBJ^oj*N??san+NP{!z@G^sVxfxdh)W``qNdv$EoE_PywlxASO+X6e4M_eGys z>C7HXkFOq*UAKrv2)*9SGDFp_y*sv^)MZn<-0@kUh&OWe%(LR#2iBB{IDFm9<;I+J zE9tXi6(H-G0;04>R?{NcOPe^&@wcF&(GjD z>4PYA&%>y7EVjPIoB}5zby-HvC_LE{uNK8_op~$tvppkLJ0x&hh5D9lxcOvB^gKM= zFf32mzsb#3IQ1Ch+uCH$3;F#@=cc}Ti40zA+~fLR67)4(XOjQ_s-9y+qK-Z(y< zKRf8sR1o0R-iq7EQ}&^6HXS#wzng=^>HcF8a`2`di4_^BTHuOiOmrS?0KD^-R;2FU zc?hTC|2^jLAtui6Gi2xYJEqdqt~miEDy~}Y=?wERWIVvmoems^(!2M78$^=&!`aA$ zW+!Iy-pG(ra_fNlMz(>UC`)DpRHomP*ExZru@tNdRHAFmURh|u&*pV3$|P&jF=qI7 zo6Gv_B*l#-e0ss#e0lX=RX->hXN!g1fjL&KC|xv|?^ww@lHw-9hJ9W7-uR3N!H@U9 zC#OW*f8~Lb|7a3>fv0TFQM^nNxvc+P>M2DBMG5NPWlGU1B?stlKO682rW-}-A(wR{ zgj`Th|yY8 za9W?BxnUH-AhaWy5m;=uJMTKLEA4W~8&l0O`fz{c#tyRZZou5jhsay#uOfY_QO^U@ z6D=zYa>cLV_P_5Rn1i+4Tx0XDfsOH4{(i#c+`#;u-{hp|FSy8?w;gHHIj0cllW&~} z+pe+MSD7v{pgej@ZBNP>?RDEPcau8Z)OWOqx2gG*S@h|cg4DO`SlHKRKOkZPo|qKZ zl&DB#R}&kcNdTqSqlsaQu3Ggl^6kroI91EKi8;2in}WTd6kvo$fh+MC8NVl8#~Jz} zo6!oh*VSy?{`KvzD?vULq;nv~vZTo+`C$8-jA&#>D0J z3YXZhoIYzf)4CKqWW8%P4j&8t3F}b*OBAbc_xt7fg5{7O%U=q4Cqs(5O6oT?U37Py zt2yGb@s}xMzGv&Qf+ycJGt*$UxRw)KhD{x7{PfnjdFwJK(L$sq`gJ!j=CoJJ*}OXw z1^Eg-WwRmyf~;~~dx^n3+VdmtObAU!;j-;M&uexm+duwRgNi_=nen=ZXR@@oX+HWSRuN*HhEP zGljOR5Gtv6>wZ2(g>#; znNP>+Vmrz&`N{j50q5IbV_G@T^CV@I?9SMa=}P+#H^Hf0%hs9JF+Mn$TK<_O5Beal zsXGc*t9i^cT7mV1wcd=6*xNZ|CzcQ!nf9(H>^_sztc=s*(R#=C=kVEk?kZgcq)HhO zn1y64fKO@9fRU&^!d8C;$q@%{G|2GAq^gfxN*1P1IE}_0K*IhpsTK2oi!RLk2;Z|g z_0&Irw5vTy7XgYZ6V1hqYzGBSNGRZ781%)6a<{Yag`h0ccd@xr_B&#@C*}c=T^mt? z%jg~scX41ky*A8N47Pg`48jlXKK+~v*RVf);^EKD z1vV0!UD|p?g0}INiFmMjv1Bq2zX~rog&KNB&G7JimR@fy_SNixrXMVyTzAZng_Y8U zJ;fOB<(q2j$$~t)B8BUZutJ88&#v-jPgH?$VA1%miTfsMg&(Ed9i$%t*%VQ;sq!8{ z8es`YY3DvQ-FhkvEqVAEggZ&0K5(;cQa`;b+9CIuFcLy=eDQ1_7GQe9yRE;cZZu`= zgbiOwbS}C5i%cFnY0sW)XU?kVZEWiI`OFMQn}DbrroZ=sAOyB*G7qO$9c^%YFUjM4 zOwvo~s@ecG4e5Ink5Iipfd_x2hMJZFx;g+HV6gi(z4FO3*1lG)E>ctpF^cHX-n$K^ zblqI0Y#~G%eC_Dp6ytRR1~4%2f&_N+`J`a25al-zd;ku8odC;jYEMLw15g9?quc*?XtOc3=8dt~&#+8!xqf&ADhgzG@Mt?#5 zxDcXdHYDJIDh7ryhOOS_6b-I-71WX-Pg!;lpFLInGY~L0>?OA+=>5-z?_ZjijDZC0 z@b3JRtNo$f8lvj%79t=v>^I+t#~qzB3PJt6tk%tH=nx0WH%=asTmWG^%&aK);ob&- zTl5&}YEXt6N?2(3lq@21jFv@_c>{j4Su{ik*Q!E>xo#@`tQ?0F<-P zeanSchcwIkkJ7)%s)uBfVBiD;ZbgP)EVd>ATFt|3Wjmtyfl&aXf)i*|Fcm^<(z(v9 zRC4H>wWUYVZziP2t|Vg9P5~GIz*~C{k;`eg(FjNjyQ_^FuIK7)YJ;vlkCU;We-ZSm zBVlhfj>5oNdPB5u0A&-)&r#GddyKvg3!ORFz*mfggv?O?^+nwC1!UX5bZ?x|Ph!U& z6)D;;#Mp+^joImhxSOQFtWRc-qHtT*ng<2$@P|c;lp72hF>q)aHBYRIHE_ANxVX^#^ z*y~xBy2C6mhgXW-H}qjq0#i3!4+6Z}j3lCO z{8mGCe{sO2>_qQgZ9j1)r{^$pRWLwuUxTY(tX^ny0T|xUI6fwrs5$aPkwo$`Uy35QQ+!;HU{2^p&i_t|4M!~KVwzoyKX5@QDbBTlgU9pBdgH|a@Y zb`lTijfVx+XnlWnI@&xB3MWPx_BS&#Y?+};^$G+&u*nw&9YIV4nezevO!WREgOS(r zT%cCE2#*NQ5Kj^w zdGIs;{t~|-T)#KKiy@4?cx9IL1eTJ_dG~8f=#C1(8Jxf~-^+z_W)Y$)l9H=c+E;)K zux12xps#7m@uXne0iV1U?a$RuV*m-c2-Sp!JrF$ckj{tfOuR-;{ zy8#5%hsFQ7;+4>Z;{B>dVbv<6mN*PHfGP%R>|_cHW1ZbsAM?+L4;8?tmC}O@;wNR* z0*vb#;XX<{&clFRSo?>JxcBYjGJb8OFd=)Z+@Yv_!P;; zqJN+H$_bbpX#ad-@GHy#V~9cJ)DXS|4QlTWbS4Yq&9g04h6F#gD`ADpLzYCIrZOG zrY<;&-zq_Z3ADFWsN9*pUWboa9{N@OTIb-P=D!V;|AQ^u@&;B^T5uLR)h3H4+vhLU zH0f|MY$r2Xz>6xjbIin9aXnOJf8HjAK)x^3l?pEIr+X@ba^nhrQHtP?GXD6jFi#Tn ztMD=gHo<&V*KD@&NxzwkQUV86Y#s^!lcXB{Ya zUi|m0yWelZt4(E{4ew-sg;opTmN||KKZ9}a1!snU*qr}lGWvvV)))m2wU zf(44C#n&r?_lj!}tQrtvm1$%^k6lb&B@BhgUsM0Fqj9)63{)A-X*~}&?N`d2Ns|*n zpWxd2!((*l(OFxa4UXUQ?+gDz1BAG8M(%F7HIm#!-Fnc2096rM{jlm*hEyw_1Mp~o zJL4ZR+$$TB5&eed3$L(T(&`f9Y@!>?>4S+D7*q*EiwgdG(vk06e)yDdK^tBW^bXMv zaTaI8(dwWRqw|%iU8~?wR(Ifddo4BpDhML}r4UGc;ggG~>(-Q_RaUn^Y^s281@7ov zNCsh%5vZMDzjw@iCPv1$gA*X{RB-u0c4a39<3X~|{k6dkjBTqCTMiUEDmT3dzWzvS z3(xKph?I~{;IB`b|DrYVg5U^9He4JE7ffxp;to&M^GX}1#}ic(k^0&VWPRg?9Xu-+ z5zeQFAQ;qT3|pyf>pVboCZ|U1yL?J{^kbdU+{o`O=0dzo{h75L~#W257z=WvE-+lMBhaO4Dgdqv>@>*kF(eS4*DtQ3#}n&_Z01$W1Tkt^GxGp=rTHKKqp22;rR?$ zuVN>B!xwtRX;zudu`w%$Q+-`ur(+`y=$pZM145*iIeVU1lwk$z!4`N}fN?2Mrd`^1 zfX6xGRc)k?GH6If0kyWK%v=q+P-XntoZ#CF5GXlTQdV+oCtb8M8U2tCxJ+>UAG?*`#> zJGG+E_(k`c7;XmBbrj^?lj=5=IE%3ONZxA)jSuZsFbk}i{iLbFw+t|*QluaF2Bang z&$+gxuxpKti^f88m75R<{5w9PLDlDjwGK{t|7Vk7TUN~r1uSwmD`3ilz zS+?YOk&p8=9sT5<1N!{cL;Wrx_bbCtC->oo6xo!$Z5P^)GpC5+bztntN-LgchB2kA z#eH@#6v+jE#;{O0)5QxSuz@fG+GFH{u>kw9uJ4<^r0q?W_Qsdf!lZX4AZ`S7D!oD1 zM3p=Qs$BmJZHZOb=i6F^v3EAjp4CO|$*f$5Pem;mnPmOb@=dN77iej&JI9!u^+xsNTg%f;E^4YiqQy1s-)c5$Kh zr<9jwdwK%ge#W?fyTIvAtaZZg;hFFY4IR~VV!lkx_^cLrtNYsQ+cP>H?KL+0ig*hw zJ(Sc!tYhS=wifd8)_^INgPS2YjiAEB!));(rzs`N%7cgCH&JBCdkYC1$C>D0&-}W5 zi(dv(l)~=5;x2Pw1mB89QJwo}DW5X*4qneqg9!|;*2o_^BUrtn49`WcLnl6D!twXQ zlHL@rnS^HcsNuMM^7V-;W<|KxPoF-yxGOl%hU83q+|mPMm8XqHl-tnc51G!H8&1@# zVUJkyuv)A9UCj%-)Sl0{EUV>ecY4vZ{j4B;ce>dr{&NMArTFQn^4jszH_JD#8AnSB znHf%NWJr~yPrE#0C)uiNx?4QsiEBOQ;Vj@=m|vojoBtM?`B@)B_#=6HJ{N`E#p~P! zXV6y=w;8VRB0obtckF;b`ArbK?Md*fP+aL6uJ0FMz+1k7ML91GbeI^O1aw+E8LO{P z-PtaTx>zt&+sX5eqBkR zeG#7kNr>LUIQ;L~O&4xI+PaKP8F$J}zVR)?thW^9j}HmoS{>xy4GRXNo-|!!y5FMm z^y7P!VdS;wEv9yD6k!#hn=9qi%+xDmv zY{cT)6mj~sdBX*T11)ua<}GQ3l)okOCB*aw$AD1KB$aPRh0o>1XATs zpzQf7Bgwi7`HoO)zic0hDaGGwwxxJ)z(cRF zfw3Gvn7IqmU6JdCkOgTFrL1d}atibU|H5MN}!+_!krbpPhrESw1dQJxt<*i!M z*{%t-Fxj=(=)dI}bR@plE%3y@+~Irb@`)xr4PE6k&!Lz1BZ?lK04Ch~%3c;=x^VIWIRXy_E37*O^Mr}Wn9uyw+x^ItGq^&hUd38|(s_vLwbNVe_i9iqO% zPa{{4LM8z*;c5oKH=SvE9=6Vixvmb$v#V@PZvZAnKuhj9PbX*@dXy>~v{w{ulu`k) zPf;b$#T>i8V?B54=-%+ytt)568GE#bl7z=WCfaEi!R7sL7n9_U-x<$!+m56n8*N_R zk`~BIh{bM_15Yy075|E{+bRM4=FT<>_t#p`P2y z2CECbX%Ee04veOjTYKX9A1!@|HC6O}(j~(}$yn=S6)eO?theIVUzw-~aizdn_ZX#a zivLXAgu1?M92!z^3g`I%Jp+RG$zT8|v!#1H76Yd{0tjI0O{I4qaZ&Z=Gu*hirrU7qTA#smm$VOYs zMmt6Wx9f`s|JeZ;?~rjLRil2b6mzTuz~H&y~mg$ zP8rS=*9mXr)#Fo$v_9#Myj_bp!l`GbQqq|R@m%Kl#KI7Lt4 zwCb$>pT=B80H6{F*d^O!q2L>H$Ecswy!F~N5((GSqh^`tXE z0ER-wD?_1NqObTD!`-Lr1!t1;Lht`fJM`OcaJk6((xsh;Q-6V=kjPPQhRKZ50Unya zxD;Iy8IJfvId$YWWP3=QW`5XK8)UAx?828L$@ zv4{h*xxzx-{WgnXwL9P<}?GoZNRCpY3SZJD2vL-3P*d`f8g z4+LG%`FIcOO8vU8t7-I4LQ8Y(xK_w6bsnfw!9~Uj3v3A71da@bBhb0K%(Z#IR|N!P z?v;cVO)sQVuUi?Rb_nOWo&9s?;jCMUQBV04*CXuXI2!y_Od|l z`ac3@bwK?z4w#}e_3}hg2EuP=p8V&VmR6nkXL8(0;2;qsgif0|FbahMXOZ>*M)<$F zx$4&%QWCk#`im)s#>5H~+96aO)m%BP#s;Tx#q1rffqgJg2OEEcGEAD032hg>NGxmv z%$qUrcQsf3t|eXVxA|$ssUinatuUKoA;`<8V@YX<1_Ez9iEtY4Dj{Tm?uH-^AThnu ze`2Y5JaG-_28rX%@$l#3{l2wGe&1LLbfli`^}9jQ3*8b(Le@Ksx*owW4f(GIX&ae; zCv*6V6GW&kUWz2Fcek$8##OfPpCrRLh&%~`w%-vQ+bVd-?I~tbr%piP2!A2(4VFo+q~akQOe8_IB}uDf!EEwp z9E$?9$K}i+UIWGWGy(^7*%9eMgDM4-CbB-&SlM$n%L{aO|C({Gj0Vw``qvw|Z~isD zgO&tZSf4UlAXkVQH`p{PY6}D1-3J9EpP-;hZD5Q1(sH==0I3B{_6oft^ ziZMTyoubW2@d^cE%?plzYUr~Hy zWg-aFCV;hNk+;{IT~kc_l#v!{(0s!}>jBV=g~kBGf^2t5eicYd1VP5SUN;;V-!FG+ z9RY9O&J`ZhGa06)lUd>EU#8|XFRF@CZa1cdH^c%&`?C6qmf+uvg%BvcgNd<1h6J=T zCePq10EptSW@L$!+u0y~2lyEO1OXc=*X$JVKPBJ=I+~YIlv|&% z1=$R=WI>yz{oPnlizDy)niX{k8@v$#!E=v7;F#nTds;zd^}i|+IEmKrITQyX)n){t zz`N=2Bqy@FkSur{y_Lexp=R;Z(}@Y@Cv(9QQpW$4+IsNkkTPkG)@`4&>ioalnXO=U zX?-ns=6qY$*uM{~z~Zk#y+2(8ZP+qJ(*BZ-&(Nq35<}qcuOx=N0u@k<3G|@XlnF6k z=n4Ft7_w!90ZhR)DLul->b2r$a`NhaQq2Vc5`Ydkc|H|O;$F+W!RgI5y^Mb=T@FI8 z?g|suL$r{ukqQt#aJ;5V2EL$rD}fIbBp3pNN!Jgyzg>-DM0}Kz{mME)%7V;PXdJv6 zj%cuFfNye+gj}|||2`oj3xX%~zcwVUxKNKNk`QrAIsu?tzMpou03`n?96LZ^#W+w^ z`9nxCX>a|to+FG}NExmKL>R()0?Yw)9K0LWPm9Y)%A_PCvYT04w^ngbUl~7C4A%z2 zoXK@@IsxE9a(z=>C7G2H@&$8IRS!4lYd2)LGO`o-zx8Osq6Bv|szu=Layo%*--)rY zC>^Dg@HqA+hFZ#tX2ZDK8lz*blVoNHiDUq}lMvDi2dphfc)tQB4=^`@tI+E_?!fJ7 zh63^9L$bx^>6Pgi?bXLtV3I5ypZe{6Jf8t6oh(;RWqi9e;>6JW>$c-F6)*S4u|8aN zWMdFn@cJ;l=wMEF=AK%cGB}65A>KwOFl37O0H;;82Vhd?m;^4yvHv|kW=XnTEfPX8-AAha{+ zII}Htkv1#NzsD(XbUnIQ$Vc$o_ZM8v!4N87O+dDW*4&r-Ej}Vp%>`gbPdwIu$oIJG z^9jGlHNkk4+BwnY92(L&R!JKZzNiZDe3zC-aZW#x2pY$8SdC1If8P;( z?lK_@<}4qx-uFpQz{t!Wh32+qy23m!AV6jA>H<))US>j$Z^fg`)a(E67ECbdRz#>4 zXmj&BmATqsjFSyEmmsGiGF`rQYWwhRfC8tlMDzE#M?dTmK7Sp8tw-otDR3gf*a+5} z;cMoE+h9c(v9av;z!a{NdvIJm2gM$Ocx1ER8xszd?faiZ2mtUQ&f|PyGg;^d;|NGp zz^94Ka*v%DOisY1)n(MnktSk&E73S{Go)$276V^&23jX7D9&>tC2#CHYu<+Uo$OqV z(9eDKEy8uWnX4N-m}f2LhXEu1zvsc^-vqg4<;cR@JM>K`nYN8$zzdHX4Er zvl|d`&%HqnT@|3bHSb$`)3o~9cxms z&+p1#9nEOM)lRLO?pm6a_j3XnQ0Q1GsJplTkv8@kHvt`15bg=#=(;d)q&URzoNoJ66|4$Llw3vP2BgCb<#rm%vT&0oWo) zJN)Uw@G^`T^F~!MwA%dO7;3bVSo5kFKN@@K>gO6I((^SX*HU39%{_}d4P?VS$=|6m=Y{+(cOAvkDnaD< zz1}vF-J#{lrK?3aovR3Zkn03>X){Erf*=@>#@u@n%;S9bQuaW>MGpHz-b_ile)_MU zcoA(dg}cEPVb<8O!8kYufqYsGT~=X)(Cw!`$&&KzJD1p8sTiq;u#zwcWnRZPkz|a( z6<}HT0{UFaHpfbsheCM;*VNK<7a>bdz!%h-(C@r|z`)0R)KMJqA2rGE2$~=wWmj@l z{l-{T941nI_BFs#yg_XR*zMJ2-R51S$~tv4 zw)es$X_>CZ>7E97{nbzWr|e@ z$@y~Rqyifap%4*EWOuxpnRa-cXC=7q$4*25$=s1)s9XdP(ryTQLS-!F>Cyw{yfvSVHEU6-1)?Sa7sQ+zSqgIBxY%=Es^CT4hkV++WkDy;sEcH$w z#DQQ*L7UQ16i#T;NAHUyCmjpco2-!G2^oz)OVLB&k37y_Q^BI{0M7z6zBoxMA3=sw zfmpHE+MpckD{X&sNRQRMCX|TFLaD_ z{TYZPgGQ#=I{1eIs?ZIrznp{^vG*#0A0xoCA_ujamDCjzfW2Q1o{?ZpxhHU_H9QIz9j))^1T?_wf-{U6u86ln9WM>@Efa7E zOuQaOG_Om>`hr@u6`rsc6QD&@H1LN&+@Qt|9H@Duo$40OdujIYT4lV3m$coET(-?6u$T?u^~6 ze-Ok{W*AT}!5j{PC5$#{#p?m61QUhxtV}Sd3;WUu%6Mo;B^a&-1{5m2fT{I6Q4MrX zW&DvgaH3h+-mDUy{M7;NKb&Ao(@n^}2mHEju4E*g@Kyp~trF=W!5BRZzcV63*0sS~ zHj6Ay6>pT2dV>NBBn13->p)}ekbp@)0KG;PNm_URDF^z#2mtRI(3kMTUb?3doLlec z9S8`Mj;z+bVWg1xiJG{^g`{~~4K4&sJG7Ma5g=HfddJ|#p7aembYL}+?ij2v4JLJy zR=$1;?+b;$>@HZ@fVH0@Q6oCLK-B;cHc@EUTAo#Aj*o$ju!IUWllU}sJ?q39r|v^S zWUV@;Oc)X(q3y;mV2O%|Y?nwP@JkAzIdu46Z_`t-NK3uWAP#vWssp9zH53-)aVW;@ zcsUFyoS*bf8`<;D7N&(IaXOe9qrGD@8C3I=3?@=G6VwpkqV|L~SZ8@85j9eOzeT^m zwFEu!@5IM_sMjxzw)B4zA9q9IBaS)MAPpnk+kDp;5l1eeOfqn6F#}=*5(M9xF}k(a zh9P#|0f7}@BP`ZLjh90>7<2_vP^{yKfKG2A^bBuwd4u}_eK2k($@JsUs5#{a0Rh%P z{{g!qxLs&kF`W`XlZK3t(xw}wk`ZGTSWl5PM zUk>y&Q2_$BpgrJ(v*_a8?tbJdw{u3w)2LmVBlI(eR)d=Y_G8e$Wh+QTUVU`k_|u9` zUM3ferM@CE;VytD8Coe@ep90#{$E$S$dpLzIZ?cn2fed_~49Pb$C7;j60-6c` z0(N3(RqWv@duJP+LIi~wkIVJ!1~0|Y6Z^m)B%ThHKak`=sSOHSWKxU6Uh@&ur`DBh zq{CMNi0q#S8Z1Gop;8Sn;M?g4!zEaD&`#9mYKSuYu|5i_QQuuJ{Rx^vY1$n@hqSzf zP|K?cT6n1MQ&KocZyv&-QSd7vNEHBUg`gzZ!h^_csQ)qYO5Wx|?O5LU7+j=Br5$UR z!UrLa;9LoE=7Y3Q$rA|27&zy_Jpef^4{SP`-`)ua>Lp*n4tU^-R@_XORce$S)aw)8 zP_;;8N`kwu*sB_>WOwn$MeM(pr)tHKfLy8Y2g#Lswo5os@0qLH)px3QBi!w))@n~% zR8KmaC~&xG%-)Vhmye4sy}Aq)>2OiDKLXVOK)cz2`T6AkbGqQ_vf|^TL(ta$IAlNd z?n+fS#^P)6dS|*B2Rta(cP@}R<-H5U(dB)C(g_LNKxr=GJ)@EQCjp)!X;1{|2fc-r z#gG6m$487#oS-IR%tX#DPw7Fgtk1hymZkDa_@~Xw5tgg$~~KgIHFU+ z0oda#Ox$?DordXQPd2zS8ECRAOnz?jNcu&7)Gz9xwLmdG{6Dh@nf^LMd+H65<8iY~ z&!dU8vMRuu2++Az`|K$~Y^C$IR&%(<0g#|^Wbc>seWEmkd$7)EFvvIv6$Y7jpaC7k zKeivm;+U=)^yl{eT-a6RS7ox0M4oDIEOu8svt z!^bEg0MdH868RCgG7M*dt|y8{A^w#iSC)n0dhkWGWJMV=wSvSwh>+ZHz04@>$|IW+ zup~2*(<+rdzbu}w*-H|((C2ZdaN8+5u`+D6f6}5)XAh0+71M|)a2%h_IWsh8ef=}D zZ>ddX%kCp>sd3}$#`70iTq?9=@1Os`=$j}Hy1>7+ZE5IQ>#}?c2ZZcNj=n3Gu>*Ot zpZ^Bgv1;qQ(ZK&YWHMKD0jn_2Nb6Z6-?pv_yaeRY#IxcNckGpsjtO!WQ|!C`S+fs_ z9Q^lD6d*ct1Zzs6f`vCqL4fBTa~qt)6U{gIv9ATVi9<@*!FoA|PI?CAN!F%HX;U7Ei@Elh&`+?Jk(^A|CQLuI$P z%*f|Szj4hde13~&<%8q=hj~w&PRECcg*hsTO00R*u9o`EmB+D;MVocannTXaZ?>G% z&G~XnHzz{4XYZ@4dOj&fhm=Lt`Na?8sR&W!K)KzJc;O%xHm-$ywp{Dnq1azPmX?-; z=Ujp&x6Y^4fND{BSr~=Xy|0y-iO|Vk=#y2QJY3Cl;k#E(Ovvb|H?`?FCi+x@`AjQG zkrb?R+X?`P5(fIz7~Q1Ra#g7g6o+j7dhMe2Ct|8yoDAV%Hj+K#aU`y{g{Lf*=$s(U zA#v|%AN}S;Df@mh=9d{qgfs8H99f?|Q|q@*tWR6J{C%zJK6=>r;~v*!omp?4;Kj0n z*$r8Zv^!sEpT>Cg}oZ8uh%Sqyg0y2n6?}|6<7#SMK7PoNPZ&jvN8}`aA=SCMKOJVZE|CKNHO56-m5~ z=2Fz4(q7%5$+71g*|&5D2)?(X3=e!k7qX0hi2hdckiYnScX4_bJ?xXNlsg-k5EdIV z^F(F~IVz9HyciwZbEcG8*LsgV>!k38=%JR*9OlIBY{4KS6aK=TKXp} zVuD<2#VgFluor(Srp+u3%6@eleV`MPx?D?)P?*mgzq!nK640XB)0RK5e=KZ#KJ+f} zhq7J^8)<=~N89FB9izoEH7u2f!P(IL-L4G@Y?^`8q1drJsHu8u8Z_eeyts&&n-R|a z3QYG&z}uO*vs4@O!Ld(C$L+_n0h+B!zbxcp_D5=7ZEVd4IeA1o?7x$JRSRFMLJtE? zDa_YOu|G|9KFuQFR((umdSBZ6Zo$;x{2t7Ba6Uw6hPhv{-~UU+bU@nXX8FSY+G!ua zxG^?WxqQ5{iEtZAA;sGzTfWKN1_YFn>UfFBH075{ab5PyJ8u1<0}Y__f4O)b@6^z? zrg!rD;a^pyzgRlXUfba0RfvnCZ)wRT4wUf+pN7K#AxNM41;8+jbL6nZ0s5QInS#}Q zy=pUNlrB9j1{(RtesgFd*YoC8zsIUPabhYM8qRPeK&r zXJz3KxIeD7%p2DYw;7z9>Q^L73O>D&xOSeh7Ms}pz@foHb)qY+WA2@1mCE;J;lj3g zYkY%z+rAFX5aqEOQ!`6HE{2x?(EQi3DN|d(!U7{iWhqsvb1YN5Qe^6rWtB&J)BCCN zfmTJas{Ok-usUAH7h)=0uXGG?mZ{9bgV7FP5c%KAwq zrOM(aj6)AzTvh+mXgy^Hpv6|a*V8$^0Z@FPBFM8UD}U6=VcpKGb+fDzIU81g`Eqkz z2miK9FNr^2UYLFtRKXn3h61XNWGSPHw^JJ*Mi!Tb4oPW@H7sB??-_Ye*uz~vpc$D+UoKi#X3Y&MHomTDN z8=%Na@_HAJK=?PeZy@9jx7)V9$8jQu z>8NK|+hMjO6zuv^mNlpsQ(Kvem&C`n*ioJlgJ3^^XpBdNGQLscto4a zWr+UEr(M056%6O4L97fmX8_4w3|~jLn?!r+As=%cQ!;);LB|`P7UoZpc2~$*)QBqh z8MIW}GBEmp#ZP%!y~*8W@)7KaG-kT%40FBfOwmHCjUt^?XPoEoLY+GP>tRqRGqyO@ z+su8av2|dcvx>#J<5zK2c&huDqPO`?ch8Mn1S~h5*(s@qbTUb`Z?_Iy0|mS0y(cVK zS28@R7$x`~7nS{y_lUtw-zR?-;yQxH`$vDtDBNYqQw|)j+&9m)rfyZ%(<++c4oJ`+Sxel85Woo{&bZlVZe4k zSDc1BIvhoZV3cwP{;`fZeJU?$?e)4Sx+4R3TAxug5V}GAaZqN3EoO6n?;Qnmiycbl zN(^l!@?!{v?Y@6grv1F?mFc{TOM^MEH7=E?-b`N1`Q$Gy@pv8Gb!28~R(R~&;>6Yh zk38(ytE^v(cQb{b4ZN(470$CN#1ShG4=7f>^c9^H9=uUVexE11)Ge!$b}{1e777tt z`7+|7C^3*ZPiH<|2b)%f!PfREX=oz~be7chM9sKrBBK ziBg>G%h*PAAl*B9bqJQl|G>JE^@OtEW=lscz2T8(^ut6P5ai3pu* ztd}0Ox@gyrWLf-u-lludwv7L~nTC2P;Pvb#e-a zawqd-Rc&3Y`D1)7JP5Kmi(L-)Z;xAA2e)Us_nD5nR!mJ=&8T!O^fjGK{Z*}VA9{QR5FCP$?k=I(_ zAZ4o>>pdnpZce7?G-hl{iIPX@FOLkXBJy~tMUix=>mB5F?1<~;E{+qp$oUg|p>@1j zkE*^{n9T|@)j2S35ojIKqDDVPPo#Bru-Y>uSU!&%OX4MzmE=_-M|8+Ml;!gSU;rVuP1mtLkOsOdE9{+XY0ELgSE1e%iC8*W4Ow+bHD%LjTVnO&0f`XnhmE-8tUc!GA%Fdm{RCanaH z51JxGXJs#)if?$A?c{ye^2GC6pCnjd`NDaNjcd!E4nz=qxenSh?qu_GV1r@F*HRtg zwc>CN9Jwd6M-Dp1KjRyQZI;@j^_oZv0voCIs$WjLq_~zjrm{_bWmN10!B;OXR0%F* zLzr5q+u7B0?5xTj)!oxkLKrzrYo=04)y=&_FRR>&7;&o0Q)#M;pH$sHhCQQyRB7q8 zYrXIOd~)k>jNgpfO%k6E|GN6+L*r%o%< z729r-!#YzqNC|$UeRR7tk?M~GO|EwX^a(i^2?3q&k8$V7cpb-k-WGQG>ok17`#v2d zCpd5^b_lQ_vtdUJND zyMcTc^N@*tncSXXbx>dgm20CJ4Hv_!ZN;H}8#YoR*^k1$@x(GnsrEUCcs&;*IM2lQ zXbd2(%J?<8%FaI6PSMj(vS+w(DnATq1uz}XZ&qVhoV5wk8d(lVgb54MUz~d5Py_Et zb*M@1iVB0lPwt5_jaTTiZqi4p7R~ycU@ORT$Dp`&;3A#obuwWN-^x%EkFPscM=jS) z`s4_I;Y1b(JOxq0d5JCT2gvxh>Hg8#k>?~|R34j~**Ra*Q@c$-D_w`&?zUxsj;|3q z{ge==D^;Tj9M!SX!-e>MwBa=7SVDsF`cBNv;T$I~tY;X_hadhf8)zT2^%p?y{0+%y`%;yKYy^&zz7sDg? zTqj;fuUs~zCIdZ@1MJSwI*gJ@H2-C9q|96oSN4JlJJ!b>4hdwq0xa0UyuuXt;HTbT z&P@B#-hfbO+C)_Vn*ek99X~j$AY3`eiPz~BmVP-rY%)-R@kux68Lrzw{3LT&d6$d> z8aFAD^m^!a{8ZJPw{4~{U1av7>fJn{oWze;K7)QUyp|Yi1GF$SoFcr8AxPGs4Bom& z@Vw65ng}yt(5)PL^11@9{e4pYC4GN?a z1dgdW1t=o;7`Ma$YSTDSGh;_*h z@eX@;Wm$zjU3Z&6Ym362C5I(x_R)VamBB!cjFDffWFSG}hXRi@VE_9nNMa(ygs~gD ze|n<(HbMwOSo=+&isyqhCh++*4W}!fQhUdQ62hiz)64hu+8EmJ_X~$a8TK_ZliHZJ z(%>%MA_SH3E3XEPE~F#C2R-}N@eUHyuBNcA_B_d^cUqB@ugiE&gx{Xy^!-Wj$%W^( zO{{rr?~}!B1|JWIgNTF13w-SfHhUUxJPcBxe#$7T$V*Dz059On5}AJ%S?w#OlCW$d zhn9;(;9%#WGXBF9_&>{re%DRHLXoN+ueBG$HCC^1vIdWJ9yv~cdj^*~=3;nuw6rfa z=Uwu$!3{5rzy-p2bUDusJzNDs0nBM;lUZ4vtJ(a9r4EegmSJ0Q?lNx1J^`#goIM6? zeM>Li-`!|1SuOZ3XU zI;)AH@m^U+FXB@mE%3UcjDi=$tR?`zmr^(Q3C_5qGkNGa#JC1F4i&#Kg*e$t?N;K9r>b}3al(OlM&hq483MgpBB53SZ0 zr}ng%XFpra3?~M`VoC`jIxlA`3hYtgt3Sz0`dVhnf~5xQ-=w zDC?#FvK1eK?Oetxu|QdrM&^bdGX2eb@;|p~l~osgN}b9@3dYHOLAypId=ot~#va|@ zi9iQK9TV+u*&L2YxC-yK4<3cM(pP2tMuH(xbZteFvUi=8t8m^wAJgIhGdxjt5{(Y< zLflcC4L7zV3}(tiak4$-*)1}j1)mb}@{Vt(jLx9IOI@0&E)?&r9`O9MNm*|`cN&iW zxRS7VNudM-385|jgSj`4hkAeihpkPPMn$w3Qp%FhD#jM=%TOXGVWM3l3^Qb3C)B7Y zPK+g$R2Y@9?@3Z9VlpH9K1TM8?RULZ=kxvkmdAbHzu)J3-}fKqoQ~tn@_xNu*Y&)f z&*yc$+)^mmX=cP6bMYCd>mZTfAs>9RbE5K1m%8b1TCuqc-h0OM3+n5htpfRK0R7KdyX@F$m?@iYM#xfS$b`|>a)W+O z#)Z)qbe6vUciSc|KJPLWo+RQ+0U8(SIigcF4T!+X2N*1XfJkMG7 zIKI?ohgLBJbT(h-D6Op1W=^!>#lV?7KST#w0#7-9=ajBLUWv?kYq7BjcZ;!$ zd1X}a-deX4)|T?BaHNwgDH@(>WGo&b_ln|A zSeOMQu=!32{8pHfX2dBZvsJTz7cA!^!ze`amqwXC>XfBe#38n+WZeWi@3vnw>WE$w zPQJt%0$+%oFc}ysq{?!pm!k_`L6{!O{@NN=VId4Pgz{v&gzrxd(%QCjquGF8*bYPj}iE=F5KJ9AyC^y%4FoU20A4}p1kUlreGc_xA|DW+-p=&E0g-8n> zwzJ{iYUkLspOBI{Z3ufBnO{jO{1L37`+7dm;Ah}##AD|$gv)zc!d(&J{`OWsX4t*5 zxyZT^8RanZNQ3t%YbbVH*!G9;>(-eb)&05>69|HKk}ciSA>ZeT$Ai zO;kx&Y74znY(Q*FWqL2uxjxZOqT)m5pn1i2Hf}w0zWtm0+-Lbu-(jwLZP84A@yy3U-t~o{ z;!kqZ?+?~QCyYN2anHs%Qd!(9vxp%C za}!M&S$q9xfg24gC*nt=Qa(1N6zymY9xm0JyR^VbNTcOL3aLZ?B8{Y9zkdNrvpOcf zkfFmq+yi-=6lvcSsFV2sul`9ZK|<+z%n|z0Cfqqo3bwl`*FHrSJPEoGZ?ynUDo?s% z`30q>O3>|!dcz*Iu^N$rD8>B}wPTWdSzW~*he8H1hV*H#m}dEI-^>Jp5IpYW>DVL7|UEbSDy zX)wCcU^_~BlK-$R?}@DrIq>JTj2mBHG#1t7irx_<75@+`c2a+U8NadCAA=Xp5wI{! zYZc@67SClbkiLh&t+uUWdPL<%LyOG2=O*`y9YwEa5$0{Ox_GvF>;ji{eZJ>rTz~LYE59Y{3)Nk*)1FE>fUoR*TjfU~EQ*IsrcH9X!`3J^6hFZIH;%dIpb+u0E_KV&Sc!p$! zxYYqde&-|2lx~;c>K7k{G36LC%fDx4)Mu2IyKts=H3}QNQzTTU%d0xutNL$yKCDrm zTIA~<{J}#sF9W!i)X!{6r_?dlb75KQk7chj<_9w3H4G+FO=xr6;d$hMph_Rikvqfbs=sVqfX?S6KPM`E)_1zIe-M~Pryjzg<$*rTS8qq zOJ8(6V!Kpt9V<{RyB=FY)!lklrpI;Ob=G!dmF>3c#!4njO)KHiq%BQRq1@6Qyp|Af zJ7fA`#^3o`YQ$v(1ILLH>Ts#|h#epIQ=iX#x$jSjUhelTHX~sk$}_(6wF@3gI5|xj zUfo-It8FLDZFdF5tzfn{I^*Ic3@b0Kzoze&VKDew-=WAP=`(?=$4Bv;siWw-7R{S1 z^c&Cw*S4y#EW_K#h=j5%}cb_^pi*jxfQxIkgo`P7#2Ni*r zONaQE27NiyL0&#mpn8wxe8%#r{Tz}7YxjnzT5TGN42p0VgQRl32raHWdkD9hwyTnF z`H{Zi(vY%1wa9|nc_b)3%r~0$rW)(f%N3Fh%d(vfoHqOS6eJkRB$<}o$~hObT9|~~ z)6q+nZa-5}r9he0rUmX6z#2Ujz%owwe<VXscX z4zC*9xv#b~c@2t2dA2yY15bvjaJ6Cw$JHHYXe!bw^ey*~=nd^*PW-CnkH-53w1B0` zz83-9rTc7j?^0>T);dts*Bvjj&PXz*MVUr}!vkZx0fQ}qv8B#C-hf>vhlJE3c2|AJ>s@%{`@RU9d>cldBbs;~d54_Od`)m&gL4 zV#;|!5GTPfvreW6hn*HF_YnpaG^0Q&&!_K`cF z8Bt1&liUL+u8*KD?o9_iDJZMz#V^!iu*T;=u=FBjkVjh0!3&i@#k>9ggkI`mwy@RL zSEjq}q)E^t4-_|;BIRiE6-p@%%4%lmax^LCV9cR-dsO&&Ws6Sc6MHS-&OnSHqul~> zg|M3`d1-vL5~M`QhWnGFqYSBDTRs8R!=+mMA`rf0UZp@B z{b70yDer+o(>y9|QlgdY%qj5O0KeYOylbDmt8Lof$B3Vn2+7vM^&uP-+H<=Jt4vQq zmV4O?VAA@tL9f3`wGOs}zzq3(1!S^Zd$Rptpfy}AcFbt!iUZ#q#4h?+Xe`O@c2e>>aoe6EL^92YfD%!?6o9gdl$f^+LRp?neIwX> zg1*tZ8iRf0L*FNDqR1>&6oA}#5H5KfPy`?*8|z3jriH8I5;~)Tm~gKy+U=eT=e!;? zC&NLO&3EPGc+_PYWyY4kQ~a|Fw!uRMs{h|cAg%hvA6+^4rX0v|p&cb?O(7_Fwsj+1 zf*Ha+bvKqCwA(ylR%R{1S^0zUupr4eKA{0=Tkk?xD2ULBa6YBN^u9`K4ZmV6>c>fc z=nm38s8!c;-(s+qu%7!+*(&jU{=lbtvqP0 z%i7F!bE9up5wzJ=_X%^^c9NXLAHRtS>R<4JT(}#qREi$FFd7ts_1~}iOE-Oll(eu5 zDkRZxau3Z0$E@Ts;_r#mWLq*Lb;W@}gIv22q#|SfitqmFggM*zJNA{wYfU*@)54UH zB|Fu;W=I*)-qr|_=t5LXv2g;j*}H+&h5^;ioM5{Oy?9&DLoYpd<=nBnrBdqX@E$n8 zoTJ$|qJA7-h752{DUXd-naEbacjNeA_Zp}?(C}I$eq>&eq<{i|#9sy81~?AKgYC@s zWTx5o!rro3>u6PacDK|T9cH(%9_+73D@bu&NtPwB*vrVTnjV;EMrR2#Z_DP}m|ye% z#ZO`r;qZQTQko$^6#$fhwMHd(otRI2tWtI1(2q`8{dwtBc zA*VL!eG)A9TdSILdW2mbopN=Xpq2oZ=%;`Hc7=nq$$9f@A$Cw;j4a1xPdIb_kiQpc z%jx-e*2dga4eT(cO=cqth1Cg_`&t>jo7gmVuVU+SdNT(+t4|;Z&z`p9f zh*Y0093a}c`^+;EBHoS!*wHMyioy>Fi zBv3cQl$LXVZDwBWY7YI(Sb{z7V|X%I{khnn@da3LDagDd-MJzxDTptysHSS9tN)5? z(E7JD#t;cQs_`YdCr5%@IO^9sP1VE&+0b}zo(T`mI2mZoETZvo!zSY3ZUGxP<%zRc zZ$9#n5P415D)w#A9P(vhq0rdz4~&P9(=2?qNL#I1LkW&QGF?^hmyZ)Q%gCRsz}y zuBArlYoM?>ZzE z;+A9P162SJGL|89~kx!usY=m!#diM2Wnheg~( z;O#~>LFBBy0s2nhtPTq3XK%j_XbWU6YL$@qlNTw1{{pmp>UZcE@`KRvZ^FeNGNJr{ z0yPDpuuVaW#VK;QHAW z7G=x!mQ$;?d>Qhm$(SgE+Yb=*F9b9O55i3O!Q})H;CI(#=0DmRqliG!M-c$E*`c0( z`5!YS*;Q%8Cdk_xOR%F2#6cml05(EQ3B(T(&d!jQ%Q=xSssiRzm=?4)mZr=8Qc*~T zSTspfkOMbMujDc@o20NV2%~vFGa%1(P_|FVO~f@l?Wyi%Q7%Y&#sHH?yI;8rfDi&y zndo8)9FqkN!LLZ{mnzrH4+jDm`hT02sv571Jc9n1tYjE}!vqY8C@mmV3%P;BfF*_D z^X!$HYW#6tUx`CCqTB-K+O+!pvt?^S?yux@A=^;g<6g0DdlFc^xIGYf$p^O}bt1f^ zWmY*JwdLO|qTYl;iw!oUiBff64}r}J50@r$vV>oksQ(RacPdhhFYVi$UBiF9GwSxr zA7{}>asa^+@O;s;cbUcl*k?_ZP|ZiJ(~C2EdntaiPQIdR*mEd5YXj za@)tFBa9)-?fSr&w*raG)cyAhLSz(%$SBLfi!#dq$(7SeHpC+(9|d~?lqzs6q;`m) z;Or{S8yyoNTbUdV!BM%)!*U@oW@{xg>8^d{rzAhSVZ&&~yaqVYI-g!ro_qk#+r^AC zbPECvqALqvEd?s6tw|=xO(t+onpbje?t%2(Ay=ER&Y!l!T!(Z>?OhZ;dsmlsgEsq# zRf@Je&JW-t_&`o3g(*=x5O%tlmY5**pAx((JRMdSWMDWNPmMBFg&S9F`Ur=Bw$yi0k#=6RYS_T5bQUH>gUYrW&zFt#C7^dt;W<*1CW66U!bni8sMeh zXATAfuGFM~s0U%h5OO)NonT$oCUtD>rN={UvyVZK9Zouif1L!Ge75Qrv(xNyIhR=i(?PAYV7h?7R_% zxEHD>f*|ZGm)AL0Ot)#11YjS*gw|(gk}R(^tmQubmCwG2@c&oHsvdu~+cU(l7ig5J z8QjY(m6Z#txV93iBcBnW2|+X|)+n=3Q;n$A2#E2#6+b3YYf@6A50pVCC0^VIhz}_p zB6FibGJsXV+(C!A2~ThT6Vn$fyR}>)pg0hc)UV|$;cKR+sTGDR1oe2QGe?tNr;G@( zOGz%3xNEyyhTdMb3Z!i|Sf6@A=4{2CHbH_~bP ze)*&T2ri=B1Hd~XMi@K=bK`>5r%cxM7sac>(?tIP6!wh(C^A%~pE5UBqQ|aeq`|C^m>3Z z20}U2T4LbsnSk7#tzP&~TXZEAaB-z!5ByDPyYa+ceofvEw;%EzM& z1LT@4unSCD&411ysz3vfI~9&D1^dxhM=1P;97K9p7g@z@+)B1~okFIC1m{h`MAS~C zdI1!qP1u%1d!HU8I#BMy{6GPS`XSa(y7Uz&s1qs z!zNgO%IHJjT0pjd_$U;5xU32OupK~NpZ?9*QGv0;QCqfB#GUiDmQbC60pTaQj|3TI zMl-fCJVig3O<06@JNu)3CV9U5kjy?z0?nGHHf|k(ya#$naRbOD$(t^j+m9V z;e~*u*(7yzQ&1-==|b8nqyCnGKFmn?63Jd(Sa{%VAN~aRF}(mIGU)E1FM8~`)gHoG{6*u zvzu&IMdC10ZUQ>yss93)S5Qz1XnlatHfPFt2BIAG{YKqRJOvzd4Oh7MXb)12RR?{e zu{BO7w3enQ?5a+IXAjNUz-ZkDKJD#%*Haf_p(>am-{HCyM(BSWTK0|bR4H~aNLmJA ziE1+?8-PQFW`=-%#N&<988NTT!fweKd#9I;lNk}awA$hbl)JDEw|5<$9|giNMK(Vc znA;Z2AJdclS9BoeWg8MZb&(nX{{TS!^#h$u5B~j-oXawyrNW_POmHqpKxZ$4r22Lu z?5TOh0C2#~(9(Ju080J!3U2mS*?iGoHSC*>P_+;%x$hcL`Lo?3F+rC%03Rd$Q6T?3 zwWVPXG`!SoOpIlN|LeBd?jt1#BaV2#a;n>LKOX^MA;L+t0aFvSE&yycQ<}y9@>~7Ja=*XD4u->VNWWq(Lm;puT1h@fRI1;9D zh!@j&EYUvLPRk#j;-9UGJX8S4ns56Bhq8T?8%qJ9qDk9d@?jMr@~PbWn@UT>oqaOR zz-x)Pe}BIzrk;&~4R&!4ppp--1vxqV`baFDC{Yhra$oJjQI)bBy~plDIuGBriAh-I zfp$Za`x~#+P$b)cOLyT!oqE<0n!E>T?zyhirvwZIVx596Amm&ipAWoKqEKk(r<%SL zRbse-phhe?T29y!QysFw7?od;NU;+pxeS7LO;<_`VlOz(CYxWWPQGIBAzbZ?u&w{` z1cL*yIIWk7NGgNf%$8yTx*{w>$n9PrhPW-d1gF+xmTrQ>1tEw8C==)b1BJ*7aHT%` zFce%bkFo}kdLY>dMpKdceSTM;SCpWj)mkiugs{hyR$s_~#uZaoHWl!bf?b*BUakEy z1ze_V!8~Mk3B)#AxYo?>Q%5LL#&e!R{4VQfz@Ga9C|?4B`)@QF_ENA_|1gM3LP#;H z;)S@lPL#h43pUqG#><$){sC9B1nh?!_}>vN`!GU;lLWJm8G44(|#VJRA6pMlOGx+_b+K8&dP6_O1Sdzb`R z$};-L7E5RWjU))W9{bKTQA{M#2TN&vL{*3nu;k;_lA!J)v`Yy(cKqS)C4XYN&P4?E z@W^jhLf^kpGLpg8GpjJz%&+gWB$EltNDpWI9v`qi zCDTax06Kv(v@+M(7-cq zp~g`C2T%Z_2SD-MGR6)F+K(xP42bmrvzbtsE{W-FLOK;h2A;NY4@D+82|;Q?i0VV8 zN-jgecJ-OquMY&JjH_G_8vosIj*0@CFU1)cTp?1-K26~(HhV~?v-U@sQZbt)@u*n5 zeyQqOE=Y%uU;t88CgeW*&_YEJZ{x@*x+Px&bx_y_v5H4Pszaq2e+V&_|E0Tk7F&w` zmz(_N|KIuGwTU^uFiJf{4Os}CM6k$1m;|lt1hi;@kiywrcJ}&_lB1P18XV~j^7LM& zLXj+zpr8e4^lg+qn6$0_5Q#`QJ_T-K?mOcL%RxN_nhN5r9v#SMS?r!ejx@y_VxqBK znjG_r$Dqm;WSKw{cj4@N40eK^j>Nruklcc55Sy%cek*s!H9B{)2+yE?}g=;o3vOLq3sPK?gKggt4UmR1SbeJ*WGQ0xnyaxebW`$oY%1 zCttCeAKe!~J6%zx3)Y}%w|j{Yj-z*2mbEnEE2Gq{Ka|$AgH-kl4Filr{6m$;g*o*7 zDtkkozE+hUcxTb_O*Y@FeNocRyMr8*=U{DUVK%<7%Z4=AiG&jnLnZ*GDex~Mlik+X zrn@P+dy;U_yU>z%9Qi!J!3Y2-HP_|eH3iaRJ`Lso{S!{1o|6j;#z-OFtS*Fy63AEi z-G8GiJ7^l+)BHY_B|3V*u-6pIj@|z7eKs@uqm{N-qFEs212ybwr9-MC{}HJ8L3jt8 z5Cx4O=Y>f7YqZD-8xPWR&7RXz{RPbIw1`!ejPqyN{6~d4! z;f_K~{v0V_iE_<<{E%eXR{_9K2&s)c+bx&42k}RKLm;tyHN>%8kIm1HCK3s|y7xlr zbBA4ne1DmHH!37Snk-)B`4>wTX{PyCNI=MTQ0P|4A`I1H>Pv0M!9#df?**I1w9;k! zw?@-wGl_v4NtW5m;Y&Dipc*{|L=99!&!JITiUuyZv_CXN6ucbRh}Qs7h^!GJS?g7z z=^JU+RHeiOC(7t9Ln{Z^g+#OCx+Fya!)TJu-^yS3Ys=|yXy`!2k9Io`u`|s^gn$kO z`UpBXSW+K)l8_qS?zQxt;gICjd#12CGDE+#)oGo%Ez&!d}kky}PV&<+uNovK5n z9eZ_RPvdchTnZs>wj>Cm+U-1H%#wGq3waiwF zaHS}FRA9*lO_9(0RtrmpDcfr-(s^I zJv-{i+9T3;0G}e!W~v0p1@MO@K)#7d=n(lkxkDt_E{V|5rK>1s@ejzrECKo<-Qfk& zuU_-Z4daJ72EQAHbl{LVioGw!1W4bRfRA;{GXvl)k%km8Hnct9wRRb9)4IQhENv3? zyO#T1)VAuKUwZ73D-2abxK@OT++7OoJC$gg(Pt^;|GixTfzB>b2-+*Knwg03{TSRceX#wmFtihptt;a8Faqh?5q6V9 zHmfYO3|lvYM}U3GQGJyv`iw0J11|B?ssj;H;q`(LmKGL~6jflW-6d5C)ze z6bMBLTsHhIs9zE3kwE0!b}B|(@fqmt>;^$>uR3`srbd*rQ)EDv8>cu|t_Xf0m|SI? z$rcZ`D|CMZBzFmV-F*ttfpzY;)M00a^tg%80~LVE1Ni{>IzOm0Ji!pib%!v-CQIQ%x2g8jSoJfne3+=JS~pdK zld)LMfVRR_Fg*+Ck07w?{3UTYJQf9hyl&>Ur?(I>4C2#29W_!&ce@KmGh8YRq%vp% zgL#m8^gyC4GEf1=a3j?E$ClKi1ifi~v@4qQ5X;`gRC%ELA@eAGxe8&fh(-W%6l# z@G6)iut1F<^DItou=f<@BwlpfE|n&WEum7J&8*-yhF?MC)S1shu(n{^gU1EM#{3zp zxisiffi<(y-L`fBTs>Xay75YA`y(aTm7LT}2qj6#Ij3+9}srfT=$_cEKL;R@WJ zTFo6#1t5J)wBwvOd|0_JDOnh`Um_XwuC4XMa1u?`jybzoh1i`#GXXzCO<4vIZZ!C|5*vn7S0B+R2xBML11)LEOhzWqyE_Dpyy1d zLQ*p@5E)1UpxXuBJQ!+!9cJk^r`vFF0q8)8Th0zm5F(qU)5_U*OKT+R4%b5xBGS!P z?=Gckz(5jcxAzOl_1Hu5v(9iAsN~)yX#Z2fJV`Hu?7+?p+=L+Ms0vAed5H<4t^!6yXSsNOnLMvjZ;%+{EW=Z8V^_LO~K$PIpp}vO8oj<8c zr*(+PBYkfa>XxS7V05vBxX$-fR&5|f4gdvB7ZrNHY$ z$mZ_3SAyRC&EZ9bqzD`~2$>z5Mj$t{vyLXR)^bPJpO!!zspF{FbkmD!G2MK zUa%L`meyBmr9%6ne8mQ1l~vD8T%Xe4zDqBFOKUMFxu^^3v(nFII(u?mbtV%Yl}pCVA0?dn)WvHQm&rJAN9 zi_HitoWHY4h$P`KNX2L`aG7^?mVgSoha?rC12r}z@x4HmX_L2Cy*<_6sLjNz;f^N4 zsL8<_rb_*R`AB$2-%C4^J~Yz!>Q zRiMieGz$3^1v0>ocHCPNb$(hcX5iju>dx*^AWxQ>4ZxB>huMDZ#p?C7ohJdVX4vGZ z{NTBzV_u14@z%@h=$#6`eGsS4oPb=oV=07hyvRE`DDF1O()A#TfGZ}|55fc;2RzZe zen*<0`o<(M=Jmff?5$tQ{gM?)1eFg#qDU4g{p1AY2u8~U%y3izQB=MOA)G>Qm6qs! z3hVG6c2+x6Z}QF>(2iEd?57JSUoTlJ0Lmy{azi-qGvM+-6rR1-0bo20w0_0BtE5z> z@@&kV4kR;J&~rgbfJIGJ=jY^H5rNf*aX9$O@^;`ae|vgVX`lCjRFuO28e7(9wY@0t zr@4XFWi+C>#K6iQHCG4r(zdkZ0f5nU=R++rKfM~z_9&wopFp$T>2^80>ckCSHv_@V5h$ybND5dTV!*JZ8 zy}J_AM~3OT-zCn%zyt@0?8PebOT|V@zRiBi&};m|ERm$-kGaL~aEGNq58RKxXGY*B z<+ve^Bs2qRLws+rWPjsCoBH43hmVoY(~qh)RNbwA+=YjCRjsXoNI8T@^#kRDul!U# z8FWwMI^Zp~>l{zWT&-^MHeq^DQuj@39$c;DGxpFS{V&gwMPcr~x?HJ%CjT|3_e#0E0xn+ss^4;7x**(Vs!vH4Kz5=6Wahw$o_ypq%YE=NIM0+vm&HJwvdjx z0WgB|3?yP*{zdedcnLm%mz+g!M~QB-=ZWFP{aZb za%Uxa(h0HBLQTB~e8(^XDhwpi9pZ!Ov~?HznYlY@yZVlo0y^U1d5MP*^RHZ(FvshT z9U|4)tXr^A%e?NWf0#Ny2rhH`<_)BI`&!@mG2gbl!E~$tak1$F7ngJBzVBD^zKX0i zhFt^A_56g=&1>TXp4#WfLZa-(^$td|LILj`PX?hDQqkejoC{N6h&+(XeeX^BIB;U zFi={Oe+#~awGnXX9m*0F8?+kF_Fizwc7!oZZ6KXNWE}cAdI+KFA}*jX_TFHk-E4o` zrGBnS$z3^xbv3@Fsl};$Su1qpWWUsFTSUi4WFqkVF>QX!ii#j+XsUhW!*b+b?aOcy znEVOj>4H>m1wTEyWW&gX3+5nH z+)>g#v`y=7Y}N7Z9+$}6Z_jUSl8wEexqJ_P>Pa+=%$S17Y$lff{g*CyvUP0m=4dHe zGe`z^`I+QLMd)d*Pi5dGyPFiWflvl;1tm!q^ybj=nk=wfXCCGZ=Vcd0E}xMLt6VrQxagL<$~8L(_bCe&Z0~Fgz*B*M0jJ( zz)6WUWr#Pvbc1H7s1klv#?6*@nUd?kW*yC5J;-k@!L3<4IxFPCkJ8->Py(7mG`iDa zm5F!ky1zM(AzqWEl`fHoFDg!^>0&c(33GI7xq2xk2|iQy@-xgVlr=)ppX@J_5$6*t z5u#jMPY(p&PIuD^;g7RAs&=8WA2P8Cfs$ezMXj2++?bj*oRtG_I5L12&6MOVklyuP zpvM61#bdON8^=2>9wA4Ds{M{yE|2l>(o{&qOiqO70<-{5NNTa2%A3o7hmZEKB6;|# z=$N(%%C*EQU-V42gBiq>OAK7Y7^uzO+#u~ z78j^njMD`>aZVLXKd33K$>qdt=7$_6*doQQ$}-+aA5$>7aX*uN?9g8x00s*D9z|bD zapH`j#{*B>cywpO*hCXvrwbRJH?+Oe_uHBz_|{GNZV`8SFCbc8wv;aLQS(EFBm{52 z7QyC#!v!05gDzrB1H*?n)@AUl2>2*o2k06wlWI04Lc0(edSO`*7Kg< z+qxi#x^cy7&fBttJFWn&41O3jezOv3Kg_h7AFT}dlU2A9Rm4rCBEAJFX*xtk?&d=$ zPH5U&YrSXK7gZ8+{P9>fbwpq*+zullfKXWT;dP*o_j}1UYHX-O<)@03-513;+iP*< z@$a+BU4%Ju{z83i@XZfk*CR^XR;)22Sd>r?s@cjq2#r@`t&yFT z0U2;<&NrBXSvdJ+@vNNU)rIT-UG%s9!=i`!u|=`^aYb?Zw4%Ahh=i$$@o9>;fq0!* z`9&Y-$i|B&;({eL-={Lptawod12BHvD#1BIRWt1dJY+z=5cX+Y!q=`SCUH=fyDtHV zNe3mn`wl3kitH9T#15M^F91Ga9e1Y#@Lj%JTJ`NRX!{R_Ur4hg{iJ2R`Sr+R{TA&DCaCLhgL%h7B z@%HE-Wcv-8hox~{rb>m|I0sf`a=}EV?V#O8i>@lIF;S=2pMBe(WLaw6^9>jo50cFq ztZHK0JD12+)CyJeJ<|00;dh|nZV)98#k(geVftzW3ps`hP5wpwh6WAN#qv|HQM?Ml zxdDHlPQzkiqJ(T;gbuHBEK%Z@ZJA$XCinG;$?Tg&F~1jscZv0A_^HG~52LTXpEZ0f zyh!eur%kV*Sj9G7{czM}sKZxG^q~x;D6F!hS1h86V>?|U~Wt#}+t^K84 z)BYmlyc{gzRF?f~G8qdVl|o&tWBd};o)7`jogILjD)kE{$}?St){}BcCi-<|66527 z-aP+!kHlU^MM*G|p`lZ!hsv8WOlXnT_|S{#6GM-G5G>>wW@y*J#&aW_Fq#Vy^#1Js z-8E4|zad(7;HboSqjBMR|MH)GTD5etvria2^|_tP(~aA)&){a? zx>he`-Z37IXUaRtJH@l$F;BnQpK!GGsQfY8SqK6@4HLded++j|B%;S(3bwRJd-Lki z<57&h!Tz!S8UFmrH(wu#l+jfm{?Jr&#Nd13FI4zAs3aL+Q3Za}uDfBI3|4_W7=tBi zH_+;%l)CK@0Tf2BK*1E{feZr@CYDEC>cyk9r^+&)Q@a)T$uk6gvR2j;hsr>2FRSGR zXR$VZm)=x}jc^!#`L%oMU_t&Oj0m)_q(h?^9h(@{h-x zlvGy7)urSv@L&GRceVD^?xOfHLKK0BnV2{9tnBhycY$^GpxfNnxo?{@VrNp2|MGR> z^wg!;0!MDbNyaC)Q%$xl353zST;C(#b~k;laP^Lw`_wS;mxcV(qT@Xwd^qp6b*xvu zQXdN$ThF08gNnZTbBWCY1AXDbZsVWFzm9(!Zy{&zx22vlZcSgV=B>XX-|9>&)Y#`1 zEUaP<3gjbtFK+1o{{F{|K!>`6n1R~t{xD0$kRx=-OQHEO07+)sfRCKDja~RG ztqh|f<2NYq|7hQ-j{?tvn~T4#XxB@2Bga<_$nB ze(&W>r&0-pmpiU!??1o1vE*2Qo@R7c<2fBLpw2?giYCc>Jd3#eV%p8=UQ8;=t;Xui z#nJB94@dX;tgt>Szfb;{{LWHtE%b}^iwTlnZIy&_QUJTuBV((hn%0_to~L4*d7PE5 zRChB!S$Ag};EVOHr5K5y&V-Q?j~~pe0BrDi4Ale|}Lat5R8~gJ5WpwKk1M2tPsPb#|*v8rn?`zehqWBq?*z^qIRJy{%X)LXoEbrxiL3yn#L~p8!A=4URMD}R3zijG^2DrjJK-ymL*|E8RLZkc`|SI z|D5n3^f!DaOL~{52@c$R|GBchNo-)=(Q5w7TOX^{hI-lPrzL5UOg;E8=lt^^5~^!{ ztb8+3CK7|1zdJw0uvWG>@~qy~20#XGW!+&fy!T~jO8far0PD!76&NcpBFd%jxqpcw zMJ;@jMzM#vn@9|Fl3NYpn+0)*Ztpzg-o|{x%qqcX1YyawSC8fxqsj0zqHFj~7V6uC z?}zs$ouTLzwxPW~djGZjnZa_DQESRj(eSm&nWAeuzB;nTt~V$2PV6=tV(2YAo%67{ z{{PYszuUxKOYu1}>a(n{QSlOv8%H@S>{=2htHZP0_x4s%wEpU6f_;6l2`vvyQwnqv zYmDiJn7cZ>`Pk;Go7BMCj~HwL#Tl7`dtAOp=vm-#U2$kQZ7AIh!*{uU&^?uiwy>LT zCt&)Rn zrof`RCUu|723DMY3d5$@9ULf+g!Nu^$(mXt1H4oHho;!;Ld-Sa@pgs znElbj}{&Cwvy;NwfwFo<#31LLHR9-$-_@1o@zWb zDaubX!gy=pFy7kUI^Ow4^nkoUR)DbFR}11`S0l(aLU#?BMt~u?_ZYk#b{{eV|H8}c zc~?#k0QJD~&@J$g8Ne{3c5cBjk5@?aKg?@;g_)@6YRv-;LokVU3L-xDS=A68(8$1nZ@B^6tW(k`hkt=CsATHKWs;()H?>z^C7rQGURLJ!t zXqRrsdY5rxW*?ua5gQZ~;lgkO=q&+yG9OIOr5G(UpBrV@1!B^Jf&qszR<}AnF zMGzsUusZn168-b7nqS2P$QWspE%ORAZ^|4>`gSR6Q=49KT2HHX*N6dH+ao}?NA%l` zKI!T3VZLX%Te7F~Qr z=KdfIxBYl1-)rt#$obqiJJ^bo zkGQ)dAddnmN<|0@-QDXAK}})n?8R)p9|&IbQUh*dZrkR}C_!3Jjct)vqgnhhnL&TB z3>>8!Z}@g%kF@9kc1|&y7r2U8uP_krfMV;tNs~VL!*GfQ?ms^WZ|8X&w>>bvBiY*{{%*tRR9nfCs@ueyM=zo8L}DqL$NQ|doe*+8 zWOy(^?OA?unlUX-ClM`)GQL!t7J|>X`offAg@RTwKg>1$hSIf$PzwUJ>axI4dk6#F zRyUU7ID!&~xnM^@XaIYk?@u2a!Th;4(3YJjKcV+n7V5y8v4KxiayonVzGELE4}q0k zSfT?l-)@FmvW*asB?=6J>HjzAA zR|CPv4@Tq)+M3K4Ka6Kw*>SaU_d?*pcp!;chSB3=Rb`w@idS)E)r z`fX#{M~H(z?!@U(^3Fd$pFVT#gP4NSCpqTG1!zols=PfNvs?WUAGfP{DC@!@=_V?w zEYQEe!&FzZ6vNmeF}{M36%&A}6)Oo}--~ma`pKA`-X^Py($#kF?|?o3XoI1N2E9DK zx>RFfsf*QoQrGUeZBJYh$t+w~<c4+8QbPRz>#*j?8P4Ch%S_@wo;#H$g>6ee@lwYiH46gIX%Drquhmmv2 zb0a+~!vloKv$cNFhtYDmV25xWF_jpXos{LV+v|@etdHrCsOZi0wwm^sW$OBJiMN|? zH}}lv&GY7UZMoIN9gyB7T?J*Xl{&b{ya?A{ko7-Fnn_1 z{z+e@gXmN!2^30Y=Tzoiz+O0Qc+fU3>2xCZGeMir8B#;h=)jlMz*YE=;%^TES0tMe zN>|gDeB}3hpLUd9ek;KC4otGcecTA>1J1^KNt4jmE4ek;uI^B`a};b3&u=~n+H>5z zuC(w`u#Wf6V!zS2&3kL~asuCAxa*zC+#62WtShBBF8o zr48e;9^~vz9Khj27f||DO%tPHLY`wn6*lXxzaXj1eV(9>&Bb6iIz^XbtK9~2cTKWRB7&;ap}Pt z6SSN1--87vK6YCN%Xo(O{Lmxq6BmBE9I}93PQa z>uK`iXcYXy4Xe51O!3kUtAmzq(7l)ICRz>;fTDxa8E@Zx(D&W=If~tv*#ex;$p>yH z7MAnyfGr0=VTy}g|G}+^8XF=-4UWpq>~9|7b6>8zoPs@cR^czGV;-Q`f%)Q}M#~a~ z;IO-l2zj`ScJ-*7kEKV~Dg7ASyM8dBM9BDh%1|zs;8~r#JDG5%IKO^3>(Op=vE7(bL;8c~m z=hg(O%YLbN=&Bi#tFsszV&{&J3R?jAr~<}+(Vas)@k#IX;d&t)C$nc^-P^j z2*=kgtoKsymakz{b~zWt4|x)9ux`wF5(asL@K-gYJ6`6ur`c)Q#Z8R#;_s721@nyF zDpD?&6_f80J9TAXuy5w1OIOzi1&J)to-awn#N>!21AVXi^M&0`XJ6?1N*s{#2}Wu9 z;Dxl^{4nB~O%^Zk3rDO%@aL9Gl&TVru{-c6)=jq?3YLloR${g5p2X;%H&xPRZVDCc z8^5qG;}E{L24k9X=jB-@&dTCSbL_rZRdiEGxE%99<)py{qdK|An zXb(!8hnq+a(B@h4&fw81T}OOxO&iGAX7rxQocQ`!}4CXW_hJ|&vxFGRoq3s-OMYx*6N_8Gkker zH?o~8sm%n>n)n0%%Rg(p88pcv-ex3od|yR;$@AOVdr$n1koJ0srj#ADmSa^%hsg3C}B^ibtEv-c_HbS@#j&h1BjvWY#?=7*Jg)JA3A z5QuL>@14mZyZksmqKdj+ymjn{d;9okQhc&fU%i-GAMuCethP|zO!Qb(wp+J+!=Zqq zwDO3-Ip^ozjtR}tLpLfL0G?25zOwYQG*}bVREWoW~S z*P5_BMnyi)n{2ywr_G!lbsMfc`Mp)7P3XEhxqJECmPZ+GWLWGGBl)e-xVh{^ZYjY# zPAAyroWL#l)%+I!t++1_YAW0MRUD9}5d~XR5L6W8Dxj?r!jK@eA|i<`b~}JXL_uVT z5T-CB3JR?d1EQd20#OkaltDru5Kx(iFv(29lmrNbkPsjt!*}d@uj;E;?|pUuxc9zP zoys}u?0rsl_TFp%*4k^hvz>m?aW}9>e`X&oT&)5R+0wEHbN9yD$o(}iyC){ktlz0e zoLK_*`JXOB1;qp5RZu{KU5vg1!l&CrA`IZozjP~zGIVLGe!$6pY@!G0X z&pMPJDvT;j^(s}AuC3fWqp|F%Wax6$9L#eUoI}n_jm`%z#Yxqpo=7?(7#L)X1->-s zvQf}SJ{-y9bdAXKi&@s`ZS)n zII_{3@X~N-e%0Ly_0sR`rwYOk=&>g&XcfHYqXRsc>{zM>@j9yxdD6}kX7V>CT<(cr zQ^cNa&<`vlB9Jo&9s6(*-Nq`lLj*60B?I{Gia(JaWJ@ZbXqVK=ffL`qkb1OgbX z{G!wD-QAws{Mz+x!kVjUSp|BSa3B~C9~^$@Vblrvp0`e_!BIIg@#^lqpSp(b3Y>n5 zEI;M7Z7Si1MXl+S>k&OpsLxQLDSc}9_0PWD;p?zzJEExWDN$al=YZI8E!@33}e;)mc6eSWFyz#w$YdKT8yq z5$?@29NJ=~)XRenu-ni7pKn>2tt53|=CJZ@bA-Lm^)B~#J{G@GTE4F8JPuR5OCWwV zIQPU&@p;Y8xN=V$K1Tj@r=mwfh0%9- z7UZN`lF-%B0QCodbm-v-cKcN|KZp`rvSOz0Umo~jm zx@6zoG~{jJR1i8j(YZQ&K^l{E`mL_z^>rVJHq7_B34gg=caS)KvcO+7>3;CEWagTP zvl2UfrMt0<^N8dMcti+J-Zs_m9<}&d6e_r$ul!yrU;)`uhHN8+scXo);1*u-WTpD< zcHJ2ljab7@x2YRTnb>p#gP3Mk8&zuLp&aFul10Rp80@#4QsbZjcEAMy9`j`itIGfD zB`7@3jLIn-ASZr1#e#E+p2Qi7Fln?Uf}p{yb+Qc-`^cJ%%eP$1z0Y97n7@hjVB-;MjO6qD7T)F#bCXgmaU}rFxU|ahkjW?(v zIDh8u!ltNQ0@i%>5AnzTjN!q~1a6I{&_J~CxGb3m^Kv9}>3`{1zER=VNL`7mo*jC2 zb+Xw)QMgdLV)Xqckuz@ZMml^)lHfW*sC?We3XgGH^Zt!YDxWBG{1#PxeP1f5E7ViAT9fp#AVXXfwu5apjA? zc*d5~kca#O`ySE6qZ= zICSewa&+9oIdN6KdZ2|QP4KM|$ESsA09tz4Or=vEl=4%>o@y9zReOyV5Dg7k=FSTS zmiCLj6Wz3qW1Jp;%uM<&z(j>{2Mbnx0rqFtMeG?h>~q1^d|MMzHtr25Ugj3gIs+_# z#mbIO?OkJ^WS`0Spj6XT>ZpAdSYnii7Z&}&syne)nk#9ldAEH0B5pux6g7vpf68l= zbX5Hg=oqo+S9b7%A9ny?-fYZ4hsKp4y9)}~2tzYwIzJ~aC!!u57t|bK#wIJ=3RV_> zXFMIGGu#oAt9US?>~~3?21?CFHesJ$f%-?vrfv;@H2?xxHh|-ljvhB~Q0)HW!zQ_~ zKx0A2&|M3_VlxvTB+?!Mb_si+^s4h;0L`oGZPQM75(fve1N>92p4%rN5*cMewIa;C)GYnNGrC(Uc7CbY_~>$v(PQLNkUL-I zv@olzZ;Vjf<$~!~;FXGS1%?2KSylj8`>_GY=S`BJPwQR!O_uyGDIP7sSy=ymP8>O7 z=a9ijcTzO_9{?KbP(N`0^t#QRPn>w(7mkxI){ty2I(m+tT}lgT+>LGPPOw=`x(eH| z`btyo-xJ8YgpAme4Qs~e>Iln1?3V;8B-=Ag+z`H(4w@18v{b2FE&g(;;mm!!c7Xg` zcX0FF_$afq5bBo0xBLtj?zED2(C-Edx<{m1WJaKBryWvsIfutc=i$hp*vrrESzfKt zD+R^-FioZokq9Qn@lU^Tsl=gW86>^>H@X1INRX{y_OGEra*3TO2xl5i@e&lAYYj(t*0 zUW?HwY?RS!e$sdCcj_ZFf9MTGGmLJpzK+o z;gg?h4(ZtwzRoK)U(3rjFy!IkyO=&2`V)4T_Xn~N{JhhtA4g~p}q3zYwv zE1mK==sixgX@wgBB^lrSF|uv0earbUaaaAtFLlW97ZgaHjuqy8*Z=T{bmdy8U(}yd zcH(VNLJ?ZL9@a{rj;rHdE zMT*^B+TYeQkuy;-x$0At8^>h1mnyd$i(G?6vqq$*msMv7klwbj(K$}xs2E;GAMKh{ zO^+~sD`^<+SuQc#W=zlCOChA8fZ#^NCkax@SPLJB_5aGCMYYAx3rJsS%DJk{wH5=) zMzEQ>7+U+h7u?-IXr|5Bryv;w~>o|c;qAMZF+j>A(cB3{m(qo z`9(~qm$h|LNIXxEX@l&$`5tY2*|?qn#ss@*kz}h?Gfk>pqo6RETvkjC!=P)|Pms}c(*oYznQ{@w2lg<^9-S`m6{VmSu2qrYWJ$JvjuqkOUd5Bqzdh&8IvNrY}?wwPdJ6*hxC z=dchBAf(N2*RKa1MdjK}49V=NVtrl@R{yyzXE(2Bjz(fzQ+ZQfZx-sSkqMYLGv(TJqAwiEYeK(k!c`^)2}h<;r(xlzaWh`xpY2iTZ}5PY)98RGxz`DsuNL?aDdkj3*t~0U4PX*u`3%{8c4d`yx8Ez3Uuv6;qu)yksZ-%8 z87vDsz;p8q;L1^ae<$9^g>PZ*nJ;X-d<*qtp;{!>-TrKucEg*t*}s<*o13hW!Wwr} z?(de?!z1%n$dd>MOffI{!?9S*AkT(y+&s+cFP{~Y+sX$dD;>#QD$hz;-feU$JBN<*ySB|wPK#|O8JB)bXZ=XKR}Tv zmv&C2zsE-0aOZ(gwh9tl-*tAhY1vecO$Ub$u{K0Tn|>v zmd$~KHpZ3c=1PMVAXUDK+{JBo{&Dj{Pi`CP#9^{+oBowu&e7!yBbO%qO!dK-2=E~NQj$F+ts1GwaG*j*7N@rI8;;hmK<{fc8zfg*Z; zSF_{|Ot_Ik394-DiXW4F+?s89$^wR5ztgjOU{%|wZ{Ju-V}0w>tTL;A@Nx~zR6zf+ zWgo@h%rc3}0I66)>zMW%<-voScME?Ob5m?;iqArzuHnzeS_%BABkxbDPS+D?t5?<_ zx$+2DIl^MTvr)giyYF+Nz~g9yyk^;{nb$hpGg8<%2%v>X-Yua4Cf(WYSWMN(@<$De z_Mot3N8T4W;V$9ch)K?H^-u}CCb~rbB7V{AB0gdbzXP(4-w}M(ejpb(v_3emZ290^ zaaVGa5-+(4`eZok4jk)ya^imK0V+rTKP&f5yR~KXD%#Skq#MYQcE&pcS+7>mEvNw` zr*x3k(*l-@8uTl=TV5wV!VOOvv)|?Ed+Rzcf89Pv08C2!kOKNwn3f^ppuQdAXO=`a zP&9CAIX;|{RSQveY>zYqZE)rtOU-F*jK#5U^C=;XGzoiUd+zXmKNt4%50I?|k%rk( zW3P*Gg%L0rt*JPJcSzrcG)gaVX(jHkLC&1KfH)j+YdWfNBJL*wEfINu)iQNF<HV&)q=oK@soIr%uUm^d${I?x#Z9P5YTwt+5KAX%t6$`6y-M?}jV*pHHPZu` z&f;9#{_arh09DDCKS>7rBRxZd6`t(b44*NGbM%fusp(s=Pw~lN<`pPKF|?S5Gtjr0 zq66!V#jyz1H8%op$UJxM$tKP~wwf&Z&Rz$@*Uaq%OWCs+-IdAfZSQSc*UGOCU$`)v&1L13g~djmPyH!;5+PmR#XOJ6!s zbSz50%sO3=JfNtmrcHJwhCqY%)cU%YBM4!!L!aP;XXxe3HBu3Z92&9_rPG4qGr0SL z6}{-DT5yZYA!fen1u$_CJTpDsA=5Nb$#OacLUqPEj(sj}XZ~4Rs<{=K4^=?=Ilv= zc-yKbcwq3zc79cuiMS|{XG^fYt3?c3+!iMMcdtCVzi+;#kz#0J1R>ZU z1$`s9wsl#F!CkaZWeuIzx?k=j$f_0o?q%fIVA}~XZUQwKS-{%_`o3!bv8joJPN$%d z3J=xa9GCI2Dl}TlXlENIc2BDqY@?0#Drd(fgejxNJ=MtuP}TQpT3d&{jl^iig}f_7 zLDhl$JQXOUXS?D^_5DLq*Bf6mwp6X5Bb9MT}BKukxr5(eqkj|B?nTY~+KOSAjz zf3^xQ5RZ1&uZLTHLwMeroE(37HNlirRkEK{Y(81%BCm5L>~A$HX>Dk2dRBkQl(Qfc zz&&{-eL(NJhM#NmP#vT4u8}=dpSSW3Wlp~$Qk4P0%vw9ub;XkdAy418MjFOVr12r5 zwWQYo_I}FrnQd8IAG{`JofYcd62MHo;o?C}qleJ_@!EqmfT<3dpFf&zX}(2PRy|>R zVyw9y=RjWBjvcuE+xV{x{94{-sxpR^PvN!Kmrqd9-+%=plFtJ#6k14w4CkNoSLk>m z)X|375E5*2WU&858=?+WBBq?h9+tT~@vHzK9N?mTdXZ@r)vZ|9w3yjiE4)`S=?S+| zcvgFkn7vs}7et8N*;Zq|An5D_L&9G0P(5{p6%i;ABDM@E%U3n+GwpAM+e%fxNC=ej zl?`>IdUPkH4LU7Y*&sg%=Rug*shMB;0yY`DF|KtQ{$zAB!7I@#m9G@ZIdASe5H#!c zQu$R5oLqcz@2LLhgXY*ARPjE_0@n|Rn>+RSF|xTg6jWvW{dAQ%qIr1v(fI??(pdAz zaocnG6N949L;tEmQu=DeJ(OoI-gs2<%Jv16)CG}Ufd zcU0gW*nE6YLF_7n7n-XFEumoJklIp%e?cKz9ct|hyj*Kao^IJ{ipa?-CJ2iwCF@x5 zGUj2&;ravEr7k?j(J`0gwzx)0HM+GP?0;nMZOjX23U`_7LqzSc zhPLMX03xWWF=AJ>)ZZ|Usw7avzwn6b+u-8K3JF_I{AkTP`lAke?mTTNV`u&>djfI$$N zY1G&eUY+UES~!rMZh3+{@_W|hzcw6Ppg~@4q0Kk` z6P1t5b5OyA%sO|wd32)K0BP{DachN0`zJ(7SmpT#jH?4<<#^46WHYITdDEy=?e(lD zRTnRG`)1eePnnocBL;bO0w(|fsfY9SkrrJ5J{2bq`#*_nnsQ3o6*$#mJjjICbxnqN z7r(|^JC`QcUtfvh=xHKgMU?8=!(X=P?QrI$Qc|s3_#=sXEL*|rKz>c%r&oM^H1NBd(P~yQb6!_!Rf^>gbYaiFhzkJY;A!@vD`M|RKzNPXTOtTT4f=o`= zv@ypFn4cuiq%#aU>Auv90J;a1uhrsI zQM+TVxR*yawXOBt%Zzi098?&$?cUKFKA;06J2US0I;eM6L<7dEUk8mc^2Mag%-Ry? zKiug$|7|3A)H_O@8~oJ#W*JOw$PUY#s1U8Y z5tC-PcN;@sM`uJ^wrgobw;U$I+ua{ z@p}p58Vx(W?FWn-xj$$CN>MfIPj6_uE=|moBz6EnO2I&TV26J>}x4V zW65=dbW9Y)PIclw)qVV z@dDn~xZeeJd z>zy@FMO#sCqy@^+%bNav;*=J4N&70-NLb3>?nsZ(5avU00VKNC%cn09N>npSALO7(~M+$u0o( zO+t%m^y^hc(znExAfks#vAh}ld=SuatjrsS{z?r2-aPI+aXolEHc5uKgz2TMG(9~4 tRHTJ+TpNQ13S#|fn#=!-B+BHdR)6Ci0U6y&^;!jdTu#7#D{#CT|6jM2;#B|u literal 0 HcmV?d00001 diff --git a/docs/_static/getting_started/quickstart/generator_widget_light.png b/docs/_static/getting_started/quickstart/generator_widget_light.png new file mode 100644 index 0000000000000000000000000000000000000000..2153d44cee16b16189ecf10ec41c43ef55749f1c GIT binary patch literal 91144 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

5QY1FAD5WnyPy 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 literal 0 HcmV?d00001 diff --git a/docs/_static/getting_started/quickstart/generator_widget_set_dark.png b/docs/_static/getting_started/quickstart/generator_widget_set_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1352508353dd389a251e3419800186af92591e12 GIT binary patch literal 64841 zcmc$_c{tQ>_%E)gNU{|oWEm#e3q`0AGS;#0gzSv6?v-&f68neEi`?;U{zF*5bLQ6xL<~-|pGBPq6m4^?s z$;eK_!Jj7OS@6t@^+N$NvS(x}5AN&wn6IXtdk0Y@RCQfFK1&g&sn){H!22oT-7v~s zN&M_3I?SCHl)2%jAmOhWEf>p zqkDKwyZgBOBw{>RhvRy8r1mF*c;Cxx3omr$5j1vWeeq9vlk4(rZQYNDi4|t)#pz?g zxFB?<_+)kV+Cc!Z_t<1N>r%pU6T}6(gtOb3uH($fRofMEsF$;lFFzS2LKPp^Ayp;_ z`v-U4AM8F(f$ukF2USUAXjhXXcfUNa_^>cxN2O|vT{>*YHUH$IWH?kOH@&1tkaoG* zh8iX8%ZYr(I;7GkRuuK``XU-NCZbBRJp-HiBUe1fZ9^f2xUE2Q-Qr+?DLoMPqbFv@T$uGp4(>4B)Q)D(D44A|QG;;mGHZU~3=P(!_ovRe= zzL635JE)?t%gG3B06QEY+MC2;%b>-fI~j+ARUE~S5$05D3cFb@vgSRR4GiP2)|Dsx z8WI(KAr-Wfu~h^gp-4R3p0keA1-EI;w2&|$=OO?9=Zlw*3t&Tc`*yE)rO*t9F2DDQ4sU#BlJ9)mAC zsfpn~3|_49@+>s3U|)EA@+6INI@lvBL78yGude*>y5g@vF`6ug$A!K^zV;%4@H(LWj;QTT8Pg%(dgM< z^)T7WEDIkxa!Ic%O!E=_zzkt%1io}>dXrgRh6Y*G9t!`MV3#hBtK`{I302l%X1K3I>3e0TNQlEjEZ zcVu^^5abX!IclBRl-ZDLI-y;5GU_7B2a44H;ia6^61eu zrM82A8-)EGz1bUvd6_M8_umM8VE*A1I+zz$V*1oGrX_@wZ!5d=#QSWij zn%&7*@Q#IW`emi^liVhx@`;jZp684}{s@VRO$> z8zLpL;XdZqs)Pk05)LSc4s;zo%r`h z~nGE$>3YvQ>4!AO(q+wc|pW<*+U(6CoTZp;qb_lOlKm;Z(*s}}b) z+c%tybb?fFEAHKCcb_1J~m!=**9IJW_ z5lQhlHgK6a6OU!)y{wujwXW^arp|qxLHRgSarUc)8?h{<$*_biOcT_zBWBg)wXNkI z_`Y$GVW8%S`E?6Y9vDPwX!ewy*x@T;L96dS=GQzy zuq7@XhRY>Dr~B)VbPs}ZbYU1AROk@zUnlkSeT8xAD z#U8xISNvDJQN9g37zE0-M^Mxb@h5X*xUXkZElyF@zF;8HC{==H!eGow~{Z9s?Q`AzAjPxK(F>dHy_Ju>QLc%vFyEOr7I8G` z8DFqFDO|HXDI|bya>}tb`J0sB^cy9 z!FkN8%h4?4ba7%A8Ybrc7ry-lyPYTDF8q)qjg$CpWl3uX9 zEB0)y!9&b!)xPa(vi2*o?)Ry7xKeBfdXh52<~BC%u-FMl}13 zuAr~My9fwpxh{jMrSTW)>?VG_M{zysldg!FD(}ku>ao?e%J@>=C#|A`%U{&~ZUesc zUH{MKA6Aip=Y>Q?w_NV{D-^Nypmv=T1XX!Ol5AD(=G}9&Q^5;M>G(}8eB{P7FE;mq z=z5-6ud3jMkis|eyp~hy=TGhdfRdW`$(RQV(&gQB z;Qzp#he^p^mlURO5)QEWu4m9l5u9V*Kw60kpS(Sp`7Dg_LhtsiF;=xWHeq9Hs*%ql zHi(r-O93MkcO;4#E`SP9LkY1ua69C@ZJ37`&(sdALmnTg zcgBfFtg2I)Hm<&S?J-CRVKB5HT%Z>$7Dn35!2#&cebTUK*LTiysb%prGP z`(lrIrma=&@D}Bn_i3J1KW<(KZVpuxmO`qRCGnnhQGL(3n^@hjU^S{gK)v`#=%pvt z>}@4844M_gVPMrz{g$^|?r>G7am@vppJ-?mkyz$x zc;I>gCi5{^r}MyR`_mPzZ#2l<+ZFY5G&)cYOcFl9KiYjJEL;yp>@iGaAuw~L)T7!e-(y7&5Q?vWG*iCYgIyz=h8qjX3FhKj2dR; z2&$kWXpG6!pGmSL?fXBqKT|Hql}HDdGslFYgqc6+Ln`@vZLd36JF1_qglb=E zaN&;NoUgZvSC_0Ua!`48*}$|^(F6UVh@<##@Y<*$0sG*WOe!b6CiK``YaUfDz4zCb z*=X3J+$>r7oImP&b$7J7sgm_bCf}g@3wJrF8Y3Y62@Qo+Qa*x-`aC}k0mFZbvEW~r$B7;8+WJbo3Q6j3~o0x6Glx8NC(Z0 z?Ok~S*QmbXqcG{_$r|wX@&lG{Y2pW?xDJ*pe^d_4Hf1ocbmFftbsH@S)*HIyYx` z+1rwJXHD4{?RMHCqOXK>Nz5Lx@LMa8X;}tij*Rq^E-5ds*9f)i{{wI_M_Ub_^5uELh_kh_85`HYPv3_be&WXMf>s@s>0_ ze7olulz5|!EphTgO49l`5v_8k$#2$wSDvY0V?JCnMINOgzWENFn>#D0ZdkioHy|}v zzLlZjK|>~{A{X+}G`Nc18U1L%D!tideE#lOwUaIOT->Ln6kg23f6tlHy&Fl?-WQ@6T|bq3*Xx|9I1t$n+c8y zXO^Saa`qM%p0IE#tbB=kFyojNQ@gS^QU1iF_mbt~tl*Bv9yAvUv=%k8FD`vvvU3@F ze`XR#P(fw)zR~i#>LQv=KX9H!zeIp5u|W@W&eMN4l?q~}iSdYv;6WO#sECf;H}~|- zu;I5nz89^DzyA|@@2uUapU?-wEze*4l=4BmxA$XJ@dj~S5gTpeY2u7JvIX@VP)b+V_0921nl*en8DRk%jmz0xbRPT9HO*8 z6N)lUaHfY>ytELwX3Tf*MQx)VMjH#uQvv<%qhR2idKjuOwc`WJ2jh4q*7=auS9{Id zR?A_yd4fNOpZasB%!;?X^plj3o#Y>DETN|ut1XD{so1M8J*NDGdN?yxbElhJX)LNCU2O?_h2j(^VT!Zya22X<6zd?!(y(Wj!nvZPs7P~Ge9g5kSxv&;ey znwE|n&eT>p7^X;qdq5EG7l`6@IIAw2OT%$>UR}ZXRNpg0n8NQmI3Ie|PQ917NM5%e zWr}=X6fbFczV`vj2ptf>z)d9>KGD4PQUcSwEP2wRmQ(Zl8ZEwMlsaeI|9;ozlsRgf zn%ZXc$n~Dhwl$Hj-@an`QLj0Rz@pdikx|HI?@FZxD(_+n**{xuf3{p;|AVX9Gwruj zf9_9CrCf^0c^@CadpNSkd(xR|A%kgNvsFEvJFyo1LQrxbL+dn0K}``I`wks7 z7wI5@VIkS^cEJpqO&SMyPw}G%C@CQuLBrM4@F#Fbgkzb2 zXWCH+-1rpLIBYN>m*Aw|MO_f%MRTx{Ql|q|I}N65c?TNs7y#Ob31 z-Rv|upF>)@%1aQuWDx(uzFD*`bgVzwQV+%p&Z|Bo8i8Mz(#A4DPzFYETKFO`@4NQ@3_?eY=tDVo&ss4l`(JdyNdHG0ojy{ zqZ!ErX&Dp$`Nm~1aFQ*YefREUnZbXq&lGvVb-d*!EP_Dqn9(8PyQM?^cURP01}N-b za791U;{Gr(6_AR2sPlt%{vcgkEW@U*qkig^5~dd?|Ry8m;VsG=>IAdGN(suLZ)MZZWvICy&} z6yyhWc1#!wBGb}=s)qVvQ!Si_ru=jwQ9_b;rdxV*J6hZ^`WFv9Leq zzeSUgT~uv9sB+Sco=o_*OW zo(~O{CoCDEW%b7a0q+zV{-~bMWM~r15k1H(-D-NdFg z?SHh&%fDoVzQCxW&IHj&jIT-;8PuzFp@E!DXUe%~XcMRS*`WF0`*(n1^tMv44IjS^ z`>C85+Gm8lw9tEO(sTI5$>MO_G3L%o*%HuAleV5ioA6MBshFp8IEQqxBi!dLvt2~^w}+42_84C~!SG1UM=k~{y7?=Gb@3Y7*-RZy5Y99`H zFjSsSTzzzZdzQKR_9eI|D-rbiDCN@`HcUBE7w?u!dvD+5i_t2Rj%Sy~kS)O~wf^z%Tgag&5Jn0hIKp1kF^Aq!giPx_n5j$gx^^tMA<~bKFrGIj~+nmpNve)&!omSqIxZ8YE7$bkY_e+`*%I7O9X|UVb^Oy66dkRryM{p}P1pMawrV_PdQgBxzZtHUv>aoYGyIWI`FOFbe6{6G2mgKa65f zx(te%d#aXrBtyQtlo2S74iDq7((L@fZ@laCaNywQX$?*LT5C~Xs4zzBU;TX_x>kub zCs4$+ls0GvuIPNXIL5y;VMOQq`5OfT+QDVN!g}pLz^Mdzf2 zW4%7rwJz@fgwUM$i#9k{7$7Xi+J(gYi??T6pIW_V2p?&<-AxcbMJ-S2ls zWu#Wu0EK=iAc5*3)8#YIsjJjJe<0YNxePD)u5a?)7oAXaozS$MBck`#+|Pj!pMI2G zwIc+s=lk*DhQ(y?39)kEV81`uoc&1$z2_tey*BLtfa*&4ofSLER8Zb8S1-MioAtSi zGq_=@dG_^Z??zH=CJ<4mCcEem_rnz$P^WGLZuox(+m6tjGK4jq5H}2D)+%(^kz4)2$K}$S9gO)22IjTW z%h~ZO7*6_U6VWPZp@hXh zy?XS`IQN2>NBXU8GiJ9y@NrJNsiUcvxidN{d0fgcd|#a4jetta@rr&Au%+i6>|AW{ zk@ea|0OwuusfBAk_#G^N$_K$NjPd854BVacH0uyp{v=OysO%B0*L}qqXu3gwj5aZ;iCOAvs;ot~qU&@*fLkUS6J#7pz zidP%X9bGmS^;Ja$e#WT_!K=ipnc?b1)m2P6+M>H87+8-@;#D#9E4gUoiy^$c>ZUaAETG5h+%b^1BZ)kxCj%RQr*PXA)h?zaN|qj7YoIgEmfij7 zZU}9hW8YvYYL}43f8}`lt$}l}zgR6=609bze z(0`+Gw?u3FNf-MooO@p>)7Y^Bt*ovI?bwuUs*7VjJ(2t8@2*hCVz;y|W2j>5PZ9sI z9&IpQi|5#fBftpO=C^kx9-1@}3TpSQ4-*}z<*V8TOc3PrvX_~Aye1qU=KY2(T^Zr! zS9|+R45r4(I=JF?eptu)ab|=bM!QhZxN`lJ+wqf$Z!$&;(*2}{@F5w5@8BX?t^-~m ziwjNJ%XcsJo{Nxy^DG~kX^(BfSAuOt{YL@x-nVeQ*~9y9tO#5LZuEt3)T+#*{E6WM z?yF~uGS25nHT9%7Sat)QUw(S*;^P+3qn3TP8-N0weLkMK{K7paKm&uc!zIcX(y|vo0kZT zD$Wz^)9AFw(lct>-TX5H-u{g=MgF|H=)Z^~OZ5fV>TDQQR#YvRL{+c|Jcl^)g5%TX zFic0BfvEuc_lSA@Txf4*w)~^#M!j87p<4qvIHBhl6czm=8!9pDQC`ba@Y(Q(6~W+; z(_))JWpu>$Ey!6x$FhR&$LwjfBSY5Tvyric*GLUT48@ecClnZ88q-X=_Wo?~M0mRBl^f$` zI%ftSi)oafC$8)ct`Q{nuG61hmar&IXCFK=|2@yI_BAVNO`~57Osd?BhG@~E5A32< zA0Shr1FL?KL2VRpCP-FRc6T?cc=~%PNF`JemUk)31_$jc(@GJrG;3qGlYiYq!Zq{K zIcYc-0kQtOTO-f28FTZycH#A$Um##!%zg+**$B`99K=CJ6OtJIymsOXH180UMs{il z${1a6U#>8VFA`Ndb=%jo(Klmc>v_D2IP0ISYc+K#U(@LTcDZ79zK8sW3DQ0Ss)Px` z^-cNVItd>u)cM{NoMKd24BBFXh@iI%r8fN9)jDTbY^F_-{~#XW(~+oPT%RDQ!cwpZ zi_;ONNONfN!`Fgv^Q)eMXt2C!#O#A3JlPUT}(AMAYlJdBDb zvKpEp)UgGm>`$c*dh7O=RWJ@&HHV^s5}i`BOIv~r(EmTR>H_XaSO(LeV$CAzm@8~ z;nO8ULV?#Q`hyn97Edoyr15`bCDH!(a3)B>+YW%60|9@8I4yz>h+^1t;~u`lp^doZ z@EAzqxab(33>##lQ53@qF)Z5)wTxR7!E^RB*@g~ zY%#c8l8G7eV3h5}FiXxdxsEP$Q~sq(^<>ooEpIZ$=Di^Q){lex=IJ({+kc8C6v9Ka zU^fM&v$@ou`)BwAqd-c7aE}mdjg`M>cLCrz`oX{&%v8d(GtBR{k&QVxm*iym`8qHo zRvd-!-c0U|U$EgYk^hQ|SMy9_OXBgEN)n(D16##rp7%8~`-b}=3xrX1Dh0r3KD4w3 zB$5Gbie$|i0ox=7Z>QGKP|T?4U{I|%dg9SuKTTX;dBJ&PNl5Mw_;?(Et)Kd?{mG!H zZsqgJaQd-_>hWr}Mf}3@r*w1nfIqE5`_?MWooBOrIioHU8|0KZd~FDzNH)~Xqf|c+ zYseIm@Y2g3;ikRW6~^?v2R&jc;vAMS1HRUuwdmkXS+`ss>g3}3LK%!Z1mPb61&Gn~^>dP!SM)Yvyt4|(yl4fLD*=;St;RJ}dc?YX@@)O!fuc2ZLzV#eufgC=%m|vUKIl0tI3y^AZUDY1krYt4|1E1S+4J27@~;(EoS(lg=yO zkwIIjF`Q)ppc#B7J^mYZz8;JqdVKO6V?vNA=Xzk%;f>;kr?)pc7&Qw{giFNBrjZ#V zYtv?oL}w@cdz7;K^YN9H+CAUEI9FF-(RSp5^fytRTAc^r|MBf_rQBiKHFxh_SHjd! ziH`p^K>~U~BvH^4*ut)NKR^u@;`&aY!nQZh$}Cu;Z52UAr;}819{few?SU15K=Z#z z;|j*xS`?UYZHmlhx+k;;Wj(_A>&+*}0IwbBxdh%`EoonwOM-Iv&c{ioACSi8G&?2; z$H-Oxe%W1JTKOY466U>FUuJmt!rIO0Cz!Me9or9K}o8!Q0v3Y|yQrogwEq z46*(o4P|~V0$66>n}L-+a6TLRoT8Jyx7qBf{Ng6Y@$D0tG4j$lfaJb z(zwNnT{O)=a|Uh?e)n$LN;{A~28o-$ag#CJ)UJqX;it(_G>3bySi6gR;J&NR%Rm4* ziehAUen?NhS0@2LA|{wZwf{aoubr@1H+<2hVM%r)FLrLM<>oAavYc|oLDO6G*U`q$ zYh^&&jAVFum9uxPGKyK17YTJ#bLMht-F>Ec`&Z~eYu}4k2RouOzwQNcINpt-yNeE9 zcTdmfymU7^*(SG3A?6kJ^YEY&t9KqlDunjuuR34JAN@*nUr!8DOB~=ur*wLCU;i{h z>uMG3vxk57xBxI!SmW{K#GvTHWjV4AVcH-*MhY@(g{xYf62A=jxSQ(9FW&yp#G%&W zb(fKqkuqMP+GV-cOQE@l7KUeT-cuw_ZU&~5+`Jv!WPNPDcbwPnb6w#o_rs)$YyMRzbT?w@~J#89NZsa@~yc@uO5D*qa9%S;W67M zc&j|NI0{PmI(sPp?zz)prB6hj6yN>RLM{zlKQ8;s=TOmVbAdb1D`4id)Gw~rMcpF156OOXhv;pY9nEh)X_({(H}L_%?m*R z`u>v5)zGD4P$~XBD3&b>uOrf4QPTQz;CJK~P-E}qgE;Ec{I1&VuYevMaiU`8^DC_V zv07(Ev`@(^dRqD$pV(9H*@XqEC#u8p9Gs)l&(#&j5-jghLG0^jleYJZ_P>Q-UT!|& zbW^9RWGW_CqYJ{@a+m(7be%}KeBc>Kr}XY-JY=c+4!3AP)R0j1PjOSuw^s>tkf>CZ zvFa{D%jXtJ#+oVW18-%vpEsK>#_w>wx;g|!XI2%+J$Jdqx1e#4m&ENzq`l_7N0AnM zyx)HKGd(KI>As9Jk5-8wS5QqX{q>Or>BA+erItq5QLf{7+g)C4SQVYkj&mlhZ2FM< zfXU0-v@uI{CU-Jfo^*RPZ|qa*FOT|Ki?{!bJ$sLuf(gQzb?f9Bm@v=|ek8EH5)}DB z+oW}#7U;M_a9ceABQ!TQH5S2oadFCbDJ}oXOkK>(S2FFA__WVs;dUcBG_h`@fO9rrPGt=A$z}-<&7i#@uf$e zJo*QxcCk7Nusj_D#@&m%am<2IR5%vj@XPgYFRiS2b}~G;vMa-lnU43eFn4P`^Q$~> z(tUtBhc@uH0-=eMx(K$y({dQtuPj*o^Qq8Qr_DKqAs2@e>0Uu(_&nk8;O+rNTnsgku>3zkVL-%l_6 zqA*j|8s*%T7|Jkl_rlT1S)rX5=k&KlQ=l-al+I2GTWxV~np49goSGnHfi3%qo#uW6 z@tOq}6D0+qiPNekjYF|Gg#z}r@QCrHo06vYou#NCe0J`dY=$^NC3Swcfo7QkO-fCR zS8_G|y?zlUUEK}0u~m1~_BxJ!)H?3l&rG@?dbJr1U#vOG0d7o z=hsbfXV@gIJ6wV%20We)XNL170(8OI>mmlvIm0iO^~<{eurzVz1(1rrNuWvP*99J)a&z+||H!CWdJbdo( zZf@qQL7z)-%JZErqJvtawdt6_j zjXqyz%ssByL&{yI!*K1G@3_@4hSt@J_R5*}*|O^j9d>`?Iv;i^RKR6W&gIF4w%1-I zqYMq|lce6HqX#{;dzWN%dcXt;#PtQWbpWy-2c+hRoUfTSdC;VWhuT0_Cp}3M2f&o) zyx-i%QEG{?ob`a`D;nn3f^HuK>ATZ zj+MW)PpEzO{`o|i_$DJN)reE+NCXMW+$_(L=jjgG$LiMP9B(L+@NWDUBVYaYVSul# zlXt#iDcKYo95*q$`&(!V_9!a+f{B-<{`g8*kQpbRHs8&9$tbEp=k)@H`_SG6ggT4i9QaQ>{WN~ z%`e_89l_wqC^g^H+zXu2zUh5+nlbatVEd17nw$Bt=61(A3hd>V@M%8?IqKA>W8bT< zy?;@m$ktI&+V6{3`yjU~yBjI=Xkf!%&Psq9@{eikH=b;ZHj^m_%+fe$WjXZn7X-TD z9_S#Q{L9inT?0sl#a6^n zbtN2Jp*fH+@`BxxO}yat#C`$II^76iTJsqRRLv{vt`Vc}V_b`CdTMW9+@3K2N4-j?%mi zh?27BFb3X2OS+%sjYXvdn~(6I2nh)PHN*L#3RGA_$ zH43cbk5Qady67BvKZ_^%j+@4it@0%})i;~^*I^IWl! zFMQ(pB2A>CUX@1M;Sbd0D9!DN+*5p8>ubC(YeTT}o&dpx;|eQcP-oqm@`$ikk{}%ApC*YY|?2=pz&4 z1)!Iv4#6<#lGp4BrSn=w_229&OnDeIpX8$`I=b5qot1YIY z2`_4Bil|737Yzi<$f3LBg+;)*kf#S=#X~caV&q#2G%m#(?(TTGqzOUzm0qEl$j-J< z8CPIrWqo=3Bj5!FJLKI_r6G3m?k&18s`%R(^V6j7ssL)L7~B?tM>YaF7R)b95N%}` z#sH9(Q$VVGH{T&mwb)6p#X;4_7Eb+@!5wn$Llv2F?0w0o7xgo2q&ul0!_uS~N&p4Q zUF}qWs8moJc=hbte<_jI9?O1P$VLeww8#kEpfx)TZfg)cAMah8XNczp;gc{zdpvgK z>`i0(*D63oqEIp|U7KUH9a>c?p;x9*HXdkQ-my=4BA3B+Wy3Jdgw79(oY13Cm4Ain zYb8)2$!vBwQw|_>00R8VUOV-W#74Y^AT!HifS}^mxSuW>p}#1JH8K9jk8wpQbO=R$ zvr$V>e+{Sxv@>C#&DvT4BLrY_p`Ol0;vv~gfaW0gY+N=$?qt;*jG7c>p+PixRUTR* zfK{PE2ZXGL+)%U{5DA4UjtKm0u62fP8Hw^?ye>owl=Nss_rHOo0{Z;H8-2jKr6!)! ziqsy)lbIRCSCmQ2%*BIF2jrcwp$77PLE0HJfOfGL1Kor*|=ct+?$ zJg{y=`F#UZ0^qNXKLEP!Jmipy5mfc!ta)qnQ0CtY#E6EmK-#=UGUvk>HU|f#;R5K9 z&)K8dRovIh1dLul02)z>NT|(X$@$l166#@z0HhQU?ix&O#Xy?{X%)$UiOdmIeBB+2 zVpbiEE6VCn@hrc4uk#;njvS}Bh;22bY_bFFGLg$3Uc}8Lq<4-`=@_R z97!#ip(ILU>Uxw2Bm>YvasM0JL~=YtkUapj8~A$4oHOU1wqpLq@BA%FP@rvL4&Ord z3Z=}HRVI;U5xjus#p~y2M*;Z+05c3hiC4yn_h0KmHXkTWFYO<%|E`|uB^5v5%^8*! zNR-yFRWCc+$Qt=qoTFa+c7`8_b|~KE@M}uIO3;4eGGHgcY?5UIZY+v#Ao*Oo@@x># zQ8;yLbP9bd5%MH;gCNY;BXIBV}37@huS zmfr^(yKo9@>=fbUpwcu+FY+z5$>SNES4Z%nqFl|8$NXxdsbW8(5Py9(*5+tg zzW;i~Y0m!iE7xDelw`>jB6Okvb}2h(IVYzTxFj>3*K|0!q0emQfv6m_O|2YJ1;^?@ zdB#tH%iRu z`3d^Qc{v5l!l0|I05`rX<`rptt9&?kG=?F$V&jf?s+;v<<&S*`%_qd-10aLyQ1chc zFs;_%iU_rF$0Q{}Q*Pg;kqD#;-=9*NX1(vDT;1M1qZo%bLNTKa&@1bDPkI_mGBZV3 z$K3fi9wOJv5COL?cG+|pb}T|x0jZ__zp7>j(p7k zTp}!017a{y>}@E6Z`2kr3>XBiYRIhV20wkTZx<`OlY9KQZ5U2A^5Omr9D3o3OZ0u;#l z=$Asr(_l9dBlG2{Ux)lBB=(j7$iAF|vHl?aG!nJdC1EC2Br-h>oFQg^y(M3+69+_K zs8al-mO*nrxYwoVTY7>&u;kbXI?%y=at0V!vw-^uOb}F%b`Q-gt+M$Whe{1v;-%Th zM$pP45duQDBd*Xi&*f4>#%+fV_qycGHLc#7KE+Vxw*VzTpPKB(Qt*8E79$_1Bc@0Jw3?tI6GRo5hZIq>h48;mhG#>S z9D2==hR^8ui^FwuS=vxmqbPii3jbqbB-+bXE~vE07m!SjtlH5!ZQ}dzV8$*K^e96O$D0Vg2BSyZ%NRXmO?4 zeI%#@{6~PoDaso8mZ^J58G%0y1RvJ)Y#acMp!AJN!-vlrhYjVLp!cRF_36@I4U|TN zN5q8Yv|URB_OYmdJtOBrS5lNvE z?b;qR6&A5nIqATFRq3Xf6gbP6&f?{?!g5Es0BXuVeK9a4jJBF_nPk=rmo`1u!H66e z(_oWX+5--P=x1AgpeGqsw|hU7?YO9aMex=;k%%p)I`7Pl6Yu6jvo&!i?~Q9{x3RG& zBTI+b99GmghKQ|f)8>AoMsLu$I#FjyY(;~jLrjQWD5@~$65tUf)Z_K?T*TwRpaUQk zlVDEk&$^lHYN(L3DBHB(T<}^rW8}$9@ca>SDwIK(-kdl(cP&L%4O*%$Be&j>#Rzc~ zGIa^Rz(^iW4jiv%R&J*6t3^Vh4h+pRx3tHpAkpe#Sh{`SzOi^^?WYFix>g{}DCR0G zcvT(yA>u1xF{1M;VS8OPl-2NB&dy)SH&zvk5GN_=v%H&(ei=4m@GaUXQ@5v89neRFJ(4hAujkLz85QFPuLmBRO zb@Yl-#rHlR^q~3CRma$83WVHpKgFU5e50b#=}A|DjfOq zM_JL5pLdgIe9ck~jw^*3UHM1PhOsdHyqCfma^qFdt!c~C-`!_~1PZY+d>IrqeXBxJ zmh3!5)SIv-V1`(6UxPD!7?Kz$-6k)3q++S)re6At3s2W)JVmk8OfvM{Uq)CqiOH<9 zcbc+R2c;{C{FB8)*8s)%f5y}05=p5^+2=R|N`i>&)D-I?rdJ!pay44sri?K4}C6G^^<@nI+=d`#F-}XeKv!(!kF)fou+J^xW?9IcW?Em(0m69Z~CR@cYMA@=$$u?sh z`<69HWlz}^TE<#qNS0(6WsQg^l&wgXQB>9_8nR_c*5B*WeSf~+o40E$?iyq7BtG%rJPBcQa_#y z{ir>f+6s`5Ue+H(gTWB}36Qv;?w!IXwDGh2z>j}E`0^&}y>@)8mJ_A*yn#tCH!pxg zJ-BF#v9l1rc8?kU`E82?Y>ZwIWW6vw;DFV@{Ds`Zatj_^pbG|-m0TJ66U(++f^j&? zPT~DnhJ9awS%f?o+c{>WbBdy*@0ha%?(b+z%1w^p|5?7z@C5ej3VI0zTH7|22}!Mc3kaZ4?q*n zEhajomNb&SAlE?k;F?j2qpV8_*I&>R!*$1LKq&`FQHNjC`2~xQHnFsDM;}bY3$SBz z>)S|XfD8aBC!)$D@ao?ZA{Y-cL;ru41I0L2;ZOVwV3#J`cpG9{ zK7d|Y#Q=WD9E+?%dXqET%if#lnQwu$ZBlQ|fYp1^;eq()9FHll!c_x+O*j?#S{k8_d1A%}LL8C7e0Y0pi#K$mor#piXPV5{!y}n6>!-vSXjFz!Fm;!jNeo-Le}iF7?Z@NdI5qELo+@lhSl<61NQ;YNzGwk zqXSYJODF=i&I5BKDm=)DanGkrS3i1oK)hM6?&?(=(3j-P)ldzx_k^|?HdluqnDl$I z@wx)}w{v5aF?4w|iW(wsA!7x-si1Mi)fyn(G zhN*!f09|oQ#=YDtv_&IeDT2=1B70vTR3d21BY6OA6|s9MQIsekMeiL0;Y#hB2}D4% zNV!{EJ{H&!Y@eaS<^M>@!&^$wq3;|iBPI`zXbC<{+W)GKzXxM-+t1&VEnkeVFFt$z zshs@!Gh-Jr=-8P(S2XJ3~`-CIWA5$-|b^-+b6yj^r^5p_(1YOg!w z98T*bn3g*rajT_JqW!u_B7)HZjD<$HY=akaw_|?k2tLk-z_94bdrvEmtu5|}G=j{# z++OPGi-Kw717KVaHTmY`%i7!GazsWxouo>^M?eMZU!ijy@u zmNQCg%M*03Gp$uNa`!PoE-|ok7+kDr zkN&{Q-}mTjfxpE$5ie3&SckoHp3`KPSH;KL>fftO7IK@z;|={k*XioPhP>>zCY;gJ1^GQ;Dec77tTl2}nCm~P2Jy8GbpH2O6m&vvu zXrxR!UszQ-dr$}wfLSJZv547t7S_Hu`7lIRw>e}O?6UY#R;i<$r|5;Yf47HPLG1~2 z%3%2Pb?GLG2h)51`v(f2+nj16EHT)lOCK|xY+@jT7eJk==Me^!-Ls7~e}~EQd>!{A z_bEO?)!8lwCww*{%(c_90^%-W!}l_x${c+!eomvM+|c&U*Tm=?p)AN9{B3cW5;lBS zUm2Y1<(B&Z7}5Y?#u^a43r;!bYPupG_|n=uWVR)H=$n~Y1q@dF#x`)|2&<~T5vHpO zYu5iL>#l`DmydMr;C|0>> zUA^H!*W-F~A7Azqapn4D4LtqYdsCw#3y09fprI(1Vg)f{o-1H!V6OC|)6Z8(VKD%uvoI<}yvvAIYj4Kr&7;+G>%WM&#;sc0_Y!S9k!?*I#wYk@p z{L3%t@)Hde^AJ=s#=~zg_(!RZKTz9yJ)C}z%p|T@wGING%@ROXM-{&2Ql#Tpe`3Uy zd}NZ-aufl=?{*DNKcBIW$wL6RMS1tkFiX&0DQ5mOHB=y1w9Z|W>iyZw?PceX2DtBI zRnM|_vIUm<;Xo8Mp9!ChuV3A*+*PRj}W zR@n9I1);8hflzVVRAiMfQ7ex%;E}VBlszb~dZ*=zE1zGq~->|v&o zDRb!NtBHx;7ngIbK3|$VFD^_}_3wE-5fa~Z8M_|AiB(0j2JH6D5HaoLW?e&!Htv=V z^Bk*2#6BF7zyrM?etY@3rkL@K0%G-U9$KdGqbo199vRcU<$pZ`5cJdCS)nVZIuB_u zAG>vEBKh;+nM8w$mEDRX1@X#1-`M=3 zTy%PAcjwkafNTc*x%%vsG`S*f`+c>MT$1ikF5?J5oLc-x@WMT>J7*9D5dZVdjn&@X z^a?JfK*Z5wppss{MiwJw&oz#S4FB02GUX)*A%f|mz~|c)0A7w!!#eRry6U}-aDkh zrVrjWO#lkAJ(hi&c6zS7_(K-6&RR_2;)T z0eAJ$Xg}8?N-FXL@N0I2RR|qF6L;c@!j=w|*857;L;3FMw%23L)>FmV4>pDPySc zG+OBVR@JB9ENV|!q3=MW$eQH;o-G?@bDL3^a;eIyL7`YJ_d_MI!)LpL`1&vP-%3?e zN^!d%Xwxnian)1hGKo}AY8-g@*ivQg!%1LL zh!MRjzg%AZ)@=L1_1P%1UT@9laL{InwRerr=E}+~f+qlf&Imu&>ErA3F3!8=vY2dk zWJR&JjL#+WI!DYuh?Vuh-Rtuj@b6{p)4nv^JQA{Bn7G3gtP5VelWKnI$p6Z9>Tt;q ztLxR!Vm{rj7N$--O!RhHne(~-Y_xE&ML5&W_EkuRAXkSzO;-8Wm-@%qV$7kJ0oGs^ zjN3sfn|0<0Ox<{Gll2efX+g83ju6z-V9Z^+D0{dUcTl-QQ6lZxeM5V%O4n^GPNmeH zLi|F6%ds~YE*2U)?LS#^nK$NAm-Yt-)oLfkzOT64MFGXBUOGS45)TdPQMrvr9D2Qb ztJeN7<$6tbG!FtwTV_9nr0h27l*fVEM&c zEdTi^J*xloiy}9RY@je!U&faX#DPMN*=5Xz<`}kE*k2%qB|`W0E)W7&%DE@hde40d z6l&3Q+`b#-U-KnHDvPbC%>&>{n7;|Z)5T=R!*rYk6n(>-a^MIL0IqaNoah z|KslY2{pNt9?5{KWl=PxN;W<8Q+E0TPhM_kct6h4bxb}~xeF@Wl3VfteMuK^m)`nJ zTG$rWIKLBrU1U05jh~-MN zsQVQ1yqYJTpRG42#I#Q0s76b_@vQ?wA({-|XthT#Yj_{xxwSvKG1gfU%hU0DB%Y)a z{|S*+d3>%v;d-oqV0^@wJ1gqZ;jmj)S@tktvdY=ruKnGLrwe9Miv1iTH|s(_3mB(` z#(z8b1C*gpKW2-uU}vCCoRAl5jz!@oubX2Y8xUeGo2!gdRdd)$j?=lIDImQsS5~*| z5iGjMxD32{5=?CZvt(voO2bC!<=$wff2#a)IIzd!2w#erPz#9ww6*;hF|2}(r2as? z0`=(1F0U5%b$s-mm|IsamYVo~jW5`1__E_GsHa_R)S$|-_F28gZjpbz)8VdNMfG^O zU%^b+`sxRd-hPvT(6QI~b;nBePcN0dQk=3F?+JUwfSOhd-7QOxlJIf4Kz~><%SgYFH#6)4*4UwWU9-61$cn zR*)&kdd=q;@%_I-L<|nZup|q{V4eUuYD!%5&UzI6h`YD4Kv?~m%MCd$$8H!ND46GA zG_#837+8AVt2$FSt+LiQQFnZ!&S~<_Nj}&2U88JMoccU%d;00lW=NK-EI$CoE86Lr z6ZeJK3i|%cI}eVYR2sOiL;t+@#E@O5YC`BrPc_OLrR^cy65s|KJ_dK>q7GuhwV$82 zC_6_3Q-nQlaQ-OaNCDx5)e|&;E>`!HqH(EUsu4jaHZ8x3v$KCX-rOBDKxuD!Pn%r$ z>cVG9R>-1AbeFVQpv**rDHwOHD|upBPF#5{``N`roqIhAoncx08hH)@NJG#FUm7r+ zqH@)3q4)nEK^=O|Y#H2ev#?N}DF<|h$+AMCqGH-HbClz;!dZ=zzpFkv6ZFM|ZW%*! zx(35}q$cy&#mA1huYD({MYQjly%=B|FN`TkRUa0UHAJXNfBk%RA`D=xLdOo)45rt6 z{#O)@J&^EH^UI$f`*TSzfDP2TetQ>!6zbWaK4>KCmrYo(e@!`i0Q$4eQv1k&@~eZf zLGo^OL3hyM$m5M|yd5Ks$={0&M_%6Fr?Y*0+bfOC9(qDNaf%qUYNc6qX@cp zv|4PFfYboskr+(6x$pcayaVrt%J5%rB8nyTu+2TCl_EL68ZECH;JKB@M}t|1bzovjpjC>tiDBWde=mYIwJ(|OFVqbnzDY)eumiBEqo=J--T)w> zgs&%zkS?Gap$&}%jYa{T1!mRWqY(rJz^KE9*vSS~TuV>xfnxgz zrpZJvnn;WmWQW%c!xPc}Lx|xx7{y{QQXbU|oHR&WP@qT*bfbx4zguhf9|y<{fLq|i zITNuAhR)gzGbw-B;y4|Q0;npF*j0=^YSVY&${` zylf=sC`7tf{pXncYqE?wMZpRuhHyTkcxNJDqXm%ZqoPfbS#KlQ!ysF2i)MG`h!p+5 zL@_|wct*nqBuEus4LF46KZ5@B<&d}FmJ;whi08TPk3#nsu?Iq-Oow^_B3eFg4#++t z`)0@5ivjKrP;dGR0I&g;+=n2}#P4@gto%Qi7o6Iskb?>rqxOCTT`KpHtn$z23(O~r zD((H-Bww3lE;kCF|0tC3g#HjRc{#hqw-Q50L(o0_L10Ll6TlY48X%*KwTQ%YE8$oD z&jv5@l6@+bUuv>p!Sv6-ALKLTUxnAn4$jWM2Ch8j3tyW%f1Tapkp*;c6Qr19`CIOq zL1l?yapEv4KM6C_Y^0-B++3S4Knywr4kbvHi5VQq0+t7e5XDk#VMK5MHs|CP{HhCF zOW+E>>R+bM1`(=V^`Q2)LRL^?x#@*b9JEjA7Xo>T-5m_S%?}erq+XPQN zyQj=0_ zzriZe3=z0}a7j?H7z(-EhNyKW#?ris5u()lK%}8QeX|-FBbnVm%K6j2EvUt%yWs0F!Qim0v7Vs@jDy8R;c$eV zQs-8I+(NGgz60@tB(HzclBobsj(wtAG9cS{vqN0ZzC4m{M|@=@iZx&Lhw+kux(vEQ zpe=t#=jlE%GIbCo!npT32%Y0jzEhLf7FI9Ff<-V0m3tXLtAH*83@p$4oZ?EHyv}KF z_1t)$;`awz-X&Aor7p}Wv>k`BTa+qK&X5MsaWNGjU90DgYmJNso4X%@6f}oJPCp%C zJ$ZP1yjb>bqGD*Jr?O`|0|NzoQ#Muto}wj1GJ_`a7OTR>q%-pno#lt$?{(OwUd*>I z^1rbUo-$tt8eGvNV$$&e2tJmXk@4YD5fUr#b4y;>+$Syue_`8?r?1Ukov8~C$PE4( z8{(nrw?Tacw z9}X&Mx8k8s9DsM4xiaRQIlqYz1cw3yqv&2U-yG@t;! z@v2YZ`Vx|}m*1gNksJkHUDmX@++_{bG)r2L0Q3-iCL&+_wZKoK93PQ1m9H z8e6rwJoe`Z+ek*v8Paz~ zWY+(Px18$zc1H^L6hcz^wV(g2_z~4_0PGc2;*CVhxc3Wdw%5_;E+SK8p}c?9bCoI6kZwBmA*`y) zuOwTnhsBTV%$f&#nY`+amB|%L|qRX9G4Ls(3L~ZHbE~aDY z2$*Lj<1>gzXn6$9q=+lsZ8a(FdB2cXnRmTB2N-h=dV8+vH zj#<|JOqzg?=}KtAYz@#~Uaen!X3@*d{JeP%5j^Xymc{(%k$}K?a63ZcJRM7*M`;3_ zm+SW4Z|ph<=QMxP0Wlt|@{CeIIUL4|=){ zL=?gwpk!hd1?sY+R1CgFxkB*X9(`ZLtKs)hP>dZ?nC(>-B`C)o!6cej?5MFi?+dLn zXzQU2K)ytv-rm8W|JS5(RSEj*h?|0Oz0&nLvLGN9FrI*Er%RUR6OHf^PV88iG~(NG zRTqYSr@dLS%7SP93KdN|NDEm>gPmbXQ}zw z9j!HvuP?8BVhAc8*mE;ab}&pD-p`ih2GF{%)Hs!Q0T~6DC}P$Vx-x;LM7&_OEkX@p zZ9BVH)`dtolb*#ikQYIZsxWvH+w8W7yrlnhZYd3RNXWn8s|#`oe?N64-%&$^MQ(lV zhdFw`&PZ2FmFbUM0L?GCu>=y%(CoyVE{vK1tJ-Xj!#d&|QBDZPPv6B28(%TKsPzMiiFaUggn zT2LtEULr|t+&(%$%1NBpB>jDxrT;Sv+!h2IE%FU~6>Dtu8VurQFjMwA&#HUQHYThOD_k`QGI}ep14)jKXo(SQvQ66hPi71*)}$J^hY^lUeaNU->zw|s z19uI@I*YXMn;$YSy~8Y)jgVH4pBFhEx+F@x(hvco87ae( zn^R`cn?9S%?A@6EJh8bkvzgDkZzwD1+ffH=-azV|#i)wu;z^6g!2^>v6O(R_0b=4{ z#d}_FFynsgbcBiwqZdE-)>e@FAH*uYk87j|vVo%oNC_*^?<8kqjlpFPg2;q9AquJpGB2|Tvt9eBriHKb8y;upIijaeh@8^abjqw*AWj% zWbB!b7)*QsK-i`R)CP~|%k9;i>=aAYA99ePLMc=HL1;K%dTG78mub9i!u)amlG>Hc zl$!3+;WqgK_6VeuFB^^0W@zRt|6FZwe zuKdu;IWKL_cgTC-Fv}_MC4KQgd;XfskAP|1PoXSh$hH4Mx2Tt8HasFw@%Wfx$ZGPM z;U{SB3J|x(YM58rwh}hV;LEcB^PG!MzihhAD8EGIy)7IH(~iB0j);gowQC!`?39Jn z4uaFIXi`0kCLT_c-1+J%$%fpbi=PBS1l}WP6Sg|-USW?1^*gwD;$E(loHfm{L5Wnji&jP@8k2H&Znxf9eSf$%V6QSq*nJvYD++t`N|2tH0*+!Pk~~-1hgU6dFPm1@p6_G1b&`xS;s>cUR=VL4H{n_y)4fi?^?AS(7=Kc zj2P(nL}a0Q>}lVtS*A!q_3L-z&}ex&Pp)iW@Cx}bOxYe)GuU^*Q1jInQGT|nMgVB5=W zj8CG>=qC}e2qyxd#2|*GO^6$h8Ov7qf%Gt>tF}2NSBKdoJWS^S&m1ZZzHu1Pg)qgG zbpVNsDiM<^szSW{$SvylIwG730YQpk@7#d^v5SZUuIh>J(@%Rzz3Z)(wNi`ZwaL1T z3v)>C1-(|-?e@zfqr)e%i1VP6V?&IEf(DQ*8K33@8Y1{>nWKNtj|-QcG?mjDg~nbSk@c~sU3>zlsTjan9WquBR(o@X zMnQs=FD0`_S~$WX zgYQiEUy*hvpDfIsJ&IjEEk>_<=TJbkYJ_TOyIGx{X61!HuO<0fuKy3#W1~UQ1W)91 z_Tt59xEJNi++`)xAC%8~*UwDOKi=d@V$-6(i@WV?MLg}?V&E!*H7Q=ONJ3N3On+=s znZvWlQ*YJ8gonS|-(+z2%JuIK38^i%3Hp^z+%=iouLS@klDXj@A3leuW(+3lekMH@ z{2lPtcF-gpu!KCbh)C9#*H(a57ow<(80uoQ!&bU8a|LN?1Rn=|D4@LBt8x9c;zH-C z?uw9$G+fnl&D`DoYaMhLC0M8!gnaT04hS-7*;R>PW7Jw*Mnp0uXemFdabtGdJXi@G zre|v}te3Sit_TE`NoH~O5M4q8ALozkTDpd-@ExmyPVC`HDl3B)^-*>_wvPWQfh|mU zIrRG|BSYA-2HFrZ{fJ-Ys$I2V*VVRuKr}GK+Y$r5Z^c!lNMEsD%bPzU7>=Ql2_)4& zKviscV8Uf@bQmdzzVm}xm10uY^1PE9e{$5R%I>$JM*VWn2TC;a_Mz`JKMt`5-j+#Z znP)E&SRbux`D*{hNqnddZo^RCPJs-5{SBUyB81&->HDtVC*I`KON;?gSD&C;q=mxY zEkDjqPC@6Po5}`DO#Ku$_9U9bD|&Z~R9jwgrB0npuI??}S4mwmSC{oZG}6J0;wfB~ z_H5XWskh^i`F7;`3Vh&%4fRs>ThCPXMf+>fKLj<8`Wh3%F)$o1Uk6oQvLl67r&YvAR3z_Oq2$SxMq$-Ef;;M8d)%bgq94IuiXV0pvk5vCDRYKp z`=f*t`paJ!vR=|}vpRHYnfukuw(uRq>~ZCB1?o6Zl!VvABkK<5+*)3}B+iq}k`8>)*L*P9LVLo`OXAx;SGF8N*n0Qu&kf3AslhH_|uW87|-8;`r)Xao> zeLl9w<|`D1dSrE({imdiE4n;xXbn)f)r~#^+2u~F)rx$>4gOmFJA%W2p2^U~8n=K0C@U~3Q?MofO&wwX*%Io%a_B2RC;=|)#%)P5TM z=vjqp`?sA7YkotMel}tMcAFb9cN>_=hPmlCq|!V&U#XJp9!|QQf^gipVbN7VNqfD6 zC_pOral^6iX~@q;`zWikk)KewUGXGM3`H~V@)OOI6irCpSCa=93gyB?itjIuDPXxe z3p0Z5*oU9-8P$q;>0j9A_R3SG&$7#inDTSjVP4)l5+)jgi~L_6#G`Uge8-W{PTXQC zj~n_n=hZg-6mb!|n`*Ollh9d}I~m%;Mm&I4b5^uvSkZyA^yBn@CGT5%pYQ9WY$!VOLn zS-z`y!V)@AS^Wkp(~uITt1jI~x70gRg=I!@{&x9v

zoiI|=`(5-j6dGN|pu4lu zEIWt|-r6iI+&SvEX$0ljP*Z~(4G|} z!BpUg&G;}9F)=M5aKzS7-<5eI_Oax(tHT!zBw}NHA3RxKApom$nvKl-!({KGMTI4DI!L?{gpO%8cA078dWmyV!+Skp7fNS3^#Mv~6m117UjR;#I*fSMuO<>Rw0ryXIjD zFAqc$gs|Sb1+m`IVJcWQl&%RIY9-d9orGRw7ZRH@G{+O7S?cOFJAz{Th|UQFR`TIU zS`5=HEq*tFJ4YKwq+ucDpFO|3`=YSP=n0=3^$_J8y#QVxnQL4;YbDpy}sXAJd%zCn;TKcQ_P%)HScUZ};^ieVN z>|-aXQ)eZ<-<-}dmc!XlV3$z{5trz{$;&+2LCi6}+Hq^Xb9!PNqF;vozzA*Zh` zId`={(^@oJAJ(t~N71A=+*XO6#MQUB{=kvMAh~JM>k-L62-2d_CPb9#opxM(%y}uk zmnv8R+Kur@v6Y1AP8ym}T8!pNGwO=#&Xs`9A91}BSk~t{jO(2lY^g%nvYLxAXmLGw zbvaXB`_fWihCo%c&%gj9BI)xi~iAf&3G@P@9&RVC_L}CVWAO5>SRSEj}_vTa~ zcPgV%IxDIj*J?1mh6vgy*>_iZa#N+Pi~q#U~O>e*WV<8G0)J-H(i?yE}YnyrY#dm#!|%>=nn#jo_FB@cdA z6xDmmnTrW|dCmo1KQGhEvz~BEXK6c`1~5+VS;#n2p1l6&jeV(-Y^WvlT%nv9`A=*J zCZhEu4WjWZT6s$*$>?iOC}~S*^Q6IYoffj3i%kTw#LOt&wkM9Vq;e4Dzf)&w_x}<) zY2UtUYx7c;u5`v$p-Xk#r-`QLsBt7(PA8J4krRo?O8&0=Gz!nH=Ybhj`jm+sdR*f_;&V3R{Y=FB0>L4*z_rl76i zt#hqpU5MopZ#E;2SbH&(6*BITqKtDV3grxl$#b4c= z(&fBelipn9S=18x8w*Oj=9?zIGgwp$uh%cHs>_CIMKVWP)u(JTS#K7}gA?({7YEzn zpo?}4Ju_+w7Y(QZyHKeP9^NXd)#Mm%#6(mdMsr;DTsDSlTsv*5^)pUo6y!6?T zzn<&{JQ)FbALSu#rD&gIlj*|B?=t3jCPUW=u)y%cvpnZZ0RzJxX&tfk)5rrdu%$9j5?Kgbp zLNIZG#<@-K!Jn1dt3^+)e4+rmkMUP0g?o**m<1&wgq=`~yDpN8ku--A#L>qFd8&_? zXegXrY@+_Glq4HDpJJPyokOm)ldgmZ_@KWN6Mnx`vjFz<>IkbOPV~aqjZZk_eSgH< zUpx!ZNDGN0C7-sXiA$fICqK)MpEhL=8p3J*a<`V+MuJdeF};vH=u67UgCOPPPK0hl z%NkzoHzB{#rq^dZg|MDuvboohtI%9i7+ZfW=3g8z9Bqwf*?0C196{-9@m~XqG4kj2 ziDQNeJCU6Ty$iH9HbF6XmShkd%H^{_OVe~MF~G?`wF(zB%0sq@r|aBtOEU2)5+2x4 zb`Rf(A!MHLt>8&}3pPV*9G#_c`G5@{0q&v+&erbDPXP=huQEV|kdEwekuVw5>^K96<(` zpCN|3EraB|2V^;w$vB7T0=JsLcvzGu{)#k@3hUD8>dB>k)mF#w5{Dp1%xd3HP4~eU zfzqA-HCve{JA?)9)<7kMd=&_u)`55g74`(1mI!oY@Rji$%EhFjwG{HjAq>H1Ijhmy zyh8#<;X@_RN#tIKnhuUEovHHRc^O8%wo}G{IQw{op}6KysD&L=N-C9iks4`XSQ#tB zj>KDCVh(a}L(?eVuV-A!P-fq+oSUi(Sxu(*e-iKa(R((?ev}o~gVH(` z{p#>-^ed5-MKliTBOLL&w2eXx>Ahu2Nuv^E6j3Z>5tT{tb|gC)LJX&0D`^Tjur_&M z(?JvwrF5(xxyj?J>jP%h3x!@gwq9>Fo)Ueu*eZQ)P?{h%u$;jCuvcvkZzN{;>_^o7 zsYMFueI};Q!Pt_Znej}Zj956dR-p=i_hyE_ z)k=u`cVeW8%hc0f_GvwJGp}d#S_qzx?|SSfyD5)yQA;g>4JH_Pp|DgN+HS^(+>sKQ zB};3+cPA1TB9OC1n!4{VmEZR`tJl3gC5*AMtWbrOgOu|x>c-~syXs6A?+8KE}q*v@qjF^HyHc%A%Z+MhU!Rcq26lY!T!seb&96X*i5TI~NF?7W*|YqZiwN z`9DYHz-8M~;E<5}Na!yP1qh=s8jf{4-UJA_aX(m{HQf)MzUSF+Z5c6spHqWAy~zuB zF(U%}zjd)E76AHIgP_TH#(6XG*Ky=5;gOGWJW8WKRn!8EKJUX*1o-A|m2XHU1nT<$ zp>9!m-!X`;D_keIz120PC31F;vUnShdpwJuqh|_ybBaJa@5RJ0G~RqlTy+PO&ktI1`!bawuL5SB;2g_5=}{XHM5eDf+ATe`5z zS!utDFeisA=YUnWpm@y}ydMd&In=3;5?NBK#Ig0gwM$P&(uUT~`hZYsssC&nC5pcm zN30kMTNTu!?L%y?@&vDdGLDmh^O$~k8FBzww+DQ68dk?@7AR&z+{5lo} zkT56W+2!-~jt&PxYKwv8uNXhU2=wl#Nu1~G@r`xE&yU?|?46$rIQV>B=(tV3FkPMN z_S`9&MYZ=3=JuhQILCH2O?vv~bOpa=EU{z;>2ZU5cIZ+hwCJUZD-pP0bwm;>Zf7WM zqbAtu?@B?KBSZKhSAHf%U6*TC(!n|Zj>EI)(5e&4bue^>8pNI-0mEld@-!Jhqk=GO z{du-QE}C!*_<9WsOS;Lkn{BRlPg@|ErTb|%GE>-WBvqBuA;jnW_VG&>`aGaT4?T?l%6YU-v^4FWrXq@)F5?e7@bjuc_SKEnUg+mOO6iQRpV)=GaKf_? zs;9>gxed3h>iO}p6xI3hCQUyysV(^XcG{M~XS!ebj}$hpbMgImaBcK>i0 z4W%KoYi+McG=bJ#BV6|d|JOYPa)O*KE>$gjgXJ0cB8M-IhVKpK zaiLKQSzSaUj%iJZJ)L`=0)XdHFse|FFKYlb2yuV)#s+z&Co~`6gMt|5Aik&;^&|`C<=>2eE-w85ae((A4JL$ME zHvOm5e13!l-&NTd6Ez`qD03TOQj`Q^pP(LFq^EC^fpV6O{8`VMMB9q>`kZZM9@Nc8 z#*5dSJTv>)NBqR_)pI*=3+FI}n8WZ!E8G6r-zt zwGdx14TX^wW`M4MA;M`3&z->~%Fy>dD@ri^+!CBIU)D{>-|DfP*5mhkpItKcpXlSHlyHv2u_h6#wrZPDh&C<#VGc2`ea2!0_9K@5;IddmCB%OQ- zl)sD0$&y!*sC9b}^)fPFBJhZXuZ{9|b6o(uVAt4Xgkb%7Uw8p}|EP}-_eNOPi+2=W z+KF2N@!tcBPg0DCzP^!q=|2C&O`Yas)u_V-2rKw#s~T=YzGMduqh# zHp06!W$096{aV=6NAPvFr|V>(KzLT{%X)n7@f9KL0a<)_lgqN8sN`jpW{Ke%T_Kmffg{AKeDg#+k~P6?cCT z23K0vBPM#O&d}T*G0^jxJF3r|=HxbzP2A7bsYygmlp8?~Ch?hlMaS6@GA7-+x4Ym8BUqlUE4!j7H|n5L?Ze`*6Q!npg3b$&6S-_ zA3Sz@Hn=Z*)T!~PfGQL#|eK@d{qcg_qkWgs?AOOvD#Z#%Z-_zP5WFeV$%~ZkpQ*5RmyH%*jC3-nrj5 zgvRJpzMsTIcZS4AiZi`<#z=U-pm1cxCJg~)AJ-=LqgrE#0(K)u^=F?71#K#Rzu-|_ zx4)I;YV2sv)!p2cCkV_yTxfPu#DDe-_5`&Ngf~3bOq@~QoQ!XCwJA!@t2VF|r;a2iR z^BRw?g#W588@c*jzkm?-5%v{om~DLw?M@XJ#zqaAieT+Vn&(bJdzQRVSoyK-9UuA0 zwZvOp##hRbMsVTO6_b>5O?PWR_mS4wfDJ{&4b8=0S$MM_8BE`+;F3hj4f%WA4o)n= z&_0_&tOm5^7`dJeg~8{U{J_B{L?BM$e5vnJ_9MOTPGPKG!e0Ow37vIw0#4PT?iY;c zD=~Nr{TrX7;X^rODKEvF)M@6K#rx{9LAB-{PH2Zqi7%mj;wk-xkI@Q$!=ebF$@)v+ zKkyp7Khb@O6?Ku&*w?;1I8?a|WAYjuLdm{Lr?li4K->}Ffbuh=iPUI~1z?8MZAQk1 za$*6j_|_ieQbv^Zn|#@lf-V}Gv-WB(--iH!+Tu9Mf9*keWqgJOU-s_(qE|Q<8jF6q z4L*W?IJ{dO&`*7+Qz~I43qvGv&iQPKg7!W3G6o}ykk`ya?xMeFkqi$YV7Z^7G@W5J zKwcaGc_r3ALSg@E_jqL_anUU-*o)tFMqu6i-4Y37{m+#maOwyT zg0Q7lJzd}^I4i2VG9QbwVRsez%$a!$Z(=Pi*A|ZuR2mF_7Rtr^eeE}IpR5^W)RM2HDNzpeb+CFT}VM=FJ&OWW>StQvX5l_ zvJF$XnXYE|!M;o;@mHT+9)77b@mld%qrOad$wATJuuerj?|B1~or3r}Te{eWF zo~1s?PWnnZf=imPqF53IO)lUtBd94oEhu3`v4Cy=c%L3$SKpY@1AiBAP7P?^$gmqV z-6KV=p!JBp2)OGaaHV+R1{vB!oOSem_RL55Isox4vkO7PB3AR)?k|=+TYjKHlm6e2 zWSh&G0TOPG<$yjIhVTAZJue?+nzSl^Wp({TfM|T-d~_S&ItQ6L(FT;b-!!Fau)C?&UQoSHiSaQp>v=trtGKLubz_dp zC05eIZ7+fi%hR%;LEA5b7B0Y@5 zM4Mp=$NE#Q#6E$dGX_}5@Ra}#+FTy-Zr{g?_axJfH}U#k%FORvjXzRt^p+r*p51sY zQLF|=FH<;;Ri;}A#(t=Rwad@f33s_G?t}q_!hK&}7z!j}T3cL34m#^zAL&dimnd_J z%V2n$$#^tfaZ1vb{6+esbBy@eom+#0|3tR4v8*WKAR7C~@NkF-D?r^)C))%Sh-0k+ zTweIGp^}GE&_0?pf|y|9rC~u$_jm2P_olyBQ*~)u*1*;KN4HU)m7^Ek5O7fcD*7AN zi;c{#^t%i~E@ZWX7?xx^5}PR*<`Q<)IQaUhj2S;t?l{5|?`4bz{=lw41zQ|Q4vWq{ z_;0|_e>D7=zQZk_7ar1_GDn`m6Zm2m9Zz$zM~401<0$z4e&7I9eT0R40{GPuyUumVFyG&Ei-!w%Ojl`Wsv~elU2`r8wO#tCh4YUA~_k#>8eg+JA#d|07ePM99S;|pga5@C^Uq#A04^=DvVm2yY3N)&@KN;5C0YaGzL^0$QafM zki-s`ca;qSB#zdzJC8AqC804nknY2-(>qK5C=7<{iy&v%C!C7~s1FuO26Ds1@n=gB z3)Vg#cr6$E?JvXYMf%h?f3m&+j=;D2@ij+6aR2DpS&%0Ntz5oX@QcnxUPnaMuUEVV zrmZIpFOJ0@V|At1+Z!#)*?K3MMLZVC8&_ZqVka&4dIvHxmB?AocHD#<-ytDPSKtcP#13YnJ=u*EZu{HGg8@h* z=}bZ}Nb>vrC?00ys70~b z`qwMj>5syjwNU;=sYpnxigQ0~PAUhRCXOu(0*(sLUIw+B+-L>2=d-K;5Ozi*xEgf{ zk(YK&>81Te&-iG4liYDL(og|?0(RxhQ}^}Nu(evE7#yCBe4C*Ebo=vd2JrV-xx|$- z83j=iqaUhFxx4dvIZ(!LL82v>)&=3iP6$Svfl~@5s=Q8bjr79^QU0!zeotinLG`&c zt204i9o9xT0TdeH+@cttBHAyII8nb9;2^v1j)!nGJAt&5f#ZF3sCB0i(fjnbU3Zbg z6Jsg|mwGO#r*8iE-2|*S%fjd1s;On$E3@6)E3>cYQRc2aSL^f(w@26t(4r%3g=1*O zB5?4h4zHBlR4D{hk)7pPynn#@_p(=h2p;QRqpGb2Pr(id;qjS*yP{YGyGj(Ju1`LA z{Iq3bWMuC1`lk~Q@ z#}ZJ?iPhvmjDnnV*TgBBkOP(85_G=1Fs+N|IG8FQfL}FaclMO1q4iYNx87(#CvnxKGyNRgsc=^CU-Q;Ha>D80^p zM~U&UNy(yYZeQMBxy&A5aov= zq8X{W@pDibzLXn^XhN{7ma2YYPDV=OnwH<*)?b>Z-`I6GRa(~V5R#;0mHeyOZHjlF z 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/{_kw}^j6YL?>}m_sa`s3Jxc>4 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�->Z&LiyeOOLl%eMUkyy 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 W+h%9)Upjw5wEUc+Y|R_*9Q_w|IR{w) literal 0 HcmV?d00001 diff --git a/docs/_static/getting_started/quickstart/server_bare_light.png b/docs/_static/getting_started/quickstart/server_bare_light.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f306a3e6d9372e6f9599f0119b8680ab4070f5 GIT binary patch literal 49827 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 W@O0R9%M;%L5BP7$D@CR^qyGor&Si}N literal 0 HcmV?d00001 diff --git a/docs/_static/getting_started/quickstart/server_generator_light.png b/docs/_static/getting_started/quickstart/server_generator_light.png new file mode 100644 index 0000000000000000000000000000000000000000..2430c23b2c8b007ae20ff97e312ef7ad8641565d GIT binary patch literal 67224 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

    p~IGVhhv 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

    ucI1qFp0n#EGDyCw84td)pDjg#h`$YpHR5+`R1 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 literal 0 HcmV?d00001 diff --git a/docs/getting_started/quickstart.md b/docs/getting_started/quickstart.md index fc71d90..b1e4b89 100644 --- a/docs/getting_started/quickstart.md +++ b/docs/getting_started/quickstart.md @@ -1,12 +1,5 @@ # Quickstart -:::{admonition} 🚧 Page in progress -:class: warning -The sections below are being written and verified one by one. Still to come: -first client connection, getting and setting a parameter, starting with a -config file, and where to go next. -::: - In the next few minutes you'll start a server, give it an instrument, and talk to that instrument from a separate Python session. All you need is a working [installation](installation.md). No hardware required: we'll use a dummy instrument @@ -23,11 +16,172 @@ instrumentserver A window opens: this is the Server, the process that will own all your instruments. It's empty for now, and it's listening for clients. -:::{admonition} 📸 SCREENSHOT NEEDED -:class: attention -The server GUI right after a bare `instrumentserver` launch: empty instrument -list, default window title. Capture the whole window. -::: +```{image} ../_static/getting_started/quickstart/server_bare_light.png +:class: only-light +:alt: The server window right after launch +``` + +```{image} ../_static/getting_started/quickstart/server_bare_dark.png +:class: only-dark +:alt: The server window right after launch +``` Leave it running. Everything else in this guide happens from a second terminal, a notebook, or wherever you like to run Python. + +## Connect a client and create an instrument + +In Python, create a Client. With no arguments it connects to a server on +your own machine, which is exactly where the server is running: + +```python +from instrumentserver.client import Client + +cli = Client() +``` + +The server is still empty, so let's give it an instrument. We'll use the dummy RF +generator that ships with the package: + +```python +generator = cli.find_or_create_instrument( + "generator", + "instrumentserver.testing.dummy_instruments.rf.Generator", +) +``` + +Here's what just happened: the client asked the Server for an instrument named +`"generator"`. There wasn't one, so the Server created it from the import path you +gave, inside the server process. (If you've used QCoDeS, the name is no accident: this +is the same idea as qcodes' +[find_or_create_instrument](https://microsoft.github.io/Qcodes/api/instrument/index.html#qcodes.instrument.find_or_create_instrument), +except the instrument ends up in the Server, not in your own process.) + +What you get back is a Proxy Instrument. When it's created, the client asks the Server +what the instrument looks like (its parameters and methods) and builds a local object +with that same interface. So `generator` has everything the real driver has, and using +it forwards each call to the real instrument in the Server: + +```python +list(generator.parameters) +# ['IDN', 'frequency', 'power', 'rf_on'] +``` + +The new instrument also shows up in the server window the moment it's created: + +```{image} ../_static/getting_started/quickstart/server_generator_light.png +:class: only-light +:alt: The server window showing the generator and its parameters +``` + +```{image} ../_static/getting_started/quickstart/server_generator_dark.png +:class: only-dark +:alt: The server window showing the generator and its parameters +``` + +Because it's find *or* create, the same line is safe to run again: anyone who asks for +`"generator"` later, from this session or any other, gets a Proxy Instrument for the +one that already exists. That's the heart of instrumentserver: one process owns the +instrument, everyone else shares it. + +## Open the instrument's window + +The server window lists every instrument the Server owns. Double-click `generator` +and a window for the instrument opens, showing all of its parameters. + +```{image} ../_static/getting_started/quickstart/generator_widget_light.png +:class: only-light +:alt: The generator's instrument window with parameters at their initial values +``` + +```{image} ../_static/getting_started/quickstart/generator_widget_dark.png +:class: only-dark +:alt: The generator's instrument window with parameters at their initial values +``` + +Keep it open: it's about to prove a point. + +## Get and set a parameter + +Parameters work exactly like they do in QCoDeS: call with no arguments to get, call +with a value to set. + +```python +generator.frequency() +# 10000000000.0 + +generator.frequency(5e9) +generator.frequency() +# 5000000000.0 +``` + +Remember, the proxy forwards everything: both the get and the set were executed by the +real instrument inside the Server. If this were a physical generator, its output would +now actually be at 5 GHz. + +Now look at the generator window you left open: the frequency already shows the new +value. No refresh needed. Whenever anything changes on the Server, it announces the +change as a Broadcast, and every GUI subscribes and updates the moment it hears one. +You'll meet Broadcasts properly in [How it works](how_it_works.md). + +```{image} ../_static/getting_started/quickstart/generator_widget_set_light.png +:class: only-light +:alt: The generator's instrument window showing frequency at 5 GHz after the set +``` + +```{image} ../_static/getting_started/quickstart/generator_widget_set_dark.png +:class: only-dark +:alt: The generator's instrument window showing frequency at 5 GHz after the set +``` + +It works the other way too: edit a parameter in the generator window and your next +`generator.frequency()` in Python returns what you typed. Same instrument, any number +of views. + +## Starting with a config file + +Creating instruments from a client is handy for experimenting, but a real setup +shouldn't depend on someone re-running creation calls after every restart. The same +setup can be declared in a config file. Save this as `serverConfig.yml`: + +```yaml +instruments: + generator: + type: instrumentserver.testing.dummy_instruments.rf.Generator + initialize: True +``` + +Stop the server you started earlier (close its window) and start a new one with the +config: + +```bash +instrumentserver -c serverConfig.yml +``` + +The generator exists the moment the window appears, no client calls needed. Every +client that connects finds it ready to use. + +:::{note} +Instruments aren't limited to the generic parameter list you've seen so far. An +instrument can bring its own custom GUI, a purpose-built widget that the server window +shows in its place, to enable richer workflows than reading and setting parameters one +at a time. You wire one up with a `gui` entry in the config. See +[GUI features](../user_guide/gui_features.md) for how it works. +::: + +This single entry only scratches the surface of what the config file controls; the +[configuration guide](../user_guide/configuration.md) covers all of it. + +## Where to go next + +You've seen the whole loop: a Server owning instruments, clients reaching them through +Proxy Instruments, and every change broadcast to anyone watching. From here: + +- [Basic usage](../user_guide/basic_usage.md): the Python client in depth, the + interface you'll use the most. +- [The server](../user_guide/server.md): launch options, headless operation, and the + Detached GUI. +- [The Parameter Manager](../user_guide/parameter_manager.md): the instrument you just + configured, properly introduced. +- [How it works](how_it_works.md): what Proxy Instruments and Broadcasts actually are, + one level deeper. diff --git a/src/instrumentserver/config.py b/src/instrumentserver/config.py index 92bb950..558207c 100644 --- a/src/instrumentserver/config.py +++ b/src/instrumentserver/config.py @@ -47,13 +47,10 @@ def loadConfig( yaml = ruamel.yaml.YAML() rawConfig = yaml.load(configPath) - # ruamel.yaml returns ``None`` for an empty (or comments-only) config - # file. The membership test on the next line would then raise an opaque - # ``TypeError: argument of type 'NoneType' is not iterable``, so we - # surface a descriptive error that matches the style of the missing-key - # message below. + # An empty (or all-comments) file loads as None; fail with a clear message + # instead of a confusing TypeError below. if rawConfig is None: - raise AttributeError( + raise ValueError( f"The config file '{configPath}' is empty. " "It needs at least an 'instruments:' section." ) diff --git a/test/docs_verification/getting_started/verify_quickstart.py b/test/docs_verification/getting_started/verify_quickstart.py index 548ed55..fcf911d 100644 --- a/test/docs_verification/getting_started/verify_quickstart.py +++ b/test/docs_verification/getting_started/verify_quickstart.py @@ -5,8 +5,10 @@ claim the quickstart makes; exits 0 on success. GUI claims (the server window opening, the live parameter update, the -Parameter Manager widget embedded in the server window) cannot be asserted -here; they are verified manually and captured in the page's screenshots. +double-click-to-open generic instrument window and editing parameters from +it, the Parameter Manager widget embedded in the server window) cannot be +asserted here; they are verified manually and captured in the page's +screenshots. """ import sys @@ -55,6 +57,16 @@ def section_first_client() -> None: generator = cli.find_or_create_instrument("generator", GENERATOR_CLASS) assert "generator" in cli.list_instruments() + + # The Proxy Instrument mirrors the real instrument's interface; + # the page shows this exact parameter list. + assert sorted(generator.parameters) == [ + "IDN", + "frequency", + "power", + "rf_on", + ], sorted(generator.parameters) + assert generator.frequency() == 10e9 assert generator.power() == -100 assert generator.rf_on() is False @@ -92,8 +104,8 @@ def section_get_set_broadcast() -> None: # --------------------------------------------------------------------------- # Section: Starting with a config file # -# Page claims: the same setup can be declared in YAML; instruments marked -# initialize: True exist as soon as the server is up, no client call needed. +# Page claims: the same setup can be declared in YAML; an instrument marked +# initialize: True exists as soon as the server is up, no client call needed. # Uses the exact config file the page shows (quickstartConfig.yml). # --------------------------------------------------------------------------- def section_config_file() -> None: @@ -101,7 +113,6 @@ def section_config_file() -> None: with client() as cli: instruments = cli.list_instruments() assert "generator" in instruments, instruments - assert "parameter_manager" in instruments, instruments # The declared generator is the same instrument the page created # programmatically earlier. From 5ba44d41b334bdc8cf8c42ebd9451f683c9eced4 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 10:49:56 -0500 Subject: [PATCH 08/15] First draft of how it works --- docs/getting_started/how_it_works.md | 153 +++++++++++++++++++++++++-- 1 file changed, 144 insertions(+), 9 deletions(-) diff --git a/docs/getting_started/how_it_works.md b/docs/getting_started/how_it_works.md index e201b17..6b72a0e 100644 --- a/docs/getting_started/how_it_works.md +++ b/docs/getting_started/how_it_works.md @@ -1,13 +1,148 @@ # How It Works -:::{admonition} 🚧 This page is planned, not yet written -:class: warning -It will be replaced with verified content as the documentation refactor progresses. -::: +Instrumentserver gives many programs access to the same laboratory hardware without +giving each program its own hardware connection. One server process owns the +instruments; clients send it requests and receive the results. -A conceptual overview. This page will cover: +That division is the central idea behind the project. Everything else—Proxy +Instruments, Blueprints, and Broadcasts—exists to make the shared instrument feel +natural to use. -- The server/client picture; what a Proxy Instrument is -- What a Broadcast is; why GUIs update live -- A message-flow animation -- A closing pointer to the Technical Guide's architecture page for the mechanical deep dive +## One owner for every instrument + +Opening the same instrument from several processes is risky. Some devices permit only +one connection, while others accept several but do nothing to prevent commands from +different programs from being interleaved. Either way, coordinating access becomes the +responsibility of every measurement script, notebook, GUI, and monitor. + +Instrumentserver puts that coordination in one place: + +% TODO: Make this a proper and pretty diagram +```text +measurement script ──┐ +notebook ────────────┼── requests ──> Server ──> QCoDeS Station ──> instruments +instrument GUI ──────┤ │ +monitor ─────────────┘ └── updates ──> subscribers +``` + +The **Server** holds the +[QCoDeS Station](https://microsoft.github.io/Qcodes/api/station.html) and creates the +real instrument objects. It is the only process that opens connections to the hardware. A **Client** can run +in the same process, elsewhere on the same computer, or on another computer; it uses +the same network protocol in every case. + +```python +from instrumentserver.client import Client + +local = Client() +remote = Client(host="192.168.1.42", port=5555) +``` + +The server can run with its own GUI or without one. Instrument controls opened from the +server window still use an embedded client to make calls. The detached GUI is a separate +client that connects by host and port. Instrument access therefore does not depend on a +particular window being open. + +## A local stand-in for a remote instrument + +When a client asks for an instrument, it receives a **Proxy Instrument**, not the real +driver object: + +```python +generator = local.find_or_create_instrument( + "generator", + "instrumentserver.testing.dummy_instruments.rf.Generator", +) + +generator.frequency(5e9) # set on the server +frequency = generator.frequency() # get from the server +``` + +The proxy looks like a QCoDeS instrument. It has parameters, methods, and submodules, +but it does not communicate with the hardware itself. Calling a proxy parameter or +method sends a request to the Server, where the corresponding operation runs on the +real instrument. The result is then returned to the caller. + +Parameter calls do not use a previously fetched value as their answer. Each +`generator.frequency()` call makes a new request, so two clients see the same +server-side state when they read the parameter: + +```python +# client A +generator_a.frequency(7e9) + +# client B +generator_b.frequency() +# 7000000000.0 +``` + +Like ordinary QCoDeS parameters, a Proxy Parameter may retain its last value in its +local QCoDeS cache. That cache is useful as a record of the last call, but it is not the +shared source of truth. Call the parameter to read the current value from the Server. + +## How the proxy learns the interface + +The client usually does not import the instrument driver, so it needs another way to +discover that `generator` has a `frequency` parameter. The Server supplies a +**Blueprint**: serializable metadata describing an instrument's parameters, public +methods, submodules, documentation, and method signatures. + +The client builds the proxy from that description. It caches Blueprints to avoid +repeating the same introspection request, while parameter gets and method calls continue +to go to the Server. If an instrument changes its interface at runtime—for example, by +adding a parameter—the proxy can refresh its Blueprint. + +This separation means the hardware driver normally needs to be installed only on the +server computer. There is one important boundary: values returned over the network must +be serializable. Built-in values and supported containers work directly. Reconstructing +certain rich values, such as an enum or a supported custom object, may require the +defining package on the client as well. NumPy arrays require NumPy, which is already an +instrumentserver dependency. + +## What happens during a call + +Consider `generator.frequency(5e9)`. The complete trip is: + +1. The Proxy Parameter creates a request naming `generator.frequency` and carrying the + value `5e9`. +2. The Client serializes the request and sends it to the Server. +3. The Server dispatches the request to a worker thread and locates the real parameter + in its Station. +4. The worker acquires the lock for `generator`, calls the parameter, and releases the + lock when the operation finishes. +5. The Server sends the result back to the Client. It also publishes a parameter-update + notification for anything subscribed to generator updates. + +Requests for the same instrument are serialized by the instrument's lock. Requests for +different instruments can run concurrently. A long operation on one instrument +therefore does not have to block unrelated work on another instrument, while two clients +cannot issue overlapping calls to the same driver. + +## Broadcasts keep views up to date + +Request and response traffic is one-to-one: a result goes back to the client that made +the call. Live displays need a separate one-to-many path. The Server therefore publishes +a **Broadcast** whenever a parameter is read or set through instrumentserver, and when a +dynamic parameter is created or removed. + +GUIs and monitoring processes subscribe to these messages. A set produces a +`parameter-update` Broadcast, so every open instrument view can display the new value +without polling the parameter itself. A get produces a `parameter-call` Broadcast, +which can also feed a monitor. Broadcasts travel on the port immediately above the +request port: a server on port `5555` publishes on `5556`. + +Broadcasts are notifications, not a second store of instrument state. They may be +missed if a subscriber is disconnected, and they do not detect a value changed directly +at the hardware or by software outside instrumentserver. To observe values that change +on their own, configure parameter polling; each poll performs a server-side get, which +then produces a Broadcast. + +## The pieces in one sentence + +The Server owns the real QCoDeS instruments, Blueprints describe their interfaces, +Proxy Instruments turn client-side calls into server requests, and Broadcasts fan +parameter activity out to GUIs and monitors. + +The [User Guide](../user_guide/index.md) explains how to use each of those features. For +the socket, threading, serialization, and locking details, continue to the +[Technical Guide](../technical_guide/index.md). From 73259f02c8776c71039cfaf12b3e1989b12f6cf4 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 13:23:53 -0500 Subject: [PATCH 09/15] Diagram with animations is in place --- docs/_static/animations/request_flow.html | 675 ++++++++++++++++++++++ docs/getting_started/how_it_works.md | 8 + 2 files changed, 683 insertions(+) create mode 100644 docs/_static/animations/request_flow.html diff --git a/docs/_static/animations/request_flow.html b/docs/_static/animations/request_flow.html new file mode 100644 index 0000000..2f96bca --- /dev/null +++ b/docs/_static/animations/request_flow.html @@ -0,0 +1,675 @@ + + +

    + +
    +
    + Step 01 + The cast +
    + + + One Server, its instrument, and four consumers + A map of a running instrumentserver setup. In the + middle, the Server holds the real generator instrument and is the only thing + connected to the hardware. On the left, your script and a colleague's session + each hold a Proxy Instrument and send requests to the Server. Below, the + Server's GUI and a Listener receive Broadcasts from the Server. + + + + + + + request + + + + requests + + + + the only connection + + + + Broadcast + + + + Broadcast + + + + + + + + + + + your script + Proxy Instrument + + + + + a colleague's session + Proxy Instrument + + + + + Server + + generator + the real instrument + + + + + the hardware + an RF source on the bench + + + + + the Server's GUI + holds a copy + + + + + a Listener + holds a copy + + + + +
    + +
      +
    1. +
      +

      Step 01

      +

      The cast

      +

      One Server owns the instrument. It is the only process + holding a connection to the hardware, and everyone else in the picture is a + consumer: your script, a colleague's session in the next room, the Server's + own GUI, a Listener feeding a dashboard.

      +

      They all reach the instrument the same way, whether they run on this machine + or across the network.

      +
      +
    2. + +
    3. +
      +

      Step 02

      +

      You make a request

      +

      You call generator.frequency(5e9). Your generator + is a Proxy Instrument, so nothing is set locally. The call is + packed into a request and sent to the Server.

      +
      +
    4. + +
    5. +
      +

      Step 03

      +

      The Server does the work

      +

      The Server finds the real instrument, takes that instrument's lock, and runs + the set on the driver that owns the hardware connection.

      +

      While it holds the lock, nobody else's call to that instrument can interleave + with yours.

      +
      +
    6. + +
    7. +
      +

      Step 04

      +

      The answer comes back

      +

      The result travels back to the client that asked, and only to that client.

      +

      Every get you make is this same round trip. That is why a Proxy is never + stale: it has no stored value to hand you, so it always goes and asks.

      +
      +
    8. + +
    9. +
      +

      Step 05

      +

      The Server announces it

      +

      The Server also announces the change to nobody in particular. That + announcement is a Broadcast: published once, delivered to + every subscriber.

      +
      +
    10. + +
    11. +
      +

      Step 06

      +

      The watchers update

      +

      The GUI redraws and the Listener records. They need the Broadcast because + they hold a copy of the value, and a copy can go stale.

      +

      Your colleague's session does not need it. It holds a Proxy, so the next time + it asks it gets the new value anyway.

      +
      +
    12. +
    +
    + + + + diff --git a/docs/getting_started/how_it_works.md b/docs/getting_started/how_it_works.md index 6b72a0e..631516f 100644 --- a/docs/getting_started/how_it_works.md +++ b/docs/getting_started/how_it_works.md @@ -8,6 +8,14 @@ That division is the central idea behind the project. Everything else—Proxy Instruments, Blueprints, and Broadcasts—exists to make the shared instrument feel natural to use. +Before any of the detail, here is the whole thing in motion. Scroll on: the map +stays with you while one request makes the round trip, and then one Broadcast goes +out. + +```{raw} html +:file: ../_static/animations/request_flow.html +``` + ## One owner for every instrument Opening the same instrument from several processes is risky. Some devices permit only From 7bf2ce5822ca9506a27c7fc086563cb16f15bc19 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 14:18:45 -0500 Subject: [PATCH 10/15] First pass at diagram --- docs/_static/animations/request_flow.html | 324 ++++++++++++++-------- 1 file changed, 214 insertions(+), 110 deletions(-) diff --git a/docs/_static/animations/request_flow.html b/docs/_static/animations/request_flow.html index 2f96bca..9e24ef1 100644 --- a/docs/_static/animations/request_flow.html +++ b/docs/_static/animations/request_flow.html @@ -12,8 +12,9 @@ fully labelled) with JavaScript off; the script only lights nodes and moves comets as you scroll. - The six captions are "steps", never "stations": Station means the QCoDeS - Station on this site, and this page talks about that one. + The eight captions are "steps", never "stations". The conceptual map treats + the Server as the home of its instruments and leaves the internal QCoDeS + Station object for the Technical Guide. -->
    @@ -21,57 +22,78 @@
    Step 01 - The cast + The Server creates the instrument
    - - One Server, its instrument, and four consumers - A map of a running instrumentserver setup. In the - middle, the Server holds the real generator instrument and is the only thing - connected to the hardware. On the left, your script and a colleague's session - each hold a Proxy Instrument and send requests to the Server. Below, the - Server's GUI and a Listener receive Broadcasts from the Server. + How a configured instrument becomes a shared remote instrument + The Server reads a configuration file, creates the + real generator instrument, and connects it to an RF source. Your script connects + through a Client and builds a Proxy Instrument from a Blueprint. Calls travel + through the Client to the Server, results return to the requesting Client, and + Broadcasts update the Server GUI and a Listener. A colleague's Client reaches + the same server-side instrument. + + + connects + + + + Blueprint + + d="M260,146 C300,146 310,158 350,158" /> + d="M350,158 l-13,-5.5 l2.5,5.5 l-2.5,5.5 z" /> - request + d="M260,146 l13,-5.5 l-2.5,5.5 l2.5,5.5 z" /> + request / result + d="M260,246 C300,246 310,226 350,226" /> - requests - - + d="M350,226 l-13,-5.5 l2.5,5.5 l-2.5,5.5 z" /> + + same Server + + - the only connection + d="M730,142 l-13,-5.5 l2.5,5.5 l-2.5,5.5 z" /> + connection + d="M438,280 C438,315 410,315 410,342" /> - + Broadcast + d="M565,280 C565,315 730,315 730,342" /> - Broadcast + d="M730,350 l-5.5,-13 l5.5,2.5 l5.5,-2.5 z" /> + Broadcast + + + @@ -79,46 +101,79 @@ - - your script - Proxy Instrument + + your script + + + + + Client + + + + + generator + Proxy + Instrument - - a colleague's session - Proxy Instrument + + a colleague's script + its own Client + Proxy Instrument - - Server - - generator - the real instrument + + Server + + + + + + + creates + + + + + + configuration + file + + + + + generator + real + instrument - - the hardware - an RF source on the bench + + RF source + laboratory hardware - - the Server's GUI - holds a copy + + the Server's GUI + updates the display - - a Listener - holds a copy + + a Listener + records the change @@ -128,65 +183,77 @@
  • Step 01

    -

    The cast

    -

    One Server owns the instrument. It is the only process - holding a connection to the hardware, and everyone else in the picture is a - consumer: your script, a colleague's session in the next room, the Server's - own GUI, a Listener feeding a dashboard.

    -

    They all reach the instrument the same way, whether they run on this machine - or across the network.

    +

    The Server creates the instrument

    +

    At startup, the Server reads its configuration file and + creates a real instrument named generator. The Server holds the + only connection to the RF source on the bench.

  • Step 02

    -

    You make a request

    -

    You call generator.frequency(5e9). Your generator - is a Proxy Instrument, so nothing is set locally. The call is - packed into a request and sent to the Server.

    +

    A Client connects

    +

    Your script creates a Client and connects it to the Server. + Another Client can connect from a colleague's process on the same computer or + across the network.

  • Step 03

    -

    The Server does the work

    -

    The Server finds the real instrument, takes that instrument's lock, and runs - the set on the driver that owns the hardware connection.

    -

    While it holds the lock, nobody else's call to that instrument can interleave - with yours.

    +

    The Client builds a Proxy

    +

    You ask for generator. The Server sends back a + Blueprint describing its interface, and the Client uses that + description to build a local Proxy Instrument.

  • Step 04

    -

    The answer comes back

    -

    The result travels back to the client that asked, and only to that client.

    -

    Every get you make is this same round trip. That is why a Proxy is never - stale: it has no stored value to hand you, so it always goes and asks.

    +

    You call the Proxy

    +

    You call generator.frequency(5e9). The Proxy passes the call to + the Client, which sends a request to the Server. Nothing is set locally.

  • Step 05

    -

    The Server announces it

    -

    The Server also announces the change to nobody in particular. That - announcement is a Broadcast: published once, delivered to - every subscriber.

    +

    The Server runs the call

    +

    The Server runs the set on the real generator, which communicates + with the RF source through the Server's hardware connection.

  • Step 06

    -

    The watchers update

    -

    The GUI redraws and the Listener records. They need the Broadcast because - they hold a copy of the value, and a copy can go stale.

    -

    Your colleague's session does not need it. It holds a Proxy, so the next time - it asks it gets the new value anyway.

    +

    The Server returns the result

    +

    The Server sends the result back to the Client that made the request, and + only to that Client. The Proxy call completes.

    +
    +
  • + +
  • +
    +

    Step 07

    +

    The Server publishes a Broadcast

    +

    The Server separately publishes the parameter change as a + Broadcast. It publishes the message once, and every subscriber + that is listening can receive it.

    +
    +
  • + +
  • +
    +

    Step 08

    +

    Subscribers react

    +

    The Server's GUI updates its display, and the Listener records + the change. A colleague's plain Proxy does not receive the Broadcast, but its + next read asks the same Server and gets the updated value.

  • @@ -216,8 +283,8 @@

    The watchers update

    --isf-panel: var(--pst-color-background); --isf-box: var(--pst-color-surface); - /* the map is 900x360, so this height also sets how wide it draws */ - --isf-stage-h: clamp(200px, 34vh, 330px); + /* the map is 960x430, so this height also sets how wide it draws */ + --isf-stage-h: clamp(240px, 38vh, 370px); position: relative; margin: 1.4rem 0 0.5rem; @@ -266,7 +333,7 @@

    The watchers update

    .isflow-key { position: absolute; right: 0.1rem; - bottom: 0.7rem; + top: 0.2rem; display: flex; flex-direction: column; gap: 0.2rem; @@ -296,7 +363,9 @@

    The watchers update

    fill: var(--isf-panel); stroke: var(--isf-line); stroke-width: 1.2; - stroke-dasharray: 3 3; +} +.isflow-node.kind-config .isflow-chip { + stroke-dasharray: 4 3; } .isflow-node .isflow-t1 { fill: var(--isf-ink); @@ -314,7 +383,8 @@

    The watchers update

    .isflow-node.is-lit .isflow-box { stroke-width: 2.6; } .isflow-node.kind-client.is-lit .isflow-box, -.isflow-node.kind-server.is-lit .isflow-box { +.isflow-node.kind-server.is-lit .isflow-box, +.isflow-node.kind-config.is-lit .isflow-box { stroke: var(--isf-req); filter: drop-shadow(0 0 6px var(--isf-req)); } @@ -326,7 +396,7 @@

    The watchers update

    stroke: var(--isf-cast); filter: drop-shadow(0 0 6px var(--isf-cast)); } -/* deliberately-not-involved state (the colleague at the last step) */ +/* deliberately-not-involved state */ .isflow-node.is-note { opacity: 0.65; } .isflow-node.is-note .isflow-box { stroke-dasharray: 5 4; } @@ -446,7 +516,7 @@

    The watchers update

    /* ------------------------------ small screens ---------------------------- */ @media (max-width: 720px) { - .isflow { --isf-stage-h: clamp(160px, 28vh, 260px); } + .isflow { --isf-stage-h: clamp(190px, 32vh, 290px); } .isflow-step { min-height: 46vh; } .isflow-key { display: none; } .isflow-card { padding: 0.9rem 1rem; } @@ -473,7 +543,7 @@

    The watchers update

    - runs a comet along the edge the data is travelling. With JavaScript off, or with prefers-reduced-motion, the page degrades to a - fully labelled diagram and six ordinary paragraphs. + fully labelled diagram and eight ordinary paragraphs. ========================================================================== */ (function () { "use strict"; @@ -491,38 +561,72 @@

    The watchers update

    ----------------------------------------------------------------------- */ var STEPS = [ { - no: "Step 01", title: "The cast", - lit: [], keep: [], note: [], edges: [] + no: "Step 01", title: "The Server creates the instrument", + lit: ["server", "config", "instrument", "hardware"], + keep: [], note: [], + edges: [ + { id: "create", dir: 1, label: "creates", arrows: ["create-fwd"] }, + { id: "hw", dir: 1, label: "connection", arrows: ["hw-fwd"] } + ] + }, + { + no: "Step 02", title: "A Client connects", + lit: ["script", "client", "server", "colleague"], + keep: ["instrument", "hardware"], note: [], + edges: [ + { id: "connect", dir: 1, label: "connects", arrows: ["connect-fwd"] } + ] + }, + { + no: "Step 03", title: "The Client builds a Proxy", + lit: ["client", "proxy", "server", "instrument"], + keep: ["script", "hardware", "colleague"], note: [], + edges: [ + { id: "blueprint", dir: -1, label: "Blueprint", arrows: ["blueprint-back"] } + ] }, { - no: "Step 02", title: "You make a request", - lit: ["script", "server"], keep: [], note: [], - edges: [{ id: "req", dir: 1, label: "request", arrows: ["req-fwd"] }] + no: "Step 04", title: "You call the Proxy", + lit: ["client", "proxy", "server"], + keep: ["script", "instrument", "hardware"], note: [], + edges: [ + { id: "req", dir: 1, label: "frequency(5e9)", arrows: ["req-fwd"] } + ] }, { - no: "Step 03", title: "The Server does the work", - lit: ["server", "hardware"], keep: [], note: [], - edges: [{ id: "hw", dir: 1, label: "the only connection", arrows: ["hw-fwd"] }] + no: "Step 05", title: "The Server runs the call", + lit: ["server", "instrument", "hardware"], + keep: ["script", "client", "proxy"], note: [], + edges: [ + { id: "hw", dir: 1, label: "set frequency", arrows: ["hw-fwd"] } + ] }, { - no: "Step 04", title: "The answer comes back", - lit: ["server", "script"], keep: [], note: ["colleague"], - edges: [{ id: "req", dir: -1, label: "result", arrows: ["req-back"] }] + no: "Step 06", title: "The Server returns the result", + lit: ["server", "client", "proxy"], + keep: ["script", "instrument", "hardware"], note: ["colleague"], + edges: [ + { id: "req", dir: -1, label: "result", arrows: ["req-back"] } + ] }, { - no: "Step 05", title: "The Server announces it", - lit: ["server"], keep: [], note: [], + no: "Step 07", title: "The Server publishes a Broadcast", + lit: ["server"], keep: ["instrument", "gui", "listener"], note: [], edges: [ { id: "gui", dir: 1, label: "Broadcast", arrows: ["gui-fwd"] }, { id: "lst", dir: 1, label: "Broadcast", arrows: ["lst-fwd"] } ] }, { - no: "Step 06", title: "The watchers update", - lit: ["gui", "listener"], keep: ["server"], note: ["colleague"], + no: "Step 08", title: "Subscribers react", + lit: ["gui", "listener"], + keep: ["server", "instrument", "script", "client", "proxy", "colleague"], + note: [], edges: [ - { id: "gui", dir: 1, label: "Broadcast", arrows: ["gui-fwd"] }, - { id: "lst", dir: 1, label: "Broadcast", arrows: ["lst-fwd"] } + { id: "gui", dir: 1, label: "updates", arrows: ["gui-fwd"], animate: false }, + { id: "lst", dir: 1, label: "records", arrows: ["lst-fwd"], animate: false }, + { id: "col", dir: 1, label: "same value", + arrows: ["col-fwd", "col-back"], animate: false } ] } ]; @@ -541,7 +645,7 @@

    The watchers update

    comets[c.getAttribute("data-comet")] = c; }); - var EDGE_IDS = ["req", "col", "hw", "gui", "lst"]; + var EDGE_IDS = ["create", "connect", "blueprint", "req", "col", "hw", "gui", "lst"]; var edges = {}, labels = {}; EDGE_IDS.forEach(function (id) { edges[id] = document.getElementById("isflow-edge-" + id); @@ -608,7 +712,7 @@

    The watchers update

    var isKept = st.keep.indexOf(key) > -1; g.classList.toggle("is-lit", isLit); g.classList.toggle("is-note", isNote); - g.classList.toggle("is-dim", index > 0 && !isLit && !isNote && !isKept); + g.classList.toggle("is-dim", !isLit && !isNote && !isKept); }); stopComets(); @@ -622,13 +726,13 @@

    The watchers update

    st.edges.forEach(function (e) { edges[e.id].classList.add("is-lit"); - if (!reduced) edges[e.id].classList.add("is-marching"); + if (!reduced && e.animate !== false) edges[e.id].classList.add("is-marching"); labels[e.id].textContent = e.label; labels[e.id].classList.add("is-lit"); (e.arrows || []).forEach(function (key) { if (arrows[key]) arrows[key].classList.add("is-lit"); }); - startComet(e.id, e.dir); + if (e.animate !== false) startComet(e.id, e.dir); }); } From 3d8df8a54bb5959aba47d1917cdf75dab343a02a Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 15:42:10 -0500 Subject: [PATCH 11/15] diagram revised --- docs/_static/animations/request_flow.html | 348 ++++++++++++++-------- 1 file changed, 217 insertions(+), 131 deletions(-) diff --git a/docs/_static/animations/request_flow.html b/docs/_static/animations/request_flow.html index 9e24ef1..3d04a66 100644 --- a/docs/_static/animations/request_flow.html +++ b/docs/_static/animations/request_flow.html @@ -12,7 +12,7 @@ fully labelled) with JavaScript off; the script only lights nodes and moves comets as you scroll. - The eight captions are "steps", never "stations". The conceptual map treats + The eleven captions are "steps", never "stations". The conceptual map treats the Server as the home of its instruments and leaves the internal QCoDeS Station object for the Technical Guide. --> @@ -22,58 +22,52 @@
    Step 01 - The Server creates the instrument + The Server loads its configuration
    How a configured instrument becomes a shared remote instrument The Server reads a configuration file, creates the - real generator instrument, and connects it to an RF source. Your script connects - through a Client and builds a Proxy Instrument from a Blueprint. Calls travel - through the Client to the Server, results return to the requesting Client, and - Broadcasts update the Server GUI and a Listener. A colleague's Client reaches - the same server-side instrument. + generator QCoDeS driver, and connects it to an RF source. Your script connects + through a Client, requests a Blueprint, and builds a Proxy Instrument. Later + calls and their results travel directly between that Proxy and the Server, and + Broadcasts update the Server GUI and a Listener. + d="M260,117 C300,117 310,117 350,117" /> - + + connects + d="M350,152 C310,152 300,152 260,152" /> - + + Blueprint + d="M260,186 C300,186 310,198 350,198" /> + d="M350,198 l-13,-5.5 l2.5,5.5 l-2.5,5.5 z" /> - + request / result - - - - same Server - + d="M630,132 C670,132 700,142 740,142" /> - + connection - - - + + your script - - - Client + + + + + constructs + - - - generator - Proxy - Instrument + + + Client - - - a colleague's script - its own Client + Proxy Instrument + + + generator + Proxy + Instrument @@ -132,31 +131,30 @@ background but below the two boxes it connects. --> + d="M470,132 L522,132" /> - + creates - - configuration - file + + configuration + file - - generator - real - instrument + + generator + QCoDeS driver - - RF source - laboratory hardware + + RF source + laboratory hardware @@ -183,63 +181,89 @@
  • Step 01

    -

    The Server creates the instrument

    +

    The Server loads its configuration

    At startup, the Server reads its configuration file and - creates a real instrument named generator. The Server holds the - only connection to the RF source on the bench.

    + creates generator, the QCoDeS driver for the instrument. + (Instruments can also be started from a Client at runtime.)

  • Step 02

    -

    A Client connects

    -

    Your script creates a Client and connects it to the Server. - Another Client can connect from a colleague's process on the same computer or - across the network.

    +

    The driver connects to the hardware

    +

    The generator driver establishes the Server's connection to the + RF source on the bench. No other process connects to the hardware directly.

  • Step 03

    -

    The Client builds a Proxy

    -

    You ask for generator. The Server sends back a - Blueprint describing its interface, and the Client uses that - description to build a local Proxy Instrument.

    +

    A Client connects

    +

    Your script creates a Client and establishes a two-way + connection with the Server.

  • Step 04

    -

    You call the Proxy

    -

    You call generator.frequency(5e9). The Proxy passes the call to - the Client, which sends a request to the Server. Nothing is set locally.

    +

    The Client requests a Blueprint

    +

    You ask for generator. The Client asks the Server for a + Blueprint describing that instrument's interface.

  • Step 05

    -

    The Server runs the call

    -

    The Server runs the set on the real generator, which communicates - with the RF source through the Server's hardware connection.

    +

    The Server returns the Blueprint

    +

    The Server replies to the Client with the Blueprint for + generator.

  • Step 06

    -

    The Server returns the result

    -

    The Server sends the result back to the Client that made the request, and - only to that Client. The Proxy call completes.

    +

    The Client constructs the Proxy

    +

    The Client uses the Blueprint to construct a local + Proxy Instrument named generator.

  • Step 07

    +

    You call the Proxy

    +

    You call generator.frequency(5e9). The Proxy sends the request + directly to the Server; the standalone Client that constructed it is not + involved. Nothing is set locally.

    +
    +
  • + +
  • +
    +

    Step 08

    +

    The Server runs the call

    +

    The Server runs the set on the real generator, which communicates + with the RF source through the Server's hardware connection.

    +
    +
  • + +
  • +
    +

    Step 09

    +

    The Server returns the result

    +

    The Server sends the result back to the Proxy that made the request. The Proxy + call completes.

    +
    +
  • + +
  • +
    +

    Step 10

    The Server publishes a Broadcast

    The Server separately publishes the parameter change as a Broadcast. It publishes the message once, and every subscriber @@ -247,15 +271,15 @@

    The Server publishes a Broadcast

  • -
  • +
  • -

    Step 08

    +

    Step 11

    Subscribers react

    The Server's GUI updates its display, and the Listener records - the change. A colleague's plain Proxy does not receive the Broadcast, but its - next read asks the same Server and gets the updated value.

    + the change.

  • +
    @@ -294,13 +318,20 @@

    Subscribers react

    .isflow-stage { position: sticky; - top: var(--pst-header-height, 4rem); + top: calc(var(--pst-header-height, 4rem) + 1rem); z-index: 2; height: var(--isf-stage-h); - padding: 0.2rem 0 0.5rem; + padding: 2rem 0 0.5rem; background: var(--isf-panel); border-bottom: 1px solid var(--pst-color-border-muted); } +.isflow-stage::before { + content: ""; + position: absolute; + inset: -1rem 0 auto; + height: 1rem; + background: var(--isf-panel); +} .isflow-map { width: 100%; @@ -310,7 +341,7 @@

    Subscribers react

    .isflow-hud { position: absolute; - top: 0.1rem; + top: 0; left: 0.1rem; display: flex; flex-direction: column; @@ -333,7 +364,7 @@

    Subscribers react

    .isflow-key { position: absolute; right: 0.1rem; - top: 0.2rem; + top: 0.1rem; display: flex; flex-direction: column; gap: 0.2rem; @@ -419,6 +450,10 @@

    Subscribers react

    .isflow-edge-label { font-size: 13px; fill: var(--isf-muted); + stroke: var(--isf-panel); + stroke-width: 6px; + stroke-linejoin: round; + paint-order: stroke fill; transition: opacity 0.3s; } .isflow.is-live .isflow-edge-label { opacity: 0; } @@ -456,24 +491,16 @@

    Subscribers react

    .isflow-steps { list-style: none; margin: 0; - padding: 0; -} -/* Height here is scroll distance per step: the card rides up through the - viewport while its step is the active one, and whatever exceeds the card's - own height is the gap to the next card. Keep it just above card height. */ -.isflow-step { - min-height: 28vh; + padding: 0.7rem 0; display: flex; - align-items: center; - margin: 0; + flex-direction: column; + gap: 0.65rem; } -/* the first card sits right under the map on load, before anything is sticky */ -.isflow-step:first-child { +.isflow-step { min-height: 0; - align-items: flex-start; - padding-top: 0.8rem; + display: block; + margin: 0; } -.isflow-step:last-child { min-height: 20vh; } .isflow-card { width: 100%; @@ -486,6 +513,14 @@

    Subscribers react

    border-radius: 0.5rem; transition: opacity 0.4s, transform 0.4s, box-shadow 0.4s; } +.isflow.is-live .isflow-card { cursor: pointer; } +.isflow.is-live .isflow-card:hover { + border-color: var(--isf-req); +} +.isflow.is-live .isflow-card:focus-visible { + outline: 3px solid var(--isf-req); + outline-offset: 3px; +} /* Same idea as the labels: all cards read normally without JavaScript. */ .isflow.is-live .isflow-card { opacity: 0.45; @@ -517,7 +552,7 @@

    Subscribers react

    @media (max-width: 720px) { .isflow { --isf-stage-h: clamp(190px, 32vh, 290px); } - .isflow-step { min-height: 46vh; } + .isflow-steps { gap: 0.5rem; } .isflow-key { display: none; } .isflow-card { padding: 0.9rem 1rem; } } @@ -543,7 +578,7 @@

    Subscribers react

    - runs a comet along the edge the data is travelling. With JavaScript off, or with prefers-reduced-motion, the page degrades to a - fully labelled diagram and eight ordinary paragraphs. + fully labelled diagram and eleven ordinary paragraphs. ========================================================================== */ (function () { "use strict"; @@ -561,56 +596,82 @@

    Subscribers react

    ----------------------------------------------------------------------- */ var STEPS = [ { - no: "Step 01", title: "The Server creates the instrument", - lit: ["server", "config", "instrument", "hardware"], + no: "Step 01", title: "The Server loads its configuration", + lit: ["server", "config", "instrument"], + keep: [], note: [], + edges: [ + { id: "create", dir: 1, label: "creates", arrows: ["create-fwd"] } + ] + }, + { + no: "Step 02", title: "The driver connects to the hardware", + lit: ["server", "instrument", "hardware"], keep: [], note: [], edges: [ - { id: "create", dir: 1, label: "creates", arrows: ["create-fwd"] }, { id: "hw", dir: 1, label: "connection", arrows: ["hw-fwd"] } ] }, { - no: "Step 02", title: "A Client connects", - lit: ["script", "client", "server", "colleague"], + no: "Step 03", title: "A Client connects", + lit: ["script", "client", "server"], + keep: ["instrument", "hardware"], note: [], + edges: [ + { id: "connect", dir: 1, label: "connects", + arrows: ["connect-fwd", "connect-back"], pingPong: true } + ] + }, + { + no: "Step 04", title: "The Client requests a Blueprint", + lit: ["script", "client", "server"], keep: ["instrument", "hardware"], note: [], edges: [ - { id: "connect", dir: 1, label: "connects", arrows: ["connect-fwd"] } + { id: "blueprint", dir: -1, label: "request", + arrows: ["blueprint-fwd"] } + ] + }, + { + no: "Step 05", title: "The Server returns the Blueprint", + lit: ["client", "server", "instrument"], + keep: ["script", "hardware"], note: [], + edges: [ + { id: "blueprint", dir: 1, label: "Blueprint", + arrows: ["blueprint-back"] } ] }, { - no: "Step 03", title: "The Client builds a Proxy", - lit: ["client", "proxy", "server", "instrument"], - keep: ["script", "hardware", "colleague"], note: [], + no: "Step 06", title: "The Client constructs the Proxy", + lit: ["script", "client", "proxy"], + keep: ["server", "instrument", "hardware"], note: [], edges: [ - { id: "blueprint", dir: -1, label: "Blueprint", arrows: ["blueprint-back"] } + { id: "build", dir: 1, label: "constructs", arrows: ["build-fwd"] } ] }, { - no: "Step 04", title: "You call the Proxy", - lit: ["client", "proxy", "server"], + no: "Step 07", title: "You call the Proxy", + lit: ["proxy", "server"], keep: ["script", "instrument", "hardware"], note: [], edges: [ { id: "req", dir: 1, label: "frequency(5e9)", arrows: ["req-fwd"] } ] }, { - no: "Step 05", title: "The Server runs the call", + no: "Step 08", title: "The Server runs the call", lit: ["server", "instrument", "hardware"], - keep: ["script", "client", "proxy"], note: [], + keep: ["script", "proxy"], note: [], edges: [ { id: "hw", dir: 1, label: "set frequency", arrows: ["hw-fwd"] } ] }, { - no: "Step 06", title: "The Server returns the result", - lit: ["server", "client", "proxy"], - keep: ["script", "instrument", "hardware"], note: ["colleague"], + no: "Step 09", title: "The Server returns the result", + lit: ["server", "proxy"], + keep: ["script", "instrument", "hardware"], note: [], edges: [ { id: "req", dir: -1, label: "result", arrows: ["req-back"] } ] }, { - no: "Step 07", title: "The Server publishes a Broadcast", + no: "Step 10", title: "The Server publishes a Broadcast", lit: ["server"], keep: ["instrument", "gui", "listener"], note: [], edges: [ { id: "gui", dir: 1, label: "Broadcast", arrows: ["gui-fwd"] }, @@ -618,15 +679,12 @@

    Subscribers react

    ] }, { - no: "Step 08", title: "Subscribers react", + no: "Step 11", title: "Subscribers react", lit: ["gui", "listener"], - keep: ["server", "instrument", "script", "client", "proxy", "colleague"], - note: [], + keep: ["server", "instrument", "script", "client", "proxy"], note: [], edges: [ { id: "gui", dir: 1, label: "updates", arrows: ["gui-fwd"], animate: false }, - { id: "lst", dir: 1, label: "records", arrows: ["lst-fwd"], animate: false }, - { id: "col", dir: 1, label: "same value", - arrows: ["col-fwd", "col-back"], animate: false } + { id: "lst", dir: 1, label: "records", arrows: ["lst-fwd"], animate: false } ] } ]; @@ -645,7 +703,7 @@

    Subscribers react

    comets[c.getAttribute("data-comet")] = c; }); - var EDGE_IDS = ["create", "connect", "blueprint", "req", "col", "hw", "gui", "lst"]; + var EDGE_IDS = ["create", "build", "connect", "blueprint", "req", "hw", "gui", "lst"]; var edges = {}, labels = {}; EDGE_IDS.forEach(function (id) { edges[id] = document.getElementById("isflow-edge-" + id); @@ -673,25 +731,28 @@

    Subscribers react

    }); } - function startComet(id, dir) { + function startComet(id, dir, pingPong) { var path = edges[id], comet = comets[id]; if (reduced || !path || !comet || typeof path.getTotalLength !== "function") return; var len = path.getTotalLength(); if (!len) return; - var duration = 1300; + var duration = pingPong ? 1800 : 1300; var begin = null; comet.classList.add("is-on"); function tick(now) { if (begin === null) begin = now; var p = ((now - begin) % duration) / duration; - var at = dir < 0 ? (1 - p) * len : p * len; + var travelled = pingPong + ? (p <= 0.5 ? p * 2 : (1 - p) * 2) + : p; + var at = dir < 0 ? (1 - travelled) * len : travelled * len; var pt = path.getPointAtLength(at); comet.setAttribute("cx", pt.x); comet.setAttribute("cy", pt.y); /* fade in and out at the ends so the loop does not snap */ - comet.style.opacity = Math.sin(Math.PI * p).toFixed(3); + comet.style.opacity = pingPong ? "1" : Math.sin(Math.PI * p).toFixed(3); frames[id] = requestAnimationFrame(tick); } frames[id] = requestAnimationFrame(tick); @@ -732,7 +793,7 @@

    Subscribers react

    (e.arrows || []).forEach(function (key) { if (arrows[key]) arrows[key].classList.add("is-lit"); }); - if (e.animate !== false) startComet(e.id, e.dir); + if (e.animate !== false) startComet(e.id, e.dir, e.pingPong === true); }); } @@ -744,11 +805,36 @@

    Subscribers react

    current = index; stepEls.forEach(function (s, i) { s.classList.toggle("is-active", i === index); + var card = s.querySelector(".isflow-card"); + if (card) card.setAttribute("aria-pressed", i === index ? "true" : "false"); }); applyStep(index); } root.classList.add("is-live"); + + /* Cards are direct controls as well as scroll markers. Keep their activation + on the same setActive path used by the observer so both interactions stay + in sync. */ + stepEls.forEach(function (step, index) { + var card = step.querySelector(".isflow-card"); + if (!card) return; + var title = card.querySelector("h3"); + card.setAttribute("role", "button"); + card.setAttribute("tabindex", "0"); + card.setAttribute( + "aria-label", + "Show " + STEPS[index].no + ": " + (title ? title.textContent : STEPS[index].title) + ); + card.addEventListener("click", function () { setActive(index); }); + card.addEventListener("keydown", function (event) { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + setActive(index); + } + }); + }); + setActive(0); /* A thin band just under the sticky map: the step crossing it is the one From 7c7a28860be1733f5f59ead2c921e0d9633ffc8f Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 17:34:21 -0500 Subject: [PATCH 12/15] How it works final revision --- docs/getting_started/how_it_works.md | 217 +++++++++------------------ 1 file changed, 70 insertions(+), 147 deletions(-) diff --git a/docs/getting_started/how_it_works.md b/docs/getting_started/how_it_works.md index 631516f..ced45b2 100644 --- a/docs/getting_started/how_it_works.md +++ b/docs/getting_started/how_it_works.md @@ -1,156 +1,79 @@ # How It Works -Instrumentserver gives many programs access to the same laboratory hardware without -giving each program its own hardware connection. One server process owns the -instruments; clients send it requests and receive the results. +Laboratory hardware needs a single authoritative owner. If every script, GUI, and +Listener opened its own connection, they could disagree about the instrument's state or +send it conflicting commands. Instrumentserver keeps the real instrument in one +**Server** and gives each consumer a shared way to reach it. -That division is the central idea behind the project. Everything else—Proxy -Instruments, Blueprints, and Broadcasts—exists to make the shared instrument feel -natural to use. +## Following the diagram -Before any of the detail, here is the whole thing in motion. Scroll on: the map -stays with you while one request makes the round trip, and then one Broadcast goes -out. +The diagram follows one instrument, `generator`, from Server startup through a parameter +call and the resulting **Broadcast**. ```{raw} html :file: ../_static/animations/request_flow.html ``` -## One owner for every instrument - -Opening the same instrument from several processes is risky. Some devices permit only -one connection, while others accept several but do nothing to prevent commands from -different programs from being interleaved. Either way, coordinating access becomes the -responsibility of every measurement script, notebook, GUI, and monitor. - -Instrumentserver puts that coordination in one place: - -% TODO: Make this a proper and pretty diagram -```text -measurement script ──┐ -notebook ────────────┼── requests ──> Server ──> QCoDeS Station ──> instruments -instrument GUI ──────┤ │ -monitor ─────────────┘ └── updates ──> subscribers -``` - -The **Server** holds the -[QCoDeS Station](https://microsoft.github.io/Qcodes/api/station.html) and creates the -real instrument objects. It is the only process that opens connections to the hardware. A **Client** can run -in the same process, elsewhere on the same computer, or on another computer; it uses -the same network protocol in every case. - -```python -from instrumentserver.client import Client - -local = Client() -remote = Client(host="192.168.1.42", port=5555) -``` - -The server can run with its own GUI or without one. Instrument controls opened from the -server window still use an embedded client to make calls. The detached GUI is a separate -client that connects by host and port. Instrument access therefore does not depend on a -particular window being open. - -## A local stand-in for a remote instrument - -When a client asks for an instrument, it receives a **Proxy Instrument**, not the real -driver object: - -```python -generator = local.find_or_create_instrument( - "generator", - "instrumentserver.testing.dummy_instruments.rf.Generator", -) - -generator.frequency(5e9) # set on the server -frequency = generator.frequency() # get from the server -``` - -The proxy looks like a QCoDeS instrument. It has parameters, methods, and submodules, -but it does not communicate with the hardware itself. Calling a proxy parameter or -method sends a request to the Server, where the corresponding operation runs on the -real instrument. The result is then returned to the caller. - -Parameter calls do not use a previously fetched value as their answer. Each -`generator.frequency()` call makes a new request, so two clients see the same -server-side state when they read the parameter: - -```python -# client A -generator_a.frequency(7e9) - -# client B -generator_b.frequency() -# 7000000000.0 -``` - -Like ordinary QCoDeS parameters, a Proxy Parameter may retain its last value in its -local QCoDeS cache. That cache is useful as a record of the last call, but it is not the -shared source of truth. Call the parameter to read the current value from the Server. - -## How the proxy learns the interface - -The client usually does not import the instrument driver, so it needs another way to -discover that `generator` has a `frequency` parameter. The Server supplies a -**Blueprint**: serializable metadata describing an instrument's parameters, public -methods, submodules, documentation, and method signatures. - -The client builds the proxy from that description. It caches Blueprints to avoid -repeating the same introspection request, while parameter gets and method calls continue -to go to the Server. If an instrument changes its interface at runtime—for example, by -adding a parameter—the proxy can refresh its Blueprint. - -This separation means the hardware driver normally needs to be installed only on the -server computer. There is one important boundary: values returned over the network must -be serializable. Built-in values and supported containers work directly. Reconstructing -certain rich values, such as an enum or a supported custom object, may require the -defining package on the client as well. NumPy arrays require NumPy, which is already an -instrumentserver dependency. - -## What happens during a call - -Consider `generator.frequency(5e9)`. The complete trip is: - -1. The Proxy Parameter creates a request naming `generator.frequency` and carrying the - value `5e9`. -2. The Client serializes the request and sends it to the Server. -3. The Server dispatches the request to a worker thread and locates the real parameter - in its Station. -4. The worker acquires the lock for `generator`, calls the parameter, and releases the - lock when the operation finishes. -5. The Server sends the result back to the Client. It also publishes a parameter-update - notification for anything subscribed to generator updates. - -Requests for the same instrument are serialized by the instrument's lock. Requests for -different instruments can run concurrently. A long operation on one instrument -therefore does not have to block unrelated work on another instrument, while two clients -cannot issue overlapping calls to the same driver. - -## Broadcasts keep views up to date - -Request and response traffic is one-to-one: a result goes back to the client that made -the call. Live displays need a separate one-to-many path. The Server therefore publishes -a **Broadcast** whenever a parameter is read or set through instrumentserver, and when a -dynamic parameter is created or removed. - -GUIs and monitoring processes subscribe to these messages. A set produces a -`parameter-update` Broadcast, so every open instrument view can display the new value -without polling the parameter itself. A get produces a `parameter-call` Broadcast, -which can also feed a monitor. Broadcasts travel on the port immediately above the -request port: a server on port `5555` publishes on `5556`. - -Broadcasts are notifications, not a second store of instrument state. They may be -missed if a subscriber is disconnected, and they do not detect a value changed directly -at the hardware or by software outside instrumentserver. To observe values that change -on their own, configure parameter polling; each poll performs a server-side get, which -then produces a Broadcast. - -## The pieces in one sentence - -The Server owns the real QCoDeS instruments, Blueprints describe their interfaces, -Proxy Instruments turn client-side calls into server requests, and Broadcasts fan -parameter activity out to GUIs and monitors. - -The [User Guide](../user_guide/index.md) explains how to use each of those features. For -the socket, threading, serialization, and locking details, continue to the -[Technical Guide](../technical_guide/index.md). +### The Server owns the instrument + +A QCoDeS driver is a live software object that maintains a connection to an instrument +and translates parameter operations into commands the hardware understands. +Instrumentserver instantiates that driver once and keeps it alive in the Server, independently +of any individual script or GUI. In the diagram, `generator` is this real driver. + +The Server can create instruments from its configuration when it starts, as shown here, +or a Client can ask it to create one later. The creation path only determines when the +instrument becomes available. Once created, every Client reaches the same driver and the +same hardware connection. Closing one Client does not close the instrument or transfer +ownership to another Client. + +### The Client builds a Proxy Instrument + +The **Client** provides the initial connection to the Server and discovers which +instruments are available. When it asks for `generator`, the Server returns a +**Blueprint** rather than the real driver. The Blueprint describes the driver's public +interface, including its parameters, methods, and submodules. + +The Client uses this description to construct a **Proxy Instrument** inside your script. +The distinction between the Client and the Proxy is useful: the Client provides access +to the Server as a whole, while each Proxy represents one particular instrument. Your +code can work with the Proxy through the familiar QCoDeS interface without creating the +real driver or connecting to the hardware itself. + +The Blueprint is only the information needed to construct that local interface. The +Proxy is not a copy of the instrument or its state. It forwards operations to the one +real driver owned by the Server, which keeps every consumer working with the same +instrument. + +### A call reaches the hardware + +Calling `generator.frequency(5e9)` looks like an ordinary parameter operation in your +script, but the Proxy does not set anything locally. It forwards the operation to the +Server, which runs it on the real `generator` driver. The driver then translates the +parameter operation into the command understood by the RF source. + +From your script's perspective, the call remains a single operation. It completes when +the Server has finished interacting with the instrument and returned the result to the +Proxy. Parameter reads follow the same round trip, so they retrieve the Server's current +instrument state rather than relying on a separate local copy. + +### A Broadcast reaches subscribers + +The Proxy that made a call already receives its result directly, but other consumers may +also need to know that a parameter changed. The Server therefore publishes a +**Broadcast** that every listening subscriber can receive. One message can update many +consumers without each of them querying the instrument again. + +Broadcasts are especially useful for consumers that maintain a view or record of +instrument activity. The Server's GUI uses them to keep its displayed values current, +while a **Listener** can save the same activity elsewhere. These subscribers observe what +happened, but they do not take part in the original call or become owners of the +instrument. + +A Broadcast is an announcement, not another copy of the instrument's state. The Server +and its real driver remain authoritative, while subscribers use Broadcasts to keep their +own displays and records in sync. + +This overview leaves out the machinery beneath these paths. Continue to the +[Technical Guide](../technical_guide/architecture.md) for the request lifecycle, +networking, concurrency, and other implementation details. From 061365896e39081e0d3ba0c87940bda05cc78f3a Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 20:01:28 -0500 Subject: [PATCH 13/15] Cleaning up index.md --- docs/getting_started/index.md | 23 +++++++++++++++---- .../getting_started/verify_quickstart.py | 3 +-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/docs/getting_started/index.md b/docs/getting_started/index.md index fa613ac..6659977 100644 --- a/docs/getting_started/index.md +++ b/docs/getting_started/index.md @@ -1,15 +1,30 @@ # Getting Started -:::{admonition} 🚧 This page is planned, not yet written -:class: warning -It will be replaced with verified content as the documentation refactor progresses. +Start here if you're new to instrumentserver. These pages take you from installation +to a running Server and your first parameter call, then explain how the pieces work +together. + +Read them in order for a complete introduction: + +1. [Installation](installation.md) sets up instrumentserver and checks that its command + line tools are available. +2. [Quickstart](quickstart.md) starts a Server, creates a dummy instrument, and controls + it from a separate Python session. +3. [How it works](how_it_works.md) introduces Servers, Clients, Proxy Instruments, + Blueprints, and Broadcasts. + +:::{admonition} Legacy overview +:class: caution +The older [Instrumentserver Overview](overview.md) is still available because it covers +some Server networking, Parameter Manager, and configuration topics that the new guides +don't cover yet. It has not been re-verified and may be out of date. ::: ```{toctree} :maxdepth: 1 -overview installation quickstart how_it_works +overview ``` diff --git a/test/docs_verification/getting_started/verify_quickstart.py b/test/docs_verification/getting_started/verify_quickstart.py index fcf911d..b172168 100644 --- a/test/docs_verification/getting_started/verify_quickstart.py +++ b/test/docs_verification/getting_started/verify_quickstart.py @@ -36,8 +36,7 @@ def section_start_bare() -> None: # server actually answers with a list of names (audit entry). instruments = cli.list_instruments() assert instruments == [], ( - f"A bare server should start with no instruments, " - f"got {instruments!r}" + f"A bare server should start with no instruments, got {instruments!r}" ) print("section_start_bare: OK") From 281ae57bc6d4148001a5c65ec6eba26a08fa0c18 Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 20:26:13 -0500 Subject: [PATCH 14/15] Fixed mismatch with master --- src/instrumentserver/config.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/instrumentserver/config.py b/src/instrumentserver/config.py index 558207c..92bb950 100644 --- a/src/instrumentserver/config.py +++ b/src/instrumentserver/config.py @@ -47,10 +47,13 @@ def loadConfig( yaml = ruamel.yaml.YAML() rawConfig = yaml.load(configPath) - # An empty (or all-comments) file loads as None; fail with a clear message - # instead of a confusing TypeError below. + # ruamel.yaml returns ``None`` for an empty (or comments-only) config + # file. The membership test on the next line would then raise an opaque + # ``TypeError: argument of type 'NoneType' is not iterable``, so we + # surface a descriptive error that matches the style of the missing-key + # message below. if rawConfig is None: - raise ValueError( + raise AttributeError( f"The config file '{configPath}' is empty. " "It needs at least an 'instruments:' section." ) From fde4c57841c1c179abf7512d7b482887733ec16b Mon Sep 17 00:00:00 2001 From: marcosf2 Date: Tue, 18 Aug 2026 20:34:55 -0500 Subject: [PATCH 15/15] Adding quickstartConfig.yml --- test/docs_verification/getting_started/quickstartConfig.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 test/docs_verification/getting_started/quickstartConfig.yml diff --git a/test/docs_verification/getting_started/quickstartConfig.yml b/test/docs_verification/getting_started/quickstartConfig.yml new file mode 100644 index 0000000..4472262 --- /dev/null +++ b/test/docs_verification/getting_started/quickstartConfig.yml @@ -0,0 +1,6 @@ +# The exact config file shown in docs/getting_started/quickstart.md +# (section: Starting with a config file). Keep the two in sync. +instruments: + generator: + type: instrumentserver.testing.dummy_instruments.rf.Generator + initialize: True