From 824a912d39d29d36e9b92fcb406db9724153fcf4 Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 28 Dec 2023 13:00:13 -0600 Subject: [PATCH 01/46] feat: browser sat (#51) # Description Introduces a web browser voice satellite option with OpenWakeWord and Silero VAD running in JavaScript, all served via FastAPI. Allows for both text and voice commands to a Neon Diana deployment. This new option may one day replace the Gradio webpage. --------- Co-authored-by: Daniel McKnight --- .dockerignore | 5 + .github/workflows/publish_release.yml | 13 +- .github/workflows/publish_test_build.yml | 13 +- Dockerfile | 54 ++- README.md | 117 ++++++- docker_overlay/etc/neon/neon.yaml | 3 +- docker_overlay/neon_iris/entrypoint.sh | 37 ++ neon_iris/cli.py | 13 + neon_iris/client.py | 2 +- neon_iris/models/__init__.py | 27 ++ neon_iris/models/web_sat.py | 42 +++ neon_iris/static/custom/error.mp3 | Bin 0 -> 13290 bytes neon_iris/static/custom/favicon.ico | Bin 0 -> 9330 bytes neon_iris/static/custom/logo.webp | Bin 0 -> 9330 bytes neon_iris/static/custom/wake.mp3 | Bin 0 -> 6268 bytes neon_iris/static/scripts/audio.js | 110 ++++++ neon_iris/static/scripts/sprite.js | 20 ++ neon_iris/static/scripts/ui.js | 150 ++++++++ neon_iris/static/scripts/websocket.js | 162 +++++++++ neon_iris/static/sprite.css | 61 ++++ neon_iris/static/styles.css | 196 +++++++++++ neon_iris/templates/index.html | 42 +++ neon_iris/version.py | 3 +- .../wakeword_models/hey_neon/hey_neon.onnx | Bin 0 -> 205430 bytes .../wakeword_models/hey_neon/hey_neon.tflite | Bin 0 -> 206748 bytes .../hey_neon/hey_neon_high.onnx | Bin 0 -> 205430 bytes .../hey_neon/hey_neon_high.tflite | Bin 0 -> 206748 bytes neon_iris/web_client.py | 4 +- neon_iris/web_sat_client.py | 325 ++++++++++++++++++ requirements/web_sat.txt | 8 + setup.py | 10 +- 31 files changed, 1389 insertions(+), 28 deletions(-) create mode 100644 .dockerignore create mode 100755 docker_overlay/neon_iris/entrypoint.sh create mode 100644 neon_iris/models/__init__.py create mode 100644 neon_iris/models/web_sat.py create mode 100644 neon_iris/static/custom/error.mp3 create mode 100644 neon_iris/static/custom/favicon.ico create mode 100644 neon_iris/static/custom/logo.webp create mode 100644 neon_iris/static/custom/wake.mp3 create mode 100644 neon_iris/static/scripts/audio.js create mode 100644 neon_iris/static/scripts/sprite.js create mode 100644 neon_iris/static/scripts/ui.js create mode 100644 neon_iris/static/scripts/websocket.js create mode 100644 neon_iris/static/sprite.css create mode 100644 neon_iris/static/styles.css create mode 100644 neon_iris/templates/index.html create mode 100644 neon_iris/wakeword_models/hey_neon/hey_neon.onnx create mode 100644 neon_iris/wakeword_models/hey_neon/hey_neon.tflite create mode 100644 neon_iris/wakeword_models/hey_neon/hey_neon_high.onnx create mode 100644 neon_iris/wakeword_models/hey_neon/hey_neon_high.tflite create mode 100644 neon_iris/web_sat_client.py create mode 100644 requirements/web_sat.txt diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..78d0f1a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.git/ +tests/ +*.egg-info +build/ +dist/ diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index ff73f4a..2740690 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -10,7 +10,16 @@ jobs: build_and_publish_pypi_and_release: uses: neongeckocom/.github/.github/workflows/publish_stable_release.yml@master secrets: inherit - build_and_publish_docker: + build_and_publish_docker_gradio: needs: build_and_publish_pypi_and_release uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master - secrets: inherit \ No newline at end of file + secrets: inherit + with: + build_args: EXTRAS=gradio + build_and_publish_docker_websat: + needs: build_and_publish_pypi_and_release + uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master + secrets: inherit + with: + build_args: EXTRAS=web_sat + image_name: ${{ github.repository }}-websat \ No newline at end of file diff --git a/.github/workflows/publish_test_build.yml b/.github/workflows/publish_test_build.yml index 5d9d572..2af420a 100644 --- a/.github/workflows/publish_test_build.yml +++ b/.github/workflows/publish_test_build.yml @@ -16,7 +16,16 @@ jobs: version_file: "neon_iris/version.py" setup_py: "setup.py" publish_prerelease: true - build_and_publish_docker: + build_and_publish_docker_gradio: needs: publish_alpha_release uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master - secrets: inherit \ No newline at end of file + secrets: inherit + with: + build_args: EXTRAS=gradio + build_and_publish_docker_websat: + needs: publish_alpha_release + uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master + secrets: inherit + with: + build_args: EXTRAS=web_sat + image_name: ${{ github.repository }}-websat \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 139a09a..3ee3a8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,55 @@ +# Stage 1: Use a base image to install ffmpeg +FROM jrottenberg/ffmpeg:4.1 as ffmpeg-base + +# Stage 2: Build the final image FROM python:3.8-slim +# Label for vendor LABEL vendor=neon.ai \ ai.neon.name="neon-iris" -ENV OVOS_CONFIG_BASE_FOLDER neon -ENV OVOS_CONFIG_FILENAME neon.yaml -ENV XDG_CONFIG_HOME /config +# Build argument for specifying extras +ARG EXTRAS -RUN apt update && \ - apt install -y ffmpeg +ENV OVOS_CONFIG_BASE_FOLDER=neon \ + OVOS_CONFIG_FILENAME=neon.yaml \ + XDG_CONFIG_HOME=/config -ADD . /neon_iris -WORKDIR /neon_iris +# Copy ffmpeg binaries from the ffmpeg-base stage +COPY --from=ffmpeg-base /usr/local/bin/ /usr/local/bin/ +COPY --from=ffmpeg-base /usr/local/lib/ /usr/local/lib/ -RUN pip install wheel && \ - pip install .[gradio] +RUN mkdir -p /neon_iris/requirements +COPY ./requirements/* /neon_iris/requirements + +RUN pip install wheel && pip install -r /neon_iris/requirements/requirements.txt +RUN if [ "$EXTRAS" = "gradio" ]; then \ + pip install -r /neon_iris/requirements/gradio.txt; \ + elif [ "$EXTRAS" = "web_sat" ]; then \ + pip install -r /neon_iris/requirements/web_sat.txt; \ + else \ + pip install -r /neon_iris/requirements/requirements.txt; \ + fi + +WORKDIR /neon_iris +ADD . /neon_iris +RUN pip install . COPY docker_overlay/ / -CMD ["iris", "start-gradio"] \ No newline at end of file +# Expose port 8000 for websat +EXPOSE 8000 + +# Set the ARG value as an environment variable +ENV EXTRAS=${EXTRAS} + +# Create a non-root user with a home directory and change ownership of necessary directories + +RUN groupadd -r neon && useradd -r -m -g neon neon \ + && mkdir -p /config/neon \ + && chown -R neon:neon /neon_iris /usr/local/bin /config + +# Use the non-root user to run the container +USER neon + +ENTRYPOINT ["/neon_iris/entrypoint.sh"] diff --git a/README.md b/README.md index 16a537e..90182f5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Neon Iris + Neon Iris (Interactive Relay for Intelligence Systems) provides tools for interacting with Neon systems remotely, via [MQ](https://github.com/NeonGeckoCom/chat_api_mq_proxy). @@ -6,15 +7,18 @@ Install the Iris Python package with: `pip install neon-iris` The `iris` entrypoint is available to interact with a bus via CLI. Help is available via `iris --help`. ## Configuration -Configuration files can be specified via environment variables. By default, -`Iris` will read configuration from `~/.config/neon/diana.yaml` where + +Configuration files can be specified via environment variables. By default, +`Iris` will read configuration from `~/.config/neon/diana.yaml` where `XDG_CONFIG_HOME` is set to the default `~/.config`. -More information about configuration handling can be found +More information about configuration handling can be found [in the docs](https://neongeckocom.github.io/neon-docs/quick_reference/configuration/). -> *Note:* The neon-iris Docker image uses `neon.yaml` by default because the + +> _Note:_ The neon-iris Docker image uses `neon.yaml` by default because the > `iris` web UI is often deployed with neon-core. A default configuration might look like: + ```yaml MQ: server: neonaialpha.com @@ -34,22 +38,123 @@ iris: ``` ### Language Support + For Neon Core deployments that support language support queries via MQ, `languages` may be removed and `enable_lang_api: True` added to configuration. This will use the reported STT/TTS supported languages in place of any `iris` configuration. ## Interfacing with a Diana installation + The `iris` CLI includes utilities for interacting with a `Diana` backend. Use `iris --help` to get a current list of available commands. ### `iris start-listener` -This will start a local wake word recognizer and use a remote Neon + +This will start a local wake word recognizer and use a remote Neon instance connected to MQ for processing audio and providing responses. ### `iris start-gradio` + This will start a local webserver and serve a Gradio UI to interact with a Neon instance connected to MQ. ### `iris start-client` -This starts a CLI client for typing inputs and receiving responses from a Neon + +This starts a CLI client for typing inputs and receiving responses from a Neon instance connected via MQ. + +### `iris start-websat` + +This starts a local webserver and serves a web UI for interacting with a Neon +instance connected to MQ. + +## Docker + +### Building + +To build the Docker image, run: + +```bash +docker build -t ghcr.io/neongeckocom/neon-iris:latest . +``` + +To build the Docker image with gradio extras, run: + +```bash +docker build --build-arg EXTRAS=gradio -t ghcr.io/neongeckocom/neon-iris:latest . +``` + +To build the Docker image with websat extras, run: + +```bash +docker build --build-arg EXTRAS=websat -t ghcr.io/neongeckocom/neon-iris:latest . +``` + +### Running + +The Docker image that is built for this service runs the `iris` CLI with the +`-h` argument by default. In order to use the container to run different services, +you must override the entrypoint. For example, to run the `start-websat` service, +you would run: + +```bash +docker run --rm -p 8000:8000 ghcr.io/neongeckocom/neon-iris:latest start-websat +``` + +Running the container without any arguments gives you a list of commands that +can be run. You can choose to run any of these commands by replacing `start-websat` +in the above command with the command you want to run. + +## websat + +### Configuration + +The `websat` web UI is a simple web UI for interacting with a Neon instance. It +accepts special configuration items prefixed with `webui_` to customize the UI. + +| parameter | description | default | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | +| webui_description | The header text for the web UI | Chat with Neon | +| webui_title | The title text for the web UI in the browser | Neon AI | +| webui_input_placeholder | The placeholder text for the input box | Ask me something | +| webui_ws_url | The websocket URL to connect to, which must be accessible from the browser you're running in. Note that the default will usually fail. | ws://localhost:8000/ws | + +Iris uses the `Configuration()` class from OVOS to handle configuration. This +means that you can specify configuration in a `neon.yaml` file in the +`~/.config/neon`. When using a container, you can mount a volume to +`/home/neon/.config/neon` to provide a configuration file. + +Example configuration block: + +```yaml +iris: + webui_title: Neon AI + webui_description: Chat with Neon + webui_input_placeholder: Ask me something + webui_ws_url: wss://neonaialpha.com/ws +``` + +### Customization + +The websat web UI reads in the following items from `neon_iris/static/custom`: + +- `error.mp3` - Used for error responses +- `wake.mp3` - Used for wake word responses +- `favicon.ico` - The favicon for the web UI +- `logo.webp` - The logo for the web UI + +To customize these items, you can replace them in the `neon_iris/static/custom` folder and rebuild the image. + +### Websocket endpoint + +The websat web UI uses a websocket to communicate with OpenWakeWord, which can +load `.tflite` or `.onnx` models. The websocket endpoint is `/ws`, but since it +is served with FastAPI, it also supports `wss` for secure connections. To +use `wss`, you must provide a certificate and key file. + +### Chat history + +The websat web UI stores chat history in the browser's [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). +This allows chat history to persist between browser sessions. However, it also +means that if you clear your browser's local storage, you will lose your chat +history. This is a feature, not a bug. diff --git a/docker_overlay/etc/neon/neon.yaml b/docker_overlay/etc/neon/neon.yaml index f3f8e79..cac3cf0 100644 --- a/docker_overlay/etc/neon/neon.yaml +++ b/docker_overlay/etc/neon/neon.yaml @@ -12,6 +12,7 @@ iris: webui_chatbot_label: Chat History webui_mic_label: Speak to Neon webui_text_label: Text with Neon + webui_ws_url: ws://localhost:8000/ws # Override, as this needs to be reachable by the browser server_address: "0.0.0.0" server_port: 7860 default_lang: en-us @@ -43,4 +44,4 @@ logs: error: - pika warning: - - filelock \ No newline at end of file + - filelock diff --git a/docker_overlay/neon_iris/entrypoint.sh b/docker_overlay/neon_iris/entrypoint.sh new file mode 100755 index 0000000..e5af320 --- /dev/null +++ b/docker_overlay/neon_iris/entrypoint.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2024 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -e + +if [ "$EXTRAS" = "gradio" ]; then + exec iris start-gradio + elif [ "$EXTRAS" = "web_sat" ]; then + exec iris start-websat +else + echo "No extras specified, showing help. To execute a command, use 'docker run iris '" + exec iris -h +fi diff --git a/neon_iris/cli.py b/neon_iris/cli.py index 2539846..5b7fd59 100644 --- a/neon_iris/cli.py +++ b/neon_iris/cli.py @@ -138,6 +138,19 @@ def start_gradio(): click.echo("Unable to connect to MQ server") +@neon_iris_cli.command(help="Create a Web Voice Satellite session") +@click.option("--port", "-p", default=8000, help="Port to run on, defaults to 8000") +@click.option("--host", default="0.0.0.0", help="Host to run on, defaults to 0.0.0.0") +def start_websat(port, host): + from neon_iris.web_sat_client import app + _print_config() + try: + import uvicorn + uvicorn.run(app, host=host, port=port) + except OSError: + click.echo("Unable to connect to MQ server") + + @neon_iris_cli.command(help="Query Neon Core for supported languages") def get_languages(): from neon_iris.util import query_neon diff --git a/neon_iris/client.py b/neon_iris/client.py index a79984b..62f8db7 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -333,7 +333,7 @@ def _send_utterance(self, utterance: str, lang: str, self._send_serialized_message(serialized) def _send_audio(self, audio_file: str, lang: str, - username: str, user_profiles: list, + username: Optional[str], user_profiles: Optional[list], context: Optional[dict] = None): context = context or dict() audio_data = encode_file_to_base64_string(audio_file) diff --git a/neon_iris/models/__init__.py b/neon_iris/models/__init__.py new file mode 100644 index 0000000..2886d6b --- /dev/null +++ b/neon_iris/models/__init__.py @@ -0,0 +1,27 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2024 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from .web_sat import UserInput, UserInputResponse # noqa \ No newline at end of file diff --git a/neon_iris/models/web_sat.py b/neon_iris/models/web_sat.py new file mode 100644 index 0000000..08ab5ef --- /dev/null +++ b/neon_iris/models/web_sat.py @@ -0,0 +1,42 @@ +"""API data models for the WebSAT API.""" +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2024 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from typing import Optional +from pydantic import BaseModel + +class UserInput(BaseModel): + """UserInput is the input data model for the WebSAT API.""" + utterance: Optional[str] = "" + audio_input: Optional[str] = "" + session_id: str = "websat0000" + +class UserInputResponse(BaseModel): + """UserInputResponse is the response data model for the WebSAT API.""" + utterance: Optional[str] = "" + audio_output: Optional[str] = "" + session_id: str = "websat0000" + transcription: str diff --git a/neon_iris/static/custom/error.mp3 b/neon_iris/static/custom/error.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c6404ce6139c978aae456d8de88cb21658cd74d1 GIT binary patch literal 13290 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 literal 0 HcmV?d00001 diff --git a/neon_iris/static/custom/favicon.ico b/neon_iris/static/custom/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..844ecce29a09b6369a8fdbb440e082fb69cc24b5 GIT binary patch literal 9330 zcmV-&B#qmNP)`w`Ch;@oeG`*6y_%vXCia$Cuq$@4OY9B1 zB7z8tNbha=&alSaS+~s2+&eqq{thQ+ce3-`EByD)El;tisHlJm6QnUSb_YyUPfWrx zK?RerOi;ljEE7~P3Cjc(Ou{lj1(UE$P{G339WW|o#mJ09b^;30P?C!ZIn1qL?SvZM zaIOa@KhqbFH?N+sGVded5Rzi>`*I zm+CI8dr>&?DV|={^%QCfSm`%oM0wlCNxn^ zh4m-~QR9#muYTRDIf6$Zpg%ks8(^&{lNtGLMdJQm)^$5ij6PzRsaJ;TD6Bi%u=7on z7qKq-v_+R6;M+lv#vVZucX1Kul7wG-Bb-x2*Dvj%)Y%~t62E$VeA zW52u@$L8YP&&n%7gE4qB%*@HyuP#(CVO?5`1JhYo!snp#H{@4v7Z>5+4CUJ%3lTPx za1&LWY9y>1>#%Dq@b5pz%o6=pAY?49=8nz9>2IIEwsOFjlkjRvtF0ngs3l&1 z@>8+UThC|Atmq6(`xo9ibl>iKhA$WM4aF?Wk^n{h2h&>arq6v~t@VPzd6!|Xcpdd}q z?di9%zALs5$FtkSx+D#xBrJJ3V!pxRK*X+OIaC=$%2^G25cJ4P5o)1Aj@z5DvKdZ) z4|yq>UP%DS2rKP6)`a84CqjR@@=_!mCDtpwzmJw>RWk0Og4#w@Q6_ed#KCu~=!~Ai&U;Zd z9-qV0SmyVh`v^rD&u0u4Hn4F)jatka`w`_$fw(C2m`}F}0MBkxZ{p%_NWY2K|EhA2 zMRLNDm*LKKTwRXDqsIS|WyK@;EPTT0wvr}_V@$$ftZ0gn2jSIBjOGYILRfi^aq)Lt zU5R`tEtO+eQWutJ9#;ivSl<n7Zylyd2DHq_tIc#ORfK3irOMy1dLb@qH%DBhTK4wHBhfRd^^IUF>Kud8S{mEdWD%#KRhm8 z97}0F;`gHgHHXsT94Z?Px;gYdvkvX}70jicM2YW+74tPte5!uY+6iqwM2qQK{VJ2s zVE0>O@>Fr5@fZyFixm$0fOE#tbW*Aqi_&>f5g!(+Qaj>EGxs48#}Cf`82kF}~w z;Ws?t68!rZ-Y72~9H8izlJ$U=WxYH&h~49vKZJxaP*@dm?462pzpyUad125d4BZX~ zAN>|A?eNA{)bDFxKY3A*hWmSH8PB{&%Q6>kZ^q_9%;Q+97$~g0Q*d=T>q@jJ)BL!+l$PZTqY6v0SGQw?WaG>XnPdI)EsoD+U1>E7UFY$P4$X?k z+V<3UC}b9x@sP^y;@=&SbdtPTL#fvjL4#pt!A$36m465`bC_8&KNdEyc7&}59BMHS z3UT2qtb`-j*n{OJ)#)2%MkRzNm$0@S%8LaV(MzwzXfc(%*@ZQwwQr{j8Jz3Fr!Awx zfY)K`Dn^r>gq4$ol`UBQ-5tKbYyTtA{^h0EPvNhwO1&N!d62Np!c5E;vJ1WcMD8Ps|Hz6mTw8cv!>#wQ<3~_3-aa zwnzFNg%|%&Q5Dc`E_qb}%;Kf*3dpEAho#>_QVdChA~?)&r(Q2iy^TJLHLFS?oscmY z9gS)C5dI;o*oh>HGO_7(9QzpMFXgfqfX=^VSutY1QNDGmiw>U=Y@0>B9%%p4ZazV- zttM$L{T4}ULI@p?;k)4y!0E#-0qFVz-bqCG99EcrMHxIvHXD0HmUIFXMwc&5S_mzWJ`vQU!wa0 z*0sHp@JQ%dN4v1@s|;73O+~H#*!xc^3DcimMK%eCPu__@h|qmLy8J+R1>NdhbW`zI zDJ#VG5h%$MVp4nm5>&G0)fQIU$WUt3!k~@Mk5tKWYZCz@1y2bW;YY`>(CR%ZmRrwa zo)s_1OUCIRgxJ#}tkOcHU01#pKR(32H|yU?in}`q7%|q8FnkWPaHdDspWv=iBJcdK zC`{*VOpCA>iz++v&i=d`;7`Xd;ihHBk2fi2P{99}^_-$CGMzDq=F`yiN4iZ|*kJG` zSp4hpT$+y){I@N&2&;m<dnBRPIm27nnhLg&EIIj~6?ZWcw1Z!udX#rarWC)u{ zEG0(rIbrw9$aF&+7L}ow9*ya?q8s0i%GZzn;bB0#uoPbR3QF_w59!sJp_o}HC3_)WZdB~t<-ts6r^$(d|?4nuNZ2bFc#JruntxZ zLhUfWDFGS0C^_~3uywOU%RYD9RF-ZPa^x7C!&j%U>i1XfV986dX98L8RX%t& z!5dqI9wW+21^L<1Kd0ZjB*3P`e!!d{Fo3Bu(iMovf3cc~zMKp`Fqc0^B39sMvi z2DK<>wKNp9Kd#}i4*G;;VS_qd)i36!V*fNO4@IJg#YNO$7K!WN)q>~kLI&L$`bw&D z$H51q4;yX2N(V*k^H9SVOdK2$YqrvSJ^eP;cfi zLmDtHxCCI_X|9o5BBM4{Fg%Y42Vv>@K2_j$Br|kv9>7e$MA(v6!`>4k_QJ7_!8Zy? z816#CJFRYaj5(pc_>vCks%7rX;9zh+IS5O?(F(*xA+k4Ch2i!Vv8#rBCtL%0y2BQNI33B1!|}QJvpyrT$LD$U zi4QhT7#4+w!?}LmwV|NqI()`Q8G!>aZ zF^|R7t+BENV!jb0$FPMp25&^iul4WCn^~Z47eQ@#HAm<;13vFm4+Ga@=r#i9Q6g|* zq4Kq54bgGhnRE?jYdhL?5JL{;#uy<{=Hzu=Lm~Ks>r`Pk@UxMYly~U(0DZ62-ut?9G=Y# znJ-V$9sLk-fy^dn&LeCajK^BOc-GDc9gnb?aH&tAEz#ID4mVV)E)3a$pn*Kh=o40X z34V5@;*1;6pZO~Dniz8B&UPG_&I(+%_riz+BsV0>3UTTy=GmcI&eOR*TE2s(6RDgk zQsvHeY*TT1a|>q1T3&G+`h=By7Hiw^u*((CCJ22C!NZv45)I0Vaep74Tx7l*?!jm{ zl*%lpC<`fPk(UAsJGeD~XDF30ZrUUs!=`@9wVJsN#+*PcE!*Sz&?l@*f8YRxh-CF% zm@)I7_MgHvka}AtG!lOR+lHc4C2pegcWC=x-uCoOC&f9gsgUFPUs&1@yCX#105hS; zS9R)3MD}5+DsTY8KM-P7--xxYi%5mLUm!C_@Nl%6#d{Do!HKdWX4Ht^hbzmGlc@4P zWN1B$8Lor{GwKtT5$i7m4MO+%a5DTH(1b?vQ;~iL&u$|1GSaR;pLePwL(kucq+`)3 ztkOdKBz6rJ7G_pxHW}^bO8QvM=oDw8C=-Pl%zqUxm@645c!t7s6r>^VG4dblcj#~l zK;M<{BePD|DXgpq_|q79X4J5-LEDd*iKLj3=2Amm#>_r5?jYkXa+8tskon1b%={49 z3l9Y8F*1zl=G@PCbPD}fvjX3$0ZFHDb0hBU5;fO%qtWQUiqZr_r?6CyDWpTnS*&e` zp}V9N*20@xn{nz(JiBg$raeRHO*H;$?( z=hM?UVhM2!r;WS>dnPiI6591LC~;*u4oo+42p!opoNRQCSW+!y{Vx^RKh5|VC3tW% z68k0_|JQ503airg%T`E#*PEp33W-F@`N}>^0BefwtU84ylf1ALr33HnF?J^m;ouB{ z)!PJNX)IwGD_OFkTwY@A9&jch8jl60eItjBGdj z5XdLug$lNG%h>47=tsY#s&H)G5kAM*o#2d58~FD&b|)$!n2bpiI)!C;@*1&`nWN8A zs{1kI>G2z_ET#rQ`Jt>+STrYh1Te2GgVtcMvHM{lt^sKKA7gg{wBqglMfa-Eo=OQ_ zBKWk!*b~G`3W!Yj9OHW|I{HyHug_yng0T!XuIRTC<6^X?8k9a3HW(TuG~QzG zCoIYXreT;{q4ob^dOVs4OPMSMtn8WRxTWZoy`h+FE zYq^~#YPW-LN7U&m#XQx-ajB097qL46aZ%zmN`HE)Pgw4aX!ih$Jr&;$m1625Qj3zp z)(yjUAm&?~{9GiD8v6AL^a;zs2iDFc!*yilaH3yMhzk46>chPeGg0*jg?nST2UGQkt@6mraAqD(eL=DE zw3!uVXHj){=P+U!RG!b;nbD1F17>FC8pO;Voc)bZE4xZ#W`TAeA@Fq^`v`HnsWef$ zEp1hC5LW6HJk(JzN5;s=w>>k4*9wPQVAaUqDt$acFf0mjd$4aZ@*Wd5UPp}bt@?y@ zcAkcdHEJPv7$c_Iufg7vQqN2vpdY5)!?|B^_9ql)6Ej<14EGA1bF9L2Ec8~7QffH^ zUFVtRNupAeg~PKEyOMw@8yCz<7a{&i=aVbpu)32XR&PU<>y{xzGK0zDFyVR8xAuAsFsi=^{&V!i(T2QMEE;7Cy5OE3D*5bkfJmZ@i z)~^%cUTHz+qwse>W%3ixCWyGmqtd2$#O=Z5B}j;7<&m$S+&p0wiL+w^o zYPG>@|KnGtn=X%H5c73qHYF|nxAR2vX=oAw=ek1L(ITwU0{o;RTVw5xmgZx}XvFOz zX>-OSIQa0t{n%Wb=Dcm;)ts5tH6A6o6N~Ib=DQlZ8rj;4z{^mlGa8LTgE#m+thBER ze{xV3ukx~>_uKx0#iXB|CrBR8F#UAUL~J4ywd{6O~INr zczm9Uao$g*yvG98q!oyZ!m2PFpG&LOk`TOGp!=_QI{~l%rR9jag86eq&%*Duv3(el z^slV7KMJp|z}`vEUz=NDW{OA)!<-~U_Tldqq8HwCtZQqrn?#8$M?Z9*FX<#XPcGx` z4&2(vjJ4Wus)xp-nI)u_$W!gY%6WuEzRI^f79wn>;4bSUI}v}iM{Y93CT8dIjPKYt z6<3xL>qf{p^jakKNRy;fxUdj+w&{v?^y`H1In4T(U6M_wKi2Z5$`eDE08F_>cXgBX zfElYY?oe#P$^o-;c;36FEmF>q?2KD5`YuE5_9Si6px_zqY{l)Zcz8@}6&&aK%8gquzy<8hWX6%~34rul_^SiX{!G{`aqQgD zd@4pA#5;-T{JrLM9$EKs@^dT>!nPrJd_mucm3AG=LzQm>2Vkgy4h0;^xQocXOy_9R za5x4>^0`s%@RTeKhM?CURVLo4q8up~kZ=(9b}2OU5;FL-)fWl9u{R#5+~RVe~N`B7d%xF>34#$k19Bx~QOlqODf(cyDUkH?sk%;VBl8Cbv} zcf+nRxUo+8w)bMj1QAlsVap)olaBP&!ORq%*@D&9$ds^hU{>Ev-lE73_+aKEp7*Nx5m6;H0)3W9&i%$f zIHX#zbwwwYW7pzrZ0f`OqJ?mC12a~MsVc?(GH80>#KKv zcL$b*YS~W{h1%_f9?ZEmAl4b~l;$C_FYeLFz(x}T^Q8H9#Gpv#+y8?6Cpa)2t6Smz ze$884xhdE?8CwUVAXRX01rRtus0FWPWO`yK#aY-g0N2+Ur**z?*lu{42hrH|CJLUa zUw5jDI$h!32)1r0FG0>jW*C2XToSdlg*c8X$bN`Fj8_20%o5#xLD&qVb-+M)35%Ip z#$oFqie6J>achJrB)a;YvCI1NK9Uk0z9~ap12Ewd!skdXOh6<4y~x-xdM&gQ|HH*a zM(zVQ1mvPMw?fw+@pb~b&xda(Nh>Ufkh`YweWxmLa0ZUdfm{N!3!U(N6uwMJ9v+@x z)`@A?k$Dd}NhHe-2*Jh$?>|%XZ{*3@pDH5?B|xk9(fwCrcS0BBh8e3G2>yZ9R_%Fyc%<8($J;^zBrGY2E~3kpQ$fnR5G zw#+J%n~9E%3kGgL#07QtxJ!Rx-xTV;V!RN&kc59Pj6aK-twn0i)&pLlBn|raBx#Kc zHCtiQbu=2uyzcZhdMsf1SzK9${nNzm5(kV?p~S%lV^1+(J{hg7UrOrtA^dNwD`KR) zxi#8-j5m+LK_&A~*t;0E3s#QGE3vB(H4bG(;&qGzMk;+{ZpnQ4#-FBLnV6Z_k;Tzh zBsT|#+IaIQI(?%dH%>r*4B5t-wqO4XdnSm{E6y0Trc%vTh`5O6(`YSiWM-&Kp&$|M zDv~lYw48}4H{sJ(>u2hA!|21RKIXW&0ozBQw195kIAiQ$U3Tv1{U;_|;veRq1D8N5 zX#sp_3d^%8GY9Rt5LOO)KIz*5LwB-@{@vb$U1JDGyYR)>!cyQ7f^nzO;%#CZP6`an zyu%f*=2Xl=hPMAjgdqWTwcBCn4wzdhuiV{^y;Jx*_mV>z!cy$7_F9CoF(h{fggCkD zz^fVIFMz_UXVNuv{?6c8fq!odSkJoa>I!Uq10|w+ezTE`uoU>TVP>p@B3ZKs-q3iw zDvqMv$t5Ru4Z^5s=Ap(r;d#R$cw-CetoGhc?0nO>h!N-Vk`$IAbhF*Zcqb99XY<_dGP4kr z0z^07Ed||f?~R^|F!?%~Pa#(PF=QcAxk)2QXHNjZl#yw--b!Vx+iA!GC}`uK5fJ`T@fT?rnE{;S0=+E^8YrJy7a7k}ZV|3gt0 zV!l#dxwMG+GIah%v@TRNVZFe=7xR;P8L?|{V;u@#$|a$?ZAb%4Em4Ygo@hD&jYiSh zp5@4EpP?WPmlrFqoc<2BE(rfXoc62E97_k~CAhI3dm>mD!`@>Ce@c|(Vu7c+LxH&s zI(~t$cO_Kif5%ANVrMYyyMoa@eWbeGU=Ze3X!4f&*>FiN#TKtDQ&*Lp2S!Ju&4&_F z6@WfV;NFOJ<32P^eKEgUD zD9y))9!Q~6oI!sOR7C$D;TFnEaNr$QEo%SXjH*Z!_@jukKi)hBJC!LjenQ)ksx&(&o(#;dH7M&xCP?2Ah(Q8C^vFnBYKy0_%<48`D0tbMGfSFv@F z{xm^+sb0bY(DozvsLXXve}|~?1}BJnnfL=(-5QB1#N^ z@Ob4uDix~5c7qy4Sy-dpfxTGiZV7UA z751{X8|W0Htd7D0kah!+z0`Afx&|TiEd&izUx8~R=OHsn-QH4J=!NarRI3e!?yNF} zBwpssPnBWA|Nh<0t(l?M_cgMOR8wIA$VA9&L#ww0;GI1)#LDu<_ZSkey)Ijn4iE8jR*sg{GO5CKYmQ>WBFK&)-_s zz~t+2B9jjD)ex2fc^Oj9BJn6v&LRCaGd*XO#*o3*6%M}4iqAb5-Yrlw3=Xx8*k3Uy z%Eac^@hIl`Tdx)vds0K}wc)%EE5WHlM&e)X_Zd7<~A62N@%o5HQaeO!2<^$j5+bVLPB{_We$jZfhJADGEs?* z3x@B3bA2cZJRcC6P~Idg6aV5;ALC-4m!ZG58VQGm7&8gWgbMav7_t9(0d`w`Ch;@oeG`*6y_%vXCia$Cuq$@4OY9B1 zB7z8tNbha=&alSaS+~s2+&eqq{thQ+ce3-`EByD)El;tisHlJm6QnUSb_YyUPfWrx zK?RerOi;ljEE7~P3Cjc(Ou{lj1(UE$P{G339WW|o#mJ09b^;30P?C!ZIn1qL?SvZM zaIOa@KhqbFH?N+sGVded5Rzi>`*I zm+CI8dr>&?DV|={^%QCfSm`%oM0wlCNxn^ zh4m-~QR9#muYTRDIf6$Zpg%ks8(^&{lNtGLMdJQm)^$5ij6PzRsaJ;TD6Bi%u=7on z7qKq-v_+R6;M+lv#vVZucX1Kul7wG-Bb-x2*Dvj%)Y%~t62E$VeA zW52u@$L8YP&&n%7gE4qB%*@HyuP#(CVO?5`1JhYo!snp#H{@4v7Z>5+4CUJ%3lTPx za1&LWY9y>1>#%Dq@b5pz%o6=pAY?49=8nz9>2IIEwsOFjlkjRvtF0ngs3l&1 z@>8+UThC|Atmq6(`xo9ibl>iKhA$WM4aF?Wk^n{h2h&>arq6v~t@VPzd6!|Xcpdd}q z?di9%zALs5$FtkSx+D#xBrJJ3V!pxRK*X+OIaC=$%2^G25cJ4P5o)1Aj@z5DvKdZ) z4|yq>UP%DS2rKP6)`a84CqjR@@=_!mCDtpwzmJw>RWk0Og4#w@Q6_ed#KCu~=!~Ai&U;Zd z9-qV0SmyVh`v^rD&u0u4Hn4F)jatka`w`_$fw(C2m`}F}0MBkxZ{p%_NWY2K|EhA2 zMRLNDm*LKKTwRXDqsIS|WyK@;EPTT0wvr}_V@$$ftZ0gn2jSIBjOGYILRfi^aq)Lt zU5R`tEtO+eQWutJ9#;ivSl<n7Zylyd2DHq_tIc#ORfK3irOMy1dLb@qH%DBhTK4wHBhfRd^^IUF>Kud8S{mEdWD%#KRhm8 z97}0F;`gHgHHXsT94Z?Px;gYdvkvX}70jicM2YW+74tPte5!uY+6iqwM2qQK{VJ2s zVE0>O@>Fr5@fZyFixm$0fOE#tbW*Aqi_&>f5g!(+Qaj>EGxs48#}Cf`82kF}~w z;Ws?t68!rZ-Y72~9H8izlJ$U=WxYH&h~49vKZJxaP*@dm?462pzpyUad125d4BZX~ zAN>|A?eNA{)bDFxKY3A*hWmSH8PB{&%Q6>kZ^q_9%;Q+97$~g0Q*d=T>q@jJ)BL!+l$PZTqY6v0SGQw?WaG>XnPdI)EsoD+U1>E7UFY$P4$X?k z+V<3UC}b9x@sP^y;@=&SbdtPTL#fvjL4#pt!A$36m465`bC_8&KNdEyc7&}59BMHS z3UT2qtb`-j*n{OJ)#)2%MkRzNm$0@S%8LaV(MzwzXfc(%*@ZQwwQr{j8Jz3Fr!Awx zfY)K`Dn^r>gq4$ol`UBQ-5tKbYyTtA{^h0EPvNhwO1&N!d62Np!c5E;vJ1WcMD8Ps|Hz6mTw8cv!>#wQ<3~_3-aa zwnzFNg%|%&Q5Dc`E_qb}%;Kf*3dpEAho#>_QVdChA~?)&r(Q2iy^TJLHLFS?oscmY z9gS)C5dI;o*oh>HGO_7(9QzpMFXgfqfX=^VSutY1QNDGmiw>U=Y@0>B9%%p4ZazV- zttM$L{T4}ULI@p?;k)4y!0E#-0qFVz-bqCG99EcrMHxIvHXD0HmUIFXMwc&5S_mzWJ`vQU!wa0 z*0sHp@JQ%dN4v1@s|;73O+~H#*!xc^3DcimMK%eCPu__@h|qmLy8J+R1>NdhbW`zI zDJ#VG5h%$MVp4nm5>&G0)fQIU$WUt3!k~@Mk5tKWYZCz@1y2bW;YY`>(CR%ZmRrwa zo)s_1OUCIRgxJ#}tkOcHU01#pKR(32H|yU?in}`q7%|q8FnkWPaHdDspWv=iBJcdK zC`{*VOpCA>iz++v&i=d`;7`Xd;ihHBk2fi2P{99}^_-$CGMzDq=F`yiN4iZ|*kJG` zSp4hpT$+y){I@N&2&;m<dnBRPIm27nnhLg&EIIj~6?ZWcw1Z!udX#rarWC)u{ zEG0(rIbrw9$aF&+7L}ow9*ya?q8s0i%GZzn;bB0#uoPbR3QF_w59!sJp_o}HC3_)WZdB~t<-ts6r^$(d|?4nuNZ2bFc#JruntxZ zLhUfWDFGS0C^_~3uywOU%RYD9RF-ZPa^x7C!&j%U>i1XfV986dX98L8RX%t& z!5dqI9wW+21^L<1Kd0ZjB*3P`e!!d{Fo3Bu(iMovf3cc~zMKp`Fqc0^B39sMvi z2DK<>wKNp9Kd#}i4*G;;VS_qd)i36!V*fNO4@IJg#YNO$7K!WN)q>~kLI&L$`bw&D z$H51q4;yX2N(V*k^H9SVOdK2$YqrvSJ^eP;cfi zLmDtHxCCI_X|9o5BBM4{Fg%Y42Vv>@K2_j$Br|kv9>7e$MA(v6!`>4k_QJ7_!8Zy? z816#CJFRYaj5(pc_>vCks%7rX;9zh+IS5O?(F(*xA+k4Ch2i!Vv8#rBCtL%0y2BQNI33B1!|}QJvpyrT$LD$U zi4QhT7#4+w!?}LmwV|NqI()`Q8G!>aZ zF^|R7t+BENV!jb0$FPMp25&^iul4WCn^~Z47eQ@#HAm<;13vFm4+Ga@=r#i9Q6g|* zq4Kq54bgGhnRE?jYdhL?5JL{;#uy<{=Hzu=Lm~Ks>r`Pk@UxMYly~U(0DZ62-ut?9G=Y# znJ-V$9sLk-fy^dn&LeCajK^BOc-GDc9gnb?aH&tAEz#ID4mVV)E)3a$pn*Kh=o40X z34V5@;*1;6pZO~Dniz8B&UPG_&I(+%_riz+BsV0>3UTTy=GmcI&eOR*TE2s(6RDgk zQsvHeY*TT1a|>q1T3&G+`h=By7Hiw^u*((CCJ22C!NZv45)I0Vaep74Tx7l*?!jm{ zl*%lpC<`fPk(UAsJGeD~XDF30ZrUUs!=`@9wVJsN#+*PcE!*Sz&?l@*f8YRxh-CF% zm@)I7_MgHvka}AtG!lOR+lHc4C2pegcWC=x-uCoOC&f9gsgUFPUs&1@yCX#105hS; zS9R)3MD}5+DsTY8KM-P7--xxYi%5mLUm!C_@Nl%6#d{Do!HKdWX4Ht^hbzmGlc@4P zWN1B$8Lor{GwKtT5$i7m4MO+%a5DTH(1b?vQ;~iL&u$|1GSaR;pLePwL(kucq+`)3 ztkOdKBz6rJ7G_pxHW}^bO8QvM=oDw8C=-Pl%zqUxm@645c!t7s6r>^VG4dblcj#~l zK;M<{BePD|DXgpq_|q79X4J5-LEDd*iKLj3=2Amm#>_r5?jYkXa+8tskon1b%={49 z3l9Y8F*1zl=G@PCbPD}fvjX3$0ZFHDb0hBU5;fO%qtWQUiqZr_r?6CyDWpTnS*&e` zp}V9N*20@xn{nz(JiBg$raeRHO*H;$?( z=hM?UVhM2!r;WS>dnPiI6591LC~;*u4oo+42p!opoNRQCSW+!y{Vx^RKh5|VC3tW% z68k0_|JQ503airg%T`E#*PEp33W-F@`N}>^0BefwtU84ylf1ALr33HnF?J^m;ouB{ z)!PJNX)IwGD_OFkTwY@A9&jch8jl60eItjBGdj z5XdLug$lNG%h>47=tsY#s&H)G5kAM*o#2d58~FD&b|)$!n2bpiI)!C;@*1&`nWN8A zs{1kI>G2z_ET#rQ`Jt>+STrYh1Te2GgVtcMvHM{lt^sKKA7gg{wBqglMfa-Eo=OQ_ zBKWk!*b~G`3W!Yj9OHW|I{HyHug_yng0T!XuIRTC<6^X?8k9a3HW(TuG~QzG zCoIYXreT;{q4ob^dOVs4OPMSMtn8WRxTWZoy`h+FE zYq^~#YPW-LN7U&m#XQx-ajB097qL46aZ%zmN`HE)Pgw4aX!ih$Jr&;$m1625Qj3zp z)(yjUAm&?~{9GiD8v6AL^a;zs2iDFc!*yilaH3yMhzk46>chPeGg0*jg?nST2UGQkt@6mraAqD(eL=DE zw3!uVXHj){=P+U!RG!b;nbD1F17>FC8pO;Voc)bZE4xZ#W`TAeA@Fq^`v`HnsWef$ zEp1hC5LW6HJk(JzN5;s=w>>k4*9wPQVAaUqDt$acFf0mjd$4aZ@*Wd5UPp}bt@?y@ zcAkcdHEJPv7$c_Iufg7vQqN2vpdY5)!?|B^_9ql)6Ej<14EGA1bF9L2Ec8~7QffH^ zUFVtRNupAeg~PKEyOMw@8yCz<7a{&i=aVbpu)32XR&PU<>y{xzGK0zDFyVR8xAuAsFsi=^{&V!i(T2QMEE;7Cy5OE3D*5bkfJmZ@i z)~^%cUTHz+qwse>W%3ixCWyGmqtd2$#O=Z5B}j;7<&m$S+&p0wiL+w^o zYPG>@|KnGtn=X%H5c73qHYF|nxAR2vX=oAw=ek1L(ITwU0{o;RTVw5xmgZx}XvFOz zX>-OSIQa0t{n%Wb=Dcm;)ts5tH6A6o6N~Ib=DQlZ8rj;4z{^mlGa8LTgE#m+thBER ze{xV3ukx~>_uKx0#iXB|CrBR8F#UAUL~J4ywd{6O~INr zczm9Uao$g*yvG98q!oyZ!m2PFpG&LOk`TOGp!=_QI{~l%rR9jag86eq&%*Duv3(el z^slV7KMJp|z}`vEUz=NDW{OA)!<-~U_Tldqq8HwCtZQqrn?#8$M?Z9*FX<#XPcGx` z4&2(vjJ4Wus)xp-nI)u_$W!gY%6WuEzRI^f79wn>;4bSUI}v}iM{Y93CT8dIjPKYt z6<3xL>qf{p^jakKNRy;fxUdj+w&{v?^y`H1In4T(U6M_wKi2Z5$`eDE08F_>cXgBX zfElYY?oe#P$^o-;c;36FEmF>q?2KD5`YuE5_9Si6px_zqY{l)Zcz8@}6&&aK%8gquzy<8hWX6%~34rul_^SiX{!G{`aqQgD zd@4pA#5;-T{JrLM9$EKs@^dT>!nPrJd_mucm3AG=LzQm>2Vkgy4h0;^xQocXOy_9R za5x4>^0`s%@RTeKhM?CURVLo4q8up~kZ=(9b}2OU5;FL-)fWl9u{R#5+~RVe~N`B7d%xF>34#$k19Bx~QOlqODf(cyDUkH?sk%;VBl8Cbv} zcf+nRxUo+8w)bMj1QAlsVap)olaBP&!ORq%*@D&9$ds^hU{>Ev-lE73_+aKEp7*Nx5m6;H0)3W9&i%$f zIHX#zbwwwYW7pzrZ0f`OqJ?mC12a~MsVc?(GH80>#KKv zcL$b*YS~W{h1%_f9?ZEmAl4b~l;$C_FYeLFz(x}T^Q8H9#Gpv#+y8?6Cpa)2t6Smz ze$884xhdE?8CwUVAXRX01rRtus0FWPWO`yK#aY-g0N2+Ur**z?*lu{42hrH|CJLUa zUw5jDI$h!32)1r0FG0>jW*C2XToSdlg*c8X$bN`Fj8_20%o5#xLD&qVb-+M)35%Ip z#$oFqie6J>achJrB)a;YvCI1NK9Uk0z9~ap12Ewd!skdXOh6<4y~x-xdM&gQ|HH*a zM(zVQ1mvPMw?fw+@pb~b&xda(Nh>Ufkh`YweWxmLa0ZUdfm{N!3!U(N6uwMJ9v+@x z)`@A?k$Dd}NhHe-2*Jh$?>|%XZ{*3@pDH5?B|xk9(fwCrcS0BBh8e3G2>yZ9R_%Fyc%<8($J;^zBrGY2E~3kpQ$fnR5G zw#+J%n~9E%3kGgL#07QtxJ!Rx-xTV;V!RN&kc59Pj6aK-twn0i)&pLlBn|raBx#Kc zHCtiQbu=2uyzcZhdMsf1SzK9${nNzm5(kV?p~S%lV^1+(J{hg7UrOrtA^dNwD`KR) zxi#8-j5m+LK_&A~*t;0E3s#QGE3vB(H4bG(;&qGzMk;+{ZpnQ4#-FBLnV6Z_k;Tzh zBsT|#+IaIQI(?%dH%>r*4B5t-wqO4XdnSm{E6y0Trc%vTh`5O6(`YSiWM-&Kp&$|M zDv~lYw48}4H{sJ(>u2hA!|21RKIXW&0ozBQw195kIAiQ$U3Tv1{U;_|;veRq1D8N5 zX#sp_3d^%8GY9Rt5LOO)KIz*5LwB-@{@vb$U1JDGyYR)>!cyQ7f^nzO;%#CZP6`an zyu%f*=2Xl=hPMAjgdqWTwcBCn4wzdhuiV{^y;Jx*_mV>z!cy$7_F9CoF(h{fggCkD zz^fVIFMz_UXVNuv{?6c8fq!odSkJoa>I!Uq10|w+ezTE`uoU>TVP>p@B3ZKs-q3iw zDvqMv$t5Ru4Z^5s=Ap(r;d#R$cw-CetoGhc?0nO>h!N-Vk`$IAbhF*Zcqb99XY<_dGP4kr z0z^07Ed||f?~R^|F!?%~Pa#(PF=QcAxk)2QXHNjZl#yw--b!Vx+iA!GC}`uK5fJ`T@fT?rnE{;S0=+E^8YrJy7a7k}ZV|3gt0 zV!l#dxwMG+GIah%v@TRNVZFe=7xR;P8L?|{V;u@#$|a$?ZAb%4Em4Ygo@hD&jYiSh zp5@4EpP?WPmlrFqoc<2BE(rfXoc62E97_k~CAhI3dm>mD!`@>Ce@c|(Vu7c+LxH&s zI(~t$cO_Kif5%ANVrMYyyMoa@eWbeGU=Ze3X!4f&*>FiN#TKtDQ&*Lp2S!Ju&4&_F z6@WfV;NFOJ<32P^eKEgUD zD9y))9!Q~6oI!sOR7C$D;TFnEaNr$QEo%SXjH*Z!_@jukKi)hBJC!LjenQ)ksx&(&o(#;dH7M&xCP?2Ah(Q8C^vFnBYKy0_%<48`D0tbMGfSFv@F z{xm^+sb0bY(DozvsLXXve}|~?1}BJnnfL=(-5QB1#N^ z@Ob4uDix~5c7qy4Sy-dpfxTGiZV7UA z751{X8|W0Htd7D0kah!+z0`Afx&|TiEd&izUx8~R=OHsn-QH4J=!NarRI3e!?yNF} zBwpssPnBWA|Nh<0t(l?M_cgMOR8wIA$VA9&L#ww0;GI1)#LDu<_ZSkey)Ijn4iE8jR*sg{GO5CKYmQ>WBFK&)-_s zz~t+2B9jjD)ex2fc^Oj9BJn6v&LRCaGd*XO#*o3*6%M}4iqAb5-Yrlw3=Xx8*k3Uy z%Eac^@hIl`Tdx)vds0K}wc)%EE5WHlM&e)X_Zd7<~A62N@%o5HQaeO!2<^$j5+bVLPB{_We$jZfhJADGEs?* z3x@B3bA2cZJRcC6P~Idg6aV5;ALC-4m!ZG58VQGm7&8gWgbMav7_t9(0ddq+A6y?0PRgwT5lp?4vG0Ys4^DkK!C5ePjXy*DX8Km{QR77$UC zpmdbp6lnrM`HucQ|2dcE;#{1WGv}Gv*^Awo_x-+S-<{nBPO~UM{|#nW{X>6GVfo#d zK_H$xAojnA{YB$1W`A+}OUPfaf64w&s{hjcm*Kz6{N?LkfWQ2XrD+MbGE!C0)C>bR z{yRfXtQZx8F$jeHlZVZ|*3Q2N{?GQnA3+dEte}3q4=>0_q%f6I6hs$n$Is~t0=oq{tRM(SA)J2WDdk{XI_q`{{OQx@P(4UgVj49ywc`7^d5%)}i?Rq4S%EM7&-VAQ z=W}wJg(;!Ov159xEM*EFE6=_I33y6j&5y#st&(GJMi7XKTj0UB>*TfPCdH2{MSC9) z)UKw0!e}9MP&`Gy$1XLG6s?wJ;+m}l3-KP!LOcxx_iIS3aKbMC@#kmeF?z{$7w8|F z*6xRYQn*n|5Cr9zwpZcX5DO!yk?E*8cXpQc3hK1<;Nv9l&Wer3jXy>oVf1f;aVzW-Y51W1u&J7A}t-fxs!! zjgrDjATpXvuZEERr$`W<>mGXQdUxvMe)t^a0zir%kDT^KDrOmv`HlZx`D15RIjgJQ z(A)WLAt|JmUJF#VF^qASJ!i@1NSbxU6fBZs$Ed;}r=bf?QKGO^>^N6kSrkU=qG2R@ z-tJCM{A9Vct=18GbvoC{UIPA(&^N{Tt$zsWg|Kctyj0UQgX;1R1;))nt+rh0VTthH z5m9|a^0?)rKwNBh7Bz?}F8HdLJHIytIEAIo=0MM%51Z1a7OWm{S2-yfoXO6f`rS?G znxhKhoFAgGu7UG?G&$V1g-eUW@RT?aPMQ-2zItTC(U=e-`jszG$ixK@c!3RGZr6|) z%&-Fl1a@$+Lehq^1z`-6as=zgoY`NCb&oLwwxzK#-c-vTNs`n%)>)zHuSWjRuXU5u zy*07AN_&nwBm2s&hL&HLnbVlFyhtnafLL?3dgAm_jMtiJ4$%G2#X25lig8!-#uSPb#tBLyBH(Z3X`^M304h_nN)RTTbc0$e{D09+W=J7W9)0VoR!MdRV3h zvDucsHZC&EiWkAASS3x2YmrKeTP$3fu4tpB#U51dirj08ve4TbsWoiJr%7SX?pfHY zC^~sPY_QU+1~5P?5FrbU835zwyQl1fvn)E?1hG!MN?csQ;cX67?0WombFFH0U$&K* z+8lhuQnAH|y7?ry0$QYn>NI&%GUG<2f%)&lHI}HIbspjch58+m4H=CiM!-(1^bAGThhOz zUc3$(#;SWiy1+xB)p5bOnz5(2OrM(tD z={f6=^ z!RkUM!La)|R1?l!?Zc_Y{`d}RH=f?0YN@(+^bW9pN$i@byb-b(9p}=3e!J^SbiIFet(iI5AtesUC_Clh(q}rtuh{g<0=B5?52$=DhZz#49>R& zffW_^h3-0PG;c~>M85YzWi*z|#lAfZP1R^wuHo%!J*=?21_l;@M*dwN8qMCvwaoZq z=g-1>Eo`jyX_n&oj?*i{mvY0Oht?rd?_^U%i%loViIy~$>CLmITZxR*@dusiXvSp= zuuJ8r64-1oViju0yDhg zcB@x2zvts-()62<#@F}69uom2;804pS}ruukMPb`hAviS;@Zd%+@UIJ{^`;bezNdl z$t`D^cunwS`>uc05EioM{NW_Q;i<KSdhl*jxz4iL+>xB zx`veJ-yoSk~`^_c^-P;wabz;8u zEfc^up=dd6)c~NQFmaCy=om9Qv)l&`WSolfm3^>ZJ3ztvu{)C?eH!`Wu+2uua!4I6~OHBFFDJYmFPp*Z| zT=or?K22aYIMLsD04(Oy&||q7QMVaYZ!X`b%Ju|G;$|_z>&ezVex207ZQN_)<;t%W zCXgq7f35{J9pr(t9$hB`HAE5v&)fO3v)dhBQYun@x*zs3&$gqtQ662GS4B01rZ5S# z>s*V7X?yvdp@HU%9<=c^U!O|HW0L`I3ORcHR^cJQ^D3J6_i8_b(eu%_4pf-AoBf{pG0GK}^nX^OaLdNQ- z0~eHi`de7O3^+FOi(d=$LXtzpleKntJX_0v&{Z(on`(iLtmPy|>N#=4c!T_O^MnA$ zK4FYD_pl_80G7o7t0H3s~I~eA;K-getf6`d4NJ$BEALZctH1 z&H;D^L^Cp50jzFl`175b;HP)3zwAiiza#6!exVUq%FI0IJT}JGMcu&otr-~91a|4H6Aa)2#j1zKm6?rj9RwTKE+}}<@?rd^``>| z1o~b8*d|ii+w6HgF58d@jD#Zs{PMG6kt#;c1^f{G=U+5A+IXaC+r( z2mU;|#q03(9+6lTeB`U?B+)d-jKf7B3-rT@XCoj=Dc~Pl)~(Jsg9R?w2}N?U8V4`S zl?n@WFh(HeBz`5{;2r&BR>Zx1h!(%G7L79nKu!h-2^uRCs<;=CiV9ZRWkJ#g(ZM;S z%&qZ>JR;B*01Q@CKA;}RsI3wX^d+P9N7zm1rNO|iM%bnSAPsi zf*^S3(G6d&Hrqg#9jbUsdY1sBYTOZ|jHYU2hPt6E@yf0RrKR zn?f_x5vH8!kF9Z^yC{5@Z>W^68M8)2=BA)bdfRcoge;mfb}C+St((mJe~_En1D)7pA-hC8Hv!;=U(-wth5O!J`#)L6;OyoiWB#cAWPhOel-= z_C2XT`aH0vUDD@LlxLuOaOCv^_^K1^oxy>VnFD~iv)0?OLwEZF8}-@S*piPZ1kMtQ zPPo}Fzo@Q4TwnVnzEwqYFwMg2^~*kTfeEo$83yyuIe*|BB_(f%Up>Km!T_h>%uwLu zwWw#Me&CH6ks5tDxxS8rfg_xsK^|7gAZqOgPeH{Hg(Ib57ah!9`rpd{5QkV0(+N>O@H%8(|pnulo=j z3rW&{d-B^5VnjNI?spBDp)6_=ovvF}pu)N7l&Zu7i+hU6n!pbx)m=-^5cT@Pfpd%uLViLW|mO1u(QS^Pc%D_Y~Ts?3trY z@gli$*ta4L%K$S=8&6xeH)2*DtKZJdi^sEh)~`$yw5Zk8-E!`2u-sm5$zIqbdd@|G zqfi3uDm@g9jvdKvKjuO&v$DF>q-ly8CJ^CHN-X;RtJT;Kn&xjgv!WIKcd*px!z)cQ zL${Yd`5TeYM;L#xix#(k4K(h|f1C@>hTRU1%pP%^{pzhh$kH7G`~q@qT&a>h zU#aJuwQ17yp!#jdG(@(xEeNiavZ}`U$hN(GxDspdM~BQ}yv(Rpas^*$#njWs0` zk5a@El_m5G_KNcRXtgIVTN6$_Yk9)J{C@G@T}7`@v*Zc5vop0{F# zmI2CK;)_@%lSax*M><>cpev**aX%YC?S}Uj)^?WWdHl)ao5Xc^up_llk0C@RaGV2E(soqK)i39H#XP`c=!?WUY#k1((i6>p+(W=t4v2;`|}K zg9qKU5H#Emq9^}G=sB=ONuB)EGn;A!3LQ*}7)bTRrqVO|=hN`fy=CS41haD?*iGXE z@QIz0%oS)M+LUMdM(~ow0aTCi!Mi-;O7Dt|jS2O&sJsOAG*V#Lm89POu?OY0ZmwX^ z$=KX>kRj=Kl+~6Mn$UWeRYxGLjZt;d)X~BD+9YqHQOeq5RlUnRl*4}v<$@sjl6Ha8 ze8C8VQ~|04SNdylf?%v4Sd&n-tdwaxB)%m_|9Ojf_R2TJRrjfx>yGmIkB!{4^=C_n zTaohre%@42b@-nGf>46|n|RH-)d}hw8oh2SUC=Q^4yqGvg)HLB;VZ9%DO8r@p;?@n zPYv}=$6iSpvqSLOX0Y`S9CR#TIy0dgKV?$Bo1UY)`4mJ;3FaAOtMo})G2&bv@cRBS zmARx-j7kKF=cuqHl-<=c6TAJLkbiP6L{F>16BPu<85i=RR^gyvu z^Z)v~#{V7u7)oQ=Lkd6B^A*IJEC#wziYkCW;OgH`#ZVAP4GRKM{_kY=|55+`f&TzY C3#+XF literal 0 HcmV?d00001 diff --git a/neon_iris/static/scripts/audio.js b/neon_iris/static/scripts/audio.js new file mode 100644 index 0000000..d573217 --- /dev/null +++ b/neon_iris/static/scripts/audio.js @@ -0,0 +1,110 @@ +// Manages audio capture and processing +const AudioHandler = (() => { + let audioStream; + let audioContext; + let recorder; + let volume; + let sampleRate; + let isRecording = false; + + // Ensure the getUserMedia is correctly referenced + const getUserMedia = + navigator.getUserMedia || + navigator.webkitGetUserMedia || + navigator.mozGetUserMedia || + navigator.msGetUserMedia; + + const startAudio = () => { + if (getUserMedia) { + getUserMedia.call( + navigator, + { audio: true }, + (stream) => { + audioStream = stream; + const AudioContext = window.AudioContext || window.webkitAudioContext; + audioContext = new AudioContext(); + sampleRate = audioContext.sampleRate; + volume = audioContext.createGain(); + const audioInput = audioContext.createMediaStreamSource(audioStream); + audioInput.connect(volume); + + const bufferSize = 4096; + // Use the audio context to create the script processor + recorder = audioContext.createScriptProcessor(bufferSize, 1, 1); + + recorder.onaudioprocess = (event) => { + const samples = event.inputBuffer.getChannelData(0); + const PCM16iSamples = convertFloat32ToInt16(samples); + WebSocketHandler.send( + new Blob([PCM16iSamples], { type: "application/octet-stream" }) + ); + }; + + volume.connect(recorder); + recorder.connect(audioContext.destination); + WebSocketHandler.setSampleRate(sampleRate); + isRecording = true; + }, + (error) => { + console.error("Error capturing audio.", error); + } + ); + } else { + console.error("getUserMedia not supported in this browser."); + } + }; + + const stopAudio = () => { + if (isRecording) { + if (recorder) { + recorder.disconnect(); + volume.disconnect(); + // Disconnecting the audio context might not be necessary + // audioContext.close(); + } + if (audioStream) { + const tracks = audioStream.getTracks(); + tracks.forEach((track) => track.stop()); + } + } + }; + + const toggle = () => { + if (!isRecording) { + startAudio(); + } else { + stopAudio(); + } + isRecording = !isRecording; // Toggle the recording state + }; + + const isCurrentlyRecording = () => isRecording; + + const convertFloat32ToInt16 = (buffer) => { + let l = buffer.length; + let buf = new Int16Array(l); + while (l--) { + buf[l] = Math.min(1, buffer[l]) * 0x7fff; + } + return buf.buffer; + }; + + return { + toggle, + isRecording: isCurrentlyRecording, + }; +})(); + +const startButton = document.getElementById("startButton"); +startButton.addEventListener("click", function () { + AudioHandler.toggle(); + + // Update the button's text and class based on the recording state + if (AudioHandler.isRecording()) { + startButton.classList.add("listening"); + startButton.textContent = "Listening..."; + } else { + startButton.classList.remove("listening"); + startButton.textContent = "Start Listening"; + } +}); diff --git a/neon_iris/static/scripts/sprite.js b/neon_iris/static/scripts/sprite.js new file mode 100644 index 0000000..303e72b --- /dev/null +++ b/neon_iris/static/scripts/sprite.js @@ -0,0 +1,20 @@ +const sprite = document.querySelector(".sprite"); + +function triggerWake() { + sprite.classList.remove("record", "waiting"); + sprite.classList.add("wake"); +} + +function triggerRecord() { + sprite.classList.remove("wake", "waiting"); + sprite.classList.add("record"); +} + +function triggerWaiting() { + sprite.classList.remove("wake", "record"); + sprite.classList.add("waiting"); +} + +function triggerDone() { + sprite.classList.remove("wake", "record", "waiting"); +} diff --git a/neon_iris/static/scripts/ui.js b/neon_iris/static/scripts/ui.js new file mode 100644 index 0000000..7e55d77 --- /dev/null +++ b/neon_iris/static/scripts/ui.js @@ -0,0 +1,150 @@ +function submitMessage() { + const inputElement = document.getElementById("chatInput"); + const userMessage = inputElement.value.trim(); + + if (userMessage !== "") { + const userMessageDiv = createMessageDiv("user", userMessage); + appendMessageToHistory(userMessageDiv); + + // Save the message to localStorage + saveMessageToLocalStorage("user", userMessage); + + inputElement.value = ""; + + // Get AI response and update the chat history + getAIResponse(userMessage); // Pass the user message to the function + } +} + +async function getAIResponse(text = "", recording = "") { + try { + triggerWaiting(); // Trigger waiting animation + const payload = + text !== "" && recording === "" + ? { utterance: text } + : { audio_input: recording }; + // Make the POST request to the server + const response = await fetch("/user_input", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(payload), // Send the user message in the body + }); + + // Check if the response is okay + if (!response.ok) { + throw new Error("Network response was not ok: " + response.statusText); + } + + // Convert the response payload into JSON + const data = await response.json(); + console.debug(data, null, 4); + + // Assuming 'data' contains the AI response in a property named 'reply' + const aiMessage = data.transcription; + + triggerDone(); // Trigger done animation + // Add in the user's transcription if STT + if (text === "" && recording !== "") { + const userMessage = createMessageDiv("user", data.utterance); + appendMessageToHistory(userMessage); + saveMessageToLocalStorage("user", data.utterance); + } + + // Create the AI message div and append it to the history + const aiMessageDiv = createMessageDiv("ai", aiMessage); + appendMessageToHistory(aiMessageDiv); + + // Save the AI message to localStorage + saveMessageToLocalStorage("ai", aiMessage); + + // Play the TTS audio + const audioBlob = base64ToBlob(data.audio_output, "audio/wav"); + const audioUrl = URL.createObjectURL(audioBlob); + const audio = new Audio(audioUrl); + audio.type = "audio/wav"; + await audio.play(); + audio.onended = () => { + if (shouldListen && myVad) { + myVad.start(); + } else { + myVad.pause(); + } + }; + } catch (error) { + console.error("Error fetching AI response:", error); + // Handle the error, such as showing a message to the user + } +} + +function simulateAIResponse() { + setTimeout(() => { + const aiMessage = "This is a sample AI response."; + const aiMessageDiv = createMessageDiv("ai", aiMessage); + appendMessageToHistory(aiMessageDiv); + + // Save the AI response to localStorage + saveMessageToLocalStorage("ai", aiMessage); + }, 1000); // Simulated delay of 1 second +} + +function createMessageDiv(sender, message) { + const messageDiv = document.createElement("div"); + messageDiv.className = `${sender}-message`; + messageDiv.textContent = message; + return messageDiv; +} + +function appendMessageToHistory(messageDiv) { + const messageContainer = document.getElementById("chatHistory"); + messageContainer.appendChild(messageDiv); + setTimeout(() => { + messageContainer.scrollTop = messageContainer.scrollHeight; + }, 0); +} + +function saveMessageToLocalStorage(sender, message) { + // Retrieve existing chat history from localStorage + const chatHistory = JSON.parse(localStorage.getItem("chatHistory")) || []; + + // Add the new message to the chat history + chatHistory.push({ sender, message }); + + // Store the updated chat history back in localStorage + localStorage.setItem("chatHistory", JSON.stringify(chatHistory)); +} + +function base64ToBlob(base64, mimeType) { + const byteCharacters = atob(base64.replace(/^data:audio\/wav;base64,/, "")); + const byteNumbers = new Array(byteCharacters.length); + for (let i = 0; i < byteCharacters.length; i++) { + byteNumbers[i] = byteCharacters.charCodeAt(i); + } + const byteArray = new Uint8Array(byteNumbers); + return new Blob([byteArray], { type: mimeType }); +} + +// Load chat history from localStorage when the page loads +window.addEventListener("load", () => { + const chatHistory = JSON.parse(localStorage.getItem("chatHistory")) || []; + + for (const { sender, message } of chatHistory) { + const messageDiv = createMessageDiv(sender, message); + appendMessageToHistory(messageDiv); + } +}); + +document.addEventListener("DOMContentLoaded", function () { + // Get the input element + const inputElement = document.getElementById("chatInput"); + + // Add the keydown event listener to the input element + inputElement.addEventListener("keydown", function (event) { + // Check if Enter was pressed, or Ctrl+Enter + if (event.key === "Enter" && (event.ctrlKey || !event.shiftKey)) { + event.preventDefault(); + submitMessage(); + } + }); +}); diff --git a/neon_iris/static/scripts/websocket.js b/neon_iris/static/scripts/websocket.js new file mode 100644 index 0000000..0415a36 --- /dev/null +++ b/neon_iris/static/scripts/websocket.js @@ -0,0 +1,162 @@ +function float32ArrayToWavBlob(float32Array, sampleRate = 16000) { + const buffer = new ArrayBuffer(44 + float32Array.length * 2); + const view = new DataView(buffer); + + // Write WAV header to the buffer + // RIFF chunk descriptor + writeString(view, 0, "RIFF"); + view.setUint32(4, 36 + float32Array.length * 2, true); + writeString(view, 8, "WAVE"); + // FMT sub-chunk + writeString(view, 12, "fmt "); + view.setUint32(16, 16, true); // Subchunk1Size (16 for PCM) + view.setUint16(20, 1, true); // AudioFormat (PCM = 1) + view.setUint16(22, 1, true); // NumChannels (Mono = 1, Stereo = 2) + view.setUint32(24, sampleRate, true); // SampleRate + view.setUint32(28, sampleRate * 2, true); // ByteRate (SampleRate * NumChannels * BitsPerSample/8) + view.setUint16(32, 2, true); // BlockAlign (NumChannels * BitsPerSample/8) + view.setUint16(34, 16, true); // BitsPerSample + // Data sub-chunk + writeString(view, 36, "data"); + view.setUint32(40, float32Array.length * 2, true); + + // Write the audio data + float32To16BitPCM(view, 44, float32Array); + + return new Blob([view], { type: "audio/wav" }); +} + +function writeString(view, offset, string) { + for (let i = 0; i < string.length; i++) { + view.setUint8(offset + i, string.charCodeAt(i)); + } +} + +function float32To16BitPCM(output, offset, input) { + for (let i = 0; i < input.length; i++, offset += 2) { + const s = Math.max(-1, Math.min(1, input[i])); + output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true); + } +} + +function wavBlobToBase64(blob) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(blob); + reader.onloadend = () => { + const base64data = reader.result; + // Extract the base64 part + const base64String = base64data.split(",")[1]; + resolve(base64String); + }; + reader.onerror = (error) => { + reject(error); + }; + }); +} + +let shouldListen = false; // Global state flag for controlling VAD listening state +let myVad; // VAD instance +let isVadRunning = false; + +async function initializeVad() { + myVad = await vad.MicVAD.new({ + onSpeechEnd: handleSpeechEnd, + }); + if (shouldListen && !isVadRunning) { + myVad.start(); + isVadRunning = true; + } +} + +async function handleSpeechEnd(audio) { + const wavBlob = float32ArrayToWavBlob(audio); + const audioUrl = URL.createObjectURL(wavBlob); + const audioOutput = await wavBlobToBase64(wavBlob); + + // Save the spoken audio as a downloadable file + const downloadArea = document.getElementById("download-area"); + if (downloadArea) { + downloadArea.innerHTML = ""; // Clear the download area + const downloadButton = document.createElement("a"); + downloadButton.href = audioUrl; + downloadButton.download = "recorded_audio.wav"; + downloadButton.textContent = "Download Recorded Audio"; + downloadButton.className = "download-button"; // Add a class for styling + downloadButton.setAttribute("role", "button"); // Accessibility improvement + downloadArea.appendChild(downloadButton); + triggerWaiting(); // Trigger waiting animation + } else { + console.error("Download area not found"); + } + if (myVad && isVadRunning) { + myVad.pause(); + isVadRunning = false; + shouldListen = false; + } + + // Send audio to STT + getAIResponse("", audioOutput); +} + +function toggleListeningState() { + shouldListen = !shouldListen; + if (shouldListen && !isVadRunning) { + startVad(); + isVadRunning = true; + } else { + stopVad(); + isVadRunning = false; + } +} + +// Handles WebSocket connection and message events +const WebSocketHandler = (() => { + let lastActivationTime = 0; + const activationCooldown = 3000; // 3 seconds cooldown + const ws = new WebSocket(WS_URL); + const audio = new Audio("/static/custom/wake.mp3"); // Wakeword acknowledgment sound + + ws.onopen = () => { + console.info("WebSocket connection is open"); + }; + + ws.onmessage = async (event) => { + console.log(event.data); + const model_payload = JSON.parse(event.data); + const currentTime = Date.now(); + if ("activations" in model_payload) { + if ( + model_payload.activations.includes("hey_neon_high") && + currentTime - lastActivationTime > activationCooldown + ) { + shouldListen = true; + audio.onended = () => { + console.log("Activation sound is done playing"); + if (myVad && !isVadRunning) { + triggerRecord(); // Trigger recording animation + myVad.start(); + isVadRunning = true; + } else if (!shouldListen && isVadRunning) { + myVad.pause(); + isVadRunning = false; + } + }; + triggerWake(); // Trigger wake animation + audio.play(); + lastActivationTime = currentTime; + } + } + }; + + return { + send: (data) => ws.send(data), + setSampleRate: (rate) => ws.send(rate), + }; +})(); + +// Initialize VAD when the page is ready +window.addEventListener("DOMContentLoaded", (event) => { + initializeVad(); +}); +WebSocketHandler; diff --git a/neon_iris/static/sprite.css b/neon_iris/static/sprite.css new file mode 100644 index 0000000..73d5d1e --- /dev/null +++ b/neon_iris/static/sprite.css @@ -0,0 +1,61 @@ +/* Base styles for the split sprite */ +.sprite { + width: 40px; /* sprite width adjusted to 40px */ + height: 40px; /* sprite height adjusted to 40px */ + border-radius: 50%; + background-image: linear-gradient(to right, #000 50%, #fff 50%); + box-shadow: 0 0 0 2px #000; /* Adjusted border thickness for smaller size */ + transition: transform 0.3s ease, opacity 0.3s ease; + opacity: 0; /* sprite is invisible by default */ + position: relative; /* Required for absolute positioning of pseudo-elements */ + display: flex; /* Center content */ + justify-content: center; + align-items: center; + margin: 20px; +} + +/* Pulse animation while recording */ +@keyframes pulse { + 0%, + 100% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } +} + +.sprite.record { + animation: pulse 1s infinite ease-in-out; + opacity: 1; /* sprite is visible while recording */ +} + +/* Spin animation while waiting for a response */ +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.sprite.waiting { + animation: spin 2s infinite linear; + opacity: 1; /* sprite is visible while waiting */ +} + +/* Appear animation for wake word activation */ +@keyframes appear { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +.sprite.wake { + animation: appear 1s forwards; + opacity: 1; /* sprite is visible when awake */ +} diff --git a/neon_iris/static/styles.css b/neon_iris/static/styles.css new file mode 100644 index 0000000..a048b26 --- /dev/null +++ b/neon_iris/static/styles.css @@ -0,0 +1,196 @@ +body, +html { + text-align: center; + font-family: "Roboto", sans-serif; + background-color: #f4f4f4; + height: 100%; + margin: 0; + padding: 0; +} +img.logo { + width: 40px; + height: 40px; +} +a { + text-decoration: none; +} +a:link { + color: #fff; + border-bottom: 1px solid #ff0000; +} +a:visited { + color: #e600e6; + border-bottom: 1px solid #b3b3b3; +} +a:hover { + color: black; + border-bottom: 1px solid #000099; +} +.button-container { + display: flex; + justify-content: center; /* This centers the button in the container */ + padding: 20px; + background-color: #333; /* Match the header background */ +} +#startButton { + padding: 15px 30px; + font-size: 18px; + border: none; + border-radius: 4px; + color: white; + cursor: pointer; + outline: none; + margin-bottom: 10px; + margin-top: 10px; + transition: background-color 0.3s; + background-color: #4caf50; + max-width: 50%; + align-content: center; + align-self: center; +} +#startButton.listening { + background-color: #03a9f4; +} +.content { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px; + background-color: #333; + margin: 0; +} +.chat-header { + padding: 20px; + background-color: #333; + color: #fff; + text-align: center; + font-size: 2em; + text-shadow: 2px 2px 4px #000000; + transition: transform 0.3s ease; +} +.chat-header:hover { + transform: scale( + 1.05 + ); /* Slight increase in size on hover for dynamic effect */ +} +.chat-window { + display: flex; + flex-direction: column; + padding: 20px; + overflow: auto; +} +#chatHistory { + display: flex; + flex-direction: column; + align-items: flex-start; /* Align items to the start by default */ + height: 100%; + overflow-y: auto; /* Allows scrolling if content overflows */ + background-color: #1a1a1a; /* Dark background for the chat container */ +} +.input-area { + display: flex; + padding: 20px; +} +.input-area input { + flex: 1; + padding: 10px; + margin-right: 10px; + font-size: 16px; +} +.input-area button { + padding: 10px 20px; + background-color: #f90; + border: none; + font-size: 16px; + cursor: pointer; +} +.input-area button:hover { + background-color: #e80; +} +.input-field { + flex-grow: 1; + padding: 10px; + font-size: 16px; + margin-right: 10px; /* Spacing between input field and submit button */ +} +#download-area { + padding: 20px; + background-color: #333; + color: #fff; + text-align: center; + font-size: 1.5em; +} +.download-button { + display: inline-block; + padding: 10px 20px; + margin: 10px 0; + background-color: #03a9f4; + color: #ffffff; + text-align: center; + text-decoration: none; + border-radius: 5px; + transition: background-color 0.3s; +} + +/* Style for user messages */ +.user-message { + background-color: #007bff; /* Blue background for user messages */ + color: #fff; /* White text color for user messages */ + padding: 5px 10px; + margin: 5px 0; + border-radius: 10px; + align-self: flex-end; /* Right-align user messages */ + max-width: 60%; + word-wrap: break-word; /* Wrap long words if needed */ +} + +/* Style for AI messages */ +.ai-message { + background-color: #e0e0e0; /* Gray background for AI messages */ + color: #000; /* Black text color for AI messages */ + padding: 5px 10px; + margin: 5px 0; + border-radius: 10px; + align-self: flex-start; /* Left-align AI messages */ + max-width: 60%; + word-wrap: break-word; /* Wrap long words if needed */ +} + +.chat-container { + display: flex; + flex-direction: column; + height: 100%; + background-color: #1a1a1a; +} + +/* Responsive design adjustments */ +@media (max-width: 768px) { + .content { + flex-direction: column; + align-items: center; + } + + .button-container, + .input-area { + flex-direction: column; + align-items: center; + } + + .input-field, + .submit-button, + #startButton { + width: 100%; /* Full width on smaller screens */ + margin: 10px 0; /* Add vertical spacing */ + } + + .chat-header { + font-size: 1.5em; /* Smaller text size for smaller screens */ + } +} + +/* Further responsive adjustments for even smaller screens */ +@media (max-width: 480px) { + .chat-header { + font-size: 1.2em; + } +} diff --git a/neon_iris/templates/index.html b/neon_iris/templates/index.html new file mode 100644 index 0000000..3d008f7 --- /dev/null +++ b/neon_iris/templates/index.html @@ -0,0 +1,42 @@ + + + + + + + {{ title }} + + + + +
+
+ {{ description }} +
+ +
+
+ +
+
+
+
+ + +
+
+
+ + + + + + + + + + + + diff --git a/neon_iris/version.py b/neon_iris/version.py index 4488dcb..e8144d3 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -1,8 +1,9 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. +# Copyright 2008-2024 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo +# Mike Gray, David Scripka # BSD-3 License # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/wakeword_models/hey_neon/hey_neon.onnx b/neon_iris/wakeword_models/hey_neon/hey_neon.onnx new file mode 100644 index 0000000000000000000000000000000000000000..c66a46d4e9c6cf93948669b842178d11ad0bd37f GIT binary patch literal 205430 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

G4z)A8j}32x=8Dl#x-75Y5h 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 VqOGB-F1(}sKkvwnm+RN}{{RaKydD4m literal 0 HcmV?d00001 diff --git a/neon_iris/wakeword_models/hey_neon/hey_neon.tflite b/neon_iris/wakeword_models/hey_neon/hey_neon.tflite new file mode 100644 index 0000000000000000000000000000000000000000..048ab6c81a94dd8b668567cbd5a9620b89cceb4f GIT binary patch literal 206748 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

