<?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>199184</bug_id>
          
          <creation_ts>2019-06-24 21:00:42 -0700</creation_ts>
          <short_desc>Web Inspector: Implement console.timeLog</short_desc>
          <delta_ts>2019-07-30 13:35:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>domfarolino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mkwst</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>1547626</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-06-24 21:00:42 -0700</bug_when>
    <thetext>Implement console.timeLog

https://developer.mozilla.org/en-US/docs/Web/API/Console/timeLog
https://console.spec.whatwg.org/#timelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547627</commentid>
    <comment_count>1</comment_count>
      <attachid>372818</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-06-24 21:06:32 -0700</bug_when>
    <thetext>Created attachment 372818
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547629</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-24 21:08:18 -0700</bug_when>
    <thetext>Attachment 372818 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h:57:  The parameter name &quot;arguments&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547649</commentid>
    <comment_count>3</comment_count>
      <attachid>372818</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-06-25 01:22:23 -0700</bug_when>
    <thetext>Comment on attachment 372818
[PATCH] Proposed Fix

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

r=me, nice!

&gt; LayoutTests/inspector/console/console-time.html:17
&gt;          name: &quot;DefaultLabel&quot;,

Style: we usually prefix all test case names with the name of the suite: `console.time.DefaultLabel`.

(repeated below)

&gt; LayoutTests/inspector/console/console-time.html:21
&gt; +            const expected = 6;

Might be worth a comment saying that `console.time()` doesn&apos;t log anything, so this is the count of `console.timeLog` and `console.timeEnd`.

(repeated below)

&gt; Source/JavaScriptCore/inspector/agents/InspectorConsoleAgent.cpp:149
&gt; +    if (!m_injectedScriptManager.inspectorEnvironment().developerExtrasEnabled())

NIT: should we put this inside a `LIKELY`?

&gt; Source/JavaScriptCore/runtime/ConsoleObject.cpp:322
&gt; +    ConsoleClient* client = exec-&gt;lexicalGlobalObject()-&gt;consoleClient();

Style: `auto*`?

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:891
&gt; +    if (!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())

NIT: should we put this inside a `LIKELY`?

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:894
&gt; +    if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())

Style: `auto*`?

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:1416
&gt; +    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))

Style: `auto*`?

&gt; Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js:293
&gt; +                if (this._extraParameters)

IIUC, `this._extraParameters` is equal to `this._message.parameters`?

At some point we should probably update the other users of `this._message.parameters` in this class to use `this._extraParameters` instead 🤔</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547669</commentid>
    <comment_count>4</comment_count>
      <attachid>372818</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-06-25 02:47:02 -0700</bug_when>
    <thetext>Comment on attachment 372818
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js:293
&gt;&gt; +                if (this._extraParameters)
&gt; 
&gt; IIUC, `this._extraParameters` is equal to `this._message.parameters`?
&gt; 
&gt; At some point we should probably update the other users of `this._message.parameters` in this class to use `this._extraParameters` instead 🤔

`this._extraParameters` sometimes gets cleared based on what has been read. It is kind of tricky given how different console messages are sent across.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547726</commentid>
    <comment_count>5</comment_count>
      <attachid>372843</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-06-25 10:53:43 -0700</bug_when>
    <thetext>Created attachment 372843
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547750</commentid>
    <comment_count>6</comment_count>
      <attachid>372843</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-25 11:36:36 -0700</bug_when>
    <thetext>Comment on attachment 372843
[PATCH] For Landing

Clearing flags on attachment: 372843

Committed r246798: &lt;https://trac.webkit.org/changeset/246798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548220</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-26 16:48:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/52218904&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557056</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2019-07-30 13:35:41 -0700</bug_when>
    <thetext>*** Bug 186833 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372818</attachid>
            <date>2019-06-24 21:06:32 -0700</date>
            <delta_ts>2019-06-25 01:22:23 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>timeLog.patch</filename>
            <type>text/plain</type>
            <size>38135</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTcxNjQzMzQ1Yi4uNDgzYWE0OGFhMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxOS0wNi0yNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBjb25zb2xlLnRpbWVMb2cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTE4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS10aW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLXRpbWUuaHRtbDoKKyAgICAgICAgQWRkIG5ldyB0aW1lTG9nIHRlc3RzLgorCisgICAg
