<?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>152639</bug_id>
          
          <creation_ts>2016-01-01 14:02:25 -0800</creation_ts>
          <short_desc>Fix reload and programmatic scrolling in RTL documents</short_desc>
          <delta_ts>2016-01-01 20:50:22 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>mattbaker</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1151860</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-01 14:02:25 -0800</bug_when>
    <thetext>Fix reload and programmatic scrolling in RTL documents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151861</commentid>
    <comment_count>1</comment_count>
      <attachid>268075</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-01 14:12:32 -0800</bug_when>
    <thetext>Created attachment 268075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151867</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-01-01 16:38:54 -0800</bug_when>
    <thetext>I&apos;ve noticed other erratic scrolling behavior with elements using `overflow-y: auto`. Bisecting points to https://bugs.webkit.org/show_bug.cgi?id=152594 as the likely cause.

Reduction:

&lt;style&gt;
#content {
    width: 100px;
    height: 200px;
    overflow-y: auto;
}
&lt;/style&gt;
&lt;div id=&quot;content&quot;&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec diam nisl, placerat non diam id, auctor facilisis tellus. In fermentum odio a consequat mattis.&lt;/p&gt;
&lt;/div&gt;

Vertically scrolling the paragraph causes accumulated errors in the scroll offset position. Hopefully this patch fixes it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151875</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-01 18:12:25 -0800</bug_when>
    <thetext>Matt, this patch doesn&apos;t affect overflow scroll. Can you file a new bug on the issue you&apos;re seeing, with steps to reproduce?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151879</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-01 18:52:19 -0800</bug_when>
    <thetext>I can reproduce that bug and filed bug 152645.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151891</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-01 20:50:22 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/194487</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268075</attachid>
            <date>2016-01-01 14:12:32 -0800</date>
            <delta_ts>2016-01-01 20:31:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152639-20160101141157.patch</filename>
            <type>text/plain</type>
            <size>40690</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzkxZWRhMTc3YzEyMTA5
