<?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>172554</bug_id>
          
          <creation_ts>2017-05-24 13:02:01 -0700</creation_ts>
          <short_desc>[WK1] iframes in layer-backed NSViews are not cleared between successive draws</short_desc>
          <delta_ts>2017-05-25 17:43:03 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1312372</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-24 13:02:01 -0700</bug_when>
    <thetext>Update WebHTMLView to match AppKit&apos;s layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312373</commentid>
    <comment_count>1</comment_count>
      <attachid>311147</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-24 13:02:24 -0700</bug_when>
    <thetext>Created attachment 311147
Needs tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312374</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-24 13:02:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/31274603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312377</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-24 13:18:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/31247133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312453</commentid>
    <comment_count>4</comment_count>
      <attachid>311167</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-24 17:08:18 -0700</bug_when>
    <thetext>Created attachment 311167
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312454</commentid>
    <comment_count>5</comment_count>
      <attachid>311167</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-24 17:14:21 -0700</bug_when>
    <thetext>Comment on attachment 311167
WIP

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

&gt; Source/WebKit/mac/ChangeLog:3
&gt; +        Update WebHTMLView to match AppKit&apos;s layout

This title should say something about double-drawing of iframe in layer-backed WebViews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312890</commentid>
    <comment_count>6</comment_count>
      <attachid>311295</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 14:44:48 -0700</bug_when>
    <thetext>Created attachment 311295
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312891</commentid>
    <comment_count>7</comment_count>
      <attachid>311296</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 14:46:12 -0700</bug_when>
    <thetext>Created attachment 311296
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312908</commentid>
    <comment_count>8</comment_count>
      <attachid>311299</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 15:15:13 -0700</bug_when>
    <thetext>Created attachment 311299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312911</commentid>
    <comment_count>9</comment_count>
      <attachid>311300</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 15:16:08 -0700</bug_when>
    <thetext>Created attachment 311300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312914</commentid>
    <comment_count>10</comment_count>
      <attachid>311300</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-25 15:18:55 -0700</bug_when>
    <thetext>Comment on attachment 311300
Patch

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

&gt; Tools/DumpRenderTree/TestOptions.mm:99
&gt; +bool TestOptions::webViewCompatible(const TestOptions&amp; other) const

Myabe webViewIsCompatibleWithOptions()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312964</commentid>
    <comment_count>11</comment_count>
      <attachid>311318</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 16:54:08 -0700</bug_when>
    <thetext>Created attachment 311318
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312984</commentid>
    <comment_count>12</comment_count>
      <attachid>311318</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-25 17:38:51 -0700</bug_when>
    <thetext>Comment on attachment 311318
Patch for committing

Rejecting attachment 311318 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 311318, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/3818297</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312985</commentid>
    <comment_count>13</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-25 17:43:03 -0700</bug_when>
    <thetext>Committed r217461: &lt;http://trac.webkit.org/changeset/217461&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311147</attachid>
            <date>2017-05-24 13:02:24 -0700</date>
            <delta_ts>2017-05-24 17:08:17 -0700</delta_ts>
            <desc>Needs tests</desc>
            <filename>bug-172554-20170524130223.patch</filename>
            <type>text/plain</type>
            <size>5274</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMWEyNjZjYjlk
ZGEwMjI3OTMyYTRmZGM2MjBkOWVmNjQ1ZTllMjBmMS4uNDIxYWNkMDk3ZDhhNGQ2NDI2NmVkZmE0
ZTY1Nzc4MmQwNjNiYWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTA1LTI0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVXBkYXRlIFdlYkhUTUxWaWV3IHRvIG1hdGNoIEFwcEtpdCdzIGxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3Jl
Y3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6dG9wVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0Nv
bnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0p
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJIVE1M
VmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250
ZXh0OkNHQ29udGV4dDp0b3BWaWV3OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpdKTog
RGVsZXRlZC4KKwogMjAxNy0wNS0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBTbmFwc2hvdHRpbmcgdmlhIC1yZW5kZXJJbkNvbnRleHQ6IHNob3Vs
ZCBkbyBzeW5jaHJvbm91cyBpbWFnZSBkZWNvZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJIVE1MVmlldy5tbQppbmRleCA5NDc4OTU5Y2NlZmRlOGVkNjY1OWM0ZmFiMjQwOThlNWY3YTE3
YTYxLi41ZWEyMzE0YWEzY2MzYTRiNWM0YThmNGIyYWQxZTU2MWZlOGY5N2YzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTY4NCwxMCArNjg0LDE1IEBAIGV4
dGVybiBOU1N0cmluZyAqTlNUZXh0SW5wdXRSZXBsYWNlbWVudFJhbmdlQXR0cmlidXRlTmFtZTsK
IEBpbnRlcmZhY2UgTlNWaWV3IChXZWJOU1ZpZXdEZXRhaWxzKQogLSAodm9pZClfcmVjdXJzaXZl
RGlzcGxheVJlY3RJZk5lZWRlZElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxl
UmVjdDooQk9PTClpc1Zpc2libGVSZWN0IHJlY3RJc1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3
ICopdmlzaWJsZVZpZXcgdG9wVmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZl
RGlzcGxheUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0
OihOU1JlY3QpdmlzUmVjdDsKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lmIFBMQVRGT1JNKE1BQykK
KyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCBzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOworLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3Jh
cGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0
eCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJl
ZmVyZW5jZUNvbG9yOworI2Vsc2UKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlIGRp
c3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWNvbnRleHQgdG9wVmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9p
ZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihO
U1JlY3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICop
Z3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0eCB0b3BWaWV3OihCT09M
KWlzVG9wVmlldyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hh
bmdlRm9udFJlZmVyZW5jZUNvbG9yOwogI2VuZGlmCisjZW5kaWYKIC0gKE5TUmVjdClfZGlydHlS
ZWN0OwogLSAodm9pZClfc2V0RHJhd3NPd25EZXNjZW5kYW50czooQk9PTClkcmF3c093bkRlc2Nl
bmRhbnRzOwogLSAoQk9PTClfZHJhd25CeUFuY2VzdG9yOwpAQCAtMTgzNiwxNSArMTg0MSwyNyBA
QCAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5l
ZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5TUgogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4g
ZHJhdyBzdWJ2aWV3cy4gV2UgdGFrZSBjYXJlIG9mIHRoYXQuCisjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1
cnNlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250
ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcgorI2Vsc2UKIC0gKHZv
aWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihO
U1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWNvbnRleHQg
dG9wVmlldzooQk9PTCl0b3BWaWV3CisjZW5kaWYKIHsKICAgICBbc2VsZiBfc2V0QXNpZGVTdWJ2
aWV3c107CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKKyAg
ICBbc3VwZXIgX3JlY3Vyc2l2ZTpyZWN1cnNlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRp
c3BsYXlSZWN0IGluQ29udGV4dDpjb250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xv
cjpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2Vsc2UKICAgICBbc3VwZXIgX3Jl
Y3Vyc2l2ZTpyZWN1cnNlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGlu
Q29udGV4dDpjb250ZXh0IHRvcFZpZXc6dG9wVmlld107CisjZW5kaWYKICAgICBbc2VsZiBfcmVz
dG9yZVN1YnZpZXdzXTsKIH0KIAogLy8gRG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmll
d3MuIFdlIHRha2UgY2FyZSBvZiB0aGF0LgorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxMzAwCistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4
dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRl
eHRSZWYpY3R4IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFu
Z2VGb250UmVmZXJlbmNlQ29sb3IKKyNlbHNlCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVj
dXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdy
YXBoaWNzQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250
ZXh0OihDR0NvbnRleHRSZWYpY3R4IHRvcFZpZXc6KEJPT0wpaXNUb3BWaWV3IHNob3VsZENoYW5n
ZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3IK
KyNlbmRpZgogewogICAgIEJPT0wgZGlkU2V0QXNpZGVTdWJ2aWV3cyA9IE5POwogCkBAIC0xODUz
LDcgKzE4NzAsMTEgQEAgLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QKICAgICAgICAgZGlkU2V0QXNp
ZGVTdWJ2aWV3cyA9IFlFUzsKICAgICB9CiAgICAgCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKKyAgICBbc3VwZXIgX3JlY3Vyc2l2ZTpyZWN1cnNlWCBkaXNw
bGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDpncmFw
aGljc0NvbnRleHQgQ0dDb250ZXh0OmN0eCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yXTsKKyNlbHNlCiAgICAgW3N1cGVyIF9yZWN1
cnNpdmU6cmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5H
cmFwaGljc0NvbnRleHQ6Z3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDpjdHggdG9wVmlldzppc1Rv
cFZpZXcgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNob3VsZENoYW5nZUZvbnRSZWZl
cmVuY2VDb2xvcl07CisjZW5kaWYKIAogICAgIGlmIChkaWRTZXRBc2lkZVN1YnZpZXdzKQogICAg
ICAgICBbc2VsZiBfcmVzdG9yZVN1YnZpZXdzXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311167</attachid>
            <date>2017-05-24 17:08:18 -0700</date>
            <delta_ts>2017-05-25 14:44:46 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-172554-20170524170822.patch</filename>
            <type>text/plain</type>
            <size>9724</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uMDA3NjRlN2IyYjc0ZDYzODE1YTFlYzg4
MDYwMWQzYThkODZhNzZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTA1LTI0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVXBkYXRlIFdlYkhUTUxWaWV3IHRvIG1hdGNoIEFwcEtpdCdzIGxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3Jl
Y3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6dG9wVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0Nv
bnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0p
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJIVE1M
VmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250
ZXh0OkNHQ29udGV4dDp0b3BWaWV3OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpdKTog
RGVsZXRlZC4KKwogMjAxNy0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtXZWJJRExdIFJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIGdlbmVyYXRvciB0byBrbm93
IGFib3V0IG5hdGl2ZSB0eXBlIG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDVkNTVhYjEzYmE3NGNiN2YxYmZlY2I3OTE4NjcwMzIwM2YyY2QwN2Iu
LmZiZDcyZTQ2YTQwNjE0ZWU1ZmE4NDgwM2UxNmY5OTU1MzdiZDE3ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjg0LDEwICs2ODQsMTUgQEAgZXh0ZXJu
IE5TU3RyaW5nICpOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lOwogQGlu
dGVyZmFjZSBOU1ZpZXcgKFdlYk5TVmlld0RldGFpbHMpCiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5UmVjdElmTmVlZGVkSWdub3JpbmdPcGFjaXR5OihOU1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0
OihCT09MKWlzVmlzaWJsZVJlY3QgcmVjdElzVmlzaWJsZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2
aXNpYmxlVmlldyB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5T
UmVjdCl2aXNSZWN0OwotI2lmICFQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oTUFDKQorI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCistICh2b2lkKV9yZWN1
cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRp
c3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHNob3VsZENo
YW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I7CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGlj
c0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJl
bmNlQ29sb3I7CisjZWxzZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3Jh
cGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9y
ZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFw
aGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHRvcFZpZXc6KEJPT0wpaXNU
b3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3I7CiAjZW5kaWYKKyNlbmRpZgogLSAoTlNSZWN0KV9kaXJ0eVJlY3Q7
CiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRzOihCT09MKWRyYXdzT3duRGVzY2VuZGFu
dHM7CiAtIChCT09MKV9kcmF3bkJ5QW5jZXN0b3I7CkBAIC0xODM2LDE1ICsxODQxLDI3IEBAIC0g
KHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNM
b2NrRm9jdXMgdmlzUmVjdDooTlNSCiB9CiAKIC8vIERvbid0IGxldCBBcHBLaXQgZXZlbiBkcmF3
IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2Ug
ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6
KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxzZQogLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BW
aWV3OihCT09MKXRvcFZpZXcKKyNlbmRpZgogewogICAgIFtzZWxmIF9zZXRBc2lkZVN1YnZpZXdz
XTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIFtz
dXBlciBfcmVjdXJzaXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxh
eVJlY3QgaW5Db250ZXh0OmNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJz
aXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmNvbnRleHQgdG9wVmlldzp0b3BWaWV3XTsKKyNlbmRpZgogICAgIFtzZWxmIF9yZXN0b3Jl
U3Vidmlld3NdOwogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4gZHJhdyBzdWJ2aWV3cy4g
V2UgdGFrZSBjYXJlIG9mIHRoYXQuCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJl
ZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZv
bnRSZWZlcmVuY2VDb2xvcgorI2Vsc2UKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcgorI2Vu
ZGlmCiB7CiAgICAgQk9PTCBkaWRTZXRBc2lkZVN1YnZpZXdzID0gTk87CiAKQEAgLTE4NTMsNyAr
MTg3MCwxMSBAQCAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJ
Z25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdAogICAgICAgICBkaWRTZXRBc2lkZVN1
YnZpZXdzID0gWUVTOwogICAgIH0KICAgICAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTMwMAorICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNz
Q29udGV4dCBDR0NvbnRleHQ6Y3R4IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2Vsc2UKICAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkdyYXBo
aWNzQ29udGV4dDpncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OmN0eCB0b3BWaWV3OmlzVG9wVmll
dyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbmRpZgogCiAgICAgaWYgKGRpZFNldEFzaWRlU3Vidmlld3MpCiAgICAgICAg
IFtzZWxmIF9yZXN0b3JlU3Vidmlld3NdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5k
ZXggNmM5YTU2Y2M4NGIxYjNlYjQ0YTY2OWQ3NGIwZTAyZWYzZGVkZTEwYS4uYWRmOTU5MTEzN2Iy
YzA5ZjE1ZmM2NDAwZmY3ZGIzNTA4ZmVjZWU5YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5oCkBAIC0zNCw2ICszNCw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFi
bGVQb2ludGVyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVDcmVkZW50aWFsTWFuYWdl
bWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2Fk
IHsgZmFsc2UgfTsKKyAgICBib29sIGxheWVyQmFja2VkV2ViVmlldyB7IGZhbHNlIH07CiAKICAg
ICBUZXN0T3B0aW9ucyhOU1VSTCosIGNvbnN0IFRlc3RDb21tYW5kJik7CiB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0gYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5tbQppbmRleCBiNWJmMTMwOTdhNjliZDFiNzdlMTA3YWMzYmEwMGNm
ZDg3YzdmNjZjLi41MWRhYjZhYmNhNmM1NDJiMGVhZTI0MjllZjJlOWU1NDExNzIyMDk4IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQpAQCAtOTAsNiArOTAsOCBAQCBUZXN0T3B0aW9u
czo6VGVzdE9wdGlvbnMoTlNVUkwgKnRlc3RVUkwsIGNvbnN0IFRlc3RDb21tYW5kJiBjb21tYW5k
KQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVu
YWJsZURyYWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQiKQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxl
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAibGF5ZXJCYWNrZWRXZWJWaWV3IikKKyAg
ICAgICAgICAgIHRoaXMtPmxheWVyQmFja2VkV2ViVmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFk
ZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBiNGU2
ODc2NzBjNzkwMTRkOTRjMWJkNGU5NWI0YTM3ODllNTkyNmIwLi5iMDExMzY2ZGJhOWFlM2QzNjIz
M2I3YThkMDI1ZmNiNDFiZWZhMGNiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCkBAIC0xODEyLDYgKzE4MTIsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZp
ZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlv
bgogICAgIAogICAgIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKICAg
ICBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKG9wdGlvbnMpOworICAgIFt3ZWJWaWV3
IHNldFdhbnRzTGF5ZXI6b3B0aW9ucy5sYXllckJhY2tlZFdlYlZpZXddOwogCiAgICAgVGVzdFJ1
bm5lcjo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKICAgICBUZXN0UnVubmVyOjpzZXRB
bGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTQ5MzhkYTliMWJkZmQ3ZDlmYjhlNzA0YjUzMTQ4ZTE4
Zjg5ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1l
LXRyYW5zbHVjZW50LWJhY2tncm91bmQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgaWZyYW1lcyB3aXRoIHRyYW5zbHVjZW50IGJhY2tncm91bmRz
IGFyZSBkcmF3biB3aXRoIHRob3NlIGJhY2tncm91bmQgKGFuZCBub3QganVzdCBhcyBibGFjayku
IFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3UgZG9uJ3Qgc2VlIGFueSBibGFjayBib3hlcyBiZWxvdyBh
bmQgdGhlIHRleHQgaGFzIGNvcnJlY3QgYW50aWFsaWFzaW5nLjwvcD4KKzxkaXYgc3R5bGU9ImJv
cmRlcjogMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMCwgMCwgMTI4LCAwLjI1KTsiPkhlbGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cu
YXBwbGUuY29tLyc+bGluazwvYT4gaGVyZS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tn
cm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1i
YWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg3MzQyOGQ4MzJlMGFmNjA0YzY3MWU3YTgyOWI2
MWMyZjk5MmQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lm
cmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBsYXllckJhY2tlZFdlYlZpZXc9dHJ1ZSBdIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IGlmcmFtZXMgd2l0aCB0cmFuc2x1Y2VudCBiYWNrZ3JvdW5kcyBhcmUg
ZHJhd24gd2l0aCB0aG9zZSBiYWNrZ3JvdW5kIChhbmQgbm90IGp1c3QgYXMgYmxhY2spLiBUaGUg
dGVzdCBwYXNzZXMgaWYgeW91IGRvbid0IHNlZSBhbnkgYmxhY2sgYm94ZXMgYmVsb3cgYW5kIHRo
ZSB0ZXh0IGhhcyBjb3JyZWN0IGFudGlhbGlhc2luZy48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworZnVuY3Rpb24g
YigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdo
dDogMjAwcHg7IG92ZXJmbG93OiBoaWRkZW47Ij4KKzxpZnJhbWUgc3R5bGU9ImJvcmRlcjogMHB4
OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IiBzcmNkb2M9IjwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDAsIDAsIDEyOCwgMC4yNSk7IG1hcmdpbjogMHB4Oyc+Cis8ZGl2IGlkPSd0YXJnZXQnPkhl
bGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4gaGVyZS48
L2Rpdj4KKzxzY3JpcHQ+Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKK3ZhciB0YXJn
ZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Cit2YXIgcmFuZ2UgPSBkb2N1
bWVudC5jcmVhdGVSYW5nZSgpOworcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRhcmdldCk7Cit3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOword2luZG93LnNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7Cit3
aW5kb3cucGFyZW50LmIoKTsKK30sIDEwMDApOworfSwgMTAwMCk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4iPjwvaWZyYW1lPgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogcmVkOyB0cmFu
c2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg2MDBweCkgcm90
YXRlWSgtNTBkZWcpOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7Ij5IZWxsbywgV29ybGQ8
L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311295</attachid>
            <date>2017-05-25 14:44:48 -0700</date>
            <delta_ts>2017-05-25 14:46:11 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-172554-20170525144454.patch</filename>
            <type>text/plain</type>
            <size>12242</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uYjFlN2ZhZTU2YWVhZjIzYzQ1MGZhZTA5