q4 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 BPHg}H literal 0 HcmV?d00001 diff --git a/neon_iris/wakeword_models/hey_neon/hey_neon_high.onnx b/neon_iris/wakeword_models/hey_neon/hey_neon_high.onnx new file mode 100644 index 0000000000000000000000000000000000000000..3dd5d65c81ecc9063780020fb813108b4ebe9327 GIT binary patch literal 205430 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�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

~RBtC=w`CB2>I<)znq!ZU9qDQC#wTn~l8B!g z-5YWi91hRc*?Dm$aZ!lDjv!&Ivpq)RP2_Q5{u_;{Qa3QA<4mx+HdW)7sa(`v3@J7* zXl#=(UH^S6Cs4wJN}CiDzTMTZ#Of3j3bqsP_4{e0*qln&2?ie5X9L&ZBy`x{~R9czKU6^cCcKx<#8IKWs#!@C$F)prndb~X|IX>JtX z6b(ZXapc>u66_j@!5t(ce|C$@9@QoacS5n^^bPf?+3j_cc^&7 zcY07Uf$fxwXFJBTnX$#lkn_Jd{mTQG&&B=_Cda>i$%C^nkJSwqI*yPWuS>-FLj=pD zXa7HqN3izI1w1x(1(wI^kkl(TXu)jTYxbRp^DjYH>uk07!*4^$hUlHW6BK;lX$F%^=<1CeTQ`a~_mZ4(8{ zKAy(=?f2mFwZ-_|@Ho@Mw-$|b8LF780C9Zh_{W$O=(6R?i!(U^vX;O2^~TsN<@N@jC}e`%_Emm;INLMe%t5 z*8rWpWt1LEIl(xrmBU%b6f5nUXTy$88DbO74`%<;;Q1U^ppK<9{^NQGa&qHXi>QL> zSS*yBkB9oBY3Sj;7b^3k!CcRU^K_9wrNyTe7|HHsulAj1b>vda{h33Knh~&FV+#K+ z-v-_IUJQyo4*n;c;N~Aze;if8OKAiI-^WtjOW75x_)kzH0YT_LcvIWx_BQ0*t-;L7 z%%Lw5%29Z9kX{z6q`Mbe;*KR*ocNLz_-JSmvGv~typFqYpLRacH)*7O>nve+Kn1l8 z+Jcg-<{fx00cU!Pus$LSj7v~~)of?VQkJd3V?{yu^*J1D34zT^PLgAKX-v@6KBiC4 z26lS{5dX0mq~Qo3N`V;GIfv0!0af5B)+GfJd*P{AMMZbLtMEStIm<`sm9=PE*|{&Vb7cm!FQ;Z*d?2sP|=$4!?`LC4BEB4)+jZ0g6U?JFPH zro9lRn?p#MbrF<1Swq(9IUKvj32KUq;gD=LX_B~00`5!cK$j@?b(d1welQyiz%mfdR5|^br!~<|~!&z|g z7bk0srK$D#-N3w)gHEkCm^aMoX2oA%*fD_IG!%rtZP7&1ycE(|Z^}m_Dfrsxg)c5g zv-+4V@UL=Z*j-)wW6U+U;?)n`YDuu(`5cM=cNy;33E&JdRvmUNmU zxJKa(mbL%*O(~e~9A*lS`jNCqnq5%g>`f$acB9LF^P6H2Zp}+5z1J9!bd}r%{*~N2UWz-z#9l6hW zG4hi(+}e!w8t;fwR34mse}D?FzXzW}N~ut=I;6bh*BSqrPaoFbWd+@XkC-TI+C@39iXT z%}imUzL?d%yfQf|#);?{5&$1M%gOP8eNc2X9R!^^G2P9B{_$M{Mcbs{SFa|s-{%ut z8974_vdR)Wi2Zi9xr=ME8a;NAuNveH6 z#s-GulPRx32J){vj*I`XTuipCcuX&qbK2E`GCd#Z)1}Hxx#%f~^gKP zzK%&(Zs5gRWst?P{0yH4Vt9`#r$1nl)#h^G<(42)$MQ0?{&54p)?WPN#)Exgn)q#H8fl&9k;>$|VJ>IHnyui;)!A}Bg_ zVAsAoI5s;0W`2=@4k12h7ru+9e>?$xE-z^GmLVTB76MO)B;^)&2f+ikh*G6ImVHUb zri+buCw>ymO1GnTHQUYoDH-f<`{BcLxA2MTI;_;Qrd^SXF}$sd<_Y-W)A&1ZLq3AQ zTRqqmdY&H5bU}2nrXr5(NGshyXvZ#W+;@XGTipl0R=@xMT(X*!KZ?lw%!aR7;wU=T0d{))gbeP@xOQj`v2bky&*P)?eJ`8IPUj*oWI}P9 zL^g;+L4%ha2 zFhL$3NP|GB8}z`pB#gU%9x_dxA@|K>g@cMf<%CKzI`R}VCHFNDourBM=Rl6h*AVp5 zTTW-`>67irTd;H8lM2gkcX93en~XercK=Qd14ilqY<{eb!$&ruxbSQ8dc8P?naPry zVb}3GodZ_pY@f|4Y0${5fQPJSC}ztHlsnx>L)52;+MgkYQ=?1o)kQ%I86%383<~`& zf#T&s_+&#E@jS%N(yrA&?#C{2R&fPX-)UnzHpj@cRUMk0=hAU?&BPJ??NDkM1DDy^ z#VVIvQ1;wPOEg&RNyrCmBnd277y0xOicbO&X9v0X=NB2u?y^fTj0m`_Z6kl+wqMUAM(o1!#4ZZ&@Xxs zZ0(j2^{XrB)if0pFxg5rm=iSLz7*Q`ZN_VY~Pt98K{c%5tWWAPK(?oP) zjV++jGzbVg>pw5`Lp#1M65Fnp!PM_nkk76SZDS9x+?@)OR+Z$NKm~PM{SWg@-9g`= z3bMav!>0vz;9swBWle}Bh_fuMJK^52iP#|b(KJXaTnxLtwnMv66kJ`t1*WraAX_p| zAg%*b<5nV{bqW1y@sr+qBtZpOZq!~jj_pxYfya=C@fSe2xJwqd=UTz8cWyAgEg9@~ ztbmy^jUd|HjJZ?cAp5NhCtV+r!xFaek~e|rRrkh{fe5s5(8UCCGtdGt!oQ{gLw~%& zlaIc@@k4H4__LVI>^!Q5W4tEaObN4;Jup$O`5#u-&aYxTIO(K zUilF)GKA!2V6L4>>ggv{=$jUGOam1!B!0j!j_~zg`OnDWC={zg&&+JIZ zYu{N>=30s`@@0WpT#9E{&*0M82f$xof=>E+)6_j(_;*b+*xSv9gEciUGfV}PWLqK5 zNuSfhdatHm@5CQJCTT>NJ=o1_AO!<`p89M>e+wP{BbOKsO*lh>^qk?HyV=IUi5tuk2xXby{I^;LAE3!nCFYo zUq*Tr=38w@=6Nx6dXa+u2XoLSTnGkI!m+OL4=ImxhVjo8*gL!gBf_hQ$<0sX{a@iYKRIB)JfxVSb2*mo{)RK8Qu_Dp8F zC!F#4xdha?uA};*NGzCqMgEtm536jYUs*=phe}JxYN#TuIS{2 za-5REBv3Mag}y&-pw=1>6jgSDx98m9P;(OK``tkOOf$M-!5;i(aGu#vTF%ZoTu`;K z9(T$fX71ny6yLlGOwaqX+U+5r`h(2T|L&rRek1*KumEcmEOD3UEw)Rsj!Zr=Cc08e zsCbC&)h(~V{M&x8^ScgJ8u|twYPX;U&4s5`?Ce`I2@7Yc;9#*I3>kXCsAd3EEzU*T z=m4@YZG^t~n2Af3;(*Hu=~Ax(+IJ}*-)aq_1RbCUL(1sUegW3k{eUTc^M}z^awBJ+ zmtnH=xHdofg4i=1Fe^HNgo@GM@PO^G}N+|FwWjWs~<>`v;{M2*)D{31qPJ(%!alC@|z(6Ax zeA)Gn_Bu#lO*aR}vb9KF(k5K+$`Y%F7UFk~9|~+%X7{5za5yR+-((#j%IcA@ro|7q z-+E!Psvg7&Y^6g_@539R8@Mw)1nX6HL6X!}$j;qP@85MmvkF%Xl1#*^v7=-l{49>9 z1ZkNynltgEV-Wh}w>E!DBr=X-I9oNHCg=L2|Hl%XIRw z=<-Stoc_B)OD7mK?5hNxmxs``;vDR{B?PfvnAkkY(P?6{*_FyrvAhg}^AkZkw-7V8t%nIAb==(RMfGY+*t~ry zDC?}jI)h2(&*wl`ux2C6TziNTVK>44=vfRsXv5ASr|3OhPgs993<7%RRvLs_!fk6m zqVLts91+5VD? z_eIVq$(}FOCpXg9bxC0Rm}Sk}w*z9j5yQJf(RlD3W0$rD>K94is4Dwr_VT6Q{a4}p z4sAN_`2l`a>A}FA*YrJj6a7uC6@&is7*BpN97$5srp}LvxN0G&`E;Sk8C7Ua*w3Cv zY=3vYGzz@`KmxTk;{(nSJkVf;KBgh4;qFP^Smn~QLCfLA{u5LyG7%1#9ET-8>WF++ zKCB&IhK#=lUeG!VPZX^&HzFHWu8-lUWY57d^>L;?MH{;9H8F{68`-SKixb9)MBMuY z+><{9J?70gnh*mI+5J=Y^aS<1y^6bLw(%@}N+0Z+A3NCJD`usQ5Qs{N%g z;HWe~ixC=W+o4q(>_)e~sz>pjB3$Wk7=!YJEA{l}g2>^sOpGzYxBgFb@YzKS6>h}b z?q29ESjUkV@W9*SW%O?SE&N+sNt#yGV%J0?md(*Y1)B-lETch38x3%4d^rd$rQq-` z8^-t7Vzx;sJgkg>uF*OO-f00h)N;^S)DmNcGQh+lm;{8fT|80SaORIb@OYSjtL2}- zjakYt?;q=BjgP^tv-R?NWBCda&0PZWvtOrZk??ov#goT&e!1y z`8tm0--WO`W)&9wc7*A>MySBfH^O7{FlQqVn2x$YM|?PJP}oR|F4>XD2rtGvBnvkw zl%h!H1da&`|NLL)H-+RV?AKg--fI-KQvn%J@4N>Oy_m<0!ZF;uqxC<$-&r9tN% z$hVa)Sh^(!m1NS`JS9VLcrTb;bRwmH?-6^J%hpo&3}PL^(KO5*s#dk({OgTSaJ&gm z+~BIr)O$sm4zGn9+{&jH@{wg>gLpNG5BxA3_f|OKo#rM8y+iRJNg&Q&GjYtO2Do$) z-;TS05y{3E?!0(f+JgEvzhTPehM?(feJo!5h0shp(BIQf-yGfu5r-c!3t6pGO@A{U zpT83H^J`FLT$TK&-i79O)*(+i%d_0;PUN0S>dZ~NinS`yux;%zdVc*aqAjk5Hy_92 z#0yWTJ-36AJjwRq9L%F?;jM5bW11R-Mv;K*TKp|jkJ1hINZe2(T1ndB-H0IIkBr56 zB?ZVCNrR7a{y6%I7d+~#(exRc7y6zLuZ)WD@yyt3Gh~??mM_UYHnZL8R1qImMh`%=PXL%wqka zO_Lm$Vi_NoK3cQ>!7;+e-ADCme4y+`8t4|i$F(b_sSE49ieA+Lw_YR?&UJOtzp{-e zZiu1ZbPj`fqaD3%Tnp4R9P1ZyLrIt%%alfP?9g5mZsEt4L&N0L=R7jll|eV%`9q4s z9umdLBx=ukqs+MC=o~*68vFYx=j6U144P!MSDO&jiDLBu#|)6(-B0aTm&4(I!Z_D| z8*X_N!_jvD*v!p#Z)I&D9_uq9-FYt5Zu+dP5L=5vE%S)0yf5Z*hr;Wq0+RO4AL@Ry z-mi19Q0-Dqo+!3aT_%IgfqCOW(d(SZUkl)RrxTp0S&0+pF8~bagL_yX4($tr`J!$x z<4y{G)IC9-cCLiZLiVo6wGmVkv*GneVOU|1hvLhdP?Y6a@LCtrt%Dg*mKVSnylVh! zlR6^)egTqaH}N++e=V|Kj;C4Q*^X0ezU-|hInTvIg!e259<9@0yfcAQvQirdR5S3h zz%vZIUB{H#w&J^AKH#chUFjjQ6nyxl+02P3PP#|Y5V7;H^a+I~dKsLwpJCs=t*Dg} zOHzVoRvP`&M)BsSpeI*=&Q7xUNHPn~-~Ep~d9)07?bCs^Ga}KXVUS80mvBl9G&%8h zYBWILIm&LS!6glAQ1_r0Y5$rBK|BU{G)fl*-2&kAV-B00FvNyCS&u~$3}*5ABP_InOKeHH-ISJ>=IS18LQR%Np~x1nqDB?d&WdxUl-aLqda1=d-# z?^ZD$4GqQi=eHQ%p=(&NZwD^-TS>NjZm0KL%27j32J{}=L4utlH7W~*g0uekfX(5o zdwdW^+GJ6K)xKuw<^dlQMkN?yjLM9L=L%Kyx_vAT$mL>;z8xKkuSd(|XgJaI3af7Z z0UhvToW7&Yd!~oP^K|*W|ZK*DL=HDBM#S&O=7_CA(}C~ z9om#1vb_T>RHEi3X6?-a{aTj0uXY&y+_N#~cQiJrsGzb=D!r4G3)i3h#NtgwFk{al z;Er0$m?cm+tKr9K4Vk1OPt{@M{#$0fv=oV)qXR}O9l-8=FQ>NDm%bG^2y#Nf@XO&5 z^V`}SG-?Go{GktVQGE?864QWbxtDN2RF~C|Rq$uSb*!jU1H%-5yhq(()58aFw5=L< zn^oXexy_iTsDkZw`oP)JOGTu9GBbrF;Y4g1Ji93cw$HDUQ}1@e#~?YJS>OitimmWs zdjMQBuB6|G$2pv_DIzr9gKuqzh?^FB&lQ`2VRBw5SF;w*tTu*i4?>`A+5qI;1Mz@S z0B$|xfwOWGagl2ec-~?E{`X42b9T@yH-e2KXRyRW1MtEEmgBF5b#_^pwQMJRvev^} z&+}=T>;u>o(?(vH*W#j#nUH;=jI6tU5V`c$(JqN?sIey%)>Q6B?jP02W%UFnjdp;M zK^hb+p5pWhF5)cpdrx|{n2=YMr%~wMDfrv6ouT=&iS@S$aw+UFK)W)!OT@sA83vGP z7)_TI%twU`mcO~P9lvV!(e&m1xLWo;onh{QFM{kz`o#!q`@lY) zJqIhr=rt985bEhivk#*rsG02wxG@3;2Ihm2+&mpVo|CjiE)4J87^4-RO+aYnQWOi< zgAW@7Nz9qmF!iSh4eo}sok6A~l*bI;I8KqGW6wFZ`@F!xDwb|s!DjIt-Dv+;AN2Mq z0j{EUTCn^lo!Ku;4j#~?0?S8eWtAlLS!jpuGlXfOzZZ;AXn(RMg8sitVBjJHR^HKY=HNqY?$}9|u{q?f zrgR9F5F%}(?qtEKa`K<>Zgkld1q8R+gRGr6(U(JyDhR+|(M0e$ zlL)l>9OwKwMbr)X0QO5qm=9rEpl^Ny&jh}JvUeT0XYVtz?tL-VvvUE9QVQ=1Jm}lq zg<7|Fufz15k_xwP0XXucfL>eONcQ|{!>#YU!KE;o2(Vo~s@B=)`flJJR-v$t!VqF3d;4rpn-`dJhsuVkeG;uEi;A~ufD6GG#HLHascJU?fxFPP@db{@wa`%MVoZz=07IEt+N#rn zx^*X^usw;q9WzH+)&u>>^&JY#oMQWw`{8;+K1!^O;8=xZV4x90{U^e4>U9x3su+d! z<@LlSY#CHG&7h{-DPXb80#A>PlCWQ6#C|xBW^1K_*zZ9IU~K7@%$smap^nt^yfTjP!ce%;x&^sPlo;#O?Re;| z5(wx9V|wTY4BC8`-j17~WlKtMIO!!ZdY}q>1z9iuu4h=yTL8}=T!EDIC$QwK54ql@ z2yL?qaHdKlRrBs3Kc@U(yV?Pq)wLMqWt32Me-JKhjbNEOhHzLzP)94#kIek253jdZ z;+3BB2%qnvf$j{-vn&GrD{g_u-0PrZG#j61v02}0MJnXO1B*ALVyuf-S!%Id;?}l>hGROy+fGS+}ww3toie`)?E%4jxYwTH_ z3QbF&qQH18UYePUmws<1uTem=w6+@JzjorLKLf=4xFGVEZ=|Z=B?$p z(fU4wN|zAV{aMgiqfZ3GS$4^L4b%}i4rz^9c=`NIR1daBopllA5@~I0XRJE-?U|w~ zw^xxhd%MvgJ{GpHJk2M{iey&ME+}EXa`py9QfcJ}n95fVlF`PC`Z3Ve%)n4FO!2*39L zOBA9}FV_RP3SDUGlrL41)x_%|T~z(C2S_YQM5mUs&^qH0-ux5*f)kQ>_=p(ktc}EG zjVN-JZ#UV`j8JERC-mriJ6O)1*Js}v;|l8p;v?h^eeKrp@s*VJ%xf>`8CEN8H9JNB zm2SfIJu(=uxRcp&(hGmdv$}>L20YA%U(LqV>Lin_G6-o%dh0*8I zXgT*g3pV3{jfaA@*B#eD6Dd=64(?B5Y(GH$s2q7StAsvp+Kka!V^nyPRf_MJi!-5B1D4vuEnPn?+ zaa{rgteGT&1?xfhx-dkTU4mP4yr|o-4w?S?mNst{A?v*(+1}6$JiApJ%=QVB9kb?= zQ1(qNbC4gUxUQ1Z%DkY+-3UGNHQ}Oo9ysj+5VByu=dz1v)wGEmYE6ab#u3zWUnns; zaf*PGAa=}L3`QfVuscH^rd1i5UGg8Tef18^SC`Ry+&36=Hp6>jR}4(Yt3tNCF+cU{4})_xq8hQb~AfY+O?M0^WWUGb2G4-kZ4ak=uLwvrw34MWdgQAJO<=S`0hil!fdJjhFccFjsAANmW1mo+XSzqZ4B2nB+#l6>pUtJCinx038 zY$@FQ}HP5l0@2DR)7)f0cg3l6^gpIpkts9uHNm8pK>%IaR%#U_ZlPTCsL5JLV_MX z&Sn`(66ladBMyCM`ObISp#QiuO53-P;;LlO^|^vlnHRK2>10VONMsW7;vn11nW12FnX*H6E_6oW8)6GvquF_ ziB*#eznoC{sS4)($ONP61iCF@g5KPih`Q^0iPyr1^vAQ4SiQ{+G^O}3VEGk{T*mUG zPS(KwipvvdWow zoABZD09kmRJr4%iJBmuQD_Sya*YHk$eD@{{O|v8L)v+1S;BG+k8lG{Aud{ESQf}aF)no#fcQ8ooO%5TQ$Cmi@uTt+rw?J{r9Xy|5I{C%3}=utcosY8>}p23c_#pKW8G7Nn)L7Ujz zuC;+84#%iMR{eQA5v)mmUEPMexXakwza%Ie_r`Z}Dws7?*KxBFYPeI9FEA zMD_g|_*45ZE>ex9D-c1i=1OChm}0s3Y^$7HQCCa@5uqzt7cz@$mwyqdO$QN=r;#(l|ELR_<5`Knn2{xU^z>LC z#JO1FwRP^;F2LsLX0L%gOW!gxG9<9BgXQ778?+nLc)pJTtNdQ-WC;V^$m_0iczOZwG$A)%rcsPd0U9Ev>nhv>7A9F-~ zdLU=$5WSHuM8C8vpv~EE5PFxx)SvxHG~?o_-Cr+YO>yLA^e6K9emNxGWbYFhnV^-K z3Zh@C&}_FiQLt%-e?R!(xP3G%k_Pj(f-_R0{6}DgQiNaKN1YxTHaKuN{L4HWRR8ZzJZd z5rJniZ;7z&Ej(7a7Cw~bW2RRMIJ0w*E8%RG*CoBh7?gb z_xIjM6AcOgzjr?QpeXj!5bwoypMhI^C z8x0+&CyJdYU99f{J($^fPcrOc9rjkMVUvICg!P6!fwRg*hv!-F_iV1rO+^Q+<4>W% z`RK6?Yv$qMOaCNonKojksGS`goXLV$pe$m+9>|2(V7s|LhA1w@>EdkJBWxsWd3U7z zLCYK*l#z@L4?bhEb0sNr-pk_aOC(wbbD4H%3&}m@0_sz_mr;xD-z_U#1E`uDCxjjw@t__~CJ z#-x%*Mnll3Qp`@g55c5`i8!FVkrgKAfXl8FqI%Gd#N|wd{&~mQ{5Ikz`~H=b6|3Rfu--T&#|>s*6B$k_ zmdtx$GIl)CApcB5$)b`j+*fi11Ml600~Z-9nUIWH_9-lVTpre}S8<86O%!blMe%HPr&D8ugK({`I0g*n^_RX z?2U#F#47tE?AISD&P}ppN-e#aVGk>4Fh~NW_O`>sArbjq8-%TVm%9chBLI)m|VO)4&u?~t_~osZjkFNTD{1ptA)!Fp2WH@62P{7?M~c>YK|tqI z_BO2tbNo|-0da3x+OZo@_vi!h^lTHowns3UNKk#eI-Dt1g}!;`Kd6$TuKRX;`K1M?-KoGupYF1m;^(*iDTP!O->qt~p# zxXDLgpL2?AK#9nKN$bbFk{7}45ms>deiSzJzslMduEn!i#xTEMCpNeIkzLBUgtsmR zLSl3Qs(ka3Y^%%y6uVkae73-{!^gpj=8OHFJ=yHnp=hdF$Sg*lV-w_dqC|TmnOpLZ zB;P#&Dtf!g+(ql)fZjB4w)l>=vs2*mjmKnrY!ItluupbiwH9n&EBb+S)<}kZKMISI z%30RjzoafihQD4NWV1sWFyiYp)_&k8>GS9VNCy?mv{SD_;4^(JlW$=2!W1DpyNXmE zTu&q!H_1ma>oGOf6tdfkW$)ge1m%u2P^o(d3F9+Ra`m=kUdb=gIAaZ-4miw)J=;SR zlrFHqm)FP(&m(N9xi7jO3&-n1xBWKt2wAHznZ~j ziR-NJ*&vLuek*x2I0y~@ErR{`Z=&v;nHcrdAI3brgxRYaaHHQ-__-t(LR(_-@#k`K zaN=Hgw`vJ=&2s}yi%2%w$^*6>$Y&4Q7hu(ZgLq-8Gv4}?gn=qz$5-iM6q^xov4yxd zyJHU?I6~yH#8;gAIuL}^gDg5)2fjQMGgwWOJPRI#sfwX6;!^_IWnv81zxIMLb5G;3 zw{fWY_A^^(oJt1YD}bvZkBI)CXkz$z3r>CQi8DQBuu~r_;9S58c+v9|cy6g@7xvq* zFwfT{N4zI*RyqZanNygD{&@@%GOnLYGeBfCe&X<+I9E=Z6NyXP*2vZte-wSBVu$UN zM7+E_7Jk2fh`;8n6@3ti*kk!1Hlwq@OpaWI)M+9k)8QspQ<}8!&drWLP(RDFl8v!1!ymxJsN)`MK^Zcr)kT1Xa%)VeHQk%)gvtzqI2zriG+~h2;X&IercXl&>Ml-x`?ivHA87 z^sa-Qg$8Un-VQBJ$7FlZUVLWB$4lz7@nKjGc)p-TWR*mdpE{-JoK!1I9y|iHn`}{i zcrytv$z?u4M`49zxyUIHc}lalVfQ{GJhwOyQj;U$vFm-@Xc{G6qZ}YGdpxR7T#Osn zWMJ_%8H*mC1G7_Oai1|KX|+p-o0oOVgC86~lO^G>scxBg&l%44ZYr|x{cr3sfHIu)^I>F=Kfc);!NeGBFCTK1+dT8U1jQ z{(8ploxxzEG)Vp~54+aw#+sO7RBUZwCTk2}f8%d*^@+$b3~*$t#M&-%3oD3Q7Jy3+ zXUY5zXyK465up5MG5Tg+K+}e!F#g$2awfutC~WVEfeRDCHQWQ61CF52v(xbW-*nuU zmrw5L9m4gUIx@vrbIG_l8R)p+97#2vfOZk1@V?-$1jFBfRopGWe1RzmzpF}owvgyZKAg6Fy%)@O{Lgvc+4b1pmJ z_v_RBb0O!^7;4naQ)OX0OOsH<1Vbc`H7x`3XI}X0w4tX=K)}7cz1$7JbtP zVv+V4X1aE7`CqkSR24lWEi)q6la&YA^lc4T-X;$tFjAZ)731skhan&~3(tvOi%klF zSak9%x&18~yZVeITU+*HO4Cot%N~B<^`TnQ$D{~%i~hw;OJ3tXX%XQvdw|WuYSjOx z1@9H_lEwqw?BS)=q{d?heqY%|n%)_r%5wuyR|$p6F^V{3V=jIe6^-|%dcn1*WiX&M z1>-L7!RhvW(6HDCMoy?<$JRV%`wpApmPMtI_bwf$ZjL15YH#2o!#%Pgo6f*m(|H)R zY7*3H-A4bWWb6uP0k2Epxb$E#>zl;O_B;!Ol<^*noZeGWvADy2UP3>(TsA_&My+Ra z>G); zV!lvg_Bb3k*k0_h$;V!tAa)GpiyXD#AU|G7?1Z@o``-3NiG%<6?&w1}dx|@0-J66< zV+EjtKH`$+`#^uxajg4MA?DBmm~F%fuybq19*YY|N293iZrn+(+&zTjj#d(?x)9nF zOqhP_KG{sOV_-bt2u>L?5$hE`u_L8{VC1g{srGW1KBU_IeC!_9z?q52z%0<0iPz;* z`^7!tVJzHq1*X}yup<9@@+OY4y7GB&ajO%)juSnl5+z6xN z#B+)lc;$(6mBcbI+7XW`+({h$Mh7+tk+Q413&44B3T~*~4OPjf(ewUsG&)=Y8UwGw z(>?WIEbPi7oU=srl6 zr>DZVx%IH%S_N|{y^PQGgUExeaoAm+0Q29@!orT>P<^``R-E=j(~HNUbmewtCGG)K ze$B_N;yE<`b_0G+yg?NHJR{d@QeTFa$Fvu!h1vT zASZBauM%*Q%m>@N$*_eU#Xbk8G4A0y=*Va$Y08JtW=;#{tSQ7vyLhs%b_~W@Xaa5! zx#GP<|MB)CWPCr-OLp51C4Xe_sU;WpMjipr@(W~n^$v_pSHSFjabP&81P>`ovC>=Y zOiQo=muD8(s`rD{Dqh9GdS_YC6BkJ8J_$RGv|+5;ewpiq9$*>T6Rv)~3BUIAlcc{s zjj=o5lA7o?lBE8I@OsMh%QcOn=Yb_83U@`1*%ACycMZ!dO)$yq3F3g~ zP??qiPyCA*mu~~j11fQdW_D_)Y`A3)ygW1#4jPPrC!$j1I%_jIc5)azzI_yu)k|=SCdYQ)A54xPS&ShL zDbVt%Q?km}1*Lo4$>_cwMAddK_6*LKHTtLEWJhJRV`pJ{-Za?KSZHr;Swdv@g9-FS zJTYT2yF2V4ZhX;?+MY-T9i0!%&2|a2j2=vMn!|`+s3Xj9GZyuU1EkKW5)`i=f<|u@ zIQKgdBRe8+*6(!5pNpC>q1qBYFVsYuKL$oFs>IYc3vs5SqImt#fg<-v0<+rTsC6XF zdo>F(^FOjDR|AO{gdi^8@5!X0k4RztJNEhJ2vqMKgHxIeaf((sSQpF%t!_UUCzYV7 zm>Es{SAll3c$WH9oDCR8vnL`;XY`yG?1}MjrW;fzvKo}p^R(zKmL_7|@_I1YTMW(1 zwuxExHOw!m0QIN8MXg`en6ADEgrrl%aa=zb_WmbP@O!`p_`D?DmmgPzozG;aFMuRk zrU-Y63UFOb8Fr6L2Ngv71M zU)jz9Voqe69d-wcESKDPn8m;aICF9BSPMU8eCYRL&Xpp1lBL{p8{L@9pq;O%3+SJ^`EKSHO*F z(NJ&d4*cq!Y+|2s?5mvuH}mBoWnLzXb2h@jx;gN?sa^7UuQDdLh~2jnd!zb>?J%-N zO}0hzJNvXZ3vZm~na_y?402k6m63+{=tvq$MBnkaWmjOOqX~XcIS!pipR>!0jBue( zI5b4r!eNUDP;gNbJ!6+itLt#Fd*LKLcom87^Fq;}NlE4s>4rJGuA#zwU6z^J8w#|} zz-Ch~7xu(mXH9^n`!883Eg7M6?U&SA9S8Afk*H65Jf|O^4%>% zGGAjglzzJe-VZmR`;;=)n${b(9D4(%)}aucz5`zTDTiNQYw-Md)A5d`@v>=`LQr+g zdWfEJP4pd4t#Bm1>6ljuyht zz*AzkT?)8$y{!1%)Cqy7WuSdi%pWEzOGd5LXIDaQvD52rW8-BNkeT*@V5>N0`{5Sg zfjZ3F@{=9bn1aRu{y0R#SE8`{AO`a`(9`WFsq+7T1I262+k*nG=s3gX zDz8UEM?m=W5%6c*di+yq3i=y&k->A`68-7b*wPU_?xpbsVz;spj6&y;dWSREu_{|O zYjiq(xmSlS3!>pZw}-73IXmGU{zUId15B|;Vv_8NGqVojJ!M@i+kY7wOt<3SyRmqG z`*<{Wt^(EAW8(L&0-G@vQy%}7WjgvobIx%bT4oChFH&LP^s{9Bma)XJe-S>JaRgUs zYh&J+3AlA(87aGvP3Vv*pf)cG9=sb5=cko0mmA^W)H;q_ZV%=Lnk@@l-_C0$y)^NK9) zN*JEJsfw8V)`a1}>tb&Eav1vFU5<;?cYwQdp1s1lOOkEML*Tb-ti9Eb zYUG>EMdtl%?7h(!Hj4Mi?5DwCco0d|>`$1L{86GeFbkeKWDv!qIj~8x1A9v1;J{}; z)Lym`{|tNx=Ed=FW`KlPwaa1gqHECaO{&ao%5SFE<%>hZFT%VR+3>aeh?s>n#9iup z+0hMs(YEzDvsHUZ3Jv1GceY63XsRK*zuiKN%d+<>&qBSF>2Ul*FIrTZPF8-a zV_DvJB>lz4x9D-RvHDa7bPTm+%_ARUs>^=-dsNI?(bL57OEh{ImO@VFWvra(DXVEp z1L0y*xxX9_BZkF;((GcEwKNi4*n0dhDGKbK_X5=!6EV@+5}hA5umz9Zq5VW7+PaO$ zZ+8UpVfH^st*sNQe5z-g?Nn%h;tds-kby@L`_)r&0dzeU>UBe zJ^@1p&n2OwucF-nH%QMkh9(0|mg}mDRvKljed7jj*;`I*$4TMn-9Gea;(6Ik*LJ*3 z{Gd~Q04VHD$6YV8Bw;$0P_!)q&or)tEzRpmuWm74u&Nc3+rr7>bWvZSGq9s?Hh9L% zaEJCqc&>B?$JZZ1Vb&iqTY4KKHf7_((vPIam_mqAslcua3|=>giAu{W_z4P0_x=*n zGw%>c9phL+&zlurQ%k|gwFdA0>%~9P-HF1Y)gv=IJg8YUx*sYUvo%) z86z@owBVlZ6xgt68I&jKG1oO}a6C1YdB$f$@TPMRaWRtZaCt$de2fEGm;sw`QcY5? zy#T)%pMe$)ExhX#FZw)3;)S>pSXKWLjk*rtf**$TmF*Gq@2ry;HBN)L1O^eNYd~dD z5pEjrUgA;4jkt3Xf030Dpc{de_S*3Md>+WYJYZ_OGBEMG9lCZZq20#S z5Y?z4YnweBT8*_aNwX0(9PK1i_-B&GkqgnzT9f~^!Qy9S&c) z4DVeoBHq^$Ft<(gmYr!}Rm$>`1b49$yC4Cdtg%Gv8@2c^Ae4QRUV-?j+mP?N#D17e zhdsIXQ6X_6{@xuozS=zjb0#N=T*|8y0M{%3+UznjPy`Ozp; z$AbT%c=R5(50Xd(P9-Aa&h$OvMOT)kaE8Q+`uV1+e@t(4G3~jK6|;CdX07?=BlZbST*~xdH3k_v3Ik0h8_SG5vt+Y`B;wiD`3V8{hci{mK0x zCNmtdy9btw_xF|+Uhq44m%Y#KDMb519n;x<4kJH#!P|95@z%#{_{K6Crv=|2ieWb- zLyB8jlh_Tm>TxO*iTk+DI&1jXs|Er#7{J82cG%h6$jnro@bMpKR(3p_c{Gatzg>;2 z$L<_VH&_f|m&C4Rh5NFPgIkDuVGW!UlN4!kQ!p#=Hhc8)7HF+GhY4fGgWAAaajp?b ztOopJD<5Z)Q*Te<;>G9Lx-dN)Jlq>snExd06P`ekYYIZr2@)M8@(MoPkX(s#KyWz# zQRnVJa!@_#YZ{9!MJvE$fEvjx>%&J66?L&U$8h>PZTPCDBilDHn&oFcL*Ka}SQ}*u zdsmfW%)Ap2U)qX=FrWRjH9>`Of7s35yYSX%6IhZUFXEE&(N^?Gy4W`0r0s3QQK<)L zn0e!z!%MJdynu5uSCeIvZnLDgQ}DgC2l*9N4Gn*%urwVL2#^mFS>*!su|I+Qpye=W zwih$MlnOE@c~A%(0iH@Hv3`Ly>+d)Q3jR@k>8T3*St&skhZYt(BnzD%)v)rN?<8hl zXX1l|L#W+fzaoYqk64s-haXNl}tp)|-jZr^F?5I~F zkZ|A-4k>;~#@=ye1=lKY-!F4`3rpacyA1ZuJAik$Z-n#JhoN5A0)P97{_SsNu-4iE zPF@i(!KEAg-VKGJFU2gN`T>~aaRL{aU%_$fLdl~adr)Ft&$7Q=M?I6H=%eH+%N`U; zOie0fs^6_~=W#`TcTzFVX;}(h2i4)>usDq4<6+mS36TGOAN;%>MZBMdL)evI@Hi#1 zsP~kU%^g|fv%ww=^G8he)L`2Jl-av0dvH{*B-p4L4!^XkM8+22qhe>U8=3?9`f|wP z-;htwrsKUCCRh}dMZ88W#y(;n&&W^jh=qO**nBu4b{rO=Ws=yLFfA0Fl}9n}O{Sp! zr3M1enW0-!1gxxHO=eAbk3?EVf+oHcbE>^CD*l1UD;LCG(tENX&sx-0{=yP1vLz?W zcy?CoW#!L{dw_=-IP6a(hLt5izAPORt(=*Q*jq8QsgB+Ktq&2S2Y}V4X4&nR9EsnP zRqot#5-fP31_#!LuwtVGEE+Q#{v?R`IIr#Sj!%akF$y3VpNiidVqrl@1KTmS1w0Zg zu=o2Ntlh-IR_J-I6uKlF@YZ<<8SxnClz&|41<6Z1qJ`~t*ITf*MBT0>1- zBznaw!8Jv5T=V7#x;XYhE5AFKcFGU?Dn4YxYM(MI@|Jmvy>rT&dQy|g6ela)!<5!8 zvc%&(`xY8aR+nnyPpA9LR@5|}4nD&4pI((kZL)>XrRNzNeFE!~yIK8k3(VAShoMU= z#Eu;C>#wST`<~|$_ia|tq*MsM8!GXrMkU_Zz8Xf?dO-Gp$*9m;gGXPuga3-_@VV{l zc(dKNp(5-n)6Z0pZRi|`1OFDn)f-w+HtQJ1yYGNCseRG4_dKBP(dg_k2X05sfO$R< z*k!RCN}jb5dv{OJx$_vmMzl-5SvHaB;xo-Xqav`8^MzCp=dJoY zbbBni-aG&Ym&btS(@;#-ISy*6O}NrQQ!?oYBQlY*QorsD%9{70`%48f#gf9HBcT{Q z@f~y7X%G5`XRrsiaxVX8dHj~0e>i~eW#)^? z*VC}7>oz%89t6=FXTXeOU6SUnli~Q=J-Fp;1Z>l)KFS*-$rw1ENu0K0 zQ)3>^t@}p;9>kG`-!o7#%oJTo5Fg;t~E zFN#$g(};UwBDm~0h|VsNXytwe6&8%a2Z_UYt5MhSPlp`31+0cwgOb>uQCILS=1btm zHmDM>n|+2m625ggY)veI34u?^yUaZ3Q__osiF1=xPHy>m0$xcR1!gie~1-oLCHPC3JQj?hw5vu{#gyOm?scWUPU;ui+8EmpP;D2;khfD@JDPA2W^@;viKX4~APmohK=qER^ zkMD{dtNg94R<2zUFg--BarFfev8#fKBpC~eGD(SK00z8%jqU!2aB1r!j3{$qXH}-7 z+obo*W^o;n8|{N5{_3^YQeP=y&0`t`WEKB3RmbJmpf4#NUwpD9auh}dv z?%2g3>Dt6l=_I!hY1+UL>2Iw)(i6M(NYCF7l5QvtmVWuMN19|7EOqq>me#!zf6oq* zu6Vdhni&`@jqcha4RH#V_6-b?j(8CwopvZ#x~^x4G*%KUom?3teSaZTT5KF7E!i9* z-EXs3x;8Rc${X*Ljurp*@U~#-RpVf(dCGql*Z2Qf+y?TdUDUbvM43O^U??of+Q!e0FcOCM?j!i!wh?^3h11B7 zUwGa5H)%n!88>cbDylT((yKL^IF!>Ce1wnuzl3qZ^hX1@f9?H+oJvLdSs@!dRHpF# z0+ofLq-M6VD+pKJtfdP^Orsi?TX^@rU+IT2k$kJ4Jy&SZNTV)Q^J-=iA#h<7X2ndQ zKfj;B_7ZKusL>9i%Z-Gef&I8a*Z1Z8Je12`+*A0}(8Sk{9?qq`{z2(S z4;-`21U~vQ{>`Mzbo}=|!dY8YUT;tZwyb!=Z($aK(Vt+RE=Z@_l{@ILE5Ur=ontbT z4dE28f21c9F7vteIV^l;6YWuDB;0%X2I7yJ3jR4WX|I#T)VC@V?(~;OPqmG_)O&ys zdeE+-f6hlNEc;A%?bG6%hNjbZXD9N>zKUG>p&b5@%SB$_@B?4$mLxV!zT_R^!-&_R z0m9!o;_*t1pw+qh+=*LTVAM;F8@Br%jNPduSbQ8n7UV^s_qRz@=jj_Xt*zmY*~d_B z&`%0-ku+6xGfj~w3p4W?aAvmx4OUCx-B)j+vvzjy_eJIfDbJ$c!*n|w&TAr+k7V9%~` zykqKLTIV98qmF>EYwkzd-`id&UbPf6K4=IV=D(!v{jM{1V=}6{TG5;ttNDu~jp*T9 zH)-70)!4RZ0B31FPEhsEh44!%f=AeJZrju}{@=Aq>KWj|pS2$$46^Rze;ughC(L|; z&)Vy$0;}Q|-Z;$fINgmqm1eA{lv{_B4-EUIp>;AaJP@#l&YsMFToLdet( z=IZV(yD&~(=$i9`Pd?j&>w0&H-+tviogA1=11J2Ymd+bdYy48oTnzM4ivg!m8cLTQ zSK;i24;9kRdD1~EpYyryR-BoZKMi=PM~96VLSuU#;Wy;$=Ho4NIj@a!!faI;|3&>h zJs=s*kJDTro-=XmJ{0jzmI8GS|H3a@QAyvtm+_jLj*yApUQ@5QW7O$f9-dvGAZ(j@ zf_^gmKy$xrB_kVq2R`Wou6sODY)(AXS?=f zyY?9hgXd`p&F-QSla~nYgYQzZW+A;R9V)mjt)@?tuJJW5YN+nrcB-N$&;5wzY2nl+ zK03&dTU%yJZHoVZ#;v|WqjeqiD;z4UcwEl+6_kWuNA-9uUro-*>=a*h{4}*1Z74jw zcZs^L=tb*#S_sbrdI|TkwS{22>&RR@dGCb%boBv7Ury*jJ)A$%=UfCoXmxLKtt{Jgs7FnHxrS;p9-^lW(|-C}IU?Z5D3 zyw%0!nAda{tQV^ZvjU%k5^bcT?5g=!`5bMW|AKEAp(6Y(Ea7v%yYf$LG=&kGT7vD& z-kk2$Fg`!#6Yn!pSJ2&{#6^Ge!pUqT{rC7Z?Ok<--#b5^pEJIL_LS&wxocE~_Tfgn z?L9xf>fJlqZ2gID9NB{QnycycwaUWsWy-=ai5h?4;B&roj2WG~Xe3RVV8Ho@_2kY? z>(99>ra^1D0(bk2mSEoFE6iGM%2~HJNv1b%CpU*awKl+CaDW+E2CS z*mAlHb%YP|Ot?oX`LylYRoorK(NPENfRm-sXjLga9Cn{S7H7g)I3D8X9vv-gUa_BQ zPSO{ioWIKJ>t@l--}my1I>+(fPsj6m@Pk7&8PyKr2kiS-S@N&Qz z7RIqTwQH%%(cSdkj*nE^L7zK%F@p_!PI#wda)NoBy5P2vOyGQh9}d8}!8QT3)T}3*Gi^JOyI|t}J~hmw2a)f9e@W-|w%c*}p#F zwd&L4>^vfG1dAlf#opD^Qf7|mSvhYva%!tZ7;Slwp{-Syx*+x(*fx^4~Q z8uAoqhp{Ia^0u6YUR31Pt&oIS#OP`x{`6KUD zb%?gk=}Z5;94Qz%|ArxN?S)rAP5G~PM+?*aMnF;1Zz}uXO#8PO(QhV7^wM)bTGpw; zb*oJjww@d)Y&`#p$_@?WG@t7Wmg!$fL#L%M!=scpqpPV#Loh(2W(r^5y_@c| z|3Q^Zhf{8G5bc{`LiH5-aA61E@*Cgx;r2c%rcPItxJ$iU1^Zv!ywZ(F@F8Uw*I^yN zN8dV2t+&hb&cTlSlI24D7lBv61qTjsd!NNJmS^kZyyu5=k*Jgd6?%fd1PcD-1 zoWnW(_N-~V`9_}BtXsktnpct!28p2b^91cNN13}?GM_GrX{65E-}6tToxFv-4zFFK z#ATOS3aJOm=*wwQG}x(>kAE|jH@-KX9MUuup8p)n-L|Xc=a%k(siS`K!@M~X~^Y08^ZPX?Z>^lOX!v(3@dlW(6h29{G*-v!qJWD{0*mr z)QLRev%d8Zq|^8Ea-O5O$^X{TXqy_o+BcWhmh|HWPGkJap{}U4@*&#KyUC9~_JTfs zYrsjK_U2Z4I^xFICvbaf2H$e)J;wE)P7_j6E7IN>2qzCU(7QGvl#2gr@M>ee?D;6c z$g_^!QOpDAWh~U$^c8N6H0OAaVf+?rGw!#}b3X3H08SVt&&>=q;Vid|;yy)1qQ+~1 zuT+TS&pa3ClV{ub+DYk<@@)%^>KMn@d&=?o<^Mz%NjX+p4dK5I>jfWOYz1FCRqn;@ z2}1a-@APwAE;aV==F61_3$xdrqAq5`X^@Y%y&U<4s<#{Xmh#8cZl))hQsRLITl)#F zKVoTIRW={ma+-IeTWPO*W4I0Nl{7+SFKrj^?omr~_%HVPyeysLQZ}p7yrl}l6l<|4 zOmQo(+^8-{mT3rF(`^2}yS8Arb2uG+(Uh8uRTOmR4B%gx2sGMBBTSZ&sEUhGyKv`)U%QFzXB*?Y)|MJZ_~gQhN)cM~(NI=0(fzYjAqT z!?|ArQuwZb9^CYyZN#u_BUSyV$hCXw3ae6Ou)lu^EodAn+@91)zHA&qGcWbzj7!q_ znA~UZ`1nMsInG9~Io(@G`PfG6-j3j2HP{G`d+F1v;1NP>|1@4H$cWwynM3FK)zUS_ zN@r&XzKpLKlzv0U+*5j z)ya^XR&$3sEX%>%;!(K1>@Xc~+gAv@%!tp`Hez=EG+#rmLA-hdUAC|k+Fu53mxdiY$lu;u zM^~#~=j9Eq)31M@(!`w^RG0muy)F-hgBhc^u;Rab+oV{!;j@MC&Pqq{uh+*-{yg8l zLWi6FeiFah%!12H7$U&AS9E%?Dre$mA$ad7r-4_i`MQ#i^!Mz25O?|nB&0O(-3uqt zgvI96w_cB5xAi6cwnUCCFpQh=*Vu{DB{KVh@smtMHogC~CER6wlW7)TfJzZ_yV-DHczG{wR{j^hSR6(7m?tLnHJpL;zVjC zLZ_V;o#fw!-{w8$_|Tkh0|d>VgSjyQxICH~i;&$RHCf~CX^26H z^h`^T)I2&^YGfKFRjCM;?&(`0RX!Fht(+AqeLOZ)sh82hy7Fw0)LtV<`r9g0s?&U0ni_aaD%zQ(p1XpiBR>U6C%+GozH<+j{%Q)A zj!8(9nrHoIm4p7bRsQ#p%>8+WgImYh#`lpNYZL1$ukyrOeFk#l#SzBT9i->6Uaa@j z3*5KsqZoNS3;axSvHn~p`5GU=ZFZeap9cMsMIQ*4^;^?Kl>f6zQB4cj{Qqe|aw|*A zg#mIyIrphDL1ocb`tory-`}Qyt_b>0r(Lk+<~3D+NmbuB3N1%kw=B zrV01+Cvvj`%{aDr4DEV;hRT(xgXsffnwPVfSez60w@Dd7wDwhDX@?y5VUs#P`I$ET zV`#w{?)*pA=cPi7G79E{mE}aeN)*%nXKnv=;Ce=>&lB8@Rr>mE*sxt9ar9lWdGo3b u%SLNzs`OKq(^OTFSC$iB{lwSumD(!uW9&86RaC`yl>hr3xry@q)cy|_JgZv( literal 0 HcmV?d00001 diff --git a/neon_iris/wakeword_models/hey_neon/hey_neon_high.tflite b/neon_iris/wakeword_models/hey_neon/hey_neon_high.tflite new file mode 100644 index 0000000000000000000000000000000000000000..790eca418ef013c4422bf9c59017a407bb7d75c5 GIT binary patch literal 206748 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

