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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>22403</bug_id>
          
          <creation_ts>2008-11-21 07:15:07 -0800</creation_ts>
          <short_desc>wxWebView lacks Undo/Redo support</short_desc>
          <delta_ts>2008-11-21 19:24:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit wx</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kevin Watters">kevinwatters</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99649</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2008-11-21 07:15:07 -0800</bug_when>
    <thetext>The EditorClientWx::registerCommandForUndo and registerCommandForRedo methods are unimplemented, so the wx port lacks undo and redo support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99650</commentid>
    <comment_count>1</comment_count>
      <attachid>25353</attachid>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2008-11-21 07:16:16 -0800</bug_when>
    <thetext>Created attachment 25353
Implements undo/redo in the wx port

Implements and EditCommandWx stack, and exposes an Undo/Redo API in wxWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99753</commentid>
    <comment_count>2</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-11-21 19:24:21 -0800</bug_when>
    <thetext>Landed in r38687, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25353</attachid>
            <date>2008-11-21 07:16:16 -0800</date>
            <delta_ts>2008-11-21 19:22:39 -0800</delta_ts>
            <desc>Implements undo/redo in the wx port</desc>
            <filename>undo.patch</filename>
            <type>text/plain</type>
            <size>16467</size>
            <attacher name="Kevin Watters">kevinwatters</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCmlu
