<?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>198994</bug_id>
          
          <creation_ts>2019-06-19 02:24:18 -0700</creation_ts>
          <short_desc>RequestedScrollPosition shouldn&apos;t be applied after node reattach</short_desc>
          <delta_ts>2019-06-19 10:21:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546005</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-19 02:24:18 -0700</bug_when>
    <thetext>Current scroll position resets when a scrolling node is reattached to the tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546006</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-19 02:24:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/51439685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546007</commentid>
    <comment_count>2</comment_count>
      <attachid>372447</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-19 02:31:17 -0700</bug_when>
    <thetext>Created attachment 372447
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546008</commentid>
    <comment_count>3</comment_count>
      <attachid>372448</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-06-19 02:34:59 -0700</bug_when>
    <thetext>Created attachment 372448
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546113</commentid>
    <comment_count>4</comment_count>
      <attachid>372448</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-19 10:21:17 -0700</bug_when>
    <thetext>Comment on attachment 372448
patch

Clearing flags on attachment: 372448

Committed r246593: &lt;https://trac.webkit.org/changeset/246593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546114</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-19 10:21:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372447</attachid>
            <date>2019-06-19 02:31:17 -0700</date>
            <delta_ts>2019-06-19 02:34:59 -0700</delta_ts>
            <desc>patch</desc>
            <filename>scroll-position-reattach.patch</filename>
            <type>text/plain</type>
            <size>19148</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE5LTA2LTE5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvbiBzaG91bGRuJ3QgYmUgYXBwbGllZCBhZnRlciBub2RlIHJlYXR0YWNoCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5OTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzUxNDM5Njg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IHNjcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9z
