Request to join Debian Python Team Salsa namespace

Michele Cane <[email protected]> Thu, 18 Jun 2026 08:18:30 +0000
Newsgroups gmane.linux.debian.devel.python
Message-ID <hVMDxM6BjP2mvyVk1jdmAyuZSNW5mb1omNLr0jo1X9Aq1FSaNUQOKpl40x-MZ6UOj3Asw2xdd6SdCUG7VlA18Mys1nTdfK5AqacJdQoEwLE=@proton.me>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------7844b434f24757c0e66edcdab371b9c36e49ca650efd354c49f74b0290ba12b9
Content-Type: multipart/mixed;boundary=---------------------ae310e8b9b578bc164feebb6c26c1d63

-----------------------ae310e8b9b578bc164feebb6c26c1d63
Content-Type: multipart/alternative;boundary=---------------------2ba6d6c5f2cebbf18e6ab182a69adfd8

-----------------------2ba6d6c5f2cebbf18e6ab182a69adfd8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8

Hello Debian Python Team,
=C2=A0 I would like to request access to the Debian Python Team Salsa name=
space.

=C2=A0 My Salsa login is: heiserhorn

=C2=A0 I am working on packaging Rayforge for Debian. The related ITP is:

=C2=A0 =C2=A0 #1137607 ITP: rayforge
=C2=A0 =C2=A0 https://bugs.debian.org/1137607

=C2=A0 Rayforge is a Python desktop application for laser cutting and engr=
aving. I would like to maintain the Python parts of this dependency chain =
in a team-maintainable way under the Debian Python Team, following the tea=
m workflow.

=C2=A0 Current Python packaging work includes:

=C2=A0 =C2=A0 * python-asyncudp
=C2=A0 =C2=A0 =C2=A0 - Salsa repo currently under my namespace:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://salsa.debian.org/heiserhorn/python-asy=
ncudp
=C2=A0 =C2=A0 =C2=A0 - Imported from the PyPI release tarball using gbp/pr=
istine-tar.
=C2=A0 =C2=A0 =C2=A0 - Branches: debian/sid, upstream, pristine-tar.
=C2=A0 =C2=A0 =C2=A0 - Builds successfully with sbuild.
=C2=A0 =C2=A0 =C2=A0 - Deep lintian has no errors.

=C2=A0 =C2=A0 * python-pyvips
=C2=A0 =C2=A0 =C2=A0 - Salsa repo currently under my namespace:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://salsa.debian.org/heiserhorn/pyvips
=C2=A0 =C2=A0 =C2=A0 - Imported/maintained with upstream, pristine-tar, an=
d debian/sid branches.
=C2=A0 =C2=A0 =C2=A0 - Updated packaging for current Debian sid libvips tr=
ansition.
=C2=A0 =C2=A0 =C2=A0 - Builds successfully with sbuild.
=C2=A0 =C2=A0 =C2=A0 - Upstream tests pass for supported Python versions.
=C2=A0 =C2=A0 =C2=A0 - Deep lintian currently only reports the expected in=
itial-upload-closes-no-bugs warning.

=C2=A0 Remaining Python packages in the Rayforge chain are:

=C2=A0 =C2=A0 * raygeo / python3-raygeo
=C2=A0 =C2=A0 =C2=A0 - Needed by Rayforge.
=C2=A0 =C2=A0 =C2=A0 - Packaging is blocked on the Clipper2 chain:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Clipper2C -> clipper2c-sys -> clipper2 -> rayg=
eo.
=C2=A0 =C2=A0 =C2=A0 - rstar is already available in Debian, but raygeo st=
ill needs clipper2.

=C2=A0 =C2=A0 * vtracer / python3-vtracer
=C2=A0 =C2=A0 =C2=A0 - Needed by Rayforge.
=C2=A0 =C2=A0 =C2=A0 - Python package is blocked on the Rust vtracer/visio=
ncortex chain.
=C2=A0 =C2=A0 =C2=A0 - The Rust vtracer packaging has already been prepare=
d and built locally against local visioncortex packages.