NmQ2NjI3NTNiOGU0MzllNWU4NmQ0ZjkyNi4uNjlhZjM4NDRjNjg3NTE5OWZiOWRjMWMxOTM5ZjEx
YTA4MDM2Zjk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDE2LTAxLTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCByZWxvYWQg
YW5kIHByb2dyYW1tYXRpYyBzY3JvbGxpbmcgaW4gUlRMIGRvY3VtZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNjM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBSZWxvYWRpbmcgYSBs
ZWZ0LXNjcm9sbGVkIFJUTCBkb2N1bWVudCB3b3VsZCBjYXVzZSB0aGUgY29udGVudCB0byBhcHBl
YXIKKyAgICAgICAgYXQgYW4gb2RkIG9mZnNldCwgYW5kIHByb2dyYW1tYXRpYyBzaWRld2F5cyBz
Y3JvbGxzIGluIFJUTCBkb2N1bWVudHMgYWxzbworICAgICAgICBqdW1wZWQgdG8gdGhlIHdyb25n
IGxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgRml4IGJ5IHJlc29sdmluZyBvZmZzZXQvcG9z
aXRpb24gY29uZnVzaW9uIGluIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQo
KQorICAgICAgICBhbmQgdGhlIHNjcm9sbGluZyB0cmVlLgorICAgICAgICAKKyAgICAgICAgU2Ny
b2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCgpIHdhcyBlcnJvbmVvdXNseSBwYXNz
aW5nIGEgc2Nyb2xsUG9zaXRpb24KKyAgICAgICAgdG8gc2V0U2Nyb2xsT2Zmc2V0KCkuIAorICAg
ICAgICAKKyAgICAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSogd2VyZSBjb25m
dXNlZCBhYm91dCBvZmZzZXRzIGFuZCBwb3NpdGlvbnMuIEl0CisgICAgICAgIHR1cm5zIG91dCB0
aGF0IHRoZSBsYXllciBwb3NpdGlvbiBpcyBqdXN0IC1zY3JvbGxQb3NpdGlvbiwgYnV0IG1pbmlt
dW1TY3JvbGxQb3NpdGlvbigpCisgICAgICAgIGFuZCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSBu
ZWVkIGZpeGluZyB0byByZXR1cm4gcG9zaXRpb25zLCBub3Qgb2Zmc2V0cy4KKyAgICAgICAgCisg
ICAgICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnZpZXdUb0NvbnRlbnRzT2Zm
c2V0KCkgd2FzIGFsc28gZG9pbmcgaW5jb3JyZWN0CisgICAgICAgIG1hdGggd2l0aCBzY3JvbGxP
cmlnaW4sIHdoaWNoIHdhcyBkZXRlY3RlZCBieSBhIGZhaWxpbmcgdGVzdC4KKyAgICAgICAgCisg
ICAgICAgIEFkZCBtb3JlIGxvZ2dpbmcgdG8gdGhlIFNjcm9sbGluZyBjaGFubmVsLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtZG9jdW1lbnQtcnRsLXNjcm9s
bC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtZG9jdW1l
bnQtcnRsLXNjcm9sbEludG9WaWV3Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1wb3NpdGlvbi1vbi1yZWxvYWQtcnRsLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVxdWVzdFNjcm9sbFBv
c2l0aW9uVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OnNob3VsZEhhbmRsZVdoZWVsRXZl
bnRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnZpZXdUb0NvbnRlbnRzT2Zmc2V0KToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJ
T1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TOjpzY3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OnVwZGF0ZUNoaWxkTm9k
ZXNBZnRlclNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlSU9TOjptaW5pbXVtU2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6bWF4aW11bVNjcm9sbFBvc2l0aW9u
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OnNldFNjcm9sbExheWVyUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6Om1heGlt
dW1TY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRTY3JvbGxPZmZzZXQpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6c2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Vmlldzo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6
dXBkYXRlU2Nyb2xsYmFycyk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbE9mZnNldEZyb21BbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
aXN0Qm94OjpzZXRTY3JvbGxPZmZzZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0
Qm94Lmg6CisKIDIwMTYtMDEtMDEgIEplZmYgTWlsbGVyICA8amVmZm1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFVwZGF0ZSB1c2VyLXZpc2libGUgY29weXJpZ2h0IHN0cmluZ3MgdG8gaW5jbHVkZSAy
MDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggOWEzZTZjMDM3MWJmMzlkNzExOWUxZjNlNzlhZTZmYTNhYjdiNzQ4
Zi4uMzg3ZDcxMGQ2N2Y0ZWY1ZDJhYWVmMWI0YTJlMWM0MmE0NDgzZWM2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDMzIEBACisyMDE2LTAxLTAxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIEZpeCByZWxvYWQgYW5kIHByb2dyYW1tYXRpYyBzY3JvbGxp
bmcgaW4gUlRMIGRvY3VtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUyNjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVsb2FkaW5nIGEgbGVmdC1zY3JvbGxlZCBSVEwgZG9jdW1lbnQgd291bGQg
Y2F1c2UgdGhlIGNvbnRlbnQgdG8gYXBwZWFyCisgICAgICAgIGF0IGFuIG9kZCBvZmZzZXQsIGFu
ZCBwcm9ncmFtbWF0aWMgc2lkZXdheXMgc2Nyb2xscyBpbiBSVEwgZG9jdW1lbnRzIGFsc28KKyAg
ICAgICAganVtcGVkIHRvIHRoZSB3cm9uZyBsb2NhdGlvbi4KKyAgICAgICAgCisgICAgICAgIEZp
eCBieSByZXNvbHZpbmcgb2Zmc2V0L3Bvc2l0aW9uIGNvbmZ1c2lvbiBpbiBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCkKKyAgICAgICAgYW5kIHRoZSBzY3JvbGxpbmcgdHJl
ZS4KKyAgICAgICAgCisgICAgICAgIFNjcm9sbGFibGVBcmVhOjpzY3JvbGxQb3NpdGlvbkNoYW5n
ZWQoKSB3YXMgZXJyb25lb3VzbHkgcGFzc2luZyBhIHNjcm9sbFBvc2l0aW9uCisgICAgICAgIHRv
IHNldFNjcm9sbE9mZnNldCgpLiAKKyAgICAgICAgCisgICAgICAgIFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUqIHdlcmUgY29uZnVzZWQgYWJvdXQgb2Zmc2V0cyBhbmQgcG9zaXRpb25z
LiBJdAorICAgICAgICB0dXJucyBvdXQgdGhhdCB0aGUgbGF5ZXIgcG9zaXRpb24gaXMganVzdCAt
c2Nyb2xsUG9zaXRpb24sIGJ1dCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKQorICAgICAgICBhbmQg
bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgbmVlZCBmaXhpbmcgdG8gcmV0dXJuIHBvc2l0aW9ucywg
bm90IG9mZnNldHMuCisgICAgICAgIAorICAgICAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlOjp2aWV3VG9Db250ZW50c09mZnNldCgpIHdhcyBhbHNvIGRvaW5nIGluY29ycmVjdAor
ICAgICAgICBtYXRoIHdpdGggc2Nyb2xsT3JpZ2luLCB3aGljaCB3YXMgZGV0ZWN0ZWQgYnkgYSBm
YWlsaW5nIHRlc3QuCisgICAgICAgIAorICAgICAgICBBZGQgbW9yZSBsb2dnaW5nIHRvIHRoZSBT
Y3JvbGxpbmcgY2hhbm5lbC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVw
cmVjYXRlZFBERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVw
cmVjYXRlZFBERlBsdWdpbi5tbToKKyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjpzZXRTY3Jv
bGxPZmZzZXQpOgorCiAyMDE2LTAxLTAxICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4K
IAogICAgICAgICBVcGRhdGUgdXNlci12aXNpYmxlIGNvcHlyaWdodCBzdHJpbmdzIHRvIGluY2x1
ZGUgMjAxNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE1ZjRiODI5ZmRjZmE4ZmE5
YWYxNTJlNGQ5OGMxMTllMDBjNGI2YzAuLjdiN2MzMTFjM2E4OTNkYmZmNmU0NTJlYTVlN2Q5OWRl
NDgwNjg0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIzNTMsNiArMjM1Myw4
IEBAIGJvb2wgRnJhbWVWaWV3Ojppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QKIAogYm9v
bCBGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3Np
dGlvbiYgcG9zaXRpb24pCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFt
IDw8ICJGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSAiIDw8IHBvc2l0aW9u
KTsKKwogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgaWYgKFRpbGVkQmFja2luZyog
dGlsZWRCYWNraW5nID0gdGhpcy0+dGlsZWRCYWNraW5nKCkpCiAgICAgICAgIHRpbGVkQmFja2lu
Zy0+cHJlcG9wdWxhdGVSZWN0KEZsb2F0UmVjdChwb3NpdGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0
KCkuc2l6ZSgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuY3BwCmluZGV4IDBmNDFmZWE0NzU1YWU0ODJiZGI5YWM5ODhkNzA0NDc2YTZlOTZkZDEu
LjQ3NmI0YzI3MWQ5YmFhMTU0OTA1MjQ3NDY5YTVjYWZmN2VmNGYzZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC0yOCwxMiArMjgs
MTQgQEAKIAogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKKyNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5n
U3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5o
IgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVOb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlLmgiCisjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0Zi9UZW1wb3Jh
cnlDaGFuZ2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsOSArNjMsMTEgQEAgYm9v
bCBTY3JvbGxpbmdUcmVlOjpzaG91bGRIYW5kbGVXaGVlbEV2ZW50U3luY2hyb25vdXNseShjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQKICAgICAKICAgICBpZiAoIW1fbm9uRmFzdFNjcm9sbGFibGVS
ZWdpb24uaXNFbXB0eSgpICYmIG1fcm9vdE5vZGUpIHsKICAgICAgICAgU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZSYgZnJhbWVTY3JvbGxpbmdOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4oKm1fcm9vdE5vZGUpOwotICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyBub3QgY29ycmVjdCBmb3Igbm9uLWRlZmF1bHQgc2Nyb2xsIG9yaWdpbnMuCiAgICAg
ICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSB3aGVlbEV2ZW50LnBvc2l0aW9uKCk7CiAgICAgICAg
IHBvc2l0aW9uLm1vdmUoZnJhbWVTY3JvbGxpbmdOb2RlLnZpZXdUb0NvbnRlbnRzT2Zmc2V0KG1f
bWFpbkZyYW1lU2Nyb2xsUG9zaXRpb24pKTsKKworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oU2Ny
b2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWU6OnNob3VsZEhhbmRsZVdoZWVsRXZlbnRT
eW5jaHJvbm91c2x5OiB3aGVlbEV2ZW50IGF0ICIgPDwgd2hlZWxFdmVudC5wb3NpdGlvbigpIDw8
ICIgbWFwcGVkIHRvIGNvbnRlbnQgcG9pbnQgIiA8PCBwb3NpdGlvbiA8PCAiLCBpbiBub24tZmFz
dCByZWdpb24gIiA8PCBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uLmNvbnRhaW5zKHJvdW5kZWRJ
bnRQb2ludChwb3NpdGlvbikpKTsKKwogICAgICAgICBpZiAobV9ub25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbi5jb250YWlucyhyb3VuZGVkSW50UG9pbnQocG9zaXRpb24pKSkKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXgg
OGFkMzM0YWI2MDVkZmI5M2JmYWExYTcyNmY3Y2QzZjY1ZDNhY2ZiMS4uYWMzZGJhMDU5ZTAzMzYx
NWUwYWU2M2RlZGEzZjEzZmM5NTgxODgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZS5jcHAKQEAgLTcwLDkgKzcwLDkgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU4KICAgICAgICAg
bV9maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lID0gc3RhdGUuZml4ZWRFbGVtZW50
c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgb2Zmc2V0KQordm9pZCBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxCeShjb25zdCBGbG9hdFNpemUmIGRl
bHRhKQogewotICAgIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBvZmZzZXQp
OworICAgIHNldFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKCkgKyBkZWx0YSk7CiB9CiAK
IHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsQnlXaXRob3V0Q29u
dGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFNpemUmIG9mZnNldCkKQEAgLTg2LDkgKzg2
LDkgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3Np
dGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGwKICAgICBzZXRTY3JvbGxQb3NpdGlvbldpdGhv
dXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKG5ld1Njcm9sbFBvc2l0aW9uKTsKIH0KIAotRmxvYXRT
aXplIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnZpZXdUb0NvbnRlbnRzT2Zmc2V0
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbE9mZnNldCkgY29uc3QKK0Zsb2F0U2l6ZSBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjp2aWV3VG9Db250ZW50c09mZnNldChjb25zdCBGbG9h
dFBvaW50JiBzY3JvbGxQb3NpdGlvbikgY29uc3QKIHsKLSAgICByZXR1cm4gdG9GbG9hdFNpemUo
c2Nyb2xsT2Zmc2V0KSAtIHRvRmxvYXRTaXplKHNjcm9sbE9yaWdpbigpKSAtIEZsb2F0U2l6ZSgw
LCBoZWFkZXJIZWlnaHQoKSArIHRvcENvbnRlbnRJbnNldCgpKTsKKyAgICByZXR1cm4gdG9GbG9h
dFNpemUoc2Nyb2xsUG9zaXRpb24pIC0gRmxvYXRTaXplKDAsIGhlYWRlckhlaWdodCgpICsgdG9w
Q29udGVudEluc2V0KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggYWM0NDkwNWQ2MDQwNTE3YTk5MDFjOTdkZjNkMjliMjY3
MDQxNjIyMi4uOTJiMDFmMDE3ZTI1ODNiMzA2NDUyZjUwODc1MWIyNDExODI0ZTlhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zOyB9CiAgICAgYm9vbCBmaXhl
ZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9maXhlZEVs
ZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lOyB9CiAKLSAgICBGbG9hdFNpemUgdmlld1RvQ29u
dGVudHNPZmZzZXQoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsT2Zmc2V0KSBjb25zdDsKKyAgICBG
bG9hdFNpemUgdmlld1RvQ29udGVudHNPZmZzZXQoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9z
aXRpb24pIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KaW5kZXggMzJlNWRhNDA4ZGEwMTVmZDlhNzAx
N2FlYWNmYTU3MGQwNjA5MTM1ZC4uODBjMjI1NzVlZWYwZDBjMGJkZGJiZDY3YWI1YjNkYjUyZDdj
ZjBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KQEAg
LTEwMiw4ICsxMDIsNyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1M6OnNjcm9sbFBvc2l0aW9uKCkgY29uc3QKICAgICBpZiAoc2hvdWxkVXBkYXRlU2Nyb2xs
TGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKSkKICAgICAgICAgcmV0dXJuIG1fcHJvYmFibGVN
YWluVGhyZWFkU2Nyb2xsUG9zaXRpb247CiAKLSAgICBDR1BvaW50IHNjcm9sbExheWVyUG9zaXRp
b24gPSBtX3Njcm9sbExheWVyLmdldCgpLnBvc2l0aW9uOwotICAgIHJldHVybiBJbnRQb2ludCgt
c2Nyb2xsTGF5ZXJQb3NpdGlvbi54ICsgc2Nyb2xsT3JpZ2luKCkueCgpLCAtc2Nyb2xsTGF5ZXJQ
b3NpdGlvbi55ICsgc2Nyb2xsT3JpZ2luKCkueSgpKTsKKyAgICByZXR1cm4gLW1fc2Nyb2xsTGF5
ZXIuZ2V0KCkucG9zaXRpb247CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZUlPUzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhj
b25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKQEAgLTEyMSw3ICsxMjAsNyBAQCB2b2lk
IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OnNldFNjcm9sbFBvc2l0aW9uV2l0
aG91dENvbnRlbnRFZGdlQ29ucwogdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uKQogewogICAgIEFTU0VSVCghc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNo
cm9ub3VzbHkoKSk7Ci0gICAgW21fc2Nyb2xsTGF5ZXIgc2V0UG9zaXRpb246Q0dQb2ludE1ha2Uo
LXNjcm9sbFBvc2l0aW9uLngoKSArIHNjcm9sbE9yaWdpbigpLngoKSwgLXNjcm9sbFBvc2l0aW9u
LnkoKSArIHNjcm9sbE9yaWdpbigpLnkoKSldOworICAgIFttX3Njcm9sbExheWVyIHNldFBvc2l0
aW9uOi1zY3JvbGxQb3NpdGlvbl07CiAKICAgICB1cGRhdGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwo
c2Nyb2xsUG9zaXRpb24pOwogfQpAQCAtMTQ2LDkgKzE0NSw4IEBAIHZvaWQgU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlTGF5ZXJzQWZ0ZXJEZWxlZ2F0ZWRTY3JvbGwo
Y29uc3QKIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlQ2hp
bGROb2Rlc0FmdGVyU2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQogewog
ICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBiZWhhdmlvckZvckZpeGVkID0gc2Ny
b2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKCk7Ci0gICAgRmxvYXRQb2ludCBzY3JvbGxPZmZz
ZXQgPSBzY3JvbGxQb3NpdGlvbiAtIHRvSW50U2l6ZShzY3JvbGxPcmlnaW4oKSk7Ci0gICAgRmxv
YXRSZWN0IHZpZXdwb3J0UmVjdChGbG9hdFBvaW50KCksIHNjcm9sbGFibGVBcmVhU2l6ZSgpKTsK
LSAgICBGbG9hdFBvaW50IHNjcm9sbFBvc2l0aW9uRm9yRml4ZWRDaGlsZHJlbiA9IEZyYW1lVmll
dzo6c2Nyb2xsUG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKGVuY2xvc2luZ0xheW91dFJlY3Qodmll
d3BvcnRSZWN0KSwgTGF5b3V0U2l6ZSh0b3RhbENvbnRlbnRzU2l6ZSgpKSwgTGF5b3V0UG9pbnQo
c2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsT3JpZ2luKCksIGZyYW1lU2NhbGVGYWN0b3IoKSwgZml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpLCBiZWhhdmlvckZvckZpeGVkLCBoZWFkZXJI
ZWlnaHQoKSwgZm9vdGVySGVpZ2h0KCkpOworICAgIEZsb2F0UmVjdCB2aWV3cG9ydFJlY3Qoc2Ny
b2xsUG9zaXRpb24sIHNjcm9sbGFibGVBcmVhU2l6ZSgpKTsKKyAgICBGbG9hdFBvaW50IHNjcm9s
bFBvc2l0aW9uRm9yRml4ZWRDaGlsZHJlbiA9IEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25Gb3JG
aXhlZFBvc2l0aW9uKGVuY2xvc2luZ0xheW91dFJlY3Qodmlld3BvcnRSZWN0KSwgTGF5b3V0U2l6
ZSh0b3RhbENvbnRlbnRzU2l6ZSgpKSwgTGF5b3V0UG9pbnQoc2Nyb2xsUG9zaXRpb24pLCBzY3Jv
bGxPcmlnaW4oKSwgZnJhbWVTY2FsZUZhY3RvcigpLCBmaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRp
dmVUb0ZyYW1lKCksIGJlaGF2aW9yRm9yRml4ZWQsIGhlYWRlckhlaWdodCgpLCBmb290ZXJIZWln
aHQoKSk7CiAKICAgICBbbV9jb3VudGVyU2Nyb2xsaW5nTGF5ZXIgc2V0UG9zaXRpb246c2Nyb2xs
UG9zaXRpb25Gb3JGaXhlZENoaWxkcmVuXTsKIApAQCAtMTU4LDcgKzE1Niw3IEBAIHZvaWQgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0FmdGVyU2Ny
b2xsKGNvbnN0IEZsb2F0CiAgICAgICAgIC8vIHRoZW4gd2Ugc2hvdWxkIHJlY29tcHV0ZSBzY3Jv
bGxQb3NpdGlvbkZvckZpeGVkQ2hpbGRyZW4gZm9yIHRoZSBiYW5uZXIgd2l0aCBhIHNjYWxlIGZh
Y3RvciBvZiAxLgogICAgICAgICBmbG9hdCBob3Jpem9udGFsU2Nyb2xsT2Zmc2V0Rm9yQmFubmVy
ID0gc2Nyb2xsUG9zaXRpb25Gb3JGaXhlZENoaWxkcmVuLngoKTsKICAgICAgICAgaWYgKGZyYW1l
U2NhbGVGYWN0b3IoKSAhPSAxKQotICAgICAgICAgICAgaG9yaXpvbnRhbFNjcm9sbE9mZnNldEZv
ckJhbm5lciA9IEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKGVuY2xv
c2luZ0xheW91dFJlY3Qodmlld3BvcnRSZWN0KSwgTGF5b3V0U2l6ZSh0b3RhbENvbnRlbnRzU2l6
ZSgpKSwgTGF5b3V0UG9pbnQoc2Nyb2xsT2Zmc2V0KSwgc2Nyb2xsT3JpZ2luKCksIDEsIGZpeGVk
RWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSwgYmVoYXZpb3JGb3JGaXhlZCwgaGVhZGVy
SGVpZ2h0KCksIGZvb3RlckhlaWdodCgpKS54KCk7CisgICAgICAgICAgICBob3Jpem9udGFsU2Ny
b2xsT2Zmc2V0Rm9yQmFubmVyID0gRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkZvckZpeGVkUG9z
aXRpb24oZW5jbG9zaW5nTGF5b3V0UmVjdCh2aWV3cG9ydFJlY3QpLCBMYXlvdXRTaXplKHRvdGFs
Q29udGVudHNTaXplKCkpLCBMYXlvdXRQb2ludChzY3JvbGxQb3NpdGlvbiksIHNjcm9sbE9yaWdp
bigpLCAxLCBmaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCksIGJlaGF2aW9yRm9y
Rml4ZWQsIGhlYWRlckhlaWdodCgpLCBmb290ZXJIZWlnaHQoKSkueCgpOwogCiAgICAgICAgIGlm
IChtX2hlYWRlckxheWVyKQogICAgICAgICAgICAgW21faGVhZGVyTGF5ZXIgc2V0UG9zaXRpb246
RmxvYXRQb2ludChob3Jpem9udGFsU2Nyb2xsT2Zmc2V0Rm9yQmFubmVyLCAwKV07CkBAIC0xNzUs
NyArMTczLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjp1cGRh
dGVDaGlsZE5vZGVzQWZ0ZXJTY3JvbGwoY29uc3QgRmxvYXQKICAgICBpZiAoIXBhcmVudCgpKQog
ICAgICAgICBmaXhlZFBvc2l0aW9uUmVjdCA9IHNjcm9sbGluZ1RyZWUoKS5maXhlZFBvc2l0aW9u
UmVjdCgpOwogICAgIGVsc2UKLSAgICAgICAgZml4ZWRQb3NpdGlvblJlY3QgPSBGbG9hdFJlY3Qo
c2Nyb2xsT2Zmc2V0LCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7CisgICAgICAgIGZpeGVkUG9zaXRp
b25SZWN0ID0gRmxvYXRSZWN0KHNjcm9sbFBvc2l0aW9uLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7
CiAKICAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm1fY2hpbGRyZW4pCiAgICAgICAgIGNoaWxkLT51
cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKCp0aGlzLCBmaXhlZFBvc2l0aW9uUmVjdCwg
RmxvYXRTaXplKCkpOwpAQCAtMTgzLDcgKzE4MSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlQ2hpbGROb2Rlc0FmdGVyU2Nyb2xsKGNvbnN0IEZsb2F0
CiAKIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6bWluaW11
bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICBGbG9hdFBvaW50IHBvc2l0aW9uOworICAg
IEZsb2F0UG9pbnQgcG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25Gcm9t
T2Zmc2V0KEZsb2F0UG9pbnQoKSwgdG9GbG9hdFNpemUoc2Nyb2xsT3JpZ2luKCkpKTsKICAgICAK
ICAgICBpZiAoc2Nyb2xsaW5nVHJlZSgpLnJvb3ROb2RlKCkgPT0gdGhpcyAmJiBzY3JvbGxpbmdU
cmVlKCkuc2Nyb2xsUGlubmluZ0JlaGF2aW9yKCkgPT0gUGluVG9Cb3R0b20pCiAgICAgICAgIHBv
c2l0aW9uLnNldFkobWF4aW11bVNjcm9sbFBvc2l0aW9uKCkueSgpKTsKQEAgLTE5Myw5ICsxOTEs
NyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6Om1pbmlt
dW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAKIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZUlPUzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICBG
bG9hdFBvaW50IHBvc2l0aW9uKHRvdGFsQ29udGVudHNTaXplRm9yUnViYmVyQmFuZCgpLndpZHRo
KCkgLSBzY3JvbGxhYmxlQXJlYVNpemUoKS53aWR0aCgpLAotICAgICAgICB0b3RhbENvbnRlbnRz
U2l6ZUZvclJ1YmJlckJhbmQoKS5oZWlnaHQoKSAtIHNjcm9sbGFibGVBcmVhU2l6ZSgpLmhlaWdo
dCgpKTsKLQorICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xs
UG9zaXRpb25Gcm9tT2Zmc2V0KEZsb2F0UG9pbnQodG90YWxDb250ZW50c1NpemVGb3JSdWJiZXJC
YW5kKCkgLSBzY3JvbGxhYmxlQXJlYVNpemUoKSksIHRvRmxvYXRTaXplKHNjcm9sbE9yaWdpbigp
KSk7CiAgICAgcG9zaXRpb24gPSBwb3NpdGlvbi5leHBhbmRlZFRvKEZsb2F0UG9pbnQoKSk7CiAK
ICAgICBpZiAoc2Nyb2xsaW5nVHJlZSgpLnJvb3ROb2RlKCkgPT0gdGhpcyAmJiBzY3JvbGxpbmdU
cmVlKCkuc2Nyb2xsUGlubmluZ0JlaGF2aW9yKCkgPT0gUGluVG9Ub3ApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IGNhZDg5OTQzZDNiMTEzZjJlZGZh
Y2I2N2E4N2JhMTYwMzNjZjI4NjguLjY4MWYzMjQxNjFkOWNkMTExNGJhODlkNzcxM2MzNDQwMjg2
M2M1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCkBA
IC0zMywxMCArMzMsMTIgQEAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk5TU2Nyb2xs
ZXJJbXBEZXRhaWxzLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKyNpbXBvcnQg
IlNjcm9sbGFibGVBcmVhLmgiCiAjaW1wb3J0ICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2lt
cG9ydCAiU2Nyb2xsaW5nVHJlZS5oIgogI2ltcG9ydCAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAj
aW1wb3J0ICJTZXR0aW5ncy5oIgorI2ltcG9ydCAiVGV4dFN0cmVhbS5oIgogI2ltcG9ydCAiVGls
ZUNvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldlYkxheWVyLmgiCiAKQEAgLTMyOCw5ICszMzAsOSBA
QCBJbnRQb2ludCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjphYnNvbHV0ZVNj
cm9sbFBvc2l0aW9uKCkKICAgICByZXR1cm4gcm91bmRlZEludFBvaW50KHNjcm9sbFBvc2l0aW9u
KCkpOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmltbWVk
aWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgb2Zmc2V0KQordm9pZCBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjppbW1lZGlhdGVTY3JvbGxCeShjb25zdCBGbG9hdFNpemUm
IGRlbHRhKQogewotICAgIHNjcm9sbEJ5KG9mZnNldCk7CisgICAgc2Nyb2xsQnkoZGVsdGEpOwog
fQogCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmltbWVkaWF0ZVNj
cm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRTaXplJiBvZmZz
ZXQpCkBAIC0zNjQsMTIgKzM2NiwxMyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVNYWM6OnNjcm9sbFBvc2l0aW9uKCkgY29uc3QKICAgICBpZiAoc2hvdWxkVXBk
YXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKSkKICAgICAgICAgcmV0dXJuIG1f
cHJvYmFibGVNYWluVGhyZWFkU2Nyb2xsUG9zaXRpb247CiAKLSAgICBDR1BvaW50IHNjcm9sbExh
eWVyUG9zaXRpb24gPSBtX3Njcm9sbExheWVyLmdldCgpLnBvc2l0aW9uOwotICAgIHJldHVybiBG
bG9hdFBvaW50KC1zY3JvbGxMYXllclBvc2l0aW9uLnggKyBzY3JvbGxPcmlnaW4oKS54KCksIC1z
Y3JvbGxMYXllclBvc2l0aW9uLnkgKyBzY3JvbGxPcmlnaW4oKS55KCkpOworICAgIHJldHVybiAt
bV9zY3JvbGxMYXllci5nZXQoKS5wb3NpdGlvbjsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBz
Y3JvbGxQb3NpdGlvbikKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0g
PDwgIlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbFBvc2l0aW9u
ICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwgIiBzY3JvbGxQb3NpdGlvbigpOiAiIDw8IHRoaXMtPnNj
cm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwg
IiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkpOworCiAgICAgLy8gU2Nyb2xsIGRl
bHRhcyBjYW4gYmUgbm9uLWludGVncmFsIHdpdGggc29tZSBpbnB1dCBkZXZpY2VzLCBzbyBzY3Jv
bGxQb3NpdGlvbiBtYXkgbm90IGJlIGludGVncmFsLgogICAgIC8vIEZJWE1FOiB3aGVuIHdlIHN1
cHBvcnQgaGFsZi1waXhlbCBzY3JvbGwgcG9zaXRpb25zIG9uIFJldGluYSBkaXNwbGF5cywgdGhp
cyB3aWxsIG5lZWQgdG8gcm91bmQgdG8gaGFsZiBwaXhlbHMuCiAgICAgRmxvYXRQb2ludCByb3Vu
ZGVkUG9zaXRpb24ocm91bmRmKHNjcm9sbFBvc2l0aW9uLngoKSksIHJvdW5kZihzY3JvbGxQb3Np
dGlvbi55KCkpKTsKQEAgLTM5NywxMyArNDAwLDEzIEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25z
CiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbExheWVy
UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiB7CiAgICAgQVNTRVJUKCFzaG91
bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpKTsKLSAgICBtX3Njcm9s
bExheWVyLmdldCgpLnBvc2l0aW9uID0gQ0dQb2ludE1ha2UoLXBvc2l0aW9uLngoKSArIHNjcm9s
bE9yaWdpbigpLngoKSwgLXBvc2l0aW9uLnkoKSArIHNjcm9sbE9yaWdpbigpLnkoKSk7CisKKyAg
ICBtX3Njcm9sbExheWVyLmdldCgpLnBvc2l0aW9uID0gLXBvc2l0aW9uOwogCiAgICAgU2Nyb2xs
QmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzIGJlaGF2aW9yRm9yRml4ZWQgPSBzY3JvbGxCZWhhdmlv
ckZvckZpeGVkRWxlbWVudHMoKTsKLSAgICBMYXlvdXRQb2ludCBzY3JvbGxPZmZzZXQgPSBMYXlv
dXRQb2ludChwb3NpdGlvbikgLSB0b0xheW91dFNpemUoc2Nyb2xsT3JpZ2luKCkpOwotICAgIEZs
b2F0UmVjdCB2aWV3cG9ydFJlY3QoRmxvYXRQb2ludCgpLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7
CisgICAgRmxvYXRSZWN0IHZpZXdwb3J0UmVjdChwb3NpdGlvbiwgc2Nyb2xsYWJsZUFyZWFTaXpl
KCkpOwogICAgIAotICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRpb25Gb3JGaXhlZENoaWxkcmVu
ID0gRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkZvckZpeGVkUG9zaXRpb24oZW5jbG9zaW5nTGF5
b3V0UmVjdCh2aWV3cG9ydFJlY3QpLCBMYXlvdXRTaXplKHRvdGFsQ29udGVudHNTaXplKCkpLCBz
Y3JvbGxPZmZzZXQsIHNjcm9sbE9yaWdpbigpLCBmcmFtZVNjYWxlRmFjdG9yKCksCisgICAgRmxv
YXRQb2ludCBzY3JvbGxQb3NpdGlvbkZvckZpeGVkQ2hpbGRyZW4gPSBGcmFtZVZpZXc6OnNjcm9s
bFBvc2l0aW9uRm9yRml4ZWRQb3NpdGlvbihlbmNsb3NpbmdMYXlvdXRSZWN0KHZpZXdwb3J0UmVj
dCksIExheW91dFNpemUodG90YWxDb250ZW50c1NpemUoKSksIExheW91dFBvaW50KHBvc2l0aW9u
KSwgc2Nyb2xsT3JpZ2luKCksIGZyYW1lU2NhbGVGYWN0b3IoKSwKICAgICAgICAgZml4ZWRFbGVt
ZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpLCBiZWhhdmlvckZvckZpeGVkLCBoZWFkZXJIZWln
aHQoKSwgZm9vdGVySGVpZ2h0KCkpOwogICAgIAogICAgIGlmIChtX2NvdW50ZXJTY3JvbGxpbmdM
YXllcikKQEAgLTQyNCw3ICs0MjcsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWM6OnNldFNjcm9sbExheWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludAogICAgICAg
ICAvLyB0aGVuIHdlIHNob3VsZCByZWNvbXB1dGUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRDaGlsZHJl
biBmb3IgdGhlIGJhbm5lciB3aXRoIGEgc2NhbGUgZmFjdG9yIG9mIDEuCiAgICAgICAgIGZsb2F0
IGhvcml6b250YWxTY3JvbGxPZmZzZXRGb3JCYW5uZXIgPSBzY3JvbGxQb3NpdGlvbkZvckZpeGVk
Q2hpbGRyZW4ueCgpOwogICAgICAgICBpZiAoZnJhbWVTY2FsZUZhY3RvcigpICE9IDEpCi0gICAg
ICAgICAgICBob3Jpem9udGFsU2Nyb2xsT2Zmc2V0Rm9yQmFubmVyID0gRnJhbWVWaWV3OjpzY3Jv
bGxQb3NpdGlvbkZvckZpeGVkUG9zaXRpb24oZW5jbG9zaW5nTGF5b3V0UmVjdCh2aWV3cG9ydFJl
Y3QpLCBMYXlvdXRTaXplKHRvdGFsQ29udGVudHNTaXplKCkpLCBzY3JvbGxPZmZzZXQsIHNjcm9s
bE9yaWdpbigpLCAxLCBmaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCksIGJlaGF2
aW9yRm9yRml4ZWQsIGhlYWRlckhlaWdodCgpLCBmb290ZXJIZWlnaHQoKSkueCgpOworICAgICAg
ICAgICAgaG9yaXpvbnRhbFNjcm9sbE9mZnNldEZvckJhbm5lciA9IEZyYW1lVmlldzo6c2Nyb2xs
UG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKGVuY2xvc2luZ0xheW91dFJlY3Qodmlld3BvcnRSZWN0
KSwgTGF5b3V0U2l6ZSh0b3RhbENvbnRlbnRzU2l6ZSgpKSwgTGF5b3V0UG9pbnQocG9zaXRpb24p
LCBzY3JvbGxPcmlnaW4oKSwgMSwgZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgp
LCBiZWhhdmlvckZvckZpeGVkLCBoZWFkZXJIZWlnaHQoKSwgZm9vdGVySGVpZ2h0KCkpLngoKTsK
IAogICAgICAgICBpZiAobV9oZWFkZXJMYXllcikKICAgICAgICAgICAgIG1faGVhZGVyTGF5ZXIu
Z2V0KCkucG9zaXRpb24gPSBGbG9hdFBvaW50KGhvcml6b250YWxTY3JvbGxPZmZzZXRGb3JCYW5u
ZXIsIEZyYW1lVmlldzo6eVBvc2l0aW9uRm9ySGVhZGVyTGF5ZXIocG9zaXRpb24sIHRvcENvbnRl
bnRJbnNldCkpOwpAQCAtNDcyLDcgKzQ3NSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYzo6dXBkYXRlTGF5ZXJzQWZ0ZXJWaWV3cG9ydENoYW5nZShjb25zdCBGCiAK
IEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6bWluaW11bVNj
cm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICBGbG9hdFBvaW50IHBvc2l0aW9uOworICAgIEZs
b2F0UG9pbnQgcG9zaXRpb24gPSBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25Gcm9tT2Zm
c2V0KEZsb2F0UG9pbnQoKSwgdG9GbG9hdFNpemUoc2Nyb2xsT3JpZ2luKCkpKTsKICAgICAKICAg
ICBpZiAoc2Nyb2xsaW5nVHJlZSgpLnJvb3ROb2RlKCkgPT0gdGhpcyAmJiBzY3JvbGxpbmdUcmVl
KCkuc2Nyb2xsUGlubmluZ0JlaGF2aW9yKCkgPT0gUGluVG9Cb3R0b20pCiAgICAgICAgIHBvc2l0
aW9uLnNldFkobWF4aW11bVNjcm9sbFBvc2l0aW9uKCkueSgpKTsKQEAgLTQ4Miw3ICs0ODUsNyBA
QCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6Om1pbmltdW1T
Y3JvbGxQb3NpdGlvbigpIGNvbnN0CiAKIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYzo6bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICBGbG9h
dFBvaW50IHBvc2l0aW9uKHRvdGFsQ29udGVudHNTaXplRm9yUnViYmVyQmFuZCgpIC0gc2Nyb2xs
YWJsZUFyZWFTaXplKCkpOworICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSBTY3JvbGxhYmxlQXJl
YTo6c2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KEZsb2F0UG9pbnQodG90YWxDb250ZW50c1NpemVG
b3JSdWJiZXJCYW5kKCkgLSBzY3JvbGxhYmxlQXJlYVNpemUoKSksIHRvRmxvYXRTaXplKHNjcm9s
bE9yaWdpbigpKSk7CiAgICAgcG9zaXRpb24gPSBwb3NpdGlvbi5leHBhbmRlZFRvKEZsb2F0UG9p
bnQoKSk7CiAKICAgICBpZiAoc2Nyb2xsaW5nVHJlZSgpLnJvb3ROb2RlKCkgPT0gdGhpcyAmJiBz
Y3JvbGxpbmdUcmVlKCkuc2Nyb2xsUGlubmluZ0JlaGF2aW9yKCkgPT0gUGluVG9Ub3ApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IGEzNWEzNDFjMzBiZTYyMmFkNjI4
YjNhODk2YWUzZmZiZTc1MTRiOTYuLmJiNzlhYmE0Y2U5ZGRmM2M2ODI2MjhiYTMzYWEwZDZmNTNj
ZjYwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC00MjksOCAr
NDI5LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6bm90aWZ5UGFnZVRoYXRDb250ZW50QXJlYVdpbGxQ
YWludCgpIGNvbnN0CiB7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsT2Zmc2V0KGNv
bnN0IEludFBvaW50JiBvZmZzZXQpCit2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9mZnNldChj
b25zdCBTY3JvbGxPZmZzZXQmIG9mZnNldCkKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIlNjcm9sbFZpZXc6OnNldFNjcm9sbE9mZnNldCAiIDw8IG9mZnNldCk7
CisKICAgICBJbnRQb2ludCBjb25zdHJhaW5lZE9mZnNldCA9IG9mZnNldDsKICAgICBpZiAoY29u
c3RyYWluc1Njcm9sbGluZ1RvQ29udGVudEVkZ2UoKSkKICAgICAgICAgY29uc3RyYWluZWRPZmZz
ZXQgPSBjb25zdHJhaW5lZE9mZnNldC5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgbWF4
aW11bVNjcm9sbE9mZnNldCgpKTsKQEAgLTQ3MSw2ICs0NzMsOCBAQCB2b2lkIFNjcm9sbFZpZXc6
OmhhbmRsZURlZmVycmVkU2Nyb2xsVXBkYXRlQWZ0ZXJDb250ZW50U2l6ZUNoYW5nZSgpCiAKIHZv
aWQgU2Nyb2xsVmlldzo6c2Nyb2xsVG8oY29uc3QgU2Nyb2xsUG9zaXRpb24mIG5ld1Bvc2l0aW9u
KQogeworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsVmll
dzo6c2Nyb2xsVG8gIiA8PCBuZXdQb3NpdGlvbiA8PCAiIG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xs
UG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7CisKICAg
ICBJbnRTaXplIHNjcm9sbERlbHRhID0gbmV3UG9zaXRpb24gLSBtX3Njcm9sbFBvc2l0aW9uOwog
ICAgIGlmIChzY3JvbGxEZWx0YS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTE1LDYg
KzUxOSw4IEBAIGludCBTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbihTY3JvbGxiYXIqIHNjcm9s
bGJhcikgY29uc3QKIAogdm9pZCBTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBT
Y3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9zaXRpb24pCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNj
cm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNj
cm9sbFBvc2l0aW9uKTsKKwogICAgIGlmIChwcm9oaWJpdHNTY3JvbGxpbmcoKSkKICAgICAgICAg
cmV0dXJuOwogCkBAIC01NjgsNiArNTc0LDggQEAgSW50U2l6ZSBTY3JvbGxWaWV3OjpvdmVyaGFu
Z0Ftb3VudCgpIGNvbnN0CiAKIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25z
dCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogeworICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyAiIDw8
IGRlc2lyZWRQb3NpdGlvbik7CisKICAgICBpZiAobV9pblVwZGF0ZVNjcm9sbGJhcnMgfHwgcHJv
aGliaXRzU2Nyb2xsaW5nKCkgfHwgcGxhdGZvcm1XaWRnZXQoKSB8fCBkZWxlZ2F0ZXNTY3JvbGxp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgK
aW5kZXggNjQxZjZmNDZlNmYwNjdiZmIyODQ0NDlmZDJmODkzZTJkYzNjZmRlNi4uYzI2OTBlZmJh
YTAwNmM3MDg3YjY1NjA0ZGU5ZGY1ZDlkNDUwZmExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgLy8gU2Nyb2xsYWJsZUFy
ZWEgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgaW50IHNjcm9sbFNpemUoU2Nyb2xsYmFyT3JpZW50
YXRpb24pIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgaW50IHNjcm9sbFBvc2l0aW9uKFNj
cm9sbGJhciopIGNvbnN0IG92ZXJyaWRlOwotICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9p
ZCBzZXRTY3JvbGxPZmZzZXQoY29uc3QgSW50UG9pbnQmKSBvdmVycmlkZTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbENvcm5lclZpc2libGUoKSBjb25z
dCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYmFyU3R5bGVDaGFuZ2VkKFNjcm9s
bGJhclN0eWxlLCBib29sIGZvcmNlVXBkYXRlKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGQ0MzM0MjJhNzI1MTc3MGFkMTk1MTIw
OWE0ZWZkNTVmOGEwMjcyMjUuLjA1ZTg4MWIxNTQ2ZGFlMzFlNDM4MjAxZjk0M2E2NTU4NWNhMWJi
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE1
MSwxMSArMTUxLDExIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6Om5vdGlmeVNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgc2Nyb2xsQW5pbWF0
b3IoKS5zZXRDdXJyZW50UG9zaXRpb24ocG9zaXRpb24pOwogfQogCi12b2lkIFNjcm9sbGFibGVB
cmVhOjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKQordm9p
ZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJiBwb3NpdGlvbikKIHsKICAgICBJbnRQb2ludCBvbGRQb3NpdGlvbiA9IHNjcm9sbFBvc2l0
aW9uKCk7CiAgICAgLy8gVGVsbCB0aGUgZGVyaXZlZCBjbGFzcyB0byBzY3JvbGwgaXRzIGNvbnRl
bnRzLgotICAgIHNldFNjcm9sbE9mZnNldChwb3NpdGlvbik7CisgICAgc2V0U2Nyb2xsT2Zmc2V0
KHNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihwb3NpdGlvbikpOwogCiAgICAgU2Nyb2xsYmFyKiB2
ZXJ0aWNhbFNjcm9sbGJhciA9IHRoaXMtPnZlcnRpY2FsU2Nyb2xsYmFyKCk7CiAKQEAgLTIwNywx
NyArMjA3LDE4IEBAIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3Qg
UGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50KQogI2VuZGlmCiAKIC8vIE5PVEU6IE9ubHkg
Y2FsbGVkIGZyb20gSW50ZXJuYWxzIGZvciB0ZXN0aW5nLgotdm9pZCBTY3JvbGxhYmxlQXJlYTo6
c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFscyhjb25zdCBJbnRQb2ludCYgb2Zmc2V0KQordm9p
ZCBTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFscyhjb25zdCBTY3Jv
bGxPZmZzZXQmIG9mZnNldCkKIHsKICAgICBzZXRTY3JvbGxPZmZzZXRGcm9tQW5pbWF0aW9uKG9m
ZnNldCk7CiB9CiAKLXZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbE9mZnNldEZyb21Bbmlt
YXRpb24oY29uc3QgSW50UG9pbnQmIG9mZnNldCkKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNj
cm9sbE9mZnNldEZyb21BbmltYXRpb24oY29uc3QgU2Nyb2xsT2Zmc2V0JiBvZmZzZXQpCiB7Ci0g
ICAgaWYgKHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShvZmZzZXQpKQorICAgIFNjcm9sbFBv
c2l0aW9uIHBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KG9mZnNldCk7CisgICAg
aWYgKHJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShwb3NpdGlvbikpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChvZmZzZXQpOworICAgIHNjcm9sbFBvc2l0
aW9uQ2hhbmdlZChwb3NpdGlvbik7CiB9CiAKIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OndpbGxTdGFy
dExpdmVSZXNpemUoKQpAQCAtNTQ5LDEyICs1NTAsMTIgQEAgU2Nyb2xsT2Zmc2V0IFNjcm9sbGFi
bGVBcmVhOjptYXhpbXVtU2Nyb2xsT2Zmc2V0KCkgY29uc3QKIAogU2Nyb2xsUG9zaXRpb24gU2Ny
b2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uRnJvbU9mZnNldChTY3JvbGxPZmZzZXQgb2Zmc2V0
KSBjb25zdAogewotICAgIHJldHVybiBJbnRQb2ludCh0b0ludFNpemUob2Zmc2V0KSAtIHRvSW50
U2l6ZShtX3Njcm9sbE9yaWdpbikpOworICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbkZyb21PZmZz
ZXQob2Zmc2V0LCB0b0ludFNpemUobV9zY3JvbGxPcmlnaW4pKTsKIH0KIAogU2Nyb2xsT2Zmc2V0
IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oU2Nyb2xsUG9zaXRpb24g
cG9zaXRpb24pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEludFBvaW50KHRvSW50U2l6ZShwb3NpdGlv
bikgKyB0b0ludFNpemUobV9zY3JvbGxPcmlnaW4pKTsKKyAgICByZXR1cm4gc2Nyb2xsT2Zmc2V0
RnJvbVBvc2l0aW9uKHBvc2l0aW9uLCB0b0ludFNpemUobV9zY3JvbGxPcmlnaW4pKTsKIH0KIAog
Ym9vbCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsZWRUb1RvcCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCAzYzcxY2M4YWVmOTNjOWFhOWNkYjRjMjYy
YzAxMzI0OGQ4MDA2NGJmLi4wMmJmZmJkYmI3ODYyOGQ4MTU5YTdjNWMxZDI4ZDJmNmY0MTJlMTdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTE5Myw2ICsx
OTMsMTggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbFBvc2l0aW9uIHNjcm9s
bFBvc2l0aW9uRnJvbU9mZnNldChTY3JvbGxPZmZzZXQpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIFNjcm9sbE9mZnNldCBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oU2Nyb2xsUG9zaXRpb24p
IGNvbnN0OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgUG9zaXRpb25UeXBlLCB0eXBlbmFtZSBT
aXplVHlwZT4KKyAgICBzdGF0aWMgUG9zaXRpb25UeXBlIHNjcm9sbFBvc2l0aW9uRnJvbU9mZnNl
dChQb3NpdGlvblR5cGUgb2Zmc2V0LCBTaXplVHlwZSBzY3JvbGxPcmlnaW4pCisgICAgeworICAg
ICAgICByZXR1cm4gb2Zmc2V0IC0gc2Nyb2xsT3JpZ2luOworICAgIH0KKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFBvc2l0aW9uVHlwZSwgdHlwZW5hbWUgU2l6ZVR5cGU+CisgICAgc3RhdGljIFBv
c2l0aW9uVHlwZSBzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oUG9zaXRpb25UeXBlIHBvc2l0aW9u
LCBTaXplVHlwZSBzY3JvbGxPcmlnaW4pCisgICAgeworICAgICAgICByZXR1cm4gcG9zaXRpb24g
KyBzY3JvbGxPcmlnaW47CisgICAgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29s
IHNjcm9sbGVkVG9Ub3AoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wg
c2Nyb2xsZWRUb0JvdHRvbSgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9v
bCBzY3JvbGxlZFRvTGVmdCgpIGNvbnN0OwpAQCAtMjQ5LDcgKzI2MSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIAogICAgIC8vIE5PVEU6IE9ubHkgY2FsbGVkIGZyb20gSW50ZXJuYWxzIGZvciB0ZXN0
aW5nLgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFs
cyhjb25zdCBJbnRQb2ludCYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsT2Zm
c2V0RnJvbUludGVybmFscyhjb25zdCBTY3JvbGxPZmZzZXQmKTsKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBMYXlvdXRQb2ludCBjb25zdHJhaW5TY3JvbGxQb3NpdGlvbkZvck92ZXJoYW5n
KGNvbnN0IExheW91dFJlY3QmIHZpc2libGVDb250ZW50UmVjdCwgY29uc3QgTGF5b3V0U2l6ZSYg
dG90YWxDb250ZW50c1NpemUsIGNvbnN0IExheW91dFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29u
c3QgTGF5b3V0UG9pbnQmIHNjcm9sbE9yaWdpbiwgaW50IGhlYWRlckhlaWdodCwgaW50IGZvb3Rl
dEhlaWdodCk7CiAgICAgTGF5b3V0UG9pbnQgY29uc3RyYWluU2Nyb2xsUG9zaXRpb25Gb3JPdmVy
aGFuZyhjb25zdCBMYXlvdXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pOwpAQCAtMzEyLDE1ICszMjQs
MTUgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwg
SW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3RJbnRlcm5hbChWaXNpYmxlQ29udGVudFJlY3RJbmNs
dWRlc1Njcm9sbGJhcnMsIFZpc2libGVDb250ZW50UmVjdEJlaGF2aW9yKSBjb25zdDsKLSAgICB2
b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBJbnRQb2ludCYpOworICAgIHZvaWQgc2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJik7CiAgICAgCiAgICAgLy8g
Tk9URTogT25seSBjYWxsZWQgZnJvbSB0aGUgU2Nyb2xsQW5pbWF0b3IuCiAgICAgZnJpZW5kIGNs
YXNzIFNjcm9sbEFuaW1hdG9yOwotICAgIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0RnJvbUFuaW1hdGlv
bihjb25zdCBJbnRQb2ludCYpOworICAgIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0RnJvbUFuaW1hdGlv
bihjb25zdCBTY3JvbGxPZmZzZXQmKTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJl
IG92ZXJyaWRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gdGhlIGFjdHVhbAogICAgIC8vIHNj
cm9sbCBvZiB0aGUgY29udGVudC4KLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0KGNv
bnN0IEludFBvaW50JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxPZmZzZXQoY29u
c3QgU2Nyb2xsT2Zmc2V0JikgPSAwOwogCiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8U2Ny
b2xsQW5pbWF0b3I+IG1fc2Nyb2xsQW5pbWF0b3I7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCBlMDMzN2Y0NDAzOTMzYjM3ZWM4ZGE0MTYwZjdhZTc2
NjY5NDQ4OWQ5Li4zODRiMTg4ZTg5NjJkZDc2Y2U5ZjJlMjY4ZjBhMmU5ZGFhZmI3YWQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC02MDgsNyArNjA4
LDcgQEAgaW50IFJlbmRlckxpc3RCb3g6OnNjcm9sbFBvc2l0aW9uKFNjcm9sbGJhciopIGNvbnN0
CiAgICAgcmV0dXJuIG1faW5kZXhPZmZzZXQ7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEJveDo6c2V0
U2Nyb2xsT2Zmc2V0KGNvbnN0IEludFBvaW50JiBvZmZzZXQpCit2b2lkIFJlbmRlckxpc3RCb3g6
OnNldFNjcm9sbE9mZnNldChjb25zdCBTY3JvbGxPZmZzZXQmIG9mZnNldCkKIHsKICAgICBzY3Jv
bGxUbyhvZmZzZXQueSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5oCmluZGV4IDRjZGY4NzY0ZmFjMTFjOTc5OWVjYTY5Yzg2MTY2MDg4MzgwY2Q5MzUuLmNjZTMz
YmUyNWFiMDBhNTZiMTNiMTllNTgxNjc3NDNiOTAwOWI3MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAg
Ly8gU2Nyb2xsYWJsZUFyZWEgaW50ZXJmYWNlLgogICAgIHZpcnR1YWwgaW50IHNjcm9sbFNpemUo
U2Nyb2xsYmFyT3JpZW50YXRpb24pIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgaW50IHNj
cm9sbFBvc2l0aW9uKFNjcm9sbGJhciopIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9p
ZCBzZXRTY3JvbGxPZmZzZXQoY29uc3QgSW50UG9pbnQmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0U2Nyb2xsT2Zmc2V0KGNvbnN0IFNjcm9sbE9mZnNldCYpIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxiYXIqLCBjb25zdCBJ
bnRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsQ29ybmVyVmlzaWJsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9IC8vIFdlIGRvbid0IHN1cHBvcnQgcmVzaXplIG9uIGxp
c3QgYm94ZXMgeWV0LiBJZiB3ZSBkaWQgdGhlc2Ugd291bGQgaGF2ZSB0byBjaGFuZ2UuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQ
REZQbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVj
YXRlZFBERlBsdWdpbi5oCmluZGV4IGQyOWFjOTQ2NDJhOWFiOWNlODdlMjk1NzY4OTYyZjMzYTMw
YzJlZjMuLjE3MzM0ZDllODhkMzZiZTJmY2I1YzhhNDE2MjY1Y2FiMjhiYWUxNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBs
dWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVj
YXRlZFBERlBsdWdpbi5oCkBAIC0xODksNyArMTg5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgaXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZSgpIG92ZXJyaWRlIHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNl
c3RvcigpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6Oklu
dFJlY3Qgc2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0JveChib29sKiA9IG51bGxwdHIpIGNvbnN0IG92
ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxPZmZzZXQoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0KGNv
bnN0IFdlYkNvcmU6OlNjcm9sbE9mZnNldCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBp
bnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChXZWJDb3JlOjpTY3JvbGxiYXIqLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVTY3JvbGxD
b3JuZXJSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OkludFBvaW50IGxhc3RLbm93bk1vdXNlUG9zaXRpb24oKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBtX2xhc3RNb3VzZVBvc2l0aW9uSW5QbHVnaW5Db29yZGluYXRlczsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVk
UERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXBy
ZWNhdGVkUERGUGx1Z2luLm1tCmluZGV4IDk0Njc0NTkzY2UyYjE2ZDQxYmRjMzFkMDA4M2E1NTFj
NGMzN2ZjMWUuLjkwOWM0MDZiMWEzZDVjYWNkMjgzOGJiZTkzODA0NGM1NTU0ZjQ4YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBE
RlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0Rl
cHJlY2F0ZWRQREZQbHVnaW4ubW0KQEAgLTE1MzgsNyArMTUzOCw3IEBAIGJvb2wgUERGUGx1Z2lu
Ojppc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBQREZQbHVnaW46OnNldFNjcm9sbE9mZnNldChjb25z
dCBJbnRQb2ludCYgb2Zmc2V0KQordm9pZCBQREZQbHVnaW46OnNldFNjcm9sbE9mZnNldChjb25z
dCBTY3JvbGxPZmZzZXQmIG9mZnNldCkKIHsKICAgICBtX3Njcm9sbE9mZnNldCA9IEludFNpemUo
b2Zmc2V0LngoKSwgb2Zmc2V0LnkoKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MmFhY2MzYTAwZTE2Yjg0NzkyZWYy
ODhiZWU1OGZkNWIyMjZhYWJmLi44NTBhYjJhMDU0NGFmNmRhYjA5ZmJlNGE0NmNhZTg2ZTc1ZmNm
ZDEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTYtMDEtMDEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IHJlbG9hZCBhbmQgcHJvZ3JhbW1h
dGljIHNjcm9sbGluZyBpbiBSVEwgZG9jdW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIE5ldyB0ZXN0cyBmb3IgcHJvZ3JhbW1hdGlj
IHNjcm9sbGluZyAoMiBraW5kcyEpIGluIFJUTCBkb2N1bWVudHMsIGFuZAorICAgICAgICByZWxv
YWRpbmcgYSBzY3JvbGxlZCBSVEwgZG9jdW1lbnQuCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9wcm9ncmFtbWF0aWMtZG9jdW1lbnQtcnRsLXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtZG9jdW1lbnQtcnRsLXNjcm9s
bC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtZG9j
dW1lbnQtcnRsLXNjcm9sbEludG9WaWV3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50LXJ0bC1zY3JvbGxJbnRvVmlldy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9zY3JvbGwtcG9zaXRpb24tb24t
cmVsb2FkLXJ0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3Njcm9sbC1wb3NpdGlvbi1vbi1yZWxvYWQtcnRsLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEyLTMx
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1Mg
V0syXSBGaXggaW5jb3JyZWN0IHNjcm9sbFBvc2l0aW9uIGhhbmRsaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wcm9ncmFtbWF0aWMtZG9jdW1lbnQtcnRsLXNjcm9s
bC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGlj
LWRvY3VtZW50LXJ0bC1zY3JvbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTIyNThmMDJl
ZDMzZjlhOGYzMWM3NDJkNjM1YjY4MWM4N2YzN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50LXJ0bC1zY3JvbGwtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgIH0KKyAgICAg
ICAgLndpZGUgeworICAgICAgICAgICAgd2lkdGg6IDIwMDBweDsKKyAgICAgICAgICAgIGhlaWdo
dDogMTBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAg
fQorICAgICAgICAub3JpZ2luIHsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgICAgICAgIHRvcDogMDsKKyAgICAgICAgICAgIGxlZnQ6IDEyMDBweDsKKyAgICAgICAgICAg
IHdpZHRoOiAxMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMHB4OworICAgICAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgI2xlZnR5
IHsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIGxlZnQ6IDEw
MDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7CisgICAgICAgIH0KKyAg
ICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgewor
ICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQgPSAxMDAwOworICAg
IH0KKyAgICAKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZh
bHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9Indp
ZGUiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im9yaWdpbiI+PC9kaXY+CisgICAgPGRpdiBpZD0i
bGVmdHkiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlc3VsdCI+CisgICAgPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wcm9ncmFt
bWF0aWMtZG9jdW1lbnQtcnRsLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50LXJ0bC1zY3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjli
MmNhMGU1NTZhOWU3NTRmNzc5MDI2ZjRmN2EzMzQ5MTU1NjMwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50LXJ0bC1zY3Jv
bGwuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8aHRtbCBkaXI9InJ0bCI+Cis8aGVhZD4KKyAgICA8
c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgbWFyZ2luOiAwOworICAgICAgICB9
CisgICAgICAgIC53aWRlIHsKKyAgICAgICAgICAgIHdpZHRoOiAyMDAwcHg7CisgICAgICAgICAg
ICBoZWlnaHQ6IDEwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7Cisg
ICAgICAgIH0KKyAgICAgICAgLm9yaWdpbiB7CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgICAgICAgICB0b3A6IDA7CisgICAgICAgICAgICBsZWZ0OiAwOworICAgICAgICAg
ICAgd2lkdGg6IDEwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CisgICAgICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAjbGVm
dHkgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgbGVmdDog
LTIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsKKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7
CisgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9IC0yMDA7Cisg
ICAgfQorICAgIAorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0i
d2lkZSI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0ib3JpZ2luIj48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJsZWZ0eSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVzdWx0Ij4KKyAgICA8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Byb2dy
YW1tYXRpYy1kb2N1bWVudC1ydGwtc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50LXJ0bC1zY3JvbGxJbnRv
Vmlldy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZjkwNDVjMDUzYmQzNTcxYzliOTg4OGQ4
YzU3YTZlMjhmY2M1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3Byb2dyYW1tYXRpYy1kb2N1bWVudC1ydGwtc2Nyb2xsSW50b1ZpZXctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKK2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9IC0y
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Byb2dyYW1tYXRpYy1k
b2N1bWVudC1ydGwtc2Nyb2xsSW50b1ZpZXcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3Byb2dyYW1tYXRpYy1kb2N1bWVudC1ydGwtc2Nyb2xsSW50b1ZpZXcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYTAwY2QzY2ZhZmRlNDBkMTdiZTk5ZTI4OTBlODk2N2NlYjk3ZDZhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcHJvZ3JhbW1hdGljLWRvY3VtZW50
LXJ0bC1zY3JvbGxJbnRvVmlldy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1sIGRpcj0icnRs
Ij4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgLndpZGUgeworICAgICAgICAgICAgd2lk
dGg6IDIwMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMTBweDsKKyAgICAgICAgICAgIGJhY2tn
cm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgfQorICAgICAgICAub3JpZ2luIHsKKyAgICAg
ICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHRvcDogMDsKKyAgICAgICAg
ICAgIGxlZnQ6IDA7CisgICAgICAgICAgICB3aWR0aDogMTBweDsKKyAgICAgICAgICAgIGhlaWdo
dDogMTBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgICNsZWZ0eSB7CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgICAgICAgICBsZWZ0OiAtMjAwcHg7CisgICAgICAgICAgICB3aWR0aDogMTAwcHg7
CisgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogb3JhbmdlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisK
KyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsZWZ0eScpLnNjcm9sbEludG9WaWV3KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKS50ZXh0Q29udGVudCA9ICdkb2N1bWVudC5zY3JvbGxpbmdFbGVt
ZW50LnNjcm9sbExlZnQgPSAnICsgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0
OworICAgIH0KKyAgICAKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRl
c3QsIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xh
c3M9IndpZGUiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im9yaWdpbiI+PC9kaXY+CisgICAgPGRp
diBpZD0ibGVmdHkiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlc3VsdCI+CisgICAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9z
Y3JvbGwtcG9zaXRpb24tb24tcmVsb2FkLXJ0bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9zY3JvbGwtcG9zaXRpb24tb24tcmVsb2FkLXJ0bC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmFjN2FlOTI5MGNmNjZhMDk4ZDc5MWVhMDQ5MGNkYWNjOWU1ODk5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1wb3NpdGlv
bi1vbi1yZWxvYWQtcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTOiBzY3JvbGxM
ZWZ0IGFmdGVyIHJlbG9hZCBpcyAtMjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9zY3JvbGwtcG9zaXRpb24tb24tcmVsb2FkLXJ0bC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLXBvc2l0aW9uLW9uLXJlbG9hZC1ydGwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MTBmODUyZGY5MzIxZmE0NzdiODBhYTY3NzBmMGZmOGJhMDVmZjIxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLXBvc2l0aW9uLW9uLXJl
bG9hZC1ydGwuaHRtbApAQCAtMCwwICsxLDY2IEBACis8aHRtbCBkaXI9InJ0bCI+Cis8aGVhZD4K
KyAgICA8c3R5bGU+CisgICAgICAgIC53aWRlIHsKKyAgICAgICAgICAgIHdpZHRoOiAyMDAwcHg7
CisgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBzaWx2ZXI7CisgICAgICAgIH0KKyAgICAgICAgLm9yaWdpbiB7CisgICAgICAgICAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICB0b3A6IDA7CisgICAgICAgICAgICBsZWZ0OiAw
OworICAgICAgICAgICAgd2lkdGg6IDEwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7Cisg
ICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICAjbGVmdHkgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgICAgbGVmdDogLTIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICB2YXIgZGVzaXJlZFNj
cm9sbE9mZnNldCA9IC0yMDA7CisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgeworICAgICAg
ICBpZiAoIXdpbmRvdy5zZXNzaW9uU3RvcmFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoc2Vzc2lvblN0b3JhZ2UudGVzdENvbXBsZXRlZCkgeworICAg
ICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
dmFyIGN1cnJlbnRPZmZzZXQgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQ7
CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgPT0gZGVzaXJlZFNjcm9sbE9mZnNl
dCkKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
LnRleHRDb250ZW50ID0gJ1BBU1M6IHNjcm9sbExlZnQgYWZ0ZXIgcmVsb2FkIGlzICcgKyBkZXNp
cmVkU2Nyb2xsT2Zmc2V0OworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLnRleHRDb250ZW50ID0gJ0ZBSUw6
IHNjcm9sbExlZnQgYWZ0ZXIgcmVsb2FkIGlzICcgKyBjdXJyZW50T2Zmc2V0ICsgJywgc2hvdWxk
IGJlJyArIGRlc2lyZWRTY3JvbGxPZmZzZXQ7CisKKyAgICAgICAgICAgICAgICBkZWxldGUgc2Vz
c2lvblN0b3JhZ2UudGVzdENvbXBsZXRlZDsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICAgICAgfSwgMCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQgPSBkZXNpcmVkU2Nyb2xsT2Zmc2V0OworICAg
ICAgICAgICAgc2Vzc2lvblN0b3JhZ2UudGVzdENvbXBsZXRlZCA9IHRydWU7CisgICAgICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQodHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgICA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9IndpZGUiPjwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9Im9yaWdpbiI+PC9kaXY+CisgICAgPGRpdiBpZD0ibGVmdHkiPjwvZGl2
PgorICAgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="293039"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>