aXRpb24tYWZ0ZXItcmVhdHRhY2guaHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hh
bmdlZCk6IERlbGV0ZWQuCisKKyAgICAgICAgUmVuYW1lIHRvIGJldHRlciByZWZsZWN0IHdoYXQg
dGhpcyBpcyBmb3IuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVI
b3N0aW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZyYW1lSG9z
dGluZ05vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRnJhbWVIb3N0aW5nTm9kZTo6c2V0QWxsUHJvcGVydGll
c0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlRnJhbWVIb3N0aW5nTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0
dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlTm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2gpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hh
bmdlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVO
b2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVk
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2Rl
OjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVQb3NpdGlv
bmVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKToKKworICAgICAgICBEb24n
dCBzZXQgUmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24uIEl0IGlzIGEgc3BlY2lhbCBwcm9wZXJ0eSB0
aGF0IGlzIGFwcGxpZWQgb25seSBvbmNlIG9uIHJlcXVlc3QKKyAgICAgICAgYW5kIHNob3VsZG4n
dCBnZXQgcmVwbGllZC4gTm9kZXMgc2hvdWxkIGtlZXAgdGhlaXIgZXhpc3Rpbmcgc2Nyb2xsIHBv
c2l0aW9uIG9uIHJlYXR0YWNoLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRz
QWZ0ZXJSZWF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
U3RhdGVUcmVlOjpub2RlV2FzUmVhdHRhY2hlZFJlY3Vyc2l2ZSk6CisKIDIwMTktMDYtMTggIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBTdXBwb3J0
IG1hdHJpY2VzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwCShyZXZpc2lvbiAyNDY0MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU4LDEwICs1OCwxMCBAQCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2Rl
PiBTY3JvbGxpbmdTdGF0ZUZpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCi12b2lkIFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpCit2b2lkIFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCgpCiB7CiAg
ICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFZpZXdwb3J0Q29uc3RyYWludHMpOwotICAgIFNjcm9s
bGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdT
dGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCk7CiB9CiAKIHZv
aWQgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OnVwZGF0ZUNvbnN0cmFpbnRzKGNvbnN0IEZpeGVk
UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBA
QCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNjcm9sbGluZ1N0YXRlVHJl
ZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoY29uc3Qg
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAgIHZv
aWQgc2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFByb3Bl
cnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHJlY29u
Y2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgdmlld3Bv
cnRSZWN0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKSBvdmVycmlkZTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdO
b2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuY3BwCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NywxMSArNTcsMTEgQEAgUmVmPFNjcm9sbGluZ1N0YXRl
Tm9kZT4gU2Nyb2xsaW5nU3RhdGVGcgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGlu
Z1N0YXRlRnJhbWVIb3N0aW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgp
Cit2b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVIb3N0aW5nTm9kZTo6c2V0UHJvcGVydHlDaGFuZ2Vk
Qml0c0FmdGVyUmVhdHRhY2goKQogewogICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChQYXJlbnRS
ZWxhdGl2ZVNjcm9sbGFibGVSZWN0KTsKIAotICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxs
UHJvcGVydGllc0NoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5
Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFt
ZUhvc3RpbmdOb2RlOjpzZXRQYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0KGNvbnN0IExheW91
dFJlY3QmIHBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
SG9zdGluZ05vZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGlu
Z05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKICAgICBTY3JvbGxp
bmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdO
b2RlJiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CiAKLSAgICB2b2lkIHNldEFsbFByb3BlcnRpZXND
aGFuZ2VkKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJS
ZWF0dGFjaCgpIG92ZXJyaWRlOwogCiAgICAgTGF5b3V0UmVjdCBtX3BhcmVudFJlbGF0aXZlU2Ny
b2xsYWJsZVJlY3Q7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNw
cAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3
ICs4NSw3IEBAIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnIKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSgqdGhp
cywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGlu
Z05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKCkKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkKIHsK
ICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoRnJhbWVTY2FsZUZhY3Rvcik7CiAgICAgc2V0UHJv
cGVydHlDaGFuZ2VkQml0KEV2ZW50VHJhY2tpbmdSZWdpb24pOwpAQCAtMTA3LDcgKzEwNyw3IEBA
IHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnMKICAgICBzZXRQcm9wZXJ0
eUNoYW5nZWRCaXQoTWluTGF5b3V0Vmlld3BvcnRPcmlnaW4pOwogICAgIHNldFByb3BlcnR5Q2hh
bmdlZEJpdChNYXhMYXlvdXRWaWV3cG9ydE9yaWdpbik7CiAKLSAgICBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKCk7CisgICAgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCgpOwog
fQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRGcmFtZVNjYWxl
RmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZS5oCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzUsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9k
ZUlEKTsKICAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSYsIFNjcm9sbGluZ1N0YXRlVHJlZSYpOwogCi0gICAg
dm9pZCBzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0UHJv
cGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKSBvdmVycmlkZTsKIAogICAgIExheWVyUmVw
cmVzZW50YXRpb24gbV9yb290Q29udGVudHNMYXllcjsKICAgICBMYXllclJlcHJlc2VudGF0aW9u
IG1fY291bnRlclNjcm9sbGluZ0xheWVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCShyZXZpc2lvbiAyNDY0MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVOb2Rl
OjpzZXRQcm9wZXJ0eUNoYW4KICAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZS5zZXRIYXNDaGFuZ2Vk
UHJvcGVydGllcygpOwogfQogCi12b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJvcGVy
dGllc0NoYW5nZWQoKQordm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdl
ZEJpdHNBZnRlclJlYXR0YWNoKCkKIHsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoTGF5ZXIp
OwogICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChDaGlsZE5vZGVzKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCShyZXZp
c2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZU5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDcgKzIxMiw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGhhc0NoYW5nZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUJpdCkgY29uc3QgeyBy
ZXR1cm4gbV9jaGFuZ2VkUHJvcGVydGllcyAmIChzdGF0aWNfY2FzdDxDaGFuZ2VkUHJvcGVydGll
cz4oMSkgPDwgcHJvcGVydHlCaXQpOyB9CiAgICAgdm9pZCByZXNldENoYW5nZWRQcm9wZXJ0aWVz
KCkgeyBtX2NoYW5nZWRQcm9wZXJ0aWVzID0gMDsgfQogICAgIHZvaWQgc2V0UHJvcGVydHlDaGFu
Z2VkKHVuc2lnbmVkIHByb3BlcnR5Qml0KTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsUHJvcGVy
dGllc0NoYW5nZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UHJvcGVydHlDaGFuZ2VkQml0c0Fm
dGVyUmVhdHRhY2goKTsKIAogICAgIENoYW5nZWRQcm9wZXJ0aWVzIGNoYW5nZWRQcm9wZXJ0aWVz
KCkgY29uc3QgeyByZXR1cm4gbV9jaGFuZ2VkUHJvcGVydGllczsgfQogICAgIHZvaWQgc2V0Q2hh
bmdlZFByb3BlcnRpZXMoQ2hhbmdlZFByb3BlcnRpZXMgY2hhbmdlZFByb3BlcnRpZXMpIHsgbV9j
aGFuZ2VkUHJvcGVydGllcyA9IGNoYW5nZWRQcm9wZXJ0aWVzOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVBv
c2l0aW9uZWROb2RlLmNwcAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU5LDExICs1OSwxMSBAQCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdT
dGF0ZVBvCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVk
Tm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVQb3Np
dGlvbmVkTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKQordm9pZCBTY3JvbGxpbmdTdGF0
ZVBvc2l0aW9uZWROb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCgpCiB7
CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFJlbGF0ZWRPdmVyZmxvd1Njcm9sbGluZ05vZGVz
KTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoTGF5b3V0Q29uc3RyYWludERhdGEpOwotICAg
IFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKTsKKyAgICBTY3Jv
bGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCk7CiB9
CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZTo6c2V0UmVsYXRlZE92ZXJmbG93
U2Nyb2xsaW5nTm9kZXMoVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4mJiBub2RlcykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlUG9zaXRpb25lZE5vZGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVBvc2l0aW9uZWROb2RlLmgJKHJldmlzaW9uIDI0NjQzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlUG9zaXRpb25lZE5vZGUuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsNyArNjEsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlUG9zaXRp
b25lZE5vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKICAgICBTY3Jv
bGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlUG9zaXRpb25lZE5v
ZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAgIHZvaWQgc2V0QWxsUHJvcGVydGllc0No
YW5nZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJl
YXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0
cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCShyZXZpc2lvbiAyNDY0MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZTo6U2Nyb2xsaW5nU3QKIAogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjp+U2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKCkgPSBkZWZhdWx0OwogCi12b2lkIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKQordm9pZCBTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNo
KCkKIHsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoU2Nyb2xsYWJsZUFyZWFTaXplKTsKICAg
ICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoVG90YWxDb250ZW50c1NpemUpOwpAQCAtODIsNyArODIs
NiBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0QWxsCiAgICAgc2V0UHJv
cGVydHlDaGFuZ2VkQml0KFNjcm9sbFBvc2l0aW9uKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRC
aXQoU2Nyb2xsT3JpZ2luKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoU2Nyb2xsYWJsZUFy
ZWFQYXJhbXMpOwotICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChSZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvbik7CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBzZXRQcm9wZXJ0eUNoYW5n
ZWRCaXQoSG9yaXpvbnRhbFNuYXBPZmZzZXRzKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQo
VmVydGljYWxTbmFwT2Zmc2V0cyk7CkBAIC05OCw3ICs5Nyw3IEBAIHZvaWQgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlOjpzZXRBbGwKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoVmVydGlj
YWxTY3JvbGxiYXJMYXllcik7CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFBhaW50ZXJGb3JT
Y3JvbGxiYXIpOwogCi0gICAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hh
bmdlZCgpOworICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0c0Fm
dGVyUmVhdHRhY2goKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNl
dFNjcm9sbGFibGVBcmVhU2l6ZShjb25zdCBGbG9hdFNpemUmIHNpemUpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzOSw3ICsxMzksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2Rl
SUQpOwogICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAgIHZvaWQgc2V0QWxs
UHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFByb3BlcnR5Q2hhbmdl
ZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGR1bXBQcm9wZXJ0aWVz
KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25z
dCBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCShyZXZpc2lvbiAyNDY0MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxMCArNTgsMTAgQEAgUmVmPFNjcm9sbGluZ1N0
YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVTdAogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQgU2Ny
b2xsaW5nU3RhdGVTdGlja3lOb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpCit2b2lkIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRh
Y2goKQogewogICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChWaWV3cG9ydENvbnN0cmFpbnRzKTsK
LSAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKCk7CisgICAg
U2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCgp
OwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6dXBkYXRlQ29uc3RyYWludHMo
Y29uc3QgU3RpY2t5UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZS5oCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShT
Y3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogICAgIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUmLCBTY3JvbGxpbmdTdGF0
ZVRyZWUmKTsKIAotICAgIHZvaWQgc2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsK
KyAgICB2b2lkIHNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIHJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QoY29uc3Qg
TGF5b3V0UmVjdCYgdmlld3BvcnRSZWN0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKSBv
dmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNzQsNyArMjc0LDcgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OmNsZWFyKCkKIHZv
aWQgU2Nyb2xsaW5nU3RhdGVUcmVlOjpub2RlV2FzUmVhdHRhY2hlZFJlY3Vyc2l2ZShTY3JvbGxp
bmdTdGF0ZU5vZGUmIG5vZGUpCiB7CiAgICAgLy8gV2hlbiBhIG5vZGUgaXMgcmUtYXR0YWNoZWQs
IHRoZSBTY3JvbGxpbmdUcmVlIGlzIHJlY3JlYXRpbmcgdGhlIFNjcm9sbGluZ05vZGUgZnJvbSBz
Y3JhdGNoLCBzbyB3ZSBuZWVkIHRvIHNldCBhbGwgdGhlIGRpcnR5IGJpdHMuCi0gICAgbm9kZS5z
ZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpOworICAgIG5vZGUuc2V0UHJvcGVydHlDaGFuZ2VkQml0
c0FmdGVyUmVhdHRhY2goKTsKIAogICAgIGlmIChhdXRvKiBjaGlsZHJlbiA9IG5vZGUuY2hpbGRy
ZW4oKSkgewogICAgICAgICBmb3IgKGF1dG8mIGNoaWxkIDogKmNoaWxkcmVuKQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjQ2NDMwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgorCisgICAgICAgIFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uIHNob3VsZG4ndCBiZSBh
cHBsaWVkIGFmdGVyIG5vZGUgcmVhdHRhY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5ODk5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE0Mzk2
ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
Y3JvbGxpbmdjb29yZGluYXRvci9pb3Mvc2Nyb2xsLXBvc2l0aW9uLWFmdGVyLXJlYXR0YWNoLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9z
Y3JvbGwtcG9zaXRpb24tYWZ0ZXItcmVhdHRhY2guaHRtbDogQWRkZWQuCisKIDIwMTktMDYtMTMg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJFR1JFU1NJT04ocjI0NjE3OCk6IGV4dHJhIHNwYWNlcyBhZGRlZCBpbiBhdC1ydWxlcyB3
aGVuIGZvcm1hdHRpbmcgQ1NTCkluZGV4OiBMYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRv
ci9pb3Mvc2Nyb2xsLXBvc2l0aW9uLWFmdGVyLXJlYXR0YWNoLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvaW9zL3Njcm9sbC1wb3Np
dGlvbi1hZnRlci1yZWF0dGFjaC1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9zaXRpb24tYWZ0ZXItcmVh
dHRhY2gtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpBc3luY092ZXJm
bG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIGludGVybmFsOkFzeW5jRnJhbWVTY3JvbGxpbmdFbmFi
bGVkPXRydWUgXSAtLT4KKzxzdHlsZT4KKyNvdXRlciB7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsK
KyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBweDsKKyAgICBib3JkZXI6IDJweCBz
b2xpZCB5ZWxsb3c7Cit9CisjaW5uZXIgeworICAgIG92ZXJmbG93OiBhdXRvOworICAgIHdpZHRo
OiAzMDBweDsKKyAgICBoZWlnaHQ6IDMwMHB4OworICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsdWU7
Cit9CisjaW5uZXJjb250ZW50IHsKKyAgICB3aWR0aDogMTAwMHB4OworICAgIGhlaWdodDogMTAw
MHB4OworICAgIGJvcmRlcjogMTBweCBzb2xpZCBncmVlbjsKK30KKyNvdXRlcmNvbnRlbnQgewor
ICAgIHdpZHRoOiAxMDAwcHg7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgYm9yZGVyOiAxMHB4
IHNvbGlkIHJlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCithc3luYyBmdW5jdGlvbiBkb1Rlc3Qo
KSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworICAgIGlu
bmVyLnNjcm9sbFRvKDAsIDIwMCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisK
K3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8L3Njcmlw
dD4BCisKKzxkaXYgaWQ9b3V0ZXI+CisgICAgPGRpdiBpZD1pbm5lcj4KKyAgICAgICAgPGRpdiBp
ZD1pbm5lcmNvbnRlbnQ+VGhpcyBzaG91bGQgYmUgc2Nyb2xsYWJsZTwvZGl2PgorICAgIDwvZGl2
PgorICAgIDxkaXYgaWQ9b3V0ZXJjb250ZW50IGNsYXNzPWNvbnRlbnQ+PC9kaXY+Cis8L2Rpdj4K
KwpJbmRleDogTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvaW9zL3Njcm9sbC1wb3Np
dGlvbi1hZnRlci1yZWF0dGFjaC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Njcm9s
bGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9zaXRpb24tYWZ0ZXItcmVhdHRhY2guaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvc2Ny
b2xsLXBvc2l0aW9uLWFmdGVyLXJlYXR0YWNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJu
YWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBpbnRlcm5hbDpBc3luY0ZyYW1l
U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8c3R5bGU+Cisjb3V0ZXIgeworICAgIG92ZXJm
bG93OiBzY3JvbGw7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAg
Ym9yZGVyOiAycHggc29saWQgeWVsbG93OworfQorI2lubmVyIHsKKyAgICBvdmVyZmxvdzogYXV0
bzsKKyAgICB3aWR0aDogMzAwcHg7CisgICAgaGVpZ2h0OiAzMDBweDsKKyAgICBib3JkZXI6IDJw
eCBzb2xpZCBibHVlOworfQorI2lubmVyY29udGVudCB7CisgICAgd2lkdGg6IDEwMDBweDsKKyAg
ICBoZWlnaHQ6IDEwMDBweDsKKyAgICBib3JkZXI6IDEwcHggc29saWQgZ3JlZW47Cit9Cisjb3V0
ZXJjb250ZW50IHsKKyAgICB3aWR0aDogMTAwMHB4OworICAgIGhlaWdodDogMTAwMHB4OworICAg
IGJvcmRlcjogMTBweCBzb2xpZCByZWQ7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24g
c2Nyb2xsKCkgeworICAgIGxldCByZW1vdmVkID0gb3V0ZXJjb250ZW50OworICAgIG91dGVyY29u
dGVudC5yZW1vdmUoKTsKKyAgICBkb2N1bWVudC5vZmZzZXRMZWZ0OworICAgIHNldFRpbWVvdXQo
KCkgPT4gb3V0ZXIuYXBwZW5kQ2hpbGQocmVtb3ZlZCkpOworfQorCithc3luYyBmdW5jdGlvbiBk
b1Rlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlubmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHNjcm9sbCk7CisKKyAgICBhd2Fp
dCBVSUhlbHBlci5pbW1lZGlhdGVTY3JvbGxFbGVtZW50QXRDb250ZW50UG9pbnRUb09mZnNldCg1
MCwgNTAsIDAsIDIwMCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8L3NjcmlwdD4BCisK
KzxkaXYgaWQ9b3V0ZXI+CisgICAgPGRpdiBpZD1pbm5lcj4KKyAgICAgICAgPGRpdiBpZD1pbm5l
cmNvbnRlbnQ+VGhpcyBzaG91bGQgYmUgc2Nyb2xsYWJsZTwvZGl2PgorICAgIDwvZGl2PgorICAg
IDxkaXYgaWQ9b3V0ZXJjb250ZW50IGNsYXNzPWNvbnRlbnQ+PC9kaXY+Cis8L2Rpdj4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372448</attachid>
            <date>2019-06-19 02:34:59 -0700</date>
            <delta_ts>2019-06-19 10:21:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>scroll-position-reattach-2.patch</filename>
            <type>text/plain</type>
            <size>19331</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NjU4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDE5LTA2LTE5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvbiBzaG91bGRuJ3QgYmUgYXBwbGllZCBhZnRlciBub2RlIHJlYXR0YWNoCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5OTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzUxNDM5Njg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IHNjcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9z