YjY0YzRhNzVhMWY4OGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTA1LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVXBkYXRlIFdlYkhUTUxWaWV3IHRvIG1hdGNoIEFwcEtpdCdzIGxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3Jl
Y3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6dG9wVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0Nv
bnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0p
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJIVE1M
VmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250
ZXh0OkNHQ29udGV4dDp0b3BWaWV3OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpdKTog
RGVsZXRlZC4KKwogMjAxNy0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtXZWJJRExdIFJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIGdlbmVyYXRvciB0byBrbm93
IGFib3V0IG5hdGl2ZSB0eXBlIG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDVkNTVhYjEzYmE3NGNiN2YxYmZlY2I3OTE4NjcwMzIwM2YyY2QwN2Iu
LmZiZDcyZTQ2YTQwNjE0ZWU1ZmE4NDgwM2UxNmY5OTU1MzdiZDE3ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjg0LDEwICs2ODQsMTUgQEAgZXh0ZXJu
IE5TU3RyaW5nICpOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lOwogQGlu
dGVyZmFjZSBOU1ZpZXcgKFdlYk5TVmlld0RldGFpbHMpCiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5UmVjdElmTmVlZGVkSWdub3JpbmdPcGFjaXR5OihOU1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0
OihCT09MKWlzVmlzaWJsZVJlY3QgcmVjdElzVmlzaWJsZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2
aXNpYmxlVmlldyB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5T
UmVjdCl2aXNSZWN0OwotI2lmICFQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oTUFDKQorI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCistICh2b2lkKV9yZWN1
cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRp
c3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHNob3VsZENo
YW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I7CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGlj
c0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJl
bmNlQ29sb3I7CisjZWxzZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3Jh
cGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9y
ZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFw
aGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHRvcFZpZXc6KEJPT0wpaXNU
b3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3I7CiAjZW5kaWYKKyNlbmRpZgogLSAoTlNSZWN0KV9kaXJ0eVJlY3Q7
CiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRzOihCT09MKWRyYXdzT3duRGVzY2VuZGFu
dHM7CiAtIChCT09MKV9kcmF3bkJ5QW5jZXN0b3I7CkBAIC0xODM2LDE1ICsxODQxLDI3IEBAIC0g
KHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNM
b2NrRm9jdXMgdmlzUmVjdDooTlNSCiB9CiAKIC8vIERvbid0IGxldCBBcHBLaXQgZXZlbiBkcmF3
IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2Ug
ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6
KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxzZQogLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BW
aWV3OihCT09MKXRvcFZpZXcKKyNlbmRpZgogewogICAgIFtzZWxmIF9zZXRBc2lkZVN1YnZpZXdz
XTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIFtz
dXBlciBfcmVjdXJzaXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxh
eVJlY3QgaW5Db250ZXh0OmNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJz
aXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmNvbnRleHQgdG9wVmlldzp0b3BWaWV3XTsKKyNlbmRpZgogICAgIFtzZWxmIF9yZXN0b3Jl
U3Vidmlld3NdOwogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4gZHJhdyBzdWJ2aWV3cy4g
V2UgdGFrZSBjYXJlIG9mIHRoYXQuCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJl
ZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZv
bnRSZWZlcmVuY2VDb2xvcgorI2Vsc2UKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcgorI2Vu
ZGlmCiB7CiAgICAgQk9PTCBkaWRTZXRBc2lkZVN1YnZpZXdzID0gTk87CiAKQEAgLTE4NTMsNyAr
MTg3MCwxMSBAQCAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJ
Z25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdAogICAgICAgICBkaWRTZXRBc2lkZVN1
YnZpZXdzID0gWUVTOwogICAgIH0KICAgICAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTMwMAorICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNz
Q29udGV4dCBDR0NvbnRleHQ6Y3R4IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2Vsc2UKICAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkdyYXBo
aWNzQ29udGV4dDpncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OmN0eCB0b3BWaWV3OmlzVG9wVmll
dyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbmRpZgogCiAgICAgaWYgKGRpZFNldEFzaWRlU3Vidmlld3MpCiAgICAgICAg
IFtzZWxmIF9yZXN0b3JlU3Vidmlld3NdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5k
ZXggNmM5YTU2Y2M4NGIxYjNlYjQ0YTY2OWQ3NGIwZTAyZWYzZGVkZTEwYS4uYWRmOTU5MTEzN2Iy
YzA5ZjE1ZmM2NDAwZmY3ZGIzNTA4ZmVjZWU5YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5oCkBAIC0zNCw2ICszNCw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFi
bGVQb2ludGVyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVDcmVkZW50aWFsTWFuYWdl
bWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2Fk
IHsgZmFsc2UgfTsKKyAgICBib29sIGxheWVyQmFja2VkV2ViVmlldyB7IGZhbHNlIH07CiAKICAg
ICBUZXN0T3B0aW9ucyhOU1VSTCosIGNvbnN0IFRlc3RDb21tYW5kJik7CiB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0gYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5tbQppbmRleCBiNWJmMTMwOTdhNjliZDFiNzdlMTA3YWMzYmEwMGNm
ZDg3YzdmNjZjLi41MWRhYjZhYmNhNmM1NDJiMGVhZTI0MjllZjJlOWU1NDExNzIyMDk4IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQpAQCAtOTAsNiArOTAsOCBAQCBUZXN0T3B0aW9u
czo6VGVzdE9wdGlvbnMoTlNVUkwgKnRlc3RVUkwsIGNvbnN0IFRlc3RDb21tYW5kJiBjb21tYW5k
KQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVu
YWJsZURyYWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQiKQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxl
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAibGF5ZXJCYWNrZWRXZWJWaWV3IikKKyAg
ICAgICAgICAgIHRoaXMtPmxheWVyQmFja2VkV2ViVmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFk
ZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBiNGU2
ODc2NzBjNzkwMTRkOTRjMWJkNGU5NWI0YTM3ODllNTkyNmIwLi4wMDk4MGIzOGY5YmZhY2Y0Y2Yy
NDZhZDY2MjljOGI5MTljOGViZWE2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCkBAIC03MzcsNiArNzM3LDcgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmlld0Fu
ZE9mZnNjcmVlbldpbmRvdygpCiAgICAgTlNTY3JlZW4gKmZpcnN0U2NyZWVuID0gW1tOU1NjcmVl
biBzY3JlZW5zXSBmaXJzdE9iamVjdF07CiAgICAgTlNSZWN0IHdpbmRvd1JlY3QgPSAoc2hvd1dl
YlZpZXcpID8gTlNPZmZzZXRSZWN0KHJlY3QsIDEwMCwgMTAwKSA6IE5TT2Zmc2V0UmVjdChyZWN0
LCAtMTAwMDAsIFtmaXJzdFNjcmVlbiBmcmFtZV0uc2l6ZS5oZWlnaHQgLSByZWN0LnNpemUuaGVp
Z2h0ICsgMTAwMDApOwogICAgIER1bXBSZW5kZXJUcmVlV2luZG93ICp3aW5kb3cgPSBbW0R1bXBS
ZW5kZXJUcmVlV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OndpbmRvd1JlY3Qgc3R5
bGVNYXNrOk5TQm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZl
cmVkIGRlZmVyOllFU107CisgICAgW21haW5XaW5kb3cgcmVsZWFzZV07CiAgICAgbWFpbldpbmRv
dyA9IHdpbmRvdzsKIAogICAgIFt3aW5kb3cgc2V0Q29sb3JTcGFjZTpbZmlyc3RTY3JlZW4gY29s
b3JTcGFjZV1dOwpAQCAtMTI1Niw5ICsxMjU3LDYgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShpbnQg
YXJnYywgY29uc3QgY2hhciAqYXJndltdKQogICAgIFtOU1NvdW5kIF9zZXRBbGVydFR5cGU6MF07
CiAjZW5kaWYKIAotICAgIFdlYlZpZXcgKndlYlZpZXcgPSBjcmVhdGVXZWJWaWV3QW5kT2Zmc2Ny
ZWVuV2luZG93KCk7Ci0gICAgbWFpbkZyYW1lID0gW3dlYlZpZXcgbWFpbkZyYW1lXTsKLQogICAg
IFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV0gcmVtb3ZlQWxsQ2FjaGVkUmVzcG9uc2VzXTsK
ICAgICBbV2ViQ2FjaGUgZW1wdHldOwogCkBAIC0xMjgyLDggKzEyODAsNiBAQCB2b2lkIGR1bXBS
ZW5kZXJUcmVlKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAKICAgICBpZiAodGhyZWFk
ZWQpCiAgICAgICAgIHN0b3BKYXZhU2NyaXB0VGhyZWFkcygpOwotCi0gICAgZGVzdHJveVdlYlZp
ZXdBbmRPZmZzY3JlZW5XaW5kb3cod2ViVmlldyk7CiAgICAgCiAgICAgcmVsZWFzZUdsb2JhbENv
bnRyb2xsZXJzKCk7CiAgICAgCkBAIC0xMzc2LDcgKzEzNzIsNyBAQCBpbnQgRHVtcFJlbmRlclRy
ZWVNYWluKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIF9VSUFwcGxpY2F0aW9uTG9hZFdlYktpdCgpOwogI2VuZGlmCi0gICAgTlNBdXRvcmVsZWFz
ZVBvb2wgKnBvb2wgPSBbW05TQXV0b3JlbGVhc2VQb29sIGFsbG9jXSBpbml0XTsKKyAgICAvL05T
QXV0b3JlbGVhc2VQb29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07
CiAKICAgICBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlc0ZvclRlc3RpbmcoKTsgLy8gTXVz
dCBiZSBjYWxsZWQgYmVmb3JlIE5TQXBwbGljYXRpb24gaW5pdGlhbGl6YXRpb24uCiAKQEAgLTEz
OTIsNyArMTM4OCw3IEBAIGludCBEdW1wUmVuZGVyVHJlZU1haW4oaW50IGFyZ2MsIGNvbnN0IGNo
YXIgKmFyZ3ZbXSkKICAgICBbV2ViQ29yZVN0YXRpc3RpY3MgZ2FyYmFnZUNvbGxlY3RKYXZhU2Ny
aXB0T2JqZWN0c107CiAgICAgW1dlYkNvcmVTdGF0aXN0aWNzIGVtcHR5Q2FjaGVdOyAvLyBPdGhl
cndpc2UgU1ZHSW1hZ2VzIHRyaWdnZXIgZmFsc2UgcG9zaXRpdmVzIGZvciBGcmFtZS9Ob2RlIGNv
dW50cwogICAgIEpTQzo6ZmluYWxpemVTdGF0c0F0RW5kT2ZUZXN0aW5nKCk7Ci0gICAgW3Bvb2wg
cmVsZWFzZV07CisgICAgLy9bcG9vbCByZWxlYXNlXTsKICAgICByZXR1cm5pbmdGcm9tTWFpbiA9
IHRydWU7CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xODEyLDYgKzE4MDgsNyBAQCBzdGF0aWMgdm9p
ZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY29uc3QgVGVzdE9w
dGlvbnMmIG9wdGlvbgogICAgIAogICAgIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMoKTsKICAgICBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKG9wdGlvbnMpOwor
ICAgIFt3ZWJWaWV3IHNldFdhbnRzTGF5ZXI6b3B0aW9ucy5sYXllckJhY2tlZFdlYlZpZXddOwog
CiAgICAgVGVzdFJ1bm5lcjo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKICAgICBUZXN0
UnVubmVyOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShmYWxzZSk7CkBAIC0xOTQ2LDcgKzE5
NDMsMTAgQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIGlucHV0TGluZSkKIAog
ICAgIE5TU3RyaW5nICppbmZvcm1hdGlvblN0cmluZyA9IFtAIkNSQVNISU5HIFRFU1Q6ICIgc3Ry
aW5nQnlBcHBlbmRpbmdTdHJpbmc6dGVzdFBhdGhdOwogICAgIFdLU2V0Q3Jhc2hSZXBvcnRBcHBs
aWNhdGlvblNwZWNpZmljSW5mb3JtYXRpb24oKENGU3RyaW5nUmVmKWluZm9ybWF0aW9uU3RyaW5n
KTsKLQorICAgIAorICAgIFdlYlZpZXcgKnByaXN0aW5lV2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdB
bmRPZmZzY3JlZW5XaW5kb3coKTsKKyAgICBtYWluRnJhbWUgPSBbcHJpc3RpbmVXZWJWaWV3IG1h
aW5GcmFtZV07CisgICAgCiAgICAgVGVzdE9wdGlvbnMgb3B0aW9ucyh1cmwsIGNvbW1hbmQpOwog
ICAgIHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhvcHRpb25zKTsK
IApAQCAtMjA5MSw2ICsyMDkxLDggQEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcm
IGlucHV0TGluZSkKIAogICAgIGZwdXRzKCIjRU9GXG4iLCBzdGRlcnIpOwogICAgIGZmbHVzaChz
dGRlcnIpOworICAgIAorICAgIGRlc3Ryb3lXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KHByaXN0
aW5lV2ViVmlldyk7CiB9CiAKIHZvaWQgZGlzcGxheVdlYlZpZXcoKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNr
Z3JvdW5kLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWU0OTM4ZGE5YjFiZGZkN2Q5ZmI4ZTcw
NGI1MzE0OGUxOGY4OTg5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCAr
MSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGlmcmFtZXMgd2l0aCB0cmFuc2x1Y2VudCBi
YWNrZ3JvdW5kcyBhcmUgZHJhd24gd2l0aCB0aG9zZSBiYWNrZ3JvdW5kIChhbmQgbm90IGp1c3Qg
YXMgYmxhY2spLiBUaGUgdGVzdCBwYXNzZXMgaWYgeW91IGRvbid0IHNlZSBhbnkgYmxhY2sgYm94
ZXMgYmVsb3cgYW5kIHRoZSB0ZXh0IGhhcyBjb3JyZWN0IGFudGlhbGlhc2luZy48L3A+Cis8ZGl2
IHN0eWxlPSJib3JkZXI6IDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKDAsIDAsIDEyOCwgMC4yNSk7Ij5IZWxsbyBXb3JsZCA8YSBocmVmPSdo
dHRwOi8vd3d3LmFwcGxlLmNvbS8nPmxpbms8L2E+IGhlcmUuPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1
Y2VudC1iYWNrZ3JvdW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJh
bnNsdWNlbnQtYmFja2dyb3VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NzM0MjhkODMyZTBhZjYwNGM2
NzFlN2E4MjliNjFjMmY5OTJkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC5odG1sCkBAIC0wLDAgKzEsNDEg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgbGF5ZXJCYWNrZWRXZWJWaWV3PXRydWUgXSAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpZnJhbWVzIHdpdGggdHJhbnNsdWNlbnQgYmFja2dy
b3VuZHMgYXJlIGRyYXduIHdpdGggdGhvc2UgYmFja2dyb3VuZCAoYW5kIG5vdCBqdXN0IGFzIGJs
YWNrKS4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBkb24ndCBzZWUgYW55IGJsYWNrIGJveGVzIGJl
bG93IGFuZCB0aGUgdGV4dCBoYXMgY29ycmVjdCBhbnRpYWxpYXNpbmcuPC9wPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
K2Z1bmN0aW9uIGIoKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPGRpdiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBoZWlnaHQ6IDIwMHB4OyBvdmVyZmxvdzogaGlkZGVuOyI+Cis8aWZyYW1lIHN0eWxlPSJi
b3JkZXI6IDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyIgc3JjZG9jPSI8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0nYmFja2dyb3Vu
ZC1jb2xvcjogcmdiYSgwLCAwLCAxMjgsIDAuMjUpOyBtYXJnaW46IDBweDsnPgorPGRpdiBpZD0n
dGFyZ2V0Jz5IZWxsbyBXb3JsZCA8YSBocmVmPSdodHRwOi8vd3d3LmFwcGxlLmNvbS8nPmxpbms8
L2E+IGhlcmUuPC9kaXY+Cis8c2NyaXB0Pgord2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
Cit2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwordmFyIHJh
bmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKK3JhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0
YXJnZXQpOword2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKK3dpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeword2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJh
bmdlcygpOword2luZG93LnBhcmVudC5iKCk7Cit9LCAxMDAwKTsKK30sIDEwMDApOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Ij48L2lmcmFtZT4KKzxkaXYgc3R5bGU9ImJhY2tncm91bmQ6
IHJlZDsgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IHRyYW5zZm9ybTogcGVyc3BlY3RpdmUo
NjAwcHgpIHJvdGF0ZVkoLTUwZGVnKTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyI+SGVs
bG8sIFdvcmxkPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311296</attachid>
            <date>2017-05-25 14:46:12 -0700</date>
            <delta_ts>2017-05-25 15:15:12 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-172554-20170525144618.patch</filename>
            <type>text/plain</type>
            <size>10927</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uYjFlN2ZhZTU2YWVhZjIzYzQ1MGZhZTA5
