<?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>216415</bug_id>
          
          <creation_ts>2020-09-11 12:07:20 -0700</creation_ts>
          <short_desc>End of media capture should not be reported before 3 seconds of the start of capture</short_desc>
          <delta_ts>2020-09-15 01:56:53 -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>WebRTC</component>
          <version>WebKit Local 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1687784</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-11 12:07:20 -0700</bug_when>
    <thetext>End of media capture should not be reported before 3 seconds of the start of capture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687785</commentid>
    <comment_count>1</comment_count>
      <attachid>408554</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-11 12:12:45 -0700</bug_when>
    <thetext>Created attachment 408554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688193</commentid>
    <comment_count>2</comment_count>
      <attachid>408684</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-14 00:32:15 -0700</bug_when>
    <thetext>Created attachment 408684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688208</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-14 02:08:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/68512358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688209</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-14 02:08:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/68839151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688248</commentid>
    <comment_count>5</comment_count>
      <attachid>408684</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-14 08:39:41 -0700</bug_when>
    <thetext>Comment on attachment 408684
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Add support for delaying of end of capture.

We&apos;re not delaying the end of capture, just the state transition. Also, I think it would be helpful to state why this is being changed. 

Maybe just: A capture indicator should be visible to the user for at least three seconds.

&gt; Source/WebKit/ChangeLog:9
&gt; +        A timer is scheduled when transitioning from no capture to capture.

s/transitioning from no capture to capture/transitioning from capture to no capture/

&gt; Source/WebKit/UIProcess/API/C/WKPage.cpp:3004
&gt; +void WKPageSetMediaCaptureReportingDelayForTesting(WKPageRef page, double delay)
&gt; +{
&gt; +    toImpl(page)-&gt;setMediaCaptureReportingDelay(Seconds(delay));
&gt; +}

It seems a shame to add new C API

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:330
&gt; +@property (nonatomic, setter=_setMediaCaptureReportingDelayForTesting:) double _mediaCaptureReportingDelayForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

Should this go in WKWebViewPrivateForTesting.h instead?

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:9073
&gt; +    bool isReportingCapture = m_reportedMediaCaptureState &amp; MediaProducer::MediaCaptureMask;

`haveReportedCapture` might be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688254</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-14 08:51:03 -0700</bug_when>
    <thetext>Thanks for the review.
Will update the patch according all comments before landing.