ICAgICoganMvY29uc29sZS1leHBlY3RlZC50eHQ6CisgICAgICAgIE5ldyB0aW1lTG9nIG1ldGhv
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBVbnNraXAgdGVzdC4KKwog
MjAxOS0wNi0yMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtQb2ludGVyIEV2ZW50cyBXUFRdIFVuZmxha2UgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9tb3VzZV9wb2ludGVyY2FwdHVyZV9pbl9m
cmFtZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS10aW1lLWV4cGVjdGVkLnR4dAppbmRleCA2NDBkN2FlYmEwYS4uOTYwYjhiNWQ0NDYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGltZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1l
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKLVRlc3RzIGZvciB0aGUgY29uc29sZS50aW1l
IGFuZCBjb25zb2xlLnRpbWVFbmQgQVBJcy4KK1Rlc3RzIGZvciB0aGUgY29uc29sZS50aW1lLCBj
b25zb2xlLnRpbWVMb2csIGFuZCBjb25zb2xlLnRpbWVFbmQgQVBJcy4KIAogCi09PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IGNvbnNvbGUudGltZSBhbmQgY29uc29sZS50aW1lRW5kCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IGNvbnNvbGUudGltZQogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERlZmF1bHRM
YWJlbAogUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgogUEFTUzog
TWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUgc29tZXdoZXJl
LgpAQCAtOSwxMCArOSwxOCBAQCBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1l
c3NhZ2UuCiBQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnZGVmYXVsdCcgbGFiZWwg
bmFtZSBzb21ld2hlcmUuCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3Nh
Z2UuCiBQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnZGVmYXVsdCcgbGFiZWwgbmFt
ZSBzb21ld2hlcmUuCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2Uu
CitQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnZGVmYXVsdCcgbGFiZWwgbmFtZSBz
b21ld2hlcmUuCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQ
QVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnZGVmYXVsdCcgbGFiZWwgbmFtZSBzb21l
d2hlcmUuCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNT
OiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnZGVmYXVsdCcgbGFiZWwgbmFtZSBzb21ld2hl
cmUuCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBVc2VyTGFiZWxzCiBQQVNTOiBTaG91bGQgcmVj
ZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCiBQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWlu
IHRoZSAnbXktbGFiZWwnIGxhYmVsIG5hbWUgc29tZXdoZXJlLgorUEFTUzogU2hvdWxkIHJlY2Vp
dmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0
aGUgJ215LWxhYmVsJyBsYWJlbCBuYW1lIHNvbWV3aGVyZS4KIAogLS0gUnVubmluZyB0ZXN0IGNh
c2U6IE11bHRpcGxlVGltZXJzCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1l
c3NhZ2UuCkBAIC0yOSw0ICszNywzMSBAQCBQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRo
ZSAnZGVmYXVsdCcgbGFiZWwgbmFtZSBzb21ld2hlcmUuCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBh
IFRpbWluZyB0eXBlIG1lc3NhZ2UuCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFdhcm5pbmcgbGV2
ZWwgbWVzc2FnZS4KIFBBU1M6IE1lc3NhZ2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdkZWZhdWx0JyBs
YWJlbCBuYW1lIHNvbWV3aGVyZS4KK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUg
bWVzc2FnZS4KK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgV2FybmluZyBsZXZlbCBtZXNzYWdlLgor
UEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUgc29t
ZXdoZXJlLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZUxvZ0luY3JlYXNpbmcKK1BBU1M6
IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2FnZS4KK1BBU1M6IE1lc3NhZ2Ugc2hv
dWxkIGNvbnRhaW4gdGhlICdteS10aW1lbG9nLWxhYmVsJyBsYWJlbCBuYW1lIHNvbWV3aGVyZS4K
K1BBU1M6ICsgSW5pdGlhbCB0aW1lciB0aW1lIHNlZW4uCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBh
IFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAn
bXktdGltZWxvZy1sYWJlbCcgbGFiZWwgbmFtZSBzb21ld2hlcmUuCitQQVNTOiArIFRpbWVyIHRp
bWUgc2hvdWxkIGJlIGluY3JlYXNpbmcuCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0
eXBlIG1lc3NhZ2UuCitQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnbXktdGltZWxv
Zy1sYWJlbCcgbGFiZWwgbmFtZSBzb21ld2hlcmUuCitQQVNTOiArIFRpbWVyIHRpbWUgc2hvdWxk
IGJlIGluY3JlYXNpbmcuCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3Nh
Z2UuCitQQVNTOiBNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnbXktdGltZWxvZy1sYWJlbCcg
bGFiZWwgbmFtZSBzb21ld2hlcmUuCitQQVNTOiArIFRpbWVyIHRpbWUgc2hvdWxkIGJlIGluY3Jl
YXNpbmcuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lTG9nQXJndW1lbnRzCitQQVNTOiBT
aG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNTOiB0aW1lTG9nIHNob3Vs
ZCBjb250YWluIG5vIHBhcmFtZXRlcnMKK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5
cGUgbWVzc2FnZS4KK1BBU1M6IHRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gMSBwYXJhbWV0ZXJzCitQ
QVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNTOiB0aW1lTG9n
IHNob3VsZCBjb250YWluIDIgcGFyYW1ldGVycworUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1p
bmcgdHlwZSBtZXNzYWdlLgorUEFTUzogdGltZUVuZCBzaG91bGQgY29udGFpbiBubyBwYXJhbWV0
ZXJzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
dGltZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1lLmh0
bWwKaW5kZXggMDVmNDRjYTljMDMuLjI4Y2I0NmNjZjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRpbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRpbWUuaHRtbApAQCAtMywxNiArMywyMiBAQAogPGhl
YWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CitmdW5jdGlvbiBzbGVlcFRpY2so
KSB7CisgICAgbGV0IG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGxldCB1bnRpbCA9IG5v
dyArIDEwOworICAgIHdoaWxlIChwZXJmb3JtYW5jZS5ub3coKSA8IHVudGlsKTsKK30KKwogZnVu
Y3Rpb24gdGVzdCgpCiB7Ci0gICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3lu
Y1N1aXRlKCJjb25zb2xlLnRpbWUgYW5kIGNvbnNvbGUudGltZUVuZCIpOworICAgIGxldCBzdWl0
ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiY29uc29sZS50aW1lIik7CiAKICAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJEZWZhdWx0TGFiZWwiLAogICAg
ICAgICBkZXNjcmlwdGlvbjogIlRlc3QgdGhhdCBkZWZhdWx0IGxhYmVsIHdvcmtzIGFzIGV4cGVj
dGVkLiIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBsZXQg
c2VlbiA9IDA7Ci0gICAgICAgICAgICBjb25zdCBleHBlY3RlZCA9IDM7CisgICAgICAgICAgICBj
b25zdCBleHBlY3RlZCA9IDY7CiAgICAgICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lk1lc3NhZ2VBZGRlZCwgaGFuZGxlcik7
CiAgICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAg
bGV0IG1lc3NhZ2UgPSBldmVudC5kYXRhLm1lc3NhZ2U7CkBAIC0yNCwxNCArMzAsMTcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xlLnRpbWUoKSIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lRW5kKCki
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGlt
ZSgpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xl
LnRpbWVMb2coKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
Y29uc29sZS50aW1lRW5kKClgKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiY29uc29sZS50aW1lKHVuZGVmaW5lZCkiKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZUVuZCgnZGVmYXVsdCcpIik7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUodW5kZWZp
bmVkKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29s
ZS50aW1lTG9nKCdkZWZhdWx0JylgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoYGNvbnNvbGUudGltZUVuZCgnZGVmYXVsdCcpYCk7CiAKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZSgnZGVmYXVsdCcpIik7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xlLnRpbWVFbmQo
dW5kZWZpbmVkKSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
Y29uc29sZS50aW1lKCdkZWZhdWx0JylgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUxvZyh1bmRlZmluZWQpYCk7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVFbmQodW5kZWZpbmVkKWAp
OwogICAgICAgICB9CiAgICAgfSk7CiAKQEAgLTM5LDE2ICs0OCwyMiBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICAgICAgbmFtZTogIlVzZXJMYWJlbHMiLAogICAgICAgICBkZXNjcmlwdGlvbjogIlRl
c3QgdGhhdCB1c2VyIGxhYmVscyB3b3JrcyBhcyBleHBlY3RlZC4iLAogICAgICAgICB0ZXN0KHJl
c29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYXdhaXRFdmVu
dChXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQpCi0gICAgICAgICAgICAudGhl
bigoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIGxldCBzZWVuID0gMDsKKyAgICAgICAgICAgIGNv
bnN0IGV4cGVjdGVkID0gMjsKKyAgICAgICAgICAgIFdJLmNvbnNvbGVNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIuRXZlbnQuTWVzc2FnZUFkZGVkLCBoYW5kbGVyKTsK
KyAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHsKICAgICAgICAgICAgICAgICBs
ZXQgbWVzc2FnZSA9IGV2ZW50LmRhdGEubWVzc2FnZTsKICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdFRoYXQobWVzc2FnZS50eXBlID09PSBXSS5Db25zb2xlTWVzc2FnZS5NZXNz
YWdlVHlwZS5UaW1pbmcsICJTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuIik7
CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG1lc3NhZ2UubWVzc2Fn
ZVRleHQuaW5jbHVkZXMoIm15LWxhYmVsIiksICJNZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAn
bXktbGFiZWwnIGxhYmVsIG5hbWUgc29tZXdoZXJlLiIpOwotICAgICAgICAgICAgfSkKLSAgICAg
ICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgICAgICAgICAgaWYgKCsrc2Vl
biA9PT0gZXhwZWN0ZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQs
IGhhbmRsZXIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJjb25zb2xlLnRpbWUoJ215LWxhYmVsJykiKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZUVuZCgnbXktbGFiZWwnKSIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lKCdteS1s
YWJlbCcpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25z
b2xlLnRpbWVMb2coJ215LWxhYmVsJylgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUVuZCgnbXktbGFiZWwnKWApOwogICAgICAgICB9CiAg
ICAgfSk7CiAKQEAgLTcwLDEwICs4NSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImNvbnNvbGUudGltZSgnbXktbGFiZWwtMScpIik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xlLnRpbWUoJ215LWxhYmVsLTInKSIpOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lRW5k
KCdteS1sYWJlbC0yJykiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImNvbnNvbGUudGltZUVuZCgnbXktbGFiZWwtMScpIik7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUoJ215LWxhYmVsLTEnKWApOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lKCdteS1s
YWJlbC0yJylgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNv
bnNvbGUudGltZUVuZCgnbXktbGFiZWwtMicpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVFbmQoJ215LWxhYmVsLTEnKWApOwogICAgICAg
ICB9CiAgICAgfSk7CiAKQEAgLTk2LDkgKzExMSw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lKCkiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZSgpIik7IC8vIFdhcm5pbmcKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZUVuZCgpIik7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUoKWAp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1l
KClgKTsgLy8gV2FybmluZworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZShgY29uc29sZS50aW1lRW5kKClgKTsKICAgICAgICAgfQogICAgIH0pOwogCkBAIC0xMDYsMTYg
KzEyMSwxMDQgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5hbWU6ICJXYXJuV2hlbk5vdEV4
aXN0aW5nIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGZvciBhIHdhcm5pbmcgd2hlbiB0
cnlpbmcgdG8gc3RhcnQgYW4gYWxyZWFkeSBzdGFydGVkIHRpbWVyLiIsCiAgICAgICAgIHRlc3Qo
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5hd2FpdEV2
ZW50KFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lk1lc3NhZ2VBZGRlZCkKLSAgICAgICAgICAgIC50
aGVuKChldmVudCkgPT4geworICAgICAgICAgICAgbGV0IHNlZW4gPSAwOworICAgICAgICAgICAg
Y29uc3QgZXhwZWN0ZWQgPSAyOworICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQsIGhhbmRsZXIp
OworICAgICAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihldmVudCkgewogICAgICAgICAgICAgICAg
IGxldCBtZXNzYWdlID0gZXZlbnQuZGF0YS5tZXNzYWdlOworICAgICAgICAgICAgICAgIGlmICht
ZXNzYWdlLnR5cGUgPT09IFdJLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLkNsZWFyKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdFRoYXQobWVzc2FnZS50eXBlID09PSBXSS5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlw
ZS5UaW1pbmcsICJTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuIik7CiAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG1lc3NhZ2UubGV2ZWwgPT09IFdJ
LkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VMZXZlbC5XYXJuaW5nLCAiU2hvdWxkIHJlY2VpdmUgYSBX
YXJuaW5nIGxldmVsIG1lc3NhZ2UuIik7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KG1lc3NhZ2UubWVzc2FnZVRleHQuaW5jbHVkZXMoImRlZmF1bHQiKSwgIk1lc3Nh
Z2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdkZWZhdWx0JyBsYWJlbCBuYW1lIHNvbWV3aGVyZS4iKTsK
LSAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbihyZXNvbHZlLCByZWplY3QpOworICAg
ICAgICAgICAgICAgIGlmICgrK3NlZW4gPT09IGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAg
ICAgIFdJLmNvbnNvbGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFn
ZXIuRXZlbnQuTWVzc2FnZUFkZGVkLCBoYW5kbGVyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lRW5kKCkiKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUxvZygpYCk7
IC8vIFdhcm4KKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNv
bGUuY2xlYXIoKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
Y29uc29sZS50aW1lRW5kKClgKTsgLy8gV2FybgorICAgICAgICB9CisgICAgfSk7CisKKyAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lTG9nSW5jcmVhc2luZyIsCisg
ICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdCBmb3IgdGltZUxvZyBtdWx0aXBsZSB0aW1lcyB3aXRo
IGEgdGltZXIgc2hvdWxkIGluY3JlYXNlLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0
KSB7CisgICAgICAgICAgICBsZXQgbGFzdFRpbWUgPSAwOworICAgICAgICAgICAgbGV0IHNlZW4g
PSAwOworICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSA0OworICAgICAgICAgICAgV0kuY29u
c29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNz
YWdlQWRkZWQsIGhhbmRsZXIpOworICAgICAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihldmVudCkg
eworICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZXZlbnQuZGF0YS5tZXNzYWdlOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChtZXNzYWdlLnR5cGUgPT09IFdJ
LkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlRpbWluZywgIlNob3VsZCByZWNlaXZlIGEgVGlt
aW5nIHR5cGUgbWVzc2FnZS4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dFRoYXQobWVzc2FnZS5tZXNzYWdlVGV4dC5pbmNsdWRlcygibXktdGltZWxvZy1sYWJlbCIpLCAi
TWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ215LXRpbWVsb2ctbGFiZWwnIGxhYmVsIG5hbWUg
c29tZXdoZXJlLiIpOworCisgICAgICAgICAgICAgICAgbGV0IG1hdGNoID0gbWVzc2FnZS5tZXNz
YWdlVGV4dC5tYXRjaCgvXm15LXRpbWVsb2ctbGFiZWw6IChcZCsoXC5cZCspP21zKS8pCisgICAg
ICAgICAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50
VGltZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pOworICAgICAgICAgICAgICAgICAgICBpZiAobGFz
dFRpbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGN1
cnJlbnRUaW1lID4gMTUsICJBdCBsZWFzdCAxNSBtaWxsaXNlY29uZHMgc2hvdWxkIGhhdmUgZWxh
cHNlZCBzaW5jZSB0aGlzIGlzIGZvciB0aW1lTG9nIDIgYW5kIGxhdGVyLiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RHcmVhdGVyVGhhbihjdXJyZW50VGlt
ZSwgbGFzdFRpbWUsICIrIFRpbWVyIHRpbWUgc2hvdWxkIGJlIGluY3JlYXNpbmcuIik7CisgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5wYXNzKCIrIEluaXRpYWwgdGltZXIgdGltZSBzZWVuLiIpOworICAgICAgICAgICAgICAg
ICAgICBsYXN0VGltZSA9IGN1cnJlbnRUaW1lOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmICgrK3NlZW4gPT09IGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAgICAg
IFdJLmNvbnNvbGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIu
RXZlbnQuTWVzc2FnZUFkZGVkLCBoYW5kbGVyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lKCJteS10aW1lbG9nLWxhYmVs
IilgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHNsZWVwVGlj
aygpOyBjb25zb2xlLnRpbWVMb2coIm15LXRpbWVsb2ctbGFiZWwiKWApOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgc2xlZXBUaWNrKCk7IGNvbnNvbGUudGltZUxv
ZygibXktdGltZWxvZy1sYWJlbCIpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKGBzbGVlcFRpY2soKTsgY29uc29sZS50aW1lTG9nKCJteS10aW1lbG9nLWxhYmVs
IilgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHNsZWVwVGlj
aygpOyBjb25zb2xlLnRpbWVFbmQoIm15LXRpbWVsb2ctbGFiZWwiKWApOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lTG9n
QXJndW1lbnRzIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGZvciB0aW1lTG9nIHdpdGgg
dHJhaWxpbmcgcGFyYW1ldGVycy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewor
ICAgICAgICAgICAgbGV0IHNlZW4gPSAwOworICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSA0
OworICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25z
b2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQsIGhhbmRsZXIpOworICAgICAgICAgICAgZnVu
Y3Rpb24gaGFuZGxlcihldmVudCkgeworICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZXZl
bnQuZGF0YS5tZXNzYWdlOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChtZXNzYWdlLnR5cGUgPT09IFdJLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlRpbWluZywg
IlNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2FnZS4iKTsKKworICAgICAgICAgICAg
ICAgIHN3aXRjaCAoc2VlbikgeworICAgICAgICAgICAgICAgIGNhc2UgMDoKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChtZXNzYWdlLnBhcmFtZXRlcnMsIHVu
ZGVmaW5lZCwgInRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gbm8gcGFyYW1ldGVycyIpOworICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwobWVzc2FnZS5wYXJhbWV0ZXJzLmxl
bmd0aCwgMSwgInRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gMSBwYXJhbWV0ZXJzIik7CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChtZXNzYWdlLnBhcmFtZXRlcnMubGVu
Z3RoLCAyLCAidGltZUxvZyBzaG91bGQgY29udGFpbiAyIHBhcmFtZXRlcnMiKTsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKG1lc3NhZ2UucGFyYW1ldGVycywgdW5k
ZWZpbmVkLCAidGltZUVuZCBzaG91bGQgY29udGFpbiBubyBwYXJhbWV0ZXJzIik7CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmICgrK3NlZW4gPT09IGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAgICAgIFdJLmNvbnNv
bGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIuRXZlbnQuTWVz
c2FnZUFkZGVkLCBoYW5kbGVyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lKCJ4IilgKTsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUxvZygieCIpYCk7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVMb2coIngiLCAx
KWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50
aW1lTG9nKCJ4IiwgMiwgd2luZG93KWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgY29uc29sZS50aW1lRW5kKCJ4IilgKTsKICAgICAgICAgfQogICAgIH0pOwog
CkBAIC0xMjQsNiArMjI3LDYgQEAgZnVuY3Rpb24gdGVzdCgpCiA8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIGZvciB0aGUgY29uc29sZS50aW1l
IGFuZCBjb25zb2xlLnRpbWVFbmQgQVBJcy48L3A+Cis8cD5UZXN0cyBmb3IgdGhlIGNvbnNvbGUu
dGltZSwgY29uc29sZS50aW1lTG9nLCBhbmQgY29uc29sZS50aW1lRW5kIEFQSXMuPC9wPgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvY29uc29sZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9jb25zb2xlLWV4cGVjdGVkLnR4dAppbmRleCBiNmJmNzI0
ZWE2ZC4uNjNmN2Q0NzY2N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2NvbnNvbGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2NvbnNvbGUtZXhwZWN0ZWQudHh0CkBAIC0x
MjEsNiArMTIxLDEzIEBAIFBBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQogUEFT
UyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxl
IGlzIHRydWUKIAorY29uc29sZS50aW1lTG9nCitQQVNTIHR5cGVvZiBjb25zb2xlLnRpbWVMb2cg
aXMgImZ1bmN0aW9uIgorUEFTUyBjb25zb2xlLnRpbWVMb2cubGVuZ3RoIGlzIDAKK1BBU1MgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLndyaXRhYmxlIGlz
IHRydWUKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKKwogY29uc29sZS50aW1l
RW5kCiBQQVNTIHR5cGVvZiBjb25zb2xlLnRpbWVFbmQgaXMgImZ1bmN0aW9uIgogUEFTUyBjb25z
b2xlLnRpbWVFbmQubGVuZ3RoIGlzIDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZTdhYTRlNDJhNzYuLjUyZjg1ZGNlZTFlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjEzNSw4ICsyMTM1LDYgQEAgd2Via2l0
Lm9yZy9iLzE5NzQ5OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW4KIHdlYmtpdC5vcmcvYi8xOTc0OTggaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9yZWFkeS5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xOTc0OTggaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGltZWxpbmVzL3Vw
ZGF0ZS1hbmQtc2VuZC1ldmVudHMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKLXdlYmtpdC5vcmcv
Yi8xOTc0OTkgaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1lLmh0bWwgWyBGYWlsdXJlIFBh
c3MgXQotCiB3ZWJraXQub3JnL2IvMTk3NTAwIGxlZ2FjeS1hbmltYXRpb24tZW5naW5lL2NvbXBv
c2l0aW5nL3JlcGFpbnQvYmVjb21lLW92ZXJsYXktY29tcG9zaXRlZC1sYXllci5odG1sIFsgRmFp
bHVyZSBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzE5NzUwMSBmYXN0L2ltYWdlcy9hbmltYXRlZC13
ZWJwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkYWIyZmY3ODdiNy4uZDYyODNmODAxMDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDg5LDcgKzEwODks
NiBAQCB3ZWJraXQub3JnL2IvMTU1NjA3IGluc3BlY3Rvci9oZWFwL3NuYXBzaG90Lmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MzcxOSBpbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWFwaS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNTYwNzggaW5zcGVj
dG9yL2NvbnNvbGUvaGVhcFNuYXBzaG90Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0Lm9y
Zy9iLzE4MjYyMCBpbnNwZWN0b3IvY29uc29sZS9jbGVhck1lc3NhZ2VzLmh0bWwgWyBQYXNzIFRp
bWVvdXQgXQotd2Via2l0Lm9yZy9iLzE1ODAwNiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRp
bWUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTgzODgwIFsgRGVidWcgXSBp
bnNwZWN0b3IvY29uc29sZS9tZXNzYWdlQWRkZWQtZnJvbS1uYW1lZC1ldmFsdWF0aW9ucy5odG1s
IFsgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTU2NjM0IGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1h
dHRpbmctamF2YXNjcmlwdC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNTg5
NDggaW5zcGVjdG9yL3RpbWVsaW5lIFsgUGFzcyBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCmluZGV4IDYxN2Q5ZTVmY2YzLi43NGExMGRlYjIwMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDYtMjQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1lbnQgY29uc29s
ZS50aW1lTG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTkxODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwOgorICAgICAgICAo
SW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRpbWVMb2cpOgorICAgICAg
ICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6bG9nVGltaW5nKToKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpzdG9wVGltaW5nKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIHJ1bnRpbWUv
Q29uc29sZUNsaWVudC5oOgorICAgICAgICAqIHJ1bnRpbWUvQ29uc29sZU9iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkNvbnNvbGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpT
Qzo6Y29uc29sZVByb3RvRnVuY1RpbWVMb2cpOgorCiAyMDE5LTA2LTIyICBSb2JpbiBNb3Jpc3Nl
dCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+IGFuZCBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWxsIHByb3RvdHlwZXMgc2hvdWxkIGNhbGwgZGlkQmVjb21lUHJv
dG90eXBlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcAppbmRleCAwY2Q5MjI3ZDlmOC4u
ZmNkY2M0OTFjNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKQEAgLTE1Myw2ICsx
NTMsMTEgQEAgdm9pZCBKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRpbWUoRXhlY1N0YXRl
KiwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICBtX2NvbnNvbGVBZ2VudC0+c3RhcnRUaW1pbmco
dGl0bGUpOwogfQogCit2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6dGltZUxvZyhF
eGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmIGFy
Z3VtZW50cykKK3sKKyAgICBtX2NvbnNvbGVBZ2VudC0+bG9nVGltaW5nKHRpdGxlLCBXVEZNb3Zl
KGFyZ3VtZW50cykpOworfQorCiB2b2lkIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudDo6dGlt
ZUVuZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7CiAgICAgbV9jb25z
b2xlQWdlbnQtPnN0b3BUaW1pbmcodGl0bGUsIGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNv
bGUoZXhlYywgMSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmgKaW5kZXggNDE5NDcwMDA0YzEu
LjhiZmVhZGE4NDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmgKQEAgLTU0LDYgKzU0LDcg
QEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0
IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGFrZUhlYXBTbmFwc2hvdChKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGlt
ZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOworICAgIHZv
aWQgdGltZUxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxTY3Jp
cHRBcmd1bWVudHM+JiYgYXJndW1lbnRzKSBvdmVycmlkZTsKICAgICB2b2lkIHRpbWVFbmQoSlND
OjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKICAgICB2b2lkIHRp
bWVTdGFtcChKU0M6OkV4ZWNTdGF0ZSosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgcmVjb3JkKEpTQzo6RXhlY1N0YXRlKiwgUmVmPFNjcmlwdEFyZ3VtZW50cz4m
Jikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCBjNjJiNmU4
M2Y1Yy4uMDM4NjgzN2ZiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAt
MTQ0LDYgKzE0NCwyOSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c3RhcnRUaW1pbmco
Y29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICB9CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50Ojpsb2dUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNjcmlwdEFyZ3VtZW50cz4m
JiBhcmd1bWVudHMpCit7CisgICAgaWYgKCFtX2luamVjdGVkU2NyaXB0TWFuYWdlci5pbnNwZWN0
b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgQVNTRVJUKCF0aXRsZS5pc051bGwoKSk7CisgICAgaWYgKHRpdGxlLmlzTnVsbCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGl0ID0gbV90aW1lcy5maW5kKHRpdGxlKTsK
KyAgICBpZiAoaXQgPT0gbV90aW1lcy5lbmQoKSkgeworICAgICAgICAvLyBGSVhNRTogU2VuZCBh
biBlbnVtIHRvIHRoZSBmcm9udGVuZCBmb3IgbG9jYWxpemF0aW9uPworICAgICAgICBTdHJpbmcg
d2FybmluZyA9IG1ha2VTdHJpbmcoIlRpbWVyIFwiIiwgdGl0bGUsICJcIiBkb2VzIG5vdCBleGlz
dCIpOworICAgICAgICBhZGRNZXNzYWdlVG9Db25zb2xlKHN0ZDo6bWFrZV91bmlxdWU8Q29uc29s
ZU1lc3NhZ2U+KE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpUaW1pbmcs
IE1lc3NhZ2VMZXZlbDo6V2FybmluZywgd2FybmluZykpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgTW9ub3RvbmljVGltZSBzdGFydFRpbWUgPSBpdC0+dmFsdWU7CisgICAgU2Vjb25k
cyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRpbWU7CisgICAgU3RyaW5n
IG1lc3NhZ2UgPSBtYWtlU3RyaW5nKHRpdGxlLCAiOiAiLCBGb3JtYXR0ZWROdW1iZXI6OmZpeGVk
V2lkdGgoZWxhcHNlZC5taWxsaXNlY29uZHMoKSwgMyksICJtcyIpOworICAgIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoc3RkOjptYWtlX3VuaXF1ZTxDb25zb2xlTWVzc2FnZT4oTWVzc2FnZVNvdXJjZTo6
Q29uc29sZUFQSSwgTWVzc2FnZVR5cGU6OlRpbWluZywgTWVzc2FnZUxldmVsOjpEZWJ1ZywgbWVz
c2FnZSwgV1RGTW92ZShhcmd1bWVudHMpKSk7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFn
ZW50OjpzdG9wVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxTY3JpcHRDYWxsU3RhY2s+
JiYgY2FsbFN0YWNrKQogewogICAgIGlmICghbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuaW5zcGVj
dG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCkBAIC0xNjIsMTEgKzE4
NSwxMSBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c3RvcFRpbWluZyhjb25zdCBTdHJp
bmcmIHRpdGxlLCBSZWY8U2NyaXB0Q2FsbFN0YWNrPgogICAgIH0KIAogICAgIE1vbm90b25pY1Rp
bWUgc3RhcnRUaW1lID0gaXQtPnZhbHVlOwotICAgIG1fdGltZXMucmVtb3ZlKGl0KTsKLQogICAg
IFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lOwogICAg
IFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyh0aXRsZSwgIjogIiwgRm9ybWF0dGVkTnVtYmVy
OjpmaXhlZFdpZHRoKGVsYXBzZWQubWlsbGlzZWNvbmRzKCksIDMpLCAibXMiKTsKICAgICBhZGRN
ZXNzYWdlVG9Db25zb2xlKHN0ZDo6bWFrZV91bmlxdWU8Q29uc29sZU1lc3NhZ2U+KE1lc3NhZ2VT
b3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpUaW1pbmcsIE1lc3NhZ2VMZXZlbDo6RGVi
dWcsIG1lc3NhZ2UsIFdURk1vdmUoY2FsbFN0YWNrKSkpOworCisgICAgbV90aW1lcy5yZW1vdmUo
aXQpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6dGFrZUhlYXBTbmFwc2hvdChj
b25zdCBTdHJpbmcmIHRpdGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAppbmRleCBmMGI2
YWFlMjM5OC4uM2MzZDYwNWUwODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC03
MSw2ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoc3RkOjp1
bmlxdWVfcHRyPENvbnNvbGVNZXNzYWdlPik7CiAKICAgICB2b2lkIHN0YXJ0VGltaW5nKGNvbnN0
IFN0cmluZyYgdGl0bGUpOworICAgIHZvaWQgbG9nVGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUs
IFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpOwogICAgIHZvaWQgc3RvcFRpbWluZyhjb25zdCBTdHJp
bmcmIHRpdGxlLCBSZWY8U2NyaXB0Q2FsbFN0YWNrPiYmKTsKICAgICB2b2lkIHRha2VIZWFwU25h
cHNob3QoY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9pZCBjb3VudChKU0M6OkV4ZWNTdGF0
ZSosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29uc29sZUNsaWVudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29uc29sZUNsaWVudC5oCmluZGV4IDUzYWJiNTBlOWZjLi5iM2E4NDZiMTJmZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNvbGVDbGllbnQuaApAQCAtNjAs
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHByb2ZpbGVFbmQoRXhlY1N0YXRl
KiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0YWtlSGVhcFNu
YXBzaG90KEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgdGltZShFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHRpbWVMb2coRXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPElu
c3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRpbWVF
bmQoRXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCB0aW1lU3RhbXAoRXhlY1N0YXRlKiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYm
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlY29yZChFeGVjU3RhdGUqLCBSZWY8SW5zcGVjdG9y
OjpTY3JpcHRBcmd1bWVudHM+JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbnNvbGVPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29uc29sZU9iamVjdC5jcHAKaW5kZXggMzdjNDBkM2FiN2QuLjRiZGZhZWJiMzQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0LmNwcApA
QCAtNTIsNiArNTIsNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25z
b2xlUHJvdG9GdW5jUHJvZmlsZShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGNvbnNvbGVQcm90b0Z1bmNQcm9maWxlRW5kKEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1Rha2VIZWFw
U25hcHNob3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBjb25zb2xlUHJvdG9GdW5jVGltZShFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGNvbnNvbGVQcm90b0Z1bmNUaW1lTG9nKEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1RpbWVFbmQo
RXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zb2xl
UHJvdG9GdW5jVGltZVN0YW1wKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY0dyb3VwKEV4ZWNTdGF0ZSopOwpAQCAtOTIsNiAr
OTMsNyBAQCB2b2lkIENvbnNvbGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRf
VFJBTlNJVElPTigicHJvZmlsZSIsIGNvbnNvbGVQcm90b0Z1bmNQcm9maWxlLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCAwKTsKICAgICBKU0NfTkFUSVZF
X0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTigicHJvZmlsZUVuZCIsIGNvbnNvbGVQcm90b0Z1
bmNQcm9maWxlRW5kLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5v
bmUpLCAwKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTigidGlt
ZSIsIGNvbnNvbGVQcm90b0Z1bmNUaW1lLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlB
dHRyaWJ1dGU6Ok5vbmUpLCAwKTsKKyAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJB
TlNJVElPTigidGltZUxvZyIsIGNvbnNvbGVQcm90b0Z1bmNUaW1lTG9nLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCAwKTsKICAgICBKU0NfTkFUSVZFX0ZV
TkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTigidGltZUVuZCIsIGNvbnNvbGVQcm90b0Z1bmNUaW1l
RW5kLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCAwKTsK
ICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OX1dJVEhPVVRfVFJBTlNJVElPTigidGltZVN0YW1wIiwg
Y29uc29sZVByb3RvRnVuY1RpbWVTdGFtcCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpOb25lKSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RS
QU5TSVRJT04oInRha2VIZWFwU25hcHNob3QiLCBjb25zb2xlUHJvdG9GdW5jVGFrZUhlYXBTbmFw
c2hvdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpOb25lKSwgMCk7
CkBAIC0zMTMsNiArMzE1LDI2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGNvbnNvbGVQcm90b0Z1bmNUaW1lKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBjb25zb2xlUHJvdG9GdW5jVGltZUxvZyhFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CisgICAgQ29uc29sZUNsaWVudCogY2xpZW50ID0gZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jb25zb2xlQ2xpZW50KCk7CisgICAgaWYgKCFjbGllbnQpCisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBTdHJpbmcgdGl0bGU7
CisgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEpCisgICAgICAgIHRpdGxlID0gICJk
ZWZhdWx0Il9zOworICAgIGVsc2UgeworICAgICAgICB0aXRsZSA9IHZhbHVlT3JEZWZhdWx0TGFi
ZWxTdHJpbmcoZXhlYywgZXhlYy0+YXJndW1lbnQoMCkpOworICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICB9CisKKyAgICBjbGllbnQtPnRp
bWVMb2coZXhlYywgdGl0bGUsIEluc3BlY3Rvcjo6Y3JlYXRlU2NyaXB0QXJndW1lbnRzKGV4ZWMs
IDEpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zb2xlUHJvdG9GdW5jVGltZUVu
ZChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA5NGVjOGEzYTVlMi4uM2E4OTllZWQyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxOS0wNi0yNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBjb25zb2xlLnRpbWVMb2cKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTE4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9nQ29uc29s
ZVRpbWluZ0ltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9nQ29u
c29sZVRpbWluZyk6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZUNsaWVudDo6dGltZUxvZyk6CisgICAgICAgICogcGFn
ZS9QYWdlQ29uc29sZUNsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29uc29sZUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb25zb2xlQ2xpZW50Ojp0aW1lTG9n
KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaDoKKyAgICAgICAgKiB3
b3JrbGV0cy9Xb3JrbGV0Q29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
bGV0Q29uc29sZUNsaWVudDo6dGltZUxvZyk6CisgICAgICAgICogd29ya2xldHMvV29ya2xldENv
bnNvbGVDbGllbnQuaDoKKwogMjAxOS0wNi0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGVzIHRvIHRo
ZSBzY3JvbGxpbmcgdHJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA5YjFkMmZjZjNkYi4uMmVjNzc5ODZkMjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwCkBAIC04ODYsNiArODg2LDE1IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3Ry
CiAgICAgICAgIGNvbnNvbGVBZ2VudC0+c3RhcnRUaW1pbmcodGl0bGUpOwogfQogCit2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9nQ29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPElu
c3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50cykKK3sKKyAgICBpZiAoIWluc3Ry
dW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFi
bGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNv
bGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMud2ViQ29uc29sZUFnZW50KCkpCisgICAgICAg
IGNvbnNvbGVBZ2VudC0+bG9nVGltaW5nKHRpdGxlLCBXVEZNb3ZlKGFyZ3VtZW50cykpOworfQor
CiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmdJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgY29u
c3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNjcmlwdENhbGxTdGFjaz4mJiBzdGFjaykKIHsKICAgICBp
ZiAoIWluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJF
eHRyYXNFbmFibGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggOWQxMzJjNWQ3NjEuLjFmNzUxMzdmYjVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCkBAIC0yMjYsNiArMjI2LDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHRha2VIZWFw
U25hcHNob3QoRnJhbWUmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgdm9pZCBz
dGFydENvbnNvbGVUaW1pbmcoRnJhbWUmLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0
aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmcoV29ya2VyR2xvYmFsU2NvcGUmLCBjb25zdCBTdHJp
bmcmIHRpdGxlKTsKKyAgICBzdGF0aWMgdm9pZCBsb2dDb25zb2xlVGltaW5nKEZyYW1lJiwgY29u
c3QgU3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKTsKKyAg
ICBzdGF0aWMgdm9pZCBsb2dDb25zb2xlVGltaW5nKFdvcmtlckdsb2JhbFNjb3BlJiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKTsKICAgICBz
dGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZyhGcmFtZSYsIGNvbnN0IFN0cmluZyYgdGl0bGUs
IFJlZjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJik7CiAgICAgc3RhdGljIHZvaWQgc3Rv
cENvbnNvbGVUaW1pbmcoV29ya2VyR2xvYmFsU2NvcGUmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBS
ZWY8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYpOwogICAgIHN0YXRpYyB2b2lkIGNvbnNv
bGVUaW1lU3RhbXAoRnJhbWUmLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpOwpA
QCAtNDA0LDYgKzQwNiw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgdGFrZUhlYXBTbmFw
c2hvdEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAg
IHN0YXRpYyB2b2lkIHN0YXJ0Q29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYs
IEZyYW1lJiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25z
b2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7
CisgICAgc3RhdGljIHZvaWQgbG9nQ29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4m
Jik7CiAgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMmLCBGcmFtZSYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4mJik7CiAgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmdJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+JiYpOwogICAgIHN0YXRpYyB2b2lkIGNvbnNvbGVUaW1lU3RhbXBJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3Vt
ZW50cz4mJik7CkBAIC0xNDA4LDYgKzE0MTEsMTcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmcoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmsK
ICAgICBzdGFydENvbnNvbGVUaW1pbmdJbXBsKGluc3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJH
bG9iYWxTY29wZSh3b3JrZXJHbG9iYWxTY29wZSksIHRpdGxlKTsKIH0KIAoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsb2dDb25zb2xlVGltaW5nKEZyYW1lJiBmcmFtZSwg
Y29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmIGFy
Z3VtZW50cykKK3sKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCisgICAgICAgIGxvZ0Nv
bnNvbGVUaW1pbmdJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCB0aXRsZSwgV1RGTW92ZShhcmd1
bWVudHMpKTsKK30KKworaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsb2dD
b25zb2xlVGltaW5nKFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrZXJHbG9iYWxTY29wZSwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50
cykKK3sKKyAgICBsb2dDb25zb2xlVGltaW5nSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29y
a2VyR2xvYmFsU2NvcGUod29ya2VyR2xvYmFsU2NvcGUpLCB0aXRsZSwgV1RGTW92ZShhcmd1bWVu
dHMpKTsKK30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29u
c29sZVRpbWluZyhGcmFtZSYgZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0
b3I6OlNjcmlwdENhbGxTdGFjaz4mJiBzdGFjaykKIHsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShm
cmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCmluZGV4IGQ4
ZGU3ZTJiODk3Li43Yjk3MDRkZGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29s
ZUNsaWVudC5jcHAKQEAgLTE5Nyw2ICsxOTcsMTEgQEAgdm9pZCBQYWdlQ29uc29sZUNsaWVudDo6
dGltZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1pbmcobV9wYWdlLm1haW5GcmFtZSgpLCB0
aXRsZSk7CiB9CiAKK3ZvaWQgUGFnZUNvbnNvbGVDbGllbnQ6OnRpbWVMb2coSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50
cykKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxvZ0NvbnNvbGVUaW1pbmcobV9w
YWdlLm1haW5GcmFtZSgpLCB0aXRsZSwgV1RGTW92ZShhcmd1bWVudHMpKTsKK30KKwogdm9pZCBQ
YWdlQ29uc29sZUNsaWVudDo6dGltZUVuZChKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3Ry
aW5nJiB0aXRsZSkKIHsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xl
VGltaW5nKG1fcGFnZS5tYWluRnJhbWUoKSwgdGl0bGUsIGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zv
ckNvbnNvbGUoZXhlYywgMSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5o
CmluZGV4IDUyYzJmZGM5YWM4Li4zZDA4OTAwMzRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbnNvbGVDbGllbnQuaApAQCAtNzIsNiArNzIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBw
cm9maWxlRW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7
CiAgICAgdm9pZCB0YWtlSGVhcFNuYXBzaG90KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiB0aXRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB0aW1lTG9nKEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYm
KSBvdmVycmlkZTsKICAgICB2b2lkIHRpbWVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJp
bmcmIHRpdGxlKSBvdmVycmlkZTsKICAgICB2b2lkIHRpbWVTdGFtcChKU0M6OkV4ZWNTdGF0ZSos
IFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBy
ZWNvcmQoSlNDOjpFeGVjU3RhdGUqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25z
b2xlQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVu
dC5jcHAKaW5kZXggYmFiMmRhNjYzMjkuLmRkNjQzZTczMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5jcHAKQEAgLTYwLDYgKzYwLDExIEBAIHZv
aWQgV29ya2VyQ29uc29sZUNsaWVudDo6dGltZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydENvbnNvbGVUaW1p
bmcobV93b3JrZXJHbG9iYWxTY29wZSwgdGl0bGUpOwogfQogCit2b2lkIFdvcmtlckNvbnNvbGVD
bGllbnQ6OnRpbWVMb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8
U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50cykKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmxvZ0NvbnNvbGVUaW1pbmcobV93b3JrZXJHbG9iYWxTY29wZSwgdGl0bGUsIFdURk1v
dmUoYXJndW1lbnRzKSk7Cit9CisKIHZvaWQgV29ya2VyQ29uc29sZUNsaWVudDo6dGltZUVuZChK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKG1fd29ya2VyR2xvYmFsU2NvcGUs
IHRpdGxlLCBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKGV4ZWMsIDEpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmgKaW5kZXggZWYzODU4NzQ3
MWIuLmVjM2UxOWMwYjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNv
bGVDbGllbnQuaApAQCAtNDgsNiArNDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBwcm9maWxl
RW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7CiAgICAg
dm9pZCB0YWtlSGVhcFNuYXBzaG90KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRs
ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiB0aXRsZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB0aW1lTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgU3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHRpbWVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlKSBvdmVycmlkZTsKICAgICB2b2lkIHRpbWVTdGFtcChKU0M6OkV4ZWNTdGF0ZSosIFJlZjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZWNvcmQo
SlNDOjpFeGVjU3RhdGUqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldENvbnNvbGVD
bGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldENvbnNvbGVDbGllbnQu
Y3BwCmluZGV4IDVkY2I2OGUwN2IyLi5lZWZiYjlhMTEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldENvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50LmNwcApAQCAtNTUsNiArNTUsNyBAQCB2
b2lkIFdvcmtsZXRDb25zb2xlQ2xpZW50OjptZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdl
VHlwZSB0eXBlLCBNZXNzYWdlTGV2ZQogdm9pZCBXb3JrbGV0Q29uc29sZUNsaWVudDo6Y291bnQo
SlNDOjpFeGVjU3RhdGUqLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmKSB7IH0KIAogdm9pZCBXb3Jr
bGV0Q29uc29sZUNsaWVudDo6dGltZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpIHsg
fQordm9pZCBXb3JrbGV0Q29uc29sZUNsaWVudDo6dGltZUxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNv
bnN0IFN0cmluZyYsIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIHsgfQogdm9pZCBXb3JrbGV0Q29u
c29sZUNsaWVudDo6dGltZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpIHsgfQog
CiB2b2lkIFdvcmtsZXRDb25zb2xlQ2xpZW50Ojpwcm9maWxlKEpTQzo6RXhlY1N0YXRlKiwgY29u
c3QgU3RyaW5nJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3Jr
bGV0Q29uc29sZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldENvbnNv
bGVDbGllbnQuaAppbmRleCA3YTU4MWM4MDRlMC4uMzhiNjc3NGRkYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2xldHMvV29ya2xldENvbnNvbGVDbGllbnQuaApAQCAtNTAsNiArNTAsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0
cmluZyYgdGl0bGUpIGZpbmFsOwogICAgIHZvaWQgdGFrZUhlYXBTbmFwc2hvdChKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIGZpbmFsOwogICAgIHZvaWQgdGltZShKU0M6OkV4
ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIGZpbmFsOworICAgIHZvaWQgdGltZUxvZyhK
U0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNjcmlw
dEFyZ3VtZW50cz4mJikgZmluYWw7CiAgICAgdm9pZCB0aW1lRW5kKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgU3RyaW5nJiB0aXRsZSkgZmluYWw7CiAgICAgdm9pZCB0aW1lU3RhbXAoSlNDOjpFeGVj
U3RhdGUqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIGZpbmFsOwogICAgIHZv
aWQgcmVjb3JkKEpTQzo6RXhlY1N0YXRlKiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRz
PiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDYyMGY2OTg4NTBjLi5iYmVm
Mzc0NjgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTkt
MDYtMjQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBJbXBsZW1lbnQgY29uc29sZS50aW1lTG9nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkxODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29u
c29sZU1lc3NhZ2VWaWV3LmpzOgorICAgICAgICAoV0kuQ29uc29sZU1lc3NhZ2VWaWV3LnByb3Rv
dHlwZS5fYXBwZW5kTWVzc2FnZVRleHRBbmRBcmd1bWVudHMpOgorICAgICAgICBUaW1lIG1lc3Nh
Z2VzIChsaWtlIHRpbWVMb2cpIGRvIG5vdCBpbmNsdWRlIHRoZWlyIG1lc3NhZ2VUZXh0CisgICAg
ICAgIGluIHRoZWlyIHBhcmFtZXRlcnMgbGlzdC4gU28gdG8gYmVoYXZlIG1vcmUgbGlrZSBub3Jt
YWwgbG9ncworICAgICAgICBidWlsZCBhIHBhcmFtZXRlciBsaXN0IHRoYXQgaW5jbHVkZXMgaXQg
YXQgdGhlIGZyb250LgorCiAyMDE5LTA2LTIzICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBncmVlbiBo
aWdobGlnaHQgZm9yIG5ld2x5IGFkZGVkIHByb3BlcnRpZXMgb25seSB3aGVuIG5hbWUgYW5kIHZh
bHVlIGFyZSBwcmVzZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMKaW5kZXggN2Y2Zjkz
YmMwYTYuLjZmMGE3ZGQzZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzCkBAIC0y
ODgsNiArMjg4LDE0IEBAIFdJLkNvbnNvbGVNZXNzYWdlVmlldyA9IGNsYXNzIENvbnNvbGVNZXNz
YWdlVmlldyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIHRoaXMuX2V4dHJhUGFy
YW1ldGVycyA9IG51bGw7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgICAgIGNh
c2UgV0kuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVGltaW5nOiB7CisgICAgICAgICAgICAg
ICAgbGV0IGFyZ3MgPSBbdGhpcy5fbWVzc2FnZS5tZXNzYWdlVGV4dF07CisgICAgICAgICAgICAg
ICAgaWYgKHRoaXMuX2V4dHJhUGFyYW1ldGVycykKKyAgICAgICAgICAgICAgICAgICAgYXJncyA9
IGFyZ3MuY29uY2F0KHRoaXMuX2V4dHJhUGFyYW1ldGVycyk7CisgICAgICAgICAgICAgICAgdGhp
cy5fYXBwZW5kRm9ybWF0dGVkQXJndW1lbnRzKGVsZW1lbnQsIGFyZ3MpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjYXNlIFdJLkNvbnNvbGVN
ZXNzYWdlLk1lc3NhZ2VUeXBlLkltYWdlOiB7CiAgICAgICAgICAgICAgICAgbGV0IGltZyA9IGVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikpOwogICAgICAg
ICAgICAgICAgIGltZy5jbGFzc0xpc3QuYWRkKCJjb25zb2xlLWltYWdlIiwgInNob3ctZ3JpZCIp
Owo=
</data>
<flag name="review"
          id="388602"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372843</attachid>
            <date>2019-06-25 10:53:43 -0700</date>
            <delta_ts>2019-06-25 11:36:36 -0700</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>timeLog-landing.patch</filename>
            <type>text/plain</type>
            <size>39391</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MWE0ODU1MzhjYi4uZTM3OTA5YjhhYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxOS0wNi0yNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBjb25zb2xlLnRpbWVMb2cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTE4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERldmluIFJvdXNzby4KKworICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtdGltZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS10aW1lLmh0bWw6CisgICAgICAgIEFkZCBuZXcgdGltZUxvZyB0ZXN0cy4KKworICAgICAg
