Content-Type: multipart/related; start=; boundary=----------pc57cQ19tSWuDZzpk1EtRe Content-Location: http://www.x.org/wiki/AMDGeodeDriver Subject: =?utf-8?Q?X.Org=20Wiki=20-=20AMDGeodeDriver?= MIME-Version: 1.0 ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=AMDGeodeDriver.htm Content-Type: text/html; charset=utf-8; name=AMDGeodeDriver.htm Content-Id: Content-Location: http://www.x.org/wiki/AMDGeodeDriver Content-Transfer-Encoding: Quoted-Printable = X.Org Wiki - AMDGeodeDriver
3D"X.Org
RecentChanges<= /a> FindPage HelpContents=

AMDGeodeDriver

AMD Geode Drive= r

This driver was previously called <= strong>amd. It was renamed geode to avoid conf= usion with ATI chipsets recently acquired by Advanced Micro Devices.

Hardware Suppor= t

  • AMD Geode SC and older GX1 Geodes by Cyrix and NSC are not supported by= this driver. Use the cyrix or nsc dr= ivers instead.

  • AMD = Geode GX (a.k.a. GX2)
  • <= li>AMD Geode LX (a.k.a. GX3)
  • AMD Geode NX is not supported by any driver.

Current Status:= xf86-video-geode 2.11.0 (released: 2008-12-10)

  • Compilation against X server << 1.3 fails since 2.9.0 because of= a missing header:

    • = geode_ddc.c:31:23: error: xf86Modes.h: No such file or directory
    • geode_ddc.c:158:50: error= : missing binary operator before token "("
    • Affects: Debian/Etch (1.1), Ubuntu/Dap= per (1.0), Ubuntu/Edgy (1.1), Ubuntu/Feisty (1.2), ###OTHERS?###
  • With X server 1.1 and a static xorg.conf configuration file:
    • No known issue.
  • With X server 1.2:
    • Switching= to a console using CTRL+ALT+Fx fails on some platforms: Debian BTS Ubuntu BTS. =

      • Attachments include a patch against = x86emu (CPUID) that resolves the issue.

        • CPU ID pa= tch merged into X core 1.5 tree

    • With X server 1.3 and X server 1.4: =
      • Some platforms will freeze when using X -configure: Ubuntu BTS.

        • Attachments include two patches = against x86emu (port blacklist, PCI bus access) that re= solve this issue.

          • <= p class=3D"line891">blacklist patch rejected
          • PCI patch m= erged into X core 1.5 tree

    • With X server 1.5:
      • EXA Composite rendering bug: Black boxes

      • Auto-configuration onl= y works with LX, because GX overlaps the PCI ID of GX1 products covered = by cyrix and nsc drivers.

        • Will be fixe= d once cyrix and nsc are merged with <= strong>geode, because then all Geode variants will be matched w= ith the same driver.

        • <= /ul>
        • GX2: AccelMethod "XAA" is needed in the Device section= of xorg.conf

      =

      Download

      Mailing Lists

      Development Roa= dmap

      The following details the developm= ent roadmap for the rest of 2008. Please create a bug to make a suggestion for new features. <= span class=3D"anchor" id=3D"line-49">

      2.12.0 (2008-12= -15)

      Feature

      Developer

      Status

      Notes

      Merge nsc and cyrix

      OPEN

      Planned

      See https://bugs.freedesktop.org/sho= w_bug.cgi?id=3D2737 for details

      Distribution Tr= ackers

      Project Resourc= es

      • Bernardo Innocenti = (OLPC)
      • Jordan Crou= se (AMD)
      • Andres Sa= lomon (Debian)
      • War= ren Togami (Fedora, Red Hat)
      • Gideon Romm (Symbio Technologies)
      • Bart Trojanowski (Symbio Technologies)
      • Martin-=C3=89ric Racine (= Artec Group, Debian, Ubuntu)
      • Mart Raudsepp (Artec Group, Gentoo)
      • X.org HOWTO

AMDGeodeDriver= (last edited 2009-01-15 18:55:58 by WarrenTogam= i)

  • Immutable Page=

DeleteCache (cached 2009-02-12 05:39:07)

Or try one of= these actions: Attachments, CopyPage, Despam, LikePages, Load, LocalSiteMa= p, MyPages, PackagePages, RenderAsDocbook, Save, SpellCheck, <= a href=3D"/wiki/AMDGeodeDriver?action=3DSubscribeUser" rel=3D"nofollow">= SubscribeUser, SyncPages