yoNp!wemX1U1q~eD_sdoEC!hK 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

-
- {{ description }} + + +
+
+ {{ description }} +
- -
-
+ +
+
-
-
- - + +
+ +
+ + + + + + + + + + - - - - - - - - - - diff --git a/neon_iris/version.py b/neon_iris/version.py index d495d3e..f67d04b 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a2" +__version__ = "0.1.1a3" From ed973500e68196fa1b77bdee35800c7700e083a2 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Mon, 29 Jan 2024 19:54:58 +0000 Subject: [PATCH 06/46] Increment Version to 0.1.1a4 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index f67d04b..b48a1c4 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a3" +__version__ = "0.1.1a4" From 44ed7d1e529c80505fdb339f8ddc5cd19730d6b8 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Wed, 10 Apr 2024 15:22:34 -0700 Subject: [PATCH 07/46] Implement alert message handler (#57) # Description Adds support for expired alert messages from Neon # Issues # Other Notes The current implementation only logs a message that the alert expired and will not mark it as missed; the alert will remain active until the user dismisses it via intent. This behavior is all delegated to the client, so it may be worth adding some utility methods to the base class for specific clients to more easily interact with received alerts. --------- Co-authored-by: Daniel McKnight --- neon_iris/client.py | 11 +++++++++++ neon_iris/web_client.py | 28 ++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/neon_iris/client.py b/neon_iris/client.py index 62f8db7..2faa7c1 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -179,6 +179,8 @@ def handle_neon_response(self, channel, method, _, body): self.handle_error_response(message) elif message.msg_type == "neon.languages.get.response": self._handle_supported_languages(message) + elif message.msg_type == "neon.alert_expired": + self.handle_alert(message) elif message.msg_type.endswith(".response"): self.handle_api_response(message) else: @@ -231,6 +233,12 @@ def clear_media(self, message: Message): Override this method to handle requests to clear media (photos, etc) """ + @abstractmethod + def handle_alert(self, message: Message): + """ + Override this method to handle alerts (timers, alarms, reminders) + """ + def _handle_profile_update(self, message: Message): updated_profile = message.data["profile"] if updated_profile['user']['username'] == \ @@ -469,6 +477,9 @@ def handle_api_response(self, message: Message): def clear_caches(self, message: Message): print("Cached Responses Cleared") + def handle_alert(self, message: Message): + print(f"\nAlert Expired: {message.data.get('alert_name')}") + def clear_media(self, message: Message): pass diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index d2bfc55..a9f9e3d 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -50,6 +50,7 @@ def __init__(self, lang: str = None): self.config = config.get('iris') or dict() NeonAIClient.__init__(self, config.get("MQ")) self._await_response = Event() + self._alerts = dict() self._response = None self._transcribed = None self._current_tts = dict() @@ -80,6 +81,14 @@ def _start_session(self): self._profiles[sid]['user']['username'] = sid return sid + def check_alerts(self, session_id: str): + if not self._alerts.get(session_id): + gradio.Info("No Alerts") + return session_id + while self._alerts.get(session_id): + gradio.Info(self._alerts[session_id].pop()) + return session_id + def update_profile(self, stt_lang: str, tts_lang: str, tts_lang_2: str, time: int, date: str, uom: str, city: str, state: str, country: str, first: str, middle: str, last: str, @@ -214,6 +223,9 @@ def run(self): # inputs=[client_session], # outputs=[tts_audio, client_session]) # Define settings UI + with gradio.Row(): + submit = gradio.Button("Update User Settings") + check_alerts = gradio.Button("Check for Alerts") with gradio.Row(): with gradio.Column(): lang = self.get_lang(client_session.value).split('-')[0] @@ -253,14 +265,15 @@ def run(self): pref_name = gradio.Textbox(label="Preferred Name") email_addr = gradio.Textbox(label="Email Address") # TODO: DoB, pic, about, phone? - submit = gradio.Button("Update User Settings") submit.click(self.update_profile, inputs=[stt_lang, tts_lang, tts_lang_2, time_format, date_format, unit_of_measure, city, state, country, first_name, middle_name, last_name, pref_name, email_addr, client_session], outputs=[client_session]) - blocks.launch(server_name=address, server_port=port) + check_alerts.click(self.check_alerts, inputs=[client_session], + outputs=[client_session]) + blocks.queue().launch(server_name=address, server_port=port) def handle_klat_response(self, message: Message): """ @@ -307,6 +320,17 @@ def handle_api_response(self, message: Message): if message.msg_type == "neon.audio_input.response": self._transcribed = message.data.get("transcripts", [""])[0] + def handle_alert(self, message: Message): + """ + Handle an expired alert that was previously set by this session. + @param message: neon.alert_expired Message + """ + user = message.context['username'] + LOG.info(f"Alert expired for user: {user}") + alert = f"Alert Expired: {message.data.get('alert_name')}" + self._alerts.setdefault(user, list()) + self._alerts[user].append(alert) + def _handle_profile_update(self, message: Message): updated_profile = message.data["profile"] session_id = updated_profile['user']['username'] From 61dd2bd6d5fccdf40d62c421159a085c5d700563 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 10 Apr 2024 22:22:52 +0000 Subject: [PATCH 08/46] Increment Version to 0.1.1a5 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index b48a1c4..8f7a558 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a4" +__version__ = "0.1.1a5" From 8060a93ae85e99f857513d5823f2fb432a69928d Mon Sep 17 00:00:00 2001 From: Mike Date: Tue, 14 May 2024 11:11:46 -0500 Subject: [PATCH 09/46] fix: appropriate dependencies (#61) # Description Fixes the gradio audio input bug introduced in #51 # Issues Closes #59 Replaces #60 # Other Notes Breaks caching quite a bit, so if that's an issue we can create a helper image that we use to pull in dependencies. --- Dockerfile | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3ee3a8b..110897e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,3 @@ -# Stage 1: Use a base image to install ffmpeg -FROM jrottenberg/ffmpeg:4.1 as ffmpeg-base - -# Stage 2: Build the final image FROM python:3.8-slim # Label for vendor @@ -14,10 +10,8 @@ ARG EXTRAS ENV OVOS_CONFIG_BASE_FOLDER=neon \ OVOS_CONFIG_FILENAME=neon.yaml \ XDG_CONFIG_HOME=/config - -# Copy ffmpeg binaries from the ffmpeg-base stage -COPY --from=ffmpeg-base /usr/local/bin/ /usr/local/bin/ -COPY --from=ffmpeg-base /usr/local/lib/ /usr/local/lib/ +# Set the ARG value as an environment variable +ENV EXTRAS=${EXTRAS} RUN mkdir -p /neon_iris/requirements COPY ./requirements/* /neon_iris/requirements @@ -37,11 +31,11 @@ RUN pip install . COPY docker_overlay/ / -# Expose port 8000 for websat -EXPOSE 8000 - -# Set the ARG value as an environment variable -ENV EXTRAS=${EXTRAS} +RUN apt-get update \ + && apt-get install -y libsndfile1 libasound2 ffmpeg \ + && apt-get --purge autoremove -y \ + && apt-get clean \ + && rm -rf "${HOME}"/.cache /var/lib/apt /var/log/{apt,dpkg.log} # Create a non-root user with a home directory and change ownership of necessary directories From adfd03db2b8e8c12ce31d0912c37e1c2960fa89e Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 14 May 2024 16:12:01 +0000 Subject: [PATCH 10/46] Increment Version to 0.1.1a6 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 8f7a558..2a60fcb 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a5" +__version__ = "0.1.1a6" From 3801e42b5502cff68a85befac08524b2b986e4cc Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Fri, 10 Jan 2025 19:09:10 -0800 Subject: [PATCH 11/46] Update GitHub Actions (#64) # Description Update actions versions to latest Update Python tests to remove deprecated 3.7 and add 3.11 # Issues # Other Notes This should also trigger a new alpha container build with updated dependencies to help troubleshoot configuration issues noted by @mikejgray --- .github/workflows/unit_tests.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 69e957a..b94ccac 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -11,12 +11,12 @@ jobs: unit_tests: strategy: matrix: - python-version: [3.7, 3.8, 3.9, '3.10'] + python-version: [3.8, 3.9, '3.10', '3.11'] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -28,7 +28,7 @@ jobs: run: | pytest tests/test_client.py --doctest-modules --junitxml=tests/client-test-results.xml - name: Upload client test results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: client-test-results - path: tests/client-test-results.xml + path: tests/client-test-results-${{ matrix.python-version }}.xml From be7e83379164e2de3b3e387f7c892383dae4cdbe Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Sat, 11 Jan 2025 03:09:27 +0000 Subject: [PATCH 12/46] Increment Version to 0.1.1a7 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 2a60fcb..7579609 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a6" +__version__ = "0.1.1a7" From 34d7e4ab58f8a23735eb767aa853ee97d5aca1dc Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:34:45 -0800 Subject: [PATCH 13/46] Update Python version and dependencies (#65) # Description Updates Dockerfile to use Python3.10 Updates ovos-bus-client dependency to allow 0.1+ Adds missing ovos-config dependency which was previously just inherited from other dependencies # Issues Closes #62 Needs https://github.com/NeonGeckoCom/neon_mq_connector/pull/110 to resolve test cleanup errors # Other Notes --- .github/workflows/unit_tests.yml | 1 + Dockerfile | 2 +- neon_iris/client.py | 7 ++++--- requirements/requirements.txt | 7 ++++--- tests/test_client.py | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index b94ccac..33eed5a 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -9,6 +9,7 @@ jobs: py_build_tests: uses: neongeckocom/.github/.github/workflows/python_build_tests.yml@master unit_tests: + timeout-minutes: 5 strategy: matrix: python-version: [3.8, 3.9, '3.10', '3.11'] diff --git a/Dockerfile b/Dockerfile index 110897e..ddaf471 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8-slim +FROM python:3.10-slim # Label for vendor LABEL vendor=neon.ai \ diff --git a/neon_iris/client.py b/neon_iris/client.py index 2faa7c1..dc956f0 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -42,7 +42,7 @@ from pika.exceptions import StreamLostError from neon_utils.configuration_utils import get_neon_user_config from neon_utils.metrics_utils import Stopwatch -from neon_utils.mq_utils import NeonMQHandler +from neon_mq_connector.utils.client_utils import NeonMQHandler from neon_utils.socket_utils import b64_to_dict from neon_utils.file_utils import decode_base64_string_to_file, \ encode_file_to_base64_string @@ -129,7 +129,7 @@ def shutdown(self): Cleanly shuts down the MQ connection associated with this client """ try: - self._connection.stop() + self._connection.shutdown() except Exception as e: LOG.error(e) try: @@ -142,6 +142,7 @@ def shutdown(self): except Exception as x: LOG.exception(x) LOG.error("Consumers not shutdown") + raise e def handle_neon_response(self, channel, method, _, body): """ @@ -389,7 +390,7 @@ def _init_mq_connection(self): "neon_chat_api_error", self.handle_neon_error, auto_ack=False) - mq_connection.run(daemon=True) + mq_connection.run(daemonize_consumers=True) return mq_connection diff --git a/requirements/requirements.txt b/requirements/requirements.txt index c1de4b9..72c4b99 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,6 +1,7 @@ click~=8.0 click-default-group~=1.2 -neon-utils~=1.0 +neon-utils~=1.0,>=1.11.1a7 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.7,>=0.7.1 -ovos-bus-client~=0.0.3 \ No newline at end of file +neon-mq-connector~=0.7,>=0.7.2a11 +ovos-bus-client~=0.0,>=0.0.3,<0.2.0 +ovos-config~=0.1,<0.2.0 \ No newline at end of file diff --git a/tests/test_client.py b/tests/test_client.py index 183c4c9..1a5db0a 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -30,7 +30,7 @@ import sys import unittest -from neon_utils.mq_utils import NeonMQHandler +from neon_mq_connector.utils.client_utils import NeonMQHandler sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from neon_iris.client import NeonAIClient From ff9c52d33702576c77a48911f95544f79a14749a Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 14 Jan 2025 17:35:04 +0000 Subject: [PATCH 14/46] Increment Version to 0.1.1a8 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 7579609..32b8bb2 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a7" +__version__ = "0.1.1a8" From 65fac09a57adc3d388dd5981fd5edb92377d525a Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:46:28 -0800 Subject: [PATCH 15/46] Refactor Docker build to override default config instead of system (#63) # Description Refactor Docker overlay/build to override default config instead of System Fix small typo in `README.md` # Issues # Other Notes --- Dockerfile | 3 ++- README.md | 2 +- docker_overlay/{etc => opt}/neon/neon.yaml | 0 3 files changed, 3 insertions(+), 2 deletions(-) rename docker_overlay/{etc => opt}/neon/neon.yaml (100%) diff --git a/Dockerfile b/Dockerfile index ddaf471..22e6d23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,8 @@ LABEL vendor=neon.ai \ # Build argument for specifying extras ARG EXTRAS -ENV OVOS_CONFIG_BASE_FOLDER=neon \ +ENV OVOS_DEFAULT_CONFIG=/opt/neon/neon.yaml \ + OVOS_CONFIG_BASE_FOLDER=neon \ OVOS_CONFIG_FILENAME=neon.yaml \ XDG_CONFIG_HOME=/config # Set the ARG value as an environment variable diff --git a/README.md b/README.md index cb687d2..103deaa 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ docker build --build-arg EXTRAS=gradio -t ghcr.io/neongeckocom/neon-iris:latest To build the Docker image with websat extras, run: ```bash -docker build --build-arg EXTRAS=websat -t ghcr.io/neongeckocom/neon-iris:latest . +docker build --build-arg EXTRAS=web_sat -t ghcr.io/neongeckocom/neon-iris:latest . ``` ### Running diff --git a/docker_overlay/etc/neon/neon.yaml b/docker_overlay/opt/neon/neon.yaml similarity index 100% rename from docker_overlay/etc/neon/neon.yaml rename to docker_overlay/opt/neon/neon.yaml From ac5f912442374b7ed4f80957ad7f77f54918e822 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 14 Jan 2025 17:46:46 +0000 Subject: [PATCH 16/46] Increment Version to 0.1.1a9 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 32b8bb2..c0867c0 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a8" +__version__ = "0.1.1a9" From 7fd719131138533106b858826c76e5c5f8fcbcd0 Mon Sep 17 00:00:00 2001 From: Mike Date: Mon, 20 Jan 2025 11:35:48 -0600 Subject: [PATCH 17/46] fix: require numpy<2 for websat (#66) # Description There is a model in use that was compiled with Numpy 1.x and cannot load with 2.x. Per the error message, pinning below 2.x solves the issue. I was able to test this successfully on a Hub. --------- Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> --- requirements/web_sat.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/web_sat.txt b/requirements/web_sat.txt index 99132f3..da47ed0 100644 --- a/requirements/web_sat.txt +++ b/requirements/web_sat.txt @@ -6,3 +6,4 @@ openwakeword~=0.5.1 tflite~=2.10.0 onnxruntime~=1.16.3 jinja2~=3.1.2 +numpy~=1.0 From 3e81c711f7bd54a4b0566c4a011423958302160b Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Mon, 20 Jan 2025 17:36:02 +0000 Subject: [PATCH 18/46] Increment Version to 0.1.1a10 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index c0867c0..a499cd5 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a9" +__version__ = "0.1.1a10" From df7ceb12f4f62480135c5fa47c60ad6dc03bebcb Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Mon, 3 Feb 2025 15:03:42 -0800 Subject: [PATCH 19/46] Refactor to support Async consumers (#67) # Description Refactors MQ handling to use a connector class, similar to other services Adds unit test coverage for new connector Update dependencies # Issues # Other Notes Currently deployed to https://iris.neonaialpha.com/ --- .github/workflows/unit_tests.yml | 4 + neon_iris/client.py | 22 ++--- neon_iris/mq_connector.py | 143 +++++++++++++++++++++++++++++ requirements/requirements.txt | 6 +- requirements/test_requirements.txt | 3 +- tests/test_client.py | 4 +- tests/test_mq_connector.py | 77 ++++++++++++++++ 7 files changed, 237 insertions(+), 22 deletions(-) create mode 100644 neon_iris/mq_connector.py create mode 100644 tests/test_mq_connector.py diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 33eed5a..a13dc86 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -20,6 +20,10 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install apt dependencies + run: | + sudo apt update + sudo apt install -y rabbitmq-server - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/neon_iris/client.py b/neon_iris/client.py index dc956f0..1ddfbf5 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -39,10 +39,9 @@ from uuid import uuid4 from ovos_bus_client.message import Message from ovos_utils.json_helper import merge_dict -from pika.exceptions import StreamLostError +from neon_iris.mq_connector import IrisConnector from neon_utils.configuration_utils import get_neon_user_config from neon_utils.metrics_utils import Stopwatch -from neon_mq_connector.utils.client_utils import NeonMQHandler from neon_utils.socket_utils import b64_to_dict from neon_utils.file_utils import decode_base64_string_to_file, \ encode_file_to_base64_string @@ -107,21 +106,10 @@ def user_config(self) -> dict: return json.loads(json.dumps(self._user_config.content)) @property - def connection(self) -> NeonMQHandler: + def connection(self) -> IrisConnector: """ Returns a connected NeonMQHandler object """ - if not self._connection.connection.is_open: - LOG.warning("Connection closed") - self._connection.stop() - self._connection = self._init_mq_connection() - try: - self._connection.connection.channel() - except StreamLostError: - LOG.warning("Connection unexpectedly closed, recreating") - self._connection.stop() - self._connection = self._init_mq_connection() - return self._connection def shutdown(self): @@ -130,6 +118,7 @@ def shutdown(self): """ try: self._connection.shutdown() + LOG.info("Shut down Connection") except Exception as e: LOG.error(e) try: @@ -382,7 +371,7 @@ def _send_serialized_message(self, serialized: dict): def _init_mq_connection(self): mq_config = self._config.get("MQ") or self._config - mq_connection = NeonMQHandler(mq_config, "mq_handler", self._vhost) + mq_connection = IrisConnector(vhost=self._vhost, config=mq_config) mq_connection.register_consumer("neon_response_handler", self._vhost, self.uid, self.handle_neon_response, auto_ack=False) @@ -390,7 +379,8 @@ def _init_mq_connection(self): "neon_chat_api_error", self.handle_neon_error, auto_ack=False) - mq_connection.run(daemonize_consumers=True) + mq_connection.start() + mq_connection.wait_for_connection() return mq_connection diff --git a/neon_iris/mq_connector.py b/neon_iris/mq_connector.py new file mode 100644 index 0000000..166db6f --- /dev/null +++ b/neon_iris/mq_connector.py @@ -0,0 +1,143 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2021 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import pika.exceptions + +from time import sleep +from asyncio import Event as AsyncEvent +from threading import Event, Thread +from neon_mq_connector.utils.client_utils import MQConnector +from ovos_utils import LOG +from pika.adapters.select_connection import SelectConnection +from pika.channel import Channel + + +class IrisConnector(MQConnector, Thread): + async_consumers_enabled = True + + def __init__(self, *args, **kwargs): + vhost = kwargs.pop('vhost') + # TODO: service_name chosen for backwards-compat. and should be updated + # to something more descriptive + kwargs['service_name'] = 'mq_handler' + Thread.__init__(self, daemon=True) + MQConnector.__init__(self, *args, **kwargs) + self.vhost = vhost + self._ready = AsyncEvent() + self._channel_closed = Event() + self._stopping = False + + self._connection = self.init_connection() + + def wait_for_connection(self): + async def _wait_for_connection(): + sleep(0.5) + + LOG.info("Waiting for connection") + while not self._ready.is_set(): + self.connection.ioloop.add_callback_threadsafe(_wait_for_connection) + LOG.info("Connected!") + + @property + def connection(self) -> SelectConnection: + if self._connection is None: + self._connection = self.init_connection() + return self._connection + + @property + def ready(self) -> bool: + return self._ready.is_set() + + def run(self, *args, **kwargs): + MQConnector.run(self) + self._connection.ioloop.start() + + def init_connection(self) -> SelectConnection: + return SelectConnection( + parameters=self.get_connection_params(self.vhost), + on_open_callback=self.on_connected, + on_open_error_callback=self.on_connection_fail, + on_close_callback=self.on_close) + + def on_connected(self, _: pika.SelectConnection): + """Called when we are fully connected to RabbitMQ""" + LOG.info("MQ Connected") + self.connection.channel(on_open_callback=self.on_channel_open) + + def on_connection_fail(self, *_, **__): + """ Called when connection to RabbitMQ fails""" + LOG.error(f"Failed to connect to MQ") + self._connection = None + + def on_channel_open(self, new_channel: Channel): + """Called when our channel has opened""" + LOG.info(f"MQ Channel opened.") + new_channel.add_on_close_callback(self.on_channel_close) + self._ready.set() + + def on_channel_close(self, *_, **__): + LOG.info(f"Channel closed.") + self._channel_closed.set() + + def on_close(self, _: pika.SelectConnection, e: Exception): + if isinstance(e, pika.exceptions.ConnectionClosed): + LOG.info(f"Connection closed normally: {e}") + elif isinstance(e, pika.exceptions.StreamLostError): + LOG.warning("MQ connection lost; " + "RabbitMQ is likely temporarily unavailable.") + else: + LOG.error(f"MQ connection closed due to exception: {e}") + if not self._stopping: + # Connection was gracefully closed by the server. Try to re-connect + LOG.info(f"Trying to reconnect after server closed connection") + self._connection = self.init_connection() + + def shutdown(self): + """ + Clean up this object. Closes all connections and stops any processing. + """ + try: + self._stopping = True + if self.connection and not (self.connection.is_closed or + self.connection.is_closing): + self.connection.close() + LOG.info(f"Waiting for channel close") + if not self._channel_closed.wait(15): + raise TimeoutError(f"Timeout waiting for channel close.") + + # Wait for the connection to close + waiter = Event() + while not self.connection.is_closed: + waiter.wait(1) + LOG.info(f"Connection closed") + + if self.connection: + self.connection.ioloop.stop() + MQConnector.stop(self) + self._ready.clear() + + except Exception as e: + LOG.error(f"Failed to close connection: {e}") diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 72c4b99..93c32da 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,7 +1,7 @@ click~=8.0 click-default-group~=1.2 -neon-utils~=1.0,>=1.11.1a7 +neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.7,>=0.7.2a11 -ovos-bus-client~=0.0,>=0.0.3,<0.2.0 +neon-mq-connector~=0.7,>=0.7.2a12 +ovos-bus-client~=0.0 ovos-config~=0.1,<0.2.0 \ No newline at end of file diff --git a/requirements/test_requirements.txt b/requirements/test_requirements.txt index 55b033e..2a4cbf7 100644 --- a/requirements/test_requirements.txt +++ b/requirements/test_requirements.txt @@ -1 +1,2 @@ -pytest \ No newline at end of file +pytest +neon-minerva[rmq]>=0.2.1a3 \ No newline at end of file diff --git a/tests/test_client.py b/tests/test_client.py index 1a5db0a..cbb2b57 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -30,7 +30,7 @@ import sys import unittest -from neon_mq_connector.utils.client_utils import NeonMQHandler +from neon_iris.mq_connector import IrisConnector sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from neon_iris.client import NeonAIClient @@ -57,7 +57,7 @@ def test_client_create(self): self.assertEqual(client._connection.config, _test_config["MQ"]) self.assertTrue(os.path.isdir(client.audio_cache_dir)) self.assertIsInstance(client.client_name, str) - self.assertIsInstance(client.connection, NeonMQHandler) + self.assertIsInstance(client.connection, IrisConnector) self.assertEqual(client.connection.vhost, "/neon_chat_api") client.shutdown() diff --git a/tests/test_mq_connector.py b/tests/test_mq_connector.py new file mode 100644 index 0000000..158cfc9 --- /dev/null +++ b/tests/test_mq_connector.py @@ -0,0 +1,77 @@ +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2022 Neongecko.com Inc. +# Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, +# Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo +# BSD-3 License +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import unittest +from threading import Thread + +import pytest + +from os import environ +from neon_minerva.integration.rabbit_mq import rmq_instance +from neon_mq_connector import MQConnector +from pika.adapters.select_connection import SelectConnection + +environ['TEST_RMQ_USERNAME'] = "test_user" +environ['TEST_RMQ_PASSWORD'] = "test_password" +environ['TEST_RMQ_VHOSTS'] = "/neon_chat_api" + + +@pytest.mark.usefixtures("rmq_instance") +class TestClient(unittest.TestCase): + mq_config = {"server": "localhost", + "port": None, + "users": {"mq_handler": {"user": "test_user", + "password": "test_password"}}} + + def setUp(self): + if self.mq_config["port"] is None: + self.mq_config["port"] = self.rmq_instance.port + + def test_lifecycle(self): + from neon_iris.mq_connector import IrisConnector + connector = IrisConnector(vhost="/neon_chat_api", config=self.mq_config) + self.assertIsInstance(connector, MQConnector) + self.assertIsInstance(connector.connection, SelectConnection) + self.assertFalse(connector.ready) + + # Start the connector + thread = Thread(target=connector.run) + thread.start() + connector.wait_for_connection() + self.assertTrue(connector.ready) + + # Stop the connector + connector.shutdown() + self.assertFalse(connector.ready) + thread.join(timeout=5) + self.assertFalse(thread.is_alive()) + + +if __name__ == '__main__': + unittest.main() From b4035071b1936d92aeeef3354db45d0a8ca3a7f7 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Mon, 3 Feb 2025 23:03:57 +0000 Subject: [PATCH 20/46] Increment Version to 0.1.1a11 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index a499cd5..27c1bf6 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a10" +__version__ = "0.1.1a11" From 68e86b062b1ef1b2e2355cce6eab34ba8fe0d10d Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Thu, 6 Feb 2025 14:34:04 -0800 Subject: [PATCH 21/46] Update dependency and license notices to prep for stable release (#68) # Description Update neon-mq-connector dependency to stable spec Update license notices to 2025 # Issues # Other Notes --- LICENSE.md | 2 +- docker_overlay/neon_iris/entrypoint.sh | 2 +- neon_iris/__init__.py | 2 +- neon_iris/cli.py | 2 +- neon_iris/client.py | 2 +- neon_iris/llm.py | 2 +- neon_iris/models/__init__.py | 2 +- neon_iris/models/web_sat.py | 2 +- neon_iris/mq_connector.py | 2 +- neon_iris/util.py | 2 +- neon_iris/version.py | 2 +- neon_iris/voice_client.py | 2 +- neon_iris/web_client.py | 2 +- neon_iris/web_sat_client.py | 2 +- requirements/requirements.txt | 2 +- setup.py | 2 +- tests/test_client.py | 2 +- tests/test_mq_connector.py | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 525bb37..0fdcf76 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the diff --git a/docker_overlay/neon_iris/entrypoint.sh b/docker_overlay/neon_iris/entrypoint.sh index e5af320..2a4f022 100755 --- a/docker_overlay/neon_iris/entrypoint.sh +++ b/docker_overlay/neon_iris/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/__init__.py b/neon_iris/__init__.py index 1efd3a5..ff12569 100644 --- a/neon_iris/__init__.py +++ b/neon_iris/__init__.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/cli.py b/neon_iris/cli.py index 74068ab..480afee 100644 --- a/neon_iris/cli.py +++ b/neon_iris/cli.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/client.py b/neon_iris/client.py index 1ddfbf5..5d20e15 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/llm.py b/neon_iris/llm.py index 6cb0b65..1cabb6c 100644 --- a/neon_iris/llm.py +++ b/neon_iris/llm.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo # BSD-3 License diff --git a/neon_iris/models/__init__.py b/neon_iris/models/__init__.py index 2886d6b..baee249 100644 --- a/neon_iris/models/__init__.py +++ b/neon_iris/models/__init__.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/models/web_sat.py b/neon_iris/models/web_sat.py index 08ab5ef..70b1a34 100644 --- a/neon_iris/models/web_sat.py +++ b/neon_iris/models/web_sat.py @@ -1,7 +1,7 @@ """API data models for the WebSAT API.""" # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/mq_connector.py b/neon_iris/mq_connector.py index 166db6f..fb17fce 100644 --- a/neon_iris/mq_connector.py +++ b/neon_iris/mq_connector.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/util.py b/neon_iris/util.py index 95f8201..89e135f 100644 --- a/neon_iris/util.py +++ b/neon_iris/util.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/version.py b/neon_iris/version.py index 27c1bf6..b0c789d 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo # Mike Gray, David Scripka diff --git a/neon_iris/voice_client.py b/neon_iris/voice_client.py index d8efd90..ecc9ebf 100644 --- a/neon_iris/voice_client.py +++ b/neon_iris/voice_client.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index a9f9e3d..dea372c 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2021 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/neon_iris/web_sat_client.py b/neon_iris/web_sat_client.py index db9f40c..15aa95e 100644 --- a/neon_iris/web_sat_client.py +++ b/neon_iris/web_sat_client.py @@ -1,7 +1,7 @@ """Runs a web server that serves the Neon AI Web UI and Voice Satellite.""" # NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # BSD-3 # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 93c32da..be242e6 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -2,6 +2,6 @@ click~=8.0 click-default-group~=1.2 neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.7,>=0.7.2a12 +neon-mq-connector~=0.8 ovos-bus-client~=0.0 ovos-config~=0.1,<0.2.0 \ No newline at end of file diff --git a/setup.py b/setup.py index 94403a4..ed5a94a 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2024 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo # Mike Gray, David Scripka diff --git a/tests/test_client.py b/tests/test_client.py index cbb2b57..2efa182 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo # BSD-3 License diff --git a/tests/test_mq_connector.py b/tests/test_mq_connector.py index 158cfc9..32e5a5f 100644 --- a/tests/test_mq_connector.py +++ b/tests/test_mq_connector.py @@ -1,6 +1,6 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. +# Copyright 2008-2025 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo # BSD-3 License From 479d031ec7912b92ae0503a21055a5dab8477bff Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Thu, 6 Feb 2025 22:34:18 +0000 Subject: [PATCH 22/46] Increment Version to 0.1.1a12 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index b0c789d..0bb5326 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a11" +__version__ = "0.1.1a12" From c431fec022093fede5e80315208a78909aa420b8 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 18 Feb 2025 12:04:54 -0800 Subject: [PATCH 23/46] Handle reconnection to RMQ Server (#70) # Description Update neon-mq-connector to include reconnection handling fix # Issues # Other Notes --- requirements/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index be242e6..afc39d0 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -2,6 +2,6 @@ click~=8.0 click-default-group~=1.2 neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.8 +neon-mq-connector~=0.8,>=0.8.1a3 ovos-bus-client~=0.0 ovos-config~=0.1,<0.2.0 \ No newline at end of file From c345dfe45b57e954487fe5f9967371492defc602 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 18 Feb 2025 20:05:08 +0000 Subject: [PATCH 24/46] Increment Version to 0.1.1a13 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 0bb5326..764fdb3 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a12" +__version__ = "0.1.1a13" From be120ab9cfbabb597332bad440dbabb00430b800 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 11 Mar 2025 11:16:46 -0700 Subject: [PATCH 25/46] Update dependencies (#72) # Description Update ovos-config to allow newer 0.x versions Update neon-mq-dependency to stable version # Issues # Other Notes #65 Added ovos-config with this artificial upper limit restriction, but there is no apparent reason for this --- .github/workflows/license_tests.yml | 4 +--- requirements/requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/license_tests.yml b/.github/workflows/license_tests.yml index 203ba25..3e61598 100644 --- a/.github/workflows/license_tests.yml +++ b/.github/workflows/license_tests.yml @@ -5,6 +5,4 @@ on: jobs: license_tests: - uses: neongeckocom/.github/.github/workflows/license_tests.yml@master - with: - packages-exclude: '^(precise-runner|fann2|tqdm|bs4|ovos-phal-plugin|ovos-skill|neon-core|nvidia|neon-phal-plugin|bitstruct|audioread).*' \ No newline at end of file + uses: neongeckocom/.github/.github/workflows/license_tests.yml@master \ No newline at end of file diff --git a/requirements/requirements.txt b/requirements/requirements.txt index afc39d0..f30199c 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -2,6 +2,6 @@ click~=8.0 click-default-group~=1.2 neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.8,>=0.8.1a3 +neon-mq-connector~=0.9 ovos-bus-client~=0.0 -ovos-config~=0.1,<0.2.0 \ No newline at end of file +ovos-config~=0.1 \ No newline at end of file From 9bacf985ea3a67d9a9b098b711c0a3162c05643e Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 11 Mar 2025 18:17:02 +0000 Subject: [PATCH 26/46] Increment Version to 0.1.1a14 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 764fdb3..3cbebec 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a13" +__version__ = "0.1.1a14" From a76a49cd94524bb59140965bf8bb7131e34de93c Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Wed, 9 Apr 2025 10:07:22 -0700 Subject: [PATCH 27/46] Implement models from `neon-data-models` (#74) # Description Implement Pydantic models for response validation Update `timing` context references to resolve exceptions related to default `None` values # Issues - Needed to support https://github.com/NeonGeckoCom/neon-messagebus-mq-connector/pull/61 as this fixes some unsafe timing context references # Other Notes Currently deployed to [alpha](https://iris.neonaialpha.com/) --- neon_iris/client.py | 7 ++++--- neon_iris/voice_client.py | 12 ++++++++---- neon_iris/web_client.py | 23 +++++++++++++++-------- neon_iris/web_sat_client.py | 16 ++++++++++------ requirements/requirements.txt | 3 ++- 5 files changed, 39 insertions(+), 22 deletions(-) diff --git a/neon_iris/client.py b/neon_iris/client.py index 5d20e15..c5747ab 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -142,18 +142,19 @@ def handle_neon_response(self, channel, method, _, body): with _stopwatch: response = b64_to_dict(body) LOG.debug(f"Message deserialized in {_stopwatch.time}s") + # TODO: This is an MQ response object message = Message(response.get('msg_type'), response.get('data'), response.get('context')) # Get timing data and log message.context.setdefault("timing", {}) - resp_time = message.context['timing'].get('response_sent', recv_time) + resp_time = message.context['timing'].get('response_sent') or recv_time if recv_time != resp_time: transit_time = recv_time - resp_time message.context['timing']['client_from_core'] = transit_time LOG.debug(f"Response MQ transit time={transit_time}") - handling_time = recv_time - message.context['timing'].get('client_sent', - recv_time) + handling_time = recv_time - (message.context['timing'].get( + 'client_sent') or recv_time) LOG.info(f"{message.msg_type} handled in {handling_time}") LOG.debug(f"{pformat(message.context['timing'])}") if message.msg_type == "klat.response": diff --git a/neon_iris/voice_client.py b/neon_iris/voice_client.py index ecc9ebf..c9bf666 100644 --- a/neon_iris/voice_client.py +++ b/neon_iris/voice_client.py @@ -43,6 +43,7 @@ from ovos_utils.sound import play_wav from ovos_bus_client.message import Message from neon_utils.file_utils import decode_base64_string_to_file +from neon_data_models.models.api.messagebus import NeonTtsResponse from neon_iris.client import NeonAIClient @@ -111,14 +112,17 @@ def on_hotword_audio(self, audio: bytes, context: dict): self.bus.emit(Message(msg_type, payload, context)) def handle_klat_response(self, message: Message): - responses = message.data.get('responses') + response = NeonTtsResponse(msg_type=message.msg_type, + data=message.data, + context=message.context) + responses = response.data.responses for lang, data in responses.items(): - text = data.get('sentence') + text = data.sentence LOG.info(text) file_basename = f"{hash(text)}.wav" - genders = data.get('genders', []) + genders = data.genders for gender in genders: - audio_data = data["audio"].get(gender) + audio_data = data.audio.get(gender) audio_file = join(self._tts_audio_path, lang, gender, file_basename) try: diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index dea372c..32d2796 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -37,9 +37,9 @@ from ovos_config import Configuration from ovos_utils import LOG from ovos_utils.json_helper import merge_dict - from neon_utils.file_utils import decode_base64_string_to_file from ovos_utils.xdg_utils import xdg_data_home +from neon_data_models.models.api.messagebus import NeonTtsResponse from neon_iris.client import NeonAIClient @@ -281,17 +281,24 @@ def handle_klat_response(self, message: Message): audio in all requested languages. @param message: Neon response message """ - LOG.debug(f"gradio context={message.context['gradio']}") - resp_data = message.data["responses"] + response = NeonTtsResponse(msg_type=message.msg_type, + data=message.data, + context=message.context) + LOG.debug(f"gradio context={response.context.gradio}") + resp_data = response.data.responses files = [] sentences = [] - session = message.context['gradio']['session'] + session = response.context.gradio.session + LOG.debug(f"Got response {resp_data}") for lang, response in resp_data.items(): - sentences.append(response.get("sentence")) - if response.get("audio"): - for gender, data in response["audio"].items(): + LOG.debug(f"Response for {lang}: {response}") + sentences.append(response.sentence) + if response.audio: + for gender, data in response.audio.items(): + audio_path = getattr(response, gender) + LOG.debug(f"Got audio file: {audio_path}") filepath = "/".join([self.audio_cache_dir] + - response[gender].split('/')[-4:]) + audio_path.split('/')[-4:]) # TODO: This only plays the most recent, so it doesn't # support multiple languages or multi-utterance responses self._current_tts[session] = filepath diff --git a/neon_iris/web_sat_client.py b/neon_iris/web_sat_client.py index 15aa95e..9860346 100644 --- a/neon_iris/web_sat_client.py +++ b/neon_iris/web_sat_client.py @@ -44,6 +44,7 @@ from ovos_config import Configuration from ovos_utils import LOG from ovos_utils.xdg_utils import xdg_data_home +from neon_data_models.models.api.messagebus import NeonTtsResponse from neon_iris.client import NeonAIClient from neon_iris.models.web_sat import UserInput, UserInputResponse @@ -107,14 +108,17 @@ def handle_klat_response(self, message: Message): audio in all requested languages. @param message: Neon response message """ - LOG.debug(f"gradio context={message.context['gradio']}") - resp_data = message.data["responses"] + response = NeonTtsResponse(msg_type=message.msg_type, + data=message.data, + context=message.context) + LOG.debug(f"gradio context={response.context.gradio}") + resp_data = response.data.responses sentences = [] - session = message.context["gradio"]["session"] + session = response.context.gradio.session for _, response in resp_data.items(): # lang, response - sentences.append(response.get("sentence")) - if response.get("audio"): - for _, data in response["audio"].items(): + sentences.append(response.sentence) + if response.audio: + for _, data in response.audio.items(): self._current_tts[session] = data self._response = "\n".join(sentences) self._await_response.set() diff --git a/requirements/requirements.txt b/requirements/requirements.txt index f30199c..5601270 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -4,4 +4,5 @@ neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 neon-mq-connector~=0.9 ovos-bus-client~=0.0 -ovos-config~=0.1 \ No newline at end of file +ovos-config~=0.1 +neon-data-models~=0.0,>=0.0.2a3 \ No newline at end of file From e7441f3b50863d10d771d0bf4a28913e8d8e5523 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 9 Apr 2025 17:07:36 +0000 Subject: [PATCH 28/46] Increment Version to 0.1.1a15 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 3cbebec..3001834 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a14" +__version__ = "0.1.1a15" From 57f76b002660ff9fb6dfc3c0eb17f47a8d29b009 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 15 Apr 2025 13:13:07 -0700 Subject: [PATCH 29/46] Refactor BCP-47 Language codes to ISO 639-1 (#73) # Description Update to normalize language codes to ISO 639-1 everywhere (i.e. `en`) Update documentation and Docker default config to use ISO 639-1 instead of BCP-47 # Issues # Other Notes Most APIs specify BCP-47, but in practice many STT/TTS services only specify ISO 639-1. Since we can normalize to ISO 639-1 and not the other way around, this makes Iris more compatible with other services --- README.md | 6 +++--- docker_overlay/opt/neon/neon.yaml | 2 +- neon_iris/client.py | 20 ++++++++++++-------- neon_iris/web_client.py | 22 +++++++++++++++------- neon_iris/web_sat_client.py | 18 ++++++++++-------- 5 files changed, 41 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 103deaa..f94675e 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,10 @@ MQ: user: neon_api_utils password: Klatchat2021 iris: - default_lang: en-us + default_lang: en languages: - - en-us - - uk-ua + - en + - uk webui_chatbot_label: "Neon AI" webui_mic_label: "Speak with Neon" webui_input_placeholder: "Chat with Neon" diff --git a/docker_overlay/opt/neon/neon.yaml b/docker_overlay/opt/neon/neon.yaml index cac3cf0..8b09f27 100644 --- a/docker_overlay/opt/neon/neon.yaml +++ b/docker_overlay/opt/neon/neon.yaml @@ -15,7 +15,7 @@ iris: webui_ws_url: ws://localhost:8000/ws # Override, as this needs to be reachable by the browser server_address: "0.0.0.0" server_port: 7860 - default_lang: en-us + default_lang: en enable_lang_api: True location: diff --git a/neon_iris/client.py b/neon_iris/client.py index c5747ab..8c227cd 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -266,32 +266,36 @@ def _handle_supported_languages(self, message: Message): self._languages = message.data if not all((x in self._languages for x in ("stt", "tts"))): LOG.warning(f"Language support incomplete response: {self._languages}") + self._languages['stt'] = [l.split('-')[0] + for l in self._languages.get('stt', [])] + self._languages['tts'] = [l.split('-')[0] + for l in self._languages.get('tts', [])] self._languages['stt'].sort() self._languages['tts'].sort() self._language_init.set() - def send_utterance(self, utterance: str, lang: str = "en-us", + def send_utterance(self, utterance: str, lang: str = "en", username: Optional[str] = None, user_profiles: Optional[list] = None, context: Optional[dict] = None): """ Optionally override this to queue text inputs or do any pre-parsing :param utterance: utterance to submit to skills module - :param lang: language code associated with request + :param lang: ISO 639-1 language code associated with request :param username: username associated with request :param user_profiles: user profiles expecting a response :param context: Optional dict context to add to emitted message """ self._send_utterance(utterance, lang, username, user_profiles, context) - def send_audio(self, audio_file: str, lang: str = "en-us", + def send_audio(self, audio_file: str, lang: str = "en", username: Optional[str] = None, user_profiles: Optional[list] = None, context: Optional[dict] = None): """ Optionally override this to queue audio inputs or do any pre-parsing :param audio_file: path to audio file to send to speech module - :param lang: language code associated with request + :param lang: ISO 639-1 language code associated with request :param username: username associated with request :param user_profiles: user profiles expecting a response :param context: Optional dict context to add to emitted message @@ -475,12 +479,12 @@ def handle_alert(self, message: Message): def clear_media(self, message: Message): pass - def send_utterance(self, utterance: str, lang: str = "en-us", + def send_utterance(self, utterance: str, lang: str = "en", _=None, __=None): """ Queue a string request for skills processing :param utterance: User utterance to submit - :param lang: language of utterance + :param lang: ISO 639-1 language of utterance """ self._response_event.clear() self._request_queue.put((utterance, lang)) @@ -489,12 +493,12 @@ def send_utterance(self, utterance: str, lang: str = "en-us", while not self._request_queue.empty(): self._response_event.wait(30) - def send_audio(self, audio_file: str, lang: str = "en-us", + def send_audio(self, audio_file: str, lang: str = "en", _=None, __=None): """ Send an audio file for skills processing :param audio_file: Audio File to submit for STT processing - :param lang: language of audio + :param lang: ISO 639-1 language of audio """ self._response_event.clear() self._send_audio(audio_file, lang, self.username, self.user_profiles) diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index 32d2796..12a6f03 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -58,21 +58,29 @@ def __init__(self, lang: str = None): self._audio_path = join(xdg_data_home(), "iris", "stt") if not isdir(self._audio_path): makedirs(self._audio_path) - self.default_lang = lang or self.config.get('default_lang') + self.default_lang = (lang or + self.config.get('default_lang')).split('-')[0] self.chat_ui = gradio.Blocks() - def get_lang(self, session_id: str): + def get_lang(self, session_id: str) -> str: + """ + Get the ISO 639-1 language code for the specified session + @param session_id: Gradio session ID + @returns: ISO 639-1 language code + """ if session_id and session_id in self._profiles: - return self._profiles[session_id]['speech']['stt_language'] - return self.user_config['speech']['stt_language'] or self.default_lang + return self._profiles[session_id]['speech']['stt_language'].split('-')[0] + return (self.user_config['speech']['stt_language'] or + self.default_lang).split('-')[0] @property def supported_languages(self) -> List[str]: """ Get a list of supported languages from configuration - @returns: list of BCP-47 language codes + @returns: list of ISO 639-1 language codes """ - return self.config.get('languages') or [self.default_lang] + return [lang.split('-')[0] for lang in + self.config.get('languages') or [self.default_lang]] def _start_session(self): sid = uuid4().hex @@ -228,7 +236,7 @@ def run(self): check_alerts = gradio.Button("Check for Alerts") with gradio.Row(): with gradio.Column(): - lang = self.get_lang(client_session.value).split('-')[0] + lang = self.get_lang(client_session.value) stt_lang = gradio.Radio(label="Input Language", choices=self._languages.get("stt") or self.supported_languages, diff --git a/neon_iris/web_sat_client.py b/neon_iris/web_sat_client.py index 9860346..d439e7c 100644 --- a/neon_iris/web_sat_client.py +++ b/neon_iris/web_sat_client.py @@ -73,7 +73,8 @@ def __init__(self, lang: str = ""): ) # TODO: Clear periodically, or have persistent storage if not isdir(self._audio_path): makedirs(self._audio_path) - self.default_lang = lang or self.config.get("default_lang", "") + self.default_lang = (lang or + self.config.get("default_lang", "")).split('-')[0] LOG.name = "iris" LOG.init(self.config.get("logs")) # OpenWW @@ -87,10 +88,11 @@ def __init__(self, lang: str = ""): self.build_routes() def get_lang(self, session_id: str): - """Get the language for a session.""" + """Get the ISO 693-1 language code for a session.""" if session_id and session_id in self._profiles: return self._profiles[session_id]["speech"]["stt_language"] - return self.user_config["speech"]["stt_language"] or self.default_lang + return (self.user_config["speech"]["stt_language"] or + self.default_lang).split('-')[0] def handle_api_response(self, message: Message): """ @@ -126,7 +128,7 @@ def handle_klat_response(self, message: Message): def send_audio( # pylint: disable=arguments-renamed self, audio_b64_string: str, - lang: str = "en-us", + lang: str = "en", username: Optional[str] = None, user_profiles: Optional[list] = None, context: Optional[dict] = None, @@ -155,9 +157,9 @@ def send_audio( # pylint: disable=arguments-renamed def supported_languages(self) -> Sequence[str]: """ Get a list of supported languages from configuration - @returns: list of BCP-47 language codes + @returns: list of ISO 639-1 language codes """ - languages = self.config.get("languages") + languages = [l.split('-')[0] for l in self.config.get("languages")] if languages is None: return [self.default_lang] if not isinstance(languages, list): @@ -270,7 +272,7 @@ async def on_user_input_worker( LOG.info(f"Sending utterance: {utterance} with lang: {lang}") self.send_utterance( utterance, - lang or "en-us", + lang or "en", username=session_id, user_profiles=[self._profiles[session_id]], context={ @@ -282,7 +284,7 @@ async def on_user_input_worker( LOG.info(f"Sending audio with length of {len(audio_input)} with lang: {lang}") self.send_audio( audio_input, - lang or "en-us", + lang or "en", username=session_id, user_profiles=[self._profiles[session_id]], context={ From ff8d6f0b94c2ed4d843e0fb63fa4357ce38201a0 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Tue, 15 Apr 2025 20:13:27 +0000 Subject: [PATCH 30/46] Increment Version to 0.1.1a16 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 3001834..aa776d9 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a15" +__version__ = "0.1.1a16" From ff909d7bea97b4017bdfec209c8c4193f7dccf41 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Tue, 24 Jun 2025 18:25:04 -0700 Subject: [PATCH 31/46] Implement Docker health checks (#76) # Description Implement health checks for Gradio and WS clients # Issues Needs https://github.com/NeonGeckoCom/neon_mq_connector/pull/134 # Other Notes --- Dockerfile | 5 +-- docker_overlay/neon_iris/healthcheck.sh | 42 +++++++++++++++++++++++++ neon_iris/web_client.py | 16 +++++++++- neon_iris/web_sat_client.py | 15 +++++++-- requirements/requirements.txt | 4 +-- 5 files changed, 74 insertions(+), 8 deletions(-) create mode 100755 docker_overlay/neon_iris/healthcheck.sh diff --git a/Dockerfile b/Dockerfile index 22e6d23..fbf0516 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ ENV EXTRAS=${EXTRAS} RUN mkdir -p /neon_iris/requirements COPY ./requirements/* /neon_iris/requirements - +RUN apt-get update && apt-get install --no-install-recommends -y curl; rm -rf /var/lib/apt/lists/* RUN pip install wheel && pip install -r /neon_iris/requirements/requirements.txt RUN if [ "$EXTRAS" = "gradio" ]; then \ pip install -r /neon_iris/requirements/gradio.txt; \ @@ -27,7 +27,7 @@ RUN if [ "$EXTRAS" = "gradio" ]; then \ fi WORKDIR /neon_iris -ADD . /neon_iris +COPY . /neon_iris RUN pip install . COPY docker_overlay/ / @@ -47,4 +47,5 @@ RUN groupadd -r neon && useradd -r -m -g neon neon \ # Use the non-root user to run the container USER neon +HEALTHCHECK CMD "/neon_iris/healthcheck.sh" ENTRYPOINT ["/neon_iris/entrypoint.sh"] diff --git a/docker_overlay/neon_iris/healthcheck.sh b/docker_overlay/neon_iris/healthcheck.sh new file mode 100755 index 0000000..a8b1801 --- /dev/null +++ b/docker_overlay/neon_iris/healthcheck.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2025 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if [ "$EXTRAS" = "gradio" ]; then + port=7860 +else + port=8000 +fi +# Perform the health check using curl +resp=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:${port}/status) + +# Check if the response code is 200 +if [ "$resp" == "200" ]; then + exit 0 # Success +else + echo "Health check failed with HTTP status: $resp" >&2 + exit 1 # Failure +fi diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index 12a6f03..389269e 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -29,7 +29,9 @@ from time import time from typing import List, Dict, Tuple from uuid import uuid4 +from fastapi import FastAPI, Response +import uvicorn import gradio from threading import Event @@ -281,7 +283,19 @@ def run(self): outputs=[client_session]) check_alerts.click(self.check_alerts, inputs=[client_session], outputs=[client_session]) - blocks.queue().launch(server_name=address, server_port=port) + app = FastAPI() + + def _health_check(*_): + if self.connection.check_health(): + return Response(status_code=200, content="Ready") + elif not self.connection.ready: + return Response(status_code=200, content="Starting") + else: + return Response(status_code=500, content="Error") + + app.add_route("/status", _health_check, methods=["GET"]) + gr_app = gradio.mount_gradio_app(app, blocks, '') + uvicorn.run(gr_app, host=address, port=port) def handle_klat_response(self, message: Message): """ diff --git a/neon_iris/web_sat_client.py b/neon_iris/web_sat_client.py index d439e7c..6013592 100644 --- a/neon_iris/web_sat_client.py +++ b/neon_iris/web_sat_client.py @@ -35,7 +35,7 @@ import numpy as np import resampy -from fastapi import APIRouter, FastAPI, Request, WebSocket +from fastapi import APIRouter, FastAPI, Request, WebSocket, Response from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from neon_utils.file_utils import decode_base64_string_to_file @@ -159,7 +159,7 @@ def supported_languages(self) -> Sequence[str]: Get a list of supported languages from configuration @returns: list of ISO 639-1 language codes """ - languages = [l.split('-')[0] for l in self.config.get("languages")] + languages = [lang.split('-')[0] for lang in self.config.get("languages")] if languages is None: return [self.default_lang] if not isinstance(languages, list): @@ -314,6 +314,15 @@ async def on_user_input_worker( ) return resp + def health_check(self, *_): + if self.connection.check_health(): + return Response(status_code=200, content="Ready") + elif not self.connection.ready: + return Response(status_code=200, content="Starting") + else: + return Response(status_code=500, content="Error") + + app = FastAPI() neon_client = WebSatNeonClient() @@ -323,7 +332,7 @@ async def on_user_input_worker( name="Neon Web Voice Satellite", ) app.include_router(neon_client.router) - +app.add_route("/status", neon_client.health_check, methods=["GET"]) if __name__ == "__main__": import uvicorn diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 5601270..b875544 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -2,7 +2,7 @@ click~=8.0 click-default-group~=1.2 neon-utils[sentry]~=1.12 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.9 +neon-mq-connector~=0.9,>=0.9.1a1 ovos-bus-client~=0.0 ovos-config~=0.1 -neon-data-models~=0.0,>=0.0.2a3 \ No newline at end of file +neon-data-models~=0.0,>=0.0.2a3 From ea0ce8909a38bd207fe1228612a9bb14b22dd049 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 25 Jun 2025 01:25:15 +0000 Subject: [PATCH 32/46] Increment Version to 0.1.1a17 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index aa776d9..20287af 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a16" +__version__ = "0.1.1a17" From d1b425b5ffa9c22b1ed494d445122e1d0004fe58 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Thu, 31 Jul 2025 12:00:01 -0700 Subject: [PATCH 33/46] Update to Gradio 5.x with Session Handling Fix (#78) # Description Update Gradio to 5.x with minor code compat. updates Update session handling to use Gradio Session Hashes # Issues # Other Notes --- neon_iris/web_client.py | 101 ++++++++++++++++++++++++++++++++-------- requirements/gradio.txt | 4 +- 2 files changed, 84 insertions(+), 21 deletions(-) diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index 389269e..42a93fe 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -27,8 +27,7 @@ from os import makedirs from os.path import isfile, join, isdir from time import time -from typing import List, Dict, Tuple -from uuid import uuid4 +from typing import List, Dict from fastapi import FastAPI, Response import uvicorn @@ -84,8 +83,8 @@ def supported_languages(self) -> List[str]: return [lang.split('-')[0] for lang in self.config.get('languages') or [self.default_lang]] - def _start_session(self): - sid = uuid4().hex + def _start_session(self, request: gradio.Request): + sid = request.session_hash self._current_tts[sid] = None self._profiles[sid] = self.user_config self._profiles[sid]['user']['username'] = sid @@ -135,14 +134,18 @@ def update_profile(self, stt_lang: str, tts_lang: str, tts_lang_2: str, return session_id def on_user_input(self, utterance: str, - chat_history: List[Tuple[str, str]], - audio_input: str, + chat_history: List[gradio.ChatMessage], + audio_input: str, # gr.Audio object input client_session: str):# -> tuple[List[Tuple[str, str]], str, Literal[''], None, Any]: """ Callback to handle textual user input @param utterance: String utterance submitted by the user @returns: Input box contents, Updated chat history, Gradio session ID, audio input, audio output """ + if not any((utterance, audio_input)): + # Empty input + return chat_history, client_session, "", None, None + input_time = time() LOG.debug("Input received") if not self._await_response.wait(30): @@ -167,20 +170,34 @@ def on_user_input(self, utterance: str, context={"gradio": {"session": gradio_id}, "timing": {"wait_in_queue": in_queue, "gradio_sent": time()}}) - chat_history.append(((audio_input, None), None)) + # Add the audio input to the chat history + chat_message = gradio.ChatMessage(role="user", content=audio_input) + chat_history.append(chat_message) if not self._await_response.wait(30): LOG.error("No response received after 30s") self._await_response.set() self._response = self._response or "ERROR" LOG.info(f"Got response={self._response}") if utterance: - chat_history.append((utterance, self._response)) + chat_history.append(gradio.ChatMessage(role="user", content=utterance)) elif isinstance(self._transcribed, str): LOG.info(f"Got transcript: {self._transcribed}") - chat_history.append((self._transcribed, self._response)) - chat_history.append((None, (self._current_tts[gradio_id], None))) + chat_history.append(gradio.ChatMessage(role="user", content=self._transcribed)) + chat_history.append(gradio.ChatMessage(role="assistant", content=self._response)) + # Add audio response to chat + chat_message = gradio.ChatMessage(role="assistant", content={"path": self._current_tts[gradio_id]}) + chat_history.append(chat_message) + LOG.info(f"Chat history now has {len(chat_history)} messages") return chat_history, gradio_id, "", None, self._current_tts[gradio_id] + def play_tts_audio(self, session_id: str): + """ + Helper method to return TTS audio for playback + """ + audio_file = self._current_tts.get(session_id) + LOG.info(f"Playing TTS audio: {audio_file}") + return audio_file + # def play_tts(self, session_id: str): # LOG.info(f"Playing most recent TTS file {self._current_tts}") # return self._current_tts.get(session_id), session_id @@ -201,22 +218,68 @@ def run(self): port = self.config.get("server_port") or 7860 with self.chat_ui as blocks: - client_session = gradio.State(self._start_session()) - client_session.attach_load_event(self._start_session, None) + # Add custom CSS to hide audio waveforms + blocks.css = """ + /* Ensure elements in a row share the same height */ + #custom-submit { + height: 100%; /* Match the height of other elements */ + display: flex; + align-items: center; + } + + /* Hide the waveform container and visualization */ + .waveform-container, #waveform, .svelte-19usgod .waveform-container { + display: none !important; + } + + /* Hide timestamps */ + .timestamps { + display: none !important; + } + + /* Keep only essential playback controls and make them compact */ + [data-testid="unlabelled-audio"] { + max-height: 60px !important; + overflow: hidden !important; + } + + /* Make the controls more compact */ + .controls.svelte-ije4bl { + padding: 5px !important; + margin: 0 !important; + } + + /* Hide volume and playback speed controls to make it even more minimal */ + .control-wrapper .volume, .control-wrapper .playback { + display: none !important; + } + + /* Hide rewind/skip buttons for minimal interface */ + .rewind, .skip { + display: none !important; + } + """ + # Do session-specific initialization + client_session = gradio.State() + blocks.load(self._start_session, None, outputs=[client_session]) + # Define primary UI blocks.title = title - chatbot = gradio.Chatbot(label=chatbot_label) - with gradio.Row(): + chatbot = gradio.Chatbot(type='messages', label=chatbot_label) + with gradio.Row(height='120px'): textbox = gradio.Textbox(label=text_label, - placeholder=placeholder, + placeholder=placeholder, lines=2, scale=8) - audio_input = gradio.Audio(source="microphone", + audio_input = gradio.Audio(sources=["microphone"], type="filepath", label=speech, scale=2) - submit = gradio.Button(value="Submit", + submit = gradio.Button(value="Submit", elem_id="custom-submit", variant="primary") - tts_audio = gradio.Audio(autoplay=True, visible=False) + tts_audio = gradio.Audio(autoplay=True, visible=True, + label="Response Audio", + interactive=False, + type="filepath", scale=1) submit.click(self.on_user_input, inputs=[textbox, chatbot, audio_input, client_session], @@ -311,7 +374,7 @@ def handle_klat_response(self, message: Message): files = [] sentences = [] session = response.context.gradio.session - LOG.debug(f"Got response {resp_data}") + LOG.info(f"Got response for session {session}") for lang, response in resp_data.items(): LOG.debug(f"Response for {lang}: {response}") sentences.append(response.sentence) diff --git a/requirements/gradio.txt b/requirements/gradio.txt index fb2c552..3653c07 100644 --- a/requirements/gradio.txt +++ b/requirements/gradio.txt @@ -1,3 +1,3 @@ -gradio~=3.28 +gradio~=5.0 librosa~=0.9 -soundfile~=0.12 \ No newline at end of file +soundfile~=0.12 From 9fcc5704e0e0030aecd058485665b622415f2f2d Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Thu, 31 Jul 2025 19:00:24 +0000 Subject: [PATCH 34/46] Increment Version to 0.1.1a18 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 20287af..08b3ee0 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a17" +__version__ = "0.1.1a18" From 4102e6ad80a8190e235dda89c9bb24ea2911ea01 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Fri, 14 Nov 2025 08:30:46 -0800 Subject: [PATCH 35/46] Resolve dead MQ connector that leaves service in a broken state (#79) # Description Fix bug causing health checks to report okay when connection is closed Update health checks to return unhealthy during startup/while MQ connection is closed Update exception handling to try and re-open unexpectedly closed MQ connections # Issues # Other Notes Deployed to iris.neonaialpha.com for testing Confirmed proper status reporting and restart when RMQ is unavailable Confirmed continued functionality after 24hrs of uptime --- neon_iris/client.py | 11 ++++++++++- neon_iris/mq_connector.py | 34 ++++++++++++++++++++++++---------- neon_iris/web_client.py | 22 +++++++++++++++++----- 3 files changed, 51 insertions(+), 16 deletions(-) diff --git a/neon_iris/client.py b/neon_iris/client.py index 8c227cd..1a5bb85 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -39,6 +39,7 @@ from uuid import uuid4 from ovos_bus_client.message import Message from ovos_utils.json_helper import merge_dict +from pika.exceptions import ConnectionWrongStateError from neon_iris.mq_connector import IrisConnector from neon_utils.configuration_utils import get_neon_user_config from neon_utils.metrics_utils import Stopwatch @@ -370,9 +371,17 @@ def _send_serialized_message(self, serialized: dict): queue="neon_chat_api_request", request_data=serialized) LOG.debug(f"emitted {serialized.get('msg_type')}") + except ConnectionWrongStateError: + LOG.error("Restarting RMQ client and retrying") + self.shutdown() + self._connection = self._init_mq_connection() + self.connection.emit_mq_message( + self._connection.connection, + queue="neon_chat_api_request", + request_data=serialized) except Exception as e: - LOG.exception(e) self.shutdown() + raise e def _init_mq_connection(self): mq_config = self._config.get("MQ") or self._config diff --git a/neon_iris/mq_connector.py b/neon_iris/mq_connector.py index fb17fce..1e31739 100644 --- a/neon_iris/mq_connector.py +++ b/neon_iris/mq_connector.py @@ -26,11 +26,12 @@ import pika.exceptions -from time import sleep +from time import sleep, time from asyncio import Event as AsyncEvent from threading import Event, Thread from neon_mq_connector.utils.client_utils import MQConnector -from ovos_utils import LOG +from ovos_utils.log import LOG +from ovos_utils.process_utils import ProcessStatus from pika.adapters.select_connection import SelectConnection from pika.channel import Channel @@ -45,11 +46,13 @@ def __init__(self, *args, **kwargs): kwargs['service_name'] = 'mq_handler' Thread.__init__(self, daemon=True) MQConnector.__init__(self, *args, **kwargs) + self.status = ProcessStatus(name="iris") self.vhost = vhost self._ready = AsyncEvent() self._channel_closed = Event() self._stopping = False + self.status.set_alive() self._connection = self.init_connection() def wait_for_connection(self): @@ -59,6 +62,7 @@ async def _wait_for_connection(): LOG.info("Waiting for connection") while not self._ready.is_set(): self.connection.ioloop.add_callback_threadsafe(_wait_for_connection) + self.status.set_ready() LOG.info("Connected!") @property @@ -85,21 +89,24 @@ def init_connection(self) -> SelectConnection: def on_connected(self, _: pika.SelectConnection): """Called when we are fully connected to RabbitMQ""" LOG.info("MQ Connected") + self.status.set_ready() self.connection.channel(on_open_callback=self.on_channel_open) def on_connection_fail(self, *_, **__): """ Called when connection to RabbitMQ fails""" - LOG.error(f"Failed to connect to MQ") + LOG.error("Failed to connect to MQ") + self.status.set_error("MQ Connection failed") self._connection = None def on_channel_open(self, new_channel: Channel): """Called when our channel has opened""" - LOG.info(f"MQ Channel opened.") + LOG.info("MQ Channel opened.") new_channel.add_on_close_callback(self.on_channel_close) self._ready.set() def on_channel_close(self, *_, **__): - LOG.info(f"Channel closed.") + LOG.info("Channel closed.") + self.status.set_stopping() self._channel_closed.set() def on_close(self, _: pika.SelectConnection, e: Exception): @@ -110,9 +117,10 @@ def on_close(self, _: pika.SelectConnection, e: Exception): "RabbitMQ is likely temporarily unavailable.") else: LOG.error(f"MQ connection closed due to exception: {e}") + self.status.set_stopping() if not self._stopping: # Connection was gracefully closed by the server. Try to re-connect - LOG.info(f"Trying to reconnect after server closed connection") + LOG.info("Trying to reconnect after server closed connection") self._connection = self.init_connection() def shutdown(self): @@ -120,24 +128,30 @@ def shutdown(self): Clean up this object. Closes all connections and stops any processing. """ try: + self.status.set_stopping() self._stopping = True if self.connection and not (self.connection.is_closed or self.connection.is_closing): self.connection.close() - LOG.info(f"Waiting for channel close") + LOG.info("Waiting for channel close") if not self._channel_closed.wait(15): - raise TimeoutError(f"Timeout waiting for channel close.") + raise TimeoutError("Timeout waiting for channel close.") # Wait for the connection to close waiter = Event() - while not self.connection.is_closed: + timeout = time() + 15 + while not self.connection.is_closed and time() < timeout: waiter.wait(1) - LOG.info(f"Connection closed") + if not self.connection.is_closed: + raise TimeoutError("Timeout waiting for connection close.") + LOG.info("Connection closed") if self.connection: + LOG.info("Stopping IOLoop") self.connection.ioloop.stop() MQConnector.stop(self) self._ready.clear() + LOG.info("MQ Connector shutdown complete") except Exception as e: LOG.error(f"Failed to close connection: {e}") diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index 42a93fe..a49bbf1 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -30,6 +30,7 @@ from typing import List, Dict from fastapi import FastAPI, Response +from ovos_utils.process_utils import ProcessState import uvicorn import gradio @@ -349,12 +350,23 @@ def run(self): app = FastAPI() def _health_check(*_): - if self.connection.check_health(): - return Response(status_code=200, content="Ready") - elif not self.connection.ready: - return Response(status_code=200, content="Starting") - else: + if not self.connection.check_health(): + return Response(status_code=500, content="MQ Error") + + if self.connection.status.state == ProcessState.ALIVE: + # Startup + return Response(status_code=503, content="Starting") + if self.connection.status.state == ProcessState.STOPPING: + # Shutdown + return Response(status_code=503, content="Stopping") + if self.connection.status.state == ProcessState.ERROR: + # Error return Response(status_code=500, content="Error") + if self.connection.status.state == ProcessState.READY: + return Response(status_code=200, content="Ready") + + # Catch-all exception case + return Response(status_code=500, content="Error") app.add_route("/status", _health_check, methods=["GET"]) gr_app = gradio.mount_gradio_app(app, blocks, '') From efbea1e3b0793f830fba9abac18628fe287e1fbe Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Fri, 14 Nov 2025 16:31:00 +0000 Subject: [PATCH 36/46] Increment Version to 0.1.1a19 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 08b3ee0..1193e23 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a18" +__version__ = "0.1.1a19" From f76c1b835220b8f1c538240521d9058f9f8af52c Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Mon, 17 Nov 2025 08:05:10 -0800 Subject: [PATCH 37/46] Refactor `_wait_for_connection` to resolve startup errors (#80) # Description Refactors `AsyncEvent` to `Event` to resolve startup errors # Issues Closes #71 # Other Notes --- neon_iris/mq_connector.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/neon_iris/mq_connector.py b/neon_iris/mq_connector.py index 1e31739..1f7e377 100644 --- a/neon_iris/mq_connector.py +++ b/neon_iris/mq_connector.py @@ -27,7 +27,6 @@ import pika.exceptions from time import sleep, time -from asyncio import Event as AsyncEvent from threading import Event, Thread from neon_mq_connector.utils.client_utils import MQConnector from ovos_utils.log import LOG @@ -48,7 +47,7 @@ def __init__(self, *args, **kwargs): MQConnector.__init__(self, *args, **kwargs) self.status = ProcessStatus(name="iris") self.vhost = vhost - self._ready = AsyncEvent() + self._ready = Event() self._channel_closed = Event() self._stopping = False @@ -56,12 +55,8 @@ def __init__(self, *args, **kwargs): self._connection = self.init_connection() def wait_for_connection(self): - async def _wait_for_connection(): - sleep(0.5) - LOG.info("Waiting for connection") - while not self._ready.is_set(): - self.connection.ioloop.add_callback_threadsafe(_wait_for_connection) + self._ready.wait() self.status.set_ready() LOG.info("Connected!") From 8f776c7cab908d061d39a8c3b388a715d1f22a50 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Mon, 17 Nov 2025 16:05:28 +0000 Subject: [PATCH 38/46] Increment Version to 0.1.1a20 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 1193e23..6c4abee 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a19" +__version__ = "0.1.1a20" From edcec1d305205a6f7a843b6d3dc3c775157a122c Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Fri, 15 May 2026 10:50:00 -0700 Subject: [PATCH 39/46] Update test automation (#83) # Description Update Python versions used in unit tests Update test dependency installation Fix error in GHA workflow causing partial test execution # Issues - Addresses test failures observed in #82 # Other Notes --- .github/workflows/unit_tests.yml | 15 +++++++------ .gitignore | 1 + requirements/requirements.txt | 2 +- requirements/test_requirements.txt | 4 ++-- setup.py | 36 +++++++++++++++++++----------- tests/test_client.py | 8 +------ tests/test_mq_connector.py | 5 +---- 7 files changed, 37 insertions(+), 34 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index a13dc86..d3641f6 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -12,7 +12,7 @@ jobs: timeout-minutes: 5 strategy: matrix: - python-version: [3.8, 3.9, '3.10', '3.11'] + python-version: ['3.10', '3.11', '3.12'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -27,13 +27,14 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install . -r requirements/test_requirements.txt + pip install .[test] - - name: Test Client + - name: Run Tests run: | - pytest tests/test_client.py --doctest-modules --junitxml=tests/client-test-results.xml - - name: Upload client test results + pytest tests \ + --junitxml=tests/test-results-${{ matrix.python-version }}.xml + - name: Upload test results uses: actions/upload-artifact@v4 with: - name: client-test-results - path: tests/client-test-results-${{ matrix.python-version }}.xml + name: test-results-${{ matrix.python-version }} + path: tests/test-results-${{ matrix.python-version }}.xml diff --git a/.gitignore b/.gitignore index 7f6b817..90ec82f 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,7 @@ htmlcov/ .cache nosetests.xml coverage.xml +tests/test-results-*.xml *.cover *.py,cover .hypothesis/ diff --git a/requirements/requirements.txt b/requirements/requirements.txt index b875544..cd26184 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,6 +1,6 @@ click~=8.0 click-default-group~=1.2 -neon-utils[sentry]~=1.12 +neon-utils[sentry]~=1.12,>=1.14.1a1 pyyaml>=5.4,<7.0.0 neon-mq-connector~=0.9,>=0.9.1a1 ovos-bus-client~=0.0 diff --git a/requirements/test_requirements.txt b/requirements/test_requirements.txt index 2a4cbf7..f747a2a 100644 --- a/requirements/test_requirements.txt +++ b/requirements/test_requirements.txt @@ -1,2 +1,2 @@ -pytest -neon-minerva[rmq]>=0.2.1a3 \ No newline at end of file +pytest~=8.0 +neon-minerva[rmq]>=0.3.1a4 diff --git a/setup.py b/setup.py index ed5a94a..b7f644b 100644 --- a/setup.py +++ b/setup.py @@ -36,17 +36,25 @@ def get_requirements(requirements_filename: str): - requirements_file = path.join(BASE_PATH, "requirements", requirements_filename) - with open(requirements_file, 'r', encoding='utf-8') as r: + requirements_file = path.join( + BASE_PATH, "requirements", requirements_filename + ) + with open(requirements_file, "r", encoding="utf-8") as r: requirements = r.readlines() - requirements = [r.strip() for r in requirements if r.strip() and not r.strip().startswith("#")] + requirements = [ + r.strip() + for r in requirements + if r.strip() and not r.strip().startswith("#") + ] return requirements with open(path.join(BASE_PATH, "README.md"), "r") as f: long_description = f.read() -with open(path.join(BASE_PATH, "neon_iris", "version.py"), "r", encoding="utf-8") as v: +with open( + path.join(BASE_PATH, "neon_iris", "version.py"), "r", encoding="utf-8" +) as v: for line in v.readlines(): if line.startswith("__version__"): if '"' in line: @@ -57,9 +65,9 @@ def get_requirements(requirements_filename: str): setuptools.setup( name="neon-iris", version=version, - author='Neongecko', - author_email='developers@neon.ai', - license='BSD-3-Clause', + author="Neongecko", + author_email="developers@neon.ai", + license="BSD-3-Clause", description="Interactive Relay for Intelligence Systems", long_description=long_description, long_description_content_type="text/markdown", @@ -68,15 +76,17 @@ def get_requirements(requirements_filename: str): include_package_data=True, classifiers=[ "Programming Language :: Python :: 3", - "Operating System :: OS Independent" + "Operating System :: OS Independent", ], - python_requires='>=3.7', + python_requires=">=3.7", install_requires=get_requirements("requirements.txt"), - extras_require={"gradio": get_requirements("gradio.txt"), "web_sat": get_requirements("web_sat.txt")}, - entry_points={ - 'console_scripts': ['iris=neon_iris.cli:neon_iris_cli'] + extras_require={ + "gradio": get_requirements("gradio.txt"), + "web_sat": get_requirements("web_sat.txt"), + "test": get_requirements("test_requirements.txt"), }, + entry_points={"console_scripts": ["iris=neon_iris.cli:neon_iris_cli"]}, package_data={ "neon_iris": ["static/*", "templates/*", "res/*", "wakeword_models/*"] - } + }, ) diff --git a/tests/test_client.py b/tests/test_client.py index 2efa182..5f27bc2 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -27,17 +27,14 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import os -import sys import unittest from neon_iris.mq_connector import IrisConnector - -sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from neon_iris.client import NeonAIClient _test_config = { "MQ": { - "server": "mq.2022.us", + "server": "mq.neonaialpha.com", "port": 25672, "users": { "mq_handler": { @@ -61,6 +58,3 @@ def test_client_create(self): self.assertEqual(client.connection.vhost, "/neon_chat_api") client.shutdown() - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_mq_connector.py b/tests/test_mq_connector.py index 32e5a5f..48fba7d 100644 --- a/tests/test_mq_connector.py +++ b/tests/test_mq_connector.py @@ -33,7 +33,6 @@ import pytest from os import environ -from neon_minerva.integration.rabbit_mq import rmq_instance from neon_mq_connector import MQConnector from pika.adapters.select_connection import SelectConnection @@ -42,6 +41,7 @@ environ['TEST_RMQ_VHOSTS'] = "/neon_chat_api" +# Fixture defined in neon_minerva.integration.rabbit_mq @pytest.mark.usefixtures("rmq_instance") class TestClient(unittest.TestCase): mq_config = {"server": "localhost", @@ -72,6 +72,3 @@ def test_lifecycle(self): thread.join(timeout=5) self.assertFalse(thread.is_alive()) - -if __name__ == '__main__': - unittest.main() From 995fe24d23b5accdcce23f752b4fa69bdb2d2f9e Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Fri, 15 May 2026 17:50:17 +0000 Subject: [PATCH 40/46] Increment Version to 0.1.1a21 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 6c4abee..323920d 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a20" +__version__ = "0.1.1a21" From fad4b4f55174a83012d290d8f921b2e7224eede3 Mon Sep 17 00:00:00 2001 From: Mike Date: Fri, 15 May 2026 15:34:47 -0500 Subject: [PATCH 41/46] Fix onnxruntime executable stack crash on ARM64/Rosetta (#82) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Bump `onnxruntime` from `~=1.16.3` to `~=1.17` — v1.16.x ships with `PT_GNU_STACK` (executable stack), which fails under Rosetta 2 with `ImportError: cannot enable executable stack as shared object requires: Invalid argument`. Fixed upstream in [onnxruntime v1.17.0](https://github.com/microsoft/onnxruntime/releases/tag/v1.17.0). - Pin `ovos-utils>=0.8,<0.8.5` — v0.8.5 removed `ovos_utils.signal`, which `neon_utils` 1.14.0 still imports, breaking container startup. ## Test plan - [x] Built ARM64 image locally with `EXTRAS=web_sat` - [x] Verified `import onnxruntime` succeeds (v1.23.2 installed, no executable stack error) - [x] Verified `from openwakeword.vad import VAD` succeeds - [x] Verified container starts and connects to MQ (waiting on MQ is expected without RabbitMQ) Closes #81 --------- Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> --- .github/workflows/publish_release.yml | 16 +++++++++------- .github/workflows/publish_test_build.yml | 4 +++- requirements/requirements.txt | 1 + requirements/web_sat.txt | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 2740690..8ccf757 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -16,10 +16,12 @@ jobs: secrets: inherit with: build_args: EXTRAS=gradio - build_and_publish_docker_websat: - needs: build_and_publish_pypi_and_release - uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master - secrets: inherit - with: - build_args: EXTRAS=web_sat - image_name: ${{ github.repository }}-websat \ No newline at end of file + platforms: linux/amd64,linux/arm64 + build_and_publish_docker_websat: + needs: build_and_publish_pypi_and_release + uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master + secrets: inherit + with: + build_args: EXTRAS=web_sat + image_name: ${{ github.repository }}-websat + platforms: linux/amd64,linux/arm64 diff --git a/.github/workflows/publish_test_build.yml b/.github/workflows/publish_test_build.yml index 2af420a..39925f3 100644 --- a/.github/workflows/publish_test_build.yml +++ b/.github/workflows/publish_test_build.yml @@ -22,10 +22,12 @@ jobs: secrets: inherit with: build_args: EXTRAS=gradio + platforms: linux/amd64,linux/arm64 build_and_publish_docker_websat: needs: publish_alpha_release uses: neongeckocom/.github/.github/workflows/publish_docker.yml@master secrets: inherit with: build_args: EXTRAS=web_sat - image_name: ${{ github.repository }}-websat \ No newline at end of file + image_name: ${{ github.repository }}-websat + platforms: linux/amd64,linux/arm64 diff --git a/requirements/requirements.txt b/requirements/requirements.txt index cd26184..0816e92 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -5,4 +5,5 @@ pyyaml>=5.4,<7.0.0 neon-mq-connector~=0.9,>=0.9.1a1 ovos-bus-client~=0.0 ovos-config~=0.1 +ovos-utils~=0.8 neon-data-models~=0.0,>=0.0.2a3 diff --git a/requirements/web_sat.txt b/requirements/web_sat.txt index da47ed0..6fa3a9f 100644 --- a/requirements/web_sat.txt +++ b/requirements/web_sat.txt @@ -4,6 +4,6 @@ aiohttp~=3.8.6 resampy~=0.4.2 openwakeword~=0.5.1 tflite~=2.10.0 -onnxruntime~=1.16.3 +onnxruntime~=1.17 jinja2~=3.1.2 numpy~=1.0 From 58d3051beaf78f971b419744c64a3c841d5d59ba Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Fri, 15 May 2026 20:35:04 +0000 Subject: [PATCH 42/46] Increment Version to 0.1.1a22 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 323920d..7e0f303 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a21" +__version__ = "0.1.1a22" From 3a9c49678c05976da7ec47af9e36cfca2757b90c Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Wed, 29 Jul 2026 12:16:29 -0700 Subject: [PATCH 43/46] Update dependencies (#85) # Description Update dependencies to stable versions # Issues # Other Notes --- neon_iris/client.py | 3 ++- requirements/requirements.txt | 6 +++--- requirements/test_requirements.txt | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/neon_iris/client.py b/neon_iris/client.py index 1a5bb85..57e9b0e 100644 --- a/neon_iris/client.py +++ b/neon_iris/client.py @@ -143,7 +143,8 @@ def handle_neon_response(self, channel, method, _, body): with _stopwatch: response = b64_to_dict(body) LOG.debug(f"Message deserialized in {_stopwatch.time}s") - # TODO: This is an MQ response object + # TODO: This should extend NeonApiMessage once that class is extended + # to include all of the below `msg_type`s message = Message(response.get('msg_type'), response.get('data'), response.get('context')) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 0816e92..aba1426 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,9 +1,9 @@ click~=8.0 click-default-group~=1.2 -neon-utils[sentry]~=1.12,>=1.14.1a1 +neon-utils[sentry]~=1.14,>=1.14.1 pyyaml>=5.4,<7.0.0 -neon-mq-connector~=0.9,>=0.9.1a1 +neon-mq-connector~=0.10 ovos-bus-client~=0.0 ovos-config~=0.1 ovos-utils~=0.8 -neon-data-models~=0.0,>=0.0.2a3 +neon-data-models~=0.0,>=0.0.2 diff --git a/requirements/test_requirements.txt b/requirements/test_requirements.txt index f747a2a..6ecc3f1 100644 --- a/requirements/test_requirements.txt +++ b/requirements/test_requirements.txt @@ -1,2 +1,2 @@ pytest~=8.0 -neon-minerva[rmq]>=0.3.1a4 +neon-minerva[rmq]~=0.4,>=0.4.1 From d03c82a4c28d5687500cc0d66e387443dba018d8 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 29 Jul 2026 19:16:53 +0000 Subject: [PATCH 44/46] Increment Version to 0.1.1a23 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 7e0f303..bf8b145 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a22" +__version__ = "0.1.1a23" From 9bdd5d8ded7a542d9c2dd36d19cad6e4af5db7a4 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 29 Jul 2026 19:42:52 +0000 Subject: [PATCH 45/46] Increment Version to 0.2.0 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index bf8b145..80e1bb7 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a23" +__version__ = "0.2.0" From 49fc2ce45372521eccc62b3430a6146416f9cd12 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Wed, 29 Jul 2026 19:43:26 +0000 Subject: [PATCH 46/46] Update Changelog --- CHANGELOG.md | 214 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 174 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbbe28b..8cf4e34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,66 +1,200 @@ # Changelog -## [0.0.5a21](https://github.com/NeonGeckoCom/neon-iris/tree/0.0.5a21) (2023-12-13) +## [0.1.1a23](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a23) (2026-07-29) -[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.0.5a20...0.0.5a21) +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a22...0.1.1a23) **Merged pull requests:** -- Update Documentation and Logging [\#48](https://github.com/NeonGeckoCom/neon-iris/pull/48) ([NeonDaniel](https://github.com/NeonDaniel)) +- Update dependencies [\#85](https://github.com/NeonGeckoCom/neon-iris/pull/85) ([NeonDaniel](https://github.com/NeonDaniel)) -## [0.0.5a20](https://github.com/NeonGeckoCom/neon-iris/tree/0.0.5a20) (2023-12-13) +## [0.1.1a22](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a22) (2026-05-15) -[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.0.5a19...0.0.5a20) +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a21...0.1.1a22) + +**Closed issues:** + +- Add linux/arm64 \(aarch64\) Docker image [\#81](https://github.com/NeonGeckoCom/neon-iris/issues/81) + +**Merged pull requests:** + +- Fix onnxruntime executable stack crash on ARM64/Rosetta [\#82](https://github.com/NeonGeckoCom/neon-iris/pull/82) ([mikejgray](https://github.com/mikejgray)) + +## [0.1.1a21](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a21) (2026-05-15) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a20...0.1.1a21) + +**Merged pull requests:** + +- Update test automation [\#83](https://github.com/NeonGeckoCom/neon-iris/pull/83) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a20](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a20) (2025-11-17) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a19...0.1.1a20) + +**Fixed bugs:** + +- \[BUG\] Exception logged during service init [\#71](https://github.com/NeonGeckoCom/neon-iris/issues/71) + +**Merged pull requests:** + +- Refactor `_wait_for_connection` to resolve startup errors [\#80](https://github.com/NeonGeckoCom/neon-iris/pull/80) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a19](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a19) (2025-11-14) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a18...0.1.1a19) + +**Fixed bugs:** + +- \[BUG\] Support self-signed certificates [\#75](https://github.com/NeonGeckoCom/neon-iris/issues/75) + +**Merged pull requests:** + +- Resolve dead MQ connector that leaves service in a broken state [\#79](https://github.com/NeonGeckoCom/neon-iris/pull/79) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a18](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a18) (2025-07-31) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a17...0.1.1a18) + +**Merged pull requests:** + +- Update to Gradio 5.x with Session Handling Fix [\#78](https://github.com/NeonGeckoCom/neon-iris/pull/78) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a17](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a17) (2025-06-25) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a16...0.1.1a17) + +**Merged pull requests:** + +- Implement Docker health checks [\#76](https://github.com/NeonGeckoCom/neon-iris/pull/76) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a16](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a16) (2025-04-15) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a15...0.1.1a16) + +**Merged pull requests:** + +- Refactor BCP-47 Language codes to ISO 639-1 [\#73](https://github.com/NeonGeckoCom/neon-iris/pull/73) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a15](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a15) (2025-04-09) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a14...0.1.1a15) + +**Merged pull requests:** + +- Implement models from `neon-data-models` [\#74](https://github.com/NeonGeckoCom/neon-iris/pull/74) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a14](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a14) (2025-03-11) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a13...0.1.1a14) + +**Merged pull requests:** + +- Update dependencies [\#72](https://github.com/NeonGeckoCom/neon-iris/pull/72) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a13](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a13) (2025-02-18) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a12...0.1.1a13) + +**Merged pull requests:** + +- Handle reconnection to RMQ Server [\#70](https://github.com/NeonGeckoCom/neon-iris/pull/70) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a12](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a12) (2025-02-06) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a11...0.1.1a12) **Merged pull requests:** -- Improved config handling [\#46](https://github.com/NeonGeckoCom/neon-iris/pull/46) ([NeonDaniel](https://github.com/NeonDaniel)) +- Update dependency and license notices to prep for stable release [\#68](https://github.com/NeonGeckoCom/neon-iris/pull/68) ([NeonDaniel](https://github.com/NeonDaniel)) -## [0.0.5a19](https://github.com/NeonGeckoCom/neon-iris/tree/0.0.5a19) (2023-12-11) +## [0.1.1a11](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a11) (2025-02-03) -[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.0.5a18...0.0.5a19) +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a10...0.1.1a11) **Merged pull requests:** -- Update release automation [\#47](https://github.com/NeonGeckoCom/neon-iris/pull/47) ([NeonDaniel](https://github.com/NeonDaniel)) +- Refactor to support Async consumers [\#67](https://github.com/NeonGeckoCom/neon-iris/pull/67) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a10](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a10) (2025-01-20) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a9...0.1.1a10) + +**Merged pull requests:** + +- fix: require numpy\<2 for websat [\#66](https://github.com/NeonGeckoCom/neon-iris/pull/66) ([mikejgray](https://github.com/mikejgray)) + +## [0.1.1a9](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a9) (2025-01-14) -## [0.0.5a18](https://github.com/NeonGeckoCom/neon-iris/tree/0.0.5a18) (2023-12-11) +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a8...0.1.1a9) -[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.0.4...0.0.5a18) +**Merged pull requests:** + +- Refactor Docker build to override default config instead of system [\#63](https://github.com/NeonGeckoCom/neon-iris/pull/63) ([NeonDaniel](https://github.com/NeonDaniel)) -**Implemented enhancements:** +## [0.1.1a8](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a8) (2025-01-14) -- \[FEAT\] Gradio User Settings Intents [\#35](https://github.com/NeonGeckoCom/neon-iris/issues/35) -- \[FEAT\] After submitting recorded input audio the UI element should reset [\#30](https://github.com/NeonGeckoCom/neon-iris/issues/30) -- \[FEAT\] Speech input should print STT results to the chat UI in addition to response [\#29](https://github.com/NeonGeckoCom/neon-iris/issues/29) +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a7...0.1.1a8) **Fixed bugs:** -- \[BUG\] Input audio resampling is not efficiently implemented [\#28](https://github.com/NeonGeckoCom/neon-iris/issues/28) -- \[BUG\] Implement per-user settings in web UI [\#27](https://github.com/NeonGeckoCom/neon-iris/issues/27) - -**Merged pull requests:** - -- Add GitHub pre-release automation [\#45](https://github.com/NeonGeckoCom/neon-iris/pull/45) ([NeonDaniel](https://github.com/NeonDaniel)) -- Update neon-mq-connector dependency to stable spec [\#43](https://github.com/NeonGeckoCom/neon-iris/pull/43) ([NeonDaniel](https://github.com/NeonDaniel)) -- Minor fixes to audio input handling [\#42](https://github.com/NeonGeckoCom/neon-iris/pull/42) ([NeonDaniel](https://github.com/NeonDaniel)) -- Refactor audio responses to utilize Chatbot UI [\#40](https://github.com/NeonGeckoCom/neon-iris/pull/40) ([NeonDaniel](https://github.com/NeonDaniel)) -- Get Language Support from Core [\#37](https://github.com/NeonGeckoCom/neon-iris/pull/37) ([NeonDaniel](https://github.com/NeonDaniel)) -- Handle profile updates [\#36](https://github.com/NeonGeckoCom/neon-iris/pull/36) ([NeonDaniel](https://github.com/NeonDaniel)) -- Handle STT Transcripts in Chat UI [\#34](https://github.com/NeonGeckoCom/neon-iris/pull/34) ([NeonDaniel](https://github.com/NeonDaniel)) -- Remove audio resampling and add timing context support [\#33](https://github.com/NeonGeckoCom/neon-iris/pull/33) ([NeonDaniel](https://github.com/NeonDaniel)) -- Fix web\_client language handling to respect configured input language [\#32](https://github.com/NeonGeckoCom/neon-iris/pull/32) ([NeonDaniel](https://github.com/NeonDaniel)) -- Threaded input handling and multi-session support [\#31](https://github.com/NeonGeckoCom/neon-iris/pull/31) ([NeonDaniel](https://github.com/NeonDaniel)) -- Add Gradio web UI with Docker Container [\#24](https://github.com/NeonGeckoCom/neon-iris/pull/24) ([NeonDaniel](https://github.com/NeonDaniel)) -- Add NeonVoiceClient class for minimal remote audio client [\#23](https://github.com/NeonGeckoCom/neon-iris/pull/23) ([NeonDaniel](https://github.com/NeonDaniel)) -- Resolve client compat. bug [\#22](https://github.com/NeonGeckoCom/neon-iris/pull/22) ([NeonDaniel](https://github.com/NeonDaniel)) -- Add CLI endpoints to interact with API and LLM endpoints [\#21](https://github.com/NeonGeckoCom/neon-iris/pull/21) ([NeonDaniel](https://github.com/NeonDaniel)) -- Specify `setup.py` path explicitly [\#20](https://github.com/NeonGeckoCom/neon-iris/pull/20) ([NeonDaniel](https://github.com/NeonDaniel)) -- Update build automation to default branch [\#19](https://github.com/NeonGeckoCom/neon-iris/pull/19) ([NeonDaniel](https://github.com/NeonDaniel)) -- Update to use shared version\_bump.py script [\#18](https://github.com/NeonGeckoCom/neon-iris/pull/18) ([NeonDaniel](https://github.com/NeonDaniel)) -- Remove invalid release Docker action [\#17](https://github.com/NeonGeckoCom/neon-iris/pull/17) ([NeonDaniel](https://github.com/NeonDaniel)) -- Update automation to shared repository [\#15](https://github.com/NeonGeckoCom/neon-iris/pull/15) ([NeonDaniel](https://github.com/NeonDaniel)) -- Add methods with CLI entrypoints to get STT/TTS [\#12](https://github.com/NeonGeckoCom/neon-iris/pull/12) ([NeonDaniel](https://github.com/NeonDaniel)) +- \[BUG\] Upgrade Python version in Docker [\#62](https://github.com/NeonGeckoCom/neon-iris/issues/62) + +**Merged pull requests:** + +- Update Python version and dependencies [\#65](https://github.com/NeonGeckoCom/neon-iris/pull/65) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a7](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a7) (2025-01-11) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a6...0.1.1a7) + +**Merged pull requests:** + +- Update GitHub Actions [\#64](https://github.com/NeonGeckoCom/neon-iris/pull/64) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a6](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a6) (2024-05-14) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a5...0.1.1a6) + +**Fixed bugs:** + +- \[BUG\] Audio input results in errors [\#59](https://github.com/NeonGeckoCom/neon-iris/issues/59) + +**Merged pull requests:** + +- fix: appropriate dependencies [\#61](https://github.com/NeonGeckoCom/neon-iris/pull/61) ([mikejgray](https://github.com/mikejgray)) + +## [0.1.1a5](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a5) (2024-04-10) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a4...0.1.1a5) + +**Merged pull requests:** + +- Implement alert message handler [\#57](https://github.com/NeonGeckoCom/neon-iris/pull/57) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a4](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a4) (2024-01-29) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a2...0.1.1a4) + +**Merged pull requests:** + +- feat: polished UI for websat [\#54](https://github.com/NeonGeckoCom/neon-iris/pull/54) ([mikejgray](https://github.com/mikejgray)) + +## [0.1.1a2](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a2) (2023-12-29) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.1a1...0.1.1a2) + +**Merged pull requests:** + +- Add CLI command to get mapmaker geolocation responses [\#53](https://github.com/NeonGeckoCom/neon-iris/pull/53) ([NeonDaniel](https://github.com/NeonDaniel)) + +## [0.1.1a1](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a1) (2023-12-28) + +[Full Changelog](https://github.com/NeonGeckoCom/neon-iris/compare/0.1.0...0.1.1a1) + +**Merged pull requests:** + +- feat: browser sat [\#51](https://github.com/NeonGeckoCom/neon-iris/pull/51) ([mikejgray](https://github.com/mikejgray))

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 literal 0 HcmV?d00001 diff --git a/neon_iris/web_client.py b/neon_iris/web_client.py index b33fd66..d2bfc55 100644 --- a/neon_iris/web_client.py +++ b/neon_iris/web_client.py @@ -118,14 +118,14 @@ def update_profile(self, stt_lang: str, tts_lang: str, tts_lang_2: str, def on_user_input(self, utterance: str, chat_history: List[Tuple[str, str]], audio_input: str, - client_session: str) -> (List[Tuple[str, str]], str, str, None, str): + client_session: str):# -> tuple[List[Tuple[str, str]], str, Literal[''], None, Any]: """ Callback to handle textual user input @param utterance: String utterance submitted by the user @returns: Input box contents, Updated chat history, Gradio session ID, audio input, audio output """ input_time = time() - LOG.debug(f"Input received") + LOG.debug("Input received") if not self._await_response.wait(30): LOG.error("Previous response not completed after 30 seconds") in_queue = time() - input_time diff --git a/neon_iris/web_sat_client.py b/neon_iris/web_sat_client.py new file mode 100644 index 0000000..db9f40c --- /dev/null +++ b/neon_iris/web_sat_client.py @@ -0,0 +1,325 @@ +"""Runs a web server that serves the Neon AI Web UI and Voice Satellite.""" +# NEON AI (TM) SOFTWARE, Software Development Kit & Application Development System +# All trademark and other rights reserved by their respective owners +# Copyright 2008-2024 Neongecko.com Inc. +# BSD-3 +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import json +from os import makedirs +from os.path import isdir, join +from threading import Event +from time import time +from typing import Dict, Optional, Sequence +from uuid import uuid4 + +import numpy as np +import resampy +from fastapi import APIRouter, FastAPI, Request, WebSocket +from fastapi.staticfiles import StaticFiles +from fastapi.templating import Jinja2Templates +from neon_utils.file_utils import decode_base64_string_to_file +from openwakeword import Model +from ovos_bus_client import Message +from ovos_config import Configuration +from ovos_utils import LOG +from ovos_utils.xdg_utils import xdg_data_home + +from neon_iris.client import NeonAIClient +from neon_iris.models.web_sat import UserInput, UserInputResponse + + +class WebSatNeonClient(NeonAIClient): + """Neon AI Web UI and Voice Satellite client.""" + + def __init__(self, lang: str = ""): + config = Configuration() + self.config = config.get("iris") or dict() + self.mq_config = config.get("MQ") + if not self.mq_config: + raise ValueError( + "Missing MQ configuration, please set it in ~/.config/neon/neon.yaml" + ) + NeonAIClient.__init__(self, self.mq_config) + self.router = APIRouter() + self._await_response = Event() + self._response = None + self._transcribed = None + self._current_tts = dict() + self._profiles: Dict[str, dict] = dict() + self._audio_path = join( + xdg_data_home(), "iris", "stt" + ) # TODO: Clear periodically, or have persistent storage + if not isdir(self._audio_path): + makedirs(self._audio_path) + self.default_lang = lang or self.config.get("default_lang", "") + LOG.name = "iris" + LOG.init(self.config.get("logs")) + # OpenWW + # TODO: Allow for arbitrary models, or pre-existing OpenWW models + self.oww_model = Model( + wakeword_models=["neon_iris/wakeword_models/hey_neon/hey_neon_high.tflite"], + inference_framework="tflite", + ) + # FastAPI + self.templates = Jinja2Templates(directory="neon_iris/templates") + self.build_routes() + + def get_lang(self, session_id: str): + """Get the language for a session.""" + if session_id and session_id in self._profiles: + return self._profiles[session_id]["speech"]["stt_language"] + return self.user_config["speech"]["stt_language"] or self.default_lang + + def handle_api_response(self, message: Message): + """ + Catch-all handler for `.response` messages routed to this client that + are not explicitly handled (i.e. get_stt, get_tts) + @param message: Response message to something emitted by this client + """ + LOG.debug(f"Got {message.msg_type}: {message.data}") + if message.msg_type == "neon.audio_input.response": + self._transcribed = message.data.get("transcripts", [""])[0] + + def handle_klat_response(self, message: Message): + """ + Handle a valid response from Neon. This includes text and base64-encoded + audio in all requested languages. + @param message: Neon response message + """ + LOG.debug(f"gradio context={message.context['gradio']}") + resp_data = message.data["responses"] + sentences = [] + session = message.context["gradio"]["session"] + for _, response in resp_data.items(): # lang, response + sentences.append(response.get("sentence")) + if response.get("audio"): + for _, data in response["audio"].items(): + self._current_tts[session] = data + self._response = "\n".join(sentences) + self._await_response.set() + + def send_audio( # pylint: disable=arguments-renamed + self, + audio_b64_string: str, + lang: str = "en-us", + username: Optional[str] = None, + user_profiles: Optional[list] = None, + context: Optional[dict] = None, + ): + """ + Optionally override this to queue audio inputs or do any pre-parsing + :param audio_file: path to audio file to send to speech module + :param lang: language code associated with request + :param username: username associated with request + :param user_profiles: user profiles expecting a response + :param context: Optional dict context to add to emitted message + """ + audio_path = decode_base64_string_to_file( + audio_b64_string, + join(f"{self._audio_path}/{time()}.wav"), + ) + self._send_audio( + audio_file=audio_path, + lang=lang, + username=username, + user_profiles=user_profiles, + context=context, + ) + + @property + def supported_languages(self) -> Sequence[str]: + """ + Get a list of supported languages from configuration + @returns: list of BCP-47 language codes + """ + languages = self.config.get("languages") + if languages is None: + return [self.default_lang] + if not isinstance(languages, list): + raise TypeError("Expected a list of languages in the configuration") + return languages + + def _start_session(self): + sid = uuid4().hex + self._current_tts[sid] = None + self._profiles[sid] = self.user_config + self._profiles[sid]["user"]["username"] = sid + return sid + + def build_routes(self): + """Build the FastAPI routes.""" + + @self.router.get("/") + async def read_root(request: Request): + """Render the Neon AI Web UI and Voice Satellite.""" + description = self.config.get("webui_description", "Chat With Neon") + title = self.config.get("webui_title", "Neon AI") + placeholder = self.config.get("webui_input_placeholder", "Ask me something") + ws_url = self.config.get("webui_ws_url", "ws://localhost:8000/ws") + + context = { + "request": request, + "title": title, + "description": description, + "placeholder": placeholder, + "ws_url": ws_url + } + return self.templates.TemplateResponse("index.html", context) + + @self.router.websocket("/ws") + async def websocket_endpoint(websocket: WebSocket): + """Handles websocket connections to OpenWakeWord, which runs as part of this service.""" + await websocket.accept() + # Send loaded models + await websocket.send_text( + json.dumps({"loaded_models": list(self.oww_model.models.keys())}) + ) + sample_rate = None + + while True: + message = await websocket.receive() + + if message["type"] == "websocket.disconnect": + break + + if message["type"] == "websocket.receive": + if "text" in message: + # Process text message + sample_rate = int(message["text"]) + elif "bytes" in message: + # Process bytes message + audio_bytes = message["bytes"] + + # Add extra bytes of silence if needed + if len(audio_bytes) % 2 == 1: + audio_bytes += b"\x00" + + # Convert audio to correct format and sample rate + audio_data = np.frombuffer(audio_bytes, dtype=np.int16) + if sample_rate and sample_rate != 16000: + audio_data = resampy.resample( + audio_data, sample_rate, 16000 + ) + + # Get openWakeWord predictions and send to browser client + predictions = self.oww_model.predict(audio_data) + + activations = [ + key for key, value in predictions.items() if value >= 0.5 + ] + + if activations: + await websocket.send_text( + json.dumps({"activations": activations}) + ) + + @self.router.post("/user_input") + async def on_user_input_worker( + req: UserInput, + ): + """ + Callback to handle textual user input + @param utterance: String utterance submitted by the user + @returns: Session ID, audio input, audio output + """ + utterance = req.utterance or "" + audio_input = req.audio_input or "" + session_id = req.session_id or "websat0000" + + chat_history = [] + input_time = time() + LOG.debug("Input received") + if not self._profiles.get("session_id"): + self._profiles[session_id] = { + "speech": {"stt_language": self.default_lang} + } + self._current_tts[session_id] = None + if not self._await_response.wait(30): + LOG.error("Previous response not completed after 30 seconds") + in_queue = time() - input_time + self._await_response.clear() + self._response = None + self._transcribed = None + lang = self.get_lang(session_id) + if utterance: + LOG.info(f"Sending utterance: {utterance} with lang: {lang}") + self.send_utterance( + utterance, + lang or "en-us", + username=session_id, + user_profiles=[self._profiles[session_id]], + context={ + "gradio": {"session": session_id}, + "timing": {"wait_in_queue": in_queue, "gradio_sent": time()}, + }, + ) + else: + LOG.info(f"Sending audio with length of {len(audio_input)} with lang: {lang}") + self.send_audio( + audio_input, + lang or "en-us", + username=session_id, + user_profiles=[self._profiles[session_id]], + context={ + "gradio": {"session": session_id}, + "timing": {"wait_in_queue": in_queue, "gradio_sent": time()}, + }, + ) + chat_history.append(((audio_input, None), None)) + if not self._await_response.wait(30): + LOG.error("No response received after 30s") + self._await_response.set() + self._response = self._response or "ERROR" + LOG.info(f"Got response={self._response}") + if utterance: + chat_history.append((utterance, self._response)) + elif isinstance(self._transcribed, str): + LOG.info(f"Got transcript: {self._transcribed}") + chat_history.append((self._transcribed, self._response)) + utterance = self._transcribed + resp = UserInputResponse( + **{ + "utterance": utterance, + "audio_output": self._current_tts[session_id], + "session_id": session_id, + "transcription": self._response, + } + ) + return resp + + +app = FastAPI() +neon_client = WebSatNeonClient() +app.mount( + "/static", + StaticFiles(directory="neon_iris/static"), + name="Neon Web Voice Satellite", +) +app.include_router(neon_client.router) + + +if __name__ == "__main__": + import uvicorn + + uvicorn.run(app, host="0.0.0.0", port=8000) diff --git a/requirements/web_sat.txt b/requirements/web_sat.txt new file mode 100644 index 0000000..99132f3 --- /dev/null +++ b/requirements/web_sat.txt @@ -0,0 +1,8 @@ +fastapi~=0.104.1 +uvicorn[standard]~=0.24.0.post1 +aiohttp~=3.8.6 +resampy~=0.4.2 +openwakeword~=0.5.1 +tflite~=2.10.0 +onnxruntime~=1.16.3 +jinja2~=3.1.2 diff --git a/setup.py b/setup.py index 99fc4f4..94403a4 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,9 @@ # NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework # All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. +# Copyright 2008-2024 Neongecko.com Inc. # Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, # Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo +# Mike Gray, David Scripka # BSD-3 License # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -69,10 +70,13 @@ def get_requirements(requirements_filename: str): "Programming Language :: Python :: 3", "Operating System :: OS Independent" ], - python_requires='>=3.6', + python_requires='>=3.7', install_requires=get_requirements("requirements.txt"), - extras_require={"gradio": get_requirements("gradio.txt")}, + extras_require={"gradio": get_requirements("gradio.txt"), "web_sat": get_requirements("web_sat.txt")}, entry_points={ 'console_scripts': ['iris=neon_iris.cli:neon_iris_cli'] + }, + package_data={ + "neon_iris": ["static/*", "templates/*", "res/*", "wakeword_models/*"] } ) From b3ecbf1d9e1385b938569d231bf21f0cc989fbed Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Thu, 28 Dec 2023 19:00:31 +0000 Subject: [PATCH 02/46] Increment Version to 0.1.1a1 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index e8144d3..9e7c616 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.0" +__version__ = "0.1.1a1" From b4f22a583c2f56c9cbcb4336f3c35d46472c3902 Mon Sep 17 00:00:00 2001 From: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:41:31 -0800 Subject: [PATCH 03/46] Add CLI command to get mapmaker geolocation responses (#53) # Description Add `iris get-mapmaker-response` for geolocation service # Issues # Other Notes Co-authored-by: Daniel McKnight --- neon_iris/cli.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/neon_iris/cli.py b/neon_iris/cli.py index 5b7fd59..74068ab 100644 --- a/neon_iris/cli.py +++ b/neon_iris/cli.py @@ -249,6 +249,23 @@ def get_wolfram_response(api, unit, latitude, longitude, question): click.echo(pformat(resp)) +@neon_iris_cli.command(help="Query Map Maker Geolocation endpoint") +@click.option('--latitude', '--lat', + help="location latitude") +@click.option('--longitude', '--lon', + help="location latitude") +@click.option('--query', '-q', help="Name of location to look up") +def get_mapmaker_response(latitude, longitude, query): + from neon_iris.util import query_api + _print_config() + query = {"lat": latitude, + "lon": longitude, + "address": query, + "service": "map_maker"} + resp = query_api(query) + click.echo(pformat(resp)) + + @neon_iris_cli.command(help="Converse with an LLM") @click.option('--llm', default="chat_gpt", help="LLM Queue to interact with ('chat_gpt' or 'fastchat')") From a06229598c23783a9b9565c3e197e31e388dbb67 Mon Sep 17 00:00:00 2001 From: NeonDaniel Date: Fri, 29 Dec 2023 00:41:47 +0000 Subject: [PATCH 04/46] Increment Version to 0.1.1a2 --- neon_iris/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neon_iris/version.py b/neon_iris/version.py index 9e7c616..d495d3e 100644 --- a/neon_iris/version.py +++ b/neon_iris/version.py @@ -27,4 +27,4 @@ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -__version__ = "0.1.1a1" +__version__ = "0.1.1a2" From 30ee867286e2f08ac2c48079141baf91de7393cf Mon Sep 17 00:00:00 2001 From: Mike Date: Mon, 29 Jan 2024 13:54:43 -0600 Subject: [PATCH 05/46] feat: polished UI for websat (#54) # Description Detail improvements to the websat UI: - More consistent color schemes - Transparent default logo and favicon - Change font - Adjust button and text box sizing - Color highlights on focus for buttons and text boxes - Switch to Tailwind.css for base CSS ![image](https://github.com/NeonGeckoCom/neon-iris/assets/30268971/1a9aa5c9-f8a7-4f29-a0d0-1a8e83273e9e) # Issues N/A --------- Co-authored-by: mikejgray --- .gitignore | 2 + README.md | 2 +- neon_iris/static/custom/favicon.ico | Bin 9330 -> 257726 bytes neon_iris/static/custom/logo.svg | 5 + neon_iris/static/custom/logo.webp | Bin 9330 -> 0 bytes neon_iris/static/scripts/audio.js | 2 + neon_iris/static/styles.css | 166 +--------------------------- neon_iris/templates/index.html | 96 +++++++++++----- neon_iris/version.py | 2 +- 9 files changed, 83 insertions(+), 192 deletions(-) create mode 100644 neon_iris/static/custom/logo.svg delete mode 100644 neon_iris/static/custom/logo.webp diff --git a/.gitignore b/.gitignore index b6e4761..7f6b817 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,5 @@ dmypy.json # Pyre type checker .pyre/ + +.DS_Store diff --git a/README.md b/README.md index 90182f5..cb687d2 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ The websat web UI reads in the following items from `neon_iris/static/custom`: - `error.mp3` - Used for error responses - `wake.mp3` - Used for wake word responses - `favicon.ico` - The favicon for the web UI -- `logo.webp` - The logo for the web UI +- `logo.svg` - The logo for the web UI To customize these items, you can replace them in the `neon_iris/static/custom` folder and rebuild the image. diff --git a/neon_iris/static/custom/favicon.ico b/neon_iris/static/custom/favicon.ico index 844ecce29a09b6369a8fdbb440e082fb69cc24b5..b49b0fb3870d8752476e225cbd9390e5316eb021 100644 GIT binary patch literal 257726 zcmeI52b?5D+5hJP9O2I6h{6GT1d*f!ks#ob6n$S_c$L2>NK_=hh)NE(>)p-l9!Ta0 zf}((A5G9MiiXwstNDz>;q97;=5)>7g|L{?E!>{?|#FWiy$~ngXX^5;*U+hbCoK`(VbwPK5t~fxtjuATSUZ z2n+-U0t118z(8OiFc26B3oWgsuR-(8p^^vU*f`8mS2nR)Ja=kgLH4-B+B1HH2GV}#j4 ze}0zi{&L}L9b4UxA0TXjfxtlfF)&}YO<%v??ccBCYlNqT&0M>m^I;1N1P0oV0qT7) zSIFkqlFi>J{7aaZnJ>Q|zJRa=1_A@^$G~~AZQA=M3Vr!?W%G9kdEuA(Jxk?5MrA3uj&MuC_TSL{3&I4U(^(4g2L{@Yfh%R#=L`7xb9wsvHw*6y z)cscqOAF=`Xg}$LM1g_MWq>ih!vyO6{`~u7=k)iz?LVXAEnK_*T!n`%Fc27M9|q{l z|4Ha^w!gY;{rkdy1nPZ!e#c}^%TIFsf-v6KKKb4ZNluWCeM9i=Nc4$gKcAeo=ck3R zHI4!D!{+wPQeM!`e@DRf!Og1omv{MtUodQefzdEPd-Cgow|DlYYm=o{%psqquxV~S z$^866nUfUm%LIH;z?Ti9d2YD2HU>)h!o0q??GK9oZJn>5alo(z21a54d#8?PZV2s4 z?Dq)yjQjF4rC(bKdkBXM^Mx~oZwcoM3xtz|qlNv1|JA)43o9s|i7p;=m3WDhxu+m( zV`IRVsb>Exi0=!9XubcIejg={7bXE>AX{BZI`k<4+rCS9 zPWZdv+m@B~^gUk@9v6NhTr3?tQv0o4oY}&XN>TA-biVMJ_v?vmk$Y2BbEb9}CpEeQtdSYs1i=s6IuHUsu?(!jDyFpQZhm zh0h4v3tK3TEwulnu#3XKqCGx?9}C41K2%zb)tMHx%`2` zUxaA>aD0REVW#U#g?fJ|f8p0q2EHm?I$G$!(*BiO=^A_=Uh7h*EK%4>U5kGd+SDYv6btt-jUOJW&KH}_{z5@3y z5Y7?sKLO&xUj4WM$DC(<>6rrI{61A>f~`l{U;8_Ra%~ODpsR${i}7}HTYxrNk3hLf z+dr4zQJ_5)%_oju6n4o_ru#gJ=X>}a7=VG&JKz`_`i>B<_vyo5Cv?l+7t-Er_z3OM z$I))ANnt(# z%goW{QMkTy7{CU<;rfurNpGsdm_E~);&Tb@ja$l$umuLnF@WuvJ$*v^ z7lf!j;os|3{k)j7QLZ~q&?Sj(qygLacHQshs4ySk%~*QS?F)qE1#5$JN?!mu0di;E z`#bK`aWt>|@zn}9pJ{0KC#t4x7n!%WZ2rB{rCVeAgsm-*Z}~m0ZtjuZHDbd@MY`ta zr)$qVmVXFdx7jns$T-4sE?u2q|JFaUep1%?LVpnB#Pf5f&adtIQ@rOVY=MDF4A3St z`{&&+jLpUE>=D`5YR<+E)U}OzHyrEM1_bJ^oGSy)*FNr#pbTJ*L8+drBxgIE$4_GI zw3(9m(lUHt{|^eA7yDA3P%gGZ-Zo2ylKrnGyk`pW?oF`EB`8@LbLG=xGaM!Xfld>~xfq`-i z;CtUgpnh23=GYz~eZrQ!F8TfUbWZl)#0|YS{r{5E68B4zPJDv52%8ti!EGIKJFFd| zd}iGRW32PsdTRPYo&d)EbGGJ5b&SQeNdB6XU z!p;(!Yyb2+tnQnoJ!=Mi`r`ZN6vo`cna+<${dbk{TcK6AQV;H4VShp1K2(K?)}DdWk2TQ-%~onJf1(4(Wj_>QU9MQG}r#gAbbI| zgKgenG>w&xsVDCh`UToIQ`I&`ew%OfCGCkbtsDJ!>%%iQ@(aStLR?nnNuDB^W@v9^ zWLo73>1r$k=s7?y=D7E~tf}Keh5LkZZOFK8@tZcmxk7W>|1gIfSyvC9spE2Kt#pny z%%6l?RE~W?SUq#H-goKwVV|~*b_zJ%wRd(?+L>=1mk--NN7pT_eem_AEf1TK9(4H_ zfpH@AXP)}@S^31Q&ZK`|&c7GetN8DWb>Bp{cBdIK`DY^AJoiqEi z18t_?=Lk;=as3(1?^|Relk^^r=JJbd`1MNPtQn0A<*vo9E);f{Faf@Jeu%V6z>lO>e^+T?enZFghsXntbOBce@msM zoSfMHjY{LHEp%vWhqt9by~sCPbNP=7XA3V0qtXA7u614BuF3xTlPaX8XL4g|^#bDM)YmelhrTJUcQ_wGVt+rv?oO!kG8hPic=GtL=f?boUd_?Y&Kx%Pn1gJ{~u zb4;C2oYd!8_dVX*%gBfA-=^?2T^YfAreOQyVZHV4r620sqP7-hH|fOP0)F7Q-X{GU z{X4`*@vx$M_W|v8`ru=kLuBQd@9#4&gZYZsdh~f5|5*5-YxC1T2)5rioon`! ze1DU%{H(@$a`}0}?}WIHG~)LiE)CdWGd8oAjU+pLkw(Z{=^1b9`2)g^!eT|Az-V}( z9p~F}tZB^Z8=S*sqAa*mSjUww=mL5Ww)SU$GM=$$bZV}fpR$AW0G)eBsHB(mK0l~u zGp=aukw)i2kDhDqwf;vFIf!yhImA4~buu>>IH|P^!1ie~*m~yc%gBT6^B(mNxIPzi zfJ43CXpL+9^JLnYot<8I`{!NP%w7Lu86Ao0Vk3_6Gwka0k-Dgn+o0oQf}a1a6z~w` z8lNk3srOPj&DuOGvl+uHXRm&q2K@1^^jsd>kNa)0{T~U|=BLi5&mXq-W`MebIbYT; zs#=5R!d*A!Wbu5Agtl)b;^PG{6Xu# z`1L&N>RN0(o?dVJYq|dZcN9-(^EXn{n)57d-|7VF1$e#G^q(ZBChnry8} zBbkDqtm}I`n?g=}9$>q_6m}M-D81GefTyA3`yW;~eK~)h-_s7bN!Q{FwEn?Z{ECgt zm+-9dF+dxUb?E2{-`dIM*H_+OF8p2adXc6*<6!Fu>Fr5FCzoCf1|LL8{enD-$;%}lON&QWEjBaS<6m4@nko5_cO}# za`U~*=~%PQ{Znb&)9Glr{%tbM42^{`ua^az-`FgH2 z2=TaRH{7VQVhzVD-{xu*w?ml@zZ%H^^_sO2mr(wvwY^_XSHCSE#iY!+N`E6ZtNY(8 zj>`GTD;wT8>yGS()Bl`yWIEK7+-u%(j9#}aH@mv_tHCtplqQ-v8i?vl-{ul-i~%{tQq1bo2p z@tLd3#}O^WH|28~DCyBN<=xJ<=e55@{gMua!Qm=4}5!$%r2)Y^}op^}LNs zQO~mmk2dQ1(pTn%9VwhAu$J_GVNk%Ik8kJ|;WeR^>inqA)3-grwR3ncZ9O;IO7@M> z*?ML)4Xu1ky?>SDnq~F9WDK@nPc2F=ZeP!PpY$BPYa^TAR{7Z@+$g*xkiYnJKr8EM zwX|QYaq0I+hwJOBGQRPTT-PRCQg&XZ`eGHq#`cp~LzJ9`hnOlcfUW~{GV9v)JLvd( z!taG@w$hGak4k?xbUF+l_1eroy1e-PZ5wb*y};P+EXP||%Tq6{Nj_d{hgx4h>*j5K zQ~5|cz8!757MWNBQ~$ZZ*7yIAp2hn(YDrgGufccmUDY2eYH#&^@bf2cr}c=DI^XPn zlJ@w$ej!wA+Y|PJz*s)>Rqqv^6k4^vU&*FUR6A&j? z2&W293DwGvYPyuBusbB1y(2G4&V5|i2;UsZ<@*HM&S{dp*0fOOXC=o{g7qD}d|{t% z2C#j`pT6OI`#UKg@!^-tcizKsvG7sl@e+}F{FdM3yR~Eay@;+^SNrpYR&Ue3B3VA* zWUEI`@_oX2ZeAqs;VZ{`+RweJbRQ#3bGDBjgsn9g!0y4Bs(-A_Py0QtZ`9%UD|}a7 zyQq%M&V8F9Dk=8w#|${`bKh{?U-y)YH~yTo{{ENJzn5gM&v(I?3p3Y!=epdS*|c)v z)5SRNAP)J5NX3Qh0Gvo7JsdUjm5{;6}{QrHS^4h*(GS|1p5 zJ((v+9fyy=zClC0@n@y|_pjvBp6<#s&tFn|%LnFGU{7i1!Kd$OrImMvPttz$dXW@& ztridUAuwCFJ>RX%sr{GL`_B136LUc4>)TILb=^%uJvMLqS?RQWKPNsn7aKia>0H{C zPuMa2gt2Tq3z^y5_Z#~acPp%K^}5dfMWuanmv3X?pxQlVKcCYx8vUNrsC=V2eo$%s zugw0cpQyjkjj&Z_fc7%*Hh;W3=G_vk_1Ia+2{#F}v%etBkgZM3?4|2e9VEV?Z`k4- z(> znIt<^6c|u>X=RZlvcvBE;?P=SsucuFX%mMLs9BQD4B#iLTAF zpN^j|^Za;v((?OUSJx%IcFlCZf(wyBy#kNxeu)znT#b{bK6Jl3k(W zlZ7R8j(5l$C|n_6Ykw8IKBN0tVcpEBs*5Q%P8Y`7&aPEnPP zjHUzqoh{$z3@5kO`6T6Ug}7+9(r@?jTb}WIA=xp0JH|oI5`HGc`_u4A`{^N}M_5n# z&${`cq3n!D?xlRP_aM{G?X(R$puOYmo%V26a~=A$wka!aY+W36*Be4PeWg!F zy>W!DUt4{ri8{71ciO>?-2C`mHoue75cj>krgM9^b${3;?ej)#o>%%kefe&s;eMeU zk7+nZ+ihRvXkT%Huk1Gh?=`5FH~7yk6+W-~mdhLviMLs{4EM~H!JL0O4l?YIhHJ6zMwc?Z?eoU>G{VBOAF?w zMQ7W2!|nm{T0M`=FQeZ(3l|Es?OE4YP2VUJekYtJY@@ni3GJ;s`I`2Op*4FWA1Tjs z`GbXcJM(_YysYDaa-vxq{97Kt9pw~jimUP7j4<9`y{t=TQao9`^FNZ6x%ADD34OR% zod1{PGT*O~k*JJGag{_o*d}B0Ue_}2_`Tv_D}lLb^w-Pz@Zxzx8=rdWSjDxb_KUbU z$xrIBwD?Q#Ggx^7DZSU9f0+n|*w@xLV2O z^LXTp-fJ?iCt05o8Z94wE84beJDIQv^tavG`*4gs9#xQ!-@Mx@tGP_MJaaE@7G4vu zhmrDtzCS*I-4y3?1zq(vX8c9-x7o+!rRmtJ+Q)T_I%iWCPTr?wv-FZ~+5vY7Bjrh> z!XHyw7~@TjDfH6D*M8MNIni@u*;mhA(%Jh?1wBblvgXEw-ovf$*Q4Kj&mpJvF1h@d zgsX(7g<5PL-weL#}Z}FcRW;S|F;m8yGP%*nc&LF zw8`PiB=nOxlDYh?LM>%=RKBE-nGeH!kL1|0@nzOx93<3p4lw%sOM&+`O?UR;?IbyA zni~^!y|?=wr}Om7nVUnum%OV*e<&XZgsjjlyI-_0XU^;$-$5(&kE{%&+*%++<$qmz zK)IIgvY-64^@G^m^)VTew(pVRLx)I5vU-k;eX5V^_pa6F757|Woy@27EYgpyw8Mrh z9{p|}{bKsPjX+&bc~?uB%G_5txWLP>AX`{XcwcHa?hE zUGR03_2cM!UoFJPFrsqR^BDVI$8nYv>{9{-~2?iLPLTrDjwat{i%)b;2MH_qaet@kXq})13cq=ATRK9u~^F5GNojrMelh|J> zxq1Z3fvjtjQ3i~qjq_*S_dQ`}*@&&#!B)`gR&B#lUioo5WZ<~p)zkkiIkDm23M1t; zZ2`vjZV(O;Hjr<5va3_zhcczr`t`Ny9sZ?$eZ$J$HxT9N5+^t7Z(3y|pUg%mqtS2r zwB&14u6iE-M9-QjB+r=Fb8FYGs%M-o;D3($Y~%7VhW}*Y`Yp9*o`=~xy4|W9d{B4M z?!)eFj0EoY5*V+qWxmuublp?J8H!_T#kFiPPPl3Hwoom3YxX}~9H1jn-C^EG>v2H7 z@%~YC;v260M|u9cm~2rwlRUm!I>fu$YGHo#*PxHoL*&aGwasj9#vJW$6z&rqE#Q~h z-zJV5GY>zP|B!H$@GBuchFvayU($8AD4z~f`U!=5%Cil$f1mceU&hys)`s=I(%PPsuB*H(aLaMO zE8A($oGLsajO5S5htG9q2=wchcI{g@Ax_GZV}(xp1~KyTj^VDLw`Yv2i?r{AHh#6dF}-2@58H@xdA(~FP%gIe z=Iag0`96Jn&em|?2aC#@#4&BkPY9XJp)Jl?8uFX>Kq-qHpV(+Nzr2qBpTM}qtHMZm z_Ir12Hvc*8nZr8K**#?YnyYiuu%^??-b#DQYT7c`D93xb{mROx{RGDCnR^%IJbuiW2=i7> z5k96k7T4bAyR94R^!h%o5AfXY%Elwa6@4Vn>7b6ccKqQ_YljV8K)0|@`<}wtl8-qa zUgq)a7pN^cDby=tRFtTlvJQuJl(zQnZtdT!F^}-&Z!CRY*o|9zKj9dY)DgE~|K9x(;&8$I`6H(!T!H;t+iN-PsRyHcz9#$UdtmgyRb|2N*E2OWBscn~3 zs@p#vs}C6`pC?4QZp6KS*uBT({o<93%+gx!Sjs9j1_J)F$GnG>mLOcV! zU)y{D=se@4Q9cTO% zjzhcOYtzs@?=QiB45yd7J^jqt0`u~#wXdQ&IGSVpIJ*nM{)gs7@+F9p$*Xa=g^X)0`ygqS^Uuk=RYr{pr#X=3n0~yd@-Q=au5RL(gHpQ1Am*%cp2qssFp9c&j!)?pcNRs|+Ad*A{F( zC2a!uW)H&Fc?|eA6LmjpYI6B)g^PvPgi5wrkMpnSd8~ynzfR}n#MmUZa+`ksoi*ea zd3wJ>k`T1Rb4)#2PX=R zT6Y;QLl{TcTjPrM-Rv}Smc}%BTeWvhj%J+)7uH5Oh}_vR8JFaeEN>GA6fgH)3>5b2hfSQT{i0XyGje+B&Q8hJ^dkc zCUZ<7~q{`DA)yy=iIUEbVEz%-J6H$y};9r%C;$ zZSeeuLbkt_fZvEUTN5&*iE_cpCOc;BEB^W5gKw-x(MCJ5kQdbb zd>1yCKSp3YFDd;_{%&^s$fggxt+Gh66h|QHBHwkH}^P_t9s?zltp}u^y zTkO0?txtWY`pnIU=1;B1%nd`o{wnZ(C;Z9BDvkIXS?jSv=3eEo?>A5u&=(C`@(lPs znSI}Ce{r9-IzOsY=nZYk;8&_u6KG4@H;ibLN4ZSnF@1=q1nQp?W&fX5+EcC zzWeq8{;9ByjRC2F^X)TsWA?wY_&!}|^qAgQbnueQ;p#sIzjAGP<{J_by=kbz|YX znfI`c{}F*c!`{NGvVX=RtsJ1Q3c@xz2CyCce3YT~&V;MQX}#y~C8bAqD6RAvM<;Wq zUX6WZRfi7$4scTW(WrRnFEAE)fv}@wnpu2@9Q}i^)y4p}|5d^2ea3|D6dIL>Nj&Ef z<-N@Vs!ig~zKZs;ee?YHEtb#KbOoQ{t-@EO$M17%(5Mfh=SL6_l&Q?OMiZ|7PWnJf;lMr3MSJ~DZ{Tg17`mRimzJVw^obYrR^HZ0p=a-DSyC{ zZcZ}m(u0q%qz(A`%y-JWxadQtEe}VNp5qGNPAth6j)pTpS#S0~Tl;3t-5gEcj^|p+ zxQnId8)XhC*gy4Nr*G8z=Idu22=CZ`R~Qe^&A#_c$+M_y({y^?R+IneqWz!R;`u#V zeY;;}z&1`l+VvZc)$%9RLx=0*!>Spaf+JX4`A8!*q;Qeh~LZ{|xZE{=QGhTjWo8Axe_H2oeZR1<1VJpvo<^TJX_djp5{2z^OJ}lYS5Xy7Z&S#Oi&waa` zwb-NKEbZ66Be`~PYZ$`Z&&nEX_P>tup0V+?=V`st_nc&3SE$TWyM|c)vkbgEZ7fp>@O z?$*08|GiT;=0Bqcd_R|OytGe0;JcE=-aX%`c{`Ha=KtG7JUuDY%g)jmFXO{mwGS6@ z?+5C{y5H*t^W)G1>jx|&JvdEhhcy6~OO8baFKO7v8L;{v`|l+G-&>LwfA>;u{qI3R zKb%_h6v}~IehG1NjL_=ugSkdB1pANMeDt^3|A)lWV?rA1>7>)d`-G2|-A{M*9ra!( z*Zomlu=T(8p8r$ax7@ZCSJw)y`d*mpm3I0xQ7OZ5lmTo1GxvpeY$t7NX^U@AG9D~g zpOCrl;oYE7Z7@E3JAn78&vWmE-C3M{Q)sm@qFa<^vwvj4*BQ2<4AAG}{n@$v&xEwu zYf|aK7kroS3Dx_hZ;lORBK(RnfUV#YrGDTYN&Wh!RxVFF@yG&~w4->}eo}ckrb3vGdDE}PG%Pw&aiDz+& z1}O(vE5tj37&DqJ+$=mUP#%mmkLq%Jw2mGGCRG+@*n#=Ddd|kLipe^}~fS$j56)cawpF9Z13fUjSD*}yxN`!xrb@3-1J z7M9n3W#!R&%9oD`pV#lN==WUh&l0GIZWVqZur7=8g0=)>kuM9><^K>y(uGRlFX-N* z^}J<@YlAykKk)HbUd`6NRp0;nPoq>GQoR1GdvR2j!3TV_KKB zv8UYZe@AgdzpNZjX*wnM}5zje%RWZ0ortbE7+?q7fgq3{=z)h zmUxf!V+G-(!a2gTLODHtS~~P8r$dwho#+!ZAHasR zeJyKC$GK_t?{^D%c8&JC3oB=ia_P-v$nQqjywoMLg5c{K`06jT8NH6-=W51WLjQbU z4)QyC%(%ztLZ|7pFD;N8;D^X*&bRdy@d3v5`ca+R++EjcV@2rqJXc13zYH&No*MNV zAI(z&KH)6|`(_{d{axW4p%EK?A?Co)ujm&?d@CTA-&WXH_?)n=&e&7CeM_v-*x_pz)(P!wa@)CaN zGiBWvOtZ%T{wDqzr#(jLSyQmFTJpsEf*Pe?JP+I9Tfw{|#QaM58ySCM%ob93?jpVDxtK>v*~b-*#c@qKm8TH51Rx4C?0YTt>Q*B{F9KIbz= z*P>+r{$zYg<`3*7j?krCepi8dH_AyPj%nlnUih}KtMX>0;&-}fi=pqlqoPs18J-8Q z7v3L5-_ZOHmByAR2fi)6nNjyLin1C#CT)H4ecBjUxjwDWH`4Y?;Ur-*)r081-A|r3 zqP$9z9ql2R(W!pdUb;Y>c%JHLc=6d-6 zDOc|idW6lz@1jDfE$feymu%!1v3vZ(?5%J3X{GT2p_(0)3#0F}pOXulN^+wu3P*F~ zr{R6Y<8PEab z%;&|pi1ISpV|0u;Mb}Dq@s+PCJ41g>m(k}mZ0LclUE#eT*w!C}(aP$tXRe98b0SIE z@IhK0t)cyW<4B)Rr{9x5^a)mSJ{GuOEK}mQ{f4ae?Xzpk@Og+EH|&(Yk=4J9W1Ufk z3$H7+?(sR%k2qO&zo{_QjX|ToaE=cvExaPPl}F4MJ6@>fORGix+Z4x47iW?NL^^w2 zdzCc~l&iI*rPgcsR^FY8b35hBWLFM!LcIs4a~-GqOZK=Q1%EDci<8X7^u~pp^V~aL zsK08}oA`CKfA11!M=Gwh3;JsIW%X-%y^q}1*P|cExLI7L(f+VC?oA108-N;2Ue{6Fzw{Q-Msl2W8AE_A@^qz`NVw-~Ri4X}JnOI=k@_RJ2Zi-XHz zJXF$^=y~SlV)tLvewEBb@ru1OW(U%^mGT~68e?PlC!#Wq_4p3y&5DWJKk3bCPS5bZ z>R8iR=|0*&CoBJ!)AOvo#C)+_sz=sscx=OkcKmTW4 zOW$cH>B`b>UM}%q`yj0wdTsJ9p?#9J4?lMZE4uiTl;3P|8^!y&5YLCCfB#$gd8MAS zrW+rCt9IRxjduYI_j~hwh^?I-(@t#n&Gd`%4x1iHpU}aph0mzJIJH<$VDmpnF;|r1 ze$EShyIeje{6iQ?-qD2LD!s9}fJy3%`TzD*T3P!zn)HnITE+=)Q{Hau#zUEJe42po zrkysc2c}8Z^JBa+?z^k=|6?2Nyh)uh2MK*z2U)!x3@1Nzyku2oGG=D&($-+-7^Rmo zYOZ_#_feALO<}C|QRzO)#pK71se^3(F+P?`&#uS$`;^DqW_Hl?=?7yk?NkPs{Vy!J zPK@#Tj>^7+oPV(0?f($v>1l3Uj<#^z59)R58HF(?f2B;1u7?xW;kAk`kWTXYWH%4~ zARYfj@UkVjzfjyH?>A<>VPF1qrMXi6Bq>8Yu1ECT|8{F@DTgi-+GRs0?48EU^Nh;P z7|T)0OB=6l7kSIcK^<=ENGkRHe<2>WRarRE)%RSV=Kg(LM#?JcF6PkW@}Cu6jOBGS z-^Y7=y7Y;6;>J@k_TN@^F<0%ppQqI=o7U1hW(q3&xvu1{U0f` zxBa81)&|;6`#%bCJ-AEfHgSG@u4|S0-s>gh6tH~$sP>PQkufgwcz(|=erLd^VZ8h6 zlz#h$1@n=|leY2R`-GmqqjX_{D@!R)TTLJ0d0~3N8n6Bsx7h#TD#zQ~{%Oydeaw}- z@wVk7lK-QwpASz-)@kv4sK;;8jE<7-tmY%++#Hwj+Ca7Y|D)&Zujgbk_!^ShtPEql z&VW$u`HcwstR~JR6h18^TQ8dZGhR`te^w7!s>S)N(y~kD zV%Y}Y2D(yc)y;H!hUEF45S1BU_s&lLTdm%!H7{;gzFGaay<~kkCO`8Zr|Mj-v8C%e zvwLixw%yl-M)=L~k#3ndXC@0{3ik<79c||EGpajw$~-Fl@NLL+X~4*-q3>ec&J?e= z$GAmbwshg`YX8VS$E^cDAtw7v%G=FdzkoWl)i$dyDckUw?JE2!CSSem<`;U-YC^J% z5noR8@$6j*^-B9#;$`jpCo;Ty)sF=yD|vlm^J@V6^uCW=o_n~`>#bZ}(Q5T1^#p0QcZB~V#_iAan|48Z)~by~cPib3{i9cX?p=}5 z`jK|eey(4@HLW(r!@4!gQ}XVILall{-s_kzcba=|Sw?9{azjtEZcgz74U}gzeB7&a zZS491)>cVU`ufF%{xhbX%^$4v|0l-n1uD~~C0>@-PnyxijE(T!6Z<|Rz7C(?d=Fs@ z{kAsU=wfZ|)%Y^ZRu)tGzaji9BA1u1UVG*e?(fPTQJLsQUfH|I(pdj{K7S&;S>M@< zwO10Qpe~UauTzw7<$S{jyK!7}svS3zoiU{|1nMrIk9SMgW;s1>CAn$$gX7(J?H43Z zd_AX^uU`9?#o4BH;f=iFyN322&w8aliFj{S8g0!SWkA|Dvw;`boI0f)H|&M?JPh}b zk$(%jc3i8-jUSi#CYN7cxF(jDN$7Pgaa^qD)`vH%rxsWIcQ;A4TI4TXlg(eEviQA9 ztCa!l)3jmJ=>HsjV>qX@4lPsZ3(t1*UGaal>t=1rr6g;7+~Yds-NJQg$JUEWWSQ^A z`DaU>M)vu=&f_~eNT|w4}=$DPh)GP1D60fxrsW0$z zJtIW99Mo^#2h^T^f6tfIm&}Wc_kC#lOm7MM$L<+-Ca-e&9fUs$(Y$Qb@vGu%6PFIs zl=Mb@m2-0$e$XWO#=_&@mDW?`k2PJQjh2SCG`fQB&vV~wJ2}QD{g(^n_gh%yZPK}z zuK3JPK27pI5#yjW{D0`u6@uCR`?ddROpdYW>{##lne2b2OG`cMAI&lQr;jn#G&bYD zx0K$mt8KQZt54vj*<}D}u)6Q#N?W|XV9vYw{rFyBJ8yhDH|zR812LWYtVNUIP#Kj2HE%BDZ87Y<2>^e@wJHd)lxjZFtdNgYU1P6&62s+=Q0j+toqwl24H*5 z+Du<4OJ@mjy+@u4oIY_~yKneE?Hf?1OYW#ny`kT`3HBcNH1a^XMEdwj6gNNPNadZft6>|u;%(o)bAPVV z!}`9cT+hfJwshB}^_{gz5(XdhU7vC<@qoW3%0*7?w8<{7(zvz@zpT~&_-USur9CP~ zBaVNq=dUl+w{45etVd1$eT9wSh-bVa{GYIpo1e`b?M7|Z-lq&;423e3eo0jBf9f~= z6!Ux6vm9@f%p*OgH1~Nu$xhxx`JipIqU!_DPe{{-otgiJ^)PAhhkZ{z$SJNoswYq6 zSI)hkk$HyEylSOm)|l?Ecd#ww_#!Xsy`d|Hse1M?0{xLVXUu_F-i`Sk-+(mLTjpBg zKh^0II<<^&V~mqGR90^9%4zxuY1wGApffq=x9HJ6zGfqyul4@@rgZBdr(Z|ZnJ1Hb zQ_0-SzD^Q+{y{SAD=_!e)|b_zzV&@Xvwg-P=LqG>&L^eoTe`Fys`RL6=$OrPiazww zLOgHjBQZZBJ#=_|v9Uh%D4ym<{~lBt)@=w!$ezuwtY^jF)6i&{lX%_>l4XDOFBfwC zZEQ6ue>?VjnBeOQOBXq>X?-sna&oDfEi@{+9_+Jz`AY43|I6wtwdMn7@zj zlYLVlZPBzg;~1Sne_2CWf6cMHBA;$Zf$T}~{b$K?tl9$8#_bOv4*<5z`ZeOM{H-*6 z0QdrIOcLMfc*~ypYe0RTz&Bmsjdsv*-^ifOZ6)}%HT6kDwOH|cVf&}Lu|C#m$Jc5k zrHiADhxLBu_pg@zq{7Vp7nS_9Wk;LVG+&P`o+P_n%Gn@tny<4ubJPjgt?91K1GTZe zJrv)a0zUn6ax>@Wa6ON;FX(;s=d^n$<(_f4j5zs88O|&*<3^mjPMj>+F#Vxko9ldL)LV^^uaVEdR=+PkyEO)9-yTL@Z=dYZ)8_>00)L)z zV!rcH;TPFcxJ{_$AAL;E*i~^Xr28_N1wz=Yzl6_(_x%nZ8)dANap%VSNUSYKx>ghJ z6dI|M)t*KFmhymJq~^Ny;E*3h2u`jWlF!5K~u8MFGJ z@F}5Rz$a3vzK0L|{#ObcY3$LyUEs@KOo`-tvsl)FPE)`A@7`vM-VC&}zKM;N` zP&bW~2HK2Y5zuYpkTL!=&TDICSwvsTbnKJj=>;Lq>y0XtS9W#KIl7khT=m*a&uN#? z=3rfITKfE+lS{?L;zGR`7#=U}Un>(g)c!far=?T&?~YRDzv=p`lt&*a^qV|?!?_J- ztbfJ0$z08W%;o!p`21+<-*2i7u#~Q;U*Cziv47L|kLj6D32D-C=KRnf%4Cif8o8PM zuc~J^bFE{V@}gW?UJ^e)6h0?Cn(o@Hl+%qYs~f2kNj*y@=H~lhdwuTxO}B`{IKQ;F z&J>sSUI+RCNw$BndFFu-r}h8J`6J_LYV>c~{`5_)Kb{o-wZvn2v!tGVxzK32)A~Hx z1^wLhWq zm8Re18|4dqztOh&;%TkN?~9Z!=9W~Jqh29a|4-DjPZsJSTeISPL-PE!0M?>Jfo%io z_2+~Kg*&8s7Yn^Q-d)&K$14ewUE9%ks#h+wcf3+7=ii&-`rf;VTgFS{dO;b$H$v7B z=T^Q_caLZDd6skE9P3y7ZyC|&Ez0qz^^#=Vw*_#O@ws0-rHOT+I+#mmZ0*3rtC#Pubf zKAU2WMw3sxGx_5xPi+pRx8Yj$Uf;Mj>3(PudDZH1l-lCVIs2MWX;J zJFZQ7`ufKTJZr9dza@J8qA(gAYUH&iE3J#T^wuU}@>iMOZy}Bt*J`BfNk8jhrGM+p zX|nxbzsc)K5;0%QlO zr1dPR_!v*Zw`8&2*PEmdc`TfUdnz+f>T}}r z+C`w;u9UyeDJ&~&ru?;X!1UGXc#bJk{JiZo-S2gD4u4j;K1QYIG~@i8O5-e{x%z7D zvPG1R9|_IiVZ6`$nbN&^hW91-`lYh=g^)Bb;O&-vn!OwSTJ8T;LI3be{Z_a{Wxzh# zuO&=VUek}D?YyYom$Rhyv|%YL@aN)77_VN{`~JSnPYY#NGxKC+rQskUm;ZJPa2CxI z^nx;LedjM?T?h6bw$@<4x6`c5UQYRVq=4@>n#b{D#&zg3VBs|?M$?jK4cYkF34^*#N`Fh198 z4I1C`$v@r;N?!K6cKt_{zw-s=>QdG>OV{f0T-qo-!i3cLsjz<=E9br1^^iHKIA2r! z&?~UE+}iuW_Qz*?X}O#AKlpIy7vRIUxdN=y-Bq|mctW6!Px+seJ~bnrSCxL|m!*Yy zY#+YqgQdCM^_B+hFO9{UGlLha~wf@0EDie5r_$QS2hYJgY%Y~bT z0fBk_;5GrD0KTj%g*1)dKwoTa9rFQR z78KJx*kVOO>FhtBy*3tu4} zt-%0o1IhvX3G^ZCJ z{rz<5ORJ@ZxgmE6)N}JRXE5u&<8YmRH*&oDCF%8!#r{f~IAq;~+5aZuq|&;qX#Je@ zF>Q_~g#*-PGvBE1-=&GCke1eF038SDmaQ+`OFDPA@Q#qQPRHZBU(a39Jv(hI;xDy6 zz&hGvhw-%6^Y`m26E7Cl6E_o`-^RbQDQ!H3^t3($j4%4J1Z(#)$ACV;vvt<{?`BSy zexIf1r*Sj;?-B=%8Uv)xzh8F0ufX~Z^W|=)y^5c(1qSNQ0QS##vb}$6bL}q{SeKi0 zefM|8xv%p>B=ud&q{%V+Uq%}>;F9@ zD{|-ZUl!taJlfyPwPbvCNAWnr**#pc#w)DT?=)*_O?jDX>c3@GoO{j+B3b)mMh&AyrWOI?4o@FCUli@0)*x!07N zVG9hj3j@q0rtgZKoGoPCTs7v*UL`Q6m^!eW-TYAJ8Cys<6K4OrD4n&8ef(bXU#4sS zSNr8<^OKx>*gfAdXAMT!0t4;F0PSSP@$e5|FYM=O&2cvWG5y9rP|p6JQ(ZXAT~Avg zjT?2f+5eZcueL^t_72}_+EQ{a?CN;#gA>2rDvk1mGzA9g!2t7zXcM6Sx%_8@a`T7Y z()m5yT%)x5zOjGWH}-C_a%C9jUXYxJN)G!rOL!MYJv1uB*@_Hc|9yHdc`kpxP|kkv z6-*bbo=uaCK27#LyelfC|2duioSUQX+dpZNA*3ZR&`bvWcwtuWqtE48zaB3G{;G3( zx^@C}E$e{OvX$(gv_D%W?Jw!v9{RT01lQl84}-j63k(DXi~;-twC(p6?7d@uE@MYO zR~unXXFI%;AT1l^(R{5Z znQ)q5WdQYQv-$$&v!onaTsTGew-B}e8)f^mT%RSh_oKNSjspXg8DNeOZGpc0`(#hI z#%v1vV(uVo0#+){jb-etk!@@GACy%#ZvRCczam6!|4G^X7H)j+;KH?)B@Q8hfxv)g zfOaxIGMfXpq3r6XG26npee!GUikP+vh#x`1FT=C;fG$=?l7U zg8Q~|Bg-YvVb})-TA2at3xC;Hg>3$VvavgbX#MJspV9e4b?u6UHbed9&H8aW>!Zxj zb6M-dw@7_j*wY6%Ram@OCbe=tgtP|+n#BNhIkv{0Z=13fc6c8fo8uh=KN9wq%`NAy zr|jTfY}We~$07&wlzloZzKM!+Q^kFuP;Tu4>vg-_GcVM=VG9fd2FA{Sw_kh$S+{QJ zT-hD-0i$)UKW6UWfN+GaeZTgL%MN)jzm)~PJm6cYmD=Q-XC5Erhc838e!k`?=k$)v ztb4!5Q#$s~jP7~Q!TPSeAid4SNa_a}Zy(YDPQ_rE!$Iq~gYm<0?L2^=tm;wWVfl3VE6QB(6efJYx zIk19kl6L*Y0`JnQ)K?!%IlvghgTi-&{q@|{igkXl{YtqM&IbnS&j9xK34y)M8^lM* zyrI1X`td&#SWonKfi^p1^z`Wg?;HXgQ(n-Iz}6Ytds=aRU;7^6)4~T7|DxJkxx+hp zm~#}iz(8Q2`3&$q62|K(2e47*5%O-KoZ9I98V~Hte_Y33RNXyWd)5#v5WX#(FPtLG z(KUx^zoV{MPx}@1dxq|vTo`+>^+|kFmvSa-fq}q4`WRrWfbn-f4o6wQF*b{jexBCq zGG{m!LDsF`ov8YJLUH_``+VD;IRPMSfq}q4U?4CM7zhjm1_A?tfxtjuATSUZ2n+-U z0t118z(8OiFc26B3*e;o(CbIWT3|{k@s#rE|TJV>|n{Y`Mo@@NV>4J2|NEu2OjM(4Qi_80kBiZhzkI z2NYgR)Z4?u6`U!O@>(e=h5O$f5Q|L~Y!ncZR zhr5gLUUwAFeKRdGrVt(ze^@x8mbSrCq=h50sDPe!t-?#o224Ngqwh|aIr#6 z{4)W4c#qE7xi0NROF?f7;Yu$Xak3v4UJ!549{(;fn1F@*l^!bD+h$>T&1*9{A|kefp-QQch z&mwn8Ey*WYOT5?>N?s&fzeW~{|K2#;LuR4;mB zkl+$`6~ZGj47eM5`~&Q#83X4md8OZl@GgISh45nLTJne8UnB(fwRQXW2HekrHR>dq zu5DPjKM@b_b(fbI7_{I1@?!Pl6F4x&aL-_`-QSfjY=z%NE$P(o7{9~#87bV~P{?2Z zvzUMWM5XZVyln;j^4V3qzYy&8yJ)jM|9p7ihIn}KcYZMAww}Tbh5NmDI&0zGL&LiY zKeZcl7x)u}`@2iwW???U0eAI~62cV`UO)>kCC|kpBlKr1++XdV@>;RXv2Zl--e0To}34AAdKPev|T#*&z_VtcqyC)Lv)8!Mw^A$|CyZg(86Fr$?;oV#HEybv{g%7sH8iz*s8CF;Y16lW!J3 z8q`Z7v>6Z38wu~y=|Z^i?83W>_fJ>yeL<7aX^XcMK1J3(Bz%DQqv3lQO^7vrG2kbho$7yh<8tr#5- z?uQpo;oXJPL&Cd!{P=S0Hk~Qm?}HtagD%Qwcp-OnO8s9`YfcsKFFszfO)&8Zw}ckC z)fu??sEa-l-sJ)c|9V}hHDU|*cSpkq3gM=;?nh5Fd~kSpG`N^%?ss~MAxAblXWbh+ zE^_a#vdpt$$HGg(y9;_P0i3n)E_b^4uke6Ucy}?#4lIIFcuy?6RP0$)@n93NOQ&7< zQ1Q6foi2u>u(1sZx^>Q77!!|6Ng?5mi!L3+HuR!f=UjL!jGu(}Xixa?~aKL<G(S z!oj;TQ+TKly_hro7%9BF5Z|y}hHNjkiiQQ7Pqo}NJW&qGP+r~Qboh`;eF{+G){FZ(&x)yrJ>R$6*DESaKQlKJrx3VdXVtS!OphI Y>bAc}w^zztcgaB2$NN~qK2Zk#KZt8d3IG5A literal 9330 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 + + + + \ No newline at end of file diff --git a/neon_iris/static/custom/logo.webp b/neon_iris/static/custom/logo.webp deleted file mode 100644 index 844ecce29a09b6369a8fdbb440e082fb69cc24b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9330 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 - + - + {{ title }} - - + + + + - -

sWiA;GEUN#*8p`XVw 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�BFAXPBhLdL2Uh7p!^1oDVRr?Qghn##Sx~~Y=-OK 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

(2;91>@GmDCg``2$Qi#S-GXY?edd`R3O9-< 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