GStreamer 1.28.1 stable bug fix release

Tim-Philipp Müller via gstreamer-devel <[email protected]> Thu, 26 Feb 2026 03:31:23 +0000
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <[email protected]>
--=-/3CL9wVIXduTHAF9INGo
Content-Type: multipart/mixed; boundary="=-ubjLlBTSI5Ghyt5/FaZ1"

--=-ubjLlBTSI5Ghyt5/FaZ1
Content-Type: multipart/alternative; boundary="=-zowKZZUrp/I6mm6ao4Z9"

--=-zowKZZUrp/I6mm6ao4Z9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The GStreamer team is pleased to announce the first bug fix release in
the new stable 1.28 release series.

This release contains bug fixes and important security fixes. It should
be safe to upgrade from 1.28.0, and we recommend you do so at your
earliest convenience.


Release notes=C2=A0with details about changes and fixed bugs can be found
at:

   https://gstreamer.freedesktop.org/releases/1.28/#1.28.1


Highlights:

 * Various security fixes and playback fixes
 * Add new whisper-based speech-to-text transcription element
 * Add new debugseimetainserter plugin for testing SEI meta insertion
 * Fix scaling and resizing with UIView on EAGL and Vulkan
 * Reverse playback and gap handling fixes in various components
 * avviddec: Handle field/order changes in mixed interlace mode
 * awstranscriber2: workaround for suspected Rust SDK regression
 * cudaupload, cudadownload: Fix CUDA/GL interop copy path
 * decodebin3: Fix switch to smaller collections and improve collection
   change on existing pad
 * devenv: Add a subproject for providing the LunarG MoltenVK SDK
 * livesync: fixes and reverse playback handling; ignore upstream
   latency when upstream is not live
 * objectdetectionoverlay: add support for rotated bounding boxes
 * qml6glsrc: Fix rendering of scene with clipped items
 * speechmatics: allow configuring audio events such as detecting
   applause, laughter and music
 * livekit webrtc: emit session-requested only for Producer role
 * tsdemux: Fix Continuity Counter handling and handle clock
   change/resets without skew correction
 * v4l2: Add support for AV1 stateful V4l2 decoder
 * vpxdec: Support downstream pools with alignment requirements
 * vtdec, vtenc: Lots of Apple VideoToolbox decoder and encoder fixes
 * applemedia build improvements, patches for tvOS support, tvos cross
   file=C2=A0
 * wavpack: Fix handling of format changes, extend parser with new
   features, handle non-S32 samples
 * webrtcsink: allow specifying custom headers to signalling server
 * webrtcsink: negotiate profile and level for input encoded in H.264
 * webrtcsrc: add request type pads and allow sending encoded data
   downstream
 * cerbero: wheel: Add a new `gstreamer_meta` package with fewer deps
 * Various bug fixes, build fixes, memory leak fixes, and other
   stability and reliability improvements

Many thanks to everyone who contributed to this release!

For details of our security fixes, please check out our security center
at

   https://gstreamer.freedesktop.org/security/

Binaries for Android, iOS, Mac OS X and Windows should be available
soon.

As always, please let us know of any issues you run into by filing an
issue or Merge Request in=C2=A0GitLab [1]:

Thanks!



[1] GitLab https://gitlab.freedesktop.org/gstreamer/gstreamer/

--=-zowKZZUrp/I6mm6ao4Z9
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html><head><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style></head><body style=3D"overflow-wrap: break-word; -webkit-nbsp-mode:=
 space; line-break: after-white-space;" link=3D"#0000ff" vlink=3D"#ff0000" =
bgcolor=3D"#ffffff"><p></p><div>The GStreamer team is pleased to announce t=
he first bug fix release in the new stable 1.28 release series.</div><div><=
br></div><div>This release contains bug fixes and important security fixes.=
 It should be safe to upgrade from 1.28.0, and we recommend you do so at yo=