=C2=A0 =C2=A0 * rayforge
=C2=A0 =C2=A0 =C2=A0 - Final application package.
=C2=A0 =C2=A0 =C2=A0 - Current Debian packaging already tracks dependencie=
s on python3-asyncudp, python3-pyvips, python3-raygeo, and python3-vtracer=
.
=C2=A0 =C2=A0 =C2=A0 - Upload-readiness depends on the above Python/Rust/C=
++ dependency chain becoming available in Debian.

=C2=A0 =C2=A0Related Rust/C++ progress already done in support of this Pyt=
hon packaging work:
=C2=A0 =C2=A0 * rstar: accepted in Debian unstable.
=C2=A0 =C2=A0 * source-location: packaged, merged in the Debian Rust Team =
repository, and accepted in Debian unstable.
=C2=A0 =C2=A0 * flo_curves: accepted in Debian unstable. Follow-up i386 te=
st fix MR prepared.
=C2=A0 =C2=A0 * visioncortex: packaged, MR opened, CI passed.
=C2=A0 =C2=A0 * vtracer: packaging prepared and successfully built locally=
 against local visioncortex packages.
=C2=A0 =C2=A0 * Clipper2C: standalone C++ packaging prepared and pushed.
=C2=A0 =C2=A0 * clipper2c-sys and clipper2: Rust packaging prepared and lo=
cally validated against local Clipper2C packages, waiting for the C++ depe=
ndency to be available in Debian.


=C2=A0 I have read the Debian Python Team policy:

=C2=A0 =C2=A0 https://salsa.debian.org/python-team/tools/python-modules/-/=
blob/master/policy.rst

=C2=A0 and I accept it. I intend to follow the team workflow, including us=
ing upstream release tarballs, pristine-tar, and team-maintainable packagi=
ng suitable for transfer into python-team/packages.

=C2=A0 Thank you,
=C2=A0 Mike

Michele Cane, PhD
-----------------------2ba6d6c5f2cebbf18e6ab182a69adfd8
Content-Type: multipart/related;boundary=---------------------d4486123f7a2fe4f8c81f6e218c6c072

-----------------------d4486123f7a2fe4f8c81f6e218c6c072
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64

PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0
cHg7Ij48c3Bhbj5IZWxsbyBEZWJpYW4gUHl0aG9uIFRlYW0sPC9zcGFuPjxkaXY+PGJyPjwvZGl2
PjxkaXY+PHNwYW4+Jm5ic3A7IEkgd291bGQgbGlrZSB0byByZXF1ZXN0IGFjY2VzcyB0byB0aGUg
RGViaWFuIFB5dGhvbiBUZWFtIFNhbHNhIG5hbWVzcGFjZS48L3NwYW4+PC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgTXkgU2Fsc2EgbG9naW4gaXM6IGhlaXNlcmhvcm48L3Nw
YW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgSSBhbSB3b3JraW5nIG9u
IHBhY2thZ2luZyBSYXlmb3JnZSBmb3IgRGViaWFuLiBUaGUgcmVsYXRlZCBJVFAgaXM6PC9zcGFu
PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAjMTEzNzYwNyBJ
VFA6IHJheWZvcmdlPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyA8YSB0YXJn
ZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIiBocmVmPSJodHRw
czovL2J1Z3MuZGViaWFuLm9yZy8xMTM3NjA3Ij5odHRwczovL2J1Z3MuZGViaWFuLm9yZy8xMTM3
NjA3PC9hPjwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyBSYXlm
b3JnZSBpcyBhIFB5dGhvbiBkZXNrdG9wIGFwcGxpY2F0aW9uIGZvciBsYXNlciBjdXR0aW5nIGFu
ZCBlbmdyYXZpbmcuIEkgd291bGQgbGlrZSB0byBtYWludGFpbiB0aGUgUHl0aG9uIHBhcnRzIG9m
IHRoaXMgZGVwZW5kZW5jeSBjaGFpbiBpbiBhIHRlYW0tbWFpbnRhaW5hYmxlIHdheSB1bmRlciB0
aGUgRGViaWFuIFB5dGhvbiBUZWFtLCBmb2xsb3dpbmcgdGhlIHRlYW0gd29ya2Zsb3cuPC9zcGFu
PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7IEN1cnJlbnQgUHl0aG9uIHBh
Y2thZ2luZyB3b3JrIGluY2x1ZGVzOjwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxz
cGFuPiZuYnNwOyAmbmJzcDsgKiBweXRob24tYXN5bmN1ZHA8L3NwYW4+PC9kaXY+PGRpdj48c3Bh
bj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAtIFNhbHNhIHJlcG8gY3VycmVudGx5IHVuZGVyIG15IG5h
bWVzcGFjZTo8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIg
aHJlZj0iaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcHl0aG9uLWFzeW5jdWRw
Ij5odHRwczovL3NhbHNhLmRlYmlhbi5vcmcvaGVpc2VyaG9ybi9weXRob24tYXN5bmN1ZHA8L2E+
PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgLSBJbXBvcnRlZCBm
cm9tIHRoZSBQeVBJIHJlbGVhc2UgdGFyYmFsbCB1c2luZyBnYnAvcHJpc3RpbmUtdGFyLjwvc3Bh
bj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgJm5ic3A7IC0gQnJhbmNoZXM6IGRlYmlh
bi9zaWQsIHVwc3RyZWFtLCBwcmlzdGluZS10YXIuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgLSBCdWlsZHMgc3VjY2Vzc2Z1bGx5IHdpdGggc2J1aWxkLjwvc3Bh
bj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgJm5ic3A7IC0gRGVlcCBsaW50aWFuIGhh
cyBubyBlcnJvcnMuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7
ICZuYnNwOyAqIHB5dGhvbi1weXZpcHM8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5i
c3A7ICZuYnNwOyAtIFNhbHNhIHJlcG8gY3VycmVudGx5IHVuZGVyIG15IG5hbWVzcGFjZTo8L3Nw
YW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPGEgdGFyZ2V0
PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgaHJlZj0iaHR0cHM6
Ly9zYWxzYS5kZWJpYW4ub3JnL2hlaXNlcmhvcm4vcHl2aXBzIj5odHRwczovL3NhbHNhLmRlYmlh
bi5vcmcvaGVpc2VyaG9ybi9weXZpcHM8L2E+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgLSBJbXBvcnRlZC9tYWludGFpbmVkIHdpdGggdXBzdHJlYW0sIHByaXN0
aW5lLXRhciwgYW5kIGRlYmlhbi9zaWQgYnJhbmNoZXMuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgLSBVcGRhdGVkIHBhY2thZ2luZyBmb3IgY3VycmVudCBEZWJp
YW4gc2lkIGxpYnZpcHMgdHJhbnNpdGlvbi48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAtIEJ1aWxkcyBzdWNjZXNzZnVsbHkgd2l0aCBzYnVpbGQuPC9zcGFuPjwv
ZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgLSBVcHN0cmVhbSB0ZXN0cyBwYXNz
IGZvciBzdXBwb3J0ZWQgUHl0aG9uIHZlcnNpb25zLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZu
YnNwOyAmbmJzcDsgJm5ic3A7IC0gRGVlcCBsaW50aWFuIGN1cnJlbnRseSBvbmx5IHJlcG9ydHMg
dGhlIGV4cGVjdGVkIGluaXRpYWwtdXBsb2FkLWNsb3Nlcy1uby1idWdzIHdhcm5pbmcuPC9zcGFu
PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7IFJlbWFpbmluZyBQeXRob24g
cGFja2FnZXMgaW4gdGhlIFJheWZvcmdlIGNoYWluIGFyZTo8L3NwYW4+PC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICogcmF5Z2VvIC8gcHl0aG9uMy1yYXlnZW88
L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAtIE5lZWRlZCBieSBS
YXlmb3JnZS48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAtIFBh
Y2thZ2luZyBpcyBibG9ja2VkIG9uIHRoZSBDbGlwcGVyMiBjaGFpbjo8L3NwYW4+PC9kaXY+PGRp
dj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQ2xpcHBlcjJDIC0mZ3Q7IGNsaXBw
ZXIyYy1zeXMgLSZndDsgY2xpcHBlcjIgLSZndDsgcmF5Z2VvLjwvc3Bhbj48L2Rpdj48ZGl2Pjxz
cGFuPiZuYnNwOyAmbmJzcDsgJm5ic3A7IC0gcnN0YXIgaXMgYWxyZWFkeSBhdmFpbGFibGUgaW4g
RGViaWFuLCBidXQgcmF5Z2VvIHN0aWxsIG5lZWRzIGNsaXBwZXIyLjwvc3Bhbj48L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgKiB2dHJhY2VyIC8gcHl0aG9uMy12
dHJhY2VyPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgLSBOZWVk
ZWQgYnkgUmF5Zm9yZ2UuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgLSBQeXRob24gcGFja2FnZSBpcyBibG9ja2VkIG9uIHRoZSBSdXN0IHZ0cmFjZXIvdmlzaW9u
Y29ydGV4IGNoYWluLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgJm5ic3A7
IC0gVGhlIFJ1c3QgdnRyYWNlciBwYWNrYWdpbmcgaGFzIGFscmVhZHkgYmVlbiBwcmVwYXJlZCBh
bmQgYnVpbHQgbG9jYWxseSBhZ2FpbnN0IGxvY2FsIHZpc2lvbmNvcnRleCBwYWNrYWdlcy48L3Nw
YW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICogcmF5Zm9y
Z2U8L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAtIEZpbmFsIGFw
cGxpY2F0aW9uIHBhY2thZ2UuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgLSBDdXJyZW50IERlYmlhbiBwYWNrYWdpbmcgYWxyZWFkeSB0cmFja3MgZGVwZW5kZW5j
aWVzIG9uIHB5dGhvbjMtYXN5bmN1ZHAsIHB5dGhvbjMtcHl2aXBzLCBweXRob24zLXJheWdlbywg
YW5kIHB5dGhvbjMtdnRyYWNlci48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAtIFVwbG9hZC1yZWFkaW5lc3MgZGVwZW5kcyBvbiB0aGUgYWJvdmUgUHl0aG9uL1J1
c3QvQysrIGRlcGVuZGVuY3kgY2hhaW4gYmVjb21pbmcgYXZhaWxhYmxlIGluIERlYmlhbi48L3Nw
YW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgPHNwYW4+Jm5ic3A7UmVs
YXRlZCBSdXN0L0MrKyBwcm9ncmVzcyBhbHJlYWR5IGRvbmUgaW4gc3VwcG9ydCBvZiB0aGlzIFB5
dGhvbiBwYWNrYWdpbmcgd29yazo8L3NwYW4+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj4mbmJz
cDsgJm5ic3A7ICogcnN0YXI6IGFjY2VwdGVkIGluIERlYmlhbiB1bnN0YWJsZS48L3NwYW4+PC9k
aXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7ICogc291cmNlLWxvY2F0aW9uOiBwYWNrYWdlZCwg
bWVyZ2VkIGluIHRoZSBEZWJpYW4gUnVzdCBUZWFtIHJlcG9zaXRvcnksIGFuZCBhY2NlcHRlZCBp
biBEZWJpYW4gdW5zdGFibGUuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyAq
IGZsb19jdXJ2ZXM6IGFjY2VwdGVkIGluIERlYmlhbiB1bnN0YWJsZS4gRm9sbG93LXVwIGkzODYg
dGVzdCBmaXggTVIgcHJlcGFyZWQuPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNw
OyAqIHZpc2lvbmNvcnRleDogcGFja2FnZWQsIE1SIG9wZW5lZCwgQ0kgcGFzc2VkLjwvc3Bhbj48
L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgKiB2dHJhY2VyOiBwYWNrYWdpbmcgcHJlcGFy
ZWQgYW5kIHN1Y2Nlc3NmdWxseSBidWlsdCBsb2NhbGx5IGFnYWluc3QgbG9jYWwgdmlzaW9uY29y
dGV4IHBhY2thZ2VzLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgKiBDbGlw
cGVyMkM6IHN0YW5kYWxvbmUgQysrIHBhY2thZ2luZyBwcmVwYXJlZCBhbmQgcHVzaGVkLjwvc3Bh
bj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgKiBjbGlwcGVyMmMtc3lzIGFuZCBjbGlw
cGVyMjogUnVzdCBwYWNrYWdpbmcgcHJlcGFyZWQgYW5kIGxvY2FsbHkgdmFsaWRhdGVkIGFnYWlu
c3QgbG9jYWwgQ2xpcHBlcjJDIHBhY2thZ2VzLCB3YWl0aW5nIGZvciB0aGUgQysrIGRlcGVuZGVu
Y3kgdG8gYmUgYXZhaWxhYmxlIGluIERlYmlhbi48L3NwYW4+PC9kaXY+PHNwYW4+PC9zcGFuPjwv
c3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOzwvc3Bhbj48L2Rpdj48
ZGl2PjxzcGFuPiZuYnNwOyBJIGhhdmUgcmVhZCB0aGUgRGViaWFuIFB5dGhvbiBUZWFtIHBvbGlj
eTo8L3NwYW4+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IDxh
IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIGhyZWY9
Imh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRob24tdGVhbS90b29scy9weXRob24tbW9kdWxl
cy8tL2Jsb2IvbWFzdGVyL3BvbGljeS5yc3QiPmh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9weXRo
b24tdGVhbS90b29scy9weXRob24tbW9kdWxlcy8tL2Jsb2IvbWFzdGVyL3BvbGljeS5yc3Q8L2E+
PC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7IGFuZCBJIGFjY2Vw
dCBpdC4gSSBpbnRlbmQgdG8gZm9sbG93IHRoZSB0ZWFtIHdvcmtmbG93LCBpbmNsdWRpbmcgdXNp
bmcgdXBzdHJlYW0gcmVsZWFzZSB0YXJiYWxscywgcHJpc3RpbmUtdGFyLCBhbmQgdGVhbS1tYWlu
dGFpbmFibGUgcGFja2FnaW5nIHN1aXRhYmxlIGZvciB0cmFuc2ZlciBpbnRvIHB5dGhvbi10ZWFt
L3BhY2thZ2VzLjwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyBU
aGFuayB5b3UsPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7IE1pa2U8L3NwYW4+PC9kaXY+
PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9u
dC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws
IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiIGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVy
ZV9ibG9jayI+CiAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay11c2Vy
Ij4KICAgICAgICBNaWNoZWxlIENhbmUsIFBoRAogICAgPC9kaXY+CiAgICAKICAgICAgICAgICAg
PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxf
c2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij4KICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CjwvZGl2
Pgo=
-----------------------d4486123f7a2fe4f8c81f6e218c6c072--
-----------------------2ba6d6c5f2cebbf18e6ab182a69adfd8--
-----------------------ae310e8b9b578bc164feebb6c26c1d63
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==
-----------------------ae310e8b9b578bc164feebb6c26c1d63--

--------7844b434f24757c0e66edcdab371b9c36e49ca650efd354c49f74b0290ba12b9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wrsEARYKAG0FgmozqcwJEKRGyuEUTCyaRRQAAAAAABwAIHNhbHRAbm90YXRp
b25zLm9wZW5wZ3Bqcy5vcmcjN1Prs/EJUQiaiwe7tD3eZxi00CUdRvl3xK2i
9DUIuxYhBMAXKV1mRx9EhAqSPqRGyuEUTCyaAACbTQD+JqOBQ9PYK+Sz8wiu
50VDPhBT2HQRdPQuGQk4zUd405EBAMWt+7GrVUDEvF9x/k7pxZqHjsYrB4tY
aoqeCSJ3vUAE
=1d4E
-----END PGP SIGNATURE-----


--------7844b434f24757c0e66edcdab371b9c36e49ca650efd354c49f74b0290ba12b9--