<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>168459</bug_id>
          
          <creation_ts>2008-08-05 23:35:29 +0000</creation_ts>
          <short_desc>ktorrent doesn&apos;t let you rename torrents</short_desc>
          <delta_ts>2008-08-07 18:24:59 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>ktorrent</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Ubuntu</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Adam Forsyth">agforsyth</reporter>
          <assigned_to name="Joris Guisson">joris.guisson</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634369</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Forsyth">agforsyth</who>
    <bug_when>2008-08-05 23:35:29 +0000</bug_when>
    <thetext>Version:           svn r842063 (using KDE 4.1.0)
Installed from:    Ubuntu Packages
Compiler:          gcc (Ubuntu 4.3.1-8ubuntu2) 4.3.1 
OS:                Linux

Sometimes the file name / top level directory name of a torrent is not descriptive or not unique. You should be able to change the name ktorrent uses in the main view, queue manager, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634374</commentid>
    <comment_count>1</comment_count>
      <attachid>26675</attachid>
    <who name="Adam Forsyth">agforsyth</who>
    <bug_when>2008-08-05 23:40:21 +0000</bug_when>
    <thetext>Created attachment 26675
patch to allow you to rename a torrent from the context menu


This patch allows you to set a display name for a torrent. This name will be
used in the main view, queue manager, speed limits dialog and tray icon pop-up.


getDisplayName() defaults to using the normal torrent name, so if you clear the
name it will reset.

It is automatically saved to the torrent stats file when you change it.

A &quot;Rename Torrent&quot; entry is added to the main view context menu and activated
when only one torrent is selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634456</commentid>
    <comment_count>2</comment_count>
      <attachid>26678</attachid>
    <who name="Adam Forsyth">agforsyth</who>
    <bug_when>2008-08-06 04:58:14 +0000</bug_when>
    <thetext>Created attachment 26678
updated patch

This patch version updates the media player and web interface plugins (c++ and
php) to use the display name where appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634902</commentid>
    <comment_count>3</comment_count>
    <who name="Joris Guisson">joris.guisson</who>
    <bug_when>2008-08-06 22:10:07 +0000</bug_when>
    <thetext>Looks good at first sight, will probably modify it a bit, so that you can double click on the name of the torrent in the view and edit it inline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634967</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Forsyth">agforsyth</who>
    <bug_when>2008-08-07 01:02:25 +0000</bug_when>
    <thetext>Cool. I thought double clicking a torrent already had an action, which is why I did it this way. Don&apos;t know why I thought that. Inline editing is much better and the context menu doesn&apos;t get bigger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635256</commentid>
    <comment_count>5</comment_count>
    <who name="Joris Guisson">joris.guisson</who>
    <bug_when>2008-08-07 18:24:48 +0000</bug_when>
    <thetext>SVN commit 843689 by guisson:

Added patch from Adam Forsyth with some modifications, which allows you to rename
torrents in the main torrent list.

BUG: 168459
BUG: 157544


 M  +1 -1      ktorrent/dbus/dbustorrent.cpp  
 M  +2 -1      ktorrent/ktorrentui.rc  
 M  +1 -1      ktorrent/queuemanagermodel.cpp  
 M  +1 -1      ktorrent/speedlimitsmodel.cpp  
 M  +9 -12     ktorrent/trayicon.cpp  
 M  +10 -0     ktorrent/view.cpp  
 M  +1 -0      ktorrent/view.h  
 M  +15 -0     ktorrent/viewmanager.cpp  
 M  +4 -0      ktorrent/viewmanager.h  
 M  +29 -13    ktorrent/viewmodel.cpp  
 M  +2 -1      ktorrent/viewmodel.h  
 M  +7 -0      libbtcore/interfaces/torrentinterface.h  
 M  +9 -1      libbtcore/torrent/torrentcontrol.cpp  
 M  +3 -0      libbtcore/torrent/torrentcontrol.h  
 M  +2 -2      plugins/mediaplayer/mediamodel.cpp  
 M  +2 -0      plugins/webinterface/phpcodegenerator.cpp  
 M  +1 -1      plugins/webinterface/www/coldmilk/rest.php  
 M  +1 -1      plugins/webinterface/www/default/details.php  
 M  +4 -4      plugins/webinterface/www/default/interface.php  
 M  +1 -1      plugins/webinterface/www/mobile/torrent.php  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=843689
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26675</attachid>
            <date>2008-08-05 23:40:21 +0000</date>
            <delta_ts>2008-08-06 04:58:14 +0000</delta_ts>
            <desc>patch to allow you to rename a torrent from the context menu</desc>
            <filename>ktdisplayname.diff</filename>
            <type>text/plain</type>
            <size>11332</size>
            <attacher name="Adam Forsyth">agforsyth</attacher>
            
              <data encoding="base64">ZGlmZiAtciA5NDE5M2QyYWZjODMga3RvcnJlbnQva3RvcnJlbnR1aS5yYwotLS0gYS9rdG9ycmVu
dC9rdG9ycmVudHVpLnJjCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9rdG9y
cmVudC9rdG9ycmVudHVpLnJjCVR1ZSBBdWcgMDUgMTY6Mzc6NTggMjAwOCAtMDUwMApAQCAtNTUs
NiArNTUsNyBAQAogCQk8QWN0aW9uIG5hbWU9InZpZXdfcGV4X2VuYWJsZWQiIC8+CiAJPC9NZW51
PgogCTxTZXBhcmF0b3IvPgorCTxBY3Rpb24gbmFtZT0idmlld19yZW5hbWVfdG9ycmVudCIgLz4K
IAk8QWN0aW9uIG5hbWU9InZpZXdfYW5ub3VuY2UiIC8+CiAJPEFjdGlvbiBuYW1lPSJ2aWV3X3Nj
cmFwZSIgLz4KIAk8QWN0aW9uIG5hbWU9InZpZXdfcHJldmlldyIgLz4KZGlmZiAtciA5NDE5M2Qy
YWZjODMga3RvcnJlbnQvcXVldWVtYW5hZ2VybW9kZWwuY3BwCi0tLSBhL2t0b3JyZW50L3F1ZXVl
bWFuYWdlcm1vZGVsLmNwcAlNb24gQXVnIDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIva3Rv
cnJlbnQvcXVldWVtYW5hZ2VybW9kZWwuY3BwCVR1ZSBBdWcgMDUgMTY6Mzc6NTggMjAwOCAtMDUw
MApAQCAtMTMyLDcgKzEzMiw3IEBACiAJCQkJCQlyZXR1cm4gUVZhcmlhbnQoKTsKIAkJCQkJZWxz
ZQogCQkJCQkJcmV0dXJuIGluZGV4LnJvdygpICsgMTsKLQkJCQljYXNlIDE6IHJldHVybiB0Yy0+
Z2V0U3RhdHMoKS50b3JyZW50X25hbWU7CisJCQkJY2FzZSAxOiByZXR1cm4gdGMtPmdldERpc3Bs
YXlOYW1lKCk7CiAJCQkJY2FzZSAyOiAKIAkJCQkJaWYgKHRjLT5nZXRQcmlvcml0eSgpID09IDAp
CiAJCQkJCQlyZXR1cm4gaTE4bigiTm90IHF1ZXVlZCIpOwpkaWZmIC1yIDk0MTkzZDJhZmM4MyBr
dG9ycmVudC9zcGVlZGxpbWl0c21vZGVsLmNwcAotLS0gYS9rdG9ycmVudC9zcGVlZGxpbWl0c21v
ZGVsLmNwcAlNb24gQXVnIDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIva3RvcnJlbnQvc3Bl
ZWRsaW1pdHNtb2RlbC5jcHAJVHVlIEF1ZyAwNSAxNjozNzo1OCAyMDA4IC0wNTAwCkBAIC0xMjks
NyArMTI5LDcgQEAKIAkJCiAJCXN3aXRjaCAoaW5kZXguY29sdW1uKCkpCiAJCXsKLQkJCWNhc2Ug
MDogcmV0dXJuIHRjLT5nZXRTdGF0cygpLnRvcnJlbnRfbmFtZTsKKwkJCWNhc2UgMDogcmV0dXJu
IHRjLT5nZXREaXNwbGF5TmFtZSgpOwogCQkJY2FzZSAxOiAKIAkJCQlpZiAocm9sZSA9PSBRdDo6
RWRpdFJvbGUgfHwgcm9sZSA9PSBRdDo6VXNlclJvbGUpCiAJCQkJCXJldHVybiBsaW0uZG93biAv
IDEwMjQ7CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGt0b3JyZW50L3RyYXlpY29uLmNwcAotLS0gYS9r
dG9ycmVudC90cmF5aWNvbi5jcHAJTW9uIEF1ZyAwNCAxMTo0NDo0MiAyMDA4IC0wNTAwCisrKyBi
L2t0b3JyZW50L3RyYXlpY29uLmNwcAlUdWUgQXVnIDA1IDE2OjM3OjU4IDIwMDggLTA1MDAKQEAg
LTE1Nyw3ICsxNTcsNyBAQAogCiAJCVFTdHJpbmcgbXNnID0gaTE4bigiPGI+JTE8L2I+IGhhcyBj
b21wbGV0ZWQgZG93bmxvYWRpbmcuIgogCQkJCQkiPGJyPkF2ZXJhZ2Ugc3BlZWQ6ICUyIERMIC8g
JTMgVUwuIiwKLQkJCQkJcy50b3JyZW50X25hbWUsCisJCQkJCXRjLT5nZXREaXNwbGF5TmFtZSgp
LAogCQkJCQlLQnl0ZXNQZXJTZWNUb1N0cmluZyhzcGVlZF9kb3duIC8gdGMtPmdldFJ1bm5pbmdU
aW1lREwoKSksCiAJCQkJCUtCeXRlc1BlclNlY1RvU3RyaW5nKHNwZWVkX3VwIC8gdGMtPmdldFJ1
bm5pbmdUaW1lVUwoKSkpOwogCkBAIC0xNzUsNyArMTc1LDcgQEAKIAkJCiAJCVFTdHJpbmcgbXNn
ID0gaTE4bigiPGI+JTE8L2I+IGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIHNoYXJlIHJhdGlvIG9m
ICUyIGFuZCBoYXMgYmVlbiBzdG9wcGVkLiIKIAkJCQkiPGJyPlVwbG9hZGVkICUzIGF0IGFuIGF2
ZXJhZ2Ugc3BlZWQgb2YgJTQuIiwKLQkJCQlzLnRvcnJlbnRfbmFtZSwKKwkJCQl0Yy0+Z2V0RGlz
cGxheU5hbWUoKSwKIAkJCQlsb2MtPmZvcm1hdE51bWJlcihzLm1heF9zaGFyZV9yYXRpbywyKSwK
IAkJCQlCeXRlc1RvU3RyaW5nKHMuYnl0ZXNfdXBsb2FkZWQpLAogCQkJCUtCeXRlc1BlclNlY1Rv
U3RyaW5nKHNwZWVkX3VwIC8gdGMtPmdldFJ1bm5pbmdUaW1lVUwoKSkpOwpAQCAtMTk0LDcgKzE5
NCw3IEBACiAJCQogCQlRU3RyaW5nIG1zZyA9IGkxOG4oIjxiPiUxPC9iPiBoYXMgcmVhY2hlZCBp
dHMgbWF4aW11bSBzZWVkIHRpbWUgb2YgJTIgaG91cnMgYW5kIGhhcyBiZWVuIHN0b3BwZWQuIgog
CQkJCSI8YnI+VXBsb2FkZWQgJTMgYXQgYW4gYXZlcmFnZSBzcGVlZCBvZiAlNC4iLAotCQkJCXMu
dG9ycmVudF9uYW1lLAorCQkJCXRjLT5nZXREaXNwbGF5TmFtZSgpLAogCQkJCWxvYy0+Zm9ybWF0
TnVtYmVyKHMubWF4X3NlZWRfdGltZSwyKSwKIAkJCQlCeXRlc1RvU3RyaW5nKHMuYnl0ZXNfdXBs
b2FkZWQpLAogCQkJCUtCeXRlc1BlclNlY1RvU3RyaW5nKHNwZWVkX3VwIC8gdGMtPmdldFJ1bm5p
bmdUaW1lVUwoKSkpOwpAQCAtMjA5LDcgKzIwOSw3IEBACiAJCQogCQljb25zdCBUb3JyZW50U3Rh
dHMgJiBzID0gdGMtPmdldFN0YXRzKCk7CiAJCVFTdHJpbmcgZXJyX21zZyA9IGkxOG4oIjxiPiUx
PC9iPiBoYXMgYmVlbiBzdG9wcGVkIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcjogPGJyPiUyIiwK
LQkJCQkJcy50b3JyZW50X25hbWUsbXNnKTsKKwkJCQkJdGMtPmdldERpc3BsYXlOYW1lKCksbXNn
KTsKIAogCQlLTm90aWZpY2F0aW9uOjpldmVudCgiVG9ycmVudFN0b3BwZWRCeUVycm9yIixlcnJf
bXNnLFFQaXhtYXAoKSxtd25kKTsKIAl9CkBAIC0yMTksOSArMjE5LDggQEAKIAkJaWYgKCFTZXR0
aW5nczo6c2hvd1BvcHVwcygpKQogCQkJcmV0dXJuOwogCQkKLQkJY29uc3QgVG9ycmVudFN0YXRz
ICYgcyA9IHRjLT5nZXRTdGF0cygpOwogCQlRU3RyaW5nIGVycl9tc2cgPSBpMThuKCJDb3JydXB0
ZWQgZGF0YSBoYXMgYmVlbiBmb3VuZCBpbiB0aGUgdG9ycmVudCA8Yj4lMTwvYj4iCi0JCQkJIjxi
cj5JdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byBkbyBhIGRhdGEgaW50ZWdyaXR5IGNoZWNrIG9u
IHRoZSB0b3JyZW50LiIscy50b3JyZW50X25hbWUpOworCQkJCSI8YnI+SXQgd291bGQgYmUgYSBn
b29kIGlkZWEgdG8gZG8gYSBkYXRhIGludGVncml0eSBjaGVjayBvbiB0aGUgdG9ycmVudC4iLHRj
LT5nZXREaXNwbGF5TmFtZSgpKTsKIAkJCQkKIAkJS05vdGlmaWNhdGlvbjo6ZXZlbnQoIkNvcnJ1
cHRlZERhdGEiLGVycl9tc2csUVBpeG1hcCgpLG13bmQpOwogCX0KQEAgLTIzOSwxMSArMjM4LDEx
IEBACiAJCWlmICh0Yy0+b3Zlck1heFJhdGlvKCkpCiAJCQltc2cgPSBpMThuKCI8Yj4lMTwvYj4g
aGFzIHJlYWNoZWQgaXRzIG1heGltdW0gc2hhcmUgcmF0aW8gb2YgJTIgYW5kIGNhbm5vdCBiZSBl
bnF1ZXVlZC4gIgogCQkJCSJSZW1vdmUgdGhlIGxpbWl0IG1hbnVhbGx5IGlmIHlvdSB3YW50IHRv
IGNvbnRpbnVlIHNlZWRpbmcuIiwKLQkJCQlzLnRvcnJlbnRfbmFtZSxsb2MtPmZvcm1hdE51bWJl
cihzLm1heF9zaGFyZV9yYXRpbywyKSk7CisJCQkJdGMtPmdldERpc3BsYXlOYW1lKCksbG9jLT5m
b3JtYXROdW1iZXIocy5tYXhfc2hhcmVfcmF0aW8sMikpOwogCQllbHNlCiAJCQltc2cgPSBpMThu
KCI8Yj4lMTwvYj4gaGFzIHJlYWNoZWQgaXRzIG1heGltdW0gc2VlZCB0aW1lIG9mICUyIGhvdXJz
IGFuZCBjYW5ub3QgYmUgZW5xdWV1ZWQuICIKIAkJCQkiUmVtb3ZlIHRoZSBsaW1pdCBtYW51YWxs
eSBpZiB5b3Ugd2FudCB0byBjb250aW51ZSBzZWVkaW5nLiIsCi0JCQkJcy50b3JyZW50X25hbWUs
bG9jLT5mb3JtYXROdW1iZXIocy5tYXhfc2VlZF90aW1lLDIpKTsKKwkJCQl0Yy0+Z2V0RGlzcGxh
eU5hbWUoKSxsb2MtPmZvcm1hdE51bWJlcihzLm1heF9zZWVkX3RpbWUsMikpOwogCQkKIAkJS05v
dGlmaWNhdGlvbjo6ZXZlbnQoIlF1ZXVlTm90UG9zc2libGUiLG1zZyxRUGl4bWFwKCksbXduZCk7
CiAJfQpAQCAtMjUzLDcgKzI1Miw3IEBACiAJCWlmICghU2V0dGluZ3M6OnNob3dQb3B1cHMoKSkK
IAkJCXJldHVybjsKIAkJCi0JCVFTdHJpbmcgbXNnID0gaTE4bigiQ2Fubm90IHN0YXJ0IDxiPiUx
PC9iPiA6IDxicj4iLHRjLT5nZXRTdGF0cygpLnRvcnJlbnRfbmFtZSk7CisJCVFTdHJpbmcgbXNn
ID0gaTE4bigiQ2Fubm90IHN0YXJ0IDxiPiUxPC9iPiA6IDxicj4iLHRjLT5nZXREaXNwbGF5TmFt
ZSgpKTsKIAkJc3dpdGNoIChyZWFzb24pCiAJCXsKIAkJY2FzZSBidDo6UU1fTElNSVRTX1JFQUNI
RUQ6CkBAIC0yODUsOSArMjg0LDcgQEAKIAkJaWYgKCFTZXR0aW5nczo6c2hvd1BvcHVwcygpKQog
CQkJcmV0dXJuOwogCQkKLQkJY29uc3QgVG9ycmVudFN0YXRzICYgcyA9IHRjLT5nZXRTdGF0cygp
OwotCQkKLQkJUVN0cmluZyBtc2cgPSBpMThuKCJZb3VyIGRpc2sgaXMgcnVubmluZyBvdXQgb2Yg
c3BhY2UuPGJyIC8+PGI+JTE8L2I+IGlzIGJlaW5nIGRvd25sb2FkZWQgdG8gJyUyJy4iLHMudG9y
cmVudF9uYW1lLHRjLT5nZXREYXRhRGlyKCkpOworCQlRU3RyaW5nIG1zZyA9IGkxOG4oIllvdXIg
ZGlzayBpcyBydW5uaW5nIG91dCBvZiBzcGFjZS48YnIgLz48Yj4lMTwvYj4gaXMgYmVpbmcgZG93
bmxvYWRlZCB0byAnJTInLiIsdGMtPmdldERpc3BsYXlOYW1lKCksdGMtPmdldERhdGFEaXIoKSk7
CiAJCQogCQlpZihzdG9wcGVkKQogCQkJbXNnLnByZXBlbmQoaTE4bigiVG9ycmVudCBoYXMgYmVl
biBzdG9wcGVkLjxiciAvPiIpKTsKZGlmZiAtciA5NDE5M2QyYWZjODMga3RvcnJlbnQvdmlldy5j
cHAKLS0tIGEva3RvcnJlbnQvdmlldy5jcHAJTW9uIEF1ZyAwNCAxMTo0NDo0MiAyMDA4IC0wNTAw
CisrKyBiL2t0b3JyZW50L3ZpZXcuY3BwCVR1ZSBBdWcgMDUgMTY6Mzc6NTggMjAwOCAtMDUwMApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGtzaGFyZWRjb25maWcuaD4KICNpbmNsdWRlIDxr
bWVzc2FnZWJveC5oPgogI2luY2x1ZGUgPGtmaWxlZGlhbG9nLmg+CisjaW5jbHVkZSA8a2lucHV0
ZGlhbG9nLmg+CiAjaW5jbHVkZSA8aW50ZXJmYWNlcy90b3JyZW50aW50ZXJmYWNlLmg+CiAjaW5j
bHVkZSA8dG9ycmVudC9xdWV1ZW1hbmFnZXIuaD4KICNpbmNsdWRlIDx1dGlsL2Z1bmN0aW9ucy5o
PgpAQCAtNDIwLDYgKzQyMSwyNiBAQAogCQl9CiAJfQogCisJdm9pZCBWaWV3OjpyZW5hbWVUb3Jy
ZW50KCkKKwl7CisJCVFMaXN0PGJ0OjpUb3JyZW50SW50ZXJmYWNlKj4gc2VsOworCQlnZXRTZWxl
Y3Rpb24oc2VsKTsKKwkJaWYgKHNlbC5jb3VudCgpID09IDApCisJCQlyZXR1cm47CisJCWJ0OjpU
b3JyZW50SW50ZXJmYWNlKiB0YyA9IHNlbC5mcm9udCgpOworCisJCWJvb2wgb2sgPSBmYWxzZTsK
KwkJUVJlZ0V4cCByZWcoIi4qIik7CisJCVFSZWdFeHBWYWxpZGF0b3IgYW55KHJlZyx0aGlzKTsK
KwkJUVN0cmluZyBkaXNwbGF5X25hbWUgPSBLSW5wdXREaWFsb2c6OmdldFRleHQoaTE4bigiU2V0
IERpc3BsYXllZCBOYW1lIiksIAorCQkJaTE4bigiQ2xlYXIgdGhlIGJveCB0byByZXNldCBuYW1l
IHRvIGRlZmF1bHQiKSwgCisJCQl0Yy0+Z2V0RGlzcGxheU5hbWUoKSwgJm9rLCB0aGlzLCAmYW55
LCBRU3RyaW5nKCksCisJCQlpMThuKCJTZXQgdGhlIGRpc3BsYXllZCBuYW1lIGZvciB0aGlzIHRv
cnJlbnQiKSwgUVN0cmluZ0xpc3QoKSk7CisKKwkJaWYob2spCisJCQl0Yy0+c2V0RGlzcGxheU5h
bWUoZGlzcGxheV9uYW1lKTsKKwl9CisKIAl2b2lkIFZpZXc6OmNoZWNrRGF0YSgpCiAJewogCQlR
TGlzdDxidDo6VG9ycmVudEludGVyZmFjZSo+IHNlbDsKZGlmZiAtciA5NDE5M2QyYWZjODMga3Rv
cnJlbnQvdmlldy5oCi0tLSBhL2t0b3JyZW50L3ZpZXcuaAlNb24gQXVnIDA0IDExOjQ0OjQyIDIw
MDggLTA1MDAKKysrIGIva3RvcnJlbnQvdmlldy5oCVR1ZSBBdWcgMDUgMTY6Mzc6NTggMjAwOCAt
MDUwMApAQCAtMTE0LDYgKzExNCw3IEBACiAJCXZvaWQgdG9nZ2xlUEVYKCk7CiAJCXZvaWQgc2Ny
YXBlKCk7CiAJCXZvaWQgbW92ZURhdGEoKTsKKwkJdm9pZCByZW5hbWVUb3JyZW50KCk7CiAJCXZv
aWQgc2hvd01lbnUoY29uc3QgUVBvaW50ICYgcG9zKTsKIAkJdm9pZCBzaG93SGVhZGVyTWVudShj
b25zdCBRUG9pbnQmIHBvcyk7CiAJCXZvaWQgb25IZWFkZXJNZW51SXRlbVRyaWdnZXJlZChRQWN0
aW9uKiBhY3QpOwpkaWZmIC1yIDk0MTkzZDJhZmM4MyBrdG9ycmVudC92aWV3bWFuYWdlci5jcHAK
LS0tIGEva3RvcnJlbnQvdmlld21hbmFnZXIuY3BwCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAt
MDUwMAorKysgYi9rdG9ycmVudC92aWV3bWFuYWdlci5jcHAJVHVlIEF1ZyAwNSAxNjozNzo1OCAy
MDA4IC0wNTAwCkBAIC0xNDIsNiArMTQyLDEzIEBACiAJCQljdXJyZW50LT51cGRhdGVGbGFncygp
OwogCQl9CiAJfQorCisJdm9pZCBWaWV3TWFuYWdlcjo6cmVuYW1lVG9ycmVudCgpCisJeworCQlp
ZiAoY3VycmVudCkKKwkJCWN1cnJlbnQtPnJlbmFtZVRvcnJlbnQoKTsKKwl9CisKIAl2b2lkIFZp
ZXdNYW5hZ2VyOjpyZW1vdmVUb3JyZW50c0FuZERhdGEoKQogCXsKIAkJaWYgKGN1cnJlbnQpCkBA
IC00MDUsNiArNDEyLDEwIEBACiAJCWNvbm5lY3QocmVtb3ZlX3RvcnJlbnRfYW5kX2RhdGEsU0lH
TkFMKHRyaWdnZXJlZCgpKSx0aGlzLFNMT1QocmVtb3ZlVG9ycmVudHNBbmREYXRhKCkpKTsKIAkJ
YWMtPmFkZEFjdGlvbigidmlld19yZW1vdmVfdG9ycmVudF9hbmRfZGF0YSIscmVtb3ZlX3RvcnJl
bnRfYW5kX2RhdGEpOwogCQkKKwkJcmVuYW1lX3RvcnJlbnQgPSBuZXcgS0FjdGlvbihpMThuKCJS
ZW5hbWUgVG9ycmVudCIpLHRoaXMpOworCQljb25uZWN0KHJlbmFtZV90b3JyZW50LFNJR05BTCh0
cmlnZ2VyZWQoKSksdGhpcyxTTE9UKHJlbmFtZVRvcnJlbnQoKSkpOworCQlhYy0+YWRkQWN0aW9u
KCJ2aWV3X3JlbmFtZV90b3JyZW50IixyZW5hbWVfdG9ycmVudCk7CisJCQogCQlxdWV1ZV90b3Jy
ZW50ID0gbmV3IEtBY3Rpb24oS0ljb24oInZpZXctY2hvb3NlIiksaTE4bigiRW5xdWV1ZS9EZXF1
ZXVlIiksdGhpcyk7CiAJCWNvbm5lY3QocXVldWVfdG9ycmVudCxTSUdOQUwodHJpZ2dlcmVkKCkp
LHRoaXMsU0xPVChxdWV1ZVRvcnJlbnRzKCkpKTsKIAkJYWMtPmFkZEFjdGlvbigidmlld19xdWV1
ZSIscXVldWVfdG9ycmVudCk7CkBAIC01NDksNiArNTYwLDcgQEAKIAkJYm9vbCBlbl9kaXJzID0g
ZmFsc2U7CiAJCWJvb2wgZW5fcGVlcl9zb3VyY2VzID0gZmFsc2U7CiAJCWJvb2wgZHVtbXkgPSBm
YWxzZTsKKwkJYm9vbCBlbl9yZW5hbWUgPSBmYWxzZTsKIAogCQlRTGlzdDxidDo6VG9ycmVudElu
dGVyZmFjZSo+IHNlbDsKIAkJdi0+Z2V0U2VsZWN0aW9uKHNlbCk7CkBAIC02MDYsNiArNjE4LDgg
QEAKIAogCQlpZiAoc2VsLmNvdW50KCkgPT0gMSkKIAkJeworCQkJZW5fcmVuYW1lID0gdHJ1ZTsK
KwogCQkJLy9lbmFibGUgZGlyZWN0b3JpZXMKIAkJCWVuX2RpcnMgPSB0cnVlOwogCQkJCkBAIC02
MzAsNiArNjQ0LDcgQEAKIAkJCXBleF9lbmFibGVkLT5zZXRFbmFibGVkKGZhbHNlKTsJCiAJCX0K
IAkJCisJCXJlbmFtZV90b3JyZW50LT5zZXRFbmFibGVkKGVuX3JlbmFtZSk7CiAJCWRhdGFfZGly
LT5zZXRFbmFibGVkKGVuX2RpcnMpOwogCQl0b3JfZGlyLT5zZXRFbmFibGVkKGVuX2RpcnMpOwog
CQlvcGVuX2Rpcl9tZW51LT5zZXRFbmFibGVkKGVuX2RpcnMpOwpkaWZmIC1yIDk0MTkzZDJhZmM4
MyBrdG9ycmVudC92aWV3bWFuYWdlci5oCi0tLSBhL2t0b3JyZW50L3ZpZXdtYW5hZ2VyLmgJTW9u
IEF1ZyAwNCAxMTo0NDo0MiAyMDA4IC0wNTAwCisrKyBiL2t0b3JyZW50L3ZpZXdtYW5hZ2VyLmgJ
VHVlIEF1ZyAwNSAxNjozNzo1OCAyMDA4IC0wNTAwCkBAIC0xMDQsNiArMTA0LDkgQEAKIAogCQkv
Ly8gUmVtb3ZlIHNlbGVjdGVkIGRvd25sb2FkcyBpbiB0aGUgY3VycmVudCB2aWV3CiAJCXZvaWQg
cmVtb3ZlVG9ycmVudHMoKTsKKwkJCisJCS8vLyBSZW1vdmUgc2VsZWN0ZWQgdG9ycmVudAorCQl2
b2lkIHJlbmFtZVRvcnJlbnQoKTsKIAkJCiAJcHJpdmF0ZSBzbG90czoKIAkJLy8vIFJlbW92ZSBz
ZWxlY3RlZCBkb3dubG9hZHMgYW5kIGRhdGEgaW4gdGhlIGN1cnJlbnQgdmlldwpAQCAtMTgzLDYg
KzE4Niw3IEBACiAJCVFBY3Rpb24qIGRhdGFfZGlyOwogCQlRQWN0aW9uKiB0b3JfZGlyOwogCQlR
QWN0aW9uKiBtb3ZlX2RhdGE7CisJCVFBY3Rpb24qIHJlbmFtZV90b3JyZW50OwogCQlRQWN0aW9u
KiByZW1vdmVfZnJvbV9ncm91cDsKIAkJUU1hcDxHcm91cCosUUFjdGlvbio+IGdyb3VwX2FjdGlv
bnM7CiAJCVFBY3Rpb24qIGFkZF90b19uZXdfZ3JvdXA7CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGt0
b3JyZW50L3ZpZXdtb2RlbC5jcHAKLS0tIGEva3RvcnJlbnQvdmlld21vZGVsLmNwcAlNb24gQXVn
IDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIva3RvcnJlbnQvdmlld21vZGVsLmNwcAlUdWUg
QXVnIDA1IDE2OjM3OjU4IDIwMDggLTA1MDAKQEAgLTE2MSw3ICsxNjEsNyBAQAogCQljb25zdCBU
b3JyZW50U3RhdHMgJiBzID0gdGMtPmdldFN0YXRzKCk7CiAJCXN3aXRjaCAoY29sKQogCQl7Ci0J
CQljYXNlIDA6IHJldHVybiB0Yy0+Z2V0U3RhdHMoKS50b3JyZW50X25hbWU7CisJCQljYXNlIDA6
IHJldHVybiB0Yy0+Z2V0RGlzcGxheU5hbWUoKTsKIAkJCWNhc2UgMTogcmV0dXJuIHRjLT5zdGF0
dXNUb1N0cmluZygpOwogCQkJY2FzZSAyOiByZXR1cm4gQnl0ZXNUb1N0cmluZyhieXRlc19kb3du
bG9hZGVkKTsKIAkJCWNhc2UgMzogcmV0dXJuIEJ5dGVzVG9TdHJpbmcodG90YWxfYnl0ZXNfdG9f
ZG93bmxvYWQpOwpAQCAtMjAzLDcgKzIwMyw3IEBACiAJCWNvbnN0IFRvcnJlbnRTdGF0cyAmIHMg
PSB0Yy0+Z2V0U3RhdHMoKTsKIAkJc3dpdGNoIChjb2wpCiAJCXsKLQkJCWNhc2UgMDogcmV0dXJu
IHRjLT5nZXRTdGF0cygpLnRvcnJlbnRfbmFtZTsKKwkJCWNhc2UgMDogcmV0dXJuIHRjLT5nZXRE
aXNwbGF5TmFtZSgpOwogCQkJY2FzZSAxOiByZXR1cm4gdGMtPnN0YXR1c1RvU3RyaW5nKCk7CiAJ
CQljYXNlIDI6IHJldHVybiBieXRlc19kb3dubG9hZGVkOwogCQkJY2FzZSAzOiByZXR1cm4gdG90
YWxfYnl0ZXNfdG9fZG93bmxvYWQ7CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGxpYmJ0Y29yZS9pbnRl
cmZhY2VzL3RvcnJlbnRpbnRlcmZhY2UuaAotLS0gYS9saWJidGNvcmUvaW50ZXJmYWNlcy90b3Jy
ZW50aW50ZXJmYWNlLmgJTW9uIEF1ZyAwNCAxMTo0NDo0MiAyMDA4IC0wNTAwCisrKyBiL2xpYmJ0
Y29yZS9pbnRlcmZhY2VzL3RvcnJlbnRpbnRlcmZhY2UuaAlUdWUgQXVnIDA1IDE2OjM3OjU4IDIw
MDggLTA1MDAKQEAgLTQ5NCw2ICs0OTQsMTIgQEAKIAkJCiAJCS8vLyBHZXRzIHRoZSB1c2VyIG1v
ZGlmaWVkIGZpbGUgb3IgdG9wbGV2ZWwgZGlyZWN0b3J5IG5hbWUKIAkJUVN0cmluZyBnZXRVc2Vy
TW9kaWZpZWRGaWxlTmFtZSgpIGNvbnN0IHtyZXR1cm4gdXNlcl9tb2RpZmllZF9uYW1lLmlzRW1w
dHkoKSA/IHN0YXRzLnRvcnJlbnRfbmFtZSA6IHVzZXJfbW9kaWZpZWRfbmFtZTt9CisKKwkJLy8v
IFNldCB0aGUgZGlzcGxheWVkIG5hbWUKKwkJdmlydHVhbCB2b2lkIHNldERpc3BsYXlOYW1lKGNv
bnN0IFFTdHJpbmcgJiBuKSA9IDA7CisJCQorCQkvLy8gR2V0cyB0aGUgZGlzcGxheWVkIG5hbWUK
KwkJUVN0cmluZyBnZXREaXNwbGF5TmFtZSgpIGNvbnN0IHtyZXR1cm4gZGlzcGxheV9uYW1lLmlz
RW1wdHkoKSA/IHN0YXRzLnRvcnJlbnRfbmFtZSA6IGRpc3BsYXlfbmFtZTt9CiAJc2lnbmFsczoK
IAkJLyoqCiAJCSAqIEVtaXR0ZWQgd2hlbiB3ZSBoYXZlIGZpbmlzaGVkIGRvd25sb2FkaW5nLgpA
QCAtNTcwLDYgKzU3Niw3IEBACiAJcHJvdGVjdGVkOgogCQlUb3JyZW50U3RhdHMgc3RhdHM7CiAJ
CVFTdHJpbmcgdXNlcl9tb2RpZmllZF9uYW1lOworCQlRU3RyaW5nIGRpc3BsYXlfbmFtZTsKIAl9
OwogCiAKZGlmZiAtciA5NDE5M2QyYWZjODMgbGliYnRjb3JlL3RvcnJlbnQvdG9ycmVudGNvbnRy
b2wuY3BwCi0tLSBhL2xpYmJ0Y29yZS90b3JyZW50L3RvcnJlbnRjb250cm9sLmNwcAlNb24gQXVn
IDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIvbGliYnRjb3JlL3RvcnJlbnQvdG9ycmVudGNv
bnRyb2wuY3BwCVR1ZSBBdWcgMDUgMTY6Mzc6NTggMjAwOCAtMDUwMApAQCAtNzM2LDcgKzczNiwx
MSBAQAogCQlPdXQoU1lTX0dFTnxMT0dfREVCVUcpIDw8ICJPdXRwdXRQYXRoID0gIiA8PCBzdGF0
cy5vdXRwdXRfcGF0aCA8PCBlbmRsOwogCX0KIAkKLQorCXZvaWQgVG9ycmVudENvbnRyb2w6OnNl
dERpc3BsYXlOYW1lKGNvbnN0IFFTdHJpbmcgJiBuKQorCXsKKwkJZGlzcGxheV9uYW1lID0gbjsK
KwkJc2F2ZVN0YXRzKCk7CisJfQogCiAJYm9vbCBUb3JyZW50Q29udHJvbDo6YW5ub3VuY2VBbGxv
d2VkKCkKIAl7CkBAIC0xMDk4LDYgKzExMDIsNyBAQAogCQlzdC53cml0ZSgiQVNTVVJFRF9ET1dO
TE9BRF9TUEVFRCIsUVN0cmluZzo6bnVtYmVyKGFzc3VyZWRfZG93bmxvYWRfc3BlZWQpKTsKIAkJ
aWYgKCF1c2VyX21vZGlmaWVkX25hbWUuaXNFbXB0eSgpKQogCQkJc3Qud3JpdGUoIlVTRVJfTU9E
SUZJRURfTkFNRSIsdXNlcl9tb2RpZmllZF9uYW1lKTsKKwkJc3Qud3JpdGUoIkRJU1BMQVlfTkFN
RSIsZGlzcGxheV9uYW1lKTsKIAkJc3Qud3JpdGVTeW5jKCk7CiAJfQogCkBAIC0xMTI3LDYgKzEx
MzIsOSBAQAogCQkKIAkJaWYgKHN0Lmhhc0tleSgiVVNFUl9NT0RJRklFRF9OQU1FIikpCiAJCQl1
c2VyX21vZGlmaWVkX25hbWUgPSBzdC5yZWFkU3RyaW5nKCJVU0VSX01PRElGSUVEX05BTUUiKTsK
KwkJCisJCWlmIChzdC5oYXNLZXkoIkRJU1BMQVlfTkFNRSIpKQorCQkJZGlzcGxheV9uYW1lID0g
c3QucmVhZFN0cmluZygiRElTUExBWV9OQU1FIik7CiAJCQogCQlzZXRQcmlvcml0eShzdC5yZWFk
SW50KCJQUklPUklUWSIpKTsKIAkJc3RhdHMudXNlcl9jb250cm9sbGVkID0gaXN0YXRzLnByaW9y
aXR5ID09IDAgPyB0cnVlIDogZmFsc2U7CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGxpYmJ0Y29yZS90
b3JyZW50L3RvcnJlbnRjb250cm9sLmgKLS0tIGEvbGliYnRjb3JlL3RvcnJlbnQvdG9ycmVudGNv
bnRyb2wuaAlNb24gQXVnIDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIvbGliYnRjb3JlL3Rv
cnJlbnQvdG9ycmVudGNvbnRyb2wuaAlUdWUgQXVnIDA1IDE2OjM3OjU4IDIwMDggLTA1MDAKQEAg
LTE0Niw2ICsxNDYsOSBAQAogCQkgKi8KIAkJdm9pZCByb2xsYmFjaygpOwogCQorCQkvLy8gQ2hh
bmdlIHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHRvcnJlbnQKKwkJdm9pZCBzZXREaXNwbGF5TmFt
ZShjb25zdCBRU3RyaW5nICYgbik7CisKIAkJLy8vIEdldHMgdGhlIFRyYWNrZXJzTGlzdCBpbnRl
cmZhY2UKIAkJVHJhY2tlcnNMaXN0KiBnZXRUcmFja2Vyc0xpc3QoKTsKIAkJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26678</attachid>
            <date>2008-08-06 04:58:14 +0000</date>
            <delta_ts>2008-08-06 04:58:14 +0000</delta_ts>
            <desc>updated patch</desc>
            <filename>ktdisplayname.diff</filename>
            <type>text/plain</type>
            <size>17235</size>
            <attacher name="Adam Forsyth">agforsyth</attacher>
            
              <data encoding="base64">ZGlmZiAtciA5NDE5M2QyYWZjODMga3RvcnJlbnQvZGJ1cy9kYnVzdG9ycmVudC5jcHAKLS0tIGEv