ur earliest convenience.</div><div><br></div><div><br></div><div style=3D"c=
aret-color: rgb(46, 52, 54); color: rgb(46, 52, 54); font-family: Cantarell=
; font-size: 14.666667px; font-style: normal; font-variant-caps: normal; fo=
nt-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; t=
ext-indent: 0px; text-transform: none; white-space: normal; widows: auto; w=
ord-spacing: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.4); -webkit-=
text-stroke-width: 0px; text-decoration: none;"><b>Release notes</b><span s=
tyle=3D"font-weight: 400;"><span class=3D"Apple-converted-space">&nbsp;</sp=
an>with details about changes and fixed bugs can be found at:</span></div><=
div style=3D"caret-color: rgb(46, 52, 54); color: rgb(46, 52, 54); font-fam=
ily: Cantarell; font-size: 14.666667px; font-style: normal; font-variant-ca=
ps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-a=
lign: start; text-indent: 0px; text-transform: none; white-space: normal; w=
idows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, =
0.4); -webkit-text-stroke-width: 0px; text-decoration: none;"><br></div><di=
v style=3D"caret-color: rgb(46, 52, 54); color: rgb(46, 52, 54); font-famil=
y: Cantarell; font-size: 14.666667px; font-style: normal; font-variant-caps=
: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-ali=
gn: start; text-indent: 0px; text-transform: none; white-space: normal; wid=
ows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.=
4); -webkit-text-stroke-width: 0px; text-decoration: none; margin-left: 3ch=
;"><a href=3D"https://gstreamer.freedesktop.org/releases/1.28/#1.28.1" styl=
e=3D"color: rgb(46, 52, 54);">https://gstreamer.freedesktop.org/releases/1.=
28/#1.28.1</a></div><div><br></div><div><br></div><div><b>Highlights:</b></=
div><div><b><br></b></div><ul><li>Various security fixes and playback fixes=
</li><li>Add new whisper-based speech-to-text transcription element</li><li=
>Add new debugseimetainserter plugin for testing SEI meta insertion</li><li=
>Fix scaling and resizing with UIView on EAGL and Vulkan</li><li>Reverse pl=
ayback and gap handling fixes in various components</li><li>avviddec: Handl=
e field/order changes in mixed interlace mode</li><li>awstranscriber2: work=
around for suspected Rust SDK regression</li><li>cudaupload, cudadownload: =
Fix CUDA/GL interop copy path</li><li>decodebin3: Fix switch to smaller col=
lections and improve collection change on existing pad</li><li>devenv: Add =
a subproject for providing the LunarG MoltenVK SDK</li><li>livesync: fixes =
and reverse playback handling; ignore upstream latency when upstream is not=
 live</li><li>objectdetectionoverlay: add support for rotated bounding boxe=
s</li><li>qml6glsrc: Fix rendering of scene with clipped items</li><li>spee=
chmatics: allow configuring audio events such as detecting applause, laught=
er and music</li><li>livekit webrtc: emit session-requested only for Produc=
er role</li><li>tsdemux: Fix Continuity Counter handling and handle clock c=
hange/resets without skew correction</li><li>v4l2: Add support for AV1 stat=
eful V4l2 decoder</li><li>vpxdec: Support downstream pools with alignment r=
equirements</li><li>vtdec, vtenc: Lots of Apple VideoToolbox decoder and en=
coder fixes</li><li>applemedia build improvements, patches for tvOS support=
, tvos cross file&nbsp;</li><li>wavpack: Fix handling of format changes, ex=
tend parser with new features, handle non-S32 samples</li><li>webrtcsink: a=
llow specifying custom headers to signalling server</li><li>webrtcsink: neg=
otiate profile and level for input encoded in H.264</li><li>webrtcsrc: add =
request type pads and allow sending encoded data downstream</li><li>cerbero=
: wheel: Add a new `gstreamer_meta` package with fewer deps</li><li>Various=
 bug fixes, build fixes, memory leak fixes, and other stability and reliabi=