YjY0YzRhNzVhMWY4OGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTA1LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVXBkYXRlIFdlYkhUTUxWaWV3IHRvIG1hdGNoIEFwcEtpdCdzIGxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3Jl
Y3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6dG9wVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0Nv
bnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0p
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJIVE1M
VmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250
ZXh0OkNHQ29udGV4dDp0b3BWaWV3OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpdKTog
RGVsZXRlZC4KKwogMjAxNy0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtXZWJJRExdIFJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIGdlbmVyYXRvciB0byBrbm93
IGFib3V0IG5hdGl2ZSB0eXBlIG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDVkNTVhYjEzYmE3NGNiN2YxYmZlY2I3OTE4NjcwMzIwM2YyY2QwN2Iu
LmZiZDcyZTQ2YTQwNjE0ZWU1ZmE4NDgwM2UxNmY5OTU1MzdiZDE3ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjg0LDEwICs2ODQsMTUgQEAgZXh0ZXJu
IE5TU3RyaW5nICpOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lOwogQGlu
dGVyZmFjZSBOU1ZpZXcgKFdlYk5TVmlld0RldGFpbHMpCiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5UmVjdElmTmVlZGVkSWdub3JpbmdPcGFjaXR5OihOU1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0
OihCT09MKWlzVmlzaWJsZVJlY3QgcmVjdElzVmlzaWJsZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2
aXNpYmxlVmlldyB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5T
UmVjdCl2aXNSZWN0OwotI2lmICFQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oTUFDKQorI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCistICh2b2lkKV9yZWN1
cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRp
c3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHNob3VsZENo
YW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I7CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGlj
c0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJl
bmNlQ29sb3I7CisjZWxzZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3Jh
cGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9y
ZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFw
aGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHRvcFZpZXc6KEJPT0wpaXNU
b3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3I7CiAjZW5kaWYKKyNlbmRpZgogLSAoTlNSZWN0KV9kaXJ0eVJlY3Q7
CiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRzOihCT09MKWRyYXdzT3duRGVzY2VuZGFu
dHM7CiAtIChCT09MKV9kcmF3bkJ5QW5jZXN0b3I7CkBAIC0xODM2LDE1ICsxODQxLDI3IEBAIC0g
KHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNM
b2NrRm9jdXMgdmlzUmVjdDooTlNSCiB9CiAKIC8vIERvbid0IGxldCBBcHBLaXQgZXZlbiBkcmF3
IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2Ug
ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6
KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxzZQogLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BW
aWV3OihCT09MKXRvcFZpZXcKKyNlbmRpZgogewogICAgIFtzZWxmIF9zZXRBc2lkZVN1YnZpZXdz
XTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIFtz
dXBlciBfcmVjdXJzaXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxh
eVJlY3QgaW5Db250ZXh0OmNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJz
aXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmNvbnRleHQgdG9wVmlldzp0b3BWaWV3XTsKKyNlbmRpZgogICAgIFtzZWxmIF9yZXN0b3Jl
U3Vidmlld3NdOwogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4gZHJhdyBzdWJ2aWV3cy4g
V2UgdGFrZSBjYXJlIG9mIHRoYXQuCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJl
ZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZv
bnRSZWZlcmVuY2VDb2xvcgorI2Vsc2UKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcgorI2Vu
ZGlmCiB7CiAgICAgQk9PTCBkaWRTZXRBc2lkZVN1YnZpZXdzID0gTk87CiAKQEAgLTE4NTMsNyAr
MTg3MCwxMSBAQCAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJ
Z25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdAogICAgICAgICBkaWRTZXRBc2lkZVN1
YnZpZXdzID0gWUVTOwogICAgIH0KICAgICAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTMwMAorICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNz
Q29udGV4dCBDR0NvbnRleHQ6Y3R4IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2Vsc2UKICAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkdyYXBo
aWNzQ29udGV4dDpncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OmN0eCB0b3BWaWV3OmlzVG9wVmll
dyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbmRpZgogCiAgICAgaWYgKGRpZFNldEFzaWRlU3Vidmlld3MpCiAgICAgICAg
IFtzZWxmIF9yZXN0b3JlU3Vidmlld3NdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5k
ZXggNmM5YTU2Y2M4NGIxYjNlYjQ0YTY2OWQ3NGIwZTAyZWYzZGVkZTEwYS4uYWRmOTU5MTEzN2Iy
YzA5ZjE1ZmM2NDAwZmY3ZGIzNTA4ZmVjZWU5YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5oCkBAIC0zNCw2ICszNCw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFi
bGVQb2ludGVyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVDcmVkZW50aWFsTWFuYWdl
bWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2Fk
IHsgZmFsc2UgfTsKKyAgICBib29sIGxheWVyQmFja2VkV2ViVmlldyB7IGZhbHNlIH07CiAKICAg
ICBUZXN0T3B0aW9ucyhOU1VSTCosIGNvbnN0IFRlc3RDb21tYW5kJik7CiB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0gYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5tbQppbmRleCBiNWJmMTMwOTdhNjliZDFiNzdlMTA3YWMzYmEwMGNm
ZDg3YzdmNjZjLi41MWRhYjZhYmNhNmM1NDJiMGVhZTI0MjllZjJlOWU1NDExNzIyMDk4IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbQpAQCAtOTAsNiArOTAsOCBAQCBUZXN0T3B0aW9u
czo6VGVzdE9wdGlvbnMoTlNVUkwgKnRlc3RVUkwsIGNvbnN0IFRlc3RDb21tYW5kJiBjb21tYW5k
KQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVu
YWJsZURyYWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQiKQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxl
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAibGF5ZXJCYWNrZWRXZWJWaWV3IikKKyAg
ICAgICAgICAgIHRoaXMtPmxheWVyQmFja2VkV2ViVmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFk
ZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBiNGU2
ODc2NzBjNzkwMTRkOTRjMWJkNGU5NWI0YTM3ODllNTkyNmIwLi4zYTMyY2ZjNzExN2RjZjM0NjRl
ZmE2NzEzYzY1N2MwODJlNWQ3MmMxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCkBAIC0xMjU2LDkgKzEyNTYsNiBAQCB2b2lkIGR1bXBSZW5kZXJUcmVlKGlu
dCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAgICAgW05TU291bmQgX3NldEFsZXJ0VHlwZTow
XTsKICNlbmRpZgogCi0gICAgV2ViVmlldyAqd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdBbmRPZmZz
Y3JlZW5XaW5kb3coKTsKLSAgICBtYWluRnJhbWUgPSBbd2ViVmlldyBtYWluRnJhbWVdOwotCiAg
ICAgW1tOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hlXSByZW1vdmVBbGxDYWNoZWRSZXNwb25zZXNd
OwogICAgIFtXZWJDYWNoZSBlbXB0eV07CiAKQEAgLTEyODIsOCArMTI3OSw2IEBAIHZvaWQgZHVt
cFJlbmRlclRyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKIAogICAgIGlmICh0aHJl
YWRlZCkKICAgICAgICAgc3RvcEphdmFTY3JpcHRUaHJlYWRzKCk7Ci0KLSAgICBkZXN0cm95V2Vi
Vmlld0FuZE9mZnNjcmVlbldpbmRvdyh3ZWJWaWV3KTsKICAgICAKICAgICByZWxlYXNlR2xvYmFs
Q29udHJvbGxlcnMoKTsKICAgICAKQEAgLTE4MTIsNiArMTgwNyw3IEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhjb25zdCBUZXN0T3B0aW9u
cyYgb3B0aW9uCiAgICAgCiAgICAgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cygpOwogICAgIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMob3B0aW9ucyk7CisgICAg
W3dlYlZpZXcgc2V0V2FudHNMYXllcjpvcHRpb25zLmxheWVyQmFja2VkV2ViVmlld107CiAKICAg
ICBUZXN0UnVubmVyOjpzZXRTZXJpYWxpemVIVFRQTG9hZHMoZmFsc2UpOwogICAgIFRlc3RSdW5u
ZXI6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGZhbHNlKTsKQEAgLTE5NDYsNyArMTk0Miwx
MCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0cmluZyYgaW5wdXRMaW5lKQogCiAgICAg
TlNTdHJpbmcgKmluZm9ybWF0aW9uU3RyaW5nID0gW0AiQ1JBU0hJTkcgVEVTVDogIiBzdHJpbmdC
eUFwcGVuZGluZ1N0cmluZzp0ZXN0UGF0aF07CiAgICAgV0tTZXRDcmFzaFJlcG9ydEFwcGxpY2F0
aW9uU3BlY2lmaWNJbmZvcm1hdGlvbigoQ0ZTdHJpbmdSZWYpaW5mb3JtYXRpb25TdHJpbmcpOwot
CisgICAgCisgICAgV2ViVmlldyAqcHJpc3RpbmVXZWJWaWV3ID0gY3JlYXRlV2ViVmlld0FuZE9m
ZnNjcmVlbldpbmRvdygpOworICAgIG1haW5GcmFtZSA9IFtwcmlzdGluZVdlYlZpZXcgbWFpbkZy
YW1lXTsKKyAgICAKICAgICBUZXN0T3B0aW9ucyBvcHRpb25zKHVybCwgY29tbWFuZCk7CiAgICAg
cmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKG9wdGlvbnMpOwogCkBA
IC0yMDkxLDYgKzIwOTAsOCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0cmluZyYgaW5w
dXRMaW5lKQogCiAgICAgZnB1dHMoIiNFT0ZcbiIsIHN0ZGVycik7CiAgICAgZmZsdXNoKHN0ZGVy
cik7CisgICAgCisgICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3cocHJpc3RpbmVX
ZWJWaWV3KTsKIH0KIAogdm9pZCBkaXNwbGF5V2ViVmlldygpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91
bmQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTQ5MzhkYTliMWJkZmQ3ZDlmYjhlNzA0YjUz
MTQ4ZTE4Zjg5ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
aWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaWZyYW1lcyB3aXRoIHRyYW5zbHVjZW50IGJhY2tn
cm91bmRzIGFyZSBkcmF3biB3aXRoIHRob3NlIGJhY2tncm91bmQgKGFuZCBub3QganVzdCBhcyBi
bGFjaykuIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3UgZG9uJ3Qgc2VlIGFueSBibGFjayBib3hlcyBi
ZWxvdyBhbmQgdGhlIHRleHQgaGFzIGNvcnJlY3QgYW50aWFsaWFzaW5nLjwvcD4KKzxkaXYgc3R5
bGU9ImJvcmRlcjogMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMCwgMCwgMTI4LCAwLjI1KTsiPkhlbGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6
Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4gaGVyZS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50
LWJhY2tncm91bmQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1
Y2VudC1iYWNrZ3JvdW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg3MzQyOGQ4MzJlMGFmNjA0YzY3MWU3
YTgyOWI2MWMyZjk5MmQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLmh0bWwKQEAgLTAsMCArMSw0MSBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBsYXllckJhY2tlZFdlYlZpZXc9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IGlmcmFtZXMgd2l0aCB0cmFuc2x1Y2VudCBiYWNrZ3JvdW5k
cyBhcmUgZHJhd24gd2l0aCB0aG9zZSBiYWNrZ3JvdW5kIChhbmQgbm90IGp1c3QgYXMgYmxhY2sp
LiBUaGUgdGVzdCBwYXNzZXMgaWYgeW91IGRvbid0IHNlZSBhbnkgYmxhY2sgYm94ZXMgYmVsb3cg
YW5kIHRoZSB0ZXh0IGhhcyBjb3JyZWN0IGFudGlhbGlhc2luZy48L3A+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworZnVu
Y3Rpb24gYigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGhlaWdodDogMjAwcHg7IG92ZXJmbG93OiBoaWRkZW47Ij4KKzxpZnJhbWUgc3R5bGU9ImJvcmRl
cjogMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IiBzcmNkb2M9IjwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNv
bG9yOiByZ2JhKDAsIDAsIDEyOCwgMC4yNSk7IG1hcmdpbjogMHB4Oyc+Cis8ZGl2IGlkPSd0YXJn
ZXQnPkhlbGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4g
aGVyZS48L2Rpdj4KKzxzY3JpcHQ+Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKK3Zh
ciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7Cit2YXIgcmFuZ2Ug
PSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRhcmdl
dCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOword2luZG93LnNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2Vz
KCk7Cit3aW5kb3cucGFyZW50LmIoKTsKK30sIDEwMDApOworfSwgMTAwMCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4iPjwvaWZyYW1lPgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogcmVk
OyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg2MDBw
eCkgcm90YXRlWSgtNTBkZWcpOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7Ij5IZWxsbywg
V29ybGQ8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311299</attachid>
            <date>2017-05-25 15:15:13 -0700</date>
            <delta_ts>2017-05-25 15:16:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172554-20170525151519.patch</filename>
            <type>text/plain</type>
            <size>20562</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uOWM4MWQyMGEwYjQzZDcyMWJkZTVlZGYy