a3RvcnJlbnQvZGJ1cy9kYnVzdG9ycmVudC5jcHAJTW9uIEF1ZyAwNCAxMTo0NDo0MiAyMDA4IC0w
NTAwCisrKyBiL2t0b3JyZW50L2RidXMvZGJ1c3RvcnJlbnQuY3BwCVR1ZSBBdWcgMDUgMjE6NTI6
MTUgMjAwOCAtMDUwMApAQCAtNjIsNyArNjIsNyBAQAogCQogCVFTdHJpbmcgREJ1c1RvcnJlbnQ6
Om5hbWUoKSBjb25zdAogCXsKLQkJcmV0dXJuIHRpLT5nZXRTdGF0cygpLnRvcnJlbnRfbmFtZTsK
KwkJcmV0dXJuIHRpLT5nZXREaXNwbGF5TmFtZSgpOwogCX0KIAkKIAlib29sIERCdXNUb3JyZW50
Ojppc1ByaXZhdGUoKSBjb25zdApkaWZmIC1yIDk0MTkzZDJhZmM4MyBrdG9ycmVudC9rdG9ycmVu
dHVpLnJjCi0tLSBhL2t0b3JyZW50L2t0b3JyZW50dWkucmMJTW9uIEF1ZyAwNCAxMTo0NDo0MiAy
MDA4IC0wNTAwCisrKyBiL2t0b3JyZW50L2t0b3JyZW50dWkucmMJVHVlIEF1ZyAwNSAyMTo1Mjox
NiAyMDA4IC0wNTAwCkBAIC01NSw2ICs1NSw3IEBACiAJCTxBY3Rpb24gbmFtZT0idmlld19wZXhf
ZW5hYmxlZCIgLz4KIAk8L01lbnU+CiAJPFNlcGFyYXRvci8+CisJPEFjdGlvbiBuYW1lPSJ2aWV3
X3JlbmFtZV90b3JyZW50IiAvPgogCTxBY3Rpb24gbmFtZT0idmlld19hbm5vdW5jZSIgLz4KIAk8
QWN0aW9uIG5hbWU9InZpZXdfc2NyYXBlIiAvPgogCTxBY3Rpb24gbmFtZT0idmlld19wcmV2aWV3
IiAvPgpkaWZmIC1yIDk0MTkzZDJhZmM4MyBrdG9ycmVudC9xdWV1ZW1hbmFnZXJtb2RlbC5jcHAK
LS0tIGEva3RvcnJlbnQvcXVldWVtYW5hZ2VybW9kZWwuY3BwCU1vbiBBdWcgMDQgMTE6NDQ6NDIg
MjAwOCAtMDUwMAorKysgYi9rdG9ycmVudC9xdWV1ZW1hbmFnZXJtb2RlbC5jcHAJVHVlIEF1ZyAw
NSAyMTo1MjoxNiAyMDA4IC0wNTAwCkBAIC0xMzIsNyArMTMyLDcgQEAKIAkJCQkJCXJldHVybiBR
VmFyaWFudCgpOwogCQkJCQllbHNlCiAJCQkJCQlyZXR1cm4gaW5kZXgucm93KCkgKyAxOwotCQkJ
CWNhc2UgMTogcmV0dXJuIHRjLT5nZXRTdGF0cygpLnRvcnJlbnRfbmFtZTsKKwkJCQljYXNlIDE6
IHJldHVybiB0Yy0+Z2V0RGlzcGxheU5hbWUoKTsKIAkJCQljYXNlIDI6IAogCQkJCQlpZiAodGMt
PmdldFByaW9yaXR5KCkgPT0gMCkKIAkJCQkJCXJldHVybiBpMThuKCJOb3QgcXVldWVkIik7CmRp
ZmYgLXIgOTQxOTNkMmFmYzgzIGt0b3JyZW50L3NwZWVkbGltaXRzbW9kZWwuY3BwCi0tLSBhL2t0
b3JyZW50L3NwZWVkbGltaXRzbW9kZWwuY3BwCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUw
MAorKysgYi9rdG9ycmVudC9zcGVlZGxpbWl0c21vZGVsLmNwcAlUdWUgQXVnIDA1IDIxOjUyOjE2
IDIwMDggLTA1MDAKQEAgLTEyOSw3ICsxMjksNyBAQAogCQkKIAkJc3dpdGNoIChpbmRleC5jb2x1
bW4oKSkKIAkJewotCQkJY2FzZSAwOiByZXR1cm4gdGMtPmdldFN0YXRzKCkudG9ycmVudF9uYW1l
OworCQkJY2FzZSAwOiByZXR1cm4gdGMtPmdldERpc3BsYXlOYW1lKCk7CiAJCQljYXNlIDE6IAog
CQkJCWlmIChyb2xlID09IFF0OjpFZGl0Um9sZSB8fCByb2xlID09IFF0OjpVc2VyUm9sZSkKIAkJ
CQkJcmV0dXJuIGxpbS5kb3duIC8gMTAyNDsKZGlmZiAtciA5NDE5M2QyYWZjODMga3RvcnJlbnQv
dHJheWljb24uY3BwCi0tLSBhL2t0b3JyZW50L3RyYXlpY29uLmNwcAlNb24gQXVnIDA0IDExOjQ0
OjQyIDIwMDggLTA1MDAKKysrIGIva3RvcnJlbnQvdHJheWljb24uY3BwCVR1ZSBBdWcgMDUgMjE6
NTI6MTYgMjAwOCAtMDUwMApAQCAtMTU3LDcgKzE1Nyw3IEBACiAKIAkJUVN0cmluZyBtc2cgPSBp
MThuKCI8Yj4lMTwvYj4gaGFzIGNvbXBsZXRlZCBkb3dubG9hZGluZy4iCiAJCQkJCSI8YnI+QXZl
cmFnZSBzcGVlZDogJTIgREwgLyAlMyBVTC4iLAotCQkJCQlzLnRvcnJlbnRfbmFtZSwKKwkJCQkJ
dGMtPmdldERpc3BsYXlOYW1lKCksCiAJCQkJCUtCeXRlc1BlclNlY1RvU3RyaW5nKHNwZWVkX2Rv
d24gLyB0Yy0+Z2V0UnVubmluZ1RpbWVETCgpKSwKIAkJCQkJS0J5dGVzUGVyU2VjVG9TdHJpbmco
c3BlZWRfdXAgLyB0Yy0+Z2V0UnVubmluZ1RpbWVVTCgpKSk7CiAKQEAgLTE3NSw3ICsxNzUsNyBA
QAogCQkKIAkJUVN0cmluZyBtc2cgPSBpMThuKCI8Yj4lMTwvYj4gaGFzIHJlYWNoZWQgaXRzIG1h
eGltdW0gc2hhcmUgcmF0aW8gb2YgJTIgYW5kIGhhcyBiZWVuIHN0b3BwZWQuIgogCQkJCSI8YnI+
VXBsb2FkZWQgJTMgYXQgYW4gYXZlcmFnZSBzcGVlZCBvZiAlNC4iLAotCQkJCXMudG9ycmVudF9u
YW1lLAorCQkJCXRjLT5nZXREaXNwbGF5TmFtZSgpLAogCQkJCWxvYy0+Zm9ybWF0TnVtYmVyKHMu
bWF4X3NoYXJlX3JhdGlvLDIpLAogCQkJCUJ5dGVzVG9TdHJpbmcocy5ieXRlc191cGxvYWRlZCks
CiAJCQkJS0J5dGVzUGVyU2VjVG9TdHJpbmcoc3BlZWRfdXAgLyB0Yy0+Z2V0UnVubmluZ1RpbWVV
TCgpKSk7CkBAIC0xOTQsNyArMTk0LDcgQEAKIAkJCiAJCVFTdHJpbmcgbXNnID0gaTE4bigiPGI+
JTE8L2I+IGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIHNlZWQgdGltZSBvZiAlMiBob3VycyBhbmQg
aGFzIGJlZW4gc3RvcHBlZC4iCiAJCQkJIjxicj5VcGxvYWRlZCAlMyBhdCBhbiBhdmVyYWdlIHNw
ZWVkIG9mICU0LiIsCi0JCQkJcy50b3JyZW50X25hbWUsCisJCQkJdGMtPmdldERpc3BsYXlOYW1l
KCksCiAJCQkJbG9jLT5mb3JtYXROdW1iZXIocy5tYXhfc2VlZF90aW1lLDIpLAogCQkJCUJ5dGVz
VG9TdHJpbmcocy5ieXRlc191cGxvYWRlZCksCiAJCQkJS0J5dGVzUGVyU2VjVG9TdHJpbmcoc3Bl
ZWRfdXAgLyB0Yy0+Z2V0UnVubmluZ1RpbWVVTCgpKSk7CkBAIC0yMDksNyArMjA5LDcgQEAKIAkJ
CiAJCWNvbnN0IFRvcnJlbnRTdGF0cyAmIHMgPSB0Yy0+Z2V0U3RhdHMoKTsKIAkJUVN0cmluZyBl
cnJfbXNnID0gaTE4bigiPGI+JTE8L2I+IGhhcyBiZWVuIHN0b3BwZWQgd2l0aCB0aGUgZm9sbG93
aW5nIGVycm9yOiA8YnI+JTIiLAotCQkJCQlzLnRvcnJlbnRfbmFtZSxtc2cpOworCQkJCQl0Yy0+
Z2V0RGlzcGxheU5hbWUoKSxtc2cpOwogCiAJCUtOb3RpZmljYXRpb246OmV2ZW50KCJUb3JyZW50
U3RvcHBlZEJ5RXJyb3IiLGVycl9tc2csUVBpeG1hcCgpLG13bmQpOwogCX0KQEAgLTIxOSw5ICsy
MTksOCBAQAogCQlpZiAoIVNldHRpbmdzOjpzaG93UG9wdXBzKCkpCiAJCQlyZXR1cm47CiAJCQot
CQljb25zdCBUb3JyZW50U3RhdHMgJiBzID0gdGMtPmdldFN0YXRzKCk7CiAJCVFTdHJpbmcgZXJy
X21zZyA9IGkxOG4oIkNvcnJ1cHRlZCBkYXRhIGhhcyBiZWVuIGZvdW5kIGluIHRoZSB0b3JyZW50
IDxiPiUxPC9iPiIKLQkJCQkiPGJyPkl0IHdvdWxkIGJlIGEgZ29vZCBpZGVhIHRvIGRvIGEgZGF0
YSBpbnRlZ3JpdHkgY2hlY2sgb24gdGhlIHRvcnJlbnQuIixzLnRvcnJlbnRfbmFtZSk7CisJCQkJ
Ijxicj5JdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byBkbyBhIGRhdGEgaW50ZWdyaXR5IGNoZWNr
IG9uIHRoZSB0b3JyZW50LiIsdGMtPmdldERpc3BsYXlOYW1lKCkpOwogCQkJCQogCQlLTm90aWZp
Y2F0aW9uOjpldmVudCgiQ29ycnVwdGVkRGF0YSIsZXJyX21zZyxRUGl4bWFwKCksbXduZCk7CiAJ
fQpAQCAtMjM5LDExICsyMzgsMTEgQEAKIAkJaWYgKHRjLT5vdmVyTWF4UmF0aW8oKSkKIAkJCW1z
ZyA9IGkxOG4oIjxiPiUxPC9iPiBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBzaGFyZSByYXRpbyBv
ZiAlMiBhbmQgY2Fubm90IGJlIGVucXVldWVkLiAiCiAJCQkJIlJlbW92ZSB0aGUgbGltaXQgbWFu
dWFsbHkgaWYgeW91IHdhbnQgdG8gY29udGludWUgc2VlZGluZy4iLAotCQkJCXMudG9ycmVudF9u
YW1lLGxvYy0+Zm9ybWF0TnVtYmVyKHMubWF4X3NoYXJlX3JhdGlvLDIpKTsKKwkJCQl0Yy0+Z2V0
RGlzcGxheU5hbWUoKSxsb2MtPmZvcm1hdE51bWJlcihzLm1heF9zaGFyZV9yYXRpbywyKSk7CiAJ
CWVsc2UKIAkJCW1zZyA9IGkxOG4oIjxiPiUxPC9iPiBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBz
ZWVkIHRpbWUgb2YgJTIgaG91cnMgYW5kIGNhbm5vdCBiZSBlbnF1ZXVlZC4gIgogCQkJCSJSZW1v
dmUgdGhlIGxpbWl0IG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHNlZWRpbmcuIiwK
LQkJCQlzLnRvcnJlbnRfbmFtZSxsb2MtPmZvcm1hdE51bWJlcihzLm1heF9zZWVkX3RpbWUsMikp
OworCQkJCXRjLT5nZXREaXNwbGF5TmFtZSgpLGxvYy0+Zm9ybWF0TnVtYmVyKHMubWF4X3NlZWRf
dGltZSwyKSk7CiAJCQogCQlLTm90aWZpY2F0aW9uOjpldmVudCgiUXVldWVOb3RQb3NzaWJsZSIs
bXNnLFFQaXhtYXAoKSxtd25kKTsKIAl9CkBAIC0yNTMsNyArMjUyLDcgQEAKIAkJaWYgKCFTZXR0
aW5nczo6c2hvd1BvcHVwcygpKQogCQkJcmV0dXJuOwogCQkKLQkJUVN0cmluZyBtc2cgPSBpMThu
KCJDYW5ub3Qgc3RhcnQgPGI+JTE8L2I+IDogPGJyPiIsdGMtPmdldFN0YXRzKCkudG9ycmVudF9u
YW1lKTsKKwkJUVN0cmluZyBtc2cgPSBpMThuKCJDYW5ub3Qgc3RhcnQgPGI+JTE8L2I+IDogPGJy
PiIsdGMtPmdldERpc3BsYXlOYW1lKCkpOwogCQlzd2l0Y2ggKHJlYXNvbikKIAkJewogCQljYXNl
IGJ0OjpRTV9MSU1JVFNfUkVBQ0hFRDoKQEAgLTI4NSw5ICsyODQsNyBAQAogCQlpZiAoIVNldHRp
bmdzOjpzaG93UG9wdXBzKCkpCiAJCQlyZXR1cm47CiAJCQotCQljb25zdCBUb3JyZW50U3RhdHMg
JiBzID0gdGMtPmdldFN0YXRzKCk7Ci0JCQotCQlRU3RyaW5nIG1zZyA9IGkxOG4oIllvdXIgZGlz
ayBpcyBydW5uaW5nIG91dCBvZiBzcGFjZS48YnIgLz48Yj4lMTwvYj4gaXMgYmVpbmcgZG93bmxv
YWRlZCB0byAnJTInLiIscy50b3JyZW50X25hbWUsdGMtPmdldERhdGFEaXIoKSk7CisJCVFTdHJp
bmcgbXNnID0gaTE4bigiWW91ciBkaXNrIGlzIHJ1bm5pbmcgb3V0IG9mIHNwYWNlLjxiciAvPjxi
PiUxPC9iPiBpcyBiZWluZyBkb3dubG9hZGVkIHRvICclMicuIix0Yy0+Z2V0RGlzcGxheU5hbWUo
KSx0Yy0+Z2V0RGF0YURpcigpKTsKIAkJCiAJCWlmKHN0b3BwZWQpCiAJCQltc2cucHJlcGVuZChp
MThuKCJUb3JyZW50IGhhcyBiZWVuIHN0b3BwZWQuPGJyIC8+IikpOwpkaWZmIC1yIDk0MTkzZDJh
ZmM4MyBrdG9ycmVudC92aWV3LmNwcAotLS0gYS9rdG9ycmVudC92aWV3LmNwcAlNb24gQXVnIDA0
IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIva3RvcnJlbnQvdmlldy5jcHAJVHVlIEF1ZyAwNSAy
MTo1MjoxNiAyMDA4IC0wNTAwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8a3NoYXJlZGNv
bmZpZy5oPgogI2luY2x1ZGUgPGttZXNzYWdlYm94Lmg+CiAjaW5jbHVkZSA8a2ZpbGVkaWFsb2cu
aD4KKyNpbmNsdWRlIDxraW5wdXRkaWFsb2cuaD4KICNpbmNsdWRlIDxpbnRlcmZhY2VzL3RvcnJl
bnRpbnRlcmZhY2UuaD4KICNpbmNsdWRlIDx0b3JyZW50L3F1ZXVlbWFuYWdlci5oPgogI2luY2x1
ZGUgPHV0aWwvZnVuY3Rpb25zLmg+CkBAIC00MjAsNiArNDIxLDI2IEBACiAJCX0KIAl9CiAKKwl2
b2lkIFZpZXc6OnJlbmFtZVRvcnJlbnQoKQorCXsKKwkJUUxpc3Q8YnQ6OlRvcnJlbnRJbnRlcmZh
Y2UqPiBzZWw7CisJCWdldFNlbGVjdGlvbihzZWwpOworCQlpZiAoc2VsLmNvdW50KCkgPT0gMCkK
KwkJCXJldHVybjsKKwkJYnQ6OlRvcnJlbnRJbnRlcmZhY2UqIHRjID0gc2VsLmZyb250KCk7CisK
KwkJYm9vbCBvayA9IGZhbHNlOworCQlRUmVnRXhwIHJlZygiLioiKTsKKwkJUVJlZ0V4cFZhbGlk
YXRvciBhbnkocmVnLHRoaXMpOworCQlRU3RyaW5nIGRpc3BsYXlfbmFtZSA9IEtJbnB1dERpYWxv
Zzo6Z2V0VGV4dChpMThuKCJTZXQgRGlzcGxheWVkIE5hbWUiKSwgCisJCQlpMThuKCJDbGVhciB0
aGUgYm94IHRvIHJlc2V0IG5hbWUgdG8gZGVmYXVsdCIpLCAKKwkJCXRjLT5nZXREaXNwbGF5TmFt
ZSgpLCAmb2ssIHRoaXMsICZhbnksIFFTdHJpbmcoKSwKKwkJCWkxOG4oIlNldCB0aGUgZGlzcGxh
eWVkIG5hbWUgZm9yIHRoaXMgdG9ycmVudCIpLCBRU3RyaW5nTGlzdCgpKTsKKworCQlpZihvaykK
KwkJCXRjLT5zZXREaXNwbGF5TmFtZShkaXNwbGF5X25hbWUpOworCX0KKwogCXZvaWQgVmlldzo6
Y2hlY2tEYXRhKCkKIAl7CiAJCVFMaXN0PGJ0OjpUb3JyZW50SW50ZXJmYWNlKj4gc2VsOwpkaWZm
IC1yIDk0MTkzZDJhZmM4MyBrdG9ycmVudC92aWV3LmgKLS0tIGEva3RvcnJlbnQvdmlldy5oCU1v
biBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9rdG9ycmVudC92aWV3LmgJVHVlIEF1
ZyAwNSAyMTo1MjoxNiAyMDA4IC0wNTAwCkBAIC0xMTQsNiArMTE0LDcgQEAKIAkJdm9pZCB0b2dn
bGVQRVgoKTsKIAkJdm9pZCBzY3JhcGUoKTsKIAkJdm9pZCBtb3ZlRGF0YSgpOworCQl2b2lkIHJl
bmFtZVRvcnJlbnQoKTsKIAkJdm9pZCBzaG93TWVudShjb25zdCBRUG9pbnQgJiBwb3MpOwogCQl2
b2lkIHNob3dIZWFkZXJNZW51KGNvbnN0IFFQb2ludCYgcG9zKTsKIAkJdm9pZCBvbkhlYWRlck1l
bnVJdGVtVHJpZ2dlcmVkKFFBY3Rpb24qIGFjdCk7CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGt0b3Jy
ZW50L3ZpZXdtYW5hZ2VyLmNwcAotLS0gYS9rdG9ycmVudC92aWV3bWFuYWdlci5jcHAJTW9uIEF1
ZyAwNCAxMTo0NDo0MiAyMDA4IC0wNTAwCisrKyBiL2t0b3JyZW50L3ZpZXdtYW5hZ2VyLmNwcAlU
dWUgQXVnIDA1IDIxOjUyOjE2IDIwMDggLTA1MDAKQEAgLTE0Miw2ICsxNDIsMTMgQEAKIAkJCWN1
cnJlbnQtPnVwZGF0ZUZsYWdzKCk7CiAJCX0KIAl9CisKKwl2b2lkIFZpZXdNYW5hZ2VyOjpyZW5h
bWVUb3JyZW50KCkKKwl7CisJCWlmIChjdXJyZW50KQorCQkJY3VycmVudC0+cmVuYW1lVG9ycmVu
dCgpOworCX0KKwogCXZvaWQgVmlld01hbmFnZXI6OnJlbW92ZVRvcnJlbnRzQW5kRGF0YSgpCiAJ
ewogCQlpZiAoY3VycmVudCkKQEAgLTQwNSw2ICs0MTIsMTAgQEAKIAkJY29ubmVjdChyZW1vdmVf
dG9ycmVudF9hbmRfZGF0YSxTSUdOQUwodHJpZ2dlcmVkKCkpLHRoaXMsU0xPVChyZW1vdmVUb3Jy
ZW50c0FuZERhdGEoKSkpOwogCQlhYy0+YWRkQWN0aW9uKCJ2aWV3X3JlbW92ZV90b3JyZW50X2Fu
ZF9kYXRhIixyZW1vdmVfdG9ycmVudF9hbmRfZGF0YSk7CiAJCQorCQlyZW5hbWVfdG9ycmVudCA9
IG5ldyBLQWN0aW9uKGkxOG4oIlJlbmFtZSBUb3JyZW50IiksdGhpcyk7CisJCWNvbm5lY3QocmVu
YW1lX3RvcnJlbnQsU0lHTkFMKHRyaWdnZXJlZCgpKSx0aGlzLFNMT1QocmVuYW1lVG9ycmVudCgp
KSk7CisJCWFjLT5hZGRBY3Rpb24oInZpZXdfcmVuYW1lX3RvcnJlbnQiLHJlbmFtZV90b3JyZW50
KTsKKwkJCiAJCXF1ZXVlX3RvcnJlbnQgPSBuZXcgS0FjdGlvbihLSWNvbigidmlldy1jaG9vc2Ui
KSxpMThuKCJFbnF1ZXVlL0RlcXVldWUiKSx0aGlzKTsKIAkJY29ubmVjdChxdWV1ZV90b3JyZW50
LFNJR05BTCh0cmlnZ2VyZWQoKSksdGhpcyxTTE9UKHF1ZXVlVG9ycmVudHMoKSkpOwogCQlhYy0+
YWRkQWN0aW9uKCJ2aWV3X3F1ZXVlIixxdWV1ZV90b3JyZW50KTsKQEAgLTU0OSw2ICs1NjAsNyBA
QAogCQlib29sIGVuX2RpcnMgPSBmYWxzZTsKIAkJYm9vbCBlbl9wZWVyX3NvdXJjZXMgPSBmYWxz
ZTsKIAkJYm9vbCBkdW1teSA9IGZhbHNlOworCQlib29sIGVuX3JlbmFtZSA9IGZhbHNlOwogCiAJ
CVFMaXN0PGJ0OjpUb3JyZW50SW50ZXJmYWNlKj4gc2VsOwogCQl2LT5nZXRTZWxlY3Rpb24oc2Vs
KTsKQEAgLTYwNiw2ICs2MTgsOCBAQAogCiAJCWlmIChzZWwuY291bnQoKSA9PSAxKQogCQl7CisJ
CQllbl9yZW5hbWUgPSB0cnVlOworCiAJCQkvL2VuYWJsZSBkaXJlY3RvcmllcwogCQkJZW5fZGly
cyA9IHRydWU7CiAJCQkKQEAgLTYzMCw2ICs2NDQsNyBAQAogCQkJcGV4X2VuYWJsZWQtPnNldEVu
YWJsZWQoZmFsc2UpOwkKIAkJfQogCQkKKwkJcmVuYW1lX3RvcnJlbnQtPnNldEVuYWJsZWQoZW5f
cmVuYW1lKTsKIAkJZGF0YV9kaXItPnNldEVuYWJsZWQoZW5fZGlycyk7CiAJCXRvcl9kaXItPnNl
dEVuYWJsZWQoZW5fZGlycyk7CiAJCW9wZW5fZGlyX21lbnUtPnNldEVuYWJsZWQoZW5fZGlycyk7
CmRpZmYgLXIgOTQxOTNkMmFmYzgzIGt0b3JyZW50L3ZpZXdtYW5hZ2VyLmgKLS0tIGEva3RvcnJl
bnQvdmlld21hbmFnZXIuaAlNb24gQXVnIDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIva3Rv
cnJlbnQvdmlld21hbmFnZXIuaAlUdWUgQXVnIDA1IDIxOjUyOjE2IDIwMDggLTA1MDAKQEAgLTEw
NCw2ICsxMDQsOSBAQAogCiAJCS8vLyBSZW1vdmUgc2VsZWN0ZWQgZG93bmxvYWRzIGluIHRoZSBj
dXJyZW50IHZpZXcKIAkJdm9pZCByZW1vdmVUb3JyZW50cygpOworCQkKKwkJLy8vIFJlbW92ZSBz
ZWxlY3RlZCB0b3JyZW50CisJCXZvaWQgcmVuYW1lVG9ycmVudCgpOwogCQkKIAlwcml2YXRlIHNs
b3RzOgogCQkvLy8gUmVtb3ZlIHNlbGVjdGVkIGRvd25sb2FkcyBhbmQgZGF0YSBpbiB0aGUgY3Vy
cmVudCB2aWV3CkBAIC0xODMsNiArMTg2LDcgQEAKIAkJUUFjdGlvbiogZGF0YV9kaXI7CiAJCVFB
Y3Rpb24qIHRvcl9kaXI7CiAJCVFBY3Rpb24qIG1vdmVfZGF0YTsKKwkJUUFjdGlvbiogcmVuYW1l
X3RvcnJlbnQ7CiAJCVFBY3Rpb24qIHJlbW92ZV9mcm9tX2dyb3VwOwogCQlRTWFwPEdyb3VwKixR
QWN0aW9uKj4gZ3JvdXBfYWN0aW9uczsKIAkJUUFjdGlvbiogYWRkX3RvX25ld19ncm91cDsKZGlm
ZiAtciA5NDE5M2QyYWZjODMga3RvcnJlbnQvdmlld21vZGVsLmNwcAotLS0gYS9rdG9ycmVudC92
aWV3bW9kZWwuY3BwCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9rdG9ycmVu
dC92aWV3bW9kZWwuY3BwCVR1ZSBBdWcgMDUgMjE6NTI6MTYgMjAwOCAtMDUwMApAQCAtMTYxLDcg
KzE2MSw3IEBACiAJCWNvbnN0IFRvcnJlbnRTdGF0cyAmIHMgPSB0Yy0+Z2V0U3RhdHMoKTsKIAkJ
c3dpdGNoIChjb2wpCiAJCXsKLQkJCWNhc2UgMDogcmV0dXJuIHRjLT5nZXRTdGF0cygpLnRvcnJl
bnRfbmFtZTsKKwkJCWNhc2UgMDogcmV0dXJuIHRjLT5nZXREaXNwbGF5TmFtZSgpOwogCQkJY2Fz
ZSAxOiByZXR1cm4gdGMtPnN0YXR1c1RvU3RyaW5nKCk7CiAJCQljYXNlIDI6IHJldHVybiBCeXRl
c1RvU3RyaW5nKGJ5dGVzX2Rvd25sb2FkZWQpOwogCQkJY2FzZSAzOiByZXR1cm4gQnl0ZXNUb1N0
cmluZyh0b3RhbF9ieXRlc190b19kb3dubG9hZCk7CkBAIC0yMDMsNyArMjAzLDcgQEAKIAkJY29u
c3QgVG9ycmVudFN0YXRzICYgcyA9IHRjLT5nZXRTdGF0cygpOwogCQlzd2l0Y2ggKGNvbCkKIAkJ
ewotCQkJY2FzZSAwOiByZXR1cm4gdGMtPmdldFN0YXRzKCkudG9ycmVudF9uYW1lOworCQkJY2Fz
ZSAwOiByZXR1cm4gdGMtPmdldERpc3BsYXlOYW1lKCk7CiAJCQljYXNlIDE6IHJldHVybiB0Yy0+
c3RhdHVzVG9TdHJpbmcoKTsKIAkJCWNhc2UgMjogcmV0dXJuIGJ5dGVzX2Rvd25sb2FkZWQ7CiAJ
CQljYXNlIDM6IHJldHVybiB0b3RhbF9ieXRlc190b19kb3dubG9hZDsKZGlmZiAtciA5NDE5M2Qy
YWZjODMgbGliYnRjb3JlL2ludGVyZmFjZXMvdG9ycmVudGludGVyZmFjZS5oCi0tLSBhL2xpYmJ0
Y29yZS9pbnRlcmZhY2VzL3RvcnJlbnRpbnRlcmZhY2UuaAlNb24gQXVnIDA0IDExOjQ0OjQyIDIw
MDggLTA1MDAKKysrIGIvbGliYnRjb3JlL2ludGVyZmFjZXMvdG9ycmVudGludGVyZmFjZS5oCVR1
ZSBBdWcgMDUgMjE6NTI6MTYgMjAwOCAtMDUwMApAQCAtNDk0LDYgKzQ5NCwxMiBAQAogCQkKIAkJ
Ly8vIEdldHMgdGhlIHVzZXIgbW9kaWZpZWQgZmlsZSBvciB0b3BsZXZlbCBkaXJlY3RvcnkgbmFt
ZQogCQlRU3RyaW5nIGdldFVzZXJNb2RpZmllZEZpbGVOYW1lKCkgY29uc3Qge3JldHVybiB1c2Vy
X21vZGlmaWVkX25hbWUuaXNFbXB0eSgpID8gc3RhdHMudG9ycmVudF9uYW1lIDogdXNlcl9tb2Rp
ZmllZF9uYW1lO30KKworCQkvLy8gU2V0IHRoZSBkaXNwbGF5ZWQgbmFtZQorCQl2aXJ0dWFsIHZv
aWQgc2V0RGlzcGxheU5hbWUoY29uc3QgUVN0cmluZyAmIG4pID0gMDsKKwkJCisJCS8vLyBHZXRz
IHRoZSBkaXNwbGF5ZWQgbmFtZQorCQlRU3RyaW5nIGdldERpc3BsYXlOYW1lKCkgY29uc3Qge3Jl
dHVybiBkaXNwbGF5X25hbWUuaXNFbXB0eSgpID8gc3RhdHMudG9ycmVudF9uYW1lIDogZGlzcGxh
eV9uYW1lO30KIAlzaWduYWxzOgogCQkvKioKIAkJICogRW1pdHRlZCB3aGVuIHdlIGhhdmUgZmlu
aXNoZWQgZG93bmxvYWRpbmcuCkBAIC01NzAsNiArNTc2LDcgQEAKIAlwcm90ZWN0ZWQ6CiAJCVRv
cnJlbnRTdGF0cyBzdGF0czsKIAkJUVN0cmluZyB1c2VyX21vZGlmaWVkX25hbWU7CisJCVFTdHJp
bmcgZGlzcGxheV9uYW1lOwogCX07CiAKIApkaWZmIC1yIDk0MTkzZDJhZmM4MyBsaWJidGNvcmUv
dG9ycmVudC90b3JyZW50Y29udHJvbC5jcHAKLS0tIGEvbGliYnRjb3JlL3RvcnJlbnQvdG9ycmVu
dGNvbnRyb2wuY3BwCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9saWJidGNv
cmUvdG9ycmVudC90b3JyZW50Y29udHJvbC5jcHAJVHVlIEF1ZyAwNSAyMTo1MjoxNiAyMDA4IC0w
NTAwCkBAIC03MzYsNyArNzM2LDExIEBACiAJCU91dChTWVNfR0VOfExPR19ERUJVRykgPDwgIk91
dHB1dFBhdGggPSAiIDw8IHN0YXRzLm91dHB1dF9wYXRoIDw8IGVuZGw7CiAJfQogCQotCisJdm9p
ZCBUb3JyZW50Q29udHJvbDo6c2V0RGlzcGxheU5hbWUoY29uc3QgUVN0cmluZyAmIG4pCisJewor
CQlkaXNwbGF5X25hbWUgPSBuOworCQlzYXZlU3RhdHMoKTsKKwl9CiAKIAlib29sIFRvcnJlbnRD
b250cm9sOjphbm5vdW5jZUFsbG93ZWQoKQogCXsKQEAgLTEwOTgsNiArMTEwMiw3IEBACiAJCXN0
LndyaXRlKCJBU1NVUkVEX0RPV05MT0FEX1NQRUVEIixRU3RyaW5nOjpudW1iZXIoYXNzdXJlZF9k
b3dubG9hZF9zcGVlZCkpOwogCQlpZiAoIXVzZXJfbW9kaWZpZWRfbmFtZS5pc0VtcHR5KCkpCiAJ
CQlzdC53cml0ZSgiVVNFUl9NT0RJRklFRF9OQU1FIix1c2VyX21vZGlmaWVkX25hbWUpOworCQlz
dC53cml0ZSgiRElTUExBWV9OQU1FIixkaXNwbGF5X25hbWUpOwogCQlzdC53cml0ZVN5bmMoKTsK
IAl9CiAKQEAgLTExMjcsNiArMTEzMiw5IEBACiAJCQogCQlpZiAoc3QuaGFzS2V5KCJVU0VSX01P
RElGSUVEX05BTUUiKSkKIAkJCXVzZXJfbW9kaWZpZWRfbmFtZSA9IHN0LnJlYWRTdHJpbmcoIlVT
RVJfTU9ESUZJRURfTkFNRSIpOworCQkKKwkJaWYgKHN0Lmhhc0tleSgiRElTUExBWV9OQU1FIikp
CisJCQlkaXNwbGF5X25hbWUgPSBzdC5yZWFkU3RyaW5nKCJESVNQTEFZX05BTUUiKTsKIAkJCiAJ
CXNldFByaW9yaXR5KHN0LnJlYWRJbnQoIlBSSU9SSVRZIikpOwogCQlzdGF0cy51c2VyX2NvbnRy
b2xsZWQgPSBpc3RhdHMucHJpb3JpdHkgPT0gMCA/IHRydWUgOiBmYWxzZTsKZGlmZiAtciA5NDE5
M2QyYWZjODMgbGliYnRjb3JlL3RvcnJlbnQvdG9ycmVudGNvbnRyb2wuaAotLS0gYS9saWJidGNv
cmUvdG9ycmVudC90b3JyZW50Y29udHJvbC5oCU1vbiBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUw
MAorKysgYi9saWJidGNvcmUvdG9ycmVudC90b3JyZW50Y29udHJvbC5oCVR1ZSBBdWcgMDUgMjE6
NTI6MTYgMjAwOCAtMDUwMApAQCAtMTQ2LDYgKzE0Niw5IEBACiAJCSAqLwogCQl2b2lkIHJvbGxi
YWNrKCk7CiAJCisJCS8vLyBDaGFuZ2UgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgdG9ycmVudAor
CQl2b2lkIHNldERpc3BsYXlOYW1lKGNvbnN0IFFTdHJpbmcgJiBuKTsKKwogCQkvLy8gR2V0cyB0
aGUgVHJhY2tlcnNMaXN0IGludGVyZmFjZQogCQlUcmFja2Vyc0xpc3QqIGdldFRyYWNrZXJzTGlz
dCgpOwogCQkKZGlmZiAtciA5NDE5M2QyYWZjODMgcGx1Z2lucy9tZWRpYXBsYXllci9tZWRpYW1v
ZGVsLmNwcAotLS0gYS9wbHVnaW5zL21lZGlhcGxheWVyL21lZGlhbW9kZWwuY3BwCU1vbiBBdWcg
MDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9wbHVnaW5zL21lZGlhcGxheWVyL21lZGlhbW9k
ZWwuY3BwCVR1ZSBBdWcgMDUgMjE6NTI6MTYgMjAwOCAtMDUwMApAQCAtMTIzLDExICsxMjMsMTEg
QEAKIAkJCQkJewogCQkJCQkJUVN0cmluZyBwcmV2aWV3ID0gdGMtPnJlYWR5Rm9yUHJldmlldygp
ID8gaTE4bigiQXZhaWxhYmxlIikgOiBpMThuKCJQZW5kaW5nIik7CiAJCQkJCQlyZXR1cm4gaTE4
bigiPGI+JTE8L2I+PGJyLz5QcmV2aWV3OiAlMjxici8+RG93bmxvYWRlZDogJTMgJSIsCi0JCQkJ
CQkJCXMudG9ycmVudF9uYW1lLHByZXZpZXcsYnQ6OlBlcmNlbnRhZ2UocykpOworCQkJCQkJCQl0
Yy0+Z2V0RGlzcGxheU5hbWUoKSxwcmV2aWV3LGJ0OjpQZXJjZW50YWdlKHMpKTsKIAkJCQkJfQog
CQkJCQlicmVhazsKIAkJCQljYXNlIFF0OjpEaXNwbGF5Um9sZToKLQkJCQkJcmV0dXJuIHMudG9y
cmVudF9uYW1lOworCQkJCQlyZXR1cm4gdGMtPmdldERpc3BsYXlOYW1lKCk7CiAJCQkJY2FzZSBR
dDo6RGVjb3JhdGlvblJvbGU6CiAJCQkJCXJldHVybiAoaXRlbS0+bXVsdGltZWRpYV9maWxlcy5j
b3VudCgpID4gMCkgPyBLSWNvbigiZm9sZGVyIikgOiAgS0ljb24oS01pbWVUeXBlOjpmaW5kQnlQ
YXRoKHMudG9ycmVudF9uYW1lKS0+aWNvbk5hbWUoKSk7CiAJCQkJY2FzZSBRdDo6VXNlclJvbGU6
IC8vIHVzZXIgcm9sZSBpcyBmb3IgZmluZGluZyBvdXQgaWYgYSB0b3JyZW50IGlzIGNvbXBsZXRl
CmRpZmYgLXIgOTQxOTNkMmFmYzgzIHBsdWdpbnMvd2ViaW50ZXJmYWNlL3BocGNvZGVnZW5lcmF0
b3IuY3BwCi0tLSBhL3BsdWdpbnMvd2ViaW50ZXJmYWNlL3BocGNvZGVnZW5lcmF0b3IuY3BwCU1v
biBBdWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9wbHVnaW5zL3dlYmludGVyZmFjZS9w
aHBjb2RlZ2VuZXJhdG9yLmNwcAlUdWUgQXVnIDA1IDIxOjUyOjE2IDIwMDggLTA1MDAKQEAgLTEx
Miw2ICsxMTIsOCBAQAogCQkJCiAJCQl0bXAgPSBzdGF0cy50b3JyZW50X25hbWU7CiAJCQlvdXQg
PDwgUVN0cmluZygiXCJ0b3JyZW50X25hbWVcIiA9PiBcIiUxXCIsIikuYXJnKHRtcC5yZXBsYWNl
KCJcXCIsICJcXFxcIikucmVwbGFjZSgiXCIiLCAiXFxcIiIpLnJlcGxhY2UoIiQiLCAiXFwkIikp
OworCQkJdG1wID0gKCppKS0+Z2V0RGlzcGxheU5hbWUoKTsKKwkJCW91dCA8PCBRU3RyaW5nKCJc
ImRpc3BsYXlfbmFtZVwiID0+IFwiJTFcIiwiKS5hcmcodG1wLnJlcGxhY2UoIlxcIiwgIlxcXFwi
KS5yZXBsYWNlKCJcIiIsICJcXFwiIikucmVwbGFjZSgiJCIsICJcXCQiKSk7CiAJCQl0bXAgPSBz
dGF0cy5vdXRwdXRfcGF0aDsKIAkJCW91dCA8PCBRU3RyaW5nKCJcIm91dHB1dF9wYXRoXCIgPT4g
XCIlMVwiLCIpLmFyZyh0bXAucmVwbGFjZSgiXFwiLCAiXFxcXCIpLnJlcGxhY2UoIlwiIiwgIlxc
XCIiKS5yZXBsYWNlKCIkIiwgIlxcJCIpKTsKIAkJCW91dCA8PCBRU3RyaW5nKCJcInN0b3BwZWRf
YnlfZXJyb3JcIiA9PiBcIiUxXCIsIikuYXJnKHN0YXRzLnN0b3BwZWRfYnlfZXJyb3IpOwpkaWZm
IC1yIDk0MTkzZDJhZmM4MyBwbHVnaW5zL3dlYmludGVyZmFjZS93d3cvY29sZG1pbGsvcmVzdC5w
aHAKLS0tIGEvcGx1Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L2NvbGRtaWxrL3Jlc3QucGhwCU1vbiBB
dWcgMDQgMTE6NDQ6NDIgMjAwOCAtMDUwMAorKysgYi9wbHVnaW5zL3dlYmludGVyZmFjZS93d3cv
Y29sZG1pbGsvcmVzdC5waHAJVHVlIEF1ZyAwNSAyMTo1MjoxNiAyMDA4IC0wNTAwCkBAIC0xMTAs
NyArMTEwLDcgQEAKIAkJCSRlbGVtZW50cyA9IGFycmF5KAogCQkKIAkJCQkkeG1sLT5uZXdfZWxl
bWVudCgnbmFtZScsCi0JCQkJCSR0aGlzLT5fY2xlYW5fbmFtZSgkdG9ycmVudFsndG9ycmVudF9u
YW1lJ10pKSwKKwkJCQkJJHRoaXMtPl9jbGVhbl9uYW1lKCR0b3JyZW50WydkaXNwbGF5X25hbWUn
XSkpLAogCiAJCQkJJHhtbC0+bmV3X2VsZW1lbnQoJ3N0YXR1cycsCiAJCQkJCSR0aGlzLT5fdG9y
cmVudF9zdGF0dXMoJHN0YXR1cyksIGFycmF5KCdpZCcgPT4gJHN0YXR1cykpLApkaWZmIC1yIDk0
MTkzZDJhZmM4MyBwbHVnaW5zL3dlYmludGVyZmFjZS93d3cvZGVmYXVsdC9kZXRhaWxzLnBocAot
LS0gYS9wbHVnaW5zL3dlYmludGVyZmFjZS93d3cvZGVmYXVsdC9kZXRhaWxzLnBocAlNb24gQXVn
IDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIvcGx1Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L2Rl
ZmF1bHQvZGV0YWlscy5waHAJVHVlIEF1ZyAwNSAyMTo1MjoxNiAyMDA4IC0wNTAwCkBAIC0yOSw3
ICsyOSw3IEBACiAJZWxzZSByZXR1cm4gJzxhIGhyZWY9IicuaHRtbHNwZWNpYWxjaGFycygkaHJl
ZikuJyI+Jy4kaW1nLic8L2E+JzsKIH0KIAotJGRpc3BsYXlfbmFtZT1jdXRfbmFtZV9pZl9sb25n
KCRzdGF0c1skbnVtX3RvcnJlbnRdWyd0b3JyZW50X25hbWUnXSk7CiskZGlzcGxheV9uYW1lPWN1
dF9uYW1lX2lmX2xvbmcoJHN0YXRzWyRudW1fdG9ycmVudF1bJ2Rpc3BsYXlfbmFtZSddKTsKIAog
Pz4KIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRp
b25hbC8vRU4iCmRpZmYgLXIgOTQxOTNkMmFmYzgzIHBsdWdpbnMvd2ViaW50ZXJmYWNlL3d3dy9k
ZWZhdWx0L2ludGVyZmFjZS5waHAKLS0tIGEvcGx1Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L2RlZmF1
bHQvaW50ZXJmYWNlLnBocAlNb24gQXVnIDA0IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIvcGx1
Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L2RlZmF1bHQvaW50ZXJmYWNlLnBocAlUdWUgQXVnIDA1IDIx
OjUyOjE2IDIwMDggLTA1MDAKQEAgLTExOCwxMSArMTE4LDExIEBACiAJCWZvcmVhY2ggKCRzdGF0
cyBhcyAkdG9ycmVudCkgewogCQkJZWNobyAiXHRcdCIuJzx0cj4nLiJcblx0XHRcdCI7CiAKLQkJ
CSR0b3JyZW50X25hbWUgPSBzdHJfcmVwbGFjZSgiJyIsICJcJyIsICR0b3JyZW50Wyd0b3JyZW50
X25hbWUnXSk7CisJCQkkdG9ycmVudF9uYW1lID0gc3RyX3JlcGxhY2UoIiciLCAiXCciLCAkdG9y
cmVudFsnZGlzcGxheV9uYW1lJ10pOwogCQkJaWYoJHRvcnJlbnRbJ3RvdGFsX2J5dGVzX3RvX2Rv
d25sb2FkJ10hPTApICRwZXJjID0gcm91bmQoMTAwLjAgLSAoJHRvcnJlbnRbJ2J5dGVzX2xlZnRf
dG9fZG93bmxvYWQnXSAvICR0b3JyZW50Wyd0b3RhbF9ieXRlc190b19kb3dubG9hZCddKSAqIDEw
MC4wLCAyKTsKIAkJCWVsc2UgJHBlcmMgPSAwOwotCQkJaWYoc3RybGVuKCR0b3JyZW50Wyd0b3Jy
ZW50X25hbWUnXSk+MzApICRkaXNwbGF5X25hbWU9c3Vic3RyKCR0b3JyZW50Wyd0b3JyZW50X25h
bWUnXSwgMCwgMzApLiIgLi4uIjsKLQkJCWVsc2UgJGRpc3BsYXlfbmFtZT0kdG9ycmVudFsndG9y
cmVudF9uYW1lJ107CisJCQlpZihzdHJsZW4oJHRvcnJlbnRbJ2Rpc3BsYXlfbmFtZSddKT4zMCkg
JGRpc3BsYXlfbmFtZT1zdWJzdHIoJHRvcnJlbnRbJ2Rpc3BsYXlfbmFtZSddLCAwLCAzMCkuIiAu
Li4iOworCQkJZWxzZSAkZGlzcGxheV9uYW1lPSR0b3JyZW50WydkaXNwbGF5X25hbWUnXTsKIAkJ
CWlmICgkdG9ycmVudFsnbnVtX2ZpbGVzJ10+MSkgJGZpbGVfdGRfY29udGVudCA9ICc8YSBocmVm
PSJkZXRhaWxzLnBocD90b3JyZW50PScuJGEuJyI+Jy4kZGlzcGxheV9uYW1lLic8L2E+JzsKIAkJ
CWVsc2UgJGZpbGVfdGRfY29udGVudCA9ICRkaXNwbGF5X25hbWU7CiAKQEAgLTEzMSw3ICsxMzEs
NyBAQAogCQkJZWNobyBnZW5lcmF0ZV9idXR0b25fY29kZSgnL3N0YXJ0LnBuZycsICdzdGFydCcs
ICgkdG9ycmVudFsncnVubmluZyddKT8nJzonaW50ZXJmYWNlLnBocD9zdGFydD0nLiRhKTsKIAkJ
CWVjaG8gJzxhIGhyZWY9ImludGVyZmFjZS5waHA/cmVtb3ZlPScuJGEuJyIgb25jbGljaz0icmV0
dXJuIHZhbGlkYXRlKCkiPjxpbWcgc3JjPSIvcmVtb3ZlLnBuZyIgYWx0PSJyZW1vdmUiIC8+PC9h
Pic7CiAJCQllY2hvICc8L3RkPic7Ci0JCQllY2hvICI8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmxl
ZnQ7XCIgb25tb3VzZW92ZXI9XCJ0aGlzLlRfVElUTEU9JyR0b3JyZW50X25hbWUnO3JldHVybiBl
c2NhcGUoJ0Rvd25sb2FkIHNwZWVkOiZsdDtzdHJvbmcmZ3Q7eyR0b3JyZW50Wydkb3dubG9hZF9y
YXRlJ119Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O2JyIC8mZ3Q7IFVwbG9hZCBzcGVlZDombHQ7c3Ryb25n
Jmd0O3skdG9ycmVudFsndXBsb2FkX3JhdGUnXX0mbHQ7L3N0cm9uZyZndDsmbHQ7L3RkJmd0Oycp
XCI+JGZpbGVfdGRfY29udGVudDwvdGQ+IjsKKwkJCWVjaG8gIjx0ZCBzdHlsZT1cInRleHQtYWxp
Z246bGVmdDtcIiBvbm1vdXNlb3Zlcj1cInRoaXMuVF9USVRMRT0nJGRpc3BsYXlfbmFtZSc7cmV0
dXJuIGVzY2FwZSgnRG93bmxvYWQgc3BlZWQ6Jmx0O3N0cm9uZyZndDt7JHRvcnJlbnRbJ2Rvd25s
b2FkX3JhdGUnXX0mbHQ7L3N0cm9uZyZndDsmbHQ7YnIgLyZndDsgVXBsb2FkIHNwZWVkOiZsdDtz
dHJvbmcmZ3Q7eyR0b3JyZW50Wyd1cGxvYWRfcmF0ZSddfSZsdDsvc3Ryb25nJmd0OyZsdDsvdGQm
Z3Q7JylcIj4kZmlsZV90ZF9jb250ZW50PC90ZD4iOwogCQkJZWNobyAnPHRkPicuZ2V0X3RvcnJl
bnRfc3RhdHVzX25hbWUoJHRvcnJlbnRbJ3N0YXR1cyddKS4nPC90ZD4nOwogCQkJZWNobyAnPHRk
IHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0OyI+Jy4kdG9ycmVudFsnYnl0ZXNfZG93bmxvYWRlZCdd
Lic8L3RkPic7CiAJCQllY2hvICc8dGQgc3R5bGU9InRleHQtYWxpZ246cmlnaHQ7IHBhZGRpbmct
bGVmdDo4cHg7Ij4nLiR0b3JyZW50Wyd0b3RhbF9ieXRlcyddLic8L3RkPic7CmRpZmYgLXIgOTQx
OTNkMmFmYzgzIHBsdWdpbnMvd2ViaW50ZXJmYWNlL3d3dy9tb2JpbGUvdG9ycmVudC5waHAKLS0t
IGEvcGx1Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L21vYmlsZS90b3JyZW50LnBocAlNb24gQXVnIDA0
IDExOjQ0OjQyIDIwMDggLTA1MDAKKysrIGIvcGx1Z2lucy93ZWJpbnRlcmZhY2Uvd3d3L21vYmls
ZS90b3JyZW50LnBocAlUdWUgQXVnIDA1IDIxOjUyOjE2IDIwMDggLTA1MDAKQEAgLTEwLDcgKzEw
LDcgQEAKICAgICAgIDw/cGhwCiAgICAgICAJJHN0YXRzPWRvd25sb2FkU3RhdHVzKCk7CiAgICAg
ICAJJHQ9JHN0YXRzWyRfUkVRVUVTVFsnaWQnXV07Ci0gICAgICAJZWNobyAiPHRkPjxzdHJvbmc+
a3RvcnJlbnQtPjxhIGhyZWY9XCJpbnRlcmZhY2UucGhwXCI+dHJhbnNmZXJzPC9hPjwvc3Ryb25n
Pi0+eyR0Wyd0b3JyZW50X25hbWUnXX08L3RkPiI7CisgICAgICAJZWNobyAiPHRkPjxzdHJvbmc+
a3RvcnJlbnQtPjxhIGhyZWY9XCJpbnRlcmZhY2UucGhwXCI+dHJhbnNmZXJzPC9hPjwvc3Ryb25n
Pi0+eyR0WydkaXNwbGF5X25hbWUnXX08L3RkPiI7CiAgICAgICAJZWNobyAiPHRkPjxhIGhyZWY9
XCJ0b3JyZW50LnBocD9pZD17JF9SRVFVRVNUWydpZCddfVwiID5yZWZyZXNoPC9hPjwvdGQ+IjsK
ICAgICAgID8+CiAgICAgPC90cj4K
</data>

          </attachment>
      

    </bug>

</bugzilla>