Re: Rayforge packaging effort – request for guidance and team maintenance
Michele Cane <[email protected]> Sat, 20 Jun 2026 06:37:13 +0000
| Newsgroups | gmane.linux.debian.devel.python |
|---|---|
| Message-ID | <yQ3nLfxYyEh2rvNAZCU52VqHeRiVmR7kP85ayCom6g78g5mXIF4CcRvf-Kmg2BkB9_LI60K7K20o8dmgVreMNovbawn6dcRK8L7-0L2dwoo=@proton.me> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------1dfd05eda15e651d05f6d897e298ab5b6a9257f089aae6dbadfbbb038700d3e0 Content-Type: multipart/mixed;boundary=---------------------145ee35e5ca9338ba7e6e3e35093c913 -----------------------145ee35e5ca9338ba7e6e3e35093c913 Content-Type: multipart/alternative;boundary=---------------------788f04a6a24a1d30474077779264ec6b -----------------------788f04a6a24a1d30474077779264ec6b Content-Transfer-Encoding: quoted-printable Content-Type: text/plain;charset=utf-8 Hello, I am following up on my previous message now focusing only on the python p= ackages. I have moved the 5 repos under the Python Team namespace. https://salsa.debian.org/python-team/packages/raygeo https://salsa.debian.org/python-team/packages/python-vtracer https://salsa.debian.org/python-team/packages/rayforge https://salsa.debian.org/python-team/packages/pyvips https://salsa.debian.org/python-team/packages/python-asyncudp I believe the last two are ready for review. These are my first two ever p= ython packages. I tried to follow=C2=A0 the packaging policy. Any feedback= would be more than welcome. A short summary of the status of the two packages: =C2=A0 python-asyncudp =C2=A0 - Salsa: https://salsa.debian.org/python-team/packages/python-async= udp =C2=A0 - Source package: python-asyncudp =C2=A0 - Binary package: python3-asyncudp =C2=A0 - Version: 0.11.0-1 =C2=A0 - Pure Python asyncio UDP helper library. =C2=A0 - Packaging uses pybuild with dh-python and python3-all. =C2=A0 - Upstream unittest suite is enabled and passed in sbuild for Pytho= n 3.13 and 3.14. =C2=A0 - sbuild -d unstable succeeded. =C2=A0 - Deep lintian only reported initial-upload-closes-no-bugs and lega= cy egg-info info tags. =C2=A0 python-pyvips =C2=A0 - Salsa: https://salsa.debian.org/python-team/packages/pyvips =C2=A0 - Source package: python-pyvips =C2=A0 - Binary package: python3-pyvips =C2=A0 - Version: 3.1.1-1 =C2=A0 - Python binding for libvips. =C2=A0 - Packaging uses pybuild, dh-python, python3-all-dev, CFFI, and lib= vips-dev. =C2=A0 - Architecture is any because it builds the _libvips CFFI extension= . =C2=A0 - Runtime dependency uses current libvips42t64. =C2=A0 - Upstream pytest suite is enabled and passed in sbuild for Python = 3.13 and 3.14. =C2=A0 - sbuild -d unstable succeeded. =C2=A0 - Deep lintian only reported initial-upload-closes-no-bugs. Thanks in advance Mike Michele Cane, PhD On Friday, 29 May 2026 at 15:03, Michele Cane <[email protected]> wro= te: > Hello Rust and Python teams, > = > I am reaching out because I have started working on packaging Rayforge f= or Debian. > = > For details about the project, please see the ITP: > = > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D1137607 > = > I previously reached out to mentors.debian.net and was advised to upload= my repositories to Salsa and contact the relevant teams to seek guidance,= review, and potential inclusion under the appropriate team-maintained nam= espaces. > = > The current packaging repositories are available on Salsa: > = > - rayforge: https://salsa.debian.org/heiserhorn/rayforge > = > - raygeo: https://salsa.debian.org/heiserhorn/raygeo > = > - pyvips: https://salsa.debian.org/heiserhorn/pyvips > = > - vtracer: https://salsa.debian.org/heiserhorn/vtracer > = > - visioncortex: https://salsa.debian.org/heiserhorn/visioncortex > = > - flo_curves: https://salsa.debian.org/heiserhorn/flo_curves > = > - clipper2: https://salsa.debian.org/heiserhorn/clipper2 > = > - rstar: https://salsa.debian.org/heiserhorn/rstar > = > - pyo3-stub-gen: https://salsa.debian.org/heiserhorn/pyo3-stub-gen > = > - setuptools-git-versioning: https://salsa.debian.org/heiserhorn/setup= tools-git-versioning > = > - clipper2c-sys: https://salsa.debian.org/heiserhorn/clipper2c-sys > = > - Clipper2C: https://salsa.debian.org/heiserhorn/Clipper2C > = > - arduino-asyncudp: https://salsa.debian.org/heiserhorn/arduino-asyncu= dp > = > = > The following packages have been identified as direct or indirect depend= encies of Rayforge (the list may not yet be exhaustive): > = > Rust: > = > - raygeo > = > - vtracer > = > - visioncortex > = > - flo_curves > = > - clipper2 > = > - rstar > = > - pyo3-stub-gen > = > - clipper2c-sys > = > = > Python: > = > - pyvips > = > - setuptools-git-versioning > = > = > C++: > = > - Clipper2C > = > - arduino-asyncudp > = > = > Current status: > = > The following packages are lintian-clean and build successfully with sbu= ild using only dependencies already available in Debian: > = > - flo_curves (Rust) > = > - rstar (Rust) > = > - setuptools-git-versioning (Python) > = > - Clipper2C (C++) > = > - arduino-asyncudp (C++) > = > = > For the remaining packages, I have already started preparing the packagi= ng repositories and Debian branches, but some depend on packages that are = not yet available in Debian or require updates before they can be complete= d. > = > In particular, pyo3-stub-gen currently depends on packages that are alre= ady present in Debian but require updates: > = > - librust-inventory-dev > = > - librust-rustpython-parser-dev > = > - librust-ordered-float-dev > = > = > For these, I have already opened or updated the relevant bug reports. > = > I would appreciate guidance on the following points: > = > - Should the Rust packages be maintained under the Debian Rust Team? > = > - Should the Python packages be maintained under the Debian Python Tea= m? > = > - What would be the preferred maintenance model for the two C++ packag= es? > = > - Should the main Rayforge package be maintained under the Python Team= , the Debian Science Team, or another team? > = > = > For context, I have some previous Debian packaging experience dating bac= k 10=E2=80=9315 years, but this is my first packaging effort involving a d= ependency tree of this size and complexity. > = > Any guidance, review, or suggestions would be greatly appreciated. > = > Many thanks, > = > Mike > = > Michele Cane,PhD > = > = -----------------------788f04a6a24a1d30474077779264ec6b Content-Type: multipart/related;boundary=---------------------05d78131c12c84f08aa5cd1ef8eb3a22 -----------------------05d78131c12c84f08aa5cd1ef8eb3a22 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij5IZWxsbyw8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTog QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkkgYW0gZm9sbG93aW5nIHVwIG9u IG15IHByZXZpb3VzIG1lc3NhZ2Ugbm93IGZvY3VzaW5nIG9ubHkgb24gdGhlIHB5dGhvbiBwYWNr YWdlcy48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZv bnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkkgaGF2ZSBtb3ZlZCB0aGUgNSByZXBvcyB1 bmRlciB0aGUgUHl0aG9uIFRlYW0gbmFtZXNwYWNlLjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFt aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+ PHNwYW4+PGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5l ciIgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL3B5dGhvbi10ZWFtL3BhY2thZ2VzL3Jh eWdlbyI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL3B5dGhvbi10ZWFtL3BhY2thZ2VzL3JheWdl bzwvYT48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3Jl ZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcv cHl0aG9uLXRlYW0vcGFja2FnZXMvcHl0aG9uLXZ0cmFjZXIiPmh0dHBzOi8vc2Fsc2EuZGViaWFu Lm9yZy9weXRob24tdGVhbS9wYWNrYWdlcy9weXRob24tdnRyYWNlcjwvYT48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5v b3BlbmVyIiBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvcHl0aG9uLXRlYW0vcGFja2Fn ZXMvcmF5Zm9yZ2UiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS9wYWNrYWdl cy9yYXlmb3JnZTwvYT48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj48YSB0YXJnZXQ9Il9ibGFuayIg cmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRwczovL3NhbHNhLmRl Ymlhbi5vcmcvcHl0aG9uLXRlYW0vcGFja2FnZXMvcHl2aXBzIj5odHRwczovL3NhbHNhLmRlYmlh bi5vcmcvcHl0aG9uLXRlYW0vcGFja2FnZXMvcHl2aXBzPC9hPjwvc3Bhbj48L2Rpdj48ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxz cGFuPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIi IGhyZWY9Imh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS9wYWNrYWdlcy9weXRo b24tYXN5bmN1ZHAiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS9wYWNrYWdl cy9weXRob24tYXN5bmN1ZHA8L2E+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5 OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+SSBi ZWxpZXZlIHRoZSBsYXN0IHR3byBhcmUgcmVhZHkgZm9yIHJldmlldy4gVGhlc2UgYXJlIG15IGZp cnN0IHR3byBldmVyIHB5dGhvbiBwYWNrYWdlcy4gSSB0cmllZCB0byBmb2xsb3cmbmJzcDsgdGhl IHBhY2thZ2luZyBwb2xpY3kuIEFueSBmZWVkYmFjayB3b3VsZCBiZSBtb3JlIHRoYW4gd2VsY29t ZS48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkEgc2hvcnQgc3VtbWFyeSBvZiB0aGUgc3RhdHVz IG9mIHRoZSB0d28gcGFja2FnZXM6PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48c3Bhbj4mbmJz cDsgcHl0aG9uLWFzeW5jdWRwPC9zcGFuPjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7 IC0gU2Fsc2E6IDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9v cGVuZXIiIGhyZWY9Imh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS9wYWNrYWdl cy9weXRob24tYXN5bmN1ZHAiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS9w YWNrYWdlcy9weXRob24tYXN5bmN1ZHA8L2E+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7 IC0gU291cmNlIHBhY2thZ2U6IHB5dGhvbi1hc3luY3VkcDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFu PiZuYnNwOyAtIEJpbmFyeSBwYWNrYWdlOiBweXRob24zLWFzeW5jdWRwPC9zcGFuPjwvZGl2Pjxk aXY+PHNwYW4+Jm5ic3A7IC0gVmVyc2lvbjogMC4xMS4wLTE8L3NwYW4+PC9kaXY+PGRpdj48c3Bh bj4mbmJzcDsgLSBQdXJlIFB5dGhvbiBhc3luY2lvIFVEUCBoZWxwZXIgbGlicmFyeS48L3NwYW4+ PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgLSBQYWNrYWdpbmcgdXNlcyBweWJ1aWxkIHdpdGggZGgt cHl0aG9uIGFuZCBweXRob24zLWFsbC48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgLSBV cHN0cmVhbSB1bml0dGVzdCBzdWl0ZSBpcyBlbmFibGVkIGFuZCBwYXNzZWQgaW4gc2J1aWxkIGZv ciBQeXRob24gMy4xMyBhbmQgMy4xNC48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgLSBz YnVpbGQgLWQgdW5zdGFibGUgc3VjY2VlZGVkLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNw OyAtIERlZXAgbGludGlhbiBvbmx5IHJlcG9ydGVkIGluaXRpYWwtdXBsb2FkLWNsb3Nlcy1uby1i dWdzIGFuZCBsZWdhY3kgZWdnLWluZm8gaW5mbyB0YWdzLjwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyBweXRob24tcHl2aXBzPC9zcGFuPjwvZGl2PjxkaXY+PGJy PjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7IC0gU2Fsc2E6IDxhIHRhcmdldD0iX2JsYW5rIiByZWw9 Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9Imh0dHBzOi8vc2Fsc2EuZGViaWFu Lm9yZy9weXRob24tdGVhbS9wYWNrYWdlcy9weXZpcHMiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9y Zy9weXRob24tdGVhbS9wYWNrYWdlcy9weXZpcHM8L2E+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+ Jm5ic3A7IC0gU291cmNlIHBhY2thZ2U6IHB5dGhvbi1weXZpcHM8L3NwYW4+PC9kaXY+PGRpdj48 c3Bhbj4mbmJzcDsgLSBCaW5hcnkgcGFja2FnZTogcHl0aG9uMy1weXZpcHM8L3NwYW4+PC9kaXY+ PGRpdj48c3Bhbj4mbmJzcDsgLSBWZXJzaW9uOiAzLjEuMS0xPC9zcGFuPjwvZGl2PjxkaXY+PHNw YW4+Jm5ic3A7IC0gUHl0aG9uIGJpbmRpbmcgZm9yIGxpYnZpcHMuPC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4+Jm5ic3A7IC0gUGFja2FnaW5nIHVzZXMgcHlidWlsZCwgZGgtcHl0aG9uLCBweXRob24z LWFsbC1kZXYsIENGRkksIGFuZCBsaWJ2aXBzLWRldi48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4m bmJzcDsgLSBBcmNoaXRlY3R1cmUgaXMgYW55IGJlY2F1c2UgaXQgYnVpbGRzIHRoZSBfbGlidmlw cyBDRkZJIGV4dGVuc2lvbi48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgLSBSdW50aW1l IGRlcGVuZGVuY3kgdXNlcyBjdXJyZW50IGxpYnZpcHM0MnQ2NC48L3NwYW4+PC9kaXY+PGRpdj48 c3Bhbj4mbmJzcDsgLSBVcHN0cmVhbSBweXRlc3Qgc3VpdGUgaXMgZW5hYmxlZCBhbmQgcGFzc2Vk IGluIHNidWlsZCBmb3IgUHl0aG9uIDMuMTMgYW5kIDMuMTQuPC9zcGFuPjwvZGl2PjxkaXY+PHNw YW4+Jm5ic3A7IC0gc2J1aWxkIC1kIHVuc3RhYmxlIHN1Y2NlZWRlZC48L3NwYW4+PC9kaXY+PGRp dj48c3Bhbj4mbmJzcDsgLSBEZWVwIGxpbnRpYW4gb25seSByZXBvcnRlZCBpbml0aWFsLXVwbG9h ZC1jbG9zZXMtbm8tYnVncy48L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PHNwYW4+PC9zcGFu PlRoYW5rcyBpbiBhZHZhbmNlPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij5NaWtlPC9kaXY+PGRp diBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7 Ij48YnI+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxNHB4OyIgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj4KICAg IDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPgogICAgICAgIE1p Y2hlbGUgQ2FuZSwgUGhECiAgICA8L2Rpdj4KICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJw cm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxv Y2stZW1wdHkiPgogICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CjxkaXYgc3R5bGU9 ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwv ZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiPgogICAgICAgIE9uIEZyaWRheSwgMjkg TWF5IDIwMjYgYXQgMTU6MDMsIE1pY2hlbGUgQ2FuZSAmbHQ7bWljaGVsZS5jYW5lQHByb3Rvbi5t ZSZndDsgd3JvdGU6PGJyPgogICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25tYWlsX3F1 b3RlIiB0eXBlPSJjaXRlIj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFy aWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48L2Rpdj48cD48L3A+PHA+PC9wPjxw PjwvcD48cD5IZWxsbyBSdXN0IGFuZCBQeXRob24gdGVhbXMsPC9wPjxwPkkgYW0gcmVhY2hpbmcg b3V0IGJlY2F1c2UgSSBoYXZlIHN0YXJ0ZWQgd29ya2luZyBvbiBwYWNrYWdpbmcgUmF5Zm9yZ2Ug Zm9yIERlYmlhbi48L3A+PHA+Rm9yIGRldGFpbHMgYWJvdXQgdGhlIHByb2plY3QsIHBsZWFzZSBz ZWUgdGhlIElUUDo8L3A+PHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJp bi9idWdyZXBvcnQuY2dpP2J1Zz0xMTM3NjA3IiBzdHlsZT0id29yZC1icmVhazogYnJlYWstd29y ZDsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPmh0 dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9MTEzNzYwNzwv YT48L3A+PHA+SSBwcmV2aW91c2x5IHJlYWNoZWQgb3V0IHRvIG1lbnRvcnMuZGViaWFuLm5ldCBh bmQgd2FzIGFkdmlzZWQgdG8gdXBsb2FkIG15IHJlcG9zaXRvcmllcyB0byBTYWxzYSBhbmQgY29u dGFjdCB0aGUgcmVsZXZhbnQgdGVhbXMgdG8gc2VlayBndWlkYW5jZSwgcmV2aWV3LCBhbmQgcG90 ZW50aWFsIGluY2x1c2lvbiB1bmRlciB0aGUgYXBwcm9wcmlhdGUgdGVhbS1tYWludGFpbmVkIG5h bWVzcGFjZXMuPC9wPjxwPlRoZSBjdXJyZW50IHBhY2thZ2luZyByZXBvc2l0b3JpZXMgYXJlIGF2 YWlsYWJsZSBvbiBTYWxzYTo8L3A+PHVsPjxsaT48cD5yYXlmb3JnZTogPGEgaHJlZj0iaHR0cHM6 Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcmF5Zm9yZ2UiIHN0eWxlPSJ3b3JkLWJyZWFr OiBicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBu b29wZW5lciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcmF5Zm9yZ2U8L2E+ PC9wPjwvbGk+PGxpPjxwPnJheWdlbzogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn L2hlaXNlcmhvcm4vcmF5Z2VvIiBzdHlsZT0id29yZC1icmVhazogYnJlYWstd29yZDsiIHRhcmdl dD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPmh0dHBzOi8vc2Fs c2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3JheWdlbzwvYT48L3A+PC9saT48bGk+PHA+cHl2aXBz OiA8YSBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9weXZpcHMiIHN0 eWxlPSJ3b3JkLWJyZWFrOiBicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZl cnJlciBub2ZvbGxvdyBub29wZW5lciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhv cm4vcHl2aXBzPC9hPjwvcD48L2xpPjxsaT48cD52dHJhY2VyOiA8YSBocmVmPSJodHRwczovL3Nh bHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi92dHJhY2VyIiBzdHlsZT0id29yZC1icmVhazogYnJl YWstd29yZDsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVu ZXIiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3Z0cmFjZXI8L2E+PC9wPjwv bGk+PGxpPjxwPnZpc2lvbmNvcnRleDogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn L2hlaXNlcmhvcm4vdmlzaW9uY29ydGV4IiBzdHlsZT0id29yZC1icmVhazogYnJlYWstd29yZDsi IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPmh0dHBz Oi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL3Zpc2lvbmNvcnRleDwvYT48L3A+PC9saT48 bGk+PHA+ZmxvX2N1cnZlczogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNl cmhvcm4vZmxvX2N1cnZlcyIgc3R5bGU9IndvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IiB0YXJnZXQ9 Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIj5odHRwczovL3NhbHNh LmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9mbG9fY3VydmVzPC9hPjwvcD48L2xpPjxsaT48cD5jbGlw cGVyMjogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vY2xpcHBl cjIiIHN0eWxlPSJ3b3JkLWJyZWFrOiBicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0i bm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hl aXNlcmhvcm4vY2xpcHBlcjI8L2E+PC9wPjwvbGk+PGxpPjxwPnJzdGFyOiA8YSBocmVmPSJodHRw czovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9yc3RhciIgc3R5bGU9IndvcmQtYnJlYWs6 IGJyZWFrLXdvcmQ7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5v b3BlbmVyIj5odHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9yc3RhcjwvYT48L3A+ PC9saT48bGk+PHA+cHlvMy1zdHViLWdlbjogPGEgaHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4u b3JnL2hlaXNlcmhvcm4vcHlvMy1zdHViLWdlbiIgc3R5bGU9IndvcmQtYnJlYWs6IGJyZWFrLXdv cmQ7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIj5o dHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9weW8zLXN0dWItZ2VuPC9hPjwvcD48 L2xpPjxsaT48cD5zZXR1cHRvb2xzLWdpdC12ZXJzaW9uaW5nOiA8YSBocmVmPSJodHRwczovL3Nh bHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9zZXR1cHRvb2xzLWdpdC12ZXJzaW9uaW5nIiBzdHls ZT0id29yZC1icmVhazogYnJlYWstd29yZDsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJy ZXIgbm9mb2xsb3cgbm9vcGVuZXIiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3Ju L3NldHVwdG9vbHMtZ2l0LXZlcnNpb25pbmc8L2E+PC9wPjwvbGk+PGxpPjxwPmNsaXBwZXIyYy1z eXM6IDxhIGhyZWY9Imh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJob3JuL2NsaXBwZXIy Yy1zeXMiIHN0eWxlPSJ3b3JkLWJyZWFrOiBicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiIHJl bD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn L2hlaXNlcmhvcm4vY2xpcHBlcjJjLXN5czwvYT48L3A+PC9saT48bGk+PHA+Q2xpcHBlcjJDOiA8 YSBocmVmPSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9DbGlwcGVyMkMiIHN0 eWxlPSJ3b3JkLWJyZWFrOiBicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZl cnJlciBub2ZvbGxvdyBub29wZW5lciI+aHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhv cm4vQ2xpcHBlcjJDPC9hPjwvcD48L2xpPjxsaT48cD5hcmR1aW5vLWFzeW5jdWRwOiA8YSBocmVm PSJodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9hcmR1aW5vLWFzeW5jdWRwIiBz dHlsZT0id29yZC1icmVhazogYnJlYWstd29yZDsiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVm ZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9oZWlzZXJo b3JuL2FyZHVpbm8tYXN5bmN1ZHA8L2E+PC9wPjwvbGk+PC91bD48cD5UaGUgZm9sbG93aW5nIHBh Y2thZ2VzIGhhdmUgYmVlbiBpZGVudGlmaWVkIGFzIGRpcmVjdCBvciBpbmRpcmVjdCBkZXBlbmRl bmNpZXMgb2YgUmF5Zm9yZ2UgKHRoZSBsaXN0IG1heSBub3QgeWV0IGJlIGV4aGF1c3RpdmUpOjwv cD48cD5SdXN0OjwvcD48dWw+PGxpPjxwPnJheWdlbzwvcD48L2xpPjxsaT48cD52dHJhY2VyPC9w PjwvbGk+PGxpPjxwPnZpc2lvbmNvcnRleDwvcD48L2xpPjxsaT48cD5mbG9fY3VydmVzPC9wPjwv bGk+PGxpPjxwPmNsaXBwZXIyPC9wPjwvbGk+PGxpPjxwPnJzdGFyPC9wPjwvbGk+PGxpPjxwPnB5 bzMtc3R1Yi1nZW48L3A+PC9saT48bGk+PHA+Y2xpcHBlcjJjLXN5czwvcD48L2xpPjwvdWw+PHA+ UHl0aG9uOjwvcD48dWw+PGxpPjxwPnB5dmlwczwvcD48L2xpPjxsaT48cD5zZXR1cHRvb2xzLWdp dC12ZXJzaW9uaW5nPC9wPjwvbGk+PC91bD48cD5DKys6PC9wPjx1bD48bGk+PHA+Q2xpcHBlcjJD PC9wPjwvbGk+PGxpPjxwPmFyZHVpbm8tYXN5bmN1ZHA8L3A+PC9saT48L3VsPjxwPkN1cnJlbnQg c3RhdHVzOjwvcD48cD5UaGUgZm9sbG93aW5nIHBhY2thZ2VzIGFyZSBsaW50aWFuLWNsZWFuIGFu ZCBidWlsZCBzdWNjZXNzZnVsbHkgd2l0aCBzYnVpbGQgdXNpbmcgb25seSBkZXBlbmRlbmNpZXMg YWxyZWFkeSBhdmFpbGFibGUgaW4gRGViaWFuOjwvcD48dWw+PGxpPjxwPmZsb19jdXJ2ZXMgKFJ1 c3QpPC9wPjwvbGk+PGxpPjxwPnJzdGFyIChSdXN0KTwvcD48L2xpPjxsaT48cD5zZXR1cHRvb2xz LWdpdC12ZXJzaW9uaW5nIChQeXRob24pPC9wPjwvbGk+PGxpPjxwPkNsaXBwZXIyQyAoQysrKTwv cD48L2xpPjxsaT48cD5hcmR1aW5vLWFzeW5jdWRwIChDKyspPC9wPjwvbGk+PC91bD48cD5Gb3Ig dGhlIHJlbWFpbmluZyBwYWNrYWdlcywgSSBoYXZlIGFscmVhZHkgc3RhcnRlZCBwcmVwYXJpbmcg dGhlIHBhY2thZ2luZyByZXBvc2l0b3JpZXMgYW5kIERlYmlhbiBicmFuY2hlcywgYnV0IHNvbWUg ZGVwZW5kIG9uIHBhY2thZ2VzIHRoYXQgYXJlIG5vdCB5ZXQgYXZhaWxhYmxlIGluIERlYmlhbiBv ciByZXF1aXJlIHVwZGF0ZXMgYmVmb3JlIHRoZXkgY2FuIGJlIGNvbXBsZXRlZC48L3A+PHA+SW4g cGFydGljdWxhciwgcHlvMy1zdHViLWdlbiBjdXJyZW50bHkgZGVwZW5kcyBvbiBwYWNrYWdlcyB0 aGF0IGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gRGViaWFuIGJ1dCByZXF1aXJlIHVwZGF0ZXM6PC9w Pjx1bD48bGk+PHA+bGlicnVzdC1pbnZlbnRvcnktZGV2PC9wPjwvbGk+PGxpPjxwPmxpYnJ1c3Qt cnVzdHB5dGhvbi1wYXJzZXItZGV2PC9wPjwvbGk+PGxpPjxwPmxpYnJ1c3Qtb3JkZXJlZC1mbG9h dC1kZXY8L3A+PC9saT48L3VsPjxwPkZvciB0aGVzZSwgSSBoYXZlIGFscmVhZHkgb3BlbmVkIG9y IHVwZGF0ZWQgdGhlIHJlbGV2YW50IGJ1ZyByZXBvcnRzLjwvcD48cD5JIHdvdWxkIGFwcHJlY2lh dGUgZ3VpZGFuY2Ugb24gdGhlIGZvbGxvd2luZyBwb2ludHM6PC9wPjx1bD48bGk+PHA+U2hvdWxk IHRoZSBSdXN0IHBhY2thZ2VzIGJlIG1haW50YWluZWQgdW5kZXIgdGhlIERlYmlhbiBSdXN0IFRl YW0/PC9wPjwvbGk+PGxpPjxwPlNob3VsZCB0aGUgUHl0aG9uIHBhY2thZ2VzIGJlIG1haW50YWlu ZWQgdW5kZXIgdGhlIERlYmlhbiBQeXRob24gVGVhbT88L3A+PC9saT48bGk+PHA+V2hhdCB3b3Vs ZCBiZSB0aGUgcHJlZmVycmVkIG1haW50ZW5hbmNlIG1vZGVsIGZvciB0aGUgdHdvIEMrKyBwYWNr YWdlcz88L3A+PC9saT48bGk+PHA+U2hvdWxkIHRoZSBtYWluIFJheWZvcmdlIHBhY2thZ2UgYmUg bWFpbnRhaW5lZCB1bmRlciB0aGUgUHl0aG9uIFRlYW0sIHRoZSBEZWJpYW4gU2NpZW5jZSBUZWFt LCBvciBhbm90aGVyIHRlYW0/PC9wPjwvbGk+PC91bD48cD5Gb3IgY29udGV4dCwgSSBoYXZlIHNv bWUgcHJldmlvdXMgRGViaWFuIHBhY2thZ2luZyBleHBlcmllbmNlIGRhdGluZyBiYWNrIDEw4oCT MTUgeWVhcnMsIGJ1dCB0aGlzIGlzIG15IGZpcnN0IHBhY2thZ2luZyBlZmZvcnQgaW52b2x2aW5n IGEgZGVwZW5kZW5jeSB0cmVlIG9mIHRoaXMgc2l6ZSBhbmQgY29tcGxleGl0eS48L3A+PHA+QW55 IGd1aWRhbmNlLCByZXZpZXcsIG9yIHN1Z2dlc3Rpb25zIHdvdWxkIGJlIGdyZWF0bHkgYXBwcmVj aWF0ZWQuPC9wPjxwPk1hbnkgdGhhbmtzLDwvcD48cCBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFs LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tn cm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPk1pa2U8L3A+PHA+TWljaGVsZSBDYW5l LFBoRDwvcD48cD48YnI+PC9wPjxwPjwvcD48cD48L3A+PHA+PC9wPjxkaXYgc3R5bGU9ImZvbnQt ZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyIgY2xhc3M9InByb3Rv bm1haWxfc2lnbmF0dXJlX2Jsb2NrIj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9i bG9jay11c2VyIj48L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2ln bmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+Cgog ICAgICAgICAgICA8L2Rpdj4KPC9kaXY+CgogICAgICAgIDwvYmxvY2txdW90ZT48YnI+CiAgICA8 L2Rpdj4= -----------------------05d78131c12c84f08aa5cd1ef8eb3a22-- -----------------------788f04a6a24a1d30474077779264ec6b-- -----------------------145ee35e5ca9338ba7e6e3e35093c913 Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0xC017295D.asc"; name="publickey - [email protected] - 0xC017295D.asc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="publickey - [email protected] - 0xC017295D.asc"; name="publickey - [email protected] - 0xC017295D.asc" LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWWtyR1N4WUpLd1lCQkFI YVJ3OEJBUWRBSVRTb0djUkJVZFZZQ2poazdlcE9WWDhtak9PRXFPelgKZjI0bUpWd1pLNDdOTDIx cFkyaGxiR1V1WTJGdVpVQndjbTkwYjI0dWJXVWdQRzFwWTJobGJHVXVZMkZ1ClpVQndjbTkwYjI0 dWJXVSt3bzhFRUJZS0FDQUZBbUpLeGtzR0N3a0hDQU1DQkJVSUNnSUVGZ0lCQUFJWgpBUUliQXdJ ZUFRQWhDUkNrUnNyaEZFd3NtaFloQk1BWEtWMW1SeDlFaEFxU1BxUkd5dUVVVEN5YVk3Z0EKL2lX TEZadzMva1BycjZNTDQyMC9JeWdZNGlBbGZpNlZmVnd0ZkRQZ1FDak1BUURZZUtEeEtJSXpWckpQ CmF6NVhvbCtpT0hzMFNKV0twb0FsdjIzZWV6Y3dBYzQ0QkdKS3hrc1NDaXNHQVFRQmwxVUJCUUVC QjBEdQp4NkdOR1NTZXhKSEFUSWlIYU1zSGc0L2ZpeGJGb1NPZm96ZzZsQ1BZZFFNQkNBZkNlQVFZ RmdnQUNRVUMKWWtyR1N3SWJEQUFoQ1JDa1JzcmhGRXdzbWhZaEJNQVhLVjFtUng5RWhBcVNQcVJH eXVFVVRDeWFpSWdCCkFNdG4wMmloaGx5VnV1YXNUclZYbDdjdVpJelNLZ1ZyRkowUnpoMTZrOUE3 QVFEMkt0R2lSQ1BlalNOQQorS1lYYmJOcVU1OGlPQm5yWGVoOEE3MExobTZBQmc9PQo9LzF2dwot LS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCg== -----------------------145ee35e5ca9338ba7e6e3e35093c913-- --------1dfd05eda15e651d05f6d897e298ab5b6a9257f089aae6dbadfbbb038700d3e0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: ProtonMail wrsEARYKAG0Fgmo2NQ8JEKRGyuEUTCyaRRQAAAAAABwAIHNhbHRAbm90YXRp b25zLm9wZW5wZ3Bqcy5vcmc9gL+QIIcuQC72AoSErqqeeb75/kDAqPxPPlhE +kLoQRYhBMAXKV1mRx9EhAqSPqRGyuEUTCyaAABz2AD/dbjWYekbX04Fq/Ru nY1TuRG4gYzi4VBleLKRjB8Lf80A/0jrBx00RfFte8KJHqcnjeUWkGJyQMqy Iw3MsZz+ZBMJ =zbZM -----END PGP SIGNATURE----- --------1dfd05eda15e651d05f6d897e298ab5b6a9257f089aae6dbadfbbb038700d3e0--