ZGV4IDM0MGI5NTEuLjFhYzkyM2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDA4LTExLTIxICBLZXZp
biBXYXR0ZXJzICA8a2V2aW53YXR0ZXJzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWludGFpbiBhbiBFZGl0Q29tbWFuZCBzdGFj
ayBpbiBXZWJGcmFtZVByaXZhdGUsIGFuZCBleHBvc2UgVW5kbyBhbmQKKyAgICAgICAgUmVkbyBp
biB3eFdlYlZpZXcuCisKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgICh3eFdlYkZy
YW1lOjp3eFdlYkZyYW1lKToKKyAgICAgICAgKHd4V2ViRnJhbWU6OlVuZG8pOgorICAgICAgICAo
d3hXZWJGcmFtZTo6UmVkbyk6CisgICAgICAgICh3eFdlYkZyYW1lOjpDYW5VbmRvKToKKyAgICAg
ICAgKHd4V2ViRnJhbWU6OkNhblJlZG8pOgorICAgICAgICAqIFdlYkZyYW1lLmg6CisgICAgICAg
ICogV2ViRnJhbWVQcml2YXRlLmg6IEFkZGVkLgorICAgICAgICAoV2ViRnJhbWVQcml2YXRlOjpX
ZWJGcmFtZVByaXZhdGUpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6OmNyZWF0ZVdpbmRvdyk6Cisg
ICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0Q29tbWFuZFd4Lmg6IEFkZGVkLgorICAgICAgICAo
RWRpdENvbW1hbmRXeDo6RWRpdENvbW1hbmRXeCk6CisgICAgICAgIChFZGl0Q29tbWFuZFd4Ojp+
RWRpdENvbW1hbmRXeCk6CisgICAgICAgIChFZGl0Q29tbWFuZFd4OjplZGl0Q29tbWFuZCk6Cisg
ICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRXeDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyk6CisgICAgICAgIChX
ZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6Y2FuVW5kbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRXeDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRX
eDo6dW5kbyk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVkbyk6CisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgorICAgICAgICAqIFdlYlZpZXcu
Y3BwOgorICAgICAgICAod3hXZWJWaWV3OjpPbk1vdXNlRXZlbnRzKToKKyAgICAgICAgKHd4V2Vi
Vmlldzo6T25LZXlFdmVudHMpOgorICAgICAgICAqIFdlYlZpZXdQcml2YXRlLmg6CisKIDIwMDgt
MTEtMTkgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJGcmFtZS5jcHAg
Yi9XZWJLaXQvd3gvV2ViRnJhbWUuY3BwCmluZGV4IGQzMzM3MTYuLjc0Yzc5NDcgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93eC9XZWJGcmFtZS5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYkZyYW1lLmNwcApA
QCAtNTQsNiArNTQsNyBAQAogCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJW
aWV3LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViVmlld1By
aXZhdGUuaCIKIAogI2luY2x1ZGUgPHd4L2RlZnMuaD4KQEAgLTcyLDcgKzczLDcgQEAgd3hXZWJG
cmFtZTo6d3hXZWJGcmFtZSh3eFdlYlZpZXcqIGNvbnRhaW5lciwgd3hXZWJGcmFtZSogcGFyZW50
LCBXZWJWaWV3RnJhbWVEYXQKICAgICBtX3RpdGxlKHd4RW1wdHlTdHJpbmcpCiB7CiAKLSAgICBt
X2ltcGwgPSBuZXcgV2ViVmlld1ByaXZhdGUoKTsKKyAgICBtX2ltcGwgPSBuZXcgV2ViRnJhbWVQ
cml2YXRlKCk7CiAgCiAgICAgV2ViQ29yZTo6SFRNTEZyYW1lT3duZXJFbGVtZW50KiBwYXJlbnRG
cmFtZSA9IDA7CiAgICAgCkBAIC0yMzMsNiArMjM0LDM1IEBAIGJvb2wgd3hXZWJGcmFtZTo6Q2Fu
R29Gb3J3YXJkKCkKIAogICAgIHJldHVybiBmYWxzZTsKIH0KKwordm9pZCB3eFdlYkZyYW1lOjpV
bmRvKCkKK3sKKyAgICBpZiAobV9pbXBsLT5mcmFtZSAmJiBtX2ltcGwtPmZyYW1lLT5lZGl0b3Io
KSAmJiBDYW5VbmRvKCkpCisgICAgICAgIHJldHVybiBtX2ltcGwtPmZyYW1lLT5lZGl0b3IoKS0+
dW5kbygpOworfQorCit2b2lkIHd4V2ViRnJhbWU6OlJlZG8oKQoreworICAgIGlmIChtX2ltcGwt
PmZyYW1lICYmIG1faW1wbC0+ZnJhbWUtPmVkaXRvcigpICYmIENhblJlZG8oKSkKKyAgICAgICAg
cmV0dXJuIG1faW1wbC0+ZnJhbWUtPmVkaXRvcigpLT5yZWRvKCk7Cit9CisKK2Jvb2wgd3hXZWJG
cmFtZTo6Q2FuVW5kbygpCit7CisgICAgaWYgKG1faW1wbC0+ZnJhbWUgJiYgbV9pbXBsLT5mcmFt
ZS0+ZWRpdG9yKCkpCisgICAgICAgIHJldHVybiBtX2ltcGwtPmZyYW1lLT5lZGl0b3IoKS0+Y2Fu
VW5kbygpOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIHd4V2ViRnJhbWU6OkNhblJl
ZG8oKQoreworICAgIGlmIChtX2ltcGwtPmZyYW1lICYmIG1faW1wbC0+ZnJhbWUtPmVkaXRvcigp
KQorICAgICAgICByZXR1cm4gbV9pbXBsLT5mcmFtZS0+ZWRpdG9yKCktPmNhblJlZG8oKTsKKwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCB3eFdlYkZyYW1lOjpDYW5JbmNyZWFzZVRleHRT
aXplKCkgY29uc3QKIHsKICAgICBpZiAobV9pbXBsLT5mcmFtZSkgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3d4L1dlYkZyYW1lLmggYi9XZWJLaXQvd3gvV2ViRnJhbWUuaAppbmRleCBhNjk2MWViLi4w
ODMwNDNmIDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViRnJhbWUuaAorKysgYi9XZWJLaXQvd3gv
V2ViRnJhbWUuaApAQCAtMzMsMTMgKzMzLDE0IEBACiAgICAgI2luY2x1ZGUgInd4L3d4LmgiCiAj
ZW5kaWYKIAotY2xhc3MgV2ViVmlld1ByaXZhdGU7CitjbGFzcyBXZWJGcmFtZVByaXZhdGU7CiBj
bGFzcyBXZWJWaWV3RnJhbWVEYXRhOwogY2xhc3Mgd3hXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgQ2hyb21lQ2xpZW50V3g7CiAgICAgY2xhc3MgRnJhbWVMb2FkZXJD
bGllbnRXeDsKKyAgICBjbGFzcyBFZGl0b3JDbGllbnRXeDsKICAgICBjbGFzcyBGcmFtZTsKIH0K
IApAQCAtNjMsNiArNjQsNyBAQCBjbGFzcyBXWERMTElNUEVYUF9XRUJLSVQgd3hXZWJGcmFtZQog
ICAgIC8vIGZvciB0aGUgY3JlYXRlV2luZG93IGZ1bmN0aW9uLiAKICAgICBmcmllbmQgY2xhc3Mg
V2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkZyYW1l
TG9hZGVyQ2xpZW50V3g7CisgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkVkaXRvckNsaWVudFd4
OwogICAgIGZyaWVuZCBjbGFzcyB3eFdlYlZpZXc7CiAKICAgICB3eFdlYkZyYW1lKHd4V2ViVmll
dyogY29udGFpbmVyLCB3eFdlYkZyYW1lKiBwYXJlbnQgPSBOVUxMLCBXZWJWaWV3RnJhbWVEYXRh
KiBkYXRhID0gTlVMTCk7CkBAIC04Niw2ICs4OCwxMiBAQCBjbGFzcyBXWERMTElNUEVYUF9XRUJL
SVQgd3hXZWJGcmFtZQogICAgIHZvaWQgQ29weSgpOwogICAgIHZvaWQgUGFzdGUoKTsKICAgICAK
KyAgICBib29sIENhblVuZG8oKTsKKyAgICBib29sIENhblJlZG8oKTsKKyAgICAKKyAgICB2b2lk
IFVuZG8oKTsKKyAgICB2b2lkIFJlZG8oKTsKKyAgICAKICAgICB3eFN0cmluZyBHZXRQYWdlU291
cmNlKCk7CiAgICAgdm9pZCBTZXRQYWdlU291cmNlKGNvbnN0IHd4U3RyaW5nJiBzb3VyY2UsIGNv
bnN0IHd4U3RyaW5nJiBiYXNlVXJsID0gd3hFbXB0eVN0cmluZyk7CiAgICAgCkBAIC0xMTIsNyAr
MTIwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNFZGl0YWJsZTsKICAgICBib29sIG1faXNJ
bml0aWFsaXplZDsKICAgICBib29sIG1fYmVpbmdEZXN0cm95ZWQ7Ci0gICAgV2ViVmlld1ByaXZh
dGUqIG1faW1wbDsKKyAgICBXZWJGcmFtZVByaXZhdGUqIG1faW1wbDsKICAgICB3eFN0cmluZyBt
X3RpdGxlOwogICAgIAogfTsKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJGcmFtZVByaXZhdGUu
aCBiL1dlYktpdC93eC9XZWJGcmFtZVByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi43YWY3MGE4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3d4L1dlYkZyYW1l
UHJpdmF0ZS5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2V2
aW4gT2xsaXZpZXIuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisg
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisgCisjaWZuZGVmIFdYV0VCRlJBTUVQ
UklWQVRFX0gKKyNkZWZpbmUgV1hXRUJGUkFNRVBSSVZBVEVfSAorCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiRWRpdENvbW1hbmQuaCIKKyNpbmNsdWRlICJFZGl0Q29tbWFuZFd4Lmgi
CisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJ3dGYvUmVmUHRyLmgiCisjaW5jbHVkZSAi
d3RmL1ZlY3Rvci5oIgorCitjbGFzcyBXZWJGcmFtZVByaXZhdGUgeworCitwdWJsaWM6CisgICAg
V2ViRnJhbWVQcml2YXRlKCkgOgorICAgICAgICAgICAgZnJhbWUoMCkKKyAgICB7fQorCisgICAg
V1RGOjpWZWN0b3I8RWRpdENvbW1hbmRXeD4gdW5kb1N0YWNrOworICAgIFdURjo6VmVjdG9yPEVk
aXRDb21tYW5kV3g+IHJlZG9TdGFjazsKKyAgICAKKyAgICBXVEY6OlJlZlB0cjxXZWJDb3JlOjpG
cmFtZT4gZnJhbWU7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmNwcAppbmRleCAzZDExOWE1Li41YmZjNmU5IDEwMDY0NAotLS0gYS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgUGFnZSogQ2hy
b21lQ2xpZW50V3g6OmNyZWF0ZVdpbmRvdyhGcmFtZSosIGNvbnN0IEZyYW1lTG9hZFJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnMKIAogICAgICAgICBXZWJWaWV3UHJpdmF0ZSogaW1wbCA9IG5ld0ZyYW1l
LT53ZWJ2aWV3LT5tX2ltcGw7CiAgICAgICAgIGlmIChpbXBsKQotICAgICAgICAgICAgbXlQYWdl
ID0gaW1wbC0+ZnJhbWUtPnBhZ2UoKTsKKyAgICAgICAgICAgIG15UGFnZSA9IGltcGwtPnBhZ2U7
CiAgICAgfQogICAgIAogICAgIHJldHVybiBteVBhZ2U7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9FZGl0Q29tbWFuZFd4LmggYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9F
ZGl0Q29tbWFuZFd4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTVkZWVk
ZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRDb21tYW5k
V3guaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEtldmluIE9s
bGl2aWVyLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorI2lmbmRlZiBXWEVESVRDT01NQU5EX0gK
KyNkZWZpbmUgV1hFRElUQ09NTUFORF9ICisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIGNsYXNz
IEVkaXRDb21tYW5kOworfQorCitjbGFzcyBFZGl0Q29tbWFuZFd4IAoreworcHVibGljOgorICAg
IEVkaXRDb21tYW5kV3goV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPiBjb21t
YW5kKSAKKyAgICB7CisgICAgICAgIG1fZWRpdENvbW1hbmQgPSBjb21tYW5kOworICAgIH0KKyAg
ICAKKyAgICB+RWRpdENvbW1hbmRXeCgpIHt9CisgICAgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6
OkVkaXRDb21tYW5kPiBlZGl0Q29tbWFuZCgpIHsgcmV0dXJuIG1fZWRpdENvbW1hbmQ7IH0KKyAg
ICAKK3ByaXZhdGU6CisgICAgV1RGOjpSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IG1fZWRp
dENvbW1hbmQ7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0VkaXRvckNsaWVudFd4LmNwcCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNs
aWVudFd4LmNwcAppbmRleCBhZGUwZjQxLi5jNzExMzNlIDEwMDY0NAotLS0gYS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYktpdFN1
cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCkBAIC0zOSw3ICszOSwxMSBAQAogI2luY2x1ZGUgIlBs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5j
bHVkZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgorCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNp
bmNsdWRlICJXZWJGcmFtZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCisjaW5jbHVk
ZSAiV2ViVmlld1ByaXZhdGUuaCIKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKQEAgLTE5NSwxNCAr
MTk5LDI4IEBAIHZvaWQgRWRpdG9yQ2xpZW50V3g6OmRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFz
dGVib2FyZCgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRX
eDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhQYXNzUmVmUHRyPEVkaXRDb21tYW5kPikKK3ZvaWQg
RWRpdG9yQ2xpZW50V3g6OnJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oUGFzc1JlZlB0cjxFZGl0Q29t
bWFuZD4gY29tbWFuZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEZyYW1lKiBmcmFt
ZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOworCisg
ICAgaWYgKGZyYW1lKSB7CisgICAgICAgIHd4V2ViVmlldyogd2ViS2l0V2luID0gZHluYW1pY19j
YXN0PHd4V2ViVmlldyo+KGZyYW1lLT52aWV3KCktPnBsYXRmb3JtV2lkZ2V0KCkpOworICAgICAg
ICBpZiAod2ViS2l0V2luKSB7CisgICAgICAgICAgICB3ZWJLaXRXaW4tPkdldE1haW5GcmFtZSgp
LT5tX2ltcGwtPnVuZG9TdGFjay5hcHBlbmQoRWRpdENvbW1hbmRXeChjb21tYW5kKSk7CisgICAg
ICAgIH0KKyAgICB9CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50V3g6OnJlZ2lzdGVyQ29tbWFuZEZv
clJlZG8oUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4pCit2b2lkIEVkaXRvckNsaWVudFd4OjpyZWdp
c3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+IGNvbW1hbmQpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29u
dHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKworICAgIGlmIChmcmFtZSkgeworICAg
ICAgICB3eFdlYlZpZXcqIHdlYktpdFdpbiA9IGR5bmFtaWNfY2FzdDx3eFdlYlZpZXcqPihmcmFt
ZS0+dmlldygpLT5wbGF0Zm9ybVdpZGdldCgpKTsKKyAgICAgICAgaWYgKHdlYktpdFdpbikgewor
ICAgICAgICAgICAgd2ViS2l0V2luLT5HZXRNYWluRnJhbWUoKS0+bV9pbXBsLT5yZWRvU3RhY2su
aW5zZXJ0KDAsIEVkaXRDb21tYW5kV3goY29tbWFuZCkpOworICAgICAgICB9CisgICAgfQogfQog
CiB2b2lkIEVkaXRvckNsaWVudFd4OjpjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpCkBAIC0yMTIs
MjQgKzIzMCw1NCBAQCB2b2lkIEVkaXRvckNsaWVudFd4OjpjbGVhclVuZG9SZWRvT3BlcmF0aW9u
cygpCiAKIGJvb2wgRWRpdG9yQ2xpZW50V3g6OmNhblVuZG8oKSBjb25zdAogewotICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisKKyAgICBpZiAoZnJhbWUpIHsKKyAgICAgICAgd3hX
ZWJWaWV3KiB3ZWJLaXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4oZnJhbWUtPnZpZXco
KS0+cGxhdGZvcm1XaWRnZXQoKSk7CisgICAgICAgIGlmICh3ZWJLaXRXaW4gJiYgd2ViS2l0V2lu
LT5HZXRNYWluRnJhbWUoKSkgeworICAgICAgICAgICAgcmV0dXJuIHdlYktpdFdpbi0+R2V0TWFp
bkZyYW1lKCktPm1faW1wbC0+dW5kb1N0YWNrLnNpemUoKSAhPSAwOworICAgICAgICB9CisgICAg
fQogICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnRXeDo6Y2FuUmVkbygp
IGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBGcmFtZSogZnJhbWUgPSBtX3Bh
Z2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKworICAgIGlmIChm
cmFtZSkgeworICAgICAgICB3eFdlYlZpZXcqIHdlYktpdFdpbiA9IGR5bmFtaWNfY2FzdDx3eFdl
YlZpZXcqPihmcmFtZS0+dmlldygpLT5wbGF0Zm9ybVdpZGdldCgpKTsKKyAgICAgICAgaWYgKHdl
YktpdFdpbiAmJiB3ZWJLaXRXaW4tPkdldE1haW5GcmFtZSgpKSB7CisgICAgICAgICAgICByZXR1
cm4gd2ViS2l0V2luLT5HZXRNYWluRnJhbWUoKS0+bV9pbXBsLT5yZWRvU3RhY2suc2l6ZSgpICE9
IDA7CisgICAgICAgIH0KKyAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudFd4Ojp1bmRvKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEZyYW1lKiBm
cmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwor
CisgICAgaWYgKGZyYW1lKSB7CisgICAgICAgIHd4V2ViVmlldyogd2ViS2l0V2luID0gZHluYW1p
Y19jYXN0PHd4V2ViVmlldyo+KGZyYW1lLT52aWV3KCktPnBsYXRmb3JtV2lkZ2V0KCkpOworICAg
ICAgICBpZiAod2ViS2l0V2luICYmIHdlYktpdFdpbi0+R2V0TWFpbkZyYW1lKCkpIHsKKyAgICAg
ICAgICAgIHdlYktpdFdpbi0+R2V0TWFpbkZyYW1lKCktPm1faW1wbC0+dW5kb1N0YWNrLmxhc3Qo
KS5lZGl0Q29tbWFuZCgpLT51bmFwcGx5KCk7CisgICAgICAgICAgICB3ZWJLaXRXaW4tPkdldE1h
aW5GcmFtZSgpLT5tX2ltcGwtPnVuZG9TdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgIH0KKyAg
ICB9CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50V3g6OnJlZG8oKQogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9j
dXNlZE9yTWFpbkZyYW1lKCk7CisKKyAgICBpZiAoZnJhbWUpIHsKKyAgICAgICAgd3hXZWJWaWV3
KiB3ZWJLaXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4oZnJhbWUtPnZpZXcoKS0+cGxh
dGZvcm1XaWRnZXQoKSk7CisgICAgICAgIGlmICh3ZWJLaXRXaW4gJiYgd2ViS2l0V2luLT5HZXRN
YWluRnJhbWUoKSkgeworICAgICAgICAgICAgd2ViS2l0V2luLT5HZXRNYWluRnJhbWUoKS0+bV9p
bXBsLT5yZWRvU3RhY2suZmlyc3QoKS5lZGl0Q29tbWFuZCgpLT5yZWFwcGx5KCk7CisgICAgICAg
ICAgICB3ZWJLaXRXaW4tPkdldE1haW5GcmFtZSgpLT5tX2ltcGwtPnJlZG9TdGFjay5yZW1vdmUo
MCk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50V3g6OmhhbmRsZUlu
cHV0TWV0aG9kS2V5ZG93bihLZXlib2FyZEV2ZW50KiBldmVudCkKZGlmZiAtLWdpdCBhL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggYi9XZWJLaXQvd3gvV2ViS2l0U3Vw
cG9ydC9FZGl0b3JDbGllbnRXeC5oCmluZGV4IDUxYjgyMGMuLmQwMjA3ZjUgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKKysrIGIvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaApAQCAtMzEsOSArMzEsMTUgQEAKICNpbmNs
dWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAKKyNpbmNsdWRlICJXZWJW
aWV3LmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBFZGl0b3JDbGllbnRXeCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworZnJpZW5kIGNsYXNz
IDo6d3hXZWJWaWV3OworZnJpZW5kIGNsYXNzIDo6d3hXZWJGcmFtZTsKKwogcHVibGljOgogICAg
IHZpcnR1YWwgfkVkaXRvckNsaWVudFd4KCk7CiAgICAgdm9pZCBzZXRQYWdlKFBhZ2UqKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC93eC9XZWJWaWV3LmNwcCBiL1dlYktpdC93eC9XZWJWaWV3LmNwcApp
bmRleCA2NzA0Y2Q2Li40MGQyODg3IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViVmlldy5jcHAK
KysrIGIvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCkBAIC00OTgsMTEgKzQ5OCwxMSBAQCB2b2lkIHd4
V2ViVmlldzo6T25Nb3VzZUV2ZW50cyh3eE1vdXNlRXZlbnQmIGV2ZW50KQogICAgIAogICAgIFdl
YkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudCB3a0V2ZW50KGV2ZW50LCBnbG9iYWxQb2ludCk7CiAK
LSAgICBpZiAodHlwZSA9PSB3eEVWVF9MRUZUX0RPV04gfHwgdHlwZSA9PSB3eEVWVF9NSURETEVf
RE9XTiB8fCB0eXBlID09IHd4RVZUX1JJR0hUX0RPV04pCisgICAgaWYgKHR5cGUgPT0gd3hFVlRf
TEVGVF9ET1dOIHx8IHR5cGUgPT0gd3hFVlRfTUlERExFX0RPV04gfHwgdHlwZSA9PSB3eEVWVF9S
SUdIVF9ET1dOIHx8IAorICAgICAgICAgICAgICAgIHR5cGUgPT0gd3hFVlRfTEVGVF9EQ0xJQ0sg
fHwgdHlwZSA9PSB3eEVWVF9NSURETEVfRENMSUNLIHx8IHR5cGUgPT0gd3hFVlRfUklHSFRfRENM
SUNLKQogICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVu
dCh3a0V2ZW50KTsKICAgICAKLSAgICBlbHNlIGlmICh0eXBlID09IHd4RVZUX0xFRlRfVVAgfHwg
dHlwZSA9PSB3eEVWVF9NSURETEVfVVAgfHwgdHlwZSA9PSB3eEVWVF9SSUdIVF9VUCB8fCAKLSAg
ICAgICAgICAgICAgICB0eXBlID09IHd4RVZUX0xFRlRfRENMSUNLIHx8IHR5cGUgPT0gd3hFVlRf
TUlERExFX0RDTElDSyB8fCB0eXBlID09IHd4RVZUX1JJR0hUX0RDTElDSykKKyAgICBlbHNlIGlm
ICh0eXBlID09IHd4RVZUX0xFRlRfVVAgfHwgdHlwZSA9PSB3eEVWVF9NSURETEVfVVAgfHwgdHlw
ZSA9PSB3eEVWVF9SSUdIVF9VUCkKICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCh3a0V2ZW50KTsKIAogICAgIGVsc2UgaWYgKHR5cGUgPT0gd3hF
VlRfTU9USU9OKQpAQCAtNTYyLDEzICs1NjIsMjQgQEAgdm9pZCB3eFdlYlZpZXc6Ok9uS2V5RXZl
bnRzKHd4S2V5RXZlbnQmIGV2ZW50KQogICAgICAgICAvLyBXZWJDb3JlIGRvZXNuJ3QgaGFuZGxl
IHRoZXNlIGV2ZW50cyBpdHNlbGYsIHNvIHdlIG5lZWQgdG8gZG8KICAgICAgICAgLy8gaXQgYW5k
IG5vdCBzZW5kIHRoZSBldmVudCBkb3duIG9yIGVsc2UgQ1RSTCtDIHdpbGwgZXJhc2UgdGhlIHRl
eHQKICAgICAgICAgLy8gYW5kIHJlcGxhY2UgaXQgd2l0aCBjLgotICAgICAgICBpZiAoZXZlbnQu
Q21kRG93bigpICYmIGV2ZW50LkdldEtleUNvZGUoKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KCdDJykp
Ci0gICAgICAgICAgICBDb3B5KCk7Ci0gICAgICAgIGVsc2UgaWYgKGV2ZW50LkNtZERvd24oKSAm
JiBldmVudC5HZXRLZXlDb2RlKCkgPT0gc3RhdGljX2Nhc3Q8aW50PignWCcpKQotICAgICAgICAg
ICAgQ3V0KCk7Ci0gICAgICAgIGVsc2UgaWYgKGV2ZW50LkNtZERvd24oKSAmJiBldmVudC5HZXRL
ZXlDb2RlKCkgPT0gc3RhdGljX2Nhc3Q8aW50PignVicpKQotICAgICAgICAgICAgUGFzdGUoKTsK
LSAgICAgICAgZWxzZSB7ICAgIAorICAgICAgICBpZiAoZXZlbnQuQ21kRG93bigpICYmIGV2ZW50
LkdldEV2ZW50VHlwZSgpID09IHd4RVZUX0tFWV9VUCkgeworICAgICAgICAgICAgaWYgKGV2ZW50
LkdldEtleUNvZGUoKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KCdDJykpCisgICAgICAgICAgICAgICAg
Q29weSgpOworICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuR2V0S2V5Q29kZSgpID09IHN0YXRp
Y19jYXN0PGludD4oJ1gnKSkKKyAgICAgICAgICAgICAgICBDdXQoKTsKKyAgICAgICAgICAgIGVs
c2UgaWYgKGV2ZW50LkdldEtleUNvZGUoKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KCdWJykpCisgICAg
ICAgICAgICAgICAgUGFzdGUoKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LkdldEtleUNv
ZGUoKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KCdaJykpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuU2hpZnREb3duKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fbWFpbkZyYW1lLT5D
YW5SZWRvKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBtX21haW5GcmFtZS0+UmVkbygpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fbWFpbkZyYW1lLT5DYW5VbmRvKCkpCisgICAgICAgICAgICAgICAgICAgICAg
ICBtX21haW5GcmFtZS0+VW5kbygpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIHsgICAgCiAgICAgICAgICAgICBXZWJDb3JlOjpQbGF0Zm9ybUtleWJv
YXJkRXZlbnQgd2tFdmVudChldmVudCk7CiAgICAgICAgICAgICBpZiAod2tFdmVudC50eXBlKCkg
PT0gV2ViQ29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50OjpDaGFyICYmIHdrRXZlbnQuYWx0S2V5
KCkpCiAgICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVBY2Nlc3NL
ZXkod2tFdmVudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViVmlld1ByaXZhdGUuaCBiL1dl
YktpdC93eC9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDJlZWY0OTkuLjlhZDhhM2UgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93eC9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1dlYktpdC93eC9XZWJWaWV3UHJp
dmF0ZS5oCkBAIC0yOSwxMCArMjksOSBAQAogI2lmbmRlZiBXWFdFQlZJRVdQUklWQVRFX0gKICNk
ZWZpbmUgV1hXRUJWSUVXUFJJVkFURV9ICiAKLQogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgInd0Zi9SZWZQdHIu
aCIKICNpbmNsdWRlICJLVVJMLmgiCiAKQEAgLTQwLDExICszOSw5IEBAIGNsYXNzIFdlYlZpZXdQ
cml2YXRlCiB7CiBwdWJsaWM6CiAgICAgV2ViVmlld1ByaXZhdGUoKSA6Ci0gICAgICAgIGZyYW1l
KDApLAogICAgICAgICBwYWdlKDApCiAgICAge30KICAgICAKLSAgICBXVEY6OlJlZlB0cjxXZWJD
b3JlOjpGcmFtZT4gZnJhbWU7CiAgICAgV2ViQ29yZTo6UGFnZSogcGFnZTsKIH07CiAK
</data>
<flag name="review"
          id="11745"
          type_id="1"
          status="+"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>