(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 408684 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=408684&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:8
&gt; &gt; +        Add support for delaying of end of capture.
&gt; 
&gt; We&apos;re not delaying the end of capture, just the state transition. Also, I
&gt; think it would be helpful to state why this is being changed. 
&gt; 
&gt; Maybe just: A capture indicator should be visible to the user for at least
&gt; three seconds.

OK

&gt; &gt; Source/WebKit/UIProcess/API/C/WKPage.cpp:3004
&gt; &gt; +void WKPageSetMediaCaptureReportingDelayForTesting(WKPageRef page, double delay)
&gt; &gt; +{
&gt; &gt; +    toImpl(page)-&gt;setMediaCaptureReportingDelay(Seconds(delay));
&gt; &gt; +}
&gt; 
&gt; It seems a shame to add new C API

Yes, I initially went ObjC.
I added this one so that other ports do not have to add their own versions to continue running some of the existing tests.

&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:330
&gt; &gt; +@property (nonatomic, setter=_setMediaCaptureReportingDelayForTesting:) double _mediaCaptureReportingDelayForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; Should this go in WKWebViewPrivateForTesting.h instead?

Did not know about it, yes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688619</commentid>
    <comment_count>7</comment_count>
      <attachid>408799</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-15 00:58:22 -0700</bug_when>
    <thetext>Created attachment 408799
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688630</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-15 01:56:52 -0700</bug_when>
    <thetext>Committed r267081: &lt;https://trac.webkit.org/changeset/267081&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408799.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408554</attachid>
            <date>2020-09-11 12:12:45 -0700</date>
            <delta_ts>2020-09-14 00:32:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216415-20200911211244.patch</filename>
            <type>text/plain</type>
            <size>13899</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI4NGQzYzFhNDRhZDQ4
MWM5YjM0OWVjYzVjYmI4YzQ1N2QyZWI3Ny4uYWI4NjI4NGRjNDFkN2E0ZDM2ZmFlMjdjMmEzZmJm
Zjc0YzIzMzNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA5LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmQgb2YgbWVkaWEgY2Fw
dHVyZSBzaG91bGQgbm90IGJlIHJlcG9ydGVkIGJlZm9yZSAzIHNlY29uZHMgb2YgdGhlIHN0YXJ0
IG9mIGNhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHRpbWVyIHRoYXQgYWxsb3dzIHRha2luZyBhIGZ1bmN0aW9uIGFuZCBhIGRlbGF5
IGFzIHBhcmFtZXRlci4KKyAgICAgICAgQ292ZXJlZCBieSBhZGRlZCBBUEkgdGVzdC4KKworICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlVGFz
a1RpbWVyOjpmaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlVGFza1RpbWVyOjpk
b1Rhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lcjo6Y2FuY2VsKToK
KwogMjAyMC0wOS0xMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gU3VwcG9ydCBHb29nbGUgRHluYW1pYyBB
ZCBJbnNlcnRpb24gKERBSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjNiYTkzMTgzZjNkMzljY2I0ZTNhNzA4Mjdl
YTM2OGVlZWRhOWJmOC4uNDkzODUyOGFlZmYwOGI5YTI3ZTUxOWVlOWRlOGVhNWM0NTY5YzI2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0wOS0xMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5kIG9mIG1lZGlhIGNhcHR1cmUgc2hvdWxkIG5v
dCBiZSByZXBvcnRlZCBiZWZvcmUgMyBzZWNvbmRzIG9mIHRoZSBzdGFydCBvZiBjYXB0dXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgZGVsYXlpbmcgb2YgZW5kIG9mIGNhcHR1cmUuCisgICAgICAgIFRoaXMgaXMgYmFzZWQg
b24gYSB0aW1lciB0aGF0IHN0YXJ0cyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUuCisgICAgICAgIElm
IGVuZCBvZiBjYXB0dXJlIGhhcHBlbnMgYmVmb3JlIHRoaXMgdGltZXIgaXMgZG9uZSwgd2Ugd2Fp
dCBmb3IgdGhlIGVuZCBvZiB0aGUgdGltZXIgdG8gcmVwb3J0IGVuZCBvZiBjYXB0dXJlLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VHZXRN
ZWRpYVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9tZWRpYUNhcHR1cmVTdGF0ZV0pOgorICAgICAgICAoLVtX
S1dlYlZpZXcgX21lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZ10pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX3NldE1lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZzpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojp1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpyZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjptZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSBjb25zdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkpOgor
CiAyMDIwLTA5LTA5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAg
ICAgICAgIG1hY0NhdGFseXN0OiBGb3JtIGNvbnRyb2xzIGJlaGF2ZSBzdHJhbmdlbHkgKGxpa2Ug
aVBob25lKSBpbiBtYWNPUy1pZGlvbSBhcHBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBl
NzA4MTU2N2Y0M2RiOTQ3OThlZmE5NGVjNWYzYTQ2MmMyNTJiZDA4Li5lNjIzMGI3NGU1ZDdkOWJl
NTE4MmExZWYxOWE2NjdkMGZmMzY0NDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTE5
NSw0ICsxOTUsMzggQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1l
ckZpcmVzOwogfTsKIAorY2xhc3MgRGVmZXJyYWJsZVRhc2tUaW1lciBmaW5hbCA6IHByaXZhdGUg
VGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBE
ZWZlcnJhYmxlVGFza1RpbWVyKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBkb1Rhc2soRnVuY3Rp
b248dm9pZCgpPiYmLCBTZWNvbmRzKTsKKyAgICB2b2lkIGNhbmNlbCgpOworICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZlKCk7IH0KKworcHJpdmF0
ZToKKyAgICB2b2lkIGZpcmVkKCkgZmluYWw7CisKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG1fZnVu
Y3Rpb247Cit9OworCitpbmxpbmUgdm9pZCBEZWZlcnJhYmxlVGFza1RpbWVyOjpmaXJlZCgpCit7
CisgICAgc3RkOjpleGNoYW5nZShtX2Z1bmN0aW9uLCB7IH0pKCk7Cit9CisKK2lubGluZSB2b2lk
IERlZmVycmFibGVUYXNrVGltZXI6OmRvVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24s
IFNlY29uZHMgZGVsYXkpCit7CisgICAgQVNTRVJUKCFpc0FjdGl2ZSgpKTsKKyAgICBBU1NFUlQo
IW1fZnVuY3Rpb24pOworICAgIG1fZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKTsKKyAgICBz
dGFydE9uZVNob3QoZGVsYXkpOworfQorCitpbmxpbmUgdm9pZCBEZWZlcnJhYmxlVGFza1RpbWVy
OjpjYW5jZWwoKQoreworICAgIHN0ZDo6ZXhjaGFuZ2UobV9mdW5jdGlvbiwgeyB9KTsKKyAgICBz
dG9wKCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmlu
ZGV4IDYxN2QwMTg2MTExMTBiOGRhZGIxMjUyYTVjNTc2OGZiMmM5MzdlMTIuLjU5ZDI2NjMyNGFh
NDk3OThmZGY2ZWJmMmUzYjU1ZWQ0ZWU5MzcwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcApAQCAtMjg2Miw3ICsyODYyLDcgQEAgYm9vbCBXS1BhZ2VJc1BsYXlp
bmdBdWRpbyhXS1BhZ2VSZWYgcGFnZSkKIAogV0tNZWRpYVN0YXRlIFdLUGFnZUdldE1lZGlhU3Rh
dGUoV0tQYWdlUmVmIHBhZ2UpCiB7Ci0gICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dGF0ZUZsYWdzIGNvcmVTdGF0ZSA9IHRvSW1wbChwYWdlKS0+bWVkaWFTdGF0ZUZsYWdzKCk7Cisg
ICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIGNvcmVTdGF0ZSA9IHRv
SW1wbChwYWdlKS0+cmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgpOwogICAgIFdLTWVkaWFTdGF0
ZSBzdGF0ZSA9IGtXS01lZGlhSXNOb3RQbGF5aW5nOwogCiAgICAgaWYgKGNvcmVTdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OklzUGxheWluZ0F1ZGlvKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggY2U1MTRiOTIxMWM0OGE2Mjhi
YTdjNmI2Y2ZkNTUyMGU1OThhNjJlZi4uOTViMjhjZmVjYjkxMWM5N2E2ZDNiN2NhNmNlNTcwZTNj
ZGJkNmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCkBAIC0yOTc4LDcgKzI5NzgsMTcgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2Vi
S2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmQKIAog
LSAoX1dLTWVkaWFDYXB0dXJlU3RhdGUpX21lZGlhQ2FwdHVyZVN0YXRlCiB7Ci0gICAgcmV0dXJu
IFdlYktpdDo6dG9XS01lZGlhQ2FwdHVyZVN0YXRlKF9wYWdlLT5tZWRpYVN0YXRlRmxhZ3MoKSk7
CisgICAgcmV0dXJuIFdlYktpdDo6dG9XS01lZGlhQ2FwdHVyZVN0YXRlKF9wYWdlLT5yZXBvcnRl
ZE1lZGlhQ2FwdHVyZVN0YXRlKCkpOworfQorCistIChkb3VibGUpX21lZGlhQ2FwdHVyZVJlcG9y
dGluZ0RlbGF5Rm9yVGVzdGluZworeworICAgIHJldHVybiBfcGFnZS0+bWVkaWFDYXB0dXJlUmVw
b3J0aW5nRGVsYXkoKS52YWx1ZSgpOworfQorCistICh2b2lkKV9zZXRNZWRpYUNhcHR1cmVSZXBv
cnRpbmdEZWxheUZvclRlc3Rpbmc6KGRvdWJsZSljYXB0dXJlUmVwb3J0aW5nRGVsYXkKK3sKKyAg
ICBfcGFnZS0+c2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkoU2Vjb25kcyhjYXB0dXJlUmVw
b3J0aW5nRGVsYXkpKTsKIH0KIAogLSAodm9pZClfc2V0TWVkaWFDYXB0dXJlRW5hYmxlZDooQk9P
TCllbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAppbmRleCAwNzE0YjE3YWE3OTU3ODc3MjViMGJkZTBiN2VjZmE4ODIx
N2VmN2MwLi5jMWVjYjYwYTk0ZWRlMzJmMWVmNWE4ZGNiMzU1MWE2YzUwYTg4ODRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKQEAgLTMyNyw2ICszMjcsOCBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIC0gKHZvaWQpX3NldFBh
Z2VNdXRlZDooX1dLTWVkaWFNdXRlZFN0YXRlKW11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMC4xMyksIGlvcygxMS4wKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nOikgZG91
YmxlIF9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogLSAodm9pZClfc3RvcE1l
ZGlhQ2FwdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2NhblRvZ2ds
ZVBpY3R1cmVJblBpY3R1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCBmMzNmMmIwM2VmZmQzNjcxZGM1MmEyNjkzNDEwYzE5MzI0ZmI2MTNhLi5jMTM0NWRm
ZjVmNjU2Zjc4MWU5MmZkMWI2ZjI0Mzc0Y2ViMzJmMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTkwNDUsNyArOTA0NSw4IEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojp1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0
ZUZsYWdzIG5lCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGlmIChvbGRNZWRpYUNh
cHR1cmVTdGF0ZSAhPSBuZXdNZWRpYUNhcHR1cmVTdGF0ZSkgewotICAgICAgICBtX3VpQ2xpZW50
LT5tZWRpYUNhcHR1cmVTdGF0ZURpZENoYW5nZShtX21lZGlhU3RhdGUpOworICAgICAgICB1cGRh
dGVSZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCk7CisKICAgICAgICAgQVNTRVJUKG1fdXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKTsKICAgICAgICAgaWYgKG1fdXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyKQogICAgICAgICAgICAgbV91c2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXItPmNhcHR1cmVTdGF0ZUNoYW5nZWQob2xkTWVkaWFDYXB0dXJlU3RhdGUs
IG5ld01lZGlhQ2FwdHVyZVN0YXRlKTsKQEAgLTkwNjQsNiArOTA2NSwyOSBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6dXBkYXRlUGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlh
U3RhdGVGbGFncyBuZQogICAgIG1fcHJvY2Vzcy0+dXBkYXRlQXVkaWJsZU1lZGlhQXNzZXJ0aW9u
cygpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVT
dGF0ZSgpCit7CisgICAgaWYgKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSA9PSBtX21lZGlh
U3RhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIGJvb2wgaXNSZXBvcnRpbmdDYXB0dXJlID0g
bV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWVkaWFDYXB0dXJl
TWFzazsKKyAgICBib29sIHdpbGxSZXBvcnRDYXB0dXJlID0gbV9tZWRpYVN0YXRlICYgTWVkaWFQ
cm9kdWNlcjo6TWVkaWFDYXB0dXJlTWFzazsKKworICAgIGlmIChpc1JlcG9ydGluZ0NhcHR1cmUg
JiYgIXdpbGxSZXBvcnRDYXB0dXJlICYmIG1fZGVsYXlTdG9wQ2FwdHVyaW5nUmVwb3J0aW5nVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFpc1JlcG9ydGluZ0Nh
cHR1cmUgJiYgd2lsbFJlcG9ydENhcHR1cmUpIHsKKyAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJp
bmdSZXBvcnRpbmcgPSB0cnVlOworICAgICAgICBtX2RlbGF5U3RvcENhcHR1cmluZ1JlcG9ydGlu
Z1RpbWVyLmRvVGFzayhbdGhpc10geworICAgICAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJpbmdS
ZXBvcnRpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgIHVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJl
U3RhdGUoKTsKKyAgICAgICAgfSwgbV9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSk7CisgICAg
fQorCisgICAgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlID0gbV9tZWRpYVN0YXRlOworICAg
IG1fdWlDbGllbnQtPm1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCiB7
CiAgICAgcGFnZUNsaWVudCgpLnZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGRkMmMzNGNlYTE2MDgyYjZjODhh
ZTc0NTMwNzJmZDJkYTc5YTI5MzYuLjUwNDE3NjkzNDQ5MDY1ZDhkNmU5ZTFiZjRkOWM5MTY1OTFm
MTI3OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDUyLDEy
ICsxNDUyLDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNQbGF5aW5nQXVkaW8oKSBjb25zdCB7
IHJldHVybiAhIShtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc1BsYXlp
bmdBdWRpbyk7IH0KICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpOworICAgIHZvaWQgdXBkYXRl
UmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgpOworCiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVk
aWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKICAg
ICBib29sIGlzQ2FwdHVyaW5nQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrOyB9CiAgICAgYm9vbCBpc0Nh
cHR1cmluZ1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFzazsgfQogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9T
dHJlYW0oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZp
ZGVvU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0
dXJuIG1fbWVkaWFTdGF0ZTsgfQorICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3Rh
dGVGbGFncyByZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZUZsYWdzIG11dGVkU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0
ZTsgfQogCiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9wbGF5RXZl
bnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+KTsKQEAgLTE4MjEsNiAr
MTgyNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHBkZk9wZW5XaXRoUHJldmlldyhQREZQbHVnaW5J
ZGVudGlmaWVyKTsKICNlbmRpZgogCisgICAgU2Vjb25kcyBtZWRpYUNhcHR1cmVSZXBvcnRpbmdE
ZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXk7IH0KKyAg
ICB2b2lkIHNldE1lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5KFNlY29uZHMgY2FwdHVyZVJlcG9y
dGluZ0RlbGF5KSB7IG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgPSBjYXB0dXJlUmVwb3J0
aW5nRGVsYXk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdl
YlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lk
IHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpAQCAtMjc1NCw2ICsyNzYwLDEzIEBAIHByaXZhdGU6CiAK
ICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbV9tZWRpYVN0YXRl
IHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nIH07CiAKKyAgICAvLyBUbyBt
YWtlIHN1cmUgY2FwdHVyZSBpbmRpY2F0b3JzIGFyZSB2aXNpYmxlIGxvbmcgZW5vdWdoLCBtX3Jl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgaXMgdGhlIHNhbWUgYXMgbV9tZWRpYVN0YXRlIGV4Y2Vw
dCB0aGF0IHdlIG1pZ2h0IGRlbGF5IGEgYml0IHRyYW5zaXRpb24gZnJvbSBjYXB0dXJpbmcgdG8g
bm90LWNhcHR1cmluZy4KKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3MgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
SXNOb3RQbGF5aW5nIH07CisgICAgV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lciBtX2RlbGF5
U3RvcENhcHR1cmluZ1JlcG9ydGluZ1RpbWVyOworICAgIGJvb2wgbV9kZWxheVN0b3BDYXB0dXJp
bmdSZXBvcnRpbmcgeyBmYWxzZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBEZWZh
dWx0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgeyAzX3MgfTsKKyAgICBTZWNvbmRzIG1fbWVk
aWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgeyBEZWZhdWx0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVs
YXkgfTsKKwogICAgIGJvb2wgbV9oYXNIYWRTZWxlY3Rpb25DaGFuZ2VzRnJvbVVzZXJJbnRlcmFj
dGlvbiB7IGZhbHNlIH07CiAKICNpZiBIQVZFKFRPVUNIX0JBUikKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NWQ4OTBiNzk4NjMzZDg1NDllNDM4
YmJmY2IwM2EwNzFhNGYwYzFhLi44YzNkMTI3NDZjYjAxNTA4NmExODYyNzY1NDVkMmQ4ODNkOTg5
MzZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIEVuZCBvZiBtZWRpYSBjYXB0dXJlIHNob3VsZCBub3QgYmUgcmVwb3J0
ZWQgYmVmb3JlIDMgc2Vjb25kcyBvZiB0aGUgc3RhcnQgb2YgY2FwdHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDE1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9HZXRVc2VyTWVkaWEubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMC0wOS0xMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
d2Via2l0LXRlc3QtcnVubmVyOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlZnRlc3Qtd2FpdCBjbGFz
cyBuYW1lCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRV
c2VyTWVkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVk
aWEubW0KaW5kZXggZGY1NGY5MTBmOTA0MmI2YzY1MzM4NmM3ZDY0NTczNTcwZjMzYzUxMi4uMGNm
Zjk5NGNmZTBlMTNjYjM0MjdjYmZlZDBlNzcyNzVjZTZmODBmNCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQpAQCAtMTI0LDYgKzEyNCw4
IEBAIFRFU1QoV2ViS2l0MiwgQ2FwdHVyZU11dGUpCiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tHZXRVc2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIHdl
YlZpZXcuVUlEZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgpOwogCisgICAgd2ViVmlldy5fbWVkaWFD
YXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nID0gMDsKKwogICAgIFt3ZWJWaWV3IGxvYWRU
ZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhIl07CiAgICAgRVhQRUNUX1RSVUUod2FpdFVudGls
Q2FwdHVyZVN0YXRlKHdlYlZpZXcsIF9XS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlQ2FtZXJhKSk7
CiAKQEAgLTIwMSw2ICsyMDMsNDMgQEAgVEVTVChXZWJLaXQyLCBDYXB0dXJlU3RvcCkKICAgICB3
YXNQcm9tcHRlZCA9IGZhbHNlOwogfQogCitURVNUKFdlYktpdDIsIENhcHR1cmVJbmRpY2F0b3JE
ZWxheSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWcgPSBh
ZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAg
YXV0byBwcmVmZXJlbmNlcyA9IFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXTsKKyAgICBwcmVm
ZXJlbmNlcy5fbWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uID0gTk87CisgICAg
cHJlZmVyZW5jZXMuX21lZGlhRGV2aWNlc0VuYWJsZWQgPSBZRVM7CisgICAgcHJlZmVyZW5jZXMu
X21vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQgPSBZRVM7CisKKyAgICBhdXRvIG1lc3NhZ2VIYW5k
bGVyID0gYWRvcHROUyhbW0dVTU1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgW1tj
b25maWd1cmF0aW9uLmdldCgpIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2Fn
ZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAImd1bSJdOworCisgICAgYXV0byB3
ZWJWaWV3ID0gW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2Uo
MCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBwcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWcuZ2V0KCldOworICAgIHdlYlZpZXcu
X21lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZyA9IDI7CisKKyAgICBhdXRvIGRl
bGVnYXRlID0gYWRvcHROUyhbW0dldFVzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlIGFsbG9jXSBp
bml0XSk7CisgICAgd2ViVmlldy5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisKKyAgICB3
YXNQcm9tcHRlZCA9IGZhbHNlOworCisgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJn
ZXRVc2VyTWVkaWEiXTsKKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxDYXB0dXJlU3RhdGUod2Vi
VmlldywgX1dLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmVDYW1lcmEpKTsKKworICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmd2FzUHJvbXB0ZWQpOworICAgIHdhc1Byb21wdGVkID0gZmFsc2U7
CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07
CisKKyAgICAvLyBXZSB3YWl0IDEgc2Vjb25kLCB3ZSBzaG91bGQgc3RpbGwgc2VlIGNhbWVyYSBi
ZSByZXBvcnRlZC4KKyAgICBzbGVlcCgxX3MpOworICAgIEVYUEVDVF9FUShbd2ViVmlldyBfbWVk
aWFDYXB0dXJlU3RhdGVdLCBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZUNhbWVyYSk7CisKKyAg
ICAvLyBPbmUgYWRkaXRpb25hbCBzZWNvbmQgc2hvdWxkIGFsbG93IHVzIHRvIGdvIGJhY2sgdG8g
bm8gY2FwdHVyZSBiZWluZyByZXBvcnRlZC4KKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxDYXB0
dXJlU3RhdGUod2ViVmlldywgX1dLTWVkaWFDYXB0dXJlU3RhdGVOb25lKSk7CisKK30KKwogVEVT
VChXZWJLaXQyLCBHZXRDYXBhYmlsaXRpZXMpCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408684</attachid>
            <date>2020-09-14 00:32:15 -0700</date>
            <delta_ts>2020-09-15 00:58:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216415-20200914093213.patch</filename>
            <type>text/plain</type>
            <size>18843</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI4NGQzYzFhNDRhZDQ4
MWM5YjM0OWVjYzVjYmI4YzQ1N2QyZWI3Ny4uM2I0OGYzZTNlZTk0N2JkZDM5MWNhMGQ2N2ZkNTcw
MzZjMTIzYjQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA5LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmQgb2YgbWVkaWEgY2Fw
dHVyZSBzaG91bGQgbm90IGJlIHJlcG9ydGVkIGJlZm9yZSAzIHNlY29uZHMgb2YgdGhlIHN0YXJ0
IG9mIGNhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHRpbWVyIHRoYXQgYWxsb3dzIHRha2luZyBhIGZ1bmN0aW9uIGFuZCBhIGRlbGF5
IGFzIHBhcmFtZXRlci4KKyAgICAgICAgQ292ZXJlZCBieSBhZGRlZCBBUEkgdGVzdC4KKworICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlVGFz
a1RpbWVyOjpmaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlVGFza1RpbWVyOjpk
b1Rhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lcjo6Y2FuY2VsKToK
KwogMjAyMC0wOS0xMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gU3VwcG9ydCBHb29nbGUgRHluYW1pYyBB
ZCBJbnNlcnRpb24gKERBSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjNiYTkzMTgzZjNkMzljY2I0ZTNhNzA4Mjdl
YTM2OGVlZWRhOWJmOC4uNWQ3MWM0OTU4OThlYWU4ZjNmMDk3ZDI4MmNmZDUzMmUzODBmYjIwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAyMC0wOS0xNCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5kIG9mIG1lZGlhIGNhcHR1cmUgc2hvdWxkIG5v
dCBiZSByZXBvcnRlZCBiZWZvcmUgMyBzZWNvbmRzIG9mIHRoZSBzdGFydCBvZiBjYXB0dXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgZGVsYXlpbmcgb2YgZW5kIG9mIGNhcHR1cmUuCisgICAgICAgIEEgdGltZXIgaXMgc2No
ZWR1bGVkIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIG5vIGNhcHR1cmUgdG8gY2FwdHVyZS4KKyAg
ICAgICAgQXMgbG9uZyBhcyB0aGUgdGltZXIgaXMgYWN0aXZlLCB0aGUgY2FwdHVyZSBzdGF0ZSBj
YW5ub3QgYmUgdHJhbnNpdGlvbmVkIHRvIG5vIGNhcHR1cmUuCisgICAgICAgIE90aGVyIHRyYW5z
aXRpb25zIGFyZSBhbGxvd2VkLgorICAgICAgICBPbmNlIHRoZSB0aW1lciBraWNrcyBpbiwgYW55
IGNhcHR1cmUgc3RhdGUgdXBkYXRlIGlzIGRvbmUgc3luY2hyb25vdXNseS4KKyAgICAgICAgRW5z
dXJlIHRvIHVwZGF0ZSB0aGUgY2FwdHVyZSBzdGF0ZSB3aGVuIHRoZSB0aW1lciBraWNrcyBpbi4K
KworICAgICAgICBOb3RlIHRoYXQgZXZlbiBuYXZpZ2F0aW9ucyB3aWxsIG5vdCBhbGxvdyB0cmFu
c2l0aW9uaW5nIHRoZSBjYXB0dXJlIHN0YXRlIHNvb25lci4KKyAgICAgICAgVGhpcyBpcyBkb25l
IHRvIGVuc3VyZSBhIHBhZ2UgZG9lcyBub3QgdHJ5IHRvIGNhcHR1cmUgb25lIGZyYW1lIGJlZm9y
ZSBuYXZpZ2F0aW5nIHRvIGFub3RoZXIgcGFnZS4KKyAgICAgICAgSW4gcHJhY3RpY2UsIHZlcnkg
ZmV3IHBhZ2VzIHNob3VsZCBuYXZpZ2F0ZSBxdWlja2x5IGFmdGVyIHN0YXJ0aW5nIGNhcHR1cmUu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFn
ZUdldE1lZGlhU3RhdGUpOgorICAgICAgICAoV0tQYWdlU2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5n
RGVsYXlGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX21lZGlhQ2FwdHVyZVN0YXRlXSk6CisgICAgICAgICgtW1dLV2ViVmll
dyBfbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nXSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfc2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6Om1lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5IGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzZXRNZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSk6CisKIDIwMjAt
MDktMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
bWFjQ2F0YWx5c3Q6IEZvcm0gY29udHJvbHMgYmVoYXZlIHN0cmFuZ2VseSAobGlrZSBpUGhvbmUp
IGluIG1hY09TLWlkaW9tIGFwcHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGU3MDgxNTY3
ZjQzZGI5NDc5OGVmYTk0ZWM1ZjNhNDYyYzI1MmJkMDguLmU2MjMwYjc0ZTVkN2Q5YmU1MTgyYTFl
ZjE5YTY2N2QwZmYzNjQ0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMTk1LDQgKzE5
NSwzOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7
CiB9OwogCitjbGFzcyBEZWZlcnJhYmxlVGFza1RpbWVyIGZpbmFsIDogcHJpdmF0ZSBUaW1lckJh
c2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIERlZmVycmFi
bGVUYXNrVGltZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lkIGRvVGFzayhGdW5jdGlvbjx2b2lk
KCk+JiYsIFNlY29uZHMpOworICAgIHZvaWQgY2FuY2VsKCk7CisgICAgYm9vbCBpc0FjdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKTsgfQorCitwcml2YXRlOgorICAg
IHZvaWQgZmlyZWQoKSBmaW5hbDsKKworICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9mdW5jdGlvbjsK
K307CisKK2lubGluZSB2b2lkIERlZmVycmFibGVUYXNrVGltZXI6OmZpcmVkKCkKK3sKKyAgICBz
dGQ6OmV4Y2hhbmdlKG1fZnVuY3Rpb24sIHsgfSkoKTsKK30KKworaW5saW5lIHZvaWQgRGVmZXJy
YWJsZVRhc2tUaW1lcjo6ZG9UYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbiwgU2Vjb25k
cyBkZWxheSkKK3sKKyAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOworICAgIEFTU0VSVCghbV9mdW5j
dGlvbik7CisgICAgbV9mdW5jdGlvbiA9IFdURk1vdmUoZnVuY3Rpb24pOworICAgIHN0YXJ0T25l
U2hvdChkZWxheSk7Cit9CisKK2lubGluZSB2b2lkIERlZmVycmFibGVUYXNrVGltZXI6OmNhbmNl
bCgpCit7CisgICAgc3RkOjpleGNoYW5nZShtX2Z1bmN0aW9uLCB7IH0pOworICAgIHN0b3AoKTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNjE3
ZDAxODYxMTExMGI4ZGFkYjEyNTJhNWM1NzY4ZmIyYzkzN2UxMi4uYzhiOWEwNTlmOGM4Zjc3NjBk
YTIxZmE1Y2Q5YzQwNjY5MmIzNDA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCkBAIC0yODYyLDcgKzI4NjIsNyBAQCBib29sIFdLUGFnZUlzUGxheWluZ0F1ZGlv
KFdLUGFnZVJlZiBwYWdlKQogCiBXS01lZGlhU3RhdGUgV0tQYWdlR2V0TWVkaWFTdGF0ZShXS1Bh
Z2VSZWYgcGFnZSkKIHsKLSAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxh
Z3MgY29yZVN0YXRlID0gdG9JbXBsKHBhZ2UpLT5tZWRpYVN0YXRlRmxhZ3MoKTsKKyAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgY29yZVN0YXRlID0gdG9JbXBsKHBh
Z2UpLT5yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCk7CiAgICAgV0tNZWRpYVN0YXRlIHN0YXRl
ID0ga1dLTWVkaWFJc05vdFBsYXlpbmc7CiAKICAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6SXNQbGF5aW5nQXVkaW8pCkBAIC0yOTk3LDMgKzI5OTcsOCBAQCB2b2lk
IFdLUGFnZUNsZWFyTG9hZGVkU3VicmVzb3VyY2VEb21haW5zKFdLUGFnZVJlZiBwYWdlKQogICAg
IFVOVVNFRF9QQVJBTShwYWdlKTsKICNlbmRpZgogfQorCit2b2lkIFdLUGFnZVNldE1lZGlhQ2Fw
dHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgZG91YmxlIGRlbGF5
KQoreworICAgIHRvSW1wbChwYWdlKS0+c2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkoU2Vj
b25kcyhkZWxheSkpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oCmluZGV4IGJjNWZkMTJiNzZjN2ViMjZhYTUxZWVkYTE1NDE1N2YyYzc4Y2Q5MGEu
LmM0ZWIzMGRmZTNiMDliMWRiMmQwOGY5NTEyNDIzODcwNDZjNzVlMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTE5OCw2ICsxOTgsOCBA
QCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2FkZWRTdWJyZXNvdXJjZURvbWFpbnNGdW5jdGlvbiko
V0tBcnJheVJlZiBkb21haW5zLCB2b2lkKgogV0tfRVhQT1JUIHZvaWQgV0tQYWdlTG9hZGVkU3Vi
cmVzb3VyY2VEb21haW5zKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VMb2FkZWRTdWJyZXNvdXJjZURv
bWFpbnNGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKIFdLX0VYUE9S
VCB2b2lkIFdLUGFnZUNsZWFyTG9hZGVkU3VicmVzb3VyY2VEb21haW5zKFdLUGFnZVJlZiBwYWdl
KTsKIAorV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlG
b3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBkb3VibGUgZGVsYXkpOworCiAjaWZkZWYgX19jcGx1
c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KaW5kZXggY2U1MTRiOTIxMWM0OGE2MjhiYTdjNmI2Y2ZkNTUyMGU1OThhNjJl
Zi4uOTViMjhjZmVjYjkxMWM5N2E2ZDNiN2NhNmNlNTcwZTNjZGJkNmQ5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yOTc4LDcgKzI5
NzgsMTcgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gdG9G
aW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmQKIAogLSAoX1dLTWVkaWFDYXB0dXJlU3Rh
dGUpX21lZGlhQ2FwdHVyZVN0YXRlCiB7Ci0gICAgcmV0dXJuIFdlYktpdDo6dG9XS01lZGlhQ2Fw
dHVyZVN0YXRlKF9wYWdlLT5tZWRpYVN0YXRlRmxhZ3MoKSk7CisgICAgcmV0dXJuIFdlYktpdDo6
dG9XS01lZGlhQ2FwdHVyZVN0YXRlKF9wYWdlLT5yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCkp
OworfQorCistIChkb3VibGUpX21lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZwor
eworICAgIHJldHVybiBfcGFnZS0+bWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkoKS52YWx1ZSgp
OworfQorCistICh2b2lkKV9zZXRNZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3Rpbmc6
KGRvdWJsZSljYXB0dXJlUmVwb3J0aW5nRGVsYXkKK3sKKyAgICBfcGFnZS0+c2V0TWVkaWFDYXB0
dXJlUmVwb3J0aW5nRGVsYXkoU2Vjb25kcyhjYXB0dXJlUmVwb3J0aW5nRGVsYXkpKTsKIH0KIAog
LSAodm9pZClfc2V0TWVkaWFDYXB0dXJlRW5hYmxlZDooQk9PTCllbmFibGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRl
eCAwNzE0YjE3YWE3OTU3ODc3MjViMGJkZTBiN2VjZmE4ODIxN2VmN2MwLi5jMWVjYjYwYTk0ZWRl
MzJmMWVmNWE4ZGNiMzU1MWE2YzUwYTg4ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTMyNyw2ICszMjcsOCBA
QCBmb3IgdGhpcyBwcm9wZXJ0eS4KIC0gKHZvaWQpX3NldFBhZ2VNdXRlZDooX1dLTWVkaWFNdXRl
ZFN0YXRlKW11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4w
KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhQ2FwdHVyZUVuYWJs
ZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAu
MTMpLCBpb3MoMTEuMCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWVkaWFD
YXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nOikgZG91YmxlIF9tZWRpYUNhcHR1cmVSZXBv
cnRpbmdEZWxheUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKKwogLSAodm9pZClfc3RvcE1lZGlhQ2FwdHVyZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmMzNmMmIwM2VmZmQz
NjcxZGM1MmEyNjkzNDEwYzE5MzI0ZmI2MTNhLi5jMTM0NWRmZjVmNjU2Zjc4MWU5MmZkMWI2ZjI0
Mzc0Y2ViMzJmMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTkwNDUsNyArOTA0NSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVQbGF5aW5nTWVk
aWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG5lCiAKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogICAgIGlmIChvbGRNZWRpYUNhcHR1cmVTdGF0ZSAhPSBuZXdNZWRp
YUNhcHR1cmVTdGF0ZSkgewotICAgICAgICBtX3VpQ2xpZW50LT5tZWRpYUNhcHR1cmVTdGF0ZURp
ZENoYW5nZShtX21lZGlhU3RhdGUpOworICAgICAgICB1cGRhdGVSZXBvcnRlZE1lZGlhQ2FwdHVy
ZVN0YXRlKCk7CisKICAgICAgICAgQVNTRVJUKG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyKTsKICAgICAgICAgaWYgKG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
KQogICAgICAgICAgICAgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXItPmNhcHR1
cmVTdGF0ZUNoYW5nZWQob2xkTWVkaWFDYXB0dXJlU3RhdGUsIG5ld01lZGlhQ2FwdHVyZVN0YXRl
KTsKQEAgLTkwNjQsNiArOTA2NSwyOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlUGxheWlu
Z01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBuZQogICAgIG1f
cHJvY2Vzcy0+dXBkYXRlQXVkaWJsZU1lZGlhQXNzZXJ0aW9ucygpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgpCit7CisgICAgaWYgKG1f
cmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSA9PSBtX21lZGlhU3RhdGUpCisgICAgICAgIHJldHVy
bjsKKworICAgIGJvb2wgaXNSZXBvcnRpbmdDYXB0dXJlID0gbV9yZXBvcnRlZE1lZGlhQ2FwdHVy
ZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWVkaWFDYXB0dXJlTWFzazsKKyAgICBib29sIHdpbGxS
ZXBvcnRDYXB0dXJlID0gbV9tZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWVkaWFDYXB0dXJl
TWFzazsKKworICAgIGlmIChpc1JlcG9ydGluZ0NhcHR1cmUgJiYgIXdpbGxSZXBvcnRDYXB0dXJl
ICYmIG1fZGVsYXlTdG9wQ2FwdHVyaW5nUmVwb3J0aW5nVGltZXIuaXNBY3RpdmUoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCFpc1JlcG9ydGluZ0NhcHR1cmUgJiYgd2lsbFJlcG9ydENh
cHR1cmUpIHsKKyAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJpbmdSZXBvcnRpbmcgPSB0cnVlOwor
ICAgICAgICBtX2RlbGF5U3RvcENhcHR1cmluZ1JlcG9ydGluZ1RpbWVyLmRvVGFzayhbdGhpc10g
eworICAgICAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJpbmdSZXBvcnRpbmcgPSBmYWxzZTsKKyAg
ICAgICAgICAgIHVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKTsKKyAgICAgICAgfSwg
bV9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSk7CisgICAgfQorCisgICAgbV9yZXBvcnRlZE1l
ZGlhQ2FwdHVyZVN0YXRlID0gbV9tZWRpYVN0YXRlOworICAgIG1fdWlDbGllbnQtPm1lZGlhQ2Fw
dHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5
Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCiB7CiAgICAgcGFnZUNsaWVudCgpLnZp
ZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IGRkMmMzNGNlYTE2MDgyYjZjODhhZTc0NTMwNzJmZDJkYTc5YTI5MzYu
LjUwNDE3NjkzNDQ5MDY1ZDhkNmU5ZTFiZjRkOWM5MTY1OTFmMTI3OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDUyLDEyICsxNDUyLDE1IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNQbGF5aW5nQXVkaW8oKSBjb25zdCB7IHJldHVybiAhIShtX21lZGlhU3Rh
dGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc1BsYXlpbmdBdWRpbyk7IH0KICAgICB2b2lk
IGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3Rh
dGVGbGFncywgdWludDY0X3QpOworICAgIHZvaWQgdXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVT
dGF0ZSgpOworCiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKICAgICBib29sIGlzQ2FwdHVyaW5nQXVk
aW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpBdWRpb0NhcHR1cmVNYXNrOyB9CiAgICAgYm9vbCBpc0NhcHR1cmluZ1ZpZGVvKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0
dXJlTWFzazsgfQogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0oKSBjb25zdCB7IHJldHVy
biBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNBY3RpdmVBdWRpb0Nh
cHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3RyZWFtKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZlVmlk
ZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0
ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsgfQor
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyByZXBvcnRlZE1lZGlh
Q2FwdHVyZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRl
OyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG11dGVkU3Rh
dGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZTsgfQogCiAgICAgdm9pZCBoYW5k
bGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3Jl
OjpBdXRvcGxheUV2ZW50RmxhZ3M+KTsKQEAgLTE4MjEsNiArMTgyNCw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHBkZk9wZW5XaXRoUHJldmlldyhQREZQbHVnaW5JZGVudGlmaWVyKTsKICNlbmRpZgog
CisgICAgU2Vjb25kcyBtZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXk7IH0KKyAgICB2b2lkIHNldE1lZGlhQ2FwdHVy
ZVJlcG9ydGluZ0RlbGF5KFNlY29uZHMgY2FwdHVyZVJlcG9ydGluZ0RlbGF5KSB7IG1fbWVkaWFD
YXB0dXJlUmVwb3J0aW5nRGVsYXkgPSBjYXB0dXJlUmVwb3J0aW5nRGVsYXk7IH0KKwogcHJpdmF0
ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIFJlZjxB
UEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgp
OwpAQCAtMjc1NCw2ICsyNzYwLDEzIEBAIHByaXZhdGU6CiAKICAgICBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbV9tZWRpYVN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6SXNOb3RQbGF5aW5nIH07CiAKKyAgICAvLyBUbyBtYWtlIHN1cmUgY2FwdHVyZSBpbmRp
Y2F0b3JzIGFyZSB2aXNpYmxlIGxvbmcgZW5vdWdoLCBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3Rh
dGUgaXMgdGhlIHNhbWUgYXMgbV9tZWRpYVN0YXRlIGV4Y2VwdCB0aGF0IHdlIG1pZ2h0IGRlbGF5
IGEgYml0IHRyYW5zaXRpb24gZnJvbSBjYXB0dXJpbmcgdG8gbm90LWNhcHR1cmluZy4KKyAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbV9yZXBvcnRlZE1lZGlhQ2Fw
dHVyZVN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nIH07CisgICAg
V2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lciBtX2RlbGF5U3RvcENhcHR1cmluZ1JlcG9ydGlu
Z1RpbWVyOworICAgIGJvb2wgbV9kZWxheVN0b3BDYXB0dXJpbmdSZXBvcnRpbmcgeyBmYWxzZSB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBEZWZhdWx0TWVkaWFDYXB0dXJlUmVwb3J0
aW5nRGVsYXkgeyAzX3MgfTsKKyAgICBTZWNvbmRzIG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVs
YXkgeyBEZWZhdWx0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgfTsKKwogICAgIGJvb2wgbV9o
YXNIYWRTZWxlY3Rpb25DaGFuZ2VzRnJvbVVzZXJJbnRlcmFjdGlvbiB7IGZhbHNlIH07CiAKICNp
ZiBIQVZFKFRPVUNIX0JBUikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA5NWQ4OTBiNzk4NjMzZDg1NDllNDM4YmJmY2IwM2EwNzFhNGYwYzFhLi41
NmExMDY2YzA3ODQyOWI2YTg3NzJkNmIzMzY2ZjUxMDg3N2NlYzIwIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAt
MDktMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuZCBv
ZiBtZWRpYSBjYXB0dXJlIHNob3VsZCBub3QgYmUgcmVwb3J0ZWQgYmVmb3JlIDMgc2Vjb25kcyBv
ZiB0aGUgc3RhcnQgb2YgY2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEu
bW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorICAgICAg
ICAoLVtHZXRVc2VyTWVkaWFVSURlbGVnYXRlIF93ZWJWaWV3Om1lZGlhQ2FwdHVyZVN0YXRlRGlk
Q2hhbmdlOl0pOgorICAgICAgICBBZGQgYSBub3RDYXB0dXJpbmcgYm9vbGVhbiBhbmQgd2FpdCBm
b3IgdGhlIG5vdGlmaWNhdGlvbiBiZWZvcmUgZ29pbmcgYmFjayB0byB0aGUgY2FwdHVyaW5nIHBh
Z2UuCisgICAgICAgIERlY3JlYXNlIGRlbGF5IHRvIDEgc2Vjb25kIHRvIG1ha2UgdGhlIHRlc3Qg
cnVuIGZhc3Rlci4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorICAgICAgICBNYWtlIHN1cmUgdG8gc2V0IG1lZGlhIGNhcHR1cmUgc3RhdGUgZGVs
YXkgdG8gemVyby4KKwogMjAyMC0wOS0xMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgd2Via2l0LXRlc3QtcnVubmVyOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlZnRl
c3Qtd2FpdCBjbGFzcyBuYW1lCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9HZXRVc2VyTWVkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9HZXRVc2VyTWVkaWEubW0KaW5kZXggZGY1NGY5MTBmOTA0MmI2YzY1MzM4NmM3ZDY0NTczNTcw
ZjMzYzUxMi4uMGNmZjk5NGNmZTBlMTNjYjM0MjdjYmZlZDBlNzcyNzVjZTZmODBmNCAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQpAQCAt
MTI0LDYgKzEyNCw4IEBAIFRFU1QoV2ViS2l0MiwgQ2FwdHVyZU11dGUpCiAgICAgYXV0byBkZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tHZXRVc2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5p
dF0pOwogICAgIHdlYlZpZXcuVUlEZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgpOwogCisgICAgd2Vi
Vmlldy5fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nID0gMDsKKwogICAgIFt3
ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhIl07CiAgICAgRVhQRUNUX1RS
VUUod2FpdFVudGlsQ2FwdHVyZVN0YXRlKHdlYlZpZXcsIF9XS01lZGlhQ2FwdHVyZVN0YXRlQWN0
aXZlQ2FtZXJhKSk7CiAKQEAgLTIwMSw2ICsyMDMsNDMgQEAgVEVTVChXZWJLaXQyLCBDYXB0dXJl
U3RvcCkKICAgICB3YXNQcm9tcHRlZCA9IGZhbHNlOwogfQogCitURVNUKFdlYktpdDIsIENhcHR1
cmVJbmRpY2F0b3JEZWxheSkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gcHJvY2Vzc1Bv
b2xDb25maWcgPSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CisgICAgYXV0byBwcmVmZXJlbmNlcyA9IFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2Vz
XTsKKyAgICBwcmVmZXJlbmNlcy5fbWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9u
ID0gTk87CisgICAgcHJlZmVyZW5jZXMuX21lZGlhRGV2aWNlc0VuYWJsZWQgPSBZRVM7CisgICAg
cHJlZmVyZW5jZXMuX21vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQgPSBZRVM7CisKKyAgICBhdXRv
IG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW0dVTU1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0
XSk7CisgICAgW1tjb25maWd1cmF0aW9uLmdldCgpIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRk
U2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAImd1bSJdOwor
CisgICAgYXV0byB3ZWJWaWV3ID0gW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
OkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5n
ZXQoKSBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWcuZ2V0KCldOwor
ICAgIHdlYlZpZXcuX21lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZyA9IDI7CisK
KyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0dldFVzZXJNZWRpYUNhcHR1cmVVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CisgICAgd2ViVmlldy5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0
KCk7CisKKyAgICB3YXNQcm9tcHRlZCA9IGZhbHNlOworCisgICAgW3dlYlZpZXcgbG9hZFRlc3RQ
YWdlTmFtZWQ6QCJnZXRVc2VyTWVkaWEiXTsKKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxDYXB0
dXJlU3RhdGUod2ViVmlldywgX1dLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmVDYW1lcmEpKTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmd2FzUHJvbXB0ZWQpOworICAgIHdhc1Byb21w
dGVkID0gZmFsc2U7CisKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAic3RvcCgpIl07CisKKyAgICAvLyBXZSB3YWl0IDEgc2Vjb25kLCB3ZSBzaG91bGQgc3RpbGwg
c2VlIGNhbWVyYSBiZSByZXBvcnRlZC4KKyAgICBzbGVlcCgxX3MpOworICAgIEVYUEVDVF9FUShb
d2ViVmlldyBfbWVkaWFDYXB0dXJlU3RhdGVdLCBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZUNh
bWVyYSk7CisKKyAgICAvLyBPbmUgYWRkaXRpb25hbCBzZWNvbmQgc2hvdWxkIGFsbG93IHVzIHRv
IGdvIGJhY2sgdG8gbm8gY2FwdHVyZSBiZWluZyByZXBvcnRlZC4KKyAgICBFWFBFQ1RfVFJVRSh3
YWl0VW50aWxDYXB0dXJlU3RhdGUod2ViVmlldywgX1dLTWVkaWFDYXB0dXJlU3RhdGVOb25lKSk7
CisKK30KKwogVEVTVChXZWJLaXQyLCBHZXRDYXBhYmlsaXRpZXMpCiB7CiAgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJv
Y2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IGFjZTdmNTRkZDlmYTgzZjNi
OWVkYzZkOTQ2MDc5ODJlZWM0ZTVhMWUuLjA1YmU1OWE1YmY0ZmM4ZjQzNDE3M2U0NThkNDc1MGJl
ZWMwYzRiMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtNjM3MSw2ICs2
MzcxLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgTG9hZEFsdGVybmF0aXZlSFRNTCkKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogCiBzdGF0aWMgYm9vbCBpc0NhcHR1cmluZyA9IGZhbHNlOworc3Rh
dGljIGJvb2wgaXNOb3RDYXB0dXJpbmcgPSBmYWxzZTsKIEBpbnRlcmZhY2UgR2V0VXNlck1lZGlh
VUlEZWxlZ2F0ZSA6IE5TT2JqZWN0PFdLVUlEZWxlZ2F0ZT4KIC0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZpY2Vz
OihfV0tDYXB0dXJlRGV2aWNlcylkZXZpY2VzIHVybDooTlNVUkwgKil1cmwgbWFpbkZyYW1lVVJM
OihOU1VSTCAqKW1haW5GcmFtZVVSTCBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgYXV0
aG9yaXplZCkpZGVjaXNpb25IYW5kbGVyOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBjaGVja1VzZXJNZWRpYVBlcm1pc3Npb25Gb3JVUkw6KE5TVVJMICopdXJsIG1haW5G
cmFtZVVSTDooTlNVUkwgKiltYWluRnJhbWVVUkwgZnJhbWVJZGVudGlmaWVyOihOU1VJbnRlZ2Vy
KWZyYW1lSWRlbnRpZmllciBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICpzYWx0
LCBCT09MIGF1dGhvcml6ZWQpKWRlY2lzaW9uSGFuZGxlcjsKQEAgLTYzOTEsNiArNjM5Miw3IEBA
IHN0YXRpYyBib29sIGlzQ2FwdHVyaW5nID0gZmFsc2U7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IG1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlOihfV0tNZWRpYUNhcHR1
cmVTdGF0ZSlzdGF0ZQogewogICAgIGlzQ2FwdHVyaW5nID0gc3RhdGUgPT0gX1dLTWVkaWFDYXB0
dXJlU3RhdGVBY3RpdmVDYW1lcmE7CisgICAgaXNOb3RDYXB0dXJpbmcgPSAhc3RhdGU7CiB9CiBA
ZW5kCiAKQEAgLTY0MjMsNiArNjQyNSw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIEdldFVzZXJNZWRp
YUNhcHR1cmVTdGF0ZSkKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFu
ZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKKyAgICB3ZWJWaWV3LmdldCgpLl9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZv
clRlc3RpbmcgPSAxOwogCiAgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtb
UFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldE5h
dmlnYXRpb25EZWxlZ2F0ZTpuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCldOwpAQCAtNjQ0NywxNCAr
NjQ1MCwxNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBHZXRVc2VyTWVkaWFDYXB0dXJlU3RhdGUpCiAg
ICAgZG9uZSA9IGZhbHNlOwogCiAgICAgYXV0byBwaWQyID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJ
ZGVudGlmaWVyXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzTm90Q2FwdHVyaW5n
KTsKIAogICAgIEVYUEVDVF9GQUxTRShpc0NhcHR1cmluZyk7CiAgICAgRVhQRUNUX0ZBTFNFKHBp
ZDEgPT0gcGlkMik7CiAKICAgICBpc0NhcHR1cmluZyA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IGdv
QmFja107CisKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzQ2FwdHVyaW5nKTsKICAg
ICBpc0NhcHR1cmluZyA9IGZhbHNlOworICAgIGlzTm90Q2FwdHVyaW5nID0gdHJ1ZTsKIH0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDFl
YjlhYWIzOTg4YzFhZTRkNjVhM2MyMmU3ZmNkN2ZkYmQ2YTYyMTEuLjNiMmM3MGQzZDAwMDE1OGQy
MTgwODc4NGYzOWJkZTYyNjZkM2RhM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0xMDc1LDYgKzEwNzUsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpy
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zLCBS
ZQogCiAgICAgV0tQYWdlU2V0TW9ja0NhbWVyYU9yaWVudGF0aW9uKG1fbWFpbldlYlZpZXctPnBh
Z2UoKSwgMCk7CiAgICAgcmVzZXRNb2NrTWVkaWFEZXZpY2VzKCk7CisgICAgV0tQYWdlU2V0TWVk
aWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nKG1fbWFpbldlYlZpZXctPnBhZ2UoKSwg
MCk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBzaG91bGQgYWxzbyBlbnN1cmUgdGhh
dCB0aGVyZSBpcyBvbmx5IG9uZSBwYWdlIG9wZW4uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408799</attachid>
            <date>2020-09-15 00:58:22 -0700</date>
            <delta_ts>2020-09-15 01:56:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-216415-20200915095820.patch</filename>
            <type>text/plain</type>
            <size>19772</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhZWI5MzNhYjc5Zjk5
Mzg3ZDI2ZmZjMzg1MGYyOTU1OGY1ODFmMi4uOTk0NjQ1YjA0NTFhNzUyMzFhY2Y0MDg1MGVhM2Qy
M2JlYzM3OGE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA5LTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmQgb2YgbWVkaWEgY2Fw
dHVyZSBzaG91bGQgbm90IGJlIHJlcG9ydGVkIGJlZm9yZSAzIHNlY29uZHMgb2YgdGhlIHN0YXJ0
IG9mIGNhcHR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAg
ICBBZGQgYSB0aW1lciB0aGF0IGFsbG93cyB0YWtpbmcgYSBmdW5jdGlvbiBhbmQgYSBkZWxheSBh
cyBwYXJhbWV0ZXIuCisgICAgICAgIENvdmVyZWQgYnkgYWRkZWQgQVBJIHRlc3QuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tU
aW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lcjo6ZG9U
YXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVUYXNrVGltZXI6OmNhbmNlbCk6CisK
IDIwMjAtMDktMTQgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAK
ICAgICAgICAgW1dpbkNhaXJvXSBVbnJldmlld2VkIGRlYnVnIGJ1aWxkIGZpeCBhZnRlciByMjY3
MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDMxMmY5MzRkMjhlZTBiMmM1MTAyYjE1YjkzZDgyZjBiNGI5NDNjM2Qu
LjFiZDU5ZGZiNjY1ZWMxMGMzZWU3ZjU1OTNjNjQ0NjRmNjFhZTkwNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDMgQEAKKzIwMjAtMDktMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEVuZCBvZiBtZWRpYSBjYXB0dXJlIHNob3VsZCBub3QgYmUgcmVwb3J0ZWQg
YmVmb3JlIDMgc2Vjb25kcyBvZiB0aGUgc3RhcnQgb2YgY2FwdHVyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDE1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82ODUxMjM1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGRlbGF5aW5nIG9mIGVuZCBvZiBjYXB0dXJlIG5vdGlm
aWNhdGlvbiB0byB0aGUgYXBwbGljYXRpb24uCisgICAgICAgIFRoaXMgYWxsb3dzIHRvIGVuc3Vy
ZSB0aGF0IGEgY2FwdHVyZSBpbmRpY2F0b3Igc3RheXMgZm9yIGxvbmcgZW5vdWdoIGZvciB0aGUg
dXNlciB0byBub3RpY2UgaXQuCisgICAgICAgIEEgY2FwdHVyZSBpbmRpY2F0b3Igc2hvdWxkIGJl
IHZpc2libGUgdG8gdGhlIHVzZXIgZm9yIGF0IGxlYXN0IHRocmVlIHNlY29uZHMuCisKKyAgICAg
ICAgQSB0aW1lciBpcyBzY2hlZHVsZWQgd2hlbiBzdGFydGluZyBhIGNhcHR1cmUgYW5kIHRoZXJl
IGlzIG5vIG9uZ29pbmcgY2FwdHVyZS4KKyAgICAgICAgQXMgbG9uZyBhcyB0aGUgdGltZXIgaXMg
YWN0aXZlLCB0aGUgY2FwdHVyZSBzdGF0ZSBjYW5ub3QgYmUgdHJhbnNpdGlvbmVkIHRvIG5vIGNh
cHR1cmUuCisgICAgICAgIE90aGVyIHRyYW5zaXRpb25zIGFyZSBhbGxvd2VkLgorICAgICAgICBP
bmNlIHRoZSB0aW1lciBraWNrcyBpbiwgYW55IGNhcHR1cmUgc3RhdGUgdXBkYXRlIGlzIGRvbmUg
c3luY2hyb25vdXNseS4KKyAgICAgICAgRW5zdXJlIHRvIHVwZGF0ZSB0aGUgY2FwdHVyZSBzdGF0
ZSB3aGVuIHRoZSB0aW1lciBraWNrcyBpbi4KKworICAgICAgICBOb3RlIHRoYXQgZXZlbiBuYXZp
Z2F0aW9ucyB3aWxsIG5vdCBhbGxvdyB0cmFuc2l0aW9uaW5nIHRoZSBjYXB0dXJlIHN0YXRlIHNv
b25lci4KKyAgICAgICAgVGhpcyBpcyBkb25lIHRvIGVuc3VyZSBhIHBhZ2UgZG9lcyBub3QgdHJ5
IHRvIGNhcHR1cmUgb25lIGZyYW1lIGJlZm9yZSBuYXZpZ2F0aW5nIHRvIGFub3RoZXIgcGFnZS4K
KyAgICAgICAgSW4gcHJhY3RpY2UsIHZlcnkgZmV3IHBhZ2VzIHNob3VsZCBuYXZpZ2F0ZSBxdWlj
a2x5IGFmdGVyIHN0YXJ0aW5nIGNhcHR1cmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUdldE1lZGlhU3RhdGUpOgorICAgICAgICAoV0tQ
YWdlU2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX21lZGlhQ2FwdHVyZVN0
YXRlXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9y
VGVzdGluZy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGlu
Zy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZv
clRlc3RpbmddKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRNZWRpYUNhcHR1cmVSZXBvcnRp
bmdEZWxheUZvclRlc3Rpbmc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXBkYXRlUGxheWluZ01lZGlhRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVSZXBvcnRlZE1l
ZGlhQ2FwdHVyZVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bWVkaWFDYXB0dXJlUmVwb3J0
aW5nRGVsYXkgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldE1lZGlh
Q2FwdHVyZVJlcG9ydGluZ0RlbGF5KToKKwogMjAyMC0wOS0xNCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIFZQOSBpbiBHUFVQcm9jZXNzIGlmIHBh
Z2UgbmVlZHMgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGU3MDgxNTY3ZjQzZGI5NDc5
OGVmYTk0ZWM1ZjNhNDYyYzI1MmJkMDguLmU2MjMwYjc0ZTVkN2Q5YmU1MTgyYTFlZjE5YTY2N2Qw
ZmYzNjQ0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMTk1LDQgKzE5NSwzOCBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCitj
bGFzcyBEZWZlcnJhYmxlVGFza1RpbWVyIGZpbmFsIDogcHJpdmF0ZSBUaW1lckJhc2UgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIERlZmVycmFibGVUYXNrVGlt
ZXIoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lkIGRvVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYsIFNl
Y29uZHMpOworICAgIHZvaWQgY2FuY2VsKCk7CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKTsgfQorCitwcml2YXRlOgorICAgIHZvaWQgZmly
ZWQoKSBmaW5hbDsKKworICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9mdW5jdGlvbjsKK307CisKK2lu
bGluZSB2b2lkIERlZmVycmFibGVUYXNrVGltZXI6OmZpcmVkKCkKK3sKKyAgICBzdGQ6OmV4Y2hh
bmdlKG1fZnVuY3Rpb24sIHsgfSkoKTsKK30KKworaW5saW5lIHZvaWQgRGVmZXJyYWJsZVRhc2tU
aW1lcjo6ZG9UYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbiwgU2Vjb25kcyBkZWxheSkK
K3sKKyAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOworICAgIEFTU0VSVCghbV9mdW5jdGlvbik7Cisg
ICAgbV9mdW5jdGlvbiA9IFdURk1vdmUoZnVuY3Rpb24pOworICAgIHN0YXJ0T25lU2hvdChkZWxh
eSk7Cit9CisKK2lubGluZSB2b2lkIERlZmVycmFibGVUYXNrVGltZXI6OmNhbmNlbCgpCit7Cisg
ICAgc3RkOjpleGNoYW5nZShtX2Z1bmN0aW9uLCB7IH0pOworICAgIHN0b3AoKTsKK30KKwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNjE3ZDAxODYxMTEx
MGI4ZGFkYjEyNTJhNWM1NzY4ZmIyYzkzN2UxMi4uYzhiOWEwNTlmOGM4Zjc3NjBkYTIxZmE1Y2Q5
YzQwNjY5MmIzNDA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
CkBAIC0yODYyLDcgKzI4NjIsNyBAQCBib29sIFdLUGFnZUlzUGxheWluZ0F1ZGlvKFdLUGFnZVJl
ZiBwYWdlKQogCiBXS01lZGlhU3RhdGUgV0tQYWdlR2V0TWVkaWFTdGF0ZShXS1BhZ2VSZWYgcGFn
ZSkKIHsKLSAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgY29yZVN0
YXRlID0gdG9JbXBsKHBhZ2UpLT5tZWRpYVN0YXRlRmxhZ3MoKTsKKyAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgY29yZVN0YXRlID0gdG9JbXBsKHBhZ2UpLT5yZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCk7CiAgICAgV0tNZWRpYVN0YXRlIHN0YXRlID0ga1dLTWVk
aWFJc05vdFBsYXlpbmc7CiAKICAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6SXNQbGF5aW5nQXVkaW8pCkBAIC0yOTk3LDMgKzI5OTcsOCBAQCB2b2lkIFdLUGFnZUNs
ZWFyTG9hZGVkU3VicmVzb3VyY2VEb21haW5zKFdLUGFnZVJlZiBwYWdlKQogICAgIFVOVVNFRF9Q
QVJBTShwYWdlKTsKICNlbmRpZgogfQorCit2b2lkIFdLUGFnZVNldE1lZGlhQ2FwdHVyZVJlcG9y
dGluZ0RlbGF5Rm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgZG91YmxlIGRlbGF5KQoreworICAg
IHRvSW1wbChwYWdlKS0+c2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkoU2Vjb25kcyhkZWxh
eSkpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5o
CmluZGV4IGJjNWZkMTJiNzZjN2ViMjZhYTUxZWVkYTE1NDE1N2YyYzc4Y2Q5MGEuLmM0ZWIzMGRm
ZTNiMDliMWRiMmQwOGY5NTEyNDIzODcwNDZjNzVlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTE5OCw2ICsxOTgsOCBAQCB0eXBlZGVm
IHZvaWQgKCpXS1BhZ2VMb2FkZWRTdWJyZXNvdXJjZURvbWFpbnNGdW5jdGlvbikoV0tBcnJheVJl
ZiBkb21haW5zLCB2b2lkKgogV0tfRVhQT1JUIHZvaWQgV0tQYWdlTG9hZGVkU3VicmVzb3VyY2VE
b21haW5zKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VMb2FkZWRTdWJyZXNvdXJjZURvbWFpbnNGdW5j
dGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdL
UGFnZUNsZWFyTG9hZGVkU3VicmVzb3VyY2VEb21haW5zKFdLUGFnZVJlZiBwYWdlKTsKIAorV0tf
RVhQT1JUIHZvaWQgV0tQYWdlU2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5n
KFdLUGFnZVJlZiBwYWdlLCBkb3VibGUgZGVsYXkpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggNjEzMTlmODhiYjM4MmJmYjE1NTM3YzY4NDkxMmFmOTI3ZjY0NmJkZS4uNGRiNmQ2
YzZlNGY0ZWM3NDBkNjM2ZmY1OWI1YjA4MGUwODNjZTQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yOTUxLDcgKzI5NTEsNyBAQCBz
dGF0aWMgaW5saW5lIE9wdGlvblNldDxXZWJLaXQ6OkZpbmRPcHRpb25zPiB0b0ZpbmRPcHRpb25z
KF9XS0ZpbmRPcHRpb25zIHdrRmluZAogCiAtIChfV0tNZWRpYUNhcHR1cmVTdGF0ZSlfbWVkaWFD
YXB0dXJlU3RhdGUKIHsKLSAgICByZXR1cm4gV2ViS2l0Ojp0b1dLTWVkaWFDYXB0dXJlU3RhdGUo
X3BhZ2UtPm1lZGlhU3RhdGVGbGFncygpKTsKKyAgICByZXR1cm4gV2ViS2l0Ojp0b1dLTWVkaWFD
YXB0dXJlU3RhdGUoX3BhZ2UtPnJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKSk7CiB9CiAKIC0g
KHZvaWQpX3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KEJPT0wpZW5hYmxlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0
aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZUZvclRlc3RpbmcuaAppbmRleCA5YzQ1YmVlYmJkMjU3NTFhZmNhMDQwMjBjMDg2ZDMxYzRiYWU3
YTJiLi5iODc5NTY3NzVkYzAwMDViMmMyODRkOTk2ZTZlMDNkZWUwOTI0MmVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRl
c3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZUZvclRlc3RpbmcuaApAQCAtNDgsNiArNDgsNyBAQCB0eXBlZGVmIGVudW0gewogLSAo
dm9pZClfZGlzYWJsZUJhY2tGb3J3YXJkU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGluZzsKIAog
LSAodm9pZClfZGVueU5leHRVc2VyTWVkaWFSZXF1ZXN0OworQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nOikgZG91Ymxl
IF9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAoQk9PTClfYmVnaW5CYWNr
U3dpcGVGb3JUZXN0aW5nOwogLSAoQk9PTClfY29tcGxldGVCYWNrU3dpcGVGb3JUZXN0aW5nOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rl
c3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVz
dGluZy5tbQppbmRleCAxOTBiNjU1NmFlZDVhNjBiMzcyODE1MWY1MjdlZGRmYzhkYWFhNjkzLi5m
NTAyOTZjNGQ3MTJiYjgxOTYyYTNmZTE1ZDU0YzgzOGY0YTY5Nzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpAQCAt
MjI2LDYgKzIyNiwxNiBAQAogI2VuZGlmCiB9CiAKKy0gKGRvdWJsZSlfbWVkaWFDYXB0dXJlUmVw
b3J0aW5nRGVsYXlGb3JUZXN0aW5nCit7CisgICAgcmV0dXJuIF9wYWdlLT5tZWRpYUNhcHR1cmVS
ZXBvcnRpbmdEZWxheSgpLnZhbHVlKCk7Cit9CisKKy0gKHZvaWQpX3NldE1lZGlhQ2FwdHVyZVJl
cG9ydGluZ0RlbGF5Rm9yVGVzdGluZzooZG91YmxlKWNhcHR1cmVSZXBvcnRpbmdEZWxheQorewor
ICAgIF9wYWdlLT5zZXRNZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheShTZWNvbmRzKGNhcHR1cmVS
ZXBvcnRpbmdEZWxheSkpOworfQorCiAtICh2b2lkKV9kb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRp
bmdNb3VzZUV2ZW50czooZGlzcGF0Y2hfYmxvY2tfdClhY3Rpb24KIHsKICAgICBfcGFnZS0+ZG9B
ZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoW2FjdGlvbiA9IG1ha2VCbG9ja1B0
cihhY3Rpb24pXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAwOTEyZDgwMDQzZTI2NjY3OTIxYTExNGMwN2Y0MDc2YjQ0YjlkNjYyLi5mMWE5ZWMzNDg0MTc4
N2U0YTg3NTFhYzZmNjc2YWQxYTliZmYxYmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTkwMzcsNyArOTAzNyw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1
cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdz
IG5lCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGlmIChvbGRNZWRpYUNhcHR1cmVT
dGF0ZSAhPSBuZXdNZWRpYUNhcHR1cmVTdGF0ZSkgewotICAgICAgICBtX3VpQ2xpZW50LT5tZWRp
YUNhcHR1cmVTdGF0ZURpZENoYW5nZShtX21lZGlhU3RhdGUpOworICAgICAgICB1cGRhdGVSZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCk7CisKICAgICAgICAgQVNTRVJUKG1fdXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyKTsKICAgICAgICAgaWYgKG1fdXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyKQogICAgICAgICAgICAgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXItPmNhcHR1cmVTdGF0ZUNoYW5nZWQob2xkTWVkaWFDYXB0dXJlU3RhdGUsIG5ld01l
ZGlhQ2FwdHVyZVN0YXRlKTsKQEAgLTkwNTYsNiArOTA1NywyOSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6dXBkYXRlUGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVG
bGFncyBuZQogICAgIG1fcHJvY2Vzcy0+dXBkYXRlQXVkaWJsZU1lZGlhQXNzZXJ0aW9ucygpOwog
fQogCit2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgp
Cit7CisgICAgaWYgKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSA9PSBtX21lZGlhU3RhdGUp
CisgICAgICAgIHJldHVybjsKKworICAgIGJvb2wgaGF2ZVJlcG9ydGVkQ2FwdHVyZSA9IG1fcmVw
b3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1lZGlhQ2FwdHVyZU1hc2s7
CisgICAgYm9vbCB3aWxsUmVwb3J0Q2FwdHVyZSA9IG1fbWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVj
ZXI6Ok1lZGlhQ2FwdHVyZU1hc2s7CisKKyAgICBpZiAoaGF2ZVJlcG9ydGVkQ2FwdHVyZSAmJiAh
d2lsbFJlcG9ydENhcHR1cmUgJiYgbV9kZWxheVN0b3BDYXB0dXJpbmdSZXBvcnRpbmdUaW1lci5p
c0FjdGl2ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWhhdmVSZXBvcnRlZENhcHR1
cmUgJiYgd2lsbFJlcG9ydENhcHR1cmUpIHsKKyAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJpbmdS
ZXBvcnRpbmcgPSB0cnVlOworICAgICAgICBtX2RlbGF5U3RvcENhcHR1cmluZ1JlcG9ydGluZ1Rp
bWVyLmRvVGFzayhbdGhpc10geworICAgICAgICAgICAgbV9kZWxheVN0b3BDYXB0dXJpbmdSZXBv
cnRpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgIHVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3Rh
dGUoKTsKKyAgICAgICAgfSwgbV9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheSk7CisgICAgfQor
CisgICAgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlID0gbV9tZWRpYVN0YXRlOworICAgIG1f
dWlDbGllbnQtPm1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7Cit9CisK
IHZvaWQgV2ViUGFnZVByb3h5Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCiB7CiAg
ICAgcGFnZUNsaWVudCgpLnZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDY4OTRjOTZmM2EyZWYyMmJhZWMyZGJh
NjQxNDM4ZDNkZjMyYmMzNjEuLjczNGM0OTg0ZDRmNDdkYjE5Nzc5NTFlZTIyYzJkYmZmMWM4YmI1
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNDQ5LDEyICsx
NDQ5LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNQbGF5aW5nQXVkaW8oKSBjb25zdCB7IHJl
dHVybiAhIShtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc1BsYXlpbmdB
dWRpbyk7IH0KICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpOworICAgIHZvaWQgdXBkYXRlUmVw
b3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgpOworCiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFE
aWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKICAgICBi
b29sIGlzQ2FwdHVyaW5nQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrOyB9CiAgICAgYm9vbCBpc0NhcHR1
cmluZ1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFzazsgfQogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJl
YW0oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVv
U3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJu
IG1fbWVkaWFTdGF0ZTsgfQorICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVG
bGFncyByZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRl
ZE1lZGlhQ2FwdHVyZVN0YXRlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRT
dGF0ZUZsYWdzIG11dGVkU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZTsg
fQogCiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQs
IE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+KTsKQEAgLTE4MjEsNiArMTgy
NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHBkZk9wZW5XaXRoUHJldmlldyhQREZQbHVnaW5JZGVu
dGlmaWVyKTsKICNlbmRpZgogCisgICAgU2Vjb25kcyBtZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxh
eSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXk7IH0KKyAgICB2
b2lkIHNldE1lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5KFNlY29uZHMgY2FwdHVyZVJlcG9ydGlu
Z0RlbGF5KSB7IG1fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgPSBjYXB0dXJlUmVwb3J0aW5n
RGVsYXk7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlBy
b2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lkIHBs
YXRmb3JtSW5pdGlhbGl6ZSgpOwpAQCAtMjc1Niw2ICsyNzYyLDEzIEBAIHByaXZhdGU6CiAKICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbV9tZWRpYVN0YXRlIHsg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nIH07CiAKKyAgICAvLyBUbyBtYWtl
IHN1cmUgY2FwdHVyZSBpbmRpY2F0b3JzIGFyZSB2aXNpYmxlIGxvbmcgZW5vdWdoLCBtX3JlcG9y
dGVkTWVkaWFDYXB0dXJlU3RhdGUgaXMgdGhlIHNhbWUgYXMgbV9tZWRpYVN0YXRlIGV4Y2VwdCB0
aGF0IHdlIG1pZ2h0IGRlbGF5IGEgYml0IHRyYW5zaXRpb24gZnJvbSBjYXB0dXJpbmcgdG8gbm90
LWNhcHR1cmluZy4KKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mg
bV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNO
b3RQbGF5aW5nIH07CisgICAgV2ViQ29yZTo6RGVmZXJyYWJsZVRhc2tUaW1lciBtX2RlbGF5U3Rv
cENhcHR1cmluZ1JlcG9ydGluZ1RpbWVyOworICAgIGJvb2wgbV9kZWxheVN0b3BDYXB0dXJpbmdS
ZXBvcnRpbmcgeyBmYWxzZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBEZWZhdWx0
TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkgeyAzX3MgfTsKKyAgICBTZWNvbmRzIG1fbWVkaWFD
YXB0dXJlUmVwb3J0aW5nRGVsYXkgeyBEZWZhdWx0TWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXkg
fTsKKwogICAgIGJvb2wgbV9oYXNIYWRTZWxlY3Rpb25DaGFuZ2VzRnJvbVVzZXJJbnRlcmFjdGlv
biB7IGZhbHNlIH07CiAKICNpZiBIQVZFKFRPVUNIX0JBUikKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNjRmOWQ4YTJlYTU2YjA0YzE4ZWIyYThh
YTkzNjNhNDgxZDUxZDgzLi4xZDNkZWVhYzFjNDZhMjE3ZjllNGIzNTk3MzljODZlMzc5YzQxNTRj
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMjAtMDktMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEVuZCBvZiBtZWRpYSBjYXB0dXJlIHNob3VsZCBub3QgYmUgcmVwb3J0ZWQg
YmVmb3JlIDMgc2Vjb25kcyBvZiB0aGUgc3RhcnQgb2YgY2FwdHVyZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDE1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvR2V0VXNlck1lZGlhLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbi5tbToKKyAgICAgICAgKC1bR2V0VXNlck1lZGlhVUlEZWxlZ2F0ZSBfd2ViVmlldzptZWRp
YUNhcHR1cmVTdGF0ZURpZENoYW5nZTpdKToKKyAgICAgICAgQWRkIGEgbm90Q2FwdHVyaW5nIGJv
b2xlYW4gYW5kIHdhaXQgZm9yIHRoZSBub3RpZmljYXRpb24gYmVmb3JlIGdvaW5nIGJhY2sgdG8g
dGhlIGNhcHR1cmluZyBwYWdlLgorICAgICAgICBEZWNyZWFzZSBkZWxheSB0byAxIHNlY29uZCB0
byBtYWtlIHRoZSB0ZXN0IHJ1biBmYXN0ZXIuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFN0
YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgTWFrZSBzdXJlIHRvIHNldCBtZWRpYSBj
YXB0dXJlIHN0YXRlIGRlbGF5IHRvIHplcm8uCisKIDIwMjAtMDktMTQgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVu
YWJsaW5nL2Rpc2FibGluZyBTaGFkb3dET00KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQppbmRleCBkZjU0ZjkxMGY5MDQyYjZjNjUzMzg2Yzdk
NjQ1NzM1NzBmMzNjNTEyLi5iNWMxN2RjMjk5ZjgyZTdmYmJmNTAwMmMyZTRmMTkyYjU1OTljZTM5
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVk
aWEubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlh
Lm1tCkBAIC0zNiw2ICszNiw3IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0
ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9y
VGVzdGluZy5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
PgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2ltcG9ydCA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CkBAIC0xMjQsNiArMTI1LDggQEAgVEVTVChXZWJLaXQyLCBDYXB0dXJlTXV0
ZSkKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0dldFVzZXJNZWRpYUNhcHR1cmVVSURl
bGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgd2ViVmlldy5VSURlbGVnYXRlID0gZGVsZWdhdGUu
Z2V0KCk7CiAKKyAgICB3ZWJWaWV3Ll9tZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3Rp
bmcgPSAwOworCiAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJnZXRVc2VyTWVkaWEi
XTsKICAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxDYXB0dXJlU3RhdGUod2ViVmlldywgX1dLTWVk
aWFDYXB0dXJlU3RhdGVBY3RpdmVDYW1lcmEpKTsKIApAQCAtMjAxLDYgKzIwNCw0MyBAQCBURVNU
KFdlYktpdDIsIENhcHR1cmVTdG9wKQogICAgIHdhc1Byb21wdGVkID0gZmFsc2U7CiB9CiAKK1RF
U1QoV2ViS2l0MiwgQ2FwdHVyZUluZGljYXRvckRlbGF5KQoreworICAgIGF1dG8gY29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cisg
ICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZyA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHByZWZlcmVuY2VzID0gW2NvbmZpZ3Vy
YXRpb24gcHJlZmVyZW5jZXNdOworICAgIHByZWZlcmVuY2VzLl9tZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb24gPSBOTzsKKyAgICBwcmVmZXJlbmNlcy5fbWVkaWFEZXZpY2VzRW5h
YmxlZCA9IFlFUzsKKyAgICBwcmVmZXJlbmNlcy5fbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCA9
IFlFUzsKKworICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbR1VNTWVzc2FnZUhh
bmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24uZ2V0KCkgdXNlckNvbnRl
bnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQo
KSBuYW1lOkAiZ3VtIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCkgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uLmdldCgpIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9v
bENvbmZpZy5nZXQoKV07CisgICAgd2ViVmlldy5fbWVkaWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlG
b3JUZXN0aW5nID0gMjsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbR2V0VXNlck1l
ZGlhQ2FwdHVyZVVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICB3ZWJWaWV3LlVJRGVsZWdh
dGUgPSBkZWxlZ2F0ZS5nZXQoKTsKKworICAgIHdhc1Byb21wdGVkID0gZmFsc2U7CisKKyAgICBb
d2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImdldFVzZXJNZWRpYSJdOworICAgIEVYUEVDVF9U
UlVFKHdhaXRVbnRpbENhcHR1cmVTdGF0ZSh3ZWJWaWV3LCBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFj
dGl2ZUNhbWVyYSkpOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZ3YXNQcm9tcHRl
ZCk7CisgICAgd2FzUHJvbXB0ZWQgPSBmYWxzZTsKKworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJzdG9wKCkiXTsKKworICAgIC8vIFdlIHdhaXQgMSBzZWNvbmQs
IHdlIHNob3VsZCBzdGlsbCBzZWUgY2FtZXJhIGJlIHJlcG9ydGVkLgorICAgIHNsZWVwKDFfcyk7
CisgICAgRVhQRUNUX0VRKFt3ZWJWaWV3IF9tZWRpYUNhcHR1cmVTdGF0ZV0sIF9XS01lZGlhQ2Fw
dHVyZVN0YXRlQWN0aXZlQ2FtZXJhKTsKKworICAgIC8vIE9uZSBhZGRpdGlvbmFsIHNlY29uZCBz
aG91bGQgYWxsb3cgdXMgdG8gZ28gYmFjayB0byBubyBjYXB0dXJlIGJlaW5nIHJlcG9ydGVkLgor
ICAgIEVYUEVDVF9UUlVFKHdhaXRVbnRpbENhcHR1cmVTdGF0ZSh3ZWJWaWV3LCBfV0tNZWRpYUNh
cHR1cmVTdGF0ZU5vbmUpKTsKKworfQorCiBURVNUKFdlYktpdDIsIEdldENhcGFiaWxpdGllcykK
IHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBhbGxvY10gaW5pdF0pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KaW5kZXgg
MWY5NjYxY2FmMDY4ZjBiZTMwMGExNDU3NDU1MGRkYTI4MjdjYzU5MS4uOTVkYzlkOThkZjEzYjA3
MDVlMDgxN2QwNTg3MjY1MTIwYzE4OGQyMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tCkBAIC02Mzk2LDYgKzYzOTYsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBMb2FkQWx0ZXJuYXRp
dmVIVE1MKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIHN0YXRpYyBib29sIGlzQ2FwdHVy
aW5nID0gZmFsc2U7CitzdGF0aWMgYm9vbCBpc05vdENhcHR1cmluZyA9IGZhbHNlOwogQGludGVy
ZmFjZSBHZXRVc2VyTWVkaWFVSURlbGVnYXRlIDogTlNPYmplY3Q8V0tVSURlbGVnYXRlPgogLSAo
dm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0VXNlck1lZGlhQXV0aG9y
aXphdGlvbkZvckRldmljZXM6KF9XS0NhcHR1cmVEZXZpY2VzKWRldmljZXMgdXJsOihOU1VSTCAq
KXVybCBtYWluRnJhbWVVUkw6KE5TVVJMICopbWFpbkZyYW1lVVJMIGRlY2lzaW9uSGFuZGxlcjoo
dm9pZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXI7CiAtICh2b2lkKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNoZWNrVXNlck1lZGlhUGVybWlzc2lvbkZvclVSTDoo
TlNVUkwgKil1cmwgbWFpbkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTCBmcmFtZUlkZW50
aWZpZXI6KE5TVUludGVnZXIpZnJhbWVJZGVudGlmaWVyIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAo
XikoTlNTdHJpbmcgKnNhbHQsIEJPT0wgYXV0aG9yaXplZCkpZGVjaXNpb25IYW5kbGVyOwpAQCAt
NjQxNiw2ICs2NDE3LDcgQEAgc3RhdGljIGJvb2wgaXNDYXB0dXJpbmcgPSBmYWxzZTsKIC0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbWVkaWFDYXB0dXJlU3RhdGVEaWRDaGFu
Z2U6KF9XS01lZGlhQ2FwdHVyZVN0YXRlKXN0YXRlCiB7CiAgICAgaXNDYXB0dXJpbmcgPSBzdGF0
ZSA9PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZUNhbWVyYTsKKyAgICBpc05vdENhcHR1cmlu
ZyA9ICFzdGF0ZTsKIH0KIEBlbmQKIApAQCAtNjQ0OCw2ICs2NDUwLDcgQEAgVEVTVChQcm9jZXNz
U3dhcCwgR2V0VXNlck1lZGlhQ2FwdHVyZVN0YXRlKQogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlv
biBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJd
OwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJW
aWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIHdlYlZpZXcuZ2V0KCkuX21lZGlhQ2FwdHVy
ZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZyA9IDE7CiAKICAgICBhdXRvIG5hdmlnYXRpb25EZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAg
ICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQo
KV07CkBAIC02NDcyLDE0ICs2NDc1LDE3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIEdldFVzZXJNZWRp
YUNhcHR1cmVTdGF0ZSkKICAgICBkb25lID0gZmFsc2U7CiAKICAgICBhdXRvIHBpZDIgPSBbd2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmaXNOb3RDYXB0dXJpbmcpOwogCiAgICAgRVhQRUNUX0ZBTFNFKGlzQ2FwdHVyaW5nKTsKICAg
ICBFWFBFQ1RfRkFMU0UocGlkMSA9PSBwaWQyKTsKIAogICAgIGlzQ2FwdHVyaW5nID0gZmFsc2U7
CiAgICAgW3dlYlZpZXcgZ29CYWNrXTsKKwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
aXNDYXB0dXJpbmcpOwogICAgIGlzQ2FwdHVyaW5nID0gZmFsc2U7CisgICAgaXNOb3RDYXB0dXJp
bmcgPSB0cnVlOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggZTg1ODNiOGMxMmE0NTk3ODlkNDA5NGE4OTY5N2UwZjc2MGIwYzEwMi4u
ZTBiMjRlNjRkMTFiN2JlMjRkYjQ1YTQ5NTI4MDVjYjFjMDg1ODEyNCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTEwNzQsNiArMTA3NCw3IEBAIGJvb2wg
VGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9w
dGlvbnMmIG9wdGlvbnMsIFJlCiAKICAgICBXS1BhZ2VTZXRNb2NrQ2FtZXJhT3JpZW50YXRpb24o
bV9tYWluV2ViVmlldy0+cGFnZSgpLCAwKTsKICAgICByZXNldE1vY2tNZWRpYURldmljZXMoKTsK
KyAgICBXS1BhZ2VTZXRNZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3RpbmcobV9tYWlu
V2ViVmlldy0+cGFnZSgpLCAwKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHNob3Vs
ZCBhbHNvIGVuc3VyZSB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHBhZ2Ugb3Blbi4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>