------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=common.css Content-Type: text/css; name=common.css Content-Location: http://www.x.org/moin/freedesktop/css/common.css Content-Transfer-Encoding: 8bit /* common.css - MoinMoin Default Styles Copyright (c) 2001, 2002, 2003 by Jürgen Hermann */ /* content styles */ html { background-color: white; color: black; } h2 { font-size: 1.6em; } h3 { font-size: 1.3em; } h4, h5, h6 { font-size: 1em; } li p { margin: .2em 0; } li.gap { margin-top: 8pt; } a img { border: 0; } img.drawing { border: 0; } dt { font-weight: bold; } pre { padding: .5em; white-space: pre-wrap; } #content { /* style for content generated by wiki markup */ } .footnotes ul { padding: 0 2em; margin: 0 0 1em; } .footnotes li { list-style: none; } /* eye catchers */ .warning { color: #000000; background-color: #EDD097; padding: 1pt; } .error { color: #FF0000; background-color: #EDD097; padding: 1pt; } strong.highlight { background-color: #FFAA00; padding: 1pt; } ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=screen.css Content-Type: text/css; name=screen.css Content-Location: http://www.x.org/moin/freedesktop/css/screen.css Content-Transfer-Encoding: 8bit /* screen.css - MoinMoin Default Styles Copyright (c) 2001, 2002, 2003 by Jürgen Hermann */ /* content styles */ #content { margin-top: 2em; margin-left: 5%; margin-right: 5%; } h1, h2, h3, h4, h5, h6 { color: #2b5e82; } a:link { background-color: inherit; color: #2b5e82; } a:visited { background-color: inherit; color: #52188b; } a.nonexistent, a.badinterwiki { background-color: inherit; color: #404040; } pre { border: 1px solid #CBCBCB; background-color: #FFF8ED; color: black; } hr { clear: both; border-style: none; background-color: #CBCBCB; color: #CBCBCB; } td { border: 1px solid #999999; } .footnotes div { width: 5em; border-top: 1px solid #CBCBCB; } /* user interface styles */ #navtable a:visited { color: #2b5e82; } #navtable { clear: both; font-family: Bitstream Vera Sans, sans-serif; text-align: center; word-spacing: 4pt; background-color: #ffffff; font-size: 15pt; color: #3B80AE; } /* h1 { padding: .2em 1em; } */ #title a { text-decoration: none; font-size: 20pt; font-family: Bitstream Vera Sans, sans-serif; font-weight: bold; text-decoration: none; color: #2b5e82; } #title { clear: left; float: left; display: inline; } #logo { text-align: center; display: block; top: 0; left: 0; right: 0; margin: 0 0; } *[dir="rtl"] #logo { float: right; } #username { position: absolute; top: 0; right: 0; margin: 1em .3em; text-align: right; } *[dir="rtl"] #username { float: left; } #navibar { clear: both; } *[dir="rtl"] #navibar { clear: right; } #pagetrail { clear: left; } *[dir="rtl"] #pagetrail { clear: right; } #navibar, #pagetrail, #iconbar { margin: .5em 0; padding: 0; } #navibar a, #pagetrail a { text-decoration: none; } #navibar li, #pagetrail li, #iconbar li { display: inline; padding: 0 2px; margin: 0; } #navibar li { border: 3px solid #CBCBCB; background-color: #E5E5E5; color: black; line-height: 2em; } #pagetrail li span { border: 1px solid #EEEECC; background-color: #FFFFDD; color: black; } #pagetrail li:before { content: "» "; } *[dir="rtl"] #pagetrail li:before { content: " «"; } #pagetrail li:first-child:before { content: ""; } #iconbar { clear: right; float: right; text-align: right; white-space: nowrap; } *[dir="rtl"] #iconbar { float: left; text-align: left; } #footer a:visited { color: #2b5e82; } #message, #footer { clear: both; border: 0px; background-color: #dedede; font-family: Bitstream Vera Sans, sans-serif; color: #2b5e82; margin: .5em 0; margin-top: 50px; padding: 0.5em; } #footer p, #footer form { margin: 0; } #credits { float: right; text-align: right; max-width: 30%; } *[dir="rtl"] #credits { float: left; text-align: left; } #timings { padding: 0; font-size: 0.8em; } #timings li { display: inline; background-color: #E5E5E5; color: black; } #preview { border: 2px solid #CBCBCB; padding: .5em; background: url(../img/draft.png); } .recentchanges table { width: 100%; } #pageinfo td, .recentchanges td { padding: 0 .3em; } .rcdaybreak td { background-color: #CCCCFF; padding: .2em; } .rcicon1, .rcicon2 { text-align: center; } .rcpagelink { width: 33%; } .rctime { font-size: .9em; color: #4D4D4D; } .rceditor { color: green; } .rccomment { color: red; width: 66%; } .rcrss { float: right; } .recentchanges[dir="rtl"] .rcrss { float: left; } .diff { width:99%; } .diff-title { background-color: #C0C0C0; } .diff-added { background-color: #E0FFE0; vertical-align: sub; } .diff-removed { background-color: #FFFFE0; vertical-align: sub; } .diff-added span { background-color: #80FF80; } .diff-removed span { background-color: #FFFF80; } .searchresult dd span { font-weight: bold; } #credits li, #timings li { display: inline; padding: 0 2px; margin: 0 4px; } #editor-textarea, #editor-help { font-family: monospace; color: black; background-color: white; padding: 3px; width: 100%; margin-top: 0.5em; } #searchform { float: right; margin: 5px 10px; padding: 0; white-space: nowrap; font-size: 0.82em; } .editbar { clear: both; display: block; margin: 0; padding: 10px 10px; white-space: nowrap; background: white; } .editbar form, .editbar form div { display: inline; margin: 0; } .editbar li { display: inline; padding: 0; margin: 4px 6px; } #header .editbar { border-bottom: 1px dotted #9C9C9C; } #footer .editbar { border-top: 1px dotted #9C9C9C; border-bottom: 1px solid #9C9C9C; } #credits, #version, #timings{ margin: 5px 10px; padding: 0; text-align: center; font-size: 0.88em; color: #6C7680; } ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=print.css Content-Type: text/css; name=print.css Content-Location: http://www.x.org/moin/freedesktop/css/print.css Content-Transfer-Encoding: 8bit /* print.css - MoinMoin Default Styles Copyright (c) 2001, 2002, 2003 by Jürgen Hermann */ /* content styles */ h2, h3, h4, h5, h6 { border-bottom: solid 1pt black; } a { background-color: inherit; color: inherit; } pre { border: 1pt solid black; background-color: inherit color: black; } hr { clear: both; border-style: none; background-color: black; color: black; height: 1pt; } td { border: 1pt solid gray; } a.interwiki:before, a.badinterwiki:before { content: attr(title) ":"; } a.interwiki img, a.badinterwiki img { display: none; } .footnotes div { width: 5em; border-top: 1pt solid black; } /* user interface styles */ h1 { padding: .2em 1em; } #logo { float: left; margin: 0 .5em; } *[dir="rtl"] #logo { float: right; } #title a { text-decoration: none; } #username, #navibar, #pagetrail, #iconbar, #message, #footer, #timings { display: none; } table.recentchanges { width: 100%; } .recentchanges td { padding: 0 .3em; } .rcdaybreak td { background-color: #CCCCFF; padding: .2em; } .rcicon1, .rcicon2 { text-align: center; } .rcpagelink { width: 33%; } .rctime { font-size: .9em; color: #4D4D4D; } .rceditor { color: green; } .rccomment { color: red; width: 66%; } .rcrss { float: right; } ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=projection.css Content-Type: text/css; name=projection.css Content-Location: http://www.x.org/moin/freedesktop/css/projection.css Content-Transfer-Encoding: 8bit /* projection.css - MoinMoin Slide Styles Copyright (c) 2003 by Jürgen Hermann */ @import url("screen.css"); body, b, em, a, span, div, p, td { font-size: 22pt; } h1 { font-size: 28pt; } h2 { font-size: 24pt; } h3 { font-size: 22pt; } h4 { font-size: 20pt; } h5 { font-size: 18pt; } h6 { font-size: 16pt; } tt,pre { font-size: 18pt; } sup, sub { font-size: 14pt; } .navigation { font-size: 16pt; padding-top: 8pt; padding-bottom: 8pt; } ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=common.js Content-Type: application/x-javascript; charset=utf-8; name=common.js Content-Location: http://www.x.org/moin/common/js/common.js Content-Transfer-Encoding: Base64 Ly8KLy8gTW9pbk1vaW4gY29tbW9ubHkgdXNlZCBKYXZhU2NyaXB0IGZ1bmN0aW9u cwovLwoKLy8gV2Uga2VlcCBoZXJlIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIGJv eApzZWFyY2hJc0Rpc2FibGVkID0gZmFsc2U7CgpmdW5jdGlvbiBzZWFyY2hDaGFu Z2UoZSkgewogICAgLy8gVXBkYXRlIHNlYXJjaCBidXR0b25zIHN0YXR1cyBhY2Nv cmRpbmcgdG8gc2VhcmNoIGJveCBjb250ZW50LgogICAgLy8gSWdub3JlIGVtcHR5 IG9yIHdoaXRlc3BhY2Ugc2VhcmNoIHRlcm0uCiAgICB2YXIgdmFsdWUgPSBlLnZh bHVlLnJlcGxhY2UoL1xzKy8sICcnKTsKICAgIGlmICh2YWx1ZSA9PSAnJyB8fCBz ZWFyY2hJc0Rpc2FibGVkKSB7IAogICAgICAgIHNlYXJjaFNldERpc2FibGVkKHRy dWUpOwogICAgfSBlbHNlIHsKICAgICAgICBzZWFyY2hTZXREaXNhYmxlZChmYWxz ZSk7CiAgICB9Cn0KCmZ1bmN0aW9uIHNlYXJjaFNldERpc2FibGVkKGZsYWcpIHsK ICAgIC8vIEVuYWJsZSBvciBkaXNhYmxlIHNlYXJjaAogICAgZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ2Z1bGxzZWFyY2gnKS5kaXNhYmxlZCA9IGZsYWc7CiAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGl0bGVzZWFyY2gnKS5kaXNhYmxlZCA9 IGZsYWc7Cn0KCmZ1bmN0aW9uIHNlYXJjaEZvY3VzKGUpIHsKICAgIC8vIFVwZGF0 ZSBzZWFyY2ggaW5wdXQgY29udGVudCBvbiBmb2N1cwogICAgaWYgKGUudmFsdWUg PT0gc2VhcmNoX2hpbnQpIHsKICAgICAgICBlLnZhbHVlID0gJyc7CiAgICAgICAg ZS5jbGFzc05hbWUgPSAnJzsKICAgICAgICBzZWFyY2hJc0Rpc2FibGVkID0gZmFs c2U7CiAgICB9Cn0KCmZ1bmN0aW9uIHNlYXJjaEJsdXIoZSkgewogICAgLy8gVXBk YXRlIHNlYXJjaCBpbnB1dCBjb250ZW50IG9uIGJsdXIKICAgIGlmIChlLnZhbHVl ID09ICcnKSB7CiAgICAgICAgZS52YWx1ZSA9IHNlYXJjaF9oaW50OwogICAgICAg IGUuY2xhc3NOYW1lID0gJ2Rpc2FibGVkJzsKICAgICAgICBzZWFyY2hJc0Rpc2Fi bGVkID0gdHJ1ZTsKICAgIH0KfQoKZnVuY3Rpb24gYWN0aW9uc01lbnVJbml0KHRp dGxlKSB7CiAgICAvLyBJbml0aWFsaXplIGFjdGlvbiBtZW51CiAgICBmb3IgKGkg PSAwOyBpIDwgZG9jdW1lbnQuZm9ybXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2 YXIgZm9ybSA9IGRvY3VtZW50LmZvcm1zW2ldOwogICAgICAgIGlmIChmb3JtLmNs YXNzTmFtZSA9PSAnYWN0aW9uc21lbnUnKSB7CiAgICAgICAgICAgIC8vIENoZWNr IGlmIHRoaXMgZm9ybSBuZWVkcyB1cGRhdGUKICAgICAgICAgICAgdmFyIGRpdiA9 IGZvcm0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdOwogICAgICAgICAg ICB2YXIgbGFiZWwgPSBkaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xhYmVsJylb MF07CiAgICAgICAgICAgIGlmIChsYWJlbCkgewogICAgICAgICAgICAgICAgLy8g VGhpcyBpcyB0aGUgZmlyc3QgdGltZTogcmVtb3ZlIGxhYmVsIGFuZCBkbyBidXRv bi4KICAgICAgICAgICAgICAgIGRpdi5yZW1vdmVDaGlsZChsYWJlbCk7CiAgICAg ICAgICAgICAgICB2YXIgZG9idXR0b24gPSBkaXYuZ2V0RWxlbWVudHNCeVRhZ05h bWUoJ2lucHV0JylbMF07CiAgICAgICAgICAgICAgICBkaXYucmVtb3ZlQ2hpbGQo ZG9idXR0b24pOwogICAgICAgICAgICAgICAgLy8gYW5kIGFkZCBtZW51IHRpdGxl CiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ID0gZGl2LmdldEVsZW1lbnRzQnlU YWdOYW1lKCdzZWxlY3QnKVswXTsKICAgICAgICAgICAgICAgIHZhciBpdGVtID0g ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7CiAgICAgICAgICAgICAg ICBpdGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRpdGxl KSk7CiAgICAgICAgICAgICAgICBpdGVtLnZhbHVlID0gJ3Nob3cnOwogICAgICAg ICAgICAgICAgc2VsZWN0Lmluc2VydEJlZm9yZShpdGVtLCBzZWxlY3Qub3B0aW9u c1swXSk7CiAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0ZWRJbmRleCA9IDA7 CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCi8vIHVzZSB0aGlzIGlu c3RlYWQgb2YgYXNzaWduaW5nIHRvIHdpbmRvdy5vbmxvYWQgZGlyZWN0bHk6CmZ1 bmN0aW9uIGFkZExvYWRFdmVudChmdW5jKSB7CiAgLy8gYWxlcnQoImFkZExvYWRF dmVudCAiICsgZnVuYykKICB2YXIgb2xkb25sb2FkID0gd2luZG93Lm9ubG9hZDsK ICBpZiAodHlwZW9mIHdpbmRvdy5vbmxvYWQgIT0gJ2Z1bmN0aW9uJykgewogICAg d2luZG93Lm9ubG9hZCA9IGZ1bmM7CiAgfSBlbHNlIHsKICAgIHdpbmRvdy5vbmxv YWQgPSBmdW5jdGlvbigpIHsKICAgICAgb2xkb25sb2FkKCk7CiAgICAgIGZ1bmMo KTsKICAgIH0KICB9Cn0KCmZ1bmN0aW9uIGNhbl91c2VfZ3VpX2VkaXRvcigpIHsK ICAgIHZhciBzQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNl KCkgOwoKICAgIC8vIEludGVybmV0IEV4cGxvcmVyCiAgICBpZiAoIHNBZ2VudC5p bmRleE9mKCJtc2llIikgIT0gLTEgJiYgc0FnZW50LmluZGV4T2YoIm1hYyIpID09 IC0xICYmIHNBZ2VudC5pbmRleE9mKCJvcGVyYSIpID09IC0xICkKICAgIHsgICAK ICAgICAgICB2YXIgc0Jyb3dzZXJWZXJzaW9uID0gbmF2aWdhdG9yLmFwcFZlcnNp b24ubWF0Y2goL01TSUUgKC5cLi4pLylbMV0gOwogICAgICAgIHJldHVybiAoIHNC cm93c2VyVmVyc2lvbiA+PSA1LjUgKSA7CiAgICB9CiAgICAKICAgIC8vIEdlY2tv CiAgICBpZiAoIG5hdmlnYXRvci5wcm9kdWN0ID09ICJHZWNrbyIgJiYgbmF2aWdh dG9yLnByb2R1Y3RTdWIgPj0gMjAwMzAyMTAgKQogICAgICAgIHJldHVybiB0cnVl IDsKCiAgICAvLyBPcGVyYQogICAgaWYgKCB0aGlzLkVuYWJsZU9wZXJhICkKICAg IHsgICAKICAgICAgICB2YXIgYU1hdGNoID0gc0FnZW50Lm1hdGNoKCAvXm9wZXJh XC8oXGQrXC5cZCspLyApIDsKICAgICAgICBpZiAoIGFNYXRjaCAmJiBhTWF0Y2hb MV0gPj0gOS4wICkKICAgICAgICAgICAgcmV0dXJuIHRydWUgOwogICAgfQogICAg CiAgICAvLyBTYWZhcmkKICAgIGlmICggdGhpcy5FbmFibGVTYWZhcmkgJiYgc0Fn ZW50LmluZGV4T2YoICdzYWZhcmknICkgIT0gLTEgKQogICAgICAgIHJldHVybiAo IHNBZ2VudC5tYXRjaCggL3NhZmFyaVwvKFxkKykvIClbMV0gPj0gMzEyICkgOyAg Ly8gQnVpbGQgbXVzdCBiZSBhdCBsZWFzdCAzMTIgKDEuMykKCiAgICByZXR1cm4g ZmFsc2UgOwoKfQoKCmZ1bmN0aW9uIHVwZGF0ZV9lZGl0X2xpbmtzKCkgewogICAg Ly8gVXBkYXRlIGVkaXRsaW5rIGFjY29yZGluZyBpZiBpZiB0aGUgYnJvd3NlciBp cyBjb21wYXRpYmxlCiAgICBpZiAoY2FuX3VzZV9ndWlfZWRpdG9yKCkgPT0gZmFs c2UpewogICAgICAgIC8vYWxlcnQoInVwZGF0ZV9lZGl0X2xpbmtzOiBjYW4ndCB1 c2UgZ3VpIGVkaXRvciIpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIHZhciBl ZGl0bGlua3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgiZWRpdGxpbmsi KTsKICAgIGZvciAoaSA9IDA7IGkgPCBlZGl0bGlua3MubGVuZ3RoOyBpKyspIHsK ICAgICAgICB2YXIgbGluayA9IGVkaXRsaW5rc1tpXTsKICAgICAgICBocmVmID0g bGluay5ocmVmLnJlcGxhY2UoJ2VkaXRvcj10ZXh0b25seScsJ2VkaXRvcj1ndWlw b3NzaWJsZScpOwogICAgICAgIGxpbmsuaHJlZiA9IGhyZWY7CiAgICAgICAgLy9h bGVydCgidXBkYXRlX2VkaXRfbGlua3M6IG1vZGlmaWVkIHRvIGd1aXBvc3NpYmxl Iik7CiAgICB9Cn0KCgpmdW5jdGlvbiBhZGRfZ3VpX2VkaXRvcl9saW5rcygpIHsK ICAgIC8vIEFkZCBndWkgZWRpdG9yIGxpbmsgYWZ0ZXIgdGhlIHRleHQgZWRpdG9y IGxpbmsKICAgIAogICAgLy8gSWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBzZXQgb3Ig YnJvd3NlciBpcyBub3QgY29tcGF0aWJsZSwgZXhpdAogICAgdHJ5IHtndWlfZWRp dG9yX2xpbmtfaHJlZn0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgLy9hbGVydCgi YWRkX2d1aV9lZGl0b3JfbGlua3M6IGd1aV9lZGl0b3JfbGlua19ocmVmIG5vdCBo ZXJlIik7CiAgICAgICAgcmV0dXJuCiAgICB9CiAgICBpZiAoY2FuX3VzZV9ndWlf ZWRpdG9yKCkgPT0gZmFsc2UpewogICAgICAgIC8vYWxlcnQoImFkZF9ndWlfZWRp dG9yX2xpbmtzOiBjYW4ndCB1c2UgZ3VpX2VkaXRvciIpOwogICAgICAgIHJldHVy bjsKICAgIH0KICAgIHZhciBhbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFt ZSgndGV4dGVkaXRsaW5rJyk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYWxsLmxlbmd0 aDsgaSsrKSB7CiAgICAgICAgdmFyIHRleHRFZGl0b3JMaW5rID0gYWxsW2ldOwog ICAgICAgIC8vIENyZWF0ZSBhIGxpc3QgaXRlbSB3aXRoIGEgbGluawogICAgICAg IHZhciBndWlFZGl0b3JMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScp OwogICAgICAgIGd1aUVkaXRvckxpbmsuaHJlZiA9IGd1aV9lZGl0b3JfbGlua19o cmVmOwogICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo Z3VpX2VkaXRvcl9saW5rX3RleHQpOwogICAgICAgIGd1aUVkaXRvckxpbmsuYXBw ZW5kQ2hpbGQodGV4dCk7CiAgICAgICAgdmFyIGxpc3RJdGVtID0gZG9jdW1lbnQu Y3JlYXRlRWxlbWVudCgnbGknKQogICAgICAgIGxpc3RJdGVtLmFwcGVuZENoaWxk KGd1aUVkaXRvckxpbmspOwogICAgICAgIC8vIEluc2VydCBpbiB0aGUgZWRpdGJh cgogICAgICAgIHZhciBlZGl0YmFyID0gdGV4dEVkaXRvckxpbmsucGFyZW50Tm9k ZS5wYXJlbnROb2RlCiAgICAgICAgdmFyIG5leHRMaXN0SXRlbSA9IHRleHRFZGl0 b3JMaW5rLnBhcmVudE5vZGUubmV4dFNpYmxpbmc7CiAgICAgICAgZWRpdGJhci5p bnNlcnRCZWZvcmUobGlzdEl0ZW0sIG5leHRMaXN0SXRlbSk7CiAgICAgICAgLy9h bGVydCgiYWRkX2d1aV9lZGl0b3JfbGlua3M6IGFkZGVkIGd1aSBlZGl0b3IgbGlu ayIpOwogICAgfQp9CiAKCmZ1bmN0aW9uIHNob3dfc3dpdGNoMmd1aSgpIHsKICAg IC8vIFNob3cgc3dpdGNoIHRvIGd1aSBlZGl0b3IgbGluayBpZiB0aGUgYnJvd3Nl ciBpcyBjb21wYXRpYmxlCiAgICBpZiAoY2FuX3VzZV9ndWlfZWRpdG9yKCkgPT0g ZmFsc2UpIHJldHVybjsKICAgIAogICAgdmFyIHN3aXRjaDJndWkgPSBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnc3dpdGNoMmd1aScpCiAgICBpZiAoc3dpdGNoMmd1 aSkgewogICAgICAgIHN3aXRjaDJndWkuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUn OwogICAgfQp9CgpmdW5jdGlvbiB0b2dnbGVDb21tZW50cygpIHsKICAgIC8vIFRv Z2dsZSB2aXNpYmlsaXR5IG9mIGV2ZXJ5IHRhZyB3aXRoIGNsYXNzID09ICpjb21t ZW50KgogICAgdmFyIGFsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCcqJyk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYWxsLmxlbmd0aDsgaSsrKXsKICAg ICAgICBlbCA9IGFsbFtpXTsKICAgICAgICBpZiAoIGVsLmNsYXNzTmFtZS5pbmRl eE9mKCdjb21tZW50JykgPj0gMCApewogICAgICAgICAgICBpZiAoIGVsLnN0eWxl LmRpc3BsYXkgIT0gJ25vbmUnICkgewogICAgICAgICAgICAgICAgZWwuc3R5bGUu ZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg ICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgICAgICAgICAgfQogICAg ICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gc2hvd190b2dnbGVDb21tZW50cygpIHsK ICAgIC8vIFNob3cgZWRpdCBiYXIgaXRlbSAiVG9nZ2xlQ29tbWVudHMiIGlmIGlu bGluZSBjb21tZW50cyBleGlzdCBvbiB0aGlzIHBhZ2UKICAgIHZhciBhbGwgPSBk b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpOwogICAgdmFyIGNvdW50 ID0gMDsKICAgIGZvciAoaSA9IDA7IGkgPCBhbGwubGVuZ3RoOyBpKyspewogICAg ICAgIGVsID0gYWxsW2ldOwogICAgICAgIGlmICggZWwuY2xhc3NOYW1lLmluZGV4 T2YoJ2NvbW1lbnQnKSA+PSAwICl7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAg ICAgfQogICAgfQogICAgaWYgKGNvdW50ID4gMCkgewogICAgICAgIGZvciAoaSA9 IDA7IGkgPCBhbGwubGVuZ3RoOyBpKyspewogICAgICAgICAgICBlbCA9IGFsbFtp XTsKICAgICAgICAgICAgaWYgKCBlbC5jbGFzc05hbWUgPT0gJ3RvZ2dsZUNvbW1l bnRzQnV0dG9uJyApewogICAgICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9 ICdpbmxpbmUnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgoKZnVu Y3Rpb24gbG9hZCgpIHsKICAgIC8vIERvIG5vdCBuYW1lIHRoaXMgIm9ubG9hZCIs IGl0IGRvZXMgbm90IHdvcmsgd2l0aCBJRSA6LSkKICAgIC8vIFRPRE86IGNyZWF0 ZSBzZXBhcmF0ZSBvbmxvYWQgZm9yIGVhY2ggdHlwZSBvZiB2aWV3IGFuZCBzZXQg dGhlCiAgICAvLyBjb3JyZWN0IGZ1bmN0aW9uIG5hbWUgaW4gdGhlIGh0bWwuIAog ICAgLy8gZS5nIDxib2R5IG9ubG9kPSdlZGl0b3Jfb25sb2FkKCknPgoKICAgIC8v IGxvZ2luIGZvY3VzCiAgICBpZiAoZG9jdW1lbnQuZm9ybXNbJ2xvZ2luZm9ybSdd KSB7CiAgICAJZG9jdW1lbnQuZm9ybXNbJ2xvZ2luZm9ybSddLmVsZW1lbnRzWydu YW1lJ10uZm9jdXMoKTsKICAgIH0KICAgIAogICAgLy8gUGFnZSB2aWV3IHN0dWZm CiAgICB1cGRhdGVfZWRpdF9saW5rcygpOwogICAgYWRkX2d1aV9lZGl0b3JfbGlu a3MoKTsKICAgIAogICAgLy8gRWRpdG9yIHN0dWZmCiAgICBzaG93X3N3aXRjaDJn dWkoKTsKCiAgICAvLyBEaXNhYmxlIG1lbnUgaXRlbSAiVG9nZ2xlQ29tbWVudHMi IGlmIG5vIGlubGluZSBjb21tZW50cyBleGlzdAogICAgc2hvd190b2dnbGVDb21t ZW50cygpOwp9CgoKZnVuY3Rpb24gYmVmb3JlX3VubG9hZChldnQpIHsKICAgIC8v IFRPRE86IEJldHRlciB0byBzZXQgdGhpcyBpbiB0aGUgZWRpdG9yIGh0bWwsIGFz IGl0IGRvZXMgbm90IG1ha2UKICAgIC8vIHNlbnNlIGVsc2Vod2VyZS4KICAgIC8v IGNvbmZpcm1sZWF2aW5nIGlzIGF2YWlsYWJsZSB3aGVuIGVkaXRpbmcKICAgIHRy eSB7cmV0dXJuIGNvbmZpcm1sZWF2aW5nKCk7fQogICAgY2F0Y2ggKGUpIHt9Cn0K Ci8vIEluaXRpYWxpemUgYWZ0ZXIgbG9hZGluZyB0aGUgcGFnZQphZGRMb2FkRXZl bnQobG9hZCkKCi8vIENhdGNoIGJlZm9yZSB1bmxvYWRpbmcgdGhlIHBhZ2UKd2lu ZG93Lm9uYmVmb3JldW5sb2FkID0gYmVmb3JlX3VubG9hZAoK ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=fdx-logo-text.png Content-Type: image/png; name=fdx-logo-text.png Content-Location: http://xorg.freedesktop.org/png/fdx-logo-text.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAXkAAABQCAYAAAD81wV3AAAABmJLR0QA/wD/AP+g vaeTAAAAB3RJTUUH1QkOBzQVsFAz5wAAH15JREFUeJztnXmYFNXVuN9TPQubIDsM i4Agxn2NW1BwRT/WQYga15hP/Uxcosa4xEhixBgTt6gJajS/uIOoX1SERAVRUXFF IT/3DRxEmGHfZqb7fn+caaa7uqq7qru6Z9D7Pk8/M9V169apqtun7j3n3HOF7MSA 3wFdcpQLykrgKiARUX0tzQ+AU3z2fQFMKaEsFovFkhdjUKVsIvpcUVrxi0Zf4Bu8 r3EDsE/LiWaxWCzh+CPRKflG4NDSih85bYAF+F/jaS0nmsVisYSnAniF6BT9V0CP kl5BtNyD/7Xd3IJyWSwWS97sANQSnaKfBTglvYJoOBf/a3oBKG850SwWi6Uwvuv2 +UOALXhfyxK27dGJxWKxAPAnvpv2+SqgBu/r2AJ8v+VEs1gsluioAF7lu2WfrwBe xv8azmw50SwWiyV6dgDq+O7Y56fiL/vUFpTLYrFYisZYvhv2+TPxl3k+2su3WCyW byU3Eq19flhpxc/J9/F3tNagdnqLxWL51lIM+3z3kl6BPz3QiBk/R+shLSeaxWKx lI4BRG+fl1JegAcVaMy7n4zntpxoFovFUnrG8e2yz9+Cv2z3tKBcFovFEoooe8w3 ARdGVFccGLH6f3ZfZMoS/Z3yRB/B6YHj9AQ641CO43RATKU4sgWRuDiy1ojEjcNq R5zlGJYZkZp4eWXN9pe/tCrEuU8D/u6z7w3Ub7C5sMuzWCyW0hClkq8AXiS6SUE1 T03of9qwfh2eRqRCHEBEP03/i9O0LYDTvE9Emrd132oRWYTDYhzec8RZ1KZ9/ety 9psbXefcp+ka2nnIswLYF7XTWywWyzZB1LbvAcDbwPYR1Td71fm7PO3E5FZV6GQq c5GNOHyNSCOOlIlIJQ7tEOmASHmG0k++IEQaEFlgYsyLGXm+zfkvLQReR+cAuGkE jgLmRnRdFovFUhKK4eAcBzwWYd1Xrr1o130QmZBU0DiCiGwUOKf95naPyk2vbHIf ZAyyccq+vXCcvlImfRNGhjox2d0YswuOs6s4Up5U+o1GLul4/kvHAkf4yPBzbHZJ i8WyDVKsKJabgQsiqiu+T+/2o+aePPB2kEEpiv6SjlMW/imfCs2NB7Xd7Mj+CMMS Mdq0/9n8dsBFPsUfAE7OV3iLxWJpSSJX8mYyzntvVu20x5M1/wD2j6jamqcmDTrt 0B3aP40jFQg4jrN3hynvvBNB3T8EHvbZ987SWw65rmunyvZt2nV9QCZNr4/gfBaL xVIyIssXY0BWHt+3um5xv3f6titbMGXv7X8BrI6o+qpR0z69JI65BNBXU1xMBPXu gX9IZO3UH+/8y26dKv4mwj1bNtd9tPn+I88zU0d7OWUtFoulVVKwkjcgK6qrxtRN 6PuWwAxgd2C7c4Z2/FOXithZWiQSjul8w6LtEGaAYGKJoQXW1xn1HXgp7Thw0qnD en0oyHTU8dofuLWhw+bPNj905CVm2kSbs8ZisbR6CjLXrB7dc2A8FpuKI0clwxW3 hjVqNMztXR78Ig6cH5G8ap8/ffDtOPJix2vfOT3PemLAU8BIn/2XAdcnNzbfc+Qg qTBXGeRkcaQMAUTeTzj8tO2kfz2fpwwWi8VSdPJS8mYisbotfS5AzDU40q5J6TVF vZAWrrghTnW/h7+4nOjs81/NOmnQ6YcM7PjApvKGHXtMXrw+jzqmAJf77HsUmITH CGTzfccMlrLE9SDVKQ7ghyrEXCwTZi/LQw6LxWIpKqGV/Dej+g6JxeL3g+ikJ1f8 +tZ4dpHVxuF3Xeo7/FmmL+4DvEV08fOz1vxqz5kODtv97u0/hzx2AjAd72tfBBwI bMhWweZHjh4tyO049GuKwV+dcDi1zbhnngwpi8VisRSVUEq+dlzV0RgeRu3ZpPbg k4peJyiZV00sMbHrA18tTTm8Gu0lRxXRc8W6q/bq0SG2/eUyeW7QNAO7oFkzt/PY twbYD/g4SEVm2jFd6oW7xJHqppm4xjhcW7Gl/WSZND0eUB6LxWIpKoEdr7Xjel+I YSZJBZ9Emv/qv+a2zh17HOpS8KBOztvyFzWDaw67+6PZ61jnZ1d30wl4HG8FnwBO IqCCB5BJs+sqJ86egHAREEctVb+qb7vxafPY+K5B67FYvgW4k/htawwn8xqGt6A8 kZJTyRuQ2jF9pmLkJtRh2YykdsrFAD/r8siS8+TONxt8qrsETfIVBbG3lm24+/HF dTVrJh/UJUdZAe4HdvLZ/xtgZj5CVFTPuskRRgMbEEHgmMaKhpfMk6P65FOfxWKx RElOJV87pup2xJyVsSNNvxM3yGldpi25PUd19ahTc00oKf3pc9r0z36zevP6XL2H q4FRPvv+F7imECHKxj/zjMQSI4G1okOaneOOvGhmVvf1KH4g6vidgyY724iGaK4B /oOatH4K9CxEpm8J+aaqfr8lhLVYWiNZ7eMrx1b9XuCXvkeqPd6IcEqXR5c+EOK8 1WhMfVRcAVzns280qsi9rvUD4AAieuk0PDnqIIRnEdrhCDjyXlm88gg5bvoKNC/O DcDeAatrRCdqXQ18HYV82yD5Dv0/AHaOUhBLVtzPqaUX/QnLcLTTlcoIviUJCX17 8nVjqy7zVfBJ1A5/RUgFD2qfDxsVk41r8F4fdifgPrwb3RpgPNGNKigf/dQrgjkR aZqNa9jx/W9W741e77MEV/AAZcBZqJ/g7KhktFi+xQwATkfXg/g8xHFzaeq2pnzm RihXi+L5xq0d03skIjP99gPJiJpHuj721Ql5nrsCmI/maI+Cr1AluqJpezs0kmYX j7IGDaV8PKJzp9HwzKgpIJe+/vGaUw8+b96lwJ4exVYBrwDLgHWoeWYAOrLwevne gL50t0XHVr64r/XagMetQFf3spSG1tKTby1ytCoybsI3x3XvFSsvfw/olvUokSWO Kd+j8xOfF5KfZhAaP9+pgDpSmQUc1/T/o6hZyItrgF9HdM4MzJzhZctXVE7qNWn2 lWS+ZBah5qVZgJeDuhdwZlMZd8qFyaiT+LuC/dFuG7SW59Ra5GhVZPQYYxUVt5NN wSvGOObHBSp4gE9RhRYlDqog/RT8MxRZUcqIuY29Js0+khQFP6RvByrLnZvR1aee xFvBg9rfrwV2A95z7fs1aiu0WCyWQKQp+bqxfY/DGD/l2IyYGd1m1DwbkQwziCZ+ /hM01v0o/JX4x01lij1Z6SDgjORG28oYz988rHbjv8d9hL9yd/MZ6qz9/ynfOcBU IswearFYvt1sVRZmMo7BXJ+tcBNxEubqiOW4GDXb5MtG1InaBXgQdzx/c5lqokt/ nI00h/XPJw7+snfXNl0NTDZzxoVJ7bACOIX0l9IQ9Fr9SA0lfCnl+5Go83c9+qL5 EvivHOfvii7O/iIa7lkPrEVNTlPRGcJJZrnOvS1QCZyAtpkP0HvTiLaRt4E7gMND 1JfvpKCgx6WWSZ1s2B4Nu30eWElzSO5bwB9QX09YfgD8BViM+o8a0Pb4IjpSzjXa z0YZ2vbuAhai9zsObEbb5Sx0EZ9s5/grue+bV3jtOT715fvsitmGon3GK0dXja0d W2VyfsZVPRhC4DAMQm9M2JjoBBp73w5tMNnKlIL+TeczgCmLiVn3zJiljXPGm8a5 1SY+r/q3edR5J+nX4w73SsVLyd+I9335SZZ6TiL380igfgKhOEq+mDMpT0Kd9UHa 2Jvo6KxY8hai5A8PcB2bgB8HlKUH6s/KdU9W0Dz3JKj8FWiHblmA+g3aoTjFpy4v JR/kE6WSL3YbiuQZb+3JO465MNBlCfcGKheeT8mudPy4EU04dg+6CIhfmWl5yhWW I0hx+HRsV/5u28qYpjkQQJyzzOLQuejdk8wOxjsPvhe/RNeoDcNV6LKHuRzigsbx XxWy/pakDPgben1VAY/ZB+3B/rRYQuXJYejLNdd1tAHuBo7NUa4nGjo4IcC5uwH/ JPuo0k0v4I9Nf4OwHfAPdPW21kQp21DBz9gBWD2h5yCDDA9wwq+67FnzXEghw/Ao mQotG8+iSuwi/BvCC+SK94+W4akbdevqH8HwxNYUEMb0jNfGx4SscyHwUcp2Baro c1GF9rSTPIX6CkahMfiLPY45BXCPNt5Af8x9UUVwOOkvzV8B3wsgT2vgTjJ7PK8B E4E+QAdgMPpjXJJSJob6js6gdVAJ3AuUo6aOW9B03p2AHVEz29qU8oKaDsp96hPg ETKf40Nom+4B9AaORH+nyWPCzJFZ1fQ3DjyBtrXvAR1RU+tu6NoT7rxXd5CZc+qC pu9SP27c+7dDFWGhlKoNRfeM68ZVXRrIVDO+918DClcIFejQJtfw53OgO9roGrOU q6G0KQLecp1/ROPc8RPVVDPBxOdNMIl5E/JJSXyvq16/hce97kEjwRYj7wbUuo59 AH/FcCL+9z4Koq7zRx51TsHfkd0RfTGmlt+I+kWilDcfc02qPMN9yh9A5vPx63mf 6iqXwN9UAs0BDGGf/RPAwBxleqK/2yBmllQKaS9Bjy11Gyr4GTsAxnBUlotqPrtx Xg1SrkCC5LdJOlrb4e9oTdIbnfVaqoiU7q7tD2Oby55DSCS/MDDMTJuYTWYvPnBt h3F8XYcmaMvFRWiPKsk7aI/FLyLoIeDKEHIUShDbp0FnPbopB37v+u5u1ImYyCwO aC/pePQ+JGlLgbmOIuYC/GdnvoYq1VT8RpHu1dtuQH83fjyIjuDCMg6NHMvGcjLT lATNNltMWqoNFfSMHTORGMEcApiEeSWEYIWwjPRhjptzUKX3GJlK1Yuj0AdRCtxp hutk5PQ64IuU7zrRM+HnP/Cj1rUdVMmvJLNhehEDTnN9dzmwJcdxN5L7R9saGIua m5LUok7AXGwm0456PK0jgdzH+C9En+Qp17ZXao0hpM8834j2TnPxR8KlDwjDv1zb uxfpPGFoiTZU8DN21mzu2R8Nz8lJt8rOpfox34Ha57y4Be1h/AV1ZgRlMurEKDXJ oV9qvDsJ4YASnX86OVa6amJv0p07S4HZAY5rINgooaVx92DvJd2emY35qAkxSYzm mdUtyTRyz/l4x7XtlRnV3cn7F8FyOjUA/y9AuXz40rXdu0jnCUNLtKGCn3FZXGKD A5wIhA0yfXF9oLKFcT6ZPcok84BfoMOXU0PWG0PNC3sB3+QtXW5qSb/JXYAaka1O J8VI0AiDJJ1d2ysDHufuEfnhXoP33wS3a86lNBE2QXPXLPT4bj/Xdtj1A2aS3tvd D4oWaRaUFwKUcTsxvSKm3M7WNz3K+PEcGmEVBgeNQhuJ3sch6O+ksml/Ah1NpNI2 5DmKQUu0oYKfcRmOdMYE+i3XBSlUIMNQW6AXS1Hv9UFZyuQiaZ8/Fn8bWqG4lfwQ oAYk/Y3vmLCTSdwLnrjNN354RdB4saNre1HA40Dz4JeCfGzASfq7tt0pI3Lxbo76 8qWQ/CpuP40X61zbZR5l3Ivu1ISQIeyz/xE6qs7WuXTQCJXWRku0oYKfsWMMbQJU As1v2WLRFzUteMWQb0Fnq1Y0lfGL9gjC0aituVi4lWrSLOOOa3f3zHPhNu8EVd7L A5ZzyxPmpb4qd5EWx90TDDvz2W2+iKpnGchU6kOQF30unwpk/p4aQ8gQNFW3g85w vR9vBb8KVWhvoR2MT0PIUCpaog0V/IwdkUQQey2I5FpirxAq0Bw2fo6Ic9Eh+Aw0 XrdQfkPx7PPu4VU1gGQ6ZDeFqHMn0n0UjcDLAY9dH7Cc2+4XRol59Q5bG+523jHk 8e7yQX43QTpGhawHHOy3mxu38gk60Q6849O9uJrMyY7z0VDMHuhoYmfUnLE7mSPL 1kBLtKGCn7GTIJb7TaEDyrLVJ/UP2/sMyh3A9332/ZVm73JUqUNjaAhYFC8MN+7J YgcAeyUw6edKBLapg05cSuV1ModofgQ1S7nbwYCAx4G3M6+14Q4a8FpnIBu7ura9 epruHnAQk4PfusNBiGo+gtum6xfD7UWQSXA9gMtc310OHIL6yVZkHNE60wSXog25 KfgZO0680esGZyLQuCkeZmWjoJyFf7rh+aiTFTR+/odEl2CsiuLEz3+Cy9lZXia3 CuKKFjLB7jsMBX7m+u6OfIXLgntd1ENDHLstpD+e79o+OuTx7rkkXiMp94s3yMsv zH0uFu7ojDAJtYKUPYJ0M+wL5A7rLablIF9K0YYix+nSputHaBynP8kp+TEOjPj8 B+G/DOAy1NGaGtHzGTo5J6oezNFk9jCiIM0xvPugTsNwDYETIkEcmx1RG2bqsH8J 8HChAnrgngNxIMF7KpkLvbc+pru2z4DA/qjd0ayMSdaj6xK4cfeI98pRr0PpEudl 4zXSdcBeBAtPLsN74pkbd96VIBlnDwlQJhdBn29QStGGIseR6YvrMbzhWyJl0CQi UfY6euHvaK1HJwt4efkfJ9r1YX9L8N5Ue3R4nWu26rPoRC0ADtkjI5AmUbYl5+zh KjQxkTts60LCOcaC8iGZP74/BjjuTMKtXdtSPI+mfk3Sl/S8Pn6Ukzlymoq3rdR9 /0Z5lEnlDAoz10TFejIn1NxA7lHueQSznbsdgzvkKC8Em2Tkxt1ZDRYeHpxStKHi sHJM1fVZUgub2vF9TO2Evqb2+L4Ny08cGMVMvwo0I5vftPRceSoqgAVZjg/7+Yrc 9vnx6MQHgyrEXI27Mzob0Lx65+Fb89bE500wdTPHfIK/s7IbmjXSK81vkMVVCsnf cYrH8dfjbx8dg/6wwuYvCUrUdR5CZr6VbMqkHZq0K7V8Df6RUdWusg1kRkUlORSN BQ9z7/K9H0GOO8Cj3K34P/vx6PUFkf9IMu+LX09d0M5FPm3qM1f5MMkOg56r2G2o OM+4dnSfA7Mq+eomJT+xn6md1C9s2lovbvMQKvn5W8A6BqJhV1Ep+ln4N+gyj3PN CCDjznvs2GlpqoKPz5tgrj5jF4M6m55Cc1/ciJplXsT/h3M/3qMeN4UoRkHtpe46 5qAKvQ86AjsCdVwn93sp+igoRp2XetT7HJpTpQ9qIhuMRoJ85Cq3hexRWRVo+orU Y9agOYEGoz/s/YGbaE4q9SnaFlpayYPOXnWXnYsu8NEXHV2OQH1ZyTUTGtEeabb6 K8nMIb8enfcwFL0vg9EY+vkpZVITbwUJIHDLH0dHJDuhUUyH4+9DCHNvi9mGiveM a8f2ec8782QfVfLHq5Kvm9TvIzO8oJC5MzwESn4WEC4efzwpC3RE8PHLb9PLo6zX rMoMVj0z5u+pCr5hbrUZ0KtdGJkayUz9m41CFWMvNF45qHxbUCWwrSh50NTTfhkU /T5ryZ2PHdREE7TOejS74FKCXWfxFIDSFvXNBJU/gY663w9Q/yTC/VZfI11pB1my c2+yZ6Q1+E+oC3tvi9WGIn/GqTa3zCQ44voLIDJ4Va/+QVeZcbMf/pEhK9DhbpDJ G0mKYZ8f5vH912ijS+WfuSozL4/bsWP78pNSv3vuzW/4/Gv3jG1fnkDj438d9IAI +BrtaQRJh/wfNGLAPb27GD6DKLke7dEFnVA2C1UgQRxlTwFnk7sd16DT+ucGlKEU bEKDEbJln0xSg47ugqYfn4b6b4LM23gQHS2mziUJsjby22jvOYwOyZditqFI2aq+ a4/t0pGKNh+RapsWNLLGERAQR5LbS+vLNu/c677lYRwH3dGcGP089jWgdrt5eVxD BbrMnTv3Sr7UoNEF7hDHnmjulJ3RxF3XkUOZxV+c8ACGNCV/8yMfX3zx7Qv7Nsm7 IxoqVo7aZ5ehvaKXUHPQJ3nI7377FxJvPALNQ38wOlQva5JxAfqCfRy9B51JnyH7 DdFkaYzyWrxwUEU7EbVJ74BGS6xDh9kvomayfNYfHoRO4jsSfc7tUD/LQtQpfy/N jrel6DA/id915ns/8jnuADSS7RDUVNMOfa5voc/9IZodne+jZpcg9fdCc1MdjUZv dWmSbwn6wrsTnQcC+gI5u+n/teReqSzJEDTr4xGoWbcNmuvpbVQ5z/U4Jt97G3Ub ivwZp1VQN7bqXJPqrBCaFLwqekndFv7S5cEvzg0oQAyNOBnus/9CNLtkvgxEb2KY RbKzMQvNEJe3iaBx7oTR4qT39gWecg6dMbpQ4VohB5Me8/susGcLyWKxWFJIC5Hq vKbmTlIT4iTj473NNufUnjLgmIDnuQF/BX8fhSl4iD5+fiQFxM+bOaO7IeZO19eN glPKZQhLiXu1IfekEYvF0kKkKXmZS6MR51SgoVmxp2n21D8icN+ak3fMFYt6Iv4L Sb9NsGW9gvA4wUIMg3IN3vb5rJhpEyviUv6IiDuVsPm1HDq9VNkaS8kgMp/h0y0h iMViySRjskO3J5YukKSjL20ilOsfAUG6J5zEY3VnDfKzle2J/8K5SUdrYC9kAC6B LBO7wpHMPx8qJXC8e+OdSHqYlghznK9jf4hIrmJzMWrLDGILHIQq9NQcLYuxSt5i aTV4/pDNZJy6hX2fQczRnvZ4BxBBmp2y8xqd8lHd7/kgNXdHV9SB4rVobxw1iTwb 9QXRgvb5hufHXyuOXIGg90b52nEa9pUf/DNMju6WZDHqEPsSje6Zh0bRLEcdbduh ccdjUadYqoJvQCMOXiqhvBaLJQu+vbVvJnbvEItXPIsjByDSFFmDT7QNIM6CWGPZ cR3/8X4t2gueiX8Cn0uAP0V+Nc1UA48SXTTG5WRJqGQMEn9+3C04ct7We6WscYwz TA6bHnZxgZZkLcHTx6ZSj4avBQm/s1gsJSKrElw3sVf3BlM23zgyWERyRduAI4uF 2Ojt7/7gbHSygBfTgBOIdnKLF7eiuTWiII46jjN6qGbO8DbxeKe7cZwfJV+CTUp+ YyJhRpUPf2xORDKUgkp0FBQ2hepraKbMqExlFoslInL2dFec0K8qlmA2Irsle/Cq 4JvNNqlKv96w7pR/L+sw+8sNXnW/h2Y3jNIO70cFGtbnTvCVL1+h8fNb88Bvmj16 YIXjzDCO7J3yokNE1iWE6vJhM4phjioFg9H47gPR7HkD0Knagvb0V6MxwK+ik39e 96zFYrG0OIHMGavGDdjetE08BjJiq6kmxWyT7M1Lk9I3Itz0Th3Xv1HLlvjWDvtq dALQx8W5FE+its8/Q9MU/sZZoycZx5kqjmzvMmMtiyH/JYfNeDtHXRaLxVJ0Atus zbGDK1d1brgLkVNcs1/Te/cpSv+jtfVcMGc582s2xtGcHrOKdSFZiNQ+v/9OnX4/ /9bDdkEYI+mmKkRkoWMS42TEE59HcS6LxWIplNCKb9WPBpxmHLlNhA5Zom3SInFe +3rTW/tXdRjf5ZbFX0Z/CYEo2D7frjLGT0cP4LITd6Jj+/K0kUvTNd8eo9MlMuLv 2RdgsVgslhKSV+927ckDh8Zjcj/CfgFDLMGReoS/xhLOlA63LFoe6VXkJm/7fEWZ w09G9ueySUPo3a1NWoRR0zWvxOG/y0Y88UTUQlssFkuh5G3CMMOHl60esOR/GjDX lcec9uLuwWeEWCYVo2xB5OGEY27b/g+LShmNEco+37tzJf89sj8/GbkDvbtUuqOI MIJxHOeuGHKFHPl47sXQLRaLpQUo1E49tGe72ILJ+3fr+MMhHXFiZETbePfuSZZ5 RRznAWlomNHhhsVfF3w1uakmy2IfbStiHLN3N044tIrRB/SkvNxpDolM6cG//uEq LrhjEa+/v+oyNKudxWKxtEoKUfId0RC67wHs3LmCX+zTlfGDt8OJpUfb+E+g2lou DjJPYvwvJvZ8+9++uUikaHH0afb53p0rOXy3rhyzTzeO27cHHduXpTuUU5T8m5+s 4ZoHPmTmguUYla4RTcdrZ3haLJZWSb5KXtCIlWr3jqGdK/jziN4LD6hqOxSRNl4h lgFMOt+IwwtG5A3EWSjE321/5ZvL8r9Mxdx/bMela9fvfePTX/5jSO92/Yd9rzM7 VXVwnZsU+QQj8OLiOm58/FNmLvB0JSxBFwOwJhuLxdLqyFfJXwn8zmff08DoNT/f tbPE46cbiZ2FmKHeE6hS4+19TTpN37ESR75ApAZhCY6zTBzZYMRscMTZbIRNEnPK hUQHnFilEWkvTqKnQarEcfrgSD8c+iEiW5W5Vwho03bdhkbun/sVd836kg+W5lzM ZibNy75ZLBZLqyEfJT8SneUY89j3ETrhaU3yCwOy7qLdDjKYCSIyHkcGevbuU5W8 t0knfRSQfEFkjAJI64mnv0hSzpvxIoE1mxp55q2VPPHacma9uYJN9UGWldzKL4Ft JdOkxWL5jhBWyQ9Gp7B7RaisR6fBZ13zcMNFe+6dKIuPMeIcRkwOFJG27rj6tN59 Wi+bdPu+1yggI5Ga/4vEiDHvfrlBXnp/FbPfqWXOe7XUNwZZFN6TRjS/zcs5ylks FkvJCKPk26GO1t099hl0jUPfyBUvzORdK9ZtKd+fMhkmwl44squIDMWh3NekU5jS /xyR/xjhXXGc+S8tWrPgyCmvPQ3sG0buLHwJ7IO1z1ssllZCUCUvwMPAJJ/91wFX RCGQmbpv+fqVMjRmnCFxoS8OPR2Hvgg9Ead7k/Lu3GTS6YzDekQaEFnvODQYYR2O s0zg60QZS2LiLI8bPmlr6v8jZ768zuOUA9EVqoIuEpyLp4HRWPu8xWLZhrgYVVpe n1l42+e3Jarxv758PpeWVnyLxWLJnyNRe7OXMvsE6NJyokXKrUSn5OuBg0srvsVi sWRSlmN/DHUm/s1n/+1AXZQCtSCXoIuDtIuovhHA/Ijqslgslrz4P7QN7SkDHY2L AAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=ul.png Content-Type: image/png; name=ul.png Content-Location: http://www.x.org/png/ul.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+g vaeTAAABEklEQVR4nH2QL08DQRTEZ971gkOcKIKEcFkBCQoEGCBgwcJXqEOQVCJB AAKDIUEi8Fg+Qg22uT+B1BCCp+J2MEtZeg2rdt7+3s68R/xzBoNBmmXZgaR9AJsA ljkLHA6H80mS9En2ACzEb62Guq73vPcPJBfjuqQGwMjiYlmWp9775wgeS3r03h82 TZM5534jVVXVA3AX9d9LOnPOvbciVVW1AuAFwFywP3HO3U65L5Hc6gR9/gMDuInh six3SF5I2gZAFkXRNbMRgFTSq5mt5nn+FZz7ki5JTmbtkDwCkAZ9HcHHkq5I/tmk AdiN9FOYwcLPrbUbyfUAfTrn3kLuDZL5NAwAJqkb7h+TotnaLBgAvgFaLXDl9+hA 6gAAAABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=t.png Content-Type: image/png; name=t.png Content-Location: http://www.x.org/png/t.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAAMCAYAAACji9dXAAAABmJLR0QA/wD/AP+g vaeTAAAAI0lEQVR4nGO4d+/efyYGBgYGpv///x9nQIC7d+8WMiBksRAASYQODdcA X9sAAAAASUVORK5CYII= ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=ur.png Content-Type: image/png; name=ur.png Content-Location: http://www.x.org/png/ur.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+g vaeTAAABJ0lEQVR4nH2QIU8DQRSEZ7ZHSJGtOnPtmQOBIAhQOASCBEFQ2P4IEix4 sOVHgECgAIO7VFESmuyx5kCQkNCEVG0Hs22uTeGpybz93nuzLIpiKOmdZF/SUxRF N61Wq8AfxaIoVDUkjUnekzxP0/RxHjCSXgB8TyeQBsCupAdrbbcsy5WZDWEqnXNr kvYBdABklTfPURTtJUlSToG5k4xz7kDSBYAkeK/e+60sy4bGWtux1u4MBoPlcNI4 TdNrktsA+sFbrdVqlzOhJX2R7Nbr9bM4jn8AwDmXeu9zkg1JYwAbphK2AeBkNBr1 nHMxALTb7TdjzGnlMzpToFKZ9/42z/OlAF1J+gi9o0UASG42m83joD3Ju6DjhUDI dFjRvYn+D1ivbPyc6F+wv4g3qE1LBAAAAABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=l.png Content-Type: image/png; name=l.png Content-Location: http://www.x.org/png/l.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAABCAYAAADq6085AAAABmJLR0QA/wD/AP+g vaeTAAAAKUlEQVR4nGO8d+/efwYGBob///8fV1ZWtmJgYGC4e/duISMjYx8DFgAA q44Lm3IdckoAAAAASUVORK5CYII= ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=bg.png Content-Type: image/png; name=bg.png Content-Location: http://www.x.org/png/bg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABmJLR0QA/wD/AP+g vaeTAAAADUlEQVR4nGO4d+/efwAI0gOaIDarjwAAAABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=r.png Content-Type: image/png; name=r.png Content-Location: http://www.x.org/png/r.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAABCAYAAADq6085AAAABmJLR0QA/wD/AP+g vaeTAAAAJUlEQVR4nG3BgQAAIAADsEWQw2VSjuYQCZRA22h7/Z0kE9oubHjmmwib L5GAIgAAAABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=ll.png Content-Type: image/png; name=ll.png Content-Location: http://www.x.org/png/ll.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+g vaeTAAABIElEQVR4nHWQvUoDURCFv7MkoI3ggghq4bKwtdiItkHsfAILCxs7fQEf wAcQbdIJYusDmE6UgJUhLN5AFq1s7JS4d8fmLsiaTHXm58ycM3LOfUmaM7PnNE03 AZxzx5IumBIR8BnwYl2U9D5tGCCS9BqGVouimAcoy/IB+Jl14THgtvd+CyDLsg/g dhbhrk7M7KjGk8nkxMyGTYLMLBqNRk7SuplVwHaapk8AeZ6vtVqtLrD710MFnAcf EXCT5/lSkPaWJMleVVUdoAu8CKDf77fjOO4BO0HawHu/n2WZ+yepBuPxeMV7fw9k gfQNXEZRdJUkyfAfAcA5tyzpGug0FvfNrGdmAzUahCecSjoDFmZKakZRFHFZlgdm dghsSBLALwh2d4suKoqqAAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=b.png Content-Type: image/png; name=b.png Content-Location: http://www.x.org/png/b.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAAMCAYAAACji9dXAAAABmJLR0QA/wD/AP+g vaeTAAAAJUlEQVR4nHXEMREAIBADsFzNYRk1FYEBfmQiQ7S9gV/H03YFOzAS1gg1 W2JkDwAAAABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=lr.png Content-Type: image/png; name=lr.png Content-Location: http://www.x.org/png/lr.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABmJLR0QA/wD/AP+g vaeTAAABAUlEQVR4nIWOIUsEYRCGn/fzglUMJsN9A9tNBsFkExTE3yAGi7DgLzCe ySIYFMFiuWAwKvojvLDfYriiSTGuO5ZdWI9bnPTOO/O8M0opOfPrPca4ApBS2gXG AKFnGXeftlrSUqt7AeCpFXVd239AFUK46PQbzdWfuYC7Hw+Hw1eAoigyYLMZPc8C X8CBmZ03oCSdSVpo5jcDd59KmgAPVVVdZVn20dJlWebAdgO/hRBu1fNSSCmdAKeS 5O4O7JjZ/R+gLMvFuq73gFzSWicgN7MRgIqi2AdWgXVgS9JyJ+MbOIoxXrfGQNJd z1uPkg5jjJOuP5jZ+3T3MXBpZi/zgn4BKxdhFaQy6uwAAAAASUVORK5CYII= ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-edit.png Content-Type: image/png; name=moin-edit.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-edit.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMBAMAAACkW0HUAAAAD1BMVEX//////2bM zP/AwMAAAADOnAx1AAAABHRSTlP///8AQCqp9AAAAAFiS0dEBI9o2VEAAAA6SURB VHjaYzAGAwZjFxcXZ2MGE0FBQRFjBkcGBgYmZ+yUiZKSApACanBQAeozNnZyBlMu xmDK2dgYAMOmC3NKXWwuAAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-show.png Content-Type: image/png; name=moin-show.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-show.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAANBAMAAABvB5JxAAAAGFBMVEUAAAAAQEAA Y2MxnAAAnGP//5z///+9vb3TcI9CAAAACHRSTlP/////////AN6DvVkAAAABYktH RAcWYYjrAAAATElEQVR42mMQYACCcgaxtOS0BHYQZZrAwCAWbGwclsAgqpJsGprA IKYWHAbiqaamqgJ5YcFhakBeqnEKiAdRKZZqnJqWADYFSAmCAQA++RLXrbb9LgAA AABJRU5ErkJggg== ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-diff.png Content-Type: image/png; name=moin-diff.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-diff.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAA8AAAALBAMAAABSacpvAAAAIVBMVEX/////l5f/ AADf7v2rtsKZwv+Ci5RRVlwtMDMAZv8AAAD8ydzwAAAAAXRSTlMAQObYZgAAAAFi S0dECmjQ9FYAAABbSURBVHjaY2BgSwMhICjOYOBILmBgYDdrYGBoMwcLMICFKjo6 CkCYYbGxsYWxsfEChpVTI6coCSoBGaEzpygKARmLI2daGSopL2CoAsovNrYCGrRq FQPXqgUMAIPhGvb6VyliAAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-info.png Content-Type: image/png; name=moin-info.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-info.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAALAgMAAAA2HoTMAAAADFBMVEX///8VTP8A Sv8AAAA+md74AAAAI0lEQVR42mNgYGBm0Fq1mkGraTWEZgKxsyF8EGaAiNv//w8A /V4Nhl+CyykAAAAASUVORK5CYII= ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-subscribe.png Content-Type: image/png; name=moin-subscribe.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-subscribe.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKBAMAAAB293L0AAAAFVBMVEUAAABzewB7 ewB7hADe3gCEhITGxsYZZWYwAAAAQklEQVR42mMIhQCGAAYICGBLA4IEhoAEQUVB RSA/mUlYSECAISBRQVCRUYEhIEmACQiBfEYFRgUg7SAkLCTMANMPAB6dCzc0yP9W AAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-raw.png Content-Type: image/png; name=moin-raw.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-raw.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAANBAMAAABvB5JxAAAAElBMVEX///8AAAD/ ///09PTJyckAQEDW8QliAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAABMSURB VHjaHYpRFcAwCMROwo5ioKCATkHrYPTNv5XR5S8vwcMCSDeLC1tcgkh1vQNb22RH UpSBNBt2zK2X6VrV9uzCc7JptTEq4v35ABtqDSkV0tDRAAAAAElFTkSuQmCC ------------pc57cQ19tSWuDZzpk1EtRe Content-Disposition: inline; filename=moin-print.png Content-Type: image/png; name=moin-print.png Content-Location: http://www.x.org/moin/freedesktop/img/moin-print.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAOBAMAAADUAYG5AAAAJFBMVEUAAAAAgADe 3t4A/wApMf8pY/9aWlqEhIStta3Ozs739/f///9ff4h3AAAADHRSTlP///////// /////wAS387OAAAAAWJLR0QAiAUdSAAAAG1JREFUeNpj2L17ezkQ7GbYvbty1apV E0CMqtDQKG4gY/usVatWghlLXFwWMHAzgJUsKChgAOspZ2dgqFqlpDRzAlCkHCJS wFC1SHOi4Ex2boYqpZmTjWcCdUEAGzfDhkVKmjMaEoAGgkW4dwMAmhQu146c6b8A AAAASUVORK5CYII= ------------pc57cQ19tSWuDZzpk1EtRe--