OWViMGQzMmU2ZGY4NDBhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3
LTA1LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMV0gaWZyYW1lcyBpbiBsYXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQg
YmV0d2VlbiBzdWNjZXNzaXZlIGRyYXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI1NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgYW4gb3ZlcnJpZGRlbiBpbnRlcm5hbCBBcHBLaXQgZnVu
Y3Rpb24gdG8gdGhlIG5ldyBzaWduYXR1cmUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3Jl
Y3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6dG9wVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0Nv
bnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0p
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJIVE1M
VmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250
ZXh0OkNHQ29udGV4dDp0b3BWaWV3OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpdKTog
RGVsZXRlZC4KKwogMjAxNy0wNS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtXZWJJRExdIFJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIGdlbmVyYXRvciB0byBrbm93
IGFib3V0IG5hdGl2ZSB0eXBlIG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDVkNTVhYjEzYmE3NGNiN2YxYmZlY2I3OTE4NjcwMzIwM2YyY2QwN2Iu
LmZiZDcyZTQ2YTQwNjE0ZWU1ZmE4NDgwM2UxNmY5OTU1MzdiZDE3ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjg0LDEwICs2ODQsMTUgQEAgZXh0ZXJu
IE5TU3RyaW5nICpOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lOwogQGlu
dGVyZmFjZSBOU1ZpZXcgKFdlYk5TVmlld0RldGFpbHMpCiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5UmVjdElmTmVlZGVkSWdub3JpbmdPcGFjaXR5OihOU1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0
OihCT09MKWlzVmlzaWJsZVJlY3QgcmVjdElzVmlzaWJsZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2
aXNpYmxlVmlldyB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNw
bGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5T
UmVjdCl2aXNSZWN0OwotI2lmICFQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oTUFDKQorI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCistICh2b2lkKV9yZWN1
cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRp
c3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHNob3VsZENo
YW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I7CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGlj
c0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJl
bmNlQ29sb3I7CisjZWxzZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3Jh
cGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BWaWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9y
ZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkdyYXBoaWNzQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFw
aGljc0NvbnRleHQgQ0dDb250ZXh0OihDR0NvbnRleHRSZWYpY3R4IHRvcFZpZXc6KEJPT0wpaXNU
b3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3I7CiAjZW5kaWYKKyNlbmRpZgogLSAoTlNSZWN0KV9kaXJ0eVJlY3Q7
CiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRzOihCT09MKWRyYXdzT3duRGVzY2VuZGFu
dHM7CiAtIChCT09MKV9kcmF3bkJ5QW5jZXN0b3I7CkBAIC0xODM2LDE1ICsxODQxLDI3IEBAIC0g
KHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNM
b2NrRm9jdXMgdmlzUmVjdDooTlNSCiB9CiAKIC8vIERvbid0IGxldCBBcHBLaXQgZXZlbiBkcmF3
IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2Ug
ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6
KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxzZQogLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVj
dClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopY29udGV4dCB0b3BW
aWV3OihCT09MKXRvcFZpZXcKKyNlbmRpZgogewogICAgIFtzZWxmIF9zZXRBc2lkZVN1YnZpZXdz
XTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorICAgIFtz
dXBlciBfcmVjdXJzaXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxh
eVJlY3QgaW5Db250ZXh0OmNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJz
aXZlOnJlY3Vyc2UgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmNvbnRleHQgdG9wVmlldzp0b3BWaWV3XTsKKyNlbmRpZgogICAgIFtzZWxmIF9yZXN0b3Jl
U3Vidmlld3NdOwogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4gZHJhdyBzdWJ2aWV3cy4g
V2UgdGFrZSBjYXJlIG9mIHRoYXQuCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJl
ZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZv
bnRSZWZlcmVuY2VDb2xvcgorI2Vsc2UKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcgorI2Vu
ZGlmCiB7CiAgICAgQk9PTCBkaWRTZXRBc2lkZVN1YnZpZXdzID0gTk87CiAKQEAgLTE4NTMsNyAr
MTg3MCwxMSBAQCAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZVggZGlzcGxheVJlY3RJ
Z25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdAogICAgICAgICBkaWRTZXRBc2lkZVN1
YnZpZXdzID0gWUVTOwogICAgIH0KICAgICAKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTMwMAorICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNz
Q29udGV4dCBDR0NvbnRleHQ6Y3R4IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2Vsc2UKICAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkdyYXBo
aWNzQ29udGV4dDpncmFwaGljc0NvbnRleHQgQ0dDb250ZXh0OmN0eCB0b3BWaWV3OmlzVG9wVmll
dyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbmRpZgogCiAgICAgaWYgKGRpZFNldEFzaWRlU3Vidmlld3MpCiAgICAgICAg
IFtzZWxmIF9yZXN0b3JlU3Vidmlld3NdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGYxOWE4MjIwOGE1OTYxZDM0ZjA1ZGM1MDMxMmExMTY3YTA0
ZTM0MDUuLmE5OTBhODg3NjZmNmIyOGI4MWI2ZmI4MTdiNWFiZjhmZjg1NWMwMTYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBA
QAorMjAxNy0wNS0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFtXSzFdIGlmcmFtZXMgaW4gbGF5ZXItYmFja2VkIE5TVmlld3MgYXJlIG5vdCBj
bGVhcmVkIGJldHdlZW4gc3VjY2Vzc2l2ZSBkcmF3cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwgdGhlcmUgd2FzIG5vIHdheSB0byBt
YWtlIER1bXBSZW5kZXJUcmVlJ3Mgdmlld3MgbGF5ZXItYmFja2VkLiBVbmZvcnR1bmF0ZWx5LAor
ICAgICAgICBzaW1wbHkgc2V0dGluZyBbV2ViVmlldyBzZXRXYW50c0xheWVyOl0gaXMgaW5zdWZm
aWNpZW50OyB0dXJuaW5nIGl0IG9uIGFuZCB0aGVuIG9mZiBhZ2FpbgorICAgICAgICBsZWF2ZXMg
c29tZSBzdGF0ZSBhcm91bmQgaW5zaWRlIHRoZSBOU1dpbmRvdyB3aGljaCBpc24ndCBlYXNpbHkg
Y2xlYW5lZCB1cC4gSW5zdGVhZCwKKyAgICAgICAgd2Ugc2hvdWxkIGp1c3QgdGVhciBkb3duIGFu
ZCByZWJ1aWxkIHRoZSB3aW5kb3cgd2hlbmV2ZXIgd2UgbmVlZCBhIGxheWVyLWJhY2tlZCBXZWJW
aWV3LgorICAgICAgICBXZSBjYW4gYWxzbyB1c2UgdGhlICJ3ZWJraXQtdGVzdC1ydW5uZXIiIGhl
YWRlciBjb21tZW50IHRvIHRyaWdnZXIgdGhpcyBuZXcgbGF5ZXItYmFja2VkCisgICAgICAgIGNv
ZGVwYXRoLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaDoKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5tbToKKyAgICAgICAgKFRlc3RPcHRpb25z
OjpUZXN0T3B0aW9ucyk6CisgICAgICAgIChUZXN0T3B0aW9uczo6d2ViVmlld0NvbXBhdGlibGUp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAg
ICAgKHNob3VsZElnbm9yZVdlYkNvcmVOb2RlTGVha3MpOgorICAgICAgICAoYWxsb3dlZEZvbnRG
YW1pbHlTZXQpOgorICAgICAgICAoLVtEUlRNb2NrU2Nyb2xsZXIgcmVjdEZvclBhcnQ6XSk6Cisg
ICAgICAgICgtW0RSVE1vY2tTY3JvbGxlciBkcmF3S25vYl0pOgorICAgICAgICAoLVtEUlRNb2Nr
U2Nyb2xsZXIgZHJhd1JlY3Q6XSk6CisgICAgICAgIChjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVu
V2luZG93KToKKyAgICAgICAgKGluaXRpYWxpemVHbG9iYWxzRnJvbUNvbW1hbmRMaW5lT3B0aW9u
cyk6CisgICAgICAgIChwcmVwYXJlQ29uc2lzdGVudFRlc3RpbmdFbnZpcm9ubWVudCk6CisgICAg
ICAgIChkdW1wUmVuZGVyVHJlZSk6CisgICAgICAgIChkdW1wQXVkaW8pOgorICAgICAgICAoZHVt
cEhpc3RvcnlJdGVtKToKKyAgICAgICAgKGR1bXBCYWNrRm9yd2FyZExpc3RGb3JXZWJWaWV3KToK
KyAgICAgICAgKHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6Cisg
ICAgICAgIChXZWJUaHJlYWRMb2NrQWZ0ZXJEZWxlZ2F0ZUNhbGxiYWNrc0hhdmVDb21wbGV0ZWQp
OgorICAgICAgICAocnVuVGVzdCk6CisKIDIwMTctMDUtMjIgIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMgdXAgdG8g
OGRmN2M5YzIxNTY3ODMyODIxMmYyMzJjZTBiNTI3MGM1MDVhODU2MwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmgKaW5kZXggNmM5YTU2Y2M4NGIxYjNlYjQ0YTY2OWQ3NGIwZTAyZWYzZGVkZTEw
YS4uYWMxYWM3MDk3Y2I1NzZkOWE3ZjMxYjhkMDA0NmY4NGNjZTg1NDhiZSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5oCkBAIC0zNCw2ICszNCw4IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7
CiAgICAgYm9vbCBlbmFibGVQb2ludGVyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVD
cmVkZW50aWFsTWFuYWdlbWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVEcmFnRGVzdGlu
YXRpb25BY3Rpb25Mb2FkIHsgZmFsc2UgfTsKKyAgICBib29sIGxheWVyQmFja2VkV2ViVmlldyB7
IGZhbHNlIH07CiAKICAgICBUZXN0T3B0aW9ucyhOU1VSTCosIGNvbnN0IFRlc3RDb21tYW5kJik7
CisgICAgYm9vbCB3ZWJWaWV3Q29tcGF0aWJsZShjb25zdCBUZXN0T3B0aW9ucyYpIGNvbnN0Owog
fTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0KaW5kZXggYjViZjEzMDk3YTY5YmQxYjc3
ZTEwN2FjM2JhMDBjZmQ4N2M3ZjY2Yy4uMDgwZjBjYTg2N2MyZmM4OWZlMTIyZDRmMTExZmIyZmVi
OTI2NzA4MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0K
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0KQEAgLTkwLDYgKzkwLDEz
IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyhOU1VSTCAqdGVzdFVSTCwgY29uc3QgVGVzdENv
bW1hbmQmIGNvbW1hbmQpCiAgICAgICAgICAgICB0aGlzLT5lbmFibGVDcmVkZW50aWFsTWFuYWdl
bWVudCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGtleSA9PSAiZW5hYmxlRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCIpCiAgICAgICAgICAg
ICB0aGlzLT5lbmFibGVEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkID0gcGFyc2VCb29sZWFuVGVz
dEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJsYXllckJhY2tl
ZFdlYlZpZXciKQorICAgICAgICAgICAgdGhpcy0+bGF5ZXJCYWNrZWRXZWJWaWV3ID0gcGFyc2VC
b29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVu
ZCArIDE7CiAgICAgfQogfQorCitib29sIFRlc3RPcHRpb25zOjp3ZWJWaWV3Q29tcGF0aWJsZShj
b25zdCBUZXN0T3B0aW9ucyYgb3RoZXIpIGNvbnN0Cit7CisgICAgcmV0dXJuIG90aGVyLmxheWVy
QmFja2VkV2ViVmlldyA9PSBsYXllckJhY2tlZFdlYlZpZXc7Cit9CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggYjRlNjg3NjcwYzc5MDE0ZDk0YzFiZDRl
OTViNGEzNzg5ZTU5MjZiMC4uNzVjMTNlMjViZjg0NTRhNzg3Mzc3OWIwMWMzOGFlNWI1NDFiN2Q4
NyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTgw
LDYgKzE4MCw3IEBAIHZvbGF0aWxlIGJvb2wgZG9uZTsKIE5hdmlnYXRpb25Db250cm9sbGVyKiBn
TmF2aWdhdGlvbkNvbnRyb2xsZXIgPSBudWxscHRyOwogUmVmUHRyPFRlc3RSdW5uZXI+IGdUZXN0
UnVubmVyOwogCitzdGQ6Om9wdGlvbmFsPFRlc3RPcHRpb25zPiBtYWluRnJhbWVUZXN0T3B0aW9u
czsKIFdlYkZyYW1lICptYWluRnJhbWUgPSBuaWw7CiAvLyBUaGlzIGlzIHRoZSB0b3Btb3N0IGZy
YW1lIHRoYXQgaXMgbG9hZGluZywgZHVyaW5nIGEgZ2l2ZW4gbG9hZCwgb3IgbmlsIHdoZW4gbm8g
bG9hZCBpcyAKIC8vIGluIHByb2dyZXNzLiAgVXN1YWxseSB0aGlzIGlzIHRoZSBzYW1lIGFzIHRo
ZSBtYWluIGZyYW1lLCBidXQgbm90IGFsd2F5cy4gIEluIHRoZSBjYXNlCkBAIC0yOTAsNyArMjkx
LDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkSWdub3JlV2ViQ29yZU5vZGVMZWFrcyhjb25zdCBzdHJp
bmcmIFVSTFN0cmluZykKICAgICAgICAgLy8gS2VlcGluZyB0aGlzIGluZnJhc3RydWN0dXJlIGFy
b3VuZCBpbiBjYXNlIHdlIGV2ZXIgbmVlZCBpdCBhZ2Fpbi4KICAgICB9OwogICAgIHN0YXRpYyBj
b25zdCBpbnQgaWdub3JlU2V0Q291bnQgPSBzaXplb2YoaWdub3JlU2V0KSAvIHNpemVvZihjaGFy
Kik7Ci0gICAgCisKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGlnbm9yZVNldENvdW50OyBpKysp
IHsKICAgICAgICAgLy8gRklYTUU6IGlnbm9yZSBjYXNlCiAgICAgICAgIHN0cmluZyBjdXJJZ25v
cmUoaWdub3JlU2V0W2ldKTsKQEAgLTQyNSw3ICs0MjYsNyBAQCBzdGF0aWMgTlNTZXQgKmFsbG93
ZWRGb250RmFtaWx5U2V0KCkKICAgICAgICAgQCJaYXBmIERpbmdiYXRzIiwKICAgICAgICAgQCJa
YXBmaW5vIiwKICAgICAgICAgbmlsXSByZXRhaW5dOwotICAgIAorCiAgICAgcmV0dXJuIGZvbnRG
YW1pbHlTZXQ7CiB9CiAKQEAgLTY0Nyw3ICs2NDgsNyBAQCAtIChOU1JlY3QpcmVjdEZvclBhcnQ6
KE5TU2Nyb2xsZXJQYXJ0KXBhcnRDb2RlCiAgICAgQ0dGbG9hdCBtaW5Lbm9iU2l6ZSA9IGlzSG9y
aXpvbnRhbCA/IGJvdW5kcy5zaXplLmhlaWdodCA6IGJvdW5kcy5zaXplLndpZHRoOwogICAgIENH
RmxvYXQga25vYkxlbmd0aCA9IG1heChtaW5Lbm9iU2l6ZSwgc3RhdGljX2Nhc3Q8Q0dGbG9hdD4o
cm91bmQodHJhY2tMZW5ndGggKiBbc2VsZiBrbm9iUHJvcG9ydGlvbl0pKSk7CiAgICAgQ0dGbG9h
dCBrbm9iUG9zaXRpb24gPSBzdGF0aWNfY2FzdDxDR0Zsb2F0Pigocm91bmQoW3NlbGYgZG91Ymxl
VmFsdWVdICogKHRyYWNrTGVuZ3RoIC0ga25vYkxlbmd0aCkpKSk7Ci0gICAgCisKICAgICBpZiAo
aXNIb3Jpem9udGFsKQogICAgICAgICByZXR1cm4gTlNNYWtlUmVjdChib3VuZHMub3JpZ2luLngg
KyBrbm9iUG9zaXRpb24sIGJvdW5kcy5vcmlnaW4ueSwga25vYkxlbmd0aCwgYm91bmRzLnNpemUu
aGVpZ2h0KTsKIApAQCAtNjYwLDcgKzY2MSw3IEBAIC0gKHZvaWQpZHJhd0tub2IKICAgICAgICAg
cmV0dXJuOwogCiAgICAgTlNSZWN0IGtub2JSZWN0ID0gW3NlbGYgcmVjdEZvclBhcnQ6TlNTY3Jv
bGxlcktub2JdOwotICAgIAorCiAgICAgc3RhdGljIE5TQ29sb3IgKmtub2JDb2xvciA9IFtbTlND
b2xvciBjb2xvcldpdGhEZXZpY2VSZWQ6MHg4MCAvIDI1NS4wIGdyZWVuOjB4ODAgLyAyNTUuMCBi
bHVlOjB4ODAgLyAyNTUuMCBhbHBoYToxXSByZXRhaW5dOwogICAgIFtrbm9iQ29sb3Igc2V0XTsK
IApAQCAtNjc4LDcgKzY3OSw3IEBAIC0gKHZvaWQpZHJhd1JlY3Q6KE5TUmVjdClkaXJ0eVJlY3QK
ICAgICAgICAgW2Rpc2FibGVkVHJhY2tDb2xvciBzZXRdOwogCiAgICAgTlNSZWN0RmlsbChkaXJ0
eVJlY3QpOwotICAgIAorCiAgICAgW3NlbGYgZHJhd0tub2JdOwogfQogCkBAIC03MTQsNyArNzE1
LDcgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdygpCiAgICAgW1dl
YlZpZXcgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsOkAiZmVlZCJdOwogICAgIFtXZWJWaWV3IHJl
Z2lzdGVyVVJMU2NoZW1lQXNMb2NhbDpAImZlZWRzIl07CiAgICAgW1dlYlZpZXcgcmVnaXN0ZXJV
UkxTY2hlbWVBc0xvY2FsOkAiZmVlZHNlYXJjaCJdOwotICAgIAorCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIFtXZWJWaWV3IF9zZXRGb250V2hpdGVsaXN0OmZvbnRXaGl0ZWxpc3QoKV07CiAjZW5k
aWYKQEAgLTczMSw3ICs3MzIsNyBAQCBXZWJWaWV3ICpjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVu
V2luZG93KCkKICAgICBbd2ViVmlldyBzZXREZWZlcnNDYWxsYmFja3M6Tk9dOwogICAgIFt3ZWJW
aWV3IHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkOllFU107CiAgICAgW3dlYlZp
ZXcgc2V0VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb246LTFdOwotICAgIAorCiAg
ICAgLy8gVG8gbWFrZSB0aGluZ3MgbGlrZSBjZXJ0YWluIE5TVmlld3MsIGRyYWdnaW5nLCBhbmQg
cGx1Zy1pbnMgd29yaywgcHV0IHRoZSBXZWJWaWV3IGEgd2luZG93LCBidXQgcHV0IGl0IG9mZi1z
Y3JlZW4gc28geW91IGRvbid0IHNlZSBpdC4KICAgICAvLyBQdXQgaXQgYXQgLTEwMDAwLCAtMTAw
MDAgaW4gImZsaXBwZWQgY29vcmRpbmF0ZXMiLCBzaW5jZSBXZWJDb3JlIGFuZCB0aGUgRE9NIHVz
ZSBmbGlwcGVkIGNvb3JkaW5hdGVzLgogICAgIE5TU2NyZWVuICpmaXJzdFNjcmVlbiA9IFtbTlNT
Y3JlZW4gc2NyZWVuc10gZmlyc3RPYmplY3RdOwpAQCAtNzc2LDcgKzc3Nyw3IEBAIFdlYlZpZXcg
KmNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coKQogCiAgICAgYWRqdXN0V2ViRG9jdW1l
bnRGb3JTdGFuZGFyZFZpZXdwb3J0KHdlYkJyb3dzZXJWaWV3LCBzY3JvbGxWaWV3KTsKICNlbmRp
ZgotICAgIAorCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICAvLyBGb3IgcmVhc29ucyB0aGF0IGFy
ZSBub3QgZW50aXJlbHkgY2xlYXIsIHRoZSBmb2xsb3dpbmcgcGFpciBvZiBjYWxscyBtYWtlcyBX
ZWJWaWV3IGhhbmRsZSBpdHMKICAgICAvLyBkeW5hbWljIHNjcm9sbGJhcnMgcHJvcGVybHkuIFdp
dGhvdXQgaXQsIGV2ZXJ5IGZyYW1lIHdpbGwgYWx3YXlzIGhhdmUgc2Nyb2xsYmFycy4KQEAgLTEx
MjcsNyArMTEyOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVHbG9iYWxzRnJvbUNvbW1hbmRM
aW5lT3B0aW9ucyhpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdCiAgICAgICAgIHsicHJpbnQt
dGVzdC1jb3VudCIsIG5vX2FyZ3VtZW50LCAmcHJpbnRUZXN0Q291bnQsIFlFU30sCiAgICAgICAg
IHtudWxscHRyLCAwLCBudWxscHRyLCAwfQogICAgIH07Ci0gICAgCisKICAgICBpbnQgb3B0aW9u
OwogICAgIHdoaWxlICgob3B0aW9uID0gZ2V0b3B0X2xvbmcoYXJnYywgKGNoYXIgKiBjb25zdCAq
KWFyZ3YsICIiLCBvcHRpb25zLCBudWxscHRyKSkgIT0gLTEpIHsKICAgICAgICAgc3dpdGNoIChv
cHRpb24pIHsKQEAgLTEyMTAsOSArMTIxMSw5IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVDb25zaXN0
ZW50VGVzdGluZ0Vudmlyb25tZW50KCkKICNlbHNlCiAgICAgYWN0aXZhdGVGb250c0lPUygpOwog
I2VuZGlmCi0gICAgCisKICAgICBhbGxvY2F0ZUdsb2JhbENvbnRyb2xsZXJzKCk7Ci0gICAgCisK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgTlNBY3Rpdml0eU9wdGlvbnMgb3B0aW9ucyA9IChOU0Fj
dGl2aXR5VXNlckluaXRpYXRlZEFsbG93aW5nSWRsZVN5c3RlbVNsZWVwIHwgTlNBY3Rpdml0eUxh
dGVuY3lDcml0aWNhbCkgJiB+KE5TQWN0aXZpdHlTdWRkZW5UZXJtaW5hdGlvbkRpc2FibGVkIHwg
TlNBY3Rpdml0eUF1dG9tYXRpY1Rlcm1pbmF0aW9uRGlzYWJsZWQpOwogICAgIHN0YXRpYyBpZCBh
c3NlcnRpb24gPSBbW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBiZWdpbkFjdGl2aXR5V2l0
aE9wdGlvbnM6b3B0aW9ucyByZWFzb246QCJEdW1wUmVuZGVyVHJlZSBzaG91bGQgbm90IGJlIHN1
YmplY3QgdG8gcHJvY2VzcyBzdXBwcmVzc2lvbiJdIHJldGFpbl07CkBAIC0xMjU2LDkgKzEyNTcs
NiBAQCB2b2lkIGR1bXBSZW5kZXJUcmVlKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCiAg
ICAgW05TU291bmQgX3NldEFsZXJ0VHlwZTowXTsKICNlbmRpZgogCi0gICAgV2ViVmlldyAqd2Vi
VmlldyA9IGNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coKTsKLSAgICBtYWluRnJhbWUg
PSBbd2ViVmlldyBtYWluRnJhbWVdOwotCiAgICAgW1tOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hl
XSByZW1vdmVBbGxDYWNoZWRSZXNwb25zZXNdOwogICAgIFtXZWJDYWNoZSBlbXB0eV07CiAKQEAg
LTEyODMsMTAgKzEyODEsMTAgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3Qg
Y2hhciAqYXJndltdKQogICAgIGlmICh0aHJlYWRlZCkKICAgICAgICAgc3RvcEphdmFTY3JpcHRU
aHJlYWRzKCk7CiAKLSAgICBkZXN0cm95V2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdyh3ZWJWaWV3
KTsKLSAgICAKKyAgICBkZXN0cm95V2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdyhbbWFpbkZyYW1l
IHdlYlZpZXddKTsKKwogICAgIHJlbGVhc2VHbG9iYWxDb250cm9sbGVycygpOwotICAgIAorCiAj
aWYgIVBMQVRGT1JNKElPUykKICAgICBbRHVtcFJlbmRlclRyZWVQYXN0ZWJvYXJkIHJlbGVhc2VM
b2NhbFBhc3RlYm9hcmRzXTsKICNlbmRpZgpAQCAtMTQwNSw3ICsxNDAzLDcgQEAgc3RhdGljIE5T
SW50ZWdlciBjb21wYXJlSGlzdG9yeUl0ZW1zKGlkIGl0ZW0xLCBpZCBpdGVtMiwgdm9pZCAqY29u
dGV4dCkKIHN0YXRpYyBOU0RhdGEgKmR1bXBBdWRpbygpCiB7CiAgICAgY29uc3QgdmVjdG9yPGNo
YXI+JiBkYXRhVmVjdG9yID0gZ1Rlc3RSdW5uZXItPmF1ZGlvUmVzdWx0KCk7Ci0gICAgCisKICAg
ICBOU0RhdGEgKmRhdGEgPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6ZGF0YVZlY3Rvci5kYXRhKCkg
bGVuZ3RoOmRhdGFWZWN0b3Iuc2l6ZSgpXTsKICAgICByZXR1cm4gZGF0YTsKIH0KQEAgLTE0MTks
MTMgKzE0MTcsMTMgQEAgc3RhdGljIHZvaWQgZHVtcEhpc3RvcnlJdGVtKFdlYkhpc3RvcnlJdGVt
ICppdGVtLCBpbnQgaW5kZW50LCBCT09MIGN1cnJlbnQpCiAgICAgfQogICAgIGZvciAoaW50IGkg
PSBzdGFydDsgaSA8IGluZGVudDsgaSsrKQogICAgICAgICBwdXRjaGFyKCcgJyk7Ci0gICAgCisK
ICAgICBOU1N0cmluZyAqdXJsU3RyaW5nID0gW2l0ZW0gVVJMU3RyaW5nXTsKICAgICBpZiAoW1tO
U1VSTCBVUkxXaXRoU3RyaW5nOnVybFN0cmluZ10gaXNGaWxlVVJMXSkgewogICAgICAgICBOU1Jh
bmdlIHJhbmdlID0gW3VybFN0cmluZyByYW5nZU9mU3RyaW5nOkAiL0xheW91dFRlc3RzLyJdOwog
ICAgICAgICB1cmxTdHJpbmcgPSBbQCIoZmlsZSB0ZXN0KToiIHN0cmluZ0J5QXBwZW5kaW5nU3Ry
aW5nOlt1cmxTdHJpbmcgc3Vic3RyaW5nRnJvbUluZGV4OihyYW5nZS5sZW5ndGggKyByYW5nZS5s
b2NhdGlvbildXTsKICAgICB9Ci0gICAgCisKICAgICBwcmludGYoIiVzIiwgW3VybFN0cmluZyBV
VEY4U3RyaW5nXSk7CiAgICAgTlNTdHJpbmcgKnRhcmdldCA9IFtpdGVtIHRhcmdldF07CiAgICAg
aWYgKHRhcmdldCAmJiBbdGFyZ2V0IGxlbmd0aF0gPiAwKQpAQCAtMTU1MCw3ICsxNTQ4LDcgQEAg
c3RhdGljIHZvaWQgZHVtcEJhY2tGb3J3YXJkTGlzdEZvcldlYlZpZXcoV2ViVmlldyAqdmlldykK
ICAgICAgICAgYXNzZXJ0KGl0ZW0gIT0gcHJldlRlc3RCRkl0ZW0pOwogICAgICAgICBbaXRlbXNU
b1ByaW50IGFkZE9iamVjdDppdGVtXTsKICAgICB9Ci0gICAgICAgICAgICAKKwogICAgIGFzc2Vy
dChbYmZMaXN0IGN1cnJlbnRJdGVtXSAhPSBwcmV2VGVzdEJGSXRlbSk7CiAgICAgW2l0ZW1zVG9Q
cmludCBhZGRPYmplY3Q6W2JmTGlzdCBjdXJyZW50SXRlbV1dOwogICAgIGludCBjdXJyZW50SXRl
bUluZGV4ID0gW2l0ZW1zVG9QcmludCBjb3VudF0gLSAxOwpAQCAtMTgwOSw5ICsxODA3LDEwIEBA
IHN0YXRpYyB2b2lkIHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhj
b25zdCBUZXN0T3B0aW9ucyYgb3B0aW9uCiAgICAgW3dlYlZpZXcgc2V0VHJhY2tzUmVwYWludHM6
Tk9dOwogCiAgICAgW1dlYkNhY2hlIGNsZWFyQ2FjaGVkQ3JlZGVudGlhbHNdOwotICAgIAorCiAg
ICAgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygpOwogICAgIHNldFdlYlBy
ZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMob3B0aW9ucyk7CisgICAgW3dlYlZpZXcgc2V0V2FudHNM
YXllcjpvcHRpb25zLmxheWVyQmFja2VkV2ViVmlld107CiAKICAgICBUZXN0UnVubmVyOjpzZXRT
ZXJpYWxpemVIVFRQTG9hZHMoZmFsc2UpOwogICAgIFRlc3RSdW5uZXI6OnNldEFsbG93c0FueVNT
TENlcnRpZmljYXRlKGZhbHNlKTsKQEAgLTE4NDQsNyArMTg0Myw3IEBAIHN0YXRpYyB2b2lkIHJl
c2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhjb25zdCBUZXN0T3B0aW9u
cyYgb3B0aW9uCiAKICAgICBbW01vY2tHZW9sb2NhdGlvblByb3ZpZGVyIHNoYXJlZF0gc3RvcFRp
bWVyXTsKICAgICBbW01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlciBzaGFyZWRdIHJlc2V0XTsK
LSAgICAKKwogI2lmICFQTEFURk9STShJT1MpCiAgICAgLy8gQ2xlYXIgdGhlIGNvbnRlbnRzIG9m
IHRoZSBnZW5lcmFsIHBhc3RlYm9hcmQKICAgICBbW05TUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVi
b2FyZF0gZGVjbGFyZVR5cGVzOltOU0FycmF5IGFycmF5V2l0aE9iamVjdDpOU1N0cmluZ1Bib2Fy
ZFR5cGVdIG93bmVyOm5pbF07CkBAIC0xODc4LDcgKzE4NzcsNyBAQCBzdGF0aWMgdm9pZCBXZWJU
aHJlYWRMb2NrQWZ0ZXJEZWxlZ2F0ZUNhbGxiYWNrc0hhdmVDb21wbGV0ZWQoKQogICAgIH0KIAog
ICAgIFdlYlRocmVhZExvY2soKTsKLSAgICAKKwogICAgIGRpc3BhdGNoX3JlbGVhc2UoZGVsZWdh
dGVTZW1hcGhvcmUpOwogfQogI2VuZGlmCkBAIC0xOTQ4LDYgKzE5NDcsMTQgQEAgc3RhdGljIHZv
aWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIGlucHV0TGluZSkKICAgICBXS1NldENyYXNoUmVwb3J0
QXBwbGljYXRpb25TcGVjaWZpY0luZm9ybWF0aW9uKChDRlN0cmluZ1JlZilpbmZvcm1hdGlvblN0
cmluZyk7CiAKICAgICBUZXN0T3B0aW9ucyBvcHRpb25zKHVybCwgY29tbWFuZCk7CisgICAgaWYg
KCFtYWluRnJhbWVUZXN0T3B0aW9ucyB8fCAhb3B0aW9ucy53ZWJWaWV3Q29tcGF0aWJsZShtYWlu
RnJhbWVUZXN0T3B0aW9ucy52YWx1ZSgpKSkgeworICAgICAgICBpZiAobWFpbkZyYW1lKQorICAg
ICAgICAgICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coW21haW5GcmFtZSB3ZWJW
aWV3XSk7CisgICAgICAgIFdlYlZpZXcgKnByaXN0aW5lV2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdB
bmRPZmZzY3JlZW5XaW5kb3coKTsKKyAgICAgICAgbWFpbkZyYW1lID0gW3ByaXN0aW5lV2ViVmll
dyBtYWluRnJhbWVdOworICAgIH0KKyAgICBtYWluRnJhbWVUZXN0T3B0aW9ucyA9IG9wdGlvbnM7
CisKICAgICByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3Rpbmcob3B0aW9u
cyk7CiAKICAgICBjb25zdCBjaGFyKiB0ZXN0VVJMKFtbdXJsIGFic29sdXRlU3RyaW5nXSBVVEY4
U3RyaW5nXSk7CkBAIC0yMDU1LDcgKzIwNjIsNyBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0
IHN0cmluZyYgaW5wdXRMaW5lKQogICAgICAgICAgICAgLy8gRG9uJ3QgdHJ5IHRvIGNsb3NlIHRo
ZSBtYWluIHdpbmRvdwogICAgICAgICAgICAgaWYgKHdpbmRvdyA9PSBbW21haW5GcmFtZSB3ZWJW
aWV3XSB3aW5kb3ddKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgCisK
ICNpZiAhUExBVEZPUk0oSU9TKQogICAgICAgICAgICAgV2ViVmlldyAqd2ViVmlldyA9IFtbW3dp
bmRvdyBjb250ZW50Vmlld10gc3Vidmlld3NdIG9iamVjdEF0SW5kZXg6MF07CiAjZWxzZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdiZDBhZWY2NGY3OTQ3ZmNlMjNmZjQyODFjZTQ5YjVlNmE2Y2FmNjUuLjY2N2RlODAwMzc1
ZWRmYTBmMWMzNzYwMTdhMDBiZDM4MDBjNDE2ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
Ny0wNS0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSzFdIGlmcmFtZXMgaW4gbGF5ZXItYmFja2VkIE5TVmlld3MgYXJlIG5vdCBjbGVhcmVk
IGJldHdlZW4gc3VjY2Vzc2l2ZSBkcmF3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2F1c2UgdHdvIHN1Y2Nlc3NpdmUgcGFpbnRzLCBhbmQgY29tcGFy
ZSBpdCBhZ2FpbnN0IDAgcGFpbnRzLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvaWZyYW1lLXRy
YW5zbHVjZW50LWJhY2tncm91bmQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbDogQWRkZWQuCisKIDIw
MTctMDUtMjIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENy
YXNoIGluIFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6ZmluZEtleWZyYW1lSW5kZXgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNr
Z3JvdW5kLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJh
bnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNDkzOGRhOWIx
YmRmZDdkOWZiOGU3MDRiNTMxNDhlMThmODk4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpZnJhbWVzIHdpdGgg
dHJhbnNsdWNlbnQgYmFja2dyb3VuZHMgYXJlIGRyYXduIHdpdGggdGhvc2UgYmFja2dyb3VuZCAo
YW5kIG5vdCBqdXN0IGFzIGJsYWNrKS4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBkb24ndCBzZWUg
YW55IGJsYWNrIGJveGVzIGJlbG93IGFuZCB0aGUgdGV4dCBoYXMgY29ycmVjdCBhbnRpYWxpYXNp
bmcuPC9wPgorPGRpdiBzdHlsZT0iYm9yZGVyOiAwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAy
MDBweDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAxMjgsIDAuMjUpOyI+SGVsbG8gV29y
bGQgPGEgaHJlZj0naHR0cDovL3d3dy5hcHBsZS5jb20vJz5saW5rPC9hPiBoZXJlLjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9p
ZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmI0Zjkx
YTIzNzhjODA4MGJhMGEyZTcyN2U5YWNjNTUyNDQwNWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbApA
QCAtMCwwICsxLDQxIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGxheWVyQmFja2VkV2Vi
Vmlldz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaWZyYW1lcyB3aXRoIHRyYW5z
bHVjZW50IGJhY2tncm91bmRzIGFyZSBkcmF3biB3aXRoIHRob3NlIGJhY2tncm91bmQgKGFuZCBu
b3QganVzdCBhcyBibGFjaykuIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3UgZG9uJ3Qgc2VlIGFueSBi
bGFjayBib3hlcyBiZWxvdyBhbmQgdGhlIHRleHQgaGFzIGNvcnJlY3QgYW50aWFsaWFzaW5nLjwv
cD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CitmdW5jdGlvbiBiKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxkaXYgc3R5
bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPgorPGlm
cmFtZSBzdHlsZT0iYm9yZGVyOiAwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsiIHNy
Y2RvYz0iPCFET0NUWVBFIGh0bWw+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAg
ICA8L2hlYWQ+CisgICAgICAgIDxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAs
IDAsIDEyOCwgMC4yNSk7IG1hcmdpbjogMHB4Oyc+CisgICAgICAgICAgICA8ZGl2IGlkPSd0YXJn
ZXQnPkhlbGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4g
aGVyZS48L2Rpdj4KKyAgICAgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAgICAgd2luZG93
LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAgICAgICAgICAgICAgICAg
IHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgICAgICAgICAgICAg
IHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0YXJnZXQpOworICAgICAgICAgICAgICAgICAgICB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOworICAgICAgICAgICAgICAgICAg
ICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHdpbmRvdy5wYXJlbnQuYigpOworICAgICAgICAgICAgICAgICAgICB9LCAwKTsK
KyAgICAgICAgICAgICAgICB9LCAwKTsKKyAgICAgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
L2JvZHk+CisgICAgPC9odG1sPiI+PC9pZnJhbWU+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiBy
ZWQ7IHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDYw
MHB4KSByb3RhdGVZKC01MGRlZyk7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsiPkhlbGxv
LCBXb3JsZDwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311300</attachid>
            <date>2017-05-25 15:16:08 -0700</date>
            <delta_ts>2017-05-25 15:18:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172554-20170525151614.patch</filename>
            <type>text/plain</type>
            <size>20667</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uMGEzZWJhOTIwMjNhYTc1MTY3NjMwOWNm
N2IyMGRjNmZiOTkwZTYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3
LTA1LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMV0gaWZyYW1lcyBpbiBsYXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQg
YmV0d2VlbiBzdWNjZXNzaXZlIGRyYXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxMjQ3MTMz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBhbiBvdmVycmlkZGVuIGludGVybmFsIEFwcEtpdCBmdW5jdGlvbiB0byB0aGUgbmV3IHNpZ25h
dHVyZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dl
YkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0
OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOgorICAgICAgICAoLVtXZWJIVE1MVmll
dyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250ZXh0
OkNHQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3JlY3Vyc2l2ZTpkaXNw
bGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6dG9wVmll
dzpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6XSk6CisgICAgICAgICgtW1dlYkhUTUxW
aWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnRvcFZp
ZXc6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0NvbnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0pOiBEZWxldGVkLgorCiAyMDE3LTA1LTE4
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYklETF0gUmVtb3Zl
IHRoZSBuZWVkIGZvciB0aGUgZ2VuZXJhdG9yIHRvIGtub3cgYWJvdXQgbmF0aXZlIHR5cGUgbWFw
cGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggNWQ1NWFi
MTNiYTc0Y2I3ZjFiZmVjYjc5MTg2NzAzMjAzZjJjZDA3Yi4uZmJkNzJlNDZhNDA2MTRlZTVmYTg0
ODAzZTE2Zjk5NTUzN2JkMTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCkBAIC02ODQsMTAgKzY4NCwxNSBAQCBleHRlcm4gTlNTdHJpbmcgKk5TVGV4dElucHV0
UmVwbGFjZW1lbnRSYW5nZUF0dHJpYnV0ZU5hbWU7CiBAaW50ZXJmYWNlIE5TVmlldyAoV2ViTlNW
aWV3RGV0YWlscykKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlSZWN0SWZOZWVkZWRJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClyZWN0IGlzVmlzaWJsZVJlY3Q6KEJPT0wpaXNWaXNpYmxlUmVjdCBy
ZWN0SXNWaXNpYmxlUmVjdEZvclZpZXc6KE5TVmlldyAqKXZpc2libGVWaWV3IHRvcFZpZXc6KEJP
T0wpdG9wVmlldzsKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9j
dXM6KEJPT0wpbmVlZHNMb2NrRm9jdXMgdmlzUmVjdDooTlNSZWN0KXZpc1JlY3Q7Ci0jaWYgIVBM
QVRGT1JNKElPUykKKyNpZiBQTEFURk9STShNQUMpCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlIGRp
c3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9y
OihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKKy0gKHZvaWQpX3JlY3Vyc2l2
ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3Bs
YXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29u
dGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJlZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKKyNlbHNlCiAtICh2
b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eToo
TlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0
IHRvcFZpZXc6KEJPT0wpdG9wVmlldzsKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKICNl
bmRpZgorI2VuZGlmCiAtIChOU1JlY3QpX2RpcnR5UmVjdDsKIC0gKHZvaWQpX3NldERyYXdzT3du
RGVzY2VuZGFudHM6KEJPT0wpZHJhd3NPd25EZXNjZW5kYW50czsKIC0gKEJPT0wpX2RyYXduQnlB
bmNlc3RvcjsKQEAgLTE4MzYsMTUgKzE4NDEsMjcgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IK
IH0KIAogLy8gRG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2Fy
ZSBvZiB0aGF0LgorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilj
b250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3IKKyNlbHNlCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJz
ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4
dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHRvcFZpZXc6KEJPT0wpdG9wVmlldworI2Vu
ZGlmCiB7CiAgICAgW3NlbGYgX3NldEFzaWRlU3Vidmlld3NdOworI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJz
ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkNvbnRleHQ6Y29udGV4
dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbHNlCiAgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzZSBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkNvbnRleHQ6Y29udGV4dCB0b3BWaWV3OnRv
cFZpZXddOworI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3c107CiB9CiAKIC8vIERv
bid0IGxldCBBcHBLaXQgZXZlbiBkcmF3IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4K
KyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1Jl
Y3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3Jh
cGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0eCBzaG91bGRDaGFuZ2VGb250
UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxz
ZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3JhcGhpY3ND
b250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0eCB0b3BW
aWV3OihCT09MKWlzVG9wVmlldyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wp
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZW5kaWYKIHsKICAgICBCT09MIGRpZFNl
dEFzaWRlU3Vidmlld3MgPSBOTzsKIApAQCAtMTg1Myw3ICsxODcwLDExIEBAIC0gKHZvaWQpX3Jl
Y3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0
KWRpc3BsYXlSZWN0CiAgICAgICAgIGRpZFNldEFzaWRlU3Vidmlld3MgPSBZRVM7CiAgICAgfQog
ICAgIAorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAg
W3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlz
cGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6Z3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDpjdHgg
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VD
b2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlSZWN0
SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNzQ29u
dGV4dCBDR0NvbnRleHQ6Y3R4IHRvcFZpZXc6aXNUb3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZl
cmVuY2VDb2xvcjpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2VuZGlmCiAKICAg
ICBpZiAoZGlkU2V0QXNpZGVTdWJ2aWV3cykKICAgICAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3
c107CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZjE5YTgyMjA4YTU5NjFkMzRmMDVkYzUwMzEyYTExNjdhMDRlMzQwNS4uOWFjNjdiYTc4MjViZTI3
ZTI5OGVmMWM1ZDgwN2JhOTNlN2JkMzBiMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTA1LTI1ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMV0gaWZyYW1l
cyBpbiBsYXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQgYmV0d2VlbiBzdWNjZXNz
aXZlIGRyYXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxMjQ3MTMzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHksIHRoZXJlIHdh
cyBubyB3YXkgdG8gbWFrZSBEdW1wUmVuZGVyVHJlZSdzIHZpZXdzIGxheWVyLWJhY2tlZC4gVW5m
b3J0dW5hdGVseSwKKyAgICAgICAgc2ltcGx5IHNldHRpbmcgW1dlYlZpZXcgc2V0V2FudHNMYXll
cjpdIGlzIGluc3VmZmljaWVudDsgdHVybmluZyBpdCBvbiBhbmQgdGhlbiBvZmYgYWdhaW4KKyAg
ICAgICAgbGVhdmVzIHNvbWUgc3RhdGUgYXJvdW5kIGluc2lkZSB0aGUgTlNXaW5kb3cgd2hpY2gg
aXNuJ3QgZWFzaWx5IGNsZWFuZWQgdXAuIEluc3RlYWQsCisgICAgICAgIHdlIHNob3VsZCBqdXN0
IHRlYXIgZG93biBhbmQgcmVidWlsZCB0aGUgd2luZG93IHdoZW5ldmVyIHdlIG5lZWQgYSBsYXll
ci1iYWNrZWQgV2ViVmlldy4KKyAgICAgICAgV2UgY2FuIGFsc28gdXNlIHRoZSAid2Via2l0LXRl
c3QtcnVubmVyIiBoZWFkZXIgY29tbWVudCB0byB0cmlnZ2VyIHRoaXMgbmV3IGxheWVyLWJhY2tl
ZAorICAgICAgICBjb2RlcGF0aC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW06CisgICAgICAg
IChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMpOgorICAgICAgICAoVGVzdE9wdGlvbnM6OndlYlZp
ZXdDb21wYXRpYmxlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW06CisgICAgICAgIChzaG91bGRJZ25vcmVXZWJDb3JlTm9kZUxlYWtzKToKKyAgICAgICAg
KGFsbG93ZWRGb250RmFtaWx5U2V0KToKKyAgICAgICAgKC1bRFJUTW9ja1Njcm9sbGVyIHJlY3RG
b3JQYXJ0Ol0pOgorICAgICAgICAoLVtEUlRNb2NrU2Nyb2xsZXIgZHJhd0tub2JdKToKKyAgICAg
ICAgKC1bRFJUTW9ja1Njcm9sbGVyIGRyYXdSZWN0Ol0pOgorICAgICAgICAoY3JlYXRlV2ViVmll
d0FuZE9mZnNjcmVlbldpbmRvdyk6CisgICAgICAgIChpbml0aWFsaXplR2xvYmFsc0Zyb21Db21t
YW5kTGluZU9wdGlvbnMpOgorICAgICAgICAocHJlcGFyZUNvbnNpc3RlbnRUZXN0aW5nRW52aXJv
bm1lbnQpOgorICAgICAgICAoZHVtcFJlbmRlclRyZWUpOgorICAgICAgICAoZHVtcEF1ZGlvKToK
KyAgICAgICAgKGR1bXBIaXN0b3J5SXRlbSk6CisgICAgICAgIChkdW1wQmFja0ZvcndhcmRMaXN0
Rm9yV2ViVmlldyk6CisgICAgICAgIChyZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9y
ZVRlc3RpbmcpOgorICAgICAgICAoV2ViVGhyZWFkTG9ja0FmdGVyRGVsZWdhdGVDYWxsYmFja3NI
YXZlQ29tcGxldGVkKToKKyAgICAgICAgKHJ1blRlc3QpOgorCiAyMDE3LTA1LTIyICB5b3Vlbm4g
ZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMgd2ViLXBsYXRmb3Jt
LXRlc3RzIHVwIHRvIDhkZjdjOWMyMTU2NzgzMjgyMTJmMjMyY2UwYjUyNzBjNTA1YTg1NjMKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCmluZGV4IDZjOWE1NmNjODRiMWIzZWI0NGE2NjlkNzRi
MGUwMmVmM2RlZGUxMGEuLmFjMWFjNzA5N2NiNTc2ZDlhN2YzMWI4ZDAwNDZmODRjY2U4NTQ4YmUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaApAQCAtMzQsNiArMzQsOCBAQCBzdHJ1Y3Qg
VGVzdE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlUG9pbnRlckxvY2sgeyBmYWxzZSB9OwogICAg
IGJvb2wgZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5h
YmxlRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCB7IGZhbHNlIH07CisgICAgYm9vbCBsYXllckJh
Y2tlZFdlYlZpZXcgeyBmYWxzZSB9OwogCiAgICAgVGVzdE9wdGlvbnMoTlNVUkwqLCBjb25zdCBU
ZXN0Q29tbWFuZCYpOworICAgIGJvb2wgd2ViVmlld0NvbXBhdGlibGUoY29uc3QgVGVzdE9wdGlv
bnMmKSBjb25zdDsKIH07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0
aW9ucy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLm1tCmluZGV4IGI1YmYx
MzA5N2E2OWJkMWI3N2UxMDdhYzNiYTAwY2ZkODdjN2Y2NmMuLjA4MGYwY2E4NjdjMmZjODlmZTEy
MmQ0ZjExMWZiMmZlYjkyNjcwODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLm1tCkBA
IC05MCw2ICs5MCwxMyBAQCBUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMoTlNVUkwgKnRlc3RVUkws
IGNvbnN0IFRlc3RDb21tYW5kJiBjb21tYW5kKQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxlQ3Jl
ZGVudGlhbE1hbmFnZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwog
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZURyYWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQi
KQogICAgICAgICAgICAgdGhpcy0+ZW5hYmxlRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCA9IHBh
cnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9
PSAibGF5ZXJCYWNrZWRXZWJWaWV3IikKKyAgICAgICAgICAgIHRoaXMtPmxheWVyQmFja2VkV2Vi
VmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJT
dGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KKworYm9vbCBUZXN0T3B0aW9uczo6d2ViVmll
d0NvbXBhdGlibGUoY29uc3QgVGVzdE9wdGlvbnMmIG90aGVyKSBjb25zdAoreworICAgIHJldHVy
biBvdGhlci5sYXllckJhY2tlZFdlYlZpZXcgPT0gbGF5ZXJCYWNrZWRXZWJWaWV3OworfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGI0ZTY4NzY3MGM3
OTAxNGQ5NGMxYmQ0ZTk1YjRhMzc4OWU1OTI2YjAuLjc1YzEzZTI1YmY4NDU0YTc4NzM3NzliMDFj
MzhhZTViNTQxYjdkODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KQEAgLTE4MCw2ICsxODAsNyBAQCB2b2xhdGlsZSBib29sIGRvbmU7CiBOYXZpZ2F0aW9u
Q29udHJvbGxlciogZ05hdmlnYXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKIFJlZlB0cjxUZXN0
UnVubmVyPiBnVGVzdFJ1bm5lcjsKIAorc3RkOjpvcHRpb25hbDxUZXN0T3B0aW9ucz4gbWFpbkZy
YW1lVGVzdE9wdGlvbnM7CiBXZWJGcmFtZSAqbWFpbkZyYW1lID0gbmlsOwogLy8gVGhpcyBpcyB0
aGUgdG9wbW9zdCBmcmFtZSB0aGF0IGlzIGxvYWRpbmcsIGR1cmluZyBhIGdpdmVuIGxvYWQsIG9y
IG5pbCB3aGVuIG5vIGxvYWQgaXMgCiAvLyBpbiBwcm9ncmVzcy4gIFVzdWFsbHkgdGhpcyBpcyB0
aGUgc2FtZSBhcyB0aGUgbWFpbiBmcmFtZSwgYnV0IG5vdCBhbHdheXMuICBJbiB0aGUgY2FzZQpA
QCAtMjkwLDcgKzI5MSw3IEBAIHN0YXRpYyBib29sIHNob3VsZElnbm9yZVdlYkNvcmVOb2RlTGVh
a3MoY29uc3Qgc3RyaW5nJiBVUkxTdHJpbmcpCiAgICAgICAgIC8vIEtlZXBpbmcgdGhpcyBpbmZy
YXN0cnVjdHVyZSBhcm91bmQgaW4gY2FzZSB3ZSBldmVyIG5lZWQgaXQgYWdhaW4uCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3QgaW50IGlnbm9yZVNldENvdW50ID0gc2l6ZW9mKGlnbm9yZVNldCkg
LyBzaXplb2YoY2hhciopOwotICAgIAorCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpZ25vcmVT
ZXRDb3VudDsgaSsrKSB7CiAgICAgICAgIC8vIEZJWE1FOiBpZ25vcmUgY2FzZQogICAgICAgICBz
dHJpbmcgY3VySWdub3JlKGlnbm9yZVNldFtpXSk7CkBAIC00MjUsNyArNDI2LDcgQEAgc3RhdGlj
IE5TU2V0ICphbGxvd2VkRm9udEZhbWlseVNldCgpCiAgICAgICAgIEAiWmFwZiBEaW5nYmF0cyIs
CiAgICAgICAgIEAiWmFwZmlubyIsCiAgICAgICAgIG5pbF0gcmV0YWluXTsKLSAgICAKKwogICAg
IHJldHVybiBmb250RmFtaWx5U2V0OwogfQogCkBAIC02NDcsNyArNjQ4LDcgQEAgLSAoTlNSZWN0
KXJlY3RGb3JQYXJ0OihOU1Njcm9sbGVyUGFydClwYXJ0Q29kZQogICAgIENHRmxvYXQgbWluS25v
YlNpemUgPSBpc0hvcml6b250YWwgPyBib3VuZHMuc2l6ZS5oZWlnaHQgOiBib3VuZHMuc2l6ZS53
aWR0aDsKICAgICBDR0Zsb2F0IGtub2JMZW5ndGggPSBtYXgobWluS25vYlNpemUsIHN0YXRpY19j
YXN0PENHRmxvYXQ+KHJvdW5kKHRyYWNrTGVuZ3RoICogW3NlbGYga25vYlByb3BvcnRpb25dKSkp
OwogICAgIENHRmxvYXQga25vYlBvc2l0aW9uID0gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oKHJvdW5k
KFtzZWxmIGRvdWJsZVZhbHVlXSAqICh0cmFja0xlbmd0aCAtIGtub2JMZW5ndGgpKSkpOwotICAg
IAorCiAgICAgaWYgKGlzSG9yaXpvbnRhbCkKICAgICAgICAgcmV0dXJuIE5TTWFrZVJlY3QoYm91
bmRzLm9yaWdpbi54ICsga25vYlBvc2l0aW9uLCBib3VuZHMub3JpZ2luLnksIGtub2JMZW5ndGgs
IGJvdW5kcy5zaXplLmhlaWdodCk7CiAKQEAgLTY2MCw3ICs2NjEsNyBAQCAtICh2b2lkKWRyYXdL
bm9iCiAgICAgICAgIHJldHVybjsKIAogICAgIE5TUmVjdCBrbm9iUmVjdCA9IFtzZWxmIHJlY3RG
b3JQYXJ0Ok5TU2Nyb2xsZXJLbm9iXTsKLSAgICAKKwogICAgIHN0YXRpYyBOU0NvbG9yICprbm9i
Q29sb3IgPSBbW05TQ29sb3IgY29sb3JXaXRoRGV2aWNlUmVkOjB4ODAgLyAyNTUuMCBncmVlbjow
eDgwIC8gMjU1LjAgYmx1ZToweDgwIC8gMjU1LjAgYWxwaGE6MV0gcmV0YWluXTsKICAgICBba25v
YkNvbG9yIHNldF07CiAKQEAgLTY3OCw3ICs2NzksNyBAQCAtICh2b2lkKWRyYXdSZWN0OihOU1Jl
Y3QpZGlydHlSZWN0CiAgICAgICAgIFtkaXNhYmxlZFRyYWNrQ29sb3Igc2V0XTsKIAogICAgIE5T
UmVjdEZpbGwoZGlydHlSZWN0KTsKLSAgICAKKwogICAgIFtzZWxmIGRyYXdLbm9iXTsKIH0KIApA
QCAtNzE0LDcgKzcxNSw3IEBAIFdlYlZpZXcgKmNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5k
b3coKQogICAgIFtXZWJWaWV3IHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbDpAImZlZWQiXTsKICAg
ICBbV2ViVmlldyByZWdpc3RlclVSTFNjaGVtZUFzTG9jYWw6QCJmZWVkcyJdOwogICAgIFtXZWJW
aWV3IHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbDpAImZlZWRzZWFyY2giXTsKLSAgICAKKwogI2lm
IFBMQVRGT1JNKE1BQykKICAgICBbV2ViVmlldyBfc2V0Rm9udFdoaXRlbGlzdDpmb250V2hpdGVs
aXN0KCldOwogI2VuZGlmCkBAIC03MzEsNyArNzMyLDcgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmll
d0FuZE9mZnNjcmVlbldpbmRvdygpCiAgICAgW3dlYlZpZXcgc2V0RGVmZXJzQ2FsbGJhY2tzOk5P
XTsKICAgICBbd2ViVmlldyBzZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZDpZRVNd
OwogICAgIFt3ZWJWaWV3IHNldFZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uOi0x
XTsKLSAgICAKKwogICAgIC8vIFRvIG1ha2UgdGhpbmdzIGxpa2UgY2VydGFpbiBOU1ZpZXdzLCBk
cmFnZ2luZywgYW5kIHBsdWctaW5zIHdvcmssIHB1dCB0aGUgV2ViVmlldyBhIHdpbmRvdywgYnV0
IHB1dCBpdCBvZmYtc2NyZWVuIHNvIHlvdSBkb24ndCBzZWUgaXQuCiAgICAgLy8gUHV0IGl0IGF0
IC0xMDAwMCwgLTEwMDAwIGluICJmbGlwcGVkIGNvb3JkaW5hdGVzIiwgc2luY2UgV2ViQ29yZSBh
bmQgdGhlIERPTSB1c2UgZmxpcHBlZCBjb29yZGluYXRlcy4KICAgICBOU1NjcmVlbiAqZmlyc3RT
Y3JlZW4gPSBbW05TU2NyZWVuIHNjcmVlbnNdIGZpcnN0T2JqZWN0XTsKQEAgLTc3Niw3ICs3Nzcs
NyBAQCBXZWJWaWV3ICpjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCkKIAogICAgIGFk
anVzdFdlYkRvY3VtZW50Rm9yU3RhbmRhcmRWaWV3cG9ydCh3ZWJCcm93c2VyVmlldywgc2Nyb2xs
Vmlldyk7CiAjZW5kaWYKLSAgICAKKwogI2lmICFQTEFURk9STShJT1MpCiAgICAgLy8gRm9yIHJl
YXNvbnMgdGhhdCBhcmUgbm90IGVudGlyZWx5IGNsZWFyLCB0aGUgZm9sbG93aW5nIHBhaXIgb2Yg
Y2FsbHMgbWFrZXMgV2ViVmlldyBoYW5kbGUgaXRzCiAgICAgLy8gZHluYW1pYyBzY3JvbGxiYXJz
IHByb3Blcmx5LiBXaXRob3V0IGl0LCBldmVyeSBmcmFtZSB3aWxsIGFsd2F5cyBoYXZlIHNjcm9s
bGJhcnMuCkBAIC0xMTI3LDcgKzExMjgsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplR2xvYmFs
c0Zyb21Db21tYW5kTGluZU9wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXQogICAg
ICAgICB7InByaW50LXRlc3QtY291bnQiLCBub19hcmd1bWVudCwgJnByaW50VGVzdENvdW50LCBZ
RVN9LAogICAgICAgICB7bnVsbHB0ciwgMCwgbnVsbHB0ciwgMH0KICAgICB9OwotICAgIAorCiAg
ICAgaW50IG9wdGlvbjsKICAgICB3aGlsZSAoKG9wdGlvbiA9IGdldG9wdF9sb25nKGFyZ2MsIChj
aGFyICogY29uc3QgKilhcmd2LCAiIiwgb3B0aW9ucywgbnVsbHB0cikpICE9IC0xKSB7CiAgICAg
ICAgIHN3aXRjaCAob3B0aW9uKSB7CkBAIC0xMjEwLDkgKzEyMTEsOSBAQCBzdGF0aWMgdm9pZCBw
cmVwYXJlQ29uc2lzdGVudFRlc3RpbmdFbnZpcm9ubWVudCgpCiAjZWxzZQogICAgIGFjdGl2YXRl
Rm9udHNJT1MoKTsKICNlbmRpZgotICAgIAorCiAgICAgYWxsb2NhdGVHbG9iYWxDb250cm9sbGVy
cygpOwotICAgIAorCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIE5TQWN0aXZpdHlPcHRpb25zIG9w
dGlvbnMgPSAoTlNBY3Rpdml0eVVzZXJJbml0aWF0ZWRBbGxvd2luZ0lkbGVTeXN0ZW1TbGVlcCB8
IE5TQWN0aXZpdHlMYXRlbmN5Q3JpdGljYWwpICYgfihOU0FjdGl2aXR5U3VkZGVuVGVybWluYXRp
b25EaXNhYmxlZCB8IE5TQWN0aXZpdHlBdXRvbWF0aWNUZXJtaW5hdGlvbkRpc2FibGVkKTsKICAg
ICBzdGF0aWMgaWQgYXNzZXJ0aW9uID0gW1tbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVn
aW5BY3Rpdml0eVdpdGhPcHRpb25zOm9wdGlvbnMgcmVhc29uOkAiRHVtcFJlbmRlclRyZWUgc2hv
dWxkIG5vdCBiZSBzdWJqZWN0IHRvIHByb2Nlc3Mgc3VwcHJlc3Npb24iXSByZXRhaW5dOwpAQCAt
MTI1Niw5ICsxMjU3LDYgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3QgY2hh
ciAqYXJndltdKQogICAgIFtOU1NvdW5kIF9zZXRBbGVydFR5cGU6MF07CiAjZW5kaWYKIAotICAg
IFdlYlZpZXcgKndlYlZpZXcgPSBjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCk7Ci0g
ICAgbWFpbkZyYW1lID0gW3dlYlZpZXcgbWFpbkZyYW1lXTsKLQogICAgIFtbTlNVUkxDYWNoZSBz
aGFyZWRVUkxDYWNoZV0gcmVtb3ZlQWxsQ2FjaGVkUmVzcG9uc2VzXTsKICAgICBbV2ViQ2FjaGUg
ZW1wdHldOwogCkBAIC0xMjgzLDEwICsxMjgxLDEwIEBAIHZvaWQgZHVtcFJlbmRlclRyZWUoaW50
IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKICAgICBpZiAodGhyZWFkZWQpCiAgICAgICAgIHN0
b3BKYXZhU2NyaXB0VGhyZWFkcygpOwogCi0gICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5X
aW5kb3cod2ViVmlldyk7Ci0gICAgCisgICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5k
b3coW21haW5GcmFtZSB3ZWJWaWV3XSk7CisKICAgICByZWxlYXNlR2xvYmFsQ29udHJvbGxlcnMo
KTsKLSAgICAKKwogI2lmICFQTEFURk9STShJT1MpCiAgICAgW0R1bXBSZW5kZXJUcmVlUGFzdGVi
b2FyZCByZWxlYXNlTG9jYWxQYXN0ZWJvYXJkc107CiAjZW5kaWYKQEAgLTE0MDUsNyArMTQwMyw3
IEBAIHN0YXRpYyBOU0ludGVnZXIgY29tcGFyZUhpc3RvcnlJdGVtcyhpZCBpdGVtMSwgaWQgaXRl
bTIsIHZvaWQgKmNvbnRleHQpCiBzdGF0aWMgTlNEYXRhICpkdW1wQXVkaW8oKQogewogICAgIGNv
bnN0IHZlY3RvcjxjaGFyPiYgZGF0YVZlY3RvciA9IGdUZXN0UnVubmVyLT5hdWRpb1Jlc3VsdCgp
OwotICAgIAorCiAgICAgTlNEYXRhICpkYXRhID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmRhdGFW
ZWN0b3IuZGF0YSgpIGxlbmd0aDpkYXRhVmVjdG9yLnNpemUoKV07CiAgICAgcmV0dXJuIGRhdGE7
CiB9CkBAIC0xNDE5LDEzICsxNDE3LDEzIEBAIHN0YXRpYyB2b2lkIGR1bXBIaXN0b3J5SXRlbShX
ZWJIaXN0b3J5SXRlbSAqaXRlbSwgaW50IGluZGVudCwgQk9PTCBjdXJyZW50KQogICAgIH0KICAg
ICBmb3IgKGludCBpID0gc3RhcnQ7IGkgPCBpbmRlbnQ7IGkrKykKICAgICAgICAgcHV0Y2hhcign
ICcpOwotICAgIAorCiAgICAgTlNTdHJpbmcgKnVybFN0cmluZyA9IFtpdGVtIFVSTFN0cmluZ107
CiAgICAgaWYgKFtbTlNVUkwgVVJMV2l0aFN0cmluZzp1cmxTdHJpbmddIGlzRmlsZVVSTF0pIHsK
ICAgICAgICAgTlNSYW5nZSByYW5nZSA9IFt1cmxTdHJpbmcgcmFuZ2VPZlN0cmluZzpAIi9MYXlv
dXRUZXN0cy8iXTsKICAgICAgICAgdXJsU3RyaW5nID0gW0AiKGZpbGUgdGVzdCk6IiBzdHJpbmdC
eUFwcGVuZGluZ1N0cmluZzpbdXJsU3RyaW5nIHN1YnN0cmluZ0Zyb21JbmRleDoocmFuZ2UubGVu
Z3RoICsgcmFuZ2UubG9jYXRpb24pXV07CiAgICAgfQotICAgIAorCiAgICAgcHJpbnRmKCIlcyIs
IFt1cmxTdHJpbmcgVVRGOFN0cmluZ10pOwogICAgIE5TU3RyaW5nICp0YXJnZXQgPSBbaXRlbSB0
YXJnZXRdOwogICAgIGlmICh0YXJnZXQgJiYgW3RhcmdldCBsZW5ndGhdID4gMCkKQEAgLTE1NTAs
NyArMTU0OCw3IEBAIHN0YXRpYyB2b2lkIGR1bXBCYWNrRm9yd2FyZExpc3RGb3JXZWJWaWV3KFdl
YlZpZXcgKnZpZXcpCiAgICAgICAgIGFzc2VydChpdGVtICE9IHByZXZUZXN0QkZJdGVtKTsKICAg
ICAgICAgW2l0ZW1zVG9QcmludCBhZGRPYmplY3Q6aXRlbV07CiAgICAgfQotICAgICAgICAgICAg
CisKICAgICBhc3NlcnQoW2JmTGlzdCBjdXJyZW50SXRlbV0gIT0gcHJldlRlc3RCRkl0ZW0pOwog
ICAgIFtpdGVtc1RvUHJpbnQgYWRkT2JqZWN0OltiZkxpc3QgY3VycmVudEl0ZW1dXTsKICAgICBp
bnQgY3VycmVudEl0ZW1JbmRleCA9IFtpdGVtc1RvUHJpbnQgY291bnRdIC0gMTsKQEAgLTE4MDks
OSArMTgwNywxMCBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJl
Zm9yZVRlc3RpbmcoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbgogICAgIFt3ZWJWaWV3IHNldFRy
YWNrc1JlcGFpbnRzOk5PXTsKIAogICAgIFtXZWJDYWNoZSBjbGVhckNhY2hlZENyZWRlbnRpYWxz
XTsKLSAgICAKKwogICAgIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsK
ICAgICBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKG9wdGlvbnMpOworICAgIFt3ZWJW
aWV3IHNldFdhbnRzTGF5ZXI6b3B0aW9ucy5sYXllckJhY2tlZFdlYlZpZXddOwogCiAgICAgVGVz
dFJ1bm5lcjo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKICAgICBUZXN0UnVubmVyOjpz
ZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShmYWxzZSk7CkBAIC0xODQ0LDcgKzE4NDMsNyBAQCBz
dGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY29u
c3QgVGVzdE9wdGlvbnMmIG9wdGlvbgogCiAgICAgW1tNb2NrR2VvbG9jYXRpb25Qcm92aWRlciBz
aGFyZWRdIHN0b3BUaW1lcl07CiAgICAgW1tNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIgc2hh
cmVkXSByZXNldF07Ci0gICAgCisKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIC8vIENsZWFyIHRo
ZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhbCBwYXN0ZWJvYXJkCiAgICAgW1tOU1Bhc3RlYm9hcmQg
Z2VuZXJhbFBhc3RlYm9hcmRdIGRlY2xhcmVUeXBlczpbTlNBcnJheSBhcnJheVdpdGhPYmplY3Q6
TlNTdHJpbmdQYm9hcmRUeXBlXSBvd25lcjpuaWxdOwpAQCAtMTg3OCw3ICsxODc3LDcgQEAgc3Rh
dGljIHZvaWQgV2ViVGhyZWFkTG9ja0FmdGVyRGVsZWdhdGVDYWxsYmFja3NIYXZlQ29tcGxldGVk
KCkKICAgICB9CiAKICAgICBXZWJUaHJlYWRMb2NrKCk7Ci0gICAgCisKICAgICBkaXNwYXRjaF9y
ZWxlYXNlKGRlbGVnYXRlU2VtYXBob3JlKTsKIH0KICNlbmRpZgpAQCAtMTk0OCw2ICsxOTQ3LDE0
IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiBpbnB1dExpbmUpCiAgICAgV0tT
ZXRDcmFzaFJlcG9ydEFwcGxpY2F0aW9uU3BlY2lmaWNJbmZvcm1hdGlvbigoQ0ZTdHJpbmdSZWYp
aW5mb3JtYXRpb25TdHJpbmcpOwogCiAgICAgVGVzdE9wdGlvbnMgb3B0aW9ucyh1cmwsIGNvbW1h
bmQpOworICAgIGlmICghbWFpbkZyYW1lVGVzdE9wdGlvbnMgfHwgIW9wdGlvbnMud2ViVmlld0Nv
bXBhdGlibGUobWFpbkZyYW1lVGVzdE9wdGlvbnMudmFsdWUoKSkpIHsKKyAgICAgICAgaWYgKG1h
aW5GcmFtZSkKKyAgICAgICAgICAgIGRlc3Ryb3lXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KFtt
YWluRnJhbWUgd2ViVmlld10pOworICAgICAgICBXZWJWaWV3ICpwcmlzdGluZVdlYlZpZXcgPSBj
cmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCk7CisgICAgICAgIG1haW5GcmFtZSA9IFtw
cmlzdGluZVdlYlZpZXcgbWFpbkZyYW1lXTsKKyAgICB9CisgICAgbWFpbkZyYW1lVGVzdE9wdGlv
bnMgPSBvcHRpb25zOworCiAgICAgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKG9wdGlvbnMpOwogCiAgICAgY29uc3QgY2hhciogdGVzdFVSTChbW3VybCBhYnNvbHV0
ZVN0cmluZ10gVVRGOFN0cmluZ10pOwpAQCAtMjA1NSw3ICsyMDYyLDcgQEAgc3RhdGljIHZvaWQg
cnVuVGVzdChjb25zdCBzdHJpbmcmIGlucHV0TGluZSkKICAgICAgICAgICAgIC8vIERvbid0IHRy
eSB0byBjbG9zZSB0aGUgbWFpbiB3aW5kb3cKICAgICAgICAgICAgIGlmICh3aW5kb3cgPT0gW1tt
YWluRnJhbWUgd2ViVmlld10gd2luZG93XSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIAorCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICAgICAgICAgIFdlYlZpZXcgKndl
YlZpZXcgPSBbW1t3aW5kb3cgY29udGVudFZpZXddIHN1YnZpZXdzXSBvYmplY3RBdEluZGV4OjBd
OwogI2Vsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3YmQwYWVmNjRmNzk0N2ZjZTIzZmY0MjgxY2U0OWI1ZTZhNmNhZjY1
Li5mNmM5MWNkOGYxODg4NDZlMmQzZmNhMGQ1OGYxNzlhODUzMDU3MzY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTctMDUtMjUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBbV0sxXSBpZnJhbWVzIGluIGxheWVyLWJhY2tlZCBOU1ZpZXdzIGFy
ZSBub3QgY2xlYXJlZCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgZHJhd3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU1NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzEyNDcxMzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2F1c2UgdHdvIHN1Y2Nlc3NpdmUgcGFpbnRzLCBhbmQgY29tcGFyZSBpdCBhZ2Fp
bnN0IDAgcGFpbnRzLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50
LWJhY2tncm91bmQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMv
aWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbDogQWRkZWQuCisKIDIwMTctMDUtMjIg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFdl
YkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6ZmluZEtleWZyYW1lSW5kZXgKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQt
YmFja2dyb3VuZC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNDkzOGRhOWIxYmRmZDdkOWZi
OGU3MDRiNTMxNDhlMThmODk4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9pZnJhbWUtdHJhbnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpZnJhbWVzIHdpdGggdHJhbnNsdWNl
bnQgYmFja2dyb3VuZHMgYXJlIGRyYXduIHdpdGggdGhvc2UgYmFja2dyb3VuZCAoYW5kIG5vdCBq
dXN0IGFzIGJsYWNrKS4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBkb24ndCBzZWUgYW55IGJsYWNr
IGJveGVzIGJlbG93IGFuZCB0aGUgdGV4dCBoYXMgY29ycmVjdCBhbnRpYWxpYXNpbmcuPC9wPgor
PGRpdiBzdHlsZT0iYm9yZGVyOiAwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAxMjgsIDAuMjUpOyI+SGVsbG8gV29ybGQgPGEgaHJl
Zj0naHR0cDovL3d3dy5hcHBsZS5jb20vJz5saW5rPC9hPiBoZXJlLjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJh
bnNsdWNlbnQtYmFja2dyb3VuZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1l
LXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmI0ZjkxYTIzNzhjODA4
MGJhMGEyZTcyN2U5YWNjNTUyNDQwNWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbApAQCAtMCwwICsx
LDQxIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGxheWVyQmFja2VkV2ViVmlldz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaWZyYW1lcyB3aXRoIHRyYW5zbHVjZW50IGJh
Y2tncm91bmRzIGFyZSBkcmF3biB3aXRoIHRob3NlIGJhY2tncm91bmQgKGFuZCBub3QganVzdCBh
cyBibGFjaykuIFRoZSB0ZXN0IHBhc3NlcyBpZiB5b3UgZG9uJ3Qgc2VlIGFueSBibGFjayBib3hl
cyBiZWxvdyBhbmQgdGhlIHRleHQgaGFzIGNvcnJlY3QgYW50aWFsaWFzaW5nLjwvcD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CitmdW5jdGlvbiBiKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxkaXYgc3R5bGU9IndpZHRo
OiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPgorPGlmcmFtZSBzdHls
ZT0iYm9yZGVyOiAwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsiIHNyY2RvYz0iPCFE
T0NUWVBFIGh0bWw+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICA8L2hlYWQ+
CisgICAgICAgIDxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDEyOCwg
MC4yNSk7IG1hcmdpbjogMHB4Oyc+CisgICAgICAgICAgICA8ZGl2IGlkPSd0YXJnZXQnPkhlbGxv
IFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4gaGVyZS48L2Rp
dj4KKyAgICAgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgICAgICAgICAgICAgICAgICAgIHZhciByYW5n
ZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgICAgICAgICAgICAgIHJhbmdlLnNl
bGVjdE5vZGVDb250ZW50cyh0YXJnZXQpOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOworICAgICAgICAgICAgICAgICAgICB3aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHdpbmRvdy5wYXJlbnQuYigpOworICAgICAgICAgICAgICAgICAgICB9LCAwKTsKKyAgICAgICAg
ICAgICAgICB9LCAwKTsKKyAgICAgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8L2JvZHk+Cisg
ICAgPC9odG1sPiI+PC9pZnJhbWU+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiByZWQ7IHRyYW5z
Zm9ybS1vcmlnaW46IGxlZnQgdG9wOyB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDYwMHB4KSByb3Rh
dGVZKC01MGRlZyk7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsiPkhlbGxvLCBXb3JsZDwv
ZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="review"
          id="332292"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311318</attachid>
            <date>2017-05-25 16:54:08 -0700</date>
            <delta_ts>2017-05-25 17:38:51 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-172554-20170525165414.patch</filename>
            <type>text/plain</type>
            <size>20746</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMzQxNzQwZDA5