ICAqIGpzL2NvbnNvbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICBOZXcgdGltZUxvZyBtZXRob2Qu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgVW5za2lwIHRlc3QuCisKIDIw
MTktMDYtMjUgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGltZS1leHBlY3RlZC50eHQKaW5kZXggNjQwZDdh
ZWJhMGEuLmRiZTY5MTcwOWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLXRpbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtdGltZS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSwxNCBAQAotVGVz
dHMgZm9yIHRoZSBjb25zb2xlLnRpbWUgYW5kIGNvbnNvbGUudGltZUVuZCBBUElzLgorVGVzdHMg
Zm9yIHRoZSBjb25zb2xlLnRpbWUsIGNvbnNvbGUudGltZUxvZywgYW5kIGNvbnNvbGUudGltZUVu
ZCBBUElzLgogCiAKLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogY29uc29sZS50aW1lIGFuZCBjb25z
b2xlLnRpbWVFbmQKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBEZWZhdWx0TGFiZWwKKz09IFJ1bm5p
bmcgdGVzdCBzdWl0ZTogY29uc29sZS50aW1lCistLSBSdW5uaW5nIHRlc3QgY2FzZTogY29uc29s
ZS50aW1lLkRlZmF1bHRMYWJlbAorUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBt
ZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVs
IG5hbWUgc29tZXdoZXJlLgorUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNz
YWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5h
bWUgc29tZXdoZXJlLgorUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdl
LgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUg
c29tZXdoZXJlLgogUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgog
UEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUgc29t
ZXdoZXJlLgogUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgpAQCAt
MTAsMjMgKzE2LDUyIEBAIFBBU1M6IE1lc3NhZ2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdkZWZhdWx0
JyBsYWJlbCBuYW1lIHNvbWV3aGVyZS4KIFBBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5
cGUgbWVzc2FnZS4KIFBBU1M6IE1lc3NhZ2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdkZWZhdWx0JyBs
YWJlbCBuYW1lIHNvbWV3aGVyZS4KIAotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFVzZXJMYWJlbHMK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBjb25zb2xlLnRpbWUuVXNlckxhYmVscworUEFTUzogU2hv
dWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQg
Y29udGFpbiB0aGUgJ215LWxhYmVsJyBsYWJlbCBuYW1lIHNvbWV3aGVyZS4KIFBBU1M6IFNob3Vs
ZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2FnZS4KIFBBU1M6IE1lc3NhZ2Ugc2hvdWxkIGNv
bnRhaW4gdGhlICdteS1sYWJlbCcgbGFiZWwgbmFtZSBzb21ld2hlcmUuCiAKLS0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBNdWx0aXBsZVRpbWVycworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGNvbnNvbGUu
dGltZS5NdWx0aXBsZVRpbWVycwogUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBt
ZXNzYWdlLgogUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ215LWxhYmVsLTInIGxh
YmVsIG5hbWUgc29tZXdoZXJlLgogUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBt
ZXNzYWdlLgogUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ215LWxhYmVsLTEnIGxh
YmVsIG5hbWUgc29tZXdoZXJlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogV2FybldoZW5FeGlz
dGluZworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGNvbnNvbGUudGltZS5XYXJuV2hlbkV4aXN0aW5n
CiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCiBQQVNTOiBTaG91
bGQgcmVjZWl2ZSBhIFdhcm5pbmcgbGV2ZWwgbWVzc2FnZQogUEFTUzogTWVzc2FnZSBzaG91bGQg
Y29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUgc29tZXdoZXJlLgogCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogV2FybldoZW5Ob3RFeGlzdGluZworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGNv
bnNvbGUudGltZS5XYXJuV2hlbk5vdEV4aXN0aW5nCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRp
bWluZyB0eXBlIG1lc3NhZ2UuCiBQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFdhcm5pbmcgbGV2ZWwg
bWVzc2FnZS4KIFBBU1M6IE1lc3NhZ2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdkZWZhdWx0JyBsYWJl
bCBuYW1lIHNvbWV3aGVyZS4KK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVz
c2FnZS4KK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgV2FybmluZyBsZXZlbCBtZXNzYWdlLgorUEFT
UzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ2RlZmF1bHQnIGxhYmVsIG5hbWUgc29tZXdo
ZXJlLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogY29uc29sZS50aW1lLlRpbWVMb2dJbmNyZWFz
aW5nCitQQVNTOiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNTOiBN
ZXNzYWdlIHNob3VsZCBjb250YWluIHRoZSAnbXktdGltZWxvZy1sYWJlbCcgbGFiZWwgbmFtZSBz
b21ld2hlcmUuCitQQVNTOiArIEluaXRpYWwgdGltZXIgdGltZSBzZWVuLgorUEFTUzogU2hvdWxk
IHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29u
dGFpbiB0aGUgJ215LXRpbWVsb2ctbGFiZWwnIGxhYmVsIG5hbWUgc29tZXdoZXJlLgorUEFTUzog
KyBUaW1lciB0aW1lIHNob3VsZCBiZSBpbmNyZWFzaW5nLgorUEFTUzogU2hvdWxkIHJlY2VpdmUg
YSBUaW1pbmcgdHlwZSBtZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUg
J215LXRpbWVsb2ctbGFiZWwnIGxhYmVsIG5hbWUgc29tZXdoZXJlLgorUEFTUzogKyBUaW1lciB0
aW1lIHNob3VsZCBiZSBpbmNyZWFzaW5nLgorUEFTUzogU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcg
dHlwZSBtZXNzYWdlLgorUEFTUzogTWVzc2FnZSBzaG91bGQgY29udGFpbiB0aGUgJ215LXRpbWVs
b2ctbGFiZWwnIGxhYmVsIG5hbWUgc29tZXdoZXJlLgorUEFTUzogKyBUaW1lciB0aW1lIHNob3Vs
ZCBiZSBpbmNyZWFzaW5nLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogY29uc29sZS50aW1lLlRp
bWVMb2dBcmd1bWVudHMKK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2Fn
ZS4KK1BBU1M6IHRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gbm8gcGFyYW1ldGVycworUEFTUzogU2hv
dWxkIHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLgorUEFTUzogdGltZUxvZyBzaG91bGQg
Y29udGFpbiAxIHBhcmFtZXRlcnMKK1BBU1M6IFNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUg
bWVzc2FnZS4KK1BBU1M6IHRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gMiBwYXJhbWV0ZXJzCitQQVNT
OiBTaG91bGQgcmVjZWl2ZSBhIFRpbWluZyB0eXBlIG1lc3NhZ2UuCitQQVNTOiB0aW1lRW5kIHNo
b3VsZCBjb250YWluIG5vIHBhcmFtZXRlcnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLXRpbWUuaHRtbAppbmRleCAwNWY0NGNhOWMwMy4uOTNkY2VkZTcxZjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGltZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdGltZS5odG1s
CkBAIC0zLDE2ICszLDIyIEBACiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KK2Z1bmN0aW9uIHNsZWVwVGljaygpIHsKKyAgICBsZXQgbm93ID0gcGVyZm9ybWFuY2Uubm93
KCk7CisgICAgbGV0IHVudGlsID0gbm93ICsgMTA7CisgICAgd2hpbGUgKHBlcmZvcm1hbmNlLm5v
dygpIDwgdW50aWwpOworfQorCiBmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBsZXQgc3VpdGUgPSBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoImNvbnNvbGUudGltZSBhbmQgY29uc29sZS50
aW1lRW5kIik7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRl
KCJjb25zb2xlLnRpbWUiKTsKIAogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFt
ZTogIkRlZmF1bHRMYWJlbCIsCisgICAgICAgIG5hbWU6ICJjb25zb2xlLnRpbWUuRGVmYXVsdExh
YmVsIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IHRoYXQgZGVmYXVsdCBsYWJlbCB3b3Jr
cyBhcyBleHBlY3RlZC4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAg
ICAgICAgbGV0IHNlZW4gPSAwOwotICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSAzOworICAg
ICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSA2OwogICAgICAgICAgICAgV0kuY29uc29sZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQs
IGhhbmRsZXIpOwogICAgICAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihldmVudCkgewogICAgICAg
ICAgICAgICAgIGxldCBtZXNzYWdlID0gZXZlbnQuZGF0YS5tZXNzYWdlOwpAQCAtMjQsMzYgKzMw
LDQ1IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1l
KCkiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUu
dGltZUVuZCgpIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBj
b25zb2xlLnRpbWUoKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZShgY29uc29sZS50aW1lTG9nKClgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoYGNvbnNvbGUudGltZUVuZCgpYCk7CiAKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZSh1bmRlZmluZWQpIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xlLnRpbWVFbmQoJ2RlZmF1bHQn
KSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50
aW1lKHVuZGVmaW5lZClgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYGNvbnNvbGUudGltZUxvZygnZGVmYXVsdCcpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVFbmQoJ2RlZmF1bHQnKWApOwogCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb25zb2xlLnRpbWUoJ2RlZmF1
bHQnKSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29s
ZS50aW1lRW5kKHVuZGVmaW5lZCkiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoYGNvbnNvbGUudGltZSgnZGVmYXVsdCcpYCk7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVMb2codW5kZWZpbmVkKWApOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lRW5kKHVu
ZGVmaW5lZClgKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewotICAgICAgICBuYW1lOiAiVXNlckxhYmVscyIsCisgICAgICAgIG5hbWU6ICJjb25zb2xlLnRp
bWUuVXNlckxhYmVscyIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdCB0aGF0IHVzZXIgbGFi
ZWxzIHdvcmtzIGFzIGV4cGVjdGVkLiIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5hd2FpdEV2ZW50KFdJLkNvbnNvbGVNYW5h
Z2VyLkV2ZW50Lk1lc3NhZ2VBZGRlZCkKLSAgICAgICAgICAgIC50aGVuKChldmVudCkgPT4gewor
ICAgICAgICAgICAgbGV0IHNlZW4gPSAwOworICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSAy
OworICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25z
b2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQsIGhhbmRsZXIpOworICAgICAgICAgICAgZnVu
Y3Rpb24gaGFuZGxlcihldmVudCkgewogICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZXZl
bnQuZGF0YS5tZXNzYWdlOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChtZXNzYWdlLnR5cGUgPT09IFdJLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlRpbWluZywg
IlNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2FnZS4iKTsKICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQobWVzc2FnZS5tZXNzYWdlVGV4dC5pbmNsdWRlcygi
bXktbGFiZWwiKSwgIk1lc3NhZ2Ugc2hvdWxkIGNvbnRhaW4gdGhlICdteS1sYWJlbCcgbGFiZWwg
bmFtZSBzb21ld2hlcmUuIik7Ci0gICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4ocmVz
b2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgICAgICAgICBpZiAoKytzZWVuID09PSBleHBlY3RlZCkg
eworICAgICAgICAgICAgICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5yZW1vdmVFdmVudExpc3Rl
bmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lk1lc3NhZ2VBZGRlZCwgaGFuZGxlcik7CisgICAg
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUu
dGltZSgnbXktbGFiZWwnKSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiY29uc29sZS50aW1lRW5kKCdteS1sYWJlbCcpIik7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUoJ215LWxhYmVsJylgKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUxvZygnbXkt
bGFiZWwnKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29u
c29sZS50aW1lRW5kKCdteS1sYWJlbCcpYCk7CiAgICAgICAgIH0KICAgICB9KTsKIAogICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIk11bHRpcGxlVGltZXJzIiwKKyAgICAg
ICAgbmFtZTogImNvbnNvbGUudGltZS5NdWx0aXBsZVRpbWVycyIsCiAgICAgICAgIGRlc2NyaXB0
aW9uOiAiVGVzdCB0aGF0IG11bHRpcGxlIHRpbWVycyBydW5uaW5nIGF0IHRoZSBzYW1lIHRpbWUg
d29yayBhcyBleHBlY3RlZC4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAg
ICAgICAgICAgbGV0IHNlZW4gPSAwOwpAQCAtNzAsMTUgKzg1LDE1IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lKCdteS1sYWJlbC0xJykiKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZSgnbXkt
bGFiZWwtMicpIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJj
b25zb2xlLnRpbWVFbmQoJ215LWxhYmVsLTInKSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lRW5kKCdteS1sYWJlbC0xJykiKTsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZSgnbXktbGFi
ZWwtMScpYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25z
b2xlLnRpbWUoJ215LWxhYmVsLTInKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgY29uc29sZS50aW1lRW5kKCdteS1sYWJlbC0yJylgKTsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUVuZCgnbXktbGFiZWwt
MScpYCk7CiAgICAgICAgIH0KICAgICB9KTsKIAogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAg
ICAgICAgbmFtZTogIldhcm5XaGVuRXhpc3RpbmciLAorICAgICAgICBuYW1lOiAiY29uc29sZS50
aW1lLldhcm5XaGVuRXhpc3RpbmciLAogICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgZm9yIGEg
d2FybmluZyB3aGVuIHRyeWluZyB0byBzdGFydCBhbiBhbHJlYWR5IHN0YXJ0ZWQgdGltZXIuIiwK
ICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgIFdJLmNvbnNvbGVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIuRXZlbnQuTWVzc2FnZUFk
ZGVkLCBoYW5kbGVyKTsKQEAgLTk2LDI2ICsxMTEsMTE0IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS50aW1lKCkiKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZSgpIik7IC8vIFdhcm5pbmcKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUudGltZUVuZCgpIik7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUo
KWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50
aW1lKClgKTsgLy8gV2FybmluZworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgY29uc29sZS50aW1lRW5kKClgKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3Vp
dGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiV2FybldoZW5Ob3RFeGlzdGluZyIsCisg
ICAgICAgIG5hbWU6ICJjb25zb2xlLnRpbWUuV2FybldoZW5Ob3RFeGlzdGluZyIsCiAgICAgICAg
IGRlc2NyaXB0aW9uOiAiVGVzdCBmb3IgYSB3YXJuaW5nIHdoZW4gdHJ5aW5nIHRvIHN0YXJ0IGFu
IGFscmVhZHkgc3RhcnRlZCB0aW1lci4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYXdhaXRFdmVudChXSS5Db25zb2xlTWFu
YWdlci5FdmVudC5NZXNzYWdlQWRkZWQpCi0gICAgICAgICAgICAudGhlbigoZXZlbnQpID0+IHsK
KyAgICAgICAgICAgIGxldCBzZWVuID0gMDsKKyAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkID0g
MjsKKyAgICAgICAgICAgIFdJLmNvbnNvbGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ29u
c29sZU1hbmFnZXIuRXZlbnQuTWVzc2FnZUFkZGVkLCBoYW5kbGVyKTsKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHsKICAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9IGV2
ZW50LmRhdGEubWVzc2FnZTsKKyAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBX
SS5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5DbGVhcikKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG1lc3Nh
Z2UudHlwZSA9PT0gV0kuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVGltaW5nLCAiU2hvdWxk
IHJlY2VpdmUgYSBUaW1pbmcgdHlwZSBtZXNzYWdlLiIpOwogICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0VGhhdChtZXNzYWdlLmxldmVsID09PSBXSS5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlTGV2ZWwuV2FybmluZywgIlNob3VsZCByZWNlaXZlIGEgV2FybmluZyBsZXZlbCBtZXNz
YWdlLiIpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChtZXNzYWdl
Lm1lc3NhZ2VUZXh0LmluY2x1ZGVzKCJkZWZhdWx0IiksICJNZXNzYWdlIHNob3VsZCBjb250YWlu
IHRoZSAnZGVmYXVsdCcgbGFiZWwgbmFtZSBzb21ld2hlcmUuIik7Ci0gICAgICAgICAgICB9KQot
ICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgICAgICAgICBpZiAo
KytzZWVuID09PSBleHBlY3RlZCkgeworICAgICAgICAgICAgICAgICAgICBXSS5jb25zb2xlTWFu
YWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lk1lc3NhZ2VB
ZGRlZCwgaGFuZGxlcik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImNvbnNvbGUudGltZUVuZCgpIik7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVMb2coKWApOyAvLyBXYXJuCisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLmNsZWFyKClgKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUVuZCgp
YCk7IC8vIFdhcm4KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiY29uc29sZS50aW1lLlRpbWVMb2dJbmNyZWFzaW5nIiwKKyAgICAg
ICAgZGVzY3JpcHRpb246ICJUZXN0IGZvciB0aW1lTG9nIG11bHRpcGxlIHRpbWVzIHdpdGggYSB0
aW1lciBzaG91bGQgaW5jcmVhc2UuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsK
KyAgICAgICAgICAgIGxldCBsYXN0VGltZSA9IDA7CisgICAgICAgICAgICBsZXQgc2VlbiA9IDA7
CisgICAgICAgICAgICBjb25zdCBleHBlY3RlZCA9IDQ7CisgICAgICAgICAgICBXSS5jb25zb2xl
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lk1lc3NhZ2VB
ZGRlZCwgaGFuZGxlcik7CisgICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7Cisg
ICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSBldmVudC5kYXRhLm1lc3NhZ2U7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KG1lc3NhZ2UudHlwZSA9PT0gV0kuQ29u
c29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVGltaW5nLCAiU2hvdWxkIHJlY2VpdmUgYSBUaW1pbmcg
dHlwZSBtZXNzYWdlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChtZXNzYWdlLm1lc3NhZ2VUZXh0LmluY2x1ZGVzKCJteS10aW1lbG9nLWxhYmVsIiksICJNZXNz
YWdlIHNob3VsZCBjb250YWluIHRoZSAnbXktdGltZWxvZy1sYWJlbCcgbGFiZWwgbmFtZSBzb21l
d2hlcmUuIik7CisKKyAgICAgICAgICAgICAgICBsZXQgbWF0Y2ggPSBtZXNzYWdlLm1lc3NhZ2VU
ZXh0Lm1hdGNoKC9ebXktdGltZWxvZy1sYWJlbDogKFxkKyhcLlxkKyk/bXMpLykKKyAgICAgICAg
ICAgICAgICBpZiAobWF0Y2gpIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRUaW1l
ID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0VGlt
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoY3VycmVu
dFRpbWUgPiAxNSwgIkF0IGxlYXN0IDE1IG1pbGxpc2Vjb25kcyBzaG91bGQgaGF2ZSBlbGFwc2Vk
IHNpbmNlIHRoaXMgaXMgZm9yIHRpbWVMb2cgMiBhbmQgbGF0ZXIuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEdyZWF0ZXJUaGFuKGN1cnJlbnRUaW1lLCBs
YXN0VGltZSwgIisgVGltZXIgdGltZSBzaG91bGQgYmUgaW5jcmVhc2luZy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnBhc3MoIisgSW5pdGlhbCB0aW1lciB0aW1lIHNlZW4uIik7CisgICAgICAgICAgICAgICAgICAg
IGxhc3RUaW1lID0gY3VycmVudFRpbWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKCsrc2VlbiA9PT0gZXhwZWN0ZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgV0ku
Y29uc29sZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVu
dC5NZXNzYWdlQWRkZWQsIGhhbmRsZXIpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWUoIm15LXRpbWVsb2ctbGFiZWwiKWAp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgc2xlZXBUaWNrKCk7
IGNvbnNvbGUudGltZUxvZygibXktdGltZWxvZy1sYWJlbCIpYCk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBzbGVlcFRpY2soKTsgY29uc29sZS50aW1lTG9nKCJt
eS10aW1lbG9nLWxhYmVsIilgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoYHNsZWVwVGljaygpOyBjb25zb2xlLnRpbWVMb2coIm15LXRpbWVsb2ctbGFiZWwiKWAp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgc2xlZXBUaWNrKCk7
IGNvbnNvbGUudGltZUVuZCgibXktdGltZWxvZy1sYWJlbCIpYCk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogImNvbnNvbGUudGlt
ZS5UaW1lTG9nQXJndW1lbnRzIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IGZvciB0aW1l
TG9nIHdpdGggdHJhaWxpbmcgcGFyYW1ldGVycy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJl
amVjdCkgeworICAgICAgICAgICAgbGV0IHNlZW4gPSAwOworICAgICAgICAgICAgY29uc3QgZXhw
ZWN0ZWQgPSA0OworICAgICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5NZXNzYWdlQWRkZWQsIGhhbmRsZXIpOworICAgICAg
ICAgICAgZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeworICAgICAgICAgICAgICAgIGxldCBtZXNz
YWdlID0gZXZlbnQuZGF0YS5tZXNzYWdlOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChtZXNzYWdlLnR5cGUgPT09IFdJLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBl
LlRpbWluZywgIlNob3VsZCByZWNlaXZlIGEgVGltaW5nIHR5cGUgbWVzc2FnZS4iKTsKKworICAg
ICAgICAgICAgICAgIHN3aXRjaCAoc2VlbikgeworICAgICAgICAgICAgICAgIGNhc2UgMDoKKyAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChtZXNzYWdlLnBhcmFt
ZXRlcnMsIHVuZGVmaW5lZCwgInRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gbm8gcGFyYW1ldGVycyIp
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIDE6Cisg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwobWVzc2FnZS5wYXJh
bWV0ZXJzLmxlbmd0aCwgMSwgInRpbWVMb2cgc2hvdWxkIGNvbnRhaW4gMSBwYXJhbWV0ZXJzIik7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgMjoKKyAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChtZXNzYWdlLnBhcmFt
ZXRlcnMubGVuZ3RoLCAyLCAidGltZUxvZyBzaG91bGQgY29udGFpbiAyIHBhcmFtZXRlcnMiKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAzOgorICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKG1lc3NhZ2UucGFyYW1l
dGVycywgdW5kZWZpbmVkLCAidGltZUVuZCBzaG91bGQgY29udGFpbiBubyBwYXJhbWV0ZXJzIik7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmICgrK3NlZW4gPT09IGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAgICAg
IFdJLmNvbnNvbGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIu
RXZlbnQuTWVzc2FnZUFkZGVkLCBoYW5kbGVyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lKCJ4IilgKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGNvbnNvbGUudGltZUxvZygieCIpYCk7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjb25zb2xlLnRpbWVM
b2coIngiLCAxKWApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
Y29uc29sZS50aW1lTG9nKCJ4IiwgMiwgd2luZG93KWApOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZShgY29uc29sZS50aW1lRW5kKCJ4IilgKTsKICAgICAgICAgfQog
ICAgIH0pOwogCkBAIC0xMjQsNiArMjI3LDYgQEAgZnVuY3Rpb24gdGVzdCgpCiA8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIGZvciB0aGUgY29u
c29sZS50aW1lIGFuZCBjb25zb2xlLnRpbWVFbmQgQVBJcy48L3A+Cis8cD5UZXN0cyBmb3IgdGhl
IGNvbnNvbGUudGltZSwgY29uc29sZS50aW1lTG9nLCBhbmQgY29uc29sZS50aW1lRW5kIEFQSXMu
PC9wPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvY29uc29s
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9jb25zb2xlLWV4cGVjdGVkLnR4dAppbmRl
eCBiNmJmNzI0ZWE2ZC4uNjNmN2Q0NzY2N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2Nv
bnNvbGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2NvbnNvbGUtZXhwZWN0ZWQu
dHh0CkBAIC0xMjEsNiArMTIxLDEzIEBAIFBBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMg
dHJ1ZQogUEFTUyBkZXNjcmlwdG9yLndyaXRhYmxlIGlzIHRydWUKIFBBU1MgZGVzY3JpcHRvci5l
bnVtZXJhYmxlIGlzIHRydWUKIAorY29uc29sZS50aW1lTG9nCitQQVNTIHR5cGVvZiBjb25zb2xl
LnRpbWVMb2cgaXMgImZ1bmN0aW9uIgorUEFTUyBjb25zb2xlLnRpbWVMb2cubGVuZ3RoIGlzIDAK
K1BBU1MgZGVzY3JpcHRvci5jb25maWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBkZXNjcmlwdG9yLndy
aXRhYmxlIGlzIHRydWUKK1BBU1MgZGVzY3JpcHRvci5lbnVtZXJhYmxlIGlzIHRydWUKKwogY29u
c29sZS50aW1lRW5kCiBQQVNTIHR5cGVvZiBjb25zb2xlLnRpbWVFbmQgaXMgImZ1bmN0aW9uIgog
UEFTUyBjb25zb2xlLnRpbWVFbmQubGVuZ3RoIGlzIDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTdhYTRlNDJhNzYuLjUyZjg1ZGNlZTFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjEzNSw4ICsyMTM1LDYg
QEAgd2Via2l0Lm9yZy9iLzE5NzQ5OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW4KIHdlYmtpdC5vcmcvYi8xOTc0OTggaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bi9yZWFkeS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xOTc0OTggaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvdGlt
ZWxpbmVzL3VwZGF0ZS1hbmQtc2VuZC1ldmVudHMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKLXdl
YmtpdC5vcmcvYi8xOTc0OTkgaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10aW1lLmh0bWwgWyBG
YWlsdXJlIFBhc3MgXQotCiB3ZWJraXQub3JnL2IvMTk3NTAwIGxlZ2FjeS1hbmltYXRpb24tZW5n
aW5lL2NvbXBvc2l0aW5nL3JlcGFpbnQvYmVjb21lLW92ZXJsYXktY29tcG9zaXRlZC1sYXllci5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzE5NzUwMSBmYXN0L2ltYWdlcy9h
bmltYXRlZC13ZWJwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIFBhc3MgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5OTlhOTZmOGFlNS4uMDFjMDlmNzY0
MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDg5
LDcgKzEwODksNiBAQCB3ZWJraXQub3JnL2IvMTU1NjA3IGluc3BlY3Rvci9oZWFwL3NuYXBzaG90
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MzcxOSBpbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWFwaS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNTYw
NzggaW5zcGVjdG9yL2NvbnNvbGUvaGVhcFNuYXBzaG90Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQog
d2Via2l0Lm9yZy9iLzE4MjYyMCBpbnNwZWN0b3IvY29uc29sZS9jbGVhck1lc3NhZ2VzLmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE1ODAwNiBpbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLXRpbWUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTgzODgwIFsg
RGVidWcgXSBpbnNwZWN0b3IvY29uc29sZS9tZXNzYWdlQWRkZWQtZnJvbS1uYW1lZC1ldmFsdWF0
aW9ucy5odG1sIFsgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTU2NjM0IGluc3BlY3Rvci9mb3JtYXR0
aW5nL2Zvcm1hdHRpbmctamF2YXNjcmlwdC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5v
cmcvYi8xNTg5NDggaW5zcGVjdG9yL3RpbWVsaW5lIFsgUGFzcyBUaW1lb3V0IF0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCmluZGV4IGZlZjM0MjFlMmExLi42MmEyNzk3ZTg1YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDYtMjQgIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBsZW1l
bnQgY29uc29sZS50aW1lTG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTkxODQKKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Ojp0aW1lTG9nKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOgorICAgICAg
ICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmxvZ1RpbWluZyk6CisgICAgICAg
IChJbnNwZWN0b3I6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6c3RvcFRpbWluZyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBy
dW50aW1lL0NvbnNvbGVDbGllbnQuaDoKKyAgICAgICAgKiBydW50aW1lL0NvbnNvbGVPYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpDb25zb2xlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgIChKU0M6OmNvbnNvbGVQcm90b0Z1bmNUaW1lTG9nKToKKwogMjAxOS0wNi0yNSAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TihyMjQ1NTg2KTogc3RhdGljIGFzc2VydGlvbiBmYWlsZWQ6IE1hdGNoIHJlc3VsdCBhbmQgRW5j
b2RlZE1hdGNoUmVzdWx0IHNob3VsZCBiZSB0aGUgc2FtZSBzaXplCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29s
ZUNsaWVudC5jcHAKaW5kZXggMGNkOTIyN2Q5ZjguLmZjZGNjNDkxYzZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVu
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dENvbnNvbGVDbGllbnQuY3BwCkBAIC0xNTMsNiArMTUzLDExIEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQ2xpZW50Ojp0aW1lKEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAg
ICAgbV9jb25zb2xlQWdlbnQtPnN0YXJ0VGltaW5nKHRpdGxlKTsKIH0KIAordm9pZCBKU0dsb2Jh
bE9iamVjdENvbnNvbGVDbGllbnQ6OnRpbWVMb2coRXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgUmVmPFNjcmlwdEFyZ3VtZW50cz4mJiBhcmd1bWVudHMpCit7CisgICAgbV9jb25zb2xl
QWdlbnQtPmxvZ1RpbWluZyh0aXRsZSwgV1RGTW92ZShhcmd1bWVudHMpKTsKK30KKwogdm9pZCBK
U0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ6OnRpbWVFbmQoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBTdHJpbmcmIHRpdGxlKQogewogICAgIG1fY29uc29sZUFnZW50LT5zdG9wVGltaW5nKHRpdGxl
LCBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKGV4ZWMsIDEpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xp
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29u
c29sZUNsaWVudC5oCmluZGV4IDQxOTQ3MDAwNGMxLi44YmZlYWRhODQ5NCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGll
bnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudC5oCkBAIC01NCw2ICs1NCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBy
b2ZpbGVFbmQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsK
ICAgICB2b2lkIHRha2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcm
IHRpdGxlKSBvdmVycmlkZTsKICAgICB2b2lkIHRpbWUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBT
dHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKKyAgICB2b2lkIHRpbWVMb2coSlNDOjpFeGVjU3RhdGUq
LCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50cykg
b3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lRW5kKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiB0aXRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lU3RhbXAoSlNDOjpFeGVjU3RhdGUqLCBS
ZWY8U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHJlY29yZChKU0M6OkV4
ZWNTdGF0ZSosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggYzYyYjZlODNmNWMuLjAzODY4MzdmYmJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTE0NCw2ICsxNDQsMjkgQEAgdm9pZCBJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OnN0YXJ0VGltaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAg
fQogfQogCit2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6bG9nVGltaW5nKGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYgYXJndW1lbnRzKQoreworICAgIGlmICgh
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuaW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJF
eHRyYXNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVCghdGl0bGUuaXNO
dWxsKCkpOworICAgIGlmICh0aXRsZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
YXV0byBpdCA9IG1fdGltZXMuZmluZCh0aXRsZSk7CisgICAgaWYgKGl0ID09IG1fdGltZXMuZW5k
KCkpIHsKKyAgICAgICAgLy8gRklYTUU6IFNlbmQgYW4gZW51bSB0byB0aGUgZnJvbnRlbmQgZm9y
IGxvY2FsaXphdGlvbj8KKyAgICAgICAgU3RyaW5nIHdhcm5pbmcgPSBtYWtlU3RyaW5nKCJUaW1l
ciBcIiIsIHRpdGxlLCAiXCIgZG9lcyBub3QgZXhpc3QiKTsKKyAgICAgICAgYWRkTWVzc2FnZVRv
Q29uc29sZShzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpD
b25zb2xlQVBJLCBNZXNzYWdlVHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIHdh
cm5pbmcpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1vbm90b25pY1RpbWUgc3Rh
cnRUaW1lID0gaXQtPnZhbHVlOworICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6
Om5vdygpIC0gc3RhcnRUaW1lOworICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZyh0aXRs
ZSwgIjogIiwgRm9ybWF0dGVkTnVtYmVyOjpmaXhlZFdpZHRoKGVsYXBzZWQubWlsbGlzZWNvbmRz
KCksIDMpLCAibXMiKTsKKyAgICBhZGRNZXNzYWdlVG9Db25zb2xlKHN0ZDo6bWFrZV91bmlxdWU8
Q29uc29sZU1lc3NhZ2U+KE1lc3NhZ2VTb3VyY2U6OkNvbnNvbGVBUEksIE1lc3NhZ2VUeXBlOjpU
aW1pbmcsIE1lc3NhZ2VMZXZlbDo6RGVidWcsIG1lc3NhZ2UsIFdURk1vdmUoYXJndW1lbnRzKSkp
OworfQorCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6c3RvcFRpbWluZyhjb25zdCBTdHJp
bmcmIHRpdGxlLCBSZWY8U2NyaXB0Q2FsbFN0YWNrPiYmIGNhbGxTdGFjaykKIHsKICAgICBpZiAo
IW1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmluc3BlY3RvckVudmlyb25tZW50KCkuZGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZCgpKQpAQCAtMTYyLDExICsxODUsMTEgQEAgdm9pZCBJbnNwZWN0b3JDb25z
b2xlQWdlbnQ6OnN0b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNjcmlwdENhbGxT
dGFjaz4KICAgICB9CiAKICAgICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZSA9IGl0LT52YWx1ZTsK
LSAgICBtX3RpbWVzLnJlbW92ZShpdCk7Ci0KICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9u
aWNUaW1lOjpub3coKSAtIHN0YXJ0VGltZTsKICAgICBTdHJpbmcgbWVzc2FnZSA9IG1ha2VTdHJp
bmcodGl0bGUsICI6ICIsIEZvcm1hdHRlZE51bWJlcjo6Zml4ZWRXaWR0aChlbGFwc2VkLm1pbGxp
c2Vjb25kcygpLCAzKSwgIm1zIik7CiAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShzdGQ6Om1ha2Vf
dW5pcXVlPENvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCBNZXNzYWdl
VHlwZTo6VGltaW5nLCBNZXNzYWdlTGV2ZWw6OkRlYnVnLCBtZXNzYWdlLCBXVEZNb3ZlKGNhbGxT
dGFjaykpKTsKKworICAgIG1fdGltZXMucmVtb3ZlKGl0KTsKIH0KIAogdm9pZCBJbnNwZWN0b3JD
b25zb2xlQWdlbnQ6OnRha2VIZWFwU25hcHNob3QoY29uc3QgU3RyaW5nJiB0aXRsZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggZjBiNmFhZTIzOTguLjNjM2Q2MDVlMDg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKHN0ZDo6dW5pcXVlX3B0cjxDb25zb2xlTWVzc2FnZT4p
OwogCiAgICAgdm9pZCBzdGFydFRpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAgICB2b2lk
IGxvZ1RpbWluZyhjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmKTsK
ICAgICB2b2lkIHN0b3BUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNjcmlwdENhbGxT
dGFjaz4mJik7CiAgICAgdm9pZCB0YWtlSGVhcFNuYXBzaG90KGNvbnN0IFN0cmluZyYgdGl0bGUp
OwogICAgIHZvaWQgY291bnQoSlNDOjpFeGVjU3RhdGUqLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNvbGVDbGll
bnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNvbGVDbGllbnQuaAppbmRl
eCA1M2FiYjUwZTlmYy4uYjNhODQ2YjEyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db25zb2xlQ2xpZW50LmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBwcm9maWxlRW5kKEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUhlYXBTbmFwc2hvdChFeGVjU3RhdGUqLCBjb25zdCBT
dHJpbmcmIHRpdGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRpbWUoRXhlY1N0YXRlKiwgY29u
c3QgU3RyaW5nJiB0aXRsZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCB0aW1lTG9nKEV4ZWNTdGF0
ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4m
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0aW1lRW5kKEV4ZWNTdGF0ZSosIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGltZVN0YW1wKEV4ZWNTdGF0ZSosIFJl
ZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBy
ZWNvcmQoRXhlY1N0YXRlKiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNvbGVPYmplY3QuY3BwCmlu
ZGV4IDM3YzQwZDNhYjdkLi40YmRmYWViYjM0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5jcHAKQEAgLTUyLDYgKzUyLDcgQEAgc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1Byb2ZpbGUoRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zb2xlUHJvdG9G
dW5jUHJvZmlsZUVuZChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGNvbnNvbGVQcm90b0Z1bmNUYWtlSGVhcFNuYXBzaG90KEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1RpbWUoRXhl
Y1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zb2xlUHJv
dG9GdW5jVGltZUxvZyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGNvbnNvbGVQcm90b0Z1bmNUaW1lRW5kKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1RpbWVTdGFtcChFeGVjU3Rh
dGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnNvbGVQcm90b0Z1
bmNHcm91cChFeGVjU3RhdGUqKTsKQEAgLTkyLDYgKzkzLDcgQEAgdm9pZCBDb25zb2xlT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAg
ICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInByb2ZpbGUiLCBjb25z
b2xlUHJvdG9GdW5jUHJvZmlsZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmli
dXRlOjpOb25lKSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJ
T04oInByb2ZpbGVFbmQiLCBjb25zb2xlUHJvdG9GdW5jUHJvZmlsZUVuZCwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpOb25lKSwgMCk7CiAgICAgSlNDX05BVElWRV9G
VU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInRpbWUiLCBjb25zb2xlUHJvdG9GdW5jVGltZSwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpOb25lKSwgMCk7CisgICAg
SlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04oInRpbWVMb2ciLCBjb25zb2xl
UHJvdG9GdW5jVGltZUxvZywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRl
OjpOb25lKSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04o
InRpbWVFbmQiLCBjb25zb2xlUHJvdG9GdW5jVGltZUVuZCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KFByb3BlcnR5QXR0cmlidXRlOjpOb25lKSwgMCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9X
SVRIT1VUX1RSQU5TSVRJT04oInRpbWVTdGFtcCIsIGNvbnNvbGVQcm90b0Z1bmNUaW1lU3RhbXAs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSksIDApOwogICAg
IEpTQ19OQVRJVkVfRlVOQ1RJT05fV0lUSE9VVF9UUkFOU0lUSU9OKCJ0YWtlSGVhcFNuYXBzaG90
IiwgY29uc29sZVByb3RvRnVuY1Rha2VIZWFwU25hcHNob3QsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSksIDApOwpAQCAtMzEzLDYgKzMxNSwyNiBAQCBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zb2xlUHJvdG9GdW5jVGltZShFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
IH0KIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc29sZVByb3RvRnVu
Y1RpbWVMb2coRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIENvbnNvbGVDbGll
bnQqIGNsaWVudCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y29uc29sZUNsaWVudCgp
OworICAgIGlmICghY2xpZW50KQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworCisgICAgU3RyaW5nIHRpdGxlOworICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPCAxKQorICAgICAgICB0aXRsZSA9ICAiZGVmYXVsdCJfczsKKyAgICBlbHNlIHsKKyAg
ICAgICAgdGl0bGUgPSB2YWx1ZU9yRGVmYXVsdExhYmVsU3RyaW5nKGV4ZWMsIGV4ZWMtPmFyZ3Vt
ZW50KDApKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFs
dWUoKSk7CisgICAgfQorCisgICAgY2xpZW50LT50aW1lTG9nKGV4ZWMsIHRpdGxlLCBJbnNwZWN0
b3I6OmNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhleGVjLCAxKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY29uc29sZVByb3RvRnVuY1RpbWVFbmQoRXhlY1N0YXRlKiBleGVjKQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0ZjU5ODI5OWUuLjcyOTZiZjEx
MjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMDYtMjQgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBs
ZW1lbnQgY29uc29sZS50aW1lTG9nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTkxODQKKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28u
CisKKyAgICAgICAgVXBkYXRlZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpsb2dDb25zb2xlVGltaW5nSW1wbCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsb2dDb25zb2xlVGltaW5nKToKKyAgICAgICAgKiBwYWdl
L1BhZ2VDb25zb2xlQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlQ2xp
ZW50Ojp0aW1lTG9nKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xlQ2xpZW50Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlckNvbnNvbGVDbGllbnQ6OnRpbWVMb2cpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Q29uc29sZUNsaWVudC5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRDb25zb2xlQ2xpZW50Ojp0aW1lTG9nKToK
KyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0Q29uc29sZUNsaWVudC5oOgorCiAyMDE5LTA2LTI1
ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBB
ZGQgdXNlciBhZ2VudCBxdWlyayBmb3IgYmFua29mYW1lcmljYS5jb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXgg
OWIxZDJmY2YzZGIuLjJlYzc3OTg2ZDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtODg2LDYgKzg4NiwxNSBA
QCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cgogICAgICAgICBjb25zb2xlQWdlbnQtPnN0YXJ0VGlt
aW5nKHRpdGxlKTsKIH0KIAordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxvZ0NvbnNv
bGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIGNv
bnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJiBhcmd1
bWVudHMpCit7CisgICAgaWYgKCFpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckVudmlyb25t
ZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLndl
YkNvbnNvbGVBZ2VudCgpKQorICAgICAgICBjb25zb2xlQWdlbnQtPmxvZ1RpbWluZyh0aXRsZSwg
V1RGTW92ZShhcmd1bWVudHMpKTsKK30KKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBGcmFtZSYgZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxTY3JpcHRDYWxs
U3RhY2s+JiYgc3RhY2spCiB7CiAgICAgaWYgKCFpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rv
ckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDlkMTMy
YzVkNzYxLi4xZjc1MTM3ZmI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMjI2LDYgKzIyNiw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCB0YWtlSGVhcFNuYXBzaG90KEZyYW1lJiwgY29uc3QgU3RyaW5nJiB0
aXRsZSk7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nKEZyYW1lJiwgY29uc3Qg
U3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nKFdvcmtl
ckdsb2JhbFNjb3BlJiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisgICAgc3RhdGljIHZvaWQgbG9n
Q29uc29sZVRpbWluZyhGcmFtZSYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6
OlNjcmlwdEFyZ3VtZW50cz4mJik7CisgICAgc3RhdGljIHZvaWQgbG9nQ29uc29sZVRpbWluZyhX
b3JrZXJHbG9iYWxTY29wZSYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4mJik7CiAgICAgc3RhdGljIHZvaWQgc3RvcENvbnNvbGVUaW1pbmcoRnJh
bWUmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+
JiYpOwogICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xlVGltaW5nKFdvcmtlckdsb2JhbFNjb3Bl
JiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYm
KTsKICAgICBzdGF0aWMgdm9pZCBjb25zb2xlVGltZVN0YW1wKEZyYW1lJiwgUmVmPEluc3BlY3Rv
cjo6U2NyaXB0QXJndW1lbnRzPiYmKTsKQEAgLTQwNCw2ICs0MDYsNyBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIHRha2VIZWFwU25hcHNob3RJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBj
b25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmdJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwog
ICAgIHN0YXRpYyB2b2lkIHN0YXJ0Q29uc29sZVRpbWluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworICAgIHN0YXRpYyB2b2lkIGxvZ0NvbnNvbGVUaW1p
bmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWY8SW5z
cGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpOwogICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYpOwogICAgIHN0YXRpYyB2b2lk
IHN0b3BDb25zb2xlVGltaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgY29uc3QgU3RyaW5n
JiB0aXRsZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmKTsKICAgICBzdGF0aWMg
dm9pZCBjb25zb2xlVGltZVN0YW1wSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBS
ZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpOwpAQCAtMTQwOCw2ICsxNDExLDE3IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5n
KFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrCiAgICAgc3RhcnRDb25zb2xlVGltaW5nSW1wbChpbnN0
cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyR2xvYmFsU2NvcGUod29ya2VyR2xvYmFsU2NvcGUpLCB0
aXRsZSk7CiB9CiAKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9nQ29u
c29sZVRpbWluZyhGcmFtZSYgZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0
b3I6OlNjcmlwdEFyZ3VtZW50cz4mJiBhcmd1bWVudHMpCit7CisgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJh
bWUoZnJhbWUpKQorICAgICAgICBsb2dDb25zb2xlVGltaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0Fn
ZW50cywgdGl0bGUsIFdURk1vdmUoYXJndW1lbnRzKSk7Cit9CisKK2lubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6bG9nQ29uc29sZVRpbWluZyhXb3JrZXJHbG9iYWxTY29wZSYg
d29ya2VyR2xvYmFsU2NvcGUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4mJiBhcmd1bWVudHMpCit7CisgICAgbG9nQ29uc29sZVRpbWluZ0ltcGwo
aW5zdHJ1bWVudGluZ0FnZW50c0Zvcldvcmtlckdsb2JhbFNjb3BlKHdvcmtlckdsb2JhbFNjb3Bl
KSwgdGl0bGUsIFdURk1vdmUoYXJndW1lbnRzKSk7Cit9CisKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUmIGZyYW1lLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYgc3RhY2spCiB7
CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25zb2xlQ2xpZW50LmNwcAppbmRleCBkOGRlN2UyYjg5Ny4uN2I5NzA0ZGRhNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCkBAIC0xOTcsNiArMTk3LDExIEBA
IHZvaWQgUGFnZUNvbnNvbGVDbGllbnQ6OnRpbWUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJp
bmcmIHRpdGxlKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGlt
aW5nKG1fcGFnZS5tYWluRnJhbWUoKSwgdGl0bGUpOwogfQogCit2b2lkIFBhZ2VDb25zb2xlQ2xp
ZW50Ojp0aW1lTG9nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNj
cmlwdEFyZ3VtZW50cz4mJiBhcmd1bWVudHMpCit7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpsb2dDb25zb2xlVGltaW5nKG1fcGFnZS5tYWluRnJhbWUoKSwgdGl0bGUsIFdURk1vdmUo
YXJndW1lbnRzKSk7Cit9CisKIHZvaWQgUGFnZUNvbnNvbGVDbGllbnQ6OnRpbWVFbmQoSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7CiAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRpbWluZyhtX3BhZ2UubWFpbkZyYW1lKCksIHRpdGxl
LCBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGb3JDb25zb2xlKGV4ZWMsIDEpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuaAppbmRleCA1MmMyZmRjOWFjOC4uM2QwODkwMDM0YjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmgKQEAgLTcyLDYgKzcyLDcg
QEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0
IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGFrZUhlYXBTbmFwc2hvdChKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGlt
ZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOworICAgIHZv
aWQgdGltZUxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNw
ZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lRW5kKEpT
Qzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0
aW1lU3RhbXAoSlNDOjpFeGVjU3RhdGUqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+
JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVjb3JkKEpTQzo6RXhlY1N0YXRlKiwgUmVmPEluc3Bl
Y3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuY3BwCmluZGV4IGJhYjJkYTY2MzI5Li5kZDY0M2U3
MzIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQu
Y3BwCkBAIC02MCw2ICs2MCwxMSBAQCB2b2lkIFdvcmtlckNvbnNvbGVDbGllbnQ6OnRpbWUoSlND
OjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nKG1fd29ya2VyR2xvYmFsU2NvcGUsIHRpdGxlKTsK
IH0KIAordm9pZCBXb3JrZXJDb25zb2xlQ2xpZW50Ojp0aW1lTG9nKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgU3RyaW5nJiB0aXRsZSwgUmVmPFNjcmlwdEFyZ3VtZW50cz4mJiBhcmd1bWVudHMpCit7
CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsb2dDb25zb2xlVGltaW5nKG1fd29ya2Vy
R2xvYmFsU2NvcGUsIHRpdGxlLCBXVEZNb3ZlKGFyZ3VtZW50cykpOworfQorCiB2b2lkIFdvcmtl
ckNvbnNvbGVDbGllbnQ6OnRpbWVFbmQoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdG9wQ29uc29sZVRp
bWluZyhtX3dvcmtlckdsb2JhbFNjb3BlLCB0aXRsZSwgY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9y
Q29uc29sZShleGVjLCAxKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29s
ZUNsaWVudC5oCmluZGV4IGVmMzg1ODc0NzFiLi5lYzNlMTljMGIyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgcHJvZmlsZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGFrZUhlYXBTbmFwc2hvdChKU0M6OkV4ZWNT
dGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgdGltZShKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOworICAgIHZvaWQgdGlt
ZUxvZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFJlZjxJbnNwZWN0b3I6
OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lRW5kKEpTQzo6RXhl
Y1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0aW1lU3Rh
bXAoSlNDOjpFeGVjU3RhdGUqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgcmVjb3JkKEpTQzo6RXhlY1N0YXRlKiwgUmVmPEluc3BlY3Rvcjo6
U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmts
ZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50LmNwcAppbmRleCA1ZGNiNjhlMDdiMi4uZWVmYmI5YTEx
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0Q29uc29sZUNsaWVu
dC5jcHAKQEAgLTU1LDYgKzU1LDcgQEAgdm9pZCBXb3JrbGV0Q29uc29sZUNsaWVudDo6bWVzc2Fn
ZVdpdGhUeXBlQW5kTGV2ZWwoTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmUKIHZvaWQgV29y
a2xldENvbnNvbGVDbGllbnQ6OmNvdW50KEpTQzo6RXhlY1N0YXRlKiwgUmVmPFNjcmlwdEFyZ3Vt
ZW50cz4mJikgeyB9CiAKIHZvaWQgV29ya2xldENvbnNvbGVDbGllbnQ6OnRpbWUoSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBTdHJpbmcmKSB7IH0KK3ZvaWQgV29ya2xldENvbnNvbGVDbGllbnQ6OnRp
bWVMb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmLCBSZWY8U2NyaXB0QXJndW1lbnRz
PiYmKSB7IH0KIHZvaWQgV29ya2xldENvbnNvbGVDbGllbnQ6OnRpbWVFbmQoSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBTdHJpbmcmKSB7IH0KIAogdm9pZCBXb3JrbGV0Q29uc29sZUNsaWVudDo6cHJv
ZmlsZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYpIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldENvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1dvcmtsZXRDb25zb2xlQ2xpZW50LmgKaW5kZXggN2E1ODFjODA0ZTAuLjM4
YjY3NzRkZGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0Q29u
c29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRDb25zb2xl
Q2xpZW50LmgKQEAgLTUwLDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2ZpbGVFbmQo
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBmaW5hbDsKICAgICB2b2lkIHRh
a2VIZWFwU25hcHNob3QoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBmaW5h
bDsKICAgICB2b2lkIHRpbWUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBm
aW5hbDsKKyAgICB2b2lkIHRpbWVMb2coSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIGZpbmFsOwogICAgIHZvaWQg
dGltZUVuZChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpIGZpbmFsOwogICAg
IHZvaWQgdGltZVN0YW1wKEpTQzo6RXhlY1N0YXRlKiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJn
dW1lbnRzPiYmKSBmaW5hbDsKICAgICB2b2lkIHJlY29yZChKU0M6OkV4ZWNTdGF0ZSosIFJlZjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwppbmRleCBkZDRkNGE5YzBkMS4uMjQ0MWNlNDQ4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA2LTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFy
b0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IGNvbnNvbGUu
dGltZUxvZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk5MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanM6CisgICAgICAgIChXSS5D
b25zb2xlTWVzc2FnZVZpZXcucHJvdG90eXBlLl9hcHBlbmRNZXNzYWdlVGV4dEFuZEFyZ3VtZW50
cyk6CisgICAgICAgIFRpbWUgbWVzc2FnZXMgKGxpa2UgdGltZUxvZykgZG8gbm90IGluY2x1ZGUg
dGhlaXIgbWVzc2FnZVRleHQKKyAgICAgICAgaW4gdGhlaXIgcGFyYW1ldGVycyBsaXN0LiBTbyB0
byBiZWhhdmUgbW9yZSBsaWtlIG5vcm1hbCBsb2dzCisgICAgICAgIGJ1aWxkIGEgcGFyYW1ldGVy
IGxpc3QgdGhhdCBpbmNsdWRlcyBpdCBhdCB0aGUgZnJvbnQuCisKIDIwMTktMDYtMjMgIE1hdHQg
QmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJF
R1JFU1NJT04gKHIyNDY2ODQpOiBEYXJrIE1vZGU6IGRhc2hib2FyZCBidXR0b25zIHNob3VsZCBo
YXZlIG5vIGJhY2tncm91bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qcwppbmRleCA3ZjZm
OTNiYzBhNi4uNmYwYTdkZDNmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMKQEAg
LTI4OCw2ICsyODgsMTQgQEAgV0kuQ29uc29sZU1lc3NhZ2VWaWV3ID0gY2xhc3MgQ29uc29sZU1l
c3NhZ2VWaWV3IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAgdGhpcy5fZXh0cmFQ
YXJhbWV0ZXJzID0gbnVsbDsKICAgICAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAgICAg
Y2FzZSBXSS5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5UaW1pbmc6IHsKKyAgICAgICAgICAg
ICAgICBsZXQgYXJncyA9IFt0aGlzLl9tZXNzYWdlLm1lc3NhZ2VUZXh0XTsKKyAgICAgICAgICAg
ICAgICBpZiAodGhpcy5fZXh0cmFQYXJhbWV0ZXJzKQorICAgICAgICAgICAgICAgICAgICBhcmdz
ID0gYXJncy5jb25jYXQodGhpcy5fZXh0cmFQYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgICAgICB0
aGlzLl9hcHBlbmRGb3JtYXR0ZWRBcmd1bWVudHMoZWxlbWVudCwgYXJncyk7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNhc2UgV0kuQ29uc29s
ZU1lc3NhZ2UuTWVzc2FnZVR5cGUuSW1hZ2U6IHsKICAgICAgICAgICAgICAgICBsZXQgaW1nID0g
ZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSk7CiAgICAg
ICAgICAgICAgICAgaW1nLmNsYXNzTGlzdC5hZGQoImNvbnNvbGUtaW1hZ2UiLCAic2hvdy1ncmlk
Iik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>