<?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>73096</bug_id>
          
          <creation_ts>2011-11-24 13:40:44 -0800</creation_ts>
          <short_desc>[Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler</short_desc>
          <delta_ts>2011-11-25 11:58:00 -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 Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73089</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesus Sanchez-Palencia">jesus</reporter>
          <assigned_to name="Jesus Sanchez-Palencia">jesus</assigned_to>
          <cc>kenneth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>508890</commentid>
    <comment_count>0</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-11-24 13:40:44 -0800</bug_when>
    <thetext>We can move all the interaction engine usage to QtWebPageEventHandler and make all GestureRecognizers (Tap, Pinch and Pan) use it directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508894</commentid>
    <comment_count>1</comment_count>
      <attachid>116547</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-11-24 13:49:16 -0800</bug_when>
    <thetext>Created attachment 116547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509069</commentid>
    <comment_count>2</comment_count>
      <attachid>116547</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-11-25 03:59:58 -0800</bug_when>
    <thetext>Comment on attachment 116547
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=116547&amp;action=review

&gt; Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp:53
&gt; +            m_eventHandler-&gt;interactionEngine()-&gt;panGestureCancelled();

Why not make an 

private:
inline QtViewportInteractionEngine* interactionEngine() ? 

It could be in the class they all inherit from</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509237</commentid>
    <comment_count>3</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-11-25 11:58:00 -0800</bug_when>
    <thetext>Committed r101179: &lt;http://trac.webkit.org/changeset/101179&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116547</attachid>
            <date>2011-11-24 13:49:16 -0800</date>
            <delta_ts>2011-11-25 03:59:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73096-20111124184857.patch</filename>
            <type>text/plain</type>
            <size>17445</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTExZWEwZDFlZjljNWI5
N2E3NjUzMmZhMDQxY2FlODM1ZTJjM2E2ZS4uNDA5ODRlNWIwNDdlZmU1Njg1MGI4OTNjMWMyMzA2
MWZkMjI0ZWZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDExLTExLTI0ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KIAorICAg
ICAgICBbUXRdW1dLMl0gUmVmYWN0b3IgR2VzdHVyZVJlY29nbml6ZXJzIHRvIHVzZSBRdFdlYlBh
Z2VFdmVudEhhbmRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczMDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTW92ZSBhbGwgdGhlIGludGVyYWN0aW9uIGVuZ2luZSB1c2FnZSB0byBRdFdlYlBhZ2VF
dmVudEhhbmRsZXIsCisgICAgICAgIG1ha2luZyBhbGwgR2VzdHVyZVJlY29nbml6ZXJzIChUYXAs
IFBpbmNoIGFuZCBQYW4pIHVzZSBpdCBkaXJlY3RseS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9x
dC9RdEdlc3R1cmVSZWNvZ25pemVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UXRHZXN0dXJlUmVj
b2duaXplcjo6UXRHZXN0dXJlUmVjb2duaXplcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
R2VzdHVyZVJlY29nbml6ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRQYW5HZXN0dXJl
UmVjb2duaXplci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0UGFuR2VzdHVyZVJlY29nbml6ZXI6
OlF0UGFuR2VzdHVyZVJlY29nbml6ZXIpOgorICAgICAgICAoV2ViS2l0OjpRdFBhbkdlc3R1cmVS
ZWNvZ25pemVyOjpyZWNvZ25pemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFBhbkdlc3R1
cmVSZWNvZ25pemVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0UGluY2hHZXN0dXJlUmVj
b2duaXplci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0UGluY2hHZXN0dXJlUmVjb2duaXplcjo6
UXRQaW5jaEdlc3R1cmVSZWNvZ25pemVyKToKKyAgICAgICAgKFdlYktpdDo6UXRQaW5jaEdlc3R1
cmVSZWNvZ25pemVyOjpyZWNvZ25pemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFBpbmNo
R2VzdHVyZVJlY29nbml6ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRUYXBHZXN0dXJl
UmVjb2duaXplci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0VGFwR2VzdHVyZVJlY29nbml6ZXI6
OlF0VGFwR2VzdHVyZVJlY29nbml6ZXIpOgorICAgICAgICAoV2ViS2l0OjpRdFRhcEdlc3R1cmVS
ZWNvZ25pemVyOjpyZWNvZ25pemUpOgorICAgICAgICAoV2ViS2l0OjpRdFRhcEdlc3R1cmVSZWNv
Z25pemVyOjp0YXBUaW1lb3V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRUYXBHZXN0dXJl
UmVjb2duaXplci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRs
ZXIuY3BwOgorICAgICAgICAoUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpRdFdlYlBhZ2VFdmVudEhh
bmRsZXIpOgorICAgICAgICAoUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpzZXRWaWV3cG9ydEludGVy
YWN0aW9uRW5naW5lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5k
bGVyLmg6CisgICAgICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmludGVyYWN0aW9uRW5naW5l
KToKKworMjAxMS0xMS0yNCAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lh
QG9wZW5ib3NzYS5vcmc+CisKICAgICAgICAgW1F0XVtXSzJdIE1vdmUgZXZlbnQgaGFuZGxpbmcg
b3V0IG9mIFF0V2ViUGFnZVByb3h5CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MzA4OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRHZXN0dXJlUmVjb2duaXplci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRHZXN0dXJlUmVjb2duaXplci5jcHAKaW5kZXggZWYxZDg3MmY2OTIyZTQxZmU0Mzc2Njc3
MzYyZWI3MmViYTg0Mzg3OC4uNDJmNmFiZWZjYmIwOGQwNjdjNTJmYTlhMzRjMjIxMGUyODcwMjc0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0R2VzdHVyZVJlY29n
bml6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdEdlc3R1cmVSZWNv
Z25pemVyLmNwcApAQCAtMjgsOCArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUXRH
ZXN0dXJlUmVjb2duaXplcjo6UXRHZXN0dXJlUmVjb2duaXplcihRdFZpZXdwb3J0SW50ZXJhY3Rp
b25FbmdpbmUqIHZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpCi0gICAgOiBtX3ZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmUodmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkKK1F0R2VzdHVyZVJlY29n
bml6ZXI6OlF0R2VzdHVyZVJlY29nbml6ZXIoUXRXZWJQYWdlRXZlbnRIYW5kbGVyKiBldmVudEhh
bmRsZXIpCisgICAgOiBtX2V2ZW50SGFuZGxlcihldmVudEhhbmRsZXIpCiAgICAgLCBtX3N0YXRl
KE5vR2VzdHVyZSkKIHsKIH0KQEAgLTM5LDkgKzM5LDQgQEAgdm9pZCBRdEdlc3R1cmVSZWNvZ25p
emVyOjpyZXNldCgpCiAgICAgbV9zdGF0ZSA9IE5vR2VzdHVyZTsKIH0KIAotdm9pZCBRdEdlc3R1
cmVSZWNvZ25pemVyOjpzZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKFF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZSogZW5naW5lKQotewotICAgIG1fdmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZSA9IGVuZ2luZTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0R2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dEdlc3R1cmVSZWNvZ25pemVyLmgKaW5kZXggNGNjYTZiYzcyNWRjODRlODJiZThhNDViMGM0NTQ2
YTY0ZGJlODMwMi4uOTcwYmUwYTk5YWYzYTY2ZTk4ZTAzMjNhZmM0ODk1MzZlNmI2MTAzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0R2VzdHVyZVJlY29nbml6ZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRHZXN0dXJlUmVjb2duaXplci5o
CkBAIC0yNiwyMCArMjYsMTkgQEAKICNpZm5kZWYgUXRHZXN0dXJlUmVjb2duaXplcl9oCiAjZGVm
aW5lIFF0R2VzdHVyZVJlY29nbml6ZXJfaAogCi1uYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIFF0
V2ViUGFnZUV2ZW50SGFuZGxlcjsKIAotY2xhc3MgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OworbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFF0R2VzdHVyZVJlY29nbml6ZXIgewogcHVi
bGljOgogICAgIGJvb2wgaXNSZWNvZ25pemVkKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9PSBH
ZXN0dXJlUmVjb2duaXplZDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUXRHZXN0dXJlUmVjb2duaXpl
cihRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqKTsKLSAgICB2b2lkIHNldFZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmUoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKik7CisgICAgUXRHZXN0
dXJlUmVjb2duaXplcihRdFdlYlBhZ2VFdmVudEhhbmRsZXIqKTsKICAgICB2b2lkIHJlc2V0KCk7
CiAKLSAgICBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIG1fdmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZTsKKyAgICBRdFdlYlBhZ2VFdmVudEhhbmRsZXIqIG1fZXZlbnRIYW5kbGVyOwogICAg
IGVudW0gU3RhdGUgewogICAgICAgICBOb0dlc3R1cmUsCiAgICAgICAgIEdlc3R1cmVSZWNvZ25p
dGlvblN0YXJ0ZWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQ
YW5HZXN0dXJlUmVjb2duaXplci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQ
YW5HZXN0dXJlUmVjb2duaXplci5jcHAKaW5kZXggYWJlMjY5MmU1YTg5MmRkZjU0YzdhYjUyMDg0
YzFlZjI0ODAzYjY3ZS4uNjQyYjlmMmRiZjkxZGFkYTkyNWE4YWMzOWU5ODQ5YjNjNjUzYTE1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFuR2VzdHVyZVJlY29n
bml6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhbkdlc3R1cmVS
ZWNvZ25pemVyLmNwcApAQCAtMjYsMjYgKzI2LDIwIEBACiAKICNpbmNsdWRlICJRdFBhbkdlc3R1
cmVSZWNvZ25pemVyLmgiCiAKLSNpbmNsdWRlICJRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUu
aCIKKyNpbmNsdWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlIDxRVG91Y2hF
dmVudD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVF0UGFuR2VzdHVyZVJlY29nbml6ZXI6OlF0
UGFuR2VzdHVyZVJlY29nbml6ZXIoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRlcmFj
dGlvbkVuZ2luZSkKLSAgICA6IFF0R2VzdHVyZVJlY29nbml6ZXIoaW50ZXJhY3Rpb25FbmdpbmUp
CitRdFBhbkdlc3R1cmVSZWNvZ25pemVyOjpRdFBhbkdlc3R1cmVSZWNvZ25pemVyKFF0V2ViUGFn
ZUV2ZW50SGFuZGxlciogZXZlbnRIYW5kbGVyKQorICAgIDogUXRHZXN0dXJlUmVjb2duaXplcihl
dmVudEhhbmRsZXIpCiB7CiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBRdFBhbkdlc3R1cmVSZWNv
Z25pemVyOjpzZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKFF0Vmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZSogZW5naW5lKQotewotICAgIFF0R2VzdHVyZVJlY29nbml6ZXI6OnNldFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmUoZW5naW5lKTsKLSAgICByZXNldCgpOwotfQotCiBib29sIFF0UGFu
R2VzdHVyZVJlY29nbml6ZXI6OnJlY29nbml6ZShjb25zdCBRVG91Y2hFdmVudCogZXZlbnQsIHFp
bnQ2NCBldmVudFRpbWVzdGFtcE1pbGxpcykKIHsKLSAgICBpZiAoIW1fdmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZSkKKyAgICBpZiAoIW1fZXZlbnRIYW5kbGVyLT5pbnRlcmFjdGlvbkVuZ2luZSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBQYW4gZ2VzdHVyZSBhbHdheXMgc3Rh
cnRzIG9uIFRvdWNoQmVnaW4gdW5sZXNzIHRoZSBlbmdpbmUgaXMgc3VzcGVuZGVkLCBvcgpAQCAt
NTYsNyArNTAsNyBAQCBib29sIFF0UGFuR2VzdHVyZVJlY29nbml6ZXI6OnJlY29nbml6ZShjb25z
dCBRVG91Y2hFdmVudCogZXZlbnQsIHFpbnQ2NCBldmVudFRpbQogICAgIC8vIEhhdmluZyBtdWx0
aXBsZSB0b3VjaCBwb2ludHMgY2FuY2VsIHRoZSBwYW5uaW5nIGdlc3R1cmUuCiAgICAgaWYgKGV2
ZW50LT50b3VjaFBvaW50cygpLnNpemUoKSA+IDEpIHsKICAgICAgICAgaWYgKG1fc3RhdGUgPT0g
R2VzdHVyZVJlY29nbml6ZWQpCi0gICAgICAgICAgICBtX3ZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUtPnBhbkdlc3R1cmVDYW5jZWxsZWQoKTsKKyAgICAgICAgICAgIG1fZXZlbnRIYW5kbGVyLT5p
bnRlcmFjdGlvbkVuZ2luZSgpLT5wYW5HZXN0dXJlQ2FuY2VsbGVkKCk7CiAgICAgICAgIHJlc2V0
KCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC03OSwxNiArNzMsMTYgQEAgYm9v
bCBRdFBhbkdlc3R1cmVSZWNvZ25pemVyOjpyZWNvZ25pemUoY29uc3QgUVRvdWNoRXZlbnQqIGV2
ZW50LCBxaW50NjQgZXZlbnRUaW0KICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICAgICAgICAgIG1fc3RhdGUgPSBHZXN0dXJlUmVjb2duaXplZDsKLSAgICAgICAgICAgIG1fdmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZS0+cGFuR2VzdHVyZVN0YXJ0ZWQodG91Y2hQb2ludC5wb3Mo
KSwgZXZlbnRUaW1lc3RhbXBNaWxsaXMpOworICAgICAgICAgICAgbV9ldmVudEhhbmRsZXItPmlu
dGVyYWN0aW9uRW5naW5lKCktPnBhbkdlc3R1cmVTdGFydGVkKHRvdWNoUG9pbnQucG9zKCksIGV2
ZW50VGltZXN0YW1wTWlsbGlzKTsKICAgICAgICAgfQogCiAgICAgICAgIEFTU0VSVChtX3N0YXRl
ID09IEdlc3R1cmVSZWNvZ25pemVkKTsKLSAgICAgICAgbV92aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lLT5wYW5HZXN0dXJlUmVxdWVzdFVwZGF0ZSh0b3VjaFBvaW50LnBvcygpLCBldmVudFRpbWVz
dGFtcE1pbGxpcyk7CisgICAgICAgIG1fZXZlbnRIYW5kbGVyLT5pbnRlcmFjdGlvbkVuZ2luZSgp
LT5wYW5HZXN0dXJlUmVxdWVzdFVwZGF0ZSh0b3VjaFBvaW50LnBvcygpLCBldmVudFRpbWVzdGFt
cE1pbGxpcyk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBjYXNlIFFFdmVudDo6
VG91Y2hFbmQ6CiAgICAgICAgIGlmIChtX3N0YXRlID09IEdlc3R1cmVSZWNvZ25pemVkKSB7Ci0g
ICAgICAgICAgICBtX3ZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUtPnBhbkdlc3R1cmVFbmRlZCh0
b3VjaFBvaW50LnBvcygpLCBldmVudFRpbWVzdGFtcE1pbGxpcyk7CisgICAgICAgICAgICBtX2V2
ZW50SGFuZGxlci0+aW50ZXJhY3Rpb25FbmdpbmUoKS0+cGFuR2VzdHVyZUVuZGVkKHRvdWNoUG9p
bnQucG9zKCksIGV2ZW50VGltZXN0YW1wTWlsbGlzKTsKICAgICAgICAgICAgIHJlc2V0KCk7CiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0UGFuR2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFBhbkdlc3R1cmVSZWNvZ25pemVyLmgKaW5kZXggNTE0ZmVhODM0
MjUwNzM4ZmIyYjExMjliMjA4YTg3NTNlYTkyNWNlMi4uNTMyNTA3ZTA5MjQ2ZGIwNWFkMTM3NzZi
Nzk0Y2RhOTkzZDNmZDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0UGFuR2VzdHVyZVJlY29nbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYW5HZXN0dXJlUmVjb2duaXplci5oCkBAIC00MSw4ICs0MSw3IEBAIGNvbnN0IHFyZWFs
IHBhbm5pbmdJbml0aWFsVHJpZ2dlckRpc3RhbmNlVGhyZXNob2xkID0gNS47CiAKIGNsYXNzIFF0
UGFuR2VzdHVyZVJlY29nbml6ZXIgOiBwdWJsaWMgUXRHZXN0dXJlUmVjb2duaXplciB7CiBwdWJs
aWM6Ci0gICAgUXRQYW5HZXN0dXJlUmVjb2duaXplcihRdFZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUqKTsKLSAgICB2b2lkIHNldFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lKik7CisgICAgUXRQYW5HZXN0dXJlUmVjb2duaXplcihRdFdlYlBhZ2VF
dmVudEhhbmRsZXIqKTsKICAgICBib29sIHJlY29nbml6ZShjb25zdCBRVG91Y2hFdmVudCosIHFp
bnQ2NCBldmVudFRpbWVzdGFtcE1pbGxpcyk7CiAgICAgdm9pZCByZXNldCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQaW5jaEdlc3R1cmVSZWNvZ25pemVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBpbmNoR2VzdHVyZVJlY29nbml6
ZXIuY3BwCmluZGV4IDcyNDY3YjRkZmRjY2JlMjM1ZTZhNTM5YzEzMDkyMDY4ZDQzNzg2MTIuLjU5
OGM5ZjJjNTNkZjE5MzhiNmU0NDM0MjMxN2E2MDQ0MDE1NDllNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBpbmNoR2VzdHVyZVJlY29nbml6ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBpbmNoR2VzdHVyZVJlY29nbml6ZXIuY3Bw
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUXRQaW5j
aEdlc3R1cmVSZWNvZ25pemVyLmgiCiAKLSNpbmNsdWRlICJRdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmUuaCIKKyNpbmNsdWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlIDxR
dENvcmUvUUxpbmVGPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ5LDIxICs0OSwyMSBAQCBz
dGF0aWMgaW5saW5lIFFQb2ludEYgY29tcHV0ZVBpbmNoQ2VudGVyKGNvbnN0IFFUb3VjaEV2ZW50
OjpUb3VjaFBvaW50JiBwb2ludDEsCiAgICAgcmV0dXJuIChwb2ludDEucG9zKCkgKyBwb2ludDIu
cG9zKCkpIC8gMi4wZjsKIH0KIAotUXRQaW5jaEdlc3R1cmVSZWNvZ25pemVyOjpRdFBpbmNoR2Vz
dHVyZVJlY29nbml6ZXIoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRlcmFjdGlvbkVu
Z2luZSkKLSAgICA6IFF0R2VzdHVyZVJlY29nbml6ZXIoaW50ZXJhY3Rpb25FbmdpbmUpCitRdFBp
bmNoR2VzdHVyZVJlY29nbml6ZXI6OlF0UGluY2hHZXN0dXJlUmVjb2duaXplcihRdFdlYlBhZ2VF
dmVudEhhbmRsZXIqIGV2ZW50SGFuZGxlcikKKyAgICA6IFF0R2VzdHVyZVJlY29nbml6ZXIoZXZl
bnRIYW5kbGVyKQogewogICAgIHJlc2V0KCk7CiB9CiAKIGJvb2wgUXRQaW5jaEdlc3R1cmVSZWNv
Z25pemVyOjpyZWNvZ25pemUoY29uc3QgUVRvdWNoRXZlbnQqIGV2ZW50KQogewotICAgIGlmICgh
bV92aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQorICAgIGlmICghbV9ldmVudEhhbmRsZXItPmlu
dGVyYWN0aW9uRW5naW5lKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNvbnN0IFFM
aXN0PFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50PiYgdG91Y2hQb2ludHMgPSBldmVudC0+dG91Y2hQ
b2ludHMoKTsKICAgICBpZiAodG91Y2hQb2ludHMuc2l6ZSgpIDwgMikgewogICAgICAgICBpZiAo
bV9zdGF0ZSA9PSBHZXN0dXJlUmVjb2duaXplZCkKLSAgICAgICAgICAgIG1fdmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZS0+cGluY2hHZXN0dXJlRW5kZWQoKTsKKyAgICAgICAgICAgIG1fZXZlbnRI
YW5kbGVyLT5pbnRlcmFjdGlvbkVuZ2luZSgpLT5waW5jaEdlc3R1cmVFbmRlZCgpOwogICAgICAg
ICByZXNldCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtOTksNyArOTksNyBA
QCBib29sIFF0UGluY2hHZXN0dXJlUmVjb2duaXplcjo6cmVjb2duaXplKGNvbnN0IFFUb3VjaEV2
ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBpZiAocGluY2hEaXN0YW5jZSA8IHBpbmNoSW5p
dGlhbFRyaWdnZXJEaXN0YW5jZVRocmVzaG9sZCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgICAgIG1fc3RhdGUgPSBHZXN0dXJlUmVjb2duaXplZDsKLSAg
ICAgICAgICAgICAgICBtX3ZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUtPnBpbmNoR2VzdHVyZVN0
YXJ0ZWQoY29tcHV0ZVBpbmNoQ2VudGVyKHBvaW50MSwgcG9pbnQyKSk7CisgICAgICAgICAgICAg
ICAgbV9ldmVudEhhbmRsZXItPmludGVyYWN0aW9uRW5naW5lKCktPnBpbmNoR2VzdHVyZVN0YXJ0
ZWQoY29tcHV0ZVBpbmNoQ2VudGVyKHBvaW50MSwgcG9pbnQyKSk7CiAKICAgICAgICAgICAgICAg
ICAvLyBXZSByZXNldCB0aGUgaW5pdGlhbCBwb3NpdGlvbiB0byB0aGUgcHJldmlvdXMgcG9zaXRp
b24gaW4gb3JkZXIgdG8gYXZvaWQgdGhlIGp1bXAgY2F1c2VkCiAgICAgICAgICAgICAgICAgLy8g
Ynkgc2tpcHBpbmcgYWxsIHRoZSBldmVudHMgYmV0d2VlbiB0aGUgYmVnaW5uaW5nIGFuZCB3aGVu
IHRoZSB0aHJlc2hvbGQgaXMgaGl0LgpAQCAtMTEzLDE0ICsxMTMsMTQgQEAgYm9vbCBRdFBpbmNo
R2VzdHVyZVJlY29nbml6ZXI6OnJlY29nbml6ZShjb25zdCBRVG91Y2hFdmVudCogZXZlbnQpCiAg
ICAgICAgICAgICBjb25zdCBxcmVhbCBpbml0aWFsU3BhbkRpc3RhbmNlID0gUUxpbmVGKG1fcG9p
bnQxLmluaXRpYWxTY3JlZW5Qb3NpdGlvbiwgbV9wb2ludDIuaW5pdGlhbFNjcmVlblBvc2l0aW9u
KS5sZW5ndGgoKTsKICAgICAgICAgICAgIGNvbnN0IHFyZWFsIHRvdGFsU2NhbGVGYWN0b3IgPSBj
dXJyZW50U3BhbkRpc3RhbmNlIC8gaW5pdGlhbFNwYW5EaXN0YW5jZTsKICAgICAgICAgICAgIGNv
bnN0IFFQb2ludEYgdG91Y2hDZW50ZXJJblBhZ2VWaWV3Q29vcmRpbmF0ZXMgPSBjb21wdXRlUGlu
Y2hDZW50ZXIocG9pbnQxLCBwb2ludDIpOwotICAgICAgICAgICAgbV92aWV3cG9ydEludGVyYWN0
aW9uRW5naW5lLT5waW5jaEdlc3R1cmVSZXF1ZXN0VXBkYXRlKHRvdWNoQ2VudGVySW5QYWdlVmll
d0Nvb3JkaW5hdGVzLCB0b3RhbFNjYWxlRmFjdG9yKTsKKyAgICAgICAgICAgIG1fZXZlbnRIYW5k
bGVyLT5pbnRlcmFjdGlvbkVuZ2luZSgpLT5waW5jaEdlc3R1cmVSZXF1ZXN0VXBkYXRlKHRvdWNo
Q2VudGVySW5QYWdlVmlld0Nvb3JkaW5hdGVzLCB0b3RhbFNjYWxlRmFjdG9yKTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoRW5kOgogICAgICAgICBpZiAobV9zdGF0ZSA9
PSBHZXN0dXJlUmVjb2duaXplZCkgewotICAgICAgICAgICAgbV92aWV3cG9ydEludGVyYWN0aW9u
RW5naW5lLT5waW5jaEdlc3R1cmVFbmRlZCgpOworICAgICAgICAgICAgbV9ldmVudEhhbmRsZXIt
PmludGVyYWN0aW9uRW5naW5lKCktPnBpbmNoR2VzdHVyZUVuZGVkKCk7CiAgICAgICAgICAgICBy
ZXNldCgpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTEzMywxMiAr
MTMzLDYgQEAgYm9vbCBRdFBpbmNoR2VzdHVyZVJlY29nbml6ZXI6OnJlY29nbml6ZShjb25zdCBR
VG91Y2hFdmVudCogZXZlbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFF0UGluY2hH
ZXN0dXJlUmVjb2duaXplcjo6c2V0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZShRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmUqIGVuZ2luZSkKLXsKLSAgICBRdEdlc3R1cmVSZWNvZ25pemVyOjpz
ZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKGVuZ2luZSk7Ci0gICAgcmVzZXQoKTsKLX0KLQog
dm9pZCBRdFBpbmNoR2VzdHVyZVJlY29nbml6ZXI6OnJlc2V0KCkKIHsKICAgICBRdEdlc3R1cmVS
ZWNvZ25pemVyOjpyZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0UGluY2hHZXN0dXJlUmVjb2duaXplci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0UGluY2hHZXN0dXJlUmVjb2duaXplci5oCmluZGV4IDIwOGMwNWFiZGMwOTMxYmVkZTM4
ODU5Y2VjZjYwYTk1NGY1MGFjZjMuLjdkZDNkOTExYmZjYjYzYzUzZWY3YWJiNjg0ZDk1YzFmNDI2
NmNlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBpbmNoR2Vz
dHVyZVJlY29nbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQaW5j
aEdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTUwLDggKzUwLDcgQEAgcHVibGljOgogICAgICAgICBR
UG9pbnRGIGluaXRpYWxQb3NpdGlvbjsKICAgICB9OwogCi0gICAgUXRQaW5jaEdlc3R1cmVSZWNv
Z25pemVyKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSopOwotICAgIHZvaWQgc2V0Vmlld3Bv
cnRJbnRlcmFjdGlvbkVuZ2luZShRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqKTsKKyAgICBR
dFBpbmNoR2VzdHVyZVJlY29nbml6ZXIoUXRXZWJQYWdlRXZlbnRIYW5kbGVyKik7CiAgICAgYm9v
bCByZWNvZ25pemUoY29uc3QgUVRvdWNoRXZlbnQqKTsKICAgICB2b2lkIHJlc2V0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFRhcEdlc3R1cmVSZWNvZ25p
emVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFRhcEdlc3R1cmVSZWNvZ25p
emVyLmNwcAppbmRleCAyYmY3NTVjMDFjZGQyNWM4NTgwNDI1NjU3MzM0ZThjZmJhOWUzYjNiLi4y
ZWQ3NzNjMTE2YzRhYWRkNmQzNTBkZmQzODNkMGMxYWU1MDE0OTVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRUYXBHZXN0dXJlUmVjb2duaXplci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuY3BwCkBA
IC0yNiwyNiArMjYsMTggQEAKICNpbmNsdWRlICJRdFRhcEdlc3R1cmVSZWNvZ25pemVyLmgiCiAK
ICNpbmNsdWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmUuaCIKICNpbmNsdWRlIDxRTGluZUY+CiAjaW5jbHVkZSA8UVRvdWNo
RXZlbnQ+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1RdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpR
dFRhcEdlc3R1cmVSZWNvZ25pemVyKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJh
Y3Rpb25FbmdpbmUsIFF0V2ViUGFnZUV2ZW50SGFuZGxlciogZXZlbnRIYW5kbGVyKQotICAgIDog
UXRHZXN0dXJlUmVjb2duaXplcihpbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAsIG1fcXRFdmVudEhh
bmRsZXIoZXZlbnRIYW5kbGVyKQorUXRUYXBHZXN0dXJlUmVjb2duaXplcjo6UXRUYXBHZXN0dXJl
UmVjb2duaXplcihRdFdlYlBhZ2VFdmVudEhhbmRsZXIqIGV2ZW50SGFuZGxlcikKKyAgICA6IFF0
R2VzdHVyZVJlY29nbml6ZXIoZXZlbnRIYW5kbGVyKQogICAgICwgbV90YXBTdGF0ZShOb1RhcCkK
IHsKICAgICByZXNldCgpOwogfQogCi12b2lkIFF0VGFwR2VzdHVyZVJlY29nbml6ZXI6OnNldFZp
ZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBlbmdp
bmUpCi17Ci0gICAgUXRHZXN0dXJlUmVjb2duaXplcjo6c2V0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZShlbmdpbmUpOwotICAgIHJlc2V0KCk7Ci19Ci0KIGJvb2wgUXRUYXBHZXN0dXJlUmVjb2du
aXplcjo6cmVjb2duaXplKGNvbnN0IFFUb3VjaEV2ZW50KiBldmVudCwgcWludDY0IGV2ZW50VGlt
ZXN0YW1wTWlsbGlzKQogewogICAgIGlmIChldmVudC0+dG91Y2hQb2ludHMoKS5zaXplKCkgIT0g
MSkgewpAQCAtMTAwLDggKzkyLDggQEAgYm9vbCBRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpyZWNv
Z25pemUoY29uc3QgUVRvdWNoRXZlbnQqIGV2ZW50LCBxaW50NjQgZXZlbnRUaW0KICAgICAgICAg
ICAgICAgICBjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYgdG91Y2hQb2ludCA9IGV2ZW50
LT50b3VjaFBvaW50cygpLmZpcnN0KCk7CiAgICAgICAgICAgICAgICAgUVBvaW50RiBzdGFydFBv
c2l0aW9uID0gdG91Y2hQb2ludC5zdGFydFNjcmVlblBvcygpOwogICAgICAgICAgICAgICAgIFFQ
b2ludEYgZW5kUG9zaXRpb24gPSB0b3VjaFBvaW50LnNjcmVlblBvcygpOwotICAgICAgICAgICAg
ICAgIGlmIChRTGluZUYoZW5kUG9zaXRpb24sIHN0YXJ0UG9zaXRpb24pLmxlbmd0aCgpIDwgbWF4
RG91YmxlVGFwRGlzdGFuY2UgJiYgbV9xdEV2ZW50SGFuZGxlcikKLSAgICAgICAgICAgICAgICAg
ICAgbV9xdEV2ZW50SGFuZGxlci0+aGFuZGxlRG91YmxlVGFwRXZlbnQodG91Y2hQb2ludCk7Cisg
ICAgICAgICAgICAgICAgaWYgKFFMaW5lRihlbmRQb3NpdGlvbiwgc3RhcnRQb3NpdGlvbikubGVu
Z3RoKCkgPCBtYXhEb3VibGVUYXBEaXN0YW5jZSAmJiBtX2V2ZW50SGFuZGxlcikKKyAgICAgICAg
ICAgICAgICAgICAgbV9ldmVudEhhbmRsZXItPmhhbmRsZURvdWJsZVRhcEV2ZW50KHRvdWNoUG9p
bnQpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNl
IFNpbmdsZVRhcFN0YXJ0ZWQ6CkBAIC0xMjUsNyArMTE3LDcgQEAgYm9vbCBRdFRhcEdlc3R1cmVS
ZWNvZ25pemVyOjpyZWNvZ25pemUoY29uc3QgUVRvdWNoRXZlbnQqIGV2ZW50LCBxaW50NjQgZXZl
bnRUaW0KIHZvaWQgUXRUYXBHZXN0dXJlUmVjb2duaXplcjo6dGFwVGltZW91dCgpCiB7CiAgICAg
bV9kb3VibGVUYXBUaW1lci5zdG9wKCk7Ci0gICAgbV9xdEV2ZW50SGFuZGxlci0+aGFuZGxlU2lu
Z2xlVGFwRXZlbnQobV90b3VjaEJlZ2luRXZlbnRGb3JUYXAtPnRvdWNoUG9pbnRzKCkuYXQoMCkp
OworICAgIG1fZXZlbnRIYW5kbGVyLT5oYW5kbGVTaW5nbGVUYXBFdmVudChtX3RvdWNoQmVnaW5F
dmVudEZvclRhcC0+dG91Y2hQb2ludHMoKS5hdCgwKSk7CiAgICAgbV90b3VjaEJlZ2luRXZlbnRG
b3JUYXAuY2xlYXIoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFRhcEdlc3R1cmVSZWNvZ25pemVyLmgKaW5kZXggZTJjY2Y4YjJjNjZjYWY4ZDU1MDRkNjdi
MWVkYjJiNTFiYzc3MDkzNi4uYTRlYzQxZWZmZjRmMjM3MTJjNDNlMmVjZTZlZDdlMjZhNjY2NTYy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0VGFwR2VzdHVyZVJl
Y29nbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRUYXBHZXN0dXJl
UmVjb2duaXplci5oCkBAIC00OSw4ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBRdFRhcEdlc3R1cmVSZWNvZ25pemVyIDogcHVibGljIFFPYmplY3QsIHByaXZhdGUgUXRHZXN0
dXJlUmVjb2duaXplciB7CiBwdWJsaWM6Ci0gICAgUXRUYXBHZXN0dXJlUmVjb2duaXplcihRdFZp
ZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqLCBRdFdlYlBhZ2VFdmVudEhhbmRsZXIqKTsKLSAgICB2
b2lkIHNldFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKik7CisgICAgUXRUYXBHZXN0dXJlUmVjb2duaXplcihRdFdlYlBhZ2VFdmVudEhhbmRsZXIq
KTsKICAgICBib29sIHJlY29nbml6ZShjb25zdCBRVG91Y2hFdmVudCosIHFpbnQ2NCBldmVudFRp
bWVzdGFtcE1pbGxpcyk7CiAgICAgdm9pZCByZXNldCgpOwogCkBAIC02MCw3ICs1OSw2IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIHRhcEFuZEhvbGRUaW1lb3V0KCk7CiAKIHByaXZhdGU6Ci0gICAg
UXRXZWJQYWdlRXZlbnRIYW5kbGVyKiBtX3F0RXZlbnRIYW5kbGVyOwogICAgIFFCYXNpY1RpbWVy
IG1fZG91YmxlVGFwVGltZXI7CiAgICAgUUJhc2ljVGltZXIgbV90YXBBbmRIb2xkVGltZXI7CiAg
ICAgT3duUHRyPFFUb3VjaEV2ZW50PiBtX3RvdWNoQmVnaW5FdmVudEZvclRhcDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAK
aW5kZXggMWM4OTc4YmYyYTllMTRiMzI0MjBhYmY4Y2U0OGE0ZDA1ZTJkMmY1Zi4uOWNjZThhNTU4
NjljZDBhMzgwNGQ4Yjc1ZmFmZmMzMjQ1YzJmMTBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHAKQEAgLTgwLDkgKzgw
LDkgQEAgV2ViQ29yZTo6RHJhZ09wZXJhdGlvbiBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmRyb3BB
Y3Rpb25Ub0RyYWdPcGVyYXRpb24oUXQ6OkRyb3AKIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6UXRX
ZWJQYWdlRXZlbnRIYW5kbGVyKFdLUGFnZVJlZiBwYWdlUmVmLCBXZWJLaXQ6OlF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZSogdmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkKICAgICA6IG1fd2Vi
UGFnZVByb3h5KHRvSW1wbChwYWdlUmVmKSkKICAgICAsIG1faW50ZXJhY3Rpb25FbmdpbmUodmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAsIG1fcGFuR2VzdHVyZVJlY29nbml6ZXIodmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAsIG1fcGluY2hHZXN0dXJlUmVjb2duaXplcih2
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQotICAgICwgbV90YXBHZXN0dXJlUmVjb2duaXplcih2
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lLCB0aGlzKQorICAgICwgbV9wYW5HZXN0dXJlUmVjb2du
aXplcih0aGlzKQorICAgICwgbV9waW5jaEdlc3R1cmVSZWNvZ25pemVyKHRoaXMpCisgICAgLCBt
X3RhcEdlc3R1cmVSZWNvZ25pemVyKHRoaXMpCiB7CiB9CiAKQEAgLTMwMyw5ICszMDMsNiBAQCBi
b29sIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6aGFuZGxlRm9jdXNPdXRFdmVudChRRm9jdXNFdmVu
dCopCiB2b2lkIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6c2V0Vmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZShRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGVuZ2luZSkKIHsKICAgICBtX2ludGVy
YWN0aW9uRW5naW5lID0gZW5naW5lOwotICAgIG1fcGFuR2VzdHVyZVJlY29nbml6ZXIuc2V0Vmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZShlbmdpbmUpOwotICAgIG1fcGluY2hHZXN0dXJlUmVjb2du
aXplci5zZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKGVuZ2luZSk7Ci0gICAgbV90YXBHZXN0
dXJlUmVjb2duaXplci5zZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKGVuZ2luZSk7CiB9CiAK
IHZvaWQgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjp0b3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVu
dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhh
bmRsZXIuaAppbmRleCAwYTU4ZmY3YjE0YTY0ZGMxMjFjZDAwYTk2MDY3ZDlkODE5MWMyOTk2Li44
ZTgwYmM3ZTZlMzBlZDAyN2QzNGI5NThlMTcwY2MwMmQyM2VmYjc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5oCkBAIC0yNCw2
ICsyNCw3IEBACiAjaW5jbHVkZSAiUXRQYW5HZXN0dXJlUmVjb2duaXplci5oIgogI2luY2x1ZGUg
IlF0UGluY2hHZXN0dXJlUmVjb2duaXplci5oIgogI2luY2x1ZGUgIlF0VGFwR2VzdHVyZVJlY29n
bml6ZXIuaCIKKyNpbmNsdWRlICJRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaCIKICNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxRQmFzaWNUaW1lcj4KICNpbmNsdWRlIDxR
S2V5RXZlbnQ+CkBAIC01NCw2ICs1NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRvbmVXaXRoVG91
Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQp
OwogICAgIHZvaWQgcmVzZXRHZXN0dXJlUmVjb2duaXplcnMoKTsKIAorICAgIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZSogaW50ZXJhY3Rpb25FbmdpbmUoKSB7IHJldHVybiBtX2ludGVyYWN0
aW9uRW5naW5lOyB9CisKIHByb3RlY3RlZDoKICAgICBXZWJQYWdlUHJveHkqIG1fd2ViUGFnZVBy
b3h5OwogICAgIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogbV9pbnRlcmFjdGlvbkVuZ2lu
ZTsK
</data>
<flag name="review"
          id="115736"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>