NTc5NTY3Yzg5ZDAyZjBjNDJiMWVmZWJlZjY5YmEzZi4uMGEzZWJhOTIwMjNhYTc1MTY3NjMwOWNm
N2IyMGRjNmZiOTkwZTYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3
LTA1LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMV0gaWZyYW1lcyBpbiBsYXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQg
YmV0d2VlbiBzdWNjZXNzaXZlIGRyYXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxMjQ3MTMz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBhbiBvdmVycmlkZGVuIGludGVybmFsIEFwcEtpdCBmdW5jdGlvbiB0byB0aGUgbmV3IHNpZ25h
dHVyZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dl
YkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0
OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmluQ29udGV4dDp0b3BWaWV3Ol0pOgorICAgICAgICAoLVtXZWJIVE1MVmll
dyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluR3JhcGhpY3NDb250ZXh0
OkNHQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6X3JlY3Vyc2l2ZTpkaXNw
bGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkdyYXBoaWNzQ29udGV4dDpDR0NvbnRleHQ6dG9wVmll
dzpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6XSk6CisgICAgICAgICgtW1dlYkhUTUxW
aWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnRvcFZp
ZXc6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6aW5HcmFwaGljc0NvbnRleHQ6Q0dDb250ZXh0OnRvcFZpZXc6
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOl0pOiBEZWxldGVkLgorCiAyMDE3LTA1LTE4
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYklETF0gUmVtb3Zl
IHRoZSBuZWVkIGZvciB0aGUgZ2VuZXJhdG9yIHRvIGtub3cgYWJvdXQgbmF0aXZlIHR5cGUgbWFw
cGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggNWQ1NWFi
MTNiYTc0Y2I3ZjFiZmVjYjc5MTg2NzAzMjAzZjJjZDA3Yi4uZmJkNzJlNDZhNDA2MTRlZTVmYTg0
ODAzZTE2Zjk5NTUzN2JkMTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCkBAIC02ODQsMTAgKzY4NCwxNSBAQCBleHRlcm4gTlNTdHJpbmcgKk5TVGV4dElucHV0
UmVwbGFjZW1lbnRSYW5nZUF0dHJpYnV0ZU5hbWU7CiBAaW50ZXJmYWNlIE5TVmlldyAoV2ViTlNW
aWV3RGV0YWlscykKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlSZWN0SWZOZWVkZWRJZ25vcmlu
Z09wYWNpdHk6KE5TUmVjdClyZWN0IGlzVmlzaWJsZVJlY3Q6KEJPT0wpaXNWaXNpYmxlUmVjdCBy
ZWN0SXNWaXNpYmxlUmVjdEZvclZpZXc6KE5TVmlldyAqKXZpc2libGVWaWV3IHRvcFZpZXc6KEJP
T0wpdG9wVmlldzsKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdpdGhMb2NrRm9j
dXM6KEJPT0wpbmVlZHNMb2NrRm9jdXMgdmlzUmVjdDooTlNSZWN0KXZpc1JlY3Q7Ci0jaWYgIVBM
QVRGT1JNKElPUykKKyNpZiBQTEFURk9STShNQUMpCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKKy0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNlIGRp
c3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihO
U0dyYXBoaWNzQ29udGV4dCAqKWNvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9y
OihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKKy0gKHZvaWQpX3JlY3Vyc2l2
ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3Bs
YXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29u
dGV4dCBDR0NvbnRleHQ6KENHQ29udGV4dFJlZiljdHggc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKKyNlbHNlCiAtICh2
b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eToo
TlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0
IHRvcFZpZXc6KEJPT0wpdG9wVmlldzsKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNl
WCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluR3JhcGhp
Y3NDb250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBDR0NvbnRleHQ6
KENHQ29udGV4dFJlZiljdHggdG9wVmlldzooQk9PTClpc1RvcFZpZXcgc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yOihCT09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjsKICNl
bmRpZgorI2VuZGlmCiAtIChOU1JlY3QpX2RpcnR5UmVjdDsKIC0gKHZvaWQpX3NldERyYXdzT3du
RGVzY2VuZGFudHM6KEJPT0wpZHJhd3NPd25EZXNjZW5kYW50czsKIC0gKEJPT0wpX2RyYXduQnlB
bmNlc3RvcjsKQEAgLTE4MzYsMTUgKzE4NDEsMjcgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IK
IH0KIAogLy8gRG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2Fy
ZSBvZiB0aGF0LgorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
CistICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzZSBkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilj
b250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VG
b250UmVmZXJlbmNlQ29sb3IKKyNlbHNlCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJz
ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4
dDooTlNHcmFwaGljc0NvbnRleHQgKiljb250ZXh0IHRvcFZpZXc6KEJPT0wpdG9wVmlldworI2Vu
ZGlmCiB7CiAgICAgW3NlbGYgX3NldEFzaWRlU3Vidmlld3NdOworI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJz
ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkNvbnRleHQ6Y29udGV4
dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yXTsKKyNlbHNlCiAgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzZSBkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVjdCBpbkNvbnRleHQ6Y29udGV4dCB0b3BWaWV3OnRv
cFZpZXddOworI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3c107CiB9CiAKIC8vIERv
bid0IGxldCBBcHBLaXQgZXZlbiBkcmF3IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4K
KyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMAorLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1Jl
Y3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3Jh
cGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0eCBzaG91bGRDaGFuZ2VGb250
UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZWxz
ZQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2VYIGRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6KE5TR3JhcGhpY3ND
b250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWN0eCB0b3BW
aWV3OihCT09MKWlzVG9wVmlldyBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wp
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yCisjZW5kaWYKIHsKICAgICBCT09MIGRpZFNl
dEFzaWRlU3Vidmlld3MgPSBOTzsKIApAQCAtMTg1Myw3ICsxODcwLDExIEBAIC0gKHZvaWQpX3Jl
Y3Vyc2l2ZTooQk9PTClyZWN1cnNlWCBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0
KWRpc3BsYXlSZWN0CiAgICAgICAgIGRpZFNldEFzaWRlU3Vidmlld3MgPSBZRVM7CiAgICAgfQog
ICAgIAorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisgICAg
W3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzZVggZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlz
cGxheVJlY3QgaW5HcmFwaGljc0NvbnRleHQ6Z3JhcGhpY3NDb250ZXh0IENHQ29udGV4dDpjdHgg
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VD
b2xvcl07CisjZWxzZQogICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2VYIGRpc3BsYXlSZWN0
SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluR3JhcGhpY3NDb250ZXh0OmdyYXBoaWNzQ29u
dGV4dCBDR0NvbnRleHQ6Y3R4IHRvcFZpZXc6aXNUb3BWaWV3IHNob3VsZENoYW5nZUZvbnRSZWZl
cmVuY2VDb2xvcjpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3JdOworI2VuZGlmCiAKICAg
ICBpZiAoZGlkU2V0QXNpZGVTdWJ2aWV3cykKICAgICAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3
c107CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZjE5YTgyMjA4YTU5NjFkMzRmMDVkYzUwMzEyYTExNjdhMDRlMzQwNS4uMTgyYzE2MGRiYTA4MjM5
NTcxY2VlYmQwYjBmM2I1N2YxOGMzMDM0MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTA1LTI1ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMV0gaWZyYW1l
cyBpbiBsYXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQgYmV0d2VlbiBzdWNjZXNz
aXZlIGRyYXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxMjQ3MTMzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHksIHRoZXJlIHdh
cyBubyB3YXkgdG8gbWFrZSBEdW1wUmVuZGVyVHJlZSdzIHZpZXdzIGxheWVyLWJhY2tlZC4gVW5m
b3J0dW5hdGVseSwKKyAgICAgICAgc2ltcGx5IHNldHRpbmcgW1dlYlZpZXcgc2V0V2FudHNMYXll
cjpdIGlzIGluc3VmZmljaWVudDsgdHVybmluZyBpdCBvbiBhbmQgdGhlbiBvZmYgYWdhaW4KKyAg
ICAgICAgbGVhdmVzIHNvbWUgc3RhdGUgYXJvdW5kIGluc2lkZSB0aGUgTlNXaW5kb3cgd2hpY2gg
aXNuJ3QgZWFzaWx5IGNsZWFuZWQgdXAuIEluc3RlYWQsCisgICAgICAgIHdlIHNob3VsZCBqdXN0
IHRlYXIgZG93biBhbmQgcmVidWlsZCB0aGUgd2luZG93IHdoZW5ldmVyIHdlIG5lZWQgYSBsYXll
ci1iYWNrZWQgV2ViVmlldy4KKyAgICAgICAgV2UgY2FuIGFsc28gdXNlIHRoZSAid2Via2l0LXRl
c3QtcnVubmVyIiBoZWFkZXIgY29tbWVudCB0byB0cmlnZ2VyIHRoaXMgbmV3IGxheWVyLWJhY2tl
ZAorICAgICAgICBjb2RlcGF0aC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW06CisgICAgICAg
IChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMpOgorICAgICAgICAoVGVzdE9wdGlvbnM6OndlYlZp
ZXdJc0NvbXBhdGlibGVXaXRoT3B0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2hvdWxkSWdub3JlV2ViQ29yZU5vZGVMZWFr
cyk6CisgICAgICAgIChhbGxvd2VkRm9udEZhbWlseVNldCk6CisgICAgICAgICgtW0RSVE1vY2tT
Y3JvbGxlciByZWN0Rm9yUGFydDpdKToKKyAgICAgICAgKC1bRFJUTW9ja1Njcm9sbGVyIGRyYXdL
bm9iXSk6CisgICAgICAgICgtW0RSVE1vY2tTY3JvbGxlciBkcmF3UmVjdDpdKToKKyAgICAgICAg
KGNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3cpOgorICAgICAgICAoaW5pdGlhbGl6ZUds
b2JhbHNGcm9tQ29tbWFuZExpbmVPcHRpb25zKToKKyAgICAgICAgKHByZXBhcmVDb25zaXN0ZW50
VGVzdGluZ0Vudmlyb25tZW50KToKKyAgICAgICAgKGR1bXBSZW5kZXJUcmVlKToKKyAgICAgICAg
KGR1bXBBdWRpbyk6CisgICAgICAgIChkdW1wSGlzdG9yeUl0ZW0pOgorICAgICAgICAoZHVtcEJh
Y2tGb3J3YXJkTGlzdEZvcldlYlZpZXcpOgorICAgICAgICAocmVzZXRXZWJWaWV3VG9Db25zaXN0
ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKFdlYlRocmVhZExvY2tBZnRlckRlbGVn
YXRlQ2FsbGJhY2tzSGF2ZUNvbXBsZXRlZCk6CisgICAgICAgIChydW5UZXN0KToKKwogMjAxNy0w
NS0yMiAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5j
IHdlYi1wbGF0Zm9ybS10ZXN0cyB1cCB0byA4ZGY3YzljMjE1Njc4MzI4MjEyZjIzMmNlMGI1Mjcw
YzUwNWE4NTYzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAppbmRleCA2YzlhNTZjYzg0YjFi
M2ViNDRhNjY5ZDc0YjBlMDJlZjNkZWRlMTBhLi4yZjBmYzY0OTNlNjNlYTg4NDBhZWY1ZmFmYmI0
Mzk5OTYxNTlmOTFiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKQEAgLTM0LDYgKzM0
LDggQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIGVuYWJsZVBvaW50ZXJMb2NrIHsg
ZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUNyZWRlbnRpYWxNYW5hZ2VtZW50IHsgZmFsc2UgfTsK
ICAgICBib29sIGVuYWJsZURyYWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQgeyBmYWxzZSB9OworICAg
IGJvb2wgbGF5ZXJCYWNrZWRXZWJWaWV3IHsgZmFsc2UgfTsKIAogICAgIFRlc3RPcHRpb25zKE5T
VVJMKiwgY29uc3QgVGVzdENvbW1hbmQmKTsKKyAgICBib29sIHdlYlZpZXdJc0NvbXBhdGlibGVX
aXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYpIGNvbnN0OwogfTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdE9wdGlvbnMubW0KaW5kZXggYjViZjEzMDk3YTY5YmQxYjc3ZTEwN2FjM2JhMDBjZmQ4N2M3
ZjY2Yy4uNDJkOThmNDIzOThjYjBmMjQ5ZjkwMWU0NTE5Yzg5YzcxNmQ4MDlmOSAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE9wdGlvbnMubW0KQEAgLTkwLDYgKzkwLDEzIEBAIFRlc3RPcHRpb25zOjpU
ZXN0T3B0aW9ucyhOU1VSTCAqdGVzdFVSTCwgY29uc3QgVGVzdENvbW1hbmQmIGNvbW1hbmQpCiAg
ICAgICAgICAgICB0aGlzLT5lbmFibGVDcmVkZW50aWFsTWFuYWdlbWVudCA9IHBhcnNlQm9vbGVh
blRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiZW5hYmxl
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZCIpCiAgICAgICAgICAgICB0aGlzLT5lbmFibGVEcmFn
RGVzdGluYXRpb25BY3Rpb25Mb2FkID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVl
KTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJsYXllckJhY2tlZFdlYlZpZXciKQorICAgICAg
ICAgICAgdGhpcy0+bGF5ZXJCYWNrZWRXZWJWaWV3ID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZh
bHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQor
Citib29sIFRlc3RPcHRpb25zOjp3ZWJWaWV3SXNDb21wYXRpYmxlV2l0aE9wdGlvbnMoY29uc3Qg
VGVzdE9wdGlvbnMmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBvdGhlci5sYXllckJhY2tl
ZFdlYlZpZXcgPT0gbGF5ZXJCYWNrZWRXZWJWaWV3OworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGI0ZTY4NzY3MGM3OTAxNGQ5NGMxYmQ0ZTk1YjRh
Mzc4OWU1OTI2YjAuLjNlM2ZiZDRiZjRhMmRkNDFjOGUwMTNlZGE1NmE2MzVmMGFiMDI2MTEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTE4MCw2ICsx
ODAsNyBAQCB2b2xhdGlsZSBib29sIGRvbmU7CiBOYXZpZ2F0aW9uQ29udHJvbGxlciogZ05hdmln
YXRpb25Db250cm9sbGVyID0gbnVsbHB0cjsKIFJlZlB0cjxUZXN0UnVubmVyPiBnVGVzdFJ1bm5l
cjsKIAorc3RkOjpvcHRpb25hbDxUZXN0T3B0aW9ucz4gbWFpbkZyYW1lVGVzdE9wdGlvbnM7CiBX
ZWJGcmFtZSAqbWFpbkZyYW1lID0gbmlsOwogLy8gVGhpcyBpcyB0aGUgdG9wbW9zdCBmcmFtZSB0
aGF0IGlzIGxvYWRpbmcsIGR1cmluZyBhIGdpdmVuIGxvYWQsIG9yIG5pbCB3aGVuIG5vIGxvYWQg
aXMgCiAvLyBpbiBwcm9ncmVzcy4gIFVzdWFsbHkgdGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUgbWFp
biBmcmFtZSwgYnV0IG5vdCBhbHdheXMuICBJbiB0aGUgY2FzZQpAQCAtMjkwLDcgKzI5MSw3IEBA
IHN0YXRpYyBib29sIHNob3VsZElnbm9yZVdlYkNvcmVOb2RlTGVha3MoY29uc3Qgc3RyaW5nJiBV
UkxTdHJpbmcpCiAgICAgICAgIC8vIEtlZXBpbmcgdGhpcyBpbmZyYXN0cnVjdHVyZSBhcm91bmQg
aW4gY2FzZSB3ZSBldmVyIG5lZWQgaXQgYWdhaW4uCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3Qg
aW50IGlnbm9yZVNldENvdW50ID0gc2l6ZW9mKGlnbm9yZVNldCkgLyBzaXplb2YoY2hhciopOwot
ICAgIAorCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpZ25vcmVTZXRDb3VudDsgaSsrKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBpZ25vcmUgY2FzZQogICAgICAgICBzdHJpbmcgY3VySWdub3JlKGln
bm9yZVNldFtpXSk7CkBAIC00MjUsNyArNDI2LDcgQEAgc3RhdGljIE5TU2V0ICphbGxvd2VkRm9u
dEZhbWlseVNldCgpCiAgICAgICAgIEAiWmFwZiBEaW5nYmF0cyIsCiAgICAgICAgIEAiWmFwZmlu
byIsCiAgICAgICAgIG5pbF0gcmV0YWluXTsKLSAgICAKKwogICAgIHJldHVybiBmb250RmFtaWx5
U2V0OwogfQogCkBAIC02NDcsNyArNjQ4LDcgQEAgLSAoTlNSZWN0KXJlY3RGb3JQYXJ0OihOU1Nj
cm9sbGVyUGFydClwYXJ0Q29kZQogICAgIENHRmxvYXQgbWluS25vYlNpemUgPSBpc0hvcml6b250
YWwgPyBib3VuZHMuc2l6ZS5oZWlnaHQgOiBib3VuZHMuc2l6ZS53aWR0aDsKICAgICBDR0Zsb2F0
IGtub2JMZW5ndGggPSBtYXgobWluS25vYlNpemUsIHN0YXRpY19jYXN0PENHRmxvYXQ+KHJvdW5k
KHRyYWNrTGVuZ3RoICogW3NlbGYga25vYlByb3BvcnRpb25dKSkpOwogICAgIENHRmxvYXQga25v
YlBvc2l0aW9uID0gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oKHJvdW5kKFtzZWxmIGRvdWJsZVZhbHVl
XSAqICh0cmFja0xlbmd0aCAtIGtub2JMZW5ndGgpKSkpOwotICAgIAorCiAgICAgaWYgKGlzSG9y
aXpvbnRhbCkKICAgICAgICAgcmV0dXJuIE5TTWFrZVJlY3QoYm91bmRzLm9yaWdpbi54ICsga25v
YlBvc2l0aW9uLCBib3VuZHMub3JpZ2luLnksIGtub2JMZW5ndGgsIGJvdW5kcy5zaXplLmhlaWdo
dCk7CiAKQEAgLTY2MCw3ICs2NjEsNyBAQCAtICh2b2lkKWRyYXdLbm9iCiAgICAgICAgIHJldHVy
bjsKIAogICAgIE5TUmVjdCBrbm9iUmVjdCA9IFtzZWxmIHJlY3RGb3JQYXJ0Ok5TU2Nyb2xsZXJL
bm9iXTsKLSAgICAKKwogICAgIHN0YXRpYyBOU0NvbG9yICprbm9iQ29sb3IgPSBbW05TQ29sb3Ig
Y29sb3JXaXRoRGV2aWNlUmVkOjB4ODAgLyAyNTUuMCBncmVlbjoweDgwIC8gMjU1LjAgYmx1ZTow
eDgwIC8gMjU1LjAgYWxwaGE6MV0gcmV0YWluXTsKICAgICBba25vYkNvbG9yIHNldF07CiAKQEAg
LTY3OCw3ICs2NzksNyBAQCAtICh2b2lkKWRyYXdSZWN0OihOU1JlY3QpZGlydHlSZWN0CiAgICAg
ICAgIFtkaXNhYmxlZFRyYWNrQ29sb3Igc2V0XTsKIAogICAgIE5TUmVjdEZpbGwoZGlydHlSZWN0
KTsKLSAgICAKKwogICAgIFtzZWxmIGRyYXdLbm9iXTsKIH0KIApAQCAtNzE0LDcgKzcxNSw3IEBA
IFdlYlZpZXcgKmNyZWF0ZVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coKQogICAgIFtXZWJWaWV3
IHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbDpAImZlZWQiXTsKICAgICBbV2ViVmlldyByZWdpc3Rl
clVSTFNjaGVtZUFzTG9jYWw6QCJmZWVkcyJdOwogICAgIFtXZWJWaWV3IHJlZ2lzdGVyVVJMU2No
ZW1lQXNMb2NhbDpAImZlZWRzZWFyY2giXTsKLSAgICAKKwogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBbV2ViVmlldyBfc2V0Rm9udFdoaXRlbGlzdDpmb250V2hpdGVsaXN0KCldOwogI2VuZGlmCkBA
IC03MzEsNyArNzMyLDcgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRv
dygpCiAgICAgW3dlYlZpZXcgc2V0RGVmZXJzQ2FsbGJhY2tzOk5PXTsKICAgICBbd2ViVmlldyBz
ZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IHNl
dFZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZpY2F0aW9uOi0xXTsKLSAgICAKKwogICAgIC8v
IFRvIG1ha2UgdGhpbmdzIGxpa2UgY2VydGFpbiBOU1ZpZXdzLCBkcmFnZ2luZywgYW5kIHBsdWct
aW5zIHdvcmssIHB1dCB0aGUgV2ViVmlldyBhIHdpbmRvdywgYnV0IHB1dCBpdCBvZmYtc2NyZWVu
IHNvIHlvdSBkb24ndCBzZWUgaXQuCiAgICAgLy8gUHV0IGl0IGF0IC0xMDAwMCwgLTEwMDAwIGlu
ICJmbGlwcGVkIGNvb3JkaW5hdGVzIiwgc2luY2UgV2ViQ29yZSBhbmQgdGhlIERPTSB1c2UgZmxp
cHBlZCBjb29yZGluYXRlcy4KICAgICBOU1NjcmVlbiAqZmlyc3RTY3JlZW4gPSBbW05TU2NyZWVu
IHNjcmVlbnNdIGZpcnN0T2JqZWN0XTsKQEAgLTc3Niw3ICs3NzcsNyBAQCBXZWJWaWV3ICpjcmVh
dGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCkKIAogICAgIGFkanVzdFdlYkRvY3VtZW50Rm9y
U3RhbmRhcmRWaWV3cG9ydCh3ZWJCcm93c2VyVmlldywgc2Nyb2xsVmlldyk7CiAjZW5kaWYKLSAg
ICAKKwogI2lmICFQTEFURk9STShJT1MpCiAgICAgLy8gRm9yIHJlYXNvbnMgdGhhdCBhcmUgbm90
IGVudGlyZWx5IGNsZWFyLCB0aGUgZm9sbG93aW5nIHBhaXIgb2YgY2FsbHMgbWFrZXMgV2ViVmll
dyBoYW5kbGUgaXRzCiAgICAgLy8gZHluYW1pYyBzY3JvbGxiYXJzIHByb3Blcmx5LiBXaXRob3V0
IGl0LCBldmVyeSBmcmFtZSB3aWxsIGFsd2F5cyBoYXZlIHNjcm9sbGJhcnMuCkBAIC0xMTI3LDcg
KzExMjgsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplR2xvYmFsc0Zyb21Db21tYW5kTGluZU9w
dGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXQogICAgICAgICB7InByaW50LXRlc3Qt
Y291bnQiLCBub19hcmd1bWVudCwgJnByaW50VGVzdENvdW50LCBZRVN9LAogICAgICAgICB7bnVs
bHB0ciwgMCwgbnVsbHB0ciwgMH0KICAgICB9OwotICAgIAorCiAgICAgaW50IG9wdGlvbjsKICAg
ICB3aGlsZSAoKG9wdGlvbiA9IGdldG9wdF9sb25nKGFyZ2MsIChjaGFyICogY29uc3QgKilhcmd2
LCAiIiwgb3B0aW9ucywgbnVsbHB0cikpICE9IC0xKSB7CiAgICAgICAgIHN3aXRjaCAob3B0aW9u
KSB7CkBAIC0xMjEwLDkgKzEyMTEsOSBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlQ29uc2lzdGVudFRl
c3RpbmdFbnZpcm9ubWVudCgpCiAjZWxzZQogICAgIGFjdGl2YXRlRm9udHNJT1MoKTsKICNlbmRp
ZgotICAgIAorCiAgICAgYWxsb2NhdGVHbG9iYWxDb250cm9sbGVycygpOwotICAgIAorCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIE5TQWN0aXZpdHlPcHRpb25zIG9wdGlvbnMgPSAoTlNBY3Rpdml0
eVVzZXJJbml0aWF0ZWRBbGxvd2luZ0lkbGVTeXN0ZW1TbGVlcCB8IE5TQWN0aXZpdHlMYXRlbmN5
Q3JpdGljYWwpICYgfihOU0FjdGl2aXR5U3VkZGVuVGVybWluYXRpb25EaXNhYmxlZCB8IE5TQWN0
aXZpdHlBdXRvbWF0aWNUZXJtaW5hdGlvbkRpc2FibGVkKTsKICAgICBzdGF0aWMgaWQgYXNzZXJ0
aW9uID0gW1tbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVnaW5BY3Rpdml0eVdpdGhPcHRp
b25zOm9wdGlvbnMgcmVhc29uOkAiRHVtcFJlbmRlclRyZWUgc2hvdWxkIG5vdCBiZSBzdWJqZWN0
IHRvIHByb2Nlc3Mgc3VwcHJlc3Npb24iXSByZXRhaW5dOwpAQCAtMTI1Niw5ICsxMjU3LDYgQEAg
dm9pZCBkdW1wUmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKQogICAgIFtO
U1NvdW5kIF9zZXRBbGVydFR5cGU6MF07CiAjZW5kaWYKIAotICAgIFdlYlZpZXcgKndlYlZpZXcg
PSBjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCk7Ci0gICAgbWFpbkZyYW1lID0gW3dl
YlZpZXcgbWFpbkZyYW1lXTsKLQogICAgIFtbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV0gcmVt
b3ZlQWxsQ2FjaGVkUmVzcG9uc2VzXTsKICAgICBbV2ViQ2FjaGUgZW1wdHldOwogCkBAIC0xMjgz
LDEwICsxMjgxLDEwIEBAIHZvaWQgZHVtcFJlbmRlclRyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIg
KmFyZ3ZbXSkKICAgICBpZiAodGhyZWFkZWQpCiAgICAgICAgIHN0b3BKYXZhU2NyaXB0VGhyZWFk
cygpOwogCi0gICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3cod2ViVmlldyk7Ci0g
ICAgCisgICAgZGVzdHJveVdlYlZpZXdBbmRPZmZzY3JlZW5XaW5kb3coW21haW5GcmFtZSB3ZWJW
aWV3XSk7CisKICAgICByZWxlYXNlR2xvYmFsQ29udHJvbGxlcnMoKTsKLSAgICAKKwogI2lmICFQ
TEFURk9STShJT1MpCiAgICAgW0R1bXBSZW5kZXJUcmVlUGFzdGVib2FyZCByZWxlYXNlTG9jYWxQ
YXN0ZWJvYXJkc107CiAjZW5kaWYKQEAgLTE0MDUsNyArMTQwMyw3IEBAIHN0YXRpYyBOU0ludGVn
ZXIgY29tcGFyZUhpc3RvcnlJdGVtcyhpZCBpdGVtMSwgaWQgaXRlbTIsIHZvaWQgKmNvbnRleHQp
CiBzdGF0aWMgTlNEYXRhICpkdW1wQXVkaW8oKQogewogICAgIGNvbnN0IHZlY3RvcjxjaGFyPiYg
ZGF0YVZlY3RvciA9IGdUZXN0UnVubmVyLT5hdWRpb1Jlc3VsdCgpOwotICAgIAorCiAgICAgTlNE
YXRhICpkYXRhID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmRhdGFWZWN0b3IuZGF0YSgpIGxlbmd0
aDpkYXRhVmVjdG9yLnNpemUoKV07CiAgICAgcmV0dXJuIGRhdGE7CiB9CkBAIC0xNDE5LDEzICsx
NDE3LDEzIEBAIHN0YXRpYyB2b2lkIGR1bXBIaXN0b3J5SXRlbShXZWJIaXN0b3J5SXRlbSAqaXRl
bSwgaW50IGluZGVudCwgQk9PTCBjdXJyZW50KQogICAgIH0KICAgICBmb3IgKGludCBpID0gc3Rh
cnQ7IGkgPCBpbmRlbnQ7IGkrKykKICAgICAgICAgcHV0Y2hhcignICcpOwotICAgIAorCiAgICAg
TlNTdHJpbmcgKnVybFN0cmluZyA9IFtpdGVtIFVSTFN0cmluZ107CiAgICAgaWYgKFtbTlNVUkwg
VVJMV2l0aFN0cmluZzp1cmxTdHJpbmddIGlzRmlsZVVSTF0pIHsKICAgICAgICAgTlNSYW5nZSBy
YW5nZSA9IFt1cmxTdHJpbmcgcmFuZ2VPZlN0cmluZzpAIi9MYXlvdXRUZXN0cy8iXTsKICAgICAg
ICAgdXJsU3RyaW5nID0gW0AiKGZpbGUgdGVzdCk6IiBzdHJpbmdCeUFwcGVuZGluZ1N0cmluZzpb
dXJsU3RyaW5nIHN1YnN0cmluZ0Zyb21JbmRleDoocmFuZ2UubGVuZ3RoICsgcmFuZ2UubG9jYXRp
b24pXV07CiAgICAgfQotICAgIAorCiAgICAgcHJpbnRmKCIlcyIsIFt1cmxTdHJpbmcgVVRGOFN0
cmluZ10pOwogICAgIE5TU3RyaW5nICp0YXJnZXQgPSBbaXRlbSB0YXJnZXRdOwogICAgIGlmICh0
YXJnZXQgJiYgW3RhcmdldCBsZW5ndGhdID4gMCkKQEAgLTE1NTAsNyArMTU0OCw3IEBAIHN0YXRp
YyB2b2lkIGR1bXBCYWNrRm9yd2FyZExpc3RGb3JXZWJWaWV3KFdlYlZpZXcgKnZpZXcpCiAgICAg
ICAgIGFzc2VydChpdGVtICE9IHByZXZUZXN0QkZJdGVtKTsKICAgICAgICAgW2l0ZW1zVG9Qcmlu
dCBhZGRPYmplY3Q6aXRlbV07CiAgICAgfQotICAgICAgICAgICAgCisKICAgICBhc3NlcnQoW2Jm
TGlzdCBjdXJyZW50SXRlbV0gIT0gcHJldlRlc3RCRkl0ZW0pOwogICAgIFtpdGVtc1RvUHJpbnQg
YWRkT2JqZWN0OltiZkxpc3QgY3VycmVudEl0ZW1dXTsKICAgICBpbnQgY3VycmVudEl0ZW1JbmRl
eCA9IFtpdGVtc1RvUHJpbnQgY291bnRdIC0gMTsKQEAgLTE4MDksOSArMTgwNywxMiBAQCBzdGF0
aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoY29uc3Qg
VGVzdE9wdGlvbnMmIG9wdGlvbgogICAgIFt3ZWJWaWV3IHNldFRyYWNrc1JlcGFpbnRzOk5PXTsK
IAogICAgIFtXZWJDYWNoZSBjbGVhckNhY2hlZENyZWRlbnRpYWxzXTsKLSAgICAKKwogICAgIHJl
c2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKICAgICBzZXRXZWJQcmVmZXJl
bmNlc0ZvclRlc3RPcHRpb25zKG9wdGlvbnMpOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBbd2Vi
VmlldyBzZXRXYW50c0xheWVyOm9wdGlvbnMubGF5ZXJCYWNrZWRXZWJWaWV3XTsKKyNlbmRpZgog
CiAgICAgVGVzdFJ1bm5lcjo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKICAgICBUZXN0
UnVubmVyOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShmYWxzZSk7CkBAIC0xODQ0LDcgKzE4
NDUsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRl
c3RpbmcoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbgogCiAgICAgW1tNb2NrR2VvbG9jYXRpb25Q
cm92aWRlciBzaGFyZWRdIHN0b3BUaW1lcl07CiAgICAgW1tNb2NrV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIgc2hhcmVkXSByZXNldF07Ci0gICAgCisKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIC8v
IENsZWFyIHRoZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhbCBwYXN0ZWJvYXJkCiAgICAgW1tOU1Bh
c3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRlY2xhcmVUeXBlczpbTlNBcnJheSBhcnJheVdp
dGhPYmplY3Q6TlNTdHJpbmdQYm9hcmRUeXBlXSBvd25lcjpuaWxdOwpAQCAtMTg3OCw3ICsxODc5
LDcgQEAgc3RhdGljIHZvaWQgV2ViVGhyZWFkTG9ja0FmdGVyRGVsZWdhdGVDYWxsYmFja3NIYXZl
Q29tcGxldGVkKCkKICAgICB9CiAKICAgICBXZWJUaHJlYWRMb2NrKCk7Ci0gICAgCisKICAgICBk
aXNwYXRjaF9yZWxlYXNlKGRlbGVnYXRlU2VtYXBob3JlKTsKIH0KICNlbmRpZgpAQCAtMTk0OCw2
ICsxOTQ5LDE0IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiBpbnB1dExpbmUp
CiAgICAgV0tTZXRDcmFzaFJlcG9ydEFwcGxpY2F0aW9uU3BlY2lmaWNJbmZvcm1hdGlvbigoQ0ZT
dHJpbmdSZWYpaW5mb3JtYXRpb25TdHJpbmcpOwogCiAgICAgVGVzdE9wdGlvbnMgb3B0aW9ucyh1
cmwsIGNvbW1hbmQpOworICAgIGlmICghbWFpbkZyYW1lVGVzdE9wdGlvbnMgfHwgIW9wdGlvbnMu
d2ViVmlld0lzQ29tcGF0aWJsZVdpdGhPcHRpb25zKG1haW5GcmFtZVRlc3RPcHRpb25zLnZhbHVl
KCkpKSB7CisgICAgICAgIGlmIChtYWluRnJhbWUpCisgICAgICAgICAgICBkZXN0cm95V2ViVmll
d0FuZE9mZnNjcmVlbldpbmRvdyhbbWFpbkZyYW1lIHdlYlZpZXddKTsKKyAgICAgICAgV2ViVmll
dyAqcHJpc3RpbmVXZWJWaWV3ID0gY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdygpOwor
ICAgICAgICBtYWluRnJhbWUgPSBbcHJpc3RpbmVXZWJWaWV3IG1haW5GcmFtZV07CisgICAgfQor
ICAgIG1haW5GcmFtZVRlc3RPcHRpb25zID0gb3B0aW9uczsKKwogICAgIHJlc2V0V2ViVmlld1Rv
Q29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhvcHRpb25zKTsKIAogICAgIGNvbnN0IGNoYXIq
IHRlc3RVUkwoW1t1cmwgYWJzb2x1dGVTdHJpbmddIFVURjhTdHJpbmddKTsKQEAgLTIwNTUsNyAr
MjA2NCw3IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiBpbnB1dExpbmUpCiAg
ICAgICAgICAgICAvLyBEb24ndCB0cnkgdG8gY2xvc2UgdGhlIG1haW4gd2luZG93CiAgICAgICAg
ICAgICBpZiAod2luZG93ID09IFtbbWFpbkZyYW1lIHdlYlZpZXddIHdpbmRvd10pCiAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKKwogI2lmICFQTEFURk9STShJT1MpCiAg
ICAgICAgICAgICBXZWJWaWV3ICp3ZWJWaWV3ID0gW1tbd2luZG93IGNvbnRlbnRWaWV3XSBzdWJ2
aWV3c10gb2JqZWN0QXRJbmRleDowXTsKICNlbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2JkMGFlZjY0Zjc5NDdmY2Uy
M2ZmNDI4MWNlNDliNWU2YTZjYWY2NS4uZjZjOTFjZDhmMTg4ODQ2ZTJkM2ZjYTBkNThmMTc5YTg1
MzA1NzM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTI1ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMV0gaWZyYW1lcyBpbiBs
YXllci1iYWNrZWQgTlNWaWV3cyBhcmUgbm90IGNsZWFyZWQgYmV0d2VlbiBzdWNjZXNzaXZlIGRy
YXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI1
NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxMjQ3MTMzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhdXNlIHR3byBzdWNjZXNzaXZlIHBhaW50
cywgYW5kIGNvbXBhcmUgaXQgYWdhaW5zdCAwIHBhaW50cy4KKworICAgICAgICAqIGZhc3QvZnJh
bWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLmh0bWw6
IEFkZGVkLgorCiAyMDE3LTA1LTIyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpTdHlsZVJ1bGVLZXlmcmFtZXM6OmZpbmRLZXlm
cmFtZUluZGV4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9pZnJhbWUtdHJh
bnNsdWNlbnQtYmFja2dyb3VuZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZTQ5MzhkYTliMWJkZmQ3ZDlmYjhlNzA0YjUzMTQ4ZTE4Zjg5ODkxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91
bmQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
aWZyYW1lcyB3aXRoIHRyYW5zbHVjZW50IGJhY2tncm91bmRzIGFyZSBkcmF3biB3aXRoIHRob3Nl
IGJhY2tncm91bmQgKGFuZCBub3QganVzdCBhcyBibGFjaykuIFRoZSB0ZXN0IHBhc3NlcyBpZiB5
b3UgZG9uJ3Qgc2VlIGFueSBibGFjayBib3hlcyBiZWxvdyBhbmQgdGhlIHRleHQgaGFzIGNvcnJl
Y3QgYW50aWFsaWFzaW5nLjwvcD4KKzxkaXYgc3R5bGU9ImJvcmRlcjogMHB4OyB3aWR0aDogMjAw
cHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMTI4LCAwLjI1
KTsiPkhlbGxvIFdvcmxkIDxhIGhyZWY9J2h0dHA6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4g
aGVyZS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvaWZyYW1lLXRyYW5zbHVjZW50LWJhY2tncm91bmQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNrZ3JvdW5kLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDZiNGY5MWEyMzc4YzgwODBiYTBhMmU3MjdlOWFjYzU1MjQ0MDVkMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2lmcmFtZS10cmFuc2x1Y2VudC1iYWNr
Z3JvdW5kLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBs
YXllckJhY2tlZFdlYlZpZXc9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGlmcmFt
ZXMgd2l0aCB0cmFuc2x1Y2VudCBiYWNrZ3JvdW5kcyBhcmUgZHJhd24gd2l0aCB0aG9zZSBiYWNr
Z3JvdW5kIChhbmQgbm90IGp1c3QgYXMgYmxhY2spLiBUaGUgdGVzdCBwYXNzZXMgaWYgeW91IGRv
bid0IHNlZSBhbnkgYmxhY2sgYm94ZXMgYmVsb3cgYW5kIHRoZSB0ZXh0IGhhcyBjb3JyZWN0IGFu
dGlhbGlhc2luZy48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworZnVuY3Rpb24gYigpIHsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3Jp
cHQ+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IG92ZXJmbG93OiBo
aWRkZW47Ij4KKzxpZnJhbWUgc3R5bGU9ImJvcmRlcjogMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdo
dDogMjAwcHg7IiBzcmNkb2M9IjwhRE9DVFlQRSBodG1sPgorICAgIDxodG1sPgorICAgICAgICA8
aGVhZD4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keSBzdHlsZT0nYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgwLCAwLCAxMjgsIDAuMjUpOyBtYXJnaW46IDBweDsnPgorICAgICAgICAgICAg
PGRpdiBpZD0ndGFyZ2V0Jz5IZWxsbyBXb3JsZCA8YSBocmVmPSdodHRwOi8vd3d3LmFwcGxlLmNv
bS8nPmxpbms8L2E+IGhlcmUuPC9kaXY+CisgICAgICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAg
ICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworICAgICAg
ICAgICAgICAgICAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgICAg
ICAgICAgICAgICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHModGFyZ2V0KTsKKyAgICAgICAg
ICAgICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlKTsKKyAgICAg
ICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50LmIoKTsKKyAgICAgICAgICAgICAg
ICAgICAgfSwgMCk7CisgICAgICAgICAgICAgICAgfSwgMCk7CisgICAgICAgICAgICA8L3Njcmlw
dD4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4iPjwvaWZyYW1lPgorPGRpdiBzdHlsZT0i
YmFja2dyb3VuZDogcmVkOyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgdHJhbnNmb3JtOiBw
ZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWSgtNTBkZWcpOyB3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7Ij5IZWxsbywgV29ybGQ8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>
<flag name="commit-queue"
          id="332311"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>