aXRpb24tYWZ0ZXItcmVhdHRhY2guaHRtbAorCisgICAgICAgIElmIGEgc2Nyb2xsaW5nIG5vZGUg
Z2V0cyByZWF0dGFjaGVkLCBpdHMgc2Nyb2xsIHBvc2l0aW9uIHJlc2V0cyB0byAoMCwwKSBvciB3
aGF0ZXZlciB0aGUgcHJldmlvdXMKKyAgICAgICAgcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24gd2Fz
LCBhbmQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbG9zdC4KKworICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFj
aCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6c2V0QWxsUHJv
cGVydGllc0NoYW5nZWQpOiBEZWxldGVkLgorCisgICAgICAgIFJlbmFtZSB0byBiZXR0ZXIgcmVm
bGVjdCB3aGF0IHRoaXMgaXMgZm9yLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZyYW1lSG9zdGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVGcmFtZUhvc3RpbmdOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGU6OnNldEFs
bFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0
c0FmdGVyUmVhdHRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJl
YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJv
cGVydGllc0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
UG9zaXRpb25lZE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVQb3Np
dGlvbmVkTm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2gpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZTo6c2V0QWxsUHJvcGVydGll
c0NoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlUG9zaXRpb25lZE5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCk6CisKKyAg
ICAgICAgRG9uJ3Qgc2V0IFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uLiBJdCBpcyBhIHNwZWNpYWwg
cHJvcGVydHkgdGhhdCBpcyBhcHBsaWVkIG9ubHkgb25jZSBvbiByZXF1ZXN0CisgICAgICAgIGFu
ZCBzaG91bGRuJ3QgZ2V0IHJlYXBwbGllZC4gTm9kZXMgc2hvdWxkIGtlZXAgdGhlaXIgZXhpc3Rp
bmcgc2Nyb2xsIHBvc2l0aW9uIG9uIHJlYXR0YWNoLgorCisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpzZXRQcm9wZXJ0
eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpub2RlV2FzUmVhdHRhY2hlZFJlY3Vyc2l2ZSk6CisKIDIw
MTktMDYtMTggIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dI
TFNMXSBTdXBwb3J0IG1hdHJpY2VzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwCShyZXZpc2lvbiAy
NDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDEwICs1OCwxMCBAQCBSZWY8U2Nyb2xs
aW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCi12b2lk
IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpCit2b2lk
IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJSZWF0
dGFjaCgpCiB7CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFZpZXdwb3J0Q29uc3RyYWludHMp
OwotICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKTsKKyAg
ICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNo
KCk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OnVwZGF0ZUNvbnN0cmFpbnRz
KGNvbnN0IEZpeGVkUG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAt
NTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNjcm9s
bGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAgICAgU2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUm
KTsKIAotICAgIHZvaWQgc2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsKKyAgICB2
b2lkIHNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIHJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3QoY29uc3QgTGF5b3V0
UmVjdCYgdmlld3BvcnRSZWN0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uKSBvdmVycmlk
ZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
cmFtZUhvc3RpbmdOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuY3BwCShyZXZpc2lvbiAyNDY0
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
SG9zdGluZ05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NywxMSArNTcsMTEgQEAgUmVmPFNj
cm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcgogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVIb3N0aW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7
CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlOjpzZXRBbGxQcm9wZXJ0
aWVzQ2hhbmdlZCgpCit2b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVIb3N0aW5nTm9kZTo6c2V0UHJv
cGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKQogewogICAgIHNldFByb3BlcnR5Q2hhbmdl
ZEJpdChQYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0KTsKIAotICAgIFNjcm9sbGluZ1N0YXRl
Tm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKTsKKyAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6
OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCk7CiB9CiAKIHZvaWQgU2Nyb2xs
aW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlOjpzZXRQYXJlbnRSZWxhdGl2ZVNjcm9sbGFibGVSZWN0
KGNvbnN0IExheW91dFJlY3QmIHBhcmVudFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3QpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05v
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICBTY3JvbGxpbmdTdGF0
ZUZyYW1lSG9zdGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
ICAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVG
cmFtZUhvc3RpbmdOb2RlJiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CiAKLSAgICB2b2lkIHNldEFs
bFByb3BlcnRpZXNDaGFuZ2VkKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRQcm9wZXJ0eUNoYW5n
ZWRCaXRzQWZ0ZXJSZWF0dGFjaCgpIG92ZXJyaWRlOwogCiAgICAgTGF5b3V0UmVjdCBtX3BhcmVu
dFJlbGF0aXZlU2Nyb2xsYWJsZVJlY3Q7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlLmNwcAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04NSw3ICs4NSw3IEBAIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0
YXRlRnIKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKCkKK3ZvaWQgU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJl
YXR0YWNoKCkKIHsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoRnJhbWVTY2FsZUZhY3Rvcik7
CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KEV2ZW50VHJhY2tpbmdSZWdpb24pOwpAQCAtMTA3
LDcgKzEwNyw3IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnMKICAg
ICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoTWluTGF5b3V0Vmlld3BvcnRPcmlnaW4pOwogICAgIHNl
dFByb3BlcnR5Q2hhbmdlZEJpdChNYXhMYXlvdXRWaWV3cG9ydE9yaWdpbik7CiAKLSAgICBTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFuZ2VkKCk7CisgICAg
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJS
ZWF0dGFjaCgpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpz
ZXRGcmFtZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZS5oCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICBTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwg
U2Nyb2xsaW5nTm9kZUlEKTsKICAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShj
b25zdCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSYsIFNjcm9sbGluZ1N0YXRlVHJl
ZSYpOwogCi0gICAgdm9pZCBzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpIG92ZXJyaWRlOworICAg
IHZvaWQgc2V0UHJvcGVydHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKSBvdmVycmlkZTsKIAog
ICAgIExheWVyUmVwcmVzZW50YXRpb24gbV9yb290Q29udGVudHNMYXllcjsKICAgICBMYXllclJl
cHJlc2VudGF0aW9uIG1fY291bnRlclNjcm9sbGluZ0xheWVyOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCShyZXZp
c2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgU2Nyb2xs
aW5nU3RhdGVOb2RlOjpzZXRQcm9wZXJ0eUNoYW4KICAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZS5z
ZXRIYXNDaGFuZ2VkUHJvcGVydGllcygpOwogfQogCi12b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6
c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKQordm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFBy
b3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkKIHsKICAgICBzZXRQcm9wZXJ0eUNoYW5n
ZWRCaXQoTGF5ZXIpOwogICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChDaGlsZE5vZGVzKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5oCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDcgKzIxMiw3IEBA
IHB1YmxpYzoKICAgICBib29sIGhhc0NoYW5nZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUJp
dCkgY29uc3QgeyByZXR1cm4gbV9jaGFuZ2VkUHJvcGVydGllcyAmIChzdGF0aWNfY2FzdDxDaGFu
Z2VkUHJvcGVydGllcz4oMSkgPDwgcHJvcGVydHlCaXQpOyB9CiAgICAgdm9pZCByZXNldENoYW5n
ZWRQcm9wZXJ0aWVzKCkgeyBtX2NoYW5nZWRQcm9wZXJ0aWVzID0gMDsgfQogICAgIHZvaWQgc2V0
UHJvcGVydHlDaGFuZ2VkKHVuc2lnbmVkIHByb3BlcnR5Qml0KTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UHJvcGVydHlD
aGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKTsKIAogICAgIENoYW5nZWRQcm9wZXJ0aWVzIGNoYW5n
ZWRQcm9wZXJ0aWVzKCkgY29uc3QgeyByZXR1cm4gbV9jaGFuZ2VkUHJvcGVydGllczsgfQogICAg
IHZvaWQgc2V0Q2hhbmdlZFByb3BlcnRpZXMoQ2hhbmdlZFByb3BlcnRpZXMgY2hhbmdlZFByb3Bl
cnRpZXMpIHsgbV9jaGFuZ2VkUHJvcGVydGllcyA9IGNoYW5nZWRQcm9wZXJ0aWVzOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWRO
b2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlLmNwcAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU5LDExICs1OSwxMSBAQCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2Rl
PiBTY3JvbGxpbmdTdGF0ZVBvCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3Rh
dGVQb3NpdGlvbmVkTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKLXZvaWQgU2Nyb2xs
aW5nU3RhdGVQb3NpdGlvbmVkTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKQordm9pZCBT
Y3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0ZXJS
ZWF0dGFjaCgpCiB7CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFJlbGF0ZWRPdmVyZmxvd1Nj
cm9sbGluZ05vZGVzKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoTGF5b3V0Q29uc3RyYWlu
dERhdGEpOwotICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQo
KTsKKyAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJl
YXR0YWNoKCk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZTo6c2V0UmVs
YXRlZE92ZXJmbG93U2Nyb2xsaW5nTm9kZXMoVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4mJiBub2Rl
cykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlUG9z
aXRpb25lZE5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlLmgJKHJldmlzaW9uIDI0NjQzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlUG9zaXRpb25lZE5vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNjEsNyArNjEsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGlu
Z1N0YXRlUG9zaXRpb25lZE5vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlE
KTsKICAgICBTY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRl
UG9zaXRpb25lZE5vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAgIHZvaWQgc2V0QWxs
UHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFByb3BlcnR5Q2hhbmdl
ZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGR1bXBQcm9wZXJ0aWVz
KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25z
dCBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCShyZXZpc2lvbiAy
NDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3QKIAogU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKCkgPSBkZWZhdWx0OwogCi12b2lk
IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKQor
dm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldFByb3BlcnR5Q2hhbmdlZEJpdHNB
ZnRlclJlYXR0YWNoKCkKIHsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoU2Nyb2xsYWJsZUFy
ZWFTaXplKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQoVG90YWxDb250ZW50c1NpemUpOwpA
QCAtODIsNyArODIsNiBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0QWxs
CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0KFNjcm9sbFBvc2l0aW9uKTsKICAgICBzZXRQcm9w
ZXJ0eUNoYW5nZWRCaXQoU2Nyb2xsT3JpZ2luKTsKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWRCaXQo
U2Nyb2xsYWJsZUFyZWFQYXJhbXMpOwotICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChSZXF1ZXN0
ZWRTY3JvbGxQb3NpdGlvbik7CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBzZXRQ
cm9wZXJ0eUNoYW5nZWRCaXQoSG9yaXpvbnRhbFNuYXBPZmZzZXRzKTsKICAgICBzZXRQcm9wZXJ0
eUNoYW5nZWRCaXQoVmVydGljYWxTbmFwT2Zmc2V0cyk7CkBAIC05OCw3ICs5Nyw3IEBAIHZvaWQg
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRBbGwKICAgICBzZXRQcm9wZXJ0eUNoYW5n
ZWRCaXQoVmVydGljYWxTY3JvbGxiYXJMYXllcik7CiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkQml0
KFBhaW50ZXJGb3JTY3JvbGxiYXIpOwogCi0gICAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRBbGxQ
cm9wZXJ0aWVzQ2hhbmdlZCgpOworICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0UHJvcGVydHlD
aGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGU6OnNldFNjcm9sbGFibGVBcmVhU2l6ZShjb25zdCBGbG9hdFNpemUmIHNpemUpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAkocmV2aXNpb24gMjQ2NDMwKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEzOSw3ICsxMzksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBT
Y3JvbGxpbmdOb2RlSUQpOwogICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAg
IHZvaWQgc2V0QWxsUHJvcGVydGllc0NoYW5nZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFBy
b3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNoKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGR1
bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJl
aGF2aW9yKSBjb25zdCBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCShyZXZp
c2lvbiAyNDY0MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxMCArNTgsMTAgQEAgUmVm
PFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVTdAogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9
CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpzZXRBbGxQcm9wZXJ0aWVzQ2hhbmdl
ZCgpCit2b2lkIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6c2V0UHJvcGVydHlDaGFuZ2VkQml0
c0FmdGVyUmVhdHRhY2goKQogewogICAgIHNldFByb3BlcnR5Q2hhbmdlZEJpdChWaWV3cG9ydENv
bnN0cmFpbnRzKTsKLSAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldEFsbFByb3BlcnRpZXNDaGFu
Z2VkKCk7CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRQcm9wZXJ0eUNoYW5nZWRCaXRzQWZ0
ZXJSZWF0dGFjaCgpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6dXBkYXRl
Q29uc3RyYWludHMoY29uc3QgU3RpY2t5UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiBjb25z
dHJhaW50cykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oCShyZXZpc2lvbiAyNDY0MzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogICAgIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUmLCBT
Y3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAotICAgIHZvaWQgc2V0QWxsUHJvcGVydGllc0NoYW5nZWQo
KSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFByb3BlcnR5Q2hhbmdlZEJpdHNBZnRlclJlYXR0YWNo
KCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHJlY29uY2lsZUxheWVyUG9zaXRpb25Gb3JWaWV3cG9y
dFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgdmlld3BvcnRSZWN0LCBTY3JvbGxpbmdMYXllclBvc2l0
aW9uQWN0aW9uKSBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCShyZXZpc2lvbiAyNDY0MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzQsNyArMjc0LDcgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6
OmNsZWFyKCkKIHZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVlOjpub2RlV2FzUmVhdHRhY2hlZFJlY3Vy
c2l2ZShTY3JvbGxpbmdTdGF0ZU5vZGUmIG5vZGUpCiB7CiAgICAgLy8gV2hlbiBhIG5vZGUgaXMg
cmUtYXR0YWNoZWQsIHRoZSBTY3JvbGxpbmdUcmVlIGlzIHJlY3JlYXRpbmcgdGhlIFNjcm9sbGlu
Z05vZGUgZnJvbSBzY3JhdGNoLCBzbyB3ZSBuZWVkIHRvIHNldCBhbGwgdGhlIGRpcnR5IGJpdHMu
Ci0gICAgbm9kZS5zZXRBbGxQcm9wZXJ0aWVzQ2hhbmdlZCgpOworICAgIG5vZGUuc2V0UHJvcGVy
dHlDaGFuZ2VkQml0c0FmdGVyUmVhdHRhY2goKTsKIAogICAgIGlmIChhdXRvKiBjaGlsZHJlbiA9
IG5vZGUuY2hpbGRyZW4oKSkgewogICAgICAgICBmb3IgKGF1dG8mIGNoaWxkIDogKmNoaWxkcmVu
KQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjQ2NDMwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMTkgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uIHNo
b3VsZG4ndCBiZSBhcHBsaWVkIGFmdGVyIG5vZGUgcmVhdHRhY2gKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk5NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNTE0Mzk2ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzY3JvbGxpbmdjb29yZGluYXRvci9pb3Mvc2Nyb2xsLXBvc2l0aW9uLWFmdGVy
LXJlYXR0YWNoLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGluZ2Nvb3Jk
aW5hdG9yL2lvcy9zY3JvbGwtcG9zaXRpb24tYWZ0ZXItcmVhdHRhY2guaHRtbDogQWRkZWQuCisK
IDIwMTktMDYtMTMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT04ocjI0NjE3OCk6IGV4dHJhIHNwYWNlcyBhZGRlZCBp
biBhdC1ydWxlcyB3aGVuIGZvcm1hdHRpbmcgQ1NTCkluZGV4OiBMYXlvdXRUZXN0cy9zY3JvbGxp
bmdjb29yZGluYXRvci9pb3Mvc2Nyb2xsLXBvc2l0aW9uLWFmdGVyLXJlYXR0YWNoLWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvaW9z
L3Njcm9sbC1wb3NpdGlvbi1hZnRlci1yZWF0dGFjaC1leHBlY3RlZC5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9zaXRp
b24tYWZ0ZXItcmVhdHRhY2gtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5h
bDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIGludGVybmFsOkFzeW5jRnJhbWVT
Y3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxzdHlsZT4KKyNvdXRlciB7CisgICAgb3ZlcmZs
b3c6IHNjcm9sbDsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBweDsKKyAgICBi
b3JkZXI6IDJweCBzb2xpZCB5ZWxsb3c7Cit9CisjaW5uZXIgeworICAgIG92ZXJmbG93OiBhdXRv
OworICAgIHdpZHRoOiAzMDBweDsKKyAgICBoZWlnaHQ6IDMwMHB4OworICAgIGJvcmRlcjogMnB4
IHNvbGlkIGJsdWU7Cit9CisjaW5uZXJjb250ZW50IHsKKyAgICB3aWR0aDogMTAwMHB4OworICAg
IGhlaWdodDogMTAwMHB4OworICAgIGJvcmRlcjogMTBweCBzb2xpZCBncmVlbjsKK30KKyNvdXRl
cmNvbnRlbnQgeworICAgIHdpZHRoOiAxMDAwcHg7CisgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAg
Ym9yZGVyOiAxMHB4IHNvbGlkIHJlZDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCithc3luYyBmdW5j
dGlvbiBkb1Rlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworICAgIGlubmVyLnNjcm9sbFRvKDAsIDIwMCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxz
ZSk7Cis8L3NjcmlwdD4BCisKKzxkaXYgaWQ9b3V0ZXI+CisgICAgPGRpdiBpZD1pbm5lcj4KKyAg
ICAgICAgPGRpdiBpZD1pbm5lcmNvbnRlbnQ+VGhpcyBzaG91bGQgYmUgc2Nyb2xsYWJsZTwvZGl2
PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9b3V0ZXJjb250ZW50IGNsYXNzPWNvbnRlbnQ+PC9k
aXY+Cis8L2Rpdj4KKwpJbmRleDogTGF5b3V0VGVzdHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvaW9z
L3Njcm9sbC1wb3NpdGlvbi1hZnRlci1yZWF0dGFjaC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL2lvcy9zY3JvbGwtcG9zaXRpb24tYWZ0ZXItcmVh
dHRhY2guaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGlu
YXRvci9pb3Mvc2Nyb2xsLXBvc2l0aW9uLWFmdGVyLXJlYXR0YWNoLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBpbnRlcm5h
bDpBc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8c3R5bGU+Cisjb3V0ZXIg
eworICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDog
NDAwcHg7CisgICAgYm9yZGVyOiAycHggc29saWQgeWVsbG93OworfQorI2lubmVyIHsKKyAgICBv
dmVyZmxvdzogYXV0bzsKKyAgICB3aWR0aDogMzAwcHg7CisgICAgaGVpZ2h0OiAzMDBweDsKKyAg
ICBib3JkZXI6IDJweCBzb2xpZCBibHVlOworfQorI2lubmVyY29udGVudCB7CisgICAgd2lkdGg6
IDEwMDBweDsKKyAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICBib3JkZXI6IDEwcHggc29saWQgZ3Jl
ZW47Cit9Cisjb3V0ZXJjb250ZW50IHsKKyAgICB3aWR0aDogMTAwMHB4OworICAgIGhlaWdodDog
MTAwMHB4OworICAgIGJvcmRlcjogMTBweCBzb2xpZCByZWQ7Cit9Cis8L3N0eWxlPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KworZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgIGxldCByZW1vdmVkID0gb3V0ZXJjb250ZW50Owor
ICAgIG91dGVyY29udGVudC5yZW1vdmUoKTsKKyAgICBkb2N1bWVudC5vZmZzZXRMZWZ0OworICAg
IHNldFRpbWVvdXQoKCkgPT4gb3V0ZXIuYXBwZW5kQ2hpbGQocmVtb3ZlZCkpOworfQorCithc3lu
YyBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgcmV0dXJuOworICAgIGlubmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHNjcm9sbCk7
CisKKyAgICBhd2FpdCBVSUhlbHBlci5pbW1lZGlhdGVTY3JvbGxFbGVtZW50QXRDb250ZW50UG9p
bnRUb09mZnNldCg1MCwgNTAsIDAsIDIwMCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8
L3NjcmlwdD4BCisKKzxkaXYgaWQ9b3V0ZXI+CisgICAgPGRpdiBpZD1pbm5lcj4KKyAgICAgICAg
PGRpdiBpZD1pbm5lcmNvbnRlbnQ+VGhpcyBzaG91bGQgYmUgc2Nyb2xsYWJsZTwvZGl2PgorICAg
IDwvZGl2PgorICAgIDxkaXYgaWQ9b3V0ZXJjb250ZW50IGNsYXNzPWNvbnRlbnQ+PC9kaXY+Cis8
L2Rpdj4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>