<?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>204114</bug_id>
          
          <creation_ts>2019-11-12 07:12:05 -0800</creation_ts>
          <short_desc>WebDriver: fix handling of session timeouts for values higher than MAX_INT</short_desc>
          <delta_ts>2019-12-23 02:43:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebDriver</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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589514</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-12 07:12:05 -0800</bug_when>
    <thetext>Timeout values can be between 0 and the maximum size integer (2^53 - 1) which is higher than INT_MAX. There are several tests failing because of this:

imported/w3c/webdriver/tests/set_timeouts/set.py::test_positive_integer[9007199254740991-implicit]
imported/w3c/webdriver/tests/set_timeouts/set.py::test_positive_integer[9007199254740991-pageLoad]
imported/w3c/webdriver/tests/set_timeouts/set.py::test_positive_integer[9007199254740991-script]

&gt;       assert session.timeouts._get(typ) == value
E       AssertionError: assert 2147483647 == 9007199254740991

We should just use double everywhere and avoid the seconds to milliseconds conversions too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589518</commentid>
    <comment_count>1</comment_count>
      <attachid>383354</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-12 07:22:29 -0800</bug_when>
    <thetext>Created attachment 383354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589529</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-11-12 08:24:42 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590212</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-14 00:09:02 -0800</bug_when>
    <thetext>Brian, could you review this one? and confirm it doesn&apos;t break safari driver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599178</commentid>
    <comment_count>4</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-12-16 15:46:38 -0800</bug_when>
    <thetext>Taking a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599181</commentid>
    <comment_count>5</comment_count>
      <attachid>383354</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-12-16 15:56:04 -0800</bug_when>
    <thetext>Comment on attachment 383354
Patch

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

r- because its needs to be rebased.

Code changes look otherwise fine.

Only concern: I understand moving from int to Seconds, but not from Seconds to double. Is there any practical benefit to using raw double over Seconds to represent seconds? It seems like the entire point of Seconds is to replace usage of doubles.

&gt; Source/WebDriver/Session.h:54
&gt; +    double pageLoadTimeout() const { return m_pageLoadTimeout; }

Why?

&gt; Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:269
&gt; +        JSValueMakeNumber(context, callbackTimeout.valueOr(-1))

Okay.

&gt; Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.js:67
&gt; +            if (!resultReported &amp;&amp; callbackTimeout &gt;= 0)

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599306</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-17 00:47:48 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #5)
&gt; Comment on attachment 383354 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383354&amp;action=review
&gt; 
&gt; r- because its needs to be rebased.

Ok, that&apos;s more a r+ cq- :-)

&gt; Code changes look otherwise fine.
&gt; 
&gt; Only concern: I understand moving from int to Seconds, but not from Seconds
&gt; to double. Is there any practical benefit to using raw double over Seconds
&gt; to represent seconds? It seems like the entire point of Seconds is to
&gt; replace usage of doubles.

IIRC I got rounding errors that made some tests fail. I&apos;ll check again, I don&apos;t remember now.

&gt; &gt; Source/WebDriver/Session.h:54
&gt; &gt; +    double pageLoadTimeout() const { return m_pageLoadTimeout; }
&gt; 
&gt; Why?
&gt; 
&gt; &gt; Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:269
&gt; &gt; +        JSValueMakeNumber(context, callbackTimeout.valueOr(-1))
&gt; 
&gt; Okay.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.js:67
&gt; &gt; +            if (!resultReported &amp;&amp; callbackTimeout &gt;= 0)
&gt; 
&gt; Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599351</commentid>
    <comment_count>7</comment_count>
      <attachid>383354</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-17 02:52:30 -0800</bug_when>
    <thetext>Comment on attachment 383354
Patch

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

&gt;&gt;&gt; Source/WebDriver/Session.h:54
&gt;&gt;&gt; +    double pageLoadTimeout() const { return m_pageLoadTimeout; }
&gt;&gt; 
&gt;&gt; Why?
&gt; 
&gt; 

When using Seconds we first get a double value in milliseconds that is converted to seconds. That value is then converted again to milliseconds when used as a timeout in js code. So we get milliseconds and we need milliseconds, there&apos;s no need to convert to seconds at all. There are also rounding issue when doing so, for example the tests that check that maximum value 9007199254740991 fail if we convert to and from seconds, see:

v = 9007199254740991.
v / 1000 -&gt; 9007199254740.99
(v / 1000) * 1000 -&gt; 9007199254740990.0
9007199254740991. != 9007199254740990.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599353</commentid>
    <comment_count>8</comment_count>
      <attachid>385872</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-17 02:53:54 -0800</bug_when>
    <thetext>Created attachment 385872
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601218</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-23 02:10:35 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; (In reply to Brian Burg from comment #5)
&gt; &gt; Comment on attachment 383354 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=383354&amp;action=review
&gt; &gt; 
&gt; &gt; r- because its needs to be rebased.
&gt; 
&gt; Ok, that&apos;s more a r+ cq- :-)

I&apos;ll assume it and land this patch before I have to rebase it again. I&apos;ll rebase the other patches waiting review that depend on this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601219</commentid>
    <comment_count>10</comment_count>
      <attachid>386333</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-23 02:13:49 -0800</bug_when>
    <thetext>Created attachment 386333
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601222</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-23 02:42:34 -0800</bug_when>
    <thetext>Committed r253883: &lt;https://trac.webkit.org/changeset/253883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601223</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-23 02:43:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/58156898&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383354</attachid>
            <date>2019-11-12 07:22:29 -0800</date>
            <delta_ts>2019-12-17 02:53:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-timeouts.diff</filename>
            <type>text/plain</type>
            <size>43343</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDUxZWNmNDQyZTdiLi5lZDVmYzg1ZjcwZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTEtMTIgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZl
cjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMgZm9yIHZhbHVlcyBoaWdoZXIgdGhh
biBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXggZ2VuZXJhdGlvbiBvZiBjb2RlIHdpdGggb3B0aW9uYWwgbnVtYmVyIGluIHN0YWNrIHZh
cmlhYmxlLgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJh
dG9yLnB5OgorICAgICAgICAoQ3BwR2VuZXJhdG9yLmNwcF90eXBlX2Zvcl9zdGFja19pbl9wYXJh
bWV0ZXIpOiBEbyBub3QgdXNlIE9wdGlvbmFsIGZvciBudW1iZXJzIGVpdGhlci4KKyAgICAgICAg
KiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgt
b3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdDoKKwogMjAxOS0xMS0x
MSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIGZpeCBpbmNvcnJlY3QgYXNzZXJ0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvci5w
eQppbmRleCAwNjBmMDMxN2Q1NC4uZGY4Mzc3NWM5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dl
bmVyYXRvci5weQpAQCAtMjc1LDcgKzI3NSw3IEBAIGNsYXNzIENwcEdlbmVyYXRvcihHZW5lcmF0
b3IpOgogICAgICAgICAgICAgY3BwX25hbWUgPSBDcHBHZW5lcmF0b3IuY3BwX25hbWVfZm9yX3By
aW1pdGl2ZV90eXBlKF90eXBlKQogICAgICAgICAgICAgaWYgX3R5cGUucXVhbGlmaWVkX25hbWUo
KSBpbiBbJ2FueScsICdvYmplY3QnXToKICAgICAgICAgICAgICAgICByZXR1cm4gIlJlZlB0cjwl
cz4iICUgQ3BwR2VuZXJhdG9yLmNwcF9uYW1lX2Zvcl9wcmltaXRpdmVfdHlwZShfdHlwZSkKLSAg
ICAgICAgICAgIGVsaWYgcGFyYW1ldGVyLmlzX29wdGlvbmFsIGFuZCBfdHlwZS5xdWFsaWZpZWRf
bmFtZSgpIG5vdCBpbiBbJ2Jvb2xlYW4nLCAnc3RyaW5nJywgJ2ludGVnZXInXToKKyAgICAgICAg
ICAgIGVsaWYgcGFyYW1ldGVyLmlzX29wdGlvbmFsIGFuZCBfdHlwZS5xdWFsaWZpZWRfbmFtZSgp
IG5vdCBpbiBbJ2Jvb2xlYW4nLCAnc3RyaW5nJywgJ2ludGVnZXInLCAnbnVtYmVyJ106CiAgICAg
ICAgICAgICAgICAgcmV0dXJuICJPcHRpb25hbDwlcz4iICUgY3BwX25hbWUKICAgICAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNwcF9uYW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1
bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMu
anNvbi1yZXN1bHQKaW5kZXggOWRiNTZiNWI1NWEuLjA5ZjU1ODc3MThkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3Rz
L2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJh
bWV0ZXJzLmpzb24tcmVzdWx0CkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBEYXRhYmFzZUJhY2tl
bmREaXNwYXRjaGVyOjpleGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzKGxvbmcgcmVxdWVzdElk
LCBSZWYKICAgICBib29sIG9wdF9pbl9ub3Rlc192YWx1ZUZvdW5kID0gZmFsc2U7CiAgICAgU3Ry
aW5nIG9wdF9pbl9ub3RlcyA9IG1fYmFja2VuZERpc3BhdGNoZXItPmdldFN0cmluZyhwYXJhbWV0
ZXJzLmdldCgpLCAibm90ZXMiX3MsICZvcHRfaW5fbm90ZXNfdmFsdWVGb3VuZCk7CiAgICAgYm9v
bCBvcHRfaW5fdGltZXN0YW1wX3ZhbHVlRm91bmQgPSBmYWxzZTsKLSAgICBPcHRpb25hbDxkb3Vi
bGU+IG9wdF9pbl90aW1lc3RhbXAgPSBtX2JhY2tlbmREaXNwYXRjaGVyLT5nZXREb3VibGUocGFy
YW1ldGVycy5nZXQoKSwgInRpbWVzdGFtcCJfcywgJm9wdF9pbl90aW1lc3RhbXBfdmFsdWVGb3Vu
ZCk7CisgICAgZG91YmxlIG9wdF9pbl90aW1lc3RhbXAgPSBtX2JhY2tlbmREaXNwYXRjaGVyLT5n
ZXREb3VibGUocGFyYW1ldGVycy5nZXQoKSwgInRpbWVzdGFtcCJfcywgJm9wdF9pbl90aW1lc3Rh
bXBfdmFsdWVGb3VuZCk7CiAgICAgYm9vbCBvcHRfaW5fdmFsdWVzX3ZhbHVlRm91bmQgPSBmYWxz
ZTsKICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBvcHRfaW5fdmFsdWVzID0gbV9iYWNrZW5kRGlz
cGF0Y2hlci0+Z2V0T2JqZWN0KHBhcmFtZXRlcnMuZ2V0KCksICJ2YWx1ZXMiX3MsICZvcHRfaW5f
dmFsdWVzX3ZhbHVlRm91bmQpOwogICAgIGJvb2wgb3B0X2luX3BheWxvYWRfdmFsdWVGb3VuZCA9
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJEcml2ZXIvQ2FwYWJpbGl0aWVzLmgKaW5kZXggOWViODdhMTUyNzUuLjZmOWY2YjJi
NjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NhcGFiaWxpdGllcy5oCisrKyBiL1Nv
dXJjZS9XZWJEcml2ZXIvQ2FwYWJpbGl0aWVzLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1
ZGUgPHV0aWxpdHk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvU2Vj
b25kcy5oPgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNSw5ICszNCw5IEBACiBuYW1lc3Bh
Y2UgV2ViRHJpdmVyIHsKIAogc3RydWN0IFRpbWVvdXRzIHsKLSAgICBPcHRpb25hbDxTZWNvbmRz
PiBzY3JpcHQ7Ci0gICAgT3B0aW9uYWw8U2Vjb25kcz4gcGFnZUxvYWQ7Ci0gICAgT3B0aW9uYWw8
U2Vjb25kcz4gaW1wbGljaXQ7CisgICAgT3B0aW9uYWw8ZG91YmxlPiBzY3JpcHQ7CisgICAgT3B0
aW9uYWw8ZG91YmxlPiBwYWdlTG9hZDsKKyAgICBPcHRpb25hbDxkb3VibGU+IGltcGxpY2l0Owog
fTsKIAogZW51bSBjbGFzcyBQYWdlTG9hZFN0cmF0ZWd5IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKaW5kZXggYzA0
MmVjMzA1YzAuLjllZTBmYjc3OGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisy
MDE5LTExLTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBXZWJEcml2ZXI6IGZpeCBoYW5kbGluZyBvZiBzZXNzaW9uIHRpbWVvdXRzIGZvciB2
YWx1ZXMgaGlnaGVyIHRoYW4gTUFYX0lOVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXNlIGRvdWJsZSBpbnN0ZWFkIG9mIFNlY29uZHMgZm9yIGhhbmRs
aW5nIHRpbWVvdXRzLgorCisgICAgICAgICogQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogU2Vz
c2lvbi5jcHA6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmdldFRpbWVvdXRzKTogSGFu
ZGxlIHRoZSBjYXNlIG9mIHNjcmlwdCB0aW1lb3V0IGJlaW5nIG51bGwuCisgICAgICAgIChXZWJE
cml2ZXI6OlNlc3Npb246OmdvKToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6YmFjayk6
CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmZvcndhcmQpOgorICAgICAgICAoV2ViRHJp
dmVyOjpTZXNzaW9uOjpyZWZyZXNoKToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6Zmlu
ZEVsZW1lbnRzKToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6d2FpdEZvck5hdmlnYXRp
b25Ub0NvbXBsZXRlKToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6ZXhlY3V0ZVNjcmlw
dCk6IERvIG5vdCBwYXNzIGEgdGltZW91dCB3aGVuIGl0J3MgbnVsbC4KKyAgICAgICAgKiBTZXNz
aW9uLmg6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OnNjcmlwdFRpbWVvdXQgY29uc3Qp
OgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpwYWdlTG9hZFRpbWVvdXQgY29uc3QpOgor
ICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjppbXBsaWNpdFdhaXRUaW1lb3V0IGNvbnN0KToK
KyAgICAgICAgKiBXZWJEcml2ZXJTZXJ2aWNlLmNwcDoKKyAgICAgICAgKFdlYkRyaXZlcjo6ZGVz
ZXJpYWxpemVUaW1lb3V0cyk6IEFkZCBJZ25vcmVVbmtub3duVGltZW91dCwgc2luY2Ugd2Ugc2hv
dWxkIG9ubHkgZmFpbCB3aGVuIHByb2Nlc3NpbmcKKyAgICAgICAgY2FwYWJpbGl0aWVzLCBidXQg
bm90IHdoZW4gc2V0dGluZyBuZXcgdGltZW91dHMuIEFsc28gaGFuZGxlIHRoZSBjYXNlIG9mIHNj
cmlwdCB0aW1lb3V0IGJlaW5nIG51bGwuCisgICAgICAgIChXZWJEcml2ZXI6OldlYkRyaXZlclNl
cnZpY2U6OnBhcnNlQ2FwYWJpbGl0aWVzIGNvbnN0KTogUGFzcyBJZ25vcmVVbmtub3duVGltZW91
dDo6Tm8gdG8gZGVzZXJpYWxpemVUaW1lb3V0cy4KKyAgICAgICAgKFdlYkRyaXZlcjo6V2ViRHJp
dmVyU2VydmljZTo6dmFsaWRhdGVkQ2FwYWJpbGl0aWVzIGNvbnN0KTogRGl0dG8uCisgICAgICAg
IChXZWJEcml2ZXI6OldlYkRyaXZlclNlcnZpY2U6OmNyZWF0ZVNlc3Npb24pOiBIYW5kbGUgdGhl
IGNhc2Ugb2Ygc2NyaXB0IHRpbWVvdXQgYmVpbmcgbnVsbC4KKyAgICAgICAgKFdlYkRyaXZlcjo6
V2ViRHJpdmVyU2VydmljZTo6c2V0VGltZW91dHMpOiBQYXNzIElnbm9yZVVua25vd25UaW1lb3V0
OjpZZXMgdG8gZGVzZXJpYWxpemVUaW1lb3V0cy4KKwogMjAxOS0xMS0xMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gV2ViRHJpdmVy
OiBpbXBsZW1lbnQgbmV3IHdpbmRvdyBjb21tYW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJp
dmVyL1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAppbmRleCAyODJh
ZTc0MjIzNi4uMWE3NmFjZDRjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcApAQCAtMzcsMTEgKzM3LDEx
IEBACiBuYW1lc3BhY2UgV2ViRHJpdmVyIHsKIAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI2Rmbi1zZXNzaW9uLXNjcmlwdC10aW1lb3V0Ci1z
dGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0U2NyaXB0VGltZW91dCA9IDMwX3M7CitzdGF0aWMg
Y29uc3QgZG91YmxlIGRlZmF1bHRTY3JpcHRUaW1lb3V0ID0gMzAwMDA7CiAvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLXNlc3Npb24tcGFn
ZS1sb2FkLXRpbWVvdXQKLXN0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRQYWdlTG9hZFRpbWVv
dXQgPSAzMDBfczsKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdFBhZ2VMb2FkVGltZW91dCA9
IDMwMDAwMDsKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNw
ZWMuaHRtbCNkZm4tc2Vzc2lvbi1pbXBsaWNpdC13YWl0LXRpbWVvdXQKLXN0YXRpYyBjb25zdCBT
ZWNvbmRzIGRlZmF1bHRJbXBsaWNpdFdhaXRUaW1lb3V0ID0gMF9zOworc3RhdGljIGNvbnN0IGRv
dWJsZSBkZWZhdWx0SW1wbGljaXRXYWl0VGltZW91dCA9IDA7CiAKIGNvbnN0IFN0cmluZyYgU2Vz
c2lvbjo6d2ViRWxlbWVudElkZW50aWZpZXIoKQogewpAQCAtMTI2LDkgKzEyNiwxMiBAQCB2b2lk
IFNlc3Npb246OmNsb3NlKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB2b2lkIFNlc3Npb246OmdldFRpbWVvdXRzKEZ1bmN0aW9uPHZvaWQgKENv
bW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgUmVmUHRyPEpTT046
Ok9iamVjdD4gcGFyYW1ldGVycyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgcGFyYW1l
dGVycy0+c2V0SW50ZWdlcigic2NyaXB0Il9zLCBtX3NjcmlwdFRpbWVvdXQubWlsbGlzZWNvbmRz
QXM8aW50PigpKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJwYWdlTG9hZCJfcywgbV9w
YWdlTG9hZFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKLSAgICBwYXJhbWV0ZXJzLT5z
ZXRJbnRlZ2VyKCJpbXBsaWNpdCJfcywgbV9pbXBsaWNpdFdhaXRUaW1lb3V0Lm1pbGxpc2Vjb25k
c0FzPGludD4oKSk7CisgICAgaWYgKG1fc2NyaXB0VGltZW91dCA9PSBzdGQ6Om51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgICAgIHBhcmFtZXRlcnMtPnNldFZhbHVlKCJz
Y3JpcHQiX3MsIEpTT046OlZhbHVlOjpudWxsKCkpOworICAgIGVsc2UKKyAgICAgICAgcGFyYW1l
dGVycy0+c2V0RG91YmxlKCJzY3JpcHQiX3MsIG1fc2NyaXB0VGltZW91dCk7CisgICAgcGFyYW1l
dGVycy0+c2V0RG91YmxlKCJwYWdlTG9hZCJfcywgbV9wYWdlTG9hZFRpbWVvdXQpOworICAgIHBh
cmFtZXRlcnMtPnNldERvdWJsZSgiaW1wbGljaXQiX3MsIG1faW1wbGljaXRXYWl0VGltZW91dCk7
CiAgICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6c3VjY2VzcyhXVEZNb3ZlKHBh
cmFtZXRlcnMpKSk7CiB9CiAKQEAgLTI5OSw3ICszMDIsNyBAQCB2b2lkIFNlc3Npb246OmdvKGNv
bnN0IFN0cmluZyYgdXJsLCBGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpbwogICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJhbWV0ZXJzID0gSlNPTjo6T2Jq
ZWN0OjpjcmVhdGUoKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJoYW5kbGUiX3Ms
IG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CiAgICAgICAgIHBhcmFtZXRlcnMt
PnNldFN0cmluZygidXJsIl9zLCB1cmwpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2Vy
KCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0Lm1pbGxpc2Vjb25kc0FzPGlu
dD4oKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldERvdWJsZSgicGFnZUxvYWRUaW1lb3V0Il9z
LCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgICAgIGlmIChhdXRvIHBhZ2VMb2FkU3RyYXRlZ3kg
PSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRT
dHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7CiAg
ICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoIm5hdmlnYXRlQnJvd3NpbmdDb250
ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IHByb3Rl
Y3RlZFRoaXMuY29weVJlZigpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAg
LTM2Miw3ICszNjUsNyBAQCB2b2lkIFNlc3Npb246OmJhY2soRnVuY3Rpb248dm9pZCAoQ29tbWFu
ZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgfQogICAgICAgICBSZWZQ
dHI8SlNPTjo6T2JqZWN0PiBwYXJhbWV0ZXJzID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAg
ICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJoYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2lu
Z0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VM
b2FkVGltZW91dCJfcywgbV9wYWdlTG9hZFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsK
KyAgICAgICAgcGFyYW1ldGVycy0+c2V0RG91YmxlKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFn
ZUxvYWRUaW1lb3V0KTsKICAgICAgICAgaWYgKGF1dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VM
b2FkU3RyYXRlZ3lTdHJpbmcoKSkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
cGFnZUxvYWRTdHJhdGVneSJfcywgcGFnZUxvYWRTdHJhdGVneS52YWx1ZSgpKTsKICAgICAgICAg
bV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZ29CYWNrSW5Ccm93c2luZ0NvbnRleHQiX3Ms
IFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcHJvdGVjdGVkVGhp
cy5jb3B5UmVmKCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewpAQCAtMzkwLDcg
KzM5Myw3IEBAIHZvaWQgU2Vzc2lvbjo6Zm9yd2FyZChGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVz
dWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxK
U09OOjpPYmplY3Q+IHBhcmFtZXRlcnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAg
ICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29u
dGV4dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0SW50ZWdlcigicGFnZUxvYWRU
aW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUoInBhZ2VMb2FkVGltZW91dCJfcywgbV9wYWdlTG9h
ZFRpbWVvdXQpOwogICAgICAgICBpZiAoYXV0byBwYWdlTG9hZFN0cmF0ZWd5ID0gcGFnZUxvYWRT
dHJhdGVneVN0cmluZygpKQogICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJwYWdl
TG9hZFN0cmF0ZWd5Il9zLCBwYWdlTG9hZFN0cmF0ZWd5LnZhbHVlKCkpOwogICAgICAgICBtX2hv
c3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJnb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dCJfcywg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlz
LmNvcHlSZWYoKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CkBAIC00MTgsNyAr
NDIxLDcgQEAgdm9pZCBTZXNzaW9uOjpyZWZyZXNoKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1
bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPEpT
T046Ok9iamVjdD4gcGFyYW1ldGVycyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAg
IHBhcmFtZXRlcnMtPnNldFN0cmluZygiaGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250
ZXh0LnZhbHVlKCkpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJwYWdlTG9hZFRp
bWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0Lm1pbGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAg
ICAgIHBhcmFtZXRlcnMtPnNldERvdWJsZSgicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2Fk
VGltZW91dCk7CiAgICAgICAgIGlmIChhdXRvIHBhZ2VMb2FkU3RyYXRlZ3kgPSBwYWdlTG9hZFN0
cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoInBhZ2VM
b2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7CiAgICAgICAgIG1faG9z
dC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoInJlbG9hZEJyb3dzaW5nQ29udGV4dCJfcywgV1RGTW92
ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlzLmNvcHlS
ZWYoKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vz
c2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CkBAIC0xMDM3LDcgKzEwNDAs
NyBAQCB2b2lkIFNlc3Npb246OmZpbmRFbGVtZW50cyhjb25zdCBTdHJpbmcmIHN0cmF0ZWd5LCBj
b25zdCBTdHJpbmcmIHNlbGVjdG9yLCBGaW5kRQogICAgICAgICAgICAgYXJndW1lbnRzLT5wdXNo
U3RyaW5nKGNyZWF0ZUVsZW1lbnQocm9vdEVsZW1lbnRJRCktPnRvSlNPTlN0cmluZygpKTsKICAg
ICAgICAgYXJndW1lbnRzLT5wdXNoU3RyaW5nKEpTT046OlZhbHVlOjpjcmVhdGUoc2VsZWN0b3Ip
LT50b0pTT05TdHJpbmcoKSk7CiAgICAgICAgIGFyZ3VtZW50cy0+cHVzaFN0cmluZyhKU09OOjpW
YWx1ZTo6Y3JlYXRlKG1vZGUgPT0gRmluZEVsZW1lbnRzTW9kZTo6U2luZ2xlKS0+dG9KU09OU3Ry
aW5nKCkpOwotICAgICAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoSlNPTjo6VmFsdWU6OmNyZWF0
ZShtX2ltcGxpY2l0V2FpdFRpbWVvdXQubWlsbGlzZWNvbmRzKCkpLT50b0pTT05TdHJpbmcoKSk7
CisgICAgICAgIGFyZ3VtZW50cy0+cHVzaFN0cmluZyhKU09OOjpWYWx1ZTo6Y3JlYXRlKG1faW1w
bGljaXRXYWl0VGltZW91dCktPnRvSlNPTlN0cmluZygpKTsKIAogICAgICAgICBSZWZQdHI8SlNP
Tjo6T2JqZWN0PiBwYXJhbWV0ZXJzID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICAgICAg
cGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2
ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CkBAIC0xMDQ4LDcgKzEwNTEsNyBAQCB2b2lkIFNl
c3Npb246OmZpbmRFbGVtZW50cyhjb25zdCBTdHJpbmcmIHN0cmF0ZWd5LCBjb25zdCBTdHJpbmcm
IHNlbGVjdG9yLCBGaW5kRQogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRCb29sZWFuKCJleHBlY3Rz
SW1wbGljaXRDYWxsYmFja0FyZ3VtZW50Il9zLCB0cnVlKTsKICAgICAgICAgLy8gSWYgdGhlcmUn
cyBhbiBpbXBsaWNpdCB3YWl0LCB1c2Ugb25lIHNlY29uZCBtb3JlIGFzIGNhbGxiYWNrIHRpbWVv
dXQuCiAgICAgICAgIGlmIChtX2ltcGxpY2l0V2FpdFRpbWVvdXQpCi0gICAgICAgICAgICBwYXJh
bWV0ZXJzLT5zZXRJbnRlZ2VyKCJjYWxsYmFja1RpbWVvdXQiX3MsIFNlY29uZHMobV9pbXBsaWNp
dFdhaXRUaW1lb3V0ICsgMV9zKS5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAgICAgICAgICAg
cGFyYW1ldGVycy0+c2V0RG91YmxlKCJjYWxsYmFja1RpbWVvdXQiX3MsIG1faW1wbGljaXRXYWl0
VGltZW91dCArIDEwMDApOwogCiAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQo
ImV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBtb2RlLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29t
bWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vy
cm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTUxNSw3ICsxNTE4LDcgQEAg
dm9pZCBTZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGUoRnVuY3Rpb248dm9pZCAo
Q29tbWFuZFJlc3VsdCYmKT4mJiBjb20KICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJyb3dz
aW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsK
ICAgICBpZiAobV9jdXJyZW50QnJvd3NpbmdDb250ZXh0KQogICAgICAgICBwYXJhbWV0ZXJzLT5z
ZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUo
KSk7Ci0gICAgcGFyYW1ldGVycy0+c2V0SW50ZWdlcigicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3Bh
Z2VMb2FkVGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAgIHBhcmFtZXRlcnMtPnNl
dERvdWJsZSgicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgaWYg
KGF1dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcoKSkKICAgICAg
ICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJwYWdlTG9hZFN0cmF0ZWd5Il9zLCBwYWdlTG9hZFN0
cmF0ZWd5LnZhbHVlKCkpOwogICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoIndhaXRG
b3JOYXZpZ2F0aW9uVG9Db21wbGV0ZSJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3Bv
bnNlKSB7CkBAIC0xOTUzLDggKzE5NTYsOCBAQCB2b2lkIFNlc3Npb246OmV4ZWN1dGVTY3JpcHQo
Y29uc3QgU3RyaW5nJiBzY3JpcHQsIFJlZlB0cjxKU09OOjpBcnJheT4mJiBhcmd1bWVudAogICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50
cykpOwogICAgICAgICBpZiAobW9kZSA9PSBFeGVjdXRlU2NyaXB0TW9kZTo6QXN5bmMpIHsKICAg
ICAgICAgICAgIHBhcmFtZXRlcnMtPnNldEJvb2xlYW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNr
QXJndW1lbnQiX3MsIHRydWUpOwotICAgICAgICAgICAgaWYgKG1fc2NyaXB0VGltZW91dCkKLSAg
ICAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJjYWxsYmFja1RpbWVvdXQiX3Ms
IG1fc2NyaXB0VGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAgICAgICAgICAgaWYg
KG1fc2NyaXB0VGltZW91dCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5
KCkpCisgICAgICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0RG91YmxlKCJjYWxsYmFja1RpbWVv
dXQiX3MsIG1fc2NyaXB0VGltZW91dCk7CiAgICAgICAgIH0KICAgICAgICAgbV9ob3N0LT5zZW5k
Q29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdURk1vdmUo
cGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVm
KCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Np
b25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgbXV0YWJsZSB7CiAgICAgICAgICAg
ICBpZiAocmVzcG9uc2UuaXNFcnJvciB8fCAhcmVzcG9uc2UucmVzcG9uc2VPYmplY3QpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5oIGIvU291cmNlL1dlYkRyaXZlci9T
ZXNzaW9uLmgKaW5kZXggMWZlMjhiMjA4ZmEuLjQwMTExNDNjYzVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViRHJpdmVyL1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uaApA
QCAtNTAsOSArNTAsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0Owog
ICAgIGNvbnN0IENhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVzKCkgY29uc3Q7CiAgICAgYm9vbCBp
c0Nvbm5lY3RlZCgpIGNvbnN0OwotICAgIFNlY29uZHMgc2NyaXB0VGltZW91dCgpIGNvbnN0ICB7
IHJldHVybiBtX3NjcmlwdFRpbWVvdXQ7IH0KLSAgICBTZWNvbmRzIHBhZ2VMb2FkVGltZW91dCgp
IGNvbnN0IHsgcmV0dXJuIG1fcGFnZUxvYWRUaW1lb3V0OyB9Ci0gICAgU2Vjb25kcyBpbXBsaWNp
dFdhaXRUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9pbXBsaWNpdFdhaXRUaW1lb3V0OyB9Cisg
ICAgZG91YmxlIHNjcmlwdFRpbWVvdXQoKSBjb25zdCAgeyByZXR1cm4gbV9zY3JpcHRUaW1lb3V0
OyB9CisgICAgZG91YmxlIHBhZ2VMb2FkVGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUxv
YWRUaW1lb3V0OyB9CisgICAgZG91YmxlIGltcGxpY2l0V2FpdFRpbWVvdXQoKSBjb25zdCB7IHJl
dHVybiBtX2ltcGxpY2l0V2FpdFRpbWVvdXQ7IH0KICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiB3
ZWJFbGVtZW50SWRlbnRpZmllcigpOwogCiAgICAgZW51bSBjbGFzcyBGaW5kRWxlbWVudHNNb2Rl
IHsgU2luZ2xlLCBNdWx0aXBsZSB9OwpAQCAtMjAxLDkgKzIwMSw5IEBAIHByaXZhdGU6CiAgICAg
SW5wdXRTb3VyY2VTdGF0ZSYgaW5wdXRTb3VyY2VTdGF0ZShjb25zdCBTdHJpbmcmIGlkKTsKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxTZXNzaW9uSG9zdD4gbV9ob3N0OwotICAgIFNlY29uZHMgbV9z
Y3JpcHRUaW1lb3V0OwotICAgIFNlY29uZHMgbV9wYWdlTG9hZFRpbWVvdXQ7Ci0gICAgU2Vjb25k
cyBtX2ltcGxpY2l0V2FpdFRpbWVvdXQ7CisgICAgZG91YmxlIG1fc2NyaXB0VGltZW91dDsKKyAg
ICBkb3VibGUgbV9wYWdlTG9hZFRpbWVvdXQ7CisgICAgZG91YmxlIG1faW1wbGljaXRXYWl0VGlt
ZW91dDsKICAgICBPcHRpb25hbDxTdHJpbmc+IG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQ7CiAg
ICAgT3B0aW9uYWw8U3RyaW5nPiBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQ7CiAgICAgSGFzaE1h
cDxTdHJpbmcsIElucHV0U291cmNlPiBtX2FjdGl2ZUlucHV0U291cmNlczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAgYi9Tb3VyY2UvV2ViRHJpdmVy
L1dlYkRyaXZlclNlcnZpY2UuY3BwCmluZGV4IDBmYjNhMzlmMGM0Li43ZmM4ODFmNjQ0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkRyaXZlci9XZWJEcml2ZXJTZXJ2aWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViRHJpdmVyL1dlYkRyaXZlclNlcnZpY2UuY3BwCkBAIC0zMjAsNyArMzIwLDkgQEAgc3Rh
dGljIE9wdGlvbmFsPHVpbnQ2NF90PiB1bnNpZ25lZFZhbHVlKEpTT046OlZhbHVlJiB2YWx1ZSkK
ICAgICByZXR1cm4gaW50VmFsdWU7CiB9CiAKLXN0YXRpYyBPcHRpb25hbDxUaW1lb3V0cz4gZGVz
ZXJpYWxpemVUaW1lb3V0cyhKU09OOjpPYmplY3QmIHRpbWVvdXRzT2JqZWN0KQorZW51bSBjbGFz
cyBJZ25vcmVVbmtub3duVGltZW91dCB7IE5vLCBZZXMgfTsKKworc3RhdGljIE9wdGlvbmFsPFRp
bWVvdXRzPiBkZXNlcmlhbGl6ZVRpbWVvdXRzKEpTT046Ok9iamVjdCYgdGltZW91dHNPYmplY3Qs
IElnbm9yZVVua25vd25UaW1lb3V0IGlnbm9yZVVua25vd25UaW1lb3V0KQogewogICAgIC8vIMKn
OC41IFNldCBUaW1lb3V0cy4KICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVy
L3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWRlc2VyaWFsaXplLWFzLWEtdGltZW91dApAQCAtMzMw
LDE4ICszMzIsMjMgQEAgc3RhdGljIE9wdGlvbmFsPFRpbWVvdXRzPiBkZXNlcmlhbGl6ZVRpbWVv
dXRzKEpTT046Ok9iamVjdCYgdGltZW91dHNPYmplY3QpCiAgICAgICAgIGlmIChpdC0+a2V5ID09
ICJzZXNzaW9uSWQiKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAgaWYgKGl0LT5r
ZXkgPT0gInNjcmlwdCIgJiYgaXQtPnZhbHVlLT5pc051bGwoKSkgeworICAgICAgICAgICAgdGlt
ZW91dHMuc2NyaXB0ID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOwor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAgICAvLyBJZiB2YWx1ZSBp
cyBub3QgYW4gaW50ZWdlciwgb3IgaXQgaXMgbGVzcyB0aGFuIDAgb3IgZ3JlYXRlciB0aGFuIHRo
ZSBtYXhpbXVtIHNhZmUgaW50ZWdlciwgcmV0dXJuIGVycm9yIHdpdGggZXJyb3IgY29kZSBpbnZh
bGlkIGFyZ3VtZW50LgogICAgICAgICBhdXRvIHRpbWVvdXRNUyA9IHVuc2lnbmVkVmFsdWUoKml0
LT52YWx1ZSk7CiAgICAgICAgIGlmICghdGltZW91dE1TKQogICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAogICAgICAgICBpZiAoaXQtPmtleSA9PSAic2NyaXB0IikKLSAgICAgICAg
ICAgIHRpbWVvdXRzLnNjcmlwdCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dE1T
LnZhbHVlKCkpOworICAgICAgICAgICAgdGltZW91dHMuc2NyaXB0ID0gdGltZW91dE1TLnZhbHVl
KCk7CiAgICAgICAgIGVsc2UgaWYgKGl0LT5rZXkgPT0gInBhZ2VMb2FkIikKLSAgICAgICAgICAg
IHRpbWVvdXRzLnBhZ2VMb2FkID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0TVMu
dmFsdWUoKSk7CisgICAgICAgICAgICB0aW1lb3V0cy5wYWdlTG9hZCA9IHRpbWVvdXRNUy52YWx1
ZSgpOwogICAgICAgICBlbHNlIGlmIChpdC0+a2V5ID09ICJpbXBsaWNpdCIpCi0gICAgICAgICAg
ICB0aW1lb3V0cy5pbXBsaWNpdCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dE1T
LnZhbHVlKCkpOwotICAgICAgICBlbHNlCisgICAgICAgICAgICB0aW1lb3V0cy5pbXBsaWNpdCA9
IHRpbWVvdXRNUy52YWx1ZSgpOworICAgICAgICBlbHNlIGlmIChpZ25vcmVVbmtub3duVGltZW91
dCA9PSBJZ25vcmVVbmtub3duVGltZW91dDo6Tm8pCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgIH0KICAgICByZXR1cm4gdGltZW91dHM7CkBAIC00ODQsNyArNDkxLDcgQEAg
dm9pZCBXZWJEcml2ZXJTZXJ2aWNlOjpwYXJzZUNhcGFiaWxpdGllcyhjb25zdCBKU09OOjpPYmpl
Y3QmIG1hdGNoZWRDYXBhYmlsaXRpZXMKICAgICAgICAgY2FwYWJpbGl0aWVzLnByb3h5ID0gZGVz
ZXJpYWxpemVQcm94eSgqcHJveHkpOwogICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHRpbWVvdXRz
OwogICAgIGlmIChtYXRjaGVkQ2FwYWJpbGl0aWVzLmdldE9iamVjdCgidGltZW91dHMiX3MsIHRp
bWVvdXRzKSkKLSAgICAgICAgY2FwYWJpbGl0aWVzLnRpbWVvdXRzID0gZGVzZXJpYWxpemVUaW1l
b3V0cygqdGltZW91dHMpOworICAgICAgICBjYXBhYmlsaXRpZXMudGltZW91dHMgPSBkZXNlcmlh
bGl6ZVRpbWVvdXRzKCp0aW1lb3V0cywgSWdub3JlVW5rbm93blRpbWVvdXQ6Ok5vKTsKICAgICBT
dHJpbmcgcGFnZUxvYWRTdHJhdGVneTsKICAgICBpZiAobWF0Y2hlZENhcGFiaWxpdGllcy5nZXRT
dHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kpKQogICAgICAgICBj
YXBhYmlsaXRpZXMucGFnZUxvYWRTdHJhdGVneSA9IGRlc2VyaWFsaXplUGFnZUxvYWRTdHJhdGVn
eShwYWdlTG9hZFN0cmF0ZWd5KTsKQEAgLTU0MSw3ICs1NDgsNyBAQCBSZWZQdHI8SlNPTjo6T2Jq
ZWN0PiBXZWJEcml2ZXJTZXJ2aWNlOjp2YWxpZGF0ZWRDYXBhYmlsaXRpZXMoY29uc3QgSlNPTjo6
T2JqZWN0JgogICAgICAgICAgICAgcmVzdWx0LT5zZXRWYWx1ZShpdC0+a2V5LCBSZWZQdHI8SlNP
Tjo6VmFsdWU+KGl0LT52YWx1ZSkpOwogICAgICAgICB9IGVsc2UgaWYgKGl0LT5rZXkgPT0gInRp
bWVvdXRzIikgewogICAgICAgICAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gdGltZW91dHM7Ci0g
ICAgICAgICAgICBpZiAoIWl0LT52YWx1ZS0+YXNPYmplY3QodGltZW91dHMpIHx8ICFkZXNlcmlh
bGl6ZVRpbWVvdXRzKCp0aW1lb3V0cykpCisgICAgICAgICAgICBpZiAoIWl0LT52YWx1ZS0+YXNP
YmplY3QodGltZW91dHMpIHx8ICFkZXNlcmlhbGl6ZVRpbWVvdXRzKCp0aW1lb3V0cywgSWdub3Jl
VW5rbm93blRpbWVvdXQ6Ok5vKSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIHJlc3VsdC0+c2V0VmFsdWUoaXQtPmtleSwgUmVmUHRyPEpTT046OlZhbHVlPihp
dC0+dmFsdWUpKTsKICAgICAgICAgfSBlbHNlIGlmIChpdC0+a2V5ID09ICJ1bmhhbmRsZWRQcm9t
cHRCZWhhdmlvciIpIHsKQEAgLTgzMiw5ICs4MzksMTIgQEAgdm9pZCBXZWJEcml2ZXJTZXJ2aWNl
OjpjcmVhdGVTZXNzaW9uKFZlY3RvcjxDYXBhYmlsaXRpZXM+JiYgY2FwYWJpbGl0aWVzTGlzdCwg
c3QKICAgICAgICAgICAgIGlmICghY2FwYWJpbGl0aWVzLnByb3h5KQogICAgICAgICAgICAgICAg
IGNhcGFiaWxpdGllc09iamVjdC0+c2V0T2JqZWN0KCJwcm94eSJfcywgSlNPTjo6T2JqZWN0Ojpj
cmVhdGUoKSk7CiAgICAgICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiB0aW1lb3V0c09iamVj
dCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICB0aW1lb3V0c09iamVjdC0+
c2V0SW50ZWdlcigic2NyaXB0Il9zLCBtX3Nlc3Npb24tPnNjcmlwdFRpbWVvdXQoKS5taWxsaXNl
Y29uZHNBczxpbnQ+KCkpOwotICAgICAgICAgICAgdGltZW91dHNPYmplY3QtPnNldEludGVnZXIo
InBhZ2VMb2FkIl9zLCBtX3Nlc3Npb24tPnBhZ2VMb2FkVGltZW91dCgpLm1pbGxpc2Vjb25kc0Fz
PGludD4oKSk7Ci0gICAgICAgICAgICB0aW1lb3V0c09iamVjdC0+c2V0SW50ZWdlcigiaW1wbGlj
aXQiX3MsIG1fc2Vzc2lvbi0+aW1wbGljaXRXYWl0VGltZW91dCgpLm1pbGxpc2Vjb25kc0FzPGlu
dD4oKSk7CisgICAgICAgICAgICBpZiAobV9zZXNzaW9uLT5zY3JpcHRUaW1lb3V0KCkgPT0gc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpKQorICAgICAgICAgICAgICAgIHRp
bWVvdXRzT2JqZWN0LT5zZXRWYWx1ZSgic2NyaXB0Il9zLCBKU09OOjpWYWx1ZTo6bnVsbCgpKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0aW1lb3V0c09iamVjdC0+c2V0RG91
YmxlKCJzY3JpcHQiX3MsIG1fc2Vzc2lvbi0+c2NyaXB0VGltZW91dCgpKTsKKyAgICAgICAgICAg
IHRpbWVvdXRzT2JqZWN0LT5zZXREb3VibGUoInBhZ2VMb2FkIl9zLCBtX3Nlc3Npb24tPnBhZ2VM
b2FkVGltZW91dCgpKTsKKyAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXREb3VibGUoImlt
cGxpY2l0Il9zLCBtX3Nlc3Npb24tPmltcGxpY2l0V2FpdFRpbWVvdXQoKSk7CiAgICAgICAgICAg
ICBjYXBhYmlsaXRpZXNPYmplY3QtPnNldE9iamVjdCgidGltZW91dHMiX3MsIFdURk1vdmUodGlt
ZW91dHNPYmplY3QpKTsKIAogICAgICAgICAgICAgcmVzdWx0T2JqZWN0LT5zZXRPYmplY3QoImNh
cGFiaWxpdGllcyJfcywgV1RGTW92ZShjYXBhYmlsaXRpZXNPYmplY3QpKTsKQEAgLTg5NSw3ICs5
MDUsNyBAQCB2b2lkIFdlYkRyaXZlclNlcnZpY2U6OnNldFRpbWVvdXRzKFJlZlB0cjxKU09OOjpP
YmplY3Q+JiYgcGFyYW1ldGVycywgRnVuY3Rpb248dgogICAgIGlmICghZmluZFNlc3Npb25PckNv
bXBsZXRlV2l0aEVycm9yKCpwYXJhbWV0ZXJzLCBjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGF1dG8gdGltZW91dHMgPSBkZXNlcmlhbGl6ZVRpbWVvdXRzKCpwYXJh
bWV0ZXJzKTsKKyAgICBhdXRvIHRpbWVvdXRzID0gZGVzZXJpYWxpemVUaW1lb3V0cygqcGFyYW1l
dGVycywgSWdub3JlVW5rbm93blRpbWVvdXQ6Olllcyk7CiAgICAgaWYgKCF0aW1lb3V0cykgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpmYWlsKENvbW1hbmRSZXN1
bHQ6OkVycm9yQ29kZTo6SW52YWxpZEFyZ3VtZW50KSk7CiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggZWQyNWQ3ZDgzN2UuLjk5Y2ZkNDA5MGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBA
CisyMDE5LTExLTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBXZWJEcml2ZXI6IGZpeCBoYW5kbGluZyBvZiBzZXNzaW9uIHRpbWVvdXRzIGZv
ciB2YWx1ZXMgaGlnaGVyIHRoYW4gTUFYX0lOVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXNlIG51bWJlciBpbnN0ZWFkIG9mIGludGVnZXIgZm9yIGFs
bCBvcHRpb25hbCB0aW1lb3V0IHBhcmFtZXRlcnMuIEluIHRoZSBjYXNlIG9mIHNjcmlwdCB0aW1l
b3V0LCBub3QgcGFzc2luZyBhCisgICAgICAgIHZhbHVlIG1lYW5zIGEgdGltZW91dCBzaG91bGQg
bm90IGJlIHVzZWQsIHNvIHVzZSBPcHRpb25hbDxkb3VibGU+IGFsc28gZm9yIHRoZSBJUEMgbWVz
c2FnZSBhbmQgaGFuZGxlIHRoZQorICAgICAgICBvcHRpb25hbCB2YWx1ZSBpbiB0aGUgd2ViIHBy
b2Nlc3MgdG8gbm90IHNldCBhbnkgdGltZW91dCBpbiB0aGF0IGNhc2UuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb246CisgICAgICAgICogVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6d2FpdEZvck5hdmlnYXRpb25Ub0NvbXBsZXRlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246Om5hdmlnYXRlQnJvd3NpbmdDb250ZXh0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmdvQmFja0luQnJvd3Np
bmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmdvRm9y
d2FyZEluQnJvd3NpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb246OnJlbG9hZEJyb3dzaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uOjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbik6CisgICAgICAgICogVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmV2YWx1YXRlSmF2YVNjcmlwdEZ1
bmN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvblByb3h5LmpzOgorICAgICAgICAobGV0LkF1dG9tYXRpb25TZXNzaW9uUHJveHku
cHJvdG90eXBlLmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5tZXNzYWdlcy5pbjoKKwog
MjAxOS0xMS0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gV2ViRHJpdmVyOiBpbXBsZW1lbnQgbmV3IHdpbmRvdyBjb21tYW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24u
anNvbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29u
CmluZGV4IDkxMzBmMGVlNjdjLi44MGEwZjlhM2IyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KQEAgLTM4OCw3ICszODgsNyBA
QAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3NpbmdD
b250ZXh0SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93c2lu
ZyBjb250ZXh0IHRoYXQgc2hvdWxkIGJlIG5hdmlnYXRlZC4iIH0sCiAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ1cmwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVGhlIFVS
TCB0byBsb2FkIGluIHRoZSBicm93c2luZyBjb250ZXh0LiIgfSwKICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5Iiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kg
dG8gdXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwK
LSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImlu
dGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4g
bWlsbGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxl
dGVkIGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5l
ZC4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBl
IjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91
dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBj
b21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJl
dHVybmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAg
ICAgICAgfSwKQEAgLTM5OCw3ICszOTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
CiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0Nv
bnRleHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5n
IGNvbnRleHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5Iiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kg
dG8gdXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwK
LSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImlu
dGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4g
bWlsbGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxl
dGVkIGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5l
ZC4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBl
IjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91
dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBj
b21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJl
dHVybmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAg
ICAgICAgfSwKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
CiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0Nv
bnRleHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5n
IGNvbnRleHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5Iiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kg
dG8gdXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwK
LSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImlu
dGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4g
bWlsbGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxl
dGVkIGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5l
ZC4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBl
IjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91
dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBj
b21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJl
dHVybmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAg
ICAgICAgfSwKQEAgLTQxOCw3ICs0MTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
CiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0Nv
bnRleHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5n
IGNvbnRleHQgdGhhdCBzaG91bGQgYmUgcmVsb2FkZWQuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicGFnZUxvYWRTdHJhdGVneSIsICIkcmVmIjogIlBhZ2VMb2FkU3RyYXRlZ3kiLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHBhZ2UgbG9hZCBzdHJhdGVneSB0
byB1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGVuIG5hdmlnYXRpb24gaXMgY29tcGxldGUuIiB9LAot
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAiaW50
ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBt
aWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0
ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVk
LiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0
IGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNv
bXBsZXRlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+VGltZW91dDwvY29kZT4gZXJyb3IgaXMgcmV0
dXJuZWQuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImFzeW5jIjogdHJ1ZQogICAg
ICAgICB9LApAQCAtNDI5LDcgKzQyOSw3IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJi
cm93c2luZ0NvbnRleHRIYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRIYW5kbGUiLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRleHQgaW4gd2hp
Y2ggd2FpdCBmb3IgcGVuZGluZyBuYXZpZ2F0aW9uIHRvIGNvbXBsZXRlLiIgfSwKICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImZyYW1lSGFuZGxlIiwgIiRyZWYiOiAiRnJhbWVIYW5kbGUiLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGZyYW1l
IGluIHdoaWNoIHdhaXQgZm9yIHBlbmRpbmcgbmF2aWdhdGlvbiB0byBjb21wbGV0ZS4gVGhlIG1h
aW4gZnJhbWUgaXMgdXNlZCBpZiB0aGlzIHBhcmFtZXRlciBlbXB0eSBzdHJpbmcgb3IgZXhjbHVk
ZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRTdHJhdGVneSIsICIk
cmVmIjogIlBhZ2VMb2FkU3RyYXRlZ3kiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiVGhlIHBhZ2UgbG9hZCBzdHJhdGVneSB0byB1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGVuIG5h
dmlnYXRpb24gaXMgY29tcGxldGUuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFn
ZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlv
biBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVv
dXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZp
Z2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbXBsZXRlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+
VGltZW91dDwvY29kZT4gZXJyb3IgaXMgcmV0dXJuZWQuIiB9CiAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgImFzeW5jIjogdHJ1ZQogICAgICAgICB9LApAQCAtNDUyLDcgKzQ1Miw3IEBACiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmdW5jdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJk
ZXNjcmlwdGlvbiI6ICJUaGUgc2NyaXB0IHRvIGV2YWx1YXRlIGluIHRoZSBicm93c2luZyBjb250
ZXh0LiBJdCBtdXN0IGJlIGEgZnVuY3Rpb24gcmVzdWx0LiIgfSwKICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImFyZ3VtZW50cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6
ICJzdHJpbmciIH0sICJkZXNjcmlwdGlvbiI6ICJUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhl
IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLiBUaGV5IHdpbGwgYmUgcGFyc2VkIGFzIEpTT04gYmVmb3Jl
IGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4
cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBmdW5jdGlvbiBleHBlY3RzIGEgY2FsbGJh
Y2sgZnVuY3Rpb24gYXMgdGhlIGxhc3QgYXJndW1lbnQuIEl0IGlzIGV4cGVjdGVkIHRvIGNhbGwg
dGhpcyBjYWxsYmFjayB3aXRoIGEgcmVzdWx0LiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImNhbGxiYWNrVGltZW91dCIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGlt
cGxpY2l0IGNhbGxiYWNrIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBpbiwgb3RoZXJ3aXNlIGEg
PGNvZGU+SmF2YVNjcmlwdFRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2FsbGJhY2tUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVy
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxp
c2Vjb25kcyB0aGF0IHRoZSBpbXBsaWNpdCBjYWxsYmFjayBpcyBleHBlY3RlZCB0byBiZSBjYWxs
ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPkphdmFTY3JpcHRUaW1lb3V0PC9jb2RlPiBlcnJvciBp
cyByZXR1cm5lZC4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAicmV0dXJucyI6IFsK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogInN0cmluZyIsICJk
ZXNjcmlwdGlvbiI6ICJUaGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBjYWxsZWQgZnVuY3Rpb24u
IEl0IGlzIEpTT04gZW5jb2RlZCBhZnRlciB0aGUgZnVuY3Rpb24gcmV0dXJucyBvciBjYWxscyB0
aGUgY2FsbGJhY2suIiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDk3YjQ3ODJjYjEyLi4y
YjA4NjVhNGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlv
bi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTQ0Miw3ICs0NDIsNyBAQCBz
dGF0aWMgT3B0aW9uYWw8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6UGFnZUxvYWRT
dHJhdGVneT4gcGFnZUxvYWRTdHJhdAogICAgIHJldHVybiBwYXJzZWRQYWdlTG9hZFN0cmF0ZWd5
OwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29t
cGxldGUoY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyog
b3B0aW9uYWxGcmFtZUhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRl
Z3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxXYWl0Rm9y
TmF2aWdhdGlvblRvQ29tcGxldGVDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21h
dGlvblNlc3Npb246OndhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcmIGJy
b3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBj
b25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91Ymxl
KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0
ZUNhbGxiYWNrPiYmIGNhbGxiYWNrKQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBh
Z2VQcm94eUZvckhhbmRsZShicm93c2luZ0NvbnRleHRIYW5kbGUpOwogICAgIGlmICghcGFnZSkK
QEAgLTY5Niw3ICs2OTYsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaWRFeGl0RnVs
bFNjcmVlbkZvclBhZ2UoY29uc3QgV2ViUGFnZVByb3h5JikKICAgICAgICAgbV93aW5kb3dTdGF0
ZVRyYW5zaXRpb25DYWxsYmFjayhXaW5kb3dUcmFuc2l0aW9uZWRUb1N0YXRlOjpVbmZ1bGxzY3Jl
ZW4pOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29u
dGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmlu
Zyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFn
ZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxs
YmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Om5hdmlnYXRlQnJvd3NpbmdDb250ZXh0
KGNvbnN0IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nKiBv
cHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdl
TG9hZFRpbWVvdXQsIFJlZjxOYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmIGNhbGxi
YWNrKQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQcm94eUZvckhhbmRsZSho
YW5kbGUpOwogICAgIGlmICghcGFnZSkKQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIFdlYkF1dG9t
YXRpb25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRs
ZSwgY29uc3QgUwogICAgIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZU9uUGFnZSgqcGFnZSwg
cGFnZUxvYWRTdHJhdGVneS52YWx1ZSgpLCBwYWdlTG9hZFRpbWVvdXQsIFdURk1vdmUoY2FsbGJh
Y2spKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29CYWNrSW5Ccm93c2luZ0Nv
bnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9h
ZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8
R29CYWNrSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0
b21hdGlvblNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgaGFu
ZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3Qg
ZG91YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJvd3NpbmdDb250
ZXh0Q2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Vi
UGFnZVByb3h5Rm9ySGFuZGxlKGhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtNzI2LDcgKzcy
Niw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0
KGNvbnN0IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTCiAgICAgd2FpdEZvck5hdmlnYXRpb25Ub0Nv
bXBsZXRlT25QYWdlKCpwYWdlLCBwYWdlTG9hZFN0cmF0ZWd5LnZhbHVlKCksIHBhZ2VMb2FkVGlt
ZW91dCwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
Ojpnb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3Qg
U3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9u
YWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNr
PiYmIGNhbGxiYWNrKQordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29Gb3J3YXJkSW5Ccm93
c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQ
YWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3VibGUqIG9wdGlvbmFsUGFnZUxvYWRUaW1l
b3V0LCBSZWY8R29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykK
IHsKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JIYW5kbGUoaGFuZGxl
KTsKICAgICBpZiAoIXBhZ2UpCkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6Z29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUs
IGNvbnMKICAgICB3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGVPblBhZ2UoKnBhZ2UsIHBhZ2VM
b2FkU3RyYXRlZ3kudmFsdWUoKSwgcGFnZUxvYWRUaW1lb3V0LCBXVEZNb3ZlKGNhbGxiYWNrKSk7
CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnJlbG9hZEJyb3dzaW5nQ29udGV4dChj
b25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRl
Z3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRC
cm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNl
c3Npb246OnJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3Qg
U3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0
aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4m
JiBjYWxsYmFjaykKIHsKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JI
YW5kbGUoaGFuZGxlKTsKICAgICBpZiAoIXBhZ2UpCkBAIC05MjIsNyArOTIyLDcgQEAgdm9pZCBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6aGFuZGxlUnVuT3BlblBhbmVsKGNvbnN0IFdlYlBhZ2VQcm94
eSYgcGFnZSwgY29uc3QgV2UKICAgICBtX2RvbWFpbk5vdGlmaWVyLT5maWxlQ2hvb3NlckRpc21p
c3NlZChicm93c2luZ0NvbnRleHRIYW5kbGUsIGZhbHNlKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6ZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBicm93
c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSwgY29u
c3QgU3RyaW5nJiBmdW5jdGlvbiwgY29uc3QgSlNPTjo6QXJyYXkmIGFyZ3VtZW50cywgY29uc3Qg
Ym9vbCogb3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50LCBjb25zdCBpbnQq
IG9wdGlvbmFsQ2FsbGJhY2tUaW1lb3V0LCBSZWY8RXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb25D
YWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRl
SmF2YVNjcmlwdEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBj
b25zdCBTdHJpbmcqIG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24s
IGNvbnN0IEpTT046OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0
c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNr
VGltZW91dCwgUmVmPEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uQ2FsbGJhY2s+JiYgY2FsbGJh
Y2spCiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVByb3h5Rm9ySGFuZGxlKGJy
b3dzaW5nQ29udGV4dEhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtOTQzLDcgKzk0Myw5IEBA
IHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKGNv
bnN0IFN0cmluZyYgYnJvd3NpbmdDb250CiAgICAgfQogCiAgICAgYm9vbCBleHBlY3RzSW1wbGlj
aXRDYWxsYmFja0FyZ3VtZW50ID0gb3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3Vt
ZW50ID8gKm9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCA6IGZhbHNlOwot
ICAgIGludCBjYWxsYmFja1RpbWVvdXQgPSBvcHRpb25hbENhbGxiYWNrVGltZW91dCA/ICpvcHRp
b25hbENhbGxiYWNrVGltZW91dCA6IDA7CisgICAgT3B0aW9uYWw8ZG91YmxlPiBjYWxsYmFja1Rp
bWVvdXQ7CisgICAgaWYgKG9wdGlvbmFsQ2FsbGJhY2tUaW1lb3V0KQorICAgICAgICBjYWxsYmFj
a1RpbWVvdXQgPSAqb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQ7CiAKICAgICB1aW50NjRfdCBjYWxs
YmFja0lEID0gbV9uZXh0RXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2tJRCsrOwogICAgIG1fZXZh
bHVhdGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUo
Y2FsbGJhY2spKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCBkY2Y5ZjRkMmViNS4uMDQzNDAwYWQ0
YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTE3MCwxMiArMTcwLDEyIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFdpbmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5k
bGUsIGNvbnN0IEpTT046Ok9iamVjdCogb3JpZ2luLCBjb25zdCBKU09OOjpPYmplY3QqIHNpemUs
IFJlZjxTZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIGZpbmFsOwog
ICAgIHZvaWQgbWF4aW1pemVXaW5kb3dPZkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhh
bmRsZSwgUmVmPE1heGltaXplV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmlu
YWw7CiAgICAgdm9pZCBoaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBo
YW5kbGUsIFJlZjxIaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7
Ci0gICAgdm9pZCBuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5
U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVC
cm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnb0JhY2tJbkJy
b3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxv
YWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVm
PEdvQmFja0luQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOwotICAgIHZvaWQg
Z29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBv
cHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9h
ZFRpbWVvdXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25z
dCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRp
b25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYm
KSBvdmVycmlkZTsKLSAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBT
dHJpbmcmIGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1l
SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29u
c3QgaW50KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9D
b21wbGV0ZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlw
dEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJp
bmcqIG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpT
T046OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0
Q2FsbGJhY2tBcmd1bWVudCwgY29uc3QgaW50KiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVm
PEluc3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBuYXZpZ2F0
ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3Vi
bGUqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRD
YWxsYmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnb0JhY2tJbkJyb3dzaW5nQ29udGV4dChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmlu
ZywgY29uc3QgZG91YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJv
d3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZ29Gb3J3YXJkSW5C
cm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VM
b2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQs
IFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcq
IG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBvcHRpb25hbFBh
Z2VMb2FkVGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcm
IGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxl
LCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91
YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21w
bGV0ZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlwdEZ1
bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcq
IG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpTT046
OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2Fs
bGJhY2tBcmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVm
PEluc3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3Jt
TW91c2VJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgSlNPTjo6T2JqZWN0
JiByZXF1ZXN0ZWRQb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBtb3VzZUJ1dHRvbiwgY29uc3QgU3Ry
aW5nJiBtb3VzZUludGVyYWN0aW9uLCBjb25zdCBKU09OOjpBcnJheSYga2V5TW9kaWZpZXJzLCBS
ZWY8UGVyZm9ybU1vdXNlSW50ZXJhY3Rpb25DYWxsYmFjaz4mJikgZmluYWw7CiAgICAgdm9pZCBw
ZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnMoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEpT
T046OkFycmF5JiBpbnRlcmFjdGlvbnMsIFJlZjxQZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnND
YWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3JtSW50ZXJhY3Rpb25TZXF1ZW5j
ZShjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxl
LCBjb25zdCBKU09OOjpBcnJheSYgc291cmNlcywgY29uc3QgSlNPTjo6QXJyYXkmIHN0ZXBzLCBS
ZWY8UGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2VDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwCmluZGV4IDUwNTJjNmNjNGZjLi4zZTFhNzNmNWMw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTIzMiw3ICsyMzIsNyBA
QCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmRpZENsZWFyV2luZG93T2JqZWN0Rm9y
RnJhbWUoV2ViRnJhbWUmIGZyYW1lKQogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5w
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6RGlkRXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY2FsbGJhY2tJRCwgZXJyb3JNZXNz
YWdlLCBlcnJvclR5cGUpLCAwKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5
OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdl
SUQsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gb3B0aW9uYWxGcmFtZUlELCBj
b25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhw
ZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxiYWNrVGltZW91dCwgdWludDY0
X3QgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb24oV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBPcHRpb25h
bDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IG9wdGlvbmFsRnJhbWVJRCwgY29uc3QgU3RyaW5n
JiBmdW5jdGlvbiwgVmVjdG9yPFN0cmluZz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNp
dENhbGxiYWNrQXJndW1lbnQsIE9wdGlvbmFsPGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50
NjRfdCBjYWxsYmFja0lEKQogewogICAgIFdlYlBhZ2UqIHBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS53ZWJQYWdlKHBhZ2VJRCk7CiAgICAgaWYgKCFwYWdlKSB7CkBAIC0yNjYsNyArMjY2
LDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRG
dW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmkKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIo
Y29udGV4dCwgZnJhbWVJRC50b1VJbnQ2NCgpKSwKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIo
Y29udGV4dCwgY2FsbGJhY2tJRCksCiAgICAgICAgIEpTT2JqZWN0TWFrZUZ1bmN0aW9uV2l0aENh
bGxiYWNrKGNvbnRleHQsIG51bGxwdHIsIGV2YWx1YXRlSmF2YVNjcmlwdENhbGxiYWNrKSwKLSAg
ICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4dCwgY2FsbGJhY2tUaW1lb3V0KQorICAgICAg
ICBKU1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCBjYWxsYmFja1RpbWVvdXQudmFsdWVPcigtMSkp
CiAgICAgfTsKIAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAppbmRleCA3ODcy
NTI4ZjcxNS4uZWZkZjVlNjI2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgKQEAg
LTYzLDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGJ5
IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkgbWVzc2FnZXMKLSAgICB2b2lkIGV2YWx1YXRlSmF2
YVNjcmlwdEZ1bmN0aW9uKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBPcHRpb25hbDxXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXI+LCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5n
PiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNh
bGxiYWNrVGltZW91dCwgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgdm9pZCBldmFsdWF0ZUph
dmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyPiwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbiwgVmVjdG9yPFN0cmlu
Zz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIE9wdGlv
bmFsPGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2
b2lkIHJlc29sdmVDaGlsZEZyYW1lV2l0aE9yZGluYWwoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIs
IE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIHVpbnQzMl90IG9yZGluYWwsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8U3RyaW5nPiwgT3B0aW9uYWw8V2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyPik+JiYpOwogICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9k
ZUhhbmRsZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyPiwgY29uc3QgU3RyaW5nJiBub2RlSGFuZGxlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKE9wdGlvbmFsPFN0cmluZz4sIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4p
PiYmKTsKICAgICB2b2lkIHJlc29sdmVDaGlsZEZyYW1lV2l0aE5hbWUoV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxTdHJpbmc+LCBPcHRpb25h
bDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eS5qcwppbmRleCAwYjJjMGZkNzUyMi4uMjY4MTVkZmI5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
anMKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eS5qcwpAQCAtNjQsNyArNjQsNyBAQCBsZXQgQXV0b21hdGlvblNlc3Npb25Q
cm94eSA9IGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uUHJveHkKICAgICAgICAgaWYgKGV4cGVjdHNJ
bXBsaWNpdENhbGxiYWNrQXJndW1lbnQpIHsKICAgICAgICAgICAgIGFyZ3VtZW50VmFsdWVzLnB1
c2gocmVwb3J0UmVzdWx0KTsKICAgICAgICAgICAgIGZ1bmN0aW9uVmFsdWUuYXBwbHkobnVsbCwg
YXJndW1lbnRWYWx1ZXMpOwotICAgICAgICAgICAgaWYgKCFyZXN1bHRSZXBvcnRlZCkKKyAgICAg
ICAgICAgIGlmICghcmVzdWx0UmVwb3J0ZWQgJiYgY2FsbGJhY2tUaW1lb3V0ID49IDApCiAgICAg
ICAgICAgICAgICAgdGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KHJlcG9ydFRpbWVvdXRF
cnJvciwgY2FsbGJhY2tUaW1lb3V0KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXBv
cnRSZXN1bHQoZnVuY3Rpb25WYWx1ZS5hcHBseShudWxsLCBhcmd1bWVudFZhbHVlcykpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmM2ZDlm
ZDE1NTkuLjFmN2E2NjQ5ZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
QXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2Fn
ZXMgLT4gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSB7Ci0gICAgRXZhbHVhdGVKYXZhU2NyaXB0
RnVuY3Rpb24oV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBPcHRpb25hbDxXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQsIFN0cmluZyBmdW5jdGlvbiwgVmVjdG9yPFN0cmlu
Zz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIGludCBj
YWxsYmFja1RpbWVvdXQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCisgICAgRXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb24oV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBPcHRpb25hbDxXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQsIFN0cmluZyBmdW5jdGlvbiwgVmVjdG9yPFN0
cmluZz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIE9w
dGlvbmFsPGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBjYWxsYmFja0lEKQogCiAg
ICAgUmVzb2x2ZUNoaWxkRnJhbWVXaXRoT3JkaW5hbChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBw
YWdlSUQsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgdWludDMy
X3Qgb3JkaW5hbCkgLT4gKE9wdGlvbmFsPFN0cmluZz4gZXJyb3JUeXBlLCBPcHRpb25hbDxXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQpIEFzeW5jCiAgICAgUmVzb2x2ZUNoaWxkRnJh
bWVXaXRoTm9kZUhhbmRsZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdGlvbmFs
PFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgU3RyaW5nIG5vZGVIYW5kbGUpIC0+
IChPcHRpb25hbDxTdHJpbmc+IGVycm9yVHlwZSwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyPiBmcmFtZUlEKSBBc3luYwo=
</data>
<flag name="review"
          id="399096"
          type_id="1"
          status="-"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385872</attachid>
            <date>2019-12-17 02:53:54 -0800</date>
            <delta_ts>2019-12-23 02:13:49 -0800</delta_ts>
            <desc>Rebased patch</desc>
            <filename>wd-timeouts.diff</filename>
            <type>text/plain</type>
            <size>43408</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM3N2M1YzFkZWJhLi45ZWNjNDRiZWRkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTEtMTIgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZl
cjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMgZm9yIHZhbHVlcyBoaWdoZXIgdGhh
biBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXggZ2VuZXJhdGlvbiBvZiBjb2RlIHdpdGggb3B0aW9uYWwgbnVtYmVyIGluIHN0YWNrIHZh
cmlhYmxlLgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJh
dG9yLnB5OgorICAgICAgICAoQ3BwR2VuZXJhdG9yLmNwcF90eXBlX2Zvcl9zdGFja19pbl9wYXJh
bWV0ZXIpOiBEbyBub3QgdXNlIE9wdGlvbmFsIGZvciBudW1iZXJzIGVpdGhlci4KKyAgICAgICAg
KiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgt
b3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdDoKKwogMjAxOS0xMi0x
NiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVsYW5kaW5nIHIy
NTM1ODE6IENoYW5nZWQganNjIHNoZWxsIHRpbWVvdXQgbWVjaGFuaXNtIHRvIGxldmVyYWdlIHRo
ZSBWTVRyYXBzIGFuZCB1c2UgQ1BVVGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5
CmluZGV4IDA2MGYwMzE3ZDU0Li5kZjgzNzc1YzlhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvci5weQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2Vu
ZXJhdG9yLnB5CkBAIC0yNzUsNyArMjc1LDcgQEAgY2xhc3MgQ3BwR2VuZXJhdG9yKEdlbmVyYXRv
cik6CiAgICAgICAgICAgICBjcHBfbmFtZSA9IENwcEdlbmVyYXRvci5jcHBfbmFtZV9mb3JfcHJp
bWl0aXZlX3R5cGUoX3R5cGUpCiAgICAgICAgICAgICBpZiBfdHlwZS5xdWFsaWZpZWRfbmFtZSgp
IGluIFsnYW55JywgJ29iamVjdCddOgogICAgICAgICAgICAgICAgIHJldHVybiAiUmVmUHRyPCVz
PiIgJSBDcHBHZW5lcmF0b3IuY3BwX25hbWVfZm9yX3ByaW1pdGl2ZV90eXBlKF90eXBlKQotICAg
ICAgICAgICAgZWxpZiBwYXJhbWV0ZXIuaXNfb3B0aW9uYWwgYW5kIF90eXBlLnF1YWxpZmllZF9u
YW1lKCkgbm90IGluIFsnYm9vbGVhbicsICdzdHJpbmcnLCAnaW50ZWdlciddOgorICAgICAgICAg
ICAgZWxpZiBwYXJhbWV0ZXIuaXNfb3B0aW9uYWwgYW5kIF90eXBlLnF1YWxpZmllZF9uYW1lKCkg
bm90IGluIFsnYm9vbGVhbicsICdzdHJpbmcnLCAnaW50ZWdlcicsICdudW1iZXInXToKICAgICAg
ICAgICAgICAgICByZXR1cm4gIk9wdGlvbmFsPCVzPiIgJSBjcHBfbmFtZQogICAgICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgICAgICByZXR1cm4gY3BwX25hbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3Vs
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5q
c29uLXJlc3VsdAppbmRleCA5ZGI1NmI1YjU1YS4uMDlmNTU4NzcxOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJl
c3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
Z2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFt
ZXRlcnMuanNvbi1yZXN1bHQKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIERhdGFiYXNlQmFja2Vu
ZERpc3BhdGNoZXI6OmV4ZWN1dGVBbGxPcHRpb25hbFBhcmFtZXRlcnMobG9uZyByZXF1ZXN0SWQs
IFJlZgogICAgIGJvb2wgb3B0X2luX25vdGVzX3ZhbHVlRm91bmQgPSBmYWxzZTsKICAgICBTdHJp
bmcgb3B0X2luX25vdGVzID0gbV9iYWNrZW5kRGlzcGF0Y2hlci0+Z2V0U3RyaW5nKHBhcmFtZXRl
cnMuZ2V0KCksICJub3RlcyJfcywgJm9wdF9pbl9ub3Rlc192YWx1ZUZvdW5kKTsKICAgICBib29s
IG9wdF9pbl90aW1lc3RhbXBfdmFsdWVGb3VuZCA9IGZhbHNlOwotICAgIE9wdGlvbmFsPGRvdWJs
ZT4gb3B0X2luX3RpbWVzdGFtcCA9IG1fYmFja2VuZERpc3BhdGNoZXItPmdldERvdWJsZShwYXJh
bWV0ZXJzLmdldCgpLCAidGltZXN0YW1wIl9zLCAmb3B0X2luX3RpbWVzdGFtcF92YWx1ZUZvdW5k
KTsKKyAgICBkb3VibGUgb3B0X2luX3RpbWVzdGFtcCA9IG1fYmFja2VuZERpc3BhdGNoZXItPmdl
dERvdWJsZShwYXJhbWV0ZXJzLmdldCgpLCAidGltZXN0YW1wIl9zLCAmb3B0X2luX3RpbWVzdGFt
cF92YWx1ZUZvdW5kKTsKICAgICBib29sIG9wdF9pbl92YWx1ZXNfdmFsdWVGb3VuZCA9IGZhbHNl
OwogICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IG9wdF9pbl92YWx1ZXMgPSBtX2JhY2tlbmREaXNw
YXRjaGVyLT5nZXRPYmplY3QocGFyYW1ldGVycy5nZXQoKSwgInZhbHVlcyJfcywgJm9wdF9pbl92
YWx1ZXNfdmFsdWVGb3VuZCk7CiAgICAgYm9vbCBvcHRfaW5fcGF5bG9hZF92YWx1ZUZvdW5kID0g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJpdmVyL0NhcGFiaWxpdGllcy5oIGIvU291
cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaAppbmRleCAxYjZhMTk0MjZjNi4uZjdkZGRjOWI0
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvQ2FwYWJpbGl0aWVzLmgKKysrIGIvU291
cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVk
ZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM1LDkgKzM0LDkgQEAKIG5hbWVzcGFj
ZSBXZWJEcml2ZXIgewogCiBzdHJ1Y3QgVGltZW91dHMgewotICAgIE9wdGlvbmFsPFNlY29uZHM+
IHNjcmlwdDsKLSAgICBPcHRpb25hbDxTZWNvbmRzPiBwYWdlTG9hZDsKLSAgICBPcHRpb25hbDxT
ZWNvbmRzPiBpbXBsaWNpdDsKKyAgICBPcHRpb25hbDxkb3VibGU+IHNjcmlwdDsKKyAgICBPcHRp
b25hbDxkb3VibGU+IHBhZ2VMb2FkOworICAgIE9wdGlvbmFsPGRvdWJsZT4gaW1wbGljaXQ7CiB9
OwogCiBlbnVtIGNsYXNzIFBhZ2VMb2FkU3RyYXRlZ3kgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkRyaXZlci9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwppbmRleCAxODk3
ZjM3MWE0Yi4uMDg4MWYzMWU0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIw
MTktMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFdlYkRyaXZlcjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMgZm9yIHZh
bHVlcyBoaWdoZXIgdGhhbiBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVc2UgZG91YmxlIGluc3RlYWQgb2YgU2Vjb25kcyBmb3IgaGFuZGxp
bmcgdGltZW91dHMuCisKKyAgICAgICAgKiBDYXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBTZXNz
aW9uLmNwcDoKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6Z2V0VGltZW91dHMpOiBIYW5k
bGUgdGhlIGNhc2Ugb2Ygc2NyaXB0IHRpbWVvdXQgYmVpbmcgbnVsbC4KKyAgICAgICAgKFdlYkRy
aXZlcjo6U2Vzc2lvbjo6Z28pOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpiYWNrKToK
KyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6Zm9yd2FyZCk6CisgICAgICAgIChXZWJEcml2
ZXI6OlNlc3Npb246OnJlZnJlc2gpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpmaW5k
RWxlbWVudHMpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlv
blRvQ29tcGxldGUpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpleGVjdXRlU2NyaXB0
KTogRG8gbm90IHBhc3MgYSB0aW1lb3V0IHdoZW4gaXQncyBudWxsLgorICAgICAgICAqIFNlc3Np
b24uaDoKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6c2NyaXB0VGltZW91dCBjb25zdCk6
CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OnBhZ2VMb2FkVGltZW91dCBjb25zdCk6Cisg
ICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmltcGxpY2l0V2FpdFRpbWVvdXQgY29uc3QpOgor
ICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpkZXNl
cmlhbGl6ZVRpbWVvdXRzKTogQWRkIElnbm9yZVVua25vd25UaW1lb3V0LCBzaW5jZSB3ZSBzaG91
bGQgb25seSBmYWlsIHdoZW4gcHJvY2Vzc2luZworICAgICAgICBjYXBhYmlsaXRpZXMsIGJ1dCBu
b3Qgd2hlbiBzZXR0aW5nIG5ldyB0aW1lb3V0cy4gQWxzbyBoYW5kbGUgdGhlIGNhc2Ugb2Ygc2Ny
aXB0IHRpbWVvdXQgYmVpbmcgbnVsbC4KKyAgICAgICAgKFdlYkRyaXZlcjo6V2ViRHJpdmVyU2Vy
dmljZTo6cGFyc2VDYXBhYmlsaXRpZXMgY29uc3QpOiBQYXNzIElnbm9yZVVua25vd25UaW1lb3V0
OjpObyB0byBkZXNlcmlhbGl6ZVRpbWVvdXRzLgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2
ZXJTZXJ2aWNlOjp2YWxpZGF0ZWRDYXBhYmlsaXRpZXMgY29uc3QpOiBEaXR0by4KKyAgICAgICAg
KFdlYkRyaXZlcjo6V2ViRHJpdmVyU2VydmljZTo6Y3JlYXRlU2Vzc2lvbik6IEhhbmRsZSB0aGUg
Y2FzZSBvZiBzY3JpcHQgdGltZW91dCBiZWluZyBudWxsLgorICAgICAgICAoV2ViRHJpdmVyOjpX
ZWJEcml2ZXJTZXJ2aWNlOjpzZXRUaW1lb3V0cyk6IFBhc3MgSWdub3JlVW5rbm93blRpbWVvdXQ6
OlllcyB0byBkZXNlcmlhbGl6ZVRpbWVvdXRzLgorCiAyMDE5LTEyLTEzICBKaW0gTWFzb24gIDxq
bWFzb25AaWJpbnguY29tPgogCiAgICAgICAgIFtHVEtdIFdlYktpdEdUSyBidWlsZCBoYW5ncyBv
biBnLWlyLXNjYW5uZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwCmluZGV4IDBmZGVhMTliOGY5Li4xYmY5OWI2
NjUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwCkBAIC0zOCwxMSArMzgsMTEgQEAKIG5hbWVzcGFjZSBX
ZWJEcml2ZXIgewogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZl
ci1zcGVjLmh0bWwjZGZuLXNlc3Npb24tc2NyaXB0LXRpbWVvdXQKLXN0YXRpYyBjb25zdCBTZWNv
bmRzIGRlZmF1bHRTY3JpcHRUaW1lb3V0ID0gMzBfczsKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVm
YXVsdFNjcmlwdFRpbWVvdXQgPSAzMDAwMDsKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJk
cml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNkZm4tc2Vzc2lvbi1wYWdlLWxvYWQtdGltZW91dAot
c3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFBhZ2VMb2FkVGltZW91dCA9IDMwMF9zOworc3Rh
dGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0UGFnZUxvYWRUaW1lb3V0ID0gMzAwMDAwOwogLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI2Rmbi1zZXNz
aW9uLWltcGxpY2l0LXdhaXQtdGltZW91dAotc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdElt
cGxpY2l0V2FpdFRpbWVvdXQgPSAwX3M7CitzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHRJbXBs
aWNpdFdhaXRUaW1lb3V0ID0gMDsKIAogY29uc3QgU3RyaW5nJiBTZXNzaW9uOjp3ZWJFbGVtZW50
SWRlbnRpZmllcigpCiB7CkBAIC0xMjcsOSArMTI3LDEyIEBAIHZvaWQgU2Vzc2lvbjo6Y2xvc2Uo
RnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHZv
aWQgU2Vzc2lvbjo6Z2V0VGltZW91dHMoRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJhbWV0
ZXJzID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2Vy
KCJzY3JpcHQiX3MsIG1fc2NyaXB0VGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOwotICAg
IHBhcmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VMb2FkIl9zLCBtX3BhZ2VMb2FkVGltZW91dC5t
aWxsaXNlY29uZHNBczxpbnQ+KCkpOwotICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoImltcGxp
Y2l0Il9zLCBtX2ltcGxpY2l0V2FpdFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAg
ICBpZiAobV9zY3JpcHRUaW1lb3V0ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5m
aW5pdHkoKSkKKyAgICAgICAgcGFyYW1ldGVycy0+c2V0VmFsdWUoInNjcmlwdCJfcywgSlNPTjo6
VmFsdWU6Om51bGwoKSk7CisgICAgZWxzZQorICAgICAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUo
InNjcmlwdCJfcywgbV9zY3JpcHRUaW1lb3V0KTsKKyAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUo
InBhZ2VMb2FkIl9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CisgICAgcGFyYW1ldGVycy0+c2V0RG91
YmxlKCJpbXBsaWNpdCJfcywgbV9pbXBsaWNpdFdhaXRUaW1lb3V0KTsKICAgICBjb21wbGV0aW9u
SGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKFdURk1vdmUocGFyYW1ldGVycykpKTsKIH0K
IApAQCAtMzAwLDcgKzMwMyw3IEBAIHZvaWQgU2Vzc2lvbjo6Z28oY29uc3QgU3RyaW5nJiB1cmws
IEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvCiAgICAgICAgIFJl
ZlB0cjxKU09OOjpPYmplY3Q+IHBhcmFtZXRlcnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwog
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dz
aW5nQ29udGV4dC52YWx1ZSgpKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJ1cmwi
X3MsIHVybCk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VMb2FkVGltZW91
dCJfcywgbV9wYWdlTG9hZFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAgICAgICAg
cGFyYW1ldGVycy0+c2V0RG91YmxlKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1l
b3V0KTsKICAgICAgICAgaWYgKGF1dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VMb2FkU3RyYXRl
Z3lTdHJpbmcoKSkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygicGFnZUxvYWRT
dHJhdGVneSJfcywgcGFnZUxvYWRTdHJhdGVneS52YWx1ZSgpKTsKICAgICAgICAgbV9ob3N0LT5z
ZW5kQ29tbWFuZFRvQmFja2VuZCgibmF2aWdhdGVCcm93c2luZ0NvbnRleHQiX3MsIFdURk1vdmUo
cGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVm
KCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Np
b25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewpAQCAtMzYzLDcgKzM2Niw3IEBA
IHZvaWQgU2Vzc2lvbjo6YmFjayhGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+
IHBhcmFtZXRlcnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICBwYXJhbWV0ZXJz
LT5zZXRTdHJpbmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgp
KTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0SW50ZWdlcigicGFnZUxvYWRUaW1lb3V0Il9zLCBt
X3BhZ2VMb2FkVGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAgICAgICBwYXJhbWV0
ZXJzLT5zZXREb3VibGUoInBhZ2VMb2FkVGltZW91dCJfcywgbV9wYWdlTG9hZFRpbWVvdXQpOwog
ICAgICAgICBpZiAoYXV0byBwYWdlTG9hZFN0cmF0ZWd5ID0gcGFnZUxvYWRTdHJhdGVneVN0cmlu
ZygpKQogICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJwYWdlTG9hZFN0cmF0ZWd5
Il9zLCBwYWdlTG9hZFN0cmF0ZWd5LnZhbHVlKCkpOwogICAgICAgICBtX2hvc3QtPnNlbmRDb21t
YW5kVG9CYWNrZW5kKCJnb0JhY2tJbkJyb3dzaW5nQ29udGV4dCJfcywgV1RGTW92ZShwYXJhbWV0
ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlzLmNvcHlSZWYoKSwgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6
OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CkBAIC0zOTEsNyArMzk0LDcgQEAgdm9pZCBT
ZXNzaW9uOjpmb3J3YXJkKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gcGFy
YW1ldGVycyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNl
dFN0cmluZygiaGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwot
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFn
ZUxvYWRUaW1lb3V0Lm1pbGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAgICAgIHBhcmFtZXRlcnMt
PnNldERvdWJsZSgicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAg
ICAgIGlmIChhdXRvIHBhZ2VMb2FkU3RyYXRlZ3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkp
CiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3Ms
IHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7CiAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRU
b0JhY2tlbmQoImdvRm9yd2FyZEluQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6
Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAgLTQxOSw3ICs0MjIsNyBAQCB2b2lkIFNl
c3Npb246OnJlZnJlc2goRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKICAgICAgICAgfQogICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJh
bWV0ZXJzID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0
U3RyaW5nKCJoYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0g
ICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VMb2FkVGltZW91dCJfcywgbV9wYWdl
TG9hZFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAgICAgICAgcGFyYW1ldGVycy0+
c2V0RG91YmxlKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0KTsKICAgICAg
ICAgaWYgKGF1dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcoKSkK
ICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygicGFnZUxvYWRTdHJhdGVneSJfcywg
cGFnZUxvYWRTdHJhdGVneS52YWx1ZSgpKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRv
QmFja2VuZCgicmVsb2FkQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFu
ZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAgLTEwMjcsNyArMTAzMCw3IEBAIHZvaWQgU2Vzc2lv
bjo6ZmluZEVsZW1lbnRzKGNvbnN0IFN0cmluZyYgc3RyYXRlZ3ksIGNvbnN0IFN0cmluZyYgc2Vs
ZWN0b3IsIEZpbmRFCiAgICAgICAgICAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoY3JlYXRlRWxl
bWVudChyb290RWxlbWVudElEKS0+dG9KU09OU3RyaW5nKCkpOwogICAgICAgICBhcmd1bWVudHMt
PnB1c2hTdHJpbmcoSlNPTjo6VmFsdWU6OmNyZWF0ZShzZWxlY3RvciktPnRvSlNPTlN0cmluZygp
KTsKICAgICAgICAgYXJndW1lbnRzLT5wdXNoU3RyaW5nKEpTT046OlZhbHVlOjpjcmVhdGUobW9k
ZSA9PSBGaW5kRWxlbWVudHNNb2RlOjpTaW5nbGUpLT50b0pTT05TdHJpbmcoKSk7Ci0gICAgICAg
IGFyZ3VtZW50cy0+cHVzaFN0cmluZyhKU09OOjpWYWx1ZTo6Y3JlYXRlKG1faW1wbGljaXRXYWl0
VGltZW91dC5taWxsaXNlY29uZHMoKSktPnRvSlNPTlN0cmluZygpKTsKKyAgICAgICAgYXJndW1l
bnRzLT5wdXNoU3RyaW5nKEpTT046OlZhbHVlOjpjcmVhdGUobV9pbXBsaWNpdFdhaXRUaW1lb3V0
KS0+dG9KU09OU3RyaW5nKCkpOwogCiAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHBhcmFt
ZXRlcnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRT
dHJpbmcoImJyb3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4
dC52YWx1ZSgpKTsKQEAgLTEwMzgsNyArMTA0MSw3IEBAIHZvaWQgU2Vzc2lvbjo6ZmluZEVsZW1l
bnRzKGNvbnN0IFN0cmluZyYgc3RyYXRlZ3ksIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIEZpbmRF
CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldEJvb2xlYW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNr
QXJndW1lbnQiX3MsIHRydWUpOwogICAgICAgICAvLyBJZiB0aGVyZSdzIGFuIGltcGxpY2l0IHdh
aXQsIHVzZSBvbmUgc2Vjb25kIG1vcmUgYXMgY2FsbGJhY2sgdGltZW91dC4KICAgICAgICAgaWYg
KG1faW1wbGljaXRXYWl0VGltZW91dCkKLSAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVn
ZXIoImNhbGxiYWNrVGltZW91dCJfcywgU2Vjb25kcyhtX2ltcGxpY2l0V2FpdFRpbWVvdXQgKyAx
X3MpLm1pbGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRE
b3VibGUoImNhbGxiYWNrVGltZW91dCJfcywgbV9pbXBsaWNpdFdhaXRUaW1lb3V0ICsgMTAwMCk7
CiAKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVmKCksIG1vZGUsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiBy
ZXNwb25zZSkgewogICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmlzRXJyb3IgfHwgIXJlc3BvbnNl
LnJlc3BvbnNlT2JqZWN0KSB7CkBAIC0xNTA1LDcgKzE1MDgsNyBAQCB2b2lkIFNlc3Npb246Ondh
aXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0JiYp
PiYmIGNvbQogICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiYnJvd3NpbmdDb250ZXh0SGFuZGxl
Il9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwogICAgIGlmIChtX2N1cnJl
bnRCcm93c2luZ0NvbnRleHQpCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVI
YW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICBwYXJhbWV0
ZXJzLT5zZXRJbnRlZ2VyKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0Lm1p
bGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAgcGFyYW1ldGVycy0+c2V0RG91YmxlKCJwYWdlTG9h
ZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0KTsKICAgICBpZiAoYXV0byBwYWdlTG9hZFN0
cmF0ZWd5ID0gcGFnZUxvYWRTdHJhdGVneVN0cmluZygpKQogICAgICAgICBwYXJhbWV0ZXJzLT5z
ZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7
CiAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgid2FpdEZvck5hdmlnYXRpb25Ub0Nv
bXBsZXRlIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAgLTIxMzQs
OCArMjEzNyw4IEBAIHZvaWQgU2Vzc2lvbjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHNj
cmlwdCwgUmVmUHRyPEpTT046OkFycmF5PiYmIGFyZ3VtZW50CiAgICAgICAgIHBhcmFtZXRlcnMt
PnNldEFycmF5KCJhcmd1bWVudHMiX3MsIFdURk1vdmUoYXJndW1lbnRzKSk7CiAgICAgICAgIGlm
IChtb2RlID09IEV4ZWN1dGVTY3JpcHRNb2RlOjpBc3luYykgewogICAgICAgICAgICAgcGFyYW1l
dGVycy0+c2V0Qm9vbGVhbigiZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCJfcywgdHJ1
ZSk7Ci0gICAgICAgICAgICBpZiAobV9zY3JpcHRUaW1lb3V0KQotICAgICAgICAgICAgICAgIHBh
cmFtZXRlcnMtPnNldEludGVnZXIoImNhbGxiYWNrVGltZW91dCJfcywgbV9zY3JpcHRUaW1lb3V0
Lm1pbGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAgICAgICAgICBpZiAobV9zY3JpcHRUaW1lb3V0
ICE9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKKyAgICAgICAgICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUoImNhbGxiYWNrVGltZW91dCJfcywgbV9zY3JpcHRU
aW1lb3V0KTsKICAgICAgICAgfQogICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5k
KCJldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlzLmNvcHlSZWYoKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRS
ZXNwb25zZSYmIHJlc3BvbnNlKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5p
c0Vycm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkRyaXZlci9TZXNzaW9uLmggYi9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uaAppbmRleCA3
OGEzNWQ3ODQyYy4uZDQ5ZTdjMTFjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5oCkBAIC01MCw5ICs1MCw5IEBA
IHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3Q7CiAgICAgY29uc3QgQ2FwYWJp
bGl0aWVzJiBjYXBhYmlsaXRpZXMoKSBjb25zdDsKICAgICBib29sIGlzQ29ubmVjdGVkKCkgY29u
c3Q7Ci0gICAgU2Vjb25kcyBzY3JpcHRUaW1lb3V0KCkgY29uc3QgIHsgcmV0dXJuIG1fc2NyaXB0
VGltZW91dDsgfQotICAgIFNlY29uZHMgcGFnZUxvYWRUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4g
bV9wYWdlTG9hZFRpbWVvdXQ7IH0KLSAgICBTZWNvbmRzIGltcGxpY2l0V2FpdFRpbWVvdXQoKSBj
b25zdCB7IHJldHVybiBtX2ltcGxpY2l0V2FpdFRpbWVvdXQ7IH0KKyAgICBkb3VibGUgc2NyaXB0
VGltZW91dCgpIGNvbnN0ICB7IHJldHVybiBtX3NjcmlwdFRpbWVvdXQ7IH0KKyAgICBkb3VibGUg
cGFnZUxvYWRUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlTG9hZFRpbWVvdXQ7IH0KKyAg
ICBkb3VibGUgaW1wbGljaXRXYWl0VGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbGljaXRX
YWl0VGltZW91dDsgfQogICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHdlYkVsZW1lbnRJZGVudGlm
aWVyKCk7CiAKICAgICBlbnVtIGNsYXNzIEZpbmRFbGVtZW50c01vZGUgeyBTaW5nbGUsIE11bHRp
cGxlIH07CkBAIC0yMDcsOSArMjA3LDkgQEAgcHJpdmF0ZToKICAgICBJbnB1dFNvdXJjZVN0YXRl
JiBpbnB1dFNvdXJjZVN0YXRlKGNvbnN0IFN0cmluZyYgaWQpOwogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNlc3Npb25Ib3N0PiBtX2hvc3Q7Ci0gICAgU2Vjb25kcyBtX3NjcmlwdFRpbWVvdXQ7Ci0g
ICAgU2Vjb25kcyBtX3BhZ2VMb2FkVGltZW91dDsKLSAgICBTZWNvbmRzIG1faW1wbGljaXRXYWl0
VGltZW91dDsKKyAgICBkb3VibGUgbV9zY3JpcHRUaW1lb3V0OworICAgIGRvdWJsZSBtX3BhZ2VM
b2FkVGltZW91dDsKKyAgICBkb3VibGUgbV9pbXBsaWNpdFdhaXRUaW1lb3V0OwogICAgIE9wdGlv
bmFsPFN0cmluZz4gbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dDsKICAgICBPcHRpb25hbDxTdHJp
bmc+IG1fY3VycmVudEJyb3dzaW5nQ29udGV4dDsKICAgICBIYXNoTWFwPFN0cmluZywgSW5wdXRT
b3VyY2U+IG1fYWN0aXZlSW5wdXRTb3VyY2VzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZl
ci9XZWJEcml2ZXJTZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2Vydmlj
ZS5jcHAKaW5kZXggNTRlNjNlNjU5NDUuLjgzYTRkNjFlMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViRHJpdmVyL1dlYkRyaXZlclNlcnZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvV2Vi
RHJpdmVyU2VydmljZS5jcHAKQEAgLTMyMCw3ICszMjAsOSBAQCBzdGF0aWMgT3B0aW9uYWw8dWlu
dDY0X3Q+IHVuc2lnbmVkVmFsdWUoSlNPTjo6VmFsdWUmIHZhbHVlKQogICAgIHJldHVybiBpbnRW
YWx1ZTsKIH0KIAotc3RhdGljIE9wdGlvbmFsPFRpbWVvdXRzPiBkZXNlcmlhbGl6ZVRpbWVvdXRz
KEpTT046Ok9iamVjdCYgdGltZW91dHNPYmplY3QpCitlbnVtIGNsYXNzIElnbm9yZVVua25vd25U
aW1lb3V0IHsgTm8sIFllcyB9OworCitzdGF0aWMgT3B0aW9uYWw8VGltZW91dHM+IGRlc2VyaWFs
aXplVGltZW91dHMoSlNPTjo6T2JqZWN0JiB0aW1lb3V0c09iamVjdCwgSWdub3JlVW5rbm93blRp
bWVvdXQgaWdub3JlVW5rbm93blRpbWVvdXQpCiB7CiAgICAgLy8gwqc4LjUgU2V0IFRpbWVvdXRz
LgogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMu
aHRtbCNkZm4tZGVzZXJpYWxpemUtYXMtYS10aW1lb3V0CkBAIC0zMzAsMTggKzMzMiwyMyBAQCBz
dGF0aWMgT3B0aW9uYWw8VGltZW91dHM+IGRlc2VyaWFsaXplVGltZW91dHMoSlNPTjo6T2JqZWN0
JiB0aW1lb3V0c09iamVjdCkKICAgICAgICAgaWYgKGl0LT5rZXkgPT0gInNlc3Npb25JZCIpCiAg
ICAgICAgICAgICBjb250aW51ZTsKIAorICAgICAgICBpZiAoaXQtPmtleSA9PSAic2NyaXB0IiAm
JiBpdC0+dmFsdWUtPmlzTnVsbCgpKSB7CisgICAgICAgICAgICB0aW1lb3V0cy5zY3JpcHQgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIElmIHZhbHVlIGlzIG5vdCBhbiBpbnRlZ2Vy
LCBvciBpdCBpcyBsZXNzIHRoYW4gMCBvciBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2FmZSBp
bnRlZ2VyLCByZXR1cm4gZXJyb3Igd2l0aCBlcnJvciBjb2RlIGludmFsaWQgYXJndW1lbnQuCiAg
ICAgICAgIGF1dG8gdGltZW91dE1TID0gdW5zaWduZWRWYWx1ZSgqaXQtPnZhbHVlKTsKICAgICAg
ICAgaWYgKCF0aW1lb3V0TVMpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAg
ICAgICAgIGlmIChpdC0+a2V5ID09ICJzY3JpcHQiKQotICAgICAgICAgICAgdGltZW91dHMuc2Ny
aXB0ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0TVMudmFsdWUoKSk7CisgICAg
ICAgICAgICB0aW1lb3V0cy5zY3JpcHQgPSB0aW1lb3V0TVMudmFsdWUoKTsKICAgICAgICAgZWxz
ZSBpZiAoaXQtPmtleSA9PSAicGFnZUxvYWQiKQotICAgICAgICAgICAgdGltZW91dHMucGFnZUxv
YWQgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXRNUy52YWx1ZSgpKTsKKyAgICAg
ICAgICAgIHRpbWVvdXRzLnBhZ2VMb2FkID0gdGltZW91dE1TLnZhbHVlKCk7CiAgICAgICAgIGVs
c2UgaWYgKGl0LT5rZXkgPT0gImltcGxpY2l0IikKLSAgICAgICAgICAgIHRpbWVvdXRzLmltcGxp
Y2l0ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0TVMudmFsdWUoKSk7Ci0gICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRpbWVvdXRzLmltcGxpY2l0ID0gdGltZW91dE1TLnZhbHVl
KCk7CisgICAgICAgIGVsc2UgaWYgKGlnbm9yZVVua25vd25UaW1lb3V0ID09IElnbm9yZVVua25v
d25UaW1lb3V0OjpObykKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgfQog
ICAgIHJldHVybiB0aW1lb3V0czsKQEAgLTQ4Nyw3ICs0OTQsNyBAQCB2b2lkIFdlYkRyaXZlclNl
cnZpY2U6OnBhcnNlQ2FwYWJpbGl0aWVzKGNvbnN0IEpTT046Ok9iamVjdCYgbWF0Y2hlZENhcGFi
aWxpdGllcwogICAgICAgICBjYXBhYmlsaXRpZXMuc3RyaWN0RmlsZUludGVyYWN0YWJpbGl0eSA9
IHN0cmljdEZpbGVJbnRlcmFjdGFiaWxpdHk7CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gdGlt
ZW91dHM7CiAgICAgaWYgKG1hdGNoZWRDYXBhYmlsaXRpZXMuZ2V0T2JqZWN0KCJ0aW1lb3V0cyJf
cywgdGltZW91dHMpKQotICAgICAgICBjYXBhYmlsaXRpZXMudGltZW91dHMgPSBkZXNlcmlhbGl6
ZVRpbWVvdXRzKCp0aW1lb3V0cyk7CisgICAgICAgIGNhcGFiaWxpdGllcy50aW1lb3V0cyA9IGRl
c2VyaWFsaXplVGltZW91dHMoKnRpbWVvdXRzLCBJZ25vcmVVbmtub3duVGltZW91dDo6Tm8pOwog
ICAgIFN0cmluZyBwYWdlTG9hZFN0cmF0ZWd5OwogICAgIGlmIChtYXRjaGVkQ2FwYWJpbGl0aWVz
LmdldFN0cmluZygicGFnZUxvYWRTdHJhdGVneSJfcywgcGFnZUxvYWRTdHJhdGVneSkpCiAgICAg
ICAgIGNhcGFiaWxpdGllcy5wYWdlTG9hZFN0cmF0ZWd5ID0gZGVzZXJpYWxpemVQYWdlTG9hZFN0
cmF0ZWd5KHBhZ2VMb2FkU3RyYXRlZ3kpOwpAQCAtNTQ5LDcgKzU1Niw3IEBAIFJlZlB0cjxKU09O
OjpPYmplY3Q+IFdlYkRyaXZlclNlcnZpY2U6OnZhbGlkYXRlZENhcGFiaWxpdGllcyhjb25zdCBK
U09OOjpPYmplY3QmCiAgICAgICAgICAgICByZXN1bHQtPnNldEJvb2xlYW4oaXQtPmtleSwgc3Ry
aWN0RmlsZUludGVyYWN0YWJpbGl0eSk7CiAgICAgICAgIH0gZWxzZSBpZiAoaXQtPmtleSA9PSAi
dGltZW91dHMiKSB7CiAgICAgICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiB0aW1lb3V0czsK
LSAgICAgICAgICAgIGlmICghaXQtPnZhbHVlLT5hc09iamVjdCh0aW1lb3V0cykgfHwgIWRlc2Vy
aWFsaXplVGltZW91dHMoKnRpbWVvdXRzKSkKKyAgICAgICAgICAgIGlmICghaXQtPnZhbHVlLT5h
c09iamVjdCh0aW1lb3V0cykgfHwgIWRlc2VyaWFsaXplVGltZW91dHMoKnRpbWVvdXRzLCBJZ25v
cmVVbmtub3duVGltZW91dDo6Tm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgICAgICAgICAgcmVzdWx0LT5zZXRWYWx1ZShpdC0+a2V5LCBSZWZQdHI8SlNPTjo6VmFsdWU+
KGl0LT52YWx1ZSkpOwogICAgICAgICB9IGVsc2UgaWYgKGl0LT5rZXkgPT0gInVuaGFuZGxlZFBy
b21wdEJlaGF2aW9yIikgewpAQCAtODQzLDkgKzg1MCwxMiBAQCB2b2lkIFdlYkRyaXZlclNlcnZp
Y2U6OmNyZWF0ZVNlc3Npb24oVmVjdG9yPENhcGFiaWxpdGllcz4mJiBjYXBhYmlsaXRpZXNMaXN0
LCBzdAogICAgICAgICAgICAgaWYgKCFjYXBhYmlsaXRpZXMucHJveHkpCiAgICAgICAgICAgICAg
ICAgY2FwYWJpbGl0aWVzT2JqZWN0LT5zZXRPYmplY3QoInByb3h5Il9zLCBKU09OOjpPYmplY3Q6
OmNyZWF0ZSgpKTsKICAgICAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHRpbWVvdXRzT2Jq
ZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0
LT5zZXRJbnRlZ2VyKCJzY3JpcHQiX3MsIG1fc2Vzc2lvbi0+c2NyaXB0VGltZW91dCgpLm1pbGxp
c2Vjb25kc0FzPGludD4oKSk7Ci0gICAgICAgICAgICB0aW1lb3V0c09iamVjdC0+c2V0SW50ZWdl
cigicGFnZUxvYWQiX3MsIG1fc2Vzc2lvbi0+cGFnZUxvYWRUaW1lb3V0KCkubWlsbGlzZWNvbmRz
QXM8aW50PigpKTsKLSAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXRJbnRlZ2VyKCJpbXBs
aWNpdCJfcywgbV9zZXNzaW9uLT5pbXBsaWNpdFdhaXRUaW1lb3V0KCkubWlsbGlzZWNvbmRzQXM8
aW50PigpKTsKKyAgICAgICAgICAgIGlmIChtX3Nlc3Npb24tPnNjcmlwdFRpbWVvdXQoKSA9PSBz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgICAgICAgICAgICAg
dGltZW91dHNPYmplY3QtPnNldFZhbHVlKCJzY3JpcHQiX3MsIEpTT046OlZhbHVlOjpudWxsKCkp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXRE
b3VibGUoInNjcmlwdCJfcywgbV9zZXNzaW9uLT5zY3JpcHRUaW1lb3V0KCkpOworICAgICAgICAg
ICAgdGltZW91dHNPYmplY3QtPnNldERvdWJsZSgicGFnZUxvYWQiX3MsIG1fc2Vzc2lvbi0+cGFn
ZUxvYWRUaW1lb3V0KCkpOworICAgICAgICAgICAgdGltZW91dHNPYmplY3QtPnNldERvdWJsZSgi
aW1wbGljaXQiX3MsIG1fc2Vzc2lvbi0+aW1wbGljaXRXYWl0VGltZW91dCgpKTsKICAgICAgICAg
ICAgIGNhcGFiaWxpdGllc09iamVjdC0+c2V0T2JqZWN0KCJ0aW1lb3V0cyJfcywgV1RGTW92ZSh0
aW1lb3V0c09iamVjdCkpOwogCiAgICAgICAgICAgICByZXN1bHRPYmplY3QtPnNldE9iamVjdCgi
Y2FwYWJpbGl0aWVzIl9zLCBXVEZNb3ZlKGNhcGFiaWxpdGllc09iamVjdCkpOwpAQCAtOTA2LDcg
KzkxNiw3IEBAIHZvaWQgV2ViRHJpdmVyU2VydmljZTo6c2V0VGltZW91dHMoUmVmUHRyPEpTT046
Ok9iamVjdD4mJiBwYXJhbWV0ZXJzLCBGdW5jdGlvbjx2CiAgICAgaWYgKCFmaW5kU2Vzc2lvbk9y
Q29tcGxldGVXaXRoRXJyb3IoKnBhcmFtZXRlcnMsIGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgYXV0byB0aW1lb3V0cyA9IGRlc2VyaWFsaXplVGltZW91dHMoKnBh
cmFtZXRlcnMpOworICAgIGF1dG8gdGltZW91dHMgPSBkZXNlcmlhbGl6ZVRpbWVvdXRzKCpwYXJh
bWV0ZXJzLCBJZ25vcmVVbmtub3duVGltZW91dDo6WWVzKTsKICAgICBpZiAoIXRpbWVvdXRzKSB7
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OmZhaWwoQ29tbWFuZFJl
c3VsdDo6RXJyb3JDb2RlOjpJbnZhbGlkQXJndW1lbnQpKTsKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBiMTVmODNhZWIwMy4uNWI0NWRiZDEyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTktMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFdlYkRyaXZlcjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMg
Zm9yIHZhbHVlcyBoaWdoZXIgdGhhbiBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgbnVtYmVyIGluc3RlYWQgb2YgaW50ZWdlciBmb3Ig
YWxsIG9wdGlvbmFsIHRpbWVvdXQgcGFyYW1ldGVycy4gSW4gdGhlIGNhc2Ugb2Ygc2NyaXB0IHRp
bWVvdXQsIG5vdCBwYXNzaW5nIGEKKyAgICAgICAgdmFsdWUgbWVhbnMgYSB0aW1lb3V0IHNob3Vs
ZCBub3QgYmUgdXNlZCwgc28gdXNlIE9wdGlvbmFsPGRvdWJsZT4gYWxzbyBmb3IgdGhlIElQQyBt
ZXNzYWdlIGFuZCBoYW5kbGUgdGhlCisgICAgICAgIG9wdGlvbmFsIHZhbHVlIGluIHRoZSB3ZWIg
cHJvY2VzcyB0byBub3Qgc2V0IGFueSB0aW1lb3V0IGluIHRoYXQgY2FzZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6bmF2aWdhdGVCcm93c2luZ0NvbnRl
eHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29CYWNrSW5Ccm93
c2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29G
b3J3YXJkSW5Ccm93c2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6cmVsb2FkQnJvd3NpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZXZhbHVhdGVKYXZhU2NyaXB0
RnVuY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uUHJveHkuanM6CisgICAgICAgIChsZXQuQXV0b21hdGlvblNlc3Npb25Qcm94
eS5wcm90b3R5cGUuZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24pOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluOgor
CiAyMDE5LTEyLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
SW1wcm92ZSByZWxlYXNlIGxvZ2dpbmcgaW4gTmV0d29ya1Jlc291cmNlTG9hZGVyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCmluZGV4
IGE3NTg2NTg2YzhjLi43NTJlYjZhZjk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KQEAgLTM4OCw3ICszODgsNyBAQAogICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3NpbmdDb250ZXh0
SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93c2luZyBjb250
ZXh0IHRoYXQgc2hvdWxkIGJlIG5hdmlnYXRlZC4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ1cmwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVGhlIFVSTCB0byBs
b2FkIGluIHRoZSBicm93c2luZyBjb250ZXh0LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8gdXNl
IHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVnZXIi
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlz
ZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVkIGlu
LCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4iIH0K
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogIm51
bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBt
aWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0
ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVk
LiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAgICAg
fSwKQEAgLTM5OCw3ICszOTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRI
YW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRl
eHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8gdXNl
IHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVnZXIi
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlz
ZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVkIGlu
LCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4iIH0K
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogIm51
bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBt
aWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0
ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVk
LiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAgICAg
fSwKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRI
YW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRl
eHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8gdXNl
IHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVnZXIi
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlz
ZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVkIGlu
LCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4iIH0K
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogIm51
bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBt
aWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0
ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVk
LiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAgICAg
fSwKQEAgLTQxOCw3ICs0MTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRI
YW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRl
eHQgdGhhdCBzaG91bGQgYmUgcmVsb2FkZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAicGFnZUxvYWRTdHJhdGVneSIsICIkcmVmIjogIlBhZ2VMb2FkU3RyYXRlZ3kiLCAib3B0aW9u
YWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHBhZ2UgbG9hZCBzdHJhdGVneSB0byB1c2Ug
d2hlbiBkZXRlcm1pbmluZyB3aGVuIG5hdmlnYXRpb24gaXMgY29tcGxldGUuIiB9LAotICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAiaW50ZWdlciIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBtaWxsaXNl
Y29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0ZWQgaW4s
IG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAibnVt
YmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1p
bGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbXBsZXRl
ZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+VGltZW91dDwvY29kZT4gZXJyb3IgaXMgcmV0dXJuZWQu
IiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImFzeW5jIjogdHJ1ZQogICAgICAgICB9
LApAQCAtNDI5LDcgKzQyOSw3IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJicm93c2lu
Z0NvbnRleHRIYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRIYW5kbGUiLCAiZGVzY3Jp
cHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRleHQgaW4gd2hpY2ggd2Fp
dCBmb3IgcGVuZGluZyBuYXZpZ2F0aW9uIHRvIGNvbXBsZXRlLiIgfSwKICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImZyYW1lSGFuZGxlIiwgIiRyZWYiOiAiRnJhbWVIYW5kbGUiLCAib3B0aW9u
YWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGZyYW1lIGluIHdo
aWNoIHdhaXQgZm9yIHBlbmRpbmcgbmF2aWdhdGlvbiB0byBjb21wbGV0ZS4gVGhlIG1haW4gZnJh
bWUgaXMgdXNlZCBpZiB0aGlzIHBhcmFtZXRlciBlbXB0eSBzdHJpbmcgb3IgZXhjbHVkZWQuIiB9
LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRTdHJhdGVneSIsICIkcmVmIjog
IlBhZ2VMb2FkU3RyYXRlZ3kiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhl
IHBhZ2UgbG9hZCBzdHJhdGVneSB0byB1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGVuIG5hdmlnYXRp
b24gaXMgY29tcGxldGUuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRU
aW1lb3V0IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlv
biI6ICJUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBl
eHBlY3RlZCB0byBiZSBjb21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2Nv
ZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFn
ZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZpZ2F0aW9u
IGlzIGV4cGVjdGVkIHRvIGJlIGNvbXBsZXRlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+VGltZW91
dDwvY29kZT4gZXJyb3IgaXMgcmV0dXJuZWQuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgImFzeW5jIjogdHJ1ZQogICAgICAgICB9LApAQCAtNDUyLDcgKzQ1Miw3IEBACiAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJmdW5jdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJUaGUgc2NyaXB0IHRvIGV2YWx1YXRlIGluIHRoZSBicm93c2luZyBjb250ZXh0LiBJ
dCBtdXN0IGJlIGEgZnVuY3Rpb24gcmVzdWx0LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImFyZ3VtZW50cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJp
bmciIH0sICJkZXNjcmlwdGlvbiI6ICJUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGZ1bmN0
aW9uIHdoZW4gY2FsbGVkLiBUaGV5IHdpbGwgYmUgcGFyc2VkIGFzIEpTT04gYmVmb3JlIGNhbGxp
bmcgdGhlIGZ1bmN0aW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4cGVjdHNJ
bXBsaWNpdENhbGxiYWNrQXJndW1lbnQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
dHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBmdW5jdGlvbiBleHBlY3RzIGEgY2FsbGJhY2sgZnVu
Y3Rpb24gYXMgdGhlIGxhc3QgYXJndW1lbnQuIEl0IGlzIGV4cGVjdGVkIHRvIGNhbGwgdGhpcyBj
YWxsYmFjayB3aXRoIGEgcmVzdWx0LiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNh
bGxiYWNrVGltZW91dCIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGltcGxpY2l0
IGNhbGxiYWNrIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+
SmF2YVNjcmlwdFRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiY2FsbGJhY2tUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVyIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25k
cyB0aGF0IHRoZSBpbXBsaWNpdCBjYWxsYmFjayBpcyBleHBlY3RlZCB0byBiZSBjYWxsZWQgaW4s
IG90aGVyd2lzZSBhIDxjb2RlPkphdmFTY3JpcHRUaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1
cm5lZC4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAicmV0dXJucyI6IFsKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJUaGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBjYWxsZWQgZnVuY3Rpb24uIEl0IGlz
IEpTT04gZW5jb2RlZCBhZnRlciB0aGUgZnVuY3Rpb24gcmV0dXJucyBvciBjYWxscyB0aGUgY2Fs
bGJhY2suIiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IGVlYTFmZGNjN2NmLi4zOTliNGFi
NTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJB
dXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTQ0Miw3ICs0NDIsNyBAQCBzdGF0aWMg
T3B0aW9uYWw8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6UGFnZUxvYWRTdHJhdGVn
eT4gcGFnZUxvYWRTdHJhdAogICAgIHJldHVybiBwYXJzZWRQYWdlTG9hZFN0cmF0ZWd5OwogfQog
Ci12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGUo
Y29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9u
YWxGcmFtZUhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJp
bmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxXYWl0Rm9yTmF2aWdh
dGlvblRvQ29tcGxldGVDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNl
c3Npb246OndhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcmIGJyb3dzaW5n
Q29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBjb25zdCBT
dHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBvcHRp
b25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZUNhbGxi
YWNrPiYmIGNhbGxiYWNrKQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQcm94
eUZvckhhbmRsZShicm93c2luZ0NvbnRleHRIYW5kbGUpOwogICAgIGlmICghcGFnZSkKQEAgLTY5
Niw3ICs2OTYsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaWRFeGl0RnVsbFNjcmVl
bkZvclBhZ2UoY29uc3QgV2ViUGFnZVByb3h5JikKICAgICAgICAgbV93aW5kb3dTdGF0ZVRyYW5z
aXRpb25DYWxsYmFjayhXaW5kb3dUcmFuc2l0aW9uZWRUb1N0YXRlOjpVbmZ1bGxzY3JlZW4pOwog
fQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChj
b25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyogb3B0
aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRU
aW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykK
K3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Om5hdmlnYXRlQnJvd3NpbmdDb250ZXh0KGNvbnN0
IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nKiBvcHRpb25h
bFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdlTG9hZFRp
bWVvdXQsIFJlZjxOYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmIGNhbGxiYWNrKQog
ewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQcm94eUZvckhhbmRsZShoYW5kbGUp
OwogICAgIGlmICghcGFnZSkKQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25T
ZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29u
c3QgUwogICAgIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZU9uUGFnZSgqcGFnZSwgcGFnZUxv
YWRTdHJhdGVneS52YWx1ZSgpLCBwYWdlTG9hZFRpbWVvdXQsIFdURk1vdmUoY2FsbGJhY2spKTsK
IH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29CYWNrSW5Ccm93c2luZ0NvbnRleHQo
Y29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0
ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8R29CYWNr
SW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlv
blNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgaGFuZGxlLCBj
b25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91Ymxl
KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJvd3NpbmdDb250ZXh0Q2Fs
bGJhY2s+JiYgY2FsbGJhY2spCiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVBy
b3h5Rm9ySGFuZGxlKGhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtNzI2LDcgKzcyNiw3IEBA
IHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0KGNvbnN0
IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTCiAgICAgd2FpdEZvck5hdmlnYXRpb25Ub0NvbXBsZXRl
T25QYWdlKCpwYWdlLCBwYWdlTG9hZFN0cmF0ZWd5LnZhbHVlKCksIHBhZ2VMb2FkVGltZW91dCwg
V1RGTW92ZShjYWxsYmFjaykpOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpnb0Zv
cndhcmRJbkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5n
KiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdl
TG9hZFRpbWVvdXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmIGNh
bGxiYWNrKQordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29Gb3J3YXJkSW5Ccm93c2luZ0Nv
bnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9h
ZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3VibGUqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBS
ZWY8R29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKIHsKICAg
ICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JIYW5kbGUoaGFuZGxlKTsKICAg
ICBpZiAoIXBhZ2UpCkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6Z29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnMK
ICAgICB3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGVPblBhZ2UoKnBhZ2UsIHBhZ2VMb2FkU3Ry
YXRlZ3kudmFsdWUoKSwgcGFnZUxvYWRUaW1lb3V0LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAK
LXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBT
dHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJp
bmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRCcm93c2lu
Z0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246
OnJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5n
KiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQ
YWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JIYW5kbGUo
aGFuZGxlKTsKICAgICBpZiAoIXBhZ2UpCkBAIC05MjIsNyArOTIyLDcgQEAgdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6aGFuZGxlUnVuT3BlblBhbmVsKGNvbnN0IFdlYlBhZ2VQcm94eSYgcGFn
ZSwgY29uc3QgV2UKICAgICBtX2RvbWFpbk5vdGlmaWVyLT5maWxlQ2hvb3NlckRpc21pc3NlZChi
cm93c2luZ0NvbnRleHRIYW5kbGUsIGZhbHNlKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6ZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBicm93c2luZ0Nv
bnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSwgY29uc3QgU3Ry
aW5nJiBmdW5jdGlvbiwgY29uc3QgSlNPTjo6QXJyYXkmIGFyZ3VtZW50cywgY29uc3QgYm9vbCog
b3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50LCBjb25zdCBpbnQqIG9wdGlv
bmFsQ2FsbGJhY2tUaW1lb3V0LCBSZWY8RXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFj
az4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNj
cmlwdEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBT
dHJpbmcqIG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0
IEpTT046OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxp
Y2l0Q2FsbGJhY2tBcmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNrVGltZW91
dCwgUmVmPEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7
CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVByb3h5Rm9ySGFuZGxlKGJyb3dzaW5n
Q29udGV4dEhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtOTQzLDcgKzk0Myw5IEBAIHZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKGNvbnN0IFN0
cmluZyYgYnJvd3NpbmdDb250CiAgICAgfQogCiAgICAgYm9vbCBleHBlY3RzSW1wbGljaXRDYWxs
YmFja0FyZ3VtZW50ID0gb3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50ID8g
Km9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCA6IGZhbHNlOwotICAgIGlu
dCBjYWxsYmFja1RpbWVvdXQgPSBvcHRpb25hbENhbGxiYWNrVGltZW91dCA/ICpvcHRpb25hbENh
bGxiYWNrVGltZW91dCA6IDA7CisgICAgT3B0aW9uYWw8ZG91YmxlPiBjYWxsYmFja1RpbWVvdXQ7
CisgICAgaWYgKG9wdGlvbmFsQ2FsbGJhY2tUaW1lb3V0KQorICAgICAgICBjYWxsYmFja1RpbWVv
dXQgPSAqb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQ7CiAKICAgICB1aW50NjRfdCBjYWxsYmFja0lE
ID0gbV9uZXh0RXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2tJRCsrOwogICAgIG1fZXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY2FsbGJh
Y2spKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCAzZTlkOGMwMjFhYS4uOTI3NWQ1ZTFiNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmgKQEAgLTE3MCwxMiArMTcwLDEyIEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFdpbmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNv
bnN0IEpTT046Ok9iamVjdCogb3JpZ2luLCBjb25zdCBKU09OOjpPYmplY3QqIHNpemUsIFJlZjxT
ZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIGZpbmFsOwogICAgIHZv
aWQgbWF4aW1pemVXaW5kb3dPZkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwg
UmVmPE1heGltaXplV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7CiAg
ICAgdm9pZCBoaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUs
IFJlZjxIaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7Ci0gICAg
dm9pZCBuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5n
LCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2lu
Z0NvbnRleHRDYWxsYmFjaz4mJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnb0JhY2tJbkJyb3dzaW5n
Q29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJh
dGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFj
a0luQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ29Gb3J3
YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBvcHRpb25h
bFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVv
dXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsK
LSAgICB2b2lkIHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25hbFBh
Z2VMb2FkVGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcm
IGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxl
LCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50
KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0
ZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0
aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9w
dGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpTT046OkFy
cmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJh
Y2tBcmd1bWVudCwgY29uc3QgaW50KiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVmPEluc3Bl
Y3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBuYXZpZ2F0ZUJyb3dz
aW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3VibGUqIG9w
dGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRDYWxsYmFj
az4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnb0JhY2tJbkJyb3dzaW5nQ29udGV4dChjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29u
c3QgZG91YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJvd3NpbmdD
b250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZ29Gb3J3YXJkSW5Ccm93c2lu
Z0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3Ry
YXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxH
b0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsKKyAgICB2b2lk
IHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlv
bmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBvcHRpb25hbFBhZ2VMb2Fk
VGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsK
KyAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcmIGJyb3dz
aW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBjb25z
dCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBv
cHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZUNh
bGxiYWNrPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9u
KGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlv
bmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpTT046OkFycmF5
JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tB
cmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVmPEluc3Bl
Y3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3JtTW91c2VJ
bnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgSlNPTjo6T2JqZWN0JiByZXF1
ZXN0ZWRQb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBtb3VzZUJ1dHRvbiwgY29uc3QgU3RyaW5nJiBt
b3VzZUludGVyYWN0aW9uLCBjb25zdCBKU09OOjpBcnJheSYga2V5TW9kaWZpZXJzLCBSZWY8UGVy
Zm9ybU1vdXNlSW50ZXJhY3Rpb25DYWxsYmFjaz4mJikgZmluYWw7CiAgICAgdm9pZCBwZXJmb3Jt
S2V5Ym9hcmRJbnRlcmFjdGlvbnMoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEpTT046OkFy
cmF5JiBpbnRlcmFjdGlvbnMsIFJlZjxQZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnNDYWxsYmFj
az4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3JtSW50ZXJhY3Rpb25TZXF1ZW5jZShjb25z
dCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBjb25z
dCBKU09OOjpBcnJheSYgc291cmNlcywgY29uc3QgSlNPTjo6QXJyYXkmIHN0ZXBzLCBSZWY8UGVy
Zm9ybUludGVyYWN0aW9uU2VxdWVuY2VDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uUHJveHkuY3BwCmluZGV4IDI1ZThjYjdiNTMzLi44ZTNjM2UzY2NiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWUo
V2ViRnJhbWUmIGZyYW1lKQogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQ
cm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6
RGlkRXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY2FsbGJhY2tJRCwgZXJyb3JNZXNzYWdlLCBl
cnJvclR5cGUpLCAwKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFs
dWF0ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9w
dGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gb3B0aW9uYWxGcmFtZUlELCBjb25zdCBT
dHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0lt
cGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxiYWNrVGltZW91dCwgdWludDY0X3QgY2Fs
bGJhY2tJRCkKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb24oV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBPcHRpb25hbDxXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXI+IG9wdGlvbmFsRnJhbWVJRCwgY29uc3QgU3RyaW5nJiBmdW5j
dGlvbiwgVmVjdG9yPFN0cmluZz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxi
YWNrQXJndW1lbnQsIE9wdGlvbmFsPGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBj
YWxsYmFja0lEKQogewogICAgIFdlYlBhZ2UqIHBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS53ZWJQYWdlKHBhZ2VJRCk7CiAgICAgaWYgKCFwYWdlKSB7CkBAIC0yNjksNyArMjY5LDcgQEAg
dm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlv
bihXZWJDb3JlOjpQYWdlSWRlbnRpZmkKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4
dCwgZnJhbWVJRC50b1VJbnQ2NCgpKSwKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4
dCwgY2FsbGJhY2tJRCksCiAgICAgICAgIEpTT2JqZWN0TWFrZUZ1bmN0aW9uV2l0aENhbGxiYWNr
KGNvbnRleHQsIG51bGxwdHIsIGV2YWx1YXRlSmF2YVNjcmlwdENhbGxiYWNrKSwKLSAgICAgICAg
SlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4dCwgY2FsbGJhY2tUaW1lb3V0KQorICAgICAgICBKU1Zh
bHVlTWFrZU51bWJlcihjb250ZXh0LCBjYWxsYmFja1RpbWVvdXQudmFsdWVPcigtMSkpCiAgICAg
fTsKIAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAppbmRleCBhYzdlNDA3MTIw
Ni4uMmU2N2ExNDIzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgKQEAgLTYzLDcg
KzYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGJ5IFdlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkgbWVzc2FnZXMKLSAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlw
dEZ1bmN0aW9uKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFt
ZUlkZW50aWZpZXI+LCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1
bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxiYWNr
VGltZW91dCwgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgdm9pZCBldmFsdWF0ZUphdmFTY3Jp
cHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyPiwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbiwgVmVjdG9yPFN0cmluZz4gYXJn
dW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIE9wdGlvbmFsPGRv
dWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIHJl
c29sdmVDaGlsZEZyYW1lV2l0aE9yZGluYWwoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIE9wdGlv
bmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIHVpbnQzMl90IG9yZGluYWwsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8U3RyaW5nPiwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyPik+JiYpOwogICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9kZUhhbmRs
ZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyPiwgY29uc3QgU3RyaW5nJiBub2RlSGFuZGxlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFN0cmluZz4sIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4pPiYmKTsK
ICAgICB2b2lkIHJlc29sdmVDaGlsZEZyYW1lV2l0aE5hbWUoV2ViQ29yZTo6UGFnZUlkZW50aWZp
ZXIsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIGNvbnN0IFN0cmluZyYgbmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxTdHJpbmc+LCBPcHRpb25hbDxXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXI+KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5q
cwppbmRleCAwYjJjMGZkNzUyMi4uMjY4MTVkZmI5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b25Qcm94eS5qcwpAQCAtNjQsNyArNjQsNyBAQCBsZXQgQXV0b21hdGlvblNlc3Npb25Qcm94eSA9
IGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uUHJveHkKICAgICAgICAgaWYgKGV4cGVjdHNJbXBsaWNp
dENhbGxiYWNrQXJndW1lbnQpIHsKICAgICAgICAgICAgIGFyZ3VtZW50VmFsdWVzLnB1c2gocmVw
b3J0UmVzdWx0KTsKICAgICAgICAgICAgIGZ1bmN0aW9uVmFsdWUuYXBwbHkobnVsbCwgYXJndW1l
bnRWYWx1ZXMpOwotICAgICAgICAgICAgaWYgKCFyZXN1bHRSZXBvcnRlZCkKKyAgICAgICAgICAg
IGlmICghcmVzdWx0UmVwb3J0ZWQgJiYgY2FsbGJhY2tUaW1lb3V0ID49IDApCiAgICAgICAgICAg
ICAgICAgdGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KHJlcG9ydFRpbWVvdXRFcnJvciwg
Y2FsbGJhY2tUaW1lb3V0KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXBvcnRSZXN1
bHQoZnVuY3Rpb25WYWx1ZS5hcHBseShudWxsLCBhcmd1bWVudFZhbHVlcykpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b25Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmY2MzY4N2MzODEu
LmVkMWM5OGFmMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVz
c2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4g
V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICBFdmFsdWF0ZUph
dmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdGlvbmFs
PFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgU3RyaW5nIGZ1bmN0aW9uLCBWZWN0
b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVu
dCwgaW50IGNhbGxiYWNrVGltZW91dCwgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBFdmFsdWF0
ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdGlv
bmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgU3RyaW5nIGZ1bmN0aW9uLCBW
ZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1
bWVudCwgT3B0aW9uYWw8ZG91YmxlPiBjYWxsYmFja1RpbWVvdXQsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAKICAgICBSZXNvbHZlQ2hpbGRGcmFtZVdpdGhPcmRpbmFsKFdlYkNvcmU6OlBhZ2VJZGVu
dGlmaWVyIHBhZ2VJRCwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlE
LCB1aW50MzJfdCBvcmRpbmFsKSAtPiAoT3B0aW9uYWw8U3RyaW5nPiBlcnJvclR5cGUsIE9wdGlv
bmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCkgQXN5bmMKICAgICBSZXNvbHZl
Q2hpbGRGcmFtZVdpdGhOb2RlSGFuZGxlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwg
T3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlELCBTdHJpbmcgbm9kZUhh
bmRsZSkgLT4gKE9wdGlvbmFsPFN0cmluZz4gZXJyb3JUeXBlLCBPcHRpb25hbDxXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXI+IGZyYW1lSUQpIEFzeW5jCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386333</attachid>
            <date>2019-12-23 02:13:49 -0800</date>
            <delta_ts>2019-12-23 02:13:49 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wd-timeouts.diff</filename>
            <type>text/plain</type>
            <size>43354</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY0OTU5ZDMzMDhjLi4yNWM3MGJkYmNiMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMTItMjMgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZl
cjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMgZm9yIHZhbHVlcyBoaWdoZXIgdGhh
biBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBCcmlhbiBCdXJnLgorCisgICAgICAgIEZp
eCBnZW5lcmF0aW9uIG9mIGNvZGUgd2l0aCBvcHRpb25hbCBudW1iZXIgaW4gc3RhY2sgdmFyaWFi
bGUuCisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3Iu
cHk6CisgICAgICAgIChDcHBHZW5lcmF0b3IuY3BwX3R5cGVfZm9yX3N0YWNrX2luX3BhcmFtZXRl
cik6IERvIG5vdCB1c2UgT3B0aW9uYWwgZm9yIG51bWJlcnMgZWl0aGVyLgorICAgICAgICAqIGlu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRp
b25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0OgorCiAyMDE5LTEyLTIyICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
Zml4IGluY29ycmVjdCBtZXJnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvci5weQppbmRl
eCAwNjBmMDMxN2Q1NC4uZGY4Mzc3NWM5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRv
ci5weQpAQCAtMjc1LDcgKzI3NSw3IEBAIGNsYXNzIENwcEdlbmVyYXRvcihHZW5lcmF0b3IpOgog
ICAgICAgICAgICAgY3BwX25hbWUgPSBDcHBHZW5lcmF0b3IuY3BwX25hbWVfZm9yX3ByaW1pdGl2
ZV90eXBlKF90eXBlKQogICAgICAgICAgICAgaWYgX3R5cGUucXVhbGlmaWVkX25hbWUoKSBpbiBb
J2FueScsICdvYmplY3QnXToKICAgICAgICAgICAgICAgICByZXR1cm4gIlJlZlB0cjwlcz4iICUg
Q3BwR2VuZXJhdG9yLmNwcF9uYW1lX2Zvcl9wcmltaXRpdmVfdHlwZShfdHlwZSkKLSAgICAgICAg
ICAgIGVsaWYgcGFyYW1ldGVyLmlzX29wdGlvbmFsIGFuZCBfdHlwZS5xdWFsaWZpZWRfbmFtZSgp
IG5vdCBpbiBbJ2Jvb2xlYW4nLCAnc3RyaW5nJywgJ2ludGVnZXInXToKKyAgICAgICAgICAgIGVs
aWYgcGFyYW1ldGVyLmlzX29wdGlvbmFsIGFuZCBfdHlwZS5xdWFsaWZpZWRfbmFtZSgpIG5vdCBp
biBbJ2Jvb2xlYW4nLCAnc3RyaW5nJywgJ2ludGVnZXInLCAnbnVtYmVyJ106CiAgICAgICAgICAg
ICAgICAgcmV0dXJuICJPcHRpb25hbDwlcz4iICUgY3BwX25hbWUKICAgICAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNwcF9uYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21t
YW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQKaW5kZXggOWRiNTZiNWI1NWEuLjA5ZjU1ODc3MThkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0CkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBEYXRhYmFzZUJhY2tlbmREaXNw
YXRjaGVyOjpleGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzKGxvbmcgcmVxdWVzdElkLCBSZWYK
ICAgICBib29sIG9wdF9pbl9ub3Rlc192YWx1ZUZvdW5kID0gZmFsc2U7CiAgICAgU3RyaW5nIG9w
dF9pbl9ub3RlcyA9IG1fYmFja2VuZERpc3BhdGNoZXItPmdldFN0cmluZyhwYXJhbWV0ZXJzLmdl
dCgpLCAibm90ZXMiX3MsICZvcHRfaW5fbm90ZXNfdmFsdWVGb3VuZCk7CiAgICAgYm9vbCBvcHRf
aW5fdGltZXN0YW1wX3ZhbHVlRm91bmQgPSBmYWxzZTsKLSAgICBPcHRpb25hbDxkb3VibGU+IG9w
dF9pbl90aW1lc3RhbXAgPSBtX2JhY2tlbmREaXNwYXRjaGVyLT5nZXREb3VibGUocGFyYW1ldGVy
cy5nZXQoKSwgInRpbWVzdGFtcCJfcywgJm9wdF9pbl90aW1lc3RhbXBfdmFsdWVGb3VuZCk7Cisg
ICAgZG91YmxlIG9wdF9pbl90aW1lc3RhbXAgPSBtX2JhY2tlbmREaXNwYXRjaGVyLT5nZXREb3Vi
bGUocGFyYW1ldGVycy5nZXQoKSwgInRpbWVzdGFtcCJfcywgJm9wdF9pbl90aW1lc3RhbXBfdmFs
dWVGb3VuZCk7CiAgICAgYm9vbCBvcHRfaW5fdmFsdWVzX3ZhbHVlRm91bmQgPSBmYWxzZTsKICAg
ICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBvcHRfaW5fdmFsdWVzID0gbV9iYWNrZW5kRGlzcGF0Y2hl
ci0+Z2V0T2JqZWN0KHBhcmFtZXRlcnMuZ2V0KCksICJ2YWx1ZXMiX3MsICZvcHRfaW5fdmFsdWVz
X3ZhbHVlRm91bmQpOwogICAgIGJvb2wgb3B0X2luX3BheWxvYWRfdmFsdWVGb3VuZCA9IGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9X
ZWJEcml2ZXIvQ2FwYWJpbGl0aWVzLmgKaW5kZXggMWI2YTE5NDI2YzYuLmY3ZGRkYzliNDJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NhcGFiaWxpdGllcy5oCisrKyBiL1NvdXJjZS9X
ZWJEcml2ZXIvQ2FwYWJpbGl0aWVzLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUgPHV0
aWxpdHk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNSw5ICszNCw5IEBACiBuYW1lc3BhY2UgV2Vi
RHJpdmVyIHsKIAogc3RydWN0IFRpbWVvdXRzIHsKLSAgICBPcHRpb25hbDxTZWNvbmRzPiBzY3Jp
cHQ7Ci0gICAgT3B0aW9uYWw8U2Vjb25kcz4gcGFnZUxvYWQ7Ci0gICAgT3B0aW9uYWw8U2Vjb25k
cz4gaW1wbGljaXQ7CisgICAgT3B0aW9uYWw8ZG91YmxlPiBzY3JpcHQ7CisgICAgT3B0aW9uYWw8
ZG91YmxlPiBwYWdlTG9hZDsKKyAgICBPcHRpb25hbDxkb3VibGU+IGltcGxpY2l0OwogfTsKIAog
ZW51bSBjbGFzcyBQYWdlTG9hZFN0cmF0ZWd5IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2
ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKaW5kZXggMTg5N2YzNzFh
NGIuLjRjNGM5YjVmNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTEy
LTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBXZWJEcml2ZXI6IGZpeCBoYW5kbGluZyBvZiBzZXNzaW9uIHRpbWVvdXRzIGZvciB2YWx1ZXMg
aGlnaGVyIHRoYW4gTUFYX0lOVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA0MTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJpYW4gQnVyZy4KKwor
ICAgICAgICBVc2UgZG91YmxlIGluc3RlYWQgb2YgU2Vjb25kcyBmb3IgaGFuZGxpbmcgdGltZW91
dHMuCisKKyAgICAgICAgKiBDYXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBTZXNzaW9uLmNwcDoK
KyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6Z2V0VGltZW91dHMpOiBIYW5kbGUgdGhlIGNh
c2Ugb2Ygc2NyaXB0IHRpbWVvdXQgYmVpbmcgbnVsbC4KKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vz
c2lvbjo6Z28pOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpiYWNrKToKKyAgICAgICAg
KFdlYkRyaXZlcjo6U2Vzc2lvbjo6Zm9yd2FyZCk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Np
b246OnJlZnJlc2gpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpmaW5kRWxlbWVudHMp
OgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxl
dGUpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpleGVjdXRlU2NyaXB0KTogRG8gbm90
IHBhc3MgYSB0aW1lb3V0IHdoZW4gaXQncyBudWxsLgorICAgICAgICAqIFNlc3Npb24uaDoKKyAg
ICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6c2NyaXB0VGltZW91dCBjb25zdCk6CisgICAgICAg
IChXZWJEcml2ZXI6OlNlc3Npb246OnBhZ2VMb2FkVGltZW91dCBjb25zdCk6CisgICAgICAgIChX
ZWJEcml2ZXI6OlNlc3Npb246OmltcGxpY2l0V2FpdFRpbWVvdXQgY29uc3QpOgorICAgICAgICAq
IFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpkZXNlcmlhbGl6ZVRp
bWVvdXRzKTogQWRkIElnbm9yZVVua25vd25UaW1lb3V0LCBzaW5jZSB3ZSBzaG91bGQgb25seSBm
YWlsIHdoZW4gcHJvY2Vzc2luZworICAgICAgICBjYXBhYmlsaXRpZXMsIGJ1dCBub3Qgd2hlbiBz
ZXR0aW5nIG5ldyB0aW1lb3V0cy4gQWxzbyBoYW5kbGUgdGhlIGNhc2Ugb2Ygc2NyaXB0IHRpbWVv
dXQgYmVpbmcgbnVsbC4KKyAgICAgICAgKFdlYkRyaXZlcjo6V2ViRHJpdmVyU2VydmljZTo6cGFy
c2VDYXBhYmlsaXRpZXMgY29uc3QpOiBQYXNzIElnbm9yZVVua25vd25UaW1lb3V0OjpObyB0byBk
ZXNlcmlhbGl6ZVRpbWVvdXRzLgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNl
Ojp2YWxpZGF0ZWRDYXBhYmlsaXRpZXMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkRyaXZl
cjo6V2ViRHJpdmVyU2VydmljZTo6Y3JlYXRlU2Vzc2lvbik6IEhhbmRsZSB0aGUgY2FzZSBvZiBz
Y3JpcHQgdGltZW91dCBiZWluZyBudWxsLgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJT
ZXJ2aWNlOjpzZXRUaW1lb3V0cyk6IFBhc3MgSWdub3JlVW5rbm93blRpbWVvdXQ6OlllcyB0byBk
ZXNlcmlhbGl6ZVRpbWVvdXRzLgorCiAyMDE5LTEyLTEzICBKaW0gTWFzb24gIDxqbWFzb25AaWJp
bnguY29tPgogCiAgICAgICAgIFtHVEtdIFdlYktpdEdUSyBidWlsZCBoYW5ncyBvbiBnLWlyLXNj
YW5uZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViRHJpdmVyL1Nlc3Npb24uY3BwCmluZGV4IDBmZGVhMTliOGY5Li4xYmY5OWI2NjUyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViRHJp
dmVyL1Nlc3Npb24uY3BwCkBAIC0zOCwxMSArMzgsMTEgQEAKIG5hbWVzcGFjZSBXZWJEcml2ZXIg
ewogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0
bWwjZGZuLXNlc3Npb24tc2NyaXB0LXRpbWVvdXQKLXN0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1
bHRTY3JpcHRUaW1lb3V0ID0gMzBfczsKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdFNjcmlw
dFRpbWVvdXQgPSAzMDAwMDsKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2Vi
ZHJpdmVyLXNwZWMuaHRtbCNkZm4tc2Vzc2lvbi1wYWdlLWxvYWQtdGltZW91dAotc3RhdGljIGNv
bnN0IFNlY29uZHMgZGVmYXVsdFBhZ2VMb2FkVGltZW91dCA9IDMwMF9zOworc3RhdGljIGNvbnN0
IGRvdWJsZSBkZWZhdWx0UGFnZUxvYWRUaW1lb3V0ID0gMzAwMDAwOwogLy8gaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI2Rmbi1zZXNzaW9uLWltcGxp
Y2l0LXdhaXQtdGltZW91dAotc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdEltcGxpY2l0V2Fp
dFRpbWVvdXQgPSAwX3M7CitzdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHRJbXBsaWNpdFdhaXRU
aW1lb3V0ID0gMDsKIAogY29uc3QgU3RyaW5nJiBTZXNzaW9uOjp3ZWJFbGVtZW50SWRlbnRpZmll
cigpCiB7CkBAIC0xMjcsOSArMTI3LDEyIEBAIHZvaWQgU2Vzc2lvbjo6Y2xvc2UoRnVuY3Rpb248
dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHZvaWQgU2Vzc2lv
bjo6Z2V0VGltZW91dHMoRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJhbWV0ZXJzID0gSlNP
Tjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJzY3JpcHQi
X3MsIG1fc2NyaXB0VGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOwotICAgIHBhcmFtZXRl
cnMtPnNldEludGVnZXIoInBhZ2VMb2FkIl9zLCBtX3BhZ2VMb2FkVGltZW91dC5taWxsaXNlY29u
ZHNBczxpbnQ+KCkpOwotICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoImltcGxpY2l0Il9zLCBt
X2ltcGxpY2l0V2FpdFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAgICBpZiAobV9z
Y3JpcHRUaW1lb3V0ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkK
KyAgICAgICAgcGFyYW1ldGVycy0+c2V0VmFsdWUoInNjcmlwdCJfcywgSlNPTjo6VmFsdWU6Om51
bGwoKSk7CisgICAgZWxzZQorICAgICAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUoInNjcmlwdCJf
cywgbV9zY3JpcHRUaW1lb3V0KTsKKyAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUoInBhZ2VMb2Fk
Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CisgICAgcGFyYW1ldGVycy0+c2V0RG91YmxlKCJpbXBs
aWNpdCJfcywgbV9pbXBsaWNpdFdhaXRUaW1lb3V0KTsKICAgICBjb21wbGV0aW9uSGFuZGxlcihD
b21tYW5kUmVzdWx0OjpzdWNjZXNzKFdURk1vdmUocGFyYW1ldGVycykpKTsKIH0KIApAQCAtMzAw
LDcgKzMwMyw3IEBAIHZvaWQgU2Vzc2lvbjo6Z28oY29uc3QgU3RyaW5nJiB1cmwsIEZ1bmN0aW9u
PHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvCiAgICAgICAgIFJlZlB0cjxKU09O
OjpPYmplY3Q+IHBhcmFtZXRlcnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICBw
YXJhbWV0ZXJzLT5zZXRTdHJpbmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4
dC52YWx1ZSgpKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJ1cmwiX3MsIHVybCk7
Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VMb2FkVGltZW91dCJfcywgbV9w
YWdlTG9hZFRpbWVvdXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAgICAgICAgcGFyYW1ldGVy
cy0+c2V0RG91YmxlKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0KTsKICAg
ICAgICAgaWYgKGF1dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmco
KSkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygicGFnZUxvYWRTdHJhdGVneSJf
cywgcGFnZUxvYWRTdHJhdGVneS52YWx1ZSgpKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFu
ZFRvQmFja2VuZCgibmF2aWdhdGVCcm93c2luZ0NvbnRleHQiX3MsIFdURk1vdmUocGFyYW1ldGVy
cyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVmKCksIGNvbXBs
ZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpD
b21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewpAQCAtMzYzLDcgKzM2Niw3IEBAIHZvaWQgU2Vz
c2lvbjo6YmFjayhGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogICAgICAgICB9CiAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHBhcmFtZXRl
cnMgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICAg
ICAgcGFyYW1ldGVycy0+c2V0SW50ZWdlcigicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2Fk
VGltZW91dC5taWxsaXNlY29uZHNBczxpbnQ+KCkpOworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRE
b3VibGUoInBhZ2VMb2FkVGltZW91dCJfcywgbV9wYWdlTG9hZFRpbWVvdXQpOwogICAgICAgICBp
ZiAoYXV0byBwYWdlTG9hZFN0cmF0ZWd5ID0gcGFnZUxvYWRTdHJhdGVneVN0cmluZygpKQogICAg
ICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJwYWdlTG9hZFN0cmF0ZWd5Il9zLCBwYWdl
TG9hZFN0cmF0ZWd5LnZhbHVlKCkpOwogICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNr
ZW5kKCJnb0JhY2tJbkJyb3dzaW5nQ29udGV4dCJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlzLmNvcHlSZWYoKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRS
ZXNwb25zZSYmIHJlc3BvbnNlKSB7CkBAIC0zOTEsNyArMzk0LDcgQEAgdm9pZCBTZXNzaW9uOjpm
b3J3YXJkKEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiAgICAgICAgIH0KICAgICAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gcGFyYW1ldGVycyA9
IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
aGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwotICAgICAgICBw
YXJhbWV0ZXJzLT5zZXRJbnRlZ2VyKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1l
b3V0Lm1pbGxpc2Vjb25kc0FzPGludD4oKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldERvdWJs
ZSgicGFnZUxvYWRUaW1lb3V0Il9zLCBtX3BhZ2VMb2FkVGltZW91dCk7CiAgICAgICAgIGlmIChh
dXRvIHBhZ2VMb2FkU3RyYXRlZ3kgPSBwYWdlTG9hZFN0cmF0ZWd5U3RyaW5nKCkpCiAgICAgICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoInBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2Fk
U3RyYXRlZ3kudmFsdWUoKSk7CiAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQo
ImdvRm9yd2FyZEluQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJl
c3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAgLTQxOSw3ICs0MjIsNyBAQCB2b2lkIFNlc3Npb246OnJl
ZnJlc2goRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKICAgICAgICAgfQogICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiBwYXJhbWV0ZXJzID0g
SlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJo
YW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBh
cmFtZXRlcnMtPnNldEludGVnZXIoInBhZ2VMb2FkVGltZW91dCJfcywgbV9wYWdlTG9hZFRpbWVv
dXQubWlsbGlzZWNvbmRzQXM8aW50PigpKTsKKyAgICAgICAgcGFyYW1ldGVycy0+c2V0RG91Ymxl
KCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0KTsKICAgICAgICAgaWYgKGF1
dG8gcGFnZUxvYWRTdHJhdGVneSA9IHBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcoKSkKICAgICAgICAg
ICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygicGFnZUxvYWRTdHJhdGVneSJfcywgcGFnZUxvYWRT
dHJhdGVneS52YWx1ZSgpKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgi
cmVsb2FkQnJvd3NpbmdDb250ZXh0Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpLCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNl
JiYgcmVzcG9uc2UpIHsKQEAgLTEwMjcsNyArMTAzMCw3IEBAIHZvaWQgU2Vzc2lvbjo6ZmluZEVs
ZW1lbnRzKGNvbnN0IFN0cmluZyYgc3RyYXRlZ3ksIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIEZp
bmRFCiAgICAgICAgICAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoY3JlYXRlRWxlbWVudChyb290
RWxlbWVudElEKS0+dG9KU09OU3RyaW5nKCkpOwogICAgICAgICBhcmd1bWVudHMtPnB1c2hTdHJp
bmcoSlNPTjo6VmFsdWU6OmNyZWF0ZShzZWxlY3RvciktPnRvSlNPTlN0cmluZygpKTsKICAgICAg
ICAgYXJndW1lbnRzLT5wdXNoU3RyaW5nKEpTT046OlZhbHVlOjpjcmVhdGUobW9kZSA9PSBGaW5k
RWxlbWVudHNNb2RlOjpTaW5nbGUpLT50b0pTT05TdHJpbmcoKSk7Ci0gICAgICAgIGFyZ3VtZW50
cy0+cHVzaFN0cmluZyhKU09OOjpWYWx1ZTo6Y3JlYXRlKG1faW1wbGljaXRXYWl0VGltZW91dC5t
aWxsaXNlY29uZHMoKSktPnRvSlNPTlN0cmluZygpKTsKKyAgICAgICAgYXJndW1lbnRzLT5wdXNo
U3RyaW5nKEpTT046OlZhbHVlOjpjcmVhdGUobV9pbXBsaWNpdFdhaXRUaW1lb3V0KS0+dG9KU09O
U3RyaW5nKCkpOwogCiAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHBhcmFtZXRlcnMgPSBK
U09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJy
b3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgp
KTsKQEAgLTEwMzgsNyArMTA0MSw3IEBAIHZvaWQgU2Vzc2lvbjo6ZmluZEVsZW1lbnRzKGNvbnN0
IFN0cmluZyYgc3RyYXRlZ3ksIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIEZpbmRFCiAgICAgICAg
IHBhcmFtZXRlcnMtPnNldEJvb2xlYW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQi
X3MsIHRydWUpOwogICAgICAgICAvLyBJZiB0aGVyZSdzIGFuIGltcGxpY2l0IHdhaXQsIHVzZSBv
bmUgc2Vjb25kIG1vcmUgYXMgY2FsbGJhY2sgdGltZW91dC4KICAgICAgICAgaWYgKG1faW1wbGlj
aXRXYWl0VGltZW91dCkKLSAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldEludGVnZXIoImNhbGxi
YWNrVGltZW91dCJfcywgU2Vjb25kcyhtX2ltcGxpY2l0V2FpdFRpbWVvdXQgKyAxX3MpLm1pbGxp
c2Vjb25kc0FzPGludD4oKSk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXREb3VibGUoImNh
bGxiYWNrVGltZW91dCJfcywgbV9pbXBsaWNpdFdhaXRUaW1lb3V0ICsgMTAwMCk7CiAKICAgICAg
ICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rp
b24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcHJvdGVj
dGVkVGhpcy5jb3B5UmVmKCksIG1vZGUsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkg
ewogICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmlzRXJyb3IgfHwgIXJlc3BvbnNlLnJlc3BvbnNl
T2JqZWN0KSB7CkBAIC0xNTA1LDcgKzE1MDgsNyBAQCB2b2lkIFNlc3Npb246OndhaXRGb3JOYXZp
Z2F0aW9uVG9Db21wbGV0ZShGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0JiYpPiYmIGNvbQog
ICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiYnJvd3NpbmdDb250ZXh0SGFuZGxlIl9zLCBtX3Rv
cGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwogICAgIGlmIChtX2N1cnJlbnRCcm93c2lu
Z0NvbnRleHQpCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3Ms
IG1fY3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRJ
bnRlZ2VyKCJwYWdlTG9hZFRpbWVvdXQiX3MsIG1fcGFnZUxvYWRUaW1lb3V0Lm1pbGxpc2Vjb25k
c0FzPGludD4oKSk7CisgICAgcGFyYW1ldGVycy0+c2V0RG91YmxlKCJwYWdlTG9hZFRpbWVvdXQi
X3MsIG1fcGFnZUxvYWRUaW1lb3V0KTsKICAgICBpZiAoYXV0byBwYWdlTG9hZFN0cmF0ZWd5ID0g
cGFnZUxvYWRTdHJhdGVneVN0cmluZygpKQogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmco
InBhZ2VMb2FkU3RyYXRlZ3kiX3MsIHBhZ2VMb2FkU3RyYXRlZ3kudmFsdWUoKSk7CiAgICAgbV9o
b3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgid2FpdEZvck5hdmlnYXRpb25Ub0NvbXBsZXRlIl9z
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNz
aW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKQEAgLTIxMzQsOCArMjEzNyw4
IEBAIHZvaWQgU2Vzc2lvbjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCwgUmVm
UHRyPEpTT046OkFycmF5PiYmIGFyZ3VtZW50CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldEFycmF5
KCJhcmd1bWVudHMiX3MsIFdURk1vdmUoYXJndW1lbnRzKSk7CiAgICAgICAgIGlmIChtb2RlID09
IEV4ZWN1dGVTY3JpcHRNb2RlOjpBc3luYykgewogICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0
Qm9vbGVhbigiZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCJfcywgdHJ1ZSk7Ci0gICAg
ICAgICAgICBpZiAobV9zY3JpcHRUaW1lb3V0KQotICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMt
PnNldEludGVnZXIoImNhbGxiYWNrVGltZW91dCJfcywgbV9zY3JpcHRUaW1lb3V0Lm1pbGxpc2Vj
b25kc0FzPGludD4oKSk7CisgICAgICAgICAgICBpZiAobV9zY3JpcHRUaW1lb3V0ICE9IHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKKyAgICAgICAgICAgICAgICBwYXJh
bWV0ZXJzLT5zZXREb3VibGUoImNhbGxiYWNrVGltZW91dCJfcywgbV9zY3JpcHRUaW1lb3V0KTsK
ICAgICAgICAgfQogICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0
ZUphdmFTY3JpcHRGdW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBwcm90ZWN0ZWRUaGlzLmNvcHlSZWYoKSwgY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYm
IHJlc3BvbnNlKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yIHx8
ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZl
ci9TZXNzaW9uLmggYi9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uaAppbmRleCA3OGEzNWQ3ODQy
Yy4uZDQ5ZTdjMTFjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5oCkBAIC01MCw5ICs1MCw5IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3Q7CiAgICAgY29uc3QgQ2FwYWJpbGl0aWVzJiBj
YXBhYmlsaXRpZXMoKSBjb25zdDsKICAgICBib29sIGlzQ29ubmVjdGVkKCkgY29uc3Q7Ci0gICAg
U2Vjb25kcyBzY3JpcHRUaW1lb3V0KCkgY29uc3QgIHsgcmV0dXJuIG1fc2NyaXB0VGltZW91dDsg
fQotICAgIFNlY29uZHMgcGFnZUxvYWRUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlTG9h
ZFRpbWVvdXQ7IH0KLSAgICBTZWNvbmRzIGltcGxpY2l0V2FpdFRpbWVvdXQoKSBjb25zdCB7IHJl
dHVybiBtX2ltcGxpY2l0V2FpdFRpbWVvdXQ7IH0KKyAgICBkb3VibGUgc2NyaXB0VGltZW91dCgp
IGNvbnN0ICB7IHJldHVybiBtX3NjcmlwdFRpbWVvdXQ7IH0KKyAgICBkb3VibGUgcGFnZUxvYWRU
aW1lb3V0KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlTG9hZFRpbWVvdXQ7IH0KKyAgICBkb3VibGUg
aW1wbGljaXRXYWl0VGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbGljaXRXYWl0VGltZW91
dDsgfQogICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHdlYkVsZW1lbnRJZGVudGlmaWVyKCk7CiAK
ICAgICBlbnVtIGNsYXNzIEZpbmRFbGVtZW50c01vZGUgeyBTaW5nbGUsIE11bHRpcGxlIH07CkBA
IC0yMDcsOSArMjA3LDkgQEAgcHJpdmF0ZToKICAgICBJbnB1dFNvdXJjZVN0YXRlJiBpbnB1dFNv
dXJjZVN0YXRlKGNvbnN0IFN0cmluZyYgaWQpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNlc3Np
b25Ib3N0PiBtX2hvc3Q7Ci0gICAgU2Vjb25kcyBtX3NjcmlwdFRpbWVvdXQ7Ci0gICAgU2Vjb25k
cyBtX3BhZ2VMb2FkVGltZW91dDsKLSAgICBTZWNvbmRzIG1faW1wbGljaXRXYWl0VGltZW91dDsK
KyAgICBkb3VibGUgbV9zY3JpcHRUaW1lb3V0OworICAgIGRvdWJsZSBtX3BhZ2VMb2FkVGltZW91
dDsKKyAgICBkb3VibGUgbV9pbXBsaWNpdFdhaXRUaW1lb3V0OwogICAgIE9wdGlvbmFsPFN0cmlu
Zz4gbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dDsKICAgICBPcHRpb25hbDxTdHJpbmc+IG1fY3Vy
cmVudEJyb3dzaW5nQ29udGV4dDsKICAgICBIYXNoTWFwPFN0cmluZywgSW5wdXRTb3VyY2U+IG1f
YWN0aXZlSW5wdXRTb3VyY2VzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9XZWJEcml2
ZXJTZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAKaW5k
ZXggNTRlNjNlNjU5NDUuLjgzYTRkNjFlMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVy
L1dlYkRyaXZlclNlcnZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2Vy
dmljZS5jcHAKQEAgLTMyMCw3ICszMjAsOSBAQCBzdGF0aWMgT3B0aW9uYWw8dWludDY0X3Q+IHVu
c2lnbmVkVmFsdWUoSlNPTjo6VmFsdWUmIHZhbHVlKQogICAgIHJldHVybiBpbnRWYWx1ZTsKIH0K
IAotc3RhdGljIE9wdGlvbmFsPFRpbWVvdXRzPiBkZXNlcmlhbGl6ZVRpbWVvdXRzKEpTT046Ok9i
amVjdCYgdGltZW91dHNPYmplY3QpCitlbnVtIGNsYXNzIElnbm9yZVVua25vd25UaW1lb3V0IHsg
Tm8sIFllcyB9OworCitzdGF0aWMgT3B0aW9uYWw8VGltZW91dHM+IGRlc2VyaWFsaXplVGltZW91
dHMoSlNPTjo6T2JqZWN0JiB0aW1lb3V0c09iamVjdCwgSWdub3JlVW5rbm93blRpbWVvdXQgaWdu
b3JlVW5rbm93blRpbWVvdXQpCiB7CiAgICAgLy8gwqc4LjUgU2V0IFRpbWVvdXRzLgogICAgIC8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNkZm4t
ZGVzZXJpYWxpemUtYXMtYS10aW1lb3V0CkBAIC0zMzAsMTggKzMzMiwyMyBAQCBzdGF0aWMgT3B0
aW9uYWw8VGltZW91dHM+IGRlc2VyaWFsaXplVGltZW91dHMoSlNPTjo6T2JqZWN0JiB0aW1lb3V0
c09iamVjdCkKICAgICAgICAgaWYgKGl0LT5rZXkgPT0gInNlc3Npb25JZCIpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAorICAgICAgICBpZiAoaXQtPmtleSA9PSAic2NyaXB0IiAmJiBpdC0+dmFs
dWUtPmlzTnVsbCgpKSB7CisgICAgICAgICAgICB0aW1lb3V0cy5zY3JpcHQgPSBzdGQ6Om51bWVy
aWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgfQorCiAgICAgICAgIC8vIElmIHZhbHVlIGlzIG5vdCBhbiBpbnRlZ2VyLCBvciBpdCBp
cyBsZXNzIHRoYW4gMCBvciBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gc2FmZSBpbnRlZ2VyLCBy
ZXR1cm4gZXJyb3Igd2l0aCBlcnJvciBjb2RlIGludmFsaWQgYXJndW1lbnQuCiAgICAgICAgIGF1
dG8gdGltZW91dE1TID0gdW5zaWduZWRWYWx1ZSgqaXQtPnZhbHVlKTsKICAgICAgICAgaWYgKCF0
aW1lb3V0TVMpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgICAgIGlm
IChpdC0+a2V5ID09ICJzY3JpcHQiKQotICAgICAgICAgICAgdGltZW91dHMuc2NyaXB0ID0gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0TVMudmFsdWUoKSk7CisgICAgICAgICAgICB0
aW1lb3V0cy5zY3JpcHQgPSB0aW1lb3V0TVMudmFsdWUoKTsKICAgICAgICAgZWxzZSBpZiAoaXQt
PmtleSA9PSAicGFnZUxvYWQiKQotICAgICAgICAgICAgdGltZW91dHMucGFnZUxvYWQgPSBTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXRNUy52YWx1ZSgpKTsKKyAgICAgICAgICAgIHRp
bWVvdXRzLnBhZ2VMb2FkID0gdGltZW91dE1TLnZhbHVlKCk7CiAgICAgICAgIGVsc2UgaWYgKGl0
LT5rZXkgPT0gImltcGxpY2l0IikKLSAgICAgICAgICAgIHRpbWVvdXRzLmltcGxpY2l0ID0gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0TVMudmFsdWUoKSk7Ci0gICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRpbWVvdXRzLmltcGxpY2l0ID0gdGltZW91dE1TLnZhbHVlKCk7CisgICAg
ICAgIGVsc2UgaWYgKGlnbm9yZVVua25vd25UaW1lb3V0ID09IElnbm9yZVVua25vd25UaW1lb3V0
OjpObykKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgfQogICAgIHJldHVy
biB0aW1lb3V0czsKQEAgLTQ4Nyw3ICs0OTQsNyBAQCB2b2lkIFdlYkRyaXZlclNlcnZpY2U6OnBh
cnNlQ2FwYWJpbGl0aWVzKGNvbnN0IEpTT046Ok9iamVjdCYgbWF0Y2hlZENhcGFiaWxpdGllcwog
ICAgICAgICBjYXBhYmlsaXRpZXMuc3RyaWN0RmlsZUludGVyYWN0YWJpbGl0eSA9IHN0cmljdEZp
bGVJbnRlcmFjdGFiaWxpdHk7CiAgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gdGltZW91dHM7CiAg
ICAgaWYgKG1hdGNoZWRDYXBhYmlsaXRpZXMuZ2V0T2JqZWN0KCJ0aW1lb3V0cyJfcywgdGltZW91
dHMpKQotICAgICAgICBjYXBhYmlsaXRpZXMudGltZW91dHMgPSBkZXNlcmlhbGl6ZVRpbWVvdXRz
KCp0aW1lb3V0cyk7CisgICAgICAgIGNhcGFiaWxpdGllcy50aW1lb3V0cyA9IGRlc2VyaWFsaXpl
VGltZW91dHMoKnRpbWVvdXRzLCBJZ25vcmVVbmtub3duVGltZW91dDo6Tm8pOwogICAgIFN0cmlu
ZyBwYWdlTG9hZFN0cmF0ZWd5OwogICAgIGlmIChtYXRjaGVkQ2FwYWJpbGl0aWVzLmdldFN0cmlu
ZygicGFnZUxvYWRTdHJhdGVneSJfcywgcGFnZUxvYWRTdHJhdGVneSkpCiAgICAgICAgIGNhcGFi
aWxpdGllcy5wYWdlTG9hZFN0cmF0ZWd5ID0gZGVzZXJpYWxpemVQYWdlTG9hZFN0cmF0ZWd5KHBh
Z2VMb2FkU3RyYXRlZ3kpOwpAQCAtNTQ5LDcgKzU1Niw3IEBAIFJlZlB0cjxKU09OOjpPYmplY3Q+
IFdlYkRyaXZlclNlcnZpY2U6OnZhbGlkYXRlZENhcGFiaWxpdGllcyhjb25zdCBKU09OOjpPYmpl
Y3QmCiAgICAgICAgICAgICByZXN1bHQtPnNldEJvb2xlYW4oaXQtPmtleSwgc3RyaWN0RmlsZUlu
dGVyYWN0YWJpbGl0eSk7CiAgICAgICAgIH0gZWxzZSBpZiAoaXQtPmtleSA9PSAidGltZW91dHMi
KSB7CiAgICAgICAgICAgICBSZWZQdHI8SlNPTjo6T2JqZWN0PiB0aW1lb3V0czsKLSAgICAgICAg
ICAgIGlmICghaXQtPnZhbHVlLT5hc09iamVjdCh0aW1lb3V0cykgfHwgIWRlc2VyaWFsaXplVGlt
ZW91dHMoKnRpbWVvdXRzKSkKKyAgICAgICAgICAgIGlmICghaXQtPnZhbHVlLT5hc09iamVjdCh0
aW1lb3V0cykgfHwgIWRlc2VyaWFsaXplVGltZW91dHMoKnRpbWVvdXRzLCBJZ25vcmVVbmtub3du
VGltZW91dDo6Tm8pKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAg
ICAgcmVzdWx0LT5zZXRWYWx1ZShpdC0+a2V5LCBSZWZQdHI8SlNPTjo6VmFsdWU+KGl0LT52YWx1
ZSkpOwogICAgICAgICB9IGVsc2UgaWYgKGl0LT5rZXkgPT0gInVuaGFuZGxlZFByb21wdEJlaGF2
aW9yIikgewpAQCAtODQzLDkgKzg1MCwxMiBAQCB2b2lkIFdlYkRyaXZlclNlcnZpY2U6OmNyZWF0
ZVNlc3Npb24oVmVjdG9yPENhcGFiaWxpdGllcz4mJiBjYXBhYmlsaXRpZXNMaXN0LCBzdAogICAg
ICAgICAgICAgaWYgKCFjYXBhYmlsaXRpZXMucHJveHkpCiAgICAgICAgICAgICAgICAgY2FwYWJp
bGl0aWVzT2JqZWN0LT5zZXRPYmplY3QoInByb3h5Il9zLCBKU09OOjpPYmplY3Q6OmNyZWF0ZSgp
KTsKICAgICAgICAgICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IHRpbWVvdXRzT2JqZWN0ID0gSlNP
Tjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXRJbnRl
Z2VyKCJzY3JpcHQiX3MsIG1fc2Vzc2lvbi0+c2NyaXB0VGltZW91dCgpLm1pbGxpc2Vjb25kc0Fz
PGludD4oKSk7Ci0gICAgICAgICAgICB0aW1lb3V0c09iamVjdC0+c2V0SW50ZWdlcigicGFnZUxv
YWQiX3MsIG1fc2Vzc2lvbi0+cGFnZUxvYWRUaW1lb3V0KCkubWlsbGlzZWNvbmRzQXM8aW50Pigp
KTsKLSAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXRJbnRlZ2VyKCJpbXBsaWNpdCJfcywg
bV9zZXNzaW9uLT5pbXBsaWNpdFdhaXRUaW1lb3V0KCkubWlsbGlzZWNvbmRzQXM8aW50PigpKTsK
KyAgICAgICAgICAgIGlmIChtX3Nlc3Npb24tPnNjcmlwdFRpbWVvdXQoKSA9PSBzdGQ6Om51bWVy
aWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgICAgICAgICAgICAgdGltZW91dHNP
YmplY3QtPnNldFZhbHVlKCJzY3JpcHQiX3MsIEpTT046OlZhbHVlOjpudWxsKCkpOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRpbWVvdXRzT2JqZWN0LT5zZXREb3VibGUoInNj
cmlwdCJfcywgbV9zZXNzaW9uLT5zY3JpcHRUaW1lb3V0KCkpOworICAgICAgICAgICAgdGltZW91
dHNPYmplY3QtPnNldERvdWJsZSgicGFnZUxvYWQiX3MsIG1fc2Vzc2lvbi0+cGFnZUxvYWRUaW1l
b3V0KCkpOworICAgICAgICAgICAgdGltZW91dHNPYmplY3QtPnNldERvdWJsZSgiaW1wbGljaXQi
X3MsIG1fc2Vzc2lvbi0+aW1wbGljaXRXYWl0VGltZW91dCgpKTsKICAgICAgICAgICAgIGNhcGFi
aWxpdGllc09iamVjdC0+c2V0T2JqZWN0KCJ0aW1lb3V0cyJfcywgV1RGTW92ZSh0aW1lb3V0c09i
amVjdCkpOwogCiAgICAgICAgICAgICByZXN1bHRPYmplY3QtPnNldE9iamVjdCgiY2FwYWJpbGl0
aWVzIl9zLCBXVEZNb3ZlKGNhcGFiaWxpdGllc09iamVjdCkpOwpAQCAtOTA2LDcgKzkxNiw3IEBA
IHZvaWQgV2ViRHJpdmVyU2VydmljZTo6c2V0VGltZW91dHMoUmVmUHRyPEpTT046Ok9iamVjdD4m
JiBwYXJhbWV0ZXJzLCBGdW5jdGlvbjx2CiAgICAgaWYgKCFmaW5kU2Vzc2lvbk9yQ29tcGxldGVX
aXRoRXJyb3IoKnBhcmFtZXRlcnMsIGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgYXV0byB0aW1lb3V0cyA9IGRlc2VyaWFsaXplVGltZW91dHMoKnBhcmFtZXRlcnMp
OworICAgIGF1dG8gdGltZW91dHMgPSBkZXNlcmlhbGl6ZVRpbWVvdXRzKCpwYXJhbWV0ZXJzLCBJ
Z25vcmVVbmtub3duVGltZW91dDo6WWVzKTsKICAgICBpZiAoIXRpbWVvdXRzKSB7CiAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OmZhaWwoQ29tbWFuZFJlc3VsdDo6RXJy
b3JDb2RlOjpJbnZhbGlkQXJndW1lbnQpKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBl
YjU4OTRiYTMwYy4uOTcwMTI1MmE4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTkt
MTItMjMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAg
ICAgIFdlYkRyaXZlcjogZml4IGhhbmRsaW5nIG9mIHNlc3Npb24gdGltZW91dHMgZm9yIHZhbHVl
cyBoaWdoZXIgdGhhbiBNQVhfSU5UCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDQxMTQKKworICAgICAgICBSZXZpZXdlZCBieSBCcmlhbiBCdXJnLgor
CisgICAgICAgIFVzZSBudW1iZXIgaW5zdGVhZCBvZiBpbnRlZ2VyIGZvciBhbGwgb3B0aW9uYWwg
dGltZW91dCBwYXJhbWV0ZXJzLiBJbiB0aGUgY2FzZSBvZiBzY3JpcHQgdGltZW91dCwgbm90IHBh
c3NpbmcgYQorICAgICAgICB2YWx1ZSBtZWFucyBhIHRpbWVvdXQgc2hvdWxkIG5vdCBiZSB1c2Vk
LCBzbyB1c2UgT3B0aW9uYWw8ZG91YmxlPiBhbHNvIGZvciB0aGUgSVBDIG1lc3NhZ2UgYW5kIGhh
bmRsZSB0aGUKKyAgICAgICAgb3B0aW9uYWwgdmFsdWUgaW4gdGhlIHdlYiBwcm9jZXNzIHRvIG5v
dCBzZXQgYW55IHRpbWVvdXQgaW4gdGhhdCBjYXNlLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1
dG9tYXRpb24vQXV0b21hdGlvbi5qc29uOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlv
blNlc3Npb246OndhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dG9tYXRpb25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpnb0JhY2tJbkJyb3dzaW5nQ29udGV4dCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpnb0ZvcndhcmRJbkJyb3dz
aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpyZWxv
YWRCcm93c2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6ZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eS5qczoKKyAgICAgICAgKGxldC5BdXRvbWF0aW9uU2Vzc2lvblByb3h5LnByb3RvdHlwZS5l
dmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW46CisKIDIwMTktMTItMjMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIElucHV0TWV0aG9kIEFQSSB1bml0IHRlc3RzIGRvbid0IHdvcmsgdW5kZXIgWDExCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNv
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCmlu
ZGV4IGE3NTg2NTg2YzhjLi43NTJlYjZhZjk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KQEAgLTM4OCw3ICszODgsNyBAQAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiQnJvd3NpbmdDb250
ZXh0SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSBicm93c2luZyBj
b250ZXh0IHRoYXQgc2hvdWxkIGJlIG5hdmlnYXRlZC4iIH0sCiAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ1cmwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVGhlIFVSTCB0
byBsb2FkIGluIHRoZSBicm93c2luZyBjb250ZXh0LiIgfSwKICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8g
dXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVn
ZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWls
bGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVk
IGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4i
IH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjog
Im51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBp
biBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21w
bGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVy
bmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAg
ICAgfSwKQEAgLTM5OCw3ICszOTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNv
bnRleHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8g
dXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVn
ZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWls
bGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVk
IGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4i
IH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjog
Im51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBp
biBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21w
bGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVy
bmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAg
ICAgfSwKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNv
bnRleHQgdGhhdCBzaG91bGQgYmUgbmF2aWdhdGVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInBhZ2VMb2FkU3RyYXRlZ3kiLCAiJHJlZiI6ICJQYWdlTG9hZFN0cmF0ZWd5IiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBwYWdlIGxvYWQgc3RyYXRlZ3kgdG8g
dXNlIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbXBsZXRlLiIgfSwKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjogImludGVn
ZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWls
bGlzZWNvbmRzIHRoYXQgdGhlIG5hdmlnYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVk
IGluLCBvdGhlcndpc2UgYSA8Y29kZT5UaW1lb3V0PC9jb2RlPiBlcnJvciBpcyByZXR1cm5lZC4i
IH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhZ2VMb2FkVGltZW91dCIsICJ0eXBlIjog
Im51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBp
biBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21w
bGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVy
bmVkLiIgfQogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJhc3luYyI6IHRydWUKICAgICAg
ICAgfSwKQEAgLTQxOCw3ICs0MTgsNyBAQAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNv
bnRleHQgdGhhdCBzaG91bGQgYmUgcmVsb2FkZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicGFnZUxvYWRTdHJhdGVneSIsICIkcmVmIjogIlBhZ2VMb2FkU3RyYXRlZ3kiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIHBhZ2UgbG9hZCBzdHJhdGVneSB0byB1
c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGVuIG5hdmlnYXRpb24gaXMgY29tcGxldGUuIiB9LAotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAiaW50ZWdl
ciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgdGltZW91dCBpbiBtaWxs
aXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb21wbGV0ZWQg
aW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIg
fQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAi
bnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGlu
IG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbXBs
ZXRlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+VGltZW91dDwvY29kZT4gZXJyb3IgaXMgcmV0dXJu
ZWQuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImFzeW5jIjogdHJ1ZQogICAgICAg
ICB9LApAQCAtNDI5LDcgKzQyOSw3IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJicm93
c2luZ0NvbnRleHRIYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRIYW5kbGUiLCAiZGVz
Y3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGJyb3dzaW5nIGNvbnRleHQgaW4gd2hpY2gg
d2FpdCBmb3IgcGVuZGluZyBuYXZpZ2F0aW9uIHRvIGNvbXBsZXRlLiIgfSwKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImZyYW1lSGFuZGxlIiwgIiRyZWYiOiAiRnJhbWVIYW5kbGUiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIGZyYW1lIGlu
IHdoaWNoIHdhaXQgZm9yIHBlbmRpbmcgbmF2aWdhdGlvbiB0byBjb21wbGV0ZS4gVGhlIG1haW4g
ZnJhbWUgaXMgdXNlZCBpZiB0aGlzIHBhcmFtZXRlciBlbXB0eSBzdHJpbmcgb3IgZXhjbHVkZWQu
IiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxvYWRTdHJhdGVneSIsICIkcmVm
IjogIlBhZ2VMb2FkU3RyYXRlZ3kiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
VGhlIHBhZ2UgbG9hZCBzdHJhdGVneSB0byB1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGVuIG5hdmln
YXRpb24gaXMgY29tcGxldGUuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFnZUxv
YWRUaW1lb3V0IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJUaGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgbmF2aWdhdGlvbiBp
cyBleHBlY3RlZCB0byBiZSBjb21wbGV0ZWQgaW4sIG90aGVyd2lzZSBhIDxjb2RlPlRpbWVvdXQ8
L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
cGFnZUxvYWRUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBuYXZpZ2F0
aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbXBsZXRlZCBpbiwgb3RoZXJ3aXNlIGEgPGNvZGU+VGlt
ZW91dDwvY29kZT4gZXJyb3IgaXMgcmV0dXJuZWQuIiB9CiAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgImFzeW5jIjogdHJ1ZQogICAgICAgICB9LApAQCAtNDUyLDcgKzQ1Miw3IEBACiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJmdW5jdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJUaGUgc2NyaXB0IHRvIGV2YWx1YXRlIGluIHRoZSBicm93c2luZyBjb250ZXh0
LiBJdCBtdXN0IGJlIGEgZnVuY3Rpb24gcmVzdWx0LiIgfSwKICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImFyZ3VtZW50cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJz
dHJpbmciIH0sICJkZXNjcmlwdGlvbiI6ICJUaGUgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGZ1
bmN0aW9uIHdoZW4gY2FsbGVkLiBUaGV5IHdpbGwgYmUgcGFyc2VkIGFzIEpTT04gYmVmb3JlIGNh
bGxpbmcgdGhlIGZ1bmN0aW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4cGVj
dHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBmdW5jdGlvbiBleHBlY3RzIGEgY2FsbGJhY2sg
ZnVuY3Rpb24gYXMgdGhlIGxhc3QgYXJndW1lbnQuIEl0IGlzIGV4cGVjdGVkIHRvIGNhbGwgdGhp
cyBjYWxsYmFjayB3aXRoIGEgcmVzdWx0LiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhbGxiYWNrVGltZW91dCIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGltcGxp
Y2l0IGNhbGxiYWNrIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBpbiwgb3RoZXJ3aXNlIGEgPGNv
ZGU+SmF2YVNjcmlwdFRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQorICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiY2FsbGJhY2tUaW1lb3V0IiwgInR5cGUiOiAibnVtYmVyIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSB0aW1lb3V0IGluIG1pbGxpc2Vj
b25kcyB0aGF0IHRoZSBpbXBsaWNpdCBjYWxsYmFjayBpcyBleHBlY3RlZCB0byBiZSBjYWxsZWQg
aW4sIG90aGVyd2lzZSBhIDxjb2RlPkphdmFTY3JpcHRUaW1lb3V0PC9jb2RlPiBlcnJvciBpcyBy
ZXR1cm5lZC4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAicmV0dXJucyI6IFsKICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJUaGUgcmVzdWx0IHJldHVybmVkIGJ5IHRoZSBjYWxsZWQgZnVuY3Rpb24uIEl0
IGlzIEpTT04gZW5jb2RlZCBhZnRlciB0aGUgZnVuY3Rpb24gcmV0dXJucyBvciBjYWxscyB0aGUg
Y2FsbGJhY2suIiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IGVlYTFmZGNjN2NmLi4zOTli
NGFiNTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTQ0Miw3ICs0NDIsNyBAQCBzdGF0
aWMgT3B0aW9uYWw8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6UGFnZUxvYWRTdHJh
dGVneT4gcGFnZUxvYWRTdHJhdAogICAgIHJldHVybiBwYXJzZWRQYWdlTG9hZFN0cmF0ZWd5Owog
fQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjp3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxl
dGUoY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0
aW9uYWxGcmFtZUhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lT
dHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxXYWl0Rm9yTmF2
aWdhdGlvblRvQ29tcGxldGVDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlv
blNlc3Npb246OndhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcmIGJyb3dz
aW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBjb25z
dCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBv
cHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZUNh
bGxiYWNrPiYmIGNhbGxiYWNrKQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQ
cm94eUZvckhhbmRsZShicm93c2luZ0NvbnRleHRIYW5kbGUpOwogICAgIGlmICghcGFnZSkKQEAg
LTY5Niw3ICs2OTYsNyBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaWRFeGl0RnVsbFNj
cmVlbkZvclBhZ2UoY29uc3QgV2ViUGFnZVByb3h5JikKICAgICAgICAgbV93aW5kb3dTdGF0ZVRy
YW5zaXRpb25DYWxsYmFjayhXaW5kb3dUcmFuc2l0aW9uZWRUb1N0YXRlOjpVbmZ1bGxzY3JlZW4p
OwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4
dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyog
b3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxv
YWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFj
aykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Om5hdmlnYXRlQnJvd3NpbmdDb250ZXh0KGNv
bnN0IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nKiBvcHRp
b25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdlTG9h
ZFRpbWVvdXQsIFJlZjxOYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmIGNhbGxiYWNr
KQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYlBhZ2VQcm94eUZvckhhbmRsZShoYW5k
bGUpOwogICAgIGlmICghcGFnZSkKQEAgLTcxMSw3ICs3MTEsNyBAQCB2b2lkIFdlYkF1dG9tYXRp
b25TZXNzaW9uOjpuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwg
Y29uc3QgUwogICAgIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZU9uUGFnZSgqcGFnZSwgcGFn
ZUxvYWRTdHJhdGVneS52YWx1ZSgpLCBwYWdlTG9hZFRpbWVvdXQsIFdURk1vdmUoY2FsbGJhY2sp
KTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29CYWNrSW5Ccm93c2luZ0NvbnRl
eHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0
cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8R29C
YWNrSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21h
dGlvblNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgaGFuZGxl
LCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91
YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJvd3NpbmdDb250ZXh0
Q2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFn
ZVByb3h5Rm9ySGFuZGxlKGhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtNzI2LDcgKzcyNiw3
IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmdvQmFja0luQnJvd3NpbmdDb250ZXh0KGNv
bnN0IFN0cmluZyYgaGFuZGxlLCBjb25zdCBTCiAgICAgd2FpdEZvck5hdmlnYXRpb25Ub0NvbXBs
ZXRlT25QYWdlKCpwYWdlLCBwYWdlTG9hZFN0cmF0ZWd5LnZhbHVlKCksIHBhZ2VMb2FkVGltZW91
dCwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpn
b0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3Ry
aW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQ
YWdlTG9hZFRpbWVvdXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYm
IGNhbGxiYWNrKQordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Z29Gb3J3YXJkSW5Ccm93c2lu
Z0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdl
TG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3VibGUqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0
LCBSZWY8R29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKIHsK
ICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JIYW5kbGUoaGFuZGxlKTsK
ICAgICBpZiAoIXBhZ2UpCkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6Z29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNv
bnMKICAgICB3YWl0Rm9yTmF2aWdhdGlvblRvQ29tcGxldGVPblBhZ2UoKnBhZ2UsIHBhZ2VMb2Fk
U3RyYXRlZ3kudmFsdWUoKSwgcGFnZUxvYWRUaW1lb3V0LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9
CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25z
dCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lT
dHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRCcm93
c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Np
b246OnJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3Ry
aW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9u
YWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxSZWxvYWRCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJiBj
YWxsYmFjaykKIHsKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJQYWdlUHJveHlGb3JIYW5k
bGUoaGFuZGxlKTsKICAgICBpZiAoIXBhZ2UpCkBAIC05MjIsNyArOTIyLDcgQEAgdm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6aGFuZGxlUnVuT3BlblBhbmVsKGNvbnN0IFdlYlBhZ2VQcm94eSYg
cGFnZSwgY29uc3QgV2UKICAgICBtX2RvbWFpbk5vdGlmaWVyLT5maWxlQ2hvb3NlckRpc21pc3Nl
ZChicm93c2luZ0NvbnRleHRIYW5kbGUsIGZhbHNlKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6ZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBicm93c2lu
Z0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSwgY29uc3Qg
U3RyaW5nJiBmdW5jdGlvbiwgY29uc3QgSlNPTjo6QXJyYXkmIGFyZ3VtZW50cywgY29uc3QgYm9v
bCogb3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50LCBjb25zdCBpbnQqIG9w
dGlvbmFsQ2FsbGJhY2tUaW1lb3V0LCBSZWY8RXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxs
YmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2
YVNjcmlwdEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25z
dCBTdHJpbmcqIG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNv
bnN0IEpTT046OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0lt
cGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNrVGlt
ZW91dCwgUmVmPEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uQ2FsbGJhY2s+JiYgY2FsbGJhY2sp
CiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2ViUGFnZVByb3h5Rm9ySGFuZGxlKGJyb3dz
aW5nQ29udGV4dEhhbmRsZSk7CiAgICAgaWYgKCFwYWdlKQpAQCAtOTQzLDcgKzk0Myw5IEBAIHZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKGNvbnN0
IFN0cmluZyYgYnJvd3NpbmdDb250CiAgICAgfQogCiAgICAgYm9vbCBleHBlY3RzSW1wbGljaXRD
YWxsYmFja0FyZ3VtZW50ID0gb3B0aW9uYWxFeHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50
ID8gKm9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCA6IGZhbHNlOwotICAg
IGludCBjYWxsYmFja1RpbWVvdXQgPSBvcHRpb25hbENhbGxiYWNrVGltZW91dCA/ICpvcHRpb25h
bENhbGxiYWNrVGltZW91dCA6IDA7CisgICAgT3B0aW9uYWw8ZG91YmxlPiBjYWxsYmFja1RpbWVv
dXQ7CisgICAgaWYgKG9wdGlvbmFsQ2FsbGJhY2tUaW1lb3V0KQorICAgICAgICBjYWxsYmFja1Rp
bWVvdXQgPSAqb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQ7CiAKICAgICB1aW50NjRfdCBjYWxsYmFj
a0lEID0gbV9uZXh0RXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2tJRCsrOwogICAgIG1fZXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIFdURk1vdmUoY2Fs
bGJhY2spKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCAzZTlkOGMwMjFhYS4uOTI3NWQ1ZTFiNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dl
YkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTE3MCwxMiArMTcwLDEyIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFdpbmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5kbGUs
IGNvbnN0IEpTT046Ok9iamVjdCogb3JpZ2luLCBjb25zdCBKU09OOjpPYmplY3QqIHNpemUsIFJl
ZjxTZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIGZpbmFsOwogICAg
IHZvaWQgbWF4aW1pemVXaW5kb3dPZkJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRs
ZSwgUmVmPE1heGltaXplV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7
CiAgICAgdm9pZCBoaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiBoYW5k
bGUsIFJlZjxIaWRlV2luZG93T2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7Ci0g
ICAgdm9pZCBuYXZpZ2F0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3Ry
aW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93
c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBnb0JhY2tJbkJyb3dz
aW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRT
dHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdv
QmFja0luQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ29G
b3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBvcHRp
b25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRp
bWVvdXQsIFJlZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25h
bFBhZ2VMb2FkVGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBv
dmVycmlkZTsKLSAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJp
bmcmIGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFu
ZGxlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3Qg
aW50KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21w
bGV0ZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKLSAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlwdEZ1
bmN0aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcq
IG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpTT046
OkFycmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2Fs
bGJhY2tBcmd1bWVudCwgY29uc3QgaW50KiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVmPElu
c3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVKYXZh
U2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBuYXZpZ2F0ZUJy
b3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9hZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBkb3VibGUq
IG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8TmF2aWdhdGVCcm93c2luZ0NvbnRleHRDYWxs
YmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBnb0JhY2tJbkJyb3dzaW5nQ29udGV4dChjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywg
Y29uc3QgZG91YmxlKiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPEdvQmFja0luQnJvd3Np
bmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZ29Gb3J3YXJkSW5Ccm93
c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2Fk
U3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGRvdWJsZSogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJl
ZjxHb0ZvcndhcmRJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsKKyAgICB2
b2lkIHJlbG9hZEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcqIG9w
dGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91YmxlKiBvcHRpb25hbFBhZ2VM
b2FkVGltZW91dCwgUmVmPFJlbG9hZEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlk
ZTsKKyAgICB2b2lkIHdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0ZShjb25zdCBTdHJpbmcmIGJy
b3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBj
b25zdCBTdHJpbmcqIG9wdGlvbmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgZG91Ymxl
KiBvcHRpb25hbFBhZ2VMb2FkVGltZW91dCwgUmVmPFdhaXRGb3JOYXZpZ2F0aW9uVG9Db21wbGV0
ZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0
aW9uKGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9w
dGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnVuY3Rpb24sIGNvbnN0IEpTT046OkFy
cmF5JiBhcmd1bWVudHMsIGNvbnN0IGJvb2wqIG9wdGlvbmFsRXhwZWN0c0ltcGxpY2l0Q2FsbGJh
Y2tBcmd1bWVudCwgY29uc3QgZG91YmxlKiBvcHRpb25hbENhbGxiYWNrVGltZW91dCwgUmVmPElu
c3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVhdGVKYXZh
U2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3JtTW91
c2VJbnRlcmFjdGlvbihjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgSlNPTjo6T2JqZWN0JiBy
ZXF1ZXN0ZWRQb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBtb3VzZUJ1dHRvbiwgY29uc3QgU3RyaW5n
JiBtb3VzZUludGVyYWN0aW9uLCBjb25zdCBKU09OOjpBcnJheSYga2V5TW9kaWZpZXJzLCBSZWY8
UGVyZm9ybU1vdXNlSW50ZXJhY3Rpb25DYWxsYmFjaz4mJikgZmluYWw7CiAgICAgdm9pZCBwZXJm
b3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnMoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEpTT046
OkFycmF5JiBpbnRlcmFjdGlvbnMsIFJlZjxQZXJmb3JtS2V5Ym9hcmRJbnRlcmFjdGlvbnNDYWxs
YmFjaz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwZXJmb3JtSW50ZXJhY3Rpb25TZXF1ZW5jZShj
b25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlLCBj
b25zdCBKU09OOjpBcnJheSYgc291cmNlcywgY29uc3QgSlNPTjo6QXJyYXkmIHN0ZXBzLCBSZWY8
UGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2VDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwCmluZGV4IDI1ZThjYjdiNTMzLi44ZTNjM2UzY2NiNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJh
bWUoV2ViRnJhbWUmIGZyYW1lKQogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJl
bnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6RGlkRXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oY2FsbGJhY2tJRCwgZXJyb3JNZXNzYWdl
LCBlcnJvclR5cGUpLCAwKTsKIH0KIAotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Ojpl
dmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQs
IE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gb3B0aW9uYWxGcmFtZUlELCBjb25z
dCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0
c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxiYWNrVGltZW91dCwgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZXZhbHVhdGVKYXZh
U2NyaXB0RnVuY3Rpb24oV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBPcHRpb25hbDxX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IG9wdGlvbmFsRnJhbWVJRCwgY29uc3QgU3RyaW5nJiBm
dW5jdGlvbiwgVmVjdG9yPFN0cmluZz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENh
bGxiYWNrQXJndW1lbnQsIE9wdGlvbmFsPGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRf
dCBjYWxsYmFja0lEKQogewogICAgIFdlYlBhZ2UqIHBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS53ZWJQYWdlKHBhZ2VJRCk7CiAgICAgaWYgKCFwYWdlKSB7CkBAIC0yNjksNyArMjY5LDcg
QEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmkKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29u
dGV4dCwgZnJhbWVJRC50b1VJbnQ2NCgpKSwKICAgICAgICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29u
dGV4dCwgY2FsbGJhY2tJRCksCiAgICAgICAgIEpTT2JqZWN0TWFrZUZ1bmN0aW9uV2l0aENhbGxi
YWNrKGNvbnRleHQsIG51bGxwdHIsIGV2YWx1YXRlSmF2YVNjcmlwdENhbGxiYWNrKSwKLSAgICAg
ICAgSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4dCwgY2FsbGJhY2tUaW1lb3V0KQorICAgICAgICBK
U1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCBjYWxsYmFja1RpbWVvdXQudmFsdWVPcigtMSkpCiAg
ICAgfTsKIAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAppbmRleCBhYzdlNDA3
MTIwNi4uMmU2N2ExNDIzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgKQEAgLTYz
LDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGJ5IFdl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHkgbWVzc2FnZXMKLSAgICB2b2lkIGV2YWx1YXRlSmF2YVNj
cmlwdEZ1bmN0aW9uKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBPcHRpb25hbDxXZWJDb3JlOjpG
cmFtZUlkZW50aWZpZXI+LCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBh
cmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxi
YWNrVGltZW91dCwgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgdm9pZCBldmFsdWF0ZUphdmFT
Y3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyPiwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbiwgVmVjdG9yPFN0cmluZz4g
YXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIE9wdGlvbmFs
PGRvdWJsZT4gY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lk
IHJlc29sdmVDaGlsZEZyYW1lV2l0aE9yZGluYWwoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIE9w
dGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIHVpbnQzMl90IG9yZGluYWwsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8U3RyaW5nPiwgT3B0aW9uYWw8V2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyPik+JiYpOwogICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9kZUhh
bmRsZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyPiwgY29uc3QgU3RyaW5nJiBub2RlSGFuZGxlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KE9wdGlvbmFsPFN0cmluZz4sIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4pPiYm
KTsKICAgICB2b2lkIHJlc29sdmVDaGlsZEZyYW1lV2l0aE5hbWUoV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIsIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIGNvbnN0IFN0cmluZyYg
bmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxTdHJpbmc+LCBPcHRpb25hbDxX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5qcwppbmRleCAwYjJjMGZkNzUyMi4uMjY4MTVkZmI5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5qcwpAQCAtNjQsNyArNjQsNyBAQCBsZXQgQXV0b21hdGlvblNlc3Npb25Qcm94
eSA9IGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uUHJveHkKICAgICAgICAgaWYgKGV4cGVjdHNJbXBs
aWNpdENhbGxiYWNrQXJndW1lbnQpIHsKICAgICAgICAgICAgIGFyZ3VtZW50VmFsdWVzLnB1c2go
cmVwb3J0UmVzdWx0KTsKICAgICAgICAgICAgIGZ1bmN0aW9uVmFsdWUuYXBwbHkobnVsbCwgYXJn
dW1lbnRWYWx1ZXMpOwotICAgICAgICAgICAgaWYgKCFyZXN1bHRSZXBvcnRlZCkKKyAgICAgICAg
ICAgIGlmICghcmVzdWx0UmVwb3J0ZWQgJiYgY2FsbGJhY2tUaW1lb3V0ID49IDApCiAgICAgICAg
ICAgICAgICAgdGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KHJlcG9ydFRpbWVvdXRFcnJv
ciwgY2FsbGJhY2tUaW1lb3V0KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXBvcnRS
ZXN1bHQoZnVuY3Rpb25WYWx1ZS5hcHBseShudWxsLCBhcmd1bWVudFZhbHVlcykpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmY2MzY4N2Mz
ODEuLmVkMWM5OGFmMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
bWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMg
LT4gV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eSBOb3RSZWZDb3VudGVkIHsKLSAgICBFdmFsdWF0
ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9wdGlv
bmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgU3RyaW5nIGZ1bmN0aW9uLCBW
ZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1
bWVudCwgaW50IGNhbGxiYWNrVGltZW91dCwgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBFdmFs
dWF0ZUphdmFTY3JpcHRGdW5jdGlvbihXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIE9w
dGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgU3RyaW5nIGZ1bmN0aW9u
LCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tB
cmd1bWVudCwgT3B0aW9uYWw8ZG91YmxlPiBjYWxsYmFja1RpbWVvdXQsIHVpbnQ2NF90IGNhbGxi
YWNrSUQpCiAKICAgICBSZXNvbHZlQ2hpbGRGcmFtZVdpdGhPcmRpbmFsKFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJRCwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFt
ZUlELCB1aW50MzJfdCBvcmRpbmFsKSAtPiAoT3B0aW9uYWw8U3RyaW5nPiBlcnJvclR5cGUsIE9w
dGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCkgQXN5bmMKICAgICBSZXNv
bHZlQ2hpbGRGcmFtZVdpdGhOb2RlSGFuZGxlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCwgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlELCBTdHJpbmcgbm9k
ZUhhbmRsZSkgLT4gKE9wdGlvbmFsPFN0cmluZz4gZXJyb3JUeXBlLCBPcHRpb25hbDxXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQpIEFzeW5jCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>