lity improvements</li></ul><div><b><br></b></div><div>Many thanks to everyo=
ne who contributed to this release!</div><div><b><br></b></div><div><div>Fo=
r details of our <b>security fixes</b>, please check out our security cente=
r at</div></div><div><br></div><div style=3D"margin-left: 3ch;"><a href=3D"=
https://gstreamer.freedesktop.org/security/">https://gstreamer.freedesktop.=
org/security/</a></div><div><br></div><div><b>Binaries</b> for Android, iOS=
, Mac OS X and Windows should be available soon.</div><div><br></div><div>A=
s always, please let us know of any issues you run into by filing an issue =
or Merge Request in&nbsp;<a href=3D"https://gitlab.freedesktop.org/gstreame=
r/gstreamer/">GitLab</a>:</div><div><br></div><div>Thanks!</div><div><span>=
</span></div><div><br></div><div><span></span></div><div><br></div><div><sp=
an></span></div></body></html>

--=-zowKZZUrp/I6mm6ao4Z9--

--=-ubjLlBTSI5Ghyt5/FaZ1
Content-Disposition: attachment; filename="GStreamer-1.28.1.txt"
Content-Transfer-Encoding: base64
Content-Type: text/plain; name="GStreamer-1.28.1.txt"; charset="UTF-8"

aHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXIvZ3N0cmVhbWVy
LTEuMjguMS50YXIueHoKYjY1ZTJmZmEzNWJkYmY4Nzk4Y2I3NWMyM2ZmYzNkMDVlNDg0ZTQ4MzQ2
ZmY3NTQ2ODQ0YmE4NTIxNzY2NDUwNAoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3Jn
L3NyYy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1wbHVnaW5zLWJhc2UtMS4yOC4xLnRhci54egoxNDQ2
YTRjMmE5MmZmNWQ3OGQ4OGU4NWE1OTlmMDAzODQ0MWQ1MzMzMzIzNmYwYzcyZDcyZjIxYTljMTMy
NDk3CgpodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1wbHVnaW5zLWdv
b2QvZ3N0LXBsdWdpbnMtZ29vZC0xLjI4LjEudGFyLnh6CjczOGUyNmFlZTQxYjdhNjIwNTBlNDBi
ODFhZGMwMTdhMTEwYTdmMzJkMWVjNDlmYTZhMDMwMDg0NmM0NDM2OGQKCmh0dHBzOi8vZ3N0cmVh
bWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LXBsdWdpbnMtdWdseS9nc3QtcGx1Z2lucy11Z2x5
LTEuMjguMS50YXIueHoKNDA4MmYzY2IwNjNmY2NjM2ZmYzA0ZTVhYjA4NTRiYWZkZTgyZDFiMzcz
ZWIzYzllYWEyODExNWRkM2Y5NWE3OAoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3Jn
L3NyYy9nc3QtcGx1Z2lucy1iYWQvZ3N0LXBsdWdpbnMtYmFkLTEuMjguMS50YXIueHoKNTZjMTU5
Mzc4N2Y4YjU1NTA4OTNkNTllNGZmMjllNmJjY2NmMzQ5NzMzMTZmYTU1ZTM0Y2U0OTNlMDQzMTNh
MgoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtbGliYXYvZ3N0LWxp
YmF2LTEuMjguMS50YXIueHoKYmZhOTFhYWNhMzhkMGZkOGFkZGNkZDU1OWUzNWI3NTQxZTNmMzJh
NWY0MTAxOTRlYzRiYTE4MDQwZGVmZWU5YgoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Au
b3JnL3NyYy9nc3QtcnRzcC1zZXJ2ZXIvZ3N0LXJ0c3Atc2VydmVyLTEuMjguMS50YXIueHoKNmNk
MGU4NmFmMjBjZmI3NDliZGMyNGQyZjVjMzBmNGU2MGEzZThkMTk4YWU0ZTAyZTc1NGI5OTM3YmRi
ZjgzMgoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3QtZWRpdGluZy1z
ZXJ2aWNlcy9nc3QtZWRpdGluZy1zZXJ2aWNlcy0xLjI4LjEudGFyLnh6CjNkNjAwMGNiZTEzNTZi
ZWViZTJhNTczZGFiZDQ5NmU5MjM0OGMzMGM4NDNmZmExMzA1MDQ2OWVjM2RhMTE1ZGMKCmh0dHBz
Oi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvZ3N0LXB5dGhvbi9nc3QtcHl0aG9uLTEu
MjguMS50YXIueHoKZDQ3Y2VhOTVhZGI5NWJhMTA0NDNlZDc4MTJjN2M1ZmEwODA3YWVmNDNiOThj
ZDFjNmQ4ZmI5ZjlhODZmNzA4NQoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3Ny
Yy9nc3QtZGV2dG9vbHMvZ3N0LWRldnRvb2xzLTEuMjguMS50YXIueHoKYTRlNDljZDA4Mjk3MmEx
MzJjYTVmNTRiZTUyYTNjMzg2ZGIzN2M0Y2IwZTQ4N2UwMTdiYTAwZDgzYTVmOTg1ZAoKaHR0cHM6
Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXItc2hhcnAvZ3N0cmVhbWVy
LXNoYXJwLTEuMjguMS50YXIueHoKMjMyODU3Y2U0NmI0Yjk5ZDU0ODFmMDBmYjFiOGFmZTUwZjI0
NzRmNzM2NDFlZDNkMDkwMmZmMzY2MTQwYTM4NQoKaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0
b3Aub3JnL3NyYy9nc3RyZWFtZXItZG9jcy9nc3RyZWFtZXItZG9jcy0xLjI4LjEudGFyLnh6CmRi
ZjdiMjMyY2I1M2NjMGQ5OGIzOWU4Mjk1NWExOTM0ZDAyOWZiMjRiYmE1MTA2ODYxNDgwOTI0OWRj
YmUyMmUKCg==


