NOTICE
======

This project includes code derived from the following open-source projects:

1. **portable-pty** (https://github.com/wezterm/portable-pty)
   - Copyright (c) 2018 Wez Furlong
   - Licensed under the MIT License
   - Used: PTY backend patterns, `ChildKiller` trait, `ExitStatus`, `PtySize`,
     `close_random_fds()`, `ArgvQuote` algorithm, `SafeAttributeList` pattern

2. **pyte** (https://github.com/selectel/pyte)
   - Copyright (c) 2014-2023 pyte authors
   - Licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0)
   - Used: Terminal emulation (`Screen`, `Char`, `Cursor`, SGR, modes, character sets)

3. **vte** (https://github.com/alacritty/vte)
   - Copyright (c) 2016-2024 Joe Wilm and Christian Duerr
   - Licensed under the Apache License, Version 2.0 OR MIT License
   - Used: ECMA-48 ANSI escape sequence state machine, `Parser`, `Params`, `Perform` trait

This project also uses the following Rust crates (all available under MIT/Apache-2.0 or compatible licenses):

- **pyo3** (https://github.com/PyO3/pyo3) — PyO3 bindings for Python
- **pyo3-async-runtimes** (https://github.com/PyO3/pyo3-async-runtimes) — Async runtime bridge
- **tokio** (https://github.com/tokio-rs/tokio) — Async runtime
- **tokio-util** (https://github.com/tokio-rs/tokio-util) — Async utilities
- **thiserror** (https://github.com/dtolnay/thiserror) — Error handling
- **tracing** (https://github.com/tokio-rs/tracing) — Structured logging
- **once_cell** (https://github.com/matklad/once_cell) — Lazy initialization
- **parking_lot** (https://github.com/Amanieu/parking_lot) — Fast mutexes
- **async-trait** (https://github.com/dtolnay/async-trait) — Async trait support
- **unicode-width** (https://github.com/unicode-rs/unicode-width) — Unicode character width
- **unicode-segmentation** (https://github.com/unicode-rs/unicode-segmentation) — Unicode segmentation
- **bitflags** (https://github.com/bitflags/bitflags) — Bit flags

For full license texts, see the [LICENSES/](LICENSES/) directory.