--=-ubjLlBTSI5Ghyt5/FaZ1--

--=-/3CL9wVIXduTHAF9INGo
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE1jcDLkW4xlhblFZWXS7ub280nXwFAmmfvosACgkQXS7ub280
nXx8eg//dOLipwC6PTljHPCNFSlS2ceFWMnMOH9gu0kbHGducAdajvDLJQ+E6uXp
SP6h7dwLPiL1+aiO3eDxx1CJUhvH4VVd7xhGMTgqCuSGNle0xycYwoPkmW4WAW7L
mJCinvZx3OHJ0slIxfWMvDyQF4+fsu9M2IMw3bRBZun89k+YPGfSoXfuoLbz4yMd
1jEReVI5h54fQ5lDG+PUaIiYqz8dtioO7OACeWGB5F8zMtQb0xPMxX19GUZXrfM0
ji8oVfwtcQHh5VkybrS79FwK9ntobQVqGSwwvbgcsyiC+rAgU4CMZhKLRTlpZWs1
UjRMlFR2TdJZu5Ux8hzwfKp94GKtRLj03Xj+PiVQl1qPY6BTN/IAqgIs+v+Xpuz7
eAa47OfW097XoJluYIaH+0BZUEWGy8QNIwWbqhbJ4C5eEU9FRDiWTuI0Wl6guD88
/j3W/XJs19Z0AfhTpCuDjm5NYSrfzsiFeg28W+9wvmeVEyowpY0J5S/tlCUr2KOC
vBYIfyXUJ4E2aH/Hu3RDIeTBJ/lQk8jGC3rapPWK3vENAE2x93em3afddccMuXKF
QzO9C/c+JzvwNas+tZF6GqtekE0z3xQeGw/C/aFFc1jSiIwsz+Deu30D77Yf8GdG
FQDKWnrtWHoVb9xHL64UfJVuwRL5g/E1Ay16QQedkivY3RFQ3ms=
=bzdI
-----END PGP SIGNATURE-----

--=-/3CL9wVIXduTHAF9INGo--